查找java中单词中字母的出现次数

时间:2015-11-28 20:39:04

标签: java

首先,大家好,大家好,这是我作为提问者的第一次stackoverflow,我知道大家不喜欢人们在这里问作业问题,但我一直在努力解决这个问题。一周,并给了它几个合理的尝试,所以我实际上需要帮助在这里,而不只是尝试mooch答案你惊人的编码:):

所以我的任务就是我尝试(语言是java btw)来查找一个字母(用户输入的字母)出现在一个单词中的次数(用户也会选择,然后是输出单词出现的时间,例如:单词hello中有两个单词...它应该很容易但是由于某种原因我无法得到它:/ < / p>

我相信使用我当前的代码变量&#34; let&#34;变成了一个ascii角色并且idk该怎么做,或者更确切地说我应该如何将它与单词中的所有其他角色进行比较。 请帮忙:)

import java.util.Scanner;


public class LetterCounter {

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    String word = "";
    String letter;
    int limit = 0;
    String input = null;
    String let;
    int count = 0;
    int j = 0;

    while(limit == 0){
        System.out.println("Type a word.");
        word = scan.nextLine();
        System.out.println("Type a single letter.");
        letter = scan.nextLine();
        let = letter.substring(0,1);

        char car;
        while(j<word.length()){
            car = word.charAt(j);
            for(int x=1; x==j; x++){
                if(let.charAt(0)==car){ 
                    count ++;
                }
            }

            j+=1;
        }
            System.out.println(count + " " + "occurances.");
        }
   }
 }

1 个答案:

答案 0 :(得分:1)

以下是一个应该运行的示例代码

import java.util.Scanner;

public class LetterCounter {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("Type a word.");
        String word = scan.nextLine();
        System.out.println("Type a single letter.");
        String letter = scan.nextLine();
        char let = letter.charAt(0);

        int count = 0;
        for (char char1: word.toCharArray()) {
            if (char1 == let) {
                count++;
            }

        }
        System.out.println(count + " " + "occurrences.");
    }
}

这是测试输出

Type a word.
letter
Type a single letter.
t
2 occurrences.