Java语言程序设计课后习题答案全集.docx

上传人:b****6 文档编号:8869577 上传时间:2023-05-15 格式:DOCX 页数:100 大小:730.37KB
下载 相关 举报
Java语言程序设计课后习题答案全集.docx_第1页
第1页 / 共100页
Java语言程序设计课后习题答案全集.docx_第2页
第2页 / 共100页
Java语言程序设计课后习题答案全集.docx_第3页
第3页 / 共100页
Java语言程序设计课后习题答案全集.docx_第4页
第4页 / 共100页
Java语言程序设计课后习题答案全集.docx_第5页
第5页 / 共100页
Java语言程序设计课后习题答案全集.docx_第6页
第6页 / 共100页
Java语言程序设计课后习题答案全集.docx_第7页
第7页 / 共100页
Java语言程序设计课后习题答案全集.docx_第8页
第8页 / 共100页
Java语言程序设计课后习题答案全集.docx_第9页
第9页 / 共100页
Java语言程序设计课后习题答案全集.docx_第10页
第10页 / 共100页
Java语言程序设计课后习题答案全集.docx_第11页
第11页 / 共100页
Java语言程序设计课后习题答案全集.docx_第12页
第12页 / 共100页
Java语言程序设计课后习题答案全集.docx_第13页
第13页 / 共100页
Java语言程序设计课后习题答案全集.docx_第14页
第14页 / 共100页
Java语言程序设计课后习题答案全集.docx_第15页
第15页 / 共100页
Java语言程序设计课后习题答案全集.docx_第16页
第16页 / 共100页
Java语言程序设计课后习题答案全集.docx_第17页
第17页 / 共100页
Java语言程序设计课后习题答案全集.docx_第18页
第18页 / 共100页
Java语言程序设计课后习题答案全集.docx_第19页
第19页 / 共100页
Java语言程序设计课后习题答案全集.docx_第20页
第20页 / 共100页
亲,该文档总共100页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java语言程序设计课后习题答案全集.docx

《Java语言程序设计课后习题答案全集.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计课后习题答案全集.docx(100页珍藏版)》请在冰点文库上搜索。

Java语言程序设计课后习题答案全集.docx

Java语言程序设计课后习题答案全集

Documentserialnumber【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

 

Java语言程序设计课后习题答案全集

指出JAVA语言的主要特点和JAVA程序的执行过程。

答:

(1)强类型;

(2)编译和解释;

(3)自动无用内存回收功能;

(4)面向对象;

(5)与平台无关;

(6)安全性;

(7)分布式计算;

(8)多线程;

程序执行过程如图所示:

编写源文件,编译器编译源文件转换成字节码,解释器执行字节码。

说出开发与运行JAVA程序的重要步骤。

答:

(1)编写源文件:

使用一个文本编译器,如Edit或记事本,不可以使用Word.将编好的源文件保存起来,源文件的扩展名必须是.java;

(2)编译Java源文件:

使用Java编译器编译源文件得到字节码文件;

(3)运行Java程序:

Java程序分为两类——Java应用程序必须通过Java解释器来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。

如何区分应用程序和小应用程序

答:

应用程序在与源文件名字相同的类中,有main()方法,该方法代表应用程序的入口;小应用程序必须有一个Applet类的子类,该类称作主类,必须用public修饰。

说出JAVA源文件的命名规则。

答:

源文件命名规则和类命名规则一样,所有的单词首字母都用大写字母,且必须和源文件的public类同名。

JAVA语言使用什么字符集共有多少个不同的字符

答:

Java语言使用Unicode字符集,共有65535个字符。

JAVA语言标识符的命名规则是什么

(1)由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字字符组成

(2)限定标识符的第一个字符不能是数字字符

(3)不能和关键字重名

(4)长度不能超过255个字符

JAVA有那些基本数据类型,它们的常量又是如何书写的

数据类型

关键字

字节数

默认值

常量举例

范围

逻辑类型

布尔型

boolean

1

false

false,true

false,true

字符型

char

2

0

a,我,ぽ

0~65535

整数类型

字节性

byte

1

0

12,13,45

