我是靠谱客的博主 激昂大炮,最近开发中收集的这篇文章主要介绍【对象练习】java开发商品查看系统作业要求:答:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作业要求:

创建商品类Goods

属性 注意考虑商品属性的数据类型

商品名称 name

商品价格 price

商品描述 description

商品库存 stock

商品分类 category

商品状态 state

成员方法 show
  作用打印商品对象信息

构造方法

setter/getter方法

创建测试类Demo

静态变量声明商品数组, 初始长度为10

静态变量控制台输入

添加商品方法1 - addGoods1() 使用构造方法初始化商品对象数据 注意: 数组长度不够了要提示去扩容
    控制台接受用户输入商品信息
    使用全参构造方法构造商品对象
    商品对象存入商品数组中

添加商品方法 2 - addGoods2() 使用设值器set方法初始化商品对象数据 注意: 数组长度不够了要提示去扩容
    控制台接受用户输入商品信息
    使用无参构造方法构造商品对象
    使用商品对象的设值器set方法存入商品数据到商品对象中
    商品对象存入商品数组中        

遍历商品方法 - display()   注意: 遇到数组中null的元素要判断, 防止出空指针异常
    遍历商品数组, 取出每个商品对象

调用对象的show()方法打印商品信息

商品数组扩容方法

main方法
    使用do.while循环打印菜单
        1. 添加商品1
        2. 添加商品2
        3. 查看商品
        4. 商品数组扩容
        5. 退出
    接受用户输入的菜单编号
    使用switch.case 判断用户选择的菜单, 调用对应的方法

答:

先写商品类Goods

先新建包package    game02

创建Goods类

package game02;

public class Goods {
    //商品名称
    private String name;
    //商品价格
    private double price;
    //商品描述
    private String description;
    //商品库存
    private int stock;
    //商品分类
    private String category;
    //商品状态
    private String state;

    //商品展示的show方法
    public void show(){
        System.out.println(this.name+"的信息:");
        System.out.println("价格:"+this.price+"元");
        System.out.println("描述:"+this.description);
        System.out.println("库存:"+this.stock);
        System.out.println("分类:"+this.category);
        System.out.println("状态:"+this.state);
        System.out.println("----------------------------------");
    }

    //无参构造方法
    public Goods() {
    }

    //有参构造方法
    public Goods(String name, double price, String description, int stock, String category, String state) {
        this.name = name;
        this.price = price;
        this.description = description;
        this.stock = stock;
        this.category = category;
        this.state = state;
    }

    //Getter和Setter方法
    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 getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public int getStock() {
        return stock;
    }

    public void setStock(int stock) {
        this.stock = stock;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }
}
 

创建Demo类

package game02;

import java.util.Scanner;

public class Demo {
    //静态变量声明商品数组, 初始长度为10
    static Goods[] goodsArr = new Goods[10];
    //静态变量控制台输入
    static Scanner sc = new Scanner(System.in);

    //main方法
    //使用do.while循环打印菜单
    //1. 添加商品1
    //2. 添加商品2
    //3. 查看商品
    //4. 商品数组扩容
    //5. 退出
    //接受用户输入的菜单编号
    //使用switch.case 判断用户选择的菜单, 调用对应的方法
    public static void main(String[] args) {
        int choice = 0;
        do {
            System.out.println("***********欢迎进入商品系统**************");
            System.out.println("1.添加商品1");
            System.out.println("2.添加商品2");
            System.out.println("3.查看商品");
            System.out.println("4.商品数组扩容");
            System.out.println("5.退出");
            System.out.println("请选择:");
            choice = sc.nextInt();
            switch (choice) {
                case 1:
                    System.out.println("**************添加商品1*************");
                    addGoods1();
                    break;
                case 2:
                    System.out.println("**************添加商品2*************");
                    addGoods2();
                    break;
                case 3:
                    System.out.println("**************查看商品*************");
                    display();
                    break;
                case 4:
                    System.out.println("**************商品数组扩容*************");
                    dilatation();
                    break;
            }
        } while (choice != 5);
        System.out.println("bye~ 商品系统退出");
    }

