(對不起,提前很長一段時間 - 只是想詳細說明) 大家好, 我一直在掙扎讓這段代碼編譯了這麼久,而且我到處研究過(包括在這裏!),但似乎沒有任何工作,我不斷收到錯誤。我不斷調整自己如何定義靜態方法以及我在主要方法中所做的工作,但現在我處於一個不知道錯誤的地步,而這些錯誤對我來說並不合適。 正如它在標題中所說的,我需要編寫一個包含靜態方法的程序,當被調用時,它將返回一個整數數組,表示輸入的字符串中的元音數量,而不管大小寫。 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]++;
改變你的參數名稱letters1或任何其他但不信,你也需要學習更多的陣列,因爲在你的第19行錯誤它應該包含一個數組元素字母[I] ...的charAt(0) – abcOfJavaAndCPP
你是否一個接一個地檢查錯誤?首先,你正在重新定義這個論點,所以沒有任何意義。其次,'charAt'是'String'的一種方法! '字母'不是一個字符串。你不能在字符串上使用'++'! – Li357
爲此使用數組使其變得複雜。一個名爲「VowelCounter」的類會更容易。你堅持不得不使用數組? – JohnG