我是编程的初学者。我知道为什么我在int result merge(list1)中得到此错误...,但我不知道如何修复此错误。我确实在这里查看了一些与此错误相关的问题,但我仍感到困惑。我不希望任何人为我编写代码,但我会很感激一些解释。谢谢。
public int merge(int list1){
try{
int count = 0;
for(int i= 0; i < 2; i++){
count++;
Scanner keyboard = new Scanner(System.in);
System.out.println("Please input the name of the file to be opened for " + count + " list: ");
String filename = keyboard.nextLine();
File file = new File(filename);
Scanner inputFile = new Scanner(file);
System.out.print("The list " + count + " is: " );
while(inputFile.hasNext()){
if(!inputFile.hasNextInt()){
String ss = inputFile.next();
}else{
int length = 1;
list1 = inputFile.nextInt();
System.out.print(list1 + " ");
}
}
System.out.println();
}
int result = merge(list1).insertEnd(list1);
} catch (Exception e) {
System.out.println("could not find the file");
}
return result;
}
答案 0 :(得分:2)
在表达式merge(list1).insertEnd(list1);
中,merge(list1)
的类型为int
,因为这是merge
方法的返回类型。
在int
类型的此表达式上,您尝试调用insertEnd
方法,该方法无效,因为int
是基本类型且没有此类方法。
您的错误消息“无法解除引用”说明int
不是引用类型(它是一个int,它是原始类型),所以它不能被“取消引用”(意思是,你不能按照它的指针在内存中找到你可以调用insertEnd
方法的实例)