黑马程序员技术交流社区
标题:
方法封装制作的库存清单
[打印本页]
作者:
peng84
时间:
2016-10-31 23:19
标题:
方法封装制作的库存清单
今天刚学习的方法封装,课后作业扩展了一下,有什么不对的地方,请学长指教!
功能
1.显示主界面 2.更改商品库存 3.退出
/*
点名器
*/
import java.util.Scanner;
public class HomeWork04
{
public static void main(String[] args)
{
String[][] arr = {{"1","苹果","32"},{"2","橙子","23"},{"3","芒果","2"}};
home();
doit(arr);
}
//打印主界面
public static void home(){
//打印系统选择界面
System.out.println("--------库存管理----------");
System.out.println("1.查看库存清单");
System.out.println("2.修改商品库存数量");
System.out.println("3.退出");
}
//返回主界面
public static void back(String[][] arr){
Scanner sc = new Scanner(System.in);
while (true)
{
System.out.println("是否继续修改库存(Y/N):");
String str = sc.next();
switch (str)
{
case "y":
case "Y":
change(arr);
break;
case "N":
case "n":
home();
doit(arr);
break;
}
}
}
//主要执行语句
public static void doit(String[][] arr){
while(true){
System.out.println("请输入要执行的操作序号:");
//创建Scanner 对象,获取用户选择的数字
Scanner sc = new Scanner(System.in);
int chooseNum = sc.nextInt();
//采用switch选择不同的方法执行
switch (chooseNum)
{
case 1:
list(arr);
break;
case 2:
change(arr);
list(arr);
break;
case 3:
System.exit(0);
default:
System.out.println("输入错误,请重新输入:");
break;
}
}
}
//查看库存清单
public static void list(String[][] arr){
System.out.println("编号"+"\t"+"商品"+"\t"+"库存");
for (int i=0; i<arr.length; i++)
{
for (int j=0; j<arr[i].length; j++)
{
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
//修改商品库存清单
public static void change(String[][] arr){
//提示用户输入要修改商品编号
System.out.println("请输入您想修改的商品的编号:");
Scanner sc = new Scanner(System.in);
int goodsNum = sc.nextInt()-1;
//判断输入的数字是否是1~3
if(goodsNum>=0 && goodsNum<3){
//提示输入修改的库存数
System.out.println("请输入库存数:");
int storeNum = sc.nextInt();
arr[goodsNum][2]= storeNum + "";
//打印商品库存
list(arr);
//询问是否继续修改
back(arr);
}else{
System.out.println("您输入的商品编号有误。");
while (true)
{
change(arr);
back(arr);
break;
}
}
}
}
复制代码
作者:
peng84
时间:
2016-10-31 23:29
我这死循环里引用死循环不知道有没有啥影响呢
作者:
efkllx
时间:
2016-10-31 23:32
可以啊,能封装就很厉害了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2