本人初学Java,自己编写的答案,有不足之处请大家指正,一起学习,谢谢~
编码题
- 验证键盘输入的用户名不能为空,长度大于6,不能有数字。
提示:使用字符串String类的相关方法完成,可以使用Scanner的nextLine()方法,该方法可以接口空的字符串。
public class TestUsernameInput {
public static void main(String[] args) {
//获取键盘输入
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的用户名:");
String username = scanner.nextLine();
if(username.isEmpty()) {
System.out.println("输入不能为空");
}else if(username.length()<=6) {
System.out.println("输入的用户名长度必须大于6");
if(isNumberOfString(username)) {
//这样编写可同时判断用户名长度和数字
System.out.println("输入用户名不能含有数字");
}else {
System.out.println("输入成功!");
}
}
//判断字符串是否含有数字
static boolean isNumberOfString(String str) {
for(int i=0;i<str.length();i++) {
if(Character.isDigit(str.charAt(i))){
return true;
}
}
return false;
}
}
- 接收从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。
提示:使用包装类Integer、Double和日期转换类DateFormat实现
public class InputStringIntegerDateFormat {
public static void main(String[] args) throws ParseException {
//获取键盘输入
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的年龄:");
String str_age = scanner.nextLine();
System.out.print("请输入您的分数:");
String str_grade = scanner.nextLine();
System.out.print("请输入您的入学时间:(格式为:2008-8-8) ");
String str_schooltime = scanner.nextLine();
//字符串格式转换为对应的类型
Integer age = Integer.parseInt(str_age);
Double grade = Double.parseDouble(str_grade);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = df.parse(str_schooltime);
Calendar schooltime = new GregorianCalendar();
schooltime.setTime(date);
System.out.println("输入成功!");
System.out.println("您的年龄为:"+age+"\n"+"您的分数为:"+grade+"\n"+
"您的入学时间为:"+date);
}
}
- 根据交通信号灯颜色决定汽车停车、行驶和慢行
提示:使用枚举实现
public class TrafficLights {
public static void main(String[] args) {
int a = new Random().nextInt(3);
TrafficLight[] tl = TrafficLight.values();
switch(tl[a]) {
case RED:
System.out.println("红灯了,停止行驶!");
break;
case GREEN:
System.out.println("想要生活过得好必须带点绿,绿灯了,可以行驶");
break;
case YELLOW:
System.out.println("黄灯了,警告慢行");
break;
}
}
}
enum TrafficLight{
RED,GREEN,YELLOW
}