每日作业 - 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(