Например, легко напечатать 2D-квадрат, но я хочу напечатать 3D-куб. То же самое и с прямоугольными призмами. Я могу печатать прямоугольники, но не могу печатать прямоугольные призмы.
Я знаю, что напечатать 3D-объекты на 2D-терминале не совсем возможно, но, по крайней мере, они могут выглядеть как 3D, просто добавив немного другие формы в 2D-форму.
Я не смог найти никаких решений или идей о том, как напечатать эти вещи. Похоже, что эту проблему можно решить с помощью некоторых базовых циклов for, но что бы я ни пробовал, это не сработало.
Моя идея здесь:
Печать квадрата на экране, а затем помещать два разных параллелограмма сбоку и сверху, чтобы он выглядел как трехмерный куб.
Та же идея применима и для прямоугольных призм. Сначала напечатайте прямоугольник, затем напечатайте два разных параллелограмма сбоку и сверху, чтобы он выглядел как трехмерный.
Сначала я попробовал прямоугольную призму. Я не могу напечатать еще один параллелограмм на стороне, который имеет ту же длину, что и верхний параллелограмм, и ту же высоту, что и прямоугольник.
Если я смогу научиться печатать этот, Я попробую напечатать другие 3D-фигуры, которые придут мне в голову.
Я смог дойти только до этого момента и не могу идти дальше. То, что я пробовал, находится здесь:
Код: Выделить всё
import java.util.Scanner;
public class Empty {
public static void rectangle() {
int a = 5;
int b = 8;
for (int i = 0; i < a; i++) {
if (i == 0) continue;
for (int j = 0; j < b; j++) {
if (j == 0 || j == (b - 1) || i == (a - 1)) {
System.out.print(" * ");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
public static void parallelogram() {
int i, j, k;
int height = 5;
int width = 8;
for (i = 0; i < height; i++) {
for (j = 0; j < height - i - 1; j++) {
System.out.print(" ");
}
for (k = 0; k < width; k++) {
if (i == 0 || i == height - 1 || k == 0 || k == width - 1) {
System.out.print(" * ");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
public static void main(String[] args) {
parallelogram();
rectangle();
}
}
Это просто добавление еще одного параллелограмма. Вот результат:
Код: Выделить всё
* * * * * * * *
* *
* *
* *
* * * * * * * *
* *
* *
* *
* * * * * * * *

Подробнее здесь: https://stackoverflow.com/questions/792 ... to-console
Мобильная версия