2012年07月プログラム34: ★★Java質問・相談スレッド157★★ (842)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
サウンドプログラミング5 (666)
Borlandにはやられた... (364)
いもうとデスクトップを実際に作ってみないか?3 (849)
【コメント】doxygen【コンソメ】 (498)
MFC、Win32++を超えるライブラリを作るスレ (945)
sizeof(char)が必ず1でも、省略すべきではない (585)
★★Java質問・相談スレッド157★★
1 :2012/09/12 〜 最終レス :2012/11/08 プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 http://pc11.2ch.net/hp/ Webプログラミング http://pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 (p)ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド156★★ http://toro.2ch.net/test/read.cgi/tech/1344350210/
2 : RR
3 : http://toro.2ch.net/test/read.cgi/tech/1344350210/883 Spring FrameworkもなんでもRuntimeException
4 : Javaにしかないチェック例外さんは 他の言語設計者だけでなくJavaフレームワーク設計者からもハブられるのか
5 : おはようございます。教えてください>< System.out.println("大正" + meiji+("年")+y_tuki+("月")+z_hi+("日")); と表示させたときに、1990年13月35日と 12月以上、31日以上でエラー出すにはif文でいんですか?
6 : はい
7 : 自力でif文でチェックしても良いし、 Calendar#setLetient(boolean)で厳密モードにしてエラーになるか見ても良い。 後者の場合、Calendar#set() しただけの段階ではエラーにならず、 Calendar#get() とかで日付計算させる事で初めてエラーになるので注意ね。
8 : >>6-7 ありがとうございます。やってみます
9 : >>4 ジャバはもうオワコンですからね。 その一旦を垣間見たんでしょう。
10 : >>9 いやん
11 : すいません 昨日、i列の高さがheight[i]となるとき、対応する列を変えずに高さで並び変えたいといったものです。 ソースまでつくっていただき、使おうと思ったのですがその部分をクラスとして使おうとすると利用してるクラスの修正がとても必要になり、断念しました。 クラス化しないで解決する方法はないでししょうか。 問題点 ・i列目の高さをheight[i]としている ・高さでソートしたい ・対応する列は変えたくない ・今まで配列として利用ていたのをクラスとしてリストに入れる方法だと、内部的修正が大変 ・あるメソッド内だけで並び替えるだけでもOK よろしくお願いします
12 : >>11 >クラス化しないで 今のうちに引き返さないと余計茨の道を進むことになりそうだけど・・・ http://ideone.com/95hOI
13 : >>11 そりゃスパゲティってことだなw
14 : すみません 和歴を西暦に変換するをしています。 http://ideone.com/lDDNs ここまでできたのですが、あと ・入力範囲外の場合にエラー文を出す。 ・月によって30日・31日の月があるので、 例えば30日までしかない月に31日と入力するとエラー文をだす。 ・うるう年に範囲外の日にちを入力するとエラー文を出す。 この辺教えていただけませんか>< お願いします
15 : ↑西暦を和歴にです・・
16 : LocaleとCalenderクラス使えよww
17 : >>14 エラー判定 http://ideone.com/TVEcF
18 : >>17 ありがとうございます。 僕、一日あーだこーだ触ってここまで書いたんですけど、こんなに早く書けるなんて。。 もっと勉強します。。
19 : いえいえ
20 : 2組の年月日を入力して、その期間に2月29日が何回あるか数えるにはどうしたらいいでしょうか?
21 : 年毎にうるう年かチェックして数えたらいいんじゃないの 計算量が年に対しての線形時間になるのが嫌なら まず数学板で相談した方が良さげ
22 : ログイン http://xxx?command=login&user=xx&pass=xx xml取得 http://xxx?command=getdata&type=xml ブラウザから上記URLを順番に実行すると ログイン⇒取得したxmlをブラウザで表示となります。 やりたいことはブラウザを使用せずjavaでxml取得です。 ログインAPIのみ実行は、出来たのですが 続けて、xml取得を実行する方法が分かりません。 ご教示いただけますでしょうか。
23 : すみません。 例として書いたつもりの22のurlクリックすると変なサイトにアクセスしちゃいます。クリックしないようにお願いします。
24 : import java.io.*; public class FileManipulation{ public static void main(String[] args){ FileInputStream fis = FileInputStream(new File("fileA.txt")); BufferedInputStream bis = BufferedInputStream(fis); InputStreamReader rdr = InputStreamReader(bis); String line; while((line = rdr.readLine()) != null ){ System.out.println(line); }; rdr.close(); } } これまでRubyをやっていて、Javaもやろうと思って、IOのコード書いてみたんですが、 なぜか、上だと、 FileInputStream BufferedInputStream InputStreamReader readLine() シンボルが見つけられません。とコンパイラーに怒られます。 数時間はまっているんですが、 どこがおかしいか教えていただけますか? ちなみに、oracle-java-7, openjdk-6 でも同様でした。
25 : 馬鹿には無理
26 : Rubyってnew無いの?
27 : FileみたいにFileInputStreamやInputStreamReaderなんかでもnewしないとインスタンス作れないよ あとInputStreamReaderにはreadLineなんてメソッドはないからBufferedReaderも使おうね BufferedInputStreamは不要だからね わかったらRubyを頑張ってね
28 : >>26-27 Thanks なんで、new つけなかったんだろう。。。 変数に型をつけたり、 なんちゃらStreamとか、なんとかReaderで、もう頭がいっぱいいっぱいだった。
29 : 予言しよう 次に>>28 は例外処理で躓く
30 : >>29 正解 w 例外処理で躓きましたが、 try catch で 5分で攻略しました!
31 : >>22 同じ。 特別なことしてるサイトなら多分cookie。
32 : javaはなんでi=i++が許されてんだっけか
33 : 後置インクリメントだから代入のあとに演算するからじゃないの
34 : >>31 ありがとうございます。 処理の一番最初にcookiemanagerすることで同セッションで処理してくれるようになりました。 今までホスト系の開発ばかりでクッキーとかセッションとか何のことやらサッパリで。。。 ブラウザから実行する場合はブラウザがセッション管理をやってくれているが、専用クライアントでやる場合はその制御が必要みたいに理解しました。
35 : >>32 Javaだと結果が一意ってだけで普通はやらんけどな。 C言語だと副作用の順序が不定だからご法度っつーだけで。
36 : >>33 代入の前だよ i++ から返る前にインクリメントされる C#も同じ C/C++は未定義
37 : 演算子は優先順位がしっかり決まってるものだと思ってた
38 : 演算子の優先順位とはまた別の話だな。 スレ違いだから副作用完了点とかでググってくれ。
39 : どう考えても 100 を超えない数値を扱う部分のコードがあるとして、 そういう数値を扱うときは、int 型を使うよりは、byte 型を使うほうが いいと思うんですが、なんでみんな int 使うんでしょうね なぜなら int は 32bit、byte は 8bit、メモリの節約になるし、比較する 回数が4倍違う、、、と思うんですが、そう単純でもないんですかね
40 : >>39 面倒くさいから。 数値昇格のおかげで byte型の値同士でも演算するとint型になるが、 int型の値をbyte型の変数に格納する時はキャストが必要になる。
41 : >>39 大抵のCPUはintの比較の方がむしろ速いからさ
42 : >>34 javaのcookiemanagerは多くのブラウザと違う挙動することもあるから注意だ。こないだはさらに酷いandroidの実装ではまった。 apacheのhttpのlibとか別の選択肢もある。
43 : >>39 byte型よりint型のほうがだいたい演算早いらしいよ 処理系によるけど ただメモリの節約にはなるけど、byteとか演算したらint型に拡大変換されちゃうし結局意味なかったりすることが多い 参照だけするならいいともうけどね
44 : R
45 : double型なのに、合計すると intの最大値2147483647しか表示されないんですが、 何が問題なのでしょう? stringbufferの文字列をparseDoubleでdouble型に変換し、インクリメント+してます。
46 : 日本語でおk
47 : >>45 ソース出さないとちょっと言ってることがわからない 合計するとって何を合計してるの?
48 : R
49 : サーブレッドコンテナとアプリケーションサーバって何が違うんですか? 言い回しが違うだけで、同じものを指示している気がするんですが jossとかtomcatとか
50 : 自分で調べろよ サーブレット・JSPはスレチって何度言ったら 同じやつだろ
51 : R
52 : >>49 汎化したものがアプリケーションサーバ、特化したものがサーブレットコンテナでは。ListとArrayListは同じものと言えば同じもの。
53 : それなら、サーブレット・JSPはどこで聞けばいいんですか?
54 : てか、JavaScriptならともかく、 サーブレットがスレチなワケないんだが…
55 : >>52 ありがとう
56 : >>53 ↓はどう? http://kohada.2ch.net/test/read.cgi/php/1300634117/
57 : >>56 こんなスレには誰も書き込まんよ Linux板じゃあるまいし
58 : 書き込まなかろうがスレチなんだからここに書くなよ
59 : Eclipseを使って開発しているときに、antを使うメリットはあるのですか? コマンドでコンパイルする時にantは非常に有効だと思うのですが
60 : >>59 eclipseのプラグインを書くより、antのtask書く方が楽とか?
61 : R
62 : EclipseにはVisual Studioでいうイミディエイトウインドウに相当する機能はないのでしょうか? すごいデバッグが面倒なので
63 : javaのコンパイラについてんだから実行の構成の引数に指定しろよ
64 : コンパイラじゃなくてVM
65 : R2
66 : >>53 「サーブレット・JSPはスレチ」とか言ってるのはいつものアホだから 気にしなくていい
67 : 自演でかばうとかあほだなおまえ
68 : 前スレでも書いたが 回答側として目障りってことだ 何度も言わせるなよ
69 : サーブレットがなんだかもわからないアホだろw 回答できないなら黙っていればいいのにwww
70 : R2
71 : webコンポーネントの資格までもってるけどサーブレットは別スレにすべき
72 : webコンポーネントの資格までもってるけどJavaEEはこのスレでいい 答える気が無いならスルーすればいいだけ
73 : R2
74 : JSPとサーブレットの事についてお伺いしてもよろしいですか?><
75 : ネタ臭ぇけど好きに聞けよ 回答があるかどうかは保証しない
76 : R2
77 : Javaは進歩のスピードが遅いな C#は早すぎてC++っぽくなるんじゃね?って感じだし
78 : >>77 どちらかというと C# が一番はやい、C++ は単に迷走しているだけ、という飢餓起臥希ガス
79 : R2
80 : 「ひな壇は韓流タレント中心に」という構想が一変、TV界と韓流の今 09/16 13:00 http://woman.infoseek.co.jp/news/entertainment/cyzowoman_16Sep2012_25106 日韓の関係悪化の影響により、韓流離れが加速する現在のテレビ業界。 しかし、2年ほど前には広告代理店を中心に「ゴールデンタイムの番組には韓国人タレントを使用する」流れが作られていたという。 現在は吉本興業所属の芸人が幅を利かせる“ひな壇タレント”を、そっくり韓流と入れ替えるという計画だったそうだ。 日本国内で、KARAや少女時代がブレークした2010年。 日本音楽事業者協会会長で「尾木プロ」社長の尾木徹氏が、K-POPアーティストの誘致に尽力したと伝えられていた。 そして同時期頃から、広告代理店やテレビ局上層部の間では、こんな“定説”が存在していたという。 「2011年以降は、ゴールデンのバラエティから、吉本芸人はほとんどいなくなります。 代わりにひな壇に座るのがK-POPアーティストや、韓流タレントたち。 安定してレギュラー番組を続けられそうなのは明石家さんま、島田紳助、ダウンタウンくらいで、その他の芸人たちは有名無名問わず降板させていこうという方針でした」(広告代理店幹部) ところが3月の震災で、エンタメ業界は数カ月ほど停滞状態が続くことに。 その前後に日本デビューを果たしたK-POPアーティストや、バラエティに登場した韓流タレントも少なからず存在したが、テレビ出演者が大幅に入れ替わるといった事態に至ることはなかった。 「紳助は引退してしまったし、高岡蒼佑のフジテレビ韓流傾倒批判など想定外の事態はいくつも発生しました。 特にネット上でのフジテレビ批判は見過ごせるレベルの話ではなく、連日の抗議デモやスポンサー企業の不買運動など、韓流に対する不安要素ばかりが高まっていきました」(同) そして今回の竹島問題で、韓流コンテンツへの傾倒に関して沈黙を貫いてきたテレビ各局も、方針を表明。 フジテレビは当面韓流ドラマの放送予定はないとし、またBS日テレの定例会見では赤座弘一社長が「韓国ドラマが多すぎるのではという声もある。 少なすぎるという声はないので、今後、(韓流ドラマを)少なくしていく方向になると思う」と発言したことも話題になった。
81 : プログラム中に特定のライブラリ(jar)を使っており、最後に1つのjarファイルにまとめたのですが ライブラリの中で使ってないクラスファイルを削除または検知するツールなどはありませんでしょうか? ライブラリ全体を1つのjarにまとめるとかなり容量が大きくなので少しでも縮めたいと考えています
82 : >>81 不要と思うjarをクラスパスからはずしてコンパイル。 リフレクション使ってたらアウトだけど。
83 : >>81 すいません、ライブラリのjarは1つしかないんです。その中にクラスが5000ファイルぐらいある感じです。 今のところ、ライブラリのjarを展開し少しずつクラスを削除してはコンパイルエラーがでないかを確認しています。 やはりこのように地道にやっていくしかないんでしょうか
84 : >>81 >>83 ProGuardを使うといい 未使用のクラスの削除、バイトコードを最適化、難読化などを行う 割と有名なオープンソースソフトウェアで、Android SDKにも統合されてる http://sourceforge.jp/projects/freshmeat_proguard/
85 : >>84 難読化するツールとして名前は聞いたことありましたが未使用クラスの削除までしてくれるとは知りませんでした。。調べて使ってみます ありがとうございます!
86 : CG-ARTS協会のコンピューターグラフィックスの本を持っています。 これは数式と解説だけのものでプログラムに落とし込むにはどうしたらいいかわかりません CGの数式をJavaに落とし込む書籍でいいものがあれば教えていただけないでしょうか。 自分で調べてみましたが、内容の薄いものしか見つかりませんでした。よろしくお願いいたします。
87 : Javaが分からないならJava入門書、数式が分からないなら数学の本・・・じゃないの? あとは処理速度とかのためにグラボを使うならOpenGL本(Javaで)とか そういう話でなくて?
88 : Javaの文法はわかるし、二次関数の式はわかるけど、 ソースコードかいて、グラフとして表示させたいができないみないな。 だからサンプルコードとか読んで勉強したいというわけです。 ゲームプログラミングとかやりたいんですけど。 つまり、私にプログラミングの力が足りないのでしょうね。才能がないのかも。
89 : Javaの文法 ス ら ム り
90 : >>88 とりあえず、書籍「OpenGLで作る Android SDKゲームプログラミング」とかどうだろう 中身見てないけど Java+OpenGL+ゲーム だと思う AndroidでのGUIとAWT/Swing/JavaFXの違いはあるけど それより「java OpenGL サンプル」とかググった方がいいかもしれない まずは基礎、数式云々はそれからだね
91 : 馬鹿には無理
92 : >>90 ありがとうございます。 参考にさせていただきます。
93 : いえいえ
94 : デザインパータンって重要ですか 現場で使われています。
95 : おじいちゃんのメソッドを呼ぶにはキャストすればいい?
96 : キャストしても駄目なのでお父さんのメソッドにお願いしてください
97 : 初心者っぽい質問ですがすいません。 JavaのKeyListenerで、KeyPressedのイベントなんですが、なぜかおした瞬間から少し時間が経ってから押しっぱなし判定になり間があって困ります どうすればいいですか
98 : 自分で考えたのだと、Typedの瞬間にフラグを立ててReleaseの時にフラグをオフにすれば押してる瞬間ずっと大丈夫かと思ったのですがこれってやっぱりおかしい設計ですよね?
99 : これは買っとけって参考書ある?
100 : >>99 お前が何したいかわからないのにそんなバカみたいな質問に答えられるわけ無いだろカス
101 : もっと考えて質問しろゴミ
102 : サーブレットでリザルトセットを取得したら逆方向に取得していくメソッドてないんですかね 逆から探すと効率よく見つけられるんですが・・・
103 : だからサーブレットはスレチだっていったろカス 何回もやるとか真性のバカ
104 : お前には聞いてないよカスw
105 : じゃあお前俺が答える前に俺が答えること考えてたのか? そんなこと無理だよな だからおまえは後付け的に言ってる だからお前の書き込みは矛盾してる ゴミ
106 : 低脳のカス とりあえず行ったことに対してイラッとくると反応してるゴミ
107 : ゴミカス乙
108 : えー、すみません、C はとりあえず構造体と関数ポインタまで行った、くらいの初学者です。 マクロや分割コンパイルに手を焼いている段階です。 先日、「そろそろオブジェクト指向言語を勉強してみては」と上司に言われて戸惑っています。 何からやれば良いのか分からない…。 とりあえず、スクリプト系はウチでは絶対怒られるので、Perl や PHP は社内で大見得切って勉強できない…。 Java は大御所ですが、ネットでは色々と言われているようです…。 かと言って C++ は尖り過ぎているような気がするし、C# は今のところ Win 限定っぽいし、D言語はもうワケワカメ。 やっぱり Java から入った方が良いのでしょうか? クセがなく、コンパイルできて、Win でも Linux でも動くものであれば上司への答えになるとは思うのですが…。
109 : >>108 オブジェクト指向理解するなら絶対Javaだよ Java理解するとほかの言語勉強するときもすんなりいくよ
110 : そんなにその上司が好きならそいつに聞けよ
111 : >>102 はjdbcの質問っぽいのは笑うとこ? そしてorder by descとsqlで答える。
112 : >>109 背中を押してくださってありがとうございます。 とりあえずやってみます。 一度こういう一言を聞きたかっただけなのかもしれない…。すみません。 >>110 上司を尊敬して何が悪いのでしょうか? むしろ、尊敬できる上司だからこそ、「試されている場面で、このヒントにどう答えるべきか」と考えるのです。 モロに聞いたらそれこそモロに駄目でしょうが? あんた働いたことあんの?
113 : 馬鹿には無理
114 : (やっぱりcはこいつには無理だったか。馬鹿でもできそうなのやらすか) 「そろそろオブジェクト指向言語を勉強してみては」(javaやっとけ)
115 : 開発なんかWINDOWSでしかやらないんだしVBAでしょ普通は。 SE/PGだからちゃんとやりたいってことならVB.NETでしょ。
116 : ooやるのに言語から勉強する意味がわからない。
117 : えっ!? ジャバはもうオワコンなんでしょ?
118 : むしろハジコン
119 : ですよねー^^
120 : オワコンだと思ってるのに何でスレ見に来てんの?
121 : JavaFXなら当然Windows8のMetro Sytleのアプリを作れるんですよね?
122 : がんばってようやく年号変換しかできないレベルなのに、いきなり jdbcでDBにつないでブラウザからデーター入力するの作ってきて^^ って言われて泣きそうだお(´;ω;`) まだ初心者が読む参考書の後半あたりなのに・・・・ オブジェクト指向とやらを理解してないと厳しいですか?
123 : JAVAを使って格好つけようとしないで、普通にVB.NET勉強して普通にWINDOWSで作ってください。
124 : win98の頃メモリ64MBでcpu300Mhzの使ってたな 懐かしい 当時28万で買ったのに今じゃゴミ性能だよなあ
125 : そのゴミ、もちろんもう捨てたんですよね?
126 : ああ捨てたよ
127 : >>122 何と比べてか知らないが難しくない。webappの基本。 和暦の方が追加されたの最近だからサンプル少なそう。
128 : CPU16MHzのメモリ2MBならまだ持ってる。
129 : win98を使っていたころは、初めはmodem 56kでやっていて、1999年にケーブルのインターネットにしてLAN接続(1M bps多分)だったかな。 pcでは、winmxとか2chとかflashが出始めたころで、今のyoutube(コンテンツ)とかtwitter,facebook(ソーシャル)とかとあまり変わってない。 唯一クラウドとウェブアプリがなかったけど、javafxを見てるとjavaone2012で何を出してくるか分からないけど、オラクルさんはクラウドとウェブアプリとかでクライアント・サイドを本当でやるようには見えないな。 windows+ie+windowsphoneはマイクロソフト王国の囲い込みでしかないから、マイクロソフト・プラットに投資を続けることは早々に見切りをつけて、mobile/web標準jvmプラット・mobile/web標準ネイティブ言語に方向転換した方がいい。 いまのmobileはcpu 1.4 core 2ってところでしょ。その性能ならjava se 5はフルセットでも余裕で動くね。
130 : >>121
131 : >>113-120 普通に書いてるから。ヴォケ。 あん? >>108 は釣りに決まってる。 いやもうホントここは掃き溜めだね。 迷ったけど >>109 に何となく救われた。 次期 ver. をどの言語で行くか(現行xxxは無理ゲー)で悩んで釣っただけのことよ。 分かれボンクラども。
132 : sin30°をプログラムの中で計算するソースコードを教えてください。
133 : 足し算、掛け算でできるよ たとえば、テイラー級数、テイラー展開 そういうのをぐぐれ マクローリン展開(2) ttp://chaosweb.complex.eng.hokudai.ac.jp/~josch/workshop/math/Maclaurin/maclaurin2_05.png http://chaosweb.complex.eng.hokudai.ac.jp/~josch/workshop/math/Maclaurin/Maclaurin2.htm
134 : いや、そういう難しいのじゃなくてMathクラスを使って構わない。
135 : すみません。自己解決しました。 ttp://ideone.com/6kDeE しかし、なぜ答えに0.5と出てきてほしいはずのに、0.49999999999999994と出て しまうのでしょうか? また、0.5と出すにはどうすればいいのでしょうか?
136 : import java.lang.Math; public class Sin30 { static final double M = 10000000000000000.; public static void main(String[] args) { double degrees = 30; double d = degrees*Math.PI/180; double e = Math.sin(d); double f, g; f = M*e; g = Math.floor( f + 0.5 ); e = g/M; System.out.println(e); } } /* D:\work>javac Sin30.java D:\work>java Sin30 0.5 */
137 : >>136 ありがとうございます。 ただ、 f = M*e; g = Math.floor( f + 0.5 ); e = g/M; System.out.println(e); でなにをやっているのか分かりません。
138 : >>129 マイクロソフト王国って…いまどき感覚古臭過ぎない? いまやオラクル帝国の属州になりさがっちまったJavaにこれから方向転換せよとかアホみたい あちらさん(C#)はまがりなりにもISOやECMAで標準化されているしね
139 : >>138 標準化されてるからといって特許フリーであるわけじゃない C#は関連特許が切れるまであまり普及しなさそう 関連特許が切れたらオープンソース版が普及するかもね
140 : JavaMEを使うことによるOracleへのみかじめ料回避のため GoogleがDalvikが出してきたくらい Oracleさんは標準云々なんかよりライセンス料徴収に全力だった
141 : 普及しなさそうというのは言いすぎだった Windows以外のプラットフォームでは普及しないという意味
142 : 今日はマイクロソフト税の納税日ですよ! (マイクロソフト・オッフィス税とマイクロソフト・インターネット税は同時に収めることが出来ます)
143 : http://mshiltonj.com/software_wars/current/ Empire Gatesbill of Microsoft
144 : >>96 ありがとう お父さんにお願いするようにします
145 : わかりやすいJavaという本より良い本ありますか?
146 : わかりやすいJavaという本以外全部です
147 : わかりやすいJAVAって駄目なの?イイってよく聞くけど
148 : >>145 Javaの絵本 がいいよw
149 : >>137 四捨五入するには、0.5をたして、きりすてます
150 : 実は 30.0 * Math.PI / 180.0 この時点で 0.5 ULPより大きい誤差が出てる...かもしれない public static void main(String[] args) { BigDecimal PI = new BigDecimal("3.141592653589793238462643383280"); BigDecimal expected = PI.multiply(new BigDecimal("30")).divide(new BigDecimal("180"), RoundingMode.HALF_EVEN); BigDecimal target1 = new BigDecimal(Math.toRadians(30)); BigDecimal target2 = new BigDecimal(FastMath.toRadians(30)); System.out.println(expected); System.out.println(target1); System.out.println(target2); System.out.println(target1.subtract(expected)); System.out.println(target2.subtract(expected)); } (要Commons Math) おいらのマシンの実行結果: 0.523598775598298873077107230547 0.52359877559829881565889309058547951281070709228515625 0.5235987755982989266811955531011335551738739013671875 -5.741821413996152048718929290771484375E-17 5.36040883225541335551738739013671875E-17
151 : FastMath.toRadians ってどこのクラスですか?
152 : なんだ。 見たことあると思ったらアパッチか。 ところでnew BigDecimal(double)を使うのはどうしてですか?
153 : keyListenerでKeyPressedのイベント発生するのにラグがあるんですがどうしたらいいですか
154 : >146 Amazonで「Java」で検索して1位の本を見てみろ。 >148 初心者向けですよね、あの本は。
155 : >>139 つmono
156 : KeyListenerわからない馬鹿どもですか?誰か>>153 に答えろ
157 : >>156 おまえにまかせる
158 : >>156 馬鹿ですがなにか?
159 : 桜庭ななみ
160 : 馬鹿には無理
161 : 馬鹿でも答えられる質問しか受け付けません
162 : >>121
163 : JavaFXはSwingベースですのでXAMLベースのMetroにはなりません
164 : JavaFXがJava8で同封されてもWindows8のMetro Sytleにも対応してないしWindows Phone (Tablet)とかApple iphone (ipad)でも動かない(当然Androidでも動かない)ですよね。 JavaFXは、今後2ー3年の主流モバイル端末で全滅で、デスクトップではマイクロソフト・プラットフォームからは煙たがれ、 現在のJava向けIDEやデザイナーではVisual Studioにまったく勝てないので、出る前からオワコンって聞いたんですけど、JavaFXはオワコンって本当ですよね?
165 : そんなもんです。
166 : 何か目的があるわけでもなく、問題というものを抽象化し、適当な理論に基づいた設計を行い、一般化(汎用ライブラリ)を目指すばかりの思考だったから、もともとは手段だったのにいつのまにかJavaの資産で全てを汎用化することが目的になってしまったんだろう。
167 : VMに関して言えば問題は無いな。 APIには色々言いたいことがあるのはわかるが。
168 : javafxってjavaでfxのソフト作るためのパッケージですか!? すごい楽しみです!ソフト作ってお金儲けですね!
169 : jvmはまだまだ10年は持ちますがvmもうかうかしてられませんよ。 jvm, jvm bytecode は中間コードとコード実行の最適化理論がつまってますが、所詮はそのcpuで利用可能な機能かどうかを抽象化したソフト的なものであり、小手先技の集大成でしかありません。 cpuが2000Mhz、整数マルチコア2-8、メモリも4000Mを越えた今では、ハードでゴリ押しもあるし、llvm的なアプローチ(特に動的コンパイルと並列ノードなど)もあるし、用途は違いますがvmware,vbox,qemuなどx86 vmも成熟してきたし、 結局jvm bytecodeとその高速化だけではイニシアチブをとれないでしょうね。
170 : >>117
171 : jvmとvmwareを同列に語るって… 仮想環境上のjvmをどうしたら最適化できるかとか最近の話題だからなぁ。 追っかけてないからしらんけどw
172 : 10年スパンの展望で書いたんですけど、そのうち「仮想環境」の意味はもちろん同一PC(同一巨体ラック)上のメモリである、という前提が崩れるんじゃないですかね。 メモリとデータが同一PC(cpu)と言う前提ではないので、jvmbytecodeもx86codeも区別する必要はありません。
173 : ほうほう
174 : The Network is the Computer.
175 : そうかなぁ?やっぱり比較対象としてはおかしいと思うなぁ。 > そのうち「仮想環境」の意味はもちろん同一PC(同一巨体ラック)上のメモリである、という前提が崩れるんじゃないですかね。 すでにエンタープライズはデータセンター越しでマイグレーションする状態なんだけどなぁ。 でそれはVMWareとかのサーバ仮想化のレイヤーであって、JVMはその上で動く単なるプロセスの一つなだけだと思うが。 ただ、物理的なハードウェアの進化には対応する必要があって、 あなたが書いた、多コア、多メモリ環境への進化は着々とやってると思うけどね。 fork,joinもその一つだし。
176 : そうそうよく読んでますね。 ただ一つあなたに足りないのは、javafxやjavaseの話題が中心であって、java se, java eeは巨砲エンタープライズでなくあくまで中小規模クライアントかその開発者のためのものであり、 目的がはっきりしているシステムを作ると初めから分かってるなら何も汎用化して設計する意味は全くないという観点です。
177 : といっても 重厚長大産業はIT利益率高いし稼ぎ頭だから、オラクルじゃいつまでも中小規模クライアントは本気でやらないでしょうけどね。 小規模だとマイクロソフトの稼ぎ頭5-30人程度officeとそのwebserver (fileserver,mail system) / web datacenter (office datacloud)ですけど、ここにオラクルの本気度が見えないので、普通の開発者がjavaを勉強してもいつまでもjava,javafxでは儲けられないでしょうね。 例えば、アップルはandroid端末(サムスン)潰しに本気ですが、オラクルがandroid os/vm(グーグル)潰しに本気なら、裁判内外で適当な戯言を言い合ってるだけでなく、 android osの代わりにsolarisをモバイル・(tablet)シンクライアントにカスタム(もちろんjava仕様)して出したりするマーケティングもあるでしょう。 しかしオラクルはsolaris,openofficeを早々と引っ込めたので多分やらないでしょうけど。 オラクル(java)には、未だにマイクロソフト製品(windows)に依存してばかりで、未だにjavaエコシステムがないのが最大の問題じゃないですか。 つまり、javaをいくら勉強してもwindowsアプリレベルの普通の開発者はいつまでもjavaでは(クライアントがいないので)稼げないってことです。
178 : >>117
179 : >>172 日本語がわからないところあるが、バイナリでもいろいろなcpuに対応が当たり前になるってこと? GNUのソフトなんかはいろいろなアーキテクチャでコンパイルできるし、Unix系ではネットワークマウントで共有するの普通だし、FHSではlibとか/usr/shareとか複数アーキテクチャへの対応を考えているのでは。 問題なのはwindowsのドライブレターとか、ハードウェアアクセスの利用みたいな互換性のなさなんじゃないの。
180 : javafx 2.2がlinux(ubuntu12.04)でもちゃんと動けばjava/oracleの言い分も少しは信用したんだけど、こんなコアダンプを毎回見てればoracleが何を言っても信用できるはずない。 windowsではほぼ問題なく動くだろうけど、linuxではjavafx開発はバグだらけで出来ないしopengl(3d)も動かないし、所詮oracleの技術力と目指しているものはこの程度でしょ。 windowsで開発するならjavaを一切触わらずvs,msdnライセンスを買って初めからc#,html5(js)だけでやるわ。 # JRE version: 7.0_06-b24 # Java VM: Java HotSpot(TM) 64-Bit Server VM (23.2-b09 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libX11.so.6+0x33c58] XQueryExtension+0x28
181 : >>123
182 : なんでこんなに荒らされてるの?
183 : >>182
184 : LinuxのGUI環境って全然知らないんだけど、Swingはちゃんと動くの?
185 : netbeansは一応ちゃんと動くみたいですよ。 ただしlinux(gnome)だとほとんどのjavaプログラムの日本語入力がおかしくなることがあるようなのでwindowsだけで考えた方がいいんじゃないですか。
186 : やられた! ArrayList<Integer> a = new ArrayList<>(); Integer x = 1000; int y = 2000; a.add(x); a.add(y); a.remove(x); a.remove(y); autoboxing R!
187 : autoboxingの仕様作ったやつちょうあほ
188 : HashSet<Integer> s = new HashSet<>(); Integer x = 1000; int y = 2000; s.add(x); s.add(y); s.remove(x); s.remove(y); これはOKなんだよな〜 紛らわしい!
189 : そりゃSetにはindexでremoveするメソッドとか無いし。
190 : Rとか紛らわしいとかいう前にオートボクシング・アンボクシングとかコレクションについて勉強したほうがいいと思うよ
191 : 仕様がおかしいという指摘に対し 仕様通りと返す奴はアスペ
192 : >>191 それはない
193 : 後から追加された仕様だからなぁ。 最初からオートボクシングがあったら、 listのインターフェイスも考えようがあったんだろうけど。 listにintを入れた事がなかったから、そのハマりは経験したことがなかったな。 それより、内容は同じだけどオブジェクトの違うLong同士を==で比較してハマった方が辛かったw
194 : >>186 a.remove(y) のとこだよね? (これは2000番目の要素を削除するという動作になる) 「remove」という同じメソッド名なのに引数によってまったく異なった動作になる。 StringBuilderクラスでは delete とか deleteCharAt ってメソッド名になってるから Listも a.delete(y) とか a.deleteAt(y) みたいになってれば 混乱せずに済んだだろうね。 でもしかたないよ。今さらメソッド名を変更してもらえるとは思えない。 慣れるしかないな。
195 : あほ言語の末路
196 : Javaは1.4からいじり始めたんだが、Java5以降から入ったやつにとっては オートボクシングは意味不明だと思うわ……。 ジェネリクス、for-each、タイプセーフenumとかクソ便利なのに、オートボクシングは蛇足だよ…
197 : 必要ならラッパークラスのメソッドを使えばいいし、 オートボクシングは必ずしも使わないと困るような場面はぱっとは思いつかないなあ Eclipseにも、オートボクシングに対してワーニングやエラーを出すようなオプションがあるぽいし
198 : 馬鹿には無理
199 : オートボクシングじゃなくて Javaの==がRだからじゃね?
200 : while(true) if(!Java.equals("R")) System.exit(1);
201 : >>185 以前、Javaで日本語入力が効かなくなったことはあるけど今は大丈夫 この発言もubuntu上のV2Cで書いてる Debianでも問題なし V2CはすべてJavaで書かれた2chブラウザ
202 : V2CはSwingでここまでできるという見本みたいなものという感じ 100%Javaで書かれた高機能な2chブラウザ
203 : フォントの問題はあるけど 内緒
204 : dialogを閉じるときにescで閉じるとよく発生して、それ以降キー入力を受付なくなるのでしょ。 たしか、java(swing)のバグじゃなくて、gnomeのimeのバグで、gnomeがいつまでも直さなかったからjava swingがいつまでもとばっちり受けてたってやつ。
205 : とばっちりとか言ってるけど、文句言う前に上流にパッチ投げるくらいはしたのかしら?
206 : >>203 MS Pゴシックとピッチが同じフォントならMonapoフォントとか他にもいろいろあるよ Ubuntuならパッケージ化されてるからインストールも簡単
207 : ていうか、osxに忙しいから、linuxはガン無視でしょ 次のjavaone2012は、javafxはipod,iphoneでも動きますよーが目玉だろうしw(多分) windows上でapple製品を開発できるけどandroid,windowsphoneは動かないって、それってマヌケ
208 : 即レスかよ このスレにはアンチJava厨がはりついてるのか
209 : LinuxはOpenJDKがあるからそれでいいのでは? Oracle純正の最新JVMを必ず使わなければいけないわけじゃないし オープンソースに否定的なユーザはそもそもLinuxを使わないし
210 : ubuntu unityでnetbeansを起動するとgtk theme (system default)になるけど、かなりいい加減な作りっての知らないでしょ。 menu popuoのウインドウ境界・淵のところにunityだとぼかしのエフェクトがあるけど、heavy/light weight windowサポートしたといっても、netbeans7.2ではgtk(system)のuiも再現できてない。 xrenderはv2cでは効果あるのに、netbeansでは効いてないっぽいし、linuxで開発するなんて夢物語だし、openjdkのlinuxサポートとかもう終わってる。
211 : >>117
212 : 最近、このスレ荒らしがひどな 本当に終わってるなら一日中はりついて荒らす必要なんてないのに
213 : >>206 それがねー、以外と難しいのよ
214 : いいや 荒らしではなく現在のJava Platformの本当の姿を書いてくれてるんだよ 現在のJava SEはWindows専用のVMアプリに過ぎずOSX向けはJava7からやっと開発が始まったという程度のものでしかない ORACLEのJAVAはSUNのころのJavaとはまったく違う
215 : >>121
216 : windows8に凍死するのもどうですかね‥‥‥
217 : >>213 ubuntuなら端末を開いて sudo apt-get install fonts-monapo この一行を実行するだけ V2Cはフォントメニューを開くときにフォントを勝手に検索してくれるから V2Cの[設定]メニューの[フォント]でmonapoフォントを選択するだけ
218 : ubuntu unityだとデスクトップ・ショートカット・ランチャが簡単には作れないから、旧式のv2c.shを作って実行とかでやってる そこに-Dawt.AA=とか-Dswing.defaultlaf=とか java7になってもlinux(gnome)ではフォントもあまりさポートしてから各国スクリプト・カテゴリによるフォントグリフの国際化対応はまだおかしいかもね linux gonmeとかlinux ide(eclipse,netbeans)とかの雑魚環境を体験してみると、windowsとvsがいかに値段が安くいかに高品質なのかって思い知るよ アンチなわけではないけど、これが現在のoracle/javaの現実で、java seはwindows専用アプリと考えた方が正しい
219 : >>9
220 : apiのソースコード読んだら意味不明なんですが、 プロは読めるものなんですか? 英語もわからないし。
221 : はい
222 : すごいですね。 僕には無理だ。他の道を探そう。
223 : >>218 DebianでもMonapoフォントはパッケージになっててスーパーユーザになって apt-get install ttf-monapo これで終わり あとはV2Cを起動して[設定]メニューの[フォント]でMonapoフォントを指定するだけ この発言はDebianから書いてます 正直、何が難しいのかわからない
224 : 誤解のないように書くけど V2Cはフォントをいちいち指定しないと日本語が表示されないわけじゃなくて アスキーアートの表示が崩れるからMonapoフォンを入れてV2Cで指定してるだけ
225 : >>217 そんな話はしていない java/swingのフォント設定
226 : v2cは追いかけてないから確かじゃないけど、確かスレのブラウズのコンポーネントは、jtextpaneだと遅いからcanvas+graphicsで自前で開発したのでやってるっんじゃなかったか? 自前で用意するようなコンポーネント開発までやって、twitterクライアントもやるほど気合はいってるなら、netbeans platform rcp開発(特にplugin module)を考えてもいいんじゃないかと思う。
227 : >>225 そんなの簡単だぞ String fontName1[]= GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); これでフォントの一覧を取得できる あとは Font font1 = new Font(fontName1[i], Font.PLAIN, 16); このようにフォントを作成してやるだけ
228 : graphicsで自前なんだし難しいてのはfont mericsのことじゃないの?
229 : >>227 だからそんな話をしてないって 以上
230 : Javaはマイクロソフトのステマの攻撃ターゲットに設定されました
231 : >>143
232 : >>228 あぁ、それ俺もよくわからなかった
233 : すみません、ネットで調べましたが、ヒント見つからず、 どうしても分かりませんでした。 質問は、以下のソースコードで、 ExClass35Array = subExClass35Arrayで、 subExClass35Arrayの参照情報をExClass35Arrayへ代入しているのですが、 System.out.println(ExClass35Array[0].a)がコンパイルエラーとなり、 期待している結果「4」と表示されません。何がいけないのでしょうか? class ExClass35{ public static void main(String[]args){ ExClass35[] ExClass35Array; subExClass35[] subExClass35Array = new subExClass35[5]; for( int i = 0 ; i < subExClass35Array.length ; i++){ subExClass35Array[i] = new subExClass35(); } subExClass35Array[0].a = 4; System.out.println(subExClass35Array[0].a); ExClass35Array = subExClass35Array; System.out.println(ExClass35Array[0].a); } } class subExClass35 extends ExClass35{ int a ; }
234 : int aにpublic ってつければコンパイルは通るけど、 何かもっとちゃんとした資料で勉強した方がいい
235 : 234さん ご回答有難うございます。 下記の部分では、問題なく「4」と表示されます。 subExClass35Array[0].a = 4; System.out.println(subExClass35Array[0].a); 参照情報を代入(ExClass35Array = subExClass35Array)しただけなのに、 int a ; に publicをつけなければ、 System.out.println(ExClass35Array[0].a); で「4」と表示されないのでしょうか? >>int aにpublic ってつければコンパイルは通るけど、 実際につけてみましたが、やはりコンパイルエラーになりました・・・。 すみません、混乱しております。
236 : 234だけど、publicをつければいいというのは今回とは別の話だった ExClass35[]という型のExClass35Arrayという変数に subExClass35[]という型のsubExClass35Arrayという変数を ExClass35Array = subExClass35Array; で代入しようとしているのがおかしい. 継承された型ならスーパークラスの型の変数に代入できるけど、 配列はできないよ つかクラス名は大文字で始める、変数は小文字で始めるっていうお約束を ことごとく守らないからすごく見づらい
237 : 234さん 早速のレス有難うございます。 >ExClass35Array = subExClass35Array; >で代入しようとしているのがおかしい. すみません、何をしようとしているのか、背景の説明が足りておりませんでした。 http://www.javaroad.jp/java_class14.htm ⇒こちらのサイトの「【例3】変換元が配列型、変換先が配列型の例です。SuperClassクラスはSubClassクラスのスーパークラスであるとします。 」でソースコードがあります。 ここで配列の型変換が説明されており、それを元に、先ほどお伝えしたソースコードを私が作りました。 本当に代入による型変換が行われているのか?というのを確認するために、 ExClass35Array = subExClass35Arrayということを行い、 System.out.println(subExClass35Array[0].a); で「4」が表示されるか確認したい というのが目的になります。 >継承された型ならスーパークラスの型の変数に代入できるけど、 >配列はできないよ すみません、配列の型は代入できないのでしょうか? サイトの情報が間違っているのでしょうか? >つかクラス名は大文字で始める、変数は小文字で始めるっていうお約束を >ことごとく守らないからすごく見づらい この点は今のうちから守っていきます。すみません。。
238 : 荒らすな
239 : ごめんなさい、俺があほでした int aはsubExClass35というExClass35のサブクラスで初めて定義されているメンバなので、 ExClass35にアップキャストした後だと、 ExClass35というクラスにはaというメンバは存在しないから、 ExClass35の変数のaにアクセスしようとしても、そんなメンバは存在しないとエラーが起こる. これが実際で、他の俺のレスは全部俺の勘違いだった… 配列でも普通にアップキャストできたごめん
240 : 荒らすな
241 : >>233 まずはエラーメッセージをコピペする方法から学ぶんだ。
242 : 239さん ご回答有難うございます。 頂いたアドバイスで理解することができました。 サブクラスの配列の変数からスーパークラスの配列の変数へ代入した場合、 スーパークラスが参照できる領域は、サブクラスに継承したメンバ変数・メソッドだけという制約がありました。 よって、 class ExClass35{int a; ・・・・以降省略} class subExClass35 extends ExClass35{ int aは削除 } とすることで、 System.out.println(ExClass35Array[0].a); で、期待した「4」を表示させることができました。 大変助かりました。感謝です^^ 241さん そうですね、最初からエラーメッセージ書くべきでした。 事後ですが、以下のメッセージが出ていました。 ======= Exception in thread "main" java.lang.Error: コンパイル問題が未解決です: a は解決できないか、フィールドではありません at クラス.ExClass35.main(ExClass35.java:24) ======= 240さん 荒らしてしまって、すみません。。
243 : >>238 >>240 は常駐してる荒らしだから気にしなくていい
244 : 243さん 了解しました。有難うございます。
245 : 荒らすな
246 : なおしときますね
247 : 素朴な質問ですが、Javaはなぜ大文字と小文字を混ぜているんでしょうかね 例:System.out.printlnというように C言語みたいに小文字だけにすればいいようなかんじですが
248 : なんとか記法
249 : クラス名か変数/メソッド名か一目で分かるようにするため
250 : >>249 どうもありがとうございました クラス名・・・大文字が混ざっている小文字 変数/メソッド・・・小文字だけ ということでよろしいですかね
251 : 荒らすな
252 : >>250 クラス/インターフェイス・・・パスカルケース(単語先頭が大文字) 例:PascalCase 変数/メソッド・・・キャメルケース(先頭を除いて単語先頭が大文字) 例:camelCase 定数・・・大文字スネークケース(全て大文字アンダーバー区切り)例:SNAKE_CASE
253 : X11Util.Display: Shutdown (close open / pending Displays: false, open (no close attempt): 1/1, pending (not closed, marked uncloseable): 1) X11Util: Open X11 Display Connections: 1 X11Util: Open[0]: NamedX11Display[:0.0, 0x7f1c6410c6b0, refCount 1, unCloseable true] X11Util: Pending X11 Display Connections: 1 X11Util: Pending[0]: NamedX11Display[:0.0, 0x7f1c5c001ec0, refCount 0, unCloseable true] # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f1cbd295c58, pid=8362, tid=139761430722304 # # JRE version: 6.0_33-b03 # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.8-b03 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libX11.so.6+0x33c58] XQueryExtension+0x28 # # An error report file with more information is saved as: # /processing-2.0b3/hs_err_pid8362.log
254 : なんだか知らんが Linux板へ行け
255 : 馬鹿には無理
256 : 252さん 書き方の情報有難うございます。 今のうちから、その書き方を心がけておきたいと思います。
257 : RR
258 : 今日、アップキャストとダウンキャストを勉強していました。 ソースを見てもイメージできないと、なかなか理解が厳しいですね。
259 : >>258 クラス図でイメージしてるかな。
260 : javaの印刷APIで印刷させようと思っているのですが、wordやexcelで印刷要求した時に使われるトレイ以外から印刷しようとしているらしく 用紙がないとのエラーになってしまいます。 トレイや向きを指定するにはどうすればよろしいでしょうか?
261 : javaってタブレットの手書きに対応したAPIてありますか?
262 : タブレットの手書きが出来るjavaアプリって何かありますか?
263 : こんなところで質問はもうやめるんだ わかるだろ
264 : R
265 : jtabletとかjpenとか
266 : 今読んでるソースにクラス内でinterface宣言があるんですが、 これってどういう意味があるんでしょうか。
267 : interface
268 : レストン。 たとえばクラス内でインタフェース宣言したら どこで継承すればいいのかな??さっぱりです
269 : その定義が見える範囲(スコープ)で継承すればいいんじゃないの 「public class ***」の中で「public static interface ***」と定義されてるなら どこからでも見えると思っていい あと、interfaceの場合は継承(extends)でなく実装(implements)と呼ぶ
270 : インターフェースにも継承あるだろ
271 : ちゃんと勉強してから答えろな
272 : アスペ?
273 : R
274 : ちゃんと勉強してから質問しろよな
275 : apサーバにDBのデータをキャッシュさせたいんですけど どんなフレームワーク、ライブラリがあるんですか? 実現したい要件としては ・apサーバ間のレプリケーションが可能 ・他システムやJava以外のバッチ処理とかでもDB更新がかかるため、キャッシュ更新はDBトリガーから行える ・ライトスルーキャッシュでよい ・実績がある です。 よっしゃっしゃす
276 : あったら楽チンだねー
277 : tokyo cabinetだっけ?kyoto tycoonだっけ? どっちかそんなんじゃなかったっけ。 DBからトリガーとかスクリプト書けば出来るだろ
278 : >>275 Hibernate関連で分散キャッシュとかあった気がする
279 : あ、Oracle Coherenceがあったw 金額見てRって思った。
280 : 教えて下さい。 int a = 1; int b = 2; int c = 3; int d = 4; 上記の値を一つの文字列にしたいです("1234")。 どのように変換すべきでしょうか?
281 : String s = ""+a+b+c+d;
282 : >>281 すばらしい
283 : R
284 : // >>280 public class ItoS { public static void main(String[] args) { int a = 1; int b = 2; int c = 3; int d = 4; StringBuffer sb = new StringBuffer(); sb.append(a); sb.append(b); sb.append(c); sb.append(d); System.out.println( sb.toString() ); } }
285 : そこまで書くなら StringuBuilderにしろよw
286 : どこのスレに書き込めばいいのか分からなかったのでここで質問させてください。 1.Javaを使用してGUIプログラム(AWT・Swing・SWT?)を作成、勉強したいのですが お勧めの図書や、サイト等はご存知でしたら教えて下さい。 2.一般の人が思い描くプログラムというのはGUIを使って動くプログラム。 と自分は認識しているのですが、どう思いますか? 自分自身のレベルとしては下記サイトの「Javaの基本」は理解しております。 http://www.javaroad.jp/ 以下質問とは関係ない、経緯の話です。読まなくても問題ないです。 ITを全く知らない社員数9人の会社のIT/システム担当として先日転職が決定しました。 この会社の社員の方はGUIプログラムを作ってくれる考えていたみたいですが 自分はJSP/サーブレットしか触って来なかったのでGUIプログラムが作成できず困ってる状況です。 先日「客先のwindows端末でPDF文書を連続して30部以上印刷できないので、フリーソフトを使用するかプログラムを作成してどうにかして」 と言われました。仮にプログラムを作成する場合、自分が知っているJSP/サーブレットで対処できるわけでもないので GUIで動くようなプログラムを習得する必要が出てきた次第です。 ※PDFが何故30部以上印刷できないのか?については不明です。AcrobatReaderを使う文には1〜9999部印刷できそうなのですが・・・
287 : >>286 馬鹿すぎる 向いてないじゃない
288 : >>286 こんなこと聞くとかJSP/サーブレットもできないんだろうな・・・
289 : >>286 正直Javaの基本ができるならGUIなんてそこらへんのサイト見ただけでできるから
290 : >>286 勝手に勉強しくらはい
291 : R
292 : 補足 得手不得手はあるけど
293 : >>286 状況わからないで言われるがままプログラム作るんでなくて ・なんで30部以上印刷できないのか ・そこまでの労力使ってプログラム作成が本当に必要なのか あたりを詰めるべきじゃ?
294 : >>286 .NETにしとけ そのレベルなら一から覚えなおそうが大して変わらんしGUIとサーバーじゃ全くの別物
295 : GUIは後から被せるものだろ。
296 : クラス変数とインスタンス変数はクラスのどの辺に置いてますか? 普通はコンストラクトの上で、 インスタンス変数 コンストラクト メソッド private のようですけど。
297 : クラス変数とインスタンス変数はクラスのどの辺に置いてますか? 普通はコンストラクタの上で、 クラス変数 インスタンス変数 コンストラクタ メソッド private filed,method のようですけど。
298 : >>296 ideのtreeやjavadocで並べ替え、または検索されるんだから、どこでもいいでしょ。そんなことより、classのコメントをちゃんと書こう|読もうよ。
299 : クラス変数とインスタンス変数はクラスのどの辺に置いてますか? 普通はコンストラクタの上で、 クラス変数 インスタンス変数 コンストラクタ メソッド private filed,method のようですけど。
300 : >>287-294 質問のレベルが低すぎてすみませんでした。 自分もあんまりプログラマに向いてないと感じてます。 普通にググってサイト見て勉強してみます。 >>293 そのとおりだと思います。正直そんなに困ることはないので、プログラムなんかは作成したくはないのですが。 何故印刷できないかについては ・相手が操作等を間違えている ・システムがPDF文書を出力する際にに印刷枚数制限が掛けてる なんじゃないかと踏んでいます。 >>294 検討してみます。ありがとうございます。 ありがとうございました。出直してきます。
301 : 自己解決しました
302 : int型の変数に/=して小数点以下もある場合ってdouble型になりますか?
303 : ならん 切り捨て
304 : >>298 どういう意味だかさっぱり分からないんですが。 そんなことよりクラス変数とインスタンス変数はクラスのどの辺に置いてますか?
305 : >>304 どうせ並べ替えたり画面上で移動したりするのはIDE任せだし ドキュメントを生成するときもソース上の順番関係ないんだから 順番なんて大して重要じゃないってことだよ
306 : ソースファイルの体裁に執着する馬鹿いるよな コメントでいちいち仕切り作ったり変数宣言を縦に揃えたり
307 : 初めはインスタンス変数をバラバラに置いてメソッドに合わせて近くにおいてあるんですけど、作ってくうちに変数はコピペで移動していくのである程度クラスが出来てくると変数は一ヶ所にまとめた方がいろいろとはかどるんじゃないですか?
308 : なら君がやりやすいようにやればいい チームでやってるなら統一するべきだけど、個人なら君の作業が捗る以上の意味はないんだから
309 : >>304 どこに置くかなんて考えてない。理由は>>305 の言うとおり。 pythonのdoctestみたいなので使い方を示すとか、どのメンバが重要かとか、依存関係があるとか書いとく方がためになる。
310 : >使い方を示すとか、どのメンバが重要かとか、依存関係があるとか書いとく方がためになる。 プログラミングに関係ないからこういうことは最後の最後までやらない方がいい。
311 : さすがJavaスレ プログラミング = キーパンチ なんですね
312 : 人にプログラムかかせることが多い立場だからかな。
313 : コードを書かなくなると世の中の流れに付いていけなくなりますよ
314 : R
315 : >変数宣言を縦に揃えたり よく分からないんだけど、タブで綺麗にするあれのこと?
316 : >>286 Javaの入門書で「創るjava」という本がある EclipseではなくNetBeansを使った入門書だけどGUIアプリを実際に作りながら学べる良書 Javaの知識が入門レベルならこれお勧め 第3版まで出てるから古いのを買わないように気をつけよう
317 : >>316 実は内心こんな答えをまっていました。 4000円もする参考書は初めてですが、早速注文して見てみます。 ありがとうございます。
318 : いえいえ
319 : いえいえそうではありませぬ あさがくるくるあさがくる
320 : >>315 おれが想像したのは、 int a, b, c, d; じゃなくて int a; int b; int c; int d; こうしておくと… あとで個別に指定できる int a; final int b; private int c; int d = 0;
321 : 指定はともかく俺も複数の変数宣言を1行にはしないな バージョン管理で差分見るときとか分かれてる方が見やすいし コメント書くにもまとまってるとあれだし
322 : アシュたん安全な場所にウェイト
323 : String esc = "KEY_ESC"; String f1 = "KEU_F1"; String enter = "KEY_ENTER"; 変数宣言揃える派なんだけど、 ↑みたいなデコボコな書き方だとミスが解りづらくね? String esc = "KEY_ESC"; String f1 = "KEU_F1"; String enter = "KEY_ENTER"; 揃ってるとぱっと見でミスに気づけると思うんだが。
324 : 定数系は揃えてる
325 : 完璧に揃えるのは難しいから結構適当にしてる
326 : 単にその例が全部”KEY_”で始まってるから
327 : R
328 : >>325 プロポーショナルフォント的な?
329 : >>311 レトロすぎてちょっと意味不明なんですがどういう意味ですか?
330 : >>326 そういうときこそ、縦をそろえるんだよ テキストエディタのBOXコピー、BOXカットなど、縦向きに範囲指定できる機能をつかうと まるで表計算のように楽にコーディングできるからね
331 : じゃあ KEY_ESC___PRESSED KEY_F1____PRESSED KEY_ENTER_PRESSED にしないとな
332 : 俺は死んで当然な人間かどうかが判断基準
333 : ケンシロウ
334 : >>331 KEY____ESC_PRESSED KEY_____F1_PRESSED KEY_ENTER_PRESSED こういうのはたまにやる。 ret = func(p1 ,p2 ,p3 ) とかも書いちゃう
335 : >>330 読みやすさやミスの発見率もそうだが、 揃える一番の利点はそこにあると思ってる。 接頭辞"KEY_"を追加しないとマズイなって時とか、 矩形選択→挿入で正規表現で置換するまでもなく、ゴリッと書き換えられる。 特にenumクラス書くときは、ほとんどExcelの編集みたいな書き方してるわ。
336 : JWindowなどのウィンドウの表示位置とウィンドウサイズを 設定テキストに保存して次回起動時に復元するような処理 を実現したいと思っています。 x, y, w, hの4パラメータをテキストファイルに出力してJARに 含めておき、プログラムからJAR内の設定テキストを更新 したいんですが、サンプルコードがあれば教えてください。
337 : 実行するJARに含めるの?それ人に渡したりしたらどうなる? Preferences使った方が良くないかい?
338 : WindowsのIPv6で通信先のIPアドレスとMACアドレスの対応付けってできますか? IPv4では、”arp-s”でできるみたいですが・・・。 PCはWindows XPです。
339 : コピペが楽(キリッ さすがjavaスレ…
340 : >>337 あRほど、それ専用の機能があるんですね。 ちょっとPreferencesについて検索してみます。
341 : PreferencesはWindowsの場合レジストリに保存するようなので あきらめました。環境に影響を与える機能は好ましくないという 判断からです。アプリケーション固有の設定をアプリケーション の枠内でセーブ・ロードしたいんですが、設定ファイルをJARに 含めてJAR中の設定ファイルを更新したいのが目的です。 とはいってもいちいち考えるのが面倒なので設定テキストを 読み書きする方式にしようと思います。お騒がせしました。
342 : __,,,,、 .,、 /'゙´,_/'″ . `\ : ./ i./ ,,..、 ヽ . / /. l, ,! `, .| .,..‐.、│ .| (´゛ ,/ llヽ | ヽ -./ ., lliヽ .| /'",i" ゙;、 l'ii,''く .ヽ / ...│ ゙l, l゙゙t, ''ii_ :.! : /.._ / ヽ \\.`゙~''''''"./ .|-゙ノ/ : ゝ .、 ` .`''←┬゛ l゙ /.r ゛ .゙ヒ, .ヽ,  ゙̄| . | ./ l ”'、 .゙ゝ........ん l / ヽ .`' `、、 .,i゛ .l| ! ''''v, ゙''ー .l、 |l゙ .il、 .l .ヽ .¬---イ .ll゙, ./ ! ,! .!!...!! ,,゙''''ー .| l.",! .リ | l":| .〜''' ,. │ l; :! .|'" ...ノ,゙./ │ l: l「 ! . ゙゙̄ / ! .| .| ! ,i│ | :! .l. } ,i'./ | :! .| :| . / .| :! | ;! " .| :! ! │ │ :!:| ,! i ,! :! , .l, / .l゙ ! :! | , l. | .| :, : v'" .! |'i .ヽ, ./ :! .ヽ _, _/ / .l ゛ ._/ :l゙
343 : eclipseでphp,c,c++などのプログラミングを使用をするにはどうすればよろしいのでしょうか c,c++はやはりvisual stdioを使用をすることがおおいのでしょうか。
344 : R
345 : >>343 スレチ Eclipse統合M33【Java/C++/Ruby/Python/Scala】 http://toro.2ch.net/test/read.cgi/tech/1340974518/
346 : 売国奴消えろ
347 : ,,... ---‐‐‐‐ 、 ___ ./ ヽ 丶 . / /  ̄ / l: : : : : : : : : : : :.:.. l .../ / / |: : : : : : : : : : : :.:.:....|.../ / _/ |______;;;;;;;l .  ̄ ̄ ̄ |;';';';';';';';';';';';';';';';' ミミ| |;';';';';';';';';';';';';';';';' ミミ| ...|─ | | | / ___ |;';';';';';';';';';';';';';';';' ミミ| ._|_ | | / ____ / |;';';r'",==、、ヽ;';' ミミ| .l_/ / / /\ |;';i 〃 . iヽi;';' ミミ! ./ /\___/ヽ |;';| |丶__ノ l|;';';/f /'''''' ''''''::::::\ |';'| |Bull-Dog.||;';';| | + |(●), 、(●)、.:| + |;';|f゙ヽ^(⌒rつl|';';'| |./⌒) | ,,,ノ(、_, )ヽ、,, .::::| |;';|∞_ソY ◯゙゙).|';';'| | -')´ + | `-=ニ=- ' .:::::::| + |';'|´ ~~~ ~~|';';'| |._,.イ\ + \ `ニニ´ .:::/ + |;';| ブルドック |';';'| | .Tヽ , -r'⌒! ̄ `":::7ヽ.`- 、 ./| |;';| とんかつ. |;';';| | / ノ`ー-、ヘ<ー1´| ヽ | :::::::::::::ト、 \ ( ./ヽ |;';| `ノ ━ ス |;';';'| !__,./ i l.ヽ! | .| ::::::::::::::l ヽ `7ー.、‐'´ |\-、 ___________________________ __ │六│六│六│七│八│◎│◎│◎│七│七│八│八│九│|九| │萬│萬│萬│萬│萬│◎│◎│◎│萬│萬│萬│萬│萬│|萬|
348 : 通報しました
349 : java8から導入されるfilter,map,reduceなどのこれらのメソッドはビューを返す仕様なんですか? それとIterableにごちゃごちゃ入っていて分かり辛く、しかもFillable.addAll(Iterable)がIterable.intoとStringBuilderで使っているのになんでjava.utilにあるのか設計理由が分からないんですが、フィックスまで残り半年もないので仕様はほぼ固まったんじゃないですか?
350 : どうせ馬鹿には使いこなせないから 適当だよ、その辺は
351 : 馬鹿には無理
352 : すっげぇこのスレ!回答無しで質問者をただ馬鹿にするだけの流れが完成してる! いらないよねこのスレ!?
353 : おまえもいらない
354 : いつもListで最近[]を頻繁に使うようになって気がついたんですが、Arraysにはreverse, swapなどないですね。 Collectionsには一通りあるんですが、プリミテブ型[]のreverseやindexOfSubListなどはアルゴリズムが変わることもなくたまに使うんですよ。 バルク・オペレーションもサポートするようなのでCollections由来のlistアルゴもArraysあたりに用意しておくべきじゃないですか?
355 : じゃあ用意しときます
356 : だからお前は誰なんだよ
357 : オレだよオレ!!
358 : いや、俺だよ 間違って子供ができちゃってさー
359 : >>9
360 : ウソだよね? インテルCEO、まだWindows 8は未完成のままリリースされるとこぼしたらしい http://www.gizmodo.jp/2012/09/ceowindows_8.html マイクロソフト「Windows Phone 8」OSの開発に遅れ(The Verge報道) http://wirelesswire.jp/Watching_World/201209120852.html 「Windows Phone 8いまだ完成せず」内部関係者が証言 http://techtarget.itmedia.co.jp/tt/news/1209/21/news03.html
361 : 焦点:揺れるスマホ業界、ノキアとマイクロソフトに最後のチャンス http://jp.reuters.com/article/topNews/idJPTYE88100420120902
362 : >>143
363 : >>349 心配ない。ラムダ関連なんて言語仕様すらロクに固まってない。 永遠に先送りw
364 : flag: for (int i=0;i<2;i++){ for(int j=0; j<3;j++){ if(j>1){ continue flag; } System.out.println(i+":"+j); } } これがどういう動きをしているのかわかりません、解説おねがいします><
365 : for文 http://www.javaroad.jp/java_control1.htm
366 : public native void hoge(); と public static native void hoge(); って、作動に違い出るの?
367 : 出る
368 : インスタンスメソッドはインスタンス化しないと呼べないだろ
369 : 出るけど今のPCなら殆ど速度に関しては差は感じられないよね。
370 : 速度に関しては差は無い 感じられないという話でなく
371 : あっ。馬鹿は出てこなくていいです^^
372 : 根拠も出せずに馬鹿だの利口だの言ってる時点で
373 : バカである根拠… バカとは何かという定義から教えて頂きたく
374 : 馬鹿の例 >>371 >>373
375 : >>373 定義を教えろと言ってるのに例を持ち出してくる奴です
376 : 返答だと勘違いした上にアンカも間違える馬鹿であった
377 : 安価間違ってる?
378 : バカがなんか言ってるな
379 : >>373 拝承
380 : >>370 根拠は?
381 : メソッドに渡す参照(暗黙のthis)一個増えるだけの差はできるはずだが、 JNI呼び出しにかかるオーバーヘッドの方が遥かに大きいので無視できるって話じゃね?
382 : >>369-370 の流れで その解釈はありえない
383 : ありえないと考える根拠は?
384 : 日本語も読めないばかは仕方ないな
385 : なんだ根拠なしか
386 : 小学生かよw
387 : ぷ
388 : >>347
389 : 素人のサンデープログラマーの見解なんか聞いて無いんだけどねえ。
390 : そう思うんなら自分で試せよ
391 : 支離滅裂。
392 : コンパイルが通らないと凄くストレス溜まるんですが、 皆さんはどうやって解消してます?
393 : ふて寝
394 : IDE使う
395 : まだきちんと書いてなくて、実行してもうまく動かないところは コンパイルエラーになるように書いてる。 return文をコメントアウトしておくとか。 実装忘れて実行時エラーの方がよっぽどストレス溜まるわ。
396 : 酒を飲む
397 : 現場で酒は飲めないです。。
398 : 職場でも出来るストレス解消 http://www.youtube.com/watch?v=7U_U_W2LRE8
399 : ストレスの原因の解消法ではなくて ストレスの解消法を聞いているという
400 : ふひー
401 : コンパイルが通らないなんてことあるのか?
402 : あるよ
403 : >>401 hint 一人で開発してるわけではない
404 : ストレスで金槌を壁に叩きつけるなんて話があるよね。
405 : >>392 コンパイルエラーを1つずつ潰すのは楽しい。単純作業だから時間かければ終わるし。 デバッガとかxUnitを使ってないとこで動的プログラミング言語のバグを追っかけるのは苦痛。
406 : プログラムからhttpアクセスして複雑なjavascriptページへアクセスしたいのですが、 どうすればよろしいでしょうか? 見たところhttpclientは使えなさそうなのですが。
407 : telnetで80たたくのと同じようにやれば?
408 : それだとjavascript実行しないよね?
409 : C#でやればおk
410 : 実際にブラウザ(のコンポーネント)で動かすしかないよ
411 : Netbeans7.3の内蔵Webブラウザに期待。 WebKitベースだとか
412 : 内蔵ブラウザに何を期待するの?
413 : APIのjavadoc見れるのは便利かもな
414 : いらねー
415 : どうでもいいけどいいかげんjavadocのデザイン変えろよ 時代錯誤にも程があるだろ
416 : >>415 勝手に変えれば良いだろ。
417 : おはようございます すみません、教えて頂きたのですが、 例えば以下のような、クラスがあるとします。 class ExThread4 extends Applet{ } ExThread4は自動的にObjectクラスを継承しています。 AppletクラスにもスーパークラスであるObjectクラスが継承されています。 (私の中では下のようなイメージです) class ExThread4 extends Object,Applet{ } 従って、Objectクラスを2重で継承しますので、 これは多重継承にならないのでしょうか? JAVAでは多重継承不可になっております。 コンパイルは通りますので、問題はないのは分かるのですが、 これが多重継承に当たらない理由が分かりませんでした。 宜しくお願い致します。
418 : >>417 そういうわざとらしい書き込みすんな かまってほしいなら別でやれカス
419 : 今時アプレットとか、負け組にも 程がある。
420 : でも、Flashってなくなるんだろ? HTML5も早々に企画倒れの気配だし、 復権のチャンスかもな。
421 : >>417 extendsを省略した場合のみ直接Objectを継承したことになる よってExThread4もAppletも直接にはObjectを継承していない http://docs.oracle.com/javase/jp/6/api/java/applet/Applet.html 継承関係はこうなる Object -> Component -> Container -> Panel -> Applet -> ExThread4
422 : ActiveX復活か
423 : >>420 mobile向けだけの話だと思ってた。
424 : FlashはセキュリティホールありすぎてPC版もやめたいらしいな
425 : javaのxmlパーサで、xmlヘッダにDTDをチェックしない設定にしているのに、チェックしようとURLアクセスしてエラーになっているようですが、 これって仕様なのでしょうか? xmlヘッダ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd "> <properties> <entry key="TEST.DAT1">>ユ</entry> </properties> org.apache.commons.configuration.ConfigurationException: Unable to parse the configuration file at org.apache.commons.configuration.XMLPropertiesConfiguration.load(XMLPropertiesConfiguration.java:155) Caused by: java.net.MalformedURLException at java.net.URL.<init>(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
426 : <entry key="TEST.DAT1">> ↑ DTD以前にxml構文エラー
427 : >>425 パーサーの名前とJDKのバージョンぐらい書けよ
428 : >>426 書き間違えました。 <entry key="TEST.DAT1">です >>427 パーサーは特に指定していないのですが、com.sun.org.apache.xercesが使われているようです。 Windowsの1.7.0_06-b24です。 アプレットで動かしており、Java Plug-in は10.6.2.24です。
429 : なんか全然java出来ない変な子居座ってるね。
430 : 417です。 421さん お礼遅くなり、すみません。(先ほど帰宅しました) ご回答有難うございました。 ネットや本で調べてみたのですが、分からなく困っておりました。 頂いた回答で、問題クリアになりました。助かりました。
431 : いえいえ
432 : いえいえ
433 : javaの暗号で暗号化・復号が高速なものはどれですか?
434 : 抽象度の高いAPIがJavaには必要な気が CSのwebbrowserみたいなクラスが
435 : >>429 よう馬鹿。
436 : >>433 無意味な質問だな 速度だけ出ればいいならビット反転とか数バイトごとに1足すとかになるぞw
437 : >>433 How much?
438 : 電車やっと動いた。
439 : >>434 シーザー暗号
440 : >>434 CSってなに?
441 : >>440 Javaのパクリとか言われてたのがいつのまにか完全にJavaがパクる側になってたアレだろ
442 : シーシャープだろ。 アホは俺用語を好んで使う。 察してやれ。
443 : ジャバスレだからてっきりC/Sのことかと思った
444 : クライアント、サーバ
445 : クライマックスシリーズ
446 : >>434 日本語でおか
447 : C#はCSて書く奴は頭悪い
448 : System.loadLibrary()でロードしたライブラリのアンロードってどうやるの?
449 : できない
450 : ライブラリをロードしたクラスをロードしたクラスローダが破棄されればアンロードされるんだっけ?
451 : http://docs.oracle.com/javase/jp/6/technotes/guides/jni/spec/invocation.html#JNI_OnUnload
452 : >>450 いみふだけど、されない
453 : >>429 質問・相談スレッドだからな
454 : >>448 ググったらこんなん出てきた http://codethesis.com/sites/default/index.php?servlet=4&content=2
455 : ググると必ず出てくるコイツ・・・なんとかならんの? http://www.buzzword.jp/img/face10.png
456 : 質問です。 とあるものをネットで検索して、さらにその結果を吟味したのち 適合するものを出力する、といったソフトを作りたいのですが 独習JAVAなどの本で勉強して、できるようになりますか。 もしダメならどういう方法が有効ですか。 当方、勉強を始めたばかりで、 「素数を出力する」とかくらいのものをやっと作れる程度です。
457 : そうだな。 まずHTTPとHTMLについて勉強しよう。
458 : >>456 ネットで検索や吟味に詳しくないと無理。JAVAとは関係ないな。
459 : 検索には必ずGoogleなどのAPIを使えよ 間違ってもHTMLを解析しようなどと考えてはいけない Web APIの使い方はJava関係ない
460 : >>456 ちなみにプログラムからの検索を禁止している検索エンジンもあるからな。自分で検索するというはなしなら関係ないが。
461 : JAVAは関係ないのですね。ありがとう。 どうりでどの本を見てもわからんわけだ。 htmlは、Webサイトで何度も作った経験があるので少しはマシかも。 httpは今から勉強します。 あと検索に関する注意も心に留めておきます。 なんか見当違いな質問になってしまったけど 回答をくれてありがとうございます。
462 : >>455 そいつのサイト内容が中途半端で 邪魔だけど検索エンジン的には上位だからなw まあ悔しかったらもっといいサイト自分で作って 検索エンジン対策がんばるんだな
463 : JavaFX2.2で作ったプログラムはユーザはJREを入れれば動きますか?
464 : >>455 とりあえずブロックしてみるとか ブロックしても出てくると聞くがw
465 : 個人的にはTASUOのサイトより、TERAIのサイトのが上に来て欲しい
466 : javaのlangパッケージ専用だっつーの ほかのAPIはスレチだカス 別でやれ
467 : 一般にJavaというとVM、言語、ライブラリすべてを指します
468 : すべての中にはドカタプログラマも含まれます
469 : 馬鹿には無理
470 : try-with-resorses構文がよく分からんのだが、 try(@){ A } @の中にオートクローズさせたいものを3つ入れたりってOKなの? 例えば2個めでダメになったらその後の処理はどうなるのと
471 : アプレットでGraphics2Dを使ってテクスチャを描画するのですが、 拡大・縮小したとき補間して滑らかにするにはどうやればいいですか?
472 : >>470 > @の中にオートクローズさせたいものを3つ入れたりってOKなの? OK > 例えば2個めでダメになったらその後の処理はどうなるのと 初期化に成功したリソースは自動的にcloseが呼ばれる。 close時に例外出た場合は、初期化時に出た例外に Throwable#addSuppressed(Throwable) で追加される。 詳しくは言語仕様読め。 http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.20.3
473 : >>471 RenderingHintsのKEY_INTERPOLATIONで好きなの指定するとか。
474 : >>473 thx
475 : ボタンが押されたらブロックを出し、押しているボタンが離されたら消滅されるスクリプトってドウ組むの? Input.GetButton("b")で出すまでは行ったんだが消し方がわからない 教えてください
476 : >>472 にほんごでおk
477 : >>475 JavaScriptはスレチ
478 : >>477 本当だすまんありがとう
479 : DB(oracle)のテーブルAのカラム一覧を取得するにはどうしたらいい? sqlplusで繋いでdesc A とやった時と同じ結果をjavaで取得したいです
480 : あ、自己解決したかも。 select *で取得してgetColumnName()すればおk?
481 : それで十分ならそれで良いけどw 何を使ってOracle叩くのかわからないけれどもJDBCなら DatabaseMetaDataというのがあるよ。
482 : Oracleのメタデータを取りたいなら select * from USER_TAB_COLS where TABLE_NAME='A' すりゃいい
483 : jdkは、自動でアップデートされないんでしょうか? ずっと1.7.0_01のままなんです。危険ですよね?
484 : 別に。 サーバーのソフトが勝手に バージョンアップされても困る。
485 : むしろ最新バージョンをいきなり入れる方が危険だろ 基本的に最初のうちは人柱バグ取り用と考えて、アップデートは様子見したほうがいい
486 : >>483 JDKとJREは違う
487 : >>484 そーなんですか。 jdk*.*.*_**\binにパスを通しておき、java -versionを実行すると、あるマシン ではパスを通してあるほうのjavaのバージョン(自動アップデートがなされず、最新でない)を表示するのに、別のマシンだと、 自動アップデートで最新になっているほうのjavaのバージョンが表示される。 これはなんでだろう?
488 : >>487 横だけど情弱だろう、winだろう
489 : OSはWin7 SP1とWinVista SP2です。 前者は64bitですが、javaは32bitです。後者は32bitです。
490 : ランタイムとか開発環境は自分で管理するものだと思うんだが。 勝手に最新バージョンに更新しようとするMSが異常なだけだ。 WindowsUpdateでさえ更新するかどうかは管理者の判断に任せる べき性質のもの。
491 : うちのオカンが管理できるわけないだろ!
492 : >>487 その別のマシンの該当パスにjdkが入ってないか、 パスの順番上、jreの方が優先されてるんじゃないかね
493 : アプレットでローカルディスクにファイルを新規に書き込むとき、セキュリティー的な制限を受けてしまうのでしょうか? それとも何も考えずにそのまま書き込めてしまうのでしょうか?
494 : ちょっとはググれよ https://www.google.co.jp/search?q=%83A%83v%83%8c%83b%83g%81%40%90%a7%8c%c0
495 : 32ビットや64ビットではどこが違うの? eclipseの他にnetbeansというのもあるみたいですが、現場では使われているの?
496 : の? ばっかりじゃ前へすすまないぞ 調べるなり使うなりしてみろよ
497 : >>495 現場で使われているかどうかは現場によるんじゃないかな
498 : Javaを本を読んでも文法は分かるが、プログラムを組むのは困難だ やっぱり現場で試行錯誤でやっと身に付くものなんですかね Javaをひととおり習得するのは、10年ぐらいはかかりますか フレームワークまで
499 : java初めて1ヶ月でようやく簡単なロジックができるようになった程度なのに いきなりサーバーサイドのアプリケーション開発に参加してね^^で頭イカれそうです
500 : サーバサイドがある程度できる上司なり先輩が居るだろうから そいつに質問しろ。 まぁたいてい酷い扱い受けることになるけどな。
501 : サーバーサイドって今更だけどサーブレット、jspのことか? SQLの知識はいる? mysql,postgresqlの知識も ITの仕事もなんか一人黙々としたかんじだけど意外と人間関係もしんどいですか?
502 : >>501 サーブレットとJSPすな。 ついでにインターフェイスも作らされそうでhtmlとJavaScriptやらなイカン感じです。 1画面作るだけなんだけど、初心者のオラには難しいっす SQLはテーブルとカラム追加・編集・削除できれば何とかなりそう・・
503 : フレームワークとかミドルとか使ってないの?
504 : アプリで列を追加するクソシステムには 関わらない方がいい
505 : PC上で流れている音を取得する方法ってありますか? AudioSystem.getMixerInfo()ではマイクとスピーカーしか得られないようなのです。
506 : ローカルのServerSocketに接続し通信を行っていると、必ずどこかでwriteもしくはreadが戻ってこなくなってしまうのですが何故でしょうか?(データは常に流しています) 検証のために同一の通信を行っても発生個所は安定せず、readとwriteに大き目の配列を渡すと発生までの時間が早くなりました。
507 : >>505 WindowsVista登場当時に騒がれたのは、サウンドレコーダー なんかでシステム音声が録音できないという問題。 これは結局システムのミキサーデバイスでスピーカー出力を ミキサーから取り出せるように設定する必要があった。 Windowsのコントロールパネルからミキサーデバイスの設定を 確認してみては。
508 : さっさと失せろゴミカス 優花4歳
509 : >>506 求む、エスパー5級
510 : >>506 つhttp://ideone.com/
511 : >>507 自分のWindowsにステレオミキサーが無かったため、 作ろうとしたのですが、どうやら難しいようですね… 丁寧な説明をありがとうございました。
512 : langパッケージ以外スレチ ほかでやれ
513 : >>512 そんなルールがどこにある?
514 : 流石にネタレスだろ java EEはスレチ(=javaじゃない)って言ってた奴もいたけど
515 : >>511 板違いだけどWindowsのサウンドドライバを更新すれば 直る可能性はある。これ以上はPC初心者板あたりで 質問してくれ。
516 : 質問です。 HTMLで扱う日付の形式は「2012-10-17T06:18:18+00:00」のようなものではないですか。 これをDateかCalendarにパースする最適な方法を教えてください。 Commons等のライブラリ関数でも結構です。 よろしくお願いします。
517 : utilパッケージはスレチ
518 : HTMLはスレチ
519 : >>516 「W3CDTF java」とかでググってライブラリなりソースなり持って来る感じになると思う
520 : >>516 W3CDTFより若干条件が緩いので パースの際はちょっと加工が要るみたい ttp://hail2u.net/blog/webdesign/difference-between-w3cdtf-and-dates-and-times-in-html5.html
521 : >>519 W3CDTF っていうんですね。 大変勉強になりました。 ライブラリを探してみます。 どうもありがとうございました。
522 : >>520 すみません、投稿がクロスしてました。 参考資料まで探してくださってありがとうございます。 さっそく実行してみます。助かります。
523 : 馬鹿には無理
524 : >>523 馬鹿乙。
525 : >>524 馬鹿乙
526 : System.exit();って書いたスレッドのみ終了します?それともメインスレッドのみ?
527 : System = Java VM
528 : 今javaの勉強していて、メニューバーから画像ファイルを読み込んで表示させたいんだが、 参考書とか見てもメニューバーを作成するとこまでしか載ってないんだ。 複雑なプログラムになるんですかね?
529 : >>528 分けて考えろ。 1. 外観作成(メニューバー、開くメニュー、画像表示領域など) 2. 開くメニューを押された時の動作 3. ファイルを読み込む動作 4. Javaでの画像ファイルの扱い方 5. 表示領域への表示方法 それぞれのやり方がわかるなら後は組み合わせるだけだ。
530 : public static void main(final String[] args) この final ってつけた方がいいの?
531 : 不注意で args に代入しちゃうかもしれないって心配があるとか findbug や checkstyle を黙らすために付けた方がいいって事はある。 そうでなければ特に必要ない。
532 : メソッド引数に対するfinal修飾はそのメソッドの設計者の宣言だと思え。 そのメソッドが引数の中身を変更するつもりがないなら付けるといい。 そのメソッドを呼び出す側も比較的安心して引数を渡せる。
533 : そのmain関数を「書く」人が変数argsに別の配列を代入してしまうようなうっかり さんであれば、付けた方が良い。 ただしそういう人はargsだけではなく他のメソッド内変数についても再代入の必要が 無い場合はガシガシfinalを付けるようでないと首尾一貫していないと思う。 そして実際そういうコードをあまり見ないと言うことは、世の中はそれほどうっかり さんであふれているわけではないということらしい。これ幸い。 基本的にはメソッドの引数にfinalをつけたところでそれはそのメソッドを「書く」 人にとって意味があるだけで、そのメソッドを「使う」人には何の御利益もない。 この辺りcのconstとはちょっと違う。 サービス業としては使う人の便益を優先したいから、インターフェイスを出来る だけスッキリと見せるためにfinalは付けないほうが好まれると思う。
534 : 馬鹿には無理
535 : >>532 finalと中身の変更は関係無いし そういう宣言の代わりにするというならjavadocコメントに書いた方がいい
536 : 配列の要素変更されたりオブジェクトの状態変更されたりは final じゃ防げないから、 その手の宣言としては不適切だな。 Java8では @ReadOnly とか追加される予定なのでそれ待ちした方が。 http://jdk8.java.net/type-annotations/
537 : 引数にfinalを付けるとそのコードを書いた人はひょっとするとCやC++からJavaへの転向組で まだfinalの意味を良く把握していない程度にはJavaでの開発経験が浅いと疑わせることで 利用者に注意を喚起するという大変有用な効果がある。 なので書く人が必要だと思ったときは積極的にfinal付けるべき。 そちらの方が使う側としてもお馬鹿なコードを避けるよい目印になるので助かる。
538 : >>537 それはない
539 : 引数への再代入って何が悪いんだ? 呼び出し元を変更してるんだと勘違いするようなアホがソース読んでも そんなレベルで他のところもまともに理解できるとは思えない
540 : 再代入しない方が「お行儀が良い」ってくらいじゃね
541 : 使いまわしで変数名と値の整合性がなくなる場合や、 使いまわしするために整合性考えなくていい無意味な変数名にしちゃうようだと行儀悪いね。 引数に限らんけど。
542 : 限らんよね
543 : 俺がお前らの書いたソースを読む機会なんてないだろうから別にどうでもいい
544 : javafxをアンスコした後ならprogramファイルにある oracleフォルダごと削除しても問題ないですか?
545 : メソッドの上の方で引数をチェックして、値によっては既定値を使ったり調整したりするようなときは 再代入する方が合理的だと思う
546 : 引数のfinalは他のfinalとは違って完全に実装の詳細 メソッドのシグネチャとは無関係
547 : 無関係だね
548 : HTMLのタグからマッチする複数の要素を取り出すプログラムを作っています。 しかし、要素を一つしか取り出すことができません。 <a>aaa</a> <a>bbb</b> <a>ccc</d> aaaしか取り出すことができません。どうすればいいのでしょうか? String st; String pt="<td><a href=\".+?\" ei=\"\\d+\" class=\"et\" target=\"_blank\">(.+?)</a></td>"; //このパターンに一致するものをすべて取り出す。 Pattern p = Pattern.compile(pt); while((st = br.readLine()) != null){ Matcher m = p.matcher(st); if(m.find()){ System.out.println("Match"); System.out.println(m.group(1)); } }
549 : >>548 そもそもパターンとソースがマッチしないような気がするけれども、 改行がないとかそんなところじゃないか。 while (m.find()) { ほげほげ } でいんじゃね。
550 : >>548 .+? って何だ?最小一致じゃなきゃダメなのか?
551 : >>550 "が.に含まれるからダメでしょうね
552 : String pt="<a( href=\".+?\" ei=\"\\d+\" class=\"et\" target=\"_blank\")?>(.+?)</a>"; String pt="<a( href=\".+?\" ei=\"\\d+\" class=\"et\" target=\"_blank\")??>(.+?)</a>"; >>548 最小一致でどーだ。
553 : WindowsとMacでクロスプラットフォーム開発してる方に質問があります。 社内で過去にVB.NETで作られたパッケージをC#、Javaどちらで移植するか検討していまして、開発コストを下げるためにJavaで作りたいという感じになってます。 Javaで心配なのは、UIをどうするかということで、UIのViewだけはOS毎に作って、ドメインロジックだけを共通化する手法が一般的なのでしょうか? 成功談や失敗談、過去の開発経験等を参考に聞かせてください。
554 : 左シフト30回目までは正しい結果が得られるのですが、31回目以降おかしな数字になります。 初心者なので何が何だかわかりません><; public class Rensyu3 { public static void main(String args[]){ int w; w=1; for(int i = 1;i<=30;i++){ w = work(w); System.out.println("左シフト"+i+"回目"+w); } } public static int work (int num){ int kekka; kekka = (int)(num << 1); return kekka; }
555 : // / / バカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ 馬鹿には無理 / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
556 : 入力のデータが間違ってる。 <a>aaa</a> <a>bbb</a> <a>ccc</a>
557 : >>554 シフトとローテートの違いについて知らないようだ。written by>>550
558 : >>554 おかしくはないっすよ。 intは32ビットの符号付整数。 31回目のときは31ビット目、マイナスフラグのビットが立っちゃうからマイナスになる。 32回目以降は立ってるビットがなくなっちゃうから0になる。 左シフト30回目1073741824 左シフト31回目-2147483648 左シフト32回目0 左シフト33回目0
559 : >>548 です。すみません説明不足でした。 <a href="任意のURLが書いてある" ei="任意の数字" class="et" target="_blank">取り出したい文字列</a></td> このような構成のタグが複数あり、「取り出したい任意の文字」の部分をすべて取り出したいのです。
560 : >>559 すれちがい
561 : >>559 できたよ http://ideone.com/Mgt7w1
562 : へえ
563 : 簡単な質問だとおもうのですが、質問よろしいでしょうか? java.lang.ClassのforNameをつかってclassオブジェクトを手に入れてそこからnewInstanceをするのと newでインスタンスを作った場合の使い分けなどはあるのでしょうか?
564 : >>563 生成するクラスを知っている時と、そうでない時。
565 : 後者はそのクラスの存在や引数の型や列びの妥当性がコンパイル時に静的に検証されるが 前者にはそれがない。前者は実行時にインスタンスの生成を試みて初めて上記のような 事柄が正しかったかわかる。つまり前者は単純により危険。 なので事前にどんな場面でどんなクラスのインスタンスを作るのか決まっている場合、 つまりプログラミング中の大半のケースでは後者のみを用いる。 前者はインスタンスを生成したいクラスを開発時に全て列挙出来ない場合、例えば プラグインの読み込みや様々なクラスを対象にしたシリアライザ・デシリアライザと いった特別な仕組みを「作る」ときに良く用いられる。 ただしその仕組みを「使う」人は前者を用いる必要は無い、そういう風に仕組みを 作るのが開発者の良心。
566 : >>565 >引数の型や列びの妥当性 「コンストラクタに渡す」引数の型や列びの妥当性、ね。書き忘れた。
567 : >>564-566 なるほど よくわかりました。 ありがとうございました。
568 : いえいえ
569 : いえーい
570 : public static void main(String args[]){ int n=Integer.parseInt(args[0]); String[] data= new String[n]; int i; boolean flg = true; for(i=0;i<n && flg == true;i++){ if(i < 100){ data[i] = "100じゃないよ^^;"; } else if(i == 100){ data[i] ="100だよおめでとう(*'▽'*)♪"; } else if(i == 111){ data[i] = "偽ストッパー( ̄ー ̄)ニヤリ"; flg = false; } else{ data[i] ="行けるところまで突っ走れ!"; } } if(flg==false){ for(;i<n;i++){ data[i] ="どりゃああああストッパー回避やあああ"; } } for(i=0;i<n;i++) System.out.println("data["+i+"]="+data[i]); }
571 : >>570 無差別に技術をついばむ鳥 http://indori.blog32.fc2.com/ ここのやつが書くプログラムみたい、超ダセエ
572 : >>555
573 : textファイルを一番早く読み込むクラスは何でしょうか。教えて下さい。 無難にbufferdreaderあたりしか思い付きません。
574 : >>573 どういう、どこに置いたどれぐらいの大きさのファイルを、一体何のために 何故速く読む必要があるのか、その辺りを書かないのではなんとも。 単なる「○○が最強?」なんて質問が通用するのは小学生まで。
575 : >>574 バカかお前、理由なんて聞いても意味ないだろ。 バカの考えだよ。
576 : テキストファイルをよみこむのは、はやくならないとおもうよ
577 : JavaのGCログ見てて気になったんだけど XmsとXmxを同じ値にしててもNewの領域が減ったり増えたりしてたんだけど仕様? Old領域は変わりなかったんだけど
578 : >>573 java ファイルはtextファイルだから、コンパイラのクラスが実行時のどのクラスより早くtextファイルを読むと思うよ
579 : 思うよね
580 : ツマラン
581 : 早く 速く
582 : Reader系のI/Oって基本的に行単位だったと思うんだけど InputStream系でサイズ取得して一括で読むほうが早そう。
583 : JavaとXMLを融和した言語ga_lgを作ったよ URL:http://assy2.blogspot.jp/ <code lang="ga_lg"> <class name="Hello" access="public"> <method name="Main" access="public" method_type="main" val="\argv[]"> <func path="\System.out.println" val="Hello, world!" /> </method> </class> </code>
584 : >>582 C, 古いPerl, 古いRubyなどのように、バイナリファイル扱いで一括でよみこめば速いけど Javaは、unicodeに変換する必要があるから、そうしない
585 : そうしないね
586 : >>582 行単位で読み込めるのはBufferedReaderとか限られたクラスだけだぞ。
587 : まとめて読むことでIOを速くしたいって話なら 普通にバイト列として読んでからデコードするとか 単にバッファ使うとかすればいいだけじゃないの
588 : だから理由を聞いたのに・・・
589 : >>588 理由w バカすぎわろたw
590 : >>555
591 : 【 課題 】メニューバーから画像ファイルを読み込んで表示させる。 【 形態 】5.クラスと、GUI 【 GUI 】制限なし 【 期限 】10/23 【 Ver 】java version "1.7.0_07" 【 用語 】 【 補足 】今javaの勉強していて、メニューバーから画像ファイルを読み込んで表示させたいんですが、 メニューバー→ファイル→ファイルを開くってところまではいくんですが、そこからがよくわからないです。 参考書もメニューバー作成までしかのってないです。複雑なプログラムになるんですかね?
592 : >>591 スレ間違いました
593 : 初心者です。 本読んでたら 2.3*10^21 = 2.3e21 と書いてありました。 2.3*10^21 = 2.3*10e21 だと私は思っていたのですが、どなたか教えて頂けませんか?
594 : ^ とはなんでしょうか? 排他論理和?
595 : >>594 10の21乗のことです。 2.3×10の21乗 = 2.3e21 と記述すると本に書いてあったのですが、いまいち理解できなくて
596 : 2.3*10^21 = 2.3e21 で正しい 関数電卓でもExcelなどでもそうなってて、コンピュータで使われる指数表記としては 極めて非常に一般的
597 : *を使って書くなら 2.3*10^21 = 2.3*1.0e21 になる eの後の数字(指数)は数の小数点をいくつ右に動かすかを表していると思えばいい
598 : 特定の計算機やExcelが「2.3*10^21」をどう解釈するかって意味なら Javaスレで聞くことではない。 少なくともJavaでは 2.3*10^21 はコンパイルが通らない。
599 : >>597 さん すいません、それじゃあ例えば 2.3*13^21= ↑を同じように表記した場合どうなるか教えて頂けますか?
600 : >>598 さん 失礼しました、スレ違いでしたか。 申し訳ありません、消えます。
601 : >>599 2.3*Math.pow(13, 21) JavaをはじめC系の言語には組み込みの累乗はない >>598 そういう意味ではないと思うよ
602 : 理系だとEや^による指数表記は結構普通に目にしてきたと思うんだが >>594 ,598 は文系?
603 : TimeUnitでナノ秒を秒に変換しようとしたら、結果が整数でしか取得できないんだなこれ。 double版のオーバーロードがあっちゃいけない意味が分からない。 小数点以下も得たい場合、自分で計算する以外にまともなやり方があるのであれば教えてほしい
604 : メソッド名同じ引数型同じで戻り値だけ違うっていう多重定義はできないから。
605 : >>604 引数もdoubleにすればいいでしょ 戻り値がdoubleならその方が自然
606 : ナノ秒単位で少数とか要らんし、double使う必要性が……
607 : >>602 アホか
608 : 奥仲麻琴
609 : 正規表現を使うためのクラス(java.util.regex.Pattern)について教えて下さい。 ・使い始めるときにnewでインスタンスを生成するのではなく、クラスメソッド のcompileを利用するという仕様になっているのはなぜですか? このクラスは、 ////////// Pattern p = Pattern.compile ("X\\d+X") ; Matcher m = p.matcher ("abcX1XYX23Xz") ; while ( m.find() ){ System.out.println ( m.start() ) ; } ////////// といった形で利用すると言われてますが、なぜ Pattern p = new Pattern ("X\\d+X") ; のように、newで新たにインスタンスするような形になっていないのでしょうか? 一応、Java SE 6 (1.6.0_22) のクラスライブラリのソースコード(src.zip)の java/util/regex/Pattern.java を見て、 ・compileはクラスメソッドである ・その中でコンストラクタを呼び出している ・コンストラクタのアクセス制限はprivateになっている …というのまでは分かったのですが、そういう形になっている理由までは 分からなかったです。。 ご存知の方、よろしくお願いします m(__)m
610 : Calendar.getInstance() とか
611 : >>609 デザインパターン、シングルトンで検索
612 : >>602 答えはほうけいだ!!!
613 : >>611 いや、compileメソッドでコンストラクタ呼び出してるんでシングルトンで検索しても意味なくない?
614 : Calendarクラスで言うgetInstanceがPatternクラスだとcompile というだけの話でしょ。何が違うの?
615 : >>614 CalendarもPatternもシングルトンじゃないところは同じなんじゃね
616 : へえ
617 : 静的メソッドcompileからコンストラクタを呼び出しているのは よく言えば実装の詳細、悪く言えば手抜き 実際、Patternのコンストラクタの実装は嫌な感じに仕上がっとる コンストラクタが公開されていないから見なかったことにしておくような感じ コンストラクタは名前が一個で固定なので表現力が乏しい。 コンストラクタは、できるだけ、本質的な構成要素を引数にして オブジェクトを単純にコンストラクトするだけに留めておき、 字句解析とかは他でやるのがお勧め。
618 : >>609 後から新しいPatternの実装に切り替えたい時に、世界中で使われてるコンストラクタ全てを変更するのと、あなたが見たコンストラクタ一箇所変更するのとどっちが楽か。 複雑だしパフォーマンスにも影響しそうだから、そうしといたんじゃない。
619 : 桜庭ななみ
620 : staticメソッドだと名前変えれば同じ引数型のファクトリメソッド新しく作れるが コンストラクタの場合は、同じ引数型の別のコンストラクタは作れないから。
621 : 引数なしのコンストラクタなし 引数ありのコンストラクタがいくつか そんなクラスを継承して新しいコンストラクタ増やしたら、 スーパーコンストラクタよべやボケって怒られた そんなルール知らんかった(´・ω・`)
622 : >>609 コンストラクタを使わずにstaticなファクトリメソッドの類でインスタンスを生成させる メリットの一つはインスタンスの生成を細かく制御できること。 例えばPatternの場合、newを使った場合は毎回パターン文字列をコンパイルして新しい インスタンスを生成するけれども、ファクトリメソッドを使った場合は例えば以前に同じ パターン文字列でPatternオブジェクトを作っていた場合はコンパイルもインスタンス 生成もすっ飛ばして以前に生成したインスタンスをそしらぬ顔をして返す、などといった エコな実装も可能になる。 またファクトリメソッドを用いた場合は必ずPatternクラスのインスタンスを返す義理は どこにもなくて、その気になればPatternクラスのサブクラスを返すことも出来る。 例えばパターン文字列によって異なる実装のPatternオブジェクトを返すことも出来る。 などとファクトリメソッドでのインスタンスを生成には「一般論として」色々とメリット はあるのだけど、何故Patternクラスがそうなっているのか本来の意図はよう知らんw
623 : 知らんならレスすんなボケ
624 : 重箱の隅で盛り上がってうらやましい
625 : 馬鹿には無理
626 : 配列をニューするときって箱をニューして中身もニューするけど 箱も中身もいっぺんにニューする機構ってなにかなかったっけか? テンプレでなんかあった気がするんだけど思い出せない。
627 : Arryas.fillじゃなくて?
628 : >>627 fillだと、newじゃなくてコピーになるんかね。 まあ大抵はこれでいいのか。
629 : import static java.util.regex.Pattern.compile; Matcher m = compile("X\\d+X").matcher("abcX1XYX23Xz") ; while (m.find()) { System.out.println(m.start()); }
630 : んー。JAVAのシステム・プロパティとやらを設定したいのだが、どこからこの設定は弄れるの? ぐぐればぐぐるほどわからなくなっていく。 コマンドプロンプトで何かすればいいのか?
631 : うん、そうだよ
632 : ひとつ前に進んだ。コマンドプロンプトからJAVAで入れた。 んで、設定したい「sun.java2d.noddraw」を入れたら「そんなメイン・クラスはありません」とエラーが出た。 Windows7は名前が違うの? 何でないの? ぐぐったページには「sun.java2d.noddraw」と書いてあるのに。 ちなみに、これはDirectDrawを使わないようにするというもの。 フォント関連でDirectDrawを使わないようにしたいのに使うJAVAソフトがあるので停止したいの。
633 : そうだね
634 : そうだよねー
635 : よし!よし! そのまま、一歩進んで二歩下がるんだ
636 : 人生はワンツーRー、汗かきもろ見え
637 : それじゃ360度逆戻りしちゃうょ〜
638 : ワン・トゥー!ワン・トゥー!
639 : いつまでやってんだゴミども
640 : また釣りしてんのか。 >>632 は。
641 : http://www.buzzword.jp/img/face10.png
642 : >640 釣りではない。項目が見つからない。作れるのなら教えてくれ。 作れないのならどうすればDirectDrawを止められるかを教えてくれ。フォントを綺麗にしたいのだ。
643 : したいのだぁ
644 : 教えを請う人間が「○○してくれ」なんて言わないからこりゃ釣りだわ
645 : したいのだぁー
646 : >>642 java -help
647 : エスパーしてみる。 コントロールパネルからJavaコントロールパネルを開いて Java Runtime Environment設定をごにょごにょする。
648 : INIファイルぽいのを取り込むために String[] pair = line.split("=",1); if(pair[0].equals("TITLE"))u.title=pair[1]; else if(pair[0].equals("COUNT"))u.count=pair[1]; else if(pair[0].equals("URL"))u.url=pair[1]; こんな調子で20項目あるんですがもっと処理軽く書けますか? Stringでswitch文使えないし。 uのメンバはHashMap1つにしちゃうとか?
649 : HashMap使うとか
650 : つ Properties
651 : もっとこってりしたものが欲しいなら commons configuration
652 : apacheとかtomcatなどの設定は本見ながらやっていますが、現場では状況に 応じてカスタマイズしてる。 apacheのホームページの英文を読みながら、現場の必要に応じて設定してますか?
653 : つ【ApacheKiller】
654 : String[] pair = line.split("=",1); switch (pair[0]) { case "TITLE": u.title=pair[1]; break; case "COUNT": u.count=pair[1]; break; case "URL": u.url=pair[1]; break; }
655 : javaseもjdkもjavaeeもインストールしてclasspathもpathもトムキャットのservlet-api.jar,jsp-api.jarやbinにきちんと指定してるのにjavax.servlet.httpが見つからないというエラーが消えません。
656 : それは大変ですね 頑張ってください
657 : >>655 指定してても通ってなければ見つからないのが当たり前だろう。
658 : >>655 当スレのエスパーは全員出払っておりまして。
659 : 日記に対してああしろこうしろ言うような好意の押し売りなんてできません。
660 : Windowsにはフォントを綺麗にするソフトがある。 しかしそれらのすばらしいソフトはJAVAのみ適用されない。なぜだ。糞が。 というわけでJAVAを使うおまえらなら理由はわかるか? あと適用させる方法があるなら教えろ。
661 : >>660 そのツールが何やってるか知らないけど、綺麗なフォントを入れればいいんでない?
662 : だね
663 : 設定>フォントでフォント指定するだけ
664 : ↑と思ったけどソフト個別の指定だった。 Javaでやるならフォントリストアップしてその中から フォント選ぶだけ。
665 : Windowsデフォの文字描画関数をフックして、 自分好みの太さや字間、ヒンティング、サブピクセルレンダやってくれる奴だろ? Javaは独自のレンダリングエンジンだけで文字描画するからフックされないんだろう。 仮にフォント綺麗ソフトがJavaにも適用されるとして、 だいたいそれに合わせてJavaアプリ作って、Linuxで起動したら文字が細すぎて読めない、 なんてことがあったら困るだろうが。
666 : プラットフォーム依存で使うならC#とかで組めばいいのに。C#はJavaと文法似てるし LinuxでGUIアプリ作るならどれがいいのかなー
667 : >>555
668 : RenderingHintsとかきちんと指定してフォント描画する人はそんなにいないのかもなー
669 : >>660 何のソフトなの? 俺はLinuxだから関係ないけど、Windows使えるならそれ使えばいいでしょ。
670 : あどべーかなんかじゃね
671 : そうです。森沢です。
672 : Javaの超初心者です。 スクリプト言語の作り方という書籍を読んでいるのですが 出てきたコードがいきなりわかりません。 この中にある「protected Token(int line)」というのは何でしょうか? クラスの中で自分自身を呼んでいる? まさかクラス定義が終わっていないのに自分自身を呼ぶなんていう 強引なことが可能なのでしょうか? public abstract class Token { public static final Token EOF = new Token(-1){}; // end of file public static final String EOL = "\\n"; // end of line private int lineNumber; protected Token(int line) { lineNumber = line; } 以下略
673 : まさしく定義してるだけ。 呼んでない。
674 : Token::Tokenn()「コンストラクタ」
675 : LinuxのJavaFXは完成度が低いからJava8までお預けだろうね UbuntuだけどJavaFXは最新でも(今は2.2.3だっけ?)バグだらけだったからもう興味もないし関わるつもりもない
676 : >>672 protected Token(int line)はコンストラクタ。 コンストラクタはインスタンスが作られるときに呼ばれる関数。 定義されたときに呼ばれるわけじゃないからクラスの定義が終わってなくても 問題ない。インスタンスはクラスをもとにして作られる実体のこと。
677 : ありがとございます。 クラスが自分を呼んでいるのではないのですね。 クラスと同じ名前だからそう思ってしまいました。 コンストラクタについて勉強してみます。
678 : C++に比べれば、循環的な宣言とかにかなり寛容なJavaだが、 staticイニシャライザ経由で自コンストラクタ呼ぶのは なるべく最後にして欲しいな。
679 : iをint型だとすると, System.out.println("Case" + i); と System.out.printf("Case%d\n", i); の,どちらが実行時間が短くて済む?
680 : >>679 実装によるんじゃない?
681 : じゃあ, オラクルのだとどっちだろうか?
682 : 興味だけならともかく、そうでないのであればむしろその実行時間の差が 気になるほどの用途を知りたいw どちらが良いかと問われれば読んで理解する時間の短さで前者に一票。
683 : 実験してみればいいじゃん
684 : 現在Javaの文字列について勉強しているところです。 Stringは他の参照型と異なり「同じ内容の文字列リテラルならばインスタンスを1つしか生成しない」ということを学びました。 実際、以下のようなプログラムなら参照も等しくなりtrueになるようです。 String str1 = "hello"; String str2 = "hello"; System.out.println( str1==str2 ); しかし、以下の場合ではfalseになってしまいます。 String str1 = "hello"; String str2 = new String(str1); System.out.println( str1==str2 ); 同じ内容の文字列を格納しているはずなのに、なぜfalseになるのでしょうか。 String str2 = "hello"; と String str2 = new String(str1); では行われる操作が異なるということでしょうか(後者のnewは別の新しい文字列への参照を返している?) しかしその場合後者は、「同じ内容の文字列リテラルならばインスタンスを1つしか生成しない」という規則に違反しないのでしょうか。 教えて下さいよろしくお願いします。
685 : 文字列リテラルってのは"str"のように、 ソースコード上に定数として与えられた文字列のこと newなどで新しく生成した文字列に関しては、同一性の保証はない
686 : equalsto
687 : >>685 お返事ありがとうございます newなどの方法で生成した文字列は文字列リテラルではない、という解釈でよいのでしょうか
688 : 同一性の保証はないと言ってるだけでリテラルではないとは 書いてないな。
689 : >>684 のコードの動作を考えればわかる。 String str1 = "hello"; コンパイラがメモリのどこかに "hello" という文字列を確保して 文字列への参照をstr1に代入する。 String str2 = "hello"; 上と同様だが参照先が必ずしも同一である保証はない。 たまたま同じ文字列リテラルへの参照が代入されただけ。 String str2 = newString(str1); new で新たにstr1の文字列が格納できる領域を用意して str1をコピーする。その文字列への参照をstr2に代入する。 よってstr2の参照は新規確保された別のメモリになるので str1とイコールにはならない。
690 : リテラルつーのは"hello"のようにソースコード上に書かれたソースコードの部分そのもののことであって Stringオブジェクトがリテラルかどうかとかちゃんちゃらおかしい
691 : つ ttp://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.5 とりあえず、Exampleを見てフィーリングを掴めば、だいたいOKじゃね? なお、文字列リテラルは同一のインスタンスを参照することが言語仕様で保証されている。 実際は、String.intern()で微妙なことが起こってるらしいけど
692 : glassfish3.1.2.2の環境構築についての質問です。 webアプリの勉強をしようと思いwindows版glassfish3.1.2.2-web profileをダウンロードしてインストールしました。 eclipseのJavaEEパースペクティブにて、新規サーバの追加でglassfish用のサーバアダプタをインストールし、 それを元にglassfishを選択したのですが、 jsf-api.jarが存在しない旨のエラーメッセージが表示されてサーバを追加できませんでした。 web profileにはJSF2.0が含まれているはずなのですが、どうすればweb profile版をeclipseに登録できますか。
693 : String.intern()は、vmの実装によると思いますが、gcされからout of memory errorは起きないように作ってあるとみていいんでしょうか?
694 : 昨今のリッチなPC環境においてout of memoryが出る状況が 非常に例外的だと思うが、どんな大規模開発をしてるの? 普通はout of memory = どっかでリークしている = バグという 結論がほとんど。
695 : 実際に起きるかどうかではなく設計上の問題です。 これは論理的なストレステストで考えます。 実際のコードで当然erroeを想定した何らかの対策はします。
696 : メモリがやばかろうとなんだろうと、 コンストラクタはオブジェクト増やすしintern()は増やさない。
697 : 動的な文字列を際限なくinternしてもまともなJVMの実装ではGCされるらしいが 仕様上は思いっきりメモリリークだよ たまたま動いてるだけの糞コード
698 : 仕様上は思いっきりメモリリークなのに 実装が仕様を満たしていないのは実装の不具合でございます
699 : 少なくとも1.2以降のVM実装には、WeakHashMap#containsKey() を実現するための nativeな仕組みは備わっているはずでね…
700 : なるほど、そう思ってたんですが、はやりそのままですか。 1.2以降ではWeakReferenceなどの導入があった一応の基盤の用意はあったので、WeakHashMapやEnumMapと似たアルゴリズムや内部実装で、一応、jvmでなくjava上のintern()の仕様を満たせるものが出来るかなと考えてました。 その後はなんらかの追加ドキュメントや情報もないのでやっぱりそのままかなと思ってました。 各classloaderのドメインの、String.classをunloadするアプローチや、1.7以降のclassloaderの強化、などでも面倒そうだから、やっぱり先延ばしですか? (私はちょっと知ってる程度で、未だに闇に包まれているintern()の知識として気になっていただけです)
701 : 1.2以降ではWeakReferenceなどの導入によって一応の基盤の用意はあったので、WeakHashMapやEnumMapと似たアルゴリズムや内部実装で、一応、jvmでなくjava上だけでもintern()の仕様を満たせるものが出来るかなと考えてました。 実際はjni, nioでキャッシュとかのことなので、mapped byte bufferならそうでもないでしょうけど、jniを経由するなら低速です。 自分でそういうキャッシュのクラスを作るでなくてjavaがあらかじめ用意提供するのがつまりString.intern()なので、未だ先延ばしなら何とも言えません。
702 : 俺は元javaラーで今無職なんだが 近々javaプログラマーっつーか年齢的にSEみたいな感じで復帰しようと思うんだが プログラムできることを端的に証明するためにはやっぱサンプルプログラムでも見せた方が早いと思うんだわ。 お前らならどんなプログラムがいいと思う? プログラムよりコミュニケーションの方が大事とか言うのはなしな
703 : 君が金を出してでも買ってみたくなるようなプログラム
704 : いまの時代に金出すほどの価値のあるプログラム作れるなら会社になんて属さねぇわ
705 : プログラムよりコミュニケーションの方が大事だなやっぱり
706 : ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1177552791
707 : だからさコミュニケーションも大事だけど俺って中途になるわけよ そいつの能力を証明するブツがないと採用する立場の奴は 雰囲気や好みだけで口八丁な奴を採ることになるだろ 俺はそういう採用する立場の奴にあえて証明させるためのブツを用意してやって 判断材料を増やしてやってるって話 どっちにとってもメリットになるんだからコミュケーション云々はもう言うなタコ
708 : 常識的に考えて自分のスキルと会社に求められているものを 折衷する感じになるんじゃないの Webサイト作ってる会社に数値解析のプログラム送りつけても困るでしょ
709 : Fiz Buz
710 : ブツをみせたところでシステムに精通している採用担当なんてほとんどいないだろうし、 現場の人間に見せようとしても大抵忙しくてそんなもんに構っている暇ないだろうし 結局のところ履歴書と面接の印象が決め手になるのかなぁ、と思う。
711 : ある程度プログラムの判断もできないほどの担当が出てくるようなでかい会社なんて狙ってねーし・・ 職について金さえもらえればどこだっていいんだよ 採用されてからもどうせ客先に飛ばされたりするだけだろうしな
712 : 小手先の技術なんかより職務経験のレポートを持って行けよ
713 : Web系企業へのアピールなら、 サクッとtwitterのbotでも作ってGitHubで晒すのがいいだろう。
714 : そんなん何のアピールにもならんがな。 継続的にコミットしてる履歴とかあるなら別だが
715 : redcoderになれば良いと思うよ
716 : まーいた
717 : コーディング試験がある企業を狙ってみるとか 面倒くせぇけどな
718 : マネジメントもある程度できないと中途は厳しいよ
719 : 「privateなメンバは継承されない」のにpublicなメソッド経由でアクセスできるのはなぜでぃすか?
720 : それ間違い。privateなメンバは継承される。 継承されるけど継承先のクラスは継承元とは別のクラスなので、 継承先から継承元のprivateなメンバに直接アクセスすることはできない。 つまり継承元のメソッドを通せばアクセスはできる。
721 : >>719 メソッドは継承できるから。 言語規定の言葉遣い的には>>720 は間違い。 http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.3 > A private field of a superclass might be accessible to a subclass - > for example, if both classes are members of the same class. > Nevertheless, a private field is never inherited by a subclass. スーパークラスのプライベートフィールドがアクセス可能であるのは 例えば、両方のクラスが同じクラスのメンバーである場合である。 そうでなければ、プライベートフィールドはサブクラスには継承されない。
722 : フィールドを継承してないはずなのにサブクラスのインスタンスが スーパークラスのフィールドを持っているのはおかしいって話でしょ? メソッドは継承できるからというのは理由になってないような
723 : フィールド継承してない≠フィールド持ってない
724 : フィールド持ってなきゃメソッド継承しててもアクセスできないでしょ サブクラス自身は形式的にスーパークラスのprivateメンバを継承しないけど、 サブクラスのインスタンスはスーパークラスのprivateメンバを持っているから、でFA
725 : >>724 意味わかんねっす。 持ってなくても穴があれば覗けるでしょ?
726 : 穴があれば覗けるってことはインスタンスは実際にはそのフィールドを持ってるってことだろ
727 : 回答ありがとうございます! >>720 えええええ。やっぱりこれは間違いなんですか? どこのページを見ても「privateなメンバは継承できない」というような記述がされてあるうえ、 言語仕様の表現を見ても「privateを伴った継承では変数はサブクラスに継承されない」という意味にしか解釈できないのですが…(というかそもそもここを見て疑問が生まれた) でも実験してみると、どう見てもprivateなフィールドも継承しているようにしか見えないんですよねえ… なぜこのような誤解を招く表現になっているのでしょうか
728 : 改行が多くなってしまったので連投させていただきます。申し訳ありません >>721-725 すみません。質問の仕方が悪かったです class Main{ public static void main ( String[] args ){ Piyo piyo = new Piyo(); System.out.println ( piyo.getHoge() ); } } class Hoge{ private int hoge; int getHoge(){ return hoge; } } class Piyo extends Hoge{ } このようなプログラムがあったとき、hogeはprivateなので継承されない(アクセスできない)…のだと思っていました しかし、hogeにアクセスするgetHoge()を呼び出すことはできてしまいますし、値も返します(setterで値を変えることもできるし、インスタンスごとに値を持たせることもできる) 上で述べたように「privateなメンバは継承されない」ということが多くのページや書籍に記述され、仕様にまで明言されているのですが、 これを見ていると、privateなメンバであるhogeが継承されているようにしか思えないのです 何か根本的な部分で思い違いをしてしまっているのでしょうか?
729 : それは>>724 が答えだよ。 クラスの静的な性質と、インスタンスの性質は区別して考える必要がある。 メンバを継承するというのはスーパークラスのメンバの性質をそのまま引き継ぐという意味。 Piyoクラスに int getHoge2() { return hoge; } を追加したらエラーになるだろ? 継承してたらPiyo内からでも同じようにhogeにアクセスできないとおかしい。 実際にはクラスのインスタンスはスーパークラスのすべてのフィールドを持っている。
730 : フィールドを「継承」してようがしてまいが関係なく、 インスタンスはスーパークラスのすべてのフィールドを持ってるの Javaの言語仕様でいうフィールドの「継承」はメンバの見え方だけの問題
731 : そのコードならフィールドじゃなくてメソッド・ディスパッチの論点じゃないか。 もうつまらん。 長くて読みにくいRれすを読むために5分も無駄に使った。
732 : >>728 それはあれか、内部でprivateメソッド呼び出すpublicメソッドは サブクラスでは全滅してないとおかしい、とかそういう議論か?
733 : >>729-730 回答ありがとうございます privateなメンバはサブクラスに継承されないが持っている、 そのため直接のアクセスはできないが継承されたメソッド経由でならアクセスできる、という解釈で良いのでしょうか
734 : >>733 >privateなメンバはサブクラスに継承されないが持っている、 あなたの「継承」の定義を教えてください。「継承される」=「持っている」としか考えられない。
735 : 言語仕様読もうぜ
736 : >>734 ? 「継承されないが持っている」と言ってるんだから、「継承される」=「持っている」と仮定すると 「継承されないが持っている」は「持っていないが持っている」になって矛盾する。ゆえに仮定は間違いであり、 お前の脳みそはプリンである、「継承される」=「アクセスできる」だろ。
737 : >>735 読まねえぜ、言語仕様読まねえぜ、ワイルドだろ〜。
738 : 継承ってのはもともと概念的な話だから privateは継承されないと考えるんだよ。 実装でメモリが確保されるとは別の話。 言語仕様8.2にも継承されないと書いてある。
739 : 言語仕様的にはそれも間違い。 継承されないがアクセス可能なケースもある。 >>721 の訳が間違っててアレだけど。もうちょっとマシにすると スーパークラスのプライベートフィールドはサブクラスからアクセス可能な場合も存在する。 例えば、両方のクラスが同じクラスのメンバーである場合である。 しかしながら、プライベートフィールドはサブクラスには決して継承されない。
740 : >>739 は>>736 あてで。
741 : >>739 つまり継承されるというのはどういうことなの? 「決して」とかwやめてよ意気込みをいうのはやめてよw 「断じて継承されない」とか「絶対継承されない」とか「神に誓って継承されない」とかやめてよw
742 : 「決して」はneverの訳語。分かりにくければ原文読んで。
743 : >>742 なんだ、機械翻訳しただけの雑魚か。
744 : never=決して〜ない なんて中学生で習うだろ どんだけアホなんだよ
745 : >>744 いや、そういう意味じゃなくて、決しては価値判断でしかないから付ける意味がないだろ。 決してを付けたから>>739 の訳が正しくなって継承の意味が明確になるってものでもない。 そういう意味で>>739 は機械的に翻訳したものを書き込んだだけの雑魚書き込みだってこと。
746 : neverが価値判断だと言ってるのはオマエだけだゴミ
747 : >>746 俺は「neverが価値判断だ」と言ってないよ。>>739 の自称マシな訳文の「決して」について言ってるんだよ。 決してが付いたときと付かなかったときとで意味は変わらないだろ。
748 : それで分かり難くなるわけでもないのにケチつける意味もないな
749 : 決しては意気込みとしか解釈されないとか、 日本語知らない馬鹿なだけだろ。
750 : >>748 > >>721 の訳が間違っててアレだけど。もうちょっとマシにすると >>739 がこんなこと言っちゃってたから、よほどわかってる人なのかと思って 聞いてみたら決してを付けただけの雑魚だったという、ね。
751 : 実装がどうなっているかは 逆アセンブルしないとわからないのだから ここは仕様を尊重しよう。 継承されないってことでFA。
752 : そうか。「決して」って分かりにくかったのか。ごめんね。 日本語って難しいね。
753 : >>749 説明できる?決してを付けたときと付けないときで意味がどう変わるか。どうせ逃げるかなw
754 : neverの訳を見る機会が少ない人なんだね。 これからはちゃんと覚えようね。
755 : >>754 あ、やっぱ逃げたw Neverがたいてい決してと訳されているからそう訳したってこと?機械翻訳の雑魚じゃんw
756 : >>750 は>>721 の何が間違ってるのか理解できてないんだろ それで>>739 の「もうちょっとマシ」な部分が「決して」の有無だと思ってるんだろう
757 : >>756 そうだよ、>>739 が間違ってると思ってる
758 : 言語仕様的には「継承されると、その型のメンバーとしてアクセス可能になる」あたりが正解かと。 class A { static class B { private int field; } static class C extends B { { super.field = 0; } //アクセスは可能。 { this.field = 0; } //継承されないのでメンバとしてはアクセスできない。コンパイル時エラー } }
759 : 継承されるとその型のメンバーになる、の方が正しいかな。
760 : java新人なんだかちょっと教えてほしい 今やってる業務の中で、ファイルの一括アップロードってのがあるんだ。 アップするファイルは動的で、ファイルが追加されるたびに JQueryで入力欄増やしてファイル選択できるようにしてるんだけど もっと他にいい方法ないかな?
761 : 環境は、 java6 Oracle10g フレームワークはseasar ブラウザはIE8 or 9 初心者なもんで、足りない情報とかあったら言ってくれ わかりにくくてすまんがオネシャス
762 : >>760 JavaっていうかそれJavaScriptだな それがいまんとこベストだと思うけどな
763 : >>760 Silverlightで作ればエクスプローラからファイルを複数ドロップして アップロードしたりできるよ。
764 : GCの言語仕様が知りたいんだけどどこを観れば良いの?
765 : ありがとう >>762 やっぱこれしかないのか・・・ >>763 フレームワークはseasarで、あとは極力プラグインとか入れないことになってるんだ Silverlightはぐぐってみるが、たぶん使えないだろうな・・・
766 : 追加で質問なんだが、 ファイルが選択された時、項目を増やすんじゃなくて、選択されたファイルをプルダウンに表示→それをダウンロードっていうのはできるもんなのか? FileItemクラスが作れなくて諦めたんだが。。。
767 : 連投すまん もう一つ質問 動的に項目追加していった場合、リクエストってどうやって受け取ったらいいんだ? html内では、項目が増えるたびにFileSelection + i っていうidとname振っていったんだが、 クラス内でgetAttribute("FileSelection + i")ってやってもnullが返ってくるんだ。これは実装が間違ってるのか?
768 : たくさんのご回答ありがとうございました まだ完全に理解できたわけではありませんが、皆さんのご意見を基に以下のように解釈させてもらいました privateなメンバは「継承」はされない(=サブクラスのメンバにはならない)。 しかし、インスタンスの領域にはスーパークラスで宣言されているメンバのぶんの領域も(サブクラスからは見えないところに)確保されている。 そのため、それをサブクラスから直接使うことは許されていないが、スーパークラス経由でならアクセスできる。 まだ駄目な部分があるようでしたら遠慮なく駄目だししてください
769 : >>767 >実装が間違ってるのか もちろん。getAttributeな訳がない。
770 : いきなりにぎやかになったと思ったら、馬鹿が沸いてただけか
771 : Cに挫折してJavaに来た者ですが、 全てがクラスで構成される仕様に面食らってしまいました。 クラス同士が複雑に絡み合っていて、一本道の流れというものが 見えず、追うことがとても難しい。 みなさんは、他人のソースを追う時はどのような手順で読みますか? クラス図やシーケンス図を書いたりするのですか?
772 : >>771 なれだよなれ
773 : そういう文章を書いてしまうということは、向いてないってことでしょう。
774 : Cよりすっきりしてていいよ。 構造体と操作する関数書いていくようなもんだよ。 他の言語もそうだけど、最近の言語がCに比べて理解しにくいのは、 用語のほとんどがカタカナなところだと思う。
775 : >>774 なるほど。 確かにこれは勘弁してほしいなあ。こじつけでもいいからとりあえず和語にしてほしいお願いします>先生方
776 : 自演乙
777 : 用語の問題じゃないよ JavaがRなだけ http://d.hatena.ne.jp/kazu-yamamoto/20080722/1216734420
778 : >>769 ほんとだぜんぜん違うわ・・・なんでgetAttributeしてたんだろ・・・ もっと勉強するわ。ありがとう
779 : >>777 これ初めて読んだ。 名詞を完全追放した神聖ラムダ王国に比べたら、 いまだ動詞を使役しているJava王国はそぎ落とし方が甘いな。 あと、途中の EquestrianDoctor.getLocalInstance().getHorseDispatcher().shoot(); で思ったんだが、メソッドチェインって普通に作ると日本語的というかRPNなんだな。
780 : >>771 一本道がいいならベーシックに行くといいんじゃないかな。そもそもの設計思想が理解できてないと理解できないと思うよ。 逆に俺は一本道のプログラムの改造とか苦手だ。
781 : ドカタ仕事でコントローラーに長大な一本道ができあがるだけだから大して変わらないよ
782 : 全部staticで書けばいい。
783 : >>782 わかったよ!ありがとうstaticおじさん!
784 : public class Hoge{ public static Fuga aiueo; } このaiueoを、 例えば Fuga fuga = Hoge.get("aiueo"); のような形で文字列で他のクラスから呼び出したいんですが 何かいい方法はないでしょうか?
785 : 784ですが、 自分で考えた方法としては Hogeクラス内に以下のようなgetNantaraメソッドを作ることなのですが、 変数を200個ぐらいにする予定なので、面倒な上にパフォーマンスが落ちるような気がして他の方法を探しています。 public Fuga getNantara(String name){ Fuga fuga = null; if(name.indexOf("aiueo") != -1) fuga = aiueo; return fuga; }
786 : >>784 素直に、 public static Fuga get(String name){ if(name == null) return null; else if(name.equals("aiueo")) return aiueo; ... じゃダメなの? これで駄目なのなら一応「リフレクション」という技術がキーワードになる。 ただし無断でエスパーさせてもらうと、いきなりリフレクションに手を出す前に 本当に文字列でフィールドを特定して返す必要があるのか、まずそっちを疑った 方が良いと思う。
787 : どうしてもその方向で行きたいなら Map にしろ。 というかパフォーマンス以前に 785 はバグってるぞ。
788 : あぁ、追記されていた。 その「200個の変数」って、一体どういうもの? 例えば内容が書き換わったり新たな値が代入される可能性があるのかとか。 その辺りで上手いやり方も変わってくる。
789 : >>786-788 レスありがとうございます Mapでやる感じにしようと思います
790 : なんか泣けてきた^^;
791 : スレ違いかもしれませんが… Java内で作成したJPEGをJPSで印刷しようとしているのですが、 印刷したいサイズとBufferedImageの指定サイズの関係がよくわかりません、 <印刷しようとしているプリンタ> 解像度:203dpi 印刷サイズ:80mm*80mm 計算した結果、203dpi*3inch≒600dot四方だったので、 BufferedImage image = new BufferedImage(600, 600, BufferedImage.TYPE_BYTE_BINARY); としたのですが、できたJPEGは明らかにサイズが大きくなっています。 なお、印刷するプリンタはサーマルプリンタなので、TYPE_BYTE_BINARYで良いと思っています。 BufferedImageのコンストラクタで指定するサイズはdot単位ではないのでしょうか?
792 : >>781 ラムダが出てくると、横道にそらしたりができるから、結構そうでもないかもとか
793 : >>791 ピクセルと言って…
794 : dot単位であってますよ http://www.metareal.org/2007/04/02/convert-awt-image-to-buffered-image-or-byte-array/
795 : >>793 やっぱりピクセル=ドットでしたか。 >>794 やっぱりあってましたか… だとすると、なんでこんなに大きくなっちゃうんでしょうか… とりあえずトライ&エラーで調整して、200ピクセルくらいにするとちょうどよさそうなので、これで行きたいと思います。 しかし、レシートプリンタにデータを渡すと、画像の端だけが印刷されてしまいます。 印刷範囲設定は用紙設定がされていないからだと思うのですが、8cm幅のロール紙に対応する定義はあるのでしょうか? なければ、独自定義を設定するにはどうしたらいいのでしょうか?
796 : >>795 ピクセルとドットはちげーよw
797 : ピクセル(論理的な画素単位)と ドット(デバイスの画素単位)の区別が つかないアホが集うスレはここですか
798 : String.toLowerCaseとString.toUpperCaseは アルファベット(a-z,A-Z)のみに有効なのでしょうか?
799 : >>795 条件は忘れたがjavaでの印刷はうまくいかないとういう投稿があったな ずれるらしい
800 : >>798 他の文字、例えば全角アルファベットとかにも適用されるよ。
801 : >>800 ありがとうございます。ソースは見てないですけど 他の国の言語でも適用されてるかもしれないですね
802 : ドキュメント読むと、ロケールによって挙動変わるらしいので注意してね。
803 : while (条件式) 処理● try { 処理1 処理2 try { 処理A 処理B } catch(IOException ie) { 処理C continue; } } catch (Exception e) { 処理3 } 処理■ } となっている場合、continueの次にくるのは処理●(先頭に戻る)であっていますか? 友達は、処理■だと言っているのですが・・・
804 : >>803 あってる。 while (条件式) の後に { が抜けてるからコンパイルエラーってネタでなければ。
805 : >>804 即答ありがとうございます コンパイルエラーのネタではありません。 ソースをそのまま張るとゼミの情報ばらしになるので要点だけ整理して書きました そうですよね、continueは以降の処理を無効にして先頭ですよね・・ 自称java得意って友達が「それは別の言語」と言っていますがどう考えてもbreakと勘違いしているんじゃないかと。
806 : その友達の言ってるところに飛びたいなら、ラベル付きbreak使わないとダメじゃね? 処理3経由していいなら例外で飛んでく手もあるけど。
807 : break使わなくても何もしないだけで処理■にいかんか?
808 : continueが実行された場合は●であってると思うが
809 : >>806-807 当然、処理■には飛ばせたくないですよ そのためにcontinue入れたのですが、友達がcontinueじゃ処理●には戻らないって言うので 質問させていただきました
810 : お前が合ってる。ちょっとコード書いて試してみろよ。 int i = 0; while (i ++ < 3) { out.println("whileの最初:" + i + "回目"); try { out.println(" 外"); try { out.println(" 内"); if (i % 2 == 0) { out.println(" 内で例外発生"); throw new Exception(); } } catch (Exception e) { out.println(" 内のcatch"); out.println(" 内のcatchでcontinue"); continue; } finally { out.println(" 内のfinally"); } } catch (Exception e) { out.println(" 外のcatch"); } finally { out.println(" 外のfinally"); } out.println("whileの最後"); }
811 : 処理■の直後と処理●の直前だと、 条件式の再評価入るぶん処理■の直後の方が正しいかもしれんけどな……
812 : え、do-whileじゃない単なるwhileも条件式のコードはループするブロックのケツに付いてるの? do-whileとの差はブロックの直前から直接ブロックに入るか条件式の手前まで飛ぶかの違いで。
813 : 処理●に飛ぶ==条件式は再評価されない、という解釈もできるって話なだけだ。 条件式のコードがどこに位置するかは最適化によって変わる。 固定されたらループの展開とかできなくなるし。
814 : ==条件式って一体何の話だ?
815 : 最初に飛ぶのか最後に飛ぶのかは表現の問題であって議論してもしょうがないとは思うが ttp://www.y-adagio.com/public/standards/tr_javalang/14.doc.htm#6035 14.10 while 文 14.10.1 中途完了 >ラベルなしの continue によって文の実行が中途完了した場合には,while 文全体が再び実行される。
816 : JavaやJDKのバージョンの最新アップデートがあるかを知ることができるRSSってどれ? Oracle RSS Feeds ttp://www.oracle.com/us/syndication/feeds/index.html
817 : OTN - Critical Patch Updates http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/rss-otn-sec.xml
818 : 先月にJavaSEにクリティカルパッチが
819 : プログラミング初心者です 色んなクラスから割りと頻繁にアクセスされるHashMapがあるんですが、 これはHashMapよりもConcurrentHashMapを使った方がいいんでしょうか? HashMap 同期 とかでググってたら、きちんと理解は出来ないけど色々書いてあって、 ConcurrentHashMapを使わないとハッシュテーブルが破壊されるような気がするのですが
820 : 同期が必要なのは、複数の*スレッド*から同時にアクセスが起きるような場合 単に色々な所からアクセスされるというだけであれば、 特にConcurrentなにがしを利用する意味はない
821 : >>820 レスありがとうございます 同時アクセスも100%あり得ないわけではないと思うので、 安全性を考えてConcurrentHashMapを使ってみようと思います
822 : >>803 「while(条件式)」に戻る が正解
823 : >>821 とりあえずConcurrent系使っとけば安心とかそんないい加減な認識だと全く意味ないぞ たとえば、mapにオブジェクトが登録されてなければ作って登録するというよくある処理の場合 Hoge hoge; if (map.containsKey(newkey)) hoge = map.get(newkey); else { hoge = new Hoge(); map.put(newkey, hoge); } hoge.setStatus(newstatus); これ、containsKeyやgetやputがスレッドセーフかどうかに関わらずスレッドセーフじゃない (キーが同じでもオブジェクトが同一にならない可能性がある)んだけど、 そういう理屈わかってんの? 難しいならHashMapでも何でもいいから使うときに一括してロックするのが確実
824 : >>823 レスありがとうございます 同時アクセスも100%あり得ないわけではないと思うので、 安全性を考えてConcurrentHashMapを使ってみようと思います
825 : >>823 レスありがとうございます ロックというのをした方がいいんですね 意味がわからないのでググってみます ちなみに>>824 は私ではないです
826 : >>824 823が理解出来ていないようなら全く無意味だからむしろ使わない方が良い。 「安全性を考えてConcurrentHashMap」なんて認識がまず非常に危険なんだが、 そこんところ理解しないと全く先に進まないぞ。 スレッドセーフな実装を実現するために例えばConcurrentHashMapを使うのであって ConcurrentHashMapを使ったからスレッドセーフになるわけではない。 悪いこと言わないからコンカレント云々を使う前にJavaのマルチスレッド処理について きちんと勉強した方が良い。これ勉強せずに「とりあえず」ConcurrentHashMapなんか 使うのはありがちとはいえかなりの不思議ちゃん。
827 : HashMapである必要性がないのに、 HashMap map = new HashMap(); てなコードは何度も何度も見てきたが、 ConcurrentHashMap map = new ConcurrentHashMap(); というコードは幸いにしてまだ見たことないな。 見たら泣く、たぶん。
828 : Javaワールドってスレッドセーフという言葉が独り歩きしてるよね コレクションのメソッドみたいな粒度の小さい処理がスレッドセーフでも ほとんどの場合何の役にも立たないのに盲目的にスレッドセーフを有り難がったりとか ローカル変数はスレッドセーフでフィールドはスレッドセーフではないという呪文とか
829 : 俺なんかはスレッドセーフなんか気にしないで 運用してて落ちたらロックするようにしてる
830 : >>828 そ。結局処理の内容に応じて適切な単位で同期するように書かないと意味が無いのに ちゃんと順を追って勉強しないコピペプログラマは安全とか最強とかわけのわからん 理由でスレッドセーフなコンテナ使ったりする。 そりゃググってコピペですむ事柄も無いわけではないけれども、マルチスレッド処理 に関してはどっちかというと本なりチュートリアルをおって基礎から順に理解しないと ダメな類の事柄だと思う。
831 : 漢ならsynchronizedは封印して全て楽観的ロックで実装するべき
832 : Javaはおわこんでしょ? Windows8が出たんだしGUIやスマホも含めてこれからは.NETの時代じゃないの?
833 : せめてWindows PhoneとかMicrosoft Surfaceが売れてから言ってくれないかな
834 : JavaのGUIデスクトップアプリなんて歴史だけは無駄に長いけど 一貫して鳴かず飛ばずだし、AndroidのあれはJavaじゃないし 終わる前に始まってすらいない
835 : windowsやlinux,macでswingのアプリが極端に少ないのは理由があるんですよ
836 : サーバーサイドでだね元気なのは。 あと流行どころだとhadoop使ったビッグデーター解析なんかもJavaが第一言語 なところがある。
837 : IOExceptionの他にTSUMIKIExceptionはありますか?
838 : JUnitの解説をわかりやすく載せてるHP教えてください
839 : >>837 勝手に作れよ。
840 : どんな例外なのか分かる名前にしろ
841 : YobaretaraYabaiException
842 :2012/11/08 BokunoKoumonMoException
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
関数型プログラミング言語Haskell Part20 (315)
「OS自作入門」 (318)
Perlについての質問箱 56箱目 (707)
【TDD】テスト駆動開発【TestFirst】 (230)
懐かしきベーマガの面白かった投稿プログラムを語る (760)
【License】ライセンス総合【利用許諾】 (444)
--log9.info------------------
◆◇◆◇◆◇◆ EPSON PX-V600 ◆◇◆◇◆◇◆ (391)
EPSON PX-V700 (835)
EPSON PM-930Cスレッド (289)
【謹賀】年賀状印刷総合スレ2【新年】 (349)
《遅い》エプソンって最悪だな《うるさい》 (820)
顔面崩壊!キヤノンのプロフォトはひび割れる (225)
◆EPSON Colorio PM-D800/D600/E200/E150 Part.1◆ (462)
エプソンの新機種 (318)
キャノキチも嗚咽!!4色なのに6色よりコストが高い!! (911)
HP Photosmart Pro B9180 Printer ★2 (632)
【シェア】数を語るスレ【ランキング】 第6位 (228)
【完全無料】オンラインプリント Priea(プリア) (908)
エプキチも憤慨!!カラリオは印刷可能枚数が少ない!! (445)
リーマンはキヤノン製品をボイコットしよう! (444)
【DELL】デルの複合機 810/924/964【レーザも】 (374)
【今日も朝から】不正書込【エプネット】 (218)
--log55.com------------------
市瀬秀和
【とちはら】栩原楽人 part3【らくと】
野久保直樹 Part.58
吉川晃司 vol.1
藤本隆宏
桐山漣11
【股旅】石川伸一郎【藤堂】
山本耕史85