A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

zhaoch

中级黑马

  • 黑马币:29

  • 帖子:83

  • 精华:0

© zhaoch 中级黑马   /  2016-4-16 00:22  /  798 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

分析以下需求,并用代码实现:
        (1)键盘录入三个整数,按照从小到大的顺序输出
        (2)如果用户输入的是3 2 1,程序运行后打印格式"按照从小到大排序后的顺序为:1 2 3"


逻辑分析:
首先输入语句就不说了,定义三个变量,请注意是变量,因为变量是可以存储的,其中的值也是变化的.这对于这道题目很关键.
定义三个变量,a,b,c
分析最后的结果是输出从小到大的顺序,其实顺序输出a,b,c即可,只不过最后输出的a,b,c应该是已经存储好了由小到大的顺序
这时候应该三个数字进行比较,然后将最小的数字存储到a,中
用的知识点为
int temp;
                if (a > b) {
                        temp = a;
                        a = b;
                        b = temp;
                }
这样看就很熟悉类了吧.
然后这样a,b已经进行了重新的排序,a,已经是两个数字中的最小值了
然后用同样的方法将a和c比较
if (a > c) {
                        temp = a;
                        a = c;
                        c = temp;
                }
这样,a,c也已经重新排序存储,然后a现在是三个数字中的最小值了.
b,c也是重新存储的两个数值.然后再将b,c进行排序即可
if (b >c) {
                        temp = b;
                        b = c;
                        c = temp;
                }
然后输出语句即可
System.out.println("a=" + a + "b=" + b + "c=" + c);

9 个回复

倒序浏览
附带原码
import java.util.Scanner;
                        public class Test10 {
                                public static void main(String[] args) {
                                        //1.创建键盘录入对象
                                        Scanner sc = new Scanner(System.in);
                                        //2.通过键盘录入输入三个整数
                                        System.out.println("请输入第一个整数:");
                                        int x = sc.nextInt();
                                        System.out.println("请输入第二个整数:");
                                        int y = sc.nextInt();
                                        System.out.println("请输入第三个整数:");
                                        int z = sc.nextInt();
                                        int temp;
                                        //3.将x,y,z中的最小数存入到x中
                                        if(x>y) {
                                                temp = x;
                                                x = y;
                                                y = temp;
                                        }
                                        if(x>z) {
                                                temp = x;
                                                x = z;
                                                z = temp;
                                        }
                                        //4.将y,z中的最小数存入到y中
                                        if(y>z) {
                                                temp = y;
                                                y = z;
                                                z = temp;
                                        }
                                        System.out.println("x="+x+",y="+y+",z="+z);
                                }
                        }

回复 使用道具 举报
自己的的帖子自己顶,就当给自己做笔记了
回复 使用道具 举报
回复 使用道具 举报
自己的帖子,哭着也要顶上去
回复 使用道具 举报
这个看看
回复 使用道具 举报
zhaoch 中级黑马 2016-4-19 23:26:21
7#
回复 使用道具 举报
顶顶顶顶顶顶
回复 使用道具 举报
zhaoch 中级黑马 2016-4-21 15:08:57
9#
顶顶顶顶顶顶
回复 使用道具 举报
哈哈,顶顶顶
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马