Java语言悬赏问题:如何用Java语言的?:这两个符号,排列4个数字,从大到小
完整代码
使用三目表达式:
如A,B,C,D再定义一个中间变量temp
A>B?A:
B>C? B:
C>D?C:D
你可以先写一个冒泡,然后把冒泡改成连续三目表达式就可以实现。
祝你成功
类似于这样A>B?(A>C?(A>D?A:D):C>D?C:D):(B>C?(B>D?B:D):(C>D?C:D)) 也就是三目运算嵌套
不过看起来不便于阅读,A与B比较如果B大那么B已经大于A,所以B就和C与D比较如果C大说明c比AB都大c就只需要和D比较就这样一条支路一条支路的理,这样可以比较得出最大的一个你要排列就这样类似的找第二大第三大直到4个找完就可以实现了,不过对于三目运算嵌套不方便阅读不建议这样用换成if else要好些,对于排序来说冒泡排序,选择排序,快速排序这些排序方式都是很好的
求最大的方式:
int a, b, c, d, ;
max = a > b ? a : b;
max = max > c ? max : c;
max = max > d ? max : d;
System.out.println(max+"");
如果排列这里肯定用冒泡啊,怎么会用?:这种三目呢
int[] arr = {10, 5, 3, 4};
for (int x = 0; x < arr.length - 1; x++) {
for (int y = x + 1; y < arr.length; y++) {
int temp = arr[x] + arr[y];
arr[x] = arr[x] < arr[y] ? arr[x] : temp - arr[x];
arr[y] = temp - arr[x];
}
}
String sort = "";//排序完成,打印出来
for (int i : arr) {
sort = sort + i + " ";
}
System.out.print("xxx" + sort);