我使用的是neatbean6.8,最近从sun公司官网下的。
学习编程的过程中,发现了点小问题,就是System.in.skip(2);
这个语句貌似不好用。我的程序如下:import java.io.*;public class Main { public static void main(String[] args)throws IOException {
char ch = 0; do
{
System.out.println("请输入一个小写字母: ");
ch = (char)System.in.read();
System.in.skip(2);//跳过回车
}while (ch < 'a' || ch > 'z');
}}
输出:
请输入一个小写字母:
1
请输入一个小写字母:
请输入一个小写字母:
a
根据输出看,System.in.skip(2);没有起作用。使用断点查看ch的值的时候,ch第一次的值是1
第二次的值是/n,第三次是a。用System.in.read();就没问题。
在cmd环境下,使用javac Main.java java Main 又没问题!
希望各位给个解答。
为这个问题纠结了一个下午了。
学习编程的过程中,发现了点小问题,就是System.in.skip(2);
这个语句貌似不好用。我的程序如下:import java.io.*;public class Main { public static void main(String[] args)throws IOException {
char ch = 0; do
{
System.out.println("请输入一个小写字母: ");
ch = (char)System.in.read();
System.in.skip(2);//跳过回车
}while (ch < 'a' || ch > 'z');
}}
输出:
请输入一个小写字母:
1
请输入一个小写字母:
请输入一个小写字母:
a
根据输出看,System.in.skip(2);没有起作用。使用断点查看ch的值的时候,ch第一次的值是1
第二次的值是/n,第三次是a。用System.in.read();就没问题。
在cmd环境下,使用javac Main.java java Main 又没问题!
希望各位给个解答。
为这个问题纠结了一个下午了。
我就装得有neatbean6.8
希望大家用其他编译器试试
看看是不是neatbean的问题还是代码有问题
我试过了跟楼主同样的问题
用记事本管用
应该就是NB的问题
netbeans用javac,编译没问题,而且也证实了,用netbeans编译用命令行执行是没有问题的
所以至少你知道你的程序没问题
而且奇怪的是如果你用 public static void main(String[] args) throws IOException {
char ch = 0;
do{
System.out.println("请输入一个小写字母: ");
ch = (char)System.in.read();
System.in.skip(2);
System.in.(2);
System.in.reset();
}while (ch < 'a' || ch > 'z');
}
当你read的时候却没有变