トップページ⇒tech
1001コメント281KB

★★Java質問・相談スレッド155★★

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん2012/06/29(金) 22:35:13.65
プログラミング言語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質問・相談スレッド154★★
http://toro.2ch.net/test/read.cgi/tech/1337684981/
0809デフォルトの名無しさん2012/08/02(木) 20:54:28.39
calcsumがstaticだったら要らないな。
まともに設計しないと、分けるべきとかstaticであるべきとか、決まらないからやっかいだな。
0810デフォルトの名無しさん2012/08/02(木) 21:17:17.11
で、staticつけまくってstaticおじさんいっちょあがりですか
0811デフォルトの名無しさん2012/08/02(木) 21:26:38.02
>>808
フィールドを使うためだろ
実際付けなくてもエラーでないし実行できる
0812デフォルトの名無しさん2012/08/02(木) 21:33:47.47
ある物を不要とすれば別の物が必要になる
それだけの話
0813デフォルトの名無しさん2012/08/02(木) 23:43:17.34
質問します。

HOGE = 4570714222;
System.out.println("HOGE=" + HOGE + " 0x" + Long.toHexString(HOGE));
HOGE= (HOGE & 0xFFFFFFFF);
System.out.println("HOGE=" + Long.toHexString(HOGE));

やりたいことは、HOGEの下位4バイトだけを取り出したいです。
実行すると、HOGE=0x1106f906eとなってしまいます。なぜか余計な1先頭にがくっついてきます。
HOGE = (HOGE & 0xFFFFFFFF)は、HOGE=0x1106f906e & 0xFFFFFFFFを計算しているから
HOGEは、0x106f906eにならないとおかしいと思うのですが、なりません。

0814デフォルトの名無しさん2012/08/02(木) 23:54:53.15
HOGEがfinalで宣言されてるからだよ
0815デフォルトの名無しさん2012/08/02(木) 23:58:45.26
>>814
HOGEはfinal宣言してません。
0816デフォルトの名無しさん2012/08/03(金) 00:01:27.92
longに対してintで論理積を取ってるからそうなるんだろ
0xFFFFFFFFLにしたらどうだ
0817デフォルトの名無しさん2012/08/03(金) 00:01:52.13
失礼します。

out.print("<tr>");
int count = 0;//カウント用
for(int i = 1 ; i < firstDay ; i++){//月が始まるまで空白出力
count++;
out.println("<td width=30 heigth=30 align=center>");
}
for(int i = 1 ; i <= lastDate ; i++){//月間の日数分ループ
count++;
if(hyoujiNen == sysYear && hyoujiTuki == sysMonth && i == sysDate){//当日
out.println("<td style=\"border-color:#000000; border-style:dotted; border-width:1px;\"width=30 height=30 align=center bgcolor=#fff00>");
out.println(i);
out.println("</td>");
}else if(count % 7 == 0){//土曜
out.println("<td style=\"border-color:#000000; border-style:dotted; border-width:1px;\"width=30 height=30 align=center bgcolor=#0000ff>");
out.println(i);
out.println("</td>");
}else if(count % 7 == 1){//日曜
out.println("<td style=\"border-color:#000000; border-style:dotted; border-width:1px;\"width=30 height=30 align=center bgcolor=#ff0000>");
out.println(i);
out.println("</td>");
}else{//当日以外の平日
out.println("<td style=\"border-color:#000000; border-style:dotted; border-width:1px;\"width=30 height=30 align=center>");
out.println(i);
out.println("</td>");
}
//土曜なら次の列へ
if(count % 7 == 0){
out.print("</tr> <tr>");
}
}
0818デフォルトの名無しさん2012/08/03(金) 00:04:10.90
続き

現在JSPでカレンダーを作成済みです。
日曜から始まり土曜になったら次の行へ行く形にしてるんですが、
これをサーブレットとJSPで処理を分けて作る事は可能ですか?

0819デフォルトの名無しさん2012/08/03(金) 00:07:59.78
>>816
ありがとうございました!0xFFFFFFFFLにしたら解決しました。
0820デフォルトの名無しさん2012/08/03(金) 00:08:31.08
intの0xFFFFFFFFは-1
longとの演算で型が昇格
-1はlongで0xFFFFFFFFFFFFFFFF
08218172012/08/03(金) 07:36:23.74
どなたかご回答いただけるとありがたいです。

