我的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;
}
}
答案 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);