我在为一堂Java课做作业。下面列出了我的代码。
我有一个问题,我的美元和25美分,并正确地输出,我不知道是什么错误,25美分还是美元?例如,我从我的实验室得到了错误-
“输出不同。请参见下面的突出显示。
投入: 141
你的输出
1美元1美分1镍1便士
预期产出
1美元1/4 1一角1镍1便士“输入: 45
你的输出
2二聚体
预期产出
1季度2次
提示如下:
编写了一个程序,总变化量为便士作为整数输入,并输出变化使用最少的硬币,每行一种硬币类型。硬币类型有美元、硬币、硬币、镍币和彭尼硬币。适当地使用单数和复数的硬币名称,比如1 Penny vs. 2 Pennies。
例:如果输入是:0
产出如下:
没有变化
例:如果输入为: 45,则输出为:
四分之一
2二聚体
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
int cents = scnr.nextInt();
int numDollars = (cents / 100) % 100;
int numQuarters = (cents % 25) / 25;
int numDimes = (cents % 25) / 10;
int numNickels = ((cents % 25) % 10) / 5;
int numPennies = ((cents % 25) % 10) % 5;
// no change
if (cents == 0) {
System.out.println("No change");
}
// dollars
if (numDollars < 2 && numDollars >=1) {
System.out.println(numDollars + " Dollar");
}
else if (numDollars >=2) {
System.out.println(numDollars + " Dollars");
}
// quarters
if (numQuarters < 2 && numQuarters >=1) {
System.out.println(numQuarters + " Quarter");
}
else if (numQuarters >=2) {
System.out.println(numQuarters + " Quarters");
}
// dimes
if (numDimes < 2 && numDimes >=1) {
System.out.println(numDimes + " Dime");
}
else if (numDimes >=2) {
System.out.println(numDimes + " Dimes");
}
// nickels
if (numNickels < 2 && numNickels >=1) {
System.out.println(numNickels + " Nickel");
}
else if (numNickels >=2) {
System.out.println(numNickels + " Nickels");
}
// pennies
if (numPennies < 2 && numPennies >=1) {
System.out.println(numPennies + " Penny");
}
else if (numPennies >=2) {
System.out.println(numPennies + " Pennies");
}
}
}发布于 2021-11-22 23:40:02
因此,在定义int's时,我会在美元之后更改公式的逻辑,单数使用的第一行应该是==而不是>=,但我建议使用以下代码:
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
int cents = scnr.nextInt();
int numDollars = (cents / 100) % 100;
int numQuarters = (cents % 100) / 25;
int numDimes = (cents % 25) / 10;
int numNickels = (((cents % 25) % 10) / 5);
int numPennies = (((cents % 25) % 10) % 5);
// no change
if (cents == 0) {
System.out.println("No change");
}
// dollars
if (numDollars < 2 && numDollars == 1) {
System.out.println(numDollars + " Dollar");
}
else if (numDollars >= 2) {
System.out.println(numDollars + " Dollars");
}
// quarters
if (numQuarters < 2 && numQuarters == 1) {
System.out.println(numQuarters + " Quarter");
}
else if (numQuarters >= 2) {
System.out.println(numQuarters + " Quarters");
}
// dimes
if (numDimes < 2 && numDimes == 1) {
System.out.println(numDimes + " Dime");
}
else if (numDimes >= 2) {
System.out.println(numDimes + " Dimes");
}
// nickels
if (numNickels < 2 && numNickels == 1) {
System.out.println(numNickels + " Nickel");
}
else if (numNickels >= 2) {
System.out.println(numNickels + " Nickels");
}
// pennies
if (numPennies < 2 && numPennies == 1) {
System.out.println(numPennies + " Penny");
}
else if (numPennies >= 2) {
System.out.println(numPennies + " Pennies");
}
}
}https://stackoverflow.com/questions/69227906
复制相似问题