实例 51

题目

定义一个圆柱体类 Cylinder,创建相应的对象,然后计算圆柱体的底面积和体积。

分析

考察如何定义一个类,以及如何在类中定义成员变量与方法,最后则是如何创建一个对象并调用方法。

实现

  1. import java.util.Random;
  2. import java.util.Scanner;
  3. /**
  4. * Created with IntelliJ IDEA.
  5. *
  6. * @author : 村雨
  7. * @version : 1.0
  8. * @Project : Java 编程实例
  9. * @Package : PACKAGE_NAME
  10. * @ClassName : Example51.java
  11. * @createTime : 2021/6/25 23:19
  12. * @Email : 747731461@qq.com
  13. * @公众号 : 村雨遥
  14. * @Website : https://cunyu1943.github.io
  15. * @Description :
  16. */
  17. public class Example51 {
  18. public static void main(String[] args) {
  19. Scanner scanner = new Scanner(System.in);
  20. System.out.println("输入圆柱体半径");
  21. float radius = scanner.nextFloat();
  22. System.out.println("输入圆柱体高");
  23. float height = scanner.nextFloat();
  24. Cylinder cylinder = new Cylinder();
  25. System.out.println("底面积:" + cylinder.area(radius));
  26. System.out.println("体积:" + cylinder.volume(radius, height));
  27. }
  28. }
  29. class Cylinder {
  30. final double PI = 3.14;
  31. // 半径
  32. float radius;
  33. // 高
  34. float height;
  35. /**
  36. * 求圆柱体的底面积
  37. *
  38. * @param radius 半径
  39. * @return 圆柱体底面积
  40. */
  41. public double area(float radius) {
  42. return PI * radius * radius;
  43. }
  44. /**
  45. * 求圆柱体体积
  46. *
  47. * @param radius 半径
  48. * @param height 高度
  49. * @return 圆柱体体积
  50. */
  51. public double volume(float radius, float height) {
  52. return height * area(radius);
  53. }
  54. }

结果

那些年,我们一起做过的 Java 课后练习题(51 - 55) - 图1

实例 52

题目

创建一个图书类,类中包含的属性有:书名、作者、出版社、书籍状态;包含的方法有:构造方法,设置书籍状态,查看书籍状态(书籍状态指 在馆外借)。

分析

考察如何设计一个类,此外还包括如何定义类中成员变量、方法、构造方法等知识点。最后则是如何定义一个对象并调用方法。

实现

  1. /**
  2. * Created with IntelliJ IDEA.
  3. *
  4. * @author : 村雨
  5. * @version : 1.0
  6. * @Project : Java 编程实例
  7. * @Package : PACKAGE_NAME
  8. * @ClassName : Example52
  9. * @createTime : 2021/6/25 23:42
  10. * @Email : 747731461@qq.com
  11. * @公众号 : 村雨遥
  12. * @Website : https://cunyu1943.github.io
  13. * @Description :
  14. */
  15. public class Example52 {
  16. public static void main(String[] args) {
  17. Book book = new Book("《Java 从入门到放弃》", "村雨遥", "胡编乱造出版社");
  18. book.setBorrow(true);
  19. System.out.println(book.getName() + " 的状态是:" + book.isBorrow());
  20. }
  21. }
  22. class Book {
  23. private String name;
  24. private String author;
  25. private String press;
  26. private boolean borrow;
  27. public Book() {
  28. }
  29. public Book(String name, String author, String press) {
  30. this.name = name;
  31. this.author = author;
  32. this.press = press;
  33. }
  34. public String isBorrow() {
  35. return borrow ? "外借" : "在馆";
  36. }
  37. public void setBorrow(boolean borrow) {
  38. this.borrow = borrow;
  39. }
  40. public String getName() {
  41. return name;
  42. }
  43. public void setName(String name) {
  44. this.name = name;
  45. }
  46. }

结果

那些年,我们一起做过的 Java 课后练习题(51 - 55) - 图2

实例 53

题目

设计一个 Birthday 类,其成员变量有:yearmonthday。提供构造方法、输出 Birthday 对象值的方法和计算年龄的方法。

分析

除开类的设计之外,还涉及如何重写方法,以及如何调用 Java 中内置的 Calendar,用于求当前时间的年份。

