我有一個字符串輸入,其中,輸入有一個團隊名稱和分數由一個空格分隔。例如bb 3
,teamd 5
贏家應該是teamd
打印具體的字符
爲了得到冠軍隊拿下最高分,我做以下操作:
Scanner scanner = new Scanner(System.in);
int cases = scanner.nextInt();
printWinnerTeam(cases);
}
public static void printWinnerTeam(int cases) {
Scanner scanner = new Scanner(System.in);
String str = "";
String winnerTeam = "";
int winnerScore = 0, countedChar = 0;
for (int i = 0; i < cases; i++) {
str += scanner.nextLine();
}
char[] arr = str.toCharArray();
for (int i = 0; i < arr.length; i++) {
countedChar++;
if (arr[i] == ' ') {
if (str.charAt(i + 1) > winnerScore) {
winnerTeam = "";
winnerScore = (int) str.charAt((int) i + 1);
for (int j = 0; j < countedChar; j++) {
winnerTeam += str.charAt(j);
}
countedChar = 0;
} else {
//winnerTeam = "";
countedChar = 0;
}
}
}
System.out.println(winnerTeam);
}
但它不工作知府,這是印刷佈線結果,如何按預期做到這一點?
如何簡化它,但你只是去處理。如果輸入的分數最大,則存儲數字和團隊名稱 - 使用String.split(「,」); –
我還沒有嘗試過你的代碼,但我會想象一個大問題是'str + = scanner.nextLine();'的連接問題''新行將被直接附加到前一行'number'的末尾 –
@ScaryWombat確實是的,我想去外面的箱子,我的問題與'+ =',謝謝,隨時讓它接受回答 – user1058652