那些年,一起学的Java10-1

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Test extends JFrame implements ActionListener {
	int i;

	private final String[] str = { "7", "8", "9", "/", "4", "5", "6", "*", "1",

	"2", "3", "-", ".", "0", "=", "+" };
	JButton[] buttons = new JButton[str.length];
	JButton reset = new JButton("CE");
	JTextField display = new JTextField("0");

	public Test() {
		super("Calculator");
		JPanel panel1 = new JPanel(new GridLayout(4, 4));
		for (i = 0; i < str.length; i++) {
			buttons[i] = new JButton(str[i]);
			panel1.add(buttons[i]);
		}
		JPanel panel2 = new JPanel(new BorderLayout());
		panel2.add("Center", display);
		panel2.add("East", reset);
		getContentPane().setLayout(new BorderLayout());
		getContentPane().add("North", panel2);
		getContentPane().add("Center", panel1);
		for (i = 0; i < str.length; i++)
			buttons[i].addActionListener(this);
		reset.addActionListener(this);
		display.addActionListener(this);
		setSize(800, 800);
		setVisible(true);
		pack();
	}

	public void actionPerformed(ActionEvent e) {
		Object target = e.getSource();
		String label = e.getActionCommand();
		if (target == reset)
			handleReset();
		else if ("0123456789.".indexOf(label) > 0)
			handleNumber(label);
		else
			handleOperator(label);
	}

	boolean isFirstDigit = true;

	public void handleNumber(String key) {
		if (isFirstDigit)
			display.setText(key);
		else if ((key.equals(".")) && (display.getText().indexOf(".") < 0))
			display.setText(display.getText() + ".");
		else if (!key.equals("."))
			display.setText(display.getText() + key);
		isFirstDigit = false;
	}

	public void handleReset() {
		display.setText("0");
		isFirstDigit = true;
		operator = "=";
	}

	double number = 0.0;
	String operator = "=";

	public void handleOperator(String key) {
		if (operator.equals("+"))
			number += Double.valueOf(display.getText());
		else if (operator.equals("-"))
			number -= Double.valueOf(display.getText());
		else if (operator.equals("*"))
			number *= Double.valueOf(display.getText());
		else if (operator.equals("/"))
			number /= Double.valueOf(display.getText());
		else if (operator.equals("="))
			number = Double.valueOf(display.getText());
		display.setText(String.valueOf(number));
		operator = key;
		isFirstDigit = true;
	}

	public static void main(String[] args) {
		new Test();
	}
}
时间: 2024-10-07 03:59:55

那些年,一起学的Java10-1的相关文章

学完了js的知识,一起分享总结知识点

又一个知识点学完了,到了总结学习效果和知识总结的时间了.js这个编程语言相对于html和css的逻辑性要强一些,也比较不容易上手.概念性的知识点不难理解,就是实际的操作并不容易,需要通过学习和借鉴案列来理解和帮助并提高实践操作的能力,把理论知识更好的结合到实践当中去,这样才能更有利于去理解和提高自己,做到知识的真正转化,缺乏理论概念性的支撑,有时真的很难上手,尤其是对于刚学习新手而言.所以需要总结知识点,大家可以互相分享一下学习的方式方法,知识总结,通过这种方式方法,相信可以有效的帮助解决一些学

[从产品角度学EXCEL 03]-单元格的秘密

这是<从产品角度学EXCEL>系列——单元格的秘密. 前言请看: 0 为什么要关注EXCEL的本质 1 EXCEL是怎样运作的 2 EXCEL里的树形结构 或者你可以去微信公众号@尾巴说数 获得连载目录. 本文仅由尾巴本人发布于特定网站.不接受任何无授权转载,如需转载,请先联系我,非常感谢. 在讲了excel的树形结构之后,我们终于要进入正题,研究单元格的秘密了. 当我们打开excel的时候,首先映入眼帘的就是一大片格子,这就是单元格. 在excel里,单元格承担了几乎所有的存储信息的功能.你

老司机亲自整理的和弦知识让你事半功倍学乐理

各种和弦 类别 和弦名称 和弦标记 结构 公式(度) 常用和弦 大三和弦 小三和弦 属七和弦 C Cm G7(大调) 1, 3, 5 1, 降b,5 5,7,2,4 大三+小三 小三+大三 大三+小三+小三 较常用和弦 大小七和弦 大七和弦 小七和弦 增三和弦 C7 Cmaj7 Cm7 Caug(C+) 1, 3,5, 降7 1,3,5,  7 1,降3,5,7 1,  3,升5 大三+小三+小三 大三+小三+大三 小三+大三+小三 大三+大三 不常用和弦 增大七和弦 半减七和弦 减七和弦 小大

