題目描述
寫出一個程序,接受一個由字母和數字組成的字符串,和一個字符,然後輸出輸入字符串中含有該字符的個數。不區分大小寫。
輸入描述:第一行輸入一個有字母和數字以及空格組成的字符串,第二行輸入一個字符。
輸出描述:輸出輸入字符串中含有該字符的個數。
思路:感覺思路挺簡單的,就是遍歷整個字符串,找到相同的數量就加1,但是這個題是要區分大小寫的,這個要注意。除了這個意外,我自己不熟的還有輸入怎麼寫,這部分也要注意。下面的代碼是牛客網上大神的代碼:
這裏需要注意equalsIgnoreCase()這個方法。與一般的equals()相比,這個方法比較的參數只能是字符串,並且只有字符串的長度相等,大小寫是忽略的。而equals()是比較字符串的大小寫和長度相同。
代碼:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner s=new Scanner(System.in);
String all=""; //用於存放所有的字符串
String one="";//用於存放要查找的字符串
char[] ac; //字符數組
int num=0;
while(s.hasNext())
{
all=s.nextLine();//回車之前的所有字符,即全部的字符串
one=s.nextLine();//接受要查找的字符串
//轉換爲字符數組
ac=all.toCharArray();
for(int i=0;i<ac.length;i++)
{
if(one.equalsIgnoreCase(String.valueOf(ac[i]))) //參數都是字符串,所以需要先轉換爲字符串
num++;
}
System.out.println(num);
}
}
}