¿Por qué no este comando println iniciar una nueva línea?
Pregunta
Este es el código correspondiente:
public static void printBoarders (Territory x)
{
int t = 0 ;
int n = 0 ;
for (int i = 0; i<x.borders.length; i++)
{
if (x.borders[i] == -1)
t = i ;
}
for (int j = 0; j<x.borders.length; j++)
{
if (x.borders[j] == 1)
n++ ;
}
Territory.translate (t) ;
System.out.print (" has " + n + " borders: ") ;
Territory.translate (x.borders) ;
System.out.println (" ") ;
}
Cuando ejecuto esto, me sale todo en una línea sin un salto de línea. ¿Por qué no es el System.out.println (" ") ;
creando un salto de línea?
Este es un ejemplo de lo que la salida termina siendo:
Northwest Territory, Alberta, Kamchatka, hidavid-names-macbook-pro:~ davidname$
EDIT: el problema es que este método no se invoca. A uno diferente que i estaba reemplazando era. Todo está bien.
Solución 4
El código anterior sería snippit iniciar una nueva línea. El problema es que los printBoarders método no se invoca.
Otros consejos
Ninguno de código que está mostrando es lo que la salida de "Territorio del Noroeste, Alberta, Kamchatka".
Lo que .translate () hacer? Tiene que estar ahí.
No veo que la impresión has " + n + " borders:
tampoco, así que me voy a decir que el código nunca se ejecuta por alguna razón
Sólo puedo ver
System.out.print (" has " + n + " borders: ") ;
En realidad, yo no entiendo por qué ver a cualquier otro de salida después
"tiene 5 fronteras:"
Sólo la última impresión es PRINTLN, la primera es sólo la impresión de forma única el espacio "" se imprime a una nueva línea al final ...
EDIT: ¿Quieres decir cuando se llama varias veces Y
Sólo escanear rápidamente este código, que parezca que el println () parece ser alcanzado. En realidad, el ni siquiera estoy viendo cómo ha llegado hasta la salida de haberlo hecho. Es este el código completo. Este es un gran caso para la escritura de una pequeña unidad de prueba.
Creo que está empezando desde el centro de la línea, donde la última llamada System.out.print dejó.
a partir de la documentación para PrintWriter, por ejemplo
public void println(String x)
Imprime una cadena y luego termina la línea.