求一房贷计算器j**a源程序
蒸虾壹号烤全羊一烤全羊联盟成员
2024-06-18 02:20:41
最佳回答
打了个电话给农行的客服(收费的),终于知道公式了。.好麻烦的公式...浪费了我15分钟的电话费。 还有在写公式的过程中遇到了计算x的y次方..谁知道j**a里怎么计算啊???我是自己写了个方法。.感觉有点麻烦...注意的是利率.由于开始写的时候没考虑到小数点.所以这里都是按整数算..比如利率是7.5%就写成750..呵呵。.不直到她公式给错了还是我没听清楚.好象公式有些不准。.明天我去银行问下。.import j**ax.swing.*;import j**a.awt.*;import j**a.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);**utton b1=new **utton("计算"); **utton b2=new **utton("清空"); 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.setv**ible(true);//窗口** jf.addwindowl**tener(new windowadapter(){ public void windowclosing(windowevent e){ system.exit(0); } });//键盘** jt1.addkeyl**tener(new mykeyadapter()); jt2.addkeyl**tener(new mykeyadapter()); jt3.addkeyl**tener(new mykeyadapter()); jt4.addkeyl**tener(new mykeyadapter());//按键** b1.addactionl**tener(new actionl**tener(){ 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.addactionl**tener(new actionl**tener(){ 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<'0'||ch>'9'){e.consume();} } } static double npower(double _x,int _y){ x=_x; y=_y; double z=x; for(int i=1;i<y;i++){ x=x*z; } return x; } } public class counter{ public static void main(string args[]){ myframe m=new myframe(); } } 20210311