所以,我是Java的新手,正在做一个磨练我的技能的练习。我试图创建一个接受字符串的方法,并向用户返回字符串中有多少元音。这就是我到目前为止所拥有的
static int[] vowelCount(String english)
{
int a = 0;
int e = 0;
int i = 0;
int o = 0;
int u = 0;
int[] counter = {a, e, i, o, u};
for (int itt = 0; itt < english.length(); itt++)
{
if( english.charAt(itt) == 'a')a++;
if( english.charAt(itt) == 'e')e++;
if( english.charAt(itt) == 'i')i++;
if( english.charAt(itt) == 'o')o++;
if( english.charAt(itt) == 'u')u++;
}
return counter;
}
public static void main(String[] args)
{
System.out.print(vowelCount("Java rocks!"));
}
在这个例子中,我希望我的输出为{2,0,0,1,0},但我得到的是 &#34; [I @ 15db9742&#34;
答案 0 :(得分:0)
首先,您可以使用Arrays.toString()
打印出数组counter
的直观表示。
其次,将元音的位置存储在数组中会更有意义,因为目前您根本没有修改数组,counter
看起来像[0, 0, 0, 0, 0]
:
import java.util.Arrays;
class Main {
public static void main(String[] args) {
System.out.print(Arrays.toString(vowelCount("Java rocks!")));
}
public static int[] vowelCount(String english) {
//representing the position in the counter array
int a = 0;
int e = 1;
int i = 2;
int o = 3;
int u = 4;
int[] counter = {0, 0, 0, 0, 0};
for (int itt = 0; itt < english.length(); itt++) {
if( english.charAt(itt) == 'a') counter[a]++;
if( english.charAt(itt) == 'e') counter[e]++;
if( english.charAt(itt) == 'i') counter[i]++;
if( english.charAt(itt) == 'o') counter[o]++;
if( english.charAt(itt) == 'u') counter[u]++;
}
return counter;
}
}
<强>输出:强>
[2, 0, 0, 1, 0]
试试here!