07/04/06 18:00:42
>>260
> Graphics2D#setTransform(AffineTransform Tx)
> Graphics2D コンテキストで Transform を上書きします。警告:このメソッドは新しい座標変換を既存の変換上で適用する
> 目的では使用しないでください。
> 座標変換を追加するために、transform、rotate、scale、またはshear メソッドを使用します。
この「transform、rotate、scale、またはshear メソッド」はGraphics2Dのね。
263:デフォルトの名無しさん
07/04/06 18:14:42
>>260
omote,uraのネーミング変じゃないかい?混乱したぞ。
Graphics2D g2=(Graphics2D) g;
omote.drawImage(image[0],50,50,this);
//AffineTransform at=new AffineTransform();
//at.rotate(90*Math.PI/150.0,150+18,150+18); //画像の中心を回転の中心に合わせる
//g2.setTransform(at);
AffineTransform at = ((Graphics2D)omote).getTransform();
((Graphics2D)omote).rotate(90*Math.PI/150.0,150+18,150+18);
omote.drawImage(image[0],150,150,this);
((Graphics2D)omote).setTransform(at);
g.drawImage(ura,0,0,this);
264:251
07/04/06 18:15:38
>>261
GraphicsクラスのomoteにはsetTransformメソッドがないと怒られてしまいました。
>>262
う~ん、setTransformで座標を変えるやり方自体がよくないってことなのでしょうか。
最終的にやりたいのはマウスなりキーボードなりに反応して画像が回転して動く、ちらつきのないアニメーションです。
せっかく回答してもらってるのにいまいちピンとこない辺り、
勉強が足りないのかもしれませんねorz
265:デフォルトの名無しさん
07/04/06 18:18:32
あ、g2もいらんね。
//Graphics2D g2=(Graphics2D) g;
266:251
07/04/06 18:55:09
>>263>>265
おかしなネーミングで申し訳ないですorz
とりあえずやりたかった動作が確認できました。ありがとうございました。
完全に置き換えずにその時々で変換してやる必要があるってことですね。
267:243
07/04/06 21:50:01
>>246-247
今帰ってきました
ありがとうございます
これから読んで,頑張ろうと思います
268:デフォルトの名無しさん
07/04/07 08:48:29
AXISのTCPMonitorを使用して外部インターネット(HTTP)との通信内容を調べたいのですが可能でしょうか?
ローカルマシンのwebアプリとの通信内容は見れたのですが。
269:Java ◆KbC0ODWrJ2
07/04/07 09:38:18
可能
270:デフォルトの名無しさん
07/04/07 10:51:46
>>269
具体的にはListenPort,TragetHost,TargetPortをどのように設定したらよいでしょうか。
271:デフォルトの名無しさん
07/04/07 11:51:50
リクエスト送った時と送らない時で
netstat -aの差分とってみりゃいいじゃん
272:デフォルトの名無しさん
07/04/07 15:59:03
pattern、Matcherクラスの勉強してるときにある本の中にこういうコードがあったんですが
Pattern p = Pattern.compile("[a-z]");//正規表現をPatternクラスのオブジェクトにコンパイル
Matcher m = p.matches("aaaaaaaa");//指定されたパターンと、マッチング対象の入力テキストとが含まれることになるMatcherオブジェクトを作成する
この2行目のメソッド名はmatcherと間違ってるように思うんですがどうなんでしょうか?
JDKの資料調べてみて戻り値や引数の数からおかしいように思えます。
本の正誤表には載ってませんでした。おねがいします。
273:デフォルトの名無しさん
07/04/07 16:13:54
matchesはbooleanを返す
macherはMatcherインスタンスを返す
ので、本が間違ってるね。
274:デフォルトの名無しさん
07/04/07 18:34:46
javaでビープ音出したいんですけど
どうやったらできますか?
275:デフォルトの名無しさん
07/04/07 19:33:18
Toolkit.beep()
276:デフォルトの名無しさん
07/04/07 19:33:42
開発言語:JAVA、データベース:Postgresql8.1の環境で開発してます。
Driver driver = DriverManager.getManager(url文字列);
※url文字列 jdbc:postgresql:プロジェクト名
上記コードでSQLExceptionが発生します。
データベースアクセスエラーのようですが何故発生するか分かりません。
jdbcドライバが認識されていないのでしょうか!?
ご回答、アドバイスの方よろしくお願いします。
277:デフォルトの名無しさん
07/04/07 19:37:41
接続できてないんじゃないのか。
コマンドラインから接続できるか確認すべき。
278:276
07/04/07 19:44:29
>>277
ローカルのDBなので、DOSプロンプトからログインできることも確認できました。
279:デフォルトの名無しさん
07/04/07 19:47:26
boolean型の値を出す関数を組み合わせて、if(A&&B)のように使うことは出来ますでしょうか?
また、全てfalseの場合にある動作をさせたいのですがどう書けばよろしいでしょうか?
-func1()&&-func2()&&…のようにマイナスで反転させることってできませんよねorz
280:274
07/04/07 19:55:10
>>275
レス有難うございます。
あの、指定した秒数だけビープ音を出したいんですけどできますか?
別にビープ音じゃなくても音なら何でも構いません。
281:デフォルトの名無しさん
07/04/07 19:55:36
!func()で反転するじゃん
282:デフォルトの名無しさん
07/04/07 20:01:12
>>273
ありがとうございました。
283:デフォルトの名無しさん
07/04/07 21:29:23
>>276
原因はよく判らんけどとりあえずorg.postgresql.ds.PGPoolingDataSource使ってみれば?
JavaDocでも
>データソースへの接続時には DataSource オブジェクトの使用をお勧めします。
とかいってるし。
284:デフォルトの名無しさん
07/04/07 21:38:25
>>279
そもそも && や || は1行目みたいなことのために使うものだ。
全てがfalseの場合、は !A && !B のように書く。論理の反転(否定)は!演算子。
また、ド・モルガンの法則というものがあり、
!A && !B は ! ( A || B )ともかける。
285:デフォルトの名無しさん
07/04/07 21:51:10
>>280
何に使うのかわかんないけど
System.out.printでbeepをあらわすエスケープシーケンス出すとか
javax.soundを使ってみるとか
286:276
07/04/07 22:15:45
>>283
回答ありがとうございます。
>org.postgresql.ds.PGPoolingDataSource使ってみれば?
使ったことが無いのでなんとも言えませんが、やってみます。
287:デフォルトの名無しさん
07/04/07 22:20:06
>>276
エラーの内容を晒さないと無理かと
288:デフォルトの名無しさん
07/04/07 22:31:52
>>271
わかんねっす
289:デフォルトの名無しさん
07/04/08 00:50:51
>>288
ごめん書き方悪かったかな。
TCPモニタを使用しない状態(<ここ重要)で、リクエスト送った時のローカルportとリモートhost,port
をDOSプロンプト(Windows?)のnetstatを使って見てみればということ。
やり方は、結果はネットワーク的に何もしない状態でもたくさんでてくるから(単一マシン内で起こるパイプとか、いろんなサービス(共有)とかのレシーバ待機)、
リクエスト送った時と送らない時のnetstatの結果を比較してみてその差が求めたいものだと思う。
例えば、
netstat -a 1>c:tcpmon.txt
とかやれば、1[interval]のオプションついてるから1秒おきにctrl+c押すまで延々とnetstat発行してくれてtcpmon.txtにキャプチャーしてくれる。(netstat ?でヘルプを見て)
その状態の途中で、リモートにリクエストを送ってやる。
そして、おもむろに時間がすぎた後ctrl+c押してnetstatコマンドを止めてやる。
そして連続して出されたnetstatの結果の差を見る。差の中にリモートhostとリモートportがあると思う。
あとはリスナーのやり方含めてローカルホストの場合と同じでしょう。
290:デフォルトの名無しさん
07/04/08 01:23:42
EclipseってC#みたいですね
291:デフォルトの名無しさん
07/04/08 08:27:17
未だにifの条件式考えるときに、||がいいか&&がいいか頭をひねってしまう。
特に条件が!の時に。みんなこんな?それとも俺が低脳なだけ?orz
292:291
07/04/08 08:44:23
失礼、あまりにも低脳な発言ですた。
293:デフォルトの名無しさん
07/04/08 09:39:07
MPGの全フレームを抽出するためのソフトを作るために
Javaライブラリを探しているんだけど、
こういうのってどこで探せば見つかるの?
294:デフォルトの名無しさん
07/04/08 11:07:08
295:デフォルトの名無しさん
07/04/08 11:10:53
>>294
探したけど無かったw
296:デフォルトの名無しさん
07/04/08 11:13:57
もっとがんばれ
297:質問
07/04/08 11:35:41
JavaとCどっち学んだほうがいいか?
298:デフォルトの名無しさん
07/04/08 11:48:51
どっちって。。。当然両方だろ。
プログラマなら何種類かの言語使えるのが普通。
そこまでじゃないならVBやスクリプトで充分。
299:デフォルトの名無しさん
07/04/08 11:52:19
>>295
JMF以上のことがいるのか?
ibmにも有償ライセンスのがあった気がするが
300:デフォルトの名無しさん
07/04/08 11:54:49
>>297
初心者ならJavaとC#覚えればいいと思う
熟練者ならC++・JavaScript・PL/SQLなども覚えるべき
301:デフォルトの名無しさん
07/04/08 11:55:07
>>297
どっちでもいいと思う
俺はJavaとperlだけだな
302:デフォルトの名無しさん
07/04/08 23:33:24
>>295
JMFで十分。それ以上は自前。
303:デフォルトの名無しさん
07/04/09 18:53:27
よろしくお願いします。
次のようなコードで、あるクラスのプロパティに、新規に作成した
オブジェクトを代入する場合、func2のように、一度、メソッドの
中で一次変数的に作ったものを代入するのは、よくないのでしょうか。
C++などでは、駄目なことは理解してますが、Javaでもマズイことなのか
どうか半信半疑なのですが。。
class someclass {
ArrayList arr;
void func1(){
this.arr = new ArrayList();
}
void func2(){
ArrayList tarr = new ArrayList();
this.arr = tarr;
}
}
304:303
07/04/09 19:01:05
あ、失礼しました。new による作成ならC++でもヒープですね。
Javaでも、上記は問題ないように思いましたが、もし違っていましたら
ご指摘頂ければ幸いですが、とるに足らない内容でしたら、スルーして
頂ければと思います。すみませんでした。
305:デフォルトの名無しさん
07/04/09 19:45:28
全く何の問題もないにょ
306:デフォルトの名無しさん
07/04/11 09:28:03
ん、何が問題かよく分からんね。スコープは変数に掛かってくるのであって
オブジェクトの生成場所ではないですよ。
307:デフォルトの名無しさん
07/04/11 20:49:47
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class TestClass extends Applet{
public void init() {
Scrollbar S = new Scrollbar(Scrollbar.HORIZONTAL);
S.setBounds(new Rectangle(15, 15, 180, 25));//ここがうまくいってない
add(S);
}
}
上のようなコードを書いて実行してもスクロールバーの位置・サイズが変更できません
どのように修正したらよいのでしょうか?
308:デフォルトの名無しさん
07/04/11 21:07:29
>>307
URLリンク(www.google.com)
309:デフォルトの名無しさん
07/04/11 21:17:00
>>308
ありがとうございます
setLayout(null);
とすることで解決できました
310:デフォルトの名無しさん
07/04/11 21:25:35
プログラミングに関しては全くの初心者です。
iアプリを作りたいと思ってるんですが、プログラム組むのになにか専用のツールがあるんでしょうか?
それともメモ帳に打ち込んで作るのでしょうか?
311:デフォルトの名無しさん
07/04/11 21:26:48
>>310
URLリンク(www.smg.co.jp)
312:デフォルトの名無しさん
07/04/11 21:56:30
すいませんプログラム初心者です。%=について悩んでおります。
具体的には
public class Enzan {
public static void main(String[] args) {
int x = 11;
int y = 10;
x %= 2 * 100;
System.out.println(x);
}
}
についてコンソールに11と表示されます。
自分ではx %= 2が1なので1*100で100がxに代入されると考えたのですが・・・。
313:デフォルトの名無しさん
07/04/11 22:03:57
>>312
演算子の結合順位調べろ。
> 自分ではx %= 2が1なので1*100で100がxに代入されると考えたのですが・・・。
仮に、前半の「x %= 2が1」が 先に実行されたとしても
後半の「1*100で100がxに代入される」は絶対ないだろ。
前半部分には代入演算子あるけど、後半には何処にも代入演算子が無いし。
314:デフォルトの名無しさん
07/04/11 22:52:28
equalsメソッドのオーバーライドについて質問です。制約として
・対称性 (symmetric): null 以外の参照値 x と y について、x.equals(y) は、y.equals(x) が true を返す場合だけ true を返す
などがありますが、これらの制約は、x,yが同クラスのインスタンスとしたことを前提としてるんですよね?
てなると、オーバーライドしたequalsメソッドで、AクラスオブジェクトとBクラスオブジェクトを
比較してtrueを返すような使われ方は、一般的ではないわけですか?
315:デフォルトの名無しさん
07/04/11 23:03:03
>>314
一般的ではないという以前に、別のクラスのオブジェクトが等しいとみなされる場合があるのか?
316:デフォルトの名無しさん
07/04/11 23:07:06
>>315
Mapのイコーリティって仕様で決まってんじゃなかったっけ。
317:デフォルトの名無しさん
07/04/12 00:17:17
>>314
そんな実装、やってみれば無謀な事がわかる
A の何と B の何を比べるつもりなのか
318:デフォルトの名無しさん
07/04/12 01:11:02
equals を再定義するにあたって、うっかり getClass の比較を忘れてたりすると、そんなことが起きたりする。
319:デフォルトの名無しさん
07/04/12 01:16:14
>>318
getClass() での比較忘れてても、キャスト時に ClassCastException が飛ぶだけでは?
320:デフォルトの名無しさん
07/04/12 01:17:22
generics使ってるとそんなequalsは使えない
Collectionで使う以外でequalsのオーバーライドはしたことないし
321:デフォルトの名無しさん
07/04/12 01:25:30
……。 Generics があっても equals の引数型は Object で固定だし。
322:デフォルトの名無しさん
07/04/12 01:37:36
>>319
ちがうちがう
class Sample {
private final String id;
// ...
public boolean equals(Object obj) {
return (obj instanceof Sample) && ((Sample)obj).name.equals(this.name);
}
}
適当だけど、こういうプログラムを昔よく書いてた経験がありましてですね。
尤も、この解決策は、
1) instanceof を getClass の比較に変更
2) Sample または equals の宣言に final をつける
3) クラスが異なっていても id が同じなら同じとみなすようにマニュアルを変更
の3種類あるけど。
323:デフォルトの名無しさん
07/04/12 01:41:34
いや、3種類も無いな。3番は忘れてくれ。
324:デフォルトの名無しさん
07/04/12 01:47:50
java.util.Date が3番(?)だったりする罠。
どーでも良いけど、3番だと実装が name 比較してるから拙い罠。
325:デフォルトの名無しさん
07/04/12 01:50:00
>>315
ListやMapの実装クラスは中身が一緒だったらequalsがtrueを返したような。
そういう意味ではクラス自体が違ってても等しいとみなしてよいことも
なくはない。
326:デフォルトの名無しさん
07/04/12 07:38:33
>>325
うん、普通にあるよな。
327:デフォルトの名無しさん
07/04/12 08:22:47
車を運転する簡単なゲームを作っています。
左回転と右回転で何故か回転半径が違ったりする問題はありますが、
とりあえず車の挙動は完成しました。
現在壁にぶつかったら止まる動作を作っているのですが、
どうも上手くいかずここに書き込ませていただいた次第です。
アプレットの赤い点は、画像の表示位置である(car_x, car_y)を示したものです。
現在はこの座標を衝突判定に使っているので、前進しながらこの点が黒枠にぶつかると止まるはずです。
画像を回転させているからか画像左上の角と赤い点が一致しないことがあり、悩んでいるのはその修正です。
crash_check()内にあるコメントアウトは私があれこれ考えて修正させてみた式なのですが、
この修正を行ってRectangleに修正値である(car_x_check, car_y_check)を用いてもそれはそれでおかしな点を指してしまいます。
アプレット左上の数値はcar_angle(車の向いている方向)を示しています。
画像の回転もこの数値を元に行われます。
ソース
URLリンク(www.za.ztv.ne.jp)
アプレット
URLリンク(www.za.ztv.ne.jp)
328:デフォルトの名無しさん
07/04/12 11:45:17
Javaの勉強をしようと思うのですが
触り始める前に前提知識としてこっちの言語かじっとけみたいなのってありますか
329:デフォルトの名無しさん
07/04/12 12:17:53
言語難易度
C#>JAVA>C>C++
言語ルーツ
1.C(基本情報技術者試験と一緒に学習すると効率が良い)
2.C++(Cを学習済みの人でないと厳しい)
3-1.JAVA(UMLの勉強と一緒に行うと効率が良い)
3-2.C#(VisualStudioでGUIの作成を一緒に学習すると効率が良い)
330:デフォルトの名無しさん
07/04/12 13:00:31
オブジェクト指向とMVCくらいは覚えた方が良いかも。
#ここでSmalltalkとか出してくると荒れる原因か・・・
俺はSelfの方が好きだが。
331:デフォルトの名無しさん
07/04/12 13:48:41
>>328
まず英語。
332:デフォルトの名無しさん
07/04/12 14:06:24
JAVA初心者にオススメのIDEを教えてください。
333:デフォルトの名無しさん
07/04/12 14:10:15
>>332
eclipse以上
334:332
07/04/12 14:21:18
ありがとうこざいます。
もうひとつ質問なんですが、携帯のアプリは専用のツールを用いないと作成できないのでしょうか?
335:デフォルトの名無しさん
07/04/12 14:33:06
うん
336:デフォルトの名無しさん
07/04/12 14:44:55
そのツールは、プログラミングするときに必要なのか、単にファイルを変換するときだけに必要なのかどちらなんでしょう?
337:デフォルトの名無しさん
07/04/12 15:24:03
javaでグラフ描画したいのですがどんな手法が ありますかね? 今のところJFreeChartがフリーだし シェア ○ 信頼性 ? 拡張性 ○ 性能 ○ と思ってるのですが他にいいヤツありますか?
338:デフォルトの名無しさん
07/04/12 16:18:59
うん
339:デフォルトの名無しさん
07/04/12 16:29:01
フリーソフト、シェアウェア使うなら使用許諾条件をきちんと読まないと
後で大変なことになるから気をつけた方がいいよ。
340:デフォルトの名無しさん
07/04/12 16:52:55
windows2000を使っています。
サーバプログラムを作成したのですが、
起動のときにコマンドプロンプトで
%JAVA_HOME%\bin\java.exe -server -classpath %CLASSPATH% MainClass
とやると、当たり前ですがコンソールが返ってきません。
%JAVA_HOME%\bin\javaw.exe -server -classpath %CLASSPATH% MainClass
とやると返ってくるのですが、
これをbatファイルに記述して、末尾に exit を追加。
これをダブルクリックしても自動でプロンプトが閉じてくれません。
このバッチファイルをダブルクリックで起動→プロンプト終了
とするにはどうすればいいのでしょうか?
341:デフォルトの名無しさん
07/04/12 17:40:51
>>340
スレ違い
スレリンク(tech板)l50
342:デフォルトの名無しさん
07/04/12 18:21:49
>>325-326
いやー。普通にあるんだけど、3番を解決策と言うのはちょっと違うと思いまして。
343:デフォルトの名無しさん
07/04/12 19:14:35
sjc-pの問題でコンパイルエラーが起きるか、それとも実行時エラーが起きるかっていう問題が
結構多いんだけど、この見分け方って経験しかないの?
344:デフォルトの名無しさん
07/04/12 19:19:10
コンパイルエラーは論理的に構文が間違っていると大抵起こるし、
実行時エラーは内部割込みを行うエラーと考えればわかると思うけど。
345:デフォルトの名無しさん
07/04/12 19:36:01
>>343
コンパイルは構文エラーで、実行時はぬるぽやら配列インデックスやら
まあ、後者は RuntimeException のサブクラスを見てみれば、色々有るでよ
346:デフォルトの名無しさん
07/04/12 19:37:43
>>343
言語仕様勉強すりゃ、どっちかわかる。
一部の実行時エラーはAPI仕様勉強しないとわからんかもしれんが。
347:デフォルトの名無しさん
07/04/12 19:52:13
まだ初心者なんで言語仕様よんでも理解できそうにないです。
RuntimeException のサブクラスが全部実行時エラーなんですか?
348:デフォルトの名無しさん
07/04/12 20:03:22
RuntimeExceptionとそのサブクラス
349:デフォルトの名無しさん
07/04/13 00:26:49
PipedInputStreamに1024バイト以上のデータを突っ込むとだんまりするんだけどなんで?
PipedOutputStream pos = null;PipedInputStream pis = null;DataOutputStream dos = null;
try{
pos = new PipedOutputStream();pis = new PipedInputStream(pos); dos = new DataOutputStream(pos);
for(int i = 0; i < 2048; i++){
dos.writeByte(1);
}
}catch(IOException e){
e.printStackTrace();
}finally{
try{
dos.close();pis.close(); pos.close();
}catch(IOException e){
e.printStackTrace();
}
}
350:デフォルトの名無しさん
07/04/13 00:43:17
Javaでの実装は知らんが一般にパイプは
突っ込むだけでは詰まるから適当に吸い出す必要あり。
351:デフォルトの名無しさん
07/04/13 00:46:05
>>349
書き込むばかりで読み出してないからだ。
PipedInputStreamのバッファサイズ以上のデータを書き込めばパイプが詰まるのは当たり前。
352:K.K.K
07/04/13 00:50:01
int[][] java = {
{100,200,300,400,500,600},
{10,20,30,40,50,60}
};
この2次元配列でこの部分の{100,200,300,400,500,600}配列のLengthを取得し
、そのLengthの1番目なら100と10を取得、2番目なら200と20を取得、、、
を取得したLength分したいのですが、どのようにすればいいんでしょうか?
353:デフォルトの名無しさん
07/04/13 01:09:25
int[][] java = {
{100,200,300,400,500,600},
{10,20,30,40,50,60}
};
for (int i = 0, length = java[0].length; i < length; i++) {
System.out.printf("%d: %d%n", java[0][i], java[1][i]);
}
354:デフォルトの名無しさん
07/04/13 01:13:05
>>337
が文字化けしてるのは俺だけ?
355:デフォルトの名無しさん
07/04/13 02:55:43
Mapを配列にいれてアクセスするにはどうすればいいですか?
getするところで 警告:[unchecked] 無検査変換ですになってしまう。
public static void main(String [] args) {
Map<String,String> [] maps = new HashMap[2];
maps[0] = new HashMap<String,String>();
maps[1] = new HashMap<String,String>();
maps[0].put("hoge","ほげ");
System.out.println(maps[0].get("hoge"));
}
356:デフォルトの名無しさん
07/04/13 02:56:49
genericsの仕様だから無理
357:デフォルトの名無しさん
07/04/13 02:57:29
まちがい
putするところで 警告:[unchecked] 無検査変換ですになってしまう。
358:デフォルトの名無しさん
07/04/13 02:58:29
げー、なんか抜け道ないかなぁ。
359:デフォルトの名無しさん
07/04/13 03:18:12
>>358
抜け道はない。
配列がだめならListを使えばいいじゃない。
public static void main(String[] args) {
List<Map<String,String>> maps = new ArrayList<Map<String, String>>(2);
maps.add(new HashMap<String, String>());
maps.add(new HashMap<String, String>());
maps.get(0).put("hoge","ほげ");
System.out.println(maps.get(0).get("hoge"));
}
360:デフォルトの名無しさん
07/04/13 04:10:06
>>359
おお、その手があったか!
ありがたう!
361:デフォルトの名無しさん
07/04/13 09:27:26
iアプリのテキストボックスで数値貰って計算したいんですが、
テキストボックスを文字禁止で数値限定にする方法ありますか?
362:デフォルトの名無しさん
07/04/13 11:33:36
よろしくお願いします。
Win2003 + Java + struts + spring + JDBC + Oracleでのシステムなのですが
不可思議な動きをして困っています。
例えばIDがユニークキーとなるテーブルがあったとして
//テーブルに該当するIDがあれば削除する。;
List ret = DBSearch.search(id);
if(ret != null || ret.isEmpty){
DBDelete del = new DBDelete();
del.delete(id);
}
//テーブルにレコードをinsert
DBInsert ins = new DBInsert();
ins.insert(id);
のようなロジックを組んで、実際にサーバ上で走らせてみるとDBのユニークキーエラーが出たり出なかったりします。
一度エラーが出ても、もう一回同じ処理を走らせると正常終了したりします。
どこかで「Javaのvoiのvoidは戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」
と言う話を聞いたことがありまして、
もしそうなら上記のdel.delete(id)よりも先にins.insert(id)が走ってしまい、ユニークキーエラーになるのかな
と思い御相談させていただきました。
「Javaのvoid関数は戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」
というのは本当でしょうか。?
意味がなくてもbooleanやlongなどの戻り値をつけたほうが良いのでしょうか??
363:デフォルトの名無しさん
07/04/13 11:38:08
>>362
心配ならレコードをinsertする処理の前に
IDが存在しなくなるまで抜けないループでもつければいいと思うが。
364:デフォルトの名無しさん
07/04/13 12:55:23
>>362
>「Javaのvoid関数は戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」
>というのは本当でしょうか。?
んなことはない。それが出来たらスレッドはいらなくなる。
予想するとこんな感じでは?
deleteとinsertで別のコネクションを使っていて、
delete側がcommitしないままコネクションを放置している。
365:デフォルトの名無しさん
07/04/13 12:56:55
>>362
メソッドの戻り値がvoidだというだけで非同期なメソッド呼び出しになるなんてことはありえない。
そんな言語仕様嫌過ぎる。
呼び出したメソッドの中で新たにスレッドを動かして、
そのスレッドの中で処理が続いているにも関わらずreturnする実装になっているとか、
呼び出したメソッドがさらに非同期なメソッド呼び出しを行っているとかしていない限り。
そのメソッドの仕様を見て非同期メソッド呼び出しになっていないか確認すれ。
もし非同期メソッドなら対処方法としては>>363でいいと思う。
366:デフォルトの名無しさん
07/04/13 13:02:44
class Hoge {
int x;
void A() { x=1; }
void B() { x=2; }
void C() { A(); B(); }
}
これでC()を呼び出した後でxの値がどうなるか分からないなんてJavaは酷い言語だなw
367:デフォルトの名無しさん
07/04/13 13:21:17
>>366
C() の内部の B() の呼び出しが終わって C() の呼び出しが終わる前に、
別のスレッドが x の値を書き換える可能性があるって話?
他の言語でも同じだと思うが。
368:デフォルトの名無しさん
07/04/13 13:24:47
synchronized
369:デフォルトの名無しさん
07/04/13 13:31:03
synchronized しても、 x は private じゃないのでパッケージ内の他のクラスから触り放題だよなぁ。
370:デフォルトの名無しさん
07/04/13 13:45:08
>>367
ちがうちがう
単に「Javaのvoid関数は戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」 んだったら
シングルスレッドだろうとxが2になっている保証はないと言いたいだけだ
371:デフォルトの名無しさん
07/04/13 13:54:10
>>370
言いたいことはわかるよ
要するに「( ´,_ゝ`)プッ」ってことだろ
372:デフォルトの名無しさん
07/04/13 14:18:41
>>362
ret != null || ret.isEmpty
ret が null じゃないか、もしくは、空ならば。
何行目でユニークキーエラーが出てるのかしら
373:デフォルトの名無しさん
07/04/13 15:51:57
JDKってどこでダウンロードできますか?
本に載ってるURLも、Sun社のサイトないのリンクも、
サーバエラーで見れません。
どなたか事情をご存知でしたら教えて下さい。
374:デフォルトの名無しさん
07/04/13 15:54:18
>>373
あ~さひがSUNSUN、おはよ~うSUN
375:デフォルトの名無しさん
07/04/13 16:29:58
>>373
>>1の
URLリンク(www.wikiroom.com)
からたどれる。
376:デフォルトの名無しさん
07/04/13 16:37:07
>>373
何処を見てエラーが出たのか知らんが、一応
Java SE Downloads
URLリンク(java.sun.com)
377:デフォルトの名無しさん
07/04/13 16:41:25
>>375
ありがとうございます。
「
JDK
つぎに必要になる物は、Javaのコンパイラです。 Javaのコンパイラは、
JDK(J2SE Development Kit)の中にふくまれています。つぎのサイトからJDKをダウンロードしてください。
ダウンロード Java 2 Platform Standard Edition 5.0 (J2SE)
」
のところですよね?
リンク先URLは URLリンク(java.sun.com) ですが、
やはりサーバエラーになります。URLが変わったんでしょうか?
何回やっても見れません。
378:デフォルトの名無しさん
07/04/13 16:46:18
>>377
見れるよ?
おまいんとこのプロバが経路障害起こしてるんかも
379:デフォルトの名無しさん
07/04/13 16:50:16
>>378
そうですか…問題はサイト側じゃないんですね。
プロバイダに問い合わせてみます。
380:デフォルトの名無しさん
07/04/13 17:47:21
OCNに電話したら20分待ち、サンに電話したら17:30まで
死ねよクズども 殿様営業しやがって
381:デフォルトの名無しさん
07/04/13 17:56:59
sun の web サイトは、いつの時代も何処に何があるのかわからない構造になってる。
ついでに URL もよく変わる。
URLリンク(java.sun.com)
382:デフォルトの名無しさん
07/04/13 18:06:52
SUNに繋がらん・・・
383:373
07/04/13 18:09:21
>>381
ありがとうございます。
SUNのサイトを見てみましたが、
URLリンク(jp.sun.com)<)
両方とも見れませんでした。
384:デフォルトの名無しさん
07/04/13 18:11:47
>>382-383
Sunからアク禁食らってるか
経路上のどこかのルータが死んでるか
DNSが引けてないかのどれかじゃない?
385:デフォルトの名無しさん
07/04/13 18:18:40
javaのサイトみれねぇ。
386:362
07/04/13 18:27:06
>>363-365
素早いアドバイス、本当にありがとうございます。
今回のシステムでは1ターンの中でスレッドを分けて処理をする、というようなことは行っていません。
SpringのJDBCDaoSupportを使ってDBとの通信をしており、
DataSourceにはorg.apache.commons.dbcpを使用してコネクションプールさせております。
DELETEとINSERTはそれぞれメソッド内でDataSourceを呼び出すので、可能性としては>>364が一番高い気がしてきました。
でも、コネクションを放置しているのならどうしてうまくいく場合もあるのでしょうか?必ず引っかかるような気がするのですが。。。
また無知のため
SqlUpdate update=new SqlUpdate(getDataSource(),QUERY_DELNYU);
int[] types={Types.VARCHAR};
Object[] params={
strnyuid
};
update.setTypes(types);
update.compile();
update.update(params);
のような記述をJDBCDaoSupport継承クラス内で行えば
update.update(params)を通過した時点で勝手にコミットされるものだと思っていました。
コミット処理を明示する方法を調べたのですが、該当するようなサイトに当たらなくて困っています。
ご存知の方はいらっしゃいますでしょうか。
>>372
すいません、書きまちがいです。ret != null || !ret.isEmpty です。
387:デフォルトの名無しさん
07/04/13 18:45:40
> tracert java.sun.com
16 152 ms 154 ms 153 ms ge-3-3.r03.snjsca04.us.ce.gin.ntt.net [128.241.219.6]
17 * * * Request timed out.
なんか1個死んでるっぽい
388:デフォルトの名無しさん
07/04/13 18:51:29
>>382-383 >>387
わたしのところからは
URLリンク(java.sun.com)
URLリンク(developers.sun.com)
URLリンク(www.sun.com)
どれもつながる
389:デフォルトの名無しさん
07/04/13 19:52:34
エクリプスでiアプリ作れますか?
390:デフォルトの名無しさん
07/04/13 19:52:41
俺のところからは全部見れない
391:デフォルトの名無しさん
07/04/13 21:00:24
繋がらないから様子を聞きにきたんだが、やっぱり繋がらないのか。
3日位前はみれたんだけどなぁ
392:デフォルトの名無しさん
07/04/13 21:04:48
どれも繋がるけど、jcp.org が古いまま。
URLリンク(journal.mycom.co.jp)
によれば、新しくなったはずなんだけど。
393:デフォルトの名無しさん
07/04/13 21:14:36
>>386
delとinsertで同じid使ってるから、
例えば同トランザクション内だと仮定するなら、元のidは、まだトランザクションログもろともテンポラリにあって、まだトランザクションログファイルに反映されていず、
従って、もっと単純に言うと、まだdelしているつもりのidが存在していて、
例えばハッシュのシノニム発生時のコンフリクトのような感じでエラー出してるのかなと。
起こる時と起きない時の違いがどうなっているか分からないけれど、if文に引っかからなきゃすんなり通るのかなと。
例えば、insertの前にもう一個if文を、例えば、
if(ret = null || ret.isEmpty){
などとやったらどうなるのかなと。
394:362
07/04/13 21:39:22
>>393
>例えば、insertの前にもう一個if文を、例えば、
>if(ret = null || ret.isEmpty){
>などとやったらどうなるのかなと。
そうすると、delしているつもりのidがまだ残っていた場合insertされないまま正常終了してしまうので
正常に終わっているのにデータが入っていない、と言う状態になってしまうような気がします。
そーすると、やはり>>363のような方法で回避するしか方法はないのでしょうか。
よくわからないのは>>386のようなコードを通った(制御が呼び出し元にきた)のに
DBのdeleteやinsertの処理が終わっていない、と言うことはありえるのかどうか、というところなんです。
理想は、というか普通はコネクションプールを使っても、SpringのJDBC抽象化クラスに処理を任せていても、
deleteの処理でDBにSQLを投げたら、DBの処理が完全に終わってから次の処理に移行するものだと思うのですが。。。
395:デフォルトの名無しさん
07/04/13 22:00:54
1.レベル1(直線発生アルゴリズム)
直線式を用いて(100,100)から(600,300)の2次元座標点を結ぶ直線と、(100,100)から(300,600)の点を結ぶ直線を描画する。直線の色は視覚可能な色であれば任意とする。JavaのPolylineなど直線描画関数を使用しない。
2.レベル2(3次元デプスキューイング・アルゴリズム)
(100,100,0)から(600,300,100)の3次元座標点を結ぶ直線を描画する際、z値の座標値を輝度と見なしてz=0の点の輝度を0(最小値)、z=100の点の輝度を255(最大値)として描画する。直線の色は視覚可能な色であれば任意とする。
これ解ける?
396:デフォルトの名無しさん
07/04/13 22:08:28
>>394
>例えば、insertの前にもう一個if文を、例えば、
>if(ret = null || ret.isEmpty){
>などとやったらどうなるのかなと。
というのは、採用するためというより現象確認、切り分けの手段としてどうかなと。
>回避の方法
deleteとinsertの間にcheckpointステートメントを使って、強制的にデバイスに反映させるというのはどうでしょ。
397:デフォルトの名無しさん
07/04/13 22:08:41
>>395
ブレゼンハムアルゴリズム使えばできるでしょ。あと、宿題なら宿題スレで。
★★ Java の宿題ここで答えます Part 60 ★★
スレリンク(tech板)
398:デフォルトの名無しさん
07/04/13 22:13:18
すみませんcheckpointステートメント実行は、
動作が重くなる可能性があるし、バックアップ計画に反する可能性もあるのでよくないですね。
失礼しました。
399:デフォルトの名無しさん
07/04/13 22:13:33
>>397
スレ違いスマソ。
授業でCGの基礎ってことで始めの問題なんです。
400:デフォルトの名無しさん
07/04/13 22:21:24
訂正
バックアップ計画>バックアップからの復元計画
401:デフォルトの名無しさん
07/04/13 23:03:58
javaでCGを始めたいのですが、オヌヌメの初心者用サイトがあったら教えていただけるとありがたいです。
402:デフォルトの名無しさん
07/04/13 23:05:48
>>394
Springはトランザクション管理で操作するっぽい。
使った事無いし、ぐぐって、2件見ただけなので良く分からん。
あるトランザクションでdeleteを実行した後、
新しいトランザクションでinsertを実行すれば良いのかね
403:デフォルトの名無しさん
07/04/13 23:38:04
Jcpad使ってるんだけど、classpathの設定ってどこでやるの?
404:デフォルトの名無しさん
07/04/14 00:05:23
調べてはみたのですが、Windows2000とJava実行環境の間に、「相性」はありますか?
1.4シリーズだといい、や、1.5シリーズだとあまりよくない・・・など、些細なことでもいいので情報いただければと思います。
質問を上手く表現できず、すみません^^;
Java実行環境のバージョンとOSのバージョンとにそれぞれ相性があるのか、
個人的に知りたく思っています。
もし、説明URLなどがあれば教えていただければと思います。
例)
Aの動作環境
Windows2000 SP4
InternetExplorer6.02 SP1
J2SE 1.4.2_13
Bの動作環境
Windows2000 SP4
InternetExplorer6.02 SP1
J2SE 5.0_11
AとBで、動作の上で差異はありますか?
ぜひ、回答よろしくお願いします。
405:デフォルトの名無しさん
07/04/14 00:11:25
気にするもんでもない
406:デフォルトの名無しさん
07/04/14 00:48:29
>>382
nslookupの結果
java.sun.com 72.5.124.55
developers.sun.com 72.5.124.65
www.sun.com 72.5.124.61
URLリンク(72.5.124.55)
407:デフォルトの名無しさん
07/04/14 01:00:31
>>406
いや、今は java.sun.com でも見れる
408:デフォルトの名無しさん
07/04/14 02:45:53
>>386
spring使ってんだよな?
まず、
>DBDelete del = new DBDelete();
みたいに
それぞれのビジネスロジックの中で新規にインスタンスかするのはおかしい
通常Singletonだよな
なおかつ、springに任せるならInjectionかBeanFacroty.get()だよな
だれにトランザクションを任せるつもりなのか?
もし、springに任せるならちゃんとお作法に従ったほうがいいかと
409:デフォルトの名無しさん
07/04/14 08:01:22
>>403
設定 - 高度な設定 - 追加する環境変数
CLASSPATH=%CLASSPATH%;C:\javalib\alib.jar;.
OSの環境変数CLASSPATHを変えてもOK
410:デフォルトの名無しさん
07/04/14 12:20:24
問題が解けなくて困ってます。
実行時、数個入力した順の値を
逆から入力した順に値を表示するにはどうしたらいいんですか?
1、2、3、4、5→5、4、3、2、1
ご教授お願いします。
411:デフォルトの名無しさん
07/04/14 12:24:31
>>410
スタックも知らないのか?
まず、基本情報技術者試験の勉強をお勧めする。
412:デフォルトの名無しさん
07/04/14 12:26:44
>>411
スタック調べて見ます。
ありがとうございます。
413:デフォルトの名無しさん
07/04/14 13:25:02
PreparedStatementについて質問。
String sql = "select * from table where name=? and updated_at=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setObject(1, name); <-- String型
stmt.setObject(2, updated_at); <-- Timestamp型
こんな風にPreparedStatementで、どんな型であれsetObject使っても
うまくSQL通るのかな。
だとするとsetIntとかsetStringとか不要??
414:デフォルトの名無しさん
07/04/14 13:34:26
javaは
もしかしてmainメソッドの戻り値は
voidしか許されないのでしょうか?
415:デフォルトの名無しさん
07/04/14 13:44:24
>>414
JLS 12.1.4
The method main must be declared public, static, and void.
It must accept a single argument that is an array of strings.
mainメソッドはpublic, static, voidと宣言されなければならない。
文字列(*)の配列を1つだけ受け付けなければならない。
* java.lang.String
416:デフォルトの名無しさん
07/04/14 13:51:08
>>413
JDBCのjavadoc見る限りではそうならないように読める。
ひょっとしたらJDBCドライバによってはうまくいくかもしれない。疑問に思ったらやってみ。
417:デフォルトの名無しさん
07/04/14 14:33:40
Javaでバリバリ仕事して飯食ってる人にお願いがある。
そのレベルに到達するまでの軌跡を教えてくれないか・・・・
先人の歩んだ道をストーキングしたいんだ!
俺は必死なんだ!
418:デフォルトの名無しさん
07/04/14 15:04:28
>>417
ばりばりって。。。。そういう会社に勤めりゃいいだけだと思うが
419:デフォルトの名無しさん
07/04/14 15:41:00
>>417
まずC言語の習得から始めるのがいいと思うよ
というのがいろんな言語を渡り歩いた俺の結論
420:デフォルトの名無しさん
07/04/14 15:43:18
>>419
はい。C言語は習得済みです!
421:デフォルトの名無しさん
07/04/14 15:44:58
習得しましたとかマスターしましたとか言うやつはどうも信用できないやつが多い気がする
422:デフォルトの名無しさん
07/04/14 15:49:19
>>421
構文を習得したのか程度なのか、
実際にプログラムをいくつも作成してマスターしたのか不明だからな
423:デフォルトの名無しさん
07/04/14 15:50:12
したのか程度
424:デフォルトの名無しさん
07/04/14 15:56:14
Cで売り物のソフトを作ったりもしてるが、マスターしたとはおこがましくて言えないぜ。
そんな俺にもアドバイスしてくれまいか。>>419
425:デフォルトの名無しさん
07/04/14 15:56:58
売り物のソフト作ってるならマスターしたといってもいいんじゃないの。
C言語で飯食ってるのとほぼ同義だし。
426:デフォルトの名無しさん
07/04/14 15:59:27
売り物のソースコードには、とてもそうは言えなくなる内容のもあるのだよ。
427:デフォルトの名無しさん
07/04/14 16:17:44
右クリックなど、イベントを登録可能な図形を描画する方法はないでしょうか?
いままではGeneralPathクラスを使って図形を描画していたのですが、このオブジェクトにはイベントを登録できませんでした…。
428:デフォルトの名無しさん
07/04/14 16:25:50
思いついたのは、
A: それらの部品はShapeとして描画して、イベントは親コンポーネントで拾う。
どのShapeの中で発生したイベントかは、管理しているShapeのそれぞれに対し
てそれぞれcontains(x, y)で調べる。
B: JComponentを継承して自身を非矩形に描画する。
イベントは普通に拾える。透明部分でも拾っちゃうかも。
ヒント(setOpaque(false))
429:427
07/04/14 16:34:50
ありがとうございます!
教えていただいた方法を試してみます。
430:デフォルトの名無しさん
07/04/14 16:35:17
>>427
自前で作ればいいだけでは?
GeneralPathのAPIみたけど余裕で実装可能
contains()系を活用してイベントルートをつくりあげればおK
431:デフォルトの名無しさん
07/04/14 16:38:53
>>417
まずは、MSX BASICだろ。次が、Z80アセンブリ言語。それからC言語やって、Fortanかじって
Pascalかじって、Perlいつの間にか出来るようになってて、Javaは1.0.2から勉強。
Java1.1でプログラム書いて、Swing以前のJFC使って、Java1.2になってJava1.3に昇格。
Java1.4の速さに感動して。
ここで俺はようやくJavaで飯が食えるようになった。
しっかりストーキングヨロシク頼む。手抜きは許さんぞ。
432:デフォルトの名無しさん
07/04/14 16:44:04
>>431
なんか似たような経歴の人が、、、もしかして同年代くらい?
もっとも俺はCOBOLが最初でPL/IとMSXいじりが並行というパターン
433:デフォルトの名無しさん
07/04/14 16:45:02
>>431のストーキングには20年かかりそうだ・・・
434:デフォルトの名無しさん
07/04/14 18:14:13
はっきりいって、プログラミングで飯が食えるようになりたかったら
業務にもっともプログラム言語を選択してから使えるようになれば良い。
クライアントアプリならJavaよりVC、VB系の方が使えるし、
WebアプリならUnix系OSならJavaでWindowsなら.NET使った方が
効率が良い。
別にプログラム言語なんてコンパイルしたらみんな機械語になるんだ
(インタプリタ等は違うとか揚げ足取りはいらないよ)
あまり言語にこだわる必要はない。
435:デフォルトの名無しさん
07/04/14 18:53:05
>>417
Javaに限らずプログラミング言語習得するなら
・とにかく手を動かして(ちゃんと動く)物をたくさんつくる
・他人の書いたプログラムをよく読んで理解する
経験上この2点が重要ではないかと思ふ
まぁ本だけ見て頭でっかちになるよりはましかと
>>431
同志!!
436:デフォルトの名無しさん
07/04/14 18:54:38
プログラム系はGPL関連に気をつけないといけないことがあるから
それについても勉強しないといけないよね
437:427
07/04/14 19:16:21
>>428>>430
アドバイスありがとうございました。
図形に対して、containsを使うことでクリックを拾わせることができました。
各図形はGeneralPath gp で定義しています。
クリックされた座標を Point point = MouseEvent.getPoint で取得
↓
gp.contains(point) == TRUE であれば図形gpに応じたイベント処理
長方形や円形など、幅のある図形はこの方法でイベントを発生させることができました。
ただ、折れ線などの線分の場合、細すぎてクリックを拾ってくれません…。
各折れ線は、moveToやlineToを利用してGeneralPathとして定義しています。
クリックできる領域を広げるために、折れ線から少し離れた上下に同じものを1つずつ用意し、
これらを合成すればいいのかなと思いました。
でもこの場合、複数の折れ線を合成する方法でつまずいています…。
折れ線など、幅のない図形にクリックイベントを拾わせるには、どうすればよいでしょうか?
438:デフォルトの名無しさん
07/04/14 19:22:13
containsをオーバーライドして、もうちょっと広い範囲を内側と認識する
ように……しちゃってもいいもんだろうか。
ドローツールだと、操作用のハンドルオブジェクトみたいなのを線の両端に
つけてことが多いんじゃない?
439:デフォルトの名無しさん
07/04/14 19:24:47
>>437
折れ線だと各ポイントの座標を押さえてるだろうから
その座標を+ーして少しずらした幅のある四角形(平行四辺形)のパスを
判定用に作ってそれを使って座標を判定するということをやってた
もっといい方法を俺も知りたい
440:デフォルトの名無しさん
07/04/14 19:33:56
ちょち追加
平行四辺形を作るときに元の線分の角度によって
X座標を平行にするかY座標を平行にするかを決める
そうしないと角度によってマウスを判定しにくくなる
441:427
07/04/14 20:05:35
アドバイスありがとうございます。
>>438
containsのオーバーライドは考え付きませんでした。
どのようにオーバーライドすればいいか、考えてみます。
>>439
折れ線全体ではなくて、折れ線の各ポイントに、クリックできる領域を作るんですね。
難しそうですが、やってみたいと思います。
作ろうとしてるプログラムは、csv形式のデータを読み込み、折れ線グラフで表示するというものです。
各折れ線グラフを右クリックするとJPopupMenuが表示されて、そのメニューの中で折れ線の色や
線の形状(破線や実線)を変更できるようにしたいと思っています。
JMenuBarで各折れ線の色と形状の変更メニューも作ろうと思うのですが、やはり折れ線を直接右クリックして
変更できたほうが、操作しやすくなると思いまして…。
442:デフォルトの名無しさん
07/04/14 20:11:10
containsは他で使っているかもしれないから、内外判定は使う側に
作って、折れ線に対しては自前でロジックを実装、他についてはcontains
に丸投げ、みたいな造りにした方がいいかも知れない。
型を見ることになるのでダサイかもしれないけど。
443:デフォルトの名無しさん
07/04/14 20:12:27
>>441
その目的なら平行四辺形でオK
マウスのX座標を見るだけでどの線分を判定すればいいかすぐわかるから
平行四辺形作成は一回だけで判定が終わる
444:デフォルトの名無しさん
07/04/14 20:43:49
staticメソッドがマルチスレッドでどのように動作するかわかりません。
あるclassに一つのstaticメソッド static func (Map data,String time) : void がある。
funcでは、仮引数であるdataのオブジェクトの中身を参照して、標準出力へダンプ結果を出力している。
funcはマルチスレッド中で利用してよい?
↓こうなることはある?
A-thread func実行
A-thread ダンプ中
B-thread func実行
B-thread ダンプ中
B-thread 処理終了
A-thread 処理終了
て動作になったとすると、B-threadがダンプしている最中に、A-threadに切り替わったら、staticメソッドの仮引数dataはどっちのもの?
445:デフォルトの名無しさん
07/04/14 20:47:10
>>444
仮引数はスレッドごとにスタックに積まれるだろ
この場合のスレッドでの問題はstatic変数
446:デフォルトの名無しさん
07/04/14 20:56:53
>>>445 ありがと
staticメソッドもそうなるのですね。
staticでないメソッドと何が違うんでしょう?
staticでないメソッドもインスタンス変数を扱うとロックしないとダメですよね。
会社の先輩が、staticメソッドをWEBサーブレットで使うなって言って、何で?って言ったら、
勉強してこいって言われました。
仮引数(ログファイルに吐く文字列:Map)を整形して出力する処理もダメなのか~~~?
447:デフォルトの名無しさん
07/04/14 21:02:26
その先輩が池沼か、貴方の聞き間違い
448:デフォルトの名無しさん
07/04/14 21:07:38
コンソール画面をクリアにしたいのですが、どのような処理を記述すればいいのでしょうか?
449:デフォルトの名無しさん
07/04/14 21:34:03
>>446
引数は、スレッド側の所属だろ?
staticメソッドを半端に使うと問題になる
絶対使っては行けない訳じゃなかったよな?
EJBのStatefulSessionBeanで、インスタンス変数を使っちゃ駄目っていう決まり
の理由と同じくマルチスレッドでどう動くかってとこがポイントだな。
450:デフォルトの名無しさん
07/04/14 21:43:38
背景をスクロールさせたいのですが、
全面画像を使っているので描画が凄く重いんです。
drawImageを使わない方法とか、
描画を高速化できる方法ってありますか?
451:デフォルトの名無しさん
07/04/14 23:08:21
大学のCGの授業なのですが
直線式を用いて(100,100)から(600,300)の2次元座標点を結ぶ直線と、(100,100)から(300,600)の点を結ぶ直線を描画する。
直線の色は視覚可能な色であれば任意とする。
JavaのPolylineなど直線描画関数を使用しない。
という課題を出されてまして。
これはアプレットのg.drawLine()を使ってやれと言うことですか?
>JavaのPolylineなど直線描画関数を使用しない。
この事の意味が解らなくて・・・
よろしくお願いします。
452:デフォルトの名無しさん
07/04/14 23:23:17
>>446
ロックでは解決しない問題もある
インスタンス変数はインスタンスごとに存在するが
static変数は一つしか存在しない
それをスレッドごとに書き換えるなんてまねをしたらどうなると思う?
いくらロックしたところで上書きされた値は戻ってこない
staticメソッドをマルチスレッドで使う場合はその辺りを注意する
static変数は定数として読み出しにだけ使うなら構わない
JavaにはThreadLocalというクラスが用意されているので
それを使えばstatic変数でも書き換え可能な仕組みは作れる
453:デフォルトの名無しさん
07/04/14 23:27:35
>>451
ドットで描画しろってことだろう
これは1次方程式が解けるなら楽勝だろ
454:デフォルトの名無しさん
07/04/14 23:54:34
>>451
つか同じ質問が昨日
スレリンク(tech板)
にあがっていたわけだが…同じがっこの人?
455:デフォルトの名無しさん
07/04/14 23:59:44
>>454
>>395からの誘導。
ということで>>451は過去スレも過去レスも読まない自力更生できない人。
456:デフォルトの名無しさん
07/04/15 00:01:14
>>453
ありがとう御座います。
ドットでちまちまやれって事ですか・・・
>>454
宿題スレに上がってましたか・・・失礼しました
たぶん同じ学校・・・ってか100%同じクラスの奴ですわ
457:デフォルトの名無しさん
07/04/15 00:21:14
線を描くというのがどういうことかを理解させる課題だろうね。
そのあとブレゼンハムのアルゴリズムとかを教えるんだろう。
CGの授業なら。
458:デフォルトの名無しさん
07/04/15 00:47:52
>>457
ブレゼンハムのアルゴリズムっての使う機会もないだろうけど
見てみたらすげー単純だね
最初に解像度に合わせた最小の増分を計算してそれを足していくだけか
459:デフォルトの名無しさん
07/04/15 00:51:01
>>452
つか、サーブレットなんだから、
staticだろうとそうでなかろうと無暗にフィールド変数作ったらだめだろ。
そうでなくとも、普通に考えてスレッドプール使うだろうからThreadLocalでもだめだろ。
460:デフォルトの名無しさん
07/04/15 02:02:08
フォルダ内のファイルをすべて読み込んで、自分が指定する文字列を付加したりしたいのですが
どのAPIを使えばよいのでしょうか?
461:デフォルトの名無しさん
07/04/15 02:06:33
>>460
ファイル名の扱いだけの話なら java.io.Fileに必要なAPIはある。
文字列を付加するのがファイル名末尾にならFile#renameTo。
ファイル内容の末尾に付加したいのなら java.ioの中のAPIも必要になる。
462:デフォルトの名無しさん
07/04/15 06:58:59
ランタイムのアップデートが来るたびに
アップデート用ファイルが増えていくんだけど
これは削除しない方がいいのか?
J2SE Runtime Environment 5.0 Update 5~11
Java(TM) SE Runtime Environment 6 Update 1
このように5.0で1GB近く積もっているけど正直使わないものなんじゃないかと思うんだ
463:デフォルトの名無しさん
07/04/15 08:44:01
流れ図作成用定規 は一般的にどこに売ってるんですか?
464:デフォルトの名無しさん
07/04/15 09:09:23
リソースのアクセス方法なんですが、
test (package名です)
AAA.java
AAA.class
resource
b.jpg
c.mid
のようなディレクトリ構造になっているとき、AAA.classからresourceにアクセスするのに
getClass().getResource("../resource/b.jpg")
のようにアクセスしてます。こうするとeclipse上では問題なく動くのにコマンドラインで
java test.AAA
としたりjarに固めてダブルクリック実行するとリソースが見つかりません。
どのようにすればよいでしょうか。
465:デフォルトの名無しさん
07/04/15 09:53:23
>>462
使いたいのだけ残して消していいよ。
466:デフォルトの名無しさん
07/04/15 10:27:25
getClass().getClassLoader().getResource("resource/b.jpg")
467:デフォルトの名無しさん
07/04/15 12:17:03
コマンドプロンプトで
2+3=
のように計算式を表示し、BufferedReaderのreadLine()でキーボードからの数字の入力を読み取って、合っていたら
2+3=5 ○
のように答えの後に○×を表示させたいのですが、
2+3=5
○
のように○が次の行に表示されてしまいます。
何かいい手があれば教えて下さい。
468:デフォルトの名無しさん
07/04/15 12:31:28
printf
469:デフォルトの名無しさん
07/04/15 12:33:12
>>468
5の後ろで人がリターン押したのをエコーバックするかしないかを
制御する話だろ。ピュアJavaでは無理じゃないか?
470:デフォルトの名無しさん
07/04/15 16:06:43
>>466
ありがとうございます。
でもまだEclipseで実行したときとコマンドラインでjavaコマンドで実行したときに動作が違いますorz
なぜかわかりませんがmidiが鳴らない。読み込めてはいるみたいだけど。
471:デフォルトの名無しさん
07/04/15 16:10:30
Eclipseはjavaコマンドと違ってパス名とか勝手に変えてしまうことがあるんでしょうか?
同じプログラムなのに動作が違うなんて信じられません・・・
472:デフォルトの名無しさん
07/04/15 16:22:19
>>471
そういう愚痴はリソース名がどう解釈されるか説明できるようになってから
言ってくれ。
473:デフォルトの名無しさん
07/04/15 17:11:35
ヨロシクお願いします。
クリップボードから画像ファイルを取得したいのですが、どうすれば良いでしょうか?
474:473
07/04/15 17:13:40
追加で、
スクリーンショットや、画像ファイルをコピーした後です。
475:デフォルトの名無しさん
07/04/15 17:20:55
基本情報試験をJavaで受けるんでJavaの勉強を始めようと思うんですが
基本情報試験を視野に入れたお勧めの参考書ありませんか?現在のスキルは0と言っていいです。
476:デフォルトの名無しさん
07/04/15 17:25:47
>>474
とりあえず java.awt.datatransfer を勉強する。
477:デフォルトの名無しさん
07/04/15 17:29:19
Clipboardから始めて、必要そうなメソッドを追っていけば書けるな。
478:473
07/04/15 17:37:22
>>476,477
ありがとうございます、クラスから探ってみます^^
479:デフォルトの名無しさん
07/04/15 17:58:53
>>465
㌧クス
6は5.0の上位互換ということで5.0シリーズは削除していいんだよな?
480:デフォルトの名無しさん
07/04/15 18:25:00
エラー出る。助けて。
import java.io.*;
public class ace1
{
public static void main(String[] args)
throws IOException
{
System.out.println("正方形の辺の長さを入力して下さい。");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int wis Integer.parseInt(str);
System.out.println("正方形の面積は" + (wis * wis) + "です。");
}
}
C:\benkyou\renshuu>javac ace1.java
ace1.java:15: ';' がありません。
int wis Integer.parseInt(str);
^
エラー 1 個
481:480
07/04/15 18:26:18
= 入れ忘れてた。
解決しました、ごめん。
482:デフォルトの名無しさん
07/04/15 18:30:58
>>470
読み込めてはいるみたいなんだったら問題はリソース読み込みのところじゃないだろ
483:デフォルトの名無しさん
07/04/15 18:32:25
解決はえええええええええええええええ
484:デフォルトの名無しさん
07/04/15 18:36:58
他人に問題点を説明しようとした途端気が付くことはよくある。
人間に聞いてもらうのはコストが高いからテディベアを置いとくべきだな。
485:デフォルトの名無しさん
07/04/15 18:41:02
1以上って条件がi以上になっててずっと悩んでたことがある
486:デフォルトの名無しさん
07/04/15 18:50:40
>>484
おすすめのテディベアを教えてくれるスレはありますか?名前もお願いします。
487:デフォルトの名無しさん
07/04/15 19:43:49
今日本やサイトでjavaを勉強し始めたところです。
超初歩的な質問お許し下さい。
Win XPのマシンにJDK1.6.0_01をインストールし、ユーザ環境設定をしました。
コマンドプロンプトで正常にインストールされていることも確認しました。
で、下記の内容でテキストファイルを作成し、
「
public class HelloWorld {
public static void main (String[] args) {
System.out.println("Hello World !!");
}
}
」
「HelloWorld.java」と名付けて保存し、「javac HelloWorld.java」を実行したところ、
「'javac'は、内部コマンドまたは外部コマンド
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
と出てしまいました。
何が下原因なのでしょうか?よろしくお願いします。
488:デフォルトの名無しさん
07/04/15 19:55:27
>>487
>>1
489:362
07/04/15 22:40:25
>>396
checkpointステートメントと言うのを調べてみたのですが、Oracleでは該当するようなものを見つけられませんでした。。。
>>402
トランザクションを分けると、余計deleteとinsertの同期が取れなくなるような気がします。
springデフォルトのorg.springframework.jdbc.datasource.DriverManagerDataSourceには
トランザクション管理機能が付与されている、という書き方がされているサイトがあります。
(URLリンク(works.dgic.co.jp))
ということはorg.apache.commons.dbcp.BasicDataSourceをspringで使うと
トランザクション管理が働かず、ひとつひとつのメソッドでのDB通信がバラバラに行われている、と言うことなのでしょうか??
490:デフォルトの名無しさん
07/04/16 00:29:11
>>486
スレリンク(doll板)l50
周囲の人間から見て一番いいのは、頭の中の仮想人物にテレパシーで相談して、
見た目には沈思状態を保っていることだ。
491:デフォルトの名無しさん
07/04/16 09:52:30
最近
ArrayList<String> hoge = new ArrayList<String>();
とか見かけるんですが、こんなキモイ構文
いつからあったんですか?
492:デフォルトの名無しさん
07/04/16 10:00:31
これから学校で習うけどJAVAとC言語の違いって何?と素人が質問してみる
493:デフォルトの名無しさん
07/04/16 10:08:55
>>492
たぶん地球と火星くらい違う
494:デフォルトの名無しさん
07/04/16 10:38:07
習えば分かる
495:デフォルトの名無しさん
07/04/16 10:38:46
イタリアと日本くらい違う
496:デフォルトの名無しさん
07/04/16 11:17:48
>>491
J2SE 5.0から。これからのスタンダードだ。覚えとけ。
497:473
07/04/16 12:32:56
おかげさまで、クリップボードからデータ取得が行なえました。
一つ質問なのですが、
エクセルのクリップボードからはデータの取得は行なえるのでしょうか?
複数の画像と文字列がクリップボードにある状態からです
498:デフォルトの名無しさん
07/04/16 13:58:30
質問なのですが、特定のパッケージ内の全クラスの
クラスオブジェクトを取得するにはどうしたらいいですか?
499:451
07/04/16 14:21:27
>>451
自分なりにやってみたのですが
package xxxxx;
import java.applet.*;
import java.awt.*;
public class xxxxx extends Applet {
public void paint1 (Graphics g, double x, double y) {
g.setColor(Color.black);
g.fillRect((int)x,(int)y,1,1);
}
public void line (Graphics g,double x, double y) {
double x1 = x;
double y1 = y;
y1 = 2/5*x1+60;
for (x1 = 100; x1 ==600; x1 += 1) {
y1 = 2/5*x1+60;
paint1(g,x1,y1);
}
}
}
計算はこんな感じでいいでしょうか?
それと実行しても何も表示されないで真っ白のままなのですが、何故かわかりません・・・。
よろしくお願いします。
500:デフォルトの名無しさん
07/04/16 15:05:30
>>451さん、自分でやってみるのはいい事だと思います。
実行しても何も表示されないのは、正しい動作だ。
このやり方をするなら
(1) y1 = 2 * x1 / 5 + 60
順序を変えるのは、定数と変数の型が関連している。
(2) y1 = 2 / 5 * x1 + 60
だと、2/5が先に計算され、それは整数なので0になる。
その結果、ループの全てで0になる。
(1) だと、2 * x1 が先に計算される。すると、精度の高いx1に暗黙的に型変換されて
double型の結果になる。残りの `/ 5 + 60' も次々と型変換される。
面倒せずに安全に計算するなら、定数を全て実数型にすること。定数に`.0'を付加するだけでよい
y1 = 2.0 / 5.0 * x1 + 60.0
501:500
07/04/16 15:28:30
ちなみに、この方法で作成したプログラムの評価は全体の真ん中ぐらい・・と思う。
出題者の真の意図は、傾きが45゚より大きいか小さいかできれいな線が書けるか、
ということだと思います。私だったら、傾きによって y1=... と x1=... に分けます。
他に減点対象があるとしたら
・ループ変数に実数を使っている。(場合によってループは終わらなくなる)
・2、5、60など、問題には書かれてない数値を多用している。
(これはマジックナンバーといって、プログラムを読みにくくする)
などですが、宿題に間に合う程度に考えてみては。
とにかく点をとりたいならJavaの宿題答えますスレでもいいけど、実力がつく方がいいでしょう?
502:デフォルトの名無しさん
07/04/16 16:26:16
>>491
D&E 確認したけど、その構文は80年代後半には既にあったっぽいよ。
503:500
07/04/16 16:57:13
アー、
for (x1 = 100; x1 ==600; x1 += 1) {
は、
for (x1 = 100; x1 < 600; x1 += 1) {
だな。
504:デフォルトの名無しさん
07/04/16 18:34:21
Java Updateキター
505:デフォルトの名無しさん
07/04/16 18:46:14
学校でC言語習ったんだがオブジェクト指向とか概要しか知らない俺にjavaを初歩から学ぶ為のオススメの本とか無い?
スレとしてテンプレ的な初学者用の本とか
506:デフォルトの名無しさん
07/04/16 18:51:15
Java6になって何が変わったんだっけ?
507:デフォルトの名無しさん
07/04/16 19:13:20
URLリンク(java.sun.com)
508:デフォルトの名無しさん
07/04/16 19:24:37
大文字A小文字a等、文字の大小を比較するために、uncodeを調べたいです
何をどの様に使えばいいんですか?
String str="A";
int a=Integer.valueOf(str).intValue();
System.out.println(str);
で、組んだところ
Exception in thread "main" java.lang.NumberFormatException: For input string: "A"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at q3.main(q3.java:4)
と、吐き出されました
509:デフォルトの名無しさん
07/04/16 19:32:11
char chA = 'A';
char cha = 'a';
charの実体は数値。あとはCharacterクラスのAPI調べる。
510:デフォルトの名無しさん
07/04/16 19:59:07
ウンコードワロタ
511:デフォルトの名無しさん
07/04/16 20:01:44
>>508
uncode?
512:451
07/04/16 20:33:49
>>500
回答どうもです!
アドバイスを元に弄りなおして何とか無事に出来ました
ありがとう御座いました。
513:デフォルトの名無しさん
07/04/16 20:57:25
>>497
エクセル持ってないんだが、エクセルのデータ(表全選択?)は、おそらく、
生のエクセルデータ (application/vnd.ms-exel ?)
テキストデータ (text/cvs ?)
など複数の形で取得できる状態でクリップボードに入っていると思う。
その状態でTransferableを取ってくるところまでは出来たものとして、
for (DataFlavor df : trans.getTransferDataFlavors()) {
System.out.println(df);
}
してみるとどんな情報が得られるでしょう?
画像として取れるようなら問題ないんだけど、そうでなければ無理かも。
514:500
07/04/16 20:57:34
>>451
どういたしまして。お礼を言われると嬉しいです。
515:デフォルトの名無しさん
07/04/16 22:18:24
>>489
ALTER SYSTEM CHECKPOINT
けれど、自身使ったことは無い
516:デフォルトの名無しさん
07/04/16 22:35:13
>>508
Unicodeのこと?String#charAt(int)で取得できるけど。
ただ、文字の大小比較が目的なら、charAt()よりはequals()の方が便利だけどね。用途に寄るけど。
517:デフォルトの名無しさん
07/04/16 22:42:40
……大小比較で equals?
518:デフォルトの名無しさん
07/04/17 03:15:09
____
/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ 文字の大小比較が目的なら、charAt()よりはequals()の方が便利だけどね。
| |r┬-| | 用途に寄るけど。
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // だっておwwwwwwwwwwwwwwwwwww
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
519:デフォルトの名無しさん
07/04/17 10:05:42
プログラマーの人に質問、
一日中パソコンにむかっているの?目が疲れたりしない?
仕事は過酷ですか?教えて
520:デフォルトの名無しさん
07/04/17 10:18:48
まず、確実に飛蚊症にはなるわな
521:デフォルトの名無しさん
07/04/17 10:25:45
俺のパソコンに.java.policyっていうファイルがあってこんな中身なんだけど、どのくらいヤバいですか?
grant {
permission java.io.FilePermission "<<ALL FILES>>", "read, execute";
permission java.util.PropertyPermission "user.home", "read";
permission java.util.PropertyPermission "file.encoding", "read";
};
522:デフォルトの名無しさん
07/04/17 16:26:44
GEFを使用して、画面設計してGEF内にある
ZoomInとZoomOutを実装したのですが、いざキーに割り振ろうとして
getSite().getKeyBindingService().registerAction(zoomIn);
と記述すると、
メソッド getKeyBindingService() は型 IWorkbenchPartSite で使用すべきではありません。
メソッド registerAction(IAction) は型 IKeyBindingService で使用すべきではありません。
と言われるのですが、将来性の無いgetKeyBindingServiceからgetServiceに
変更しろとclassには書かれているのですが、実装方法がわかりません
どなたか教えてもらえないでしょうか?お願いします
523:473
07/04/17 23:40:54
>>513
試してみましたが、取得できたデータは
imageとは違いました。
なんだろう・・・・詳しくは見てないんですが、
文字列が取得できたっぽいです。
レス、ありがとうございました。
524:デフォルトの名無しさん
07/04/18 02:10:05
おまえらカスどもに質問です
SunMicrosystemsのJava APIだけじゃ半透明なGUI作れないのはなぜですか?
Javaの設計思想も含めて、リンクを貼らずに詳しく教えろハゲ
525:デフォルトの名無しさん
07/04/18 02:23:58
>>524
カスですので質問は聞きますが、ハゲでは無いので詳しくは教えられません。
しかしま、何処の宿題でしょうかね。
Java API の GUI には、AWTとSwingがあるが、OSに描画可能範囲を認識させるには
AWTではFrame、Window、Dialogを、Swingではそれらのサブクラスを用いる必要がある。
これらのクラスには半透明処理を行う機能が無いため、自ずと半透明表示は行えない。
設計思想は…なんだろうねぇ。
「どのJVMでも動く」ようにするために、OS間で共通性の無い機能は実装しなかった、ぐらいか。
526:デフォルトの名無しさん
07/04/18 02:37:16
>>524
半透明は、やろうと思えば java.awt.Robot でスクリーンキャプチャ取って
それを使って java.awt.Window に自前で半透明にした画像描画してやりゃできるよ。
実用的な速度が出るか未知数とか、背景が動画やゲームみたいに動いてると上手くいくかわからん
ってのはあるけどさ。
527:デフォルトの名無しさん
07/04/18 02:42:32
島根県のみなさん、パチンコをするなら、
優良パチンコ店 エ○トワン
に行こう! 遠隔(※1)をやっていないパチンコ店は「エイ○ワン」だけ!
違法ロム(※2)を使っていないパチンコ店も「エイト○ン」だけ!
○イトワンでは、遠隔等が可能な設備は入れていません。 ロムも、警察がチェックしやすくしています。
詳しい方はご存知の通り、どんなにパチンコの遊戯人口が変動しても、その市場規模は変わりません(※3)。
要するに、客が減っても、残った客から絞り盗る量を増やして調整しているのです。
しかし、何故それが可能なのか?…ご理解頂けると思いますが、9割以上の店が確実に遠隔等を行ってます。
1万店以上のパチンコ店の中で、遠隔も違法ロムも確実にやってないのは「○イトワン」ただ1店です!
※1…遠隔とは
「お、あの客は新顔だな。勝たせて味を占めさせるか。遠隔操作で設定変更しよ」
「客が減ってきたな。ま、設定を絞めて(違法)、1人あたりから搾る量を増やせばいいか」
「あのオヤジ負け続けてるからそろそろ辞めるかもな。今日は勝たせてやるか」
※2…違法ロムとは
「うちのアタリ確率は、もちろん他と同じ『○○○分の1』ですよ!(ロムいじってるからウソだけど)」
※3 市場規模 遊戯人口
平成06年 30兆4,780億円 2,930万人
平成08年 30兆0,630億円 2,760万人
平成10年 28兆0,570億円 1,980万人
平成12年 28兆6,970億円 2,020万人
平成14年 29兆2,250億円 2,170万人
平成16年 29兆4,860億円 1,790万人
528:521
07/04/18 02:45:47
.java.policyってやつ
URLリンク(www.filebank.co.jp)
ここのツールをインストールしたら作成された事が判明。
で、これってどうなん?よくあること?
529:デフォルトの名無しさん
07/04/18 02:48:45
しかしJava 2D APIでは、アルファ値の管理ができるだろ?
スクリーンキャプチャとか糞みてーな発想はやめてくれよ
530:デフォルトの名無しさん
07/04/18 06:26:29
>>529
実際APIでもキャプってるってことに気づいてね
531:デフォルトの名無しさん
07/04/18 11:02:04
>>529
ちゃんとソース読め
532:デフォルトの名無しさん
07/04/18 14:00:11
javaでネイティブスレッドを作れますか?
Threadでインスタンス作ったらネイティブスレッドになりますか?
533:デフォルトの名無しさん
07/04/18 14:06:15
>>532
ネイティブスレッドな実装もあるけど、言語仕様とかで保証されてるわけじゃない。
昔には green thread版とかもあったし。
534:デフォルトの名無しさん
07/04/18 14:40:11
Eclipseを使用する際に、JDK準拠の設定でコンパイラの準拠レベルの
設定項目があるのですが、JDK1.4でコーディングしたソースを
1.5のコンパイラに変更して、クラスファイルの互換性、ソースの互換性を
1.4にすることはよくないのでしょうか?
535:デフォルトの名無しさん
07/04/18 15:30:13
javaで、アスキーコードをチェックしたいのですが、
VBでいう、ASC関数みたいなものはあるのでしょうか?
536:ぴゅあ
07/04/18 15:41:57
javaもおしまいですか。。。
URLリンク(www.oreilly.co.jp)
537:デフォルトの名無しさん
07/04/18 17:07:04
RoRはJavaじゃなくてPHPやCMSと食い合うと思うんだけどね。
マネージャーのための・・というところにイカサマっぽさを感じる。
538:デフォルトの名無しさん
07/04/18 17:16:53
Java 1.6から、pathとは無関係に、VMが起動するようですが、以前のversionの
VMを使いたいときにはどう設定すればいいのでしょうか?
539:デフォルトの名無しさん
07/04/18 17:19:46
>>538
> Java 1.6から、pathとは無関係に、VMが起動するようですが
単に JRE が %SystemDir% に突っ込んだ java.exe とか javaw.exe 使ってるだけなんでは?
それらを削除するか、%PATH% の中で %JAVA_HOME%\bin の優先順位を %SystemDir% より高くしてみれば?
540:デフォルトの名無しさん
07/04/18 17:22:07
>>535
char自体数値型なのでASC関数不要。
Stringを調べたいってことならcharAtで切り出す。
541:デフォルトの名無しさん
07/04/18 17:22:34
>>538
環境はWin XPです。
542:デフォルトの名無しさん
07/04/18 17:41:17
>>535
無いと思う。
必要なら、String.getBytes("UTF-8)で UTF-8 の byte配列にして、
URLリンク(ja.wikipedia.org)
を参照しながら、自作する。なんて方法も。
UTF-8 にしたのは単に判定が楽だから。
543:デフォルトの名無しさん
07/04/18 17:43:52
>>539
どうも、レスありがとうございます。iAppli関係で古いJREが必要なのです。
どうも、JRE 1.5以降はレジストリにパスが記載されていて、pathに明示
しなくても、> java -versionにちゃんとバージョン情報が出てきます。
%JAVA HOME%の環境変数もなくなっているみたいですし...。もう少し考えて
みます。
544:デフォルトの名無しさん
07/04/18 18:04:31
>>543
レジストリにパスが記載されている事
Pathに明示していない事
%JAVA_HOME%が無い事
それそれがその通りだとしても、
現象と結果は安易に結論付けないように。
windowsにもwhereコマンドみたいなのがあればねぇ
545:デフォルトの名無しさん
07/04/18 19:03:48
jdbcで、あるテーブルの全カラム名を得る時ってどうすればいいのかな。
546:デフォルトの名無しさん
07/04/18 21:17:54
select * 発行してResultSetを得て、ResultSetMetaDataを得る。
547:デフォルトの名無しさん
07/04/18 22:27:58
class A{
}
class B extends A{
}
class CastTest{
~略~
A a1 = new A();←OK
B b1 = new B();←OK
A a2 = new B();←OK
B b2 = new A();←コンパイルエラー(互換性の無い型)
A a3 = (A)new B();←OK
B a3 = (B)new A();←コンパイル可、実行時ClassCastException
~略~
}
B b2の時にコンパイルエラーになるのは分かるんですが、、
B b3の時にコンパイルが通ってしまう理由が分かりません。
どなたかエロい人この2つの違いを教えていただけないでしょうか?
548:デフォルトの名無しさん
07/04/18 22:31:03
>>545
Connection#getMetaData()でDatabaseMetaDataを取得してから、
DatabaseMetaData#getColumns()でカラム一覧を取得する。
返ってくるのはResultSetだが、
getString("COLUMN_NAME")とかすればカラム名がStringで得られる。
詳しくはjavadoc参照のこと。
549:デフォルトの名無しさん
07/04/18 22:32:06
>>547
両方コンパイルエラーだと、キャストの意味がなくなるから。
550:デフォルトの名無しさん
07/04/18 22:35:23
数を打ち込んで、以下のような結果を表示するプログラム:
1+2+3+4+5+6+7=28
1*2*3*4*5*6*7=5040
↑のようなプログラムを作りたいのですが、作れません。
計算は完成してますが、1+2+……1*2*……の部分ができません。
教えて下さい。
551:デフォルトの名無しさん
07/04/18 22:40:41
>>547
上は代入時の構文エラー(コンパイルで検出可能)
cast の行は構文的には正常(実行時エラー)
比較するなら
A a4 = (B) new A();
B b4 = (A) new B();
みたいにしないと 2番目と cast の関連性は検証できないんじゃないかと。
552:デフォルトの名無しさん
07/04/18 22:40:46
System.out.println("1+2+3+4+5+6+7=28");
System.out.println("1*2*3*4*5*6*7=5040");
553:547
07/04/18 22:41:38
最後の行、
B b3 = (B)new A();←コンパイル可、実行時ClassCastException
a3ではなくb3でした。たびたびすみません。
554:デフォルトの名無しさん
07/04/18 22:46:26
数を打ち込んで、以下のような結果を表示するプログラム:
1+2+3+4+5+6+7=28
1*2*3*4*5*6*7=5040
↑のようなプログラムを作りたいのですが、作れません。
計算は完成してますが、1+2+……1*2*……の部分ができません。
教えて下さい。
555:デフォルトの名無しさん
07/04/18 22:48:29
System.out.println("1+2+3+4+5+6+7=28");
System.out.println("1*2*3*4*5*6*7=5040");
556:デフォルトの名無しさん
07/04/18 22:53:01
ちなみに問題は1,2,3,…nの和・積を求める問題です。
557:デフォルトの名無しさん
07/04/18 22:56:08
>>556
★★ Java の宿題ここで答えます Part 60 ★★
スレリンク(tech板)
558:デフォルトの名無しさん
07/04/19 00:02:54
Javaがキャプチャしてるってのはどういう話?
デスクトップ画面を描画してるのはOSだよな?
Javaがキャプチャしてるのは自分自身だけじゃないのか?
559:デフォルトの名無しさん
07/04/19 00:54:01
>>558
「Javaがキャプチャしてる」という状況が理解できないのだが。
BufferedImage java.awt.Robot#createScreenCapture(Rectangle) ってのは
「スクリーンから読み取るピクセルイメージを作成します。」と言う説明。
560:デフォルトの名無しさん
07/04/19 00:58:37
>>526
>>530の流れ
561:521
07/04/19 05:27:04
おいこらマジレス頼むよ
562:デフォルトの名無しさん
07/04/19 08:05:35
>>561
パソコン捨てれば大丈夫だよ。
563:デフォルトの名無しさん
07/04/19 08:07:27
デフォルトのファイルパーミッションって"<<ALL FILES>>", "read, execute"だったけ?
まあ、ユーザーポリシーだろうけど。
ここは作る人間の来る所だ。
URLリンク(sdc.sun.co.jp)
564:デフォルトの名無しさん
07/04/19 08:14:32
昨日、入門して分らないのがあります。
+ - * / はできるんですけどあまりを求める演算子%はどこにつけるんでしょうか?
二つの整数は8と3です
565:デフォルトの名無しさん
07/04/19 08:26:35
8 % 3
566:デフォルトの名無しさん
07/04/19 08:31:39
>>565
あ、できてました、ありがとうございます
8/3も2なのでできてないのかと誤解してました。
567:デフォルトの名無しさん
07/04/19 09:25:49
>>561
心配なら認証アプレットでぐぐりなさいってこった
568:デフォルトの名無しさん
07/04/19 10:59:02
おまいがぐぐれ
569:デフォルトの名無しさん
07/04/19 11:40:46
jspやってるんだけど、jsp自体のエンコーディングはUTF-8
プログラムでは文字はUnicodeだからソースファイル自体のエンコーディングは
なんでもいいとおもうけど、ソースもUTF-8に合わせておく方が一般的なのかな?
570:デフォルトの名無しさん
07/04/19 11:53:30
>>569
OSとDBとWEBアプリケーションのデフォルトエンコーディングは?
571:521
07/04/19 12:02:23
>>563
すまん、スレ違った。
>>567
認証なしでもアクセス許可するのが.java.policyではないの?
572:初心者だぉ(^・ω・^) ◆tsGpSwX8mo
07/04/19 14:56:40
一つのラベルが最大20文字で、
数十個のラベルを縦に並べたいんだけど…
条件
1.GUI
1.コンパクトなソース
1.見やすく
どのクラス使うのが一番コンパクト?
573:デフォルトの名無しさん
07/04/19 15:01:22
(^・ω・^)
574:(^・ω・^) ◆tsGpSwX8mo
07/04/19 15:21:54
つーか、これを頼む!
(アプレットでもいいが)
URLリンク(s.freepe.com)
575:デフォルトの名無しさん
07/04/19 15:49:41
期待あげ♪
576:デフォルトの名無しさん
07/04/19 16:32:14
誰か、ArrayListをnewしていきなりclear()する意味を教えてくれ。
List list = new ArrayList();
list.clear();
俺には理解出来んかったんだ・・・orz
577:デフォルトの名無しさん
07/04/19 17:02:03
昔のCでは、配列を定義した直後のメモリにはゴミがある事が多いため、0Fillするのが行儀の良いプログラミング
とされた時代があったんよ
その名残っつーか、癖なんじゃないの?
578:デフォルトの名無しさん
07/04/19 17:16:34
>>576
それは何の意味もない。
無駄なことをしているからまねをしなくていいよ。
579:デフォルトの名無しさん
07/04/19 17:32:13
スレ違いかもしれませんが
1.6.0_01バージョンアップきたのですが
皆さんしましたか?
580:デフォルトの名無しさん
07/04/19 17:47:22
1.6入れてるやつはアップデートした方がいいかもね
581:576
07/04/19 18:35:01
>>577
そういえば、それを書いた人のコードは
・非オブジェクト指向的
・コードフォーマットがCやコボルっぽい
・Javaは初心者(型変換が無駄に遠回りw)
なので、そうなのかもしれませんね。
>>578
思わずListやAbstractListのソースまで追って確認してしまいましたw
582:(^・ω・^) ◆tsGpSwX8mo
07/04/19 18:49:10
どの雑誌読んでも貸そうか?技術!仮想化技術!バーチャルバーチャルやな!
なんの陰謀?
583:デフォルトの名無しさん
07/04/19 18:52:28
newしたばかりのListを明示的にclearしないと使えないんでは使い勝手が悪いし誤用もしやすい
まさにコンストラクタがやるべき仕事
まあ無駄なことをしているだけで意図と違うことが起きるわけではないから害はないと思うけど
584:デフォルトの名無しさん
07/04/19 19:09:12
パッケージ名に、java.hogehoge と続くような名前をつけたいのですが、
Prohibit Package Name のエラーが出てしまいます。
この禁止されたパッケージ名を使うような方法ってありませんか?
585:デフォルトの名無しさん
07/04/19 19:15:38
>>584
URLリンク(java.sun.com)
javaで始まるパッケージ名はSunが予約しているから、
もし使いたければSunに相談してみれば?
586:デフォルトの名無しさん
07/04/19 19:23:01
>>584
JCP に乗り込んで標準APIに加えてもらうように努力するとか。
587:デフォルトの名無しさん
07/04/19 19:26:45
お前らむちゃ言うなw
588:デフォルトの名無しさん
07/04/19 19:30:48
パッケージ名にジャポニカ語使えたのだが?
589:デフォルトの名無しさん
07/04/19 21:33:40
5年ぐらい昔の話だからうろ覚えだが、
自分の属してる学校、会社、団体のURLをさかさまに使うのが
標準だったような。
東京大学の例
u-tokyo.ac.jp
package jp.ac.u_tokyo;
その後細分化するには、jp.ac.u_tokyo.の後に適当な名前をつける。
`-' を `_' に手動変換するのは確か規則があったような。
要するに、Sun様のおっしゃるには、
「自分のクラスには固有のパッケージ名をつけなさい」
ということです。
java.hogehogeとか
javax.foo
はSun様がおられる限り使えないであろう。
590:デフォルトの名無しさん
07/04/19 21:58:50
>>589
最初期は、それに加えて、先頭の語(=TLD)はすべて大文字にすることに
なってた。
予約語を含んだドメインの香具師が悩んでたな。
Capitalizeしたりして回避すればいいんだが、美しくない。
591:デフォルトの名無しさん
07/04/19 23:43:52
byteValue()の使い方を教えて下さい。
エロい人、おねげーだ!
592:デフォルトの名無しさん
07/04/19 23:47:01
Genericsなクラスの具体化(っていうのか?)後の型を、確認のため表示させたいんですけど
getClass()だと <T> の部分が省かれてしまいます
C++の typeid(arg).name() に相当する結果はどうやったら得られますか?
593:デフォルトの名無しさん
07/04/19 23:55:43
>>592
> C++の typeid(arg).name() に相当する結果
無理。erasureなのでインスタンスの型パラメータは取れない。
広義のインターフェイスに使われてる型制限の方は、
java.lang.reflect の getParametarizedType() で取れるけど。
Dolphin で変わるかもしれんけど。
594:デフォルトの名無しさん
07/04/19 23:59:10
間違い。getGenericsType() だな。
具体的には、
java.lang.reflect.Field.getGenericType() とか、
java.lang.reflect.Method.getGenericReturnType() とか、
java.lang.reflect.Method.getGenericParameterTypes() とか、そのへん。
595:デフォルトの名無しさん
07/04/20 00:10:07
>>593-594
即答ありがとう。
示していただいたメソッドもポツポツ調べていきます
596:デフォルトの名無しさん
07/04/20 01:00:27
public class Test {
public static void main(String[] args){
final String[] hoge = {"foo","bar"};
hoge[0] = "hoge";
System.out.println(hoge[0] + "," + hoge[1]);
}
}
これを実行するとエラーが出ずにhoge,barと表示されてしまうんだが
どうしてこうなるのか、どうすれば変更不可になるのか説明願えないだろうか
597:デフォルトの名無しさん
07/04/20 01:08:06
>>596
> どうしてこうなるのか
final String[] hoge = {"foo","bar"}; ってのは、一回初期化された後に
hoge = new String[1]; みたいな代入を禁止するだけ。
> どうすれば変更不可になるのか
配列だと現状では無理。
みたいに java.util.List と java.util.Collections#unmodifiableList() 使えば
final List<String> hoge = Collections.unmodifiableList(Arrays.asList("foo", "bar"));
で変更不能な List を作れるけど。
598:デフォルトの名無しさん
07/04/20 01:09:12
>>596
final String[] hoge = {"foo","bar"};で変更不可になるのはhogeそのもの。
hogeの参照先を変えなければ、参照している配列の内容は変更できる。
要素を変更不可にする配列は作れない気がするので、変更不可のCollectionにしてしまえばいい。
Arrays#asListでListにして、Collections#unmodifiableListで変更不可なビューを得る。
599:デフォルトの名無しさん
07/04/20 01:09:23
final になるのは hoge だけであって hoge[0] は final にならない。
C や C++ 的な const とは違う。
600:デフォルトの名無しさん
07/04/20 01:38:44
>>597-599
説明サンクス
つまりC/C++的な考え方をするとhogeはfoo,barを要素に持つ配列を指すポインタで
ポインタ自体は変えられないが指している先の内容は変更できるということでいいんだろか?
601:デフォルトの名無しさん
07/04/20 01:56:30
>>600
うん
そんな感じ
602:デフォルトの名無しさん
07/04/20 17:31:31
javaの入門書を何か買おうかと思ってるんですが
1.C/C++プログラマのJava入門
2.Effective Java プログラミング言語ガイド
この二つを今のところ候補に上げています
C言語は全体を軽く舐めた程度勉強したので前者でもいいかなと思ったんですが入門書としては高いし
後者はある程度javaを勉強してから読んだほうがいいかもしれないという意見があり悩んでいます
どちらがいいでしょうか?
これらじゃなくてもなにか良い本があれば教えてください
603:デフォルトの名無しさん
07/04/20 17:38:54
Javaのプログラムでコッホ曲線を描くプログラムを組んでいたやつがいたんだが、
どういうコードを書いたらJavaでコッホ曲線って描けるの?
再帰の応用らしいけど、よく分からん。
ソース:
URLリンク(ja.wikipedia.org)
URLリンク(sorauta.bufsiz.jp)
URLリンク(www.cam.hi-ho.ne.jp)
604:デフォルトの名無しさん
07/04/20 18:37:20
始点(x1,y1)と終点(x2,y2)、深さdを引数にとるメソッド
dが0の時、実際に始点(x1,y1)から終点(x2,y2)までの直線を引く。
dが1以上の時、
始点(x1,y1)と終点(x2,y2)の値から中間の点A(x3,y3)、B(x4,y4)、C(x5,y5)を計算して求める。
(x1,y1)と(x3,y3)、d-1を引数にして自分自身を呼び出す。
(x3,y3)と(x4,y4)、d-1を引数にして自分自身を呼び出す。
(x4,y4)と(x5,y5)、d-1を引数にして自分自身を呼び出す。
(x5,y5)と(x2,y2)、d-1を引数にして自分自身を呼び出す。
こういうコードでできると思う。
605:ななし
07/04/20 19:05:21
URLリンク(music.j-total.net)
このページって印刷できない?
606:デフォルトの名無しさん
07/04/20 19:36:24
>>605 スレ違い。板違い。
タブ譜には著作権の縛りがかかると思ったけど
コード進行は大丈夫だった気がするので掲載。
Dm7 G B♭ C7 F
Dm7 G B♭ F
B♭m F
E♭ B♭ Dm7 D♭ C7
F B♭ C7 F Dm7 G B♭ C7 F
F B♭ C7 F Dm7
G Gm D♭ E♭ F
Dm7 G B♭ C7 F
Dm7 G B♭ F
B♭m F
E♭ B♭ Dm7 D♭ C7
F B♭ C7 F Dm7 G B♭ C7 F
F B♭ C7 F Dm7
G Gm D♭ E♭ F
F B♭ C7 F Dm7 G B♭ C7 F
F B♭ C7 F Dm7
G Gm D♭ E♭
F B♭ C7 F
Dm7 G C7 F
F B♭ C7 F Dm7 G B♭ C7 F
F B♭ C7 F Dm7 G Gm D♭ E♭
つか、お金払ってどうどうと印刷すればいいんじゃね?
607:ななし
07/04/20 19:41:59
>>606
そうなんだけどお金が無いんだよね。。。笑 でもコレもJAVAで制御されてんだろ?
どうやってコピった??
608:デフォルトの名無しさん
07/04/20 20:38:00
tomcat5.5とjdk1.4をインストールしました。
JSPを動かしてみると問題なく動きました。
servletもちゃんとコンパイルできるかなと思って、javacしてみたら
srv_intro.java:2: パッケージ javax.servlet は存在しません。
import javax.servlet.*;
^
srv_intro.java:3: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.*;
みたいなエラーが延々とでるので、ああCLASSPATHとおってないんだなと思って、
csh.cshrcにsetenv CLASSPATH /usr/local/tomcat5.5/common/lib
を追加しましたが、症状が改善されません。
何かアドバイスお願いします
609:(^・ω・^)b ◆tsGpSwX8mo
07/04/20 20:54:34
Sunテキスト Sun Certified Programmer for Java2 Platform 5.0 Exam【310-055】を買ったぜぃ!