菜鸟求助!!
/*程序功能:输入圆的半径,计算出面积。*/
public class CircleArea{
  final static double Pi=3.14159;
  public static void main(String args[]) throws 
java.io.IOException{                  
   double r;
   System.out.print("请输入圆半径r=");  
    r=(double)System.in.read();
   System.in.skip(2);
   System.out.println("圆半径是:"+r+",圆面积是:"+area(r));                 
   }  
  static double area(double r){                      
    return(Pi*r*r);
   }  
  }  
问题(1)为什么输入1以后,显示输出的是ASCII值?我输入1,按回车,输出显示半径是49(1的ASCII值)。
(2)这里为什么不能用throws 
IOException 抛出异常?
------解决方案--------------------(1)为什么输入1以后,显示输出的是ASCII值?我输入1,按回车,输出显示半径是49(1的ASCII值)。
界面上read只能读到char或者是string,你输入的是1,就是char(1),转换成int就是49.
------解决方案--------------------try{
double r;  //用整形呗,面积可以用double
  System.out.print("请输入圆半径r="); 
 r=(double)System.in.read();
  System.in.skip(2);
  System.out.println("圆半径是:"+r+",圆面积是:"+area(r)); 
}catch(Exeception e){
   System.out.print(e.P...);你懂的
}
------解决方案--------------------[code=Java]
public class CircleArea{
  final static double Pi=3.14159;
  public static void main(String args[]){  
try{
 double r;
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));  
 System.out.print("请输入圆半径r="); 
   String str=reader.readLine(); //获取字符串  
r = Double.parseDouble(str);  
 System.out.println("圆半径是:"+r+",圆面积是:"+area(r));  
}catch(Exception){
    e.printstacktrace();
}
 }    
  static double area(double r){  
 return(Pi*r*r);
 } 
  }  
写成这样就没问题了。。你随便输入数字
------解决方案--------------------Java code
public class CircleArea{
 final static double Pi=3.14159;
 public static void main(String args[]){   
try{
  double r; 
  System.out.print("请输入圆半径r=");   
  Scanner scanner=new Scanner(System.in);  
   int r=scanner.nextInt(); //获取整数值 
  System.out.println("圆半径是:"+r+",圆面积是:"+area(r));   
}catch(Exception){
  e.printstacktrace();
}
  }
   
 static double area(double r){   
  return(Pi*r*r);
  }   
 }