060219JAVA程序设计(江苏开放大学本科期末试卷)_第1页
060219JAVA程序设计(江苏开放大学本科期末试卷)_第2页
060219JAVA程序设计(江苏开放大学本科期末试卷)_第3页
060219JAVA程序设计(江苏开放大学本科期末试卷)_第4页
060219JAVA程序设计(江苏开放大学本科期末试卷)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

060219JAVA程序设计△

1.在Java语言中,(对象)是最基本的元素。

2.下列标识符(名字)命名原则中,正确的是(常量全部大写)。

3.Java程序经过编译后生成的文件后缀是(class)。

4.do-while循环结构中的循环体执行的最少次数为(1)。

5.语句while(!e);中的条件!e等价于(e==0)。

6.关于数组,下列说法中不正确的是(定义数组时必须分配内存)。

7.在Java语言中,哪一个包中的类是自动导入的?(java.lang)。

8.定义外部类时不能用到的关键字是(protected)。

9.下列对于多态的描述中,错误的是(Java语言不允许方法覆盖)。

10.在Java中,(HashMap)对象可以使用键/值的形式保存数据。

设有下列数组定义语句:inta[]={1,2,3};则对此语句的叙述错误的是(a数组元素的下标为1~3)。

11.下面关于方法的说法,不正确的是(如果一个类定义了构造方法,也可以用该类的默认构造方法)。

12下列表达式1+2+"aa"+3的值是("3aa3")。

13设a、b为long型变量,x、y为float型变量,ch为char类型变量且它们均已被赋值,则下列语句中正确的是(switch(ch+1){}。

14.下列循环体执行的次数是(3)。y=2,x=4;while(--x!=x/y){}

15下列循环体·行的次数是(2)。intx=10,y=30;do{y-=x;x++;}while(x++<y--);

16.区分类中重载方法的依据是(形参列表的类型和顺序)。

17下列说法中,不正确的一个是(if…elseif语句的执行效率总是比switch语句高)。

18.运行下面程序时,会产生什么异常(ArithmeticException)。

publicclassEX{

publicstaticvoidmain(String[]args){

intx=0;

inty=5/x;

int[]z={1,2,3,4};

intp=z[4];

}

19.定义一个公有double型常量PI,哪一条语句最好?(publicfinalstaticdoublePI=3.14;)。

20.在异常处理中,如释放资源关闭文件、关闭数据库等由(finally子句)来完成。

21.为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为(staticvoidf())。

22.阅读下列代码,选出该代码段正确的文件名(B.java)。

classA{

voidmethod1(){

System.out.println("Method1inclassA");

}}

publicclassB{

voidmethod2(){

System.out.println("Method2inclassB");

}

publicstaticvoidmain(String[]args){

System.out.println("main()inclassB");

}}

23.下列数据流中,属于输入流的一项是(从键盘流向内存的数据流)。

2下列流中哪一个使用了缓冲区技术(BufferedOutputStream)。

25.下面说法不正确的是(abstract和final能同时修饰一个类)。

26.当单击鼠标或拖动鼠标时,触发的事件是(MouseEvent)。

27JPanel的默认布局管理器是(FlowLayout)。

29.关于异常的含义,下列描述中最正确的一个是(程序编译或运行时发生的异常事件)。

30自定义异常时,可以通过对下列哪一项进行继承?(Exception类及其子类)

下列关于流类和File类的说法中错误的一项是(File类可以修改文件内容)。

2.Java语言属于(面向对象的语言)种语言?

4.编译一个定义了3个类和10个方法的Java源文件后,会产生(D)个字节码文件?扩展名是(3个字节码文件,扩展名为.class)?

5.以下的变量定义语句中,合法的是(doubled=Double.MAX_VALUE;)

7.下列选项中,不属于Java核心包的一项是(.javax.swing)。

8.编译下面源程序会得到哪些文件(A1.class、A2.class和B.class文件)?

10.下面哪种注释方法能够支持javadoc命令?(/**...*/)

11.下面代码运行后的输出结果为(true)

publicclassXX{

publicstaticvoidmain(String[]args){

ABaa=newAB();

ABbb;

bb=aa;

system.out.println(bb.equals(aa));

}

}

classAB{intx=100;}

14.下列循环体执行的次数是(.3)。

inty=2,x=4;

while(--x!=x/y){}

17.已知如下代码:

switch(m){

case0:System.out.println("Condition0");

case1:System.out.println("Condition1");

case2:System.out.println("Condition2");

case3:System.out.println("Condition3");break;

default:System.out.println("OtherCondition");}

当m的值为(.0、1、2、3)时,输出“Condition3”

18.假设a是int类型的变量,并初始化为1,则下列(if(true){})是合法的条件语句?

19.下列哪种类成员修饰符修饰的变量只能在本类中被访问?(private)

21.给出下面的程序代码:

publicclassX413{

privatefloata;

publicstaticvoidm(){}

}

如何使成员变量a被方法m()访问(将privatefloata改为staticfloata)

22.Java语言接口间的继承关系是多重继承)

23.下列代码中,使成员变量m能被方法fun()直接访问的是(将privateintm改为staticintm)

classTest{

privateintm;

publicstaticvoidfun(){…}

}

26.已知y=2,z=3,n=4,则经过n=n+-y*z/n运算后n的值为(3)。

27.下列(_blank)是合法的标识符?

28.下列(sizeof)不是Java中的保留字?

29.下列(2$_million)不是合法的标识符?

30.下列选项中,(数组)不属于Java语言的基本数据类型?

31.下列关于基本数据类型的说法中,不正确的一项是(char是8位Unicode字符)。

32.下列关于运算符优先级的说法中,不正确的一个是(同一优先级的运算符在表达式中都是按照从右到左的顺序进行运算的)

39.下列叙述中,错误的一项是采用GridLayout布局,容器大小改变时,每个构件不再平均分配容器空间)。