お願いします。
0822デフォルトの名無しさん2012/08/03(金) 07:39:48.14
めんどくせえ
0823デフォルトの名無しさん2012/08/03(金) 08:22:49.34
>>818
可能。
08248182012/08/03(金) 08:35:25.79
>>823
可能ですか。何かヒントいただけませんか?
0825デフォルトの名無しさん2012/08/03(金) 08:39:24.28
そんなことよりさ、カネくれよカネ
0826デフォルトの名無しさん2012/08/03(金) 08:43:02.54
>>824
何がわからないかヒントいただけますか?
0827デフォルトの名無しさん2012/08/03(金) 08:43:19.06
ヒント:jspの初心者向けサイト
0828デフォルトの名無しさん2012/08/03(金) 08:48:47.84
ヒントなんかいらんわ
カネくれよカネ
0829デフォルトの名無しさん2012/08/03(金) 09:15:16.60
今日気づいたんだがクリップボードにコピーされるたびにサイトにコピーした内容が送信されるウイルスに観戦感染してた・・
0830デフォルトの名無しさん2012/08/03(金) 09:16:43.47
>>826
えっと…サーブレット側で行ったループ処理をJSP側で受け取る方法。みたいな感じです。
0831デフォルトの名無しさん2012/08/03(金) 09:28:22.43
そんな基礎、ぐぐれば1分で解決するからぐぐれって
0832デフォルトの名無しさん2012/08/03(金) 09:29:44.79
ループ処理をメソッド化してjspから呼び出せばいい
0833デフォルトの名無しさん2012/08/03(金) 09:29:51.72
>>829
どうやって気付いたんだ?
0834デフォルトの名無しさん2012/08/03(金) 09:30:40.17
>>829
こえー
俺も感染してたらどうしよう
08358182012/08/03(金) 09:32:57.90
ありがとうございました。
もうちょっと調べてみようと思います。
0836デフォルトの名無しさん2012/08/03(金) 09:33:10.61
>>829
100MBの動画とかをエディタで開いてCTRLA C連打したらどうなるんだろうな
向こう落ちるんじゃないか?
0837デフォルトの名無しさん2012/08/03(金) 09:49:15.32
ウイルスもエディタもイラネー
カネくれよカネ
日本人はゴールドざっくざく好きだろ?
0838デフォルトの名無しさん2012/08/03(金) 10:07:35.32
>>830
やり方はいくらでもあるので、例。
controler(sevlet)で日インスタンスを持った月インスタンス(model)を作り、view(jsp)に渡し、月に次の日をくれって言うと、次の日がもらえる。
休みとか当日とか週末とかも日に聞けばわかる(ように作る)。
こういうふうにしとけば、viewには単純なループだけでいい。どうしてもループ消したいならカスタムタグにする。
0839デフォルトの名無しさん2012/08/03(金) 12:43:04.18
へえ
0840デフォルトの名無しさん2012/08/03(金) 12:55:17.85
>>836
Javaで大量のデータをクリップボードにコピーし続けるプログラム走らせれば面白そう
0841デフォルトの名無しさん2012/08/03(金) 13:35:00.24
Javaじゃなくても面白そうだけどね。
0842デフォルトの名無しさん2012/08/03(金) 17:54:27.21
うん
0843デフォルトの名無しさん2012/08/03(金) 18:23:05.01
こ
0844デフォルトの名無しさん2012/08/03(金) 18:34:27.84
ぶりぶり
0845デフォルトの名無しさん2012/08/03(金) 18:59:22.40
>>838
ありがとうございます。
頑張ってみます。
0846デフォルトの名無しさん2012/08/04(土) 00:30:33.26
いえいえ
0847デフォルトの名無しさん2012/08/04(土) 16:59:20.76
Big Java 3rd edition, cay horstmann のソースコードが見つからないのですが、あるんでしょうか?
本のCh23/parser/ItemListParserDemo.java のコードを写してもエラーで出来ないので。
0848片山博文MZボット ◆0lBZNi.Q7evd 2012/08/04(土) 17:35:53.20
>>847 http://ll.la/dmyL
0849デフォルトの名無しさん2012/08/04(土) 17:55:59.19
お気に入りサイト管理のフリーソフト。
(2012-07-28: 0.95をリリース)

登録したサイトの全画面のイメージを作成して、
動画サイトでは動画のコマ送り画像も自動生成!

