南昌大学JAVA期末大作业

合集下载

南昌大学Java试题A卷(14年春用)

南昌大学Java试题A卷(14年春用)
A. abstract B.static C.newD.final
二、判断题(每小题1分,共10分)
判断题答题表
1
2
3
4
5
6
7
8
9
10
说明:请把选择题的答案全部填到上面的答题表,以的打√错的打╳
1.组成java Application的若干类中,有且仅有一个主类,只有主类中含有主方法main();
2.如果一个java程序中有多个类,编译后只生成一个字节码文件,其名字同主类名。
class Base{
Base(int i){
System.out.println("base constructor");
}
Base(){
}
}
public class Sup extends Base{
public static void main(String argv[]){
Sup s= new Sup();
System.out.println("My Func");
}
public void amethod(){
myfunc();
}
}
1)The code will compile and run, printing out the words "My Func"
2) The compiler will complain that the Base class has non abstract methods
题号










总分
累分人
签名

南昌大学javaweb大作业报告书

南昌大学javaweb大作业报告书

资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载南昌大学javaweb大作业报告书地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容软件学院大作业实验报告题目:基于Struts的图书管理系统专业:软件工程班级: 122班(java方向)学号: 8000112163学生姓名:王冠完成人数: 1 人起讫日期: 2015/05/20任课教师:周兴斌职称:副教授部分管主任:刘晓强完成时间: 2015/05/30目录TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc421181205" 1.前言 PAGEREF _Toc421181205 \h 3HYPERLINK \l "_Toc421181206" 1.1 实验目的 PAGEREF_Toc421181206 \h 3HYPERLINK \l "_Toc421181207" 1.2 实验的基本要求 PAGEREF _Toc421181207 \h 3HYPERLINK \l "_Toc421181208" 2. 系统分析与设计 PAGEREF_Toc421181208 \h 3HYPERLINK \l "_Toc421181209" 2.1 系统功能描述(简单需求分析) PAGEREF _Toc421181209 \h 3HYPERLINK \l "_Toc421181210" 2.2 系统功能流程 PAGEREF_Toc421181210 \h 3HYPERLINK \l "_Toc421181211" 2.3数据库设计 PAGEREF_Toc421181211 \h 4HYPERLINK \l "_Toc421181212" 2.3.1数据表的构建 PAGEREF_Toc421181212 \h 4HYPERLINK \l "_Toc421181213" 3.系统的实现与测试 PAGEREF _Toc421181213 \h 5HYPERLINK \l "_Toc421181214" 3.1系统采用的关键技术 PAGEREF _Toc421181214 \h 5HYPERLINK \l "_Toc421181215" 3.2 关键程序流程 PAGEREF_Toc421181215 \h 6HYPERLINK \l "_Toc421181216" 3.3 关键代码分析 PAGEREF_Toc421181216 \h 7HYPERLINK \l "_Toc421181217" 3.4 出现的问题及解决 PAGEREF _Toc421181217 \h 18HYPERLINK \l "_Toc421181218" 3.4.1向数据库中插入数据出现乱码以及界面显示有中文乱码问题: PAGEREF _Toc421181218 \h 18 HYPERLINK \l "_Toc421181219" 3.4.2弹出提示框问题 PAGEREF _Toc421181219 \h 19HYPERLINK \l "_Toc421181220" 4. 系统界面 PAGEREF_Toc421181220 \h 19HYPERLINK \l "_Toc421181221" 4.1 进入系统界面(登录界面)PAGEREF _Toc421181221 \h 19HYPERLINK \l "_Toc421181222" 4.2 管理员模块界面: PAGEREF _Toc421181222 \h 19HYPERLINK \l "_Toc421181223" 4.3 添加图书界面: PAGEREF _Toc421181223 \h 20HYPERLINK \l "_Toc421181224" 4.4 罚金设置界面: PAGEREF _Toc421181224 \h 20HYPERLINK \l "_Toc421181225" 4.5 用户管理界面: PAGEREF _Toc421181225 \h 20HYPERLINK \l "_Toc421181226" 4.6 用户模块界面: PAGEREF _Toc421181226 \h 21HYPERLINK \l "_Toc421181227" 4.7 图书检索、借阅界面:PAGEREF _Toc421181227 \h 21HYPERLINK \l "_Toc421181228" 4.8 续借图书界面: PAGEREF _Toc421181228 \h 22HYPERLINK \l "_Toc421181229" 4.9 归还界面: PAGEREF_Toc421181229 \h 22HYPERLINK \l "_Toc421181230" 4.9 安全退出界面: PAGEREF _Toc421181230 \h 23HYPERLINK \l "_Toc421181231" 5.操作方法 PAGEREF_Toc421181231 \h 23HYPERLINK \l "_Toc421181232" 5.1 登录 PAGEREF_Toc421181232 \h 23HYPERLINK \l "_Toc421181233" 5.2 图书检索,借阅 PAGEREF _Toc421181233 \h 23HYPERLINK \l "_Toc421181234" 5.3图书归还,续借 PAGEREF_Toc421181234 \h 23HYPERLINK \l "_Toc421181235" 5.4图书,用户的添加 PAGEREF _Toc421181235 \h 23HYPERLINK \l "_Toc421181236" 5.5 图书,用户的删除操作PAGEREF _Toc421181236 \h 24HYPERLINK \l "_Toc421181237" 5.6 图书,用户的更新操作PAGEREF _Toc421181237 \h 24HYPERLINK \l "_Toc421181238" 6.分析与总结 PAGEREF_Toc421181238 \h 24HYPERLINK \l "_Toc421181239" 6.1实验分析与总结 PAGEREF_Toc421181239 \h 24HYPERLINK \l "_Toc421181240" 7.附录: PAGEREF_Toc421181240 \h 25HYPERLINK \l "_Toc421181241" 7.1 参考文献: PAGEREF_Toc421181241 \h 25HYPERLINK \l "_Toc421181242" 7.3 MVC架构模式的认识 PAGEREF _Toc421181242 \h 251.前言1.1 实验目的学习Web应用程序的开发,以B/S方式,JSP编程技术开发图书管理系统;通过编程实践掌握JSP的动态网页与sql2012数据库相结合的技术;通过MVC(模型-视图-控制)架构模式,使其在开发过程中得以应用,并了解Web编程模式下的Model1和Model2 的区别;了解Struts框架的具体含义及在Struts模式下的开发。

南财JAVA期末终极版

南财JAVA期末终极版
int s = 0 ; for (int i = 0 ; i < MyIntArray.length ; i + + )
if ( i % 2 = = 1 ) s += MyIntArray[i] ;
System.out.println(s); 13、取模运算符是什么?表示的意义是什么? 14、数组 x 定义如下:
3.static variable:P278 Static variables, also known as class variables, store values for the variables in a common memory location. Because of this common location, if one object changes the value of a static variable, all objects of the same class are affected.
一、单项选择题(共 15 小题,每题 1 分,共计 15 分) 二、填空题(共 5 空,每空 1 分,共计 5 分) 三、名词解释(共 4 小题,每题 5 分,共计 20 分) 四、阅读程序题(共 5 小题,每题 4 分,共计 20 分) 五、程序设计题(共 3 小题,每题 10 分,共计 30 分) 六、改错题(共 1 小题,计 10 分)
ห้องสมุดไป่ตู้
8、字符串是使用双引号引导的一串字符,可以是 0 个字符、1 个字符或者多个 字符;字符串的长度可以使用字符串对象的 length 方法(不是 length 属性)得 到: “abc”长度为 3 “abc\n”的长度呢?(不是 5!) 9、要定义一个类所属于的包,使用 package 语句进行定义;要包含/引用某个包 中的类,则需要使用 import 语句。比如,要使用 java.io 包中的所有类,则应 该在程序开始处加上: import java.io.*; 要创建一个包 myPackage,则应使用: package myPackage; 10、接口的定义使用 interface;抽象类的定义使用 abstract 关键字;实现一 个接口使用 implements;继承一个基类使用 extends。 11、两个整数相除,结果是怎样的?比如 3/8 值为?? 12、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是?。

