我正在完成一项学校作业。我应该实现一个类并提供方法getSolution1和getSolution2。但是,我的代码存在两个问题,我无法弄清楚。
问题#1就在这一行:
solution1= ((-1*b)/> + Math.sqrt(Math.pow(b,2)-(4*a*c)));
编译器告诉我:令牌“>”上的语法错误,删除此令牌。我无法弄清楚我的语法是否有问题。
问题#2在产品线上:
String quadEquation= "The quadratic equation is "+ a + Math.pow(("x"),2) + " + " + b+"x"+ " + " + c+ " =0";
在Math.pow下我收到一条错误消息:Method pow不适用于参数String
这是我的整个代码:
public class QuadraticEquation
{
double a;
double b;
double c;
double solution1;
double solution2;
QuadraticEquation (double a, double b, double c){
a= this.a;
b= this.b;
c= this.c;
}
public boolean hasSolution (){
if ((Math.pow(b,2))- (4*a*c)<0){
return false;
}
else
{
return true;
}
}
public double getSolution1 (double a, double b, double c)
{
if (hasSolution){
solution1= ((-1*b) + Math.sqrt(Math.pow(b,2)-(4*a*c))) / 2*a;
return solution1;
}
}
public double getSolution2 (double a, double b, double c){
if (hasSolution){
solution1= ((-1*b) - Math.sqrt(Math.pow(b,2)-(4*a*c))) / 2*a;
return solution2;
}
}
public String toString (double a, double b, double c){
String quadEquation= "The quadratic equation is "+ a + "x^2" + " + " + b+"x"+ " + " + c+ " =0";
return quadEquation;
}
}
由于这是一项学校作业,我正在寻找解决这个问题的指导。
谢谢。
答案 0 :(得分:8)
您的第一个问题是您无法使用/&gt;一起。这不是一个正确的操作。 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html
第二个问题是因为Math.pow需要两个数字。你有一个字符串。这就像试图获得苹果这个词的力量。你不能这样做。您必须先将该字符串转换为int。 How to convert a String to an int in Java?
答案 1 :(得分:2)
solution1= ((-1*b) + Math.sqrt(Math.pow(b,2)-(4*a*c))) / 2*a;
Java中没有/>
这样的东西。
String quadEquation= "The quadratic equation is "+ a + "x^2" + " + " + b+"x"+ " + " + c+ " =0";
Math.pow需要数字,而你传递字符串“x”。符号“^”通常用于表示幂,因此x ^ 2是x的2的幂。我认为在标准输出中写上标没有简单的解决方案。
如果方程没有解决方案,Java无法理解要返回的内容
public double getSolution2 (double a, double b, double c){
if (hasSolution){
solution1= ((-1*b) - Math.sqrt(Math.pow(b,2)-(4*a*c))) / 2*a;
return solution2;
}
return -1; // or throw an exception.
}
返回-1将修复它。