Geben Sie Scanner
ein, um die Eingabe von System.in
zu erhalten. Dann durchlaufen Sie die String
zurückgegeben, indem Sie es in eine char[]
. Dann analysieren Sie jede char
und zählen Originalzeichen. Verwenden Sie dazu wahrscheinlich einen Map<Character, Integer>
. Für jedes Element in der Map
, iterieren Sie um eins, wenn es in der Map
ist. Fragen Sie die Map
nach Ihrem gewünschten Charakter und drucken Sie das Ergebnis, wenn Sie fertig sind.
public static void main(String[] args) {
CharacterFinder cf = new CharacterFinder();
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
Map<Character, Integer> resultsMap = cf.countChar(input);
System.out.println(resultsMap.get('g'));
}
// Note that 'null' means that it does not appear and if it is null, you ought print 0 instead.
// Also note that this method is case sensitive.
private Map<Character, Integer> countChar(String input) {
Map<Character, Integer> resultsMap = new HashMap<Character, Integer>();
for (int i = 0; i < input.length(); i++) {
Character element = input.charAt(i);
if (resultsMap.containsKey(element)) {
Integer cCount = resultsMap.get(element);
resultsMap.put(element, cCount + 1);
} else {
resultsMap.put(element, 1);
}
}
return resultsMap;
}
Nun, es sei denn, Sie bereits wissen, die char
Sie wollen. Analysieren Sie in diesem Fall genau char
.
public static void main(String[] args) {
CharacterFinder cf = new CharacterFinder();
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
// Call counting method and print
System.out.println(cf.countChar(input, '5'));
}
// Counting method
private int countChar(String input, char c) {
int x = 0;
for (int i = 0; i < input.length(); i++) {
if (input.charAt(i) == c) {
x++;
}
}
return x;
}
In String konvertieren, dann lesen Sie diese http://stackoverflow.com/questions/275944/how-do-i-count-the-number-of-occurrences-of-a-char-in-a-string –
Keine Notwendigkeit, zu einem String zu konvertieren: Testen Sie einfach den Wert mit '% 10', sehen Sie, ob es gleich dem 4 ist; Dann dividiere den Wert mit 10. Wiederhole, bis der Wert Null ist. –
Ich werde es ausprobieren, danke euch allen! – Attix