日期:2014-05-20  浏览次数:20814 次

创建一个具有5个值的数组,并找出最大值和最小值. 才学.请多多指教
class   ArrayDemo
{
public   static   void   main(String   args[])
{
int   integer[]   =   new   int[5];
int   a   =   100;
for(int   i=0;i <5;i++)
integer[i]   =   a++;
for(int   i=0;i <5;i++)
System.out.println(integer[i]   +   '\t ');
System.out.println( "最大值为 "   +   Math.max(integer[i]));
System.out.println( "最小值为 "   +   Math.min(integer[i]));
}
}

为什么有错误..   请指教..


另一个问题     使用控制语句生成下列输出结果
1111
111
11
1

------解决方案--------------------
FYI
int max = integer[0];
for(int i=0; i <integer.length; ++i)
max = Math.max(max, integer[i]);
System.out.println(max);
------解决方案--------------------
没有Math.max(int i)
应该是Math.max(int a , int b)
------解决方案--------------------
这段程序里面有两处错误:
1、System.out.println(integer[i] + '\t ');
这里面的 '\t '应改为“\t”否则就会发生错误,应为两个虽然都能通过编译,但他们代表的意义是不竟相同的;
2、System.out.println( "最大值为 " + Math.max(integer[i]));
System.out.println( "最小值为 " + Math.min(integer[i]));
这两句代码里面错误的使用的API提供的max方法和min方法,里面必须有两个参数。

代码可以改写为:
class ArrayDemo {
public static void main(String args[]) {
int integer[] = new int[5];
int a = 100;
int max;
int min;
max=min=a;
for (int i = 0; i < 5; i++)
integer[i] = a++;

for (int i = 0; i < 5; i++){
System.out.println(integer[i] + "\t ");
max = Math.max(max, integer[i]);
min = Math.min(min, integer[i]);
}


System.out.println( "最大值为 " + max);
System.out.println( "最小值为 " + min);
}
}

运行结果为:
100
101
102
103
104
最大值为104
最小值为100
------解决方案--------------------
问题1:
这段程序里面有两处错误:
1、System.out.println(integer[i] + '\t ');
这里面的 '\t '应改为“\t”否则就会发生错误,应为两个虽然都能通过编译,但他们代表的意义是不竟相同的;
2、System.out.println( "最大值为 " + Math.max(integer[i]));
System.out.println( "最小值为 " + Math.min(integer[i]));
这两句代码里面错误的使用的API提供的max方法和min方法,里面必须有两个参数。

代码可以改写为:
class ArrayDemo {
public static void main(String args[]) {
int integer[] = new int[5];
int a = 100;
int max;
int min;
max=min=a;
for (int i = 0; i < 5; i++)
integer[i] = a++;

for (int i = 0; i < 5; i++){
System.out.println(integer[i] + "\t ");
max = Math.max(max, integer[i]);
min = Math.min(min, integer[i]);
}

System.out.println( "最大值为 " + max);
System.out.println( "最小值为 " + min);
}
}

运行结果为:
100
101
102
103
104
最大值为104
最小值为100


问题2:
class ArrayDemo {
public static void main(String args[]) {
int num = 1;
for (int i = 0; i < 4; i++) {
for (int m = 4; m > i; m--) {
System.out.print(num);
}
System.out.println();
}
}
}
运行结果:
1111
111
11
1