简单的函数调用,结果令我很疑惑,帮助啊!
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(),编译出错,提示输入为“”)?
------解决方案--------------------Systme.in.read()可以不要的只要调用getIntputData()就可以了