投资分析计算器 - 存款总额、年限、本金、利率计算工具
package experiment02; import java.util.Scanner; public class InvestmentAnalysis { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean exit = false;
while (!exit) {
System.out.println("请选择要计算的问题:");
System.out.println("1. 计算存款总额");
System.out.println("2. 计算需要多少年达到预期存款总额");
System.out.println("3. 计算需要投入的本金");
System.out.println("4. 计算年存款利率");
System.out.println("5. 退出程序");
int choice = scanner.nextInt();
switch (choice) {
case 1:
calculateTotalAmount();
break;
case 2:
calculateYearsToReachGoal();
break;
case 3:
calculateInitialPrincipal();
break;
case 4:
calculateAnnualInterestRate();
break;
case 5:
exit = true;
break;
default:
System.out.println("无效的选择");
}
}
scanner.close();
}
// 计算存款总额
private static void calculateTotalAmount() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入本金(x):");
double x = scanner.nextDouble();
System.out.print("请输入年存款利率(d):");
double d = scanner.nextDouble();
System.out.print("请输入存款年限(n):");
int n = scanner.nextInt();
double z = x * Math.pow(1 + d, n);
System.out.println("存款总额为:" + z);
}
// 计算需要多少年达到预期存款总额
private static void calculateYearsToReachGoal() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入本金(x):");
double x = scanner.nextDouble();
System.out.print("请输入年存款利率(d):");
double d = scanner.nextDouble();
System.out.print("请输入存款总额预期值(z):");
double z = scanner.nextDouble();
int n = (int) Math.ceil(Math.log(z / x) / Math.log(1 + d));
System.out.println("需要 " + n + " 年达到存款总额预期值");
}
// 计算需要投入的本金
private static void calculateInitialPrincipal() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年存款利率(d):");
double d = scanner.nextDouble();
System.out.print("请输入存款年限(n):");
int n = scanner.nextInt();
System.out.print("请输入存款总额预期值(z):");
double z = scanner.nextDouble();
double x = z / Math.pow(1 + d, n);
System.out.println("需要投入的本金为:" + x);
}
// 计算年存款利率
private static void calculateAnnualInterestRate() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入本金(x):");
double x = scanner.nextDouble();
System.out.print("请输入存款年限(n):");
int n = scanner.nextInt();
System.out.print("请输入存款总额预期值(z):");
double z = scanner.nextDouble();
double d = Math.pow(z / x, 1.0 / n) - 1;
System.out.println("年存款利率为:" + d);
}
}
原文地址: http://www.cveoy.top/t/topic/dhbz 著作权归作者所有。请勿转载和采集!