-1
I「は、Javaでオブジェクト指向プログラミング」の名前でループが終了するとループ内に設定された値は失われますか?
をオンラインコースをやっていると私はexercise 36を把握することはできません。..
入力をユーザーに要求するプログラムを作成します。数字(整数)。プログラムは、ユーザーが数字-1を入力するまで「タイプ番号」を表示します。ユーザーが数字-1を入力すると、プログラムは「ありがとう、後でお会いしましょう」と印刷します。数-1)
import java.util.Scanner;
public class LoopsEndingRemembering {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int n = 0;
int sum = 0;
while (n != -1) {
System.out.println("Type numbers");
n = Integer.parseInt(reader.nextLine());
sum = sum + n; // <-- The value set here is tossed once the loop of over?..
}
System.out.println("Thank you and see you later!");
System.out.println("The sum is " + sum); // <-- Does not acknowledge the free state of 'loop' and any variables that come of it
}
}
だから私は(それがNetBeansで私が取得しています)プラグイン ボタンの 'ローカルでテストを実行' をクリックしたとき:。
入力1 -1あなたがして「合計は1です」というメッセージが表示されるはずですが、<>は次のとおりです。< 0>
「0」、私の理解に..最後のprintlnのみ「合計」の初期設定を認識していることを示している理由であること?..
最後の-1も引きます。 – Marvin
@Marvin is right:あなたのループは-1で算術*も行います。 – Bohemian
この例では、加算する数字は1つだけです(合計)。合計は 'sum' = 1です。しかし、他の人が言っているように、あなたは減算します加算を停止するためだけに機能する第2の入力(-1)。そうすることで、(エラーメッセージに記載されているように)1が必要なときに合計が0になります。 IOW、 'n 'の値をチェックするのではなく、その値を加算(または減算)します。 – ChiefTwoPencils