用最短的代码创建这个String??? 本帖最后由 q13230965 于 2009-12-23 16:47:10 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Rubyc = '*' * size;Java写得短未必牛,代码要尽量错误少,这才是目标。用StringBuffer。 System.out.println(new String(new char[7]).replace((new char[1])[0], '*')); System.out.println(new String(new char[7]) ); System.out.println(new String(new char[7]).replace((new char[1])[0], '*'));你比较一下这两者的区别就明白了这种回复很久以前就有过,提问之前可以搜索下以前的帖子。 import org.apache.commons.lang.StringUtils;public class Test { public static void main(String[] args) { System.out.println(StringUtils.repeat("*", 7)); }}不仅仅弄n个重复的字符,org.apache.commons.lang.StringUtils还有很多很多有用的方便的功能。 import org.apache.commons.lang.StringUtils;public class Test { public static void main(String[] args) { System.out.println(makeStars(7)); } public static String makeStars(int size) { return StringUtils.repeat("*", size); }} 用 char[] 吧,效率比其他的都更高一些。public String makeStars(int size, char ch) { if(size < 1) { throw new IllegalArgumentException("size must be greater than 0"); } char[] chs = new char[size]; for(int i = 0; i < size; i++) { chs[i] = ch; } return new String(ch);} 只有17楼一个人真正懂JAVA。其它的只能算FANS String[] str = new String[7];Collections.replaceAll(Arrays.asList(str), null, "*");System.out.println(str); String[] str = new String[7]; Collections.replaceAll(Arrays.asList(str), null, "*"); for (String value : str) { System.out.print(value); } return size!=1?(start(size-1)+"*"):"*";这个怎么样啊 这段代码唯一需要改进的地方是:for(int i=0; i< size; i++) 改成:for(int i=0; i< chs.length; i++) 火龙果自己想想为什么?我很怀疑是其他人能懂为什么,当然后来的人不算。 public String makeStars(int size){ StringBuilder sb = new StringBuilder(size); for(int i=0; i<size; i++){ sb.append("*"); } return sb.toString();}记住:最少的不一定就是最好的,还要考虑到效率问题. 运行之后得到的数跟实际的不一致啊,求问题所在? 紧急求助:JAVA中TCP的SOCKET通信超时处理 session问题 请大家帮我看一个奇怪的日期型问题 共享大量oreilly的电子书java+mysql,喜欢的话顶,其他很多方面不断增加 JComponent怎么产生一个新的实例? 为什么HelloWorld没有显示? 一个字符串中取子串长度的问题 请问java连接informix数据库的Driver在哪里??? main方法怎么可以访问私有方法和字段,求解 请教一个幂运算的问题. 读入相同的文件,会占用更多的内存吗?
c = '*' * size;
Java
写得短未必牛,代码要尽量错误少,这才是目标。
用StringBuffer。
System.out.println(new String(new char[7]) );
System.out.println(new String(new char[7]).replace((new char[1])[0], '*'));
你比较一下这两者的区别就明白了
这种回复很久以前就有过,提问之前可以搜索下以前的帖子。
import org.apache.commons.lang.StringUtils;public class Test { public static void main(String[] args) {
System.out.println(StringUtils.repeat("*", 7));
}
}
不仅仅弄n个重复的字符,org.apache.commons.lang.StringUtils还有很多很多有用的方便的功能。
import org.apache.commons.lang.StringUtils;public class Test { public static void main(String[] args) {
System.out.println(makeStars(7));
} public static String makeStars(int size) {
return StringUtils.repeat("*", size);
}
}
if(size < 1) {
throw new IllegalArgumentException("size must be greater than 0");
}
char[] chs = new char[size];
for(int i = 0; i < size; i++) {
chs[i] = ch;
}
return new String(ch);
}
Collections.replaceAll(Arrays.asList(str), null, "*");
System.out.println(str);
Collections.replaceAll(Arrays.asList(str), null, "*");
for (String value : str) {
System.out.print(value);
}
这个怎么样啊
这段代码唯一需要改进的地方是:for(int i=0; i< size; i++)
改成:for(int i=0; i< chs.length; i++)
火龙果自己想想为什么?
我很怀疑是其他人能懂为什么,当然后来的人不算。
public String makeStars(int size){
StringBuilder sb = new StringBuilder(size);
for(int i=0; i<size; i++){
sb.append("*");
}
return sb.toString();
}记住:最少的不一定就是最好的,还要考虑到效率问题.