您的位置:首页 > 其它

产生随机字符并进行计数

2015-04-09 17:24 253 查看

package array;

//import java.util.Scanner;

public class CountLetter {

 public static void main(String[] args) {

  // 统计每个字母出现的次数

  

  char[] chars = creatArray();

  

  System.out.println("The lowersletter is ");

  displayArray(chars);

  

  int[] counts = countchars(chars);

  System.out.println();

  

  System.out.println("The occurences of each letter are ");

  displayCount(counts);

 }

 

 public static char[] creatArray()//创建一个数组

 {

  //Scanner input = new Scanner(System.in);

  char[] chars = new char[100];

  for(int i=0;i<100;i++)

   chars[i] = getRandomLowerCaseLetter(); //调用函数产生随机字符

  return chars;

  

 }

 public static void displayArray(char[] a)//打印出数组

 {

  for(int i=0;i<100;i++)

  {

   if((i+1)%20 ==0)//控制输出格式

    System.out.println(a[i]);

   else

    System.out.print(a[i]+" ");

  }

 }

 public static int[]  countchars(char[] b)//进行计数

 {

  

  int[] counts = new int[26];

  for(int i=0;i<b.length;i++)

  {

   counts[b[i]-'a']++;//巧妙运用字符的计算转换为ACSII值

  }

  return counts;//只用返回首地址即返回数组

  

 }

 public static void displayCount(int[] c)//打印出对应的数量

 {

  for(int i=0;i<c.length;i++)

  {

   if((i+1)%10==0)//控制格式

    System.out.println(c[i]+" "+(char)(i+'a'));

   else

    System.out.print(c[i]+" "+(char)(i+'a')+" ");

  }

 }

 public static char getRandomLowerCaseLetter()

 {

  return getRandomCharacter('a','z');

 }

 

 public static char getRandomCharacter(char a,char b)

 {

  return (char)(a+Math.random()*(b-a+1));//利用Math.random()产生随机数,然后进行强制转换变为字符

 }

 

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