public static int getInputData() //被调用函数
{
try
{String s;
System.in.read();
BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
s=keyin.readLine();
int n=Integer.parseInt(s);
return n;
}
catch(IOException exp)
{
return 0;
}

}         public static void main(String[] args)//主函数
{try
{int a,b;
System.out.println("输入第一个数:");
System.in.read();
a=getInputData();
System.out.println("输入第二个数:");
System.in.read();
b=getInputData();
System.out.println("a="+a+" b="+b);
if(a>b)
{
int t=a;
a=b;
b=t;
}
for (int i=a;i<=b;i++)
{
if(isprime(i))
{
System.out.print(" "+i);
}
}
}
catch(IOException e)
{}
}在主函数中调用getInputData() ,为什么在主函数中b=getInputData()得到的总是0;
另外System.in.read()在函数调用中为什么一定要有(我实验过,去掉System.in.read(),编译出错,提示输入为“”)?