2013-06-05 1 views
0

Мне нужна помощь с проблемой, которую я имею в следующем коде.удаление одной и той же буквы из ввода при записи на выход java

package piglatin; 
public class asdg { 

public static void main(String[] args) { 

    String word = "fifteen"; 
    int vowelSpot = findFirstVowelPosition(word); 
    String wordBeg = ""; 
    String wordEnd = "ay"; 
    String wordNew = ""; 

    System.out.println(vowelSpot); 

    wordBeg = word.substring(0,vowelSpot-1); 

    System.out.println(wordBeg); 

    word = word.replace(wordBeg,""); 

    System.out.println(word); 

    wordNew = word + wordBeg + wordEnd; 

    System.out.println(wordNew); 
} 


public static int findFirstVowelPosition(String word) 
{ 
    int vowelPosition = -1; 
    word = word.trim(); 

    for(int i=1; i <=word.length(); i++) 
    {  
     if ((word.charAt(i-1) == 'a') ||(word.charAt(i-1) == 'A') 
     ||(word.charAt(i-1) == 'e') ||(word.charAt(i-1) == 'E') 
     ||(word.charAt(i-1) == 'i') ||(word.charAt(i-1) == 'I') 
     ||(word.charAt(i-1) == 'o') ||(word.charAt(i-1) == 'O') 
     ||(word.charAt(i-1) == 'u') ||(word.charAt(i-1) == 'U') 
     ||(word.charAt(i-1) == 'y') ||(word.charAt(i-1) == 'Y')){ 
      vowelPosition = i; 
      return vowelPosition; 
     } 
    } 
    return vowelPosition; 
} 
} 

Цель этого кода - взять строку Word и поместить ее в piglatin. Слово начнется с согласного. Проблема, с которой я столкнулась, заключается в том, что строка содержит определенный согласный, затем первый гласный и тот же согласный, что он избавится от второго согласного.

Этот конкретный код не предназначен для домашних заданий, однако я буду применять это к домашнему заданию.

+0

ну, что согласный он не работает? – waldol1

+0

Что ты имеешь в виду? Можете ли вы привести пример? – fge

+1

Кроме того, вы '.trim()' в своем методе и возвращаете позицию в обрезаемом входе. Почему я подозреваю, что это приведет к ошибкам? – fge

ответ

2

Я получил это:

Замените эту строку:

word = word.replace(wordBeg,"");

с

word = word.replaceFirst(wordBeg,"");

Проверьте документацию по нему: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

+0

waldol1, я люблю тебя. Это работает, спасибо всем. –

+0

Если это работает, то, пожалуйста, отметьте его как ответ. – waldol1

+0

+1, поскольку OP не имеет достаточного количества голосов, чтобы его проголосовать. –

Смежные вопросы