写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String line = in.nextLine(); String matchStr = in.nextLine(); char matchCharLowerCase = matchStr.toLowerCase().toCharArray()[0]; char matchCharUpperCase = matchStr.toUpperCase().toCharArray()[0]; char[] chars = line.toCharArray(); int result = 0; for(int i=0;i<chars.length;i++ ){ if( (chars[i] == matchCharLowerCase) || (chars[i] == matchCharUpperCase)){ result ++; } } System.out.println(result); } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String a = in.nextLine(); String b =in.next(); int sum=0; for(int i=0;i<a.length();i++){ String temp = ""+a.charAt(i); if(temp.equalsIgnoreCase(b)){ sum=sum+1; } } System.out.println(sum); } }
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.hasNextLine()) { // 注意 while 处理多个 case String s = in.nextLine().toLowerCase(); String b = in.nextLine().toLowerCase();//一定要加toLowerCase(),否则会出现字符为空客的情况,结果为0; //s=s.toLowerCase(); System.out.println(s.length()-s.replaceAll(b,"").length()); } } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner a = new Scanner(System.in); Scanner b = new Scanner(System.in); String str1 = a.nextLine(); String str2 = b.nextLine(); if(!str1.isEmpty() && str1.length()<=1000){ String[] str3 = str1.split(""); int count = 0; for(int i = 0;i < str3.length-1;i++){ if(str3[i].equals(str2) || str3[i].toUpperCase().equals(str2.toUpperCase())){ count++; } } System.out.println(count); } } }
import java.util.Scanner; import java.util.HashMap; import java.util.Map; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.nextLine(); String ch = in.next(); Map<String, Integer> map = new HashMap<>(); map.put(ch, 0); for(int i = 0; i < str.length(); i++){ if(map.containsKey(String.valueOf(str.charAt(i)).toLowerCase()) || map.containsKey(String.valueOf(str.charAt(i)).toUpperCase())){ map.put(ch,map.get(ch) + 1); } } System.out.println(map.get(ch)); } }
import java.util.List; import java.util.ArrayList; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 List<String> strArr = new ArrayList<String>(); while (in.hasNext()) { // 注意 while 处理多个 case String line = in.nextLine(); strArr.add(line); } System.out.println(getCodeRepeatNum(strArr)); } /** * 将两个 字符串转换为 字符,遍历 第一行字符,看第二行中出现了 几次,之后返回 结果 */ public static int getCodeRepeatNum(List<String> list) { char [] chars = list.get(0).toUpperCase().toCharArray(); char code = list.get(1).toUpperCase().toCharArray()[0]; int num = 0; for (char c : chars) { if (c == code) { num++; } } return num; } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.nextLine(); String s = in.nextLine(); System.out.println(str.replaceAll("(?i)[^"+s+"]", "").length()); } }
public class HJ2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String firstWold = scanner.nextLine(); String secondWold = scanner.nextLine(); System.out.println(statisticalFrequency(firstWold, secondWold)); } public static Integer statisticalFrequency(String firstWold, String secondWold) { Integer count = 0; char[] chars = firstWold.toCharArray(); for (char aChar : chars) { if (secondWold.equalsIgnoreCase(String.valueOf(aChar))) { count++; } } return count; } }
public static void main(String[] args) { Scanner in = new Scanner(System.in); String source_v = in.nextLine().toUpperCase(); String char_v = in.next().toUpperCase(); int sum = 0; for (int i = 0; i source_v.length(); i++) { if (source_v.charAt(i) == char_v.charAt(0)) { sum++; } } System.out.println(sum); }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { //输入一个由字母、数字和空格组成的字符串 //输入一个字符 Scanner in = new Scanner(System.in); String inFistString = in.nextLine(); if (inFistString.length() < 1) { System.out.println("长度小于1,结果!"); } String inTwoString = in.nextLine(); int cout = 0; for (int i = 0; i <= inFistString.length() - 1; i++) { char at = inFistString.charAt(i); // if (StringUtils.containsIgnoreCase(String.valueOf(at), inTwoString)) { // cout = cout + 1; // } if (String.valueOf(at).equalsIgnoreCase(inTwoString)) { cout = cout + 1; } } System.out.println(cout); } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String a = in.nextLine(); String b = in.nextLine(); int rtn = 0; for (int i=0;i<a.length();i++){ if(a.toLowerCase().charAt(i) == b.toLowerCase().charAt(0)){ rtn += 1; } } System.out.println(rtn); } }
public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String a = in.nextLine(); String b = in.nextLine(); int count = 0; for (char c : a.toCharArray()){ if (b.equalsIgnoreCase(String.valueOf(c))){ count++; } } System.out.println(count); }
/** 思路很简单,没用到jdk提供的String类的API,在utf-8编码环境下进行的比较 1. 得到输入的字符串的byte数组,进行遍历 2. 每遍历一次就比较两个byte数组中的字符编码值 2.1 如果两个byte数组中的当前索引对应的字符都是英文字母,则对同一个字母忽略大小写之后再比较它们的字符编码值是否相等,相等就对计数器累加1; 2.2 如果两个byte数组中当前索引对应的字符其中有一个不是英文字母,则直接判断它们两个的字符编码值是否相等,相等就对计数器累加1; **/ import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String a = in.nextLine(); String b = in.nextLine(); if (b.getBytes().length > 1) { throw new RuntimeException("第二行中只能输入单个字符"); } int counter = 0; byte [] firstStr = a.getBytes(); //遍历字符串,匹配第二行中输入的字符,每匹配到一次counter+1 for (int i = 0; i < firstStr.length; i++) { byte secondStr = b.getBytes()[0]; byte firstStrVal = firstStr[i]; boolean isEquals = (firstStrVal == secondStr); //判断第一行的输入和第二行的输入是否都是字母A-z boolean isLetter = (firstStrVal >= 65 && firstStrVal <= 122) && (secondStr >= 65 && secondStr <= 122); if (isLetter) { //相同的字母忽略大小写进行比较 boolean isTrue = isEquals || (firstStrVal - secondStr == 32) || (firstStrVal - secondStr == -32); if (isTrue) { counter++; } } //第一行和第二行的输入中,其中一行中有非字母的情况 else { if (isEquals) { counter++; } } } System.out.println(counter); } }