java加减乘除计算器界面编程?

java中,用布局器实现计算器界面 并实现加减乘除等功能,怎样编程~

java写的,可行

package ex1;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTextField;

public class Calcutor extends JFrame {
private JTextField tf;
private JPanel panel1, panel2, panel3, panel4;
private JMenuBar myBar;
private JMenu menu1, menu2, menu3;
private JMenuItem editItem1, editItem2, help1, help2, help3;
private JRadioButtonMenuItem seeItem1, seeItem2;//单选框
private JCheckBoxMenuItem seeItem3;//复选框
private ButtonGroup bgb;
private String back;
private boolean IfResult = true, flag = false;
private String oper = "=";
private double result = 0;
private Num numActionListener;
private DecimalFormat df;

public Calcutor(){
super("科学计算器");//设置标题栏

df = new DecimalFormat("#.####");//保留四位小数

this.setLayout(new BorderLayout(10, 5));
panel1 = new JPanel(new GridLayout(1, 3, 10, 10));
panel2 = new JPanel(new GridLayout(5, 6, 5, 5));//5行6列
panel3 = new JPanel(new GridLayout(5, 1, 5, 5));
panel4 = new JPanel(new BorderLayout(5, 5));

/**
* 菜单栏
*/
myBar = new JMenuBar();
menu1 = new JMenu("编辑(E)");
menu2 = new JMenu("查看(V)");
menu3 = new JMenu("帮助(H)");

menu1.setFont(new Font("宋体", Font.PLAIN, 12));
menu2.setFont(new Font("宋体", Font.PLAIN, 12));
menu3.setFont(new Font("宋体", Font.PLAIN, 12));

/**
* 编辑栏
*/
editItem1 = new JMenuItem("复制(C) Ctrl+C");
editItem2 = new JMenuItem("粘贴(P) Ctrl+V");

editItem1.setFont(new Font("宋体",Font.PLAIN,12));
editItem2.setFont(new Font("宋体",Font.PLAIN,12));

/**
* 查看栏
*/
seeItem1 = new JRadioButtonMenuItem("科学型(T)");
seeItem2 = new JRadioButtonMenuItem("标准型(S)");
seeItem3 = new JCheckBoxMenuItem("数字分组(I)");

seeItem1.setFont(new Font("宋体",Font.PLAIN,12));
seeItem2.setFont(new Font("宋体",Font.PLAIN,12));
seeItem3.setFont(new Font("宋体",Font.PLAIN,12));

/**
* 帮助栏
*/
help1 = new JMenuItem("帮助主题(H)");
help2 = new JMenuItem("关于计算器(A)");

help1.setFont(new Font("宋体",Font.PLAIN,12));
help2.setFont(new Font("宋体",Font.PLAIN,12));

bgb = new ButtonGroup();//选项组

menu1.add(editItem1);
menu1.add(editItem2);

menu2.add(seeItem1);
menu2.add(seeItem2);
menu2.addSeparator();//添加一条分割线
menu2.add(seeItem3);

menu3.add(help1);
menu3.addSeparator();//添加一条分割线
menu3.add(help2);

myBar.add(menu1);
myBar.add(menu2);
myBar.add(menu3);

this.setJMenuBar(myBar);

numActionListener = new Num();//实现数字监听

/**
* 文本域,即为计算器的屏幕显示区域
*/
tf = new JTextField();
tf.setEditable(false);//文本区域不可编辑
tf.setBackground(Color.white);//文本区域的背景色
tf.setHorizontalAlignment(JTextField.RIGHT);//文字右对齐
tf.setText("0");
tf.setBorder(BorderFactory.createLoweredBevelBorder());
init();//对计算器进行初始化

}
/**
* 初始化操作
* 添加按钮
*/
private void init(){
addButton(panel1, "Backspace", new Clear(), Color.red);
addButton(panel1, "CE", new Clear(), Color.red);
addButton(panel1, "C", new Clear(), Color.red);

addButton(panel2, "1/x", new Signs(), Color.magenta);
addButton(panel2, "log", new Signs(), Color.magenta);
addButton(panel2, "7", numActionListener, Color.blue);
addButton(panel2, "8", numActionListener, Color.blue);
addButton(panel2, "9", numActionListener, Color.blue);
addButton(panel2, "÷", new Signs(), Color.red);

addButton(panel2, "n!", new Signs(), Color.magenta);
addButton(panel2, "sqrt", new Signs(), Color.magenta);
addButton(panel2, "4", numActionListener, Color.blue);
addButton(panel2, "5", numActionListener, Color.blue);
addButton(panel2, "6", numActionListener, Color.blue);
addButton(panel2, "×", new Signs(), Color.red);

addButton(panel2, "sin", new Signs(), Color.magenta);
addButton(panel2, "x^2", new Signs(), Color.magenta);
addButton(panel2, "1", numActionListener, Color.blue);
addButton(panel2, "2", numActionListener, Color.blue);
addButton(panel2, "3", numActionListener, Color.blue);
addButton(panel2, "-", new Signs(), Color.red);

addButton(panel2, "cos", new Signs(), Color.magenta);
addButton(panel2, "x^3", new Signs(), Color.magenta);
addButton(panel2, "0", numActionListener, Color.blue);
addButton(panel2, "-/+", new Clear(), Color.blue);
addButton(panel2, ".", new Dot(), Color.blue);
addButton(panel2, "+", new Signs(), Color.red);

addButton(panel2, "tan", new Signs(), Color.magenta);
addButton(panel2, "%", new Signs(), Color.magenta);
addButton(panel2, "π", numActionListener, Color.orange);
addButton(panel2, "e", numActionListener, Color.orange);
addButton(panel2, "′″", new Signs(), Color.orange);
addButton(panel2, "=", new Signs(), Color.red);

JButton btns = new JButton("计算器");
btns.setBorder(BorderFactory.createLoweredBevelBorder());
btns.setEnabled(false);//按钮不可操作
btns.setPreferredSize(new Dimension(20, 20));

panel3.add(btns);//加入按钮
addButton(panel3, "MC", null, Color.red);
addButton(panel3, "MR", null, Color.red);
addButton(panel3, "MS", null, Color.red);
addButton(panel3, "M+", null, Color.red);

panel4.add(panel1, BorderLayout.NORTH);
panel4.add(panel2, BorderLayout.CENTER);
this.add(tf, BorderLayout.NORTH);
this.add(panel3, BorderLayout.WEST);
this.add(panel4);

pack();
this.setResizable(false);//窗口不可改变大小
this.setLocation(300, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
/**
* 统一设置按钮的的使用方式
* @param panel
* @param name
* @param action
* @param color
*/
private void addButton(JPanel panel, String name, ActionListener action, Color color){
JButton bt = new JButton(name);
panel.add(bt);//在面板上增加按钮
bt.setForeground(color);//设置前景(字体)颜色
bt.addActionListener(action);//增加监听事件
}
/**
* 计算器的基础操作(+ - × ÷)
* @param x
*/
private void getResult (double x){
if(oper == "+"){result += x;}
else if(oper == "-"){result -= x;}
else if(oper == "×"){result *= x;}
else if(oper == "÷"){result /= x;}
else if(oper == "="){result = x;}
tf.setText(df.format(result));
}
/**
* 运算符号的事件监听
*/
class Signs implements ActionListener{
public void actionPerformed(ActionEvent e) {
/*
* 用ActionEvent对象的getActionCommand()方法
* 取得与引发事件对象相关的字符串
*/
String str = e.getActionCommand();

/* sqrt求平方根 */
if(str.equals("sqrt")){
double i = Double.parseDouble(tf.getText());
if(i>=0){
/*
* String.valueOf() 转换为字符串
* df.format() 按要求保留四位小数
* Math.sqrt() 求算数平方根
*/
tf.setText(String.valueOf(df.format(Math.sqrt(i))));
}
else{
tf.setText("负数不能开平方根");
}
}

/* log求常用对数 */
else if(str.equals("log")){
double i = Double.parseDouble(tf.getText());
if(i>0){
tf.setText(String.valueOf(df.format(Math.log(i))));
}else{
tf.setText("负数不能求对数");
}
}

/* %求百分比 */
else if(str.equals("%")){
tf.setText(df.format(Double.parseDouble(tf.getText()) / 100));
}

/* 1/x求倒数 */
else if(str.equals("1/x")){
if(Double.parseDouble(tf.getText()) == 0){
tf.setText("除数不能为零");
}else{
tf.setText(df.format(1 / Double.parseDouble(tf.getText())));
}
}

/* sin求正弦函数 */
else if(str.equals("sin")){
double i = Double.parseDouble(tf.getText());
tf.setText(String.valueOf(df.format(Math.sin(i))));
}

/* cos求余弦函数 */
else if(str.equals("cos")){
double i = Double.parseDouble(tf.getText());
tf.setText(String.valueOf(df.format(Math.cos(i))));
}

/* tan求正切函数 */
else if(str.equals("tan")){
double i = Double.parseDouble(tf.getText());
tf.setText(String.valueOf(df.format(Math.tan(i))));
}

/* n!求阶乘 */
else if(str.equals("n!")){
double i = Double.parseDouble(tf.getText());
if((i%2==0)||(i%2==1))//判断为整数放进行阶乘操作
{
int j = (int)i;//强制类型转换
int result=1;
for(int k=1;k<=j;k++)
result *= k;
tf.setText(String.valueOf(result));
}
else
{
tf.setText("无法进行阶乘");
}
}

/* x^2求平方 */
else if(str.equals("x^2")){
double i = Double.parseDouble(tf.getText());
tf.setText(String.valueOf(df.format(i*i)));
}

/* x^3求立方 */
else if(str.equals("x^3")){
double i = Double.parseDouble(tf.getText());
tf.setText(String.valueOf(df.format(i*i*i)));
}

/* ′″角度转换 */
/**
* 将角度值转换成弧度值,方便三角函数的计算
*/
else if(str.equals("′″")){
double i = Double.parseDouble(tf.getText());
tf.setText(String.valueOf(i/180*Math.PI));
}

else{
if(flag){
IfResult = false;
}
if(IfResult){
oper = str;
}else{
getResult(Double.parseDouble(tf.getText()));
oper = str;
IfResult = true;
}
}
}
}
/**
* 清除按钮的事件监听
*/
class Clear implements ActionListener{
public void actionPerformed(ActionEvent e) {
/*
* 用ActionEvent对象的getActionCommand()方法
* 取得与引发事件对象相关的字符串
*/
String str = e.getActionCommand();
if(str == "C"){
tf.setText("0");
IfResult = true;
result = 0;
}else if(str == "-/+"){
double i = 0 - Double.parseDouble(tf.getText().trim());
tf.setText(df.format(i));
}else if(str == "Backspace"){
if(Double.parseDouble(tf.getText()) > 0){
if(tf.getText().length() > 1){
tf.setText(tf.getText().substring(0, tf.getText().length() - 1));
//使用退格删除最后一位字符
}else{
tf.setText("0");
IfResult = true;
}
}else{
if(tf.getText().length() > 2){
tf.setText(tf.getText().substring(0, tf.getText().length() - 1));
}else{
tf.setText("0");
IfResult = true;
}
}
}else if(str == "CE"){
tf.setText("0");
IfResult = true;
}
}
}
/**
* 数字输入的事件监听
*/
class Num implements ActionListener{
public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand();
if(IfResult){
tf.setText("");
IfResult = false;
}
if(str=="π")
{
tf.setText(String.valueOf(Math.PI));
}
else if(str=="e")
{
tf.setText(String.valueOf(Math.E));
}
else{
tf.setText(tf.getText().trim() + str);
if(tf.getText().equals("0")){
tf.setText("0");
IfResult = true;
flag = true;
}
}
}
}
/**
* 小数点的事件监听
*/
class Dot implements ActionListener{
public void actionPerformed(ActionEvent e) {
IfResult = false;
if(tf.getText().trim().indexOf(".") == -1){
tf.setText(tf.getText() + ".");
}
}
}
/**
* main方法
*/
public static void main(String[] args) {
new Calcutor().setVisible(true);
}
}

下面简单的写了一个,也可以简化一下的,你自己看看是否合适:
import java.awt.*;
import java.awt.event.*;
public class count extends WindowAdapter implements ActionListener{
Frame f;
TextField txt1;
TextField txt2;
TextField txt3;
Label lbl1;
Label lbl2;
Label lbl3;
Button btn1;
Button btn2;
Button btn3;
Button btn4;
void init(){
f=new Frame("计算器");
lbl1=new Label("x");
lbl2=new Label("y");
lbl3=new Label("结果");
txt1=new TextField(10);
txt2=new TextField(10);
txt3=new TextField(10);
btn1=new Button(" 求 和 ");
btn2=new Button(" 求 差 ");
btn3=new Button(" 清 除 ");
btn4=new Button(" 退 出 ");

f.setLayout(new FlowLayout());
f.add(lbl1); f.add(txt1);
f.add(lbl2); f.add(txt2);
f.add(lbl3); f.add(txt3);
f.add(btn1);f.add(btn2);f.add(btn3);f.add(btn4);
f.setVisible(true);
f.pack();

btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
btn4.addActionListener(this);
f.addWindowListener(this);
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==btn1){
String s1=txt1.getText();
String s2=txt2.getText();
double d1=Double.parseDouble(s1);
double d2=Double.parseDouble(s2);
double d3=d1+d2;
String s3=Double.toString(d3);
txt3.setText(s3);
}
if(e.getSource()==btn2){
String s1=txt1.getText();
String s2=txt2.getText();
double d1=Double.parseDouble(s1);
double d2=Double.parseDouble(s2);
double d3=d1-d2;
String s3=Double.toString(d3);
txt3.setText(s3);
}
if(e.getSource()==btn3){
String s="";
txt1.setText(s);
txt2.setText(s);
txt3.setText(s);
}
if(e.getSource()==btn4){
System.exit(0);
}
}
public static void main(String[]args){
new count().init();
}
}

