2016-03-07 2 views
1

Я работаю над проектом в JAVA и я .txt файл, который содержит данные, как это:Из текстового файла для 2d двойного массива в JAVA

3,4413 44,5444 22,793
33,3321 222,1333 44,7785
23.3001 31,1333 4,7785
77,9999 8,0001 -1,3213 3,2311

так, как я могу читать .txt файл и преобразовать его в:

дважды [0] [0] = {3.4413,44.5444,22.793}
дважды [0] [1] = {33,3321 222,1333 44,7785}
дважды [1] [0] = {23,3001 31,1333 4,7785}
двойной [1] [1] = {77,9999 8,0001 -1,3213 3,2311}

+0

Это выглядит как 3D для меня. – vakio

ответ

0

Если вы уверены, что вы будете получать только 3 сущности в каждой строке, то вы можете сделать что-то вроде этого:

public static void main (String[] args) 
{ 
    double[][] arr = new double[10][3]; 
    int ptr = 0; 
    Scanner in = new Scanner(System.in); 

    while(in.hasNext()) { 
     arr[ptr][0] = in.nextDouble(); 
     arr[ptr][1] = in.hasNext() ? in.nextDouble() : 0d; 
     arr[ptr++][2] = in.hasNext() ? in.nextDouble() : 0d; 
    } 
} 

Обратите внимание, что здесь я использовал сканер и принимаю ввод от System.in. Вы можете заменить его, чтобы принимать входные данные из вашего файла.

Учитывая выше вход это приведет следующий вывод:

arr[0][0] -> 3.4413 
arr[0][1] -> 44.5444 
arr[0][2] -> 22.793 

для первой строки и так далее.

Смежные вопросы