gpt4 book ai didi

java - 如何从另一种方法访问数组中的元素?

转载 作者:行者123 更新时间:2023-12-01 08:14:32 25 4
gpt4 key购买 nike

我正在尝试用一种方法实现一种算法,该方法接受两个 studentlist 类型的列表,并且我需要从构造函数 studentList 访问该数组获取要在列表之间进行比较的大小和学生人数。

例如

for (int i = 0; i < L1.studentID.length-1; i++) {
for (int j = 0; j < L2.studentID.length-1; j++) {
if (L1.studentID[i] = L2.studentID[j]) {
num++; }}}

大多数构造函数,不包括用于访问文件中的列表而不是随机生成的第二个构造函数:

studentID=new int[size];
boolean[] usedID=new boolean[IDrange];
for (int i=0;i<IDrange;i++) usedID[i]=false;
for (int i=0;i<size;i++) {
int t;
do {
t=(int)(Math.random()*IDrange);
} while (usedID[t]);
usedID[t]=true;
studentID[i]=t; }

大小(list.studentID.length或者我可以使用内置的list.numberOfStudents)看起来不错,但我在获取数组本身的元素时遇到了麻烦。我想我可以做 list.studentID[i] 但我得到一个“类型不匹配:无法从 int 转换为 boolean”。

有什么想法吗?

最佳答案

您的问题在这里:

if (L1.studentID[i] = L2.studentID[j]) 

您将 L2.studentID[j] 归因于 L1.studentID[i],然后传递 L1.studentID[i] 的值]if

java 中的 if 明确需要一个 boolean 值。

你要么想做:

if (L1.studentID[i] == L2.studentID[j])

if ((L1.studentID[i] = L2.studentID[j])!=0)

您当前拥有的代码与执行的代码相同:

L1.studentID[i] = L2.studentID[j];
if (L1.studentID[i]){ <-- this won't work because L1.studentID[i] is an int and the if expects a boolean
...

关于java - 如何从另一种方法访问数组中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14524518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com