主题:判断三个数的大小
心若雄鹰
[专家分:0] 发布于 2007-10-15 21:05:00
请问大家怎样用if....else语句来判断三个数的大小并把最大值和最小值输出???
回复列表 (共11个回复)
沙发
sjhlovejava [专家分:1690] 发布于 2007-10-15 21:45:00
public class Test2 {
/**
* @param args
*/
public static void main(String[] args) {
Integer a = 1, b = 2, c = 3;
if (a > b) {
if (a > c) {
System.out.println("最大值是:" + a);
if (b > c) {
System.out.println("最小值:" + c);
} else {
System.out.println("最小值:" + b);
}
} else {
System.out.println("最大值是:" + c);
System.out.println("最小值是:" + b);
}
} else {
if (b > c) {
System.out.println("最大值是:" + b);
if (a > c) {
System.out.println("最小值:" + c);
} else {
System.out.println("最小值:" + a);
}
} else {
System.out.println("最大值是:" + c);
System.out.println("最小值是:" + a);
}
}
}
}
最好不要用if....else语句来判断三个数的大小,这样程序可读性不好
板凳
心若雄鹰 [专家分:0] 发布于 2007-10-16 08:40:00
那你介绍一个好点的给我吧!!真的有点复杂不过仔细去看还是可以看得懂的哦!谢谢你的提醒。
3 楼
yuru_1012 [专家分:580] 发布于 2007-10-16 09:24:00
public class Test {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 3;
int max = a;
int min = b;
max = (a > b) ? a : b;
min = (a < b) ? a : b;
max = (c > max) ? c : max;
min = (c < min) ? c : min;
System.out.println("max=" + max);
System.out.println("min=" + min);
}
}
用3目运算符简单方便,也好理解哦
4 楼
心若雄鹰 [专家分:0] 发布于 2007-10-16 10:12:00
[em1]
5 楼
DeadSnow [专家分:60] 发布于 2007-10-16 10:21:00
直接求就可以了啊!
int max=(a>b?a:b)>c?(a>b?a:b):c;
int min=(a<b?a:b)>c?c:(a<b?a:b);
System.out.println("max:"+max+" min:"+min);
6 楼
心若雄鹰 [专家分:0] 发布于 2007-10-16 10:31:00
不错哦!大家一个比一个厉害了哦!!!
哈哈。。。。
来这里我发现可以学到、好多的东西。谢谢朋友们的帮忙!!!
7 楼
sjhlovejava [专家分:1690] 发布于 2007-10-16 13:00:00
做个参考,最好自己也写个,如升序的:
public class Test {
public static void main(String[] args) {
Integer[] a = {3,5,9,10,33,90,1};
Integer[] array = new Integer[a.length];
array = paixu(a);
System.out.println("最大值:"+array[0]);
System.out.println("最小值:"+array[array.length-1]);
}
//降序方法
public static Integer[] paixu(Integer[] array){
Integer temp1 = 0;
for(int i=0;i<array.length;i++){
for(int j=i+1;j<array.length;j++){
if(array[i]<array[j]){
temp1 = array[i];
array[i] = array[j];
array[j] = temp1;
}
}
}
return array;
}
}
8 楼
细金yeah [专家分:0] 发布于 2007-10-18 23:36:00
import java.io.*;
class Input{
int i;
int j;
int k;
public Input(int a,int b,int c){
i=a;
j=b;
k=c;
}
public void Bijiao(){
int max;
int min;
if(i>j)
{
max=i;min=j;
}
else
{
max=j;min=i;
}
if(k>max)
{max=k;
}
if(k<min)
{min=k;
}
System.out.println("最大数是:"+max);
System.out.println("最小 数是:"+min);
}
}
public class bijiao{
public static void main(String args[]){
String s;
int a;
int b;
int c;
try
{BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入一个数:");
s=in.readLine();
a=Integer.parseInt(s);
System.out.print("请输入另一个数:");
s=in.readLine();
b=Integer.parseInt(s);
System.out.print("请输入另一个数:");
s=in.readLine();
c=Integer.parseInt(s);
Input f =new Input(a,b,c);
f.Bijiao();
}
catch (Exception e)
{System.out.println("输入数据有误");
}
}
}
9 楼
我要飞飞飞 [专家分:180] 发布于 2007-10-22 20:30:00
int[]arry=new int[3];
for(int i=1;i<3;i++){
String numString=JOptionPane.showInputDialog("Enter a int number");
arry[i]=Integer.parseInt(numString);}
int max=arry[0];
int min=arry[0];
for(int j=0;j<3;j++){
if(arry[i]>max)
max=arry[i];
if(min>arry[i])
min=arry[i];}
10 楼
我要飞飞飞 [专家分:180] 发布于 2007-10-22 20:42:00
if(a>b&&a>c)
max=a;
else if(b>c)
max=b;
else max=c;
我来回复