建立了一个方程类,对象是A,调用b和c 的值.
初学者,没办法 只有用这种效率低的做法了^...
if(A.getB()<0 && A.getC()<0) {
System.out.println(A.getA()+"x*x" + A.getB()+ "x"+A.getC()+"=0");
}
else if(A.getB()>0 && A.getC()>0) {
System.out.println(A.getA()+"x*x" +"+"+ A.getB()+ "x"+"+"+A.getC()+"=0");
}
else if(A.getB()>0 && A.getC()<0) {
System.out.println(A.getA()+"x*x" +"+"+ A.getB()+ "x"+A.getC()+"=0");
}
else {
System.out.println(A.getA()+"x*x" + A.getB()+ "x"+"+" + A.getC()+"=0");
}有什么简单的方法输出正确的方程啊? 主要是系数是正数时 前面要有个 "+" 号
初学者,没办法 只有用这种效率低的做法了^...
if(A.getB()<0 && A.getC()<0) {
System.out.println(A.getA()+"x*x" + A.getB()+ "x"+A.getC()+"=0");
}
else if(A.getB()>0 && A.getC()>0) {
System.out.println(A.getA()+"x*x" +"+"+ A.getB()+ "x"+"+"+A.getC()+"=0");
}
else if(A.getB()>0 && A.getC()<0) {
System.out.println(A.getA()+"x*x" +"+"+ A.getB()+ "x"+A.getC()+"=0");
}
else {
System.out.println(A.getA()+"x*x" + A.getB()+ "x"+"+" + A.getC()+"=0");
}有什么简单的方法输出正确的方程啊? 主要是系数是正数时 前面要有个 "+" 号
A.getA()+"x*x" +
(A.getB()<0?"":"+")+ A.getB()+
"x"+
(A.getC()<0?"":"+")+A.getC()+
+"=0"
);//上面是使用了三元运算符减少if语句,好像也可以使用String.format()方法来格式化,没有用过,就不贴了。
A.getA(), A.getB(), A.getC()));经测试,这样也是额可以的。
这里面的 %+dx 输出只能输出为正的吗? 如果为负 前面还会有那个 + 号没?另外再问个刚发现的小问题…
我在定义方程类里的δ时
private int disc =(int) (Math.pow(b,2)-4*a*c); 可以正常通过;但将这个分开写就要报错了,这是为什么呢?
private int disc; //提示这行出错
disc =(int) (Math.pow(b,2)-4*a*c);
1.负数的时候前面有没有负号,我不说,你测试一下就知道了。
2.你是不是这样写的:public class A{
private int disc; //#1
disc =(int) (Math.pow(b,2)-4*a*c); //#2
private int disc =(int) (Math.pow(b,2)-4*a*c); //#3
public void calc(){
.....
}
}#1在类中定义了一个disc的私有成员变量,没有初始化没有错误;
#2这是一行代码,不能在定义成员变量的时候编写;
#3这样写是正确的,含义是在定义成员变量的时候就初始化;