Java实例 – 输入三个数值,然后从小到大分别给变量x、y、z赋值

以下是按照自己的思路写的:

import java.util.Scanner;

/**
 * @Auther: haoxuan
 * @Date: 18-12-15 13:25
 * @Blog: www.itianyu.cn
 * @Description:输入三个数值,然后从小到大分别给变量x、y、z赋值。
 */
public class Test2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请依次输入三个数字后按回车键");
        int x = sc.nextInt();
        int y = sc.nextInt();
        int z = sc.nextInt();

        int all = x + y + z;
        if (getMin(x, y) < getMin(x, z)) {
            int temp = x + y;//求x与y的和,则较大值为temp-getMin(x,y)
            x = getMin(x, y);
            y = temp - x;
        } else {
            int temp1 = x + z;//求x与z的和,则较大值为temp1-getMin(x,z)
            x = getMin(x, z);
            z = temp1 - x;
        }
        int temp2 = y + z; //求y与z的和,则较大值为temp2-getMin(y,z)
        y = getMin(y, z);
        z = temp2 - y;

        System.out.println(x);
        System.out.println(y);
        System.out.println(z);
    }

    public static int getMin(int j, int k) {
        //取较小值方法
        if (j > k) {
            return k;
        } else {
            return j;
        }
    }

}

在百度知道找到另一种方法:

import java.util.Scanner;

public class Test {
    public static void main(String args[]) {
        int x, y, z;
        Scanner input = new Scanner(System.in);
        System.out.println("请输入3个正整数");
        x = input.nextInt();
        y = input.nextInt();
        z = input.nextInt();
        if (x > y)
            x = x + y - (y = x);
            /*这里如果看不懂的话,引入一个临时变量
            {
                int temp=x;
                x=y;
                y=temp;
            }
                */
        if (y > z)
            y = y + z - (z = y);
        if (x > y)
            x = x + y - (y = x);
        System.out.println(x + "\t" + y + "\t" + z);
    }
}
u41262471822193926890fm200gp0-300x200-1
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容