import java.util.*;class CharGenerator
{
private static char[] chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
private static Random rand=new Random();
public static char next()
{
return chars[rand.nextInt(chars.length)];
}
}
public class StringGenerator
{
private int len;
public static StringGenerator gen=new StringGenerator(5);
public StringGenerator(int len){this.len=len;}
private String next()
{
char[] buffer=new char[len];
for(int i=0;i<len;i++)
buffer[i]=CharGenerator.next();
return new String(buffer);
}
public static void fill(String[] strs,StringGenerator gen,int len)
{
int i=0;
while(i++<len-1){strs[i]=gen.next();}
}
public static void main(String[] args)
{
StringGenerator sg=new StringGenerator(10);
//for(int i=0;i<10;i++)
//System.out.println(sg.next());
String[] strs=new String[12];
fill(strs,gen,strs.length);
//System.out.println(Arrays.asList(strs));
}
}最后检查map的size发现为零,问题在哪啊?
{
private static char[] chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
private static Random rand=new Random();
public static char next()
{
return chars[rand.nextInt(chars.length)];
}
}
public class StringGenerator
{
private int len;
public static StringGenerator gen=new StringGenerator(5);
public StringGenerator(int len){this.len=len;}
private String next()
{
char[] buffer=new char[len];
for(int i=0;i<len;i++)
buffer[i]=CharGenerator.next();
return new String(buffer);
}
public static void fill(String[] strs,StringGenerator gen,int len)
{
int i=0;
while(i++<len-1){strs[i]=gen.next();}
}
public static void main(String[] args)
{
StringGenerator sg=new StringGenerator(10);
//for(int i=0;i<10;i++)
//System.out.println(sg.next());
String[] strs=new String[12];
fill(strs,gen,strs.length);
//System.out.println(Arrays.asList(strs));
}
}最后检查map的size发现为零,问题在哪啊?
你把结果打印一下,估计你就可以找到问题了
不过看到你代码有点问题改了下
while(i<len){strs[i++]=gen.next();}
HnnopFNjzL
UXpJqfQexz
TRdMxmyXjR
bODnHdlCpO
oobfMgbvnT
HcfGDwNxVh
EZFrkLjBZJ
TvjSvioiQz
rwqvUjGgRA
PgMuNCyJvH
[null, NdXTh, bwOGC, jGlYk, NkYsV, ZYcMP, zhriV, vXVst, StPSg, ziyOn, oeBRp, vDqIL]你说的是第一个为NULL???
这里嘛??
楼上的正确
import java.util.*;class CharGenerator
{
private static char[] chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
private static Random rand=new Random();
public static char next()
{
return chars[rand.nextInt(chars.length)];
}
}
class Pair
{
public String key,value;
public Pair(String key,String value)
{this.key=key;this.value=value;}
}
class StringGenerator
{
private int len;
public static StringGenerator gen=new StringGenerator(10);
public StringGenerator(int len){this.len=len;}
public String next()
{
char[] buffer=new char[len];
for(int i=0;i<len;i++)
buffer[i]=CharGenerator.next();
return new String(buffer);
}
public static void fill(String[] strs,StringGenerator gen,int len)
{
int i=0;
while(i<len-1){strs[i++]=gen.next();}
}
}
public class MapGenerator
{
public static MapGenerator gen=new MapGenerator();
public static void fill(Map m,int len)
{
StringGenerator sg=new StringGenerator(12);
for(int i=0;i<len;i++)
m.put(sg.next(),sg.next());
}
public static void main(String[] args)
{
Map m=new HashMap(11);
fill(m,m.size());
//System.out.println(m.size());
}
}
HashMap(int initialCapacity)
Constructs an empty HashMap with the specified initial capacity and the default load factor (0.75).
但我不知道是什么原因
********
fill(m,m.size());
m.size()==0,楼主还想有什么结果!!!