java程序设计基础_陈国君版第五版_第七章例题
class Cylinder
{
private double radius;
private int height;
private double pi = 3.14;
double area(){
return pi*radius*radius;
}
double volume(){
return area()*height;
}
}
public class Main7_1 {
public static void main(String[] args){
Cylinder volu;
volu = new Cylinder();
//volu.radius = 2.8 ;
//volu.height = 5;
//System.out.println("底圆半径="+volu.radius);
//System.out.println("圆柱的高="+volu.height);
System.out.print("圆柱");
System.out.println("底面积 = " + volu.area());
System.out.println("圆柱体体积 ="+volu.volume());
}
}
class Cylinder1
{
private double radius;
private int height;
private double pi = 3.14;
public void setCylinder(double r,int h)
{
if(r>0&&h>0)
{
radius = r;
height = h;
}
else
System.out.println("您的数据有错误!");
}
double area(){
return pi*radius*radius;
}
double volume(){
return area()*height;
}
}
public class Main7_2 {
public static void main(String[] args){
Cylinder1 volu = new Cylinder1();
volu.setCylinder(2.5,-5);
System.out.println("圆柱底面积 = "+volu.area());
System.out.println("圆柱体体积 = "+volu.volume());
}
}
class Cylinder2
{
private double radius;
private int height;
private double pi = 3.14;
private String color;
public double setCylinder(double r,int h)
{
radius = r;
height = h ;
return r+h;
}
public void setCylinder(String str)
{
color = str;
}
public void show()
{
System.out.println("圆柱的颜色为:"+color);
}
double area(){
return pi*Math.pow(radius,2);
}
double volume()
{
return area()*height;
}
}
public class Main7_3 {
public static void main(String[] args){
double r_h;
Cylinder2 volu = new Cylinder2();
r_h = volu.setCylinder(2.5,5);
volu.setCylinder("红色");
System.out.println("圆柱底半径和高之和= "+r_h);
System.out.println("圆柱体体积 = "+volu.volume());
volu.show();
}
}
class Cylinder4
{
private double radius;
private int height;
private double pi = 3.14;
public Cylinder4(double r,int h)
{
radius = r;
height = h;
}
double area()
{
return pi*radius*radius;
}
double volume()
{
return area()*height;
}
}
public class Main7_4 {
public static void main(String[] args)
{
Cylinder4 volu = new Cylinder4(3.5,8);
System.out.println("圆柱底面积 ="+ volu.area());
System.out.println("圆柱体体积 ="+ volu.volume());
}
}
class Cylinder5
{
private double radius;
private int height;
private double pi = 3.14;
private String color;
public Cylinder5()
{
radius = 1;
height = 2;
color = "绿色";
}
public Cylinder5(double r, int h , String str)
{
radius = r;
height = h;
color = str;
}
public void setColor()
{
System.out.println("该圆柱的颜色为:"+color);
}
double area()
{
return pi*radius*radius;
}
double volume()
{
return area()*height;
}
}
public class Main7_5 {
public static void main(String[] args)
{
Cylinder5 volu1 = new Cylinder5();
System.out.println("圆柱1底面积 ="+ volu1.area());
System.out.println("圆柱1体积 ="+ volu1.volume());
volu1.setColor();
Cylinder5 volu2 = new Cylinder5(2.5,8,"红色");
System.out.println("圆柱2底面积 ="+ volu2.area());
System.out.println("圆柱2体积 ="+ volu2.volume());
volu2.setColor();
}
}
class Cylinder6
{
private double radius;
private int height;
private double pi = 3.14;
String color;
public Cylinder6()
{
this(2.5,5,"红色");
System.out.println("无参构造方法被调用了");
}
public Cylinder6(double r ,int h,String str)
{
System.out.println("有参构造方法被调用了");
radius = r;
height = h;
color = str;
}
public void show()
{
System.out.println("圆柱底半径为:"+radius);
System.out.println("圆柱体的高为:"+height);
System.out.println("圆柱的颜色为:"+color);
}
double area()
{
return pi*radius*radius;
}
double volume()
{
return area()*height;
}
}
public class Main7_6 {
public static void main(String[] args)
{
Cylinder6 volu1 = new Cylinder6();
System.out.println("圆柱1底面积 ="+ volu1.area());
System.out.println("圆柱1体积 ="+ volu1.volume());
volu1.show();
}
}
class Cylinder7
{
private double radius;
private int height;
private double pi = 3.14;
private String color;
public Cylinder7()
{
System.out.println("无参构造方法被调用了");
}
public Cylinder7(double r, int h,String str)
{
this();
radius = r;
height = h;
color = str;
}
public void show()
{
System.out.println("圆柱底半径为:"+radius);
System.out.println("圆柱体的高为:"+height);
System.out.println("圆柱的颜色为:"+color);
}
double area()
{
return pi*radius*radius;
}
double volume()
{
return area()*height;
}
}
public class Main7_7 {
public static void main(String[] args)
{
Cylinder7 volu1 = new Cylinder7(2.5,5,"蓝色");
System.out.println("圆柱1底面积 ="+ volu1.area());
System.out.println("圆柱1体积 ="+ volu1.volume());
volu1.show();
}
}
class Cylinder8
{
private static int num = 0;
private static double pi = 3.14;
private double radius ;
private int height;
public Cylinder8(double r,int h)
{
radius = r;
height = h;
num++;
}
public void count()
{
System.out.print("创建了"+num+"个对象");
}
double area()
{
return pi*radius*radius;
}
double volume()
{
return area()*height;
}
}
public class Main7_8 {
public static void main(String[] args)
{
Cylinder8 volu1 = new Cylinder8 (2.5,5);
volu1.count();
System.out.println("圆柱1的体积 ="+volu1.volume());
Cylinder8 volu2 = new Cylinder8(1.0,2);
volu2.count();
System.out.println("圆柱2的体积 = "+volu2.volume());
}
}
class Cylinder9
{
private static int num = 0;
private static double pi = 3.14;
private double radius ;
private int height;
public Cylinder9(double r,int h)
{
radius = r;
height = h;
num++;
}
public static void count()
{
System.out.println("创建了"+num+"个对象");
}
double area()
{
return pi*radius*radius;
}
double volume()
{
return area()*height;
}
}
public class Main7_9 {
public static void main(String[] args)
{
Cylinder9.count();
Cylinder9 volu1 = new Cylinder9 (2.5,3);
volu1.count();
System.out.println("圆柱1的体积 ="+volu1.volume());
Cylinder9 volu2 = new Cylinder9 (1.0,2);
volu2.count();
System.out.println("圆柱2的体积 = "+volu2.volume());
}
}
class Cylinder10
{
private static double pi = 3.14;
private double radius ;
private int height;
public Cylinder10(double r,int h)
{
radius = r;
height = h;
}
public void setCylinder(double r, int h)
{
radius = r;
height = h;
}
double volume()
{
return pi*radius*radius*height;
}
}
public class Main7_10 {
public static void main(String[] args)
{
Cylinder10 volu1,volu2;
volu1 = new Cylinder10 (2.5,5);
System.out.println("圆柱1的体积 ="+volu1.volume());
volu2 = volu1;
volu2.setCylinder(1.0,2);
System.out.println("圆柱2的体积 = "+volu2.volume());
}
}
class Cylinder11
{
private static double pi = 3.14;
private double radius ;
private int height;
public Cylinder11(double r,int h)
{
radius = r;
height = h;
}
public void compare(Cylinder11 volu)
{
if(this == volu)
{
System.out.println("这两个对象相等");
}
else
System.out.println("这两个对象不相等");
}
}
public class Main7_11 {
public static void main(String[] args)
{
Cylinder11 volu1 = new Cylinder11(1.0,2);
Cylinder11 volu2 = new Cylinder11(1.0,2);
Cylinder11 volu3 = volu1;
volu1.compare(volu2);
volu1.compare(volu3);
}
}
class Person
{
private String name;
private int age;
public Person(String name,int age)
{
this.name = name;
this.age = age;
}
public Person compare(Person p)
{
if(this.age>p.age)
return this;
else
return p;
}
}
public class Main7_12 {
public static void main(String[] args)
{
Person per1 = new Person("张三",20);
Person per2 = new Person("李四",21);
Person per3;
per3 = per1.compare(per2);
if(per3 == per1)
System.out.println("张三年龄大");
else
System.out.println("李四年龄大");
}
}
class Person13
{
private String name;
private int age;
public Person13(String name,int age)
{
this.name = name;
this.age = age;
}
public void show()
{
System.out.println("姓名:"+name+"\t年龄:"+age);
}
}
public class Main7_13 {
public static void main(String[] args)
{
Person13 [] per;
per = new Person13[3];
per[0] = new Person13("张三",20);
per[1] = new Person13("李四",21);
per[2] = new Person13("王二",19);
per[2].show();
per[0].show();
}
}
class Person14
{
private String name;
private int age;
public Person14(String name,int age)
{
this.name = name;
this.age = age;
}
public static int minAge(Person14[] p)
{
int min = Integer.MAX_VALUE;
for(int i = 0;i < p.length ; i++)
if(p[i].age< min)
min = p[i].age;
return min;
}
}
public class Main7_14 {
public static void main(String[] args)
{
Person14 [] per = new Person14[3];
per[0] = new Person14("张三",20);
per[1] = new Person14("李四",21);
per[2] = new Person14("王二",19);
System.out.println("最小的年龄为:" + Person14.minAge(per));
}
}