まとめサイトやブログなどを永久保存!

他にも便利な機能がたくさんあります。

詳しくは、下記のサイトから。(または、MyFavorites Collection で検索!)
(基本的な操作の動画も公開中!)

http://nwn-app.appspot.com/mfcfunc.html
0850片山博文MZボット ◆0lBZNi.Q7evd 2012/08/04(土) 17:58:36.46
>>849 画像のアスペクト比がめちゃくちゃだよ。
0851デフォルトの名無しさん2012/08/04(土) 18:29:11.08
>>848
loading から変化がないのでDL出来ませんでした。
本が手元にあるので頑張って記載されているソースコードを探してみます。
わざわざ手数を患わせてすみません。アップありがとうございました、
0852デフォルトの名無しさん2012/08/04(土) 19:10:33.79
log4Jの使い方で聞きたいんだけど、

Hoge1クラスの中で
Logger log = Logger.getLogger(Hoge1.class.getName());
log.setLevel(Level.DEBUG);
log.info("aiueo");

みたいに使うときに、log.setLevel(Level.DEBUG);の設定の有効範囲ってHoge1クラスの中だけ?
同時に起動しているHoge2クラスで同じように

Logger log = Logger.getLogger(Hoge2.class.getName());
log.info("aiueo2");

って書いたらデフォルトのレベルがINFOだとしてDEBUGのメッセージは出力されない?
0853デフォルトの名無しさん2012/08/04(土) 19:14:45.40
String file = "sample.log";
PatternLayout layout = new PatternLayout();

try {
writer = new FileWriter(file);
appender = new WriterAppender(layout, writer);
} catch (IOException e) {
}
System.out.println("スレッドホールド:" + appender.getThreshold());
appender.setThreshold(Priority.DEBUG);
System.out.println("スレッドホールド:" + appender.getThreshold());
log.addAppender(appender);


これでDEBUGレベルのがログに出力されなくて困った
助けておくれ
0854デフォルトの名無しさん2012/08/04(土) 19:37:55.95
>>852は自己解決した
0855デフォルトの名無しさん2012/08/04(土) 19:58:52.62
まずmainに貼り付ければコンパイルの通るコードを貼ってくれんか?
0856855 2012/08/04(土) 19:59:37.76
レス間違えた無視してくれ
0857デフォルトの名無しさん2012/08/05(日) 03:00:18.09
数学のグラフを書くための良い(定番)ライブラリを教えて下さい。
PythonのMatplotlibのようなものを探しています。
よろしくお願いします。
0858デフォルトの名無しさん2012/08/05(日) 16:27:49.13
>>857
いくつかあるがJFreeChartが一番使いやすかった
http://www.java2s.com/Open-Source/Java/Chart/CatalogChart.htm
0859デフォルトの名無しさん2012/08/05(日) 16:29:53.75
3Dや再構成状態空間アトラクタとかも描画できるチャートライブラリも欲しいよね。
0860デフォルトの名無しさん2012/08/05(日) 16:33:22.22
JGRとか使ってRと繋げてRコマンド使う前提でのプロットも有るけど、
あれだと他所への埋め込みが難しくなる。
0861デフォルトの名無しさん2012/08/05(日) 16:43:15.60
フィボナッチ関数もかけるやつでお願いします><
0862デフォルトの名無しさん2012/08/05(日) 16:53:57.72
>>861
あたらしいものを発見したようだな
0863デフォルトの名無しさん2012/08/05(日) 18:03:23.50
>>858
>>860
ありがとうございます!
とりあえずJFreeChartを試してみます。Rも使ってるのでJGRというのも見てみます。
0864デフォルトの名無しさん2012/08/05(日) 21:18:26.18
javaappletで複数のdrawLineやdrawOvalで描いた図を一纏めに扱うためにはどうしたら良いでしょうか?
0865デフォルトの名無しさん2012/08/05(日) 22:16:37.04
>>864
Image作ってそこにdrawLineやdrawOvalする
appletはそのImageを描画する
ちらつき防止かつImageを拡大や縮小すればひとまとめにして扱える
0866デフォルトの名無しさん2012/08/05(日) 22:17:29.28
フィボナッチって数列じゃないすかね
0867デフォルトの名無しさん2012/08/05(日) 22:45:21.05
いやつまりね、例えばBufferedImageつくるじゃん

