逆寅次郎はタナトスを抑えられるか?

文系出身者が30代からJavaのBufferedReaderクラスを理解しようと四苦八苦

昔、Javaを勉強しようと頑張っていた時期があった。

その時、

 

初心者がjava.ioパッケージにあるBufferedReaderクラスを使いたい時、インポート文を「import java.io.*;」ではなく「import java.io.BufferedReader;」と書く方がいい

 

みたいなメモが残ってた。

 

たぶんあれだ

「import java.io.*;」っていう文は、万能なんだけど、どのクラスライブラリを使ってるのか、判らなくなるからみたいだ。

これだと、ライブラリからどんなクラスを引っ張ってきてるのか、覚えないんだよな。

 

だから1個ずつ、「import java.io.BufferedReader;」とか書いてたら。

BufferedReaderクラス以外にも、何のクラス使ってるのかとか、不足してるクラスだとかが、判ったりする。

誰かが書いたプログラムを参考に書き換えたりする場合。

 

試してみたら、Eclipseで「InputStreamReader」がある行で、エラーが出ていた。

InputStreamReaderクラスを利用するための、インポート文が入ってないからみたいだった。

ただ、自分はそもそも「InputStreamReader」クラスが、何のために使ってるのかよく判っていなかった…。

 

Javaで簡単に文字コードを自動判別するライブラリ!文字化けさせずにファイルインポートでバイト情報に変換する方法! | 自作PCテクニカルセンター

 

で、出てきたりするけど。

そんで「IOException」の行でもエラーが出てたから「import java.io.IOException;」って入れて、対応したが。

IOExceptionクラスって何…

ネットで調べたら「メソッドが例外IOExceptionを送出(throw)する可能性がある」と説明してくれている。

それでも、IOExceptionクラスは、よく判っていない…。

 

希望するプログラムが、Eclipse上で動かないトラブルもあった。

その時は、

 

Eclipseでアクティブでないプログラムが実行されるときの対処法 | TECH Projin

Eclipse – 選択したクラスから実行できない|teratail

 

とか読んで参考にしたりしてたけど、解決したかどうかは覚えていない。

 

アクティブなタブにあるプログラムを実行してほしいのに、全然関係ないタブのプログラムを実行されてるする挙動をされたりしていた。

全然関係ないタブ、という自分の認識が違っているかもしれないが・・・。

どうやら、アクティブになってるタブのプログラムがエラーで実行できないから、とりあえず前にうまくいったプログラムを実行しているのは確認したことはある。

 

そうじゃなくて、エラーのままでも稼働して、どこがエラーなのかアナウンスしてくれたらいいのにな。

「前回うまくいったプログラムを代わりに実行する、っていうのは必要なのか?

 

あとJavaでよく見かける、

 

String[] args は文字列の配列で変数名argsを引数に持つ、ということ。(Java学習ノート_140707(mainメソッド、入力プログラム) – Qiita

 

ってのは、勉強になった。

“[]”が配列ってのは何となく把握してたが、argsって変数か~。なんて。

 

でもargsに代入する値とかって、定義されてなくないか?

変数は使う前に、宣言みたいな文があるだろ。

VBAにはあった。

 

それなのになんで変数と言えるんだ…省略されてるのか…あー、argsはまだ謎だな。

なんてごちゃごちゃ、半日ぐらいコードと睨めっこしてた。

 

やっぱりプログラミングは難しいな。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

管理人:逆寅次郎
東京在住のアラフォーのおっさん。大学卒業後、出版業界とIT業界で、頑張ってサラリーマンを15年続けるも、他律的業務と人間関係のストレスでドロップアウト。日銭を稼ぎながらFIREを夢見る怠惰な人間。家に帰っても家族もおらず独り、定職にも就かずにプラプラしてるので「寅さんみたいだな…」と自覚し、「でもロマンスも起きないし、1年のうち誰とも喋らない日の方が多いなぁ」と、厳密には寅さんとはかけ離れている。だけど、寅さんに親近感があるので”逆寅次郎”として日々を過ごし、孤独な独身者でも人生を充実させる方法を模索しています。