本来连学计算机的都不是,怎么却读了计算机研究生

前两天成都出了太阳,本以为寒潮就此过去.结果今天又冷风呼呼吹,缩在家看书.手机震了一下,是微信有新的提醒,打开一看是 「小道消息」推送了一篇<学计算机的同学们啊,想清楚再去读研究生>,读完感觉一下击中了些什么,然后泛起一片片好多年前还在学校时的陈年旧忆.本来不打算在年前写文了,但感觉一下好像有很多想说的,就此写一篇吧,因为我就是计算机研究生毕业啊. 说起和计算机的渊源可以回溯到二十年前,我还在读初二.所在学校是四川一所少数民族中学,硬件条件不太好.那年国际友人赞助赠送给了学校几台 Apple

对学代码的一些心得

大家好,我是一名大三的学生——小林.我在大学里学的是行政管理专业.因为我的这个专业是文科专业,所以我对代码的知识可谓是一窍不通.但是我又很喜欢代码,很想学习代码.于是我就参加了兄弟连培训机构,在这里,我接触到了代码. 在我刚接触到代码的时候,真的是头都大了.我什么都不懂,连最基本的代码语句,代码知识都不会.于是我学起来有点吃力.但是听到这里的老师说,代码这东西还是要多敲,在做作业的时候都思考,这样学起来就很轻松. 于是在以后的上课中,我都非常认真的听老师讲课,听老师用代码讲解每一个案例.当然,只

工欲学其语,必先装软件

hi 现在是22点了,不是我今天偷懒(当然也有这种成分在里面,请不要揭穿),是今天所学都要装软件,然后手滑,就想起给其他事情所需软件一并解决了,所以,现在的情况是..还在装东西.这也是学习路上必不可少的一步吧,总结一下. 1.Zend Studio -哪个版本不重要,重要的是你需不需要破解使用. -学PHP必用,谁让这是PHP的亲儿子呢,就像我的安卓手机就是NEXUS5 2.Windows 10 -有个大白菜启动盘,事半功倍 -备份可能还是有必要的,除非你的机子也被你放弃了已经 -过程没什么说的

重要的事情说3遍:学安卓!学安卓!学安卓!

十一假期结束了,明天就要上班了,想想几天除了吃就是睡,中间也想着凑着假期充充电,但由于懒,只是看了一点,今天感觉不能再懒了.正好之前电脑让同事给配置了安卓开发环境,而且之前也买了本疯狂Annroid讲义,就在网上搜了下一些简单的视频教程http://edu.51cto.com/index.php?do=lession&id=15683,抱着试试的态度看了下,觉得还不错,照着视频和书玩了下Eclipse觉得还挺有意思,离过年也没几个月了,所以现在定下一个目标:业余工作时间学安卓,争取在今年过完年把

跟我学SpringMVC目录汇总贴、PDF下载、源码下载

跟我学SpringMVC目录汇总贴.PDF下载.源码下载 http://jinnianshilongnian.iteye.com/blog/1752171 跟开涛学SpringMVC 在线版目录 第一章 Web MVC简介 第二章 Spring MVC入门 第三章 DispatcherServlet详解 第四章 Controller接口控制器详解(1) 第四章 Controller接口控制器详解(2) 第四章 Controller接口控制器详解(3) 第四章 Controller接口控制器详解(

零基础学python-2.17 文件、open()、file()

今天我们来说说文件,以及跟文件有关的内建函数open和file 首先我们在python的根目录下建一个名为"123"的txt文本文件 文件里面我们输入一些文本 我们把新建文件与源代码都放到python根目录下面 下面我们来看看代码: handler=open("123.txt")#由于把文件跟源代码建立在python的根目录, #所以这里的路径只需打名字即可 for eachLine in handler: print(eachLine,end='') handle

一起学android之利用回调函数onCreateDialog实现加载对话框(23)

效果图: 有时候我们需要去做一个Activity启动时的数据加载对话框,关于对话框的各种实现可以通过一起学android之对话框 Dialog的创建(7)来完成,在这里另外介绍一个,利用onCreateDialog回调方法来实现,当然这个方法标记已经过 时了,但我们还是可以使用这个方法来实现我们想要的功能.具体请参看代码: public class MainActivity extends Activity { @SuppressWarnings("deprecation") @Ove