简易计算器面板小程序

合集下载

VB6.0的小程序计算器

VB6.0的小程序计算器

VB6.0的小程序计算器对于刚入门学习VB6的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。

界面上加减乘除四个按钮分别是cmdAdd、cmdPlus、cmdMultiple、cmdDevide,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字0~9为了偷懒,用了控件数组cmdNumber(0)~ cmdNumber(9),上面txtShow是显示数字和结果用的,txtOperate是显示中间步骤的。

思路大致是这样,点加减乘除这类操作符的时候,把当前txtShow的值保存在模块变量mstrParam1里,同时把操作符保存到mstrOperate里,按等于号时把先把当前txtShow的值保存在模块变量mstrParam2里,然后对mstrParam1和mstrParam2进行运算,当然要记得设法把String转换成数值进行运算。

转换的过程要注意,这里是用的Variant数据类型,vParam1和vParam2都是Variant 类型,保存的是mstrParam1和mstrParam2的数值。

之所以不用integer、long、double 这些标准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才到 2147483647,这意味着计算器的计算结果只能限制在9位到10位。

而Variant类型可以支持非常大的数,具体多大不清楚,但起码几十位是能够支持的。

另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。

如果需要源代码的话在我百度空间里留言。

/zhaozhigang517Option ExplicitPrivate Const mstrFORMATDEFAULT As String = "#.##"Private mstrParam1 As String, mstrParam2 As StringPrivate mstrOperate As StringPrivate Sub cmdAdd_Click()mstrParam1 = Trim(txtShow.Text)mstrOperate = "+"txtShow.Text = ""txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLfEnd SubPrivate Sub cmdPlus_Click()mstrParam1 = Trim(txtShow.Text)mstrOperate = "-"txtShow.Text = ""txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLfEnd SubPrivate Sub cmdMultiple_Click()mstrParam1 = Trim(txtShow.Text)mstrOperate = "*"txtShow.Text = ""txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLfEnd SubPrivate Sub cmdDevide_Click()mstrParam1 = Trim(txtShow.Text)mstrOperate = "/"txtShow.Text = ""txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLftxtOperate.Text = txtOperate.Text & mstrOperate & vbCrLfEnd SubPrivate Sub cmdDot_Click()Dim mstrShow As StringDim i As IntegermstrShow = "."i = InStr(1, txtShow.Text, mstrShow)If i <= 0 ThentxtShow.Text = txtShow.Text & mstrShowEnd IfEnd SubPrivate Sub cmdMinuse_Click()Dim mstrShow As StringDim i As IntegermstrShow = "-"i = InStr(1, txtShow.Text, mstrShow)If i <= 0 ThentxtShow.Text = mstrShow & txtShow.TextElsetxtShow.Text = Right(txtShow.Text, Len(txtShow.Text) - 1) End IfEnd SubPrivate Sub cmdNumber_Click(Index As Integer)Dim mstrShow As StringmstrShow = IndextxtShow.Text = txtShow.Text & mstrShowEnd SubPrivate Sub cmdClear_Click()txtShow.Text = ""End SubPrivate Sub cmdResult_Click()Dim vParam1 As Variant, vParam2 As VariantDim vResult As VariantDim strResult As StringDim i As LongDim blnBeforeDot As BooleanDim lngDotPos As LongDim blnMinuse As BooleanmstrParam2 = Trim(txtShow.Text)txtOperate.Text = txtOperate.Text & mstrParam2 & vbCrLfvParam1 = 0blnBeforeDot = TruelngDotPos = -1blnMinuse = FalseFor i = 1 To Len(mstrParam1)If IsNumeric(Mid(mstrParam1, i, 1)) = True ThenIf blnBeforeDot = True ThenvParam1 = vParam1 * 10 + CByte(Mid(mstrParam1, i, 1))ElsevParam1 = vParam1 + CByte(Mid(mstrParam1, i, 1)) * (0.1 ^ (i - lngDotPos))End IfElseIf Mid(mstrParam1, i, 1) = "." ThenblnBeforeDot = FalselngDotPos = iElseIf Mid(mstrParam1, i, 1) = "-" ThenblnMinuse = TrueEnd IfNext iIf blnMinuse = True ThenvParam1 = -vParam1End IfvParam2 = 0blnBeforeDot = TruelngDotPos = -1blnMinuse = FalseFor i = 1 To Len(mstrParam2)If IsNumeric(Mid(mstrParam2, i, 1)) = True ThenIf blnBeforeDot = True ThenvParam2 = vParam2 * 10 + CByte(Mid(mstrParam2, i, 1))ElsevParam2 = vParam2 + CByte(Mid(mstrParam2, i, 1)) * (0.1 ^ (i - lngDotPos))End IfElseIf Mid(mstrParam2, i, 1) = "." ThenblnBeforeDot = FalselngDotPos = iElseIf Mid(mstrParam2, i, 1) = "-" ThenblnMinuse = TrueEnd IfNext iIf blnMinuse = True ThenvParam2 = -vParam2End IfSelect Case mstrOperateCase "+"vResult = vParam1 + vParam2Case "-"vResult = vParam1 - vParam2Case "*"vResult = vParam1 * vParam2Case "/"vResult = vParam1 / vParam2End SelecttxtOperate.Text = txtOperate.Text & "=" & vbCrLfstrResult = Format(vResult, mstrFORMATDEFAULT)txtShow.Text = strResulttxtOperate.Text = txtOperate.Text & strResult & vbCrLfEnd SubPrivate Sub Form_Load()txtShow.Text = ""txtOperate.Text = ""End Sub(注:可编辑下载,若有不当之处,请指正,谢谢!)。

C语言程序设计-第四章简单计算器小程序-分支程序设计

C语言程序设计-第四章简单计算器小程序-分支程序设计

P1 逻辑运算符 P2

