JAVA练习7-验证年龄、类乘积

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

 

 

 


前言

提示:这里可以添加本文要记录的大概内容:

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();
    }

}

 


总结

提示:这里对文章进行总结:
 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mikudd3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值