南昌大学JAVA程序设计试卷B卷

南昌大学JAVA程序设计试卷B卷
C. ArrayList myList=new List();
D. List myList=new List();
8、下列哪个方法可用于创建一个可运行的类()
A.public class X implements Runable{ public void run(){......} }
B.public class X implements Thread{ public void run(){......} }
6、Java编程所必须的默认引用包为( )
A.java.sys包ng包
C.java.new包D.以上都不是
7、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( )
A. ArrayList myList=new Object();
B. List myList=new ArrayList();
D.new DataOutputStream(new OutputStream(“out.txt”));
11、一个事件源必须注册监听器才能接收一个事件通知,以将产生的事件对象传输给()来处理。
A.事件代理(监听器) B.事件源C.主程序D.事件处理方法
12、JAVA中,为了辩别用户是否关闭窗口,要实现监听器接口()。
2.public float aMethod(float a, float b){ }
3.
4.}
将以下哪种方法插入行3是不合法的。()
A.public float aMethod(float a,float b,float c){ }
B.public float aMethod(float c,float d){ }
public class E implements Runnable{

大学Java期末考试题库及答案

大学Java期末考试题库及答案

大学Java期末考试题库及答案第一部分:选择题1. 下列关于Java语言的说法错误的是:A. Java语言是一种解释性语言B. Java语言是一种面向对象的语言C. Java语言的跨平台特性使得它可以在不同的操作系统上运行D. Java语言最初由Sun公司开发,现在属于Oracle公司的产品答案:A2. 下列哪个不是Java中的基本数据类型?A. doubleB. booleanC. intD. string答案:D3. 下列哪种语句可以用来终止一个循环体从而强制退出循环?A. breakB. continueC. returnD. exit答案:A第二部分:编程题1. 编写一个Java程序,输出1-100中的所有偶数。

答案:public class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}2. 编写一个Java程序,找到一个数组中的最大值。

答案:public class MaxValue {public static void main(String[] args) { int[] arr = {5, 2, 9, 10, 25, 1};int max = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}}System.out.println(max);}}第三部分:简答题1. 什么是Java虚拟机?答:Java虚拟机(JVM)是一个能够执行Java字节码的虚拟机器。

它是Java平台的中心组件之一,负责将Java程序转换成真正能够在计算机上运行的指令。

2. 什么是Java中的类?答:Java中的类是一种数据结构,包括了数据和方法。

大二java期末考试题及答案

大二java期末考试题及答案

大二java期末考试题及答案**大二java期末考试题及答案**一、选择题(每题2分,共20分)1. 在Java中,以下哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. length答案:A3. 下列哪个选项是Java中的一个合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B4. 在Java中,哪个关键字用于实现多态?A. abstractB. interfaceC. extendsD. implements答案:C5. 下列哪个选项是Java中的一个基本数据类型?A. StringB. IntegerC. intD. ArrayList答案:C6. Java中,哪个关键字用于声明一个方法?A. functionB. methodC. procedureD. void答案:D7. 在Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. structD. enum答案:B8. 下列哪个选项是Java中的一个控制流语句?A. tryB. catchC. finallyD. all of the above答案:D9. 在Java中,哪个关键字用于声明一个枚举?A. enumB. listC. setD. map答案:A10. Java中,哪个关键字用于声明一个异常?A. errorB. exceptionC. throwableD. fault答案:B二、填空题(每题2分,共20分)1. Java中,用于声明一个类的关键字是______。

答案:class2. Java中,用于声明一个接口的关键字是______。

答案:interface3. Java的基本数据类型包括byte, short, int, long, float, double, boolean, 和______。

大学JAVA期末考试试题带答案

大学JAVA期末考试试题带答案

