首先是我想到最笨的方法:
import java.util.Scanner; public class test1 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.print("Enter a:"); int a=input.nextInt(); System.out.print("Enter b:"); int b=input.nextInt(); System.out.print("Enter c:"); //输入三个数 int c=input.nextInt(); int max =0; int mid=0; int min=0; if (a>b & a>c){max=a;}else if(b>a & b>c){ //暴力列举出最大数情况 max=b; }else{ max=c; } if(a<b & a<c ){min=a;}else if (b<a & b<c){ //列举出最小数所有情况 min=b; }else{ min=c; } if(a<b & a>c || a<c &a>c){mid=a;}else if(b<a & b>c || b>a & b<c){mid=b;}else{mid=c;} //列举出中间值情况 System.out.println(min+" "+mid+" "+max); } }同样列举出所有情况:
import java.util.Scanner; public class demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("a="); int a = sc.nextInt(); System.out.print("b="); int b = sc.nextInt(); System.out.print("c="); int c = sc.nextInt(); if (a > b) { //a>b的情况 a较大 if (c > a) { //c>a 已知a>b c最大 System.out.println(b + "," + a + "," + c); } else if (c < b) { //c<b 已知a>b System.out.println(c + "," + b + "," + a); } else { System.out.println(b + "," + c + "," + a); } // a<b情况 } else { if (c < a) { //a<b c<a System.out.println(c + "," + a + "," + b); } else if (c > b) { //a<b c>b System.out.println(a + "," + b + "," + c); } else { System.out.println(a + "," + c + "," + b); } } } }再来个简单点的:
import java.util.Scanner; public class demo { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("Enter"); int a = s.nextInt(); int b = s.nextInt(); int c = s.nextInt(); if (a < b) { int t = a; /*如果a<b时候 a、b数值互换*/ a = b; b = t; } if (a < c) { /*如果a<c时候 a、c数值互换*/ int t = a; a = c; c = t; } if (b < c) { /*如果b<c时候 b、c数值互换*/ int t = b; b = c; c = t; } System.out.println(""); System.out.println(c + " " + b + " " + a); } }