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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小b,试试就试试 中级黑马   /  2016-7-24 22:45  /  576 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

import java.util.Scanner;
class Zuo1{
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
               
                System.out.println("请输入第一个整数");
                int x  = sc.nextInt();
                System.out.println("请输入第二个整数");
                int y  = sc.nextInt();
                System.out.println("请输入第三个整数");
                int z  = sc.nextInt();
               
                if (x>y){
                        if(x>z){
                                if(y>z){
                                System.out.println("从小到大排序后的顺序为:"+ z +" "+ y +" "+ x);
                                }else{
                                System.out.println("从小到大排序后的顺序为:"+ y +" "+ z +" "+ x);
                                }
                        }else{
                                System.out.println("从小到大排序后的顺序为:"+ y +" "+ x +" "+ z);
                        }
                }
                        else if(y > z){
                                if(x > z){
                                System.out.println("从小到大排序后的顺序为:"+ z +" "+ x +" "+y );
                                }else{
                                System.out.println("从小到大排序后的顺序为:"+ x +" "+ z +" "+y );
                                }
                        }else{
                        System.out.println("从小到大排序后的顺序为:"+ x +" "+ y +" "+ z);
                        }
                               
        }
}

7 个回复

倒序浏览
public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                while(true){
                        System.out.println("输入三个数字,以空格隔开");
                        int a = sc.nextInt();
                        int b = sc.nextInt();
                        int c = sc.nextInt();
                        if(a > b ){
                                int temp = a;
                                a = b;
                                b = temp;
                        }
                        if(a > c ){
                                int temp = a;
                                a = c;
                                c = temp;
                        }
                        if(b > c){
                                int temp = b;
                                b = c;
                                c = temp;
                        }
                        System.out.println("从小到大的顺序为:"+a+" "+b+" "+c);
                }
        }
回复 使用道具 举报
前排的真是高手呀,没有一定逻辑能力搞不定呀
回复 使用道具 举报
建议使用数组,然后使用sort排序来输出代码比较简洁。
回复 使用道具 举报
阿卜 发表于 2016-7-25 14:01
建议使用数组,然后使用sort排序来输出代码比较简洁。

刚学4天
回复 使用道具 举报
阿卜 发表于 2016-7-25 14:01
建议使用数组,然后使用sort排序来输出代码比较简洁。

刚学没几天,数组还在后面呢,不过以后可以试试吧
回复 使用道具 举报
import java.util.Scanner;
                class  Test10 {
                        public static void main(String[] args) {
                                Scanner sc = new Scanner (System.in);
                                System.out.println("请输入第一个整数");
                        int x = sc.nextInt();
                                System.out.println("请输入第二个整数");
                        int y = sc.nextInt();
                                System.out.println("请输入第三个整数");
                        int z = sc.nextInt();
                        int a = (((x > y) ? y : x) > z) ? z : ((x > y) ? y : x);
                        int c = (((x > y) ? x : y) > z) ?  ((x > y) ? x : y) : z;
                        int b = x ^ y ^ z ^ a ^ c;
                        System.out.println("按照从小到大排序后的顺序为:" + a + b + c);
                }
        }
回复 使用道具 举报
哈哈代码还可以大大优化哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马