42.下列说法中错误的一项是(构件能够独立显示出来)。

43.进行Java基本GUI设计需要用到的包是(java.awt)。

44.Container是下列哪一个类的子类(Component)?

45.java.awt.Frame的父类是(java.awtWindow)。

4下列(赋值语句)不属于Java语言流程控制结构?

6下面哪些选项是正确的main方法说明?(publicstaticvoidmain(Stringargs[]))

9在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是(long类型的默认值是0.0L)。

19下列关于Java语言简单数据类型的说法中,正确的一项是(以0开头的整数代表8进制整型常量)。

24设有类型定义shorti=32;longj=64;下面赋值语句中不正确的一个是(i=j;)

29已知a=2,b=3,则表达式a%b*4%b的值为(2)

2有一个类B,下面为其构造方法的声明,正确的是(B(intx){})。

3下面关于类的说法,不正确的是(类就是对象)。

5关于内部类,下列说法不正确的是(内部类不能有自己的成员方法和成员变量)

8如果局部变量和成员变量同名,如何在局部变量作用域内引用成员变量?(在成员变量前加this,使用this访问该成员变量)

9下面说法不正确的是(abstract和final能同时修饰一个类)。

二、判断题

1.在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。(错误)

2.java命令不区分大小写,而javac命令区分大小写。(错误)

3.JavaApplication程序中,必有一个主方法main(),该方法有没有参数都可以。(正确)

4.java.util.Scanner(System.in)可以接收用户从键盘输入的简单数据。(正确)

5.Java程序中不区分大小写字母。(错误)

6.Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。(正确)

7.所有的变量在使用前都必须进行初始化。(错误)

8.已知bytei=(byte)127;i=i+1;这两个语句能被成功编译。(正确)

9.Stringstr="abcdefghi";charchr=str.charAt(9);(错误)

10.char[]chrArray={'a','b','c','d','e','f','g'};charchr=chrArray[6];(正确)

11.inti,j;booleanbooleanValue=(i==j);(错误)

12.intintArray[]={0,2,4,6,8};intlength=intArray.length();(错误)

13.类中说明的方法可以定义在类体外。(错误)

14.Java语言使用的是Unicode字符集,每个字符在内存中占8位。(错误)

15.强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。(正确)

16.捕获异常try语句后面通常跟有一个或多个catch()方法用来处理try块内生成的异常事件。正确)

17.文件缓冲流的作用是提高文件的读/写效率。(正确)

18.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。(错误)

19printf()和format()方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流(System.out对象)中。(正确)

20.Java语言不允许同时继承一个类并实现一个接口。(错误)

