[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 09/27 12:34 / Filesize : 223 KB / Number-of Response : 857
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】Java質問・相談スレッド100【大歓迎】



1 名前:デフォルトの名無しさん [2007/03/31(土) 13:57:18 ]
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

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

前スレッド
【初心者】Java質問・相談スレッド99【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1173026128/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

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

262 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 18:00:42 ]
>>260
> Graphics2D#setTransform(AffineTransform Tx)

> Graphics2D コンテキストで Transform を上書きします。警告:このメソッドは新しい座標変換を既存の変換上で適用する
> 目的では使用しないでください。

> 座標変換を追加するために、transform、rotate、scale、またはshear メソッドを使用します。
この「transform、rotate、scale、またはshear メソッド」はGraphics2Dのね。

263 名前:デフォルトの名無しさん mailto:sage [2007/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 mailto:sage [2007/04/06(金) 18:15:38 ]
>>261
GraphicsクラスのomoteにはsetTransformメソッドがないと怒られてしまいました。

>>262
う〜ん、setTransformで座標を変えるやり方自体がよくないってことなのでしょうか。

最終的にやりたいのはマウスなりキーボードなりに反応して画像が回転して動く、ちらつきのないアニメーションです。
せっかく回答してもらってるのにいまいちピンとこない辺り、
勉強が足りないのかもしれませんねorz

265 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 18:18:32 ]
あ、g2もいらんね。
//Graphics2D g2=(Graphics2D) g;


266 名前:251 mailto:sage [2007/04/06(金) 18:55:09 ]
>>263>>265
おかしなネーミングで申し訳ないですorz
とりあえずやりたかった動作が確認できました。ありがとうございました。
完全に置き換えずにその時々で変換してやる必要があるってことですね。

267 名前:243 mailto:sage [2007/04/06(金) 21:50:01 ]
>>246-247
今帰ってきました
ありがとうございます
これから読んで,頑張ろうと思います

268 名前:デフォルトの名無しさん [2007/04/07(土) 08:48:29 ]
AXISのTCPMonitorを使用して外部インターネット(HTTP)との通信内容を調べたいのですが可能でしょうか?
ローカルマシンのwebアプリとの通信内容は見れたのですが。

269 名前:Java ◆KbC0ODWrJ2 [2007/04/07(土) 09:38:18 ]
可能

270 名前:デフォルトの名無しさん [2007/04/07(土) 10:51:46 ]
>>269
具体的にはListenPort,TragetHost,TargetPortをどのように設定したらよいでしょうか。



271 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 11:51:50 ]
リクエスト送った時と送らない時で
netstat -aの差分とってみりゃいいじゃん


272 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:59:03 ]
pattern、Matcherクラスの勉強してるときにある本の中にこういうコードがあったんですが

Pattern p = Pattern.compile("[a-z]");//正規表現をPatternクラスのオブジェクトにコンパイル
Matcher m = p.matches("aaaaaaaa");//指定されたパターンと、マッチング対象の入力テキストとが含まれることになるMatcherオブジェクトを作成する

この2行目のメソッド名はmatcherと間違ってるように思うんですがどうなんでしょうか?
JDKの資料調べてみて戻り値や引数の数からおかしいように思えます。
本の正誤表には載ってませんでした。おねがいします。

273 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:13:54 ]
matchesはbooleanを返す
macherはMatcherインスタンスを返す
ので、本が間違ってるね。


274 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:34:46 ]
javaでビープ音出したいんですけど
どうやったらできますか?

275 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 19:33:18 ]
Toolkit.beep()

276 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 19:33:42 ]
開発言語:JAVA、データベース:Postgresql8.1の環境で開発してます。

Driver driver = DriverManager.getManager(url文字列);
※url文字列 jdbc:postgresql:プロジェクト名
上記コードでSQLExceptionが発生します。
データベースアクセスエラーのようですが何故発生するか分かりません。
jdbcドライバが認識されていないのでしょうか!?

ご回答、アドバイスの方よろしくお願いします。

277 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 19:37:41 ]
接続できてないんじゃないのか。
コマンドラインから接続できるか確認すべき。