来源:Code Wizards HQ

智能观 编译

孩子想学编码的话,有很多方法可以展开学习。可以让他们学着构建视频游戏、创建动画、开发移动应用程序和搭建网站。不管孩子喜欢哪种形式,都有大量的编码书供他们快速学起来!

但是,怎么才能找到一本好的儿童编码书呢?


  • 没经验的孩子的编码书,应该涵盖基本内容。

  • 翻翻适合初学者的书,看看里面是否有加减乘除基本数学运算,仔细看看带变量、if / then语句、循环和函数的章节。你不需要理解这些概念是怎么工作的,只要看看书的标题里有没有提这些,如果没有,这本书不适合新手。

  • 许多好的儿童编码书只用一种语言。

  • 好的儿童编码书只侧重一种语言,可以是Scratch、Javascript或Python。如果你不知道孩子应该学哪种语言,可以买两三种不同语言的书。

  • 好的儿童编码书有很多照片和插图。

  • 对于那些第一次接触代码的孩子来说,视觉吸引力很重要。好的儿童编码书每一页上都有丰富多彩的插图,充分吸引孩子的关注。

  • 好的儿童编码书提供有用的、可转移的知识。

  • 学一门特定的语言并不像理解基本的编码概念那么重要。写代码的人可以从任何语言开始学起,然后轻松地转入其他语言。有些语言不太适合孩子,如C和C++,很多成年人都学不好。

    因此,根据以上几项挑选原则,我们推出一份教孩子编码的书籍,涵盖块编程、编程基础语言、Web开发、移动开发、游戏编程、机器人和物联网等几大类,并标出适合孩子学习的年龄段,可以说是史上最全的儿童编码书籍汇总了!如果你正在苦恼怎么给孩子选书,快收下这份开学礼物吧~

    块编程类

    学龄前的儿童也可以学习用块编程语言编码。块语言是高度图形化的,易于学习。Scratch是为孩子们设计的一种流行的块语言。

    1. Coding with Scratch Workbook

    (用Scratch编码)

    作者:DK出版公司

    适合年龄: 6-9岁

    在短短40页的篇幅里,读者就能学会用Scratch做任何事,从解决简单的数学问题到构建、分享游戏。每章都包含指导孩子们完成简单编码项目的分步说明。

    2. Learn to Program with Scratch:A Visual Introduction to Programming with Games, Art, Science, and Math

    (学会用Scratch编程:游戏、艺术、科学和数学编程的可视化介绍)

    作者:Majed Marji

    适合年龄: 10岁及以上

    这本将近300页的书涵盖了初学者需要了解的关于Scratch语言的所有内容。读完这本书后,孩子们将会牢固掌握Scratch和适用于任何语言的编程思想。

    3. Scratch for Kids For Dummies

    (儿童Scratch傻瓜书)

    作者:Derek Breen

    适合年龄: 10-14岁

    读者将在构建16个项目中,学习变量、if / then语句、循环和基本编程逻辑。

    4. The Official ScratchJr Book: Help Your Kids Learn to Code

    (中文版:动手玩转ScratchJr编程)

    作者:Marina Umaschi Bers 、Mitchel Resnick

    适合年龄: 5-9岁

    对于那些还太小不能学习Scratch的孩子来说,Scratchr Jr是一种更简单的块编程语言。

    5. MicroWorlds EX Books for Kids

    (儿童MicroWorlds EX工具书)

    作者:Steve Robson

    适合年龄: 5-9岁

    借助MicroWorlds EX工具,孩子们通过图形和文本来学习。他们没有被一种纯图形语言和“固定”代码所束缚,也不必100 %处理文本。

    链接:

    https://pan.baidu.com/s/1igfVJVV1UpBdIZvNzogv2Q

    6. Coding for Kids For Dummies

    (儿童编码傻瓜书)

    作者:Camille McCue

    适合年龄: 10-14岁

    书中指导孩子完成15个项目,包括绘画、动画和游戏,还带领孩子们完成了创建计算机程序的过程,从构思到构建、测试。

    编程基础

    尽管C++、Java和Python等语言之间存在着巨大的差异,但理解编码基础知识,孩子可以相对轻松地从一种语言迁移到另一种语言。

    Python

    7. Python for Kids

    (适合孩子的Python学习)

    作者:Jason R. Briggs

    适合年龄: 10岁以上

    这本书对孩子来说既全面又容易理解。内容适合小学生,但也适合许多成人学习者看。

    链接:

    https://pan.baidu.com/s/1GJUXzKUfVed3O-sfss3MDg

    8. Coding Projects in Python

    (Python编码项目)

    作者:DK出版公司

    适合年龄: 9-12岁

    不管孩子已经学了Scratch之类的块语言,还是没有做过任何编程,都可以在这本书里找到需要的一切来构建软件。书后面的词汇和参考部分对孩子来说很有帮助。

    链接:

    https://pan.baidu.com/s/1BJE0IgfeBc8uEHrdHAxuaw

    9. Python in Easy Steps

    (学习Python的简单步骤)

    作者:Mike McGrath

    适合年龄:中学及以上

    本书不是专门为孩子写的,但它内容组织得很好,中学生,尤其是有一些Scratch或其他语言经验的中学生,可以很容易地理解它。读完本书,学生可以用Python构建简单的网页和编写桌面应用程序。

    10. Hello World! Computer Programming for Kids and Other Beginners

    (中文版:父与子的编程之旅:与小卡特一起学Python)

    作者:Warren Sande

    适合年龄: 12岁以上

    学习编码时,大家编写的第一个程序就是在屏幕上显示“Hello World”。本书沿袭了这一传统,并为新手提供构建任何类型有用软件所需的必要技能。

    链接:

    https://pan.baidu.com/s/1tue23Fur36Q3l-8YoziJ1w

    Java

    Java是一种非常流行的语言,用于所有操作系统和Android设备。这也是高中计算机科学课程中最常见的语言。

    11. Java Programming for Kids: Learn Java Step by Step and Build Your Own Interactive Calculator for Fun!

    (面向儿童的Java编程:逐步学习Java,并构建自己的交互式计算器)

    作者:R. Chandler Thompson

    适合年龄: 13-17岁

    这本书既有趣又简单。青少年读者可以通过Java编程语言,构建交互式计算器应用程序。

    12. Java for Kids (and grown ups): Learn to Code and Create Your Own Projects with Java 8

    (面向儿童和成年人的Java:学习用Java 8编写代码并创建自己的项目)

    作者:Nadia Ameziane Garcia

    适合年龄: 10-12岁

    这本书只介绍学习过程中每一步所需要的东西。每一章都建立在前文介绍的基础上,孩子们可以在短时间内学会Java的基础知识。

    C++

    这不是最容易学的语言,但精通C++的人会更了解计算机是如何工作的。

    13. C++ Progamming In Easy Steps

    (C++编程的简单步骤)

    作者:Mike McGrath

    适合年龄:中学及以上

    作者通过一系列简单的课程介绍了C++,并提供大量专家提示,以帮助读者获得最佳编程实践。这本书让孩子们短时间内学会C++基础知识,并可能沿用很多年。

    14. C++ for Kids

    (适合儿童的C++语言)

    作者:Blaise Vanden-Heuvel、John C Vanden-Heuvel Sr.

    适合年龄: 7-9岁

    这本简短多彩的书向孩子们展示了C++编程是如何工作的。示例程序各色各样,这样孩子们就能理解程序的各个部分实际上是做什么的。

    Web开发类

    HTML和CSS

    网页用HTML构建,用CSS设计风格。这些不是真正的编程语言,但它们让孩子接触文本编辑器、构思想法,对日后探索Javascript或Python之类的语言很有用。

    15. Build Your Own Website, a Comic Guide to HTML, CSS and WordPress

    (建立你自己的网站,HTML、CSS和WordPress的漫画指南)

    作者:Nate Cooper、Kim Gee

    适合年龄:中学及以上

    在这本漫画风格的网站搭建指南中,孩子们学习HTML标记语言,熟悉控制网页样式的CSS语言,了解内容管理系统WordPress。

    链接:

    https://pan.baidu.com/s/194OAJuxV47aUdHndpjzXhA

    16. CoderDojo Nano: Building a Website: Create with Code

    (用代码搭建网站)

    作者:Clyde Hatter、CoderDojo

    适合年龄: 8-12岁

    这本书只有96页,引导孩子们完成建立网站的整个过程。孩子可以建立一个和书中例子完全一样的网站,也可以试着建自己喜欢的网站。

    17. Creating a Website: Design and Build Your First Site

    (创建网站:设计和建立你的第一个网站)

    作者:Greg Rickaby

    适合年龄: 7-11岁

    这本书为孩子设计网页提供指南,从规划网站的结构到添加使网站与众不同的细节。同时提供了软件工程师在现实世界中使用的许多技巧和操作过程。

    JavaScript

    许多程序员认为JavaScript是互联网的未来,学习这种语言可以建立互动性强的、有用的网站。

    18. Computer Coding with Javascript

    (使用Javascript进行计算机编码)

    作者:DK出版公司

    适合年龄: 8-12岁

    从HTML、CSS转到JavaScript可能容易晕,因为JavaScript更加复杂、强大。但这本书内容比较简单,孩子们可以顺利过渡。

    19. Javascript for Kids: A Playful Introduction to Programming

    (面向儿童的JavaScript:有趣的编程入门)

    作者:Nick Morgan

    适合年龄: 10岁以上

    本书从数组、变量类型讨论到游戏编程。无论孩子想制作游戏、制作动画还是使用虚拟现实,JavaScript都能让他们把想法变成真实的程序。

    链接:

    https://pan.baidu.com/s/1JEs-oTMGwV2OgCcRdlfJEQ

    20. Javascript for Kids For Dummies

    (面向儿童的JavaScript傻瓜书)

    作者:Chris Minnick、Eva Holland

    适合年龄: 10-13岁

    如果你有兴趣读编程书,帮孩子学习编码,试试这本。这本书远远超出基本内容,方便读者构建任何能想到的Web项目。

    链接:

    https://pan.baidu.com/s/1JfXJvj0xPSdGGw-Iwr_IJA

    21. Get Coding! Learn HTML, CSS, Javascript & Build a Website, App & Game

    (编码!学习HTML,CSS,Javascript ;建立一个网站,应用程序和游戏)

    作者:Young Rewired State

    适合年龄: 9-12岁

    这本书中的课程是以任务形式呈现的,教导孩子构建网站、应用程序和游戏。他们还会了解不同类型的编程语言以及每种语言的优点。

    移动开发

    安卓应用

    App Inventor是一个完全在线开发的Android编程环境,具有类似Scratch的块编程界面。它简化了移动开发过程,是向孩子们介绍Android编程的理想方式。

    22. Building a Mobile App

    (构建移动应用程序)

    作者:Guthals

    适合年龄: 7-11岁

    读这本书的孩子不仅学习编码,还学习规划、开发自己的定制应用。本书提供了专业人员使用的应用程序开发的内容,包括原型制作和创建应用程序框架,对热爱移动开发的孩子来说特别有价值。

    23. Hello App Inventor

    (你好,App Inventor)

    作者:Paula Beer、Carl Simmons

    适合年龄: 9岁以上

    使用App Inventor构建的应用可以利用许多智能手机功能,如运动传感器、GPS和相机。本书通过30个示例项目向读者展示了如何利用这些功能。

    链接:

    https://pan.baidu.com/s/1ybVo8tEVE5TE3T8F4wnaqw

    iOS应用

    为了构建苹果产品应用程序,开发人员使用了一种叫Swift的语言。创建这种语言时,软件工程师想让没经验的人容易学习。对于从未编程的孩子来说,这是一个很好的选择。

    24. Coding iPhone Apps for Kids

    (适合孩子的iPhone应用程序编码)

    作者:Gloria Winquist、Matt McCarthy

    适合年龄: 10岁以上

    本书介绍了Swift语言和编码基础,并让孩子们构建两个真正的应用程序:一个生日跟踪器和一个滑板游戏。

    25. Hello Swift

    (你好,Swift)

    作者: Tanmay Bakshi、Lynn Beighley

    适合年龄: 9岁以上

    Tanmay Bakshi可以说是我们的老朋友了,智能观从去年开始就报道他的故事。他4岁编码,9岁就发布第一个应用程序。通过他的书,读者也会构建能在iOS应用商店上发布的应用程序。

    如果还有人对他不了解,可以看看我们往期的报道。附传送门:

    13岁天才少年在IBM掀起一场人工智能风暴

    IBM少年工程师说:人工智能的下一个前沿是心理健康

    游戏编程

    Scratch游戏编程

    26. Coding Games in Scratch

    (用Scratch编码游戏)

    作者:Jon Woodcock

    适合年龄: 8-12岁

    这本书让孩子在浏览器中制作自己的游戏。

    27. Code Your Own Games: 20 Games to Create with Scratch

    (编码自己的游戏: 用Scratch创建20个游戏)

    作者: Max Wainewright

    适合年龄: 6-11岁

    这本书分5个层次递进,20个游戏项目让孩子们熟悉编码和游戏开发的原理。每款游戏都锻炼了孩子们的能力,比如控制玩家互动、在屏幕上设置对象动画、添加声音。

    28. Star Wars Coding Projects

    (星球大战编码项目)

    作者:Jon Woodcock、Kiki Prottsman

    适合年龄: 8-12岁

    喜欢《星球大战》的孩子可以通过C3PO、R2D2和其他角色学习编码。读者不需要任何编程经验就可以看这本书。

    Python游戏编程

    29. Mission Python

    (Python任务)

    作者:Sean McManus

    适合年龄: 10岁以上

    虽然对于10岁的孩子来说,这本书有点简单了,但它探索了Python游戏编程的深度。书从Python Essentials插件开始,逐渐深入更高级的概念,如音频文件处理和3D图形。

    30. Invent Your Own Computer Games with Python

    (中文版:Python编程快速上手——让繁琐工作自动化)

    作者:Al Sweigart

    适合年龄: 10岁以上

    这本书通过对Hangman和Tic-Tac-Toe等几款流行游戏进行详细解释来教授编程。

    链接:

    https://pan.baidu.com/s/1ncZTTrIPlBzA30e_BNjDAA

    我的世界

    31. Learn to Program with Minecraft

    (用我的世界学项目)

    作者:Craig Richardson

    适合年龄: 10岁以上

    《我的世界》是一款受欢迎的3D游戏,孩子们可以在虚拟世界中探索、建造城堡等。本书介绍了如何使用Python编程扩展《我的世界》。

    链接:

    https://pan.baidu.com/s/13_FMKoqlMF8P1uu4gaqRNQ

    32. Minecraft Modding for Kids For Dummies

    (用我的世界教孩子建模的傻瓜书)

    作者:Guthals、Stephen Foster、 Lindsey Handley

    适合年龄: 10-13岁

    通过9个JavaScript项目,孩子们从《我的世界》里的“玩家”化身为 “建模师”。读者要有玩《我的世界》的经验,但不需要以前学过编码。

    机器人和物联网

    Arduino

    Arduino是一台微型计算机,可以用传感器、LED灯和马达等小硬件控制各种电路。学习Arduino不仅仅意味着学习编码;它包括设计和建造真实世界的项目。

    33. Adventures in Arduino

    (Arduino历险记)

    作者:Becky Stewart

    适合年龄: 11-15岁

    喜欢机械和工程的孩子会喜欢本书中的项目。孩子们了解Arduino,然后上手一些简单的项目,比如让LED灯亮起来。

    链接:

    https://pan.baidu.com/s/1JFopfxxfONYCGAKMM28yaQ

    34. Sylvia’s Super-Awesome Project Book: Super-Simple Arduino

    (Sylvia的超棒项目书:超级简单的Arduino)

    作者:Sylvia "Super-Awesome" Todd

    适合年龄: 8-12岁

    Sylvia介绍了如何建立Arduino项目来控制灯光和制作音乐等。这些项目不是复制代码,罗列事物,而是对事物如何工作以及为什么工作进行了详细解释。

    树莓派

    你可以把树莓派(Raspberry Pi)当成Arduino的升级版。两台计算机的尺寸差不多,但是树莓派的操作系统更接近笔记本电脑。

    35. Raspberry Pi Projects Workbook

    (树莓派项目工作簿)

    作者:DK出版公司

    适合年龄: 7-12岁

    孩子们可要通过这本书制作游戏,制作音乐,制作动画,学习Scratch、Python和Raspberry Pi。

    链接:

    https://pan.baidu.com/s/1AzZ-ZubG41zOduXUh2IFRA

    36. Adventures in Raspberry Pi

    (树莓派历险记)

    作者:Carrie Anne Philbin

    适合年龄: 11-15岁

    本书介绍的9个项目让孩子们快速上手树莓派,涵盖的概念编程有基础、游戏编程、图形创建等。

    链接:

    https://pan.baidu.com/s/1Ub365kwYczlN0E5k6b-57g

    乐高机器人

    乐高生产了几个套件,包括机器人滚动、旋转甚至攀爬的所有必要部件。他们也有自己的语言,孩子们用这些语言来创作。

    37. The Art of Lego Mindstorms EV3 Programming

    (乐高头脑风暴EV3编程的艺术)

    作者:Terry Griffin

    适合年龄: 10岁以上

    本书教孩子们在EV3头脑风暴编程环境中,控制自己的机器人。他们学习如何建造乐高机器人并用代码控制它。

    38. Building Robots with Lego Mindstorms

    (用乐高头脑风暴套件制造机器人)

    作者: Mario Ferrari、Giulio Ferrari、Ralph Hempel

    适合年龄: 10岁以上

    在本书中,孩子们使用电子电路和传感器,以及乐高头脑风暴套件,学习制造机器人。书中有大量关于齿轮、马达、气动和其他工程概念的信息,对于严肃的机器人爱好者来说很重要。

    适合学龄前儿童的编码书

    为低龄儿童设计的编码书,帮助儿童建立对计算机程序的模式、颜色和其他基本要素的认知。

    39. Baby Loves Coding

    (宝贝喜欢编码)

    作者:Ruth Spiro

    适合年龄:学前及以上

    因为是给很小的孩子看的,书中没有提供任何明确的编码指导。它介绍了解决问题的方法,以及优秀程序员需要有的想法。

    40. Learn to code: Robot Train’s Surprise Birthday Party (Volume 1)

    (学会编码:机器人火车的惊喜生日聚会I)

    作者:by Jen Chiou

    适合年龄:学前及以上

    孩子在本书中了解编码的先决条件,如决策和逻辑。通过触摸书上像按钮的图片,孩子们帮助一辆虚构的机器人火车向生日派对运送用品,从而了解编码逻辑是如何工作的。

    41. HTML for Babies

    (适合婴儿的超文本标记语言)

    作者:Sterling Children's

    适合年龄: 3-5岁

    HTML是一种简单的标记语言,不需要复杂的逻辑,3-5岁的孩子可以通过本书,学会识别与网络编程相关的符号和颜色。

    42. JavaScript for Babies

    (适合婴儿的JavaScript语言)

    作者:Sterling Children's

    适合年龄: 3-5岁

    这本书让孩子们了解JavaScript的一些基本结构和数据类型。

    有趣的青少年编码书

    让青少年读一本编程类的书可能很困难,所以以下书籍通过游戏开发和其他有趣的项目,帮助青少年学习。

    43. Computer Programming for Teens

    (适合青少年的电脑编程)

    作者:Mary E. Farrell

    适合年龄:青少年

    没有编码经验的孩子和那些不知道学什么语言的孩子,是本书的目标受众。书中有一些C++、Python和Web编程语言的例子,孩子们将会找到最适合自己的编码项目。

    44. Game Programming for Teens

    (适合青少年的游戏编程)

    作者:Maneesh Sethi

    适合年龄:青少年

    本书介绍了一种名为BlitzMax的游戏专用语言,它使孩子们能在所有平台( Windows、Mac、Linux )构建游戏。

    链接:

    https://pan.baidu.com/s/1pe0gc_MlDdIeD3jp5YNE1w

    适合女孩的编码书,STEM入门

    女孩可以通过编程提前接触STEM。构建应用程序、开发游戏、编程机器人——这些活动为女孩们进入STEM领域奠定了坚实的基础。

    45. Women Who Launched the Computer Age

    (开创计算机时代的女性)

    作者:Laurie Calkhoven

    适合年龄: 6-8岁

    本书讲述了6位在二战期间为美国军方从事秘密项目的天才女性。

    46. Grace Hopper: Queen of Computer Code

    (格雷斯·霍普:计算机代码女王)

    作者:Laurie Wallmark

    适合年龄: 5岁以上

    格雷斯·霍普是一位有创造力的计算机科学家和数学家,也是一位授勋的海军军官和总统自由勋章获得者。孩子们会在她精彩的生活和成就中找到鼓励。

    47. Girls Who Code: Learn to Code and Change the World

    (学会编码并改变世界)

    作者:Reshma Saujani

    适合年龄: 10岁以上

    Reshma Saujani是女孩编码组织“Girls Who Code”的创始人,她在本书中介绍了电脑和编码,以及在科技领域工作的女性的轶事。

    培养儿童编码兴趣的通用读物

    编码的孩子受益于问题解决、数学和决策能力。一些优秀的儿童计算机科学通用读物侧重于培养孩子对编码的兴趣。

    48. Lauren Ipsum: A Story About Computer Science and Other Improbable Things

    (劳伦·益普森:关于计算机科学和其他不可思议的故事)

    作者:Carlos Bueno

    适合年龄: 10岁以上

    一个年轻的女孩需要找到回家的路,但要做到这一点,必须解决一个个难题……读者不知不觉中,接触到了编程逻辑、解决问题的技巧和其他计算机科学思想。

    49. Once Upon an Algorithm

    (从前有个算法)

    作者:Martin Erwig

    适合年龄:中学及以上

    算法是解决问题的一组指令或过程。你可能觉得孩子们不太想看这个。但作者Martin Erwig通过类比、童话和电影引用,使算法变得有趣。

    原文链接:

    http://www.codewizardshq.com/coding-books-for-kids/

    —完—

    扩展阅读:

    适合孩子学习编码的7款工具套件

    干货|| 如何在线学习编码?看看这 11个优秀的编程资源网站

    教孩子编码就够了吗?不!学校该培养的是计算思维

    每个人都应该学习编码吗?吴恩达这样回答……

    如果学生编程能力胜于老师,编码课该怎么教?

    亲爱的朋友:

    经常有读者咨询,有没有适合孩子的编码书推荐?

    我们之前推荐过一些,但苦于无中文版,很多读者找不到购买方式。

    今天的推荐,内容比较全面,我们可爱的小编找遍了资源,将能找到电子版都找到,一并送给你。

    其余没有资源的,网上也可以买到。

    如果本文对你有帮助,别忘了转发给你身边的朋友,让它帮助更多人。

    祝安!

    PS:为了方便与读者探讨,特意注册了一个专用号。如果你也是我们的铁杆读者,想探讨交流,可以加微信:znglmym。

    智能观 灵米

    2018-9-12 于北京中关村

    想知道AI加教育领域有哪些最新研究成果?

    想要AI领域更多的干货?

    想了解更多专家的“智能观”?

    请前往:www.智能观.com。

    想交流沟通,请加负责人微信:znglmym

    声明:

    编译文章旨在帮助读者了解行业新思想、新观点及新动态,为原作者观点,不代表智能观观点。

    转载智能观原创文章,请联系

    智能观小艾(微信号:zng2017618)!

    关于我们

    我们关注AI+教育。致力于提供高附加值的知识,以帮助每一位老师和我们的读者不断学习并提高技能。

    我们努力让发表的每一篇文章都具有最佳质量,以满足读者的需求。



