java随机产生100各大写字母统计各个大写字母出现次数

如题所述

我自己写的,我觉得这样写比较精简:

Map c=new HashMap();//创建集合保存字母出现次数计数,把字母当作键,次数当值最合适。

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

               int j = (int)(65+Math.random()*(26));//随机产生一个65-90的数字,因为是大写字母的ASCII码对应的数字范围

               //System.out.println(j);

               char zimu  = (char)j;//将随机产生的数字转换成字符“字母”  

               System.out.print(zimu+""+"   ");

               if(c.get(zimu)!=null){//判断集合中是否有这个字母

               c.replace(zimu, c.get(zimu), Integer.parseInt(c.get(zimu)+"")+1);//出现过这个字母则将这个值对应+1并替换之前的

               }else{

               c.put(zimu,1 );//没出现过的字母,存入集合,次数默认为1

               }

              }

           System.out.println("\n字母出现次数计数:");

           System.out.print(c);//直接打印集合一目了然不需要自己写循环,并且MAP会自动排序

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-12
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;

public class MyDemo {
public static void main(String[] args) {
ArrayList<Character> list = new ArrayList<Character>();//保存字母
for (int i = 0; i < 100; i++) {
int x =65+(int)(Math.random()*26);//大写字母是从65~90的范围
list.add((char)x);
}
HashMap<Character,Integer> map = new HashMap<Character,Integer>();//保存字母和出现的次数
for (int i = 0; i < list.size(); i++) {
if(map.containsKey(list.get(i))){
int times = map.get(list.get(i))+1;
map.put(list.get(i), times);
}else{
map.put(list.get(i), 1);
}
}
Iterator<Entry<Character,Integer>> it = map.entrySet().iterator();
while(it.hasNext()){
Entry<Character,Integer> e = it.next();
System.out.println("字母:"+e.getKey()+"次数:"+e.getValue());
}
}
}

输出

字母:A次数:5
字母:B次数:3
字母:C次数:6
字母:D次数:5
字母:E次数:5
字母:F次数:4
字母:G次数:3
字母:H次数:4
字母:I次数:2
字母:J次数:3
字母:K次数:4
字母:L次数:2
字母:M次数:1
字母:N次数:8
字母:O次数:3
字母:P次数:2
字母:Q次数:7
字母:R次数:7
字母:S次数:4
字母:U次数:6
字母:V次数:4
字母:W次数:6
字母:X次数:3
字母:Y次数:2
字母:Z次数:1

第2个回答  2015-11-12
可以利用Random()方法随机产生一系列数,范围为大写字母对应的ASCII码范围,然后转换为对应的大写字母,并且每次随机产生大写字母后就进行一次统计,可用长度大小为26的数组依次存储各大写字母的出现次数。本回答被网友采纳

java随机产生100各大写字母统计各个大写字母出现次数
我自己写的,我觉得这样写比较精简:Map c=new HashMap();\/\/创建集合保存字母出现次数计数,把字母当作键,次数当值最合适。for(int i=0;i<100;i++){ int j = (int)(65+Math.random()*(26));\/\/随机产生一个65-90的数字,因为是大写字母的ASCII码对应的数字范围 \/\/System.out.println(...

用java写 随机生成100个大写字母和100个一位数,每行打印10个数。。求...
System.out.println(stringInt.substring(m*10,(m+1)*10));} System.out.println("===生成的随机大写字母===");\/\/每行一个大写字母输出 for(int n = 0; n < (100\/printLength); n++){ System.out.println((stringChar.substring(n*10,(n+1)*10)));} } } ...

Java中怎样产生随机数和随机字母
java产生随机数和随机字母,使用madom类,示例如下:package com.qiu.lin.he;public class CeShi {public static void main(String[] args) {int str1 = 0;for (int i = 0; i < 25; i++) {\/\/ 你想生成几个字符的,就把4改成几,如果改成1,那就生成一个随机字母.str1 = (char) ...

用java怎么实现统计一英文文档里各个英语字母的个数及所占百分比_百度...
import java.text.NumberFormat;public class Test { private static NumberFormat nf = new DecimalFormat("0.00");public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("c:\/test.txt"));StringBuilder sb = new StringBuilder();while...

java中怎么输出字母表中所有的大写字母
firstEnglish = (int)firstE;lastEnglish = (int)lastE;System.out.println("英文大写字母表: ");for(int i = firstEnglish; i <= lastEnglish; ++i){ char uppercase, lowercase;uppercase = (char)i;lowercase = (char)(i + 32);System.out.print(" " + uppercase + lowercase);}...

java中怎么输出字母表中所有的大写字母
System.out.println("英文大写字母表: "); for(int i = firstEnglish; i <= lastEnglish; ++i) { char uppercase, lowercase; uppercase = (char)i; lowercase = (char)(i + 32); System.out.print(" " + uppercase + lowercase); } System.out.println(...

java统计字符所含的大写字母,小写字母,空格,数字和其他字符的个数,遇...
import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class Cout {\/\/定义要写入文件的数据static String s = "The country certainly has a long tradition of soccer and has won the World Cup five times.132465456789. \\n";public static void main(String[] ...

用java输入一个大写字母,顺序输出从A到这个大写字母之间得字母数列
import java.util.Scanner;public class test { private static void input(){ System.out.print("请输入一个大写字母:");char str=new Scanner(System.in).next().charAt(0);if (str<=65||str>90) { System.out.println("你输入的不是一个大写字母,或者大写字母为A!");System.out....

...小写英文在字母个数、数字的个数。substring java
import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int upperCase = 0;int lowCase = 0;int num = 0;System.out.println("请输入任意字符串");String s = sc.next();char[] letters = s.toCharArray();for(...

编写Java程序,将一字符串其中的大小写字母的字符分别输出
public class Main { public static void main(String[] args) { String s = "aaBvdEFdsd";StringBuffer ss = convertString(s);System.out.println("大小写转换后是:" + convertString(s));System.out.println("倒序输出后是:" + ss.reverse());} public static StringBuffer convertString(...

相似回答