-128~127

短整型

short

2

0

12,13,45

-32768~32767

整型

int

8

0

12,13,45

-2E31~2E31-1

长整型

long

8

0L

12L,13L,45L

-2E63~2E63-1

浮点类型

单精度浮点

float

4

0F

-10E38~-10E-38

10E-38~10E38

双精度浮点

double

8

0D

-10E308~-10E-308

10E-308~10E308

指出下列内容哪些是JAVA语言的整型常量,哪些是浮点数类型常量,哪些两者都不是。

整型常量:

4)0xABCL,8)003,10)077,12)056L

浮点数类型常量:

3)-1E-31,5).32E3113)0.,14).0

两者都不是:

1),2),6),7),9),11)

第二章运算和语句

Java的字符能参加算术运算吗

可以。

(1)字符与整型数据运算,结果为整型数据,只能赋给整型变量,如果附给字符型变量会损失精度,需要强制类型装换;

(2)字符与字符运算,结果为字符型数据,可以直接赋给字符型或整型变量。

占字节多的变量能直接赋值给占字节少的变量么

答:

不能直接赋值,需要强制类型转换。

试用Java语言表达式描述以下数学计算式或逻辑条件:

1)

解:

V=3)**(r,3);

2)

解:

R=/R1+R2);

3)

解:

y=(x,5)+(x,3)+6;

4)

解:

F=*M1*M2/(R*R);

5)

解:

(x)/a*x+((π*x/2));

6)0

解:

a>0&&a<10

7)条件x=1与y=2有且只有一个成立.

解:

(x==1&&y!

=2)||(x!

=1&&y==2)

设在求以下表达式之前,整型变量a的值是4,试指出在求了以下表达式之后,变量a、b和c的值。

1)

解:

a=5;b=16;

2)

解:

a=5;c=10

若一个数恰好等于它的因子之和,则这个数称为“完全数”。

编写程序求1000之内的所有完全数。

分析:

若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数。

例如6=1+2+3;28=1+2+4+7+14

程序运行结果:

/**

*@author段智敏

*/

