修订问题:
我希望我的数组的偶数元素存储在相应的数组中。我的if else语句就是这样做的。由于每次运行总会有不同数量的均值和赔率,我希望evenArray
和oddArray
的大小随着我的while循环的每次迭代进行调整。我在编译时遇到错误,说我没有正确地执行该部分。
import java.util.Arrays;
import java.util.Random;
public class randomdemo {
public static int[] randommethod()
{
int i = 0;
int[] myArray;
myArray = new int[100];
int[] evenArray;
int[] oddArray;
while(i<=99)
{
Random rand = new Random();
int n = rand.nextInt(25) + 0;
myArray[i] = n;
if(myArray[i] % 2 == 0)
{
evenArray = new int[i];
evenArray[i] = n;
}
else
{
oddArray = new int[i];
oddArray[i] = n;
}
i++;
}
return myArray;
}
public static void main(String args[])
{
int[] result = randommethod();
System.out.println(Arrays.toString(result));
randommethod();
}
}
答案 0 :(得分:3)
存储结果,并打印出来。您可以使用循环或Arrays.toString(int[])
。像,
int[] result = randommethod();
System.out.println(Arrays.toString(result));
当我将这两行放在main()
中并使用您发布的randommethod()
时,它似乎可以正常工作。
答案 1 :(得分:1)
未使用返回的数组。
所以从randommethod()
返回的是int[]
但主要方法不会打印它(或以任何方式使用它)。
以下是使用它的一种方法:
int[] outputRandomAry = randommethod();
for (int elem : outputRandomAry) {
System.out.print(elem + ", ");
}
System.out.println();
此外,您可能希望将Random rand = new Random(); //using the random class
放在while循环之外。这可以防止为每个兰特不必要地剥离新对象。
您可以将int n = rand.nextInt(26);
用于0(含)到26(不包括),为您提供所需的范围。
答案 2 :(得分:0)
如果您只想打印阵列而不存储,写 主。 100%它会起作用。
System.out.println(Arrays.toString(randommethod())); //print array
在这一行,您返回了vaule:
return myArray; //returns the array
但你没有将它存储。所以返回值丢失了。即使你完成了该方法的所有工作。
将您的返回数组存储在 main
中,如下所示int[] myArray = randommethod(); //store returned value (from method)
之后,您可以使用返回的数组执行任何操作。
答案 3 :(得分:0)
除了其他用户提到的内容之外,如果我是你,我会用这种方式编写你的方法:
public static int[] randommethod() //declaring method
{
Random rnd = new Random(); //using the random class
int[] myArray = new int[100]; //create and initializing array in 1 line
for(int x=0; x<myArray.length; x++) //Normally use for-loop when you know how many times to iterate
myArray[x] = rnd.nextInt(26); //0-25 has 26 possibilities, so just write 26 here
return myArray; //returns the array
}
它会做同样的事情,我正在用原始代码编辑它。
在主..
public static void main (String[] args)
{
int[] myArray = randommethod();
}
答案 4 :(得分:0)
如果你想要一个0到25之间的随机int,那么你的代码应该是:
int n = rand.nextInt(26); //I want a random int between 0 and 25 inclusive