尚学堂JAVA第8章答案参考

本文介绍三个Java编程任务实例,包括验证用户名的有效性、转换并输出年龄、分数和日期,以及根据交通信号灯颜色控制车辆行为。通过具体代码展示,帮助初学者理解字符串操作、数据类型转换、枚举类型及基本输入输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人初学JAVA,自己写的答案,仅供参考。如有错误或可以优化的地方请各位留言指正。谢谢!

  1. 验证键盘输入的用户名不能为空,长度大于6,不能有数字。
    提示:使用字符串String类的相关方法完成
    可以使用Scanner的nextLine()方法,该方法可以接口空的字符串。
import java.util.Scanner;

public class Task1 {
	public static void main(String[] args) { //主程序入口
		User user = new User(); //创建用户名
		System.out.println("请输入用户名:");
		Scanner scanner = new Scanner(System.in);
		String username = scanner.nextLine();  //输入用户名
		
		user.setUserName(username); 
		scanner.close();
	}
}
//用户类
class User{
	String username;
	
	public void setUserName(String username) {
		if(username==null) {
			System.out.println("用户名不能为空!");
		}else if(username.length()<=6) {  //判断长度不低于6位
			System.out.println("用户名长度不能低于6位!");
		}else { //判断有没有数字
			for(int i=0;i<username.length();i++) {
				if(username.charAt(i)!=' ') {
					this.username = username;
				}
				if(Character.isDigit(username.charAt(i))) {
					System.out.println("用户名中不能含有数字!");
				}
			}
		}
			
		
	}




  1. 接收从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。
    提示:使用包装类Integer、Double和日期转换类DateFormat实现

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

public class Task2 {
	public static void main(String[] args) throws ParseException {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入年龄:");
		String age = scanner.next();
		System.out.println("请输入分数:");
		String mark = scanner.next();
		System.out.println("请输入入学时间(格式:2019-3-7):");
		String time = scanner.next();
		
		Student(age,mark,time);
		
	}
	
	public static void Student(String age,String mark,String time) throws ParseException {
		int age2 = Integer.parseInt(age);   //年龄转为整数类型
		double mark2 = Double.parseDouble(mark);  //分数转为浮点类型
		
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
		Date time2 = df.parse(time);				//先转为时间类型
		Calendar c = new GregorianCalendar();
		c.setTime(time2);					//再转为日期类型
		
		
		System.out.print("年龄:"+age2+"\n分数:"+mark2+"\n入学时间:"+time2);//重新打印输出
	}

	
}

  1. 根据交通信号灯颜色决定汽车停车、行驶和慢行
    提示:使用枚举实现
import java.util.Random;

public class Task3 {
	public static void main(String[] args) {
		
		int a = new Random().nextInt(3);
		switch(Light.values()[a]){
		case YELLOW:
			System.out.println("黄灯,慢行");
			break;
		case RED:
			System.out.println("红灯,请停车");
			break;
		case GREEN:
			System.out.println("绿灯,可以走了");
			break;
		}
		
	}
}


enum Light{
	YELLOW,RED,GREEN
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值