1 名前:デフォルトの名無しさん [2008/03/01(土) 18:16:51 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド112【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1202467704/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝のう存じます。 次スレは>>980 あたりで。
116 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 17:47:22 ] >>114 ここはプログラムを作る人のための板なんで、 自分で作らず拾って動かすだけの人はお呼びでない >>115 じゃあ使ってみれば ひとりごとはブログにでもどうぞ
117 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 20:31:23 ] こんな質問恥ずかしいんだが初心者歓迎って書いてるから大丈夫だよね JComboBoxに対してsetSelectedItemメソッドを実行するとJComboBoxに登録した アクションリスナーが反応しちゃってどうも意図した動作が得られない JComboBoxの項目が選ばれたときのみリスナーが反応するには どこでどう判断させればいいのかな? 恐らくイベントを受け取るactionPerformedメソッドで それがユーザーアクションによって起こったものかどうか判断できるのだろうか… いくらヤフっても出てこない。どなたかご教授お願いします
118 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 20:44:56 ] >>117 一番安直なのは、setSelectedItemする間だけリスナを外す もしくはフラグを立ててイベントを無視する ユーザ操作によるものかどうかは判定できないんじゃないかなぁ
119 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 20:52:42 ] >>118 リスナを外す方法は、ちょっと不粋かなぁ?と思ったんだけど それしか方法がないなら仕方ないね。即レスありがとう
120 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:24:44 ] shift_jis、jis等の文字コードを指定して 全角文字列を一文字ずつ漢字コード取得していくのは どのようにすればいいでしょうか?
121 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:29:01 ] >>120 byte[] b = "あ".getBytes("Shift_JIS");
122 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:30:00 ] サーブレットの数が沢山あり、 a.b.servlet1.java a.b.servlet2.java ... a.b.servlet100.java web.xmlに1個ずつ<servlet>a.b.servlet1</servlet>と定義するのは大変なので、InvokerServletを利用したいのですが、 アクセスするURLにパッケージ名を含めないという要求もあります。invokerでパッケージを指定する方法ないですか? /context/xxx/servlet1 -> a.b.servlet1.java /context/xxx/servlet2 -> a.b.servlet2.java ... /context/xxx/servlet100 -> a.b.servlet100.java <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/xxx/*</url-pattern> <class-pattern>a.b.*</class-pattern> </servlet-mapping> みたいなことが出来たら嬉しいのですが。 InvokerServletのサンプルにも上記のような物がなく、代わりになるような物も見つからず。。。
123 名前:デフォルトの名無しさん [2008/03/03(月) 22:37:01 ] 質問です。 import java.awt.*; import javax.swing.*; public class GUI extends JFrame { public static void main(String[] args){new GUI();} public GUI(){ Container c = getContentPane(); c.setLayout(new BoxLayout(c, BoxLayout.Y_AXIS)); c.add(new MyForm("オラオラオラ", "オラ")); c.add(new MyForm("無駄無駄無駄", "無駄")); JButton b = new JButton("そして時は動き出す"); b.setAlignmentX(JButton.RIGHT_ALIGNMENT); c.add(b); pack(); setVisible(true); } class MyForm extends JPanel{ public MyForm(String label, String value){ setLayout(new FlowLayout(FlowLayout.RIGHT)); add(new JLabel(label)); JTextField tf = new JTextField(10); tf.setText(value); add(tf); } } } 最後のボタンを右詰にしたいんですけど、右詰にならないのは何故でしょう。
124 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:38:02 ] >>122 invokerもどきを自分で作るのがそんなに大変とは思えないけど・・・ リクエストURLからクラス名を切り出して Class.forName(〜).newInstance()でサーブレットをインスタンス化して service呼ぶだけじゃないのかなぁ基本的には
125 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:40:54 ] >>123 MyForm も setAlignmentX(1) にしないといけないのでは
126 名前:123 [2008/03/03(月) 22:49:40 ] >>125 なるほど。 いけました。そういうもんなんですね。
127 名前:a mailto:sage [2008/03/03(月) 22:53:07 ] >>116 お呼びでないじゃなくて質問者が来るんだよ。バカか。 かってに決めてんなよお前の意味わからんルールを。質問相談スレッドだろが。
128 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:58:19 ] >とりあえず起動させる手順教えて下さい。 いやこれ質問じゃないし
129 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:04:16 ] >>127 pc11.2ch.net/tech/ ここ見てみろ、ちゃんと書いてあるだろう 「この板はプログラムを作る人のための板です」って
130 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:04:21 ] まあ3月だもんな しゃーない
131 名前:正志 [2008/03/04(火) 03:02:19 ] >>91 Thanks, >>88 Shut-up man, fuck off you bitch, ウゼエ どうせ〜だろ はやめなさい
132 名前:デフォルトの名無しさん [2008/03/04(火) 03:32:21 ] ところでsplitで x または aで区切るのはどうしたら?
133 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 03:59:29 ] "123a456x789a0".split("x|a")
134 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 14:36:03 ] Nim of game の書き方教えてくれるとこありますか?
135 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 14:36:34 ] Game of Nimでした。
136 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 16:07:34 ] MouseEventはabstractでーバーライドできないって出てくるのですが、 何か間違っているのでしょうか?いちおう解説本の通りに打ったつもりなんですが・・ import java.applet.*; import java.awt.*; import java.awt.event.*; /* <applet code="MouseEvents" width=300 height=300></applet> */ public class MouseEvents extends Applet implements MouseListener{ public void init(){ addMouseListener(this); } public void mouseClicked(MouseEvent me){ setBackground(Color.blue); repaint(); } }
137 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 16:08:09 ] すみません、質問させてください。 Look&Feelのフォント設定で、 System.setProperty("swing.plaf.metal.controlFont", "Dialog-Plain-12"); を指定しておくとフォントがDialog-Plainの12ポイントになりますよね。 WindowsのLook&Feelを適用したときにもこのように一括で指定するキーはありますか? これらのキー名がAPIドキュメントにさっぱり見つからず困っております・・・
138 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 16:10:42 ] >>136 MouseListenerのメソッドはmouseClickedだけじゃなくて全部実装する必要がある 中身からっぽでもいいので public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { }
139 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 16:21:47 ] >>138 ありがとうございました
140 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 17:36:21 ] カオスってるな
141 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 17:36:39 ] WindowsXP+tomcat5.0.28にて hello.jsp -------------------------------------------------------------- <%@ page language="java" contentType="text/html;charset=Windows-31J"%> <%@ page errorPage="DefaultException.jsp" %> error.jsp ------------------------------------------------------------- <%@ page language="java" contentType="text/html;charset=Windows-31J"%> <%@ page isErrorPage="true" %> ---------------------------------------------------------------------- hello.jspの中で例外が発生するとerror.jspが呼ばれますが、error.jspの内容が文字化けしてブラウザに表示されます。 でも、error.jspを直接ブラウザから呼ぶと文字化けが起きません。 JSPの例外処理機構で呼ばれた時だけ文字化けしているように見えます。解決方法ありますか?
142 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 17:38:22 ] >>141 転載ミス。errorPage=error.jspと読み替えてください。
143 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 20:15:09 ] >>141 文字化けの原因は別のところにありました。 web.xmlで下記の設定を入れていると、こちらが優先されるらしく文字化けが発生します。 <error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page> error-pageの設定をコメントアウトすると文字化けしなくなります。tomcatのバグ?
144 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 21:50:31 ] public static void main(args[]) について、教えてください。 このメソッドについて、 一連のコンパイル単位の中でただひとつのみの存在が許されるメソッドである、 といったルールは存在しますか? public class Test1 というクラスと class Test2 というクラスとの両方に、 public static void main(args[])を記述してみて、 Test1のmain()から、Test2のmain()を読んでみたのですが、特に問題なく動きました。
145 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 21:56:35 ] > 一連のコンパイル単位の中でただひとつのみの存在が許されるメソッドである、 > といったルールは存在しますか? ない。
146 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:48:27 ] 4桁の16進数を 数値型に変換ってどうすればいいですか? 0xの16進数で出力したいのですが
147 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:57:00 ] >>146 よくわからんので、どういう入力に対してどういう出力が欲しいのか、例をあげてくれ
148 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:59:59 ] >>146 エスパーレスすると int i = 0xABCD; System.out.println("0x" + Integer.toString(i, 16));
149 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:03:56 ] >>147 失礼しました >>148 の方の例で言うと StringでABCDとわかっていて intで0xABCDと変換したいのですが
150 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:05:58 ] >>149 String s = "ABCD"; int i = Integer.parseInt(s, 16);
151 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:07:07 ] >>150 ありがとうございます 引数に指定するだけなんですね
152 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:47:26 ] お世話になります。 swingいじりしているのですが、根本がわかっていません。 JFrameのインスタンスを作ると、そいつは、自動的に別のスレッドで動いているのでしょうか? 関数main()は、最終行まで処理されて、その後ろはないのですが、 JFrameでつくったウィンドウやその上のコンポーネントは動作を続けています。 スレッドでなければ何なのか理解できません。 エスパーしていただけませんか。
153 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:04:25 ] 分かりません。教えてください。初心者です。エスパーしてください。
154 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:15:34 ] >>152 クラスは作成したとき一回だけ初期化用のメソッドを通る。
155 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 01:12:20 ] OSのシステムフォントを得る方法はありますか?
156 名前:デフォルトの名無しさん [2008/03/05(水) 01:28:07 ] Javaの質問とちょっとずれる気もしますが・・・ DBとのコネクションを確立する為に Connection con = null; con = DriverManager.getConnection(URL,USER,PASS) などと書きますよね。 この時、conはインスタンスと呼んで良いのですか? Connectionはインターフェースなのでインスタンスを生成することはできないはず。 インスタンスでないとしたら何なのでしょうか? ご教授下さい。
157 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 01:30:59 ] >>152 ThreadGroup#listでどんなスレッドが動作しているか見てみるといい。 思った以上にいろいろなスレッドが動いているのが分かる。
158 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 01:32:57 ] >>156 conはConnectionインタフェースを実装するクラスのインスタンスへの参照
159 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 01:35:38 ] 一応、正確を期すなら「conで参照しているインスタンス」みたいな言い方になる。 変数それ自体はインスタンスではない。
160 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 03:18:58 ] >>152 そう、SwingはEDTという別スレッドで動いている そして、ここ以外では動かしてはダメ、というのがルール
161 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 04:15:31 ] >>152 名前をわざわざ変えなければ、mainメソッドはmainという名前のスレッドで動作している。 Swing関係の機能を使うとさらに別のいくつかのスレッドが生成される。 その中には>>160 の言うEDTというGUI関係のイベント処理を一手に担うスレッドもある。 この新たに生成されたスレッド群によってウインドウやその上のコンポーネントが動作する。 mainメソッドが最後まで処理されるとmainという名前のスレッドは終了して無くなるが、 他のスレッドが終了するまでプログラム全体としては終了しない。
162 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 11:23:40 ] EDT自体はAWTにもあってSystem Queueっていう名前でマルチスレッドになってる。 Swingのイベント周りはシングルスレッドで動いててSwingコンポーネント生成を含めてSwingコードはEDTで動かさないといけない。 昔、Swing関連のスレッドにはバグがあるからSwingコンポーネントの生成もEDTで行うようにと作法が密かに変わってSwingのチュートリアルだけが変更されてまともなアナウンスはされてない。
163 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 12:10:15 ] >>152 の書き方だと >JFrameのインスタンスを作ると、そいつは自動的に別のスレッドで動いているのでしょうか? と訊いているのだから、コンストラクタの呼び出しのことで、それ自身はmainのスレッドで動いているでいいんじゃない? 全てのコンストラクタの呼び出しが終わらなければmain()には戻らないと… コンポーネントのイベント処理はまた別の話で。 もちろんSUNの推奨は >>162 の云うようにコンポーネントの作成もEDTで行うなのだろうが…
164 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 12:34:10 ] ボタンを作って、そのボタンを押すとthreadがnullになるように作っています。 run()メソッドの中に書かれている処理にかかる時間が短い場合(1ms以下)だと正常に止まってくれます。 しかし、処理にかかる時間が長い場合(100msくらい)だと何回もボタンを押さないと止まってくれません。 どうしたらいいですか? run()メソッドの中 while(thread != null) { 処理 thread.sleep(100); }
165 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 12:40:35 ] >>164 時間のかかる処理の途中で if(thread==null) break; とかしてみる。
166 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 12:49:12 ] コンストラクタってコンストラクタ自身がスレッド作ってその上で動いてなかったっけ?
167 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 13:35:10 ] えっ
168 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 13:50:35 ] >>166 試しちまったじゃねぇかよ。 public class ConstractaThreadName{ ConstractaThreadName(){ DisplayThreadsName(); } public static void main(String[] argv){ ConstractaThreadName ctn = new ConstractaThreadName(); System.out.println(); DisplayThreadsName(); } private static void DisplayThreadsName(){ int i, n; System.out.println("Display Threads Name"); Thread[] tarry = new Thread[Thread.activeCount()]; n = Thread.enumerate(tarry); for(i = 0; i < n; i++) System.out.println(tarry[i].getName()); } }
169 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 13:57:48 ] >>168 カレントスレッドがどれかも表示しないと意味なくない?
170 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 14:01:32 ] >166 スレッドの生成コストってフルGC並の糞思い処理だぜw
171 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 14:03:00 ] eclipse Europe 3 と日本語化をつかってるのですが バージョンアップするには何をダウンロードしてどうしたらいいですか?
172 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 15:48:54 ] >>171 Eclipse統合M24【Java/C/PHP/Ruby/Python/Perl】 pc11.2ch.net/test/read.cgi/tech/1200918324/l50 こっちで聞け
173 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 16:54:03 ] いやjavaのスレッドじゃなくてVM内部で別のスレッド走らせてるんじゃなかったけ? 言語違ったかなぁ・・・。
174 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:01:43 ] >>173 そんなわけのわからんことはしないよ そんな奇妙なことをする言語があるなら興味深い コンストラクタじゃなくてファイナライザか?
175 名前:デフォルトの名無しさん [2008/03/05(水) 19:50:02 ] 質問です。 GI プログラム中から 他のGUI プログラムを呼び出したときに 必ず呼び出したプログラムのウィンドウ(Frame)にフォーカスをあわせる方法 ってありますか? 呼び出すプログラム側でエンターキーで他のプログラムを呼び出すのですが、 エンターキーを連打したときなどに、どっちのプログラムもキーの受付をしてくれなくなります。 マウスでクリックしてやれば、アクティブになってキー操作を受け付けてくれるのですが。
176 名前:デフォルトの名無しさん [2008/03/05(水) 19:51:14 ] >GI プログラム中から GUI プログラム中から のミスです あと、 > 必ず呼び出したプログラム 呼び出された新しいプログラム という意味です。
177 名前:デフォルトの名無しさん [2008/03/05(水) 21:18:28 ] 詳しい方へ質問です。 『作成したプログラムを保存するフォルダを作る。コマンドプロンプトを起動したらそのフォルダがディレクトリになるように設定する(Cドライブのルートに「My Java」フォルダを作成し、ここをディレクトリにする)』 という作業をしたいのですが、「コマンドプロンプトのプロパティ」→「ショートカット」で「作業フォルダ」に“C:¥My Java”と入力すると、 「“C:¥My Java”フォルダは無効です。フォルダがあるか、またはパスが正しいか確認して下さい。」と出てしまいます。 他にフォルダを作った覚えもないのに、何度やっても同じ結果になってしまうのですが、どうしてなんでしょう? あ〜もう!自分で書いてて意味分からない‥
178 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 21:32:09 ] >>175 ttp://java.sun.com/javase/ja/6/docs/ja/api/java/awt/Window.html#toFront() >>177 "C:\My Java" と入れてみ。 C:\は全角で入力する必要があるし、 フォルダ名にスペースを含む場合は前後を"で囲む必要がある。
179 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 21:32:44 ] C:\は全角じゃない半角だった
180 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 21:44:13 ] >>177 質問の内容がJavaではない気がする・・・。 Javaのプログラム上からファイル出力をする為のディレクトリを生成して Javaからコマンドプロンプトを起動してカレントディレクトリを設定するって事ですか?
181 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 21:52:13 ] int a, b; System.ou.t.println(a + b); このaとbを外部からの入力で処理したいのですが、 PHPなんかのWebプログラミングでは、フォームから値を渡しますが、 Javaの場合どうやったらいいんでしょう? GUI画面を作ればいいのかな?とは思うのですが、やったことがなくてイメージわかないし、 Servlet+JSPなんかの場合、PHPと同じようなことができるんでしょうが、 まだ環境構築どころかJavaでのWebプログラミングのやり方もわからないので、 とりあえずコマンドプロンプトから入力してくださいみたいな感じで、 aとbを順に打ち込んで計算するようなものを作ってみたいと思っています。 どのへんのクラスを使えばいいのでしょうか?
182 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 21:56:07 ] >>181 いきなり2ちゃんかよ。 まずは本なり入門サイトに行けよ
183 名前:175 [2008/03/05(水) 22:21:26 ] >>178 最前面には来るんですけど、キー入力が受付ないんですよね。 クリックしてアクティブにしてやると受け付けるんですが
184 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 22:24:54 ] >>181 System.in から1行読めばいいんじゃないかね。
185 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 22:26:53 ] // >>181 public static void main(String[] args) throws IOException { // 標準入力ストリームから行単位で読み込めるようにBufferedReaderクラスのインスタンスを生成 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print(a: ); // 標準入力から1行読み込みint型に変換 int a = Integer.parseInt(br.readLine()); System.out.print(b: ); int b = Integer.parseInt(br.readLine()); System.out.println(a + b); }
186 名前:185 mailto:sage [2008/03/05(水) 22:34:02 ] 訂正 System.out.print(a: ); // × System.out.print("a: "); // ○ System.out.print(b: ); // × System.out.print("b: "); // ○ あと import java.io.*; も忘れないように。
187 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 22:38:28 ] >>155 たぶん見た目ネイティブにしたいんだろうが、 JavaでOSのシステム標準フォント設定を得る方法など聞いたことがない。
188 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 22:58:51 ] システムカラーなら取れるんだけどね
189 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 23:37:52 ] >>181 「Java Scanner」でググって見なよ
190 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 06:58:02 ] c言語に比べてjabaを初心者が先に学ぶメリットって何かありますか? 良かったら説明して下さい!
191 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 08:16:53 ] まずは英語を勉強する方が良いと思うぞw
192 名前:デフォルトの名無しさん [2008/03/06(木) 08:33:55 ] JAVAのテキストが一通り終わったのですが、 次は何をすればいいでしょうか?
193 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 08:44:29 ] ソフト会社にバイトに行って、いかに自分がダメダメかを思い知るw
194 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 09:45:48 ] Javaを「メモリ管理不要、C++」として見てしまいますが、 すべてのパッケージを勉強する必要がありますか?
195 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 10:05:04 ] > すべてのパッケージを勉強する必要がありますか? 必要なら。
196 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 10:18:27 ] com.sun.*とSwingの非公開クラスはいらんだろう。
197 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 10:28:31 ] >194 不要。 java.lang.* java.util.* は大雑把にでもいいから確認して、後は必要に応じて調べれば十分
198 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 10:32:50 ] >>196 非公開クラス? java.sun.com/j2se/1.5.0/ja/docs/ja/api/ ここで見てて涙目になりました;; 覚える事が多すぎます・・・
199 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 11:30:56 ] >>198 それは1つ前のバージョンのだな 最新はこっちだ java.sun.com/javase/ja/6/docs/ja/api/ 必要になったときに必要なものを調べて来られれば、全部覚える必要はない
200 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 11:31:56 ] >>198 java.ioはI/O系、java.sqlならJDBCまわりってレベルで十分。 あとは、必要に応じて調べるだけ。
201 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 12:52:12 ] Scannerでの質問なのですが import java.util.Scanner; public class TestPorb { public static void main(String[] args) { Scanner input = new Scanner (System.in); String gen = input.next(); int pt2 = input.nextInt(); int pt1 = input.nextInt(); //input.nextLine(); String name = input.nextLine(); int numOfGame = input.nextInt(); String pos = input.next(); } } name をとるときに inputMissmatchというエラーが出ます コメントを解除するとちゃんと動くのですが、 理由が分かる人がいれば教えてください。
202 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:01:47 ] >>201 nextLine は InputMismatchException を投げません。 入力次第なので、後は何とも。
203 名前:201 mailto:sage [2008/03/06(木) 13:11:36 ] >>202 入力は、 aaa 12 23 asd asd で試したところ、 InputMismatchException: at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at TestPorb.main(TestPorb.java:15) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) を投げてきて、次の入力に進めません 長くてすみません。
204 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:41:01 ] >>203 で、それは何処で止まってるのでしょうか、と。 // 一行ごとに直前の変数を出力して、 // 入力と解析後の対応部分を確かめつつ。
205 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:46:14 ] nextIntが23の後の改行も食ってるとか?
206 名前:201 mailto:sage [2008/03/06(木) 13:55:08 ] >>204 入力は一行づつで、 最後の asd asd を入力した時点でのエラーです。 その前に入力したデータは全て正常に入っています。 どうも入力した "asd asd" を nextLine() で Stringに入れることができていないようなんです。 String name = input.nextLine(); の実行前に一度 input.nextLine(); を実行することでエラーを回避できるので、 Bufferに何か残っているのかな、と予想しているのですが実際のところよく分かりません。
207 名前:201 mailto:sage [2008/03/06(木) 13:57:50 ] >>205 だとすれば、 無駄にinput.nextLine()を走らせて回避するしか方法はないのでしょうか・・
208 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 14:57:03 ] >>205 まあ、nextLine が、"23" の直後から改行までを、改行抜きで食ってるだけ。 よって、"23<改行>" なら、戻り値の列長はゼロ。 >>207 そうそう。無駄に nextLine を走らせてください。そういう仕様です。 細かく調整したいなら sikip というものもあります。
209 名前:201 mailto:sage [2008/03/06(木) 22:17:42 ] >>208 そうですか、分かりました skipの方も試してみます ありがとうございました
210 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 22:21:33 ] 今、自分のPCに Java SE 6 Update 3 がインストールされており、 ブラウザでアプレットなどが起動できるのですが、 Update 4 や Update 5 をインストールすると Update 3 で起動できていたアプレットが起動しなくなり、 ブラウザを閉じようとすると、固まってしまう状態になります。 ランタイムをアンインストールして Update 3 に戻すと正常に動作するようになるのですが、 Update 4 以上のバージョンで何か問題があるのでしょうか? コントロールパネルのJavaの設定で、 インターネット一時ファイルなどを削除してみても、 アプレットは動作しませんでした
211 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 22:40:16 ] リグレッションバグ踏んだとか
212 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 00:14:08 ] アプレットが元々バグってて、古いバージョンではたまたま動作してただけとか
213 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 08:29:09 ] お世話になります。 SwingでGUIのプログラム作ってみているのですが、 イベント動作(?)を設定できずに悩んでいます。 お力添えください。 (awtの?)ActionListener,ActionEvent,ActionPerformed()で、 イベント動作を記述したいです。 JPanel A ├JPane B |├JButton 1 (implements ActionListener) |└JButton 2 (implements ActionListener) └JTabbedPane ├JTextArea 1 └JTextArea 2 例えば、JFrame以下に、上記の構造のコンテナの階層があって、 各コンテナは、直上のコンテナでインスタンス化される。 以上としたときに、 ボタンのActionPerformed()にて、 テキストエリアの内容を保存したり、とにかくテキストエリアにアクセスしたいのですが、 その手段がわかりません。 ( 続く)
214 名前:213 mailto:sage [2008/03/07(金) 08:29:32 ] (続き) すべての変数をJPanel A 直上でインスタンス化して、 上記の構造をつくり、 JButtonは、内部クラスにすれば、動作の設定はできるのですが、 コンテナの数が多くなってきたときに、内容を読むのが辛い気がします。 また広域な変数を作ることでも可能なのでしょうが、あまり使いたくないです。 どのようにすればよいでしょうか。 最終的には、JMenuBar以下のメニューからのアクセスをしたい、 且つ、JMenuBar以下の構造は、クラスとして、 外部クラスか内部クラスとして宣言したいです。 また、JTabbedPaneは、メニューなどから、増加させたり、削除させたりしたいのですが、 「各コンテナは、直上のコンテナでインスタンス化される。」 のルールにのっとった記述ができなく、簡単化のため、上記の例を出しました。 よろしく御願いします。
215 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 10:36:36 ] >>213 ボタンとテキストエリアで行うことを仕様とし、その実装をクラスにする。 そのインスタンスをパネルAで生成し、パネルBとタブの生成時に渡す。
216 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 12:10:01 ] 数値a, b(long、doubleも含む)のどちらが大きいか比較し、 a<bなら負、a>bなら正、a==bなら0を返すような標準APIってありますか? 自分で作れというのが最もなのですが、割と頻繁に使う状況に遭遇するので、 標準でそのようなAPIは無いのか疑問になって質問しました。 Mathにはなかったようなのですが。