gpt4 book ai didi

Java Staircase 打印方向错误 (hackerrank)

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:41:19 24 4
gpt4 key购买 nike

这个楼梯解决方案打印出正确的输出,但方向相反。知道如何更改此解决方案以获得所需的结果吗?

import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;

public class Solution {

// Complete the staircase function below.
static void staircase(int n) {
int counter=0;
for(int i=0; i<n;i++)
{
//for (int k=0; k<n-k-1;k++)
// {
// System.out.println("");
// }
System.out.print("\n");
System.out.print("#");
counter++;

for(int j=0; j<counter-1;j++)
{

System.out.print("#");
}
}
}

private static final Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
int n = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

staircase(n);

scanner.close();
}
}

输入:

6

预期输出:

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

实际输出:

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

这是针对 hackerrank 的简单挑战。我只想使用我发现的方法,而不是我在网上找到的解决方案。谢谢!

最佳答案

您只需要做两个更改:

首先,您必须添加一个将打印空格的循环。如果您从 n 开始循环并循环直到大于或等于 i,同时减去,这将打印正确数量的空格。

其次,你需要在循环结束时有换行符:

static void staircase(int n) {

int counter=0;
for(int i=0; i<n;i++)
{
counter++;
for(int k=n; k>= i;k--)
{
System.out.print(" ");
}
for(int j=0; j<=counter-1;j++)
{
System.out.print("#");
}

System.out.print("\n");
}
}

输出:

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

也只是对您的代码的注释。关闭 System.in 是不好的做法。一般规则是,如果您没有打开资源,则不应关闭它。

关于Java Staircase 打印方向错误 (hackerrank),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52707428/

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