本文主要是介绍明解java-三个数对比大小,前提是这是三个不同的数,不能相等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
三个数排序abc
其实就是两两对比,然后相互交换值,按照结果交换值。比如规定输出的结果是a>b>c
无论怎样对比,都给我输出这样的结果。
不对不对,是这样的输入三个数,比如5,6,7,它们是存放在变量中的,现在输出的结果是a>b>c。我要想办法把最大的数放到变量a里面,中间数放到b里面,最小数放到c里面。
先随便拿出两个数对比,比如5和6对比,对比后,6放到了a里面,之后再对比6和7,7放到了a里面。这个过程是交换数值的过程。
if(a>b){int t = a;a=b;b=t;}这是说,出来的结果中a<b,我要的是a是最大的。修改下,
if(a<b){int t = a;a=b;b=t; } 这是说,如果a<b了,把两个数的值交换下,输出的结果就是a>b.
我再比较一下a和c
if(a<c){int t = a; a=c;c=t;} 这是说,输出来的结果,a是最大的。写完这两串代码后,不管三个数的对比顺序是怎样的,输出来的结果都是a是最大的。我可以验证一下。
成功
三个数已经找出最大的数了,在对比剩下的两个变量,找出中间数就行了。
if(b<c) {
int t = b;
b=c;
c=t;
}
现在才算是明白,重要的是交换数值。不明白之前为啥没有想明白呢?
package Chap31;
import java.util.Scanner;
public class test3 {
public static void main(String[] args) {
Scanner stdin = new Scanner(System.in);
System.out.println("请输入第一个数");int a = stdin.nextInt();
System.out.println("请输入第二个数");int b = stdin.nextInt();
System.out.println("请输入第二个数");int c = stdin.nextInt();
if(a<b) {
int t=a;
a=b;
b=t;
}
if(a<c) {
int t=a;
a=c;
c=t;
}
if(b<c) {
int t = b;
b=c;
c=t;
}
System.out.println("输出最大数:"+a);
System.out.println("中间数是:"+b);
}
}
这篇关于明解java-三个数对比大小,前提是这是三个不同的数,不能相等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!