提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
1月1日练习内容
提示:以下是本篇文章正文内容,下面案例可供参考
一、题目1-验证年龄
1.题目描述
描述
采用封装的思想,为Person类定义年龄属性,要求:
修改年龄时判断其范围,若年龄小于0则按0输出,若年龄大于200则按200输出。
输入描述:
年龄整数值
输出描述:
1. 若年龄小于0则输出0;
2. 若年龄大于200则输出200;
3. 若年龄介于[0,200]之间则直接输出。
2.思路与代码
2.1 思路
1.创建一个Person类,里面定义一个private的变量,并设置set和get方法
2.输入数据,并创建Person对象和初始化
3.判断输入的年龄的范围,并输出
2.2 代码
代码如下(示例):
代码一:
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
//输入
int age = in.nextInt();
Person p = new Person(age);
if(p.getAge() < 0){
p.setAge(0);
System.out.println(p.getAge());
}
else if(p.getAge() > 200){
p.setAge(200);
System.out.println(p.getAge());
}
else{
System.out.println(p.getAge());
}
}
}
//创建person类
class Person{
private int age;
//构造函数
public Person(int age){
this.age = age;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
}
代码二:
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
//输入
int age = in.nextInt();
Person p = new Person(age);
System.out.println(p.getAge());
}
}
//创建person类
class Person{
private int age;
//构造函数
public Person(int age){
this.age = age;
}
public void setAge(int age){
if(age < 0) this.age = 0;
else if(age > 200) this.age = 200;
else this.age = age;
}
public int getAge(){
return age;
}
}
二、题目2-
1.题目描述
有父类Base,内部定义了x、y属性。有子类Sub,继承自父类Base。子类新增了一个z属性,并且定义了calculate方法,在此方法内计算了父类和子类中x、y、z属性三者的乘积。请补全子类构造方法的初始化逻辑,使得该计算逻辑能够正确执行。
输入描述:
三个整数:x, y, z
输出描述:
三个整数的乘积:x*y*z
2.思路与代码
2.1 思路
1.本题主要考察super关键字,在子类sub的构造方法中使用super调用父类的构造方法,接着对子类成员初始化
2.定义calculate方法实现x*y*z
3.输出结果
2.2 代码
代码如下(示例):
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int x = input.nextInt();
int y = input.nextInt();
int z = input.nextInt();
Sub sub = new Sub(x, y, z);
System.out.println(sub.calculate());
}
}
class Base {
private int x;
private int y;
public Base(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
}
class Sub extends Base {
private int z;
public Sub(int x, int y, int z) {
super(x, y);
this.z = z;
}
public int getZ() {
return z;
}
public int calculate() {
return super.getX() * super.getY() * this.getZ();
}
}
总结
提示:这里对文章进行总结: