每日作业 - JavaSE第8天

每日作业 - JavaSE第8天

题目1(训练)

现已知工人(Worker)类,属性包含姓名(name)、工龄(year),请编写该类,提供构造方法和get、set方法。在测试类中,请查看键盘录入Scanner类的API,创建工人类对象,属性值由键盘录入,打印对象的属性值。输出效果如下:

请录入工人姓名:
张三
请录入工人工龄:
5
该工人对象的属性信息如下:
姓名:张三
工龄:5

训练目标

编写简单的java类,创建对象,查询API。

训练提示

1、怎样编写一个标准的描述工人的类?

2、创建工人对象时需要两个属性信息,由键盘录入,该使用哪个API?

3、创建对象之后,显示对象的属性信息,该调用哪个方法?

参考方案

训练步骤

1、创建Worker类,成员变量私有修饰,提供空参和全参构造方法,提供get和set方法。

2、创建Test01类,在主方法中,创建键盘录入Scanner对象。

​ 2.1、姓名信息为字符串,使用Scanner的nextLine()方法。

​ 2.2、工龄信息为整数,使用Scanner的nextInt()方法。

3、创建Worker类对象,并输出对象的成员变量值。

​ 3.1、可以在创建对象时使用构造方法为成员变量赋值,也可以创建对象后使用set方法赋值。

​ 3.2、获取成员变量的值,使用get方法。

参考答案

public class Worker {
   
    // 成员变量
    private String name;
    private int year;

    // 构造方法
    public Worker() {
   

    }
    public Worker(String name, int age) {
   
        this.name = name;
        this.year = age;
    }

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public int getYear() {
   
        return year;
    }

    public void setYear(int year) {
   
        this.year = year;
    }
}

import java.util.Scanner;
public class Test01 {
   
    public static void main(String[] args) {
   
        // 创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入工人姓名:");
        String name = sc.nextLine();
        System.out.println("请输入工人工龄:");
        int year = sc.nextInt();
        // 创建对象
        Worker w = new Worker(name, year);
        // 输出信息
        System.out.println("该工人对象的信息如下:");
        System.out.println("姓名:" + w.getName());
        System.out.println("工龄:" + w.getYear());
    }
}

题目2(应用)

在登录注册页面中,除了用户名和密码外,通常也会包含验证码。验证码是用来区分用户是计算机还是人,防止恶意破解密码、刷票、灌水等行为。请查看Random、StringBuilder相关API,定义方法,获取一个包含4个字符的验证码,每一位字符是随机选择的字母和数字,可包含a-z,A-Z,0-9。例如:

7Kt5

训练目标

随机数类Random相关API、可变的字符序列StringBuilder相关API

训练提示

1、功能需要定义方法实现,方法的返回值是什么?需要参数列表吗?

2、先将可选择的字符都放到一个StringBuilder对象中。

3、怎样随机获取其中的四个字符呢?如果能随机获取一个,再获取四次,就可以了。那么怎样随机获取一个呢?我们知道,字符串中的字符是有索引的,如果可以随机获取到一个索引,就相当于随机获取到了该索引上的字符。

参考方案

训练步骤

1、定义方法,返回值是String,参数列表为空。

2、定义StringBuilder对象,将可选择的字符都放到StringBuilder对象中。

​ 2.1、定义循环从a-z,使用StringBuilder的append方法依次添加所有小写字母

​ 2.2、定义循环从A-Z,使用StringBuilder的append方法依次添加所有大写字母

​ 2.3、定义循环从0-9,使用StringBuilder的append方法依次添加所有数字字符

3、创建Random对象。定义一个空字符串用于保存验证码。

4、定义一个执行4次的循环,用于获取4个字符。

​ 4.1、在循环中,使用Random的nextInt方法,随机获取一个从索引0(包含)到字符串的长度(不包含)的索引。

​ 4.2、使用StringBuilder的charAt方法,获取该索引上的字符,将其拼接到验证码字符串中。

5、返回结果,并在主方法中调用方法查看结果。

参考答案

import java.util.Random;

public class Test02 {
   
    public static void main(String[] args) {
   
        String code = getRandomCode();
        System.out.println(code);
    }
    public static String getRandomCode() {
   
        // 准备数据,将可选择的字符都放入StringBuilder中
        StringBuilder sb = new StringBuilder(
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值