zoukankan      html  css  js  c++  java
  • 复利单利计算的源代码

    1.客户说:帮我开发一个复利计算软件。

    客户提出:

    2.如果按照单利计算,本息又是多少呢?

    3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?

    客户又想:

    4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢?

    package cai;
    import java.awt.Color;
    import java.awt.Dimension;
     import java.awt.FlowLayout;
     import java.awt.Font;
     import java.awt.GridLayout;
     import java.awt.event.ActionEvent;
     import java.awt.event.ActionListener;
     import java.text.NumberFormat;
     
     import javax.swing.JButton;
     import javax.swing.JFrame;
     import javax.swing.JLabel;
     import javax.swing.JPanel;
     import javax.swing.JScrollPane;
     import javax.swing.JTextArea;
     import javax.swing.JTextField;
     
     public class cch extends JFrame{
         private JLabel a1;
     private JLabel a2;
         private JLabel a3;
         private JTextField b1;
         private JTextField b2;
         private JTextField b3;
         private JButton c1;
         private JButton c2;
         private JButton c3;
         private JTextArea text;
         public cch()
         
     {
           creatComponents();
           layoutComponents();
           registerHandlers();
          setTitle("复利存款应用程序(守护)");
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          pack();
        }
         private void creatComponents()
         {
            a1=new JLabel("本金");
         //a1.setFont("宋体",Font.BOLD,18);
             a2=new JLabel("年利率");
             a3=new JLabel("年数");
             b1=new JTextField(10);
             b2=new JTextField(10);
             b3=new JTextField(10);
             c1=new JButton("计算");
             c3=new JButton("诺诺");
             c3.setBackground(Color.GREEN);
             c3.setToolTipText("LOVE YOU FOREVER");
            c2=new JButton("清除");
             text=new JTextArea();
         
             
         }
         private void layoutComponents()
         {
             setLayout(new FlowLayout());
             JPanel panel1=new JPanel();
             panel1.add(a1);
             panel1.add(b1);
             JPanel panel2=new JPanel();
             panel2.add(a2);
             panel2.add(b2);
             JPanel panel3=new JPanel();
             panel3.add(a3);
             panel3.add(b3);
             JPanel panel4=new JPanel();
             panel4.add(c1);
             panel4.add(c3);
             panel4.add(c2);
             JPanel leftpanel=new JPanel(new GridLayout(4,1));
             leftpanel.add(panel1);
             leftpanel.add(panel2);
             leftpanel.add(panel3);
             leftpanel.add(panel4);
             JScrollPane panel5=new JScrollPane(text);
             panel5.setPreferredSize(new Dimension(200,150));
             add(leftpanel);
             add(panel5);
         }
         private void registerHandlers()
         {
             c1ActionEventHander hander1=new c1ActionEventHander();
                  c1.addActionListener(hander1);
                      c2ActionEventHander hander2=new c2ActionEventHander();
                      c2.addActionListener(hander2);
                      c3ActionEventHander hander3=new c3ActionEventHander();
                      c3.addActionListener(hander3);
         }
         private class c1ActionEventHander implements ActionListener
         {
             public void actionPerformed(ActionEvent e)
             {
                 double principal;
                 double amount;
                 double rate;
                 int n;
                 NumberFormat currencyformatter=NumberFormat.getCurrencyInstance();
                 String output=""+"	"+"复利存款"+"
    ";
                 int year=1;
                 principal=Double.parseDouble(b1.getText());
                 rate=Double.parseDouble(b2.getText());
                 n=Integer.parseInt(b3.getText());
                 while(year<=n)
                 {
                     //amount=principal*Math.pow(1+rate,year);
                     amount=principal*(1+rate*year);
                     //amount=principal/(1+rate*year);
                     output+=String.valueOf(year)+"	"+currencyformatter.format(amount)+"
    ";
                     year=year+1;
                 }
                 text.setText(output);
             }
         }
         private class c2ActionEventHander implements ActionListener
         {
             public void actionPerformed(ActionEvent e)
             {
                 b1.setText("");
                 b2.setText("");
                 b3.setText("");
                 text.setText("");
             }
         }
         private class c3ActionEventHander implements ActionListener
         {
             public void actionPerformed(ActionEvent e)
             {
                 b1.setText("");
                 b2.setText("");
                 b3.setText("");
                 text.setText("守护 love 花姑娘");
             }
         }
         public static void main(String[] args)
         {
             cch frame=new cch();
             frame.setVisible(true);
             frame.setSize(450,200);
             frame.setResizable(false);
         }
     }

    实现功能点:

    
    

    1.输入本金、利率、年限复利、单利计算存款;

    
    

    2.输入利率、年限、存款复利、单利计算本金;

    
    

    3.一键清除输入框内数据。

    
    
  • 相关阅读:
    委托
    Math方法讲解
    正则表达式判断邮件输入的是否正确
    值类型与引用类型作为参数输出的效果
    listView 控件加上选择框
    ?: ?? ? 的区别
    学习思维导图之前先了解这些常识
    PDF文档如何添加图片签名
    CleanMyMac与腾讯柠檬清理软件的简单对比
    如何用思维导图MindManager制作一套学习法
  • 原文地址:https://www.cnblogs.com/caicaihong/p/5271588.html
Copyright © 2011-2022 走看看