高级程序设计JAVA作业_第1页
高级程序设计JAVA作业_第2页
高级程序设计JAVA作业_第3页
高级程序设计JAVA作业_第4页
高级程序设计JAVA作业_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

《高级程序设计JAVA》作业

第一早

1.简述面向过程问题求解和面向对象问题求解的异同。

答:面向过程的程序遵循面向过程的问题求解方法。其中心思想是用计算机能够理解的逻辑

来描述和表达待解决的问题及其具体的解决过程。数据结构,算法是面向过程问题求解的核

心组成。面向对象技术代表了一种全新的程序设计思路和观察,表述,处理问题的方法,与

传统的面向过程的开发方法不同,面向对象的程序设计和问题求解力求符合人们日常自然的

思维习惯,降低,分解问题的难度和复杂性,提高整个求解过程的可控制性,可监测性和可

维护性,从而达到以较小的代价和较高的效率获得较满意效果的目的。

2.面向对象的程序设计方法有哪些优点?

答:(1)对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,

提高了程序的可复用性和可维护性,降低了程序员保持数据与操作相容的负担

(2)对象的数据封装性还可以把对象的私有数据和公共数据分离开,保护了私有数据,

减少了可能的模块间干扰,达到降低程序复杂性,提高可控性的目的

(3)对象作为独立的整体具有良好的自洽性

(4)只爱具有自洽性的同时,对象通过一定的接口和相应的消息机制与外界相联系

(5)继承是面向对象方法中除封装外的另一个重要特性,通过继承可以很方便地实现应

用的扩展和已有代码的重复使用,在保证质量的前提下提高了开发效率,使得面向

对象的开发方法与额u案件工程的新兴方法,快速原型法很好地结合在一起。

第一早

1.编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序,在屏幕

上输出“WelcometoJavaWorld!”。

importjava.awt.Graphics;

importjava.applet.Applet;

publicclassMyJavaZYAppletextendsApplet