逻辑运算符 P2
课堂练习: 求下面逻辑表达式的值: 2>1 && 4 && 7<3+!0
值为0
等价于((2>1)&&4)&&(7<(3+(!
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算的重要规则
a&&b:当a为0时,不管b为何值,结果为0
课堂练习:有下面定义的语句和逻辑表达式: int a=0,b=10,c=0,d=0 a && b && (c=a+10,d=100) 逻辑表达式执行后,a,b,c,d的值各为多少?
任务实现效果演示 例题源代码:switchcalculator.c
相关知识 1. switch语句 2. break语句
1 switch多分支选择结构
❖ 尽管用if…else if结构可以实现多分支,注但意当:分常支量较表多达时式,必程须序是结整构型较、复字杂符。型或枚举类型,不能是 实型表达式,每个case关键字后的常量表达式应互不相同
值为0 等价于i==(k>j),值为1
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算符与逻辑表达式
&&(逻辑与)、||(逻辑或)、!(逻辑非)(单目)
逻辑表达式的一般形式:
优先级: 1.由低到高: ||→ && → !; 2.多种运算符一起: = →|| →&& →关系运算符 →算术运算符→ !。
【】 简单计算器小程序:由用户输入运算数和四则运算符(+、-、*、/),输出计算结果。
【】

简易计算器小程序使用微信小程序开发工具和JavaScript开发

简易计算器小程序使用微信小程序开发工具和JavaScript开发

简易计算器小程序使用微信小程序开发工具和JavaScript开发微信小程序是一种基于微信平台的轻量级应用程序,可以在微信中使用。

它具有开发简便、使用方便、功能丰富等特点,在各行各业都得到了广泛的应用。

本文将介绍如何使用微信小程序开发工具和JavaScript开发一个简易计算器小程序。

一、准备工作在开始开发之前,我们需要准备一些基本的工具和环境。

首先,下载并安装微信小程序开发工具,该工具提供了一个可视化的界面,方便我们进行小程序的开发和调试。

其次,我们需要熟悉JavaScript语言的基本语法和特性,因为小程序的逻辑部分主要使用JavaScript来实现。

二、创建小程序项目打开微信小程序开发工具,点击新建项目,填写项目名称、项目目录和AppID等信息。

点击确定后,工具会自动生成一个基本的小程序项目结构。

三、编写界面在小程序项目的根目录下,找到和页面相关的文件夹。

新建一个名为"calculator"的文件夹,用于存放计算器页面的相关文件。

在该文件夹下新建三个文件:calculator.wxml、calculator.wxss、calculator.js,分别用于编写页面的结构、样式和逻辑。

在calculator.wxml文件中,我们可以使用一些基本的标签来构建计算器的界面,例如view、text、button等。

使用这些标签,我们可以创建一个包含数字键盘和运算符键的界面。

在calculator.wxss文件中,我们可以设置各个标签的样式,使界面看起来更加美观。

可以设置按钮的背景色、边框样式等。

四、编写逻辑在calculator.js文件中,我们需要编写计算器的逻辑代码。

首先,我们需要定义一些变量来保存计算器的状态。

比如,一个变量用于保存用户输入的表达式,一个变量用于保存计算结果等。

然后,我们可以通过监听用户的点击事件来获取用户输入的数字和运算符,并更新表达式变量的值。

接下来,我们需要编写一个计算函数,用于根据用户输入的表达式计算结果。

在Android Studio中开发一个简单的计算器应用

在Android Studio中开发一个简单的计算器应用

在Android Studio中开发一个简单的计算器应用随着智能手机的普及,计算器应用成为了人们生活中不可或缺的工具之一。

为了满足用户的需求,我们决定在Android Studio中开发一个简单的计算器应用。

这个应用将提供基本的四则运算功能,并且界面简洁易用。

首先,在Android Studio中创建一个新的项目。

选择合适的应用名称和包名。

接下来,我们需要设计应用的用户界面。

我们希望用户界面简洁明了,方便用户使用。

可以考虑使用一个TextView显示计算结果,以及多个Button用于输入数字和操作符。

在开发计算器的过程中,我们需要处理用户的输入并进行相应的计算。

为此,我们可以使用一个EditText控件来接收用户的输入,并通过按钮的点击事件来获取用户点击的数字和操作符。

然后,我们可以使用Java中的数学库来进行四则运算,并将结果显示在TextView中。

通过Android Studio提供的布局编辑器,我们可以轻松地将TextView和Button布局在界面上。

可以使用LinearLayout或RelativeLayout进行布局,根据需要设置各个控件之间的位置和大小。

此外,还可以设置按钮的点击事件,使其能够响应用户的输入。

在处理用户输入时,需要考虑一些特殊情况。

例如,当用户输入非法字符或进行除法时需要进行错误处理。

可以通过在代码中添加条件判断语句来实现这些功能。

另外,还可以添加一些额外的功能,如清除输入、撤销操作等,以提升用户体验。

在开发过程中,可以使用Android Studio提供的调试工具来检查代码是否正常运行。

可以设置断点,逐步执行代码,并查看变量的值。

这些工具能够帮助我们快速定位和修复错误。

为了使应用具有良好的用户体验,我们还可以添加一些动画效果和过渡效果。

例如,当用户点击按钮时,可以添加按钮缩放、淡入淡出等动画效果,使界面更加生动有趣。

除了基本功能以外,我们还可以考虑添加更多的功能来完善应用。

制作一个简易计算器——基于AndroidStudio实现

制作一个简易计算器——基于AndroidStudio实现

制作⼀个简易计算器——基于AndroidStudio实现⼀个计算器Android程序的源码部分分为主⼲和细节两部分。

⼀、主⼲1. 主⼲的构成计算器的布局事件(即计算器上的按钮、⽂本框)监听实现计算2. 详细解释 假设我们的项⽬名为Calculator,⽽布局名称(Layout Name)为默认的activity_main 。

即设置如下图所⽰: 在这种前提下,有:设置计算器布局的⽂件:Calculator/app/src/main/res/layout/activity_main.xml事件监听和计算实现在同⼀个⽂件⾥:Calculator/app/src/main/java/下的⼀个⼦⽬录⾥的MainActivity.java 即如下图所⽰:计算器布局代码(写在activity_main.xml⽂件⾥):1<?xml version="1.0" encoding="utf-8"?>2<ScrollView xmlns:android="/apk/res/android"3 android:layout_width="fill_parent"4 android:layout_height="wrap_content"5>6<LinearLayout7android:layout_width="fill_parent"8 android:layout_height="fill_parent"9 android:orientation="vertical">10<EditText11android:id="@+id/input"12 android:layout_width="fill_parent"13 android:layout_height="wrap_content"14 android:layout_gravity="center"15 android:editable="false"16 android:hint="@string/shuru"/>1718<EditText19android:id="@+id/output"20 android:layout_width="fill_parent"21 android:layout_height="wrap_content"22 android:layout_gravity="center"23 android:editable="true"24 android:gravity="right"25 android:hint="@string/shuchu"/>2627<RelativeLayout28android:layout_width="fill_parent"29 android:layout_height="wrap_content">3031<Button32android:id="@+id/seven"33 android:layout_width="80dp"34 android:layout_height="70dp"35 android:layout_alignParentLeft="true"36 android:text="@string/seven"37 android:textSize="40sp"/>3839<Button44 android:text="@string/eight"45 android:textSize="40sp"/>4647<Button48android:id="@+id/nine"49 android:layout_width="80dp"50 android:layout_height="70dp"51 android:layout_toRightOf="@id/eight"52 android:text="@string/nine"53 android:textSize="40sp"/>5455<Button56android:id="@+id/add"57 android:layout_width="80dp"58 android:layout_height="70dp"59 android:layout_alignParentRight="true"60 android:layout_toRightOf="@id/nine"61 android:text="@string/add"62 android:textSize="40sp"/>6364<Button65android:id="@+id/four"66 android:layout_width="80dp"67 android:layout_height="70dp"68 android:layout_alignParentLeft="true"69 android:layout_below="@id/seven"70 android:text="@string/four"71 android:textSize="40sp"/>7273<Button74android:id="@+id/five"75 android:layout_width="80dp"76 android:layout_height="70dp"77 android:layout_below="@id/eight"78 android:layout_toRightOf="@id/four"79 android:text="@string/five"80 android:textSize="40sp"/>8182<Button83android:id="@+id/six"84 android:layout_width="80dp"85 android:layout_height="70dp"86 android:layout_below="@id/nine"87 android:layout_toRightOf="@id/five"88 android:text="@string/six"89 android:textSize="40sp"/>9091<Button92android:id="@+id/subtract"93 android:layout_width="80dp"94 android:layout_height="70dp"95 android:layout_alignParentRight="true"96 android:layout_below="@id/add"97 android:layout_toRightOf="@id/six"98 android:text="@string/subtract"99 android:textSize="40sp"/>100101<Button102android:id="@+id/one"103 android:layout_width="80dp"104 android:layout_height="70dp"105 android:layout_alignParentLeft="true" 106 android:layout_below="@id/four"107 android:text="@string/one"108 android:textSize="40sp"/>109110<Button111android:id="@+id/two"112 android:layout_width="80dp"113 android:layout_height="70dp"114 android:layout_below="@id/five"115 android:layout_toRightOf="@id/one" 116 android:text="@string/two"117 android:textSize="40sp"/>118119<Button120android:id="@+id/three"121 android:layout_width="80dp"122 android:layout_height="70dp"123 android:layout_below="@id/six"128<Button129android:id="@+id/multiply"130 android:layout_width="80dp"131 android:layout_height="70dp"132 android:layout_alignParentRight="true" 133 android:layout_below="@id/subtract" 134 android:layout_toRightOf="@id/three" 135 android:text="@string/multiply"136 android:textSize="40sp"/>137138<Button139android:id="@+id/zero"140 android:layout_width="80dp"141 android:layout_height="70dp"142 android:layout_alignParentLeft="true" 143 android:layout_below="@id/one"144 android:text="@string/zero"145 android:textSize="40sp"/>146147<Button148android:id="@+id/clear"149 android:layout_width="80dp"150 android:layout_height="70dp"151 android:layout_below="@id/two"152 android:layout_toRightOf="@id/zero" 153 android:text="@string/clear"154 android:textSize="40sp"/>155156<Button157android:id="@+id/result"158 android:layout_width="80dp"159 android:layout_height="70dp"160 android:layout_below="@id/three"161 android:layout_toRightOf="@id/clear" 162 android:text="@string/result"163 android:textSize="40sp"/>164165<Button166android:id="@+id/divide"167 android:layout_width="80dp"168 android:layout_height="70dp"169 android:layout_alignParentRight="true" 170 android:layout_below="@id/multiply" 171 android:layout_toRightOf="@id/result" 172 android:text="@string/divide"173 android:textSize="40sp"/>174175<Button176android:id="@+id/dot"177 android:layout_width="80dp"178 android:layout_height="70dp"179 android:layout_alignParentLeft="true" 180 android:layout_below="@id/zero"181 android:text="@string/dot"182 android:textSize="40sp"/>183<Button184android:id="@+id/writeButton"185 android:layout_width="wrap_content" 186 android:layout_height="wrap_content" 187 android:layout_alignParentLeft="true" 188 android:layout_below="@id/dot"189 android:text="@string/write"190 android:textSize="40sp"/>191<Button192android:id="@+id/readButton"193 android:layout_width="wrap_content" 194 android:layout_height="wrap_content" 195 android:layout_alignParentRight="true" 196 android:layout_below="@id/dot"197 android:text="@string/read"198 android:textSize="40sp"/>199200<CheckBox201android:id="@+id/appendBox"202 android:text="@string/appendBox"203 android:layout_width="wrap_content" 204 android:layout_height="wrap_content" 205 android:layout_alignParentBottom="true" 206 android:layout_toLeftOf="@+id/divide" 207 android:layout_toStartOf="@+id/divide"212213<EditText214215android:layout_width="match_parent"216 android:layout_height="wrap_content"217 android:id="@+id/textView"/>218219<EditText220221android:layout_width="match_parent"222 android:layout_height="wrap_content"223 android:id="@+id/displayView"/>224225<EditText226android:id="@+id/errorzero"227 android:layout_width="fill_parent"228 android:layout_height="wrap_content"229 android:layout_gravity="center"230 android:editable="false"231 android:gravity="center"232/>233<EditText234android:id="@+id/resultText"235 android:layout_width="fill_parent"236 android:layout_height="wrap_content"237 android:layout_gravity="center"238 android:editable="false"239 android:gravity="left"240 android:text="@string/resultText"241/>242</LinearLayout>243</ScrollView>View Code事件监听和实现计算代码(写在MainActivity.java⽂件⾥)1package com.example.lenovo.calculator;2345import android.app.Activity;6import android.content.Context;7import android.os.Bundle;8import android.view.View;9import android.view.View.OnClickListener;10import android.widget.Button;11import android.widget.CheckBox;12import android.widget.EditText;1314import java.io.FileInputStream;15import java.io.FileNotFoundException;16import java.io.FileOutputStream;17import java.io.IOException;1819public class MainActivity extends Activity {20/**21 * Called when the activity is first created.22*/23private EditText output = null;24private EditText input = null;25private Button btn0 = null;26private Button btn1 = null;27private Button btn2 = null;28private Button btn3 = null;29private Button btn4 = null;30private Button btn5 = null;31private Button btn6 = null;32private Button btn7 = null;33private Button btn8 = null;34private Button btn9 = null;35private Button btnadd = null;36private Button btnsubtract = null;37private Button btnmultiply = null;38private Button btndivide = null;39private Button btnclear = null;40private Button btnresult = null;41private Button btndot = null;46private Button writeButton = null;47private Button readButton = null;48private CheckBox appendBox = null;49private EditText textView = null;50private EditText displayView = null;51public String FILE_NAME = "fileDemo.txt";525354private String str = "";//保存数字55private String strold = "";//原数字56private char act = ' ';//记录“加减乘除等于”符号57private int count = 0;//判断要计算的次数,如果超过⼀个符号,先算出来⼀部分58private Float result = null;//计算的输出结果59private Boolean errBoolean = false;//有错误的时候为true,⽆错为false60private Boolean flagBoolean = false;//⼀个标志,如果为true,可以响应运算消息,如果为false,不响应运算消息,只有前⾯是数字才可以响应运算消息 61private Boolean flagDot = false; //⼩数点标志位62636465 @Override66public void onCreate(Bundle savedInstanceState) {67super.onCreate(savedInstanceState);68 setContentView(yout.activity_main);6970 output = (EditText) findViewById(R.id.output);71 input = (EditText) findViewById(R.id.input);7273 errorzero = (EditText) findViewById(R.id.errorzero);74 resultText = (EditText) findViewById(R.id.resultText);75 writeButton = (Button) findViewById(R.id.writeButton);76 readButton = (Button) findViewById(R.id.readButton);77 textView = (EditText) findViewById(R.id.textView);78 displayView = (EditText) findViewById(R.id.displayView);79 appendBox = (CheckBox) findViewById(R.id.appendBox);8081 btn0 = (Button) findViewById(R.id.zero);82 btn1 = (Button) findViewById(R.id.one);83 btn2 = (Button) findViewById(R.id.two);84 btn3 = (Button) findViewById(R.id.three);85 btn4 = (Button) findViewById(R.id.four);86 btn5 = (Button) findViewById(R.id.five);87 btn6 = (Button) findViewById(R.id.six);88 btn7 = (Button) findViewById(R.id.seven);89 btn8 = (Button) findViewById(R.id.eight);90 btn9 = (Button) findViewById(R.id.nine);91 btnadd = (Button) findViewById(R.id.add);92 btnsubtract = (Button) findViewById(R.id.subtract);93 btnmultiply = (Button) findViewById(R.id.multiply);94 btndivide = (Button) findViewById(R.id.divide);95 btnclear = (Button) findViewById(R.id.clear);96 btnresult = (Button) findViewById(R.id.result);97 btndot = (Button) findViewById(R.id.dot);98//设置按钮侦听事件99 btn0.setOnClickListener(listener);100 btn1.setOnClickListener(listener);101 btn2.setOnClickListener(listener);102 btn3.setOnClickListener(listener);103 btn4.setOnClickListener(listener);104 btn5.setOnClickListener(listener);105 btn6.setOnClickListener(listener);106 btn7.setOnClickListener(listener);107 btn8.setOnClickListener(listener);108 btn9.setOnClickListener(listener);109//执⾏运算110 btnadd.setOnClickListener(listener);111 btnsubtract.setOnClickListener(listener);112 btnmultiply.setOnClickListener(listener);113 btndivide.setOnClickListener(listener);114 btnclear.setOnClickListener(listener);115 btnresult.setOnClickListener(listener);116117 btndot.setOnClickListener(listener);118119 writeButton.setOnClickListener(writelistener);120 readButton.setOnClickListener(readlistener);121122123// ATTENTION: This was auto-generated to implement the App Indexing API.124// See https://g.co/AppIndexing/AndroidStudio for more information.125 }130public void onClick(View v) {131// TODO Auto-generated method stub132switch (v.getId()) {133//输⼊数字134case R.id.zero:135 num(0);136break;137case R.id.one:138 num(1);139break;140case R.id.two:141 num(2);142break;143case R.id.three:144 num(3);145break;146case R.id.four:147 num(4);148break;149case R.id.five:150 num(5);151break;152case R.id.six:153 num(6);154break;155case R.id.seven:156 num(7);157break;158case R.id.eight:159 num(8);160break;161case R.id.nine:162 num(9);163break;164165case R.id.dot:166 dot();167break;168//执⾏运算169case R.id.add:170 add();171break;172case R.id.subtract:173 sub();174break;175case R.id.multiply:176 multiply();177break;178case R.id.divide:179 divide();180break;181case R.id.clear:182 clear();183break;184//计算结果185case R.id.result:186 result();187if (!errBoolean && flagBoolean) {188 output.setText(String.valueOf(result));189 }190 resultText.setText(strold + act + str + "=" + result+" "); 191break;192193default:194break;195196 }197 input.setText(strold + act + str);198 output.setText(String.valueOf(result));199200201 }202 };203204private OnClickListener writelistener = new OnClickListener() {205 @Override206public void onClick(View view) {207//textView.setText("");208209 FileOutputStream fos = null;214 fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE); 215 }216 String text = resultText.getText().toString();217 fos.write(text.getBytes());218 textView.setText("⽂件写⼊成功,写⼊长度:" + text.length()); 219//resultText.setText("");220221 } catch (FileNotFoundException e) {222 e.printStackTrace();223 } catch (IOException e) {224 e.printStackTrace();225 }226finally {227if (fos != null)228try {229 fos.flush();230 fos.close();231 } catch (IOException e) {232 e.printStackTrace();233 }234 }235 }236 };237private OnClickListener readlistener = new OnClickListener() {238 @Override239public void onClick(View view) {240241 displayView.setText("");242 FileInputStream fis = null;243try {244 fis = openFileInput(FILE_NAME);245if (fis.available() == 0) {246return;247 }248byte[] readBytes = new byte[fis.available()];249while (fis.read(readBytes) != -1) {250251 }252 String text = new String(readBytes);253 displayView.setText(text);254 textView.setText("⽂件读取成功,写⼊长度:" + text.length()); 255256 } catch (FileNotFoundException e) {257 e.printStackTrace();258 } catch (IOException e) {259 e.printStackTrace();260 }261262 }263 };264265private void dot() {266// TODO Auto-generated method stub267268if (!flagDot) {269 str = str + ".";270 flagBoolean = false;271 flagDot = true;272 }273 }274275private void clear() {276// TODO Auto-generated method stub277 str = strold = "";278 count = 0;279 act = ' ';280 result = null;281 flagBoolean = false;282 flagDot = false;283 input.setText(strold + act + str);284 output.setText("");285 errorzero.setText("");286 displayView.setText("");287 textView.setText("");288 resultText.setText("");289 }290291private void divide() {292// TODO Auto-generated method stub293if (flagBoolean) {299300private void multiply() {301// TODO Auto-generated method stub 302if (flagBoolean) {303 check();304 act = '*';305 flagBoolean = false;306 }307 }308309private void sub() {310// TODO Auto-generated method stub 311if (flagBoolean) {312 check();313 act = '-';314 flagBoolean = false;315 }316 }317318private void add() {319// TODO Auto-generated method stub 320if (flagBoolean) {321 check();322 act = '+';323 flagBoolean = false;324 }325 }326327private void check() {328// TODO Auto-generated method stub 329if (count >= 1) {330 result();331 str = String.valueOf(result);332 }333 strold = str;334 str = "";335 count++;336 flagDot = false;337 errorzero.setText("");338 }339340//计算输出结果341private void result() {342// TODO Auto-generated method stub 343if (flagBoolean) {344 Float a, b;345346 a = Float.parseFloat(strold);347 b = Float.parseFloat(str);348349if (b == 0 && act == '/') {350 clear();351 errorzero.setText("除数不能为零!"); 352//output.setText("除数不能为零!"); 353354355//errBoolean=true;356 }357358359if (!errBoolean) {360switch (act) {361case '+':362 result = a + b;363break;364case '-':365 result = a - b;366break;367case '*':368 result = a * b;369break;370case '/':371 result = a / b;372break;373374default:375break;376 }377 }383private void num(int i) {384// TODO Auto-generated method stub385 str = str + String.valueOf(i);386 flagBoolean = true;387 errorzero.setText("");388 }389390 }View Code⼆、细节 仅仅将主⼲部分代码copy下来并不能运⾏程序,因为主⼲代码调⽤了⼀些⽂件的代码,这些⽂件就是我们所说的细节。

小程序实现计算器功能

小程序实现计算器功能

⼩程序实现计算器功能本⽂实例为⼤家分享了⼩程序实现计算器功能的具体代码,供⼤家参考,具体内容如下实现模拟⼿机上的计算器,输⼊即可运算本页⾯是做⼀个计算收款的页⾯,如果不需要下⾯的内容可以删除掉wxml<view class="calculate-box"><view class="calculate-txt">{{express}}</view><view class="result-num">={{result}}</view></view><view class="fixation-box"><view class="calculator-box"><view class="calculator-line"><view data-con='c' class='boxtn btn1 clear' catchtap="clickKeyBoard">AC</view><view data-con='←' class='boxtn btn1' catchtap="clickKeyBoard"><image src="../../../images/clear-icon.png" class="clear-icon"></image></view><view data-con='÷100' class='boxtn btn1 percent' catchtap="clickKeyBoard">%</view><view data-con='÷' class='boxtn num' catchtap="clickKeyBoard">÷</view></view><view class="calculator-line"><view data-con='7' class='boxtn btn1 num' catchtap="clickKeyBoard">7</view><view data-con='8' class='boxtn btn1 num' catchtap="clickKeyBoard">8</view><view data-con='9' class='boxtn btn1 num' catchtap="clickKeyBoard">9</view><view data-con='×' class='boxtn num' catchtap="clickKeyBoard">×</view></view><view class="calculator-line"><view data-con='4' class='boxtn btn1 num' catchtap="clickKeyBoard">4</view><view data-con='5' class='boxtn btn1 num' catchtap="clickKeyBoard">5</view><view data-con='6' class='boxtn btn1 num' catchtap="clickKeyBoard">6</view><view data-con='-' class='boxtn num' catchtap="clickKeyBoard">-</view></view><view class="calculator-line"><view data-con='1' class='boxtn btn1 num' catchtap="clickKeyBoard">1</view><view data-con='2' class='boxtn btn1 num' catchtap="clickKeyBoard">2</view><view data-con='3' class='boxtn btn1 num' catchtap="clickKeyBoard">3</view><view data-con='+' class='boxtn num' catchtap="clickKeyBoard">+</view></view><view class="calculator-line"><view data-con='0' class='boxtn btn2 num' catchtap="clickKeyBoard">0</view><view data-con='.' class='boxtn btn1 num' catchtap="clickKeyBoard">.</view><view data-con='=' class='boxtn equal' catchtap="result">=</view></view></view><view class="bottom-handle"><!-- <view class="sweep-code-verification" bindtap="sweepCodeVerification"><image src="../../../images/sweep-code-verification.png"></image><text>扫码核销</text></view> --><view style="flex: 1;font-size: 34rpx;" class="artificial-collection" bindtap="artificial_collection"><!--<image src="../../../images/artificial-collection.png"></image> --><text>⼈⼯收款</text></view><view class="payment-code" bindtap="qrcode_collection">收款码收款</view></view></view>jsdata: {express: '', //第⼀⾏的表达式result: '0', //第⼆⾏的结果calc2: {str: '', //临时字符串strList: [], //中缀表达式存储(队列先进先出)strListP: [], //后缀表达式(队列先进先出)list: [], //存放运算符的堆栈(先进后出)count: [], //计算表达式堆栈(先进后出)flag: 0 //表⽰字符串最后⼀位是否是运算符号位},isqr: false,},//给所有text或view绑定此事件,同时增加对应的⾃定义属性值clickKeyBoard(e) {let that = this;let input = e.currentTarget.dataset.con //获取每次输⼊的内容if (input == "c") {that.handleClear();} else if (input == "←") {that.handleDelete();} else {//调⽤处理字符串that.handleInfo(input);}},//处理本地⽤户的输⼊操作handleInfo(input) {if (this.data.calc2.str.length == 0) { //第⼀次点击if (input == "-" || this.checkShuZi(input)) { //为减号this.addStr(input);} else {return;}} else {if (this.data.calc2.flag == 1) { //说明最后⼀位是符号if (this.checkFuHao(input)) {this.data.calc2.str = this.data.calc2.str.substring(0, this.data.calc2.str.length - 1); //去掉最后⼀位符号,添加最新的符号进去 this.addStr(input);} else {this.addStr(input);}console.log();} else {this.addStr(input);this.result();}}this.result();},//客户点击等号了result() {//每次点击等号重新把列表给空this.data.calc2.strList.length = 0;this.data.calc2.strListP.length = 0;this.data.calc2.list.length = 0;this.data.calc2.count.length = 0;//将表达式变成中缀表达式队列this.expressToStrList(this.data.express);console.log(this.data.calc2.strList);//将中缀表达式集合赋值给临时变量let tempList = this.data.calc2.strList;this.expressToStrListP(tempList);console.log(this.data.calc2.strListP);//最终的计算let tempP = this.data.calc2.strListPfor (let m in tempP) {if (this.checkFuHao2(tempP[m])) { //不含点号的符号⽅法判断let m1 = this.data.calc2.count[0]; //取出第⼀个数据this.data.calc2.count.shift(); //取出后删除该数据let m2 = this.data.calc2.count[0];this.data.calc2.count.shift();// console.log('m1是' +m1);// console.log('m2是' + m2);// console.log('运算符是' + tempP[m]);// console.log('计算结果是:' + this.countDetail(m2, tempP[m], m1));this.data.calc2.count.unshift(this.countDetail(m2, tempP[m], m1)); //将计算结果放到count中 } else {this.data.calc2.count.unshift(tempP[m]) //将数字压进去}}console.log('最终的计算结果是' + parseFloat(this.data.calc2.count[0]).toFixed(2));this.setData({result: this.data.calc2.count[0]});},//实际具体计算countDetail(e1, e2, e3) {let result = 0.0;console.log(e1);console.log(e2);console.log(e3);try {if (e2 == "×") {if (typeof(e1) != "undefined") {result = parseFloat(e1) * parseFloat(e3);} else {result = parseFloat(e3);}} else if (e2 == "÷") {if (typeof(e1) != "undefined") {result = parseFloat(e1) / parseFloat(e3);} else {result = parseFloat(e3);}} else if (e2 == "%") {if (typeof(e1) != "undefined") {result = parseFloat(e1) / parseFloat(e3);} else {result = parseFloat(e3);}} else if (e2 == "+") {if (typeof(e1) != "undefined") {result = parseFloat(e1) + parseFloat(e3);} else {result = parseFloat(e3);}} else {if (typeof (e1) != "undefined") {result = parseFloat(e1) - parseFloat(e3);} else {result = parseFloat(e3);}}} catch (error) {}return result;},//将中缀表达式集合转变为后缀表达式集合expressToStrListP(tempList) {for (let item in tempList) {if (this.checkFuHao2(tempList[item])) { //不含点号的符号⽅法判断if (this.data.calc2.list.length == 0) {this.data.calc2.list.unshift(tempList[item]); //直接添加添加运算符} else {if (this.checkFuHaoDX(this.data.calc2.list[0], tempList[item])) {for (let x in this.data.calc2.list) {this.data.calc2.strListP.push(this.data.calc2.list[x]); //将运算符都放到listP中}this.data.calc2.list.length = 0; //循环完把list置空this.data.calc2.list.unshift(tempList[item]); //加新元素进去} else {this.data.calc2.list.unshift(tempList[item]); //直接添加添加运算符}}} else {this.data.calc2.strListP.push(tempList[item]); //数字直接加到后缀集合中}}//循环完有可能最后⼀个是数字了,取到的不是字符,那么运算符⾥剩余的还的加到listP中if (this.data.calc2.list.length > 0) {for (let x in this.data.calc2.list) {this.data.calc2.strListP.push(this.data.calc2.list[x]); //将运算符都放到listP中}this.data.calc2.list.length = 0; //循环完把list置空}},//判断两个运算符的优先级(m1是list集合中最后加进去的那个元素⽐较将要进来的元素,如果m1⽐m2⼤,弹出list集合到listp中,再把m2加到list中,否则直接将m2加⼊list) checkFuHaoDX(m1, m2) {if ((m1 == "%" || m1 == "×" || m1 == "÷") && (m2 == "-" || m2 == "+")) {return true;} else {return false;}},//将字符串表达式变成中缀队列expressToStrList(express) {let temp = ''; //定义临时变量//将表达式改为中缀队列for (let i = 0; i < express.length; i++) {if (i == 0 && express[i] == "-") {temp = temp + express[i];} else {if (this.checkShuZi2(express[i])) { //如果i是数字temp = temp + express[i];} else {if (temp.length > 0) {if (express[i] == ".") {temp = temp + express[i];} else {this.data.calc2.strList.push(parseFloat(temp));temp = '';this.data.calc2.strList.push(express[i]);}} else {temp = temp + express[i];}}}}//循环到最后再看temp中有没有数字了,如果有加进来if (temp.length > 0 && this.checkShuZi(temp.substring(temp.length - 1))) {this.data.calc2.strList.push(parseFloat(temp));temp = '';}},//处理客户输⼊清除键handleClear() {this.data.calc2.str = '';this.data.calc2.strList.length = 0;this.data.calc2.strListP.length = 0;this.data.calc2.list.length = 0;this.data.calc2.count.length = 0;this.data.calc2.minusFlag = 0;this.setData({express: '',result: ''});},//处理客户输⼊回退键handleDelete() {let that = this;let str = that.data.calc2.str;if (str.length > 0) {str = str.substring(0, str.length - 1);that.data.calc2.str = str;that.setData({express: str,});} else {return;}},//判断是否是运算符(含点号,⽤在组织表达式时 .不能重复输⼊)checkFuHao(input) {if (input == "-" || input == "+" || input == "÷" || input == "%" || input == "×" || input == ".") { return true;} else {return false;}},//判断是否是运算符(不含点号)checkFuHao2(input) {if (input == "-" || input == "+" || input == "÷" || input == "%" || input == "×") {return true;} else {return false;}},//判断是否是数字checkShuZi(input) {if (input == "0" || input == "1" || input == "2" ||input == "3" || input == "4" || input == "5" ||input == "6" || input == "7" || input == "8" || input == "9") {return true;} else {return false;}},//判断是否是数字(包含.号,⽤在表达式转中缀⽅法中)checkShuZi2(input) {if (input == "0" || input == "1" || input == "2" ||input == "3" || input == "4" || input == "5" ||input == "6" || input == "7" || input == "8" || input == "9" || input == ".") {return true;} else {return false;}},//给字符串添加新字符(直接追加在判断是否要改变变量flag)addStr(input) {this.data.calc2.str = this.data.calc2.str + input;if (this.checkFuHao(input)) {this.data.calc2.flag = 1; //设置标记位位1} else {this.data.calc2.flag = 0;}this.setData({express: this.data.calc2.str});},wxss/* pages/index/collect-money/collect-money.wxss */page {background-color: #f8f8f8;}.bottom-handle {height: 100rpx;width: 100%;display: flex;align-items: center;}.fixation-box {position: fixed;bottom: 0;width: 750rpx;}.sweep-code-verification {background: #fff;border-top: 1rpx solid #e3e3e3;width: 220rpx;color: #333;}.artificial-collection, .sweep-code-verification {height: 100%;display: flex;flex-direction: column;align-items: center;font-size: 24rpx;justify-content: center;}.artificial-collection {background: #f3b055;width: 248rpx;color: #fff;}.payment-code {background-image: linear-gradient(203deg, #6f6f6f 0%, #3c3c3c 96%); flex: 1;font-size: 34rpx;color: #fff;text-align: center;line-height: 100rpx;}.sweep-code-verification image {width: 40rpx;height: 40rpx;}.artificial-collection image {width: 40rpx;height: 40rpx;}.calculator-box {background-color: #fff;}.calculator-line {display: flex;align-items: center;}.boxtn {width: 25%;height: 154rpx;border-left: none;display: flex;align-items: center;justify-content: center;}.calculator-box .calculator-line:last-child {border-bottom: none;}.calculator-line {border-bottom: 1rpx solid #dedede;}.btn1, .btn2 {border-right: 1rpx solid #dedede;}.btn2 {width: 50%;}.equal {background: #f3b055;font-size: 61rpx;color: #fff;}.num {font-size: 60rpx;color: #000;}.clear {font-size: 48rpx;color: #f3b055;}.percent {font-size: 60rpx;color: #000;}.charge-content {background: #fff;border-radius: 24rpx;width: 540rpx;display: flex;flex-direction: column;align-items: center;}.charge-title {background: #f3b055;border-radius: 12px 12px 0 0; width: 100%;height: 92rpx;font-size: 34rpx;line-height: 92rpx;text-align: center;color: #fff;}.charge-money {font-size: 60rpx;color: #333;line-height: 84rpx;margin-top: 35rpx;}.charge-propmt {font-size: 28rpx;color: #999;line-height: 42rpx;padding-bottom: 40rpx;}.charge-btn {display: flex;align-items: center;height: 100rpx;border-top: 1rpx solid #ddd;width: 100%;}.charge-cancel, .charge-confirm { flex: 1;text-align: center;line-height: 100rpx;font-size: 34rpx;}.charge-cancel {color: #999;border-right: 1rpx solid #ddd;}.charge-confirm {color: #f3b055;}.successful-content {background: #fff;border-radius: 24rpx;width: 540rpx;display: flex;flex-direction: column;align-items: center;}.success-icon {width: 120rpx;margin-top: 45rpx;height: 120rpx;}.successful-title {font-size: 34rpx;color: #333;line-height: 42rpx;padding: 30rpx 0;font-weight: 600;}.clear-icon {width: 80rpx;height: 80rpx;}.calculate-box {position: fixed;top: 0;bottom: 875rpx;width: 100%;display: flex;flex-direction: column;align-items: flex-end;padding: 0 50rpx;}.result-num {font-size: 88rpx;color: #333;line-height: 124rpx;}.calculate-txt {font-size: 60rpx;color: #333;line-height: 84rpx;margin-top: auto;word-wrap: break-word;text-align: right;word-break: break-all;text-overflow: -o-ellipsis-lastline;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}.suspend-box{height: 64rpx;background-color: rgba(0, 0, 0, .5);position: fixed;top: 70rpx;left: 0;color: #fff;display: flex;align-items: center;font-size: 24rpx;padding: 0 20rpx;border-radius: 0 100rpx 100rpx 0;z-index: 9;}.close-suspend{width: 30rpx;height: 30rpx;}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

编写一个简单的计算器程序

编写一个简单的计算器程序

编写一个简单的计算器程序计算器程序是一种非常实用的工具,它可以帮助我们进行数学计算,并简化复杂的运算过程。

本文将介绍如何编写一个简单的计算器程序,实现基本的加减乘除运算。

首先,我们需要确定计算器程序的功能和界面设计。

在本文中,我们将使用Python编程语言来编写计算器程序,并使用命令行界面(CLI)进行交互。

这意味着我们将在终端窗口中输入表达式,并显示结果。

接下来,我们需要考虑计算器程序的基本运算功能。

一个简单的计算器需要实现四个基本的运算:加法、减法、乘法和除法。

我们将使用函数来实现每个运算功能。

以下是一个示例代码:```pythondef add(x, y):return x + ydef subtract(x, y):return x - ydef multiply(x, y):return x * ydef divide(x, y):return x / y```在这个示例代码中,我们定义了四个函数,每个函数接受两个参数,并返回计算结果。

接下来,我们需要处理输入表达式并调用相应的运算函数。

我们将使用一个循环来持续接收用户输入,并在用户输入“exit”时退出程序。

以下是一个示例代码:```pythonwhile True:expression = input("请输入一个表达式:")if expression == "exit":break#解析表达式,提取运算符和操作数operator = Nonefor op in ["+", "-", "*", "/"]:if op in expression:operator = opbreakif not operator:print("表达式错误,请重新输入!") continueoperands = expression.split(operator) x = float(operands[0])y = float(operands[1])if operator == "+":result = add(x, y)elif operator == "-":result = subtract(x, y)elif operator == "*":result = multiply(x, y)elif operator == "/":result = divide(x, y)print("运算结果:", result)print("谢谢使用,再见!")```在这个示例代码中,我们使用了一个无限循环来持续接收用户输入。

小程序实现简单的计算器

小程序实现简单的计算器

⼩程序实现简单的计算器本⽂实例为⼤家分享了⼩程序实现简单计算器的具体代码,供⼤家参考,具体内容如下#app.json{"pages": ["pages/index/index","pages/logs/logs"],"window": {"navigationBarBackgroundColor": "#000000","navigationBarTextStyle": "white","navigationBarTitleText": "智能计算器"},"tabBar": {"color": "#ff69b4","selectedColor": "#0000ff","backgroundColor": "#ffff00","list": [{"pagePath": "pages/index/index","text": "计算机"},{"pagePath": "pages/logs/logs","text": "⽇志"},{"pagePath": "pages/logs/logs","text": "回家"}]}}#app.wsxx/**app.wxss**/.container {height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: space-between;padding: 200rpx 0;box-sizing: border-box;}#index.wxml<template name="calculator-key"><button hover-start-time="{{5}}" hover-stay-time="{{100}}" hover-class="calculator-key-hover" data-key="{{className}}" class="calculator-key {{className}}">{{display}}</button> </template><view class="calculator"><view class="calculator-display"><view class="calculator-display-text">{{displayValue}}</view></view><view class="calculator-keypad"><view class="input-keys"><view class="function-keys" catchtap="onTapFunction"><template is="calculator-key" data="{{className: 'key-clear', display: clearDisplay ? 'C' : 'C'}}"/><template is="calculator-key" data="{{className: 'key-sign', display: '+/-'}}"/><template is="calculator-key" data="{{className: 'key-percent', display: '%'}}"/></view><view class="digit-keys" catchtap="onTapDigit"><template is="calculator-key" data="{{className: 'key-0', display: '0'}}"/><template is="calculator-key" data="{{className: 'key-dot', display: '●'}}"/><template is="calculator-key" data="{{className: 'key-1', display: '1'}}"/><template is="calculator-key" data="{{className: 'key-2', display: '2'}}"/><template is="calculator-key" data="{{className: 'key-3', display: '3'}}"/><template is="calculator-key" data="{{className: 'key-4', display: '4'}}"/><template is="calculator-key" data="{{className: 'key-5', display: '5'}}"/><template is="calculator-key" data="{{className: 'key-6', display: '6'}}"/><template is="calculator-key" data="{{className: 'key-7', display: '7'}}"/><template is="calculator-key" data="{{className: 'key-8', display: '8'}}"/><template is="calculator-key" data="{{className: 'key-9', display: '9'}}"/></view></view><view class="operator-keys" catchtap="onTapOperator"><template is="calculator-key" data="{{className: 'key-divide', display: '÷'}}"/><template is="calculator-key" data="{{className: 'key-multiply', display: '×'}}"/><template is="calculator-key" data="{{className: 'key-subtract', display: '−'}}"/><template is="calculator-key" data="{{className: 'key-add', display: '+'}}"/><template is="calculator-key" data="{{className: 'key-equals', display: '='}}"/></view></view></view>#index.jsPage({data: {value: null, // 上次计算后的结果,null表⽰没有上次计算的结果displayValue: '0', // 显⽰数值operator: null, // 上次计算符号,null表⽰没有未完成的计算waitingForOperand: false // 前⼀按键是否为计算符号},onLoad: function (options) {this.calculatorOperations = {'key-divide': (prevValue, nextValue) => prevValue / nextValue,'key-multiply': (prevValue, nextValue) => prevValue * nextValue,'key-add': (prevValue, nextValue) => prevValue + nextValue,'key-subtract': (prevValue, nextValue) => prevValue - nextValue,'key-equals': (prevValue, nextValue) => nextValue}},/* AC操作,⼀下回到解放前 */clearAll() {this.setData({value: null,displayValue: '0',operator: null,waitingForOperand: false})},/* 仅清空当前显⽰的输⼊值 */clearDisplay() {this.setData({displayValue: '0'})},onTapFunction: function (event) {const key = event.target.dataset.key;switch (key) {case 'key-clear':if (this.data.displayValue !== '0') {this.clearDisplay();} else {this.clearAll();}break;case 'key-sign':var newValue = parseFloat(this.data.displayValue) * -1this.setData({displayValue: String(newValue)})break;case 'key-percent':const fixedDigits = this.data.displayValue.replace(/^-?\d*\.?/, '')var newValue = parseFloat(this.data.displayValue) / 100this.setData({displayValue: String(newValue.toFixed(fixedDigits.length + 2))});break;default:break;}},onTapOperator: function (event) {const nextOperator = event.target.dataset.key;const inputValue = parseFloat(this.data.displayValue);if (this.data.value == null) {this.setData({value: inputValue});} else if (this.data.operator) {const currentValue = this.data.value || 0;const newValue = this.calculatorOperations[this.data.operator](currentValue, inputValue); this.setData({value: newValue,displayValue: String(newValue)});}this.setData({waitingForOperand: true,operator: nextOperator});},onTapDigit: function (event) {const key = event.target.dataset.key; // 根据data-key标记按键if (key == 'key-dot') {// 按下点号if (!(/\./).test(this.data.displayValue)) {this.setData({displayValue: this.data.displayValue + '.',waitingForOperand: false})}} else {// 按下数字键const digit = key[key.length - 1];if (this.data.waitingForOperand) {this.setData({displayValue: String(digit),waitingForOperand: false})} else {this.setData({displayValue: this.data.displayValue === '0' ? String(digit) : this.data.displayValue + digit })}}}})#index.wxsspage {height:100%;}.calculator {width: 100%;height: 100vh;border:solid 1px;background: rgb(238, 5, 5);position: relative;box-shadow: 0px 0px 20px 0px rgb(211, 41, 41);display: flex;flex-direction: column;box-sizing: border-box;}.calculator-display { /*显⽰器背景颜⾊*/background: #2c2a2c;flex: 1;}/*TODO:解决⽂本垂直居中问题,显⽰器数字颜⾊*/.calculator-display-text {padding: 0 30px;font-size: 3em;color: rgb(245, 245, 248);text-align: right;}.calculator-keypad {display: flex;}.calculator .function-keys {display: flex;color:rgb(245, 13, 13);}.calculator .digit-keys {background: #0808f7;display: flex;flex-direction: row;flex-wrap: wrap-reverse;}.calculator-key-hover { /*按钮按下以后的颜⾊*/box-shadow: inset 0px 0px 25vw 0px hsla(71, 90%, 48%, 0.898);}.calculator-key {background-color:aqua;display: block;width: 25vw;height: 25vw;line-height: 25vw;border-top: 1px solid rgb(6, 245, 78);border-right: 1px solid rgb(19, 241, 12);text-align: center;box-sizing: border-box;}.calculator .function-keys .calculator-key {font-size: 2em;}.calculator .digit-keys .calculator-key {font-size: 3em;}.calculator .digit-keys .key-0 {width: 50vw;text-align: left;padding-left: 9vw;}.calculator .digit-keys .key-dot {padding-top: 1em;font-size: 0.75em;}.calculator .operator-keys .calculator-key {color: rgb(248, 165, 10);border-right: 0;font-size: 3em;}.calculator .function-keys {background: linear-gradient(to bottom, rgb(6, 6, 240) 0%, rgb(52, 5, 240) 100%);}.calculator .operator-keys {background: linear-gradient(to bottom, rgba(252,156,23,1) 0%, rgba(247,126,27,1) 100%); }.input-keys {width: 100%;}.operator-keys {width: 100%;}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[java語言與程序設計]简易计算器面板小程序
歸真我发表于:2011/8/1822:49:17标签(TAG):简易计算器面板java小程序
/**C1.java简易计算器面板小程序*/
import java.applet.*;//引入Java系统标准类库中java.applet包
import java.awt.*;//引入Java系统标准类库中java.awt包
import java.awt.event.*;//引入Java系统标准类库中java.awt.event包
public class C1extends Applet{
Label b;//标题标签对象
TextField t1,t2,t3;//三个文本框对象
Button btn1,btn2;//两个按钮对象
CheckboxGroup se;//单选按钮组,它由四个互斥的按钮组成,用来选择计算类型。

Checkbox a,s,m,d;//四个单选按钮,分别代表加、减、乘、除四种运算。

public void init(){
b=new Label("简易计算器面板设计");//创建标题标签对象
t1=new TextField(13);//创建文本框1,用来输入操作数1
t2=new TextField(13);//创建文本框2,用来输入操作数2
t3=new TextField(13);//创建文本框3,用来输出运算结果
btn1=new Button("等于");//创建按钮1“等于”,用来对输入的两操作数进行运算btn2=new Button("重置");//创建按钮2“重置”,用来清空三个文本框,并将计算类型置为初始状态(选中加法)。

se=new CheckboxGroup();//创建单选按钮组
a=new Checkbox("加",true,se);//创建单选按钮:加
s=new Checkbox("减",false,se);//创建单选按钮:减
m=new Checkbox("乘",false,se);//创建单选按钮:乘
d=new Checkbox("除",false,se);//创建单选按钮:除
add(b);//添加标题标签对象到面板
add(t1);//添加输入文本框对象t1到面板
add(a);add(s);add(m);add(d);//添加四个单选按钮对象到面板
add(t2);//添加输入文本框对象t2到面板
add(btn1);//添加运算按钮对象btn1“等于”到面板
add(t3);//添加输出文本框对象t3到面板
add(btn2);//添加按钮对象btn2“重置”到面板
}
}//*~
程序保存为:C1.java
编译时执行:javac C1.java
得到字节码:C1.class
编写HTML文件:C1.html,将字节码嵌入其中。

其代码为:
<HTML>
<BODY>
<APPLET code="C1.class"height=200width=150>
</APPLET>
</BODY>
</HTML>
运行时执行:AppletViewer C1.html
得到运行结果为:
利用容器组件Panel也可以层次化管理图形界面的各个组件,使组件在容器中的布局操作更为方便。

程序举例如下:
/**C1.java简易计算器面板小程序*/
import java.applet.*;//引入Java系统标准类库中java.applet包
import java.awt.*;//引入Java系统标准类库中java.awt包
import java.awt.event.*;//引入Java系统标准类库中java.awt.event包
public class C1extends Applet{
Panel p1,p2,p3;
Label b;//标题标签对象
TextField t1,t2,t3;//三个文本框对象
Button btn1,btn2;//两个按钮对象
CheckboxGroup se;//单选按钮组,它由四个互斥的按钮组成,用来选择计算类型。

Checkbox a,s,m,d;//四个单选按钮,分别代表加、减、乘、除四种运算。

public void init(){
p1=new Panel();
p1.setBackground(Color.gray);
p2=new Panel();
p2.setBackground(Color.pink);
p3=new Panel();
p3.setBackground(Color.orange);
b=new Label("简易计算器面板设计");//创建标题标签对象
t1=new TextField(13);//创建文本框1,用来输入操作数1
t2=new TextField(13);//创建文本框2,用来输入操作数2
t3=new TextField(13);//创建文本框3,用来输出运算结果
btn1=new Button("等于");//创建按钮1“等于”,用来对输入的两操作数进行运算btn2=new Button("重置");//创建按钮2“重置”,用来清空三个文本框,并将计算类型置为
初始状态(选中加法)。

se=new CheckboxGroup();//创建单选按钮组
a=new Checkbox("加",true,se);//创建单选按钮:加
s=new Checkbox("减",false,se);//创建单选按钮:减
m=new Checkbox("乘",false,se);//创建单选按钮:乘
d=new Checkbox("除",false,se);//创建单选按钮:除
p3.add(b);
add(p3);
add(t1);
add(t2);
p2.add(a);
p2.add(s);
p2.add(m);
p2.add(d);
add(p2);
add(t3);
p1.add(btn1);
p1.add(btn2);
add(p1);
/*add(b);//添加标题标签对象到面板
add(t1);//添加输入文本框对象t1到面板
add(a);add(s);add(m);add(d);//添加四个单选按钮对象到面板add(t2);//添加输入文本框对象t2到面板
add(btn1);//添加运算按钮对象btn1“等于”到面板
add(t3);//添加输出文本框对象t3到面板
add(btn2);//添加按钮对象btn2“重置”到面板*/
}
}//*~
运行结果为:。

相关文档
最新文档