Java第2版习题参考答案.docx

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

Java第2版习题参考答案.docx

《Java第2版习题参考答案.docx》由会员分享,可在线阅读,更多相关《Java第2版习题参考答案.docx(68页珍藏版)》请在冰点文库上搜索。

Java第2版习题参考答案.docx

Java第2版习题参考答案

习题参考答案

——Java程序设计实用教程(第2版)

第1章绪论

1.1

(1)简单性——Java对系统软、硬件要求低;也比较容易学习。

(2)面向对象——Java是纯面向对象的语言。

(3)分布性——Java是面向网络的语言;支持数据分布和操作分布。

(4)鲁棒性——说明Java的健壮性很好,不会轻易造成系统崩溃。

(5)安全性——在防止非法入侵方面表现突出。

(6)体系结构中立——可以在任意的处理器上运行,也可在不同的平台上运行。

(7)可移植性——采用Java虚拟机机制,体现Java最初的开发理念,可跨平台运行。

(8)解释型——Java解释器直接对Java字节码进行解释执行,在单机上运行时速度较慢。

(9)高性能——由于Java字节码的设计,使得它能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。

用Java编写的程序在网络上运行时,其运行速度快。

(10)多线程——在Java中内置了对多线程的支持,使用多线程机制提高了程序性能,可以充分利用CPU。

(11)动态性——Java自身的设计使得它更适合于不断发展的环境,在Java类库中可以自由地加入新的方法和实例变量,而不会影响用户应用程序的执行。

1.2Java在语法中取消了C/C++中具有的不安全的特性,如取消了指针,使得非法访问被杜绝。

用户不可能造成内存分配错误,也用不着专门提防可能出现的内存漏洞。

1.3主要是由于Java程序可以方便地被移植到网络上的不同机器。

另外,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。

1.4对象是类的特例。

1.5略。

1.6略。

第2章绪论

2.1略。

2.2略。

2.3进行SETPATH设置是为了让系统找到Java.exe、Javac.exe在什么文件夹中;SETCLASSPATH设置的作用是查找类路径变量的。

2.4Java程序被分为两类,一类是JavaApplication程序,另一类是JavaApplet程序。

JavaApplication程序是完整的程序,程序中有main()方法是其显著标志,仅需要解释器来解释运行。

JavaApplet程序中没有main()方法,它不能独立运行,它是嵌入到HTML网页(Web页面)中的非独立程序,必须依靠Web浏览器内部包含的Java解释器来解释运行。

2.5第一步,使用某种编辑器编写程序源代码;第二步,将源程序编译为字节码文件,第三步,执行。

2.6请参考例2.1和例2.2。

2.7请参考例2.9。

2.8略。

第3章Java语言基础

3.1合法的变量名:

$UstatenewsAddMyNum_B2变量1addMyNumabc数int

非法的变量名:

A=bbyte3ABC'abc'3.1460xab43e1k*j

3.2⑴20⑵false⑶false⑷true⑸6⑹0

3.3a=2b=1

3.4y=2.0

将程序中的double改为float,其他不变是不行的。

因为,x=2.0后面没有F作为后缀,是默认为double型数据的。

3.5图案1源程序:

//第3章习题5图案1,程序名:

X03_051_菱形五星.java

publicclassX03_051_菱形五星{

publicstaticvoidmain(Stringargs[]){

intm,k,zx=20,Ceng=4;//Ceng是上三角的层数,zx是为了使图案居中的空格数

for(m=1;m<=10;m++)System.out.println("");

for(m=1;m<=Ceng;m++){

for(k=1;k<=zx-m;k++)System.out.print("");//引号中有2个空格

for(k=1;k<=2*m-1;k++)System.out.print("☆");

System.out.println("");

}

for(m=Ceng-1;m>=1;m--){

for(k=1;k<=zx-m;k++)System.out.print("");//引号中有2个空格

for(k=1;k<=2*m-1;k++)System.out.print("☆");

System.out.println("");

}

}

}

图案2源程序:

//第3章习题5图案2,程序名:

X03_052_倒三角五星.java

publicclassX03_052_倒三角五星{

publicstaticvoidmain(String[]args){

//Ceng是上三角的层数,zx是为了使图案居中的空格数

intm,k,zx=20,Ceng=4;

for(m=Ceng;m>=2;m--){

for(k=1;k<=zx-m;k++)

System.out.print("");//引号中有2个空格

for(k=1;k<=2*m-1;k++)

System.out.print("☆");

System.out.println("");

}

for(m=1;m<=Ceng;m++){

for(k=1;k<=zx-m;k++)

System.out.print("");//引号中有2个空格

for(k=1;k<=2*m-1;k++){

if(m>1&&m

if(1==k||2*m-1==k)

System.out.print("☆");

else

System.out.print("");

}else

System.out.print("☆");

}

System.out.println("");

}

}

}

