为了账号安全,请及时绑定邮箱和手机立即绑定

如何让我的代码失去开头的空格?

如何让我的代码失去开头的空格?

12345678_0001 2023-10-27 10:50:01
主要问题:输出中存在额外的空格我希望我的代码从我记下的输入中打印出数字的一步。我的主要问题是空白。我需要输出在一开始就少一个空格。从我的 System.out.print() 中删除“”;更改循环 反转循环分段import java.util.Scanner;public class PatternTwo {    public static void main(String[] args) {        Scanner scan = new Scanner(System.in);        System.out.println("Please enter a number 1...9 : ");        int num = scan.nextInt();         for(int i = 1; i <= num; ++i) {         for(int j=2*(num-i); j>=0; j--)        {        if (num <= 1)            System.out.print("");        else if (num > 1)            System.out.print(" ");        }        for(int j = i; j >= 1; --j) {        System.out.print(" " + j);         }        System.out.println();        }    }}}```I would like the result to be Please enter a number 1...9 :  2  1 2Instead of:Please enter a number 1...9 :  2   1  2
查看完整描述

2 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

这里有两个问题:

  1. j >= 0应该改为j > 0

  2. 您应该避免在以下情况下打印空白区域:j == i

public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    System.out.println("Please enter a number 1...9 :");


    int num = scan.nextInt(); 

    scan.close();


    for (int i = 1; i <= num; i++) { 

        for (int j = 2*(num-i); j > 0; j--)

            if (num > 1)

                System.out.print(" ");

        for (int j = i; j >= 1; j--) {

            if (j != i)

                System.out.print(" ");

            System.out.print(j); 

        }

        System.out.println();

    }

}

我收到以下输出num = 5:


Please enter a number 1...9 :

5

        1

      2 1

    3 2 1

  4 3 2 1

5 4 3 2 1


查看完整回答
反对 回复 2023-10-27
?
暮色呼如

TA贡献1853条经验 获得超9个赞

尝试添加一个第一次跳过空格的 if 语句,例如:


for(int j = i; j >= 1; --j) 

{

    if(j == i)

        System.out.print(j);

    else

        System.out.print(" " + j); 

}


查看完整回答
反对 回复 2023-10-27
  • 2 回答
  • 0 关注
  • 138 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信