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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2010/07/20(火) 17:30:09

プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
★★Java質問・相談スレッド138★★
http://pc12.2ch.net/test/read.cgi/tech/1272685619/

次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
0002デフォルトの名無しさん2010/07/20(火) 17:34:20
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 9
http://pc12.2ch.net/test/read.cgi/tech/1261232019/
■ SWT は --
Java 高速GUI SWT 3
http://pc12.2ch.net/test/read.cgi/tech/1164877399/

■ Java 3D APIは --
【徹底討論】Java3Dの可能性について考える
http://pc12.2ch.net/test/read.cgi/tech/1033703640/

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ)  Part21
http://pc12.2ch.net/test/read.cgi/tech/1276164970/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
ttp://pc12.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
【Google】Androidアプリ作成part5
http://pc12.2ch.net/test/read.cgi/tech/1279354196/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 69 ★★
http://pc12.2ch.net/test/read.cgi/tech/1267796762/
0003デフォルトの名無しさん2010/07/20(火) 17:42:39
■ NetBeansに関する雑談は --
NetBeans Part6
http://pc12.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
Eclipse統合M29【Java/C++/Ruby/Python/Perl】
※dat落ちしてるのでとりあえずここでどうぞ
統合開発環境Eclipseプラグイン開発QA
http://pc12.2ch.net/test/read.cgi/tech/1081517094/


**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja
0004デフォルトの名無しさん2010/07/21(水) 22:30:58
http://www.javadrive.jp/install/jdk/index5.html

このサイトを見ながら環境設定をしているのですが、JAVA_HOMEの設定をして
コマンドプロント上でset JAVA_HOMEを実行させても
環境変数 JAVA_HOMEが定義されていません と表示されてしまいます。

システム環境設定で JAVA_HOME=c\java\jdk 1.6.0_21

と入力し、スペル間違いは無いはずなのですが。。
どなたか解決方法わかる方いませんでしょうか?
0005デフォルトの名無しさん2010/07/21(水) 22:35:16
デフォのインストール場所そこじゃないよ。
0006デフォルトの名無しさん2010/07/21(水) 22:40:47
>>5
このサイト見ながらやってもダメですか?
0007デフォルトの名無しさん2010/07/21(水) 22:48:12
(JDKをインストールしたディレクトリに合わせて変更して下さい)。
0008デフォルトの名無しさん2010/07/21(水) 22:56:07
>>7
ちゃんとインストールしたディレクトリに変更してあります。
ちなみにF:\Java\jdk 1.6.0_21に保存したのでその場所を指定しました
0009デフォルトの名無しさん2010/07/21(水) 22:56:26
多分、環境変数の変更がコマンドプロンプト側で読み込まれていないだけかと思う。
説明するのめんどうだから端的に、いっぺんログインしなおして試してみるといい。
0010デフォルトの名無しさん2010/07/21(水) 23:02:19
>>9
ありがとうございます
一度再起動してみようと思います
0011デフォルトの名無しさん2010/07/21(水) 23:02:45
ところで気になる事として、"jdk 1.6.0_21"と空白入れてるな。
今回の問題の次に、"F:\Java\jdk" というファイルが見つかりません、とか出るだろうと予言。
こういう場合に jdk のコマンドを使う際には
> "%JAVA_HOME%\bin\javac.exe" test.java
とか "" で囲む必要があったと思う。老婆心。
0012デフォルトの名無しさん2010/07/21(水) 23:06:25
ああ、このサイトの方法はPATHに書いておくのか。
11 は不要。問題ない。
0013デフォルトの名無しさん2010/07/21(水) 23:12:10
解決しました。ありがとうございました
>>11さんもあらかじめ次のトラブルの予想をしてくれたようで・・・
ありがとうございます。問題なく解決できました。

最後にこんな初歩の初歩のような質問をして申し訳ありませんでした。
私もこのスレ住人のように質問に答える事が出来るくらいにJavaを理解していきたいと思います
0014デフォルトの名無しさん2010/07/22(木) 04:19:01
このスレ立つ度に良くなってってないか
0015デフォルトの名無しさん2010/07/22(木) 04:57:56
良くなってますか
0016デフォルトの名無しさん2010/07/22(木) 10:50:49
悪い方に良くなってるといいたいんですね
0017デフォルトの名無しさん2010/07/22(木) 11:51:14
>>16
もうちょっと日本語上達させてから書き込もうな
0018デフォルトの名無しさん2010/07/22(木) 13:13:44
javaで、オブジェトの中身(変数、メソッド)を表示させる方法ありますか?
または、ライブラリはありますか?
inspect, describeなどは無いようですが?
0019デフォルトの名無しさん2010/07/22(木) 13:28:18
>>18
java.lang.reflect
0020デフォルトの名無しさん2010/07/22(木) 14:16:01
>>17
自演お疲れ様です
0021デフォルトの名無しさん2010/07/22(木) 16:38:59
ネット上の解説では、reflectはクラスの中を調べるとき使う例が多いですが、
オブジェクト(インスタンス)の中身でもOKですか?

デバックでは「インスタンスの中が現在どうなってるか」って場面多いと思うんだけど、
そんなとき、インスタンスの状態調べるライブラリあってもよさそうだけど、無いですか。
0022デフォルトの名無しさん2010/07/22(木) 17:16:23
kill -SIGQUIT <JVMのプロセスID>
0023デフォルトの名無しさん2010/07/22(木) 21:55:33
>>21
自分でAPIドキュメント調べろ。19の好意に甘えるな。
0024デフォルトの名無しさん2010/07/22(木) 22:02:31
インスタンスの中がどうなってるか俺が見てやるよ
0025デフォルトの名無しさん2010/07/22(木) 22:14:54
jmap jhat
0026デフォルトの名無しさん2010/07/22(木) 23:12:10
質問です。
flash使いで最近javaでandroid開発を始めたものですが、
文字列で変数にアクセスする方法を調べています。

たとえば(以下as3.0コード)

var i0:int = 0;//int変数作成
trace( this[ "i" + "0" ] );//上記のi0変数にアクセスして0が出力できる

みたいな事をjavaでしたいです。
色々調べたんですが探し方が悪いのか
見つからないので方法があれば教えていただきたいです。
0027デフォルトの名無しさん2010/07/22(木) 23:39:34
>>26
クラスのフィールド変数ならリフレクション使えば出来る

Class clazz = Class.forName(クラス名);
Field f = clazz.getDeclaredField("i0");
f.setAccessible(true); // privateなら
int i = f.getInt(取り出したいクラスのインスタンス);

メソッド内の変数なら無理かと
0028デフォルトの名無しさん2010/07/22(木) 23:40:56
1.6.0_21のServer VMで下記のコードを実行すると、
毎回結果が違うんですけど、変な風に最適化が働いてループ打ち切られてる?

public static void main(String[] args) {
int a = 0;
int b = 0;
for (int i = 0; i < 0x7FFFFFFF; i++) {
a += i % 360;
b++;
}
System.out.println(a);
System.out.println(b);
}
0029デフォルトの名無しさん2010/07/22(木) 23:55:29
>>27
おおー、これです
早速調べたんですが、なるほど、APIで提供されている訳ですね
初めての・・・みたな本に書いてない訳だ
大変勉強になりました。ありがとうございます
0030デフォルトの名無しさん2010/07/23(金) 01:40:29
>>28
Eclipse3.5同梱のJRE環境に限った話では、見た感じ問題なさそう。

-1073756799
2147483647

-1073756799
2147483647

-1073756799
2147483647

-1073756799
2147483647

-1073756799
2147483647

java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode)
サーバは知らない。
0031デフォルトの名無しさん2010/07/23(金) 08:03:54
>>28
んなわけねーだろ、言語仕様で決まってるんだからさ
と思って実行してみたら、本当に動作がおかしいでやんのワロタ
0032312010/07/23(金) 08:22:20
これでも十分おかしいな
バグデータベースに報告ある?

public static void main(String[] args) {
int a = 0;
for (int i = 0; i < Integer.MAX_VALUE; i++) {
a = i;
}
System.out.println(a);
}
0033デフォルトの名無しさん2010/07/23(金) 11:16:38
ジエンオツ
0034デフォルトの名無しさん2010/07/23(金) 15:33:16
複数のクライアントと一つのサーバの間で、以下の機能をsocketプログラミングで作りたいと考えています。

クライアントがサーバにファイルをアップロードすると、
サーバは接続済みの全てのクライアントにそのファイルを流す。

これを実現するためのサーバ側のコードで悩んでいます。
まずアップロードされたファイルを受け取るためにソケットからinputStreamを取得しますが、
これを各ソケットのoutputStreamに流す時に、どのように実装すればいいのか分かりません。

一つのinputStreamをfor文で複数のoutputStreamに流そうとしても、最初のoutputStreamにしか流せないようです。
これはinputStreamが内部でどこまでデータを取り出したかを管理(?)してるからでしょうか。

他の案としては、一時的なファイルを作ってしまってそのファイルを複数のソケットが読めばできそうですが
どう考えても良いやり方とは思えません。

結局、巨大なbyte配列で一時的にデータを溜めるぐらいしか思いつきません。

何かよい方法は無いでしょうか。
0035デフォルトの名無しさん2010/07/23(金) 15:53:39
複数のクライアントが同時にファイルをUP状態でも全部メモリにおさめるつもり?
0036342010/07/23(金) 16:07:30
>>35
返信ありがとうございます。

そこまで考えていませんでした。。
なるほど確かにメモリに溜めるのは無理がありますね。
ということは、ファイル化する方法は悪い方法ではないのでしょうか?
ファイル名管理したりなど少し手間がかかりそうですが。
0037デフォルトの名無しさん2010/07/23(金) 17:55:01
inputstreamから数キロバイトの配列に読み込んで、全部のoutputstreamへ送信
inputstreamから数キロバイトの配列に読み込んで、全部のoutputstreamへ送信
の繰り返しじゃいかんのん?
0038デフォルトの名無しさん2010/07/23(金) 18:05:08

ObjectAnalyzer
0039デフォルトの名無しさん2010/07/23(金) 18:18:42
>>34
恐ろしい
こんなコード書かれたらたまらんわ
0040342010/07/23(金) 18:29:54
>>37
おおなるほど!これでいけそうです。

while (-1 != (n = inputStream.read(w))) {
outputStream.write(w, 0, size);
}
こんな感じのお決まりコードをコピペして使ってたから
出力部分はひと塊としか考えられていなかった。酷い頭の堅さだ。。
アドバイスありがとうございました。
0041デフォルトの名無しさん2010/07/23(金) 23:55:05
いえいえ
0042デフォルトの名無しさん2010/07/24(土) 13:13:07
こんにちは。

public class Parent {
  Child child;
}
public class Child {
  Parent parent;
}

こんなふうに相互に参照するとインスタンスを消しても、
参照が残ってしまってメモリリークするという噂を聞いたんですが、本当ですか?
0043デフォルトの名無しさん2010/07/24(土) 13:17:24
いいえ
0044デフォルトの名無しさん2010/07/24(土) 14:35:09
>>42
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/ref/package-summary.html
の最後の到達可能性で言うならば、両インスタンス共に不可到達なだけなのでGCされる。
0045422010/07/24(土) 14:37:12
どうもありがとうございます。
JavaのGCはそんなにアホではないですよね。
0046442010/07/24(土) 14:38:24
あ、この項だけじゃ説明になってないな。スマン、なしなし。
0047デフォルトの名無しさん2010/07/24(土) 14:54:19
>>42
参考:Wikipedia ガベージコレクション
http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3#.E5.AE.9F.E8.A3.85
Java
http://ja.wikipedia.org/wiki/Java#.E3.82.AC.E3.83.99.E3.83.BC.E3.82.B8.E3.82.B3.E3.83.AC.E3.82.AF.E3.82.B7.E3.83.A7.E3.83.B3
参照カウント
http://ja.wikipedia.org/wiki/%E5%8F%82%E7%85%A7%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88#.E7.9F.AD.E6.89.80


参照カウント方式だと、リークするようにも書けてしまいますが、
Javaで採用しているマーク・アンド・スイープ方式(を利用する世代別ガベージコレクション)
だと、あるオブジェクトAが別のオブジェクトBを参照していた場合でも、
A自体がどこからも参照されていなければBもGC対象になります。
0048デフォルトの名無しさん2010/07/24(土) 15:05:30
>>34
Streamってそんなもん。1回読んだらそれっきり。
BufferedStrem(BufferedInputStream)使えば一度読んだところにも戻れるよ。

まあ、
> 巨大なbyte配列で一時的にデータを溜める
と考え方は同じだけど。
0049422010/07/24(土) 15:06:24
参照カウント0のものを解放する方法だとリークするけど、
JavaのGCは到達不可能なものを解放する方法なので大丈夫ということですね。
どうもありがとうございます。
0050デフォルトの名無しさん2010/07/24(土) 16:41:23
new ClassA() {
//code
}

こういうふうに書かれるものってなんですか?キーワードを教えて下さい
0051デフォルトの名無しさん2010/07/24(土) 18:12:30
>>50
匿名内部クラス(Anonymous Inner Class)でござる。

ttp://milkyway.merseine.nu/100java/Java/Java045.html
0052デフォルトの名無しさん2010/07/24(土) 20:36:15
Eclipseでbuild.xml右クリックするとant実行って出てくるけど
そういう、特定のファイル名に対して外部アプリケーションを関連付けるっていうのは
どこで設定してるの?
変更・追加可能?
0053デフォルトの名無しさん2010/07/24(土) 20:44:11
ライブラリ類の配布アーカイブの中にjavadocって大抵同梱されてるけど
これってeclipseから参照されたりするの?
各クラスの説明としてポップアップしたりとか
0054デフォルトの名無しさん2010/07/24(土) 21:04:04
>>52
設定の「一般」「コンテンツ・タイプ」のXMLのAntビルドファイルかと思う。

>>53
するする。jarのプロパティにある、ソースとjavadocを指定する項目。
0055532010/07/24(土) 21:56:05
今eclipseにEXT_LIBS_DIRっていう変数を作って、
複数プロジェクトで共通の外部ライブラリは同じフォルダにまとめて参照しようとしてるんだけど
外部ライブラリっていう単位でまとめるとjavadocのファイル名が被るんだよね
index.htmlとか

普通はどうするもの?
0056532010/07/24(土) 21:57:59
書いた途端自己解決した
普通にさらにサブフォルダ作ればいけるわ
0057デフォルトの名無しさん2010/07/24(土) 22:13:37
http://media.itc.u-tokyo.ac.jp/jsim/src/jsim/graphic/api/jp/ac/nime/computer/grpsimulator/ImgPr/FFT.html
このクラスはどうやれば使えるのでしょうか。教えてください
0058デフォルトの名無しさん2010/07/25(日) 03:06:54
>>57
staticメンバしかないからインスタンス作らずに、
FFT.fft(xxxx);
で呼べます。
0059デフォルトの名無しさん2010/07/25(日) 18:52:18
エクリプスでパッケージエクスプローラーってあるけど
パッケージってどういう単位なの?
全く関係無いプロジェクトがパッケージエクスプローラーに並列に並んでるのっておかしいもの?
階層化したい気がしてきたんだが
0060デフォルトの名無しさん2010/07/25(日) 19:03:15
パッケージはいくつかのクラスを適当に (だいたいは機能別に) まとめたものです
java.lang とか java.util とか java.io とかがパッケージです
自分の作ったクラスを特にパッケージ化してないのなら、デフォルトパッケージとかいうのに入ってるはずです

プロジェクトを階層化というか何かグループ化したいのなら、ワーキングセットが役に立つかもしれません
0061デフォルトの名無しさん2010/07/25(日) 20:00:21
>>60
ワーキングセットが求めていたものだった
thx
0062デフォルトの名無しさん2010/07/25(日) 20:22:22
if (Math.random() > .5) {
return frogMan;
}

ドット5ってなに?
guiceのサンプルコードにあったんだけど
0063デフォルトの名無しさん2010/07/25(日) 20:30:31
0.5 のことです
0064デフォルトの名無しさん2010/07/25(日) 22:12:03
ubuntuでsynapticから入れた
gnu.getopt.Getoptを使いたいんですが、
ない言われます.
どなたか考えられる原因をエスパーして下さい
0065デフォルトの名無しさん2010/07/25(日) 22:18:03
たぶん、ないんじゃないかな
0066デフォルトの名無しさん2010/07/26(月) 01:39:57
>>64
パッケージ名からいってJavaのコアライブラリじゃない。
何かのjarファイルをCLASSPATHに含む必要があります。
0067飛び出せ!名無しくん2010/07/26(月) 02:32:06
Rクラスに以下を追加したら自動的に削除されました。
public static final class id {
public static final int label=0x7f050000;
}

そして、以下のメッセージが表示されました。
R.java was modified manually! Reverting to generated version!

なぜ手動で追加できないんですか?
0068デフォルトの名無しさん2010/07/26(月) 07:33:31
自動生成されるファイルだからです
手動で編集してもまたすぐに自動生成されたものに上書きされますので無駄です
0069デフォルトの名無しさん2010/07/26(月) 14:41:54
javaプログラムから他のプログラムを起動し終了するのが目的です
Runtimeを利用して
Runtime rt = Runtime.getRuntime();
rt.exec("hoge.exe");
として起動はできたのですがそのプログラムの終了の仕方がわかりません
ご教授ください
0070デフォルトの名無しさん2010/07/26(月) 16:51:14
>>69
Process proc = rt.exec("hoge.exe");
//強制終了したいなら
proc.destroy();
//終了を待ちたいなら
proc.waitFor();
0071デフォルトの名無しさん2010/07/26(月) 17:15:25
public class B extends A { とあって、Bを直列化する場合、
AだけにserialVersionUIDを明示すればよさそうに思うけど、
Bにも明示しなければいけないとある。
何故、serialVersionUIDはAに継承できないんですか?


0072デフォルトの名無しさん2010/07/26(月) 17:34:24
仮に public class B extends A implements Serializable {}
みたいにフィールド宣言してないから serialVersionUID は
A に宣言してあればよいのでは? という疑問だとする。

次のバージョンで B に
public class B extends A implements Serializable { private int field; }
みたいにフィールド追加によって直列化互換性を破壊する可能性があるんだから、
B 自体にも serialVersionUID は必要。
0073デフォルトの名無しさん2010/07/26(月) 18:26:01
>>58
ありがとうございます。

javaはパッケージを新しく追加しなきゃいけないものとデフォルトで使えるものをどう区別しているんですか?
0074デフォルトの名無しさん2010/07/26(月) 20:44:21
>>28>>32を1.6.0u21 で-serverつけて実行してみたけど特にへんな結果にはならず…
0075デフォルトの名無しさん2010/07/26(月) 20:54:17
>>73
> パッケージを新しく追加しなきゃいけないもの
ってimportしなくてもパッケージ名を省略してクラス名だけで利用できるものっていう意味?
それは言語仕様で決まってる。
http://www.nurs.or.jp/~sug/soft/java/java26.htm
0076デフォルトの名無しさん2010/07/26(月) 21:25:41
>>70
ありがとうございます!
0077デフォルトの名無しさん2010/07/26(月) 21:34:55
>>74
なんでだろw

OS: WindowsXP pro sp3
>java -server -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)

>java -server Test
124278795
692451

>java -server Test
7564635
42211

>java -server Test
9223011
51427

>java -server Test
9401275
52451

>java -server Test
8854651
49379

>java Test
-1073756799
2147483647
0078772010/07/26(月) 21:53:26
eclipseでコンパイルした物は変な結果になって、
jdkのjavacでコンパイルした物は正しい結果になったわ。

eclipseとjavacでコンパイルした物を、jadで逆コンパイルしても同じソースになったけど、
javapで逆アセンブルしたら、少し違うコードが出力されていた…けど俺には読めないw
0079デフォルトの名無しさん2010/07/26(月) 21:57:31
そんな時は黙ってZIPに固めて上げるものだ
0080772010/07/26(月) 22:35:07
>>79
ttp://www1.axfc.net/uploader/Sc/so/137862.zip
0081デフォルトの名無しさん2010/07/27(火) 01:49:03
昔からEclipseでビルドしたクラスの挙動がおかしいことはたまにありましたよ。
特にswitch文はSun(当時)の純正VMがJava言語仕様を踏み倒した実装だった
のでEclipse側が絶対こっちが正しいと主張して、既知の非互換になっていた。
eclipseのクラス出力パスとantのコンパイル出力先を違うパスにして、antの
javacタスクにfork="true"およびexecutable="javacのフルパス"を入れると、
ant経由なら必ずJDKでコンパイルされます。
0082デフォルトの名無しさん2010/07/27(火) 09:09:32
>>72
serialVersionUIDで互換性維持はわかるけど、 「B自体にもserialVersionUID が必要」がわからない。
BはAを継承してるけど、AのserialVersionUID は継承できないってこと?
(仕様がそうなっているのなら、何のために)

Aを継承するB, Bを継承するCがあった場合、A, B, CのそれぞれのフィールドにserialVersionUIDを
明示せず、Aのみに明示すればよい方法はありますか。IDは全部同じ。
0083デフォルトの名無しさん2010/07/27(火) 10:17:21
>>82
継承はできない。java.io.Serializableの仕様に従って
B、C にはコンパイル実装依存のserialVersionUIDが勝手に付加される。

警告黙らせるだけなら
javac -Xlint:-serial B.java C.java
IDEの警告黙らせたいなら使ってるIDEのヘルプ漁れ。
0084デフォルトの名無しさん2010/07/27(火) 10:18:40
×コンパイル実装依存
○コンパイラ実装依存
0085デフォルトの名無しさん2010/07/27(火) 10:48:15
>>83
継承はできない。java.io.Serializableの仕様に従って、だけど、
たしかに、マニュアルに「明示的に宣言」とある。

次の疑問は、その理由。継承させると、どのような問題を邪気させるというのだろうか。
0086デフォルトの名無しさん2010/07/27(火) 11:24:04
>>85
>>72に書いてあるけど、たとえば
//バージョン1
class A implements Serializable { public static final long serialVersionUID = 0; }
class B extends A implements Serializable { }

//バージョン2
class A implements Serializable { public static final long serialVersionUID = 0; }
class B extends A implements Serializable { private int field; }

で、BがAのserialVersionUIDを継承できたとする。
するとバージョン1のBを直列化したものとバージョン2のBを直列化したものには互換性がない、
にもかかわらずserialVersionUIDが同じという事態が発生する。

serialVersionUIDは大抵privateなので
継承元がserialVersionUIDを宣言しているかを一々確認するのは、
素直にBにserialVersionUIDをつけるより手間がかかる。
serialVersionUIDが付いているかどうかだけならコンパイラは簡単にチェックできるが
AのserialVersionUIDを継承できる場合にBがAのserialVersionUIDを継承しつつ、
前のバージョンからフィールドを追加したかまではコンパイラはチェックできない。
0087デフォルトの名無しさん2010/07/27(火) 11:47:31
いい話だなー
0088デフォルトの名無しさん2010/07/27(火) 14:29:22
>>86
72の意味が理解できなく。。。

互換性ね。でも、

1)serialVersionUID=1Lで、AのインスタンスをwriteObjectでファイルに保存し、
  その後、Aのフィールドにint fieldを追加してクラスAを変更してからでも、readObjectでdeserializeできるよね。
  変更の仕方によっては、互換性なくなると思うけど。

2)もちろん、フィールド変更しなくてもserialVersionUID変更すると、互換性はない。
0089デフォルトの名無しさん2010/07/27(火) 16:06:40
> その後、Aのフィールドにint fieldを追加してクラスAを変更してからでも、readObjectでdeserializeできるよね。
それはとりあえずエラーが出るか否かを気にしてるだけ。
互換性があるかどうかとは関係ないし、実装が変わればエラー出ても文句言えない。
0090デフォルトの名無しさん2010/07/27(火) 19:13:07
エクリプスで
実行→実行の構成→Javaアプリケーション
で新規作成して共通タブから実行/デバッグのお気に入りに表示するようにチェックしたんだけど
どこに出てくるの?これ
実行のとこ開いても、「サーバで実行」「Java Bean」の2つがあるだけなんだけど
ここの一覧に出てくるのかと思ってやったんだけど
0091902010/07/27(火) 20:45:13
もしかしてヒストリーとごっちゃになって出てくるのかな?
0092デフォルトの名無しさん2010/07/27(火) 20:59:57
エクリプスのサポート係に電話して聞け
0093デフォルトの名無しさん2010/07/27(火) 21:35:55
public int compareTo(Object o) {
double h1 = this.height;
double h2 = ((Student)o).height;

return h1 > h2 ? 1 : -1;
}
tp://www.lcv.ne.jp/~kenmio/yomimono/yomimono105.htm

Student型をObject引数で受け取って、それもまたStudent型にキャストしてますが、
引数を最初からStudent型にはできないのですか。
それからStudent型の引数であれば、Object引数で受け取ったからといって
引数そのものが変わるわけでもないし、わざわざキャストしなくてもStudent型
のインスタンスだとコンパイラが判断できてもおかしくないと思うのですが。
スーパークラスのメソッドをサブクラスのインスタンスからアクセスできても
その逆はできないというきまりになっているようですが、この場合の引数は
Student型と決まっているのでそれはないと思うのですが。
0094デフォルトの名無しさん2010/07/27(火) 21:44:51
public int compareTo(Student o)
と
public int compareTo(Object o)
は別々の異なるメソッドですので、
public int compareTo(Student o)
を実装しても、Comparableを実装したことにはなりません。

引数がObjectなら、Student以外のObjectを渡すことも出来るので、
本当にStudentかどうかわかりません。
publicメソッドはどこからでも呼べますので、呼び出し元は不定です。
0095デフォルトの名無しさん2010/07/28(水) 01:17:44
netbeansの方がsun純正って意味で変な非互換を回避できたりするのかな
0096デフォルトの名無しさん2010/07/28(水) 14:25:17
>>95
Eclipseはそのまま使うとIBMのjavacやらJVMが使われるから、
何も考えずに使う分には、まあそうとも言える。

けどそれってほんの入り口だし、どのIDEを使うかを決めるのには
他にももっと判断すべきことがあると思う。
0097デフォルトの名無しさん2010/07/29(木) 05:50:42
メモリ使用量眺めてたら、netbeansの方がeclipseより軽かったけど
普及率でeclpseを使うしかなさげ
0098デフォルトの名無しさん2010/07/29(木) 12:04:17
$ java Test.class
Exception in thread "main" java.lang.NoClassDefFoundError: Test/class
Caused by: java.lang.ClassNotFoundException: .home.saruno.ドキュメント.JAVA.study.Test

at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: Test. Program will exit.

ubuntu10.04、コマンドプロンプトでTest.classをコンパイル後に実行すると上記のようなエラーが出てしまいます。
eclipse上ではコンパイルも実行も出来るのですが、どうすればコマンドプロンプトで実行できますか?

0099デフォルトの名無しさん2010/07/29(木) 12:51:27
$ java Test
0100デフォルトの名無しさん2010/07/29(木) 12:59:47
ああすいません、
$JAVA Test
でも駄目です
0101デフォルトの名無しさん2010/07/29(木) 13:04:32
なにかnamespace使ってる?
0102デフォルトの名無しさん2010/07/29(木) 13:11:54
$ java -classpath . Test
0103デフォルトの名無しさん2010/07/29(木) 13:34:14
我々には難しすぎるので別スレで質問してください
0104デフォルトの名無しさん2010/07/29(木) 14:17:52
$ジャヴァ Test
としてください。(空白は全角です。)
0105デフォルトの名無しさん2010/07/29(木) 14:33:28
package home.saruno.ドキュメント.JAVA.study;
とかやってるだろ?
0106デフォルトの名無しさん2010/07/29(木) 14:57:40
/sutudyに移動してコマンドで java Test とやったら出来ました、お騒がせしました。

jaba  /home/〜〜〜/Testのようにパスの指定しての実行については調べてみます
0107デフォルトの名無しさん2010/07/29(木) 15:11:21
回答者が優秀なのでどんどん難問が解決していきますな
0108デフォルトの名無しさん2010/07/29(木) 15:47:17
そんなことどうでもいいから金くれ
0109デフォルトの名無しさん2010/07/30(金) 16:44:17
データを貯める場所ってLucandraに貯めるべきでしょうか?
それともデータの本体はCassandraでインデックスのみLucandraに置くんでしょうか?
0110デフォルトの名無しさん2010/07/30(金) 22:05:25
>>93
 メソッドhungupがクラスTelephoneで定義されているからです。スーパーク
ラス(Telephone)で定義されているメソッド(hungup)を、そのサブクラス
(CellularPhineやFixedPhone)で上書きした場合、インスタンスの型
(CellularPhineやFixedPhone)でその振る舞いが上書きしたメソッドに従う
ということになります。これをポリモルフィズムと言います。
 一方、ObjectはStudentのスーパークラスですが、インスタンス変数height
は持っていません。Object型のインスタンス変数heightについて何かしようと
思えば当然エラーが出ます。さらにポリモルフィズムはインスタンス変数では
なく、メソッドの話です。
0111デフォルトの名無しさん2010/07/30(金) 22:45:51
ていうか、ThreadLocalとか初めて知ったわ
難しいなLucandra
0112デフォルトの名無しさん2010/07/31(土) 09:31:56
>>111
StrutsとかつかってWebアプリ作っていると馴染みは薄いね
でもたまーに使わないとできない要件とかあったりするよね
0113デフォルトの名無しさん2010/07/31(土) 13:00:13
>>112
Javaで全然仕事したことないから分からん
0114デフォルトの名無しさん2010/07/31(土) 13:29:55
J2EEでフレームワークとか使わずWebアプリ作ってる会社でバイトしたことあるけど
そういう事例って結構あるもんなのかな?
0115デフォルトの名無しさん2010/07/31(土) 23:52:36
データベースから静的htmlファイルを一括作成したいのだが、
どういうやり方が一般的?
ある程度htmlエディタでデザインを整えたhtmlファイルがあって、
それに表を挿入するパターンなのだが。
0116デフォルトの名無しさん2010/08/01(日) 00:01:21
xsltじゃね?
0117デフォルトの名無しさん2010/08/01(日) 03:21:38
>>115
FreeMarkerだべさ
0118デフォルトの名無しさん2010/08/01(日) 06:00:57
ファイル名が00,01,02…のような規則的なテキストファイルを順番に読み取って
ある行の内容が入力内容と一致したらそのファイル名を出力する
といったプログラムを書きたいのですが
うまくいきません

