Java Android正在搜索字符串中的字符
我正在制定一个计划。。在android中,在edittext中输入名称并在其中搜索元音。假设名义上存在Roshan元音,即o&a和必须显示的第一个元音,我得到了显示第一个元音的代码,程序运行良好。。但是,只有当有多个元音时,程序才会显示元音。如果只有一个元音,则该字母不会显示。。请检查代码,如果发现任何错误,请帮助Java Android正在搜索字符串中的字符,java,android,android-edittext,Java,Android,Android Edittext,我正在制定一个计划。。在android中,在edittext中输入名称并在其中搜索元音。假设名义上存在Roshan元音,即o&a和必须显示的第一个元音,我得到了显示第一个元音的代码,程序运行良好。。但是,只有当有多个元音时,程序才会显示元音。如果只有一个元音,则该字母不会显示。。请检查代码,如果发现任何错误,请帮助 public char gReport(View V) { et1 = (EditText) findViewById (R
public char gReport(View V)
{
et1 = (EditText) findViewById (R.id.editText1);
et2 = (EditText) findViewById (R.id.editText2);
et3 = (EditText) findViewById (R.id.editText3);
TextView tv1 = (TextView) findViewById (R.id.textView1);
String str = et1.getText().toString();
int a=str.indexOf('a');
int b=str.indexOf('e');
int c=str.indexOf('i');
int d=str.indexOf('o');
int e=str.indexOf('u');
if(a!=-1 && a<(b&c&d&e))
{
tv1.setText("a");
}
else if(b!=-1 && b<(a&c&d&e))
{
tv1.setText("e");
}
else if(c!=-1 && c<(a&b&d&e))
{
tv1.setText("i");
}
else if(d!=-1 && d<(a&c&b&e))
{
tv1.setText("o");
}
else if(e!=-1 && e<(a&c&d&b))
{
tv1.setText("u");
}
return 0;
}
public char gReport(视图五)
{
et1=(EditText)findViewById(R.id.editText1);
et2=(EditText)findViewById(R.id.editText2);
et3=(EditText)findViewById(R.id.editText3);
TextView tv1=(TextView)findViewById(R.id.textView1);
字符串str=et1.getText().toString();
int a=str.indexOf('a');
int b=str.indexOf('e');
int c=str.indexOf('i');
int d=str.indexOf('o');
int e=str.indexOf('u');
如果(a!=-1&&a您可以尝试以下方法:
在java中,有一个方法用于搜索给定字符串中的特定字符串
YourString.contains("CheckString");
要检查第一个元音,只需从数组中找到最小数,然后从主字符串中获取子字符串
char[] a = {'3', '5', '1', '4', '2'};
List b = Arrays.asList(ArrayUtils.toObject(a));
System.out.println(Collections.min(b));
希望有帮助!!你可以试试这个::
在java中,有一个方法用于搜索给定字符串中的特定字符串
YourString.contains("CheckString");
要检查第一个元音,只需从数组中找到最小数,然后从主字符串中获取子字符串
char[] a = {'3', '5', '1', '4', '2'};
List b = Arrays.asList(ArrayUtils.toObject(a));
System.out.println(Collections.min(b));
希望能有帮助!!找到元音的第一次出现
String str = et1.getText().toString();
outer : for (i = 0; i < str.length(); i++)
{
switch(s.charAt(i)) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
tv1.setText(s.charAt(i));
break outer;
}
String str=et1.getText().toString();
外部:用于(i=0;i
或者像这样
for (i = 0; i < str.length(); i++)
{
if(StringUtils.isVowel(str,i)){
tv1.setText(s.charAt(i));
break;
}
}
for(i=0;i
查找元音的首次出现
String str = et1.getText().toString();
outer : for (i = 0; i < str.length(); i++)
{
switch(s.charAt(i)) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
tv1.setText(s.charAt(i));
break outer;
}
String str=et1.getText().toString();
外部:用于(i=0;i
或者像这样
for (i = 0; i < str.length(); i++)
{
if(StringUtils.isVowel(str,i)){
tv1.setText(s.charAt(i));
break;
}
}
for(i=0;i
在您的第二个if
条件中,我假设您想检查当前元音索引是否比所有其他元音索引都小。您不能以您编写的方式执行此操作。您必须针对每种情况显式编写:
if((a!=-1) && (a<b) && (a<c) && (a<d) && (a<e))
if((a!=-1)和&(a在第二个if
条件中,我假设您想检查当前元音索引是否比所有其他元音索引都小。您不能以您编写的方式完成。您必须针对每种情况显式编写:
if((a!=-1) && (a<b) && (a<c) && (a<d) && (a<e))
如果((a!=-1)&&(a您的逻辑有缺陷
if(a!=-1 && a<(b&c&d&e))
如果(a!=-1&&a您的逻辑有缺陷
if(a!=-1 && a<(b&c&d&e))
if(a!=-1&&a为什么要显示第一个来的元音的aSeems副本…所以我这样写,&
是按位的,你可能想要b+c+d
。所以你想确保当前元音的位置是最小的整数。这就是你的问题为什么要使用f的aSeems副本第一个元音必须显示…所以我这样写,&
是按位的,你可能需要b+c+d
。所以你想确保当前元音的位置是最小的整数。这是你的问题,但我想显示字符串中的第一个元音你能详细说明你的方法吗…)在这个方法中,我们将获取所有索引的最小值。因此,我们可以在字符串中获取最小索引处的字符,并在textview中将其设置为文本。但是我想显示字符串中的第一个元音。您可以详细说明您的方法吗…:)在这种方法中,我们将获得所有索引的最小值。因此,我们可以在字符串中获得最小索引处的字符,并在textview中将其设置为文本。您需要更改if语句e!=-1&&aThanks Nitro中的所有比较,以获得答复让我检查谢谢@ScottHelme,我以为我已经掌握了c/p技术;)@NitroNbg没有问题:)您需要更改if语句中的所有比较e!=-1&&aThanks Nitro for reply让我检查一下谢谢@scottelme,我以为我已经掌握了c/p技巧;)@NitroNbg没问题:)这两个语句都找不到字符串中的第一个元音,而是最后一个。您需要反转for循环中的计数器:for(i=str.length();i>0;i--)
@ScottHelme您是否注意到break;
语句..?它将找到第一个元音,然后退出循环..)是否会中断
只需退出开关
?@ScottHelme我现在明白你的意思了…更新了第一个大小写..谢谢它们中的任何一个都会找到字符串中的第一个元音,而不是最后一个。你需要反转for循环中的计数器:for(I=str.length();I>0;I--)
@scottelme您是否注意到break;
语句..?它将找到第一个元音,然后退出循环...)会不会中断
只需退出开关
?@ScottHelme我现在明白你的意思了…更新了第一个案例谢谢Hanks Scott…你的解释帮我知道了我的错误谢谢Hanks Scott…你的解释帮我知道了我的错误谢谢