我試圖找到一種方法來使這個字母計數器操作,它必須在letterCounter類中使用數組。我很困惑如何在簡潔的情況下做到這一點。下面是我得到了這部分指令:問題計數器和數組
如果mychar是小寫字母,我們可以找到我們的數陣列中的相應位置用 簡單的減法,就像這樣: 計數[mychar - 「一」] (這是另一個魔法值,你最終想用一個常量代替。) 那麼大寫字母呢?使用靜態方法Character.toLowerCase(mychar)。 注:如果(Character.toLowerCase(mychar) - 「A」)計算結果爲東西範圍 [0,25]之外,則mychar不是一個字母,應該被忽略。 因此,您之前添加的過程方法只是遍歷字符串中傳遞的 中的字符,並且會爲每個字母增加數組中的值。 同樣,getCount方法將字符參數轉換爲位置並返回 計數。確保你理解(以及後面的文檔)當 參數不是字母表中的字母時,此方法返回的內容。
這裏是我的代碼:
import java.util.Scanner;
public class CounterDemo
{
public static void main(String[] args)
{
LetterCounter cc = new LetterCounter();
cc.process("foo");
cc.process("supercalafrajalisticexpialadoscious");
cc.process("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
System.out.println("There are " + cc.getCount('z') + "z's");
}
}
public class LetterCounter {
public int getCount(char letter)
{
// empty method for now
return 0;
}
public void process(String string) {
// TODO Auto-generated method stub
}
}
所以我會只是存儲在一個陣列0-25,並要求退回的信件,如果它是陣列中的?