通过接受用户输入打印万字符的Java程序
以奇数 (>=5) 作为输入 N。对于 N = 7,打印下面给出的图案。这里的输入格式是 N 的值,输出结果在万字符图案打印中。
插图:
Input Format: Enter value of N ( >=5 )
Constraints: 5 <= N <= 99
Output Format: Print the required pattern.
* * * * *
* *
* *
* * * * * * *
* *
* *
* * * * *
让我们想出一个出路,以便在编写任何代码之前列出逻辑以找出所需的模式,以生成所需的模式。
程序:
- 首先,从用户那里获取输入(N)。
- 将行和列初始化为 1 以使语句循环。
- 在第一行,我们肯定知道我们必须打印一个 * 然后给一些空格直到 N/2,然后再次打印星星直到 N。
- 在第二到 N/2 行中,首先,我们需要打印一个 * 然后空格直到 N/2(它,我们不需要在这里提供空格)
- 在第 (N/2)+1 行,只打印 * 直到 N。
- 再次在 (N/2) +2th 行到 N -1,我们需要先打印空格直到 N/2,然后打印一个 * 和直到 N-1 的空格,最后在最后打印一个 *
- 在最后一行,我们需要打印 * 直到 (N/2) + 1,然后现在打印空格直到 N-1,最后以 * 结尾。
- 最后不要忘记添加System.out.println()在每行工作后添加一个空行
现在让我们通过编写核心来实现 some。
例子
Java
// Java program to Illustrate Swastika Sign Pattern Printing
// Main class
// SwastikaSign
class GFG {
// Main driver method
public static void main(String args[])
{
// Creating an object of Scanner clas to read input
// from user
Scanner sc = new Scanner(System.in);
// Reading number N from user
int N = sc.nextInt();
// Custom setting the rows to be 10 to
// understand the output
// Initializing rows to unity initially
int rows = 1;
// This condition holds true
// Till rows are lesser than input number from user
while (rows <= N) {
if (rows == 1) {
// Start work
System.out.print("*");
// Space work
for (int csp = 1; csp < N / 2; csp++)
System.out.print(" ");
// Star work
for (int cst = (N / 2) + 1; cst <= N; cst++)
System.out.print("*");
System.out.println();
}
else if (rows <= N / 2 && rows > 1) {
// Star work
System.out.print("*");
// Space work
for (int csp = 1; csp < N / 2; csp++)
System.out.print(" ");
System.out.print("*");
System.out.println();
}
else if (rows == (N / 2) + 1) {
for (int cstt = 1; cstt <= N; cstt++)
System.out.print("*");
System.out.println();
}
else if (rows <= N - 1 && rows > (N / 2) + 1) {
// Space work
for (int csp = 1; csp <= N / 2; csp++)
System.out.print(" ");
// Star work
System.out.print("*");
// Space work
for (int cspp = 1 + (N / 2); cspp < N - 1;
cspp++)
System.out.print(" ");
// Star work
System.out.print("*");
System.out.println();
}
else {
for (int csttt = 1; csttt <= (N / 2) + 1;
csttt++)
System.out.print("*");
for (int csppp = (N / 2) + 2;
csppp <= N - 1; csppp++)
System.out.print(" ");
System.out.print("*");
}
rows++;
}
}
}
输出:
Note: One can also use BufferedReader class if you want to take input from user to enter the number of rows here.