A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© peng84 中级黑马   /  2016-10-31 23:19  /  828 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天刚学习的方法封装,课后作业扩展了一下,有什么不对的地方,请学长指教!
功能
   1.显示主界面 2.更改商品库存 3.退出
  1. /*
  2.         点名器
  3. */
  4. import java.util.Scanner;
  5. public class HomeWork04
  6. {
  7.         public static void main(String[] args)
  8.         {
  9.                 String[][] arr = {{"1","苹果","32"},{"2","橙子","23"},{"3","芒果","2"}};
  10.                 home();
  11.                 doit(arr);
  12.         }


  13.         //打印主界面
  14.         public static void home(){
  15.                 //打印系统选择界面
  16.                 System.out.println("--------库存管理----------");
  17.                 System.out.println("1.查看库存清单");
  18.                 System.out.println("2.修改商品库存数量");
  19.                 System.out.println("3.退出");
  20.                
  21.         }
  22.         //返回主界面
  23.         public static void back(String[][] arr){
  24.                 Scanner sc = new Scanner(System.in);
  25.                 while (true)
  26.                 {

  27.                 System.out.println("是否继续修改库存(Y/N):");
  28.                 String str = sc.next();
  29.                 switch (str)
  30.                 {
  31.                 case "y":
  32.                 case "Y":
  33.                         change(arr);
  34.                         break;
  35.                 case "N":
  36.                 case "n":
  37.                         home();
  38.                         doit(arr);
  39.                         break;
  40.                 }

  41.                 }
  42.         }

  43.         //主要执行语句
  44.         public static void doit(String[][] arr){
  45.                 while(true){
  46.                
  47.                         System.out.println("请输入要执行的操作序号:");
  48.                         //创建Scanner 对象,获取用户选择的数字
  49.                         Scanner sc = new Scanner(System.in);
  50.                         int chooseNum = sc.nextInt();
  51.                         //采用switch选择不同的方法执行
  52.                         switch (chooseNum)
  53.                         {
  54.                         case 1:
  55.                                 list(arr);
  56.                                 break;
  57.                         case 2:
  58.                                 change(arr);
  59.                                 list(arr);
  60.                                
  61.                                 break;
  62.                         case 3:
  63.                                 System.exit(0);
  64.                         default:
  65.                                 System.out.println("输入错误,请重新输入:");
  66.                                 break;
  67.                         }
  68.                 }
  69.         }

  70.         //查看库存清单
  71.         public static void list(String[][] arr){
  72.                 System.out.println("编号"+"\t"+"商品"+"\t"+"库存");
  73.                 for (int i=0; i<arr.length; i++)
  74.                 {       
  75.                         for (int j=0; j<arr[i].length; j++)
  76.                         {
  77.                         System.out.print(arr[i][j]+"\t");
  78.                         }

  79.                         System.out.println();
  80.                 }
  81.         }
  82.         //修改商品库存清单
  83.         public static void change(String[][] arr){
  84.                 //提示用户输入要修改商品编号
  85.                 System.out.println("请输入您想修改的商品的编号:");
  86.                 Scanner sc = new Scanner(System.in);
  87.                 int goodsNum = sc.nextInt()-1;
  88.                 //判断输入的数字是否是1~3
  89.                 if(goodsNum>=0 && goodsNum<3){

  90.                 //提示输入修改的库存数
  91.                 System.out.println("请输入库存数:");
  92.                 int storeNum = sc.nextInt();
  93.                 arr[goodsNum][2]= storeNum + "";
  94.                 //打印商品库存
  95.                 list(arr);
  96.                 //询问是否继续修改
  97.                 back(arr);
  98.                 }else{
  99.                         System.out.println("您输入的商品编号有误。");
  100.                         while (true)
  101.                         {
  102.                                 change(arr);
  103.                                 back(arr);
  104.                                 break;
  105.                         }
  106.                 }
  107.         }

  108. }
复制代码

2 个回复

倒序浏览
我这死循环里引用死循环不知道有没有啥影响呢
回复 使用道具 举报
可以啊,能封装就很厉害了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马