ASCII-Art Haus

C

Chriskant

Gast
Hallo,

ich habe folgendes Problem:

Ich soll mit Hilfe einer for-Schleife ein Haus-ähnliches Gebilde ausgeben lassen. Der Benutzer wird aufgefordert eine positive Zahl einzugeben und diese Gebilde aus ausgegeben werden.

+--+
/ \
/ \
+ +
| |
| |
+-------+

so in etwa. Das Haus gilt für das Beispiel n=2.

Ich habe wirklich keine Ahnung wie ich dieses Problem angehen soll. Könnte mir das evtl. jemand erklären?

Danke im Vorraus.

Chris
 
Zuletzt bearbeitet von einem Moderator:
C

Chriskant

Gast
Oh irgendwie ist das Haus nicht richtig dargestellt
+--+
/ \
/ \
+ +
| |
| |
+-------+
 

T7V

Aktives Mitglied
So müsste es gehen:

Java:
//vorher eingabe n


for(int i=0; i <= n; ++i){
  if( i ==0){
    System.out.println("+--+");
    System.out.println(" /   \ ");
    System.out.println(" /   \ ");
  }
    else if ( i == n) System.out.println ("+------+") ;
      else {
               System.out.println("+   +");
              System.out.println("|   |");
              System.out.println("|   |");
  }
}

beim ersten Durchlauf wird das Dach ausgegeben, beim letzten der Boden, sonst Etagen
 
Zuletzt bearbeitet:
D

despikeexd

Gast
ach warum denn ... so funzt das ganz gut wenn du "\ " escapest du ja nur das whitespace ... ansonten natürlich richtig : "\\"
 

T7V

Aktives Mitglied
Ach ja richtig " \\ " daran habe ich mich nicht mehr erinnern können. ^^
Bei " \ " kommt die Meldung "illegal escape character".
 
O

oldboy

Gast
Also gleich vorweg, ich habe noch keinen Plan von Java.
(schon aber diverse andere Programmiersprachen )

Bevor die Aufgabe gelöst werden kann, sollte vielleicht erst mal klar werden, was rauskommen soll.
Für Input 2 , soll wohl sowas rauskommen ?
Code:
    +--+     // 4 " ", 1 "+", 2  "-", 1 "+"
   /      \     // 3 " ", 1 "/" , 6  " ", 1 "\"
  /        \    // 2 " ", 1 "/" , 8  " ", 1 "\"
+          +  // 0 " ", 1 "+",10 " ", 1 "+" 
 |          |   // 1 " ", 1 "|", 10 " ", 1 "|"
 |          |   // 1 " ", 1 "|", 10 " ", 1 "|"
+--------+  // 0 " ", 1 "+", 8 "-", 1 "+"
für Input 3 dann vielleicht das ?
Code:
     +---+       // 5 " ", 1 "+", 3   "-", 1 "+"
    /       \       // 4 " ", 1 "/" , 8   " ", 1 "\"
   /         \      // 3 " ", 1 "/" , 10 " ", 1 "\"
  /           \     // 2 " ", 1 "/" , 12 " ", 1 "\"
+             +   // 0 " ", 1 "+", 13 " ", 1 "+" 
 |             |    // 1 " ", 1 "|" , 13 " ", 1 "|"
 |             |    // 1 " ", 1 "|" , 13 " ", 1 "|"
 |             |    // 1 " ", 1 "|" , 13 " ", 1 "|"
+----------+   // 0 " ", 1 "+", 10 "-", 1 "+"
 
O

Oldboy

Gast
ohjee..
das funktioniert ja nicht wirklich gut..
jetzt mal mit Java-Tags
für Input = 3

Java:
    +---+
   /     \
  /       \
 /         \
+           +
|           | 
|           | 
|           | 
+-----------+
 
O

OldBoy

Gast
Also ich weiss ja nun immer noch nicht, was da eigentlich herauskommen soll.
Trotzdem hab ich mich mal mit Jave versucht. Mein erstes Programm in Java so to say:
Java:
import java.util.Arrays;

