Java 如何使程序将用户输入20读取为20%或0.20

Java 如何使程序将用户输入20读取为20%或0.20,java,Java,这是我要求用户输入以下内容的部分 输入项目名称:Shirt 项目原价:700 加成百分比:20 销售税率:7 输出: 待售商品:衬衫 商品原价:700.00 加价后的价格:840.00 销售税:58.80 项目最终价格:898.80 所以我的问题是如何让程序读取20和7的输入作为百分比 import java.util.*; import javax.swing.*; public class lab3 { public static void main(Str

这是我要求用户输入以下内容的部分

输入项目名称:Shirt

项目原价:700

加成百分比:20

销售税率:7

输出

待售商品:衬衫

商品原价:700.00

加价后的价格:840.00

销售税:58.80

项目最终价格:898.80

所以我的问题是如何让程序读取20和7的输入作为百分比

    import java.util.*;
    import javax.swing.*;

    public class lab3 {
    public static void main(String[] args) {
    JOptionPane jo=new JOptionPane();
    String item=jo.showInputDialog("Item to be sold: ");
    double Oprice=Double.parseDouble(
            jo.showInputDialog("Original price of the item: "));
    double mup=Double.parseDouble(
            jo.showInputDialog("Marked-up percentage: "));   
    double str=Double.parseDouble(
            jo.showInputDialog("Sales Tax Rate: "));


    double pamu=(Oprice*mup)+Oprice;
    double ST=pamu*str;
    double result=pamu+ST;

    String hold= "\n| Item to be sold \t: "+item+"\t |"
                +"\n| Original price of the item \t: "+Oprice+"\t |"
                +"\n| Price after mark-up \t: "+pamu+"\t |"
                +"\n| Sales Tax \t: "+ST+"\t |"
                +"\n| Final price of the item \t: "+result+"\t |";
    jo.showMessageDialog(null, new JTextArea(hold));
    }
    }

这是我的实际代码。对不起,这里很乱。就像我说的,这还是一个新概念,让我们使用
扫描仪来读取用户的信息:

Scanner keyboard = new Scanner(System.in);
System.out.println("Enter item name:");
String item;
keyboard.nextLine();
System.out.println("Original Price of item:");
double originalPrice;
keyboard.nextDouble();
System.out.println("Marked up percentage:");
double markedUpPercentage;
keyboard.nextDouble();
markedUpPercentage = markedUpPercentage/100; //this is what you want
System.out.println("Sales tax rate:");
double salesTaxRate;
keyboard.nextDouble();
salesTaxRate = salesTaxRate/100; //same thing here

//now output
System.out.println("Item to be sold: " + item);
System.out.println("Original price of the item: " + originalPrice);
System.out.println("Price after mark up: " + (originalPrice + originalPrice * markedUpPrice));
//similarly, do for sales tax
Scanner sc = new Scanner(System.in);
double percentage = 0.01 * sc.nextInt();
我会成功的

double pamu = (Oprice*(mup/100)) + Oprice; // enter code here
double ST = pamu*(str/100) ;
double result = pamu+ST ;

我想这应该行。

提示:如果除以100会发生什么?(确保您正在执行浮点运算…)不要使用浮点或双精度,但实际代码在哪里?我真的不知道如何添加实际代码。。我还是个新手。对不起,我不明白这个问题,到底出了什么问题?我的意思是700+20%=840,因为代码已经在计算/输出-其余的计算也是如此。我的错,没有注意到这一点。问题本身没有代码,所以我认为是错的。@johnfelix只是将它复制粘贴到编辑器中。在粘贴之前留出4个空格,以便编辑器理解粘贴的是代码。这真的有效吗?编译?至少这不是Java!e、 g.
nextLine
不接受任何参数,
nextDouble
!!Java是按值传递的,我希望类似于
item=keyboard.nextLine()
。。。既然您已经有时间编辑答案,为什么不删除“因为您没有指定…”部分呢?