java给定一串字符串,统计其中的各个字符的出现的次数
2017-07-31 20:03
549 查看
*需求:统计字符串中每个字母:
* 说明:编写程序,提示用户输入一个字符串,
* 然后统计字符串中每个字母出现的个数,忽略字母的大小写。
*
* 原理:
* 1.使用String类中的toLowerCase()方法,将字符串中的大写字母转换成小写形式。
* 2.构造一个具有26个int值得数组ch ,每个元素记录一个字母出现的次数。
* 即,ch[0]记录a的个数,ch[1]记录b的个数。
* 3.对字符中的每一个字符,判断其是否小写字母,如果是,则数组中的相应计数器加1.
第一种风格的源代码:
[java]
view plain
copy
print?
package 第四天;
import java.util.Scanner;
public class 统计字符 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] a = new int[26];//数组存放对应26个字母的出现次数比如a[0]的值对应字母a出现的次数,a[2]的值对应c出现的次数。。。
System.out.println("请输入一串小写字符串");
String str=sc.nextLine();
str=str.trim().toLowerCase();//去掉前后空格并且全转为小写字母
//此for循环求各个字母出现的次数
for (int i = 0; i < str.length(); i++)
{
char c = str.charAt(i);//依次取出每个字母
int index=c-'a';//这样就可以得到每个字母对应的数组下标
a[index]=a[index]+1;//对应字母出现则存储字母的数组加1
}
//此for循环打印每个字母出现的次数,没有出现则不打印输出
for (int i = 0; i < a.length; i++)
{
if(a[i]!=0)//等于0相当于这个字母没出现就没必要打印
{
System.out.println("字母"+(char)(i+'a')+"出现:"+a[i]+"次");
}
}
}
}
[java]
view plain
copy
print?
package 第三天_练习题;
import java.util.Scanner;
public class 统计字符个数 {
// 静态方法统计出每个字母出现的次数
public static int[] countLetters(String str)
{
int[] a = new int[26];
// 此for循环求各个字母出现的次数
for (int i = 0; i < str.length(); i++)
{
char c = str.charAt(i);// 依次取出每个字母
int index = c - 'a';// 这样就可以得到每个字母对应的数组下标
a[index] = a[index] + 1;// 对应字母出现则存储字母的数组加1
}
return a;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int[] a = countLetters(str);//调用统计各字母出现次数的函数,返回类型是数组
//此for循环打印每个字母出现的次数,没有出现则不打印输出
for (int i = 0; i < a.length; i++)
{
if(a[i]!=0)//等于0相当于这个字母没出现就没必要打印
{
System.out.println("字母"+(char)(i+'a')+"出现:"+a[i]+"次");
}
}
}
}
*需求:统计字符串中每个字母:
* 说明:编写程序,提示用户输入一个字符串,
* 然后统计字符串中每个字母出现的个数,忽略字母的大小写。
*
* 原理:
* 1.使用String类中的toLowerCase()方法,将字符串中的大写字母转换成小写形式。
* 2.构造一个具有26个int值得数组ch ,每个元素记录一个字母出现的次数。
* 即,ch[0]记录a的个数,ch[1]记录b的个数。
* 3.对字符中的每一个字符,判断其是否小写字母,如果是,则数组中的相应计数器加1.
第一种风格的源代码:
[java]
view plain
copy
print?
package 第四天;
import java.util.Scanner;
public class 统计字符 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] a = new int[26];//数组存放对应26个字母的出现次数比如a[0]的值对应字母a出现的次数,a[2]的值对应c出现的次数。。。
System.out.println("请输入一串小写字符串");
String str=sc.nextLine();
str=str.trim().toLowerCase();//去掉前后空格并且全转为小写字母
//此for循环求各个字母出现的次数
for (int i = 0; i < str.length(); i++)
{
char c = str.charAt(i);//依次取出每个字母
int index=c-'a';//这样就可以得到每个字母对应的数组下标
a[index]=a[index]+1;//对应字母出现则存储字母的数组加1
}
//此for循环打印每个字母出现的次数,没有出现则不打印输出
for (int i = 0; i < a.length; i++)
{
if(a[i]!=0)//等于0相当于这个字母没出现就没必要打印
{
System.out.println("字母"+(char)(i+'a')+"出现:"+a[i]+"次");
}
}
}
}
package 第四天; import java.util.Scanner; public class 统计字符 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] a = new int[26];//数组存放对应26个字母的出现次数比如a[0]的值对应字母a出现的次数,a[2]的值对应c出现的次数。。。 System.out.println("请输入一串小写字符串"); String str=sc.nextLine(); str=str.trim().toLowerCase();//去掉前后空格并且全转为小写字母 //此for循环求各个字母出现的次数 for (int i = 0; i < str.length(); i++) { char c = str.charAt(i);//依次取出每个字母 int index=c-'a';//这样就可以得到每个字母对应的数组下标 a[index]=a[index]+1;//对应字母出现则存储字母的数组加1 } //此for循环打印每个字母出现的次数,没有出现则不打印输出 for (int i = 0; i < a.length; i++) { if(a[i]!=0)//等于0相当于这个字母没出现就没必要打印 { System.out.println("字母"+(char)(i+'a')+"出现:"+a[i]+"次"); } } } }第一种风格的源代码:把统计字母个数包装成了一个静态方法
[java]
view plain
copy
print?
package 第三天_练习题;
import java.util.Scanner;
public class 统计字符个数 {
// 静态方法统计出每个字母出现的次数
public static int[] countLetters(String str)
{
int[] a = new int[26];
// 此for循环求各个字母出现的次数
for (int i = 0; i < str.length(); i++)
{
char c = str.charAt(i);// 依次取出每个字母
int index = c - 'a';// 这样就可以得到每个字母对应的数组下标
a[index] = a[index] + 1;// 对应字母出现则存储字母的数组加1
}
return a;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int[] a = countLetters(str);//调用统计各字母出现次数的函数,返回类型是数组
//此for循环打印每个字母出现的次数,没有出现则不打印输出
for (int i = 0; i < a.length; i++)
{
if(a[i]!=0)//等于0相当于这个字母没出现就没必要打印
{
System.out.println("字母"+(char)(i+'a')+"出现:"+a[i]+"次");
}
}
}
}
相关文章推荐
- 对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
- 统计一串字符串中各个字符出现的次数
- java统计字符串中的字符重复的次数和和出现次数 实例(输入字符串)
- Java_基础—统计字符串中每个字符出现的次数
- java中TreeMap的用法-统计字符串中每个字符出现的次数
- 统计某java文件中的代码行数、某个字符(char)、某字符串(String)出现的次数
- 统计一个给定字符串中指定的字符出现的次数
- java源码——统计字符串中字符出现的次数
- Java中统计字符串中每个字符出现的次数
- [Java]统计一串字符串中每个字母出现的次数
- Java统计字符串中中文,英文,特殊字符出现的次数
- 实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。
- java中怎么统计一个字符串中每个字符的出现次数
- Java,统计字符串中各字符出现的次数
- Java小程序:字符串中,统计每个字符出现的次数
- 统计一个给定字符串中指定的字符出现的次数
- java统计字符串中重复字符出现次数的方法
- java小练习之统计字符串中字符出现的次数
- Java实现给定任一字符串,长度为任意,要求找出其出现次数最多的字符及其出现次数。
- java统计字符串中每个字符出现的次数并查询出现次数最多的字符和次数