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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 22:10:53 ]
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下の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質問・相談スレッド100【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1175317038

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

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

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

2 名前:デフォルトの名無しさん [2007/04/30(月) 22:28:50 ]
>1乙カレン様

3 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 22:40:10 ]
javaを始めたばかりなのですが
if文の中で宣言の指定をすると「シンボルを見つけられません」といわれて
コンパイルできません。
最初の段階で宣言すればいいのですが、なぜif中に宣言したらいけないのでしょうか?
誰か教えてもらえると助かります。

4 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 22:42:54 ]
>>3
いけなくない。
if () { A }
B

Aでする宣言は有効。ただし、Bではその変数は見えない。


5 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 22:55:29 ]
>>4
あー
なんとなくわかりました。
ありがとうございます。

6 名前:デフォルトの名無しさん [2007/05/01(火) 03:09:15 ]
ActionScriptというFlashで使われている制御プログラムの言語をプログラミングが
あまり出来ない人でも使えるようにActionScrip和訳辞書のようなイメージでシステム
を作りたいと思っています。ユーザーがイベントやそのイベントが起きたときの処理などを
日本語であらかじめ設定されたライブラリから選択すればそのままソースがデータベースから
読み出されアウトプットされるようなものを作りたいのです。
どのように作ればよいのでしょうか?
何か開発に使えそうなソフトなどないでしょうか?
本当に困っています。誰か助けてください


7 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 04:06:32 ]
Thread、synchronizedについて質問があります。
public class Test extends Thread{
private int i, j;
public synchronized void run(){
for( int count = 0; count < 2; count++ ){
i++;
j++;
System.out.println(" i=" + i + ":j=" + j );
}
}
public static void main(String[] args){
new Test().start();
new Test().start();
}
}
このコードの実行結果を答えよっていうような問題があって、
選択肢の中に、
B i=1:j=1
  i=2:j=2
i=1:j=1
i=2:j=2
C iとjの値は出力されるが、表示順は一意ではない
この2つがあって、Bが正解になってて、
解説には、run()メソッドをsynchronized指定しているため、run()メソッド実行中は他に制御が移ることなく処理される。
とあるんですが、これ違いますよね?
うまく説明できないんですが、このときって別々のオブジェクトのrunにロックがかかってるんですよね?
forループの回数増やして試しても、Cの結果になりました

8 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 04:20:34 ]
>>7
うん
あんたの解釈で合ってる

9 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 04:46:47 ]
>>8
ありがとうございます
ちょうど今日SJC-P受けるのでその前にすっきりできました\(^o^)/

10 名前:デフォルトの名無しさん [2007/05/01(火) 06:36:43 ]
雨の中、5963



11 名前:デフォルトの名無しさん [2007/05/01(火) 08:59:25 ]
2週間の黄金ウィークなんですが、Javaで何をしたらいいですか?

12 名前:デフォルトの名無しさん [2007/05/01(火) 09:04:31 ]
>>11
曜日を取得

13 名前:デフォルトの名無しさん [2007/05/01(火) 09:22:49 ]
>12ナイス。でも、おわた…

次は?

14 名前:デフォルトの名無しさん [2007/05/01(火) 09:30:08 ]
>>13
祝日を管理するプログラム

15 名前:デフォルトの名無しさん [2007/05/01(火) 10:00:30 ]
>14
成人の日と体育の日は第2月曜。春分の日と秋分の日は年度によって違う。振替休日。
成人の日は
Cal date=インスタンス〜
date.set(1月1日)
int col=1月1日の曜日ゲット
int count=0
for(int c;c<=30;C++){
if(col==2){
count++
if(count==2){
Holiday=1*100+c
break
}
}
col++
if(col>7){
col=1
}
体育の日も同様に!

春分の日
Syunbun=3*100+(int)(20.8431+0.242194*(Year-1980)-(int)((Year-1980)/4))
春分の日
Syuubun=9*100+(int)(23.2488+0.242194*(Year-1980)-(int)((Year-1980)/4))

振替休日
まんどくせ( ̄σ‥ ̄)

16 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 10:46:19 ]
以上を踏まえて万年カレンダーを作る。

・指定された年月に対する一ヶ月分のカレンダーをGUI上に表示する
・土日祝祭日は色分けすること。
・年月の指定範囲は1970年1月〜2099年12月とする
・祝祭日は過去にさかのぼると平日だったりするので(海の日とか天皇誕生日とか…)その辺も考慮する。
・将来的に祝祭日の追加に対応できるようにする。
・余力があればこれを元にスケジュール帳を作ってみる。

これだけやればGWの暇つぶしになるじゃろ

17 名前:デフォルトの名無しさん [2007/05/01(火) 10:47:05 ]
>>15
いつ天皇が逝っても対応できるように和暦の即時追加とか
はぁ〜、和暦とかハッピーマンデーをどっかのサーバーで一元管理してくれればいいのにな

18 名前:デフォルトの名無しさん [2007/05/01(火) 10:49:54 ]
>17コピペでいい?
( ̄σ‥ ̄)

19 名前:デフォルトの名無しさん [2007/05/01(火) 11:04:40 ]
東風荘って麻雀ゲーム(ネット対戦)があるんだけどさ
このクライアントアプリでJava版があるんだよ
これを自分の考えたアルゴリズムで打つように組んで遊んでるよ。

このアルゴリズムがすげー弱い・・・。

20 名前:デフォルトの名無しさん [2007/05/01(火) 11:36:43 ]
Javascriptなんですけど
テキストエリアにjの回数分、ランダムに出力したいのですが、
どうも一番最後の処理だけが出力されてしまいます。
どこがおかしいか教えて頂けないでしょうか?  

for(j = 1; j <= cnt; j++){
m = "role" + j + " = " + Math.round(Math.random()*10) + ",";
document.form1.result.value = m;
}



21 名前:デフォルトの名無しさん [2007/05/01(火) 11:41:39 ]
>>20
スレ違い

22 名前:デフォルトの名無しさん [2007/05/01(火) 11:45:15 ]
ですよね、探してもなかったから・・
すいません。

23 名前:デフォルトの名無しさん [2007/05/01(火) 11:53:15 ]
jの回数分って…

24 名前:21 [2007/05/01(火) 11:54:00 ]
>>22
本当だ、JavaScriptってないんだな。
Web制作板に結構あるからそっちでどうだろう?

25 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 12:16:21 ]
Date型からString型への変換ってどぉしたらいいですか?
SimpleDateFormat使うんだろうけどわかりませn

26 名前:デフォルトの名無しさん [2007/05/01(火) 12:24:07 ]
>>25
どういう文字列にしたい?
2000年10月10日 10時10分
2000/10/10 10:10
などなど具体的に

っていうかAPIは読んだ?

27 名前:デフォルトの名無しさん [2007/05/01(火) 12:30:32 ]
1.日付のフォーマット
1.時刻のフォーマット
1.日付と時刻の両方のフォーマット
1.パターン文字によるフォーマット

があるお

28 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 12:33:33 ]
>>26
API読みました!が、わかりません;;

2000/10/10(Dateクラス)をテキストフィールドに表示させたいんですが、
その場合Stringにしなきゃですよね?しかし方法がわかりません;;


29 名前:デフォルトの名無しさん [2007/05/01(火) 12:41:18 ]
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
sdf.format(new Date(time));

30 名前:デフォルトの名無しさん [2007/05/01(火) 12:43:45 ]
APIが読めるぐらいの基礎知識はつけろよ!



31 名前:デフォルトの名無しさん [2007/05/01(火) 13:56:18 ]
JAVAの開発環境はどれがオススメですか?
できればfreeがよいです。
windows、macで変わりますか?

32 名前:デフォルトの名無しさん [2007/05/01(火) 15:02:07 ]
開発環境の質問が出ているので便乗で失礼します。

Javaをはじめたばかりなんですが
Eclipseなどの開発環境をいきなり入れるべきか
まずはエディタ+JDKの王道でやっておくべきか
どちらの方がおすすめでしょうか?

33 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:09:05 ]
>>32
どっちでも自分がいいと思った方を選べばいいよ
自分の感性を信じるんだ

34 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:10:10 ]
この手の話は100万回繰り返されてて、一歩間違えば荒れる元だが

それでも敢えて言うなら、IDEから始めた方が良いと思う。この方が馴染みやすい。
ただ、ある程度Javaに慣れてきたら、エディタ+JDKでの開発にもふれておくべき。
IDEの後ろで何が起きているかは知ってて損はない。

35 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:30:58 ]
まずはコンパイラの使い方覚えてからIDE触った方が良いよ

36 名前:32 mailto:sage [2007/05/01(火) 15:55:09 ]
>>33-35
「どちらが良いかは人それぞれ」なんですね。
かなり乱暴なイメージとしては、初心者がウェブサイトを作るのに
メモ帳で手打ちしていくかホームページビルダーを使うか、
といった感じなんでしょうか。
ものの本を何冊か読んでみたところ、
エディタ+JDKが大前提で書かれてるものばかりだったので、
初めから統合開発環境に手を出すのはご法度なのかと思っていましたが、
そうとも限らないんですね。
簡単なコーディングをいくつかエディタで書いてみてから
統合開発環境も触ってみようと思います。

レスありがとうございました。

37 名前:デフォルトの名無しさん [2007/05/01(火) 16:36:21 ]
>>32
無料なんだから全部試してから決めれば?

38 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 17:10:42 ]
すごく抽象的な話ですみません。、
関数を使うとき微妙に違う処理なんだけど引数に渡すものもない場合
どう呼び出すんでしょうか?
例えばtextshow1関数とtextshow2関数って分けずに
textshow関数で引数を渡すと思うんですが、
textfield1と2で違うだけって場合とか。
文字列を渡してやればいいのでしょうか?スマートでない気もします。

39 名前:デフォルトの名無しさん [2007/05/01(火) 17:22:20 ]
DataInputStreamとBufferedReaderの共存についての質問です。

HTTPのクライアントを書いていて、
以下のようにテキスト入力用のBufferedReaderと、
画像等のデータを入力するためのDataInputStreamを同時に使いたいと考えています。

InputStream is = sock.getInputStream();
DataInputStream DataIn = new DataInputStream(is);
BufferedReader TextIn = new BufferedReader(new InputStreamReader(is,1);

ヘッダをBuffuredReader#readLine()で""(ヘッダ終わり)が出るまで読み込んだ
後に、DataInputStreamでデータを読んでも、0バイトしか読み込めませんでした。
(バッファに先読みされた?)

BufferedReaderをまったく使わずにDataInputStream#readLine()を使えば一応
問題ないのですが、こちらのメソッドは非推奨らしいので出来れば使いたくありません。

この二つをうまく共生させる方法はありませんか?よろしくお願いします。


40 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 17:22:42 ]
> 微妙に違う処理なんだけど
何が違うのか具体的、かつ詳細に。

っつか、何が問題なのかもよくわからんし、
面倒だから自分の気が済むようにすればいいんじゃね? とか思わなくもない。



41 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 17:58:03 ]
>>39
> この二つをうまく共生させる方法はありませんか?
\r\n\r\n を検知したら -1 返すような InputStream 作って、
Reader にはそれを渡すとかして、先読みさせないようにするとか。

BufferedReader textIn = new BufferedReader(new InputStreamReader(
new InputStream(){
 private boolean eof = false;
 private int data = 0;
 public int read(){
  if(eof) return -1;
  int b = is.read();
  data = data << 8 | b;
  eof = (b == -1 || data == 0x0d0a0d0a);
  return b;
 }
}));
とか。

素直に java.net.HttpURLConnection とか使った方が良いような気もする。

42 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 19:00:22 ]
>>38
↓みたいなことがしたいってこと?
import java.awt.TextField;

private TextField textfield1 = new TextField();
private TextField textfield2 = new TextField();
public void textshow(java.awt.TextField field){
 field.setText("テスト");
}
呼び出すときは textshow(this.textfield1); textshow(this.textfield2);

43 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 20:24:22 ]
sjc-pうかた\(^o^)/

44 名前:デフォルトの名無しさん [2007/05/01(火) 20:32:16 ]
>43
貴様、朝4時頃にカキコしてたやつだろ。
朝っぱらから受けるんだなぁと思ってたら、こんな時間まで…

45 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 20:35:39 ]
試験は昼過ぎに終わったよ
帰りにショッピングしてたよ\(^o^)/

46 名前:デフォルトの名無しさん [2007/05/01(火) 20:59:53 ]
\^o^/

47 名前:デフォルトの名無しさん [2007/05/01(火) 21:30:32 ]
ランダムバナーを作りたいんだけども、どうしてもIE6で警告文が表示される。
こんな感じです。
<SCRIPT language="JavaScript">
<!--
jmp = new Array();
img = new Array();
jmp[0] = "リンク先";
jmp[1] = "リンク先";
jmp[2] = "リンク先";
img[0] = "画像";
img[1] = "画像";
img[2] = "画像";
n = Math.floor(Math.random()*jmp.length);
document.write("<a href='"+jmp[n]+"'>");
document.write("<img src='"+img[n]+"' border='0'>");
document.write("</a>");
//-->
</SCRIPT>
画像は事情があって同じディレクトリに置けないので、htmlから始まるアドレスを入れて表示させています。
警告文を表示させないで実行したいのですがどうすればいいか教えてください。


48 名前:デフォルトの名無しさん [2007/05/01(火) 21:35:25 ]
>>1

49 名前:デフォルトの名無しさん [2007/05/01(火) 21:39:21 ]
>>2

50 名前:デフォルトの名無しさん [2007/05/01(火) 21:43:22 ]
アプレットでメソッドを参照することはできますか?
どういうことかというと、↓みたいなことをアプレットでもできるか?という意味です。

class A{
public static void main(String[] args){
B();
}

public static void B(){
C;
}

}



51 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 21:51:58 ]
>>50
メソッド呼び出してるようにしか見えないんだけど。
参照ってどこにあんの?

52 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 21:53:49 ]
メソッドを参照という言葉を意味が通るように解釈すると、
「Methodオブジェクトを取得して何かする」という意味になりそうだが
たぶん違うな。


53 名前:デフォルトの名無しさん [2007/05/01(火) 21:53:58 ]
じゃあ参照じゃなくて呼び出しです。

54 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 21:58:58 ]
>>53
なんでメソッド呼び出しが できなくなるって思うんだ?

55 名前:デフォルトの名無しさん [2007/05/01(火) 22:03:10 ]
やってみてもできないからです。
drawlineを含んでるからかな。

56 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 22:10:02 ]
呼ばれてるけど期待する結果になっていないのか、
呼ばれておらずなにも起こらないのか、
コンパイル自体ができないのか、
いろいろ可能性があって回答不能。


57 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 22:11:58 ]
>>55
とりあえず、ソース全部晒せ。
コンパイルエラーか実行時エラー出てるなら、それも全部。

58 名前:デフォルトの名無しさん [2007/05/01(火) 22:14:57 ]
晒すのは嫌なので自分で何とかすることにします。ありがとうございました。

59 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 22:47:12 ]
>>39
なるほど!
うまくいきました。
>java.net.HttpURLConnection
こんなクラスあったんですね・・・検討したいと思います。

ありがとうございました。

60 名前:デフォルトの名無しさん [2007/05/01(火) 23:29:07 ]
SwingとかSWTでプログラミングするって聞きますが、これらはIDEなんですか?



61 名前:デフォルトの名無しさん [2007/05/01(火) 23:30:08 ]
違います。

62 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 00:09:17 ]
最近はじめたばかりの初心者です
入力した誕生日に対して現在の日付を基準に年を求めるメソッドを
作りたいのですが、どのメソッドをどのように使ったらいいかわかりません・・・(´・ω・`)
どなたか教えてください(´・ω・`)


63 名前:デフォルトの名無しさん [2007/05/02(水) 00:18:03 ]
>>62
現在日付は取れるのか?
四則演算は出来るのか?
誕生日入力ってのはmainのパラメータで渡すのか?

何が出来ないんだ?
出来る事と出来ない事を分けて書いてくれ

64 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 00:36:58 ]
>>62
中身はよくないと思うが参考にはなるだろう

ttp://forum.java.sun.com/thread.jspa?threadID=685608&messageID=4021491

つまり
java.util.Calendar
java.util.Date


65 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 00:59:38 ]
回答が得られないので、違うスレから移動してきました。

java初心者なのですが、
int a,b に数字を入れて割り算を行い、余りも含めてdouble型で出力しようとして

public static void main(String[] args) {
int a = 5;
int b = 3;
double d;
d = a/b;
System.out.println("5/3="+d);

}



と記述してみたのですが、実行結果は1.0となってしまいます。
どうすれば余りも含めて表示することができるのでしょうか?


66 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 01:01:57 ]
算数初心者?

67 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 01:09:40 ]
初心者なのですが≒頭が悪いのですが

68 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 01:14:57 ]
int / int = int
(double)int / (double)int = double

69 名前:デフォルトの名無しさん [2007/05/02(水) 08:33:03 ]
%←あまり

70 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 09:44:47 ]
>>65
商と剰余を同時に計算することはできないので、それぞれやる計算する
がある。ところで、doubleでの余りってどういうものを期待している?





71 名前:デフォルトの名無しさん [2007/05/02(水) 10:14:40 ]
Java(ジャバ) の読み方というかイントネーションについて。

1.↑↓(吉幾三の『よし』に近いイントネーション)
2.↓→(和田アキ子の『わだ』に近いイントネーション)

どっちなんでしょうか?

72 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 10:17:20 ]
中国語の四声に合わせて読んでみよう
ジャヴァ、ジャヴァ、ジャヴァ、ジャヴァ

73 名前:デフォルトの名無しさん [2007/05/02(水) 10:19:06 ]
たすけてくれぇぇ
xlsファイルをCSVファイルに変換するJAVAプログラムなんて
あるのぉ??
(σ´Д`)JExcelApi使ったけどリファレンスが全部英語でわかんねぇ



74 名前:71 mailto:sage [2007/05/02(水) 10:22:18 ]
>>72
読んでみましたが、第2声なのか第4声なのかというところですかね。
どっちが主流なんでしょうか?

75 名前:65 mailto:sage [2007/05/02(水) 10:27:00 ]

わかりました。
わざわざありがとうございます。

76 名前:72 mailto:sage [2007/05/02(水) 10:43:05 ]
>74
いや、あの…ネタだったのに、ごめんorz
個人的には『わだ』式。
元々英語なんだから日本語にした時の発音なんてそれぞれじゃね?

77 名前:デフォルトの名無しさん [2007/05/02(水) 10:47:33 ]
>73
つーか、ExelでCSV保存しなおすことができるよね

78 名前:71 mailto:sage [2007/05/02(水) 11:20:43 ]
>>76
あ、ネタだったんですか・・・。
でも、分かる人には四声で表現した方が伝わりやすいですね。

>元々英語なんだから日本語にした時の発音なんてそれぞれじゃね?
それもそうなんですが、例えばWordとかExcelとかだと第1声に近い感じのが主流ですよね。
Javaにもそういう主流の発音があるのかなぁ、と思ったので。
どうでも良いと言えば、どうでも良いんですけど
以前、Word、Excelの発音が第4声に近い感じの人が
「WordとExcelぐらいできますよ〜」と自身満々に言ってた割りに全然使えなくて
「使い慣れてる人はあんな発音しないよな・・・」みたいな印象をみんな持ってたので
ソフトの発音と言えどもバカにはならないな、と思ってたんですよね。
もし主流の発音があるのなら今のうちにそっちにしとこうと思って質問したんですが、
って、ものすごく長くなってすみません。
発音気にする前にワニの本読みます。

79 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 11:28:47 ]
仕事をしていると

( c == 'A' )

がアザラシに見えてきます。どうすれば良いんでしょうか?

80 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:32:24 ]
>>79
定数を定義する。これで'A'がメソッドの中に現れることはない。例えばこう。
public static char ^ω^ = 'A';



81 名前:デフォルトの名無しさん [2007/05/02(水) 12:52:35 ]
俺なんてjavaのキャラクターが奥歯に見えるぜ。

82 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:04:25 ]
String型のデータをDate型にいれるのってどうすればいいですか?

83 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:09:33 ]
>>82
>>29あたり見れ

84 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:12:28 ]
>>83
ありがとうございます!

85 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:12:35 ]
え      くせる
  くせる え

どっちとも読むと思われ。

86 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 14:06:48 ]
>>80

( c == ^ω^ )

どう見ても、アザラシです。ありがとうございました。

87 名前:82 mailto:sage [2007/05/02(水) 14:27:47 ]
やってみたんですが>>29だと現在の日付になっちゃいますよね?

StringにYYYY/MM/ddの形で文字列が入ってることが前提だとどうすればいいでしょう?

88 名前:デフォルトの名無しさん [2007/05/02(水) 16:41:51 ]
>>87
あのなぁ>>29が回答だなんて誰も言ってないだろ?
ある程度ヒントが出てるんだからクラス名使って自分で調べろよ。
その上で何が分からないのかを聞けよ。

もしも自分なりに調べた上で質問してるなら
何を何処まで調べて、何が分からないんだ?

89 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:48:52 ]
>>87
java.sun.com/javase/ja/6/docs/ja/api/java/text/DateFormat.html#parse(java.lang.String)
java.sun.com/javase/ja/6/docs/ja/api/java/text/SimpleDateFormat.html#parse(java.lang.String,%20java.text.ParsePosition)

90 名前:デフォルトの名無しさん [2007/05/02(水) 21:05:17 ]
JAVAでxlsファイル(計3シート)を
csvファイルに変換したいのだが・・・。
どうしてもcsv変換後は前と(セルの中身)配置が違う。
どうしたらいいんだ〜!誰か・・エレガントなロジックをおしえてくれぇぇ!!
読み込みにはPOIを使用してます。



91 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 21:11:41 ]
マルチかよ・・・

92 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:14:41 ]
swing使ってwindowsプログラミング?してるんですが、
何か手軽にデバッグできるようなのありませんか?
C(win32api)ではダイアログボックスがすごく便利でしたが、
それに相当するようなものないかなーと

93 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:18:46 ]
>>92
javax.swing.JOptionPane#showMessageDialog とか?

素直にNetBeansとかEclipseみたいなIDEの
付属のデバッガ使った方が良いような気もするけど。

94 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:45:58 ]
>>93
なぜか付属のデバッガのことを忘れてましたw
ありがとうございました。

95 名前:デフォルトの名無しさん [2007/05/02(水) 22:58:21 ]
JAVAでプロセス間通信ってどうやってやるの?

96 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:09:47 ]
ソケットを使うのは普通に出来る。
共有メモリとかは標準にはないけど、NIO方面になんかあったよーな気も……


97 名前:デフォルトの名無しさん [2007/05/02(水) 23:10:08 ]
>>95
ソケット通信とか色々あるけど

98 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:31:37 ]
textfieldの一番左端に文字をsetするには
どうすればいいでしょうか?

99 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:35:14 ]
すみません。右端でした。

100 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:35:44 ]
しかもtextareaでした。



101 名前:デフォルトの名無しさん [2007/05/02(水) 23:47:47 ]
テキストの文字を取得して、最後に文字をくっつけて、またテキストにセットすればいいやん。

102 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:53:02 ]
いえ、そういうことではなくて、
setTextを使うとtextareaの左端に表示されてしまうので。
それをtextareaの右端に表示したいんです。

103 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:05:26 ]
AWTだとプラットフォームのpeer次第だろうな。

SwingのJTextAreaは
textArea.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
だろうか。
正確には、中に子供部品を配置するときの左右に関係するパラメータだと思ったが。


104 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:19:18 ]
ありがとうございます。
swingなので、よくわかりませんがやってみます。

105 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 01:01:01 ]
jakarta POIで、あるExcelファイルを読み込むと
org.apache.poi.hssf.record.RecordFormatExceptionが出る。
元のExcelファイルをExcelで開いて上書き保存するとちゃんと読み込めるんだけど、
元ファイルを吐くプログラム作った人に言わなきゃいけないんだろうか。

というかマスタぐらいcsvで吐いてくれよヽ(`Д´)ノウワァァン
一応poi-3.0-alpha3-20061212.jarとpoi-2.5.1-final-20040804.jarで試してみたけどだめぽ。

106 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 01:03:35 ]
JTextFieldなら
import static javax.swing.SwingConstants.TRAILING;
textField.setHorizontalAligment(TRAILING);
で、現在の行方向の行末に向かって揃えられる。
TRAILINGの代わりにRIGHTなら行方向にかかわらず右揃えになる。

JTextAreaにはsetHorizontalAlignmentなかったな。


107 名前:デフォルトの名無しさん [2007/05/03(木) 02:04:34 ]
質問ですただいま私のプログラムに3つのjavaがはいっているのですが
5・0の9、10、11と入っています?これは上書きされないのでしょうか・・
容量ばかり食ってしまうので、9と10を捨てて最新と思われる
11だけを残しておけば後はアンスコしても大丈夫でしょうか?
それとも9も10も11もそれぞれ違う役割をしているからどれか1つでも
アンスコしたら何かが起動しなくなる・使えなくなるなどということがある。
などということでも何でも良いので教えてください。お願いします。


108 名前:デフォルトの名無しさん [2007/05/03(木) 02:23:17 ]
>>107
JDK自体に問題はない
クラスパスどこで管理してるかは君次第

109 名前:デフォルトの名無しさん [2007/05/03(木) 12:54:49 ]
>>108
レスありがとうございます。すいません、初心者なもんで
ちょっと説明が難しいのですが。とにかく、9,10,11は
それぞれ別物ということでしょうか?そしてその9でも10でも11でも
何かのプログラムが例えば9のjavaで使用していればアンスコしたら
使えなくなるから×で最新と思われる11のjavaでも何も使用して
いなければアンスコしてもおkということでしょうか。。。

110 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:45:36 ]
>>109
そんな感じ。



111 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:54:24 ]
>>109
自分で何も設定した覚えがなければ、とっくに動いていない9・10をさっさと消すべし

112 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:01:58 ]
抽象クラス(というか継承)の使い方がよくわかりません。

クラスA,B,Cを含むパッケージがあります。
Aは抽象クラスです。
Aを継承したクラスB,C,Dを作成します。
B,C,Dは異なる実装ですが、同じ機能を提供します。

この場合、B,C,Dのインスタンスは外部からは何型として参照すれば良いのでしょうか。


113 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:07:41 ]
×クラスA,B,Cを含むパッケージがあります。
○クラスA,B,C,Dを含むパッケージがあります。

でした。すみません。


114 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:10:17 ]
普通は A 型の参照に入れると思うけど。
大雑把に言って、

A a;
if(hoge) {
 a = new B(foo);
} else if(hage) {
 a = new C(bar);
} else {
 a = new D(baz);
}
a.hige();

みたいなことがしたいんじゃないの?
まあ、B, C, D に拡張機能がある場合は
直接 B, C, D を使う場合もあるだろうけど。

115 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:39:58 ]
>>114さん
やりたいことはその通りです。
B,C,Dには拡張機能はありません。
B,C,Dは実行環境(プラットフォームでも良い)に依存したクラスです。


・クラスA,B,Cを含むパッケージがあります。
・Aは抽象クラスです。
・Aを継承したクラスB,C,Dを作成します。
・B,C,DはAの異なる実装ですが、同じ機能を提供し、それぞれに拡張機能はありません

ここに、インスタンスの生成に関して2つ条件を加えようとしています。

・B,C,Dのインスタンスは排他的にどれか一つしか生成できません。
・B,C,Dのインスタンスはいずれも、同時に一つしか生成できません。

これが上手く実現できません。。。

116 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:46:42 ]
>>112
>B,C,Dは異なる実装ですが、同じ機能を提供します。
ここまで分かってるなら理解してるような気がするけど、
機能が同じでも実装が違えば返ってくる値が違うってのは理解してる?


117 名前:112 mailto:sage [2007/05/03(木) 14:54:11 ]
>>116さん ご返答有難うございます。

>機能が同じでも実装が違えば返ってくる値が違う
Aから継承したメソッドをA型参照から呼び出しても、
それがBのインスタンスであるかCのインスタンスであるかによって、
実行される処理が変わるということでしょうか?

118 名前:112 mailto:sage [2007/05/03(木) 14:55:19 ]
115について、自分が考えたのは、

1.AにstaticなA型ポインタをメンバとして加える。
2.Aにstaticなインスタンス生成用のメソッドを追加する。
3.2のメソッドは1のポインタにB,C,D何れかのインスタンスを生成して参照(代入)させ、
1のポインタを返す。
4.B,C,Dのクラスまたはコンストラクタのスコープをパッケージで閉じてしまう。
5.↑によって、B,C,DのインスタンスはAのメソッドを通してA型としてしか取得できないようにする。

