zoukankan      html  css  js  c++  java
  • Java 设计一个贷款计算器 简易

     1 import javax.swing.*;
     2 import java.awt.*;
     3 import java.awt.event.*;
     4 import javax.swing.border.*;
     5 
     6 public class LoanCalculator extends JFrame {
     7     private class ButtonListener implements ActionListener {
     8         @Override
     9         public void actionPerformed(ActionEvent e) {
    10             // TODO Auto-generated method stub
    11             double interest=
    12                     Double.parseDouble(jtfAnnualInterestRate.getText());
    13             int year=
    14                     Integer.parseInt(jtfNumberOfYears.getText());
    15             double loanAmount=
    16                     Double.parseDouble(jtfLoanAmount.getText());
    17             
    18             double monthlyInterest=interest/1200;
    19             double monthlyPayment= loanAmount*monthlyInterest/(1-1/Math.pow(1+monthlyInterest, 
    20                     year*12));
    21             double totalPayment=monthlyPayment*year*12;
    22             
    23             jtfMonthlyPayment.setText(String.format("%.2f", monthlyPayment));
    24             jtfTotalPayment.setText(String.format("%.2f", totalPayment));
    25         }
    26     }
    27 
    28     private JTextField jtfAnnualInterestRate=new JTextField();
    29     private JTextField jtfNumberOfYears=new JTextField();
    30     private JTextField jtfLoanAmount=new JTextField();
    31     private JTextField jtfMonthlyPayment=new JTextField();
    32     private JTextField jtfTotalPayment=new JTextField();
    33     
    34     private JButton jbtComputeLoan=new JButton("Compute Payment");
    35     
    36     public LoanCalculator(){
    37         JPanel p1=new JPanel(new GridLayout(5,2));
    38         p1.add(new JLabel("Annual Interest Rate"));
    39         p1.add(jtfAnnualInterestRate);
    40         p1.add(new JLabel("Number of Years"));
    41         p1.add(jtfNumberOfYears);
    42         p1.add(new JLabel("Loan Amount"));
    43         p1.add(jtfLoanAmount);
    44         p1.add(new JLabel("Monthly Payment"));
    45         p1.add(jtfMonthlyPayment);
    46         p1.add(new JLabel("Total Payment"));
    47         p1.add(jtfTotalPayment);
    48         p1.setBorder(new TitledBorder("Enter loan amount, interest rate,"
    49                 + " and year"));
    50         
    51         JPanel p2=new JPanel(new FlowLayout(FlowLayout.RIGHT));
    52         p2.add(jbtComputeLoan);
    53         add(p1,BorderLayout.CENTER);
    54         add(p2,BorderLayout.SOUTH);
    55         jbtComputeLoan.addActionListener(new ButtonListener());
    56         
    57     }
    58 
    59     public static void main(String[] args) {
    60         // TODO Auto-generated method stub
    61         LoanCalculator frame=new LoanCalculator();
    62         frame.setTitle("LoanCalculator");
    63         frame.pack();
    64         frame.setLocationRelativeTo(null);
    65         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    66         frame.setVisible(true);
    67     }
    68 
    69 }

  • 相关阅读:
    git 学习
    公司领导写给新员工的信
    PLSQl远程连接oracle数据库
    hdu2222之AC自动机入门
    代码中添加事务控制 VS(数据库存储过程+事务) 保证数据的完整性与一致性
    ubuntu13.04安装SenchaArchitect-2.2无法启动的问题
    MVVMLight Toolkit在Windows Phone中的使用扩展之一:在ViewModel中实现导航,并传递参数
    面试题24:二叉搜索树与双向链表
    Struts2中的包的作用描述
    filter-mapping中的dispatcher使用
  • 原文地址:https://www.cnblogs.com/xingzhui/p/5724154.html
Copyright © 2011-2022 走看看