0
Мне нужно помочь выяснить, как изменить путь мой код печатает, я понимаю, что он собирается сделать что-то дело сИзменение способа мой код печатает
п, п-1, п-2, ... и т.д. для интервала, но как я могу сделать это так, что я получаю эту
1
2 1
3 2 1
... 3 2 1
вместо этого
1
1 2
1 2 3
1 2 3...
.
//A program that displays the pattern of a number entered in increasing order
import java.util.Scanner;
public class DisplayPattern
{
public static void main(String ar[])
{
//Initialize Scanner
Scanner input = new Scanner(System.in);
//Get user input/ start loop
while (true)
{
//Receive user input
System.out.println("Enter a positive integer to display pattern: ");
int x = input.nextInt();
//Show user output
displayPattern(x);
//Continuation of loop
System.out.println("Do you want to continue (Y/N)?");
String s = input.nextLine();
s = input.nextLine();
s = s.toLowerCase();
if (s.charAt(0) == 'n')
break;
}
}
public static void displayPattern(int n)
{
//Create pyramid of numbers with increasing order
for(int i=1;i<=n;i++)
{
for(int j=i;j>0;j--)
{
System.out.print(" "+j);
}
System.out.print("\n");
}
}
}
Ответ просто, чтобы выяснить, сколько пространства вы хотите отобразить на каждой строке, а затем написать код, чтобы сделать это. Количество пробелов должно следовать по простому шаблону, чтобы вы могли найти простую алгебраическую формулу, которая зависит от 'i' и' n'. – ajb
В качестве альтернативы вы можете создать свою строку сначала с чем-то вроде 's = s +" "+ j'. Затем, когда вся строка построена, посмотрите на 's.length()' и вычтите длину из чего-то, чтобы выяснить, сколько пробелов для печати перед печатью 's'. – ajb