【发布时间】:2018-11-16 20:14:20
【问题描述】:
public static void delete(char[] qa, int[] aa, int[] bb) {
if(front == -1 || front > rear) {
System.out.println("Queue Underflow ");
return;
} else {
//printf("Element deleted from queue is : %c\n", queue_array[front]);
qa[0] = queueArray[front]; //to stoixeio pou deleted
aa[0] = queueArray2[front2]; // x syntetagmenh del elem
bb[0] = queueArray3[front3]; // y coordinate of del elem
// *timegg=timeg;
front = front + 1;
front2 = front2 + 1;
front3 = front3 + 1;
}
}
我创建了上述函数,因为我希望它返回这 3 个值,qa、aa、bb。当我尝试将其称为delete(qa, aa, bb); 时,我得到:
method delete cannot applied to given types
required char[], int[], int[]
found char, int, int
reason actual and formal argument lists differ in lenght
调用这个函数的正确和适当的方法是什么?我认为我写的是对的,因为 java 中的所有内容都是参考。 我是 java 新手,所以也许我的概念完全错误。
【问题讨论】:
-
注意,
char和int变量在 Java 中不是引用。 -
我什至尝试过字符和整数。还是错了?
-
来源不匹配错误:
char[], int[], int[], int[]。你的有 3 个 args 而不是 4 个,所以它似乎会选择不同的delete... -
创建一个类 Result - 使用 1 个 char 和 2 个 int 作为属性,创建 get/set,当您从队列/数组中获取值时,创建“Result”的新实例的实例那些值并返回那个实例,你在 fn 签名中的返回类型应该是“结果”——它有很多问题,我不知道从哪里开始......但我上面所说的至少应该使代码工作并且允许您通过 Result 类传递/访问 3 个变量 - 忘记代码,只需输入正确的 req。我们将为它提供更合理的代码。
标签: java function reference call