java 房贷计算器代码_用JAVA编程一个房贷计算器

求一房贷计算器java源程序

打了个电话给农行的客服(收费的),终于知道公式了。.好麻烦的公式...浪费了我15分钟的电话费。 还有在写公式的过程中遇到了计算x的y次方..谁知道java里怎么计算啊???我是自己写了个方法。.感觉有点麻烦...

注意的是利率.由于开始写的时候没考虑到小数点.所以这里都是按整数算..比如利率是7.5%就写成750..呵呵。.

不直到她公式给错了还是我没听清楚.好象公式有些不准。.明天我去银行问下。.

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

class MyFrame extends JFrame{

double a;

double b;

double c;

double d;

int ee;

double f;

double g;

double m;

double n;

double o;

double h;

static double x;

static int y;

double z;

String s1;

String s2;

JFrame jf=new JFrame("Counter");

// JPanel jp1=new JPanel();

JPanel jp2=new JPanel();

JPanel jp3=new JPanel();

JPanel jp4=new JPanel();

JPanel jp5=new JPanel();

JPanel jp6=new JPanel();

JPanel jp7=new JPanel();

JPanel jp8=new JPanel();

JPanel jp10=new JPanel();

JPanel jp11=new JPanel();

JPanel jp12=new JPanel();

JLabel jl1=new JLabel("计算器");

JLabel jl2=new JLabel("房屋单价(元/平):");

JLabel jl3=new JLabel("房屋面积(平方):");

JLabel jl4=new JLabel("首付金额(元):");

JLabel jl5=new JLabel("年利率(万分之):");

JLabel jl6=new JLabel("月还款额(元):");

JLabel jl7=new JLabel("总还款额(元):");

JLabel jl10=new JLabel("还款年限(年):");

JLabel jl11=new JLabel("本金(元):");

JLabel jl12=new JLabel("利息(元):");

JTextField jt1=new JTextField("",10);

JTextField jt2=new JTextField("",10);

JTextField jt3=new JTextField("",10);

JTextField jt4=new JTextField("",10);

JTextField jt5=new JTextField("0",15);

JTextField jt6=new JTextField("0",15);

JTextField jt10=new JTextField("",10);

JTextField jt11=new JTextField("0",15);

JTextField jt12=new JTextField("0",15);

JButton b1=new JButton("计算");

JButton b2=new JButton("清空");

MyFrame(){

jf.setLayout(new GridLayout(10,1));

// jp1.add(jl1);

// jf.add(jp1);

jp2.add(jl2);

jp2.add(jt1);

jf.add(jp2);

jp3.add(jl3);

jp3.add(jt2);

jf.add(jp3);

jp4.add(jl4);

jp4.add(jt3);

jf.add(jp4);

jp5.add(jl5);

jp5.add(jt4);

jf.add(jp5);

jp10.add(jl10);

jp10.add(jt10);

jf.add(jp10);

jp6.add(b1);

jp6.add(b2);

jf.add(jp6);

jp7.add(jl6);

jt5.setEditable(false);

jp7.add(jt5);

jf.add(jp7);

jp8.add(jl7);

jt6.setEditable(false);

jp8.add(jt6);

jf.add(jp8);

jp11.add(jl11);

jp11.add(jt11);

jt11.setEditable(false);

jf.add(jp11);

jp12.add(jl12);

jp12.add(jt12);

jt12.setEditable(false);

jf.add(jp12);

jf.setSize(300,400);

jf.setResizable(false);

jf.setVisible(true);

//窗口监听

jf.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

//键盘监听

jt1.addKeyListener(new MyKeyAdapter());

jt2.addKeyListener(new MyKeyAdapter());

jt3.addKeyListener(new MyKeyAdapter());

jt4.addKeyListener(new MyKeyAdapter());

//按键监听

b1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

a=Double.parseDouble(jt1.getText());

b=Double.parseDouble(jt2.getText());

c=Double.parseDouble(jt3.getText());

d=Double.parseDouble(jt4.getText());

ee=Integer.parseInt(jt10.getText());

// 具体的计算方法

m=1+(d/120000);

n=MyFrame.nPower(m,ee*12);

o=MyFrame.nPower(m,(ee*12-1));

f=((a*b-c)*d/120000*n)/o;

g=f*ee*12;

h=a*b-c;

jt5.setText(Double.toString(f));

jt6.setText(Double.toString(g));

jt11.setText(Double.toString(h));

jt12.setText(Double.toString((g-h)));

}

});

b2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

jt1.setText("");

jt2.setText("");

jt3.setText("");

jt4.setText("");

jt10.setText("");

jt5.setText("0");

jt6.setText("0");

jt11.setText("0");

jt12.setText("0");

}

});

}

class MyKeyAdapter extends KeyAdapter{

public void keyTyped(KeyEvent e){

char ch=e.getKeyChar();

if(ch'9'){e.consume();}

}

}

static double nPower(double _x,int _y){

x=_x;

y=_y;

double z=x;

for(int i=1;i

x=x*z;

}

return x;

}

}

public class Counter{

public static void main(String args[]){

MyFrame m=new MyFrame();

}

}

收起

6f93e2c92fc5e58e2ec18df1db0b9f08.png

阅读全文

9ded402a52cdd2b9481e864a5093252c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值