java максимальное значение строки после разделения - PullRequest
0 голосов
/ 30 января 2020

Я прохожу курс java для начинающих, и у меня есть такая задача:

Пользователь вводит слово + число, например, "животное" + "возраст":

лошадь: 3
собака: 5
попугай: 2
кошка: 7

Мне нужно составить программу для распечатки возраста самого старого животного. Например, вот так:

Возраст самого старого животного: 7

Так вот, это то, что я написал до сих пор. Моя проблема в том, что я не знаю, как заставить программу сравнивать числа ...

    while (true) {

        String luettu = x.nextLine();   // user inputs animals and numbers
        if (dataIn.equals("")) {        // when inputs nothing program stops
            break;
    }
        // Here I separate the animal and number with star symbol
        String[] separatedData = dataIn.split(":"); 

        // From now on, I'm supposed to focus on the numbers, create the rule for how to find the highest value

        x = x Integer.valueOf(separatedData[1]);  // Must target the values in the index 1 (the numbers)  but how?
    }
    int maxNumber = separatedData.lenght; 
    int i = 0;

    // I don't know how to loop and compare the numbers... and I thin "while" doesn't make sense here
    while ( i < size of separatedData) {
        if(maxNumber < separatedData) {
            maxNumber = separatedData;
        }
    System.out.println("The age of the oldest animal is: " + maxNumber); // printing the result

Так что половина кода - беспорядок, и я застрял. Пожалуйста, помогите мне, и если вы можете дать объяснения, это было бы здорово, спасибо! :)

1 Ответ

1 голос
/ 30 января 2020

При нахождении максимума чего-либо установите максимальное значение наименьшего возможного значения. Это будет

maxAge = Integer.MIN_VALUE

Затем установите строковую переменную, подобную этой.

String oldestAnimal = "";

Теперь, когда вы наберете oop значений, сравните значения current age и max. Если возраст больше, установите max to age и установите oldestAnimal to the animal, связанный с этим возрастом.

Сравнение будет таким:

if (age > max) {
   // set appropriate values.
}

Когда вы закончите, у вас будут результаты .

...