Java案例——多人投票
public class Test2 {
public static void main ( String [ ] args) {
Random r = new Random ( ) ;
String [ ] ele = { "A" , "B" , "C" , "D" , "AB" , "AC" , "AD" , "ABC" , "ABD" , "ACD" , "ABCD" , "BC" , "BD" , "BCD" , "CD" } ;
String [ ] names = createNames ( ) ;
printArr ( names) ;
Map < String , String > data = new TreeMap < > ( ) ;
for ( int i = 0 ; i < names. length; i++ ) {
String se = ele[ r. nextInt ( ele. length) ] ;
data. put ( names[ i] , se) ;
}
Map < Character , Integer > infos = new HashMap < > ( ) ;
Collection < String > values = data. values ( ) ;
for ( String value : values) {
for ( String s : values) {
System . out. print ( s+ "\t" ) ;
for ( int i = 0 ; i < s. length ( ) ; i++ ) {
char ch = s. charAt ( i) ;
if ( infos. containsKey ( ch) ) {
infos. put ( ch, infos. get ( ch) + 1 ) ;
}
else {
infos. put ( ch, 1 ) ;
}
}
}
}
System . out. println ( ) ;
System . out. println ( infos) ;
}
public static String [ ] createNames ( ) {
String [ ] names = new String [ 3 ] ;
for ( int i = 0 ; i < names. length ; i++ ) {
names[ i] = ( i+ 1 ) + "号" ;
}
return names;
}
public static void printArr ( String [ ] arr) {
StringBuilder sb = new StringBuilder ( '[' ) ;
for ( int i = 0 ; i < arr. length; i++ ) {
sb. append ( arr[ i] ) ;
}
sb. append ( ']' ) ;
System . out. println ( sb) ;
}
}