System.in.read()出现异常,请大家指教
编写一个应用程序,找出几个字母中最小的一个,假定第一个读入的值是一个说明其余字符个数的数字字符
我的代码如下:
import java.io.*;
public class Smallest
{
public static void main ( String[] args ) throws IOException
{
int counter , input , smallest = 1000;
//这里用int是因为System.in.read()返回的是一个int类型的值
System.out.println ( "请输入字符个数的总数:" );
counter = System.in.read () ;
System.out.println ( counter );
//这里显示一下从System.in输入流中得到的值,但不是我想给的 //值
for ( int i = 1 ; i <= counter ; i++ )
{
System.out.println ( "请输入一个小写字母:" );
input = System.in.read ();
smallest = input < smallest ? input : smallest ;
}
System.out.println ( "最小的字母是:" + smallest );
}
}
编译情况:
请输入字符个数的总数:
3
51
请输入一个小写字母:
请输入一个小写字母:
请输入一个小写字母:
令我困惑的是我输入的是3,应该counter = 3才是,但这里显示51;
还有无论我输入的字符个数是多少,都会输出3条“请输入一个小写字母:”
我是刚刚学java的,希望大家指点一下,感激