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


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

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



1 名前:Javaが初心者 mailto:sage [2008/05/12(月) 03:05:27 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
【初心者】Java質問・相談スレッド114【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1207385614/
次スレは>>990あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/

552 名前:544 mailto:sage [2008/05/28(水) 18:50:20 ]
>>551
その意味がわからないのは申し訳ないです。

553 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 18:58:09 ]
appletviewerとブラウザでセキュリティ面で違いがあったりするから
それが原因かもとも思ったがブラウザでも例外は発生していないらしいからこれは違うか

>>552
どっちの意味が分からないのか分からないが
appletviewer hoge.html
で実行するものじゃないの?
またはコメントにappletタグを記述したソースファイルで
appletviewer Hoge.java
とか
大文字小文字を区別する環境なら合わせてやらないとクラスファイルを発見できない
S11_4.classでサーバに上げたのにs11_4.classを指定しているとか

554 名前:544 [2008/05/28(水) 19:17:05 ]
>>553
エクリプスで三角形おして動作を見てたから、ぴんと来ないです。

ほかの人のパソコンで見れたら委員だけど、エグゼファイルみたいなのに
することもできずテン

555 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 19:30:02 ]
jarファイルにエクスポートすればいいんじゃないか
appletタグもjarファイル使って

<applet archive="hoge.jar" code="s11_4.class" width="500" height="500">

みたいな感じで

556 名前:548 mailto:sage [2008/05/28(水) 20:04:20 ]
>アプレットビューワで見れてもHTMLに引っ張ってきただけじゃだめなんですね
C:\>dir
s11_4.class
hoge.html
2 個のファイルが見つかりました。
C:\>appletviewer hoge.html
と、入力してみる。三角ボタンじゃなくて。

557 名前:デフォルトの名無しさん [2008/05/28(水) 20:35:28 ]
Swing とかで
youtubeの外部プレイヤー(小さいやつ)の音量設定のような、
マウスのせたらスライドバーがでてきて調整できる GUI 部品ってないんですかね?

もしくは作れるんでしょうかね?

558 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:57:44 ]
作れないものなどない

559 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:36:26 ]
だが、お前には作れない

560 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:09:39 ]
つまらん煽り



561 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:33:06 ]
タイマーで、描画を3秒ごとに進めようとしてるんですけど、
配列が保管されないんですけど、こういうものなんでしょうか。

java初めてです。

562 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:46:51 ]
ローカル変数にしてるオチの予感・・・

563 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:47:06 ]
配列の宣言位置がおかしいんじゃないでしょうか

564 名前:561 mailto:sage [2008/05/29(木) 01:06:14 ]
クラス
 …メイン
クラス
 …タイマー
 …グラフィックフレーム
クラス
 …画像描画
    …パブリック イント 多次元配列
    …描画のメソッド
       …配列に、値を入れる。
        ↓
タイマーでロードされると
配列の値が残っていない…。

565 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 01:19:08 ]
>564
私なら、配列の生成、変更箇所をたどっていく。
大体は、生成に問題がある。
配列でなければ、それを含むクラスの生成と運用に問題がある。

566 名前:デフォルトの名無しさん [2008/05/29(木) 01:58:34 ]
import java.awt.*;
class R6_2
{
public static void main( String [] args )
{
R6_2_image window = new R6_2_image()
window.setSize(400,600);
window.setTitle("R6_2");
window.setVisible(true);
}}

import java.awt.*;
class R6_2_image extends ExitFrame
{
public void paint( Graphics g )
{
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("image.jpg");
g.drawImage(image,50,50,this);
}}

windowsVista、CPad for Java2 SDKの環境でjavaしています。
上のプログラムがR6_2.java,下がR6_2_image.javaです。
R6_2.javaファイルを実行すると、シンボルが解決されていないとエラーが出て、コンパイルできません。
image.jpgとExitFrameは同じディレクトリに入れてます。

567 名前:デフォルトの名無しさん [2008/05/29(木) 02:33:01 ]
誰か来て…

