[Java-Grundlagen] Lassen Sie uns ein Dreieck mit einer for-Anweisung erstellen

Dies ist ein Problem, das mir mein Senior in der Firma als Neuling gegeben hat, um mit der for-Anweisung in Java verschiedene Dreiecke zu erstellen. Dies ist Java, aber Sie können es mit einer einfachen for-Anweisung erstellen. Probieren Sie daher auch andere Sprachen aus.

Die zu behandelnde Form entspricht der Abbildung unten.

triangles.PNG

Zielgruppe

・ Diejenigen, die Programmieren studieren ・ Diejenigen, die kürzlich Ingenieure geworden sind ・ Diejenigen, die Java lernen möchten

Problem ① Regelmäßiges Dreieck ▲

public class Main {
    public static void main(String[] args) {
        int max = 5;
        String star = "*";

        for (int i = 0; i < max; i++) {
            for(int j = 0; j < max-i; j++) {
                System.out.print(" ");
            }
            for(int k = 0; k <= (i*2); k++) {
                System.out.print(star);
            }
            System.out.println("\n");
       }
    }
}

Ausgabeergebnis

image.png

Kommentar

-Definieren Sie die Höhe des Dreiecks in der ersten for-Anweisung (i) (diesmal wird die Variable max = 5 im Voraus festgelegt). -Definieren Sie ein Leerzeichen ("") in der zweiten für Anweisung (j). Da es sich um ein Dreieck handelt, sind die Leerzeichen zunächst das Maximum, und die Leerzeichen werden allmählich umgekehrt proportional zur Anzahl von * reduziert. Der bedingte Ausdruck ist j <max-i; -Ausgabe * mit der dritten for-Anweisung (k). ・ Schließlich beginnt println jedes Mal, wenn eine Schleife endet, eine neue Zeile. (Wenn Sie die Linie nicht unterbrechen, wird sie horizontal ausgegeben.)

Problem ② Umgekehrtes Dreieck ▼

public class Main {
    public static void main(String[] args) {
        int max = 5;
        String star = "*";
    
        for (int i = 0; i < max; i++) {
            for(int j = 0; j < i; j++) {
                System.out.print(" ");
            }
            for(int k = 0; k <= max*2-(i*2)-2; k++){
                System.out.print(star);
            }
            System.out.println("\n");
        }
    }
}

Ausgabeergebnis

image.png

Kommentar

・ Definieren Sie die Höhe des Dreiecks in der ersten for-Anweisung (i). -Definieren Sie ein Leerzeichen ("") in der zweiten für Anweisung (j). Im Gegensatz zu ① werde ich es diesmal einfach um 1 erhöhen. -Ausgabe * mit der dritten for-Anweisung (k).

Problem ③ rechtwinkliges Dreieck ver.1 ◣

public class Main {
    public static void main(String[] args) {
     int max = 5;
        String star = "*";

        for (int i = 0; i < max; i++) {
            for (int j = 0; j <= i; j++) {
                System.out.print(star);
            }
            System.out.println("\n");
        }
    }
}

Ausgabeergebnis

image.png

Kommentar

Dies ist wahrscheinlich die einfachste.

・ Definieren Sie die Höhe des Dreiecks in der ersten for-Anweisung (i). -Ausgabe *, so dass sie für Anweisung (j) in der Sekunde um eins erhöht wird.

Problem ④ rechtwinkliges Dreieck Version 2 ◢

public class Main {
    public static void main(String[] args) {
        int max = 5;
        String star = "*";

        for (int i = 0; i < max; i++) {
            for (int j = 0; j < max-i; j++) {
                System.out.print(" ");
            }
            for (int k = 0; k <= i; k++){
                System.out.print(star);
            }
            System.out.println("\n");
        }
    }
}

Ausgabeergebnis

image.png

Kommentar

Ich denke, das ist einfach, wenn man ein umgekehrtes Dreieck machen kann.

・ Definieren Sie die Höhe des Dreiecks in der ersten for-Anweisung (i). -Definieren Sie ein Leerzeichen ("") in der zweiten für Anweisung (j). Zunächst ist der Rohling das Maximum, und die Anzahl der Rohlinge wird umgekehrt proportional zur Anzahl der * allmählich verringert. Der bedingte Ausdruck ist j <max-i; -Ausgabe * mit der dritten for-Anweisung (k). Da es eins nach dem anderen erhöht wird, ist k <= i.

Problem ⑤ Diamant ◇

public class Main {
    public static void main(String[] args) {
        int max = 5;
        String star = "*";
    
        for (int i = 0; i < max; i++) {
            for (int j = 0; j < max-i; j++) {
                System.out.print(" ");
            }
            for (int k = 0; k <= ((i-1)*2); k++) {
                System.out.print(star);
            }
            System.out.println("\n");
            if (i == 4){
                for (int a = 0; a < max; a++) {
                    for(int b = 0; b < a; b++) {
                        System.out.print(" ");
                    }
                    for(int c = 0; c <= max*2-(a*2)-2; c++){
                        System.out.print(star);
                    }
                    System.out.println("\n");
                }
            }
        }
    }
}

