a、编写程序,要求该程序能够把57美元换成面值为:20、10、5和1美元并能显示换算结果。创建执行计算并返回显示结果的单独方法。把57作为变量传递给该方法。把程序保存为Dollars.java。
b、在Dollars.java程序中,改变存储金额数值的变量值。运行程序并确认每种面值数量的计算结果是否正确。
思路:
用57/20 得 2
然后用 (57-2*20 ) /10 得 1
然后用 (57-2*20-1*10)/5=1
然后 (57-2*10-1*10-5*1)=2
代码如下:
package com.test;
import java.util.Scanner;
public class Dollars
{
public static void main(String args[])
{
System.out.println("请输入需要转换的金额:");
Scanner input=new Scanner(System.in);
int[] dollar=convenrt(input.nextInt());
System.out.println("转换的结果为:");
System.out.println("20元:"+dollar[0]);
System.out.println("10元:"+dollar[1]);
System.out.println("5元:"+dollar[2]);
System.out.println("1元:"+dollar[3]);
}
public static int[] convenrt(int a)
{
int x,y,z,p;
x=a/20;
y=(a-x*20)/10;
z=(a-x*20-y*10)/5;
p=(a-x*20-y*10-5*z)/1;
int[]i={x,y,z,p};
return i;
}
}
开始做这个题的时候,一直纠结在方法中怎么返回多个值,因为Java语言不允许使用指针类型变量,所有返回值只能由一个。于是就想到利用数组来返回多个值了。百度了下类似返回多个值的方法还有很多 javabean ,list,object[]等。