Java语言程序设计(郑莉)第五章课后习题答案

合集下载

解析JAVA程序设计方案第五章课后答案

解析JAVA程序设计方案第五章课后答案

第5章习题解答1.流的主要特征有哪些,用流来实现JAVA中的输入输出有什么优点?答:一是单向性,即数据只能从数据源流向数据宿:二是顺序性,先从数据源流出的数据一左比后流出的数据先到达数据宿:三是数据流必须而且只能和一个数据源与一个数据宿相连。

优点是体现了面向对象程序设计的概念,通过流可以把对不同类型的输入/输出设备的操作统一为用流来实现。

2.对字廿流和字符流进行读写操作的一般步骤是什么?答:声明流对象,创建流对象,通过流对象进行读(写)操作,关闭流对象。

3.有哪些常用的字节流和字符流,他们的主要区别是什么?答:InputStream/OutputStrem:普通字iT 流,所有字I'J流的基类。

FilelnputStream/ FileOutputStream :用于从文件中读写数据。

BufferedlnputStream/ BufferedOutputStream:用于从缓冲区输入流中读写数据。

采用缓冲区流可减少实际上从外部输入设备上读写数据的次数,从而提高效率。

DatalnputStream/ DataOutputStream:按读写数据对象的大小从字节流中读写数据,而不是象其它字节流那样以字节为基本单位。

PipedlnputStream/ PipedOutputStream:管道输流用于从另一个线程中读写数据。

4.么是异常?说明Java中的异常处理机制?试述JAVA中异常的抛出和传递过程?答:异常是程序设计语言提供的一种机制,它用于在程序运行中的非常规情况下,控制程序对非常规情况进合理的处理。

Java提供了try-catch-finally语句来对异常进行处理。

先按照正常顺序执行try子句中的语句,若在执行过程中出现异常,则try子句中还未被执行的语句将再也不会被执行。

而程序控制立即转移到catch子句,将发生的异常与catch子句中的异常进行匹配,若找到一个匹配,就执行该catch子句中的语句。

Java程序设计课后练习答案

Java程序设计课后练习答案

《J a v a程序设计》课后练习答案第一章Java概述一、选择题1.( A )是在Dos命令提示符下编译Java程序的命令,( B )是运行Java程序的命令。

A.javacB.javaC.javadocD.javaw2.( D )不是Java程序中有效的注释符号。

A.//B.C.D.3.(A.B.C.D.4.JavaA.B.C.D.5.JavaA.1、JavaJava(JVM)Java以下图展示了Java程序从编译到最后运行的完整过程。

2、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。

2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。

3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。

4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。

它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。

Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。

Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)5)、6)、Java来。

1、/****/}}第二章Java语法基础一、选择题1.下面哪个单词是Java语言的关键字( B )?A. DoubleB. thisC. stringD. bool2.下面属于Java关键字的是( D )。

A. NULLB. IFC. DoD. goto3.在启动Java应用程序时可以通过main( )方法一次性地传递多个参数。

如果传递的参数有多个,可以用空格将这些参数分割;如果某一个参数本身包含空格,可以使用( B )把整个参数引起来。

java语言程序设计课后习题答案解析

java语言程序设计课后习题答案解析

习题23.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。

答:首先创建一个字符串变量有两种方式:String str = new String("abc");String str = "abc";使用“= =”会因为创建的形式不同而产生不同的结果:String str1 = "abc";String str2 = "abc";System.out.println(str1= =str2); //trueString str1 = new String("abc"); String str2 = "abc";System.out.println(str1= =str2); //falseString str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1= =str2); //false因此自符串如果是对内容进行比较,使用equals方法比较可靠。

String str1 = "abc";String str2 = "abc";System.out.println(str1= =str2); //trueString str1 = new String("abc"); String str2 = "abc";System.out.println(str1.equals(str2)); //trueString str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1.equals(str2)); //true5.编写一个程序,把变量n的初始值设置为1678,然后利用除法运算和取余运算把变量的每位数字都提出来并打印,输出结果为:n=1678。

《Java程序设计》教材第五章练习题答案

《Java程序设计》教材第五章练习题答案

习题一、选择题1. 面向对象程序设计的基本特征是(BCD)。

(多选)A.抽象B.封装C.继承D.多态2.下面关于类的说法正确的是(ACD)。

(多选)A.类是Java 语言中的一种复合数据类型。

B.类中包含数据变量和方法。

C.类是对所有具有一定共性的对象的抽象。

D.Java 语言的类只支持单继承。

上机指导1.设计银行项目中的注册银行用户基本信息的类,包括账户卡号、姓名、身份证号、联系电话、家庭住址。

要求是一个标准Java类(数据私有,提供seter/getter),然后提供一个toString方法打印该银行用户的信息。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\BankUser.java”2.设计银行项目中的帐户信息,包括帐户卡号、密码、存款,要求如“练习题1”。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Account.java”3.设计银行项目中的管理员类,包括用户名和密码。

要求如“练习题1”。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Manager.java”4.创建一个Rectangle类。

添加两个属性width、height,分别表示宽度和高度,添加计算矩形的周长和面积的方法。

测试输出一个矩形的周长和面积。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Rectangle.java”5.猜数字游戏:一个类A有一个成员变量v,有一个初值100。

定义一个类,对A类的成员变量v进行猜。

如果大了则提示大了,小了则提示小了。

等于则提示猜测成功。

答:源代码请参见“CH05_LAB\src\com\inspur\ch05\Guess.java”6.编写一个Java程序,模拟一个简单的计算器。

定义名为Computer的类,其中两个整型数据成员num1和num1,编写构造方法,赋予num1和num2初始值,再为该类定义加、减、乘、除等公有方法,分别对两个成员变量执行加减乘除的运算。

《Java语言程序设计:基础篇》课后复习题答案-第五章

《Java语言程序设计:基础篇》课后复习题答案-第五章

Chapter5Methods1.At least three benefits:(1)Reuse code;(2)Reduce complexity;(3)Easy to maintain.See the Sections5.2and5.3on how to declare and invoke methods.What is thesubtle difference between“defining a method”and“declaring a variable”?A declaration usually involvesallocating memory to store a variable,but a definitiondoesn’t.2.void3.Yes.return(num1>num2)?num1:num2;4.True:a call to a method with a void return type is always a statement itself.False:a call to a value-returning method is always a component of an expression.5.A syntax error occurs if a return statement is not used to return a value in a value-returning method.You can have a return statement in a void method,whichsimply exits the method.But a return statement cannot return a value such asreturn x+y in a void method.6.See Section5.2.puting a sales commission given the sales amount and the commission ratepublic static double getCommission(double salesAmount,doublecommissionRate)Printing a calendar for a monthpublic static void printCalendar(int month,int year)Computing a square rootpublic static double sqrt(double value)Testing whether a number is even and return true if it ispublic static boolean isEven(int value)Printing a message for a specified number of timespublic static void printMessage(String message,int times)Computing the monthly payment,given the loan amount,number of years,and annual interest rate.public static double monthlyPayment(double loan,intnumberOfYears,double annualInterestRate)Finding the corresponding uppercase letter given a lowercase letter.public static char getUpperCase(char letter)8.Line2:method1is not defined correctly.It does not have a return type or void.Line2:type int should be declared for parameter m.Line7:parameter type for n should be double to match method2(3.4).Line11:if(n<0)should be removed in method,otherwise a compile error is reported.9.public class Test{public static double xMethod(double i,double j){ while(i<j){j--;}return j;}}10.You pass actual parameters by passing the right type of value in the right order.The actual parameter can have the same name as its formal parameter.11."Pass by value"is to pass a copy of the value to the method.(A)The output of the program is0,because the variable max is not changed byinvoking the method max.(B)224248248162481632248163264(C)Before the call,variable times is3n=3Welcome to Java!n=2Welcome to Java!n=1Welcome to Java!After the call,variable times is3(D)12121421i is 512.Just before max is invoked.Space required for the main methodmax: 0Just entering max.Space required for the max methodmax: 0value2: 2 value1: 1Just before max is returnedSpace required for the main methodmax: 0Space required for the max methodmax: 2value2: 2 value1: 1 Space required for the main methodmax: 0Space required for the main methodmax: 0Right after max is returned13.Two methods with the same name,defined in the same class,is called method overloading.It is fine to have same method name,but different parameter types.You cannot overload methods based on return type,or modifiers.14.Methods public static void method(int x)and public static int method(int y)have the same signature method(int).15.Line 7:int n =1is wrong since n is already declared in the method signature.16.True17.(a)34+(int)(Math.random()*(55–34))(b)(int)(Math.random()*1000)(c)5.5+(Math.random()*(55.5–5.5))(d)(char)(‘a’+(Math.random()*(‘z’–‘a’+1))18.Math.sqrt(4)= 2.0Math.sin(2*Math.PI)=0Math.cos(2*Math.PI)=1Math.pow(2,2)= 4.0Math.log(Math.E)=1Math.exp(1)= 2.718Math.max(2,Math.min(3,4))=3 Math.rint(-2.5)=-2.0Math.ceil(-2.5)=-2.0Math.floor(-2.5)=-3.0Math.round(-2.5f)=-2Math.round(-2.5)=-2Math.rint(2.5)= 2.0Math.ceil(2.5)= 3.0Math.floor(2.5)= 2.0Math.round(2.5f)=3Math.round(-2.5)=-2Math.round(Math.abs(-2.5))=3。

Java语言程序设计课后习题答案全集

Java语言程序设计课后习题答案全集

Java语言程序设计课后习题答案全集Java语言程序设计是一门广泛应用于软件开发领域的编程语言,随着其应用范围的不断扩大,对于掌握Java编程技巧的需求也逐渐增加。

为了帮助读者更好地掌握Java编程,本文将提供Java语言程序设计课后习题的全集答案,供读者参考。

一、基础知识题1. 代码中的注释是什么作用?如何使用注释.答:注释在代码中是用来解释或者说明代码的功能或用途的语句,编译器在编译代码时会自动忽略注释。

在Java中,有三种注释的方式:- 单行注释:使用"// " 可以在代码的一行中加入注释。

- 多行注释:使用"/* */" 可以在多行中添加注释。

- 文档注释:使用"/** */" 可以添加方法或类的文档注释。

2. 什么是Java的数据类型?请列举常见的数据类型。

答:Java的数据类型用来指定变量的类型,常见的数据类型有:- 基本数据类型:包括整型(byte、short、int、long)、浮点型(float、double)、字符型(char)、布尔型(boolean)。

- 引用数据类型:包括类(class)、接口(interface)、数组(array)等。

二、代码编写题1. 编写Java程序,输入两个整数,求和并输出结果。

答:```javaimport java.util.Scanner;public class SumCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个整数:");int num1 = scanner.nextInt();System.out.print("请输入第二个整数:");int num2 = scanner.nextInt();int sum = num1 + num2;System.out.println("两个整数的和为:" + sum);}}```三、综合应用题1. 编写Java程序,实现学生信息管理系统,要求包括以下功能:- 添加学生信息(姓名、年龄、性别、学号等);- 修改学生信息;- 删除学生信息;- 查询学生信息。

JAVA语言程序设计(第8版)第5章完整答案programming-exercises(程序练习题)答案完整版

JAVA语言程序设计(第8版)第5章完整答案programming-exercises(程序练习题)答案完整版

5_1public class Exercise01 {public static void main(String[] args) {final int PENTAGONAL_NUMBERS_PER_LINE = 10;final int PENTAGONAL_NUMBERS_TO_PRINT = 100;int count = 1;int n = 1;while (count <= PENTAGONAL_NUMBERS_TO_PRINT) {int pentagonalNumber = getPentagonalNumber(n);n++;if (count % PENTAGONAL_NUMBERS_PER_LINE == 0)System.out.printf("%-7d\n", pentagonalNumber);elseSystem.out.printf("%-7d", pentagonalNumber);count++;}}public static int getPentagonalNumber(int n) {return n * (3 * n - 1) / 2;}}5_2import java.util.Scanner;public class Exercise02 {public static void main(String[] args) {Scanner input = new Scanner(System.in);//Prompt the user to enter an integerSystem.out.print("Enter an interger: ");long number = input.nextLong();System.out.println("The sum of the digits in " + number + " is " + sumDigits(number));}public static int sumDigits(long n) {int sum = 0;long remainingN = n;do {long digit = remainingN % 10;remainingN = remainingN / 10;sum += digit;} while (remainingN != 0);return sum;}}第03题import java.util.Scanner;public class Exercise03 {public static void main(String[] args) {Scanner input = new Scanner(System.in);//Prompt the user to enter an integerSystem.out.print("Enter an integer: ");int number = input.nextInt();//Display resultSystem.out.println("Is " + number + " a palindrome? " + isPalindrome(number));}public static boolean isPalindrome(int number) {if (number == reverse(number))return true;elsereturn false;}public static int reverse(int number) {int reverseNumber = 0;do {int digit = number % 10;number = number / 10;reverseNumber = reverseNumber * 10 + digit;} while (number != 0);return reverseNumber;。

java答案第五章

java答案第五章
SetPi b=new SetPi(3.00);
"改变Pi=3.00圆的面积:"+c.area());
}
}
运行结果:
3.在什么情况下,可以对父类对象的引用进行强制类型转换,使其转化成子类对象的引用?
答:一个对象被塑型为父类或接口后,可以再一次被塑型回到它原来所属的类,即转化成原类对象的引用。
4.声明一个接口,此接口至少具有一个方法;在一个方法中声明内部类实现此接口,并返回此接口的引用。
public class Circle implements Shape2D{
double radius;
public Circle(double r){radius=r;}
public double area(){return Pi*radius*radius;}
}
//A类(测试接口中隐含final的area()方法)
this.id=newid;
}
public void setname(String newname){
=newname;
}
public void setscoreOfenglish(float newscoreOfenglish){
this.scoreOfenglish=newscoreOfenglish;
//Student类
public class Student{
String id;
String name;
float scoreOfenglish;
float scoreOfmath;
float scoreOfcomputer;
float scoreOfsum;
//构造方法
public Student(){

java语言程序设计_郑莉_第5章

java语言程序设计_郑莉_第5章

清华大学 郑莉
5.1.1 接口的作用及语法

接口的作用
– 是面向对象的一个重要机制 – 实现多继承,同时免除C++中的多继承 那样的复杂性 – 建立类和类之间的“协议”
把类根据其实现的功能来分别代表,而不必
接 口
顾虑它所在的类继承层次;这样可以最大限 度地利用动态绑定,隐藏实现细节 实现不同类之间的常量共享
Programming in JAVA
第5章 接口与多态
郑莉
JAVA语言程序设计
清华大学 郑莉
目录
5.1 接口 5.2 塑型 5.3 多态的概念 5.4 多态的应用 5.5 构造方法与多态 5.6 内部类 5.7 本章小结

2
JAVA语言程序设计
清华大学 郑莉
5.1 接口
18
接 口
JAVA语言程序设计
清华大学 郑莉
5.1.3 多重继承

多重继承
– Java的设计以简单实用为导向,不允许一个类有 多个父类 – 但允许一个类可以实现多个接口,通过这种机制 可实现多重继承 – 一个类实现多个接口的语法如下
[类修饰符] class 类名称 implements 接口1,接口2, … { …… }
5.1.2 实现接口
清华大学 郑莉
——例5_3

实现接口Insurable,声明汽车类实现例5.1中的 Insurable接口,实现接口中的所有抽象方法
public class Car implements Insurable { public int getPolicyNumber() { // write code here } public double calculatePremium() { // write code here } public Date getExpiryDate() { // write code here } public int getCoverageAmount() { // write code here } public int getMileage() { //新添加的方法 //write code here } }

自考Java语言程序设计(一)第五章以后课后习题及答案

自考Java语言程序设计(一)第五章以后课后习题及答案
{
m_dRealPart = d;
}
void setImaginaryPart(double d)
{
m_dImaginPart = d;
}
//复数运算方法
ComplexNumber complexAdd(ComplexNumber c)
{
return new ComplexNumber(
this.m_dRealPart + c.getRealPart(),
{
suhData=new Data;
}
intgetData()
{
return subData;
}
}
3.“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否正确?为什么?
4.在Java程序中,通过类的定义只能实现单重继承()
5.下列哪些说法是正确的?
A、Java语言只允许单一继承
B、Java语言只允许实现一个接口
·m_dlmaginPart虚部,代表复数的虚数部分。
(2)复数类ComplexNumber的方法
·ComplexNumber()构造方法,将实部、虚部都置为0。
·ComplexNumber(doubler,doublei)构造方法,创建复数对象的同时完成复数的实部、虚部的初始化;r为实部的初值,i为虚部的初值。
A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同考试大论坛
B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的方法名字不同,但形参的个数或类型相同
D.两个以上的方法取相同的方法名,并且方法的返回类型相同
3.什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?与方法的重载有何不同?

Java语言程序设计 课后习题+答案

Java语言程序设计 课后习题+答案

第一章课后习题1.编译Java程序的命令是什么?2.执行Java程序的命令是什么?3.Java应用程序和小程序的区别是什么?4.编写一个application ,实现在屏幕上打印自己名字的功能。

第一章课后习题答案1.编译Java程序的命令是什么?答案:javac 源文件名2.执行Java程序的命令是什么?java 主类名3.Java应用程序和小程序的区别是什么?Java application⏹由Java解释器独立运行字节码⏹由专门的命令行启动程序执行⏹程序中有定义了main()方法的主类Java applet⏹不能独立运行,字节码必须嵌入HTML文档⏹当浏览器调用含applet的Web页面时执行⏹程序中含有java. applet. Applet 类的子类4.编写一个application ,实现在屏幕上打印自己名字的功能。

class Test{public static void main(String[] args){System.out.println(“张三”);}}第二章课后习题(1)一、选择题1.下列变量定义错误的是。

A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8;2.下列数据类型的精度由高到低的顺序是:a)float,double,int,longb)double,float,int,bytec)byte,long,double,floatd)double,int,float,long3.执行完下列代码后,int a=3;char b='5';char c=(char)(a+b);c的值是?A)’8’ b)53 c)8 d)564.Unicode是一种_____________A) 数据类型 B)java包 C)字符编码 D)java类5.6+5%3+2的值是___________A)2 B)1 C) 9 D)106.下面的逻辑表达式中合法的是__________A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3) 7.java语言中,占用32位存储空间的是__________。

