根据给出一字符串"aaaa",写个程序来实现显示出1000个a的字符串"aaaaaa...aaaaaa"(注意要讲究效率) 根据给出一字符串"aaaa",写个程序来实现显示出1000个a的字符串"aaaaaa...aaaaaa"(注意要讲究效率) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 效率?楼主是说执行效率?那好办System.out.print(“把你那一千个a写在这,就是你累点”); public class Test { public static void main(String[] args) { String str = "abc"; System.out.println(getString(str, 5)); } private static String getString(String str, int repeat) { if((str == null) || (str.length() == 0) || (repeat == 1)) { return str; } if(repeat < 1) { return ""; } char[] chs = str.toCharArray(); char[] nchs = new char[chs.length * repeat]; for(int i = 0; i < nchs.length; i++) { nchs[i] = chs[i % chs.length]; } return new String(nchs); }} 先定义一个定长字符串有1000个空字符,然后用replace函数把字母'a'代码空字符串但我不知道有没有可定义定长的字符串语句? package test;/** * * @author - yy * @time - Dec 10, 2008 2:19:49 PM */public class Test6 { public static void main(String[] args) { String str = "abcdefghigklmn"; getString(str, 500000); // 耗时125毫秒 [双核2.0GHz,2G内存] getString2(str, 500000);// 耗时62毫秒 } private static String getString(String str, int repeat) { long start = System.currentTimeMillis(); if((str == null) || (str.length() == 0) || (repeat == 1)) { return str; } if(repeat < 1) { return ""; } char[] chs = str.toCharArray(); char[] nchs = new char[chs.length * repeat]; for(int i = 0; i < nchs.length; i++) { nchs[i] = chs[i % chs.length]; } System.out.println(System.currentTimeMillis() - start); return new String(nchs);} private static String getString2(String str, int repeat) { long start = System.currentTimeMillis(); if ((str == null) || (str.length() == 0) || (repeat == 1)) { return str; } if (repeat < 1) { return ""; } char[] chs = str.toCharArray(); char[] nchs = new char[chs.length * repeat]; int pos = 0; int chsLength = chs.length; for (int i = 0; i < repeat; i++) { System.arraycopy(chs, 0, nchs, pos, chsLength); // 这个函数效率高些 pos+=chsLength; } System.out.println(System.currentTimeMillis() - start); return new String(nchs); } }// 函数原型// public static native void arraycopy(); java线程的使用(生产和消费的实现) tools.jar dt.jar rt.jar 分别是什么??? 高手解决一个问题 急求:url检索问题 各位大侠帮我看看jar文件怎么打开 急,麻烦各位帮我看看,立马给分! 喜欢java的朋友请进~ JPanel上面加背景图的疑惑 用socket怎样实现Vector向量的发送? 阅读《java并发编程实战》,有一个地方有疑惑,求解答 到底是纯文本还是一个dom对象! 一道面试题帮忙解决
String str = "abc";
System.out.println(getString(str, 5));
} private static String getString(String str, int repeat) {
if((str == null) || (str.length() == 0) || (repeat == 1)) {
return str;
}
if(repeat < 1) {
return "";
}
char[] chs = str.toCharArray();
char[] nchs = new char[chs.length * repeat];
for(int i = 0; i < nchs.length; i++) {
nchs[i] = chs[i % chs.length];
}
return new String(nchs);
}
}
但我不知道有没有可定义定长的字符串语句?
package test;/**
*
* @author - yy
* @time - Dec 10, 2008 2:19:49 PM
*/
public class Test6 {
public static void main(String[] args) {
String str = "abcdefghigklmn";
getString(str, 500000); // 耗时125毫秒 [双核2.0GHz,2G内存]
getString2(str, 500000);// 耗时62毫秒
}
private static String getString(String str, int repeat) {
long start = System.currentTimeMillis();
if((str == null) || (str.length() == 0) || (repeat == 1)) {
return str;
}
if(repeat < 1) {
return "";
}
char[] chs = str.toCharArray();
char[] nchs = new char[chs.length * repeat];
for(int i = 0; i < nchs.length; i++) {
nchs[i] = chs[i % chs.length];
}
System.out.println(System.currentTimeMillis() - start);
return new String(nchs);
} private static String getString2(String str, int repeat) {
long start = System.currentTimeMillis();
if ((str == null) || (str.length() == 0) || (repeat == 1)) {
return str;
}
if (repeat < 1) {
return "";
}
char[] chs = str.toCharArray();
char[] nchs = new char[chs.length * repeat];
int pos = 0;
int chsLength = chs.length;
for (int i = 0; i < repeat; i++) {
System.arraycopy(chs, 0, nchs, pos, chsLength); // 这个函数效率高些
pos+=chsLength;
}
System.out.println(System.currentTimeMillis() - start);
return new String(nchs);
}
}
// 函数原型
// public static native void arraycopy();