从代码中的输入切换到提示符?

时间:2015-08-26 07:27:54

标签: java

此代码目前采用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 个答案:

答案 0 :(得分: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.");
    }
    }
}