568 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 02:51:58 ]
>566
ExitFrame は同じパッケージで、Frameを継承してるとして、
R6_2_image window = new R6_2_image()セミコロン抜け

569 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 12:16:45 ]
if(hairetu[j][i]==0 && hairetu[j][i+1]==0 && hairetu[j][i+2]==0){

をすると、なぜか例外になってしまいます。

if(hairetu[j][i]==0 || hairetu[j][i+1]==0 || hairetu[j][i+2]==0){

では起こらないんですが…


何が違うのでしょうか?

570 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 12:35:43 ]
範囲外参照の例外だろ? &&だったら全て満たさないといけないから条件全て実行する。||だったらどれか満たせばいいから一つでも満たしたら以降は確認しない。



571 名前:569 [2008/05/29(木) 12:39:55 ]
つまりその三つを満たしている場合がないから例外が出てるってことなんですか

572 名前:569 [2008/05/29(木) 12:42:02 ]
あ、いや、ちゃいますね。
配列の外をってことですね。

573 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 12:48:51 ]
>571
例外とは何か。条件を満たさないと起きる物なのか?
570 は、貴方の質問に答えただけで、貴方の疑問には答えていない。
それでも、十分に答えを見つけるだけのヒントは出ている。

というか、表示された例外クラスの事をちゃんと調べましたか?

574 名前:569 mailto:sage [2008/05/29(木) 13:57:48 ]
助かりました。arigatouございます

575 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:56:46 ]
swingプログラムを作ってるのですが、
Javaで多重起動防止する方法ってどういったものがあるのでしょうか?
WIn32APIのミューテックスみたいなのの他、
実行中のプロセス名を全部取得して自分のプロセス名があれば表示前に終了する
みたいなのを考えたのですが、Javaでのこういうのの実現方法が分かりません。

576 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:00:20 ]
ないからlockfile作るのが一般的じゃない?

577 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:16:51 ]
仮想マシン単位なら、createNewFile - deleteOnExit の連携かな。試してないけど。
何らかの理由で削除されない事に対応するには、
ロックファイル内容の書式に更新時間を記録するようにするか、ね。

578 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:26:31 ]
起動中は特定のポート握りっぱなししておいて、
起動時に特定のポート開けなかったら起動させないとか。

579 名前:デフォルトの名無しさん [2008/05/29(木) 16:16:30 ]
よろしくお願いします。
VBで言うところのErr.RaiseしてOn Error Gotoに飛ばすようなことをしたいのですが
意図的にSQLException等の例外を引き起こすメソッドみたいなものはありますか?
というか考え方が間違っていますか?

try{
  //処理1
  if(!hoge()){
    例外に飛ばす処理
  }

  //処理2
  :

}catch{
  //ここに飛ばす
}

580 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:23:03 ]
>>575
起動するときファイルに自プロセスIDを書き込む
多重起動チェックのときそのIDのプロセスが生きていればエラー
JNI使うことになりそうだけど
>>579
throw new SQLException()
ただしgotoを実現するために例外を使うのは良くない



581 名前:579 [2008/05/29(木) 16:38:40 ]
>>580
物凄い勢いで答えていただきありがとうございました。
例外を使用しない方向で考えてみます。

582 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:46:07 ]
>579
仕様上、例外もしくはエラーである必要があるのならば、
適切な(なるべく既存の、必要であれば自作の)例外オブジェクトを生成し、throw すれば良い。

お勧めはしませんが、ラベル付き break, continue を使えば、疑似gotoは可能。
ttp://www.y-adagio.com/public/standards/tr_javalang/14.doc.htm#6842

583 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:47:28 ]
イベント駆動型アプリケーションて概念もあるけどな

584 名前:579 mailto:sage [2008/05/29(木) 17:14:54 ]
>>582,583
レスありがとうございます。

よくよく考えてみましたが、やはり仕様上例外である必要があるため
前言撤回で、throwを使わせていただきます。

リンクありがとうございます。今読んでいます。

>イベント駆動型アプリケーション
勉強します!

