Witam ma ktoś pomysł na rozwiązanie takiego zadania:
Za pomocą pętli while i znaków /, , _ narysować trójkąt wyglądający tak:
/
/
/ \
Próbuję zrobić i chciałbym się dowiedzieć jak to wy widzicie liczę na wasze pomysły. Pozdrawiam
Witam ma ktoś pomysł na rozwiązanie takiego zadania:
Za pomocą pętli while i znaków /, , _ narysować trójkąt wyglądający tak:
/
/
/ \
Próbuję zrobić i chciałbym się dowiedzieć jak to wy widzicie liczę na wasze pomysły. Pozdrawiam
Na szybko coś takiego zrobiłem :P
import java.util.InputMismatchException;
import java.util.Scanner;
class TreeGenerator {
int prepareInput() {
int treeSize;
try {
System.out.println("Tree size: ");
Scanner in = new Scanner(System.in);
treeSize = in.nextInt();
if (treeSize < 1) {
throw new IllegalStateException("Wrong tree size!!");
}
return treeSize;
} catch (InputMismatchException | IllegalStateException ex) {
System.out.println("Wrong input. Tree size must be more than 0");
return prepareInput();
}
}
void generateTree(int treeSize) {
StringBuilder spaceBetweenCharacters = new StringBuilder();
for (int i =0;i < treeSize; i++) {
System.out.println(doSpaceBeforeFirstCharacter(treeSize - i) + "/" + spaceBetweenCharacters + "\\");
spaceBetweenCharacters.append(" ");
}
}
private String doSpaceBeforeFirstCharacter(int spaceSize) {
StringBuilder spaceBeforeFirstCharacter= new StringBuilder();
for (int i =0;i < spaceSize; i++) {
spaceBeforeFirstCharacter.append(" ");
}
return spaceBeforeFirstCharacter.toString();
}
}
public class Main {
public static void main(String[] args) {
TreeGenerator treeGenerator = new TreeGenerator();
treeGenerator.generateTree(treeGenerator.prepareInput());
}
}