publicclassWork2_6{

publicstaticvoidmain(String[]args){

StringresultString="1000以内,完全数有:

";

;

/**

*输入正整数n,输出由n行n列星号字符组成的三角形图案。

*@author段智敏

*/

publicclassWork2_8

{

publicstaticvoidmain(Stringargs[])

{

ScannerconsoleScanner=newScanner;

"请输入正整数n:

");

Stringstr=();

intn=-1;

try

{

n=(str);

}

catch(NumberFormatExceptione)

{

"输入非法字符,程序结束!

");

return;

}

if(n<1)

"输入的数不是正实数,程序结束!

");

else

{

for(inti=0;i

{

for(intj=0;j

{

"");

}

for(intk=0;k

{

"*");

}

}

}

}

}

设有整型变量x和y的值分别为5和110。

试指出执行了以下循环语句后,变量x和y的值分别多少

1)while(x<=y)x*=2;

   解:

x=160;y=110;

2)do{x=y/x;y=y-x;}while(y>=1);

   解:

x=18;y=0;

求小于999的所有水仙花数。

程序运行结果:

源代码文件:

/**

*求小于999的所有水仙花数

*@author段智敏

*/

publicclassWork2_10

{

publicstaticvoidmain(String[]args){

StringresultString=newString("1000之前的所有水仙花数有:

");

....

/**

*按公式计算:

e=1+1/1!

+1/2!

+1/3!

+1/4!

+......

*@author段智敏

*/

publicclassWork2_12

{

publicstaticvoidmain(Stringargs[])

{

intn=1000;.

程序运行结果:

源代码文件:

/**

*圆周率计算

*@author段智敏

*/

publicclassWork2_13

{

publicstaticvoidmain(Stringargs[])

{

intnum=1000000;

例变量名

被实例方法,构造方法访问

类变量

直接分配内存

各个对象之间共享这段已经分配完的内存

对象名.类变量名;类名.类变量名

被实例方法,类方法,构造方法访问

成员方法

实例方法

不分配入口地址

共享一个入口地址

对象名.实例方法名

实例变量、类变量,实例方法、类方法

类方法

直接分配入口地址

共享这个入口地址

对象名.类方法名;类名.类方法名

类变量、类方法

子类能继承超类的哪些成员变量和方法

同包继承

不同包继承(import进来的)

私有(private)

不继承

不继承

友好(缺省默认)

继承

不继承

受保护(protected)

继承

继承

共有(public)

继承

继承

子类在什么情况下能隐藏超类的成员变量和方法

解:

子类重载父类的成员变量、方法时候。

在子类中是否允许有一个方法和超类的方法名字相同,而类型不同

解:

不允许。

方法重写是指:

子类中定义一个方法,并且这个方法的名字、返回类型、参数个数、和类型与从父类继承的方法完全相同。

以下程序有什么错误

解:

类方法main()调用了类的实例变量,main方法是类方法,不能调用类的实例变量a,导致错误!

声明一个复数类Complex。

实现其基本功能。

复数类:

/**

*复数类

*@author段智敏

*/

publicclassComplex

{

privatedoublereal;

ength,而确定一个String对象的长度用对象名.length()

用toUpperCase()和toLowerCase()方法实现大小写转换

答:

publicclassUpperAndLowerTest{

publicstaticvoidmain(Stringargs[]){

Strings1=("ABCdefgHIJkhl123"),s2,s3;

"未转换时的字符串s1="+s1);

bytet1[]=();

{

arrayInt[index]=i;

index++;

}

}

}

/**

*打印数组元素

*/

publicStringprintArray()

{

Stringresult="";

for(inti=0;i<;i++)

{

if(arrayInt[i]!

=0)

result+=arrayInt[i]+"";

}

returnresult;

}

publicstaticvoidmain(String[]args)

{

Work4_10w=newWork4_10(100);

}

}

编写实现从两个字符串中找出最长的相同字符列的代码。

程序运行结果:

/**

*找出两个字符串中,最长的相同字符列

*@author段智敏

*/

publicclassWork4_11

{

publicstaticvoidmain(String[]args)

{

Stringstr1="0000abcdef0000";

Stringstr2="123ab4567cdef789abcdef";

Stringstr3=getLongSameString(str1,str2);

"str1="+str1);

"str2="+str2);

"最长的相同字符串为:

"+str3);

}

publicstaticStringgetLongSameString(Stringstr1,Stringstr2)

{

Stringtemp="";

Stringsame="";

StringlongSame="";

for(inti=0;i<();i++)

{

for(intj=i+1;j<=();j++)

{

temp=(i,j);

if(temp)>0)

{

same=temp;

if()<())

{

longSame=temp;

}

}

}

}

returnlongSame;

}

}

整理字符串,将字符串的前导空白符和后随空白符删去,并将字符串中非空白字符之间的连接的多个空白符只保留一个,而去掉多余的空白符。

程序运行结果:

publicclassWork4_12

{

publicstaticvoidmain(Stringargs[]){

Stringstr="ILoveYou";

str=();

StringTokenizers=newStringTokenizer(str);

StringnewStr="";

while()){

newStr=newStr+""+();

}

"旧字符串:

"+str);

"处理后新字符串:

"+newStr);

}

}

编写用数组实现大整数的类,提供大整数的加、减、乘等运算。

程序运行结果:

大整数类源文件:

/**

*大整数类

*@author段智敏

*/

publicclassMyBigInteger

{

/**能存储的最大位数*/

publicstaticfinalintMAXLENGTH=100;

/**正负号标识*/

privateintsignum=1;

/**实际存储用的数组*/

privateintdataArray[];

/**

*将参数的十进制字符串表示形式转换为BigInteger。

*@paramval-要转换的十进制字符串表示形式。

*/

publicMyBigInteger(Stringval)

{

(val);

}

/**

*声明一个MAXLENGTH位的,空的大整数类

*/

publicMyBigInteger()

{

dataArray=newint[];

}

/**

*根据十进制字符串表示形式转换为MyBigInteger的数据

*@paramstr-十进制字符串表示形式。

*/

publicvoidsetData(Stringstr)

{

dataArray=newint[];

try

{

intend=0;

signum=1;

if(0)=='-')

{

signum=-1;

end=1;

}

intindex=0;

for(inti=()-1;i>=end;i--)

{

dataArray[index++]=(i)));

}

}

catch(NumberFormatExceptione)

{

();

}

}

