我已經修復了它,但是在輸入我的第一個數字後它仍然顯示爲0。它顯示我對vikt正確,但不是pris。 :S本地變量可能未被初始化錯誤
package Brev;
import static javax.swing.JOptionPane.*;
public class Uppgift1 {
public static void main(String[] arg) {
String indata = showInputDialog("Hur mycket väger ditt brev i gram?");
int vikt = Integer.parseInt(indata);
int pris = 0;
do {
indata = showInputDialog("Ditt porto kostar " + pris + " kr med vikten " + vikt + " Gram." +
"\nSkriv in en följande vikt för att addera på ditt nuvarande porto.");
vikt = vikt + Integer.parseInt(indata);
pris = pris + pris;
if (vikt < 1) {
showMessageDialog(null, "Error");
}
else if (vikt <= 50){
showMessageDialog(null, "Portot blir "+ (pris + 7) + "Kr. med " + vikt + " Gram.");
}
else if (vikt <= 100){
showMessageDialog(null, "Portot blir "+ (pris + 14) + "Kr. med " + vikt + " Gram.");
}
else if (vikt <= 250){
showMessageDialog(null, "Portot blir "+ (pris + 28) + "Kr. med " + vikt + " Gram.");
}
else if (vikt <= 500){
showMessageDialog(null, "Portot blir "+ (pris + 42) + "Kr. med " + vikt + " Gram.");
}
else if (vikt <= 1000){
showMessageDialog(null, "Portot blir "+ (pris + 56) + "Kr. med " + vikt + " Gram.");
}
else if (vikt <= 2000){
showMessageDialog(null, "Portot blir "+ (pris + 70) + "Kr. med " + vikt + " Gram.");
}
else if (vikt > 2000)
showMessageDialog(null, "Maximalvikten är 2000GRAM/2KG");
} while (vikt <= 2000);
}
}
你想要'pris'有什麼價值?你從來沒有設置一個值... – hexafraction
在循環之前設置'pris = 0'並開始將它與任何你想要的值相加。如果你不這樣做'pris + pris'總會給你零。 – Armaiti
我希望pris的值爲0 hexafraction。 Aramiti你認爲這是我想要的。但如果我寫「int pris = 0;」同樣的事情發生。 –