21.调用this或super构造方法的语句必须放在第一条语句。(正确)

22.Java语言会自动回收内存中的垃圾。(正确)

23.实例方法中不能引用类变量。(错误)

1.Java语言具有较好的安全性和可移植性及与平台无关等特性。(正确)

2.Java语言的源程序不是编译型的,而是编译解释型的。(正确)

6.机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行。(正确)7.System类中的println()方法分行显示信息,而print()方法不分行显示信息。(正确)

8.当前路径的标识是“.”。(正确)

9.java命令不区分大小写,而javac命令区分大小写。(错误)

10printf()和format()方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流(System.out对象)中。(正确)

25.创建对象时系统将调用适当的构造方法给对象初始化。(正确)

26.Java语言中,构造方法是不可以继承的。(正确)

27.子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目。(错误)

29.使用运算符new创建对象时,赋给对象的值实际上是一个引用值。(正确)

30.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。(正确)

31.对象可作方法参数,对象数组不能作方法参数。(错误)

32.class是定义类的惟一关键字。(正确)

34.使用try-catch-finally语句只能捕获一个异常。(错误)

35.类是一种类型,也是对象的模板。(正确)

37.IOException必须被捕获或抛出。(正确)

38.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System.err。(正确)

39.对象串行化机制是指将程序中对象的状态转化为一个字节流,存储在文件中。(正确)

3判断:Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。错

5判断:main函数是java程序的执行入口。对

7判断:说明或声明数组时不分配内存大小,创建数组时分配内存大小。(对)

11判断:continue语句用在循环语句中,它的作用是跳出循环。对

12判断:JDK安装是不可以修改安装目录。错

18判断:若x=5,则表达式(x+5)/3的值是3对

28判断:Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码对

30判断:标识符可以为关键字。错

三、阅读程序题

1、阅读以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=i;,

System.out.println("sum="+sum);

}}

该程序完成的功能是:。

答案:求sum=1+2+3+...+100的和

2、阅读以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0:

for(inti=1;i<=100;i++)

sum+=i*i;

System.out.println("sum="+sum);

}}

该程序的功能是:。

答案:求出sum的值为1到100的平方和。

3、阅读以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=i*i*i;

System.out.println("sum="+sum);

}}

此程序完成的功能是:。

答案:计算并输出1到100的立方和sum值。

4、阅读以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=1.0/(double)i;

System.out.println("sum="+sum);

}

}

此程序完成的功能是:。

答案:求解sum=1+1/2+1/3+...+1/100的值并打印输出。

5.阅读以下程序

importjava.io.*;

publicclassTest1{

publicstaticvoidmain(Stringargs[]){

inti,s=0;

inta[]={2,4,6,8,10,12,14,16,18};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}

运行结果:s=36。

6.阅读以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

ABs=newAB("Great!","IamJSOUer");

System.out.println(s.toString());

}

}

classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2){

s1=str1;s2=str2;

}

publicStringtoString(){

returns1+s2;

}}

运行结果:Great!IamJSOUer___。

7.阅读以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

SubSubClassobj=newSubSubClass(10,20,30);

obj.show();}}

classSuperClass{

intb;

SuperClass(intaa,intbb){

b=bb;

}}

classSubClassextendsSuperClass{

intc;

SubClass(intaa,intbb,intcc){

super(aa,bb);

c=cc;

}}

classSubSubClassextendsSubClass{

inta;

SubSubClass(intaa,intbb,intcc){

super(aa,bb,cc);

a=aa+bb+cc;

}

voidshow(){

System.out.println("a="+a+"\nb="+b+"\nc="+c);

}}

运行结果:___a=60b=20c=30。

8、下列程序的运行结果是:。

publicclassMyClass{

inta[]={1,2,3,4,5};

voidout(){

for(intj=0;j<a.length;j++)

System.out.print(a[j]+"");

}

publicstaticvoidmain(String[]args){

MyClassmy=newMyClass();

my.out();

}}

答案:12345

阅读以下程序,写出运行结果。

publicclassTom{

privatefloatweight;

privatestaticStringname;

publicvoidsetWeight(floatweight){

this.weight=weight;

}

privatevoidout(){

System.out.println(name+"体重:"+weight+"斤");

}

publicstaticvoidmain(String[]args){

T="汤姆猫";

Tomcat=newTom();

cat.setWeight(20);

cat.out();

}

}

