Java开发简易计算器小程序实现四则运算

版权申诉
0 下载量 33 浏览量 更新于2024-10-05 收藏 6KB ZIP 举报
资源摘要信息:"计算器_jisuanqi_" 1. Java编程基础 Java是一种广泛使用的面向对象的编程语言,具有跨平台的特性。Java的程序设计思想强调对象的封装、继承和多态。一个Java程序通常被编译为字节码,然后在Java虚拟机(JVM)上运行,这使得Java程序可以在支持JVM的任何系统上执行。在本资源描述中,使用Java编写的计算器程序,充分展示了Java语言的编程能力。 2. 四则运算与算法实现 四则运算包括加法(+)、减法(-)、乘法(*)和除法(/)。在编程中实现四则运算,需要考虑运算的优先级以及括号的处理。加减乘除的实现相对简单,可以直接进行运算符操作。而涉及括号的四则混合运算则相对复杂,需要利用栈(Stack)数据结构来处理运算符的优先级和括号匹配,确保运算的正确性。 3. GUI图形界面编程 GUI(Graphical User Interface,图形用户界面)是计算机软件的一个重要组成部分,它通过图形方式提供给用户交互的操作界面。在Java中,可以使用Swing或JavaFX等图形界面库来创建GUI程序。Swing是Java的一部分,它使用了MVC(Model-View-Controller)设计模式,提供了丰富的界面组件,如窗口、按钮、文本框等。程序员可以根据需要自行设计和实现计算器的图形界面。 4. 事件驱动编程模型 事件驱动编程是一种编程范式,它主要由事件、事件监听器和事件处理器组成。在这种模型中,程序的执行是由外部事件触发的,如用户点击按钮或按键输入等。在计算器程序中,右括号事件(例如用户点击右括号按钮)可以被设置为一个事件,当该事件被触发时,相应的事件处理器会执行相关的逻辑,比如触发括号内的运算表达式求值。 5. Java虚拟机(JVM)与平台无关性 Java虚拟机(JVM)是运行Java字节码的解释器,它负责将Java字节码转换为机器码执行。由于JVM的跨平台特性,Java程序可以运行在任何安装了JVM的设备上。这一特性使得Java程序具有很好的移植性,也是Java得以广泛流行的重要原因之一。在资源描述中提到的“加上括号后需要右括号事件来触发这只是核心代码图形界面自己可以写!”,意味着程序的核心算法与界面实现分离,核心代码在所有平台上的表现应该是一致的。 6. 异常处理机制 在进行四则运算的过程中,可能会遇到除数为零等异常情况,Java语言通过异常处理机制来处理这些可能发生的错误或异常事件。异常处理通常涉及到try-catch语句块的使用,它允许程序在检测到异常时捕获并处理,而不会导致程序崩溃。 7. 文件系统操作 文件系统操作通常涉及到文件的读写和管理。在Java中,可以使用java.io包下的类和接口进行文件操作。例如,可以将用户编写的算术表达式保存为文件,或者从文件中读取之前保存的表达式进行运算。文件操作是数据持久化的重要方式,对于需要持久保存用户输入和程序状态的应用程序来说是非常重要的。 本资源描述的“计算器_jisuanqi_”是一个使用Java编程语言实现的简单计算器小程序,能够完成基本的加减乘除以及带有括号的四则混合运算。它展示了Java编程的基础知识、图形用户界面设计、事件驱动模型、异常处理机制以及文件系统操作等多个方面。通过这个项目的开发,可以加深对Java语言和编程概念的理解。

import java.awt.; import javax.swing.; import java.awt.event.*; public class jisuanqi{ public static void main (String args[]){ WindowView view=new WindowView(); view.setBounds(100,100,390,360); view.setTitle("简单计算器"); }} import java.awt.event.*; public class Listen2 implements ActionListener { WindowView view; //?????????????????????? public void setView(WindowView view) { //?????????????? this.view = view; } public void actionPerformed(ActionEvent e) { int i=0; // for(i=0;i<s.length;i++){ for(i=0;i<12;i++){ //?????????????????????? if(e.getSource()==view.button[i]){ //?????????????????????? view.textshow.append("+");} else{ System.out.println("错误"); } } } } import java.awt.; import javax.swing.; import java.awt.event.*; public class WindowView extends JFrame{ JTextArea textshow,a1; // JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12; JButton button[]=new JButton[14];; JPanel panel; Listen2 listen; // ??????????????? public WindowView(){ textshow = new JTextArea() ; panel =new JPanel(new GridLayout(4,4)); char []a={'0','1','2','3','4','5','6','7','8','9','+','-','='}; setLayout(new GridLayout(2,1)); add(textshow); add(panel); listen=new Listen2(); listen.setView(this); String []s=new String[a.length]; for(int i=0;i<a.length;i++){ s[i]=String.valueOf(a[i]); } int i=0; for(i=0;i<s.length;i++){ button[i]=new JButton(""+s[i]); panel.add(button[i]); button[i].addActionListener(listen); } setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } } 补全代码,实现一个简单计算器

2023-07-14 上传

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.a2, PID: 18827 android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.a2/com.example.a2.jisuanqi}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2049) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1709) at android.app.Activity.startActivityForResult(Activity.java:5192) at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:597) at android.app.Activity.startActivityForResult(Activity.java:5150) at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:583) at android.app.Activity.startActivity(Activity.java:5521) at android.app.Activity.startActivity(Activity.java:5489) at com.example.a2.MainActivity$1.onClick(MainActivity.java:37) at android.view.View.performClick(View.java:7125) at android.view.View.performClickInternal(View.java:7102) at android.view.View.access$3500(View.java:801) at android.view.View$PerformClick.run(View.java:27336) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

2023-06-07 上传