2 Stimmen

Ich brauche Hilfe bei dieser Übung (absoluter Java-Anfänger)

public class Format {

    public static void main(String [] args) {
        String s1 = "ICS";
    String s2 = "Computing";
    String s3 = "PE";
    String s4 = "Sport";
    String s5 = "ENGL";
    String s6 = "Language";

    // Print above strings in a tabular format

    }  
}

Vervollständigen Sie das obige Java-Programm so, dass es diese Zeichenketten genau so ausgibt, wie in der folgenden Tabelle dargestellt, wobei jeder Eintrag genau in der gleichen Spalte wie der in der vorherigen Zeile beginnt:

First Name    Last Name
=======================
ICS           Computing
PE            Sport
ENGL          Language

HINWEIS: Ihr Programm sollte für jeden beliebigen Satz von Zeichenketten funktionieren, NICHT NUR für die in der Übung angegebenen.

3voto

lukastymo Punkte 25279

Sie müssen String entsprechend formatieren

Das kann Ihnen helfen:

String s1 = "ICS";
String s2 = "Computing";
...
String format = "%1$-14s%2$-9s\n";
System.out.format(format, "First Name", "Last Name");
System.out.println("=======================");
System.out.format(format, s1, s2);
System.out.format(format, s3, s4);
System.out.format(format, s5, s6);

dann ist die Ausgabe genau das, was Sie brauchen. Aber wenn Sie eine dynamische Version benötigen, müssen Sie nur "14" und "9" in Ihrem Weg zählen.

Wenn Sie wissen möchten, wie Sie einen String formatieren können, schauen Sie unter este Tutorium. Es enthält ähnliche Formatierungen und hilft Ihnen in Zukunft bei ähnlichen Übungen

2voto

paxdiablo Punkte 809679

Als Erstes sollten Sie die Größe der ersten Spalte ermitteln. Dies ist das Maximum der vier Werte:

  • 10, die Größe des "Vornamens".
  • die Größe von s1 .
  • die Größe von s3 .
  • die Größe von s5 .

Das kann mit dem aktuellen Pseudocode berechnet werden:

c1len = length ("First Name")
if length (s1) > c1len:
    c1len = length (s1)
if length (s3) > c1len:
    c1len = length (s3)
if length (s5) > c1len:
    c1len = length (s5)

Danach ist es eine einfache Angelegenheit, die relevanten Zeichenfolgen auf der Grundlage dieser Länge zu formatieren.

Das ist im Grunde genommen:

output "First Name" formatted to length c1len
output "  Last Name" followed by newline
for i = 1 to c1len:
    output "="
output "===========" followed by newline.

output s1 formatted to length c1len
output "  "
output s2 followed by newline

output s3 formatted to length c1len
output "  "
output s4 followed by newline

output s5 formatted to length c1len
output "  "
output s6 followed by newline

Sie sollten sich mit der Zeichenfolge Klasse, insbesondere length() y format() , System.out.print y System.out.println .

0voto

Bernd Elkemann Punkte 22855

Werfen Sie einen Blick auf System.out.println()

0voto

mohammad Punkte 21
public class Format {

    public static void main(String [] args) {
    String s1 = "ICS";
    String s2 = "Computing";
    String s3 = "PE";
    String s4 = "Sport";
    String s5 = "ENGL";
    String s6 = "Language";
    String sep= "          ";

    // Print above strings in a tabular format
    System.out.println(s1 + sep.substring(s1.length()) + s2);
    System.out.println(s3 + sep.substring(s3.length()) + s4);
    System.out.println(s5 + sep.substring(s5.length()) + s6);

    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X