package com.sx.work;
import java.util.Scanner;
/**
* @data 2022
* @author 刘**
*/
public class Product {
/*创建三个数组:
一个表示商品名称
一个表示商品价格
一个表示商品库存量
首先向用户展示有什么商品
然后问用户要什么商品
接着判断用户输入的商品在数组中是否存在
如果存在,问用户需要几件,如果购买件数大于库存量
显示购买失败,如果小于库存量就显示商品信息并打印价格
如果不存在这个商品,就告诉用户出门左转去隔壁看看
*/
String[] name = {"橘子", "苹果", "草莓", "香蕉", "西瓜", "葡萄"};//商品名称
double[] price = {10, 16.5, 30.0, 15.0, 13.5, 18.0};//商品价格
int[] stock = {50, 60, 100, 70, 30, 40};//商品库存量
Scanner sc = new Scanner(System.in);
public void printShow() { //首先向用户展示有什么商品
this.name = name;
this.price = price;
this.stock = stock;
System.out.println("*********欢迎光临水果店*********");
System.out.println("\t名称\t\t价格\t\t 库存量\t\t");
for (int i = 0; i < name.length; i++) {//遍历商品、价格和库存量
System.out.println("\t" + name[i] + "\t\t" + price[i] + "/斤\t\t" + stock[i] + "斤\t\t");
}
}
public void find() {
//定义一个变量用来存储找到的信息的数组元素下标
//因为第一个元素从0开始的,所以初始化值不能是0,
//所以给一个-1的值,数组下标没有负值
int index=-1;
System.out.println("请问你需要什么水果?");
String fruit = sc.next();//输入水果信息,字符串
//循环遍历水果数组
for (int i = 0; i < name.length; i++) {
//比较自己输入的字符串和数组中的字符串是否符合
if (fruit.equals(name[i])) {
index= i;//如果找到了水果就给一个水果的下标给到上面的初始化变量值
}
//如果本身就是-1,这里就算没有找到也不用给值,因为初始值是-1,并没有改变
//else {
// index=-1;
//}
}
//这里进行判断,判断结果值是不是-1,来确认是否已经找到了要找的信息
//这里就这么写,这样就能判断是不是已经有元素被找到,如果没有找到也可以有结果
//但是这里要从全局考虑,比如找到了这个元素,那么下面就要问客户是否需要购买
//购买的量是多少,所以下面要考虑的问题是,将用户购买物品的信息写在if语句的第一个语句块中
//还是将找到水果的信息返回,比如将下标返回,然后就可以找到元素了。再另外一个方法中进行处理,
//或者直接再本方法中处理
if(index != -1){
System.out.println("找到了你需要的水果");
//方法1
/*如果存在,问用户需要几件,如果购买件数大于库存量
显示购买失败,如果小于库存量就显示商品信息并打印价格
如果不存在这个商品,就告诉用户出门左转去隔壁看看
*/
System.out.println("请问您要购买多少?");
int count=sc.nextInt();
if(count>stock[index]){
System.out.println("购买失败!!");
}else if(count<=stock[index]){
System.out.println("总共价钱为:"+price[index]*count);
}
}else{
System.out.println("没有找到你需要的水果,出门左转去隔壁看看吧。");
}
}
}
主函数功能实现:
package com.sx.work;
import java.util.Scanner;
public class productTest {
public static void main(String[] args) {
Product pr=new Product();
Scanner sc=new Scanner(System.in);
pr.printShow();
pr.find();
}
}
运行结果图:
找到想要的水果并计算价钱:
没有找到想要的水果: