Erste Schritte Muster ausgeben in der Konsole - großes V

Carly

Neues Mitglied
Einen schönen guten Abend,

wir haben folgende Übung in der Schule bekommen und ich komme an einem bestimmten Punkt nicht weiter. Über den Wink in die richtige Richtung würde ich mich sehr freuen, damit ich die Aufgabe dann selbständig lösen kann. Also los geht's:

Es ist ein überdimensionales V in der Konsole auszugeben, bestehend aus V's und Unterstrichen. Der Benutzer gibt einen Wert ein (positive, ungerade, ganze Zahl), der die Größe des V und die Anzahl der V's festlegt. Die Anzahl der dazwischen bzw. links und rechts liegenden Unterstrichen soll aus der Benutzereingabe berechnet werden.

[CODE title="Beispiel für Eingabe 5"]V___V
_V_V_
__V__[/CODE]

3 Zeilen, 5 Spalten, 5 Zeichen pro Reihe und insgesamt 5 V's

[CODE title="Beispiel für 7"]V_____V
_V___V_
__V_V__
___V___[/CODE]

4 Zeilen, 7 Spalten, 7 Zeichen pro Reihe und insgesamt 7 V's

Mein Code bisher:

Java:
import java.util.*;

public class GrossesV{

public static void main(String [] args){

  Scanner sc = new Scanner(System.in);
  System.out.println("Wir geben ein grosses V in der Konsole aus, bestehend aus V's und _ Unterstrichen");
  System.out.println("Geben Sie eine positive ungerade ganze Zahl ein, welche die Anzahl der V's bestimmt:");

  int eingabeZahl = sc.nextInt();
  System.out.println("Ihre Benutzereingabe ist: " + eingabeZahl);

  int i;                                                                         //Zeilen
  int j;                                                                          //Spalten

  if(eingabeZahl % 2 != 0){

  for(i = 0; i < eingabeZahl - 2; i++){                                            //Erhöhung der Anzahl an Zeilen bis Benutzereingabe - 2 erreicht ist

    for(j = 1; j <= eingabeZahl; j++){                                            //Erhöhung der Anzahl an Spalten bis Benutzereingabe erreicht ist

      if(j == 1 | j == eingabeZahl) {                                                //Fügt ein V an erste und letzte Stelle
      System.out.print("V");
    } else{
      System.out.print("_");
      }
    }
    System.out.println();                                                        
  }
} else{
  System.out.println("Geben Sie bitte eine ungerade Zahl ein!");                //Fehlermeldung bei Eingabe einer geraden Zahl.
}

 }
}

Es sieht jetzt so aus:

Code:
V___V
V___V
V___V

Damit kann ich schon die erste Zeile erzeugen, aber eben immer wieder die erste Zeile. Jede weitere Zeile soll ja anders werden. Ich habe Probleme damit, eine Regelmäßigkeit zu erkennen bzw. zu formulieren. Ich ertappe mich immer wieder dabei, dass ich die weiteren Zeilen einzeln ansprechen möchte (i==1, i==2, usw.), aber das wird mühsam, wenn jemand z.B. 33 eingibt :D Ich bin wahrscheinlich Betriebsblind, beschäftige mich schon das ganze Wochenende mit dem Thema und bräuchte mal etwas Input. Vielen Dank!
 

mihe7

Top Contributor
Ich habe Probleme damit, eine Regelmäßigkeit zu erkennen bzw. zu formulieren. Ich ertappe mich immer wieder dabei, dass ich die weiteren Zeilen einzeln ansprechen möchte (i==1, i==2, usw.), aber das wird mühsam, wenn jemand z.B. 33 eingibt :D
Zähl mal die Anzahl der Unterstriche, die vor dem ersten bzw. nach dem zweiten "V" in jeder Zeile auftauchen. Fällt Dir was auf?
 

Barista

Top Contributor
Die Höhe des auszugebenden V in Zeilen kannst Du aus der eingegebenen Zahl per Berechnung ermitteln.

Beachte dabei, dass in Java bei der Division ganzer (int) Zahlen der gebrochene Teil abgeschnitten wird, also bei positiven Zahlen abgerundet wird.

Die Anzahl der äusseren Underscores (links und rechts) steigt von 0 auf.

Die Anzahl der inneren Underscores (mitte) steigt zu 0 ab.

Ich finde übrigens, dass Java für Schüler zu viel technisches Ritual verlangt, zum Beispiel die statische main-Methode, die schwer verständlicherweise in einer Klasse stehen muss, mit welcher sie nichts zu tun hat.
 

fhoffmann

Top Contributor
Ich finde übrigens, dass Java für Schüler zu viel technisches Ritual verlangt
Da muss ich dir (teilwieise) zustimmen. Ich habe selber einmal Schulungen in Java gegeben und die erste Übung war schwer zu erklären:

Lösung der ersten Übung:
Java:
public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, world!");
  }
}

Hier muss ich erklären:
- Der Code muss in "HelloWorld.java"gespeichert werden
- Er muss kompiliert werden mit ...
- Er muss ausgeführt werden mit ...
- "public" lernen wir später
- "class" lernen wir später
- "static" lernen wir später
- "void" lernen wir später
- "main" lernen wir später
- "String" lernen wir später
- "args" lernen wir später
- "System" lernen wir später
- "..........." lernen wir später ...

Für Schüler*innen mag es bessere Programmiersprachen geben, um sich darin überheaupt einzudenken,
aber für "echte" Programmiersprachen, wird das Dilemma wohl weiter bestehen.
 
Zuletzt bearbeitet:

M.L.

Top Contributor
zu viel technisches Ritual
Zusätzlich: bei der "Konkurrenz" unter .NET 5 i.V. mit C# 9 kann man weniger Rituale abhalten um ein Programm aufzusetzen, siehe https://www.thomasclaudiushuber.com...s-or-should-i-say-hey-wheres-the-main-method/
Vorteile: weniger Code bei gleichem Ergebnis und man muss sich (spez. als Anfänger) weniger in die Materie einlesen.
Nachteile: man erfährt wenig(er) über die Hintergründe und Vor-/Nachteile diesen oder jenen (neueren) Ansatzes.
 

Barista

Top Contributor
Nachteile: man erfährt wenig(er) über die Hintergründe und Vor-/Nachteile diesen oder jenen (neueren) Ansatzes.

Ich glaube, dieser Nachteil kommt meist nicht zum Tragen.
Viele Schüler programmieren in ihrem Leben nie wieder.
Die werden nur abgeschreckt.
In die Tiefe der Materie kann man auch bei weiterer Beschäftigung später einsteigen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Muster auf der Konsole ausgeben lassen (Schleifen) Java Basics - Anfänger-Themen 7
arti28 Erste Schritte For-Schleifen und While-Schleifen, String als Muster ausgeben. Java Basics - Anfänger-Themen 3
S X Zeichnen als Muster ausgeben Java Basics - Anfänger-Themen 5
R Muster ausgeben Java Basics - Anfänger-Themen 4
H Muster ausgeben Java Basics - Anfänger-Themen 25
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
B Dekorator Muster - Irgendwas stimmt hier doch nicht? Java Basics - Anfänger-Themen 4
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
1 Wie dieses Muster am einfachsten erkennen? Java Basics - Anfänger-Themen 32
H Muster mit verschachtelten Schleifen kreieren. Java Basics - Anfänger-Themen 2
Yasemin bahar Muster erkennen Java Basics - Anfänger-Themen 13
U Muster in einem Array erkennen Java Basics - Anfänger-Themen 8
F Quadrat Mit Muster Java Basics - Anfänger-Themen 15
J Muster und Schleifen Java Basics - Anfänger-Themen 33
R 2D Arrays mit vorgegebenem Muster Java Basics - Anfänger-Themen 2
E Arrays nach best Muster füllen Java Basics - Anfänger-Themen 4
K String nach bestimmtem Muster parsen Java Basics - Anfänger-Themen 3
P Sägezahn Muster Programm Java Basics - Anfänger-Themen 2
C Array Muster erzeugen Java Basics - Anfänger-Themen 2
J Erste Schritte zweidimensionales Array Muster befüllen. Java Basics - Anfänger-Themen 4
J Strukturierung mit MVC Muster Java Basics - Anfänger-Themen 20
J Array Muster mit true und false Java Basics - Anfänger-Themen 6
C Muster programmieren Java Basics - Anfänger-Themen 4
C Muster programmieren Java Basics - Anfänger-Themen 4
L Java Muster Java Basics - Anfänger-Themen 1
Todesbote String auf Muster überprüfen Java Basics - Anfänger-Themen 19
C Array Zickzack Muster Java Basics - Anfänger-Themen 3
P RegEx Muster mehrfach treffen Java Basics - Anfänger-Themen 2
M Muster erkennen. Idee: Fassade. Java Basics - Anfänger-Themen 3
Dit_ Regex | Muster {a}{b}{c} Java Basics - Anfänger-Themen 7
pindakaas Compiler geht nicht (Dekorator Muster) Java Basics - Anfänger-Themen 18
M Datentypen Strings nach Muster auslesen und verarbeiten Java Basics - Anfänger-Themen 5
G String auf Muster prüfen Java Basics - Anfänger-Themen 5
O useDelimiter / Muster im Parameter (Pattern) Java Basics - Anfänger-Themen 6
S OOP Warum gleiche Instanz der Klasse? (Factory-Muster) Java Basics - Anfänger-Themen 13
L Sägezahn Muster Java Basics - Anfänger-Themen 4
C Muster mit Zweidimensionalen Arrays Java Basics - Anfänger-Themen 18
0 Applet mit folgendem Muster erstellen Java Basics - Anfänger-Themen 12
P Fragen zum Observer Muster und Datenbanken Java Basics - Anfänger-Themen 2
Z Muster Java Basics - Anfänger-Themen 9
J nach Muster in String suchen Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
Glühlampe Usereingabe in der gleichen Zeile ausgeben Java Basics - Anfänger-Themen 6
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
H Minimum und Maximum ausgeben lassen Java Basics - Anfänger-Themen 7
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
S Vollmond berechnen und ausgeben Java Basics - Anfänger-Themen 12
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
K wie kann ich alle Attribute von dem Objekt(pagode) ausgeben lassen ? Java Basics - Anfänger-Themen 3
I Wortkette in umgekehrter Rheinfolge + in neuer Zeile ausgeben Java Basics - Anfänger-Themen 4
jeff98 Wie kann man in Java eine Zeichenformation ausgeben? Java Basics - Anfänger-Themen 9
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
Tommilee Char ausgeben Java Basics - Anfänger-Themen 5
K Geldbetrag in Euro + Cents ausgeben Java Basics - Anfänger-Themen 24
M geschachtelte for-Schleifen - Einmaleins ausgeben Java Basics - Anfänger-Themen 3
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
julian0507 Wörter einlesen lassen und rückwärts ausgeben Java Basics - Anfänger-Themen 7
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
JavaBeginner22 Wort mit der größten Länge ausgeben Java Basics - Anfänger-Themen 4
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
D Grafik auf ein JPane ausgeben. Java Basics - Anfänger-Themen 6
berserkerdq2 Methodenaufrufstapel ausgeben, was ist das? Java Basics - Anfänger-Themen 2
rosima26 Geordnete Arrays ausgeben Java Basics - Anfänger-Themen 31
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
C Zwei Arrays addieren und ausgeben Java Basics - Anfänger-Themen 3
LFB In einer For-Schleife alles in einer Zeile ausgeben Java Basics - Anfänger-Themen 14
Robin Gentele XML von Webserver lesen und ausgeben Java Basics - Anfänger-Themen 5
W Array ausgeben Java Basics - Anfänger-Themen 29
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
S Schachbrettmuster ausgeben Java Basics - Anfänger-Themen 3
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
M Array rückwärts ausgeben Java Basics - Anfänger-Themen 2
HelpInneed Baum ausgeben (aber mal anders) Java Basics - Anfänger-Themen 3
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
xFlozen Text mehrspaltig ausgeben Java Basics - Anfänger-Themen 3
Kotelettklopfer Stringbuilder mit print ausgeben Java Basics - Anfänger-Themen 83
L Methoden Rückgabewert Verbergen / nicht mit ausgeben Java Basics - Anfänger-Themen 4
S Array über ein Ausgabemethode in main ausgeben Java Basics - Anfänger-Themen 31
S Primzahlen in Array ausgeben Java Basics - Anfänger-Themen 14
O Anzahl Datensätze ausgeben Java Basics - Anfänger-Themen 5
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
C Matrix mit Array ausgeben Java Basics - Anfänger-Themen 6
Poppigescorn Mithilfe einer Arrayliste einen Notenspiegel ausgeben Java Basics - Anfänger-Themen 12
C Methode Grouping mit Werten ausgeben Java Basics - Anfänger-Themen 2
A Array einlesen und ausgeben Java Basics - Anfänger-Themen 13
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben