Требуется помощь по отладке Java: отображать наибольшее из 3 чисел - PullRequest
0 голосов
/ 23 ноября 2011

Это программа, которая должна предлагать пользователю ввести три числа, а затем отобразить наибольшее из этих чисел.Однако в этом есть логические ошибки.Я застрял при попытке выяснить, где этот маленький педераст.Пожалуйста, используйте свой опыт, чтобы помочь мне.Я студент, поэтому, пожалуйста, не злитесь на меня \: p

import java.util.*;
public class HA8LargestErr {
    private int num1;
    private int num2;
    private int num3;

    public HA8LargestErr() {
        num1 = 0;
        num2 = 0;
        num3 = 0;
    }

    public void  getNumsFromUser() {
        Scanner input = new Scanner (System.in);
        System.out.println("Enter three numbers: ");
        num1 = input.nextInt();
        num2 = input.nextInt();
        num3 = input.nextInt();
    }

    public int returnLargest() {
        if (num1 > num2 && num1 > num3)
            return num1;
        if (num2 > num3 && num2 > num1)
            return num2;
        return num3;
    }


    public static void main(String[] args) {
        HA8LargestErr data = new HA8LargestErr();

        data.getNumsFromUser();
        System.out.println ("The largest is : " + data.returnLargest());
    }
}

1 Ответ

2 голосов
/ 23 ноября 2011

Замените вашу реализацию returnLargest на

public int returnLargest() {
    if (num1 >= num2 && num1 >= num3)
        return num1;
    if (num2 >= num3)
        return num2;
    return num3;
}

Или используйте Math.max, как указано выше.

Edit:

Вам нужно использовать >= вместо >, потому что в противном случае num3 будет возвращено, когда num1 и num2 равны и больше num3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...