Получение странного вывода на Java (новичок в коде) - PullRequest
0 голосов
/ 18 сентября 2018

Вводится значение 3,2013 апреля, а выходное значение должно быть 3 апреля 2013 г., однако я получаю вывод: 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();


     }
   }

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Метод класса String substring разделяет строку от начальной позиции до конечной позиции-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();
0 голосов
/ 18 сентября 2018

Ваша подстрока 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]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...