【问题标题】:How to store in array of 60 position string and int [closed]如何存储在 60 个位置字符串和 int 的数组中 [关闭]
【发布时间】:2014-04-30 12:07:51
【问题描述】:

我想制作一个图书馆系统,它的菜单如下:

1.) 添加新书
2.) 编辑一本书
3.) 从 ISBN 中搜索一本书
4.) 显示所有书籍
5.) 从 ISBN 中删除一本书
6.) 退出

为了保存书籍,我必须使用包含 60 个保存的数组。这本书将有:
1)Isbn(字符串)
2)名称(字符串)
3)作者(字符串)
4)书籍数量(int)

到目前为止,我已经做到了..


//This goes above your class declaration, this is importing the Scanner class.
import java.lang.reflect.Array;
import java.lang.Object.*;
import java.util.Scanner;
import java.util.Arrays;




public class BookLibrary {

public static void main (String[] args)
{

     // allocates memory for 60 slots
    String[] book_array;

    //Program keeps running till this condition updates. Only updates
    //if the user "chooses" quit option.
    boolean keepRunning = true;
    //User choice from the menu is stored here.
    int userChoice = 0;




    Scanner keyboard = new Scanner(System.in);

     while (true) 
     { 
     //your code here 
    System.out.println("");
    System.out.println(""); 
    System.out.println("Choose:");

    System.out.println("1:Add a new Book");
    System.out.println("2:Edit Book Infos");
    System.out.println("3:Search a Book (From ISBN)");
    System.out.println("4:Show all the Books");
    System.out.println("5:Delete a Book (From ISBN)");
    System.out.println("6:Exit");


     int  choose = keyboard.nextInt();

    if (choose == 1)
    {
        System.out.println("You Choose to Add a New Book1 ");
        String zero = keyboard.nextLine();
        System.out.println("Book Name:");
        String book = keyboard.nextLine();
        System.out.println("Author:");
        String author = keyboard.nextLine();
        System.out.println("ISBN:");
        String isbn = keyboard.nextLine();
        System.out.println("# of Books:");
        int numbooks = keyboard.nextInt();
        System.out.println("");
        System.out.println("");



        String bookinfo = book + "    ," + author + "    ," + isbn;

        //String[] splits = bookinfo.split(",");

       System.out.println(bookinfo);
       System.out.println("Name of Book  |   " + "Author   |   " + "ISBN");
      // System.out.println(splits[0] +" | "+ splits[1] +" | "+ splits[2]);



    }
    else
        if (choose == 2)
        {
            System.out.println("You Choose to Edit an existing  Book ");
            String zero = keyboard.nextLine();

        }
        else
            if (choose == 3)
            {
                System.out.println("You Choose to Search a  Book ");
                String zero = keyboard.nextLine();

            }
            else
                if (choose == 4)
                {
                    System.out.println("You Choose to  view all       the Books  ");
                    String zero = keyboard.nextLine();

                }
                else
                    if (choose == 5)
                    {
                        System.out.println("You Choose to Delete a Book ");
                        String zero = keyboard.nextLine();
                    }
                    else
                        if(choose == 6)
                        {
                            System.out.println("Library System Terminated!!! ");
                            String zero = keyboard.nextLine();
                            System.exit(0);
                        }
                        else
                        {
                            System.out.println("Wrong Choice");
                        }
    }
}

}

你能帮忙吗?

【问题讨论】:

  • 创建一个 Book 类,该类将保存 1)Isbn (string) 2)Name (string) 3)author(string) 4)Books Number (int)然后在你的程序中创建一个Book 数组。

标签: java arrays


【解决方案1】:
String[] book_array = new String[60];

我不确定我是否理解您的问题。

更好的方法: 只需使用 Book 类型的数组或列表:

Book[] books = new Book[60];

虽然您的 Book 类型有这些:

public class Book {

  private String isbn;
  private String name;
  private String author;
  private int number;

  // getters and setters

}

【讨论】:

    【解决方案2】:

    使用面向对象的编程概念。创建一个具有 ISBN、名称、作者和图书编号作为属性的 Book 对象。创建图书类型列表。

    试试这个:这是书的类和构造函数

        public class Books
        {
         private String ISBN;
         private String Name;
         private String Author;
         private int NoofBooks;
        }
    
        public Books(String isbn,String name, string author, int noofbooks)
        {
        this.ISBN = isbn;
        this.Name = name;
        this.Author = author;
        this.NoofBooks = noofbooks;
        }
    

    这里是你的代码修改:

       List<Book> books = new ArrayList<Book>();
    
       if (choose == 1)
        {
        System.out.println("You Choose to Add a New Book1 ");
        String zero = keyboard.nextLine();
        System.out.println("Book Name:");
        String book = keyboard.nextLine();
        System.out.println("Author:");
        String author = keyboard.nextLine();
        System.out.println("ISBN:");
        String isbn = keyboard.nextLine();
        System.out.println("# of Books:");
        int numbooks = keyboard.nextInt();
        System.out.println("");
        System.out.println("");
    
    
    
        String bookinfo = book + "    ," + author + "    ," + isbn;
    
        books.add(new Books(isbn,book,author,numbooks); // u can keep on adding books
    
        }
    

    【讨论】:

      猜你喜欢
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      相关资源
      最近更新 更多