Java程序设计 精编教程 第 版 习题解答.docx

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

Java程序设计 精编教程 第 版 习题解答.docx

《Java程序设计 精编教程 第 版 习题解答.docx》由会员分享,可在线阅读,更多相关《Java程序设计 精编教程 第 版 习题解答.docx(42页珍藏版)》请在冰点文库上搜索。

Java程序设计 精编教程 第 版 习题解答.docx

Java程序设计精编教程第版习题解答

习题解答

习题一(第1章)

1.JamesGosling

2.需3个步骤:

1)用文本编辑器编写源文件。

2)使用javac编译源文件,得到字节码文件。

3)使用解释器运行程序。

3.setclasspath=D:

\jdk\jre\lib\rt.jar;.;

4.B

5.Java源文件的扩展名是.java,Java字节码的扩展名是.class。

6.D。

习题二(第2章)

1.

2.

Teacher.java

publicclassTeacher{

doubleadd(doublea,doubleb){

returna+b;

}

doublesub(doublea,doubleb){

returna-b;

}

}

Student.java

publicclassStudent{

publicvoidspeak(){

}

}

MainClass.java

publicclassMainClass{

publicstaticvoidmain(Stringargs[]){

Teacherzhang=newTeacher();

Studentjiang=newStudent();

jiang.speak();

}

}

3.如果源文件中有多个类,但没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了,如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。

4.行尾风格。

习题三(第3章)

1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。

标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。

true不是标识符。

2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。

不是关键字。

classimplementsinterfaceenumextendsabstract。

3.boolean,char,byte,short,int,long,float,double。

4.属于操作题,解答略。

5.属于操作题,解答略。

6.publicclassE{

publicstaticvoidmain(Stringargs[]){

charcStart='A',cEnd='Z';

for(charc=cStart;c<=cEnd;c++)

}

}

7.不可以。

习题四(第4章)

1.110。

不规范。

2.新亲亲斤!

!

3.

publicclassJudgeAward{

voidgiveMess(intnumber){

if(number==9||number==131||number==12){

}

elseif(number==209||number==596||number==27){

}

elseif(number==875||number==316||number==59){

}

else{

}

}

}

4.

publicclassComputer{

publicstaticvoidmain(Stringargs[]){

Scannerreader=newScanner(System.in);

doubleamount=0;//存放电量

doubleprice=0;//用户需要交纳的电费

amount=reader.nextDouble();

if(amount<=90&&amount>=1){

price=amount*0.6;//计算price的值

}

elseif(amount<=150&&amount>=91){

price=90*0.6+(amount-90)*1.1;//计算price的值

}

elseif(amount>150){

price=90*0.6+(150-90)*1.1+(amount-150)*1.7;//计算price的值

}

else{

}

}

}

5.publicclassE{

publicstaticvoidmain(Stringargs[]){

charcStart='A',cEnd='Z';

for(charc=cStart;c<=cEnd;c++)

for(charc=cStart;c<=cEnd;c++)

}

}

6.publicclassXiti5{

publicstaticvoidmain(Stringargs[]){

intsum=0,i,j;

for(i=1;i<=1000;i++){

for(j=1,sum=0;j

if(i%j==0)

sum=sum+j;

}

if(sum==i)

}

}

}

7

publicclassE{

publicstaticvoidmain(Stringargs[]){

intn=1,i=1,jiecheng=1;

longsum=0;

while(true){

jiecheng=1;

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

jiecheng=jiecheng*i;

}

sum=sum+jiecheng;

if(sum>9876)

break;

n++;

}

}

}

习题五(第5章)

1.用类创建对象时。

2.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。

可以。

3.可以。

不可以。

4.不可以。

5.一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。

所有对象的类变量都分配给相同的一处内存,对象共享类变量。

6.CD。

7.【代码1】【代码4】。

8.sum=-100。

9.27。

10.100和20.0。

习题六(第6章)

1.如果子类和父类在同一个包中,那么,子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法,继承的成员或方法的访问权限保持不变。