/**

*加法,返回其值为(this+val)的BigInteger。

*@paramval-将添加到此BigInteger中的值。

*@return-this+val

*/

publicMyBigIntegeradd(MyBigIntegerval)

{

MyBigIntegerresult=newMyBigInteger();

if>0&&<0)ubtract());

}

ength()<().length())ength()==().length())oString().length();

}

/**

*检查进位,做加法时检测

*@parami

*/

privatevoidcarryBit(inti)

{

if(i<-1)

[i+1]+=[i]/10;

[i]=[i]%10;

}

/**

*检查借位,做减法时检测

*/

privatevoidborrowBit(inti)

{

if(i<-1)

{

if[i]<0)

{

[i]=[i]+10;

[i+1]--;

}

}

}

}

 

大整数类测试类源文件:

import*大整数测试类

*@author段智敏

*/

publicclassTestBigInteger

{

publicstaticvoidmain(String[]args)

{

Stringa="";

Stringb="57";

MyBigIntegerm1=newMyBigInteger(a);

MyBigIntegerm2=newMyBigInteger(b);

MyBigIntegerm3;

BigIntegerb1=newBigInteger(a);

;

import.*;

/**

*创建一个有文本框和三个按钮的程序。

当按下某个按钮时,使不同的文字显示在文本框中。

*@author段智敏

*/

publicclassWork5_7extendsJFrameimplementsActionListener

{

privatestaticfinallongserialVersionUID=1L;

privateJTextFieldtext;

privateJButtonbutton1,button2,button3,exit_button;

privateJPanelpanel;

publicWork5_7()

{

text=newJTextField(10);

button1=newJButton("刘德华");

button2=newJButton("张学友");

button3=newJButton("蔡依林");

exit_button=newJButton("退出");

(this);

(this);

(this);

(this);

panel=newJPanel();

(button1);

(button2);

(button3);

(newFlowLayout());

(text);

(panel);

(exit_button);

(300,200);

(true);

;

}

publicvoidactionPerformed(ActionEvente)

{

if()==exit_button)

{

(0);

}

else

{

());

}

}

publicstaticvoidmain(Stringargs[])

{

newWork5_7();

}

}

编写一个有两个文本框的小应用程序,在第一个文本框输入英语单词,在第二个文本框会自动显示汉语解释;在第一个文本框输入汉语单词,在第二个文本框中显示英语解释。

设英语单词表只有少许几个。

程序运行结果:

源文件:

import.*;

import.*;

/**

*@author段智敏

*/

publicclassWork5_8extendsJFrameimplementsActionListener,KeyListener

{

privatestaticfinallongserialVersionUID=1L;

privateJTextFieldinput_English,input_Chinese;

privateJLabellabel1,label2;

privateJPanelpanel1,panel2;

privateString[]word_English={"moon","star","sun"};

;

import.*;

import.*;

/**

*

*@author段智敏

*/

publicclassWork5_9extendsJFrameimplementsActionListener

{

privatestaticfinallongserialVersionUID=1L;

privateJLabelresult_label;

privateJTextAreainput_textArea;

privateJTextFieldshowResult_textField;

privateJButtonsum_button,average_button,clear_button;

privateJPanelpanelNorth,panelSouth;

publicWork5_9()

{

result_label=newJLabel("请选择你的操作");

showResult_textField=newJTextField(12);

input_textArea=newJTextArea();

sum_button=newJButton("求 和");

average_button=newJButton("平均值");

clear_button=newJButton("清空");

panelNorth=newJPanel();

panelSouth=newJPanel();

(this);

(this);

(this);

(sum_button);

(average_button);

(result_label);

(showResult_textField);

(clear_button);

(panelNorth,;

(newJScrollPane(input_textArea),;

(panelSouth,;

(newWi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2