java 中 char 和 string 互换
char-->string
String s = String.valueOf('c'); //效率最高的方法
String s = String.valueOf(new char[]{'c'}); //将一个char数组转换成String
String s = Character.toString('c');
// Character.toString(char)方法实际上直接返回String.valueOf(char)String s = new Character('c').toString();
String s = "" + 'c';
// 虽然这个方法很简单,但这是效率最低的方法
// Java中的String Object的值实际上是不可变的,是一个final的变量。
// 所以我们每次对String做出任何改变,都是初始化了一个全新的String Object并将原来的变量指向了这个新String。
// 而Java对使用+运算符处理String相加进行了方法重载。
// 字符串直接相加连接实际上调用了如下方法:
// new StringBuilder().append("").append('c').toString();
- String s = new String(new char[]{'c'});
string-->char
- 使用String.charAt(index)(返回值为char)可以得到String中某一指定位置的char。
- 使用String.toCharArray()(返回值为char[])可以得到将包含整个String的char数组。这样我们就能够使用从0开始的位置索引来访问string中的任意位置的元素。
注意字符串全部转为小写,字符也要转为小写
可以将字符替换掉做长度减法,或者charAt统计
import java.util.*; import java.lang.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.nextLine().toLowerCase(); Character c = sc.nextLine().charAt(0); c = Character.toLowerCase(c); String s = String.valueOf(c); System.out.println(str.length() - str.replaceAll(s,"").length()); } }
或者import java.util.*; import java.lang.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str =sc.nextLine().toLowerCase(); Character c = sc.nextLine().charAt(0);//charAt(index)返回第index个字符 c = Character.toLowerCase(c); int count = 0; for(int i = 0; i < str.length(); i++){ if (c == str.charAt(i)){ count++; } } System.out.println(count); } }