实现

  1. import java.util.Calendar;
  2. import java.util.Scanner;
  3. /**
  4. * Created with IntelliJ IDEA.
  5. *
  6. * @author : 村雨
  7. * @version : 1.0
  8. * @Project : Java 编程实例
  9. * @Package : PACKAGE_NAME
  10. * @ClassName : Example53
  11. * @createTime : 2021/6/26 0:00
  12. * @Email : 747731461@qq.com
  13. * @公众号 : 村雨遥
  14. * @Website : https://cunyu1943.github.io
  15. * @Description :
  16. */
  17. public class Example53 {
  18. public static void main(String[] args) {
  19. Scanner scanner = new Scanner(System.in);
  20. System.out.println("输入生日年份");
  21. int year = scanner.nextInt();
  22. System.out.println("输入生日月份");
  23. int month = scanner.nextInt();
  24. System.out.println("输入生日日期");
  25. int day = scanner.nextInt();
  26. Birthday birthday = new Birthday(year, month, day);
  27. System.out.println("生日是:" + birthday.toString());
  28. System.out.println("年龄是:" + birthday.getAge(year));
  29. }
  30. }
  31. class Birthday {
  32. int year;
  33. int month;
  34. int day;
  35. public Birthday() {
  36. }
  37. public Birthday(int year, int month, int day) {
  38. this.year = year;
  39. this.month = month;
  40. this.day = day;
  41. }
  42. @Override
  43. public String toString() {
  44. return year +
  45. " 年 " + month +
  46. " 月 " + day +
  47. " 日";
  48. }
  49. /**
  50. * 求年龄
  51. *
  52. * @param year 生日的年份
  53. * @return 年龄
  54. */
  55. public int getAge(int year) {
  56. // 获取当前时间
  57. Calendar calendar = Calendar.getInstance();
  58. return calendar.get(Calendar.YEAR) - year;
  59. }
  60. }

结果

那些年,我们一起做过的 Java 课后练习题(51 - 55) - 图3

实例 54

题目

定义一个类 Student,属性为学号、姓名和成绩;方法为增加记录 setRecord 和得到记录 GetRecord,增加记录给出学号、姓名和方法的赋值,得到记录方法则是通过学号得到考生的成绩。

分析

主要考察类定义以及方法的设置。

实现

  1. import java.util.Scanner;
  2. /**
  3. * Created with IntelliJ IDEA.
  4. *
  5. * @author : 村雨
  6. * @version : 1.0
  7. * @Project : Java 编程实例
  8. * @Package : PACKAGE_NAME
  9. * @ClassName : Example54
  10. * @createTime : 2021/6/26 9:15
  11. * @Email : 747731461@qq.com
  12. * @公众号 : 村雨遥
  13. * @Website : https://cunyu1943.github.io
  14. * @Description :
  15. */
  16. public class Example54 {
  17. public static void main(String[] args) {
  18. Student student = new Student();
  19. Scanner scanner = new Scanner(System.in);
  20. System.out.println("输入 id");
  21. int id = scanner.nextInt();
  22. System.out.println("输入姓名");
  23. String name = scanner.next();
  24. System.out.println("输入成绩");
  25. float score = scanner.nextFloat();
  26. student.setRecord(id, name, score);
  27. System.out.println("输入要查询考生的学号");
  28. id = scanner.nextInt();
  29. System.out.println("该考生的成绩:" + student.getRecord(id));
  30. }
  31. }
  32. class Student {
  33. private int id;
  34. private String name;
  35. private float score;
  36. public void setRecord(int id, String name, float score) {
  37. this.id = id;
  38. this.name = name;
  39. this.score = score;
  40. }
  41. public float getRecord(int id) {
  42. return (this.id == id) ? this.score : -1;
  43. }
  44. }

结果

那些年,我们一起做过的 Java 课后练习题(51 - 55) - 图4

实例 55

题目

定义猴子类,它有名字,性别等属性,并定义猴子说话的方法。然后定义一个人类,人类也有名字和性别等属性,且定义人说话的方式,使用继承,让代码具有复用性。

分析

主要考察类的定义以及继承的相关知识点。

实现

  1. /**
  2. * Created with IntelliJ IDEA.
  3. *
  4. * @author : 村雨
  5. * @version : 1.0
  6. * @Project : Java 编程实例
  7. * @Package : PACKAGE_NAME
  8. * @ClassName : Example55
  9. * @createTime : 2021/6/26 21:28
  10. * @Email : 747731461@qq.com
  11. * @公众号 : 村雨遥
  12. * @Website : https://cunyu1943.github.io
  13. * @Description :
  14. */
  15. public class Example55 {
  16. public static void main(String[] args) {
  17. Person person = new Person("村雨遥", 1);
  18. person.speak();
  19. }
  20. }
  21. class Monkey {
  22. private String name;
  23. private int sex;
  24. public String getName() {
  25. return name;
  26. }
  27. public void setName(String name) {
  28. this.name = name;
  29. }
  30. public int getSex() {
  31. return sex;
  32. }
  33. public void setSex(int sex) {
  34. this.sex = sex;
  35. }
  36. public Monkey(String name, int sex) {
  37. this.name = name;
  38. this.sex = sex;
  39. }
  40. public Monkey() {
  41. }
  42. public void speak() {
  43. System.out.println(this.name + " 咿咿呀呀!");
  44. }
  45. }
  46. class Person extends Monkey {
  47. public Person(String name, int sex) {
  48. super(name, sex);
  49. }
  50. @Override
  51. public void speak() {
  52. System.out.println(this.getName() + ", 你好呀!");
  53. }
  54. }

结果

那些年,我们一起做过的 Java 课后练习题(51 - 55) - 图5