public class CMyClass {
  public static void main (String[] args) {

    int n=3; // should be user input

    int iLen = n*3+2;
    int iA = n+2;
    int iB = n+1;

    // create strings filled with blanks and dashes
    char[] chBuf = new char[ iLen ];
    Arrays.fill(chBuf, '-');
    String strDash = new String(chBuf);
    String strBlank = strDash.replaceAll("-"," ");
    
    String strLine = strBlank.substring(1,iA) + "+" ;
    strLine = strLine + strDash.substring(1,iB);
    strLine = strLine + "+";

    System.out.println(strLine);
    
    for(int i=0; i < n ; ++i){
      iA=iA-1;
      iB=iB+2;
      strLine = strBlank.substring(1,iA) + "/" ;
      strLine = strLine + strBlank.substring(1,iB);
      strLine = strLine + "\\";
      System.out.println(strLine);
    }

    strLine = "+" + strBlank + "+" ;
    System.out.println(strLine);

    for(int i=0; i < n ; ++i){
      strLine = "|"+ strBlank + "|";
      System.out.println(strLine);
    }

    strLine = "+" + strDash + "+" ;
    System.out.println(strLine);

  }
}
 
O

OldBoy

Gast
Noch eine Variante, wobei n als Argument übergeben wird.
Die Konstruktion eines mit Bindestrichen bzw. Leerzeichen gefüllten Strings einer bestimmten Länge
habe ich hier ebenfalls variiert.

