为什么我无限重复第二个方法

为什么我无限重复第二个方法

http://img1.sycdn.imooc.com/climg//5980624e0001ba7307540827.jpg

 public void notice(){
  System.out.println("******************************************************************");
  System.out.println("     1.插入数据");
  System.out.println("     2.显示所有数据");
  System.out.println("     3.在指定位置插入数据");
  System.out.println("     4.查询能被3整除的数据");
  System.out.println("     0.退出程序");
  System.out.println("******************************************************************");
  System.out.println("请输入您要查询的数字:");
 }
 
 public int[] insertData(){
  int []a=new int[10];
  Scanner b=new Scanner(System.in);
  for(int i=0;i<a.length-1;i++){
   System.out.println("请输入第"+(i+1)+"个数据");
   a[i]=b.nextInt();
  }
  System.out.println("您输入的数据为:");
  for(int i=0;i<a.length-1;i++){
  System.out.print(a[i]+"    ");
  }
  System.out.println();
  return a;
 }
 
 public void showData(int[]a,int length){
  System.out.println("数组元素为:");
  for(int i=0;i<a.length-1;i++){
   System.out.print(a[i]+"    ");
   }
   System.out.println();
 }
 
 public void insertAtArray(int[]a,int n,int k){
  for(int i=a.length-1;i>=k;i--){
   a[i]=a[i-1];
  }
  a[k]=n;
 }
 
 public void divThree(int[]a){
  System.out.println("打印能被3整除的元素:");
  for(int i=0;i<a.length;i++){
   if (a[i]%3==0){
    System.out.print(a[i]+"  ");
   }
  }
 }
 
 public static void main(String[] args) {
  int []a=new int[10];
  DemoAsm da=new DemoAsm();
  da.notice();
  Scanner b=new Scanner(System.in);
  int sum=b.nextInt();
  while(true){
  switch(sum){
  case 1:
   da.insertData();
   da.notice();
   break;

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你好,作业一直在执行第二个方法的原因:case 1 后面的break跳出的是当前switch结构,并没有跳出while循环,而且sum的值也一直没有变。因此可以将sum定义在while循环外面,将sum=b.nextInt();写到while和switch结构之间,利用if语句判断sum,当sum为0时,调用break退出程序。

另外建议:将da.notice();写到while和switch结构之间,将其他地方的去掉;可以利用while循环有效的简化代码。

祝学习愉快~

  • Ghostless 提问者 #1
    谢谢,问题用第一个建议解决了, 第二个建议da.notice();写到while和switch之间,还是不行
    2017-08-01 20:34:34
  • 一叶知秋519 回复 提问者 Ghostless #2
    第二个是关于优化代码的建议,你指的不行是菜单不能连续显示还是?你可以把代码贴出来,我们再帮你看下。祝学习愉快~
    2017-08-02 10:23:59
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师