写了一个函数,输入一个字符串和一个字符长度,对该字符串进行分隔,测试有问题,请大家帮忙,谢谢

toxicant 2007-11-28 02:53:07
//写了一个函数,输入一个字符串和一个字符长度,对该字符串进行分隔
public class D {

public static String[] spilt(String str,int chars)
{
int n = (str.length()+chars-1)/chars;
String[] ret = new String[n];
for(int i=0; i<n; i++)
{
if(i<n-1)
{
ret[i]=str.substring(i*chars,(i+1)*chars);
}else{
ret[i]=str.substring(i*chars);
}
}
return ret;
}
public static void main(String[] args) {
System.out.println(spilt("aaaaaa",3));

}

}

运行结果为:
[Ljava.lang.String;@11b86e7
...全文
346 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tao286655301 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

int n = (str.length()+chars-1)/chars;
这句是怎么想到的?
[/Quote]

int n=((str.length())/chars)+1;这样想比较简单。。。
tao286655301 2012-10-20
  • 打赏
  • 举报
回复
String[]str=D.spilt("aaaaaa",3);
for(int i=0;i<str.length();i++){
System.out.println(str[i]);
}
打印结果:aaa
aaa
piaobosiSE 2011-10-01
  • 打赏
  • 举报
回复
int n = (str.length()+chars-1)/chars;
这句是怎么想到的?
Zero2One 2007-11-28
  • 打赏
  • 举报
回复
查查api,看看split方法的返回值是什么.....
freedom2001 2007-11-28
  • 打赏
  • 举报
回复
打印的是,所以显示是那样的
public class StringSplit {
public static String[] spilt(String str,int chars)
{
int n = (str.length()+chars-1)/chars;
String[] ret = new String[n];
for(int i=0; i <n; i++)
{
if(i <n-1)
{
ret[i]=str.substring(i*chars,(i+1)*chars);
}else{
ret[i]=str.substring(i*chars);
}
}
return ret;
}
public static void main(String[] args) {
System.out.println(spilt("aaabbbccc",3)[0]);

}
这样可以得到数组第二个字符串了
onlyjavalhj 2007-11-28
  • 打赏
  • 举报
回复
你打印的是一个数组

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