1 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 22:10:53 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド100【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1175317038 /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
75 名前:65 mailto:sage [2007/05/02(水) 10:27:00 ] わかりました。 わざわざありがとうございます。
76 名前:72 mailto:sage [2007/05/02(水) 10:43:05 ] >74 いや、あの…ネタだったのに、ごめんorz 個人的には『わだ』式。 元々英語なんだから日本語にした時の発音なんてそれぞれじゃね?
77 名前:デフォルトの名無しさん [2007/05/02(水) 10:47:33 ] >73 つーか、ExelでCSV保存しなおすことができるよね
78 名前:71 mailto:sage [2007/05/02(水) 11:20:43 ] >>76 あ、ネタだったんですか・・・。 でも、分かる人には四声で表現した方が伝わりやすいですね。 >元々英語なんだから日本語にした時の発音なんてそれぞれじゃね? それもそうなんですが、例えばWordとかExcelとかだと第1声に近い感じのが主流ですよね。 Javaにもそういう主流の発音があるのかなぁ、と思ったので。 どうでも良いと言えば、どうでも良いんですけど 以前、Word、Excelの発音が第4声に近い感じの人が 「WordとExcelぐらいできますよ〜」と自身満々に言ってた割りに全然使えなくて 「使い慣れてる人はあんな発音しないよな・・・」みたいな印象をみんな持ってたので ソフトの発音と言えどもバカにはならないな、と思ってたんですよね。 もし主流の発音があるのなら今のうちにそっちにしとこうと思って質問したんですが、 って、ものすごく長くなってすみません。 発音気にする前にワニの本読みます。
79 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 11:28:47 ] 仕事をしていると ( c == 'A' ) がアザラシに見えてきます。どうすれば良いんでしょうか?
80 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:32:24 ] >>79 定数を定義する。これで'A'がメソッドの中に現れることはない。例えばこう。 public static char ^ω^ = 'A';
81 名前:デフォルトの名無しさん [2007/05/02(水) 12:52:35 ] 俺なんてjavaのキャラクターが奥歯に見えるぜ。
82 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:04:25 ] String型のデータをDate型にいれるのってどうすればいいですか?
83 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:09:33 ] >>82 >>29 あたり見れ
84 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:12:28 ] >>83 ありがとうございます!
85 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:12:35 ] え くせる くせる え どっちとも読むと思われ。
86 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 14:06:48 ] >>80 ( c == ^ω^ ) どう見ても、アザラシです。ありがとうございました。
87 名前:82 mailto:sage [2007/05/02(水) 14:27:47 ] やってみたんですが>>29 だと現在の日付になっちゃいますよね? StringにYYYY/MM/ddの形で文字列が入ってることが前提だとどうすればいいでしょう?
88 名前:デフォルトの名無しさん [2007/05/02(水) 16:41:51 ] >>87 あのなぁ>>29 が回答だなんて誰も言ってないだろ? ある程度ヒントが出てるんだからクラス名使って自分で調べろよ。 その上で何が分からないのかを聞けよ。 もしも自分なりに調べた上で質問してるなら 何を何処まで調べて、何が分からないんだ?
89 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:48:52 ] >>87 java.sun.com/javase/ja/6/docs/ja/api/java/text/DateFormat.html#parse (java.lang.String) java.sun.com/javase/ja/6/docs/ja/api/java/text/SimpleDateFormat.html#parse (java.lang.String,%20java.text.ParsePosition)
90 名前:デフォルトの名無しさん [2007/05/02(水) 21:05:17 ] JAVAでxlsファイル(計3シート)を csvファイルに変換したいのだが・・・。 どうしてもcsv変換後は前と(セルの中身)配置が違う。 どうしたらいいんだ〜!誰か・・エレガントなロジックをおしえてくれぇぇ!! 読み込みにはPOIを使用してます。
91 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 21:11:41 ] マルチかよ・・・
92 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:14:41 ] swing使ってwindowsプログラミング?してるんですが、 何か手軽にデバッグできるようなのありませんか? C(win32api)ではダイアログボックスがすごく便利でしたが、 それに相当するようなものないかなーと
93 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:18:46 ] >>92 javax.swing.JOptionPane#showMessageDialog とか? 素直にNetBeansとかEclipseみたいなIDEの 付属のデバッガ使った方が良いような気もするけど。
94 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:45:58 ] >>93 なぜか付属のデバッガのことを忘れてましたw ありがとうございました。
95 名前:デフォルトの名無しさん [2007/05/02(水) 22:58:21 ] JAVAでプロセス間通信ってどうやってやるの?
96 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:09:47 ] ソケットを使うのは普通に出来る。 共有メモリとかは標準にはないけど、NIO方面になんかあったよーな気も……
97 名前:デフォルトの名無しさん [2007/05/02(水) 23:10:08 ] >>95 ソケット通信とか色々あるけど
98 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:31:37 ] textfieldの一番左端に文字をsetするには どうすればいいでしょうか?
99 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:35:14 ] すみません。右端でした。
100 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:35:44 ] しかもtextareaでした。
101 名前:デフォルトの名無しさん [2007/05/02(水) 23:47:47 ] テキストの文字を取得して、最後に文字をくっつけて、またテキストにセットすればいいやん。
102 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:53:02 ] いえ、そういうことではなくて、 setTextを使うとtextareaの左端に表示されてしまうので。 それをtextareaの右端に表示したいんです。
103 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:05:26 ] AWTだとプラットフォームのpeer次第だろうな。 SwingのJTextAreaは textArea.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); だろうか。 正確には、中に子供部品を配置するときの左右に関係するパラメータだと思ったが。
104 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:19:18 ] ありがとうございます。 swingなので、よくわかりませんがやってみます。
105 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 01:01:01 ] jakarta POIで、あるExcelファイルを読み込むと org.apache.poi.hssf.record.RecordFormatExceptionが出る。 元のExcelファイルをExcelで開いて上書き保存するとちゃんと読み込めるんだけど、 元ファイルを吐くプログラム作った人に言わなきゃいけないんだろうか。 というかマスタぐらいcsvで吐いてくれよヽ(`Д´)ノウワァァン 一応poi-3.0-alpha3-20061212.jarとpoi-2.5.1-final-20040804.jarで試してみたけどだめぽ。
106 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 01:03:35 ] JTextFieldなら import static javax.swing.SwingConstants.TRAILING; textField.setHorizontalAligment(TRAILING); で、現在の行方向の行末に向かって揃えられる。 TRAILINGの代わりにRIGHTなら行方向にかかわらず右揃えになる。 JTextAreaにはsetHorizontalAlignmentなかったな。
107 名前:デフォルトの名無しさん [2007/05/03(木) 02:04:34 ] 質問ですただいま私のプログラムに3つのjavaがはいっているのですが 5・0の9、10、11と入っています?これは上書きされないのでしょうか・・ 容量ばかり食ってしまうので、9と10を捨てて最新と思われる 11だけを残しておけば後はアンスコしても大丈夫でしょうか? それとも9も10も11もそれぞれ違う役割をしているからどれか1つでも アンスコしたら何かが起動しなくなる・使えなくなるなどということがある。 などということでも何でも良いので教えてください。お願いします。
108 名前:デフォルトの名無しさん [2007/05/03(木) 02:23:17 ] >>107 JDK自体に問題はない クラスパスどこで管理してるかは君次第
109 名前:デフォルトの名無しさん [2007/05/03(木) 12:54:49 ] >>108 レスありがとうございます。すいません、初心者なもんで ちょっと説明が難しいのですが。とにかく、9,10,11は それぞれ別物ということでしょうか?そしてその9でも10でも11でも 何かのプログラムが例えば9のjavaで使用していればアンスコしたら 使えなくなるから×で最新と思われる11のjavaでも何も使用して いなければアンスコしてもおkということでしょうか。。。
110 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:45:36 ] >>109 そんな感じ。
111 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:54:24 ] >>109 自分で何も設定した覚えがなければ、とっくに動いていない9・10をさっさと消すべし
112 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:01:58 ] 抽象クラス(というか継承)の使い方がよくわかりません。 クラスA,B,Cを含むパッケージがあります。 Aは抽象クラスです。 Aを継承したクラスB,C,Dを作成します。 B,C,Dは異なる実装ですが、同じ機能を提供します。 この場合、B,C,Dのインスタンスは外部からは何型として参照すれば良いのでしょうか。
113 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:07:41 ] ×クラスA,B,Cを含むパッケージがあります。 ○クラスA,B,C,Dを含むパッケージがあります。 でした。すみません。
114 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:10:17 ] 普通は A 型の参照に入れると思うけど。 大雑把に言って、 A a; if(hoge) { a = new B(foo); } else if(hage) { a = new C(bar); } else { a = new D(baz); } a.hige(); みたいなことがしたいんじゃないの? まあ、B, C, D に拡張機能がある場合は 直接 B, C, D を使う場合もあるだろうけど。
115 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:39:58 ] >>114 さん やりたいことはその通りです。 B,C,Dには拡張機能はありません。 B,C,Dは実行環境(プラットフォームでも良い)に依存したクラスです。 ・クラスA,B,Cを含むパッケージがあります。 ・Aは抽象クラスです。 ・Aを継承したクラスB,C,Dを作成します。 ・B,C,DはAの異なる実装ですが、同じ機能を提供し、それぞれに拡張機能はありません ここに、インスタンスの生成に関して2つ条件を加えようとしています。 ・B,C,Dのインスタンスは排他的にどれか一つしか生成できません。 ・B,C,Dのインスタンスはいずれも、同時に一つしか生成できません。 これが上手く実現できません。。。
116 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:46:42 ] >>112 >B,C,Dは異なる実装ですが、同じ機能を提供します。 ここまで分かってるなら理解してるような気がするけど、 機能が同じでも実装が違えば返ってくる値が違うってのは理解してる?
117 名前:112 mailto:sage [2007/05/03(木) 14:54:11 ] >>116 さん ご返答有難うございます。 >機能が同じでも実装が違えば返ってくる値が違う Aから継承したメソッドをA型参照から呼び出しても、 それがBのインスタンスであるかCのインスタンスであるかによって、 実行される処理が変わるということでしょうか?
118 名前:112 mailto:sage [2007/05/03(木) 14:55:19 ] 115について、自分が考えたのは、 1.AにstaticなA型ポインタをメンバとして加える。 2.Aにstaticなインスタンス生成用のメソッドを追加する。 3.2のメソッドは1のポインタにB,C,D何れかのインスタンスを生成して参照(代入)させ、 1のポインタを返す。 4.B,C,Dのクラスまたはコンストラクタのスコープをパッケージで閉じてしまう。 5.↑によって、B,C,DのインスタンスはAのメソッドを通してA型としてしか取得できないようにする。 これってなんかおかしいでしょうか・・・。
119 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:59:44 ] >>115 排他的でシングルトンなファクトリクラスを作れば良いかな。 シングルトンの管理は色々出来そうだけど A,B,C,D,ファクトリを同じパッケージにしてB,C,Dのコンストラクタはパッケージープライベートにする。 んで、ファクトリはAのサブクラスのインスタンスを一度でも生成したか どうかのフラグを持つ。B,C,Dのインスタンスを返すメソッド(ファクトリメソッド)内でフラグ立てる。 フラグが立ってれば以降はインスタンスを返さないか、 または生成済みインスタンスを返す。 大雑把だけどかんな感じか。
120 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:45:19 ] >>117 そう。これサンプル。 ttp://www.vipper.org/vip499966.java 抽象クラスと継承については理解してるよ。 やろうとしてる事は それとはあんまり関係ないきがする。 デザインパターンかも。
121 名前:112 mailto:sage [2007/05/03(木) 16:11:50 ] >>119 さん,120さん 有難うございます。 デザインパターンについて少し調べてみることにします。
122 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:13:16 ] APIのメソッドのソースをEclipse上での見方を教えてください。 「ソースが見つかりませんでした。」 となるのですが・・。 どこからかDLすれば見れるようになるとかいうことでしょうか? 宜しくお願いします。
123 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:15:27 ] APIソースはJDKに入ってる。 仮想マシンの設定あたりにソースzipを指定する箇所があるよ。
124 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:18:46 ] 構造体の2次元配列ってどうやって定義すればよいの? こんな感じで使いたいのです。 myName[0][0].sei = "性" myName[0][0].mei = "名" ちなみにこんなふうにしてみましたがダメでした。 class StructName { String sei; String mei; } StructName myName[][] = new StructName[5][5]; myName[0][0].sei = "性" ← 代入しようとするとエラーになる。
125 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:26:37 ] まずそれは構造体じゃない で、最初に初期化しなきゃだめ for〜〜 for〜〜 myName[i][j] = new StructName(); あとお前はコンストラクタでググるべきだ
126 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 01:23:52 ] コンストラクタでググる前にjavaの教科書を頭から読み直すべきだな
127 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 01:44:55 ] オブジェクトが存在するかどうか調べるにはどうすればいいでしょうか。
128 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 05:27:42 ] もすこし詳しく
129 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 14:19:42 ] int[] vec = new int[2]; このような1次元配列vecを2次元配列としてメソッドに渡したいのですが、どうしたらいいのでしょうか? 今は下のように書いているのですが、キャスト専用の変数を作るのとコードが冗長になってしまうのとが気になってしまって もっとシンプルに書く方法ってありませんかね? int[][] temp = new int[1][2]; temp[0] = vec; method(temp);
130 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 14:36:03 ] >>129 new int[][]{ vec };
131 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 16:10:19 ] >>130 即レスありがとうございます 期待した通りに動かすことができました
132 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 17:24:54 ] java入門したばかりで言語より考える方について質問ですが割合を出す方法を式で書くとどうなのかお尋ねします。 例えば、製品数a(1000個)の内、不良品b(200個)あると良品数c(80%)ですよね。 *a,bは決まった数字じゃありません
133 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 17:29:08 ] それ算数の問題だからjavaとか関係ない
134 名前:デフォルトの名無しさん [2007/05/04(金) 20:03:54 ] C系では、メソッドやクラスの左かぎ括弧は改行するけどJavaではしないよね。慣例なの? 【C系】 public class SampClass { } 【Java】 public class SampClass{ }
135 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 20:23:20 ] Javaの場合、Sunが自身のコードで使っているとされるコーディング規約が文書化 されていて、その中に java.sun.com/docs/codeconv/html/CodeConventions.doc5.html#381 というものがある。実際JDKのライブラリソースはこれに則っている感じ。 もちろん外部の人間が従う義務はない。ただ、Javaの黎明期には参考になるコード はJDKのライブラリソースくらいだったわけで、この頃から一般人もJDKのソース の書き方を真似て、カーリーブレースの前で改行しないスタイルが定着したのだろ うと想像する。
136 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 20:24:35 ] >>134 Sun のコーディング規約だと後者に近いってだけじゃね? C言語でも改行しない人は一杯いるしね。 プログラミング言語C++ とかでも switch { やら struct hoge_tag { では改行してないし。 GNUコーディング規約だと if とか while とかでは改行+インデントして括弧つけたりするし。
137 名前:デフォルトの名無しさん [2007/05/04(金) 21:08:13 ] これ、コピペ多用する言語なのか? なんだかその悪寒がしてきたんだが
138 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 21:10:05 ] >>137 なんで?
139 名前:デフォルトの名無しさん [2007/05/04(金) 22:31:55 ] javaでExcelを作れるが、そのExcelにVBAコードを挿入できる??
140 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 22:59:48 ] >>136 各言語でそういう規約があるのね。 eclipseの自動生成や、書籍を見てて改行してなかったから、慣例だと思ってたよ。 まぁ俺はクラス・メソッドは改行、制御文は改行なし、でいつもやってるんだがなぁ。 ま、javaは規約に従うとするか・・・。約1行、節約になるしw
141 名前:140 mailto:sage [2007/05/04(金) 23:00:27 ] >>135 もサンクス。
142 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 23:07:36 ] コンストラクタの実行に時間がかかるクラスを作ったんで、カウンタ設置してその値に応じてJProgressBarで経過を表示しようとしたんだが、コンストラクタの実行中はバーが全然更新されなくて、実行終了後に更新されてバーがMAXになる。 どうすれば・・・
143 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 23:20:44 ] >>142 今週のJavaクイズ(6):ボタンを押すとどうなる? blogs.sun.com/javaev/entry/%E4%BB%8A%E9%80%B1%E3%81%AEjava%E3%82%AF%E3%82%A4%E3%82%BA_6_%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E6%8A%BC%E3%81%99%E3%81%A8%E3%81%A9%E3%81%86%E3%81%AA%E3%82%8B 「Java SE 6完全攻略」 第27回 Swingでマルチスレッド - SwingWorker その1(上記の解答編っぽい) itpro.nikkeibp.co.jp/article/COLUMN/20070413/268205/
144 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 23:39:00 ] >>143 まじでサンクス! 明日早速なおしてみます。
145 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 10:06:07 ] マルチにも回答がやってくる恋の季節
146 名前:デフォルトの名無しさん [2007/05/05(土) 14:27:24 ] このエラー何ですが、どうしたらなおるでしょう? シンボルを解釈処理できません。 シンボル: メソッド equals (char) 位置 : java.lang.String の クラス if("\t".equals(tmpStr.charAt(i))){
147 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 14:30:27 ] >>146 > if("\t".equals(tmpStr.charAt(i))){ if("\t".equals(tmpStr.substring(i, i+1))){
148 名前:デフォルトの名無しさん [2007/05/05(土) 14:36:12 ] >>147 ありがとうござます。iが原因みたいですた。
149 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 14:42:51 ] >>147 if('\t' == tmpStr.charAt(i)){ でも良かったのでは?
150 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 14:49:48 ] 別のプロセスにオブジェクトを渡したいのですが、どんな方法がありますか?
151 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 15:14:19 ] コピペ
152 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 16:47:24 ] >>150 java越えて共有メモリにしたいとか、そういう事?
153 名前:デフォルトの名無しさん [2007/05/05(土) 17:36:07 ] オブジェクトを構成する全てのパラメータを エクスポート、インポート出来るようにして・・・ってそういう事でいいのか?
154 名前:デフォルトの名無しさん [2007/05/05(土) 18:07:51 ] Javaのクラスでつまずいている者です。 ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29366 このようなソースの場合、 class Employeeの、 public Employee(String n, double s) { name = n; salary = s; id = 0; } や public String getName() { return name; } はどういった役割をしているのでしょうか? また、 public void setId() { id = nextId; // set id to next available id nextId++; } もどういった役割なのでしょうか? なぜ、getとsetを設定するのかが分からず、混乱しています。
155 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 18:16:17 ] 新しく犬を飼おう 名前はポチにしよう(setName) このわんちゃんの名前なんていうの? ポチだよ(getName)
156 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 18:19:58 ] 何でポチって名前なの? ポチって首輪に書いてあるから ポチって犬小屋に書いてあるから ポチって焼き印wが押してあるから ポチって俺が名付けたから 何でポチかは自由。知りたいのは何故かではなく名前だけ。
157 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 20:33:01 ] fukumori.org/oo/why_use_getters_and_setters_j.html
158 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 21:13:24 ] >>154 ただの変数だと、制限がかけられない。(現実的にありえない数値が入ったりする) そこで、セッターを作り、引数をチェックし、ありえない数字が来たら例外を発生させる。 void setHoge(int foo) { if () { }
159 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 21:16:41 ] ↑途中で送信してしまった。 if で引数チェックして、例外発生させるの。 そしたら、変数が適切な値だと保障することができる。 クラスや例外ない言語の場合、 関数呼んだあと、戻り値でエラーチェックしたりするのが めんどくせえぞ。
160 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 21:36:51 ] オブジェクトってのは変数が賢くなったみたいなもん。 箱にボタンがついたみたいなもん。 自販機を考えてみれば、箱の中身の仕組みを知る必要はなく、 お金を入れて、ボタンさえ押せばジュースが返ってくる。 クラス(設計図)に中の仕組み書いて、 new クラス名でインスタンス(実体/オブジェクト)を作るってだけ。 クラスの外からは、中のメソッド(ボタン)の仕組みを知る必要はなく、 何が必要で、何が返ってくるかだけ知っていれば良い。
161 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:33:02 ] jarファイルというのを作って実行してみたのですが、 プログラムは正しく動作するのに、画像が表示されません。 classファイルと同じディレクトリにgif画像はあるのですが、 どういった原因が考えられますか?
162 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:35:38 ] >>161 正しく動作してんなら何の問題もないよね。 次の質問どーぞー
163 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:36:13 ] >>161 エスパー募集キター
164 名前:161 mailto:sage [2007/05/06(日) 01:19:20 ] ああ、そうですね。矛盾してますね。 パッケージに纏める前は正しく動作して画像もきちんと表示されていました。 しかしjarファイルを作った後にプログラムを実行したところ、画像は表示されないけど、 それ以外は前と同じ動作をしているように見えます。
165 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 01:40:57 ] >>164 ClassやClassLoaderのgetResourceで画像ファイルのURLを求めてそのURLから読み込むようにしていないか 大文字と小文字の区別をつけられないファイルシステムを使っていて上手く動くような気になって その区別をつけるjarの中の画像ファイル名を正しく指定していないか
166 名前:デフォルトの名無しさん [2007/05/06(日) 02:33:56 ] Javaのawtってボタンとかの配置を座標で指定できないの? それっていくらなんでも不便じゃない
167 名前:デフォルトの名無しさん [2007/05/06(日) 02:40:42 ] >166おれにもおせーて
168 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 02:44:43 ] つ ILikeTroublesomenessLayout implements LayoutManager2
169 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 02:48:16 ] JNIを使ったクラスライブラリを書いているのですが、 ネイティブなファイルをjarに含めて動作させるにはどうしたら良いのでしょうか。 ぐぐるとBundle-NativeCodeなるものが見つかったものの 書いても何も変わらず、loadLibraryがネイティブなファイルを見つけてくれないのです。
170 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 04:31:56 ] 携帯電話向けJavaでは、 使いまわされないデータ型だけのクラス(構造体)なんかは、 メインのクラスで内部メンバとして書いたり、 ステップ数が多い処理を、メソッドを使わずインラインでガリガリ書いたりと、 独特の流儀があるようです。 以前の携帯は実行ファイルサイズ制限があって、 このような方法が主流みたいですが、 今は実行ファイルサイズの制限は緩和されたようです。 とすると、上のような携帯Java独特の、 およそJavaらしからぬコーディングスタイルには意味はあるのでしょうか? 例えば、単一のデータ構造を参照するのにインナークラスを使わずに、 呼び出し元のメンバとして参照する事で、速度的なメリットがあったりするのでしょうか?
171 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 05:12:58 ] >>170 それはもう過去の話。心配しないで関数にしておk
172 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 05:13:46 ] 単一クラスでがんばる、とかは?
173 名前:デフォルトの名無しさん [2007/05/06(日) 07:25:37 ] ライブカメラ全般たとえば「東京ストリート チャンネル」などが見れなくなってしまった のですが、何が原因なんでしょうか。 javaを再インストールしたがダメです。
174 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 10:08:54 ] >>166 一応、java.awt.Component#setLocation()
175 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 10:12:10 ] >>166 つ null layout