gpt4 book ai didi

java - 在输出之前打印一个新行?

转载 作者:行者123 更新时间:2023-12-02 03:24:57 26 4
gpt4 key购买 nike

我正在解决竞争网站中的问题,但我的输出与测试用例输出不匹配,因为在我的输出之前打印了一个新行。我无法检测到我的代码的哪一部分正在打印它。有人请帮忙吗?

Problem

我的解决方案:

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
for(int i=n;i>=0;i--){
int count=0;
while(count<i){
System.out.print(" ");
count++;
}
while(count!=n){
System.out.print("#");
count++;
}
System.out.println();
}
}

测试用例o/p:

     #
##
###
####
#####
######

我的O/p:

  <NEWLINE> 
#
##
###
####
#####
######

最佳答案

在第一个 for 迭代中,您仅打印空格,然后打印新行。

int n = in.nextInt();  
for(int i = n; i >= 0; i--) {
int count=0;
// At the first for iteration print exactly n spaces
while(count < i){
System.out.print(" ");
count++;
}
// Here count equals i that equals n in the first for iteration
// SO doesn't enter in the while
while(count!=n){
System.out.print("#");
count++;
}
// And prints the new line
System.out.println();
}

如果将 SPACE 替换为 .输出应该是:

......
.....#
....##
...###
..####
.#####
######

要解决您的问题只需从 n - 1 开始 for 循环

请注意,事实上您永远不需要打印仅包含空格的行。

关于java - 在输出之前打印一个新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39079343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com