【问题标题】:Java Pass array to a method in another classJava将数组传递给另一个类中的方法
【发布时间】:2022-01-16 12:40:25
【问题描述】:
package arrays2;

public class GebruikGetallenRij {

public static void main(String[] args) {

int aantal = 5;
GetallenRij gr1 = new GetallenRij(aantal);      
GetallenRij gr2 = new GetallenRij(aantal);   

System.out.println("Geef " + aantal + " getallen in: ");
gr1.leesRij();
    
System.out.println("Geef " + aantal + " getallen in: ");
gr2.leesRij();

boolean controle = gr1.vergelijk(gr2);

if (controle) System.out.println("De 2 rijen zijn gelijk");
else System.out.println("De 2 rijen zijn NIET gelijk");
}

}

其他类

package arrays2;
import java.util.Scanner;

public class GetallenRij {
private int [] rij;

public GetallenRij (int grootte) {
    rij = new int [grootte];
    }

public void leesRij() {
    Scanner sc = new Scanner(System.in);
    for (int i = 0; i < rij.length;i++) {
        rij[i] = sc.nextInt();
    }
}

public boolean vergelijk(int [] rijB) {
    boolean vgl = true;
    if (rij.length != rijB.length) {
        return false;
    }
    else {
        int i = 0;
        while (i < rij.length && vgl) {
        if(rij[i] != rijB[i]) vgl = false;
        i++;
    }
    }
        
    if (vgl) return true;
    else return false;
}


    
}

该程序的想法是创建 2 个数组对象,写入值并比较它们。但是我无法将第二个数组 gr2 传递给比较数组的方法(public boolean vergelijk(int [] rijB)。我收到以下错误:

线程“main”java.lang.Error 中的异常:未解决的编译问题: GetallenRij 类型中的方法vergelijk() 不适用于arrays2.GebruikGetallenRij.main(GebruikGetallenRij.java:18) 处的参数(GetallenRij)

我该如何解决这个错误?

【问题讨论】:

  • 也许你想要gr1.vergelijk(gr2.rij);

标签: java arrays


【解决方案1】:

您正在尝试将 GetallenRij 对象传递给需要 int[] 的方法,这会导致编译错误。

更改方法以接受 GetallenRij 并将其 rij 分配给局部变量 int [] rijB,其余代码保持原样:

public boolean vergelijk(GetallenRij getallenRij) {
    int [] rijB = getallenRij.rij;
    // rest of code same as before
}

当你在那里时,改变:

if (vgl) return true;
else return false;

到:

return vgl;

【讨论】:

猜你喜欢
  • 2021-04-12
  • 2017-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
  • 2011-03-27
  • 2014-01-05
  • 1970-01-01
相关资源
最近更新 更多