Java:
//
//>java CMyClass 1
//  +-+
// /   \
//+     +
//|     |
//+-----+
//
//>java CMyClass 3
//    +---+
//   /     \
//  /       \
// /         \
//+           +
//|           |
//|           |
//|           |
//+-----------+
//
public class CMyClass 
{
  public static void main (String[] args) 
  {

    int n = Integer.parseInt(args[0]);
    int iLen = n*3+2;
    int iA = n+1;
    int iB = n;

    // create strings filled with blanks and dashes    
    String strDash = "-";
    String strBlank = " ";

    int iC = 1 + (int) ( Math.log(iLen)/Math.log(2) );  

    for(int i=0; i < iC ; ++i)
    {
      strDash=strDash + strDash;
      strBlank=strBlank + strBlank;
    }

    strDash = strDash.substring(0,iLen);
    strBlank = strBlank.substring(0,iLen);

    // Top of the roof
    
    String strLine = strBlank.substring(0,iA) + "+" ;
    strLine = strLine + strDash.substring(0,iB);
    strLine = strLine + "+";

    System.out.println(strLine);

    // roof
    
    for(int i=0; i < n ; ++i)
    {
      iA=iA-1;
      iB=iB+2;
      strLine = strBlank.substring(0,iA) + "/" ;
      strLine = strLine + strBlank.substring(0,iB);
      strLine = strLine + "\\";
      System.out.println(strLine);
    }

    // top of the body    
    System.out.println("+" + strBlank + "+");

    // body 

    for(int i=0; i < n ; ++i)
    {
      System.out.println("|"+ strBlank + "|");
    }

    // base

    System.out.println("+" + strDash + "+");

  }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
U Ascii wert verschieben, wie möglich? Java Basics - Anfänger-Themen 3
Sonas814 ASCII-Tabelle Java Basics - Anfänger-Themen 2
J Umwandlung String zu ASCII-Wert und anders Java Basics - Anfänger-Themen 17
E ASCII-Code in Java ausgeben Java Basics - Anfänger-Themen 6
krgewb ASCII-Tabelle Java Basics - Anfänger-Themen 12
O Ascii Tasse Ausgeben Java Basics - Anfänger-Themen 8
S ASCII String zu int Java Basics - Anfänger-Themen 5
R Fehler bei ASCII Char zu Int Umwandlung Java Basics - Anfänger-Themen 2
J ASCII - Raute Java Basics - Anfänger-Themen 18
K Ascii Converter mit Swing Java Basics - Anfänger-Themen 4
P ASCII-Tabelle Java Basics - Anfänger-Themen 5
C String mit ASCII vergleichen + gefundene Gemeinsamkeiten ausgeben Java Basics - Anfänger-Themen 21
H String in Ascii-Werte für Verschüsselungssystem Java Basics - Anfänger-Themen 8
A OOP Buchstaben mit ASCII Werten darstellen Java Basics - Anfänger-Themen 1
G Wert in Ascii Datei ändern, ohne die Datei neu zu schreiben Java Basics - Anfänger-Themen 24
A int in ASCII Konvertieren Java Basics - Anfänger-Themen 6
S ASCII Code aus String herauslesen Java Basics - Anfänger-Themen 3
Rayo Eingelesene Ascii Zahlen wie normale Zahlen prüfen Java Basics - Anfänger-Themen 4
T ASCII Art von Bild erstellen. Java Basics - Anfänger-Themen 32
A String(Ascii ) in String umwandeln Java Basics - Anfänger-Themen 3
D Von short zu Ascii-Code Java Basics - Anfänger-Themen 2
P Erste Schritte Zufallszahl in Ascii-Code umwandeln ?!? Java Basics - Anfänger-Themen 6
S String mit ASCII/HTML Zeichen darstellen Java Basics - Anfänger-Themen 10
C ASCII CODES in Linux anders als auf Windows? Java Basics - Anfänger-Themen 4
J Ascii Zeichen von einem String umwandeln und ausgeben Java Basics - Anfänger-Themen 11
T String to ASCII Java Basics - Anfänger-Themen 3
K ASCII-Art mit for Schleife Java Basics - Anfänger-Themen 12
R ASCII-Tabelle Java Basics - Anfänger-Themen 6
achillesat aus .java in ascii datei Java Basics - Anfänger-Themen 12
P ASCII-Bild einlesen Java Basics - Anfänger-Themen 13
I Ascii Bild mittels Scanner einlesen Java Basics - Anfänger-Themen 9
D prüfen ob string nur ascii zeichen enthält Java Basics - Anfänger-Themen 7
G Textdokument ASCII ändern Java Basics - Anfänger-Themen 10
P Ascii Bild einlesen Java Basics - Anfänger-Themen 6
P Ascii Java Basics - Anfänger-Themen 4
C ASCII Codes in Buchstaben umwandeln Java Basics - Anfänger-Themen 2
T Ascii String zu Hex Wert wandeln? Java Basics - Anfänger-Themen 6
S Ascii Datei parsen Java Basics - Anfänger-Themen 2
S Hex-String in Ascii-String umwandeln! Java Basics - Anfänger-Themen 7
J String nur mit ASCII-Zeichen Java Basics - Anfänger-Themen 4
D Ascii-Code ersetzen mit Umlauten Java Basics - Anfänger-Themen 6
L Ausgabe in arabischen Zahlen statt in ASCII Java Basics - Anfänger-Themen 9
M Ascii-Filtering von Usereingaben Java Basics - Anfänger-Themen 3
K String(ASCII) to BigInteger Java Basics - Anfänger-Themen 2
T ASCII Tabelle darstellen Java Basics - Anfänger-Themen 7
G ASCII -> Unicode ? Java Basics - Anfänger-Themen 5
G ASCII -> String Java Basics - Anfänger-Themen 2
N Eclipse und ascii codes, welchen wählen? Java Basics - Anfänger-Themen 3
T byte 2 ASCII ? Java Basics - Anfänger-Themen 2
M Strings nach ASCII Zeichen trennen. Java Basics - Anfänger-Themen 7
C Überprüfung ob Eingabe Text/ASCII Java Basics - Anfänger-Themen 24
F Warum Ausgabe in ASCII Dez. Java Basics - Anfänger-Themen 3
L Fehler bei den ASCII Zeichen Java Basics - Anfänger-Themen 9
K ASCII Schnittstelle. Java Basics - Anfänger-Themen 3
T Bestimmte Zeilen aus ASCII File löschen? Java Basics - Anfänger-Themen 2
L auf ASCII Zeichen prüfen Java Basics - Anfänger-Themen 10
O Ascii Dateien schreiben Java Basics - Anfänger-Themen 5
H Escape Sequenz ASCII Wert als Oktalzahl Java Basics - Anfänger-Themen 6
B ASCII-Datei einlesen und zerlegen Java Basics - Anfänger-Themen 5
H ascii-xml Konverter Java Basics - Anfänger-Themen 4
B Formular-Eingabe in ASCII-Datei speichern Java Basics - Anfänger-Themen 3
S Umrechner Ascii Integer Java Basics - Anfänger-Themen 2
S printable ASCII output erzeugen Java Basics - Anfänger-Themen 3
G Ascii Zeichen? Java Basics - Anfänger-Themen 2
X ASCII-Code => Zeichen / Zeichen => ASCII-Code Java Basics - Anfänger-Themen 2
G Problem bei der Darstellung von bestimmten ASCII-Zeichen Java Basics - Anfänger-Themen 4
B speichern->"neueZeileZeichen"ASCII 1310 in 13 u Java Basics - Anfänger-Themen 10
W char in ASCII-Zeichen umwandeln Java Basics - Anfänger-Themen 4
Dilandau ascii code von zeichen in string ermitteln? Java Basics - Anfänger-Themen 9
G Berechnet ASCII-Code Java Basics - Anfänger-Themen 2
Helix19 Informatik Grundkurs (Haus-)Aufgabe Java Basics - Anfänger-Themen 5
D Haus zeichnen Java Basics - Anfänger-Themen 4
D Problem beim Zeichnen von "Das Haus vom Nikolaus" Java Basics - Anfänger-Themen 10
B [Anfänger]Praktikumsaufgabe "Haus" Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben