当前位置: 首页 > 知识库问答 >
问题:

我的反向字符串代码在字符串末尾包含一个空格

谭梓
2023-03-14

我是Java初学者,当我输入一些单词作为命令行参数时,我想颠倒句子的字符顺序。

这是我的代码。当我输入“这是一支笔”时,输出应该是“. nep a si sihT”。但是,这段代码的输出是“. nep a si sihT”。它在反转的句子末尾包含一个额外的空格。

有人知道我如何删除空间吗?

public class Reverse {
    public static void main(String[] args){
        for(int i = args.length - 1; i >= 0; i--){
            for(int j = args[i].length() - 1; j >= 0; j--){
                System.out.print(args[i].charAt(j));
            }
            System.out.print(" ");
        }
    }
}

共有2个答案

慕容玉书
2023-03-14

如果您确定前导空格和尾随空格与您的后续逻辑无关,您可以将函数trim()应用于您的结果。

trim()。

您还可以将字符串保存在变量中,并在逻辑结束时仅打印一次。总之,你的逻辑是这样的:

public class Reverse {
    public static void main(String[] args){
        String res = "";
        for(int i = args.length - 1; i >= 0; i--){
            for(int j = args[i].length() - 1; j >= 0; j--){
                res += args[i].charAt(j);
            }
            res += " ";
        }
        System.out.print(res.trim());
    }
}

羊舌洛华
2023-03-14

通过添加跳过最后一次迭代的if语句,避免结尾出现空格

public class Reverse {
    public static void main(String[] args){
        for(int i = args.length - 1; i >= 0; i--){
            for(int j = args[i].length() - 1; j >= 0; j--){
                System.out.print(args[i].charAt(j));
            }
            if(i != 0){
                System.out.print(" ");
            }
        }
    }
}
 类似资料:
  • 问题内容: 我有以下字符串: 如果仅打印此内容,它将输出如下内容(当然不会“按字面意思”打印): 调用方法时,我想获取新行()字符之间的所有字符串,甚至最后还有空字符串。 例如,如果我今天这样做: 我希望它像这样打印出来(输出A): 当前,它以这种方式打印(输出B),并且所有结尾的空字符串都将被跳过: 如何使方法像输出A那样包含空字符串?我当然可以编写多行代码,但是想知道,在我浪费时间尝试实现这一

  • 问题内容: 我有一串琴弦,其中一些琴弦。我只想删除最后四个字符。 换句话说,我有 我希望它成为 Python处理此问题的方法是什么? 问题答案:

  • 我有以下字符串: 如果你只是打印这个,它会像这样输出(当然不会“逐字”打印): 调用方法split(“\n”)时,我希望获取新行(

  • 问题内容: 我有一个字符串,我想仅使用Java从字符串的结尾删除行尾字符 我想成为 (此问题类似于但与问题593671不同) 问题答案: 您可以使用。这修剪和字符在字符串的结尾 正则表达式的解释如下: 是包含和的字符类 是一个或多个重复 是弦末锚 参考文献 regular-expressions.info/Anchors,角色类,重复 相关话题 您还可以使用修剪字符串 开头 和 结尾 的 所有 空

  • 问题内容: 我使用的是Max OS X 10.10.3,在没有模块存在之前,我终于在Python 3中对此进行了展示。 但是,现在当我尝试或时,我收到消息: 是否有任何Mac用户(使用Python 3)知道出了什么问题?有人使用过Zelle书和他的模块吗?谢谢。 问题答案: 为了后代:我遇到了同样的问题,并使用 该文件似乎以多种方式弄乱了(错误的结尾等);不知道怎么… 参见: 使用以下sed命令删

  • 题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短。请问,如何最快地判断字符串B中所有字母是否都在字符串A里? 为了简单起见,我们规定输入的字符串只包含大写英文字母,请实现函数bool StringContains(string &A, string &B) 比如,如果是下面两个字符串: String 1:ABCD String 2:BAD 答案是true,即Stri