JAVA语言程序设计基础课后习题第五章

JAVA语言程序设计基础课后习题第五章

JAVA语⾔程序设计基础课后习题第五章//exercise 5.1package fivechapterexercise1;public class first {public static void main(String[] args) {// TODO Auto-generated method stubfinal int NUMBER_OF_PENTAGONAL_PER_LINE=10;for(int i=1;i<=100;i++){System.out.print(getpentagonalnumber(i)+" ");if(i%NUMBER_OF_PENTAGONAL_PER_LINE==0)System.out.println();}}public static int getpentagonalnumber(int i){return i*(3*i-1)/2;}}//exercise 5.2package fivechapterexercise1;import java.util.Scanner;public class second {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.print("input a integer :");int integer=in.nextInt();System.out.println("The sum of digits is "+getsumdigits(integer));}public static int getsumdigits(int integer){int sum=0;while(integer!=0){sum += integer%10;integer /=10;}return sum;}}//exercise 5.3package fivechapterexercise1;import java.util.Scanner;public class third {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.print("please input a integer:");int integer=in.nextInt();System.out.println("This integer is a palindrome?"+ispalindrome(integer));}public static boolean ispalindrome(int integer){if(integer==reverse(integer))return true;elsereturn false;}public static int reverse(int integer){int count=0;int temp=integer;while(integer!=0){integer /=10;count++;}int sum=0;for(int i=count;i>=1;i--){sum=sum+(int)(Math.pow(10, i-1))*(temp%10);temp /= 10;}return sum;}}//exercise 5.4package fivechapterexercise1;import java.util.Scanner;public class fourth {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.print("please input integer:");int integer=in.nextInt();System.out.print("The palindrome is:"+reverse(integer));}public static int reverse(int integer){int count=0;int temp=integer;while(integer!=0){integer /=10;count++;}int sum=0;for(int i=count;i>=1;i--){sum=sum+(int)(Math.pow(10, i-1))*(temp%10);temp /= 10;}return sum;}}//exercise 5.5package fivechapterexercise1;public class fifth {public static void main(String[] args) {// TODO Auto-generated method stubdisplaySortedNumbers(4.4,2.4,9.8);}public static void displaySortedNumbers(double num1,double num2,double num3){if(num1>num2){double temp=num1;num1=num2;num2=temp;}if(num1>num3){double temp=num1;num1=num3;num3=temp;}if(num2>num3){double temp=num2;num2=num3;num3=temp;}System.out.println("Ascending order number three:"+num1+","+num2+","+num3+"."); }}//exercise 5.6package fivechapterexercise1;public class sixth {public static void main(String[] args) {// TODO Auto-generated method stubdisplayPattern(15);}public static void displayPattern(int n){for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){System.out.print(" ");}for(int j=i;j>=1;j--){System.out.printf("%3d", j);}System.out.println();}}}//exercise 5.7package fivechapterexercise1;import java.util.Scanner;public class seventh {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.print("input investment amount and annually interest rate:");int investmentAmount=in.nextInt();double annuallyInterestrate=in.nextDouble()/1200;System.out.println("Years\tFuture Value");for(int i=1;i<=30;i++){System.out.println(i+" \t"+futureInvestmentValue(investmentAmount,annuallyInterestrate,i));}}public static double futureInvestmentValue(double investmentAmount,double monthlyInterestRate,int years){double futureinvestmentValue=investmentAmount*(Math.pow((1+monthlyInterestRate),years));return futureinvestmentValue;}}//exercise 5.8package fivechapterexercise1;public class eighth {public static void main(String[] args) {// TODO Auto-generated method stubdouble celsius=40.0;double fahrenheit=120.0;System.out.println("摄⽒度\t华⽒度\t 华⽒度\t摄⽒度");for(int i=1;i<=10;i++){System.out.println(celsius+"\t"+((int)(celsiustofahrenheit(celsius)*10)/10.0)+"\t "+ fahrenheit+" "+((int)(fahrenheittocelsius(fahrenheit)*10)/10.0));celsius--;fahrenheit -=10;}}public static double celsiustofahrenheit(double celsius){return (9.0/5)*celsius+32;}public static double fahrenheittocelsius(double fahrenheit){return (fahrenheit-32)/(9.0/5);}}//exercise 5.9package fivechapterexercise1;public class ninth {public static void main(String[] args) {// TODO Auto-generated method stubdouble celsius=1.0;double fahrenheit=20.0;System.out.println("英尺\t⽶\t ⽶\t英尺");for(int i=1;i<=10;i++){System.out.println(celsius+"\t"+((int)(celsiustofahrenheit(celsius)*10)/10.0)+"\t "+ fahrenheit+" "+((int)(fahrenheittocelsius(fahrenheit)*10)/10.0));celsius++;fahrenheit +=5;}}public static double celsiustofahrenheit(double celsius){return celsius*0.305;}public static double fahrenheittocelsius(double fahrenheit){return (fahrenheit/0.305);}}//exercise 5.10package fivechapterexercise1;import fivechapter1.seventh;public class tenth {public static void main(String[] args) {// TODO Auto-generated method stubint count=0;for(int i=1;i<=10000;i++){if(seventh.isPrime(i))count++;}System.out.println("The number of prime is "+ count);}}//exercise 5.11package fivechapterexercise2;public class first {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("销售总额\t\t酬⾦");int salesamount=10000;for(int i=1;i<20;i++){System.out.println(salesamount+"\t\t"+computecommission(salesamount));salesamount+=5000;}}public static double computecommission(double salesamount){if(salesamount<5000)return salesamount*0.08;else if(salesamount<10000)return 5000*0.08+(salesamount-5000)*0.10;elsereturn 5000*0.08+5000*0.10+(salesamount-10000)*0.12;}}//exercise 5-12package fivechapterexercise2;public class second {public static void main(String[] args) {// TODO Auto-generated method stubprintChars('1','Z',10);}public static void printChars(char ch1,char ch2,int numberPerLine){int number=ch2-ch1+1;final int NUMBER_OF_CHARS_PER_LINE=numberPerLine;for(int i=0;i<number;i++){System.out.print((char)(ch1+i)+" ");if((i+1)%NUMBER_OF_CHARS_PER_LINE==0) System.out.println();}}}//exercise 5.13package fivechapterexercise2;public class third {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("i\t\tm(i)");for(int i=1;i<=20;i++){System.out.println(i+"\t\t"+m(i));}}public static double m(double integer){double sum=0;for(int i=1;i<=integer;i++){sum=sum+(double)i/(i+1);}return sum;}}//exercise 5-14package fivechapterexercise2;public class fourth {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("i\t\tm(i)");int number=10;for(int i=1;i<=10;i++){System.out.println(number+"\t\t"+m(number)); number +=10;}}public static double m(int integer){double sum=0;for(int i=1;i<=integer+1;i++){sum =sum+(Math.pow(-1,i-1)*(1.0/(2*i-1)));}return 4*sum;}}//exercise 5.17package fivechapterexercise2;public class seventh {public static void main(String[] args) {// TODO Auto-generated method stubprintMatrix(3);}public static void printMatrix(int n){for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){System.out.print((int)(Math.random()*2)+" "); }System.out.println();}}}//exercise 5.18package fivechapterexercise2;public class eighth {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("number\t\tsqir");for(int i=0;i<=10;i++){System.out.println(2*i+"\t\t"+Math.sqrt(2*i));}}}//exercise 5-19package fivechapterexercise2;public class ninth {public static void main(String[] args) {// TODO Auto-generated method stubdouble side1=2,side2=3,side3=4;System.out.println("side1=2,side2=3,side3=4 is a triangle?"+isvalid(side1,side2,side3));}public static boolean isvalid(double side1,double side2,double side3){if(side1<side2){double temp=side1;side1=side2;side2=temp;}if(side1<side3){double temp=side1;side1=side3;side3=temp;}if(side1<side2+side3)return true;elsereturn false;}public static double area(double side1,double side2,double side3){double s=(side1+side2+side3)/2;//calculation areadouble area=Math.pow(s*(s-side1)*(s-side2)*(s-side3),0.5);return area;}}//exercise 5-20package fivechapterexercise2;public class tenth {public static void main(String[] args) {// TODO Auto-generated method stubfinal double RADIANS=Math.PI/180.0;int angle=0;System.out.println("angle\tsine\tcosine");for(int i=0;i<=36;i++){System.out.println(angle+"\t"+Math.sin(angle*RADIANS)+"\t"+Math.cos(angle*RADIANS)); angle += 10;}}}//exercise 5-21package fivechapterexercise3;import java.util.Scanner;//not precisepublic class first {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.print("Enter ten numbers:");double []number=new double[10];for(int i=0;i<10;i++){number[i]=in.nextDouble();}System.out.println("The mean is "+average(number));System.out.println("The standard deviation is "+standarddeviation(number)); }public static double average(double ...average){double sum=0;for(int i=0;i<average.length;i++){sum=sum+average[i];}return sum/average.length;}public static double standarddeviation(double ...number){double sum=0;double squaresum=0;for(int i=0;i<number.length;i++){squaresum += Math.sqrt(number[i]);sum += number[i];}double num1=squaresum-Math.sqrt(sum)/(number.length);double num2=num1/(number.length-1);double calculation=Math.pow(num2,0.5);return calculation;}}//exercise 5-22package fivechapterexercise3;public class second {public static void main(String[] args){System.out.println("sqrt of 4 is "+sqrt(4));}public static double sqrt(double number){double lastguess=1;double reduce=1;while (reduce>0.00000001){double nextguess=(lastguess+(number/lastguess))/2;reduce=nextguess-lastguess;lastguess=nextguess;}return lastguess;}}//exercise 5.23package fivechapterexercise3;import chenqingyuan.RandomCharacter;public class third {public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=0;i<100;i++){if(i%10==0)System.out.println();System.out.print(RandomCharacter.getRandomUpperCaseLetter()+" "); }System.out.println("\n\n");for(int i=0;i<100;i++){if(i%10==0)System.out.println();System.out.print(RandomCharacter.getRandomDigitCharacter()+" ");}}}//exercise 5.26package fivechapterexercise3;import chenqingyuan.math;public class sixth {public static void main(String[] args) {// TODO Auto-generated method stubint count=0;int integer=1;while(count<100){if(math.isPrime(integer)&&math.isPalindrome(integer)){if(count%10==0)System.out.println();System.out.print(integer+" ");count++;}integer++;}}}//exercise 5-27package fivechapterexercise3;import chenqingyuan.math;public class seventh {public static void main(String[] args) {// TODO Auto-generated method stubint count=0;int integer=1;while(count<100){if(math.isPrime(integer)&&math.isPrime(math.reverse(integer))&&!math.isPalindrome(integer)){if(count%10==0)System.out.println();System.out.print(integer+" ");count++;}integer++;}}}package fivechapterexercise3;public class eifhth {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("p\t\t2^p-1");for(int p=1;p<=31;p++){int number=(int)Math.pow(2,p)-1;if(chenqingyuan.math.isPrime(number))System.out.println(p+"\t\t"+number);}}}//exercise 5.29package fivechapterexercise3;public class ninth {public static void main(String[] args) {// TODO Auto-generated method stubint num1=(int)(Math.random()*6)+1;int num2=(int)(Math.random()*6)+1;int sum=num1+num2;System.out.print("You rolled "+num1+" + "+num2+" = "+sum);System.out.println();if(sum==3||sum==12){System.out.println("You lose");System.exit(0);}else if(sum==7||sum==11){System.out.println("You win");System.exit(0);}else{while(true){int num3=(int)(Math.random()*6)+1;int num4=(int)(Math.random()*6)+1;int add=num3+num4;if(sum==add){System.out.println("point is "+sum);System.out.print("You rolled "+num3+" + "+num4+" = "+add);System.out.println();System.out.println("You win");System.exit(0);}else if (add==7){System.out.println("point is "+sum);System.out.print("You rolled "+num3+" + "+num4+" = "+add); System.out.println();System.out.println("You lose");System.exit(0);}}}}}//exercise 5.30package fivechapterexercise3;import chenqingyuan.math;public class tenth {public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=1;i<1000;i++){if(math.isPrime(i)&&math.isPrime(i+2))System.out.println("("+i+","+(i+2)+")");}}}//exercise 5.32package fivechapterexercise4;public class second {public static void main(String[] args) {// TODO Auto-generated method stubint count=0;for(int i=1;i<=10000;i++){int num1=(int)(Math.random()*6)+1;int num2=(int)(Math.random()*6)+1;int sum=num1+num2;if(sum==3||sum==12){continue;}else if(sum==7||sum==11){count++;continue;}else{while(true){int num3=(int)(Math.random()*6)+1;int num4=(int)(Math.random()*6)+1;int add=num3+num4;if(sum==add){count++;break;}else if (add==7){break;}}}}System.out.println("The number if times you win is "+count);}}//exercise 5.33package fivechapterexercise4;import chenqingyuan.math;//System.currentTimeMillis() display is USA timepublic class third {public static void main(String[] args) {// TODO Auto-generated method stublong millisecond=System.currentTimeMillis();long second=millisecond/1000%60;long minute=millisecond/1000/60%60;//+8 is to solve the time differencelong hour=(millisecond/3600/1000+8)%24;long day=(millisecond/3600/1000+8)/24;//judge yearlong daya=day-730;long day1=daya%1461;long count=daya/1461;//judge yearlong years=1970+2+4*count;if(day1>366){years =years+1;day1 -= 366;}while(day1>365){years +=1;day1 -= 365;}//resolve error !!To solve the time differenceday1 +=1;//judge monthint month=1;int mark;while(true){if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){mark=(int)day1/32;if(mark!=0){day1 -= 31;month++;}elsebreak;}else if(month==2){int numberofmonth=0;if(!math.isLeapYear((int)years))numberofmonth=28;elsenumberofmonth=29;mark=(int)day1/(numberofmonth+1);if(mark!=0){day1 -= numberofmonth;month++;}elsebreak;}else {mark=(int)day1/31;if(mark!=0){day1 -= 30;month++;}elsebreak;}}System.out.println("Current date and time is "+math.getMonthName(month)+" "+day1+","+years+" "+hour+":"+minute+":"+second); }}//exercise 5.35package fivechapterexercise4;import java.util.Scanner;public class fifth {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.print("please input side:");int side=in.nextInt();System.out.println("This area is "+area(side));}public static double area(int side){double molecular=5*side*side;double denominator=4*Math.tan(Math.PI/5);return molecular/denominator;}}//exercise 5.36package fivechapterexercise4;import java.util.Scanner;public class sixth {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.print("input number of side and side:");int numberofside=in.nextInt();int side=in.nextInt();System.out.println("This area is "+area(numberofside,side)); }public static double area(int n,int side){double molecular=n*side*side;double denominator=4*Math.tan(Math.PI/n);return molecular/denominator;}}。

