class inputchar
{ public static void main(String args[])  throws Exception
{
System.out.println("请输入大写字母其中的个的其中一个,来猜字母");
int inputChar=System.in.read();
char trueChar='B'; if((inputChar>='A')&&(inputChar<='Z'))
{
while(inputChar!=trueChar)
{
if(inputChar<trueChar)
{
System.out.println("你所输入的字符在真实字符的前面,请重新输入");
inputChar=System.in.read();
break;
}
else if(inputChar>trueChar)
{
System.out.println("你所输入的字符在真实字符的后面,请重新输入");
inputChar=System.in.read();
break;
}
}
if(inputChar==trueChar)
System.out.println("恭喜中将");

} else
System.out.println("你输入的不是大写字母中的任何一个");

}

}
结果在输出的时候多了2行提示,

解决方案 »

  1.   


    public class Test {
        public static void main(String args[]) throws Exception {
            System.out.println("请输入大写字母其中的个的其中一个,来猜字母");
            int inputChar = System.in.read();
            char trueChar = 'B';        if ((inputChar >= 'A') && (inputChar <= 'Z')) {
                while (inputChar != trueChar) {
                    if (inputChar < trueChar) {
                        System.out.println("你所输入的字符在真实字符的前面,请重新输入");
                    } else if (inputChar > trueChar) {
                        System.out.println("你所输入的字符在真实字符的后面,请重新输入");
                    }
                    inputChar = System.in.read();
                    inputChar = System.in.read();
                    inputChar = System.in.read();
                    while (inputChar == ' ') {
                        inputChar = System.in.read();
                    }            }            if (inputChar == trueChar) System.out.println("恭喜中将");        }        else System.out.println("你输入的不是大写字母中的任何一个");    }} // end Test
      

  2.   

    import java.io.*;public class Test {
        public static void main(String args[]) throws Exception {        System.out.println("请输入大写字母其中的个的其中一个,来猜字母");
            BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
            String line = in.readLine();
            int inputChar = line.charAt(0);
            char trueChar = 'B';        if ((inputChar >= 'A') && (inputChar <= 'Z')) {
                while (inputChar != trueChar) {
                    if (inputChar < trueChar) {
                        System.out.println("你所输入的字符在真实字符的前面,请重新输入");
                    } else if (inputChar > trueChar) {
                        System.out.println("你所输入的字符在真实字符的后面,请重新输入");
                    }
                    line = in.readLine();
                    inputChar = line.charAt(0);            }            if (inputChar == trueChar) System.out.println("恭喜中将");        }        else System.out.println("你输入的不是大写字母中的任何一个");    }} // end Test