一旦将一个值存储为字符串,如何循环遍历字符串并将每个值分配给字符数组?必须计算数组中每个元音字母的出现次数。
这是我目前的代码:
这是我目前的代码:
public class Part1_5 {
/**
* Method that gets user name and stores it as a string. Each value then
* assign to a char array. no of vowels are counted and no of each printed
*/
public static void main(String[] args) {
// Setting up scanner
Scanner scanner = new Scanner(System.in);
// declaring string for name
String userName = null;
// declaring ints to hold total no of each vowel
int totalOfA = 0;
int totalOfE = 0;
int totalofI = 0;
int totalofO = 0;
int totalofU = 0;
// Get user input for name
System.out.println("Please enter your Name...");
userName = scanner.nextLine();
for (int loop = 0; loop < userName.length(); loop++) {
// declaring char array
char[] letter = userName.toCharArray();
if (userName.charAt(0) == 'a') {
totalOfA++;
}
}
System.out.println(totalOfA);
}
}
char[] letter = userName.toCharArray();
并将if (userName.charAt(0) == 'a') {
替换为if (userName.charAt(loop) == 'a') {
,如pobrelkey所建议的。现在,您必须对其余的元音字母执行相同的操作(使用loop
作为索引进行if条件和计数)。请注意,此当前实现仅捕获a
,而不是A
。您可以通过编写if (userName.charAt(loop) == 'a' || userName.charAt(loop) == 'A') {
来解决这个问题。再次强调,这种方式并不美观。 :) - Birbusername
中的值复制到数组中以计算元音字母,因为您可以使用username.charAt()
单独获取字符值。即使出于某种原因您确实想从一个String
创建一个char
数组,那么您只需调用yourString.toCharArray()
即可。另一方面,如果您的教授要求您编写不必要的代码只是为了展示您知道如何实例化一个数组并寻址其元素,那就是另一回事了... - pobrelkey