8、常用类
作业
- 验证键盘输入的用户名不能为空,长度大于6,不能有数字。
提示:使用字符串String类的相关方法完成
可以使用Scanner的nextLine()方法,该方法可以接口空的字符串。
public class TT {
public static void main(String[] args) {
Scanner Input = new Scanner(System.in);
Boolean flage= true;
while(flage){
System.out.print("请输入字符串:");
String str = Input.nextLine();
if(str.equals("")){
System.out.print("字符串为空,请重新输入\n");
}else if(str.length()<6){
System.out.print("字符串长度小于6,请重新输入\n");
}else {
if(HasDigit(str)){
System.out.print("字符串包含数字,请重新输入\n");
continue;
}
else{
System.out.println("输入正确,字符串为:"+str);
flage= false;
}
}
}
}
/**
* 判断字符串中是否有数字
* @param content 字符串
* @return boolean值
*/
public static boolean HasDigit(String content) {
boolean flag = false;
Pattern p = Pattern.compile(".*\\d+.*");
Matcher m = p.matcher(content);
if (m.matches()) {
flag = true;
}
return flag;
}
}
2.从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。
提示:使用包装类Integer、Double和日期转换类DateFormat实现
//2.从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。
// 提示:使用包装类Integer、Double和日期转换类DateFormat实现
public class TT {
public static void main(String[] args) throws ParseException {
Scanner S = new Scanner(System.in);
System.out.print("请输入年龄:");
String name = S.nextLine();//键入值赋值给name
Integer name1 = Integer.valueOf(name);//字符串类型转换为Integer
int Q1=name1;//存在自动拆包与装包
System.out.println("年龄:"+Q1);//打印Q1更好的辨识已经转化为int型了
System.out.print("请输入分数:");
String score = S.nextLine();//键入值赋值给score
Double score1 = Double.valueOf(score);//字符串类型转换为Double
Double Q2 = score1;
System.out.println("分数:"+Q2);
System.out.print("请输入入学时间:");
String time = S.nextLine();//键入值赋值给time
DateFormat D =new SimpleDateFormat("yyyy-MM-dd");//规定时间对象的结构是年-月-日
Date time2 = D.parse(time);//将符合指定格式的字符串转成成时间对象.字符串格式需要和指定格式一致。
System.out.println("入学时间:"+time2);
}
}
- 根据交通信号灯颜色决定汽车停车、行驶和慢行
提示:使用枚举实现
public class TTT {
public static void main(String[] args){
//遍历打印有哪几种颜色的灯
for(Light QQQ:Light.values()){
System.out.println(QQQ);
}
Scanner S = new Scanner(System.in);
System.out.print("请输入那种颜色的灯:");
String light1 = S.nextLine();//键入值赋值给light1
switch (Light.valueOf(light1)) {
case 红灯:
System.out.println("请停车");
break;
case 黄灯:
System.out.println("请减速");
break;
case 绿灯:
System.out.println("请行驶");
break;
default:
System.out.println("输入不正确");
break;
}
}
}
/**
* 灯的枚举类型*/
enum Light {
红灯,黄灯,绿灯
}
上面代码如果输入不是红灯,黄灯,绿灯,就会报错。我也不想用随机数输入的方式,事实上简单的switch结构更方便。
public class TTT {
public static void main(String[] args){
//遍历打印有哪几种颜色的灯
for(Light QQQ:Light.values()){
System.out.println(QQQ);
}
Scanner S = new Scanner(System.in);
System.out.print("请输入那种颜色的灯:");
String light1 = S.nextLine();//键入值赋值给light1
switch (light1) {
case "红灯":
System.out.println("请停车");
break;
case "黄灯":
System.out.println("请减速");
break;
case "绿灯":
System.out.println("请行驶");
break;
default:
System.out.println("输入不正确");
break;
}
}
}
/**
* 灯的枚举类型*/
enum Light {
红灯,黄灯,绿灯
}