常用工具类(二)

1. 验证键盘输入的用户名不能为空,长度大于6,不能有数字。
提示:使用字符串String类的相关方法完成
    public class TestCheckUserName {
public static void main(String[] args) {
//给出用户名
Scanner input = new Scanner(System.in);
System.out.print("请输入用户名:");
String userName = input.nextLine();
//验证表单输入的用户名不能为空,
if(userName==null || "".equals(userName)){
System.out.println("用户名不能为空");
return;
}
//长度大于6,
if(userName.length()<=6){
System.out.println("用户名长度必须大于6个字符");
return;
}
//不能有数字
for(int i=0;i<userName.length();i++){
//取出每个字符
char ch = userName.charAt(i);//'3'  '4'
//判断每个字符是否是数字

//if(ch <='9'  && ch >='0'){
if(ch <=57 && ch >=48){
System.out.println("用户名不能有数字");
//break;//退出for循环
return;//退出main方法
}
}
System.out.println("用户名符合要求");
}
}
   
2. 接收从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。
提示:使用包装类Integer、Double和日期转换类DateFormat实现
public class TestStringConvert {
public static void main(String[] args) {
//从键盘输入字符串形式的年龄,分数和入学时间
Scanner input = new Scanner(System.in);
System.out.print("请输入年龄:");
String sage = input.next();
System.out.print("请输入分数:");
String sscore = input.next();
System.out.print("请输入日期(yyyy/MM/dd):");
String sdate = input.next();

//年龄转换String----int
int age = 0;
age = Integer.parseInt(sage);
//分数转换 String ---double
double score = 0.0;
score = Double.parseDouble(sscore);
//入学时间的转换String ---Date
Date enterDate= null;
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
try {
enterDate = sdf.parse(sdate);
} catch (ParseException e) {
e.printStackTrace();
//return;
}

//输出结果
System.out.println(age+"  "+score+"  "+enterDate);
}
}


3. 根据交通信号灯颜色决定汽车停车、行驶和慢行
提示:使用枚举实现
//定义信号灯枚举 
public enum Signal {
红,绿,黄
}
public class TestSignal {
public static void main(String[] args) {
//指定信号灯颜色
Signal s = Signal.红;
//根据颜色决定汽车下步行动
switch(s){
case 红 :System.out.println("停车");break;
case 绿 : System.out.println("行驶");break;
case  黄: System.out.println("慢行");break;
}
}
}


六、 可选题
1. 生成10个[10,23)之间的随机整数
提示:分别使用Math.random()和Random类的nextDouble()或nextInt()实现
public class TestRandom {
public static void main(String[] args) {
//实现1:生成10个[10,23)之间的随机整数
for(int i=0;i<10;i++){
int r = (int)(Math.random()*13)+10;
System.out.print(r+"\t");
}
System.out.println();
Random rand  = new Random();
//实现2:生成10个[10,23)之间的随机整数
for(int i=0;i<10;i++){
int r = (int)(rand.nextDouble()*13)+10;
System.out.print(r+"\t");
}
System.out.println();
//实现3:生成10个[10,23)之间的随机整数
for(int i=0;i<=10;i++){
int r = rand.nextInt(13)+10;//[0,13)+10---[10,23)
System.out.print(r+"\t");
}
System.out.println();
}
}


2. 手动定义一个枚举,表示十二个月的英文月份。
public enum Month {
January,february,March ,April ,May ,June ,
July ,August ,September ,October ,November ,December
}


3. 打印某个月份的可视化日历
 
提示:使用DateFormat、Calendar类实现功能
public class VisualCalendar2 {
public static void main(String[] args) throws ParseException {
/ /从键盘输入指定格式的字符串 (Scanner) 2015-12-3
System.out.println("请输入日期(按照格式:2030-3-10):"); 
Scanner scanner = new Scanner(System.in);
String temp = scanner.nextLine();
//把输入的字符串变成Date(DateFormat)
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse(temp);
//把Date变成Calendar(setTime())
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//取出日历的日信息
int dateOfMonth = calendar.get(Calendar.DATE);
//输出日历头信息  日
System.out.println("日\t一\t二\t三\t四\t五\t六");
//输出该月1日之前的空白( 要知道该月1日是星期几)
calendar.set(Calendar.DATE, 1);
int weekDay = calendar.get(Calendar.DAY_OF_WEEK);
for(int i=1;i<weekDay;i++){
System.out.print('\t');
}

//输出该月的日历从1到最后一天(更多细节)
int maxDay = calendar.getActualMaximum(Calendar.DATE);
for(int i=1;i<=maxDay;i++){
//如果是当天,输出*
if(i==dateOfMonth){
System.out.print("*");
}
//输出每一天
System.out.print(i+"\t");
//如果是周六换行
weekDay = calendar.get(Calendar.DAY_OF_WEEK);
if(weekDay==7){
System.out.println();
}
//日历变成下一天!!!!!!
calendar.add(Calendar.DATE, 1);
}
}
}


4. 将1990年3月3日通过Calendar来表示,并得出这天是该年的第几天?将该日期增加35天,是哪一天?使用代码来说明。
a public class Test {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
//设置年月日
calendar.set(1990, 3, 3);
//得到该年的第几天
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
System.out.println(dayOfYear);
//增加35天
calendar.add(Calendar.DAY_OF_YEAR, 35);
//得到date对象
Date date = calendar.getTime();
System.out.println(date.toLocaleString());
}
}
或者采用如下代码实现
public static void main(String[] args) throws ParseException {
Calendar ca = Calendar.getInstance();//创建一个日期实例
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
Date date = df.parse("1990年3月3日");
ca.setTime(date );//实例化一个日期
System.out.println(ca.get(Calendar.DAY_OF_YEAR)); ca.add(Calendar.DAY_OF_YEAR, 35);//加上35天
System.out.println(df.format(ca.getTime()));//获取那一天
}

猜你喜欢

转载自blog.csdn.net/qq_15273599/article/details/80099879