请问一下我这个程序错在哪,为什么用foreach会出错?(顺带问问return可以返回数组长度吗)

//导入java.util.Arrays;

import java.util.Arrays;

public class HelloWorld {

    public static void main(String[] args) {


   

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

    HelloWorld hello = new HelloWorld();

        

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

int[] nums = hello.getArray(8);

        

        // 将数组转换为字符串并输出

System.out.println(Arrays.toString(nums)); 

}


/*

* 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值

* 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组

*/

public int[] getArray(int length) {

        // 定义指定长度的整型数组

int[] nums = new int[length];

        

        // 循环遍历数组赋值

for (int num:nums ) {

            num=(int)(Math.random()*100);

// 产生一个100以内的随机数,并赋值给数组的每个成员

        

}

return nums; // 返回赋值后的数组

}

}


慕斯卡3206615
浏览 1242回答 1
1回答

一条小咸鱼

num只是nums元素的拷贝,并不能改变数组值,foreach一般用来遍历数组,建议还是使用普通for循环
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java