というわけでスレッドを立ててみたわけだ。
お勧めのエディタやIDE、プラグイン、参考図書、情報を共有しよう。
男は度胸! 俺とJavaをやらないか。
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
最近アイちゃん多いな。
バラライカ、やらないか、じゃばないか。
きらりたん、アニメはStage3から無駄に3Dでオワタ。
はぁ〜、 もう・・・ありえない。
6 :
デフォルトの名無しさん:2008/12/05(金) 19:13:58
そこそこにC言語の知識とDelphiの知識があるのですが、
Javaをやってみようとおもって書籍を物色中です。
目標はデータベース操作のアプリケーションを作ることです。
読むべき本の書名を、入門レベルから教えてください。
7 :
デフォルトの名無しさん:2008/12/05(金) 19:34:15
普通のアプリケーション作りたい奴はJavaを覚えるのやめとけ。
Javaお勧め!exeファイルも作れる!って言われてJavaやってみたけどダメダメだった。
普通のexe作れないよこれ。
ラッパーで包めば見かけ上のexeは作れるけど、
動かすのにはJREってのが必要でそれが50MBぐらいある。
JREも入ってないマシンなど窓から投げ捨ててしまえ
nice struts
JavaFXのスレはどこですか?
11 :
デフォルトの名無しさん:2008/12/05(金) 22:52:23
初心者スレならくだすれがよかったなぁ。
>>7 まあC#が吐くのが普通のexeかっちゅうと微妙な気がするが、
.NET FrameworkはMicrosoftが力技で普及させてるのが強みだな
そういえばjavaのくだすれが落ちてから随分経つね
>>6 すごいですね。将来が楽しみです。
Javaは貴方に最適な言語です。是非ともJavaしてください。
mainメソッドが無いコードを実行すると、どのメソッドから開始されるのですか?
16 :
1:2008/12/06(土) 10:34:30
>>15 男は度胸! やってみるものさ。
エントリポイントがないのでエラーがでる。ケツをしめて塞いでくれ。
17 :
デフォルトの名無しさん:2008/12/06(土) 10:38:39
そもそもコンパイラをどこでダウンロードすればいいのかわかりません。。。
エディタも必要ですよね?
英語ばっかでよくわからないのでどこかわかりやすいところはありまぜんか?
19 :
デフォルトの名無しさん:2008/12/06(土) 13:28:40
tomyda: アンコ様、人をけなしといて、自分は奥手かよ
uncorrelated: ・。)うんうん、オレは奥手
mauljp: 面倒見よさそうだから、よってきそう気も・・・理想が高すぎなのかなあ・・アンコ氏
digital_pizza: あんこ は 外見きもいから だろ
mauljp: えー
mauljp: イケてるじゃんー
uncorrelated: ・。)オレ、キモイらしい!!!!
xmatsu5: ほう、外見キモいからじゃなくて、性格が問題なんじゃないの。
xmatsu5: 空気読めないというか、他人の事考えないというか。
xmatsu5: どっちかというと、そっち系だと思うけどな。
taketake_0821: (・∀・) やっぱ誕生会の面子は考えないとだな。w
tomyda: 性格悪かったね、アンコ様は。
xmatsu5: そのうち穏やかになるんじゃないの。
tomyda: オフ会でも、チャットして俺の悪口書いてたらしい
xmatsu5: なんかひでーなw
tomyda: パソコン覗いたら、必死に隠してた。オフ会のとき
xmatsu5: なんかキモいな。それ。
uncorrelated: ・。)うん、そうだよ<(00:19:08) tomyda: オフ会でも、チャットして俺の悪口書いてたらしい
tomyda: 酷いよぉ
uncorrelated: ・。)ここは酷いインターネッツ
tomyda: みずき、アンコを叱ってくれぇ
>>16 アプレットの場合、上から順番に処理されるのですか?
21 :
1:2008/12/08(月) 07:28:14
>>21 Javaは他の言語と比べて何がいいのか、将来性はどうかとかを語ってくれ
あと俺はこういう理由でJavaを選んだとか
とにかく君のJavaへの熱い思いを語ってくれないか
んなもんねぇよ。
24 :
1:2008/12/10(水) 10:17:33
>>22 C/C++の改良発展(ウホッ)系として、素直な言語体系である。
初学者が習得しにくく誤りやすい文法ができるだけ排除されている。
オブジェクト指向プログラミングの学習に適切。
後発のC#に比べて「綺麗すぎて」馬力不足な部分があるが、
両者は影響を与え合って今後も発展(ウホッ)していくことがたぶん確実である。
Java技術者の人数はきわめて多く、javaに対する期待と反省から新しい
言語はJavaの考えを踏襲したものが出現するはず。したがってJavaを
学んで無駄になることは全くない。
クラスライブラリが、とにかくよく考えられている。盲腸みたいな部分も
残念ながらあるが、万人が把握しやすい体系となっている。
おれはバキュームカーではないので、全てを盲目的に受け入れているわけでは
ないが、C言語で感じていた設計の「小気味よさ」、これはC++では皆無であったが、
Javaで復活したように思える。俺はとにかく「小気味よさ」が大好きだぜ。
エラーの親切っぷりも特筆すべき点だな、
例としてはどこで例外投げたかとか懇切丁寧に教えてもらえる
プログラマにあこがれて2年間独学でJAVA勉強してるけど
ずーーーーーとXMLばかり
属性暗記するのはもう嫌ーーーーーー!
1氏はjavaやってどれくらいになるの?
それより俺のコードを見てくれ。こいつをどう思う?
30 :
デフォルトの名無しさん:2008/12/15(月) 20:45:20
すごく・・・・大きいです。
冗長のかたまり。
失業保険もらって職業訓練でjavaの講習受けてきたけど
3ヶ月じゃ何にもならなかった・・・
おみくじプログラムで就活しろってか・・
どのみち、この業界で「言語は◯◯ができます」なんてのは「文法知ってます」と同レベルにしかとられないから、それで問題なし。
>>24 俺
>>22だけど分りやすい解説ありがとう
俺は今C#使ってるけどJavaの方が好きな部分もある
暇出来たらJava使ってみるよ
宿題教えてくれませんか
まあ研修なんて馬鹿避け程度の効果だな。全くのど素人よりは見込みある程度。ちゃんと履歴書に研修受けたって書いとけ。期間も大事。
実際は業務で使えるかどうか。自己鍛錬あるのみ。
就活とかして、面接で会社の人と話す機会もあるだろうから、どんなアプリケーション組めたら仕事に成るのか聞いてみて、そのアプリケーションが組める知識を自分で付けて行かないと。
昔、CでDOSアプリ作ってた経験はあるが、AWT弄り楽しい。
VBでGUIアプリ作りマンドクサで挫折したヘタレなので、こういう低レベルGUI組めるの楽しい。
入社するにあたって「やさしいJava」(高橋麻奈 著)を見て勉強中
PCには触れているがJavaは初めてだから不安だが
面白そうですな
じゃばじゃば
38 :
デフォルトの名無しさん:2009/01/15(木) 01:50:23
僕たちJavanese
いいから力抜けよ。
41 :
デフォルトの名無しさん:2009/01/16(金) 13:07:46
ホイホイついていきます
ヲラ、ケツ貸せよ。
43 :
デフォルトの名無しさん:2009/02/16(月) 14:41:40
俺とJavaしようぜ
ははは
なんでもためしてみるものさ
46 :
デフォルトの名無しさん:2009/04/05(日) 18:28:20
>>1 ∧ ∧ 彡
ミ ( ^ω^ )っ 彡
O ノ タタタタ…NetBeans IDE
ミ| (_) 彡
ミ し´ 彡
perlでハローワールド出すのは簡単だったけど
javaでハローワールド出すのに6時間かかったぞ。
javaは使えるようになるまで時間がかかる。
勉強不足
androidのアプリつくってみたい
android sdk と jdkインストールしたんだが、androidアプリつくるにはeclipsは何をインストールすればいいの?
項目がたくさんあって分かんない。
50 :
デフォルトの名無しさん:2009/04/14(火) 10:53:14
>>46 50ゲットオォオオォ!!!!!
∧∧
(^ω^)
cu_uっ バイーン
彡
/ ̄ ̄\
| ̄1 ̄|
| ̄2 ̄|
 ̄ ̄ ̄ ̄ ̄ ̄
