MOOC,ZZULI,Java第四章 面向对象和类 第一次作业(完善三个数字对象排序程序。(100分))

题目内容:

完善以下程序,利用swap函数,完成数字按从小到大的顺序输出。例如输入5 4 3 输出3,4,5。

import java.util.Scanner;

public class Main
{
	public static void main(String[] args)
	{
		//创建Scanner对象
		//System.in表示标准化输入,也就是键盘输入
                Scanner sc = new Scanner(System.in);
                //利用hasNextXXX()判断是否还有下一输入项
                int a = 0;
                int b = 0;
                int c = 0;
                if (sc.hasNext()) {
                    a = sc.nextInt();
                }
                if (sc.hasNext()) {
                    b = sc.nextInt();
                }
                if (sc.hasNext()) {
                    c = sc.nextInt();
                }
                if(a==0 || b==0 || c==0)
                {
        	    System.out.println("输入不能为0");
        	    System.exit(-1);
                }
        
                MyNumber obj1, obj2, obj3;
                //从这里开始,基于swap函数,完善你的程序
                //
                //
                //
                //程序结束
	}
	
	public static void swap(MyNumber m, MyNumber n)
	{
		if(m.num > n.num)
		{
			int s = m.num;
			m.num = n.num;
			n.num = s;
		}
	}
}

class MyNumber
{
	int num;
}

 

输入格式:

输入3个数字。

 

输出格式:

数字从小到大排列

 

输入样例:

5

4

3

 

输出样例:

3,4,5

 分析:其实很简单swap交换方法已经写好,就差比较数字大小,三个if,如果A>B,则交换。。。

用这个过程体验Java的值传递还是很好的!!!

具体代码:

import java.util.Scanner;

public class Main
{
	public static void main(String[] args)
	{
		//创建Scanner对象
		//System.in表示标准化输入,也就是键盘输入
		 //System.out.println("输入不能为0");
                Scanner sc = new Scanner(System.in);
                //利用hasNextXXX()判断是否还有下一输入项
                int a = 0;
                int b = 0;
                int c = 0;
                if (sc.hasNext()) {
                    a = sc.nextInt();
                }
                if (sc.hasNext()) {
                    b = sc.nextInt();
                }
                if (sc.hasNext()) {
                    c = sc.nextInt();
                }
                if(a==0 || b==0 || c==0)
                {
        	    System.out.println("输入不能为0");
        	    System.exit(-1);
                }
                sc.close();
        
                MyNumber obj1, obj2, obj3;
                //从这里开始,基于swap函数,完善你的程序
                //
                //
                //
                //程序结束
                obj1 = new MyNumber(a);obj2 = new MyNumber(b);obj3 = new MyNumber(c);
                if(obj1.num>obj2.num) {
                 
                	swap(obj1,obj2);
                	}
                if(obj1.num>obj3.num) {       
                    
                	swap(obj1,obj3);
                	}
                if(obj2.num>obj3.num) {
                    
                	swap(obj2,obj3);
                	}
                System.out.println(obj1.num+","+obj2.num+","+obj3.num);
  
	}
	
	public static void swap(MyNumber m, MyNumber n)
	{
		if(m.num > n.num)
		{
			int s = m.num;
			m.num = n.num;
			n.num = s;
		}
	}
}

class MyNumber
{
	int num;
	MyNumber(){};
	MyNumber(int num){
	this.num = num;}
}

 

 Over!!自己学的一塌糊涂!!!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值