关于do While循环的问题,程序如下;
import java.io.*;
public class DoWhile
{
public static void main(String arg[])
{
byte input = (byte)' ';
boolean cont = true;
System.out.println("请输入你想要的字符,或者输入!结束");
do{
try{
input = (byte) System.in.read();
}
catch (Exception e)
{
System.out.println("对不起,你输入错误!");
}
if(input != (byte) '!')
System.out.println("你输入的是"+(char) input);
else
{
System.out.println("执行结束");
cont = false;
}
} while ( cont );
}
}
如果输入 wo!程序执行结果
你输入的是w
你输入的是o
执行结束
可是如果输入的是wo不输入!执行结果就变成:
你输入的是w
你输入的是o
你输入的是
你输入的是
看不懂最后两行 "你输入的是" 这个循环怎么这样?
import java.io.*;
public class DoWhile
{
public static void main(String arg[])
{
byte input = (byte)' ';
boolean cont = true;
System.out.println("请输入你想要的字符,或者输入!结束");
do{
try{
input = (byte) System.in.read();
}
catch (Exception e)
{
System.out.println("对不起,你输入错误!");
}
if(input != (byte) '!')
System.out.println("你输入的是"+(char) input);
else
{
System.out.println("执行结束");
cont = false;
}
} while ( cont );
}
}
如果输入 wo!程序执行结果
你输入的是w
你输入的是o
执行结束
可是如果输入的是wo不输入!执行结果就变成:
你输入的是w
你输入的是o
你输入的是
你输入的是
看不懂最后两行 "你输入的是" 这个循环怎么这样?
public class DoWhile
{
public static void main(String arg[])
{
boolean cont = true;
ButfferedReader b=new ButfferReader(new InputStreamrReader(System.in));
System.out.println("请输入你想要的字符,或者输入!结束");
do{
try{
char s=(byte)readline();
}
catch (Exception e)
{
System.out.println("对不起,你输入错误!");
}
char d[]=b.split("");
for(int i=0,i<d.length;j++)
if(d[i] != (byte)'!')
System.out.println("你输入的是"+s);
else
{
System.out.println("执行结束");
cont = false;
}
} while ( cont );
}
}
不知道正确与否?:)
错了 应该是: char s=b.(byte)readline();
这句有点不懂啊?是什么意思呢?
public class DoWhile
{
public static void main(String arg[])
{
byte input = (byte)' ';
boolean cont = true;
System.out.println("请输入你想要的字符,或者输入!结束");
do{
try{
input = (byte) System.in.read();
}
catch (Exception e)
{
System.out.println("对不起,你输入错误!");
}
if(input != (byte) '\n'&&input!=(byte)'\r')
System.out.println("你输入的是"+(char) input);
else
{
System.out.println("执行结束");
cont = false;
}
} while ( cont );
}
}