- 1 名前:デフォルトの名無しさん [2007/06/27(水) 07:23:27 ]
- プログラミング言語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質問・相談スレッド102【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1180419689/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 次スレは>>980あたりで。
- 139 名前:88 [2007/07/01(日) 00:27:18 ]
- >>138
仕組みについては理解できました! クラス型の変数というところでひっかかっていたようです。 クラスで作った変数1=変数2だと参照型というのは理解していたのですが、 やさしいjavaで「String n」の引数に「一号車」と代入する時はクラス型変数なので参照型 という記述があって、 なぜString型がクラス型の変数なのか?とワケワカラン状態になってました。 プリミティブ型が特殊っていう考え方が非常にわかりやすかったですw 値渡しが基本で、参照渡しが特殊 ではなくて、参照渡しばっかりのjavaの中でプリミティブ型は値渡しが行われてる仕様 って事でいいんですね。 勉強になりました。ありがとうございました!
- 140 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:36:18 ]
- >>139
クラス型変数? 違和感を感じたのはそこか! 「クラス型変数なので参照型」は逆だ、逆。 「インスタンス(正確にはその参照)は、参照型変数に代入できる」が正しい だから、参照型変数の型は必然的にクラスになる インスタンスの存在に関する記述がテキトーなんだな、その本は
- 141 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:38:14 ]
- Eclipseにてデバッグした後、プログラム終了時に、
# # An unexpected error has been detected by HotSpot Virtual Machine: # # EXCEPTION_ACCESS_VIOLATION 。。。 というメッセージがコンソール画面に出て来るときがあります。 Eclipseのデバッグ画面には、このエラーが発生した箇所が出てこないので、どこで発生しているのか分かりません… このエラーメッセージが出た場合、とりあえずプログラムのどこをチェックすべきですか? ACCESS_VIOLATIONってことなので、C言語だったらポインタ演算してる箇所とかをチェックするんですが…
- 142 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:39:09 ]
- javaの値型はC++の値型とは違うからなぁ・・・
- 143 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:45:57 ]
- >>141
Swingとかマルチスレッド関連? どの手のアプリケーション実行していての話だろうか。 デバッグ時だと予期せぬ状態としか言いようがないな
- 144 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:54:24 ]
- >>141
それが出たときは飼い犬に咬まれたと思って諦めろ
- 145 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 01:02:59 ]
- >>143
今はSwingとマルチスレッド両方使ってます。Swingだけで出てきたこともあります。 エラーが発生した後、logファイルが吐かれてて、そこには Current thread (0x00837440): JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=5020] と書かれてました。自分で作ったスレッドで発生したわけではないのかな… >>144 諦めろ…ということは、原因を突き止めるのがすごく難しい問題だったり、まさかJavaの仕様だったりするんですか… 発生確率は1/10くらいなので「仕様」ということにしておきます。
- 146 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 01:09:08 ]
- >>145
マルチスレッドだと単純に不安定になるよ デバッグでなく発生するのであれば、別の問題だろうけど そうでないのであれば原因を突き止めるのはデバッグモードを創れるレベルが要求されそうな予感
- 147 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 01:12:19 ]
- >>139
>値渡しが基本で、参照渡しが特殊 ではなくて、参照渡しばっかりのjavaの中でプリミティブ型は値渡しが行われてる仕様 値渡しが全て。 プリミティブは、その値自身が、値渡しされる。 オブジェクトは、そのオブジェクトへの参照が、値渡しされる。
- 148 名前:デフォルトの名無しさん [2007/07/01(日) 01:12:37 ]
- 連続してデバッグしたりするとよく出るね
- 149 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 01:18:11 ]
- >>145
VMのバグ、または、JNIでの呼び出し先でのバグかも Javaのプログラムを見ても解決するはずない、たぶん
- 150 名前:デフォルトの名無しさん [2007/07/01(日) 02:55:57 ]
- すみません、超初歩の質問です。
ttp://www.javadrive.jp/start/before/index2.htmlを参考に したのですが、java test1を実行すると 「注釈処理が〜」というエラーメッセージが出ます。 エラーは1つです。 で、ためしにjava ソース で検索したものを実行させて みたのですがこれも同じメッセージでエラー1つです。 これは設定が間違っているということなのでしょうか?
- 151 名前:デフォルトの名無しさん [2007/07/01(日) 02:58:55 ]
- 自分が書いたソース晒せー
- 152 名前:150 mailto:sage [2007/07/01(日) 03:02:09 ]
- >>151
これです class test1 { public static void main(String args[]) { System.out.println("Hello World!"); } }
- 153 名前:150 mailto:sage [2007/07/01(日) 03:03:36 ]
- なんかずれてる・・
もう1度 class test1 { public static void main(String args[]) { System.out.println("Hello World!"); } }
- 154 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 03:10:09 ]
- エラーメッセージじゃなくて警告だろ。
そのまま実行すれば実行できるよ。
- 155 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 03:11:12 ]
- そこは間違ってないな・・・throwされた例外を全部そのままコピペして。
あとjavacとjavaのバージョン
- 156 名前:150 mailto:sage [2007/07/01(日) 03:19:46 ]
- あ”あ・・
いろいろいじってたらまた出来なくなってきた 操作可能なプログラムまたはバッチファイルとして認識されません とか出てきた・・・ ちょっと出直してきます。すみません・・・ javacのバージョンとは?? javaはjdk1.6.0_01です
- 157 名前:150 mailto:sage [2007/07/01(日) 03:23:53 ]
- あと、システムの環境変数で、PATHの所だけ
C:\Program Files\Java\jdk1.6.0_01\bin に変えればよいみたい なのですが、間違えて class PATH とPatch もこれに してしまったのですが、問題アリでしょうか??
- 158 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 03:26:01 ]
- PATHをいじったんだろう。そこでハマるのは本質じゃないから
cd C:\TestClass C:\Java\jdk1.6.0_01\bin\javac test1.java C:\Java\jdk1.6.0_01\bin\java test1 みたいにフルパスで指定するべし
- 159 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 03:38:28 ]
- というか普通は
JAVA_HOME = <install_dir> Path = %Path%; %JAVA__HOME%\bin; とする。 CLASS_PATHは必要な時だけ。 環境変数Pathって復元できたっけ?
- 160 名前:150 mailto:sage [2007/07/01(日) 04:05:09 ]
- なんとか最初の問題まで戻れました。
エラーはこういう表示です。 エラー:クラス名 'java' が受け入れられるのは、注釈処理が明示的に要求された場合だ けです エラー 1 個 C:\jsample> こっから全く進めません・・・ ぐぐっても出てこないし
- 161 名前:150 mailto:sage [2007/07/01(日) 04:06:58 ]
- ↑
ファイル名をjavaに変更しました
- 162 名前:デフォルトの名無しさん [2007/07/01(日) 04:21:33 ]
- ソースファイル名をtest1にしてjavac→java
- 163 名前:150 mailto:sage [2007/07/01(日) 04:26:10 ]
- >>162
ダメです・・・ 同じメッセージしか出ません。 なんでだろう????頭こんがらがってます 3時間くらいずっとつまずいでます
- 164 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 04:27:13 ]
- 答:今日はあきらめて寝る
- 165 名前:デフォルトの名無しさん [2007/07/01(日) 04:29:58 ]
-
Test01.java ------------------------------------ class Test01 { public static void main(String args[]) { System.out.println("Hello World!"); } }
- 166 名前:150 mailto:sage [2007/07/01(日) 04:30:14 ]
- 'java' が受け入れられるのは、注釈処理が明示的に要求された場合だ
けです このメッセージをぐぐっても出てこないのは やっぱり普通はこういう事にはならないからなのでしょうか。 うーーーーん・・ >>164 6時までは頑張ってやってみます ダメなら寝る
- 167 名前:デフォルトの名無しさん [2007/07/01(日) 04:31:04 ]
- ミスった
Test01.java public class Test01 { public static void main(String args[]) { System.out.println("Hello World!"); } }
- 168 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 04:32:29 ]
- javac test1 とやると「注釈処理が明示的に要求され・・」と出るようだ。
javacでは拡張子の.javaを含むファイル名を指定する必要あり。 java では拡張子の.classは付けない。 javac test1.java java test1
- 169 名前:150 mailto:sage [2007/07/01(日) 04:49:15 ]
- CLASSファイルが作成されたらいいんですよね????
できましたーーーーーーーーーーーーー!! ファイル名に .java をつけてjavaファイルにしていなかったのが 1番の原因だったと思われます。 ただ、サイトや実用書のように文字が表示されないのが よくわかりませんが、とりあえず第一関門突破です ありがとうございました
- 170 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 04:53:15 ]
- >>150
コマンドプロンプトとかDOSとかCUIってしってるか?
- 171 名前:150 mailto:sage [2007/07/01(日) 04:57:42 ]
- >>170
コマンドプロンプトは分かります。 DOSはDOS−Vとかのでしょうか?(真っ黒い画面のがそう?) DOSとCUIは言葉は聴いたことありますが今いちよく分かりません・・
- 172 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 04:57:55 ]
- JMenu m = new JMenu("ファイル選択");
m.add(new JFileChooser()); という感じで、JMenuにJFileChooserを置いて、メニュー内に選択画面を出す… という変なことやってみたいんですが、ちゃんと表示はされます。 でも、スクロールバーが動かなかったり、ボタンも機能してくれません。 やっぱり無理なんですかね
- 173 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 05:00:12 ]
- hoge.java.txt っつーのもあるな
- 174 名前:150 mailto:sage [2007/07/01(日) 05:00:56 ]
- JAVAファイルをCLASSファイルに変換させるとこまでは
できましたが、Hello Worldの表示が出ない・・・
- 175 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 05:03:47 ]
- >>171
じゃあさっき生成されたclassファイルがあるディレクトリ(フォルダ)に潜って java test1 >>172 メニューアイテムが選択された時にチューザを表示するようにする。とか。
- 176 名前:150 mailto:sage [2007/07/01(日) 05:12:33 ]
- >>175
今までコンパイラとインタプリタを勘違いしてました。 コンパイラで文字を出そうとしていたのですが やっと意味が分かってきました。 でも、CLASSファイルができたので java test1 で出てきそうなのですがエラーになります うーーん・・・ もうちょいやってみます
- 177 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 05:21:40 ]
- public class Test01
~~~~~~~~~~~~
- 178 名前:150 mailto:sage [2007/07/01(日) 05:29:22 ]
- Exception in thread "main" java.lang.No ClassDef FoundError:test1
このようなエラーがでます。 おかしいなぁ・・
- 179 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 05:40:49 ]
- もしかして元もとの環境変数Pathに;.含んでない?
ないなら追加。
- 180 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 05:48:14 ]
- ところでさ、>>1のwiki内のリンク参照するとたまに
ttp://ezrenai.takara-me.com/ にリダイレクトされるんだけどPHPおかしくない?
- 181 名前:150 mailto:sage [2007/07/01(日) 05:48:51 ]
- >>179
PATHなんですが、いろいろいじったせいで 元々設定してあったのを全部消して今は C:\Program Files\Java\jdk1.6.0_01\bin を設定してあります。; はどこに追加すればよいでしょうか?
- 182 名前:150 mailto:sage [2007/07/01(日) 05:51:20 ]
- すいません、がいしゅつ質問してしまいました。
>>1をちゃんと読んでなかったので ちょいと行ってきます!!
- 183 名前:150 mailto:sage [2007/07/01(日) 06:21:16 ]
- なんかよく分からないけど、一応できました。
質問答えてくださったみなさんありがとうございました! やっと次に進めます
- 184 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 06:35:34 ]
- 皆さんて2人くらいしか居ない気がするw
どうせ俺はvipの深夜保守組だし気にするな。 ただし、昼間は頭使えw
- 185 名前:デフォルトの名無しさん [2007/07/01(日) 09:00:24 ]
- 色について以前質問したものですが
WEB上で見るときに色の情報がポップアップで見れたりできるようにしたいんですが どなたか作ってもらえませんか sky.ap.teacup.com/meki55/img/1183168156.png 欲を言えば最後に絵の具の番号で言うとどうなるのか変換してくれるボックスみたいのがあれば うれしいんですが
- 186 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 09:03:21 ]
- モニタのキャリブレーションしてるか?
- 187 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 09:05:54 ]
- キャリブレーションってなんですか
- 188 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 09:12:49 ]
- Googleで検索くらいかけてから反応しような
- 189 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 09:36:13 ]
- >>168-169
Javaのエラーメッセージって相変わらず不親切だな。MSほどじゃないけどさ。 普通に「拡張子(.java)をつけてください」って出せよな
- 190 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 09:39:17 ]
- そこら辺の屑モニタにキャリブレーションする意味もないだろ。
元が狂いまくってんだし、幅が効かん。 それともそっち系のモニタの話? にしても>>185はひどいな。
- 191 名前:デフォルトの名無しさん [2007/07/01(日) 12:53:48 ]
- JAVA3Dなのですが、1秒ごとに1つずつ同じ図形をずれた位置に追加表示
させるにはどのようにすればいいのでしょうか。 ↓こんな感じです 最初 □ 一秒後□□ もう一秒後□□□ ・ ・ ・ できれば5個くらい表示させたところで停止させる処理の記述も 教えていただけるとありがたいです。 よろしくお願いします。
- 192 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 14:15:28 ]
- キャンバスに文字を表示しているんですが、
public void paint(Graphics g) { ・ g.drawString("文字間隔",x,y); ・ } その文字の間隔を任意に設定はできないんでしょうか? ご教示願います。
- 193 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:27:49 ]
- >>191
スレッドまたはタイマー >>192 g.drawString("文",x1,y); g.drawString("字",x2,y); g.drawString("間",x3,y); g.drawString("隔",x4,y); どのくらい間隔あけるかは、fontMetricsから計算する
- 194 名前:192 mailto:sage [2007/07/01(日) 16:43:43 ]
- >>193
わかりました。やってみます。ありがとうございました。
- 195 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 17:28:44 ]
- gifイメージをアイコンに読み込んで表示するプログラムですが、jarに固めるとgifファイルを
読み込んでくれません。 imagesディレクトリに入れてあり、ディレクトリ構造は同じなのですが、 何か MANIFEST.MFに書き加える必要はあるのでしょうか?
- 196 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 17:43:17 ]
- 240k.main.jp/dev/mt/archives/2004/12/jar_oeeaeeeaueo.html
- 197 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 17:48:03 ]
- >>196
わかりました。やってみます。ありがとうございました。
- 198 名前:195 mailto:sage [2007/07/01(日) 17:56:28 ]
- 195だけど、getClass().getResource()を使うとうまくいった。 疲れた・・・
- 199 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:13:22 ]
- public class longtest {
public static void main(String[] args) { long a=2147483647; System.out.println(a); } } このプログラムのaの値をより大きく表示できるように改変してください。 この値よりも1でも大きくなるとエラーが出てしまいます。 値は出来るだけ大きいほうが良いです。
- 200 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:16:20 ]
- jarに固めるとファイルを読み込めなくなるハマリの初心者的2大原因
1.リソース検索してそのURLを指定せず、ファイル名を直接指定している。 2.Windowsのような大文字小文字の区別をつけないファイルシステムを使っていて、区別をつけるjar内の事情を気にしていない。
- 201 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:19:59 ]
- >>199
どっちでも使え public class longtest { public static void main(String[] args) { long a=2147483648L; //1増加 a=Long.MAX_VALUE; // 最大限に増加 System.out.println(a); } }
- 202 名前:192 mailto:sage [2007/07/01(日) 18:24:37 ]
- >>197
おいおい、IDでないからってパクるなよw やってみたけど、めんどうですね。ところでMFCの SetTextCharacterExtra みたいに1発で指定できないですかね。 setCharacterSpacing というのがあるみたいですけど、使い方がわからないです。
- 203 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:36:35 ]
- やってることは子供じみてるけれど、
自分の質問に対するレスへの自分を騙ったレスではないんだからいいんじゃね? 騙りとは違うからIDが出ないこととは無関係。 一発で指定したいのなら、後々のことも考えてsetTextCharacterExtraメソッドを自作する。
- 204 名前:191 mailto:sage [2007/07/01(日) 18:39:34 ]
- ttp://www.javaopen.org/j3dbook/examples/TimerBehavior1/TimerBehavior.java
↑をもとに作ってみようとしたんですが、これだとBranchGroupや TransformGroupはどこで定義すればいいのでしょうか?
- 205 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:42:30 ]
- >>203
了解。
- 206 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 20:22:37 ]
- >>204
リンク先のソースのどこにもBranchGroupやTransformGroupはないが? 自分のソース貼り付けてくれよ
- 207 名前:デフォルトの名無しさん [2007/07/01(日) 21:39:23 ]
- ↓の文章がコンソールのところに出てきたんですが・・・
どこが間違ってるってことなんでしょう? Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at Shukudai453.main(Shukudai453.java:26) 二行目の()の中をクリックすると、ソースコードのこの部分↓が青くなるんですが・・・ int n = Integer.parseInt(args[0]); ***************** という質問を他スレでしたら、「引数指定」といわれました。 それ以上聞くとスレ違いだらしいので、ここで聞かせてください。 どこを直せばいいんでしょう?
- 208 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:41:22 ]
- すみません
WindowsでSWT使ってプログラム書いて実行可能なjarを作ろうとして躓いています マニフェストファイルを作って Main-Class: Hoge Class-Path: . swt.jar swt-win32-3236.dll さらに jar cvfm Hoge.jar Hoge.mf Hoge.class swt.jar swt-win32-3236.dll として固めたjarを(Javaだけはインストールしてある)別の機械に持って行って java -jar Hoge.jar とするとDLLが見つからないと言われてしまいます あらかじめカレントディレクトリに swt-win32-3236.dll が存在する環境だと実行出来るみたいなのですが
- 209 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:43:43 ]
- >>207
java Shukudai453 数字 で実行
- 210 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:47:10 ]
- >>207
どんな環境でなにをどうやったらそうなったのか書け それすら出来ないならば、ここでもスレ違いだ
- 211 名前:デフォルトの名無しさん [2007/07/01(日) 21:51:49 ]
- ええっと
sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29488 を実行したんですが・・・
- 212 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:53:29 ]
- 実行とは?
Javaのバージョンは? そもそもコードを理解できている? あと、学ぼうとする気ある?
- 213 名前:実行したのはこっちの間違いでした [2007/07/01(日) 21:57:38 ]
- import java.util.List;
import java.util.ArrayList; public class Cebysev { private static List<Integer> primeCache; static { primeCache = new ArrayList<Integer>(); } private static boolean isPrime(int value) { if (!(primeCache.indexOf(value) != -1)) { return true; }
- 214 名前:デフォルトの名無しさん [2007/07/01(日) 21:59:19 ]
- すいません>>213は忘れてください・・・
>>212 自分ホント分からないものだらけなんで。。。 明日までに完成させたいんです
- 215 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:02:41 ]
- そんな状態になるまで勉強をしなかったお前が悪い
- 216 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:04:27 ]
- 完成させることは無理
同情の余地も無い 大学名と学部を晒したら変わりに提出しておいてやるよ
- 217 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:23:19 ]
- だから宿題スレの701嫁
- 218 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:28:12 ]
- 絶望的に理解不足だなw
- 219 名前:デフォルトの名無しさん [2007/07/01(日) 22:28:16 ]
- >>208
www.seman.cs.uec.ac.jp/~ryu-zr/blog/archives/000571.html
- 220 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:29:26 ]
- C++で typedef std::vector<std::string> strings_t; という感じに
ArrayList<String> に別名を付けたり出来ますか?
- 221 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:32:56 ]
- >>220
public class StringList extends ArrayList<String> {} とかすれば出来る(?)けど、何にも意味がないような
- 222 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:38:17 ]
- コンストラクタも定義する必要がありそうな
- 223 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:38:51 ]
- >>220
Javaにはない
- 224 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:43:02 ]
- >>208
ttp://launch4j.sourceforge.net/
- 225 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:11:45 ]
- というかエイリアス使えるようにしたらC++みたいにタイプ数減らすためだけに
エイリアスを乱定義して可読性が落ちるからやめてほしいなぁ。
- 226 名前:デフォルトの名無しさん [2007/07/02(月) 06:35:51 ]
- Javaの入門書、何を買うべきか迷っています。アドバイスをお願いします。
私の今のレベルは、Cが「少しは」できる感じです。 (配列・構造体・ポインタなど、基礎的な部分は分かる。 コンパイラの挙動やプリプロセッサに関してもある程度分かる。 作ったことがあるプログラムは、一つあたり1000行(.cファイル二つ、.hファイル一つ)程度) 個人的には、『独習Java』か『やさしいJava』かなあ、と思っていますが、どちらか決め難い。 他にもお勧めがあれば教えてください。
- 227 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 06:38:14 ]
- Javaとか言語にこだわらずに
オブジェクト指向の勉強もした方がいいよ
- 228 名前:デフォルトの名無しさん [2007/07/02(月) 06:49:48 ]
- boolean[]の[]の中ってint型しか入らないんでしょうか?
long型では無理?
- 229 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:14:56 ]
- >>226
やさしいJavaはこのスレでもよく話題(笑)にあがるが、少なくともCをかじった人には糞本でしかない 独習Javaがいいと思う >>228 無理 intの上限以上の配列を確保するってメモリどうなるかは考えた上で設計した方がいい
- 230 名前:デフォルトの名無しさん [2007/07/02(月) 07:22:13 ]
- うーんそうなると代用とか利きますか?
どうしてもintの上限以上の配列を確保したいんですが・・・
- 231 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:23:43 ]
- >一つあたり1000行
って言われても全く規模が分からんな・・・未だにこんな言い方してる奴がいるのか。 悪いことは言わんからやさしいjavaはやめとけ。 他の糞本を読んだことないから他にどれが地雷かは分からんが よほどのものでない限り普通に読めるはず。 後は何がしたいかによってそのジャンルの参考書もいるけど javaの場合標準ライブラリが多くをカバーしてるんでjava+JAXP等 java開発者向けに標準ライブラリを使った専門分野な本も多くある。 これは外部ライブラリを学習するよりとっつき易さがあるので入門時にはそういう本もおすすめ。 あと、SwingはAWT覚えてから手を出した方が良い。 SwingとAWTは別ライブラリで作法が違うけどSwingはAWT上に構築されてるからSwing中で (Swingが充実して最近減ったが)AWTのやり方が必要になってくることがあるが両方知ってないと混乱することがある。
- 232 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:29:45 ]
- >>230
intの上限を超えて配列は確保できない そもそも上限を超えた配列を確保できてもライブラリを含め、使うことができない 配列ではない方法で同じデータ構造を持つ方法なんて幾らでもあるだろ 手っ取り早いのはlongをとって、全bitに対してフラグとして扱うとかな 分割して使うことができないとも考えられないし、一体何がしたいの?
- 233 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:32:14 ]
- >>231
1000ステップ程度ならば、規模を表すにはいいんじゃね? 自分はmainだけで収まるような簡単なサンプルが〜100ステップ程度 いくつかの関数にわけてロジックを組み立てるというところで500〜1000ステップ程度と感じている 個人差もあるし大雑把だけどねw
- 234 名前:デフォルトの名無しさん [2007/07/02(月) 07:34:01 ]
- !seisu[n]
の!はどういう意味ですか?
- 235 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:34:41 ]
- >>230
boolean の情報量しかないんなら、 int の配列にして、その 32 ビットの 1 つ 1 つを boolean と見なせばいい。
- 236 名前:デフォルトの名無しさん [2007/07/02(月) 07:35:44 ]
- あ、性格には
if(!seisu[n]){ ですね
- 237 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:36:35 ]
- >>230
現実的にはプリミティブな要素型を持つ配列を生成するケースは少ないので だいたいの場合はint以上の長さの配列を確保するとすぐにメモリなくなる。 この場合、longを長さに取るコンテナを自作してメモリではなくディスクから読み書きして 必要な分だけメモリに置くクラスを作るのとかする。 マージソート自力で実装する程度のことが出来るならできるんじゃね? というか配列の要素数は初期化時にint未満の型使ってもワイドニング変換でintになってるからな。
- 238 名前:デフォルトの名無しさん [2007/07/02(月) 07:38:32 ]
- >>233>>235
つまり、long型の変数を宣言して、その各ビットを、0か1かによって、フラグとして代用するってことでしょうか? 3ビット目が1の場合、booiean[3]=true ってことですか?
- 239 名前:訂正 [2007/07/02(月) 07:40:15 ]
-
つまり、long型の変数を宣言して、その各桁を、0か1かによって、フラグとして代用するってことでしょうか? 100の位が1の場合、booiean[3]=true ってことですか?
|

|