해당 입력에 팀 이름과 점수가 하나의 공백으로 구분 된 문자열 입력이 있습니다. 예를 들어 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' 이전 라인의 끝 부분에 곧바로 추가 될 것이다. –
@ SkaryWombat 정말로 예, 저는'+ =', 감사합니다, 내 질문에 답을 받아들이겠습니다. – user1058652