278 名前:276 mailto:sage [2007/04/07(土) 19:44:29 ]
>>277
ローカルのDBなので、DOSプロンプトからログインできることも確認できました。

279 名前:デフォルトの名無しさん [2007/04/07(土) 19:47:26 ]
boolean型の値を出す関数を組み合わせて、if(A&&B)のように使うことは出来ますでしょうか?
また、全てfalseの場合にある動作をさせたいのですがどう書けばよろしいでしょうか?
-func1()&&-func2()&&…のようにマイナスで反転させることってできませんよねorz

280 名前:274 [2007/04/07(土) 19:55:10 ]
>>275
レス有難うございます。
あの、指定した秒数だけビープ音を出したいんですけどできますか?
別にビープ音じゃなくても音なら何でも構いません。



281 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 19:55:36 ]
!func()で反転するじゃん

282 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:01:12 ]
>>273
ありがとうございました。

283 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:29:23 ]
>>276
原因はよく判らんけどとりあえずorg.postgresql.ds.PGPoolingDataSource使ってみれば?
JavaDocでも
>データソースへの接続時には DataSource オブジェクトの使用をお勧めします。
とかいってるし。


284 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:38:25 ]
>>279
そもそも && や || は1行目みたいなことのために使うものだ。

全てがfalseの場合、は !A && !B のように書く。論理の反転(否定)は!演算子。
また、ド・モルガンの法則というものがあり、
!A && !B は ! ( A || B )ともかける。


285 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:51:10 ]
>>280
何に使うのかわかんないけど
System.out.printでbeepをあらわすエスケープシーケンス出すとか
javax.soundを使ってみるとか

286 名前:276 mailto:sage [2007/04/07(土) 22:15:45 ]
>>283
回答ありがとうございます。

>org.postgresql.ds.PGPoolingDataSource使ってみれば?
使ったことが無いのでなんとも言えませんが、やってみます。

287 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:20:06 ]
>>276
エラーの内容を晒さないと無理かと

288 名前:デフォルトの名無しさん [2007/04/07(土) 22:31:52 ]
>>271
わかんねっす

289 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 01:23:42 ]
EclipseってC#みたいですね



291 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 08:27:17 ]
未だにifの条件式考えるときに、||がいいか&&がいいか頭をひねってしまう。
特に条件が!の時に。みんなこんな?それとも俺が低脳なだけ?orz

292 名前:291 mailto:sage [2007/04/08(日) 08:44:23 ]
失礼、あまりにも低脳な発言ですた。

293 名前:デフォルトの名無しさん [2007/04/08(日) 09:39:07 ]
MPGの全フレームを抽出するためのソフトを作るために
Javaライブラリを探しているんだけど、
こういうのってどこで探せば見つかるの?

294 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:07:08 ]
google

295 名前:デフォルトの名無しさん [2007/04/08(日) 11:10:53 ]
>>294
探したけど無かったw

296 名前:デフォルトの名無しさん [2007/04/08(日) 11:13:57 ]
もっとがんばれ

297 名前:質問 mailto:age [2007/04/08(日) 11:35:41 ]
JavaとCどっち学んだほうがいいか?

298 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:48:51 ]
どっちって。。。当然両方だろ。
プログラマなら何種類かの言語使えるのが普通。
そこまでじゃないならVBやスクリプトで充分。

299 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:52:19 ]
>>295
JMF以上のことがいるのか?
ibmにも有償ライセンスのがあった気がするが

300 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:54:49 ]
>>297
初心者ならJavaとC#覚えればいいと思う
熟練者ならC++・JavaScript・PL/SQLなども覚えるべき



301 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:55:07 ]
>>297
どっちでもいいと思う
俺はJavaとperlだけだな

302 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 23:33:24 ]
>>295
JMFで十分。それ以上は自前。

303 名前:デフォルトの名無しさん [2007/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 mailto:sage [2007/04/09(月) 19:01:05 ]
あ、失礼しました。new による作成ならC++でもヒープですね。
Javaでも、上記は問題ないように思いましたが、もし違っていましたら
ご指摘頂ければ幸いですが、とるに足らない内容でしたら、スルーして
頂ければと思います。すみませんでした。

305 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 19:45:28 ]
全く何の問題もないにょ

