Afr*_*Man 5 java currency conditional-statements
像往常一样,我只是另一个绝望的高中生,在经过大量的谷歌搜索后,他们不得不诉诸问题.
我正在研究其中一个可以在现实生活中应用的程序(但从来没有).在这种情况下,一个更改计数器,总计一角硬币,镍币,四分之一和剩余的分数,并用一句话显示它们.
我的问题是,我需要制作一个正确的句子格式,最后使用逗号和"和",这是我用我非常有限的当前知识来管理的.
我的计划部分涉及我想问的是:
System.out.print(backupInput + ": ");
// Outputting the quarters
if (quarters > 0)
{
if (quarters == 1)
System.out.print("one quarter, ");
else
System.out.print(quarters + " quarters, ");
}
// Outputting the dimes
if (dimes > 0)
{
if (dimes == 1)
System.out.print("one dime, ");
else
System.out.print(dimes + " dimes, ");
}
// Outputting the nickels
if (nickels > 0)
{
if (nickels == 1)
System.out.print("one nickel, ");
else
System.out.print(nickels + " nickels ");
}
// Outputting the cents
if (cents > 0)
{
if (cents == 1)
System.out.print(" one cent");
else
System.out.print(cents + " cents ");
}
Run Code Online (Sandbox Code Playgroud)
问题是,这些输出产生的结果都是类似的
7: 1 dime, 2 cents
Run Code Online (Sandbox Code Playgroud)
虽然它应该是,根据给出的示例格式:
7: 1 dime and 2 cents
65: 2 quarters, 1 dime and one nickel
66: 2 quarters, 1 dime, 1 nickel, and one cent
Run Code Online (Sandbox Code Playgroud)
请记住,我几乎尝试了所有我能想到的东西,而且在我所有的尝试中,它效率太低,甚至在所有情况下都无法工作.我不是想把自己从这里拯救出来.我只是想学习正确的做法背后的概念.
就是这样.该程序的其余部分工作正常和花花公子.如果您有任何人可以帮助我,请保持答案容易理解为像我这样的新手,所以更容易掌握这个概念:)谢谢!
有时候更容易将问题打破一点.我可能做的是创建一个字符串数组:["2个季度","1个角钱","1个镍币","1分"]
然后看看我有多少(有效)数组元素并循环遍历N个元素的N-1,输出用逗号分隔的行.然后(假设有多个数组元素)输出"和"后跟最后一个数组元素.
还有其他方法"更有效率",但我已经在这个商业40年了,我会在任何一天"轻松理解和工作"而不是"高效".
(当然,这不是剥掉这只猫的唯一方法,可能还有其他同样简单的东西,但这对你和其他人来说都是发明的.)
(请注意,避免代码必须在每个if语句之间决定是否插入"和".当您反复重复相同的逻辑时,您往往会增加错误并造成维护噩梦.)
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |