Java程序设计实用教程_胡伏湘_清华大学出版社007习题答案

时间:2019-05-12 21:09:37下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Java程序设计实用教程_胡伏湘_清华大学出版社007习题答案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Java程序设计实用教程_胡伏湘_清华大学出版社007习题答案》。

第一篇:Java程序设计实用教程_胡伏湘_清华大学出版社007习题答案

《Java程序设计精典教程》习题答案

编著:胡伏湘,雷军环

清华大学出版社

第7章习题解答

一、简答题

1.Applet有什么安全限制?

答:Applet不能加载客户端的类与定义客户端的方法,Applet不能访问客户端的文件,包括阅读、修改、删除,Applet不能在客户端创建网络连接,防止客户端的资料被盗取,Applet不能在客户端启动任何程序。

2.Applet是什么?简述Applet在浏览器中执行的工作原理。

答:Applet也叫小应用程序,是一种在浏览器环境下运行的Java程序。当某一个浏览器向服务器请求下载嵌入了Applet的HTML文件时,浏览器会根据Applet的名字和位置自动把字节码文件从www.xiexiebang.component类中声明的。

Applet的显示和刷新由一个独立的线程控制,称为AWT线程。当Applet首次被加载或Applet部分显示内容被其他窗口覆盖,那么当其他窗口关闭或移开时,AWT线程会自动调用paint()方法。当在程序中使用repaint()方法通知系统更新显示内容时,AWT线程会自动调用update()方法,该方法首先将当前显示画面清空,然后调用paint()方法绘制新的内容。

5.在Applet中如何显示图像?

答:在Applet中显示图像的方法如下:

 在Applet的init()方法中用Applet类的getImage()方法装载一个Image对象  在Applet的paint()方法中用Graphics类的drawImage()方法将该对象画在屏幕上。

6.在Applet中如何播放声音?

答:在Applet中播放声音文件有两种不同的方式: 第一种方法:利用Applet类的play()方法直接播入。

第二种方法:利用Applet的getAudioClip()方法创建声音剪辑对象,加载指定文件,返 回AudioClip对象,然后利用AudioClip对象的声音文件处理方法play()或loop()方法播放声音。

二、编程题

1.试绘制一面国旗。程序的运行结果如图7-11所示:

图7-11 程序代码如下: import java.awt.*;import java.awt.Graphics;import java.awt.event.*;import java.applet.Applet;

public class XT007201 extends Applet {

public void paint(Graphics g){

//下面两行是大五角星的10个拐点的X坐标和Y坐标

int xs1[]={80,85,98,87,92,80,68,73,63,75,80};

int ys1[]={40,54,54,62,76,67,76,62,54,54,40};

//下面两行是第1个小五角星的10个拐点X坐标和Y坐标

int xs2[]={115,117,120,117,118,115,112,113,110,113,115};

int ys2[]={34,38,38,40,44,42,44,40,38,38,34};

g.setColor(Color.red);

g.fillRect(40,20,250,150);

g.setColor(Color.yellow);

Polygon p1=new Polygon(xs1,ys1,10);

g.fillPolygon(p1);

Polygon p2=new Polygon(xs2,ys2,10);

g.fillPolygon(p2);//绘制小五角星

g.copyArea(110,34,10,10,10,11);//复制绘出第二个小五星

g.copyArea(110,34,10,10,10,26);//复制绘出第三个小五星

g.copyArea(110,34,10,10,0,38);//复制绘出第四个小五星

} }

.编写一个Applet,实现一个字符串沿正弦曲线移动。

import java.applet.*;import java.awt.*;

public class XT007202 extends Applet {

int x,y;

int h;

Dimension d;

public void init(){

d = getSize();

h = d.height / 2;

x = 20;

}

public void paint(Graphics g){

if(x

y =(int)((1.0 + Math.sin((x)*0.05))*h);

//y =(int)(Math.sin(x*0.01)*h);

x++;

}

else

x=20;

g.drawString(“你好”,x,y);

try {

Thread.sleep(50);

}

catch(InterruptedException e){

showStatus(e.toString());

}

repaint();

} }

//Dimension //The Dimension class encapsulates the width and height of a component //(in integer precision)in a single object.The class is associated 2 //with certain properties of components.Several methods defined by the // Component class and the LayoutManager interface return a Dimension object.//Normally the values of width and height are non-negative integers.// The constructors that allow you to create a dimension do not prevent //you from setting a negative value for these properties.If the value of //width or height is negative, the behavior of some methods defined by other // objects is undefined.//showStatus()//Requests that the argument string be displayed in the “status window”.//Many browsers and applet viewers provide such a window, where the //application can inform users of its current state.3.当鼠标单击事件发生时,利用Math类的方法Random()产生3个随机数,同时获得鼠标位置坐标,在鼠标单击处绘制圆。圆的颜色由三个随机数决定。程序的输出结果如图7-12所示。

图7-12 import java.awt.*;import java.awt.event.*;import java.applet.*;

public class XT007203 extends Applet {

int i,j,k;

int x,y;

Color mycolor;

public void init(){

this.addMouseListener(new MouseAdapter(){

public void mouseClicked(MouseEvent e){

this_mouseClicked(e);

}

});

}

void this_mouseClicked(MouseEvent e){

x = e.getX();

y = e.getY();

i =(int)(255*Math.random());

j =(int)(255*Math.random());

k =(int)(255*Math.random());

repaint();

}

public void paint(Graphics g){

mycolor = new Color(i,j,k);

g.setColor(mycolor);

g.fillOval(x-10,y-10,20,20);

} //重载update()方法,使每次单击鼠标所绘制的点圆得以保留。

public void update(Graphics g){

paint(g);

} }

4.编写一个Applet,显示一幅图像并配上背景音乐。请参考7.1.2节和7.3.1节内容。

第二篇:C语言程序设计教程课后习题答案

C语言程序设计教程课后习题答案

第一章 C语言程序设计概述 -习题答案 算法的描述有哪些基本方法?

1、自然语言

2、专用工具C语言程序的基本结构是怎样的?举一个例子说明。

1、C语言程序由函数构成;

2、“/*”与“*/”之间的内容构成C语言程序的注释部分;

3、用预处理命令#include、#define可以包含有关文件或预定义信息;

4、大小写字母在C语言中是有区别的;

5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。C语言有什么特点?

1、具有结构语言的特点,程序之间很容易实现段的共享;

2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;

3、运算符丰富,包含的范围很广;

4、数据类型丰富;

5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;

6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;

7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。★指出合法与不合法的标识符命名。

AB12--√ leed_3--a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2--√ AVE#XY--× _762--√ #_DT5--× C.D--×说明下列Turbo C热键的功能。

F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序)Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。

①main()

{printf(“********************n”);printf(“ welcome you n”);printf(“ very good n);printf(”********************n“);} ②main()

{ int a,b,c,t;printf(”please input three numbers;“);scanf(”%d,%d,%d“,&a,&b,&c);/*教材S是错误的*/ t=max(max(a,b),c);printf(”max number is:%dn“,t);} int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);} 答

运行结果:

******************** welcome you very good ******************** 运行结果:

please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/ max number is:4 7 一个C程序是由若干个函数构成的,其中有且只能有一个___函数。

main()8 在Turbo C环境下进行程序调试时,可以使用Run下拉菜单的___命令或按___键转到用户屏幕查看程序运行结果。

1、User screen

2、Alt+F5 9 ★C语言对标识符与关键字有些什么规定?

1、标识符用来表示函数、类型及变量的名称,它是由字母、下划线和数字组成,但必须用字母或下划线开头。

2、关键字是一种语言中规定具有特定含义的标识符,其不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。C源程序输入后是如何进行保存的?

是以C为扩展名保存的纯文本文件。

第二章 C语言程序的基本数据类型与表达式 -习题答案 ★指出下列常数中哪些是符合C语法规定的。

''--× '101'--× ”“--× e3--× 019--√ 0x1e--√ ”abn“--√ 1.e5--×(2+3)e(4-2)--× 5.2e2.5--×请找出下列程序中的错误,改正后写出程序运行结果。

①void main(){int x,y=z=5,aver;x=7 AVER=(x+y+z)/3 printf(”AVER=%dn“,aver);} ②void main()