大学JAVA期末考试试题带答案《JA V A程序设计》期末考试试题(三一、单项挑选题1、如下哪个是Java中的标识符(DA、publicB、superC、3numberD、width2、如下哪个是Java中的标识符(AA、fieldnameB、superC、3numberD、#number3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( CA、s += "books";B、s = s + 100;C、int len = s.length;D、String t = s + “abc”;4、如下哪个是Java中有效的关键字( CA、nameB、helloC、falseD、good5、下面的代码段执行之后count的值是什么( D int count = 1;for (int i = 1; i 。

6、在Java中定义一个字符串类型的变量str的语句是:(String str;,定义一个具有10个元素的整型数组a的语句是:(int [] arr = newint[10];。

7、导入mypackage包中的所类的命令是(import mypackage.*;。

8、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int,数组名是(arr,数组的大小为(5,数组元素下标的使用围是(0到4。

9、假设x=13,y=4,则表达式x%y != 0的值是(true,其数据类型是(boolean。

10、异样处理是由(try、(catch和finally块三个关键所组成的程序块。

四、简答题1、简述Java中异样处理的机制?答:首先Java的异样是面对对象的。

一个Java的Exception是一个描述异样状况的对象.当浮现异样状况时,一个Exception对象就产生了,并放到异样的成员函数里。

Java的异样处理是通过5个关键词来实现的:try,catch,throw,throws和finally。

java期末考试题库及详解答案

java期末考试题库及详解答案

java期末考试题库及详解答案1. Java中,下列哪个关键字用于声明一个类?A. interfaceB. classC. abstractD. final答案:B2. 在Java中,下列哪个选项是正确的方法声明?A. public void myMethod();B. public static void myMethod;C. public static int myMethod();D. public abstract void myMethod();答案:A3. Java程序中,main方法的参数是:A. String argsB. String[] argsC. int argsD. int[] args答案:B4. 下列哪个选项是Java中的合法变量名?A. 2variableB. variable2C. $variableD. variable-2答案:B5. 在Java中,下列哪个选项是合法的数组声明?A. int[] myArray;B. int myArray[];C. int[] myArray = new int[];D. int myArray = new int[];答案:A6. 在Java中,下列哪个选项是正确的继承关系?A. final class A extends BB. class A extends BC. final class A implements BD. class A implements B答案:B7. Java中,下列哪个关键字用于实现接口?A. implementsB. extendsC. newD. super答案:A8. 在Java中,下列哪个选项是正确的异常处理语句?A. try { } catch (Exception e) { }B. try { } catch (e) { }C. try { } finally { }D. try { } catch (Exception) { }答案:A9. Java中,下列哪个选项是正确的字符串连接操作?A. String str = "Hello" + "World";B. String str = "Hello" + 5;C. String str = "Hello" + 5.0;D. String str = "Hello" + true;答案:A10. 在Java中,下列哪个选项是正确的多态性示例?A. class A { void show() { } }B. class B extends A { void show() { } }C. A obj = new B();D. A obj = new A();E. B obj = new B();答案:C11. Java中,下列哪个选项是正确的泛型声明?A. List list = new ArrayList();B. List<String> list = new ArrayList<String>();C. List list = new ArrayList<String>();D. List<String> list = new ArrayList();答案:B12. 在Java中,下列哪个选项是正确的线程创建方式?A. Thread t = new Thread();B. Thread t = new Thread(new Runnable() { public void run() { } });C. Thread t = new Thread(new Thread());D. Thread t = new Thread(new ThreadGroup(), new Runnable() { public void run() { } });答案:B13. Java中,下列哪个关键字用于声明一个枚举?A. enumB. classC. interfaceD. struct答案:A14. 在Java中,下列哪个选项是正确的泛型方法声明?A. public <T> void myMethod(T t) { }B. public void <T> myMethod(T t) { }C. public <T> T myMethod() { }D. public T <T> myMethod(T t) { }答案:A15. Java中,下列哪个选项是正确的集合初始化方式?A. List<String> list = new ArrayList<>();B. List<String> list = new List<>();C. List<String> list = new ArrayList<String>();D. List<String> list = new List<String>();答案:A。

java期末考试题及答案大学

java期末考试题及答案大学

java期末考试题及答案大学一、选择题(每题2分,共20分)1. 在Java中,用哪个关键字可以定义一个类?A. classB. functionC. methodD. type答案:A2. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class@2答案:C3. Java中的main方法必须定义为:A. public static void main(String args[])B. private static void main(String[] args)C. public static int main(String args)D. public void main(String[] args)答案:A4. 下列哪个是Java的保留字?A. SwitchB. IntegerC. ReturnD. String答案:A5. 一个Java程序的执行是由哪个类来启动的?A. ng.ObjectB. ng.SystemC. ng.RuntimeD. ng.Thread答案:B6. 在Java中,哪个类是所有类的根类?A. ObjectB. ClassC. ThrowableD. Applets答案:A7. Java中的异常处理是通过哪两个关键字来实现的?A. try-catchB. if-elseC. switch-caseD. for-loop答案:A8. 下列哪个是Java集合框架中的接口?A. ArrayListB. HashMapC. SetD. Map答案:D9. 在Java中,哪个包包含了基本的输入输出功能?A. java.ioB. java.utilC. D. ng答案:A10. Java中的线程是继承哪个类的?A. ObjectB. ThreadC. RunnableD. Class答案:B二、填空题(每题2分,共20分)11. Java语言支持的两种数据类型是________和________。

大二java期末试题及答案

大二java期末试题及答案

大二java期末试题及答案(本文按照试题和答案的格式来进行书写)大二Java期末试题及答案试题:题目一:Java的特点以及应用领域。

答案:Java是一种跨平台、面向对象的编程语言,具有以下几个特点:1. 简单易学:Java的语法相对简单,与C++相比,Java去除了一些复杂的特性,使得初学者更容易上手。

2. 跨平台性:Java的编译器将Java源代码编译为字节码,而不是直接编译为机器码,这样可以在不同的操作系统上运行Java程序。

只需要在特定平台上安装Java虚拟机(Java Virtual Machine, JVM),即可实现跨平台运行。

3. 面向对象:Java是一种完全面向对象的编程语言,所有的数据都是对象,所有的操作都是方法调用。

4. 垃圾回收:Java具有自动内存管理的特性,通过垃圾回收器来回收不再使用的对象所占用的内存空间,减轻了开发者的内存管理负担。

5. 安全性:Java拥有安全性机制,如对内存的访问进行控制、强制进行类型检查等,避免了一些常见的安全漏洞。

Java的应用领域包括但不限于:1. 网络编程:Java提供了丰富的网络编程类库,支持TCP/IP和UDP等协议,可以用于开发网络服务器和客户端应用。

2. 移动应用开发:通过Java开发Android应用,可以利用Java的跨平台特性,在不同的Android设备上运行。

3. 企业级应用开发:Java提供了一系列的企业级编程框架(如Spring、Hibernate等),可以用于开发大规模的企业级应用。

4. 大数据处理:Java提供了Hadoop、Spark等大数据处理框架,支持海量数据的分布式处理和分析。

题目二:什么是多态性?请用Java代码示例说明。

答案:多态性是面向对象编程中的重要概念,指的是同一类型的对象,在不同的情况下可以表现出不同的行为。

在Java中,多态性通过继承和接口实现。

Java代码示例:```java// 父类class Animal {void makeSound() {System.out.println("Animal makes sound.");}}// 子类1class Dog extends Animal {@Overridevoid makeSound() {System.out.println("Dog barks."); }}// 子类2class Cat extends Animal {@Overridevoid makeSound() {System.out.println("Cat meows."); }}public class PolymorphismExample {public static void main(String[] args) { Animal animal1 = new Dog();Animal animal2 = new Cat();animal1.makeSound(); // 输出:Dog barks.animal2.makeSound(); // 输出:Cat meows.}}```在上述示例中,Animal作为父类,Dog和Cat作为子类。

大一java期末考试试题及答案

大一java期末考试试题及答案

大一java期末考试试题及答案# 大一Java期末考试试题及答案一、选择题(每题2分,共20分)1. Java是一种______。

A. 编译型语言B. 解释型语言C. 标记语言D. 汇编语言答案:A2. 下列哪个是Java的关键字?A. HelloB. WorldC. classD. Java答案:C3. Java程序的执行入口是:A. main()B. SystemC. run()D. start()答案:A4. Java中,哪个类是所有Java类的父类?A. ObjectB. SystemC. ThreadD. String答案:A5. 以下哪个不是Java的基本数据类型?A. intB. charC. StringD. double答案:C...(此处省略其他选择题,共10题)二、填空题(每空2分,共20分)1. Java语言是面向______的编程语言。

答案:对象2. Java的异常处理机制包括:try、catch和______。

答案:finally3. Java中,用于定义包的关键字是______。

答案:package4. 在Java中,通过______关键字可以创建一个类。

答案:class5. Java中的集合框架包括List、Set和______。

答案:Map...(此处省略其他填空题,共10空)三、简答题(每题10分,共20分)1. 请简述Java的垃圾回收机制。

答案:垃圾回收(Garbage Collection,GC)是Java运行时环境(JRE)的一个特性,用于自动管理内存。

当对象不再被任何引用所引用时,GC就会自动回收这些对象占用的内存,释放给系统。

Java的垃圾回收器会定期运行,但具体的回收时机和方式由JVM决定。

2. 请解释Java中的多态性。

答案:多态性是Java面向对象编程的一个核心概念,它允许一个接口被多个类实现。

在Java中,多态性主要通过继承和接口实现。

一个父类引用可以指向任何子类对象,从而调用子类重写的方法,实现不同的行为。

java大一期末考试试题及答案

java大一期末考试试题及答案

java大一期末考试试题及答案一、选择题(每题2分,共20分)1. Java语言中,哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B2. 下面哪个选项不是Java语言中的访问修饰符?A. publicB. privateC. protectedD. static答案:D3. Java中,哪个类是所有类的父类?A. ObjectB. StringC. ClassD. System答案:A4. 在Java中,下列哪个方法用于将字符串转换为整型?A. parseInt()B. toInt()C. toInteger()D. Integer.parseInt()5. 下列哪个选项不是Java集合框架中的接口?A. ListB. SetC. MapD. Collection答案:D6. Java中,下列哪个关键字用于定义接口?A. interfaceB. classC. abstractD. extends答案:A7. 下列哪个选项不是Java中的异常类型?A. RuntimeExceptionB. IOExceptionC. SQLExceptionD. Error答案:D8. Java中,下列哪个关键字用于定义抽象方法?A. abstractB. staticC. finalD. synchronized答案:A9. 在Java中,下列哪个关键字用于定义内部类?B. nestedC. innerclassD. class答案:D10. 下列哪个选项不是Java中的集合类?A. ArrayListB. LinkedListC. StackD. Vector答案:C二、填空题(每题2分,共20分)1. Java语言中,用于定义类的关键字是________。

答案:class2. Java中,用于定义方法的关键字是________。

答案:void3. 在Java中,用于定义变量的关键字是________。

大三java期末考试试题及答案

大三java期末考试试题及答案

大三java期末考试试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. 在Java中,下列哪个选项是正确的字符串声明?A. String str = "Hello";B. String str = 'Hello';C. String str = "Hello", "World";D. String str = "Hello" + "World";答案:A3. 下列哪个选项是Java中的合法标识符?A. 2variableB. variable2C. _variableD. variable!答案:B4. 在Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 下列哪个选项是Java中正确的继承方式?A. public class Base {}public class Derived extends Base {} B. public class Base {}public class Derived extends Base {} C. public class Base {}private class Derived extends Base {} D. public class Base {}public class Derived extends Base {} 答案:A6. 在Java中,下列哪个选项是正确的数组声明?A. int[] array = new int[5];B. int array[] = new int[5];C. int[] array = new int[5]{1, 2, 3};D. int array[] = new int[5]{1, 2, 3};答案:A7. 在Java中,下列哪个选项是正确的方法重载?A. public int add(int a, int b) {}public int add(int a, int b, int c) {} B. public int add(int a, int b) {}public int add(double a, double b) {} C. public int add(int a, int b) {}public double add(int a, int b) {}D. public int add(int a, int b) {}public int add(int a) {}答案:A8. 在Java中,下列哪个选项是正确的多态性声明?A. Base obj = new Derived();B. Derived obj = new Base();C. Base obj = new Base();D. Derived obj = new Derived();答案:A9. 在Java中,下列哪个选项是正确的接口实现?A. public interface Interface {}public class Implementor implements Interface {} B. public interface Interface {}public class Implementor implements Interface {} C. public interface Interface {}private class Implementor implements Interface {} D. public interface Interface {}public class Implementor implements Interface {} 答案:A10. 在Java中,下列哪个选项是正确的泛型声明?A. List<String> list = new ArrayList<String>();B. List<String> list = new ArrayList<>();C. List list = new ArrayList<String>();D. List<String> list = new ArrayList<Integer>();答案:A二、填空题(每空2分,共20分)1. Java中,使用关键字________来声明一个接口。

大学java期末考试试题和答案

大学java期末考试试题和答案

《Java程序设计基础》期终考试试卷(模拟)(闭卷)一、简单编程题(共50分)在考试文件夹中新建一个应用程序proj1(应用程序的文件夹名称为proj1),按照以下要求编写程序代码。

1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应的其他方法。

(20分)(1)在Person类中定义两个字段:私有访问权限,类型为String的name字段;私有访问权限,类型为int的age字段。

(2)在Person类中定义构造器构造器有两个参数,第一个参数的类型是String,名字为name。

第二个的类型是int,名字是age。

第一个参数的值赋给字段name,第二个参数的值赋给字段age。

(3)为Person类的两个字段分别编写访问器方法,方法名称分别为getName和getAge。

getName方法返回类型为String的name字段的值;getAge方法返回类型为int 的age字段的值。

(4)为Person类的两个字段分别编写修改器方法,方法名称分别为setName和setAge。

setName方法有一个String类型的参数,方法中用该参数来设置字段name的值;setAge方法有一个int类型的参数,方法中用该参数来设置字段age的值,并且保证age 字段的值不能为负数,如果要将age设置为负数则给出错误提示。

(5)为Person类写一个叫做toString的方法,该方法不需要参数,有返回值。

它返回一个字符串,字符串中包含name字段和age字段的值,如果name字段的值是“Helen”,age字段的值是20,则返回字符串:“Name:Helen. Age:20”。

2. 在程序中定义Student类,Student类继承Person类。

(10分)(1)在Student类中除了继承其超类Person的name字段和age字段外,它还有自己的字段String类型的school,该字段的访问权限为私有。

南昌大学JAVA期末复习题及答案

南昌大学JAVA期末复习题及答案

一、填空题1.对象之间可能存在的关系有三种:_包含_、_继承__和_关联_。

2.面向对象的软件开发过程大体可分为__面对对象分析、__面对对象设计_和_面对对象测试__三个阶段。

3.Java语言中实现多态的方法有__继承__、_方法重载_和_成员覆盖__。

4.Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的__跨平台_特点。

5.JAVA语言规定object类是JAVA程序中所有类的父类,当前类的构造方法用this()表示,直接父类的构造方法用super()表示。

6.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet.java。

7.如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe编译该源程序文件将产生3个文件名与类名相同而扩展名为.class的字节码文件。

8.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode 码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。

10.Applet是能够嵌入到HTML格式的文件中,并能够在浏览器中运行的Java。

11.在Java中,线程的模型就是一个CPU、程序代码和数据的封装体。

12.键盘键入字符串并在计算机屏幕上显示,这时的数据源是键盘。

13.JAVA语言是第一个语言本身就支持线程的编程语言,其对线程的支持主要通过ng.Thread类和ng.Runnable接口来实现。

14.设有数组定义:int MyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。

int s=0;for(int i=0;i<MyIntArray.length;i++)if(i%2==1)s+=MyIntArray[i];System.out.println(s);15.JVM是Java Virtual Machine的缩写;AWT是abstrac window toolkit的缩写。

Java大一期末试卷含答案

Java大一期末试卷含答案

java大一期末试卷含答案一、单项选择题1.公有类型常量定义(public static final三个关键字的含义)。

访问控制符public能被所有的类访问static静态的被static修饰的变量为类变量/静态变量。

静态变量又称为类的成员变量,在类中是全局变量,可以被类中的所有方法调用。

final最终的被final修饰的变量为常量,一旦被初始化之后就不能被更改被final修饰的方法不能被子类重写被final修饰的类不能被继承2. JavaApplication过程生成的文件。

生成.class字节码文件3. 方法重载。

public void setA(int a)public void setA(float a)当两个方法名一样时,传参不一样称为方法的重载4. TCP和UDPTCP面向连接;UDP无连接TCP可靠 UDP不可靠应用场合TCP 传输大量数据 UDP传输少量数据TCP慢 UDP快5. Java封装封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节6. 子父类构造方法的定义和调用过程先调用父类构造方法再调用之类构造方法。

当父类有无参构造方法时,如果没有super父类则会默认调用父类无参构造方法7. JFrame类默认布局BorderLayout8. 下面有关JAVA swing的描述swing轻量级移植性好9. Java实现多态三个必要条件:继承、重写、向上转型10. Java语言线程叙述这个好难说11. 关于File类的叙述非流以系统无关的方式表示文件对象属性12. 事件监听器的论述继承监听类或实现监听接口并重写监听方法13数据库的访问接口JDBC二、填空题1. 单重继承和重继承的实现Java是单重继承的但我们可以用接口实现多重继承2. byte、char、float、double占有多少位8 16 32 643. ++x,x++,x--,++x;例如:System.out.println(++x);++x 先让x+1再输出xx++ 先输出x 再让x+1x--,--x同理4. 环境变量与类变量路径环境变量jdk目录。

南昌大学-2004~2005-学年第一学期期末考试试卷

南昌大学-2004~2005-学年第一学期期末考试试卷
{System.out .print ("A");
try {
sleep (500) ;
}
catch (InterruptedException e){}
}
}
}
class Righthand extends Thread
{ public void run()
{ for(int i=l;i<=5;i++)
南昌大学2004~2005 学年第一学期期末考试试卷
试卷编号:( A )卷
课程名称:Java语言程序设计适用班级:计2001级
姓名:学号:班级:专业:
学院:系别:考试日期:2005.1.6
题号










总分
累分人签名
题分
100
得分
一、填空题(每空1分,共20分)
得分
评阅人
1、Java编译器产生的文件的扩展名为.class。
{Lefthand left;
Righthand right;
left=new Lefthand() ;
right=new Righthand ();
left.start ();
right.start () ;
}
}
class Lefthand extends Thread
{public void run()
System.out.println(s4.insert(2,365.25f));
System.out.println(s4,insert(0,"INSERTED"));
char c2[]=new char[s4.1ength()];

java专业期末考试题及答案

java专业期末考试题及答案

java专业期末考试题及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于定义类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个是Java中的合法标识符?A. 3variableB. forC. variable_nameD. ++increase答案:C3. Java中,哪个关键字用于定义方法?A. functionB. methodC. procedureD. void答案:D4. 在Java中,哪个包包含了基本的输入输出类?A. java.utilC. ngD. 答案:B5. Java中的哪个类提供了日期和时间的功能?A. DateB. CalendarC. TimeD. Clock答案:A6. Java中,哪个关键字用于实现多态?A. extendsB. implementsC. overrideD. abstract答案:A7. Java中,哪个关键字用于定义接口?A. classB. interfaceC. packageD. import答案:B8. 下列哪个是Java的访问修饰符?B. privateC. protectedD. 所有以上答案:D9. Java中,哪个关键字用于定义异常?A. errorB. exceptionC. faultD. mistake答案:B10. Java中,哪个关键字用于定义线程?A. threadB. processC. taskD. worker答案:A二、填空题(每空2分,共20分)1. Java是一种______语言,它支持______和______。

答案:面向对象;封装;继承2. Java的字符串类是______。

答案:String3. Java中,用于定义一个类可以被其他类继承的关键字是______。

答案:extends4. Java的异常处理机制中,用于捕获异常的关键字是______。

南昌大学JAVA程序设计试卷A卷

南昌大学JAVA程序设计试卷A卷
(5)private String department;
(6)public Child(){}
(7)public String getValue(){return name;}
(8)public static void main(String args[]){
(9)Parent p=new Parent();)}}
rs.next();
______________________; //开始事务处理,如果发生异常直接执行catch块。填空5
con.setAutoCommit(true);
rs = sql.executeQuery("SELECT * FROM card1 WHERE number='zhangsan'");
rs.next();
违者按舞弊处理;不得自备草稿纸。
考生
承诺
本人知道考试违纪、作弊的严重性,将严格遵守考场纪律,如若违反则愿意接受学校按有关规定处分!
考生签名:
一、单选题:(每空2分,共30分,答案请填入答题表中)
得分
评阅人
单选题答案填写于下表中
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
1、指出正确的表达式语句( )
A. FileInputStream in=new FileInputStream(“file.dat”);
in.skip(5); int c=in.read();
B. FileInputStream in=new FileInputStream(“file.dat”);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学实验报告学生姓名:学号:专业班级:实训类型:□验证□综合□设计□创新实验日期:2018.1.3 实验成绩:一、实验项目名称2017~2018 -1 《java语言程序设计实验》期末大作业二、实验的评分标准实验分为A~F,A为最高,F最低。

F:在规定时间内没有完成所有的实验,而且没有及时提交实验报告,或者实验过程中出现了抄袭复制他人实验代码。

D:能完成实验,但是实验结果出现严重错误,不能体现对教学内容的理解。

C:能基本完成实验,实验结果基本正确。

但是实验内容有较少的错误,提交的实验代码质量一般。

B:能较好的完成实验,实验报告条理清楚,实验代码结构清晰,代码质量较高,及时更正试验中出现的错误,并对运行中一些异常错误进行分析,解释错误产生的原因。

A:能较好的完成实验,实验代码质量高,实验报告完成度高,能在实验完成的基础上,根据个人的理解增加实验的新功能,具有一定的创新能力。

三、实验内容1.8皇后问题(支持手动设置,判断位置,生成解决方案,n皇后扩展,图形界面)当用户没有进行皇后数量设定时,默认为8当用户输入皇后数量太大时,将自动纠正为正确范围,因为本程序提供了n皇后所有的解法,对于太大的n,将影响计算速度。

当在棋盘上点击,添加完N个皇后之后,棋盘会自动锁定,相应的事件被取消,单击Check按钮进行解法的检测,会有相应的弹出框提示解法的正确与否。

单击Reset,进行清盘,可以重新进行皇后的添加。

右上方有两种模式进行选择,PlayMode是玩家自己添加皇后,SoluMode是程序给出解决办法的模式。

单击Last和Next进行解法的查看。

序中存储了所有的解法,这里的底层棋盘采用boolean类型,解法采用了byte类型的数组,进行减少空间的占用退出游戏的一个提醒。

因为程序代码太多,这里给出它的一个源代码结构图(MVC模式):2.轻量级成绩管理系统(采用文件存储数据,支持成绩录入,成绩查询,三种排序下的成绩显示方式)在右边选择不同的功能,主界面会跳转到相应的功能页面。

只有当查询功能被选中时,下面提供的三种排序选择方式才会显示可用。

简单的录入界面,将信息输入后,单击Submit,后台将记录存入文件。

单击Next进行下一条记录的输入。

输入完成后,单击Quit,返回主界面单击成绩查询,刚才被锁定的三个排序选项可以使用了,点击不同的排序方式,中心文本域将出现不同排序方式的内容。

这里给出程序的源代码结构图(MVC模式):3.储蓄管理系统(面向用户!支持开户,存取款功能,查询记录)主界面提供不同的功能,同样的,单击不同的功能,主界面会进行跳转,然后到相应的界面完成功能即可。

开户:正确填写信息后,单击提交。

开户成功,客户文件中会增加一条记录,同时有弹窗提醒。

这里给账户中设置一个默认金额1元。

存款界面:正确填写信息,经办人签名,然后单击Comfirm,进行存款业务的提交。

存款成功后弹窗消息提醒。

取款操作时,会有一个检测的步骤,当取款金额大于了账户拥有的金额,会提示金额非法,不给予取款。

取款成功后也会有相应提醒。

同时在交易文件中会写入一条记录。

进行账户查询时,首先要求用户登录因为系统面向用户,所以合法用户才能查看自己的交易记录和账户信息。

没有提供查看所有账户信息的接口,但是所有记录是存放在一起的!如果用户不存在,或者密码输入错误,会禁止进入查询页面,同时弹窗提醒。

当身份信息验证合格后,跳转到信息界面,展示了该用户的所有信息。

其中:上半部分信息来自客户文件。

下半部分信息来自交易记录文件内容的筛选。

这里是编号为0 的一个测试账户,没有进行任何操作,所以记录为空。

这里给出源代码的结构图(MVC模式):四、实验小结五、实验源代码1.八皇后问题package one.model;import java.util.ArrayList;public class EightQueenModel {public static int N = 8;private boolean[][] arr;private ArrayList<byte[]> solutionList;private int pointer;private static EightQueenModel eightQueenModel = null;public static EightQueenModel getInstance(){if(eightQueenModel == null)eightQueenModel = new EightQueenModel();return eightQueenModel;}public static void setN(int n){N = n;}private EightQueenModel(){arr = new boolean[N][N];solutionList = new ArrayList<>();pointer = 0;}public ArrayList<byte[]> getSolutionList() {return solutionList;}public int getPointer(){return pointer;}public void addPointer(){pointer = (pointer + 1) % solutionList.size();}public void subPointer(){pointer = (pointer - 1 + solutionList.size()) % solutionList.size();}public boolean addQueen(int i, int j){if(i<N && j<N && !arr[i][j]){arr[i][j] = true;return true;}elsereturn false;}public boolean isValid(int k,int j){for(int i =0;i<N;++i){if(arr[i][j]) //conflict with rowreturn false;}for(int i=k-1,m=j-1;i>=0&&m>=0;i--,m--){if(arr[i][m]) //left-upreturn false;}for(int i=k-1,m=j+1;i>=0&&m<=N-1;i--,m++){if(arr[i][m]) //right-upreturn false;}return true;}public void findSolution(int i){if(i==N){byte[] solution = new byte[N];for(byte q = 0; q<N; ++q){for(byte t = 0; t<N; ++t){if(arr[q][t]){solution[q] = t;break;}}}solutionList.add(solution);return;}for(int m=0;m<N;m++){ //recursionif(isValid(i,m)){arr[i][m]=true;findSolution(i+1);arr[i][m]=false; //value of last level}}}public void clear(){arr = new boolean[N][N];pointer = 0;}}package one.model;import javafx.scene.image.Image;public class Queen {private int x;private int y;private Image image;public Queen(int x,int y){this.x = x;this.y = y;this.image = new Image("one/picture/blackQueen.png");}public int getX() {return x;}public int getY() {return y;}public Image getImage() {return image;}}package one.model;import java.util.ArrayList;public class QueenList {private ArrayList<Queen> list;private static QueenList queenList = null;public static QueenList getInstance(){if(queenList == null)queenList = new QueenList();return queenList;}private QueenList(){list = new ArrayList<>();}public void add(Queen q){list.add(q);}public void clear(){list.clear();}public int size(){return list.size();}public Queen get(int i){return list.get(i);}}package one.view;import javafx.scene.canvas.Canvas;import javafx.scene.canvas.GraphicsContext;import javafx.scene.paint.Paint;import one.model.EightQueenModel;public class ChessBoard {public static final int SIZE = 66;public static final int PSIZE = 52;private Canvas canvas;private GraphicsContext gc;private static ChessBoard chessBoard = null;public static ChessBoard getInstance(){if(chessBoard == null)chessBoard = new ChessBoard();return chessBoard;}private ChessBoard(){canvas = new Canvas(SIZE* EightQueenModel.N, SIZE* EightQueenModel.N);gc = canvas.getGraphicsContext2D();drawBoard();}public void updateChessBoard(){gc.clearRect(0,0,SIZE* EightQueenModel.N,SIZE* EightQueenModel.N);canvas.setHeight(SIZE* EightQueenModel.N);canvas.setWidth(SIZE* EightQueenModel.N);}public GraphicsContext getGc() {return gc;}public Canvas getCanvas() {return canvas;}public void drawBoard(){for(int i = 0;i<EightQueenModel.N;i++){for(int j = 0;j<EightQueenModel.N;j++){String color = (i+j)%2 == 0 ? "white" : "dimgray";gc.setFill(Paint.valueOf(color));gc.fillRect(i*SIZE,j*SIZE,SIZE,SIZE);}}}}package one.view;import javafx.geometry.Insets;import javafx.geometry.Pos;import javafx.scene.control.Button;import javafx.scene.control.RadioButton;import javafx.scene.control.TextField;import javafx.scene.control.ToggleGroup;import yout.VBox;import javafx.scene.text.Font;public class ConsoleView {private TextField textField;private Button set;private RadioButton[] modeSelection;private ToggleGroup tgroup;private Button[] function;private VBox console;private Font font;private static ConsoleView consoleView = null;public static ConsoleView getInstance(){if(consoleView == null)consoleView = new ConsoleView();return consoleView;}private ConsoleView(){font = Font.font(20);tgroup = new ToggleGroup();textField = new TextField();textField.setPrefSize(120, 40);textField.setFont(font);set = new Button("Set N");set.setPrefSize(100,28);set.setFont(font);modeSelection = new RadioButton[2];for(int i = 0; i < 2; ++i){modeSelection[i] = new RadioButton();modeSelection[i].setFont(font);modeSelection[i].setToggleGroup(tgroup);}function = new Button[5];for(int i = 0; i < 5; i++){function[i] = new Button();function[i].setFont(font);function[i].setPrefSize(100,28);}function[3].setDisable(true);function[2].setDisable(true);console = new VBox(20);setModule();loadModule();}public Button getSet(){return set;}public TextField getTextField() {return textField;}public RadioButton getMode(int i){return modeSelection[i];}public Button getFunction(int i) {return function[i];}public VBox getConsole() {return console;}private void setModule(){textField.setPromptText("8 ~ 13");modeSelection[0].setText("PlayMode");modeSelection[0].setSelected(true);modeSelection[1].setText("SoluMode");modeSelection[1].setSelected(false);function[0].setText("Check");function[1].setText("Reset");function[2].setText("Last");function[3].setText("Next");function[4].setText("Quit");}private void loadModule(){console.getChildren().addAll(modeSelection);console.getChildren().addAll(textField, set);console.getChildren().addAll(function);VBox.setMargin(textField, new Insets(20,0,0,0));VBox.setMargin(function[0],new Insets(20,0,0,0));console.setAlignment(Pos.CENTER);}}package one.view;import javafx.application.Application;import javafx.geometry.Insets;import javafx.scene.Scene;import yout.BorderPane;import javafx.stage.Stage;import one.control.ChessBoardControl;import one.control.ConsoleControl;public class MainFrame extends Application {public void start(Stage stage){BorderPane borderPane = new BorderPane();//get componentsChessBoard board = ChessBoard.getInstance();ConsoleView consoleView = ConsoleView.getInstance();//put components into right placeborderPane.setCenter(board.getCanvas());borderPane.setRight(consoleView.getConsole());//set marginBorderPane.setMargin(consoleView.getConsole(), new Insets(0,20,0,20));//add all the eventsChessBoardControl.addChessBoardEvents();ConsoleControl.addConsoleEvents();//runScene scene = new Scene(borderPane);stage.setScene(scene);stage.show();}}package one.control;import javafx.scene.image.Image;import one.model.EightQueenModel;import one.model.Queen;import one.model.QueenList;import one.view.ChessBoard;public class ChessBoardControl {private static ChessBoard chessBoard = ChessBoard.getInstance();private static EightQueenModel eightQueenModel = EightQueenModel.getInstance();private static QueenList qlist = QueenList.getInstance();private static int numOfQueen = 0;private ChessBoardControl(){}public static void addChessBoardEvents(){addQueenEvent();}public static void addQueenEvent(){chessBoard.getCanvas().setOnMouseClicked(event -> {if(numOfQueen < EightQueenModel.N){double tempX = event.getX();double tempY = event.getY();int x = (int)(tempX/ ChessBoard.SIZE);int y = (int)(tempY/ ChessBoard.SIZE);//position is validif(eightQueenModel.addQueen(x,y)){Queen queen = new Queen(x,y);qlist.add(queen);drawQueen(queen);numOfQueen++;//make sure only 8 queens are available}}});}public static void cancelAddQueenEvent(){chessBoard.getCanvas().setOnMouseClicked(event -> {});}public static void clearBoard(){chessBoard.updateChessBoard();chessBoard.drawBoard();numOfQueen = 0;}private static void drawQueen(Queen queen){double startX = queen.getX()* ChessBoard.SIZE + (ChessBoard.SIZE - ChessBoard.PSIZE) / 2;double startY = queen.getY()* ChessBoard.SIZE + (ChessBoard.SIZE - ChessBoard.PSIZE) / 2;chessBoard.getGc().drawImage(queen.getImage(),startX,startY, ChessBoard.PSIZE, ChessBoard.PSIZE);}public static void drawSolution(){clearBoard();byte[] pos = eightQueenModel.getSolutionList().get(eightQueenModel.getPointer());for(int i = 0; i<EightQueenModel.N; ++i){double startX = i* ChessBoard.SIZE + (ChessBoard.SIZE - ChessBoard.PSIZE) / 2;double startY = pos[i]* ChessBoard.SIZE + (ChessBoard.SIZE - ChessBoard.PSIZE) / 2;chessBoard.getGc().drawImage(new Image("one/picture/blackQueen.png"), startX, startY, ChessBoard.PSIZE, ChessBoard.PSIZE );}}}package one.control;import javafx.scene.control.Alert;import javafx.scene.control.ButtonType;import one.model.EightQueenModel;import one.model.QueenList;import one.view.ConsoleView;import java.util.Optional;public class ConsoleControl {private static QueenList qlist = QueenList.getInstance();private static EightQueenModel eightQueenModel = EightQueenModel.getInstance();private static ConsoleView consoleView = ConsoleView.getInstance();public static void addConsoleEvents(){modeSelectionEvent();setScaleEvent();checkEvent();resetEvent();stepEvent();quitEvent();}private static void modeSelectionEvent(){consoleView.getMode(0).setOnAction(event -> {ChessBoardControl.addChessBoardEvents();clearAll();consoleView.getFunction(0).setDisable(false);consoleView.getFunction(1).setDisable(false);consoleView.getFunction(2).setDisable(true);consoleView.getFunction(3).setDisable(true);});consoleView.getMode(1).setOnAction(event -> {generateSolution();ChessBoardControl.cancelAddQueenEvent();clearAll();consoleView.getFunction(2).setDisable(false);consoleView.getFunction(3).setDisable(false);consoleView.getFunction(0).setDisable(true);consoleView.getFunction(1).setDisable(true);}private static void setScaleEvent(){consoleView.getSet().setOnAction(event -> {getScale();//change the scale of the gameclearAll();});}private static void resetEvent(){consoleView.getFunction(1).setOnAction(event -> {clearAll();});}private static void checkEvent(){consoleView.getFunction(0).setOnAction(event -> {boolean valid = false;if(qlist.size() == 8) {for (int i = 0; i < qlist.size(); ++i) {if (eightQueenModel.isValid(qlist.get(i).getX(), qlist.get(i).getY()))valid = true;}}showInfo(valid);});}private static void quitEvent(){Alert alert = new Alert(Alert.AlertType.CONFIRMATION);alert.setTitle("Confirmation");alert.setHeaderText("");alert.setContentText("Do you want to quit the game?");consoleView.getFunction(4).setOnAction(event -> {Optional<ButtonType> result = alert.showAndWait();if(result.isPresent() && result.get() == ButtonType.OK){System.exit(0);}});}private static void clearAll(){ChessBoardControl.clearBoard();//draw a new chess boardqlist.clear();eightQueenModel.clear();}private static void showInfo(boolean valid){String result = "The result is " + (valid ? "Correct!" : "Incorrect!");Alert a = new Alert(RMATION);a.setTitle("Information");a.setHeaderText("Checking result...");a.setContentText(result);a.showAndWait();}private static void generateSolution(){eightQueenModel.findSolution(0);}private static void stepEvent(){consoleView.getFunction(2).setOnAction(event -> {eightQueenModel.subPointer();ChessBoardControl.drawSolution();consoleView.getFunction(3).setOnAction(event -> {eightQueenModel.addPointer();ChessBoardControl.drawSolution();});}private static void getScale(){int scale = 8;String s = consoleView.getTextField().getText();if(!s.equals("") && Integer.parseInt(s) > 7 && Integer.parseInt(s) < 14)scale = Integer.parseInt(s);EightQueenModel.setN(scale);}}======================================================================================== ======2.成绩管理系统package two.model;import java.io.Serializable;public class StuInfo implements Serializable{private String name;private String id;private double score;public StuInfo(String name, String id){ = name;this.id = id;}public StuInfo(String name, String id, Double score){this(name, id);this.score = score;}public String getName() {return name;}public String getId() {return id;}public Double getScore() {return score;}@Overridepublic String toString() {return "[ 姓名: " + + " 学号: " + this.id + " 成绩: " + this.score + " ]\n";}}package two.model;import parator;public class Comparators {public static class nameComparator implements Comparator<StuInfo> {@Overridepublic int compare(StuInfo s1, StuInfo s2){return s1.getName().compareTo(s2.getName());}};public static class idComparator implements Comparator<StuInfo> { @Overridepublic int compare(StuInfo s1, StuInfo s2) {return s1.getId().compareTo(s2.getId());}};public static class scoreComparator implements Comparator<StuInfo> { @Overridepublic int compare(StuInfo s1, StuInfo s2) {if(s1.getScore() == s2.getScore())return 0;elsereturn (s1.getScore() < s2.getScore()) ? 1 : -1;}};}package two.view;import javafx.geometry.Pos;import javafx.scene.control.Button;import javafx.scene.control.RadioButton;import javafx.scene.control.ToggleGroup;import yout.VBox;import javafx.scene.text.Font;public class Console {private VBox vBox;private Button[] funcs;private RadioButton[] selecs;private ToggleGroup toggleGroup;private Font font;private static Console console = null;public static Console getConsole(){if(console == null)console = new Console();return console;}private Console(){vBox = new VBox(20);funcs = new Button[3];selecs = new RadioButton[3];toggleGroup = new ToggleGroup();font = Font.font(16);setModule();loadModule();}public VBox getvBox() {return vBox;}public Button getFunc(int i){return funcs[i];}public RadioButton getSelecs(int i){return selecs[i];}private void setModule(){for(int i = 0; i<3; ++i){funcs[i] = new Button();funcs[i].setPrefSize(88,32);funcs[i].setFont(font);selecs[i] = new RadioButton();selecs[i].setToggleGroup(toggleGroup);selecs[i].setFont(font);selecs[i].setDisable(true);}funcs[0].setText("成绩录入");funcs[1].setText("成绩查询");funcs[2].setText("退出系统");selecs[0].setText("姓名排序");selecs[1].setText("学号排序");selecs[2].setText("成绩排序");}private void loadModule(){vBox.getChildren().add(funcs[0]);vBox.getChildren().add(funcs[1]);vBox.getChildren().addAll(selecs);vBox.getChildren().add(funcs[2]);vBox.setAlignment(Pos.CENTER);;}}package two.view;import javafx.geometry.Pos;import javafx.scene.canvas.Canvas;import javafx.scene.canvas.GraphicsContext;import javafx.scene.control.*;import yout.GridPane;import javafx.scene.text.Font;public class InfoCenter {//scene 1private Canvas canvas;private GraphicsContext gc;//scene 2private GridPane gridPane;private Label[] labels;private TextField[] textFields;private Button[] buttons;//scene 3private TextArea textArea;private static InfoCenter infoCenter= null;public static InfoCenter getInfoCenter(){if(infoCenter == null)infoCenter = new InfoCenter();return infoCenter;}private InfoCenter() {canvas = new Canvas();gc = canvas.getGraphicsContext2D();gridPane = new GridPane();labels = new Label[3];textFields = new TextField[3];buttons = new Button[3];textArea = new TextArea();setModule();loadModule();}public Canvas getCanvas() {return canvas;}public TextArea getTextArea() {return textArea;}public GridPane getGridPane() {return gridPane;}public Button getButton(int i){return buttons[i];}public TextField getTextField(int i){return textFields[i];}private void setModule(){for(int i = 0; i<3; ++i){labels[i] = new Label();labels[i].setPrefSize(80,36);labels[i].setFont(Font.font(18));}labels[0].setText("Name:");labels[1].setText("Id:");labels[2].setText("Score:");for(int i = 0; i<3; ++i){textFields[i] = new TextField();textFields[i].setPrefSize(150,36);}for(int i = 0; i<3; ++i){buttons[i] = new Button();buttons[i].setPrefSize(80,32);buttons[i].setFont(Font.font(14));}buttons[0].setText("Summit");buttons[1].setText("Next");buttons[2].setText("Quit");canvas.setWidth(500);canvas.setHeight(400);gridPane.setPrefSize(500,400);textArea.setPrefSize(500,400);textArea.setFont(Font.font(18));}private void loadModule(){gc.setFont(Font.font(50));gc.fillText("Java成绩管理系统",60,190);gc.setFont(Font.font(20));gc.fillText("V-1.0",410,220);gridPane.setVgap(36);gridPane.setHgap(20);gridPane.setAlignment(Pos.CENTER);for(int i = 0; i<3; i++){gridPane.add(labels[i],0,i);gridPane.add(textFields[i],1,i,2,1);gridPane.add(buttons[i],i,3);}}}package two.view;import javafx.application.Application;import javafx.geometry.Insets;import javafx.scene.Scene;import yout.BorderPane;import javafx.stage.Stage;import two.control.ConsoleControl;import Control;public class MainFrame extends Application{private static BorderPane borderPane = new BorderPane();public static BorderPane getBorderPane(){return borderPane;}public void start(Stage stage){InfoCenter infoCenter = InfoCenter.getInfoCenter();Console console = Console.getConsole();borderPane.setCenter(infoCenter.getCanvas());borderPane.setRight(console.getvBox());BorderPane.setMargin(infoCenter.getCanvas(), new Insets(20,20,20,20));BorderPane.setMargin(console.getvBox(), new Insets(0,16,0,0));ConsoleControl.addFunctionEvents();InfoControl.addInfoEvents();Scene scene = new Scene(borderPane);stage.setScene(scene);stage.show();}}package two.control;import two.model.StuInfo;import Center;public class InfoControl {private static InfoCenter infoCenter = InfoCenter.getInfoCenter();public static void addInfoEvents(){summit();next();quit();}private static void addRecords(){String name = infoCenter.getTextField(0).getText();String id = infoCenter.getTextField(1).getText();String score = infoCenter.getTextField(2).getText();StuInfo stuInfo;if(score.equals(""))stuInfo = new StuInfo(name, id);elsestuInfo = new StuInfo(name, id, Double.parseDouble(score));FileOperation.AddRecords(stuInfo);}private static void summit(){infoCenter.getButton(0).setOnAction(event -> {addRecords();for(int i = 0; i<3; ++i){infoCenter.getTextField(i).setDisable(true);}});}private static void next(){infoCenter.getButton(1).setOnAction(event -> {for(int i = 0; i<3; ++i){infoCenter.getTextField(i).setDisable(false);infoCenter.getTextField(i).clear();}});}private static void quit(){infoCenter.getButton(2).setOnAction(event -> {ConsoleControl.changeSceneToCanvas();});}}package two.control;import two.model.StuInfo;import java.io.*;import java.util.ArrayList;public class FileOperation {private static File file = new File("src/two/files/records.txt");public static void AddRecords(StuInfo stuInfo){if(!file.exists()){try {file.createNewFile();} catch (IOException e) {System.out.println("Fail to create new files");e.printStackTrace();}}try(FileOutputStream fos = new FileOutputStream(file,true);ObjectOutputStream oos = new ObjectOutputStream(fos) ){oos.writeObject(stuInfo);}catch (FileNotFoundException e){e.printStackTrace();}catch (IOException e){e.printStackTrace();}}public static ArrayList<StuInfo> getRecords(){if(!file.exists()){System.out.println("No records yet");return null;}else{ArrayList<StuInfo> list = new ArrayList<>();StuInfo temp = null;try(FileInputStream fis = new FileInputStream(file)){ObjectInputStream ois = null;while (fis.available() > 0){try {ois = new ObjectInputStream(fis);temp = (StuInfo) ois.readObject();list.add(temp);} catch (ClassNotFoundException e) {e.printStackTrace();}}}catch (IOException e){e.printStackTrace();}return list;}}}package two.control;import javafx.geometry.Insets;import javafx.scene.control.Alert;import javafx.scene.control.ButtonType;import yout.BorderPane;import parators;import two.model.StuInfo;import two.view.Console;import Center;import two.view.MainFrame;import java.util.ArrayList;import java.util.Optional;public class ConsoleControl {private static InfoCenter infoCenter = InfoCenter.getInfoCenter();private static Console console = Console.getConsole();public static void addFunctionEvents(){addRecord();inquireRc();quit();selecEvents();}public static void changeSceneToCanvas(){MainFrame.getBorderPane().setCenter(infoCenter.getCanvas());BorderPane.setMargin(infoCenter.getCanvas(), new Insets(20,20,20,20));}private static void changeSceneToGrid(){MainFrame.getBorderPane().setCenter(infoCenter.getGridPane());BorderPane.setMargin(infoCenter.getGridPane(), new Insets(20,20,20,20));}private static void changeSceneToText(){MainFrame.getBorderPane().setCenter(infoCenter.getTextArea());BorderPane.setMargin(infoCenter.getTextArea(), new Insets(20,20,20,20));}private static void addRecord(){console.getFunc(0).setOnAction(event -> {setSelecsDisable(true);changeSceneToGrid();});}private static void inquireRc(){console.getFunc(1).setOnAction(event -> {setSelecsDisable(false);changeSceneToText();});}private static void quit(){Alert alert = new Alert(Alert.AlertType.CONFIRMATION);alert.setTitle("Confirmation");alert.setHeaderText("");alert.setContentText("Do you want to quit the system?");console.getFunc(2).setOnAction(event -> {Optional<ButtonType> result = alert.showAndWait();if(result.isPresent() && result.get() == ButtonType.OK){System.exit(0);}});}private static void setSelecsDisable(boolean choice){for(int i = 0; i<3; ++i){console.getSelecs(i).setDisable(choice);}}private static void selecEvents(){console.getSelecs(0).setOnAction(event -> {ArrayList<StuInfo> list = FileOperation.getRecords();list.sort(new Comparator());showInfo(list);});console.getSelecs(1).setOnAction(event -> {ArrayList<StuInfo> list = FileOperation.getRecords();list.sort(new Comparators.idComparator());showInfo(list);});console.getSelecs(2).setOnAction(event -> {ArrayList<StuInfo> list = FileOperation.getRecords();list.sort(new Comparators.scoreComparator());showInfo(list);});}private static void showInfo(ArrayList<StuInfo> list){infoCenter.getTextArea().clear();for(StuInfo stuInfo : list){infoCenter.getTextArea().appendText(stuInfo.toString());}}}============================================================================================== ======3.储蓄管理系统package three.model;import java.io.Serializable;public class Client implements Serializable{private static int num = 0;private int id;private String name;private String passWord;private String address;private String tel;private double money;public Client(String name, String passWord, String address, String tel){ = name;this.passWord = passWord;this.address = address;this.tel = tel;this.money = 1;this.id = num++;}@Overridepublic String toString(){return String.format("编号:%d\n姓名:%s\n密码:%s\n地址:%s\n电话:%s\n总金额:¥%.2f\n", id, name, passWord, address, tel, money);}public String getName() {return name;}public String getPassWord() {return passWord;}public int getId() {return id;}public String getAddress() {return address;}public String getTel() {return tel;}public double getMoney() {return money;}public void deposit(double money){this.money += money;}public boolean withDraw(double money){boolean withDrawRes;if(this.money < money)withDrawRes = false;else{this.money -= money;withDrawRes = true;}return withDrawRes;}}package three.model;import java.io.Serializable;。

相关文档
最新文档