(对不起,提前很长一段时间 - 只是想详细说明) 大家好, 我一直在挣扎让这段代码编译了这么久,而且我到处研究过(包括在这里!),但似乎没有任何工作,我不断收到错误。我不断调整自己如何定义静态方法以及我在主要方法中所做的工作,但现在我处于一个不知道错误的地步,而这些错误对我来说并不合适。 正如它在标题中所说的,我需要编写一个包含静态方法的程序,当被调用时,它将返回一个整数数组,表示输入的字符串中的元音数量,而不管大小写。 a在4指数处于0的位置。所以 vowelCount(“EeioOoua”)会返回一个{1,2,1,3,1}的数组。Java - 定义一个方法,它接受一个字符串并返回一个包含每个元音数字的整数数组
这个问题是关系到更多的人,而不仅仅是我自己,因为通常你想能够计算一个对象内的元素数量,然后在数组中组织。我个人还没有看到一个堆栈溢出问题,以这种方式/这些参数解决这个问题。任何可以提供的帮助或方向将不胜感激。
请看看我的代码和错误,我得到如下:
这是我在全码:
import java.util.*;
import java.io.*;
import java.util.Arrays;
class Vowels
{
public static void main (String [] args)
{
vowelCount(String [] letters);
}
private static String [] vowelCount (String [] letters)
{
String [] letters = new String[5];
for (int i = 0; i < letters.length; i++)
{
if (letters.charAt(i) == 'A' || letters.charAt(i) == 'a')
{
letters[0] = letters[0]++;
}
if (letters.charAt(i) == 'E' || letters.charAt(i) == 'e')
{
letters[1] = letters[1]++;
}
if (letters.charAt(i) == 'I' || letters.charAt(i) == 'i')
{
letters[2] = letters[2]++;
}
if (letters.charAt(i) == 'O' || letters.charAt(i) == 'o')
{
letters[3] = letters[3]++;
}
if (letters.charAt(i) == 'U' || letters.charAt(i) == 'u')
{
letters[4] = letters[4]++;
}
}
return letters;
}
}
通过上面的代码,我只是有两个错误:
Vowels.java:9: error: '.class' expected
vowelCount(String [] letters);
^
Vowels.java:9: error: ';' expected
vowelCount(String [] letters);
但是,根据我看到的(我认为堆栈溢出)
我刚刚改变了'vowe lCount(字符串[]字母)”来
String [] userInput = {"I hate this problem set"};
String [] counting = vowelCount (userInput);
vowelCount (userInput);
现在这些都是我的错误(我现在有16个错误):
Vowels.java:16: error: variable letters is already defined in method vowelCount(String[])
String [] letters = new String[5];
^
Vowels.java:19: error: cannot find symbol
if (letters.charAt(i) == 'A' || letters.charAt(i) == 'a')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:19: error: cannot find symbol
if (letters.charAt(i) == 'A' || letters.charAt(i) == 'a')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:21: error: bad operand type String for unary operator '++'
letters[0] = letters[0]++;
^
Vowels.java:23: error: cannot find symbol
if (letters.charAt(i) == 'E' || letters.charAt(i) == 'e')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:23: error: cannot find symbol
if (letters.charAt(i) == 'E' || letters.charAt(i) == 'e')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:25: error: bad operand type String for unary operator '++'
letters[1] = letters[1]++;
^
Vowels.java:27: error: cannot find symbol
if (letters.charAt(i) == 'I' || letters.charAt(i) == 'i')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:27: error: cannot find symbol
if (letters.charAt(i) == 'I' || letters.charAt(i) == 'i')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:29: error: bad operand type String for unary operator '++'
letters[2] = letters[2]++;
^
Vowels.java:31: error: cannot find symbol
if (letters.charAt(i) == 'O' || letters.charAt(i) == 'o')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:31: error: cannot find symbol
if (letters.charAt(i) == 'O' || letters.charAt(i) == 'o')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:33: error: bad operand type String for unary operator '++'
letters[3] = letters[3]++;
^
Vowels.java:35: error: cannot find symbol
if (letters.charAt(i) == 'U' || letters.charAt(i) == 'u')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:35: error: cannot find symbol
if (letters.charAt(i) == 'U' || letters.charAt(i) == 'u')
^
symbol: method charAt(int)
location: variable letters of type String[]
Vowels.java:37: error: bad operand type String for unary operator '++'
letters[4] = letters[4]++;
+0
改变你的参数名称letters1或任何其他但不信,你也需要学习更多的阵列,因为在你的第19行错误它应该包含一个数组元素字母[I] ...的charAt(0) –
+0
你是否一个接一个地检查错误?首先,你正在重新定义这个论点,所以没有任何意义。其次,'charAt'是'String'的一种方法! '字母'不是一个字符串。你不能在字符串上使用'++'! –
+0
为此使用数组使其变得复杂。一个名为“VowelCounter”的类会更容易。你坚持不得不使用数组? –