最大值和最小值

时间:2013-11-17 16:22:31

标签: java max java.util.scanner min

我的Java有问题,但我不知道在哪里。我试图找到三个数字的最大值和最小值。

当我给a = 4 b = 5 c = 7时,我没有结果;

import java.util.Scanner;

public class MaxUndMin {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a;
        int b;
        int c;
        int max;
        int min;
        int mid;
        String ergebnis = "";
        System.out.println("Geben sie eine zahl ein");
        a = scanner.nextInt();
        System.out.println("Geben sie eine zweite zahl ein ");
        b = scanner.nextInt();
        System.out.println("Geben sie eine drittte zahl ein ");
        c = scanner.nextInt();

        ergebnis = test(a, b, c);
        System.out.println(ergebnis);
        scanner.close();
    }

    private static String test(int a, int b, int c) {
        String ergebnis = "";
        // max>mid>min
        int max = 0;
        int min = 0;
        int mid = 0;

        if (a < b) {
            max = b;
            min = a;

             if (c < min) {
                mid = min;
                min = c;

                  if(min<c){
                      mid=c;
                        ergebnis = ergebnis + "max=" + max + "," + "mid=" + mid + ","+"min="+min;       
                }
            }
        }
        else  if(b<=a){
            max=a;
            min=b;

            if(c>max){
                mid=max;
                max=c;
                ergebnis = ergebnis + "max=" + max + "," + "mid=" + mid + ","+"min="+min;
            }
        }
        return ergebnis;
    }
}

1 个答案:

答案 0 :(得分:-1)

试试这个

    int a = 100, b = 200, c = 30;
    int max1 = (a > b) ? a : ((b > c) ? b : c);
    int max2 = (a == max1) ? ((b > c) ? b : c) : ((b == max1) ? ((a > c) ? a : c) : (c == max1) ? (a > b) ? a : b : c);
    System.out.println(max1 + " " + max2);