package com.imooc4;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// 创建对象,对象名为hello
Test hello = new Test();
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);
这句错了,应该是
num = (int)( Math.random()*100);
10
本人虽然是菜鸟,但这东西本人应该也是一两分钟的事情,今天居然在这弄了半个小时,真是醉了
5
nums是数组它无法接收math.rondam的返回。
2
你这代码 能编译通过?
8
增强for不可以这么用,你的数据根本就无法添加进去,需要用正常的for循环