以前学习的时候写过,听那些在工作岗位上的人说JFrame框架在企业中基本不用,所以也就没怎么深入研究了,你要的话我可以给你,能完善一下最好,完善不了的话就以后再说吧
package test;

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

public class Z extends JFrame implements ActionListener, FocusListener {
private String[] total = { "1", "2", "3", "+", "4", "5", "6", "-", "7", "8", "9", "*", "0", ".", "=", "/" }; // 总数组
private String[] other = { "clear", "delete" }; // 其它功能数组
private String[] symbol = { "+", "-", "*", "/" }; // 符号数组
private String multinumber = "0", operator1 = "", exists = "", operator2 = null, s = "";
// multinumber(多位数) operator1(运算符) exists(存在的)
private double d1, d2 = 0;
private int Count = 0;
JPanel jptotal = new JPanel(); // 总面板
JTextField jtexternal = new JTextField("0"); // 外部文本框
JTextField jtinside = new JTextField(); // 内部文本框
JPanel jptop1 = new JPanel(); // 顶部面板1
JPanel jptop2 = new JPanel(); // 顶部面板2
JPanel jpmiddle = new JPanel(); // 中部面板

public Z() {
jptotal.setLayout(new BorderLayout());
// 使用边界布局管理器
jptop1.setLayout(new GridLayout(2, 0));
jptop1.add(jtexternal);
jptop2.setLayout(new GridLayout(0, 2));
for (int i = 0; i < other.length; i++) {
JButton jbi = new JButton("" + other[i]);
jbi.setSize(100, 10);
jptop2.add(jbi);
jbi.addActionListener(this);
}
jpmiddle.setLayout(new GridLayout(4, 0));
for (int i = 0; i < total.length; i++) {
JButton jbi = new JButton("" + total[i]);
jpmiddle.add(jbi);
jbi.addActionListener(this);
}
jtexternal.addFocusListener(this);
jtexternal.add(jtinside);
jtinside.addFocusListener(this);
// 上面三行代码的作用是让文本框不可被选中
jptop1.add(jptop2);
jptotal.add(jptop1, "North");
// 以jp1为一个整体,让jp1里面的内容从最上面开始填充
jptotal.add(jpmiddle);
add(jptotal);
setVisible(true);
setSize(500, 500);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}

// ctrl+/ :注释
public void actionPerformed(ActionEvent e) throws ArithmeticException {
try {
String inputing = e.getActionCommand();
// 表示获取当前输入的内容
if (inputing.equals(".")) {
Count++;
}
exists = jtexternal.getText();
if (operator2 != null) {
int k = 0;
for (int i = 0; i < symbol.length; i++) {
if (operator2.equals(symbol[i])) {
k = k + 1;
}
if (inputing.equals(symbol[i])) {
k = k + 1;
}
if (k == 2) {
jtexternal.setText(exists.substring(0, exists.length() - 1) + inputing);
operator1 = inputing;
return;
}
// 实现四则运算符不可同时存在,新输入的替换旧的
if (operator2.equals(symbol[i]) && inputing.equals(".")) {
return;
}
// 实现四则运算符和点不可挨着出现(点后面可以出现四则运算符,点前面不可出现)
}
}
if (exists.equals("0")) {
if (inputing.equals(".") || (inputing.equals("+")) || (inputing.equals("-")) || (inputing.equals("*"))
|| (inputing.equals("/"))) {
jtexternal.setText("0" + inputing);
} else {
jtexternal.setText(inputing);
}
} else {
jtexternal.setText(exists + inputing);
}
// 实现如果0前面没有非0数字的话,那么无论输入多少次0,都只显示一个0,如果输入其它数字,0将会被替换
if ((d1 == 0.0 || d2 == 0.0) && inputing.equals("=") && !exists.substring(0, 1).equals("0")) {
return;
}
// 实现如果文本框内存在数字,那么输入等号,将打印其本身
if (inputing.equals("clear")) {
multinumber = "0";
exists = "";
operator1 = "";
jtexternal.setText("0");
operator2 = null;
d2 = 0;
s = "";
Count = 0;
d1 = 0.0;
// 实现,当点击clear时,文本框内将被清空至0,所有数据都将还原至初始状态
} else if (inputing.equals("delete")) {
if (exists.length() <= 1 || s.equals("=")) {
jtexternal.setText("0");
multinumber = "0";
exists = "";
operator1 = "";
operator2 = null;
d2 = 0;
s = "";
Count = 0;
d1 = 0;
// 实现,按delete删除刚输入的内容,如果将最后一个数字删除,那么效果同按clear
} else {
if (inputing.equals("+") || inputing.equals("-") || inputing.equals("*") || inputing.equals("/")) {
Count = 1;
}
jtexternal.setText(exists.substring(0, exists.length() - 1));
// 将operator2存储上一次值
operator2 = exists.substring(exists.length() - 2, exists.length() - 1);
/*
* 实现如果四则运算符后面有数字的话
* 那么如果此时按删除键
* 删除之后如果新输入的还是四则运算符话
* 那么将会将原来的四则运算符替换成新输入的
*/
}
} else if (!inputing.equals("+") && !inputing.equals("-") && !inputing.equals("*") && !inputing.equals("/")
&& !inputing.equals("=")) {
// 判断输入是否为数字
if (s.equals("=")) {
if (exists.equals("除数不能为0") || new Double(exists) == d1) {
if (inputing.equals(".")) {
jtexternal.setText("0" + inputing);
} else {
jtexternal.setText(inputing);
}
}
s = "";
}
// 实现一次计算完成之后,可以进行新的运算
if (multinumber == null) { // 多位数计算
multinumber = inputing;
} else {
multinumber += inputing;
}
d1 = new Double(multinumber);
if (operator1.equals("+")) { // 进行四则运算
if (d2 == 0) {
if (operator1.equals("*") || operator1.equals("/")) {
d2 = 1;
}
}
// 实现,当四则运算符后面没有数字时,那么输入等号后结果将为符号前面的结果,如果符号前面只有一个数字,那么将打印自身
d1 = d1 + d2;
} else if (operator1.equals("-")) {
d1 = d2 - d1;
} else if (operator1.equals("*")) {
d1 = d1 * d2;
} else if (operator1.equals("/")) {
d1 = d2 / d1;
}
// 利用临时变量f2,实现四则运算
operator2 = inputing;
} else if (!inputing.equals("=")) { // [四则运算符] 输入等号后继续进行计算
multinumber = "0";
operator1 = inputing;
d2 = d1;
operator2 = inputing;
s = "";
Count = 0;
// 实现小数运算
} else { // 就是 [=] 得出最终结果
jtexternal.setText("" + d1);
Count = 0;
s = "=";
multinumber = "0";
if (operator2.equals("0") && "/".equals(operator1)) {
operator2 = null;
d1 = 0;// 将非法运算值替换成正确值
throw new ArithmeticException();// 指定抛出异常的条件
//赋值计算不抛算数异常,如果想让其抛出,必须指定条件重新抛出异常
} else {
operator1 = inputing;
operator2 = null;
d2 = 0;
} // 计算结果
if (inputing.equals("=") && (d1 == 0.0 || d2 == 0.0)) {
return;
}
// 实现等号不可重复输入
}
} catch (ArithmeticException e1) {
jtexternal.setText("除数不能为0");
// 指定抛出异常内容
}
}

public static void main(String[] args) {
new Z();
}

public void focusGained(FocusEvent e) {
jtinside.requestFocus();
// 让焦点聚焦到内部文本框,实现外部文本框的不可聚焦功能
}

public void focusLost(FocusEvent e) {

}
}
/*
* 目前delete删除输入值之后让其它值还原功能未实现,等以后再进行改进 举个例子:比如我要计算1+1,但是在输入等号的时候,我想换成别的
* 比如我想换成1-1,我按delete将1和加号删除,换成1-1 但是结果却不是0 又或者我换成11+1,但是结果却不是12
* 又或者当我输入11时,我不小心多输入了一个数字,这时候再进行运算,结果就不是我想要的了 ...
*/

简单练习,仅供参考。


package com.hello.swing;

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

public class Calculator {

public static void main(String[] args) {
create();
}


public static void create(){
new CalculatorFrame();
}

static class CalculatorFrame extends JFrame{
JTextField oneTextField;
JTextField twoTextField;
JTextField resultTextField;

public CalculatorFrame(){
Container container = getContentPane();
setLayout(new GridLayout(5, 1, 0, 5));

// 第一行显示标题:简单计算器
JLabel titleLabel = new JLabel("简单计算器");
titleLabel.setHorizontalAlignment(JLabel.CENTER); // 水平居中
titleLabel.setVerticalAlignment(JLabel.CENTER); // 垂直居中
titleLabel.setFont(new Font("宋体",Font.BOLD,20));
container.add(titleLabel);

// 第二行显示:数 1
JPanel onePanel = new JPanel();
onePanel.setLayout(new GridLayout(1, 2, 5, 0));
JLabel oneLabel = new JLabel("数1:");
oneLabel.setHorizontalAlignment(JLabel.RIGHT); // 右对齐
onePanel.add(oneLabel);
oneTextField = new JTextField();
onePanel.add(oneTextField);
container.add(onePanel);

// 第三行显示:数 2
JPanel twoPanel = new JPanel();
twoPanel.setLayout(new GridLayout(1, 2,5,0));
JLabel twoLabel = new JLabel("数2:");
twoLabel.setHorizontalAlignment(JLabel.RIGHT); // 右对齐
twoPanel.add(twoLabel);
twoTextField = new JTextField();
twoPanel.add(twoTextField);
container.add(twoPanel);

// 第四行显示加减乘除按钮
JPanel threePanel = new JPanel();
threePanel.setLayout(new GridLayout(1, 4,5,0));
JButton addButton = new JButton("加");
addButton.addActionListener(e -> {
String one = oneTextField.getText();
String two = twoTextField.getText();
resultTextField.setText(String.valueOf(Integer.parseInt(one) + Integer.parseInt(two)));
});
JButton subtractButton = new JButton("减");
subtractButton.addActionListener(e -> {
String one = oneTextField.getText();
String two = twoTextField.getText();
resultTextField.setText(String.valueOf(Integer.parseInt(one) - Integer.parseInt(two)));
});
JButton multiplyButton = new JButton("乘");
multiplyButton.addActionListener(e -> {
String one = oneTextField.getText();
String two = twoTextField.getText();
resultTextField.setText(String.valueOf(Integer.parseInt(one) * Integer.parseInt(two)));
});
JButton divideButton = new JButton("除");
divideButton.addActionListener(e -> {
String one = oneTextField.getText();
String two = twoTextField.getText();
resultTextField.setText(String.valueOf(Integer.parseInt(one) / Integer.parseInt(two)));
});
threePanel.add(addButton);
threePanel.add(subtractButton);
threePanel.add(multiplyButton);
threePanel.add(divideButton);
container.add(threePanel);

// 第五行显示结果
JPanel fourPanel = new JPanel();
fourPanel.setLayout(new GridLayout(1, 2,5,0));
JLabel resultLabel = new JLabel("计算结果:");
resultLabel.setHorizontalAlignment(JLabel.RIGHT); // 右对齐
fourPanel.add(resultLabel);
resultTextField = new JTextField();
fourPanel.add(resultTextField);
container.add(fourPanel);

// Frame属性设置
setTitle("简单计算器"); // 窗口标题
setVisible(true);  // 窗口可见
setSize(400, 250); // 窗口大小
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 窗口关闭
}
}
}




本例用到了控件在容器中的网格布局,该布局使得运行界面在放大时控件的大小和控件之间的间距也会跟着放大,使得界面看着更美观。网格布局的参数:
一、代码如下
二、运行结果
计算都是以double类型进行的。
运行画面6*8的结果

00:11

github上肯定能找到类似代码,完全一样的不一定有。

java 编计算器界面
答:import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator { //计算器面板 private JFrame f = new JFrame("Calculator");//输入面扳 private JPanel inputPanel = new JPanel();//加减乘除面板 private JPanel operationPanel = new JPanel();...

用Java编写实现加减乘除,界面如下
答:用Java编写的实现加减乘除的程序如下 import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swi...

如何在Java中利用图形界面技术设计一个能够完成加、减、乘、除和取余...
答:package test;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Z extends JFrame implements ActionListener, FocusListener { private String[] total = { "1", "2", "3", "+", "4", "5", "6", "-", "7", "8", "9", "*", "0", ".", ...

急求!!!如何用java程序代码实现计算器界面
答:b[i] = new Button(label[i]);//把标签依次放在16个按钮上 b[i].addActionListener(this);//使每个按钮添加动作事件监听器 p1.add(b[i]); //分别将按钮添加到面板p1上 } Frame f=new Frame("计算器1.0");//初始化窗口f,起名字计算器1.0 f.setLayout(new BorderLayout());//为窗...

用Java编写一个简单的计算器界面,并且可以实现加减乘除计算,很简单一...
答:import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;public class Calculator { public static void main(String[] args) { Frame f = new Frame("Calculator");final TextField tf = new TextField();Pan...

如何使用Java对象语言编写一个加减乘除计算器要有代码
答: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[...

Java实现有界面的简单的两个整数之间的加减乘除运算
答:// 计算器数字按钮定义面板 class Number_Key extends JPanel { /** * */ private static final long serialVersionUID = 1L; JButton zero = new JButton("0"); // 数字键0 JButton one = new JButton("1"); // 数字键1 JButton two = new JButton("2"); // 数字键2 JButton three =...

Java程序--编写一个具有图形界面的计算器程序
答:import java.awt.event.*;import java.io.*;public class Test implements ActionListener { Frame f = new Frame("一步运算计算器");//创建窗架 TextField[] tf = new TextField[3];Label La1 = new Label("+");Button btn = new Button("=");int[] a = new int[3]; //储存...

计算器运算界面用java怎么写
答:import java.awt.*;import java.awt.event.*;public class jisuanqi extends WindowAdapter { Panel p1 = new Panel(); Panel p2 = new Panel(); Panel p3 = new Panel(); TextField txt; private Button[] b = new Button[17]; private String ss[] = { "7", "8", "9", "+",...

求一计算器java代码,最好简单一点(图形界面)
答:Frame fm = new Frame("简单计算器"); for (int i = 0; i <= 16; i++) { b[i] = new Button(ss[i]); } for (int i = 0; i <= 15; i++) { p2.add(b[i]); } //创建按钮 并添加到P2 b[16].setBackground(Color.yellow); txt = new TextField(15); txt.setEditable(fal...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网