{ char c1='a';c2='b';c3='c';int a=3.5,b='A' printf(”a=%db='“endn”,a,b);printf(“a%cb%cbc%ctabcn”,c1,c2,c3);} 答

main(){int x,y=5,z=5,aver;x=7;aver=(x+y+z)/3;printf(“AVER=%dn”,aver);}

运行结果:AVER=5 ②main()

{ char c1='a', c2='b', c3='c';int a=3,b='A';printf(“a=%d,b='%c'”end“n”,a,b);printf(“a%cb%cbc%ctabcn”,c1,c2,c3);}

运行结果:a=3,b='A'“end”

aabcc abc 3 写出下列赋值的结果,表格中写了数值的是要将它赋给其他类型的变量,将所有的空格填上赋值后的数据(实数保留到小数点后两位)。int 99

-1 char 'h'

unsigned int

float

55.78

long int

答 int 99 104 66 55 68-1 char 'c' 'h' 'B' '7' 'D'

unsigned int 99 104 66 55 68 65535

float 99.00 104.00 66.00 55.78 68.00-1.00

long int 99 104 66 55 68-1

★写出程序运行结果。

①void main(){int i,j;i=8,j=10;printf(“%d,%d,%d,%dn”,i,j,++i,j++);} ②main()

{ int a=1,b=2,c=30;;printf(“%d,%d,%d,%dn”,a=b=c,a=b==c,a==(b=c),a==(b==c));} 注意:a=b=c,a=b==c之间应为逗号,教材有误 答

运行结果: 9,11,9,10 运行结果: 30,1,0,0

③void main()

{int a=10,b=20,c=30,d;d=++a<=10||b-->=20||c++;printf(“%d,%d,%d,%dn”,a,b,c,d);}

运行结果: 11,19,30,1

★写出下面表达式的值(设a=10,b=4,c=5,d=1,x=2.5,y=3.5)。⑴a%=(b%=3)

⑵n++,a+=a-=a*=a ⑶(float)(a+c)/2+(int)x%(int)y ⑷a*=b+c ⑸++a-c+b++ ⑹++a-c+++b ⑺a

⑼a+b,18+(b=4)*3,(a/b,a%b)

⑽x+a%3*(int)(x+y)%2/4+sizeof(int)⑾a

⑴0 ⑵0 ⑶9.500000 ⑷90 ⑸10 ⑹10 ⑺'A' ⑻2 ⑼4.5 ⑽1 ⑾0 ⑿20 ⒀0 下列每组表达式中,被执行后结果完全等价的是哪些(设a、b、m是已被赋值的整型变量)?

①m=(a=4,4*5)与m=a=4,4*5 ②(float)(a/b)与(float)a/b ③(int)a+b与(int)(a+b)④m%=2+a*3与m=m%2+a*3 ⑤m=1+(a=2)+(b=3)与a=2,b=3,m=1+a+b 答

①前面是赋值表达式,而后面的是一个逗号表达式,所以一定不同;

②前面的表达式中a/b结果为一整数,结果已经取整,精度可能受到影响,之后强制float后才为浮点型,后面的是先将a转换为float后再与b相除,其值保证了精度,所以不同。

③因为a、b均为整数,其前后两个表达式的计算结果是一致的。

④前一表达式是一算术表达式,而后者为一赋值表达式,此为一点不同;另外,前一表达式的m只被赋过一次值,后一表达式中的m曾两次被赋值,第一次赋值时与第一表达式中的值一致,第二次赋值后即不再相同。⑤前后表达式的计算结果应该是一致的:a=2, b=3, m=6 7 条件表达式x>0?x:-x的功能是什么?

如果x的值是一正数,则表达式的值为x值;如果x的值是一非正数,则表达式的值为-x。其实该表达式的值即为x的绝对值,C语言中提供了一个函数fabs(x)即可完成此功能,该函数包含在math.h头文件中。用一个条件表达式描述从a、b、c中找出最大都赋给max.答

max=a>(b>c?b:c)?a:(b>c?b:c);9 ★若x为int型变量,则执行以下语句后x的值为()。x=6;x+=x-=x*x;A.36 B.-60 C.60 D.-24 答 B.10 ★若有以下类型说明语句: char w;int x;float y;double z;则表达式w*x+z-y的结果为()类型。A.float B.char C.int D.double 答 D.第三章 顺序结构程序设计 -习题答案 变量k为float类型,调用函数scanf(“%d”,&k),不能使变量k得到正确数值的原因是___。

格式修饰符与变量类型不一致。因为%d输入的数据类型应该为十进制整数,而&k为占用4个字节的float类型变量的地址。★a=1234,b=12,c=34,则执行“printf(“|%3d%3d%-3d|n”,a,b,c);”后的输出是___。

|1234 1234 |

分析如下:

①%3d为右对齐输出变量,且指定输出变量的值宽度为3个字符位,如果变量实际位数小于3,则左端补空格,如果变量实际位数大于3,则按实际长度输出,不受限制。

②%-3d为左对齐输出变量,在输出变量时,如是变量实际位数小于3,则在右端补空格,否则按实际输出。★设有“int a=255,b=8;”,则“printf(“%x,%on”,a,b);”输出是___。答 ff,10 ①如果“printf(“%X,%on”,a,b);”则输出为FF,10。说明在输出十六进制字母时,其大小写受格式修饰符的限制,如果是“%x”则输出小写,如果是“%X”则输出大写。

②如果希望在输出十六进制时输出前导符0x或0X,则以上输出语句应改“printf(“%#x,%on”,a,b);”为或“printf(“%#X,%on”,a,b);”。本条解释不必须掌握。★以下程序输出的结果是___。main(){ int a1=1,a2=0,a3=2;printf(“%d,%d,%dn”,a1,a1+a2+a3,a3-a1);} 答 1,3,1 5 printf函数中用到格式符%5s,其中5表示输出字符占用5列。如果字符串长度大于5,则按___输出;如果字符串长度小于5,则按___输出。

①实际 ②左端补空格 6 ★已定义变量如下: int a1,a2;char c1,c2;若要求输入a1、a2、c1和c2的值,正确的输入函数调用语句是___。

scanf(“%d,%d,%c,%c”,&a1,&a2,&c1,&c2);7 输入两个整型变量a、b的值,输出下列算式以及运算结果___。a+b、a-b、a*b、a/b、(float)a/b、a%b 每个算式占一行。如a=10,b=5,a+b输出为:10+5=15 答

设int a=10,b=5;以下为输出语句及结果: ①printf(“%d+%d=%dn”,a,b,a+b);10+5=15 ②printf(“%d-%d=%dn”,a,b,a-b);10-5=5 ③printf(“%d*%d=%dn”,a,b,a*b);10*5=50 ④printf(“%d/%d=%dn”,a,b,a/b);10/5=2 ⑤printf(“%(float)d/%d=%fn”,a,b,(float)a/b);(float)10/5=2.000000 ⑥printf(“%d%%%d=%dn”,a,b,a%b);10%5=0 8 ★输入一个非负数,计算以这个数为半径的圆周长和面积。答

#define PI 3.1415926 main(){ float r,l,area;printf(“Input a positive:”);scanf(“%f”,&r);l=2*PI*r;area=PI*r*r;printf(“l=%ftarea=%fn”,l,area);} 9 输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。

main(){ int x,y;printf(“Input a number(100-999):”);scanf(“%d”,&x);y=100*(x%10)+10*(x/10%10)+x/100;/*注意分析此处算法*/

第三篇:完整的delphi程序设计教程课后习题答案

1.239页1题小时钟 procedure TForm1.Timer1Timer(Sender: TObject);var xt,yt:integer;h,m,s,ms:word;begin decodetime(time,h,m,s,ms);xt:=paintbox1.clientwidth div 2;yt:=paintbox1.clientheight div 2;paintbox1.refresh;paintbox1.canvas.moveto(xt,yt);paintbox1.canvas.pen.width:=3;paintbox1.canvas.lineto(xt+round(sin((60*h+m)/(12*60)*2*pi)*100), yt-round(cos((60*h+m)/(12*60)*2*pi)*100));paintbox1.canvas.moveto(xt,yt);paintbox1.canvas.pen.width:=2;paintbox1.canvas.lineto(xt+round(sin(m/60*2*pi)*140), yt-round(cos(m/60*2*pi)*140));paintbox1.canvas.moveto(xt,yt);paintbox1.canvas.pen.width:=1;paintbox1.canvas.lineto(xt+round(sin(s/60*2*pi)*180), yt-round(cos(s/60*2*pi)*180));end;end.2.239页3题求两点间的距离 procedure TForm1.Button1Click(Sender: TObject);begin paintbox1.Refresh;formpaint(sender);end;procedure TForm1.FormPaint(Sender: TObject);var xt,yt:integer;ax,ay,bx,by:integer;begin xt:=paintbox1.ClientWidth div 2;yt:=paintbox1.Clientheight div 2;paintbox1.canvas.MoveTo(xt,0);paintbox1.canvas.lineTo(xt,2*yt);paintbox1.canvas.MoveTo(0,yt);paintbox1.canvas.lineTo(2*xt,yt);ax:=strtoint(edit1.text);ay:=strtoint(edit2.text);bx:=strtoint(edit3.text);by:=strtoint(edit4.text);

edit5.Text:=floattostr(sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)));

paintbox1.canvas.MoveTo(xt+ax*10,yt-ay*10);

paintbox1.canvas.lineTo(xt+bx*10,yt-by*10);end;end.3.226页5题输入学生成绩 var

Form1: TForm1;type

studentrecord=record xh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;

implementation {$R *.dfm} procedure

TForm1.Button1Click(Sender: TObject);

var t:studentrecord;

f,f1:file of studentrecord;p1,p2:boolean;begin

assignfile(f,'c:my documentsstu.dat');reset(f);

assignfile(f1,'c:my documentsstu1.dat');rewrite(f1);

while not eof(f)do begin read(f,t);

p1:=(t.sx>=85)and(t.yy>=85)and(t.dz>=85);

p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 then write(f1,t);end;

closefile(f);closefile(f1);end;

procedure

TForm1.FormCreate(Sender: TObject);

var t:studentrecord;f:file of studentrecord;xingbie:string;begin

assignfile(f,'c:my documentsstu.dat');reset(f);

while not eof(f)do begin read(f,t);if t.xb then xingbie:='男' else

xingbie:='女';

listbox1.Items.Add(t.xh+' '+t.xm+' '+xingbie+' '+inttostr(t.sx)+

' '+inttostr(t.yy)+' '+inttostr(t.dz));end;

closefile(f);end;

procedure

TForm1.Button2Click(Sender: TObject);begin close;end;end.4.226页8题保存获得奖学金者 var

Form1: TForm1;type

studentrecord=record xh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;

implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);var t:studentrecord;f,f1:file of studentrecord;p1,p2:boolean;begin assignfile(f,'c:my documentsstu.dat');reset(f);assignfile(f1,'c:my documentsstu1.dat');rewrite(f1);while not eof(f)do begin read(f,t);p1:=(t.sx>=85)and(t.yy>=85)and(t.dz>=85);p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 then write(f1,t);end;closefile(f);closefile(f1);end;procedure TForm1.FormCreate(Sender: TObject);var t:studentrecord;f:file of studentrecord;xingbie:string;begin assignfile(f,'c:my documentsstu1.dat');reset(f);while not eof(f)do begin read(f,t);if t.xb then xingbie:='男' else xingbie:='女';listbox1.Items.Add(t.xh+' '+t.xm+' '+xingbie+' '+inttostr(t.sx)+ ' '+inttostr(t.yy)+' '+inttostr(t.dz));end;closefile(f);end;procedure TForm1.Button2Click(Sender: TObject);begin close;end;end.5.166页22题素数 procedure

TForm1.Button1Click(Sender: TObject);type

sushuset=set of byte;var

sushu:sushuset;i,j,n,m,k:longword;s,s0:string;begin

n:=strtoint(edit1.text);m:=strtoint(edit2.text);if n mod 2=0 then n:=n+1;k:=m-n;

if k>255 then

showmessage('范围太大,请重新输入区间端点!')else begin

sushu:=[0..k];for i:=2 to n-1 do for j:=n to m do

if j mod i =0 then sushu:=sushu-[j-n];for i:=n to m div 2 do for j:= i+1 to m do

if j mod i =0 then sushu:=sushu-[j-n];s:='';s0:='';

for i:=n to m do if i-n in sushu then begin

if length(s0+' '+inttostr(i))>60 then begin

s:=s+s0+chr(13);s0:='' end;

s0:=s0+' '+inttostr(i);end;s:=s+s0;label1.caption:=s;

groupbox1.Top:=(panel1.Top-groupbox1.height)div 2;end;end;

procedure

TForm1.FormCreate(Sender: TObject);begin

groupbox1.Top:=(panel1.Top-groupbox1.height)div 2;end;

procedure

TForm1.Edit1KeyPress(Sender: TObject;var Key: Char);var j:set of char;begin

j:=['0'..'9',#8];

if not(key in j)then key:=#0;end;end.6.148页12题整除的数 implementation {$R *.dfm}

function d7(x:integer):boolean;begin

if x mod 7=0 then d7:=true else d7:=false;end;

function d17(x:integer):boolean;begin

if x mod 17=0 then d17:=true else d17:=false;end;

procedure

TForm1.FormActivate(Sender: TObject);var

n:integer;begin

for n:=1000 to 4000 do if d7(n)and d17(n)then memo1.Lines.Add(inttostr(n));end;end.7.148页17题求斐波那契数列问题 implementation {$R *.dfm} function fib(n:integer):int64;begin case n of 1,2:fib:=1;else fib:=fib(n-1)+fib(n-2);end;end;procedure TForm1.Button1Click(Sender: TObject);var k:integer;begin memo1.lines.clear;for k:=1 to strtoint(edit1.text)do memo1.lines.add(format('%2d %3d',[k,fib(k)]));end;end.8.120页10题,判断是否是闰年 procedure TForm1.Button1Click(Sender: TObject);var y,m:integer;begin y:=strtoint(edit1.text);m:=strtoint(edit2.text);label3.Caption:='';if((y mod 4 = 0)and(y mod 100 <> 0))or(y mod 400=0)then label3.Caption:=edit1.text+'年是闰年,' else label3.Caption:=edit1.text+'年不是闰年,';case m of 3,4,5:Label3.Caption:=Label3.Caption+edit2.Text+'月份是春天,';6,7,8:Label3.Caption:=Label3.Caption+edit2.Text+'月份是夏天,';9,10,11:Label3.Caption:=Label3.Caption+edit2.Text+'月份是秋天,';else Label3.Caption:=Label3.Caption+edit2.Text+'月份是冬天,';end;

case m of

1,3,5,7,8,10,12:Label3.Caption:=Label3.Caption+'共有31天,';

4,6,9,11:Label3.Caption:=Label3.Caption+'共有30天,';else

if((y mod 4 = 0)and(y mod 100 <> 0)or(y mod 400=0))then Label3.Caption:=Label3.Caption+'共有29天,' else

Label3.Caption:=Label3.Caption+'共有28天,';end;end;end.9.120页11题求和的 procedure

TForm1.Button1Click(Sender: TObject);var

n,k,j:integer;s:int64;begin

n:=strtoint(edit1.text);j:=0;s:=0;

for k:=1 to n do begin j:=j+k;s:=s+j;end;

panel2.Caption:=format('s = %d',[s]);edit1.setfocus;end;

procedure

TForm1.Edit1KeyPress(Sender: TObject;var Key: Char);var b:boolean;begin

b:=(key<>#8)and(key<#48)or(key>#57);

if b then key:=#0;end;end.10.120页12题男人,女人,小孩各有多少人 procedure

TForm1.Button1Click(Sender: TObject);var

x,y,z:integer;p:string;begin

memo1.clear;for x:=0 to 16 do for y:=0 to 24 do begin

z:=30-x-y;

if 3*x+2*y+z/1=50 then begin

p:=format('%3d %3d %3d',[x,y,z]);

memo1.lines.add(p);end;end;end;end.11.98页2题求长方体的表面积 procedure

TForm1.Button1Click(Sender: TObject);var

s,l,k,h:double;begin

l:=strtofloat(edit1.text);k:=strtofloat(edit2.text);h:=strtofloat(edit3.text);s:=2*l*k+2*k*h+2*l*h;label1.Caption:=floattostr(s);end;end.12.98页5题计算圆的面积和周长 procedure

TForm1.Edit1KeyPress(Sender: TObject;var Key: Char);var r:real;b:boolean;begin b:=(key<>#8)and(key<>'.')and(key<>#13)and(key<#48)or(key>#57);if b then key:=#0;if key =#13 then begin if edit1.text='' then edit1.text:='0';r:=strtofloat(edit1.text);if radiobutton1.Checked then label1.Caption:=format('圆的面积为: %f',[pi*r*r]);if radiobutton2.Checked then label1.Caption:=format('圆的周长为: %f',[2*pi*r]);if radiobutton3.Checked then label1.Caption:=format('圆的面积为: %f'+chr(13)+ '周长为: %f',[pi*r*r,2*pi*r]);edit1.SelectAll;end;end;procedure TForm1.RadioButton1Click(Sender: TObject);var sender0:tobject;key:char;begin sender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;procedure TForm1.RadioButton2Click(Sender: TObject);var sender0:tobject;key:char;begin sender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;procedure TForm1.RadioButton3Click(Sender: TObject);var sender0:tobject;key:char;begin

sender0:=edit1;key:=#13;

form1.edit1keypress(sender0,key);end;end.13.98页6题统计奇数和偶数的个数

procedure

TForm1.Button1Click(Sender: TObject);var

k,j,n:word;begin k:=0;

n:=combobox1.items.count;for j:=1to n do

if strtoint(combobox1.items[j-1])mod 2 = 0 then k:=k+1;

label1.caption:=format('共有: '+#13+'%d个偶数,'+#13+'%d个奇数。',[k,n-k]);end;

procedure

TForm1.Button2Click(Sender: TObject);begin

combobox1.items.clear;end;

procedure

TForm1.ComboBox1KeyPress(Sender: TObject;var Key: Char);begin if(key =#13)and(combobox1.text<>'')then

//按键后接收输入的选项 begin

combobox1.items.insert(0,combobox1.text);

//按键后移去选项

combobox1.selstart:=0;combobox1.text:='';end;

if key = #27 then

if combobox1.itemindex<>-1 then

combobox1.items.Delete(combobox1.itemindex);end;end.14.98页8题设置倒计时的时间,并进行倒计时 procedure

TForm1.Timer1Timer(Sender: TObject);var

m,n,s,h:integer;begin

timer1.Tag:=timer1.Tag-1;m:=timer1.Tag;if m<0 then begin

timer1.enabled:=false;

showmessage('预定的时间到了!');edit1.Text:='0';end else begin s:=m;

n:=s div 60;s:=s mod 60;h:=n div 60;n:=n mod 60;

maskedit1.text:=format('%d:%d:%d',[h,n,s]);

if n <> strtoint(edit1.text)then edit1.Text:=inttostr(n);end;end;

procedure

TForm1.Button1Click(Sender: TObject);begin

timer1.enabled:=True;

timer1.Tag:=strtoint(edit1.Text)*60;end;end.

第四篇:C语言程序设计教程第九章习题答案

1、li

300.0 chang 30

200.0 chang

2、#include struct students {

char sid[100];

char name[100];

float score[3];}student;void main(){

int i;float j;

printf(“nPlease input sid:

”);

scanf(“%s”,student.sid);

printf(“nPlease input name: ”);

scanf(“%s”,student.name);

printf(“nPlease input 3 score:(like1,1,1)”);/*输入逗号隔开*/

scanf(“%f,%f,%f”,&student.score[0],&student.score[1],&student.score[2]);

printf(“nsid = %s”,student.sid);

printf(“nname = %s”,student.name);

j=(student.score[0]+student.score[1]+student.score[2])/3.0;

printf(“naverage = %.2f”,j);

getch();}

3、#include #include #define F sizeof(student)#define NULL 0 typedef struct scores { int english;int math;int c_language;int all;}TP;typedef struct students { char sid[15];char name[15];TP score;struct students *next;}student;student *input(){ student *head,*p1,*p2;int n=0;char ch;clrscr();head=(student *)malloc(F);head->next=NULL;

do {

n++;

printf(“nnPlease input %d student message:

nn”,n);

printf(“t%d student sid:

”,n);

p1=(student *)malloc(F);p1->next=NULL;

scanf(“%s”,p1->sid);

printf(“nt%d student name:

”,n);

scanf(“%s”,p1->name);

printf(“nt%d student scores(englesh,math,c_language):

”,n);

scanf(“%d,%d,%d”,&p1->score.english,&p1->score.math,&p1->score.c_language);

p1->score.all=p1->score.english+p1->score.math+p1->score.c_language;

if(n==1)

{ head->next=p1;p2=p1;}

else

{ p2->next=p1;

p2=p1;

}

printf(“nntttContinue or back(press y/n):

”);

ch=getch();

}while(ch=='y'||ch=='Y');return head;} void average1(student *head){ student *p;int j;clrscr();p=head->next;

while(p)

{ j=p->score.all/3;

printf(“nnname:

%staverage: %d”,p->name,j);

p=p->next;

} printf(“nnnPress eny key return.”);getch();} void average2(student *head){ student *p;int n=0,temp1=0,temp2=0,temp3=0;p=head->next;while(p){ temp1+=p->score.english;

temp2+=p->score.math;

temp3+=p->score.c_language;

p=p->next;n++;} printf(“nnaverage english is : %dnaverage math is : %dnaverage c_language is : %dt”,temp1/n,temp2/n,temp3/n);} student *sort(student *head){ student *head1,*p,*q,*r;int temp1=0,temp2=0,temp3=0,temp4;char s[15],n[15];head1=head;for(p=head1->next;p->next!=NULL;p=p->next){ r=p;

for(q=p->next;q;q=q->next)

if(q->score.all>r->score.all)

r=q;

if(r!=p)

{ strcpy(s,p->sid);strcpy(n,p->name);

temp1=p->score.english;

temp2=p->score.math;

temp3=p->score.c_language;

temp4=p->score.all;

strcpy(p->sid,r->sid);strcpy(p->name,r->name);

p->score.english=r->score.english;

p->score.math=r->score.math;

p->score.c_language=r->score.c_language;

p->score.all=r->score.all;

strcpy(r->sid,s);strcpy(r->name,n);

r->score.english=temp1;

r->score.math=temp2;

r->score.c_language=temp3;

r->score.all=temp4;

} } return head1;} void output(student *head){ student *head2,*p;int i=1;clrscr();head2=sort(head);for(p=head2->next;p!=NULL;p=p->next)

printf(“nnname: %stsid: %stenglish: %dtmath: %dtc_language: %dtaverage: %dtmingci: %d”,p->name,p->sid,p->score.english,p->score.math,p->score.c_language,p->score.all/3,i++);

average2(head);

printf(“nnnttPress eny key back.”);getch();} void main(){ student *head,*p1,*p2;int i=0,j=1;head=input();do {

clrscr();

printf(“nn(1): average1.nn(2): average2.nn(3): sort.nn(4): output.nnn

Please choose:

”);

scanf(“%d”,&i);

switch(i)

{ case 1: average1(head);break;

case 2: clrscr();average2(head);printf(“nnnPress eny key retuen.”);getch();break;

case 3: clrscr();p1=sort(head);for(p2=p1->next;p2!=NULL;p2=p2->next)printf(“nttname: %stmingci:%d”,p2->name,j++);printf(“nnnPress eny key back.”);getch();break;

case 4: output(head);break;

default: printf(“nYour choose is not right.”);break;

} }while(i!=-1);}

4、#include #include #define NULL 0 #define F sizeof(worker)typedef struct work { char sid[15];char name[15];int money;struct work *next;}worker;int min=0,max=0;char a[15],b[15];worker *input(){ worker *head,*p,*q;int n=0;char ch;head=(worker *)malloc(F);head->next=0;do { n++;

p=(worker *)malloc(F);p->next=0;

printf(“nntPlease input %d worker message :

”,n);

printf(“n%d worker sid:

”,n);scanf(“%s”,p->sid);

printf(“n%d worker name:

”,n);scanf(“%s”,p->name);

printf(“n%d worker money:

”,n);scanf(“%d”,&p->money);

if(n==1)

{

head->next=p;q=p;

max=p->money;strcpy(a,p->name);

min=p->money;strcpy(b,p->name);

}

else

{

q->next=p;

if(p->money>max){max=p->money;strcpy(a,p->name);}

if(p->moneymoney;strcpy(b,p->name);}

q=p;

}

printf(“ntty/n”);ch=getch();}while(ch=='y'||ch=='Y');return head;} void output(){

clrscr();printf(“nThe max money is: %dttname is: %snn”,max,a);printf(“nThe min money is: %dttname is: %s”,min,b);} void main(){

input();output();getch();} 5、6、#include“stdio.h” #define F sizeof(stu)#define NULL 0 typedef struct student { int sid;int average;struct student *next;}stu;stu *head;stu *create(){ stu *p1,*p2;int n=0;char ch;head=(stu *)malloc(F);head->next=NULL;

do {

n++;

printf(“nnPlease input %d student message:

nn”,n);

printf(“t%d student sid:

”,n);

p1=(stu *)malloc(F);p1->next=NULL;

scanf(“%d”,&p1->sid);

printf(“nt%d student average:

”,n);

scanf(“%d”,&p1->average);

if(n==1)

{ head->next=p1;p2=p1;}

else

{ p2->next=p1;

p2=p1;

}

printf(“nntttContinue or back(press y/n):

ch=getch();

}while(ch=='y'||ch=='Y');return head;} stu *select(stu *head,int x){ stu *s;s=head->next;while(s){

if(s->sid==x)

break;

s=s->next;} return s;}

stu *insert(stu *head,int x,int y){ stu *p,*r,*q;clrscr();p=head->next;r=(stu *)malloc(sizeof(stu));r->sid=x;r->average=y;if(p==NULL)/*如果插入空表*/

{

p=r;

r->next=NULL;

”);

printf(“ninsert success!”);

}

else

{ while(x>p->sid)/*找到插入的位置,按学号大小。(找到位置或者到了表尾都会跳出循环)*/

{

if(p->next==NULL)break;p=p->next;

}

if(x

sid)

/*插到中间位置*/

{

r->sid=p->sid;

r->average=p->average;

p->sid=x;

p->average=y;

r->next=p->next;

p->next=r;

printf(“ninsert success!”);

}

else if(x==p->sid)/*学号不能相同*/

printf(“nError--->your input this same sid.”);

else

/*插到末尾*/

{

p->next=r;

r->next=NULL;

printf(“ninsert success!”);

}

}

return head;} stu *get(stu *head,int n)/*得到位置为n的结点的指针*/ { stu *p;int i;p=head->next;if(n==0)return head;else

{

for(i=1;i

p=p->next;

return p;} } stu *delete(stu *head,int sid){

stu *p,*q;int temp=0,i=0;p=head->next;if(!p)

{

printf(“nlist is empty.press eny key back.”);getch();return head;}/*表空*/ else { while(p)

/*查找学号为sid的结点的指针*/

{i++;/*标记学号为sid的结点的位置*/

if(p->sid==sid)

{temp=1;break;} /*temp=1标记找到了*/

p=p->next;}

if(temp==1)/*如果有学号为sid的结点*/

{ q=get(head,i-1);/*得到sid的前一个结点的指针*/

q->next=p->next;

free(p);

printf(“nndelete sucess!!”);

return head;

}

else

/*没有找到*/

{ printf(“nnNO this data.n”);

return head;

} } } void print(stu *head){ stu *p;p=head->next;if(!p){printf(“nlist is empty.press eny key back.”);getch();} while(p){

printf(“n%d :t%d ”,p->sid,p->average);

p=p->next;} } main(){ stu *p1,*p2;char ch1;int n,i=0,j=0;head=create();do {clrscr();printf(“n1.insert.”);printf(“n2.select.”);printf(“n3.delect.”);printf(“n4.print list.”);printf(“n5.EXIT

”);printf(“n

............choice(1-5).............”);ch1=getch();switch(ch1){

case '1':

{ clrscr();

printf(“nplease input insert sid.and average(like 1,1):”);

scanf(“%d,%d”,&i,&j);

head=insert(head,i,j);

printf(“nnnPress eny key back.”);getch();

break;

}

case '2':

{ clrscr();

printf(“ninput you want to selete sid:

”);

scanf(“%d”,&n);

p1=select(head,n);

{

if(p1)printf(“nsid:%dtaverage:%d”,p1->sid,p1->average);

else

printf(“nNo this data.”);

}

printf(“nnnPress eny key back.”);getch();

break;

}

case '3':

{ clrscr();printf(“nPlease input you want delete sid: ”);

scanf(“%d”,&n);

head=delete(head,n);

printf(“nnnPress eny key back.”);getch();

break;

}

case '4':

{ clrscr();

printf(“All information :”);

print(head);

printf(“nnnPress eny key back.”);getch();

break;

}

case '5': return;

default: printf(“nnYour enter is not right.press eny key back.”);getch();}

}while(n);}

7、#include #define F sizeof(L)typedef struct list {

char data;

struct list *next;}L;L *set_list(){

L *head,*p1,*p2;

char c;

int n=0;

head=(L *)malloc(F);head->next=0;

/*建立链表*/

p1=p2=head;

printf(“nPlease input char(press * finish):”);

scanf(“%c”,&c);

while(c!='*')

{

n++;

if(n==1)

p1->data=c;

else

{

p1=(L *)malloc(F);

p1->data=c;

p2->next = p1;

p2 = p1;

p1->next = 0;

}

scanf(“%c”,&c);

}

p1=head;

while(p1)

{

printf(“%c ”,p1->data);p1=p1->next;

}

printf(“nnn”);

return head;} void change_list(L *head1)

/*算法:p2指向最后一个元素,p1指向第一个元素。交换他们的值,p1,p2同时往中间靠拢。*/ {

L *p1,*p2,*p3;

int i,j,k,n=1;

char temp;

p1=head1;p2=head1;p3=head1;

while(p3->next)

{ p3=p3->next;n++;

}/*求链长*/

for(i=n;i>(n/2);i--)/*外循环使p1后移,p2前移。*/

{

p2=head1;for(j=1;j

p2=p2->next;/*p2指向最后一个元素*/ temp=p1->data;p1->data=p2->data;p2->data=temp;/*交换他们的值*/ p1=p1->next;/*p1向后移*/

}

while(head1)

{ printf(“%c ”,head1->data);head1=head1->next;} } void main(){ L *head;head=set_list();change_list(head);getch();}

第五篇:《Java6程序设计实践》教程课后答案_清华大学出版社

第1章:习题集: 填空题

1.多态2.java.exe 3.jdb.exe 4.标准字节码5.Java 6.独立于平台

二、选择题

1.B 2.A 3.B 4.A 5.A 6.C 7.C 8.D 9.C 第2章: 参考答案: 实验指导:

2.5.1. 第一处需要的代码:yourGuess>realNumber

第二处需要的代码:yourGuess=input.nextInt();第三处需要的代码:yourGuess

iArray[i] = iArray[j];iArray[j] = iTemp;2.5.2. 第一处需要的代码:iArray[i] < iArray[j] 2.5.3. 第一处需要的代码:continue lable;第二处需要的代码:System.out.print(“ ”+(i+j));第二处需要的代码:System.out.print(j + “*” + i + “=” +(i*j)+ “t”);2.5.4. 第一处需要的代码:System.out.print(“t”);习题集:

一、填空题

1.i=i+1 sum=sum+1 i<100 2.while do while for 3.9 4. The symbol is an a.The symbol is a b.The symbol is c.The symbol is not a,b,or c.Switch is completed 5.sum=0 pos++

二、选择题

1.D 2.A 3.D 4.A 5.D 6.A 7.B

三、简答题

2、there is no this value 3.Message four i is 1,2,3 i is 1,2,3 i is 1,2,3 i is 4 第3章 参考答案: 实验指导:

3.10.1. 第一处需要的代码:balance+=saveAccount;

第二处需要的代码:balance+=calculateInterst(Days);第三处需要的代码:ba.setMoney(save_value);第四处需要的代码:ba.accountInterst(365);

8.B 9.C

ba.setInterstRate(interst_rate);3.10.2. 第一处需要的代码:minute=this.m_Minute;second=this.m_Second;第二处需要的代码:s=d.getMinutes()+“:”+d.getSeconds()+“:”+d.getTime();3.10.3. 第一处需要的代码:super(number,pass);balance=bal;第二处需要的代码:connect 3.10.4. 第一处需要的代码:super(pass, motor);this.make=make;this.model=model;第二处需要的代码:am.run();习题集:

一、填空题

1.类2.代码和数据3.点4.实例变量5.Test te=new Test();6.对象实例化7.值、引用 8.the original is data is:-1 now the data is:10 9.I am parent I am child I am child

二、选择题

1.B 2.A 3.C 4.C

三、简答题

6. A abstract和final修饰符不能同时使用 B 未给出类型定义,final int MAX_NUMBER=10;C 常量不能修改

D 静态方法值能访问静态变量,static int data。或者把方法标志为非静态方法,int getData()E 构造方法无返回值,把void去掉

F 抽象类不能进行实例化,把abstract去掉

G 子类不能继承父类的私有成员,应把Parent类中的mine属性的private修饰符去掉。H 父类对象不能与之类形式参数结合,可以颠倒过来。如下代码所示: class Parent { }

class Child extends Parent{ } class UseChild{

} public static void main(String[] args){

Child c=new Child();System.out.println(UseChild.getMine(c));static int getMine(Parent p){ } return(p.mine);int mine;int mine;

5.A 6.A 7.C 8.A 9.D 10.C 11.A 12.C 13.C } 第4章 实验指导

4.5.1. 第一处需要的代码:public void print(){System.out.println(“hello”);}yourGuess>realNumber 第二处需要的代码:Hello h = new Hello();h.print();第二处需要的代码:public void start(){ System.out.println(“Du du...”);} 4.5.2. 第一处需要的代码:public void stop(){ System.out.println(“Network stop!”);} 第三处需要的代码:SoundCard sc=new SoundCard();mb.usePCICard(sc);4.5.3. 第一处需要的代码:this.userAccount = acc;this.userPassword = pass;第二处需要的代码:public void show(){ System.out.println(resultMessage);} 第三处需要的代码:user.connect();user.show();填空题

1.javac –d.Test.java 2.package 3.public 4. package com.my.test;public void inPut(){System.out.println(“n hi,keybroad has be input into then mainbroad!n”);} public void inPut(){System.out.println(“n hi,netCardBroad has be input into then mainbroad!n”);} publicvoid getMainMessage(Extendbroadable ext){ext.inPut();} 5.Constants.MAX_COUNT 6.interface B extends A{ public void printB();}

11.D

12.A 选择题

1.C 2.D 3.B 4.C 5.B 6.C 7.C 8.B 9.D 10.D 简答

(1)

1、接口是类似于类的结构,它只包含常量和抽象方法。在某些情况下,接口类似于抽象类,但是抽象类能够包含常量和抽象方法,还能够包含变量和具体方法。(2)

1、在接口中,数据可以是常量;而抽象类可以有数据字段。

2、在接口中方法只有无实现的签名,而抽象类可以有具体的方法。

3、因为定义在接口中的所有方法都是抽象方法,Java不要求将抽象修饰符放在4、接口中的方法签名中,但是在抽象类中要将抽象修饰符放在抽象方法之前。(3)

1、可以更好的组织类。

2、减少类名的冲突问题,同一包中的类名不能重复,不同包中的类名可以重复;

3、对包中的类起了一定的保护作用;

(4)

1、直接引用指定的类,如import java.util.Vector;

2、引用一个包中的多个类,如import java.awt.*。更确切的说,它并不是引用java.awt中的所有类,而只引用定义为public的类,并且只引用被代码引用的类,所以这种引用方法并不会降低程序的性能;

3、*号代替类名,在不能代替包名,如import java.awt.*,只引用java.awt下的类,而不引用java.awt下的包;

4、import java.awt.F*,这种使用方法是错误的;

5、import语句在所有类定义之前,在package定义之后;

6、import只告诉编译器及解释器哪里可以找到类、变量、方法的定义,而并没有将这些定义引入代码中; 第5章 参考答案: 实验指导:

5.6.1. 第一处需要填写的代码:i

1.equalsIgnoreCase 2.Hello I like Java!3.char值4.java.util.Date 5.HELLO!6.False 7.a#a#a## 8.xyz345 9.int len=str.length();

二、选择题

1.B 2.A 3.A 4.B 5.D 6.A 7.B 8.D

三、简答题

1. 字符串的容量是:28 用过setLength(200)后 字符串的长度是:200 使用了charAt(2):w 2. 中国: The Money is: ¥30,215.00 The Number is: 121.66667 3.good and gbc 4.strawberry plum persimmon pear peach peach orange grape fig banana apple 第6章 实验指导

6.4.1. 第一处需要的代码:number1 = Integer.parseInt(firstNumber);number2= Integer.parseInt(secondNumber);yourGuess>realNumber 第二处需要的代码:NumberFormatException ex 6.4.2. 第一处需要的代码:catch(IOException e){System.out.println(“catch ”+e.toString());} 第二处需要的代码:catch(NumberFormatException e){System.out.println(“catch ”+e.toString());} 填空题:

1.Welcome to java The finally clause is executed 2.Welcome to java The finally clause is executed 3.catch(NumberFormatException e){} 4.仍然执行

c>='A'&&c<='Z'

i++;

sum++;10.i=0;i

int temp=str.charAt(i);5.ArithmeticException 6.IOException 7.数据转换错误异常 8.statement1,statement2

二、选择题

1.C 2.B 3.C 4.D 5.C 6.B 7.C 第7章 实验指导:

7.7.1. 第一处需要填写的代码:panel.setVisible(true);第二处需要填写的代码:group.add(radioButton1);

group.add(radioButton2);第三处需要填写的代码:mainPanel.add(panel);7.7.2. 第一处需要填写的代码:commentTabPane = new JTabbedPane();第二处需要填写的代码:tabAddComponent.add(nameLabel);第三处需要填写的代码:queryCom();7.7.3. 第一处需要填写的代码:System.exit(0);第二处需要填写的代码:new Counter();7.7.4. 第一处需要填写的代码:setVisible(true);第二处需要填写的代码:frame.getContentPane().add(new JTextArea());习题集: 填空题

1.btn[i]=new JButton(strname[i]);BorderLayout.EAST、BorderLayout.WEST、BorderLayout.SOUTH、BorderLayout.NORTH、BorderLayout.CENTER 2.frame.setContentPane(new CalculatorPanel().createPane());int y = 0;y < 4;y++、button = new JButton(lables[y][x]);3.frame.getContentPane().add(new TreePanel().createComponent());node01.add(node0102);int i = 0;i < names.length;i++、panel.add(new JLabel(names[i]));4.jframe.setVisible(true);Container contentpane=jframe.getContentPane();text.append(s);5.Container contentPanel = frame.getContentPane();frame.setVisible(true);add(part2());panel.setVisible(true);6.Panel pan=new Panel();

二、选择题

1.D 2.A 3.B 4.B 5.A 6.D 7.C 第8章 实验指导:

8.6.1. 第一处需要的代码:contentPane.addMouseListener(this);contentPane.addMouseMotionListener(this);

第二处需要的代码:g.drawLine(startx,starty,endx,endy);第二处需要的代码:(e.getActionCommand()).equals(“按我有声音喔”)第二处需要的代码:e.getSource()==tree 第二处需要的代码:x=Double.parseDouble(tf1.getText().trim());8.6.2. 第一处需要的代码:Container contentPane = f.getContentPane();8.6.3. 第一处需要的代码:treeModel.insertNodeInto(leafnode,node1,node1.getChildCount());8.6.4. 第一处需要的代码:b0.addActionListener(new Bt());习题集:

一、填空题 1.程序符号 2.授权事件模型

3.actionPerformed(ActionEvent e),itemStateChanged(ItemEvent e)4.事件适配器

5.new WindowAdapter(),System.exit(0);

二、选择题

1.D 2.C 3.D 4.B 5.A 第9章 参考答案: 实验指导:

9.4.1. 第一处需要填写的代码:g_2d.setStroke(bs);g_2d.setColor(Color.yellow);g_2d.draw(hourLine);第二处需要填写的代码:secondLine.setLine(120,120,(int)pointSX[a],(int)pointSY[a]);9.4.2. 第一处需要填写的代码:signal.setRed(0);signal.setYellow(1);第二处需要填写的代码:g.setColor(Color.green);习题集: 填空题:

1.Drawstring 2.add(p1)3.toString(i)4.public void paint(Graphics g){ 5.int count=1;count

1.A 2.B 3.B 4.B 第10章 实验指导:

10.6.1. 第一处需要填写的代码:tempStr=bufReader.readLine();第二处需要填写的代码:s*=i;10.6.2. 第一处需要填写的代码:filePrex == null 第二处需要填写的代码:int j = 0;j < children.length;j++ 10.6.3. 第一处需要填写的代码:inStream,outStream 第二处需要填写的代码:copyBut,0,copyLen 10.6.4. 第一处需要填写的代码:tempStr=inObj.readLine();习题集:

一、填空题:

1.Hello!I like Java!2.110 110 110 110 110 3.InputStreamReader 4.HelloWorld!5.year%4==0&&year%100!=0||year%400==0 6.String s=“information to Appendn mon!n”;

二、选择题:

1.D 2.A 3.A 4.B 5.D 6.B 7.B 8.D BufferedReader

readLine()第11章 参考答案: 实验指导:

11.6.1.第一处需要填写的代码:Class.forName(DBDRIVER);conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);第二处需要填写的代码:conn = getConnection();stmt = conn.createStatement();第三处需要填写的代码:stmt.executeUpdate(“insert into t_test values('ew','dgf','dfg');”);

stmt.executeUpdate(“insert stmt.executeUpdate(”insert

into into

t_test t_test values('dg','df','fdg');“);

values('dfg','dfg','dfg');”);stmt.executeUpdate(“insert into t_test values('gdf','df','df');”);第四处需要填写的代码:stmt.executeUpdate(“delete from t_test;”);11.6.2.第一处需要填写的代码:pstmt=conn.prepareStatement(“insert into t_grade values(?,?,?);”);pstmt.setString(1,name);pstmt.setString(2,course);pstmt.setString(3,grade);pstmt.execute();第二处需要填写的代码:rs = stmt.executeQuery(“select * from t_grade”);

while(rs.next()){System.out.print(“姓名:”+rs.getString(“name”));

System.out.print(“ 课程:”+rs.getString(“course”));System.out.println(“ 成绩:”+rs.getString(“grade”));}

conn.close();stmt.close();rs.close();}

} 第三处需要填写的代码:try{ catch(SQLException e){ e.printStackTrace();11.6.3.第一处需要填写的代码:conn = getConnection();stmt = conn.createStatement();stmt.executeUpdate(“delete from t_grade where name = '”+name+“'”);第二处需要填写的代码:pstmt = conn.prepareStatement(“update t_grade set course = ?,grade=? where name = '”+name+“'”);pstmt.setString(1,course);pstmt.setString(2,grade);pstmt.execute();习题集:

一、填空题:

1.建立与数据库的连接、处理结果集 2.executeUpdate 3.CallableStatement 4.conn.createStatement();、rs.next();5.conn.createStatement(ResultSet.Type_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE):、rs.updateRow();

二、选择题:

1.B 2.A 3.B 4.B 5.C 6.A 7.A 8.C

下载Java程序设计实用教程_胡伏湘_清华大学出版社007习题答案word格式文档
下载Java程序设计实用教程_胡伏湘_清华大学出版社007习题答案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