teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

修正しました

2020/10/20 04:09

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,43 @@
1
1
  Sting[][]をdouble[][]にfor文で型変換したいです。どうすれば良いでしょうか
2
2
 
3
+ import java.io.BufferedReader;
4
+ import java.io.File;
5
+ import java.io.FileReader;
6
+
7
+ public class Aip4 {
8
+ public static void main(String args[]) {
9
+ BufferedReader br = null;
10
+ String fn = "data.csv"; // 入力ファイル
11
+ // データの最大個数
12
+ final int mn = 10;
13
+ // データを格納する2次元配列
3
- String data[][]=new String[10][3];
14
+ String data[][] = new String[mn][];
4
- double data1[][]=new double[10][3];
15
+ double data1[][] =new double[mn][];
16
+ double b[][] =new double[3][3];//クラスタの中心座標
17
+ int c=3;
18
+
19
+ try {
20
+ File file = new File(fn);
21
+ br = new BufferedReader(new FileReader(file));
22
+ // readLineで一行ずつ読み込む
23
+ int index = 0;
24
+ String line;
25
+ while ((line = br.readLine()) != null) {
26
+ // lineをカンマで分割し、配列dataに保持
27
+ data[index] = line.split(",");
28
+ index++;
29
+ }
30
+ //string[][]dataをdouble[][]に型変換
5
- for(int i=0;i<10;i++) {
31
+ for(int i=0;i<10;i++) {
6
-   for(int j=0;j<3;j++) {
32
+ for(int j=0;j<3;j++) {
7
- data1[i][j]=Double.parseDouble(data[i][j]);
33
+ data1[i][j]=Double.parseDouble(data[i][j]);
8
- System.out.println(data1[i][j]);
34
+ System.out.println(data1[i][j]);
9
-    }
35
+ }
36
+ System.out.println();
37
+ }
38
+
39
+ }catch (Exception e) {
40
+ System.out.println(e.getMessage());
41
+ }
10
42
  }
11
-
12
- だとうまく回らないです。
43
+ }

1

修正しました

2020/10/20 04:08

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  Sting[][]をdouble[][]にfor文で型変換したいです。どうすれば良いでしょうか
2
2
 
3
- String s[][]=new String[10][3];
3
+ String data[][]=new String[10][3];
4
- double d[][]=new double[10][3];
4
+ double data1[][]=new double[10][3];
5
5
  for(int i=0;i<10;i++) {
6
6
    for(int j=0;j<3;j++) {
7
7
  data1[i][j]=Double.parseDouble(data[i][j]);