JAVA综合图形界面程序设计

JAVA综合图形界面程序设计
JAVA综合图形界面程序设计

实验报告

(2013 / 2014 学年第二学期)

课程名称Java语言程序设计

实验名称综合图形界面程序设计

实验时间2014年5月5日

指导单位计算机学院软件教学中心

指导教师薛景

学生姓名周媛班级学号12001108

计算机科学与技术学院(系)计算机学院专业

(信息安全)

实验名称综合图形界面程序设计指导教师薛景

实验类型上机实验学时 2 实验时间2014-5-5

一、实验目的

1. 学习使用Java Swing设计GUI界面

2. 学习Java的事件监听机制的基本原理

3. 学习监听器处理Java中的事件

二、实验环境

1. 每位同学配备实验计算机一台

2. 安装JDK和Eclipse

三、实验内容

1、编写一个算数测试小软件,用来训练小学生的算数能力。程序有3个类组成,其中Teacher对象充当监视器,负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame对象负责为算数题目提供视图,比如用户可以通过ComputerFrame对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。(请在下方空白处填写本程序的全部

..程序代码及软件界面截图)

public class Mainclass {

public static void main(String args[]){

ComputerFrame frame;

frame=new ComputerFrame();

frame.setTitle("算术测试");

frame.setBounds(100,100,650,180);

}

}

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ComputerFrame extends JFrame{

JMenuBar menubar;

JMenu choiceGrade;

JMenuItem grade1,grade2;

JTextField textOne,textTwo,textResult;

JButton getProblem,giveAnswer;

JLabel operatorLabel,message;

Teacher teacherZhang;

ComputerFrame(){

teacherZhang=new Teacher();

teacherZhang.setMaxInteger(20);

setLayout(new FlowLayout());

menubar = new JMenuBar();

choiceGrade=new JMenu("选择级别");

grade1=new JMenuItem("幼儿级别");

grade2=new JMenuItem("儿童级别");

grade1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){ teacherZhang.setMaxInteger(10);

}

});

grade2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){ teacherZhang.setMaxInteger(50);

}

});

choiceGrade.add(grade1);

choiceGrade.add(grade2);

menubar.add(choiceGrade);

setJMenuBar(menubar);

textOne=new JTextField(5);//创建textOne,其可见字符长是5

textTwo=new JTextField(5);

textResult=new JTextField(5);

operatorLabel=new JLabel("+");

operatorLabel.setFont(new Font("Arial",Font.BOLD,20));

message=new JLabel("你还没有回答呢");

getProblem=new JButton("获取题目");

giveAnswer=new JButton("确认答案");

add(getProblem);

add(textOne);

add(operatorLabel);

add(textTwo);

add(new JLabel("="));

add(textResult);

add(giveAnswer);

add(message);

textResult.requestFocus();

textOne.setEditable(false);

textTwo.setEditable(false);

getProblem.setActionCommand("getProblem");

textResult.setActionCommand("answer");

giveAnswer.setActionCommand("answer");

teacherZhang.setJTextField(textOne,textTwo,textResult); teacherZhang.setJLabel(operatorLabel,message);

getProblem.addActionListener(teacherZhang);

giveAnswer.addActionListener(teacherZhang);

textResult.addActionListener(teacherZhang);

setVisible(true);

validate();

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}

}

import java.util.Random;

import java.awt.event.*;

import javax.swing.*;

public class Teacher implements ActionListener{

int numberOne,numberTwo;

String operator="";

boolean isRight;

Random random;

int maxInteger;

JTextField textOne,textTwo,textResult;

JLabel operatorLabel,message;

Teacher(){

random=new Random();

}

public void setMaxInteger(int n){

maxInteger=n;

}

public void actionPerformed(ActionEvent e){

String str=e.getActionCommand();

if(str.equals("getProblem")){

numberOne=random.nextInt(maxInteger)+1;

numberTwo=random.nextInt(maxInteger)+1;

double d=Math.random();

if(d>=0.5)

operator="+";

else

operator="-";

textOne.setText(""+numberOne);

textTwo.setText(""+numberTwo);

operatorLabel.setText(operator);

message.setText("请回答");

textResult.setText(null);

}

else if(str.equals("answer")){

String answer=textResul.getText();

try{ int result=Integer.parseInt(answer); if(operator.equals("+")){

if(result==numberOne+numberTwo)

message.setText("你回答正确");

else

message.setText("你回答错误");

}

else if(operator.equals("-")){

if(result==numberOne-numberTwo)

message.setText("你回答正确");

else

message.setText("你回答错误");

}

}

catch(NumberFormatException ex){

message.setText("请输入数字字符");

}

}

}

public void setJTextField(JTextField...t) {

textOne=t[0];

textTwo=t[1];

textResult=t[2];

}

public void setJLabel(JLabel https://www.360docs.net/doc/f310816510.html,bel){

operatorLabel=label[0];

message=label[1];

}

}

2、编写一个简单的计算器软件,实现简单的四则运算。(请在下方空白处填写本程序的全部

..程序代码及软件界面截图)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Calculator extends JFrame {

private Container container;

private GridBagLayout layout;

private GridBagConstraints constraints;

private JTextField displayField;// 计算结果显示区

private String lastCommand;

private double result;// 保存计算结果

private boolean start;// 判断是否为数字的开始

public Calculator() {

super("Calculator");

container = getContentPane();

layout = new GridBagLayout();

container.setLayout(layout);

constraints = new GridBagConstraints();

start = true;

result = 0;

lastCommand = "=";

displayField = new JTextField(20);

displayField.setHorizontalAlignment(JTextField.RIGHT);

constraints.gridx = 0;

constraints.gridy = 0;

constraints.gridwidth = 4;

constraints.gridheight = 1;

constraints.fill = GridBagConstraints.BOTH;

constraints.weightx = 100;

constraints.weighty = 100;

layout.setConstraints(displayField, constraints);

container.add(displayField);

ActionListener insert = new InsertAction();

Java程序设计实例教程考试题

Java程序设计练习题 一、选择题 1、为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件( A ) A)分开B)结合 C)联系D)融合 2、Java语言与C++语言相比,最突出的特点是( C ) A)面向对象B)高性能 C)跨平台D)有类库 3、下列Java源程序结构中前三种语句的次序,正确的是(D) A)import,package,public class B)import必为首,其他不限 C)public class,package,import D),import,public class 4、在JDK目录中,Java程序运行环境的根目录是( A ) A)bin B)demo C)lib D)jre 5、下列运算符中属于关系运算符的是(A ) A)== B).= C)+= D)-= 6、下列布尔变量定义中,正确并且规范的是( B ) A)BOOLEAN canceled=false; B)boolean canceled=false; C)boolean CANCELED=false; D)boolean canceled=FALSE; 7、下列关键字中可以表示常量的是( A ) A)final B)default C)private D)transient 8、下列运算符中,优先级最高的是( A ) A)++ B)+ C)* D)> 9、Java中的基本数据类型int在不同的操作系统平台的字长是( B ) A)不同的B)32位 C)64位D)16位

10、给一个short类型变量赋值的范围是( C ) A)-128 至 +127 B)-2147483648至 +2147483647 C)-32768至 +32767 D)-1000至 +1000 11、下列运算中属于跳转语句的是( D ) A)try B)catch C)finally D)break 12、switch语句中表达式(expression)的值不允许用的类型是( C ) A)byte B)int C)boolean D)char 13、下列语句中,可以作为无限循环语句的是( A ) A)for(;;) {} B)for(int i=0; i<10000;i++) {} C)while(false) {} D)do {} while(false) 14、下列语句中执行跳转功能的语句是( C ) A)for语句B)while语句 C)continue语句D)switch语句 15、下列表达式中,类型可以作为int型的是( C ) A)“abc”+”efg”B)“abc”+’efg’ C)‘a’+’b’D)3+”4” 17、数组中各个元素的数据类型是( A ) A)相同的B)不同的 C)部分相同的D)任意的 18、在Java语言中,被成为内存分配的运算符是( A ) A)new B)instance of C)[] D)() 19、接口中,除了抽象方法之外,还可以含有( B ) A)变量B)常量 C)成员方法D)构造方法 20、下列能表示字符串s1长度的是( A ) A)s1.length()B)s1.length C)s1.size D)s1.size() 21、StringBuffer类字符串对象的长度是( C ) A)固定B)必须小于16个字符 C)可变D)必须大于16个字符 22、构造方法名必须与______相同,它没有返回值,用户不能直接调用它,只能通过new调用。( A ) A)类名B)对象名 C)包名D)变量名 23、子类继承了父类的方法和状态,在子类中可以进行的操作是( D ) A)更换父类方法B)减少父类方法 C)减少父类变量D)添加方法 24、String、StingBuffer都是______类,都不能被继承。( C )