BufferdImage img = new BufferedImage(300, 300, BufferedImage.TYPE_4BYTE_ABGR); //イメージ生成
(Graphics2D)g2 = img.createGraphics(); //生成したBufferedImageに書き込むGraphics2Dを生成

g2.drawLine(0, 0, 100, 100); //生成したBufferedImageに線を引く
・・・・ //好きなように円書いたり図形書いたりする


〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
アプレット

public void paint (Graphis g){
   Graphics2D g2 = (Graphics2D) g;

   g.drawImage(img, 0, 0, this); //imgを描画

}

こんな感じやねん
0868デフォルトの名無しさん2012/08/05(日) 22:48:01.09
>>865
その事を使って何か簡単なのを書いていただけないでしょうか?
0869デフォルトの名無しさん2012/08/05(日) 22:49:02.23
>>867
ありがとうございます
0870デフォルトの名無しさん2012/08/05(日) 23:01:06.94
>>867
できんかった・・・
アホすぎる・・・
猿でもわかるぐらいに説明してもらえませんか?
0871デフォルトの名無しさん2012/08/05(日) 23:03:57.48
馬鹿には無理
0872デフォルトの名無しさん2012/08/06(月) 00:41:31.85
>>861
フィボナッチって前の数字2つを足した数字が次の数字って奴だろ。
その程度の関数もかけないのか?
0873デフォルトの名無しさん2012/08/06(月) 01:43:55.60
javaは浮動小数点数を採用していて正確に少数が表記できないからBigDecimalがあると
どこかで見たんですが、BigDecimalも小数点以下10桁くらいに設定すると正確に表示されないですよね?
javaでは少数の計算をするのは諦めた方がいいのでしょうか?
0874デフォルトの名無しさん2012/08/06(月) 01:54:57.36
何を計算したいかによる
0875デフォルトの名無しさん2012/08/06(月) 02:00:04.13
javaでなくて、お前には計算機での実数計算は難しい
0876デフォルトの名無しさん2012/08/06(月) 02:15:29.63
馬鹿には無理
0877デフォルトの名無しさん2012/08/06(月) 02:20:08.12
つまり↑には無理
0878デフォルトの名無しさん2012/08/06(月) 02:27:24.18
ここもくっだらねーやりとりしてんなぁ
08798732012/08/06(月) 02:28:24.68
色々書き直したらできたw
スレ汚しすいませんでした
0880デフォルトの名無しさん2012/08/06(月) 02:30:14.84
>>873
BigDecimalはあくまで任意精度での演算を実現するクラス
つまり何桁かまでの精度があることは保証できて、
100桁でも1000桁であってもプログラマが指定すればそのように動く

もちろんあくまで任意であって、精度の限界はあるので
例えば任意の有理数の上で演算したいとか、そういう記号処理的な事がやりたいのであれば
BigDecimalは使えない
0881デフォルトの名無しさん2012/08/06(月) 05:45:07.16
windows8とかこれから画面タッチが主流になってくると思うけど、これってリスナー関係どうなるのかね?
今の流用してマルチタッチとか感知できる?
0882デフォルトの名無しさん2012/08/06(月) 07:14:42.16
>>870
あ、間違ったとったわ

(Graphics2D)g2 = img.createGraphics();
→
Graphics2D g2 = img.createGraphics();

これでできるやろ
0883デフォルトの名無しさん2012/08/06(月) 07:25:11.48
ぐぐったらJavaFXは2.2でマルチタッチ対応するらしい……

