我的java程序跳过步骤
因此,我的程序一直运行良好,直到最后必须计算并显示结果。它只显示结果,而不计算最后的“如果”我的java程序跳过步骤,java,math,skip,Java,Math,Skip,因此,我的程序一直运行良好,直到最后必须计算并显示结果。它只显示结果,而不计算最后的“如果” public class Convertisseur1 { public static void main(String[] args) { String valeurInitial; String valeurPoid; String valeurDesire; String valeurInitial2; String valeurInitial3;
public class Convertisseur1 {
public static void main(String[] args) {
String valeurInitial;
String valeurPoid;
String valeurDesire;
String valeurInitial2;
String valeurInitial3;
//seperation des string
valeurInitial = (args[0]);
valeurInitial2 = (args[0]);
valeurDesire = (args[1]);
valeurInitial3 = (args[0]);
valeurInitial = valeurInitial.replace("kg","");
valeurInitial = valeurInitial.replace("g","");
valeurInitial = valeurInitial.replace("t","");
valeurInitial = valeurInitial.replace("lb","");
double valeurdouble = Double.parseDouble(valeurInitial);
valeurInitial2 = valeurInitial2.substring(valeurInitial2.length()-2);
valeurInitial3 = valeurInitial3.substring(valeurInitial3.length()-1);
//convertion
System.out.println(valeurInitial2);
System.out.println(valeurDesire);
System.out.println(valeurdouble);
if(valeurInitial2 == "kg" &&valeurDesire == "g"){
valeurdouble = (valeurdouble*1000);
System.out.println("La convertion finale : " + valeurdouble);
}else if(valeurInitial2 == "kg"&&valeurDesire == "lb")
valeurdouble = (valeurdouble/2.2046226);
/*System.out.println(valeurdouble);
//System.out.println(valeurPoid);
System.out.println(valeurDesire);
System.out.println(valeurInitial2);
System.out.println(valeurInitial3);*/
}
}
您缺少else if上的{},并且它在最后一个if上不打印任何内容,因为它需要另一个System.out.println(),因为它不是循环
}else if(valeurInitial2.equals( "kg" ) && valeurDesire.equals("lb" ) ){
valeurdouble = (valeurdouble/2.2046226);
System.out.println("La convertion finale : " + valeurdouble);
}
答案是ty,但程序仍然跳过了计算,这是我在cmd上输入8kg cmd:kg g g 8.0时得到的结果。我看到你使用“==”来比较字符串,在java中,你需要使用.equals函数来比较字符串。如果(valeurInitial2.equals(“kg”)和&valeurDesire.equals(“g”){//stuff}它可以工作,感谢alot Ramiro!投票结束,这是另一个字符串比较问题。