2016-10-11 3 views
0

Извините за основной вопрос, я все еще очень новичок в Java.println overtypes первый аргумент

Когда я пытаюсь использовать println для печати переменной String, за которой следует двоеточие, двоеточие переименовывает первую букву переменной String.

Так, например, я введите следующую команду

System.out.println(planetName + ":"); 

... и получить это как выход (Допустим, название планета Зета Альфа II)

:eta Alpha II 

Что я делаю неправильно ? Если я опускаю двоеточие, переменная печатает нормально. Все остальное отлично работает, я пробовал решения printf и использовал переменную char безрезультатно.

ОТВЕТ: Как Джим Гаррисон был настолько любезен, чтобы предложить в комментариях, файл ввода имел \ R символов (т. Е она была в CRLF DOS \ г \ п формат), быстрый бег dos2unix фиксированных входных данных и решил проблему

+1

, кажется, больше проблемы с консоли/терминала, который вы используете, чем с самой Java. –

+1

Я думаю, что 'planetName' имеет' 'Zeta Alpha II \ r" '. – saka1029

+0

Весьма вероятно, что строка, которую вы печатаете, содержит символ возврата каретки ('0x0D') в конце. Как была заполнена карта 'tm'? –

ответ

2

Входной файл находится в формате DOS с каждой строкой, заканчивающейся \r\n.

Удалите \r с утилитой Дос-к-Unix, такие как dos2unix

Смежные вопросы