java图形界面之电子算盘

Java图形用户界面 院系: 计算机系姓名:后人好乘凉 一实验目的 ●使学生综合运用图形用户界面设计的概念; ●使学生熟悉使用中间面板,组成层次复杂的GUI界面; ●使学生掌握使用事件驱动编程; 二实验环境及实验准备 ●所需硬件环境为微机; ●所需软件环境为JDK、Eclipse; ●掌握Java下界面容器与基本组件的基本知识与应用; ●掌握Java下事件处理模型; ●掌握Java下图形绘制的方法; 三实验内容 (一)、设计实现电子算盘,并完成测试; [题目描述及要求] 给小朋友设计一个电子算盘。要求绘制电子算盘界面,设计并实现打珠算过程(界面参考如下图示)。 电子算盘参考界面示意 程序源代码: package calculator;

import java、awt、Color; //导入 import java、awt、GridLayout; import java、awt、Container; import javax、swing、JLabel; import javax、swing、JButton; import javax、swing、ImageIcon; import javax、swing、JPanel; import javax、swing、JFrame; import javax、swing、JTextField; import java、awt、event、*; public class Calculator extends JFrame{ public int totalNumber; public int t = 0; public boolean[] isAddFive = new boolean[5]; public int number[] = new int[5]; public ImageIcon picture = new ImageIcon(System、getProperty("user、 dir") + "/算珠、jpg" ); //添加图片 public ImageIcon picture1= new ImageIcon(System、getProperty("user、 dir") + "/算珠1、jpg" ); Container con = getContentPane(); JPanel j1 = new JPanel(); JPanel j2 = new JPanel(); JPanel j3 = new JPanel(); JPanel time=new JPanel(); JLabel q = new JLabel(); JLabel nA = new JLabel(); JLabel Time=new JLabel(new ImageIcon("、/时钟、jpg")); //添加时钟标签的图片 JTextField a = new JTextField(); JButton Buttons_1[][] = new JButton[2][5]; JButton Buttons_2[][] = new JButton[5][5]; GridLayout gl_1 = new GridLayout(2,5); GridLayout gl_2 = new GridLayout(5,5); GridLayout gl_3 =new GridLayout(); public Calculator() { super("电子算盘"); setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE); setBounds(100,100,600,400); setVisible(true); setLayout(null); AbacusPanel(); } public void AbacusPanel() // 算盘面板

Java程序设计实例与操作答案

第一章认识Java 一.选择题 1.D 2.B 3.D 4.D 二.简答题 1.Java语言有三个技术分支,并且产生了三个版本的Java运行平台,分别是J2SE 标准版,主要用于开发桌面应用程序、低端服务器应用程序和Java Applet程序;J2EE 企业版,主要用于开发分布式网络程序,如电子商务网站和ERP系统等;J2ME 精简版,主要用于嵌入式系统开发,如移动电话、掌上电脑(PDA)以及其他无线设备。 2.Java应用程序和Java Applet程序。Java应用程序要依赖JRE或JDK中的解释器来运行,而Java Applet程序的调用命令嵌入在网页的HTML代码文件中,显示网页时由Web 浏览器内置的Java解释器解释执行,并将其内容显示网页中。 3.Java虚拟机JVM是Java V irtual Machine的缩写。JVM是一个虚构出来的计算机,它有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java字节码文件包括的代码就是基于JVM的。 4.Java语言主要有简单、面向对象、分布式、健壮、安全、跨平台、解释执行、多线程和动态执行的特点。 5.开发Java应用程序时,首先使用任何文本编辑器创建和编辑Java源程序,保存源程序文件时,文件的扩展名为“*.java”。然后使用“javac 程序名.java”命令把源程序编译为字节码文件,最后使用“java 程序名”将字节码文件翻译为计算机可以理解的指令并运行。 开发Java小程序时,首先使用任意纯文本编辑器编写Java源程序和HTML文件,并分别以扩展名“.java”和“.html”保存。其中,HTML文件中应包含调用Java字节码文件的指令。HTML文件可以使用IE浏览器浏览,也可以使用JDK提供的Appletviewer工具浏览。三.编程题 1.解答 //Test.java class Person { String name; String address; String telephone; Person(String name1, String address1, String telephone1) { name = name1; address = address1; telephone = telephone1; } String getName() {

java图形化界面练习及答案

作业标题:第四次练习题(总分:得分:分)一、单选题(共有题目15题,共计分) 1. 下列属于容器的组件有 A. JButton B. JPane C. Canvas D. JTextArea 学生的答案: B 标准答案: B 该题分数: 学生得分: 分 2. 下列方法中,不属于WindowListener接口的是A. windowOpened() B.

windowClosed() C. windowActivated() D. windowAdapter 学生的答案: D 标准答案: D 该题分数: 学生得分: 分 3. 下列不属于Swing中组件的是( )。 A. JPanel B. JTable C. Menu D. JFrame 学生的答案: C 标准答案: C 该题分数:

学生得分: 分 4. 以下Swing组件中哪一个不是顶层容器组件( )。 A. 框架 B. 对话框 C. 面板 D. 小程序 学生的答案: C 标准答案: A 该题分数: 学生得分: 0分 5. 对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。 A. 创建两个单选框对象时定义相同的对象名 B. 将两个单选框对象放在同一个面板上

定义一个ButtonGroup对象group,将两个单选框对象加到group中D. 让两个单选框排成一行或一列 学生的答案: C 标准答案: C 该题分数: 学生得分: 分 6. 容器被重新设置大小后,( )布局管理器的容器中的组件大小不随容器大小的变化而改变。 A. CardLayout B. FlowLayout C. BorderLayout D. GridLayout 学生的答案: B 标准答案: B 该题分数: 学生得分: 分

java实验报告实验六Java图形用户界面

信息工程学院 Java程序设计实习报告 JAVA图形用户界面 实验六Java图形用户界面 1.实验目的 (1)掌握图形用户界面基本组件。 (2)了解如何使用布局管理器对组件进行管理。 (3)掌握Java事件处理机制。 2.实验内容 实验题 1 编写一个模拟计算器的程序,使用面板与网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式与结果显示在文本框中。 运行结果: 实验报告的内容与格式按任课教师的要求书写。

加法: 主要代码: private void initComponents() { jButton1 = new javax、swing、JButton(); jButton2 = new javax、swing、JButton(); jButton3 = new javax、swing、JButton(); jButton4 = new javax、swing、JButton(); jButton5 = new javax、swing、JButton(); jButton6 = new javax、swing、JButton(); jButton7 = new javax、swing、JButton(); jButton8 = new javax、swing、JButton(); jButton9 = new javax、swing、JButton(); jButton10 = new javax、swing、JButton(); jButton11 = new javax、swing、JButton(); jButton12 = new javax、swing、JButton(); jButton13 = new javax、swing、JButton(); jButton14 = new javax、swing、JButton(); jButton15 = new javax、swing、JButton(); jTextField1 = new javax、swing、JTextField(); setStub(null); jButton1、setText("3"); jButton1、addActionListener(new java、awt、event、

java课程设计报告_简单图形界面计算器的设计

Java 课程设计 简单图形界面计算器的设计 课程名称 Java程序设计 选题名称简单图形界面计算器的设计 专业 班级 姓名 学号 指导教师 简单图形界面计算器的设计

一、设计任务与目标 本次java程序设计我的设计任务是设计一个图形界面(GUI)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。 GUI计算器设计的具体目标: 1.完成十进制的加、减、乘、除、求倒、取余和开方运算; 2.有小数点和正负号加入运算; 3.有退格、复位和清零的功能; 4.有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。 二、方案设计与论证 1.设计目标的总体分析 (1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。 (2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入和输出。 (3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:①满足以上的基本功能要求;②能够在常见的计算机及其操作系统上运行。 2.设计的基本思路 利用GUI的界面设计,将整个大设计分为三块,分别是数据的输入,运算符

功能符的控制和数据的输入输出显示。利用Swing控件,数据的输入由0~9这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“±”这2个按钮来表示小数点和正负号,用“Back”、“CE”和“C”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。 我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。 三、程序流程图,程序清单与调用关系 1. 程序流程图:

《Java程序设计》题目样例

【题目样例】 一、单选题 1.下面哪个特性不是Java具有的(D )。 A、“纯”面向对象 B、安全性高 C、可移植性好 D、运行速度快 2.下面哪个类型是Java中不支持的(C )。 A、布尔类型 B、字符串 C、指针 D、数组 3.下面哪个不属于Java语言的关键字(B )。 A、native B、const C、final D、finally 4.下面关于数组的使用,不正确的是(C )。 A、int a[] = {1, 2, 3}; B、int a[][] = {{ 1, 2 }, { 3, 4} }; C、int a = new int[6] for (int i=0; i<6; i++) a[i] = i * i; D、int a[][] =new int[2][ ]; int a[1] = new int [4]; int a[2] = new int[5]; 5.应用程序的main方法中有以下语句,则输出的结果是(A )。 String obj = new String("abcxyz"); for(int i = obj.length() - 1; I > 0; i--) System.out.print(obj.charAt(i)); A、zyxcba B、xyz C、zyxcb D、abcxyz 6.下面函数,哪一组不属于方法重载(A )。 A、int fun(int a, int b, float c) { … } float fun(int b, int a, float c) { … } B、int fun(int a, int b) { … } int fun(int a, int a, float c) { … } C、int fun(int a) { … } int fun(int a, int b) { … } D、int fun(int a, float b) { … } int fun(float b, int a) { … } 7.若创建RandomAccessFile类对象raf2: RandomAccessFile raf2 = new RandomAccessFile("1.txt", "rw"),该语句的功能是(B )。 A、打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。 B、打开当前目录下的文件1.txt,既可以向文件写入数据,也可以从文件读取数据。 C、打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。 D、以上说法都不对。 8.应用程序main方法中有以下语句,则输出的结果是(A )。 String s = "java@123456@"; int n = s.indexOf("@"); int k = s.indexOf("@", 5); String s2 = s.substring(n + 1, k);

JAVA编程实例大全及详解答案(50例)

JA V A编程实例大全及详解答案(50例) 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count);

Java编程五大经典实例(初学者版)

一、实验目的: 1、掌握 Java 基本数据类型、运算符与表达式、数组和字符串的使用方法。 2、掌握各种变量的声明方式。 3、理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 4、通过以上内容,掌握 Java 语言的编程规则。 5、了解Java程序文件名和类名的说明方法。 二、实验内容(或步骤)提要 1、输入一个学生的成绩,给出相应的等级(分别用if和switch语句实现)。 85分及以上为A级;70分及以上为B级; 60分及以上为C级;60分以下为D级。 【参考程序1】 public class Score{ public static void main(String args[]){ int s=Integer.parseInt(args[0]); if(s<60) System.out.println("D"); else if(s<70) System.out.println("C"); else if(s<85) System.out.println("B"); else System.out.println("A"); } } 【参考程序2】 public class Score{ public static void main(String args[]){ int s=Integer.parseInt(args[0]); int x=s/10; switch (x) { case 0: case 1: case 2: case 3: case 4:

case 5: System.out.println("D");break; case 6: System.out.println("C");break; case 7: case 8: if (s <85) { System.out.println("B"); break; } case 9: case 10: System.out.println("A"); } } } 2、输入某人的应纳税所得额,计算个人所得税。税率表如下: 级数全月应纳税所得额税率%速算扣除法(元) 1不超过500元的50 2超过500元至2000元的部分10 25 3超过2000元至5000元的部分15 125 4超过5000元至20000元的部分20 375 5 超过20000元至40000元的部分251375 6 超过40000元至60000元的部分30 3375 7 超过60000元至80000元的部分356375 8 超过80000元至100000元的部分40 10375 9 超过100000元的部分45 15375 计算公式是:应纳个人所得税税额=应纳税所得额×适用税率-速算扣除数 例:王某当月应纳税所得额6400元。则应纳个人所得税税额=6400×20%-375=905元。【参考程序】 import java.util.Scanner; public class TaxCompute {

Java基础实验报告-图形用户界面设计

南京工程学院 实验报告 课程名称 JAVA基础 实验项目名称图形用户界面设计 实验学生班级 实验学生姓名 学号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字年月日

一、实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。 2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。 3.熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 三、实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:

因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500)

Java课程设计案例

《Java面向对象程序设计》课程设计案例  1、学生成绩管理系统  要求:利用Java编程实现一个学生成绩管理系统(单机版),采用Access数据库。自行设计数据库结构,并实现以下基本功能:1)学生基本信息录入;2)学生成绩的录入; 3)学生成绩的修改;4)学生成绩的查询;5)学生成绩的统计;6)学生成绩的打印  2、货物销售管理系统  要求:利用Java编程实现一个货物销售管理系统(单机版),采用Access数据库。自行设计数据库结构,并实现以下基本功能:1)货物信息录入;2)销售人员的录入;3)货物销售登录;4)货物查询; 5)货物销售查询;6)货物销售统计。  3、图书借阅管理系统  要求:编程实现图书的借阅管理功能(单机版),采用Access数据库。主要提供以下功能:1) 图书的录入;2)人员信息的录入;3)图书的查询;4)借阅图书的录入;5)人员借阅信息的显示。  4、个人通讯录  要求:编程实现个人通讯录管理(用文件存储),个人信息记录的组成自行设定。主要提供如下功能:1) 增加记录;2)删除记录;3)显示所有记录;4)查询记录;5)文件备份。 5、日历记事本  要求:利用Java设计日历记事本,系统界面的左侧是日历,该日历可以按年份前后翻动,在某年内按月可以前后翻动;系统界面右侧显示当日记事;使用鼠标左键单击选定的日期。在系统界面的右侧设计功能按钮,完成记事的保存与删除。  6、风景日历制作  要求:利用Java设计风景日历制作系统,系统界面的左侧是日历,该日历可以按年份前

