Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用不同的参数将一个类调用到另一个类中?_Java_Arrays_Sorting_Random_Insertion Sort - Fatal编程技术网

Java 如何使用不同的参数将一个类调用到另一个类中?

Java 如何使用不同的参数将一个类调用到另一个类中?,java,arrays,sorting,random,insertion-sort,Java,Arrays,Sorting,Random,Insertion Sort,我不确定如何调用我的代码,使其与我的随机化器匹配。我的随机化程序基本上在一个数组中生成许多随机整数,然后像这样打印它们 Edit:如果我不清楚,我想在插入排序类的两个方法中调用我的随机化器 我尝试使用我从geeks4geeks获得的插入排序实现。它们都有参数int[arr] 这是我的密码 public class randomArr { public void randomizer(){ Scanner sc = new Scanner(System.in);

我不确定如何调用我的代码,使其与我的随机化器匹配。我的随机化程序基本上在一个数组中生成许多随机整数,然后像这样打印它们

Edit:如果我不清楚,我想在插入排序类的两个方法中调用我的随机化器

我尝试使用我从geeks4geeks获得的插入排序实现。它们都有参数int[arr]

这是我的密码

public class randomArr {

    public void randomizer(){
        Scanner sc = new Scanner(System.in);
        Random r = new Random();

        System.out.println("Please enter the amount of integers you want in your array: ");
        int n = sc.nextInt();
        // Create array of 1000 ints
        int[] intArr = new int[n];

// Fill array with random ints
        for ( int i = 0; i < intArr.length; i++) {
            intArr[i] = r.nextInt(100);
            System.out.print(intArr[i] + ", ");
        }

    }

}
public class randomArr{
公共空随机化器(){
扫描仪sc=新的扫描仪(System.in);
随机r=新随机();
System.out.println(“请在数组中输入所需的整数数量:”;
int n=sc.nextInt();
//创建1000整数的数组
int[]intArr=新的int[n];
//用随机整数填充数组
对于(int i=0;i
这就是我基本上想要发生的事情:

正如你所看到的,我用我的“intArr”调用sort和print数组。如何使用给定的方法调用我的方法

我已经注释掉了使用我的方法创建的对象,但是如果我将其保留在中,我将如何使用该对象调用sort()和printary()

公共类插入排序{
公共静态void main(字符串[]args){
//randomArr arry=new randomArr();\\我的方法的对象
//arry.randomizer());
扫描仪sc=新的扫描仪(System.in);
随机r=新随机();
System.out.println(“请在数组中输入所需的整数数量:”;
int n=sc.nextInt();
//创建1000整数的数组
int[]intArr=新的int[n];
//用随机整数填充数组
对于(int i=0;i=0&&arr[j]>键){
arr[j+1]=arr[j];
j=j-1;
}
arr[j+1]=键;
}
}
静态void打印数组(int arr[]){
int n=阵列长度;
对于(int i=0;i
确定如果要将一个类的方法调用到另一个类中,只需在该类的对象旁边添加方法名,中间加一个句点,如(“object.method()”)。所以你要做的是:

import java.util.*;
class randomArr {

    public int[] randomizer()
    {
        Scanner sc = new Scanner(System.in);
        Random r = new Random();

        System.out.println("Please enter the amount of integers you want in your array: ");
        int n = sc.nextInt();
        // Create array of 1000 ints
        int[] intArr = new int[n];

// Fill array with random ints
        for ( int i = 0; i < intArr.length; i++) {
            intArr[i] = r.nextInt(100);
            System.out.print(intArr[i] + ", ");
        }

        return intArr;

    }

}

class Stack
{
    public static void main(String[] args) 
    {
        randomArr rArr = new randomArr();
        int[] intArr = rArr.randomizer();
    }
}
import java.util.*;
类随机数{
公共int[]随机数发生器()
{
扫描仪sc=新的扫描仪(System.in);
随机r=新随机();
System.out.println(“请在数组中输入所需的整数数量:”;
int n=sc.nextInt();
//创建1000整数的数组
int[]intArr=新的int[n];
//用随机整数填充数组
对于(int i=0;i
这样,您就可以在其他类中创建该数组,并在新类中使用它

如果要调用insertionSort类的方法,可以在不使用对象的情况下调用它们,因为它们是静态的。不能使用另一个类的对象调用不属于该对象类的方法


通过在randomArr类中创建insertionSort的对象,可以在randomArr类中使用insertionSort的方法,反之亦然。但对象只能访问其自己类的方法。

如果要在另一个类中调用方法,可以创建该类的对象,然后使用对象引用调用该类中可用的方法

insertionSort object = new insertionSort();
object.sort(intArr);
object.printArray(intArr);

由于您定义了sort和printArry是静态方法,因此可以在主方法中直接调用它们。

您的问题是什么?要使用在randomArr类中生成的intArr,还是要在insertionSort类中调用该类的randomizer()方法?@MananAdhvaryu我要在insertionSort类中调用randomizer()方法。对不起,我不知道该怎么恰当地说。我是这样做的(我对此发表了评论)我如何从insertionSort类调用带有排序方法和打印数组方法的随机化器?@Jordles让我知道这是否是您想要的。如果您有任何疑问,我很乐意提供帮助。是的,我已经这样做了,我在上面的代码中注释了它。问题是如何调用排序方法和打印数组?@Jordles是否要使用“arry”对象调用insertionSort类的方法?是的,这就是我想说的xD,等等,我不确定。我试图使用随机数发生器并获取随机数组,并将其放入insertionSort类的方法中。这有意义吗?是的!非常感谢!我现在明白了。对于insertionSort方法,我的方法没有任何输出。如果我的方法已经是“returnintarr”,为什么我需要创建一个新数组(int[]intArr)并将其设置为我的随机化器呢。我不能进行排序(rArr.randomizer())
insertionSort object = new insertionSort();
object.sort(intArr);
object.printArray(intArr);