2016-06-01 10 views
1

Ich habe Probleme beim Formatieren der Ausgabe dieser Schleife, um nur 15 Zeichen pro Zeile zu haben. Kann mir bitte jemand helfen?Begrenzung der maximalen Zeichenausgabe in Java?

public class ASCII { 

public static void main(String[] args) { 

    for (int ascii = 43; ascii <= 120; ascii++) { 
     System.out.print((char)ascii + " "); 
    } 

} 

}

+0

zu verfolgen, wie viele Zeichen, das Sie gedruckt haben, und wenn es 15 trifft, um eine neue Zeile drucken. – khelwood

+0

Sie können dies einfach vor dem Ausdruck einfügen: 'if (ascii-43% 15 == 0) {System.out.println(); } '. Aber Sie würden zu Beginn Ihres Programms eine Leerzeile erhalten. Wenn Sie das nicht ausstehen können, wählen Sie eine der komplexeren Lösungen von anderen. – Gendarme

+0

@Gandarme Das ist eine nette Lösung, aber Sie müssten 42 von ascii subtrahieren und es in Klammern einschließen, da der Modulus eine höhere Priorität als die Subtraktion hat. Beispiel: 'if ((ascii - 42)% 15 == 0)' –

Antwort

1

Dies wird das erreichen:

for (int ascii = 43, i = 1; ascii <= 120; ascii++) { 
    System.out.print((char)ascii + " "); 

    if (i++ % 15 == 0) 
    { 
      System.out.println(); 
    } 
} 
+0

Super, vielen Dank! Hauptsächlich war ich nur verwirrt darüber, welche Art von Schleife wäre kompatibel, als ob versucht, die for-Schleife mit der if-Schleife vor und es zeigte einen Fehler und Ihre Lösung hat es aufgeklärt! – AvenNova

+0

@AvenNova Kein Problem! –