内容发布更新时间 : 2024/12/23 21:51:23星期一 下面是文章的全部内容请认真阅读。
a.setX(8);
System.out.println(a.getX()); B b=new B(); b.f(a);
System.out.println(a.getX()); } } 答: 8 100
15.使用接口有哪些注意事项?模仿例子4.27,编写一个类实现两个接口的程序。
答:①一个类使用接口时,要有implements关键字,当一个类使用多个接口时,接口名要用逗号“,”隔开;使用接口的类除abstract类外,必须实现接口的所有方法,并且实现接口的方法时,方法名字、返回类型、参数个数及类型必须与接口中的完全一致;类在实现接口时,方法体一定要用public修饰,如果接口方法的返回类型不是void型,在类中实现接口时,方法体至少有一个return语句。 ② interface 表面积 {
double allArea(double r); }
interface 体积 {
double volu(double r); }
class Sph implements 表面积,体积 {
double PI=3.14159;
public double allArea(double r) {
return 4*PI*r*r;
}
public double volu(double r) {
return 4.0/3*PI*r*r*r; } }
public class Test {
public static void main(String args[]) {
double r=5.0; Sph a=new Sph();
System.out.println(\半径为5的球的表面积是:\
System.out.println(\半径为5的球的体积是:\} }
16.编写一个类A,该类创建的对象可以调用方法f输出英文字母表,然后再编写一个该类的子类B,要求子类B必须继承A类的方法f(不允许重写),子类创建的对象不仅可以调用方法f输出英文字母表,而且调用子类新增的方法g输出希腊字母表。 答: class A { int m; void f() {
for(m=65;m<91;m++)
System.out.print((char)m+\for(m=97;m<123;m++)
System.out.print((char)m+\System.out.println(\} }
class B extends A { int i; void g() {
for(i=913;i<930;i++)
System.out.print((char)i+\for(i=931;i<938;i++)
System.out.print((char)i+\for(i=945;i<962;i++)
System.out.print((char)i+\for(i=963;i<970;i++)
System.out.print((char)i+\
System.out.println(\} }
public class Test {
public static void main(String args[]) {
B b=new B();
System.out.println(\我调用方法f输出英文字母表:\b.f();
System.out.println(\我调用方法g输出希腊字母表:\b.g(); } }
17.编写一个异常类MyException,再编写一个类Student,该类有一个产生异常的方法public void speak(int m) throws MyException,要求参数m的值大于1000时,方法抛出一个MyException对象。最后编写主类,在主类的main方法中用Student创建一个对象,让该对象调用speak方法。 答: class MyException extends Exception {
String str1; MyException(int m) {
str1=m+\出现错误 可能造成的原因是取值大于1000\}
public void showStr1() {
System.out.println(str1); } }
class Student {
public void speak(int m) throws MyException {
if(m>1000) {
MyException exception=new MyException(m); throw exception; } else
System.out.println(m); } }
public class Test {
public static void main(String agrs[]) { int m;
Student stu1=new Student(); m=987; try {
stu1.speak(m); m=1234; stu1.speak(m); }
catch(MyException e) {
e.showStr1(); } } }
18.编写一个类,该类有一个方法public int f(int a,int b),该方法返回a和b的最大公约数。然后再编写一个该类的子类,要求子类重写方法f,而且重写的方法将返回a和b的最小公倍数。要求在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将乘积(a*b)/m返回。要求在应用程序的主类中分别使用父类和子类创建对象,并分别调用方法f计算两个正整数的最大公约数和最小公倍数。 答: class A {
public int f(int a,int b) { if(a
int temp=0; temp=a; a=b; b=temp; }
int r=a%b; while(r!=0) { a=b; b=r; r=a%b; } return b; } }
class B extends A
{
public int f(int a,int b) { int m;
m=super.f(a,b);
return (a*b)/m; } }
public class Test {
public static void main(String args[]) {
A a=new A();
System.out.println(\和102的最大公约数是:\B b=new B();
System.out.println(\和102的最小公倍数是:\} }
第5章 字符串
1. 使用String类的public String toUpperCase()方法可以将一个字符串中的小写字母变成大写字母,使用public String toLowerCase()方法可以将一个字符串中的大写字母变成小写字母。编写一个程序,使用这两个方法实现大小写的转换。 答: class Test {
public static void main(String args[]) {
String str=\
System.out.println(\要转换的字符串是:\String s=str.toUpperCase();
System.out.println(\转换成大写字符串是:\s=str.toLowerCase();
System.out.println(\转换成小写字符串是:\} }
2. 使用String类的public String concat(String str)方法可以把调用该方法的字符串与参数指定的字符串连接,把str指定的串连接到当前串的尾部获得一个新的串。编写一个程序通过连接两个串得到一个新串,并输出这个新串。 答: class Test {
public static void main(String args[]) {
String str1=\String str2=\
String s=str1.concat(str2);
System.out.println(\将字符串\与字符串\连接后得到的新字符串是:\