答案:汤姆猫体重:20.0斤

10.阅读以下程序,写出程序功能。

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)sum+=1.0/(double)i;

System.out.println("sum="+sum);

}

}

答案:相等

11.阅读以下程序,写出运行结果。

classAnimal{

Animal(){

System.out.print("Animal");

}}

publicclassDogextendsAnimal{

Dog(){

System.out.print("Dog");}

publicstaticvoidmain(String[]args){

Dogsnoppy=newDog();

}}

答案:AnimalDog

12.阅读以下程序,写出运行结果。

publicclassE{

publicstaticvoidmain(Stringargs[]){

charx='你',y='好',z='啊';

if(x>'A'){

y='开';

z='心';

}

else{

y='快';

z='乐';

}

System.out.println(x+","+y+","+z);

}

}

答案:你快乐

四、编程题

1.编写程序,从键盘上输入摄氏温度C,计算华氏温度F的值并输出。其转换公式如下:F=(9/5)

*C+32。

importjava.io.*;

publicclassX234{

publicstaticvoidmain(String[]args)throwsIOException{

InputStreamReaderisr=newInputStreamReader(System.in);

BufferedReaderbr=newBufferedReader(isr);

doubleC,F;

Stringstr;

str=br.readLine();

C=Double.parseDouble(str);

F=(9/5)*C+32;

System.out.println("F="+F);

}}

定义名为MyTime的类。其中应有三个整型成员:时hour、分minute、秒second。为了保证数据的安全性,这三个成员变量应声明为私有。为MyTime类定义构造方法以方便创建对象时初始化成员变量。再定义diaplay方法用于将时间信息打印出来。为MyTime类添加以下方法:addSecond(intsec)、addMinute(intmin)、addHour(inthou)、subSecond(intsec)、subMinute(intmin)、subHour(inthou)分别对时、分、秒进行加减运算。

packageDemo;

publicclassMyTime做闹{

privateinthour,minute,second;

publicMyTime(int销胡中hour,intminute,intsecond){

super();

***.hour=hour;

***.minute=minute;

***.second=second;

}

publicvoidaddSecond(intsec){

second+=sec;

}

publicvoidaddMinute(intmin){

minute+=min;

}

publicvoidaddHour(inthou)亏山{

hour+=hou;

}

publicvoidsubSecond(intsec){

second-=sec;

}

publicvoidsubMinute(intmin){

minute-=min;

}

publicvoidsubHour(inthou){

hour-=hou;

}

publicvoiddiaplay(){

system.***.println(hour+"时"+minute+"分"+second+"秒");

}

}

编写一个人类Person,其中包含姓名、性别和年龄的属性,包含构造方法以及显示姓名、性别和年龄的方法。再编写一个学生类Student,它继承Person类,其中包含学号属性,包含构造方法以及显示学号的方法。最后编写一个主类PSDemo,包含main()方法,在main()方法中定义两个学生s1和s2并给他们赋值,最后显示他们的学号、姓名、性别以及年龄。

文件1:***.java

packagemyapp.***.person;

/皮租**

*Person类

*@author

*/拆信

publicclassPerson{

privateStringname;

privateStringsex;

privateintage;

publicPerson(){

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

***.age=age;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

***.name=name;

}

publicStringgetSex(){

returnsex;

}

publicvoidsetSex(Stringsex){

***.sex=sex;

}

}

文件2:***.java

packagemyapp.***.person;

/旅握轮**

*Student类

*@authoryhx

*/

publicclassStudentextendsPerson{

privateStringstudentNo;

publicStudent(){

}

publicStudent(StringstudentNo){

***.studentno=studentNo;

}

publicStringgetStudentNo(){

returnstudentNo;

}

publicvoidsetStudentNo(StringstudentNo){

***.studentno=studentNo;

}

publicstaticvoidmain(String[]args){

Students1=newStudent("201009102311");

***.setname("王五");

***.setsex("男");

***.setage(21);

Students2=newStudent();

***.setstudentno("201009102313");

***.setname("李四");

***.setsex("女");

***.setage(20);

//以下显示学生信息

system.***.println(***.getstudentno());

system.***.println(***.getname());

system.***.println(***.getsex());

system.***.println(***.getage());

system.***.println(***.getstudentno());

system.***.println(***.getname());

system.***.println(***.getsex());

system.***.println(***.getage());

s1=null;

s2=null;

}

}

