如何更简洁的比较3个数的大小 3个int型的数要求越简洁越好,代码长度越短越好! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【duling509】截止到2008-07-08 15:01:31的历史汇总数据(不包括此帖):发帖的总数量:39 发帖的总分数:600 每贴平均分数:15 回帖的总数量:7 得分贴总数量:0 回帖的得分率:0% 结贴的总数量:39 结贴的总分数:600 无满意结贴数:9 无满意结贴分:280 未结的帖子数:0 未结的总分数:0 结贴的百分比:100.00% 结分的百分比:100.00% 无满意结贴率:23.08 % 无满意结分率:46.67 % 敬礼! private static int findMax(int a, int b, int c) { return ((a > b ? a : b) > c) ? (a > b ? a : b) : c; } int a, b, c; a = 1; b = 2; c = 31; System.out.println(a > b ? a > c ? a : b > c ? b : c : b > c ? b : c); int[] arr = new int[3]; for(int i = 0;i <3 ;i++) { if(arr[i] < arr[i+1]) { min = arr[i]; } if(arr[i] > arr[i+1]) { max = arr[i]; } }多少个数字比都可以。 呵呵,这个跟原来看到有个题类似:不用 if ?: switch 等语句,如何找出两个 int 中最大的数? 怎么变小的了 private static int findMin(int a, int b, int c) { return ((a < b ? a : b) < c) ? (a < b ? a : b) : c; } System.out.println(a > b ? (a > c ? a : c) : b > c ? b : c);前一个错了 参考http://www.java2000.net/viewthread.jsp?tid=1854以前有人问过,我收藏了的 public class qq{ public static void main (String[] args) { int a=100; int b=1000; int c=10000; int max; int min; int cen; int test; test=a>b?a:b; max=test>c?test:c; test=a<b?a:b; min=test<c?test:c; System.out.println("max:"+max); System.out.println("min:"+min); }} int a, b, c; a = 1; b = 2; c = 31; System.out.println(a > b ? (a > c ? a : c) : b > c ? b : c);记得是2年前哈 我觉得这个方法最好,一个程序的简单不是看代码的多少而是看代码的易读性,我写的这个程序我感觉挺易懂的lz要加分呀。public class qq{ public static void compare(int a,int b,int c){ int temp; if(a>b){ temp=a; a=b; b=temp; } if(a>c){ temp=a; a=c; c=temp; } if(b>c){ temp=b; b=c; c=temp; } System.out.println("min:"+a+"\ncen:"+b+"\nmax:"+c); } public static void main (String[] args) { qq.compare(5,6,3); }} 谢谢各位了已经找到了明确的思路就是a先和b比,取最小的和c比!如果c比最小的都小了,那c肯定就是最小的了!否则c就不可能是最小的了,这样b和c之间就不用做比较了 如果是30个数,肯定是用2个for 循环嵌套排序了 java如何计算给出的两个日期相隔多少天? java中的多态问题 抽象类可以这样用吗? 请教关于java反射的问题。 Swing--银行交易系统登陆逻辑的疑问 在LDAP中增加记录的问题 急!!!如何获取JTable中新加入的数据并保存入数据库 在java文件中怎样调用jar命令 求htmlparser?? 对象.toString() 问题 关于C# java 系统时间 错误
楼主【duling509】截止到2008-07-08 15:01:31的历史汇总数据(不包括此帖):
发帖的总数量:39 发帖的总分数:600 每贴平均分数:15
回帖的总数量:7 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:39 结贴的总分数:600
无满意结贴数:9 无满意结贴分:280
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:23.08 % 无满意结分率:46.67 %
敬礼!
{
return ((a > b ? a : b) > c) ? (a > b ? a : b) : c;
}
a = 1;
b = 2;
c = 31;
System.out.println(a > b ? a > c ? a : b > c ? b : c : b > c ? b : c);
int[] arr = new int[3];
for(int i = 0;i <3 ;i++)
{
if(arr[i] < arr[i+1])
{
min = arr[i];
}
if(arr[i] > arr[i+1])
{
max = arr[i];
}
}
多少个数字比都可以。
{
return ((a < b ? a : b) < c) ? (a < b ? a : b) : c;
}
public static void main (String[] args) {
int a=100;
int b=1000;
int c=10000;
int max;
int min;
int cen;
int test;
test=a>b?a:b;
max=test>c?test:c;
test=a<b?a:b;
min=test<c?test:c;
System.out.println("max:"+max);
System.out.println("min:"+min);
}
}
a = 1;
b = 2;
c = 31;
System.out.println(a > b ? (a > c ? a : c) : b > c ? b : c);
记得是2年前哈
public class qq{
public static void compare(int a,int b,int c){
int temp;
if(a>b){
temp=a;
a=b;
b=temp;
}
if(a>c){
temp=a;
a=c;
c=temp;
}
if(b>c){
temp=b;
b=c;
c=temp;
}
System.out.println("min:"+a+"\ncen:"+b+"\nmax:"+c);
}
public static void main (String[] args) {
qq.compare(5,6,3);
}
}
已经找到了明确的思路
就是a先和b比,取最小的和c比!
如果c比最小的都小了,那c肯定就是最小的了!
否则c就不可能是最小的了,这样b和c之间就不用做比较了