• 締切済み

java

こんにちは。 javaの初心者で、現在、javaのプログラムを作成中ですが、テキストフェイルのデータの BufferedReaderで読み込んだあとどうやって分割し、int型配列に格納しますか? 先輩たち よろしく お願いいたします。

みんなの回答

回答No.3

ファイルの中身はこんなのですか? 123 456 789 ...改行 223 456 789 ...改行 323 456 789 ...改行 423 456 789 ...改行 結果 [124,456,789,...] [224,456,789,...] [324,456,789,...] [424,456,789,...] となればいいのかな。 ファイル入力は以下参考に http://www.asahi-net.or.jp/~DP8T-ASM/java/tips/TextFileIO.html で、後は最初に回答したとおりです。 但し、結果の配列が3次元配列になります。

全文を見る
すると、全ての回答が全文表示されます。
  • mahojula
  • ベストアンサー率32% (21/65)
回答No.2

やりたいこと うちの脳みそにはよく わからなかったので  勝手な解釈で凹 一行に 何個のデータが存在するかわかんない場合  固定よりは可変のArrayListやHashMapのほが 良いですよ。。 BufferedReader br ArrayList al  String str = br.readLine();//一行読み込む StringTokenizer st=new StringTokenizer(str," ");//引数2個目を区切り文字として分割  while(st.hasNextToken()){//stにまたトークンが存在する? al.add(st.nextToken);//配列の最後に追加(次のトークン拾います。) }

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

どんなテキストデータなのかわからないと回答できません。 区切り文字が決まっているならば・・・(例では「,」とする) String read ← ここに読み込んでいるとする String[] str= read.split(","); int[] kekka = new int[str.length]; あとはforループで順番にkekka配列に格納する(文字列から数値に変換を忘れずに)

tuyafu0803
質問者

お礼

先輩たち: いろいろ教えてもらいました。大変ありがとうございまう。 まだ、なんかありましたら聞かせてください。 お願いいたします。

tuyafu0803
質問者

補足

