个人觉的代码没问题,运行也可以,就是功能流程可以,实现没反应
啊啊啊啊啊啊,好难
我的:
/*
* 商品类,用于定义商品属性
* 商品ID、商品名、商品价格
*/
public class Shangping {
int ID;
String name;
double price;
}
import java.util.ArrayList;
import java.util.Scanner;
/*
* 实现超市商品管理系统
* 功能:
* 1.查询商品清单
* 2.增加商品
* 3.删除商品
* 4.修改商品
* 5.退出
*
* 定义六个方法:初始化商品;+五个功能
*
*/
public class SuperMarketmainmeth {
public static void main(String[] args) {
ArrayList<Shangping> array = new ArrayList<Shangping>();
init(array);
while(true){
System.out.println("");
System.out.println("1.查看商品 2.添加商品 3.删除商品 4.修改商品 5.退出");
int a = getNumber();
switch (a) {
case 1: //1.查看商品
chaKan();
break;
case 2: // 2.添加商品
tianJia(array);
break;
case 3:
deleteShangping(array); //3.删除商品
break;
case 4:
xiuGai(array); //4.修改商品
break;
case 5: //5.退出
break;
default:
System.out.println("您的输入有误");
break;
}
}
}
/*
* 定义修改商品方法
* 参数:array
* 返回值:无
*/
public static void xiuGai(ArrayList<Shangping> array){
System.out.println("您选择的是修改功能");
System.out.println("请输入您要修改商品的编号:");
Scanner s = new Scanner(System.in);
int ID = s.nextInt();
for (int i = 0; i < array.size(); i++) {
Shangping a = array.get(i);
if(ID == a.ID){
System.out.println("请输入新的编号");
a.ID = s.nextInt();
System.out.println("请输入您要修改商品的名字:");
String name = s.next();
a.name = name;
System.out.println("请输入您要修改商品的价格:");
double price = s.nextDouble();
a.price = price;
System.out.println("修改成功");
return ;
}
}
System.out.println("您的输入有误");
}
/*
* 定义删除商品方法
*/
public static void deleteShangping(ArrayList<Shangping> array){
Shangping sh = new Shangping();
System.out.println("您选择的删除功能");
System.out.println("请输入您要删除的商品编号:");
Scanner s = new Scanner(System.in);
int ID = s.nextInt();
for (int i = 0; i < array.size(); i++) {
Shangping a = array.get(i);
if(ID == a.ID){
array.remove(i);
System.out.println("删除成功");
return ;
}
}
System.out.println("您的输入有误");
}
/*
* 定义添加商品方法
* 参数:array集合
* 返回值:无
*/
public static void tianJia(ArrayList<Shangping> array){
System.out.println("您选择的是添加商品功能");
System.out.println("请输入商品名称:");
Shangping sh = new Shangping();
Scanner s = new Scanner(System.in);
sh.name = s.next();
System.out.println("请输入商品编号:");
sh.ID = s.nextInt();
System.out.println("请输入商品价格:");
sh.price = s.nextDouble();
array.add(sh);
}
/*
* 实现输入调用功能
*/
public static int getNumber(){
System.out.println("请输入您要操作的功能:");
Scanner s = new Scanner(System.in);
int number = s.nextInt();
return number;
}
/*
* 查看商品清单功能
*/
public static void chaKan(){
System.out.println("===========商品清单===========");
System.out.println("商品名 商品编号 商品价格");
System.out.println("新疆哈密瓜 001 28");
System.out.println("新疆巴旦木 004 46.9");
System.out.println("天山雪梨 002 6.8");
System.out.println("新疆切糕 003 1005.8");
}
/*
* 定义商品初始化方法
* 商品存储在集合中
* 参数:array集合
* 返回值:无
*/
public static void init(ArrayList<Shangping> array){
Shangping s1 = new Shangping();
s1.name = "新疆哈密瓜";
s1.ID = 001;
s1.price = 28;
Shangping s2 = new Shangping();
s2.name = "新疆巴旦木";
s2.ID = 004;
s2.price = 46.9;
Shangping s3 = new Shangping();
s3.name = "天山雪梨";
s3.ID = 002;
s3.price = 6.8;
Shangping s4 = new Shangping();
s4.name = "新疆切糕";
s4.ID = 003;
s4.price = 1005.8;
array.add(s1);
array.add(s2);
array.add(s3);
array.add(s4);
}
}
老师的:
/*
* 自定义类, 描述商品信息
* 商品的属性
* 编号, int
* 品名, String
* 价格, double
* 数量, int
* 总价, double
*
* 商品类型,存储到集合ArrayList中
*/
public class FruitItem {
// 商品号
int ID;
// 商品名字
String name;
// 单价
double price;
// 数量
int number;
// 总金额
double money;
}
import java.util.ArrayList;
import java.util.Scanner;
/*
* 超市管理系统主
* 实现:
* 1. 商品数据的初始化
* 2. 用户的菜单选择
* 3. 根据选择执行不同的功能
* 3.1 Read 查看商品
* 3.2 Create 添加商品
* 3.3 Delete 删除商品
* 3.4 Update 修改商品
*
*
* 所有功能 ,必须定义方法实现
* 主方法main 调用作用
*/
public class Shopp {
public static void main(String[] args) {
//创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
ArrayList<FruitItem> array = new ArrayList<FruitItem>();
//调用商品初始化方法,传递集合
init(array);
while(true){
//调用菜单方法
mainMenu();
//调用用户选择序号方法
int choose = chooseFunction();
switch (choose) {
case 1:
//调用1: 货物 清单
showFruitList(array);
break;
case 2:
//2: 添加货物
addFruit(array);
break;
case 3:
//3: 删除货物
deleteFruit(array);
break;
case 4:
//4: 修改货物
updateFruit(array);
break;
case 5:
return ;
default:
System.out.println("输入的序号没有");
break;
}
}
}
/*
* 定义方法,实现商品的修改功能
* 返回值: 无
* 参数: 集合
*
* 提示用户选择的是修改功能
* 提示用户输入需要修改的商品编号
* 遍历集合,获取每个FruitItem变量
* 变量调用ID属性,属性和用户输入的编号比较
* 如果相同:
* 修改调FruitItem中的属性值
* 键盘输入
*/
public static void updateFruit(ArrayList<FruitItem> array){
System.out.println("选择的是修改功能");
System.out.println("请输入商品的编号");
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
//遍历集合,获取每个FruitItem变量
for(int i = 0 ; i < array.size(); i++){
FruitItem item = array.get(i);
//获取FruitItem的属性ID,和用户输入的ID比较
if(item.ID == ID){
System.out.println("输入新的商品编号");
item.ID = sc.nextInt();
System.out.println("输入新的商品名字");
item.name = sc.next();
System.out.println("输入新的商品价格");
item.price = sc.nextDouble();
System.out.println("商品修改成功");
return ;
}
}
System.out.println("输入的编号不存在");
}
/*
* 定义方法,实现商品的删除功能
* 返回值: 无
* 参数: 集合
*
* 删除依靠的是商品的编号
* 提示用户选择的是删除功能
* 键盘输入商品的编号
* 遍历集合,获取集合中的每个FruitItem变量
* 变量调用属性 ID, 和用户的输入的编号,对比,相同就删除
*/
public static void deleteFruit(ArrayList<FruitItem> array){
System.out.println("选择的是删除功能");
System.out.println("请输入商品的编号");
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
//遍历集合
for(int i = 0 ; i < array.size(); i++){
//获取到每个FruitItem变量
FruitItem item = array.get(i);
//变量,调用属性ID,和用户输入的编号比较
if( item.ID == ID){
//移除集合中的元素
//集合的方法remove实现
array.remove(i);
System.out.println("删除成功");
return;
}
}
System.out.println("你输入的编号不存在");
}
/*
* 定义方法,实现商品的添加功能
* 返回值:无
* 参数: 集合
* 提示用户选择的是添加商品的功能
*
* 提示用户输入的是什么
*
* 创建FruitItem变量,变量调用的属性
* 将输入的每个商品属性进行赋值
*/
public static void addFruit(ArrayList<FruitItem> array){
System.out.println("选择的是添加商品功能");
//创建Scanner变量
Scanner sc = new Scanner(System.in);
System.out.println("请输入商品的编号");
//输入商品的编号
int ID = sc.nextInt();
//输入商品的名字
System.out.println("请输入商品的名字");
String name = sc.next();
//输入商品的单价
System.out.println("输入商品的单价");
double price = sc.nextDouble();
//创建FruitItem变量
FruitItem item = new FruitItem();
//item.属性赋值
item.ID = ID;
item.name = name;
item.price = price;
array.add(item);
System.out.println("商品添加成功");
}
/*
* 定义方法,实现显示货物清单功能
* 返回值: 无
* 参数: 集合
* 遍历集合,获取集合中的每个FruitItem变量,变量,调用属性
*/
public static void showFruitList(ArrayList<FruitItem> array){
System.out.println();
System.out.println("================商品库存清单================");
System.out.println("商品编号 商品名称 商品单价");
//遍历集合
for(int i = 0 ; i < array.size(); i++){
//集合get方法,获取出每个FruitItem变量,可以使用FruitItem接受get结果
FruitItem item = array.get(i);
//变量item调用类中属性
System.out.println(item.ID+" "+item.name+" "+item.price);
}
}
/*
* 定义方法,实现接受用户的键盘输入
* 返回编号
*/
public static int chooseFunction(){
Scanner sc = new Scanner(System.in);
return sc.nextInt();
}
/*
* 定义方法,实现主菜单
* 提示用户哪些选择 让选择序号
* 返回值: 无
* 参数: 无
*/
public static void mainMenu(){
System.out.println();
System.out.println("============欢迎光临ItCast超市============");
System.out.println("1: 货物 清单 2: 添加货物 3: 删除货物 4: 修改货物 5: 退出");
System.out.println("请您输入要操作的功能序号");
}
/*
* 定义方法,实现商品数据的初始化
* 先将一部分数据,存储集合中
* 返回值: 无
* 参数 : 集合
* 方法名: init
*/
public static void init(ArrayList<FruitItem> array){
//创建出多个FruitItem类型,并且属性赋值
FruitItem f1 = new FruitItem();
f1.ID = 9527;
f1.name = "少林寺酥饼核桃";
f1.price = 12.7;
FruitItem f2 = new FruitItem();
f2.ID = 9008;
f2.name = "尚康杂粮牡丹饼";
f2.price = 5.6;
FruitItem f3 = new FruitItem();
f3.ID = 9879;
f3.name = "新疆原产哈密瓜";
f3.price = 599.6;
//创建的3个FruitItem类型变量,存储到集合中
array.add(f1);
array.add(f2);
array.add(f3);
}
}