java编程题
题目:给定一个字符串,返回最长元音字母字串长度
测试举例:
输入为:asdbuiodea
输出为3 因为uio三个元音字姆是最长的
分析题目:可以理解为元音字母连续且最长
遍程思路:我个人是将用户输入的字符串和元音字符串分别转化为两个数组用split()函数将其分开,并且通过for循环将两个数组进行匹配对比,符合的转化为1赋值给另一个数组,再将里一个数组进行是1的加等。
具体代码实现如下:
```java
package codequestion;
import java.awt.Frame;
import java.time.chrono.MinguoChronology;
import org.omg.CORBA.SystemException;
import org.w3c.dom.css.ElementCSSInlineStyle;
public class charaction {
public static void main(String[] args)
{
// TODO 自动生成的方法存根
String str1 = "aeiuo"; //要求用户是输入,需要的话可以改成输入语句
String str2 = "aeiou"; //元音字符串,固定的
String[] arr1=new String[str1.length()];
String[] arr2=new String[str2.length()];
int[] arr3=new int[str1.length()];
arr1 = str1.split("");
arr2 = str2.split("");
for(int i=0;i<arr1.length;i++)
{
int ct=0;
for(int j=0;j<arr2.length;j++)
{
if(arr1[i].equals(arr2[j]))
{
ct+=1;
arr3[i]=ct;
}
}
System.out.print(arr3[i]);
}
System.out.println();
int minnum=0;
int m=0;
for(int k=0;k<arr3.length;k++)
{
if(arr3[k]==1)
{
m+=1;
if(m>minnum)
{
minnum=m;
}
}
else
{
m=0;
}
}
System.out.println("最多"+minnum+"次");
}
}