Java从入门到精通笔记20230209--实践训练

一、创建猫类。创建Cat类,类中包含表示名字属性的name,表示年龄属性的age,表示重量属性的weight,表示颜色属性额color。重新toStirng,按照以下格式固定输出。

个人代码:

Java从入门到精通笔记20230209--实践训练_第1张图片

书中代码:

Java从入门到精通笔记20230209--实践训练_第2张图片
Java从入门到精通笔记20230209--实践训练_第3张图片

区别在于:不知道Color类和stringBuilder方法

二、创建昆虫类。首先,创建一个表示飞行的接口Flyable,接口中口中有一个表示飞行的抽象方法fly()。然后创建按一个昆虫类Insect,类中有一个int型、表示昆虫有多少条腿的变量legs,有一个有参的的构造方法,还有一个表示繁殖的抽象方法reproduc()。接着创造一个苍蝇类,使之继承昆虫类Insect,并实现接口Flyable。最后,创建测试类Test,并在控制台输出如下信息:

苍蝇有6条腿。

苍蝇可以在空中飞行。

苍蝇繁殖方式是产卵。

飞行接口:

Java从入门到精通笔记20230209--实践训练_第4张图片

昆虫类:

Java从入门到精通笔记20230209--实践训练_第5张图片

主函数:

Java从入门到精通笔记20230209--实践训练_第6张图片

尬住了,好像只会写接口

三、餐馆点菜。 编写一个程序,使用向下转型模拟如下场景:餐馆里面有3位客人,1位老师、1位学生、1位医生。老师点了香辣肉丝,学生点了火腿炒面,医生点了麻辣香锅

Java从入门到精通笔记20230209--实践训练_第7张图片

不会

四、老虎机。老虎机有3个玻璃框,每个玻璃框都有红黄蓝三张卡片。拉下三张卡片后,每个玻璃框的3张卡片同时开始时转动。编写一个程序,使用instanceof关键字实现上述过程,并将每个玻璃框停止转动时的结果输出在控制台上。例如,黄黄蓝、红黄黄,黄红黄等

书上代码:

Java从入门到精通笔记20230209--实践训练_第8张图片

根据以上代码,第一次接触到:

1、Java生成随机数的办法之一(第12行代码):Math.random()生成一个[0,1)的随机数,通过int(Math.random() * 3)生成[0, 3)的随机数。

2、声明一个数组,而数组元素被初始化为各种类的对象

按照之前自己的Python思路,也是给定一个包含红黄蓝3个元素列表,根据循环三次生成的随机数作为下标选取列表里面的值。但是Python功力仅到此,不会按照类、方法的思路实现。

五、抽象的图形类。创建一个抽象的图形类,图形类中有一个表示颜色的属性、一个有参构造方法和一个抽象的获得面积的办法。让长方形类继承图形类,现在长方形类的构造方法中调用图形类的构造方法,再在长方形类中声明表示长和宽的两个属性,接着在长方形类中重写图形类的抽象方法。控制台输出如下内容:

长为6.0,宽为2.0的黄色长方形的面积是12.0

自己写的代码:

Java从入门到精通笔记20230209--实践训练_第9张图片

Java从入门到精通笔记20230209--实践训练_第10张图片
Java从入门到精通笔记20230209--实践训练_第11张图片

看了书中答案,做了一下修改:

Java从入门到精通笔记20230209--实践训练_第12张图片
Java从入门到精通笔记20230209--实践训练_第13张图片

跟自己的代码区别在于子类长方形类(前数2张图第8行),应该是继承(书中是super.color,照抄会报错,没搞懂)或者声明一下。也就是说,父类传参以后,子类传参应该与父类一样,其他的参数,在主函数赋值就行。

六、判断给定的3条边是否能构成三角形。创建一个抽象的图形类,图形类中有一个计算周长的方法。让三角形类继承图形类,先在三角形类继承图形类,先在三角形类声明声明三角形的三条边,在判断这三条边能否构成三角形,接着重写图形类中的抽象方法。现有长3、4、5的三条边,和长1、4、5的三条边,控制台分别输出这两组边能否构成三角形。如果能计算三角形的周长。

自己写的代码,虽然写出来了,还是有点昏昏沉沉:

Java从入门到精通笔记20230209--实践训练_第14张图片
Java从入门到精通笔记20230209--实践训练_第15张图片
Java从入门到精通笔记20230209--实践训练_第16张图片

书上的代码:

Java从入门到精通笔记20230209--实践训练_第17张图片
Java从入门到精通笔记20230209--实践训练_第18张图片

与自己的区别在于,判断是否是三角形,单独写了一个方法。

你可能感兴趣的:(Java学习,java)