当子类和父类不在同一个包中时,父类中的private和友好访问权限的成员变量不会被子类继承,也就是说,子类只继承父类中的protected和public访问权限的成员变量作为子类的成员变量;同样,子类只继承父类中的protected和public访问权限的方法作为子类的方法。

如果所声明的成员的变量的名字和从父类继承来的成员变量的名字相同(声明的类型可以不同),在这种情况下,子类就会隐藏掉所继承的成员变量。

2.不可以。

3.abstract类。

4.A类是B类的父类,当用子类创建一个对象b,并把这个对象b的引用放到父类的对象a中时,称a是b的上转型对象。

5.AD。

6.15.0

8.0。

7.98.0

12。

习题七(第7章)

1.不能。

2.不能。

3.可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。

那么该接口变量就可以调用被类实现的接口中的方法。

4.15.0

8。

5.18

15。

习题八(第8章)

1.有效。

2.可以。

3.不可以。

4.大家好,祝工作顺利!

习题九(第9章)

1.ABD。

2.Love:

Game。

3.15

abc我们。

4.13579。

5.9javaHello。

6.publicclassE{

publicstaticvoidmain(Stringargs[]){

Strings1,s2,t1="ABCDabcd";

s1=t1.toUpperCase();

s2=t1.toLowerCase();

Strings3=s1.concat(s2);

}

}

7.publicclassE{

publicstaticvoidmain(Stringargs[]){

Strings="ABCDabcd";

charcStart=s.charAt(0);

charcEnd=s.charAt(s.length()-1);

}

}

8.

importjava.util.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

Scannerread=newScanner(System.in);

CalendarBeancb=newCalendarBean();

intyear=2000,month=1;

year=read.nextInt();

month=read.nextInt();

cb.setYear(year);

cb.setMonth(month);

String[]a=cb.getCalendar();//返回号码的一维数组

char[]str="日一二三四五六".toCharArray();

for(charc:

str){

}

for(inti=0;i

if(i%7==0)

}

}

}

classCalendarBean{

String[]day;

intyear=0,month=0;

publicvoidsetYear(intyear){

this.year=year;

}

publicvoidsetMonth(intmonth){

this.month=month;

}

publicString[]getCalendar(){

String[]a=newString[42];

Calendarrili=Calendar.getInstance();

rili.set(year,month-1,1);

intweekDay=rili.get(Calendar.DAY_OF_WEEK)-1;//计算出1号的星期

intday=0;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

day=31;

if(month==4||month==6||month==9||month==11)

day=30;

if(month==2){

if(((year%4==0)&&(year%100!

=0))||(year%400==0))

day=29;

else

day=28;

}

for(inti=0;i

a[i]="";

for(inti=weekDay,n=1;i

a[i]=String.valueOf(n);

n++;

}

for(inti=weekDay+day;i

a[i]="";

returna;

}

}

9.importjava.util.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

Scannerread=newScanner(System.in);

intyear1,month1,day1,year2,month2,day2;

year1=read.nextInt();

month1=read.nextInt();

day1=read.nextInt();

year2=read.nextInt();

month2=read.nextInt();

day2=read.nextInt();

Calendarcalendar=Calendar.getInstance();

calendar.set(year1,month1-1,day1);

longtimeYear1=calendar.getTimeInMillis();

calendar.set(year2,month2-1,day2);

longtimeYear2=calendar.getTimeInMillis();

long相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));

year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");

}

}

10.importjava.util.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

doublea=0,b=0,c=0;

a=12;

b=24;

c=Math.asin(0.56);

c=Math.cos(3.14);

c=Math.exp

(1);

c=Math.log(8);

}

}

11.publicclassE{

publicstaticvoidmain(Stringargs[]){

Stringstr="ab123you你是谁?

";

Stringregex="\\D+";

str=str.replaceAll(regex,"");

}

}

12.importjava.util.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

Stringcost="数学87分,物理76分,英语96分";

Scannerscanner=newScanner(cost);

doublesum=0;

intcount=0;

while(scanner.hasNext()){

try{doublescore=scanner.nextDouble();

count++;

sum=sum+score;

}

catch(InputMismatchExceptionexp){

Stringt=scanner.next();

}

}

}

}

