我是Java的初學者,所以我通過實驗學習。我想創建一個類,它需要一種類型的騎乘作爲一個字符串和乘客的數量作爲一個整數。我決定使用地圖,因爲它可以讓我與相關的個人保持一種搭乘類型。在地圖java中查找值的總和
//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循環是爲數組而不是map。
//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);
}
所以,如果你們都可以建議一種方法來獲得總和,我將不勝感激。謝謝!
爲什麼在循環中要求用戶輸入?你想要得到的總和是什麼? –
@SimonAndréForsberg:我在編寫代碼時使用UI b/c,它是在我不知道爲什麼會提供類型的遊樂設施的假設下。由於用戶知道他們輸入的騎行類型,我要求他們重新輸入騎行類型,他們希望知道騎手的總數。希望這清除你的疑問。 – Ram
然後請注意,用戶會被問到騎乘類型的次數與騎乘類型的次數相同,這是有點奇怪的設計。 –