在数组中生成和排序20个数字的序列w/for循环(Java)
在java中,我在使用for循环生成和排序数组中20个随机数的序列时遇到问题。它运行,但不生成正确的输出。根据netbeans的说法,math.random导入没有被使用,我也不知道为什么,正如我所说的那样。我做了几个小时都没用在数组中生成和排序20个数字的序列w/for循环(Java),java,arrays,Java,Arrays,在java中,我在使用for循环生成和排序数组中20个随机数的序列时遇到问题。它运行,但不生成正确的输出。根据netbeans的说法,math.random导入没有被使用,我也不知道为什么,正如我所说的那样。我做了几个小时都没用 包装问题1; 导入java.util.array; 导入java.util.Random; 公共类问题1 { 公共静态void main(字符串[]args) {num num=new num(); int[]数组=新的int[20]; 打印序列(数组); } 私有静态
包装问题1;
导入java.util.array;
导入java.util.Random;
公共类问题1
{
公共静态void main(字符串[]args)
{num num=new num();
int[]数组=新的int[20];
打印序列(数组);
}
私有静态void打印序列(int[]num)
{
对于(int i=0;i<20;i++)
{
int RandomNum=num[i];
RandomNum=(int)(Math.random()*99+1);
System.out.println(“序列是:”);
打印顺序(随机数);
}
}
私有静态printOrderedSequence(int[]数组)
{
数组。排序(数组);
for(int i=0;i
您已经导入了java.util.array
为什么不使用它来打印序列
注意:我删除了不必要的java.util.Random
(如果您愿意,可以使用revert-back-to-use,以及num
的用途,因为我认为这会使一切变得比需要的更复杂
尝试它在您的第一个for循环中再次考虑您的逻辑。没有
math.random
import;java.util.random
没有被使用,因为您没有在这段代码中使用random
类。如果您不想使用它,您不必导入java.util.random
。而且数组也没有被打印出来因为Arrays.toString(array)
不是对System.out.println(…)
的调用的一部分:它只是它自己语句中的一个方法调用。您认为num=new num();
是吗?@AndyTurner抱歉,我的错。谢谢你,但有几个问题。我之前在网上读到的所有内容都说,排序数组需要第二个for循环(就像我在它自己的私有类中所做的那样)。这是多余的吗?其次,如何使用math.random随机生成数字而不导入?使用数组对数组进行排序。排序
(您以前做过此操作)如果您需要从头开始实现排序,请看这个。其次,您不需要专门在java中导入Math
,并且使用Math.random
是在java中为初学者生成随机数的更简单的方法之一。
import java.util.Arrays;
public class problem1 {
public static void main(String[] args) {
int[] sequence = new int[20];
//Generates 20 Random Numbers in the range 1 to 99
for(int i = 0; i < sequence.length; i++)
sequence[i] = (int)(Math.random() * 99 + 1);
System.out.println("The sequence is: " + Arrays.toString(sequence));
//Sort the sequence
Arrays.sort(sequence);
System.out.println("The sorted sequence is: " + Arrays.toString(sequence));
}
}
The sequence is: [10, 25, 94, 61, 59, 14, 64, 90, 28, 54, 29, 17, 71, 74, 95, 9, 56, 46, 44, 57]
The sorted sequence is: [9, 10, 14, 17, 25, 28, 29, 44, 46, 54, 56, 57, 59, 61, 64, 71, 74, 90, 94, 95]