Программисты JAVA общаются здесь
Anonymous
Как я могу оптимизировать свое искусство космической иглы ASCII?
Сообщение
Anonymous » 31 янв 2025, 04:24
Код: Выделить всё
//My code:
public class AssignedAsciiArt {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("What size space needle would you like to see? ");
int size = scanner.nextInt();
drawSpaceNeedle(size);
}
public static void drawSpaceNeedle(int size) {
drawTop(size);
drawMiddle(size);
drawBottom(size);
drawBase(size);
}
public static void drawTop(int size) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < 3 * size; j++) {
System.out.print(" ");
}
System.out.println("||");
}
}
public static void drawMiddle(int size) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < 3 * size - 3 * (i + 1); j++) {
System.out.print(" ");
}
System.out.print("__/");
for (int j = 0; j < 3 * i; j++) {
System.out.print(":");
}
System.out.print("||");
for (int j = 0; j < 3 * i; j++) {
System.out.print(":");
}
System.out.println("\\__");
}
System.out.print("|");
for (int i = 0; i < size * 6; i++) {
System.out.print("\"");
}
System.out.println("|");
}
public static void drawBottom(int size) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < 2 * i; j++) {
System.out.print(" ");
}
System.out.print("\\_/");
for (int j = 0; j < 3 * size - 2 * i - 2; j++) {
System.out.print("\\/");
}
System.out.println("\\_/");
}
}
public static void drawBase(int size) {
for (int i = 0; i < size * size; i++) {
for (int j = 0; j < 3 * size; j++) {
System.out.print(" ");
}
System.out.println("||");
}
for (int i = 0; i < 2 * size; i++) {
for (int j = 0; j < 3 * size - 3; j++) {
System.out.print(" ");
}
System.out.println("|%%||%%|");
}
for (int i = 0; i < size; i++) {
for (int j = 0; j < 3 * size - 3 * (i + 1); j++) {
System.out.print(" ");
}
System.out.print("__/");
for (int j = 0; j < 3 * i; j++) {
System.out.print(":");
}
System.out.print("||");
for (int j = 0; j < 3 * i; j++) {
System.out.print(":");
}
System.out.println("\\__");
}
System.out.print("|");
for (int i = 0; i < size * 6; i++) {
System.out.print("\"");
}
System.out.println("|");
}
}
< /code>
Вывод для размера 4: < /p>
||
||
||
||
__/||\__
__/:::||:::\__
__/::::::||::::::\__
_ /::::::::: || ::::::::: _
| "" "" " """"""""""""""""""""|
_///////////_/
_////// //// _/
_ ///////// _/
_ /////// _/
||
||
|| ||
| %% || %% |
| %% || %% |
| %% || %% |
| %% || %% |
| %% || %% |
| %% || %% |
| %% || %% |
| %% || %% |
| %% || %% |
| %% || %% |
| %% || %% |
| %% || %% | | %% || %% |
| %% || %% |
| %% || %% |
| %% || %% |
_ /|| _
_ /::: || :::::: _
_ /::::::::: || ::::::::: _
| "" "" "" "" "" "" "" "" "" "" "" "" "" "< /p>
довольно просто, я хочу узнать, как я могу это сделать более эффективно. Приветствуются любые отзывы.
Спасибо.>
Подробнее здесь:
https://stackoverflow.com/questions/794 ... needle-art
1738286641
Anonymous
[code]//My code: public class AssignedAsciiArt { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("What size space needle would you like to see? "); int size = scanner.nextInt(); drawSpaceNeedle(size); } public static void drawSpaceNeedle(int size) { drawTop(size); drawMiddle(size); drawBottom(size); drawBase(size); } public static void drawTop(int size) { for (int i = 0; i < size; i++) { for (int j = 0; j < 3 * size; j++) { System.out.print(" "); } System.out.println("||"); } } public static void drawMiddle(int size) { for (int i = 0; i < size; i++) { for (int j = 0; j < 3 * size - 3 * (i + 1); j++) { System.out.print(" "); } System.out.print("__/"); for (int j = 0; j < 3 * i; j++) { System.out.print(":"); } System.out.print("||"); for (int j = 0; j < 3 * i; j++) { System.out.print(":"); } System.out.println("\\__"); } System.out.print("|"); for (int i = 0; i < size * 6; i++) { System.out.print("\""); } System.out.println("|"); } public static void drawBottom(int size) { for (int i = 0; i < size; i++) { for (int j = 0; j < 2 * i; j++) { System.out.print(" "); } System.out.print("\\_/"); for (int j = 0; j < 3 * size - 2 * i - 2; j++) { System.out.print("\\/"); } System.out.println("\\_/"); } } public static void drawBase(int size) { for (int i = 0; i < size * size; i++) { for (int j = 0; j < 3 * size; j++) { System.out.print(" "); } System.out.println("||"); } for (int i = 0; i < 2 * size; i++) { for (int j = 0; j < 3 * size - 3; j++) { System.out.print(" "); } System.out.println("|%%||%%|"); } for (int i = 0; i < size; i++) { for (int j = 0; j < 3 * size - 3 * (i + 1); j++) { System.out.print(" "); } System.out.print("__/"); for (int j = 0; j < 3 * i; j++) { System.out.print(":"); } System.out.print("||"); for (int j = 0; j < 3 * i; j++) { System.out.print(":"); } System.out.println("\\__"); } System.out.print("|"); for (int i = 0; i < size * 6; i++) { System.out.print("\""); } System.out.println("|"); } } < /code> Вывод для размера 4: < /p> || || || || __/||\__ __/:::||:::\__ __/::::::||::::::\__ [/code] _ /::::::::: || ::::::::: _ | "" "" " """"""""""""""""""""| _///////////_/ _////// //// _/ _ ///////// _/ _ /////// _/ || || || || | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | | %% || %% | _ /|| _ _ /::: || :::::: _ _ /::::::::: || ::::::::: _ | "" "" "" "" "" "" "" "" "" "" "" "" "" "< /p> довольно просто, я хочу узнать, как я могу это сделать более эффективно. Приветствуются любые отзывы. Спасибо.> Подробнее здесь: [url]https://stackoverflow.com/questions/79401598/how-can-i-optimize-my-ascii-space-needle-art[/url]