Java 程序未显示所需的输出
Java program doesn't show the desired output
我是 Java 编程新手。我一直在尝试在 Java 中编写一些代码,但从未收到所需的输出(或必须出现的输出)。 (请参阅此处的代码)例如,如果我为类别 'w' 输入数量 4,那么根据我的说法,输出必须为 $2940,但它显示的输出不是“$2940”,而是 $38480。请帮助并提前致谢...
case 'A':
case 'a':
System.out.println("You selected NOS Tank.");
int price;
double quantity;
double variant=0;
System.out.println("Select the variant: ");
System.out.println("Enter 'D' without apostrophe for dry or 'W' for wet");
variant=xss.next().charAt(0);
if (variant=='D' || variant=='d'){
System.out.println("The price of dry nitrous oxide system is: 0");
} else if (variant=='w' || variant=='W'){
System.out.println("The price of wet nitrous oxide is: 0");
} else {
System.out.println("Invalid input.");
System.out.println("Exiting......");
System.exit(0);
}
System.out.println("Enter the quantity: ");
quantity=xss.next().charAt(0);
if (variant=='D' || variant=='d') {
System.out.println("The amount payable is: $"+(quantity*600));
} else if (variant=='w' || variant=='W') {
System.out.println("The amount payable is: $"+(quantity*740));
} else {
System.out.println("Invalid input.");
System.out.println("Exiting......");
System.exit(0);
}
break;
你在做
quantity=xss.next().charAt(0);
现在这个位置的字符是 4。但是当你将它存储在 int
中时,它将采用它的 ASCII 值,即 52。
可以试试
quantity=Integer.parseInt(xss.next().charAt(0)+"");
或者
quantity=Integer.parseInt(String.valueOf(xss.next().charAt(0)));
我是 Java 编程新手。我一直在尝试在 Java 中编写一些代码,但从未收到所需的输出(或必须出现的输出)。 (请参阅此处的代码)例如,如果我为类别 'w' 输入数量 4,那么根据我的说法,输出必须为 $2940,但它显示的输出不是“$2940”,而是 $38480。请帮助并提前致谢...
case 'A':
case 'a':
System.out.println("You selected NOS Tank.");
int price;
double quantity;
double variant=0;
System.out.println("Select the variant: ");
System.out.println("Enter 'D' without apostrophe for dry or 'W' for wet");
variant=xss.next().charAt(0);
if (variant=='D' || variant=='d'){
System.out.println("The price of dry nitrous oxide system is: 0");
} else if (variant=='w' || variant=='W'){
System.out.println("The price of wet nitrous oxide is: 0");
} else {
System.out.println("Invalid input.");
System.out.println("Exiting......");
System.exit(0);
}
System.out.println("Enter the quantity: ");
quantity=xss.next().charAt(0);
if (variant=='D' || variant=='d') {
System.out.println("The amount payable is: $"+(quantity*600));
} else if (variant=='w' || variant=='W') {
System.out.println("The amount payable is: $"+(quantity*740));
} else {
System.out.println("Invalid input.");
System.out.println("Exiting......");
System.exit(0);
}
break;
你在做
quantity=xss.next().charAt(0);
现在这个位置的字符是 4。但是当你将它存储在 int
中时,它将采用它的 ASCII 值,即 52。
可以试试
quantity=Integer.parseInt(xss.next().charAt(0)+"");
或者
quantity=Integer.parseInt(String.valueOf(xss.next().charAt(0)));