我的作业要求我读取用户输入的数字并输出数字所产生的硬币。例如,如果用户输入" 37",程序应该响应(1 1/4,1和1便士)。
这是我到目前为止所获得的代码如果有人可以帮助我完成它以及查看我当前的代码是否有任何错误,我将不胜感激
import java.util.Scanner;
public class Coin
{
Scanner sc = new Scanner (System.in);
Int n = sc.nextInt("Enter a positive integer" );
int number1, number2; // Division operands
int quotient; // Result of division
public static int getQuarters(int cents) {
return Math.floor(cents / 25.0);
}
public static int getDimes(int cents) {
return Math.floor(cents / 10.0);
}
public static int getNickels(int cents) {
return Math.floor(cents / 5.0);
}
public static int getPennies(int cents) {
return Math.floor(cents / 1.0);
}
public static void main(String[] args) {
int cents = 46;
int left = cents;
int quarters = getQuarters(cents);
int left -= quarters * 25;
int dimes = getDimes(left);
left -= dimes * 10;
int nickels = getNickels(left);
left -= nickels * 5;
int pennies = left;
System.out.println(cents + " cents = " + quarters + " Quarters, " + dimes + " Dimes, " + nickels + " Nickels, and " + pennies + " Pennies."); // print the output
}
}
答案 0 :(得分:1)
首先,"如果我当前的代码有任何错误" - 是的,确实如此,您的开发环境应该指出它们。或者,如果您再次使用命令行构建,它会指出它们。跳出来的那个:你有第二个定义" left"。但重点是,让您的IDE或构建脚本告诉您是否有任何语法错误。
然后,解决"可以帮助我完成它"我问:你有没试过跑步呢? (不,它不会用第二个" int left"定义编译)。但是清理错误,运行它,看看会发生什么......你可能会感到惊讶。
当然,那么你需要激活输入扫描器,而不是硬编码计算量......
答案 1 :(得分:0)
可以使用以下内容,但我不太了解您的变量。
import java.util.Scanner;
public class Test{
public static int getQuarters(int cents) {
return (int) Math.floor(cents / 25.0);
}
public static int getDimes(int cents) {
return (int) Math.floor(cents / 10.0);
}
public static int getNickels(int cents) {
return (int) Math.floor(cents / 5.0);
}
public static int getPennies(int cents) {
return (int) Math.floor(cents / 1.0);
}
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
System.out.println("Enter a positive integer");
int n = sc.nextInt();
// int number1, number2; // Division operands
// int quotient; // Result of division
int cents = n;
int left = cents;
int quarters = getQuarters(cents);
left -= quarters * 25;
int dimes = getDimes(left);
left -= dimes * 10;
int nickels = getNickels(left);
left -= nickels * 5;
int pennies = left;
System.out.println(cents + " cents = " + quarters + " Quarters, " + dimes + " Dimes, " + nickels + " Nickels, and " + pennies + " Pennies."); // print the output
}
}