1 :
デフォルトの名無しさん :
2012/09/12(水) 00:16:52.30
2 :
デフォルトの名無しさん :2012/09/12(水) 05:44:18.81
うんこちんちん
Javaにしかないチェック例外さんは 他の言語設計者だけでなくJavaフレームワーク設計者からもハブられるのか
5 :
名無し :2012/09/12(水) 11:06:36.84
おはようございます。教えてください>< System.out.println("大正" + meiji+("年")+y_tuki+("月")+z_hi+("日")); と表示させたときに、1990年13月35日と 12月以上、31日以上でエラー出すにはif文でいんですか?
はい
自力でif文でチェックしても良いし、 Calendar#setLetient(boolean)で厳密モードにしてエラーになるか見ても良い。 後者の場合、Calendar#set() しただけの段階ではエラーにならず、 Calendar#get() とかで日付計算させる事で初めてエラーになるので注意ね。
8 :
名無し :2012/09/12(水) 12:46:39.27
>>4 ジャバはもうオワコンですからね。
その一旦を垣間見たんでしょう。
すいません 昨日、i列の高さがheight[i]となるとき、対応する列を変えずに高さで並び変えたいといったものです。 ソースまでつくっていただき、使おうと思ったのですがその部分をクラスとして使おうとすると利用してるクラスの修正がとても必要になり、断念しました。 クラス化しないで解決する方法はないでししょうか。 問題点 ・i列目の高さをheight[i]としている ・高さでソートしたい ・対応する列は変えたくない ・今まで配列として利用ていたのをクラスとしてリストに入れる方法だと、内部的修正が大変 ・あるメソッド内だけで並び替えるだけでもOK よろしくお願いします
14 :
5 :2012/09/12(水) 21:33:02.87
すみません 和歴を西暦に変換するをしています。
http://ideone.com/lDDNs ここまでできたのですが、あと
・入力範囲外の場合にエラー文を出す。
・月によって30日・31日の月があるので、 例えば30日までしかない月に31日と入力するとエラー文をだす。
・うるう年に範囲外の日にちを入力するとエラー文を出す。
この辺教えていただけませんか>< お願いします
15 :
名無し :2012/09/12(水) 21:33:45.89
↑西暦を和歴にです・・
LocaleとCalenderクラス使えよww
18 :
名無し :2012/09/12(水) 22:07:57.69
>>17 ありがとうございます。
僕、一日あーだこーだ触ってここまで書いたんですけど、こんなに早く書けるなんて。。
もっと勉強します。。
いえいえ
2組の年月日を入力して、その期間に2月29日が何回あるか数えるにはどうしたらいいでしょうか?
年毎にうるう年かチェックして数えたらいいんじゃないの 計算量が年に対しての線形時間になるのが嫌なら まず数学板で相談した方が良さげ
23 :
22 :2012/09/13(木) 22:28:57.40
すみません。 例として書いたつもりの22のurlクリックすると変なサイトにアクセスしちゃいます。クリックしないようにお願いします。
24 :
デフォルトの名無しさん :2012/09/13(木) 23:32:07.66
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 でも同様でした。
馬鹿には無理
Rubyってnew無いの?
FileみたいにFileInputStreamやInputStreamReaderなんかでもnewしないとインスタンス作れないよ あとInputStreamReaderにはreadLineなんてメソッドはないからBufferedReaderも使おうね BufferedInputStreamは不要だからね わかったらRubyを頑張ってね
28 :
24 :2012/09/14(金) 00:29:10.90
>>26-27 Thanks
なんで、new つけなかったんだろう。。。
変数に型をつけたり、
なんちゃらStreamとか、なんとかReaderで、もう頭がいっぱいいっぱいだった。
30 :
24 :2012/09/14(金) 00:35:32.78
>>29 正解 w
例外処理で躓きましたが、
try catch で 5分で攻略しました!
>>22 同じ。
特別なことしてるサイトなら多分cookie。
javaはなんでi=i++が許されてんだっけか
後置インクリメントだから代入のあとに演算するからじゃないの
34 :
22 :2012/09/14(金) 18:57:32.79
>>31 ありがとうございます。
処理の一番最初にcookiemanagerすることで同セッションで処理してくれるようになりました。
今までホスト系の開発ばかりでクッキーとかセッションとか何のことやらサッパリで。。。
ブラウザから実行する場合はブラウザがセッション管理をやってくれているが、専用クライアントでやる場合はその制御が必要みたいに理解しました。
>>32 Javaだと結果が一意ってだけで普通はやらんけどな。
C言語だと副作用の順序が不定だからご法度っつーだけで。
>>33 代入の前だよ
i++ から返る前にインクリメントされる
C#も同じ
C/C++は未定義
演算子は優先順位がしっかり決まってるものだと思ってた
演算子の優先順位とはまた別の話だな。 スレ違いだから副作用完了点とかでググってくれ。
39 :
デフォルトの名無しさん :2012/09/14(金) 19:34:51.14
どう考えても 100 を超えない数値を扱う部分のコードがあるとして、 そういう数値を扱うときは、int 型を使うよりは、byte 型を使うほうが いいと思うんですが、なんでみんな int 使うんでしょうね なぜなら int は 32bit、byte は 8bit、メモリの節約になるし、比較する 回数が4倍違う、、、と思うんですが、そう単純でもないんですかね
>>39 面倒くさいから。
数値昇格のおかげで byte型の値同士でも演算するとint型になるが、
int型の値をbyte型の変数に格納する時はキャストが必要になる。
>>39 大抵のCPUはintの比較の方がむしろ速いからさ
>>34 javaのcookiemanagerは多くのブラウザと違う挙動することもあるから注意だ。こないだはさらに酷いandroidの実装ではまった。
apacheのhttpのlibとか別の選択肢もある。
>>39 byte型よりint型のほうがだいたい演算早いらしいよ 処理系によるけど
ただメモリの節約にはなるけど、byteとか演算したらint型に拡大変換されちゃうし結局意味なかったりすることが多い
参照だけするならいいともうけどね
ちんぽ
45 :
デフォルトの名無しさん :2012/09/15(土) 10:04:41.30
double型なのに、合計すると intの最大値2147483647しか表示されないんですが、 何が問題なのでしょう? stringbufferの文字列をparseDoubleでdouble型に変換し、インクリメント+してます。
日本語でおk
>>45 ソース出さないとちょっと言ってることがわからない
合計するとって何を合計してるの?
ちんぽ
サーブレッドコンテナとアプリケーションサーバって何が違うんですか? 言い回しが違うだけで、同じものを指示している気がするんですが jossとかtomcatとか
自分で調べろよ サーブレット・JSPはスレチって何度言ったら 同じやつだろ
ちんぽ
>>49 汎化したものがアプリケーションサーバ、特化したものがサーブレットコンテナでは。ListとArrayListは同じものと言えば同じもの。
それなら、サーブレット・JSPはどこで聞けばいいんですか?
てか、JavaScriptならともかく、 サーブレットがスレチなワケないんだが…
>>56 こんなスレには誰も書き込まんよ
Linux板じゃあるまいし
書き込まなかろうがスレチなんだからここに書くなよ
Eclipseを使って開発しているときに、antを使うメリットはあるのですか? コマンドでコンパイルする時にantは非常に有効だと思うのですが
>>59 eclipseのプラグインを書くより、antのtask書く方が楽とか?
ちんぽ
EclipseにはVisual Studioでいうイミディエイトウインドウに相当する機能はないのでしょうか? すごいデバッグが面倒なので
javaのコンパイラについてんだから実行の構成の引数に指定しろよ
コンパイラじゃなくてVM
ちんぽ2
>>53 「サーブレット・JSPはスレチ」とか言ってるのはいつものアホだから
気にしなくていい
自演でかばうとかあほだなおまえ
前スレでも書いたが 回答側として目障りってことだ 何度も言わせるなよ
サーブレットがなんだかもわからないアホだろw 回答できないなら黙っていればいいのにwww
ちんぽ2
webコンポーネントの資格までもってるけどサーブレットは別スレにすべき
webコンポーネントの資格までもってるけどJavaEEはこのスレでいい 答える気が無いならスルーすればいいだけ
ちんぽ2
74 :
名無し :2012/09/16(日) 15:28:41.98
JSPとサーブレットの事についてお伺いしてもよろしいですか?><
ネタ臭ぇけど好きに聞けよ 回答があるかどうかは保証しない
ちんぽ2
Javaは進歩のスピードが遅いな C#は早すぎてC++っぽくなるんじゃね?って感じだし
>>77 どちらかというと C# が一番はやい、C++ は単に迷走しているだけ、という飢餓起臥希ガス
ちんぽ2
「ひな壇は韓流タレント中心に」という構想が一変、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 :
デフォルトの名無しさん :2012/09/17(月) 10:25:47.07
プログラム中に特定のライブラリ(jar)を使っており、最後に1つのjarファイルにまとめたのですが ライブラリの中で使ってないクラスファイルを削除または検知するツールなどはありませんでしょうか? ライブラリ全体を1つのjarにまとめるとかなり容量が大きくなので少しでも縮めたいと考えています
>>81 不要と思うjarをクラスパスからはずしてコンパイル。
リフレクション使ってたらアウトだけど。
83 :
デフォルトの名無しさん :2012/09/17(月) 11:13:38.64
>>81 すいません、ライブラリのjarは1つしかないんです。その中にクラスが5000ファイルぐらいある感じです。
今のところ、ライブラリのjarを展開し少しずつクラスを削除してはコンパイルエラーがでないかを確認しています。
やはりこのように地道にやっていくしかないんでしょうか
85 :
デフォルトの名無しさん :2012/09/17(月) 12:05:17.67
>>84 難読化するツールとして名前は聞いたことありましたが未使用クラスの削除までしてくれるとは知りませんでした。。調べて使ってみます
ありがとうございます!
86 :
デフォルトの名無しさん :2012/09/18(火) 06:41:39.37
CG-ARTS協会のコンピューターグラフィックスの本を持っています。 これは数式と解説だけのものでプログラムに落とし込むにはどうしたらいいかわかりません CGの数式をJavaに落とし込む書籍でいいものがあれば教えていただけないでしょうか。 自分で調べてみましたが、内容の薄いものしか見つかりませんでした。よろしくお願いいたします。
Javaが分からないならJava入門書、数式が分からないなら数学の本・・・じゃないの? あとは処理速度とかのためにグラボを使うならOpenGL本(Javaで)とか そういう話でなくて?
Javaの文法はわかるし、二次関数の式はわかるけど、 ソースコードかいて、グラフとして表示させたいができないみないな。 だからサンプルコードとか読んで勉強したいというわけです。 ゲームプログラミングとかやりたいんですけど。 つまり、私にプログラミングの力が足りないのでしょうね。才能がないのかも。
89 :
デフォルトの名無しさん :2012/09/18(火) 11:20:50.69
Javaの文法 ス ら ム り
>>88 とりあえず、書籍「OpenGLで作る Android SDKゲームプログラミング」とかどうだろう
中身見てないけど Java+OpenGL+ゲーム だと思う
AndroidでのGUIとAWT/Swing/JavaFXの違いはあるけど
それより「java OpenGL サンプル」とかググった方がいいかもしれない
まずは基礎、数式云々はそれからだね
馬鹿には無理
>>90 ありがとうございます。
参考にさせていただきます。
いえいえ
94 :
デフォルトの名無しさん :2012/09/18(火) 15:02:54.79
デザインパータンって重要ですか 現場で使われています。
95 :
デフォルトの名無しさん :2012/09/18(火) 16:48:48.09
おじいちゃんのメソッドを呼ぶにはキャストすればいい?
キャストしても駄目なのでお父さんのメソッドにお願いしてください
初心者っぽい質問ですがすいません。 JavaのKeyListenerで、KeyPressedのイベントなんですが、なぜかおした瞬間から少し時間が経ってから押しっぱなし判定になり間があって困ります どうすればいいですか
自分で考えたのだと、Typedの瞬間にフラグを立ててReleaseの時にフラグをオフにすれば押してる瞬間ずっと大丈夫かと思ったのですがこれってやっぱりおかしい設計ですよね?
99 :
デフォルトの名無しさん :2012/09/18(火) 20:20:08.42
これは買っとけって参考書ある?
>>99 お前が何したいかわからないのにそんなバカみたいな質問に答えられるわけ無いだろカス
もっと考えて質問しろゴミ
サーブレットでリザルトセットを取得したら逆方向に取得していくメソッドてないんですかね 逆から探すと効率よく見つけられるんですが・・・
だからサーブレットはスレチだっていったろカス 何回もやるとか真性のバカ
お前には聞いてないよカスw
じゃあお前俺が答える前に俺が答えること考えてたのか? そんなこと無理だよな だからおまえは後付け的に言ってる だからお前の書き込みは矛盾してる ゴミ
低脳のカス とりあえず行ったことに対してイラッとくると反応してるゴミ
ゴミカス乙
えー、すみません、C はとりあえず構造体と関数ポインタまで行った、くらいの初学者です。 マクロや分割コンパイルに手を焼いている段階です。 先日、「そろそろオブジェクト指向言語を勉強してみては」と上司に言われて戸惑っています。 何からやれば良いのか分からない…。 とりあえず、スクリプト系はウチでは絶対怒られるので、Perl や PHP は社内で大見得切って勉強できない…。 Java は大御所ですが、ネットでは色々と言われているようです…。 かと言って C++ は尖り過ぎているような気がするし、C# は今のところ Win 限定っぽいし、D言語はもうワケワカメ。 やっぱり Java から入った方が良いのでしょうか? クセがなく、コンパイルできて、Win でも Linux でも動くものであれば上司への答えになるとは思うのですが…。
>>108 オブジェクト指向理解するなら絶対Javaだよ
Java理解するとほかの言語勉強するときもすんなりいくよ
そんなにその上司が好きならそいつに聞けよ
>>102 はjdbcの質問っぽいのは笑うとこ?
そしてorder by descとsqlで答える。
>>109 背中を押してくださってありがとうございます。
とりあえずやってみます。
一度こういう一言を聞きたかっただけなのかもしれない…。すみません。
>>110 上司を尊敬して何が悪いのでしょうか?
むしろ、尊敬できる上司だからこそ、「試されている場面で、このヒントにどう答えるべきか」と考えるのです。
モロに聞いたらそれこそモロに駄目でしょうが?
あんた働いたことあんの?
馬鹿には無理
(やっぱりcはこいつには無理だったか。馬鹿でもできそうなのやらすか) 「そろそろオブジェクト指向言語を勉強してみては」(javaやっとけ)
開発なんかWINDOWSでしかやらないんだしVBAでしょ普通は。 SE/PGだからちゃんとやりたいってことならVB.NETでしょ。
ooやるのに言語から勉強する意味がわからない。
えっ!? ジャバはもうオワコンなんでしょ?
118 :
デフォルトの名無しさん :2012/09/18(火) 22:38:04.04
むしろハジコン
ですよねー^^
オワコンだと思ってるのに何でスレ見に来てんの?
JavaFXなら当然Windows8のMetro Sytleのアプリを作れるんですよね?
122 :
デフォルトの名無しさん :2012/09/18(火) 23:13:00.66
がんばってようやく年号変換しかできないレベルなのに、いきなり jdbcでDBにつないでブラウザからデーター入力するの作ってきて^^ って言われて泣きそうだお(´;ω;`) まだ初心者が読む参考書の後半あたりなのに・・・・ オブジェクト指向とやらを理解してないと厳しいですか?
JAVAを使って格好つけようとしないで、普通にVB.NET勉強して普通にWINDOWSで作ってください。
win98の頃メモリ64MBでcpu300Mhzの使ってたな 懐かしい 当時28万で買ったのに今じゃゴミ性能だよなあ
そのゴミ、もちろんもう捨てたんですよね?
ああ捨てたよ
>>122 何と比べてか知らないが難しくない。webappの基本。
和暦の方が追加されたの最近だからサンプル少なそう。
CPU16MHzのメモリ2MBならまだ持ってる。
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はフルセットでも余裕で動くね。
131 :
108 :2012/09/19(水) 02:01:22.95
>>113-120 普通に書いてるから。ヴォケ。
あん?
>>108 は釣りに決まってる。
いやもうホントここは掃き溜めだね。
迷ったけど
>>109 に何となく救われた。
次期 ver. をどの言語で行くか(現行xxxは無理ゲー)で悩んで釣っただけのことよ。
分かれボンクラども。
sin30°をプログラムの中で計算するソースコードを教えてください。
いや、そういう難しいのじゃなくてMathクラスを使って構わない。
すみません。自己解決しました。
ttp://ideone.com/6kDeE しかし、なぜ答えに0.5と出てきてほしいはずのに、0.49999999999999994と出て
しまうのでしょうか?
また、0.5と出すにはどうすればいいのでしょうか?
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 */
>>136 ありがとうございます。
ただ、
f = M*e;
g = Math.floor( f + 0.5 );
e = g/M;
System.out.println(e);
でなにをやっているのか分かりません。
>>129 マイクロソフト王国って…いまどき感覚古臭過ぎない?
いまやオラクル帝国の属州になりさがっちまったJavaにこれから方向転換せよとかアホみたい
あちらさん(C#)はまがりなりにもISOやECMAで標準化されているしね
139 :
デフォルトの名無しさん :2012/09/19(水) 10:57:10.58
>>138 標準化されてるからといって特許フリーであるわけじゃない
C#は関連特許が切れるまであまり普及しなさそう
関連特許が切れたらオープンソース版が普及するかもね
JavaMEを使うことによるOracleへのみかじめ料回避のため GoogleがDalvikが出してきたくらい Oracleさんは標準云々なんかよりライセンス料徴収に全力だった
普及しなさそうというのは言いすぎだった Windows以外のプラットフォームでは普及しないという意味
今日はマイクロソフト税の納税日ですよ! (マイクロソフト・オッフィス税とマイクロソフト・インターネット税は同時に収めることが出来ます)
>>96 ありがとう
お父さんにお願いするようにします
145 :
デフォルトの名無しさん :2012/09/19(水) 18:27:06.27
わかりやすいJavaという本より良い本ありますか?
わかりやすいJavaという本以外全部です
147 :
デフォルトの名無しさん :2012/09/19(水) 21:16:03.53
わかりやすいJAVAって駄目なの?イイってよく聞くけど
>>137 四捨五入するには、0.5をたして、きりすてます
実は 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
FastMath.toRadians ってどこのクラスですか?
なんだ。 見たことあると思ったらアパッチか。 ところでnew BigDecimal(double)を使うのはどうしてですか?
keyListenerでKeyPressedのイベント発生するのにラグがあるんですがどうしたらいいですか
154 :
145 :2012/09/20(木) 00:12:55.05
>146 Amazonで「Java」で検索して1位の本を見てみろ。 >148 初心者向けですよね、あの本は。
KeyListenerわからない馬鹿どもですか?誰か
>>153 に答えろ
桜庭ななみ
馬鹿には無理
馬鹿でも答えられる質問しか受け付けません
JavaFXはSwingベースですのでXAMLベースのMetroにはなりません
JavaFXがJava8で同封されてもWindows8のMetro Sytleにも対応してないしWindows Phone (Tablet)とかApple iphone (ipad)でも動かない(当然Androidでも動かない)ですよね。 JavaFXは、今後2ー3年の主流モバイル端末で全滅で、デスクトップではマイクロソフト・プラットフォームからは煙たがれ、 現在のJava向けIDEやデザイナーではVisual Studioにまったく勝てないので、出る前からオワコンって聞いたんですけど、JavaFXはオワコンって本当ですよね?
そんなもんです。
何か目的があるわけでもなく、問題というものを抽象化し、適当な理論に基づいた設計を行い、一般化(汎用ライブラリ)を目指すばかりの思考だったから、もともとは手段だったのにいつのまにかJavaの資産で全てを汎用化することが目的になってしまったんだろう。
VMに関して言えば問題は無いな。 APIには色々言いたいことがあるのはわかるが。
javafxってjavaでfxのソフト作るためのパッケージですか!? すごい楽しみです!ソフト作ってお金儲けですね!
jvmはまだまだ10年は持ちますがvmもうかうかしてられませんよ。 jvm, jvm bytecode は中間コードとコード実行の最適化理論がつまってますが、所詮はそのcpuで利用可能な機能かどうかを抽象化したソフト的なものであり、小手先技の集大成でしかありません。 cpuが2000Mhz、整数マルチコア2-8、メモリも4000Mを越えた今では、ハードでゴリ押しもあるし、llvm的なアプローチ(特に動的コンパイルと並列ノードなど)もあるし、用途は違いますがvmware,vbox,qemuなどx86 vmも成熟してきたし、 結局jvm bytecodeとその高速化だけではイニシアチブをとれないでしょうね。
jvmとvmwareを同列に語るって… 仮想環境上のjvmをどうしたら最適化できるかとか最近の話題だからなぁ。 追っかけてないからしらんけどw
10年スパンの展望で書いたんですけど、そのうち「仮想環境」の意味はもちろん同一PC(同一巨体ラック)上のメモリである、という前提が崩れるんじゃないですかね。 メモリとデータが同一PC(cpu)と言う前提ではないので、jvmbytecodeもx86codeも区別する必要はありません。
ほうほう
The Network is the Computer.
そうかなぁ?やっぱり比較対象としてはおかしいと思うなぁ。 > そのうち「仮想環境」の意味はもちろん同一PC(同一巨体ラック)上のメモリである、という前提が崩れるんじゃないですかね。 すでにエンタープライズはデータセンター越しでマイグレーションする状態なんだけどなぁ。 でそれはVMWareとかのサーバ仮想化のレイヤーであって、JVMはその上で動く単なるプロセスの一つなだけだと思うが。 ただ、物理的なハードウェアの進化には対応する必要があって、 あなたが書いた、多コア、多メモリ環境への進化は着々とやってると思うけどね。 fork,joinもその一つだし。
そうそうよく読んでますね。 ただ一つあなたに足りないのは、javafxやjavaseの話題が中心であって、java se, java eeは巨砲エンタープライズでなくあくまで中小規模クライアントかその開発者のためのものであり、 目的がはっきりしているシステムを作ると初めから分かってるなら何も汎用化して設計する意味は全くないという観点です。
といっても 重厚長大産業は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では(クライアントがいないので)稼げないってことです。
>>172 日本語がわからないところあるが、バイナリでもいろいろなcpuに対応が当たり前になるってこと?
GNUのソフトなんかはいろいろなアーキテクチャでコンパイルできるし、Unix系ではネットワークマウントで共有するの普通だし、FHSではlibとか/usr/shareとか複数アーキテクチャへの対応を考えているのでは。
問題なのはwindowsのドライブレターとか、ハードウェアアクセスの利用みたいな互換性のなさなんじゃないの。
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
なんでこんなに荒らされてるの?
LinuxのGUI環境って全然知らないんだけど、Swingはちゃんと動くの?
netbeansは一応ちゃんと動くみたいですよ。 ただしlinux(gnome)だとほとんどのjavaプログラムの日本語入力がおかしくなることがあるようなのでwindowsだけで考えた方がいいんじゃないですか。
やられた! ArrayList<Integer> a = new ArrayList<>(); Integer x = 1000; int y = 2000; a.add(x); a.add(y); a.remove(x); a.remove(y); autoboxing 死ね!
autoboxingの仕様作ったやつちょうあほ
HashSet<Integer> s = new HashSet<>(); Integer x = 1000; int y = 2000; s.add(x); s.add(y); s.remove(x); s.remove(y); これはOKなんだよな〜 紛らわしい!
そりゃSetにはindexでremoveするメソッドとか無いし。
死ねとか紛らわしいとかいう前にオートボクシング・アンボクシングとかコレクションについて勉強したほうがいいと思うよ
仕様がおかしいという指摘に対し 仕様通りと返す奴はアスペ
後から追加された仕様だからなぁ。 最初からオートボクシングがあったら、 listのインターフェイスも考えようがあったんだろうけど。 listにintを入れた事がなかったから、そのハマりは経験したことがなかったな。 それより、内容は同じだけどオブジェクトの違うLong同士を==で比較してハマった方が辛かったw
>>186 a.remove(y) のとこだよね?
(これは2000番目の要素を削除するという動作になる)
「remove」という同じメソッド名なのに引数によってまったく異なった動作になる。
StringBuilderクラスでは delete とか deleteCharAt ってメソッド名になってるから
Listも a.delete(y) とか a.deleteAt(y) みたいになってれば
混乱せずに済んだだろうね。
でもしかたないよ。今さらメソッド名を変更してもらえるとは思えない。
慣れるしかないな。
あほ言語の末路
Javaは1.4からいじり始めたんだが、Java5以降から入ったやつにとっては オートボクシングは意味不明だと思うわ……。 ジェネリクス、for-each、タイプセーフenumとかクソ便利なのに、オートボクシングは蛇足だよ…
必要ならラッパークラスのメソッドを使えばいいし、 オートボクシングは必ずしも使わないと困るような場面はぱっとは思いつかないなあ Eclipseにも、オートボクシングに対してワーニングやエラーを出すようなオプションがあるぽいし
馬鹿には無理
オートボクシングじゃなくて Javaの==がウンコだからじゃね?
while(true) if(!Java.equals("うんこ")) System.exit(1);
>>185 以前、Javaで日本語入力が効かなくなったことはあるけど今は大丈夫
この発言もubuntu上のV2Cで書いてる
Debianでも問題なし
V2CはすべてJavaで書かれた2chブラウザ
V2CはSwingでここまでできるという見本みたいなものという感じ 100%Javaで書かれた高機能な2chブラウザ
フォントの問題はあるけど 内緒
dialogを閉じるときにescで閉じるとよく発生して、それ以降キー入力を受付なくなるのでしょ。 たしか、java(swing)のバグじゃなくて、gnomeのimeのバグで、gnomeがいつまでも直さなかったからjava swingがいつまでもとばっちり受けてたってやつ。
とばっちりとか言ってるけど、文句言う前に上流にパッチ投げるくらいはしたのかしら?
>>203 MS Pゴシックとピッチが同じフォントならMonapoフォントとか他にもいろいろあるよ
Ubuntuならパッケージ化されてるからインストールも簡単
ていうか、osxに忙しいから、linuxはガン無視でしょ 次のjavaone2012は、javafxはipod,iphoneでも動きますよーが目玉だろうしw(多分) windows上でapple製品を開発できるけどandroid,windowsphoneは動かないって、それってマヌケ
即レスかよ このスレにはアンチJava厨がはりついてるのか
LinuxはOpenJDKがあるからそれでいいのでは? Oracle純正の最新JVMを必ず使わなければいけないわけじゃないし オープンソースに否定的なユーザはそもそもLinuxを使わないし
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サポートとかもう終わってる。
最近、このスレ荒らしがひどな 本当に終わってるなら一日中はりついて荒らす必要なんてないのに
いいや 荒らしではなく現在のJava Platformの本当の姿を書いてくれてるんだよ 現在のJava SEはWindows専用のVMアプリに過ぎずOSX向けはJava7からやっと開発が始まったという程度のものでしかない ORACLEのJAVAはSUNのころのJavaとはまったく違う
windows8に凍死するのもどうですかね‥‥‥
>>213 ubuntuなら端末を開いて
sudo apt-get install fonts-monapo
この一行を実行するだけ
V2Cはフォントメニューを開くときにフォントを勝手に検索してくれるから
V2Cの[設定]メニューの[フォント]でmonapoフォントを選択するだけ
ubuntu unityだとデスクトップ・ショートカット・ランチャが簡単には作れないから、旧式のv2c.shを作って実行とかでやってる そこに-Dawt.AA=とか-Dswing.defaultlaf=とか java7になってもlinux(gnome)ではフォントもあまりさポートしてから各国スクリプト・カテゴリによるフォントグリフの国際化対応はまだおかしいかもね linux gonmeとかlinux ide(eclipse,netbeans)とかの雑魚環境を体験してみると、windowsとvsがいかに値段が安くいかに高品質なのかって思い知るよ アンチなわけではないけど、これが現在のoracle/javaの現実で、java seはwindows専用アプリと考えた方が正しい
220 :
デフォルトの名無しさん :2012/09/22(土) 18:56:06.90
apiのソースコード読んだら意味不明なんですが、 プロは読めるものなんですか? 英語もわからないし。
はい
すごいですね。 僕には無理だ。他の道を探そう。
>>218 DebianでもMonapoフォントはパッケージになっててスーパーユーザになって
apt-get install ttf-monapo
これで終わり
あとはV2Cを起動して[設定]メニューの[フォント]でMonapoフォントを指定するだけ
この発言はDebianから書いてます
正直、何が難しいのかわからない
誤解のないように書くけど V2Cはフォントをいちいち指定しないと日本語が表示されないわけじゃなくて アスキーアートの表示が崩れるからMonapoフォンを入れてV2Cで指定してるだけ
>>217 そんな話はしていない
java/swingのフォント設定
v2cは追いかけてないから確かじゃないけど、確かスレのブラウズのコンポーネントは、jtextpaneだと遅いからcanvas+graphicsで自前で開発したのでやってるっんじゃなかったか? 自前で用意するようなコンポーネント開発までやって、twitterクライアントもやるほど気合はいってるなら、netbeans platform rcp開発(特にplugin module)を考えてもいいんじゃないかと思う。
>>225 そんなの簡単だぞ
String fontName1[]= GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
これでフォントの一覧を取得できる
あとは
Font font1 = new Font(fontName1[i], Font.PLAIN, 16);
このようにフォントを作成してやるだけ
graphicsで自前なんだし難しいてのはfont mericsのことじゃないの?
Javaはマイクロソフトのステマの攻撃ターゲットに設定されました
233 :
デフォルトの名無しさん :2012/09/24(月) 00:04:34.89
すみません、ネットで調べましたが、ヒント見つからず、 どうしても分かりませんでした。 質問は、以下のソースコードで、 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 ; }
int aにpublic ってつければコンパイルは通るけど、 何かもっとちゃんとした資料で勉強した方がいい
235 :
デフォルトの名無しさん :2012/09/24(月) 00:35:50.96
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 ってつければコンパイルは通るけど、 実際につけてみましたが、やはりコンパイルエラーになりました・・・。 すみません、混乱しております。
234だけど、publicをつければいいというのは今回とは別の話だった ExClass35[]という型のExClass35Arrayという変数に subExClass35[]という型のsubExClass35Arrayという変数を ExClass35Array = subExClass35Array; で代入しようとしているのがおかしい. 継承された型ならスーパークラスの型の変数に代入できるけど、 配列はできないよ つかクラス名は大文字で始める、変数は小文字で始めるっていうお約束を ことごとく守らないからすごく見づらい
237 :
デフォルトの名無しさん :2012/09/24(月) 00:56:40.61
234さん
早速のレス有難うございます。
>ExClass35Array = subExClass35Array;
>で代入しようとしているのがおかしい.
すみません、何をしようとしているのか、背景の説明が足りておりませんでした。
http://www.javaroad.jp/java_class14.htm ⇒こちらのサイトの「【例3】変換元が配列型、変換先が配列型の例です。SuperClassクラスはSubClassクラスのスーパークラスであるとします。 」でソースコードがあります。
ここで配列の型変換が説明されており、それを元に、先ほどお伝えしたソースコードを私が作りました。
本当に代入による型変換が行われているのか?というのを確認するために、
ExClass35Array = subExClass35Arrayということを行い、
System.out.println(subExClass35Array[0].a); で「4」が表示されるか確認したい
というのが目的になります。
>継承された型ならスーパークラスの型の変数に代入できるけど、
>配列はできないよ
すみません、配列の型は代入できないのでしょうか?
サイトの情報が間違っているのでしょうか?
>つかクラス名は大文字で始める、変数は小文字で始めるっていうお約束を
>ことごとく守らないからすごく見づらい
この点は今のうちから守っていきます。すみません。。
荒らすな
ごめんなさい、俺があほでした int aはsubExClass35というExClass35のサブクラスで初めて定義されているメンバなので、 ExClass35にアップキャストした後だと、 ExClass35というクラスにはaというメンバは存在しないから、 ExClass35の変数のaにアクセスしようとしても、そんなメンバは存在しないとエラーが起こる. これが実際で、他の俺のレスは全部俺の勘違いだった… 配列でも普通にアップキャストできたごめん
荒らすな
>>233 まずはエラーメッセージをコピペする方法から学ぶんだ。
242 :
デフォルトの名無しさん :2012/09/24(月) 10:49:28.42
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さん 荒らしてしまって、すみません。。
244 :
デフォルトの名無しさん :2012/09/24(月) 11:28:11.74
243さん 了解しました。有難うございます。
荒らすな
なおしときますね
247 :
デフォルトの名無しさん :2012/09/24(月) 15:55:46.11
素朴な質問ですが、Javaはなぜ大文字と小文字を混ぜているんでしょうかね 例:System.out.printlnというように C言語みたいに小文字だけにすればいいようなかんじですが
なんとか記法
クラス名か変数/メソッド名か一目で分かるようにするため
250 :
デフォルトの名無しさん :2012/09/24(月) 16:30:48.01
>>249 どうもありがとうございました
クラス名・・・大文字が混ざっている小文字
変数/メソッド・・・小文字だけ
ということでよろしいですかね
荒らすな
>>250 クラス/インターフェイス・・・パスカルケース(単語先頭が大文字) 例:PascalCase
変数/メソッド・・・キャメルケース(先頭を除いて単語先頭が大文字) 例:camelCase
定数・・・大文字スネークケース(全て大文字アンダーバー区切り)例:SNAKE_CASE
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
なんだか知らんが Linux板へ行け
馬鹿には無理
256 :
デフォルトの名無しさん :2012/09/24(月) 19:13:34.49
252さん 書き方の情報有難うございます。 今のうちから、その書き方を心がけておきたいと思います。
257 :
デフォルトの名無しさん :2012/09/24(月) 22:18:29.86
うんこちんちん
258 :
デフォルトの名無しさん :2012/09/24(月) 22:30:50.99
今日、アップキャストとダウンキャストを勉強していました。 ソースを見てもイメージできないと、なかなか理解が厳しいですね。
javaの印刷APIで印刷させようと思っているのですが、wordやexcelで印刷要求した時に使われるトレイ以外から印刷しようとしているらしく 用紙がないとのエラーになってしまいます。 トレイや向きを指定するにはどうすればよろしいでしょうか?
javaってタブレットの手書きに対応したAPIてありますか?
タブレットの手書きが出来るjavaアプリって何かありますか?
こんなところで質問はもうやめるんだ わかるだろ
うんち
jtabletとかjpenとか
今読んでるソースにクラス内でinterface宣言があるんですが、 これってどういう意味があるんでしょうか。
interface
レストン。 たとえばクラス内でインタフェース宣言したら どこで継承すればいいのかな??さっぱりです
その定義が見える範囲(スコープ)で継承すればいいんじゃないの 「public class ***」の中で「public static interface ***」と定義されてるなら どこからでも見えると思っていい あと、interfaceの場合は継承(extends)でなく実装(implements)と呼ぶ
インターフェースにも継承あるだろ
ちゃんと勉強してから答えろな
アスペ?
うんち
ちゃんと勉強してから質問しろよな
apサーバにDBのデータをキャッシュさせたいんですけど どんなフレームワーク、ライブラリがあるんですか? 実現したい要件としては ・apサーバ間のレプリケーションが可能 ・他システムやJava以外のバッチ処理とかでもDB更新がかかるため、キャッシュ更新はDBトリガーから行える ・ライトスルーキャッシュでよい ・実績がある です。 よっしゃっしゃす
あったら楽チンだねー
tokyo cabinetだっけ?kyoto tycoonだっけ? どっちかそんなんじゃなかったっけ。 DBからトリガーとかスクリプト書けば出来るだろ
>>275 Hibernate関連で分散キャッシュとかあった気がする
あ、Oracle Coherenceがあったw 金額見て死ねって思った。
280 :
デフォルトの名無しさん :2012/09/26(水) 14:26:30.63
教えて下さい。 int a = 1; int b = 2; int c = 3; int d = 4; 上記の値を一つの文字列にしたいです("1234")。 どのように変換すべきでしょうか?
String s = ""+a+b+c+d;
うんち
//
>>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() );
}
}
そこまで書くなら StringuBuilderにしろよw
どこのスレに書き込めばいいのか分からなかったのでここで質問させてください。
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部印刷できそうなのですが・・・
>>286 こんなこと聞くとかJSP/サーブレットもできないんだろうな・・・
>>286 正直Javaの基本ができるならGUIなんてそこらへんのサイト見ただけでできるから
うんち
292 :
287 :2012/09/26(水) 22:44:32.63
補足 得手不得手はあるけど
293 :
デフォルトの名無しさん :2012/09/26(水) 22:45:37.25
>>286 状況わからないで言われるがままプログラム作るんでなくて
・なんで30部以上印刷できないのか
・そこまでの労力使ってプログラム作成が本当に必要なのか
あたりを詰めるべきじゃ?
>>286 .NETにしとけ
そのレベルなら一から覚えなおそうが大して変わらんしGUIとサーバーじゃ全くの別物
GUIは後から被せるものだろ。
クラス変数とインスタンス変数はクラスのどの辺に置いてますか? 普通はコンストラクトの上で、 インスタンス変数 コンストラクト メソッド private のようですけど。
クラス変数とインスタンス変数はクラスのどの辺に置いてますか? 普通はコンストラクタの上で、 クラス変数 インスタンス変数 コンストラクタ メソッド private filed,method のようですけど。
>>296 ideのtreeやjavadocで並べ替え、または検索されるんだから、どこでもいいでしょ。そんなことより、classのコメントをちゃんと書こう|読もうよ。
クラス変数とインスタンス変数はクラスのどの辺に置いてますか? 普通はコンストラクタの上で、 クラス変数 インスタンス変数 コンストラクタ メソッド private filed,method のようですけど。
>>287-294 質問のレベルが低すぎてすみませんでした。
自分もあんまりプログラマに向いてないと感じてます。
普通にググってサイト見て勉強してみます。
>>293 そのとおりだと思います。正直そんなに困ることはないので、プログラムなんかは作成したくはないのですが。
何故印刷できないかについては
・相手が操作等を間違えている
・システムがPDF文書を出力する際にに印刷枚数制限が掛けてる
なんじゃないかと踏んでいます。
>>294 検討してみます。ありがとうございます。
ありがとうございました。出直してきます。
自己解決しました
int型の変数に/=して小数点以下もある場合ってdouble型になりますか?
ならん 切り捨て
>>298 どういう意味だかさっぱり分からないんですが。
そんなことよりクラス変数とインスタンス変数はクラスのどの辺に置いてますか?
>>304 どうせ並べ替えたり画面上で移動したりするのはIDE任せだし
ドキュメントを生成するときもソース上の順番関係ないんだから
順番なんて大して重要じゃないってことだよ
ソースファイルの体裁に執着する馬鹿いるよな コメントでいちいち仕切り作ったり変数宣言を縦に揃えたり
初めはインスタンス変数をバラバラに置いてメソッドに合わせて近くにおいてあるんですけど、作ってくうちに変数はコピペで移動していくのである程度クラスが出来てくると変数は一ヶ所にまとめた方がいろいろとはかどるんじゃないですか?
なら君がやりやすいようにやればいい チームでやってるなら統一するべきだけど、個人なら君の作業が捗る以上の意味はないんだから
>>304 どこに置くかなんて考えてない。理由は
>>305 の言うとおり。
pythonのdoctestみたいなので使い方を示すとか、どのメンバが重要かとか、依存関係があるとか書いとく方がためになる。
>使い方を示すとか、どのメンバが重要かとか、依存関係があるとか書いとく方がためになる。 プログラミングに関係ないからこういうことは最後の最後までやらない方がいい。
さすがJavaスレ プログラミング = キーパンチ なんですね
人にプログラムかかせることが多い立場だからかな。
コードを書かなくなると世の中の流れに付いていけなくなりますよ
うんち
>変数宣言を縦に揃えたり よく分からないんだけど、タブで綺麗にするあれのこと?
>>286 Javaの入門書で「創るjava」という本がある
EclipseではなくNetBeansを使った入門書だけどGUIアプリを実際に作りながら学べる良書
Javaの知識が入門レベルならこれお勧め
第3版まで出てるから古いのを買わないように気をつけよう
>>316 実は内心こんな答えをまっていました。
4000円もする参考書は初めてですが、早速注文して見てみます。
ありがとうございます。
いえいえ
いえいえそうではありませぬ あさがくるくるあさがくる
>>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;
指定はともかく俺も複数の変数宣言を1行にはしないな バージョン管理で差分見るときとか分かれてる方が見やすいし コメント書くにもまとまってるとあれだし
アシュたん安全な場所にウェイト
String esc = "KEY_ESC"; String f1 = "KEU_F1"; String enter = "KEY_ENTER"; 変数宣言揃える派なんだけど、 ↑みたいなデコボコな書き方だとミスが解りづらくね? String esc = "KEY_ESC"; String f1 = "KEU_F1"; String enter = "KEY_ENTER"; 揃ってるとぱっと見でミスに気づけると思うんだが。
定数系は揃えてる
完璧に揃えるのは難しいから結構適当にしてる
単にその例が全部”KEY_”で始まってるから
うんち
>>311 レトロすぎてちょっと意味不明なんですがどういう意味ですか?
>>326 そういうときこそ、縦をそろえるんだよ
テキストエディタのBOXコピー、BOXカットなど、縦向きに範囲指定できる機能をつかうと
まるで表計算のように楽にコーディングできるからね
じゃあ KEY_ESC___PRESSED KEY_F1____PRESSED KEY_ENTER_PRESSED にしないとな
俺は死んで当然な人間かどうかが判断基準
ケンシロウ
334 :
デフォルトの名無しさん :2012/09/28(金) 02:27:56.62
>>331 KEY____ESC_PRESSED
KEY_____F1_PRESSED
KEY_ENTER_PRESSED
こういうのはたまにやる。
ret = func(p1
,p2
,p3
)
とかも書いちゃう
>>330 読みやすさやミスの発見率もそうだが、
揃える一番の利点はそこにあると思ってる。
接頭辞"KEY_"を追加しないとマズイなって時とか、
矩形選択→挿入で正規表現で置換するまでもなく、ゴリッと書き換えられる。
特にenumクラス書くときは、ほとんどExcelの編集みたいな書き方してるわ。
JWindowなどのウィンドウの表示位置とウィンドウサイズを 設定テキストに保存して次回起動時に復元するような処理 を実現したいと思っています。 x, y, w, hの4パラメータをテキストファイルに出力してJARに 含めておき、プログラムからJAR内の設定テキストを更新 したいんですが、サンプルコードがあれば教えてください。
実行するJARに含めるの?それ人に渡したりしたらどうなる? Preferences使った方が良くないかい?
338 :
ooi :2012/09/28(金) 14:44:46.93
WindowsのIPv6で通信先のIPアドレスとMACアドレスの対応付けってできますか? IPv4では、”arp-s”でできるみたいですが・・・。 PCはWindows XPです。
コピペが楽(キリッ さすがjavaスレ…
>>337 ああなるほど、それ専用の機能があるんですね。
ちょっとPreferencesについて検索してみます。
PreferencesはWindowsの場合レジストリに保存するようなので あきらめました。環境に影響を与える機能は好ましくないという 判断からです。アプリケーション固有の設定をアプリケーション の枠内でセーブ・ロードしたいんですが、設定ファイルをJARに 含めてJAR中の設定ファイルを更新したいのが目的です。 とはいってもいちいち考えるのが面倒なので設定テキストを 読み書きする方式にしようと思います。お騒がせしました。
342 :
デフォルトの名無しさん :2012/09/28(金) 18:59:55.57
__,,,,、 .,、 /'゙´,_/'″ . `\ : ./ 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 :
デフォルトの名無しさん :2012/09/29(土) 13:28:00.43
eclipseでphp,c,c++などのプログラミングを使用をするにはどうすればよろしいのでしょうか c,c++はやはりvisual stdioを使用をすることがおおいのでしょうか。
うんち
346 :
uy :2012/09/29(土) 14:55:02.80
売国奴消えろ
347 :
デフォルトの名無しさん :2012/09/29(土) 15:19:57.76
,,... ---‐‐‐‐ 、 ___ ./ ヽ 丶 . / /  ̄ / l: : : : : : : : : : : :.:.. l .../ / / |: : : : : : : : : : : :.:.:....|.../ / _/ |______;;;;;;;l .  ̄ ̄ ̄ |;';';';';';';';';';';';';';';';' ミミ| |;';';';';';';';';';';';';';';';' ミミ| ...|─ | | | / ___ |;';';';';';';';';';';';';';';';' ミミ| ._|_ | | / ____ / |;';';r'",==、、ヽ;';' ミミ| .l_/ / / /\ |;';i 〃 . iヽi;';' ミミ! ./ /\___/ヽ |;';| |丶__ノ l|;';';/f /'''''' ''''''::::::\ |';'| |Bull-Dog.||;';';| | + |(●), 、(●)、.:| + |;';|f゙ヽ^(⌒rつl|';';'| |./⌒) | ,,,ノ(、_, )ヽ、,, .::::| |;';|∞_ソY ◯゙゙).|';';'| | -')´ + | `-=ニ=- ' .:::::::| + |';'|´ ~~~ ~~|';';'| |._,.イ\ + \ `ニニ´ .:::/ + |;';| ブルドック |';';'| | .Tヽ , -r'⌒! ̄ `":::7ヽ.`- 、 ./| |;';| とんかつ. |;';';| | / ノ`ー-、ヘ<ー1´| ヽ | :::::::::::::ト、 \ ( ./ヽ |;';| `ノ ━ ス |;';';'| !__,./ i l.ヽ! | .| ::::::::::::::l ヽ `7ー.、‐'´ |\-、 ___________________________ __ │六│六│六│七│八│◎│◎│◎│七│七│八│八│九│|九| │萬│萬│萬│萬│萬│◎│◎│◎│萬│萬│萬│萬│萬│|萬|
通報しました
java8から導入されるfilter,map,reduceなどのこれらのメソッドはビューを返す仕様なんですか? それとIterableにごちゃごちゃ入っていて分かり辛く、しかもFillable.addAll(Iterable)がIterable.intoとStringBuilderで使っているのになんでjava.utilにあるのか設計理由が分からないんですが、フィックスまで残り半年もないので仕様はほぼ固まったんじゃないですか?
どうせ馬鹿には使いこなせないから 適当だよ、その辺は
馬鹿には無理
352 :
デフォルトの名無しさん :2012/09/29(土) 19:53:15.23
すっげぇこのスレ!回答無しで質問者をただ馬鹿にするだけの流れが完成してる! いらないよねこのスレ!?
おまえもいらない
いつもListで最近[]を頻繁に使うようになって気がついたんですが、Arraysにはreverse, swapなどないですね。 Collectionsには一通りあるんですが、プリミテブ型[]のreverseやindexOfSubListなどはアルゴリズムが変わることもなくたまに使うんですよ。 バルク・オペレーションもサポートするようなのでCollections由来のlistアルゴもArraysあたりに用意しておくべきじゃないですか?
じゃあ用意しときます
だからお前は誰なんだよ
オレだよオレ!!
いや、俺だよ 間違って子供ができちゃってさー
>>349 心配ない。ラムダ関連なんて言語仕様すらロクに固まってない。
永遠に先送りw
364 :
デフォルトの名無しさん :2012/10/01(月) 14:35:44.04
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); } } これがどういう動きをしているのかわかりません、解説おねがいします><
public native void hoge(); と public static native void hoge(); って、作動に違い出るの?
出る
インスタンスメソッドはインスタンス化しないと呼べないだろ
出るけど今のPCなら殆ど速度に関しては差は感じられないよね。
速度に関しては差は無い 感じられないという話でなく
あっ。馬鹿は出てこなくていいです^^
根拠も出せずに馬鹿だの利口だの言ってる時点で
バカである根拠… バカとは何かという定義から教えて頂きたく
>>373 定義を教えろと言ってるのに例を持ち出してくる奴です
返答だと勘違いした上にアンカも間違える馬鹿であった
安価間違ってる?
バカがなんか言ってるな
メソッドに渡す参照(暗黙のthis)一個増えるだけの差はできるはずだが、 JNI呼び出しにかかるオーバーヘッドの方が遥かに大きいので無視できるって話じゃね?
ありえないと考える根拠は?
日本語も読めないばかは仕方ないな
なんだ根拠なしか
小学生かよw
ぷ
素人のサンデープログラマーの見解なんか聞いて無いんだけどねえ。
そう思うんなら自分で試せよ
支離滅裂。
コンパイルが通らないと凄くストレス溜まるんですが、 皆さんはどうやって解消してます?
ふて寝
IDE使う
まだきちんと書いてなくて、実行してもうまく動かないところは コンパイルエラーになるように書いてる。 return文をコメントアウトしておくとか。 実装忘れて実行時エラーの方がよっぽどストレス溜まるわ。
酒を飲む
397 :
デフォルトの名無しさん :2012/10/03(水) 15:43:09.14
現場で酒は飲めないです。。
ストレスの原因の解消法ではなくて ストレスの解消法を聞いているという
ふひー
コンパイルが通らないなんてことあるのか?
あるよ
>>401 hint
一人で開発してるわけではない
ストレスで金槌を壁に叩きつけるなんて話があるよね。
>>392 コンパイルエラーを1つずつ潰すのは楽しい。単純作業だから時間かければ終わるし。
デバッガとかxUnitを使ってないとこで動的プログラミング言語のバグを追っかけるのは苦痛。
406 :
デフォルトの名無しさん :2012/10/03(水) 22:38:11.48
プログラムからhttpアクセスして複雑なjavascriptページへアクセスしたいのですが、 どうすればよろしいでしょうか? 見たところhttpclientは使えなさそうなのですが。
telnetで80たたくのと同じようにやれば?
408 :
デフォルトの名無しさん :2012/10/03(水) 23:10:00.51
それだとjavascript実行しないよね?
C#でやればおk
実際にブラウザ(のコンポーネント)で動かすしかないよ
Netbeans7.3の内蔵Webブラウザに期待。 WebKitベースだとか
内蔵ブラウザに何を期待するの?
APIのjavadoc見れるのは便利かもな
いらねー
どうでもいいけどいいかげんjavadocのデザイン変えろよ 時代錯誤にも程があるだろ
417 :
デフォルトの名無しさん :2012/10/04(木) 07:42:34.99
おはようございます すみません、教えて頂きたのですが、 例えば以下のような、クラスがあるとします。 class ExThread4 extends Applet{ } ExThread4は自動的にObjectクラスを継承しています。 AppletクラスにもスーパークラスであるObjectクラスが継承されています。 (私の中では下のようなイメージです) class ExThread4 extends Object,Applet{ } 従って、Objectクラスを2重で継承しますので、 これは多重継承にならないのでしょうか? JAVAでは多重継承不可になっております。 コンパイルは通りますので、問題はないのは分かるのですが、 これが多重継承に当たらない理由が分かりませんでした。 宜しくお願い致します。
>>417 そういうわざとらしい書き込みすんな
かまってほしいなら別でやれカス
今時アプレットとか、負け組にも 程がある。
でも、Flashってなくなるんだろ? HTML5も早々に企画倒れの気配だし、 復権のチャンスかもな。
ActiveX復活か
>>420 mobile向けだけの話だと思ってた。
FlashはセキュリティホールありすぎてPC版もやめたいらしいな
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)
<entry key="TEST.DAT1">> ↑ DTD以前にxml構文エラー
>>425 パーサーの名前とJDKのバージョンぐらい書けよ
>>426 書き間違えました。
<entry key="TEST.DAT1">です
>>427 パーサーは特に指定していないのですが、com.sun.org.apache.xercesが使われているようです。
Windowsの1.7.0_06-b24です。
アプレットで動かしており、Java Plug-in は10.6.2.24です。
なんか全然java出来ない変な子居座ってるね。
430 :
デフォルトの名無しさん :2012/10/04(木) 20:46:22.66
417です。 421さん お礼遅くなり、すみません。(先ほど帰宅しました) ご回答有難うございました。 ネットや本で調べてみたのですが、分からなく困っておりました。 頂いた回答で、問題クリアになりました。助かりました。
いえいえ
いえいえ
433 :
デフォルトの名無しさん :2012/10/04(木) 21:24:06.43
javaの暗号で暗号化・復号が高速なものはどれですか?
抽象度の高いAPIがJavaには必要な気が CSのwebbrowserみたいなクラスが
>>433 無意味な質問だな
速度だけ出ればいいならビット反転とか数バイトごとに1足すとかになるぞw
電車やっと動いた。
>>440 Javaのパクリとか言われてたのがいつのまにか完全にJavaがパクる側になってたアレだろ
シーシャープだろ。 アホは俺用語を好んで使う。 察してやれ。
ジャバスレだからてっきりC/Sのことかと思った
クライアント、サーバ
クライマックスシリーズ
C#はCSて書く奴は頭悪い
System.loadLibrary()でロードしたライブラリのアンロードってどうやるの?
できない
ライブラリをロードしたクラスをロードしたクラスローダが破棄されればアンロードされるんだっけ?
456 :
デフォルトの名無しさん :2012/10/06(土) 22:14:14.08
質問です。 とあるものをネットで検索して、さらにその結果を吟味したのち 適合するものを出力する、といったソフトを作りたいのですが 独習JAVAなどの本で勉強して、できるようになりますか。 もしダメならどういう方法が有効ですか。 当方、勉強を始めたばかりで、 「素数を出力する」とかくらいのものをやっと作れる程度です。
そうだな。 まずHTTPとHTMLについて勉強しよう。
>>456 ネットで検索や吟味に詳しくないと無理。JAVAとは関係ないな。
検索には必ずGoogleなどのAPIを使えよ 間違ってもHTMLを解析しようなどと考えてはいけない Web APIの使い方はJava関係ない
>>456 ちなみにプログラムからの検索を禁止している検索エンジンもあるからな。自分で検索するというはなしなら関係ないが。
461 :
デフォルトの名無しさん :2012/10/06(土) 22:29:57.04
JAVAは関係ないのですね。ありがとう。 どうりでどの本を見てもわからんわけだ。 htmlは、Webサイトで何度も作った経験があるので少しはマシかも。 httpは今から勉強します。 あと検索に関する注意も心に留めておきます。 なんか見当違いな質問になってしまったけど 回答をくれてありがとうございます。
>>455 そいつのサイト内容が中途半端で
邪魔だけど検索エンジン的には上位だからなw
まあ悔しかったらもっといいサイト自分で作って
検索エンジン対策がんばるんだな
463 :
デフォルトの名無しさん :2012/10/06(土) 23:37:24.51
JavaFX2.2で作ったプログラムはユーザはJREを入れれば動きますか?
>>455 とりあえずブロックしてみるとか
ブロックしても出てくると聞くがw
個人的にはTASUOのサイトより、TERAIのサイトのが上に来て欲しい
javaのlangパッケージ専用だっつーの ほかのAPIはスレチだカス 別でやれ
一般にJavaというとVM、言語、ライブラリすべてを指します
すべての中にはドカタプログラマも含まれます
馬鹿には無理
try-with-resorses構文がよく分からんのだが、 try(@){ A } @の中にオートクローズさせたいものを3つ入れたりってOKなの? 例えば2個めでダメになったらその後の処理はどうなるのと
471 :
デフォルトの名無しさん :2012/10/08(月) 05:55:26.49
アプレットでGraphics2Dを使ってテクスチャを描画するのですが、 拡大・縮小したとき補間して滑らかにするにはどうやればいいですか?
>>471 RenderingHintsのKEY_INTERPOLATIONで好きなの指定するとか。
ボタンが押されたらブロックを出し、押しているボタンが離されたら消滅されるスクリプトってドウ組むの? Input.GetButton("b")で出すまでは行ったんだが消し方がわからない 教えてください
DB(oracle)のテーブルAのカラム一覧を取得するにはどうしたらいい? sqlplusで繋いでdesc A とやった時と同じ結果をjavaで取得したいです
あ、自己解決したかも。 select *で取得してgetColumnName()すればおk?
それで十分ならそれで良いけどw 何を使ってOracle叩くのかわからないけれどもJDBCなら DatabaseMetaDataというのがあるよ。
Oracleのメタデータを取りたいなら select * from USER_TAB_COLS where TABLE_NAME='A' すりゃいい
483 :
忍法帖【Lv=2,xxxP】(1+0:5) 【Dwin1349708493900980】 :2012/10/11(木) 23:35:43.28
jdkは、自動でアップデートされないんでしょうか? ずっと1.7.0_01のままなんです。危険ですよね?
別に。 サーバーのソフトが勝手に バージョンアップされても困る。
むしろ最新バージョンをいきなり入れる方が危険だろ 基本的に最初のうちは人柱バグ取り用と考えて、アップデートは様子見したほうがいい
>>484 そーなんですか。
jdk*.*.*_**\binにパスを通しておき、java -versionを実行すると、あるマシン
ではパスを通してあるほうのjavaのバージョン(自動アップデートがなされず、最新でない)を表示するのに、別のマシンだと、
自動アップデートで最新になっているほうのjavaのバージョンが表示される。
これはなんでだろう?
OSはWin7 SP1とWinVista SP2です。 前者は64bitですが、javaは32bitです。後者は32bitです。
ランタイムとか開発環境は自分で管理するものだと思うんだが。 勝手に最新バージョンに更新しようとするMSが異常なだけだ。 WindowsUpdateでさえ更新するかどうかは管理者の判断に任せる べき性質のもの。
491 :
デフォルトの名無しさん :2012/10/12(金) 02:24:02.32
うちのオカンが管理できるわけないだろ!
>>487 その別のマシンの該当パスにjdkが入ってないか、
パスの順番上、jreの方が優先されてるんじゃないかね
アプレットでローカルディスクにファイルを新規に書き込むとき、セキュリティー的な制限を受けてしまうのでしょうか? それとも何も考えずにそのまま書き込めてしまうのでしょうか?
495 :
デフォルトの名無しさん :2012/10/15(月) 13:45:16.58
32ビットや64ビットではどこが違うの? eclipseの他にnetbeansというのもあるみたいですが、現場では使われているの?
の? ばっかりじゃ前へすすまないぞ 調べるなり使うなりしてみろよ
>>495 現場で使われているかどうかは現場によるんじゃないかな
498 :
デフォルトの名無しさん :2012/10/15(月) 14:35:42.00
Javaを本を読んでも文法は分かるが、プログラムを組むのは困難だ やっぱり現場で試行錯誤でやっと身に付くものなんですかね Javaをひととおり習得するのは、10年ぐらいはかかりますか フレームワークまで
499 :
デフォルトの名無しさん :2012/10/15(月) 14:42:17.16
java初めて1ヶ月でようやく簡単なロジックができるようになった程度なのに いきなりサーバーサイドのアプリケーション開発に参加してね^^で頭イカれそうです
サーバサイドがある程度できる上司なり先輩が居るだろうから そいつに質問しろ。 まぁたいてい酷い扱い受けることになるけどな。
501 :
デフォルトの名無しさん :2012/10/15(月) 14:53:05.19
サーバーサイドって今更だけどサーブレット、jspのことか? SQLの知識はいる? mysql,postgresqlの知識も ITの仕事もなんか一人黙々としたかんじだけど意外と人間関係もしんどいですか?
502 :
デフォルトの名無しさん :2012/10/15(月) 15:07:10.13
>>501 サーブレットとJSPすな。
ついでにインターフェイスも作らされそうでhtmlとJavaScriptやらなイカン感じです。
1画面作るだけなんだけど、初心者のオラには難しいっす
SQLはテーブルとカラム追加・編集・削除できれば何とかなりそう・・
フレームワークとかミドルとか使ってないの?
アプリで列を追加するクソシステムには 関わらない方がいい
505 :
デフォルトの名無しさん :2012/10/16(火) 04:16:06.92
PC上で流れている音を取得する方法ってありますか? AudioSystem.getMixerInfo()ではマイクとスピーカーしか得られないようなのです。
ローカルのServerSocketに接続し通信を行っていると、必ずどこかでwriteもしくはreadが戻ってこなくなってしまうのですが何故でしょうか?(データは常に流しています) 検証のために同一の通信を行っても発生個所は安定せず、readとwriteに大き目の配列を渡すと発生までの時間が早くなりました。
>>505 WindowsVista登場当時に騒がれたのは、サウンドレコーダー
なんかでシステム音声が録音できないという問題。
これは結局システムのミキサーデバイスでスピーカー出力を
ミキサーから取り出せるように設定する必要があった。
Windowsのコントロールパネルからミキサーデバイスの設定を
確認してみては。
508 :
デフォルトの名無しさん :2012/10/16(火) 05:59:19.15
さっさと失せろゴミカス 優花4歳
>>507 自分のWindowsにステレオミキサーが無かったため、
作ろうとしたのですが、どうやら難しいようですね…
丁寧な説明をありがとうございました。
langパッケージ以外スレチ ほかでやれ
流石にネタレスだろ java EEはスレチ(=javaじゃない)って言ってた奴もいたけど
>>511 板違いだけどWindowsのサウンドドライバを更新すれば
直る可能性はある。これ以上はPC初心者板あたりで
質問してくれ。
516 :
デフォルトの名無しさん :2012/10/17(水) 15:34:45.30
質問です。 HTMLで扱う日付の形式は「2012-10-17T06:18:18+00:00」のようなものではないですか。 これをDateかCalendarにパースする最適な方法を教えてください。 Commons等のライブラリ関数でも結構です。 よろしくお願いします。
utilパッケージはスレチ
HTMLはスレチ
>>516 「W3CDTF java」とかでググってライブラリなりソースなり持って来る感じになると思う
>>519 W3CDTF っていうんですね。
大変勉強になりました。
ライブラリを探してみます。
どうもありがとうございました。
>>520 すみません、投稿がクロスしてました。
参考資料まで探してくださってありがとうございます。
さっそく実行してみます。助かります。
馬鹿には無理
524 :
デフォルトの名無しさん :2012/10/17(水) 19:29:08.43
526 :
デフォルトの名無しさん :2012/10/19(金) 03:47:13.99
System.exit();って書いたスレッドのみ終了します?それともメインスレッドのみ?
System = Java VM
今javaの勉強していて、メニューバーから画像ファイルを読み込んで表示させたいんだが、 参考書とか見てもメニューバーを作成するとこまでしか載ってないんだ。 複雑なプログラムになるんですかね?
>>528 分けて考えろ。
1. 外観作成(メニューバー、開くメニュー、画像表示領域など)
2. 開くメニューを押された時の動作
3. ファイルを読み込む動作
4. Javaでの画像ファイルの扱い方
5. 表示領域への表示方法
それぞれのやり方がわかるなら後は組み合わせるだけだ。
public static void main(final String[] args) この final ってつけた方がいいの?
不注意で args に代入しちゃうかもしれないって心配があるとか findbug や checkstyle を黙らすために付けた方がいいって事はある。 そうでなければ特に必要ない。
メソッド引数に対するfinal修飾はそのメソッドの設計者の宣言だと思え。 そのメソッドが引数の中身を変更するつもりがないなら付けるといい。 そのメソッドを呼び出す側も比較的安心して引数を渡せる。
そのmain関数を「書く」人が変数argsに別の配列を代入してしまうようなうっかり さんであれば、付けた方が良い。 ただしそういう人はargsだけではなく他のメソッド内変数についても再代入の必要が 無い場合はガシガシfinalを付けるようでないと首尾一貫していないと思う。 そして実際そういうコードをあまり見ないと言うことは、世の中はそれほどうっかり さんであふれているわけではないということらしい。これ幸い。 基本的にはメソッドの引数にfinalをつけたところでそれはそのメソッドを「書く」 人にとって意味があるだけで、そのメソッドを「使う」人には何の御利益もない。 この辺りcのconstとはちょっと違う。 サービス業としては使う人の便益を優先したいから、インターフェイスを出来る だけスッキリと見せるためにfinalは付けないほうが好まれると思う。
馬鹿には無理
>>532 finalと中身の変更は関係無いし
そういう宣言の代わりにするというならjavadocコメントに書いた方がいい
引数にfinalを付けるとそのコードを書いた人はひょっとするとCやC++からJavaへの転向組で まだfinalの意味を良く把握していない程度にはJavaでの開発経験が浅いと疑わせることで 利用者に注意を喚起するという大変有用な効果がある。 なので書く人が必要だと思ったときは積極的にfinal付けるべき。 そちらの方が使う側としてもお馬鹿なコードを避けるよい目印になるので助かる。
引数への再代入って何が悪いんだ? 呼び出し元を変更してるんだと勘違いするようなアホがソース読んでも そんなレベルで他のところもまともに理解できるとは思えない
再代入しない方が「お行儀が良い」ってくらいじゃね
使いまわしで変数名と値の整合性がなくなる場合や、 使いまわしするために整合性考えなくていい無意味な変数名にしちゃうようだと行儀悪いね。 引数に限らんけど。
限らんよね
俺がお前らの書いたソースを読む機会なんてないだろうから別にどうでもいい
javafxをアンスコした後ならprogramファイルにある oracleフォルダごと削除しても問題ないですか?
メソッドの上の方で引数をチェックして、値によっては既定値を使ったり調整したりするようなときは 再代入する方が合理的だと思う
引数のfinalは他のfinalとは違って完全に実装の詳細 メソッドのシグネチャとは無関係
547 :
デフォルトの名無しさん :2012/10/19(金) 21:06:00.82
無関係だね
548 :
デフォルトの名無しさん :2012/10/20(土) 00:05:15.47
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)); } }
>>548 そもそもパターンとソースがマッチしないような気がするけれども、
改行がないとかそんなところじゃないか。
while (m.find()) {
ほげほげ
}
でいんじゃね。
>>548 .+? って何だ?最小一致じゃなきゃダメなのか?
552 :
550 :2012/10/20(土) 11:45:37.74
String pt="<a( href=\".+?\" ei=\"\\d+\" class=\"et\" target=\"_blank\")?>(.+?)</a>";
String pt="<a( href=\".+?\" ei=\"\\d+\" class=\"et\" target=\"_blank\")??>(.+?)</a>";
>>548 最小一致でどーだ。
553 :
デフォルトの名無しさん :2012/10/20(土) 12:47:24.60
WindowsとMacでクロスプラットフォーム開発してる方に質問があります。 社内で過去にVB.NETで作られたパッケージをC#、Javaどちらで移植するか検討していまして、開発コストを下げるためにJavaで作りたいという感じになってます。 Javaで心配なのは、UIをどうするかということで、UIのViewだけはOS毎に作って、ドメインロジックだけを共通化する手法が一般的なのでしょうか? 成功談や失敗談、過去の開発経験等を参考に聞かせてください。
左シフト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; }
// / / バカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ 馬鹿には無理 / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
556 :
550 :2012/10/20(土) 13:06:59.37
入力のデータが間違ってる。 <a>aaa</a> <a>bbb</a> <a>ccc</a>
>>554 おかしくはないっすよ。
intは32ビットの符号付整数。
31回目のときは31ビット目、マイナスフラグのビットが立っちゃうからマイナスになる。
32回目以降は立ってるビットがなくなっちゃうから0になる。
左シフト30回目1073741824
左シフト31回目-2147483648
左シフト32回目0
左シフト33回目0
559 :
デフォルトの名無しさん :2012/10/20(土) 13:34:58.85
>>548 です。すみません説明不足でした。
<a href="任意のURLが書いてある" ei="任意の数字" class="et" target="_blank">取り出したい文字列</a></td>
このような構成のタグが複数あり、「取り出したい任意の文字」の部分をすべて取り出したいのです。
へえ
簡単な質問だとおもうのですが、質問よろしいでしょうか? java.lang.ClassのforNameをつかってclassオブジェクトを手に入れてそこからnewInstanceをするのと newでインスタンスを作った場合の使い分けなどはあるのでしょうか?
>>563 生成するクラスを知っている時と、そうでない時。
後者はそのクラスの存在や引数の型や列びの妥当性がコンパイル時に静的に検証されるが 前者にはそれがない。前者は実行時にインスタンスの生成を試みて初めて上記のような 事柄が正しかったかわかる。つまり前者は単純により危険。 なので事前にどんな場面でどんなクラスのインスタンスを作るのか決まっている場合、 つまりプログラミング中の大半のケースでは後者のみを用いる。 前者はインスタンスを生成したいクラスを開発時に全て列挙出来ない場合、例えば プラグインの読み込みや様々なクラスを対象にしたシリアライザ・デシリアライザと いった特別な仕組みを「作る」ときに良く用いられる。 ただしその仕組みを「使う」人は前者を用いる必要は無い、そういう風に仕組みを 作るのが開発者の良心。
>>565 >引数の型や列びの妥当性
「コンストラクタに渡す」引数の型や列びの妥当性、ね。書き忘れた。
いえいえ
いえーい
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]); }
textファイルを一番早く読み込むクラスは何でしょうか。教えて下さい。 無難にbufferdreaderあたりしか思い付きません。
>>573 どういう、どこに置いたどれぐらいの大きさのファイルを、一体何のために
何故速く読む必要があるのか、その辺りを書かないのではなんとも。
単なる「○○が最強?」なんて質問が通用するのは小学生まで。
>>574 バカかお前、理由なんて聞いても意味ないだろ。
バカの考えだよ。
テキストファイルをよみこむのは、はやくならないとおもうよ
JavaのGCログ見てて気になったんだけど XmsとXmxを同じ値にしててもNewの領域が減ったり増えたりしてたんだけど仕様? Old領域は変わりなかったんだけど
>>573 java ファイルはtextファイルだから、コンパイラのクラスが実行時のどのクラスより早くtextファイルを読むと思うよ
思うよね
ツマラン
早く 速く
Reader系のI/Oって基本的に行単位だったと思うんだけど InputStream系でサイズ取得して一括で読むほうが早そう。
583 :
ミカエル ◆ebgHt4B05A :2012/10/21(日) 19:08:40.35
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>
>>582 C, 古いPerl, 古いRubyなどのように、バイナリファイル扱いで一括でよみこめば速いけど
Javaは、unicodeに変換する必要があるから、そうしない
そうしないね
>>582 行単位で読み込めるのはBufferedReaderとか限られたクラスだけだぞ。
まとめて読むことでIOを速くしたいって話なら 普通にバイト列として読んでからデコードするとか 単にバッファ使うとかすればいいだけじゃないの
だから理由を聞いたのに・・・
589 :
デフォルトの名無しさん :2012/10/21(日) 20:08:48.77
【 課題 】メニューバーから画像ファイルを読み込んで表示させる。 【 形態 】5.クラスと、GUI 【 GUI 】制限なし 【 期限 】10/23 【 Ver 】java version "1.7.0_07" 【 用語 】 【 補足 】今javaの勉強していて、メニューバーから画像ファイルを読み込んで表示させたいんですが、 メニューバー→ファイル→ファイルを開くってところまではいくんですが、そこからがよくわからないです。 参考書もメニューバー作成までしかのってないです。複雑なプログラムになるんですかね?
初心者です。 本読んでたら 2.3*10^21 = 2.3e21 と書いてありました。 2.3*10^21 = 2.3*10e21 だと私は思っていたのですが、どなたか教えて頂けませんか?
^ とはなんでしょうか? 排他論理和?
>>594 10の21乗のことです。
2.3×10の21乗 = 2.3e21
と記述すると本に書いてあったのですが、いまいち理解できなくて
2.3*10^21 = 2.3e21 で正しい 関数電卓でもExcelなどでもそうなってて、コンピュータで使われる指数表記としては 極めて非常に一般的
597 :
596 :2012/10/21(日) 23:39:20.09
*を使って書くなら 2.3*10^21 = 2.3*1.0e21 になる eの後の数字(指数)は数の小数点をいくつ右に動かすかを表していると思えばいい
特定の計算機やExcelが「2.3*10^21」をどう解釈するかって意味なら Javaスレで聞くことではない。 少なくともJavaでは 2.3*10^21 はコンパイルが通らない。
>>597 さん
すいません、それじゃあ例えば
2.3*13^21=
↑を同じように表記した場合どうなるか教えて頂けますか?
>>598 さん
失礼しました、スレ違いでしたか。
申し訳ありません、消えます。
>>599 2.3*Math.pow(13, 21)
JavaをはじめC系の言語には組み込みの累乗はない
>>598 そういう意味ではないと思うよ
理系だとEや^による指数表記は結構普通に目にしてきたと思うんだが
>>594 ,598 は文系?
TimeUnitでナノ秒を秒に変換しようとしたら、結果が整数でしか取得できないんだなこれ。 double版のオーバーロードがあっちゃいけない意味が分からない。 小数点以下も得たい場合、自分で計算する以外にまともなやり方があるのであれば教えてほしい
メソッド名同じ引数型同じで戻り値だけ違うっていう多重定義はできないから。
>>604 引数もdoubleにすればいいでしょ
戻り値がdoubleならその方が自然
ナノ秒単位で少数とか要らんし、double使う必要性が……
奥仲麻琴
609 :
609 :2012/10/22(月) 15:10:15.12
正規表現を使うためのクラス(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
Calendar.getInstance() とか
>>611 いや、compileメソッドでコンストラクタ呼び出してるんでシングルトンで検索しても意味なくない?
Calendarクラスで言うgetInstanceがPatternクラスだとcompile というだけの話でしょ。何が違うの?
>>614 CalendarもPatternもシングルトンじゃないところは同じなんじゃね
へえ
静的メソッドcompileからコンストラクタを呼び出しているのは よく言えば実装の詳細、悪く言えば手抜き 実際、Patternのコンストラクタの実装は嫌な感じに仕上がっとる コンストラクタが公開されていないから見なかったことにしておくような感じ コンストラクタは名前が一個で固定なので表現力が乏しい。 コンストラクタは、できるだけ、本質的な構成要素を引数にして オブジェクトを単純にコンストラクトするだけに留めておき、 字句解析とかは他でやるのがお勧め。
>>609 後から新しいPatternの実装に切り替えたい時に、世界中で使われてるコンストラクタ全てを変更するのと、あなたが見たコンストラクタ一箇所変更するのとどっちが楽か。
複雑だしパフォーマンスにも影響しそうだから、そうしといたんじゃない。
桜庭ななみ
staticメソッドだと名前変えれば同じ引数型のファクトリメソッド新しく作れるが コンストラクタの場合は、同じ引数型の別のコンストラクタは作れないから。
引数なしのコンストラクタなし 引数ありのコンストラクタがいくつか そんなクラスを継承して新しいコンストラクタ増やしたら、 スーパーコンストラクタよべやボケって怒られた そんなルール知らんかった(´・ω・`)
>>609 コンストラクタを使わずにstaticなファクトリメソッドの類でインスタンスを生成させる
メリットの一つはインスタンスの生成を細かく制御できること。
例えばPatternの場合、newを使った場合は毎回パターン文字列をコンパイルして新しい
インスタンスを生成するけれども、ファクトリメソッドを使った場合は例えば以前に同じ
パターン文字列でPatternオブジェクトを作っていた場合はコンパイルもインスタンス
生成もすっ飛ばして以前に生成したインスタンスをそしらぬ顔をして返す、などといった
エコな実装も可能になる。
またファクトリメソッドを用いた場合は必ずPatternクラスのインスタンスを返す義理は
どこにもなくて、その気になればPatternクラスのサブクラスを返すことも出来る。
例えばパターン文字列によって異なる実装のPatternオブジェクトを返すことも出来る。
などとファクトリメソッドでのインスタンスを生成には「一般論として」色々とメリット
はあるのだけど、何故Patternクラスがそうなっているのか本来の意図はよう知らんw
知らんならレスすんなボケ
重箱の隅で盛り上がってうらやましい
馬鹿には無理
626 :
デフォルトの名無しさん :2012/10/24(水) 11:57:49.80
配列をニューするときって箱をニューして中身もニューするけど 箱も中身もいっぺんにニューする機構ってなにかなかったっけか? テンプレでなんかあった気がするんだけど思い出せない。
Arryas.fillじゃなくて?
>>627 fillだと、newじゃなくてコピーになるんかね。
まあ大抵はこれでいいのか。
import static java.util.regex.Pattern.compile; Matcher m = compile("X\\d+X").matcher("abcX1XYX23Xz") ; while (m.find()) { System.out.println(m.start()); }
630 :
デフォルトの名無しさん :2012/10/25(木) 19:37:12.66
んー。JAVAのシステム・プロパティとやらを設定したいのだが、どこからこの設定は弄れるの? ぐぐればぐぐるほどわからなくなっていく。 コマンドプロンプトで何かすればいいのか?
うん、そうだよ
632 :
デフォルトの名無しさん :2012/10/25(木) 21:24:26.32
ひとつ前に進んだ。コマンドプロンプトからJAVAで入れた。 んで、設定したい「sun.java2d.noddraw」を入れたら「そんなメイン・クラスはありません」とエラーが出た。 Windows7は名前が違うの? 何でないの? ぐぐったページには「sun.java2d.noddraw」と書いてあるのに。 ちなみに、これはDirectDrawを使わないようにするというもの。 フォント関連でDirectDrawを使わないようにしたいのに使うJAVAソフトがあるので停止したいの。
そうだね
そうだよねー
よし!よし! そのまま、一歩進んで二歩下がるんだ
人生はワンツーパンツー、汗かきもろ見え
それじゃ360度逆戻りしちゃうょ〜
ワン・トゥー!ワン・トゥー!
いつまでやってんだゴミども
642 :
デフォルトの名無しさん :2012/10/26(金) 00:55:24.68
>640 釣りではない。項目が見つからない。作れるのなら教えてくれ。 作れないのならどうすればDirectDrawを止められるかを教えてくれ。フォントを綺麗にしたいのだ。
したいのだぁ
教えを請う人間が「○○してくれ」なんて言わないからこりゃ釣りだわ
したいのだぁー
エスパーしてみる。 コントロールパネルからJavaコントロールパネルを開いて Java Runtime Environment設定をごにょごにょする。
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つにしちゃうとか?
HashMap使うとか
つ Properties
もっとこってりしたものが欲しいなら commons configuration
652 :
デフォルトの名無しさん :2012/10/26(金) 16:31:26.66
apacheとかtomcatなどの設定は本見ながらやっていますが、現場では状況に 応じてカスタマイズしてる。 apacheのホームページの英文を読みながら、現場の必要に応じて設定してますか?
つ【ApacheKiller】
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; }
javaseもjdkもjavaeeもインストールしてclasspathもpathもトムキャットのservlet-api.jar,jsp-api.jarやbinにきちんと指定してるのにjavax.servlet.httpが見つからないというエラーが消えません。
それは大変ですね 頑張ってください
>>655 指定してても通ってなければ見つからないのが当たり前だろう。
>>655 当スレのエスパーは全員出払っておりまして。
日記に対してああしろこうしろ言うような好意の押し売りなんてできません。
660 :
デフォルトの名無しさん :2012/10/27(土) 20:31:51.19
Windowsにはフォントを綺麗にするソフトがある。 しかしそれらのすばらしいソフトはJAVAのみ適用されない。なぜだ。糞が。 というわけでJAVAを使うおまえらなら理由はわかるか? あと適用させる方法があるなら教えろ。
>>660 そのツールが何やってるか知らないけど、綺麗なフォントを入れればいいんでない?
だね
設定>フォントでフォント指定するだけ
↑と思ったけどソフト個別の指定だった。 Javaでやるならフォントリストアップしてその中から フォント選ぶだけ。
Windowsデフォの文字描画関数をフックして、 自分好みの太さや字間、ヒンティング、サブピクセルレンダやってくれる奴だろ? Javaは独自のレンダリングエンジンだけで文字描画するからフックされないんだろう。 仮にフォント綺麗ソフトがJavaにも適用されるとして、 だいたいそれに合わせてJavaアプリ作って、Linuxで起動したら文字が細すぎて読めない、 なんてことがあったら困るだろうが。
666 :
デフォルトの名無しさん :2012/10/27(土) 23:47:28.55
プラットフォーム依存で使うならC#とかで組めばいいのに。C#はJavaと文法似てるし LinuxでGUIアプリ作るならどれがいいのかなー
RenderingHintsとかきちんと指定してフォント描画する人はそんなにいないのかもなー
>>660 何のソフトなの?
俺はLinuxだから関係ないけど、Windows使えるならそれ使えばいいでしょ。
あどべーかなんかじゃね
そうです。森沢です。
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; } 以下略
まさしく定義してるだけ。 呼んでない。
Token::Tokenn()「コンストラクタ」
LinuxのJavaFXは完成度が低いからJava8までお預けだろうね UbuntuだけどJavaFXは最新でも(今は2.2.3だっけ?)バグだらけだったからもう興味もないし関わるつもりもない
>>672 protected Token(int line)はコンストラクタ。
コンストラクタはインスタンスが作られるときに呼ばれる関数。
定義されたときに呼ばれるわけじゃないからクラスの定義が終わってなくても
問題ない。インスタンスはクラスをもとにして作られる実体のこと。
677 :
672 :2012/10/28(日) 11:55:33.35
ありがとございます。 クラスが自分を呼んでいるのではないのですね。 クラスと同じ名前だからそう思ってしまいました。 コンストラクタについて勉強してみます。
C++に比べれば、循環的な宣言とかにかなり寛容なJavaだが、 staticイニシャライザ経由で自コンストラクタ呼ぶのは なるべく最後にして欲しいな。
iをint型だとすると, System.out.println("Case" + i); と System.out.printf("Case%d\n", i); の,どちらが実行時間が短くて済む?
じゃあ, オラクルのだとどっちだろうか?
興味だけならともかく、そうでないのであればむしろその実行時間の差が 気になるほどの用途を知りたいw どちらが良いかと問われれば読んで理解する時間の短さで前者に一票。
実験してみればいいじゃん
現在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つしか生成しない」という規則に違反しないのでしょうか。 教えて下さいよろしくお願いします。
文字列リテラルってのは"str"のように、 ソースコード上に定数として与えられた文字列のこと newなどで新しく生成した文字列に関しては、同一性の保証はない
equalsto
687 :
684 :2012/10/29(月) 22:45:05.08
>>685 お返事ありがとうございます
newなどの方法で生成した文字列は文字列リテラルではない、という解釈でよいのでしょうか
同一性の保証はないと言ってるだけでリテラルではないとは 書いてないな。
>>684 のコードの動作を考えればわかる。
String str1 = "hello";
コンパイラがメモリのどこかに "hello" という文字列を確保して
文字列への参照をstr1に代入する。
String str2 = "hello";
上と同様だが参照先が必ずしも同一である保証はない。
たまたま同じ文字列リテラルへの参照が代入されただけ。
String str2 = newString(str1);
new で新たにstr1の文字列が格納できる領域を用意して
str1をコピーする。その文字列への参照をstr2に代入する。
よってstr2の参照は新規確保された別のメモリになるので
str1とイコールにはならない。
リテラルつーのは"hello"のようにソースコード上に書かれたソースコードの部分そのもののことであって Stringオブジェクトがリテラルかどうかとかちゃんちゃらおかしい
692 :
デフォルトの名無しさん :2012/10/30(火) 14:23:35.45
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に登録できますか。
String.intern()は、vmの実装によると思いますが、gcされからout of memory errorは起きないように作ってあるとみていいんでしょうか?
昨今のリッチなPC環境においてout of memoryが出る状況が 非常に例外的だと思うが、どんな大規模開発をしてるの? 普通はout of memory = どっかでリークしている = バグという 結論がほとんど。
実際に起きるかどうかではなく設計上の問題です。 これは論理的なストレステストで考えます。 実際のコードで当然erroeを想定した何らかの対策はします。
メモリがやばかろうとなんだろうと、 コンストラクタはオブジェクト増やすしintern()は増やさない。
動的な文字列を際限なくinternしてもまともなJVMの実装ではGCされるらしいが 仕様上は思いっきりメモリリークだよ たまたま動いてるだけの糞コード
仕様上は思いっきりメモリリークなのに 実装が仕様を満たしていないのは実装の不具合でございます
少なくとも1.2以降のVM実装には、WeakHashMap#containsKey() を実現するための nativeな仕組みは備わっているはずでね…
なるほど、そう思ってたんですが、はやりそのままですか。 1.2以降ではWeakReferenceなどの導入があった一応の基盤の用意はあったので、WeakHashMapやEnumMapと似たアルゴリズムや内部実装で、一応、jvmでなくjava上のintern()の仕様を満たせるものが出来るかなと考えてました。 その後はなんらかの追加ドキュメントや情報もないのでやっぱりそのままかなと思ってました。 各classloaderのドメインの、String.classをunloadするアプローチや、1.7以降のclassloaderの強化、などでも面倒そうだから、やっぱり先延ばしですか? (私はちょっと知ってる程度で、未だに闇に包まれているintern()の知識として気になっていただけです)
1.2以降ではWeakReferenceなどの導入によって一応の基盤の用意はあったので、WeakHashMapやEnumMapと似たアルゴリズムや内部実装で、一応、jvmでなくjava上だけでもintern()の仕様を満たせるものが出来るかなと考えてました。 実際はjni, nioでキャッシュとかのことなので、mapped byte bufferならそうでもないでしょうけど、jniを経由するなら低速です。 自分でそういうキャッシュのクラスを作るでなくてjavaがあらかじめ用意提供するのがつまりString.intern()なので、未だ先延ばしなら何とも言えません。
俺は元javaラーで今無職なんだが 近々javaプログラマーっつーか年齢的にSEみたいな感じで復帰しようと思うんだが プログラムできることを端的に証明するためにはやっぱサンプルプログラムでも見せた方が早いと思うんだわ。 お前らならどんなプログラムがいいと思う? プログラムよりコミュニケーションの方が大事とか言うのはなしな
君が金を出してでも買ってみたくなるようなプログラム
いまの時代に金出すほどの価値のあるプログラム作れるなら会社になんて属さねぇわ
プログラムよりコミュニケーションの方が大事だなやっぱり
だからさコミュニケーションも大事だけど俺って中途になるわけよ そいつの能力を証明するブツがないと採用する立場の奴は 雰囲気や好みだけで口八丁な奴を採ることになるだろ 俺はそういう採用する立場の奴にあえて証明させるためのブツを用意してやって 判断材料を増やしてやってるって話 どっちにとってもメリットになるんだからコミュケーション云々はもう言うなタコ
常識的に考えて自分のスキルと会社に求められているものを 折衷する感じになるんじゃないの Webサイト作ってる会社に数値解析のプログラム送りつけても困るでしょ
Fiz Buz
ブツをみせたところでシステムに精通している採用担当なんてほとんどいないだろうし、 現場の人間に見せようとしても大抵忙しくてそんなもんに構っている暇ないだろうし 結局のところ履歴書と面接の印象が決め手になるのかなぁ、と思う。
ある程度プログラムの判断もできないほどの担当が出てくるようなでかい会社なんて狙ってねーし・・ 職について金さえもらえればどこだっていいんだよ 採用されてからもどうせ客先に飛ばされたりするだけだろうしな
小手先の技術なんかより職務経験のレポートを持って行けよ
Web系企業へのアピールなら、 サクッとtwitterのbotでも作ってGitHubで晒すのがいいだろう。
そんなん何のアピールにもならんがな。 継続的にコミットしてる履歴とかあるなら別だが
redcoderになれば良いと思うよ
まーいた
コーディング試験がある企業を狙ってみるとか 面倒くせぇけどな
マネジメントもある程度できないと中途は厳しいよ
「privateなメンバは継承されない」のにpublicなメソッド経由でアクセスできるのはなぜでぃすか?
それ間違い。privateなメンバは継承される。 継承されるけど継承先のクラスは継承元とは別のクラスなので、 継承先から継承元のprivateなメンバに直接アクセスすることはできない。 つまり継承元のメソッドを通せばアクセスはできる。
>>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.
スーパークラスのプライベートフィールドがアクセス可能であるのは
例えば、両方のクラスが同じクラスのメンバーである場合である。
そうでなければ、プライベートフィールドはサブクラスには継承されない。
フィールドを継承してないはずなのにサブクラスのインスタンスが スーパークラスのフィールドを持っているのはおかしいって話でしょ? メソッドは継承できるからというのは理由になってないような
フィールド継承してない≠フィールド持ってない
フィールド持ってなきゃメソッド継承しててもアクセスできないでしょ サブクラス自身は形式的にスーパークラスのprivateメンバを継承しないけど、 サブクラスのインスタンスはスーパークラスのprivateメンバを持っているから、でFA
>>724 意味わかんねっす。
持ってなくても穴があれば覗けるでしょ?
穴があれば覗けるってことはインスタンスは実際にはそのフィールドを持ってるってことだろ
727 :
719 :2012/11/02(金) 00:19:09.98
回答ありがとうございます!
>>720 えええええ。やっぱりこれは間違いなんですか?
どこのページを見ても「privateなメンバは継承できない」というような記述がされてあるうえ、
言語仕様の表現を見ても「privateを伴った継承では変数はサブクラスに継承されない」という意味にしか解釈できないのですが…(というかそもそもここを見て疑問が生まれた)
でも実験してみると、どう見てもprivateなフィールドも継承しているようにしか見えないんですよねえ…
なぜこのような誤解を招く表現になっているのでしょうか
728 :
719 :2012/11/02(金) 00:20:14.23
改行が多くなってしまったので連投させていただきます。申し訳ありません
>>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が継承されているようにしか思えないのです
何か根本的な部分で思い違いをしてしまっているのでしょうか?
それは
>>724 が答えだよ。
クラスの静的な性質と、インスタンスの性質は区別して考える必要がある。
メンバを継承するというのはスーパークラスのメンバの性質をそのまま引き継ぐという意味。
Piyoクラスに int getHoge2() { return hoge; } を追加したらエラーになるだろ?
継承してたらPiyo内からでも同じようにhogeにアクセスできないとおかしい。
実際にはクラスのインスタンスはスーパークラスのすべてのフィールドを持っている。
フィールドを「継承」してようがしてまいが関係なく、 インスタンスはスーパークラスのすべてのフィールドを持ってるの Javaの言語仕様でいうフィールドの「継承」はメンバの見え方だけの問題
そのコードならフィールドじゃなくてメソッド・ディスパッチの論点じゃないか。 もうつまらん。 長くて読みにくいウンコれすを読むために5分も無駄に使った。
>>728 それはあれか、内部でprivateメソッド呼び出すpublicメソッドは
サブクラスでは全滅してないとおかしい、とかそういう議論か?
733 :
719 :2012/11/02(金) 14:45:07.74
>>729-730 回答ありがとうございます
privateなメンバはサブクラスに継承されないが持っている、
そのため直接のアクセスはできないが継承されたメソッド経由でならアクセスできる、という解釈で良いのでしょうか
>>733 >privateなメンバはサブクラスに継承されないが持っている、
あなたの「継承」の定義を教えてください。「継承される」=「持っている」としか考えられない。
言語仕様読もうぜ
>>734 ?
「継承されないが持っている」と言ってるんだから、「継承される」=「持っている」と仮定すると
「継承されないが持っている」は「持っていないが持っている」になって矛盾する。ゆえに仮定は間違いであり、
お前の脳みそはプリンである、「継承される」=「アクセスできる」だろ。
>>735 読まねえぜ、言語仕様読まねえぜ、ワイルドだろ〜。
継承ってのはもともと概念的な話だから privateは継承されないと考えるんだよ。 実装でメモリが確保されるとは別の話。 言語仕様8.2にも継承されないと書いてある。
言語仕様的にはそれも間違い。
継承されないがアクセス可能なケースもある。
>>721 の訳が間違っててアレだけど。もうちょっとマシにすると
スーパークラスのプライベートフィールドはサブクラスからアクセス可能な場合も存在する。
例えば、両方のクラスが同じクラスのメンバーである場合である。
しかしながら、プライベートフィールドはサブクラスには決して継承されない。
>>739 つまり継承されるというのはどういうことなの?
「決して」とかwやめてよ意気込みをいうのはやめてよw
「断じて継承されない」とか「絶対継承されない」とか「神に誓って継承されない」とかやめてよw
「決して」はneverの訳語。分かりにくければ原文読んで。
never=決して〜ない なんて中学生で習うだろ どんだけアホなんだよ
>>744 いや、そういう意味じゃなくて、決しては価値判断でしかないから付ける意味がないだろ。
決してを付けたから
>>739 の訳が正しくなって継承の意味が明確になるってものでもない。
そういう意味で
>>739 は機械的に翻訳したものを書き込んだだけの雑魚書き込みだってこと。
neverが価値判断だと言ってるのはオマエだけだゴミ
>>746 俺は「neverが価値判断だ」と言ってないよ。
>>739 の自称マシな訳文の「決して」について言ってるんだよ。
決してが付いたときと付かなかったときとで意味は変わらないだろ。
それで分かり難くなるわけでもないのにケチつける意味もないな
決しては意気込みとしか解釈されないとか、 日本語知らない馬鹿なだけだろ。
>>748 >
>>721 の訳が間違っててアレだけど。もうちょっとマシにすると
>>739 がこんなこと言っちゃってたから、よほどわかってる人なのかと思って
聞いてみたら決してを付けただけの雑魚だったという、ね。
実装がどうなっているかは 逆アセンブルしないとわからないのだから ここは仕様を尊重しよう。 継承されないってことでFA。
そうか。「決して」って分かりにくかったのか。ごめんね。 日本語って難しいね。
>>749 説明できる?決してを付けたときと付けないときで意味がどう変わるか。どうせ逃げるかなw
neverの訳を見る機会が少ない人なんだね。 これからはちゃんと覚えようね。
>>754 あ、やっぱ逃げたw
Neverがたいてい決してと訳されているからそう訳したってこと?機械翻訳の雑魚じゃんw
言語仕様的には「継承されると、その型のメンバーとしてアクセス可能になる」あたりが正解かと。 class A { static class B { private int field; } static class C extends B { { super.field = 0; } //アクセスは可能。 { this.field = 0; } //継承されないのでメンバとしてはアクセスできない。コンパイル時エラー } }
継承されるとその型のメンバーになる、の方が正しいかな。
java新人なんだかちょっと教えてほしい 今やってる業務の中で、ファイルの一括アップロードってのがあるんだ。 アップするファイルは動的で、ファイルが追加されるたびに JQueryで入力欄増やしてファイル選択できるようにしてるんだけど もっと他にいい方法ないかな?
761 :
760 :2012/11/02(金) 23:36:15.83
環境は、 java6 Oracle10g フレームワークはseasar ブラウザはIE8 or 9 初心者なもんで、足りない情報とかあったら言ってくれ わかりにくくてすまんがオネシャス
>>760 JavaっていうかそれJavaScriptだな
それがいまんとこベストだと思うけどな
>>760 Silverlightで作ればエクスプローラからファイルを複数ドロップして
アップロードしたりできるよ。
GCの言語仕様が知りたいんだけどどこを観れば良いの?
765 :
760 :2012/11/03(土) 01:00:17.87
ありがとう
>>762 やっぱこれしかないのか・・・
>>763 フレームワークはseasarで、あとは極力プラグインとか入れないことになってるんだ
Silverlightはぐぐってみるが、たぶん使えないだろうな・・・
766 :
760 :2012/11/03(土) 01:08:57.51
追加で質問なんだが、 ファイルが選択された時、項目を増やすんじゃなくて、選択されたファイルをプルダウンに表示→それをダウンロードっていうのはできるもんなのか? FileItemクラスが作れなくて諦めたんだが。。。
767 :
760 :2012/11/03(土) 01:11:16.44
連投すまん もう一つ質問 動的に項目追加していった場合、リクエストってどうやって受け取ったらいいんだ? html内では、項目が増えるたびにFileSelection + i っていうidとname振っていったんだが、 クラス内でgetAttribute("FileSelection + i")ってやってもnullが返ってくるんだ。これは実装が間違ってるのか?
768 :
719 :2012/11/03(土) 03:23:36.14
たくさんのご回答ありがとうございました まだ完全に理解できたわけではありませんが、皆さんのご意見を基に以下のように解釈させてもらいました privateなメンバは「継承」はされない(=サブクラスのメンバにはならない)。 しかし、インスタンスの領域にはスーパークラスで宣言されているメンバのぶんの領域も(サブクラスからは見えないところに)確保されている。 そのため、それをサブクラスから直接使うことは許されていないが、スーパークラス経由でならアクセスできる。 まだ駄目な部分があるようでしたら遠慮なく駄目だししてください
>>767 >実装が間違ってるのか
もちろん。getAttributeな訳がない。
いきなりにぎやかになったと思ったら、馬鹿が沸いてただけか
Cに挫折してJavaに来た者ですが、 全てがクラスで構成される仕様に面食らってしまいました。 クラス同士が複雑に絡み合っていて、一本道の流れというものが 見えず、追うことがとても難しい。 みなさんは、他人のソースを追う時はどのような手順で読みますか? クラス図やシーケンス図を書いたりするのですか?
そういう文章を書いてしまうということは、向いてないってことでしょう。
Cよりすっきりしてていいよ。 構造体と操作する関数書いていくようなもんだよ。 他の言語もそうだけど、最近の言語がCに比べて理解しにくいのは、 用語のほとんどがカタカナなところだと思う。
>>774 なるほど。
確かにこれは勘弁してほしいなあ。こじつけでもいいからとりあえず和語にしてほしいお願いします>先生方
自演乙
778 :
760 :2012/11/03(土) 08:58:59.18
>>769 ほんとだぜんぜん違うわ・・・なんでgetAttributeしてたんだろ・・・
もっと勉強するわ。ありがとう
>>777 これ初めて読んだ。
名詞を完全追放した神聖ラムダ王国に比べたら、
いまだ動詞を使役しているJava王国はそぎ落とし方が甘いな。
あと、途中の
EquestrianDoctor.getLocalInstance().getHorseDispatcher().shoot();
で思ったんだが、メソッドチェインって普通に作ると日本語的というかRPNなんだな。
>>771 一本道がいいならベーシックに行くといいんじゃないかな。そもそもの設計思想が理解できてないと理解できないと思うよ。
逆に俺は一本道のプログラムの改造とか苦手だ。
ドカタ仕事でコントローラーに長大な一本道ができあがるだけだから大して変わらないよ
全部staticで書けばいい。
>>782 わかったよ!ありがとうstaticおじさん!
public class Hoge{ public static Fuga aiueo; } このaiueoを、 例えば Fuga fuga = Hoge.get("aiueo"); のような形で文字列で他のクラスから呼び出したいんですが 何かいい方法はないでしょうか?
784ですが、 自分で考えた方法としては Hogeクラス内に以下のようなgetNantaraメソッドを作ることなのですが、 変数を200個ぐらいにする予定なので、面倒な上にパフォーマンスが落ちるような気がして他の方法を探しています。 public Fuga getNantara(String name){ Fuga fuga = null; if(name.indexOf("aiueo") != -1) fuga = aiueo; return fuga; }
>>784 素直に、
public static Fuga get(String name){
if(name == null) return null;
else if(name.equals("aiueo")) return aiueo;
...
じゃダメなの?
これで駄目なのなら一応「リフレクション」という技術がキーワードになる。
ただし無断でエスパーさせてもらうと、いきなりリフレクションに手を出す前に
本当に文字列でフィールドを特定して返す必要があるのか、まずそっちを疑った
方が良いと思う。
どうしてもその方向で行きたいなら Map にしろ。 というかパフォーマンス以前に 785 はバグってるぞ。
あぁ、追記されていた。 その「200個の変数」って、一体どういうもの? 例えば内容が書き換わったり新たな値が代入される可能性があるのかとか。 その辺りで上手いやり方も変わってくる。
789 :
784 :2012/11/04(日) 02:31:22.48
なんか泣けてきた^^;
スレ違いかもしれませんが… 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単位ではないのでしょうか?
>>781 ラムダが出てくると、横道にそらしたりができるから、結構そうでもないかもとか
795 :
791 :2012/11/04(日) 20:51:41.82
>>793 やっぱりピクセル=ドットでしたか。
>>794 やっぱりあってましたか…
だとすると、なんでこんなに大きくなっちゃうんでしょうか…
とりあえずトライ&エラーで調整して、200ピクセルくらいにするとちょうどよさそうなので、これで行きたいと思います。
しかし、レシートプリンタにデータを渡すと、画像の端だけが印刷されてしまいます。
印刷範囲設定は用紙設定がされていないからだと思うのですが、8cm幅のロール紙に対応する定義はあるのでしょうか?
なければ、独自定義を設定するにはどうしたらいいのでしょうか?
ピクセル(論理的な画素単位)と ドット(デバイスの画素単位)の区別が つかないアホが集うスレはここですか
String.toLowerCaseとString.toUpperCaseは アルファベット(a-z,A-Z)のみに有効なのでしょうか?
>>795 条件は忘れたがjavaでの印刷はうまくいかないとういう投稿があったな
ずれるらしい
>>798 他の文字、例えば全角アルファベットとかにも適用されるよ。
>>800 ありがとうございます。ソースは見てないですけど
他の国の言語でも適用されてるかもしれないですね
ドキュメント読むと、ロケールによって挙動変わるらしいので注意してね。
803 :
デフォルトの名無しさん :2012/11/06(火) 17:17:38.77
while (条件式) 処理● try { 処理1 処理2 try { 処理A 処理B } catch(IOException ie) { 処理C continue; } } catch (Exception e) { 処理3 } 処理■ } となっている場合、continueの次にくるのは処理●(先頭に戻る)であっていますか? 友達は、処理■だと言っているのですが・・・
>>803 あってる。
while (条件式) の後に { が抜けてるからコンパイルエラーってネタでなければ。
805 :
デフォルトの名無しさん :2012/11/06(火) 17:33:04.75
>>804 即答ありがとうございます
コンパイルエラーのネタではありません。
ソースをそのまま張るとゼミの情報ばらしになるので要点だけ整理して書きました
そうですよね、continueは以降の処理を無効にして先頭ですよね・・
自称java得意って友達が「それは別の言語」と言っていますがどう考えてもbreakと勘違いしているんじゃないかと。
その友達の言ってるところに飛びたいなら、ラベル付きbreak使わないとダメじゃね? 処理3経由していいなら例外で飛んでく手もあるけど。
break使わなくても何もしないだけで処理■にいかんか?
continueが実行された場合は●であってると思うが
809 :
デフォルトの名無しさん :2012/11/06(火) 18:17:31.43
>>806-807 当然、処理■には飛ばせたくないですよ
そのためにcontinue入れたのですが、友達がcontinueじゃ処理●には戻らないって言うので
質問させていただきました
お前が合ってる。ちょっとコード書いて試してみろよ。 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の最後"); }
処理■の直後と処理●の直前だと、 条件式の再評価入るぶん処理■の直後の方が正しいかもしれんけどな……
え、do-whileじゃない単なるwhileも条件式のコードはループするブロックのケツに付いてるの? do-whileとの差はブロックの直前から直接ブロックに入るか条件式の手前まで飛ぶかの違いで。
処理●に飛ぶ==条件式は再評価されない、という解釈もできるって話なだけだ。 条件式のコードがどこに位置するかは最適化によって変わる。 固定されたらループの展開とかできなくなるし。
==条件式って一体何の話だ?
先月にJavaSEにクリティカルパッチが
プログラミング初心者です 色んなクラスから割りと頻繁にアクセスされるHashMapがあるんですが、 これはHashMapよりもConcurrentHashMapを使った方がいいんでしょうか? HashMap 同期 とかでググってたら、きちんと理解は出来ないけど色々書いてあって、 ConcurrentHashMapを使わないとハッシュテーブルが破壊されるような気がするのですが
同期が必要なのは、複数の*スレッド*から同時にアクセスが起きるような場合 単に色々な所からアクセスされるというだけであれば、 特にConcurrentなにがしを利用する意味はない
>>820 レスありがとうございます
同時アクセスも100%あり得ないわけではないと思うので、
安全性を考えてConcurrentHashMapを使ってみようと思います
>>803 「while(条件式)」に戻る
が正解
>>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でも何でもいいから使うときに一括してロックするのが確実
>>823 レスありがとうございます
同時アクセスも100%あり得ないわけではないと思うので、
安全性を考えてConcurrentHashMapを使ってみようと思います
825 :
821 :2012/11/07(水) 12:19:05.03
>>823 レスありがとうございます
ロックというのをした方がいいんですね
意味がわからないのでググってみます
ちなみに
>>824 は私ではないです
>>824 823が理解出来ていないようなら全く無意味だからむしろ使わない方が良い。
「安全性を考えてConcurrentHashMap」なんて認識がまず非常に危険なんだが、
そこんところ理解しないと全く先に進まないぞ。
スレッドセーフな実装を実現するために例えばConcurrentHashMapを使うのであって
ConcurrentHashMapを使ったからスレッドセーフになるわけではない。
悪いこと言わないからコンカレント云々を使う前にJavaのマルチスレッド処理について
きちんと勉強した方が良い。これ勉強せずに「とりあえず」ConcurrentHashMapなんか
使うのはありがちとはいえかなりの不思議ちゃん。
HashMapである必要性がないのに、 HashMap map = new HashMap(); てなコードは何度も何度も見てきたが、 ConcurrentHashMap map = new ConcurrentHashMap(); というコードは幸いにしてまだ見たことないな。 見たら泣く、たぶん。
Javaワールドってスレッドセーフという言葉が独り歩きしてるよね コレクションのメソッドみたいな粒度の小さい処理がスレッドセーフでも ほとんどの場合何の役にも立たないのに盲目的にスレッドセーフを有り難がったりとか ローカル変数はスレッドセーフでフィールドはスレッドセーフではないという呪文とか
俺なんかはスレッドセーフなんか気にしないで 運用してて落ちたらロックするようにしてる
>>828 そ。結局処理の内容に応じて適切な単位で同期するように書かないと意味が無いのに
ちゃんと順を追って勉強しないコピペプログラマは安全とか最強とかわけのわからん
理由でスレッドセーフなコンテナ使ったりする。
そりゃググってコピペですむ事柄も無いわけではないけれども、マルチスレッド処理
に関してはどっちかというと本なりチュートリアルをおって基礎から順に理解しないと
ダメな類の事柄だと思う。
漢ならsynchronizedは封印して全て楽観的ロックで実装するべき
Javaはおわこんでしょ? Windows8が出たんだしGUIやスマホも含めてこれからは.NETの時代じゃないの?
せめてWindows PhoneとかMicrosoft Surfaceが売れてから言ってくれないかな
JavaのGUIデスクトップアプリなんて歴史だけは無駄に長いけど 一貫して鳴かず飛ばずだし、AndroidのあれはJavaじゃないし 終わる前に始まってすらいない
windowsやlinux,macでswingのアプリが極端に少ないのは理由があるんですよ
サーバーサイドでだね元気なのは。 あと流行どころだとhadoop使ったビッグデーター解析なんかもJavaが第一言語 なところがある。
IOExceptionの他にTSUMIKIExceptionはありますか?
JUnitの解説をわかりやすく載せてるHP教えてください
どんな例外なのか分かる名前にしろ
YobaretaraYabaiException
BokunoKoumonMoException
Swingのアプリが少ないというよりJavaで作られたアプリが少ないの 間違いでしょう。理由はランタイムのインストールが必要だから。 余計な手間かけずにアプリ本体をインストールすればすぐ使えると いうものを利用者は求めている。
その割には.NETはWindowsにプリインストールされてなかった頃でも そこそこ一般に普及してたけどな Swingって長いことやってるくせにそれ自体も開発環境もなんでまだこんな低品質なんだ?
Javaも.NETも、ランタイムのサイズはあまり変わらないんだよね。 Javaランタイムを再圧縮して26MBくらい、 .NETも25MBくらい。 Adobe AIRは13MBくらい。 どれも再配布可能(アプリに添付可能)だった気がする。 単にJavaにはキラーアプリが無いんでないの?
.NETにもキラーアプリはないよね。 ていうか.NETアプリが最初からそこそこ普及してたなんて話 どこいっても聞かないんだけど。 俺の目から見て〜って話だったらどうとでも言えるよね。
ピュアJavaに拘ったことが一番の死因 サーバーならそれでいいが、クライアントは どうせ実行環境の機能を有効活用できないならWebでいいじゃんってなるからな
SWTのEclipseとかAndroidのJavaもどきとかスマホのMonoとか Java的なクロスプラットフォームの幻想を捨てたとたんに流行るのがいい例 Webじゃなくてわざわざ大袈裟なクライアント作るんなら ネイティブと同等のもの作れないと意味ないんだよ
String s="\\u3042\\u3044\\u3046"; をnative2asciiを使わずプログラム処理で "あいう"にしたいのですが、codepointをいちいち解析しないと変換は無理でしょうか?
native2ascii を何に使っていたのか知らないけど "\uu3042\uu3044\uu3046" の間違いでわ?
もちろんPropertiesででてくるアレです。 Properties.loadなどを使わない場合、String.valueOfやPatternでそれらしき便利メソッドがあると思ったんですがどうやらないみたいです。 メソッドにするほどでもないし、しょうがないのでコード書いてゴニョゴニョすることにします。
>>850 org.apache.commons.lang.StringEscapeUtils 使え。
標準API縛りなら、多少手間増えるけどjava.io.StringReaderとか使って
java.util.Propertiesに文字列突っ込めばデコードしてくれるはず。
もっとも、これは自分でデコード処理書くのと大して手間変わらんかもしれんけど。
commonsとかgoogleとかは最近使わないんですよ。 大した処理でもないのに配布やjarバージョン管理やデプロイなどが大げさになるので、高々30-100行程度のコードブロックを書く手間よりも、そっちのデプロイのデメリットの方が面倒になるためです。 もちろんPropertiesを使って楽ちんにしますがエンコ・デコともProperties経由だけでできるか試しにやってみますです。
ピュアなJavaのキラーアプリ→V2C なんちゃって
swingのキラーアプリと言ったらnetbeansですよ。 実体はnetbeans platform apiですが、日本語だとswingゲーム・アプリは皆無でnetbeans apiアプリも見たことないです。
858 :
デフォルトの名無しさん :2012/11/10(土) 11:55:02.95
Eclipseでプロジェクトフォルダーの横に赤いビックリマークが出るんですが 問題が見当たりません。 原因はどういったものが考えられますか?
859 :
デフォルトの名無しさん :2012/11/10(土) 12:00:57.05
>>858 もしお前が結婚しているのなら嫁のおっぱいをもんでやれ、だいたいのことはそれで解決する。
俺はそうやってデバッグしてる。
はい
利き腕とは逆の手で、利き腕側の胸を優しく揉め
>>862 おかげで解決しました!ありがとうございます!
下記のような形の時にcontainsを実行した場合、 childは必ず一意な存在になり、parentList.add(child2)は確実に実行されるものでしょうか? 2、3件リストに追加して調べるとちゃんと実行されるんですが、 どんどん追加していった場合にchildが何かと被ってしまうのではないかと不安です ArrayList<ArrayList<String>> parentList = new ArrayList<ArrayList<String>>(); ArrayList<String> child = ArrayList<String>(); child.add("hogehoge"); child.add("hugahuga"); ArrayList<String> child2 = ArrayList<String>(); child.add("wa-o"); child.add("uhyo-"); if(!parentList.contains(child)) parentList.add(child2); //←ここは確実に実行されますか?
一意性は保証される。 テストケースを書いて納得いくまで確認してみると良い。
867 :
865 :2012/11/11(日) 18:10:27.29
>>866 即レスありがとうございます
一応検証してみます
ArraytList#equals()の実装、 AbstractList#equals()は、 異なるオブジェクト間でtrueを返すことがありうるぞー? とエスパー
>>867 あ〜ごめん。
「一意な存在になり」と書いてあるので値の一意性を期待しているのだと決めうちで
答えたのだけれども、すこし考えると質問内容をもっと厳密に聞き直すべきだった。
そのコードだとparentListの中に並ぶリストの「値の」一意性が保証される。
なのでchild1が{"hogehoge", "fugafuga"}でchild2が{"wa-o", "uhyo-"}だとすれば、
child3として{"hogehoge", "fugafuga"}をparentListにaddしようとしてもその前の
containsのチェックがtrueを返すので、addは実行されない。
>>865 java.util.Setで足りる場合もある。
871 :
865 :2012/11/12(月) 13:35:54.18
>>869 補足ありがとうございます
その動作でバッチリです
child3がaddされないようにするのが目的なので
Sample(){ ウィンドウ作る while(){} } whileでループしているのに イベント処理するのは何故ですか?
873 :
デフォルトの名無しさん :2012/11/12(月) 17:01:19.89
>>872 /\___/ヽ
//~ ~\:::::\
. | (・) (・) .:|
| ,,ノ(、_, )ヽ、,, .::::| は?
. | `-=ニ=- ' .:::::::|
\ `ニニ´ .:::::/
/`ー‐--‐‐―´\
872です。 解決しました。
どういたしまして
switch (?) { case(0x02):int break; case (0x04):int break; case (0x05):int break; case(0x16):int } こんな感じでバイトを型変換したいのですが、処理する条件(?)がわかりません。 02,04,05・・・と数値化していきたいのですが
byteよりintの方が大きいから、 switch文使わずにint型変数に代入するだけでいいのでは?
>>876 そのcase文の意図するものがわからないので何とも言えないが
単にbyteをintに変換するだけなら代入でいいんじゃないの。
符号拡張の影響を考慮するならまた少し変わってくるけど。
GUIの勉強をしているところなのですが、actionPerformed()に直接引数を渡す方法はないものでしょうか? 今のところ、リスナクラスにも同じフィールドを宣言してコンストラクタで値を詰めるという方法をとっているのですが actionPerformed()の引数がactionListenerで決められている以上、こうするしかないのでしょうか
ActionEvent#getSource()経由で ビューにアクセスする手段がないわけでもない。
MyActionEvent extends ActionEvent して渡してもいいし、 こうするしかないという事はない。
ASTParserを使ってメソッドの行及びその前後3行を抜き出しテキストに保存しようとしているのですが上手くいきません。 メソッド名を抜き出してテキストに保存はできるのですが行そのものが抜き出せなくて困っています。 ASTPaserを使って抜き出すことは可能なのでしょうか?
エスパー、お呼びだ。
ASTNodeのpositionから自分で割り出せ
885 :
デフォルトの名無しさん :2012/11/14(水) 11:00:00.12
Javaの配列操作について教えて下さい。 String strA = "123"; String strBuf[] = new String[10]; strAの内容をバラバラにして("1"/"2"/"3")、 strBuf[0] = "1"/strBuf[1] = "2"/strBuf[2] = 3という風に格納したいです。 どのように操作すればよろしいでしょうか?
charAt
887 :
デフォルトの名無しさん :2012/11/14(水) 11:17:10.51
String strA = "123"; String[] strBuf = new String[10]; for (int i = 0; i < strA.length(); i++) { strBuf[i] = String.valueOf(strA.charAt(i)); } String strA = "123"; String[] strBuf = new String[10]; for (int i = 0; i < strA.length(); i++) { strBuf[i] = strA.substring(i, i + 1); } String strA = "123"; char[] strBuf = strA.toCharArray();
888 :
デフォルトの名無しさん :2012/11/14(水) 11:18:34.48
>>885 [0]がゴミでもいいのなら
"123".split("")
が楽だ
楽だね
楽だ楽だ
Runge-Kutta やってるんだが(変数の初期化文などは除く) for(double i = 0; i <= 2; i = i + h){ k1 = h*(-1*k1); //Euler,k1 half = k2 + h/2*(-1*k2); k2 = h*(-1*half); //改良Euler,k2 k3 = h*(-1* (1 + k2/2)); //k3 k4 = h*(-1*(1 + k3)); //k4 Fin = 1 + (k1 + 2*k2 + 2*k3 + k4)/6; // x(t+h) = x(t) + 1/6*(k1 + 2*k2 + 2*k3 + k4) System.out.println(Fin); どうもうまく回ってないらしく0.1の時だけ合ってる 0.2以降は滅茶苦茶 Fin=k1みたいにすればいけるとは思うんだけど どうすればい?
half = k2 + h/2*(-1*k2); ↓ half = k2 + h/2.0*(-1*k2); 以下同様
めがしょぼしょぼするー
896 :
デフォルトの名無しさん :2012/11/14(水) 19:23:51.64
import java.util.Scanner; public class S4{ public static void main(String[] args){ Scanner stdIn= new Scanner(System.in); double [] a=new double[3]; System.out.println("数字"); for(int k=0;k<3;k++){ a[k]=stdIn.nextDouble(); } for (int i=0;i<a.length / 2;i++){ double t =a[i]; a[i]=a[a.length-i-1]; a[a.length-i-1]=t; } System.out.println(a[a.length-i-1]); } } この結果が実行できません>< どなたか教えてください。、
System.out.println(a[0]); System.out.println(a[1]); System.out.println(a[2]);
898 :
デフォルトの名無しさん :2012/11/14(水) 19:48:47.31
ありがとうございます>< 助かりました><
892だけど
>>893 はつまり(double)みたいにキャストだっけか、のことですかね
→修正してみましたがダメです
プログラムの全体図↓ (式:dx(t)/dt = -x(t) t=oのときx=1)
uploda.cc/img/img50a376aa11e3e.png
実行結果内容↓(h=0.1で実行)
$cat Runge_Kutta_result.txt
0.1 0.9048375
0.2 0.9561987708333334 (ここから値がおかしい)
0.30000000000000004 0.9512277834375
.......(以下略)...........
0.1のときの0.9048375は厳密解に近いんですが(厳密解は0.9048374)
0.2のとき0.8187307の厳密解に近づけたいんですが
どなたかわかりませんか?
900 :
デフォルトの名無しさん :2012/11/14(水) 20:49:38.63
import java.util.Scanner; public class S5{ public static void main(String[] args){ Scanner stdIn= new Scanner(System.in); float []a=new float[5]; System.out.println("要素数:"); for (int k=0; k<5; k++){ a[k]=stdIn.nextFloat(); } float sum=0.0f; for (int i =0;i <a.length;i++); sum += a[5]; System.out.println(sum); } } 何度もすみません float型の配列aの全要素の合計を変数sumに格納するプログラムを書きたいんですが エラーを見てもわかりません。 教えてください><
sum += a[i];
>>900 import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner stdIn= new Scanner(System.in);
float []a=new float[5];
System.out.println("要素数:");
for (int k=0; k<5; k++){
a[k]=stdIn.nextFloat();
}
float sum=0.0f;
for (int i =0;i <a.length;i++){//{}でくくるところが;になってる
sum += a[i];//a[5]は範囲外
}//閉じ もしくは for (int i =0;i <a.length;i++)sum += a[i];
System.out.println(sum);
}
}
>>899 Fin = 1で初期化してるんだから、ループ中で「x(t+h) = x(t) + ...」って計算したいなら
「Fin = 1 + ...」 じゃなくて、「Fin = Fin + ...」じゃないの?
904 :
デフォルトの名無しさん :2012/11/14(水) 21:19:41.07
900です できました!ありがとうございます!
馬鹿には無理
>>903 ありがとうございます
修正した所少し値が変わりましたが、まだイマイチです・・・
0.1 0.9048375
0.2 0.8610362708333333
0.30000000000000004 0.8122640542708334
このプログラムでは限界がありそうですね・・・
907 :
デフォルトの名無しさん :2012/11/14(水) 23:43:43.66
import java.util.Scanner; public class S12{ public static void main(String[] args){ Scanner stdIn= new Scanner(System.in); int n=stdIn.nextInt(); int[] a=new int[n]; System.out.print("値"); for(int k=0;k<n;k++){ a[k]=stdIn.nextInt(); } int[] b= new int[a.length]; for (int i=0;i<a.length;i++) b[i]= a[i]; System.out.println(b[i]+" "); } } 間違ってる所がわかりません>< 教えてください><
>>907 for (int i=0;i<a.length;i++)
b[i]= a[i];
↑ここまでがfor分の範囲({}でくくってないから1文のみでループ)
↓スコープ範囲外なのでiを参照できてない
System.out.println(b[i]+" ");
とりあえずfor文必ず{}でくくるか for (int i=0;i<a.length;i++)b[i]= a[i];
とでも書いとけ
うざい死ね
910 :
デフォルトの名無しさん :2012/11/15(木) 00:20:53.94
すみません><ありがとうございます!
import java.io.*; class Test { static private int x; public static void main(String args[]) { x = 0; x += func(); System.out.println("x=" + x); } static private int func() { x++; return 1; } } これを実行すると、x=1と出力されるんだけど、なんで? 2になるべきじゃない?
>>911 a + b
の式は、aが先に評価されまっせ的なことなんじゃね。
x += func()
は
x = x + func()
で
x = 0 + func()
とxが評価されて
x = 0 + 1
とfunc()が評価されるんじゃね。
>>911 たぶん
x += func();
の行が
x = x + func();
と解釈されて計算されてるのかと。
func()でインクリメントされる前にxを加算してるので0+1=1になってる
>>912 >>913 911です。レスありがとう。
納得は一応できました。
ただ、Cじゃ2と出るんだよね、これは盲点だわ
>>914 ありがとうにございますをつけろ。Cはしらねーよはげ。
仕様だろ 確かコンパイラではそう解釈しろと言うようなことが書いてあった
質問です。 かなり初歩的で申し訳ないのですが、 インスタンス作成の際の式は クラス型 インスタンス名 = new クラス名 でいいと思うのですが、 クラス名を、クラス型に当たるクラスのサブクラスを持ってきた場合、 手持ちの参考書だと、クラス型はそのスーパークラスの名前を使うようになっています。 これは別に、サブクラス名を型として使うことは出来ないのでしょうか? だとしたら何故なのでしょうか? となると、そもそもクラス型ってなんなんでしょうか? よろしければ教えてくださいませ。
polymorphismするときにそのほうが便利だから
>>917 > これは別に、サブクラス名を型として使うことは出来ないのでしょうか?
できるお。
スーパークラス型の変数はサブクラス型のオブジェクトを受けることができる。
スーパークラス型の変数でオブジェクトを受けておくと、サブクラスの実装を変えたいとき、
変数にセットするオブジェクトを変えるだけですむ。
サブクラス型の変数でオブジェクトを受けておくと、サブクラスの実装を変えたいときに
変数にセットするオブジェクトを変える必要があり、それを受ける変数のデータ型も変える
必要がある。サブクラスの実装を変える必要が生じたときにちょと面倒。
オブジェクトの実装は金輪際変わることがないし、あたしはこのサブクラスしか
使わないことを神様に誓うのという断固たる決意があるときには変数のデータ型を
サブクラスの型にするべき。
ごちゃごちゃ書きたいならブログでやれよちんこ
>>918 >>919 なるほど。ありがとうございます。
特に
>>919 さん、丁寧に解説下さり感謝いたします。
スーパークラスで作っておけば、実装の変化に対応出来る・・・そうですよね。
なぜ気が付かなかったのか><
そういった考え方が出来ないあたり、私はjava向いてないのかも知れませんが・・・^^;
どもでした。
>>921 というか、あなたはjava向いてないのでもう止めた方がいいですよ
/!/{ / ヾ--r
_ /  ̄ <_
_>`´
>>922 _<_
> r‐'" ̄ ̄ ノ ̄ ̄`ヽ、―ニ 二
/ , | `ヽ/ ´`ヽ _ 三,:三ー二
 ̄/ | ノヽ--/ ̄ , ` ̄ ̄ ̄
/ /⌒ヽ,| ミ } ...| /!
レ l d _}`ー‐し'ゝL _
| ヽ、_, _,:ヘr--‐‐'´} ;ー------
|/| \ ノ`ヾ:::-‐'ーr‐'"==-
ヽ/l/|` ー------r‐'"  ̄ ̄
|└-- 、__/`\-:、
__,ゝ,,_____/ \_」 \
白背景に白い文字を乗せた時(JLabel利用)に 文字が見えないのを回避するために文字を縁取りしたいと思います。(文字の色変えろってのはなしで) Grahic2DでのPrintとかラベルを重ねて1ドット移動とか 試してみたのですが、どうも描画が遅くやりたいことが できておりません。 何か適当なライブラリとかありませんでしょうか?
普通にやれば描画が遅いということはないはずなんで ライブラリなんかなさそう。
画像にキャッシュしとけ
Font#createGlyphVector GlyphVector#getOutlineで、Shapeを取って Graphic2D#setPaintで縁の色を設定して Graphic2D#draw(Shape)すればいい
馬鹿には無理
java初心者なんだが import java.util.*; public class Test01 { public static void main(String args[]) { ArrayList<HashMap<String, String>> arrayMap = new ArrayList<HashMap<String, String>>(); HashMap<String, String> map = new HashMap<String, String>(); map.put("key", "value0"); arrayMap.add(0, map); map.put("key", "value1"); arrayMap.add(1, map); System.out.println(arrayMap.get(0).get("key")); System.out.println(arrayMap.get(1).get("key")); } } このコードの結果としてvalue0とvalue1が表示されるのを期待したんだが 両方共value1が表示されました。 期待通りの結果にするにはどうすればよいでしょうか?
要するにフォントをビットマップで重ね塗りしたいんだろうけど
>>927 みたいなやり方しなきゃだめだろうね。
>>930 キーに同一の値を設定する意味を理解していますか?
理解できればおのずと答えは出るはずです。
馬鹿には無理
arrayMapに入っている物→map,map ※どっちも同じ。 mapに入っている物→Key&value1 arrayMap.get(0)で得られる物→map arrayMap.get(1)で得られる物→map map.get("Key")で得られる物→"value1" 結論 HashMapなんて使わずに素直にArrayListだけ使えば宜しい。
なんかみんな簡単なプログラムしかかけないんだな。
世の中にある大半のJavaコードは住所録こねくり回してるだけですよ
>>936 は、簡単なプログラムで書けるように設計する能力がないんだな。
Javaって簡単なパーツを組み合わせるのが本質なんですかね?
プログラムがそういうものでしょ
コピペしただけでプログラム書いたと言い、コピペしたプログラムで不具合がでると直せません, わかりませんって言って放り投げるなよ。・゚・(ノД`)・゚・。
943 :
デフォルトの名無しさん :2012/11/17(土) 16:58:05.41
サーブレットとJSPで作ったWebアプリケーションのWARファイルをTomcatにデプ ロイして WebブラウザからリクエストするとTomcatがStackOverflowErrorを発生させてし まい、 Webブラウザのページ表示スペースが白紙のまま固まってしまいます。 Tomcatのcatalina.outを見るに jspをコンパイルする過程で無限ループが出来上がってしまっている様子なので すが、 これはJSTLのforEachを使って自分で書いたループの中に無限ループがあるか、 あるいはスクリプトレットの中に記述したJavaコードの中に無限ループがあると いうことなのでしょうか?
スタックトレースの頭とおしりを貼らんと誰も答えられんと思う。
946 :
デフォルトの名無しさん :2012/11/17(土) 17:48:55.86
>944 そうでした、すみません! 中盤〜後半は同じものがループしています。 長すぎて書けなかったのでテキストファイルをアップロードしました uproda.2ch-library.com/601838wfj/lib601838.txt
ざっくり見た上でエスパーするとだね。 includeディレクティブで自分自身を参照したり参照関係を辿るとループになっていないかい?
948 :
デフォルトの名無しさん :2012/11/17(土) 19:46:33.59
>>947 ありました……!
モジュールとして分割していたheader.jspの中でheader.jspをインクルードして
いました!
ネットで探しても同様の事態に陥っているケースが見つからなかったのも納得で
すね、こんな失敗普通はしませんよねw
修正したら無事開くことができました、感謝です!
うんこ
>>930 他の奴がしてる回答じゃあまり理解できてないと思うから教えてやるけど
Javaの配列を扱うオブジェクトは全て参照渡しされる
map.put("key", "value0");
arrayMap.add(0, map); ←ここの段階では0のkyeにはvalue0が入ってる
map.put("key", "value1"); ←ここで同一キーの値が上書きされたのでarrayMapの0の中身も参照渡しでvalue1に書き換えられる
arrayMap.add(1, map);
馬鹿には無理
Javaには参照渡しはない。
>>951 配列を扱うオブジェクトってなんだよ
Javaでオブジェクトと言ったら全部参照型(常に参照の値渡しになる型)だよ
全部のオブジェクトが参照にはならねーよにわかのアホが 操作型と生成型で参照渡しされるかどうか区別されるんだよ無能
な? こういうJava独特の参照渡しも理解してない馬鹿が多いスレの回答じゃ わかりずらくて仕方ないだろうから俺がわざわざ勘違いの元をわかりやすく教えてやったのに 馬鹿がそれにまた食いついてくるアホさ加減 入門書でも読んでろアホ
バカにはムリw
>>955 どんな場合にクラスのインスタンスを値渡しできるんですかぁ?
参照の値渡しね。
いつもこの話題ね
バカにはムリw
963 :
デフォルトの名無しさん :2012/11/18(日) 23:16:06.22
質問です。 java.io.File("パス名") としてファイルを読むプログラムを書いているのですが、 パス名に記号の '+' が入っているとファイルが読めないようです。 何か良い対処法はありませんか。 OSはWindows、FSはNTFSです。
964 :
デフォルトの名無しさん :2012/11/19(月) 00:52:04.37
JavaEE6からEL式でメソッドコールできるようになりましたが、 Staticメソッドを呼ぶときは、どのように書くんでしょうか? 普通に${XxxUtil.abc()}って書いても呼ぶことができませんでした。
言い訳言ってるけど結局簡単なプログラムしかかけないんだな。 ひょっとしてこないだのネット犯罪とかの遠隔操作程度でスゲエとか言っちゃうレベル?w
十分すごいだろ どこらへんが凄いかもわからん馬鹿かお前は ちなみに凄いのはtorじゃないからな
素人には凄いプログラムなら凄い犯罪が行えると思えるかもしれないが、凄いプログラムであるかどうかはその犯行とまったく関係ない
馬鹿には無理
簡単の意味が違うだろ?w コーディング程度の事言ってるんじゃないと思う。
うんちうんち
うんち
>>972 日毎に顧客の言う仕様が変わるプログラムだろw
>>974 それもコーディングレベルの難しさじゃね。
コーディングレベルが高ければ、顧客の要求への対応が完璧に出来ると。 うーむ。
デスマだろう
jnlpからJavaWebStartを起動しているのですが、 jnlpにパラメータを渡したいと思っています。 (起動するアプリのコンテンツが切り替わるようにしたいため) ただ、01234.jnlpなどとして、ドット前の「01234」をパラメータ値とした場合に、コントロールパネルのJAVA設定の起動アプリケーションにそれぞれ異なるアプリとして羅列されてしまいます。(PCにそれぞれのjnlpファイルがキャッシュされるようです) これを1つのアプリとして1つのキャッシュしか 保存させないようにするには、どうすれば良いでしょうか? なおJnlpはPHPから動的に生成しています。
閲覧中以外のログを一括削除できる方法ってあります? 気づけば大量のログで起動が重い 今は「ログ一覧」!でソートしながら削除してます
何言ってるかわからん
V2Cのスレと間違えたんだろう。
982 :
デフォルトの名無しさん :2012/11/21(水) 17:32:17.90
何を言っているのかがわからないことよりも、 場の雰囲気を感じろ。
あ
下のような場合、breakでfor文の外に抜けますか? for(int i=0; i<10; i++){ try{ if(何か条件) 何か処理 else break; ○の位置まで抜けたい }catch(Exception e){ } } ○ここに抜けたい。
自分でやれば判る事をなぜ聞く?
986 :
デフォルトの名無しさん :2012/11/21(水) 19:37:59.70
こまんどーローカル荒らしでSD2.1
>>984 あーそれじゃ抜けられないよwバカダナーw
拝啓 ご利用の皆様 私、JavaとJaneを見間違えて質問しておりました。 大変不愉快な思いをさせてしまい申し訳ありません 2度とこのようなことの無いよう心掛けて逝く所存でございます 敬具
抜けねーな
次のうんちスレはどこだ?
991 :
デフォルトの名無しさん :2012/11/22(木) 00:49:00.28
cewolf使ったことある人居る?
初学javaでの良書を教えてください。 他の言語をかじった程度の知識はあります。 将来的にアンドロイドをイジリたいと考えています。 オライリー本はヘビーそうなのでもう少しヌルめの本を希望します。 よろしくお願いします。
あ
かじった言語によるけど…。 他言語解るなら入門書要らねーだろ。 言語仕様と標準ライブラリ読めば? もし言語仕様が理解できないなら元の言語に戻って、 きっちり理解してから他の言語やれよ。
「他の言語をかじった経験」の内容にもよる。 C/C++ならJavaのクラスリファレンスを読むとか応用系の本を探す。 VBとかDelphiだったらC/C++から入ったほうがいいと思う。
返答ありがとうございます。 Cの基礎本を読んでコンソールアプリを触った程度です。 CのGUI、Winアプリに移行するハードル(APIその他諸々)がちょっと高かったのと、アンドロイドを触りたかったので 浮気してみました。 まだC++のようなクラスに手を出してなく、Cの構造体止まりの段階です。 田舎の本屋なので開発系の本が少なく手に取ったのが わかりやすいJAVA (オブジェクト志向) これ一冊買って今読み始めたところです。 が前段階の文法系の約束事が抜けているので、何かあれば有難いです。 上記本の前提本、わかりやいJAVA(入門編)をアマゾンで仕入れようか思案中です。 Cであれば独習Cや柴田望洋氏のC関係のような「定番」の紹介を頂けると助かります。
ネットで十分
WinでGUIやりたいんならJavaは向いてないぞ? .NET行ったほうがいい
アンドロイドをさわりたいと言っている人にWinのGUIをすすめる アホがいると聞いてすっとんできますた。
そもそもAndroidやりたいなら門前払いだ Javaじゃないからな
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。