Java作业 河北工业大学
- 格式:doc
- 大小:1.32 MB
- 文档页数:51
网络编程技术课程内容第一章Java语言概述1、Java语言特点:简单、完全面向对象、平台无关、多线程、可靠、安全、自动垃圾回收机制;2、Java程序开发流程:安装JDK、编写源代码、javac编译生成字节码文件、运行字节码文件;3、Java两种程序:application:应用程序,编译:javac 源文件名;运行:java 字节码文件(含主函数)Applet:嵌入网页中运行的小应用程序,需有相应的html文件;4、一个完整的Java源程序结构:package语句:该部分至多只有一句,必须放在源程序的第一句;import:该部分可以有若干import语句或者没有,必须放在所有的类定义之前;public classDefinition公共类定义部分,至多只有一个公共类的定义,Java语言规定该Java源程序的文件名必须与该公共类名完全一致;classDefinition类定义部分,可以有0个或者多个类定义;interfaceDefinition接口定义部分,可以有0个或者多个接口定义。
第二章Java语言基础1、Java的关键字,常量、变量,简单数据类型,运算符、表达式常量:final基本数据类型:8中基本数据类型:boolean、char、byte、int、short、long、float、double带小数点数如3.13默认为double类型,整数默认int型class、interface、数组都算引用/参考数据类型运算符:判等(= =)只能对基本数据类型,equals方法;短路运算符:&&、||表达式:强制类型转换、自动类型转换2、主要的Java语句结构:分支、循环、转移1)分支:if else、及if else嵌套实现多分支switch语句:多分支switch(表达式){case 常量1:语句1;[break;]case 常量2:语句2;[break;]……case 常量n:语句n;[break;][default:缺省处理语句;break;]}case与break联用,保证多路分支的正确实现。
【关键字】考试一、选择题1.Java语言与其它语言相比,独有的特点是(C)A、面向东西B、多线程C、平台无关D、可扩展性2.下面哪个不是Java语言的关键字()A、defaultB、numberC、abstractD、package3.下面语句正确的是()A、x+1=5B、i++=1C、a++b=1D、x+=14、设A为已知定义的类名,下列声明A类的东西a的语句A、float A aB、public a=A()C、A a=new int ()D、A a=new A()5、如果类的方法没有返回值,该方法的返回类型应是:A、voidB、nullC、abstractD、default6、下列对继承的说法,正确的是()A、子类能继承父类的所有方法和状态B、子类继承父类的非私有方法和状态C、子类只能继承父类的public方法和状态D、子类只能继承父类的方法7、能单独和finally语句一起使用的块是A、tryB、catchC、throwD、throws8、下列类在多重catch中同时出现时,哪一个异常类应最后一个列出()A、ArithmeticExceptionB、NumberFormatExceptionC、ExceptionD、ArrayIndexOutOfBoundException9、以下对选择语句描述错误的是A、根据某一条件重复执行一部分代码直到满足终止条件为止B、可以根据条件控制程序流程,改变程序执行的顺序C、选择语句可以嵌套使用D、当条件满足时就会执行相应的语句10、为初始化其成员变量,每个类都定义的方法是A、方法B、main()方法C、构造方法D、东西11、为Test类的一个无形式参数无返回值的方法method书写方法头,使得使用类名Test作为前缀就可以调用它,该方法头的形式为A、、static void method()B、public void methodC、、protected void method()D、abstract void method()12、下面是findSum(int m.int n)方法的定义,方法调用findSum(1,5)的返回结果是Int findSum(int m.int n)Int sum=0;For(int i=m;i<=n;i++)Sum+=i;A、1B、5C、10D、1513、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以A、让该类不使用任何关键字。
一、(1)题目设计一个Stock的类,这个类包括:一个名为symbol的字符串数据域表示股票代码一个名为name的字符串数据域表示股票名字一个名为previousClosingPrice的double型数据域,它存储的是前一日的股票值一个名为currentPrice的double型数据域,它存储的是当时的股票值。
创建一支有特定代码和名字的股票的构造方法。
一个名为getChangePercent()的方法返回从previousClosingPrice变化到currentPrice的百分比。
实现这个类,编写一个测试程序,创建一个Stock对象,它的股票代码是ORCL股票名字为Oracle Corporation,前一日收盘价是。
设置新的当前值为,然后显示市值变化的百分比。
(2)UML图(3)代码package class Stock {private String symbol="";private String name;private double previousClosingPrice;private double currentPrice;public Stock() {symbol="";name="";previousClosingPrice=;currentPrice=;}public Stock(String newsymble, String newname) { symbol=newsymble;name=newname;}public String getsymbol(){return symbol;}public String getname(){return name;}public double getChangPercent() {return currentPrice/previousClosingPrice;}}package class test1 {public static void main(String[] args){Stock s1=new Stock();Stock s=new Stock("ORCL","Oracle Corporation");"The symbol is:"+());"The name is:"+());"The ChangPercent is:"+());}}(4)运行结果The symbol is: ORCLThe name is: Oracle CorporationThe ChangPercent is:二、(1)题目设计一个名为Fan的类表示风扇。
河北工业大学软件工程课程实验实验报告题目:设备管理系统专业:计算机科学与技术班级:计C063组:595软件开发团队组长:李伟成员:刘伟王建宏魏然葛晓虎瞿建华指导教师:张健楠完成日期:目录1项目开发计划书 (2)2软件需求规格说明书 (7)3设计规格说明书 (13)4 源程序清单 (23)5 测试报告 (31)6 用户手册 (35)一、项目开发计划书完成人:李伟1.引言(Introduction)1、编写目的本系统设计是在windows环境的支持下运行的,采用窗口式执行文件,操作实用、简易、方便、直观。
本着高效、全面、安全的设计思想,实现公司设备的有效管理。
2、项目背景开发系统名称:设备管理系统。
项目任务提出者:张健楠。
开发者:李伟、刘伟、魏然、王建宏、葛晓虎、瞿建华。
3、参考资料/Java/54173.htm软件工程,程成、陈霞译,机械工业出版社,2008.11.1项目概述(Project Summary)实现公司设备的有效管理、维护记录。
购入新设备,登记设备购入时间、名称、型号、种类、内部编号、所属部门、存放位置等。
设备转借时,记录借用部门、经手人员、用途、拟还日期等。
设备故障时,记录故障情况、维修情况(时间、人员、结果)等。
设备报废时,记录报废原因、批准人员、经手人员、处理方式等。
对设备管理人员和使用人员提供各种设备处理的按部门、设备类型、处理日期等查询和修改等功能。
1.2 术语定义(Terms Glossary)购入新设备:即公司由于需要,而从别的地方买入新的设备。
设备转借:即别的公司或个人由于需要或其它原因从本公司借走设备。
设备故障:即设备由于自身原因不能正常工作了。
设备报废:即设备不但不能正常工作,而且不能修复了。
设备型号:即标识设备大小、类型、功能等信息的特定标识。
内部编号:设备在购入后公司都会给予一个公司内部的编号,即内部编号。
设备管理人员:即公司内部专门负责对公司设备进行管理的人员。
实验一:Java基本语法【实验目的】了解Java的数据类型,掌握各种变量的声明方式,理解运算符的优先级,掌握Java基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
【实验要求】1、编写一个声明Java不同数据类型变量的程序。
2、编写使用不同选择结构的程序。
3、编写使用不同循环结构结构的程序。
【实验内容】1、声明不同数据类型变量public class SimpleType{public static void main(String args[]){byte b=0x55;short s=0x55f;int i=1000000;long l=0xfffl;char c='c';float f=0.23F;double d=0.7E-3;boolean bool=true;System.out.println("b="+b);System.out.println("s="+s);System.out.println("i="+i);System.out.println("l="+l);System.out.println("c="+c);System.out.println("f="+f);System.out.println("d="+d);System.out.println("bool="+bool);}}2、(1)使用选择结构public class TestIf{public static void main(String args[]){boolean leap;int year=2005;if((year%4==0&&year%100!=0)||(year%400==0))//方法一System.out.println(year+"年是闰年");elseSystem.out.println(year+"年不是闰年");year=2008;//方法二if(year%4!=0)leap=false;else if(year%100!=0)leap=true;else if(year%400!=0)leap=false;elseleap=true;if(leap==true)System.out.println(year+"年是闰年");elseSystem.out.println(year+"年不是闰年");year=2050;//方法三if(year%4==0){if(year%100==0){if(year%400==0)leap=true;elseleap=false;}elseleap=false;}elseleap=false;if(leap==true)System.out.println(year+"年是闰年");elseSystem.out.println(year+"年不是闰年");}}(2)使用switch语句public class SwitchTest{public static void main(String args[])throws java.io.IOException {char a;System.out.println("Enter a number from 1--3:");a=(char)System.in.read();switch(a){case'1':System.out.println("win a Car!");break;case'2':System.out.println("picked the goat");break;case'3':System.out.println("get to keep your 100");break;default:System.out.println("entry");}}}3.使用循环结构(1)使用for语句public class TestFor{public static void main(String args[])throws java.io.IOException{ int fahr,cels;System.out.println("Celsius Fahrenheit");for(cels=0;cels<=100;cels+=5){fahr=cels*9/5+32;System.out.println(cels+" "+fahr);}char a;outer://this is the label for the outer loopfor(int i=0;i<10;i++)for(int j=0;j<10;j++){a=(char)System.in.read();if(a=='b')break outer;if(a=='c')continue outer;}}}2)使用while语句A、import java.io.*;public class TestWhile{public static void main(String args[])throws IOException{char ch;System.out.println("按1/2/3数字键可得大奖!");System.out.println("按空格键后回车可推出循环操作。
实验三面向对象程序设计计C104 李云霄一、类的定义及使用[修饰符] class 类名[extends 父类名] [implements 接口列表] {// 类体}说明:1)类修饰符分类:访问修饰符:缺省(默认方式)、public;非访问修饰符:abstract、final ,不能同时修饰一个类2)extends : 实现继承3)implements : 实现接口class Rectangle1{private int width;private int length;Rectangle1( int i ,int j ){ length=30;width=20; }void Rectangle(int l,int w){ length=l;width=w; }Rectangle1(Rectangle1 r){ width=r.getWidth();length=r.getLength();}int getWidth(){ return width; }int getLength(){ return length;}}class CRctngle{ public static void main(String args[]){ Rectangle1 x1=new Rectangle1(0,0);Rectangle1 x2=new Rectangle1(50,40);Rectangle1 x3=new Rectangle1(x1);System.out.println(x1.getLength());System.out.println(x1.getWidth());System.out.println(x2.getLength());System.out.println(x2.getWidth());System.out.println(x3.getLength());System.out.println(x3.getWidth());}}2、程序功能:通过两个类StaticDemo、TestDemo说明静态变量/方法与实例变量/方法的区别,程序源代码如下。
操作系统实验指导书实验一进程控制与描述一、实验目的通过对Windows XP编程,进一步熟悉操作系统的基本概念,较好地理解Windows XP的结构。
通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows XP进程的“一生”。
二、实验环境硬件环境:计算机一台,局域网环境;软件环境:Windows XP,Visual C++ 6.0专业版或企业版。
三、实验内容和步骤第一部分Windows 编程Windows XP可以识别的程序包括控制台应用程序、GUI应用程序和服务应用程序。
本实验中主要用到的是控制台应用程序和GUI应用程序。
1、简单的控制台应用程序创建一个名为“Hello”的应用程序, 在“开始”菜单中单击“程序”-“附件”-“记事本”命令,将程序键入记事本中,并把代码保存为1-1.cpp。
程序1-1 Windows XP的GUI应用程序#include <iostream>void main(){Std::cout<<”Hello, Windows XP”<<std::endl;}在“命令提示符”窗口运行CL.EXE,产生1-1.EXE文件:C:\> CL 1-1.cpp运行1-1.EXE程序,运行结果是:(如果运行不成功,则可能的原因是什么?)_2、GUI应用程序Windows XP Professional下的GUI应用程序,使用Visual C++编译器创建一个GUI应用程序,代码中包括了WinMain()方法,该方法GUI类型的应用程序的标准入口点。
在“开始”菜单中单击“程序”-“附件”-“记事本”命令,将程序键入记事本中,并把代码保存为1-2.cpp。
程序1-2 Windows XP的GUI应用程序// msgbox项目# include <windows.h> // 标准的include// 告诉连接器与包括MessageBox API函数的user32库进行连接# pragma comment(lib, “user32.lib” )// 这是一个可以弹出信息框然后退出的筒单的应用程序int APIENTRY WinMain(HINSTANCE /* hInstance */ ,HINSTANCE /* hPrevInstance */ ,LPSTR /* lpCmdLine */ ,int /* nCmdShow */ ){:: MessageBox(NULL, // 没有父窗口“Hello, Windows 2000” , // 消息框中的文本“Greetings”, // 消息框标题MB_OK) ; // 其中只有一个OK按钮// 返回0以便通知系统不进入消息循环return(0) ;}也可以利用任何其他文本编辑器键入程序代码,如果这样,例如使用WORD来键入和编辑程序,则应该注意什么问题?保存时将文件保存为“.cpp”的c++文件在“命令提示符”窗口运行CL.EXE,产生1-2.EXE文件:C:\> CL 1-2.cpp在程序1-2的GUI应用程序中,首先需要Windows.h头文件,以便获得传送给WinMain() 和MessageBox() API函数的数据类型定义。
2022年河北工业大学软件工程专业《操作系统》科目期末试卷A(有答案)一、选择题1、下列选项中,会导致用户进程从用户态切换到内核态的操作是()I.整数除以零 II.sin函数调用 III.read系统调用A.仅I、IIB.仅I、IIIC.仅II、IIID. I、II和II2、假定下列指令已装入指令寄存器,则执行时不可能导致CPU从用户态变为内核态(系统态)的是()。
A.DIV R0,R1;(R0)/(R1)→ROB.INT n;产生软中断C.NOT RO;寄存器R0的内容取非D.MOV RO,addr;把地址 addr处的内存数据放入寄存器RO中3、设有n个进程共用一个相同的程序段,若每次最多允许m个进程(mSn)同时进入,临界区,则信号量的初值为()。
A.nB.mC.m-nD.-m4、下列选项中,降低进程优先权级的合理时机是()。
A.进程的时间片用完B.进程刚完成I/O,进入就绪队列C.进程长期处于就绪队列D.进程从就绪状态转为执行状态5、一次性分配所有资源的方法可以预防死锁的发生,这种方法破坏的是产生死锁的4个必要条件中的()。
A.互斥条件B.占有并请求C.不剥夺条件D.循环等待6、如果I/O设备与存储设备间的数据交换不经过CPU来完成,则这种数据交换方式是()。
A.程序查询方式B.中断方式C.DMA方式D.外部总线方式7、系统管理设备是通过一些数据结构来进行的,下前的()不属于设备管理数据结构。
A.FCBB.DCTC.SDTD.COCT8、现代操作系统中,文件系统都有效地解决了重名(即允许不同用户的文件可以具有相同的文件名)问题。
系统是通过()来实现这一功能的。
A.重名翻译结构B.建立索引表C.树形目录结构D.建立指针9、文件系统中设立打开(open)系统调用的卡要目的是()。
A.把文件从辅存读到内存B.把文件的控制信息从辅存读到内存C.把文件的FAT表信息从辅存读到内存D.把磁盘文件系统的控制管理信息从辅存读到内存10、假设一个“按需调页”虚拟存储空间,页表由寄存器保存。
河北工业大学软件工程课程实验实验报告题目:设备管理系统专业:计算机科学与技术班级:计C063组:595软件开发团队组长:李伟成员:刘伟王建宏魏然葛晓虎瞿建华指导教师:张健楠完成日期:目录1项目开发计划书 (2)2软件需求规格说明书 (7)3设计规格说明书 (13)4 源程序清单 (23)5 测试报告 (31)6 用户手册 (35)一、项目开发计划书完成人:李伟1.引言(Introduction)1、编写目的本系统设计是在windows环境的支持下运行的,采用窗口式执行文件,操作实用、简易、方便、直观。
本着高效、全面、安全的设计思想,实现公司设备的有效管理。
2、项目背景开发系统名称:设备管理系统。
项目任务提出者:张健楠。
开发者:李伟、刘伟、魏然、王建宏、葛晓虎、瞿建华。
3、参考资料软件工程,程成、陈霞译,机械工业出版社,2008.11.1项目概述(Project Summary)实现公司设备的有效管理、维护记录。
购入新设备,登记设备购入时间、名称、型号、种类、内部编号、所属部门、存放位置等。
设备转借时,记录借用部门、经手人员、用途、拟还日期等。
设备故障时,记录故障情况、维修情况(时间、人员、结果)等。
设备报废时,记录报废原因、批准人员、经手人员、处理方式等。
对设备管理人员和使用人员提供各种设备处理的按部门、设备类型、处理日期等查询和修改等功能。
1.2 术语定义(Terms Glossary)购入新设备:即公司由于需要,而从别的地方买入新的设备。
设备转借:即别的公司或个人由于需要或其它原因从本公司借走设备。
设备故障:即设备由于自身原因不能正常工作了。
设备报废:即设备不但不能正常工作,而且不能修复了。
设备型号:即标识设备大小、类型、功能等信息的特定标识。
内部编号:设备在购入后公司都会给予一个公司内部的编号,即内部编号。
设备管理人员:即公司内部专门负责对公司设备进行管理的人员。
1.3 相关文档(Related Documents)当该文档变更时,可能对其他文档产生影响,受影响的文档叫相关文档,需将它们列出。
Java程序设计实验报告班级:网络 151 姓名:徐毅民学号: 153299实验一Java语言基础一.实验目的掌握Java语言的基本语法、基本数据类型的使用方法,掌握从键盘输入基本类型的数据,熟练运用分支、循环等语句控制程序流程。
二.实验内容1、编写一个Java应用程序,用户从键盘输入十名学生的信息,至少包括姓名、年龄、出生年月日、java课程实验成绩,成绩使用浮点数,年龄使用整型,程序将输出年龄、java课程实验成绩的平均值。
提示:Scanner对象调用nextDouble()或nextFloat()可以获取用户从键盘输入的浮点数。
2、使用Arrays类实现数组排序:使用java.util包中的Arrays类的类方法public static void sort(double a[])可以把参数a指定的double 类型数组按升序排序;public static void sort(double a[], int start , int end)可以把参数a指定的double类型数组中从位置start到end位置的值按升序排序。
给定数组int a[]={12,34,9,-23,45,6,90,123,19,45,34}; 从键盘读入一个整数,使用折半查找判断该整数是否在这个数组中,并将结果输出。
3、输出100~200之间的所有素数。
4、采用for循环求1至1000之内的所有“完全数”。
所谓“完全数”是指一个数,恰好等于它的因子之和。
例如,6是一个完全数,因为6的因子为1、2、3,而6=1+2+3。
5、已知XYZ+YZZ=532,其中X、Y和Z为数字,编程求出X,Y和Z的值。
三.实验步骤实验1以最终学生信息管理系统为准实验2代码如下:import java.util.Arrays;import java.util.Scanner;public class test2 {public static void printDoubleArray(double a[]) {for(int i = 0; i < a.length; i++) {System.out.print(a[i]+" ");}System.out.println();}public static void printfIntegerArray(int a[]) {for(int i = 0; i < a.length; i++) {System.out.print(a[i]+" ");}System.out.println();}public static void main(String[] args) {double a[] = {2.6, 4.6, 2, 8, 888, 569.5, 454.5, 100, -84.5, 45}; System.out.println("原double数组a:"); printDoubleArray(a);Arrays.sort(a, 0, a.length/2);System.out.println("排序double数组a前一半:"); printDoubleArray(a);Arrays.sort(a);System.out.println("排序整个double数组a:"); printDoubleArray(a);int b[] = {12, 34, 9, -23, 45, 6, 90, 123, 19, 45, 34}; Arrays.sort(b);System.out.println("排序整个double数组b:"); printfIntegerArray(b);Scanner in = new Scanner(System.in);System.out.print("输入要查询的数字:");int key = in.nextInt();int i = Arrays.binarySearch(b, key);if(i < 0 || i >= b.length) {System.out.println(i+"输入数字不在数组中!");} else {System.out.println(b[i]+"在数组b第"+(i+1)+"位!");}}}实验3代码如下:public class test3 {public static boolean isPrime(int x) {if(x == 1) return false;int s = (int)Math.sqrt(x);for(int i = 2; i <= s; i++) {if(x%i == 0) return false;}return true;}public static void main(String[] args) {int cnt = 0;for(int i = 100; i < 200; i++) {if(isPrime(i)) {cnt++;System.out.printf("%4d", i);}if(isPrime(i) && cnt%10 == 0) System.out.println();}}实验4代码如下:public class test4 {public static boolean isCompleteNumber(int x) { int sum = 0;for(int i = 1; i < x; i++) {if(x%i == 0) sum += x;}return x == sum;}public static void main(String[] args) {int cnt = 0;for(int i = 1; i <= 1000; i++) {if(isCompleteNumber(i)) {cnt++;System.out.printf("%4d", i);}if(isCompleteNumber(i) && cnt%10 == 0)System.out.println();}}实验5代码如下:public class test5 {public static void main(String[] args) {for(int x = 0; x < 10; x++) {for(int y = 0; y < 10; y++) {for(int z = 0; z < 10; z++) {if(100*x+110*y+12*z == 532) {System.out.println("X="+x+" Y="+y+" Z="+z);return;}}}}}}四.详细的调试和运行结果实验2运行结果:原double数组a:2.6 4.6 2.0 8.0 888.0 569.5 454.5 100.0 -84.5 45.0 排序double数组a前一半:2.0 2.6 4.6 8.0 888.0 569.5 454.5 100.0 -84.5 45.0 排序整个double数组a:-84.5 2.0 2.6 4.6 8.0 45.0 100.0 454.5 569.5 888.0 排序整个double数组b:-23 6 9 12 19 34 34 45 45 90 123输入要查询的数字:-23-23在数组b第一位!实验3运行结果:101 103 107 109 113 127 131 137 139 149151 157 163 167 173 179 181 191 193 197199实验4运行结果:2 3 5 7 11 13 17 19 23 2931 37 41 43 47 53 59 61 67 7173 79 83 89 97 101 103 107 109 113127 131 137 139 149 151 157 163 167 173179 181 191 193 197 199 211 223 227 229233 239 241 251 257 263 269 271 277 281283 293 307 311 313 317 331 337 347 349353 359 367 373 379 383 389 397 401 409419 421 431 433 439 443 449 457 461 463467 479 487 491 499 503 509 521 523 541547 557 563 569 571 577 587 593 599 601607 613 617 619 631 641 643 647 653 659661 673 677 683 691 701 709 719 727 733739 743 751 757 761 769 773 787 797 809811 821 823 827 829 839 853 857 859 863877 881 883 887 907 911 919 929 937 941947 953 967 971 977 983 991 997实验5运行结果:X=3 Y=2 Z=1五.实验感想通过本次从实验对java语言的基本语法有了基本了解,学会了使用控制台命令行的方式运行java程序。
《JA V A程序设计》大作业题目与要求1.题目原则从以下题目选择,也可从两个或多个个题目中各取部分组合。
若课程设计的工作量能满足要求,也可自行设计题目。
提倡选择某一题目后,学生自己填加一些有创意的程序。
2.语句不少于200行3.写好实验报告。
实验报告说明书的要求:(1)实验目的:结合开发的系统,给出设计目的(2)功能模块简介和系统结构图:结合自己实际开发的系统以及课程设计内容的要求,给出课程设计开发的系统的主要功能模块简介和系统结构图,要求能反映课程设计的主要内容。
(3)系统的主要界面设计及运行说明:结合自己实际开发的系统,给出系统的窗体的整体布局,主要界面设计及运行说明,即主程序界面和子程序的界面,一般可抓几个图,同时给出简单的调出这些程序的过程,及系统的使用说明等。
(4)整理并打印主要的源程序代码。
(5)实验总结:总结本次课程设计的软件中有何收获、有何创新和所存在的不足以及需要改进的地方。
(6)封面:封面从FTP下载“华北科技学院计算机课程设计实验报告”,课程名称为“JA V A程序设计”4.以下题目只给出一般要求,同学可根据题目自己发挥,添加功能,最好有所创《JA V A程序设计》大作业题目与要求1.题目原则从以下题目选择,也可从两个或多个个题目中各取部分组合。
若课程设计的工作量能满足要求,也可自行设计题目。
提倡选择某一题目后,学生自己填加一些有创意的程序。
2.语句不少于200行3.写好实验报告。
实验报告说明书的要求:(1)实验目的:结合开发的系统,给出设计目的(2)功能模块简介和系统结构图:结合自己实际开发的系统以及课程设计内容的要求,给出课程设计开发的系统的主要功能模块简介和系统结构图,要求能反映课程设计的主要内容。
(3)系统的主要界面设计及运行说明:结合自己实际开发的系统,给出系统的窗体的整体布局,主要界面设计及运行说明,即主程序界面和子程序的界面,一般可抓几个图,同时给出简单的调出这些程序的过程,及系统的使用说明等。
一、选择题语言与其它语言相比,独有的特点是(C)A、面向对象B、多线程C、平台无关D、可扩展性2.下面哪个不是Java语言的关键字()A、defaultB、numberC、abstractD、package3.下面语句正确的是()A、x+1=5B、i++=1C、a++b=1D、x+=14、设A为已知定义的类名,下列声明A类的对象a的语句A、float A aB、public a=A()C、A a=new int ()D、A a=new A()5、如果类的方法没有返回值,该方法的返回类型应是:A、voidB、nullC、abstractD、default6、下列对继承的说法,正确的是()A、子类能继承父类的所有方法和状态B、子类继承父类的非私有方法和状态C、子类只能继承父类的public方法和状态D、子类只能继承父类的方法7、能单独和finally语句一起使用的块是A、tryB、catchC、throwD、throws8、下列类在多重catch中同时出现时,哪一个异常类应最后一个列出()A、ArithmeticExceptionB、NumberFormatExceptionC、ExceptionD、ArrayIndexOutOfBoundException9、以下对选择语句描述错误的是A、根据某一条件重复执行一部分代码直到满足终止条件为止B、可以根据条件控制程序流程,改变程序执行的顺序C、选择语句可以嵌套使用D、当条件满足时就会执行相应的语句10、为初始化其成员变量,每个类都定义的方法是A、方法B、main()方法C、构造方法D、对象11、为Test类的一个无形式参数无返回值的方法method书写方法头,使得使用类名Test作为前缀就可以调用它,该方法头的形式为A、、static void method()B、public void methodC、、protected void method()D、abstract void method()12、下面是findSum(int n)方法的定义,方法调用findSum(1,5)的返回结果是Int findSum(int n)Int sum=0;For(int i=m;i<=n;i++)Sum+=i;A、1B、5C、10D、1513、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以A、让该类不使用任何关键字。
Java程序设计实验报告班级:网络 151 :徐毅民学号: 153299实验一Java语言基础一.实验目的掌握Java语言的基本语法、基本数据类型的使用方法,掌握从键盘输入基本类型的数据,熟练运用分支、循环等语句控制程序流程。
二.实验容1、编写一个Java应用程序,用户从键盘输入十名学生的信息,至少包括、年龄、出生年月日、java课程实验成绩,成绩使用浮点数,年龄使用整型,程序将输出年龄、java课程实验成绩的平均值。
提示:Scanner对象调用nextDouble()或nextFloat()可以获取用户从键盘输入的浮点数。
2、使用Arrays类实现数组排序:使用java.util包中的Arrays类的类方法public static void sort(double a[])可以把参数a指定的double 类型数组按升序排序;public static void sort(double a[], int start , int end)可以把参数a指定的double类型数组中从位置start到end位置的值按升序排序。
给定数组int a[]={12,34,9,-23,45,6,90,123,19,45,34}; 从键盘读入一个整数,使用折半查找判断该整数是否在这个数组中,并将结果输出。
3、输出100~200之间的所有素数。
4、采用for循环求1至1000之的所有“完全数”。
所谓“完全数”是指一个数,恰好等于它的因子之和。
例如,6是一个完全数,因为6的因子为1、2、3,而6=1+2+3。
5、已知XYZ+YZZ=532,其中X、Y和Z为数字,编程求出X,Y和Z的值。
三.实验步骤实验1以最终学生信息管理系统为准实验2代码如下:import java.util.Arrays;import java.util.Scanner;public class test2 {public static void printDoubleArray(double a[]) {for(int i = 0; i < a.length; i++) {System.out.print(a[i]+"");}System.out.println();}public static void printfIntegerArray(int a[]) {for(int i = 0; i < a.length; i++) {System.out.print(a[i]+"");}System.out.println();}public static void main(String[] args) {double a[] = {2.6, 4.6, 2, 8, 888, 569.5, 454.5, 100, -84.5, 45}; System.out.println("原double数组a:"); printDoubleArray(a);Arrays.sort(a, 0, a.length/2);System.out.println("排序double数组a前一半:"); printDoubleArray(a);Arrays.sort(a);System.out.println("排序整个double数组a:"); printDoubleArray(a);int b[] = {12, 34, 9, -23, 45, 6, 90, 123, 19, 45, 34}; Arrays.sort(b);System.out.println("排序整个double数组b:"); printfIntegerArray(b);Scanner in = new Scanner(System.in);System.out.print("输入要查询的数字:");int key = in.nextInt();int i = Arrays.binarySearch(b, key);if(i < 0 || i >= b.length) {System.out.println(i+"输入数字不在数组中!");} else {System.out.println(b[i]+"在数组b第"+(i+1)+"位!");}}}实验3代码如下:public class test3 {public static boolean isPrime(int x) {if(x == 1) return false;int s = (int)Math.sqrt(x);for(int i = 2; i <= s; i++) {if(x%i == 0) return false;}return true;}public static void main(String[] args) {int cnt = 0;for(int i = 100; i < 200; i++) {if(isPrime(i)) {cnt++;System.out.printf("%4d", i);}if(isPrime(i) && cnt%10 == 0) System.out.println();}}实验4代码如下:public class test4 {public static boolean isCompleteNumber(int x) { int sum = 0;for(int i = 1; i < x; i++) {if(x%i == 0) sum += x;}return x == sum;}public static void main(String[] args) {int cnt = 0;for(int i = 1; i <= 1000; i++) {if(isCompleteNumber(i)) {cnt++;System.out.printf("%4d", i);}if(isCompleteNumber(i) && cnt%10 == 0)System.out.println();}}实验5代码如下:public class test5 {public static void main(String[] args) {for(int x = 0; x < 10; x++) {for(int y = 0; y < 10; y++) {for(int z = 0; z < 10; z++) {if(100*x+110*y+12*z == 532) {System.out.println("X="+x+" Y="+y+" Z="+z);return;}}}}}}四.详细的调试和运行结果实验2运行结果:原double数组a:2.6 4.6 2.0 8.0 888.0 569.5 454.5 100.0 -84.5 45.0 排序double数组a前一半:2.0 2.6 4.6 8.0 888.0 569.5 454.5 100.0 -84.5 45.0 排序整个double数组a:-84.5 2.0 2.6 4.6 8.0 45.0 100.0 454.5 569.5 888.0 排序整个double数组b:-23 6 9 12 19 34 34 45 45 90 123输入要查询的数字:-23-23在数组b第一位!实验3运行结果:101 103 107 109 113 127 131 137 149151 157 167 173 179 181 191 193实验4运行结果:2 3 5 7 11 13 17 19 23 2931 37 41 43 47 53 59 61 67 7173 79 83 89 97 101 103 107 109 113127 131 137 149 151 157 167 173179 181 191 193 211 223 227 229233 239 241 251 257 263 269 271 277 281283 293 307 311 313 317 331 337 347 349353 359 367 373 379 383 389 397 401 409419 421 431 433 439 443 449 457 461 463467 479 487 491 499 503 509 521 523 541547 557 563 569 571 577 587 593 599 601607 613 617 619 631 641 643 647 653 659661 673 677 683 691 701 709 719 727 733739 743 751 757 761 769 773 787 797 809811 821 823 827 829 839 853 857 859 863877 881 883 887 907 911 919 929 937 941947 953 967 971 977 983 991 997实验5运行结果:X=3 Y=2 Z=1五.实验感想通过本次从实验对java语言的基本语法有了基本了解,学会了使用控制台命令行的方式运行java程序。
《网络编程技术》实验指导书计算机科学与软件学院李建伟2015(新版)实验一:Java 基本语法实验目的:了解Java 的数据类型,掌握各种变量的声明方式,理解运算符的优先级,掌握Java 基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
实验要求:1、编写一个声明Java 不同数据类型变量的程序。
2、编写使用不同选择结构的程序。
3、编写使用不同循环结构结构的程序。
实验内容:1、声明不同数据类型变量1)编写声明不同数据类型变量的程序public class SimpleTypes{public static void main(String args[]){byte b=0x55;short s=0x55ff;int i=1000000;long l=0xfffL;char c='c';float f=0.23F;double d=0.7E-3;boolean bool=true;System.out.println("b="+b);System.out.println("s="+s);System.out.println("i="+i);System.out.println("l="+l);System.out.println("c="+c);System.out.println("f="+f);System.out.println("d="+d);System.out.println("bool="+bool);}}编译并运行该程序,分析程序的运行结果。
1)Integer类在某对象中打包了原始类型为int的值。
Integer类型对象包含int型的单个域。
此外,此类提供了许多方法,可以将int型转换为string 型,也可以将Sring型转换为int型,还包含处理int类型时的其他有用常量和方法。
public class IntegerDemo{public static void main(String args[]){Integer []array={new Integer(20), new Integer(40), new Integer("110")};for(int i=0;i<array.length;i++){System.out.println(Integer.toBinaryString(array[i].intValue())+"\t");System.out.println(Integer.toHexString(array[i].intValue())+"\t");System.out.println(Integer.toOctalString(array[i].intValue())+"\n");}}}编译并运行该程序,分析程序的运行结果分析:System.out.println(Integer.toBinaryString(array[i].intValue())+"\t");System.out.println(Integer.toHexString(array[i].intValue())+"\t");System.out.println(Integer.toOctalString(array[i].intValue())+"\n");分别以二进制,十六进制,八进制格式输出2、使用选择结构使用if...else 语句1)编写源程序文件,代码如下。
public class TestIf {public static void main(String args[]) {boolean leap;int year=2005;if ((year%4==0 && year%100!=0) || (year%400==0))System.out.println(year+" 年是闰年");elseSystem.out.println(year+" 年不是闰年");year=2008; // 方法2if (year%4!=0)leap=false;else if (year%100!=0)leap=true;else if (year%400!=0)leap=false;elseleap=true;if (leap==true)System.out.println(year+" 年是闰年");elseSystem.out.println(year+" 年不是闰年");year=2050; // 方法3if (year%4==0) {if (year%100==0) {if (year%400==0)leap=true;elseleap=false;}elseleap=false;}elseleap=false;if (leap==true)System.out.println(year+" 年是闰年");elseSystem.out.println(year+" 年不是闰年");}}2)编译运行程序,分析程序的运行结果。
2005 年不是闰年2008 年是闰年2050 年不是闰年使用switch 语句1)编写程序用swith语句实现从键盘读如1,2,3时,屏幕提示不同信息class SwitchTest{public static void main(String args[]) throws java.io.IOException{ char a;System.out.println("Enter a number from 1--3:");a=(char)System.in.read();switch(a){case'1':System.out.println("win a Car!");break;case'2':System.out.println("picked the goat");break;case'3':System.out.println("get to keep your 100");break;default:System.out.println("entry");}}}1)编译运行程序,分析程序的运行结果。
Enter a number from 1--3:1win a Car!3、使用循环结构使用for语句1)程序源代码如下:class TestFor{public static void main (String args[]) throws java.io.IOException { int fahr,cels;System.out.println("Celsius Fahrenheit");for(cels=0;cels<=100;cels+=5){ fahr=cels*9/5+32;System.out.println(cels+" "+fahr);}char a;outer://this is the label for the outer loopfor(int i=0;i<10;i++)for(int j=0;j<10;j++){ a=(char)System.in.read();if(a=='b')break outer;if(a=='c')continue outer;}}}2)改正源程序中错误,分析错误原因和程序的运行结果。
a=(char)System.in.read();语句需要添加throws java.io.IOException使用while语句1)程序源代码如下:import java.io.*;TestWhile {public static void main(String args[]) throws IOException {char ch;System.out.println("按1/2/3 数字键可得大奖!");System.out.println("按空格键后回车可退出循环操作.");while ((ch=(char)System.in.read())!=' '){System.in.skip(2); // 跳过回车键switch (ch) {case '1':System.out.println("恭喜你得大奖,一辆汽车!");break;case '2':System.out.println("不错呀,你得到一台笔记本电脑!");break;case '3':System.out.println("没有白来,你得到一台冰箱!");break;default:System.out.println("真不幸,你没有奖品!下次再来吧。
");}}}}请编译运行程序,分析程序的运行结果。
多重循环,输出九九乘法表的程序。
public class TestMul{public static void main(String args[]){int i,j,n=9;System.out.print(" * |");for (i=1;i<=n;i++)System.out.print(" "+i);System.out.print("\n-------|");for (i=1;i<=n;i++)System.out.print("----");System.out.println();for (i=1;i<=n;i++){System.out.print(" "+i+" |");for (j=1;j<=i;j++)System.out.print(" "+i*j);System.out.println();}}}编译运行程序,分析程序的运行结果。