だから私は豚ラテンと呼ばれるゲームであるプログラムを書いています(ルールについてはウィキペディアを確認できますが、最初の子音を単語の後ろに移動して-ayを追加することで構成されています)。単語の先頭に子音が含まれていることを確認する必要があります。1 つ以上の子音がある場合は、最初の子音で始まり、母音の前の最後の子音で終わる部分文字列を取得する必要があります。
public void isConsonant(String word){
char[] consonants = {'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm'
, 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'z' };
char[] StringArray = word.toCharArray();
for(int dex = 0; dex < StringArray.length; dex++ ){
char current = StringArray[dex];
}
}
次に例を示します。
'glove' という単語は oveglay になるはずです。私のプログラムは「lovegay」を出力します。
これが私のプログラムです(マイナスimports
などGUI
):
public class PigLatin extends JFrame implements ActionListener {
JTextField word = new JTextField(25);
JButton GO = new JButton("Go");
JLabel output = new JLabel();
String CharNum1;
String CharNum2;
//The frame setup should be here
public void isConsonant(String verify) {
char[] consonants = { 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm',
'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'z' };
char[] StringArray = verify.toCharArray();
for (int dex = 0; dex < StringArray.length; dex++) {
char current = StringArray[dex];
}
}
public void game() {
// The actual word
String word2 = word.getText();
// The first character
CharNum1 = word2.substring(0, 2);
CharNum2 = word2.substring(1, word2.length());
// Remove the first char
// String RevampedWord = word2.replace(CharNum1, "");
String finalWord = CharNum2 + "-" + CharNum1 + "ay";
output.setText(finalWord);
}
public void actionPerformed(ActionEvent event) {
game();
}
public static void main(String[] arguments) {
PigLatin pig = new PigLatin();
}
}
だから私の質問は、文字列に子音が含まれているかどうかを確認し、最初の子音から母音の前の最初の子音への部分文字列を作成できる天気です。
前もって感謝します。