帅哥小C啊 发表于 2023-3-23 09:51:12

一道简单的java作业

1.Implement a class called Item with the following specification:
An attribute/field called name to store the name of the item
An attribute/field called price that stores the price in pounds (real)
An attribute called code that stores the barcode of the item (String)
A constructor with two parameters (the name of the item and the code) that initialises prices to zero
Accessor methods and mutator methods for the attributes
A method display to display the name, price and code of the item.

2.Create in the main program a variable called bill that stores 5 items
3.Write code that asks the user to input the name, price and code of 5 items, create instances of the class Item and add them to the variable bill. Then, use the mutator method to change price for each item.
4.Write code that given them information data in the bill variable, print an invoice by displaying the items bought with their prices and the total payment.
以上是要求,效果图见图片

有简单注释优先,谢谢

isdkz 发表于 2023-3-23 09:51:13

以下代码首先定义了一个名为Item的类,包含名称、价格和条形码的属性。

接下来,在主程序中创建了一个ArrayList类型的变量bill,用于存储5个商品。

然后,代码使用循环和Scanner类获取用户输入的商品信息,并将其添加到bill变量中。

最后,代码根据bill变量中的数据输出购物清单和总计支付。

import java.util.ArrayList;
import java.util.Scanner;

// 1. 实现一个名为Item的类
class Item {
    private String name; // 名称
    private double price; // 价格(单位:英镑)
    private String code; // 条形码

    // 带有两个参数的构造函数(名称和条形码),将价格初始化为0
    public Item(String name, String code) {
      this.name = name;
      this.code = code;
      this.price = 0;
    }

    // 访问器和更改器方法
    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 getCode() {
      return code;
    }

    public void setCode(String code) {
      this.code = code;
    }

    // 显示商品信息的方法
    public void display() {
      System.out.println("Name: " + name + "; code: " + code + "; Price: " + price + ";");
    }
}

public class Main {
    public static void main(String[] args) {
      // 2. 在主程序中创建一个名为bill的变量,用于存储5个商品
      ArrayList<Item> bill = new ArrayList<>();

      // 3. 要求用户输入5个商品的名称、价格和条形码,并将这些信息存储到bill变量中
      Scanner scanner = new Scanner(System.in);
      for (int i = 0; i < 5; i++) {
            System.out.print("Enter item " + (i + 1) + " (name, price, code) ");
            String name = scanner.next();
            double price = scanner.nextDouble();
            String code = scanner.next();

            Item item = new Item(name, code);
            item.setPrice(price); // 使用更改器方法设置价格
            bill.add(item);
      }

      // 4. 根据bill变量中的信息打印发票
      int count = 1;
      double totalPayment = 0;
      for (Item item : bill) {
            System.out.println("Item " + count);
            item.display();
            count += 1;
            totalPayment += item.getPrice();
      }
      System.out.printf("Total Payment: %.1f\n", totalPayment);
    }
}


芜湖666 发表于 2023-3-23 10:01:35

对不起我只会python和c

不想娶名字 发表于 2023-3-23 10:21:39

public class Item {
    private String name;
    private double price;
    private String code;

    public Item(String name, String code) {
      this.name = name;
      this.code = code;
      this.price = 0.0;
    }

    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 getCode() {
      return code;
    }

    public void setCode(String code) {
      this.code = code;
    }

    public void display() {
      System.out.println("Name: " + name);
      System.out.println("Price: " + price);
      System.out.println("Code: " + code);
    }
}
public class Main {
    public static void main(String[] args) {
      Item item = new Item("Book", "123456789");
      item.display(); // Name: Book Price: 0.0 Code: 123456789
      
      item.setPrice(10.99);
      item.display(); // Name: Book Price: 10.99 Code: 123456789
    }
}

鱼C-求学者 发表于 2023-3-27 13:31:43

import java.util.Scanner;

public class Item {
    private String name; // 商品名称
    private double price; // 商品价格
    private String code; // 商品条形码

    // 构造函数,初始化价格为0
    public Item(String name, String code) {
      this.name = name;
      this.code = code;
      this.price = 0;
    }

    // 访问器方法
    public String getName() {
      return name;
    }

    public double getPrice() {
      return price;
    }

    public String getCode() {
      return code;
    }

    // 修改器方法
    public void setPrice(double price) {
      this.price = price;
    }

    // 显示商品信息
    public void display() {
      System.out.println(name+ ",Code: " + code + ",Price: " + price + " pounds");
    }

    public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      Item[] bill = new Item; // 存储5个商品

      // 输入商品信息,并创建Item实例
      for(int i = 0; i < bill.length; i++) {
            System.out.println("Please enter the name of the item:");
            String name = scanner.nextLine();

            System.out.println("Please enter the code of the item:");
            String code = scanner.nextLine();

            System.out.println("Please enter the price of the item:");
            double price = scanner.nextDouble();
            scanner.nextLine(); // 在读取下一个字符串之前先读取一行

            Item item = new Item(name, code);
            item.setPrice(price);
            bill = item;
      }

      // 打印订单
      System.out.println("----------Invoice----------");
      double total = 0;
      for(Item item : bill) {
            item.display();
            total += item.getPrice();
      }
      System.out.println("Total payment: " + total + " pounds");
    }
}
页: [1]
查看完整版本: 一道简单的java作业