通过封装编写水果类,模拟水果的买卖过程。要求:类具有名称、价格、数量,其中,价格不能低于0,否则显示“水果价格不符合常规,请重新输入!”,数量不能低于0,否则显示“库存不足,请选择其他水果。”;为各属性设置赋值和取值方法;编写方法detail(),在控制台中打印水果的基本信息。
public class LX_1{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int flag = 1;
Fruit fruit = new Fruit();
while(flag == 1) {
boolean f = true;
System.out.println("请输入水果名称:");
fruit.setName(input.next());
while(f) {
System.out.println("请输入水果价格:");
double price = input.nextDouble();
if(price > 0) {
fruit.setPrice(price);
f = false;
}
else System.out.println("水果价格不符合常规,请重新输入");
}
f = true;
while(f) {
System.out.println("请输入水果数量:");
int nums = input.nextInt();
if(nums > 0) {
fruit.setNums(nums);
f = false;
}
else System.out.println("水果数量不符合常规,请重新输入");
}
detail();
System.out.println("是否退出输入?是:0,否:1");
flag = input.nextInt();
}
}
public static void detail() {
Fruit fruit = new Fruit();
System.out.println("------水果信息如下------");
System.out.println("名称:"+fruit.getName());
System.out.println("价格:"+fruit.getPrice());
System.out.println("数量:"+fruit.getNums());
}
}
class Fruit{
private String name;
private double price;
private int nums;
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 getNums() {
return nums;
}
public void setNums(int nums) {
this.nums = nums;
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author :Negen
* @Date :Created in 22:36 2022/4/13
* @Description:水果买卖demo
* @Modified By:
* @Version: 1.0
* <p>
* <p>
* 通过封装编写水果类,模拟水果的买卖过程。
* 要求:类具有名称、价格、数量,其中,价格不能低于0,否则显示“水果价格不符合常规,请重新输入!”,
* 数量不能低于0,否则显示“库存不足,请选择其他水果。”;
* 为各属性设置赋值和取值方法;编写方法detail(),在控制台中打印水果的基本信息
*/
public class FruitSale {
List<Fruit> fruits = new ArrayList<Fruit>();
Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
new FruitSale().menu();
}
/**
* 新增水果
*/
void addFruit() {
System.out.println("请输入水果名称");
String fruitName = scanner.next();
System.out.println("请输入" + fruitName + "价格");
float fruitPrice = -1;
while (fruitPrice < 0) {
fruitPrice = scanner.nextFloat();
if (fruitPrice < 0) {
System.out.println("水果价格不符合常规,请重新输入!");
} else {
break;
}
}
System.out.println("请输入" + fruitName + "数量");
int fruitCount = -1;
while (fruitCount < 0) {
fruitCount = scanner.nextInt();
if (fruitCount < 0) {
System.out.println("水果数量不符合常规,请重新输入!");
} else {
break;
}
}
Fruit fruit = new Fruit(fruitName, fruitPrice, fruitCount);
fruits.add(fruit);
System.out.println("新增水果成功");
menu();
}
/**
* 查看水果列表
*/
void listAllFruit() {
System.out.println(String.format("%s\t%s\t%s", "水果名", "价格", "数量"));
fruits.forEach(fruit -> {
System.out.println(String.format("%s\t%s\t%s", fruit.getName(), fruit.getPrice(), fruit.getCount()));
});
menu();
}
void menu() {
System.out.println("*********首页*********");
System.out.println("1:新增水果");
System.out.println("2:水果列表");
System.out.println("请选择:");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addFruit();
break;
case 2:
listAllFruit();
break;
}
}
}
class Fruit {
String name;
Float price;
Integer count;
public Fruit(String name, Float price, Integer count) {
this.name = name;
this.price = price;
this.count = count;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Float getPrice() {
return price;
}
public void setPrice(Float price) {
this.price = price;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
}