什么错呢? 纠结一个晚上了 求解 谢谢拉

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        

        // 创建对象,对象名为hello

HelloWorld hello = new HelloWorld(); 

        

        // 调用方法并将返回值保存在变量中

        int maxScore=hello.getMaxAge();

        

// 输出最大年龄

System.out.println("最大年龄为:" + maxScore); 

}


/*

* 功能:输出学生年龄的最大值 

     * 定义一个无参的方法,返回值为年龄的最大值

     * 参考步骤:

     * 1、定义一个整形数组 ages ,保存学生年龄,数组元素依次为 18 ,23 ,21 ,19 ,25 ,29 ,17

     * 2、定义一个整形变量 max ,保存学生最大年龄,初始时假定数组中的第一个元素为最大值

     * 3、使用 for 循环遍历数组中的元素,并与假定的最大值比较,如果比假定的最大值要大,则替换当前的最大值

     * 4、使用 return 返回最大值

*/

public int getMaxAge() {

        int[] ages={18,23,21,19,25,29,17};

        int max=ages[0];

        for(int i=0;i<ages.length;i++);{

            if(ages[i]>max) {

                max=ages[i];

            }

            

        }

        return max;

}

}


慕粉Javacoder
浏览 1531回答 3
3回答

予远方

for循环中的i的作用域是在for循环之内的。你在括号后边加个分号,代表着for循环在此结束了,即i的作用域结束了,所以花括号内部的i就变成了未定义的了。

慕粉Javacoder

错误在   if语句中 及max=ages[i]的 i中  是什么错误,  我不解释在for循环中定义了i吗
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java