- - PR -
次のファイルを使用したJavaファイル作成のヒントを下さい
投稿者 | 投稿内容 | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-04-13 22:14
褒めたところでなにも出ませんよ?^^;
残念ながらどちらかを擁護するとか、どちらかを非難するとかそういうことは考えてません。 単純に、要求というか仕様レベルで与えられた文字列のある文字をキーに処理を振り分けるということはあり得る話ですのでアドバイス的に「こっちの方がいいよ」ならいいですが、間違いと決めつけてしまうのは言いすぎかなと思っただけですね。 などと言えばカッコよく聞こえますが、言いたいこと言ってるだけにすぎないと思います(笑) 「wあいう」だとして、私が示したgoogle検索からは、 「最初の1文字とそれ以外を切り出せればいい」 ↓ 「文字列から一部の文字を切り取る」+「文字列の長さを調べる」 の組み合わせで解決できるというところにたどりついて欲しくて示しました。
クラスっていう概念は再利用可能性を高めるためにもあります。 Enshu1クラスはString配列を渡せばファイルに出力でき、String配列を受け取る形でファイルから読み取ることができるわけですね。 一歩進めるとI/O媒体が変わった場合、String配列というインターフェースというか仲介役を守ればDBに書き込んだりするクラスを用意して、メインのコードはほとんど変えることなくDBでやりとりするクラスを作って使用したり、xmlファイルでやりとりするクラスを作ったりできると思います。 そういう点から私は誰かに教えるときは、最初は仮にどんなしょぼい機能しか持ってなくても別のクラスをつくること、インスタンスを作ることを指示しています。 (Stringを引数にコンソールに出力する機能しかなくてもです。) Kazukiさんの仰ってる事に私も共感しています。 1点だけ付け加えるとすれば、私は他の投稿とか他の掲示板の話を前提にしていません。 このスレッドのこの問題だけに焦点を当てていますので、予めご了承を。 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2009-04-13 22:41
Kazukiさん、いつもアドバイスありがとうございます。
『wあいう』の文字列の中に出てくる「w」と「r」は文字を書き込むか読み取るかを判別する記号のようなものだと思っています。 なので、『wあいう』から『あいう』だけと取り除いて書き込むプログラムがこれ以上複雑になるのでしたら、w + スペース + あいうで構いません。 今回は『あいう』だけの3文字だけですが、もっと長い文章を書き込み、読み取る場合に手間が増えるのは、あまりいいとは思えません。 ので、このままで行きます。
1つ今までソースコードを見てきて思うのですが、確かに大文字小文字を区別せずに読み取るならばcompareToIgnoreCase()メソッドが1番適していると思います。 でも、ここはequals()メソッドでもmatches()メソッドでも代用できるのではないか、という事です。 後は、単にソースコードが分からないのですが、
ここだけが解読できません。 for文で何をしているのでしょうか。 質問は以上です。
そうですね。要求しているつもりは無かったのですが、そう受け取られてもおかしくない文章でした。 元のレスでは削除しておきました。
どうもすいません。自虐的な性格で劣等感の塊みたいな人間でして。 これからは、注意します。
これは、日本語が下手だと言われても仕方がないですね。 教えて君ですか。確かに丸投げは良くないですね。 今までを振り返ると、随分教えて君状態なときがあったような気がします。 これからはもう少し文章を考えた上で聞き返したいと思います。
そうですね。質問以外の内容が多いのと後は、Kazukiさんのおっしゃるとおり、こういう場ではあまりやらない事をやっていますね。 それが癇に障った方もいらっしゃるでしょう。 これも、注意して直すべき点ですね。
Kazukiさんの指摘は百発百中ですね。 ここは質問とアドバイスを書く場所ですからね。 それ以外の文章はいりませんね。 いろいろとどうもありがとうございました。 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2009-04-13 22:54
デューンさん、適切な回答といい、適切なフォローといい、感謝しています。
アドバイスを含めた文章だけで十分お返しを頂いておりますので、お気になさらずに。 多分、デューンさんもKazukiもあのサイトは見られたのだと思います。 でも、私の質問に対する閲覧者の数が1万人を超すという異常な事態でしたから、恐らくはああいうサイトができている可能性を危惧していました。 それもこれも、自分が引き金を引いたのかもしれないので、これ以上あのサイトの事を口にするのは止めておきます。 ああいう事があってもアドバイスをしてくれる方がいる事が今はとても嬉しいです。 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2009-04-13 23:57
>ここだけが解読できません。
>for文で何をしているのでしょうか。 君が5の文法で書いてるから for in を引き合いに出しただけでしょ。 何ですか?じゃなくて、覚えましょうよ。 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2009-04-14 03:23
なるほど、なるほど。ぴあちゃんさんのおっしゃっている意味がやっと理解できました。まるで暗号を解いた気分です。 5のね。そうですか。最初は5って何???って感じでしたが、Java5からの新機能でしたか。 まだジェネリクスの<E>とか<T>の意味すらも知らない私にはちゃんとJava5の新機能と補足説明をして下さらないと意味不明に陥ってしまいましたよ。 今は専らJavaの基礎を学んでいるので、まだJava5の新機能まで覚える余裕がありません。 という事なので、
は残念ながら、分かりませんでした。 一応ですが、こういうサイトを見つけました。 でも、説明が小難しくて例題もよく分からず何が何だか理解できません。 そもそもイテレーターを理解していないのが、ダメですね。 Javaの道は厳しい。 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2009-04-14 06:48
書くのが楽なので、Java5で追加された構文で書いてしまいました。
上のプログラムは、下のプログラムと同じだと思って頂いて大丈夫です。
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2009-04-14 07:29
もはやJ2SE1.4.2はサポートを終了しています。 そして、J2SE5.0も2009/10/30でサポートを終了します。 制御構文は言語の基礎ですから、新機能と分けて考えずに、習得しておいた方が良いですよ。(というか、既にJ2SE5.0は新じゃない) | ||||||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2009-04-14 09:16
何て言えばいいのでしょうか。
自分でも前のレスは少し反感を買うような記述をしているかもしれません。 確かに、ジェネリクスを使用しています。 ただ、これは必然的な事でそれを使わないとエラーになるから書きました。
なるほどって感じです。 前のレスでも書きましたが、以前ジェネリクスについて質問しました。 でも、その時初めてジェネリクスを知りましたし、知ったときには時既に遅くTigerについての本も品切れでした。 まぁ、古本を買えばいいのでしょうが、あまり古本は好きではありませんので今はジェネリクス、イテレーターについて記述のある別の本を買おうと思っています。 でも、for in構文と言えばいいのでしょうか。 またもや初耳情報です。こういうの知る度に自分の知識の古さを感じずにはいられません。 はっきり言って遅れていますね。遅れていると言う言葉自体が遅れているかもしれませんが……。 [ メッセージ編集済み 編集者: dejavu 編集日時 2009-04-14 09:42 ] |