1 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 15:21:29 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド101【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1177938653/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
820 名前:810 [2007/06/24(日) 20:17:31 ] クラスとインスタンスの例えで、車とか動物だったらその本はまずNG >>814 インスタンスを生成するってのは、まんまデータを作るって事。 変数を宣言してるので、car1はそのデータに名前をつけていると考えればいい。 つまり、Car car2 = new Car() と書けば、もう1つデータ(インスタンス)が作成させる。 (この辺の例えもアドレスデータで考える方が納得しやすい) なんで、呼び出すことができるってのは間違っていないけど、まずはデータとして利用できるようになるって考えるべき。 アドレスデータであれば、登録(インスタンス化)したんで、見ることができるようになったわけだ。 例えばこんな感じ System.out.println("車の型は" + car1.type); car1のtypeを読み出している ここまで理解できてから、「メソッド」という機能を習得する これはクラス(データ)に操作(振る舞い)を持たせることができる機能
821 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:26:03 ] メソッドや変数にstaticをつけると、クラスメソッドやクラス変数になるのはわかるのですが、 classにstaticをつけると、どのような処理になるのでしょうか?
822 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:28:51 ] >>821 静的メンバクラスになる。 static がなければ内部クラスになる。
823 名前:808 [2007/06/24(日) 20:29:27 ] >>812 ありがとうございます。 なぜか、ダイアログをfinalでnewしたらいけました・…
824 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:31:20 ] >>821 前提として1つのクラスの中に別のクラスを記述する場合にしかclassにstaticは使わない インナークラスっていうんだが、暫くはないものとして考えてOKだと思われ
825 名前:デフォルトの名無しさん [2007/06/24(日) 21:00:10 ] >>822 ,824 ありがとうございます。 調べてみたところ、静的メンバクラスというのは、 クラス配下に静的メンバだけしか持たないということらしいのですが、 一体、どういったときに使用するのでしょうか?
826 名前:736 mailto:sage [2007/06/24(日) 21:04:04 ] >>740 さん 10日でおぼえるJava入門教室 第二版 という本なのですが・・・・ どうでしょうか?
827 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 21:17:13 ] >>826 思いっきり丸の内じゃねーかwww
828 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 21:21:17 ] >>825 > クラス配下に静的メンバだけしか持たない 逆。内部クラスは静的メンバをもてない。 内部クラスって用語は、結構混乱があるので注意。 本や人によっては「入れ子になったクラス」全般を指してたりする。 俺は言語規定の > 内部クラス(inner class)は,明示的又は暗黙にstaticと宣言されない入れ子クラスとする。 って定義にしたがってるだけ。
829 名前:797 [2007/06/24(日) 21:32:30 ] >>815 大体読んだのですが、そんな気がしてきました。 表面を軽く説明して読者をわかった気にさせる感じですね。 明日、>>816 さんが奨めているCore Javaという本を大きめの書店に探しにいってみます。 >>820 ちょっとアドレス帳で作ってみました。こんな感じでしょうか? この場合のメソッドとは何でしょうか? 本の方には、「クラスの機能を表す仕組み」とあるのですが、このプログラムの場合 アドレスブックに載っているデータを表示するのが目的なので、system.out〜の部分がメソッドになるのでしょうか?
830 名前:797 [2007/06/24(日) 21:38:47 ] 改行が多すぎると言われたので分けました。 class Addressbook{ String name; String address; int phonenum; public Addressbook(String n, String a, int p){ n=name; a=address; p=phonenum; } public void show(){ system.out.println("名前は"+name); system.out.println("住所は"+address); system.out.println("TELは"+phone); } class Sato{ public static void main(String args[]){ Addressbook sato = new Addressbook(); sato.name = "佐藤"; sato.address = "東京都港区赤坂4"; sato.phone = 0355490000; sato.show(); } }
831 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 21:47:28 ] show()がAddressbookクラスのメソッド ほかにも、 public String 居住する都道府県を取得(); public void こいつに電話をかける(); とかいろいろ考えられるでしょ
832 名前:デフォルトの名無しさん [2007/06/24(日) 21:53:04 ] >>828 内部クラス != 静的メンバクラスですか? 内部クラス(インナークラス)・・・クラスにstaticがつかず、静的メンバをもてない。 静的メンバクラス・・・クラスにstaticがつく。静的メンバを持っている??? ←ここが分かりません。
833 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:04:10 ] staticが付いたクラスは名前の前に (外部のクラスの名前). が付いただけの独立したクラス
834 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:05:02 ] >>832 静的メンバクラスは、インスタンスメンバも 静的メンバを持てる。 内部クラスは、インスタンスメンバは持てるが 静的メンバを持てない。
835 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:06:20 ] × 静的メンバクラスは、インスタンスメンバも 静的メンバを持てる。 ○ 静的メンバクラスは、インスタンスメンバも 静的メンバも持てる。
836 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:09:04 ] >>832 実は全然違う。 public class Sample { public static class Inner01 { // 静的内部クラス public String foo() { return Sample.this.toString(); } // この行でコンパイルエラー } public class Inner02 { // 非静的内部クラス public String foo() { return Sample.this.toString(); } } } new Sample.Inner01(); // クラス Sample 外からの Inner01 の new 方法 new Sample().Inner02(); // クラス Sample 外からの Inner02 の new 方法 静的内部クラスは、外部クラスのインスタンスを必要としない。 一方、非静的内部クラスは外部クラスのインスタンスを必要とするけど、その代わりそのインスタンスに暗黙的にアクセスできる。
837 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:10:28 ] 間違えた。 new Sample().new Inner02();
838 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:12:43 ] >>827 そんなに糞なのか? 恐いものみたさに立ち読みしてみるか
839 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:21:31 ] class Sample{ private int value; static class InnerClass{ private Sample 外部クラスのインスタンス; public InnerClass(Sample soto){外部クラスのインスタンス = soto;} public void Hoge(){外部クラスのインスタンス.value = 2;} } これが内部クラス 実際C#だとこんな風にする
840 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:23:59 ] 実際っていうか、C# の内部クラスは java の静的内部クラスで、 java における非静的内部クラスは C# には無いからなぁ……
841 名前:デフォルトの名無しさん [2007/06/24(日) 22:25:56 ] >>833- みなさん、ありがとうございます。 むずかしいですね。 よく整理したいと思います。
842 名前:デフォルトの名無しさん [2007/06/24(日) 22:47:35 ] フィールドは必要がなければprivate にしてカプセル化したほうが よりスマート クラスのできればpublic private 等を上手く使ったほうがいいだろう javaのこういた部分は洗練されてるので私は好きですね
843 名前:デフォルトの名無しさん [2007/06/24(日) 23:32:24 ] ある数以下に含まれている素数をすべてスクロールリストに表示するプログラムを作っているのですが どうしても上手くいきません。どこがおかしいか指摘していただけるでしょうか? import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ex2a extends JFrame { JTextField f1 = new JTextField(); JButton b1 = new JButton("変更");
844 名前:843 mailto:sage [2007/06/24(日) 23:33:41 ] すいませんまちがえました。以下が本物です。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ex2f extends JFrame { JTextField f1 = new JTextField(); DefaultListModel model = new DefaultListModel(); JList l1 = new JList(model); JButton b1 = new JButton("表示");
845 名前:843 mailto:sage [2007/06/24(日) 23:34:49 ] public ex2a() { setSize(400, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(null); c.add(f1); f1.setBounds(40, 40, 180, 40); c.add(b1); b1.setBounds(240, 40, 80, 40); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { int n = (new Integer(f1.getText())).intValue(); boolean sosu = true; for(int i = 2; i < n; ++i) { if((n % i) == 0) { sosu = false; } } f1.setText("prime number : " + sosu); } }); } public static void main(String[] args) { (new ex2a()).setVisible(true); } }
846 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:07:13 ] なにがやりたいのかがわからない。 JListに表示したいのならば、JListに追加する。 actionPerfomedの中は、 int n = (new Integer(f1.getText())).intValue(); Vector primeList = new Vector(); for (int i = 2; i <= n; ++i) { if(i が 素数) primeList.add(new Integer(i)); } l1.setListData(primeList); こんな感じだ。
847 名前:デフォルトの名無しさん [2007/06/25(月) 00:18:42 ] >>817 は不可能なんでしょうか? おねがいします
848 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:22:49 ] >>847 WindowsアプリとJavaアプリのとの違いを勉強しておいで
849 名前:デフォルトの名無しさん [2007/06/25(月) 00:31:30 ] dll経由のネイティブインターフェイスを使ったり ランタイムをつかったり いろんな方法があるので、具体的にどんな操作を 行いたいのかが纏まってからの方がよさそう
850 名前:デフォルトの名無しさん [2007/06/25(月) 00:35:02 ] >>848 ,849 JNIで実装したいのですが、、
851 名前:843 mailto:sage [2007/06/25(月) 01:05:02 ] >>846 ありがとうございます。Vectorの使い方がよく分からなかったので、配列を使ってやってみたのですが シンボルが見つからないとエラーがでてしまいました。一体どこがおかしいのでしょうか?たびたび申 しわけございません。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ex2f extends JFrame { JTextField f1 = new JTextField(); JList l1 = new JList(); JButton b1 = new JButton("表示");
852 名前:843 mailto:sage [2007/06/25(月) 01:06:33 ] public ex2f() { setSize(400, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(null); c.add(f1); f1.setBounds(40, 40, 180, 40); c.add(l1); l1.setBounds(40, 100, 180, 40); c.add(b1); b1.setBounds(240, 40, 80, 40); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { int m = (new Integer(f1.getText())).intValue(); int j = 0; int[] primeList = new int[100]; for(int n = 1; n <= m; ++n) { boolean sosu = true; for(int i = 2; i < n; ++i) { if((n % i) == 0) { sosu = false; } } if(sosu) { primeList[j] = n; ++j; } } l1.setListData(primeList); } }); } public static void main(String[] args) { (new ex2f()).setVisible(true); } }
853 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 01:40:05 ] シンボル未解決なんてどうせどっかタイプミスしてんだろ。 エラーメッセージに出てる行とその前後をよく見直せ。
854 名前:749 [2007/06/25(月) 02:09:03 ] >>771 参考になりました。 無事実装できました。 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29498 uproda11.2ch-library.com/src/1111460.png
855 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 04:16:38 ] おめでとう
856 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 07:38:38 ] >>843 配列を使うほうが難しいのでVectorを勉強するべき 時に、i++ でなくて ++i を好んで使うのはなんで?
857 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 07:39:30 ] 補足し忘れた。 VectorはArrayListと使い方は一緒
858 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 08:07:05 ] C++ 使いはイテレータの関係上 ++i を好む傾向がある。
859 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 09:23:49 ] long型より大きい数を使いたい場合には変数はどのようにすればいいのでしょうか?
860 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 09:27:29 ] BigInt
861 名前:デフォルトの名無しさん [2007/06/25(月) 10:21:25 ] >>859 ヘルプで変数見たらサイズとか範囲とかあるだろ? そんなことすら調べれないならPGなんかすんな
862 名前:859 [2007/06/25(月) 10:28:37 ] >>861 お前には聞いてない。
863 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 10:44:10 ] >>862 >>860 >>861
864 名前:デフォルトの名無しさん [2007/06/25(月) 10:44:27 ] #include<stdio.h> #include<time.h> void main() { int a,b,c,d,e,hp1,hp2=100,etou; printf("相手を選んでください。\n1.江藤(Lv1) 2.シーツ(Lv2) 3.金本(Lv3)\n"); scanf("%d",&b); printf("\n"); if(b==1) { hp1=100; while(hp1>0) { a=time(0); a=a%21;
865 名前:デフォルトの名無しさん [2007/06/25(月) 10:49:08 ] etou=time(0); etou=etou%35; printf("プレイヤー(HP:%d)vs江藤(HP:%d)\n",hp1,hp2); printf("選択してください。 1.攻撃 2.寝る\n"); scanf("%d",&c);printf("\n"); if(c==1) { printf("プレイヤーは江藤を殴った。\n江藤に%dのダメージをあたえた!!\n\n",a); hp2=hp2-a; if(hp2<=0){e=1;} else if(hp2>0){ printf("江藤の逆襲だ!\nプレイヤーは%dのダメージをくらった!!\n\n",etou/2); hp1=hp1-(etou/2); } }
866 名前:デフォルトの名無しさん [2007/06/25(月) 10:49:44 ] 晒していい?答えは聞いてない! 内部型がどうこういってるやつは javafaq.jp/ のS14~16読んでこい。
867 名前:デフォルトの名無しさん [2007/06/25(月) 10:50:47 ] else if(c==2) { if(hp2>0){ printf("江藤の攻撃だ!\nプレイヤーは%dのダメージをくらった!!\n\n",etou/2); hp1=hp1-(etou/2);} else if(hp1<0){e=2;} } } if(e==1)printf("あなたの勝ちです!!\n"); else if(e==2){printf("あなたの負けです!!\n");} } printf("ゲーム終了です\n"); }
868 名前:デフォルトの名無しさん [2007/06/25(月) 10:52:49 ] >>859 またお前か 最近ム板で暴れまわってるなw 猛威を振るう台風のようだ くだらん事で荒しまくりwwww
869 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 13:03:48 ] もの凄い初心者ですまんとです eclipse+VEでSWTで何か作っとるとですが イメージを貼り付ける方法がわからんとです 「Image xxx;」とかするとエラーになるとです 誰か教えて欲しいとです
870 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:25:33 ] ものすごい初心者ならばコンソールアプリケーションから学べ
871 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:29:27 ] それはコマンドプロントとかでやるヤツのことですか? 一応やったとです
872 名前:デフォルトの名無しさん [2007/06/25(月) 14:45:07 ] try chatchは条件分岐に使ってもよいのでしょうか? 例えばArrayIndexExceptionが起きたら、違う処理をさせるとかです。 たくさんやる処理なのでif文で分岐させるのと、 どっちが速いかとか気になります。
873 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:49:03 ] >>872 タブー try-catchは例外処理の為の仕組みだから条件分岐には使用しちゃダメ ちなみにパフォーマンスも悪い 例外ケースが最速になるような最適化をすると思うかい?
874 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:49:11 ] 基本的に例外は遅いし、 プログラムを読む時に基本的にまずエラー処理の文脈で理解されるものだから、 単なる条件分岐の代わりとして try-catch は使わないのが基本。 大抵は補助的に関数を使うこと等で解決できると思うが。
875 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:29:13 ] 初心者な質問ですみませんが、メインメソッドに対してString型以外 (例えばint)を引数として渡すにはどうすればよいでしょうか。 public static void main(int args)ではコンパイルエラーでした。
876 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:31:28 ] >>875 コンパイルエラーが起きるとも思えんが。
877 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:35:03 ] ありがとうございます。 アルェーEclipseからfatalなんちゃらって文句言われたんですが…。 しかし、構文としては問題ないみたいですね。 ケアレスミス含め、他の部分を見直すことにします。
878 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:39:06 ] public static void main(String[] args) はないとだめだからな。 Javaはここから以外で始まらない
879 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:42:14 ] >>875 普通、シェルがコマンドライン引数としてjavaプログラムに渡す引数は文字列しかない。 引数に数字が入っていてもそれは数字を表す文字であって数値とは解釈されない。 数値と解釈するか文字列と解釈するかは受け取る側のプログラムに任されている。 なので、public static void main(String[] args)で受けて、 引数をintとして解釈したいならInteger#parseIntなり他の手段なりで、 文字列をintに変換する必要がある。
880 名前:デフォルトの名無しさん [2007/06/25(月) 15:42:58 ] >>872-873 イベント駆動型の条件分岐はあるけどね
881 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:51:22 ] 難読化の手法の一つとしては条件分岐を例外処理に書き換えるってのがあるけれど、 実行効率とかを考えると使いどころが難しいし、書き換えは人間がやる仕事ではない。 「たくさんやる処理」に適用するならなおさら
882 名前:デフォルトの名無しさん [2007/06/25(月) 17:02:33 ] public static void main(String[] args){ try{ int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = Integer.parseInt(args[2]); こんなことするのは邪道ですか? }catch(Exception e){ System.err.println("usage hogehoge"); } }
883 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:06:44 ] >>882 どこが邪道だと思うのかを書かないと何とも言えない
884 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:19:04 ] >>882 args の長さを最初に1回チェックすればいいだけだろ? 何で例外使うのか。
885 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:30:26 ] Exceptionでcatchする時点でタコ
886 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:34:13 ] >>884 はあ?長さ?
887 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:50:56 ] ぷww length 【名-1】 長さ、全長{ぜんちょう}、丈
888 名前:デフォルトの名無しさん [2007/06/25(月) 18:04:51 ] ばかばっかだなw
889 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 18:10:35 ] >>882 問題なし
890 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 18:22:58 ] Integer.parseInt なら大した処理じゃないからいいように見えるが、 その処理がもの凄い時間がかかる場合は? とか考えると、先にコマンドライン引数の個数をチェックした方が一般的にはいい。 個数だけじゃ判定できないって場合は別だが。
891 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 18:38:10 ] 初めて来てみた。で、いきなり笑った もう来ません。ありがとうございましたw
892 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:03:54 ] アプレットについて質問です。 Color fontcolor=new Color(0,0,255); String v23=getParameter("fontcolor"); if( v23!=null ) fontcolor=new Color(Integer.parseInt(v23,16)); System.out.println(fontcolor); System.out.println(v23); >java.awt.Color[r=0,g=0,b=255] >null 色情報を取り出して(0,0,255) => (0000FF)と16進数に変換して もう一度 Colorオブジェクトを生成することを示すコードだとは思うのですが、 どう意図でもってこう記述されているのかわかりません >< 古いバージョンのVMだと意味があるとか、そういうことなのでしょうか? よろしくお願いします。
893 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:14:13 ] >>892 Color(0,0,255) はパラメータが無かったときのデフォルト色。 Color(0,0,255) は小さなオブジェクトだから先に生成してあとで捨てることになっても問題はないだろう。 下のように書いてもいい。 Color fontcolor; String v23=getParameter("fontcolor"); if( v23!=null ) fontcolor=new Color(Integer.parseInt(v23,16)); else fontcolor=new Color(0,0,255);
894 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:30:53 ] >>892 <param name="fontcolor" value="ff00ff"> というのがあれば、0xff00ff (255,0,255)の色になり、なければ 0,0,255のまま
895 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:40:45 ] ----------Test01.java----------- class Test01{ public static void main(String[] args){ Test02 t2 = new Test02(); System.out.println(t2.s); } } -------------------------------- ----------Test02.java----------- class Test02{ String s = "test"; } -------------------------------- 例えば上のような2つのファイルがあった時、Test01.javaはコンパイルする必要があるけど Test02.javaはコンパイルの必要が無いですよね。 コンパイルが必要が不要かってのは具体的にどう判断すればいいんでしょうか?
896 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:49:39 ] >>895 自分でコードを書くとき、ふつうは不必要なコードなんて書かない。 そうでないケースでも、必要か不必要か迷ってる時間があったらコンパ イルしてしまえばいい。 antとかEclipseとか使うようになれば、コンパイルの手間なんて気にな らなくなる。
897 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:58:05 ] Test02.javaもコンパイル必要
898 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:00:45 ] SWTのwin32をダウンロードしたら swt-awt-win32-xxxx.dll swt-gdip-win32-xxxx.dll swt-wgl-win32-xxxx.dll swt-win32-xxxx.dll といくつもdllが付いてきたんですが swt-win32-xxxx.dll は無いと動かないみたいですけど 他のは無くてもとりあえず動いています どういうときに使うのでしょうか?
899 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:04:02 ] >>887 例外処理を使ってるのはlengthの問題じゃないってことだよ
900 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:33:56 ] >>885 ParseException と ArrayIndexException の どちらも発生する可能性あるじゃないですか!! その上でどっちが発生しても同じメッセージ出すんだから まとめて Exception にした方が効率いいじゃないですか?
901 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:37:47 ] 誤爆?何の言語使ってるの? NumberFormatException ArrayIndexOutOfBoundsException
902 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:38:32 ] ワラタ まあ実際例外処理なんてそんなもんだろw
903 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:01:03 ] >>900 はそれでいいので、決してJavaが書けますとか言ってプロジェクトに来ないでくださいね
904 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:02:31 ] >>900 はネタで書いてんだろ
905 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:25:47 ] 7割くらい本気です
906 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:10:46 ] Exception サブクラス全部拾っちゃうだろ常識的に考えて・・・(=ω=.) RuntimeExceptionは拾っちゃダメだろ。
907 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:16:20 ] main で最終的に Exception 拾うのって本当にナシなのかな。 考慮されてない例外が投げられた場合って、 例外拾わないままエラー終了してくれた方がいいのか? 製品でも?
908 名前:875 mailto:sage [2007/06/25(月) 22:20:29 ] >>878 ,879 ありがとうございます。理解しました。
909 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:25:51 ] >>907 マジレスしとけば、Exceptionで拾って復帰することに意味があり、復帰させる事ができるならば、catchしてもいいと思う。 Webアプリでも創れば解るけど、フレームワーク周りでExceptionはcatchされて処理されるケースが多い。 mainで拾わずに起動プロセスに投げても、stackTraceは表示されるわけだが、それでもわざわざ拾う必要はあるかい?
910 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:28:16 ] >>909 ユーザを混乱させないために、 分かりやすい形でエラーが発生した旨を表示した方が いいんじゃないかな、とか思ったりするんだよね。
911 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:41:05 ] >>909 だったら各所で入力チェックと例外処理を記述しろよw mainで拾う例外なんてぬるぽとか、要はバグだろ? ユーザーに分かりやすい様に、ぬるぽで落ちました、サーセンwwwとでも表示するのかい。
912 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:48:11 ] そう。要はバグ。 まあ、Java なら拾わなくていいのかな・・・。
913 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 23:06:28 ] ていうかwibアプリのフレームワークという特殊な例をそこで出すか? それ自体まさに例外な気がする。
914 名前:730 [2007/06/26(火) 00:02:10 ] >>731 うまくいきました。 レスありがとうございました。
915 名前:デフォルトの名無しさん [2007/06/26(火) 00:07:05 ] お薦めは特に無いがJAVAが簡単でいんじゃね、汎用性からいってもCかJAVAかになると思う 汎用系の未経験求人なんてあるのだろうか、多分WEBオープン系がほとんどじゃね C言語は組込系の主流、組込系ってのは名前の通り、機械に組み込まれて変更がきかないタイプのプログラム 車の制御システムとか、プレステのゲームソフトとかに当たる 市場に出回ってからバグ見つかると直すのに超費用がかかるので、ゲーム会社とかはよく「仕様です」と言い張るw 言語としては普通だけどアドレス管理やメモリ管理がだるい、あと専門卒の若い子がやたらお出来になる JAVAはWEBオープン系の主流、オープン系ってのは、まぁお察しの通りインターネットみたく皆に開かれたプログラム yahooのような検索エンジンとか、amazonのようなお買い物サイトとかに当たる 運用開始後も楽々バグが直せるよヘヘイヘーイ 言語としてはかなり簡単、Cで手動な部分も自動で管理してくれる、でも誰にでもできる感じがCマニアには不評 取引先はどこだろうと似たようなものを作るので現時点ではほぼ意味なし、何でもいい ただし所属会社が固有の業界に特化していた場合、そこがキャリアの強みになり弱みにもなるので、転職時に響いてくる 例えば銀行・金融系などは只のIT屋は絶対に雇ってくれない、専門知識と十分な業界経験が最低条件になる ちなみに数学・英語は高2程度できれば十分(英語は語彙が多いにこした事はない) 証券のプロジェクトとかでデフォルト機能外の複雑な演算を組まされる事もあるが、基本的にはデフォルト機能で事足りる まぁネットOKのプロジェクトなら分からない事は逐次ネットで調べればよく、ネットNGなら回りの人に聞けばいいので
916 名前:デフォルトの名無しさん [2007/06/26(火) 01:07:00 ] JAVASDK1.6環境で、build.xmlを使ってAntしたんですが、 「シンボルを見つけられません。」を連呼してとまってしまいます。 [javac] C:\L1J\src\l1j\server\server\MobTable.java:81: シンボルを見つけられ ません。 [javac] シンボル: メソッド setHp(int) [javac] 場所 : l1j.server.server.templates.L1Npc の クラス [javac] l1npc.setHp(j); [javac] ^ Wikiも見たり、環境変数なんかも調べたんですがまだわかりません。 tomcatなど他にもいろいろ入れなくてはいけないんでしょうか… よろしくお願いいたします。
917 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 01:26:00 ] setHp(int)がprivateメソッドになってるんじゃないの?
918 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 02:19:16 ] もしそれならこんな風にならない? [javac] l1npc.setHp(j); [javac] ^
919 名前:916 [2007/06/26(火) 06:59:00 ] ちょっとずれていました… [javac] l1npc.setHp(j); [javac] ^ 「ドット」.を指し示している状態です
920 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 11:43:46 ] どう見ても l1npc にシンボル setHp が無いんだろう。