|
60鱼币
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.
以上是要求,效果图见图片
有简单注释优先,谢谢
以下代码首先定义了一个名为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);
}
}
|
-
最佳答案
查看完整内容
以下代码首先定义了一个名为Item的类,包含名称、价格和条形码的属性。
接下来,在主程序中创建了一个ArrayList类型的变量bill,用于存储5个商品。
然后,代码使用循环和Scanner类获取用户输入的商品信息,并将其添加到bill变量中。
最后,代码根据bill变量中的数据输出购物清单和总计支付。
|