我不确定,当我在日食中运行时,它说。发生了什么,输入Y是一年不到10000,我必须找到那个具有不同数字的那一年。例如,2010年将打印2013年,因为2013年是2010年之后的下一年,所有数字都不同。
package from1987To2013;
public class from1987To2013 {
public static void main(String[] args) {
//Y is year input
int Y = 2011;
//number of digits in Y
int length = String.valueOf(Y).length();
//Turns the Y into an int array arrayY
String temp = Integer.toString(Y);
int[] arrayY = new int[temp.length()];
for (int i = 0; i < temp.length(); i++)
{
arrayY[i] = temp.charAt(i) - '0';
}
//first for loop
for (int i = 0; i < 10000; i++) {
//find every value from Y to 10000
int a = Y + i;
//changes if its true or not
boolean bool = true;
//this loop goes through once if y = 2, twice if y = 33, thrice if y = 456, four times if y == 4666, etc
int d = 0;
for (int b = 0; b < length; b++)
//d is the b - 1 which will be compared with the position at b
d = b-1;
int b = 0;
//checks if they're all equal
if (arrayY[d] != (arrayY[b])) {
} else {
bool = false;
break;
}
if (bool = true){
System.out.print(a);
}
}
}
}
答案 0 :(得分:0)
除了根据@ZouZou的评论改变代码,我不太清楚为什么,但我不得不改变这一行:
System.out.print(a);
到
System.out.println(a);
为了从eclipse获得任何输出。
P.S。你的逻辑不起作用,但至少这会给你输出,所以你现在可以调试它。