2015-08-26 33 views
1

此代碼當前採用格式爲dd/MM/yyyy的日期,並在4個單獨的行上返回月份,日期,年份和日期的輸出。在這種情況下,您將日期輸入代碼本身。但我想製作一個提示器並使用掃描儀輸入日期。這是我到目前爲止,但我不知道如何繼續。原始代碼尚未更改。從代碼中的輸入切換到提示器?

import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.Scanner; 

class Day{ 

    public static void main(String[] args){ 

    Scanner sc = new Scanner(System.in); 
    System.out.println("Type a date in the form dd/MM/yyyy:"); 
    SimpleDateFormat newDateFormat = new SimpleDateFormat("dd/MM/yyyy"); 

    try { 
     Date myDate = newDateFormat.parse("28/12/2013"); 
     newDateFormat.applyPattern("EEEE dd MMM yyyy"); 
     String isDate = newDateFormat.format(myDate); 
     String []myformat=isDate.split(" "); 
     System.out.println(myformat[2]); 
     System.out.println(myformat[1]); 
     System.out.println(myformat[3]); 
     System.out.println(myformat[0]); 

     } catch (Exception e) { 
     System.out.println("Error. Date is in the wrong format."); 
    } 
    } 
} 

回答

1

您S.O.p後放線
String date = sc.nextLine();和修改日期指明MyDate線
Date myDate = newDateFormat.parse(date);
最終的代碼是

import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.Scanner; 

class Day{ 

    public static void main(String[] args){ 

    Scanner sc = new Scanner(System.in); 
    System.out.println("Type a date in the form dd/MM/yyyy:"); 
    String date = sc.nextLine(); 
    SimpleDateFormat newDateFormat = new SimpleDateFormat("dd/MM/yyyy"); 

    try { 
     Date myDate = newDateFormat.parse(date); 
     newDateFormat.applyPattern("EEEE dd MMM yyyy"); 
     String isDate = newDateFormat.format(myDate); 
     String []myformat=isDate.split(" "); 
     System.out.println(myformat[2]); 
     System.out.println(myformat[1]); 
     System.out.println(myformat[3]); 
     System.out.println(myformat[0]); 

     } catch (Exception e) { 
     System.out.println("Error. Date is in the wrong format."); 
    } 
    } 
}