急求JAVA编写的非图形化计算器,通过从控制台输入的那种,谢谢好心人!!!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator
{
public static void main(String[] args)
{
CalculatorFrame frame = new CalculatorFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200,200);
frame.setVisible(true);
}
}
class CalculatorFrame extends JFrame
{
public CalculatorFrame()
{
setTitle("Calculator");
CalculatorPanel panel = new CalculatorPanel();
add(panel);
pack();
}
}
class CalculatorPanel extends JPanel
{
private JLabel display;
private JPanel panel;
private double result;
private String lastCommand;
private boolean start;
public CalculatorPanel()
{
setLayout(new BorderLayout());
result = 0;
lastCommand = "=";
start = true;
display = new JLabel("0",JLabel.RIGHT);
display.setEnabled(false);
add(display, BorderLayout.NORTH);
ActionListener insert = new InsertAction();
ActionListener command = new CommandAction();
panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));
addButton("7", insert);
addButton("8", insert);
addButton("9", insert);
addButton("+", command);
addButton("4", insert);
addButton("5", insert);
addButton("6", insert);
addButton("-", command);
addButton("1", insert);
addButton("2", insert);
addButton("3", insert);
addButton("*", command);
addButton("0", insert);
addButton(".", insert);
addButton("=", command);
addButton("/", command);
add(panel, BorderLayout.CENTER);
}
private void addButton(String label, ActionListener listener)
{
JButton button = new JButton(label);
button.addActionListener(listener);
panel.add(button);
}
private class InsertAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String input = event.getActionCommand();
if (start)
{
display.setText("");
start = false;
}
display.setText(display.getText() + input);
}
}
private class CommandAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String command = event.getActionCommand();
if (start)
{
if (command.equals("-"))
{
display.setText(command);
start = false;
}
else
lastCommand = command;
}
else
{
calculate(Double.parseDouble(display.getText()));
lastCommand = command;
start = true;
}
}
}
public void calculate(double x)
{
if (lastCommand.equals("+")) result += x;
else if (lastCommand.equals("-")) result -= x;
else if (lastCommand.equals("*")) result *= x;
else if (lastCommand.equals("/")) result /= x;
else if (lastCommand.equals("=")) result = x;
display.setText("" + result);
}
}
给你参考下 ,我最近写的
import java.util.*;
public class Test
{
private static Scanner scan = new Scanner(System.in);
public static void main(String[] args){
while(true){
String str = scan.next();
int num1 = scan.nextInt();
int num2 = scan.nextInt();
if(str.toLowerCase().equals("加"))
System.out.println(num1+"+"+num2+"="+(num1+num2));
else if(str.toLowerCase().equals("减"))
System.out.println(num1+"-"+num2+"="+(num1-num2));
else if(str.toLowerCase().equals("乘"))
System.out.println(num1+"*"+num2+"="+(num1*num2));
else if(str.toLowerCase().equals("除"))
System.out.println(num1+"/"+num2+"="+(num1/num2));
}
}
}
测试:
加 5 8
5+8=13
除 8 2
8/2=4
乘 5 6
5*6=30
减 5 6
5-6=-1
public class H {
public static void main(String[] args) {
//从控制台获取输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个操作数:");
double d1 = sc.nextDouble();
System.out.println("请输入操作符:");
String operator = sc.next();
System.out.println("请输入第二个操作数:");
double d2 = sc.nextDouble();
if(operator.equals("+")){
System.out.println(d1 + operator + d2 + " = " + (d1 + d2));
}else if(operator.equals("-")){
System.out.println(d1 + operator + d2 + " = " + (d1 - d2));
}else if(operator.equals("*")){
System.out.println(d1 + operator + d2 + " = " + (d1 * d2));
}else if(operator.equals("/")){
System.out.println(d1 + operator + d2 + " = " + (d1 / d2));
}else if(operator.equals("%")){
System.out.println(d1 + operator + d2 + " = " + (d1 % d2));
}
}
}
楼主要把具体的要求表述清楚,按照你这个要求,实际上程序完全不需要200行
Java程序员必看:Java开发技术
这是因为他们相信Java的可靠性,相信Java可以帮助他们为移动平台开发高质量的产品。有人认为Java是最适合制作现代移动应用程序的语言之一。它可以在包括Android在内的各种平台上运行。Android是应用最广泛的操作系统之一,而它也是用Java编写的。5、Kotlin也变得非常有价值 说起Android应用程序开发,Kotlin似平...
常见JAVA运行时异常有哪些?
1,java.lang.NullPointerException 这个异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。2,java.lang.ClassNotFoundException 异常的解释是"指定的类不存在"...
求一非常简单的java 程序?
第一题:import java.util.Scanner;public class CountDate { public static void main(String[] args) { Scanner s = new Scanner(System.in);System.out.println("解放军战士连续作战的小时数:");int hours = s.nextInt();System.out.print("解放军战士连续作战");if(hours <= 0)System....
java的运算符
Java运算符 Java中的运算符用于执行各种数值或非数值操作。以下是Java的主要运算符及其简要描述:一、算术运算符:1. 加号:用于加法运算。2. 减号:用于减法运算。也可以用作一元操作符,表示取反。3. 乘号:用于乘法运算。4. 除号:用于除法运算。结果会自动取整。若要保证浮点数结果应使用浮点数除法...
【java】写一个程序:输入非负的integer,并显示每一个数字在单独的行上...
你可以这样写:public static void main (String[] args){try {String str = "";System.out.println("请输入一个非负的整数:");Scanner sc = new Scanner(System.in);Integer num = sc.nextInt();str = num+"";char[] chars = str.toCharArray();System.out.println("输出结果为:"); ...
java 输入一个非零整数求和,求平均数,
import java.util.Scanner;public class TestAvg { public static void main(String[] args) { Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");String in = sc.next();int sum = 0;int n = 0;String flag = "y";while ("y".equals(flag)) { System.out...
java编写应用程序,读取用户输入的3个非0数据,判断并输出这3个值看能否...
public class Test1{ public static void main(String args[]){ while(true){ System.out.println("输入3个数字,中间用\/隔开……");BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));try { String str[] = buff.readLine().split("\/");int a = Integer.parseInt(...
java逻辑运算符都有哪些
意味着只需要一个操作数。在编程中,逻辑非运算符经常用于反转布尔变量的状态或者检查某个条件是否为假。这些逻辑运算符在编程中非常常用,它们可以帮助开发者根据条件控制程序的流程,实现各种复杂的逻辑功能。理解这些运算符的特性以及它们在编程中的应用,对于编写高效且可靠的Java程序至关重要。
JAVA编写的软件只要有jre就不用安装吗?
系统简单给你说下,JDK,就是java开发工具包,要是开发java程序,必须安装JDK,安装JDK的时候,是自带JRE的。JRE,就是java运行环境,要是只运行java程序,不开发,那就只安装这个,一般好的程序在打包提供给非开发人员直接用的时候,是可以把JRE打包进去的,利用工具简单些。看到有些网友说java一般只做...
正则表达式怎么匹配非汉字非字母非数字之外的字符?
2、编写java代码,String regex2 = "[^\一-\龥a-zA-Z]";Pattern p2 = Pattern.compile(regex2);java.util.regex.Matcher m2 = p2.matcher("a**bsd{12");3、输入待匹配字符串,并进行结果打印,java.util.regex.Matcher m2 = p2.matcher("a**bsd{12");System.out.println("...
牛亲得宝: import java.util.Scanner; public class Calculator { public static void main(String[] args) { System.out.println("-----------------------------------"); System.out.println("请输入一个算术表达式,如:45*23"); Scanner in = new Scanner(System.in); String...
金东区18083757567: 求JAVA高手帮贴一个JAVA编写的计算器代码!要有简单的加减乘除功能? - ?
牛亲得宝: 全部复制后 运行.完成了简单的功能. package calc.qq; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import ...
金东区18083757567: 求 用java编辑的计算器代码(易简)?
牛亲得宝: 呵呵 我写了一个比较简单的计算器,不知道能不能满足楼主的要求 /***************************java编写的简单的计算器***********************************/ import java.awt.*; import java.awt.event.*; class MyWindow extends Frame implements ...
金东区18083757567: 急求如何用JAVA写一个简单的计算器 或者 画板 - ?
牛亲得宝: 先定义方法 一个方法要有至少三个参数 参数1 参数2 参数3 分别表示 第一个数字 第二个数字 字符(表示加减乘除的字符) 然后你就可以相应判断就可以了 例如+ 怎就返回 return num1 + num2* return num1 * num2 运用的参数都是你输入的 但是中间要判断 例如除的时候 除数不能为零 以及 小数点数 四舍五入是否要加入到里面 然后要记得清空 要可以连续操作 要保留好最后一次计算的结果 可以使用 session
金东区18083757567: 求一个简单的JAVA计算器代码 - ?
牛亲得宝: import java.awt.*; import javax.swing.*; import java.awt.event.*; class Counter extends WindowAdapter { static JFrame f=new JFrame("计算器"); static JTextField text1=new JTextField("0."); static String source=""; static String cal=""; ...
金东区18083757567: 用java编写一个简单的计算器,我是一个初学者,不要太复杂的,越简单越好,求解,急用,要求用初学者的角度去写,?
牛亲得宝: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class Test { static double num1=0; static double num2=0; static String num...
金东区18083757567: 用Java写的计算器的程序!不需要界面! - ?
牛亲得宝: 用java写的计算器的程序,主要是通过控制台输入,主要方法是使用scanner类来接收用户从键盘输入的一个算式,通过分解算式,存入两个字符串,判断中间的的符号,进行相应计算,如下代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...
金东区18083757567: 求编写一个计算器的java代码?
牛亲得宝: package com; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.text.DecimalFormat; public class calculator implements ActionListener { //导入动作监听接口 //设计面板中的单位 JFrame frame; JTextField textAnswer; JPanel ...
金东区18083757567: 求一个Java的多项加减法计算器的代码 - ?
牛亲得宝: public class Demo { /* 加减法计算器 */ public double sum(String str){ String[] positive = str.split(double posSum = 0; double ne...
金东区18083757567: java编写简单的计算器???? - ?
牛亲得宝: 代码长分几段:(一个类哦.) importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; publicclassCalculatorextendsJFrame{ privateContainercontainer; privateGridBagLayoutlayout; privateGridBagConstraintsconstraints; ...