3个题目熟悉类和对象基础
1、按要求编写Java应用程序:
(1)编写西游记人物类(XiYouJiRenWu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),显示武器(printWeapon)
(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。并分别为他们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法显示二个对象的属性值。
类代码:
public class XiYouJiRenWu { double height; String name; String weapon; String printName(){ return name; } String pringtWeapon(){ return weapon; } }
实例化对象:
public class TestXiYouJiRenWu { public static void main(String[] args) { // TODO 自动生成的方法存根 XiYouJiRenWu zhuBaJie= new XiYouJiRenWu(); XiYouJiRenWu sunWuKong= new XiYouJiRenWu(); zhuBaJie.name="猪悟净"; zhuBaJie.weapon="九齿钉耙"; sunWuKong.name="孙悟空"; sunWuKong.weapon="如意金箍棒"; System.out.print(zhuBaJie.printName()+" "); System.out.println(zhuBaJie.pringtWeapon()); System.out.print(sunWuKong.printName()+" "); System.out.println(sunWuKong.pringtWeapon()); } }
2、编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次,编写一个主类,在主类中测试Account类的功能。
改进:利用之前所学加以改进,实现多次存取款,并按照操作指令进行,实现建议的命令操作,类似与ATM机存取款,查询余额。
类,属性和方法:
import java.util.Scanner; /** * 编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能。 * @author Administrator * */ public class Account { //属性 long zhanghao; long cunkuanyue; int shuru; String caozuo; //操作命令输入方法 String Caozuo(){ Scanner sc=new Scanner(System.in); System.out.println("请输入操作指令:"); caozuo= sc.nextLine(); return caozuo; } //存取款金额输入方法 int Shuru(){ Scanner sc=new Scanner(System.in); System.out.println("请输入金额:"); shuru= sc.nextInt(); return shuru; } //存款方法 long Cunkuan(){ cunkuanyue=cunkuanyue+shuru; return cunkuanyue; } //取款方法 long Qukuan(){ if(cunkuanyue>0){ cunkuanyue=cunkuanyue-shuru; if(cunkuanyue<0){ System.out.println("您的账户余额不足,无法取款!"+(cunkuanyue+=shuru)); } else{ System.out.println("您的账户余额是:"+cunkuanyue); } } else{ System.out.println("您的账户余额不足,无法取款!"); } return cunkuanyue; } //查询余额方法 long Yuechaxun(){ return cunkuanyue; } }
实例化对象:
public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner sc = new Scanner(System.in); System.out.println("请输入您的账号:"); String zhanghao = sc.nextLine(); //接收输入的账号 String panduan="^\\d{19}$"; //正则表达式 Account person= new Account(); //实例化对象 if(zhanghao.matches(panduan)){ //利用正则表达式判断账号 System.out.println("您账户余额是:"+person.Yuechaxun()); for(int i=1;i>0;i++){ //死循环实现多次存取款 person.Caozuo(); switch(person.caozuo){ //调用操作方法执行操作命令 case "存款": //存款时调用存款方法 person.Shuru(); //调用输入金额方法接收存款金额 System.out.println("您账户的余额是:"+person.Cunkuan()); break; case "取款": //取款是调用取款方法 person.Shuru(); person.Qukuan(); break; case "查询余额": //查询余额时调用查询余额方法 System.out.println("您账户的余额是:"+person.Yuechaxun()); break; default: System.out.println("输入有误!"); } if(person.caozuo.equals("停止")){ break; //让死循环停止 } } } else{ System.out.println("输入有误!"); } } }
3、编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。
属性方法:
public class Clock { int h; int miu; int s; Clock(int hour,int minut,int secend){ h=hour; miu=minut; s=secend; } public void show(){ if(h>=0&&h<=23){ if(miu>=0&&miu<=59){ if(s>=0&&s<=59){ System.out.println("时间是:"+h+"时"+miu+"分"+s+"秒"); } else{ System.out.println("时间不合法!"); } } else{ System.out.println("时间不合法!"); } } else{ System.out.println("时间不合法!"); } } }
实例化对象:
public class TestClock { public static void main(String[] args) { // TODO 自动生成的方法存根 Clock a=new Clock(3,24,45); Clock b=new Clock(10,12,46); Clock c=new Clock(12,60,247); a.show(); b.show(); c.show(); } }