-1

ファイルを Java に 1 行ずつ読み込む方法はありますか。各行には一連の整数 (行ごとに異なる量の整数) があります。例えば:

2 5

1 3 4 5

2 4 8

2 3 5 7 8

行番号と各行の番号を 2 次元配列に読み取ります。

現在、私が持っているコードは次のとおりです。

int i=1, j;
try{
  Scanner sc=new Scanner(new File("mapinput.txt"));
  while(sc.hasNext()){
    String line=sc.nextLine();
    while(line!=null){
      j=sc.nextInt();
      Adj[i][j]=1;
    }
    i++;        
  }
} catch(Exception e){System.err.println(e);};

このコードの問題は、文字列行の 1 行後に整数を読み取っていることです。その行の数字を読み取ってほしい。文字列から数値を読み取る方法はありますか?

更新:
StringTokenizer ルートを使用することにしました。ただし、ファイルの最後の行に到達すると、 java.util.NoSuchElementException: No line found エラーが発生します。これが私の更新されたコードです:

try{
  Scanner sc=new Scanner(new File("mapinput.txt"));
  String line=sc.nextLine();
  st=new StringTokenizer(line, " ");
  do{
    while(st.hasMoreTokens()){
      j=Integer.parseInt(st.nextToken());
      Adj[i][j]=1;
    }
    line=sc.nextLine();
    st=new StringTokenizer(line, " ");
    i++;        
  }while(st.hasMoreTokens());
} catch(Exception e){System.err.println(e);};
4

2 に答える 2

0

行を読んだら、次のことができます

String[] ar=line.split(" ");

要件に基づいて文字列配列で遊んでください

于 2014-05-08T00:55:10.917 に答える
0

Java ライブラリの #StringTokenizer クラスを調べてください。

ファイルを簡単に反復処理して、integersスペースで区切られたものを引き出すことができます。2桁の+桁の整数をうまく処理します。

質問に直接答えるには、 から数値を取得する方法がありますString

調べる

Integer.parseInt(String s);  

integerこれはから を返しますString

ドキュメントはこちら

String s1 = "15 ";
String s2 = "03";
int answer = Integer.parseInt(s1.trim()) + Integer.parseInt(s2.trim());
System.out.println(answer);

これは出力します:

18
于 2014-05-08T01:01:16.343 に答える