在我的代码中,我正在创建一个窗口,用户可以在其中输入短语。然后,我设置一个 for 循环来读取输入并在任何元音之前添加 ub 。我现在的问题是,如果用户输入是 aeiou
,我想要的输出是 ubaeiou
而不是 ubaubeubiuboubu
。我相信 boolean 变量会有帮助,但我不知道如何完成这部分。
public void buttonPressed() {
String line = input1.getText();
String finline;
finline = "";
line = line.toLowerCase();
for(int i =0; i < line.length(); i++) {
if((line.charAt(i) == 'a') || (line.charAt(i) == 'e') || (line.charAt(i) == 'i') || (line.charAt(i) == 'o') || (line.charAt(i) == 'u'))
{
finline = finline + "ub" + line.charAt(i);
}
else
{
finline = finline + line.charAt(i);
}
}
output.setText(finline);
}
User input = aeiou
Output = ubaubeubiuboubu
Desired output = ubaeiou
最佳答案
您想要 LINE 的第一个元音上有“ub”前缀吗?然后使用 boolean 值触发早期循环退出。
public void buttonPressed() {
Boolean done = false;
String line = input1.getText();
String finline;
finline = "";
line = line.toLowerCase();
for(int i =0; i < line.length() && !done; i++) {
if((line.charAt(i) == 'a') || (line.charAt(i) == 'e') || (line.charAt(i) == 'i') || (line.charAt(i) == 'o') || (line.charAt(i) == 'u'))
{
finline = finline + "ub" + line.charAt(i);
done = true;
}
else
{
finline = finline + line.charAt(i);
}
}
output.setText(finline);
}
或者,如果您希望它出现在每个单词的第一个元音上,则需要将 boolean 值应用到元音检查条件中,并确保它在单词中断时关闭。
public void buttonPressed() {
Boolean checkVowel = true;
String line = input1.getText();
String finline;
finline = "";
line = line.toLowerCase();
for(int i =0; i < line.length(); i++) {
if(checkVowel && ((line.charAt(i) == 'a') || (line.charAt(i) == 'e') || (line.charAt(i) == 'i') || (line.charAt(i) == 'o') || (line.charAt(i) == 'u')))
{
finline = finline + "ub" + line.charAt(i);
checkVowel = false;
}
else
{
finline = finline + line.charAt(i);
if (line.charAt(i) == ' ') checkVowel = true;
}
}
output.setText(finline);
}
关于java - 读取用户输入时如何使用 boolean 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58403336/