「书本叠放问题java」叠放的书本

博主:adminadmin 2023-01-21 04:15:09 329

本篇文章给大家谈谈书本叠放问题java,以及叠放的书本对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

用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的信息别忘了在本站进行查找喔。