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

我正在生成一系列以空格分隔的数字,但我想删除末尾的空格

我正在生成一系列以空格分隔的数字,但我想删除末尾的空格

慕婉清6462132 2023-06-04 17:15:36
我正在使用 for 循环生成一系列数字,用空格分隔,但我想最后删除尾随空格。无法将 trim() 用于输出。 import java.util.*;public class Main {    public static void main(String [] args){        Scanner s = new Scanner(System.in);        int str = s.nextInt();    for(int i=1; i<=str; i++) {        System.out.printf("%d", i);        System.out.print(" ");    }    }}1 2 3 4 5(此处留空)但我想要 5 之后没有空格的输出。
查看完整描述

3 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

int i;

for(i = 1; i < str.length(); i++) {

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

}

System.out.println(i);


查看完整回答
反对 回复 2023-06-04
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

像这样在 for 循环中做一个 if 测试


if (i == str) {

    System.out.printf("%d", i); 

} else {

    System.out.printf("%d", i); 

    System.out.print(" "); 

}


查看完整回答
反对 回复 2023-06-04
?
函数式编程

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

您想要的逻辑是在除最后一个数字之外的每个数字后面打印一个空格。你的代码中应该有这个条件逻辑。喜欢,


if (i < str)

    System.out.print(" ");

str注意:如果变量包含数字,调用它会很混乱;每个人都会假设它是一个字符串而不是数字。您可以将代码更改为如下所示:


public static void main(String [] args){

    Scanner s = new Scanner(System.in);

    int n = s.nextInt();


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

        System.out.print(i);

        if (i < n)

            System.out.print(" ");

    }

}


查看完整回答
反对 回复 2023-06-04
  • 3 回答
  • 0 关注
  • 121 浏览

添加回答

举报

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