Java作业

这篇博客主要探讨了Java编程的基础知识,包括语法特性、面向对象设计以及常见算法的应用。同时,对比了Java与C++在编程实践中的差异和选择Java的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package american.people;
import england.people.Father;
public class Son extends Father { 
    public String hand;
    public String getHand() {
        return hand;
    } 
} 
package england.people;
public class Father { 
    private int money;
    protected int height;
    int weight;
}
package england.people;
import american.people.Son;
import japan.people.Grandson;
public class Example5_1 {
    public static void main(String args[]) {
        Son son=new Son();
        Grandson grandson=new Grandson();
        son.height = 180;
        son.hand = "一双大手"; 
        grandson.height = 155;
        grandson.hand = "一双小手";
        grandson.foot ="一双小脚";
        String str = son.getHand();
        System.out.printf("儿子:%s,%d\n",str,son.height);
        str = grandson.getHand();
        System.out.printf("孙子:%s,%s,%d\n",str,grandson.foot,grandson.height); 
    }
}

class A {
    double f(float x,float y) {
       return x+y;
    }
    public int g(int x,int y) {
       return x+y;
    }
}
class B extends A {
    double f(float x,float y) {
       return x*y;
    }  
}
public class Example5_4 {
    public static void main(String args[]) {
      B b=new B();
      double result=b.f(5,6);        //b调用重写的方法
      System.out.println("调用重写方法得到的结果:"+result);   
      int m=b.g(3,5);        //b调用继承的方法
      System.out.println("调用继承方法得到的结果:"+m);  
    } 
}
public class UniverStudent extends Student {
   boolean isMarriage; //子类新增的结婚属性
   UniverStudent(int number,String name,boolean b) {
      super(number,name);
   }
   public boolean getIsMarriage(){
      return isMarriage;
   }
}
public class Student {
    int number;
    String name;
    Student() {
    }
    Student(int number,String name) {
       this.number=number;
       this.name=name;
    }
    public int getNumber() {
       return number;
    }
    public String getName() {
       return name;
    }
 }
 public class Example5_6 {
   public static void main(String args[]) {
       UniverStudent zhang=new UniverStudent(20111,"张三",false);
       int number=zhang.getNumber();
       String name=zhang.getName();
       boolean marriage=zhang.getIsMarriage();
       System.out.println(name+"的学号是:"+number);
       if(marriage==true) {
         System.out.println(name+"已婚");
       }
       else{
         System.out.println(name+"未婚");
       }
   }
}
public class Average extends Sum {
   double n;           //子类继承的int型变量n被隐藏
   public double f() {
      double c;
      super.n=(int)n; //子类double型变量n进行int转换运算的结果赋值给隐藏的int型变量n
      c=super.f();
      return c+n;
   }
   public double g() { 
      double c;
      c=super.f();
      return c-n;
   }
}
public class Sum {
   int n;
   public double f() {
      double sum=0;
      for(int i=1;i<=n;i++){
             sum=sum+i;
      }
      return sum;  
   }
}
public class Example5_7 {
   public static void main(String args[]) {
      Average aver=new Average();
      aver.n=100.5678;
      double result1=aver.f();
      double result2=aver.g();
      System.out.println("result1="+result1);
      System.out.println("result2="+result2);
   }
}
public class Anthropoid {
   double m=12.58;
   void crySpeak(String s) {
      System.out.println(s); 
   }  
}
public class People extends Anthropoid {
   char m='A';
   int n=60;
   void computer(int a,int b) {
      int c=a+b;
      System.out.println(a+"加"+b+"等于"+c); 
   }
   void crySpeak(String s) {
      System.out.println(m+"**"+s+"**"+m); 
   }  
}
public class Example5_9 {
   public static void main(String args[]) {
      People  people=new People(); 
      Anthropoid monkey=people;               //monkey是people对象的上转型对象。
      monkey.crySpeak("I love this game");    //等同于people调用重写的crySpeak方法
      //monkey.n=100;                         //非法,因为n是子类新增的成员变量
      //monkey.computer(12,19);               //非法,因为computer()是子类新增的方法
       System.out.println(monkey.m) ;         //操作隐藏的m,不等同于people.m
       System.out.println(people.m) ;         //操作隐藏的m,不等同于people.m
       People zhang=(People)monkey;           //把上转型对象强制转化为子类的对象
       zhang.computer(55,33);                 //zhang是子类的对象
       zhang.m='T';                           //操作子类声明的成员的变量m
       System.out.println(zhang.m) ; 
    }
}
abstract class GirlFriend {  //抽象类,封装了两个行为标准
   abstract void speak();
   abstract void cooking();
}
class ChinaGirlFriend extends GirlFriend {
   void speak(){
      System.out.println("你好");
   }
   void cooking(){
      System.out.println("水煮鱼"); 
   }
}
class AmericanGirlFriend extends GirlFriend {
   void speak(){
      System.out.println("hello");
   }
   void cooking(){
      System.out.println("roast beef"); 
   }
}
class Boy {
   GirlFriend friend;
   void setGirlfriend(GirlFriend f){
       friend = f;
   }
   void showGirlFriend() {
      friend.speak();
      friend.cooking();
   }
}
public class Example5_11 {
   public static void main(String args[]) {
      GirlFriend girl = new ChinaGirlFriend(); //girl是上转型对象
      Boy boy = new Boy();
      boy.setGirlfriend(girl);
      boy.showGirlFriend();     
      girl = new AmericanGirlFriend(); //girl是上转型对象
      boy.setGirlfriend(girl);
      boy.showGirlFriend();      
   }
}
public abstract class Animal{
    public abstract void cry();
    public abstract String getAnimalName();
}
public class Cat extends Animal {
   public void cry() {
      System.out.println("喵喵...喵喵"); 
   }  
   public String getAnimalName() {
      return "猫";
   }
}
public class Dog extends Animal {
   public void cry() {
      System.out.println("汪汪...汪汪"); 
   }  
   public String getAnimalName() {
      return "狗";
   }
}
public class Simulator {
   public void playSound(Animal animal) {
       System.out.print("现在播放"+animal.getAnimalName()+"类的声音:");
       animal.cry();
   }
}
public class Example5_13 {
   public static void main(String args[]) {
      Simulator simulator = new Simulator();
      simulator.playSound(new Dog());
      simulator.playSound(new Cat());
   }
}
public class AAA implements Printable {
     public void on(){    //必须重写接口的abstract方法on
         System.out.println("打开电视");
     }
     public float sum(float x ,float y){//必须重写接口的abstract方法sum
         return x+y;
     }
}
public interface Printable { 
    public final int MAX = 100;  //等价写法:int MAX=100;
    public abstract void on();   //等价写法:void on();
    public abstract float sum(float x ,float y);
    public default int max(int a,int b) {   //default方法
        return a>b?a:b;
    }
    public static void f() {
       System.out.println("注意是从Java SE 8开始的");
    }
}
public class Example5_14 {
   public static void main(String args[]) {
      AAA a = new AAA();
      System.out.println("接口中的常量"+AAA.MAX);
      System.out.println("调用on方法(重写的):");
      a.on();
      System.out.println("调用sum方法(重写的):"+a.sum(12,18));
      System.out.println("调用接口提供的default方法"+a.max(12,78));
      Printable.f();  
   }
}
abstract class MotorVehicles {
   abstract void brake();
}
interface MoneyFare {
   void charge();
}
interface ControlTemperature {
   void controlAirTemperature();
}
class Bus extends MotorVehicles implements MoneyFare { 
    void brake() {
        System.out.println("公共汽车使用毂式刹车技术");
    }
    public void charge() {
        System.out.println("公共汽车:一元/张,不计算公里数");
    }
} 
class Taxi extends MotorVehicles implements MoneyFare,ControlTemperature { 
    void brake() {
        System.out.println("出租车使用盘式刹车技术");
    }
    public  void charge() {
        System.out.println("出租车:2元/公里,起价3公里");
    }
    public void  controlAirTemperature() { 
        System.out.println("出租车安装了Hair空调");
    }
}
class Cinema implements MoneyFare,ControlTemperature {
    public  void charge() {
        System.out.println("电影院:门票,十元/张");
    }
    public void controlAirTemperature() { 
       System.out.println("电影院安装了中央空调");
    }
}
public class Example5_16 {
   public static void main(String args[]) {
       Bus bus101 = new Bus();
       Taxi buleTaxi = new Taxi();
       Cinema redStarCinema = new Cinema();
       MoneyFare  fare;
       ControlTemperature temperature;
       fare = bus101;
       bus101.brake(); 
       fare.charge();
       fare = buleTaxi;
       temperature = buleTaxi;
       buleTaxi.brake();
       fare.charge();
       temperature.controlAirTemperature();
       fare = redStarCinema;
       temperature = redStarCinema;
       fare.charge();
       temperature.controlAirTemperature();
   }
}
public interface Advertisement {
      public void showAdvertisement();
      public String getCorpName();
}
public class AdvertisementBoard {
   Advertisement adver ;
   public void setAdvertisement(Advertisement adver){
       this.adver = adver;
   }
   public void show() {
       if(adver != null){
          System.out.println("广告牌显示"+adver.getCorpName()+"公司的广告词:");
          adver.showAdvertisement();
       }
       else {
           System.out.println("广告牌无广告");
       }
   }
}
public class LenovoCorp implements Advertisement { //LenovoCorp实现Avertisement接口
   public void showAdvertisement(){
      System.out.println("**************");
      System.out.println("让世界变得很小");
      System.out.println("**************");
   }
   public String getCorpName() {
      return "联想集团" ; 
   }
}
public class PhilipsCorp implements Advertisement { //PhilipsCorp实现Avertisement接口
   public void showAdvertisement(){
      System.out.println("@@@@@@@@@@@@@@@@@@@@@@");
      System.out.println("没有最好,只有更好");
      System.out.println("@@@@@@@@@@@@@@@@@@@@@@");
   }
   public String getCorpName() {
      return "飞利普" ; 
   }
}
public class Example5_17 {
   public static void main(String args[]) {
      AdvertisementBoard board = new AdvertisementBoard();
      board.setAdvertisement(new  LenovoCorp());
      board.show();  
      board.setAdvertisement(new  PhilipsCorp());
      board.show();  
   }
}
课后习题(1)
class A {
    public final void f(){
       char cStart='a',cEnd='z';
       for(char c=cStart;c<=cEnd;c++) {
           System.out.print(" "+c);
       }
    }
}
class B extends A {
    public void g() {
       char cStart='A',cEnd='Z';
         for(char c=cStart;c<=cEnd;c++){
           System.out.print(" "+c);
         }
    }
}
public class E {
    public static void main (String args[ ]) {
        B b=new B();
        b.f();
        b.g(); 
    }
}
课后习题(2)
class A {
   public int f(int a,int b){
      if(b<a){
           int temp=0;
           temp=a;
           a=b;
           b=temp;
      }
      int r=b%a;
      while(r!=0) {
           b=a;
           a=r;
           r=b%a;
      }
      return a;
   }
}
class B extends A {
    public int f(int a,int b) {
        int division=super.f(a,b);
        return (a*b)/division;
    }
}
public class E {
    public static void main (String args[ ]) {
        A a=new A();
        System.out.println("最大公约数 :"+a.f(36,24));
        a = new B();
        System.out.println("最小公倍数 :"+a.f(36,24)); 
   }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值