306 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 09:28:03 ]
ん、何が問題かよく分からんね。スコープは変数に掛かってくるのであって
オブジェクトの生成場所ではないですよ。

307 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:07:29 ]
>>307
www.google.com/search?q=setLayout

309 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:17:00 ]
>>308
ありがとうございます
setLayout(null);
とすることで解決できました

310 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:25:35 ]
プログラミングに関しては全くの初心者です。
iアプリを作りたいと思ってるんですが、プログラム組むのになにか専用のツールがあるんでしょうか?
それともメモ帳に打ち込んで作るのでしょうか?



311 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:26:48 ]
>>310
ttp://www.smg.co.jp/seminar/java/index.html

312 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 22:03:57 ]
>>312
演算子の結合順位調べろ。

> 自分ではx %= 2が1なので1*100で100がxに代入されると考えたのですが・・・。
仮に、前半の「x %= 2が1」が 先に実行されたとしても
後半の「1*100で100がxに代入される」は絶対ないだろ。
前半部分には代入演算子あるけど、後半には何処にも代入演算子が無いし。

314 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:03:03 ]
>>314
一般的ではないという以前に、別のクラスのオブジェクトが等しいとみなされる場合があるのか?

316 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:07:06 ]
>>315
Mapのイコーリティって仕様で決まってんじゃなかったっけ。

317 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 00:17:17 ]
>>314
そんな実装、やってみれば無謀な事がわかる
A の何と B の何を比べるつもりなのか

318 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:11:02 ]
equals を再定義するにあたって、うっかり getClass の比較を忘れてたりすると、そんなことが起きたりする。

319 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:16:14 ]
>>318
getClass() での比較忘れてても、キャスト時に ClassCastException が飛ぶだけでは?

320 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:17:22 ]
generics使ってるとそんなequalsは使えない
Collectionで使う以外でequalsのオーバーライドはしたことないし



321 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:25:30 ]
……。 Generics があっても equals の引数型は Object で固定だし。

322 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:41:34 ]
いや、3種類も無いな。3番は忘れてくれ。

324 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:47:50 ]
java.util.Date が3番(?)だったりする罠。

どーでも良いけど、3番だと実装が name 比較してるから拙い罠。

325 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:50:00 ]
>>315
ListやMapの実装クラスは中身が一緒だったらequalsがtrueを返したような。
そういう意味ではクラス自体が違ってても等しいとみなしてよいことも
なくはない。

326 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 07:38:33 ]
>>325
うん、普通にあるよな。

327 名前:デフォルトの名無しさん [2007/04/12(木) 08:22:47 ]
車を運転する簡単なゲームを作っています。
左回転と右回転で何故か回転半径が違ったりする問題はありますが、
とりあえず車の挙動は完成しました。
現在壁にぶつかったら止まる動作を作っているのですが、
どうも上手くいかずここに書き込ませていただいた次第です。

アプレットの赤い点は、画像の表示位置である(car_x, car_y)を示したものです。
現在はこの座標を衝突判定に使っているので、前進しながらこの点が黒枠にぶつかると止まるはずです。
画像を回転させているからか画像左上の角と赤い点が一致しないことがあり、悩んでいるのはその修正です。
crash_check()内にあるコメントアウトは私があれこれ考えて修正させてみた式なのですが、
この修正を行ってRectangleに修正値である(car_x_check, car_y_check)を用いてもそれはそれでおかしな点を指してしまいます。
アプレット左上の数値はcar_angle(車の向いている方向)を示しています。
画像の回転もこの数値を元に行われます。

ソース
www.za.ztv.ne.jp/yosi-h/page001

アプレット
www.za.ztv.ne.jp/yosi-h/Java.html

328 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 11:45:17 ]
Javaの勉強をしようと思うのですが
触り始める前に前提知識としてこっちの言語かじっとけみたいなのってありますか

