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.
・ Ceux qui étudient la programmation ・ Ceux qui sont récemment devenus ingénieurs ・ Ceux qui veulent étudier Java
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");
}
}
}
-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)
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");
}
}
}
・ 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).
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");
}
}
}
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).
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");
}
}
}
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.
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");
}
}
}
}
}
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 ① à ④.
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