房贷计算器源代码
简易计算器程序源代码
简易计算器程序源代码下面是一个简易计算器程序的源代码,它可以执行基本的四则运算:```python#定义加法函数def add(x, y):return x + y#定义减法函数def subtract(x, y):return x - y#定义乘法函数def multiply(x, y):return x * y#定义除法函数def divide(x, y):if y == 0:return "除数不能为0"else:return x / y#显示菜单print("选择操作:")print("1. 相加")print("2. 相减")print("3. 相乘")print("4. 相除")#获取用户输入choice = input("输入你的选择(1/2/3/4): ")#获取用户输入的两个数字num1 = float(input("输入第一个数字: "))num2 = float(input("输入第二个数字: "))#根据用户选择执行相应操作if choice == '1':print(num1, "+", num2, "=", add(num1, num2))elif choice == '2':print(num1, "-", num2, "=", subtract(num1, num2)) elif choice == '3':print(num1, "*", num2, "=", multiply(num1, num2)) elif choice == '4':print(num1, "/", num2, "=", divide(num1, num2))else:print("请输入有效的选择")```运行这个程序,你将看到一个简易的计算器菜单。
多次提前还款计算器 最强 等额本息 等额本金 宏代码计算
32005年8月20日 199,080.54 913.78 462.90 1,376.681,376.68 已还款52005年10月20日 192,166.66 882.04 453.05 1,335.09 1,335.09 已还款72005年12月20日 191,258.49 877.88 457.21 1,335.091,335.09 已还款92006年2月20日 190,341.97 873.67 461.42 1,335.09 1,335.09 已还款112006年4月20日 189,417.01 869.42 465.67 1,335.09 1,335.09 已还款132006年6月20日 188,483.53 865.14 469.95 1,335.09 1,335.09 已还款152006年8月20日 187,541.48 860.82 474.28 1,335.09 1,335.09 已还款172006年10月20日 186,590.75 856.45 478.64 1,335.09 1,335.09 已还款192006年12月20日 185,631.27 852.05 483.04 1,335.091,335.09 已还款 2,441.67 4,207.83 5,965.68 7,715.12 9,456.10 11,188.53 12,912.32 14,627.41 16,333.72232007年4月20日 183,732.44 890.18 476.51 1,366.69 1,366.69 已还款252007年6月20日 182,777.11 885.56 481.14 1,366.69 1,366.69 已还款272007年8月20日 181,812.50 880.88 485.81 1,366.69 1,366.69 已还款292007年10月20日 180,838.52 876.16 490.53 1,366.69 1,366.69 已还款312007年12月20日 179,855.08 871.40 495.30 1,366.691,366.69 已还款332008年2月20日 178,902.85 992.24 459.46 1,451.70 1,451.70 已还款352008年4月20日 177,981.37 987.13 464.57 1,451.70 1,451.70 已还款372008年6月20日 177,049.65 981.96 469.74 1,451.70 1,451.70 已还款392008年8月20日 176,107.56 976.74 474.97 1,451.70 1,451.70 已还款412008年10月20日 175,154.99 971.45 480.25 1,451.70 1,451.70 已还款432008年12月20日 174,191.82 966.11 485.59 1,451.701,451.70 已还款452009年2月20日 173,138.24 728.48 570.38 1,298.86 1,298.86 已还款472009年4月20日 171,995.08 723.67 575.19 1,298.86 1,298.86 已还款492009年6月20日 170,842.29 718.82 580.04 1,298.86 1,298.86 已还款 19,908.19 21,681.62 23,445.73 25,200.42 26,945.60 28,932.62 30,909.44 32,875.95 34,832.04 36,777.60 38,712.50 40,171.85 41,621.60 43,061.66532009年10月20日 168,507.45 709.00 589.86 1,298.86 1,298.86552009年12月20日 167,325.24 704.02 594.84 1,298.861,298.86572010年2月20日 166,085.86 575.49 646.78 1,222.27 1,222.27592010年4月20日 164,790.06 571.00 651.27 1,222.27 1,222.27612010年6月20日 163,485.26 566.48 655.79 1,222.27 1,222.27632010年8月20日 162,171.41 561.92 660.34 1,222.27 1,222.27652010年10月20日 160,848.44 557.34 664.93 1,222.27 1,222.27672010年12月20日 159,516.29 552.72 669.54 1,222.271,222.27692011年2月20日 158,174.88 548.08 674.19 1,222.27 1,222.27712011年4月20日 156,824.17 543.40 678.87 1,222.27 1,222.27732011年6月20日 155,464.07 538.68 683.58 1,222.27 1,222.27752011年8月20日 154,094.54 533.94 688.33 1,222.27 1,222.27772011年10月20日 152,715.50 529.16 693.11 1,222.27 1,222.27792011年12月20日 151,326.88 524.35 697.92 1,222.271,222.27 45,912.43 47,322.97 48,476.17 49,620.42 50,755.64 51,881.76 52,998.74 54,106.50 55,204.98 56,294.12 57,373.84 58,444.09 59,504.81 60,555.91832012年4月20日 148,520.67 514.62 707.64 1,222.27 1,222.27852012年6月20日 147,102.93 509.71 712.55 1,222.27 1,222.27872012年8月20日 145,675.35 504.77 717.50 1,222.27 1,222.27892012年10月20日 144,237.87 499.78 722.48 1,222.27 1,222.27912012年12月20日 142,790.40 494.77 727.50 1,222.271,222.27932013年2月20日 141,332.88 489.72 732.55 1,222.27 1,222.27952013年4月20日 139,865.25 484.63 737.63 1,222.27 1,222.27972013年6月20日 138,387.43 479.51 742.75 1,222.27 1,222.27992013年8月20日 136,899.35 474.36 747.91 1,222.27 1,222.271012013年10月20日 135,400.94 469.16 753.10 1,222.27 1,222.271032013年12月20日 133,892.12 463.94 758.33 1,222.271,222.271052014年2月20日 132,372.84 458.67 763.59 1,222.27 1,222.271072014年4月20日 130,843.00 453.37 768.89 1,222.27 1,222.271092014年6月20日 129,302.55 448.03 774.23 1,222.27 1,222.27 62,629.03 63,650.92 64,662.93 65,664.99 66,657.04 67,639.00 68,610.82 69,572.41 70,523.70 71,464.63 72,395.12 73,315.10 74,224.50 75,123.241132014年10月20日 126,189.49 437.25 785.02 1,222.27 1,222.271152014年12月20日 124,616.73 431.80 790.47 1,222.271,222.271172015年2月20日 123,033.05 426.31 795.96 1,222.27 1,222.271192015年4月20日 121,438.38 420.78 801.48 1,222.27 1,222.271212015年6月20日 119,832.64 415.22 807.05 1,222.27 1,222.271232015年8月20日 118,215.75 409.62 812.65 1,222.27 1,222.271252015年10月20日 116,587.64 403.98 818.29 1,222.27 1,222.271272015年12月20日 114,948.22 398.30 823.97 1,222.271,222.271292016年2月20日 113,115.92 3.23 1,008.36 1,011.60 1,011.601312016年4月20日 111,099.17 3.18 1,008.42 1,011.60 1,011.601332016年6月20日 109,082.30 3.12 1,008.48 1,011.60 1,011.601352016年8月20日 107,065.31 3.06 1,008.54 1,011.60 1,011.601372016年10月20日 105,048.21 3.00 1,008.59 1,011.60 1,011.601392016年12月20日 103,031.00 2.94 1,008.65 1,011.601,011.60 76,888.45 77,754.78 78,610.14 79,454.48 80,287.71 81,109.75 81,920.53 82,719.96 82,726.46 82,732.84 82,739.10 82,745.25 82,751.29 82,757.201432017年4月20日 98,996.23 2.83 1,008.77 1,011.60 1,011.601452017年6月20日 96,978.66 2.77 1,008.82 1,011.60 1,011.601472017年8月20日 94,960.99 2.71 1,008.88 1,011.60 1,011.601492017年10月20日 92,943.20 2.66 1,008.94 1,011.60 1,011.601512017年12月20日 90,925.29 2.60 1,009.00 1,011.601,011.601532018年2月20日 88,907.27 2.54 1,009.05 1,011.60 1,011.601552018年4月20日 86,889.13 2.48 1,009.11 1,011.60 1,011.601572018年6月20日 84,870.88 2.43 1,009.17 1,011.60 1,011.601592018年8月20日 82,852.51 2.37 1,009.23 1,011.60 1,011.601612018年10月20日 80,834.03 2.31 1,009.28 1,011.60 1,011.601632018年12月20日 78,815.43 2.25 1,009.34 1,011.601,011.601652019年2月20日 76,796.71 2.20 1,009.40 1,011.60 1,011.601672019年4月20日 74,777.89 2.14 1,009.46 1,011.60 1,011.601692019年6月20日 72,758.94 2.08 1,009.52 1,011.60 1,011.60 82,768.70 82,774.27 82,779.73 82,785.07 82,790.30 82,795.41 82,800.40 82,805.28 82,810.05 82,814.70 82,819.23 82,823.65 82,827.96 82,832.141732019年10月20日 68,720.70 1.96 1,009.63 1,011.60 1,011.601752019年12月20日 66,701.41 1.91 1,009.69 1,011.601,011.601772020年2月20日 64,682.01 1.85 1,009.75 1,011.60 1,011.601792020年4月20日 62,662.48 1.79 1,009.80 1,011.60 1,011.601812020年6月20日 60,642.85 1.73 1,009.86 1,011.60 1,011.601832020年8月20日 58,623.09 1.68 1,009.92 1,011.60 1,011.601852020年10月20日 56,603.22 1.62 1,009.98 1,011.60 1,011.601872020年12月20日 54,583.24 1.56 1,010.04 1,011.601,011.601892021年2月20日 52,563.14 1.50 1,010.09 1,011.60 1,011.601912021年4月20日 50,542.93 1.44 1,010.15 1,011.60 1,011.601932021年6月20日 48,522.60 1.39 1,010.21 1,011.60 1,011.601952021年8月20日 46,502.15 1.33 1,010.27 1,011.60 1,011.601972021年10月20日 44,481.59 1.27 1,010.32 1,011.60 1,011.601992021年12月20日 42,460.91 1.21 1,010.38 1,011.601,011.60 82,840.17 82,844.02 82,847.74 82,851.35 82,854.85 82,858.23 82,861.49 82,864.64 82,867.68 82,870.60 82,873.40 82,876.09 82,878.66 82,881.112032022年4月20日 38,419.21 1.10 1,010.50 1,011.60 1,011.602052022年6月20日 36,398.19 1.04 1,010.56 1,011.60 1,011.602072022年8月20日 34,377.05 0.98 1,010.61 1,011.60 1,011.602092022年10月20日 32,355.79 0.92 1,010.67 1,011.60 1,011.602112022年12月20日 30,334.42 0.87 1,010.73 1,011.601,011.602132023年2月20日 28,312.94 0.81 1,010.79 1,011.60 1,011.602152023年4月20日 26,291.34 0.75 1,010.84 1,011.60 1,011.602172023年6月20日 24,269.62 0.69 1,010.90 1,011.60 1,011.602192023年8月20日 22,247.79 0.64 1,010.96 1,011.60 1,011.602212023年10月20日 20,225.84 0.58 1,011.02 1,011.60 1,011.602232023年12月20日 18,203.78 0.52 1,011.08 1,011.601,011.602252024年2月20日 16,181.60 0.46 1,011.13 1,011.60 1,011.602272024年4月20日 14,159.30 0.40 1,011.19 1,011.60 1,011.602292024年6月20日 12,136.89 0.35 1,011.25 1,011.60 1,011.60 82,885.68 82,887.79 82,889.78 82,891.66 82,893.42 82,895.07 82,896.60 82,898.02 82,899.32 82,900.51 82,901.58 82,902.53 82,903.37 82,904.092332024年10月20日 8,091.72 0.23 1,011.36 1,011.60 1,011.602352024年12月20日 6,068.97 0.17 1,011.42 1,011.601,011.602372025年2月20日 4,046.09 0.12 1,011.48 1,011.60 1,011.602392025年4月20日 2,023.10 0.06 1,011.54 1,011.60 1,011.60 82,905.19 82,905.56 82,905.83 82,905.97。
最新VB第六讲 案例“房屋贷款计算器”-web
注意:
1、界面布局怎样才更合理、美 观
2、要使用哪些控件才能完成功 能要求
3、是否需要考虑人性化设计和其他属性的修改
窗体名称:frm*** 控件名称:txt***、lbl***、cmd***
代码中容易识别、 阅读、记忆
窗体及控件其他属性的修改涉及到最终的现实效果, 必须清楚各常用属性值的含义
代码设置
根据功能要求完成代码设置,注意其中书写格式要符合要求 明确知道其中代码的具体含义及显示效果,能简则简,能省 则省,不能有任何“画蛇添足”的语句
代码讲解
VB计算公式的表达 Formate函数对输出内容的规范显示
Form_Load()事件的应用
房贷计算器Web代码讲解
本周课后习题
• 根据书上第三章的讲述,首先自行完成所有内容的阅读, 然后根据课后第三章练习题(选择题和填空题),着重学 习相应内容,并给出习题答案
• 对于无法立即给出的答案挑选同学们给出答案
此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好!谢谢
VB第六讲 案例“房屋贷款计算 器”-web
/house/tools.htm
功能分析
• 1、根据房屋单价、面积等信息完成房屋贷款数额和每月 还款数额的计算
• 2、有按揭成数和按揭年数的选择
• 3、明确知道相关数据:如贷款利率等,及其他计算的公 式:如贷款数额等
python--房贷计算小工具
python--房贷计算⼩⼯具看了下房贷等额本⾦和等额本息的算法,因此写了个计算房贷的⼩⼯具,⽅便⾃⼰计算lone_pay.py#!/usr/bin/env python# _*_ coding: UTF-8 _*_"""=================================================@Project -> File : lone_pay.py@IDE : PyCharm@Author : zihan@Date : 2022/2/16 19:57@Desc :================================================="""def main():capital = 1050000 # 贷款本⾦105万year_rate = 0.049 # 年利率4.9%years = 30 # 贷款年限month_rate = year_rate / 12 # ⽉利率months = years * 12 # 还款⽉数# 贷款等额本息print("开始等额本息计算: ")month_pay_money = (capital * month_rate * (1 + month_rate) ** months) / ((1 + month_rate) ** months - 1)total_pay_money = month_pay_money *monthsprint("每⽉应还款⾦额为:", month_pay_money)print("累积应还款总额为:", total_pay_money)# 贷款等额本⾦print("")print("开始等额本⾦计算: ")month_pay_capital_standard = capital / 360 # 每⽉还款本⾦total_pay_money = 0for i in range(months):month_pay_interest = (capital - i * month_pay_capital_standard) * month_rate # 每⽉还款利息month_pay_capital = month_pay_interest + month_pay_capital_standard # 每⽉应还款额 = 每⽉还款本⾦ + 每⽉还款利息 descip = "第{}⽉应还款额为: ".format(i + 1)print(descip, month_pay_capital)total_pay_money = total_pay_money + month_pay_capitalprint(total_pay_money)print("累积应还款总额为:", total_pay_money)if__name__ == '__main__':main()等额本⾦还款总额会⽐等额本息少。
计算器(c 语言)实现源代码
计算器(c++语言)实现源代码.txt如果真诚是一种伤害,请选择谎言;如果谎言是一种伤害,请选择沉默;如果沉默是一种伤害,请选择离开。
#include <iostream>using namespace std;#define STACK_INIT_SIZE 100#define STACKINCREMENT 10//-----------------------------------------------------------------------------------------------class Stack1{//定义字符栈public:char * base;char * top;int stacksize;Stack1();int GetTop(char &e);//取栈顶元素int Push(char e);//压栈int Pop(char &e);//跳栈};Stack1::Stack1(){base=(char *)malloc(STACK_INIT_SIZE*sizeof(char));top=base;stacksize=STACK_INIT_SIZE;}int Stack1::GetTop(char &e){if (top==base) return -1;else {e=*(top-1);return 0;}}int Stack1::Push(char e){char *new_base=0;if(top-base>=stacksize){new_base=(char *)realloc(base,(stacksize+STACKINCREMENT)*sizeof(char));if(!new_base) return -2;else{base=new_base;top=base+stacksize;stacksize+=STACKINCREMENT;}}*top++=e;return 0;}int Stack1::Pop(char &e){if(top==base) return -1;e=*--top;return 0;}//----------------------------------------------------------------------------------------------class Stack2{//定义数字栈public:double * base;double * top;int stacksize;Stack2();int GetTop(double &e);//取栈顶元素int Push(double e);//压栈int Pop(double &e);//跳栈};Stack2::Stack2(){base=(double *)malloc(STACK_INIT_SIZE*sizeof(double));top=base;stacksize=STACK_INIT_SIZE;}int Stack2::GetTop(double &e){if (top==base) return -1;e=*(top-1);return 0;}int Stack2::Push(double e){double *new_base=0;if(top-base>=stacksize){new_base=(double*)realloc(base,(stacksize+STACKINCREMENT)*sizeof(double));if(!new_base) return -2;else{new_base=base;top=base+stacksize;stacksize+=STACKINCREMENT;}}*top++=e;return 0;}int Stack2::Pop(double &e){if(top==base) return -1;e=*--top;return 0;}//------------------------------------------------------------------------------------------------class Calculator{private:bool IsOperand(char ch);//判断ch是否是操作数bool IsOperator(char ch);//判断ch是否是操作符char Precede(char op1,char op2);//判断两个操作符优先级的高低double Operate(double left,char op,double right);//执行运算left op right int Translate(char op);//将操作符映射到行、列游标public:void Run();//执行表达式求值运算};bool Calculator::IsOperand(char ch){if(ch>47&&ch<58) return true;else return false;}bool Calculator::IsOperator(char ch){if(ch>39&&ch<44||ch==45||ch==47||ch==61) return true;else return false;}char Calculator::Precede(char op1,char op2){int op10,op20;op10=op20=0;op10=Translate(op1);op20=Translate(op2);charOP[7][7]={'>','>','<','<','<','>','>','>','>','<','<','<','>','>','>','>','>','> ','<','>','>','>','>','>','>','<','>','>','<','<','<','<','<','=','e','>','>','> ','>','e','>','>','<','<','<','<','<','e','='};return OP[op10][op20];//将操作符优先级表映射到二维数组}double Calculator::Operate(double left,char op,double right){ switch(op){case '+':return (left+right);break;case '-':return (left-right);break;case '*':return (left*right);break;case '/':return (left/right);break;}}int Calculator::Translate(char op){switch(op){case '+':return 0;break;case '-':return 1;break;case '*':return 2;break;case '/':return 3;break;case '(':return 4;break;case ')':return 5;break;case '=':return 6;break;}}void Calculator::Run(){Stack1 OPTR;Stack2 OPND;char c;//用于临时存放输入的操作数或操作符char c0;//用于存放操作符栈顶的操作符char x;//用于存放弹出相同操作符后返回的操作符double a=0,b=0;double r=0;//用于存放运算结果int flag=0;//标记异常OPTR.Push('=');OPTR.GetTop(c0);cout<<"输入格式例如“3+4/(3-1)=”"<<endl;c=getchar();while(c!='='||c0!='='){if(IsOperand(c)) {OPND.Push(c-48);c=getchar();}else if(IsOperator(c)){switch(Precede(c0,c)){case '<':OPTR.Push(c);OPTR.GetTop(c0);c=getchar();break;case '=':OPTR.Pop(x);OPTR.GetTop(c0);c=getchar();break;case '>':OPTR.Pop(c0);OPND.Pop(b);OPND.Pop(a);OPND.Push(Operate(a,c0,b));OPTR.GetTop(c0);break;default:cout<<"输入有误!"<<endl;flag=-1;break;}}else {cout<<"未输入等于号“=”!"<<endl;flag=-1;break;}if (flag==-1) {break;}}if (flag!=-1){OPND.GetTop(r);cout<<"结果为:"<<r<<endl;}}void main (){Calculator C;C.Run();}。
按揭住房贷款的课设报告以及源代码
3
目录
目录..............................................................................................................1 第一章 系统概要....................................................................................... 2 第二章 设计思路与算法........................................................................... 5 第三章 源程序代码.................................................................................. 6 第四章 运行结果及分析......................................................................... 9 第五章 心得体会................................................................................... 16 参考文献................................................................................................... 16
学生签名:
范明红
2011 年 6 月 19 日
2
课程设计(论文)评阅意见
序号 1 2 3 4 5 6 项 目 等 优秀 良好 中等 级 及格 不及格
PHP房贷计算器代码,等额本息,等额本金
PHP房贷计算器代码,等额本息,等额本⾦ debx();function debx(){$dkm = 240; //贷款⽉数,20年就是240个⽉$dkTotal = 10000; //贷款总额$dknl = 0.0515; //贷款年利率$emTotal = $dkTotal * $dknl / 12 * pow(1 + $dknl / 12, $dkm) / (pow(1 + $dknl / 12, $dkm) - 1); //每⽉还款⾦额$lxTotal = 0; //总利息for ($i = 0; $i < $dkm; $i++) {$lx = $dkTotal * $dknl / 12; //每⽉还款利息$em = $emTotal - $lx; //每⽉还款本⾦echo "第" . ($i + 1) . "期", " 本⾦:", $em, " 利息:" . $lx, " 总额:" . $emTotal, "<br />";$dkTotal = $dkTotal - $em;$lxTotal = $lxTotal + $lx;}echo "总利息:" . $lxTotal;}function debj(){$dkm = 240; //贷款⽉数,20年就是240个⽉$dkTotal = 10000; //贷款总额$dknl = 0.0515; //贷款年利率$em = $dkTotal / $dkm; //每个⽉还款本⾦$lxTotal = 0; //总利息for ($i = 0; $i < $dkm; $i++) {$lx = $dkTotal * $dknl / 12; //每⽉还款利息echo "第" . ($i + 1) . "期", " 本⾦:", $em, " 利息:" . $lx, " 总额:" . ($em + $lx), "<br />";$dkTotal -= $em;$lxTotal = $lxTotal + $lx;}echo "总利息:" . $lxTotal;}exit;。
计算器完整代码(java)
本计算器相对来说比较完整,不能说没有bug,但是相对于网上下载的那些粗略的计算器要完整的多,如“.”,“0”的处理,网上的计算器代码可以出现“0123”,“.122”,“.0123”,“….114”,等关于“0”和“.”的各种问题,而本代码对这方面做了完整的处理。
1. Calculator 类import java.applet.*;import java.awt.*;import java.awt.event.*;import ng.*;import java.applet.Applet;import javax.swing.*;import javax.swing.border.*;public class Calculator extends JApplet implements ActionListener{private final String[] KEYS={"7","8","9","/","sqrt", "4","5","6","*","%","1","2","3","-","1/x","0","+/-",".","+","="};private final String[] COMMAND={"Backspace","CE","C"};private final String[] M={" ","MC","MR","MS","M+"};private JButton keys[]=new JButton[KEYS.length];private JButton commands[]=new JButton[COMMAND.length];private JButton m[]=new JButton[M.length];private JTextField display =new JTextField("0");// public JTextField setHorizontalAlignment(int alignment);// private JTextFielddisplay.setHorizontalAlignment(JTextField.RIGHT)=new JTextField("0"); private void setup(){display.setHorizontalAlignment(JTextField.RIGHT);JPanel calckeys=new JPanel();JPanel command=new JPanel();JPanel calms=new JPanel();calckeys.setLayout(new GridLayout(4,5,3,3));command.setLayout(new GridLayout(1,3,3,3));calms.setLayout(new GridLayout(5,1,3,3));for(int i=0;i<KEYS.length;i++){keys[i]=new JButton(KEYS[i]);calckeys.add(keys[i]);keys[i].setForeground(Color.blue);}keys[3].setForeground(Color.red);keys[4].setForeground(Color.red);keys[8].setForeground(Color.red);keys[9].setForeground(Color.red);keys[13].setForeground(Color.red);keys[14].setForeground(Color.red);keys[18].setForeground(Color.red);keys[19].setForeground(Color.red);for(int i=0;i<COMMAND.length;i++){commands[i]=new JButton(COMMAND[i]);command.add(commands[i]);commands[i].setForeground(Color.red);}for(int i=0;i<M.length;i++){m[i]=new JButton(M[i]);calms.add(m[i]);m[i].setForeground(Color.red);}JPanel panel1=new JPanel();panel1.setLayout(new BorderLayout(3,3));panel1.add("North",command);panel1.add("Center",calckeys);JPanel top=new JPanel();top.setLayout(new BorderLayout());display.setBackground(Color.WHITE);top.add("Center",display);getContentPane().setLayout(new BorderLayout(3,5)); getContentPane().add("North",top);getContentPane().add("Center",panel1);getContentPane().add("West",calms);}public void init(){setup();for(int i=0;i<KEYS.length;i++){keys[i].addActionListener(this);}for(int i=0;i<COMMAND.length;i++){commands[i].addActionListener(this);}for(int i=0;i<M.length;i++){m[i].addActionListener(this);}display.setEditable(false);}public void actionPerformed(ActionEvent e){String label=e.getActionCommand();// double zero=e.getActionCommand();if(label=="C")handleC();else if(label=="Backspace")handleBackspace();else if(label=="CE")display.setText("0");else if (label=="1/x")daoShu();else if(label=="sqrt"){display.setText(Math.sqrt(getNumberFromDisplay())+""); }else if("0123456789.".indexOf(label)>=0){handleNumber(label);// handlezero(zero);}elsehandleOperator(label);}private boolean firstDigit=true;private void handleNumber(String key){if(firstDigit){ if(key.equals("0"))display.setText(key);else if(key.equals(".")){display.setText("0.");firstDigit=false;}else if(!key.equals("0")&&!key.equals(".")){display.setText(key);firstDigit=false;}}else if((key.equals("."))&&(display.getText().indexOf(".")<0))display.setText(display.getText()+".");else if(!key.equals(".")&&display.getText().length()<=32) display.setText(display.getText()+key);}private double number=0;private String operator="=";private void handleOperator(String key){if(operator.equals("/")){if(getNumberFromDisplay()==0){display.setText("除数不能为零");}else{number/=getNumberFromDisplay();}long t1;double t2;t1=(long)number;t2=number-t1;if(t2==0){display.setText(String.valueOf(t1));}else{display.setText(String.valueOf(number));}}else if(operator.equals("+"))number+=getNumberFromDisplay();else if(operator.equals("-"))number-=getNumberFromDisplay();else if(operator.equals("*"))number*=getNumberFromDisplay();else if(operator.equals("%"))number=number/100;else if(operator.equals("+/-"))number=number*(-1);else if(operator.equals("="))number=getNumberFromDisplay();long t1;double t2;t1=(long)number;t2=number-t1;if(t2==0)display.setText(String.valueOf(t1));elsedisplay.setText(String.valueOf(number));operator=key;firstDigit=true;}private double getNumberFromDisplay(){return Double.valueOf(display.getText()).doubleValue(); }private void handleC(){display.setText("0");firstDigit=true;operator="=";}private void handleBackspace(){String text=display.getText();int i=text.length();if(i>0){text=text.substring(0,i-1);if(text.length()==0){display.setText("0");firstDigit=true;operator="=";}elsedisplay.setText(text);}}private void daoShu(){if (display.getText().equals("0")) {display.setText("除数不能为零");System.out.println(1);}else{long l;double d=1/getNumberFromDisplay();l=(long)d;System.out.println(d);System.out.println(l);display.setText(String.valueOf(d));}}}2.CalFrame 类import java.awt.Color;importimport java.awt.event.ActionListener; import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JApplet;import javax.swing.JFrame;public class Test {public static void main(String[] args) {JFrame f=new JFrame();f.getAccessibleContext();Calculator Calculator1=new Calculator(); Calculator1.init();f.getContentPane().add("Center",Calculator1);f.setVisible(true);f.setBounds(300, 200,380,245);f.setBackground(Color.LIGHT_GRAY);f.validate();f.setResizable(false);f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});f.setTitle("计算器");}}。
(完整word版)java设计的房贷计算器
for(int i=1;i <= nian*12;i++){
yuehuanbenjin =benjin / nian /12;
yuehuankuan = (int) (yuehuanbenjin + lilv / nian / 12 *(nian * 12 - i)*yuehuanbenjin*0.01);
System.out.println("3。退出-> C *");
System.out.println("************************************************"); //菜单提示
double lilv;
double benjin;
int nian;
int yuehuankuan;
Scanner reader1=new Scanner(System.in);
System.out.print("请输入年利率:");
lilv= reader1.nextInt();
System.out.print("请输入贷款总额:");
benjin= reader1.nextDouble();
System.out.print("请输入还款年限:");
//java编写的房贷计算器ห้องสมุดไป่ตู้
//@王强出品
import java.util.*;
public class fangdai {
public static void main(String args[]) throws InterruptedException
java编写一个贷款计算器
java编写⼀个贷款计算器https:///flueky/article/details/77099454 房贷有两种贷款⽅式:1是等额本息还款;2是等额本⾦还款。
简单的说就是等额本息就是每⽉还款额相等,⽐如⼀个⽉固定还款3000元,每⽉不变,就是这种等额本息还款的⽅式。
另外⼀种就是每⽉还款额不等,⼀个⽉⽐⼀个⽉少点。
但是还款初期还款额⽐较⼤,越往后还款越少。
具体哪种适合⾃⼰要结合⾃⾝的情况。
如果看利息的话第⼆种还款总利息要少于第⼀种。
好了我们现在再说⼀下两者还款的计算⽅式: (⼀)等额本息还款: 每⽉还本付息=【贷款本⾦x⽉利率x(1+⽉利率)^还款⽉数】/【(1+⽉利率)^还款⽉数-1】 每⽉还利息=剩余本⾦x贷款⽉利率(第⼀个⽉的本⾦就是贷款额,逐⽉递减) 每⽉还款本⾦=每⽉还款⾦额-每⽉还利息 剩余本⾦=上⽉剩余本⾦-本⽉偿还本⾦ 还款总利息=贷款额X贷款⽉数x⽉利率x(1+⽉利率)^还款⽉数/【(1+还款⽉数)^还款⽉数-1】-贷款总额 注:^这个符号是次⽅的意思 主要计算公式就是这样,等额本息公式详细推导过程并不是很难,应⽤⾼中阶段的数学知识就可以完全理解清楚。
(⼆)等额本⾦还款 每⽉还本付息=(本⾦/还款⽉数)+(本⾦-累计已还本⾦)x⽉利率 每⽉本⾦=总本⾦/还款⽉数 每⽉利息=(本⾦-累计已还本⾦)x⽉利率 还款总利息=(还款⽉数+1)x贷款额x⽉利率/2java编写⼀个简易版贷款计算器1 import javax.swing.*;2 import java.awt.*;3 import java.awt.event.*;4 import javax.swing.border.*;56 public class LoanCalculator extends JFrame {7 private class ButtonListener implements ActionListener {8 @Override9 public void actionPerformed(ActionEvent e) {10 // TODO Auto-generated method stub11 double interest=12 Double.parseDouble(jtfAnnualInterestRate.getText());13 int year=14 Integer.parseInt(jtfNumberOfYears.getText());15 double loanAmount=16 Double.parseDouble(jtfLoanAmount.getText());1718 double monthlyInterest=interest/1200;19 double monthlyPayment= loanAmount*monthlyInterest/(1-1/Math.pow(1+monthlyInterest,20 year*12));21 double totalPayment=monthlyPayment*year*12;2223 jtfMonthlyPayment.setText(String.format("%.2f", monthlyPayment));24 jtfTotalPayment.setText(String.format("%.2f", totalPayment));25 }26 }2728 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();3334 private JButton jbtComputeLoan=new JButton("Compute Payment");3536 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"));5051 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());5657 }5859 public static void main(String[] args) {60 // TODO Auto-generated method stub61 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 }6869 }另⼀种编写⽅式:https:///flueky/article/details/77099454注:利率⼀律按照4.9计算。
C语言简单计算器程序源代码
C语言简单计算器程序源代码以下是一个简单的C语言计算器程序的源代码:```c#include <stdio.h>int maichar operator;double num1, num2;printf("请输入运算符:");scanf("%c", &operator);printf("请输入两个数字:");scanf("%lf %lf", &num1, &num2);switch (operator)case '+':printf("%.2lf + %.2lf = %.2lf", num1, num2, num1 + num2); break;case '-':printf("%.2lf - %.2lf = %.2lf", num1, num2, num1 - num2); break;case '*':printf("%.2lf * %.2lf = %.2lf", num1, num2, num1 * num2);break;case '/':if (num2 != 0)printf("%.2lf / %.2lf = %.2lf", num1, num2, num1 / num2);elseprintf("除数不能为0");break;default:printf("无效的运算符");}return 0;```这个程序首先提示用户输入一个运算符,然后再提示输入两个数字。
接下来,程序会根据输入的运算符执行相应的计算,并打印结果。
在计算除法时,程序会检查除数是否为0,如果为0,则打印错误信息。
请注意,这只是一个非常简单的计算器程序,没有考虑很多错误处理情况。
房贷计算器源代码
房贷计算器源代码房贷计算器源代码:Private Sub Form_Click()Dim n As Integer 'n为贷款月数Dim x As Double, y As Double, sum As Double, k As Double, h As Double'x为月息,y为总息额,sum为本金总额,k为优惠的比例因子,h 为平均月供Dim m As Long, s As Long, c As Single 'm为面积数,s 为单价,c为贷款成数s = InputBox("请输入每平米单价:", , 3500) m = InputBox("请输入面积数:", , 145)n = InputBox("请输入贷款月数", , 240)x = InputBox("请输入利息额:", , 6.4)k = InputBox("请输入优惠的比例因子", , 0.85)c = InputBox("请输入按揭成数:", , 0.7)x = (x * k / 100) / 12 '将年利换算成月利息sum = s * m * ch = sum * x * ((1 + x) ^ n) / ((1 + x) ^ n - 1)Print "还款总额为:"; Round(h * n, 2)Print "贷款总额为:"; sumPrint "平均月供为:"; Round(h, 2)Print "总利息额度为:"; Round(h * n - sum)End Sub。
java设计的房贷计算器
java设计的房贷计算器//java编写的房贷计算器//@王强出品import java.util.*;public class fangdai {public static void main(String args[]) throws InterruptedException{System.out.println("****************************************** ******");System.out.println("* 房贷计算器*");System.out.println("****************************************** ******");System.out.println("1。
进入-> I *");System.out.println("2。
帮助-> H *");System.out.println("3。
退出-> C *");System.out.println("****************************************** ******");//菜单提示double lilv;double benjin;int nian;int yuehuankuan;double yuehuanbenjin;int zonge1;int sum=0;double chae;boolean flag=true;System.out.println("请根据菜单选择操作:");while(flag){Scanner sc=new Scanner(System.in);String str=sc.next();char ch=str.charAt(0);switch(ch)//使用switch语句,利用菜单选择输入内容{case'i':case'I':Scanner reader=new Scanner(System.in);System.out.print("请输入年利率:");lilv= reader.nextInt();System.out.print("请输入贷款总额:");benjin= reader.nextDouble();System.out.print("请输入还款年限:");nian= (int) reader.nextDouble();zonge1 = (int) (lilv * nian * 0.01 * benjin + benjin) ;yuehuankuan = zonge1 / nian / 12 ;for(int i=1;i <= nian*12;i++){yuehuanbenjin =benjin / nian /12;yuehuankuan = (int) (yuehuanbenjin + lilv / nian / 12 *(nian * 12 - i)*yuehuanbenjin*0.01);if(i>nian*12)break;sum=(int) (sum+yuehuankuan);}chae=zonge1-sum;System.out.print("\n等额本息还款法还款总额"+zonge1+"元月还款额为"+ yuehuankuan+"元\n");System.out.println("等额本金还款法还款总额为"+sum+"元\n");System.out.print("等额本息还款法比等额本金还款法多还款"+chae+"\n\n按i/I继续计算按c/C退出程序");break;case'h':case'H':System.out.println("Clam down");System.out.println("请根据菜单提示一步一步进行操作");Scanner reader1=new Scanner(System.in);System.out.print("请输入年利率:");lilv= reader1.nextInt();System.out.print("请输入贷款总额:");benjin= reader1.nextDouble();System.out.print("请输入还款年限:");nian= (int) reader1.nextDouble();zonge1 = (int) (lilv * nian * 0.01 * benjin + benjin) ;yuehuankuan = zonge1 / nian / 12 ;for(int i=1;i <= nian*12;i++){yuehuanbenjin =benjin / nian /12;yuehuankuan = (int) (yuehuanbenjin + lilv / nian / 12 *(nian * 12 - i)*yuehuanbenjin*0.01);if(i>nian*12)break;sum=(int) (sum+yuehuankuan);}chae=zonge1-sum;System.out.print("\n等额本息还款法还款总额"+zonge1+"元月还款额为"+ yuehuankuan+"元\n");System.out.println("等额本金还款法还款总额为"+sum+"元\n");System.out.print("等额本息还款法比等额本金还款法多还款"+chae+"\n\n按i/I继续计算按c/C退出程序");break;case 'c':case 'C':System.out.println("正在退出系统,谢谢您的使用!");flag=false;break;default:System.out.println("请根据菜单选择操作");}}}}。
房贷计算器代码
房贷计算器代码本人经过两天的修改,做了进一步完善。
各个方法功能逐步完善。
但是鉴于自己水平有限,代码中错误还是比较多,代码冗余度还是偏高。
欢迎大家提出意见,已供代码进一步完善。
希望大家多多帮助。
谢谢大家。
2019年10月25日21点。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Drawing;using System.Reflection;using workInformation;namespace play{class Program{//短期利率与长期利率double lowRate = 0;double highRate = 0;//KeyValuePair<DateTime, >;DateTime dt1 = new DateTime(2015, 3, 1);DateTime dt2 = new DateTime(2015, 5, 11);DateTime dt3 = new DateTime(2015, 6, 28);DateTime dt4 = new DateTime(2015, 8, 26);//贷款金额static double totalMoney, balance;static string choice;static string newChoice;//期数int n;//月供double payMonth;double rate;double interest;/// <summary>/// 用来构建欢迎界面/// </summary>void Paint(){Console.WriteLine("***************************"); Console.WriteLine("***************************"); Console.WriteLine("***************************"); Console.WriteLine("欢迎使用房贷计算器"); Console.WriteLine("***************************"); Console.WriteLine("***************************"); Console.WriteLine("***************************"); Console.WriteLine("请按任意键继续"); Console.ReadKey();Console.Clear();}/// <summary>/// 按日期选择利率/// </summary>/// <param name="dt">输入的日期</param> void RateChoose(DateTime dt){if (dt >= dt4){lowRate = 0.0275;highRate = 0.0325;}else if (dt >= dt3){lowRate = 0.03;highRate = 0.035;}else if (dt >= dt2){lowRate = 0.0325;highRate = 0.0375;}else if (dt >= dt1){lowRate = 0.035;highRate = 0.04;}else{Console.WriteLine("你输入的日期不在范围内"); Console.ReadKey();Environment.Exit(0);}}/// <summary>/// 计算月供/// </summary>void Payment(DateTime dt){//设置缓冲区高度,即设置显示的最大行数Console.BufferHeight = 1000;RateChoose(dt);switch (choice){case "1":{//等额本息,月供计算方法for (n = 1; n <= 360; n++){if (n <= 60){rate = lowRate;}else{rate = highRate;}//计算月供double p;p = rate / 12;payMonth = (p * totalMoney * Math.Pow((1 + p), n)) / ((Math.Pow(1 + p, n) - 1));//利息interest = n * payMonth;if (n % 2 == 0){Console.ForegroundColor = ConsoleColor.Blue;}else{Console.ForegroundColor = ConsoleColor.White;}Console.WriteLine("{0}期按揭贷款的月供是{1:0.00}元,总利息是{2:0.00}元", n, payMonth, interest);}}break;case "2":{//等额本金,月供计算方法for (n = 1; n <= 360; n++){if (n <= 60){rate = lowRate;}else{rate = highRate;}//计算月供double p;p = rate / 12;payMonth = (totalMoney / n) + totalMoney * p;interest = ((totalMoney / n + totalMoney * p) + totalMoney / n * (1 + p)) / 2 * n - totalMoney;Console.WriteLine("{0}期按揭贷款的首月还款额是{1:0.00}元,总利息是{2:0.00}元", n, payMonth, interest);}}break;}}/// <summary>/// 月贷计算方法/// </summary>/// <param name="n">还款期数</param>void Compute(int n){Console.WriteLine("期次\t\t偿还利息\t\t偿还本金\t\t还款额\t\t剩余本金");switch (choice){case "1"://等额本息法计算房贷{if (n <= 60){rate = lowRate;}else{rate = highRate;}double p;p = rate / 12;payMonth = (p * totalMoney * Math.Pow((1 + p), n)) / ((Math.Pow(1 + p, n) - 1));for (int i = 1; i <= n; i++){//string s = i.ToString();interest = totalMoney * p;double capital = payMonth - interest;totalMoney -= capital;Console.WriteLine("{0}\t\t{1:0.00}\t\t{2:0.00}\t{3:0.00}\t{4:0.0 0}", i, interest, capital, payMonth, totalMoney);}}break;case "2"://等额本金法计算房贷{if (n <= 60){rate = lowRate;}else{rate = highRate;}double p;p = rate / 12;double capital = totalMoney / n;for (int i = 1; i <= n; i++){interest = totalMoney * p;payMonth = capital + interest;totalMoney -= capital;Console.WriteLine("{0}\t\t{1:0.00}\t\t\t{2:0.00}\t\t{3:0.00}\t{4: 0.00}", i, interest, capital, payMonth, totalMoney);}}break;}}/// <summary>/// 计算还款状况/// </summary>/// <param name="n0">还款期数</param>/// <param name="dt">首次还款时间</param>void Repayment(int n0, DateTime dt){balance = totalMoney;DateTime dt0 = dt;double rate0;double capital;double p;Console.WriteLine("还款时间\t\t偿还利息\t\t偿还本金\t\t还款额\t\t剩余本金");switch (choice){case "1":{RateChoose(dt0);if (n0 <= 60){rate0 = lowRate;}else{rate0 = highRate;}n = n0;for (int i = 1; i <=n0; i++){RateChoose(dt);rate = (n0 <= 60 ? lowRate : highRate);if (dt.Year != dt0.Year && rate != rate0)//这里应该有问题?{double p0 = rate0 / 12;double payMonth0= (p0 * totalMoney * Math.Pow((1 + p0), n)) / ((Math.Pow(1 + p0, n) - 1));double interest0 = balance * p0;double capital0 = payMonth0 - interest0;rate0 = rate;interest = balance * (rate0/12);totalMoney = balance;balance -= capital0;payMonth = capital0 + interest;n =n0 - i+1;Console.WriteLine("{0}\t{1:0.00}\t\t\t{2:0.00}\t\t\t{3:0.00}\t\t{ 4:0.00}", dt, interest, capital0, payMonth, balance);dt = dt.AddMonths(1);continue;}p = rate0 / 12;payMonth = (p * totalMoney * Math.Pow((1 + p), n)) / ((Math.Pow(1 + p, n) - 1));interest = balance * p;capital = payMonth - interest;balance -= capital;Console.WriteLine("{0}\t{1:0.00}\t\t\t{2:0.00}\t\t\t{3:0.00}\t\t{ 4:0.00}", dt, interest, capital, payMonth, balance);dt = dt.AddMonths(1);}}break;case "2":{RateChoose(dt0);rate0 = (n0 <= 60 ? lowRate : highRate);n = n0;for (int i = 0; i < n0; i++){RateChoose(dt);rate = (n0 <= 60 ? lowRate : highRate);if (dt.Year!=dt0.Year&&rate!=rate0){rate0 = rate;}p = rate0 / 12;capital = totalMoney / n0;interest = balance * p;payMonth = capital + interest;balance -= capital;Console.WriteLine("{0}\t{1:0.00}\t\t\t{2:0.00}\t\t\t{3:0.00}\t\t{ 4:0.00}", dt, interest, capital, payMonth, balance);dt = dt.AddMonths(1);}}break;}}/// <summary>///实现提前还款功能/// </summary>/// <param name="n">还款总期数</param>/// <param name="dt1">首次还款时间</param>/// <param name="dt2">提前还款时间</param>void Prepayment(int n0,DateTime dt1,DateTime dt2,double money){balance = totalMoney;DateTime dt0 = dt1;double rate0;double capital;double p;bool flag = false;Console.WriteLine("还款时间\t\t偿还利息\t\t偿还本金\t\t还款额\t\t剩余本金");switch (choice){case "1":{RateChoose(dt0);rate0 = (n0 <= 60 ? lowRate : highRate);n = n0;for(int i=1;i<=n0;i++){RateChoose(dt1);rate = (n0 <= 60 ? lowRate : highRate);if (dt1.Year != dt0.Year && rate != rate0)//这里应该有问题?{double p0 = rate0 / 12;double payMonth0 = (p0 * totalMoney * Math.Pow((1 + p0), n)) / ((Math.Pow(1 + p0, n) - 1));double interest0 = balance * p0;double capital0 = payMonth0 - interest0;rate0 = rate;interest = balance * (rate0 / 12);totalMoney = balance;balance -= capital0;payMonth = capital0 + interest;n = n0 - i + 1;Console.WriteLine("{0}\t{1:0.00}\t\t\t{2:0.00}\t\t\t{3:0.00}\t\t{ 4:0.00}", dt1, interest, capital0, payMonth, balance);dt1 = dt1.AddMonths(1);continue;}p = rate0 / 12;if (dt2.Year == dt1.Year && dt2.Month == dt1.Month){balance -= money;totalMoney = balance;switch (newChoice){case "1":{n = n0 - i + 1;flag = true;}break;case "2":{double temp = Math.Log((payMonth / (payMonth - totalMoney * p)), (1 + p));n= (int)Math.Ceiling(temp);n0 = n + i - 1;}break;}}payMonth = (p * totalMoney * Math.Pow((1 + p), n)) / ((Math.Pow(1 + p, n) - 1));interest = balance * p;capital = payMonth - interest;balance -= capital;if (flag){payMonth += money;capital += money;flag = false;}Console.WriteLine("{0}\t{1:0.00}\t\t\t{2:0.00}\t\t\t{3:0.00}\t\t{ 4:0.00}", dt1, interest, capital, payMonth, balance);dt1 = dt1.AddMonths(1);}}break;case "2":{}break;}}static void Main(string[] args){{Program p = new Program();p.Paint();Console.WriteLine("请选择您的操作!1.房贷计算2.月供速算3.还款状况 4.提前还款");Console.WriteLine("请选择您的还款方式?1.等额本息2.等额本金");choice = Console.ReadLine();Console.WriteLine("请输入你的贷款金额");totalMoney = Convert.ToDouble(Console.ReadLine());Console.WriteLine("请输入您贷款的期数");int number = Convert.ToInt32(Console.ReadLine());Console.WriteLine("请输入你的首次贷款时间");DateTime dT = Convert.T oDateTime(Console.ReadLine());Console.WriteLine("请输入你的提前还款时间");DateTime dTR = Convert.ToDateTime(Console.ReadLine());Console.WriteLine("请输入你的还款金额");double partMoney = Convert.ToDouble(Console.ReadLine());Console.WriteLine("请选择你要的后续操作!1.减少月供2.缩短年限");newChoice = Console.ReadLine();//Console.WriteLine("你输入的日期是{0},短期利率是{1},长期利率是{2}",dT,p.lowRate,p.highRate);//dT= dT.AddMonths(1);// Console.WriteLine(dT);// p.Repayment(number, dT);// pute(number);// p.Payment(dTR);p.Prepayment(number, dT, dTR, partMoney);Console.ReadKey();}}}}。
二计算器
二计算器下面文件名要为:JiSuanQi.javaimport java.awt.*;import java.awt.event.*;public class JiSuanQi{String s="",s1=null,s2=null;Frame f=new Frame("计算器");TextField tf=new TextField(30);Panel p1=new Panel();Panel p2=new Panel();Panel p3=new Panel();Button bt1=new Button("=");Button bt2=new Button("删除");Button[] bt=new Button[16];int id=0;public static void main(String[] args){new JiSuanQi().init();}public void init(){f.setBackground(new Color(85,247,253));f.setLayout(new BorderLayout(4,4));p2.setLayout(new GridLayout(4,4,4,4));p3.setLayout(new BorderLayout(4,4));f.setResizable(false);f.add(p1,BorderLayout.NORTH);f.add(p2);p3.add(bt2,BorderLayout.NORTH);p3.add(bt1);p1.add(tf);f.add(p3,BorderLayout.EAST);String[] b={"1","2","3","+","4","5","6","-","7","8","9","*","0",".","复位","/"}; for(int i=0;i<16;i++){bt[i]=new Button(b[i]);p2.add(bt[i]);}bt[0].setForeground(Color.blue);bt[1].setForeground(Color.blue);bt[2].setForeground(Color.blue);bt[4].setForeground(Color.blue);bt[5].setForeground(Color.blue);bt[6].setForeground(Color.blue);bt[8].setForeground(Color.blue);bt[9].setForeground(Color.blue);bt[10].setForeground(Color.blue);bt[12].setForeground(Color.blue);bt[13].setForeground(Color.blue);bt[3].setForeground(Color.red);bt[7].setForeground(Color.red);bt[11].setForeground(Color.red);bt[15].setForeground(Color.red);bt[14].setForeground(Color.red);bt1.setForeground(Color.red);bt2.setForeground(Color.red);f.pack();f.setVisible(true);f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});bt[0].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=1;s2+=1;tf.setText(s);}});bt[1].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=2;s2+=2;tf.setText(s);}});bt[2].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=3;s2+=3;tf.setText(s);}});bt[4].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=4;s2+=4;tf.setText(s);}});bt[5].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=5;s2+=5;tf.setText(s);}}bt[6].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=6;s2+=6;tf.setText(s);}});bt[8].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=7;s2+=7;tf.setText(s);}});bt[9].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=8;s2+=8;tf.setText(s);});bt[10].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=9;s2+=9;tf.setText(s);}});bt[12].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+=0;s2+=0;tf.setText(s);}});bt[13].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s+='.';s2+='.';tf.setText(s);}});bt[3].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s1=s;s+='+';id=1;s2="";tf.setText(s);}});bt[7].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s1=s;s+='-';id=2;s2="";tf.setText(s);}});bt[11].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s1=s;s+='*';id=3;s2="";tf.setText(s);}});bt[14].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s="";s2="";tf.setText(s);}});bt[15].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s1=s;s+='/';id=4;s2="";tf.setText(s);}});bt1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(id<1) ;else{s+='=';double a=Double.parseDouble(s1);double b=Double.parseDouble(s2);double c=0;switch(id){case 1:c=a+b; break;case 2:c=a-b; break;case 3:c=a*b; break;case 4:c=a/b; break;}s+=c;tf.setText(s);}s="";s1="";s2="";id=0;}});bt2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){char[] c1;char[] c2=new char[s.length()-1];c1=s.toCharArray();for(int i=0;i<s.length()-1;i++)c2[i]=c1[i];s=s.valueOf(c2);if(id<1){s1=s;}if(s2.length()>=1){char[] c3;char[] c4=new char[s2.length()-1];c3=s2.toCharArray();for(int i=0;i<s2.length()-1;i++)c4[i]=c3[i];s2=s2.valueOf(c4);}tf.setText(s);}});}}9。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
房贷计算器源代码:
Private Sub Form_Click()
Dim n As Integer 'n为贷款月数
Dim x As Double, y As Double, sum As Double, k As Double, h As Double
'x为月息,y为总息额,sum为本金总额,k为优惠的比例因子,h为平均月供Dim m As Long, s As Long, c As Single 'm为面积数,s为单价,c为贷款成数s = InputBox("请输入每平米单价:", , 3500)
m = InputBox("请输入面积数:", , 145)
n = InputBox("请输入贷款月数", , 240)
x = InputBox("请输入利息额:", , 6.4)
k = InputBox("请输入优惠的比例因子", , 0.85)
c = InputBox("请输入按揭成数:", , 0.7)
x = (x * k / 100) / 12 '将年利换算成月利息
sum = s * m * c
h = sum * x * ((1 + x) ^ n) / ((1 + x) ^ n - 1)
Print "还款总额为:"; Round(h * n, 2)
Print "贷款总额为:"; sum
Print "平均月供为:"; Round(h, 2)
Print "总利息额度为:"; Round(h * n - sum)
End Sub。