Java语言程序设计(郑莉)课后习题答案

Java语言程序设计(郑莉)课后习题答案

1.什么是对象、类,它们之间的联系?答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。

对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。

现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。

2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。

2.什么是面向对象的程序设计方法?它有那些基本特征?答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。

它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。

它的特征:抽象,封装,继承,多态。

4.请解释类属性、实例属性及其区别。

答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。

5.请解释类方法、实例属性及其区别。

答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。

类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。

区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;6.类的访问控制符有哪几种?具体含义及其区别。

答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。

区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。

7类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用?答:类成员的访问控制符有public,private,protecte及无修饰符.public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限).Private(保护的):类中限定为private的成员只能被这个类本身访问,在类外不可见。

java第五章习题及答案

java第五章习题及答案
一.填空题:
1.Internet/Intranet Server(服务器),客户端
2.初始化、启动、停止、退出
3.事件
4.ActionEvent,ActionListener,actionPerformed(ActionEvent e)
5.CheckboxGroup,Checkbox,Choice,List,ItemEvent
result.setText(j.toString(i));
}
catch(ArithmeticException ee){
result.setText("divided by zero");
}
}
}
class clearL implements ActionListener{
public void actionPerformed(ActionEvent e){
TextField result=new TextField(10);
Label la1=new Label("first data:");
Label la2=new Label("second data:");
Label la3=new Label("equal:");
Button plus=new Button("+");
二.选择题:
4.b5.A6.A7.a
二.编程题:
1.
importjava.applet.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassExampleextendsAppletimplementsActionListener{

Java课后习题答案第五章

Java课后习题答案第五章
{
char c[] = {'O','l','y','m','p','i','c',' ','G','a','m','e','s'};
rever(c);
System.out.println(c);
}
public static void rever(char c[]){char t;
for(int i=0,j=c.length-1;i<j;i++,j--)
import java.io.*;
public class Test
{ public static void main(String[] args)
{ int i,a=0,s=0;
System.out.print("请输入数a:");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
{
sum+=x[i];
}
System.out.println("平均数:"+sum/10);
}
}
17.利用数组输入6位大学生3门课程的成绩,然后计算
(1)每个大学生的总分;
(2)每门课程的平均分;
import java.io.*;
public class Scores
{
public static void main(String[] args)throws IOException

java习题及答案第5章习题参考答案

java习题及答案第5章习题参考答案

java习题及答案第5章习题参考答案第5章习题解答1.使⽤抽象和封装有哪些好处?答:抽象是⼈们解决问题的基本⼿段,程序设计过程中需要对问题领域进⾏分析、设计中得出的抽象概念,然后封装成⼀些类。

封装也称为信息隐藏,是指利⽤抽象数据类型将数据和基于数据的操作封装在⼀起,使其构成⼀个不可分割的独⽴实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留⼀些对外接⼝使之与外部发⽣联系。

系统的其他部分只有通过包裹在数据外⾯的被授权的操作来与这个抽象数据类型交流与交互。

也就是说,⽤户⽆需知道对象内部⽅法的实现细节,但可以根据对象提供的外部接⼝(对象名和参数)访问该对象。

把对象中相同或相似地地⽅抽象出来,从特殊到⼀半,从具体到抽象的过程,对象经过抽象得到类,类的实例化成了对象。

也可以⾼度抽象成接⼝,让不完全相同,但包含相同点的对象实现此接⼝,也就是利⽤多态实现。

把相同点抽象出来,抽象成此类或接⼝的⽅法、属性、字段等,封装就是隐藏某个对象的与其基本特性没有很⼤关系的所有详细信息的过程,就是将需要让其他类知道的暴露出来,不需要让其他类了解的全部隐藏起来,封装可以阻⽌对不需要信息的访问,我们可以使⽤访问指定符实现封装,也可以使⽤⽅法实现封装,可以将隐藏的信息作为参数或者属性值、字段指传给公共的接⼝或⽅法,以实现隐藏起来的信息和公开信息的交互。

封装的⽬的就是为了实现“⾼内聚,低耦合”。

⾼内聚就是类的内部数据操作细节⾃⼰完成,不允许外部⼲涉,就是这个类只完成⾃⼰的功能,不需要外部参与;低耦合,就是仅暴露很少的⽅法给外部使⽤。

2.构造⽅法的作⽤是什么?它与⼀般的成员⽅法在使⽤和定义⽅⾯有什么区别?答:构造⽅法⽤于⽣成⼀个对象实例,并对对象实例中的成员变量初始化。

当⽤new创建⼀个类的新的对象时,构造⽅法⽴即执⾏。

构造⽅法名字必须与类名相同。

3.Overload和Override的区别?答:⽅法重载(overloading)与⽅法覆盖(overriding)是实现多态性的基本⼿段,但两者的机制不同。

java程序设计项目教程第五章答案

java程序设计项目教程第五章答案
一、选择题
参考答案:
1.A 2.A3.C 4.B5.B6.B7.A8.B9.A10.C
二、填空题
参考答案:
1.swing2.布局管理器3.setLayout()4.mouseRelease
5.适配器6.ActionListener7.事件事件源8.JMenu
三、编程
1.设计如图样式的图形用户界面(不要求实现功能)。
JTextField t2=newJTextField("57",3);
JTextField t3=newJTextField("59",3);
JTextField t4=newJTextField(3);
JTextField t5=newJTextField(3);
JTextField t6=newJTextField(3);
JButton answerButton;
JButton questionButton;
JButton scoreButton;
public TestPanel()
{
setLayout(new BorderLayout());
JPanel northPanel=new JPanel();
northPanel.setLayout(new GridLayout(2,1));
JLabel b5 = newJLabel("闹钟时间:");
JLabel b6 = newJLabel("时");
JLabel b7= newJLabel("分");
JLabel b8 = newJLabel("秒");
JLabel b9 = newJLabel("闹钟设置");

Java语言程序设计第2版(郑莉)课后习题答案

Java语言程序设计第2版(郑莉)课后习题答案

Java语言‎程序设计第2‎版(郑莉)第二章习题答‎案1.什么是对象、类,它们之间的联‎系?答:1)对象是包含现‎实世界物体特‎征的抽象实体‎,它反映系统为‎之保存信息和‎与它交互的能‎力。

对象是一些属‎性及服务的封‎装体,在程序设计领‎域,可以用“对象=数据+作用于这些数‎据上的操作”来表示。

现实生活中对‎象是指客观世‎界的实体;在程序中对象‎是指一组变量‎和相关方法的‎集合。

2)类是既有相同‎操作功能和相‎同的数据格式‎的对象的集合‎与抽象!3)两者的关系:对象是类的具‎体实例.。

2.什么是面向对‎象的程序设计‎方法?它有那些基本‎特征?答:面向对象程序‎设计从所处理‎的数据入手,以数据为中心‎而不是以服务‎为中心来描述‎系统。

它把编程问题‎视为一个数据‎集合,数据相对于功‎能而言,具有更强的稳‎定性。

它的特征:抽象,封装,继承,多态。

3(无用)4.请解释类属性‎、实例属性及其‎区别。

答:实例属性,由一个个的实‎例用来存储所‎有实例都需要‎的属性信息,不同实例的属‎性值可能会不‎同。

5.请解释类方法‎、实例属性及其‎区别。

答:实例方法表示‎特定对象的行‎为,在声明时前面‎不加stat‎i c修饰符,在使用时需要‎发送给一个类‎实例。

类方法也称为‎静态方法,在方法声明时‎前面需加st‎a t ic修饰‎符,类方法表示具‎体实例中类对‎象的共有行为‎。

区别:实例方法可以‎直接访问实例‎变量,调用实例方法‎,实例方法可以‎直接访问类变‎量,调用类方法;类方法可以直‎接调用类变量‎和类方法,类方法不能直‎接调用实例变‎量和实例方法‎;6.类的访问控制‎符有哪几种?具体含义及其‎区别。

答:类的访问控制‎符只有pub‎l ic(公共类)及无修饰符(默认类)两种。

区别:当使用pub‎l ic修饰符‎时表示所有其‎他的类都可以‎使用此类;当没有修饰符‎时,则只有与此类‎处于同一包中‎的其他类可以‎使用类。

7类成员的访‎问控制符有哪‎几种?他们对类成员‎分别有哪些访‎问限制的作用‎?答:类成员的访问‎控制符有public‎,privat‎e,protec‎t e及无修饰‎符.public‎(公有的):用publi‎c修饰的成分‎表示公有的,也就是它可以‎被其他任何对‎象访问(前提是对累成‎员所在的类访‎问有访问权限‎).Privat‎e(保护的):类中限定为p‎r ivate‎的成员只能被‎这个类本身访问,在类外不可见‎。

C语言程序设计(郑莉)课后习题答案

C语言程序设计(郑莉)课后习题答案

C语言程序设计(郑莉)课后习题答案C++语言程序设计(清华大学郑莉)课后习题答案第一章概述1-1 简述计算机程序设计语言的发展历程。

解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。

1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。

面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。

通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。

因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。

C++语言是目前应用最广的面向对象的编程语言。

1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。

结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。

虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。

当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。

由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。

《Java语言程序设计-基础篇》答案-第05章

《Java语言程序设计-基础篇》答案-第05章

第5章 数组复习题5.1 答:(略)5.2 答:使用数组名和下标。

如:arrayName[index]5.3 答:声明数组时不为数组分配内存,使用new 运算符为数组分配内存。

输出结果: x is 60The size of numbers is 305.4 答:依次为:对、错、对、错5.5 答:有效的数组名分别是:d, f, r5.6 答:整数,05.7 答:a[2]5.8 答:出现下标越界错误,具体是:ArrayIndexOutOfBoundsException。

5.9 答:第3行改为:double[] r = new double[100]; 第5行的r.length()改为:r.length 第6行的r(i)改为:r[i]5.10 答:语句如下:int[] t = new int[source.length];System.arraycopy(source, 0, t, 0, source.length);5.11 答:不是修改数组大小,而创建一个新数组,并用myList 去引用。

5.12 答:不正确。

是将数组地址传递给方法形参。

5.13 答:输出如下:numbers is 0 and numbers[0] is 35.14 答:数组存放在堆(heap)中。

第2问参见P144图5-7。

5.15 - 5.18 (略)5.19 答:int[] matrix = new int[4][5];课后答案网ww w.kh da w .c om5.20 答:可以。

5.21 答:输出:array[0][1] is 2课后答案网ww w.kh da w .c om。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
this.scoreOfsum=sum();
}
public void setscoreOfmath(float newscoreOfmath){
this.scoreOfmath=newscoreOfmath;
this.scoreOfsum=sum();
}
public void setscoreOfcomputer(float newscoreOfcomputer){
System.out.println("B类声明实现A接口类并返回接口的应用——Fuck you!");
}
};/*注意这里有分号“;”*/
}
}
//test5_4
public class test5_4 {
public static void main(String[] args){
new B().fuck().fuck();
}
//compare方法/比较2学生总分
public void compare(Student x){
if(this.getscoreOfsum()>x.getscoreOfsum())System.out.println(this.getname()+"总分大于"+x.getname());
if(this.getscoreOfsum()<x.getscoreOfsum())System.out.println(this.getname()+"总分小于"+x.getname());
return(scoreOfmath);
}
public float getscoreOfcomputer(){
return(scoreOfcomputer);
}
public float getscoreOfsum(){
return(scoreOfsum);
}
//5个set方法
public void setid(String newid){
this.scoreOfmath=ascoreOfmath;
this.scoreOfcomputer=ascoreOfcomputer;
//this.scoreOfsum=ascoreOfenglish+ascoreOfmath+ascoreOfcomputer;
this.scoreOfsum=sum();
Student b=(Student)x;
if(this.id==b.getid())return true;
}
*/
}
//StudentXW
public class StudentXW extends Student{
String responsibility;
//构造方法
public StudentXW(){
public String Way2(){return "A的方法2";}
}
//B类
public class B extends A{
public String Way2(){
return "B的方法2";
}
}
//test5_6
public class test5_6 {
public static void main(String args[]){
4.声明一个接口,此接口至少具有一个方法;在一个方法中声明内部类实现此接口,并返回此接口的引用。
//A类接口
public interface A{
void fuck();
}
//B类
public class B{
public A fuck(){
return new A(){
public void fuck(){
A a=new B();
System.out.println(a.Way1());
}
}
7.什么是多态?如何实现多态?
答:多态性是指不同类型的对象可以响应相同的消息。利用向上塑性技术,一个父类的应引用变量可以指向不同的子类对象;而利用动态绑定技术,可以再运行时根据父类引用变量所指对象的世纪类型执行相应的子类方法,从而实现多态性。
else System.out.println(this.getname()+"总分等于"+x.getname());
}
//equals方法/比较2学生学号是否相等
/*
* public boolean equals(Object x){
if(this.getClass()!=x.getClass())return false;
}
}
//StudentBZ
public class StudentBZ extends Student{
String responsibility;
//构造方法
public StudentBZ(){
super();
//responsibility="";
}
public StudentBZ(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer,String aresponsibility){
与抽象类不同的是:接口允许在看起来不相干的类之间定义共同行为。
2.试编程证明接口中的属性都隐含为static及final,所有的方法都为public。
//定义接口Shape2D
interface Shape2D{
double Pi=3.14;
double area();
}
//Circle类继承接口Shape2D
}
}
运行结果:
5.声明一个具有内部类的类,此内部类只有一个非默认的构造方法;声明另外一个具有内部类的类,此内部类继承第一个内部类。
//A类
class A{
class ClassOfA{
public ClassOfA(){
}
}
}
//B类
public class B{
class ClassOfB extends A.ClassOfA{
}
//6个get方法
public String getid(){
return(id);
}
public String getname(){
return(name);
}
public float getscoreOfenglish(){
return(scoreOfenglish);
}
public float getscoreOfmath(){
super();
//responsibility=" ";
}
public StudentXW(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer,String aresponsibility){
}
//sum方法
public float sum(){
return(this.scoreOfenglish+this.scoreOfmath+this.scoreOfcomputer);
}
//testScore测评成绩/平均分
public float testScore(){
return(this.scoreOfsum/3);
8.在第4章习题10的基础上,声明测试类完成对多态性的测试。
(1)在主方法中声明Student类的数组(含五个元素)
(2)生成五个对象存入数组:其中三个Student类的对象、一个StudentXW类的对象、一个StudentBZ类的对象。
(3)将方法testScore()发送给数组的每一个元素,输出结果,并分析具体执行的是哪一个类中的方法。
public class A extends Shape2D{
public double area();
}
//test5_2
public class test5_2{
public static void main(String args[]){
Circle c=new Circle(10);
System.out.println("Pi=3.14圆的面积:"+c.area());
Java语言程序设计
第五章课后习题答案
1.什么是接口?接口起什么作用?接口与抽象类有何区别?
答:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
作用:接口是面向对象的一个重要机制,使用接口可以实现多态继承;接口中的所有方法都是抽象的,这些抽象方法由实现这一接口的不同类型来具体;接口还可以用来实现不同类之间的常量共享。
super(aid,aname,ascoreOfenglish,ascoreOfmath,ascoreOfcomputer);
responsibility=aresponsibility;
}
//testScore测评成绩/平均分
public float testScore(){
return(this.scoreOfsum/3+3);
this.id=newid;
}
public void setname(String newname){
thiΒιβλιοθήκη =newname;
相关文档
最新文档