使用while循环的Java数组

时间:2013-10-20 17:07:09

标签: java arrays

我必须:

  • 创建这个java数组;
  • 使用while循环遍历它;
  • 如果总和加起来则终止程序;
  • 并打印我在数组中输入的总数和数字。

我无法弄清楚如何做到这一点,到目前为止,这是我的代码,任何帮助都将不胜感激。

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); 

        }            

        }
    }

5 个答案:

答案 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 
}  

Ideone DEMO

答案 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);