私の目標は、ユーザーに一連の番号を尋ねることで、最大20個の番号に達するか、負の数を入力すると、 。しかし、私は数字の合計が50未満で15以上の数字がない場合にのみシリーズを使いたいと思っています。シリーズが有効になるまで一連の番号を尋ねることを繰り返す
これは私がこれまでに書いたもので、なぜ動作しないのか分かりません。
import java.util.Scanner;
class numbersSeries {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] numbers = new int[20];
boolean invalid = true;
int sum = 0, input = 0, counter = 0;
while (invalid == true) {
System.out.print("Series ");
while ((input = in.nextInt()) > 0 && counter < 19) {
numbers[counter] = input;
sum += numbers[counter];
boolean hasbignumber = false;
if(numbers[counter] > 15) {
hasbignumber = true;
}
if(sum < 50 && hasbignumber == false) {
invalid = false;
}
counter++;
}
}
}
}
EDIT !! 私は何か非常に重要なことに言及するのを忘れてしまった。シリーズはループがすべての繰り返しを開始します破棄されると、例えば
Series 1 2 4 30 -3 //this series will be discarded because the fourth value surpasses the maximum of 20
Series 4 9 8 8 3 8 6 1 15 15 -2 //this one too because the sum is over 50
Series 3 1 9 0 -2 //only this one is going to be used because it fits all conditions
をこの出力を取るだから私が望むすべてが有効なものが導入されるまで、私はそれを使用することができますように、新しいシリーズを求めて保持するようにコンパイラのためであります後方。
ようこそ。ここであなたはここにいます。役立つ答えを得るための賢い方法を質問する方法を学ぶべきです。まず、あなたのプログラムは何ではなかったのですか?望ましい行動と観察される行動の具体的な違いは何ですか? "デバッグの助けを求める質問(「なぜこのコードは動作しないのですか?」)には、目的の動作、特定の問題またはエラー、および質問自体にそれを再現するのに必要な最短コードが含まれていなければなりません。明確な問題文がない質問は他の読者には役に立たない」 –
20の数字を入力するには、「counter <20」または「counter <= 19」のいずれかが必要です。 –