Code Bye

java中带参带返回值的方法的调用

package com.imooc4;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// 创建对象,对象名为hello
Test hello = new Test();

// 调用方法并将返回值保存在变量中
int[] age = hello.getArray(8);

// 将数组转换为字符串并输出
System.out.println(Arrays.toString(age));
}
/*
* 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值
* 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组
*/
public int[] getArray(int length) {
// 定义指定长度的整型数组
int[] nums = new int[length];

// 循环遍历数组赋值
for (     int  num: nums   ) {

// 产生一个100以内的随机数,并赋值给数组的每个成员
nums = Math.random(nums);
}
return nums; // 返回赋值后的数组
}
}
问一下高手们,这是为什么报错?
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
The method random() in the type Math is not applicable for the arguments (int[])
at com.imooc4.Test.getArray(Test.java:30)
at com.imooc4.Test.main(Test.java:12)

解决方案

2

原因是随机出来的数是在0到1之间的小数

4

本人好像出了个错,random的参数可以不要

6

random方法的返回值就是0到1之间的

3

你的代码本身就报错了,还能编译吗?
public int[] getArray(int length) {
		// 定义指定长度的整型数组
		int[] nums = new int[length];
		// 循环遍历数组赋值
		//for (int num : nums) {
			// 产生一个100以内的随机数,并赋值给数组的每个成员
			//nums[num] = (int)( Math.random()*100);
		//}
		for (int n = 0;n<nums.length;n++) {
			// 产生一个100以内的随机数,并赋值给数组的每个成员
			nums[n] = (int) (Math.random()*100);
		}
		return nums; // 返回赋值后的数组
	}

8

假如要100以内的数可以在random方法后乘以100

2

看漏了,没看到下面的

4

看着应该是没错了,好吧!本人承认本人也是菜鸟

4

foreach应该是可以的呀

4

foreach注释里面 nums[num] = (int)( Math.random()*100);
这句错了,应该是
num = (int)( Math.random()*100);

10

本人虽然是菜鸟,但这东西本人应该也是一两分钟的事情,今天居然在这弄了半个小时,真是醉了

5

nums是数组它无法接收math.rondam的返回。

2

你这代码 能编译通过?

8

增强for不可以这么用,你的数据根本就无法添加进去,需要用正常的for循环

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java中带参带返回值的方法的调用