現在、メソッドreader.nextInt()
を2回呼び出すため、それぞれ1つではなく他の値に対してaddNumber()
メソッドを使用しています。スキャナメソッドread.nextInt()を2回呼び出す必要がありますが、両方に同じ値が必要です
この問題の解決方法を教えてください。
(真)と下に出力されているwhileループを使ってみましたが、どちらも同じ問題が発生しています。
私は入力したすべての整数の合計を印刷するプログラムが必要です。これは、値-1を入力することによってトリガーされます。 -1は合計から除外されることを意味します。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
NumberStatistics stats = new NumberStatistics();
Scanner reader = new Scanner (System.in);
System.out.println("Type numbers:");
while (reader.nextInt() != -1) {
stats.addNumber(reader.nextInt());
}
System.out.println("sum: " + stats.sum());
}
}
public class NumberStatistics {
private int amountOfNumbers;
private int sum;
public NumberStatistics() {
amountOfNumbers = 0;
sum = 0;
}
public void addNumber(int number) {
this.amountOfNumbers++;
this.sum += number;
}
public int amountOfNumbers() {
return this.amountOfNumbers;
}
public int sum() {
return this.sum;
}
public double average() {
if (this.sum() == 0) {
return 0;
}
else {
return (double) this.sum/this.amountOfNumbers;
}
}
}
ここにコードを投稿してください。 –
next()、nextInt()またはnextFoo()?(https://stackoverflow.com/questions/13102045/scanner-is-skipping-nextline-after-)を使用した後、[スキャナがnextLine()をスキップしています。 using-next-nextint-or-other-nextfoo) –
@KenReidこれら2つの質問の関連はどこにありますか? – Tom