日期:2014-05-20  浏览次数:20888 次

帮忙找错。谢谢!
import java.io.*;
public class Test2java 
{
/**
* @param args
*/
public static void main(String[] args)throws IOException

{

InputStreamReader isr=new InputStreamReader(System.in);

BufferedReader br=new BufferedReader(isr);
 
String s=br.readLine();
 
int a =Integer.parseInt(s);
 
  int b=Integer.parseInt(br.readLine());

int c=Integer.parseInt(br.readLine());

  double d1=(-b)+Math.sqrt(b*b-4*a*c)/(2*a);
 
System.out.println("方程第一个根是:"+d1);
 
double d2=(-b)-Math.sqrt(b*b-4*a*c)/(2*a);
 
System.out.println("方程第二个根是:"+d2);
 
 
 
}


}



还有这个出来
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
  at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
  at java.lang.Integer.parseInt(Integer.java:504)
  at java.lang.Integer.parseInt(Integer.java:527)
  at Test2java.main(Test2java.java:20)


------解决方案--------------------
int a =Integer.parseInt(s);
  
int b=Integer.parseInt(br.readLine());

int c=Integer.parseInt(br.readLine());

应该这里格式化的时候你输入了非数字字符
------解决方案--------------------
探讨
int a =Integer.parseInt(s);

int b=Integer.parseInt(br.readLine());

int c=Integer.parseInt(br.readLine());

应该这里格式化的时候你输入了非数字字符

------解决方案--------------------
是不是 .readLine() 读到的数据为空了,就报这个错误。
------解决方案--------------------
刚试了下,用这个 Integer.parseInt("xx"); 本身就报错误。
------解决方案--------------------
Java code
Integer.parseInt("");

------解决方案--------------------
Integer.parseInt()当参数不是由整数组成的字符串时,就会抛出异常。
比如参数是"24"就正确,但是如果是" 24"就会出错。
------解决方案--------------------
应该输入int型数据,
------解决方案--------------------
探讨
是不是 .readLine() 读到的数据为空了,就报这个错误。