我需要用相同的元音+v+元音替换给定字符串中的每个元音.举个例子:bad应该变成bavadegg变成eveggdoge变成dovogeve等等.练习明确说明需要用String.join()方法来完成.到目前为止我已经想出了

String string = "bad";
int length = string.length();
for (int i = 0; i < length; i++) {
    char c = string.charAt(i);
    if (isVowel(c)) {
        string = String.join(c + "v" + c, string.split("" + c));
        length += 2;
        i += 2;
    }
}
System.out.println(string);

is元音方法是一种判断给定字符是否为元音的简单方法

public static boolean isVowel(char c) {
    return Arrays.asList('a', 'u', 'o', 'e', 'i').contains(c);
}

这个解决方案适用于badsadstep等字符串.但是,如果我try 使用aeiou,输出是avaeveiviovo,而不是avaeveiviovouvu.

推荐答案

可以使用字符串来存储结果

String string = "aeiou";
int length = string.length();
String result = "";

for (int i=0; i<length; i++) {
    char c = string.charAt(i);

    if(isVowel(c)) 
       result += String.join(result, c+"v"+c);
    else
       result += c;
}

System.out.println(result);   //Output "avaeveiviovouvu"

Java相关问答推荐

JsonPath在多个线程中返回错误的值

我想了解Java中的模块化.编译我的应用程序时,我有一个ResolutionException

为什么BasicComboBoxRenderer在文本不存在或文本为空的情况下设置两次文本?

基本时态运算的ISO-8601周数据表示法

RESTful框架类字段是安全的还是不安全的

更新GWT 2.5.1到2.11.0和sencha GXT 3.1.1到4.1时出现错误

当返回Mono<;Something>;时,不会调用Mono<;void>;.flatMap

Helidon 4和Http API

SpringBoot Kafka自动配置-适用于SASL_PLAYTEXT的SSLBundle 包,带SCRAM-SHA-512

Spring动态反序列化JSON可以是列表,也可以只是一个对象

Java中的发布/订阅-Long Live和Short Live Publisher,哪种方法是正确的?

如何使用stream.allMatch()为空流返回false?

OpenJDK20:JEP434:Foreign Function&;内存API(第二次预览)

这是JavaFX SceneBuilder的错误吗?

MapStruct记录到记录的映射不起作用

message.acknowledge()没有';在使用Spring Boot在ActiveMQ中读取消息后,t将消息出列

为什么child-pom会创建一个新版本

如何使用 Java 替换位于特定标记内的 XML 标记的 CDATA 内的值

在 Java Spring Boot 中注入而不是实例化抽象类

ArrayAdapter 中何时使用构造函数一和构造函数二?