Ausgabeergebnis

image.png

Kommentar

Ich dachte eine Weile darüber nach, dies zu lösen. Infolgedessen werden mit der if-Anweisung sowohl reguläre als auch invertierte Dreiecke verwendet Ich habe die Hand der Ausgabe benutzt, aber ich denke, es gibt wahrscheinlich einen besseren Weg ...

Geben Sie zunächst 1 bis 7 * nach der Methode eines regulären Dreiecks aus und stellen Sie es durch ein umgekehrtes Dreieck von 9 bis 1 * dar. Stellen wir if (i == 4) ein und wechseln Sie zwischen ▲ und ▼, wenn sich die i-Schleife viermal dreht.

Der Rest kann gelöst werden, indem die Codes ① bis ④ wiederverwendet werden.

Zusammenfassung

Ich habe zusammengefasst, wie verschiedene Formen mit der for-Anweisung ausgegeben werden. Die for-Anweisung ist in der Praxis häufig und es wird üblich sein, über die Struktur des Codes nachzudenken. Versuchen Sie es also bitte (^^) /

Recommended Posts

[Java-Grundlagen] Lassen Sie uns ein Dreieck mit einer for-Anweisung erstellen
Machen wir eine Weihnachtskarte mit Verarbeitung!
[Java] Erstellen wir eine DB-Zugriffsbibliothek!
Java für Anweisung
Wie man einen revolutionären Diamanten mit Java für Aussage macht wwww
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Einführung]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Einführung]
Lassen Sie uns eine Suchfunktion mit Rails (Ransack) machen
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [99. Mod-Ausgabe]
[Java] für Anweisung, während Anweisung
Java baut ein Dreieck
(Memo) Java für Anweisung
Lass uns mit Java kratzen! !!
Erstellen wir eine Taschenrechner-App mit Java ~ Erstellen Sie einen Anzeigebereich im Fenster
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [0. Basisdatei]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [4. Tools hinzufügen]
[Java] Lass uns einen Minecraft Mod 1.14.4 erstellen [5. Rüstung hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Extra Edition]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [7. Fortschritt hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [6. Rezept hinzufügen]
Machen wir einen LINE Bot mit Ruby + Sinatra - Teil 2
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Element hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Basisdatei]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [1. Element hinzufügen]
Lass uns einen Roboter bauen! "Eine einfache Demo von Java AWT Robot"
Machen wir einen LINE Bot mit Ruby + Sinatra - Teil 1
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [2. Fügen Sie einen Block hinzu]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Block hinzufügen]
Sie müssen nicht zweimal schreiben, wenn Sie in Java ein rechtwinkliges Dreieck erstellen
Experimentieren wir mit der Java-Inline-Erweiterung
[Java] Grundlegende Aussage für Anfänger
Lassen Sie uns Excel mit Java betreiben! !!
Grundlagen der Java-Programmierung Practice-for-Anweisung
[Java] Mach es konstant
Grundlagen der Java-Programmierung Practice-Switch-Anweisung
Erste Schritte mit Java Basics
Machen Sie einen Diamanten mit Java
In Java 2D-Karte speichern und mit for-Anweisung drehen
Bereitstellen einer Java-Umgebung mit Windows Subsystem für Linux (WSL)
[Java] Machen Sie die Variablen der erweiterten for-Anweisung und für jede Anweisung unveränderlich
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [3. Registerkarte "Creative hinzufügen"]
Erstellen wir eine Taschenrechner-App mit Java ~ Zeigen Sie das Anwendungsfenster an
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Erstellen wir eine einfache API mit EC2 + RDS + Spring Boot ①
[Java] Ersetzen wir Datenobjekte durch einen Mapper ~ BeanMapper Orika ~
Erstellen wir eine Buchverwaltungs-Webanwendung mit Spring Boot part1
Machen Sie mit Ruby2D ein Labyrinth
Erstellen eines Java-Projekts mit Gradle
Erstellen Sie mit JavaFX ein Diashow-Tool
So erstellen Sie einen Java-Container
Lassen Sie uns mit Spring Boot part3 eine Webanwendung für die Buchverwaltung erstellen
Lassen Sie uns mit Spring Boot part2 eine Webanwendung für die Buchverwaltung erstellen
Aktivieren Sie OpenCV mit Java8. (Für mich)
Machen Sie eine Müllabfuhr mit line-bot-sdk-java
Erstellen Sie eine Listenkarte mit LazyMap
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Bäume hinzufügen und generieren]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [9. Bäume hinzufügen und generieren]