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)));