• 締切済み

Javaの質問です

テキストファイルを一行ずつ読み込んでリストに格納します。それを五行ずつまとめたものを1つの要素として別のリストに格納したいのですが、どのようなコードで実現できますか?if文やfor文で試行錯誤しましたが、うまくいきません…。

みんなの回答

回答No.1

その試行錯誤したコードをのせてみないとなんとも。 >うまくいきません 何がどううまくいかないのか書かないと。 ○○を××して △△になると思ったのでですが□□になりました。 ってな感じで。 ちなみ 1~100までを順に表示する。 5の倍数の時だけ「5の倍数です。」って表示する。 ↑ができますか? できればたいして質問のコードと変わりませんよ。

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

関連するQ&A

  • VBS初歩的質問

    すいません、色々調べましたが以下のことが思いつきませんのでご教示ください。 テキストファイルを一行ずつ読み込まして、文字列を検索するところまではできました。 文字列の検索は一行ずつ読み込ましたタイミングで、IF文で行っています。 そのテキストファイル内に同じ語句のものがある場合、始めのものだけを取得したい場合どうすればよいでしょうか。 一行ずつ読み込ましている関係上、2回IF文の条件にひっかかります。 具体例(上から5行あり1行目と4行目でIF文に入り、抽出してしまう) abc d e abc f

  • Javaの質問です。

    ファイルの中身を抽出し それをmysqlのテーブルの中の要素にそれぞれ登録する といった処理をおこなっています。 現在はArrayListでファイルの中身を一行ずつ抽出することができましたがそれぞれ 抽出した要素を適切なカラムにインサートする といった方法が分かりません。 例: 抽出するファイルの中身    INSERTするテーブルのカラムはidとnameがあります 001,山田              002,田中 現在はカンマ区切りで1つずつList内に格納できています。 このファイルの中身の001をidへ、山田をnameへとINSERTしたいです。

  • Java バブルソート

    テキストファイルに文字が書き込まれていて、その文をASCIIコード順に並び替えるのですがStringからintに変換してバブルソートを行えばよろしいのでしょうか 詳しくお願いいたします 1行は10文字  50行までです 別ファイルに書き込みます sample1.txt cfd cad fa sample2.txt ・・・ ・・・

  • java ソーティング バブルソート 昇順

    Javaです テキストファイルを読み込み、ソーティングしてから書き込む ソーティングはバブルソートで行う テキストファイルは50行まで一行は10文字以内 読み込み書き込みはプログラム内で行う 半角英数字のみのテキストファイルとからのテキストファイルを用意する (ASCIIコードで昇順) 入力ファイル 1231 1f23 出力ファイルは 1231 ・・・・

  • javaでの質問です

    public class Test{ //Aファイルの抽出 private static BufferedReader lstReader(BufferedReader lst1){ try{ String line = ""; while ((line = lst1.readLine()) != null){ String[] lins = line.split(","); Readbranch(lins); } }catch(IOException e){ System.out.println(e + "ファイルが存在しません"); } return null; } //ファイルBの抽出 private static BufferedReader lstReader2(BufferedReader lst2){ try{ String line2 = ""; while((line2 = lst2.readLine()) !=null){ String[] lins2 = line2.split(","); Readcommodity(lins2); } }catch(IOException e){ } return null; } //ファイルCの抽出 public static List<String> lstReader3(BufferedReader lst3){ String[] rcds = new String[3]; int i = 0; try{ String rcdline = null; i=0; while((rcdline = lst3.readLine()) !=null){ rcds[i] = rcdline; i = i+1; } Lists(rcds); }catch(IOException e){ } return shukei; } //抽出したCファイルの保持。 public static List<String> Lists(String[] rcds){ List<String> rcd = Arrays.asList(rcds); System.out.println(rcd.get(0)); //System.out.println(shukei); return null; } //抽出したAファイルの保持。 private static List<String> Readbranch(String[] line){ List<String> brlst = Arrays.asList(line); return null; } //抽出したBファイルの保持。 private static List<String> Readcommodity(String[] lins2){ List<String> comlst = Arrays.asList(lins2); return null; } //メイン public static void main(String[] args){ try { //Aファイルオープン BufferedReader lst1 = new BufferedReader(new FileReader("branch.lst")); lstReader(lst1); //Bファイルオープン BufferedReader lst2 = new BufferedReader(new FileReader("commodity.lst")); lstReader2(lst2);    //Cファイルオープン     BufferedReader lst3 = new BufferedReader(new FileReader("00000001.rcd"));     lstReader3(lst3); } catch (FileNotFoundException e1) { e1.printStackTrace(); } } } 現段階でできているコードは異常です。 目的はまずファイルA、Bを読み込み中の要素を取り出しておく、次にファイルCを読み込み同じように要素を取り出し ファイルA、ファイルBのと比較をし一致している要素があればファイルCの要素をそれぞれ一致したファイルA、Bの要素に追加したいのです。 例) ファイルAの要素 1,山田 2,佐藤 3,加藤 ファイルBの要素 Test,東京 Test2,埼玉 ファイルCの要素 1 Test 1000000 と各ファイルの中身がこのような場合 ファイルCの1行目の1とファイルAの1 が一致しているのでファイルCの3行目の1000000を追加します。 追加後のファイルA 1,山田,1000000 2,佐藤 3,加藤 そしてファイルCの二行目Test もまたファイルBのTestと一致しているのでファイルAと同じように3行目を加えます。 一致するものが無い場合は終了させます。 現状はA、B各ファイルをカンマ区切りで分割しListに入れています。ファイルCは1行ずつ配列にいれるところまではできましたが どのように比較をしたらいいのか分かりません どうかよろしくおねがいします

  • Javaの課題について質問です。パート(2)

    import java.io.Console; public class A23_exec { public static void main(String args[]){ try{ A23_StrArray list = new A23_StrArray(); System.out.println("-------------------------------処理メニュー-------------------------------"); System.out.println("| 01・・・要素を追加 02・・・指定のインデックスの要素を上書き|"); System.out.println("| 03・・・指定インデックスの要素を表示 04・・・全ての要素を削除 |"); System.out.println("| 05・・・全ての要素を表示 06・・・全てのインデックス数を表示 |"); System.out.println("| 07・・・全ての要素を昇順でソート 08・・・全ての要素を降順でソート |"); System.out.println("| 09・・・ファイルの読込み 10・・・ファイルを追記して読込み |"); System.out.println("| 11・・・ファイルを上書きして読込み 12・・・ファイルに書込み |"); System.out.println("| 13・・・ファイルに追記して書込み 14・・・ファイルに上書き書込み |"); System.out.println("| 99・・・処理を終了 |"); System.out.println("--------------------------------------------------------------------------"); System.out.println(" ※処理メニュー以外のNoを入力しても処理出来ませんので注意して下さい。"); System.out.println(" ※全て半角英数字で入力して下さい。"); System.out.println(" ↓処理Noを入力して下さい。↓"); while(true){ System.out.println("-----処理No-----"); String inputData = input(); if(inputData.equals("99")){ System.out.println("終了"); System.exit(0); break ; } else if(inputData.equals("01")){ System.out.println("要素追加"); inputData = input(); list.add(inputData); } else if(inputData.equals("02")){ System.out.println("指定インデックスの要素の上書き"); inputData = input(); list.set(0,inputData); System.out.println(list.toString()); } else if(inputData.equals("03")){ System.out.println("指定インデックスの要素を表示"); inputData = input(); System.out.println(list.get(0)); } else if(inputData.equals("04")){ System.out.println("全ての要素を削除"); list.clear(); } else if(inputData.equals("05")){ System.out.println("全ての要素を表示"); list.getAll(); System.out.println(list.getAll()); } else if(inputData.equals("06")){ System.out.println("全てのインデックス数を表示"); int item =list.getIndex(); System.out.println(item); } else if(inputData.equals("07")){ System.out.println("全ての要素を昇順でソート"); list.sort(list.ASC_SORT); for(int i = 0;i < list.getIndex(); i++){ System.out.println(list.get(i)); } } else if(inputData.equals("08")){ System.out.println("全ての要素を降順でソート"); inputData = input(); list.sort(list.DESC_SORT); for(int i = 0;i < list.getIndex(); i++){ System.out.println(list.get(i)); } } else if(inputData.equals("09")){ System.out.println("ファイルの読み込み"); inputData = input(); list.readFile(inputData); } else if(inputData.equals("10")){ System.out.println("ファイルを追記して読み込み"); inputData = input(); list.readFile(inputData,true); } else if(inputData.equals("11")){ System.out.println("ファイルを上書きして読み込み"); inputData = input(); list.readFile(inputData,false); } else if(inputData.equals("12")){ System.out.println("ファイルに書き込み"); inputData = input(); list.writeFile(inputData); } else if(inputData.equals("13")){ System.out.println("ファイルに追記して書き込み"); inputData = input(); list.writeFile(inputData,true); } else if(inputData.equals("14")){ System.out.println("ファイルに上書きして読み込み"); inputData = input(); list.writeFile(inputData,false); } else{ System.out.println("処理Noが違います。"); } } }catch(Exception e){ System.out.println(e); } } private static String input(){ try{ Console cns = System.console(); //String input= cns.readLine(); return cns.readLine(); } catch(Exception e){ System.out.println(e); return ""; } } } 宜しくお願い致します。

  • VBで複数のテキストを結合するときの問題

    教えてください!お願いします。 VB6を使って、複数のテキストファイル(~.txtで保存しているもの)を 一つずつ読み込んで、それらを結合して1つのファイルにして リッチテキストボックスに表示する、というツールを作成しています。 一応うまく出来たのですが、ただ、結合した時にそれぞれのテキストの 間にどうしても1行ブランクが入ってしまうんです。 このブランク行を削除して、結合したファイルの継ぎ目がきれいに 続いて表示されるようにする方法はありますでしょうか? ブランク行を全て削除してしまうのではなく、ファイルとファイルの 間に挿入されてしまうブランク行だけをなくしたいのです。 ちなみに Open App.Path & "\" & List1.List(List1.ListIndex) For Input As #FileNum Do Until EOF(FileNum) Line Input #FileNum, ddd gggg = gggg & ddd & vbCrLf Loop Close #FileNum このようにリストに載っているテキストファイルを全部読み込んで、 If Dir(書き出すテキストファイル) = "" Then Open 書き出すテキストファイル For Output As #FileNum Print #FileNum, gggg Close #FileNum Else Open 書き出すテキストファイル For Append As #FileNum Print #FileNum, gggg Close #FileNum End If 書き出すファイルが存在しなければそのまま保存し、書き出すファイルが あれば、そのファイルに追記するというコードにしています。

  • スプレッとの制御

    VBでスプレッドを使用しているのですが 行の設定で質問です。 全部で186行ある行に5行間隔で1から順に数字を格納していきたいのですが 制御の仕方がわかりません>< 2行間隔の場合は次のPGで実現できています。 ' For i = 1 To 186 ' .Row = i ' If i Mod 2 <> 0 Then ' .Text = (i + 1) \ 2 ' Else ' .Text = " " ' End If ' Next i 5行間隔の場合はどうなるのでしょうか?

  • javaで質問です。

    java初心者です。 unix系のコマンドでfindコマンドの動作と同じ動作をするプログラミングを教えて頂きたいです。 実行の際に、同時に引数としてディレクトリを渡すとそのディレクトリ以下のファイルが全て一覧表示されるというものです。 どうしても下記のコードから進まないです。 特にわからない部分は ・7行目の配列の確保にどのような引数を渡せばいいのか。 ・繰り返し処理の中で、ディレクトリかどうかの条件文で更に下位層をチェックしていきたいが、下位層にいかない。 ・16行目のcでチェックしている箇所が配列のどの部分なのかを引数で渡してそこにコピーたいのですが、9行目のint c;で何を渡せばいいのか分からない。 ・11行目の条件の4の部分も何を渡せばいいのかわからない。 です。 どうかご教授いただきますようお願いします。 1 import java.io.File; 2 import java.util.Arrays; 3 4 public class Find { 5 public static void main(String[] args) { 6 File findFile = new File(args[0]); 7 File names[] = new File[15] ; 8 names[0] = findFile; 9 int c = 0; 10 11 for (int i = 0; i < 4; i++) { 12 names[i] = findFile; 13 if (names[i].isDirectory()) { 14 File subfiles[] = names[i].listFiles(); 15 names[i] = subfiles[i]; 16 System.arraycopy(names, i, names, (i + c), subfiles.length); 17 } 18 } 19 for (int k = 0; k < names.length; k++) { 20 System.out.println(names[k]); 21 } 22 } 23 }

  • イラストレーターで一行文の一部分を2段にしたい

    イラストレーターについて、あまり詳しくないので教えて下さい。 テキストボックスで一行の文章を書きました。 その文の一部分のみフォントを半分位にして2段2行にしたいのですが。出来ますでしょうか? 今は元の一行の文に適当な数のスペースを入れ、別に作った2段2行のテキストボックスをそこに上から重ねて使っています。 お分かりの方がいましたら、是非教えて下さい。

このQ&Aのポイント
  • デニムに充て布作業中に針が抜け落ちた。同軸にストッパーが無く、針止めねじが可能せず針が固定できない。
  • 針が抜け落ちた製品の同軸全てを交換したい。
  • ブラザー製品についての質問です。
回答を見る