Java:String中字符的出现

时间:2014-03-06 12:16:19

标签: java loops

我需要有关Java代码的帮助。

这是问题所在:

示例输入:AaaaaAa

输出:A出现7。

问题是我需要忽略案例。

请帮助我,我的代码工作正常,但它不会忽略案例。

import java.io.*;

public class letter_bmp{
    public static BufferedReader input = new BufferedReader( new InputStreamReader(System.in));
    public static void main(String[] args) throws Exception

    {

    String string1;
    String pick;

    String ans;
    do
    {
    int count=0;
    System.out.print("En taro Adun, Executor! Input desired string : ");
    string1 = input.readLine();
    System.out.print("Now, Executor...which character shall I choose : ");
    pick = input.readLine();

    for(int counter = 0; counter < string1.length(); counter++)
        {
        if(pick.charAt(0) == string1.charAt(counter))
        count++;
        }
    System.out.print("Executor...you picked '" + pick + "' it is used " + count + " times in the word "+string1+".");

    System.out.println("\nWould you like to try again, Executor? (Yes/No): ");
    ans = input.readLine();
    }
    while(ans.equalsIgnoreCase("Yes"));
    }

}

3 个答案:

答案 0 :(得分:1)

使用String.toLowerCase()方法将字符串转换为小写字符。

// ...
string1 = input.readLine().toLowerCase();
// ...
pick = input.readLine().toLowerCase();
// ...

答案 1 :(得分:0)

最简单的解决方案是制作2个新字符串:

string1_lower = string1.toLowerCase();
pick_lower = pick.toLowerCase();

在比较期间使用这两个变量。

答案 2 :(得分:0)

我知道这个问题已经过时了,OP可能已经得到了答案。但是我想把它放在这里以防万一将来有人需要它。

public static void main(String[] args) {
    String s="rEmember";

    for(int i = 0; i <= s.length() - 1; i++){
        int count = 0;
        for(int j = 0; j <= s.length() - 1; j++){
            if(Character.toLowerCase(s.charAt(i)) == Character.toLowerCase(s.charAt(j))){
                count++;
            }
        }
        System.out.println(s.charAt(i) + " = " + count + " times");
    }

}