3

私はしなければならない:

  • この Java 配列を作成します。
  • while ループを使用してループします。
  • 合計が 100 になったらプログラムを終了します。
  • そして、配列に入れた合計と数値を出力します。

その方法がわかりません。これまでのコードは次のとおりです。助けていただければ幸いです。

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

        }            

        }
    }
4

5 に答える 5

5
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 
}  

イデオネデモ

于 2013-10-20T17:13:17.420 に答える
0

まずは設定時

int i=1;
int [] array = new int[i];

インデックスが である 1 つのスロットを持つ配列を作成しています0。これを行うときは、これに注意することが重要です。

array[i]=input.nextInt();

あなたが定義したように、iは 1 ではないため、2 番目のインデックスである index1を の戻り値に割り当てることを意味しますinput.nextInt()

i は配列の長さよりも大きくならないため、while ループもオフになっています。このように、代わりに for ループを使用する必要があります。

for(int i = 0; i < array.length; i++) {
    array[i] = input.nextInt();
    sum += array[i]

    if (sum > 100) {
        return;
    }
}
于 2013-10-20T17:12:34.557 に答える
0

i変数をインクリメントする必要があります。現在、その値は always0であるため、配列の最初の要素のみを設定しています。

于 2013-10-20T17:12:41.923 に答える
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);
    }
}
于 2013-10-20T17:14:06.707 に答える
-1

このように、簡単な方法はどうですか:

int sum = 0;
while(true) {
   //Do calculations
   if(sum >= 100) {
      break;
   }
}

System.out.println("Sum is : " + sum);
于 2013-10-20T17:12:05.320 に答える