C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: カンマ区切りテキストファイルから配列を組むには?


(過去ログ 10 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■2220 / inTopicNo.1)  カンマ区切りテキストファイルから配列を組むには?
  
□投稿者/ 避け抜け (1回)-(2007/03/27(Tue) 10:22:15)

分類:[Java] 

以下のpara.txtようにカンマ区切りから配列にSETするにはどうすればいいのでしょうか?

---------------------------------------------------------------------------------------------
【para.txt】

澤山,高野,橋本,佐々木,星野,木屋町,中村,堀江,中村,藤井

---------------------------------------------------------------------------------------------
【メインPRG】
mport java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;

class test211{

public static void main(String args[]){

try{

File file = new File("/export/home/ualse/TEST/Basis/para.txt");

BufferedReader br = new BufferedReader(new FileReader(file));

String str;
while((str = br.readLine()) != null){
System.out.println(str);
}

br.close();
    
#↓こんな感じで配列をSETしようとしているのですが、うまくSETできません;;
name[] にNULが入ってしまいます。

String name[] = {str};

int seiseki[] = {90, 45, 89, 75, 60, 98, 35, 59, 45, 80};

for (int i = 0 ; i < name.length ;i++){
System.out.println(name[i] + "さんの成績は" + seiseki[i] + "点です");
}

}catch(FileNotFoundException e){
System.out.println(e);
}catch(IOException e){import java.io.File;
---------------------------------------------------------------------------------------------
引用返信 編集キー/
■2221 / inTopicNo.2)  Re[1]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ ぽぴ王子 (162回)-(2007/03/27(Tue) 11:06:45)
ぽぴ王子 さんの Web サイト
Javaをやらなくなって久しいので、詳しいところは忘れてしまいましたが。

>         String str;
>         while((str = br.readLine()) != null){
>                     System.out.println(str);
>                 }
> 
>         br.close();

ここで str を使い回していたら、最後に null が入っているんじゃないでしょうか。
br.readLine()、つまり str に null が入っていたら抜けるわけですよね。

そしたら抜けた時点で str が null ってことかと。

>         String name[] = {str};

この時点で str が null ですから、それはその通りとしか言いようがありません。

# 研修か何かですかね。

引用返信 編集キー/
■2222 / inTopicNo.3)  Re[1]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ επιστημη (445回)-(2007/03/27(Tue) 11:53:10)
επιστημη さんの Web サイト
> カンマ区切りから配列にSETするにはどうすればいいのでしょうか?

こんなもんでいかがでしょ。

public class Program {
  public static void main(String[] arg) {
    String input = "澤山,高野,橋本,佐々木,星野,木屋町,中村,堀江,中村,藤井";
    String[] result = input.split(","); // カンマでぶったぎる
    for ( String item : result ) {
      System.out.printf("[%s]\n", item);
    }
  }
}

引用返信 編集キー/
■2223 / inTopicNo.4)  Re[1]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ 避け抜け (3回)-(2007/03/27(Tue) 16:31:04)
>>ぽぴ王子殿へ

そうです;;研修生です。
ループ終了時にNULLが入るので結局はNULLですね^^;
お恥ずかしい><

>>επιστημη殿へ

サンプルありがとうございます。参考にさせていただきました。

■配列SETは解決いたしました。
ですが、もうひとつ疑問点がありあます。
下記ソースを実行すると配列の最後部分に改行があるので取り除こうと思い、.replaceAll("\\r\\n","")を使うのですが上手くいきません><なんでなんでしょうか?

---------------------------------------------------------------------------------------------
【para.txt】

澤山,高野,橋本,佐々木,星野,木屋町,中村,堀江,中村,藤井

---------------------------------------------------------------------------------------------
【メインPRG】
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.io.File;

class test211{

