Как я могу найти второе по величине число из данного числа без использования массивов - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть какой-то код, который вы могли бы помочь, ребята, помочь мне получить оставшийся код .....

public class SumOfGivenInt {

public static void main(String[] args) {
    int num=6789123,lastvalue=0;
    while(num>0){

        int reminder=num%10;
        int copy=reminder;

// I think here some code need to write........

        System.out.println(reminder);
         lastvalue=lastvalue*10+reminder;
         num/=10;
    }
}

}

Моя идея - скопировать напоминание и сравнить его с предыдущим значением.мы получим правильный ответ.Как я могу достичь своих требований, используя мою логику .......

1 Ответ

0 голосов
/ 30 ноября 2018

Я немного изменил ваш код, чтобы найти второе по величине число из заданного числа.Вам нужно два цикла while, чтобы сделать это.Первый цикл while предназначен для получения наибольшего числа, а второй цикл while предназначен для получения следующего наибольшего числа.Надеюсь, вы поймете логику, как это сделать.

    int num=6789123,lastvalue=0;
    int largest = 0;
    int secondLargest = 0;
    while(num>0){

        int reminder=num%10;
        if(reminder > largest)          //get the largest number
        {
            largest = reminder;
        }

        System.out.println(reminder);
         lastvalue=lastvalue*10+reminder;
         num/=10;
    }

    num=6789123;
    while(num>0){
        int reminder=num%10;
        if(reminder > secondLargest)    //get the second largest number
        {
            if(reminder != largest)
            {
                secondLargest = reminder;
            }
        }
         lastvalue=lastvalue*10+reminder;
         num/=10;
    }


    System.out.println(largest);
    System.out.println(secondLargest);
...