以下是按照自己的思路写的:
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);
}
}

© 版权声明
转载请注明出处,并标明原文链接。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
THE END












暂无评论内容