2016-10-11 1 views
0

Désolé pour la question de base, je suis encore très nouveau à Java.println surtypes premier argument

Lorsque je tente d'utiliser println pour imprimer une variable String suivi par deux points du côlon overtypes la première lettre de la variable String.

Ainsi, par exemple, je tapez la commande suivante

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

... et obtenir ce que la sortie (le nom permet de dire que la planète est Zeta Alpha II)

:eta Alpha II 

Qu'est-ce que je fais mal ? Si j'omets le deux-points, la variable s'imprime normalement. Tout le reste fonctionne bien, j'ai essayé des solutions printf et en utilisant une variable char en vain également.

RÉPONSE: Comme Jim Garrison était si gentil de proposer dans les commentaires, le fichier d'entrée a \ caractères r (.-À-dire qu'il était sous DOS CRLF \ r \ n le format), une course rapide dos2unix fixe les données d'entrée et résolu le problème

+1

semble être plus d'un problème avec la console/terminal que vous utilisez qu'avec Java lui-même. –

+1

Je pense que 'planetName' a' '" Zeta Alpha II \ r "'. – saka1029

+0

Il est très probable que la chaîne que vous imprimez contienne un caractère de retour chariot ('0x0D') à la fin. Comment la carte 'tm' était-elle peuplée? –

Répondre

2

Le fichier d'entrée est au format DOS avec chaque ligne se terminant par \r\n.

Retirez le \r avec un Dos-à-Unix utilitaire tel que dos2unix