我需要有关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"));
}
}
答案 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");
}
}