    public static void main(String args[]){

        String str = "";

        try{

           File file = new File("/export/home/ualse/TEST/Basis/para.txt");
           Scanner scan = new Scanner(file);
           scan.useDelimiter("\\r\\n");

           while(scan.hasNext()){
                str = scan.next();
                System.out.println(str);

                }

           String[] name = str.split(",");

           int seiseki[] = {90, 45, 89, 75, 60, 98, 35, 59, 45, 80};

           for (int i = 0 ; i <  name.length ;i++){
               System.out.println(name[i].replaceAll("\\r\\n","") + "さんの成績は" + seiseki[i] + "点です"
);
           }

       }catch(FileNotFoundException e){
            System.out.println(e);
        }




引用返信 編集キー/
■2224 / inTopicNo.5)  Re[2]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ επιστημη (446回)-(2007/03/27(Tue) 16:35:47)
επιστημη さんの Web サイト
> 下記ソースを実行すると配列の最後部分に改行があるので取り除こうと思い、.replaceAll("\\r\\n","")を使うのですが上手くいきません><なんでなんでしょうか?

生憎僕は霊能者ではないので、「上手くいきません」のひとことではわかりかねます。

引用返信 編集キー/
■2225 / inTopicNo.6)  Re[3]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ 避け抜け (5回)-(2007/03/27(Tue) 16:42:55)
>>失礼致しました。

実行結果が、

澤山さんの成績は90点です
高野さんの成績は45点です
橋本さんの成績は89点です
佐々木さんの成績は75点です
星野さんの成績は60点です
木屋町さんの成績は98点です
中村さんの成績は35点です
堀江さんの成績は59点です
中村さんの成績は45点です
藤井            #←「上手くいきません」の箇所です。改行を取り除きたいです。
さんの成績は80点です


引用返信 編集キー/
■2226 / inTopicNo.7)  Re[4]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ επιστημη (447回)-(2007/03/27(Tue) 16:53:13)
επιστημη さんの Web サイト
> 中村さんの成績は45点です
> 藤井            #←「上手くいきません」の箇所です。改行を取り除きたいです。
> さんの成績は80点です

1. replaceAllが期待した結果を返してくれるか、簡単なコードを書いて確認しましたか?
2. "藤井"の後に続く文字は何ですか? 調べましたか?
3. (2)の結果が(1)の引数に与えられていますか?

やれるだけのことはやりましょう。研修生なんだから。

引用返信 編集キー/
■2227 / inTopicNo.8)  Re[5]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ 避け抜け (6回)-(2007/03/27(Tue) 18:02:33)
いけました^^

ありがとうございましたm(__)m
引用返信 編集キー/
■2228 / inTopicNo.9)  Re[6]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ 避け抜け (7回)-(2007/03/27(Tue) 18:02:49)
No2227 (避け抜け さん) に返信
> いけました^^
>
> ありがとうございましたm(__)m
解決済み
引用返信 編集キー/
■2229 / inTopicNo.10)  Re[7]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ ぽぴ王子 (163回)-(2007/03/27(Tue) 18:14:46)
ぽぴ王子 さんの Web サイト
No2228 (避け抜け さん) に返信

>いけました^^

いけました、は別にいいのですが。
指導を受けておいて、解決したらハイさようなら、ではちょっと。
(やれるだけのことはやりましょうも指導のうちですよ)

どんな風にやってみたらうまくいったのか、を書いてもらえると、また同じように困っ
た方がいた際に役に立つとは思いませんか?
僕自身もどういった解決方法を取ったのか、知りたいところではありますし。

(社会人という立場を考えると)顔文字というか絵文字?も気になるところですが、そ
の辺は使うのは自由ですしね。
引用返信 編集キー/
■2232 / inTopicNo.11)  Re[8]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ 避け抜け (8回)-(2007/03/28(Wed) 09:39:02)

ご指摘ありがとうございます。

>>ループは、
util.Scannerクラスを使いテキスト文字列を読み込みました。(終了フラグが簡単なので)

>>改行は、

\\r\\n

↓変更

\\n

UNIXの、\r\n を改行と思いこんでいたのが間違いでした。

解決済み
引用返信 編集キー/
■2245 / inTopicNo.12)  Re[9]: カンマ区切りテキストファイルから配列を組むには?
□投稿者/ ぽぴ王子 (164回)-(2007/03/28(Wed) 16:59:55)
ぽぴ王子 さんの Web サイト
No2232 (避け抜け さん) に返信
>
> ご指摘ありがとうございます。
>
> >>ループは、
> util.Scannerクラスを使いテキスト文字列を読み込みました。(終了フラグが簡単なので)
>
> >>改行は、
>
> \\r\\n
>
> ↓変更
>
> \\n
>
> UNIXの、\r\n を改行と思いこんでいたのが間違いでした。

なるほど、そうでしたか。
報告どうもありがとうございました。

# 自分も陥りやすそうなところなので気をつけねば…
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -