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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 余琪琪 中级黑马   /  2014-3-26 21:36  /  903 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 余琪琪 于 2014-3-27 00:36 编辑
  1. import java.util.Scanner;
  2. public class BMS_0324
  3. {
  4.         static int count = 1;//二维数组字符串
  5.         static String[][] book = new String[10000][6];
  6.         static Scanner sc = new Scanner(System.in);
  7.         public static void main(String[] args)  throws Exception
  8.         {
  9.                 printWelcome();

  10.                 main:while(true)//主界面
  11.                 {
  12.                         System.out.println("请选择服务:(1)显示图书     (2)增加图书    (3)删除图书    (4)修改信息    (5)退出");
  13.                         int Select = sc.nextInt();

  14.                         if(Select == 1)
  15.                         {
  16.                                 showBooks();
  17.                         }

  18.                         //增加图书模块
  19.                         else if(Select == 2)
  20.                         {
  21.                                 addBook();
  22.                         }//增加模块到这里结束


  23.                         else if(Select == 3)
  24.                         {
  25.                                 deleteBook();
  26.                         }
  27.                         else if(Select == 4)
  28.                         {
  29.                                 amendBook();
  30.                         }

  31.                         //退出模块
  32.                         else if(Select == 5)
  33.                         {
  34.                                  exitSystem();
  35.                         }//退出模块到这里结束
  36.                 }
  37.         }
  38. //--------------------------------------------------------------------------------------------------------------------------------------------------
  39.         public static void printWelcome()
  40.         {
  41.                         //输出行数15,列数60的空心长方形框
  42.                 for(int x=1;x<=15;x++)//外部循环
  43.                 {       
  44.                         //暂时只能这样输出中间那行
  45.                         if(x==8)
  46.                         {
  47.                                 System.out.print("*                 欢迎进入图书管理系统                     *");
  48.                         }else
  49.                         {
  50.                                 for(int y=1;y<=60;y++)//内部循环
  51.                                 {
  52.                                         if(x==1 || x==15 || y==1 || y==60)//打印四个边框
  53.                                         {
  54.                                                 System.out.print("*");
  55.                                         }else
  56.                                         {
  57.                                                 System.out.print(" ");//打印空心部分
  58.                                         }
  59.                                 }
  60.                         }
  61.                         System.out.println();//每一行换行
  62.                 }
  63.         }

  64.         //增加模块
  65.         public static void addBook()  throws Exception
  66.         {
  67.                 add:while (true)//增加模块界面
  68.                 {
  69.                         System.out.println("请输入您需要增添的书名:");
  70.                         String name = sc.next();
  71.                         System.out.println("请输入此书的作者:");
  72.                         String author = sc.next();
  73.                         System.out.println("请输入此书的价格:");
  74.                         String price = sc.next();
  75.                         System.out.println("请输入此书的出版社:");
  76.                         String publish = sc.next();
  77.                         System.out.println("请输入此书的日期:");
  78.                         String date = sc.next();
  79.                         System.out.println("请输入此书的书号:");
  80.                         String isbn = sc.next();

  81.                        
  82.                         book[count-1][0] = name;
  83.                         book[count-1][1] = author;
  84.                         book[count-1][2] = price;
  85.                         book[count-1][3] = publish;
  86.                         book[count-1][4] = date;
  87.                         book[count-1][5] = isbn;

  88.                         System.out.println("尊敬的用户,你输入的新书信息如下:");
  89.                         System.out.println("书名:" + name+ "作者:" + author + "价格:"+ price + "出版社:" + publish + "日期:" + date + "书号:"+ isbn);
  90.                         System.out.println("请核对后选择是否保存:(1)是(2)否");
  91.                         String answer;
  92.                         affirm:while(true)//增加图书-保存模块
  93.                         {
  94.                                 answer = sc.next();
  95.                                 //保存
  96.                                 if(answer.equals("1"))
  97.                                 {
  98.                                         count++;//下次就保存到二维数组的下一个
  99.                                         System.out.print("正在保存请稍后");
  100.                                         for(int i=0;i<6;i++)
  101.                                         {
  102.                                                 Thread.sleep(300);
  103.                                                 System.out.print(".");
  104.                                         }
  105.                                         System.out.println("");
  106.                                         System.out.println("已保存,是否继续录入?(1)是(2)否");
  107.                                         Scanner sc = new Scanner(System.in);
  108.                                         String answer1 = sc.next();
  109.                                         if(answer1.equals("1"))
  110.                                         {
  111.                                                 break affirm;//跳出"增加图书-保存模块",到"增加模块主界面"
  112.                                         }
  113.                                         else if(answer1.equals("2"))
  114.                                         {
  115.                                                 break add;//跳到"增加模块主界面",到"主界面"
  116.                                         }
  117.                                         else
  118.                                         {
  119.                                                 System.out.println("输入错误,请重新输入:");
  120.                                                 continue;
  121.                                         }
  122.                                 }
  123.                                 //不保存
  124.                                 else if(answer.equals("2"))
  125.                                 {
  126.                                         for(int i=0;i<6;i++)
  127.                                         {
  128.                                                 book[count-1][i]=null;
  129.                                         }
  130.                                         System.out.println("已放弃保存,是否继续录入?(1)是(2)否");
  131.                                         answer = sc.next();
  132.                                         if(answer.equals("1"))
  133.                                         {
  134.                                                 break affirm;//跳出"增加图书-保存模块",到"增加模块主界面"
  135.                                         }
  136.                                         else if(answer.equals("2"))
  137.                                         {
  138.                                                 break add;//跳到"增加模块主界面",到"主界面"
  139.                                         }
  140.                                         else
  141.                                         {
  142.                                                 System.out.println("输入错误,请重新输入:");
  143.                                                 continue;
  144.                                         }                                               
  145.                                 }
  146.                                 else
  147.                                 {
  148.                                         System.out.println("输入错误,请重新输入:");
  149.                                         continue;
  150.                                 }
  151.                         }//增加图书-保存模块到这里结束
  152.                 }//增加模块主界面到这里结束
  153.         }

  154.         //查看模块
  155.         public static void showBooks()
  156.         {
  157.                 if(book[0][0]==null)
  158.                 {
  159.                         System.out.println("尊敬的用户,很抱歉,您尚未录入图书");
  160.                 }
  161.                 else if(count == 2)
  162.                 {
  163.                         for(int i=0;i<count-1;i++)
  164.                         {
  165.                                 System.out.println("书名:" + book[i][0] + "作者:" + book[i][1] + "价格:"+ book[i][2] + "出版社:" + book[i][3] + "日期:" + book[i][4] + "书号:"+ book[i][5]);
  166.                         }
  167.                 }
  168.                 else
  169.                 {
  170.                         for(int x=0;x<count;x++)
  171.                         {
  172.                                 for(int y=0;y<count-x-1;y++)
  173.                                 {
  174.                                         double n = Double.parseDouble(book[count-1][2]);
  175.                                         double m = Double.parseDouble(book[count-1][2]);
  176.                                         if(n>m)
  177.                                         {
  178.                                                 for(int z=0;z<6;z++)
  179.                                                 {
  180.                                                         String temp;
  181.                                                         temp = book[x][z];
  182.                                                         book[x][z]=book[y][z];
  183.                                                         book[y][z]=temp;
  184.                                                 }
  185.                                         }
  186.                                 }
  187.                         }
  188.                         for(int i=0;i<count-1;i++)
  189.                         {
  190.                                 System.out.println("书名:" + book[i][0] + "作者:" + book[i][1] + "价格:"+ book[i][2] + "出版社:" + book[i][3] + "日期:" + book[i][4] + "书号:"+ book[i][5]);
  191.                         }
  192.                 }

  193.         }

  194.         //删除模块
  195.         public static void deleteBook()
  196.         {
  197.                 System.out.println("进入删除模块");
  198.         }

  199.         //修改模块
  200.         public static void amendBook()
  201.         {
  202.                 System.out.println("进入修改模块");
  203.         }

  204.         //退出模块
  205.         public static void exitSystem()
  206.         {
  207.                 System.out.println("是否确认退出?(1)是(2)否");
  208.                 String answer;
  209.                 exit:while(true)
  210.                 {
  211.                         answer = sc.next();
  212.                         if(answer.equals("1"))
  213.                         {
  214.                                 System.out.print("谢谢使用,再见!");
  215.                                 System.exit(0);
  216.                         }
  217.                         else if(answer.equals("2"))
  218.                         {
  219.                                 break exit;
  220.                         }
  221.                         else
  222.                         {
  223.                                 System.out.println("输入错误,请重新输入:");
  224.                                 continue;
  225.                         }
  226.                 }
  227.         }
  228. }
复制代码

count是计算图书保存次数的计数器,初始化为一.编译时显示空指针异常.求解!!!!!!!!!!!!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马