6天的总结就是做出这个系统。其实知识点不多,但是如何熟练活泛的应用确实难点。好多思想都搞不懂。
但是最基本的功能还是有了。分享给大家了解了解。水果类就不传了,毕竟里边没有什么东西。只是几个变量
package cn.itast;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Stack;
/*
* 需求分析:创建水果类
* 完成功能方法,键盘录入整数(enterNumber),小数,字符串(工具方法)
* */
public class FruitStore {
/**
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//初始化集合
ArrayList<FruitItem> list = new ArrayList<FruitItem>();
//调用init方法进行对集合中的水果添加
init(list);
while(true){
//提示用户要输入的操作
System.out.println("请输入您要进行的操作 : 1,查询水果 2.添加水果 3.删除水果 4.修改水果 5.退出系统");
//调用控制台输入的数字
int choose = enterNumber();
switch (choose) {
case 1:
showFruitItem(list);
break;
case 2:
addFruitItem(list);
break;
case 3:
delFruitItem(list);
break;
case 4:
updateFruitItem(list);
break;
case 5:
System.out.println("您已经退出系统!");
System.exit(0);
break;
default :
System.out.println("你输入的有问题");
break;
}
}
}
//定义 init方法初始化水果数据,并且添加到集合当中 需要数据ArrayList<FruitItem>
public static void init(ArrayList<FruitItem> list){
//创建水果类的对象
FruitItem ll = new FruitItem();
ll.id = 2015;
ll.name = "泰国大榴莲";
ll.price = 65.0;
ll.unit = "公斤";
FruitItem pg = new FruitItem();
pg.id = 9285;
pg.name = "美国大苹果";
pg.price = 99.0;
pg.unit = "公斤";
FruitItem cm = new FruitItem();
cm.id = 9527;
cm.name = "印度尼草莓";
cm.price = 25.0;
cm.unit = "公斤";
//将已经定义好的水果信息存入到集合当中 通过集合中的add方法进行操作
list.add(ll);
list.add(pg);
list.add(cm);
}
//查询功能 需要的数据是:ArrayList<FruitItem>,没有返回值 方法名字:showFruitItem
public static void showFruitItem(ArrayList<FruitItem> list){
//打印表头
System.out.println("=======================================");
System.out.println("水果编号 水果名称 水果价钱 计价单位");
//对集合进行遍历
for(int i =0;i<list.size();i++){
FruitItem thisFruit = list.get(i);
System.out.println(thisFruit.id+" "+thisFruit.name+" "+thisFruit.price+" "+thisFruit.unit);
}
}
//添加功能 需要的数据是:ArrayList<FruitItem> ,没有返回值 方法名字是:addFruitItem
public static void addFruitItem(ArrayList<FruitItem> list){
//创建一个新的对象
FruitItem newItem = new FruitItem();
//提示用户输入水果编号
System.out.println("请输入新水果的编号:");
//判断输入的编号是否已经存在
int id = enterNumber();//获得输入的编号
//遍历集合,查看是否与每一个集合里边的编号重复
for (int i = 0; i < list.size(); i++) {
FruitItem thisItem = list.get(i);//将集合返回给水果类
//进行比较
if(id == thisItem.id){
System.out.println("您输入的ID在超市中已经存在,添加失败");
return;
}
}
newItem.id = enterNumber();//输入ID
System.out.println("请输入新水果的名称 ");
newItem.name = enterString();//输入名称
System.out.println("请输入新水果的价钱 ");
newItem.price = enterDouble();//输入价钱
System.out.println("请输入新水果的单位 ");
newItem.unit = enterString();//输入单位
//对商品进行添加
list.add(newItem);
}
//删除功能 需要的数据类型 : ArrayList<FruitItem> 返回类型 无 方法名字delFruitItem
public static void delFruitItem(ArrayList<FruitItem> list){
System.out.println("请输入您要删除的编号 ");
//通过调用enterNumber方法手动输入数字
int id = enterNumber();
//对集合进行遍历
for (int i = 0; i < list.size(); i++) {
//遍历集合,将每一次的值赋到水果类当中
FruitItem newItem = list.get(i);
//进行比较
if (newItem.id == id ) {
//如果满足条件进行删除,调用删除方法
list.remove(i);
return;
}
}
System.out.println("没有找到您要删除的编号,请重新输入");
}
//修改功能 需要的数据类型是ArrayList 返回值类型 是 void 方法名字是:updateFruitItem
public static void updateFruitItem(ArrayList<FruitItem> list){
System.out.println("请输入您要修改的数字编号");
//调用输入整数的方法
int id = enterNumber();
//对数组进行遍历
for (int i = 0; i < list.size(); i++) {
FruitItem newItem = list.get(i);
if (newItem.id == id ) {
System.out.println("请输入新的名称");
newItem.name = enterString();
System.out.println("请输入新的价钱");
newItem.price = enterDouble();
System.out.println("请输入新的单位");
newItem.unit = enterString();
return;
}
}
System.out.println("没有找到您要修改的数据编号");
}
//-------------------工具包--------------------------------------
//键盘录入整数,不需要数据 有返回值 方法名enterNumber
public static int enterNumber(){
Scanner sc = new Scanner(System.in);
int enterNumber = sc.nextInt();
return enterNumber;
}
//键盘录入小数, 不需要传入数据 有返回值为double 方法名 enterDouble
public static Double enterDouble(){
Scanner sc = new Scanner(System.in);
double enterDouble = sc.nextDouble();
return enterDouble;
}
//键盘录入字符串,不需要传入数据 有返回值 为 String类型 方法名 : enterString 用nextLine()方法接收一行
public static String enterString(){
Scanner sc = new Scanner(System.in);
String enterString = sc.nextLine();
return enterString;
}
}
|
|