我必须:
我无法弄清楚如何做到这一点,到目前为止,这是我的代码,任何帮助都将不胜感激。
public class december2012 {
public static void main(String[] args) {
int sum=0;
Scanner input = new Scanner(System.in);
int i=1;
int [] array = new int[i];
while( i > array.length || sum <= 100) {
System.out.println("Write in the " + i + " number") ;
array[i]=input.nextInt();
sum=+array[i];
System.out.println("sum is " + sum);
}
}
}
答案 0 :(得分:4)
int i = 0; // array starts from 0
int [] array = new int[100]; // create larger array
while(i < array.length && sum <= 100) // i should be less then length
// && instead of ||
{
System.out.println("Write in the " + i + " number") ;
array[i] = input.nextInt();
sum += array[i]; // += instead of =+
System.out.println("sum is " + sum);
i++; // increment i
}
答案 1 :(得分:0)
首先,设置时
int i=1;
int [] array = new int[i];
您正在创建一个包含1个插槽的数组,其索引为0
。当你这样做时,注意这一点至关重要:
array[i]=input.nextInt();
因为,正如您所定义的那样,i
不是1,这意味着您将第二个索引,索引1
分配给input.nextInt()
的返回值。
你的while循环也是关闭的,因为我永远不会大于数组的长度。你应该使用for循环代替,在这个时代:
for(int i = 0; i < array.length; i++) {
array[i] = input.nextInt();
sum += array[i]
if (sum > 100) {
return;
}
}
答案 2 :(得分:0)
您需要增加i
变量;目前它的值始终为0
,因此您只需设置数组中的第一个元素。
答案 3 :(得分:0)
public class December2012 {
public static void main(String[] args) {
int[] array = new int[100];
int sum = 0;
int i = 0;
Scanner input = new Scanner(System.in);
while (sum <= 100 && i < array.length) {
System.out.print("Write in the " + (i + 1) + "th number: ");
array[i] = input.nextInt();
sum += array[i];
i++;
}
System.out.print("You added: ");
for (Integer i : array) System.out.print(i + " ");
System.out.println("\nsum is " + sum);
}
}
答案 4 :(得分:-1)
这样的简单方法:
int sum = 0;
while(true) {
//Do calculations
if(sum >= 100) {
break;
}
}
System.out.println("Sum is : " + sum);