看来你对Java的输入系统不熟悉啊 ^_^
稍等,我改一下你的程序 ^_^

解决方案 »

  1.   

    import java.io.*;
    public class SquareRoot {
    public static void main(String[] args) {
    String s;
    double inDouble;
    System.out.println("Please enter a double number:");
    try {
    BufferedReader streami = new BufferedReader(new InputStreamReader(System.in));
    s = streami.readLine();
    inDouble = Double.parseDouble(s);
    System.out.println("Square Root of " + (double)inDouble + "=" + squareRoot((double)inDouble));
    } catch (IOException e) {
    System.out.println("Error reading from user!");
    } catch (NumberFormatException ex) {
    System.out.println("输入的数字格式不正确!");
    }
    } static double squareRoot(double d) {
    double result=0.0;
    if(d>=0)
    result=Math.sqrt(d);
    return result;
    }
    }
      

  2.   

    BufferedReader streami = new BufferedReader(new InputStreamReader(System.in));
    System.in是一个InputStream一个字节流,很不好用,所以将其转换为一个Reader一个字符流
    在转换为具有缓冲功能的字符流,这样就可以使用readLine()方法一次输入一行了其输入的内容是字符串,再将字符串转换为double型用:Double.parseDouble()方法