编写一个方法,返回一个double型二维数组

lanxin1060 2010-12-17 10:26:06
编写一个方法,返回一个double型二维数组,数组中的元素能过解析字符串参数获得。如字符参数:
“1,2;3,4,5;6,7,8"写出对应的数组
我编了,可是调不出来帮帮我!!!

public class Arr{
public static void main(String[] args){
String s = "1,2;3,4,5;6,7,8";
double[][] ss = d(s);
for(int i=0; i<ss.length; i++) {
for(int j=0; j<ss[i].length; j++) {
System.out.print(ss[i][j] + " ");
}
System.out.println();
}
}
public static double[][] d(String s){
double[][] ss = new double[3][];
String[] st ;
st = s.split(";");
for(int i = 0; i<3 ; i++){
String[] stt ;
stt = st[i].split(",");
for(int j=0; j< stt.length ; j++){
ss[i][j] = Double.parseDouble(stt[j]);
}
}
return ss;
}

}
...全文
711 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangkai5945 2010-12-17
  • 打赏
  • 举报
回复
看错了 当我没说··
huangkai5945 2010-12-17
  • 打赏
  • 举报
回复
搞笑了 String的能直接转化成double的
lost_guy_in_scut 2010-12-17
  • 打赏
  • 举报
回复
如果单单从功能需求来说,一下这个程序可以解决。
楼主注意结贴啊!!!


package com.csdn;



public class DoubleSpilit{
public static void main(String[] args){
String s = "1,2;3,4,5;6,7,8";
double[] ss=DoubleSpilits(s);
for(int i=0;i<ss.length;i++)
{
System.out.println("ss"+i+ "is "+ss[i]);
}

}

/**
* 分割一个具有,和;分隔符的字符串
* @return 分隔后的数字
* **/
public static double[] DoubleSpilits(String s){
String[] ss ; //保存分隔后的数组
String st ;
st=s.replaceAll(";", ","); //将string s所有的;都用,代替
ss = st.split(","); //分割字符串s
//将string[] 转换为double[]
double[] ds=new double[ss.length];
for(int i=0;i<ss.length;i++)
{
ds[i]=Double.parseDouble(ss[i]);
}
return ds;
}

}
茫茫大海 2010-12-17
  • 打赏
  • 举报
回复

public class Arr {
public static void main(String[] args) {
String s = "1,2;3,4,5;6,7,8";
double[][] ss = d(s);
for (int i = 0; i < ss.length; i++) {
for (int j = 0; j < ss[i].length; j++) {
System.out.print(ss[i][j] + " ");
}
System.out.println();
}
}

public static double[][] d(String s) {
// double[][] ss = new double[3][];
// String[] st;
// st = s.split(";");
// for (int i = 0; i < 3; i++) {
// String[] stt;
// stt = st[i].split(",");
// for (int j = 0; j < stt.length; j++) {
// ss[i][j] = Double.parseDouble(stt[j]);
// }
// }
// return ss;
//你的数组的第二维没初始化

String[] st = s.split(";");
double[][] ss = new double[st.length][];
for(int i=0; i<ss.length; i++) {
String[] stt = st[i].split(",");
ss[i] = new double[stt.length];
for(int j=0; j<ss[i].length; j++) {
ss[i][j] = Double.parseDouble(stt[j]);
}
}
return ss;
}

}
yanji2007 2010-12-17
  • 打赏
  • 举报
回复
运行后出现这个!
Exception in thread "main" java.lang.NullPointerException
at as.d(as.java:27)
at as.main(as.java:11)
不解!!
哥是菜鸟啊!
yanji2007 2010-12-17
  • 打赏
  • 举报
回复
st = s.split(";");
上面这句是啥啊??当年我学java没用过这个!悲剧!
yanji2007 2010-12-17
  • 打赏
  • 举报
回复
给点注释啊!!这么多大括号????不解!!!

62,614

社区成员

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

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