既存アプリに対してなら、マルチタッチのジェスチャを翻訳して
適当なイベントなげてくれるネイティブアプリをそのうち誰かが作るんじゃねーかと。
0884デフォルトの名無しさん2012/08/06(月) 07:26:30.25
ブログのテンプレートにリンク画像を貼りたいのですが、HTMLの記述が分かりません。
FLASHは使えないので、2.2秒で変わるGIF画像を作りました。その画像のリンクする先を2.2秒感覚で変えたいのですが、詳しい人HTMLを書いて頂けませんか。
画像のリンク先は4つに設定したいです。
0885デフォルトの名無しさん2012/08/06(月) 07:37:51.64
この前フィボナッチ螺旋みたいなでっかいウンコが出たんですけど、ウンコってなんであんなに臭っいんですか?
0886デフォルトの名無しさん2012/08/06(月) 08:11:15.09
ひまわりの種をフィボナッチ螺旋に沿ってとって食べたから
0887デフォルトの名無しさん2012/08/06(月) 08:47:10.99
>>881
HIDなら問題ないだろ。作る方に問題があるかは別にして。
0888デフォルトの名無しさん2012/08/06(月) 08:56:34.78
なっちはどうしてあんなになってしまったんでしょうか?
0889デフォルトの名無しさん2012/08/06(月) 09:10:33.40
ということは、どういう順番で食べるとウンコは臭っさくならなくなるですか?
0890デフォルトの名無しさん2012/08/06(月) 09:18:16.67
スレ汚すなvipでやってろ うんこ野郎ども
0891デフォルトの名無しさん2012/08/06(月) 09:19:56.39
>>884
いた違い
0892デフォルトの名無しさん2012/08/06(月) 11:51:59.07
vipを汚すなここでやれ うんこ野郎ども
0893デフォルトの名無しさん2012/08/06(月) 13:37:14.32
vipなんて元々穢の住処。
0894デフォルトの名無しさん2012/08/06(月) 20:43:36.20
プリミティブ型を参照渡しするにはどうしたらいいんですか?
わざわざプリミティブ型だけのフィールドのクラス作って渡さなきゃいけないんでしょうか
0895デフォルトの名無しさん2012/08/06(月) 20:45:53.58
Javaには参照渡しはないから基本的に無理。

クラス作るの面倒だったら要素1個の配列渡せ。
0896デフォルトの名無しさん2012/08/06(月) 21:12:31.62
プリミティブ型を参照渡ししたいってfaqだけど、どういう設計からそういう実装にしようって思うんだろう?想像できない。
0897デフォルトの名無しさん2012/08/06(月) 21:18:03.97
想像できないね
0898デフォルトの名無しさん2012/08/06(月) 22:04:30.20
えっ
あなたたちC言語でint型のポインタを関数で渡したりするのしたことないわけ
0899デフォルトの名無しさん2012/08/06(月) 22:08:30.69
えっ
C言語と同じ方式で実装しようとしてるわけ
0900デフォルトの名無しさん2012/08/06(月) 22:09:11.40
>>894
>>894じゃないけど例えばプリミティブ型を参照渡しする設計を思いつかないってそれは経験不足な奴だからだと思うが
再帰関数だとしょっちゅうそういった設計はでてくるぞ

画素の同色判定なんかは典型的だろ
0901デフォルトの名無しさん2012/08/06(月) 22:13:02.03
基本情報技術者の過去問にそういやあったねそんなの
同色の色がいくつつながるか調べるやつ
ああいうのはJavaでもプリミティブ型の参照わたさんと実装できないね
0902デフォルトの名無しさん2012/08/06(月) 22:14:08.80
再帰関数でポインタ使うんですか?
その設計だとずいぶん複雑なコードになってしまい本人以外は管理できなくなるでしょうね。
0903デフォルトの名無しさん2012/08/06(月) 22:17:49.93
それっぽっち複雑と思ってるとか頭弱いんじゃねーの
0904デフォルトの名無しさん2012/08/06(月) 22:22:33.66
リスプとかランムダとか、中学生並のカッコよさに憧れて意味もなく再帰コードにしてませんか?^^
for使えば十分なのに無駄なことに頭使って残業したくないですからね^^
0905デフォルトの名無しさん2012/08/06(月) 22:39:45.17
中学生は夏休みだからこんなにたくさんの雑魚が沸いてるのか。
今日は、日本国政府に対してアメリカ軍がサレンダーを要求し、結果として原子爆弾を投下して、日本国民非戦闘員に対して爆弾を破裂させた第一日目じゃなかったか?
中学生は勉強して脳味噌に刻んでおかないといけないことがたくさんあるから大変だなぁ。
0906デフォルトの名無しさん2012/08/06(月) 22:50:15.94
グローバル変数を使えばいい
0907デフォルトの名無しさん2012/08/06(月) 22:56:39.31
ふう
0908デフォルトの名無しさん2012/08/06(月) 23:18:47.15
なんか1週間に一度ぐらい>>894と同じ内容貼られてないか。
新手のコピペかなんかか?
もうint a[] = new int[1];でaを渡せばいいよって書くのも飽きてきたわ。
レス数が900を超えています。1000を超えると表示できなくなるよ。