java程序设计案例教程课后答案王希军(java程序设计案例教程课后
java语言程序设计(第三版)清华大学出版社答案
1.5请参照本章例题,编写一个C程序,输出以下信息:
**************************
Very Good!
**************************
解:
mian()
{printf(“**************************”);
printf(“\n”);
printf(“Very Good!\n”);
printf(“\n”);
printf(“**************************”);
}
1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。
解:
mian()
{int a,b,c,max;
printf(“请输入三个数a,b,c:\n”);
scanf(“%d,%d,%d”,a,b,c);
max=a;
if(maxb)
max=b;
if(maxc)
max=c;
printf(“最大数为:“%d”,max);
}
第三章
3.6写出以下程序运行的结果。
main()
{char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;
printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);
printf(“\t\b%c %c”,c4,c5);
}
解:
aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabc
AㄩN
3.7 要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
解:
#include stdio.h
main()
{ char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’;
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
运行结果:
密码是Glmre
3.9求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7
(2)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
(1)2.5
(2)3.5
3.10写出程序运行的结果。
main()
{int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n);
}
解:
9,11,9,10
3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。
(1)a+=a (2) a-=2 (3) a*=2+3 (4)a/=a+a
(5) a%=(n%=2),n的值等于5
(6)a+=a-=a*=a
解:
(1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0
第四章
4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。
a=_3_ _b=_4_ _c=_5
x=1.200000,y=2.400000,z=-3.600000
x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40
c1=ˊaˊ_or_97(ASCII)
c2=ˊbˊ_or_98(ASCII)
main()
{int a=3,b=4,c=5;
long int u=51274,n=128765;
float x=1.2,y=2.4,z=3.6;
char c1=’a’,c2=’b’;
printf("a=%2d b=%2d c=%2d\n",a,b,c);
printf("x=%f,y=%f,z=%f\n",x,y,z);
printf("x+y=%5.2f y+z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x);
printf("u=%6ld n=%9ld\n",u,n);
printf("%s %s %d%s\n","c1=’a’","or",c1,"(ASCII)");
printf("%s %s %d%s\n","c2=’a’","or",c2,"(ASCII)");
}
4.7用scanf下面的函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=ˊAˊ,c2=ˊaˊ,问在键盘上如何输入?
main()
{
int a,b;float x,y;char c1c2;
scanf("a=%d_b=%d",a,b);
scanf("_x=%f_y=%e",x,y);
scanf("_c1=%c_c2=%c",c1,c2);
}
a=3_b=7
_x=8.5_y=71.82
_c1=A_c2=a
4.8设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。
main()
{float r,h,C1,Sa,Sb,Va,Vb;
scanf("%f,%f",r,h);
C1=2*3.14*r;
Sa=3.14*r*r;
Sb=4*Sa;
Va=4*3.14*r*r*r/3;
Vb=Sa*h;
printf("C1=%.2f\n",C1);
printf("Sa=%.2f\nSb=%.2f\nVa=%.2f\nVb=%.2f\n",Sa,Sb,Va,Vb);
}
4.9输入一个华氏温度,要求输出摄氏温度。公式为
c=5(F-32)/9
输出要求有文字说明,取位2小数。
main()
{float F,c;
scanf("%f",F);
c=5*(F-32)/9;
printf("c=%.2f",c);
}
4.10编程序,用getchar函数读入两个字符给c1、c2,然后分别用函数和函数输出这两个字符。并思考以下问题:(1)变量c1、c2应定义为字符型或整形?抑二者皆可?(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?(3)整形变量与字符变量是否在任何情况下都可以互相代替?如:
char c1,c2;
与
int c1,c2;
是否无条件的等价?
#include"stdio.h"
main()
{char c1,c2;
c1=getchar();c2=getchar();
putchar(c1);putchar(’\n’);putchar(c2);putchar(’\n’);
}
#include"stdio.h"
main()
{char c1,c2;
c1=getchar();c2=getchar();
printf("c1=%d c2=%d\n",c1,c2);
printf("c1=%c c2=%c\n",c1,c2);
}
第五章
5.1 什么是算术运算?什么是关系运算?什么是逻辑运算?
解:略。
5.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?
解:设有一个逻辑表达式,若其结果为“真”,则以1表示;若其结果为“假”,则以0表示。但是判断一个逻辑量的值时,以0代表“真”,以非0代表“假”。例如35的值为“真”,系统给出35的值为1。
5.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。
(1) a+bcb==c
(2) a||b+cb-c
(3) !(ab)!c||1
(4) !(x=a)(y=b)0
(5) !(a+b)+c-1b+c/2
解:
(1) 0
(2) 1
(3) 1
(4) 0
(5) 1
5.4 有3个整数a、b、c,由键盘输入,输出其中最大的数。
解:
方法一
#include stdio.h
main()
{ int a,b,c;
printf("请输入3个整数:");
scanf("%d,%d,%d",a,b,c);
if(ab)
if(bc) printf("max=%d\n",c);
else printf("max=%d\n",b);
else if(ac) printf("max=%d\n",c);
else printf("max=%d\n",a);
}
方法二:使用条件表达式,可以使程序更加简明、清晰。
程序如下:
#include stdio.h
main()
{ int a,b,c,temp,max;
printf("请输入3个整数:");
scanf("%d,%d,%d",a,b,c);
temp=(ab)?a:b; /* 将a和b中的大者存人temp中 */
max=(tempc)?temp:c; /* 将a和b中的大者与c比较,取最大者*/
printf("3个整数的最大数是%d\n”,max);
}
5.5 有一函数:
写一程序,输入x值,输出y值。
解:
#include stdio.h
main()
{int x,y;
printf("输入x:");
scanf("%d",x);
if(x1) /* x1 */
{ y=x;
printf("x=%3d, y=x=%d\n",x,y);
}
else if (x10) /* 1≤x-10 */
{ y=2*x-1;
printf("x=%3d, y=2*x-1=%d\n",x,y);
}
else /* x≥10 */
{ y=3*x-11;
printf("x=%3d, y=3*x-11=%d\n",x,y);
}
}
5.6 给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80~90分为’B’,70~79分为’C’,60分以下为’D’。
解:
程序如下:
#include stdio.h
main()
{ float score;
char grade;
printf("请输入学生成绩:");
scanf("%f",score);
while(score100||(score0)
{ printf("\n输入有误,请重新输入:");
scanf("%f",score);
}
switch((int)(score/10))
{ case 10:
case 9: grade=’A’;break;
case 8: grade=’B’;break;
case 7: grade=’C’;break;
case 6: grade=’D’;break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: grade=’E’;
}
printf("成绩是%5.1f,相应的等级是%c。\n",score,grade);
}
说明:对输入的数据进行检查,如小于0或大于100,要求重新输入。(int)(score/10)的作用是将 (score/10) 的值进行强制类型转换,得到一个整型值。
5.7 给定一个不多于5位的正整数,要求:① 求它是几位数;② 分别打印出每一位数字;③ 按逆序打印出各位数字。例如原数为321,应输出123。
解:
#include stdio.h
main()
{ long int num;
int indiv,ten,hundred,thousand,ten_thousand,place;
/*分别代表个位、十位、百位、千位、万位和位数*/
printf("请输入一个整数(0~99999):");
scanf("%ld",num);
if (num9999) place=5;
else if(num999) place=4;
else if(num99) place=3;
else if(num9) place=2;
else place=1;
printf("place =%d\n", place);
ten_thousand=num/10000;
thousand=num/1000%10;
hundred=num/100%10;
ten=num%100/10;
indiv=num%10;
switch(place)
{ case 5: printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
printf("\n反序数字为;");
printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
break;
case 4: printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf("\n反序数字为:");
printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
break;
case 3: printf("%d,%d,%d",hundred,ten,indiv);
printf("\n反序数字为:");
printf("%d%d%d\n",indiv,ten,hundred);
break;
case 2: printf("%d,%d",ten,indiv);
printf("\n反序数字为:");
printf("%d%d\n",indiv,ten);
break;
case 1: printf("%d",indiv);
printf("\n反序数字为:");
printf("%d\n",indiv);
break;
}
}
5.8 企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提成10% ;利润高于10万元,低于20万元(100000I≤200000)时,其中10万元按10%提成,高于10万元的部分,可提成7.5% ;200000I≤400000时,其中20万元仍按上述办法提成(下同),高于20万元的部分按5%提成;400000I≤600000时,高于40万元的部分按3%提成;600000〈I≤1000000时,高于60万的部分按1.5%提成;I1000000时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发放奖金总数。要求:(1)用if语句编程序;(2)用switch语句编程序。
解:计算利润时,要特别注意不同利润的不同提成比例。例如,利润为15万元,其中有10万元按10%的比例提成,另外5万元则按7.5%提成。
(1) 用if语句编程序。
#include stdio.h
main()
{ long i;
float bonus,bon1,bon2,bon4,bon6,bon10;
bon1=100000*0.1; /*利润为10万元时的奖金*/
bon2=bon1+100000*0.075; /*利润为20万元时的奖金*/
bon4=bon2+200000*0.05; /*利润为40万元时的奖金*/
bon6=bon4+200000*0.03; /*利润为60万元时的奖金*/
bon10=bon6+400000*0.015; /*利润为100万元时的奖金*/
printf("请输入利润i:");
scanf("%ld",i);
if(i=100000)
bonus=i*0.1; /*利润在10万元以内按0.1提成奖金*/
else if(i=200000)
bonus=bon1+(i-100000)*0.075; /*利润在10万至20万元时的奖金*/
else if(i=400000)
bonus=bon2+(i-200000)*0.05; /*利润在20万至40万元时的奖金*/
else if(i=600000)
bonus=bon4+(i-400000)*0.03; /*利润在40万至60万元时的奖金*/
else if(i=1000000)
bonus=bon6+(i-600000)*0.015; /*利润在60万至100万元时的奖金*/
else
bonus=bon10+(i-1000000)*0.01; /*利润在100万元以上时的奖金*/
printf(”奖金是%10.2f\n",bonus);
}
此题的关键在于正确写出每一区间的奖金计算公式。例如利润在10万元至20万时,奖金应由两部分组成:①利润为10万元时应得的奖金。即100000ⅹ0.1;②10万元以上部分应得的奖金。即(num-100000)ⅹ0.075。同理,20万~40万这个区间的奖金也应由两部分组成:①利润为20万元时应得的奖金,即100000ⅹ0.1ⅹ10万ⅹ0.075;②20万元以上部分应得的奖金,即(num-200000)ⅹ0.05。程序中先把10万、20万、40万、60万、100万各关键点的奖金计算出来,即bon1、bon2、bon4、bon6、hon10;然后再加上各区间附加部分的奖金。
(2) 用switch语句编程序。
输入利润i,确定相应的提成等级branch
根据branch确定奖金值
0 奖金=i*0.1
1 奖金=bon1+(i-105)*0.075
2 奖金=bon2+(i-2*105)*0.05
3
4 奖金=bon4+(i-4*105)*0.03
5
6 奖金=bon6+(i-6*105)*0.015
7
8
9
10 奖金=bon10+(i-106)*0.01
输出奖金
#include stdio.h
main()
{ long i;
float bonus, bon1, bon2, bon4, bon6, bon10;
int c;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+200000*0.05;
bon6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
printf("请输入利润i:");
scanf("%ld",i);
c=i/100000;
if(c10) c=10;
switch(c)
{ case 0: bonus=1*0.1;break;
case 1: bonus=bon1+(i-100000)*0.075;break;
case 2 :
case 3: bonus=bon2+(i-200000)*0.05; break;
case 4:
case 5: bonus=bon4+(i-400000)*0.03;break;
case 6:
case 7:
case 8:
case 9: bonus=bon6+(i-600000)*0.015;break;
case 10: bonus=bon10+(i-1000000)*0.01;
}
printf("奖金是%10.2f",bonus);
}
5.9 输入4个整数,要求按由大到小的顺序输出。
解:此题采用依次比较的方法排出其大小顺序。在学习了循环和数组以后,可以有更多的排序方法。
#include stdio.h
main()
{ int t,a,b,c,d;
printf("请输入4个整数:");
scanf("%d,%d,%d,%d",a,b,c,d);
printf("\n a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
if(ab) {t=a; a=b; b=t;}
if(ac) {t=a; a=c; c=t;}
if(ad) {t=a; a=d; d=t;}
if(bc) {t=a; b=c; c=t;}
if(bd) {t=b; b=d; d=t;}
if(cd) {t=c; c=d; d=t;}
printf("排序结果如下:\n");
printf("%d, %d, %d, %d\n",a,b,c,d);
}
5.10 有4个圆塔,圆心分别为(2,2)、(-2,2)、(2,-2)、(-2,-2),圆半径为1。这4个塔的高度分别为10m。塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。
程序如下:
#include stdio.h
main()
{ int h=10;
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=-2,y4=-2,x,y,d1,d2,d3,d4;
printf("请输入一个点(x,y):");
scanf("%f,%f",x,y);
d1=(x-x1)*(x-x1)+(y-y1)*(y-y1); /*求该点到各中心点的距离*/
d2=(x-x2)*(x-x2)+(y+y2)*(y+y2);
d3=(x+x3)*(x+x3)+(y-y3)*(y-y3);
d4=(x+x4)*(x-x4)*(y+y4)*(y+y4);
if(d11d21d31d41) h=0; /*判断该点是否在塔外*/
printf("该点高度为%d\n",h);
}
第六章
第六章 循环控制
6.1输入两个正整数m和n,求其最大公约数和最小公倍数。
main()
{long m,n,i=1,j,s;
scanf("%ld,%ld",m,n);
for(;i=mi=n;i++)
{if(m%i==0n%i==0) s=i;}
if(m=n) j=m;
else j=n;
for(;!(j%m==0j%n==0);j++);
printf("s=%ld,j=%ld\n",s,j);
}
6.2输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
#include"stdio.h"
main()
{char c;int i=0,j=0,k=0,l=0;
while((c=getchar())!=’\n’)
{if(c=65c=90||c=97c=122) i++;
else if(c=48c=57) j++;
else if(c==32) k++;
else l++;}
printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);
}
6.3求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。
#include"math.h"
main()
{int n,sum=0,i=1,s=2;
scanf("%d",n);
while(i=n)
{sum=sum+s;s=s+2*pow(10,i);
i++;}
printf("sum=%d\n",sum);
}
6.4 求 ,(即求1!+2!+3!+4!+5!+…+20!)
main()
{int n,i=1;long sum=0,s=1;
scanf("%d",n);
while(i=n) {s=s*i;sum=sum+s;i++;}
printf("sum=%ld\n",sum);
}
6.5 求
main()
{double i=1,j=1,k=1,s1=0,s2=0,s3=0,sum;
for(;i=100;i++) s1=s1+i;
for(;j=50;j++) s2=s2+j*j;
for(;k=10;k++) s3=s3+1/k;
sum=s1+s2+s3;
printf("sum=%f\n",sum);
}
6.6打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。
#include"math.h"
main()
{int x=100,a,b,c;
while(x=100x1000) {a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b;
if(x==(pow(a,3)+pow(b,3)+pow(c,3))) printf("%5d",x);x++;}
}
6.7一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。编程序找出1000之内的所有完数,并按下面格式输出其因子:
6 its factors are 1、2、3
main()
{int m,i,j,s;
for(m=6;m10000;m++)
{s=1;
for(i=2;im;i++)
if(m%i==0) s=s+i;
if(m-s==0)
{printf("%5d its fastors are 1 ",m);for(j=2;jm;j++) if(m%j==0)
printf("%d ",j);printf("\n");}
}
}
或
main()
{int m,i,j,s;
for(m=6;m1000;m++)
{s=m-1;
for(i=2;im;i++)
if(m%i==0) s=s-i;
if(s==0)
{printf("%5d its fastors are 1 ",m);for(j=2;jm;j++) if(m%j==0)
printf("%d ",j);printf("\n");}
}
}
6.8有一分数序列:
求出这个数列的前20项之和。
main()
{int i=1,n;double t,x=1,y=2,s,sum=0;
scanf("%ld",n);
while(i=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}
printf("%f\n",sum);
}
6.9一球从100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地时共经过多少米?第10次反弹多高?
main()
{int i,n;double h=100,s=100;
scanf("%d",n);
for(i=1;i=n;i++)
{h*=0.5;if(i==1) continue;s=2*h+s;}
printf("h=%f,s=%f\n",h,s);
}
6.10猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
main()
{int i=1,sum=0;
for(;i=10;sum=2*sum+1,i++);
printf("sum=%d\n",sum);
}
6.11用迭代法求 。求平方根的迭代公式为:
要求前后两次求出的得差的绝对值少于0.00001。
#include"math.h"
main()
{float x0,x1,a;
scanf("%f",a);
x1=a/2;
do
{x0=x1;x1=(x0+a/x0)/2;}
while(fabs(x0-x1)=0.00001);
printf("%.3f\n",x1);
}
6.12 用牛顿迭代法求方程在1.5附近的根。
main()
{double x,y;x=1.5;
do{y=2*x*x*x-4*x*x+3*x-6;
x=x-y/(6*x*x-8*x+3);}
while(y!=0);
printf("x=%.3f\n",x);
}
6.13用二分法求方程在(-10,10)之间的根
main()
{double x1,x2,y1,y2;x1=-10;x2=10;
do{y1=2*x1*x1*x1-4*x1*x1+3*x1-6;
x1=x1-y1/(6*x1*x1-8*x1+3);}
while(y1!=0);
do
{y2=2*x2*x2*x2-4*x2*x2+3*x2-6;
x2=x2-y2/(6*x2*x2-8*x2+3);}
while(y2!=0);
printf("x1=%.3f,x2=%.3f\n",x1,x2);
}
6.14打印以下图案
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
java大学实用教程(习题讲解答案)
你到书店买吧 网上书店 有你要的书...
第1章 Java语言概述
1.1 Java语言的诞生
1.2 学习Java的必要性
1.3 Java的特点
1.4 Java与C/C++之关系
1.5 Java运行平台
1.6 Java程序开发
1.7 SDK 1.5编译器的新规定
问答题
作业题
第2章 基本数据类型和数组
2.1 标识符和关键字
2.2 基本数据类型
2.3 基本数据类型的转换
2.4 数据的输入与输出
2.5 数组
问答题
作业题
第3章 运算符、表达式与语句
3.1 算术运算符和算术表达式
3.2 关系运算符和关系表达式
3.3 逻辑运算符和逻辑表达式
3.4 赋值运算符和赋值表达式
3.5 移位运算符
3.6 位运算符
3.7 条件运算符
3.8 instanceof运算符
3.9 一般表达式
3.10 语句概述
3.11 分支语句
3.12 循环语句
3.13 跳转语句
问答题
作业题
第4章 类与对象
4.1 类声明和类体
4.2 类体的构成
4.3 构造方法与对象的创建
4.4 对象的引用与实体
4.5 成员变量
4.6 方法
4.7 方法重载
4.8 关键字this
4.9 包
4.10 import 语句
4.11 访问权限
4.12 基本类型数据的类包装
4.13 反编译和文档生成器
问答题
作业题
第5章 继承、接口与泛型
5.1 子类与父类
5.2 子类的继承性
5.3 子类对象的构造过程
5.4 成员变量隐藏和方法重写
5.5 关键字super
5.6 final类与final方法
5.7 对象的上转型对象
5.8 继承与多态
5.9 abstract类
5.10 接口
5.11 接口回调
5.12 内部类
5.13 匿名类
5.14 异常类
5.15 泛型类
问答题
作业题
第6章 字符串和正则表达式
6.1 String类
6.2 StringBuffer类
6.3 StringTokenizer类
6.4 正则表达式与模式匹配
6.5 元字符模式
6.6 限定符模式
6.7 模式的逻辑或
问答题
作业题
第7章 常用实用类
7.1 Date类
7.2 Calendar类
7.3 Math类与BigInteger类
7.4 LinkedListE泛型类
7.5 HashSetE泛型类
7.6 HashMapK,V泛型类
7.7 TreeSetE泛型类
7.8 TreeMapK,V泛型类
7.9 StackE泛型类
问答题
作业题
第8章 线程
8.1 Java中的线程
8.2 线程的生命周期
8.3 线程的优先级与调度管理
8.4 Thread的子类创建线程
8.5 Runable接口
8.6 线程的常用方法
8.7 线程同步
8.8 在同步方法中使用wait()、notify()和notifyAll()
8.9 线程联合
8.10 守护线程
问答题
作业题
第9章 输入/输出流
9.1 文件
9.2 文件字节流
9.3 文件字符流
9.4 从键盘读取数据
9.5 缓冲流
9.6 数组流
9.7 字符串流
9.8 数据流
9.9 管道流
9.10 对象流
9.11 序列化和对象克隆
9.12 随机读写流
9.13 文件锁
问答题
作业题
第10章 基于SWING的图形用户界面设计
10.1 AWT组件与SWING组件概述
10.2 JFrame窗体
10.3 菜单组件
10.4 布局设计
10.5 中间容器
10.6 文本组件
10.7 按钮与标签组件
10.8 复选框与单选按钮组件
10.9 列表组件
10.10 表格组件
10.11 树组件
10.12 进度条组件
10.13 组件常用方法
10.14 焦点事件
10.15 窗口事件
10.16 鼠标事件
10.17 键盘事件
10.18 多文档界面
10.19 AWT线程
10.20 对话框
10.21 打印组件
10.22 发布应用程序
问答题
作业题
第11章 Java中的网络编程
11.1 URL类
11.2 读取URL中的资源
11.3 显示URL资源中的html文件
11.4 处理超链接
11.5 InetAddress类
11.6 套接字Socket
11.7 使用多线程处理套接字连接
11.8 UDP数据报
11.9 广播数据报
问答题
作业题
第12章 Java Applet
12.1 Java Applet的运行原理
12.2 在Java Applet中播放声音
12.3 在网页向Java Applet传值
12.4 在Java Applet中使用AWT组件
12.5 在Java Applet中使用SWING组件
12.6 在Java Applet中绘制图形
12.7 在Java Applet中绘制图像
12.8 在Java Applet中播放幻灯片和动画
12.9 Java Applet的网络功能
问答题
作业题
求JAVA语言程序设计作业答案
3、C;4、A;6、A;7、A;8、D;12、A;13、B;14、B;17、A;18、D;19、D;20、A;
4题:A很明显是错误的,java程序在运行前需要编译成字节码文件,才能运行。
14题:在Java语言中,标识符是以字母、下划线或美元符开头,由字母、数字、下划线或美元符组成的字符串。标识符区分大小写,长度没有限制。除以上所列几项之外,标识符中不能含有其他符号,也不允许插入空格。
17题:向main方法传入的是三个参数接收后args[]={"aaa","bb","c"}
int k1=args.length;//得到数组元素个数,为3
int k2=args[1].length();//得到数组中下标为1的元素字符数(即第二个元素)
18题:String s1="AbcD"; String s2=s1.toLowerCase(); 作用是把字符串全部转为小写,所以选D
19题:函数重载定义 1:保持相同的功能,并且有相同的函数名
2、重载方式为:返回值类型不同,形参个数不同同,形参类型不同。
在满足一的前提下,二中三个条件任意一个,或其中多个的任意组合都是重载
20题:BB继承了AA并且重写了Show()方法。父类AA实例化了a,所以a.Show()调用的是父类中的Show方法,显示:我喜欢Java!子类BB实例化了b,所以b.Show()调用子类BB中的Show方法,显示:我喜欢C++!