代码如下:
import java.util.Scanner;
public class compoundung {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int P = 0;
double i=0;
int n=0;
int F=0;
Scanner in = new Scanner(System.in);
System.out.println("1.复利计算");
System.out.println("2.单利计算");
System.out.println("3.本金计算");
System.out.println("4.求期限");
System.out.print("请选择:");
int select = in.nextInt();
if(select>4||select<1){
System.out.println("选择有误!");
System.out.print("请重新选择:");
select = in.nextInt();
}
//单、复利的输入
if(select==2||select==1){
System.out.print("输入本金:");
P = in.nextInt();
System.out.print("输入利率:");
i = in.nextDouble();
System.out.print("输入期数:");
n = in.nextInt();
}
else if(select==3){
//求本金的输入
System.out.print("输入终值:");
F = in.nextInt();
System.out.print("输入利率:");
i = in.nextDouble();
System.out.print("输入期数:");
n = in.nextInt();
}
else{
System.out.print("输入本金:");
P = in.nextInt();
System.out.print("输入利率:");
i = in.nextDouble();
System.out.print("输入终值:");
F = in.nextInt();
}
jiXuan jx = new jiXuan();
//复利处理
if(select==1){
System.out.print("输入年复利次数:");
int m = in.nextInt();
jx.fuLi(P, i, n, m);
}
//单利处理
else if(select==2){
jx.danLi(P, i, n);
}
else if(select==3){
jx.benJi(F, i, n);
}
else if(select==4){
jx.time(F, i, P);
}
}
}
import java.text.DecimalFormat;
public class jiXuan {
public void fuLi(int P,double i,int n,int m){
DecimalFormat df=new DecimalFormat("#.000");
double F = P*(Math.pow((1+i/m),n*m));
System.out.println("复利终值:"+df.format(F));
}
public void danLi(int P,double i,int n){
DecimalFormat df=new DecimalFormat("#.000");
double F =P*(1+i*n) ;
System.out.println("单利终值:"+df.format(F));
}
public void benJi(int F,double i,int n){
double P= F / (1 + i * n);
System.out.println("本金为:"+P);
}
public void time(int F,double i,double P){
DecimalFormat df=new DecimalFormat("#.000");
double n = ((F/P)-1)/i;
System.out.println("期限为:"+df.format(n));
}
}
原文:http://www.cnblogs.com/wucanlong/p/5269254.html