酒煮青梅392 2023-10-11 21:16 采纳率: 65.2%
浏览 7
已结题

来java强者看看如何解决



```java
package bookbuy;
import java.util.Scanner;
public class Bookmian {
    public static void main(String[] args) {
        BookList[] Books = getData();
        putData(Books);
        Ordermath[]  Ordermaths = total(Books);
        showOrdermath(Ordermaths);
 
    }
    public static BookList[] getData()
    {
        BookList Books[] = new BookList[3];
        Books[0] = new BookList(1,"Java基础",29.8);
        Books[1] = new BookList(2,"Jsp教程",45.0);
        Books[2] = new BookList(3,"SSH框架",39.8);
        return Books;
    }
    public static void putData(BookList[] Books)
    {
        System.out.println("书籍列表:");
        System.out.println("------------------------------");
        for(BookList b:Books)
        {
            System.out.println(b.toString());
        }
        System.out.println("------------------------------");
    }
    public static Ordermath[] total(BookList[] Books){
        int bid = 1;
        int num = 0;
        double totalMoney = 0;
        String choice = "";
        Scanner sc = new Scanner(System.in);
        Ordermath Ordermaths[] = new Ordermath[3];
        Order Orders[] = new Order[3];
        do{
            System.out.println("请输入购买书籍序列号:");
            bid = sc.nextInt();
            System.out.println("请输入购买书籍数量:");
            num = sc.nextInt();
            Orders[bid-1] = new Order(bid,Books[bid-1],num);
            totalMoney += num*Books[bid-1].getPrice();
            Ordermaths[bid-1] = new Ordermath(totalMoney,Orders[bid-1]);
            System.out.println("是否继续(Y|y or anykey)");
            choice = sc.nextLine();
        }
        while(choice.equals("Y")|choice.equals("Y"));
        
        return Ordermaths;
    }
    
    
    public static void showOrdermath(Ordermath[] ordermaths) {
            System.out.println("订单信息:");
            System.out.println("------------------------------");
            for(Ordermath c:ordermaths){
                if(ordermaths != null)
                System.out.println(c.toString());
            }
            System.out.println("------------------------------");
           
    }
    
}






package bookbuy;
public class BookList {
    private int id;
    private String name;
    private double price;
    public BookList(int id, String name, double price) {
        super();
        this.id = id;
        this.name = name;
        this.price = price;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    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 String toString() {
        return id +"\t"+name +"\t"+price +"\t";
    }
    
    
}




package bookbuy;
public class Order {
    private int id;
    private BookList sc = new BookList(1, null, 0);
    private int num;
    
    public Order(int id, BookList sc, int num) {
        super();
        this.id = id;
        this.sc = sc;
        this.num = num;
    }
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public BookList getSc() {
        return sc;
    }
    public void setSc(BookList sc) {
        this.sc = sc;
    }
    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }
    @Override
    public String toString() {
        return id +"\t"+sc +"\t"+num+"\t";
    }
    
    
    
}








package bookbuy;
public class Ordermath {
    private double totalMoney;
    private Order sc = new Order(1, null, 0);
    
    public Ordermath(double totalMoney, Order sc) {
        super();
        this.totalMoney = totalMoney;
        this.sc = sc;
    }
    public double getTotalMoney() {
        return totalMoney;
    }
    public void setTotalMoney(double totalMoney) {
        this.totalMoney = totalMoney;
    }
    public Order getSc() {
        return sc;
    }
    public void setSc(Order sc) {
        this.sc = sc;
    }
    @Override
    public String toString() {
        return "sc\t";
    }
    
    
    
    
  
}


编程一个书籍销售程序,用户输入书籍序列号进行书籍购买,用户输入购买数量后计算出所需要花费的钱,一次购买结束后,需要用户输入“Y”、“y”或其他字符,“Y”和"y"代表继续购买,其他字符代表购物结束,购买结束后显示订单信息。书籍信息和订单参考界面如下:



我的代码是定义3个类,BookList,Order,Orderimath,主函数有四个功能就是传入目录,输出目录,传入用户输入信息和计算totalmoney,输出最终信息和totalmoney,但是不知道为啥只能实现前两个



![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/73306462079617.jpg "#left")

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/062864620796141.jpg "#left")
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/410784030796133.jpg "#left")

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/193294030796188.jpg "#left")
  • 写回答

2条回答 默认 最新

  • 酒煮青梅392 2023-10-11 21:23
    关注

    img

    img


    这是补充的图片

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月15日
  • 修改了问题 10月11日
  • 修改了问题 10月11日
  • 创建了问题 10月11日

悬赏问题

  • ¥20 求下下面这个数据结构代码
  • ¥15 路由器考试怎么办,有懂行的吗 ,eNSP
  • ¥20 前端 二进制文件流图片转化异常
  • ¥15 github上的这个C语言项目如何跑起来
  • ¥15 java 判断某个数 区间是否存在
  • ¥15 appium控制多个雷电模拟器问题
  • ¥15 C# iMobileDevice
  • ¥15 谁会做这个啊#ensp#Boson NetSim
  • ¥15 如何编写针对TPS6503320FRGE型号的电源管理芯片的编程代码?
  • ¥15 设计简单目录管理系统,要满足以下内容