我正在制作一个程序,检查一个元素的正负电荷是否能够合并为0,我想要做的是输出两种元素无法合成的原因。但这比我想象的要困难得多。例如,如果钠试图用鎶结合,它会输出这样的:什么是输出对象不会经历所有“if”语句的好方法?
钠不鎶结合:
两个价费有相同的极性。
一个或多个元素是人造的。
但我想不出一种方法来实现这一点到我的代码。
这里是我的代码:
public void combine(Element element){
if ((element.getValence() > 0 && valence < 0) || (element.getValence() < 0 && valence > 0)) { //one element needs a positive valence, and one needs a negative valence
if (valence != 0 && element.getValence() != 0) { //checks to see if valence is not equal to 0
if (natural == true && element.isNatural() == true) { //checks to see if both elements are natural
for (int x = 1; x <= 4; x++) {//bruteforce the atoms to see if they both add up to 0.
for (int y = 1; y <= 4; y++) {
if ((valence * x) + (element.getValence() * y) == 0) {
System.out.println(name + " combines with " + element.getName() + " to form " + symbol + "" + x + "" + element.getSymbol() + "" + y);
}
}
}
}
}
}
}
感谢您的帮助!
“自然”在哪里设置? –
natural是一个私有布尔值,它有一个getter和setter。 isNatural是一个吸气。 –
btw。你可能不需要那些getter,因为你似乎是以'Element'的方式进入,因此可以访问私有变量。 – Adowrath