如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。
import java.util.Scanner;
public class Main2 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String P=input.next();//应付价钱
String A=input.next();//实付价钱
//.split(String regex)将此字符串分割为给定的 regular expression的匹配
String[] P1=P.split("\\.");
String[] A1=A.split("\\.");
//Integer.parseInt(String s)将字符串参数解析为带符号的十进制整数
int sumP=(Integer.parseInt(P1[0])*17*29+Integer.parseInt(P1[1])*29+Integer.parseInt(P1[2]));
int sumA=(Integer.parseInt(A1[0])*17*29+Integer.parseInt(A1[1])*29+Integer.parseInt(A1[2]));
int R=sumA-sumP;
int r1,r2,r3;
r1=R/(17*29);//加隆数
r2=(R-r1*17*29)/29;//银可西数
r3=(R-(r1*17*29)-r2*29);//纳特数
if(sumP<=sumA) {
System.out.println(r1 + "." + r2 + "." + r3 );
}else{
//Math。abs(int a)返回的是a的绝对值
System.out.println("-"+Math.abs(r1) + "." +"-"+Math.abs(r2) + "." +"-"+ Math.abs(r3));
}
}
}
执行结果: