예를 들어 사용자 입력과 같이 가장 높은 숫자가 사용자 입력에 나타나는 시간을 출력하려고합니다. 2 4 3 4 2 4 0 가장 높은 숫자가 4이고 3 번 나타납니다 , 그것에 대해 어떻게 가는지 모릅니다.문자열에서 가장 높은 숫자의 양을 계산합니다.
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner keyboard = new Scanner(System.in);
String number, last;
System.out.println("Enter an interger (0 ends the input): ");
number = keyboard.nextLine();
last = number.substring(number.length() - 1);
while(!last.equals("0")){
System.out.println("Must end the input with a 0: ");
number = keyboard.nextLine();
last = number.substring(number.length() - 1);
}
String[] array = number.split(" ");
int max = Integer.MIN_VALUE, maxIndex = 0;
int count;
for (int i = 0; i < array.length; i++) {
if (Integer.parseInt(array[i]) > max) {
max = Integer.parseInt(array[i]);
maxIndex = i;
}
}
//String repeat = number.);
System.out.println("The largest number is " + max);
}
글쎄, 기본 논리는 간단하다. 문자열의 각 숫자에는 세 가지 가능성이 있습니다. (1) 이전에 가장 큰 수보다 큽니다. 따라서 가장 큰 수로 저장하고 수를 1로 재설정하십시오. (2) 이전에 가장 큰 수와 같습니다. 따라서 수를 증가시킵니다. (3) 이전에 가장 큰 숫자보다 적습니다. 따라서 무시하십시오. 이제 Java로 변환하면됩니다. –