(

publicvoidpaint(Graphicsg)

{「

g.drawStringC'WelcometoJavaWorld!”,10,20);

}「1

2.编写一个JavaApplet,使之能够在浏览器中显示“WelcometoJavaAppletWorld!

的串信息。

HTML文件名为ZYAppletInclude.html内容为:

<HTML>

<BODY>

<APPLETCODE=''MyJavaZYApplet.class”HEIGHT=200WIDTH=300>

</APPLET>

</BODY>

</HTML>

3.Java语言有哪些主要特点?

答:1、平台无关性

2、面向对象

3、安全稳定

4、支持多线程

5、简单易学

第二早

习题:

1.编写程序输出用户指定数据的所有素数因子

packagetest;

publicclassPrimeNumber{

privatestaticStringisPrime(intnumber){

Stringprime="”;

inti=2;

for(;i<number/2+1;i++){

booleanisT=true;

for(intm=2;m<i/2+1;m++){

if(i%m==0){

isT=false;

)

)

if(number%i==0&&isT){

prime=prime+i+

)

)

returnprime;

)

publicstaticvoidmain(String[]args){

System.。"/.printin("用户指定30的所有素数因子为:"+无尸厂加e(30));

2.编写一个Java程序,接受用户输入的一个1——12之间的整数(如果输入的数据不满足这个

条件,则要求用户重新输入),利用switch语句输出对应的月份的天数。

packagetest;

importjava.io.*;

publicclassTest{

publicstaticvoidmain(String[]args){

System.out.print("请输入一个1-12之间的数字:”);

intnum=0;

try(

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

num=Integer.parseInt(br.readLine());

)

catch(java.lang.NumberFormatExceptionnfe){

System.out.println("输入的不是数字!”);

)

catch(Exceptionex){

ex.printStackTrace();

)

if(num<OIlnum>12){

System.out.println("对不起你输入的不合法,请重新输入:");

)

switch(num){

case1:

System.out.println(num+”月份有“+31+"天”);

break;

case2:

System.out.println(num+”月份有“+29+"天”);

break;

case3:

System.out.println(num+”月份有“+31+“天”);

break;

case4:

System.out.println(num+”月份有“+30+”天)

break;

case5:

System.out.println(num+”月份有“+31+”天)

break;

case6:

System.out.println(num+”月份有“+30+”天)

break;

case7:

System.out.println(num+”月份有“+31+”天)

break;

case8:

System.out.println(num+”月份有“+31+”天)

break;

case9:

System.out.println(num+”月份有“+30+”天)

break;

case10:

System.out.println(num+"月份有"+31+”天)

break;

case11:

System.out.println(num+"月份有"+30+”天)

break;

case12:

System.out.println(num+"月份有"+31+”天)

break;

3.Java对标识符命名有什么规定,下面这些标识符哪些是对的?哪些是错的,错在哪里?

(1)MyGame(2)_isHers(3)2JavaProgram(4)Java-Visual-Machine(5)_$abc

答:Java对标识符的定义有以下规定:

(1)标识符可以由字母、数字和两个特殊字符下划线(_)、美元符号($)组合而成。

(2)标识符必须以字母、下划线或美元符号开头。

(3)标识符中区分大小写字母。

(4)应该使标识符能一定程度上反映它所表示的变量、常量、对象或类的意义。

(2)正确的:(1)、MyGame(2)、_isHers(5)_$abc

错误的:(3)2JavaProgram,不能以数字开头、(4)Java-Visual-Machine,标识符中不能

使用符号“一”。:

第四章

1.有哪些访问控制符?哪些可以用于修饰类,哪些用来修饰域和方法,试述不同访问控制符的

作用。

答:类的访问控制符有一个:public

域和方法的访问控制符有四个:public,private,protected,privateprotected,另外还有一种没有定义

专门访问控制符的缺省情况

•public:不同包之间可用public类;主类必须是public类

•缺省访问控制符:该类只能被同一个包内的类访问,又称包访问性

•private:域和方法只能被该类自身访问

•protected:域和方法能被三种类访问:自身,同一包中的其他类,其它包中的该类的子类

privateprotected:域和方法能被二种类访问:自身,该类的所有子类(同一包或其它包)

2.改写本节例子UsePhoneCard成为图形界面的Applet程序,接受用户输入的卡号,密码,金

额和接入号码,创建PhoneCard类的对象并输出这张电话卡的有关信息。

publicclassUsePhoneCard

(

publicstaticvoidmain(Stringargs[])

{

PhoneCardmyCard=newPhoneCard(12345678,1234,50.0,“300”);

System.out.println(myCard.toStringO);

)

)

classPhoneCard

(

longcardNumber;

privateintpassword;

doublebalance;

StringconnectNumber;

booleanconnected;

PhoneCard(longcn,intpw,doubleb,Strings)

{

cardNumber=cn;

password=pw;

if(b>0)

balance=b;

else

System.exit(l);

connectNumber=s;

connected=false;

)

booleanperformConnection(longcn,intpw)

{

if(cn==cardNumber&&pw==password)

connected=true;

returntrue;

)

else

(

connected=false;

returnfalse;

)

)

doublegetBalance()

(

if(connected)

returnbalance;

else

return-1;

)

voidperformDial()

(

if(connected)

balance-=0.5;

)

publicStringtoString()

{

Strings="ConnectedPhoneNumber:"+connectNumber+

"\nCardNumber:"+cardNumber+

n\nCardPassword:"+password+

”\nThebalance:"+balance;

if(connected)

return(s+"\nThephoneisconnected");

else

retum(s+"\nThephoneisdisconnected*');

第五章

习题:

1.什么是多态,多态有哪些方式?

答:多态性:有封装性和继承所引出来的面向对象程序设计的另一特性

方法覆盖实现多态,方法重载实现多态,对象引用的多态

多态方式:

1、子类对父类方法的覆盖

2、利用重载在同一个类中定义多个同名的不同方法

2.什么是接口?

答:接口是用来组织应用中的各类并调用它们的相互关系的一种结构,是实现类间多重继承功能

的结构

将完成特定功能的若干属性组织成相对独立的属性集合,该属性集合就是接口,接口是用来实现

类间多重继承的功能的,接口定义的仅仅是实现某一特定功能的一组功能的对外接口和规范,

而并没有真正实现这个功能,真正实现在继承这个接口的各个类中完成,因而通常把接口功能的

继承称为“实现”。

3.根据下面的要求编程实现复数类ComplexNumber

⑴复数类ComplexNumber的属性

m_dRealPart:实部,代表复数的实数部分

m_dImaginPart:虚部,代表复数的虚数部分

(2)复数类ComplexNumber的方法

ComplexNumber()构造函数,将实部,虚部都置为0

ComplexNumber(doubler,doubleI)构造函数,创建复数对象的同时完成复数的实部,虚部

的初始化

GetRealPart()获取实部

GetImaginaryPart()获取虚部

SetRealPart(doubled)设置实部

SetImaginaryPart(doubled)设置虚部

ComplexAdd(ComplexNumberc)复数相加

ComplexAdd(doublec)复数相加

ComplexMinus(ComplexNumberc)复数相减

ComplexMinus(doublec)复数相减

ComplexMulti(ComplexNumberc)复数相乘

ComplexMulti(doublec)复数相乘

ToString()把当前复数对象的实部,虚部组合成a+bi的字符串形式

答:classComplexNumber

{

doublem_dRealPart;

doublem_dImaginPart;

ComplexNumber()

(

m_dRealPart=O;

m_dImaginPart=O;

1一

ComplexNumber(doubler,doublei)

{

m_dRealPart=r;

m_dImaginPart=i;

)1

doublegetRealPartQ

returnm_dRealPart;

)

doublegetImaginaryPart()

{「-

returnm_dImaginPart;

}一

voidsetRealPart(doubled)

{

m_dRealPart=d;

}

voidsetImaginaryPart(doubled)

{一

m_dImaginPart=d;

},

ComplexNubercomplexAdd(ComplexNuberc)

{

c.m_dRealPart+=m_dRealPart;

c.m_dImaginPart+=m_dImaginPart;

returnc;

}

ComplexNubercomplexAdd(doublec)

(

m_dRealPart+=c;

returnthis;

}

ComplexNubercomplexMinus(ComplexNuberc)

(

c.m_dRealPart-=m_dRealPart;

c.m_dImaginPart-=m_dImaginPart;

returnc;

}

ComplexNubercomplexMinus(doublec)

{

m_dRealPart-=c;

returnthis;

)

ComplexNubercomplexMulti(ComplexNuberc)

(

c.m_dRealPart=c.m_dRealPart*this.m_dRealPart-c.m_dImaginPart*this.

m_dImaginPart;

温馨提示

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

评论

0/150

提交评论