这是我在Java中的主要方法
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//n is the number of height
int n = in.nextInt();
int j = 0;
int k = 0;
for (int i = 0; i < n; i++)
{
//print out spaces
while(j < n - i)
{
System.out.print(" ");
j++;
}
while(k < (n - j + 1))
{
System.out.print("#");
k++;
}
System.out.println();
j = 0;
k = 0;
}
}
答案 0 :(得分:0)
您也在为最后一行打印空间。 您可以用其他可见字符替换空格并检查输出。 这是公认的解决方案。
的
的import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(j>=n-i+1)
System.out.print("#");
else System.out.print(" ");
}
System.out.println();
}
}
}
的
答案 1 :(得分:0)
您可以尝试使用此代码。它收集整个字符串并在最后打印它。
static void Main(string[] args)
{
int _n;
_n = Convert.ToInt32(Console.ReadLine());
StairCase(_n);
}
static void StairCase(int n)
{
string s = "";
if (n > 0 && n < 101)
{
for (int i = 0; i < n; i++)
{
s = StairCase(s, i + 1);
if (i + 1 < n)
{
s += string.Format("\n");
}
}
}
Console.WriteLine(s);
Console.ReadLine();
}
private static string StairCase(string s, int n)
{
int c = n;
while (c > 0)
{
s += string.Format("#");
c = c - 1;
}
return s;
}