Java 如何将用户输入添加到数组中
这是父类Java 如何将用户输入添加到数组中,java,arrays,inheritance,user-input,Java,Arrays,Inheritance,User Input,这是父类 public class Holding { private String holdingId, title; private int defaultLoanFee, maxLoanPeriod, calculateLateFee; public Holding(String holdingId, String title){ this.holdingId = holdingId; this.title = title; } public String getI
public class Holding {
private String holdingId, title;
private int defaultLoanFee, maxLoanPeriod, calculateLateFee;
public Holding(String holdingId, String title){
this.holdingId = holdingId;
this.title = title;
}
public String getId(){
return this.holdingId;
}
public String getTitle(){
return this.title;
}
public int getDefaultLoanFee(){
return this.defaultLoanFee;
}
public int getMaxLoanPeriod(){
return this.maxLoanPeriod;
}
public void print(){
System.out.println("Title: " + getTitle());
System.out.println("ID: " + getId());
System.out.println("Loan Fee: " + getDefaultLoanFee());
System.out.println("Max Loan Period: " + getMaxLoanPeriod());
}
}
这是子类:
public class Book extends Holding{
private String holdingId, title;
private final int defaultLoanFee = 10;
private final int maxLoanPeriod = 28;
public Book(String holdingId, String title){
super(holdingId, title);
}
public String getHoldingId() {
return holdingId;
}
public String getTitle(){
return title;
}
public int getDefautLoanFee(){
return defaultLoanFee;
}
public int getMaxLoanPeriod(){
return maxLoanPeriod;
}
public void print(){
System.out.println("Title: " + getTitle());
System.out.println("ID: " + getHoldingId());
System.out.println("Loan Fee: " + getDefaultLoanFee());
System.out.println("Max Loan Period: " + getMaxLoanPeriod());
}
}
这是菜单:
public class LibraryMenu {
static Holding[]holding = new Holding[15];
static int hold = 0;
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int options = keyboard.nextInt();
do{
}
System.out.println();
System.out.println("Library Management System");
System.out.println("1. Add Holding");
System.out.println("2. Remove Holding");
switch(options){
case 1:
addHolding();
break;
default:
System.out.println("Please enter the following options");
}
}while(options == 13);
System.out.println("Thank you");
}
public static void addHolding(){
System.out.println("1. Book");
System.out.println("2. Video");
int input1 = input.nextInt();
switch(input1){
case 1:
addBook();
break;
case 2:
addVideo();
break;
default:
System.out.println("Please select the following options");
break;
}
}
public static void addBook(){
}
}
我想要的是,当用户想要添加一本书时,用户将键入该书的标题和id,并将其保存到数组中,完成后,它将返回菜单。用我的知识目前似乎做不到。
我尝试在addBook()方法中执行此操作
setBook方法将在Book类中,为了完成setBook,我必须为所有get方法创建set方法。但当我这样做时,构造函数是未定义的
public void setBook(){
System.out.println("Title: " + setTitle());
System.out.println("ID: " + setHoldingId());
System.out.println("Loan fee: " + setDefaultLoanFee());
System.out.println("Max Loan Period: " + setMaxLoanPeriod());
}
如果我的代码有什么问题,请随时告诉我:D
谢谢
编辑:用户添加书籍或视频后,当用户想要打印所有收藏时,会显示标题、id、借阅费和最长借阅期。我该怎么做
编辑2:清理一些我的问题不需要的部分我建议你使用“对象列表”的概念来处理它 1) 例如,您可以定义图书对象列表
List<Book> bookList = new ArrayList<Book>();
3) 然后,您可以根据自己的喜好使用该列表,是将它们存储到基于.txt的数据库中,还是在整个程序中使用它们。用法示例:
bookList.get(theDesiredIndex).getBook() ...
我不完全确定您想要什么,但在关注您的粗体文本后,这就是我对您案例的理解。如果不符合您的要求,请随时纠正我。
希望有帮助:)我建议您使用“对象列表”概念来处理它 1) 例如,您可以定义图书对象列表
List<Book> bookList = new ArrayList<Book>();
3) 然后,您可以根据自己的喜好使用该列表,是将它们存储到基于.txt的数据库中,还是在整个程序中使用它们。用法示例:
bookList.get(theDesiredIndex).getBook() ...
我不完全确定您想要什么,但在关注您的粗体文本后,这就是我对您案例的理解。如果不符合您的要求,请随时纠正我。
希望能有所帮助:)给我们提供与问题相关的最少代码量,而不是全部内容这不是全部内容,我想是的relevant@HelpwAssignments我可能不会让它成为一个静态数组,而是一个ArrayList,这样您就可以使用该语言在向ArrayList添加更多项时让它增长。创建一个声明大小的传统数组将大小设置为静态大小。例如int[5]={1,2,3,4,5};如果在ArrayList中使用原语,只需使用包装器类将它们放入ArrayList中即可。例如,对于int,您可以使用Integer。@Dale我只有15个限制,所以我不需要创建ArrayList,但是可以为ArrayList创建限制吗?我不明白你说的“创建一个传统的数组,在其中声明大小将大小设置为静态大小”给了我们与问题相关的最少代码量,而不是全部这不是全部,我想是的relevant@HelpwAssignments我可能不会让它成为一个静态数组,而是一个ArrayList,这样您就可以使用该语言在向ArrayList添加更多项时让它增长。创建一个声明大小的传统数组将大小设置为静态大小。例如int[5]={1,2,3,4,5};如果在ArrayList中使用原语,只需使用包装器类将它们放入ArrayList中即可。例如,对于int,您可以使用Integer。@Dale我只有15个限制,所以我不需要创建ArrayList,但是可以为ArrayList创建限制吗?当你说“创建一个传统的数组,在其中声明大小将大小设置为静态大小”时,我不明白。谢谢你的帮助:D一个问题,我如何让用户输入标题和ID等详细信息?因此,当涉及addBook()方法时,用户将输入详细信息,如
System.out.println(“Title:”)
System.out,println(“ID:”)
然后用户将输入书籍的名称和id。
我是否只需在每个输出下添加类似于
String title=input.next()的内容?我想您可以使用您已经使用的内容?这些扫描器功能,将用户输入存储到一个临时变量中,然后将它们放入参数中,就像我在第2点中写的那样-。。。别担心,我没有读到这本书上面的评论,你睁开了我的眼睛,哈哈。。别担心。希望有帮助;)如果你能勾选我的答案的话,我将不胜感激。哈哈。谢谢你的帮助:D一个问题,我如何让用户输入像标题和ID这样的详细信息?因此,当涉及addBook()方法时,用户将输入详细信息,如
System.out.println(“Title:”)
System.out,println(“ID:”)
然后用户将输入书籍的名称和id。
我是否只需在每个输出下添加类似于
String title=input.next()的内容?我想您可以使用您已经使用的内容?这些扫描器功能,将用户输入存储到一个临时变量中,然后将它们放入参数中,就像我在第2点中写的那样-。。。别担心,我没有读到这本书上面的评论,你睁开了我的眼睛,哈哈。。别担心。希望有帮助;)如果你能勾选我的答案,如果它能达到目的的话,我将不胜感激哈哈。。