gpt4 book ai didi

java - 更改单词顺序 Java

转载 作者:行者123 更新时间:2023-11-29 06:58:12 25 4
gpt4 key购买 nike

我不知道如何更改给定名称的顺序。

例如:Van-Dame Claud结果:Claud Dame-Van

我创建了这个方法,但似乎不正确,有什么建议或者更好的方法吗?

  public String NameInvers(){
String Name, Name = null, Name = null, NameFinal;
int s1 = getName().indexOf(' ');
int s2 = getName().indexOf('-');
if(s1 != 0){
Name1 = getName().substring(0, s1);
if(s2 != 0)
{
Name2 = getName().substring(s1, s2);
Name3 = getName().substring(s2);
}
NameFinal = Name3 + Name2 + Name1;
}
else
NameFinal = getName();

return NameFinal;
}

编辑:在我的 Main 方法中,我有很多名字。问题是它说:throw new StringIndexOutOfBoundsException(subLen) 它不会出现。

最佳答案

给你:

public static String reverseName (String name) {

name = name.trim();

StringBuilder reversedNameBuilder = new StringBuilder();
StringBuilder subNameBuilder = new StringBuilder();

for (int i = 0; i < name.length(); i++) {

char currentChar = name.charAt(i);

if (currentChar != ' ' && currentChar != '-') {
subNameBuilder.append(currentChar);
} else {
reversedNameBuilder.insert(0, currentChar + subNameBuilder.toString());
subNameBuilder.setLength(0);
}

}

return reversedNameBuilder.insert(0, subNameBuilder.toString()).toString();

}

测试:

public static void main(String[] args) {

printTest("Van-Dame Claud");
printTest("Victor Hugo");
printTest("Anna");
printTest("");

}

private static void printTest(String S) {

System.out.printf("Reverse name for %s: %s\n", S, reverseName(S));

}

输出:

Reverse name for Van-Dame Claud: Claud Dame-Van
Reverse name for Victor Hugo: Hugo Victor
Reverse name for Anna: Anna
Reverse name for :

关于java - 更改单词顺序 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30552495/

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