日期:2014-05-20  浏览次数:20877 次

java控制台的格式化输入问题
有个简单的题目 如输入年月日 格式为 YYYY.MM.DD 例如 输入1998.07.01(注:一次性输入)
对象中私有成员 能分别读出 year = 1998; month = 07 ; day = 01; 有什么好方法 介绍一下 最好是简单好用的。

------解决方案--------------------
package day06;
import java.util.Scanner;
public class DateInput {

public static void main(String[] args) {
System.out.println("请输入日期例如1987.03.21");
Scanner console=new Scanner(System.in);
String str=console.nextLine();
String str1="";
String str2="";
String str3="";
str1+=str.charAt(0);
str1+=str.charAt(1);
str1+=str.charAt(2);
str1+=str.charAt(3);
System.out.println(str1);
str2+=str.charAt(5);
str2+=str.charAt(6);
System.out.println(str2);
str3+=str.charAt(8);
str3+=str.charAt(9);
System.out.println(str3);

}

------解决方案--------------------
取得Date之後,透過Calendar來取得年月日
Calendar cl = Calendar.getInstance();
cl.setTime(date);
cl.get(Calendar.YEAR);
cl.get(Calendar.MONTH);
cl.get(Calendar.DATE);

------解决方案--------------------
那样的格式用split也行,最好是用Calendar
------解决方案--------------------
探讨
有没有 哪个方法 能够检测出输入字符中的 "." 读取 第一个点之前的 即 year ;
第一点到第二个点之间 为 month; 第二个点之后 为 days;