当前位置:  技术问答>java相关

关于do-while 循环

    来源: 互联网  发布时间:2015-06-13

    本文导语:  编了一个程序,本来想实现输入不同的数,产生不同的操作,并且可以多次输入,但执行结果却是: //---------------------------- 输入为1: 结果为:start         1         无效操作         -35         无效...

编了一个程序,本来想实现输入不同的数,产生不同的操作,并且可以多次输入,但执行结果却是:
//----------------------------
输入为1:
结果为:start
        1
        无效操作
        -35
        无效操作
        -38
预期结果为:start
           1
//------------------------------
请问该怎样改一下原程序?
谢谢!

public static void main (String[] args)
{
 try
  {
   int i=0;
   do
   {
    int ndo=System.in.read();
    ndo=ndo-48;
    switch (ndo)
    {
       case 1:System.out.println("start");break;
       case 2:;break;
       case 3:;break;
       case 4:;break;
       default:System.out.println("无效操作"+ndo);
     }
     System.out.println(ndo);
   }
   while(i==0);
  }
  catch(IOException e)
  {
 System.out.println(e.toString());
  } 
}


|
因为你的i一直为0,所以它继续循环,从屏幕读入数据,而ndo的值已经不是1-5之间了,所以执行default语句。

|
呵呵
你那个break只跳出switch循环了

|
可以在do前面加一标号,比如LOOP:
然后改成break LOOP;就可以了

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3