Java程序设计教程第版习题解答.pdf
《Java程序设计教程第版习题解答.pdf》由会员分享,可在线阅读,更多相关《Java程序设计教程第版习题解答.pdf(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、习题解答 习题一(第 1 章)1James Gosling 2需 3 个步骤:1)用文本编辑器编写源文件。2)使用 javac 编译源文件,得到字节码文件。3)使用解释器运行程序。3set classpath=D:jdkjrelibrt.jar;.;4.B 5.Java 源文件的扩展名是.java,Java 字节码的扩展名是.class。6D。习题二(第 2 章)1 2 Oxab187 ractang109.87 widt25.18 heigOxab187 lader 18.12 heig165.65 bottTeacher.java public class Teacher double a
2、dd(double a,double b)return a+b;double sub(double a,double b)return a-b;Student.java public class Student public void speak()MainClass.java public class MainClass public static void main(String args)Teacher zhang=new Teacher();Student jiang=new Student();jiang.speak();3 如果源文件中有多个类,但没有 public 类,那么源文件
3、的名字只要和某个类的名字相同,并且扩展名是.java 就可以了,如果有一个类是 public 类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。4行尾风格。习题三(第 3 章)1用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。true 不是标识符。2关键字就是 Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。3boolean,char,byte,sh
4、ort,int,long,float,double。4属于操作题,解答略。5属于操作题,解答略。6.public class E public static void main(String args)char cStart=A,cEnd=Z;for(char c=cStart;c=cEnd;c+)7不可以。习题四(第 4 章)1110。不规范。2新亲亲斤!。3 public class JudgeAward void giveMess(int number)if(number=9|number=131|number=12)else if(number=209|number=596|numbe
5、r=27)else if(number=875|number=316|number=59)else 4 public class Computer public static void main(String args)Scanner reader=new Scanner(System.in);double amount=0;/存放电量 double price=0;/用户需要交纳的电费 amount=reader.nextDouble();if(amount=1)price=amount*0.6;/计算 price 的值 else if(amount=91)price=90*0.6+(amo
6、unt-90)*1.1;/计算 price 的值 else if(amount150)price=90*0.6+(150-90)*1.1+(amount-150)*1.7;/计算 price 的值 else 5public class E public static void main(String args)char cStart=A,cEnd=Z;for(char c=cStart;c=cEnd;c+)for(char c=cStart;c=cEnd;c+)6public class Xiti5 public static void main(String args)int sum=0,i
7、,j;for(i=1;i=1000;i+)for(j=1,sum=0;ji;j+)if(i%j=0)sum=sum+j;if(sum=i)7 public class E public static void main(String args)int n=1,i=1,jiecheng=1;long sum=0;while(true)jiecheng=1;for(i=1;i9876)break;n+;习题五(第 5 章)1用类创建对象时。2一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。3可以。不可以。4不可以。5一个类通过使用
8、 new 运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。6CD。7【代码 1】【代码 4】。8sum=-100。9.27。10100 和 20.0。习题六(第 6 章)1如果子类和父类在同一个包中,那么,子类自然地继承了其父类中不是 private 的成员变量作为自己的成员变量,并且也自然地继承了父类中不是 private 的方法作为自己的方法,继承的成员或方法的访问权限保持不变。当子类和父类不在同一个包中时,父类中的private 和友好访问权限的成员变量不会被子类继承,也就是说,子类只继承父类中的prote
9、cted和 public访问权限的成员变量作为子类的成员变量;同样,子类只继承父类中的 protected 和 public 访问权限的方法作为子类的方法。如果所声明的成员的变量的名字和从父类继承来的成员变量的名字相同(声明的类型可以不同),在这种情况下,子类就会隐藏掉所继承的成员变量。2不可以。3abstract 类。4A 类是 B 类的父类,当用子类创建一个对象 b,并把这个对象 b 的引用放到父类的对象a 中时,称 a 是 b 的上转型对象。5AD。6 15.0 8.0。7 98.0 12。习题七(第 7 章)1不能。2不能。3可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变
10、量中。那么该接口变量就可以调用被类实现的接口中的方法。4 15.0 8。5 18 15。习题八(第 8 章)1有效。2可以。3不可以。4大家好,祝工作顺利!习题九(第 9 章)1ABD。2Love:Game。3 15 abc 我们。413579。59javaHello。6public class E public static void main(String args)String s1,s2,t1=ABCDabcd;s1=t1.toUpperCase();s2=t1.toLowerCase();String s3=s1.concat(s2);7.public class E public
11、static void main(String args)String s=ABCDabcd;char cStart=s.charAt(0);char cEnd=s.charAt(s.length()-1);8.import java.util.*;public class E public static void main(String args)Scanner read=new Scanner(System.in);CalendarBean cb=new CalendarBean();int year=2000,month=1;year=read.nextInt();month=read.
12、nextInt();cb.setYear(year);cb.setMonth(month);String a=cb.getCalendar();/返回号码的一维数组 char str=日一二三四五六.toCharArray();for(char c:str)for(int i=0;ia.length;i+)/输出数组 a if(i%7=0)class CalendarBean String day;int year=0,month=0;public void setYear(int year)this.year=year;public void setMonth(int month)this.
13、month=month;public String getCalendar()String a=new String42;Calendar rili=Calendar.getInstance();rili.set(year,month-1,1);int weekDay=rili.get(Calendar.DAY_OF_WEEK)-1;/计算出 1 号的星期 int day=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
14、;if(month=2)if(year%4=0)&(year%100!=0)|(year%400=0)day=29;else day=28;for(int i=0;iweekDay;i+)ai=;for(int i=weekDay,n=1;iweekDay+day;i+)ai=String.valueOf(n);n+;for(int i=weekDay+day;i=0)m=m-1;random.seek(m);int c=random.readByte();if(c=0)else m=m-1;random.seek(m);byte cc=new byte2;random.readFully(c
15、c);catch(Exception exp)7.import java.io.*;public class E public static void main(String args)File file=new File(E.java);File tempFile=new File(temp.txt);try FileReader inOne=new FileReader(file);BufferedReader inTwo=new BufferedReader(inOne);FileWriter tofile=new FileWriter(tempFile);BufferedWriter
16、out=new BufferedWriter(tofile);String s=null;int i=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(IOException e)8.属于上机操作题,解答略。9.import java.io.*;import java.util.*;public class E public st
17、atic void main(String args)File file=new File(a.txt);Scanner sc=null;double sum=0;int count=0;try sc=new Scanner(file);while(sc.hasNext()try double price=sc.nextDouble();count+;sum=sum+price;catch(InputMismatchException exp)String t=sc.next();catch(Exception exp)习题十一(第 11 章)1Frame 容器的默认布局是 BorderLay
18、out 布局。2不可以。3 import java.awt.*;import javax.swing.*;public class E public static void main(String args)Computer fr=new Computer();class Computer extends JFrame implements DocumentListener JTextArea text1,text2;int count=1;double sum=0,aver=0;Computer()setLayout(new FlowLayout();text1=new JTextArea(
19、6,20);text2=new JTextArea(6,20);add(new JScrollPane(text1);add(new JScrollPane(text2);text2.setEditable(false);(text1.getDocument().addDocumentListener(this);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);public void changedUpdate(DocumentEvent e)Strin
20、g s=text1.getText();sum=0;aver=0;for(int i=0;ia.length;i+)try sum=sum+Double.parseDouble(ai);catch(Exception ee)aver=sum/count;text2.setText(null);text2.append(n 和:+sum);text2.append(n 平均值:+aver);public void removeUpdate(DocumentEvent e)changedUpdate(e);public void insertUpdate(DocumentEvent e)chang
21、edUpdate(e);4.import java.awt.*;import javax.swing.*;public class E public static void main(String args)ComputerFrame fr=new ComputerFrame();class ComputerFrame extends JFrame implements ActionListener JTextField text1,text2,text3;JButton buttonAdd,buttonSub,buttonMul,buttonDiv;JLabel label;public C
22、omputerFrame()setLayout(new FlowLayout();text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);label=new JLabel(,JLabel.CENTER);label.setBackground(Color.green);add(text1);add(label);add(text2);add(text3);buttonAdd=new JButton(加);buttonSub=new JButton(减);buttonMul=new JButton(乘)
23、;buttonDiv=new JButton(除);add(buttonAdd);add(buttonSub);add(buttonMul);add(buttonDiv);buttonAdd.addActionListener(this);buttonSub.addActionListener(this);buttonMul.addActionListener(this);buttonDiv.addActionListener(this);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.D
24、ISPOSE_ON_CLOSE);public void actionPerformed(ActionEvent e)double n;if(e.getSource()=buttonAdd)double n1,n2;try n1=Double.parseDouble(text1.getText();n2=Double.parseDouble(text2.getText();n=n1+n2;text3.setText(String.valueOf(n);label.setText(+);catch(NumberFormatException ee)text3.setText(请输入数字字符);e
25、lse if(e.getSource()=buttonSub)double n1,n2;try n1=Double.parseDouble(text1.getText();n2=Double.parseDouble(text2.getText();n=n1-n2;text3.setText(String.valueOf(n);label.setText(-);catch(NumberFormatException ee)text3.setText(请输入数字字符);else if(e.getSource()=buttonMul)double n1,n2;try n1=Double.parseD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 教程 习题 解答
限制150内