获取错误:需要数组,但找到了String。 我检查并重新检查,但发现我的代码没有任何问题。出了什么问题? 一年前我已经介绍过java,但只有当我开始研究开发图书馆管理系统的项目时,才意识到我的知识存在严重缺陷。
import java.util.Scanner;
public class library{
book[] bk = new book[5];
public static void main(String[] args){
Scanner input = new Scanner(System.in);
library mainObj = new library();
mainObj.addBooks();
}
public void addBooks(){
Scanner input = new Scanner(System.in);
System.out.print("Book Name: ");
String bk = input.nextLine();
System.out.print("Author Name: ");
String aun = input.nextLine();
System.out.print("Id: ");
String i = input.nextLine();
bk[book.getTotalBookCount()] = new book(bk, aun, i);
}
}
class book{
String name;
String authorName;
String id;
static int totalBookCount = 0;
book(String bkn, String aun, String i){
name = bkn;
authorName = aun;
id = i;
totalBookCount++;
System.out.println("Book Added!! ");
}
}
答案 0 :(得分:2)
String bk = input.nextLine();
您正在使用该变量隐藏book[] bk
。要么更改其中一个的名称,要么改为使用它。
this.bk [book.getTotalBookCount()] =新书(bk,aun,i);
答案 1 :(得分:1)
您正在使用bk
变量两次。一旦在顶部同时在第三行声明数组book[] bk = new book[5];
和一次在 addBooks函数 String bk = input.nextLine();
中。
答案 2 :(得分:1)
您已经为两种不同的类型使用了is_numeric()
两次,一种用于书籍数组,另一种用于字符串。在这些类型的碰撞中,本地类型具有优先权,
bk