これってなんかおかしいでしょうか・・・。

119 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:59:44 ]
>>115
排他的でシングルトンなファクトリクラスを作れば良いかな。
シングルトンの管理は色々出来そうだけど
A,B,C,D,ファクトリを同じパッケージにしてB,C,Dのコンストラクタはパッケージープライベートにする。
んで、ファクトリはAのサブクラスのインスタンスを一度でも生成したか
どうかのフラグを持つ。B,C,Dのインスタンスを返すメソッド(ファクトリメソッド)内でフラグ立てる。
フラグが立ってれば以降はインスタンスを返さないか、
または生成済みインスタンスを返す。

大雑把だけどかんな感じか。


120 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:45:19 ]
>>117
そう。これサンプル。
ttp://www.vipper.org/vip499966.java

抽象クラスと継承については理解してるよ。
やろうとしてる事は
それとはあんまり関係ないきがする。
デザインパターンかも。





121 名前:112 mailto:sage [2007/05/03(木) 16:11:50 ]
>>119さん,120さん
有難うございます。
デザインパターンについて少し調べてみることにします。

122 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:13:16 ]
APIのメソッドのソースをEclipse上での見方を教えてください。
「ソースが見つかりませんでした。」
となるのですが・・。
どこからかDLすれば見れるようになるとかいうことでしょうか?

宜しくお願いします。


123 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:15:27 ]
APIソースはJDKに入ってる。
仮想マシンの設定あたりにソースzipを指定する箇所があるよ。


124 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:18:46 ]
構造体の2次元配列ってどうやって定義すればよいの?

こんな感じで使いたいのです。

myName[0][0].sei = "性"
myName[0][0].mei = "名"

ちなみにこんなふうにしてみましたがダメでした。

class StructName {
String sei;
String mei;
}

StructName myName[][] = new StructName[5][5];

myName[0][0].sei = "性" ← 代入しようとするとエラーになる。




125 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:26:37 ]
まずそれは構造体じゃない
で、最初に初期化しなきゃだめ
for〜〜
for〜〜
myName[i][j] = new StructName();

あとお前はコンストラクタでググるべきだ

126 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 01:23:52 ]
コンストラクタでググる前にjavaの教科書を頭から読み直すべきだな

127 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 01:44:55 ]
オブジェクトが存在するかどうか調べるにはどうすればいいでしょうか。

128 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 05:27:42 ]
もすこし詳しく

129 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 14:19:42 ]
int[] vec = new int[2];

このような1次元配列vecを2次元配列としてメソッドに渡したいのですが、どうしたらいいのでしょうか?
今は下のように書いているのですが、キャスト専用の変数を作るのとコードが冗長になってしまうのとが気になってしまって
もっとシンプルに書く方法ってありませんかね?

int[][] temp = new int[1][2];
temp[0] = vec;
method(temp);

130 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 14:36:03 ]
>>129
new int[][]{ vec };



131 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 16:10:19 ]
>>130
即レスありがとうございます
期待した通りに動かすことができました

132 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 17:24:54 ]
java入門したばかりで言語より考える方について質問ですが割合を出す方法を式で書くとどうなのかお尋ねします。
例えば、製品数a(1000個)の内、不良品b(200個)あると良品数c(80%)ですよね。

*a,bは決まった数字じゃありません

133 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 17:29:08 ]
それ算数の問題だからjavaとか関係ない

134 名前:デフォルトの名無しさん [2007/05/04(金) 20:03:54 ]
C系では、メソッドやクラスの左かぎ括弧は改行するけどJavaではしないよね。慣例なの?

【C系】
public class SampClass
{
}

【Java】
public class SampClass{
}

135 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 20:23:20 ]
Javaの場合、Sunが自身のコードで使っているとされるコーディング規約が文書化
されていて、その中に
java.sun.com/docs/codeconv/html/CodeConventions.doc5.html#381
というものがある。実際JDKのライブラリソースはこれに則っている感じ。

もちろん外部の人間が従う義務はない。ただ、Javaの黎明期には参考になるコード
はJDKのライブラリソースくらいだったわけで、この頃から一般人もJDKのソース
の書き方を真似て、カーリーブレースの前で改行しないスタイルが定着したのだろ
うと想像する。


136 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 20:24:35 ]
>>134
Sun のコーディング規約だと後者に近いってだけじゃね?

C言語でも改行しない人は一杯いるしね。
プログラミング言語C++ とかでも switch { やら struct hoge_tag { では改行してないし。
GNUコーディング規約だと if とか while とかでは改行+インデントして括弧つけたりするし。

137 名前:デフォルトの名無しさん [2007/05/04(金) 21:08:13 ]
これ、コピペ多用する言語なのか?
なんだかその悪寒がしてきたんだが

138 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 21:10:05 ]
>>137
なんで?

139 名前:デフォルトの名無しさん [2007/05/04(金) 22:31:55 ]
javaでExcelを作れるが、そのExcelにVBAコードを挿入できる??

140 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 22:59:48 ]
>>136
各言語でそういう規約があるのね。
eclipseの自動生成や、書籍を見てて改行してなかったから、慣例だと思ってたよ。
まぁ俺はクラス・メソッドは改行、制御文は改行なし、でいつもやってるんだがなぁ。
ま、javaは規約に従うとするか・・・。約1行、節約になるしw



141 名前:140 mailto:sage [2007/05/04(金) 23:00:27 ]
>>135もサンクス。

142 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 23:07:36 ]
コンストラクタの実行に時間がかかるクラスを作ったんで、カウンタ設置してその値に応じてJProgressBarで経過を表示しようとしたんだが、コンストラクタの実行中はバーが全然更新されなくて、実行終了後に更新されてバーがMAXになる。
どうすれば・・・

143 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 23:20:44 ]
>>142
今週のJavaクイズ(6):ボタンを押すとどうなる?
blogs.sun.com/javaev/entry/%E4%BB%8A%E9%80%B1%E3%81%AEjava%E3%82%AF%E3%82%A4%E3%82%BA_6_%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E6%8A%BC%E3%81%99%E3%81%A8%E3%81%A9%E3%81%86%E3%81%AA%E3%82%8B

「Java SE 6完全攻略」
第27回 Swingでマルチスレッド - SwingWorker その1(上記の解答編っぽい)
itpro.nikkeibp.co.jp/article/COLUMN/20070413/268205/

144 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 23:39:00 ]
>>143
まじでサンクス!
明日早速なおしてみます。

145 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 10:06:07 ]
マルチにも回答がやってくる恋の季節

146 名前:デフォルトの名無しさん [2007/05/05(土) 14:27:24 ]
このエラー何ですが、どうしたらなおるでしょう?

シンボルを解釈処理できません。
シンボル: メソッド equals (char)
位置 : java.lang.String の クラス
if("\t".equals(tmpStr.charAt(i))){



147 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 14:30:27 ]
>>146
> if("\t".equals(tmpStr.charAt(i))){
if("\t".equals(tmpStr.substring(i, i+1))){

148 名前:デフォルトの名無しさん [2007/05/05(土) 14:36:12 ]
>>147
ありがとうござます。iが原因みたいですた。

149 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 14:42:51 ]
>>147
if('\t' == tmpStr.charAt(i)){

でも良かったのでは?

150 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 14:49:48 ]
別のプロセスにオブジェクトを渡したいのですが、どんな方法がありますか?



151 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 15:14:19 ]
コピペ

152 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 16:47:24 ]
>>150
java越えて共有メモリにしたいとか、そういう事?

153 名前:デフォルトの名無しさん [2007/05/05(土) 17:36:07 ]
オブジェクトを構成する全てのパラメータを
エクスポート、インポート出来るようにして・・・ってそういう事でいいのか?

154 名前:デフォルトの名無しさん [2007/05/05(土) 18:07:51 ]
Javaのクラスでつまずいている者です。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29366

このようなソースの場合、
class Employeeの、

public Employee(String n, double s)
{
name = n;
salary = s;
id = 0;
}

public String getName()
{
return name;
}
はどういった役割をしているのでしょうか?
また、
public void setId()
{
id = nextId; // set id to next available id
nextId++;
}
もどういった役割なのでしょうか?
なぜ、getとsetを設定するのかが分からず、混乱しています。


155 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 18:16:17 ]
新しく犬を飼おう
名前はポチにしよう(setName)

このわんちゃんの名前なんていうの?
ポチだよ(getName)

156 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 18:19:58 ]
何でポチって名前なの?
ポチって首輪に書いてあるから
ポチって犬小屋に書いてあるから
ポチって焼き印wが押してあるから
ポチって俺が名付けたから

何でポチかは自由。知りたいのは何故かではなく名前だけ。

157 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 20:33:01 ]
fukumori.org/oo/why_use_getters_and_setters_j.html

158 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 21:13:24 ]
>>154
ただの変数だと、制限がかけられない。(現実的にありえない数値が入ったりする)
そこで、セッターを作り、引数をチェックし、ありえない数字が来たら例外を発生させる。

void setHoge(int foo) {
 if () {

}

159 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 21:16:41 ]
↑途中で送信してしまった。
if で引数チェックして、例外発生させるの。
そしたら、変数が適切な値だと保障することができる。

クラスや例外ない言語の場合、
関数呼んだあと、戻り値でエラーチェックしたりするのが
めんどくせえぞ。


160 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 21:36:51 ]
オブジェクトってのは変数が賢くなったみたいなもん。
箱にボタンがついたみたいなもん。
自販機を考えてみれば、箱の中身の仕組みを知る必要はなく、
お金を入れて、ボタンさえ押せばジュースが返ってくる。

クラス(設計図)に中の仕組み書いて、
new クラス名でインスタンス(実体/オブジェクト)を作るってだけ。
クラスの外からは、中のメソッド(ボタン)の仕組みを知る必要はなく、
何が必要で、何が返ってくるかだけ知っていれば良い。



161 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:33:02 ]
jarファイルというのを作って実行してみたのですが、
プログラムは正しく動作するのに、画像が表示されません。

classファイルと同じディレクトリにgif画像はあるのですが、
どういった原因が考えられますか?

162 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:35:38 ]
>>161
正しく動作してんなら何の問題もないよね。

次の質問どーぞー

163 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:36:13 ]
>>161
エスパー募集キター

164 名前:161 mailto:sage [2007/05/06(日) 01:19:20 ]
ああ、そうですね。矛盾してますね。

パッケージに纏める前は正しく動作して画像もきちんと表示されていました。

しかしjarファイルを作った後にプログラムを実行したところ、画像は表示されないけど、
それ以外は前と同じ動作をしているように見えます。

165 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 01:40:57 ]
>>164
ClassやClassLoaderのgetResourceで画像ファイルのURLを求めてそのURLから読み込むようにしていないか
大文字と小文字の区別をつけられないファイルシステムを使っていて上手く動くような気になって
その区別をつけるjarの中の画像ファイル名を正しく指定していないか

166 名前:デフォルトの名無しさん [2007/05/06(日) 02:33:56 ]
Javaのawtってボタンとかの配置を座標で指定できないの?
それっていくらなんでも不便じゃない

167 名前:デフォルトの名無しさん [2007/05/06(日) 02:40:42 ]
>166おれにもおせーて

168 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 02:44:43 ]
つ ILikeTroublesomenessLayout implements LayoutManager2

169 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 02:48:16 ]
JNIを使ったクラスライブラリを書いているのですが、
ネイティブなファイルをjarに含めて動作させるにはどうしたら良いのでしょうか。

ぐぐるとBundle-NativeCodeなるものが見つかったものの
書いても何も変わらず、loadLibraryがネイティブなファイルを見つけてくれないのです。

170 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 04:31:56 ]
携帯電話向けJavaでは、
使いまわされないデータ型だけのクラス(構造体)なんかは、
メインのクラスで内部メンバとして書いたり、
ステップ数が多い処理を、メソッドを使わずインラインでガリガリ書いたりと、
独特の流儀があるようです。

以前の携帯は実行ファイルサイズ制限があって、
このような方法が主流みたいですが、
今は実行ファイルサイズの制限は緩和されたようです。

とすると、上のような携帯Java独特の、
およそJavaらしからぬコーディングスタイルには意味はあるのでしょうか?

例えば、単一のデータ構造を参照するのにインナークラスを使わずに、
呼び出し元のメンバとして参照する事で、速度的なメリットがあったりするのでしょうか?



171 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 05:12:58 ]
>>170
それはもう過去の話。心配しないで関数にしておk

172 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 05:13:46 ]
単一クラスでがんばる、とかは?

173 名前:デフォルトの名無しさん [2007/05/06(日) 07:25:37 ]
ライブカメラ全般たとえば「東京ストリート
チャンネル」などが見れなくなってしまった
のですが、何が原因なんでしょうか。
javaを再インストールしたがダメです。


174 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 10:08:54 ]
>>166
一応、java.awt.Component#setLocation()

175 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 10:12:10 ]
>>166
つ null layout

176 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 11:09:04 ]
>>170
食らうヒープ量が全然違うので関係大あり。


177 名前:デフォルトの名無しさん [2007/05/06(日) 11:17:24 ]
JAVAでロボット動かせるって本当ですか

178 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 11:20:22 ]
>>177
ロボットにJava仮想マシン載せれば

179 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 12:26:10 ]
ウインドウアプリケーションを作ろうと思っています。
Appletクラスの継承を用いてアプレットを起動する場合には、
htmlファイルの中に
<applet code="XXX.class" width=256 height=256>
を記入すればいいと思いますが、Frameクラスの継承を用いた場合、
同様にインターネットエクスプローラーから起動させるにはどうすればいいのでしょうか?



180 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 12:27:53 ]
>>179
Java Web Startでぐぐる



181 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 12:31:51 ]
>>174
これ使ってもうまくいかなかった。
ていうかJavaは用意されたレイアウトを組み合わせることでGUI部品を配置していく
仕組みを奨励してるのかな。面倒だよな。配置の仕方に限界がありそう。
なんで他言語のようなリソースエディタがないのだろう。
GUI部品のレイアウトをいちいち回りくどく記述するなんて古いよ


182 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 13:05:13 ]
同一環境でしか動かさないつもりなら別にいいが
そうでないなら絶対座標指定のほうがよっぽど限界があるわ。

183 名前:179 mailto:sage [2007/05/06(日) 13:08:21 ]
>>180
ありがとうございます。ちょっくらやってみます。

184 名前:170 mailto:sage [2007/05/06(日) 13:09:16 ]
>>172
>>176
速度的な面はどうなんでしょうか…?

185 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 13:15:40 ]
>>184
実測して計ってみるのがいいでしょう

186 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 13:17:02 ]
>>181
>>175は見たか?


187 名前:161 mailto:sage [2007/05/06(日) 16:08:50 ]
知識が乏しくて恐縮ですが
自分が使っているファイルシステム?ってのはどうやって調べられるのでしょうか。


188 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 17:39:17 ]
現在専門学校生なのですが、学校と同じ環境を作りたく設定で悩んでいます

コマンド プロンプトで、terapad ----.javaと打てばterapadが立ち上がるようにしたいのですがどうすればいいのでしょうか?

189 名前:デフォルトの名無しさん [2007/05/06(日) 17:40:16 ]
JFrameで質問があります。
Core Javaのボールオブジェクトが跳ね返るプログラムの応用で、
JFrame内に存在するオブジェクト(この場合、四角です)をD&DでJFrame内なら
自由に移動出来るJavaプログラムを作成しているのですが、
JFrameの外(見えない部分)にも移動でき、そうした場合、オブジェクトが見えなくなるので、
強制終了する以外終了する方法がないという意味のないプログラムになってます。

どうすれば、オブジェクトをJFrame内のみ移動可能なプログラムにする事ができるのでしょうか?

190 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 18:00:13 ]
>189
どうしてボールが跳ね返る(ようにみえる)か考えてみたら?



191 名前:デフォルトの名無しさん [2007/05/06(日) 18:23:56 ]
遠坂凛に質問です。

宝石製のバイブでオナニーすると、魔力を溜めることはできるんでしょうか?

192 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 18:30:00 ]
>>189
ズバリ解答を言うと、端に来たらD&Dでき無くすればおk

193 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 18:35:55 ]
>>188
exploreのオプション->ファイルタイプ
で.javaにそのterapadとやらを割り付ける

だけど、なんでterapadなんだ?
terapadとかcpadとか、わけわからん

194 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 18:47:37 ]
>>188
java関係ないがterapadをパスの通った場所に置けば良いじゃん。
てか、start XXX.javaじゃだめなん?

195 名前:189 [2007/05/06(日) 19:25:24 ]
>>190
Core Javaを参考にして、dx を -dxにしてみたのですが、上手くいきません。

>>192
それはどういう風に設定すればいいのでしょうか?

一応、ソースをサラしておきます。

ttp://a-draw.com/uploader/src/up22130.txt

196 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:13:45 ]
>195
全然無関係のところをまねしてどうする?
やるべきことはShapeに渡す値を描画エリアのサイズ内に調整すること

197 名前:189 [2007/05/06(日) 20:54:32 ]
>>196
shapeBeingDragged.moveBy(x - prevDragX, y - prevDragY);

の部分を調整すればよいのでしょうか?

198 名前:デフォルトの名無しさん [2007/05/06(日) 20:58:22 ]
>>181
つ NetBeans

199 名前:デフォルトの名無しさん [2007/05/06(日) 21:07:42 ]
eclipse使ってたらなんか上書きモードになっちゃった。
どうやったら治るの

200 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:13:30 ]
>>199
デフォルトのキーバインドなら insertキー



201 名前:デフォルトの名無しさん [2007/05/06(日) 21:17:39 ]
>>200
インサートキーってどうやってonにしたりoffにしたりできるの?教えて

202 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:24:07 ]
これはひどい

203 名前:デフォルトの名無しさん [2007/05/06(日) 21:25:38 ]
eclipseでお勧めの本おしえて

204 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:27:24 ]
>197
そう
元のCore Javaのソースはしらないけど
ボールが描画エリアの端にあたってはねかえるのは
端の座標を越えたら増分を反転させているから

そしてこの場合はDnDだから(つまり人間が操作しているから)
増分を反転させるのではなくそこの座標に制限する
言葉で説明するの面倒になってきたので
コードで書くとこんな感じかな

if (shapeBeingDragged == null) return;
int x = evt.getX();
int y = evt.getY();
Dimension cs = this.getSize();
int maxw = shapeBeingDragged.width - cs.width;
int maxh = shapeBeingDragged.height - cs.height;
if (x < 0) x = 0; else if (x > maxw) x = maxw;
if (y < 0) y = 0; else if (y > maxh) y = maxh;
shapeBeingDragged.moveBy(x, y);
repaint();


205 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:45:49 ]
>197
わるい逆だ
なれない変数名だったので混乱した
int maxw = cs.width - shapeBeingDragged.width;
int maxh = cs.height - shapeBeingDragged.height;


206 名前:189 [2007/05/06(日) 21:50:16 ]
>>205
ありがとうございます。
ソースに組み込んでみたのですが、クリックをするとはぐれメタルが逃げるかのごとく、
画面上からオブジェクトが右下に消えてしまいます。

207 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:57:30 ]
>206
mouseReleased()の方の実装もかえてね
mouseDragged()と1行違いだから共通部分を切り出して
別メソッド呼び出しにすればいいかな

if (shapeBeingDragged == null) return;
int x = evt.getX();
int y = evt.getY();
Dimension cs = this.getSize();
int maxw = cs.width - shapeBeingDragged.width;
int maxh = cs.height - shapeBeingDragged.height;
if (x < 0) x = 0; else if (x > maxw) x = maxw;
if (y < 0) y = 0; else if (y > maxh) y = maxh;
shapeBeingDragged.moveBy(x, y);
shapeBeingDragged = null;
repaint();


208 名前:189 [2007/05/06(日) 22:07:18 ]
>>207
こうでしょうか?

synchronized public void mouseDragged(MouseEvent evt) {
if (shapeBeingDragged == null) return;
int x = evt.getX();
int y = evt.getY();
Dimension cs = this.getSize();
int maxw = cs.width - shapeBeingDragged.width;
int maxh = cs.height - shapeBeingDragged.height;
if (x < 0) x = 0; else if (x > maxw) x = maxw;
if (y < 0) y = 0; else if (y > maxh) y = maxh;
shapeBeingDragged.moveBy(x, y);
repaint();
}

synchronized public void mouseReleased(MouseEvent evt) {
if (shapeBeingDragged == null) return;
int x = evt.getX();
int y = evt.getY();
Dimension cs = this.getSize();
int maxw = cs.width - shapeBeingDragged.width;
int maxh = cs.height - shapeBeingDragged.height;
if (x < 0) x = 0; else if (x > maxw) x = maxw;
if (y < 0) y = 0; else if (y > maxh) y = maxh;
shapeBeingDragged.moveBy(x, y);
shapeBeingDragged = null;
repaint();
}
ttp://a-draw.com/uploader/src/up22134.txt

209 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 22:14:49 ]
>208
いいんじゃないかな
逃げ去るってことはその他にタイマー処理が行われているって
可能性が考えられるけど元のソースのボールの処理が残ってない?


210 名前:189 [2007/05/06(日) 22:39:11 ]
>>209
タイマー処理は行われていません。



211 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:10:12 ]
>210
moveBy()で加算しているようだから以下のように書き換えてみて

left = dx;
top = dy;


212 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 12:40:08 ]
二つのクラスがあったとして
Class1のテキストフィールドにClass2のメソッドの処理結果を表示させたいんですがどのような方法が
ありますか??メソッドは引数をもたないものとして

213 名前:デフォルトの名無しさん [2007/05/07(月) 12:45:05 ]
SocketChannelでreadで-1が帰ってくる以外に正常切断を判断する方法はありますか。
FINで終わったのかどうかが知りたいです。

214 名前:213 [2007/05/07(月) 12:47:44 ]
Class1のインスタンスをClass2に事前に持たさせておいて
Class2のメソッドの処理結果がでたタイミングで
Class2で保持しているClass1のインスタンスのテキストフィールドに表示させる

215 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 14:25:23 ]
>>214
ありがとうです

class2{
class1 cls=new class1
処理
cls.text.setText(処理結果);}

このようにやってみたんですが表示してくれません・・・
エラーはないんですがどこが間違ってますか><?

216 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 14:41:05 ]
>>215
class1でのテキストフィールドのsetTextはちゃんと働いてるの?

217 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 14:41:55 ]
>>213
> readで-1が帰ってくる以外に正常切断を判断する方法
むしろ、こっちから close() してみる。
たぶん、相手はFINフラグを受け取るはず。

マジレスすると、仕様に書いてないなら無理だと判断すべき。

218 名前:213 [2007/05/07(月) 15:08:55 ]
>>217
>>マジレスすると、仕様に書いてないなら無理だと判断すべき。
レスありがとう。Javadocにはかいてないんですよ。
FINフラグを受け取ってのread=-1なのか、その他の問題でのread=-1なのかを判断したいだけなのですが、
方法がさっぱしです。

219 名前:213 [2007/05/07(月) 15:14:18 ]
>>215
class Class2 {
private Class1 target;
public void setNotifyTarget(Class1 target) {
this.target = target;
}
public void Kekkadasu() {
nankaNoSyori();
target.text.setText("処理終わり");
}
}
public static void main(String[] args) {
Class1 cls1 = new Class1();
Class2 cls2 = new Class2();
cls1.text.setText("処理前");
cls2.setNotifyTarget(cls1);
cls2.Kekkadasu();
}

みたいなかんじではどうでしょうか。

220 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 15:38:45 ]
質問なのですが

interfaceを利用してclassを作成しています
作成したclassを利用する際、設定ファイルやDBから読み込んだ文字列を利用して
動的にnewする対象を指定したいのですがやり方がわからないので教えてください

www.wikiroom.com/java/index.php?FAQ#content_1_4
のclassを例にすると、
Performableインターフェイスを利用したEntertainerクラスとAthleteクラスが存在するときに
設定ファイルに
Entertainer
と書かれていたら
Performable test = new Entertainer();
が実行され、
Athlete
と書かれていたら
Performable test = new Athlete();
が実行されるようにしたいです
例だとclassが2つのためifで判断したらよいのですが
実際には不定な1個以上の複数classが同一のインターフェイスで定義され
それらのどれを利用するかをDBのマスタテーブルからclass名を読み込んで、その読み込んだ文字列にてnewを行いたいのです
また、classは不定期に追加され、利用される可能性があります

こういった実装は出来ないのでしょうか
もしくは、実装できる場合、どのように文字列のclass名を指定したらよいのでしょうか
よろしくおねがいします



221 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 16:03:23 ]
>>220
Classクラスを使えばいいんじゃね?
forName() と newInstance() あたり。

   String str;
   Performable perf;

    /* このへんに設定ファイルから
      クラス名を読み出して str に
      代入する処理があるとする。
     */

    try {
       Class c = Class.forName(str);
       perf = c.newInstance()
    } catch (Exception e) {
      // 例外処理
    }

だいたいの流れはこんな感じで。

222 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 16:07:10 ]
>>220

java.lang.Class.forName(String className)#newInstance()

223 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 16:15:30 ]
>>213
できました!!
どうやら単純なミスをしていたようです^^;

いろいろ参考になりました
ありがとうございますm(__)m

224 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 16:49:50 ]
質問でs!

a,b,cというlistと配列に入ってる"a","b","c"の文字列を比較したいのですが
どうしたらいいでしょうか??

225 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 17:06:34 ]
> a,b,cというlistと配列に入ってる"a","b","c"の文字列を比較したいのですが
解釈の仕方が複数あって、
具体的に何がどーなってるのか良く分からん。

226 名前:224 mailto:sage [2007/05/07(月) 17:30:16 ]
たしかにわかりにくいです!すいません

a,b,cという項目があって最初は選ばれていない状態ですよね。
で配列にはこのようにはいっていて
配列1 配列2
Aサン a
Bサン b
Cサン a
Dサン c

配列Bを指定したらlist項目のbを選択させるといった感じです

227 名前:224 mailto:sage [2007/05/07(月) 17:32:46 ]
間違えました
配列1のBを指定したらですね

228 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 17:34:21 ]
で、お前は何がわからんのだ

229 名前:224 mailto:sage [2007/05/07(月) 17:42:22 ]
項目を選択させるにはselectしかないかどうかってことです

selectだとintしか指定できないから分岐させるしかないのかと・・・

230 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 17:44:54 ]
>>229
java.awt.List の話でしょ?
なら、項目選択するにはユーザが操作するか select(int) するしかない。



231 名前:224 mailto:sage [2007/05/07(月) 17:48:53 ]
わかりました

ありがとうございます!

232 名前:デフォルトの名無しさん [2007/05/07(月) 17:54:40 ]
国際化対応の場合に、UTF-8が多く採用されるのはなぜですか?
JavaがUTF-8を採用しているからか、ASCII文字との親和性が高いからかな。
 →どのようなメリットがあるかわかっていないですが…

Java=ユニコード=ALL2バイトと思ってたけど、違うんですね…
UTF-8は、レスポンス悪いとかあります?

233 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 18:08:58 ]
>>221
>>222
確かにそれでOKです
大変勉強になりました
ありがとうございました

234 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 18:15:51 ]
>>232
> 国際化対応の場合に、UTF-8が多く採用されるのはなぜですか?
国際化対応で Shift_JIS とか EUC-JP は使えないでしょ。
ISO-2022でも ある程度国際化できるけど、実装面倒くさいし。

> Java=ユニコード=ALL2バイトと思ってたけど、違うんですね…
= をどーゆー関係のつもりで書いてるのか分からんので、なんとも言えない。

> UTF-8は、レスポンス悪いとかあります?
場合による。1ギガバイトとかの馬鹿でかいテキスト読んだらレスポンス悪くなるだろうし。

235 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 18:56:09 ]
>UTF-8が多く採用されるのはなぜですか?
1バイトで足りる連中がUnicode実装するとき楽だから。
PL関係なく実装者の都合でしかない。

236 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:09:21 ]
エンディアンが存在しないとか、
ASCIIと互換性があるとか、
バイト指向だとか、
CCSがUCS4だとか、
結構便利なエンコーディングじゃん。

237 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:41:32 ]
Java初めて20日です。
応用問題を解いているのですが、

各サイト、APIみても、
これを使うとか構造とかがでてこないもの
がでてきました。

こういう場合はどうしたら
良いのでしょうか。

また 何を使うとかの
ひらめきはどうしたら
みにつくのでしょうか?



238 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:46:56 ]
> ひらめきはどうしたら
ロマサガで特訓してこい。

239 名前:デフォルトの名無しさん [2007/05/07(月) 21:21:53 ]
String strに何か文字が入っているとします。
この中に入っている文字が整数かどうか調べるにはどういう風にすればいいでしょうか?

240 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:25:01 ]
>>239
一文字だけ調べるなら Character.isDigit(str.charAt(0))



241 名前:デフォルトの名無しさん [2007/05/07(月) 21:30:50 ]
一文字ではなく文字列を調べる場合は他に方法ありますか?
このCharacter.isDigit(str.charAt(0))をforとかで文字数文まわすとかしかないでしょうか?

242 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:36:06 ]
parseIntでうまくいくかどうか調べる

243 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:42:05 ]
正規表現
-?[0-9]+
とか

244 名前:デフォルトの名無しさん [2007/05/07(月) 21:48:53 ]
なんか
 isDigitsメソッドは指定された文字列が数字だけを含むかどうかを返します。例えばNumberUtils.isDigits("123")はtrueを返します。
www.atmarkit.co.jp/fjava/rensai2/jakarta08/jakarta08.html
とか書いてるんですけど、これって何か拡張しないとだめなんですよね・・・

245 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:45:01 ]
JAVAの入門書に載ってる最初のコードを実行したら、
X11のライブラリがねえとか言って怒られたよ。
本を見たらwin用の本だった。
JAVAってそういうのは吸収してくれないのな。
なんでもいいからウィンドウ出せやボケと思いました

246 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:46:42 ]
>>230
> java.awt.List の話でしょ?

エスパーすげー

247 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:57:23 ]
Linuxか?

Javaの、そういう差を吸収する部分(AWT)がX11を必要としているのよ。


248 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:00:29 ]
>>245
この辺見て、デスクトップマネージャが入ってるか確認して。
java.sun.com/javase/ja/6/webnotes/install/system-configurations.html
よほどの野良ディストリ使ってるとかでない限りは、Gnomeが標準になってると思うけど。

249 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:37:33 ]
>>236
エンディアンはないがBOM忘れてる奴が多いがな。

250 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:06:19 ]
エンディアン無関係だからこそBOMは本来不要だし



251 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:07:45 ]
サイトに埋め込まれてるjavaアプレットのソースを知りたくそのページのソースを調べて、
「ファイル名」.classのファイルをDLしたのですが、eclipseやテキストで開くと(拡張子を.javaにしたりして)
、文字化けしていて読むことができません。
このような.classファイルは読むことができますか?

252 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:09:56 ]
>>236
日本語は大抵3バイトになるのが鬱陶しいけどな。

253 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:21:12 ]
>>251
バイナリエディタ。
つーかなんでバイトコードにソースが含まれてんだと小一時間・・・。
素直にお帰りください。

254 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:26:11 ]
バイナリエディタがアンリエッタに見えた俺はアニオタ

255 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:26:43 ]
>250
unicode.org/faq/utf_bom.html#29
An initial BOM is only used as a signature ―
an indication that an otherwise unmarked text file is in UTF-8.

256 名前:251 mailto:sage [2007/05/08(火) 00:31:40 ]
>>253
理解し損ねてました
.classファイルを.javaに変換できる方法はありますか?

257 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:33:43 ]
allabout.co.jp/internet/java/closeup/CU20051206B/index.htm

258 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:58:49 ]
>>255
だから?
UTF-8のBOMはエンコーディングの認識精度を上げるくらいしか役にたたないし、
在ることで困ることの方が無くて困ることより多いと思うが。
UTF-8 must contain a BOM.じゃなくてUTF-8 can contain a BOM.て書いてあるじゃないか。
だから、BOM付きを邪険にはしないけど、自分からわざわざ付けたりはしたくないな。

259 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 03:00:17 ]
>>256
javap
ディスアセンブラとかデコンパイラでググれ
空気読めるようになろうね。


260 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 04:19:20 ]
GridBagLayoutがまんどくさすぎる
このくらい自由が利いてもっと楽なのあれば教えて☆



261 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 04:39:21 ]
SpringLayoutとかは?
それか自由が利いてもっと楽なのを自作する

262 名前:260 mailto:sage [2007/05/08(火) 05:14:33 ]
>>261
ありがとう
検討してみる

263 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 05:40:55 ]
>>261
>SpringLayout
へーこんなレイアウトマネージャがあったんだ
これって機能的にNeXTとかMac OS Xのレイアウト機能とほぼ同じだね
直書きするのはめんどそうだけどSunがツールを用意してるのか
今度使ってみよう

https://bean-builder.dev.java.net/

264 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 06:19:25 ]
GroupLayoutってのもよさげ
いろいろあんだね
もうGridBagLayout使うのやめよう

265 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 06:29:07 ]
NeXTStepもOSXも同じAPIですぜ

266 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 07:54:18 ]
Javaに限ったことではありませんが、配列番号ってどうして0から始まるんでしょう。
1からのほうが色々すんなり行くと思うのです。

267 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 07:56:51 ]
>>266
色々すんなりって例えば?

268 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 07:57:14 ]
一長一短だが、大体において 0 の方が便利。
なにかと計算量を減らせる。

269 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 08:40:45 ]
>>267
一つ目の要素: array[0] より
一つ目の要素: array[1] のほうが分かりやすく自然だと思うんです。

もしあなたがそう思わないなら、それはプログラマーとしての観点を既に持っているからでしょう。

x番目の要素の添え字はx-1ですが、これがx-372だったとしたら
三番目の要素の添え字は、え〜っといくつだ?ってことになりますよね。

>>268
なるほど、確かにそうです。
納得しました。

270 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 09:12:46 ]
>>269
量的にではなく指標だから0からは当然だとおもうよ。
定規が1から始まるのが自然だとは思わない。



271 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 09:20:39 ]
swfup.info/view.php/6857.swf
↑このフラッシュを見てくれ
もし、参加したくなったら
日本奇跡の逆転劇!! スロベニアを抜き単独4位へ
wwwww.2ch.net/test/read.cgi/news4vip/1178574359/

歴史的瞬間にぜひご参加を!!!
どこから誘導されたかも書き込んでねー


272 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 10:37:37 ]
初心者です
textfieldに"java"と入ってたとして、それに対して指定した数だけ"*"を追加したいんですが
どうしたよいでしょう?
指定した数が3なら"java***"といった感じです。
値は変数にはいってます。

273 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 10:44:54 ]
+

274 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 11:27:08 ]
>>273
何文字か指定するにはどうしたらいいですか?

275 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 11:56:41 ]
>>274
一昨日Java始めたばかりのオレが答えてみよう。

public static void main(String[] args) {
String hoge = "java";
String fuga = "*";
int piyo = 3;
for(int i = 1; i <= piyo; i++){
hoge += fuga;
}
System.out.println(hoge);
}

276 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 11:57:45 ]
サンクス!
やっぱ繰り返すしかないのかな・・・

277 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 12:02:39 ]
>>276
>指定した数だけ"*"を追加
って時点で繰り返しは必須だと思うんだけど。

繰り返しで何か都合悪いことでもあるのか?

278 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 14:30:20 ]
>>266
数学の話だが中学校のころ数学教師が教えてくれた。

人間てのは非数を見つけてしまったから数字の0は無を表す
数字ではなく、負数を除いて起点となる数字らしい。
何もないわけではなく「0」という数字が存在している。
だから数学的に数字は0から始まる0起算らしい。

279 名前:278 [2007/05/08(火) 15:06:44 ]
そういえば、数字ってのは+か-方向に無限に伸びていくけど0はそのどちらでもない±0という状態で・・・と続き
最終的にメタ数学の話になったから気にしない方が良いよ。

特に0と配列と演算記号の関係なんて。

280 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 15:12:02 ]
>>266
>>269
Javaに限ったことではありませんってFORTRANプログラマの観点の立場は…



281 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 15:23:45 ]
>>276
どうしてもというのなら繰り返し追加するものが文字列でなく文字限定だが、
public static void main(String[] args) {
String s = "java";
char c = '*';
int n = 300;
char[] cs = new char[n];
java.util.Arrays.fill(cs, c);
System.out.println(s + String.valueOf(cs));
}
みたいに繰り返し文を自分では書かない方法があることにはある。
あと、繰り返しでStringに追加する場合は、
StringBufferかStringBuilderを明示的に使った方がいいかもしれない。
追加するものが3個程度なら大して違いはないと思うけど、大量に追加するなら。

282 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 15:30:50 ]
>>280
FORTRAN はウンコだから。
まあ、0 オリジンにしようと思えばできるけど。

283 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 15:40:07 ]
>>266
配列を配列の配列のように扱いたい場合、
0 から始まった方が便利。

インデックス i, j が与えられた場合、
0 から始まる場合は i * SIZE + j だけでいいけど、
1 から始まる場合は (i - 1) * SIZE + j と、-1 が必要になる。

とか何とか、色々と 0 から始まった方が計算量が少ない事が多い。
一部逆もあるんだけどね。

0 から始まるというイメージは、C をやった方が分かりやすいと思う。
C だと「始点 + インデックス」の位置にある値を参照するという処理になってるから、
1 から始まると始点がムダになる。
始点をズラすと、始点の値を使いたい時にまたズラさないといけない。

他の言語も、このあたりのイメージを受け継いでるんじゃないかな。

284 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:36:02 ]
>>269
1番目から始まる自然な序数を選択するよりも、
計算量の減少等の効率を重視して選択した結果なんで、
そういうものだと思って慣れるしかない。
0から始まる場合のインデックスは序数と考えずに、
>>283が言うように始点からのオフセットと考えればいい。

285 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:53:18 ]
リスナーって1つのクラスに1つまで??

286 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:58:15 ]
>>285
なぜそう思うのかを知りたいもんだなw

287 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:02:10 ]
でへ^−^

どんな風にかけばよろしいのかと

288 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:04:56 ]
>>285
質問がインスタンスにリスナーをadd〜Listenerで登録するって意味ならたいてい複数のリスナーを追加できる。
もしset〜Listenerとかのメソッドなら一つしか設定できないかもしれない。
そのクラスのドキュメントを見れ。

289 名前:287 mailto:sage [2007/05/08(火) 17:13:24 ]
わかりました!!
で、itemlistenerってクリックされたときのみですか、、、?
selectでindex指定しても動いてくれないんですが、、、

290 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:19:35 ]
>>289
だからドキュメントを見ろと言ってるだろ。
java.awt.ListとかChoiceの話か?
ちゃんとselectのところを読め。
> ItemEvent をトリガする唯一の方法はユーザの操作です。



291 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:22:28 ]
addItemListenerの説明にも書いてるね

292 名前:デフォルトの名無しさん [2007/05/08(火) 18:57:16 ]
スレッドに関してですが、テスト環境がないので質問させてください。
スレッドプールというものは実行のたびに空いてるCPUコアを探してくれたりするんでしょうか?
それともスレッドが生成された時点でどのコアに所属するか決定してしまうのでしょうか?

293 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 20:10:01 ]
最近javaを勉強し始めました。
www.stackasterisk.jp/tech/java/javaPractice06_06.jsp#2_4
上記のサイトの通りにjspでカレンダーを作成する、というプログラムを書いていたのですが、
このサイトにあるDayTypeConstクラスの意味がよくわかりません。
この定数を変えると土曜日曜の色が変になってしまうのですが、どうしてそうなるのかがよくわかりません。
ご教授お願いします。

294 名前:デフォルトの名無しさん [2007/05/08(火) 21:19:16 ]
pattern = Pattern.compile("ほげほげ");

文字列が入ったString変数をmatcher.matches()で判定したいのです。
そこで数値(1〜9)以外の文字が入っていた場合trueとなるようにするには("ほげほげ")の部分に何と入れればいいでしょう?
ためしに
String str = "あ457"

pattern = Pattern.compile("[^0-9]");
でやったらfalseでした。

しかしString str = "あ"

pattern = Pattern.compile("[^0-9]");
でやったらtrueでした。




295 名前:デフォルトの名無しさん [2007/05/08(火) 21:26:02 ]
↑事故解決しました。

296 名前:デフォルトの名無しさん [2007/05/08(火) 21:45:18 ]

       FOX★公認!!!

俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
wwwww.2ch.net/test/read.cgi/news4vip/1178602852/

1. ポーランド  139,797,680
2. チリ     137,040,439
3. ★日本    86,475,213★
4. イスラエル  80,930,530
5. スロベニア  57,137,042
6. フィンランド  40,857,499

石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった
人間はさらに発展し兵器を使う戦争を始めた
そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・
皇国を勝利へと導くには貴様らの参戦が不可欠である

・戦場
www.clickclickclick.com/default.asp
・まとめサイト
www33.atwiki.jp/clickvip/


297 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:59:50 ]
コピペ君って馬鹿だな、まで読んだ。

298 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:00:27 ]
これからJavaを学ぶ人にアプレットを勧めるのは無駄?
Javaで動くのがやりたいそうなんだけど・・・

299 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:08:12 ]
>>298
俺はやったが無駄ではなかった。

つっても本のサンプル見る程度じゃ無駄だと思うがな。
言語に限らず、自分で色々やりたいことやっていじりまくらないと身につかんと思うよ。

C言語のWIN32APIも少しやってるけどドット・座標の考え方とか関数とか似てるから
何も知らずにC言語始めるよりは確実に楽に覚えられてる。

300 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:18:58 ]
>>272 亀レス ↓のような方法もあるよ。
String[] tbl = {"*******","******","*****","****","***","**","*",""};
String word = "java";
System.out.println(word + tbl[word.length()]);



301 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:24:37 ]
www.uploda.org/uporg802511.xls.html
この問題が宿題で出たんだけど先週授業休んじゃって今日からすることに。。
しかも期限は明後日。
だけどここまだよく理解してなくて、、やばい!
誰か助けてください!お願いします><;;

302 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:26:23 ]
.xlsって段階で見る気がしない

303 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:26:23 ]
www.uploda.org/uporg802511.xls.html
この問題が宿題で出たんだけど先週授業休んじゃって今日からすることに。。
しかも期限は明後日。
だけどここまだよく理解してなくて、、やばい!
誰か助けてください!お願いします><;;

304 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:27:05 ]
あれ?2回も。。すんません。。

305 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:39:31 ]
いい忘れましたが問題は英語で書いてあります。。

306 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:41:23 ]
うっさいだまれ

307 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:41:53 ]
先週って連休じゃん

308 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:44:48 ]
>>307
いえ、海外にいるんで連休ではなかったです。

309 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:00:53 ]
お二方、コメントいただいてありがとうございました。

>247
なるほど・・・

FreeBSDを使っています。
そこで「文系のためのjava入門」というwin向けに書かれた
コードを実行しようとしています。
helloって書かれたウィンドウを出して終わるプログラムです。

今日、本屋に行ってみたのですが、
X11環境かつjava入門みたいな本が無かったので
前向きにX11でも動くようにいろいろ調べてみようと思います。

>248
FreeBSDでJDKやX11環境は整っていますので、
たぶん、win用のコードをX11でも動かせるように変更しなきゃいけない
と思っています。
いろいろ調べつつやっていこうと思います。


310 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:04:57 ]
質問です。

class A{
 int x;
}

A a = new A();
A b = new A();

とせずに、a,bを配列とかでまとめられないでしょうか。



311 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:13:37 ]
A[] a = new A[2];
a[0] = new

312 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:40:25 ]
>>298
日本に限って言えば無駄ではないと思う。
けど、今時アプレットなんて国内でもエロブラウザゲーしか見ない。
入門本はコマンドラインすら使えない人を考慮してる。

JWSおすすめ。

>>303
せめてテキストエディタで見れるようにしてから宿題スレ行こうね。

313 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:46:54 ]
>>311
ありがとうございました。
2行目が思いつきませんでした。

314 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:52:09 ]
ボタンの配置にご助言お願い出来ますか?
up.spawn.jp/file/up19856.txt
※EUC-JPで保存されてます

下の方を左右分割してパネルでボタンを配置しようかなと思ってます。
しかしながらGridLayoutとかだとパネル全体をボタンが埋め尽くしてしまいます。
で、それはやめといてsetBoundsで座標指定しようかなと思うのですが上手くいきませぬ。
パネルとレイアウトをコメント化して
  upBtn.setBounds(10,10,100,50);
  downBtn.setBounds(20,20,100,50);
  ・・・
だけでコンパイルしたのですがボタンが表示されませんでした。
JSplitPaneは消すしか無いのでしょうか?

315 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:59:53 ]
>>299 312
なるほどなー。
JWSも考えたんだけど、選択肢としてもう1度検討してみるわ、thx

316 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:17:28 ]
>>314
中身を検討せずにぱっと見ただけなので見当外れかもしれんが、
setBoundsで直接指定したいのならFlowLayoutなんて使っちゃダメじゃないか?
setLayout(null)しないと。

317 名前:314 mailto:sage [2007/05/09(水) 00:28:02 ]
なんと!レイアウトにnullが設定出来るとは思っても見ませんでした。
レイアウトをコメント化しても上手く行かなかったのですが、こういうことだったのですね。
大変役に立ちました。ありがとうございました!

318 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:32:29 ]
>>315
JWSってJavaWebStartか?
ならAWT/Swingなんだからアプレットと部品一緒。
どっちか覚えたらどっちもできるよ。

319 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:43:45 ]
検索してもよくわからなかったのでここで聞いてみます

関数をつくるときにPascalで云う参照渡しCで云うポインタってどうするのでしょう?

Cでは

int hoge(int *a, int *b){
*a = 123;
*b = 456;
return 789;
}

int x, y;
int result = hoge(&x, &y);

みたいなことを
Javaでは

int hoge(int[] a, int[] b){
a[0] = 123;
b[0] = 456;
return 789;
}

int x[1],y[1];
int result = hoge(x, y);

みたいに書くしかないのでしょうか?


320 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:50:29 ]
>>319
基本形=値渡し
参照型=参照渡し

基本形をラップするクラスが用意されてる(Integerなど)
しかしそんな意味不明な関数やめなさい。
その程度だったら参照渡しよりも戻り値のほうが可読性高い。




321 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:51:28 ]
Cじゃないから
int x[1],y[1];
はコンパイルを通らない。
int[] x = new int[1], y = new int[1];

322 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:53:38 ]
値を2つ返すから戻り値じゃ・・・ってことじゃないのか?

323 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:57:09 ]
class result{
int a,b;
}

int hoge(result r){
r.a = 123;
r.b = 456;
return 789;
}

result r;
int result = hoge(r);

かなぁ


324 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:58:26 ]
>>323
はいはい ぬるぽぬるぽ
フィールドpublicにするな

325 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:59:33 ]
それ呼び出し側で r.a r.b 書き換わるの?


326 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:59:59 ]
>>292
VM の実装依存じゃね?

327 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:00:46 ]
Integerはimmutableだからこの場合役に立たない
Integerかintをラップするmutableなクラスを作ってその参照を渡さないと
>>319が具体例なのかどうか分からないので何ともいえないけど
それならint[] hoge() {return new int[]{789, 123, 456};}とかの方が(どっちもどっち)

328 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:01:55 ]
呼び出し側で書き換えてもらうって考えはオブジェクト指向的じゃない。
自分(インスタンス)の値は自分(インスタンス)が管理する。
外部に公開するのはメソッド。

329 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:03:59 ]
class Result {
final int a;
final int b;
final int result;
Result(int a, int b, int result) { (略) }
}

Result hoge() { return new Result(123, 456, 789) }


330 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:04:23 ]
>>320
回答ありがとうございます
すみません最初の例が良くなかったかもしれません

オブジェクトを複数作ってもらう関数で作業結果をintで返すみたいな仕様です

class A{
}

class B{
}

int hoge(A a, B b){
a = new A();
b = new B();
return 0;
}

呼び出し側

A a;
B b;
int result = hoge(&a, &b);

みたいなことがしたいのです





331 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:06:18 ]
別にjavaでプログラミング=オブジェクト指向的プログラミングじゃないし敢えて茨の道を
そして死亡

332 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:08:40 ]
A a = new A();
B b = new B();

じゃ、いけないのか?
失敗したら例外出すか、結果を知らせるメソッド持たせば。

333 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:11:52 ]
インスタンスを作るメソッドなら作られたインスタンスこそ返すべきもののような気がする。
作業結果は返されたインスタンス自身が知っているだろうし、
結果によってはnullを返されたり例外を投げられたりしてもいいかもしれない。
そして関連性の無い二つのインスタンスを同時に返したりするのは設計そのものの再検討の余地あり。

334 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:13:30 ]
>>331
ご指摘ありがとうございます
確かにそのおかしさを感じてたんです
むしろJava(というかオブジェクト指向)的に
望ましい書き方とかあるならそれでも結構です

やっぱり
class Wrapper{
A a;
B b;
}

Wrapper hoge(){
Wrapper r = new Wrapper();
r.a = new A();
r.b = new B();
return r;
}
(失敗は例外)

みたいにしたほうが良いのでしょうか?

他にも回答くださったかたありがとうございます
もう少し考えて見ます


335 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:17:24 ]
Wrapper hoge()はWrapperのコンストラクタじゃいかんの?


336 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:20:43 ]
オブジェクト指向は処理中心に考えるものじゃないから
目的がわからなければアドバイスしようがない

337 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:23:23 ]
class Hoge {
final A a;
final B b;

Hoge() throws CannotCreateException {
a = new A();
b = new B();
}


338 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:23:59 ]
>>320
> 参照型=参照渡し
ウソを書くな、ウソを。

339 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:24:32 ]
>>336
おかげさまで自分が間違った方向に行こうとしてたのを食い止めることは出来たみたいです
目的はあるのですがこのまま鸚鵡返しで質問繰り返すのもどうかと思いますので
まず設計を見直してもう少し煮詰まってまた分からなくなったら聞きに来たいと思います
色々ありがとうございました


340 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:25:45 ]
>>318
APIレベルの話をしているわけではなくてだな・・・



341 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:26:24 ]
class Hoge {
 final A a;
 final B b;
 Hoge() {
  a = new A();
  b = new B();
 }
}
AとBに関連性がなかったら相当気持ち悪いクラスだが。

342 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 04:01:17 ]
このコードを実行すると下のように計算にずれが出てくるんですがどうしてですか。
解決法を教えてください。

class DoubleTest {
public static void main(String[] args) {
double hoge;
for(hoge = 0; hoge < 1; hoge += 0.1) {
System.out.println(String.valueOf(hoge));
}
}
}

0.0
0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999

343 名前:342 mailto:sage [2007/05/09(水) 04:03:40 ]
環境を載せ忘れました。

java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

