如何将字符串数组进行重新组合,就是打乱字符串数组元素的顺序。比如String[] sre={"12.","47@","..."},从键盘输入放到字符串数组中,然后打乱他们的顺序,重新组合成一个字符串String str=“12.47@...”或者“[email protected].”等,并将这些重组的字符串再放入一个字符串数组中。
解决方案 »
- 求解线程中读取文件的问题
- object 是高度抽象的一个类.当初JAVA设计者如何想到这些属性的??
- 基本的java语法看哪一本书?(需要网上有电子文档下载的)
- 我使用struts开发一个注册功能,如果密码输入不正确,mapping.forward转到注册页面后,希望username还是原来的值,不是空的
- Java实现局域网聊天软件分享 + 散分
- 初学者问题, 在 java中一个创建对象的语法 怎么理解?
- 保存vector中的elements
- 简单题,立刻给分,关于JTable
- 怎样才能把网页上的东西复制下来?
- 创建一个txt文件失败
- 正在学java,看了jdk感觉里面好多的类和方法都不怎么明白,好迷茫,是不是我不适合搞编程?
- 为什么有时java程序运行很卡?
字符串拆分成数组要有个标准吧、以什么来拆分、
public static void main(String[] args) {
String[] sre = { "12.", "47@", "..." };
List<String> values = new ArrayList<String>();
for (String string : sre) {
values.add(string);
}
StringBuffer sb = new StringBuffer();
for (String string : sre) {
sb.append(values.remove(new Random().nextInt(values.size())));
}
System.out.println(sb);
}
for (int i=0; i<sre.length;i++) {
swap(sre, rand.nextInt(sre.length), rand.nextInt(sre.length));
}
当然这个会破坏原有数组元素的顺序
当然效率的话就不算最高的,如果要效率高就是直接乱序取出该数组元素,伪代码类似:
StringBuffer sb;
for (int i=sre.length; i>0; i--) {
int r = rand.nextInt(i);
sb.append(sre[r]);
sre[r] = sre[i-1]; // 置换
}
注意处理完毕后会破坏原有数组内容。
String[] strs = str.split(",");
List<String> values = new ArrayList<String>();
List<String> list = new ArrayList<String>();
for (String string : strs) {
values.add(string);
}
StringBuffer sb = new StringBuffer();
for(int i=0;i<100;i++){
for (String string : strs) {
sb.append(values.remove(new Random().nextInt(values.size())));
}
list.add(sb);
}