后翻动,在某年内按月可以前后 翻动;使用鼠标左键单击选定的日期,系统界面的右侧显示风景图片。在系统界面的右侧设计功能按钮使得用户可以自选其他风景图片。  7、MP3音频播放器  要求:利用Java设计Applet应用程序,实现MP3的播放控制,包括添加歌曲(单曲添加和浏览文件夹添加)、删除歌曲(单曲删除、多曲删除)、播放列表保存与导入、播放控制等。 8、简易计算器  要求:利用Java设计一个计算器,功能类似于Windows XP自带的计算器组件。  9、电子名片管理器  要求:利用Java设计电子名片管理器,要求实现名片的添加、删除、查询、修改等功能。要求用文件存储(非数据库)的方式实现。  10、记忆测试系统  要求:编程完成记忆测试系统,主要实现以下功能:1)系统主界面显示30个按钮,分5行6列,其后对应5种动物头像,每种头像6个;2)测试者通过鼠标单击按钮,翻看其后对应的动物头像;3)用户根据翻看(或测试开始时展示的随机头像分布),从30个按钮背后隐藏的头像中找到连续的6个相同的头像,测试完成。  测试开始时,系统给出5种头像的随机分布,展示时间为2秒;随后,头像被隐藏并全部转为同一中头像(非上述5种头像);此后,测试者通过鼠标寻找连续的6个相同头像。  测试系统要求具有计时功能。  11、简易文本编辑器  要求:设计一个简单的文本编辑器,具有如下基本功能:1)所见即所得的文本输入;2)能方便地选中文本、复制、删除和插入文本;3)具有一般编辑器所具有的查找和替换功能;4)打印功能; 5)简单的排版,如设置字体和字号等。

实验五 Java图形界面及多线程

实验五图形界面及多线程 【实验目的】 一、掌握Jpanel的使用方法; 二、掌握JAVA简单图形界面的设计; 三、掌握JAVA多线程控制。 【实验内容】 一、在一个Jpanel中显示一个小球,当点击鼠标时,开始移动小球;当小球撞到Jpanel的边框时,小球将反弹回去继续移动。小球用一个线程来控制其移动; 二、每点击一次鼠标,增加一个移动的小球,最多产生20个小球,随机选择小球的颜色; 三、增加功能,当两个小球相撞时,它们将各自反弹。 【实验结果】 //小球类 import java.awt.Color; import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.util.Random; public class Ball { private double x; private double y; private double xR=30; private double yR=30; private double xMove; private double yMove; private Color color; private Ellipse2D shape; private static Random random=new Random(); public Ball(){ color=new Color(random.nextInt(256),random.nextInt(256),random.nextInt(256)); xMove=Math.cos(random.nextDouble()*6.24)*10;

实验九Java图形用户界面设计1

实验九Java图形用户界面设计(1) 一实验目的 (1)掌握Frame与面板的使用 (2)布局管理器的使用 (3)布局管理器的使用 (4)边界风格的使用 (5)掌握简单Java事件的处理 二实验内容 1、创建并显示一个标题为“My Frame”,背景色为白色,大小为1000×1000的框架。在该框架中放置八个按钮,按钮的标题分别为“按钮1”、……“按钮8”。采用FlowLayout布局管理器。 程序: import java.awt.*; import javax.swing.*; public class Con1{ private JFrame f; private JButton b1,b2,b3,b4,b5,b6,b7,b8; public static void main(String args[]){ Con1 c=new Con1(); c.go(); } public void go(){

f=new JFrame("My Frame"); Container con=f.getContentPane(); con.setLayout(new FlowLayout()); con.setBackground(Color.white); con.setLayout(new FlowLayout(FlowLayout.RIGHT,920,50)); b1=new JButton("按键1"); b2=new JButton("按键2"); b3=new JButton("按键3"); b4=new JButton("按键4"); b5=new JButton("按键5"); b6=new JButton("按键6"); b7=new JButton("按键7"); b8=new JButton("按键8"); con.add(b1); c on.add(b2); c on.add(b3); c on.add(b4); con.add(b5); c on.add(b6); c on.add(b7); c on.add(b8); f.setSize(1000,1000); f.setVisible(true); } } 结果:

java编程例子源码(狐狸与兔子)

-------------------------------------------- animal package animal; import java.util.ArrayList; import field.Location; public abstract class Animal { private int ageLimit; private int breedableAge; private int age; private boolean isAlive = true; public Animal(int ageLimit, int breedableAge) { this.ageLimit = ageLimit; this.breedableAge = breedableAge; } protected int getAge() { return age; } protected double getAgePercent() { return (double)age/ageLimit; } public abstract Animal breed(); public void grow() { age++; if ( age >= ageLimit ) { die(); } } public void die() { isAlive = false; } public boolean isAlive() { return isAlive; } public boolean isBreedable() { return age >= breedableAge; } public Location move(Location[] freeAdj) { Location ret = null; if ( freeAdj.length>0 && Math.random() < 0.02 ) { ret = freeAdj[(int)(Math.random()*freeAdj.length)]; } return ret; } @Override public String toString() { return ""+age+":"+(isAlive?"live":"dead"); } public Animal feed(ArrayList neighbour) { return null; } protected void longerLife(int inc) { ageLimit += inc; } } ----------------------------------------------- Cell package cell; import java.awt.Graphics; public interface Cell { void draw(Graphics g, int x, int y, int size); } ----------------------------------------------- Location package field; public class Location { private int row; private int col; public Location(int row, int col) { this.row = row; this.col = col; } public int getRow() { return row; } public int getCol() { return col; } }

java趣味编程100实例

1_1 问题描述:根据福利彩票的规则,6个蓝色球,范围1--32,不允许重复,1个红色球,范围 1-16,自动生存6个蓝色球,1个红色球。 import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class Ch11_2 { /** * 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组 * @param begin 最小数字(包含该数) * @param end 最大数字(不包含该数) * @param size 指定产生随机数的个数 * * 实现思路:首先定义一个方法,使它能够产生6个不重复的蓝色随机数,存放到数组中, * 再产生1个红色随机数,最后他们组合在一起就是题目所求 */ public static int[] generateRandomNumber(int begin, int end, int size) { // 加入逻辑判断,确保begin= end || (end - begin) < size) { return null; } // 种子你可以随意生成,但不能重复里面存放的是你的取值范围 //本题就是 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32] int[] seed = new int[end - begin]; for (int i = begin; i < end; i ++) { seed[i - begin] = i; } int[] ranArr = new int[size]; Random ran = new Random(); // 数量你可以自己定义。这里生成了6个蓝色球的号码 for (int i = 0; i < size; i++) { // 得到一个位置 int j = ran.nextInt(seed.length - i); // 得到那个位置的数值 ranArr[i] = seed[j]; // 将最后一个未用的数字放到这里,这样就把取出的数覆盖了,达到了不重复

java程序设计(答案)

《JA V A程序设计》作业 一、选择题 1、 C 2、A 3、 C 4、D 5、C 6、D 7、 C 8、 C 9、C10、B 11、E 12、A13、A 14、A15、D16、B 17、A 18、D 19、C 20、C 21、C 22、C23、B 24、B25、C26、D 27、C 28、C 29、C 30、C 31、B 32、A33、D 34、B35、A36、B 37、D 38、A 39、B 40、B 41、B 42、A43、B 44、E45、D46、A 47、D 48、D 49、A 50、B 51、B 52、B53、B 54、A55、C56、A 57、C 58、C 59、B 60、C 61、4 62、2 63、1 64、2 65、1 66、2 67、2 68、1 69、3 70、2 1、编译HelloWorld.java的正确命令是: A) java HelloWorld.class B)java HelloWorld.java C)javac HelloWorld.java 2、正确运行HelloWorld.java的正确命令是: A) java HelloWorld B)javac HelloWorld.java C)javac HelloWorld.class 3、下面程序代码,使用多行注释正确的是: A)// int k=9; // int j=8; // k = k + j; B)*/ int k=9; int j=8; k = k + j;/* C)/* int k=9; int j=8; k = k + j; */ D)/** int k=9; int j=8; k = k + j;/* 4、long型的取值范围是: A)-27~27-1 B)-215~215-1 C)-231~231-1 D)-263~263-1 5、下面不属于Java保留字的是:

《JAVA程序设计项目案例训练》期末试卷(A卷)

献给Java专业期末考试复习的同学希望你们能考个好成绩 JAVA程序设计项目案例训练试题(A卷) 一、选择题(共10小题,每小题4分,共计40分) 1. 下面()数据类型可用于main()方法中传递的参数 A、String B、Integer C、Boolean D、Variant 2. 在屏幕上显示的消息正确的语句是() A、System.out.println("I am Java Expert"); B、system.out.println("I am Java Expert"); C、System.Out.Println("I am Java Expert"); D、System.out.println('I am Java Expert'); 下面()命令可用于编译Java程序 A、java B、javac C、appletviewer D、javadoc 4. 在一个类中定义的成员变量和成员方法时,不允许()。 A. 两个成员变量名相同. B. 成员变量与成员方法名相同. C. 两个成员方法名相同 D. 成员方法中的参数与成员变量名相同 5. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为()。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 6. 执行下面的程序,输出结果是()。 public class Test { int x= 12; public void method(int x) { x+=x; System.out.println(x);

} public static void main(String[] args){ Test t = new Test(); t.method(5); } } A. 5 B. 10 C. 12 D. 17 E. 24 7. 关于下面程序片段,()的结论是正确的。 String a = "Java"; String b = "Java"; String x = "Ja"; String y = "va"; String c = x + y; A、a和b指向同一个实例对象,a和c指向同一个实例对象 B、a和b指向同一个实例对象,a和c不指向同一个实例对象 C、a和b不指向同一个实例对象,a和c指向同一个实例对象 D、a和b不指向同一个实例对象,a和c不指向同一个实例对象 8. 设有定义:String s=”World”;,下列语句错误的是()。 A、int m=s.indexOf(‘r’); B、char c=s.charAt(0); C、int n=s.length(); D、String str=s.append(); 9. 执行完下面程序片段后,(B)的结论是正确的。 int a, b, c; a = 1; b = 2; c = (a + b > 3 ? a++ : b++); A、a的值是2,b的值是3 B、a的值是1,b的值是3 C、a的值是1,b的值是2 D、c的值是false 10. 字符流与字节流的区别是()。 A、每次读入的字节数不同 B、前者带有缓冲,后者没有 C、前者是块读写,后者是字节读写 D、二者没有区别,可以互换使用 二、填空题(共10个空,每空2分,共计20分) 1. JVM是指()。 2. 在Java语言中,所有的数组都有一个()属性,这个属性存储了该数组的元素的个数(或者说数组长度)。 3. Java中类成员的限定词有以下几种:private 缺省, (), ()。其中()的限定的范围最大。 4. 在Java程序运行时,系统自动通过System类创建三个静态的I/O对象,它们是标准输入流对象( )、标准输出流对象( ) 和标准错误流对象( )。 5. java中的异常处理通过5个关键字来实现:它们是try、catch、throw、throws和finally。进行异常监测的代码要放在try子句内:捕获异常需要使( )子句;在方法中宣布可能产生的异常应使用()关键字。

相关文档
最新文档