求教一个关于split分割字符串以后的问题,多谢了!
各位高手请指点下迷津:
我想把有三行字符串的txt文档的数据用split分割返回到数组里,然后把数组的值依次赋值给6个不同的String变量a,b,c,d,e,f,以下是txt文档里的数据:
A  20
B  29
C  37
 
我的分割字符串程序如下:package MW;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public
class test {     public
static
void main(String[] args) throws IOException {             BufferedReader buf = new BufferedReader(newFileReader("D:\\JavaSrf\\modeleCoutMW1.txt"));       while (buf.readLine() != null) {           String buffer = buf.readLine();           String array[] = buffer.split(" ");           System.out.println("marque==>" + array[0] + ";" + "prix==>"                  + array[1]);       }    } 
}
现在显示的结果是我想要的分割后的结果,但是我不知道该怎样把得到的结果-----也就是arry数组里的 A,20,B,29,C,37分别赋值给a,b,c,d,e,f,我知道这个很简单,我是初学者,自己试着写了半天都是报错,也不知道怎么修改好,多谢了。

解决方案 »

  1.   

    不要使用6个变量,使用一个长度为6的字符串数组!
    String[] arr = new String[6];
    int i=0;
    while (buf.readLine() != null) { 
      String buffer = buf.readLine(); 
      String array[] = buffer.split(" "); 
      arr[i]= array[0];
      arr[i+1] = array[1];
      i+=2;

      

  2.   

    String buffer = buf.readLine();
    while (buffer != null)
    {
        String array[] = buffer.split(" ");    buffer = buf.readLine();

        System.out.println("marque==>" + array[0] + ";" + "prix==>"    + array[1]);}
      

  3.   

    每readLine()一次,指针就会往下移动一行,你这样是隔行读数据,
    package test;import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;public class Test { 
        public static void main(String[] args) throws IOException { 

        
          BufferedReader buf = new BufferedReader(new 
           FileReader("C:\\我的音乐\\test\\src\\test\\test")); 
          ArrayList<String> list = new ArrayList<String>();
          String str = null;
          while ((str = buf.readLine()) != null) {           String array[] = str.split(" ");           System.out.println("marque==>" + array[0] + ";" + "prix==>" 
                      + array[1]);
              for(String string : array){
               list.add(string);
              }      } 
          
        } 

      

  4.   

    String a = array[0]; 
    String b = array[1];
    String c = array[2];
    String d = array[3];
    String e = array[4];
    String f = array[5];zhe yang bu ke yi ma ??
      

  5.   

    我用的数据可不是这么少啊,而且是很多很多txt文档,您不想我累死吧?
      

  6.   

    你说的:A,20,B,29,C,37分别赋值给a,b,c,d,e,f  到底是什么意思?大家都不明白,请写得清楚些。
      

  7.   

    谢谢你的回答,用你的方法能读出数据来,但是我的问题是怎么把这些读出来的数据赋值给我定义的|String变量,然后我要用用这些变量进行计算。
      

  8.   

    A,B,C是设备名称,数字20,29,37是设备价格,我想把设备名称和价格从txt文档中读取出来并且把他们分别赋值给我自己定义的String变量a,b,c,d,e,f
      

  9.   

    谢谢你的回复,你的这个方法是把txt的数据读了出来,但是array数组只是一个有两个变量的数组,并且每次循环都会重新定义array数组,我想知道怎样把这读出来的6个字符串A,B,C,20,29,37装进另外一个有6个变量的数组:ss[6],这样我才好对这留个字符串进行处理。谢谢。
      

  10.   

    当然可以了,可能是我没解释清楚,我知道怎么分割几行字符串,问题是我分割完了以后怎么把这些分割好的字符串放在同一个数组里以便进行操作,就是得到这样一个数组: ss{A,B,C,D,20,29,37}。