简单的函数调用,结果令我很疑惑,帮助啊!
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()就可以了