Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Class - Fatal编程技术网

Java 我需要帮助传递数组并对其调用基本方法

Java 我需要帮助传递数组并对其调用基本方法,java,arrays,class,Java,Arrays,Class,我是编程和java新手,我正在尝试编写一个简单的气泡排序算法。我可能有点不知所措;我对Oracle的java教程没有太多了解。我现在遇到的问题不是气泡排序本身,而是在排序之前创建数组并打印它 以下是我到目前为止的情况: public class BubbleSort { public BubbleSort(int size) { // creates array int[] items = new int[size]; } publi

我是编程和java新手,我正在尝试编写一个简单的气泡排序算法。我可能有点不知所措;我对Oracle的java教程没有太多了解。我现在遇到的问题不是气泡排序本身,而是在排序之前创建数组并打印它

以下是我到目前为止的情况:

public class BubbleSort {

    public BubbleSort(int size) {

        // creates array
        int[] items = new int[size];
    }

    public void fillArray(int[] a) {

        // fill array with random ints
        for (int i=0; i<(a.length-1); i++) {
            a[i] = java.util.Random.nextInt(50);
        }
    }

    public void printArray(int[] a) {

        for (int i=0; i<a.length; i++) {
            System.out.print(a[i] + " ");
        }
    }

    public void BubbleSortAlgorithm() {

        // bubble sorting algorithm goes here

    }

    public static void main(String[] args) {

        BubbleSort bubbleSort = new BubbleSort(20);
        bubbleSort.fillArray(items);
        bubbleSort.printArray(items);
        // bubbleSort.BubbleSortAlgorithm(items);
        // bubbleSort.printArray(items);
    }
}
公共类BubbleSort{
公共BubbleSort(整数大小){
//创建数组
int[]项目=新int[大小];
}
公共空填充数组(int[]a){
//用随机整数填充数组
对于(int i=0;i您调用:

java.util.Random.nextInt(50);
最好导入要使用的类。这会将此块放在文件的顶部:

import java.util.Random;
并将现有代码更改为:

Random.nextInt(50);
这解决了样式问题,但仍然会出现相同的编译器错误

静态方法是属于某个类的东西;在使用它们之前,不需要您创建(实例化)该类的对象。不是每个类的实例化都有该方法,而是该类的所有实例化实例共享相同的静态方法和变量

具体来说,Random类中的.nextInt()不是静态的;它是一个普通方法。因此它需要一个实例化的Random来处理。这意味着您应该尝试:

Random random = new Random();
random.nextInt(50);
在实例化一个随机变量之后,可以继续对其调用nextInt(),次数可以根据需要而定

数学类中有一个常用的静态方法示例

Math.min(10, 5);
Math.max(100, 100000);
等等

需要实例化Random的原因是它有状态。它不是完全随机的,而是伪随机的,因为它需要一个数字作为开始。如果不给它一个数字,它需要当前时间。两个Java随机对象在完全相同的时刻初始化……将产生相同的“随机”数字序列

这实际上是很有用的;您可以给它们随机对象一个开始的数字,并且您可以将此行为用于测试目的

Random random = new Random(1);
这是用数字1进行种子设定。这意味着每次运行代码时,它都会为nextInt()生成相同的随机数。如果你不给它任何数字作为种子,它就会这样做:

Random random = new Random(System.currentTimeMillis());
但问题是Random.nextInt不是静态方法。

您调用:

java.util.Random.nextInt(50);
最好导入要使用的类。这会将此块放在文件的顶部:

import java.util.Random;
并将现有代码更改为:

Random.nextInt(50);
这解决了样式问题,但仍然会出现相同的编译器错误

静态方法是属于某个类的东西;在使用它们之前,不需要您创建(实例化)该类的对象。不是每个类的实例化都有该方法,而是该类的所有实例化实例共享相同的静态方法和变量

具体来说,Random类中的.nextInt()不是静态的;它是一个普通方法。因此它需要一个实例化的Random来处理。这意味着您应该尝试:

Random random = new Random();
random.nextInt(50);
在实例化一个随机变量之后,可以继续对其调用nextInt(),次数可以根据需要而定

数学类中有一个常用的静态方法示例

Math.min(10, 5);
Math.max(100, 100000);
等等

需要实例化Random的原因是它有状态。它不是完全随机的,而是伪随机的,因为它需要一个数字作为开始。如果不给它一个数字,它需要当前时间。两个Java随机对象在完全相同的时刻初始化……将产生相同的“随机”数字序列

这实际上是很有用的;您可以给它们随机对象一个开始的数字,并且您可以将此行为用于测试目的

Random random = new Random(1);
这是用数字1进行种子设定。这意味着每次运行代码时,它都会为nextInt()生成相同的随机数。如果你不给它任何数字作为种子,它就会这样做:

Random random = new Random(System.currentTimeMillis());
但问题是Random.nextInt不是静态方法。

您调用:

java.util.Random.nextInt(50);
最好导入要使用的类。这会将此块放在文件的顶部:

import java.util.Random;
并将现有代码更改为:

Random.nextInt(50);
这解决了样式问题,但仍然会出现相同的编译器错误

静态方法是属于某个类的东西;在使用它们之前,不需要您创建(实例化)该类的对象。不是每个类的实例化都有该方法,而是该类的所有实例化实例共享相同的静态方法和变量

具体来说,Random类中的.nextInt()不是静态的;它是一个普通方法。因此它需要一个实例化的Random来处理。这意味着您应该尝试:

Random random = new Random();
random.nextInt(50);
在实例化一个随机变量之后,可以继续对其调用nextInt(),次数可以根据需要而定

数学类中有一个常用的静态方法示例

Math.min(10, 5);
Math.max(100, 100000);
等等

需要实例化Random的原因是它有状态。它不是完全随机的,而是伪随机的,因为它需要一个数字作为开始。如果不给它一个数字,它需要当前时间。两个Java随机对象在完全相同的时刻初始化……将产生相同的“随机”数字序列

这实际上是很有用的;您可以给它们随机对象一个开始的数字,并且您可以将此行为用于测试目的

Random random = new Random(1);
这是用数字1进行种子设定。这意味着每次运行代码时,它都会为nextInt()生成相同的随机数。如果你不给它任何数字作为种子,它就会这样做:

Random random = new Random(System.currentTimeMillis());
但问题是Random.nextInt不是静态方法。

您调用:

java.util.Random.nextInt(50);
最好导入要使用的类。这会将此块放在文件的顶部:

import java.util.Random;
并将现有代码更改为:

Random.nextInt(50);
这解决了样式问题,但仍然会得到相同的编译器