#java
Вопрос:
Программа на Java, которая отображает шаблон в соответствии с вводом пользователя.
Это моя желаемая программа:
Ввод:
3
3
1
2
Выход:
###
/
/_
Проблема в том, что он не показывает желаемый результат.Когда я ввел ввод, это то, что отображается:
Ввод:
3
3
2
1
Выход:
###
/
/_
Вы можете помочь мне это исправить? Проблема в num3. Это мой код:
import java.util.Scanner;
class Main{
public static void main(String args[]) {
Scanner input= new Scanner(System.in);
int i;
int num1=input.nextInt();
int num2= input.nextInt();
int num3=input.nextInt();
int num4=input.nextInt();
//num1
for(i=0; i<num1; i ) {
System.out.print("# ");
}
//num2
for(int b=1; b<=num2; b ){
System.out.println();
for (int j=1; j<=num2; j ){
if(b==j || j==b){
System.out.print(" ".repeat(num1*2 -1) "\");
} else {
System.out.print(" ");
}
}
}
// num3
for(i = 0; i < num3; i ){
System.out.println();
for(int j = 0; j < num3; j ) {
if(i j == num3 -1)
System.out.print(" ".repeat(num1*2 - 2) "/");
else if( i != num3-1)
System.out.print(" ");
}
}
//num4
for(i=0; i<num4; i ) {
System.out.print("_");
}
}
}
Ответ №1:
Я считаю, что этот код решает вашу проблему.
Кроме того, в вопросе есть ошибка. Первый ввод должен быть 3,3,2,1, а не 3,3,1,2. Это немного вводит в заблуждение.
import java.util.Scanner;
class Main{
public static void main(String args[]) {
Scanner input= new Scanner(System.in);
int i;
int num1=input.nextInt();
int num2= input.nextInt();
int num3=input.nextInt();
int num4=input.nextInt();
//num1
for(i=0; i<num1; i ) {
System.out.print("# ");
}
//num2
for(int b=1; b<=num2; b ){
System.out.println();
for (int j=1; j<=num2; j ){
if(b==j || j==b){
System.out.print(" ".repeat(num1*2 -1) "\");
} else {
System.out.print(" ");
}
}
}
// num3
for(i = 0; i < num3; i ){
System.out.println();
for(int j = 0; j < num3; j ) {
if(i j == num3 -1)
System.out.print(" ".repeat(num1*2) "/");
//Changed from repeat(num1*2-2)
else if( i != num3-1)
System.out.print(" ");
}
}
//num4
for(i=0; i<num4; i ) {
System.out.print("_");
}
}
}