Java 实现排序和函数调用

Java 实现排序和函数调用,java,Java,我想对一组数字进行排序 public class Sort { public static void main(String args[]){ int [] array = new int[10]; for ( int i = 0 ; i < array.length ; i++ ) { array[i] = ((int)(Math.random()*100+1)); } Arrays.sort( array ); for (

我想对一组数字进行排序

public class Sort {
public static void main(String args[]){
    int [] array = new int[10];
    for ( int i = 0 ; i < array.length ; i++ ) {
        array[i] = ((int)(Math.random()*100+1));
        }
    Arrays.sort( array );
    for ( int i = 0 ; i < array.length ; i++ ) {
        System.out.println(array[i]);
        }
  } 
}
公共类排序{
公共静态void main(字符串参数[]){
int[]数组=新的int[10];
for(int i=0;i
它工作得很好,然后我试着把它放在函数中,并从主函数调用它

public class Sort {
    public void Implement () {
     int [] array = new int[10];
        for ( int i = 0 ; i < array.length ; i++ ) {
            array[i] = ((int)(Math.random()*100+1));
            }
    Arrays.sort( array );
    }
}
   public static void main(String[] args){
        Sort s = new Sort();
        s.Implement (array);
        for (int i = 0 ; i < array.length ; i++) {
            System.out.println(array[i]);
        }
    }
公共类排序{
公共无效工具(){
int[]数组=新的int[10];
for(int i=0;i

然后,尽管for循环是正确的,但所有错误都会出现在for循环中,这里的问题是什么?
Implement()
method的签名(形式参数)在其定义中是
void
。但是,您正在尝试将一个实际参数传递给
main()
中的方法,该参数在示例中是
array
。这就是为什么会出现编译时错误。

问题在于使用
s.Implement(array)

以下是代码中的错误:

  • Sort.Implement()
    不需要任何参数,但您正在传递一个参数
  • 在线
    s.Implement(数组),您尚未创建变量
    数组
    。但是你在这一行和后一行中使用它
下面是一个正确的工作示例。请看:

类排序
{
公共int[]实现(){
int[]数组=新的int[10];
for(int i=0;i

备注:根据您的代码和使用的方法,您似乎是编程新手。所以先花点时间来理解概念

您需要将
array
变量从
main
传递到
s.implement(array)
或者从
s.implement
返回它,我在写这行的s.implement(array)时以为我传递了它;'确实存在,但是
数组
变量本身不存在于
范围中,因此需要声明它
class Sort 
{
    public int[] Implement () {
        int [] array = new int[10];
        for ( int i = 0 ; i < array.length ; i++ ) {
            array[i] = ((int)(Math.random()*100+1));
        }
        Arrays.sort( array );

        return array;
    }
}

class Test
{
   public static void main(String[] args){
        Sort s = new Sort();
        int[] array = s.Implement ();
        for (int i = 0 ; i < array.length ; i++) {
            System.out.println(array[i]);
        }
    }
}