Javaに複数の入力値を格納する際に問題が発生します。まず、ArrayListを使用して、ユーザーが入力した入力の数を格納しています。次に、すべての入力を収集した後で計算を実行します。
私のプログラムでは、ユーザーは1から5までの5つの異なる値を入力できます。1は100、2は200、3は300、4は400、5は500です。
これらの値を格納する配列を作成します
double numberArray[] = {100, 200, 300, 400, 500};
ユーザーが1を入力すると、ArrayListは最初の入力値を格納します。ユーザーが2を入力すると、ArrayListは2番目の入力値を格納します。ユーザーが「n」を押すと、終了して追加を行います。これは、100と200を足し合わせて、出力が300になることを意味します。
ただし、問題は、ユーザーが数値を入力し続けると、2番目の入力として2を入力しても、プログラムは最初の入力の合計(100 + 100)のみを合計することです。
これが私のコードです:
import java.util.*;
public class Total{
static int total;
public static void main(String[] args) {
int numberArray[] = {100, 200, 300, 400, 500};
List<String> list = new ArrayList<String>();
Scanner input = new Scanner(System.in);
do{
System.out.println("Add item? Please enter \"y\" or \"n\"");
if (input.next().startsWith("y")){
System.out.println("Enter item number: ");
list.add(input.next());
if (list.contains("1")){
int item1 = numberArray[0];
total = total + item1;
} else if(list.contains("2")){
int item2 = numberArray[1];
total = total + item2;
} else if(list.contains("3")){
int item3 = numberArray[2];
total = total + item3;
} else if(list.contains("4")){
int item4 = numberArray[3];
total = total + item4;
} else {
System.out.println("You have entered invalid item number!");
break;
}
}else{
System.out.println("You have entered all the item(s).");
break;
}
} while(true);
System.out.println(The total is: " + total);
}
}