Как взять разделенные пробелами целочисленные входы в переменные int в Java? - PullRequest
0 голосов
/ 22 сентября 2019

Я попробовал это, я хочу, чтобы ввести в целых числах, я не хочу слишком использовать строку или массив ...

int sh=0,sm=0,eh=0,em=0;
t=sc.nextInt();
for(int i=0;i<t;i++)
{
      sh=sc.nextInt();
      sm=sc.nextInt();
      eh=sc.nextInt();
      em=sc.nextInt();
}

Я хочу принять ввод как

2
1 44 2 14
2 33 5 12

Есть 4 целых чисел, разделенных пробелами в одной строке, а затем на следующий же, как и выше линии, как я могу?

Ответы [ 2 ]

0 голосов
/ 22 сентября 2019

Вы должны использовать nextLine() метод и Integer.parseOf().См. Короткий пример ниже:

    int sh, sm, eh, em;
    int numberOfLines = Integer.parseInt(scanner.nextLine());
    for (int i = 0; i < numberOfLines; ++i) {
        String line = scanner.nextLine();
        String[] s = line.split(" ");
        sh = Integer.parseInt(s[0]);
        sm = Integer.parseInt(s[0]);
        eh = Integer.parseInt(s[0]);
        em = Integer.parseInt(s[0]);
    }

Без Integer.parse():

        int sh, sm, eh, em;
        int numberOfLines = scanner.nextInt();
        for (int i = 0; i < numberOfLines; ++i) {
            sh = scanner.nextInt();
            sm = scanner.nextInt();
            eh = scanner.nextInt();
            em = scanner.nextInt();
        }
0 голосов
/ 22 сентября 2019

Вам необходимо использовать метод nextLine().Читайте полную строчку за 1 раз.Затем разделите его с помощью пробела методом разделения строк.Хранить в массиве или в той же переменной, которую вы хотите.

for(int i=0;i<t;i++)
{
    String s=sc.nextLine();
    int a[] = new int[4];
    String[] parts = s.split("\\s+");

    sh=Integer.parseInt(parts[0]);
    sm=Integer.parseInt(parts[1]);
    eh=Integer.parseInt(parts[2]);
    em=Integer.parseInt(parts[3]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...