站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题用.split方法产生的两个问题

用.split方法产生的两个问题

摘要: 用.split方法产生的两个问题


import java.util.*;
import java.io.*;
import java.lang.*;

class facetrain
{
public static void main(String[] args)
{
/**********************Initialize the network********************/

// Nodes' Values
double [] In = new double[15360];

try
{
File in = new File("10_1_1.txt");

FileInputStream file = new FileInputStream(in);

int length = (int)in.length();

byte[] length_byte = new byte[length];

file.read(length_byte);

String s = new String(length_byte);

String[] result = s.split("//s");
for (i=0; i {

System.out.println("The In["+ i + "] = " + result[i]);
}


}
catch (IOException e)
{

System.out.println("Could not read file.");

}

}
}

我有一个文件:10_1_1.txt, 里面有这样的数据:
37 40 48 49 49 45 41 34 34 34 33 34 33 33 33 33
32 31 31 31 30 30 29 29 28 27 28 27 27 26 26 26
25 25 24 24 24 23 23 22 22 21 21 20 20 19 19 19
18 19 20 21 25 25 24 22 16 17 15 22 21 20 21 20
20 20 19 19 19 16 20 21 23 23 23 23 23 23 23 24
24 24 25 24 24 25 26 25 25 26 26 25 26 26 26 26
27 27 27 28 28 29 29 29 29 30 29 29 29 29 29 29

我的java程序要做的事情主要是把这些数据提取出来,然后存在 double 型数组 In[] 里面,但是用了s.split("//s")这个之后,得到的结果中会有一些空数据,像这样,33 33 32 31,我猜是由于.txt文件中有“回车”的缘故。
问题1:怎么样把这些空数据去掉?
问题2:怎么样把用s.split("//s")提取出来的数据存在 double 型数组 In[] 里面, 程序老说:incompatible type,好像是数据类型不对。
各位大侠帮帮忙了,在这里多谢多谢!


1、
.....
String s = new String(length_byte);
// 加入下行语句
s = s.replaceAll("/n", "");
String[] result = s.split("//s");
.....

2、
String[] result = s.split("//s");
double[] doubles = new double[result.length];
for (int i = 0; i < result.length; i++) {
System.out.println("The In[" + i + "] = " + result[i]);
doubles[i] = Double.parseDouble(result[i]);
System.out.println("The doubles[" + i + "] = " + doubles[i]);
}


谢谢,emin_lee(),问题都解决了。


↑返回目录
前一篇: JDBC连接mysql无法理解的异常
后一篇: 这个程序为什么不出来??