图案3源程序:

//第3章习题5图案3,程序名:

X03_053_倒实三角五星.java

publicclassX03_053_倒实三角五星{

publicstaticvoidmain(String[]args){

//Ceng是上三角的层数,zx是为了使图案居中的空格数

intm,k,zx=20,Ceng=4;

for(m=Ceng;m>=1;m--){

for(k=1;k

System.out.print("");

for(k=1;k<=2*m-1;k++)

System.out.print("☆");

System.out.println("");

}

for(m=2;m<=Ceng;m++){

for(k=1;k

System.out.print("");

for(k=1;k<=2*m-1;k++)

System.out.print("☆");

System.out.println("");

}

}

}

图案4源程序:

//第3章习题5图案4,程序名:

X03_054_倒空三角五星.java

publicclassX03_054_倒空三角五星{

publicstaticvoidmain(String[]args){

//Ceng是上三角的层数,zx是为了使图案居中的空格数

intm,k,zx=20,Ceng=4;

for(m=Ceng;m>=1;m--){

for(k=1;k

System.out.print("");

for(k=1;k<=2*m-1;k++){

if(m

if(k!

=1&&k!

=2*m-1)

System.out.print("");

else

System.out.print("☆");

else

System.out.print("☆");

}

System.out.println("");

}

for(m=2;m<=Ceng;m++){

for(k=1;k

System.out.print("");

for(k=1;k<=2*m-1;k++){

if(m

if(k!

=1&&k!

=2*m-1)

System.out.print("");

else

System.out.print("☆");

else

System.out.print("☆");

}

System.out.println("");

}

}

}

3.6

//第3章习题6,程序名:

X03_06_Sum.java

publicclassX03_06_Sum{

publicstaticvoidmain(String[]args){

intn;

longsum=0,fct=1;//请考虑为什么要将fct声明为long型数据

for(n=1;n<=20;n++){

fct*=n;

sum+=fct;

if(1==n)

System.out.print("sum="+n+"!

");

else

System.out.print("+"+n+"!

");

}

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

}

}

3.7

//第3章习题3.7,计算100(含100)以内的所有偶数的和、所有奇数的和。

//程序名:

X03_07_OuJiSum.java

publicclassX03_07_OuJiSum{

publicstaticvoidmain(String[]args){

intk,sumOu=0,sumJi=0;

for(k=1;k<=100;k++){

if(k%2!

=0){

sumJi+=k;

System.out.print("奇数:

"+k);

}

else{

sumOu+=k;

System.out.println("\t\t偶数:

"+k);

}

}

System.out.println("100以内所有奇数的和="+

sumJi+"\t\t所有偶数的和="+sumOu);

}

}

3.8

//第3章习题8,水仙花数,习题3.8。

程序名:

X03_08_ShuiXianHua.java

publicclassX03_08_ShuiXianHua{

publicstaticvoidmain(Stringargs[]){

intm,j,k,n;

m=j=k=0;

for(n=100;n<1000;n++){

m=n/100;//求出该数的百位上数字

j=n/10-m*10;//求出该数的十位上数字

k=n%10;//求出个位上数字

if(n==m*m*m+j*j*j+k*k*k)

System.out.println(n+"\t");

}

}

}

3.9

//第3章习题9,用while循环语句写程序求e的值,要求直到最后一项的值小于10-4。

//程序名:

X03_09_CalculateE.java

publicclassX03_09_CalculateE{

publicstaticvoidmain(String[]args){

intn=1;

finaldoubleE1=0.0001;

doublesumE=1.0,temp=1.0;

temp=1/fct(n);

while(temp>=E1){

sumE+=temp;

n++;

temp=1.0/fct(n);

}

System.out.println("n="+(n-1)+",sumE="+sumE);

}

staticlongfct(intn){//计算n!

longJieCheng=1;

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

JieCheng*=k;

}

returnJieCheng;

}

}

3.10

//第3章习题10,从公元1900年到2100年所有闰年的年号。

//程序名:

X03_10_LeapYear.java

publicclassX03_10_LeapYear{

publicstaticvoidmain(String[]args){

intk,n=0,year1=1900,year2=2100;

System.out.println("从公元"+year1+"年到"+year2+"年所有闰年的年号:

");

for(k=year1;k<=year2;k++){

if((k%4==0&&k%100!

=0)||k%400==0){

System.out.print(""+k+"\t");

n++;

if(n%5==0)System.out.println("");

}

}

}

}

第4章数组和字符串

4.1

//第4章习题1,程序名:

X04_01_Array.java

publicclassX04_01_Array{

publicstaticvoidmain(Stringargs[]){

intArr[][]={{999,888,777,666},

{11,22,33,44,55},

{1,2,3,4,5,6},

{8000,7000,6000},

};

for(inti=0;i

System.out.println("\t\t\t\tArr["+i+"]"+":

");

for(intj=0;j

System.out.print("Arr["+i+"]["+j+"]="+Arr[i][j]+"\t");

}

System.out.println();

}

}

}

4.2

//第4章习题2,程序名:

X04_02_HasError.java

classX04_02_HasError{

publicstaticvoidmain(Stringargs[]){

StringbArr[]={"I'mastudent.",

"You'reateacher.",

"They'remyfriends."

};

for(inti=0;i

System.out.println(bArr[i]);

System.out.println(bArr[i].toLowerCase());//tolowerCase中的l改为大写

System.out.println(bArr[i].toUpperCase());//touowerCase中的u改为大写

}

}

}

4.3

//第4章习题3,程序名:

X04_03_StudentScore.java

importjavax.swing.JOptionPane;

publicclassX04_03_StudentScore{

publicstaticvoidmain(Stringargs[]){

intcount=6;

doublescore[]=newdouble[count];

StringstrArr[]={"数学","语文","英语","物理","化学","信息技术"};

Stringstr;

doubledoubleSum=0.0,doubleAver=0.0;//学生的总成绩和平均成绩

booleancontiGo=true;

for(intk=0;k

while(contiGo){

str=JOptionPane.showInputDialog("请输入"+strArr[k]+"课程的成绩:

");

try{//处理输入非数值数据或输入的数是0

score[k]=Double.parseDouble(str);

if(0>score[k]||100

JOptionPane.showMessageDialog(null,

"成绩不应该<0或大于100,请重新输入。

","提示信息",

JOptionPane.QUESTION_MESSAGE);

}else

break;

}catch(Exceptionne){

JOptionPane.showMessageDialog(null,

"输入的不是数据,不符合规定,请重新输入。

",

"提示信息",JOptionPane.QUESTION_MESSAGE);

}

}

doubleSum+=score[k];

}

doubleAver=Math.rint((doubleSum/count*100.0))/100.0;//平均成绩保留2位小数

JOptionPane.showMessageDialog(null,"这个同学的总成绩是:

"+doubleSum

+",平均成绩是:

"+doubleAver,"计算结果",

JOptionPane.INFORMATION_MESSAGE);

}

}

4.4

//第4章习题2,程序名:

X04_04_ArrayCoverse.java

publicclassX04_04_ArrayCoverse{

publicstaticvoidmain(String[]args){

intiArray[]={9,5,7,4,8},temp,count;

count=iArray.length;

System.out.println("数组原有数据:

");

for(intk=0;k

System.out.print(iArray[k]+"\t");

}

System.out.println();

for(intk=0;k

temp=iArray[k];

iArray[k]=iArray[count-k-1];

iArray[count-k-1]=temp;

}

System.out.println("逆序重置后的数组数据:

");

for(intk=0;k

System.out.print(iArray[k]+"\t");

}

System.out.println();

}

}

4.5

//第4章习题5,程序名:

X04_05_StringCat.java

publicclassX04_05_StringCat{

publicstaticvoidmain(String[]args){

StringstrArr[]={"Iam","astudent.","我是中国人。

"};

Stringstr="";

intcount=strArr.length;

for(intk=0;k

str=str.concat(strArr[k]);

}

System.out.println(str);

System.out.println("新形成的字符串第8个字符是:

"+str.charAt(7));

System.out.println("新形成的字符串第16个字符是:

"+str.charAt(15));

System.out.println("“中”在这个字符串中的位置是:

"+str.indexOf('中'));

System.out.println("“中国”在这个字符串中的位置是:

"+str.indexOf("中国"));

System.out.println("字符全部大写后:

"+str.toUpperCase());

}

}

4.6

//第4章习题6,程序名:

X04_06_CharCount.java

importjavax.swing.JOptionPane;

publicclassX04_06_CharCount{

publicstaticvoidmain(String[]args){

intcount=0,k=0,spaceV=0,charV=0,numberV=0;

Stringstr;

charcArr[];

str=JOptionPane.showInputDialog("请输入一个字符串:

");

cArr=str.toCharArray();

count=cArr.length;

for(k=0;k

if(''==cArr[k])

spaceV++;//统计空格个数

elseif(cArr[k]>'@'&&cArr[k]<'['|cArr[k]>'\''&&cArr[k]<'{')

charV++;//统计字母A~Z和a~z的个数

elseif(cArr[k]>'/'&&cArr[k]<':

')

numberV++;//统计数字的个数

}

System.out.println("输入的字符串是:

"+str+",\t字符串长度是:

"+str.length());

Sy

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

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

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

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