我是Java的初学者,所以我通过实验学习。我想创建一个类,它将一种乘车类型作为字符串,将骑手数量作为整数。我决定使用 Map 是因为它可以让我将骑行类型与其相关的人数保持在一起。
//How many attendants in total
System.out.println("How many attendents today?: ");
int numberOfAttendents = Integer.parseInt(bf.readLine());
System.out.println("Total number of attendents: " + numberOfAttendents);
Map<String, Integer> typeOfRide = new HashMap<String, Integer>();
boolean run = true;
final String counterEnd = "stop";
while(run)
{
System.out.println("What type of ride?: ");
String nameOfType = bf.readLine();
if(nameOfType.equalsIgnoreCase(counterEnd))
{
run = false;
}
else
{
System.out.println("Number of riders?: ");
Integer numberPerType = Integer.parseInt(bf.readLine());
typeOfRide.put(nameOfType, numberPerType);
}
}
所以上面的部分编译没有问题。但是,当我尝试添加每种骑行类型的骑手人数时,我很难想出一种方法。我了解我使用的增强型 for 循环用于数组而不是映射。
//Adding individual entries of same ride
for(Integer i: typeOfRide)
{
int sum = 0;
System.out.println("Which ride type?: ");
String typeNumber = bf.readLine();
sum = sum + typeOfRide.get(typeNumber);
System.out.println("Total number of riders per" + typeNumber + ":" + sum);
}
因此,如果你们都可以提出一种方法来获得总和,我将不胜感激。谢谢!