Abhay520 Ответов: 2

Java вопрос попытка преобразовать каждое слово во входных данных в несколько строк


Пример ввода данных :
Lucy came to Berlin, Germany in 2000.

Выход:
Lucy stays in Berlin for 20 years. Berlin is in Germany.


Что я уже пробовал:

import java.util.Scanner;

public class MiniTranslator {
	public static void main(String[] args) {
		//Declaring scanner
		Scanner keyboard = new Scanner(System.in);
		//Printing greeting message
		System.out.println("-------------------------------------------------------\n" + "\tLanguage Translator Program\n" +"---------------------------------------------------------");
		System.out.println("Please enter the input sentence : \n");
		String message = keyboard.next();
		String[] arr = message.split("[ ,.]+",7);
		String name = arr[0];
		String city = arr[3];
		String country = arr[4];
		String year = arr[5];
		int noOfYears =2020 - (Integer.parseInt(year));
		System.out.println(name +" stays in" +city +" for" + noOfYears +" years. " 
		                        + city +" is in" + country );
		keyboard.close();
                //which gives an error
	}
}

OriginalGriff

"//что дает ошибку"
Какая ошибка?
Что это за послание?

2 Ответов

Рейтинг:
0

Gerry Schmitz

Вы ограничили пользователя одним типом предложения; и даже не можете сказать, когда это неправильно.

С таким же успехом вы можете запросить индивидуально имя, город, страну и год. Затем вы можете применить своего рода проверку.


Рейтинг:
0

Richard MacCutchan

String year = arr[5];

Пункт года не является индексом 5. Попробуйте сосчитать слова в предложении, чтобы получить правильное смещение. Но, как говорит Джерри, это будет работать только для определенного формата предложения.