zoukankan      html  css  js  c++  java
  • 0406复利计算5.0

      1 package kxj;
      2 import java.util.Scanner;
      3 
      4 public class Fulijisuan {
      5      public static double p,i,f ;
      6      public static double n;
      7      public static int a=0;
      8      
      9      static double A[]  = new double[10];
     10         static double B[]  = new double[10];
     11         static double C[]  = new double[10];
     12         static double D[]  = new double[10];
     13      
     14      //计算本金
     15     public static void Benjin(){
     16         //int n;
     17         //float f,i,p;
     18         boolean flag;
     19          Scanner scanner=new Scanner(System.in);
     20           System.out.println("请输入终值: ");
     21           f=scanner.nextDouble();
     22           System.out.println("请输入年利率: ");
     23           i=scanner.nextDouble();
     24           System.out.println("请输入年数: ");
     25           n=scanner.nextInt();
     26           if(n>=0)
     27           {
     28               if(i>=0&&i<=1)
     29               {
     30                  flag=true;
     31                  p=(float) (f*1/Math.pow(1+i, n));
     32               }
     33               else
     34               {
     35                   System.out.println("输入的年利率有错!");
     36                   flag=false;
     37                   
     38               }
     39           }
     40           else
     41           {
     42               System.out.println("输入的年数有错!");
     43               flag=false;
     44               
     45           }
     46           if(flag)
     47               System.out.println("本金为: "+(double)(Math.round(p*100)/100.0));
     48     
     49     }
     50     
     51     //计算本息和
     52     public static void Benxihe(){
     53          double sum1=0,sum2=0;
     54          boolean flag;
     55           Scanner scanner=new Scanner(System.in);
     56           System.out.println("请输入本金: ");
     57           p=scanner.nextDouble();
     58           System.out.println("请输入年利率: ");
     59           i=scanner.nextDouble();
     60           System.out.println("请输入年数: ");
     61           n=scanner.nextInt();
     62          if(n>=0)
     63           {
     64               if(i>=0&&i<=1)
     65               {
     66                   sum1=(float) (p*Math.pow(1+i, n));
     67                    sum2=p*(1+i*n);
     68                    flag=true;
     69                    
     70               }
     71               else
     72               {
     73                   System.out.println("输入的年利率有错!");
     74                   flag=false;
     75                   
     76               }
     77           }
     78           else
     79           {
     80               System.out.println("输入的年数有错!");
     81               flag=false;
     82               
     83           }
     84           if(flag)
     85           {
     86              System.out.println("复利的本息和为: "+(double)(Math.round(sum1*100)/100.0));
     87              System.out.println("单利的本息和为: "+(double)(Math.round(sum2*100)/100.0));
     88           }
     89     }
     90     
     91     //计算年数
     92     public static void Nianshu(){
     93         boolean flag;
     94           Scanner scanner=new Scanner(System.in);
     95           System.out.println("请输入本金: ");
     96           p=scanner.nextDouble();
     97           System.out.println("请输入终值: ");
     98           f=scanner.nextDouble();
     99           System.out.println("请输入年利率: ");
    100           i=scanner.nextDouble();
    101          if(i>=0&&i<=1)
    102          {
    103              n=Logarithm.log(f/p,1+i); 
    104              flag=true;
    105          }
    106          else
    107          {
    108             System.out.println("输入的年利率有错!"); 
    109             flag=false;
    110 
    111          }
    112          if(flag)
    113           System.out.println("需要存的年数为: "+Math.ceil(n));     
    114     }
    115     
    116     //计算年利率
    117     public static void Lilv(){
    118         boolean flag;
    119          Scanner scanner=new Scanner(System.in);
    120           System.out.println("请输入本金: ");
    121           p=scanner.nextDouble();
    122           System.out.println("请输入终值: ");
    123           f=scanner.nextDouble();
    124           System.out.println("请输入年数: ");
    125           n=scanner.nextInt();
    126          if(n>=0)
    127           {
    128               i=Math.pow(f/p, 1.0/n)-1;
    129               flag=true;
    130           }
    131           else
    132           {
    133               System.out.println("输入的年数有错!");
    134               flag=false;
    135               
    136           }
    137           if(flag)
    138           System.out.println("年报酬率为: "+(double)(Math.round(i*1000)/1000.0));
    139     }
    140     
    141     //计算本利之和连同年金投资后的总资产
    142     public static void Nianjin(){
    143         boolean flag;
    144          Scanner scanner=new Scanner(System.in);
    145           System.out.println("请输入每年定投资金: ");
    146           p=scanner.nextDouble(); 
    147           System.out.println("请输入年利率: ");
    148           i=scanner.nextDouble();
    149           System.out.println("请输入年数: ");
    150           n=scanner.nextInt();
    151          if(n>=0)
    152           {
    153               if(i>=0&&i<=1)
    154               {
    155                    f=p*(1+i)*(Math.pow(1+i,n)-1)/i;
    156                    flag=true;
    157                    
    158               }
    159               else
    160               {
    161                   System.out.println("输入的年利率有错!");
    162                   flag=false;
    163                   
    164               }
    165           }
    166           else
    167           {
    168               System.out.println("输入的年数有错!");
    169               flag=false;
    170               
    171           }
    172           if(flag)
    173           System.out.println("年资产总值为:"+(double)(Math.round(f*100)/100.0));     
    174     }
    175     
    176     //计算每月等额本息还款
    177     public static void BenxiHuankuan(){
    178         double f,i,p = 0;
    179         int n;
    180         boolean flag;
    181          Scanner scanner=new Scanner(System.in);
    182           System.out.println("请输入贷款金额: ");
    183           f=scanner.nextDouble();
    184           System.out.println("请输入年利率: ");
    185           i=scanner.nextDouble();
    186           System.out.println("请输入贷款年数: ");
    187           n=scanner.nextInt();
    188          if(n>=0)
    189           {
    190               if(i>=0&&i<=1)
    191               {
    192                    i=i/12;
    193                    n=n*12;
    194                    p=f*i*Math.pow(1+i, n)/(Math.pow(1+i, n)-1);
    195                    flag=true;
    196                    
    197               }
    198               else
    199               {
    200                   System.out.println("输入的年利率有错!");
    201                   flag=false;
    202                   
    203               }
    204           }
    205           else
    206           {
    207               System.out.println("输入的年数有错!");
    208               flag=false;
    209               
    210           }
    211           if(flag)
    212          System.out.println("每月等额本息还款为:"+(double)(Math.round(p*10000)/10000.0));
    213         
    214     }
    215  
    216      public static void main(String[] args) {
    217          int choice;
    218          while(true){
    219          System.out.println("		|***********************|");
    220          System.out.println("		|  1. 求       本      金  	|");
    221          System.out.println("		|  2. 求   本   息   和 	|");
    222          System.out.println("		|  3. 求      年       数 	|");
    223         System.out.println("		|  4. 求      利       率 	|");
    224         System.out.println("		|  5. 求年资产总值	|");
    225         System.out.println("		|  6. 求等额本息还款	|");    
    226          System.out.println("		|  7. 投   资   运    算     	|");
    227          System.out.println("		|  0. 退        出          	|");
    228          System.out.println("		|***********************|");
    229          Scanner scanner=new Scanner(System.in);
    230          System.out.println("
    请输入你的选择(0~7):  ");
    231          choice=scanner.nextInt();
    232          switch(choice){
    233          case 1:
    234              Benjin();
    235              break;
    236          case 2:
    237              Benxihe();
    238              break;
    239          case 3:
    240              Nianshu();
    241              break;
    242          case 4:
    243              Lilv();
    244              break;
    245          case 5:
    246              Nianjin();
    247              break;
    248          case 6:
    249              BenxiHuankuan();
    250              break;
    251          case 7:
    252              TouziYunsuan();
    253          
    254              a++;
    255              break;
    256          case 0:
    257              System.out.println("Thanks for using!");
    258              System.exit(0);
    259              break;
    260          
    261              
    262          default:
    263              {
    264                  System.out.println("输入有误!");
    265                  break;
    266              }
    267          }
    268              }        
    269          }
    270 
    271     private static void TouziYunsuan() {
    272         boolean flag;
    273         int number;
    274           Scanner scanner=new Scanner(System.in);
    275           System.out.println("请输入本金: ");
    276           p=scanner.nextDouble();
    277           System.out.println("请输入年利率: ");
    278           i=scanner.nextDouble();
    279           System.out.println("请输入年限: ");
    280         n = scanner.nextInt();
    281         for (int t = 1; t <= n; t++) {
    282             f = p * (1 + i * t);
    283 
    284             System.out.println("第" + t + "年	  " + (double)(Math.round(f*100)/100.0) + "");
    285         }
    286         A[a]=p;
    287         B[a]=i;
    288         C[a]=n;
    289         D[a]=f;
    290         
    291         System.out.println("是否查看之前记录(1为是): ");
    292         number = scanner.nextInt();
    293         if(number==1){
    294             System.out.print("	"+"本金"+"	"+"年利率"+"	"+"年限"+"	"+"终值"+"
    ");
    295             for(int b=0;b<=a;b++)
    296             {
    297                 System.out.print(b+1+"	"+A[b]+"	"+B[b]+"	"+C[b]+"	"+D[b]+"
    ");
    298 
    299             }
    300                 
    301         }
    302         else{
    303             System.out.print("谢谢");
    304             
    305         }    
    306     }
    307      }

  • 相关阅读:
    外部程序启动App
    简单修改文件名python脚本
    监听软键盘的显示
    ActionBar 笔记
    ActionBar 笔记
    Android Lock Pattern 图案解锁
    通过反射实现圆角ImageView
    android 通过命令行启动Apk
    ubuntu svn rabbitvcs 安装
    Android 两个界面间快速切换时,会发现有短暂黑屏
  • 原文地址:https://www.cnblogs.com/950525kxj/p/5361566.html
Copyright © 2011-2022 走看看