344 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 04:14:17 ]
>>342-343
    _,,,,._                  、-r
   ,.','" ̄`,ゝ _,,,_   _,,,_   _,,,,__,. | |  _,,,,,_
  { {   ,___ ,'r⌒!゙! ,'r⌒!゙! ,.'r⌒!.!"| l ,.'r_,,.>〉
  ゝヽ、 ~]| ゞ_,.'ノ ゞ_,.'ノ ゞ__,.'ノ | l {,ヽ、__,.
   `ー-‐'"   ~    ~  〃 `゙,ヽ ̄` `゙'''"
                 ゙=、_,.〃

     _____________
    |2進数 小数 丸め誤差     |
      ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    [Google検索] [I'm Feeling Lucky!]


javafaq.jp/S029.html

345 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 04:28:49 ]
なんというやさしさ

346 名前:342 mailto:sage [2007/05/09(水) 04:34:21 ]
>>344
ありがとうございました。


347 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 11:37:59 ]
アクションイベントによってパネルの色を変えたいんだけどどうしたらいい??
フレームの色は変えられるけどパネルができましぇん

348 名前:デフォルトの名無しさん [2007/05/09(水) 12:48:40 ]
public void setForeground(Color c)

349 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 14:32:13 ]
Frameを継承したクラスで、ウインドウアプリケーションを作っています。
コマンドプロンプトから、hogehoge.javaをjavacコマンドでコンパイル → javaコマンドで実行する際、
適用されるランタイムのバージョンはどこで設定されているのでしょうか?

よろしくお願いいたします。

350 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 16:57:13 ]
>>349
プロンプトで
java -version



351 名前:349 mailto:sage [2007/05/09(水) 17:02:05 ]
って質問が違ったね。

ttp://www.hellohiro.com/appli.htm
にあるように環境変数のJAVA_HOMEを変えると、反映されるかと。

352 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 17:10:16 ]
こんにちは。
北朝鮮から出稼ぎに来ている28歳の無職です。
先日、梅田のハロワのトイレに入って
ウンコをした際、
「トイレットペーパー以外の物は流さないで下さい」
と壁に張り紙がしてありました。
仕方がないので、ウンコを新聞紙に入れて持って来ましたが
非常に不便さを感じました。
皆さんはどのようにしているのでしょうか
参考までに聞かせていただけませんか?

353 名前:349 [2007/05/09(水) 18:20:15 ]
>>350
ご回答ありがとうございます。

JAVA_HOMEはC:\Program Files\Java\jdk1.6.0_01 とし、
Pathは%JAVA_HOME%\bin としています。
コマンドプロンプトのカレントディレクトリにclassファイルを常に置いているので、クラスパスは設定していません。

レジストリエディタでレジストリの値を見たところ、Java Runtime Environment\CurrentVersionは1.6となっています。
JDKのバージョン=ランタイムのバージョンという認識でよいのでしょうか?

354 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 18:34:59 ]
>>353
> JDKのバージョン=ランタイムのバージョンという認識
違う。

JDKのインストーラのデフォルトの設定(全部OKした場合)では、JDKとは別に、JREが入る。
JAVA_HOMEが指してるのは、普通は JDK内のランタイム。
で、JREにはjavacはないけど、C:\Windows\SYSTEM32 とかに java.exe を突っ込むから、
どっちを使うかは、環境変数 PATH の設定による。

レジストリの値は関係ない。

355 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:15:10 ]
Microsoft VMを使ったhttp上のシステムにログインする際に、
IEアンダーバーに「アプレット ClientManager notinited」の表示が出て停止してしまいます。
システムは他PCからだと正常に運用されているようです。
JAVAコンソールを見ると、以下の内容のエラーが出ています。
F&Qなどで該当例を探したのですが見つからず、助言いただければ幸いです。
============================================================
load: クラス MGBC940_01BJ.ClientManager.class が見つかりません。
java.lang.ClassNotFoundException: MGBC940_01BJ.ClientManager.class
(中略)
Caused by: java.io.IOException: open HTTP connection failed.
(中略)
load: クラス browserClient.MsgText.class が見つかりません。
java.lang.ClassNotFoundException: browserClient.MsgText.class
(中略)
Caused by: java.io.IOException: open HTTP connection failed.
(後略)

356 名前:349 mailto:sage [2007/05/09(水) 19:36:21 ]
>>354
なるほど。最初から入っているのとは別にもう一つランタイムが入るわけですね。

>C:\Windows\SYSTEM32 とかに java.exe を突っ込むから、
↑すいません。ここの表現がよくわかりません。
 コマンドプロンプトからjavaコマンドを実行したときには、SYSTEM32内のjava.exeを探しにいくということでしょうか?

ちなみにPATHは以下のとおりです。
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;%JAVA_HOME%\bin;C:\Program Files\Common Files\GTK\2.0\bin

357 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:44:36 ]
>>356
PATH に書かれたディレクトリを順番に検索するから、PATHの設定が
> %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;%JAVA_HOME%\bin;C:\Program Files\Common Files\GTK\2.0\bin

ならば、最初に書かれた %SystemRoot%\system32 は %JAVA_HOME%\bin より優先順位が高い。

358 名前:349 mailto:sage [2007/05/09(水) 20:13:53 ]
>>357
わかりました。そういう意味があったんですね。ありがとうございます。
アプリケーションをjarファイルにして他PCでも動かしたいのですが、
適応するランタイムのバージョンというのは、どうやって見極めればいいのでしょうか?

359 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:58:49 ]
>>358
新たに追加されたクラス、メソッドは API仕様見れば since タグふってあるから、
それを調べれば、どのAPIがどのバージョンで動くかは大体分かる。

あとは javac -target とかで、出力したクラスファイルの互換性を気をつける事とか。

360 名前:349 mailto:sage [2007/05/09(水) 22:03:25 ]
ありがとうございました。API仕様を確認してみます。
またここで質問させてもらうことがあるかと思いますが、よろしくお願いします。



361 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:27:43 ]
プログラム中で、trueのラジオボタンを setSelected(false); でfalseにしたはずなのに、isSelected()で調べてみたらtrueでfalseになっていません。
どうしたらいいでしょうか?

362 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:34:21 ]
>>361
setSelected(false) しても、実際に反映されるのは
次にイベントディスパッチスレッドに処理が移った時なのよ。

>>143 のリンク先とか見てくれ。

363 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:39:09 ]
>>362
早速ありがとうございます。
見てみることにします。

364 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 23:09:21 ]
配列に要素を挿入するコードを書いてみましたが、
もっとスマートにかけませか?

String[] str = {"hoge", "huga", "foo", "bar"};
String sonyu = "挿入";
String[] buff = new String[5];

// 三つ目に挿入
int j = 0;
for (int i = 0; i < str.length; i++) {
if (j == 2) {
buff[j] = sonyu;
j++;
}

buff[j] = str[i];
j++;
}


365 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 23:26:04 ]
Listでも使えば?

366 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 23:54:22 ]
>>364
String[] buff = (String[])str.clone();
buff[2] = sonyu;

367 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 01:15:22 ]
遅レスだけど、
>>309
win用のコードをX11でも動かせるように変更する必要は”ない”。
物理フォントを指定してたら依存する可能性があるが、そういうのはとりあえずコメントアウトしてよし。
問題は単なる環境設定。JDKやX11環境が整っているという認識が間違っている。
とりあえずFreeBSDのスレでも行って聞いてみたら?

368 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 07:18:17 ]
>>365
これ便利ですね。
ありがとうございました。

>>366
そうではないです。

369 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 08:44:56 ]
java.sun.com/j2se/1.5.0/ja/docs/ja/api/org/w3c/dom/Text.html
このクラスで改行文字を表すにはどうすればいいでしょうか。
もしそれよりも一般的な方法があれば教えてください。

Element date = document.createElement("date");
document.appendChild(date);

Text lf = document.createTextNode("改行文字");
date.appendChild(lf);

Element name = document.createElement("name");
date.appendChild(name);

Text textnode= document.createTextNode("ひろゆき");
name.appendChild(textnode);


<date> ここで改行したい
<name>ひろゆき</name>
</date>

370 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 08:50:15 ]
数値a,bを読み込み格納している数値を交換する方法で分らない部分があります。
変数は a,b,w でa,bは読み込んだ所まで大丈夫です。
a = w;
b = a;
w = b;
上記の式だとa=wは初期化されてないとエラーがでます。
たぶんwに何も数値がないからでしょうか?
フロートチャートだと上のような順番なんですけど



371 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 08:56:24 ]
>>369
"\n" でいいかと。
XMLならそもそも改行しなくていいじゃんとは思うが。


372 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 08:58:09 ]
>>370
> たぶんwに何も数値がないからでしょうか?

そのとおり。

> フロートチャートだと上のような順番なんですけど

フローチャートが間違っている。自分の頭で考えれば、間違っているこ
とは明白でしょでしょ?



373 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 09:05:48 ]
>>372
やっぱりそうですか、wに何かしろの数字をいれないと駄目なんですね。
退避用の変数を設ける以外何の説明も無かったけど助かりました。

374 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 09:14:26 ]
先ず、2つのコップを用意しよう。
それを机に置いてみよう。
そして、その2つのコップの位置を、
コップを1つずつ動かして、交換してみよう。

さて、どういう風に動かしたかな?

375 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 09:49:28 ]
初心者に例出して理解させようとするのはいいが、最後までやれよ?
いつも中途半端に終わってるぞ。

376 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 09:52:35 ]
a と b を交換したいんだろ?

a = w;
b = a;
w = b;

訳分からんよw

a => w;
b => a;
w => b;

っていう意味じゃないのか?

w = a;
a = b;
b = w;

おもいっきり釣られてみるテスト


377 名前:370 mailto:sage [2007/05/10(木) 10:15:23 ]
>>376
ほんっとご親切にありがとうございます。
逆さになってましたね(汗)それと出力の部分も逆になってたようで成功してたのに変わってないようなってました。
アルゴリズムの観点で考える力が未熟ですよね、もっと勉強します

378 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 14:32:45 ]
Cしか知らない初心者です。

Javaで継承されたメソッドのバイトコードはコンパイル時、
親classファイルに吐き出されるのでしょうか?
子classの継承したメソッドは親クラスのメソッドへのリンクになるんでしょうか?





379 名前:378 mailto:sage [2007/05/10(木) 14:35:03 ]
すみませんわけ分からん質問をしてしまいました。
流してください。

380 名前:378 mailto:sage [2007/05/10(木) 14:53:01 ]
JVMドキュメントなんかを軽くでも読んでから出直します;;



381 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 14:56:35 ]
JVMドキュメント? VM仕様? API仕様?

382 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 16:58:32 ]
ソースコードからクラスのインスタンスのサイズを知ることは可能でしょうか?

383 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 17:35:48 ]
>>382
コンパイラとVMに依存すると思うよ

384 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 17:45:22 ]
Char ってどう読むのが一般的なんでしょうか?
人前で発声しなくても自分の心の中だけでの読み方でも良いので教えて下さい。

385 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 17:50:19 ]
>>382
> クラスのインスタンスのサイズ
なにそれ。

386 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 17:52:29 ]
練習用のプログラムを書いて保存しようとすると、
メモリが足りないとかでるんですけど、
これはどうすれば解消できますか?
今までコンパイルされたものをリセットとかできますか?

387 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 17:53:38 ]
>>384
キャラ もしくは チャー と呼んでいる人が多い

388 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 17:59:11 ]
>>386
> これはどうすれば解消できますか?
条件が抽象的すぎて答えられまセン

> 今までコンパイルされたものをリセットとかできますか?
質問の意図が不明デス

389 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 18:08:04 ]
>>384
キャスバル兄さん

390 名前:384 mailto:sage [2007/05/10(木) 18:21:48 ]
>>387
チャー と読む人もそこそこ居るんですね。
実は自分も チャー 派なんですが、人前で読む場合は
何となく負けた感じがするので キャラ にしています。

>>389
アルテイシア乙



391 名前:デフォルトの名無しさん [2007/05/10(木) 18:29:14 ]
>>388
本に載ってるサンプルのコードをメモ帳に入力して、
保存しようとするときにメモリに関する警告が出るときがあります。
なのでマイドキュメントに溜まった、
メモ帳に書いたサンプルのコードをかなり消したんですが、
未だに新しいコードを保存しようとすると同じ警告が出るときがあります。
(出ないときもあります。)
なので他の原因を考えたんですが、
今までコンパイルしたものは、
改めてコンパイル(javac)しなくてもjava 〜.javaだけで実行できますよね。
なので今までパソコンに記憶されたコードを消せば警告もでなくなるかなと思いました。
なのでどうやってそれを消せばいいかなと思いました。

392 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 18:31:44 ]
>>391
java 〜.java×

java 〜○

393 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 18:36:53 ]
.classのことを言ってるのか
てかPCのスペックは?

394 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 18:42:52 ]
XP
Home Edition

intel(R) Celeron(R)M
processor 1500MHz
1.50Ghz, 248MB RAM

と書いてます。

395 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 18:44:16 ]
>>393
そうです。.classやソースコードです。

396 名前:デフォルトの名無しさん [2007/05/10(木) 18:44:29 ]
かなりの初心者です。
円の内側に色を塗りつぶしたいのですがどのような方法が一番手軽ですか?
あとJava Runtime Environmentはどうやって起動するのですか?

397 名前:391 mailto:sage [2007/05/10(木) 18:56:06 ]
パソコンのメモリは電源を消せばリセットされるんですよね。
つまりクラスファイルが消去しなくても電源を消せばいい。
でも電源を消しても警告がでたのでクラスファイルを消しました。
まあ一応まだソースコードは保存できるので様子を見てみます。
ありがとう御座いました。m(_ _)m

398 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 18:57:02 ]
>>397訂正
クラスファイルが→を

399 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 19:48:24 ]
>>397
ちょwイミフwwwて言われたいのか?

自作板の人間としてはそんなイミフなサポ来たら
間違いなく死ねるからその前に答えておくと
メモリ増設するかPC買い替えろ。

俺も>>397と同じスペックでEclipse+EclipseME+VE動かしてた時期があるがOSの使用メモリを73Mまで削って物理256-32M+スワップ384Mで運用してたが動くだけだったぞ。

400 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 21:05:35 ]
>>399
ソースコードのを中のintとかdoubleをコンパイルする度に
メモリがどんどん消費されていくのかなと思ったり・・。
まあ今のところは作業が継続可能なので、
作業が継続出来なくなるようなら買い換えます。
レス有難う御座いますm(_ _)m



401 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 21:19:54 ]
>>399
イミフwwww

402 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 21:24:51 ]
何度読んでも397の意味がわからん

403 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 23:55:35 ]
リスナについての質問です。

Swingでアプリを作っているのですが、
JFrameの上に配置したSwingコンポーネント上でも、
JFrameに登録したリスナのイベントを拾うことは可能ですか?

具体的にはJFrameにMouseMotionListenerをaddしてMouseMoved処理を書いているのですが、
JFrame上に配置しているJTabbedPane等を透過できず、イベントが拾えません。
もちろんJTabbedPaneにMouseMotionListenerを登録することもできますが、
結局その上に配置したボタンやらテーブルに邪魔されて同様の問題が発生します。

力技で全てのコンポーネントにリスナを登録するのは、
コンポーネント数が多すぎて現実的ではないと思います。

要は下部のコンポーネントに登録したリスナのイベントを、
上部のコンポーネントに関係なく拾いたいということなのですが、
このようなことは可能でしょうか?

もし可能であれば、ヒントを頂けるとありがたいです。
長文で申し訳ありませんが、よろしくお願いします。


404 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 00:27:29 ]
>>403 つ「GlassPane」
こんどからは↓で
Java低速GUI Swing 5
ttp://pc11.2ch.net/test/read.cgi/tech/1161139809/

405 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 01:24:25 ]
早速のアドバイスありがとうございました。
Swing用のスレがあったんですね。。
スレ違いになってしまいますが、話の続きなのでここで書かせていただきます。


以下のようにリスナのadd先をGlassPaneにして、setVisible(true)を追記しました。

getGlassPane().addMouseMotionListener(new MyMouseMotionListener());
getGlassPane().setVisible(true);
.......

//内部クラス
class MyMouseMotionListener implements MouseMotionListener{
public void mouseMoved(MouseEvent e){
System.out.println(e.getX() + "," + e.getY());
}
.....
}

結果、マウス移動のイベントを拾ってはくれるのですが、
配置したコンポーネント(ボタン等)を全く押せなくなりました。
まさにアプリの上にガラスを被せたような状態ですw

マウス移動のイベントだけガラスに拾ってもらいつつ、
マウス押下のイベントはガラスを突き抜けて、下のコンポーネントに到達させる様な挙動はさすがに無理なのでしょうか。
ちょっと都合が良すぎる考えのような気がしてきました。。

406 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 03:58:30 ]
>>397
電源を消すとクラスファイル等いろいろ消えるパソコンに買い替えなさい

407 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 04:21:29 ]
おそろしいパソコンだw

408 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 08:35:48 ]
>>405
java.sun.com/javase/ja/6/docs/ja/api/javax/swing/SwingUtilities.html#convertMouseEvent(java.awt.Component, java.awt.event.MouseEvent, java.awt.Component)


409 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 10:14:43 ]
>>397
www.so-net.ne.jp/vivre/kokoro/psyqa1087.html

410 名前:デフォルトの名無しさん [2007/05/11(金) 11:37:27 ]
Javaとは関係ないんですが、JavaVMのアプレットが起動したとき
Window下部に 警告 アプレット ウインドウ と表示されますが
この表示バーを消すことはできませんか?



411 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 11:39:27 ]
>>405
ttp://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html#glasspane

412 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 16:58:23 ]
>>371
レスありがとうございます。
うまくいきましたが、一つ疑問が起きました。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
の直後で改行しようとした所HIERARCHY_REQUEST_ERRが出ました。
調べた所このノードは子ノードにテキストノードを持てないということがわかりました。

ということはつまり、XMLでは一般的に改行しないんでしょうか?
テキストエディタで一見したときにわかりやすいと思のですが。

413 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 17:05:37 ]
>>409
怖ぇー

414 名前:デフォルトの名無しさん [2007/05/11(金) 21:51:41 ]
すいません!java初心者です!テキスト見てもどう手をつけていいか
わかりません。どなたか詳しい方ご教授願います。

とりあえず、2,10,16進数だけ勉強しました^^;)
本日から入社しましたのですが、なかなか教えてもらう機会がなかった
ので・・。やはり皆さんは23時帰りですか?
素人で申し訳ないです。

415 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 21:54:55 ]
何か作ってみれば、何が必要なのかが分かってくるはず。

416 名前:デフォルトの名無しさん [2007/05/11(金) 22:00:57 ]
>>415 何を作るんですか?? 
それがプログラムが作れない未経験の状態なんで、基本的なことが
わからないんですよ。お奨めのサイトや本てありますか?
図々しくてごめんなさい。


417 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 22:01:21 ]
>>414
会社の人に聞いた方が早いよ。

418 名前:デフォルトの名無しさん [2007/05/11(金) 22:04:33 ]
cygwinで実行して出た結果をコピペしたいのですが、
どうすればいいでしょうか?

419 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 22:06:46 ]
>>418
ここ、Javaスレだから。

420 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 22:11:44 ]
javaで書いたプログラムということでだめですか



421 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 22:13:16 ]
自己解決しましたスマソ

422 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 22:22:44 ]
これが噂のDQNか…

423 名前:デフォルトの名無しさん [2007/05/11(金) 22:27:01 ]
進数はJavaに限った事じゃないから。
まだココで聞くには早いと思うぞ

424 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 22:43:18 ]
>>414
23時帰りではありません。

425 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 22:52:48 ]
>>416
何でもいいじゃん。
簡単なゲームでもいいし、何か計算させてもいいし。

426 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 23:11:48 ]
>>418
stdout(場合によってはstderrも)をファイルに送ればいいだけじゃないの?

427 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 23:28:32 ]
scriptコマンドとか
cygwinにあったっけ

428 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 01:53:20 ]
>>412
ルート要素外にはテキストノードは置けないですね。

試してないけど、
faq.javaranch.com/view?HowToPrettyPrintXmlWithJava
このへんを参考すると、自動で改行など挿入できるんじゃないでしょー
か。


429 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 03:21:01 ]
>>412
> テキストエディタで一見したときにわかりやすいと思のですが。
XMLはプログラムで扱いやすいようにしたもので、
人間が直接見たり編集したりするためのものじゃない。
人間が扱うならテキストエディタでなくXMLエディタなんかを使った方がいい。

430 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 05:01:09 ]
というか根本的にDOMは総称符号化における
文書インスタンスを動的に変更するものであって
テキストデータをフォーマットするものではない。

まあ、元々はNetscapeのdynamic web architectureであるLiveDocumentの後継技術だからHTML用だが。

>>429の言う通り
意味が分からんなら諦めろ。



431 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 05:07:45 ]
ミスった。

>>429の言う通り総称符号化とはコンピュータ内での文章を保守・管理・閲覧を容易にするための研究分野だ。

人間が見づらいなんて論外、端から眼中にない。お門違い。
フューマンライクにフォーマットしたいならそういう
フォーマッタライブラリがあるからそれ使え。それか自分で書け。

432 名前:412 mailto:sage [2007/05/12(土) 16:35:13 ]
直接いじらないので改行しないんですか。
それならバイナリデータの方が良いと思いますが、
これは以前のなごりなんですかね。

皆さんレスありがとうございました。

433 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:42:50 ]
普通に出来ることがなんでこうなるのかわからんなw

434 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:44:12 ]
バイナリデータというのが人間が簡単に読めないデータという意味だとすれば
なぜそっちの方がいいと思ったん?

435 名前:412 mailto:sage [2007/05/12(土) 16:51:20 ]
>>434
処理速度が上がると思ったからです。

436 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:18:13 ]
スレ違いなので、XMLの特徴、長所と短所を理解してから出なおしてください

437 名前:412 mailto:sage [2007/05/12(土) 17:54:57 ]
わかりました
スレ汚しスマソ

438 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:36:43 ]
BigDecimalでの加減算の方法を教えてください。
なんで普通に足せないの??

439 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:37:58 ]
>>438
どうやって足しているかを書く

440 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:40:23 ]
BigDecimal a = new BigDecimal("10000000000000000");
BigDecimal b = new BigDecimal("10000000000000000");
BigDecimal c = a+b;

こうやろうとしてエラーになっている。
演算子オーバロードができたらねぇ。



441 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:59:46 ]
BigDecimal c = a.add(b);

442 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:10:57 ]
演算子なんて只の飾りですよ
エロいひとにはそれが分からんのですよ

443 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:55:11 ]
IterableのGenerics型とIteratorのGenerics型が一致しないのはどう解決しますか?
ぜんぶ<T>で呼び出してるから一致しないわけないと思うんだけど、コンパイルが出来ません。

444 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:56:49 ]
> IterableのGenerics型とIteratorのGenerics型が一致しないのはどう解決しますか?
どゆ事?

445 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 21:04:23 ]
TとTが一致しませんといってエラーが出てるのです。

446 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 21:18:34 ]
JSliderはスライダ部分をクリックしただけだとイベントを発生しないけど、発生するようには出来ないでしょうか?
ChangeEventでスライダを動かした時だけしか、イベントを発生できないようです。 スライダをクリックして
「握った」状態を感知したいのですが・・・

もしくは、そうできるようなものはないでしょうか? swingでの使用を考えています。

447 名前:443 mailto:sage [2007/05/12(土) 21:25:35 ]
IterableのT型変数をIteratorのnextで戻していたのが原因でした。
型推論できそうな気もするけど、Iterator内に移したらコンパイルが通りました。

448 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 21:41:05 ]
JAVAってインラインアセンブラできないの?

449 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 22:01:19 ]
そんなんでRun Anywhereできると思ってんのかコラァ!

450 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 22:07:38 ]
JVM 用アセンブラを書くライブラリはあるだろ。
BCEL とか使えばいい。



451 名前:443 mailto:sage [2007/05/12(土) 22:38:09 ]
自己解決の方法が間違ってたので、フィードバック。

Iterableの型をIteratorに引き継ぐ場合は
private class MyIterator implements Iterator<T>とするだけ。
MyIterator<T>としてしまうと型を上書きするみたい。

こんな間違い私だけかも知れないけど。

452 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 22:50:52 ]
> private class MyIterator implements Iterator<T>とするだけ。
これ、外側に MyIterable<T> の宣言とかが無いと、
何を書いてるか分からんぞ。

453 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 23:01:45 ]
インラインアセンブラも、ヴァーチョウマスゥィーンヌのほうで吸収して呉れりゃいいのに。

454 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 23:31:11 ]
javaの考える力を身につけるにはどう学習すればいいですか?
何かお勧めのテキスト教えてください、情報技術者試験対策の勉強だと知らないようなことを
考えさせられて自分の力の無さを感じてしまうお

455 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 23:52:35 ]
www.amazon.co.jp/products/dp/4756100503

456 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 23:58:43 ]
>>455
おK、これで考える力をつけようと思います。
しかし値段すごいですね(((( ;゚Д゚))) とりあえず大きな本屋に行って立ち読みしますわ

457 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:05:32 ]
高いか???
普段、赤本とか物理学などの本買ってると2万3万当たり前なので安く感じる。

最も高かったのが、医学の術式を記した本で5万。

458 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:11:19 ]
高いよ

459 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:13:45 ]
本に2000円以上出すのは抵抗あるお
資格取得の参考本以外は手をつけた覚えないな

460 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:49:36 ]
>>455
まつもとゆきひろ氏が読んで目から鱗が落ちた本だな。
ttp://www.ruby-lang.org/ja/man/?cmd=view;name=Ruby%CD%D1%B8%EC%BD%B8#Eiffel



461 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 02:34:48 ]
同じ場所に end の解説があってワロス

462 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 02:49:37 ]
>単文・複文問題の回避
{ } 強制の Perl では問題が生じない。

>ぶらさがりelse問題の回避
{ } 強制と elsif の導入で解決する問題。

>可読性の向上
趣味の問題なので何ともいえない。

>begin, caseの構文上の問題
これはある程度納得できる。

463 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 05:20:05 ]
>>462
お前は俺だ

464 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 10:28:31 ]
開始時刻の(時h1、分m1)と終了時刻(時h2,分m2)を読み込み開始から終了までの時間(時h,分m)を求める式が考えつきません。

hd = h2 - h1; md = m2 - m1; 単純に時分をそのまま足す引くしか考えが浮かばないんですが終了時刻の方が小さいとマイナスと出ます。
逆にしても同じで開始終了どちらの大小関係なくマイナスにならないようにするヒントを教えていただけませんか?

465 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 10:38:20 ]
Calendarつかえばいんでね

466 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 10:47:49 ]
もし開始時刻より終了時刻のほうが早ければ開始-終了、それ以外なら終了-開始

467 名前:デフォルトの名無しさん [2007/05/13(日) 10:51:09 ]
>>464
絶対値でOK

468 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 11:37:41 ]
>464
Date start = new Date();
Date end = new Date();
long diff = start.getTime() - end.getTime();
int diffMinitue = diff / (1000 * 60);
int diffHour = diff / (1000 * 60 * 60);

469 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 11:39:09 ]
>467
絶対値使うなwww
たぶん、12時25分(開始) 13時10分(終了)のような状況と思われ。

470 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 12:23:54 ]
h=h2-h1;
m=m2-m1;
if(m<0) {
h=h-1;
m=m+60;
}
引き算のときに下の桁で足りなかったら上の桁から借りてくるって算数で習っただろ?



471 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 12:26:18 ]
>>470
それでやると日付またいだりしたときに面倒くさそうだね。

472 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 12:34:24 ]
もともと問題がhとmしかないからね。
日付をまたいだり月をまたいだり年をまたいだりするなら、
さらに上の桁から借りればいい。
月が変わる時の処理がちょっと面倒だけど。
まあ、そこまでの問題なら日時関連の標準APIを使うのが楽だろうが。

473 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 12:39:27 ]
DateとCalendarを使えって話題じゃないのかね?
どういうながれで問題が出されたのか解らんけど。

474 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 13:41:33 ]
超初心者です。
今アプリゲットの開発講座を見ながらJ2MEのtoolkitでイメージの描写を
やってるのですが、解説にのってあるpngではなく自分で用意したpngを
使用すると、パッケージのところで
「アプリケーション記述子のJARサイズが実際のJARファイルサイズと一致しません」
と出るんですが。どこをいぢればいいか教えてください。

475 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 13:44:19 ]
黄色いアプリゲットだぜ!

476 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 14:38:09 ]
javaのsliderで動画のシークに使える派生モノはないですか? JSliderだとスライダーを握っただけ
だとイベントを発生しないので・・・ スライダーを動かして初めてイベントを発生する・・・

477 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 14:53:29 ]
動画のシークに使うのならサムを握っただけでイベントを発生させる必要はないのでは?
値が変わった時にシークさせればいいと思うのだが。
MouseEventを捕まえればいちおうイベントは発生してくれる。
サムでない部分をクリックしてもMouseEventが発生するけど、
そのときはChangeEventも発生するはずなので区別を付けられないわけではない。
もしくは実装の詳細に入ってしまうのであまり良い方法ではないが、
MouseEventの発生位置がサムの領域かどうかで判断するか。

478 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:06:25 ]
お願いします
>>474


479 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:17:58 ]
>>474
プロパティ

480 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:21:29 ]
>>477
そのサムを握った時に動画やアニメーションを停止させたいので、イベントが発生してくれるとうれしいのです。
もう少し、調べてみます。



481 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:37:26 ]
>>479
プロパティって言うのは、jadにjarファイルの容量を入れるってことですよね?
今はjavaファイルからclassファイルにコンパイルする段階でできないのですが。


482 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:35:21 ]
携帯はスレ違い
MIDPスレ行け

483 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:36:14 ]
>>482
了解です。。

484 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 17:38:14 ]
プログラミング経験もほぼ無いに等しいのですが
お勧めの参考書でもあれば教えてください。

485 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:18:16 ]
>484
pc11.2ch.net/test/read.cgi/tech/1164359039/l50

俺の考えは、入門書はイラネ。
やさしいとか猫が解るとか6日で学ぶとか色々あるが、金の無駄。
いわゆる入門書のレベルならばWebで探せば幾らでもあるからタダ。

Webで軽く触ったなら、少し難しい本を買って辞書として使用すべし。
あわせて、独習Java等の演習問題を血を吐くまで打ち込むべき。

486 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 19:09:46 ]
JRE6をインストールしたら今まで使っていたJRE5は削除してもいいんでしょうか?

487 名前:デフォルトの名無しさん [2007/05/13(日) 21:45:27 ]
>>486
JRE5を使うか使わないかは君次第

488 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 22:05:30 ]
>>455はJavaじゃないだろ

489 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 23:17:26 ]
JavaじゃないけどJavaで考える力はつくよ

490 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 23:30:41 ]
いや、特につかないだろ
Java問題集とかパズルとか読んだ方がずっといい



491 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 23:40:01 ]
いや、考える力はつくだろ

492 名前:デフォルトの名無しさん [2007/05/14(月) 01:23:17 ]
ファイルがまだ残っているディレクトリツリーをまとめて削除したいのですが
どうすればいいでしょうか?

493 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 01:28:24 ]
残っているファイルを全部消してから親ディレクトリに移り子ディレクトリを消す
という操作を再帰的に行う
下手すると全部消えるから再帰の止めどころを間違えないように

494 名前:492 [2007/05/14(月) 01:30:17 ]
>>493
その処理をしてくれるメソッドはないでしょうか?

495 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 01:37:41 ]
標準のAPIにはたぶんない
apache commonsのorg.apache.commons.io.FileUtilsには
deleteDirectoryやcleanDirectoryがある

496 名前:492 [2007/05/14(月) 01:45:04 ]
>>495
ありがとうございます。

497 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:38:52 ]

質問質問!

JavaのJFrameにFlashPlayerを乗せるにはどうすればいいですか!
教えてちょんまげ!!
 
ちなみにFlash側はActionScriot3.0で書くつもりです
 

498 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:58:47 ]
>>497
切腹

499 名前:デフォルトの名無しさん [2007/05/14(月) 04:03:15 ]
for(;;){} の初期化の部分で複数の型を初期化するにはどうすればいいですか?
int と String の異なる型をfor内部で宣言させたいのですが…

エラーになりますが、イメージとしてはこんな感じです。
for(int i=0, String s=""; i<foo.length; i++){}

500 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 04:17:23 ]
できないのでforの前でやってください



501 名前:デフォルトの名無しさん mailto:499 [2007/05/14(月) 04:41:08 ]
>>500
了解です。ありがとうございます。

502 名前:デフォルトの名無しさん [2007/05/14(月) 09:12:10 ]
質問させていただきます。
Excelファイルを参照して、指定したセルに書かれいている文字列を、
配列に格納するという方法はあるのでしょうか?

503 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 09:20:52 ]
あります

504 名前:デフォルトの名無しさん [2007/05/14(月) 09:24:40 ]
>>503
調べてみてはいるのですが検討が付きません。
教えていただけませんか?

505 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 09:27:34 ]
>>504
POI使え
ttp://jakarta.apache.org/poi/

506 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 09:29:40 ]
ありがとうございます。


507 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:06:17 ]
JAVAを独学ではじめようと思っているのですが。
参考書籍、それとも初心者用の解説サイトで学ぶのがよいのでしょうか?
またそれについてお勧めの書籍等ありましたら、教えていただけると有難いです。

508 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:07:39 ]
>>507
やさしいJavaプログラミング

509 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:26:26 ]
>>508
あんなもん教えるな。

510 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:50:42 ]
否定するなら対案示すとかどこが悪いか示すとか、そういうのすべきじゃね?



511 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 22:04:40 ]
房乙

512 名前:デフォルトの名無しさん [2007/05/14(月) 23:16:26 ]
ファイルをアップロードするサーブレットを作っています。
fileuploadライブラリを使用してアップロードは出来るように
なりました。
しかし、フォームのデータが取得出来ません。

ファイルをアップロードするために、「enctype="multipart/form-data"」を
入れているのですが、これを入れるとHttpRequest#getParameter()で
取得できないことは分かりました。
では、どうすれば取得できるのでしょうか?

FileItem#getFieldName()でフォームの名前(name)は取得できるように
なりましたが、値(value)は取得することが出来ません。

どうすればよいのでしょうか?

513 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:22:26 ]
てst

514 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:44:47 ]
>>512
GWT

515 名前:デフォルトの名無しさん [2007/05/15(火) 00:19:42 ]
>>514
GWTというものが存在することは先ほど検索して分かりましたが、
それが今回のものとどういう関係があるのか全く分かりません。
もう少し詳しくお願いします。

516 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:24:50 ]
>>512
最近使ってないので覚えてないが
ドキュメントに書いてなかったか?
サンプルにもあったような気がするが

517 名前:512 mailto:sage [2007/05/15(火) 00:40:04 ]
>>516
FileItemのリファレンスを見ても分からなかったのですが、
サンプルを見るとgetString()で簡単にいけそうです。
今は環境が無いので、明日試してみます。

// Process a regular form field
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();
...
}

とりあえず、ありがとうございます。

518 名前:デフォルトの名無しさん [2007/05/15(火) 02:50:44 ]
n以下の素数をはじきだすプログラミングをくんだのですが上手く動きません。
添削していただけないでしょうか?

import java.io.*;
import java.io.*;
public class enshu34 {
public static void main(String[] args) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("integer> ");
int n = (new Integer(in.readLine())).intValue();
int i = 2;
while(n % i != 0) { i = i + 1; }
if(i == n) { System.out.println("This is a prime factor"); }
else { System.out.println("This is not a prime factor"); }
}
}

519 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:13:53 ]
>>518
キミが期待する具体的な動作(…を入力したら…が表示されて欲しい)と
そのプログラムがどう期待通りでないか、
を書きましょう。


520 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:56:54 ]
ぬるぽ



521 名前:デフォルトの名無しさん [2007/05/15(火) 04:10:44 ]
ガッ… Java 始めたのですが質問です。

Java には標準で make 相当のコマンド/仕組みは無いですか?
皆IDE?

ググったら Jakarta の Ant なるものが引っかかったんだけど、
使い慣れたmakeにしがみつくより覚えて損はなさそうですか?
意見plz

522 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:22:52 ]
使い慣れたmakeを使い続けるもよし、antをかじってみるもよし。
他人とすり合わせる必要がないのなら自分の一番使いやすい方法をとればいい。
javaのプログラミングで使うのならantは覚えても損はないとは思う。

523 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:46:55 ]
とりあえずmakeで済ませつつ、覚えても損はなさそうな代物ということで
折を見て少しかじってみることにします。

すこし Ant の使い方を眺めていたんだけど、
xml で記述っていうのが慣れていないせいか何となく('A`)
ツールとかで機械的に吐くには便利そうだけど

レスありがとうございました。

524 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:30:16 ]
最近mavenが増えて困る

525 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 11:14:51 ]
>>523
大量にビルドする時とか、JVM起動のフットプリントが結構響くので
makeだと2時間掛かるけどantに切り替えたら10分だった、という過去の経験がある。
最近のスペックのマシンとJVMだとそんなに気にならない可能性もあるけど

526 名前:sage [2007/05/15(火) 15:06:31 ]
Java Web Start のスプラッシュ画像を変更する正しい方法を教えてください。
単に画像を入れ替えるだけだと更新されないばかりか
何度起動しても新しいスプラッシュ画像を毎回ダウンロードしてしまいます。

527 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:40:46 ]
slickeditを使っているが、コンパイルエラーが文字化けして使い物にならない。
そこでjavacの出力を英語かslickeditで日本語を表示できるようにするかのいずれかを
考えているのですが、どうすれば良いでしょうか?
slickeditはver11、 javaは最新版です。

528 名前:デフォルトの名無しさん [2007/05/15(火) 21:16:50 ]
"1,2,3,4,5,6,"123,23,45",12,55"
のようのCSVデータで"123,23,45"のような""でかこまれた
箇所だけを除いて、カンマ区切りでデータを抽出するにはどうすれば
いいでしょうか。
StringTokenizerを使用しようとしてなかなかうまく行きません。
ご教授よろしくお願いいたします。

529 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 21:27:46 ]
何が言いたいのかよくわからんがsplitでも使えばいいんじゃないか

530 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 21:37:33 ]
いや、
1,2,3,4,5,6,"123,23,45",12,55

1 2 3 4 5 6 "123,23,45" 12 55
で分けたいのです。
"123,23,45"この部分をどうすればいいのかと・・・



531 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 21:39:45 ]
>>530
引用符外れるけど。

List<String> list = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(str, "\"", true);
boolean inQoute = false;
while(st.hasMoreTokens()){
 String token = st.nextToken();
 if(token.equals("\"")) inQuote = !inQuote;
 else if(inQuote) list.add(token);
 else list.addAll(Arrays.asList(token.split(",")));
}

532 名前:530 mailto:sage [2007/05/15(火) 21:45:32 ]
>>531
サンクス!!
できました。
ありがとうございます!!

533 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 21:49:20 ]
>>531
123,23,45 の後に余分な空要素が入るような。
ま、>>530 の用が足りてるならかまわんけど。

534 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:07:03 ]
>>533
while(st.hasMoreTokens()){
 String token = st.nextToken(inQuote ? "\"" : "\",");
 if(token.equals("\"")) inQuote = !inQuote;
 else if(!token.equals(",")) list.add(token);
}

535 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:11:09 ]
プログラム未経験で入社して、研修を行っています。
変数とかif文までは理解できたのですが、for文がどうしても理解できず悩んでます。
特に二重ループ(?)になると混乱して・・・
なにかアドバイス貰えませんか?

536 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:15:13 ]
違う参考書を読んでみる

537 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:15:44 ]
>>535
その場で腕立て10回、腹筋10回を 10セットやってみよう。
それが二重ループだ。

538 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:19:56 ]
> 536
やさしいJavaって本で勉強はしたんですけど、研修で出た課題を解こうとしてもサッパリでして。
書き方乗っているから真似して書いて、と言われてます。
どこをどう真似すればいいのか聞いても、for文はループとしか答えてくれないんです。

539 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:22:38 ]
それ以上どういう説明すりゃいいんだよ

540 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:24:15 ]
forの前にwhileを学べ。whileの基本系に特化したのがforと言っても過言ではない。



541 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:25:48 ]
今からでも遅くなから転職を考えたらどうか

それがダメなら
その本でも違う本でも良いから何度も読んで例題をやってみるとか
誇張じゃなくて、本当に100回ぐらい繰り返して読むと突然理解できる時があるから

542 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:26:44 ]
>>537
腕立て1回やったら腹筋10回を10セットじゃね?

for(int 腕立て回数=0;腕立て回数<10; 腕立て回数++){
 腕立てやる();
 for(int 腹筋回数=0;腹筋回数<10;腹筋回数++){
  腹筋やる();
 }
}
System.out.println("もう無理ぽ");

543 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:28:30 ]
>>542
腕立て10回したら1分休憩を 10セットでも何でもいーけど。

544 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:30:42 ]
いやビリーにGJ!っていってもらったほうがいいな。

545 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:31:37 ]
ブートキャンプか

546 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:37:14 ]
>>538
じゃあ、forをどう理解してるか教えて


547 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:40:29 ]
>>542
それってさ、実行すると
腕立て→腹筋*10→腕立て→腹筋*10→・・・
ってことにならね?

548 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:45:19 ]
はいはい、ワロス、ワロス

549 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:46:00 ]
>> 546
理解しているというか教えられた内容はこんな感じです。
プログラムで繰返し処理を行う場合にfor文を使う
for文ではカウンターと呼ばれる変数をまわして処理が繰り返される
書き方はfor(初期化の式; 繰り返す数の式; 変化の式)と書く。

10回表示するとかは書けるんですけど、素数を表示しろってのが解らなくて・・・

550 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:48:28 ]
>>546
あと、変化の式とか初期化の式とかがよく解りません
やっぱり転職でしょうか



551 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:49:31 ]
549を読んで535の会話能力に不安を覚えた。

552 名前:デフォルトの名無しさん [2007/05/15(火) 22:58:11 ]
まだ手に馴染んでないだけだろ。もう少し使って見てから質問したらどうだ。

553 名前:デフォルトの名無しさん [2007/05/15(火) 22:59:53 ]
どーまん せーまん
どーまん せーまん

554 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 23:28:48 ]
>>549,550
そこからかぁ
ここで一から懇切丁寧説明すると長くなるからとりあえずJavaの入門サイトをググって自分
なりにある程度理解した上で質問した方がいいかも。
教育担当にしつこく食い下がる、でもいいけど(論点まとめた上でやらないと嫌がられると思うが)
まぁ最初は誰でも初心者だし理解するのは大変だろうけどこういうのってある日突然視界が
拓けるように見えてくるものだから諦めずにがんがれ。

555 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 00:10:56 ]
いるんだよ。こういうなんでも手取り足取り教えて君がさ・・
とくにJavaに多い
迷惑極まりない
もういいから、しんでくれ

556 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 00:18:30 ]
>>549
>プログラムで繰返し処理を行う場合にfor文を使う
間違い。
プログラム(アルゴリズム)で同じ処理を何度も行いたい場合、それを繰返し処理と呼ぶ。
for構文ってのは繰返し処理を実現するただの文法。
何を繰り返したいのか、考えてみること。
文字を出力するのか?数値を足すのか?数値で割れるのかを判定するのか?など。

>>555
いるんだよ。こういう文法だけ覚えろって先輩気取クンがさ・・・
とくにJavaに多い
迷惑極まりない
もういいから、しんでくれ

557 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 01:44:17 ]
JavaでMBRを書き換えるツールは作れますか?


558 名前:デフォルトの名無しさん [2007/05/16(水) 01:54:19 ]
通常時はA.jpgの画像が表示され、ENTERを押すとB.jpgに変わる。
B.jpgにENTERを押すとまたA.jpgに戻り、終了時にはC.jpgがうつる。

というプログラムを組んだつもりなのですが、常にC.jpgだけがうつり、ENTERを押してもなんの反応も示しません。
どうすればいいのでしょうか?

559 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 01:57:40 ]
>>558
きみのプログラムが間違っているんだと思うぞ。


560 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 02:05:29 ]
ソースも晒さずにどう間違いを指摘しろと言うのだ



561 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 04:31:15 ]
>>558
18行目のifの条件を見直してみ

562 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 04:35:36 ]
>>558
> どうすればいいのでしょうか?

デバッグすれば?


563 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 05:31:31 ]

JFrameの上にFlashPlayer載せるにはどうすりゃいいですか?
 

564 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 05:47:08 ]
>>527
slickeditってのがどんなものなのか知らないけれど、
javacの実行環境のlocaleを英語にしたければ、
-J-Duser.language=en
をjavacのオプションにすればいい。-Jの後に空白を置かないように。

565 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 05:48:53 ]
FlashPlayer
JFrame

566 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 11:29:05 ]
質問です。
a.xlsというエクセルファイルにC:\\b.xlsという記述があるとします。

まずa.xlsをプログラム内で

POIFSFileSystem filein = new POIFSFileSystem(new FileInputStream(
"C:\\a.xls"));
の記述で開きます。

まずa.xlsは上記の様に直接プログラム内で指定しているので開けるのですが、
その後、a.xls内に記述されているC:\\b.xlsという文字列を読み込み、
例えばdataという変数に格納します。
それのdataという変数に格納されているC:\\b.xlsを参照して、

POIFSFileSystem filein = new POIFSFileSystem(new FileInputStream(
"C:\\b.xls"));

という様な形でb.xlsを開けるようにしたいのですがどうすればいいのでしょうか?

わかりにくくてすいません。要するに
直接プログラム内でパスを記述するのでなく、変数に格納されている文字列を読み込み
それをパスとして読み込んでファイルを開くという方法を教えていただきたいのです。

567 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 11:41:19 ]
変数に格納されているのならその変数をそのまま使えばいいのでは?
パスの形への整形は必要かもしれんが。

568 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 12:34:06 ]
ありがとうございます。
その整形方法がわからないのですが。。


569 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 12:43:44 ]
dataにC:\\b.xlsって文字列が格納されてるなら
POIFSFileSystem filein = new POIFSFileSystem(new FileInputStream(data));
でええんとちゃうのん?
整形も何も必要ないような
って必要あるね
dataがStringだとして
data=data.replaceAll("\\\\","\\");
とでもすれば?

570 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 14:06:51 ]
>>569
しなくていい
POIFSFileSystem filein = new POIFSFileSystem(new FileInputStream(data));
でええはず
あるいは data が Array や ArrayList みたいなのだったらループ汁




571 名前:558 [2007/05/16(水) 14:20:48 ]
今調べてますが、
とりあえず内容をあげてました。
www.vipper.org/vip508105.txt.html

572 名前:558 mailto:sage [2007/05/16(水) 14:27:22 ]
>>571のやつは、ちょっとC.jpgの部分辺りが消えてしまってるんですが・・・

573 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 14:40:49 ]
試さずにコメントするけど
switchの中でgetKeyCode()を何度も呼び出してるからじゃないかな


574 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 14:44:21 ]
paint の中
bkgrp 毎回 null

575 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 14:47:42 ]
なんだ釣りか

576 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 14:49:38 ]
>>571
KeyEvent の届き方ってのは仕様が無い。プラットフォーム毎(キーボードの種類毎)に挙動が違う。
keyPressed は押し始めに 1回だけ呼ばれるという前提で書いてるみたいだけど、
キー押し始めてからキー離すまで nミリ秒ごとに keyPressed を呼び出すプラットフォームもあるので要注意。

577 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 15:56:37 ]
>>570
ほんとだ。"C:\\\\\\\\\\hoge.txt"とかでも大丈夫だった。
先頭にドライブ文字が付いているからUNCパスと区別できるってことか。

578 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 16:00:03 ]
RMIサーバを作成しています。
リモートオブジェクトがGCのタイミングで無くなってしまう可能性
ttp://d.hatena.ne.jp/nowokay/20060817
を潰しておきたいのですが、
static変数に持っておく、参照が切れない事が分かっている
インスタンスの変数とする、等の方法しか無いのでしょうか。
コード的に、もうちょっと体裁の良い形にしておきたいのですが。

また、リモートオブジェクトのエクスポートの瞬間にオブジェクトが
取得される可能性があるからコンストラクタでの処理が云々、
と言った話をトラブル話として過去に聞いたのですが、当時良く理解出来ませんでした。
この情報から推測できそうな有名な落とし穴等ありますでしょうか?

579 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 19:45:31 ]
プログラミング自体が完全に初心者なんですが、そういう初心者向けのJavaの参考書はなにがいいでしょうか?
いまのところ、一冊は候補があってもう何冊か目星をつけて見比べたいので。

580 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 20:54:58 ]
>>579
なぜプログラミングができないのかって本。
中身はJava入門本、目から何か出る。



581 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 22:57:09 ]
目からビーーーーム!!
・・・は既にでじこも卒業

582 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 23:52:11 ]
>>579
ぜったいコレ
www.amazon.co.jp/Head-First-Java%E2%80%95%E9%A0%AD%E3%81%A8%E3%81%8B%E3%82%89%E3%81%A0%E3%81%A7%E8%A6%9A%E3%81%88%E3%82%8BJava%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%AD%E3%83%A3%E3%82%B7%E3%83%BC-%E3%82%B7%E3%82%A8%E3%83%A9/dp/4873111730

よく初心者に勧める本っていえば、猫でもわかる〜系が有名だけど
「本物の初心者」ならプログラミングって概念がさっぱりわからんだろうから
図やイラストがたくさんあったほうがかなりわかりやすい

(その辺を考慮せず薦める中級者・上級者がやたら多い)

なので、この本おすすめ
オライリー本だから当然、文章も良文です

583 名前:デフォルトの名無しさん [2007/05/17(木) 04:38:42 ]
beanにinit()の初期化処理が入っています。
そのbeanをJSPからusebeanした場合、beanのinit()の部分の処理は次回のjspへのリクエスト時は処理されないですみますか?
それともjspへのリクエストの度にusebean⇒beanのinit()処理となってしまいますか?

584 名前:デフォルトの名無しさん [2007/05/17(木) 07:48:09 ]
>> 582
恒例の流れなんだが、Head First Javaは良書だが初心者にはどうかと。
どんな本でも良いんだが、打ち込んだソースが動かないとか、論外。

自分的にはGoogleが一番良い参考書だと思うぞw

585 名前:デフォルトの名無しさん [2007/05/17(木) 07:51:27 ]
>> 583
beanのコンストラクタから init() を呼び出しているって事でOK?

useBeanした時にどうなるかは、beanのスコープに依存する。
スコープがrequestならば毎回初期化される(インスタンスが生成される)。
sessionであるならば、同一sessionで使いまわされると理解して良い。
(細かい所は省略しているからあとは自分で調べろ)

initにSystem.outとかブレイクポイントとか仕掛けて、両方の挙動を確認するのがいいよ。

586 名前:デフォルトの名無しさん [2007/05/17(木) 11:36:37 ]
諸先輩方、アドバイスお願いします。

オライリーのJAVAクイックリファレンスで勉強中なんですが
初期の段階(クラスのメンバー等)のところでつまづいてなかなか先に進めないでいます。
とりあえずと読み進めていますが、理解できないところが多くなってきました。
こういうときは、理解できるまで繰り返し読むしかないのか
分からないなりに一通り読み進めていく方が良いのか、どちらの方が良いでしょうか?
そもそも、この程度の箇所でつまづいてる時点ではJAVAはまだ早いでしょうか?
厳しい意見でも構いませんのでアドバイスお願いします。

587 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 11:39:47 ]
>>586
プログラムを実際に組んで動かしたことありますか?

588 名前:586 mailto:sage [2007/05/17(木) 11:44:56 ]
>>587
クイックリファレンスに掲載されているものは打ち込んで動かしていますが、
自分で何かを組んだりしたことはありません。

589 名前:558 mailto:sage [2007/05/17(木) 12:18:27 ]
遅くなりましたが返答ありがとうございます。
しかし未だにプログラムは完成してません。
もう少し自分で頑張るつもりです。

590 名前:名無しさん mailto:sage [2007/05/17(木) 12:31:37 ]
gihyo.jp/dev/serial/01/java-calculation

やってみれ



591 名前:586 mailto:sage [2007/05/17(木) 12:46:52 ]
>>590
現在掲載されているのは計算が主体のようですね。
でも、勉強になります。連載中のようなのでこれからが楽しみです。
ありがとうございました。

592 名前:586 mailto:sage [2007/05/17(木) 12:49:16 ]
>>590
各回は1ページではなかったんですね・・・。
最後のページに演習があったのに今気付きました。
やってみようと思います。

593 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 14:38:14 ]
String expr = "2 * 3 + 7";
Calculator calc = new Calculator();
String value = calc.eval(expr);

value = 13 になる
みたいなクラスってありますか?



594 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 14:54:19 ]
>>593
自分で作ってください

595 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 15:13:34 ]
そのものというわけにはいかないが
6以降ならスクリプトAPI使ってRhinoに評価させるって手はあるな

596 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 15:32:40 ]
ちっこいコンパイラ作るつもりでやってみw

597 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 15:45:26 ]
与えられた正の整数の因数を全て表示するプログラムを作成しなさい。たとえば12の場合、2,3,4,6を表示する。

というような問題はループを使うのですか?どなたか答えを、、

598 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 15:53:57 ]
再帰を使えと?

599 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 16:02:55 ]
>>597
何を使っても良いのでは

void printInnsuu(int n){
for(int i = 2; i <= n / 2; i++)if(n % i == 0 )System.out.print(i + ",");
}

600 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 16:29:41 ]
>599さん
ありがとうございました(^3^)/



601 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 17:21:48 ]
>>593 jay+JFlexならこんな感じで
--Calculator.jay
%{
public class Calculator {
private Integer result;
%}%token <Integer> NUMBER
%type <Integer> expr
%left '+'
%left '*'
%%
string: | string expr { result = $2; }
expr: NUMBER { $$ = $1; }
| expr '+' expr { $$ = Integer.valueOf($1.intValue() + $3.intValue()); }
| expr '*' expr { $$ = Integer.valueOf($1.intValue() * $3.intValue()); };
%%
public String eval(String expr) throws Calculator.yyException, java.io.IOException {
yyparse(new Lexer(new java.io.StringReader(expr)));
return String.valueOf(result);
}
}

602 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 17:23:27 ]
--Lexer.flex
%%
%public
%class Lexer
%implements Calculator.yyInput
%type int
%eofval{
return YYEOF;
%eofval}
%{
private int token;
private Object value;
public boolean advance() throws java.io.IOException { return (token = yylex()) != YYEOF; }
public int token() { return token; }
public Object value() { return value; }
%}
%%
" " { }
[1-9][0-9]* { value = Integer.valueOf(yytext()); return(Calculator.NUMBER); }
. { return yytext().charAt(0); }
--Test.java
public class Test {
public static void main(String[] args) throws Exception {
String expr = "12 + 3 * 7";
Calculator calc = new Calculator();
String value = calc.eval(expr);
System.out.println(expr + " = " + value);
}
}

603 名前:デフォルトの名無しさん [2007/05/17(木) 18:36:39 ]
jarを作って、プログラムの中からjarを実行させたいのですが、
可能でしょうか?

604 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 20:39:31 ]
>>603
イミフ

605 名前:デフォルトの名無しさん [2007/05/17(木) 22:24:04 ]
>>604
たとえばSWTで1画面作って、jarにして
別のシステムからボタンクリックイベントとかで、
このjarにした画面を呼ぶ事ができるのかなって、、、

606 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 22:27:35 ]
>>605
できると思うけど。

具体的な状況がサッパリわからんので、
具体的にどうやるかは自分で考えれ。

607 名前:デフォルトの名無しさん [2007/05/17(木) 22:57:49 ]
>>606
SWTで画面を作って、jarにするところまでできたのですが、
それを今度は、JFrameで作った画面のボタンクリックイベントで
jarにした画面を表示させたいのですが、具体的にどう記述すれば良いか
色々しらべてもわからなかったので、もしよろしければ教えてください。

608 名前:デフォルトの名無しさん [2007/05/17(木) 23:10:43 ]
>>607
Runtime.exec(String command)

609 名前:デフォルトの名無しさん [2007/05/17(木) 23:30:38 ]
class Sample{
    static boolean b;
    public static void main(String[] args){
       int x = 0;
if (b) {
  x = 1;
} else if(b = false) {
x = 2;
} else if(b) {
x = 3;
} else {
x = 4;
}
System.out.println("x = " + x);
   }
}


「if(b = false)」のところでbの初期値であるfalseと一致し、
「x = 2」と出ると思っていたのですが、
実行すると「x = 4」と表示されます。
何故そうなるかご教授願いたいのです。

610 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 23:38:54 ]
>>609

>} else if(b = false) {

bにfalseを代入してるから?



611 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 23:40:21 ]
> 「if(b = false)」のところでbの初期値であるfalseと一致し、
それ、比較じゃなくて代入だから。

比較したいなら if(b == false)

612 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 23:52:40 ]
booleanとtrue,falseを比較なんて身の毛もよだつ
バグが入るので絶対お薦めしません
if( b )
if( !b )
これでいいだろ?

613 名前:609 [2007/05/18(金) 00:01:22 ]
比較の"=="じゃなく、"="なので代入になってしまっていたわけですね。
なるほど、わかりました。
どうもありがとうございました。

614 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 00:45:18 ]
>>612
if(b){} else {} でいいじゃん。

615 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 01:09:47 ]
Sunのコーディングスタイルはif(b==ture) else

>>608
そういう意味じゃなくてOOoみたいに別々に固めた別コンポーネント(ウィジェット)を連携したいって意味じゃない?

616 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 01:16:01 ]
> Sunのコーディングスタイル
java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

> f(b==ture) else
そんな事書いてなくね?

617 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 01:22:39 ]
boolean b = false;

【不恰好なコード】
if (b == true) {
 // 処理 
} else if (b == false) {
 // 処理 
}

【美しいコード】
if (b) {
 // 処理 
} else if (!b) {
 // 処理 
}

618 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 01:25:01 ]
> } else if (!b) {
釣りか?

619 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 01:26:16 ]
酔ってるんだ
みなかったことにしてくれ

620 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 06:24:48 ]
>>609
ちなみに == true を書く派だが、これは盲点。
 if( b = false) ってバグは怖いな

ためしにint あたりで同じバグを書いてみよう
 if(i = 10)
とかね。
こっちはコンパイルエラーとなる。

実はJavaの場合、代入式の実行結果として代入値が返されるんだわ。
だからint の場合は、代入値(10)が ifの論理式の所に渡されるからNG。
これに対して、boolean の場合は、falseが渡されるから、結果としてOK。

そう考えると、612の主張もアリと感じる。



621 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 06:45:48 ]
比較演算の結果は boolean なので、 boolean を true, false と
比較するというのなら比較演算の結果も当然比較するべきだろう。
その結果も boolean なので(以下略

622 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 07:37:55 ]
(...(((b == true) == true) == true) ... == true)

623 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 08:06:04 ]
無限再帰ってこわくね?

624 名前:デフォルトの名無しさん [2007/05/18(金) 10:24:01 ]
javaって肥大化していくCで書かれたソフトウェア開発コスト下げれるの?
速度速いしC++の方がいいと思うんだけど。

625 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 10:31:11 ]
>>624
JavaでCのソフトは作れないなぁ

626 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 10:41:14 ]
>>625
組み込みシステムとかは?


627 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 11:24:29 ]
どの言語も使いどころが違うからなあ
マルチリンガル必須だよ

628 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 12:30:18 ]
boolean は、真偽値しか入ってこない型なんだから
判定では、比較させないのがバグを回避するのに有効だと思うが・・・・

Cや、Perlなど boolean以外の値も真偽判定に使えるような言語だと、
比較を書くのは真偽判定に使っていると明示すことこになって嬉しいんだけど
Javaはbooleanでしか判定しないので比較を書かない方がいいと思う

629 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 12:46:29 ]
>>628
ふむふむ。
それならば、メソッドの戻り値がbooleanの場合はどうする?
if(isHogeHoge()) {}

if(isHogeHoge() == true) {}
だと後者のほうが解りやすいと俺は思う。

変数だと書かないのもありと思うけど、でも!は嫌いだなぁ。
見落とすんだよね・・・

630 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 13:32:15 ]
>>629
俺は >>628 じゃないけど、前者の方が良い。

if (!isHoge()) と if (isHoge() == false) でも前者かな。



631 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 13:33:19 ]
== true を入れられると、何か頭を使わないと理解できない。
慣れの問題だろうが、俺はない方がはるかに分かりやすい。

というか、C/C++ 使ってると true と比較するのはものすごく抵抗がある。
ctype.h の is 系関数とか 1 以外の値も返すようになってる実装だったりすることも多いし。

632 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 13:40:30 ]
C/C++ だと == NULL とか != NULL は良くやる。

ってか、文法似てるけど別の言語だからスレ違いだね。ごめん。

633 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 13:41:24 ]
ポインタは真偽値じゃないから書くのが普通だろう。

634 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 13:46:46 ]
>>629
個人的主観で言うならば日本語に直してスムーズに読める方を採用する
if(isHogeHoge()){} →もしHogeHogeならば(比較的素直に読める)
if(isHogeHoge() == true){} →もしHogeHogeが真ならば(いかいもプラグラム的)

635 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 14:31:32 ]
>>618
こう考えるんだelse if(!b)else assert false;
それは契約だと・・・・なんだって?到達不能だって?

636 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 14:33:19 ]
>>635
b が別スレッドから変更される可能性があるんだよ。たぶん。

637 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 15:07:02 ]
何という危険なプログラム!

638 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 15:48:14 ]
>>637
つ volatile

639 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 16:02:38 ]
いや、それ何の解決にもなりませんから。

640 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 16:23:51 ]
public class VolatileSolvesEverything {
private boolean 解決 = false;

/* 中略 */

if (解決) { /* 嘘やん(心の声) */} else { /* 到達不能ということにしたい */ }

}




641 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 16:29:53 ]
>>629
!を見落とすより間違った代入を見落とした方がバグとして痛いだろう

642 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 17:21:34 ]
if(true - true == 0)

643 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 17:32:37 ]
>>642
booleanは引き算できないってこと分かってる?

644 名前:デフォルトの名無しさん [2007/05/18(金) 18:02:16 ]
初心者の質問じゃないかもしれないけど、
どなたか教えてください。

ドメインaaaaa.comからbbbbb.com/へ、
リンクが貼られているかをチェックするプログラムを作りたいと思っています。

現在サイト運営していて、
相互リンク先から本当に自分のサイトにリンクされているのかを、
確認したいと思っているのですが、
リンク件数が1000件を超えているため、
プログラムでチェックしたいとおもっています。

Javaでなくてもいいのですが、
JSpiderというものがあるのを知り、
こちらにかきこませていただきました。

べつに言語はJavaに固執しているわけではありません。

参考になるサイトなどありましたら教えていただけないでしょうか。
どなたかお願いします。

645 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 19:47:43 ]
>>644
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=38472&forum=12&1

646 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:02:30 ]
>>644
パッシブな調査方法でいいのなら、
ログのリファラをチェックするのが一番確実だと思います。
それだと、相互リンク自体が有効かどうかチェックできるし
ネットワークトラフィックを発生させる事もありません。

1.相互リンクをお願いする
2.相手にリンク作ったら1回踏んで動いていることをチェックしてもらう
3.毎月(自分の納得する頻度で)ログをチェックする
4.相互リンクを結んでいる相手のリファラを持つアクセスが無い相手のみ目でチェック

これでOK.
1000件以上も単なるリンクチェックだけに回るのは
極めて非常にとても無駄です。

647 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:17:52 ]
俺は ! の後には必ず空白入れるようにしてる。
if(! b) みたいに、目立つように。

648 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:18:05 ]
>>644
q.hatena.ne.jp/1175700361

649 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:19:22 ]
>>644
hp.webnavisys.com/php/

650 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:20:03 ]
>>644
exp.webnavisys.com/tool/php0.html



651 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:25:57 ]
>>647
俺らは ! は必ず三つ並べるようにしてる。
if(!!!b) みたいに、目立つように。


652 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:35:36 ]
>>651
なにー!
くそー、じゃあオレは4つ並べちゃうぞ

653 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:39:33 ]
>>652
ちょw それヤバいwww

654 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:41:49 ]
>>652
だめじゃん

655 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:42:27 ]
>>653
ってか、3つや5つならオッケーなんだよな。
4つや6つ並べると負けってのは何か理不尽じゃね?

納得いかない奴の数→(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ry

656 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:48:07 ]
>>653

wを2つ並べるのも避けてるみたいですが、意図的ですか!!!ww1w!w!!ww


        というか
    _, ._   金曜の夜なのに
  (´・ω・)   くそレスが次から次へと…
  ○={=}〇,
   |:::::::::\, ', ´
、、、、し 、、、(((.@)ww意図的ですか!!!ww1w!w!!wwwbw!!ww



657 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:24:47 ]
>>638-639
結局、JSR-133って何が変わったんだっけ?

658 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:29:48 ]
!!! って流石に ! に最適化されるよね?

659 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:36:31 ]

  (´・ω・)   く あまり糞レス増やすなよー
  ○={=}〇,
   |:::::::::\, ', ´
、、、、し 、、、(((.@)!!! って流石に ! に最適化されるよね?

660 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:33:39 ]
!って1個じゃなくてもいいの!?



661 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:34:59 ]
!!?!

662 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:35:00 ]
>>660 単項演算子だからね。

663 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:35:44 ]
1++++---+--+++++-+-++-+2

664 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:42:10 ]
ああそうか2個あったらfalseの逆になるのか

665 名前:デフォルトの名無しさん [2007/05/19(土) 00:08:50 ]
>>645
>>646
>>648-650

ありがとうございます。
参考にさせてもらいます。

666 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:21:33 ]
>>663
構文エラーだね。

667 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:27:41 ]
1+ + + +- - -+- -+ + + + +-+-+ +-+2

668 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:30:44 ]
>>667
マジレスすると、Java では 1 ++ ++ -- + -- ++ ++ + - + - ++ - + 2 と区切られなければならない。

1++2 も同じ理由でコンパイルエラーになる。

669 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:32:35 ]
マイナスが一個足りないな

670 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 02:45:35 ]
ネットワーク対戦のゲームを作りたいのですが、
クライアントサイドにSwingをサーバサイドにサーブレットを使おうと考えています。
通信部分はどうしたらいいのでしょう。





671 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 02:51:40 ]
ServletならJakarta Commons HTTP Clientを使っとくのが楽かもね。

672 名前:670 mailto:sage [2007/05/19(土) 03:02:16 ]
>>671
ありがとうございます。
ググってみたのですがよくわかりません…
詳しく教えていただけないでしょうか?

673 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 03:39:51 ]
わからんのなら素直にSocketでも使っとけ。

674 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 05:43:23 ]
>>671
HTTPSでも問題ないですか?

675 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 05:45:14 ]
>>670
ttp://jakarta.apache.org/site/downloads/downloads_commons.html


676 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 06:17:14 ]
ttp://www.ipa.go.jp/security/awareness/vendor/programming/a03_04.html

このページにある、リスト2 InfoMenuクラスのソースなのですが、

10 public void dispMenu(Passwd pwd) {
11 if(pwd.checkPasswd() == true) {
12 dispSystem();

10行目の部分でPasswdクラスのオブジェクトを取ってくると記述されていますが、
PasswdクラスとinfoMenuクラスが親子関係という訳でもなく、
infoMenuクラスからPasswdオブジェクトを作っている記述もありません。

なぜ、dispMenu(Passwd pwd)だけで任意のPasswdオブジェクトが取得できるのでしょうか?

677 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 07:41:15 ]
>>676
> 10行目の部分でPasswdクラスのオブジェクトを取ってくると記述されていますが、

そんなこと書いてない。テキストを誤解している。


678 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 07:43:54 ]
>>676
「Passwdを取得する」ではなく「Passwaを引数とする」ではないの?

679 名前:676 mailto:sage [2007/05/19(土) 08:11:34 ]
そのとおりです、オブジェクトを引数として渡してるだけでしたorz

何故か初歩的なこと忘れてました。
「dispMenu(Passwd pwd)」って記述したら自動的に
「dispMenuに渡された引数がそのままPasswdに渡されて、尚且つpwdオブジェクトが生成される」とか
変なことばかり考えてまして。

ありがとうございました。

680 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 13:46:16 ]
注:str.java の操作は、未チェックまたは安全ではありません。
注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください
というエラーがコンパイルすると出るんですがなぜですか?
同じものを学校のPCでやってもでなかったのに



681 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 14:13:45 ]
>>680
javac -source 1.4 str.java
ってやってみ?
学校のコンパイラのバージョンは古いからエラーが出なかったんだ。

682 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 14:25:36 ]
>>681
できました!
ありがとうございます

683 名前:デフォルトの名無しさん [2007/05/19(土) 19:24:25 ]
ha= buf.readLine();

switch (ha.charAt(0)){
case'+':
kg=1;
case'-':
kg=2;
case'*':
kg=3;
case'/':
kg=4;
}

の部分に

Exception in thread "main" java.lang.NumberFormatException: For input string: "+"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at RinkouPractice4.main(RinkouPractice4.java:22)

ってエラーが出てコンパイルできるが実行できないんですが原因を教えてください

684 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 19:40:43 ]
>>683
とりあえずエラーが発生してる場所が違うな。

>at java.lang.Integer.parseInt(Unknown Source)
>at RinkouPractice4.main(RinkouPractice4.java:22)

まぁこれ見る限りreadLine()してきたデータそのままparseInt()に渡してるんだろうな

685 名前:デフォルトの名無しさん [2007/05/19(土) 20:41:46 ]
public static void main(String[] args)throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); //標準入力の準備
String ha,s1,s2,b1,b2;
int kg;
int si1,si2,bo1,bo2;
System.out.println("数値を入力"); //ユーザに入力を促す
s1=buf.readLine();
b1=buf.readLine();
si1 = Integer.parseInt(s1);
bo1 = Integer.parseInt(b1);
ha= buf.readLine();
s2=buf.readLine();
b2=buf.readLine();
si2 = Integer.parseInt(s2);
bo2 = Integer.parseInt(b2);
Kazu v1 = new Kazu(si1,bo1);
Kazu v2 = new Kazu(si2,bo2);
// Hantei h = new Hantei();
// kg = h.opr(ha.charAt(0));
kg=0;
switch (ha.charAt(0)){
case'+':
kg=1;
case'-':
kg=2;
case'*':
kg=3;
case'/':
kg=4;
}
なぜエラーが出るんですか?

686 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 21:17:08 ]
RinkouPractice4.javaの22行目どうなってる?
mainメソッドから数えて22行目じゃなくてファイルの頭から数えて22行目。
>si1 = Integer.parseInt(s1);
>bo1 = Integer.parseInt(b1);
>si2 = Integer.parseInt(s2);
>bo2 = Integer.parseInt(b2);
どれかのはずだけど…

んで、なんでエラーになるかというと、parseIntメソッドの仕様だから

>文字列の引数を符号付き 10 進数の整数型として構文解析します。
>文字列にある文字はすべて、10 進数でなければなりません。ただし、
> 1 番目の文字だけは、負の値を表すためにマイナス記号の ASCII 文字
>「-」(「\u002d」) であってもかまいません。

これに”+”付の数字渡せば
>Exception in thread "main" java.lang.NumberFormatException: For input string: "+"
となる、と。
入力データのチェック入れれば回避できるんでない?

687 名前:デフォルトの名無しさん [2007/05/19(土) 21:41:49 ]
20 s1=buf.readLine();
21 b1=buf.readLine();
22 si1 = Integer.parseInt(s1);
23 bo1 = Integer.parseInt(b1);
24 ha= buf.readLine();
25 s2=buf.readLine();
26 b2=buf.readLine();
27 si2 = Integer.parseInt(s2);
28 bo2 = Integer.parseInt(b2);
29
30 Kazu v1 = new Kazu(si1,bo1);
31 Kazu v2 = new Kazu(si2,bo2);

こうなってますが具体的にはどうすればよいのでしょうか?

688 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 23:01:22 ]
>>680-682
Generic使えよ

689 名前:デフォルトの名無しさん [2007/05/19(土) 23:53:00 ]
入力データのチェックって何ですか?

まだ出来ないんですが誰か助けてください

690 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:14:34 ]
J2EEのライブラリを書くときにServlet APIのインタフェースライブラリだけが欲しいんですが
これってTomcatとかから借りてきてそのまま配布してもいいんですか?



691 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:30:24 ]
>>689
readLineメソッドで読み込んだ文字列(変数ha以外)が数字又は一文字目が"-"以外だったら
エラー処理を行う(再入力させるもよし、Exception投げるもよし、問答無用でプログラム終了でも…)
要するにInteger#parseIntがちゃんと処理できる値が入力されていることを保証してやる
ユーザが作り手の意図した通りの入力してくれるとは限らないから入力チェックは必須。

692 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:59:45 ]
int readInt() throws EOFException {
 while(true) {
  String str = buf.readLine();
  if(str == null) { throw new EOFException(); }
  try { return Integer.parseInt(str); }
  catch(NumberFormatException e) {
   System.out.println("残念、もう一度");
  }
 }
}


693 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 02:11:35 ]
>>688
残念ながら1.4が本当のターゲットらしいんでgenericsを使っちゃコンパイルできなくなる。
別の所でそれより新しいバージョンでコンパイルして警告を出されて焦ったようだ。

694 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 04:08:12 ]
>>693
つ -source 1.5 -target jsr14

695 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 04:13:02 ]
WindowsでもLinuxでも動作する
USBポートに対する入出力を行うライブラリでオススメ教えてください

696 名前:デフォルトの名無しさん [2007/05/20(日) 04:23:35 ]
整数を任意に入力していき、0を入力したら最大値は何番目にでてきたか出力する
プログラムですが、たとえば
0>10
1>11
2>0
と入力すると、本来
1
と出力されてほしいのに、
1
1
と出力されてしまいます。
どこがおかしいのかご教授くださいmm


697 名前:697 [2007/05/20(日) 04:26:12 ]
import java.io.*;

public class enshu41b {
 public static void main(String[] args) throws Exception {
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  int[] a = new int[100];
  int count = 0;
  while(count < a.length) {
   System.out.print(count + "> ");
   int v = (new Integer(in.readLine())).intValue();
   if(v == 0) { break; }
   a[count] = v;
   ++count;
   }
  int max = a[0];
  int[] mn = new int[100];
  mn[0] = 0;
  int count2 = 0;
  for(int i = 1; i < count; ++i) {
   if( a[i] > max ) {
   max = a[i];
   count2 = 0;
   mn[count2] = i;
   }
  if( a[i] == max ) {
  ++count2;
  mn[count2] = i;
  }
 }
 for(int i = 0; i <= count2; ++i) {
 System.out.println(mn[i]);
 } } }

698 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 06:03:42 ]
>>695
jUSBを自分でwindowsに対応させる。

699 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 06:26:32 ]
>>694
これ便利だな
はたからthx

700 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 07:25:48 ]
>>696
境界条件を頭の中でシミュレート。わかんねーならトレース実行でもしろ。



701 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 08:35:25 ]
>>694
1.4でコンパイルするのが目的で1.5以上のコンパイラの機能は使えない
1.4の実行環境をターゲットにして1.5以上でコンパイルするんじゃないから
1.4のコンパイラしかない環境でコンパイルするにはそのオプションは空しい

702 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:17:59 ]
ObjectInputStreamのreadObject()でファイルを最後まで読みたいんですがどうもうまくいきません。
whileのところが今のままではjava.lang.Object と int は比較できません。というエラーがでます。
どなたか教えてください。

/**************** ファイルから入力 *****************/
List messages = new ArrayList();
try{
ObjectInputStream ois = new ObjectInputStream(
new FileInputStream( file ) );
Object obj;
// ファイルの終端に達するまで読み込む
while( ( obj = ois.readObject() ) != -1 ){
Map map = (Map) obj;
messages.add( map );
}
if( ois != null ) ois.close();
}
catch( Exception ex ){
ex.printStackTrace();
}
finally{
System.out.println( "end input" );
}

703 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:20:04 ]
whileの中の-1ってなんだ? 説明できるか?

704 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:24:28 ]
とりあえずclose()する前にflush()しとけ

705 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:28:07 ]
教える側も素人かよ^^;

>>702
とりあえずJavaDoc嫁。EOFを返すなどと何処に書いてある?
2chを辞書代わりに使うな、むしろ時間の無駄と分かるぞ。

706 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:31:41 ]
ObjectInputStreamのAPIドキュメントに
>>バイト単位の読み込みでは、バイトが読み込まれたときに -1 が返されます。プリミティブ読み込みでは、EOFException がスローされます。
こういうこと書いてたので-1が返るのかなと思ってました。
それじゃもっとよんでみます

707 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:39:57 ]
ああreadObjectはバイト単位でもプリミティブ単位でもないのかごめん

708 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:43:36 ]
>>700
どうしてそんな偉そうなんだ?

709 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:49:22 ]
>>708
逆ギレかよ、わかんねーならそれなりの態度があるだろうに

710 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 13:45:50 ]
2ch向いてねえな



711 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 16:04:19 ]
無職乙

712 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:22:35 ]
年数を入力して、うるう年と一般の年を判別後、月を入力して、
その月が何日あるかについてのプログラムを組んでみたのですが、

コンパイル問題が未解決です。
構文エラーがあります。"}" を挿入して MethodBody を完了してください。
構文エラーがあります。"}" を挿入して ClassBody を完了してください。

と出て実行できません。
最後の『 } 』の数は合っていると思うのですが、何故エラーが出ているのでしょうか?

713 名前:712 mailto:sage [2007/05/20(日) 17:23:51 ]
public static void main(String[] args) {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.println("今は何年ですか?");
String line=reader.readLine();
int year=Integer.parseInt(line);
if(year%4==0)
{
System.out.println(year +"年ですね。");
System.out.println("今月は何月ですか?");
line=reader.readLine();
int month=Integer.parseInt(line);

if(month==2){
System.out.println("2月の日数は28日です");
}else if(month==4 || month==6 || month==9 || month==11){
System.out.println(month +"月の日数は30日です");
}else if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
System.out.println(month +"月の日数は31日です");
}else{
System.out.println("月数の範囲を超えています");}

}

714 名前:712 mailto:sage [2007/05/20(日) 17:24:33 ]
else if(year%4!=0)
{

System.out.println(year +"年ですね。うるう年です。");
System.out.println("今月は何月ですか?");
line=reader.readLine();
int month2=Integer.parseInt(line);

if(month2==2){
System.out.println("2月の日数は29日です");
}else if(month2==4 || month2==6 || month2==9 || month2==11){
System.out.println(month2 +"月の日数は30日です");
}else if(month2==1 || month2==3 || month2==5 || month2==7 || month2==8 || month2==10 || month2==12){
System.out.println(month2 +"月の日数は31日です");
}else{
System.out.println("月数の範囲を超えています");}
}
}catch(IOException e){
System.out.println(e);
}catch(NumberFormatException e){
System.out.println("月に入力できる数は1〜12の実数です");}
}
  }
}

715 名前:712 mailto:sage [2007/05/20(日) 17:26:50 ]
開発環境はEclipsです

716 名前:712 mailto:sage [2007/05/20(日) 17:58:54 ]
あれ?なんだかよく分からないうちに自己解決しました。

何が問題だったんだろう……

717 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:23:19 ]
つ保存していない
つ余計な括弧がある

つ右クリック ⇒ ソース ⇒ フォーマット

718 名前:デフォルトの名無しさん [2007/05/20(日) 19:32:20 ]
宿題があるんですけど教えてください。

719 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:36:31 ]
>>718
スレ違い

★★ Java の宿題ここで答えます Part 61 ★★
pc11.2ch.net/test/read.cgi/tech/1179168569/

720 名前:デフォルトの名無しさん [2007/05/20(日) 22:51:05 ]
スタンドアロンプログラムをWindows上で動かし、
フォルダを指定しエクスプローラを開く、
といった処理をしたいんですが、なかなか情報が見つかりません。

なにか良い方法があれば教えてください。
ちなみにGUIはSWTを使用し作成しています。



721 名前:デフォルトの名無しさん [2007/05/20(日) 23:25:16 ]
>>720
質問が良くわからないんだけどSWTでエクスプローラーを作ったって事?
他にGUIが見当たらないんだが・・・。

722 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 23:42:14 ]
>>720
Runtime.exec(String command)
どう開くかは適当に。
cmd /c start ......
とか
support.microsoft.com/kb/152457/ja?FR=1&PA=1&SD=HSCH
とか
ところで >>603-608 のながれと関係あるの?

723 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 23:52:30 ]
javaやってる人ってオブジェクトとインスタンスって混ざって言ってるような
きがする、なんか違いあるの?

724 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 01:32:36 ]
クラス + インスタンス = オブジェクト


725 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 06:13:54 ]
オブジェクトという名前の基底クラスがあるから紛らわしい

726 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 11:47:38 ]
テキストファイルの内容の一部だけ削除したいんですけど
一回全部よみこむ→該当部分削除→書込み直す
っていう方法は思いついたんですけど、
効率悪い気がするんですが、ほかにいい方法ってないですか?

727 名前:デフォルトの名無しさん [2007/05/21(月) 12:08:54 ]
ResultSet型のオブジェクトに代入されている結果セットのレコード数を知りたいんですが、何かいいメソッドって用意されていますか?

728 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 12:19:33 ]
いまこのページ(↓)を読んでパッケージについて勉強してました。
ttp://www.ytp.ne.jp/tech/java/sineruka/classpathhowto.html

このページで言うところの C:\Source\Java\test\HelloWorld2.class に対して
C:\Source\Java\test>java HelloWorld2
と実行するのと
C:\Source\Java\test>java test.HelloWorld2
と実行するので結果に差がある(前者はエラーになる)ことは確認しましたが、
いまいち納得ができません。

ディレクトリ直下のHelloWorld2.classを直接指定するのと
CLASSPATHの下の\test\HelloWorld2.javaを指定するのとで
何が変わってくるのでしょうか?

729 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:04:27 ]
>>728
javaコマンドの引数に指定するのは、ファイル名ではなく
パッケージ名を含むクラス名(FQCN:完全修飾クラス名)であることに注意。

”java HelloWorld2”のコマンドは、
HelloWorld2.classを参照するよう指定しているのではなく、
クラスパスからHelloWorld2というFQCNのクラスを見つけて、
それを実行するよう指定している。
この場合、HelloWorld2のFQCNはtest.HelloWorld2なので、
該当するクラスがクラスパスにないためNoClassDefFoundErrorになる。

730 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:13:53 ]
>>728
補足。パッケージ名はclassファイル自体に埋め込まれるので、
HelloWorld2.classをC:\Source\javaに移動しても、
HelloWorld2のパッケージを移動したことにはならない。



731 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:53:20 ]
>>727
おまえはおれか


732 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 14:25:56 ]
まず訂正を。自分の書き込みを見てびっくりしたのですが、

>ディレクトリ直下のHelloWorld2.classを直接指定するのと
>CLASSPATHの下の\test\HelloWorld2.javaを指定するのとで

の2行目は\test\HelloWorld2.classのミスタイプです。

>>729
回答ありがとうございます。
.classファイルを探すのではなく、FQCNでクラスを探しに行くから
test.HelloWorld2は存在するけれどHelloWorld2なんていう物は
存在しないという事ですね。

>パッケージ名はclassファイル自体に埋め込まれるので、
>HelloWorld2.classをC:\Source\javaに移動しても、
>HelloWorld2のパッケージを移動したことにはならない。

これについてですが、試しにソースはいじらずに.javaファイルを
C:\Source\Javaへ移動し、Message→HelloWorld2の順にコンパイルしたところ、
Messageはコンパイルできたものの、HelloWorld2はパッケージotamesiが
見つけられずにコンパイルできませんでした。
また、普通にコンパイルしたHelloWorld2.classをC:\Source\Javaに移動して
java test.HelloWorld2 してみたら
Exception in thread "main" java.lang.NoClassDefFoundError: test/HelloWorld2
が出てしまいました。
「パッケージを移動したことにはならない」というのは
「単純にフォルダ移動してもパッケージ情報(?)は変わらないから
 パッケージと同名のフォルダに入れておかなければならない」
という意味でしょうか?

733 名前:728 mailto:sage [2007/05/21(月) 14:28:00 ]
名前入れ忘れ。。。
>>732>>728です。

734 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 14:53:29 ]
>>732
そういう意味でおk

735 名前:デフォルトの名無しさん [2007/05/21(月) 15:33:15 ]
>>731
結局API読みまくった結果、ResultSetを直でいじくりまわすのはやめて、
内部クラス作ってそれのpublic変数に結果セットの最終行までResultSet.getStringしてって
ArrayListのオブジェクトにつっこんでArrayListのオブジェクト.size()しました。
配列のサイズきめたくて結果セットの行数しりたかったんですけど、配列作るよりArrayListつかったほうが何かすっきりしました

736 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 17:14:08 ]
>>732
合ってるがもっと単純明解な前提条件があるぞ。
フォルダの移動はOSのオペレーション、パッケージの指定はjavaの仕様。
根本的、本質的にもこの二つはまったくの別物。
くっつけて考えてしまうならそこが"間違えて分からなくなってる"部分だ。
まずは問題の切り離しからだな。

737 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 17:52:51 ]
ネットワーク越し(現在使用しているのはRMI)にIterator的なオブジェクトを
渡して受け取り側が辿れるようにするには、各メソッド内で通信するよう自前で作るしかないのでしょうか。

738 名前:デフォルトの名無しさん [2007/05/21(月) 22:04:02 ]
Byte a[]={0,0,0,1};

をa[0]〜a[3]のバイト列をもつint型に変換する方法教えてください。

739 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:11:55 ]
a[0]<<24|a[1]<<16|a[2]<<8|a[3]

740 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:24:35 ]
すまんすまん
a[0]<<24|a[1]<<16&0xff0000|a[2]<<8&0xff00|a[3]&0xff
こうだ



741 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:36:31 ]
>>738
new DataInputStream(new java.io.ByteArrayInputStream(a)).readInt();
java.nio.ByteBuffer.wrap(a).getInt();

742 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:58:25 ]
>>727
適当なトランザクションレベルで select count(適当なカラム) from テーブル
という SQL を発行すればいいよ。リソースを消費を気にしないなら count(*) でも可。

743 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 23:10:41 ]
>>735
対策まで一緒だな
おまえはおれか

744 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 23:13:21 ]
>>737
質問の意図が良く分からんけど
org.JSON とか使うと解決するかもね

745 名前:デフォルトの名無しさん [2007/05/22(火) 00:55:41 ]
サーブレットでsubmitやセッションしたりしないでその画面のままテキストフォームから入力された値を取る方法ってありますか?


746 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:14:01 ]
セッション関係無くね?

747 名前:720 [2007/05/22(火) 01:24:15 ]
ご回答してくれた方ありがとうございました。

>>721
自分で作ったGUIからWindowsのエクスプローラを呼ぶには?
という質問でした。

結局JNI経由でWINAPIのShellExecuteを呼び出す形式で解決しました。
Webしかやったことない自分としては
GUIは妙に難しく感じます^^

748 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:25:57 ]
JavaScriptを使えばいい
フォームの入力チェックにも使われている

あー仕事がほしいー

749 名前:720 [2007/05/22(火) 01:29:44 ]
>>745
Submitしないという時点でクライアント側の処理になります。
サーブレットでの処理は無理です。
Javascriptが一番手っ取り早いのでは?


750 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:46:17 ]
>>745
言葉が意味わからんがsubmitなしではservletに渡すことは普通は無理

XMLHttpRequestを使えばできる(ブラウザー依存)
いわゆるAJAXだな




751 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 02:49:06 ]
>>745

Ajax

GWT


752 名前:デフォルトの名無しさん [2007/05/22(火) 05:56:30 ]
>>727
実は最初はそうしてたんですが、レコード数が膨大でcount(*)のリソースがどうしても気になって気になって、今の方法にしました。
>>743
もうステップ数を気にする時代ではないような気がしたので、リソースとのバランスを見ても、この方法がやはりベストなのかなと。
贅沢を言わせてもらうと>>727を読んだ時点で教えてもらいたかったです・・・



753 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 06:11:20 ]
>>752
ごめん
ほぼ同じペースで同じことやってるみたいなのでw

当初は ArrayList へ移し替えやってたんだけど
いろいろ事情があって
結局いまは ArrayList はやめて JSONArray に変更したんだけど
標準のコンテナ(Hash Map など)よりも意外と便利で病みつきになりそう


754 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 10:12:13 ]
>>744
ありがとうございます。
質問の意図が分かりづらかったようですみません。

ネットワーク越しにリストとなるデータを転送する際、コレクションや配列をそのまま渡すと
データが大量だった時にメモリを圧迫する可能性があるため、一気に渡すのではなく
少しずつ渡す必要があります。

そうするとIteratorのようなインタフェースから少しずつ取得できると理想ですから、
現在の私の状況であれば RMI 通信を隠蔽した Iterator 実装があると理想だったのですが、
見つけられなかったため質問しておりました。

JSONライブラリがこの背景と合っていたか不明ですが、少々調べてみます。

755 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:48:01 ]
>>754
その渡そうとしているデータは、まさかDBからのクエリ結果だったりはしないよね?

756 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:07:53 ]
なんでSunの命名規約はパッケージ名を全て小文字にすることになっているんですか?
longpackagenameのように長いと読みにくいです。
LongPackageNameの方がいいと思うのですが。

…とうちのリーダー(Java未経験)が仰ります。
どうすればいいでしょうか?

757 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:29:05 ]
>>756
long_package_name にするとか……

758 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:38:23 ]
大文字と小文字を区別する環境にも、そうでない環境にも同じように対応するためじゃね?
ディレクトリ名がHogeとhoge両方作れてしまうOSとか。

759 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:49:23 ]
>>756
どうぞご自由に。

それは厳密に規定された規約というよりガイドラインのはずです。
名前の衝突回避と読みやすさのために用意されています。

外部に公開するライブラリとかには止めた方がいいと思いますが
閉じたアプリケーションで、利用する分には害がないと思います。

が、自分の経験だけに基づいてプロジェクトに他の言語の流儀を持ち込むと
利用しているライブラリ等とずれるので、かえって汚くなってしまう可能性もあります。

In Rome, do as the Romans' do.

760 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:49:58 ]
>>755
いえ、Iteratorの開放がリソースを制御していることはありません。
外部ライブラリですが、外部ライブラリがそのまま持ってしまっていると言う
事もないようです。



761 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 19:07:45 ]
>>759
いまは仕様じゃなかったか?
ファイルシステムの都合で利用できない文字を含む場合はUnicodeエスケープしろって書いてなかった?

昔はクラス名もパッケージ名も単語の頭は大文字を推奨してたけどすぐ変わったよ。

762 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 02:03:44 ]
www.itmedia.co.jp/enterprise/articles/0608/25/news010_3.html
{"ResultSet":
{"type":"web",
"totalResultsAvailable":242000000,
"totalResultsReturned":3,
"firstResultPosition":1,
…略…,
"Result":[
{"Title":"Apple",
"Summary":"Macintosh hardware, software, and Internet tools. Offering Quicktime info, developer resources, and other items related to Apple computers.",
"Url":"http:\/\/www.apple.com\/",
…略…
},
{"Title"、"Summary"、など次の結果…},
…略…
}
}

763 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 02:14:56 ]
Eclipse使っている方いますか?

764 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 03:39:32 ]
むしろEclipseでないと無理。

765 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 03:56:02 ]
swingで一番上のJFrameでKeyEventを取ろうとしてもうまく取れません。
簡単なtoy programだとうまくいくのですが、panelをいくつか入れ子にしたものだと上手くいかない。
なにか理由が考えられるでしょうか? できればそこら辺を判り易く詳しく解説してあるサイトでも
教えていただければ幸いです。 あと、panelの上手な入れ子の仕方などの解説もあればうれしいです。
(ちゃんと表示されないこともあるので・・・)

766 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 04:15:33 ]
>>765
その入れ子にしてるコンポーネント階層とどういう実装してるか言わないと分かる訳ないだろう。
描画に関しては重量と軽量を混ぜてて軽量が正しく描画されないって話じゃなければ描画を破壊してるだけ。

767 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 04:36:38 ]
>>765
とりあえず>>403以降のやりとり見てみそ

768 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 10:02:04 ]
JTextPaneの幅や行数を指定するにはどうすればいいですか。
JTextAreaでは一部の文字色変更などができなかった為に乗り換えました。

769 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 10:08:39 ]
>>768
JTextPane では文字の大きさが変えられたりするから
列数とか行数ってのは意味無いんじゃないかと。

770 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 12:03:00 ]
なるほど、気がつきませんでした。
文字数で指定しても意味がありませんね。

私のプログラムは文字サイズが一意なので、JTextPane#setSize(int width, int height)
メソッドを使えばよさそうですが、うまくいきませんでした。
サイズを指定しても反映されません。
GridBagLayoutを使っているのでこれが原因かと思い、他のレイアウト
―FlowLayoutを試してみましたが、同じくダメでした。

JTextPaneの大きさを指定するにはどうすればよいでしょうか。



771 名前:770 mailto:sage [2007/05/23(水) 12:19:07 ]
解決しました。
JComponent.setPreferredSize(Dimension preferredSize)メソッドが期待通りの動作をしました。

772 名前:デフォルトの名無しさん [2007/05/23(水) 12:29:39 ]
インスタンスメソッドとクラス(静的)メソッドの使い分けがよくわかりません><
一言でいうと、どういうケースで使い分ければいいのでしょう?
インスタンス化の手間を考えなければ、
全部インスタンスメソッドでいいのでは?とか思ってる状態です。

773 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 13:10:10 ]
Eclipseのインストール時に書込みエラーと警告が出てしまうのですが、
どなたか解決方法を教えていただけないでしょうか?

774 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 13:38:15 ]
>>772
使い分けというか、具体的にどういう場面(ソース)でそう思ったとかを書いておくれ
>>773
PC初心者板へどうぞ

775 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 16:08:28 ]
RMIサーバを立ち上げ、普通にリモートメソッド呼び出しが可能な状態となるのですが、
RMIサーバをそのまま放っておくと数分後に以下のようなエラーが出てサーバが終了します。

java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused

数分後という原因がよく分かりません。何かのデフォルトのパラメータか何かに依存しているのでしょうか?
なお、RMIサーバを起動するのが Linux, Windows ともに発生していますので、
Windows独自のファイアウォールなどとも違うように思います。

776 名前:775 mailto:sage [2007/05/23(水) 16:22:21 ]
計測したところ1分で落ちてしまうようです。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/rmi/sunrmiproperties.html

を見るとデフォルト値が1分なのは

sun.rmi.transport.tcp.handshakeTimeout

ですが、クライアント側の設定のようですし、この値を設定してみても
やはり1分で落ちてしまいます。

777 名前:775 mailto:sage [2007/05/23(水) 16:30:22 ]
自己解決しました。恐らくGCで削除されてしまっていたようです。
参照を持たせていたつもりが実は出来ていませんでした。

778 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 19:13:04 ]
配列に10種類の文字を入れておいてランダムに3つ取り出したいです
ダブらないようにそういう制御させるにはどうしたらいいですか
エロい人教えてくださいorz

779 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 19:14:43 ]
色んなやりかたがあるけど
ランダムにシャッフルして
先頭の3つ取り出すとかどう?


780 名前:778 mailto:sage [2007/05/23(水) 19:16:20 ]
あぁ!!そういうやり方もあるんですね
でもどうランダムにシャッフルするのかわからないです・・・'A`



781 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 19:22:24 ]
>>780
blogs.sun.com/javaev/entry/%E4%BB%8A%E9%80%B1%E3%81%AE%E3%82%AF%E3%82%A4%E3%82%BA_4_again_%E3%82%B7%E3%83%A3%E3%83%83%E3%83%95%E3%83%AB
blogs.sun.com/javaev/entry/%E4%BB%8A%E9%80%B1%E3%81%AE%E3%82%AF%E3%82%A4%E3%82%BA_4_%E5%9B%9E%E7%AD%94%E7%B7%A8_%E3%82%B7%E3%83%A3%E3%83%83%E3%83%95%E3%83%AB

782 名前:デフォルトの名無しさん [2007/05/23(水) 20:23:40 ]
Runtime.exec()を使って他マシンのプロセスを生成する方法を教えてください。

783 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 21:00:32 ]
>>772
全部クラスメソッドにしようとしているなら考え直せとアドバイスするところだが、
全部インスタンスメソッドになるのは、クラスメソッドの必要性が出てくるまでは
放っておいてもいいんじゃないか。


784 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 21:53:15 ]
>>772
783の言うとおりだな。
全部インスタンスメソッドで、ほとんどの場合は問題ない。
インスタンス生成のコストがって言うアホがいたら、何回作れば0.1秒?と聞いてやれ。

クラスメソッドにする必要性があるケース。
そうだなぁ、基本ライブラリで言えばインスタンス生成系かね。
Integer.parseInt()とかCalendar.getInstance()とか。
後はユーティリティ系、Math.max() とか

785 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 23:38:03 ]
>>772
思いがけない仕様変更があったとき、
インスタンス生成の手間を惜しまずインスタンスメソッドにしておけば良かった、
と悔やむことはある。
逆は無い。


786 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 07:39:33 ]
漢字のJISコードをとるにはどうすればいいのでしょう?
getBytes("JIS")とかして取得すると
半角英数などは
ttp://ash.jp/code/
にあるようなコードがとれるんだけど
漢字だとマイナスの数値が取れたりしてうまくいかないんだけど・・・
どなたかご教授を

787 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 08:19:15 ]
>>786
「JISコード」とは何? 区点コードのこと?
ISO-2022-JP や Shift_JIS や EUC-JP での値?


788 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 08:24:04 ]
質問です。
class hogelist {
hogelist(int data) {
this.data = data;
}
public hogelist prev;
public hogelist next;
public final int data;
}
listのクラスなのですが、
hogelist(int data) {
this.data = data;
}
の部分はコンストラクタなのでしょうか?
修飾子はいらないのでしょうか?

789 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 08:27:22 ]
>>788
コンストラクタですね。
「class」のところと同じで、パッケージスコープなら
public/protected/privateはいらない。


790 名前:デフォルトの名無しさん [2007/05/24(木) 10:00:24 ]
package-privateと言って同一パッケージ内からのみ見えるアクセス修飾です。




791 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 10:28:34 ]
>>787
ttp://ash.jp/code/
にあるような
T → 54
試 → 3b 6e
のような変換がしたいんです。
半角文字は上記のような値が取れるんですが・・・



792 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 10:29:15 ]
>788
クラス名は大文字からはじめておけ。
class Hogelist {
Hogelist(int data) {
this.data = data;
}
んで、メソッド名は小文字ではじめる。
こうすれば、コンストラクタとメソッドとを混同しなくて済む。

って昔の人が考えたんですよ。名前の付け方のルール

793 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 10:38:03 ]
>>791
byte[] raw = "試".getBytes("ISO-2022-JP");
してから、raw の先頭に 0x1b があれば先頭3バイト除去、
raw の後ろから3バイト目が 0x1b だったら末尾3バイト除去、
とすれば2バイトだけ残って 0x3b と 0x6e になると思う。

Shift_JIS や EUC-JP の場合は、そのまま raw が2要素の配列になるは
ず。



794 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 10:40:39 ]
>漢字だとマイナスの数値が取れたりして
>漢字だとマイナスの数値が取れたりして
>漢字だとマイナスの数値が取れたりして
>漢字だとマイナスの数値が取れたりして



795 名前:デフォルトの名無しさん [2007/05/24(木) 12:02:37 ]
ど素人質問ですみません
JAVAって機械の制御に使えるんでしょうか


796 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 12:38:29 ]
javaチップって携帯電話に乗ってたっけ?

797 名前:デフォルトの名無しさん [2007/05/24(木) 13:30:39 ]
JAVAを使えるマイコンってありますか

798 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 14:44:41 ]
おまえらJavaOne行ってこい

799 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 14:47:37 ]
>>798
今年のJavaOneは もう終わりましたが

800 名前:デフォルトの名無しさん [2007/05/24(木) 18:17:51 ]
質問ッス

ResultSet rs=stmt.executeQuery(sql)
でResultSetの変数rsにsqlの結果を入れたわけですが、
中の列要素に大きなデータが入ってまして、あふれた分を切られてたわけです。

これは、どうやって解決すればいいんでしょうか?



801 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 18:48:17 ]
具体的にどの型のデータなの?

802 名前:800 [2007/05/24(木) 18:54:37 ]
String型です。最高で500文字はあるみたいで・・・

803 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 19:13:43 ]
>>798-799
半年ROMってから行ってくる

804 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 20:31:31 ]
>>802
いや、DBの種類とカラムの方の型が問題なんだと思われ。

805 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 21:00:31 ]
arraylistについて初心者でも分かりやすく
学べる解説サイトや本はないでしょうか?
知識としてはやさしいjavaを終わらせたレベルです。


806 名前:800 mailto:sage [2007/05/24(木) 21:34:16 ]
>>804
今はJDBC-ODBCブリッジ使って、TextDriverに接続してます。
データはCSVに格納している状態です。

で、解決策がひとつ見つかりました。
StatementのsetMaxFieldSize()メソッドを使えば・・・となってたんですが、
エラーが出て使えません。

もう、どうしたらいいんでしょうか。

807 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:29:49 ]
>>805
どこも一緒。
てか、やさしいJava読み終えるレベルってArrayListの解説すら読めないレベルなの?
そうだとしたら、別の入門書やった方がいいんじゃね?

808 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:38:12 ]
>>807
言い方が悪かったっす。
ArrayListというのが問題で急に出てきたんですが、
勉強するためによい参考書はないでしょうか?という意味です。

コンピュータ言語知識はJavaが初です。

809 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:44:52 ]
>>808
java.sun.com/j2se/1.5.0/ja/docs/ja/

810 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:51:45 ]
Introspectorについて詳しく書かれてるサイトか本はありますかね?



811 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:15:01 ]
>>810
調べちゃいないが IBM の デベロッパワークスあたりにありそうな気もするが。

www-06.ibm.com/jp/developerworks/java/

812 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:18:00 ]
>>810
基本だと思うけどbeansの仕様
java.sun.com/products/javabeans/docs/spec.html

813 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:21:40 ]
>>808
ttp://d.hatena.ne.jp/Strada/20070226

814 名前:デフォルトの名無しさん [2007/05/24(木) 23:22:59 ]
JDBCについて質問です。
ResultSet rs = stmt.executeQuery(sql);
としてデータベースのでーたをrsに格納した後で、
while(rs.next()){
で上から1行ずつデータを読んでいきます。

これって同じ行をもう一度読み込んだり、
途中でもう一回最初から読んだりってできるんですか?
一回
rs.close();
してからもう一度
rs.next();
を書いてみたのですがうまくいかなくて。

815 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:35:28 ]
>>812
基本なのですか・・・。
でも、全然そういったことを詳しく書いてるサイトや本がないのです。
あっても英語の本ばかりで。

816 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:39:04 ]
>>813
ありがとうございます。

817 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:45:12 ]
>>814
rs.relative(-1);
とか試してみたら?
closeはrsを使わなくなってからするもの。

818 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:47:47 ]
>>814
Statement を作る際、引数を持つ Connection#createStatement() の第1引数に
ResultSet.TYPE_SCROLL_SENSITIVE とかを与えれていれば、
ResultSet#next() だけでなく ResultSet#previous() や
ResultSet#first() や ResultSet#relative() が使えるようになる可能性がある。
でも、JDBC ドライバが対応していないこともある。


819 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:52:34 ]
>>807
やさしいjavaは確かに読めんな。三版持ってるが、C++との共通項くらいしか書かれてない。

820 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 02:54:27 ]
>>814
DBのカーソル作成モードを変えると
レスポンスが急激に悪くなることがあるし
>>818 さんが言うように互換性も無くなる
一旦自前のArrayListを構築しなおすなどしてから
操作してもいいと思う
でも一回最後まで読むから無駄が増えて
やっぱりレスポンスは落ちるかも
読みながらArrayListにも入れていって
戻るときはそっちを見るとか工夫してくれ



821 名前:デフォルトの名無しさん [2007/05/25(金) 09:49:50 ]
Java の GUI プログラムで、アイドル状態になったときの
イベントを受け取ることはできないかな。
MFC でいう CWinApp::OnIdle みたいなの。

822 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 10:42:17 ]
Idle状態ってなに?Focusを失ったとき?それならあるよ

823 名前:デフォルトの名無しさん [2007/05/25(金) 11:05:23 ]
そうじゃなくて、他に処理すべきイベントがなくなったとき。

824 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 13:41:11 ]
面倒くさいから処理させたいものをプライオリティ最低のスレッドで動かしちゃえ

825 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 17:07:10 ]
>>821
使ってるEventQueueでpeekEvent()がnullの時にアイドル時処理をするスレッドを使う。

826 名前:デフォルトの名無しさん [2007/05/25(金) 17:14:14 ]
文字列を指定した桁数ごとの文字列にして配列で返すみたいなことがやりたいです。
"aaabbbccc"を3桁って指定して["aaa","bbb","ccc"]みたいな。
forでがんばるしかない?

827 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 17:19:08 ]
whileとsubstrでがんばるのはどうかな?

828 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 17:24:43 ]
String s = "aaabbbccc";
String[] l = s.split("...");


829 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 17:31:45 ]
>>828
思いつきは悪くないけどそれは正しく動かない。
>>826
for (String s : "aaabbbcccd".split("(?<=\\G...)")) System.out.println(s);
でも、正規表現でアクロバティックなコードを書くのはお遊びとしては楽しいけれど、
>>827のいうようにsubstringで分けたほうが分かりやすいし正道だと思う。

830 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 17:39:08 ]
>>826
ほい。
余剰文字列は切り捨てられるので、それが嫌なら改造してね。

public String[] splitter( String in, int len ) {
String[] al = new String[ in.length()/len ];
int index = 0;
while ( in.length()>0 ) {
al[index] = in.substring(0,len);
in = in.substring(len);
++index;
}
return al;
}




831 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 17:45:38 ]
もし切り分ける長さを整数変数lenに入れてるなら、
"aaabbbcccd".split("(?<=\\G" + ".{" + len + "})")
みたく。

832 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 18:15:15 ]
>>829,>>831だと改行文字でマッチングが途切れるので、
改行文字も一文字とするなら、
"aaabbbc\nccd".split("(?s)(?<=\\G" + ".{" + len + "})")
こんな感じで。

>>830
元文字列のインスタンスを順次新規に作成するくらいなら、
int m = (in.length() - 1) / len;
String[] al = new String[m + 1];
int i = 0;
while (i < m) {
al[i] = in.substring(i * len, (i + 1) * len);
i++;
}
al[i] = in.substring(i * len);
return al;
とか。

833 名前:デフォルトの名無しさん [2007/05/25(金) 20:43:54 ]
任意の2つの座標を結ぶ線の太さを変えたいのですが、どのようにすればよいのですか?

834 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 20:55:40 ]
plot 1 lw 1, 2 lw 2, 3 lw 3, 4 lw 4, 5 lw 5, 6 lw 6

835 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 23:27:53 ]
>>833
((Graphics2D)g).setStroke(new BasicStroke(10));
g.drawLine(0, 0, 100, 100);

836 名前:デフォルトの名無しさん [2007/05/25(金) 23:58:27 ]
Javaでウィンドウズのペイントソフトのようなアプリを作りたいと考えています。
(マウスのドラッグ&ドロップでフリーハンドに線を引いたりできるソフト)
参考になるお勧めのサイトまたは本を知っている方がいたら教えてください。

あと、Javaは一つのアプリで複数のウィンドウを開くことはできますか?

837 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 00:08:32 ]
SWTとかのVisualEditorってもう開発してないの?
最後のリリースが1年くらい前…
CUIでJavaペコペコするのもマンネリしてきたからGUIもいじってみたい今日この頃
ちなみにJava暦1月位

838 名前:デフォルトの名無しさん [2007/05/26(土) 00:25:20 ]
質問です。
classファイルを元のソースファイルに戻すことはできるのですか?


839 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 00:32:37 ]
>>838
できるけど自分でできないなら諦めましょう。

定期的にコピペしたかのように来るなコレ。

840 名前:デフォルトの名無しさん [2007/05/26(土) 00:47:13 ]
>>835
すみません、Graphic2DクラスではなくてGraphicクラスで太さを変えることはできないのでしょうか?



841 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 01:16:37 ]
>>839
ほんと、定期的にコピペしたかのように来るなコレ。

>>838 ぐぐればよかろう。
過去ログ。
pc11.2ch.net/test/read.cgi/tech/1171787388/310

dat落ちしてるだろうからコピペしといたるわ。
−−−−
public class Quine {
public static void main(String[] args) {
char c=34;
System.out.println(s+c+s+c+';'+'}');
}
static String s
="public class Quine { public static void main(String[] args) { char c=34;System.out.println(s+c+s+c+';'+'}');}static String s=";
}

まず上記をQuine.javaという名前のjavaファイルにする。
そしてjavaファイルをコンパイルしてできたクラスファイルを java Quine.java で実行。
そうすると元のjavaファイルとほぼ同じものが得られる。
もっと完全に元のjavaファイルに戻したければQuine.javaを1行で書く。
(2ちゃんの書き込み制限があるから上では適宜改行した)
−−−−
だぜ?

まあ、マジレスすると、できる。だけど、自分でできないなら諦めましょう。

842 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 04:55:36 ]
RMIサーバを作り、サーバ上にあるファイルをストリーム経由でダウンロードさせる、
という場合、返す InputStream はどのようにすればいいのでしょうか? (標準クラスでは無理なのでしょうか?)

InputStream 派生で標準クラスにあるもの、たとえば FileInputStream などは
Serializable でないため、そのまま返すとエラーになります。

拡張して Serializable をつけても(当たり前なのですが)
引数なしのコンストラクタを持たないので、実行時にエラーとなります。

説明が難しいのですが、具体的にやりたいことは、

RMI サーバ
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29407
RMI クライアント
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29408

にて、RMI サーバの一番下、getFile メソッドで開いている FileInputStream 相当を
クライアントに返し、クライアントは read していける、という状態です。

843 名前:学生 [2007/05/26(土) 10:32:23 ]
今、プログラミングの勉強をしてるんですが、
この問題が分かりません。
教えてくださいm(__)m

フィボナッチ数列の初項から第50項までを表示するプログラムを作成せよ。
0,1,1,2,3,5,8,13,……
初項 F(1)=0
第2項 F(2)=1
第n項 F(n)=F(n-1)+F(n-2) ただし、n>2

844 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 10:33:44 ]
テンプレ埋めとけ

845 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 10:55:04 ]
つーかフィボナッチ数列がわかってないだけだろ。ググれ。

846 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 10:57:58 ]
>>843
学生なら図書館に行って
『JAVAプログラムクイックリファレンス(オライリー・ジャパン)』
って本を借りてきな。まんま解答載ってるよ。

847 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 12:20:17 ]
java.sun.com/javase/ja/6/download.html
にて、JDK 6u1をダウンロードしてインストールしたいのですが、

Notice: We're Offline for System Upgrades

とでてダウンロードできません。これはこちらの環境が悪いのでしょうか・・・?

848 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 12:31:16 ]
classの中にもう1つclassを作るのと、
classの外にもう1つclassを作る違いがわかんね
ややこしさからして後者の方が良い気がするが、どなたか軽く教えてくだされ

>>847
翻訳するまでもないと思うけど、もう1度文章全部読んでみて下さい

849 名前:848 mailto:sage [2007/05/26(土) 12:36:46 ]
あー俺アホだ、自己解決しました

850 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 12:39:14 ]
>>843
ほい。

public class fibo {
public static void main(String[] args) {
fibo t = new fibo();
}
private static int MAX_COUNT = 50;
public fibo() {
long i=0, j=1, k=0;
int count=0;
System.out.print(i+","+j+",");
for ( ; count<MAX_COUNT; ++count ) {
k = i + j;
System.out.print(k+",");
i = j;
j = k;
}
}
}




851 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 12:48:31 ]
ソース渡すってのは宿題スレじゃないのか

852 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 13:34:46 ]
>>848
なるほど、そういう事なんですね。
解消されるまで待つしかないと・・・

853 名前:842 mailto:sage [2007/05/26(土) 14:41:59 ]
>>851
自分のことですかね。すみません。宿題スレで聞いてみます。

854 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 14:48:45 ]
>>853
まてまて
>>850 で答えが貼られているぞ


855 名前:デフォルトの名無しさん [2007/05/26(土) 14:57:41 ]
猛烈に初心者ですが、よろしくお願いします。
ページが読み込まれたら行かせたい場所に飛ばすのは、
↓で良いそうなんですが、
こんな感じで読み込まれて10秒後に飛ばすようにするのはどうすればいいですか?
<script language="javascript">
<!--
var doit=true;
function exit(){
if (doit) open("行かせたい場所アドレス")
}
// -->
</script>
<body onload="exit()">

856 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 14:58:38 ]
板ちがい
Javaですらない


857 名前:855 mailto:sage [2007/05/26(土) 15:10:49 ]
javascriptってあるからjavaすれでいいのかと思って書き込んじゃいました
ごめんなさい。


858 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 15:19:04 ]
ServletRequestの属性値はSerializableである必要はありますか?
セッションでないのでレプリケーションは関係ないですよね?

859 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 15:19:09 ]
わざとだろ
釣りだろ?

860 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 16:34:22 ]
>>848
>classの中にもう1つclassを作るのと、
>classの外にもう1つclassを作る違いがわかんね

(1) static でないインナークラスの場合
class A {
 class B {

A のインスタンス a の中でのみ
B のインスタンス b を作れるが、
内側の b から外側の a を参照することが可能。

class A {
 void doA() { B b = new B(); } // OK
 static void doA() { B b = new B(); } // NG

 int field;
 class B {
  int doB() { return A.this.field; } // OK, 名前の衝突がない限り、"A.this" は不要

(2) static なインナークラスの場合
class A {
 static class B {

はっきり言って別々のクラスとかわんね



861 名前:842 mailto:sage [2007/05/26(土) 18:05:52 ]
>>854
むむ、これは>>843さんへの答えですよね。
>>851が私への指摘と勘違いしました…

862 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:20:59 ]
Javaで作られたアプリケーションは、JREなしで実行することはできませんか?

863 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 21:29:33 ]
gcj
まあ、libgcj.dllがJREだとでもいえるけど

864 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 21:31:54 ]
>>862
基本的に無理。応用的には標準JDK 使わずに gcj とか Excelsior JET みたいな
AOTコンパイラを使えばできるけど、実行ファイルのサイズはでかくなる。

865 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 22:16:14 ]
>>863,864
そうですか。まぁそのためにはCや何かで書くしかありませんよね。ありがとうございました。

866 名前:デフォルトの名無しさん [2007/05/26(土) 22:33:44 ]
java.sun.com/j2se/1.5.0/ja/download.html
でJDK 5 をダウンロードしようとしたら「Fatal Error」と出てダウンロードできません。
他にダウンロードできるサイトとか知りませんか?


867 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 22:37:35 ]
うちのコピーしてく?

868 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 22:40:16 ]
JREを埋め込んでexeつくるソフトって知ってますか?

869 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 23:01:27 ]
>>868 JETとかgcjとかじゃなくてSunのJREをうんぬんするやつは知らない。
でも環境をWindows固定にするならEXEにこだわるより、Windowsの流儀でJREを
インストールしたりスタートメニューやデスクトップに起動用のアイコン登録
したりするインストーラーを作った方がユーザにやさしいんじゃないかと思う。
おれはこの手のパッケージャとしてNSISを使ってる。

そうじゃなくてAOTに幻想を抱いているならあきらめたほうがいい。以前
gcj以外のIBMやJETといった商用AOTのベンチマークとったけど速度的なメリットはない。

870 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 23:29:39 ]
JDKがダウンロード出来ないのですが、これは最近ずっとなのでしょうか?



871 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:04:05 ]
明らかにトラブってるな

ubuntuとかならパッケージであるが、他はわからん


872 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:17:46 ]
俺は今朝JDK 6u1をダウンロードしたところ。
俺の「最近ずっと」の定義(一日以上)からすると最近ずっとではない。
けど、今見たら確かに FATAL ERRORとか出てるね。

1.4.2u14/1.5.0u11/6u1のwindows-i586-pなら持ってるけど、
再配布っていいんだっけ?

873 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:25:30 ]
6なら大丈夫だと思うが、確認方法がわからん

874 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:44:38 ]
>>873
java.sun.com/javase/faqs.jsp#Licensing
Redistribution: Both the JDK and JRE can be freely redistributed with value-add (per terms of the BCL).

875 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 06:37:29 ]
あまりこの状況が続くとJREにウィルス組み込まれて再配布されそうだな


876 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 13:53:13 ]
ダウンロード出来ねぇ・・・orz

877 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 13:57:14 ]
開発環境だけってならEclipseでも落とせば?

878 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 14:07:19 ]
>>877
特定環境でトラブるからってOSから入れ直したのでJREすらないorz


879 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 14:11:41 ]
>>878
Windows でJava5.0 でいいか?

880 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 14:14:51 ]
>>879 mjd? もちろんok



881 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 14:23:40 ]
>>880
ttp://www10.axfc.net/uploader/11/so/N11_10136.exe.html
キーワードは java

882 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 14:34:21 ]
JREならここで落とせるんじゃない?
www.java.com/ja/download/

883 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 14:34:25 ]
>>881 神に大感謝

884 名前:デフォルトの名無しさん [2007/05/27(日) 14:50:09 ]
d.hatena.ne.jp/kazama/20041207/p1
ここのコードをjavaにしたらどんなふううになりますか?

885 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:11:45 ]
>>884
エロゲかよw

886 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:45:20 ]
kzk9.net/blog/2007/01/thread_base_mapreduce.html
すまんこっちだ

887 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:21:14 ]
現在のシステム日付を取得して画面表示するにはどういったソースを書けばいい?
誰か教えてください。

888 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:35:53 ]
現在のシステム日時を取得して画面に表示し続けるソース

final java.util.Date date = new Date();
while (true) {
 date.setTime(System.currentTimeMillis());
 System.out.println(date);
}

889 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:36:55 ]
>>888
少しくらい待ってやれよw

890 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:37:36 ]
import java.util.Date;
import java.text.DateFormat;

public class DiplayDate{
public static void main(String[] a){

Date dt = new Date();
DateFormat dfm = DateFormat.getDateTimeInstance();

System.out.println(dfm.format(dt));
}
}



891 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:45:05 ]
素数判定プログラムを組んだのですが、エラーが出て動きません。でも、デバッグしてみるとfor文が回っていないようです。どう改善すればよいでしょうか?


public static void main(String[] args) {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.println("数を入力してください");
String line=reader.readLine();
int meth=Integer.parseInt(line);

if(meth<=1){
System.out.println("入力された数字"+meth+"は素数ではありません");
}else{

int cnt=0;
for (int i=0; i<=meth; i++)
{
if(meth%i==0)
{
cnt++;
}
}

892 名前:891 mailto:sage [2007/05/27(日) 17:45:46 ]
if(cnt==2){
System.out.println("入力された数字"+meth+"は素数です");
}else{
System.out.println("入力された数字"+meth+"は素数ではありません");
}

}
}

catch(IOException e){
System.out.println(e);
}catch(NumberFormatException e){
System.out.println("数字に入力できるのは実数です");
}

893 名前:デフォルトの名無しさん [2007/05/27(日) 17:48:02 ]
JAVAで困っているんですけど…
平均点以下の人の人数ってどうやって出すんですか?
public static void main(String[] args)
{

int Wt[] ={45,59,98,60,78,54,90,30,50,67};


int sum = 0;
for (int k=0; k<=9;k++)
{
sum = sum+Wt[k] ;
}
int average_Wt = sum/10;

System.out.println("平均="+average_Wt);


ここまでできたのですが…

894 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:53:26 ]
基準が得られたんだから、もう一回回せばいいじゃない。
あとここは宿題スレじゃないよ。

895 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:53:44 ]
>>891

for (int i=0; i<=meth; i++)

for (int i=1; i<=meth; i++)


896 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:54:49 ]
>>891
for (int i=1; i<=meth; i++)
デバッグする余地も無い

897 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:57:22 ]
>>893
念を押しとくがそんなもんで宿題スレになんか行くなよw

898 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:57:44 ]
>>894
出来れば1回のループで判断してしまいたいのです

899 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:58:01 ]
>>895-896

とんでもない見落としでした。ありがとうございます!

900 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:58:17 ]
コンパイル時の「シンボルが見つけられません」っていうエラーはどういう意味ですか?



901 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:58:48 ]
>>898
むり

902 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 18:04:26 ]
>>900
プログラムに書かれているシンボルをコンパイラが理解できなかった時に出るエラー
パッケージ名とかクラス名とかメソッド名とか変数名とかがたぶん間違っている
importしていないとか完全名でないとかでクラス名が解決してないんじゃないの?
もしくは定義していないクラスや変数を使った

903 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 18:06:46 ]
>>やくざさん
平均を得た後に、得られた平均と各データを比較して
"以下"の数をカウントするしかない。一回では無理。
俺が未知の何かを使って実現できたとしても、逆に複雑になる予感。


あとは、配列の中身はともかく1, 0以外の定数は(ry

int Wt[] ={45,59,98,60,78,54,90,30,50,67};
int sum = 0;
for (int k=Wt.length -1; k>=0; k--) { 
 sum += Wt[k];
}
int average_Wt = sum / Wt.length;
System.out.println("平均="+average_Wt);

904 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 18:08:59 ]
Bツリーとか構築して
格納しながら平均出してけば
ループは1回で済むかもね

905 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 19:03:07 ]
>>890
ありがとう

import java.util.Date;
import java.text.DateFormat;

public class DiplayDate{
public static void main(String[] a){

Date dt = new Date();
DateFormat dfm = DateFormat.getDateTimeInstance();

System.out.println(dfm.format(dt));
}
}

import java.text.DateFormat; をimport java.text.SimpleDateFormat;にしたい場合、ソースは変えればいい?

906 名前:905 mailto:sage [2007/05/27(日) 19:04:37 ]
ソースは変えればいい?

訂正
ソースはどう変えればいい?


907 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:02:57 ]
>>906
せめて、
SimpleDateFormat dfm = new SimpleDateFormat();
とでも打つってくらいはしろよ。

この手の連中が自分の給料とほとんど大差ない金貰ってると思うと反吐が出る。

908 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:14:39 ]
>>906
バカは手と頭を動かさない
>>907
厨学生の小遣い程度しかもらってないのか?
それはもう転職する!

909 名前:デフォルトの名無しさん [2007/05/27(日) 20:22:46 ]
初心者です。
分岐条件のwhile文あたりまで進んだ者です。
「繰り返し実行する」の条件で
i++;

i+2;
とかにできないもんでしょうか?


課題で

2
4
6

と表示せよ
といった問題がでて困ってます。
どなたか教えてくれないでしょうか?



910 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:26:19 ]
2 足せばいいじゃん。



911 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:35:38 ]
下記の作業で例えば10を入力すれば1〜0までが表示されますよね?
この表示結果が縦に1〜0が表示されるのですが、改行せずに横に1〜0までを表示させるためにはどう改善すればいいのでしょうか?

try
{
       System.out.println("数を入力してください");
String line=reader.readLine();
int x=Integer.parseInt(line);

for(int i=1; i<=x; i++){
System.out.println(i%10);}}

912 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:37:18 ]
あえていうならi+=2とかか?

913 名前:909 mailto:sage [2007/05/27(日) 20:37:39 ]
>>910
こんな、感じのコード書いてみたんですけど
 class Kadai01{
  public static void main(String[]args){
  int i;
  i=2;
  while (i<7);
  System.out.println(i+"回目繰り返す");
  i+2;
  }
 }



i++;

i+2;
にしたらコンパイルエラーがでるんですけど。

914 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:38:27 ]
println の ln は line の略。
ということは・・・。

915 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:41:30 ]
>>914
tnks

916 名前:909 [2007/05/27(日) 20:47:50 ]
>>912
ありがとうございました!!!


917 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:48:34 ]
>>913
頼むから開発会社に就職はしないでくれよ。
あと1冊くらい簡単な本読んでくれ。

i = i + 2;

918 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:49:02 ]
>>913
代入とか演算子とかわかってるか?

int a = 1 ;
System.out.println(a) ;
System.out.println(a+1) ;
System.out.println(a) ;
System.out.println(a++) ;
System.out.println(a) ;

ってやってみ

919 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 21:53:01 ]
スレとは関係ないけど素数判定はルートNまででOK

920 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 21:59:36 ]
ルートNまででOKな理由は数学的センスないと解らないから、N/2まででいいと思う。
NがN/2より大きい数で割れないことくらいは解るからw



921 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 22:39:41 ]
>>920
センス要らないだろ、ルートNって…

922 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 22:52:06 ]
>>921
OK,ならば3行で説明してくれ

923 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 22:56:31 ]
Nを合成数と仮定すると、Nは少なくとも約数を2つ以上持つ。
Nの約数を2つ選び、pとqとすると、明らかにp*q <= Nである。
これより、p、qの少なくとも一方はルートNより小さい(大きいと上の不等式が成り立たない)

924 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:05:19 ]
一般人の平均レベルからすると>>923が言えるのは数学的センスがある方だと思うぜ

925 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:10:02 ]
>>923
センスあると思う。

926 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:17:36 ]
>>923
いや、手放しで素晴らしいと思う。
でも、そう答えられるのは数学センスだと思われw

数学的センスのない人は、「〜と仮定すると、」から出てこないから。

927 名前:デフォルトの名無しさん [2007/05/27(日) 23:18:38 ]
Javaの発音はJava(↓)なんですか?Java(↑)なんですか?


928 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:21:22 ]
>>923の前提って教科書かなんかで見た事あるぞ。

929 名前:デフォルトの名無しさん [2007/05/27(日) 23:23:11 ]
>>928
そりゃどこの教科書にも呪文のように載っているし、証明方法なんて一緒だもの。

930 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:25:18 ]
>>928
4分でかけるのが素晴らしい



931 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:27:20 ]
>>923
合成数24の約数である6と8を考える
6*8 = 42 > 24 となるため、明らかに p*q <= N でない

932 名前:931 mailto:sage [2007/05/27(日) 23:30:17 ]
すま、途中送信
つまり、pとqの条件はNの任意の約数じゃなくてp*q = Nとなるような数、ってこと

933 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:33:23 ]
ちょっと待てよ。
するってえと約数てのは何なんだ?
わからなくなってきた。

934 名前:デフォルトの名無しさん [2007/05/27(日) 23:41:27 ]
>>932
いんや、この場合はpとqを約数と限定して問題ない。
何故ならば、合成数と仮定した場合にpとqのどちらもルートN以下の約数であることが証明できればいいから。

935 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:54:04 ]
不備があった
N=p*q*r (p,q >= 2, r >= 1)
と読み替えてくれ

936 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:55:00 ]
つーかスレ違いなのでここまで

JDK6u1ほしーよーOTZ

937 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:58:27 ]
>>934
本質を読め
約数に限定することが問題なんじゃなくて、任意の約数であることが問題なんだよ
それを許すと931のような反例が出る

合成数ならば自身の約数の積として表せる
このことをN = p*q (p <= q)とおくと、pが取りうる最大の値はp = qであるようなp
このとき N = p*p ⇔ √N = p となり、√Nまで調べれば合成数かどうか判断できる

スレ違いなんでここまでに

938 名前:937 mailto:sage [2007/05/27(日) 23:59:45 ]
>>937
リロードしろとあれほど(ry

939 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:59:48 ]
同じものを掛けてNになる正数aよりも大きい自然数pでNが割り切れるなら、
q=N/pでもNを割り切ることができ、qはaよりも小さい自然数になる。
つまりNを割り切る自然数は、a以下の自然数の範囲を全て探せば、
aより大きいものはNを探し出したもので割ることで全て得ることができ、
全てを網羅することができる。

940 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:00:46 ]
おまいら、やっぱセンスあるって



941 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:01:35 ]
それより野球しようぜ

942 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:04:01 ]
扇子と野球でリロード大会スレ。

943 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:05:38 ]
>>939
その「同じものを掛けてNになる正数a」こそNの正の平方根 √Nってことか。

944 名前:デフォルトの名無しさん [2007/05/28(月) 00:07:51 ]
誰かセッター/ゲッターを分かりやすく解説して。本読んだけど今一分からん

945 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:12:33 ]
投手の放ったボールを打つのがバッター(打者)。
放たれた飛球を捕ったのは偶々センター(中堅)。

946 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:13:21 ]
      ボコ ☆
 ( o・-・)っ―[] /  
[ ̄ ̄ ̄] (´・ω・`)>>945


947 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:14:18 ]
public byte n; というクラスメンバがあるとする。
これは -128 〜 127 までの値をとるよね?
でもそのクラスは実はテストの点数クラスで、
byte を 0 〜 100 の間でしか取れないようにしなくてはいけない。

よって、private byte score; と、アクセスレベルを絞って、
setScoreというセッターで 0 〜 100 までしか、その値をとらないようにする。
ゲッターってのは、一般には単に隠蔽された変数をダイレクトに返すだけ。
getScore() { return score; }

こういうのをカプセル化という。ごめん、これが限界w

948 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:23:56 ]
ゲッターは隠蔽された変数をそのまま返すとせっかくのカプセル化が破壊される場合があるので注意。
>>947の場合のような基本型とかイミュータブルな参照型はたぶん大丈夫だが、
そうでない場合は変数そのものではなく、そのコピーを返すようにした方がよい。
でないと、セッターを介しないで隠蔽されたデータを変更できる抜け道を作ることになる。

949 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:39:08 ]
たとえプログラムが異常終了しようと、一貫性を守ったまま死ぬぜ!
という武士の志のがカプセル化の一面

void setScore(int score) {
 if(score < 0 || 100 < score) {
  thorw IllegalArgumentException();

暴走して一見正しそうな間違った計算結果を出したり
データを壊されるよりは、
プログラムが異常終了する方が1000万倍まし

950 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:44:31 ]
nullを持ったらおかしいようなクラスで
参照型の変数のセッターではnullだったらnull例外を出す

それをしないと全然違うところ(その変数使おうとしたところ)で
ぬるぽ起こして死ぬ

そしてどこでnullであったかを調べるのが大変



951 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 01:19:22 ]
>>944
JavaBeansにはプロパティという概念がある

たとえば、PersonというクラスにStringのnameというプロパティがそのクラスにあるとする

ここでJavaBeansの約束事として、
nameというプロパティを読み出すのはgetName()
書き込むのはsetName(String value)
ということが決まっている

だから、setName(String value)がなければ、
リードオンリーのプロパティになる
場合によっては書き込み禁止でエラー出ることもある

で、
ゲッターとは値を取得するメソッド(getName)を指し
セッターとは値を設定するメソッド(setName(String))を指す

952 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 06:39:41 ]
それはbeanプロパティのアクセッサの話だろ。
そんな後付け仕様の事を聞いてるんじゃなくてプログラミング言語一般に通じる
ゲッタとセッタの意義がわからないって話じゃね?

カプセル化という概念があって自分が持つ情報には外から自由に触らせないためにryって感じに答えた方が良いかと。

953 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 07:23:47 ]
>>952
ならお前が(ry
…というのは置いておこう。


メソッドにしとけば処理を挟める。するとどうなるか?
って視点で考えるといいよ。

…と俺からはこの程度のアドバイスにしておくわ

954 名前:デフォルトの名無しさん [2007/05/28(月) 09:40:24 ]
よろしくお願い致します。

アプリケーションサーバーのGlassFishをリモートのLinuxで起動して、
管理画面、Webアプリなどは動作が確認できたのですが、
スタートアップ時に表示される中の

Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
[service:jmx.rmi://jndi/rmi://www.xxx.com:8686/jmxrmi]

として出るURL(service:jmx.....jmxrmi)を指定して、JConsoleでの接続を試
みましたが、

--接続に失敗しました:再試行しますか?--

と出て、これがどうしてもつながりません。


IDとパスワードは、4848ポートの管理画面と同じものを入力しています。
ブラウザから、www.xxx.com:8686/にアクセスすると白い画面が
出るので、ポートへの接続自体は問題ないと思われます。また、念のため、
こちら側のファイアウォールも切っています。

サーバー:
Linux
Sun Java System Application Server Platform Edition 9.0
JDK1.6

クライアント:
WindowsXP
JDK1.6

です。何か、思い当たられることがありましたらご教授頂ければ幸いに思います。

955 名前:954 [2007/05/28(月) 09:59:23 ]
一応、
java.sun.com/j2se/1.5.0/docs/guide/management/faq.html#linux1
も見て、
hostname -iは127.0.0.1ではなく、
また、
/sbin/iptables --listでも
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8686
と表示されております。重ね重ねですみません。

956 名前:デフォルトの名無しさん [2007/05/28(月) 15:40:36 ]
<html>
途中省略
<a href="xxxxx">AB1</a>
<a href="xxxxx">AB2</a>
<a href="xxxxx">AB3</a>

</html>


957 名前:デフォルトの名無しさん [2007/05/28(月) 15:45:16 ]
す・・・すいません。キーボードがおかしくなってしまって、書きかけが投稿されてしまいました。
<html>
途中省略
<a href="xxxx1">AB1</a>
<a href="xxxx2">AB2</a>
<a href="xxxx1">AB3</a>
</html>
というhtmlからAB1の<aタグのリンク("xxxx1")を取得するにはどうしたらよいでしょうか。
getElementsByTagName("a")で<aタグの列挙はできたのですが、AB1であることを調べる方法がわかりません。


958 名前:デフォルトの名無しさん [2007/05/28(月) 15:52:02 ]
例えば
if(time==20){//2秒の時
  face._rotation -= 30;//faceの角度を-30
righthand._rotation -= 20;//righthandの角度を-20
lefthand._rotation -= 10;//lefthandの角度を-10
rightfoot._rotation +=5;//rightfootの角度を+5
leftfoot._rotation -=4;//leftfootの角度を-4

というような物をテキストファイルからStringで読み込んだとして
rocationの部分だけをrotと書き変えてif(time==20){//2秒の時
  face._rot -= 30;//faceの角度を-30
righthand._rot -= 20;//righthandの角度を-20
lefthand._rot -= 10;//lefthandの角度を-10
rightfoot._rot +=5;//rightfootの角度を+5
leftfoot._rot -=4;//leftfootの角度を-4

と出力するようにするにはどうすればよいのでしょうか?

959 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 18:15:19 ]
>>958
単純に全てのrotationをrotに置き換えたいのなら
置き換え後文字列 = 置き換え前文字列.replaceAll("rotation", "rot");

960 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 18:30:13 ]
>>957
質問がメソッド名だけで情報が少ないから当てずっぽう
aエレメントが取れたら、その最初の子ノードがAB1とかAB2とかのテキストノード
aElement.getFirstChild()でたぶん取れる
そのノードの文字列そのものはNode#getNodeValue()でいけるはず



961 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 19:56:53 ]
コマンドプロンプトを開いたらC:\Documents and Settings\〜になっているのですが
このデフォルトのパスを変更するにはどうやったらいいんでしょう?
javaファイルをCドライブのjavaフォルダに入れていて開くたびにcd C:\javaと打って
毎回変更しているのですが面倒なので開いたらC:\javaの状態になっているようにしたいです。

962 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 20:11:30 ]
>>961
コマンドプロンプトのショートカットでC:\javaを作業フォルダに設定して
おけばよい。(プロパティのショートカットタブに「作業フォルダ」の欄がある)。

スレちがい、いたちがいだから。これ以上の質問は受け付けません。
>>1を読め


963 名前:デフォルトの名無しさん [2007/05/28(月) 21:03:55 ]
簡単な質問です。java初心者なのでお許しを。

javaを開発するためには何を入手すればいいのでしょうか。
sunのページには何度かいったのですが、どこからダウンロードすればいいかわかりません。
どなたかご教授お願いします。

964 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:10:52 ]
>>963
jdkか、jreを入れた環境でeclipseを使うか…
java.sun.com/javase/downloads/index.jsp

あと「初心者なので」とかいう免罪符は掲げないほうが心証いいよ

965 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:10:56 ]
javaで開発する、ってことだよな?
いきなりsunに行かずに、「基礎」「入門」あたりのキーワードで検索
よさそうなページをみつけて、そこの手順に沿ってダウンロードすればいい

966 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:11:45 ]
>>963
ttp://java.sun.com/javase/ja/6/download.html
JDK6u1

Wiki嫁って>>1差そうとしたけど、Wiki今、混み合ってて見れないって。
取りあえず、教授してやったぞ、ほーれー

# ついでに「教授」についてもググっときなさい

967 名前:デフォルトの名無しさん [2007/05/28(月) 21:20:06 ]
public class H {
public static String func(String arg) {
return arg;
}
}

public T {
public static String func(String arg) {
String dest = arg;
return dest;
}
}
って違いがあるのでしょうか。スレッドセーフかの視点でみて。

968 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:22:19 ]
                ,-,,,,、                    ,-,,,,_
       ,,,,,,,、    ,,,,,,_゙'-,. "'i、       .,,,,,,,、    ,,,,,,,゙'-、^'i、    .i,¬ー-、
       ゙''i、`\   \.`''-\,,l゙       `'i、 `''i、   ‘'-,`''-\,,l゙     ^'i、 ,)
       丿 ,l,_,,,,,,,― |i、 }         丿 Z_,,,,,,-ヘヽ、゙l        | .|      __
      ,/ ,,-----=@,,,7゙"`        ,/ ,,-----=@,,,)゙″           | |   .,,-'",,,,,,、`'i、
     ,/`./    / 丿             / .,/`   ,l゙ 丿       |゙ヽ,,,―" `゙'ュ‐゙_,/゛  |  |
    .,/.,,/`    /` 丿         ,/ ,/    ,/ 丿          \,,,,-‐,!  '`,/    .|  l゙
  ,,-",,/    丿 ,i´           ,/_,/    丿 ,i´           丿 ,,,i´     ,!  |
 i彡‐"     ,/` ,/`           ィ,ン'"     / ./              ,/  .|       |  |
        ,,i´ ./                ,,‐`./            ,/`.,┤ |       |  |    ./゙|
      .,/ .,/                   ,/ .,/            / 丿 | .|      { {   .,/ ,l゙
     ,,/ ,/`               ,,/ ,/`            / ,、゙'-,| l゙         |  }, ._/.ノ
  _,/゙,,/゛                  _,/゙,,/゛              l゙ .,/`\  |       ヽ,_ ゙"゛,,/
  (ン'"゛                 (ン'"゛                `″  ゙l 丿        `゙゙゙゙゛


969 名前:963 [2007/05/28(月) 21:33:15 ]
有り難うございました。
皆さんのおかげで解決できました。

970 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:37:21 ]
>>968
ぐぐる用語でも教えてください。
スタックフレームクラス遣えばなんとか実験できそうなんですが、試行錯誤中



971 名前:webmaster@気まぐれアナスイ mailto:192.168.0.1 [2007/05/28(月) 21:50:47 ]
>>968
   {???}
    ζ
     !(+Φ_Φ)つ√ζ
    +⊂. + 〆∂   {Ж}
    "〆∂∂
   〆〆
  .:"



972 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 22:06:14 BE:165087735-2BP(100)]
>>967
下のは余計な事やってるだけ

973 名前:デフォルトの名無しさん [2007/05/28(月) 22:12:51 ]
javaで共有メモリの使い方ってどうやってやるのでしょうか。

974 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 22:16:02 ]
無いからメモリマップドファイルで代用して。

975 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 22:27:30 ]
Javaの発音はJava(↓)なんですか?Java(↑)なんですか?

976 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 22:30:12 ]
Javaだね、Java (=ω=.)

977 名前:デフォルトの名無しさん [2007/05/28(月) 23:19:00 ]
/*<APPLET CODE="GUI.class" WIDTH=500 HEIGHT=500>
</APPLET>
*/
の数値を変えてもアプレットビューアの大きさが変わらないのはなぜですか?

978 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 23:21:10 ]
スレとは関係ないけど素数判定はルートNまででOK

979 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 23:29:41 ]
>>967
後半は、クラス定義がないから動かんな。

は、さておき。

String dest は、最適化で削られる可能性ないか?

980 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 23:46:21 ]
Java始めた初心者ですが、質問です

Java について言及しているサイト等で
クラスSomeClass のメソッドsomeMethod を表すのに
SomeClass#someMethod
という書き方をしているのを何回か見かけました

これはJavaで標準に用いられている表現なのでしょうか
それとも(オブジェクト指向の)言語一般に用いられているもの
あるいは他言語でよく使われる表現を、そのサイトの執筆者がたまたま用いたものなのでしょうか?

メンバ変数someField、メソッドsomeMethod があるとして
それらを示すのにJavaで標準的に用いられている表現がありましたら教えてください



981 名前:デフォルトの名無しさん [2007/05/29(火) 00:10:58 ]
>>979
最適化で削られるも考えないでください><
staticメソッドはクラスで一つって言葉の解釈の仕方がよく分からないのです。
スレッドA,B二つあって、Aが関数をfunc("A");として実行後、仮引数がString destに格納された所でBスレッドがfunc("B")を実行した場合、
いったいstaticメソッドの中はどうなってるの?ってのがイメージ出来ない。
Cでいう関数がstaticメソッドにあたるもの考えていたので、関数はヒープ上にあり、引数はスタックに詰まれる(引数は参照)っていうのもあっていれば、
Aスレッドが実行終わる頃には、Bスレッド実行によってfunc内のdest変数は"B"となって処理される?
この手のクラスTの扱いがだめならservlet全部だめになっちゃいますんで、「マルチスレッドで問題なし」なんでしょうが、
動作イメージが湧かない。
この二つのサイトって正しい情報なんですかね?staticなメソッドについては言及ないようですが・・・
www.nextindex.net/java/perform/storage.html
segroup.fujitsu.com/sdas/technology/web-apl/05-servlet-container.html

982 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 00:20:33 ]
>>980
Javaの標準ではあるが、他の言語では見ないね。
そういう表記法が一般的になった理由は、javadocのリンクがどういうURLになっているかを見れば分かる。
まあ、とりあえず見て。
ttp://java.sun.com/javase/ja/6/docs/ja/api/index.html

983 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 00:40:42 ]
>>982
レスありがとうございます

「#」が用いられるのは、単にURLの #フラグメント の部分をそのまま
受け継いだ影響ということでしょうか

説明する変数/メソッドの種類や特性によって、何かしらの表記のルールが
あるのかと思っていました

ありがとうございました

984 名前:967 mailto:sage [2007/05/29(火) 00:52:57 ]
スタック型のアーキテクト?と呼ぶのですかね、それを勉強しつつ、なんとなーく理解してきました。
まだ論理的にな説明もで傷、・テストコードさえ実装してないですが、
以下のサイトが役に立ったので、はっときます。(勝ってな引用なので一応リンク外す)
変なこと言ってるよ!ってサイトがあれば内容と訂正をこのレスでお願いします><
ttp://java-house.jp/ml/archive/j-h-b/037778.html#body
ttp://www.pro.or.jp/~fuji/mybooks/cpro/cpro.4.5.1.html


985 名前:967 mailto:sage [2007/05/29(火) 00:56:33 ]
すんまそん。あとこれも
i.loveruby.net/ja/rhg/book/thread.html

986 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 00:58:32 ]
>>981
>最適化で削られるも考えないでください><
無意味。コンパイラやVMによってガンガン削られる

>staticメソッドはクラスで一つって言葉の解釈の仕方がよく分からないのです。
インスタンスを幾つ作っても共有されるってこと

>関数はヒープ上にあり
わけわかめ

>引数はスタックに詰まれる
OK

>func内のdest変数は"B"となって処理される?
わけわかめ


987 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 01:10:28 ]
>>983
インスタンスメソッドでは#を使ってクラスメソッドでは.を使うもんらしい。

>>982
Rubyも#を使っている。

988 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 01:51:58 ]
>>987
javadocの慣習で言えば、どっちも#だけど。
#の右側にインスタンスメソッドorフィールドでも関係なしにクラス名がくるぐらいで。

989 名前:デフォルトの名無しさん [2007/05/29(火) 05:17:10 ]
現在、大学で情報系の学部に在籍している者です。
夏休みにソフトウェアを作っている会社でインターンシップをしようと思い、使われている言語がJavaという事で、
プログラミングのクラス、自分でやさしいJavaという本を読んでで基本は学んだのですが、会社の方から見せてもらった
サンプルコード(実際に作られているソフトのサンプルコード)と自分で勉強した範囲を
遥かに凌駕している内容で、正直あせっています。

入門書のレベルから実際にプロの方々が書いているコードのレベルに到達するには、
どのように勉強をしていけば良いのでしょうか?

990 名前:デフォルトの名無しさん [2007/05/29(火) 05:18:13 ]
現在、大学で情報系の学部に在籍している者です。
夏休みにソフトウェアを作っている会社でインターンシップをしようと思い、使われている言語がJavaという事で、
プログラミングのクラス、自分でやさしいJavaという本を読んでで基本は学んだのですが、会社の方から見せてもらった
サンプルコード(実際に作られているソフトのサンプルコード)と自分で勉強した範囲を
遥かに凌駕している内容で、正直あせっています。

入門書のレベルから実際にプロの方々が書いているコードのレベルに到達するには、
どのように勉強をしていけば良いのでしょうか?



991 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 05:42:28 ]
散々既出だけどやさしいJavaは役に立たない。
あれはプログラムを全く知らない素人がちょっと触れるようになる為の本。
入門書以前と考えるべき。

まずは入門書をやる。
Core Java、Head First Java、独習Javaあたりがよく勧められる。
分量的にも内容的にもヌルい本じゃないけど、このあたりを1冊終わらせたならば、入門レベルを卒業と言えるんじゃないかね。

やさしいJava氏ねよ

992 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 06:49:58 ]
>>990
つか、情報系の学部に行く前にいくつかの言語に精通してるのが
普通なんだが。

993 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 08:18:49 ]
>>992
それを言ったらもう手遅れってことじゃないですかw

>>989-990
そんなことはどうでもよくて
入門書を読んでる間はいつまでも入門者

他人が書いたソースを読んでデバッグできれば一人前

君はいち早くそれに気付いたのだからむしろ幸運だよ
とにかく色んなソースを読み・書きまくる

まだ若いんだから焦る必要はない


994 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 08:23:32 ]
>>987
> インスタンスメソッドでは#を使ってクラスメソッドでは.を使うもんらしい。 
これは初耳。へー。
情報源を是非教えて頂きたい。

>>990
勉強してるうちは文法、言語仕様と、Javaならオブジェクト指向をしっかり
頭に叩き込んでおけば大丈夫。
それには自信があるなら、あとの違いは知ってるクラスの量かな。
言語学っぽくいうなら語彙量ってやつ。
こればっかりは経験がモノをいうので、色々作りまくってください。

ちなみに俺が最初に買ったJavaの本はEffective Javaでした…

995 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 08:52:03 ]
>>994
Ruby

996 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 08:53:02 ]
>>990
Jakarta Commons の本とかひととおり見るといいよ


997 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 11:52:27 ]
>>983
javadocに関してはURLやURIのフラグメントから来ている。
一般的なアクセス演算子としては上に上がった通り。

>>992
最近の情報系は>>990みたいな奴ばっかでPL使えるのは少ないよ。
情報系なのにPC系雑誌読むか、PCの話したらヲタ扱いされたって伝奇もある。
中にはマイコン制御とか、組み込みとか、ドライバ自作とか、生粋のギークも居るが絶滅危惧種だね。
そういう連中は実力にあった場所に、それぞれ散っていくので存在自体が霞だよ。
今の情報系とか専門生はギークとのコネはないしね。

まあ、手遅れってのは笑い事じゃないんだが。

998 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 12:34:04 ]
> PCの話したらヲタ扱い
笑い話にならんな、マジで。

とは言え、会社でも休日に勉強とかしている方が少数派だし、雑談で技術の話を振るとヲタ扱いされるわけだもんな。


999 名前:デフォルトの名無しさん [2007/05/29(火) 14:11:54 ]
コンパイルして実行すると、
Exception in thread "main" java.lang.ArrayIndexOutOfBounds:0
というエラーが出るんですが、これはどういうことでしょうか?

1000 名前:999 mailto:sage [2007/05/29(火) 14:16:12 ]
すみません。自己解決しました・・。



1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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