美元和美分(JAVA)

时间:2011-02-14 21:40:22

标签: java

我需要帮助我正在研究的这个java项目的calucluations。作业要求我写一个程序,说明美元和数字的数量。基于用户数字输入的美分。所以,基本上,这个人输入的数字是815.该程序应输出“8美元和15美分”)。

这是我到目前为止的代码。

再次

更新

public class DollarCents
{

    public static void main(String args [])
    {
        // Declaration of variables.
       int dollars;
       int cents;
       String inputNumberString;
       int inputNumber;
       int calculatedAnswer;

       // Get interactive user input
       inputNumberString = JOptionPane.showInputDialog("Enter Cents: ");

       // Convert String to int
       inputNumber = Integer.parseInt(inputNumberString);

       // Calculate the number
       dollars = inputNumber / 100;
       cents = inputNumber % 100;

       // Output the result
       System.out.println ("The Cents entered equal: $"+ dollars +"."+ cents);
    }
}

5 个答案:

答案 0 :(得分:3)

提示:使用String.split()并在小数点分隔符上拆分。

之前的所有内容都可以输出为美元,之后的所有内容都可以输出为分。我会把0美元/分的情况留给OP。

注意:我假设输入为8.15,输出应如您所述。如果您打算输入815并将最后两位数字解释为美分,则需要使用String.length()String.substring

答案 1 :(得分:1)

这样的东西对你有用吗?

// Calculate the number  
double amount = ((double)inputNumber) /100;

// Output the result
String output = NumberFormat.getCurrencyInstance().format(amount);

答案 2 :(得分:0)

我认为你的程序需要将101516变成“一万一千五百一十六美元”? 你需要经常使用%模数运算符!

答案 3 :(得分:0)

提示:构建文本查找表,但要注意你会遇到很多特殊情况。

E.G。

String[] TensHundreds = {
  "No", "One", "Two", "Three", ...
  "Eleven", "Twelve", "Thirteen", ...
  /* Do we really have to list all next eighty??? */
}

答案 4 :(得分:0)

问题中包含的实际代码是错误的! (第9版)

如果输入5(5美分),输出将为:

  

美分进入相同:$ 0.5

用户在此过程中赢了或松了45美分!美分必须格式化:

System.out.println ("The Cents entered equal: $"+ dollars +"."+ String.format("%02d", cents));

注意:这篇文章应该是评论,但我不允许这样做