Java 输出对象获胜原因的好方法是什么';Don’不要通读所有的;如果;声明?

Java 输出对象获胜原因的好方法是什么';Don’不要通读所有的;如果;声明?,java,Java,我正在制作一个程序,检查一个元素的正负电荷是否能够组合成0。我想做的一件事是输出两个元素不能组合的原因。但这比我想象的要困难。例如,如果钠试图与哥白尼结合,它将输出: 钠不与哥白尼结合: 两个价电荷具有相同的极性 一个或多个元素是人造的 但是我想不出一种方法来实现我的代码 这是我的密码: public void combine(Element element){ if ((element.getValence() > 0 && valence < 0) ||

我正在制作一个程序,检查一个元素的正负电荷是否能够组合成0。我想做的一件事是输出两个元素不能组合的原因。但这比我想象的要困难。例如,如果钠试图与哥白尼结合,它将输出:

钠不与哥白尼结合:

两个价电荷具有相同的极性

一个或多个元素是人造的

但是我想不出一种方法来实现我的代码

这是我的密码:

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);
                        }
                    }
                }
            }
        }
    }
    }
public void合并(元素){
如果((element.getValence()>0&&valence<0)| |(element.getValence()<0&&valence>0)){//一个元素需要正价,一个元素需要负价
if(valence!=0&&element.getValence()!=0){//检查valence是否不等于0
if(natural==true&&element.isNatural()

对于(int x=1;x的方法是为每个返回适当消息的
if
添加
else
子句

    if ((element.getValence() > 0 && valence < 0) || (element.getValence() < 0 && valence > 0)) { //one element needs a positive valence, and one needs a negative valence
    {
        // the inner tests
    }
    else
    {
        System.out.println("The elements are both positive or both negative");
    }
}
if((element.getValence()>0&&valence<0)| |(element.getValence()<0&&valence>0)){//一个元素需要正价,一个元素需要负价
{
//内部测试
}
其他的
{
System.out.println(“元素都是正的或都是负的”);
}
}

这应该可以让您从正确的方向开始。

自然
集在哪里?自然是一个具有getter和setter的私有布尔值。isNatural是getter.btw。您可能不需要这些getter,因为您似乎在
元素
中,因此可以访问私有变量。但是Samuel想打印一个我会解释为什么元素不能组合,不仅仅是第一个。@LouisianaHasek当然,但我不会为他写所有的代码。我的例子应该足以让他明白(并学到一些东西)。@JimGarrison谢谢你的帮助,我刚刚尝试了另一种检查和输出它们的方法。