输入为2013年4月3日,输出应为2013年4月3日,但是我一直得到3, 2013-Apri-20
的输出
import java.util.Scanner;
public class DateConversion {
public static void main( String [] args ) {
Scanner sc = new Scanner ( System.in );
System.out.println("Enter the date: ");
String temp = sc.nextLine();
String day =temp.substring(6);
String month = temp.substring(0, 4);
String year = temp.substring(9, 12);
System.out.println(day + "-" + month + "-" + year);
sc.close();
}
}
答案 0 :(得分:0)
您的day
子字符串仅包含一个值(因此它从第六个字符开始到输入的末尾)。我将使用String.split
来获取令牌。喜欢,
String temp = "April 3,2013";
String[] tokens = temp.split("[\\s,]");
System.out.printf("%s-%s-%s%n", tokens[1], tokens[0], tokens[2]);
答案 1 :(得分:0)
String类substring
方法将字符串从开始位置1到结束位置1 substring(start, end-1)
Scanner sc = new Scanner ( System.in );
System.out.println("Enter the date: ");
String temp = sc.nextLine();
String day =temp.substring(6,7);
String month = temp.substring(0, 5);
String year = temp.substring(8, 12);
System.out.println(day + "-" + month + "-" + year); //3-April-2013
sc.close();