解决方案 »
- 求解if (input.hasNextDouble()==true)什么意思
- 大家看一下这段分页代码咋 改 首页显示正常 点击下一页 就异常
- 这种main还能运行?
- 【求助】join方法什么作用?
- 运行cmd出现的目录和jdk所在的目录不一样,怎么办?
- 很烦啊,研究了大半个月的jsf,突然听说更流行的是spring,各位帮忙澄清一下,我已经快被弄晕了
- int a=4 ;int b=14;float c=a/b c怎么是0.0 呀
- 数组转换的问题
- 如何使Jtable的cell中的文字一或的焦点就处于选定状态。
- 怎样在页面中实现表格功能
- 关于effective java 中文第二版 中第66条的一个疑问
- osgi框架中,如果需要org.eclipse.swt.win32.win32.x86_3.4.1.v3449c,该如何配置启动参数
第一年所得:A1=A0*1.2;
第二年所得:A2=(A1+1000)*1.2=A1*1.2+1000*1.2=A0*1.2^2+1000*1.2;
.
.
.
第n年所得:An=(An-1+1000)*1.2=A0*1.2^n+1000*1.2+1000*1.2^2+...+1000*1.2^n-1;
所以An即为所得,观之An由一个指数表达式和一个等比数列前n-1项和组成,结果不难求出。
public class Invest{
public static void main(String[] args){
System.out.print("请输入起始资金:");
Scanner cin=new Scanner(System.in);
int originMoney=cin.nextInt();
int profit=0;
System.out.print("请输入加收率:");
double recircle=cin.nextDouble();
System.out.print("请输入年份:");
int year=cin.nextInt();
for(int i=1;i<=year;i++){
profit+=originMoney*Math.pow(recircle,i);
System.out.println("第"+i+"年年度他获得了"+profit);
}
}
}执行结果如下,为了好看赚的钱只用整数
请输入起始资金:1000
请输入加收率:1.2
请输入年份:10
第1年年度他获得了1200
第2年年度他获得了2640
第3年年度他获得了4368
第4年年度他获得了6441
第5年年度他获得了8929
第6年年度他获得了11914
第7年年度他获得了15497
第8年年度他获得了19796
第9年年度他获得了24955
第10年年度他获得了31146
public class HelloWorld{
public static void main(String args[]){
System.out.println(fn(Integer.valueOf(args[0])));
} public static double fn(int n){
if(0 == n){
return 1000;
}
if(1 == n){
return 1000*(1+0.2);
}
return (fn(n-1)+1000)*(1+0.2);
}
}运行结果:D:\>java HelloWorld 0
1000.0D:\>java HelloWorld 1
1200.0D:\>java HelloWorld 2
2640.0D:\>java HelloWorld 3
4368.0D:\>java HelloWorld 4
6441.599999999999D:\>java HelloWorld 5
8929.919999999998D:\>java HelloWorld 6
11915.903999999997
mport java.util.Scanner;
public class Cs21 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入n:");
int n=sc.nextInt();
System.out.println(f(n));
}
public static double f(int n){
if(n==1)
return 1200;
else
return (f(n-1)+1000)*1.2;
}}
public static void main(String[] args) {
Xwt x = new Xwt();
System.out.println(x.machMoney(3));
}
public double machMoney (int a) {
double money = 0.0;
for(int i=0; i<a; i++) {
money += 1000;
money = money * 1.2;
}
return money;
}
}
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入年份:");
int n = sc.nextInt();
calculate(0,n,1);
}
public static void calculate(int sum, int year, int i) {
if(i <= year) {
sum = (int)((sum + 1000) * 1.2);
System.out.println("第" + i + "年获得钱:" + sum);
i++;
calculate(sum,year,i);
}
}
}