在学习上出了点问题

aa14963944 2016-04-15 09:06:36
主类:

System.out.println("请输入书名:");
String bookname = sc.next();

System.out.println("请输入作者:");
String author = sc.next();

System.out.println("请输入出版社:");
String publisher = sc.next();

System.out.println("请输入单价:");
double price = sc.nextDouble();

System.out.println("请输入数量:");
int Num = sc.nextInt();

Book book=new Book(bookname, author, publisher, Num, price);
Book.In++;
System.out.println("增加的图书信息:");
Book.information();//
工具类 Book:
public static void information(){
Book B=bookList.get(In);
System.out.println("*****************给力图书**********************");
System.out.println("\t 书名: "+B.getBookname());
System.out.println("\t 作者: "+B.getAuthor());
System.out.println("\t 出版社: "+B.getPublisher());
System.out.println("\t 单价: "+B.getPrice());
System.out.println("\t 数量: "+B.getNum());
System.out.println("*****************给力图书**********************");
}
Book.information 输不出来 是什么问题?
...全文
206 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
javaee3 2016-04-16
  • 打赏
  • 举报
回复
手动改了下你的代码,感觉有点乱····,我也是个新手····· 你的最后输出:Book.information();//Book貌似要改成小写book,0-0有可能改后还是不对···· 我写下了你的这个: import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Book { private String bookname; private String author; private String publisher; private int Num=0; private double price=0; private int p; public String getBookname() { return bookname; } public void setBookname(String bookname) { this.bookname = bookname; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getPublisher() { return publisher; } public void setPublisher(String publisher) { this.publisher = publisher; } public int getNum() { return Num; } public void setNum(int num) { Num = num; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getP() { return p; } public void setP(int p) { this.p = p; } public void information(Book book)//输出在控制台的方法 { List<Book> bookList= new ArrayList<Book>(); bookList.add(book); for(int i =0;i<=bookList.size()-1;i++) { Book B = bookList.get(i); System.out.println("*****************给力图书**********************"); System.out.println("\t 书名: "+B.getBookname()); System.out.println("\t 作者: "+B.getAuthor()); System.out.println("\t 出版社: "+B.getPublisher()); System.out.println("\t 单价: "+B.getPrice()); System.out.println("\t 数量: "+B.getNum()); } } public static void main(String[] args) { System.out.println("****请选择您需要的操作****"); System.out.println("**** 1.图书添加 ****"); System.out.println("**** 2.图书删除 ****"); System.out.println("**** 3.图书修改 ****"); System.out.println("**** 4.图书记录****"); System.out.println("**** 5.返回上级菜单 ****"); System.out.println("**** 6.退出系统 ****"); Scanner sc = new Scanner(System.in); System.out.print("请输入你要的操作:"); int in=sc.nextInt(); switch(in) { case 1: do { Book book=new Book();//设置书的相关信息,书名,作者,出版社,单价,数量 System.out.println("请输入书名:"); book.setBookname(sc.next()); System.out.println("请输入作者:"); book.setAuthor(sc.next()); System.out.println("请输入出版社:"); book.setPublisher(sc.next()); System.out.println("请输入单价:"); book.setPrice(sc.nextDouble()); System.out.println("请输入数量:"); book.setP(sc.nextInt()); System.out.println("增加的图书信息:"); book.information(book);//调用输出在控制台的方法 }while(true); } } }
HerveyHall 2016-04-16
  • 打赏
  • 举报
回复
应该是因为木有把Book对象添加到BookList中
 
            //...
  	      Book book=new Book(bookname, author, publisher, Num, price);
              BookList.getBookList().addBook(book);//加上这句
        	Book.In++;
        	System.out.println("增加的图书信息:");
        	Book.information();
            //...
纵一苇也 2016-04-16
  • 打赏
  • 举报
回复
艾玛,我都看不懂你的程序,怎么没有注释啊,格式又乱。
aa14963944 2016-04-16
  • 打赏
  • 举报
回复
6楼 我把你的加进去了 报错
  • 打赏
  • 举报
回复
booklist在哪赋值的,还有你那个In哪来的,建议把代码贴全一点
家里敷泥呀 2016-04-15
  • 打赏
  • 举报
回复
Book B=bookList.get(In); // 这句话不报角标越界?
绿树苍天 2016-04-15
  • 打赏
  • 举报
回复
主程序里面没看到你把book加到bookList里面
Stluny 2016-04-15
  • 打赏
  • 举报
回复
然而 问题是什么
aa14963944 2016-04-15
  • 打赏
  • 举报
回复
Book类 import java.util.ArrayList; import java.util.Scanner; public class Book { private static String bookname; private static String author; private static String publisher; private static int Num=0; private static double price=0; private int p; public static ArrayList<Book> bookList= new ArrayList<Book>(); public static int In=0; public int getP() { return p; } public String getBookname() { return bookname; } public String getPublisher() { return publisher; } public int getNum() { return Num; } public double getPrice() { return price; } public String getAuthor() { return author; } public Book(String bookname,String author,String publisher,int Num,double price){ this.bookname=bookname; this.author=author; this.publisher=publisher; this.Num=Num; this.price=price; } public static void information(){ Book B=bookList.get(In); System.out.println("*****************给力图书**********************"); System.out.println("\t 书名: "+B.getBookname()); System.out.println("\t 作者: "+B.getAuthor()); System.out.println("\t 出版社: "+B.getPublisher()); System.out.println("\t 单价: "+B.getPrice()); System.out.println("\t 数量: "+B.getNum()); System.out.println("*****************给力图书**********************"); } public void setBookname(String bookname) { this.bookname = bookname; } public void setPublisher(String publisher) { this.publisher = publisher; } public void setNum(int num) { Num = num; } public void setPrice(double price) { this.price = price; } public void setAuthor(String author) { this.author = author; } public void setP(int p) { this.p = p; } public static void setBookList(ArrayList<Book> bookList) { Book.bookList = bookList; } public static ArrayList<Book> getBookList() { return bookList; } public void addBook(Book book){ bookList.add(book); } } 主类 System.out.println("****请选择您需要的操作****"); System.out.println("**** 1.图书添加 ****"); System.out.println("**** 2.图书删除 ****"); System.out.println("**** 3.图书修改 ****"); System.out.println("**** 4.图书记录****"); System.out.println("**** 5.返回上级菜单 ****"); System.out.println("**** 6.退出系统 ****"); int in=sc.nextInt(); switch(in){ case 1: do{ System.out.println("请输入书名:"); String bookname = sc.next(); System.out.println("请输入作者:"); String author = sc.next(); System.out.println("请输入出版社:"); String publisher = sc.next(); System.out.println("请输入单价:"); double price = sc.nextDouble(); System.out.println("请输入数量:"); int Num = sc.nextInt(); Book book=new Book(bookname, author, publisher, Num, price); Book.In++; System.out.println("增加的图书信息:"); Book.information(); Book.information()显示不出来

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