我在 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 将存储第二个输入值,依此类推。当用户点击“n”时,它将退出并进行添加。这意味着它将 100 和 200 相加,输出将等于 300。
但是,问题是当用户继续输入数字时,即使我输入 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);
}
}