[Bases de Java] Créons un triangle avec une instruction for

C'est un problème que mon supérieur de l'entreprise m'a donné en tant que nouveau venu pour créer divers triangles en utilisant l'instruction for en Java. C'est Java, mais vous pouvez le créer avec une simple instruction for, alors essayez également d'autres langages.

La forme à gérer est celle illustrée ci-dessous.

triangles.PNG

Public cible

・ Ceux qui étudient la programmation ・ Ceux qui sont récemment devenus ingénieurs ・ Ceux qui veulent étudier Java

Problème ① Triangle régulier ▲

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");
       }
    }
}

Résultat de sortie

image.png

Commentaire

-Définir la hauteur du triangle dans le premier pour l'instruction (i) (cette fois, la variable max = 5 est définie à l'avance). -Définissez un blanc ("") dans le second pour l'instruction (j). Puisqu'il s'agit d'un triangle, les blancs sont d'abord le maximum, et les blancs sont progressivement réduits en proportion inverse du nombre de *. L'expression conditionnelle est j <max-i;. -Output * avec la troisième instruction for (k). ・ Enfin, chaque fois qu'une boucle se termine, println commencera une nouvelle ligne. (Si vous ne coupez pas la ligne, elle sera sortie horizontalement tout le temps)

Problème ② Triangle inversé ▼

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");
        }
    }
}

Résultat de sortie

image.png

Commentaire

・ Définissez la hauteur du triangle dans le premier pour l'instruction (i) -Définissez un blanc ("") dans le second pour l'instruction (j). Contrairement à ①, cette fois je vais simplement l'augmenter de 1. -Output * avec la troisième instruction for (k).

Problème ③ Triangle à angle droit 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");
        }
    }
}

Résultat de sortie

image.png

Commentaire

C'est probablement le plus simple.

・ Définissez la hauteur du triangle dans le premier pour l'instruction (i) -Output * afin qu'il augmente de un dans la seconde pour l'instruction (j).

Problème ④ Triangle à angle droit ver.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");
        }
    }
}

Résultat de sortie

image.png

Commentaire

Je pense que c'est facile si vous pouvez créer un triangle inversé.

・ Définissez la hauteur du triangle dans le premier pour l'instruction (i) -Définissez un blanc ("") dans le second pour l'instruction (j). Dans un premier temps, le blanc est le maximum, et le nombre de blancs est progressivement réduit en proportion inverse du nombre de *. L'expression conditionnelle est j <max-i;. -Output * avec la troisième instruction for (k). Puisqu'il est incrémenté un par un, k <= i.

Problème ⑤ 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");
                }
            }
        }
    }
}

Résultat de sortie

image.png

Commentaire

J'ai pensé à résoudre ce problème pendant un moment. Par conséquent, en utilisant l'instruction if, les triangles réguliers et inversés J'ai utilisé la main de sortie, mais je pense qu'il y a probablement un meilleur moyen ...

Tout d'abord, sortez de 1 à 7 * dans la méthode d'un triangle régulier, et représentez 9 à 1 * dans un triangle inversé. Définissons if (i == 4) et basculons entre ▲ et ▼ lorsque la boucle i tourne 4 fois.

Le reste peut être résolu en réutilisant les codes ① à ④.

Résumé

J'ai résumé comment produire diverses formes à l'aide de l'instruction for. Car les déclarations sont fréquentes dans la pratique, et ce sera une pratique de réfléchir à la structure du code, alors essayez-le (^^) /

Recommended Posts

[Bases de Java] Créons un triangle avec une instruction for
Faisons une carte de Noël avec Processing!
[Java] Créons une bibliothèque d'accès à la base de données!
Java pour instruction
Comment faire un diamant révolutionnaire en utilisant Java pour déclaration wwww
[Java] Créons un Minecraft Mod 1.14.4 [Introduction]
[Java] Créons un Minecraft Mod 1.16.1 [Introduction]
Faisons une fonction de recherche avec Rails (ransack)
[Java] Créons un Minecraft Mod 1.14.4 [99. Mod output]
[Java] pour instruction, while instruction
java construire un triangle
(Mémo) Java pour instruction
Raclons avec Java! !!
Faisons une application de calculatrice avec Java ~ Créez une zone d'affichage dans la fenêtre
[Java] Créons un Minecraft Mod 1.14.4 [0. Fichier de base]
[Java] Créons un Minecraft Mod 1.14.4 [4. Ajouter des outils]
[Java] Créons un Minecraft Mod 1.14.4 [5. Ajouter une armure]
[Java] Créons un Minecraft Mod 1.14.4 [édition supplémentaire]
[Java] Créons un Minecraft Mod 1.14.4 [7. Add progress]
[Java] Créons un Minecraft Mod 1.14.4 [6. Ajouter une recette]
Faisons un Bot LINE avec Ruby + Sinatra - Partie 2
[Java] Créons un Minecraft Mod 1.16.1 [Ajouter un élément]
[Java] Créons un Minecraft Mod 1.16.1 [Fichier de base]
[Java] Créons un Minecraft Mod 1.14.4 [1. Ajouter un élément]
Faisons un robot! "Une simple démo de Java AWT Robot"
Faisons un Bot LINE avec Ruby + Sinatra - Partie 1
[Java] Créons un Minecraft Mod 1.14.4 [2. Ajouter un bloc]
[Java] Créons un Minecraft Mod 1.16.1 [Ajouter un bloc]
Vous n'avez pas besoin d'écrire deux fois lorsque vous créez un triangle rectangle en Java
Expérimentons l'expansion en ligne Java
[Java] Instruction de base pour les débutants
Exploitons Excel avec Java! !!
Instruction pratique de base de la programmation Java
[Java] Rendez-le constant
Instruction de base de la programmation Java Practice-Switch
Premiers pas avec les bases de Java
Faire un diamant en utilisant Java
Stocker dans une carte Java 2D et tourner avec pour instruction
Déploiement d'un environnement Java avec le sous-système Windows pour Linux (WSL)
[Java] Rendre les variables de l'instruction for étendue et de chaque instruction immuables
[Java] Créons un Minecraft Mod 1.14.4 [3. Ajouter un onglet de création]
Faisons une application de calcul avec Java ~ Afficher la fenêtre de l'application
[Débutant] Essayez de créer un jeu RPG simple avec Java ①
Je veux faire une liste avec kotlin et java!
Je veux créer une fonction avec kotlin et java!
Faisons une API simple avec EC2 + RDS + Spring boot ①
[Java] Remplaçons les objets de données par un mappeur ~ BeanMapper Orika ~
Créons une application Web de gestion de livres avec Spring Boot part1
Créez un labyrinthe de fouilles avec Ruby2D
Construire un projet Java avec Gradle
Créer un outil de diaporama avec JavaFX
Comment créer un conteneur Java
Créons une application Web de gestion de livres avec Spring Boot part3
Créons une application Web de gestion de livres avec Spring Boot part2
Activez OpenCV avec java8. (Pour moi-même)
Faire un rappel de garbage avec line-bot-sdk-java
Créer une carte de liste avec LazyMap
[Java] Créons un Minecraft Mod 1.16.1 [Ajouter et générer des arbres]
[Java] Créons un Minecraft Mod 1.14.4 [9. Ajouter et générer des arbres]