2017-02-16 2 views
1

私はStackExchangeを初めて使用していますので、この質問をできるだけ控えめにするよう最善を尽くします。 .csvファイルから作成された文字列配列からすべての整数を取得しようとしています。ファイルには、そう、ArrayIndexOutOfBound intから文字列を解析するとき

  • タイプ、名前、untiprice、数量
  • Bitem、歯磨き粉、1.50,2
  • Fitem、卵、2.50,1

などのように見えます。..

配列に数値を追加しようとするまで、すべて正常に動作します。出力はArrayIndexOutOfBoundsExceptionを返します。私はこの配列のMAX_SIZE = 100を作った。テキストファイルの整数の量は8以下である。なぜこれが問題であるのか分からない。私のfor-loopsは完全に間違っているのですか?これを

num[i] = Integer.parseInt(numStrs[j]); 

希望:

num[i] = Integer.parseInt(numStrs[i]); 

をだからではなく、その使用にこれは、numStrs[i]numStrs[j]とを変更:

public static void loadNums() 
{ 
    String inputFile=("/Users/user1/Desktop/list.csv"); 
    File file = new File(inputFile); 
    Scanner scanFile = null; 

    try{ 
     scanFile =new Scanner(file); 
    }catch(NumberFormatException | FileNotFoundException exception){ 
     System.out.println("Error"); 
    } 
    if (scanFile != null) 
    { 
     String[] numStrs = scanFile.nextLine().split(","); 
     int[] num = new int[numStrs.length]; 
     for (int i =0; i <numStrs.length; i++) 
     { 
      if (i ==0) 
      { 
       System.out.println("Numbers"); 
      } 
      else 
      { 
       numStrs = scanFile.nextLine().split("\\d+.,\\d+"); 
       for (int j =0; j <numStrs.length; j++) 
       { 
        num[i] = Integer.parseInt(numStrs[i]); 
       } 
       System.out.println(num[i]); 
      } 

     } 
    } 
+1

私のSimpleCSVのようなCSVリーダーパッケージを検討したいと思うかもしれません。http://256stuff.com/sources/simplecsv/ – Gray

+0

@Gray将来私はこれをdefintly使用します。しかし、私はまた、これがなければ私がそれをすることができるかどうかを見たいと思う。おかげで –

答えて

0

あなたは、私が最初のインデックスと二番目の配列numStrsを解析してみてくださいあなたを助けられる。

+0

ありがとう!私はjを使ってインデックスiを変更し、範囲外のエラーを修正しました。しかし、私はNumberFormatExceptionを受け取りました。私の.split( "\\ d +。、\\ d +");ということは可能でしょうか?正しく行われていないのですか? –

+0

私はそれを確認し、私はリプレイすることを考えてみましょう –

+0

@ P.Jacquesはい、この正規表現は、あなたがこのエラーを取得するために正しいのではないことを私は 'public static void main(String [] args) 、URISyntaxException { String s = "Bitem、toothpaste、1.50,2"; String [] numStrs = s.split( "\\ d +。、\\ d +"); System.out.println(numStrs.length); for(int j = 0; j

関連する問題