题解 | #计算某字符出现次数#
计算某字符出现次数
https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case String a = in.nextLine(); String b = in.next(); char [] arr = a.toCharArray(); char [] c = b.toCharArray(); int count = 0; for(int i = 0; i < arr.length; i ++){ if(arr[i] == c[0]){ count ++; } if((c[0] >=65 &&c[0] <= 90) || (c[0] >=97 &&c[0] <= 122) ){ if(arr[i] > c[0]){ if(arr[i] - 32 == c[0]) count ++; }else{ if(c[0] - 32 == arr[i]) count ++; } } } System.out.println(count); } } }
对于这种题,转化为char数组是最好解决的,应该char对应unicode,也就是ASCLL部分字符,那它是有对应的数值和顺序的,如果是大小写,可以对ASCLL大的进行减值操作,为什么减32呢?因为A-Z 是65 - 90 ,而a-z 是97-122,那懂了吧