java - 将随机数转换为一组数组

标签 java

如何将 randomNumbers 的值转换为数组集,以便以后可以使用它们进行排序?

这是我的主课

import java.util.Arrays;
import java.util.*;

public class Main {
  public static void main(String[] args){
    int choice;
    int g;
    Scanner input=new Scanner(System.in);
    System.out.println("Enter how many random no:");
    g=input.nextInt();

    RandomAlgo ran=new RandomAlgo();
    g=ran.randomNum(g);

    RandomAlgo rand=new RandomAlgo();
    int[] data=rand.randomNum(randomNumbers); //did i did this right here? 

  System.out.println("Choose Sorting algorithm: \n (1)Selection Sort \n (2)Insertion Sort \n (3)Bubble Sort \n (4)Quick Sort" );
    choice=input.nextInt();

    switch(choice){
      case 1:{
        SortingAlgo algo=new SortingAlgo();
        data=algo.selectionSort(data);
        break;
      }

对于我的随机数类,这是我的代码。我的问题是如何将 randomNumbers 的值传递给我的主类?

public class RandomAlgo extends Main{


  public int randomNum(int g){
        Random rand = new Random();
        int e;
        int i;       
        HashSet<Integer> randomNumbers = new HashSet<Integer>();

        for (i = 0; i < g; i++) {
            e = rand.nextInt(1000);
            randomNumbers.add(e);
            if (randomNumbers.size() <= 0) {
                if (randomNumbers.size() == 0) {
                    g = g;
                }
                g++;
                randomNumbers.add(e);
            }
        }
        System.out.println("Random numbers Are  : " +randomNumbers);
        return g;
    }

  }

最佳答案

int[] data=rand.randomNum(randomNumbers); //did i did this right here?

randomNumbers是子类RandomAlgo.randomNum()的局部变量,Main不知道它。

您可以按如下方式编写您的RandomAlgo

public class RandomAlgo { // Why extend Main ???


  public int[] randomNum(int g){ // return an int array with random numbers instead
        Random rand = new Random();

        int[] randomNumbers = new int[g];

        for (int i = 0; i < g; i++) {
            int e = rand.nextInt(1000);
            randomNumbers[i] = e;

           // if (randomNumbers.size() <= 0) {
             //   if (randomNumbers.size() == 0) {
               //     g = g;
               // }
               // g++;
               // randomNumbers.add(e);
           // }
        }
        // System.out.println("Random numbers Are  : " +randomNumbers);
        return randomNumbers;
    }

  }

您必须相应地更改您的Main

public class Main {
  public static void main(String[] args){
    int choice;
    int g;

    Scanner input=new Scanner(System.in);
    System.out.println("Enter how many random no:");
    g=input.nextInt();

    // RandomAlgo ran=new RandomAlgo();
    // g=ran.randomNum(g);

    RandomAlgo rand=new RandomAlgo();
    int[] data=rand.randomNum(g); // load return random numbers array to data

  System.out.println("Choose Sorting algorithm: \n (1)Selection Sort \n (2)Insertion Sort \n (3)Bubble Sort \n (4)Quick Sort" );
    choice=input.nextInt();

关于java - 将随机数转换为一组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19149469/

相关文章:

java - Hadoop:如何将HDFS文件从一个目录移动到另一目录?

java - 如何与JPA查询这种一对一的关系

java - 如何在java web应用程序中的pdf报告中绘制图表

java - 向ArrayList添加后缀为 "dynamic"的唯一元素

java - 如何从java主代码中调用OCL约束(生成模型的java源代码)

java - 按 ID 跨表拆分 hibernate 实体

java - Activity 之间的Android数据检索

java - 如果字符串具有相同的前缀和后缀,则删除字符串的最后 3 个字符

java - 设计通讯录的最面向对象的方法是什么?

java - 需要一个逻辑来获取元素