51 :
デフォルトの名無しさん:2009/04/14(火) 19:44:09
ファイルから1文字だけstringとしてうけとるにはどういう風に
書いたらいいですか?
JavaとJavascriptって似てるかな?
こんどJAVAを習うからスクリプトのほうと平行してやれたらな〜〜って思っているんだけど
またそういうことを
54 :
デフォルトの名無しさん:2009/04/22(水) 04:32:43
>>50 サテト
∧∧
(・ω・ )
_| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄
>>49 >android sdk と jdkインストールしたんだが、androidアプリつくるにはeclipsは何をインストールすればいいの?
>項目がたくさんあって分かんない。
亀レス。。
Android SDK 1.1-r1/1.5 どっちでもお好きに
※但し、1.5リリース版が今月末予定に出るらしい。
Androidの開発は公式で謳ってるバージョンに従う必要は全く無い。
JDK6は使えた(…ってか、使ってる)。
eclipsは3.4.1でもおk
57 :
デフォルトの名無しさん:2009/04/26(日) 14:32:11
>>54 ネヨ
∧∧
(´・ω)
_|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
58 :
デフォルトの名無しさん:2009/04/26(日) 19:08:38
サテト ネルマエニ
∧∧
(・ω・ )
_| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄
59 :
デフォルトの名無しさん:2009/04/28(火) 15:16:00
>>57 オヤスミ…
<⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
俺の通ってるプログラム学校
なぜかJAVA開発キット1.4.0で勉強してるんだけどこれってどうなの?
もう1.6くらいまで出てるよね?
>>60 でている。その学校に通っていていんだろうか。
62 :
デフォルトの名無しさん:2009/04/30(木) 16:35:04
//Test3.java;
public class Test3{
int a = 3;
if (a == 3) {
System.out.println("a is 3.");
} else {
System.out.println("a is not 3.");
}
}
このプログラムはどこが間違っているんですか?
Eclipse使えばー?と言いたいところだが初心者が勉強に使う環境としてはどうなんだろうね
なんかあまりにも楽すぎて通訳介して英語しゃべってるような気分だ
>>62 public static void main (String args[])
こんなん入れてみたら?
>>64 初心者ならメモちょうで勉強しろってことですか。。。
Javaは一昨日から始めたばかりの俺でも分かって少し嬉しい
68 :
デフォルトの名無しさん:2009/05/03(日) 16:58:48
>>62 //Test3.java;
public class Test3{
public static void main(String args[]) {
int a = 3;
if (a == 3) {
System.out.println("a is 3.");
} else {
System.out.println("a is not 3.");
}
}
}
69 :
にゃあ:2009/05/04(月) 03:26:00
いまだ!69ゲットォォォォ!!! オマンコベロベロナメダーチンチンナメテー
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
↑⊂(゚ー゚*)≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
70 :
デフォルトの名無しさん:2009/05/04(月) 03:45:41
乙
71 :
デフォルトの名無しさん:2009/05/04(月) 06:37:57
なんかやりたくなってきたぞ
73 :
デフォルトの名無しさん:2009/05/04(月) 13:05:00
74 :
デフォルトの名無しさん:2009/05/06(水) 21:25:42
遅まきながらRobocodeってのを落として遊んでみた
勉強になりそうだ
75 :
デフォルトの名無しさん:2009/05/07(木) 01:14:32
こんばんは
スレ違いかもしれないのですが質問させてください
今、私はS!アプリを作ろうと思い基礎のハローワールドから画像を表示する段階まで勉強を進めました
まだまだ知識不足なのですがいずれは育成ゲームやシミュレーションゲームを作りたいと考えております
そこで、正式名称がわからないのですが命令を出すタグ?のようなものの一覧が載っているサイト等ないでしょうか?
また、育成ゲームやシミュレーションゲームの解説をしてあるサイト等あれば教えていただけると嬉しいです
うるせー
midpスレ行け
77 :
デフォルトの名無しさん:2009/05/07(木) 23:24:32
Swingのクラス設計がさっぱりわからないのですが、
思想とか指針が載っているサイトないですか?
1つのクラスに何でもかんでも乗せちゃうのはダメですよね?
java勉強し始めて数か月
クラスライブラリの使い方がよくわからず挫折してきたんだけどどうすればいいんだろうね
やっぱ一つ一つ暗記するしかないのか
>>77 どんな規模のプログラムかにもよると思うのだが
>>1 はどこ行ったんだよ
ム板にしては珍しく軽いノリで、嫌いじゃなかったぜ
>>78 実際にソフト作ってれば、実現に必要なクラスを探すようになるから
その過程で勝手に覚えるよ
81 :
デフォルトの名無しさん:2009/05/09(土) 02:48:05
>>78 暗記できればかっこいいけど、しなくてもプログラムは書ける。
「そういえばこういうメソッドあったよな?」って思い出して
クラスのリファレンスを検索して、メソッド見つけられればおk。
あとは、結構きまったパターンでメソッド名がつけられてるので
予測がつく。例えば、
set〜とか、get〜とか、to〜とか。
〜の部分にはそのクラス名が入ったりすることが多い。
覚えるより慣れろだね。
じゃヴぁ
javaのクラスライブラリは大杉
クイックリファレンスのあの厚さは異常
とりあえず、 java.lang をざっと目を通して String 関係を身につけて、 java.util で Arrays と ArrayList と TreeMap と Iterator が理解できればなんとかならないかな?
まあファイル扱いたければ java.io もいるけど。
java.util.Mapとjava.sql.*も覚えとくべき
java.text.Formatの類も使えると便利
画像扱ってるんだけど妙に抽象化されててやりたいこと探すのが面倒だわ
今までCで素のメモリ触ってきただけになおさらそう感じる
310-055 の内容が「一般的に覚えておきたいAPI」の基準
データベースを扱うなら
>>85のjava.sql.*もだが、OracleのSQL基礎I程度はやっとくべし
受ける受けない、受かる受からないは別にして
もちろん受けて合格するのがBestだけれども
88 :
デフォルトの名無しさん:2009/05/10(日) 04:07:37
あほみたいな質問かもしれませんが
getContentResolver().update(uri,cursorA,null,null);
のメソッドとメソッドの間の.(ドット)がある場合は何をやってるんでしょうか?
getContentResolver()
ってのが何を返すかわからんが、
Object obj = getContentResolver();
obj.update(uri,cursorA,null,null);
ObjectはgetContentResolver()が返す型に合わせて
Androidかw
getContentResolver()はContentResolver型を返すってさ
そのContentResolverのupdateメソッドを
URI型、ContentValue型、String型、String[]型の4つのシグネチャに
それぞれ値を入れて使ってるという
んで戻り値はfinalのint型だと。updateしたURIの行の数字かな・・・わからん
>>90 C#は3つも4つもつながるときあるよ
VBAだとドットが複数行に分かれてるときもある
92 :
デフォルトの名無しさん:2009/05/14(木) 00:57:41
式の値はCでも普通にある使い方だろ
後始末の必要があるから
>>88みたいなのはCだと一度ポインタで
受けておく必要があるが
EDENに入って即消えるからおk
95 :
デフォルトの名無しさん:2009/06/13(土) 20:50:26
age
96 :
デフォルトの名無しさん:2009/06/22(月) 16:28:49
97 :
デフォルトの名無しさん:2009/06/28(日) 06:45:53
Javaやりたいです。ここでいいですか?
テキスト内にある●の数を数えて、指定する属性を含んだ文字に置き換えたいのです。
属性は「文字スタイル1」、文字は「q,w,e,r,t,y,u,i,o,p」の順です。
何をどうしていいのか、さっぱりです。var って何?のレベルです。
今は●を検索しながら入力しています。バカだからときどき間違えます。いやなんです。
いやなことはパソコンにやらせたいんです。助けてください。
ひょっとして、テキストじゃなくてワープロ文書だったりして。
XML なら Java で扱えるけど独自形式だと諦めなければダメかも
99 :
デフォルトの名無しさん:2009/06/28(日) 15:01:26
100 :
デフォルトの名無しさん:2009/06/28(日) 15:02:58
×何から初めて良いのか ○何から始めればいいのか
>>97 var ってことはJavaじゃないんでない?
JScript?
102 :
デフォルトの名無しさん:2009/07/05(日) 10:50:42
>>59 Z
z
z
<⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
マニュアル買って、似たようなものを探し出して実行してみても、希望通りのことにならない。
ちょっと書き換えれば良いんだとは思うが、その書き換え方が判らない。
仕方がないからマニュアルの頭から読む。
知恵熱が出そう。
>>103 まず動かないと分からないよなぁ
どこが分からないかソース出してくれれば見るよ
>>104 ありがとう。でも、まだ尋ねられる状態じゃないの。
マニュアルの「行末にはコロンを付ける」レベルのところを読んでるんだから。
はやく「ちょっと見てください」って言えるようになりたいな。
>>105 「セミコロン」な。自己レスだけど。
>>106 うん、頑張るよ。
lengthなどの日本語の意味に混乱させられてます。長さだけじゃないんだとか。
(´・∀・`)ガオー
ProcessBuilderでvi起動させるのってどうやるんですか?
ググって1通りいろいろ試してみたのですが出来ません
環境 Ubuntu9.10 GNOME端末
ProcessBuilder builder = new ProcessBuilder("vi");→起動されず
ProcessBuilder builder = new ProcessBuilder("usr/bin/vi");→起動されず
ProcessBuilder builder = new ProcessBuilder("gnome-terminal","usr/bin/vi");→端末だけ起動してvi画面にならない
ProcessBuilder builder = new ProcessBuilder("gnome-terminal","/bin/sh","-c","vi");→端末だけ起動してvi画面にならない
どなたかヒントを・・・
age
112 :
デフォルトの名無しさん:2010/01/11(月) 09:33:41
ウェブ上で将棋の棋譜を再現できるようにしたくて、
http://homepage2.nifty.com/kakinoki_y/kifujf/example.html ここに使用例があってhtmlもここのソースとおなじでファイルも全部おなじ
ディレクトリにアップしたのですが、うまく使用できないというかでてきません。
原因は、appletタグの中の
CODE = "kifuj.Applet1.class"
がそうだと思います。
kifuj.jarを解答してみたのですが、kifuj.Applet1.classが見つからなくて
Applet.1.classならあったのですが、これをアップしてCODEをかえてみても
だめでした。
あと、バイナリーモードで転送できてないのでそれが原因かもしれないですが
大きな原因がわかりません。
どなたかお教えください。
113 :
デフォルトの名無しさん:2010/01/11(月) 09:34:37
間違えました
>Applet.1.classならあったのですが、これをアップしてCODEをかえてみても
正しくはApplet1.classです。
>>36同様、高橋麻奈のやさしいJavaをはじめたけど、さっきアマゾンでレビューみたら評価いまいちでショック
とりあえず1冊頑張って終えて次のステップにいこう
というにっき
115 :
デフォルトの名無しさん:2010/01/13(水) 04:37:12
メモ帳とコマンドプロンプトの往復だりぃ
でも基礎だから仕方ないよな・・
jcpadでプログラムを製作し、コンパイルに成功した後、実行した時のエラーです。
'-askclose'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というエラーが起き、画面が消えます。対処法を教えて下さい。
118 :
デフォルトの名無しさん:2010/01/17(日) 12:29:53
>114
本との相性はひとそれぞれ。
俺は10冊くらい読んだけど頭のもやもやはオライリーのHead First Javaですっきり晴れた。
>115
Eclipseは変数やコマンドを色分けしてくれるし、クラスもタイル表示になるから良いぞ。
Javaってポインタないんだよね
C、C++しかやったことないから想像つかんわ
120 :
デフォルトの名無しさん:2010/01/17(日) 14:46:32
言語にないだけで実装にはある。参照型に値がないままメソッドを実行すると
NullPointerExceptionが投げられることからそれは分かるよ。
とりあえず、モチベーション維持のためにjava勉強日記blog書いてみる
C/C++やってればJavaなんてすぐ分かる
>>122 C/C++の後にJavaを学んで、最初は同じように思ったけど、
独習Javaを読んだらそんなに単純じゃないなと感じた。
いろいろ独特な点があると思う。
なら最初からJavaやっちゃえと思った俺勝ちg・・・・・・
どうなんだろうな。基本情報技術者試験を午後試験Javaで狙ってるけど
やっぱC知ってる人よりは苦戦するだろうなぁ
Cやらないと分からないことは多い。
Cだけじゃ分からないことも多い。
Javaじゃなければ分からないことはあんまりない。
126 :
デフォルトの名無しさん:2010/01/24(日) 13:53:16
今SJC-Pの勉強していますが
皆さんはJAVAの分野でどこが一番難しいと感じましたか?
人それぞれだと思いますが
並行処理の括りで語られる諸々
実際の業務では、設計的なこだわりとポン書き実装のやりやすさとのバランス
128 :
デフォルトの名無しさん:2010/01/24(日) 18:02:50
実際の業務では、並行処理的な能力が一番重要だって
SEの友人が言ってたんですが、やっぱりそうなんですか?
Javaの言語仕様的な領域で追求したときに、最も奥深いテーマのひとつが並行性の問題。
大規模なプロジェクトであればアーキテクトがそれらの問題を扱うので、末端のプログラマは意識しないだろうけど。
規模が大きくなるほど、いかにシステムリソースを無駄なく使いきれるかが
システムデザインの良し悪しを決める決定的要素になるのは確かだと思う。
JDK1.6をインストールしました
PATHも設定しました
OSはWindowsXPです
しかし、コンパイルツールjavac.exe
が付属されていないのですが、
どうやってインストールし、コンパイルするのでしょうか?
え、インストールは不要でしょ。
普通にコード書いてコマンドプロンプトでjavac ファイル名ってやればコンパイルされね?
JRE入れたと見た。
134 :
デフォルトの名無しさん:2010/02/12(金) 20:48:24
原因が原因と見た。
ちょめが原因です
137 :
デフォルトの名無しさん:2010/02/13(土) 16:42:40
どう考えても
ゴミクズの集まり場所でした
ありがとうございましたm(_ _)m
せっかくのやらないかスレなのにホモネタ皆無で絶望した
139 :
デフォルトの名無しさん:2010/02/13(土) 17:40:51
自分で流れを作れ
NO THANK YOU
141 :
デフォルトの名無しさん:2010/02/14(日) 18:02:08
基本情報技術者をJavaで狙ってるんだけど、やさしいJavaの次に繋げる参考書ある?
やさしいJavaは2周してけっこう頭に入ったはずだけど、基本情報技術者の過去問みてもサパーリわからない
俺もやさしいJavaやってる
まだ一回通して出来てないけどギリギリで基本情報申し込んでみようかな
独り言だが悩む
×Aラン院生だ お前と一緒にすんあ
○Aラン院生だ お前と一緒にすんな
Java って文字列の比較方法が汚いよなー
Aラン院生で、基本情報かよ・・・
理系とは限らない。
150 :
142:2010/02/16(火) 18:12:48
ていうことはやさしいJava二週して基本情報の問題サパーリな
>>141がAラン院生か
何も考えずに院生まできちゃったのね・・・
1001のTipsとか言う本(JDK1.0.1)から学んだ俺は異端児
基礎?あとからついてきたよw
いきなりTipsからやってもなんとかなるってもんだw
154 :
デフォルトの名無しさん:2010/02/28(日) 12:12:51
やさしいJavaって概念を理解できるだけで 身についた気にさせる参考書
応用が利かないっていうか?
死のうかな・・・
おいおい、話が飛躍しすぎだ
理解できるだけいいだろ。
いきなりK&R本みたいに初心者お断りなスタイルだと、そもそも読み終えられない。
手を動かしたり、人の書き方読まない限り身につくことはない。
本ばっかり読んでてはだめ(もちろん読まないで我流貫くのはもっとだめ)
あきらめんな!
サンクスだぽ(`・ω・´)
Cから始めろ
159 :
デフォルトの名無しさん:2010/03/02(火) 22:37:11
EclipseのプラグインでVisual Swing を追加したが、
どうも使いづらい。動作も遅いし。。
Eclipseの他に簡単にGUIが作れるIDEって誰かご存じない?
>>159 ねこびーん。
まじお勧め。
でも最新バージョンの6.8は止めとけ。
一つ前の6.7.1。これ最強
161 :
道下くん(48歳):2010/03/02(火) 22:43:02
というわけで久しぶりに発展場にホイホイ来てしまったスレ主だ。
>>159 netbeansがあるではないか。現在無償で入手できるIDEで一番GUIがらくに設計できる。
阿部さん知らない?
162 :
デフォルトの名無しさん:2010/03/02(火) 22:59:19
netbeansは不当に評価が低いと思う
昔、Eclipseにやられまくっていたころのレベルから判断しちゃうからだろうけど
今のnetbeans触るとビビるよな
163 :
デフォルトの名無しさん:2010/03/03(水) 08:23:18
164 :
デフォルトの名無しさん:2010/03/03(水) 18:07:27
環境変数設定出来ない。
助けて!
コマンドプロンプトの本読んでみたら?
俺は少し良かったと思ってるから
167 :
デフォルトの名無しさん:2010/03/04(木) 06:31:15
環境 コンパイラ Java Development Kit
168 :
デフォルトの名無しさん:2010/03/04(木) 06:46:41
コマンドプロンプトにjavacと、すると、認識されませんとでる。
165>
環境確認どうやる?
169 :
デフォルトの名無しさん:2010/03/04(木) 06:50:10
すみません。
170 :
デフォルトの名無しさん:2010/03/04(木) 08:23:04
環境設定できた!
今度は、hello worldかけない・・
171 :
デフォルトの名無しさん:2010/03/04(木) 09:32:13
Exception in thred ...とでる。
がんばれ!
173 :
デフォルトの名無しさん:2010/03/06(土) 03:29:34
SJC-Aに合格した! 次はSJC-Pに挑戦しようと思う。
それにしても、メモ帳とコマンドプロンプトには疲れるな。
eclipseの勉強はSJC-Pとってからにするか・・・。
eclipseはインストールしてあるけど、機能が多すぎで萎える。
□検定があるのはJavaの魅力だな。。。
java教えてる講師の人が実際にプログラムを参考書から持ってきて
それを実行させると理解が深まるって言うんだけど
引数とか変えても実行結果しかでないのにそれから何がわかるかさっぱりわからない。
実行結果しかわからないなら参考書読んでても同じな気がするんだが…。
176 :
デフォルトの名無しさん:2010/03/06(土) 15:01:58
人によるな
英語の参考書読んでるだけで英文書けるようになる人もいれば
参考書から必死に単語書き写して覚える人もいる
個人的にはわざわざ書き写す価値のあるプログラムなんて
Javaパズルの問題くらいしかないと思うけど
写し間違えて動かなかった方たとき
実際にコンパイラの吐くエラーとか何処を間違えたかコードをつぶさに追っていくと理解が深まるんでね
178 :
デフォルトの名無しさん:2010/03/10(水) 22:12:21
拡張子.javaで保存したデータをプログラムから開くでメモ帳を選択し
修正して以来、毎回コンパイルに時間がかかっています。
以前の「Windows シェル共通 DLL」の状態に戻したいのですが、
どうすればよいでしょうか。
調べていたらレジストリを変更すればよいみたいですが、
どこをいじればよいのか分からない状態です。
181 :
お手上げです・・・CR-Z:2010/03/12(金) 16:30:14
基本情報の模擬テストをやっていたら意味の分からない単語が出てきました。
「pairs」ってなにをしているんですか?わからなくて困っています。
:
:
static String[][] pairs =
{{new String("high"),"130"},{new String("low"),"90"]];
渡された文字型の引数を元に、最高血圧と最低血圧を出力するプログラムらしい
です。またなぜ{{}}のような感じでくくったり、("low")のようにくくったりするのでしょうか?
検索してみたのですがでてきませんでした
new String() する必要も意味も無い。
それをなくしたら単なる2次元配列。
static String[][] pairs = {
{"high","130"},
{"low", "90"}
};
183 :
お手上げです・・・CR-Z:2010/03/12(金) 16:59:00
僕なんかの為に、書き込み有難うございます。ご意見を参考に少し勉強してみます。
184 :
デフォルトの名無しさん:2010/03/14(日) 22:29:57
すみません、超初心者です。
学校の課題で下記のプログラムを、配列を用いず再帰的手続きを用いて記述せよ。
という問題がありました。
参考書やネットで再帰的手続きを色々調べたところ、階乗の計算などは理解できました。
ただ、この問題のように、計算以外での再帰的手続きというのが、理解できないままです。
どういう風に解釈すれば解答に近づきますでしょうか。すみませんがどなたかご協力お願いします。
以下、元のプログラム。
import java.i.*.;
class What
{
pubric static void main(String args[]) throws IOException
{
BufferendReader br = new Buffered reader(new InputStreamReader(system.in));
int data[] = new int[5];
System.out.println("整数を5個入力してください");
int i =0;
while(i < 5){
String str = by.readLine();
data[i] = Integer.parseInt(str);
i++;
}
i = 4;
while(i >= 0){
System.out.println(data[i]);
i--;
}
}
}
>>184 int data1
int data2
int data3
・・・・・
>>184 private static void read(BufferedReader br, int count) throws IOException{
if(count > 5) return;
String str = br.readLine();
int i = Integer.parseInt(str);
read(br, ++count);
System.out.println(i);
}
こんなの作ってread(br, 1)しとけ
187 :
184:2010/03/15(月) 22:43:50
>>185 >>186 ありがとうございます。
すみません、いただいた情報をもとに、
色々調べてみましたが、まだ理解できません。。。
read(Buffered Reader br,int count)やread(br,++count)、read(br,1)
のようにreadの引数を「,」で区切ると、
どういう働きをするのでしょうか。
, が機能を持っているんじゃない。
複数引数を渡すときは , で区切るルールになっているだけ。
189 :
デフォルトの名無しさん:2010/03/16(火) 00:31:49
APIドキュメントは読んでるのか、と
俺もまぜて。
学校で習ってるなら学校の先生に教えてもらえばいいんじゃね。
教えてもらえないのなら授業料を返してもらえ。
>>184 超初心者が学校の課題で再帰を習うというのがおかしい。
ということで解釈の仕方とすれば、
「その学校に君が通うべきではない」
というのが解答だろう。
193 :
デフォルトの名無しさん:2010/03/16(火) 07:43:54
「
>>192 が回答すべきではない」
というのが解答だろう。
ねえねえ、俺もまぜて。
195 :
184:2010/03/16(火) 21:11:45
変更する可能性があるとこだけjavaにするといいな
bat組んで走らせてたら修正するところがあって
「ああっ」と思ったが 即修正、class上書きで済むもんな
C/C++だったらリンクからやり直しだぜ
197 :
デフォルトの名無しさん:2010/04/11(日) 15:45:03
chromeインストールするとき、
javaがインストールされてるかチェックして
インストールしてなかったら、ダウンロードしてインストールまでする処理って
どうやるんですか?
初心者です。
素朴な疑問なのですが、args[]ってどういう意味なんでしょうか?
メインメソッド作成の際に使う決まり文句のようですが、
メソッドの中でargs[0]という表記とかあるので、配列変数ということでしょうか?
String args[] = String[] args
どっちも同じ意味になるが、Cの表記に慣れた人の為に
両方使えるようになっている。なるべく後者を使うようにしましょう。
public class Test {
public static void main(String[] args) {
// do something
}
}
多分こういう時の話なんだろうけど、
args自体は変数名なので、まあ何と指定しても構わない。
ただ、クラスのmain関数は例えばコマンドラインから実行するようなケースも多々あるため、
引数としてのargumentの意味を持たせてargsとネーミングされることが多い。
何故配列変数として扱われるのかだけど、例えば、
java jp/co/hoge/sample/Test foo bar baz
と指定して実行した場合、配列変数でなければパラメータを複数受け取れないだろ?
public static void main(String args[]) {
public static void main(String[] args) {
ちなみに、どっちでもコンパイルは通る。
>>199、200ありがとうございます。
C言語慣れしている人への配慮もあるとは意外でした。
コマンドラインから実行するときのために変数になっていて、
複数の値を受け取る可能性があるので、配列になっているわけですね。
なるほど!mainメソッドのargsが分からなかったので助かります。
とりあえずinsertで無限ループしてんの直してみようか
いや、やっぱりうまくいってませんね…
Java のServerSocketを使ったソケット通信を考えていますが、
レンタルサーバを利用する場合、
サーバ側に用意されているtomcatにwarファイルとしてServerSocketクラスを含む
プログラムを保管しておかなければならないのでしょうか?
JAVAこれから初めてみようと思う
C#は一通り業務で使用できる程度には使えます。
クライアントアプリ・サーブレット両方したいんで EEのほうがいいんだろうか?
EEはJ2SEの内容も含んでるよね?
208 :
デフォルトの名無しさん:2010/05/25(火) 17:43:30
Javaを始めてまだ一ヶ月程度です。eclipse3.5を使用しています。
JavaMailを使用しようと思って、workspaceの中のプロジェクトの中のWebContentの中のWEB-INFの下のlibにmail.jarとactivation.jarを加えました。
その後、プロジェクトのビルドパスのライブラリに上記の二つを追加しました。
しかし、プログラムを走らせると以下のようなエラーが出てしまいます。
ネットで色々調べてみるとクラスパスが通っていないというような記述がいくつかあったのですが、クラスパスの通し方を何度見ても間違いが分からないです。
大変恐縮ですが、どなたかご教授ください。
java.lang.ClassNotFoundException: javax.mail.Session
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Clubmail.doGet(Clubmail.java:34)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
趣味で始めたけど、バイナリデータ弄るような作業はCの方が楽そうだな
deployした時にライブラリ見えてないんじゃねーの?
ビルド中もデプロイ後もちゃんとWEB-INF/libを見てんの?
212 :
デフォルトの名無しさん:2010/07/02(金) 16:44:28
。。。
GUI初心者です。
JAVAのnetBeansのSwing Application Frameworkが難しくて、
youtubeでJava #N3 - Making a GUI in NetBeansを見ながらswingアプリを少しやってみました。
少しだけGUIの作成パターンがわかりました。
Swing Application Frameworkで複数の画面を開くアプリを作りたいのですが、
ググったりyoutubeで探してみても新規作成→テンプレート→テンプレートをイジる程度の
サンプルプログラムしか見当たりません。
なのでAboutBox.java、View.javaの編集から先が見えない、それ以上の作り方のコツが見えていない状態です。
Swing Application Frameworkを作成するのに参考になるサイトや動画はありますでしょうか?
または参考書はありますでしょうか?
214 :
デフォルトの名無しさん:2010/08/12(木) 12:43:13
C言語での以下のような関数は、JAVAではどのように書くのでしょうか?
aaa(int *buf)
{
*buf=1;
}
>>214 public void aaa(Integer buf){
buf=1;
}
217 :
デフォルトの名無しさん:2010/08/12(木) 13:10:49
>>215 コンパイルエラー(buf=1が互換性が無い)が出てしまいました。
>>217 悪い。そのコンパイルエラーとは関係ないのだが、
java.lang.Integer にセッターは無いや。
整数1個のゲッター、セッターを持つクラスを作って、関数でセッターを呼び出してくれ。
ただ、オートボクシングとか使えないけどね。
>>214 避けるに越したことはないが、ポインタ、参照渡しは
以下のように配列を使えばいい。
public static void aaa(int[] buf){
buf[0] = 1;
}
呼び出す側も配列に入れて渡す必要あるけどね。
int[] buf = {0};
aaa(buf);
// buf[0] = 1
Apache Commons Langがあるならば、
Mutableという名前が付いたクラスを使えば予め上記のような
働きをするクラスが用意されている。
220 :
デフォルトの名無しさん:2010/08/13(金) 10:22:12
>>219 出来ました。ありがとうございました!。
「避けるに越したことはない」って言うのは、
「文法的に間違ってないが、JAVAプログラムとしては邪道」って事なのでしょうか?
>>220 そう。Javaの一般的なプログラミングから言えば
不自然だからなるべくパフォーマンス上の理由が無い限り
別の方法を取ったほうがいいです。
僕もJAVAやっているんですけど初心者でかなり、つまってます。
アプリとか作りたいんだけどGUIの仕組みがいまいち理解できない。
入門終わったばっかで、いきなりGUIはきつかったのかな?
みんな助けてくれませんか?たくさんの人に教えてもらいたいんだけど、僕ブログやってるんでコメント書いて
ちょくちょく見に来てくれませんか?
本当にお願いします
ブログは「java991」で検索してくれるとでると思います。おねがいします。
ほんとに、タクサンきてくれるとチョーうれしいです
僕もJAVAやっているんですけど初心者でかなり、つまってます。
アプリとか作りたいんだけどGUIの仕組みがいまいち理解できない。
入門終わったばっかで、いきなりGUIはきつかったのかな?
みんな助けてくれませんか?たくさんの人に教えてもらいたいんだけど、僕ブログやってるんでコメント書いて
ちょくちょく見に来てくれませんか?
本当にお願いします
ブログは「java991」で検索してくれるとでると思います。おねがいします。
ほんとに、タクサンきてくれるとチョーうれしいです
検索はしたが、文章から「こいつ駄目臭」が漂うので見ない
それがオレオレクオリティ
つーかそんなブログなんて誰もこねえよ
駄目人間との馴れ合いの場にでもするなら別だがな
大体、すでにHPにブログやtwitterが大量に使われてるし、
これだけネットが充実した後なのに
わざわざお前のサイトに行く理由がねーよ
Javaで、HTML読み込んで画像URLだけを抜き出すようなの作りたいんだけど、
HTML Parser入れてガリガリやればいいの?
226 :
デフォルトの名無しさん:2010/08/15(日) 02:46:58
JDKの6u21をダウンロードしようとしたんですが出来ません。どうやらOracleのサイトに組み込まれたようで
何かが変わったようです。(日本語版のページもなくなったようです)。
ダウンロードページでは Java SE のダウンロードをしようとしたのですが Windows 版であろうが何であろうが
"Your download transaction cannot be approbed. Contact Castomer Service." と出てきて結局ダウンロード
出来ません。カスタマーサービスに連絡しろとのことですが、英語でする必要があるようなのでどう書いたらいいか
わかりません。というか英語でまともにやりとり出来ないのでまず無理です。だいたいは読めても相手に通じる英文
なんて書けません。なんとかしてダウンロードする方法はないでしょうか?
227 :
デフォルトの名無しさん:2010/08/15(日) 23:37:16
228 :
デフォルトの名無しさん:2010/08/16(月) 00:11:53
Oracleは英語の通じない大多数の日本人を切り捨てたいようだな。
それだけじゃない。なんで個人の趣味で使いたいだけなのに会社名まで
聞こうとしてるんだ? 個人情報取りすぎだろう。
>>228 まぁ、会社情報は必須じゃないけどな。
対応遅い…
急ぎだったら本屋に走ってJDK6のCDがついてる本を買えばいいんじゃないだろうか?
本来はいらなくても必要そうなものは定期的にダウンロードするものだけどね
231 :
デフォルトの名無しさん:2010/08/16(月) 17:03:28
問題は最新版が手に入らないことにある。6u20なら既にインストール済みなのでいいのだが
6u21が入手出来ない。当然今後も出来ないだろう。こちらの英語が通じるまでは。
232 :
デフォルトの名無しさん:2010/08/16(月) 17:04:23
もう面倒だからみんなで堂々と日本語でメール書いて大量に送りつけてみるか?w
233 :
デフォルトの名無しさん:2010/08/16(月) 17:06:16
ていうかOracleは日本法人あるのに何をしているんだ?
日本語での受付もやろうと思えば出来るだろうに。
234 :
デフォルトの名無しさん:2010/08/16(月) 17:08:22
あれ? でも、Java ってオープンソースにしたんじゃなかったっけ?
まあOracleに登録するぐらいはいいけどさ。
>>231 最新版じゃないと困ることなんてあるの?
そんなクリティカルな修正が入ってる?
>クリティカルな修正
クリティカルな問題の修正
237 :
デフォルトの名無しさん:2010/08/16(月) 18:25:45
今は大丈夫でもいずれまずいことになる。
ダウンロードできたよ
サーバダウンしてたんじゃね?
239 :
デフォルトの名無しさん:2010/08/16(月) 23:06:50
>>238 なに? 本当か? ちょっと試してみよう。
240 :
デフォルトの名無しさん:2010/08/16(月) 23:14:18
できた!
もしやOracleのやつここ見て慌てて変えたのか?w
241 :
デフォルトの名無しさん:2010/08/17(火) 00:47:48
サーバーダウンで先に出てたようなメッセージだったら不適切だと思うから
やはり設定変えたのか?最初は審査しようとしてたのかなぁ
242 :
デフォルトの名無しさん:2010/08/19(木) 15:08:27
超初心者です。
C言語でのデファイン定義のやり方、ヘッダファイルの作り方、や実装はどのようにするのでしょうか?
参考になるサイトでもあれば教えてください。
>>242 質問の意図が分からないけど、
Cの質問をしているのならスレ違い、Cの初心者スレへ。
それらの機能がJavaのどれにあたるかという質問なら、そういうものはない。
>>242 import java.io.PrintWriter;
class A {
public static void main(String[] arg){
PrintWriter header=new PrintWriter("header.h");
header.println("#define DEBUG");
header.close();
}
}
245 :
デフォルトの名無しさん:2010/08/19(木) 15:25:58
>>243 C言語で「#define OK 0」と記述するような場合、JAVAではどのように実装するのか?という事が知りたくて質問しました。
JAVAではこのような命令はできないのですか?
>>245 public static int OK = 0;とか
public enum Status { OK, ERR1, ERR2 }; とか。
javaではソースでのメタ情報の共有は行わない。
全てロードモジュール(*.class, *.jar)の参照で解決する。
final が抜けてた
248 :
デフォルトの名無しさん:2010/08/19(木) 16:06:10
>>246 ありがとうございます。
class A{
public final int OK = 0;
public static void main(
{
・
・
・
}
}
って書いて、B.javaでOKを定義したかったら同じように記述しなければならないって事ですね?
BでもAのを参照に行くことはできる。
もっともBのOKがAと何の関係もないならBでAとは別にOKを定義しても良い。
-- A.java
public class A {
public static final int OK = 0;
-- B.java
class B {
void hoge() { if ( xx() == A.OK )
Javaでcom経由のファイルアクセスできますか?
252 :
デフォルトの名無しさん:2010/08/20(金) 09:55:49
JAVAには「共通ライブラリ」って考えは無いのですか?
「A.java」の機能を使いまわしたい場合は、それぞれのモジュールをMakeするときに「A.java」を直接Makefileに記述するのですか?
253 :
デフォルトの名無しさん:2010/08/20(金) 22:30:44
>>252 あるよ。jarファイルがそれだ。コンパイルしてバイトコードになっている class ファイルを
jar コマンドでまとめておく。それをコンパイル時と実行時に指定する。毎回指定するのが
面倒な場合は特定のディレクトリに入れておくか CLASSPATH で指定する。
この辺のことは入門書に書いてあると思うので探してみてくれ。
255 :
けんけん:2010/09/01(水) 01:23:56
Java超初心者です。
アプレットに対して、パネルを貼り付け、その上にボタンをいくつか貼り、
さらにボタンにラベルを乗せたいです。
awtで作りたいのですが、どういう順番で作ればいいのでしょうか?
ボタンにラベルを貼って、パネルにラベルを貼ってという感じなのか、
アプレットにパネルを貼って、パネルにボタンを貼ってという順番なのか、
どちらから作っていくべきですか?
教えて欲しいです!
>>255 一気に作らずに、徐々にテストしながら作ろうとしたら自ずと順番はわかるはず。
iアプリは別スレですか?
258 :
デフォルトの名無しさん:2010/09/04(土) 23:32:21
Javaの絵本 2002/12
ゲーム作りで学ぶJavaプログラミング 2000/4
JBuilderで学ぶJava言語 2002/4
を古本で買いました。全部初版です。
Javaの絵本は基礎知識として役に立つと思うんですが、
他の二つは情報が古いでしょうか?
作りたいのは、Eclipseを使ったAndroidプログラミングです。
>作りたいのは、Eclipseを使ったAndroidプログラミングです。
ここを読み直しておかしいと思わなイカ
260 :
デフォルトの名無しさん:2010/09/05(日) 00:02:24
おかしいというのは、Eclipse使うのに、JBuilder使う本を買ってるというところでしょうか?
今現在、とりあえず安いから本を買った状態で、JavaでのHelloworldすらやってないので、本当にさっぱりです。
凄まじい回り道だな、北海道に行こうとして沖縄に着いちゃったくらいな。
なんでまずGoogle本家で情報漁らないんだろ。
C++で、
Object *obj[10];
obj[0] = new Hoge();
obj[1] = new Foo();
(HogeとFooはObjectの子クラス)
みたいなのをJavaで書きたいんだけど、どうかけばいいんでしょうか。
すみません、自己解決しました。
Object[] obj = new Object[10];
obj[0] = new Hoge();
obj[1] = new Foo();
JAVAってnew Object[10]ってやると、
Objectのポインタみたいな物が10個用意されるだけで、
実態はそれぞれ初期化しなくちゃいけないんですね。
デフォルトコンストラクタで自動的に初期化されるものと勘違いしてました。
object配列の変数を宣言するのとobject配列のインスタンス生成を1行でやるってことでしょう。
265 :
デフォルトの名無しさん:2010/09/05(日) 22:23:03
「配列」という特別なクラスがあるということだ。そいつは new Object[10] のような
感じでインスタンスを作ると指定された型で指定された個数の入れ物だけ作る。
インスタンスを指す変数を使って obj[0] とかでアクセスは出来るが最初の段階では
中身は空(null)なので一つ一つインスタンスを作って入れてあげなければいけない。
(C/C++でのポインタの配列とほぼ同じ。違いは -1 や添字の最大数をオーバーした
アクセスの時に例外を出してくれる点か)。
違う点をあげつらうなら、C/C++ では宣言時に内容の初期化ができる。
267 :
デフォルトの名無しさん:2010/09/06(月) 01:21:25
>>266 シンタックスシュガーだろうが、一応こんな書き方はできる。
int[] a = new int[] {1, 2, 3};
これは下記と等価になる。
int[] a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
>>263 あれ、コンストラクタに戻り値なんて有ったっけ?
Hoge hoge = new Hoge();を忘れてた
>>267 それ必ずしも等価じゃない
下のは初期化途中の中途半端な状態にアクセスできてしまうから
aがフィールドだったりするとマルチスレッドで問題が出る場合がある
>>270 最初のやつってアトミックな動作が保証されているの?
保証以前の問題じゃね?
>>267じゃ字面上も完全にコードの意味が変わってる
273 :
デフォルトの名無しさん:2010/09/07(火) 20:19:48
Eclipse3.6を入れました。
解説本が欲しいんですが、3.1や3.2用の解説本でも、操作方法とかはほぼ一緒ですか?
>>273 実は3.1も3.6もまったく一緒だったりしてな
>>274 一緒なんですか?
それじゃあ図書館で前Verの解説書借りてみます。
会社でjavaのテストを受けさせられてまして、
記号を並べて図形を作る問題とか、グラフを作る問題のような
知識じゃなくて数学系の考え方が要求される問題が毎回苦手なのですが、
そういったものを勉強するのによい参考書ってないでしょうか。
>>276 普通に高校生向けの数学の本でも買って読んだら? 参考書というよりは解説してあるようなやつ。
図や絵が沢山あるようなのが分かりやすくていいと思うぞ。
なるほど。まずは高校からですな。
こういうのってプログラムの本のジャンルでいうとアルゴリズムとかに入るんですかね?
>>276 あとは、プログラムの載っているグラフ理論の本や
情報処理の試験対策の本とか。
情報処理系ですか。
とりあえず入門書の知識だけだとどの文法を使うのかはわかるけど
仕組みが思いつかないって感じでできなかったので鍛えたいですね・・
281 :
デフォルトの名無しさん:2010/09/10(金) 15:34:08
DefaultTableModelのapiの解説で
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。‥
の意味が分かりません。DefaultTableModelを使用してはいけないという意味でしょうか。
直列化しなければいいだけです。
とりあえずCUIアプリ作るのに必要なのはエディタとJDKの他は何ですか?
EclipseとNetBeansはどちらがオススメですか?
エディタとJDKだけで作れます
最初はエディタとJDKだけで作るのがオススメ
>>283 EclipseとNetBeansの比較は私も知りたい
ひと昔まえはNetBeansを選択するというのはかなり少なかったと思うけど
どちらも充実してきているのですよね?
Eclipse一択ではなくなったと思っているけど、どういう利点欠点があるのかが分からん… orz
入門書の中にも、たまにNetbeansで解説してる物がありますね
287 :
デフォルトの名無しさん:2010/09/11(土) 00:41:46
独習Javaって初版からJava2対応ですけど、第4版まで出てますよね。SDKのVerUPに対応してのことみたいですが、
最新SDKと初版で学習すると、何か問題が起きるのでしょうか?
たとえば、対応してない処理があるとか。
ブックオフに行ったら、独習以外にも古い入門書(2005〜2008年出版)がいくつかあったので、古いものでも大丈夫ならそちらを購入して学習したい。
Javaはver 5から文法が大きく変わったので、それ以前の文法で書いたプログラムは
今のコンパイラだと警告が出たりするよ。
J2SE 5.0(J2SE 1.5)は2004年9月30日リリースだから、それ以降の書籍を選ぶほうが無難ですね。
292 :
デフォルトの名無しさん:2010/09/15(水) 10:54:31
javaのこと書いてるサイトがどれも古すぎてどれがいいかわからん。
お勧めを教えてくれ
>>291 メモ帳とJDKでも可
Javaアプレットでぐぐる
295 :
デフォルトの名無しさん:2010/09/15(水) 11:21:00
コンパイラしようとしても、
javacは内部コマンドまたは外部コマンド
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
とでます。なにがいけないのでしょうか
JDKインストール
もしくはjavacにパスを通す
>>297 パスを通すとはどういうことですか?
JDKはインストールしています
環境変数にjavacがあるディレクトリパスを追加する
分からなければggr
JDK入れたら勝手にパス通るはずなんだけどな
横から悪いが、PATHを通してもコマンドの時のカレントディレクトリ(?)とソースファイルの保存先を同じにしないと駄目だよな?
いちおう面倒臭いコマンドラインオプション付ければ別の場所からでもいける
ちょっとjavaでもやってみようかな...
環境変数というのは、Windowsのコントロールパネルのシステムをクリック→詳細設定タブ→環境変数→システム環境変数のPathって項目のことです。
そこに、javacが置いてあるディレクトリ(Javacが置いてあるフォルダのフルパス C:\なんとかかんとか〜)を入れるんです。
;で区切ってあるので、;C:\なんとかかんとか〜と入れてください。
http://itpro.nikkeibp.co.jp/article/lecture/20070130/260066/ 環境変数といわれても何のことだかさっぱりわからない時期が僕にもありました。
あとディレクトリはフォルダより強大な何かだと思ってました。
306 :
kei:2010/09/16(木) 23:48:56
「行列を使って連立方程式を解くjavaプログラムを作れ。掃きだし法を使わなくてもよい。値は標準入力で取得。」
この問題がわかりません。どなたかお願いします。ソースコードもお願いします。
-
308 :
デフォルトの名無しさん:2010/09/21(火) 14:54:05
abstract宣言したクラスを無理やりインスタンス化することってできない?
テストするのにいちいち派生クラスを使うのがめんどくさい
Proxyのabstractクラス版を作ってみたことがあるが、使うならうpしようか?
少し整理しないといかんが
>>308 継承して、実装していないabstractメソッドの空定義って、Eclipseで2アクションで
できると思うけど。
311 :
デフォルトの名無しさん:2010/09/22(水) 11:44:57
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
gcj -O2 -o Hello --main=Hello Hello.java
Cygwin32のGCJを使ってコンパイルするとエラーが出ます。なぜですか?
>>311 向こうで回答してやったのにマルチポストしやがりますかコノヤロウ
313 :
デフォルトの名無しさん:2010/09/22(水) 11:57:14
すみません、ありがとうございました。
JavaでWebアプリやりたいのです。
これまでの経験はPHPでフレームワーク使ったことあるくらいです。
まず何から始めたら良いのでしょうか?
初心者向けの書生だと、デスクトップアプリ向けの本が多いようですが、
やっぱりこういうところから地道に始めた方が良いですか?
それとも、アプリのソースコード自分から読んで行った方がいいですかね。
316 :
Javaマスター:2010/09/28(火) 05:02:04
図書館行ってJavaを創った人々って本を読んでみるといい。
まずはJavaの歴史を知ることからだと思うよ。
>>315,316
PHPよりも楽勝!という触れ込みのJSPからやってみようかと思います。
Javaの歴史は…なんだか昔Unixも生い立ちからの勉強が必須だったのを思い出します。
318 :
デフォルトの名無しさん:2010/09/28(火) 12:42:55
メンバー変数に配列を持っていた場合finalizerでclearした方がいいの?
Javaだとみんなやってないので必要ないのかなと。
private ArrayList<Object> children;
public void finalize () {
children.clear ();
}
みたいな。
>>318 Effective Java の項目7にズバリ載っているよ。
320 :
318:2010/09/28(火) 13:58:47
>>319 その本持っていないので結論だけ教えてくれませんか
そうだそうだ!出版社乙だ!
323 :
318:2010/09/28(火) 15:42:54
でもどうせfinalizeが終われば参照も消えるので
クリアする必要はまったくない気がするのですがどうでしょうか。
書かなくていい行は1行でも書きたくないです
マジレスすると全く無意味だから書かなくていいというか書くな
GCのパフォーマンスが落ちる
325 :
318:2010/09/28(火) 19:02:46
ありがとう。
信じて書かないことにするよ。
しかし2chは息を吐くように嘘をつく人間が巣食う怖いところだ
ArrayList の clear() は、やるとしたら途中で不要になった所でやれば良いだけだと思うな。
メモリ開放させたい場合。もちろんその時に開放されるわけではないが。
やればその後開放される可能性のある所が増える。
ArrayList のインスタンスをほとんど処理の最後まで使うというのであれば何もしないで
放置でも良いと思う。
まあでも、そんな風に昔のC言語みたいに最適化を人が気にしながらプログラム作らなきゃ
いけないとしたらそれはコンパイラがまだクソということだ。
Effective Java 項目7 ファイナライザを避ける
書き出し「ファイナライザは、予想不可能で、たいていは危険であり、一般には必要ありません」
で、ぼろくそに書かれた後、
「ファイナライザの使用には深刻なパフォーマンスのペナルティがあります」
で、代替手段の提案があります。
さらに読み進めると
「では、ファイナライザが有効なのは、どのような場合でしょうか」
といってさらに長い文章が続きます。
この本、重要でみんな持っているかと思っていた。
その本って持ってないとJAVA開発者としてやばいような本なのか?
超初心者なので、気になります。
>>329 超お勧めの本ですが、初心者には難しいでしょうし、
常識集のような本ですので、ちゃんと常識をもってプログラミングできている人であれば、当たり前のことしか書いていないと思うかもしれません。
ArrayListのインスタンス自体もう使わないんだったらclearじゃなくて単にフィールドにnull代入しとけばいいよ
いずれにしてもファイナライザでやるのは逆効果だけど
332 :
デフォルトの名無しさん:2010/09/30(木) 10:17:49
Javaのコレクション使う人は、
com.google.common.collectと併用されてはいかがでしょうか。
アパッチのコレクションライブライも、
とくにコレクションの集合演算とか便利に使っています。
333 :
デフォルトの名無しさん:2010/09/30(木) 13:50:10
昔「マルチポストをマルポと呼ぶスレ」というのがあったんですが、
今はどこにいったのでしょうか?
超初心者の奴もtopcoderやろうぜ
javaのテキストレイアウトとフォントめんどくせー
過剰に高レベルで無駄に複雑な感じがjavaらしくて良いじゃないか
今までただ普通にパソコンを使ってきただけの私ですが、
そんな人がソフト開発してみようとなるとまずどうすればいいのでしょうか?
いわゆる普通のWindowsアプリが作りたいの?
Javaで作ると嫌われるから他のにしたほうがいいよ
>>338 >いわゆる普通のWindowsアプリ
というのは、Windows上で使うアプリケーションという解釈でよろしいでしょうか?
例えば、メモ帳であったり、Webブラウザのことと考えてもいいのですかね?
そういう意味でなら、そういうものが作りたいと思っています。
Javaがあまりよろしくないのであれば他のどの言語を覚えたらいいですか?
C++
ただし学習にまったく適していないので大変苦労することうけあい
もし339が学生なら、苦労してでもC/C++を覚えるべきだが、そうでないなら別になんでもいいんじゃない
C#, Delphi, なでしこあたりを見比べて良さそうなものを使ってみては
>>340 もうすぐ学生といったところです。
C++もよく目や耳にするので覚えようと思っていました。
今はかなり興味とやる気があるので頑張りたいと思います。
アドバイスありがとうございました!!
で、1つに絞るなら何か、でいきついたのがjava
とりあえずwinアプリも作れて他の言語に応用もできて速度もまずまず
とりあえず勉強するならJavaでいいんじゃない
一番初心者が勉強しやすい環境が整ってるからね
javaでwin専用のクライアントアプリなんて何のメリットもないので
作り始めたら他のに移りたくなると思うけど、そのときのギャップは低い
ここはIDが出ないのでちょっとわかりにくいですね
C++もそれほど良いわけじゃないんですか?
皆さんの意見だと「まずJavaに慣れてそれから他に言語に変えろ」ってことなんですかね?
Javaは学習用としても良いかも知れない。但し、もっと学習したい場合はC言語かな。というのは、
C言語はOSを作ることが出来るぐらいハードウェアに密着したプログラムが作れるからだ。
もっと密着したプログラムは各CPUのアセンブリ言語(そのCPUのマシン語に直接対応している言語)を
使うことになる。UNIXやLinuxは昔からそんな感じだった。OSの大枠はC言語で書いてどうしても
C言語では書けない部分や高速化が必要な部分だけアセンブリ言語を使ってそのCPUのマシン語に
直接置き換える。そうするとCPUが違ってもそのOSの移植は楽になる。(それでUNIXは広まった)。
C系なら結局MSのC++に絞られるんだよなあ
349 :
339:2010/10/11(月) 14:51:40
>>347 そうなんですか。C言語って凄いんですね。
ひとまず何も分からない自分はJavaで慣れてみることにします。
いまさらですがJavaはどうやってプログラミングすればよいのでしょう?
無料でできるんですか?
何でもいいから本屋で並んでる入門書みて、さっさと始めるのがいい。
了解です
探してきます
皆さんありがとうございました。
目的も無しになんとなくプログラム始めるヤツはたいてい長続きしない。
プログラミングは何かを作るための手段だ。何を作るか?が第一にある。
>>352 すごくわかるな。俺もそのパターン。課題でやってたCなんてまったく覚えてないが。
楽しようとして作ったExcelマクロからVB、VC++、C#、JAVAと流れ着いた。
金儲けしようと思って Android のソフト作ろうとすれば OK。すると自動的に Java 覚えることになる。
まあ、 iPhone や iPad 関係でも良いよ。あれはなんだっけ? Objective C だっけ?
355 :
デフォルトの名無しさん:2010/10/12(火) 03:43:41
int i , j;
i = 1;
j = i + 1 ;
→System.out.println(i);
→System.out.println(j);
この二行の出力を
System.out.println(i + j); ←に納める、つまり、2,3,5と出力されるようにしたいのですが、何の記号で区切ればいいんでしょうか。
ググっているんですが、1行に納める方法がなかなか見つかりません。
力業で(i + "," + j + "," + i + j);としたら、i + Jが計算されず、2,3,23で表示されました。
""で囲まれた部分があると、計算をしてくれないってことですか?
入門書の先を読めば載ってるんでしょうけど、疑問をそのままにしておくと気持ち悪くて。
>>355 訂正
i = i + 1 ;が抜けていました。
正しくは
int i , j;
i = 1;
i = i + 1 ;
j = i + 1 ;
358 :
デフォルトの名無しさん:2010/10/12(火) 14:27:59
+は常に左側を優先して結合(計算)する
+の左か右のどちらかが文字列なら文字列の結合を行う
必要なルールはこれだけ。整理して考えればなんでそうなるか理解できるはず。
359 :
デフォルトの名無しさん:2010/10/13(水) 05:34:57
eclipseというJAVAの開発環境があると聞きましたが、ウィンドウズの実行形式
でのコンパイルは可能ですか?JCGとどちらがいいですか。
eclipseにgcjのプラグインを入れれば出来るよ。
iとjって見分けにくくね? t とかにすべき
プログラミング書籍には、1とLの小文字が見分けにくいフォント使ってるやつがありますね。
あれ、本を作る段階でなんとかならなかったのでしょうかね。PC書籍多く出してる出版社の書籍で見たことがあります。
363 :
デフォルトの名無しさん:2010/10/13(水) 17:06:06
JAVAアンインストールできない。致命的らしいww
javaのユーザ空間、デバイス空間って昔のBASICのVIEW、WINDOWに似てるな
rotate、translateは押さえておきたい
もうすぐ学生・・・幼女か
>>364 OSは?
それと、アンインストール出来ないってどういう状態?
インストール先のディレクトリが削除されないというのであればそれは多分ソースのzipファイルが
入っているからじゃないかと思うんだがどうだ? もしそうならそのディレクトリは中身ごと削除
しても大丈夫だぞ。
ごめん。アンカ間違えた。
行列の初期化とかソートとか意味わからない・・・なんだよこれ・・・
369 :
デフォルトの名無しさん:2010/10/14(木) 08:40:17
JAVAのBigIntegerで公開鍵を計算するのですが、計算結果をソケット関数を
使って直接やり取りできますか?バッファに格納するために一々バイトとかに
変換しなければだめですか?
>>368 行列は高校数学で習うはずですが、3Dでもやろうとしているのでしょうか
>>369 自分で変換するのが面倒というだけのことならObjectOutputStreamとかを使ってみてはどうでしょう
何を使っても結局バイトに変換するしかないんですねという疑問ならYes
371 :
デフォルトの名無しさん:2010/10/14(木) 15:35:47
JAVAを勉強中です。
Eclipseで開発しようと本を読んで勉強しているのですが、ループ条件に
:が入るものがありました。
google等で検索かけますが、:は検索出来ないようでした意味が分かりません…。
本を見なおしてもハショられているのか見つからず…これはどういう意味で使われるんでしょうか?
問題としては、int型の配列の中身を表示するプログラムで
int [] array = {1, 2, 3};
for (int val : array){
System.out.println(val);
}
のようです。
ループ条件が良く分かりませぬ
valの中にarrayを格納しないことにはprintlnで出す意味がないですよね。
答えから考えると
:はvalの中にarray配列の先頭から格納していき、ループ回るごとに配列要素を+1
配列の最後、\n?が見つかったら終了ってことでしょうか?
拡張for文でググるよろし。
>>372 おー、有難う御座います。
簡単にいえば、配列の中身を順番に全て取り出す物ってことですね
ちなみに拡張for文は業務等で使うのは推奨されているものでしょうか?
一般的に使われていないなら、使うのは控えたいと思ってます。
俺の会社は使ってるぜ
他の会社は知らんが
>>366 いらないもの消しまくったら解決しました。
>>374 成程、取り敢えずは両方出来るように頑張ります。
有難う御座いました。
>>373 最近のプロジェクトなら、むしろ拡張for文を使いなさい、となっていることが多い。
配列以外にもArrayList等でも使えるしね。
拡張for禁止とかアホだろ
for禁止でwhile使えと言ってるようなもん
379 :
デフォルトの名無しさん:2010/10/14(木) 20:33:49
僕はイテレータちゃん!
380 :
デフォルトの名無しさん:2010/10/14(木) 22:52:48
381 :
デフォルトの名無しさん:2010/10/17(日) 01:24:06
数当てゲーム作ってるんですが、Eclipse上でキーボードの入力(数値を入力してくださいのあとの入力)ができません。
入力待ちにもならず終わります。
該当部分のソースは以下です。
System.out.println("3桁の数値を入力してください。");
BufferedReader sanketa = new BufferedReader(new InputStreamReader(System.in)) ;
System.out.println(sanketa) ;
ググってみたんですが、書いてある方法を試そうにも、その項目そのものが見つからず30分悩んでいます。
Ver3.5.2です。
382 :
デフォルトの名無しさん:2010/10/17(日) 07:00:22
今までRuby使ってきたんですけど、JAVAに乗り換えようかと考えています。
RubyのプログラムをJAVAにコンバートするアプリはないのでしょうか?
javaってムダにこんでる命令たくさんあるけど
必要な部分だけ使えばそれほど敷居は高くないよね
でも話についていけないことはあるけど
そう?
コレクションなんかジェネリクスがどう実装されてるかまで理解しないと使えないじゃん
わからなくて検索するとjavaの公式ドキュメント出てくるけど
これがわかりにくいー
翻訳文でもあるので余計に分かりにくい…
英語のまま読め。
389 :
デフォルトの名無しさん:2010/10/17(日) 20:01:05
GTKとか違ってJavaってすぐにウインドウできるのね。
へえ
ウインドウできる…?
JAVA Eclipseのファイル管理・書き方が良く分からない…
Cだと分割コンパイルですよね?
例えば、ソートをするなら
main.c sort.c gloval.h sort.h
mainには、
include "global.h"
include "sort.h"
main.cに
int main()
{
}
で、sort.cは
void sort(char *p)
{
}
とします
JAVAの場合、パッケージとかなにこれワケワカメ
JAVAはmain以外のクラスに関しては全部パッケージに突っ込めばいいの?
パッケージの分ける基準も分からないし\(^o^)/
見てる本は全部mainと同じ部分にclass単位で書かれてるしどうしたらいいお…
参考書籍:Eclipseで学ぶはじめてのJava第二版 と Eclipse3.6ではじめるJavaプログラミング入門
パッケージはC++で言うところのnamespaceみたいなもんだと思えばいいよ
C++がわからん?
じゃあCで言うとファイル数が多くなりすぎるとフォルダに分けると思うけどそのフォルダ分けだと思えばいいよ
Javaはクラス1個で1ファイルだからファイル数≒クラス数だね
俺的には10個20個くらい1つのパッケージに放り込んでも平気だろうが50個100個になってくると苦しい気がするね
まぁそこらへんはテキトーでもおk
>>393 レスありんこC++は初心者レベルでなら分かる。
namespaseか〜…ごめん微妙に分からない
大抵使う時って using namespase std:位だったからなぁ
ようは普通に書いたら長いウザイ→前半省略してやんよ!って感じに
んー…つまり
1つのプログラムに 電卓機能と、時計表示機能があるのを作る場合(適当なので変な組み合わせ失礼
パッケージ分けすると
・電卓
・時計
に分けて、電卓パッケージなら電卓を構成する各クラスを放りこめばokってことかな
で、クラスに関しても、1ファイル1クラスでバラバラに作る、と
電卓なら 正数・負数判定クラスとか、+の計算クラス -の計算クラス /の計算クラス *の計算クラス(ry
本は分かりやすい用に(分かりにくかったけど)、全部まとめて書いてるだけってことで大丈夫?
続き
mainにはimportで、パッケージ電卓と時計を読み込んで
class main(string args[])
{
パッケージ.クラス()呼び出し
}
mainから呼びだしちゃえばokってことかな
だいたいそんな感じ
+の計算クラスとかあんまり細かく分けすぎだと思うけどね、
(Cでも+を計算する関数だけで1個のファイルにはしないだろ?)
練習中なだけならまぁいいんじゃない
本はそういうことにしておいて大丈夫
>>396 有難う御座います。
モヤッとが溶けて助かりました。
398 :
デフォルトの名無しさん:2010/10/18(月) 12:55:21
swingとSWTとどっちがええの?
どっちでもええよ
400 :
デフォルトの名無しさん:2010/10/18(月) 13:05:42
swingってListのレンダラがダラダラしてうっとおしくない?
うっとおしくないよ
402 :
デフォルトの名無しさん:2010/10/18(月) 16:28:04
れんだらぁ★
403 :
デフォルトの名無しさん:2010/10/18(月) 19:45:37
バージョン4でタブをまたいだドラッグ&ドロップってできますか?
どうやってマウスオーバーしているタブを表示させるのでしょう。
404 :
デフォルトの名無しさん:2010/10/19(火) 04:46:51
RubyからJAVAへ移行しようとしているのですが、Jrubyの使い方がよくわかりません。
RubyのコードをJAVAに変換してくれるのではないのでしょうか?
Rubyのコードをコンパイルして実行速度をあげたいのですが出来るでしょうか?
JAVAに関しての質問です。
オートボクシングとアンボクシングについての質問です。
こちらに関しての使い道とかってどういう時に使うのでしょうか?
普通にint型とかじゃダメなんですかね…
本を見る限り
Integer obj = new Integer(10);
int n = obj.intValue();
と書かれてるのですが
int n = 10;で良くないでしょうか?
それともこれは10と書かれているから分かりづらいだけで、例えば
標準入力をString型で受け取る(入力:6565→args)
これをintとして治したい時に(String→int変換)
Integer obj = new Integer(args);
int n = obj.intValue();
ってやるためにやってるのでしょうか?
でもそれなら
int n = args.intValue();でも動きそうな気も…
>>405 オートボクシングとオートアンボクシングは初心者にはいらないと思う。
ArrayList とか使い始めたらもう一度勉強すればいいと思う。
>>406 ありです、そうですね。取り敢えずそこは気にしないでやってみます。
Eclipse !警告多くて困る
僕しんどい
合ってるか分からないけど
vista / 7 はセキュリティ厳しすだから特にprogramfile
そんなとこにインスコするのが悪いんじゃない?っておもった
411 :
409:2010/10/19(火) 15:34:56
>>410 あ〜そういう問題だったかもしれんわ。
前にインストールした時はC以外だった可能性があるわ。レスされて今思い出した。
同じWin7 64bitだったんだが、こんな事なかった様な・・・って感じだったし。
直ぐには再インストールして確認出来ないけど、その方向で対応してみますわ。アリガトん。
>>410 様
foo.jar.so
foo.jar.db
というファイルしかないパッケージを使うにはどうすればいいのでしょうか?
CLASSPATHでパス通すんじゃだめでした
それは gcj でコンパイルしたものじゃないかな
同じく gcj でコンパイルしないと呼べないと思う
gcj ぽいのはわかったのですが
強引に
gcj -lfoo bar.java
でコンパイルすることができません
bar.java
の中でパッケージ foo(rpmからインストールした)を使っているのですが
foo.jar.so
foo.jar.sb
しかファイルがないため、どうやってコンパイルしたものか、わかりません
gcjの公式マニュアルにもgccと同じにしろとしか書いてませんでした
そのパッケージは rpm なのにドキュメントとか付いてないの?
javaにはc++のtemplateに相当するものはないのですか?
templateほど強力ではないけど劣化品ならGenericsというものがあるよ
419 :
デフォルトの名無しさん:2010/10/21(木) 16:53:46
Jrubyの質問はここでいいですか
いいわけない
Ruby言語の質問はRubyスレでするべきだし
Javaのライブラリについての質問ならJava覚えて出直せ
やっぱリナックス、モバイルいろいろ転用すること考えると.netよりjavaがいいよな
やさしいJava読み終わったんですけど、次に読むおすすめの本ありますか?
423 :
デフォルトの名無しさん:2010/10/23(土) 08:04:19
パッケージの中から、パッケージでないclassを使うのってjavacコマンドでどうすればいいの?
src/foo/Foo.java
//Foo.java
class Foo
{
....
Bar new Bar();
...
main(){
}
}
src/Bar.java
//Bar.java
class Bar
{
...
}
javac Foo.java ../Bar.java -cp.:..
Barなんてクラスないぞというエラー
できません
>>424 src の上に上がってこれでどうだ?
java -d . src/foo/Foo.java src/Bar.java
ごめん。多分 src の下でこうだ。
java -d . foo/Foo.java Bar.java
先生質問です…
今やっとSwingに移りまして、WindowCloseとかやってるんですが、
本に書いてある通りに打つと、メソッド内が長くなってしまいます。
内容としては、WindowCloseの時に、終了しますといったテキストを出すだけです。
this.addWindowListener(new WindowAdapter() {
@override
public void windowClosing(WindowEvent e) {
System.out.println("終了");
System.exit(0);
}
無名クラスとか個人的に気持ち悪いんで分割しようとした場合
どうすればいいんでしょうか?
外部にClass MyCloseって作って
this.addWindowListener(new WindowAdapter() {
MyClose clse = new MyClose();
}
じゃまぁ構文エラーは出ないですが、デバッグ流してみても通りませんし
WindowEventがキャッチ出来ていない気も
じゃあMyClassをimplements WindowListnerしてやればいいんじゃね?
エラーは出ないけどやっぱり、通らない
で、ネットで調べてみると
ttp://www.tohoho-web.com/java/listener.htmにたどり着き 大本である。 public class sample extends JFrameにimplements WindowListenerを付けて
this.addWindowListener(this);を書くと、スッキリはしたんですが、
その後のpublicの連続でやっぱり長くなる…と
何か良い方法とかないでしょうか?後は、初心者にオススメなサイト等ありましたら紹介お願いします。
>>429 見やすいです…ありがとうございます。
流れとしては、大本のSample直下に、JFrameクラスのframeを作成(これでSample全域使える)
mainで、Sampleクラスのinit()をnewで作成
frameにJFrameを作成
監視用生成、タイトル生成、Windowのサイズは200x200、フレームの表示
こんな感じになるわけですね。
ちなみにこれを今後追加していく場合、
内部のclassは短く作るようにするとしても
Sampleが肥大していくと思うのですが、これは問題ないのでしょうか?
エラーが出てるので、/**/で囲んでます(JAVAがなかったのでC++)
http://codepad.org/FT7sU2EN こんな感じに分けれないものでしょうか
分けれますよ、ご自由にどうぞ
public class だと別ファイルにしなきゃならないので (肥大化してきたらその方がいいと思いますが)、
もし同ファイルに書きたいなら public じゃないただの class で
生成だけ別クラスに分けるっていうのは・・・ぇー・・・こんな感じ? (むりやり)
http://codepad.org/1iGBJ6Zb
>>431 おお、有難う御座います。助かります。
JAVAでの関数の作り方も??だったので、前回同様助かってます。
C/C++と違って見づらいのが難点です。
extendsしない場合は、変数名であるframe、extendsする場合はthisで書ける、と
このコードを見る限り、
呼び出す外部クラスとは別に、中にも処理を行うクラスを書かないとダメみたいですね
frameに new MyWindowbuilder.createFrame();
MyWindowbuilder内のcreateFrameを呼び出して、そこで作られた情報が、return frameによって
Sampleのframeに入るって感じですね。
有難う御座います。まだあやふや部分が多いですが
本のサンプルを考えて、見やすいように変換しながら作っていきたいと思います。
有難う御座いました。
度々すみません…
今作成したWindowにクリックした場合(ボタン)アクションさせる動作を作っていますが
エラーがorz
http://codepad.org/ahaIC7F0 MyWindowBuilderクラスから、関数からフレームを作成する時に
関数で、ボタンセット関数を呼び出してボタンを作成します。(現状はWindow自体がボタンになってます。)
ボタンをクリックしたら、MyJButtonActionAdapterクラスを呼び出して、
Clickと表示されている文字を、you clicked.に変更したいのです。
しかしながら、現在のプログラムではエラーが発生してしまい、切り替わりません。
Eclipseのコンソールを見てみると
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
の後に、at jp.tuyano.eclipseboo3.MyJButtonActionAdapter.actionPerformed(SampleApp.java:72)
と表示されており、Line72でエラーが発生していると出ております。(その他多数
現在は
class MyJButtonActionAdapter extends MyWindowBuilder implements ActionListener {
//JButton b = new MyWindowBuilder().ButtonGet();//Buttonクラスを取得
と書いていますが
class MyJButtonActionAdapter implements ActionListener {
JButton b = new MyWindowBuilder().ButtonGet();//Buttonクラスを取得
の状態でもやはり、同じでした。
私としては、ボタンをクリックした時にイベントが発生し、呼び出し。
呼び出した際に、別クラスのためbutton1の情報は、MyButtonActionAdaperは分からないため、
ゲッターを用いて情報を渡し、更新させるよう書いたつもりです。
考え方としてはどこが不味いのでしょうか?
もうJButton button1; -> static JButton button1;でいいよ
>>434 ありがとうございます。(1)〜(3)と画像見ました。
なるほど、nullを見てたのですね…
(3)に関しては内部メソッドが長くなるので、置いといて
(1)と(2)を見比べてみると、(1)の方が好みです。
引数の渡し方が良く分かっていなかったのですが、こう渡せば良かったのですね。
ありがとうございます。
ただ、(2)の方が余計な引数を渡してないところも魅力的に感じます。
JButton button1 = (JButton) ev.getSource();
問題はgetSource()とかをまだ勉強してないところですね…
(1)は、newでActionAdapterを呼び出す時に、引数としてbutton1を渡して、
MyJButtonActionAdapterクラスの中で、受け取り用のthis.button1を定義して、受け取り
それを書き換えて表示という感じですか…
うーん、何となく分かったつもりにはなりましたが、まだまだですので
考えていきたいと思います。
取り敢えずゲッターはいらない子でした…JAVA難しい…。
重ね重ね有難う御座いました。
一般には(3)がベスト。MyJButtonActionAdapterを内部クラスにしたくないというのであれば、
MyJButtonActionAdapterの中からbutton1は直接触らないで
MyWindowBuilderにbutton1の文字列を設定するアクセサメソッドを定義した方がいいです。
ボタンなんて実装の詳細なのであんまり外からこねくり回すのは良くないです。
$ って記号の使い方がわかりません
ポインタみたいなもの?
$ 記号は a, b, c などと同様に変数名やクラス名などに使える文字ですが、使わないでください
440 :
デフォルトの名無しさん:2010/10/28(木) 12:23:28
Javaの学習からAndroidアプリ開発まで手取り足取り解説してあるサイトか書籍を教えてください。
Javaの入門書→Androidの入門書という形でやろうと思いましたが、
最初からAndroidアプリ開発を視野においてJava入門をしているものがあればそちらのほうが効率が良さそうなので。
javaのlistって型の違うもの StrginとIntとかもまとめて入れれるの?
List は Object ならなんでも入ります。
Object でない int とかはオートボクシングで Integer とかに自動変換されて入ります。
>>440 小学生の算数から微積分まで手取り足取り解説している書籍なんかも需要あるんだろうなぁ。
最初から微積分を視野において算数をやっているものがあればそちらの方が効率よさそうだもんな。
積分は、要するに面積です。
終わり。
445 :
デフォルトの名無しさん:2010/10/28(木) 19:24:41
クラスだのインスタンスだのよくわからない状態です。
練習問題みたいなのが載ってるサイトを教えてください。
今現在はおぼろげな概念だけ持ってて、これをどう応用することができるのかさっぱりです。
クラスは図面。インスタンスは図面を基にして建てた家。
447 :
デフォルトの名無しさん:2010/10/29(金) 15:10:36
Javaって配列のゼロクリアもforで回さないといけないのか
Arrays.fill もあるよ
やってることは同じだが
これだからjavaは……(爆苦笑)
Cならmemsetで一発だ・・・・と書いたら誰か釣れるだろうか。
そもそも君らはJavaに何を期待しているんだ・・・
10年以上前に見限ったのにAndroidで再び俺の前に現れた。
Androidが採用してるのはJava言語であってJavaではありません。
そうなの?
つまりバイトコード自体(ひいてはコンパイラ)が違うってこと?
と、調べりゃ分かることをここで聞いてみる
調べりゃわかることなので検索キーワードだけ教えてやろう
Dalvikでぐぐれ
グーグルはJavaではないと言い張ってるがオラクルはJavaだと言って訴えてるんだよな
Javaの場合描画量減らす為に細かい矩形で消したり描いたりすると、そのまま描画するより
矩形の計算の方が遅かったりするのかな。
でもJavaでの計算が必要な描画内容 (折れ線グラフとか?) だと、描画領域少ない方が計算少なくて済むかもよ
java言語はjavaだろwww
違うよ
言語もVMもライブラリもひっくるめてJava
p-systemのpコードはpascalじゃねーけど、
javaのコードはジャバ言語だろ
普通は言語の文法のことを言語というよな。
Androidのドキュメントなんかだと絶対に"Javaで開発する"という風には書いてないんだよな
必ず"Java programing language"と続く
465 :
デフォルトの名無しさん:2010/10/31(日) 14:55:11
>>463 違う。ただ「言語」と言った場合は普通はその文法について言っている。
それをコンピュータ上で実装したものはその言語のコンパイラだのインタプリタだのと言う。
呼び方にどのような形式で実装されているかが付加されるということ。
それと本来であれば単に言語の名前を出しただけではその言語のライブラリは含まない。
但しこれは微妙ではあるけどね。標準ライブラリを含めた形で「言語」としないとお話にならない
ぐらい低機能な言語はある。C言語とかね。例えば printf() は標準ライブラリの関数だが、
これ抜きではC言語と言うのは辛い物があるだろう。
467 :
デフォルトの名無しさん:2010/10/31(日) 16:27:52
>>468 そうではなくてただ「言語」とだけ言った場合はその言語そのもの、つまり文法だけを
指し示しているという話だ。言葉の定義の問題。
Javaの場合はOracleが特殊な定義をしているかも知れないが、普通Javaとだけ言った場合は
Javaの言語そのもの、つまり文法を指している。そして「Javaコンパイラ」といえばそれの
コンパイラのことを指しているし「Java VM」と言えばそれの仮想マシンのことを指している。
「Java」だけではコンパイラや仮想マシンを含めたことにはならない。
>>469 文法だけの言語なんてないし、言語といったら文法だけ何てこともない
実行時の仮想メソッドの検索ルールなんかも言語仕様だな
>>471 だから言葉の上で「言語」と言ったらその文法を指すと何度書けばわかるんだ?
プログラミング言語といえば実際の動作やコード変換ルールなども含めるのが普通です
>>475 BASICコンパイラは何の言語になるの。
paint と paintComponent の差異がわからない
ちょっとGraphics2D使うだけでもメンドクサイ
479 :
457:2010/11/01(月) 08:26:59
頑張って描画管理クラス作ったけど、やっぱり殆どの場合更新位置を細かく
描画するより背景クリア>全部再描画した方が圧倒的に早い様で涙目。
更新位置がホントに少なければ部分更新した方が早いけど、少し増えただけで即逆転する。
VRAMが遅い環境ではかなり速度稼げたけど、Javaじゃ全然ダメぽ。
Javaには符号無しが無いと知って小便漏らした
char は 0〜65535 だぞ!
482 :
デフォルトの名無しさん:2010/11/02(火) 02:26:37
BufferedReader = new BufferedReader(new InputStreamReader(System.in));
の意味をクラスやオブジェクトのことをわかってない自分に出来る限り分かりやすく教えていただけませんか。
BufferedReader型のreaderという名の変数を作るのはわかります。
System.inはキーボードからの読み込みを行う命令。
それ以外がいまいちわかりません。
Javaが標準で用意しているInputStreamReaderクラスから型抜きを行い、InputStreamReaderオブジェクトを作り、
それにキーボードからの入力を読み込ませる。
InputStreamReaderが処理した内容を、これまたJavaが標準で用意しているBufferedReaderクラスから型抜きされたBufferedReaderで処理して、
その内容をreader変数に入れる。
ってことでいいんでしょうか?
InputStreamReader は指定したストリームを、指定した文字コードで構成されるテキストファイルとして読み込みます。
ってことなんですが、上記では文字コードは指定されてませんよね?
>>482 InputStreamReaderのエンコードのデフォルトはシステムプロパティのfile.encodingから取得する。
System.outはPrintStreamなのに、System.inがInputStreamなのはわかりにくいよな。
>>482 「Javaが標準で〜で処理して」まではOK。
>その内容をreader変数に入れる。
は間違い。
reader 変数は、文字列取り出しの窓口。
readLine() メソッドを呼び出すたびに、1行を取り出す。
InputStream は、1byte ずつデータを読み込む。
1byte であって 1文字ではない。日本語など、2byte以上で1文字を表す場合も当然ある。
だから char, String は取り出せない。
ほげほげReader(Readerを継承したクラス) は、byte を複数読みためて、1文字に変換する処理を行う。
char を取り出せる。(read()メソッドの型は int だけど char にキャストすればいい)
BufferedReader は、文字を複数読みためて、改行コードごとに1行に変換する処理を行う。
readLine() メソッドで String を取り出せる。
byte って何、char って何? とか言わないでね。
そりゃもう「クラスやオブジェクトのことをわかってない」以前の問題だから。
>ほげほげReader(Readerを継承したクラス) は、byte を複数読みためて
ごめん、これうそだな。そうじゃない Reader もあるわ。
「char を取り出せる」が Reader の共通事項。
>>483 ってことは、中国語とかを打ち込むのでない限りは、とりあえず今のところは文字コード指定について気にしないでいいんですね。
>>484 >>482で何か足りないと思ったら
BufferedReader reader =
のreader(変数)が抜けてました。
おぼろげながらではありますが、何がどういう処理を行っているのか(何でそう書くのか)の意味がわかりました。
これをしっかり理解するには、数をこなすのが一番なんでしょうね。
どうもありがとうございました。
int i;
float f, g;
i*=f*g;
i=i*f*g;
後者はキャストしろとエラー出るけど、前者は何も出ないのは何故。 値も変わってくるの?
何故といわれても、そういう仕様だから・・・としか答えにくい
複合代入は自動的に代入先の型にキャストされるんだよ
E1 op= E2 は E1 = (T) ((E1) op (E2)) と等価だ、というのが仕様に書いてある
i=i*(int)(f*g)
になってるんじゃないかと不安になったけど問題無いんですね。よかた。
ジェネリクスまじ意味わかんねーw
ワイルドカードが出てきてから突然分からなくなったw
Javaに限った話じゃないが、こういうのは分からなくなったら分かるところまで戻って
分からない所を潰しながら進めば良い。数学と同じだ。とにかく手前に戻れ。
今日はキーイベント処理中にGraphicをrepaintするとフリーズすることに気がついた
javaってこういう落とし穴で苦労することが多いね
Graphic を repaint することなどない
君は何か勘違いしている
Graphicは単にグラフィック面の意味ね
ド初心者の質問ですけどローカル変数がfinal指定してないとコンパイルエラーに
なるって書いてあったんですけど普通にfinal指定しなくても通ってるんですがどういうことですかね?
どこに書いてあったんだ?
いやいや例えば
void method()
final int a = 10;
みたいな構文を見たことないんですよ。
void method()
int a = 10;
これなら見たことあるけど。もしかしてinterfaceがデフォルトでpublicとabstract指定してある
のと同じように何も記述しないとfinal指定してあるってことですかね?
その例は単にローカル変数がどうこうじゃなく、なんつーのか、実体があるかどうかな感じの話じゃないのか。
それがはじめから出来ていればラムダ式の導入は簡単だった
>>499 ローカル変数の final 指定は、メンバの final と同じく、変数の再設定の禁止。
主に定数に使う。
ここでいう「禁止」は、実行時にそうならないようにするんではなく、
いうなれば プログラム上のメモ程度のこと。
一度設定したあと二度と変えないことが分かっている場合、final 指定する。
変えてしまうように間違えて作ってしまったときには、コンパイルエラーになるので気づく。
初歩的な理解としては上記まででよし。以下はサンプルの解説。
「サブクラスを設計して、親クラスにはなかった新たな属性を足したい」
「そのインスタンスはメソッドが呼ばれるたびに生成したい」という要件がある一方、
「屁みたいな処理しかしないしこのメソッドでしか作らないのに、クラス宣言なんぞ邪魔くさい」って場合に、
1.ローカル変数内でクラス、または無名クラスのインスタンスを作る
2.そのインスタンスに属性値を与える代わりに、ローカル変数を作って final 指定する
という手順を踏むと、「サブ〜」から「屁〜」の要件を満たしたプログラミングができる。
>>497 は、必然性がなさすぎて、まったく実践的でない。
もっと分かりやすいサンプルを提示できるけど、ほんとのド初心者では理解できる気がしない。
しばらくの間、final のことも変数内でのクラス宣言も忘れた方がいいと思う。
オブジェクト指向がわからない人がJavaやるなんて論外
504 :
デフォルトの名無しさん:2010/11/06(土) 14:16:42
オブジェクト指向が分からないままJavaに手を出すと、全ての機能が一つのクラスに入っている
巨大クラスを作る人になります。
全部のローカル変数にfinal指定しなければいけないみたいな書き方してるそのサイトがまずい
506 :
デフォルトの名無しさん:2010/11/06(土) 16:38:11
DBが分からない人に表を作らせると、行の限界まで列を詰め込んだ異常に横に長い表1つが出来上がります。
Stringクラスの配列から自作クラスの配列に代入しようとするとなぜかうまくいきません
そうしたらいいでしょうか?
現象:自作クラスの配列のうちどれかに代入するとすべての配列が同じ値になる。
ソースコード:
//自作クラス
public class HexInt
{
//メンバ変数宣言
private static Integer m_DecimalInt;
//コンストラクタ
public HexInt(String HexString){
m_DecimalInt = new Integer(Integer.parseInt(HexString, 16));
}
}
//代入処理
//分割した文字列をHexIntに格納
//バグ:HexInt配列のどこかに値を入れると配列すべてが同じ値になる
HexInt[] HexIntData = new HexInt[SplitData.length];
for(i=0; i < SplitData.length; i++){
HexIntData[i] = new HexInt(SplitData[i]);
}
SpritDataはString型の配列です
508 :
デフォルトの名無しさん:2010/11/06(土) 16:40:40
もちろんその表には name1, name2, name3, ... , name100 のような番号付きの列名が満載です。
509 :
デフォルトの名無しさん:2010/11/06(土) 16:43:29
>>507 > private static Integer m_DecimalInt;
値がひとつしかなくたって
いいじゃないか
static だもの
みつを
staticだからだろ
>>507 君が困っている原因は m_DecimalInt が static だから それを直せばいい
しかしそのソースのそのバグを
「配列すべてが同じ値になる」と表現するのはおかしい
何か勘違いしてるんだろうが 残念ながら材料が足りなくて指摘できん
「配列のすべてのインスタンスの m_DecimalInt が同じ値になる」だな
まーんなふーには説明でき撒いて
513 :
507:2010/11/06(土) 17:01:31
staticを外して実行したらエラーがでました。。。(コンパイルはできた)
>>511 例えばHexIntの配列HexIntData[5]を作成したとします。
このとき「 HexIntData[0], HexIntData[1], HexIntData[2], HexIntData[3], HexIntData[4] 」という5つのHexInt型の変数ができます。
その後HexIntData[2]を HexIntData[2] = new HexInt("1234"); で初期化したとします。
そうするとなぜかいじってないはずの「 HexIntData[0], HexIntData[1], HexIntData[3], HexIntData[4] 」の4つの変数も同じ値で初期化されてしまうということです。
>staticを外して実行したらエラーがでました
どういうエラーが出たか書かんかい
ClassCastExceptionに決まってるだろう
516 :
507:2010/11/06(土) 17:14:33
>>514 Exception in thread "main" java.lang.IncompatibleClassChangeError: Expected stat
ic method ImportPackage.HexInt.GetHexString()Ljava/lang/String;
at TR.main(TR.java:39)
こんなエラーです。
39行目の処理
System.out.println(HexIntData[i].GetHexString() + "\t" + HexIntData[i].GetDecimalString() + "\t" + HexIntData[i].GetOctalString() + "\t" + HexIntData[i].GetBinaryString());
Get〜String()ってのは
public String GetBinaryString(){
return Integer.toBinaryString(m_DecimalInt.intValue());
}
こんな感じのです。
とりあえず TR.java をコンパイルしなおし。
まだ同じの出たら全部コンパイルしなおし。
518 :
507:2010/11/06(土) 17:35:12
>>517 コンパイルしなおしても同じくダメでした
>>516 のエラーは、
「今 TR.class ファイルにある TR.mainメソッド(詳しく言うとTR.java の 39行目)
を実行したところ、エラーが発生しました。その行には HexInt クラスに定義された
GetHexString という static メソッドの呼び出しが要求されていますが、
HexInt.class にはそのようなメソッドが記録されていません。」
つまり TR.class が想定している HexInt.class の状態と、
実際に存在している HexInt.class とがかみ合わない(Incompatible)。
多分、最初は static だったのをついさっきやめたんじゃないの?
コンパイルしなおした後 class ファイルのコピーが必要な状態で開発を進めてるんだとしたら、
まずとにかく class ファイルを全部消してみて。そしてもっかいコンパイル。
信用ならないから一度.classファイルを全部削除してからコンパイルし直すべき
521 :
507:2010/11/06(土) 17:55:33
classファイルを削除してコンパイルしなおしてみたら出来ました。
みなさんありがとうございました。m(_ _)m
522 :
デフォルトの名無しさん:2010/11/07(日) 16:43:50
>>522 java.langはともかくとしても、
grammarだけってことないだろ
524 :
デフォルトの名無しさん:2010/11/07(日) 19:35:34
でも実装については指さないだろう。
>>524 GoogleはVMをパクッたらしいけどな。
526 :
デフォルトの名無しさん:2010/11/07(日) 19:53:35
しかし Java VM は Java VM と呼ぶのであって Java とは呼ばない。
Javaとgrammer定義だけが同じで、オーバーロードの解決ルールや
クラスの扱いなどがまったく異なる言語をJavaと呼ぶのか?
そもそも何を議論したかったのかをまったく見失った挙句に
「アホ」「アホ言う奴がアホ」のレベルかよ
しかも初心者スレにまったく寄与しない駄レスの数々
懇切丁寧に Java言語とは、JavaVMとは、を解説してるんならまだしも
IDなしの板でコテもなしに思い出したように1、2行つぶやきやがって
いつまで続けんだ
ごめん。しったかした
未ソートのリストからソートされた新しいリストを作る場合って
「一旦リストのコピーを作成してからソートをする」よりスマートな方法はありませんか?
リストをコピーする際にソートも行われるような感じの”用意された方法”が知りたいです
#pythonでいうところのsortedみたいなものがあるのかどうか
ないです
ん? TreeSet 使うとか?
スレッドは一度実行したら二度と起動できないって書いてあったんですけど
a.start();
a.start();
↑こういう状態だと例外が発生すると思ってました。一つのインスタンスは一回しか実行できないと
ってことはスレッドは一度実行したら二度と起動できないっていうのはどういうときなんでしょうか?
ふつうに発生しますよ。 IllegalThreadStateException。
複数動かしたいなら
複数 new すればいいじゃないか
Thread だもの
みつを
>>534,535
やっぱり一つのインスタンスは一回しか実行できないんですね
参考書を見たら確かにnewで書いてありましたよ
ありがとうございます
537 :
デフォルトの名無しさん:2010/11/11(木) 10:37:01
>>296のURLのリンクが切れてしまってるんだが、同じようなの探そうと思ったらどこを探せばいいのだろうか?
JAVAのグラフィック表示系について質問が…
http://codepad.org/hED7o8AH (JAVAがないのでC++にて)
//で隠しているtoolkitを使う場合は、きちんとグラフィックが描画されるのですが、
URLを使用している場合だと表示されなくなります。
デバッグモードで見てみるとimgがnullのまま更新されていないのですが、これは何故でしょうか?
フォルダの階層は
workspace\SwingGUI\src\main\java\Test\Sample
になっています。TestとSampleは本に沿って書いているのでこちらは変更致しました。
本来であれば別の名前になっています。
実行構成に関しては
${workspace_loc:SwingGUI}
にしています。(デフォルト)
srcの前に/やsrc自体を削除しても変わりませんでした。
SwingGUIが作業場所なので、その下であるsrcからのリンクを書けば
本来なら、読み込めるはずだと思うのですが…
宜しくお願いします。
Class#getResource はそのクラスのパッケージからの相対パスなので、
単に "test.jpg" と書けば、その DrawPanel クラスがあるのと同じパッケージから test.jpg を読める
>>539 レスありがとうございます。
test.jpgでやってみましたが、出来ませんでした。
eclipseの設定が悪いのでしょうか…
フォルダ階層が
新しいフォルダ→elicpse
→workspace/SwingGUI/settings
/src/main/java/jp/test/sample
/doc/index-firle や jp や resources
/target/classes/jp/test/sample
といった感じになっています。
DrawPanel.java と test.jpg は同じ場所に置いてるのか?
>>541 えっと、それは自分が打ったプログラムですよね
workspace\SwingGUI\src\main\java\Test\Sample
の中に
DrawPanel.javaファイルと
test.jpgファイルは一緒に置いてあります。
それなら読めるはずだけど・・・と思って読み直してみたら
frame.getClass()
これが悪いんじゃないかと思った
これでは frame のパッケージから読むことになるので、DrawPanel.class.getResource(〜) としてみたらどう
.
>>543 有難う御座います、変更してみたところnullエラーが出ました。
http://codepad.org/0z3HMjvp プログラム全文になります。
不必要な部分はカットしてあるので、importが多くなってます。
メインの名前はSampleAppなので、
>>542に書いてある、DrawPanel.javaに関しては
SampleApp.javaになっています。
分かりやすく書いたつもりが、分かりにくくなってたら申し訳ありません。
ありそうなことなので念のために書いておくと
panel.getClass().getResource("test.jpg")
とかじゃなくて
DrawPanel.class.getResource("test.jpg")
なので、その通りにお願いします
>>545 有難う御座います。
URL url = DrawPanel.class.getClass().getResource("test.jpg");
try {
img = frame.createImage((ImageProducer)url.getContent());
}
に変更してもやはり、表示されないです。
img = frameの場所に関しても、 DrawPanel.classでは無理なのと、
panel.でもダメです。
何でだろう…
俺は getClass() なんて書いてませんが・・・
>>547 失礼しました。そちらを削除してもやはり出ません…
URL url = DrawPanel.class.getResource("test.jpg");
try {
img = frame.createImage((ImageProducer)url.getContent());
}
img = frame.createImage((ImageProducer)url.getContent());の部分を
img = this.createImage(ryや、
img = createImage(ryにしてもだめでした…
思いつくままに
url がちゃんと取れてるか調べてみる
url.getContent() がちゃんと取れてるか調べてみる
Exception が発生してないか調べてみる
Toolkit.getDefaultToolkit().getImage( url ) を使ってみる
drawImage の最後の引数を this にしてみる
2個以上のコンポーネントを同じ BorderLayout.CENTER で add するのをやめてみる
>>549 有難う御座います。urlがちゃんと取れているか、とgetContentに関しては
まだ勉強不足なので、調べ中ですが、
Toolkitに変更してやってみたところ、
Uncaught error fetching image:
java.lang.NullPointerException
やはり、URL url に入れるときに、入らずnullのまま進んでいるようです。
となると、読み込みの仕方が悪いということになると思うのですが、
test.jpgや、src〜〜〜.jpgや、/src〜〜〜.jpgでもダメとなると…うーん
実は test.jpg じゃなくて TEST.JPG だった! ・・・とか。 無いか。
classes の中の SampleApp.class だの DrawPanel.class だのが生成されるのと同じ場所に test.jpg がコピーされてるかもいちおう確認してみるとか
classesの方には、class系は出ていますが、test.jpgはないですね〜
ファイル名に関しても
//img = Toolkit.getDefaultToolkit().getImage("src/main/java/jp/tuyano/eclipseboo3/test.jpg");
で、やるときちんと表示されるので間違ってないはずです…
となると、やはり問題は
途中送信申し訳ないです。
URL url = DrawPanel.class.getResource("test.jpg");
↑ここでURL url にきちんと入っていないという…ことで、どこかにミスがあるのか。。
そうか、クラスパス内に test.jpg ないのか・・・
getResource はクラスパスから探すからそこに無いなら取得できません
eclipse はソースフォルダ内にある .java 以外のファイルはそのままコピーしてくれるはずだけど、たしかにまれにコピーされないことはあった
一度クリーンしてみるとか
>>554 おお、やり方は違いますが
ソースフォルダに入れていたtest.jpgを、出力フォルダのclassesの方にいれたら
URL url = DrawPanel.class.getResource("test.jpg");
img = frame.createImage((ImageProducer)url.getContent());
で、画像が出力されるようになりました!orzお手数かけました。
クリーンにしてみるということなので、classesに出力されていた、classファイルを
手動でゴミ箱へ移動させたらエラーが出て実行することが出来ませんでした。
元に戻したら動くようなりました。
今調べなおしたらプロジェクト→クリーンで行けるようですね。
今回のはclasses側にjpgファイルがなかった(コピーされていなかった)が原因だったようです。
長い時間お付き合いして頂き、本当に有難う御座いました。
import static java.lang.System.out;
class X {
void do1() {
out.println("X.do1");
}
}
class Y extends X{
void do2() {
out.println("Y.do2");
}
}
public class Chome {
public static void main(String[] args) {
X x1 = new Y();
((Y)x2).do2();
}
}
これって((Y)x2).do2();のとこはなぜ(Y)x2.do2();じゃダメなんでしょうか?
キャストよりメソッド呼び出しの方が優先順位が高いから
(Y)(x2.do2());
という意味になるから
public class Fizz {
int x = 5;
public static void main(String[] args) {
Fizz f1 = new Fizz();
Fizz f2 = new Fizz();
Fizz f3 = FizzSwitch(f1,f2);
System.out.println((f1 == f3) + " " + (f1.x == f3.x));
}
static Fizz FizzSwitch(Fizz x, Fizz y) {
final Fizz z = x;
z.x = 6;
return z;
}
}
これなんでtrue trueになるかわかりますか?
final Fizz z = x;
ここでxの参照先をzに代入しているから、f1とf3の参照先のオブジェクトは同じ
finalは何の意味もありません
final fantazy = 神ゲー
画像読み込みに関しての質問です。
ImageIO.readをして読み込む場合、JARの画像を読み込めないようですが、
ファイルをimportすることによって、それを回避出来るようなのですが
本を見る限り、ソースと同じ場所に画像をそのまま置いて使っています。
個人的にはソースと画像は別に管理したく、
ソースフォルダの下(パッケージ直下)にGraphicフォルダを作成し
そこからロードする方式を取りたいのです。
この場合、
パッケージを右クリック、フォルダを作成 を行い
その下に、import→画像ファイル読み込みしました。
パッケージ名→ソース
↓
パッケージ名.Grapchic→画像ファイル
この、画像ファイルをソース側で読み込むにはどうしたらいいのでしょうか?
現在は
image = ImageIO.read(getClass().getResource("パッケージ名.Graphic/画像名.png"));
image = ImageIO.read(getClass().getResource("Graphic/画像名.png"));
image = ImageIO.read(getClass().getResource("/Graphic/画像名.png"));
image = ImageIO.read(getClass().getResource("パッケージ名/Graphic/画像名.png"));
image = ImageIO.read(getClass().getResource("/パッケージ名/Graphic/画像名.png"));
は試しましたが、画面に表示されません。
フォルダではなく、パッケージとして作るのでしょうか?
宜しくお願いします。
2行目の、配布型のJARにした場合、画像がロード出来ないのを回避するように
と
[-]パッケージ名→ソース
|
|
[-]フォルダ名(パッケージと同名).Graphic→画像ファイルです。
"Graphic/画像名.png" でいいはずだけど、getClass() はどこのクラスかわかんないからクラスリテラル (クラス名.class) の方がいい
あと jar の中は大文字小文字の違いを区別するのでそこも要注意
jar コマンド (jar -tf xxxx.jar) で本当に画像が入ってるか、どういう名前で入ってるかも確認してみる
>>565 ありがとうございます。
最初は描画されなかったのに、一回消して、もう一度打ち直したりしてみると出来ました。
描画が遅かったのか…
getClassの代わりにクラス名を付けました。
きちんと描画されてるので間違いないと思いますが。
現在書いている場所のクラス名.class.getResourceって事ですよね
助かりました。有難う御座いました。
CentOSでjspが動かせない
手動でjdk入れるしかないの?
デフォルトではgcjが入る
>>567 何をどのように調べ何をやれば動くと理解している? そしてそれに基づき何を行った?
そして何をきっかけに「動かせない」と判断した?
>手動でjdk入れるしかないの?
そこで躊躇する理由は一体何なのさ。
そういうことをちゃんと整理して言わないと何も教えてもらえないし何もわからない。損するのは自分。
コンピュータは「とにかく塩かけたらしょっぱくなるよ」みたいに簡単にアドバイスできるものではない。
もしそういうアドバイスが欲しいなら「ググって出てきた通りにやれ」しかない。
とあるインスタンス内のイベントで関数を呼び出したいと思います。
この関数をインスタンス毎に設定したいのですが、
何か方法があれば教えてください。
インスタンス作成時に関数を渡したりできるのでしょうか。
HogeHogeListenerみたいなインタフェイスを作るのが通常のやり方
Eclipse3.6で以下のif文を用いました。
if(bstrategy.contentsLost() == false){
//ソース
}
if文に対してeclipseが、表現を簡潔に出来ると!マークで警告してくるのですが
これを簡潔にするにはどうしたらいいのでしょうか?
== falseを削除すれば、消えるのですがその場合falseの使用可能ならの判定が出来ません
よろしくお願いします。
俺のeclipseはそんな警告してこないな・・・ checkstyleかなんか入れてるのか?
if(!bstrategy.contentsLost()){
にしてみるとか
>>572 あ、checkstyle入れてます申し訳ない。
!でいけました。ありがとうございます!
!なになに〜って余り使わないもので忘れてました感謝です。
くだらない質問で申し訳ないのですが
eclipse 3.6 checkstyle有で
public class Main extends HoneGumi {
private int cy = 100;
cy = cy - cy
}
見たいなのがあるとして、
最初のprivate int cy = 100;
の100の部分がマジックナンバーですって警告が出て迷惑してます。
これは、checkstyleのバグ?なのか、それともこれを消す方法があるのでしょうか?(checkstyleOff以外)
よろしくお願いします。
>>575 申し訳ない、ありがとうございます。
見ましたところ、デフォルト設定値以外チェックするには
int double など型全部チェックしない、または設定値0.5.9等登録しておかないと
いけないようですね。
不便ですが、そのままマジックナンバー警告出したままに致します。
ありがとう御座いました。
画像を描画する時に Graphic gのg.drawImage()を呼び出すのですが、
drawImage(Image img,int dx1, int dy1, int dx2, int dy2,
int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
このタイプの長い奴の意味が分かりません。
調べてみたところ、デスティネーション矩形やソース矩形の最初の隅のx座標やy座標
2の方が2番目と書かれていますが、デスティネーションとソースは何が違うのでしょうか?
「デスティネーション 意味」や、「デスティネーション矩形 意味」でググっても詳しい説明が見当たらない…
dx1 dy1が、画像□左上、dx2 dy2が、画像□右下を表してるのだとは思うのですが・・・
詳しい説明または、詳しいサイトありましたら紹介お願いします
追記です、今調べていたところ
引数に指定したImageクラスのオブジェクトの元になっている画像の
(sx1, sy1)を左上、(sx2, sy2)を右下とする部分を切り出し、
(dx1, dy1)を左上、(dx2, dy2)を右下となるような
領域に調整されて表示されます。
という文を見つけました。
もとの画像 60x60があったとした場合。
sx1,sy1,sx2,sy2で切り出したい位置を指定して。
dx1,dy1,dx2,dy1で、切り出した画像を拡大・縮小表示するってことでしょうか?
例えるならば、sx系が20,20,40,40,であれば、
60x60なので20x20の画像になりますよね。20の位置から40の位置までなので
次にdx系が0,0,60,60の場合、座標0,0の位置を始点として座標60,60までの大きさに
20x20の画像を60x60に拡大して表示するってことであっていますか?
頭がパンクしそうですorz
はい、あってます
ちなみに
destination 【名】 目的地、宛先、行き先、送り先、届け先、旅行先、目的、目標
source 【名】 もと、源、起点、原因、水源(地)、光源、情報源、出所、出典、発信元
>>579 よかった、ありです。
>>580 そのままの意味でよかったのか、IT用語があるのか分からなかった。。
分かってからみると、大体そのとおりだけどイメージするのは自分には難しいぽい・・・
ソース・デスティネーションってあちこちで出てくるんだけどな
c言語とかのstrcpyとかwin32apiのBitBltとか
NWでもパケットのソースアドレス・デスティネーションアドレスとか
対義語の中ではget/setに次ぐくらいの頻度でソースコード中に出てくるな
もう覚えたから大丈夫だろ
通常の英語の意味だけど、dst とか src って略すのも定着してるし、専門用語っぽいかもしれない
しかし、カタカナで「デスティネーション」とか書くのはどうかと思う
>>582 俺は「送信元アドレス」「宛先アドレス」って言うかな・・・
src/destの方が何故か知らないけど非合理的だけど一般的
destの方が一般的だよな〜
dstって略したいけどわかりにくいしな
偏ってんなw
distanceとかdistributionとかあるからな
Eclipse3.6でゲームプログラムを作成しています。
ビルド→実行で、プログラムはきちんと動くのですが
エクスポートして実行しようとすると、ウィンドウが表示されるだけで
動きません。
画像ロードに関しては、画像をimportすることによって、実行可能JARファイルでも表示出来るようにしています。
手順
エクスポート→Java→実行可能Jarファイル→生成されるJARに必須ライブラリーを抽出にチェック→完了
考えられる原因はなんでしょうか?
590 :
589:2010/12/22(水) 17:00:22
すみません自己解決しました。
画像ファイルを変えたさい、ビルドは通るようなのですが
JARにした場合、エラー出ていたようです。
画像ファイルの拡張子が間違っておりました
○JPEG
×jpeg
Integer i1 = 1;
Integer i2 = 1;
i1==i2はなぜtrueじゃないのでしょう?
1はint型であってIntegerではないので、実は内部では自動的に
Integer i1 = new Integer(1);//←1という値をもった新しいIntegerを作る
Integer i2 = new Integer(1);//←1という値をもった新しいIntegerを作る
というふうに置き換わっている。
こうみると、i1とi2は確かに内容は同じだが、Integerとしては別々のものになっている。
新しいIntegerを2回作ってるんだから。
というわけでfalseになる。
なるほど
ありがとう
値ではなくポインタの比較になるってこと?
うん
そういえばequalsは意味的に同じならtrueで==は基本型は意味あってればtrueだけどラッパーとかオブジェクト型はアドレス参照ってどっかで見たな
==は常に値の比較だよ
プリミティブ型はそれ自体が値なので直感的な比較になるし
参照型の値はポインタ(というかハンドル)なのでその値の比較になる
だから演算子オーバーライドを実装しろとあれほど
599 :
デフォルトの名無しさん:2010/12/28(火) 04:26:20
なんで==が同値性ではなく同一性なのだろう?
>>599 なぜってJavaは==をオーバーライドできないもの
自作のクラスに同値性の==演算子を実装できないぜ
#define で色々書いてCのプリプロセッサを通した後で sed 's/^#.*//' を(ry
>>600 かなりひねると出来ないこともない。要するに同値だったら同じインスタンスを指す値になっていれば良いわけで、
new を使ってインスタンス作るのでなければ何とかなる。
しかし、わざわざそんなこと意識しながらプログラム組むのも馬鹿らしい。素直に equals() 作っちゃった方が良いな。
一応 String には intern() というのがあって、intern() で String のインスタンスを作り直せば同じ文字列を
保持する String のインスタンスは同じものになる。(s.equals(t) が true の場合にのみ、s.intern() == t.intern() は
true になる)。
正準表現はわかりにくい
ダブルクオーテーションでベタ書きしたStringは最初からinternされてるので
"hoge"=="hoge"とか、"hoge"==new String("hoge").intern() はtrue
internってなんでインスタンスメソッドなの?
staticのほうが自然な気が
>>605 String のインスタンスが作られていないと比較のしようがないからでは?
実際、static だとしてどういう風に使うんだ?
仮に intern() が static だったとする。するとパラメータには String のインスタンスを指定することになる。
t = String.intern(s); みたいになる。しかし s は既に new されて作られた String のインスタンスなのであり、
それならば t = s.intern(); となっていてもこれといって違いはない。
t = String.intern("abc"); みたいな使い方は意味がない。というのは "abc" 自体が既に String のインスタンス
なので t = "abc".intern(); という書き方ができるからだ。だが、これもまた意味がない。"abc" を保持する
String のインスタンスはコンパイル時に作られコンスタントプールに入っているからだ。"abc" == "abc".intern()
にしかならない(もしこれが成立しないのならそのコンパイラは String 定数の扱いがおかしいと思う)。
isLeap てなんて読むんですか
カタカナ表記で
イズ・リープ
Eclipseで編集中のプロジェクトだけ表示するような設定ってできますか?
過去作成したプロジェクトが全てパッケージツリーのところに出てきて
見通しが悪く不便で仕方ないんです
>>611 右クリックができるマウスに取り替えてみるとか?
Macでも右クリックはちゃんとできるんだよ。
>>611 ワーキングセットを作るとよい
パッケージエクスプローラの▽ボタンからできる
>>612 右クリックですか??
Windowsなので出来ますが。。
VisualStudio6.0みたいに起動時に開くプロジェクトを選択したり
前回開いていたプロジェクト(ひとつだけ)を表示したいんです
(今のVisual Studioはソリューション単位ですけど。。)
>>611 File - Switch Workspace でワークスペース丸ごと切り替えるという手もある
>>613 ありがとうございますおっしゃる方法で出来ました
>>615 全部フォルダ単位なんですね。。
非アクティブウィンドウにキーイベントを送る方法ってありませんか?
java.awt.Robot や org.eclipse.swt.widgets.Display を触ってみたのですが
アクティブウィンドウにイベントを送る方法しか見つかりませんでした・・・
swingでguiアプリケーションを作る勉強をしたいのですが、
例えばボタンが置いてあるフレームを2つ(JFrame1とJFrame2)を作ったとして、
main.javaからJFrame1を表示、さらにボタンを押すとJFrame2を表示する
にはどうしたらいいでしょう。
参考になるサイトあったら教えてください。
eclipseなんでこんなに設定めいどいの?
ろくに設定せずに使ってるけど大して困ったことはない (subclipseとADT入れるくらい)
何かそんなにやることあったっけ?
俺なんて何か設定した覚えもないくらいだけど
622 :
デフォルトの名無しさん:2011/01/13(木) 16:17:27
クラウドコンピューティングとかアンドロイドをやりたいんですが
Cからした方がいいですかJAVAにした方がいいですか
諦めるのが一番早い
javaはC++に表面は似てるけど専門書を読むほどその奥底にある設計思想の違いを思い知らされるな
625 :
デフォルトの名無しさん:2011/01/13(木) 18:16:34
>>624 そんなこと言わず真面目に答えてくださひ
>>622 中国語かヒンズー語。あとネットの翻訳サイトで一発で正しく変換できる日本語
(86)
40歳過ぎてjavaをはじめました。やってみた感想。
デストラクタが無い。
(ほんとは無いわけじゃないんだけど、滅多に使うひとはいない)
java VM が勝手に後始末をしてくれるので便利、っちゃ便利なんだけど
その便利さが災いしてか、後始末をしないプログラミングが横行して姉妹勝ち。
オブジェクトを作ったら作りっぱなし。開放しない。
データベースも開きっぱなし。クローズしない。
スレッドも起動しっぱなし。ぐるぐる無限ループなスレッドがバックグランドで動きっぱなし。
便利は危険。
自分でやってみた感想でw
自分で閉じればいいじゃんw
他の人はとじてるんだから
なんでみなさんそんなにお詳しいんですか?
どういう経路をたどればそんなになれるんですか?
どういう方法で勉強しましたか?本だったら何を何冊どの程度やりました?
それとも実務ですか?
友達いないし家から出ないしプログラミングしかすることないからな
>>633もそうなるといいよ。こっち来いよ、なあ。
>>634 ええ!?w
まあ友達は少ないですけどw
すいません、Eclipseというのは優れた開発環境であると聞きましたが
何が優れているんですか?
自分はど素人でJDKとかいうやつをダウンロードしてterapadとかいうので打って
なんか黒い画面のやつにjavac〜とかjava〜とか打ったら完成とかするんですが、こういうめんどい作業が
もっと簡単にできますか?
できます
ありがとうございます。
設定とかって難しいですか?
俺は全然難しくないし面倒くさくもないと思うのだが
なぜか難しいとか面倒くさいとか思う人もいるようだ
慣れの問題とかあるのかな? よくわからん
俺はEclipseはどうも合わないというかメニューも分かりづらいので
NetBeans使ってる こっちはぴったりだ
eclipse入れて勉強中なんだけど、
ビルド→実行の仕方が分からない。。
RUNを押しても何にも反応しないし・・・
結局、コーディング編集だけeclipseでやって、
コンパイル→実行はDOSプロンプトでやってる
Package Explorer で main メソッドのある .java ファイルを右クリックして Run As - Java Application で実行できるよ
eclipseをはじめて入れてみました
勝手に書いてくれるしなんかちょっと重いけどサイコー
ちなみに今まではメモ帳とプロンプトでやってました
すいません質問です。
簡単な名前入力してもらって挨拶を返すプログラムで、
山田 太郎と入力してもらうと、
こんにちは、螻ア逕ー螟ェ驛�さん。
と返ります。
何故文字化けしてるのですか?
>>646 配列の中身間違ってるんじゃないの?
ソースないとね
648 :
デフォルトの名無しさん:2011/01/20(木) 19:17:22
>>646 入力した文字が既に化けているとか。Servletとかだとそういうことあるかもね。
formのあるhtmlのcharsetでの指定とservlet側のデフォルトエンコーディングの違いとかで。
で、実際どういう環境で実行してるんだ?
アプレットって何ですか?
あんまり流行ってないんですか?
650 :
デフォルトの名無しさん:2011/01/24(月) 00:23:08
>>649 昔々はPCが遅くてな。それで流行らなくなってしまった。今は速度的な問題はないんだけどな。
仕組みは html ファイルの中に <applet> タグ書いておいてそこで実行する class を指定する。
その class ファイルもサーバ側に置いておく(jarファイルに全部まとめて入れておくのが良い)。
それで java プラグインの入っているブラウザからそのサーバにアクセスしてその html ファイルを
読むと class ファイルをサーバから読み込んで動く。その際そのブラウザの動いているクライアント
マシンの中の全てのファイルにアクセス出来てしまうとセキュリティ上問題があるので普通は
それは出来ない状態になっている。設定を変えるかキーファイルを用意して特別に許可すれば出来る。
また通信もその class ファイルがあったサーバとしか出来ない。(セキュリティについては同様。
許可すれば出来る)。
まあ、こんなやつだよ。
http://hp.vector.co.jp/authors/VA012735/applet/applets.htm 昔遅いと言われた理由は最初に <applet> タグをブラウザが見つけるとプラグインに処理を
引き渡すわけだが、その時の最初の初期化がすごく時間掛かったんだ。それで結局 flash
に持っていかれた感じかな。
右クリックで何も反応しないところがFlashよりもいいね
class abc {
を
class abc
{
のように { の位置を改行後にするのはマナー違反でしょうか?
それとも個人の好きにしても良い世界の話になるのでしょうか?
C#だとデフォは下だし。どっちでも自分が見るだけならどっちでもいいんじゃないですか?
そのうち、見える範囲の行数増やしたくなって上になるw
ま、あまり深く考えると宗教論争になるからこのへんで。
誰に対するマナーだよ
自分で決められるんだったら好きにしろ
複数人での開発でルールが決められてるなら問答無用で従え
>>653 クラスに関しては、上でも次の行は一行空けたくなる
俺のとこの会社だと一行開けれって言われる。
コーディング規約(笑)見たいな
ジェネリックスに関する質問です。
ArrayListの配列を使いたいんですが、警告がでます。
宣言の仕方に問題があると思うのですが、
@SuppressWarnings以外の対処法がわかる方がいましたら、
教えて頂きたくよろしくお願いします。
ArrayList<String>[] list = new ArrayList[2];
list[0] = new ArrayList<String>();
list[1] = new ArrayList<String>();
一番上の行に警告が出ます。
ジェネリックな配列は作れません。
対処法はありません。
ArrayList<?>[] list = new ArrayList<?>[2];で
ええ、ジェネリクスの意味はありません。
>>659>>660 レスどうもです。
使い分けることができる可変長配列を二つ用意したいんですが、
自分のやり方は根本的に間違ってるんですかね・・・
ジェネリックスは必要ないんですが、
それをなくしても結局警告がでてしまうので・・・
Javaの仕様がおかしいだけ
諦めろ
ArrayList<ArrayList<String>> にするとか
新しいクラス
class StringArrayList extends ArrayList<String> {
}
を作れば
StringArrayList[] list = new StringArrayList[2];
list[0] = new StringArrayList();
list[1] = new StringArrayList();
とすることもできる
典型的なアンチパターンですね
>>662-665 ご指摘頂き、ありがとうございます。
警告消すためだけに新しいクラスを作るのもアレなんで、
>>662さんが言うとおり、諦めることにします。
コメントについてご意見ください。
皆様以下のどちらを利用されていますか?
または、それ以外の方法でしょうか。
//コメント
int hoge;
int hoge; //コメント
>>667 どちらも使う。行が長いか短いかで大雑把に見易くなるようにするだけ。
>>667 俺の場合は、1行以上のまとまった操作手順に対してコメントするなら前者、
その行だけを修飾するなら後者。
>>669 コメントするほどのまとまった操作があるなら、そこを抽出してメソッドにしちゃうので、
この質問、答えづらい。
メソッドにしちゃえば Javadoc に則って記述するんだろうし。
(゚∀゚) ワカッタ!
きっとローカル変数じゃなくてパッケージプライベートなフィールドなんだ。
ということは正解はこうに違いない。
/**
* コメント
*/
int hoge;
>>671 だから、
// コメント
int hoge;
ってまれな表現かと。
で、やりそうなのは、Observerパターンでインナークラス間の通信のためだけの変数とかが増えちゃったけど、別クラスを作るほどでもないとか。
hogeを見るたびに、hageに見えて仕方がないんだよなぁ…
674 :
デフォルトの名無しさん:2011/02/08(火) 19:53:51
アプレットでプルダウンメニュー内に@,A,B,CとありBを選択しているときにリセットボタンを押すと表示も同時に@に戻るようにするにはどうすればいいんですか?
どういう動きか全然わからない
図で説明してみてくれると有り難い
676 :
デフォルトの名無しさん:2011/02/09(水) 21:40:26
>>674 リセットボタンが押されたときにセレクトするように出来ないか?
JAVA初心者です。今学習しているところでテストがあるので助けてください!
ここからテストに出るよ〜
っていう問題が与えられているので答えいただけるとありがたいです><
問題
クラスの敬称について述べている以下の各文章のうち、誤っているものをすべて選びなさい。
(1)サブクラスでは、スーパークラスのメソッドの内、アクセス修飾子がpublicかprotectedのものを継承する。privateのものは修飾しない。
(2)サブクラスでスーパークラスのコンストラクタをオーバーライドするとき、super()はコンストラクタの先頭に書かれなければならない。
(3)サブクラスでスーパークラスのコンストラクタを明に呼ばない場合には、スーパークラスのフィールドを継承できない。
(4)サブクラス型で宣言した変数には、スーパークラスのオブジェクトをキャストせずに代入できる。
(5)アクセス修飾子protectedが付けられたメソッドは、同じパッケージ内のどのクラスからも呼び出すことができる。
(6)アクセス修飾子privateが付けられたフィールドを、それが定義されたクラスのサブクラスから参照できる
(7)Objectクラスは、extendsにより明に継承しなくても、すべてのクラスに自動的に継承される
(8)あるクラスの内部クラスのメソッドに、他のクラスからはアクセスできない
他にも問題があるので解いてくださる人がいましたら書きます
681 :
デフォルトの名無しさん:2011/02/11(金) 14:14:53
クラスの「継承」な
インヘリタンスじゃなくて?
683 :
デフォルトの名無しさん:2011/02/16(水) 11:55:25
超初心者さん、質問どうぞ
文字でも数値でもなんでも入る変数ってないのですか?
boost.any
みたいなものです
Object
ObjectにObjectの配列やリストを代入して入れ子にできますか?
はい
688 :
デフォルトの名無しさん:2011/02/18(金) 04:07:45
出来るんだけどわけわかんなくなりそう。
バグの温床になるかもしれない。
工夫すれば間違いづらく出来るとは思うが。
Objectに入れたところで結局型がわからないとなにもできないから余計に面倒なだけ
スクリプト言語ならともかく
いや、ポリモーフィズムってのがあってな……
配列とリストと単一のオブジェクトをどうやってObject型のままで
ポリモルフィズムで共通に扱うのか教えてくれ
たとえばCompositeパターンだって最低限の型があるから使えるんだよ?
equals と toString だけで満足するシチュエーションとかあるじゃん。
突っ込むだけ突っ込んで、表示させるだけとか。
馬鹿サーチしてインデックス取り出すだけとか。
グリーの携帯ゲーム、ドラゴンコレクションの自動ガッツツールの作り方教えてください
それではまずグリーの携帯ゲーム、ドラゴンコレクションの自動ガッツツールの仕様をお書き下さい。
↑のソースを丸写しして鯖にアップしたんですが動きませんでした
javaはからっきしなので、どうすれば自分で動かせますか?
右クリックのソースです…
え? それはHTMLのソースでしょ。
はい
それは Java と全く関係ない話では?
702 :
デフォルトの名無しさん:2011/02/19(土) 06:48:48
( ゚д゚ )
晒しあげ
え…これJavaプログラムで動いてるんじゃないんですかΣ(°д°lll)
704 :
デフォルトの名無しさん:2011/02/19(土) 11:06:54
705 :
デフォルトの名無しさん:2011/02/19(土) 11:10:29
すまん、爆笑してしまったwww
本日のときめいたレス
707 :
デフォルトの名無しさん:2011/02/20(日) 02:28:00.59
>>703 HTMLしか見えてなくてどこがどう Java なんだ? お前はどうしてそう判断したんだ?
野暮なこと聞くなよバーカ
709 :
デフォルトの名無しさん:2011/02/20(日) 12:29:02.76
何度やってもコンパイルできんわ。
class sample {
public static void main(String args[]) {
System.out.println("Java プログラム");
}
}
Z:\>javac sample
エラー:クラス名 'sample' が受け入れられるのは、注釈処理が明示的に要求された場合だけです
エラー 1 個
JAVAってホント難しいね、わけわかめ。
javac Sample.java
>>709 javac sample.java
じゃないかな
712 :
デフォルトの名無しさん:2011/02/21(月) 00:14:41.69
普通クラス名の先頭の文字は大文字にするけどな。
まあ、しなきゃいけないわけじゃないが。
あ〜それ、前々から気になってたんだ。
>普通クラス名の先頭の文字は大文字にする
これって、権威のある団体か何かが取り決めた決まりみたいなの、あるんですか?
714 :
デフォルトの名無しさん:2011/02/21(月) 03:18:01.02
>>713 Sunがやっていただけ。まあでもだいたいはそういう風に作るけどな。というのは名前見ただけで
これはクラスだとかこれは変数だとか分かるから。
>>714 SmallTalkの時代から普通だったと思うけど。
716 :
デフォルトの名無しさん:2011/02/22(火) 09:28:48.42
エラー:クラス名 'sample' をコンパイルするのか? だったらファイル名に '.java' を付けな!
エラー 1 個
のほうが初心者にはわかりやすい
それだったら自動的に付けてくれる方が初心者にはやさしい
それどころかファイルを保存したら自動的にコンパイルしてくれる方がいいよな
いっそのこと保存も自動的にしてくれてエディタで書いたそばからコンパイルしてくれると最高じゃね
eclipseを使えば保存でコンパイルするだろ
netbeansではどうだか知らないけど
あと、書いたそばから文法エラーとか指摘してくれるしね
javaのswitchもStringが使えるようになるといいな〜 C#みたいに
なる予定
721 :
デフォルトの名無しさん:2011/02/25(金) 05:02:47.60
equals() での比較をやるコードにしてくれれば良いんだよな。そうすりゃ String に限らず switch で何でもありになる。
整数型とかは勝手に最適化してジャンプテーブル使うみたいなコード吐いてくれれば良い。
723 :
デフォルトの名無しさん:2011/02/27(日) 17:28:39.38
昨日の夜からjavaを一から勉強し始めました。
100以内の7の倍数を表示するのに
class kaori{
public static void main(String args[]){
int a=1;
while(a<100){
if(a%7==0){
System.out.println(a);
++a;
}
}}}
だと思ったんですが、表示されません。
どこがおかしいですか?
724 :
723 :2011/02/27(日) 17:30:10.84
今見直したらわかりました。
if文の中でaを足してるのがいけなかったんですね。。
そうだな
あと、100以内だったらa<100じゃなくてa<=100とかa<101にしたほうがいいな
726 :
723 :2011/02/27(日) 18:00:19.77
100以内ってのは99以下ってことだからa<100だと思ったんですけど、
a<=100なんですか?
馬鹿ですいません;
以内なら100も含むだろ
おやつは300円以内って言われたときに300円分買うとアウトか?
728 :
デフォルトの名無しさん:2011/02/27(日) 19:24:36.59
なんとなく思うに、 for (int i = 1; i <= 100; i += 7) System.out.println(i); の方が速いような気がするんだ。
まあ、コンパイラが超最適化しちゃったら最終的なコードは同じかも知れんがね。
729 :
デフォルトの名無しさん:2011/02/27(日) 19:26:47.92
学校の宿題で % 演算を使った回答を求められている場合はまあ最初の答えの方が良いんだろうけどね。
javaって何?ってレベルからテトリス作れるようになるまでどのくらいかかる?
プログラマー回答頼むわ
731 :
デフォルトの名無しさん:2011/02/27(日) 20:10:53.69
>>730 さあ? 他の言語知っているかどうかでも大きく違うように思う。他の言語を知らない状態だと
「変数ってなに?」とか「a = a + 1 って変じゃない?」という知っていれば省略出来そうな
部分の解説が必要になるから。
732 :
730:2011/02/27(日) 20:39:58.57
>>731 レスありがとうございます
情報系の大学卒業してます。
初級シスアド、基本情報取得してますので基本的な部分は大丈夫かと・・・・
現在はjavaの基本的な文法を一通り学習しました。
オブジェクト指向ってなに?ってとこ勉強しています。
javaでテトリスを作っている動画見ましたがすごいの一言でした。
個人差はあるとは思いますが参考までにどのくらいかかるのでしょうか?
テトリス作るのは登竜門だと聞いたもので・・・
テトリスがわからんって学校で一体何やってたんだよ
Cくらいはわかるだろ? じゃあテトリスなんか今すぐ作れるはず
オブジェクト指向なんか要らん
734 :
デフォルトの名無しさん:2011/02/27(日) 20:52:07.33
>>733 確かにオブジェクト指向じゃなくても作れるが、お前も一度試しにオブジェクト指向で考えて作ってみたらどうか?
まあ、思考がオブジェクト指向にならないと余計にグチャグチャになる可能性はあるが・・・
テトリスのルールなんか決まりきってるんだからオブジェクト指向にする意味が薄い
block.goDown()とかどう考えても無駄だろ
オブジェクト指向にするなら、テトリスのロジックを一つのクラスにまとめるくらいでいい
グラフィックをテキストにすれば、すぐにでも取りかかれそうな気がする。
OO OOOみたいな感じ。
OO O
テトリス javascript でぐぐってみ
ゲームは物によってはオブジェクト指向にする意味があまりないのあるよね
そうじゃないほうがすっきりしたり
オブジェクトを分けるならステージ単位までだな
TetrisStageクラス作って、その中にC感覚でロジック全部ぶち込めばおk
学習のためならいいんだよ。
オブジェクト指向無視して簡単に作れるものであってもあえて
オブジェクト指向にして作るから学習になる。
テトリス作るのは登竜門って言葉初めて聞いた
初心者向けの課題としてよく使われるものの中でも
たとえばブロック崩しの方がテトリスよりオブジェクト指向しやすいと思う
15パズル?とかいいんじゃね
746 :
デフォルトの名無しさん:2011/02/28(月) 00:18:18.83
パズルものが良さそうだね。数独なんてのも良さそう。
それこそオブジェクト指向無意味だけどな
数独なら9つのセルをオブジェクトとしてグループにまとめて判定に使うとか考えられるけど
そういう作り方は初心者にはわかりにくいんじゃないかな
じゃあ Android Market に腐るほど溢れかえっているあの
○×ゲームはどうだ?
もう、何がなんでも無理矢理オブジェクト指向に!w
ちょっとつくってみよう
java の勉強って教科書要らないですか?
自分はHead Firstのぶっとい本で進めていこうと思ってるのですが、皆さんはどうやって勉強してますか?
また、javaをある程度使えるようになった人はどうしてました?
トライアンドエラー
752 :
デフォルトの名無しさん:2011/03/03(木) 22:17:38.11
Java使いの人にプログラムの勉強を聞いたら「例外処理との戦い」と言っていた
753 :
デフォルトの名無しさん:2011/03/03(木) 23:33:32.50
>>752 そりゃその人の思考がちょっとアレでプログラム作りが下手なんだろう。
上手なの?
eclips使ってみたけどさっぱりわからん
どうやらソースを編集するソフトではないようだ
そーっすか
eclipsは格闘技です
758 :
デフォルトの名無しさん:2011/03/04(金) 20:46:20.02
本業なら、Eclipseで開発する案件もよくあるよ
ええclipす
760 :
JAVA:2011/03/05(土) 23:57:30.29
最近JAVAを勉強し始めた者です。
超初心者な事聞きますが
int a = 1;
int b = 2;
a += b;
の、+=ってどういう意味ですか?
教科書載ってなくて;;
見間違いかなぁ
「java 演算子」で検索して出てこない?
そこまでヒント出すなら、複合演算子まで出してやろうぜ。
多くの言語で a += b; は a = a + b; と同じ…
なんだが、型が厳しい言語だとキャストの問題とかあるから、やっぱり自分で調べた方が良い。
763 :
JAVA:2011/03/06(日) 00:10:15.92
>>761>>762 調べます・・・・
どれくらいやり込めばJAVA扱えるようになるんだろうか・・・orz
764 :
デフォルトの名無しさん:2011/03/06(日) 01:00:03.61
C言語で言うところのscanfのやり方がわからなくて困ってる
調べてみてもwindow.prompt?とかいう入力ダイアログ表示させるのしか見つかんない
バイナリならDataInputStream
テキストならBufferedReaderとPattern(正規表現)を使えばいい。
window.promptってひょっとしてJavaScriptじゃね?
767 :
デフォルトの名無しさん:2011/03/06(日) 13:36:01.98
android用のアプリを作りたいです
まず普通のjavaを覚えるべきかandroid用のjavaを覚えるべきかどっちがいいですか?
普通のJava
プログラミング未経験ならandroidとの差異が出てくるところまで行くだけでも
相当遠い道のりだから心配要らない
769 :
デフォルトの名無しさん:2011/03/06(日) 13:42:29.24
まじすか
普通のjavaから初めた場合一日1時間(もしくは1日1個の項目を覚える)の勉強で何日後にandroidアプリの勉強に入る目安ってありますか?
>>767 linuxとかandoroidの知識があり、java言語で組めば
たいていandoroid搭載携帯端末で動くアプリができる
1日ひと項目じゃおわらん
命令型言語の経験があればいくつかの概念を学ぶ時間が短縮できるし
クラスベースのOOPLの経験があればやはり時間短縮になるし
C言語系文法を持つ言語の経験があればそれも時間短縮になる
どれもなかったとしたら、焦らずに足場を固める時間を取るべき
急ぐ理由があるならHTML+JavaScriptの方がいいよ
774 :
デフォルトの名無しさん:2011/03/06(日) 16:22:23.55
一応知識はPHPのオブジェクト指向までは理解してます
でもjavaってあれじゃないですか素人お断りみたいなところあるじゃないです
前、某大手企業のレンタルサーバの専用サーバ借りるときにそこの会社の説明会にいったんですよ
将来的にレンタルサーバでjavaも利用できますか?って聞いたらスキルは?って聞かれたのでPHPしかできませんって答えたら担当者が一瞬口からフイテ「javaは初心者さんに
は向いてないんですよ。基本的に10代の頃にプログラミングしてた方が使う専門言語なんです。コードのメンテナンス業者と契約がなんたらかんたら」って言われました
んで僕は自己紹介遅れましたが零細ブラック企業の新人社員です。
その担当者が頭おかしいだけ
言語自体はPHPと比べてそんなに難しいことはない
周辺技術が複雑怪奇なのは確かだが、それは十代のころにプログラミングしてて
プログラミングセンスがあるからどうのという問題ではない
java屋はお高くとまってるからなぁ
10代の頃にプログラミングしてた方が使う専用言語とか
どうしてもプログラミングが理解できないって人はいるみたいだが
PHP理解してる時点でそれはないだろうから気にせずやればいい。
理解が詰まったら別の言語やってみるのも面白いよ
「毎年、新しい言語を一つは学ぶこと」って言葉もあるしね
むしろネットワークプログラミングでは初心者向きな言語じゃないか?
Masterminds of ProgrammingでもGoslingはネットワークを意識して作ったって語ってるし
779 :
デフォルトの名無しさん:2011/03/06(日) 23:01:57.81
「毎年、新しい言語を一つは学ぶこと」って言葉もあるしね
kwsk
でも、Javaって言語仕様じゃ無くてフレームワークの解説とか、そう言う周りの技術があまり
10代が読むような本じゃない気がしないでも無い
10代でチーム開発で使うようなテクニックとかそう言うのを体感できる人って、あまりいないだろう…
>>779 言語が異なると同じ問題でも違った方法で解決方法が採用される。
異なるアプローチを学習することで幅広い思考ができるようになる。
とかなんとか。
まぁ、言語じゃなくても新しいことしてみるのは楽しいもんだ
>>780 割と有名なFLOSSのコミッターに10代の少年が名を連ねていたりする時代だからそうとは言い切れない
>>779 たしか達人プログラマーって本に書いてあった
特に、Lispとかパラダイムが違う言語を学ぶといいっての
Seven Languages in Seven Weeksを読むのオススメ>>異なる考え方に触れる
785 :
デフォルトの名無しさん:2011/03/08(火) 00:33:06.72
>>774 いきなりレンタルサーバ借りてやろうとしないで、レンタルサーバと同じOSを入れたPCかVMwareの
仮想マシンで同じ環境作って練習したら? Linux だったら金掛けずにできる。
>>774 月額980円のVPSサービスでJavaは動く。
787 :
デフォルトの名無しさん:2011/03/08(火) 13:01:44.53
超初心者です。eclipseでプログラムを書いてデバックしようとすると"Selecion does not contain a main type"と
と警告されます。なぜでしょうか?わかる方教えてください
788 :
デフォルトの名無しさん:2011/03/08(火) 13:08:25.38
>>787 そのメッセージのとおり、main関数が無いって事じゃないの
789 :
デフォルトの名無しさん:2011/03/08(火) 14:50:56.84
すいませんtomcatのjavaはjspって言うらしいですよね
GAEでjavaでホームページを作ることは出来ますか?
790 :
デフォルトの名無しさん:2011/03/09(水) 00:07:40.17
>>788 main関数はあります hello worldのコードでさえそのメッセージが出てしまいます
791 :
デフォルトの名無しさん:2011/03/09(水) 11:26:52.08
javaってマクロ代わりに使われることってありますか?
たとえばコマンドラインから呼び出して名前を入力すると指定したディレクトリ以下に入力した名前のディレクトリを作成して指定したファイルをそこにコピーするという処理です
要するにコンソールアプリケーションってこと?
作れるよ
それはマクロなのか?
そういう使い方自体はできるけど
794 :
デフォルトの名無しさん:2011/03/09(水) 11:42:40.72
そうでしたか
なかなかjavaをそういうふうに作ってるブログを見つけられなかったのでjavaでやらないのかなと思いました
javaでやりたいのはwindowsとlinuxで両方同じコードで動くからです
OSごとにコード書きかえるのって面倒ですから
795 :
デフォルトの名無しさん:2011/03/09(水) 11:50:02.52
至急!JavaでDLLって作れますか?
作れない
了解!
ぬるぽ!
799 :
デフォルトの名無しさん:2011/03/09(水) 14:15:34.54
>>798の存在がヌルいんだ。はやくきえて。
それはそうと、JavaDBのjavadb_10_5_3_0、日本語化とか
アクセスやSQLサーバーのテーブル等を、JavaのArrayList等に変換して
取り込めるようなものはないでしょうか。
>>794 ファイル周りというか、ディレクトリ周りとか、OSによって扱いが違うような所はそれ用のコードを分離しないと
中々厳しい。その部分をWindows側で面倒見ようって発想がcygwinなんだよな…
801 :
デフォルトの名無しさん:2011/03/09(水) 22:34:16.36
>>794 Windows 側で Cygwin 使っちゃえよ。そうすれば同じ bash も動くし perl も動くし。要するに環境そっくりだから。
GUI使うアプリに Java 使っておけば良いんじゃないの。
802 :
デフォルトの名無しさん:2011/03/09(水) 22:36:14.07
803 :
デフォルトの名無しさん:2011/03/12(土) 20:26:41.27
804 :
デフォルトの名無しさん:2011/03/15(火) 18:40:20.35
え?
アンドロイドアプリってむずかしいですか?
swingのコンポーネント?(JButtonとかJLabel)の表示の順番を表すフィールドや順番を変更するメソッドというのはあるのでしょうか?
具体的には、位置を微妙に右下にシフトしてにボタンを配置した場合、
右下のボタンが一番手前に表示されて、左上のボタンは表示が他のボタンに重なってすべてを表示することができなくなります。
それを、別の位置に配置したボタンを使って、それがクリックされた場合に左上のボタンの表示がすべて出るようにしたいんです。
807 :
デフォルトの名無しさん:2011/03/16(水) 04:12:34.65
>>805 俺にとっては簡単だがあなたにとって簡単なのかどうかは分からない。
なので、とにかくやってみろ。開発環境のソフトは無料で入手可能なんだし。
>>806 JLayeredPaneというのがあるよ
>>806 Container#setComponentZOrderでいいんじゃねーかな
世の中は、.NET志向なのか、それともJava志向なのか?
現行ではJavaが圧倒的に多いのは事実なんだろうけど、先を考えたり、これから新規となると
どちらが有効なんだろう?
職安に行って求人の多さで決めればいいやん
>>810 .NETは2002年に1.0が登場したが、8年経過してもJavaを置き換える気配は無い。
Javaが.NETを駆逐する気配も無い。
つまり両方できれば良い。
Linux/MacOS/その他UNIXでも動く事を考えればJava
.NETはwinモバぐらいだもんな
816 :
806:2011/03/16(水) 23:30:50.97
なんかいい参考書ありますか
818 :
デフォルトの名無しさん:2011/03/20(日) 14:26:45.15
誰かAfterEffectsのスクリプト書ける人いませんか?
教えて欲しいことがあるのですが。。
819 :
818:2011/03/20(日) 19:34:06.36
だれか居ませんかー><
スレタイ
821 :
デフォルトの名無しさん:2011/03/20(日) 19:57:49.96
いますよー!
822 :
デフォルトの名無しさん:2011/03/20(日) 19:59:49.15
おれもいるぜ!
よし!これだけそろえば原発を救いに行こう!
水をジャバジャバ掛けようぜ!
825 :
818:2011/03/20(日) 20:29:46.77
>>821 >>822 コンポ@
|ーコンポAーレイヤー
..| ーレイヤー
ーレイヤー ーコンポB
コンポの中に更にコンポがあった場合、
その下のコンポも検索して、その中のレイヤーに対して処理する
みたいな処理ってどうすれば良いですか?
httpsとクッキーがあるwebページに対して、
urlとpostとgetを指定しただけでwebのhtmlデータをとってきてくれる。
そんな便利なクラス無いですかね。
ググったらなんか開発が止まってるようなんですけど。
やりたいことは、ログインが必要なwebサイトのフロントエンドです。
827 :
デフォルトの名無しさん:2011/03/21(月) 22:13:42.04
>>826 まずクッキーについて調べたらいいんじゃないかな。
httpsは普通にURLで指定可能だったと思った。
で、URLConnection クラス使ってヘッダにクッキーセットして
OutputStream引っ張り出して書けばいいんじゃないだろうか。
830 :
デフォルトの名無しさん:2011/03/26(土) 02:49:12.49
831 :
829:2011/03/26(土) 02:50:02.11
ごめん、自己解決した
やっと発見したわ
832 :
829:2011/03/26(土) 02:50:31.08
酷い質問者だな
if(条件式){
変数=メソッド0();
}else{
変数=メソッド1();
}
変数.メソッド();
ってやった時に、変数が初期化されて無い云々言われるんですが
これはどうすれば回避できるんでしょうか
ifの上でnullでも突っ込んどけばいい。
>>835 それだと変数にnullがずーっと入ったままになるんで意味無いですよね
ってかぬるぽになりますよね
なりません
fScale = (float)_nHeightDisp / nHeight;
この変数への代入式の(float)ってどういう意味なんですか?
fScale = nHeightDisp / nHeight; との違いがわからない・・・
_nHeightDisp を float にキャストするということ
整数 / 整数 = 小数点以下が切り捨てられた整数
という決まりなので、整数 / 整数 の結果の少数点以下を切り捨てたくない場合は
どっちかをfloatかdoubleにキャストする必要がある
ああこれってキャストだったんですか
即答レスありがとうございました!!
843 :
デフォルトの名無しさん:2011/03/28(月) 11:05:17.33
javaを基礎から学びたいのですが先輩方が太鼓判を押す入門サイトを教えていただけませんか?
PHPとJavaScriptの知識はあるのでifやswitchなどのプログラミングの基本文法は理解している程度です
@override や @test のようなものを総称してなんと言いますか?
それから@hoge みたいに自分で定義できる類いのものなんでしょうか?
アノテーション
はい
Javaって
function(int arg);
みたいに関数名とカッコの間に空白を入れませんよね。
気持ち悪くないですか?
Javaでなくてもほとんどの言語ではそこに空白は入れないのが普通だと思うけど
いや普通ではないよ?
空白を入れても問題ないから好きにするといいよ
別の言語から他言語を始めるときの違和感はJavaに限らずつきものだろうに
>>845 どもです
コンパイラの挙動変更や開発ツールで使う情報を書いておくのに使うようですね
>>848 関数はスペース入れないのが普通だと思う。
ifとかwhileは、入れたり入れなかったり流儀があるけど。
関数呼び出しの括弧を省略できる言語もあるんだぜ
>>852 そういえばifやwhileは空白入れる入れないどっちが普通なの?
普通のかんすと違うから自分はif ()と空白入れて書いてたけど
>>855 Oracle公式のは入れる
関数は入れない
857 :
デフォルトの名無しさん:2011/03/30(水) 00:24:19.55
まあ細けぇ(AA略)問題だけど、俺も関数の直後の括弧はスペース開けない。if や while は入れる。
858 :
デフォルトの名無しさん:2011/03/30(水) 02:21:56.18
今日からEclipseってやつでJavaの勉強を始めた超初心者です
教則本の通りにEclipse3.3.2ってやつをインストールし、ソースコード書いて実行しようとするのですが、
External tools>Run asのところがnone applicableとなります
教則本ではJava applicationっていうのがあるはずなのですが…何が足りないのでしょうか?
Windows7です
Eclipseってやつをダウソロードってやつをしたところで聞いてこい
はい次の人
>>858 External tools をいじる教則本ってずいぶん変わっているなぁ。
できれば、その教則本ってなにか教えてください。
CとJavaってどちらを先に覚えたほうがいいですか?
真剣な気持ちで本格的に取り組むならCから
軽い気持ちでさくっとやってみるならJavaから
>>861 文法的にはCの方がシンプルかな?
個人的にはCでポインタの魔術師になるまえにJavaに移行したほうがいいと思うけど。
Javaから入ったほうがCでも変なコード書かなくなって良いと思う
C vs Java
文法似てるけど比較は難しいなあ。用途も違うし。
867 :
デフォルトの名無しさん:2011/03/30(水) 13:15:43.03
javaでチェスのゲームを作ってみようと始めたのですが
チェクメイト(詰み)の判定が今ある全ての駒の全ての動きに対して
チェック(王手)を逃れることができるかのかを判定すると
持ち時間があるゲームとしては成り立たない程の処理時間がかかります
チェスは将棋と違ってルールでチェックの放置はダメなので
ここの部分を作らないわけにもいかずに困っています
アドバイスをください
>>867 githubにソースコード公開できるのであれば小まめにアドバイスできる
869 :
867:2011/03/30(水) 13:59:23.64
>>867 ありがとうございます
ソースの公開はまったく問題ないです
チェックメイト以外は概ねできています
ですがチェックメイトの判定部分がまったく無い状態なんです
全ての駒の動きをチェックする以外のアルゴリズムが思いつきませんが
そんな状態でアドバイスもらえるのでしょうか
重すぎてダメなコードをつけて質問をした方がいいでしょうか
githubでソース公開する方法を調べてアップしてみます
そこまでできたら 改めて質問させてもらいます
ありがとうございます
HexダンプのString文字列をバイト配列(byte[])に変換したいのですが、簡単なライブラリないでしょうか?
なければ、コードを教えていただけたら幸いです。
byte[] bytes = new byte[str.length() / 2];
for (int i = 0; i < bytes.length; i++)
bytes[i] = (byte)Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
合ってるどうかは知らん
872 :
デフォルトの名無しさん:2011/03/30(水) 22:42:07.56
>>850 すみません
どこをどう説明したらいいのかわからないのですが、
External toolsをクリックするように書かれていたのはどうやら誤植のようでした
その本に載っている写真を見るとしっかりとその横のRun Testの方をクリックしてました
Run Testの方だったらJava applicationがあるので、実行できました
873 :
デフォルトの名無しさん:2011/03/31(木) 00:31:29.29
874 :
デフォルトの名無しさん:2011/03/31(木) 00:38:23.91
おすすめの入門サイト教えてください
876 :
デフォルトの名無しさん:2011/03/31(木) 11:14:24.06
ありがとうございます!!
ECLIPSEは使わないでテキストエディタのほうがいいですか?
IDEが好きな人もいればエディタを好きな人もいる
気に入ったほうでやればいい
先生、了解!!!秀丸エディタでやってみます!!!
とりあえず秀丸からコンパイルするマクロを作るところから始めます!!!!!
!が2個足りないぞっ
881 :
デフォルトの名無しさん:2011/03/31(木) 20:36:11.37
お前ら少しは世間のためになることしろよ
自分の周りで自分のことしか考えない奴らが減ってくれれば
世間のためのことをやってもいいと思う
883 :
デフォルトの名無しさん:2011/03/31(木) 23:16:39.11
世界の Java
質問させて下さい
Swingを使ってフレームを作る所までできました
おみくじのようにボタンを押すとランダムに文字が表示されるようにしたいのですが
検索してもコマンドプロンプトで表示させる方法しか出てきません
Swingを使用してフレームに表示させることはできないのでしょうか?
また、できた場合についても質問があります
ボタンを1度押して複数項目の答えをそれぞれランダムに表示させたいです
1項目目を1〜3、2項目目をア〜コ、3項目目をa〜zと仮定します
ボタンを押して1が出た場合、ア〜エ、a〜cまでの範囲でランダムに1つずつ表示
2が出た場合、ウ〜ク、f〜zまでの範囲でランダムに1つずつ表示
3が出た場合は全ての範囲から表示
このようなことは可能でしょうか?
できる、できないだけで構いませんのでお答えお願いします
クイズゲー的な物でも作ってるのか?
できる
phpじゃなくてjavaでホームページを作るならいといけないケースはどういう場合ですか?
>>885 RPGにある通り名のような○○の△△という感じのものを作りたかったのです
もう一度よく調べて作りたいと思います
お答え下さりありがとうございました
>>884 そこまで調べられて、何故文字列をJLabelとかで表示しようと思わないのかと小一時間(ry
889 :
デフォルトの名無しさん:2011/04/03(日) 22:02:54.93
>>886 PHPはサーバ側だけで動いて最終的にHTMLにしてクライアント側のブラウザに渡す。要するにCGIの一種だ。
Javaは両方あって、クライアント側にバイトコードを返してクライアント側で動く Applet と、サーバ側で
動く Servlet がある。Servlet は PHP と似ていて仕組みは CGI だ。
で、こうでなければいけないというものはない。個人で作るなら自分の作り易いもので作れば良いだろう。
ただ、 Applet の場合はクライアント側でしか動かないので例えばサーバに何らかのデータを保存したい
場合は別途 CGI を作ってそれにデータを渡す方式になる。(ゲームでハイスコアを記録したい場合など)。
通信して対戦するゲームの場合はサーバがそれぞれのクライアントの状態をまとめてクライアントにデータを
配信する必要があるので PHP や Servlet を使うと作るのが楽だろう。で、クライアント側の画面を
凝ったものにしたいなら更に Applet も使うとかね(Flash でも良いが)。
890 :
884:2011/04/04(月) 00:13:37.30
>>888 すみません、JLabelは文字位置やフォントを指定するものだと思っていたのですが
複数ある単語からランダムに選ぶってことも可能なんですか?
JLabel、ランダム、文章、文字等検索してみましたが、数字をランダムに並べるものばかりが該当してしまい
漢字を含む文字をランダム表示するものは見つかりませんでした
Javaを始めて3日なのですが、その程度では作れないのでしたら今回は諦めます
コマンドプロンプトにランダムな文字列を表示する方法がわかって、
JLabelに何らかの文字列を表示する方法がわかるのに、
その2つを組み合わせてJLabelにランダムな文字列を表示する方法がわからないのなら、
この先プログラミングをやっていくのは苦しいぞ
>>890 いや、3日どころか、swing覚える所まで来たなら、すぐ作れる
発想の転換と言うか、普通に考えてくれ
ラベルは単純に文字を表示するものだ
(コンソールアプリで言う所のprintlnだ)
表示させる前に、ランダムに組み合わせた文章を完成させて、JLabelに表示させれば良いだけだ
893 :
884:2011/04/04(月) 00:59:51.14
>>891 その2つは組み合わせて使っていいのですね
今まで別物だと考えてました
それからプログラミングは単にそのアプリを自分が欲しいので挑戦しているだけです
誤解させたようで申し訳ないです
>>892 今まで纏めて考えてましたが、順序立てれば凄くシンプルだったんですね
お二方のお陰で組み立て方が理解出来ました
ありがとうございます、もう少し頑張ってみます
ちょっと聞いていい?
以下のコードでnotifyAllされたらどうなるのって質問
void A()
synchronized(Lock){
if(List.size() == 0){
try{ Lock.wait(); }(Exception e){}
}
//以下処理続く
}
}
このコードで複数のスレッドが待ち状態だったらnotifyAllとき再度Lockを取りに行ってくれるの?
もし、そうだったとしたら。
結局はnotifyで1つのスレッドのみ動かすってのと同じことになるの?
それとも再起処理的に以下のようにしなきゃだめ?
void A()
synchronized(Lock){
if(List.size() == 0){
try{ Lock.wait(); }(Exception e){}
A(); ←ここでさらに再帰的に同じメソッドを呼び出す
}
//以下処理続く
}
}
おしえてエロイひと。。。
Javaを勉強初めて1週間ぐらいの初心者です(C++は経験あり)
最近サーブレットの勉強を始めたのですが、jsp側で自作クラスを扱うときに
操作できるクラスは1つのjavaファイルで1つのpublicクラスだけなのでしょうか?
以下のようなDBデータの各テーブルを参照クラスを作成したのですが、
UserTableのインスタンスをjsp側で作成することができませんでした。
public class DbUtil {
public static UserTable GetUserTable(int id) {
//データベースから指定IDの行データ取得
}
:
:
}
class UserTable {
String strUserName;
String strMail;
:
}
はい
publicクラス1つごとにjavaファイルを1つ作ってください
あ、前者の解釈が 正しいよ
finally節入れれば
JavaでXMLをパースするのには
SAXならSAXParser
DOMならDocumentBuilder
を使うのでしょうか?
900 :
デフォルトの名無しさん:2011/04/06(水) 02:05:03.08
かなあ。まあ、自分で作ってもいいんだよ。面倒だろうけど。w
どうもです
あまりにクラスの命名ルールがバラバラなので確認したくなってしまったのでした。
ありがとうございました。
DocumentBuilderはSAXParserを使ってDOMを作るから
名前は全然違ってて当然だよ
命名センスは確かにどうかと思うけど
java2日目ですが既につまずいています。
体重を入力させた後に
その入力した数値を次の式に返してやりたいのですが、どのようにすればいいでしょうか?
次の式まだ?
>>903だけだとよくわからないな
キーボードから入力した文字列を数値に変換する方法がわからないってこと?
int weight = 55;
System.out.println(weight+"kgです。");
double weight = Double.parseDouble(str);
乗算の結果を表示する方法についてお尋ねします。
(1)キーボードから0-9までを入力する。
(2)数値以外が入力されたら「入力ミスです」を表示して終了。
(3)入力数値が(1)の範囲内にあれば、入力された数値*0-9で乗算し、その結果を5個×2行で表示。
(4)入力数値が(1)の範囲外であれば「入力ミスです」を表示し手終了。
(1)、(2)の箇所はなんとなく分かるのですが、全体の流れを組み立てたれません。
特にキーボードからの入力を自動で返して乗算結果を出してやるにはどうしたらいいでしょうか?
よろしくお願いします。
(1)と(2)がわかるならあとはループで結果を出力するだけじゃね
>>908 多分、文字を数値に変換する方法で悩んでるのかな?
String型のメソッドに、toIntとか有ったはずだよ
そこさえ乗り切れば、
>>909の言う通り
x 文字
o 文字列
int num = Integer.parseInt(str);
バッファーインリードとインテグァーパース
Javaの標準のライブラリには obpro というパッケージは存在しませんので、
あなたはまずそのライブラリを手に入れる必要があります
>>915 ありがとうございます。
無事に手に入れることが出来ました
917 :
デフォルトの名無しさん:2011/04/26(火) 08:17:54.90
APIの表示が糞重いんだけど
新人共が殺到しているからか?
変数aに整数が入って、変数aが60以上なら変数ansにOKを代入してaが60未満ならansにNOを代入してansの内容を表示するプログラムを作ってくれたのむ
>>919 public class A {
public static void main (String[] args) {
int a = 99;
String ans;
if (a >= 60) ans = "OK";
else ans = "NO";
System.out.println(ans);
}
}
921 :
デフォルトの名無しさん:2011/04/27(水) 00:31:03.02
まるで宿題のような質問w
宿題でもこんなレベルのは出ないんじゃないか
9マスパズルを自動で解いて、正解の移動順序をアウトプットするようなジェネレータ?って作れますか?
925 :
デフォルトの名無しさん:2011/04/27(水) 01:40:02.02
>>923 作れると思うよ。作るとしたら再帰で書いた方が簡単だろうな。
基礎的なことになるかと思うのですが、複数ファイルにimportされたファイルはコンパイル時全て含まれるのでしょうか?
例えば、A extends Bという2つのクラスで同じパッケージをimportした場合などです
いいえ
クラスはすべて別々の .class ファイルになり、 import しようが何しようが他の .class ファイルに取り込まれることはありません
変数aには正の整数が入って90以上100以下ならA、70以上89以下ならB、50以上69以下ならC、
30以上49以下ならD、29以下ならE、を
変数ansに代入して表示するプログラムを作ってくれ
その程度の宿題は自分でやれよ
930 :
デフォルトの名無しさん:2011/04/28(木) 00:55:38.96
>>928 >>920をよーく見て改造しろ。
改造のキモはこの部分だ。
> if (a >= 60) ans = "OK";
> else ans = "NO";
例えば a が 90 以上 100 以下というのは if (a >= 90 && a <= 100) みたいに書く。
更に else の直後に if 文を書いてどんどん繋げる。
後は入門書見れば分かると思う。
入門書買ってみたけど
結局これで何ができるの?
計算をしたりじゃんけんゲームの応用で私達が毎日お世話になっているソフトウェアが出来ているわけなんだろうけど、いまいちモチベーションがわかない
モチベーションが湧かないものをわざわざ勉強しようと思ったのは何故?
Javaでもモチベーションがない人にモチベーションを沸かせる機能はないよ
てきとーにソース漁ってると
a(function b(){
・・・
});
みたいな書き方で動いてるのがあったんだが、
関数aを実行するタイミングで関数bを作るメリットってなんなの?
あ、忘れてたここで書いちまえ的なノリ?
それはJavaじゃなくてJavascript
その関数をその場所でしか使わないんなら、むしろわざわざ分けて書く必要がない
Javaには無名インナークラスがあるけど、忘れてたからここで書いちまえなノリでは使わないよ
>>931 こういう入門書を読んだけど、これでなにができるの? 系の
ことを言ってるやつってよく見るけど、このネット時代になんで
こうなるのか分からない。
>>931 プログラミングなんてつまらんからやめたほうがいいよ
作りたいものがないのにプログラミングのお勉強は辛いね。
940 :
デフォルトの名無しさん:2011/04/29(金) 10:18:28.05
>>931 > 結局これで何ができるの?
金儲け。
とりあえず Android 用ソフトでも作って Android Market で売ってみれば?
金儲けはムリ。
942 :
デフォルトの名無しさん:2011/04/29(金) 10:20:49.54
世界征服
プログラミングやそのための勉強をしている間に普通に働いたほうがよっぽど金入る
プログラミングそのものを趣味か仕事にできないならやめた方がいい
944 :
デフォルトの名無しさん:2011/04/29(金) 15:32:21.94
老人のボケ防止にもなるかなあ。
今作ってるプログラムの中でn個の要素からr個を取る順列を生成して配列に入れる処理が必要になったんだが、レベルが高すぎて自力じゃ無理だった
ググれば「全ての順列」とか「1からn個まで」とかいうのは出てくるが、よく理解できなくて応用できん
擬似コードとかを書いて教えてほしい
要素数-1の範囲内でランダムに削除しながら取り出すだけのような…
947 :
デフォルトの名無しさん:2011/04/29(金) 19:13:20.07
どういうことだかよく分からないが、抜き出したら抜き出した側の要素に null 突っ込んでおいて、
次回抜き出す時に null のやつは対象外にする、ということを繰り返せば良いのでは?
(もちろんこれクラスのインスタンスの配列での話ね。int とかの型でやりたい場合は別の方法
使うか Integer クラス使ってやる)。
いったんArrayListにでも全部突っ込んで削除していけばいい
>>947の方法だとnが大きくてrとnの差が小さいときに超非効率
949 :
デフォルトの名無しさん:2011/04/30(土) 00:58:26.48
ああ。そっちの方がいいな。
950 :
デフォルトの名無しさん:2011/04/30(土) 21:10:32.24
OS別にデータ保存フォルダまでのパスを読み取ることができるメソッドってありますか?
>>950 System.getProperty("user.home") はどうでしょうか
Java3日目で、lucene+PDFboxで日本語の全文検索できるようになった。
Rubyと雰囲気が似ているといえば似ている。
954 :
デフォルトの名無しさん:2011/05/03(火) 01:29:28.26
素晴らしい。
ブラボー!
Ruby()
演算子と数字を一旦文字列として格納しておき、後で計算に使うことはできますか?
型などは無視して例を書くとこういうイメージのことがしたいです。
str="/3";
num=1+2+str;
加減乗除が場合によって違うので、それも変数で管理したいと思いました。
簡単には無理。他の方法を探したほうが早い。
どうしても必要ならinterpreterパターンみたいな感じにするか
JavaScriptなどのスクリプトを呼び出してしまうとか
一箇所演算子変えるだけだったらどうとでもできるよ
その例ならswitch(str.charAt(0))で十分でしょ
一般的にやるのは難しい
960 :
957:2011/05/04(水) 00:03:58.63
即レスありがとうございます!
素直に場合分けすることにします。
Windows7 64bitにJDK1.6をインストールしました
一応簡単なプログラムはコンパイルできたのですが
MathクラスやIntergerクラスを使うと「シンボルが見つかりません」とエラーになります
例文を丸々コピペしてもダメです。インストールの手順が間違っていたのでしょうか?
962 :
デフォルトの名無しさん:2011/05/07(土) 22:43:18.85
まさか Integer じゃなくて linteger なんて間違えてないだろうな?
963 :
デフォルトの名無しさん:2011/05/07(土) 22:44:47.27
じゃない lnteger と間違えな。フォントによっては画面上全然違いがわからないからな。
>>963 class Sample{
public static void main(String args[]){
double hankei = 4;
double menseki;
menseki = Math.PI * hankei * hankei;
System.out.println(menseki);
}
}
こんな感じのコードをコンパイルすると6行目でエラーになってしまいます。
記述ミスでしょうか?
965 :
デフォルトの名無しさん:2011/05/08(日) 02:19:38.36
966 :
デフォルトの名無しさん:2011/05/08(日) 14:50:44.62
>>964 それ、まさか println じゃなくて printIn になってたりしないだろうな?
967 :
デフォルトの名無しさん:2011/05/08(日) 14:51:48.51
大文字のアイなのか小文字のエルなのかの違いだが。
print1nかもしれない
PIのIがIだからprintlnになってるだろ
mensekiはdoubleだろ?printlnに入れるならStringにキャストしなくていいの?
俺かじったくらいだから良く解らんが
>>970 それはさすがに
java.io.PrintWriter#print(double)のマニュアルを読まずに言ってるな
>>964 Math.PI を java.lang.Math.PI に書き換えてみて?
これでコンパイルが通るなら、
Sample.javaのあるディレクトリにMath.classやInteger.classがないか調べてみる。
それか環境変数に変なCLASSPATHがないか調べてみる。
973 :
961:2011/05/08(日) 22:37:51.04
ご指摘いただいた通り、Sample.javaのあるディレクトリにMath.classを作っていて
それを削除することで普通にコンパイルができるようになりました
お助けいただきありがとうございます!
クラス, 抽象クラスやインターフェイスなどの継承や実装について文法や考え方
はわかったつもりなんだけど。
このあたりを自分で設計できるようになるためのお勧め書籍とかありませんか?
ddd
ありがとう
なんか難しそうな本みたいだから、まずDomain Driven Design Quickly 日本語版を読んでみる
Javaで一番軽いIDEは何ですか?
最低折り畳みさえできれば何でもよいのですが
折りたたみしか望まないなら、テキストエディタとコマンドライン+javacでよくね?
実行はボタン1発のはやはりいります
CPadに折り畳みがあれば理想的なんですが
そういうのないですかねぇ
notepad++は?
軽くていいですね
アプリケーション開発の対応は…探してみます
「わかりやすいJava入門編」 「やさしいJava」 「明解Java入門編」の
だれでもできるようになる三大わかりやすいJava初心者本を読み終わったが全く覚えれれない・・・
俺はプログラミングには全く向いてないからいますぐやめる(引退?)した方がいいのかな?
超頭が悪くてすみませんorz
100回読めばマスターできるか?
やめろ
読むだけで理解できる初心者はそんなにいない
実際にプログラムを書いていってなんとなくわかったような気になるもの
985 :
デフォルトの名無しさん:2011/05/19(木) 21:11:56.08
そうそう。目の前のPCでサンプルプログラム入れて動かしたり
改造して動かして動作確認するとかすると良い。
>>982 んじゃ、宿題出そう
ジャンケンゲームをcuiで作ってみんしゃい
出来上がったらguiに朝鮮じゃ
初心者本でも初めの章からたいした解説もなしでいきなりキャストとかでてくるけど
あれって初心者じゃ意味不明じゃね?
俺は初心者はJavaじゃなくてCからはじめるべきだと思う。
CはJavaに比べれば楽だしCが分かればJavaもすぐマスターできると思うんだ
キャストすらわからん初心者にCから初める事を奨めるというのも
プログラミングなんてほとんど挫折者の集まりだろ
100人が一斉に始めて最終的に10人残ってればいいほう
作りたいものがあってプログラミング始める奴は確実に挫折する
プログラミングはプログラミングしたいからするか仕事だからするもんだ
さすがにそれはない
>>987 キャストの前に型の説明も、簡単なキャストの説明も大抵の入門書に書いてるだろ。。。
キャストの説明っても
int (int) ○
みたいな感じで特に説明されてないけどな。
わかりやすいjavaだっけ?
あれってアマゾンですこぶる評価高いけど初心者には難しすぎない?
高橋氏のやさしいシリーズに比べると挫折しやすいと俺は思ふ