java三个数排序比较大小的完整代码,并给出详细解释,初学者,谢谢
ycip88c
5级
分类:
其他
被浏览63次
2014.11.17
Dragon丶脩_
采纳率:48%
5级
2014.11.17
public static void main(String[] args) {
// 这是你的三个数
int[] arr = { 12, 32, 18 };
// 两层嵌套循环
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < i; j++) {
// 如果后者小于前者,让他们交换位置,一直循环
// 直到每个数字都从头到尾跟数组里的每个数字比较一次
if (arr[i] < arr[j]) {
// 这三步就是交换位置,相信聪明的你一定看得懂了
arr[i] = arr[i] + arr[j];
arr[j] = arr[i] - arr[j];
arr[i] = arr[i] - arr[j];
}
}
}
//最后打印出来
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
- 追问: 那这段代码是不是三个数排序啊? public class Admin {
public static void main(String[] args) {
int a = 4;
int b = 2;
int c = 3;
if (a > b) {
a = a + b;
b = a - b;
a = a - b;
}
if (b > c) {
b = b + c;
c = b - c;
b = b - c;
}
if (a > b) {
a = a + b;
b = a - b;
a = a - b;
}
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
} - 追答: 是的,跟我写的思路是一样的,只不过我用循环写了
- 追问: 这个是三个数排序?可以解释一下这段代码的意思吗?麻烦你了,谢谢。
- 追答: int a = 3, b = 6, c = 2;
if (a > b) {
a = a + b;// 结果 a=3+6=9;
b = a - b;// b=9-6=3;
a = a - b;// a=9-3=6;剩下的以此类推
}
if (b > c) {
b = b + c;
c = b - c;
b = b - c;
}
// 因为如果b>c的话,他们肯定就换位置,所以最后要在比较一次a和b
if (a > b) {
a = a + b;
b = a - b;
a = a - b;
}
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
//这是一个简单的数学算法,冒泡排序法,你上网查一下,很多的 - 追问: 这属于java哪个部分的?
- 追答: 这是一个简单的数学算法,冒泡排序法,你上网查一下,很多的
发布评论