复利单利计算的源代码

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.一键清除输入框内数据。


原文地址:https://www.cnblogs.com/caicaihong/p/5271588.html