习题十(第10章)

1.使用FileInputStream。

2.FileInputStream按字节读取文件,FileReader按字符读取文件。

3.不可以。

4.使用对象流写入或读入对象时,要保证对象是序列化的。

5.使用对象流很容易得获取一个序列化对象的克隆,只需将该对象写入到对象输出流,那么用对象输入流读回的对象一定是原对象的一个克隆。

6.

importjava.io.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

Filef=newFile("E.java");;

try{RandomAccessFilerandom=newRandomAccessFile(f,"rw");

random.seek(0);

longm=random.length();

while(m>=0){

m=m-1;

random.seek(m);

intc=random.readByte();

if(c<=255&&c>=0)

else{

m=m-1;

random.seek(m);

bytecc[]=newbyte[2];

random.readFully(cc);

}

}

}

catch(Exceptionexp){}

}

}

7.

importjava.io.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

Filefile=newFile("E.java");

FiletempFile=newFile("temp.txt");

try{FileReaderinOne=newFileReader(file);

BufferedReaderinTwo=newBufferedReader(inOne);

FileWritertofile=newFileWriter(tempFile);

BufferedWriterout=newBufferedWriter(tofile);

Strings=null;

inti=0;

s=inTwo.readLine();

while(s!

=null){

i++;

out.write(i+""+s);

out.newLine();

s=inTwo.readLine();

}

inOne.close();

inTwo.close();

out.flush();

out.close();

tofile.close();

}

catch(IOExceptione){}

}

}

8.属于上机操作题,解答略。

9.importjava.io.*;

importjava.util.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

Filefile=newFile("a.txt");

Scannersc=null;

doublesum=0;

intcount=0;

try{sc=newScanner(file);

while(sc.hasNext()){

try{doubleprice=sc.nextDouble();

count++;

sum=sum+price;

}

catch(InputMismatchExceptionexp){

Stringt=sc.next();

}

}

}

catch(Exceptionexp){

}

}

}

习题十一(第11章)

1.Frame容器的默认布局是BorderLayout布局。

2.不可以。

3.

importjava.awt.*;

importjavax.swing.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

Computerfr=newComputer();

}

}

classComputerextendsJFrameimplementsDocumentListener{

JTextAreatext1,text2;

intcount=1;

doublesum=0,aver=0;

Computer(){

setLayout(newFlowLayout());

text1=newJTextArea(6,20);

text2=newJTextArea(6,20);

add(newJScrollPane(text1));

add(newJScrollPane(text2));

text2.setEditable(false);

(text1.getDocument()).addDocumentListener(this);

setSize(300,320);

setVisible(true);

validate();

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

publicvoidchangedUpdate(DocumentEvente){

Strings=text1.getText();

sum=0;

aver=0;

for(inti=0;i

try{sum=sum+Double.parseDouble(a[i]);

}

catch(Exceptionee){}

}

aver=sum/count;

text2.setText(null);

text2.append("\n和:

"+sum);

text2.append("\n平均值:

"+aver);

}

publicvoidremoveUpdate(DocumentEvente){

changedUpdate(e);

}

publicvoidinsertUpdate(DocumentEvente){

changedUpdate(e);

}

}

4.

importjava.awt.*;

importjavax.swing.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

ComputerFramefr=newComputerFrame();

}

}

classComputerFrameextendsJFrameimplementsActionListener{

JTextFieldtext1,text2,text3;

JButtonbuttonAdd,buttonSub,buttonMul,buttonDiv;

JLabellabel;

publicComputerFrame(){

setLayout(newFlowLayout());

text1=newJTextField(10);

text2=newJTextField(10);

text3=newJTextField(10);

label=newJLabel("",JLabel.CENTER);

label.setBackground(Color.green);

add(text1);

add(label);

add(text2);

add(text3);

buttonAdd=newJButton("加");

buttonSub=newJButton("减");

buttonMul=newJButton("乘");

buttonDiv=newJButton("除");

add(buttonAdd);

add(buttonSub);

add(buttonMul);

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

当前位置:首页 > 医药卫生 > 基础医学

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

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