Einfaches Quadrat auf der Console ausgeben lassen

Java4win

Aktives Mitglied
Hey,
Wir sollen ein ein Quadrat der Form(abhängig von n):
n = 2;
--
| |
| |
--

ausgeben lassen.
Mein Sourcecode sieht so aus:
Java:
int n = 10;

        for(int i = 0; i <= n; i++){
            if(i == 0){
                System.out.print(" ");
            }
            else{
            System.out.print("-");
            }
        }
        System.out.println();
        for(int a = 0; a < n; a++){
            for(int j = 0; j <= n+1; j++){
                if(j == 0){
                    System.out.print("|");
                }
                else if(j == n+1){
                    System.out.println("|");
                }
                else{
                    System.out.print(" ");
                }
        }
        }
        for(int i = 0; i <= n; i++){
            if(i ==0){
                System.out.print(" ");
            }
            else{
            System.out.print("-");
            }
        }

Es funktioniert, jedoch habe ich das Gefühl, dass es eine einfachere Lösung gibt.
Wie würdet ihr dieses "Problem" lösen?:)
 

Meniskusschaden

Top Contributor
So sollte es aussehen bei n = 2
--
| |
| |
--

Edit: Ok es funktioniert nicht aber stellt euch einfach vor es wäre gerade.
Ich nehme an, es soll so aussehen:
Code:
 --
|  |
|  |
 --

Es funktioniert, jedoch habe ich das Gefühl, dass es eine einfachere Lösung gibt.
Du könntest deine for-Schleifen so aufbauen, dass sie nur das gewünschte Zeichen so oft ausgeben, wie du es brauchst. Die abweichenden Zeichen kannst du ausserhalb der for-Schleifen ausgeben. Dann sparst du dir die ganzen Fallunterscheidungen. Ausserdem könntest du Methoden einführen, um sich wiederholenden Code darin auszulagern.
 

Goldi

Aktives Mitglied
Ich mach mit beim Wettbewerb der Quadrate:
Java:
public class Quadrat {
   
    // Konstanten für das Rechteck:
    final static char HL = (char)9472;     // Horizontale Linie
    final static char VL = (char)9474;     // Vertikale Linie
    final static char OL = (char)9484;     // Ecke oben links
    final static char OR = (char)9488;     // Ecke oben rechts
    final static char UL = (char)9492;     // Ecke unten links
    final static char UR = (char)9496;     // Ecke unten rechts

    public static void main(String[] args) {
        new Quadrat().printRect(2);
    }
   
    // n = Seitenlänge
    public void printRect(int n) {
        if (n < 0) {
            System.out.println("Kannste knicken; negative Seitenlängen mach ich nicht!");
        } else {
       
            char[] top = new char[2 + n];
            char[] bottom = new char[2 + n];
            char[] snueffelstueck = new char[2 + n];

            // Obere Linie:
            top[0] = OL; top[1 + n] = OR;
            for (int i = 1; i < 1 + n; i++) {
                top[i] = HL;
            }

            // Snüffelstück:
            snueffelstueck[0] = VL; snueffelstueck[1 + n] = VL;
            for (int i = 1; i < 1 + n; i++) {
                snueffelstueck[i] = ' ';
            }

            // Untere Linie:
            bottom[0] = UL; bottom[1 + n] = UR;
            for (int i = 1; i < 1 + n; i++) {
                bottom[i] = HL;
            }

            // Ausgabe:
            System.out.println(new String(top));
            for (int i = 0; i < n; i++) {
                System.out.println(new String(snueffelstueck));
            }
            System.out.println(new String(bottom));
        }
    }
}

Das Ergebnis formvollendet (hoffentlich stellt der Editor hier das richtig dar ;-) ):

Java:
┌──┐
│  │
│  │
└──┘

Herzlichen Gruß
Goldi
 

DrZoidberg

Top Contributor
Hier sind noch zwei weitere Lösungsmöglichkeiten:
Java:
static String repeat(String s, int n) {
    String r = "";
    for(int i = 0; i < n; i++) {
      r += s;
    }
    return r;
  }

  static void quadrat(int n) {
    System.out.println("┌" + repeat("─", n) + "┐");
    System.out.print(repeat("│" + repeat(" ", n) + "│\n", n));
    System.out.println("└" + repeat("─", n) + "┘");
  }

Java:
static void quadrat(int n) {
    String line = "", spaces = "";
    for(int i = 0; i < n; i++) {
      line += "─"; spaces += " ";
    }
    System.out.println("┌" + line + "┐");
    for(int i = 0; i < n; i++) {
      System.out.println("│" + spaces + "│");
    }
    System.out.println("└" + line + "┘");
  }
Das muss man dann natürlich mit dem Argument "-encoding utf8" kompilieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R OOP Einfaches Programmierbeispiel für Assoziation, Aggregation und Komposition gesucht Java Basics - Anfänger-Themen 10
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
H ein einfaches Tic Tac Toe Spiel Java Basics - Anfänger-Themen 1
L Einfaches Kartenspiel (Spieler Klasse) Java Basics - Anfänger-Themen 14
R Einfaches refresh während runtime Java Basics - Anfänger-Themen 4
M JSP-Einfaches Bild anzeigen Java Basics - Anfänger-Themen 4
F Einfaches Threadbeispiel.. Java Basics - Anfänger-Themen 7
S Referentielle Integrität ? (Einfaches Bsp) Java Basics - Anfänger-Themen 2
G Erste Schritte Einfaches Gästebuch erstellen mit Array Java Basics - Anfänger-Themen 7
V Klassen import - einfaches Umleiten auf eigene Klassen? Java Basics - Anfänger-Themen 8
H Erste Schritte Einfaches Programm und GUI zusammen bringen Java Basics - Anfänger-Themen 3
A Android Datenbank gaaanz einfaches Insert geht nicht - warum? Java Basics - Anfänger-Themen 4
B OOP einfaches regex Java Basics - Anfänger-Themen 10
K einfaches Drucken von Text (und ggf Bildern,gemischt) Java Basics - Anfänger-Themen 11
M Ganz einfaches Beispiel, finde den Fehler aber nicht :( Java Basics - Anfänger-Themen 2
S Einfaches Regulaerer Ausdruck Problem Java Basics - Anfänger-Themen 7
E einfaches Schachbrett generieren Java Basics - Anfänger-Themen 9
M Einfaches TicTacToe Programm Java Basics - Anfänger-Themen 19
S einfaches Pokerprogramm Java Basics - Anfänger-Themen 52
S KeyListener für einfaches Programm Java Basics - Anfänger-Themen 3
H einfaches Array -> ']' expected Java Basics - Anfänger-Themen 9
H Webservice - Einfaches Beispiel Java Basics - Anfänger-Themen 2
F Ich raffs nicht! - Wie mache ich ein einfaches Java-window? Java Basics - Anfänger-Themen 54
S Einfaches int Array gibt über System.out.println merkwürden Wert aus Java Basics - Anfänger-Themen 9
K Einfaches Bubblesort Java Basics - Anfänger-Themen 11
O einfaches rechnen mit zahlen Java Basics - Anfänger-Themen 4
H Einfaches Date-parse problem Java Basics - Anfänger-Themen 2
T Array auf einfaches Element umwandeln Java Basics - Anfänger-Themen 8
G einfaches Regex Problem Java Basics - Anfänger-Themen 4
M EInfaches Addieren mit Abbruchbedingung Java Basics - Anfänger-Themen 9
M [Einfaches Beispiel] Problem mit innere Klassen Java Basics - Anfänger-Themen 4
S Einfaches Rechenprogramm Java Basics - Anfänger-Themen 2
G Einfaches Rechenprogramm schreiben! Java Basics - Anfänger-Themen 8
A ausgabe eines arrays - einfaches beispiel Java Basics - Anfänger-Themen 4
M Einfaches Menü erstellen Java Basics - Anfänger-Themen 106
D was ist denn nun schon wieder? Einfaches JSP. Java Basics - Anfänger-Themen 6
D Ein einfaches Problem aber ich brauche einen TIP Java Basics - Anfänger-Themen 2
R einfaches Programm, viele Probleme Java Basics - Anfänger-Themen 29
C Einfaches Paint-Programm Java Basics - Anfänger-Themen 9
P Ein einfaches Spiel: TicTacToe. Fehler und Vorschläge Java Basics - Anfänger-Themen 3
F einfaches Menue in einer Textkonsole Java Basics - Anfänger-Themen 4
W einfaches Frame öffnen Java Basics - Anfänger-Themen 2
N Wahrscheinlich ganz einfaches Problem, aber unverständlich! Java Basics - Anfänger-Themen 3
S einfaches script mit Eingabeaufforderung starten (javac) Java Basics - Anfänger-Themen 8
B Einfaches Speichern und Laden in Java? Java Basics - Anfänger-Themen 3
L Einfaches Warten in eine Schleife Java Basics - Anfänger-Themen 9
P einfaches Perl-Skript aufrufen Java Basics - Anfänger-Themen 7
G einfaches jdialog beispiel Java Basics - Anfänger-Themen 1
B Oberflaecheprog einfaches beispiel (button action listener) Java Basics - Anfänger-Themen 5
N Vermutlich einfaches Problem.. Java Basics - Anfänger-Themen 3
Ü Methode soll Quadrat aus der Summer zurückgeben Java Basics - Anfänger-Themen 10
MaZ Quadrat Schleife(Pyramide) Java Basics - Anfänger-Themen 9
xXDasFischXx quadrat Java Basics - Anfänger-Themen 1
F Quadrat Mit Muster Java Basics - Anfänger-Themen 15
J Quadrat mit Diagonalen Java Basics - Anfänger-Themen 3
K Erste Schritte Nenner zum Quadrat Java Basics - Anfänger-Themen 10
M Quadrat zeichnen einfach bitte! Java Basics - Anfänger-Themen 2
C Input/Output Magisches Quadrat Rechts Formatieren Java Basics - Anfänger-Themen 4
S math Methoden in Java (quadrat) Java Basics - Anfänger-Themen 7
F Das magische Quadrat Java Basics - Anfänger-Themen 8
J Negatives Quadrat bei hohen Basen Java Basics - Anfänger-Themen 11
L Magisches Quadrat und Backtracking Java Basics - Anfänger-Themen 19
S Magisches Quadrat Java Basics - Anfänger-Themen 9
F Rechteck/Quadrat getroffen? Java Basics - Anfänger-Themen 2
K Rechteck/Quadrat Java Basics - Anfänger-Themen 5
P Quadrat und Wurzel HILFE!!!!! Java Basics - Anfänger-Themen 13
T Quadrat mit Array?? Java Basics - Anfänger-Themen 9
G Quadrat in Java Java Basics - Anfänger-Themen 9
J Quadrat mit variabler Kantenlänge Java Basics - Anfänger-Themen 3
G Quadrat mit Diagonalen ausgeben Java Basics - Anfänger-Themen 4
K Farbenspiel : Quadrat verschwindet,wenn Fenster inaktiv ist Java Basics - Anfänger-Themen 13
E Magisches Quadrat - wie bring ich des fertig? Java Basics - Anfänger-Themen 2
K Wie kann ich "enter" von der Console in Eclipse löschen? Java Basics - Anfänger-Themen 2
M Text wird in der Console nicht ausgegeben. Java Basics - Anfänger-Themen 11
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
C das Doppelte des Wertes in der Console ausgeben Java Basics - Anfänger-Themen 10
iman Console Java Basics - Anfänger-Themen 17
T '>' vor Console input Java Basics - Anfänger-Themen 3
F Console command unter Linux Java Basics - Anfänger-Themen 7
O Methoden 3 Methoden gleichzeitig laufen lassen in der Console Java Basics - Anfänger-Themen 2
B Wieso gibt das Programm in der Console kein Ergebnis aus? Java Basics - Anfänger-Themen 2
J Hintergrundsound in der CMD Console, wie? Java Basics - Anfänger-Themen 14
GENiALi Java Console Anwendung starten in Prozess Java Basics - Anfänger-Themen 3
L Java CMD Console in String umwandeln? Java Basics - Anfänger-Themen 2
P Erste Schritte Console - Sehr komische Ausgabe! Java Basics - Anfänger-Themen 3
K Klasse console.InputHelper.readString() nicht utzbar Java Basics - Anfänger-Themen 3
B Console Beschreibung Java Basics - Anfänger-Themen 1
C Hilfe für Kommentar-Zapper gesucht / Umgang mit Console Java Basics - Anfänger-Themen 0
D Einlesen eines Enum-Wertes per console Java Basics - Anfänger-Themen 3
O Einlesen einer Matrix von der Console Java Basics - Anfänger-Themen 18
G UnsatisfiedLinkError erscheint nur über Console Java Basics - Anfänger-Themen 6
J Zusätzliche Console Öffnen Java Basics - Anfänger-Themen 6
G 3422 Zeilen in Eclipse Console Java Basics - Anfänger-Themen 5
P Progressbar auf der Console Java Basics - Anfänger-Themen 12
H Input/Output Console löschen und Eingaben in Echtzeit Java Basics - Anfänger-Themen 3
S Erste Schritte Ausgabe in der Console "ändern" Java Basics - Anfänger-Themen 4
T Input/Output Scanner Eingaben auf Console farbig darstellen, wie? Java Basics - Anfänger-Themen 13
IngoF wie kann man die Console nachträglich öffnen? Java Basics - Anfänger-Themen 6
J Eclipse Console Ausgaben Abfangen Java Basics - Anfänger-Themen 2
N Zeile in Console einlesen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben