如何仅使用转义字符和length()在java中反转字符串的第一个和最后一个字母?

问题描述 投票:0回答:2

我必须反转用户输入的字符串的第一个和最后一个字母,然后打印该单词,并反转字符串的第一个和最后一个字母,但不使用循环,

charAt
substring()
。我只能使用
length()
if
语句和转义字符,但我不知道这是怎么可能的。抱歉,如果这令人困惑,例如输入的 5 个字母单词是
foods
,它将变成
s-ood-f

我尝试使用转义字符,如

\t
\b
,但我不知道它是否可以在这里做任何事情

java string-length
2个回答
0
投票

正如@DevilsHnd 所说: 您可以使用 StrinBuilder 来实现这一点,例如下面

String word = "foods";
    if (word.length() == 5){
        System.out.println(new StringBuilder(word).reverse());
    } else {
        System.out.println("TODO");
    }

0
投票

您可以检查此代码。它使用 Stream 和 Collections 来反转字符串。然而,我觉得,仅仅使用 Stream 和 Collection 来反转字符串就太过分了。

public static String reverseString(String str) {

        StringBuilder reverseString = new StringBuilder();
        if (str.length() == 5) {
            
            List<Character> characterStream=    str.chars().mapToObj(c -> (char) c)
                    .collect(Collectors.toList());
            Collections.reverse(characterStream);
            for (Character ch: characterStream){
                reverseString.append(Character.toString(ch));
            }           
            return reverseString.toString();

        }
        else return null;
    }
© www.soinside.com 2019 - 2024. All rights reserved.