1、Java编程思想(第四版)习题答案第二章练习1:public class PrimitiveTest static int i;static char c;public static void main(String args) System.out.println(int = + i);System.out.println(char = + c);练习2:public class HelloWorld public static void main(String args) System.out.println(Hello World!);练习3:public class ATNTest p
2、ublic static void main(String args) class ATypeName int i;double d;boolean b;void show() System.out.println(i);System.out.println(d);System.out.println(b);ATypeName a = new ATypeName();a.i = 3;a.d = 2.71828;a.b = false;a.show();练习4:public class DataOnlyTest public static void main(String args) class
3、 DataOnly int i;double d;boolean b;void show() System.out.println(i);System.out.println(d);System.out.println(b);DataOnly data = new DataOnly();data.i = 3;data.d = 2.71828;data.b = false;data.show();练习5:public class DOTest2 public static void main(String args) class DataOnly int i;double d;boolean b
4、;void show() System.out.println(i);System.out.println(d);System.out.println(b);DataOnly data = new DataOnly();data.i = 234;data.d = 2.1234545;data.b = true;data.show();练习6:public class StorageTest public static void main(String args) class StoreStuff int storage(String s) return s.length() * 2;Store
5、Stuff x = new StoreStuff();System.out.println(x.storage(hi);练习7:class StaticTest static int i = 47;class Incrementable static void increment() StaticTest.i+; public class ITest public static void main(String args) System.out.println(StaticTest.i= + StaticTest.i);StaticTest st1 = new StaticTest();Sta
6、ticTest st2 = new StaticTest();System.out.println(st1.i= + st1.i);System.out.println(st2.i= + st2.i);Incrementable sf = new Incrementable();sf.increment();System.out.println(After sf.increment() called: );System.out.println(st1.i = + st1.i);System.out.println(st2.i = + st2.i);Incrementable.increment
7、();System.out.println(After Incrementable.increment called: );System.out.println(st1.i = + st1.i);System.out.println(st2.i = + st2.i);练习8:class StaticTest static int i = 47;class Incrementable static void increment() StaticTest.i+; public class OneStaticTest public static void main(String args) Syst
8、em.out.println(StaticTest.i= + StaticTest.i);StaticTest st1 = new StaticTest();StaticTest st2 = new StaticTest();System.out.println(st1.i= + st1.i);System.out.println(st2.i= + st2.i);Incrementable.increment();System.out.println(After Incrementable.increment() called: );System.out.println(st1.i = + s
9、t1.i);System.out.println(st2.i = + st2.i);Incrementable.increment();System.out.println(After Incrementable.increment called: );System.out.println(st1.i = + st1.i);System.out.println(st2.i = + st2.i);st1.i = 3;System.out.println(After st1.i = 3, );System.out.println(st1.i = + st1.i);System.out.printl
10、n(st2.i = + st2.i);System.out.println(Create another StaticTest, st3.);StaticTest st3 = new StaticTest();System.out.println(st3.i = + st3.i);练习9:public class AutoboxTest public static void main(String args) boolean b = false;char c = x;byte t = 8;short s = 16;int i = 32;long l = 64;float f = 0.32f;d
11、ouble d = 0.64;Boolean B = b;System.out.println(boolean b = + b); System.out.println(Boolean B = + B); Character C = c;System.out.println(char c = + c);System.out.println(Character C = + C);Byte T = t;System.out.println(byte t = + t);System.out.println(Byte T = + T);Short S = s;System.out.println(sh
12、ort s = + s);System.out.println(Short S = + S);Integer I = i;System.out.println(int i = + i);System.out.println(Integer I = + I);Long L = l;System.out.println(long l = + l);System.out.println(Long L = + L);Float F = f;System.out.println(float f = + f);System.out.println(Float F = + F);Double D = d;S
13、ystem.out.println(double d = + d);System.out.println(Double D = + D);练习10:public class CommandArgTest public static void main(String args) System.out.println(args0 = + args0);System.out.println(args1 = + args1);System.out.println(args2 = + args2);练习11:public class Rainbow public static void main(Str
14、ing args) AllTheColorsOfTheRainbow atc = new AllTheColorsOfTheRainbow();System.out.println(atc.anIntegerRepresentingColors = + atc.anIntegerRepresentingColors);atc.changeColor(7);atc.changeTheHueOfTheColor(77);System.out.println(After color change, atc.anIntegerRepresentingColors = + atc.anIntegerRe
15、presentingColors);System.out.println(atc.hue = + atc.hue);class AllTheColorsOfTheRainbow int anIntegerRepresentingColors = 0;int hue = 0;void changeTheHueOfTheColor(int newHue) hue = newHue;int changeColor(int newColor) return anIntegerRepresentingColors = newColor;练习12:public class DocTest /* Entry
16、 poing to class & application.* param args array of string arguments* throws exceptions No exceptions thrown*/public static void main(String args) System.out.println(Hello, its: );System.out.println(new Date();练习13-1:public class Documentation1 /* A field comment */public int i;/* A method comment *
17、/public void f() 2:public class Documentation2 Date d = new Date();void showDate() System.out.println(Date = + d);3:public class Documentation3 public static void main(String args) Date d = new Date();System.out.println(d = + d);练习14:public class Documentation4 public int i = 2;private int j = 3;pub
18、lic static void main(String args) Date d = new Date();System.out.println(d = + d);练习15:public class HelloDocTest public static void main(String args) System.out.println(Hello World!);练习16:class Tree int height;Tree() System.out.println(Planting a seedling);height = 0;Tree(int initialHeight) height =
19、 initialHeight;System.out.println(Creating new tree that is + height + feet tall);void info() System.out.println(Tree is + height + feet tall);void info(String s) System.out.println(s + : Tree is + height + feet tall);public class Overloading public static void main(String args) for(int i = 0; i 5;
20、i+) Tree t = new Tree(i);t.info();t.info(overloading method);/ Overloaded constructor:new Tree();第三章练习1:public class PrintTest public static void main(String args) print(Hello, from short form.);P.rintln(Hello from greggordon form.);System.out.println(Hello from long form.);练习2:class Tube float leve
21、l;public class Assign public static void main(String args) Tube t1 = new Tube();Tube t2 = new Tube();t1.level = 0.9f;t2.level = 0.47f;P.rintln(1: t1.level: + t1.level + , t2.level: + t2.level);t1 = t2;P.rintln(2: t1.level: + t1.level + , t2.level: + t2.level);t1.level = 0.27f; P.rintln(3: t1.level:
22、+ t1.level + , t2.level: + t2.level);练习3:class Box float a;public class PassObject2 static void f(Box y) y.a = 2.71828f;public static void main(String args) Box x = new Box();x.a = 3.1416f;print(1: x.a = + x.a);f(x);print(2: x.a = + x.a);练习4:class VelocityCalculator static float velocity (float d, f
23、loat t) if(t = 0) return 0f;else return d/t; public class VelocityTester public static void main(String args) float d = 565.3f;float t = 3.6f;System.out.println(Distance: + d);System.out.println(Time: + t);float v = VelocityCalculator.velocity(d, t);System.out.println(Velocity: + v);练习5:class Dog St
24、ring name;String says;void setName(String n) name = n;void setSays(String s) says = s;void showName() P.rintln(name);void speak() P.rintln(says);public class DogTest public static void main(String args) Dog spot = new Dog();spot.setName(Spot);spot.setSays(Ruff!);Dog scruffy = new Dog();scruffy.setNa
25、me(Scruffy);scruffy.setSays(Wurf!);spot.showName();spot.speak();scruffy.showName(); scruffy.speak();练习6:class Dog String name;String says;void setName(String n) name = n;void setSays(String s) says = s;void showName() P.rintln(name);void speak() P.rintln(says);public class DogCompare public static v
26、oid main(String args) Dog spot = new Dog();spot.setName(Spot);spot.setSays(Ruff!);Dog scruffy = new Dog();scruffy.setName(Scruffy);scruffy.setSays(Wurf!);spot.showName();spot.speak();scruffy.showName(); scruffy.speak();Dog butch = new Dog();butch.setName(Butch);butch.setSays(Hello!);butch.showName()
27、;butch.speak();P.rintln(Comparison: );P.rintln(spot = butch: + (spot = butch);P.rintln(spot.equals(butch): + spot.equals(butch);P.rintln(butch.equals(spot): + butch.equals(spot);P.rintln(Now assign: spot = butch);spot = butch;P.rintln(Compare again: );P.rintln(spot = butch: + (spot = butch);P.rintln(spot.equals(butch): + spot.equals(butch);P.rintln(butch.equals(spot): + butch.equals(spot);P.rintln(Spot: );spot.showName();spot.speak();P.rintln(Butch: );butch.showName();butch.speak();练习7: