Java学习记录-关于整钱找零 第一版(自己尝试的代码):
package chapter_2;
import java.util.Scanner;
public class ComputeMoney {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入总美分数:");
int totalPenny = in.nextInt();
int dollar = totalPenny / 100;
int penny = totalPenny % 100;
System.out.println("总美元数为:" + dollar + "剩余美分数为:" + penny);
int quarter = penny / 25;
System.out.println("剩余2角5美分币数为:" + quarter);
int apenny = penny % 25;
int dime = apenny / 10;
System.out.println("剩余1角币数为:" + dime);
int bpenny = apenny % 10;
int cpenny = bpenny / 5;
System.out.println("剩余5美分币数为:" + cpenny);
System.out.println("剩余1美分币数为:" + cpenny % 5);
}
}
第二版(课本示例代码):
package chapter_2;
import java.util.Scanner;
public class ComputeChange {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter an amount in double,for example 11.56: ");
double amount = input.nextDouble();
int remainingAmount = (int)(amount * 100);
int numberOfDollars = remainingAmount / 100;
remainingAmount %= 100;
int numberOfQuarters = remainingAmount / 25;
remainingAmount %= 25;
int numberOfDimes = remainingAmount / 10;
remainingAmount %= 10;
int numberOfNickels = remainingAmount / 5;
remainingAmount %= 5;
int numberOfPennys = remainingAmount;
System.out.println("Your amount " + amount + " consists of");
System.out.println(" " + numberOfDollars + " dollars");
System.out.println(" " + numberOfQuarters + " quarters");
System.out.println(" " + numberOfDimes + " dimes");
System.out.println(" " + numberOfNickels + " nickels");
System.out.println(" " + numberOfPennys + " pennys");
}
}
总结:
1.相比于示范代码,我的代码没有做到标准输入,使用的是美分输入,不规范;
2.我的代码较多的使用到了中文,不符合程序员代码书写规范;
3.在对于零钱取整程序,示例程序仅仅使用了一个remainingAmount变量来保存余下的部分,但我的代码使用了多个变量进行分别存储,造成了空间的浪费和数据的冗余;
4.继续加油,代码人!
2020.12.4 by.mercymore