public class zuida {
static int max;public static void main(String args[])
{
int a[]={1,2,3,4,5};
System.out.println("数组的最大数为:"+maxElement(a));
} public static int maxElement(int a[])
{
for(int i=1;i<a.length;i++)
{
if(a[i-1]>a[i])
{max=a[i-1];}
}
return max;
}
}结果为:
数组的最大数为:0
弄半天不知道错在哪里?
static int max;public static void main(String args[])
{
int a[]={1,2,3,4,5};
System.out.println("数组的最大数为:"+maxElement(a));
} public static int maxElement(int a[])
{
for(int i=1;i<a.length;i++)
{
if(a[i-1]>a[i])
{max=a[i-1];}
}
return max;
}
}结果为:
数组的最大数为:0
弄半天不知道错在哪里?
解决方案 »
- 乘法表代码??
- 由俄罗斯方块推出的问题
- 请问tomcat服务不能启动是什么原因?
- ((DefaultEditor)JSpinner.getEditor()).getTextField().requestFocusInWindow()有没有替代的方法设置它的光标位置
- 一个新手问题 关于位操作的
- 用java编译好的应用程序,能否运行在没有java虚拟机的机器上????
- 学java swing awt用什么书
- 问题是这样的,希望高手们热心参与!我给满100分!
- 用Java可以解决这个问题吗?急!!!
- java 字符串replace 问题 在线等
- java连接mysql问题
- 求个Thinking in java第三版本的课后答案
改为:
for(int i=0;i<a.length-1;i++)
{
if(a[i+1]>a[i])
{max=a[i+1];}
a[0] = 1 a[1] = 2比较,然后a[1]与a[2],依次类推下去,直到最后,if的条件总是不满足的
所以max等于他的初始值0
第二次循环2(a[i-1])<3(a[i])
......
......
......
if(a[i-1]>a[i])这句从来就没成立过 上哪给max赋值去?static int max;系统默认会max赋值0
因此打印0!
正确的如下:max=a[0];
for(int i=1;i<a.length;i++){
if(max<a[i]){
max=a[i];
}
}
{
static int average;
public static void main(String args[])
{
int a[]={1,2,3,4,5,6,7,9};
System.out.println("数组的平均值为:"+avgElement(a));
}
public static int avgElement(int a[])
{
int sum=0;
for(int i=0;i<=a.length-1;i++)
sum+=a[i];
average=sum/a.length;
return average;
}
}