line = reader.radLine();
がうまく機能していないようで
試しに
System.out.println(line);
で表示したところ
□a□s□dd□
のようなよくわからない文字列を表示してよくわからなくなってしまました

どなたかご教授ください
0119デフォルトの名無しさん2010/08/01(日) 08:25:04
困った時のJISAutoDetect
0120デフォルトの名無しさん2010/08/01(日) 13:11:52
わからなくなってしまましたかそうですか
0121デフォルトの名無しさん2010/08/01(日) 14:38:15
わからない子はどんどんしまっちゃおうねぇ
0122デフォルトの名無しさん2010/08/01(日) 16:09:19
よくDAOで
Hoge select() {
try{
    PreparedStatement stmt=...;
    ResultSet rs=...;
    // ...
} finally{
    try{
        rs.close();
        stmt.close();
    } catch(SQLException e) {}
}
というプログラムを見るのですが、これだとrs.close()が例外を投げた場合
stmt.close()が呼び出されないのですが、rs.close()が失敗するとstmt.close()も
必ず失敗するという決まりがあるのでしょうか?
0123デフォルトの名無しさん2010/08/01(日) 16:47:43
>>122
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/sql/Statement.html#close()
rs.close()が失敗するとstmt.close()も失敗するかどうかは、jdbcドライバの実装によると思うが、
closeしなくてもガベージコレクションで自動的にcloseされるみたいですね。
0124デフォルトの名無しさん2010/08/01(日) 22:43:10
じゃば java というような
英語の文字列と日本語の文字列を区別することは可能でしょうか
0125デフォルトの名無しさん2010/08/01(日) 22:52:40
Character.UnicodeBlock.of メソッドを使えばそれぞれの文字の種類はわかりますので、
その文字列中の各文字を調べてひらがなとかが混じってれば日本語だと判定するとかでどうでしょうか。
0126デフォルトの名無しさん2010/08/01(日) 23:15:17
netbeansでJNIやろうとしてもうまくいかないんですがC/C++のほうがおかしいのかなあ。
英語でいろいろ問題があることが挙げられてるけどあれだけでも解決しない。
0127デフォルトの名無しさん2010/08/02(月) 07:00:02
ここにあるコードの62行目と76行目の { } にはどんな作用があるのでしょうか?
http://www.koders.com/java/fid2E7B27F41ADBE1E39D69A4A4AC071AF622510C80.aspx?s=140
あってもなくても何もかわらない気がするのですが…。
0128デフォルトの名無しさん2010/08/02(月) 07:27:49
>>127
boolean addPoint の有効範囲を制限してる。
もしくは書いた人の美意識を満足させてるんじゃないかと。
0129デフォルトの名無しさん2010/08/02(月) 16:12:37
IEでファイルのダウンロードをする部分で解決できずに困っていて質問です。
ファイルのダウンロードはすでに問題なく動作しており以下のようになっております。

HTML側
onclick="location.href='./OpenFile?file=' + hensu;"

Servlet側
strFile//受け取ったファイル名
ServletOutputStream out;
out = response.getOutputStream();
File inFile = new File(strFile);
InputStream in = new FileInputStream(inFile);
int data = -1;
long longCount = 0;
while ((data = in.read()) != -1){
out.write(data);
longCount++;
if(longCount % 200 == 0){
out.flush();
}
}
in.close();
out.close();
int dispCount= getFromDatabase('DispCount');
dispCount++;
setDatabase('DispCount', dispCount);
この状態でHTMLをクリックするとファイルのダウンロードダイアログが表示されます。ダイアログを表示した時点で「表示カウント」を
+1してDBに書き込んでいるのですがキャンセル時だけ+2されているようで困っています。原因をご存知の方いらっしゃいませんか?
IE6,7,8で同じ
tomcat-5.0.30
j2re1.4.2_08
0130デフォルトの名無しさん2010/08/02(月) 20:14:12
Strutsというものを学習しなければならなくなりました。
よろしければ、概要から発展まであるわかりやすいサイトがあれば教えてください。
0131デフォルトの名無しさん2010/08/02(月) 21:08:26
>>125
勉強になりました
ありがとうございました
0132デフォルトの名無しさん2010/08/02(月) 21:24:54
>>130
http://struts.apache.org/1.3.10/userGuide/index.html
0133デフォルトの名無しさん2010/08/03(火) 02:20:51
>>128
変数の有効範囲が変わるんですね。
解説ありがとうございます。
0134デフォルトの名無しさん2010/08/03(火) 11:23:00
>>132
ありがとうございます。
よろしければ日本語のサイトもご存じであれば教えてください。
0135デフォルトの名無しさん2010/08/03(火) 15:50:49
ガスライティング
0136デフォルトの名無しさん2010/08/03(火) 18:15:00
わろた
0137デフォルトの名無しさん2010/08/03(火) 21:57:13
new Date(); で得た dd.getHours() を 変数a に入れるにはどうすればいいですか?

int a = dd.getHours();

ではダメなんですが・・・。
0138デフォルトの名無しさん2010/08/03(火) 22:15:21
>>137
普通にとれたけど。ddにnew Date()は代入している?
int a = new Date().getHours();
System.out.println(a);

ところでDate#getHoursは、@Deprecatedだからあまり使うべきじゃぁない。
0139デフォルトの名無しさん2010/08/03(火) 23:14:51
>>138
自己解決しました。

もう1つ質問させて頂きたいのですが、

dd = new Date();
date = dd.getDate();

として、dateに日を入れるようにしました。

次に、

<script language="JavaScript" src="./maru.pl"></script>
<script language="JavaScript">
<!--
document.write(date);   #####
// -->
</script>

上の#####のwrite( ) の中に変数(date)を入れたいのですが、
どうすれば変数扱いになるでしょうか。
0140デフォルトの名無しさん2010/08/03(火) 23:17:30
>>139
>>1
0141デフォルトの名無しさん2010/08/03(火) 23:26:05
JavaScriptワラタ
0142デフォルトの名無しさん2010/08/03(火) 23:29:43
maru.pl
これってパール?w
0143デフォルトの名無しさん2010/08/03(火) 23:31:16
JavScript=釣り、だろ
0144デフォルトの名無しさん2010/08/03(火) 23:40:08
// -->
今どきの釣りはこれだろw
0145デフォルトの名無しさん2010/08/03(火) 23:50:06
そんなことどうでもいいから金くれ
0146デフォルトの名無しさん2010/08/04(水) 02:16:36
完全に同時に実行される可能性のあるJavaアプリケーションで、
プロセス毎にユニークな(プロセスID的な)値を得る方法を教えてください。
最初は疑似乱数を使用する方法を考えたのですが、
この場合、シード自体がユニークな値の必要があります。

他に考えた方法
B. JNIもしくはJNAを使用してプロセスIDを取得する
C. GUID発行サーバを設置する
0147デフォルトの名無しさん2010/08/04(水) 03:12:26
VMIDってどうにかして取れないんだっけ?
01481462010/08/04(水) 03:57:50
ありがとう。
適当な解説が見つかりました。

Get a unique identifier - Real's Java How-to
http://www.rgagnon.com/javadetails/java-0518.html
0149デフォルトの名無しさん2010/08/04(水) 06:28:56
複数行の文字列
text = "line1\nline2\nline3\nline4";
がある時に"line1\nline2\nline3" と "line4" を取得するために
以下のようなコードを書いてるんですが長すぎる気がします。
もっとスッキリした書き方はできないでしょうか?

String str1 = "";
String[] arr = text.split("\n");
for(int i = 0; i < arr.length - 1; i++){
 if (i == arr.length - 2) str1 += arr[i];
 else str1 += arr[i] + "\n";
}
String str2 = arr[arr.length -1];
0150デフォルトの名無しさん2010/08/04(水) 07:01:00
>>149
String text = "line1\nline2\nline3\nline4";
String str1 = text.substring(0, text.lastIndexOf("\n"));
String str2 = text.substring(text.lastIndexOf("\n") + 1);
0151デフォルトの名無しさん2010/08/04(水) 09:31:47
>>150
lastIndexOfなんて便利なメソッドがあったんですね。
ありがとうございます。
0152デフォルトの名無しさん2010/08/05(木) 09:04:45
画像のことで質問させてください。下記のように「starship_image」変数に
「starship_state01.png」画像を読み込み、その後、同じ
「starship_image」変数に「starship_state02.png」を
読み込むのは問題無いのでしょうか?

private Drawable starship_image;
.
.
starship_image = context.getResources().getDrawable(R.drawable.starship_state01);
starship_image.setBounds(x, y, theWidth, theHeight);
starship_image.draw(canvas);

starship_image = context.getResources().getDrawable(R.drawable.starship_state02);
starship_image.setBounds(x, y, theWidth, theHeight);
starship_image.draw(canvas);
0153デフォルトの名無しさん2010/08/05(木) 11:28:24
たぶん大丈夫だと思うけど、何が起こったら問題なん?
0154デフォルトの名無しさん2010/08/06(金) 00:26:58
Java習い始めたばかりなんですが、どなたか
九九の表の作成方法を教えてください。
0155デフォルトの名無しさん2010/08/06(金) 01:09:26
そんなレベルから人に聞いてはいけない
01561522010/08/06(金) 01:32:27
>>153
レス、ありがとうございます。

他のプログラミング言語(Objective-c 等)では、他のイメージを同じ変数
に読み込む場合、一度メモリからリリースしておかないとメモリリークに
なってしまうので、Java では大丈夫なのかなと思い質問させてもらいました。

大丈夫なのですね。ありがとうございました。
0157デフォルトの名無しさん2010/08/06(金) 02:10:48
>>154
System.out.println("1 2 3 4 5 6 7 8 9");
System.out.println("2 4 6 8 10 12 14 16 18");
System.out.println("3 6 9 12 15 18 21 24 27");
System.out.println("4 8 12 16 20 24 28 32 36");
System.out.println("5 10 15 20 25 30 35 40 45");
System.out.println("6 12 18 24 30 36 42 48 54");
System.out.println("7 14 21 28 35 42 49 56 63");
System.out.println("8 16 24 32 40 48 56 23 72");
System.out.println("9 18 27 36 45 54 63 72 81");
0158デフォルトの名無しさん2010/08/06(金) 02:39:58
>>157
python最強伝説ですね?
0159デフォルトの名無しさん2010/08/06(金) 03:44:58
↓みたいなコードは安全でない可能性があると思ったのですがどうなんでしょうか?
synchronizedブロック実行中にobjectそのものにnullを突っ込まれたらNullPointerで落ちますよね?

privte static Hogerable object;
synchronized (object) {
if (object != null) {
return object.doHoge();
}
}
0160デフォルトの名無しさん2010/08/06(金) 08:58:47
リフレクション使わなけりゃprivateなフィールドに外部からアクセスできないんだから、
クラスの設計者がちゃんと作ってりゃ大丈夫じゃね?

てかそのコードだとsynchronizedの後のnullチェックが良くわからない。
objectがnullの場合synchronizedのところでぬるぽじゃね?
0161デフォルトの名無しさん2010/08/06(金) 11:09:32
synchonizedせずにobject触るようなエロいヤツがそのクラス弄れるって想定なんじゃないの?
0162デフォルトの名無しさん2010/08/06(金) 13:46:38
[ファイルMain.java]
public class Main {
public static void main(String[] args) {
Person x = new Person("太郎", 5);
x.who(); //�@´
x.who("次郎"); //�A´
x.who(10); //�B´
x.who("次郎", 10); //�C´
}
}
http://www.lcv.ne.jp/~kenmio/yomimono/yomimono11.htm

添付ファイル「Java謎+落とし穴」(前橋和弥)によると、下の場合だとメソッドオーバーロード
できないとのことですが、引数の型を自動選択するのがオーバーロード機能ではないですか?

class ShapeDraver {
Static void draw(Policyline policyline){略1}
Static void draw(Circle circle){略2}
Static void draw(Rectangle rectangle){略3}
}
void drawAllShapes(Drawable drawable){
for(int i=0 ; i<shapes.length ; i++){
ShapeDrawer.draw(shape[i]);
}
}
0163デフォルトの名無しさん2010/08/06(金) 14:03:46
>>162
オーバーロードはされる。
ただし、オーバーロードされたメソッドの中からどのメソッドを呼ぶかは、
コンパイル時に決定される。

実行時に解決したいなら
interface Shape { void draw(Renderable target); }
class Circle implements Shape { public void draw(Renderable target){ /*円を描く*/ } }
みたいにオーバーライドした方がいい。もしくは、
if (shapes[i] instanceof Circle) ShapeDrawer.draw((Circle)shapes[i]);
みたいに分岐するか。
01641542010/08/06(金) 18:41:16
お願いします。

>>157 説明不足ですみません、単に表を表示させるのでなくて
プログラムに計算させてcmd上に表示させたいのです。
0165デフォルトの名無しさん2010/08/06(金) 18:43:16
>>160-161
質問が悪かったかもですが、つまりsyncronizedブロックは

・オブジェクト操作
・変数への代入そのもの
の両方をブロックしてくれんの?

という質問です。
0166デフォルトの名無しさん2010/08/06(金) 19:24:05
>>165
他のスレッドが synchronized (object) している間はブロックの中に入れないだけだぞ。
見た目が synchronized (object) であっても参照先が別のオブジェクトだったら素通しだし。
0167デフォルトの名無しさん2010/08/06(金) 21:09:10
なんかバグ入れそうな悪寒
0168デフォルトの名無しさん2010/08/07(土) 02:12:44
>>165
ロックを持ってるのは変数そのものじゃなくて、変数が指してる先のオブジェクトだということを理解しているか?
0169デフォルトの名無しさん2010/08/07(土) 07:25:11
ArrayList<Integer> を toArray を使って int[] にコピーしようとすると
「Object型は int型に変換できません。」というエラーが出てしまいました。
ArrayList が Integer であることを明示するにはどこに指定したらよいのでしょうか?
0170デフォルトの名無しさん2010/08/07(土) 08:05:56
> ArrayList が Integer であることを明示するにはどこに指定したらよいのでしょうか?
ArrayList<Integer>
0171デフォルトの名無しさん2010/08/07(土) 08:31:13
>>169
import static org.apache.commons.lang.ArrayUtils.toPrimitive;
:
:

@SuppressWarnings("serial")
ArrayList<Integer> arrayList = new ArrayList<Integer>(){{
add(1);
add(2);
add(3);
}};
Integer[] integers = arrayList.toArray(new Integer[0]);
for(int i : integers) System.out.println(i);

int[] ints = toPrimitive(arrayList.toArray(new Integer[0]));
for(int i : ints) System.out.println(i);
0172デフォルトの名無しさん2010/08/07(土) 09:07:19
Stringの変数をそのままif文のチェックに使いたいのですが、
どうすればよいでしょうか。

String test ="a1 > a2";
int a1 = 1;
int a2 = 2;

if(test){  //ここの条件チェックで、このままだとtestをBooleanにするか?と聞かれます
    System.out.println("OK");
else
〜〜〜
0173デフォルトの名無しさん2010/08/07(土) 09:21:54
>>172
ひょっとして、a1がa2より大きかったら、if文の中に入って欲しいのか?
そしたらjavax.script.ScriptEngineしかなさそう。
もしくはevalを実装しているライブラリを探すしかないと思う。
0174デフォルトの名無しさん2010/08/07(土) 09:33:53
マニフェストファイルを記述した実行可能jarファイルにおいて、ダブルクリックによって起動した時と、java -jar hoge.jar によって起動した時で
なにか制約の違い(おそらくマルチスレッドがらみ?)はあるんでしょうか。

全く同じ実行可能 jarファイル(antによってマニフェスト生成)を
・ダブルクリック(Windows Vista + java1.6.0_14-b08)によって起動
・コマンドラインからjava -jar hoge.jar (←クラス、クラスパスは記述せず、マニフェストを参照)

とした場合で動作が違うようなのです。
と、いうよりも前者のダブルクリック起動だとまともに動作しません。
現象としては2つ目のスレッドを発行すると動かず、ログすら出さずに消失します
(1つ目のスレッドは普通に動作します)。
もちろんeclipse上では完全に動きます。
0175デフォルトの名無しさん2010/08/07(土) 10:12:02
>>174 ですけど、暫定解決しました。
関連付けがjreでコマンドラインのパスはjdk/jreになってたのが原因くさいです・・
5時間もこんなことで;ORACLEめぇえええ・・もうすこし検証します;
0176デフォルトの名無しさん2010/08/07(土) 11:03:02
>>162
 javaの謎の6.1.1にもあるように、コンパイルの段階で、引数が異なる同名
のメソッド(この場合三つのdraw)は別メソッドとして扱うように変換される
ということです。これがオーバーロード。実行時に引数の個数や型によって、
どのメソッドが呼ばれるか判断されます。
 3.2.1のリストにあるように、配列shapesの型はShapeであって、あくまでコ
ンパイラはshapes[i]の型はShapeであるとみなします。その各要素にどのイン
スタンス(Polylineなのか、Circleなのか。。)が代入されるかは実行時でな
いと分かりません。よって、6.1.2のメソッドdrawの呼び出しでは、引数
shapes[i]のインスタンスの型がコンパイル時には判明しないので、上のどの
drawを呼び出すべきが決定できないということになります。つまりコンパイル
できないのでエラーになります。
0177デフォルトの名無しさん2010/08/07(土) 12:21:32
言語規定 5.3 メソッド呼出し変換
「メソッド呼出し文脈は,恒等変換(5.1.1), プリミティブ型拡大変換 (5.1.2),
又は参照型拡大変換 (5.1.4)を可能とする。」
は、参照型縮小変換は不可能とするという意味じゃない?
縮小変換ってごく特殊な場合を除いて実行時エラー起こすよな。
0178デフォルトの名無しさん2010/08/07(土) 13:50:12
>>171
int と Integer は別物なんですね。
同じものだと勘違いしていました、ありがとうございます。
0179デフォルトの名無しさん2010/08/07(土) 16:35:29
プリミティブ型を覚えるよろし
0180デフォルトの名無しさん2010/08/07(土) 21:41:27
>>173
ありがとうございます。
ヒントだけでも助かります。
調べてみますねー。
0181デフォルトの名無しさん2010/08/07(土) 23:25:22
Javaって完全に衰退気味なのに、皆さんは何が好きで使ってるんですか?
もう後戻りできないとか、他に取り柄が無いとかですかね?
0182デフォルトの名無しさん2010/08/07(土) 23:26:40
最近じゃObjective-Cにすら勢い抜かれてるらしいですし。。
Javaなんか使い続けてて仕事無くならないですかね?
0183デフォルトの名無しさん2010/08/07(土) 23:31:58
webと携帯のドカタ仕事でがんばります
01841732010/08/07(土) 23:32:31
>>180
文字をif文の判断対象にするようなことは普通できないし、するべきじゃないと思う。
だけど、もし自分が「何とかしてJavaScriptのevalのようなことを実現しろっ!」って
すごまれたら、ScriptEngineで工夫して何とかしようとするかなぁ。といった感じ。
0185デフォルトの名無しさん2010/08/07(土) 23:45:55
>>181
>>182
正直、次から作るシステムはScalaで作りたいww
Javaが古めかしい言語であることに異論はない。でも言語の学習コストなんてたかが知れていると思うな。
LISPをしらない自分はScalaの文法は衝撃だったけど。まぁ慣れだよね。
0186デフォルトの名無しさん2010/08/07(土) 23:52:50
10年経っても.Netに追いつかれないJavaは大したものだと思う
0187デフォルトの名無しさん2010/08/07(土) 23:53:48
おい、やめろ
Javaの悪口hそっこまでだt
0188デフォルトの名無しさん2010/08/08(日) 00:14:53
>>182
いまだにコボラーのおっさんが幅きかせている世界もあるんだぜ
0189デフォルトの名無しさん2010/08/08(日) 00:18:25
tomcatだけ飯食ってる知り合いがいる。
プログラムは全く書かないらしいが、徹夜漬けの俺より給料高い。
0190デフォルトの名無しさん2010/08/08(日) 03:42:33
質問させてください。

Mirror API では

com.sun.mirror.declaration.AnnotationMirror.getElementValues

を使ってアノテーションのパラメータが、
明示的に与えられたものか、
default によって与えられたものかを
区別することができると思います。

リフレクションAPIを使ってこのような区別をしたいのですが可能でしょうか?
もし可能であればやり方を教えていただければと思います。
0191デフォルトの名無しさん2010/08/08(日) 09:09:43
>>184
一応出来ました。ありがとうございました。
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine se = sem.getEngineByName("js");
int a1 = 2;
int a2 = 1;
String judge = "a1 > a2";
String test = "var a1="+a1+";var a2="+a2+";if("+judge+"){println('ok');}else{println('ng');}";
se.eval(test);

この方法でどうしてもやれっていう訳ではなくて、
自分が今無理矢理やろうとしている事が、
どう実現出来るか判らないので、質問させてもらいました。

DBと連携させて、変数枠10個くらい毎回動的に入れたものを
条件値で分析調査したいと言った時に、
条件値も同じくDBに入れたとすればString値だし、
どういう実装方法がいいでしょうか。
a1 > a2 のときもあれば、a1 < a2 < a3 やら 1.1*a1 > a4
とかもあると思うんで。
0192デフォルトの名無しさん2010/08/08(日) 14:29:06
学生には衰退気味に見えるだろうな
でも俺の回りじゃまだまだjava案件だらけだぜ
0193デフォルトの名無しさん2010/08/08(日) 14:38:20
バージョン間やOS間、VMベンダー間の互換性が高いというメリットがあるからまだ10年はもつよ。
すくなくとも.NETやPHPで組まれたアプリよりJavaアプリのほうが、20年後も(保守担当者にJavaラー死ねよと愚痴られながら)動いてる可能性が高いだろう。
0194デフォルトの名無しさん2010/08/08(日) 23:28:32
自分が扱えない言語は廃れた事にしておかないと不安なエンジニアが世の中にはいるらしい
ただWindows系の言語と比べると覚えることが少ない(=簡単な)Javaを対象にしてるのが珍しい
0195デフォルトの名無しさん2010/08/10(火) 02:42:07
{1,2}を与えたら{{1,2},{2,1}}
{1,2,3}を与えたら{{1,2,3},{1,3,2},{2,1,3},{2,3,1},{3,1,2},{3,2,1}}
というように配列の要素を並び替えてできるすべての配列の配列を返すメソッドはどうやったら作ることができるのでしょうか?
0196デフォルトの名無しさん2010/08/10(火) 02:57:39
総当たりで全パターンやればいいじゃん。
どっちかというと算数の問題だろ。
0197デフォルトの名無しさん2010/08/10(火) 07:17:43
単純にロジック組めないということかな。
再帰的メソッドとかでやってみたらどうでしょう?
0198デフォルトの名無しさん2010/08/10(火) 07:35:32
組み合わせ取得とか、commons Mathとかに普通にありそうだな。
0199デフォルトの名無しさん2010/08/10(火) 08:03:31
このスレで解決した質問の数0
0200デフォルトの名無しさん2010/08/10(火) 20:12:31
Object o が null だったら、"ぬるl" という固定文字列を、
o が null じゃなかったらクラス名を、String className という変数に入れたい。

String className;
Object o = ....;
if (o == null) className = "ぬる"; else className = o.getClass().getName();

これは動く。

3項演算子にしたくて、
o == null ? className = "ぬる" : className = o.getClass().getName();
は、o == null のところでコンパイルエラーが出る。

・Eclipse で、o == null のところに赤線が出て、
 == にカーソルをマウスオーバーすると
 「トークン "==" に構文エラーがあります。AssignmentOperator 蛾無効です」とポップアップが出る。
・null にカーソルを合わせると、「型の不一致: null から boolean には変換できません」とポップアップが出る。

どうしてでしょうか?
o == null も式だと思うのですが・・・
0201デフォルトの名無しさん2010/08/10(火) 20:16:00
className = o == null ? "ぬる" : o.getClass().getName();
02022002010/08/10(火) 20:22:02
>>201
動きました! どうもありがとうございます!

でもどうしてそれが正しいのかわからない。
http://itref.fc2web.com/java/operator.html

をみると、

条件式 ? 式1 : 式2
a > b ? max = a : max = b;

と解説されていますが、

className = o == null までは条件式になるのでしょうか?
0203デフォルトの名無しさん2010/08/10(火) 20:27:53
演算子なんだから演算してるんだよ。
「条件式 ? 式1 : 式2」ってのはまるごとまとめて「値 * 値」や「値 + 値」や「"あ" + "ほ"」と同じようなもん。
ソースの文中にポツッと書いただけじゃ何の意味もない。
なんかの変数やらに代入して初めて意味を持つ。
02042002010/08/10(火) 20:32:31
なるほど、

int i = a + b;

で、 a + b の箇所で a と b を演算して、その結果を i に入れているわけですが、
同様に

className = o == null ? "ぬる" : o.getClass().getName();

とすると、三項演算子によって得られた結果("ぬる" か o.getClass().getName()) が
o に代入されるというわけですね。

すごくよくわかりました!

三項演算子の箇所全体が、なんらかの右辺(左辺でもいいか)に来ると覚えよう。]

余談までに、いきなり

1 + 1;

という行をボツっと書いたら、同様のコンパイルエラーになりました。

0205デフォルトの名無しさん2010/08/10(火) 20:33:17
>>202
言語仕様的に「文」になれる「式」の種類は決まってる。
条件式はその種類に含まれないから、そのままでは「文」になれない。
「文」になれるのは代入、インクリメント、デクリメント、メソッド呼び出し。

className = o == null ? "ぬる" : o.getClass().getName();
は、右辺が条件式、の代入なので「文」になれる。
02062002010/08/10(火) 20:37:06
>>204 の誤記:

誤: o に代入されるというわけですね。
正: className

>>205 さんもどうもありがとうございました。
最近 Java から ruby をやっているのですが、ruby だと「それは式だ」みたいなことをよく言われますが、
あらためて Java での式とはなんぞや、を勉強しなければと思いました。
0207デフォルトの名無しさん2010/08/10(火) 20:43:21
>>204
>o に代入されるというわけですね。

oには代入されねぇよww
0208デフォルトの名無しさん2010/08/10(火) 20:48:53
>>202
そのページの
> a > b ? max = a : max = b;
自体が間違い。
検証もしてないようなコード書いてるページなんて捨ててしまえ。

何故エラーになるかというと、最大の問題は演算子の優先順位。
通常の演算子は全て?:より優先順位が高いけど、
代入演算子だけは?:より優先順位が低い。
だから、a > b ? max + a : max - b は、
(a > b) ? (max + a) : (max - b)と解釈されるが、
a > b ? max = a : max = b は、
((a > b) ? max) = (a : max) = b みたいな感じに解釈されて、
そもそも正しい式にならない。

よって、>>200は className = ... を (className = ...) のように
カッコでくくるとエラーじゃなくなる。

あと、代入無しで?:を直接書くのも間違いなので、その点でも>>202のページはNG。
コンパイラに「文ではありません。」 と怒られる。
0209デフォルトの名無しさん2010/08/10(火) 21:08:47
>>194
0210デフォルトの名無しさん2010/08/11(水) 12:00:11
JavaでWin32APIにあるメソッドを使いたいのですが、ありますか?

具体的にはWin32で用意されているPrintWindow()のようなメソッドを使って、指定したウィンドウのキャプチャをしたいのです。
最前面に出せばキャプチャ―はできるのですが、ツールバーに置いたままでもキャプチャ―する方法はありますでしょうか?
0211デフォルトの名無しさん2010/08/11(水) 13:25:59
JNA(Java Native Access)とか?
0212デフォルトの名無しさん2010/08/11(水) 14:07:42
あるいは JNI でんな。
0213デフォルトの名無しさん2010/08/11(水) 14:43:43
windowのキャプチャならjavaだけでできるけど
0214デフォルトの名無しさん2010/08/11(水) 16:22:46
>>213
> 最前面に出せば(java.awt.Robotで)キャプチャ―はできるのですが、
> 最小化されていたり他のウィンドウなどに隠れているウィンドウをキャプチャしたいです。
って感じな事を210は言ってるんじゃないのか?
0215デフォルトの名無しさん2010/08/11(水) 16:43:13
使ったこと無いんだけどnlinkってのはどうかねぇ
02162102010/08/11(水) 17:08:39
>>214
その通りです。

Robotクラスを使えば、表示されている画面の情報は得られるんですが、タスクバーに入っていて、見えないアプリケーションの画面とか取れないものかと。
Visual C++ではhttp://msdn.microsoft.com/ja-jp/library/x51z0shh(VS.80).aspxのがあって、Javaにもあるのかなと探しましたが、
http://cs.nyu.edu/zilin/swt/API/org/eclipse/swt/internal/win32/OS.htmlにはりませんでした。。。

自分も使ったことがないのですが、nlinkとかJNIなら呼び出せるんですかね。
0217デフォルトの名無しさん2010/08/11(水) 17:45:50
オライリーの本を買おう思っても古いものばかりです。
バージョンの違いによる大きな変更点等を加味すると何年くらい前のものまで大丈夫ですか?
一応pythonの2〜3程度の変化なら許容範囲です。
0218デフォルトの名無しさん2010/08/11(水) 23:16:19
>>124
ゲームでスクリーンショット取るやり方だがそのフレームの一番うえのコンポーネントのGraphics2Dのスナップショットをとればいいんじゃない?
0219デフォルトの名無しさん2010/08/11(水) 23:24:51
>>218
Javaのウィンドウ以外の画面も取りたいんじゃね?
0220デフォルトの名無しさん2010/08/12(木) 00:06:30
このスレでそんな難しい質問しないでください
02212102010/08/12(木) 04:21:34
はい、Javaのウィンドウ等ならいいのですが、例えばIEの画面もキャプチャしたいと思ったのです…
0222デフォルトの名無しさん2010/08/12(木) 04:47:21
>>211-212で答え出てるのに今まで何してたの?
02232102010/08/12(木) 07:54:40
どうしても出来ないのなら、JNIでやってみようかと思いましたが、もう少しWin32.OSクラスの中身を調べてました。

ウィンドウを指定したり、最前面のキャプチャーはJavaでも出来るので、もしかしたらあるかなと。

JNIは使ったことないので、Javaのみで完結させたくて調べてましたが、無理そうですね。。。
0224デフォルトの名無しさん2010/08/12(木) 08:19:55
JNA使えば?
02252102010/08/12(木) 08:35:36
>>224
そちらの方がいいですかね?

Visual C++では指定したウィンドウの画面イメージが取得できそうなので,JNIを使えばイメージ取得及び解析をしたあとにその結果だけJavaに返せるのかなと考えました。

今JNAを調べてみましたが、win32apiのファンクションをマッピングするJNAもあるみたいですね。そちらの方が簡単そうならそちらでやってみます。

ありがとうございます。
0226デフォルトの名無しさん2010/08/14(土) 13:17:17
ServletのFilterで
public final void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException
{
System.out.println("aaaaaaaaaaaaa");
chain.doFilter(req, resp);
}

だけしかない単純なフィルターでweb.xmlで
<filter-mapping>
<filter-name>RootFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
こんなふうにマッピングしてServletを
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>test.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
こんな感じで全ての*.htmlにマッピングし
http://ドメイン/
を表示するとconsoleにaaaaaaaaaaaaaが2回表示されます。
http://ドメイン/index.html
だと一回しか表示されません。なぜでしょうか?ちなみに、GAEの開発なのでjettyでテストしてます。
よろしくお願いします。
0227デフォルトの名無しさん2010/08/15(日) 16:36:21
Javaのオブジェクトの仮想マシン上でのバイナリ表現を得る方法ってありますか?
02282272010/08/15(日) 16:39:48
ObjectOutputStreamだとjava.io.serializableを実装してないといけないし
Javaのオブジェクト全てをバイナリ化する方法があるかを知りたいんですが
0229デフォルトの名無しさん2010/08/16(月) 21:39:47
>>226
http://ドメイン/
にアクセスしたら
http://ドメイン/index.html
に飛ばされてるからじゃね
0230デフォルトの名無しさん2010/08/16(月) 23:34:51
class Mammal {
String name = "furry";
String makeNoise() {
return "generic noise";
}
}
class Zebra extends Mammal {
String name = "stripes" ;
String makeNoise () {
return "bray";
}
}
public class ZooKeeper {
public static void main(String[] args) {
new ZooKeeper().go();
}
void go() {
Mammal m = new Zebra();
System.out.println(m.name + m.makeNoise());
} }

このプログラムで実行したらfurry brayになるらしいけどなぜなんでしょう?
0231デフォルトの名無しさん2010/08/17(火) 00:10:33
そういう仕様だから仕方ない。makenoizeの中身をreturn name;にするとなお面白いな。
フィールドのオーバーライドは直感に反した動作をすることが多いのでどこのプロジェクトでも普通は禁じ手だ。
0232デフォルトの名無しさん2010/08/17(火) 04:06:34
>フィールドのオーバーライド
隠蔽だと思うんだが
0233デフォルトの名無しさん2010/08/17(火) 06:27:45
>>231
にひょんごでおk
0234デフォルトの名無しさん2010/08/17(火) 15:27:07
javaのゲームをするとこうなるのですがどう直せばよいのでしょうか・・・
http://iup.2ch-library.com/i/i0137958-1282026353.jpg
0235デフォルトの名無しさん2010/08/17(火) 22:39:53
>>234
PCを買い換える
0236デフォルトの名無しさん2010/08/17(火) 22:54:28
>>234
・JREを最新のものに入れ替えてみる。
・グラフィックカードのドライバを最新版や安定版にかえてみる。
・グラフィックカード買い替え。
・コマンドラインオプションつけれるなら
 -Dsun.java2d.noddraw=trueしてみる。

ぐらいか?
0237デフォルトの名無しさん2010/08/17(火) 23:39:10
GPUの対応が糞くらいしか思いつかんが板違いだな
0238デフォルトの名無しさん2010/08/18(水) 01:39:42
>>234
http://toki.2ch.net/test/read.cgi/bgame/1238720326/
0239デフォルトの名無しさん2010/08/18(水) 23:22:29
String sql = "SELECT …";
PreparedStaetment ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while ( rs.next() ) {
…
}

こんな感じでSQLを実行していますが、
ps.executeQuery() の実行時間をログ出力したいです。

何か賢い方法をご教授願います。
#ps.executeQuery()の呼び元は数百か所あります。。。
0240デフォルトの名無しさん2010/08/19(木) 00:14:38
案だけど、 Connection と PrepareStatement と ResultSet をラップして名前
空間を java.sql 以外に置き換える。
そして中身は実体のインスタンスを委譲して実行時間計測。
元々のコードの修正は Connection 生成しているところをファクトリ化するのと
import 文だけ。

アスペクト指向?聞こえねーな。
0241デフォルトの名無しさん2010/08/19(木) 00:41:20
javaの動画をダウンロードしたいんですけど
何かいいソフトはありませんか
0242デフォルトの名無しさん2010/08/19(木) 00:47:58
>>240
正しい。以前Connectionをラップせにゃならん状況になったとき、AspectJでなんとかならんかと思って調べてみたら、ヘビー過ぎて心が挫けた。
結局Eclipseの移譲メソッド生成一発で済ませた。行数は酷いことになったが、手間は最小限だったw
02432392010/08/20(金) 00:18:15
>240, 242

レス、ありがとうございます。

レス頂いた修正方針だと、
機械的な修正にはなりますが、修正ファイル数が多いな〜
と思っていたんですが、
これで行く決心がつきました。

Eclipseの移譲メソッド生成ってのが、便利そうですね。
調べてみます。

ありがとうございました。
0244デフォルトの名無しさん2010/08/20(金) 14:49:51
JAVAのアプリケーションからオラクルに接続するにはどのように実装するのでしょうか?
0245デフォルトの名無しさん2010/08/20(金) 15:53:59
DriverManager.getConnection
0246デフォルトの名無しさん2010/08/20(金) 20:05:04
集団ストーカー実行犯の見つけ方
駅の改札、エスカレーター、階段、交差点など人の流れが集中するところにいます。
その周辺で人の流れと逆向きに立ったり柱や壁を背にして、長時間人々を凝視している人間がいたらそうです。
0247デフォルトの名無しさん2010/08/21(土) 10:30:45
画面が実質1,2しかないWebアプリ(ページ内容の更新自体は頻繁)を作るのですが、
PHPやPerlじゃなくあえて勉強のためJavaにしようかと思っています。

生JSP(生サーブレット)でもいいかなーとおもったけどそれじゃなんなので、
こういう小規模ページをサクっとつくるのに向いたJavaフレームワークを探してますが
オススメはあるでしょうか?
0248デフォルトの名無しさん2010/08/21(土) 11:32:36
小規模ならvelosurfでいいと思う
0249デフォルトの名無しさん2010/08/21(土) 13:11:52
公開前提でJavaならGoogle App Engne + Slim3 って結構よくない?
お金掛からないし。
0250デフォルトの名無しさん2010/08/21(土) 13:20:45
Pythonとか入れるのが煩わしくない人ならありかもね。
でもサクッと作りたい人には明らかに不向きだね。
0251デフォルトの名無しさん2010/08/21(土) 13:27:46
GAEはJavaでやるならPython入れたりする必要なかったと思う。
まぁ、Eclipseにプラグインとか入れるのは煩わしい。
0252忍者Perl ◆M5ZWRnXOj6 2010/08/21(土) 13:36:19
きもいスレですね
0253デフォルトの名無しさん2010/08/21(土) 13:40:52
>>244
四の五の言わんとiBATIS使っとけ
0254忍者Perl ◆M5ZWRnXOj6 2010/08/21(土) 13:49:30
あんまり調子のってるとここのスレつぶすよ
0255デフォルトの名無しさん2010/08/21(土) 15:01:22
出来もしないのにww
0256デフォルトの名無しさん2010/08/21(土) 15:13:50
>>248
velosurfてWebてわけじゃなくてモデル層ですよね。
コントローラは?Strutsとか生サーブレットですか。

>>249
GAEは興味はあるけど、5年後メンテ不可能になっていかねない技術はちょっとパスですかねw
0257デフォルトの名無しさん2010/08/21(土) 15:19:17
>>256
GAEは単にWebアプリのプラットフォームだと思えばいい、Slim3はStrutsのミニマム版。
まぁ、とっかかりちょっと面倒かもしれないから無理強いはしないよ。
0258デフォルトの名無しさん2010/08/21(土) 15:52:05
>>256
いや、フルスタックだよ
"A simple example"を見て30分くらいいじればすぐにわかる

http://velosurf.sourceforge.net/overview.html
0259デフォルトの名無しさん2010/08/21(土) 16:05:53
おまえじゃ無理ww
0260デフォルトの名無しさん2010/08/21(土) 16:16:23
>>259
誘導
http://toki.2ch.net/test/read.cgi/siberia/1281571524/
http://sports2.2ch.net/test/read.cgi/entrance2/1278110231/
http://toki.2ch.net/test/read.cgi/utu/1282074582/
0261デフォルトの名無しさん2010/08/21(土) 16:34:18
>>258
ありがとう。Velocityは大昔に使ったことあったので試してみます。
でも日本語の情報少なすぎじゃないかなぁ。

いまApache Clickを調べてるけど、すぐ消えそうな感じがゾクゾクしていいですね
(いや消えるようなのは勘弁なんですがw)。
0262デフォルトの名無しさん2010/08/21(土) 17:36:16
ああClickも内部はvelocityなんですね。
velosurfは依存ライブラリ多くてちょっとどうなん?と思ってしまったのでしばらくClickいじってみます。
0263デフォルトの名無しさん2010/08/21(土) 17:59:13
>>254
死ねよ雑魚がww
0264デフォルトの名無しさん2010/08/21(土) 23:54:54
SJC-Pって今受験料どれくらい?
0265デフォルトの名無しさん2010/08/22(日) 01:13:47
9万
どうせ3回はいるだろ
0266デフォルトの名無しさん2010/08/22(日) 14:31:21
Twitterアプリ天才灘中「ニュー速の奴ら、頭残念すぎるだろ」★2
http://kamome.2ch.net/test/read.cgi/news/1282454634/
0267デフォルトの名無しさん2010/08/23(月) 11:55:50
>>261
Apache Clickのほうは日本語の情報が豊富なの?
0268Perl忍者 ◆M5ZWRnXOj6 2010/08/23(月) 23:59:49
javaやってるやつってクソスーツばっかだろ

クソ企業人がわいてそうですね

ゴミみたいなバカはせっせと死んでください
0269デフォルトの名無しさん2010/08/24(火) 00:11:09
クソスーツてなんですか?
0270デフォルトの名無しさん2010/08/24(火) 01:44:58
>>267
豊富じゃないけど、velosurfよりは多くないですか?と、いうより日本語のサイトでまともにvelosurfを紹介してるサイトってあります?
英語のページでもチュートリアル/FAQ系のサイトはClickの方が多い気がします。
0271デフォルトの名無しさん2010/08/24(火) 02:47:07
>>268

>>254
0272Perl忍者 ◆M5ZWRnXOj6 2010/08/24(火) 09:41:47
クソスーツもわからないの?
http://yuzuru.2ch.net/test/read.cgi/employee/1282452525/

クソスーツの特徴 まとめ

1、ツイッタのフォローリストがほぼ著名人w 孫正義などホリエや菅野をフォローw
2、FXや株など 経済用語が大好き だけど経済的に並〜貧乏
3、職業はサラリーマン、公務員、教員
4,自己紹介欄にTOEIC900点目指し勉強中w ←金目的
5、やることが浅い 深くやらない かじる程度
6、ブログはyahooやfc2
7、yahooの珍言袋が大好き
8、ジムに通う クソガリーマンはプールかエアロバイクw
9、プログラミング言語は java,VB,C++
10、PCは富士通 VAIO ソニー愛好者
11、子供の写真をブログに載せちゃう
0273デフォルトの名無しさん2010/08/24(火) 10:14:20
おまえみたいなゆとりのことか
0274Perl忍者 ◆M5ZWRnXOj6 2010/08/24(火) 10:26:46
ゆとりはこんな事しないよ^^;

経済オタな無様な大人の生き様みてきたから
0275デフォルトの名無しさん2010/08/24(火) 14:18:42
オブジェクトというか、プリミティブ型の配列の基本的な扱いについて
教えて下さい。

public class Test1 {
 private int[] oldParam = {0, 1, 2};

 public Test1(){
  int[] newParam = {4, 5, 6 };
  this.oldParam = newParam;
 }
}

このような、インスタンス生成時に、クラス変数の配列を
新しい変数の配列に書き換えたいのですが、

1.プリミティブ型の配列の場合、参照先はそのままで内容が
  変わるんでしょうか?

2.配列をオブジェクトの配列に変更した場合、oldParam の
  参照先がnewParamに変更されると思うのですが、その場合、
  元々oldParamが格納されていたメモリ領域は、GC対象に
  なるということでしょうか?
0276デフォルトの名無しさん2010/08/24(火) 17:33:53
>>275
それはプログラムを書くと調べられるのでは?
0277デフォルトの名無しさん2010/08/24(火) 17:35:43
プリミティブ型だろうがオブジェクトだろうが全く関係ない
参照先が変わるし古いのは使われなくなったらGC対象になる
0278デフォルトの名無しさん2010/08/25(水) 04:06:25
クラス変数じゃなくてインスタンス変数の配列だな。
0279デフォルトの名無しさん2010/08/25(水) 04:52:13
>>252
>>254
02802752010/08/25(水) 09:10:21
>>276-277
コード書いていろいろ試してます。
デバッガの使い方の勉強を兼ねて。
使われなくなったものがGC対象になるという点も
納得できました。

ご教示、ありがとうございました。
0281デフォルトの名無しさん2010/08/25(水) 16:59:29
JDI(java debug interface)とJVMTI(Java Virtual Machine Tool Interface)の違いについて

指定したクラスの中で使われている変数の推移を、
JDIを用いて取得して表示するプログラムを作りました

JVMTIでも同じようなことが出来そうなのですが、
ちょっと調べただけでは意味不明でした

JDIとJVMTIは具体的にどう違うのでしょうか?
0282デフォルトの名無しさん2010/08/25(水) 23:45:57
↓の方が適切かと思ったのですが、人がいなさ過ぎだったため、こちらで質問します。
Java⇔RDBのMapping-Frameworkを語るスレ Vol.5
http://hibari.2ch.net/test/read.cgi/tech/1220671877/


テーブル名が"table01"、"table02"、"table03"・・・といった具合に、カラムは全く同じだけど
名前だけ違う、というテーブル群をOpenJPA1で操りたいと考えています。

Entityとテーブルをマッピングする際は、テーブルの名前が固定な場合は
@SecondaryTablesを使えばいけそうというところまでは分かりました。
ただ、テーブルの名前は固定したくありません。

例えばEntityに対して@Table(name = "table??")なんて指定が出来ればベストなんですが…

何か、良い方法はありませんでしょうか。
0283デフォルトの名無しさん2010/08/26(木) 15:12:27
>>282
http://www.objectmatter.com/
http://velosurf.sourceforge.net/user-guide.html#reverse
0284デフォルトの名無しさん2010/08/26(木) 15:36:26
ゲームを作っているのですが、キー入力で同時に4つ以上の入力を受け付けてくれません。
またキーリピート?の間隔を0にする方法があったら
(キーを押しっぱなしでだ、、だだだだの入力をだだだだだ)教えてください。
0285デフォルトの名無しさん2010/08/26(木) 15:39:53
4つ以上のキー入力は解決しましたすいません
0286デフォルトの名無しさん2010/08/27(金) 01:57:46
>(キーを押しっぱなしでだ、、だだだだの入力をだだだだだ)
秘孔穿いてるようにしか聞こえん。
0287デフォルトの名無しさん2010/08/27(金) 21:44:45
Version 6 Update 21っていつ更新されたのか
教えてください
0288デフォルトの名無しさん2010/08/27(金) 22:58:08
http://en.wikipedia.org/wiki/Java_version_history#Java_SE_6_Update_21
0289デフォルトの名無しさん2010/08/27(金) 23:03:04
sunのサイトには日付書いてあったがoracleが消した
ような気がしないでもない
0290デフォルトの名無しさん2010/08/27(金) 23:11:00
OracleになってからJavaのサイトが使いにくくなった気がするんだが。
旧版のJDKめっちゃ探し回ったぞ。
0291デフォルトの名無しさん2010/08/27(金) 23:13:34
>>288
http://blogs.oracle.com/javase/2010/07/java_se_6_update_21_is_released.html
なんか日付違うね
0292デフォルトの名無しさん2010/08/29(日) 18:26:11
>>258
> >>256
> いや、フルスタックだよ
> "A simple example"を見て30分くらいいじればすぐにわかる
>
> http://velosurf.sourceforge.net/overview.html

これより簡単なJavaのフルスタックWebアプリFWってないですかね?
0293デフォルトの名無しさん2010/08/29(日) 22:54:57
>>291
u21でベンダ名をSunからOracleに変更したらEclipse起動しなくなっちゃった
ていうので一回差し戻しがあった。
これが原因かどうかわからんけど。
0294デフォルトの名無しさん2010/08/29(日) 23:03:39
>>282
ちょっと何言ってるんだかわからないんだけど、
tableXXを要素が空のクラスにマッピングして、共通のスーパクラスで実体を定義、
@InheritanceでTABLE_PER_CLASSにすれば?

> Entityに対して@Table(name = "table??")
てのが実現できるのでは。
0295デフォルトの名無しさん2010/08/29(日) 23:13:12
>>247
ttp://civic.xrea.jp/dev/jetty/
0296デフォルトの名無しさん2010/08/30(月) 17:43:20
グラフックを配列データ化して描画する場合。
VB,VCでは配列化してデータを書き込んで配列をグラフックに戻す命令で
はじめて描画されます。
しかしjavaの場合
((DataBufferInt)img.getRaster().getDataBuffer()).getData();
これで配列化したあと配列にデータ書き込むだけで戻さなくても描画されてしまう。
これはどういうことなんでしょうか?
0297デフォルトの名無しさん2010/08/30(月) 18:25:26
>VB,VCでは配列化してデータを書き込んで配列をグラフックに戻す命令ではじめて描画されます。
それは誰かがそういう風にしたから

>これで配列化したあと配列にデータ書き込むだけで戻さなくても描画されてしまう。
それは誰かがそういう風にしたから
0298デフォルトの名無しさん2010/08/30(月) 18:30:05
1データの書き換えでも変わるというのは配列とグラフックがリンクされた状態と考えていいんでしょうか。
0299デフォルトの名無しさん2010/08/30(月) 20:20:19
いいんじゃね?

仕様上もそうか、と聞かれるとドキュメントに書いてないから確定的な事は言えんけど、
getRaster も getDataBuffer も getData もゲッターしかないから、
仕様上もそうだと考える方が妥当じゃないかと。
03002962010/08/30(月) 20:28:26
ですか
0301デフォルトの名無しさん2010/08/30(月) 20:59:27
PixelGrabberは使わないんだ
0302デフォルトの名無しさん2010/08/31(火) 21:34:07
配列の中から任意のデータを検索するものがあったら教えてください
0303デフォルトの名無しさん2010/08/31(火) 22:27:54
java.util.Comparator
0304デフォルトの名無しさん2010/09/01(水) 11:39:32
スレッドごとまたはクラスローダごとにjavaのデフォルトエンコーディングを設定することは可能でしょうか?
0305デフォルトの名無しさん2010/09/01(水) 13:33:14
「javaのデフォルトエンコーディング」とは?
0306デフォルトの名無しさん2010/09/01(水) 15:16:21
>>304
システムプロパティの file.encoding の事を言ってるなら、
java.lang.System をクラスローダ毎に切り替えるのは無理。
スレッド毎に切り替えるのも無理。

クラス読み込み時にクラス変数に
file.encoding の内容を記録してるクラスなんかだと、
System.setProperty("file.encoding", "UTF-8");
とかやっても無視される。
例えば java.io.OutputStreamWriter あたり。
0307デフォルトの名無しさん2010/09/01(水) 18:30:27
GAEとかは、user.dirとかレンサバ契約者ごとに異なるシステムプロパティ環境が
同一VMに同居してるっぽいとこが不思議なんだよなあ。

System.getPropertiy実装を改造してもいいのなら難しい話でもないのだが
0308デフォルトの名無しさん2010/09/01(水) 19:00:12
サーブレットやjsp使えるレンサバ増えたの?
いまレンサバ幾らぐらい?
0309デフォルトの名無しさん2010/09/01(水) 21:36:56
神様
ファイルのアクセス日時を取得/設定する方法を教えてください。
0310デフォルトの名無しさん2010/09/01(水) 21:47:22
>>308
Fileもスレッド生成も必要ないなら、GoogleAppEngineがタダだよ
ここひと月は、さくらVPS(¥980)にTomcat乗せる人柱さんを様子見だな
0311デフォルトの名無しさん2010/09/01(水) 21:50:17
レンサバに頼るより、ドメインを月100円で取得して自分のストレージ・サーバに転送すればいいかなって思う。
0312デフォルトの名無しさん2010/09/01(水) 21:50:57
java.util.Comparator を使って
配列の中から任意のデータを検索する方法を教えてください
0313デフォルトの名無しさん2010/09/01(水) 22:52:32
>>312
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Arrays.html#binarySearch%28T[],%20T,%20java.util.Comparator%29
ただし配列はソート済でなければならない。
0314デフォルトの名無しさん2010/09/02(木) 08:18:34
任意のデータって何なんだよ。
char配列からメールアドレスを抽出するとか言う話じゃないだろうね?
0315デフォルトの名無しさん2010/09/02(木) 09:47:10
>>314
Comparator ってそういうことに使うものなの?
例としてヘンテコ過ぎるだろ
0316デフォルトの名無しさん2010/09/02(木) 10:17:55
「Comparatorで素数を検索します!ありがとうございました!」
とかいう展開にならないといいけれど。いや、>312 ならありうる。

そもそも >302 の書きっぷりをみるからに、
一意に順序づけられるデータの質問とは思えないんだがなあ…
0317デフォルトの名無しさん2010/09/02(木) 10:21:19
コンパレータは、普通はソートだけどソートのときしか利用しちゃダメって分けじゃないからそういう使いかたもいいんじゃないか。
0318デフォルトの名無しさん2010/09/02(木) 12:07:26
検索は比較処理も含むわけだから。
>>302はComparatorを検索処理の中の比較の部分に
使えないかと考えたんじゃね?
0319デフォルトの名無しさん2010/09/02(木) 12:51:57
素数探すのは検索じゃないってか?

というわけで >302 よ。
釣でないなら「任意のデータ」とやらをもう少し詳しくな。
とりあえず、要素を探してるのか要素並びを探してるのかだけでも。
コンパラトール云々はそれからだ
0320デフォルトの名無しさん2010/09/02(木) 12:57:05
コンパラトール?
一見なんだか分からなかったけどそんな読み方もあったかww
0321デフォルトの名無しさん2010/09/02(木) 14:17:41
>>316
>>318
>>319

なんで比較とか順序付けとか並びとか質問からそれた話ばっかしてるんだ?
>>312が質問してるのは一致のはなしだろ
0322デフォルトの名無しさん2010/09/02(木) 15:08:00
比較しなきゃ一致してるか分からないだろksg
0323デフォルトの名無しさん2010/09/02(木) 17:25:54
当たり前の話だが、>>312は Comparator クラスの compare メソッドの使い方くらいは
百も承知だろう。どちらかと言うと Comparator クラスでつまづくのは equal メソッドの使い方だな、
って気づかないのは Comparator クラスを使ったこともないドシロウト。
0324デフォルトの名無しさん2010/09/02(木) 18:52:45
質問です.

Eclipse3.6 でプラグイン開発の勉強をしています.
既にEclipseにインストールされているプラグインからクラスローダをとってきて,
ワークスペース上にある Java クラスをそのクラスローダでロードすることは可能でしょうか?

例えばワークスペースにあるJavaプロジェクト上に Hoge クラスがあるとき,
プラグイン側で

Bundle bundle = <そのプラグインの Plugin クラス>.getDefault().getBundle();
Class cl = bundle.load(<ワークスペース上にあるクラスのクラス名>);
Object obj = cl.newInstance();

として Hoge のインスタンスを入手したいのですが,
クラスパスをプラグイン側に動的に追加する手段が無く,また ClassLoader.defineClass()にあたるメソッドが
OSGi の Bundle クラスに見当たらないため,困っています.

どなたかお手数ですがアドバイスをいただければ幸いです.
0325デフォルトの名無しさん2010/09/02(木) 21:22:56
素数を検索するComparator、かなりムズくないか?
binarySearchを使おうというのがすでに破綻してるのか。
0326デフォルトの名無しさん2010/09/02(木) 22:13:57
java.util.Comparatorクラスのequalメソッドを使って
配列の中から条件にあったデータを探し出す方法を教えてください
0327デフォルトの名無しさん2010/09/02(木) 22:20:24
データがどういうデータなのか
条件がどういう条件なのか

これくらいは言ってくれないと出来る出来ないも言えない。
0328デフォルトの名無しさん2010/09/02(木) 22:51:09
出来るか出来ないかは言えるはずだけどな ( ´,_ゝ`)プッ
0329デフォルトの名無しさん2010/09/02(木) 23:38:13
>>326
Comparatorはクラスじゃなくてインターフェースだしequalメソッドなんか
無いしequalsメソッドはComparator自身を比較するものであって他の何かを
比較するものじゃないからそんな用途には使えない。
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Comparator.html
0330デフォルトの名無しさん2010/09/02(木) 23:57:29
おまえらいい加減定期的に出てくる一行レス荒しだということに気づけ。
0331デフォルトの名無しさん2010/09/03(金) 00:45:34
いいかおまいら
equalsメソッドを実装したら、hashCodeも実装しないとダメだぞ?
話はそれからだ
0332デフォルトの名無しさん2010/09/03(金) 05:55:29
荒らしに全力で回答するのがオレのジャスティス!

これでも使え。
つ org.apache.commons.collections.Predicate
0333デフォルトの名無しさん2010/09/03(金) 07:08:03
>>328
すこしはジャ場を勉強したら?
なんか寒いよ
0334デフォルトの名無しさん2010/09/03(金) 07:21:19
ホームページへの大量アクセス事件 岡崎市立中央図書館の弁明に異論相次ぐ
J-CASTニュース 9月2日(木)21時12分配信

報道によると、男性は3〜4月、自作プログラムを使って、新着図書のリストに自動的にアクセスして、それをコピペすることを14日間3万3000回繰り返していた。これがサイバー攻撃とみなされたわけで、名古屋地検岡崎支部が6月、男性を起訴猶予処分にしていた。
ところが、男性がアクセスしたのは、1秒間に1回程度だったため、ソフトに詳しいネットユーザーらを中心に、男性逮捕への疑問が相次いだ。

中央図書館の総務班では、「ソフトの不具合については、認識していません」
「通常の利用ではないから、ああいう事態が起こったということです。うちとしては、通常の利用しか想定していません」
「メーカーに聞かないと分かりませんが、うちのソフトに不具合があったとは聞いていません。メーカーは、ちゃんと対応したと思っています」
「うちは図書館でありシステム会社ではないので、専門的なことはわかりません。大量アクセスについては、メーカーで対応してもらっています。図書館の対応には、問題はないと思っています」と話した。

朝日の記事によると、ソフトを提供した三菱電機インフォメーションシステムズ(MDIS)
0335デフォルトの名無しさん2010/09/03(金) 10:23:23
>>306
そうですよね…
ありがとうございます。

とにかくバイトの変換系処理では常に文字コードを指定しないといけないですよね…
なんかコードがうるさくなっていやですが仕方ないですね…
0336デフォルトの名無しさん2010/09/03(金) 11:20:23
ComparatorはClosure的な使い方をするのがオシャレだと思う
0337デフォルトの名無しさん2010/09/03(金) 14:54:51
>>334
DB周りが糞で検索すると負荷が異常で舐め終わる前にタイムアウトしてエラー吐くシステムがどうしたって?
0338デフォルトの名無しさん2010/09/04(土) 00:40:30
Velocity使ってる画面でjQueryを使おうとしたら、$.()とかでエラー出るんですけどどうしたらええのん・・・?
0339デフォルトの名無しさん2010/09/04(土) 00:51:44
1.4.2のsun.rmi.transport.tcp.TCPTransport.javaのソースコードが見たいんですが、
どっからダウンロードすればよいですか?

SDKに付属のsrc.zipには入ってなかった。。。
というかそもそも、標準APIに入ってないsunパッケージって何なの?
0340デフォルトの名無しさん2010/09/04(土) 01:09:11
>>338
http://hibari.2ch.net/test/read.cgi/hp/1277348045/
こっちじゃね
0341デフォルトの名無しさん2010/09/04(土) 03:37:57
波紋の絵を描きたいので少し教えて下さいませんか?
3D波紋のJavaというのを見かけました
あの波紋の高低差を地図のような灰色のグラデーションにして
自分のパソコン上で動かすにはどうしたらいいですか??
0342デフォルトの名無しさん2010/09/04(土) 04:00:10
なにいってんだおまえ
0343デフォルトの名無しさん2010/09/04(土) 07:51:31
http://up3.viploader.net/ippan/src/vlippan142316.jpg
↑こういう感じなんだ・・・
いや、波を3Dで作ろうとしたらうまくいかなくて
それでいろいろ検索したら3D波紋っていうのがあって
波紋を自分でシミュレーションしてみたくて・・・
0344デフォルトの名無しさん2010/09/04(土) 07:51:43
>>339
オラクルのJavaSE Downloadsのページからダウンロードできるだろ。
「Previous Releases」ってとこな。

買収後初めてSEのページ見に来たが、思いっきり日本語情報排除されてるなあ。
大丈夫なのか日本オラクル

SE1.6や1.7のAPI日本語化はとっくにボランティアベースに移行したんだっけ?
0345デフォルトの名無しさん2010/09/04(土) 08:01:23
>>341
import java.awt.*;import java.awt.image.*;class W{public static void main(
String[]a){new Frame(){int T=6,W=64,F=255,i,j;float r=1.414f;byte[]q=new byte[
W*W];float[]p=new float[W*W],v=new float[W*W];Image m;{byte d=(byte)-128;while
(i<F+1){q[j=((d++)&F)*3]=q[j+1]=(byte)i;q[2+3*i++]=(byte)F;}MemoryImageSource
s=new MemoryImageSource(W,W,new IndexColorModel(8,256,q,0,0<0),q,0,W);resize(W
*T,W*T);s.setAnimated(true);m=createImage(s);show();try{for(repaint();;Thread.
sleep(33)){for(i=W+1;i<W*W-W-1;i++){v[i]+=(p[i-W]+p[i-1]+p[i+1]+p[i+W]+(p[i-1-
W]+p[i+1-W]+p[i-1+W]+p[i+1+W])/r-p[i]*2*(2+r))/4;if(v[i]>1/32f)v[i]=1/32f;p[i-
W-1]+=v[i-W-1];q[i]=(byte)((p[i-W-1]-p[i])*F);}s.newPixels();}}catch(Exception
e){}}public void update(Graphics g){g.drawImage(m,0,0,W*T,W*T,this);}public
boolean mouseDown(Event e,int x,int y){v[x/T+y/T*W]-=.5;return 0<1;}};}}
0346デフォルトの名無しさん2010/09/04(土) 08:09:12
public boolean mouseDown(Event e,int x,int y)

ほんとかよw
0347デフォルトの名無しさん2010/09/04(土) 09:19:48
>>343
3D波紋でぐぐって一番最初にでてきたのは、いわゆるwater effectだね。
water effectなら、ぐぐれば幾らでもソース出てくると思う。
0348デフォルトの名無しさん2010/09/04(土) 12:10:41
>>340
http://hibari.2ch.net/test/read.cgi/tech/1229881548/
こっちじゃね
0349デフォルトの名無しさん2010/09/04(土) 12:53:18
>>338
http://velocity.apache.org/engine/devel/user-guide.html#variables
0350デフォルトの名無しさん2010/09/04(土) 16:05:03
特定のフォルダから.jpgのファイルのリストを表示しようとしています。

この.jpgのファイルのファイル名一覧を作成するにあたって
listFiles()を使用してそのフォルダ内の全ファイルのFileをループで判別して行っても良いのですが、
勉強としてはFilterを使ってみたいと思い調べたところ。

list(FilenameFilter filter)

を使用して .jpg だけtrueを返すFilenameFilterを実装れば良いかと思ったのですが、
FilenameFilterだとファイル名での判別しか出来ないので、xxx.jpg と言うディレクトリがあればそれも含んでしまいます。

かと言って、

listFiles(FileFilter filter)

だと、戻りがFile[]なので結局、その配列をループでまわして
files.getName()
とかやる事になると思っており、当初のループで組んでも変わらないダサさな気がします。

何故、
list(FileFilter filter)
が無いんだろう。。。

無いから無いと言われてしまえばそれまでですが、もっとすっきり書ける方法があるのでしょうか?
0351デフォルトの名無しさん2010/09/04(土) 16:27:55
list(FilenameFilter) だって戻り値 String[] じゃね
0352デフォルトの名無しさん2010/09/04(土) 18:46:21
javaで作られたちゃんと構文のある(lisp系やstack系以外)言語って何がありますか
ソースコード参考にしたいので、
C言語のサブセットぐらいのを探しています

Jthon/JRuby/Quercus ちょっと大きすぎる
djava リンク切れ
prolog prologがわからない
ttp://www.okisoft.co.jp/esc/prolog/in-java.html
0353デフォルトの名無しさん2010/09/04(土) 21:54:10
今からプログラム勉強したいんだけどjavaとjavascriptのどっちを学んだらいいの?

簡単さとか実用性を重視してほしいです。
0354デフォルトの名無しさん2010/09/04(土) 23:05:43
簡単さならJavaScript、実用性ならJava

JavaScript
 開発環境が不要、コンパイル作業不要
 基本的にはブラウザ上じゃないと動かない(ほんとは違うが)
 変数に何でも入れられる、ゆるい感じ
Java
 開発環境のインストール作業が必要
 プログラムを書くごとにコンパイル作業をする必要がある
 変数には型があり、決まったものしか入らない、堅い感じ
 単体で動くソフトウェアが作れる

どちらもオブジェクト指向言語
JavaScriptのオブジェクトはしょぼいがJavaのほうはしっかりしてる
JavaScriptは関数型言語的にも使える。Javaは次のバージョンで対応するかもしれない
0355デフォルトの名無しさん2010/09/04(土) 23:12:50
>>345
ごめんなさい。
まず何をどうすればいいですか?
・・・・OTL

>343
water effectでググったけど何が何だか・・・
まずは何をどうすればいいですか
・・・OTL
0356間違えたので書き直します2010/09/04(土) 23:15:00
>>355=>>343=>>341
>>345
ごめんなさい。
まず何をどうすればいいですか?
・・・・OTL

>347
water effectでググったけど何が何だか・・・
まずは何をどうすればいいですか
・・・OTL
0357デフォルトの名無しさん2010/09/04(土) 23:33:39
Javaでウインドウ出して波を描画したいの?
それともアプレット?

つかJavaでプログラミングの知識どれくらいあんのあ?
0358デフォルトの名無しさん2010/09/05(日) 00:42:06
質問内容から見ても初心者だろうね。
03593412010/09/05(日) 01:16:31
Javaのプログラミングの知識はまったくありません。
プログラミングはビジュアルのつかないCとBASICをかじった事があるだけです。

>Javaでウインドウ出して波を描画したいの?
>それともアプレット?
この二つの違いすらわかりません。
0360デフォルトの名無しさん2010/09/05(日) 01:37:05
波紋みたいな表現をどう使えるようにしたいのか具体的に書けば、
何をどう勉強して何ヶ月くらいかかるかくらいは教えてやれるぞ
0361デフォルトの名無しさん2010/09/05(日) 05:20:27
変なマスクでもつけるのかな
0362デフォルトの名無しさん2010/09/05(日) 05:25:30
虎のマスクがいいな
0363デフォルトの名無しさん2010/09/05(日) 05:35:48
水をプリンのように固めたいんです!
03643412010/09/05(日) 10:00:55
http://up3.viploader.net/ippan/src/vlippan143277.jpg
えーと白黒画像から標高差を判断して3D化してくれるソフトがあって
それを使って水の波紋を作りたいんです。
右のカラーの画像が以前作ったけどうまく波紋が作れなかった画像です。

その白黒画像データを作りたいんです。
0365デフォルトの名無しさん2010/09/05(日) 12:25:56
 _, ,_
( ゚д゚ )
0366デフォルトの名無しさん2010/09/05(日) 13:25:40
日本語の勉強からやり直してきてくれ
0367デフォルトの名無しさん2010/09/05(日) 13:37:02
白黒画像から標高差を判断して3D化してくれるソフトで作った水の波紋の画像を
白黒画像にしたいってこと?
0368デフォルトの名無しさん2010/09/05(日) 13:57:19
// とりあえずこの↓メソッドで得られたColorで全ピクセルを埋めろ。
// フォトショかなんかでこれを回しながら3回イメージコピーすれば完成
// RATIOが1.0だと100px15Hzぐらいの波紋だろうから適当に調整

Color getPixColor(int x, int y){
 double distance = Math.hypot(x, y);
 double power = Math.sin(distance * RATIO);
 float rgb = (float)( (power+1.0) / 2.0 );
 return new Color(rgb, rgb, rgb);
}
0369デフォルトの名無しさん2010/09/05(日) 14:00:19
heightmapがほしい、でいいのか?
ぐぐれば出てきそうな感じもするけど。
03703412010/09/05(日) 14:02:37
えーと、うまく説明できなくてごめんなさい。

Javaでしたいこと:
3D波紋(Javaでいいのかな)かなにかで波の形をシミュレートさせて
シュミレート結果の高低差を白黒で表示させて
スクリーンショットか何かで白黒画像を保存したい


使用目的:
白黒画像から標高差を判断して3D化してくれるソフトで
3Dの水の波紋をつくる

です。すいません

0371デフォルトの名無しさん2010/09/05(日) 14:06:03
シミュレートとシュミレートの違いは?
03723412010/09/05(日) 14:07:09
シミュレートが正しい言い方でシュミレートは間違いです
0373デフォルトの名無しさん2010/09/05(日) 14:11:45
ImageMagic使え
終了
0374デフォルトの名無しさん2010/09/05(日) 14:21:51
>>370

>3D波紋(Javaでいいのかな)かなにかで波の形をシミュレートさせて

まずこれだけやってみたら?
0375デフォルトの名無しさん2010/09/05(日) 14:24:52
波の画像用意して3Dでプロット・・・かね
0376デフォルトの名無しさん2010/09/05(日) 15:50:35
ゲームを作ってるんだけど、

while(){
描画
thread.sleep
}

で描画が終わる前にスリープしちゃうのを直すにはどうすればいいですか?
0377デフォルトの名無しさん2010/09/05(日) 17:02:33
アクティブレンダリングでぐぐってみるとか
0378デフォルトの名無しさん2010/09/05(日) 17:17:22
助かった
03793392010/09/06(月) 13:01:55
>>344

「Previous Releases」ってとこは当然分かってるけど、
TCPTransport.javaは見つからない。。。
0380デフォルトの名無しさん2010/09/06(月) 18:33:34
>379
てけとーな回答でスマンかった。本当に1.4以前のソース(VMとかのソースも入ってる奴ね)が
見つからないや。
どうなってんだOracle。
0381デフォルトの名無しさん2010/09/06(月) 20:13:12
>>380
OpenJDKできたから、1.4とかのSCSLで公開してたのってやめたんじゃなかったっけか?
Oracle前からダウンロードできなくなってた気が……
0382デフォルトの名無しさん2010/09/06(月) 22:33:28
Exceptionって Serializable だけど、
これって、例外をチェーンすると内部的に使用している例外も漏洩するってこと?
つまり、互換性を維持しようとすると、
内部で使用しているだけのプライベートな例外クラスも変更できなくなるってこと?
しかし、これを嫌ってチェーンをしないと、スタックトレースが途切れて間違いの出所が分からなくなるし。
それとも、例外に関しては普通はSerializable関係の互換性は保たなくてOKなの?
0383デフォルトの名無しさん2010/09/06(月) 23:37:04
何語かよく分からんかったがソースうpってる海外サイトあるぞ。
解説付で・・・。
0384デフォルトの名無しさん2010/09/07(火) 00:08:39
>>382
Serializableだからといって何が何でも互換性を保たないといけない理由はないぞ。
ネットワーク越しの相手がいるときとか、オブジェクトを二次記憶に格納してるときといった、
バージョンをまたいでデータ構造を維持しないといけないときだけで、生存期間がプロセス
の寿命以下であることが明らかなら全く気にする必要はない。
0385デフォルトの名無しさん2010/09/07(火) 08:29:22
シリアライズ対応してない例外クラスを自動認識したコンパイラが
警告出すこともあるのが気分悪いんだよなー。

なので、例外クラス定義の前に

@SuppressWarnings("serial")

を入れとくのが吉。
0386デフォルトの名無しさん2010/09/07(火) 12:40:26
アーキテクチャから見直すべきレベルのシステム
Javaだからどうこうという話ではない
0387デフォルトの名無しさん2010/09/07(火) 19:23:49
>>382
例外を永続化する奴なんてそうそういないと思うし、あれはリモートコールとかしたときに
サーバ上で発生した例外をクライアント側に送って投げなおしたりするためのものかと思いますよ
0388デフォルトの名無しさん2010/09/07(火) 19:36:48
Hoge hoge = new Hoge();
Graphics g = hoge.getGraphics();
g.dispose();
hoge.dispose(); //エラー

hogeの方の開放はどう行えばいいのでしょう。
0389デフォルトの名無しさん2010/09/07(火) 19:40:51
行わなくてよいです。
03903882010/09/07(火) 19:52:45
>>389
頻繁に使うメソッドとかだと気になってしまいます。
これまではstaticやシングルトンでやっていたんですが、
通常のやり方でやってみたく質問しました。
0391デフォルトの名無しさん2010/09/07(火) 20:19:33
何もせずに放置しておき、GCに任せるのが通常のやり方です。
凝ったやり方は、Hogeがなにか非常に巨大だとか、複雑な処理が必要で構築に時間がかかるだとかいった、特別な事情がある場合だけでよいです。
03923882010/09/07(火) 20:38:26
>>391
まだそこまで進んでいませんが、
画面のスクロールの時のバックバッファとか心配です。

その凝ったやり方というのはどうやればいいのでしょう。
System.gc()やSystem.runFinalization()ぐらいしか見つかりませんでした。
GCにこのオブジェクトは必要ないと教えられれば、
その後のgcとかが有効になりそうですが。
03933882010/09/07(火) 21:16:16
連書きすみません。
nullを代入するのが、簡単で有効なやり方みたいですね。
確実ではなくても、破棄の優先度は上がってくれるみたいです。
0394デフォルトの名無しさん2010/09/07(火) 21:27:44
典型的な間違い
03953882010/09/07(火) 22:35:07
>>394
確保や破棄に負担がかかるからでしょうか。
↓のFoo.rand()でbarにnullを代入しなければ、
Foo.rand()の2回目以降の呼び出しでは、
1回目にnewしたBarが使いまわされ、負担が少ないとかでしょうか。

public Hoge(){
 Foo foo = new Foo();
 foo.rand();
 foo.rand();
}

public class Foo{
 public int rand(){
 int r;
 Bar bar = new Bar();
 r = bar.rand();
 //bar = null;
 return r;
}}
0396デフォルトの名無しさん2010/09/07(火) 22:49:19
なにがしたいんだ?
0397デフォルトの名無しさん2010/09/07(火) 23:27:51
よくhogeとかhageとかクラス、メソッド名で使うけどふざけてるんですか?
03983882010/09/07(火) 23:30:42
>>396
始めはC系でのfreeやdeleteをjavaではどうやるか知りたかったです。
ただそれはなく、null代入で擬似的になら行えるっぽいのですが、
>>394氏のそれによる副作用的なのが分かりません。

>>395のは同じクラスを頻繁にnewする場合の例で、
後処理にnullを代入するのとしないので、どう変わるかという質問です。
Barをnewした時、前のがあるならnewせず、負担が減るとか想像しました。

newで作られ続けるなら、nullで削除し続けるのと負担回数は変わらないので、
ならメモリ使用量の減る、削除をし続けるnull代入の方がいいかなと思いました。
0399デフォルトの名無しさん2010/09/07(火) 23:34:29
nullを入れるとjavaではガーベジコレクションされるよ
あと変数を値渡しか参照渡しのどちらかしたあととか
正直参照渡しと値渡しの違いはわかるけどどういうときがどっちになるかいまいちわからん
04003882010/09/07(火) 23:38:37
>>397
すみません、Hoge>Foo>Barと呼び出し順を表す意味もありました。
ちゃんとした名前の方が少しは分かりやすかったかもしれません。

>>398
間違えました、nullで削除し続けると、
newで作られ続ける分と合わせて2倍になりますね・・
0401デフォルトの名無しさん2010/09/07(火) 23:39:12
そろそろうざい
0402デフォルトの名無しさん2010/09/07(火) 23:40:49
Javaではメモリのことは考えないでいいよ
リークしたら再起動すればいいし
04033882010/09/07(火) 23:45:10
すみません、さらに長引きそうなのでスレを立ててそちらでやります。
教えてくださった皆様、ありがとうございました。
0404デフォルトの名無しさん2010/09/07(火) 23:52:21
>>402
長時間使うアプリだと命取りになるよ。
full gcが延々と動き続けてアプリが動かなくなる。

Apache Axis2がメモリリークしてて、
それに気付くまでどれだけ苦労したことか…
0405デフォルトの名無しさん2010/09/08(水) 07:07:11
↓のSQLite 使うとき「コネクション単位でスレッドセーフ」ということなん
ttp://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC
だけど、これの意味するところは Connection オブジェクトをスレッド間で
共有しなければスレッドセーフという解釈でいいんでしょうか?
要はThreadLocalでConnection持てば無問題と?
0406デフォルトの名無しさん2010/09/08(水) 11:27:32
読んでないけどその解釈でいいと思います
使うたびに接続・切断するとか、グローバルなコネクションプールを作るとかいった方法の方が一般的な気もしますが
ThreadLocalにするなら状況にもよるでしょうけれどSoftReferenceで包んだ方がいいかもしれません
DB使わなくなってもそのスレッドが生きてる限り接続しっぱなしで残り続けるのはあまり嬉しくないので
ThreadLocal<SoftReference<Connection>> みたいな感じで
0407デフォルトの名無しさん2010/09/08(水) 16:59:08
String,Date,Integer等、基本型のクラスを含んだHashMapのシリアライズ、デシリアライズは
JDK1.1〜1.6の間で問題なくデータ交換できるでしょうか?
0408デフォルトの名無しさん2010/09/08(水) 17:04:14
>>407
JDK1.1にはHashMapないから無理。
0409デフォルトの名無しさん2010/09/08(水) 17:42:50
javaって数値計算から自然言語処理まで
ありとあやゆる分野のlibraryがそろってるけど
なんでこんな充実してるの?

Cとperlに次ぐ豊富さだよね
0410デフォルトの名無しさん2010/09/08(水) 17:57:40
>>408
1.2〜1.6は問題ないですかね?
またこれからの1.7以降の保障はされるのでしょうか?
0411デフォルトの名無しさん2010/09/08(水) 21:58:01
>>410
HashMapクラスのserialVersionUID調べたら?
0412デフォルトの名無しさん2010/09/08(水) 22:16:49
>>407
とりあえず「基本型」とやらの内訳を出してもらおうか。
Threadの復元とかは無理だよ?
0413デフォルトの名無しさん2010/09/09(木) 06:49:47
javaでのアルゴリズムを学ぶのにオススメの本は無いでしょうか?

java+アルゴリズムと題名に入ったものはけっこうたくさんあるようですが・・
0414デフォルトの名無しさん2010/09/09(木) 07:11:08
明解Javaによるアルゴリズムとデータ構造
柴田望洋
出版社: ソフトバンククリエイティブ
0415デフォルトの名無しさん2010/09/09(木) 10:38:20
>>412
基本型改め、以下のクラスです。

・プリミティブに対応するクラス
・String
・ArrayList ※中味はここで上げたものしか含まずを想定
・MashMap ※中味はここで上げたものしか含まずを想定
・Date
0416デフォルトの名無しさん2010/09/09(木) 13:24:28
ArrayListとHashMapは1.2から。
それ以外にも基本的なレベルから隔たりがありすぎるので、さすがに1.1は切るしかない。
0417デフォルトの名無しさん2010/09/09(木) 14:50:03
>>415
Date, ArrayList, HashMap は writeObject の仕様が明記されてるから、
それにそった実装になってれば大丈夫なはず。
プリミティブ型のラッパは値一個しかもってないから問題出る可能性極めて少ない。
Stringは特別扱いでシリアライズ機構自体がStringのシリアライズ、デシリアライズを保障する。
そうでないとクラス名すら通らなくなる。
0418デフォルトの名無しさん2010/09/09(木) 18:22:01
Javaでselectが使えるようになったみたいですが、
selectで外部プロセスと通信(tcpやudpやunixドメインソケット)するだけでなく、
同一プログラムのthread間の通信も行うことできますか?

あるスレッドで外部との通信と他スレッドからの要求を、いっしょに処理できると
すごくプログラミングが楽になるのですが、なかなかjavaのselectの仕様が難しくて。

参考になるサイトかサンプルがあったら教えてください。
0419デフォルトの名無しさん2010/09/09(木) 18:33:46
Vector, Hastableを使えば問題ない。
java1.1からあるけど、別に遅いってわけでも使いにくいってわけでもない。
たまにVectorにめくじらたててる人がいるけど、そういう人に限って実際は癖でStringBufferばかり使ってStringBuilder使ってないし。
0420デフォルトの名無しさん2010/09/09(木) 18:50:18
>>414

ありがとうございます。amazonでも評価高いみたいですね
購入を検討します
0421デフォルトの名無しさん2010/09/09(木) 18:56:30
>>418
そもそも unix ドメインソケットは作れないので tcp と udp しかないけど、まぁできますよ
およそこんな感じです

SelectorProvider provider = SelectorProvider.open();
Selector selector = provider.openSelector();
SocketChannel channel = provider.openSocketChannel();
channel.connect(new InetSocketAddress("localhost", 12345));
channel.configureBlocking(false);
channel.register(selector, SelectionKey.OP_READ | SelectionKey.OP_WRITE);
for (;;) {
selector.select();
Set<SelectionKey> keys = selector.selectedKeys();
for (SelectionKey key: keys) {
Channel c = key.channel();
if (key.isReadable()) { c.read( ... ); }
if (key.isWritable()) { c.write( ... ); }
}
keys.clear();
}
0422デフォルトの名無しさん2010/09/09(木) 20:29:34
引数チェックにおける例外とアサーションの使い分けがわかんね
原則、public method の引数チェックには例外を使うというのは理解できるのだが

あるメソッドへの委譲メソッドが多くある場合は、
委譲先が private でもそこで引数チェックしないとコード中が引数チェックばっかりになる。

また、コンストラクタ等で防御的コピーを行う場合は、
コピー後にチェックしないとダメだけど(したがって、コピー前のチェックは無意味だけど)
コンストラクタまで引数チェックができないってことになると
public methodの境界で例外による引数チェックを行えば十分て話ではなくなる。
かといって、
「もう防御的コピーしてチェックしましたから、コンストラクタではそのままフィールドに入れて使ってね」
などということをすると、オブジェクトの整合性を保つためにクラスの外の協力が必要になることになり、
何のためのオブジェクト指向なのか良く分からない。

また、private なクラスだからといって、コンストラクタでアサーションを使っていると、
extends して publicにされた場合、親クラスのコンストラクタの前に例外によるチェックを入れるのが難しい
(そもそも、防御的コピーしてたら無駄)。
かといって、内部でしか使わないと分かっているちょっとしたクラスに対して
わざわざ例外によるチェックを入れるのも、馬鹿らしいほど無駄な作業に思えてくる。
拡張可能なパッケージプライベートのクラスのコンストラクタは、
そのパッケージ内で終始するのか、publicなサブクラスを作るかを決めないと
どっちを使えばいいのか判断できないってことか?

また、内部的にしか使わないprivateなinterfaceはその引数はpublicだが、
原則に従うと、その実装では例外による引数チェックが必要なのか?

臨機応変にチェックの方法を変えればいいということになると、
例外によるチェックがロジックの経路にちゃんと入ってるかどうかを手続き的に判断するって
難しいし、それって何てオブジェクト指向?もう、わけわかめ
0423デフォルトの名無しさん2010/09/09(木) 20:45:33
public class Calculate
{
public static void main(String [] args)
{


System.out.println("あ");
System.out.println("り");
System.out.println("が");
System.out.println("と");
}
}

できました
0424デフォルトの名無しさん2010/09/09(木) 21:03:23
>>422
にほんごでおけ
0425デフォルトの名無しさん2010/09/09(木) 23:36:26
>>421

サンキュウです。
thread間でもtcp/udpになるんすか...

C、というかUnixならプロセス間やスレッド間でもpipe使って通信できるし、
それを受けるのはselectで統一出来るんですけどねえ。

Javaでメッセージパッシング的なプログラミングってどうやるんだろ?
スレッド間、他プログラム間で縦横無尽にメッセージを送り合うようなプログラム。
0426デフォルトの名無しさん2010/09/10(金) 09:13:24
Java SEにアプリケーション間通信の仕組みあったっけ?
0427デフォルトの名無しさん2010/09/10(金) 09:59:11
>>406
ロングパスですがありがとうございます。
SoftReference ってものがあるんですねぇ
0428デフォルトの名無しさん2010/09/10(金) 10:17:41
>>425
スレッドAは専用のLinkedBlockingQueueを持ち、そこからメッセージを受け取って、何か処理をする
スレッドBはソケットからデータを受信し、それをJavaのメッセージに変換してスレッドAのLinkedBlockingQueueに放り込む
スレッドCは専用のLinkedBlockingQueueを持ち、スレッドAとかからメッセージを受け取りバイト列に変換してソケットから送信する

これでいいと思います
0429デフォルトの名無しさん2010/09/10(金) 13:17:11
Javaアプリで質問です。
最初にmainの中で作るアプリ本体の
インスタンスは、どういう理屈で
GCの対象とならないのでしょうか。
ググっても見つけられません。
0430デフォルトの名無しさん2010/09/10(金) 13:26:12
実行中のスレッドのローカル変数 (thisとか) から辿れると思います
0431デフォルトの名無しさん2010/09/10(金) 13:50:57
「アプリ本体」ってのがなんだか解らんが
GC-rootからJFrameまで、どうオブジェクト参照が繋がっているのかという話かな。

デーモンスレッド → イベントディスパッチャ → JFrame

とこんな繋がりじゃないかな。

デーモンスレッド全部殺せばJFrameも回収されるよ、たぶん。
0432デフォルトの名無しさん2010/09/10(金) 13:52:14
javaファイルからクラス図とシーケンス図を生成したいのですが
どんな手段が考えられますか?

クラス図の場合
クラス名やメソッド名はリフレクションで取得できそう。
ただ、関連の取得をどうすればいいのかわかりません。
0433デフォルトの名無しさん2010/09/10(金) 14:02:49
フィールドの名前と型もリフレクションで取得できるのでそれを関連ということにすればいいと思います
シーケンス図は実際に動作させたものをトレースするんでもなければかなり無理があるかと
0434デフォルトの名無しさん2010/09/10(金) 14:07:47
>>433
ありがとうございます。
確かにフィールド取得すれば集約の関係はできそうですね。
シーケンス図は字句解析して構文解析してがんばらないと難しそうですかね。
0435デフォルトの名無しさん2010/09/10(金) 14:17:26
>>426
ServerPort
0436デフォルトの名無しさん2010/09/10(金) 14:30:38
>>434
バイトコードインストゥルメンテーションの手法を使って各メソッドの入口と出口にログを埋め込み、
それを実際にJavaVM上で実行して、得たログから図を描けばいいんじゃない
0437デフォルトの名無しさん2010/09/10(金) 14:39:13
>>436
バイトコードインスツルメンテーションという手法があるのですか。初めて聞きました。
JavaVM上で実行してログを取るというのでイメージがつかめました。ありがとうございます。

ちょっとぐぐってきます。
04384282010/09/10(金) 19:14:24
こういう例です。
http://allabout.co.jp/gm/gc/80716/
インスタンスを生成したあと
mainは抜けてしまいますが、
何故GCはsampleappのインスタンスを
回収しにかからないのでしょうか。
04394292010/09/10(金) 19:15:25
428ではなくて429です。すみません。
0440デフォルトの名無しさん2010/09/10(金) 19:39:48
JFrameをsetVisible(true)で表示した時点で、そのJFrameインスタンスはAWT/Swingの中から参照されるようになるから
システムの中からであろうと参照されている限り回収されない
0441デフォルトの名無しさん2010/09/10(金) 21:12:05
なるほど...SwingやAWTですか。
ありがとうございます。
0442デフォルトの名無しさん2010/09/11(土) 00:21:43
>>426
RMI
0443デフォルトの名無しさん2010/09/11(土) 00:36:16
インタフェースに記述された契約のうち、メソッドが返すオブジェクトに対する契約について、
それを呼び出した側は、その契約が守られていることを盲目的に信じていいの?
たぶん、そんな楽観的なことはダメだと思うが、呼び出し側は自分を守るためにどう対処すればいいの?
AssertionErrorでも投げておけばOK?

例えば、ThreadFactoryのnewThreadメソッドはnullを返す可能性があることが明示されているが、
もし、これが必ず何らかのThreadを返すという契約だった場合、
これを使う側は、そのメソッドの返却値に対して、
盲目的にnullでないと考えて、例えばそのままスレッドプールの中に入れて良いのか、
(契約で縛っているのに)nullチェックをするべきなのか
そしてnullチェックをした場合に契約が破られていることを発見した場合どうするのか。

ワーニングでもログに残して何事も無かったかのように処理が進めるように使う側を設計するのか
(契約しているのに縛っているのに!)。
RuntimeExceptionの何らかのサブクラスでも投げるか。
でも、RuntimeExceptionのサブクラスなら、それを投げる可能性のあるメソッドは
それを契約として明示しておく必要があると思うが、
内部ロジックの深いところでnewTheradメソッドが使われていた場合、
例外の記述を発生する可能性の経路をたどって金太郎飴のように複数のメソッドの対して記述するの?
それも馬鹿馬鹿しいから、Errorのサブクラスでも投げておけばいいのかな。
0444デフォルトの名無しさん2010/09/11(土) 01:11:22
にほんごでおけ
04453392010/09/11(土) 02:46:37
>>383
どこそれ?
0446デフォルトの名無しさん2010/09/11(土) 03:14:27
>>443
どのぐらい堅固にしたいかによる。
すべての可能性を追っていたら�dでもないことになる。
0447デフォルトの名無しさん2010/09/11(土) 12:42:17
RubyのRailsみたいなフルスタックWebアプリフレームワークってJavaにはないですかね?
0448デフォルトの名無しさん2010/09/11(土) 15:00:11
groovyのGrailsは?
0449デフォルトの名無しさん2010/09/11(土) 15:16:46
Spring Roo
0450デフォルトの名無しさん2010/09/11(土) 16:17:05
>>447
Play!
0451デフォルトの名無しさん2010/09/11(土) 17:48:08
なんでJavaのフレームワークについて聞いてる人にGroovyとか言っちゃうの
0452デフォルトの名無しさん2010/09/11(土) 17:50:30
いや
もう.NETでいい
0453デフォルトの名無しさん2010/09/11(土) 22:36:44
>>449-450
どちらかに絞ってください
0454デフォルトの名無しさん2010/09/12(日) 02:46:38
Spring Rooってフルスタック?
0455デフォルトの名無しさん2010/09/12(日) 11:00:10
AWTでFrameにFrameをaddしてもFrameの中に子Frameが作られないで
独立して親Frameに束縛されないで子Frameが表示されるんだけどバグなの?死ぬの?
0456デフォルトの名無しさん2010/09/12(日) 11:42:18
>>455
http://java.sun.com/javase/ja/6/docs/ja/api/java/awt/Container.html#addImpl(java.awt.Component,%20java.lang.Object,%20int)
> IllegalArgumentException - ウィンドウをコンテナに追加しようとしている場合
04574552010/09/12(日) 12:55:22
>>456
なるほど・・・�d

でもこれって継承関係上すごい気持ち悪いな・・・

お前Componentじゃん?!Componentじゃん!!
0458デフォルトの名無しさん2010/09/12(日) 15:09:17
バグなの?死ぬの?
お前Componentじゃん?!Componentじゃん!!
0459デフォルトの名無しさん2010/09/12(日) 18:21:16
>>454
Spring Framework + Roo
04604552010/09/12(日) 18:26:10
Java Java Java Java♪
0461デフォルトの名無しさん2010/09/13(月) 15:45:51
>>459
Spring Framework と Roo はどういう関係?
あとSpring Frameworkにもいろいろあるよね?
0462デフォルトの名無しさん2010/09/13(月) 18:44:41
>>452
0463デフォルトの名無しさん2010/09/13(月) 18:47:46
文法→GUI→テトリスやマリオっぽい何か→デザインパターン

と勉強してきて、次に取り組むべきもん面白いもんを何か頼む
0464デフォルトの名無しさん2010/09/13(月) 19:56:36
ネットワーク
RSSリーダーとかどう
新しいニュースがあったら画面の上らへんにテロップ流してくれるようなの
0465デフォルトの名無しさん2010/09/13(月) 20:43:14
GWTかAndroidアプリ開発とかどうでしょ
0466デフォルトの名無しさん2010/09/13(月) 22:15:00
物理シミュレーション
0467デフォルトの名無しさん2010/09/13(月) 22:35:22
検索エンジン
0468デフォルトの名無しさん2010/09/13(月) 23:23:30
>>463
ライブラリ集めて自分でフレームワーク作るとか。

凝り性の人は結構はまる。
0469デフォルトの名無しさん2010/09/13(月) 23:26:27
try-catchについて質問します。
以下の場合、A()の中で、BExceptionが発生した場合、
�Aの処理がされるのでしょうか?
A()でthrows AExceptionと指定して、AException以外が起きた時の動作が
知りたいのです。

public static void main(String args[]) {
 try {
  try {
    A();
   } catch (AException) {
     System.out.println(A); …�@
   }
  } catch (BException) {
   System.out.println(B); …�A
 }
}

public void A() throws AException {
...
}
0470デフォルトの名無しさん2010/09/13(月) 23:39:38
>>469
A()でBExceptionが発生すれば�Aを通るだろ。
「throws AException」の意味についてはチェック済み例外、非チェック例外でググレ
04714692010/09/13(月) 23:48:47
>>470
ありがとうございます。
ググってみました。
感謝します。
0472デフォルトの名無しさん2010/09/13(月) 23:51:40
Javaフレームワーク開発入門 [大型本]
木村 聡 (著)

この本どう?
フレームワークに興味あって本を漁ろうにも
古いのばかりだったりで・・・。
0473デフォルトの名無しさん2010/09/13(月) 23:59:37
javaでファイルに参照ロック、および更新ロックをかける方法ってありますか?
0474デフォルトの名無しさん2010/09/14(火) 00:02:25
>>472
イラストの女の子がこわい
0475デフォルトの名無しさん2010/09/14(火) 00:23:22
amazonでサンプル見れるね。
リアル系なんだか萌えなんだかよく分からん絵がらだな。
0476デフォルトの名無しさん2010/09/14(火) 00:26:47
>>472
その本は自分も興味あるなあ
経験者の評価が聞きたいな。
0477デフォルトの名無しさん2010/09/14(火) 00:38:16
アーキテクトしてるけどamazonnのサンプル見た限りは良さそう。
基本的なレベルから説明してるから、新人に読ませたいな。
経験者にとっては当たり前すぎる内容で微妙だとおもた。
0478デフォルトの名無しさん2010/09/14(火) 00:50:11
おれも係長補佐代理見習いやってる
0479デフォルトの名無しさん2010/09/14(火) 00:52:25
俺サブリーダーやってる。
合計二名のプロジェクトだけどな!
0480デフォルトの名無しさん2010/09/14(火) 01:09:43
API仕様を見てて思ったのですが、Javaでサイズの大きなファイル(2GB以上)を扱う場合、
ランダムアクセスは無理(intの正値で絶対アドレスを指定する必要があるから)で、
シーケンシャルアクセスなら一応OSやファイルシステムの制限に引っかかるまで読める、
って認識であってますか?
0481デフォルトの名無しさん2010/09/14(火) 04:28:09
FileChannel#position(long)とか
0482デフォルトの名無しさん2010/09/14(火) 07:37:54
フレームワークって何?

あとEffectiveJAVAと独習JAVAって内容似てるの?
0483デフォルトの名無しさん2010/09/14(火) 08:46:49
RandomAccessFile#seek(long) だって int の制限にはひっかからんし。

実際問題、int の制限に引っかかるのって、
MappedByteBuffer でメモリマップドファイル使うときぐらいだと思うが。
FileInputStream が markSupported() で true 返す場合は
mark(int), reset() skip(long) で擬似ランダムアクセスする時も int の制限にひっかかるかも? と思うぐらいで。
もっとも FileInputStream#markSupported() で true 返す実装って見た事ないけど。
0484デフォルトの名無しさん2010/09/14(火) 09:57:24
480が何のクラスのAPI仕様を見てたのかが気になるな
0485デフォルトの名無しさん2010/09/14(火) 10:02:57
FileChannelとnio.Buffer使ってコーディングしてるんだけど、
FileChannel.MapModeで取得したFileChannelとBufferを参照渡しして
渡した先でposition操作しても、渡し元には反映されないのね。
ByteBuffer.allocateを使った場合はそんなことないのに。
0486デフォルトの名無しさん2010/09/14(火) 10:17:08
単純にどこかでミスっただけだろ。
04872112010/09/14(火) 10:30:25
はい
0488デフォルトの名無しさん2010/09/14(火) 11:08:06
>>485はポインタとインスタンスの概念がわかってない
0489デフォルトの名無しさん2010/09/14(火) 12:40:09
>>488
kwskおながい。
MapModeでバッファをマッピングする場合と
allocateでバッファを確保する場合の挙動の違いに
悩みまくり。

0490デフォルトの名無しさん2010/09/14(火) 13:01:10
>>464〜>>468

フレームワークの本探してみる、ども
0491デフォルトの名無しさん2010/09/14(火) 13:18:47
>>489
そういうのを知りたいならCをちゃんとやれ
0492デフォルトの名無しさん2010/09/14(火) 13:47:26
>>489
なにがわからないのか最小のコードで示してみれ
0493デフォルトの名無しさん2010/09/14(火) 18:45:41
情報系の専門学校ってJAVAに力を入れてるところがほとんどだって聞いたんだけど、
卒業するまでに何をやるの?何が出来るようになるの?
0494デフォルトの名無しさん2010/09/14(火) 19:09:56
>>493
学校による
0495デフォルトの名無しさん2010/09/14(火) 19:12:03
専門なんて>>494みたいな知恵遅れしかいない
0496デフォルトの名無しさん2010/09/14(火) 21:24:33
すみませんが、お知恵を。
javaで起動するプログラムがあって、同時に実行できるのは1つにしたい場合、
どのようにしたらいいのでしょうか?
どっかにlockファイルみたいのを作って、それがあったら起動しないとかって
手法ですかね?
環境はLinux、winを想定しています。

他になにかあったら教えていただきたいです。
0497デフォルトの名無しさん2010/09/14(火) 21:29:57
シングルトン
0498デフォルトの名無しさん2010/09/14(火) 21:41:33
>>481,483
ありがとうございました。やってみます。

>>484
Java.io.FileInputStreamとかそのあたりでした。
ググってみたんですが、JavaはLargeFileAwarenessが保障されないとか、
そういう話題しか見つけれなくて、最終的に
http://code.hammerpig.com/how-to-read-really-large-files-in-java.html
この辺を見て、シーケンシャルに読むのがいいのかなと思ったですよー。
0499デフォルトの名無しさん2010/09/14(火) 22:02:33
>>496
特定のポートでソケットをバインドしてみる
0500デフォルトの名無しさん2010/09/14(火) 22:18:46
>>498
>>480の、intの正値で絶対アドレス指定する必要がある、って
FileInputStreamのどのメソッドの事言ってんの?
0501デフォルトの名無しさん2010/09/14(火) 22:42:21
>>496
java 多重起動防止
とかでググれば分かるが、完全な方法はネイティブなAPIを呼ぶこと。
0502デフォルトの名無しさん2010/09/15(水) 01:08:29
JWSのAPI使っていいなら多重機動禁止あるけど
0503デフォルトの名無しさん2010/09/15(水) 05:53:06
>>497さんので正解です
0504デフォルトの名無しさん2010/09/15(水) 07:38:09
Javaでフレームワークって時代遅れだったりするの?
LL流行ってるっぽいけど
0505デフォルトの名無しさん2010/09/15(水) 08:54:42
>>504
使い方によるなぁ。
別にフレームワーク使っても問題ない。
0506デフォルトの名無しさん2010/09/15(水) 09:02:52
フレームワークって一口に言ってもなあ
swing自体だって広義のフレームワークだ
0507デフォルトの名無しさん2010/09/15(水) 10:13:47
LL流ってなんですか?
0508デフォルトの名無しさん2010/09/15(水) 10:56:29
漢字読めない子か
0509デフォルトの名無しさん2010/09/15(水) 11:00:18
1.5から実行中の全スレッドのスタックとレースが取得できるようになりましたが、
本来スタックにつまれているであろうローカル変数も合わせてダンプすることは出来ないものでしょうか?
0510デフォルトの名無しさん2010/09/15(水) 14:35:51
>>509
jmap
0511デフォルトの名無しさん2010/09/15(水) 15:11:38
便乗して…

任意のオブジェクトがどこのクラスの変数に参照されているかを調べることは出来ますか?
0512デフォルトの名無しさん2010/09/15(水) 15:13:00
Javaを今週から始めました
Androidのアプリ開発がしたいです
いきなりどのような道順で勉強したらいいでしょうか?
ifとかswtichなどの基本文法は習得しました
0513デフォルトの名無しさん2010/09/15(水) 15:26:26
HashtableとHashmapの違いが分からん
0514デフォルトの名無しさん2010/09/15(水) 17:04:44
>>511
jhatでも使ってみては
0515デフォルトの名無しさん2010/09/15(水) 17:08:06
>>513
Hashtableは同期化(synchronized)されている
HashMapは同期化されていない
0516デフォルトの名無しさん2010/09/15(水) 17:11:46
>>512
とにかく色々いじってみたら? わからないところは調べながら
まずは Eclipse と Android SDK をダウンロードしてインストール
0517デフォルトの名無しさん2010/09/15(水) 18:50:45
>>515
ども
05184962010/09/15(水) 22:05:30
では、>>497さんの方法で・・・うそです。

>>499,501
ありがとうございました。
0519デフォルトの名無しさん2010/09/15(水) 22:12:18
サーバー版の独習JAVAの評判ってどう?
0520デフォルトの名無しさん2010/09/15(水) 22:20:07
MSDN の Code Recipe のJAVA版みたいなものってありませんか?
0521デフォルトの名無しさん2010/09/15(水) 22:26:05
>>519
ありがとうございます。頑張って勉強します
0522デフォルトの名無しさん2010/09/16(木) 15:37:46
javaのプログラムを先輩から引き継いで改良中なのですが
Applicationで「マウスクリックでウインドウを開く」という動作で
クリック連打してウインドウをたくさん出現させるとウインドウを全て消した後に
ウインドウが開かなくなってしまうというバグが起きます。
これは解決できるものなのでしょうか?
0523デフォルトの名無しさん2010/09/16(木) 15:56:17
ウィンドウをすべて消したらクリックする場所が無くなるからじゃね
0524デフォルトの名無しさん2010/09/16(木) 16:03:55
クリックする場所はあるのですが・・・
アプリケーションにボタンがあってそれをクリックすると新たにウインドウが出る
というマウスイベントでそのウインドウをクリック連打でたくさん出すと
アプリケーション以外のウインドウを消した後にボタンをクリックしてもウインドウがでないというバグです。
0525デフォルトの名無しさん2010/09/16(木) 16:27:53
ソースコードも何もなけりゃ推測でしか答えられんが
ウィンドウを消したつもりでも実は非表示なだけで残ってて、それがメモリを食いつぶしてメモリ不足で新しいのを開けないとか
0526デフォルトの名無しさん2010/09/16(木) 16:46:52
なるほど・・・その可能性もあるのでもう少し調べてみます。ありがとうございました!
0527デフォルトの名無しさん2010/09/16(木) 18:13:51
就職の際にどんな業務でどういったシステムをどの言語なり分野なりで作っているのか分からん
とりあえずJAVAやC#を使ってるところをメインに就活してるけど・・・
大雑把にネットワークやらデータベースを避けてるだけっていう
0528デフォルトの名無しさん2010/09/16(木) 18:49:00
>>527
JAVAやC#は手段で、ネットワークやDBは目的。
そこをはっきりさせてから就活した方がいいかも。

俺ネットワーク関係のソフト作ってるけど、言語はJAVAやねん。
0529デフォルトの名無しさん2010/09/16(木) 18:54:13
ネットワーク関係のソフトを ”作ってる” と ”使ってる” じゃえらい違いだ

>>528
自分がその会社に入る前に読んだ本や身につけた技術の分野なりためになりそうな経験なりを教えてくれ
0530デフォルトの名無しさん2010/09/16(木) 19:50:12
こりゃだめだWW
0531デフォルトの名無しさん2010/09/16(木) 19:58:49
とりあえずその錯乱状態を何とかしろ。
会社の業務内容はその会社に訊け。
自分が何をやりたいかは自分に訊け。
他人に相談したいなら板違いだ。
0532デフォルトの名無しさん2010/09/16(木) 20:06:47
ところで専門学生って何をどんだけ学んでんだ?
JAVAをメインで教えてるとは聞いたが
0533デフォルトの名無しさん2010/09/16(木) 23:29:40
勘だけどStrutsの使い方だと思うよ
0534デフォルトの名無しさん2010/09/16(木) 23:42:35
専門学校→言語やライブラリの使い方
情報系大学→アルゴリズムや開発モデルなどのいわゆるソフトウェア工学
と思ってるんだけど,専門でもアルゴリズムとかソフトウェア工学までやるのだろうか?
0535デフォルトの名無しさん2010/09/17(金) 00:01:40
専門学校でそんなことやってんのか。
就職するためというよりはフリープログラマになるための講義だなそれじゃ。
0536デフォルトの名無しさん2010/09/17(金) 09:01:59
JavaやC#使う会社に就職したいのに、
ネットワークとDB避けるって、どんだけだよw
少なくとも、Webとメール関係のプロトコルや
オープンソースのRDBくらいは抑えておかないと仕事にならん。

最近は、Java屋にもJavaScript(jQueryとか)のスキルが
求められるし。
0537デフォルトの名無しさん2010/09/17(金) 09:10:40
大学ってプログラムの授業なんてほぼ皆無じゃないか?私Aランだけど
0538デフォルトの名無しさん2010/09/17(金) 09:13:06
>>536
それが出来る状態で卒業する専門学生ってたぶん1割も居ないと思う。
実際8割が使いものにならないガーベジコレクト対象者、残りがまだなんとか出来る奴、こんなもん。

いや勝手な想像なんですけどね
0539デフォルトの名無しさん2010/09/17(金) 09:17:57
>>538
まぁそんなもんだよね。

でも中には、学生だけどオープンソースのコミッタやってます
なんていう、珍しい人も応募してきたりする。
ブログの書き方とか、成果物のソース見れば、どんな人かとか
スキルセットの見当なども概ね把握できるから、そういう人は逃さず採用。

いやほんと、中にはスゴイ人いるよ。
入社してもらった後も、転職されないように待遇面とかモチベーションを
維持できる環境づくりとか、こっちも責任感じちまう。
ただでさえ、IT系とかSIerってだけで学生からは敬遠される時代に
なってしまったからな。
(というか、この業界自らが招いた結果的状況だけど)
0540デフォルトの名無しさん2010/09/17(金) 10:21:32
質問です、JAVAの開発環境を整えるためにシステムのPathの変数値を変更したいのですが、テキストの表記法が曖昧でイマイチ良く分かりません。
以下はテキストの写しです。

�Cこの変数値の末尾に「;」記号をつけ、その後に以下のようにテキストを追記してOKします。
%JAVA_HOME%\bin;(青字)

図1.13
    _____________________________________________
変数値 |%JAVA_HOME%;\bin;C:\Program Files\Java\lib\j|―――ここに�Cのテキストを追記する。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

って書かれてるのですが、一番右端のこれは見切れているのでしょうか?
あと、追記するのって結局青字の部分なのか、枠内全体なのでしょうか……。
宜しければご教授下さい。
0541デフォルトの名無しさん2010/09/17(金) 10:26:30
見切れるというのは見えてはいけないものが見えてしまうこと
0542デフォルトの名無しさん2010/09/17(金) 10:33:40
枠が・・・orz

見やすいように画像うpします。
http://iup.2ch-library.com/i/i0152963-1284687144.jpg
0543デフォルトの名無しさん2010/09/17(金) 10:46:40
まず、システムPATHがどういう意味を持つものなのかを
理解した方がいいと思う。
0544デフォルトの名無しさん2010/09/17(金) 10:56:28
>>543
コマンド検索パスの指定、でいいんだよね?
0545デフォルトの名無しさん2010/09/17(金) 12:03:47
本だけに頼るからそんな疑問が沸くんだ
PCで追いながら試せばええじゃん
0546デフォルトの名無しさん2010/09/17(金) 16:16:45
このスレって回答者は専門卒もしくは専門の奴がほとんどだと思ってたよ
0547デフォルトの名無しさん2010/09/17(金) 18:42:51
javaからマウスの左クリックや移動の操作ってできますか?
0548デフォルトの名無しさん2010/09/17(金) 18:46:46
見つかりました
java.awt.Robot
0549デフォルトの名無しさん2010/09/17(金) 19:40:09
よかったね
0550デフォルトの名無しさん2010/09/17(金) 19:53:47
めでたいな
0551デフォルトの名無しさん2010/09/17(金) 20:14:27
今日は赤飯か。
0552デフォルトの名無しさん2010/09/17(金) 21:32:09
おい専門卒の奴、学生の時に何を学んだか教えろください
0553デフォルトの名無しさん2010/09/17(金) 21:57:12
なにこいつw
恐い
0554デフォルトの名無しさん2010/09/17(金) 23:08:16
Java!!!!!
0555デフォルトの名無しさん2010/09/18(土) 04:26:05
次世代Javaっていつ頃リリースされそう?
0556デフォルトの名無しさん2010/09/18(土) 08:13:53
>>537
あってもコピペ提出か宿題スレかYahooだべ

趣味でやってるヤツぐらいしかコードは書けないね
0557デフォルトの名無しさん2010/09/18(土) 10:32:18
switchでIntegerがcaseのとこにつかえないんだけど
どうすればいいの?
0558デフォルトの名無しさん2010/09/18(土) 11:37:37
>>557
ソースみせて
0559デフォルトの名無しさん2010/09/18(土) 11:53:00
そりゃIntegerだと定数じゃないからだろ
0560デフォルトの名無しさん2010/09/18(土) 11:55:44
>>559
俺もそう解釈してたんだけど、なんかの条件満たすとIntegerでも使える気がする。
リファクタリングでコード移したら同じIntegerなのにエラーになった。
static finalとか?
0561デフォルトの名無しさん2010/09/18(土) 12:43:34
awtってあうとって読むの?素直にエーダブリュティーって読むの?
0562デフォルトの名無しさん2010/09/18(土) 12:46:08
>>561
えーだぶるちー
0563デフォルトの名無しさん2010/09/18(土) 20:03:51
>>561
あぶすとらくとういんどうつーるきっと
面倒なときはえいだぶりゅてー
0564デフォルトの名無しさん2010/09/18(土) 23:34:26
domで、
<body xmlns:ns="http://example/">
<sample name="ns:hello">
のxmlを読み込むとして、
"ns:hello"の"ns"だけを読み込む方法
てありますか?
0565デフォルトの名無しさん2010/09/19(日) 01:25:36
なんでjavaのimportってあんなに長いの?jp.co.・・・みたいなやつ。
おかげで無駄に階層が深くてアクセスしにくい。
0566デフォルトの名無しさん2010/09/19(日) 01:59:28
>>565
何と比較して長いの?
あれってインターネットのURLみたいなもんだろ
そう思えば、長いとも思わないのだが
0567デフォルトの名無しさん2010/09/19(日) 02:56:30
>>560
intは行けるがIntegerの所でコンパイルエラーが出る
Integerで行けるコード希望w

public class Hoge {
  private static final Integer STATIC_FIELD_INTEGER = 0;
  private static final int STATIC_FIELD_INT = 1;
  private final Integer FIELD_INTEGER = 2;
  private final int FIELD_INT = 3;
  
  void hoge() {
    final Integer LOCAL_INTEGER = 4;
    final int LOCAL_INT = 5;
    
    switch((int) (Math.random() * 6)) {
      case STATIC_FIELD_INTEGER: System.out.println(STATIC_FIELD_INTEGER); break;
      case STATIC_FIELD_INT: System.out.println(STATIC_FIELD_INT); break;
      case FIELD_INTEGER: System.out.println(FIELD_INTEGER); break;
      case FIELD_INT: System.out.println(FIELD_INT); break;
      case LOCAL_INTEGER: System.out.println(LOCAL_INTEGER); break;
      case LOCAL_INT: System.out.println(LOCAL_INT); break;
    }
  }
}
0568デフォルトの名無しさん2010/09/19(日) 03:04:29
>>567
enum 使いなよ
0569559=5672010/09/19(日) 03:37:27
いや、俺は557じゃないです。
560がIntegerで使える気がするって言うから、どういうコードならいけるのかな?と
0570デフォルトの名無しさん2010/09/19(日) 11:41:28
Visual Editorで画像貼り付けるにはどうしたらいいの?
あとプロパティ > icon > プロジェクトから選択
でなんでsrcフォルダ以下しか選択できないの?
05715702010/09/19(日) 14:26:34
自己解決
javaのグラフィックスの仕組みがようやくわかったわ
05725702010/09/19(日) 19:12:40
Java Java♪
やっぱJavaだわ
0573デフォルトの名無しさん2010/09/19(日) 20:57:15
皆さんはJavaでどういうの創っています?
0574デフォルトの名無しさん2010/09/19(日) 21:55:14
最初、踊るドクターという副題とヒガシ主演と聞いて侮ってました

どうもすいませんでした(´・ω・`)
0575デフォルトの名無しさん2010/09/19(日) 22:37:26
Javaで仕事してきて、
血迷ってプログラミング言語Javaを買って読み始めたけど、これけっこうムズいww
意気消沈wwwww
05763392010/09/20(月) 03:50:54
>>383
もう一回聞かせて。
どこそれ?
0577デフォルトの名無しさん2010/09/20(月) 12:19:29
質問なのですが
インクリメント・デクリメント
って1増やしたり1減らしたりの動作ですが
この動作ってどういうところで使われるのか教えてください
0578デフォルトの名無しさん2010/09/20(月) 12:34:57
>>577
数を数えるところ
0579デフォルトの名無しさん2010/09/20(月) 17:38:01
JAVA便利なのにやっぱり重いから一部の時代に取り残された低スペから物凄く嫌われてるよね(´・ω・`)
0580デフォルトの名無しさん2010/09/20(月) 17:55:05
(´・ω・`)しばくぞこら
0581デフォルトの名無しさん2010/09/20(月) 17:56:25
>>579
(´・ω・`)やんのかこら
0582デフォルトの名無しさん2010/09/20(月) 18:36:09
>>579
昔のJavaはすっごく重かったから、その頃のだけ使って、今は使ってないような人は
よくそういうこと言うよね。
0583デフォルトの名無しさん2010/09/20(月) 18:45:50
JavaのWebアプリとか最強に速いよな

0584デフォルトの名無しさん2010/09/20(月) 19:01:17
マーチ卒以上のプログラマってこのスレに居るの?
05855822010/09/20(月) 19:28:28
>>583
(´・ω・`)照れ
0586デフォルトの名無しさん2010/09/20(月) 22:04:12
僕のサブPCのpen3だとJAVAはとても重いよ。アプレットによってはブラクラさ(´・ω・`)
でもそんな化石使ってる人滅多にいないし、メインPCならサクサクさ(´・ω・`)
JAVA万歳(´・ω・`)
0587デフォルトの名無しさん2010/09/21(火) 00:16:24
Java steady state
ってなんですか?
0588デフォルトの名無しさん2010/09/21(火) 01:02:15
(´・ω・`)あ?
0589デフォルトの名無しさん2010/09/21(火) 02:01:57
vb6の後継者java
0590デフォルトの名無しさん2010/09/21(火) 09:24:38
Javaワールドってクラスライブラリやフレームワークの利用者に対して
それらの作成者と同等のオブジェクト指向に対する理解を要求するよね
それが全く現実に即してないから余計に糞コードが量産される
0591デフォルトの名無しさん2010/09/21(火) 10:48:08
それはJavaに限らんと思うが
0592デフォルトの名無しさん2010/09/21(火) 13:54:23
有名Webサイトからコピペしてきたコードが動きません。
$ java -classpath /usr/share/java/jogl.jar SimpleCube
Exception in thread "main" java.lang.NoClassDefFoundError: SimpleCube
Caused by: java.lang.ClassNotFoundException: SimpleCube
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: SimpleCube. Program will exit.

エラーめっサージが何を言っているのかさっぱりなのですが、何が悪いのでしょうか
ヒントだけでもいいので教えてください。とっかかりさえつかめません
0593デフォルトの名無しさん2010/09/21(火) 13:58:24
SimpleCubeクラスが見つからないと言っています。
クラスパスを指定しているので、カレントディレクトリがクラスパスでなくなったためではないでしょうか。
カレントディレクトリもクラスパスに含めればいいと思われ。
java -classpath .:/usr/share/java/jogl.jar SimpleCube
05945922010/09/21(火) 14:03:53
>>593
$ java -classpath .:/usr/share/java/jogl.jar SimpleCube
動いた\(^o^)/

なるほどカレントディレクトリもクラスパスにないといけないのですね。
まだまだ先は長い

0595デフォルトの名無しさん2010/09/21(火) 15:46:47
(´・ω・`)あ?
0596デフォルトの名無しさん2010/09/21(火) 18:10:51
javaを勉強するのにオススメの本をおしてえください
0597デフォルトの名無しさん2010/09/21(火) 18:15:27
(´・ω・`)あ?
0598デフォルトの名無しさん2010/09/21(火) 21:15:01
静的メソッドとインスタンスメソッドの違いでつまづいています。
class Sample {
  public static void main(String[] args) {
    String s = "125";
//    Integer obj1 = Integer(125); // NG
    Integer obj2 = new Integer(125); // OK
    Integer obj3 = Integer.valueOf(s); // OK
//    Integer obj4 = new Integer.valueOf(s); // NG
    int i = obj2.intValue();
    i += 10;
    System.out.println(i);
  }
}
/* end */
NG となる行、特に new valueOf() が NG なのが把握できないでいます。
static Integer valueOf(String s) では、内部で Integer クラスのオブジェクトが生成されると考えていいのでしょうか。
よろしくお願いいたします。
0599デフォルトの名無しさん2010/09/21(火) 21:39:06
静的メソッドはインスタンスを必要としないメソッドなので
> static Integer valueOf(String s) では、内部で Integer クラスのオブジェクトが生成される
というのは間違い。

newっていうのはそのクラスのインスタンスを作るためのしるしだと考えればいい。

> Integer(125); // NG
新しいインスタンスを作成したいのでnewが必要。

> new Integer.valueOf(s); // NG
これはIntegerの内部静的クラスvalueOfのインスタンスを作成する構文。
当然Integerクラスの内部クラスにvalueOfクラスが定義されていないのでエラーになる。
06005982010/09/21(火) 22:06:14
>>599
初歩の質問にお付き合いくだり、ありがとうございます。
言葉の問題だけかもしれませんが、では、

Integer obj3 = Integer.valueOf("123");

で obj3 が参照しているのは、なにになるのでしょうか?

Integer obj1 = Integer.valueOf("123");
Integer obj2 = Integer.valueOf("123");
Integer obj3 = Integer.valueOf("123");

と、おなじ引数で、異なるなる変数に valueOf() の結果を渡した場合、
obj1, obj2, obj3 の値は同じものでしょうか、別のものでしょうか、それともこの質問は意味のないものでしょうか?
0601デフォルトの名無しさん2010/09/21(火) 22:27:20
valueOfメソッドの実装について聞きたいの?それともJava一般で?
valueOfにはなんか罠があった気がするんだが忘れた。
0602デフォルトの名無しさん2010/09/21(火) 23:02:42
IntegerCache.cache[261]
0603デフォルトの名無しさん2010/09/21(火) 23:05:26
>>601
Java 一般で、で、お願いいたします。
たとえば、
int a = Integer.parseInt("123");
は納得できるのですが、おおざっぱに書いたとして、
SomethingClass obj = SomethingClass.StaticMethod();
に抵抗を感じました。
C++ の感覚をひきずっているだけなのかもしれません。
0604デフォルトの名無しさん2010/09/21(火) 23:08:01
>>603
staticメソッド内でnewしているケースがほとんど。
0605デフォルトの名無しさん2010/09/21(火) 23:09:47
IntegerCache.cache[251]だったorz
06065982010/09/21(火) 23:11:46
>>604
ありがとうございます。その線でしばらく学習を続けてみます。
0607デフォルトの名無しさん2010/09/21(火) 23:12:38
>>603
Integer.valueOfの場合はともかくとして一般的な場合で言うと
SomethingClass obj = SomethingClass.StaticMethod();
としておけばobjのはSomethingClass自身でもSomethingClassを継承したクラスでも良いというメリットがある。
0608デフォルトの名無しさん2010/09/21(火) 23:15:09
>>594
まてまてまて。
. で動いたのは、もしかして動かした場所の下に SimpleCube.class が置いてあるからとかじゃないのか?

jar コマンドで /usr/share/java/jogl.jar はちゃんと作った?
http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/solaris/jar.html
0609デフォルトの名無しさん2010/09/21(火) 23:20:35
>>603
>SomethingClass obj = SomethingClass.StaticMethod();
>に抵抗を感じました。

命名の問題な気がします。
HogeClass hoge = HogeClass.newInstance();
だったら抵抗なくね?
0610デフォルトの名無しさん2010/09/21(火) 23:24:45
>>596
「Head First Java 頭とからだで覚えるJavaの基本」

いいよ(´・ω・`)
0611デフォルトの名無しさん2010/09/21(火) 23:29:57
>>610
それアメリカ版amazonだとかなり評判いいよね、レビュー3桁
06126062010/09/21(火) 23:43:02
>>609
そうですね。まったくないです。delete とか書きそうです。^^);;
0613デフォルトの名無しさん2010/09/22(水) 00:29:53
そういえばstlはつかいづらいですよね。iostreamとか
0614デフォルトの名無しさん2010/09/22(水) 07:04:04
Cygwin32でgcjを使って次のプログラムをコンパイルしようとしているのですが
エラーが出て出来ません。
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
gcj -O2 -o Hello --main=Hello Hello.java
デフォルトでライブラリのパスが通ってないのでしょうか。
よくわかりません。教えてください。よろしくお願いします。
0615デフォルトの名無しさん2010/09/22(水) 08:15:32
>>614
ソースファイル名は?
0616デフォルトの名無しさん2010/09/22(水) 08:18:49
Hello.javaです。
0617デフォルトの名無しさん2010/09/22(水) 11:06:06
>>614
調べてみた
どうやら ecj.jar を手動でダウンロードしなければならんらしい
ftp://sourceware.org/pub/java/ecj-latest.jar をダウンロードして ecj.jar にリネームして /usr/share/java/ に置く
詳細は /usr/share/doc/Cygwin/gcc4.README を参照
0618デフォルトの名無しさん2010/09/22(水) 11:54:52
SUNのjavacでやるほうが簡単そうなのでそうします。
0619デフォルトの名無しさん2010/09/22(水) 11:57:10
そうしてください
0620デフォルトの名無しさん2010/09/22(水) 14:17:59
一人相撲スレはここですか?
0621デフォルトの名無しさん2010/09/22(水) 18:34:33
はいじゃないが
0622デフォルトの名無しさん2010/09/22(水) 19:12:30
うっほほ〜
0623デフォルトの名無しさん2010/09/23(木) 03:27:48
基本すっとばしてswingに手出して後悔してるおーどっからとりこぼしたかわかんねぇ死ぬ
0624デフォルトの名無しさん2010/09/23(木) 07:55:38
>>541
写真の画面からはみだしてしまった人をさす。
http://dic.yahoo.co.jp/newword?ref=1&p=%E8%A6%8B%E5%88%87%E3%82%8C%E3%82%8B&index=2006000009
0625デフォルトの名無しさん2010/09/23(木) 15:40:03
ajaxって流行ってんの?何をするときに使ってんの?
0626デフォルトの名無しさん2010/09/23(木) 15:58:22
private static Map map = new HashMap();

ってよく書くけど

private static Map map = new Map();

じゃ駄目な理由って何?
0627デフォルトの名無しさん2010/09/23(木) 16:07:18
interfaceはインスタンス作れない、と言語仕様で決まってる。
0628デフォルトの名無しさん2010/09/23(木) 17:16:07
>>626
すべてのメソッドがAbstractなクラスだと思えばいい。
つまり自身は実装したくなくて、文字通りインタフェースだけ定義したいんだよ。
0629デフォルトの名無しさん2010/09/23(木) 17:59:37
初心者でごめんなさい。
HPで画像をランダムで表セルの中に表示したいんだけど
表セルの中に表示するのはどうすればいいの?
0630デフォルトの名無しさん2010/09/23(木) 18:07:12
>>628
ちょっと違う気がする
0631デフォルトの名無しさん2010/09/23(木) 18:27:57
>>629
String[] imgs = new String[]{"image-url1", "image-url2", "image-url3"};
Random rnd = new Random();

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");

PrintWriter out = res.getWriter();

out.print("<td><img src=\"");
out.print(imgs[rnd.nextInt(imgs.length)]);
out.println("\"></td>");

out.flush();

}
0632デフォルトの名無しさん2010/09/23(木) 20:05:54
(´・ω・`)。。。
0633デフォルトの名無しさん2010/09/23(木) 20:57:19
JavaScriptでやったほうが簡単な気がする(´・ω・`)
サーブレットじゃないとダメなのかな。だったらごめんね。(´・ω・`)
0634デフォルトの名無しさん2010/09/23(木) 21:14:40
>>631
ありがとう
初心者のせいか細部があまり理解できなかった…ごめん

>>633
JavaScriptでやったらどうなります?
0635デフォルトの名無しさん2010/09/23(木) 21:39:49
フレームワークでメジャーなものを何個か教えてくれ
0636デフォルトの名無しさん2010/09/23(木) 21:43:16
暗にスレチ指摘なわけだが

>JavaScript, Ajaxの質問は、ここでは受け付けていません。
>Web製作管理    http://pc11.2ch.net/hp/
>Webプログラミング http://pc11.2ch.net/php/

>>634
google に「jquery イメージ ランダム」とでも聞いてみれ
0637デフォルトの名無しさん2010/09/23(木) 21:48:16
>>636
スレ違いだったのか
ごめん
0638デフォルトの名無しさん2010/09/23(木) 22:14:14
ECLIPSEで
import javax.swing.*;

としてもエラーとなります.
JAVAX.のあとで自動選択メニューにswingが含まれてないのです.

どうしたらよいでしょうか。
0639デフォルトの名無しさん2010/09/23(木) 22:15:52
>>638
エラーメッセージを読んで理解してみるとか
0640デフォルトの名無しさん2010/09/23(木) 22:18:08
答える気ない奴は出てけ
0641デフォルトの名無しさん2010/09/23(木) 22:29:16
じゃあ、エラーメッセージを読んでみるとか
06426382010/09/23(木) 22:36:39
640は俺じゃないので.

昨日からパスをいじり倒してたけど出来なかった.
で、今もう一回1から確認したら出来ました!自己解決、お騒がせしました.
0643デフォルトの名無しさん2010/09/23(木) 22:39:18
JavaWebStartで、jnlpファイルにresourcesでライブラリのファイル名を書きますが、
アプリケーションのアップデートで使用ライブラリが増減した場合に起動に失敗するようです。

おそらくデスクトップに出来るショートカットなどを叩いた場合、ローカルのjnlpが使用されるからではないかと思います。
一般的なJavaWebStartアプリケーションはこのあたりどのようにしてるんでしょう?

ライブラリは自作(というよりアプリ本体の複数jarファイル)と、apacheとかのライブラリを含みます
(他のライブラリを含む場合、ファイル名のバージョン番号などは消すべき?)。
0644デフォルトの名無しさん2010/09/23(木) 22:45:34
プログラミング言語Javaの練習問題難しすぎるんですけど
この本を褒めてる人たちって練習問題解いたんでしょうか?
0645デフォルトの名無しさん2010/09/23(木) 22:50:05
練習問題がないと何も出来ないのかお前は
0646デフォルトの名無しさん2010/09/23(木) 23:45:19
エクリプすでこんなエラーが出る.解決法教えてください

Internal Error (classFileParser.cpp:3161), pid=5756, tid=2096
Error: ShouldNotReachHere()

VM Arguments:
jvm_args: -Dfile.encoding=MS932 -Xbootclasspath/p:
D:\data\Documents\eclipse\android-sdk-windows\platforms\android-8\android.jar
java_command: jp.tuyano.eclipsebook3.SampleApp
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_21
CLASSPATH=.;C:\Program Files\Java\jdk1.6.0_21\lib\dt.jar;
C:\Program Files\Java\jdk1.6.0_21\lib\tools.jar

PATH=C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;
C:/Program Files/Java/jre6/lib/i386;
C:\Windows\system32;
C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;
.;C:\Program Files\Java\jdk1.6.0_21\lib\tools.jar;
C:\Program Files\Java\jdk1.6.0_21\bin
USERNAME=t
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 37 Stepping 2, GenuineIntel
0647デフォルトの名無しさん2010/09/23(木) 23:55:59
踏んではいけないdefault文とかをC++で踏んじゃった感じだなぁ。
06486462010/09/24(金) 00:07:12
JAVAの本に載ってたこんな簡単なサンプルなんだけど。。。

package jp.tuyano.eclipsebook3;

import javax.swing.JFrame;
public class SampleApp {



/**
* @param args
*/

public static void main(String[] args) {
JFrame f = new JFrame();
f.setSize(300,200);
f.setVisible(true);
// TODO 自動生成されたメソッド・スタブ
System.out.println("HELLO!!!!!");

}

}
0649デフォルトの名無しさん2010/09/24(金) 01:20:00
Javaで作成するとしたらどっち?

1:GUI
2:サーバーサイド
3:携帯アプリ
4:アプレット
0650デフォルトの名無しさん2010/09/24(金) 01:30:57
君が決めろ
0651デフォルトの名無しさん2010/09/24(金) 02:56:29
JPA2.0でcreateQueryやったら、どんなに簡単なクエリーでもSyntaxエラーになる。
正直使えない。
0652デフォルトの名無しさん2010/09/24(金) 06:23:27
>>649
かってにしろw
0653デフォルトの名無しさん2010/09/24(金) 07:12:09
AndroidにSwingがあるわけないだろ。
Androidがまったく想定してないことしてブートストラップライブラリ辺りをクラッシュさせた感じか?
0654デフォルトの名無しさん2010/09/24(金) 07:13:40
Androidって法律違反なんでしょ?
06556462010/09/24(金) 07:45:25
>>653
ファイル、新規、クラス
で、新規JAVAクラス で作ってるし、ANDROIDプロジェクトは選択してないんだが。
0656デフォルトの名無しさん2010/09/24(金) 07:51:20
ならeclipseを入れなおせとしか
0657デフォルトの名無しさん2010/09/24(金) 09:12:04
>>651
そんなことないんだが、使ってる実装なによ?
06586512010/09/24(金) 16:41:05
>>657
実装といわれてもピンとこない。netBeans6.9.1をインストールしたまま使ってる。
createNamedQueryは使えるから、そのクエリーを直接こぴぺしてcreateQueryしてみたらSyntaxエラーにならなかった。
コマンドプロンプトでは正常なクエリーでも、createQueryではSyntaxエラーになるものもあるから、かなりしんどいな。
0659デフォルトの名無しさん2010/09/24(金) 16:49:45
うざい死ね
0660デフォルトの名無しさん2010/09/24(金) 17:23:10
このスレ眺めてみると、かなりイライラしている奴が多いな
相当切羽詰っているんだろうなw
なんかすげー笑ったwww
0661デフォルトの名無しさん2010/09/24(金) 17:24:05
だってプログラマって基本低学歴(ry
0662デフォルトの名無しさん2010/09/24(金) 17:24:23
public class mtest{

public static void main(String[] args){
System.out.println("空きメモリ:"+
Runtime.getRuntime().freeMemory() );

DataSet[] data = new DataSet[100];

for(int i = 0; i < 100; i++){
data[i] = new DataSet();
System.out.println("生成済みインスタンス数:"+ (i + 1) + " 空きメモリ:"+Runtime.getRuntime().freeMemory());

}}}
class DataSet{
int x;
int y;  }   実行すると空きメモリが全く減らないのですがどうしてでしょう?
0663デフォルトの名無しさん2010/09/24(金) 17:36:41
>>660

>>654
0664デフォルトの名無しさん2010/09/24(金) 17:45:02
>>662
メモリ確保のオーバーヘッドを減らすために、最初にある程度大きめのメモリブロックを確保して、それを細切れに各インスタンスに割り当てていくから
-XX:-UseTLAB オプションを付ければその機能が無効になる
0665デフォルトの名無しさん2010/09/24(金) 17:50:30
そういえばエスケーポ解析は結局どうなったの?
0666デフォルトの名無しさん2010/09/24(金) 18:00:33
-XX:+DoEscapeAnalysis というオプションがあるらしい
0667デフォルトの名無しさん2010/09/24(金) 18:00:44
>>664
ありがとう 調べてみます
06686582010/09/24(金) 18:40:52
netBeans6.9.1で自動生成されるNamedQueryを参考にしながら、createQuery用のクエリーを作ったら、シンタックスエラーは出なくなった。
正直めんどくさいけど、まあいいや。ありがとう。
0669デフォルトの名無しさん2010/09/24(金) 20:01:31
文法GUI→テトリスやマリオっぽい何か→デザインパターン→ジェネリックやアノテーション等の復習
→フレームワークの基礎→Strutsを触ってみる

ウェブ系以外で次になんかない?
本でも何でもいいから取っ付きを・・・
0670デフォルトの名無しさん2010/09/24(金) 20:03:44
ajaxやTomcat以外でという意味です、あとAndroid方面も。
0671デフォルトの名無しさん2010/09/24(金) 20:16:55
RSSリーダー・・・・って前も言った気がするな
じゃあJOGLで3Dとかどう
0672デフォルトの名無しさん2010/09/24(金) 20:20:36
>>671
前も聞きましたすいません、RSSリーダーもいまいちピンと来なくて・・・。
0673デフォルトの名無しさん2010/09/24(金) 20:25:02
>>670

>>654
0674デフォルトの名無しさん2010/09/24(金) 21:18:46
Style.class == Style.BOLD.getClass()
Style.class == Style.BOLD.getDeclaringClass()

両者の違いは何ですか?
0675デフォルトの名無しさん2010/09/24(金) 21:27:58
型が違う
Style.BOLD.getClass() ・・・ Class<?>
Style.BOLD.getDeclaringClass() ・・・ Class<Style>
0676デフォルトの名無しさん2010/09/24(金) 21:29:51
どもです
0677デフォルトの名無しさん2010/09/24(金) 21:35:24
enum Style {
BOLD,
ITALIC{}
}
Style.class == Style.BOLD.getClass()
Style.class == Style.BOLD.getDeclaringClass()
Style.class != Style.ITALIC.getClass()
Style.class == Style.ITALIC.getDeclaringClass()
0678デフォルトの名無しさん2010/09/24(金) 22:50:26
文字入力だとimport java.util.Scannerとやったりして
メソッド利用の際の名前短縮してるけど
Mathクラスの円周率とかは直接Math.PIで参照できるのはフィールドだから?
何言ってるか自分でもよくわかってないのですが…
0679デフォルトの名無しさん2010/09/24(金) 23:28:45
>>678
Mathはjava.langパッケージのクラスだから。
0680デフォルトの名無しさん2010/09/25(土) 00:42:24
>>678
ファイルの先頭に import java.lang.*; が自動的に付くんだと思ってくれ
0681デフォルトの名無しさん2010/09/25(土) 02:06:20
jakarta commons とかを自作アプリに使いたい場合って、jarのまま使うのですか?
それともソースを混ぜて自ソースと一緒にjarにしてしまう?

後者の場合ライセンスとか問題ないんでしょうか?
0682デフォルトの名無しさん2010/09/25(土) 02:15:09
>>681
フリーソフトを自分で使う場合ライセンスが関わることは無いでしょう。
誰かに使わせたいけど、ライセンスを読みたくない場合は、使わせるのをあきらめましょう。
0683デフォルトの名無しさん2010/09/25(土) 02:34:07
>>682
いや、Apacheライセンスがゆるゆるなライセンスなことは知ってるんですが、
ソースからコンパイルしてソースを混ぜてしまうと、ソースに書いてある著作権表記とかは消えるわけですよね。

マニュアルとかREADMEファイルとかに「commons使ってるよーん」と表記するだけで良いようにも読めますが
これであってますか?
0684デフォルトの名無しさん2010/09/25(土) 02:59:44
>>683
ものによっては、license.txtをどっかにおいとけばいいいんだぜっ!ってやつなかったっけ?
0685デフォルトの名無しさん2010/09/25(土) 04:10:58
>>684
うん
0686デフォルトの名無しさん2010/09/25(土) 09:11:00
>>684
APL2.0ってそれじゃなかった?うろ覚えだけど
0687デフォルトの名無しさん2010/09/25(土) 11:53:28
Struts2で良書ない?てか本自体少ないんだが
0688デフォルトの名無しさん2010/09/25(土) 17:22:38
>>686
わかった
0689デフォルトの名無しさん2010/09/25(土) 20:17:35
Javaで音楽CDの再生はできますか?
できるようであればどのクラスを使用するかも教えてください。
0690デフォルトの名無しさん2010/09/25(土) 20:41:08
アイコン自体にD&Dする事で機能するクライアントアプリを
作成しJarからMac用にApp化したいのですが不可能でしょうか?
Jar BundlerでApp作ったのですがダメでした。
0691デフォルトの名無しさん2010/09/25(土) 20:55:21
>>687
ドキュメントを印刷すればいいだけ
0692デフォルトの名無しさん2010/09/25(土) 21:06:22
既存のプログラムの改良ってどんな風に行うの?
JAVA入門書とりあえず1冊読んだけど、ソースプログラムみてもわけわかめで
手が出せない。 演習的な本やったほうが良いのかな 
0693デフォルトの名無しさん2010/09/25(土) 21:16:29
それは、単に読んだだけで、内容を理解できてないってこと?
その入門書に載ってるソースプログラムもわけわからんの?
0694デフォルトの名無しさん2010/09/25(土) 21:57:13
>>692みたいに質問もろくにできない奴って相当頭悪いと思う
0695デフォルトの名無しさん2010/09/25(土) 22:01:05
>>694
表出性発達言語障害
http://www.youtube.com/watch?v=BnRNeDtme0g
0696デフォルトの名無しさん2010/09/25(土) 22:06:20
おまえじゃ無理
もう諦めろ
0697デフォルトの名無しさん2010/09/25(土) 22:41:05
本読んだだけでスキル習得とかゲームじゃねーんだぞ
0698デフォルトの名無しさん2010/09/25(土) 23:28:07
書かなきゃ上達しない派とできるだけ多くのソースコードを読め派が居るけど、
俺は後者の方が効率がいい気がしてならない
0699デフォルトの名無しさん2010/09/25(土) 23:30:09
>>692
入門書読んだだけでは確実に内容を隅々まで理解できていないので
色々と細かい点を変えたり試行錯誤して学習したほうがいいよ
0700デフォルトの名無しさん2010/09/25(土) 23:42:09
誰かJNIかJNAやっている人いる?
0701デフォルトの名無しさん2010/09/25(土) 23:54:39
ライブラリを使いこなせ派が最強
0702デフォルトの名無しさん2010/09/26(日) 00:09:07
JNIなら昔仕事で
0703デフォルトの名無しさん2010/09/26(日) 00:50:00
>>698
両方。わけもわからず書いても上達しないし、
読んだだけでは重要なところをスルーしかねない。
(CPUになったつもりで1ステップずつ追いかけるなら別)

やりたいことに似たコードをexampleとかから探してきて、
写経してデバッガで追っかけるとかやってるな。
0704デフォルトの名無しさん2010/09/26(日) 01:46:27
>>698
おれはオプソいろいろ読んで、似たコードを実際かいてみて練習。がいいと思う。いろいろやったがこれが一番上達した気がする。
初心者は、ソースの美醜が分かるようになると上達が速そう。
何年たっても上達しない人は、あまりキレイじゃないソースを「分かりやすくていい」とか言ったりする人が多い気がする。
0705デフォルトの名無しさん2010/09/26(日) 02:29:24
最初はとにかく書け,動くものをどんどん書け
自分の思い通りに書けるようになったら
他人のソースを読んでいろんな書き方を盗め
0706デフォルトの名無しさん2010/09/26(日) 02:41:49
誰か助けてくれいや助けて下さい

「任意の長さの、要素が全て600未満の整数値である配列 A[n] に色々な数値が入っているとして、
 A[n]の中の1個からn個までの要素を抜き出し、足し合わせて 結果が550になる組み合わせを列挙したい。
 ただし、400と320を加算する等して結果が600以上になった場合、加算結果を2で割らなければならない。
 すなわちただの合計値だけでなく、加算する順番も考慮しなければならない。」

こんな感じの内容を実現したいんだけど、どう計算させれば良いんだろうか?
{ 50, 50, 100, 150, 240, 260, 300, 500 } という配列が入力されたらば
{ { 50, 500 }, { 50, 240, 260 }, { 50, 50, 150, 300 }, ........って感じの二次元配列を返すように作りたい。

課題とか仕事とかじゃないんで期限納期がどうこうは無いんだけど
昨日から丸一日考えてもどう作れば良いかサッパリわかんね。あたまわるい自分に誰か教えておくれ
0707デフォルトの名無しさん2010/09/26(日) 02:45:14
ごめん書き忘れ

> 400と320を加算する等して結果が600以上になった場合、加算結果を2で割らなければならない
ここで、片方が奇数、片方が偶数だった場合は ***.5になるけど、これは小数点を切り捨てる、としたい。
0708デフォルトの名無しさん2010/09/26(日) 02:46:43
>ただし、400と320を加算する等して結果が600以上になった場合、加算結果を2で割らなければならない。
がよくわからない
2で割った結果が550となればいいってこと?(つまり合計値が1100でもいいの?)
0709デフォルトの名無しさん2010/09/26(日) 02:51:54
すべての組合せを生成して、条件をチェックしてみたら?
つまり、nビットの二進数を数え上げて、1が立っている位置に対応する要素を
調べるようにする。
0710デフォルトの名無しさん2010/09/26(日) 02:55:51
javaというかアルゴリズムの問題だよね
ざっとこんな感じかな

配列Aをソート
1:Aを大きい方から足していく
2:既定値となったら結果リストに追加して,最後に選んだ値を除く
3:既定値を超えたら,選んだ中で一番小さい値を除いて加算を続ける
4:最小値まで到達したらAから最大値を除いて再び1:から行う
0711デフォルトの名無しさん2010/09/26(日) 03:12:51
こんな夜中にみんなありがとう
>>708
400と320を足したら620、これは600以上である為、620/2 = 310 として扱われる、って事。
で、その後に240を足せば550になるな、って感じ

>>709
そもそも全ての組み合わせをどう作ったものか、って段階でかなり(自分の頭が)怪しいし
それに全部列挙するとなると仮に配列長が40あったとしたら、40 + 40*39 + 40*39*38 ... と、えらい数にならない?

>>710
ソートしてから大きいほうから足して行くのは、ただの加算だけなら良いんだけれども
大きい数字同士は 600以上になったら【その時点で】1/2するって約束が辛くない?
例えば { 50, 100, 150, 300, 800 } だと、要件を満たしてしまうから演算が止められない
0712デフォルトの名無しさん2010/09/26(日) 03:13:45
配列長はどのくらいなの
0713デフォルトの名無しさん2010/09/26(日) 03:16:35
連投ごめん、見返したら最初からキチンと書いてなかった
600以上になったら 2で割るって所、【越えた時点で2で割る】って事なんだ。
{ 200, 300, 300, 500} だったら
まず200と300を足して500、これは600未満だからそのまま
次に500と300を足して800、これは600以上だから2で割って400
更に400と500を足して900、これは600以上だから2で割って450
で、結論が450になる、そんな感じ。

書いててもう頭いっぱいになってまいりました
0714デフォルトの名無しさん2010/09/26(日) 03:20:31
>>712
任意の長さとして特に決めてはいないんだけれども……
真面目にやると凄い計算回数になるし、配列長 30個までが出来れば良いなと思ってます。
でも30の階乗とかもう数字じゃないわ
0715デフォルトの名無しさん2010/09/26(日) 03:22:13
(50, 50, 150, 300) と (50, 50, 300, 150) が両方出てもいいのかい
0716デフォルトの名無しさん2010/09/26(日) 03:23:53
独自の例外を、
Exceptionのサブクラスではなく、Throwableのサブクラスとして
定義した商用のパッケージを見かけました。(1.4です)

Throwableのサブクラスとすることに、どのような利点が考えられるでしょうか?
0717デフォルトの名無しさん2010/09/26(日) 03:26:08
>>715
問題無しです。気になったら最後の方で重複チェックすれば良いし
【超えた時点で2で割る】ルールがあるからnCmじゃなくnPm必須になるし……
0718デフォルトの名無しさん2010/09/26(日) 03:33:55
>>716
Exceptionだとキャッチできなかったんだろ。その商用パッケージ。
07197102010/09/26(日) 03:38:44
>>711
組み合わせの候補リストを追加すればいけると思う
07207162010/09/26(日) 03:40:20
>>718
すみません、自分の頭だと発言の意図するところを読み取れないです。。
もう少し、かみくだいていただけないでしょうか?
0721デフォルトの名無しさん2010/09/26(日) 04:34:55
>>711
40個だったら、40bitの整数を1から1ずつ増やしていけば2^40-1個全部数え上げられるよ。
やりたいことって、ナップザック問題の解の列挙だから、効率よく解けたら神レベル。
なので、安心して効率の悪いプログラミングに没頭できるよね。
もし、ちょっとだけ効率よくしたければ、ローカルサーチとかググればちょっと良くなるかも。
0722デフォルトの名無しさん2010/09/26(日) 04:50:16
>>720
ThrowableのサブクラスにErrorとかExceptionがあるのはOKだろ?
で、そのパッケージの該当箇所は、Error系ものをキャッチ→ハンドルしたかったんじゃない?ってこと。
0723デフォルトの名無しさん2010/09/26(日) 11:09:52
catch(Exception) とか書いてなんでもかんでもキャッチ・無視しちゃうダメプログラマ用の対策じゃね?
0724デフォルトの名無しさん2010/09/26(日) 11:35:41
SpringだかなんかのDIライブラリでErrorを投げる場合があった気がする。
global exceptionにErrorを書かなくちゃいけなかったりの。
たぶんそういうのを考慮して統一したんじゃないか。

>>723
プログラマは例外は基本キャッチしない方針で作ってるフレームワークだと思う。
0725デフォルトの名無しさん2010/09/26(日) 11:56:28
>>472の本、信じられないくらい不親切な入門書で笑った。

Strutsを使うとも明確に書いてないし(一応それでちょこちょこやってる)、バージョンすら書いてない。
しかもどこのどれに何を書くの「どこ」と「どれ」がないんだぜ・・・?
これで入門って冗談よせよ。
0726デフォルトの名無しさん2010/09/26(日) 13:20:08
>>719(710)
ごめん候補リストが何を意図してるか考えてたら寝てしまっていた

>>721
あああああああナップザック問題か!そう言われれば似てる!
わかったこの辺のアルゴリズム勉強して効率良いのを応用出来んか考えてみるよ
おれはかみになるんだ!
0727デフォルトの名無しさん2010/09/26(日) 15:11:26
文字出力するときにprintln("配列a[" + i + "]の値は" + a[i]);
こんな風にやらないと駄目?
C言語ではたしか後ろの部分に引数云々出来たけどjavaは出来ない?
0728デフォルトの名無しさん2010/09/26(日) 15:35:11
>>722-724
ありがとうございます。

ちなみに先に書くべきだったんですが、
class FooException extends Throwable
class FooApplicationException extends FooException
という感じで定義されています。
ユーザ側でアドオンのプログラム書けるパッケージでして、
アドオン作ってるときに、ふと疑問に思って質問しました。

>>722
Errorをハンドル、っていう可能性を全然考えていませんでした。
説明ありがとうございました。

>>723
ダメプログラマがcatch(Exception)と書くと、そこキャッチできなくなるので、
余計にマズいような気がします。
私も最初似たような理由なのかと考えたのですが、どうも違うような気がしています。

>>724
>例外は基本キャッチしない方針
おっしゃる通りだと思います。
「設計上エラーと例外を同じように扱いたいケースがあるため」
ということになるんでしょうか。
0729デフォルトの名無しさん2010/09/26(日) 15:43:05
>>727
System.out.printf
07307162010/09/26(日) 15:44:43
>>727
printfメソッド(1.5から)があるみたいですが、これはどうですか?
07317162010/09/26(日) 15:46:26
やべ、人に親切にされたから、自分も親切にしようと思ったら、被ったw
0732デフォルトの名無しさん2010/09/26(日) 15:53:35
>>728
雑魚の分際で死ねよ
0733デフォルトの名無しさん2010/09/26(日) 16:12:24
window.Hoge = {};
っていうのはnamespaceですか?
07347332010/09/26(日) 16:13:04
すみません
JavaScriptスレと間違えた
07357272010/09/26(日) 16:24:13
有難うございます
0736デフォルトの名無しさん2010/09/26(日) 16:32:31
>>704にあるような、コピーにおすすめのオプソを教えてくださいませんか。
0737デフォルトの名無しさん2010/09/26(日) 17:52:22
>>736
Tomcat

規模の小さいのがいいならcommons langとか。
これをジェネリスク対応にしていくw
0738デフォルトの名無しさん2010/09/26(日) 18:00:24
JAVA=ajax Tomcat みたいになってるよね最近
C#=.netみたいに
0739デフォルトの名無しさん2010/09/26(日) 18:26:54
JNAどうやって使うの?
0740デフォルトの名無しさん2010/09/26(日) 18:40:51
<>は何か特別な意味があるのでしょうか? 
プログラムを読み進めているのですが数行目で分からなくなりました。

Shell<DHT<String>> stdioShell = null;
の部分は Shell<DHT<String>>クラスをstdioShellで宣言してnullを代入している?などと考えたのですが、
そもそもクラスの宣言は Shell<DHT<String>> stdioShell = new Shell<DHT<String>> (引数)
のはずなので間違っている。上記の部分は何をしているんでしょう?
提示する情報が不足している場合はご指摘お願いします。

EclipceにおいてShell<DHT<String>>にマウスポインタを当てたところ、
Shell<DHT<String>>はow.tool.util.shellframework.Shell<DHT<String>>を指しているということがわかったので
該当のファイルを開いたところ、public final class Shell<T> implements Runnable, Interruptible {
といったクラスはあったのですが、Shell<DHT<String>>は見当たりませんでした。

プログラム一部

public static void main(String[] args) {
(new Main()).start(args);
}

protected void start(String[] args) {
Shell<DHT<String>> stdioShell = null;

stdioShell = this.init(args, System.in, System.out, true);
if (stdioShell != null) {
stdioShell.run(); // this call is blocked
}
}

ow.tool.util.shellframework.Shell<DHT<String>>
0741デフォルトの名無しさん2010/09/26(日) 18:45:31
>>740
ジェネリック
0742デフォルトの名無しさん2010/09/26(日) 18:56:10
素早い回答有難うございます。
ジェネリックスについて勉強します。
0743デフォルトの名無しさん2010/09/26(日) 19:41:51
Class<System> clazz = System.class;

の.classは何をしているメソッドなんですか?
ttp://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Class.html
↑での調べ方もよく分かっていませんが、それについてもお願いします
0744デフォルトの名無しさん2010/09/26(日) 19:52:30
何をお願いしますんだ?w
0745デフォルトの名無しさん2010/09/26(日) 20:13:19
>>743
メソッドではなくてクラスリテラルといいます
Systemクラスを表すClassオブジェクトが欲しいときにSystem.classと書きます
0746デフォルトの名無しさん2010/09/26(日) 20:34:16
ありがとうございました
0747デフォルトの名無しさん2010/09/26(日) 23:34:32
複数のクライアントと一つのサーバの間で、以下の機能をsocketプログラミングで作りたいと考えています。

クライアントがサーバにファイルをアップロードすると、
サーバは接続済みの全てのクライアントにそのファイルを流す。

これを実現するためのサーバ側のコードで悩んでいます。
まずアップロードされたファイルを受け取るためにソケットからinputStreamを取得しますが、
これを各ソケットのoutputStreamに流す時に、どのように実装すればいいのか分かりません。

一つのinputStreamをfor文で複数のoutputStreamに流そうとしても、最初のoutputStreamにしか流せないようです。
これはinputStreamが内部でどこまでデータを取り出したかを管理(?)してるからでしょうか。

他の案としては、一時的なファイルを作ってしまってそのファイルを複数のソケットが読めばできそうですが
どう考えても良いやり方とは思えません。

結局、巨大なbyte配列で一時的にデータを溜めるぐらいしか思いつきません。

何かよい方法は無いでしょうか。
0748デフォルトの名無しさん2010/09/26(日) 23:49:04
既視感わらた
0749デフォルトの名無しさん2010/09/27(月) 00:17:38
>結局、巨大なbyte配列で一時的にデータを溜めるぐらいしか思いつきません。
が1番スマートじゃないの?
配列長は巨大にする必要ないけど
0750デフォルトの名無しさん2010/09/27(月) 00:24:34
なにこいつw
やっぱ「ゆとり」は違うわw
0751デフォルトの名無しさん2010/09/27(月) 00:51:13
ゆとり
ゆとりま
ゆとらごん
0752デフォルトの名無しさん2010/09/27(月) 01:09:43
イオナデン
0753デフォルトの名無しさん2010/09/27(月) 01:12:12
>>34
0754デフォルトの名無しさん2010/09/27(月) 01:34:57
int ≠ ちんこ
0755デフォルトの名無しさん2010/09/27(月) 01:42:19
String ≒ ちんこ
0756デフォルトの名無しさん2010/09/27(月) 02:22:36
velocity でリストを逆順にループする方法ってなんかありますか?
$hoge.reverse($hogeList) みたいのを探したんだけどないお・・
0757デフォルトの名無しさん2010/09/27(月) 10:30:15
>>756
when postfixed to a column name the DESC keyword means descending order.
http://velosurf.sourceforge.net/vtl-reference.html#entity.order
0758デフォルトの名無しさん2010/09/27(月) 11:11:51
ジャバをちゃんとやるには英語が出来た方がいいんですか?
ウンコとかチンコじゃダメなんですか?
0759デフォルトの名無しさん2010/09/27(月) 11:38:27
ウンコとかチンコでいいですよ
0760デフォルトの名無しさん2010/09/27(月) 13:26:03
実際ウンコとかチンコと変わらんよ
プログラミング関連の英語なんか英語というより記号みたいなもん
ドキュメントとかは慣れれば英語そんなにわからなくても十分読める
0761デフォルトの名無しさん2010/09/27(月) 14:08:16
>>760を呼んで希望がわいてきたもうちょっと生きようと思ふ
0762デフォルトの名無しさん2010/09/27(月) 14:15:21
じゃあマイクロソフトは巻き糞とかチンカスとかでいいですか?
MSDN日本語版の説明はいつも意味不明ですよね?
0763デフォルトの名無しさん2010/09/27(月) 14:15:53
将棋の駒の動きはどんなコードを書いたらできるんでしょ?
0764デフォルトの名無しさん2010/09/27(月) 15:16:16
>>762
あるだけマシ
Javaのはもともと解説一行だから丁寧に訳せるんだよ
0765デフォルトの名無しさん2010/09/27(月) 18:07:44
理系AランTOEIC750ですが英語で読むのきついです
0766デフォルトの名無しさん2010/09/27(月) 18:08:34
C#とJAVAの強み弱み大きな違いを教えろ
0767デフォルトの名無しさん2010/09/27(月) 18:42:27
>>766
死ねよチンカス
0768デフォルトの名無しさん2010/09/27(月) 19:32:40
ttp://www.yahoo.co.jp/
Yahooのトップページの各枠を1つのMVCとして実装し、
各枠のhtml生成が終わったのちに、テンプレートを基にしたhtmlに出力するような
フレームワークってないでしょうか?
(枠の数はDBの設定等により動的に変わります)

Strutsのtilesを調べたのですが、各枠用のJSPが固定なため
いまいちです(状況によりhtmlを変更したい)

なにかおすすめありましたら教えてください
0769デフォルトの名無しさん2010/09/27(月) 19:53:18
>>750
0770デフォルトの名無しさん2010/09/27(月) 19:56:08
>>768
>>117
0771デフォルトの名無しさん2010/09/27(月) 20:15:03
>>768
wicket,xmlc
0772デフォルトの名無しさん2010/09/27(月) 21:06:51
>>757
師匠!それはvelosurfです!
それにSQLにDesc書けばおk、とかじゃなくて単純に逆順ループをしたいでござうr
07737572010/09/27(月) 21:27:05
>>772
じゃあSortTool
0774デフォルトの名無しさん2010/09/27(月) 21:37:52
やっぱ「ゆとり」は違うわw
0775デフォルトの名無しさん2010/09/27(月) 22:11:50
もうめちゃくちゃ
0776デフォルトの名無しさん2010/09/27(月) 23:56:50
めちゃくちゃにしてえっ・・・!
0777デフォルトの名無しさん2010/09/28(火) 00:28:26
>>773
ソートじゃねぇ、逆順にしたいだけなんだ・・!
もう自作のReverseToolつくったは・・
0778デフォルトの名無しさん2010/09/28(火) 04:55:14
確かに逆順は自分で作った方が質の良いものができそうだな。
0779デフォルトの名無しさん2010/09/28(火) 10:13:53
作ったと言っても、中身はjava.util.Stackに出し入れするだけの単純なものだろ?
0780デフォルトの名無しさん2010/09/28(火) 11:10:26
jdbcのbatch処理で1000件のinsertを送っても、バッファエラーが起きずに成功するものでしょうか?
またその辺の仕様の取り決めってあったりするでしょうか?
0781デフォルトの名無しさん2010/09/28(火) 11:22:26
仕様は特に無さそうな気がする
心配ならSQLExceptionとOutOfMemoryErrorをキャッチしてバッチあきらめ処理に切り替えておけば大抵大丈夫なんじゃないか
0782デフォルトの名無しさん2010/09/28(火) 17:12:19
Javaでx^2-2x-3=0の解をニュートン法で求めたいのですがどういうプログラム書けば良いのですか?
0783デフォルトの名無しさん2010/09/28(火) 17:26:07
まずニュートン法はどこまで理解していて、どこからわからないのか。すべて理解しているのか。
Javaはどこまで理解しているのか、どこがわからないのか。
あなたのいっているプログラムでどこまでできてどこがわからないのか。
具体的に書かないと、ぐぐってきた、テキトーなサンプルを貼り付けられておしまいですよ
07847822010/09/28(火) 17:39:46
Javaはまったくの初心者です;
0785デフォルトの名無しさん2010/09/28(火) 17:50:49
じゃぁニュートン法は理解しているものとして、
http://d.hatena.ne.jp/thilogane/20100227/p2
あたりみて、Java的にわからない箇所があったら「ここがわからん。」っていうと回答しやすいんじゃない?
リンクは、あなたが問題にしている式と似た2次方程式だからやり方もほとんど同じになると思います。
0786デフォルトの名無しさん2010/09/28(火) 18:02:29
>>782
ヤフれ
07877822010/09/28(火) 18:19:43
うーん・・さっぱりわからない・・・
0788デフォルトの名無しさん2010/09/28(火) 18:24:55
>>780
普通なら1000件のinsertくらいでエラーは起きない
0789デフォルトの名無しさん2010/09/28(火) 18:29:49
DBのエラーって、そもそもどういう時に起こるんだ?
バッファエラーってのは、Java側?DB側のチューニングの問題?
07907852010/09/28(火) 18:31:13
>>782
あ、リンク、3次方程式だった。。

リンク先がさっぱりわからないのなら、
ニュートン法を理解していないのか、Javaがまったく読めないのか。と推察します。
仮に「Javaがまったく読めない」のだったらJavaの基礎的なところを解説したサイトがあるのでそちらを参考にするとよいかと思います。
0791デフォルトの名無しさん2010/09/28(火) 19:11:33
swingのツリーの任意のノードにアプリケーション側からクリックイベントを発生させたいのですが方法はありますか?
0792デフォルトの名無しさん2010/09/28(火) 19:23:52
あれをcloseしてなくて1000件くらいでエラーになることはあるoracleとか
0793デフォルトの名無しさん2010/09/28(火) 19:56:38
ニュートン法かどうか解らんけど
java.awt.QuadCurve2D に二次方程式解かせることできるよー。
三次は CubicCurve2D ね。

なんでjava.lang.Mathに無いのかはよくしらん。
最近のGPUは方程式解く機能があるんだっけ?
0794デフォルトの名無しさん2010/09/28(火) 20:01:45
java.awt.geomだったゴメン
0795デフォルトの名無しさん2010/09/28(火) 20:02:23
ライブラリ主義コンプリートってのが典型的ジャバ信者
0796デフォルトの名無しさん2010/09/28(火) 20:46:17
>>791
「任意のノードとやらに相当するTreePathを作ってあげて
JTreeのfireTree***()に渡してあげるジョブ」を
イベントディスパッチスレッドに投入するといいんでないかい?
0797メソッドの引数としてクラス名とインスタンス名を使用2010/09/28(火) 21:45:41
Javaの超初心者です。
ご教示の程よろしくお願いします。
(本文が長すぎるようなので、2度に分けて投稿します)

入門書を参考にして以下の2クラスを作成しました。
transferメソッドの第一引数は「型+変数」なので教科書どおりで理解できるのですが、
第二引数が「クラス名+インスタンス名」となっています。
なぜ、このような書き方が可能なのでしょうか?
(いろいろな文献にあたったのですが、このような書き方についての解説が見つかりませんでした)


public class OOPSample {

    public static void main(String[] args) {
        Account fromAccount = new Account(12345, 10000);
        Account toAccount = new Account(67890, 10000);
        fromAccount.transfer(1000, toAccount);
    }

}
0798メソッドの引数としてクラス名とインスタンス名を使用2010/09/28(火) 21:46:52
public class Account {
    int id;
    int balance;
    
    Account(int id, int balance){
        this.id = id;
        this.balance = balance;
    }
    
    String info() {
        return "口座番号:" + this.id + "残高:" + this.balance + "円";
    }

    void transfer(int amount, Account toAccount){
        this.balance -= amount;
        toAccount.balance += amount;
        System.out.println("送信金額:" + amount + "円");
        System.out.println("送信元 " + this.info());
        System.out.println("送信先 " + toAccount.info());
    }
    
}
0799デフォルトの名無しさん2010/09/28(火) 22:02:49
そんなところでつまずいてるんじゃそもそも向いてないんだろう
0800デフォルトの名無しさん2010/09/28(火) 22:08:14
void transfer(int amount, Account toAccount)

ここか?
変数宣言のときも
Account toAccount;
って書くから、値がインスタンスってのは言語のルールでしょ
0801デフォルトの名無しさん2010/09/28(火) 22:18:09
>>797
クラスも型なのでクラス名は型名です
インスタンス名というものは無く、それはインスタンスを指しているだけのただの変数です
従って Account toAccount というのは、Accout 型の toAccount という変数です
おk?
0802メソッドの引数としてクラス名とインスタンス名を使用2010/09/28(火) 22:40:24
皆さん、ご教示とご意見、ありがとうございます。

>>799
勉強を始めてから未だ3日目なので適性判定はご容赦を。
Javaの初仕事が目前に迫っているので、どうしても習得せねばならないのです。
当方、COBOLとPL/Iなら得意なのですが、オープン系の言語は初めてでして…

>>800
そこです。
値がインスタンスというのはJava言語のルールなのでしょうか。
済みませんが、いま一つ分かりません。
しかし、余りにも基礎的なことのようなので、もう少し参考書類を探してみます。

>>801
クラスも型なのでしょうか。
当方が持っている参考書では、変数の型とは「データをメモリに記憶する方法を定めたもの」であり、
int,long,float,double,char,boolean,Stringが一覧表で示されています。
教えていただいた内容は、ちょっと禅問答のような感じです。

いずれにせよ、皆さん、貴重な時間を割いていただいて、どうもありがとうございました。
いろいろなヒントを教えていただいたと思います。
感謝!
0803デフォルトの名無しさん2010/09/28(火) 22:43:24
>>802
それなら1年ぐらいロムってたらどうですか?
0804デフォルトの名無しさん2010/09/28(火) 22:47:45
オープン系の言語ってなんだよw
Javaはオラクルが全権掌握してるから単に言語としてはCOBOLの方がオープンだよ
0805デフォルトの名無しさん2010/09/28(火) 22:54:12
当方、COBOLとPL/Iなら得意なのですが、オープン系の言語は初めてでして…
0806デフォルトの名無しさん2010/09/28(火) 22:55:28
富士銀行系ですから
0807メソッドの引数としてクラス名とインスタンス名を使用2010/09/28(火) 22:55:57
>>803
ご意見ありがとうございます。

しかし、突然Javaの仕事をすることになってしまい、
なるべく早く習得しなければならない羽目になっています。
それで、焦燥感に駆られて質問を書き込んでしまいました。
1年は待ってられない感じなんです。
「値がインスタンス」とか「インスタンスを指しているだけのただの変数です
従って Account toAccount というのは、Accout 型の toAccount という変数」
の意味が分かるような解説書やWebサイトをもしご存知でしょうか?
ご存知でしたら、是非ともお教えください。
0808デフォルトの名無しさん2010/09/28(火) 22:59:14
>>802
>int,long,float,double,char,boolean,Stringが一覧表で示されています。

Stringはクラスだよな?
0809デフォルトの名無しさん2010/09/28(火) 23:01:52
「データをメモリに記憶する方法を定めたもの」という意味ではクラスも型
静的言語でクラスを型と呼ぶのは結構一般的
0810デフォルトの名無しさん2010/09/28(火) 23:06:25
Javaの初仕事が目前に迫っているので、どうしても習得せねばならないのです。
0811 [―{}@{}@{}-] デフォルトの名無しさん2010/09/28(火) 23:09:15
インスタンスの意味を理解すればその文章の意味も分かるんじゃないかな
0812デフォルトの名無しさん2010/09/28(火) 23:09:31
PL/Iが本当に得意ならJavaやオブジェクト指向なんかは一週間あれば余裕で習得できますよ
0813デフォルトの名無しさん2010/09/28(火) 23:11:05
勉強を始めてから未だ3日目なので適性判定はご容赦を。
0814メソッドの引数としてクラス名とインスタンス名を使用2010/09/28(火) 23:12:14
いつの間にか、たくさんの方にコメントをいただいてしまいました。
ありがとうございます。

>>808
さっそく参考書を調べたところ、「Stringクラスは、char型の配列をフィールとして
持つクラスです」との一文がありました。
とりあえず、この付近の文章を読んでみます。

>>809
禅問答っぽいですが、ヒントになりそうです。
(クラスなる言葉が出てくる言語は初めてなもので…)
いただいたコメントを何度も読んで、噛締め、咀嚼してみます。
0815デフォルトの名無しさん2010/09/28(火) 23:13:02
じゃあコツを教えよう
クラスは関数の飾り。インスタンスメンバは使うな。変数もメソッドも全部staticにしろ。
基本型以外は使うな。入出力はおまじないだから余計なことは考えず参考書からコピペしろ。
0816メソッドの引数としてクラス名とインスタンス名を使用2010/09/28(火) 23:30:02
たくさんのコメントありがとうございます。

>>811
クラスは「ある処理に関するデータと処理内容をまとめて定義した設計書のようなもの」で
インスタンスは、その実体、という認識です。
しかし、まだ本当には理解しきれていないのでしょう。

>>812
励まし、ありがとうございます。
確かにCOBOLと比べればPL/Iの方がJavaに似た感じです(ぱっと見た目の話ですが)。
ですが、まだまだJavaの本質が「掴めていない」ように思います。

>>815
アドバイス、ありがとうございます。
まだまだピンと来ないJava用語が多いので、勉強します。
0817デフォルトの名無しさん2010/09/28(火) 23:41:36
個人的な事情をいちいち書いて言い訳がましい感じになるとうざがられるだけ
ですよ。
あとやたらへりくだる慇懃無礼な感じとかもね。
0818デフォルトの名無しさん2010/09/28(火) 23:41:50
引数の型で悩んだことないなぁ

Cとかやったら発狂しそうだな 関数のポインタとかで。
0819メソッドの引数としてクラス名とインスタンス名を使用2010/09/29(水) 00:02:23
>>817
了解。
確かにそうでした。
0820デフォルトの名無しさん2010/09/29(水) 00:17:04
付け焼き刃でいくなら >>815
ただし後々痛い目に遭うこと間違いなし
0821デフォルトの名無しさん2010/09/29(水) 00:26:48
COBOLは文字型しかないとは聞いたことがあるが、
3日掛けて型と変数がわからないってレベルのそんなかけ離れた言語だったのか。
0822デフォルトの名無しさん2010/09/29(水) 00:31:12
java VB COBOL
0823デフォルトの名無しさん2010/09/29(水) 01:15:07
>>821
そんなことないよ。
かなりきめ細かく指定できる。

<数字はすべて十進1けたを1バイトの数字で表現する属性>
 PIC XXX 英数字3文字(3バイト)
 PIC X(256) 英数字256文字(256バイト)
 PIC 9(5) 数字5文字で十進5けたの符号なし整数を表す(5バイト)
 PIC 999V99 数字5文字で十進整数部3けた、小数部2けたの符号なし数を表す(5バイト)
 PIC 999PPP 数字3文字でその下に3けたの仮想的なゼロを補った数値を表す(3バイト)
 PIC Z(7)9 8けたまでで先頭のゼロをサプレスした符号なし整数(8バイト)
 PIC ZZZ9.9999 整数部4けた(ゼロサプレス)+小数点のピリオド+小数部4けた(9バイト)
 PIC -----9 5けたまでの符号付整数をゼロサプレスしたうえで先頭に符号を付与する(6バイト)

<バイナリや浮動小数点のデータ型…下記のUSAGE句を指定>
 USAGE BINARY 2の補数表現のバイナリ PICTURE句でけた数を指定
 USAGE PACKED-DECIMAL 1バイトで十進2けたを表現する PICTURE句でけた数を指定
 USAGE COMP-1 単精度浮動小数点 PICTURE句不要
 USAGE COMP-2 倍精度浮動小数点 PICTURE句不要
 USAGE COMP-3 PACKED-DECIMALと同義 PICTURE句でけた数を指定
 USAGE COMP-4 BINARYと同義 PICTURE句でけた数を指定
0824デフォルトの名無しさん2010/09/29(水) 02:15:02
>>819
Javaの絵本を適当に読んで
適当な入門サイトに載ってるプログラムをいくつか動かしてみる
そしたら電卓もどき程度は作れるようになるので
そこまで行けば後は脳が勝手に覚えてく
嘘じゃない
0825デフォルトの名無しさん2010/09/29(水) 08:01:31
nioにpipeがあったのでchannelとselectつかってスレッド間でデータを送受信するプログラムをつくってみましたが、
データの取りこぼしがでてしまいます。writerスレッドからlongで10から100までの数字をreaderスレッドに送ります。
どこが悪いのでしょうか。他にやりかたはあるでしょうか。

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.*;
public class Test {
static Selector selector;
static Pipe pipe;
static SelectableChannel writeChannel, readChannel;

public static void main(String[] args) {
try {
selector = Selector.open();
pipe = Pipe.open();
writeChannel = pipe.sink(); readChannel = pipe.source();
writeChannel.configureBlocking(false);
readChannel.configureBlocking(false);
// writeChannel.register(selector, SelectionKey.OP_WRITE);
readChannel.register(selector, SelectionKey.OP_READ);
}
catch(IOException e) {;}

new reader(selector, (ReadableByteChannel)readChannel).start();
new writer((WritableByteChannel)writeChannel).start();
}
}
0826デフォルトの名無しさん2010/09/29(水) 08:02:40
つづきです
class reader extends Thread {
Selector selector; ReadableByteChannel readChannel;
byte[] Buf; ByteBuffer Buffer;

public reader(Selector selector, ReadableByteChannel readChannel) {
this.Buf = new byte[32]; this.Buffer = ByteBuffer.wrap(Buf);
this.selector = selector; this.readChannel = readChannel;
}
public void run() {
while (true) {
try { selector.select();} catch(IOException e) {;};
for (SelectionKey selectionKey: selector.selectedKeys()) {
if (selectionKey.isReadable()) {
Buffer.clear();
readChannel = (ReadableByteChannel)selectionKey.channel();
try {
readChannel.read(Buffer); Buffer.flip();
System.out.println("Receive: " + Buffer.getLong());
}
catch (IOException e) {;}
}
}
}
}
}
0827デフォルトの名無しさん2010/09/29(水) 08:05:03
最後です
class writer extends Thread {
WritableByteChannel writeChannel;
byte[] Buf; ByteBuffer Buffer;

public writer(WritableByteChannel writeChannel) {
this.Buf = new byte[32]; this.Buffer = ByteBuffer.wrap(Buf);
this.writeChannel = writeChannel;
}
public void run() {
int i = 0;
while (i++ < 10) {
/// try { Thread.sleep(0);} catch(InterruptedException e) {;}
Buffer.clear();
Buffer.putLong(i*10);
Buffer.flip();
try {
writeChannel.write(Buffer);
}
catch (IOException e) {;}
}
}
}
0828デフォルトの名無しさん2010/09/29(水) 09:34:28
勉強を始めてから未だ3日目なので適性判定はご容赦を。
Javaの初仕事が目前に迫っているので、どうしても習得せねばならないのです。
0829デフォルトの名無しさん2010/09/29(水) 09:35:48
>>819
キモイおっさん死ねよ
0830デフォルトの名無しさん2010/09/29(水) 09:39:57
コボラーってさ、sin,cosなんか一度も使ったことないんだろうね。
0831デフォルトの名無しさん2010/09/29(水) 09:47:15
今ならJavaプログラマなんて履いて捨てるほどいるのに
なぜコボラーを使おうとするのか
0832デフォルトの名無しさん2010/09/29(水) 09:56:54
オブジェクト指向の代表といわれるJavaも結局はプログラミング言語ですよ。
もしCOBOLを言語としてちゃんと理解していたならJavaを習得するのだってそんなに苦労はないと思います。
0833デフォルトの名無しさん2010/09/29(水) 09:57:43
コネやコミュ力も実力の内だからなあ。
ネット上の教えて君みたいな人の方が現実世界では案外と上手に生きて行けるもんだ。
いくら頭がよくてもコミュ障害気味のお前らよりは仕事出来るだろうな。
0834デフォルトの名無しさん2010/09/29(水) 09:58:20
>>831
ええ?どうしてか分からないんですか?
「メソッドの引数としてクラス名とインスタンス名を使用」だからですよ
0835デフォルトの名無しさん2010/09/29(水) 10:00:38
>>833
1年は待ってられない感じなんです。
ご存知でしたら、是非ともお教えください。
0836デフォルトの名無しさん2010/09/29(水) 10:07:28
COBOLはしらんけど変数と変数名とスコープが分かってないことは分かった
0837デフォルトの名無しさん2010/09/29(水) 10:11:40
基礎が理解できていないのに、とりあえず急ぐからと
やっていくと、納品近くなって壊滅的な被害が出るんだよな。
0838デフォルトの名無しさん2010/09/29(水) 10:13:20
プログラミング言語では
age = age + years(C言語などでは age += yearsのように略記できる)
と書かれるが、COBOLでは
ADD YEARS TO AGE (英語でそのまま「年数を年齢に加える」)
となる。このように、数学やアルゴリズムの知識がほとんど無くとも構文上の約束事(全て現在形、語尾変化なしなど)さえ憶えて、
英語による理路整然とした記述ができれば、COBOLのプログラムを取り扱うことができるようになっている。
つまり事務処理の手順を逐一細かく(英語で)記述していけば事務処理が電算自動化できるという、工程的利点が存在する。
さらにプログラムのコードそのものがプログラムの機能を説明する仕組みになっているので、コードをそのまま「読む」ことができるという利点もある。
0839デフォルトの名無しさん2010/09/29(水) 10:14:32
>>837
しかし、突然Javaの仕事をすることになってしまい、
なるべく早く習得しなければならない羽目になっています。
0840デフォルトの名無しさん2010/09/29(水) 10:18:18
でも今はコネやコミュ力があっても失業中のJavaプログラマいっぱいいるよ。
ないから失業してるっていうかもしれないけど、そんなことはなくて
実力のないコボラーでもたまたまJavaプログラマを探すのが面倒と
思ってしまっている顧客に雇ってもらえてる人もたくさん居る。
だから顧客には勇気を持って取り替えてほしい。
今がよい機会だよ。
0841デフォルトの名無しさん2010/09/29(水) 10:23:14
>>839
1つ言えるなら、とにかく人の作ったソースを読みまくれ。
昔と違って、javaの基礎の解説サイトなんて唸るほどある。

手っ取り早く「(できればコードを)教えてくれ」って言いたい気持ちは解るが、
それに固執していたら、進むモノも進まなくなるよ。
今苦労するのが、後で身をたすく。
0842デフォルトの名無しさん2010/09/29(水) 10:30:25
このスレには失業中のjavaPGしかいないんだから難しい質問は遠慮してください
0843デフォルトの名無しさん2010/09/29(水) 10:35:15
>>825
32バイトのバッファに読み込んでlong1個(8バイト)しか表示してないから
読み込んだデータは全部表示しなきゃ、そりゃ取りこぼしたようにも見える
0844デフォルトの名無しさん2010/09/29(水) 10:42:57
>>837,841
勉強を始めてから未だ3日目なので適性判定はご容赦を。
0845デフォルトの名無しさん2010/09/29(水) 10:48:06
COBOLの人はアセンブラとかx86とかjvmとか行番号で処理を羅列していくような構文の言語の方が馴染みやすいと思う。
0846デフォルトの名無しさん2010/09/29(水) 11:00:39
Lispとかに比べりゃコボルもJavaも似たようなもんだろ
0847デフォルトの名無しさん2010/09/29(水) 11:08:05
>>814
いただいたコメントを何度も読んで、噛締め、咀嚼してみます。
0848デフォルトの名無しさん2010/09/29(水) 11:22:16
なんみょう〜だ〜
なんみょう〜だ〜
0849デフォルトの名無しさん2010/09/29(水) 11:38:33
ここで質問すべきか迷いましたが…。

言語をJavaで、Webプログラミングしようとしたら、
今時なトレンドは、どんなスタイルなのでしょうか?
今もStrutsとかがメインだったりするんでしょうか?
0850デフォルトの名無しさん2010/09/29(水) 11:47:19
Servlet+JSPがトレンド
0851デフォルトの名無しさん2010/09/29(水) 11:50:42
今の流行りはRailsモドキとVelosurf
0852デフォルトの名無しさん2010/09/29(水) 12:04:49
>>837
0853デフォルトの名無しさん2010/09/29(水) 12:23:26
>>823

PL/I JAPAN

HELLO:PROC OPTIONS(MAIN);
DCL HELLO1 CHAR(12) INIT('HELLO WORLD!');
DCL 1 HELLO2,
2 * CHAR(12) INIT('HELLO WORLD!');
DISPLAY('HELLO WORLD!');
DISPLAY(HELLO1);
DISPLAY(HELLO2);
END HELLO;
0854デフォルトの名無しさん2010/09/29(水) 13:49:23
私もコボラーだったけど、Javaの本を10冊位読んで、APIマニュアルを精読して、自分でサンプルプログラム書きまくったらJavaでプログラムできるようになったよ。
がんばって。
0855デフォルトの名無しさん2010/09/29(水) 13:57:48
1から習得するより楽でしょ
0856デフォルトの名無しさん2010/09/29(水) 14:01:08
1年は待ってられない感じなんです。
0857デフォルトの名無しさん2010/09/29(水) 14:04:54
もう許してあげて
0858デフォルトの名無しさん2010/09/29(水) 14:12:36
>>829
0859デフォルトの名無しさん2010/09/29(水) 16:01:43
>>843
どうもありがとうございます。
そうなんです。Cでいうところのflush的なものがないので困っているのです。

対処療法としてみつけたのがsleep(0)を挟み込むことで、
827のwriterでコメントアウトしているsleep(0)を実行するだけでも取りこぼしは無くなります。
try { Thread.sleep(0);} catch(InterruptedException e) {;}
しかし、これで確実にデータを渡せるとはとても思えないので困っているところです。

0860デフォルトの名無しさん2010/09/29(水) 16:17:29
>>859
いやいやいやいや、flush関係ないし
読み込んだものを表示してないだけだって言ってるじゃん
こうするんだよ
if (selectionKey.isReadable()) {
readChannel = (ReadableByteChannel) selectionKey.channel();
try {
readChannel.read(Buffer);
Buffer.flip();
while (Buffer.remaining() >= 8) {
System.out.println("Receive: " + Buffer.getLong());
}
Buffer.compact();
} catch (IOException e) {;}
}
0861デフォルトの名無しさん2010/09/29(水) 16:27:52
>>860
たびたびありがとうございます。

書いたプログラムは実験用で、実際は送るデータ長は不定なんです。8バイトとは限りません。
そういう場合はどうすればよいのでしょうか。
0862デフォルトの名無しさん2010/09/29(水) 16:30:40
861つづき
java.nio.channels.spi.AbstractInterruptibleChannel
のbegin,endが関係あるのかと思って
try {
writeChannel.begin();
writeChannel.write();
} finally {writeChannel.end(true);}
などやってみましたが、
begin() has protected access in java.nio.channels.spi.AbstractInterruptibleChannel
こんなエラーメッセージでつまっているところです。
0863デフォルトの名無しさん2010/09/29(水) 16:31:46
>>861
最初にデータ長を送るか、改行・空白等で区切る
ファイルの読み書きと同じだと思え
不定長のデータを何の情報もなしに区切れるわけない
0864デフォルトの名無しさん2010/09/29(水) 16:37:49
>>860
今、レス書き込んだ直後に思ったのですが、
書き込みスレッドも読み込みスレッドも1つづつで、送受信の混信はないと仮定できるので(別々のスレッドからのデータが混じることはない)

書き込み/読み込みを2段階にわけ、
(1)最初4バイトで次に送るデータ長を送信、
(2)本当のデータを送信
とすることは可能ですね。汚い実装ですが。

できれば、pipeのchannelでデータを確実に送る方法で実装したいです。
pipeはもともとstreamだから、そもそもメッセージを送るという場面では使わないのかもしれないのですが。
channelだとByteBufferが使えるので楽なのと、
selectionKeyが使えるのがやはり楽だったり後で多重化できるのが利点です。
0865デフォルトの名無しさん2010/09/30(木) 02:32:33
サーブレットの中でスレッドをnewしてnewしたスレッドの中で処理をさせることって可能ですか?
スレッドをスタートさせた後、サーブレットの処理は無限ループさせ、スレッドが終了するまで1秒スリープしてはスレッドの実行状態と経過時間を確認を行ないます。
そして、20秒過ぎてもスレッドが実行中心ならタイムアウトとしてスレッドをストップ、またはストップさせないでループを抜ける。そんな処理を書きたいのです。
0866デフォルトの名無しさん2010/09/30(木) 09:08:58
できる
0867デフォルトの名無しさん2010/09/30(木) 10:42:52
>>866
回答ありがとうございます。
書いてみたのですが上手くいかなかったので、もしかしてダメなのかと思って質問させていただきました。
ソースをもう少し見直してみます。
0868デフォルトの名無しさん2010/09/30(木) 11:02:53
pseudo code だけどこんな感じじゃね?
class さーぶれっと {
volatile boolean fin_heavy = false; // 重い処理終わったよフラグ

略 onGet(略) {

Thread worker = new Thread(new Runnable() {
public void run() {
// 重い処理
fin_heavy = true;
}
});
worker.start();

// worker 監視部分
while (true) {
sleep(1000);
if (fin_heavy)
break; // 重い処理終了
if (isTimeout())
break; // 重い処理終わらずにタイムアウト
}
}
}
0869デフォルトの名無しさん2010/09/30(木) 11:11:59
サーブレットはマルチスレッドで呼ばれるからフィールドにフラグ持つのはまずい
Executor楽でおすすめ

static ExecutorService executor = Executors.newCachedThreadPool();
void doGet(〜) {
〜
Future<?> f = executor.submit(new Runnable(){
public void run() {
〜重い処理〜
}
});
f.get(20, SECONDS);
〜
}
0870デフォルトの名無しさん2010/09/30(木) 12:11:46
>>868さん
レスありがとうございます。
そんな感じに書いているつもりなんですが、一回目はキチンと正常終了しているのにF5でブラウザリロードすると1秒でタイムアウトしてしまってまして><

>>869さん
助言ありがとうございます。
サーブレットのクラス変数はダメなんですよね、サーブレットのメソッドの中でnewしているクラス変数もマズいですか?
とりあえずexecutorぐぐってきます。
0871デフォルトの名無しさん2010/09/30(木) 12:23:23
>>868
なかなかの名プログラム
0872デフォルトの名無しさん2010/09/30(木) 13:15:24
>>869
そういえばタイムアウト付きFutureがあった
確かにフィールドはまずいですなorz

>>870
タイムアウトカウンタをフィールド持ちしてるとか
さくっと書ける >>869 の実装がお勧め

>>871
むしろ迷orz
0873デフォルトの名無しさん2010/09/30(木) 17:46:03
class Tes {
public static void main (String args[]) {
int x = (int)(Math.random() *9);
System.out.println(x);

if ( x == 0 || x == 1 || x == 2) {
System.out.println(1);
}
if ( x == 3 || x ==4 || x == 5) {
System.out.println(2);
}
if ( x == 6 || x ==7 || x == 8) {
System.out.println(3);
}
}

}

このような1〜3を出力するプログラムがあったとして、その出力された数字を今度は足したり引いたり計算をさせるにはどうやって書けばいいでしょうか?
0874デフォルトの名無しさん2010/09/30(木) 17:54:45
>>873
int y = 0;
if ( x == 0 || x == 1 || x == 2) {
y = 1;
}
if ( x == 3 || x ==4 || x == 5) {
y = 2;
}
if ( x == 6 || x ==7 || x == 8) {
y = 3;
}
のようにして、それからyを足したり引いたり計算をすればいいです
0875デフォルトの名無しさん2010/09/30(木) 17:56:59
というか、
if ( x < 3) とかじゃダメなのかな?
0876デフォルトの名無しさん2010/09/30(木) 18:02:07
というか,
y = x / 3 じゃダメなのかな?
0877デフォルトの名無しさん2010/09/30(木) 18:08:15
>>874
あっどうです^^

>>875
こういう事ですよね?

if ( x <=2 ) {
System.out.println(1);
}
if ( x <=3 || x >=5) {
System.out.println(2);
}
if ( x <=6 || x >= 8) {
System.out.println(3);


これだと、>>873にならない出力結果になってしまうんですよ(TT)
0878デフォルトの名無しさん2010/09/30(木) 18:08:44
というか、
そもそも計算してどうするのかな?
0879デフォルトの名無しさん2010/09/30(木) 18:09:40
>>877
>if ( x <=3 || x >=5) {

不等号の向きがおかしいぜ
0880デフォルトの名無しさん2010/09/30(木) 18:11:11
>>877

if ( x < 3) {
y = 1;
}
else if ( x < 6) {
y = 2;
}
else if ( x < 9) {
y = 3;
}

単純にこうじゃないの?
0881デフォルトの名無しさん2010/09/30(木) 18:20:51
>>878

ランダム値の値が
0〜2の時、1点
3〜5の時、2点
6〜8の時、3点

でこれを数回繰り返し合計点を計算するプログラムを作りたかったんです。
0882デフォルトの名無しさん2010/09/30(木) 18:27:09
>>881

int sum = 0;
int loop = 数回

for (int i=0;i < loop;i++) {
int x = 0〜8のランダム値を返すよ();
int point = (x / 3) + 1;
sum += point;
System.out.printf("%d 回目 らんだむ=%d ぽいんと=%d 合計=%d%n", i+1, x, point, sum);
}
0883デフォルトの名無しさん2010/09/30(木) 18:28:14
||と&&を勘違いしてないか
0884デフォルトの名無しさん2010/09/30(木) 18:30:16
int sum = 0;
int loop = 数回
int[] point_tbl = new int[]{1,1,1,2,2,2,3,3,3};

for (int i=0;i < loop;i++) {
int x = 0〜8のランダム値を返すよ();
int point = point_tbl[x];
sum += point;
System.out.printf("%d 回目 らんだむ=%d ぽいんと=%d 合計=%d%n", i+1, x, point, sum);
}
0885デフォルトの名無しさん2010/09/30(木) 18:51:51
エラーが出てしまいます><;
0886デフォルトの名無しさん2010/09/30(木) 19:16:21
質問してやってるんだから回答者はちゃんとコンパイル通って動作確認すんだものだけ載せるように!
0887デフォルトの名無しさん2010/09/30(木) 19:19:35
そして誰も (回答者が) いなくなった・・・
0888デフォルトの名無しさん2010/09/30(木) 21:26:34
javaでexcelファイルをPDFに変換することは出来るでしょうか?
0889デフォルトの名無しさん2010/09/30(木) 22:07:29
お前には無理
0890デフォルトの名無しさん2010/09/30(木) 22:08:37
>>888
POI使う
0891デフォルトの名無しさん2010/09/30(木) 22:26:07
COM使える言語で作って別プロセスとして呼んだほうが早い
0892デフォルトの名無しさん2010/09/30(木) 22:32:15
>>888
オープンオフィスのライブラリを使うべし
0893デフォルトの名無しさん2010/09/30(木) 23:06:12
お前には無理
0894デフォルトの名無しさん2010/09/30(木) 23:15:10
お前なら出来る
0895デフォルトの名無しさん2010/10/01(金) 00:37:34
お前しかいない
0896デフォルトの名無しさん2010/10/01(金) 10:01:00
Yes.you can!
0897デフォルトの名無しさん2010/10/01(金) 12:34:26
Head first Javaの第2版ってもう内容的に古いですか?
0898デフォルトの名無しさん2010/10/01(金) 16:11:30
1.6以後に出てなかったっけ?
0899デフォルトの名無しさん2010/10/01(金) 22:46:10
今月の日経ソフトウェアでjavaに関する、大きな記事が載っていた
factoryパターンを使ってmysql,postgresqlの、どっちにも対応させようってコードがあったと思う

本当にそんな事して意味あんのか?
ありえねー事をサンプルにしているなんて無駄としか思えない
0900デフォルトの名無しさん2010/10/01(金) 22:46:32
新しいの出てるよ。邦訳は知らんが。
0901デフォルトの名無しさん2010/10/01(金) 23:24:02
>>898-900
ありがとう。
第3版出てますか?
だったら訳書出るまで待ったほうが良いよね。
0902デフォルトの名無しさん2010/10/01(金) 23:26:49
orマッパのメリットを教えてください
0903デフォルトの名無しさん2010/10/01(金) 23:28:32
SQLを書かなくていい
でも俺はSQLを書く方が好き
0904デフォルトの名無しさん2010/10/01(金) 23:39:53
mysql,postgresqlの、どっちにも対応させることに意味はあまり無いだろうが
factoryパターンの例題としてならば十分意味がある
0905デフォルトの名無しさん2010/10/02(土) 00:00:21
ありえねーと言ったらサンプルより現場の方がそうだったりする
0906デフォルトの名無しさん2010/10/02(土) 01:04:01
最近mysqlからポスグレに移行したけど、
元々JPA使ってたから苦労ほとんどなかった。

一部の型がうまく移行できなかったとかあったけど、1時間で解決したな。
0907デフォルトの名無しさん2010/10/02(土) 01:05:15
わざわざどうして移行したんですか?
0908デフォルトの名無しさん2010/10/02(土) 01:16:27
ライセンス問題。
0909デフォルトの名無しさん2010/10/02(土) 01:24:36
ですよね
0910デフォルトの名無しさん2010/10/02(土) 09:23:38
ストアドだらけのシステムだとストアド移植するのが大変で
DB移行なんて無理
0911デフォルトの名無しさん2010/10/02(土) 10:59:45
>>910
でもさ、業務アプリケーションはスピード出すためにストアドばっかり使うよね
0912デフォルトの名無しさん2010/10/02(土) 11:29:50
>>908
スレ違いだけどmysql(community editionだと思うが)にライセンス問題なんて発生するの?
0913デフォルトの名無しさん2010/10/02(土) 14:37:02
Oracleになったからだろ。
ウチの会社でもmysqlもよく使われてたけど最近はほぼpostgres一本になった。
0914デフォルトの名無しさん2010/10/02(土) 16:42:57
それはオラクル営業部隊に対する反抗心からじゃないの?
0915デフォルトの名無しさん2010/10/02(土) 17:17:41
JPAで再帰クエリーって可能?SQLを書かないと無理?
0916デフォルトの名無しさん2010/10/02(土) 20:57:52
>>625
画面遷移を伴わないブラウザ-サーバ通信。
SwingからWebアプリに移ると、これが無いとやっていけん。
0917デフォルトの名無しさん2010/10/03(日) 00:07:31
>>911
そう?1テーブル1億レコード程度までなら、普通にJavaから実行している。
APサーバとDBサーバの間の帯域がダメダメな場合は、ひょっとしたらストアドプロシージャつかうかもだけど。
帯域がちゃんとしている場合ってそんなに処理スピードかわるの?
0918デフォルトの名無しさん2010/10/03(日) 00:17:59
昔の人はストアド使いたがるよね
完全に時代遅れ
0919デフォルトの名無しさん2010/10/03(日) 00:22:47
>>913
Oracleになったことでどんなライセンス問題が発生するの?
0920デフォルトの名無しさん2010/10/03(日) 01:04:04
>>919
フリー版が無くなる可能性がある。
0921デフォルトの名無しさん2010/10/03(日) 07:53:45
将来性が不安だから早めに移行してしまおうってのならわからんでもないけど、
ライセンス問題ってのは違うよね。
今使ってるフリー版が使えなくなるわけじゃなし。
0922デフォルトの名無しさん2010/10/03(日) 08:01:15
JavaMEのライセンス料が入らなくなるから、Androidから徴収しようってのがひとつの理由らしいね。
Javaコミュニティそのものを攻撃しているというのは全くのデマ。
むしろOracleはSun以上にJavaFXを発展させる意思があるから、頼もしいくらいだよ。

SpringSourceの人が言ってるが「Oracleは信頼されていない」ってのは克服すべきだけど。
0923デフォルトの名無しさん2010/10/03(日) 09:16:09
クライアントにも力入れてる姿勢を見せとかないと乞食コミュニティがうるさいからな
0924デフォルトの名無しさん2010/10/03(日) 16:37:19
末端からすると言語多すぎるからちょっとぐらい淘汰されるのも良いけど
0925デフォルトの名無しさん2010/10/03(日) 16:52:06
SQLは第一に淘汰されるべき
0926デフォルトの名無しさん2010/10/03(日) 17:04:56
JavaFX Scriptは淘汰されたね
0927デフォルトの名無しさん2010/10/03(日) 17:18:01
>>926
たぶん気のせい
0928デフォルトの名無しさん2010/10/03(日) 17:41:13
>>747
前に質問してた人だよね?俺回答したと思うんだけど試した?
0929デフォルトの名無しさん2010/10/03(日) 19:07:05
>>923
Oracleはコミュニティなんか見てないだろ。
0930デフォルトの名無しさん2010/10/03(日) 19:42:15
Swingが生まれてからもう何年も経つのに、未だに開発環境のデファクトスタンダードどころか泡沫環境ばかりだというのは驚くほかない
0931デフォルトの名無しさん2010/10/03(日) 19:46:24
結局サーバー屋の道具だったってこと
0932デフォルトの名無しさん2010/10/03(日) 23:05:16
Windows + Java6

ProcessBuilder pb = new ProcessBuilder("hoge.cmd");
Process process = pb.start();

この時に、プロント画面を表示させたいんだけど、何か方法あるでしょうか?
0933デフォルトの名無しさん2010/10/04(月) 00:10:46
プロトンKR
0934デフォルトの名無しさん2010/10/04(月) 00:42:14
プログラミングって一文字間違えたらおしまいの世界なのに、
こう、おもしろ用語がどんどん生まれるって、やっぱり向いてない人が
無理しなければならない状況がいっぱいなのかな?
0935デフォルトの名無しさん2010/10/04(月) 01:11:52
Hoge hoge = method(Hoge.class, foo);

のように、引数1にキャストしたいクラス、引数2にキャストしたいオブジェクトを入れ
fooをクラスHogeにキャストしてくれるようなメソッドを作ることは出来ますか?
ジェネリクスを使えば出来そうかと思い、下記のようにしたのですが出来ませんでした。

public <T> T method(T _class,Object hoge){
return (T)hoge;
}
0936デフォルトの名無しさん2010/10/04(月) 01:27:42
>>935
ん、出来てるんじゃね。
0937デフォルトの名無しさん2010/10/04(月) 01:35:31
出来てねぇよ

public <T> T method(T clazz, Object obj){
  return clazz.cast(obj);
}
0938デフォルトの名無しさん2010/10/04(月) 03:34:48
>>937
T clazzじゃなくてClass<T> clazzだな。
09399352010/10/04(月) 03:47:17
>>938
ありがとうございます、成功しました。
半ば諦めていたので、助かりました。
0940デフォルトの名無しさん2010/10/04(月) 08:31:27
clazzって何ですか?
0941デフォルトの名無しさん2010/10/04(月) 08:33:32
classは予約語なので変数名として使えないから。
0942デフォルトの名無しさん2010/10/04(月) 09:27:53
慣用句っていうのかな。Class<?> clazzとかはイディオムですね。
0943デフォルトの名無しさん2010/10/04(月) 09:30:37
clathのほうが発音は近いのに
crassはクレイスになるけど日本人的なのに
とか>>942を見て思った
0944デフォルトの名無しさん2010/10/04(月) 10:05:39
Sun製のソースだと「klass」も多いよな
0945デフォルトの名無しさん2010/10/04(月) 10:39:47
cls も使う
0946デフォルトの名無しさん2010/10/04(月) 11:57:27
orzも使う
0947デフォルトの名無しさん2010/10/04(月) 12:09:20
Or2 =3
0948デフォルトの名無しさん2010/10/04(月) 12:54:51
object resize zero
0949デフォルトの名無しさん2010/10/04(月) 14:20:52
>>935
実質何の意味もないよそれ
(Hoge)(Object)foo と同じ
0950デフォルトの名無しさん2010/10/04(月) 14:29:02
そんなこと聞いてません
0951デフォルトの名無しさん2010/10/04(月) 15:49:01
JRE1.6u19からアプレットでapache-commons系のライブラリを使用するとセキュリティ警告が表示されるようになりました。
何でも混合モードというものに引っかかったらしいです。
アプレット用のjarは自身のキーで署名しましたが、ライブラリjarは署名していないため、この形態は危険だっと認識されたようです。

アプレットの設定でこれを警告にしない設定をすれば回避できますが、
この設定をせずに、警告を出さず署名済みアプレットでapache-commons系のライブラリを使用させることは出来るでしょうか?
0952デフォルトの名無しさん2010/10/04(月) 20:56:00
commonsにも署名すればいんじゃね
0953デフォルトの名無しさん2010/10/05(火) 10:32:28
>>952
同じキーで署名したのですが、警告ダイアログは依然出てしまいます。
ライブラリを全て解凍し、アプレット用のjarひとつにまとめましたが、それでも警告が出ます。
0954デフォルトの名無しさん2010/10/05(火) 11:46:24
>>953
マニフェストファイルに何か書けっていうの見つけたよ。
ttp://download.oracle.com/javase/6/docs/technotes/guides/jweb/mixed_code.html
0955デフォルトの名無しさん2010/10/05(火) 13:35:43
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/1038.java
このプログラムの画面のサイズを変更するのはどうしたらいいんでしょうか?
0956デフォルトの名無しさん2010/10/05(火) 13:45:17
//<applet code="A.class" width="600" height="300"></applet>
たしか、この部分をアプレットのテスト実行機能(appletviewer.exe)が読んでる。
実際にWebページに貼り付ける時と同じサイズにしとこう。
0957デフォルトの名無しさん2010/10/05(火) 13:51:01
>>956
widthとheightの数値を変えればいいのですか?
0958デフォルトの名無しさん2010/10/05(火) 13:53:26
>>956
あ。html側の設定を変えたらよかったんですね。理解しました.
ありがとうございます
0959デフォルトの名無しさん2010/10/05(火) 13:53:54
そんなもん実際に試してダメだったときに聞けよ。
Javaの初心者はともかく、質問の初心者はお断り。
0960デフォルトの名無しさん2010/10/05(火) 14:20:19
お断りだ。
0961デフォルトの名無しさん2010/10/05(火) 17:01:53
JPanelでダブルクリックで展開・格納できる機能を実装したいのですが展開・格納はどのクラスを使ったら良いでしょうか?
イメージとしては

Item → Item
      メモ 
      重要度

のようにダブルクリックで項目が展開されるものです。
0962デフォルトの名無しさん2010/10/05(火) 17:06:46
JTreeじゃダメなの?SwingにどんなUIがあるか一度調べたら?
0963デフォルトの名無しさん2010/10/05(火) 17:18:05
JTree で気に食わないなら自作するしかないね。
0964デフォルトの名無しさん2010/10/05(火) 19:31:04
質問です。
コンストラクタの引数にthisが入ってる場合、これって何を指してるのでしょうか。

Test t = new Test(this);
0965デフォルトの名無しさん2010/10/05(火) 19:32:24
呼び出し元のクラスのインスタンス自身。
0966デフォルトの名無しさん2010/10/05(火) 19:55:13
むぅ・・・いまいちピンと来ないです。;
下の場合、HomeAppliのインスタンスを引っ張ってきてるってことで良いのでしょうか。

public class HomeAppli {
MList nameList;

public void start() {
nameList = new MList(this);
}
}
0967デフォルトの名無しさん2010/10/05(火) 20:17:16
tに聞いて見るのが一番よ
0968デフォルトの名無しさん2010/10/05(火) 20:47:54
良いですよ
0969デフォルトの名無しさん2010/10/05(火) 21:11:58
>>966
start()はHomeAppliクラスのインスタンスメソッドだから、
それを呼び出すためにはHomeAppliのインスタンスが必要。
new MList(this)のthisはそのstart()を呼び出すのに利用したインスタンスへの参照を表す。
0970デフォルトの名無しさん2010/10/05(火) 21:13:15
ありがとうございました。
ちゃんと調べてたら>>966の通りで合ってました。

しかし、携帯アプリのソースコードは煩雑で読みにくい・・・。
(サンプルソースがクソなだけなのかもしれませんが。)
0971デフォルトの名無しさん2010/10/05(火) 21:14:23
>>970
おまえの糞はこんがり臭そうだ
0972デフォルトの名無しさん2010/10/05(火) 21:19:33
他人のコードにケチつけるレベルじゃないだろ
0973デフォルトの名無しさん2010/10/05(火) 23:14:45
>>930
日本語で
0974デフォルトの名無しさん2010/10/05(火) 23:54:50
>>962
>>963
IDは変わってしまいましたがありがとうございます!
JTreeというものがあるんですね・・・当方javaを始めたばかりで知らないクラスばかりでした。
早速試してみます!本当にありがとうございました!
0975デフォルトの名無しさん2010/10/06(水) 00:36:21
ム板でIDとな
0976デフォルトの名無しさん2010/10/06(水) 00:53:09
>>961
http://download.java.net/javadesktop/swingset3/SwingSet3.jnlp
0977デフォルトの名無しさん2010/10/06(水) 11:18:20
OracleからダウンロードしたJDKってデバッグオプションなしでコンパイルされたものですか?
0978デフォルトの名無しさん2010/10/06(水) 11:20:52
>>970
確かに携帯Javaは速度出すためにクラス数制限して可読性損なったりするけど
お前さんの場合は多分勉強不足よ
0979デフォルトの名無しさん2010/10/06(水) 12:00:48
わたってきたObject型が任意のクラスの配列型であるかの判断はどうすればいいですか?
0980デフォルトの名無しさん2010/10/06(水) 12:05:37
if (obj instanceof Foo[]) {
}

で判断できない?
何か悪い設計してそうだ。
0981デフォルトの名無しさん2010/10/06(水) 12:13:24
if(obj.getClass().isArray()){
}
0982デフォルトの名無しさん2010/10/06(水) 12:55:17
どうしてJavaにはconstがないんですか?
気持ち悪いです
0983デフォルトの名無しさん2010/10/06(水) 13:16:08
知らん。そもそもfinal修飾子があるから要らない。
finalはコンストラクタ内の変数操作を許すから、constとは違うけどね。
0984デフォルトの名無しさん2010/10/06(水) 13:42:56
配列クラスって元々何のために動的に作られるのかな?
したのメソッドを実行してふと考え込んでしまった…

new String[]{"aaa", "bbb"}.getClass().getDeclaredConstructors(); → 空
new String[]{"aaa", "bbb"}.getClass().getDeclaredFields(); → 空
new String[]{"aaa", "bbb"}.getClass().getDeclaredMethods(); → 空
0985デフォルトの名無しさん2010/10/06(水) 13:48:12
知らん。たぶんヒープに持ってくためのプレースホルダだろ。
0986デフォルトの名無しさん2010/10/06(水) 13:50:46
知らないなら黙っててもらえますか?
はっきり言って邪魔です
0987デフォルトの名無しさん2010/10/06(水) 13:53:19
お前は相手がホントに理解して回答を返してくれると思ってるのかと
0988デフォルトの名無しさん2010/10/06(水) 14:10:15
回答者のレベルを考えて

 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

以外の質問は控えてください
0989デフォルトの名無しさん2010/10/06(水) 14:49:31
>>984
ちなみに、配列のオーバフローをチェックするに当たるメソッドがgetDeclaredMethodsで出てくると思って期待していたんですが…
0990デフォルトの名無しさん2010/10/06(水) 15:13:44
>>987
おまえはなにさまのつもりだ
0991デフォルトの名無しさん2010/10/06(水) 15:19:06
>>989
getDeclaredFields()で配列のlengthが取れないほうが問題のような気もするが。
0992デフォルトの名無しさん2010/10/06(水) 15:30:30
じすれうめ
0993デフォルトの名無しさん2010/10/06(水) 16:02:29
lengthがフィールドだと思ってるやつw
0994デフォルトの名無しさん2010/10/06(水) 16:13:46
まぁいちおうJava言語仕様にはフィールドって書いてあるんだけどな

http://java.sun.com/docs/books/jls/third_edition/html/arrays.html#64347
> The public final field length, which contains the number of components of the array (length may be positive or zero).
0995デフォルトの名無しさん2010/10/06(水) 16:19:26
ジャヴァも出来てトーイックも900点だなんてすんごいんですね!
それで年収いくらになるんですか?
0996デフォルトの名無しさん2010/10/06(水) 16:20:16
年収400万です
0997デフォルトの名無しさん2010/10/06(水) 16:32:04
>>976
こんなアプリもあるんですね・・・ソースコードも載っているのでとてもためになります!
ありがとうございます!
0998デフォルトの名無しさん2010/10/06(水) 16:42:20
日本のIT系エンジニーアの年収は、たとえトーイック900点であっても年収400万円なのが現実なのです
0999デフォルトの名無しさん2010/10/06(水) 16:44:23
今、全俺が泣いた'(T_T
1000デフォルトの名無しさん2010/10/06(水) 16:45:20
じすれおつ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。