585 名前:デフォルトの名無しさん [2008/05/29(木) 19:46:41 ]
preparedStatementを使ってて、
SQLのログ出力する時に、「?」部分に実際に値が入っている状態で出したいんだけど
どうすればいいですか?別々に出力させるしかないのでしょうか?

586 名前:デフォルトの名無しさん [2008/05/29(木) 21:06:52 ]
JSpinner の中身を左詰で表示させたいんですけど
設定がわかりません orz
set〜 を探してもそれっぽいのないのですが。。。

587 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 22:15:15 ]
>>586
((JSpinner.NumberEditor) spinner.getEditor()).getTextField().setHorizontalAlignment(SwingConstants.LEFT);

588 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 22:52:25 ]
>586
似たような物をチュートリアルから
ttp://java.sun.com/docs/books/tutorial/uiswing/components/spinner.html#format
* キャスト前に instanceof でオブジェクトの型を確認。
* キャストに基底クラスの JSpinner.DefaultEditor を使用。

589 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 23:09:58 ]
>>575
java.sun.com/javase/ja/6/docs/ja/api/java/nio/channels/FileLock.html

590 名前:デフォルトの名無しさん [2008/05/29(木) 23:11:33 ]
>585

?の部分にバインドするのはDBサーバだから簡単な方法はない気がします。



591 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 00:24:34 ]
バインドしたやつってDBサーバ側のクエリログとかはどうなん?
自分で確かめてないけど、バインドした結果のが残ってないん?

592 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 01:28:45 ]
6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
ttp://system-trading.jp/news/index.php?ID=39
5月22日より登録受付開始、6月2日よりグランプリ開始の予定。


ttp://www.fx-gp.com/
●社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円
https://www.click-sec.com/corp/guide/demo/

593 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 01:36:19 ]
>>590
String#formatを使えるなら、それほど難しくない気もする。

594 名前:590 mailto:sage [2008/05/30(金) 01:44:29 ]
>593

それだと、DBで実行しているものと同じとは言えないと思うのですが。。。

簡単かどうかは人によって違うとは思うのですが、JDBCのパラメータをいじるだけでは出来そうもないという意味で、簡単ではないと書きました。

595 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 02:54:48 ]

JGraphについてです

JGraphはsourceforgeからダウンロードしましたが(初心者なんで)使い方がわかりません。
環境はVistaでj2sdk2.4です。

どなたかJGraph使い方わかる人はいませんか?(ファイルの移動、コンパイル方法など)


596 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 07:12:39 ]
j2sdk2.4?

597 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 07:53:32 ]
>>596
すみません、眠たくてぼけてました
j2sdk1.4.2_17です。

598 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 09:54:13 ]
>>590,593,594
ありがとうございました。
ざっとString#formatも調べてみましたが、
これはこれで使いこなすのに時間がかかりそう・・・
でも参考になりました。ありがとうございました。

599 名前:585 mailto:sage [2008/05/30(金) 12:05:14 ]
>>591
すいません、抜けていました。
レスありがとうございました。


600 名前:ぬこぬこダンス ◆QQgpZ/Znz. mailto:sage [2008/05/30(金) 12:34:58 ]
Hoge [] array = new Hoge[100];
for( int i = 0; i < array.length, ++i )
{
  array[i] = new Hoge();
}

このようにしてメモリを確保した場合

for( int i = 0; i < array.length, ++i )
{
  array[i] = null;
}

array = null;

ってやるのが正しい方法でしょうか?

それとも

array = null; だけでOKなんでしょうか?



601 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:44:00 ]
>>600
何もしなくてOK
nullを代入する必要は通常ない

602 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:44:59 ]
null代入イラネ

603 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:47:43 ]
>>601-602
ありがとうございました

604 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 13:35:34 ]
exec("explorer")を呼び出す際に引数を付けて任意のディレクトリを開くようにしたいのですが、
他のプログラムのようにexec("explorer C:/")というようにやっても
シェルからexplorer C:/と入力するような動作はしません。
これって何が問題なのでしょうか?

605 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 13:54:07 ]
exec("explorer C:\\") としないとダメとか?

606 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 14:07:11 ]
>604
XP です。シェルが何か分かりませんので cmd で確認。同じ動作をします。
単なる入力ミスor確認不足じゃないですか?

もちろん、意図した動作は 605 でしょうけど。

607 名前:604 mailto:sage [2008/05/30(金) 14:49:27 ]
>>605で出来ました、レスありがとうございます。
Javaの中のパス指定は/でいいけど外部プログラムに渡す時は\じゃないとダメなんですね。。

608 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 15:22:57 ]
java.sql.SQLNonTransientConnectionException: バッチエレメント # のエラーです0: 通信エラーが検出されました: Software caused connection abort: recv failed。

これって何が原因ですか
対処方法も分かったら教えてください

609 名前:デフォルトの名無しさん [2008/05/30(金) 18:02:07 ]
Javaで perlやphpのcryptみたいな物ってあるんでしょうか・・?
DESでsalt2文字で暗号化したいんですが・・

www.dynamic.net.au/christos/crypt/UnixCrypt.txt
だとちょっと結果が違うみたいで

javax.cryptoを使うのは方式が違う感じ?

何か良いものがあれば教えてください〜

610 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:07:26 ]
>>609
「みたいな物」 が欲しいだけで 「同じ物」 が必要じゃないなら、別にちょっとくらい結果が違ってもいいんでないの?



611 名前:デフォルトの名無しさん [2008/05/30(金) 20:40:46 ]
randomの乱数生成ですが
0から乱数が始まるみたいですが
最低値と最大値を 5〜10 のように指定した乱数の出し方がわかりません。
教えてください。


612 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 20:51:37 ]
>>611
new Random().nextInt(6) + 5;

613 名前:デフォルトの名無しさん [2008/05/30(金) 20:58:29 ]
>>612
わかりました。サンクス

614 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 21:13:26 ]
インスタンスを生成したときの内部のメモリ状態について質問です。

クラスは、変数とメソッドで構成されていると思うですが、
インスタンス生成の度にメモリ上に確保されるのは、
変数だけなのでしょうか?
それとも、変数とメソッドなのでしょうか?

私は前者だと思っていたのですが、
会社の先輩が後者だと言って譲りません。
恐い先輩なので、私が悪いことにしてその場を治めましたが納得できません。
どちらが正しいのでしょうか?


615 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 21:22:36 ]
メモリ状態なんてJVMの実装依存でしょ

616 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 22:15:46 ]
>>614
OpenJDKのソースを斜め読みした限りじゃインスタンス変数だけと思われ。

617 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 22:42:02 ]
一般的なJVMの実装ならば変数だけだろ
メソッドはどのインスタンスでも同じ振る舞いするわけで、わざわざインスタンス毎に作成するメリットはほとんどないわけだから
メソッド変数という意味ならば変わるけどな

618 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 22:46:27 ]
>>614
> 恐い先輩なので、私が悪いことにしてその場を治めました
これは正しい。

> が納得できません
これは正しくない。

619 名前:614 mailto:sage [2008/05/30(金) 22:50:13 ]
>>615-617
レスありがとうございます。
やはり常識的に考えて、生成されるのはインスタンス変数だけですよね。
恐い先輩に頭ごなしに否定されたので、自分が間違っているような気になっていました。

620 名前:デフォルトの名無しさん [2008/05/31(土) 00:26:19 ]
GUIでウェブブラウザ作ってるんですが・・・
下のif文の中に入ってくれません。
どなかか考えうる理由など教えていただけると嬉しいです。
必要であれば、ソースすべて載せます。
はじめて質問するので、なにか不束な点があると思いますが、
許してください。。。
JButton ret; //戻るボタン

public void actionPerformed(ActionEvent ae) {
Object obj = ae.getSource();

//この条件の中に入ってくれません
if(obj == ret){
System.out.println("test4");
System.out.println("test4");
System.out.println(address.getText());
list.removeLast();
this.setUrl(list.getLast());
}
else if (obj == address) {
System.out.println("test2");
System.out.println(address.getText());
list.add(address.getText()); //ジャンプするURLを格納
this.setUrl(address.getText());

}}



621 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 00:37:49 ]
retをローカル変数で定義しているとか?
下のelse if は入るんだよね?

622 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 00:46:36 ]
printデバッグするにしても、"test4"とか固定文字列を表示するんじゃ
なくて、ifの前にobjとかretを表示してみるとかー。



623 名前:デフォルトの名無しさん [2008/05/31(土) 01:13:40 ]
二つの文字列を表示する時
一つめの文字列を表示させたあと
2秒ほど間を開けて
二つめの文字列を表示するにはどうすればいいですか?

624 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:17:34 ]
>>623
簡単に言うと、間に Thread.sleep(2000); を挟む。


625 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:22:30 ]
JNIでCと連携してるんだけど、特定のnativeメソッドを使用した時に
UnsatisfiedLinkErrorが投げられてしまう。

環境変数は通っているし、
ヘッダファイルが最新の状態で問題なくビルドできたのに、
そのメソッドだけ蹴られる。
ためしに問題の部分をコメントアウトして実行したら、問題なく動いた。
だから他のnativeメソッドは、たぶん普通に呼び出せてるんだよね。

DLLの中身をのぞいて見ても、件のメソッドは他のメソッドと同じようにちゃんと存在している。

これはいったいどういうことなんだろう…?

626 名前:620 [2008/05/31(土) 01:30:52 ]
>>621
ローカル変数では定義してませんね・・・
下のelse if文には入ります

>>622
obj表示してみました。
今もうその文字列のcontainsメソッド使ってごり押しでif文に入りました!


ただなんで前の状態じゃ入れないか疑問に残って仕方がない・・

627 名前:デフォルトの名無しさん [2008/05/31(土) 01:40:57 ]
>>624
やってみます、ありがと

628 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:47:32 ]
>>626
ありそうなのは、JButton ret;と、実際に追加されているボタンが異なるケース。
同名のローカル変数が追加されて、メンバのretに値が入っていない。
JButton ret=new JButton();とかやってないか?



629 名前:620 [2008/05/31(土) 02:42:15 ]
>>628
ぁぁぁ・・・ご名答です・・
コンストラクタでやってしまってました・・・
わざわざありがとうございます。

今ブラウザの戻る、進む、ホームに戻るが作成できました。
あとは履歴とブックマークくらいしたいなー。
他なにか機能ないかなー。

なんか学校の課題とはいえ、がっつり便利なブラウザ作ってみたいなー。

630 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 02:50:40 ]
>>629
> がっつり便利なブラウザ作ってみたい
ってことは今使っているブラウザに不満な点があるということだから、
その不満を解消する機能をつければいい。
既にあるものを再生産するのは詰まらんだろう。



631 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 03:08:05 ]
>>629
そういうミスを防ぐために、メンバ変数に特殊な命名規則を導入するス
タイルもある。
m_ret
mRet
f_ret
fRet
ret_
または常にthis.retで使うとか。


632 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 03:58:37 ]
short と byte[] の相互変換ってどうやるんですか?
private byte[] ShortToByte( short s )
{
byte [] b = { (byte)((s >> 8) & 0xFF), (byte)((s >> 0) & 0xFF) } ;
return b;
}

private int ByteToShort( byte []b )
{
return ((b[0] & 0xff) << 8) | (b[1] & 0xff);
}

こんなのを作ってみましたけど 上手く行きません

short s = -1;
System.out.println( s );
System.out.println( ByteToShort( ShortToByte( s ) ) );

結果
-1
65535

633 名前:デフォルトの名無しさん [2008/05/31(土) 04:10:17 ]
>>632
それshort返してねえよ int返してる

634 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:28:20 ]
あ^^;色々変更して試しにint返してみてそのままでした

private short ByteToShort( byte []b )
{
return (short)((b[0] & 0xff) << 8) | (b[1] & 0xff);
}

でも同じ結果です

635 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:33:27 ]
private byte[] convertShortToByte(short s) {
byte[] b = new byte[2];
((ByteBuffer)ByteBuffer.allocate(2).putShort(s).rewind()).get(b);
return b;
}
private short convertByteToShort(byte[] b) {
return convertByteToShort(b, 0);
}
private short convertByteToShort(byte[] b, int offset) {
return ByteBuffer.allocate(2).put(b, offset, 2).getShort(0);
}

636 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 05:24:53 ]
そんなややこしい方法でしか無理ですか?

637 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 06:07:55 ]
ここでエスパー参上
short 返してねえよ。int 返してる

638 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 06:13:47 ]
>>637
>>634です


639 名前:294 [2008/05/31(土) 12:09:33 ]
Aクラス=(appletをextendsしたクラス)でBクラス=(frameをextendsしたクラス)ではなく
Bクラスを使用しないでAクラスでBしたクラスがする処理をしたらappletとしてうごきました。
ところでappletではファイルの読み書きとかが出来ないらしいけど、
何が出来て何が出来ないかということはどうやって解るんですか

640 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 12:53:26 ]
>>639
↓に載ってるものは出来ない
java.sun.com/javase/ja/6/docs/ja/technotes/guides/security/permissions.html#PermsAndMethods

ただし↓のファイルに書いてあれば許可される
C:\Program Files\Java\jre1.6.0_06\lib\security\java.policy



641 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 13:13:04 ]
>>640
ありがとうございます。
とてもよく知ってますね。
そういう知識はどこで覚えたんですか?
なんでそんなに詳しいんですか?
どこかで習ったりしたんですか?


642 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 13:32:07 ]
>>641
公式サイトのドキュメント↓読んでれば見つかる
java.sun.com/javase/ja/6/docs/ja/
ここの 「セキュリティ」 と書いてあるリンクを辿っていけばセキュリティについて書かれている
さっきのページは 「セキュリティ」 → 「Java 2 SDK におけるアクセス権」
片っ端から全部読むには量が多すぎるが、必要なときに必要な情報だけ探して来れば十分

643 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 14:11:40 ]
>>636
static short ByteToShort(byte[] b)
{
  return (short)((b[0] << 8) | b[1]);
}

static byte[] ShortToByte(short s, byte[] b)
{
  b[0] = (byte)((s >> 8) & 0xFF) ;
  b[1] = (byte)(s & 0xFF) ;
  return b;
}

public static void main(String[] args)
{
  short s = -1;
  byte b[] = new byte[2];
  System.out.println( ByteToShort( ShortToByte( s, b )));
}
君のメモリー(思い出は((無い

644 名前:デフォルトの名無しさん [2008/05/31(土) 14:51:39 ]
synchronizedブロックだとメソッドから復帰するとモニタも解放になりますが、
メソッドから復帰してもロック・オブジェクトのモニタを持ちつづけるにはどうすればいいのでしょうか?

645 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:06:20 ]
>>644
それ用のスレッドを作ってモニタを持ち続けさせるか、
特にオブジェクトのモニタである必要がないなら java.util.concurrent.locks.ReentrantLock あたりを使う

646 名前:デフォルトの名無しさん [2008/05/31(土) 15:08:02 ]
やはり少し手間がかかるんですかありがとうございます。

647 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:15:55 ]
>>645
イテレーションが目的であって、要素が途中で変更されると困るときはどうするんでしょうか。
例えばjava.util.Vectorのsynchronizedは取得時のみでイテレーション中は変更される可能性があるわけで、これとは少し意味が違いますよね。

648 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:22:30 ]
>>647
使う側が必要なだけsynchronizedかける

例:
Vector v = ....;
synchronized (v) {
 Iterator i = v.iterator();
 while (i.hasNext()) {
  ...
 }
}

649 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:28:45 ]
ああ、そうですね。

650 名前:デフォルトの名無しさん [2008/05/31(土) 15:30:06 ]
先頭のスーペースはもしかしてnbsp;をタイプしてるんですか?



651 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:32:36 ]
専ブラが変換してくれるので自分でタイプしてはいない

652 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:35:43 ]
>>648
それだと違うインスタンスのロックにならないから、
例えば別のVectorインスタンス(クローンとか)から内部を変更されてしまい、
要求する仕様を満たさないよ。そういうのは見つけにくいバグになるんじゃないの?






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

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

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