4.编一个程序,程序中包含以下内容:

一个圆类(Circle),包含:

属性:圆半径radius;常量:PI。

方法:构造方法;求面积方法area();求周长方法:perimeter()。

主类(CircleDemo),包含:

主方法main(),在主方法中创建圆类的对象c1和c2并初始化,c1的半径为100,c1的半径为200,然后分别显示两个圆的面积和周长。

5.编写Animal接口,接口中声明run()方法;定义Bird类和Fish类实现Animal接口;编写Bird类和Fish类的测试程序,并调用其中的run()方法。

publicinterfaceAnimal{

voidrun();}

classBirdimplementsAnimal{

publicvoidrun(){

System.out.println("鸟儿在飞...");}}

classFishimplementsAnimal{

publicvoidrun(){

System.out.println("鱼儿在游...");}}

publicclassTestAnimal{

publicstaticvoidmain(String[]args){

Birdbird=newBird();bird.run();

Fishfish=newFish();fish.run();}}

定义一个网络用户类,要处理的信息有用户ID、用户密码、email地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时没有缺省,而email地址缺省的时候email地址是用户ID

@\"。"

加上字符串"@"。

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

8.编程实现1!+2!+...+20!

三、简答题

1.简述Java语言的主要特点。Java语言共有十大特点,分别为:简单性、面向对象、分布性、编译和解释性、稳健性、安全性、可移植性、高性能、多线索性、动态性。

2.构造方法的作用是什么?构造方法和普通方法的区别?。

3.方法的重载和方法的覆盖有什么不同?4.访问修饰符有哪些?各自的作用范围是什么?4.阅读以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

ABs=newAB("Great!","IloveEclipse.");

System.out.println(s.toString());

}

}

classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2){

s1=str1;s2=str2;

}

publicStringtoString(){

returns1+s2;

}}

运行结果是:__Great!IloveEclipse.。

5.阅读以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}

运行结果:s=180。

7.以下程序的输出结果为:相等。

classStringTest1{

publicstaticvoidmain(String[]args){

Strings1="hello";

Strings2=newString("hello");

if(s1.equals(s2))

System.out.println("相等");

elseSystem.out.println("不相等");

}}

五、编程题(共16分)

8.编写一个JavaApplication类型的程序,从键盘上输入三角形的三条边的长度,计算三角形的面积和周长并输出。根据三角形边长求面积公式如下:,其中a、b、c为三角形的三条边,p=(a+b+c)/2。

importjava.io.*;publicclassX2_3_3{publicstaticvoidmain(String[]args)throwsIOException{InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(isr);doublea,b,c,s,area;Stringstr;str=br.readLine();a=Double.parseDouble(str);str=br.readLine();b=Double.parseDouble(str);str=br.readLine();c=Double.parseDouble(str);s=(a+b+c)/2.0;area=Math.sqrt(s*(s-a)*(s-b)*(s-c));System.out.println("area="+area);}}【运行结果】345area=6.0

7.打印出杨辉三角形。(要求打印出10行如下图)

1

11

1331

14641

15101051

1.(编程题)编写程序。判断给定的某个年份是否是闰年

闰年的判断规则如下:(1)若某个年份能被4整除但不能被100整除,则是闰年。(2)若某个年份能被400整除,则也是闰年

importjava.util.Scanner;

classBissextile{publicstaticvoidmain(String[]arge){

System.out.print("请输入年份");

intyear;//定义输入的年份名字为“year”

Scannerscanner=newScanner(System.in);

year=scanner.nextInt();

if(year<0||year>3000){

System.out.println("年份有误,程序退出!");

System.exit(0);}

if((year%4==0)&&(year%100!=0)||(year%400==0))

System.out.println(year+"isbissextile");

elseSystem.out.println(year+"isnotbissextile");}}

2.(编程题)使用for循环答应9*9乘法口诀表。

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

publicclassNineNine{

publicstaticvoidmain(String[]args){

System.out.println();

for(intj=1;j<10;j++){

for(intk=1;k<10;k++){

if(k>j)break;

System.out.print(""+k+"X"+j+"="+j*k);}

System.out.println();}}}