    //添加商品方法1 - addGoods1() 使用构造方法初始化商品对象数据 注意: 数组长度不够了要提示去扩容
    //控制台接受用户输入商品信息
    //使用全参构造方法构造商品对象
    //商品对象存入商品数组中
    public static void addGoods1() {
        if (goodsArr[goodsArr.length - 1] != null) {
            System.out.println("你的商品栏位已满!请扩容");
            return;
        }
        System.out.println("请输入商品的名称:");
        String name = sc.next();
        System.out.println("请输入商品的价格:");
        double price = sc.nextDouble();
        System.out.println("请输入商品的描述:");
        String description = sc.next();
        System.out.println("请输入商品的库存:");
        int stock = sc.nextInt();
        System.out.println("请输入商品的分类:");
        String category = sc.next();
        System.out.println("请输入商品的状态:");
        String state = sc.next();
        Goods goods = new Goods(name, price, description, stock, category, state);

        //商品对象存入商品数组中,找到数组中第一个不为null的位置存储
        for (int i = 0; i < goodsArr.length; i++) {
            if (goodsArr[i] == null) {
                goodsArr[i] = goods;
                break;
            }
        }
        System.out.println(name + "进货成功!");
    }

    //添加商品方法 2 - addGoods2() 使用设值器set方法初始化商品对象数据 注意: 数组长度不够了要提示去扩容
    //控制台接受用户输入商品信息
    //使用无参构造方法构造商品对象
    //使用商品对象的设值器set方法存入商品数据到商品对象中
    //商品对象存入商品数组中
    public static void addGoods2() {
        if (goodsArr[goodsArr.length - 1] != null) {
            System.out.println("你的商品栏位已满!请扩容");
            return;
        }
        System.out.println("请输入商品的名称:");
        String name = sc.next();
        System.out.println("请输入商品的价格:");
        double price = sc.nextDouble();
        System.out.println("请输入商品的描述:");
        String description = sc.next();
        System.out.println("请输入商品的库存:");
        int stock = sc.nextInt();
        System.out.println("请输入商品的分类:");
        String category = sc.next();
        System.out.println("请输入商品的状态:");
        String state = sc.next();
        Goods goods = new Goods();
        goods.setName(name);
        goods.setPrice(price);
        goods.setDescription(description);
        goods.setStock(stock);
        goods.setCategory(category);
        goods.setState(state);
        //商品对象存入商品数组中,找到数组中第一个不为null的位置存储
        for (int i = 0; i < goodsArr.length; i++) {
            if (goodsArr[i] == null) {
                goodsArr[i] = goods;
                break;
            }
        }
        System.out.println(name + "进货成功!");

    }

    //遍历商品方法 - display()  注意: 遇到数组中null的元素要判断, 防止出空指针异常
    //遍历商品数组, 取出每个商品对象, 调用对象的show()方法打印商品信息
    public static void display() {
        //遍历goodsArr数组,如果当前元素为null,输出空栏位,不为空是、,输出栏位
        for (int i = 0; i < goodsArr.length; i++) {
            if (goodsArr[i] == null) {
                System.out.println((i + 1) + "号栏位:空");
            } else {
                goodsArr[i].show();
            }
        }
    }

    //商品数组扩容方法
    public static void dilatation() {
        Goods[] newgoodsArr = new Goods[goodsArr.length + 10];
        for (int i = 0; i < goodsArr.length; i++) {
            newgoodsArr[i] = goodsArr[i];
        }
        goodsArr = newgoodsArr;
        System.out.println("恭喜你扩容商品栏位成功!");
    }

}

宠物大作战

http://t.csdn.cn/q8Rpu

最后

以上就是激昂大炮为你收集整理的【对象练习】java开发商品查看系统作业要求:答:的全部内容,希望文章能够帮你解决【对象练习】java开发商品查看系统作业要求:答:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部