329 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 12:17:53 ]
言語難易度
C#>JAVA>C>C++
言語ルーツ
1.C(基本情報技術者試験と一緒に学習すると効率が良い)
2.C++(Cを学習済みの人でないと厳しい)
3-1.JAVA(UMLの勉強と一緒に行うと効率が良い)
3-2.C#(VisualStudioでGUIの作成を一緒に学習すると効率が良い)

330 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 13:00:31 ]
オブジェクト指向とMVCくらいは覚えた方が良いかも。

#ここでSmalltalkとか出してくると荒れる原因か・・・
俺はSelfの方が好きだが。



331 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 13:48:41 ]
>>328
まず英語。

332 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:06:24 ]
JAVA初心者にオススメのIDEを教えてください。

333 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:10:15 ]
>>332
eclipse以上

334 名前:332 mailto:sage [2007/04/12(木) 14:21:18 ]
ありがとうこざいます。
もうひとつ質問なんですが、携帯のアプリは専用のツールを用いないと作成できないのでしょうか?

335 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:33:06 ]
うん

336 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:44:55 ]
そのツールは、プログラミングするときに必要なのか、単にファイルを変換するときだけに必要なのかどちらなんでしょう?

337 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 15:24:03 ]
javaでグラフ描画したいのですがどんな手法が ありますかね? 今のところJFreeChartがフリーだし シェア ○ 信頼性 ? 拡張性 ○ 性能  ○ と思ってるのですが他にいいヤツありますか?

338 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 16:18:59 ]
うん

339 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 16:29:01 ]
フリーソフト、シェアウェア使うなら使用許諾条件をきちんと読まないと
後で大変なことになるから気をつけた方がいいよ。

340 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 17:40:51 ]
>>340
スレ違い
ttp://pc11.2ch.net/test/read.cgi/tech/1148485555/l50

342 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 18:21:49 ]
>>325-326
いやー。普通にあるんだけど、3番を解決策と言うのはちょっと違うと思いまして。

343 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:14:35 ]
sjc-pの問題でコンパイルエラーが起きるか、それとも実行時エラーが起きるかっていう問題が
結構多いんだけど、この見分け方って経験しかないの?

344 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:19:10 ]
コンパイルエラーは論理的に構文が間違っていると大抵起こるし、
実行時エラーは内部割込みを行うエラーと考えればわかると思うけど。

345 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:36:01 ]
>>343
コンパイルは構文エラーで、実行時はぬるぽやら配列インデックスやら
まあ、後者は RuntimeException のサブクラスを見てみれば、色々有るでよ

346 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:37:43 ]
>>343
言語仕様勉強すりゃ、どっちかわかる。
一部の実行時エラーはAPI仕様勉強しないとわからんかもしれんが。

347 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:52:13 ]
まだ初心者なんで言語仕様よんでも理解できそうにないです。
RuntimeException のサブクラスが全部実行時エラーなんですか?

348 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 20:03:22 ]
RuntimeExceptionとそのサブクラス

349 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 00:43:17 ]
Javaでの実装は知らんが一般にパイプは
突っ込むだけでは詰まるから適当に吸い出す必要あり。



351 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 00:46:05 ]
>>349
書き込むばかりで読み出してないからだ。
PipedInputStreamのバッファサイズ以上のデータを書き込めばパイプが詰まるのは当たり前。

352 名前:K.K.K [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 01:13:05 ]
>>337
が文字化けしてるのは俺だけ?

355 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 02:56:49 ]
genericsの仕様だから無理

357 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 02:57:29 ]
まちがい
putするところで 警告:[unchecked] 無検査変換ですになってしまう。


358 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 02:58:29 ]
げー、なんか抜け道ないかなぁ。

359 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 04:10:06 ]
>>359
おお、その手があったか!
ありがたう!



361 名前:デフォルトの名無しさん [2007/04/13(金) 09:27:26 ]
iアプリのテキストボックスで数値貰って計算したいんですが、

テキストボックスを文字禁止で数値限定にする方法ありますか?


362 名前:デフォルトの名無しさん [2007/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などの戻り値をつけたほうが良いのでしょうか??








[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<223KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef