Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一次移动两个字母(子字符串)Java_Java - Fatal编程技术网

一次移动两个字母(子字符串)Java

一次移动两个字母(子字符串)Java,java,Java,所以我的整个程序都在运行,如果不是元音,它甚至会在字母上移动,但是如果这两个常量相邻,它会移动。所以我把子字符串弄得一团糟,把(0)处的字符变成了一个变量,但还是没有什么好主意 因此,这将是“如果”(真实)部分 这是我的代码:您可以使用正则表达式匹配查找元音并返回第一个出现的元音。下面的代码片段将查找单词中的第一个元音并返回其索引。然后你可以在你的子字符串中使用它,而不只是取第一个字母 String word = "test"; Pattern pattern = Pattern.compile

所以我的整个程序都在运行,如果不是元音,它甚至会在字母上移动,但是如果这两个常量相邻,它会移动。所以我把子字符串弄得一团糟,把(0)处的字符变成了一个变量,但还是没有什么好主意

因此,这将是“如果”(真实)部分


这是我的代码:

您可以使用正则表达式匹配查找元音并返回第一个出现的元音。下面的代码片段将查找单词中的第一个元音并返回其索引。然后你可以在你的子字符串中使用它,而不只是取第一个字母

String word = "test";
Pattern pattern = Pattern.compile("[aeiou]");
Matcher matcher = pattern.matcher(word); 
if(matcher.find()){
  System.out.println(matcher.start());
}

甜心,可能有用。但是我不知道从rn开始我是否可以使用它。如果用户输入的单词不包含任何元音?您可能应该给出一个适当的错误消息。是否没有办法只是稍微更改我的代码以使其正常工作?如果您无法使用正则表达式,则必须对每个元音进行If检查。您可以使用indexOf(“a”)。。等来检查特定字母的首次出现。您需要检查所有5个元音,并获取返回的最小非负值-1表示在单词中找不到它。如果你不能使用正则表达式(如答案中所示),我会循环单词中的字符,测试每个字母是否为元音,并在遇到的第一个元音处停止。我可能想编写一个静态实用程序方法
isvouel(char-letter)
,我将从循环中调用它。