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 }

  • 相关阅读:
    Xshell如何配置并远程连接Linux服务器详解
    VMware如何克隆一个虚拟机
    如何通过VMware安装Linux CentOS 7.7系统
    如何VMware创建Linux虚拟机并设置虚拟机网络
    自动化运维工具Ansible之LNMP实践环境部署
    自动化运维工具Ansible之Roles角色详解
    自动化运维工具Ansible之Tests测验详解
    Ansible Jinja2 模板使用
    Ansible playbook Vault 加密
    Ansible playbook 编程
  • 原文地址:https://www.cnblogs.com/xingzhui/p/5724154.html
Copyright © 2011-2022 走看看