当前位置: 代码迷 >> Eclipse >> 复制字符串,该如何处理
  详细解决方案

复制字符串,该如何处理

热度:92   发布时间:2016-04-23 02:03:56.0
复制字符串
写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。

输入
一行字符串

输出
顺序输出其中的元音字母(aeiuo)

样例输入
abcde
样例输出
ae
	public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner rd=new Scanner(System.in);
String str=rd.nextLine();
copy(str);
}
public static void copy(String str)
{
char a[] = new char[30];
char[] c=str.toCharArray();
for(int i=0,j=0;i<c.length;i++)
{
if((c[i]=='a')||(c[i]=='e')||(c[i]=='i')||(c[i]=='u')||(c[i]=='o'))
{
a[j]=c[i];
j++;
}
System.out.print(a[i]);
}
}

}

只输出了a 为什么?
------最佳解决方案--------------------
(c[i]=='e')
------其他解决方案--------------------
System.out.print(a[i]); a[i]是打错了吗?
------其他解决方案--------------------
引用:
System.out.print(a[i]); a[i]是打错了吗?
不是吧
------其他解决方案--------------------
System.out.print(a[i]);应该是a[j]
j是你条件为真才存入a数组的j下标中,而你的i是指的c数组的下标
------其他解决方案--------------------
引用:
System.out.print(a[i]);应该是a[j]
j是你条件为真才存入a数组的j下标中,而你的i是指的c数组的下标

改了也输出不了?为什么
------其他解决方案--------------------
引用:
引用:System.out.print(a[i]);应该是a[j]
j是你条件为真才存入a数组的j下标中,而你的i是指的c数组的下标
改了也输出不了?为什么


楼主,你应该把【System.out.print(a[i]);】放到if()里面的j++前,因为每次j++后,a[j]就已经不是元音了。

            if((c[i]=='a')
------其他解决方案--------------------
(c[i]=='i')
  相关解决方案