返回信息流将代码中存放结果的correctAddends,correctResults数组大小
设为6时,程序正常;在设大点就发生越界了,如下图所示:
牛人替我解决解决啊!!!不胜感激!
代码:
附件(872B) Addition.java
public class Addition{
public static void main(String[] args){
final int SUMMAND = 20085;
int addend = 12345;
int result = 0;
int size = 7;
int[] correctAddends = new int[size];
int[] correctResults = new int[size];
int[] digits = new int[10];
String s = "";
String sortedDigits = "";
String digitString = "0123456789";
//boolean flag = false;
int k = 0;
while(addend < 99999 && k < size){
result = (addend + SUMMAND) % 100000;
s += addend;
s += result;
for(int i = 0; i <= 9; i++)
digits[i] = s.charAt(i) - 48;
java.util.Arrays.sort(digits);
for(int j = 0; j <= 9; j++)
sortedDigits += digits[j];
if(sortedDigits.equals(digitString)){
//flag = true;
correctAddends[k] = addend;
correctResults[k] = result;
k++;
}
addend++;
s = "";
sortedDigits = "";
}
System.out.println("Seek the answer for the question below:\n" +
"(\"" + "*\"" +" represents a non-repeated digit from 0 ~ 9)\n" +
" *****\n" + " +" + SUMMAND +
"\n ------\n *****");
String str = " Addends Results\n";
for(int i = 0; i < correctAddends.length; i++)
str += " " + correctAddends[i] +
" " + correctResults[i] + "\n";
System.out.println("Answer: \n" + str);
}
}
这是一条镜像帖。来源:北邮人论坛 / java / #12453同步于 2009/11/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[求助]StringIndexOutOfBoundsException(不知为什么会出现越界
keroro
2009/11/27镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。