ご回答ありがとうございました。 すみませんが、.txt型の数値ばっかりのテキストファイルで、区切り はスペースですが。。。それに、データを行ずつに1配列に格納するということですが。。 まだよろしく お願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • javaで配列の格納をしたいです。

    配列の格納がうまくいきません。 javaについて質問させて頂きます。 ユーザーが数字を入力し配列 atr[ i ]に格納され 配列 v[ i ] に v[ 0 ] = count ... v[ 143 ] = count ... v[ 144 ] = count - 1 ... v[ 287 ] = count - 1 ... ... v[ count-288 ] = 2 ... v[ count-145 ] = 2 ... v[ count-144 ] = 1 ... v[ count-1 ] = 1 と、格納されるようなプログラムを作っています。 for文で作ろうと考えたのですが count, count-1 , ... 3, 2, 1と値を入れようと思いましたがうまくコンパイルが通りませんでした。 エラーは以下になります。 a.java:48: シンボルを見つけられません。 シンボル: メソッド readLine(int) 場所 : java.io.BufferedReader の クラス value = br_v.readLine(atr[i]); もし宜しければアドバイスやご指摘を頂けませんでしょうか。 説明も拙い部分がありますが宜しければお願いします。 import java.io.*; import java.util.Arrays; class a { public static void main(String[] args) throws IOException { int atr[]; atr = new int[25]; int count = 0; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while(true){ //絶対に通る String str = br.readLine(); int res = Integer.parseInt(str); if(res == 0){ break; } else{ atr[count] = res; } count++; } for(int i=0; i<count; i++){ System.out.println(atr[i] + "が、選択されました。"); } int v[] = new int[25*144]; String value; try{ BufferedReader br_v = new BufferedReader(new InputStreamReader(System.in)); for(int i=count; i<count; i--){ value = br_v.readLine(atr[i]); v[i] = Integer.parseInt(value); } } catch(IOException e){ System.out.println("エラーです。"); } } }

  • ファイルからの読み込み 配列

    座標データの数値のテキストファイルから配列の中に座標値を格納したいのですが、int型のデータを読み込んで配列に格納するのは、どのようにプログラムを組めばよろしいのでしょうか?下のようにxzahyou.csvというファイルから配列Z[i]に格納したくて組んでみたら、 br = new BufferedReader(new FileReader("xzahyou.csv")); for(int i=0;i<X.length;i++){ String line = br.readLine(); X[i]=line; X[i] = line;のところで互換性がないと出てきました。int型の場合どのようにすればよろしいのでしょうか?教えてください。お願いします。

  • java

    こんにちは: javaの先輩たちいつもお世話になっております。 今回の質問はjavaプログラムで得た配列データをどうやってexcel に落として図にするでしょうか: お忙しいところ、申し訳ありませんが、よろしくお願いいたします。

  • Javaで計算

    Javaを10月から始めた初心者です。 摂氏から華氏に変えるプログラムを作成したいのですが、結果が合いません。 計算の所のプログラムが間違っているのだと思うのですが、どうすれば良いのか分からないので教えてください。 import java.io.*; class quiz01{ public static void main(String[] args) throws IOException{ System.out.println("摂氏の温度℃を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); int F = 9/5*num+32; System.out.println("華氏の温度Fは " + F + " です。"); } } よろしくお願いします!

    • ベストアンサー
    • Java
  • Javaでのカンマで配列を分ける方法

    こんにちは。 カンマ区切りで入力されているデータを2次元配列に格納したいのですがよくわかりません。 それとデータをtxtファイルから入力する方法で配列を入力した分だけ作ることはできますでしょうか? 現在のプログラムは最初に配列を1000個用意する形になっているので効率的とは言えないと思うのですが・・・。 以下プログラムを載せます。 public String[] datain(){ String[] data = new String[1000]; String inputFileName; int i = 0; // 読み込むファイルの名前 inputFileName = "D:\\a.txt"; // ファイルオブジェクトの生成 File inputFile = new File(inputFileName); try { // 入力ストリームの生成 FileInputStream fis = new FileInputStream(inputFile); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); // テキストファイルからの読み込み String d; while ( ( d = br.readLine()) != null ) { data[i] = d; i += 1; } br.close(); } catch(Exception e) { e.printStackTrace(); } return data; } というメソッドです。 戻り値を返した後でも前でもいいので、 --データ-- (a.txt) あ,い,う,え,お か,き,く,け,こ さ,し,す,せ,そ ↓このように取り込みたいのです。 --配列-- [0,0] = あ  [0,1] = い  [0,2] = う  [0,3] = え  [0,4] = お [1,0] = か  [1,1] = き  [1,2] = く  [1,3] = け  [1,4] = こ [2,0] = さ  [2,1] = し  [2,2] = す  [2,3] = せ  [2,4] = そ よろしくお願いします。

    • ベストアンサー
    • Java
  • javaのプログラムについて

    javaのプログラムで char型の配列に格納した文字を String型の変数に格納できる関数を教えてください 具体的な使い方も教えていただけるとうれしいです

    • ベストアンサー
    • Java
  • ファイルの読み込み、配列に格納

    お世話になります。Java初心者です Javaプログラムを実行する同じディレクトリにあるテキストファイルとデータファイルをコマンドラインで同時に読み込み それぞれ違う配列に格納したいのですが、1つのファイルの読み込みは出来ても2つ同時の読み込みと配列格納でつまづいています。 読み込むテキストファイルには以下のような1行の文が、 Dr. Fujita is great! 読み込むデータファイルには以下のような文字が書かれています。 AC 4C 7C 10C KC 3D 6D 9D QD JB 3C 6C 9C QC 2D 5D 8D JD JA 2C 5C 8C JC AD 4D 7D 10D KD 配列に格納する際、テキストファイルの場合は全て大文字にし、アルファベット以外の記号(スペース含)は全て消して配列に格納します。 上の例でいえばこのような状態で格納です↓ DRFUJITAISGREAT データファイルの場合は、2組1文字をそのまま配列に格納です。ただしスペースは飛ばします。 上の例でいえば、ACを配列0に、4Cを配列1に、7Cを配列2に、、、と格納していきます。 import java.io.*; public class sample{ public static void main(String[] args){ try{ FileReader f = new FileReader(args[0]); BufferedReader b = new BufferedReader(f); Strings; while((s=b.readLine())!=null){ System.out.println(s); ←読み込んでるか確認 } }catch(Exception e){ System.out.println(no file); } } } ファイルの指定は実行時に、java sample datafile.dat textfile.txt と指定します。 読み込むプログラムは以上のように書いたのですが、2つファイルを読み込むにはどのように記述したらよいのでしょうか。 FileReaderを2つ作成?しても最初に指定したデータファイルの内容がまた読み込まれるだけで・・・ 読み込んだら変数sに入りますが、たとえばs.substring()なんかでわけて配列に入れようとしても、s.substring()←ここでエラーが出てしまいます。 あと、Dr. Fujita is great!のアルファベットを大文字にし、記号(スペース含)を飛ばして格納するにはどうしたらよいのでしょうか。 宜しくお願いします

    • ベストアンサー
    • Java
  • Javaのプログラムで・・・

    Javaのプログラムで1~20までの整数乱数を実行後に指定回数だけ発生させ、そのうち何%が奇数であったかを表示するプログラムを作成中です。 乱数を発生させるところまでは行ったのですがここからどのように計算していくのかわかりません。 以下が作成したものですがアドバイスお願いします。 import java.io.*; public class Rand { public static void main(String args[]) throws IOException { System.out.print("発生させる乱数の回数は?"); BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num= Integer.parseInt(str); for(int i=1;i<=num;i++){ int a=(int)(20*Math.random()+1); System.out.println(a); } for(int a=1; a<=;a++){ if(a%2==1); System.out.println("発生した乱数の"++"%が奇数です。"); } } }

  • 整数分割

    乱数で発生させた整数を配列に格納してその配列の整数を桁ごとに分割する簡単な方法はありますか。 例えば123を1と2と3に分割 整数を文字列に直して分割しようとしたけど整数は配列に格納されている (a[0]=123のように)のでできません。javaでプログラムを教えてください

  • 配列の初期化に関する問題で・・・

    Javaのプログラミングの問題で、下記のような問題が出ました。 要素数が10のint型配列aの各要素を順に3,12,7,20,15,5,8,18,10,16で初期化し、 キーボードから入力された値が配列の何番目に格納されているかを表示するプログラムを作成してください。 ただし、データが配列の中に存在しない場合は「○○は見つかりませんでした」と表示してください。 「if文を使って場合分けする」というヒントがありましたが よくわかりません。 下記のように考えてみたのですが、思うようになりません。 教えて頂けたらと思います。 import java.io.*; public class renshu { public static void main(String[] args)throws IOException { int a[]={3,12,7,20,15,5,8,18,10,16}; int n; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("探索する数字を入力してください>"); n=Integer.parseInt(br.readLine()); a=Integer.parseInt(br.readLine()); switch(a){ case 3: System.out.print(a+"はa[1]に格納されています。"); break; case 12: System.out.print(a+"はa[2]に格納されています。"); break; case 7: ~~~~~(省略) break; default; System.out.print(a+"は見つかりませんでした。") } } }

    • ベストアンサー
    • Java