我是java新手,我一生都无法弄清楚如何解决这个问题。我假设问题与 for(int i = 0; i <= amount; i++){ 行以及之后的所有内容有关,我想不出我做错了什么。我想知道我的代码是否至少接近工作解决方案?任何帮助,将不胜感激。
问题:编写允许用户重复输入数字的 Java 代码。每次用户输入一个数字时,程序应打印出最后 10 个数字的总数(如果输入的数字为 10 个或更少,则打印出所有数字)。
按照我的方式,如果用户输入负数,程序就会停止。
Scanner in = new Scanner(System.in);
int[] numbersList = new int[10];
int number = in.nextInt();
int amount = 0;
int total = 0;
while(number>=0){ //stop at negative
number = in.nextInt();
amount += 1;
for(int i = 0; i <= amount; i++){
numbersList[i] = number;
for(int j = 0; j < numbersList.length; j++){
total += numbersList[j];
}
}
}
System.out.println(total);
我正在努力让程序正确打印数组的最后 10 个数字,但由于某种原因,它打印的总数比应有的要高得多。
输入示例:
1
2
3
4
-1
输出:
84
当正确答案应该是 10 时,它打印出 84。
慕妹3242003
慕姐4208626
猛跑小猪
相关分类