类和对象基础题

一、           类和对象基础题

1.编写一个Java应用程序,该程序中有3个类:Ladder、Circle和主类A。具体要求如下:Ladder类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。主类A用来测试类Ladder和类Circle的功能。

package com.duixiang.hry;

//梯形
public class Ladder {

    //属性
    double shangDi;//上底
    double xiaDi;//下底
    double gao;//
    
    double mianji;//面积
    
    //构造方法
    Ladder(double sd,double xd,double g)//调用这个方法,把参数传进去
    {
    shangDi=sd;
    xiaDi=xd;  //参数
    gao=g;
    
    //计算面积
    mianji=(sd+xd)*g/2;
    }
    
    
    //成员方法
    //返回面积
    //返回类型 方法名(参数列表)
    //写void没有返回值,把返回值的数据类型写到前面
    double getMianji()    
    {    
    //返回语句
    return mianji;    
    
    }
}



package com.duixiang.hry;

public class Circle {
    
    double banjing;
    double zhouchang;
    double mianji;

    Circle(double r)
    {
        banjing=r;
        
    
        zhouchang=2*3.14*r;
        mianji=3.14*r*r;
    }
    
    double getl()
    {
        return zhouchang;
    }
    double getm()
    {
        return mianji;
    }
    
}


package com.duixiang.hry;

public class Test03 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

        //实例化梯形
        Ladder l1=new Ladder(10,20,5);
        
        //得到面积
        System.out.println("梯形的面积="+l1.getMianji());
        
        l1=new Ladder(30,50,20);
        //如果再次写Ladder l1=new ladder(30,50,20),相当于与上面重名,不允许,
        //再起一个,或者像上一行写的l1=new Ladder(30,50,20);
        //得到面积
        System.out.println("梯形的面积="+l1.getMianji());
        
        
        Circle l2=new Circle(1);
        System.out.println("圆的周长"+l2.getl());
        System.out.println("圆的面积"+l2.getm());
        
    }

}

2.按要求编写Java应用程序:

(1)编写西游记人物类(XiYouJiRenWu)

其中属性有:身高(height),名字(name),武器(weapon)

方法有:显示名字(printName),显示武器(printWeapon)

(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。并分别为他

们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法

显示二个对象的属性值。

//西游记


 class XiYouJiRenWu {
String height,name,weapon;
XiYouJiRenWu(String h,String n,String w)
{
height=h;
name=n;
weapon=w;
}
String printName()
{
return name;
}
String printWeapon()
{
return weapon;
}
 }




        
            XiYouJiRenWu s=new XiYouJiRenWu("","孙悟空","金箍棒");
            System.out.println(s.printName());
            System.out.println(s.printWeapon());
            XiYouJiRenWu z=new XiYouJiRenWu("","猪八戒","九齿钉耙");
            System.out.println(z.printName());
            System.out.println(z.printWeapon());
    }  
}

 

3.编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变

量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次,

编写一个主类,在主类中测试Account类的功能。

//银行账户
 class Account{
     
//属性    
     String zhanghao;//账号
     double yue;//余额
//构造方法
     Account(String zh)
     {
        zhanghao=zh;//给账号赋值      
     }
//同时存钱     
     Account(String zh,double ck)
     {
         zhanghao=zh;
         yue+=ck;     
     } 
 
//成员方法
 //存钱
  void cunQian(double ck)
  {
      yue+= ck;
      System.out.println("存入"+ck);//求参数无函数值
  }      
//取钱//有参数又返回值
  boolean quQian(double qk)//取钱成功或失败
  {
    if(qk<=yue)
    {
        yue-=qk;
        
        System.out.println("取出"+qk);
        
        return true;
    }
    else
    {
        //这两行不能换循序,return写在最后,return结束运行了,比break还强
        System.out.println("余额不足");    
        return false;
    
    }
  }
//获取余额
 double getYue()
 {
     return yue;
 }
 //显示账号和余额//无参数无返回值
 void showAccount()
 {
     System.out.println("账号="+zhanghao+"余额="+yue);
     
 }
 
 }
 

//测试账号Account
Account ac1=new Account("123",1000);

        ac1.showAccount();

        ac1.cunQian(100);
        ac1.quQian(900);
        if(ac1.quQian(300))
        {
            System.out.println("取钱成功");
        }
        else
        {
            System.out.println("取钱失败");
        }
        ac1.showAccount();

    }
}    

4.编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型

成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)

进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义

一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这

些对象调用方法show()来显示时钟的时间。

 

原文地址:https://www.cnblogs.com/hanruyue/p/5883552.html