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();

    }

}


运行结果图:

java水果系统 java水果商店_System

找到想要的水果并计算价钱:

java水果系统 java水果商店_System_02

没有找到想要的水果:

 

java水果系统 java水果商店_java水果系统_03