书中第四章例子代码(三)

来源:互联网 发布:linux退出vi按esc没用 编辑:程序博客网 时间:2024/05/08 18:18

public class Example4_16{
    public static void main(String args[ ]){
      char a[]={'a','b','c','D','E','F'};
      for(int i=0;i<a.length;i++){
         if(Character.isLowerCase(a[i])){
            a[i]=Character.toUpperCase(a[i]);
         }
       else if(Character.isUpperCase(a[i])){
            a[i]=Character.toLowerCase(a[i]);
         }
      }
      for(int i=0;i<a.length;i++){
         System.out.printf("%6c",a[i]);
      }     
    } 
}


Rectangle.java
public class Rectangle{
    private double x,y,width,height;       
    public void setX(double x){
      this.x=x;
    }
    public double getX(){
      return x;
    }
    public void setY(double y){
      this.y=y;
    }
    public double getY(){
      return y;
    }
    public void setWidth(double width){
      if(width<=0)
        this.width=0;
      else 
        this.width=width;
    }
    public double getWidth(){
      return width;
    }
    public void setHeight(double height){
      if(height<=0)
        height=0;
      else
        this.height=height;
    }
    public double getHeight(){
      return height;
    }
}
Circle.java
public class Circle{
    private double x,y,radius;
    public void setX(double x){
      this.x=x;
    }
    public double getX(){
      return x;
    }
    public void setY(double y){
      this.y=y;
    }
    public double getY(){
      return y;
    }
    public void setRadius(double radius){
      if(radius<0)
        this.radius=0;
      else
       this.radius=radius;
    }
    public double getRadius(){
      return radius;
    }
}
Geometry.java
public class Geometry{
    private Rectangle rect;
    private Circle circle;
    Geometry(Rectangle rect,Circle circle){
      this.rect=rect;
      this.circle=circle;
    }
    public void setCirclePosition(double x,double y){
      circle.setX(x);
      circle.setY(y); 
    }
    public void setCircleRadius(double radius){
      circle.setRadius(radius);
    }
    public void setRectanglePosition(double x,double y){
      rect.setX(x);
      rect.setY(y); 
    }
    public void setRectangleWidthAndHeight(double w,double h){
      rect.setWidth(w);
      rect.setHeight(h); 
    }
    public void showState(){
      double circleX=circle.getX();
      double rectX=rect.getX();
      if(rectX-circleX==circle.getRadius()*2)  
          System.out.println("图形中的矩形在圆的右侧");
      if(circleX-rectX==rect.getWidth())  
          System.out.println("图形中的矩形在圆的左侧"); 
    }
}
MainClass.java
public class MainClass{
    public static void main(String args[]){
      Rectangle rect1=new Rectangle(),
              rect2=new Rectangle();
      Circle circle1=new Circle(),
           circle2=new Circle();
      Geometry geometryOne,geometryTwo;
      geometryOne=new Geometry(rect1,circle1);
      geometryOne.setRectanglePosition(30,40);
      geometryOne.setRectangleWidthAndHeight(120,80);
      geometryOne.setCirclePosition(150,30);
      geometryOne.setCircleRadius(60);
      geometryTwo=new Geometry(rect2,circle2);
      geometryTwo.setRectanglePosition(160,160);
      geometryTwo.setRectangleWidthAndHeight(120,80);
      geometryTwo.setCirclePosition(40,30);
      geometryTwo.setCircleRadius(60);
      geometryOne.showState();
      geometryTwo.showState();
    }
}


class Employee{
    private double salary=1800;
    public void setSalary(double salary){
      if(salary>1800&&salary<=6000){
          this.salary=salary;
      }
   }
    public double getSalary(){
      return salary;
    }
}
public class Example4_14{
    public static void main(String args[]){
      Employee zhang=new Employee(); 
      Employee wang=new Employee();  
      zhang.setSalary(100); 
      System.out.println("zhang的薪水:"+zhang.getSalary()); 
      wang.setSalary(3888);
      //wang.salary=88888;是非法的,因为对象wang已经不在Employee类中 
      System.out.println("wang的薪水:"+wang.getSalary()); 
    }
}