6.(编程题)编写程序在终端打印1~100之间的素数。

classTestChoose{

publicstaticvoidmain(Stringargs[]){

intn=2;while(n<=100){

booleanflag=true;

intk1=2;

while(k1<=n/2+1)

{

if(n%k1==0){flag=false;

break;}

k1++;}

if(flag){System.out.println(n);}

n++;

}}

7.(编程题)构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。

答案:

importjava.io.*;

publicclassPoint{

intx,y;

publicPoint(intx,inty){

this.x=x;this.y=y;}

publicPointgetPoint(){

PointtempPoint=newPoint(x,y);

returntempPoint;}

publicvoidsetPoint(Pointpoint)

this.x=point.x;

{

this.y=point.y;}

publicstaticvoidmain(Stringargs[]){

PointPoint1=newPoint(3,4);

System.out.println("Point1:"+"("+Point1.x+","+Point1.y+")");

PointPoint2=Point1.getPoint();

System.out.println("Point2:"+"("+Point2.x+","+Point2.y+")");

PointPoint3=newPoint(5,6);

Point1.setPoint(Point3);

System.out.println("Point1:"+"("+Point1.x+","+Point1.y+")");

}

}

9.(编程题)编写一个学生类Student,要求:

(1)学生类Student属性有:id:long型,代表学号name:String类对象,代表姓名age:int型,代表年龄sex:boolen型,代表性别(其中:true表示男,false表示女)phone:String类对象,代表联系电话(2)学生类Student的方法有:Student(longi,Stringn,inta,booleans,longp):有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话。intgetAge()():获取年龄作为方法的返回值。booleangetSex()():获取性别作为方法的返回值。longgetPhone():获取联系电话作为方法的返回值。publicStringtoString():以姓名:联系电话的形式作为方法的返回值。

classStudent{

longid;

Stringname;

intage;

booleansex;

longphone;

Student(longi,Stringn,inta,booleans,longp){

id=i;

name=n;

age=a;

sex=s;

phone=p;}

intgetAge(){returnage;}

booleangetSex(){returnsex;}

longgetPhone(){returnphone;}

publicStringtoString(){returnname+":"+phone;

}}

11.(编程题)按以下要求编写程序

(1).(简答题)(1)创建一个Rectangle类,添加width和height两个成员变量(2)在Rectangle中添加两种方法分别计算矩形的周长和面积(3)编程利用Rectangle输出一个矩形的周长和面积

答案:publicclassRectangle{f

loatwidth,height;

publicRectangle(floatwidth,floatheight){t

his.width=width;this.height=height;}

publicfloatgetLength(){

return(this.width+this.height)*2;}

publicfloatgetArea(){returnthis.width*this.height;}

publicstaticvoidmain(String[]args){

Rectanglerect=newRectangle(10,20);

System.out.println("周长是:"+rect.getLength());

System.out.println("面积是:"+rect.getArea());

}}

12.简答题90分以上A级80~89B级70~79C级60~69D级60分以下E级

importjava.util.Scanner;

classMark{

publicstaticvoidmain(String[]args){

System.out.println("请输入一个分数");//定义输入的分数为“mark”,且分数会有小数

doublemark;

Scannerscanner=newScanner(System.in);

mark=scanner.nextDouble();//判断是否有输入错误。

if(mark<0||mark>100){System.out.println("输入有误!");

System.exit(0);}/*判断分数的等级90分以上者A级,80~89分者B级,70~79分者C级,

60~69者D级,60分以下E级*/

if(mark>=90)System.out.println("thismarkisgrade\'A\'");

elseif(mark>=80)System.out.println("thismarkisgrade\'B\'");

elseif(mark>=70)System.out.println("thismarkisgrade\'C\'");

elseif(mark>=60)System.out.println("thismarkisgrade\'D\'");

elseSystem.out.println("thismarkisgrade\'E\'");

}}

简答题

1创建数组元素为基本数据类型的数组时,系统都会指定默认值吗?布尔型的默认值是什么?java在声明了一个数组,并为其分配好存储空间后,未赋值之前会默认对其初始化:整形数组默认初始值为0;布尔数组默认初始值为false;String数组以及对象数组初始值为null.

2阅读程序:

importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}运行结果:s=180

