案例1:
键盘录入,判断所录入字符串中大写字母,小写字母,数字及其他符号的个数。
import java.util.*;
import java.io.*;//导包
public class Geshu {
public static void main(String[] args){//主函数
while(true){//while循环,多次录入
ScannerGeshu();//调用ScancerGeshu方法
//jishu();
}
}
public static void ScannerGeshu(){
Scanner read=new Scanner(System.in);
sop("Please keyboard entry");
String nishurude=read.nextLine();//键盘录入
char[] zu=nishurude.toCharArray();//字符串转成字符数组
//public static void jishu(){
int dacount=0;
int xiaocount=0;
int numcount=0;
int qitacount=0;
for(int x=0;x<zu.length;x++){//for循环遍历字符数组zu[]
if(Character.isUpperCase(zu[x])){//判断是否是大写字母
++dacount;
}
else if(Character.isLowerCase(zu[x])){//判断是否是小写字母
++xiaocount;
}
else if(Character.isDigit(zu[x])){//数字
++numcount;
}
else{
++qitacount;
}
}
sop("大写字母数:"+dacount);//调用打印方法,打印大写字母数
sop("小写字母数:"+xiaocount);
sop("数字个数:"+numcount);
sop("其他字符数:"+qitacount);
}
public static void sop(Object obj){//封装打印。简化书写/敲代码
System.out.println(obj);
}
}
程序运行结果如下图示:
案例2:
键盘录入出生日期,算一下你来到这个世界多少天?
import java.text.ParseException;
public class DateFormatTest {
public static void main(String[] args) throws ParseException {
//1.键盘录入年月日
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的出生日期:yyyy-MM-dd");
//获取键盘录入数据
String startDate = sc.nextLine();
//2.将年月日封装成日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date startD = sdf.parse(startDate);
//4.获取当前时间的毫秒值
long nowTime = new Date().getTime();
//5.算出差值
long time = nowTime - startD.getTime();
//算出天数
long day = time /1000/60/60/24;
System.out.println("你已经来到世间"+day+"天了");
}
}
案例3
键盘录入年份,获取任意一年的二月有多少天
import java.util.Calendar;
import java.util.Scanner;
public class CalendarTest {
public static void main(String[] args) {
System.out.println("请输入年份");
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
// 2.将日历对象的时间调到,此年的3月的第一天
Calendar c = Calendar.getInstance();
c.set(year, 3, 1);
//3.将日期对象向前推一天
c.add(Calendar.DATE, -1);
//4.获取此天的日期
System.out.println("该年的二月有"+c.get(Calendar.DATE));
}
}