一、计算需要多长时间才能够存储一定数量的退休金
import java.util.Scanner;
public class Retirement {
public static void main(String[] args) {
//read inputs
Scanner in = new Scanner(System.in);
System.out.print("你退休需要多少钱?");
double goal = in.nextDouble();
System.out.print("你每年的报酬是多少钱?");
double payment = in.nextDouble();
System.out.print("利率在%: ");
double interestRate = in.nextDouble();
double balance = 0;
int years = 0;
//在未达成目标时更新帐户余额
while(balance < goal){
//加上今年的付款和利息
balance += payment;
double interest = balance * interestRate / 100;
balance += interest;
years++;
}
System.out.println("你可以在"+years+"年内退休.");
}
}
二、计算每年的余额并由用户决定是否满足退休所用
import java.util.Scanner;
public class Retirement2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("你每年的报酬是多少钱?");
double payment = in.nextDouble();
System.out.print("利率在%: ");
double interestRate = in.nextDouble();
double balance = 0;
int year = 0;
String input;
//在未达成目标时更新帐户余额
do{
////加上今年的付款和利息
balance += payment;
double interest = balance * interestRate / 100;
balance += interest;
year++;
//打印当前账户余额
System.out.printf("在 %d年后,你的账户余额是 %,.2f%n",year,balance);
//询问是否准备退休并获得收入
System.out.print("准备退休了吗?(Y/N) ");
input = in.next();
}while(input.equals("N"));
}
}
三、计算数字抽奖中奖的概率
import java.util.Scanner;
public class LotteryOdds {
public static void main (String[] args){
Scanner in = new Scanner(System.in);
System.out.print("你要猜几个数字?");
int k = in.nextInt();
System.out.print("你能猜的最高数字是多少?");
int n = in.nextInt();
/*
* 计算二项式系数 n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)
*/
int lotterOdds = 1;
for(int i = 1;i<=k;i++){
lotterOdds = lotterOdds * (n-i+1) / i;
}
System.out.println("你的中奖概率为1/"+lotterOdds+".祝你好运!");
}
}