3阅读程序:publicclassTestArray

publicstaticvoidmain(Stringargs[]){

inti,j;

inta[]={5,9,6,8,7};

for(i=0;i<a.length-1;i++){

intk=i;

for(j=i;j<a.length;j++)

if(a[j]<a[k])k=j;

inttemp=a[i];

a[i]=a[k];

a[k]=temp;

}

for(i=0;i<a.length;i++)

System.out.print(a[i]+"");

System.out.println();

}

}运行结果

56789

4如果JDK的安装目录为D:\jdk,应当怎么设置path和classpath的值?

设置环境变量Path的值为D:\jdk\bin;

设置环境变量ClassPath的值为D:\jdk\lib\dt.jar;D:\jdk\lib\tools.jar;

5字符数组与字符串有本质的不同,而字符串实际上是String类和StringBuffer类的对象,这种说法对吗?这种说法不对,字符数组与字符串在内存中都是边续线性分布的的一系列数据,本质上没有不同,只是操作上有点差异。

6Java程序的开发步骤。

(1)编写源文件。扩展名必须是.java。(2)编译Java源程序。使用Java编译器(javac.exe)编译源文件,得到字节码文件。(3)运行Java程序。使用JavaSE平台中的Java解释器(java.exe)来解释执行字节码文件。

1简答实例变量和类变量的区别?

(1)不同对象的实例变量互不相同(2)所有对象共享类变量(3)通过类名直接访问类变量

2简述构造方法的特点与作用?

构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。

3简述面向对象的基本思想、主要特征和基本要素?

面向对象的开发方法(简称OO)的基本思想:OO方法认为,客观世界是由各种各样的对象组成的,每种对象都有各自的内部状态和运动规律,不同的对象之间的相互作用和联系就构成了各种不同的系统。当我们设计和实现一个客观系统时,如能在满足需求的条件下,把系统设计成由一些不可变的(相对固定)部分组成的最小集合,这个设计就是最好的。而这些不可变的部分就是所谓的对象。对象是OO方法的主体,对象至少应有以下特征:模块性。即对象是一个独立存在的实体,从外部可以了解它的功能,但其内部细节是“隐蔽”的,它不受外界干扰。对象之间的相互依赖性很小,因而可以独立地被其它各个系统所选用。继承和类比性。事物之间都有一定的相互联系,事物在整体结构中都会占有它自身的位置。在对象之间有属性关系的共同性,在OO方法学中称之为继承性次结构是靠继承关系维系着的。对象是一个被严格模块化了的实体,称之为封装(encapsulation)。这种封装了的对象满足软件工程的一切要求,而且可以直接被面向对象的程序设计语言所接受。

《Java程序设计》实验报告

目的 完成图书管理应用程序

内容 1.查询所有图书2.新增图书3.修改图书4.删除图书5.退出

设计思路与关键技术描述 数据库的增删改查

任务一

程序源码 importjava.util.Date;

importjava.util.List;

importjava.util.Scanner;

publicclassMain{

publicstaticvoidmain(String[]args){

Scannerscanner=newScanner(System.in);

BookServicebookService=newBookService();

while(true){

System.out.println("请输入操作序号:1.查询所有图书2.新增图书3.修改图书4.删除图书5.退出");

intoption=scanner.nextInt();

switch(option){

case1:

List<Book>books=bookService.getAllBooks();

for(Bookbook:books){

System.out.println(book.getId()+"\t"+book.getName()+"\t"+book.getAuthor()+"\t"+

book.getPrice()+"\t"+book.getPublishDate());

}

break;

case2:

System.out.println("请输入图书名称:");

StringnameToAdd=scanner.next();

System.out.println("请输入图书作者:");

StringauthorToAdd=scanner.next();

System.out.println("请输入图书价格:");

floatpriceToAdd=scanner.nextFloat();

System.out.println("请输入出版日期(格式为yyyy-MM-dd):");

StringdateToAdd=scanner.next();

BookbookToAdd=newBook();

bookToAdd.setName(nameToAdd);

bookToAdd.setAuthor(authorToAdd);

bookToAdd.setPrice(priceToAdd);

bookToAdd.setPublishDate(java.sql.Date.valueOf(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论