「书本叠放问题java」叠放的书本
本篇文章给大家谈谈书本叠放问题java,以及叠放的书本对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、用JAVA写一个程序 把bookList中的书按从上到下的顺序分发给tablelist * 直到分发完毕。
- 2、java问题?
- 3、请教大家一个java的编程问题。
- 4、图书管理系统用java语言 1:输入5本书 书名,书号,价格 2:计算书的总价格,平均价格 3
- 5、java程序小问题
- 6、书店里有甲、乙两种书,甲种书厚12毫米,乙种书厚15毫米,将两种书叠放在起来,当两种书
用JAVA写一个程序 把bookList中的书按从上到下的顺序分发给tablelist * 直到分发完毕。
import java.util.ArrayList;
import java.util.List;
public class Test101 {
/**
* @param args
*/
public static void main(String[] args) {
final int BOOK_NUM = 10;
ListBook boolList = new ArrayListBook();
//创建10本书,并放入boolList中
for(int i =0; i BOOK_NUM; i++){
Book book = new Book("课本 "+ (i+1));
boolList.add(book);
System.out.println("已经向boolList中加入:《"+book.getName()+" 》");
}
ListBook tableList = new ArrayListBook();
for(int i =BOOK_NUM - 1; i 0; i--){
Book book = boolList.get(i);
tableList.add(book);
System.out.println("已经把boolList中的书:《"+book.getName()+" 》放入到tableList中了");
}
}
}
class Book{
private String name;
public Book(String name){
this.name = name;
}
public Book(){
}
public String getName(){
return name;
}
public void setName(){
this.name = name;
}
}
java问题?
哎,错误真多啊,有什么不兼容的类型、打括号也不对
下面是正确的
public class Book{
String bookname;//该变量存储书名
String authorname;//该变量存储作者名字
int nopages;//该变量存储书本的页数
boolean available;//该变量存储书本可用性的布尔值
Book(String book,String author,int pages,boolean status){
bookname=book;
authorname=author;
nopages=pages;
available=status;
}
boolean isAvailable(){
if(available){
System.out.println("有这本书");
return true;
}else{
System.out.println("is not this book ");
return false;
}
}
public static void main(String[] args){
Book objBook=new Book("CoreJava","Albert",45,true);
User objUser =new User();
objUser.getBookStatus(objBook);
}
}
class User{
void getBookStatus (Book objBook){
objBook.isAvailable();
}
}
请教大家一个java的编程问题。
//LMS.java
//所有类写在一个文件内,请将以下内容保存成 LMS.java,编译运行即可,GUI版
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.Border;
public class LMS {
public static void main(String[] args){
try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){}
new LibraryGUI(new Library()).setVisible(true);
}
}
//书籍类
class Book implements ComparableBook{
private String name;//书名
private String publisher;//出版社
private Author au;//作者
private String sn;//书号
public Book(String name,String sn,String publisher,Author au){
this.name=name;this.sn=sn;this.publisher=publisher;this.au=au;
}
public String getName(){ return name; }
public String getPublisher(){ return publisher; }
public String getSerialNumber(){ return sn; }
public Author getAuthor(){ return au; }
public boolean equals(Object o){ return o instanceof Book ((Book)o).sn.equals(sn); }
public String toString(){ return "书名:"+name+" 书号:"+sn+" 作者:"+au+" 出版社:"+publisher; }
//排序优先顺序:书名,作者,出版社,书号是唯一的,所以不作排序项目
public int compareTo(Book b) {
if(b.name.equals(name))
if(b.au.equals(au))
return b.publisher.compareTo(this.publisher);
else return b.au.getName().compareTo(au.getName());
else return b.name.compareTo(name);
}
}
//作者类
class Author{
private String name;
private String phone;
private String addr;
public Author(String name,String phone,String addr){
this.name=name;this.phone=phone;this.addr=addr;
}
public String getName(){ return name; }
public String getPhone(){ return phone; }
public String getAddr(){ return addr; }
public String getFullInfo(){ return "Name:"+name+" Phone:"+phone+" Addr:"+addr; }
public String toString(){ return name; }
}
//图书库类
class Library{
//存放书籍的容器
private ListBook lib = new ArrayListBook();
//加入图书
public void addBook(Book b){ lib.add(b); }
//删除图书
public void removeBook(Book b){ lib.remove(b); }
//取得全部图书
public ListBook getAllBooks(){ return lib; }
//根据条件查询图书,书名模糊查找,书号和作者精确查找
public ListBook query(String bookName, String bookSN, String bookAu) {
ListBook tmp = new ArrayListBook();
if(bookName.isEmpty())
for(int i=0; ilib.size(); i++)
tmp.add(lib.get(i));
else
for(int i=0; ilib.size(); i++)
if(lib.get(i).getName().indexOf(bookName)-1)
tmp.add(lib.get(i));
if(!bookSN.isEmpty())
for(int i=0; itmp.size(); i++)
if(! (tmp.get(i).getSerialNumber().equals(bookSN))){
tmp.remove(i);
--i;
}
if(!bookAu.isEmpty())
for(int i=0; itmp.size(); i++)
if(!(tmp.get(i).getAuthor().getName().equals(bookAu))){
tmp.remove(i);
--i;
}
return tmp;
}
}
//GUI部分
class LibraryGUI extends JFrame implements ActionListener{
private JTextField bname,bpub,bsn,bauname,bauaddr,bauphone;
private JTextField qbname,qbsn,qauname;
private JPanel north,addp,add1,add2,quep,disp,mainp;
private JButton addb,queb,del;
private Library lib;
private JScrollPane jsp;
private Box box;
LibraryGUI(Library lib){
super("图书XX系统");
this.lib=lib;
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());
this.setSize(740,600);
this.setLocationRelativeTo(null);
//新增面板
addp=new JPanel(new GridLayout(2,1));
add1=new JPanel(new FlowLayout(FlowLayout.LEFT));
add2=new JPanel(new FlowLayout(FlowLayout.LEFT));
addp.add(add1);addp.add(add2);
addp.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(10,10,10,10),BorderFactory.createLineBorder(Color.LIGHT_GRAY)));
JLabel l;
l=new JLabel("书名:");
add1.add(l);
bname=new JTextField(16);
add1.add(bname);
l=new JLabel(" 书号:");
add1.add(l);
bsn=new JTextField(20);
add1.add(bsn);
l=new JLabel(" 出版社:");
add1.add(l);
bpub=new JTextField(30);
add1.add(bpub);
l=new JLabel("作者:");
add2.add(l);
bauname=new JTextField(16);
add2.add(bauname);
l=new JLabel(" 电话:");
add2.add(l);
bauphone=new JTextField(20);
add2.add(bauphone);
l=new JLabel(" 住址:");
add2.add(l);
bauaddr=new JTextField(46);
add2.add(bauaddr);
add1.add(new JLabel(" "));
addb=new JButton(" 新 增 ");
add1.add(addb);
addb.addActionListener(this);
//查询面板
quep=new JPanel(new FlowLayout(FlowLayout.LEFT));
quep.setBorder(addp.getBorder());
l=new JLabel("书名:");
quep.add(l);
qbname=new JTextField(16);
quep.add(qbname);
l=new JLabel(" 书号:");
quep.add(l);
qbsn=new JTextField(20);
quep.add(qbsn);
l=new JLabel(" 作者:");
quep.add(l);
qauname=new JTextField(16);
quep.add(qauname);
quep.add(new JLabel(" "));
queb=new JButton(" 查 询 ");
quep.add(queb);
queb.addActionListener(this);
del=new JButton(" 删 除 ");
quep.add(del);
del.addActionListener(this);
//
north=new JPanel(new BorderLayout());
north.add(addp,BorderLayout.NORTH);
north.add(quep,BorderLayout.SOUTH);
this.getContentPane().add(north,BorderLayout.NORTH);
//显示面板
disp=new JPanel(new BorderLayout());
disp.setBorder(addp.getBorder());
this.getContentPane().add(disp);
mainp=new JPanel(new BorderLayout());
mainp.setBackground(Color.white);
box=Box.createVerticalBox();
mainp.add(box,BorderLayout.NORTH);
jsp=new JScrollPane(mainp,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
disp.add(jsp);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==addb)
createNewBook();
else if(e.getSource()==queb)
queryBook();
else if(e.getSource()==del)
removeBook();
}
private void removeBook() {
String bn=qbname.getText().trim();
String bsn=qbsn.getText().trim();
String baun=qauname.getText().trim();
if(bn.isEmpty()bsn.isEmpty()baun.isEmpty())
return;
ListBook bks = lib.query(bn,bsn,baun);
for(int i=0; ibks.size(); i++)
lib.removeBook(bks.get(i));
display(lib.getAllBooks());
}
private void queryBook() {
String bn=qbname.getText().trim();
String bsn=qbsn.getText().trim();
String baun=qauname.getText().trim();
display(lib.query(bn,bsn,baun));
}
private void createNewBook() {
Author au = new Author(bauname.getText().trim(),bauphone.getText().trim(),bauaddr.getText().trim());
Book bk = new Book(bname.getText().trim(),bsn.getText().trim(),bpub.getText().trim(),au);
lib.addBook(bk);
display(lib.getAllBooks());
}
private void display(ListBook bks){
box.removeAll();
for(int i=0; ibks.size(); i++){
Book b = bks.get(i);
System.out.println(b);
BookItem bi = new BookItem(b);
bi.setBackground(i%2==0?Color.white:new Color(0xefefef));
box.add(bi);
}
jsp.validate();
}
}
class BookItem extends JPanel{
private static Border border=BorderFactory.createCompoundBorder(
BorderFactory.createMatteBorder(0,0,1,0,Color.LIGHT_GRAY),
BorderFactory.createEmptyBorder(0,5,5,5));
BookItem(Book b){
this.setBorder(border);
this.setLayout(new FlowLayout(FlowLayout.LEFT));
String str="htmltabletr style='color:gray;'" +
"td width=168书名: font color=#000"+b.getName()+"/font/td" +
"td width=188书号:font color=#000"+b.getSerialNumber()+"/font/td" +
"td width=138作者:font color=#000"+b.getAuthor()+"/font/td" +
"td出版社:font color=#000"+b.getPublisher()+"/font/td" +
"/tr/table";
this.add(new JLabel(str));
}
}
图书管理系统用java语言 1:输入5本书 书名,书号,价格 2:计算书的总价格,平均价格 3
package test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class BookShow {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一本书名、书号、价格(输入时用*隔开,例:红楼梦*1001*100):");
String str1=sc.next();
Book book1=BookShow.ReturnBook(str1);
System.out.println("请输入第二本书名、书号、价格(输入时用*隔开,例:红楼梦*1001*100):");
String str2=sc.next();
Book book2=BookShow.ReturnBook(str2);
System.out.println("请输入第三本书名、书号、价格(输入时用*隔开,例:红楼梦*1001*100):");
String str3=sc.next();
Book book3=BookShow.ReturnBook(str3);
System.out.println("请输入第四本书名、书号、价格(输入时用*隔开,例:红楼梦*1001*100):");
String str4=sc.next();
Book book4=BookShow.ReturnBook(str4);
System.out.println("请输入第五本书名、书号、价格(输入时用*隔开,例:红楼梦*1001*100):");
String str5=sc.next();
Book book5=BookShow.ReturnBook(str5);
ListBook books=new ArrayListBook();
books.add(book1);
books.add(book2);
books.add(book3);
books.add(book4);
books.add(book5);
System.out.println("----------------------------------------------");
double sumprice=book1.getPrice()+book2.getPrice()+book3.getPrice()+book4.getPrice()+book5.getPrice();
System.out.println("五本书的总价格为:"+sumprice);
double avgprice=sumprice/5;
System.out.println("五本书的平均价格为:"+avgprice);
ListDouble prices=new ArrayListDouble();
prices.add(book1.getPrice());
prices.add(book2.getPrice());
prices.add(book3.getPrice());
prices.add(book4.getPrice());
prices.add(book5.getPrice());
Collections.sort(prices);
System.out.println("价格最高的为:"+prices.get(4)+" 价格最低的为:"+prices.get(0));
ListBook books2=new ArrayListBook();
ListBook books3=new ArrayListBook();
for(Book b:books){
if(b.getPrice()avgprice){
books2.add(b);
}else if(b.getPrice()avgprice){
books3.add(b);
}
}
System.out.println("高于平均价格的书有:"+BookShow.toShow(books2));
System.out.println("低于平均价格的书有:"+BookShow.toShow(books3));
System.out.println("----------------------------------------------");
while(true){
System.out.println("请输入书号查询书籍(输入0退出):");
int bookId=sc.nextInt();
if(bookId==0){
break;
}else{
Book book=new Book();
for(Book b:books){
if(bookId==b.getBookId()){
book=b;
}
}
System.out.println("当前书籍为:书名 "+book.getName()+",书号 "+book.getBookId()+",价格 "+book.getPrice());
}
}
}
public static Book ReturnBook(String str){
Book book=new Book(str.substring(0, str.indexOf("*")),
str.substring(str.indexOf("*")+1,str.lastIndexOf("*")),
str.substring(str.lastIndexOf("*")+1,str.length()));
return book;
}
public static String toShow(ListBook books){
String str="";
for(Book b:books){
str+=b.getName()+" ";
}
return str;
}
}
class Book{
private String name;
private double price;
private int bookId;
public Book(){}
public Book(String name,String bookId,String price){
this.name=name;
this.price=Double.parseDouble(price);
this.bookId=Integer.parseInt(bookId);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getBookId() {
return bookId;
}
public void setBookId(int bookId) {
this.bookId = bookId;
}
}
java程序小问题
我觉得,你可以写1个对象,里面有方法来计数,用2个子类(book和music)来继承它,通过每次的new出来一个对象时,在全局变量中统计数目。。。。
书店里有甲、乙两种书,甲种书厚12毫米,乙种书厚15毫米,将两种书叠放在起来,当两种书
12与15的最小公倍数为60
所以第一次相等时,甲书本数为:
60÷12=5(本)
乙书本数为:
60÷15=4(本)
书本叠放问题java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于叠放的书本、书本叠放问题java的信息别忘了在本站进行查找喔。