Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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_String_Char - Fatal编程技术网

Java 转换器中的字符串错误

Java 转换器中的字符串错误,java,string,char,Java,String,Char,因此,我的代码适用于某些单词,但不适用于其他单词。它冲刺出超出范围的字符串索引:-1 我想在每个元音和元音簇之前打印出ub “前可疑”就是“可疑”,或者“猫爱”就是“卢波维多” 字符串语句,集合 sentance = "toster iooppp"; set= translate(sentance); System.out.println(set); } public static String translate (String sentence

因此,我的代码适用于某些单词,但不适用于其他单词。它冲刺出超出范围的字符串索引:-1 我想在每个元音和元音簇之前打印出ub “前可疑”就是“可疑”,或者“猫爱”就是“卢波维多”

字符串语句,集合

        sentance = "toster iooppp";
        set= translate(sentance);
        System.out.println(set);
}
public static String translate (String sentence){

    String set = " ";
    sentence= sentence.toLowerCase();
    scan = new Scanner (sentence);

    while (scan.hasNext()) {

        set+= toUbbi (scan.next());
        set += " "; 
    }
    return  set; 
    }

 private static String toUbbi(String word ) {
    String str= word;
    String new_str="";
     for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (isVowel(c) && isVowel(str.charAt(i -1)) )
            { // If is a vowel
                new_str += "ub" ;
            }
            new_str += c;
        }
     return new_str;
    }


    private static boolean isVowel(char c)
    {
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ){
            return true;}

        return false;    
sentance=“toster iooppp”;
集合=翻译(句子);
系统输出打印项次(套);
}
公共静态字符串翻译(字符串句子){
字符串集=”;
句子=句子。toLowerCase();
扫描=新扫描仪(句子);
while(scan.hasNext()){
set+=toUbbi(scan.next());
设置+=“”;
}
返回集;
}
私有静态字符串toUbbi(字符串字){
字符串str=单词;
字符串new_str=“”;
对于(int i=0;i
在第一次迭代中,它给出了错误

        if (isVowel(c) && isVowel(str.charAt(i -1)) )
        { // If is a vowel
            new_str += "ub" ;
        }
所以像这样改变

        if (isVowel(c))
        { // If is a vowel
            new_str += "ub" ;
        }
或者改变你的循环

  for (int i = 1; i < str.length(); i++) {
      // yur remain code...
  }
for(int i=1;i
此代码不完整-两边都缺少行。cat loveo不是Lubovubeo吗?我怀疑您的逻辑不正确,当您让它不崩溃时,您可能会发现它给了您错误的答案。我会手动查看
toUbbi
的工作原理。同时确保逻辑正确在边界处需要什么,即
i
为0时,以及
str.length()-1时。