【初心者】Java質問・相談スレッド101【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/04/30(月) 22:10:53質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド100【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1175317038
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/
次スレは>>980あたりで。
0002デフォルトの名無しさん
2007/04/30(月) 22:28:500003デフォルトの名無しさん
2007/04/30(月) 22:40:10if文の中で宣言の指定をすると「シンボルを見つけられません」といわれて
コンパイルできません。
最初の段階で宣言すればいいのですが、なぜif中に宣言したらいけないのでしょうか?
誰か教えてもらえると助かります。
0004デフォルトの名無しさん
2007/04/30(月) 22:42:54いけなくない。
if () { A }
B
Aでする宣言は有効。ただし、Bではその変数は見えない。
0005デフォルトの名無しさん
2007/04/30(月) 22:55:29あー
なんとなくわかりました。
ありがとうございます。
0006デフォルトの名無しさん
2007/05/01(火) 03:09:15あまり出来ない人でも使えるようにActionScrip和訳辞書のようなイメージでシステム
を作りたいと思っています。ユーザーがイベントやそのイベントが起きたときの処理などを
日本語であらかじめ設定されたライブラリから選択すればそのままソースがデータベースから
読み出されアウトプットされるようなものを作りたいのです。
どのように作ればよいのでしょうか?
何か開発に使えそうなソフトなどないでしょうか?
本当に困っています。誰か助けてください
0007デフォルトの名無しさん
2007/05/01(火) 04:06:32public 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の結果になりました
0008デフォルトの名無しさん
2007/05/01(火) 04:20:34うん
あんたの解釈で合ってる
0009デフォルトの名無しさん
2007/05/01(火) 04:46:47ありがとうございます
ちょうど今日SJC-P受けるのでその前にすっきりできました\(^o^)/
0010デフォルトの名無しさん
2007/05/01(火) 06:36:430011デフォルトの名無しさん
2007/05/01(火) 08:59:250012デフォルトの名無しさん
2007/05/01(火) 09:04:31曜日を取得
0013デフォルトの名無しさん
2007/05/01(火) 09:22:49次は?
0014デフォルトの名無しさん
2007/05/01(火) 09:30:08祝日を管理するプログラム
0015デフォルトの名無しさん
2007/05/01(火) 10:00:30成人の日と体育の日は第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))
振替休日
まんどくせ( ̄σ‥ ̄)
0016デフォルトの名無しさん
2007/05/01(火) 10:46:19・指定された年月に対する一ヶ月分のカレンダーをGUI上に表示する
・土日祝祭日は色分けすること。
・年月の指定範囲は1970年1月〜2099年12月とする
・祝祭日は過去にさかのぼると平日だったりするので(海の日とか天皇誕生日とか…)その辺も考慮する。
・将来的に祝祭日の追加に対応できるようにする。
・余力があればこれを元にスケジュール帳を作ってみる。
これだけやればGWの暇つぶしになるじゃろ
0017デフォルトの名無しさん
2007/05/01(火) 10:47:05いつ天皇が逝っても対応できるように和暦の即時追加とか
はぁ〜、和暦とかハッピーマンデーをどっかのサーバーで一元管理してくれればいいのにな
0018デフォルトの名無しさん
2007/05/01(火) 10:49:54( ̄σ‥ ̄)
0019デフォルトの名無しさん
2007/05/01(火) 11:04:40このクライアントアプリでJava版があるんだよ
これを自分の考えたアルゴリズムで打つように組んで遊んでるよ。
このアルゴリズムがすげー弱い・・・。
0020デフォルトの名無しさん
2007/05/01(火) 11:36:43テキストエリアにjの回数分、ランダムに出力したいのですが、
どうも一番最後の処理だけが出力されてしまいます。
どこがおかしいか教えて頂けないでしょうか?
for(j = 1; j <= cnt; j++){
m = "role" + j + " = " + Math.round(Math.random()*10) + ",";
document.form1.result.value = m;
}
0021デフォルトの名無しさん
2007/05/01(火) 11:41:39スレ違い
0022デフォルトの名無しさん
2007/05/01(火) 11:45:15すいません。
0023デフォルトの名無しさん
2007/05/01(火) 11:53:15002421
2007/05/01(火) 11:54:00本当だ、JavaScriptってないんだな。
Web制作板に結構あるからそっちでどうだろう?
0025デフォルトの名無しさん
2007/05/01(火) 12:16:21SimpleDateFormat使うんだろうけどわかりませn
0026デフォルトの名無しさん
2007/05/01(火) 12:24:07どういう文字列にしたい?
2000年10月10日 10時10分
2000/10/10 10:10
などなど具体的に
っていうかAPIは読んだ?
0027デフォルトの名無しさん
2007/05/01(火) 12:30:321.時刻のフォーマット
1.日付と時刻の両方のフォーマット
1.パターン文字によるフォーマット
があるお
0028デフォルトの名無しさん
2007/05/01(火) 12:33:33API読みました!が、わかりません;;
2000/10/10(Dateクラス)をテキストフィールドに表示させたいんですが、
その場合Stringにしなきゃですよね?しかし方法がわかりません;;
0029デフォルトの名無しさん
2007/05/01(火) 12:41:18sdf.format(new Date(time));
0030デフォルトの名無しさん
2007/05/01(火) 12:43:450031デフォルトの名無しさん
2007/05/01(火) 13:56:18できればfreeがよいです。
windows、macで変わりますか?
0032デフォルトの名無しさん
2007/05/01(火) 15:02:07Javaをはじめたばかりなんですが
Eclipseなどの開発環境をいきなり入れるべきか
まずはエディタ+JDKの王道でやっておくべきか
どちらの方がおすすめでしょうか?
0033デフォルトの名無しさん
2007/05/01(火) 15:09:05どっちでも自分がいいと思った方を選べばいいよ
自分の感性を信じるんだ
0034デフォルトの名無しさん
2007/05/01(火) 15:10:10それでも敢えて言うなら、IDEから始めた方が良いと思う。この方が馴染みやすい。
ただ、ある程度Javaに慣れてきたら、エディタ+JDKでの開発にもふれておくべき。
IDEの後ろで何が起きているかは知ってて損はない。
0035デフォルトの名無しさん
2007/05/01(火) 15:30:58003632
2007/05/01(火) 15:55:09「どちらが良いかは人それぞれ」なんですね。
かなり乱暴なイメージとしては、初心者がウェブサイトを作るのに
メモ帳で手打ちしていくかホームページビルダーを使うか、
といった感じなんでしょうか。
ものの本を何冊か読んでみたところ、
エディタ+JDKが大前提で書かれてるものばかりだったので、
初めから統合開発環境に手を出すのはご法度なのかと思っていましたが、
そうとも限らないんですね。
簡単なコーディングをいくつかエディタで書いてみてから
統合開発環境も触ってみようと思います。
レスありがとうございました。
0037デフォルトの名無しさん
2007/05/01(火) 16:36:21無料なんだから全部試してから決めれば?
0038デフォルトの名無しさん
2007/05/01(火) 17:10:42関数を使うとき微妙に違う処理なんだけど引数に渡すものもない場合
どう呼び出すんでしょうか?
例えばtextshow1関数とtextshow2関数って分けずに
textshow関数で引数を渡すと思うんですが、
textfield1と2で違うだけって場合とか。
文字列を渡してやればいいのでしょうか?スマートでない気もします。
0039デフォルトの名無しさん
2007/05/01(火) 17:22:20HTTPのクライアントを書いていて、
以下のようにテキスト入力用の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()を使えば一応
問題ないのですが、こちらのメソッドは非推奨らしいので出来れば使いたくありません。
この二つをうまく共生させる方法はありませんか?よろしくお願いします。
0040デフォルトの名無しさん
2007/05/01(火) 17:22:42何が違うのか具体的、かつ詳細に。
っつか、何が問題なのかもよくわからんし、
面倒だから自分の気が済むようにすればいいんじゃね? とか思わなくもない。
0041デフォルトの名無しさん
2007/05/01(火) 17:58:03> この二つをうまく共生させる方法はありませんか?
\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 とか使った方が良いような気もする。
0042デフォルトの名無しさん
2007/05/01(火) 19:00:22↓みたいなことがしたいってこと?
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);
0043デフォルトの名無しさん
2007/05/01(火) 20:24:220044デフォルトの名無しさん
2007/05/01(火) 20:32:16貴様、朝4時頃にカキコしてたやつだろ。
朝っぱらから受けるんだなぁと思ってたら、こんな時間まで…
0045デフォルトの名無しさん
2007/05/01(火) 20:35:39帰りにショッピングしてたよ\(^o^)/
0046デフォルトの名無しさん
2007/05/01(火) 20:59:530047デフォルトの名無しさん
2007/05/01(火) 21:30:32こんな感じです。
<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から始まるアドレスを入れて表示させています。
警告文を表示させないで実行したいのですがどうすればいいか教えてください。
0048デフォルトの名無しさん
2007/05/01(火) 21:35:250049デフォルトの名無しさん
2007/05/01(火) 21:39:210050デフォルトの名無しさん
2007/05/01(火) 21:43:22どういうことかというと、↓みたいなことをアプレットでもできるか?という意味です。
class A{
public static void main(String[] args){
B();
}
public static void B(){
C;
}
}
0051デフォルトの名無しさん
2007/05/01(火) 21:51:58メソッド呼び出してるようにしか見えないんだけど。
参照ってどこにあんの?
0052デフォルトの名無しさん
2007/05/01(火) 21:53:49「Methodオブジェクトを取得して何かする」という意味になりそうだが
たぶん違うな。
0053デフォルトの名無しさん
2007/05/01(火) 21:53:580054デフォルトの名無しさん
2007/05/01(火) 21:58:58なんでメソッド呼び出しが できなくなるって思うんだ?
0055デフォルトの名無しさん
2007/05/01(火) 22:03:10drawlineを含んでるからかな。
0056デフォルトの名無しさん
2007/05/01(火) 22:10:02呼ばれておらずなにも起こらないのか、
コンパイル自体ができないのか、
いろいろ可能性があって回答不能。
0057デフォルトの名無しさん
2007/05/01(火) 22:11:58とりあえず、ソース全部晒せ。
コンパイルエラーか実行時エラー出てるなら、それも全部。
0058デフォルトの名無しさん
2007/05/01(火) 22:14:570059デフォルトの名無しさん
2007/05/01(火) 22:47:12なるほど!
うまくいきました。
>java.net.HttpURLConnection
こんなクラスあったんですね・・・検討したいと思います。
ありがとうございました。
0060デフォルトの名無しさん
2007/05/01(火) 23:29:070061デフォルトの名無しさん
2007/05/01(火) 23:30:080062デフォルトの名無しさん
2007/05/02(水) 00:09:17入力した誕生日に対して現在の日付を基準に年を求めるメソッドを
作りたいのですが、どのメソッドをどのように使ったらいいかわかりません・・・(´・ω・`)
どなたか教えてください(´・ω・`)
0063デフォルトの名無しさん
2007/05/02(水) 00:18:03現在日付は取れるのか?
四則演算は出来るのか?
誕生日入力ってのはmainのパラメータで渡すのか?
何が出来ないんだ?
出来る事と出来ない事を分けて書いてくれ
0064デフォルトの名無しさん
2007/05/02(水) 00:36:58中身はよくないと思うが参考にはなるだろう
ttp://forum.java.sun.com/thread.jspa?threadID=685608&messageID=4021491
つまり
java.util.Calendar
java.util.Date
だ
0065デフォルトの名無しさん
2007/05/02(水) 00:59:38java初心者なのですが、
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となってしまいます。
どうすれば余りも含めて表示することができるのでしょうか?
0066デフォルトの名無しさん
2007/05/02(水) 01:01:570067デフォルトの名無しさん
2007/05/02(水) 01:09:400068デフォルトの名無しさん
2007/05/02(水) 01:14:57(double)int / (double)int = double
0069デフォルトの名無しさん
2007/05/02(水) 08:33:030070デフォルトの名無しさん
2007/05/02(水) 09:44:47商と剰余を同時に計算することはできないので、それぞれやる計算する
がある。ところで、doubleでの余りってどういうものを期待している?
0071デフォルトの名無しさん
2007/05/02(水) 10:14:401.↑↓(吉幾三の『よし』に近いイントネーション)
2.↓→(和田アキ子の『わだ』に近いイントネーション)
どっちなんでしょうか?
0072デフォルトの名無しさん
2007/05/02(水) 10:17:20ジャヴァ、ジャヴァ、ジャヴァ、ジャヴァ
0073デフォルトの名無しさん
2007/05/02(水) 10:19:06xlsファイルをCSVファイルに変換するJAVAプログラムなんて
あるのぉ??
(σ´Д`)JExcelApi使ったけどリファレンスが全部英語でわかんねぇ
007565
2007/05/02(水) 10:27:00わかりました。
わざわざありがとうございます。
007672
2007/05/02(水) 10:43:05いや、あの…ネタだったのに、ごめんorz
個人的には『わだ』式。
元々英語なんだから日本語にした時の発音なんてそれぞれじゃね?
0077デフォルトの名無しさん
2007/05/02(水) 10:47:33つーか、ExelでCSV保存しなおすことができるよね
007871
2007/05/02(水) 11:20:43あ、ネタだったんですか・・・。
でも、分かる人には四声で表現した方が伝わりやすいですね。
>元々英語なんだから日本語にした時の発音なんてそれぞれじゃね?
それもそうなんですが、例えばWordとかExcelとかだと第1声に近い感じのが主流ですよね。
Javaにもそういう主流の発音があるのかなぁ、と思ったので。
どうでも良いと言えば、どうでも良いんですけど
以前、Word、Excelの発音が第4声に近い感じの人が
「WordとExcelぐらいできますよ〜」と自身満々に言ってた割りに全然使えなくて
「使い慣れてる人はあんな発音しないよな・・・」みたいな印象をみんな持ってたので
ソフトの発音と言えどもバカにはならないな、と思ってたんですよね。
もし主流の発音があるのなら今のうちにそっちにしとこうと思って質問したんですが、
って、ものすごく長くなってすみません。
発音気にする前にワニの本読みます。
0079デフォルトの名無しさん
2007/05/02(水) 11:28:47( c == 'A' )
がアザラシに見えてきます。どうすれば良いんでしょうか?
0080デフォルトの名無しさん
2007/05/02(水) 12:32:24定数を定義する。これで'A'がメソッドの中に現れることはない。例えばこう。
public static char ^ω^ = 'A';
0081デフォルトの名無しさん
2007/05/02(水) 12:52:350082デフォルトの名無しさん
2007/05/02(水) 13:04:250083デフォルトの名無しさん
2007/05/02(水) 13:09:33>>29あたり見れ
0084デフォルトの名無しさん
2007/05/02(水) 13:12:28ありがとうございます!
0085デフォルトの名無しさん
2007/05/02(水) 13:12:35くせる え
どっちとも読むと思われ。
0086デフォルトの名無しさん
2007/05/02(水) 14:06:48( c == ^ω^ )
どう見ても、アザラシです。ありがとうございました。
008782
2007/05/02(水) 14:27:47StringにYYYY/MM/ddの形で文字列が入ってることが前提だとどうすればいいでしょう?
0088デフォルトの名無しさん
2007/05/02(水) 16:41:51あのなぁ>>29が回答だなんて誰も言ってないだろ?
ある程度ヒントが出てるんだからクラス名使って自分で調べろよ。
その上で何が分からないのかを聞けよ。
もしも自分なりに調べた上で質問してるなら
何を何処まで調べて、何が分からないんだ?
0089デフォルトの名無しさん
2007/05/02(水) 16:48:52http://java.sun.com/javase/ja/6/docs/ja/api/java/text/DateFormat.html#parse(java.lang.String)
http://java.sun.com/javase/ja/6/docs/ja/api/java/text/SimpleDateFormat.html#parse(java.lang.String,%20java.text.ParsePosition)
0090デフォルトの名無しさん
2007/05/02(水) 21:05:17csvファイルに変換したいのだが・・・。
どうしてもcsv変換後は前と(セルの中身)配置が違う。
どうしたらいいんだ〜!誰か・・エレガントなロジックをおしえてくれぇぇ!!
読み込みにはPOIを使用してます。
0091デフォルトの名無しさん
2007/05/02(水) 21:11:410092デフォルトの名無しさん
2007/05/02(水) 22:14:41何か手軽にデバッグできるようなのありませんか?
C(win32api)ではダイアログボックスがすごく便利でしたが、
それに相当するようなものないかなーと
0093デフォルトの名無しさん
2007/05/02(水) 22:18:46javax.swing.JOptionPane#showMessageDialog とか?
素直にNetBeansとかEclipseみたいなIDEの
付属のデバッガ使った方が良いような気もするけど。
0094デフォルトの名無しさん
2007/05/02(水) 22:45:58なぜか付属のデバッガのことを忘れてましたw
ありがとうございました。
0095デフォルトの名無しさん
2007/05/02(水) 22:58:210096デフォルトの名無しさん
2007/05/02(水) 23:09:47共有メモリとかは標準にはないけど、NIO方面になんかあったよーな気も……
0097デフォルトの名無しさん
2007/05/02(水) 23:10:08ソケット通信とか色々あるけど
0098デフォルトの名無しさん
2007/05/02(水) 23:31:37どうすればいいでしょうか?
0099デフォルトの名無しさん
2007/05/02(水) 23:35:140100デフォルトの名無しさん
2007/05/02(水) 23:35:440101デフォルトの名無しさん
2007/05/02(水) 23:47:470102デフォルトの名無しさん
2007/05/02(水) 23:53:02setTextを使うとtextareaの左端に表示されてしまうので。
それをtextareaの右端に表示したいんです。
0103デフォルトの名無しさん
2007/05/03(木) 00:05:26SwingのJTextAreaは
textArea.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
だろうか。
正確には、中に子供部品を配置するときの左右に関係するパラメータだと思ったが。
0104デフォルトの名無しさん
2007/05/03(木) 00:19:18swingなので、よくわかりませんがやってみます。
0105デフォルトの名無しさん
2007/05/03(木) 01:01:01org.apache.poi.hssf.record.RecordFormatExceptionが出る。
元のExcelファイルをExcelで開いて上書き保存するとちゃんと読み込めるんだけど、
元ファイルを吐くプログラム作った人に言わなきゃいけないんだろうか。
というかマスタぐらいcsvで吐いてくれよヽ(`Д´)ノウワァァン
一応poi-3.0-alpha3-20061212.jarとpoi-2.5.1-final-20040804.jarで試してみたけどだめぽ。
0106デフォルトの名無しさん
2007/05/03(木) 01:03:35import static javax.swing.SwingConstants.TRAILING;
textField.setHorizontalAligment(TRAILING);
で、現在の行方向の行末に向かって揃えられる。
TRAILINGの代わりにRIGHTなら行方向にかかわらず右揃えになる。
JTextAreaにはsetHorizontalAlignmentなかったな。
0107デフォルトの名無しさん
2007/05/03(木) 02:04:345・0の9、10、11と入っています?これは上書きされないのでしょうか・・
容量ばかり食ってしまうので、9と10を捨てて最新と思われる
11だけを残しておけば後はアンスコしても大丈夫でしょうか?
それとも9も10も11もそれぞれ違う役割をしているからどれか1つでも
アンスコしたら何かが起動しなくなる・使えなくなるなどということがある。
などということでも何でも良いので教えてください。お願いします。
0108デフォルトの名無しさん
2007/05/03(木) 02:23:17JDK自体に問題はない
クラスパスどこで管理してるかは君次第
0109デフォルトの名無しさん
2007/05/03(木) 12:54:49レスありがとうございます。すいません、初心者なもんで
ちょっと説明が難しいのですが。とにかく、9,10,11は
それぞれ別物ということでしょうか?そしてその9でも10でも11でも
何かのプログラムが例えば9のjavaで使用していればアンスコしたら
使えなくなるから×で最新と思われる11のjavaでも何も使用して
いなければアンスコしてもおkということでしょうか。。。
0110デフォルトの名無しさん
2007/05/03(木) 13:45:36そんな感じ。
0111デフォルトの名無しさん
2007/05/03(木) 13:54:24自分で何も設定した覚えがなければ、とっくに動いていない9・10をさっさと消すべし
0112デフォルトの名無しさん
2007/05/03(木) 14:01:58クラスA,B,Cを含むパッケージがあります。
Aは抽象クラスです。
Aを継承したクラスB,C,Dを作成します。
B,C,Dは異なる実装ですが、同じ機能を提供します。
この場合、B,C,Dのインスタンスは外部からは何型として参照すれば良いのでしょうか。
0113デフォルトの名無しさん
2007/05/03(木) 14:07:41○クラスA,B,C,Dを含むパッケージがあります。
でした。すみません。
0114デフォルトの名無しさん
2007/05/03(木) 14:10:17大雑把に言って、
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 を使う場合もあるだろうけど。
0115デフォルトの名無しさん
2007/05/03(木) 14:39:58やりたいことはその通りです。
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のインスタンスはいずれも、同時に一つしか生成できません。
これが上手く実現できません。。。
0116デフォルトの名無しさん
2007/05/03(木) 14:46:42>B,C,Dは異なる実装ですが、同じ機能を提供します。
ここまで分かってるなら理解してるような気がするけど、
機能が同じでも実装が違えば返ってくる値が違うってのは理解してる?
0117112
2007/05/03(木) 14:54:11>機能が同じでも実装が違えば返ってくる値が違う
Aから継承したメソッドをA型参照から呼び出しても、
それがBのインスタンスであるかCのインスタンスであるかによって、
実行される処理が変わるということでしょうか?
0118112
2007/05/03(木) 14:55:191.AにstaticなA型ポインタをメンバとして加える。
2.Aにstaticなインスタンス生成用のメソッドを追加する。
3.2のメソッドは1のポインタにB,C,D何れかのインスタンスを生成して参照(代入)させ、
1のポインタを返す。
4.B,C,Dのクラスまたはコンストラクタのスコープをパッケージで閉じてしまう。
5.↑によって、B,C,DのインスタンスはAのメソッドを通してA型としてしか試謫セできないよb、にする。
これってなんかおかしいでしょうか・・・。
0119デフォルトの名無しさん
2007/05/03(木) 14:59:44排他的でシングルトンなファクトリクラスを作れば良いかな。
シングルトンの管理は色々出来そうだけど
A,B,C,D,ファクトリを同じパッケージにしてB,C,Dのコンストラクタはパッケージープライベートにする。
んで、ファクトリはAのサブクラスのインスタンスを一度でも生成したか
どうかのフラグを持つ。B,C,Dのインスタンスを返すメソッド(ファクトリメソッド)内でフラグ立てる。
フラグが立ってれば以降はインスタンスを返さないか、
または生成済みインスタンスを返す。
大雑把だけどかんな感じか。
0120デフォルトの名無しさん
2007/05/03(木) 15:45:19そう。これサンプル。
ttp://www.vipper.org/vip499966.java
抽象クラスと継承については理解してるよ。
やろうとしてる事は
それとはあんまり関係ないきがする。
デザインパターンかも。
0122デフォルトの名無しさん
2007/05/04(金) 00:13:16「ソースが見つかりませんでした。」
となるのですが・・。
どこからかDLすれば見れるようになるとかいうことでしょうか?
宜しくお願いします。
0123デフォルトの名無しさん
2007/05/04(金) 00:15:27仮想マシンの設定あたりにソースzipを指定する箇所があるよ。
0124デフォルトの名無しさん
2007/05/04(金) 00:18:46こんな感じで使いたいのです。
myName[0][0].sei = "性"
myName[0][0].mei = "名"
ちなみにこんなふうにしてみましたがダメでした。
class StructName {
String sei;
String mei;
}
StructName myName[][] = new StructName[5][5];
myName[0][0].sei = "性" ← 代入しようとするとエラーになる。
0125デフォルトの名無しさん
2007/05/04(金) 00:26:37で、最初に初期化しなきゃだめ
for〜〜
for〜〜
myName[i][j] = new StructName();
あとお前はコンストラクタでググるべきだ
0126デフォルトの名無しさん
2007/05/04(金) 01:23:520127デフォルトの名無しさん
2007/05/04(金) 01:44:550128デフォルトの名無しさん
2007/05/04(金) 05:27:420129デフォルトの名無しさん
2007/05/04(金) 14:19:42このような1次元配列vecを2次元配列としてメソッドに渡したいのですが、どうしたらいいのでしょうか?
今は下のように書いているのですが、キャスト専用の変数を作るのとコードが冗長になってしまうのとが気になってしまって
もっとシンプルに書く方法ってありませんかね?
int[][] temp = new int[1][2];
temp[0] = vec;
method(temp);
0130デフォルトの名無しさん
2007/05/04(金) 14:36:03new int[][]{ vec };
0131デフォルトの名無しさん
2007/05/04(金) 16:10:19即レスありがとうございます
期待した通りに動かすことができました
0132デフォルトの名無しさん
2007/05/04(金) 17:24:54例えば、製品数a(1000個)の内、不良品b(200個)あると良品数c(80%)ですよね。
*a,bは決まった数字じゃありません
0133デフォルトの名無しさん
2007/05/04(金) 17:29:080134デフォルトの名無しさん
2007/05/04(金) 20:03:54【C系】
public class SampClass
{
}
【Java】
public class SampClass{
}
0135デフォルトの名無しさん
2007/05/04(金) 20:23:20されていて、その中に
http://java.sun.com/docs/codeconv/html/CodeConventions.doc5.html#381
というものがある。実際JDKのライブラリソースはこれに則っている感じ。
もちろん外部の人間が従う義務はない。ただ、Javaの黎明期には参考になるコード
はJDKのライブラリソースくらいだったわけで、この頃から一般人もJDKのソース
の書き方を真似て、カーリーブレースの前で改行しないスタイルが定着したのだろ
うと想像する。
0136デフォルトの名無しさん
2007/05/04(金) 20:24:35Sun のコーディング規約だと後者に近いってだけじゃね?
C言語でも改行しない人は一杯いるしね。
プログラミング言語C++ とかでも switch { やら struct hoge_tag { では改行してないし。
GNUコーディング規約だと if とか while とかでは改行+インデントして括弧つけたりするし。
0137デフォルトの名無しさん
2007/05/04(金) 21:08:13なんだかその悪寒がしてきたんだが
0138デフォルトの名無しさん
2007/05/04(金) 21:10:05なんで?
0139デフォルトの名無しさん
2007/05/04(金) 22:31:550140デフォルトの名無しさん
2007/05/04(金) 22:59:48各言語でそういう規約があるのね。
eclipseの自動生成や、書籍を見てて改行してなかったから、慣例だと思ってたよ。
まぁ俺はクラス・メソッドは改行、制御文は改行なし、でいつもやってるんだがなぁ。
ま、javaは規約に従うとするか・・・。約1行、節約になるしw
0142デフォルトの名無しさん
2007/05/04(金) 23:07:36どうすれば・・・
0143デフォルトの名無しさん
2007/05/04(金) 23:20:44今週のJavaクイズ(6):ボタンを押すとどうなる?
http://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(上記の解答編っぽい)
http://itpro.nikkeibp.co.jp/article/COLUMN/20070413/268205/
0144デフォルトの名無しさん
2007/05/04(金) 23:39:00まじでサンクス!
明日早速なおしてみます。
0145デフォルトの名無しさん
2007/05/05(土) 10:06:070146デフォルトの名無しさん
2007/05/05(土) 14:27:24シンボルを解釈処理できません。
シンボル: メソッド equals (char)
位置 : java.lang.String の クラス
if("\t".equals(tmpStr.charAt(i))){
0147デフォルトの名無しさん
2007/05/05(土) 14:30:27> if("\t".equals(tmpStr.charAt(i))){
if("\t".equals(tmpStr.substring(i, i+1))){
0148デフォルトの名無しさん
2007/05/05(土) 14:36:12ありがとうござます。iが原因みたいですた。
0149デフォルトの名無しさん
2007/05/05(土) 14:42:51if('\t' == tmpStr.charAt(i)){
でも良かったのでは?
0150デフォルトの名無しさん
2007/05/05(土) 14:49:480151デフォルトの名無しさん
2007/05/05(土) 15:14:190152デフォルトの名無しさん
2007/05/05(土) 16:47:24java越えて共有メモリにしたいとか、そういう事?
0153デフォルトの名無しさん
2007/05/05(土) 17:36:07エクスポート、インポート出来るようにして・・・ってそういう事でいいのか?
0154デフォルトの名無しさん
2007/05/05(土) 18:07:51ttp://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を設定するのかが分からず、混乱しています。
0155デフォルトの名無しさん
2007/05/05(土) 18:16:17名前はポチにしよう(setName)
このわんちゃんの名前なんていうの?
ポチだよ(getName)
0156デフォルトの名無しさん
2007/05/05(土) 18:19:58ポチって首輪に書いてあるから
ポチって犬小屋に書いてあるから
ポチって焼き印wが押してあるから
ポチって俺が名付けたから
何でポチかは自由。知りたいのは何故かではなく名前だけ。
0157デフォルトの名無しさん
2007/05/05(土) 20:33:010158デフォルトの名無しさん
2007/05/05(土) 21:13:24ただの変数だと、制限がかけられない。(現実的にありえない数値が入ったりする)
そこで、セッターを作り、引数をチェックし、ありえない数字が来たら例外を発生させる。
void setHoge(int foo) {
if () {
}
0159デフォルトの名無しさん
2007/05/05(土) 21:16:41if で引数チェックして、例外発生させるの。
そしたら、変数が適切な値だと保障することができる。
クラスや例外ない言語の場合、
関数呼んだあと、戻り値でエラーチェックしたりするのが
めんどくせえぞ。
0160デフォルトの名無しさん
2007/05/05(土) 21:36:51箱にボタンがついたみたいなもん。
自販機を考えてみれば、箱の中身の仕組みを知る必要はなく、
お金を入れて、ボタンさえ押せばジュースが返ってくる。
クラス(設計図)に中の仕組み書いて、
new クラス名でインスタンス(実体/オブジェクト)を作るってだけ。
クラスの外からは、中のメソッド(ボタン)の仕組みを知る必要はなく、
何が必要で、何が返ってくるかだけ知っていれば良い。
0161デフォルトの名無しさん
2007/05/06(日) 00:33:02プログラムは正しく動作するのに、画像が表示されません。
classファイルと同じディレクトリにgif画像はあるのですが、
どういった原因が考えられますか?
0162デフォルトの名無しさん
2007/05/06(日) 00:35:38正しく動作してんなら何の問題もないよね。
次の質問どーぞー
0163デフォルトの名無しさん
2007/05/06(日) 00:36:13エスパー募集キター
0164161
2007/05/06(日) 01:19:20パッケージに纏める前は正しく動作して画像もきちんと表示されていました。
しかしjarファイルを作った後にプログラムを実行したところ、画像は表示されないけど、
それ以外は前と同じ動作をしているように見えます。
0165デフォルトの名無しさん
2007/05/06(日) 01:40:57ClassやClassLoaderのgetResourceで画像ファイルのURLを求めてそのURLから読み込むようにしていないか
大文字と小文字の区別をつけられないファイルシステムを使っていて上手く動くような気になって
その区別をつけるjarの中の画像ファイル名を正しく指定していないか
0166デフォルトの名無しさん
2007/05/06(日) 02:33:56それっていくらなんでも不便じゃない
0167デフォルトの名無しさん
2007/05/06(日) 02:40:420168デフォルトの名無しさん
2007/05/06(日) 02:44:430169デフォルトの名無しさん
2007/05/06(日) 02:48:16ネイティブなファイルをjarに含めて動作させるにはどうしたら良いのでしょうか。
ぐぐるとBundle-NativeCodeなるものが見つかったものの
書いても何も変わらず、loadLibraryがネイティブなファイルを見つけてくれないのです。
0170デフォルトの名無しさん
2007/05/06(日) 04:31:56使いまわされないデータ型だけのクラス(構造体)なんかは、
メインのクラスで内部メンバとして書いたり、
ステップ数が多い処理を、メソッドを使わずインラインでガリガリ書いたりと、
独特の流儀があるようです。
以前の携帯は実行ファイルサイズ制限があって、
このような方法が主流みたいですが、
今は実行ファイルサイズの制限は緩和されたようです。
とすると、上のような携帯Java独特の、
およそJavaらしからぬコーディングスタイルには意味はあるのでしょうか?
例えば、単一のデータ構造を参照するのにインナークラスを使わずに、
呼び出し元のメンバとして参照する事で、速度的なメリットがあったりするのでしょうか?
0171デフォルトの名無しさん
2007/05/06(日) 05:12:58それはもう過去の話。心配しないで関数にしておk
0172デフォルトの名無しさん
2007/05/06(日) 05:13:460173デフォルトの名無しさん
2007/05/06(日) 07:25:37チャンネル」などが見れなくなってしまった
のですが、何が原因なんでしょうか。
javaを再インストールしたがダメです。
0174デフォルトの名無しさん
2007/05/06(日) 10:08:54一応、java.awt.Component#setLocation()
0175デフォルトの名無しさん
2007/05/06(日) 10:12:10つ null layout
0176デフォルトの名無しさん
2007/05/06(日) 11:09:04食らうヒープ量が全然違うので関係大あり。
0177デフォルトの名無しさん
2007/05/06(日) 11:17:240178デフォルトの名無しさん
2007/05/06(日) 11:20:22ロボットにJava仮想マシン載せれば
0179デフォルトの名無しさん
2007/05/06(日) 12:26:10Appletクラスの継承を用いてアプレットを起動する場合には、
htmlファイルの中に
<applet code="XXX.class" width=256 height=256>
を記入すればいいと思いますが、Frameクラスの継承を用いた場合、
同様にインターネットエクスプローラーから起動させるにはどうすればいいのでしょうか?
0180デフォルトの名無しさん
2007/05/06(日) 12:27:53Java Web Startでぐぐる
0181デフォルトの名無しさん
2007/05/06(日) 12:31:51これ使ってもうまくいかなかった。
ていうかJavaは用意されたレイアウトを組み合わせることでGUI部品を配置していく
仕組みを奨励してるのかな。面倒だよな。配置の仕方に限界がありそう。
なんで他言語のようなリソースエディタがないのだろう。
GUI部品のレイアウトをいちいち回りくどく記述するなんて古いよ
0182デフォルトの名無しさん
2007/05/06(日) 13:05:13そうでないなら絶対座標指定のほうがよっぽど限界があるわ。
0185デフォルトの名無しさん
2007/05/06(日) 13:15:40実測して計ってみるのがいいでしょう
0186デフォルトの名無しさん
2007/05/06(日) 13:17:02>>175は見たか?
0187161
2007/05/06(日) 16:08:50自分が使っているファイルシステム?ってのはどうやって調べられるのでしょうか。
0188デフォルトの名無しさん
2007/05/06(日) 17:39:17コマンド プロンプトで、terapad ----.javaと打てばterapadが立ち上がるようにしたいのですがどうすればいいのでしょうか?
0189デフォルトの名無しさん
2007/05/06(日) 17:40:16Core Javaのボールオブジェクトが跳ね返るプログラムの応用で、
JFrame内に存在するオブジェクト(この場合、四角です)をD&DでJFrame内なら
自由に移動出来るJavaプログラムを作成しているのですが、
JFrameの外(見えない部分)にも移動でき、そうした場合、オブジェクトが見えなくなるので、
強制終了する以外終了する方法がないという意味のないプログラムになってます。
どうすれば、オブジェクトをJFrame内のみ移動可能なプログラムにする事ができるのでしょうか?
0190デフォルトの名無しさん
2007/05/06(日) 18:00:13どうしてボールが跳ね返る(ようにみえる)か考えてみたら?
0191デフォルトの名無しさん
2007/05/06(日) 18:23:56宝石製のバイブでオナニーすると、魔力を溜めることはできるんでしょうか?
0192デフォルトの名無しさん
2007/05/06(日) 18:30:00ズバリ解答を言うと、端に来たらD&Dでき無くすればおk
0193デフォルトの名無しさん
2007/05/06(日) 18:35:55exploreのオプション->ファイルタイプ
で.javaにそのterapadとやらを割り付ける
だけど、なんでterapadなんだ?
terapadとかcpadとか、わけわからん
0194デフォルトの名無しさん
2007/05/06(日) 18:47:37java関係ないがterapadをパスの通った場所に置けば良いじゃん。
てか、start XXX.javaじゃだめなん?
0195189
2007/05/06(日) 19:25:24Core Javaを参考にして、dx を -dxにしてみたのですが、上手くいきません。
>>192
それはどういう風に設定すればいいのでしょうか?
一応、ソースをサラしておきます。
ttp://a-draw.com/uploader/src/up22130.txt
0196デフォルトの名無しさん
2007/05/06(日) 20:13:45全然無関係のところをまねしてどうする?
やるべきことはShapeに渡す値を描画エリアのサイズ内に調整すること
0197189
2007/05/06(日) 20:54:32shapeBeingDragged.moveBy(x - prevDragX, y - prevDragY);
の部分を調整すればよいのでしょうか?
0198デフォルトの名無しさん
2007/05/06(日) 20:58:22つ NetBeans
0199デフォルトの名無しさん
2007/05/06(日) 21:07:42どうやったら治るの
0200デフォルトの名無しさん
2007/05/06(日) 21:13:30デフォルトのキーバインドなら insertキー
0201デフォルトの名無しさん
2007/05/06(日) 21:17:39インサートキーってどうやってonにしたりoffにしたりできるの?教えて
0202デフォルトの名無しさん
2007/05/06(日) 21:24:070203デフォルトの名無しさん
2007/05/06(日) 21:25:380204デフォルトの名無しさん
2007/05/06(日) 21:27:24そう
元の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();
0205デフォルトの名無しさん
2007/05/06(日) 21:45:49わるい逆だ
なれない変数名だったので混乱した
int maxw = cs.width - shapeBeingDragged.width;
int maxh = cs.height - shapeBeingDragged.height;
0206189
2007/05/06(日) 21:50:16ありがとうございます。
ソースに組み込んでみたのですが、クリックをするとはぐれメタルが逃げるかのごとく、
画面上からオブジェクトが右下に消えてしまいます。
0207デフォルトの名無しさん
2007/05/06(日) 21:57:30mouseReleased()の方の実装もかえてね
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();
0208189
2007/05/06(日) 22:07:18こうでしょうか?
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
0209デフォルトの名無しさん
2007/05/06(日) 22:14:49いいんじゃないかな
逃げ去るってことはその他にタイマー処理が行われているって
可能性が考えられるけど元のソースのボールの処理が残ってない?
0210189
2007/05/06(日) 22:39:11タイマー処理は行われていません。
0211デフォルトの名無しさん
2007/05/06(日) 23:10:12moveBy()で加算しているようだから以下のように書き換えてみて
left = dx;
top = dy;
0212デフォルトの名無しさん
2007/05/07(月) 12:40:08Class1のテキストフィールドにClass2のメソッドの処理結果を表示させたいんですがどのような方法が
ありますか??メソッドは引数をもたないものとして
0213デフォルトの名無しさん
2007/05/07(月) 12:45:05FINで終わったのかどうかが知りたいです。
0214213
2007/05/07(月) 12:47:44Class2のメソッドの処理結果がでたタイミングで
Class2で保持しているClass1のインスタンスのテキストフィールドに表示させる
0215デフォルトの名無しさん
2007/05/07(月) 14:25:23ありがとうです
class2{
class1 cls=new class1
処理
cls.text.setText(処理結果);}
このようにやってみたんですが表示してくれません・・・
エラーはないんですがどこが間違ってますか><?
0216デフォルトの名無しさん
2007/05/07(月) 14:41:05class1でのテキストフィールドのsetTextはちゃんと働いてるの?
0217デフォルトの名無しさん
2007/05/07(月) 14:41:55> readで-1が帰ってくる以外に正常切断を判断する方法
むしろ、こっちから close() してみる。
たぶん、相手はFINフラグを受け取るはず。
マジレスすると、仕様に書いてないなら無理だと判断すべき。
0218213
2007/05/07(月) 15:08:55>>マジレスすると、仕様に書いてないなら無理だと判断すべき。
レスありがとう。Javadocにはかいてないんですよ。
FINフラグを受け取ってのread=-1なのか、その他の問題でのread=-1なのかを判断したいだけなのですが、
方法がさっぱしです。
0219213
2007/05/07(月) 15:14:18class 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();
}
みたいなかんじではどうでしょうか。
0220デフォルトの名無しさん
2007/05/07(月) 15:38:45interfaceを利用してclassを作成しています
作成したclassを利用する際、設定ファイルやDBから読み込んだ文字列を利用して
動的にnewする対象を指定したいのですがやり方がわからないので教えてください
http://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名を指定したらよいのでしょうか
よろしくおねがいします
0221デフォルトの名無しさん
2007/05/07(月) 16:03:23Classクラスを使えばいいんじゃね?
forName() と newInstance() あたり。
String str;
Performable perf;
/* このへんに設定ファイルから
クラス名を読み出して str に
代入する処理があるとする。
*/
try {
Class c = Class.forName(str);
perf = c.newInstance()
} catch (Exception e) {
// 例外処理
}
だいたいの流れはこんな感じで。
0222デフォルトの名無しさん
2007/05/07(月) 16:07:10java.lang.Class.forName(String className)#newInstance()
0223デフォルトの名無しさん
2007/05/07(月) 16:15:30できました!!
どうやら単純なミスをしていたようです^^;
いろいろ参考になりました
ありがとうございますm(__)m
0224デフォルトの名無しさん
2007/05/07(月) 16:49:50a,b,cというlistと配列に入ってる"a","b","c"の文字列を比較したいのですが
どうしたらいいでしょうか??
0225デフォルトの名無しさん
2007/05/07(月) 17:06:34解釈の仕方が複数あって、
具体的に何がどーなってるのか良く分からん。
0226224
2007/05/07(月) 17:30:16a,b,cという項目があって最初は選ばれていない状態ですよね。
で配列にはこのようにはいっていて
配列1 配列2
Aサン a
Bサン b
Cサン a
Dサン c
配列Bを指定したらlist項目のbを選択させるといった感じです
0227224
2007/05/07(月) 17:32:46配列1のBを指定したらですね
0228デフォルトの名無しさん
2007/05/07(月) 17:34:210229224
2007/05/07(月) 17:42:22selectだとintしか指定できないから分岐させるしかないのかと・・・
0230デフォルトの名無しさん
2007/05/07(月) 17:44:54java.awt.List の話でしょ?
なら、項目選択するにはユーザが操作するか select(int) するしかない。
0231224
2007/05/07(月) 17:48:53ありがとうございます!
0232デフォルトの名無しさん
2007/05/07(月) 17:54:40JavaがUTF-8を採用しているからか、ASCII文字との親和性が高いからかな。
→どのようなメリットがあるかわかっていないですが…
Java=ユニコード=ALL2バイトと思ってたけど、違うんですね…
UTF-8は、レスポンス悪いとかあります?
0233デフォルトの名無しさん
2007/05/07(月) 18:08:58>>222
確かにそれでOKです
大変勉強になりました
ありがとうございました
0234デフォルトの名無しさん
2007/05/07(月) 18:15:51> 国際化対応の場合に、UTF-8が多く採用されるのはなぜですか?
国際化対応で Shift_JIS とか EUC-JP は使えないでしょ。
ISO-2022でも ある程度国際化できるけど、実装面倒くさいし。
> Java=ユニコード=ALL2バイトと思ってたけど、違うんですね…
= をどーゆー関係のつもりで書いてるのか分からんので、なんとも言えない。
> UTF-8は、レスポンス悪いとかあります?
場合による。1ギガバイトとかの馬鹿でかいテキスト読んだらレスポンス悪くなるだろうし。
0235デフォルトの名無しさん
2007/05/07(月) 18:56:091バイトで足りる連中がUnicode実装するとき楽だから。
PL関係なく実装者の都合でしかない。
0236デフォルトの名無しさん
2007/05/07(月) 20:09:21ASCIIと互換性があるとか、
バイト指向だとか、
CCSがUCS4だとか、
結構便利なエンコーディングじゃん。
0237デフォルトの名無しさん
2007/05/07(月) 20:41:32応用問題を解いているのですが、
各サイト、APIみても、
これを使うとか構造とかがでてこないもの
がでてきました。
こういう場合はどうしたら
良いのでしょうか。
また 何を使うとかの
ひらめきはどうしたら
みにつくのでしょうか?
0238デフォルトの名無しさん
2007/05/07(月) 20:46:56ロマサガで特訓してこい。
0239デフォルトの名無しさん
2007/05/07(月) 21:21:53この中に入っている文字が整数かどうか調べるにはどういう風にすればいいでしょうか?
0240デフォルトの名無しさん
2007/05/07(月) 21:25:01一文字だけ調べるなら Character.isDigit(str.charAt(0))
0241デフォルトの名無しさん
2007/05/07(月) 21:30:50このCharacter.isDigit(str.charAt(0))をforとかで文字数文まわすとかしかないでしょうか?
0242デフォルトの名無しさん
2007/05/07(月) 21:36:060243デフォルトの名無しさん
2007/05/07(月) 21:42:05-?[0-9]+
とか
0244デフォルトの名無しさん
2007/05/07(月) 21:48:53isDigitsメソッドは指定された文字列が数字だけを含むかどうかを返します。例えばNumberUtils.isDigits("123")はtrueを返します。
http://www.atmarkit.co.jp/fjava/rensai2/jakarta08/jakarta08.html
とか書いてるんですけど、これって何か拡張しないとだめなんですよね・・・
0245デフォルトの名無しさん
2007/05/07(月) 22:45:01X11のライブラリがねえとか言って怒られたよ。
本を見たらwin用の本だった。
JAVAってそういうのは吸収してくれないのな。
なんでもいいからウィンドウ出せやボケと思いました
0246デフォルトの名無しさん
2007/05/07(月) 22:46:42> java.awt.List の話でしょ?
エスパーすげー
0247デフォルトの名無しさん
2007/05/07(月) 22:57:23Javaの、そういう差を吸収する部分(AWT)がX11を必要としているのよ。
0248デフォルトの名無しさん
2007/05/07(月) 23:00:29この辺見て、デスクトップマネージャが入ってるか確認して。
http://java.sun.com/javase/ja/6/webnotes/install/system-configurations.html
よほどの野良ディストリ使ってるとかでない限りは、Gnomeが標準になってると思うけど。
0249デフォルトの名無しさん
2007/05/07(月) 23:37:33エンディアンはないがBOM忘れてる奴が多いがな。
0250デフォルトの名無しさん
2007/05/08(火) 00:06:190251デフォルトの名無しさん
2007/05/08(火) 00:07:45「ファイル名」.classのファイルをDLしたのですが、eclipseやテキストで開くと(拡張子を.javaにしたりして)
、文字化けしていて読むことができません。
このような.classファイルは読むことができますか?
0252デフォルトの名無しさん
2007/05/08(火) 00:09:56日本語は大抵3バイトになるのが鬱陶しいけどな。
0253デフォルトの名無しさん
2007/05/08(火) 00:21:12バイナリエディタ。
つーかなんでバイトコードにソースが含まれてんだと小一時間・・・。
素直にお帰りください。
0254デフォルトの名無しさん
2007/05/08(火) 00:26:110255デフォルトの名無しさん
2007/05/08(火) 00:26:43http://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.
0257デフォルトの名無しさん
2007/05/08(火) 00:33:430258デフォルトの名無しさん
2007/05/08(火) 00:58:49だから?
UTF-8のBOMはエンコーディングの認識精度を上げるくらいしか役にたたないし、
在ることで困ることの方が無くて困ることより多いと思うが。
UTF-8 must contain a BOM.じゃなくてUTF-8 can contain a BOM.て書いてあるじゃないか。
だから、BOM付きを邪険にはしないけど、自分からわざわざ付けたりはしたくないな。
0259デフォルトの名無しさん
2007/05/08(火) 03:00:17javap
ディスアセンブラとかデコンパイラでググれ
空気読めるようになろうね。
0260デフォルトの名無しさん
2007/05/08(火) 04:19:20このくらい自由が利いてもっと楽なのあれば教えて☆
0261デフォルトの名無しさん
2007/05/08(火) 04:39:21それか自由が利いてもっと楽なのを自作する
0263デフォルトの名無しさん
2007/05/08(火) 05:40:55>SpringLayout
へーこんなレイアウトマネージャがあったんだ
これって機能的にNeXTとかMac OS Xのレイアウト機能とほぼ同じだね
直書きするのはめんどそうだけどSunがツールを用意してるのか
今度使ってみよう
https://bean-builder.dev.java.net/
0264デフォルトの名無しさん
2007/05/08(火) 06:19:25いろいろあんだね
もうGridBagLayout使うのやめよう
0265デフォルトの名無しさん
2007/05/08(火) 06:29:070266デフォルトの名無しさん
2007/05/08(火) 07:54:181からのほうが色々すんなり行くと思うのです。
0267デフォルトの名無しさん
2007/05/08(火) 07:56:51色々すんなりって例えば?
0268デフォルトの名無しさん
2007/05/08(火) 07:57:14なにかと計算量を減らせる。
0269デフォルトの名無しさん
2007/05/08(火) 08:40:45一つ目の要素: array[0] より
一つ目の要素: array[1] のほうが分かりやすく自然だと思うんです。
もしあなたがそう思わないなら、それはプログラマーとしての観点を既に持っているからでしょう。
x番目の要素の添え字はx-1ですが、これがx-372だったとしたら
三番目の要素の添え字は、え〜っといくつだ?ってことになりますよね。
>>268
なるほど、確かにそうです。
納得しました。
0270デフォルトの名無しさん
2007/05/08(火) 09:12:46量的にではなく指標だから0からは当然だとおもうよ。
定規が1から始まるのが自然だとは思わない。
0271デフォルトの名無しさん
2007/05/08(火) 09:20:39↑このフラッシュを見てくれ
もし、参加したくなったら
日本奇跡の逆転劇!! スロベニアを抜き単独4位へ
http://wwwww.2ch.net/test/read.cgi/news4vip/1178574359/
歴史的瞬間にぜひご参加を!!!
どこから誘導されたかも書き込んでねー
0272デフォルトの名無しさん
2007/05/08(火) 10:37:37textfieldに"java"と入ってたとして、それに対して指定した数だけ"*"を追加したいんですが
どうしたよいでしょう?
指定した数が3なら"java***"といった感じです。
値は変数にはいってます。
0273デフォルトの名無しさん
2007/05/08(火) 10:44:540274デフォルトの名無しさん
2007/05/08(火) 11:27:08何文字か指定するにはどうしたらいいですか?
0275デフォルトの名無しさん
2007/05/08(火) 11:56:41一昨日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);
}
0276デフォルトの名無しさん
2007/05/08(火) 11:57:45やっぱ繰り返すしかないのかな・・・
0277デフォルトの名無しさん
2007/05/08(火) 12:02:39>指定した数だけ"*"を追加
って時点で繰り返しは必須だと思うんだけど。
繰り返しで何か都合悪いことでもあるのか?
0278デフォルトの名無しさん
2007/05/08(火) 14:30:20数学の話だが中学校のころ数学教師が教えてくれた。
人間てのは非数を見つけてしまったから数字の0は無を表す
数字ではなく、負数を除いて起点となる数字らしい。
何もないわけではなく「0」という数字が存在している。
だから数学的に数字は0から始まる0起算らしい。
0279278
2007/05/08(火) 15:06:44最終的にメタ数学の話になったから気にしない方が良いよ。
特に0と配列と演算記号の関係なんて。
0280デフォルトの名無しさん
2007/05/08(火) 15:12:02>>269
Javaに限ったことではありませんってFORTRANプログラマの観点の立場は…
0281デフォルトの名無しさん
2007/05/08(火) 15:23:45どうしてもというのなら繰り返し追加するものが文字列でなく文字限定だが、
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個程度なら大して違いはないと思うけど、大量に追加するなら。
0282デフォルトの名無しさん
2007/05/08(火) 15:30:50FORTRAN はウンコだから。
まあ、0 オリジンにしようと思えばできるけど。
0283デフォルトの名無しさん
2007/05/08(火) 15:40:07配列を配列の配列のように扱いたい場合、
0 から始まった方が便利。
インデックス i, j が与えられた場合、
0 から始まる場合は i * SIZE + j だけでいいけど、
1 から始まる場合は (i - 1) * SIZE + j と、-1 が必要になる。
とか何とか、色々と 0 から始まった方が計算量が少ない事が多い。
一部逆もあるんだけどね。
0 から始まるというイメージは、C をやった方が分かりやすいと思う。
C だと「始点 + インデックス」の位置にある値を参照するという処理になってるから、
1 から始まると始点がムダになる。
始点をズラすと、始点の値を使いたい時にまたズラさないといけない。
他の言語も、このあたりのイメージを受け継いでるんじゃないかな。
0284デフォルトの名無しさん
2007/05/08(火) 16:36:021番目から始まる自然な序数を選択するよりも、
計算量の減少等の効率を重視して選択した結果なんで、
そういうものだと思って慣れるしかない。
0から始まる場合のインデックスは序数と考えずに、
>>283が言うように始点からのオフセットと考えればいい。
0285デフォルトの名無しさん
2007/05/08(火) 16:53:180286デフォルトの名無しさん
2007/05/08(火) 16:58:15なぜそう思うのかを知りたいもんだなw
0287デフォルトの名無しさん
2007/05/08(火) 17:02:10どんな風にかけばよろしいのかと
0288デフォルトの名無しさん
2007/05/08(火) 17:04:56質問がインスタンスにリスナーをadd〜Listenerで登録するって意味ならたいてい複数のリスナーを追加できる。
もしset〜Listenerとかのメソッドなら一つしか設定できないかもしれない。
そのクラスのドキュメントを見れ。
0289287
2007/05/08(火) 17:13:24で、itemlistenerってクリックされたときのみですか、、、?
selectでindex指定しても動いてくれないんですが、、、
0290デフォルトの名無しさん
2007/05/08(火) 17:19:35だからドキュメントを見ろと言ってるだろ。
java.awt.ListとかChoiceの話か?
ちゃんとselectのところを読め。
> ItemEvent をトリガする唯一の方法はユーザの操作です。
0291デフォルトの名無しさん
2007/05/08(火) 17:22:280292デフォルトの名無しさん
2007/05/08(火) 18:57:16スレッドプールというものは実行のたびに空いてるCPUコアを探してくれたりするんでしょうか?
それともスレッドが生成された時点でどのコアに所属するか決定してしまうのでしょうか?
0293デフォルトの名無しさん
2007/05/08(火) 20:10:01www.stackasterisk.jp/tech/java/javaPractice06_06.jsp#2_4
上記のサイトの通りにjspでカレンダーを作成する、というプログラムを書いていたのですが、
このサイトにあるDayTypeConstクラスの意味がよくわかりません。
この定数を変えると土曜日曜の色が変になってしまうのですが、どうしてそうなるのかがよくわかりません。
ご教授お願いします。
0294デフォルトの名無しさん
2007/05/08(火) 21:19:16文字列が入ったString変数をmatcher.matches()で判定したいのです。
そこで数値(1〜9)以外の文字が入っていた場合trueとなるようにするには("ほげほげ")の部分に何と入れればいいでしょう?
ためしに
String str = "あ457"
を
pattern = Pattern.compile("[^0-9]");
でやったらfalseでした。
しかしString str = "あ"
を
pattern = Pattern.compile("[^0-9]");
でやったらtrueでした。
0295デフォルトの名無しさん
2007/05/08(火) 21:26:020296デフォルトの名無しさん
2007/05/08(火) 21:45:18FOX★公認!!!
俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
http://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
石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった
人間はさらに発展し兵器を使う戦争を始めた
そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・
皇国を勝利へと導くには貴様らの参戦が不可欠である
・戦場
http://www.clickclickclick.com/default.asp
・まとめサイト
http://www33.atwiki.jp/clickvip/
0297デフォルトの名無しさん
2007/05/08(火) 21:59:500298デフォルトの名無しさん
2007/05/08(火) 22:00:27Javaで動くのがやりたいそうなんだけど・・・
0299デフォルトの名無しさん
2007/05/08(火) 22:08:12俺はやったが無駄ではなかった。
つっても本のサンプル見る程度じゃ無駄だと思うがな。
言語に限らず、自分で色々やりたいことやっていじりまくらないと身につかんと思うよ。
C言語のWIN32APIも少しやってるけどドット・座標の考え方とか関数とか似てるから
何も知らずにC言語始めるよりは確実に楽に覚えられてる。
0300デフォルトの名無しさん
2007/05/08(火) 22:18:58String[] tbl = {"*******","******","*****","****","***","**","*",""};
String word = "java";
System.out.println(word + tbl[word.length()]);
0301デフォルトの名無しさん
2007/05/08(火) 22:24:37この問題が宿題で出たんだけど先週授業休んじゃって今日からすることに。。
しかも期限は明後日。
だけどここまだよく理解してなくて、、やばい!
誰か助けてください!お願いします><;;
0302デフォルトの名無しさん
2007/05/08(火) 22:26:230303デフォルトの名無しさん
2007/05/08(火) 22:26:23この問題が宿題で出たんだけど先週授業休んじゃって今日からすることに。。
しかも期限は明後日。
だけどここまだよく理解してなくて、、やばい!
誰か助けてください!お願いします><;;
0304デフォルトの名無しさん
2007/05/08(火) 22:27:050305デフォルトの名無しさん
2007/05/08(火) 22:39:310306デフォルトの名無しさん
2007/05/08(火) 22:41:230307デフォルトの名無しさん
2007/05/08(火) 22:41:530308デフォルトの名無しさん
2007/05/08(火) 22:44:48いえ、海外にいるんで連休ではなかったです。
0309デフォルトの名無しさん
2007/05/08(火) 23:00:53>247
なるほど・・・
FreeBSDを使っています。
そこで「文系のためのjava入門」というwin向けに書かれた
コードを実行しようとしています。
helloって書かれたウィンドウを出して終わるプログラムです。
今日、本屋に行ってみたのですが、
X11環境かつjava入門みたいな本が無かったので
前向きにX11でも動くようにいろいろ調べてみようと思います。
>248
FreeBSDでJDKやX11環境は整っていますので、
たぶん、win用のコードをX11でも動かせるように変更しなきゃいけない
と思っています。
いろいろ調べつつやっていこうと思います。
0310デフォルトの名無しさん
2007/05/08(火) 23:04:57class A{
int x;
}
で
A a = new A();
A b = new A();
とせずに、a,bを配列とかでまとめられないでしょうか。
0311デフォルトの名無しさん
2007/05/08(火) 23:13:37a[0] = new
0312デフォルトの名無しさん
2007/05/08(火) 23:40:25日本に限って言えば無駄ではないと思う。
けど、今時アプレットなんて国内でもエロブラウザゲーしか見ない。
入門本はコマンドラインすら使えない人を考慮してる。
JWSおすすめ。
>>303
せめてテキストエディタで見れるようにしてから宿題スレ行こうね。
0313デフォルトの名無しさん
2007/05/08(火) 23:46:54ありがとうございました。
2行目が思いつきませんでした。
0314デフォルトの名無しさん
2007/05/08(火) 23:52:09http://up.spawn.jp/file/up19856.txt
※EUC-JPで保存されてます
下の方を左右分割してパネルでボタンを配置しようかなと思ってます。
しかしながらGridLayoutとかだとパネル全体をボタンが埋め尽くしてしまいます。
で、それはやめといてsetBoundsで座標指定しようかなと思うのですが上手くいきませぬ。
パネルとレイアウトをコメント化して
upBtn.setBounds(10,10,100,50);
downBtn.setBounds(20,20,100,50);
・・・
だけでコンパイルしたのですがボタンが表示されませんでした。
JSplitPaneは消すしか無いのでしょうか?
0315デフォルトの名無しさん
2007/05/08(火) 23:59:53なるほどなー。
JWSも考えたんだけど、選択肢としてもう1度検討してみるわ、thx
0316デフォルトの名無しさん
2007/05/09(水) 00:17:28中身を検討せずにぱっと見ただけなので見当外れかもしれんが、
setBoundsで直接指定したいのならFlowLayoutなんて使っちゃダメじゃないか?
setLayout(null)しないと。
0317314
2007/05/09(水) 00:28:02レイアウトをコメント化しても上手く行かなかったのですが、こういうことだったのですね。
大変役に立ちました。ありがとうございました!
0318デフォルトの名無しさん
2007/05/09(水) 00:32:29JWSってJavaWebStartか?
ならAWT/Swingなんだからアプレットと部品一緒。
どっちか覚えたらどっちもできるよ。
0319デフォルトの名無しさん
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);
みたいに書くしかないのでしょうか?
0320デフォルトの名無しさん
2007/05/09(水) 00:50:29基本形=値渡し
参照型=参照渡し
基本形をラップするクラスが用意されてる(Integerなど)
しかしそんな意味不明な関数やめなさい。
その程度だったら参照渡しよりも戻り値のほうが可読性高い。
0321デフォルトの名無しさん
2007/05/09(水) 00:51:28int x[1],y[1];
はコンパイルを通らない。
int[] x = new int[1], y = new int[1];
0322デフォルトの名無しさん
2007/05/09(水) 00:53:380323デフォルトの名無しさん
2007/05/09(水) 00:57:09int a,b;
}
int hoge(result r){
r.a = 123;
r.b = 456;
return 789;
}
result r;
int result = hoge(r);
かなぁ
0324デフォルトの名無しさん
2007/05/09(水) 00:58:26はいはい ぬるぽぬるぽ
フィールドpublicにするな
0325デフォルトの名無しさん
2007/05/09(水) 00:59:330326デフォルトの名無しさん
2007/05/09(水) 00:59:59VM の実装依存じゃね?
0327デフォルトの名無しさん
2007/05/09(水) 01:00:46Integerかintをラップするmutableなクラスを作ってその参照を渡さないと
>>319が具体例なのかどうか分からないので何ともいえないけど
それならint[] hoge() {return new int[]{789, 123, 456};}とかの方が(どっちもどっち)
0328デフォルトの名無しさん
2007/05/09(水) 01:01:55自分(インスタンス)の値は自分(インスタンス)が管理する。
外部に公開するのはメソッド。
0329デフォルトの名無しさん
2007/05/09(水) 01:03:59final int a;
final int b;
final int result;
Result(int a, int b, int result) { (略) }
}
Result hoge() { return new Result(123, 456, 789) }
0330デフォルトの名無しさん
2007/05/09(水) 01:04:23回答ありがとうございます
すみません最初の例が良くなかったかもしれません
オブジェクトを複数作ってもらう関数で作業結果を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);
みたいなことがしたいのです
0331デフォルトの名無しさん
2007/05/09(水) 01:06:18そして死亡
0332デフォルトの名無しさん
2007/05/09(水) 01:08:40B b = new B();
じゃ、いけないのか?
失敗したら例外出すか、結果を知らせるメソッド持たせば。
0333デフォルトの名無しさん
2007/05/09(水) 01:11:52作業結果は返されたインスタンス自身が知っているだろうし、
結果によってはnullを返されたり例外を投げられたりしてもいいかもしれない。
そして関連性の無い二つのインスタンスを同時に返したりするのは設計そのものの再検討の余地あり。
0334デフォルトの名無しさん
2007/05/09(水) 01:13:30ご指摘ありがとうございます
確かにそのおかしさを感じてたんです
むしろJava(というかオブジェクト指向)的に
望ましい書き方とかあるならそれでも結構です
やっぱり
class Wrapper{
A a;
B b;
}
Wrapper hoge(){
Wrapper r = new Wrapper();
r.a = new A();
r.b = new B();
return r;
}
(失敗は例外)
みたいにしたほうが良いのでしょうか?
他にも回答くださったかたありがとうございます
もう少し考えて見ます
0335デフォルトの名無しさん
2007/05/09(水) 01:17:240336デフォルトの名無しさん
2007/05/09(水) 01:20:43目的がわからなければアドバイスしようがない
0337デフォルトの名無しさん
2007/05/09(水) 01:23:23final A a;
final B b;
Hoge() throws CannotCreateException {
a = new A();
b = new B();
}
0338デフォルトの名無しさん
2007/05/09(水) 01:23:59> 参照型=参照渡し
ウソを書くな、ウソを。
0339デフォルトの名無しさん
2007/05/09(水) 01:24:32おかげさまで自分が間違った方向に行こうとしてたのを食い止めることは出来たみたいです
目的はあるのですがこのまま鸚鵡返しで質問繰り返すのもどうかと思いますので
まず設計を見直してもう少し煮詰まってまた分からなくなったら聞きに来たいと思います
色々ありがとうございました
0340デフォルトの名無しさん
2007/05/09(水) 01:25:45APIレベルの話をしているわけではなくてだな・・・
0341デフォルトの名無しさん
2007/05/09(水) 01:26:24final A a;
final B b;
Hoge() {
a = new A();
b = new B();
}
}
AとBに関連性がなかったら相当気持ち悪いクラスだが。
0342デフォルトの名無しさん
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
0343342
2007/05/09(水) 04:03:40java 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)
0344デフォルトの名無しさん
2007/05/09(水) 04:14:17_,,,,._ 、-r
,.','" ̄`,ゝ _,,,_ _,,,_ _,,,,__,. | | _,,,,,_
{ { ,___ ,'r⌒!゙! ,'r⌒!゙! ,.'r⌒!.!"| l ,.'r_,,.>〉
ゝヽ、 ~]| ゞ_,.'ノ ゞ_,.'ノ ゞ__,.'ノ | l {,ヽ、__,.
`ー-‐'" ~ ~ 〃 `゙,ヽ ̄` `゙'''"
゙=、_,.〃
_____________
|2進数 小数 丸め誤差 |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
[Google検索] [I'm Feeling Lucky!]
http://javafaq.jp/S029.html
0345デフォルトの名無しさん
2007/05/09(水) 04:28:490347デフォルトの名無しさん
2007/05/09(水) 11:37:59フレームの色は変えられるけどパネルができましぇん
0348デフォルトの名無しさん
2007/05/09(水) 12:48:400349デフォルトの名無しさん
2007/05/09(水) 14:32:13コマンドプロンプトから、hogehoge.javaをjavacコマンドでコンパイル → javaコマンドで実行する際、
適用されるランタイムのバージョンはどこで設定されているのでしょうか?
よろしくお願いいたします。
0350デフォルトの名無しさん
2007/05/09(水) 16:57:13プロンプトで
java -version
0351349
2007/05/09(水) 17:02:05ttp://www.hellohiro.com/appli.htm
にあるように環境変数のJAVA_HOMEを変えると、反映されるかと。
0352デフォルトの名無しさん
2007/05/09(水) 17:10:16北朝鮮から出稼ぎに来ている28歳の無職です。
先日、梅田のハロワのトイレに入って
ウンコをした際、
「トイレットペーパー以外の物は流さないで下さい」
と壁に張り紙がしてありました。
仕方がないので、ウンコを新聞紙に入れて持って来ましたが
非常に不便さを感じました。
皆さんはどのようにしているのでしょうか
参考までに聞かせていただけませんか?
0353349
2007/05/09(水) 18:20:15ご回答ありがとうございます。
JAVA_HOMEはC:\Program Files\Java\jdk1.6.0_01 とし、
Pathは%JAVA_HOME%\bin としています。
コマンドプロンプトのカレントディレクトリにclassファイルを常に置いているので、クラスパスは設定していません。
レジストリエディタでレジストリの値を見たところ、Java Runtime Environment\CurrentVersionは1.6となっています。
JDKのバージョン=ランタイムのバージョンという認識でよいのでしょうか?
0354デフォルトの名無しさん
2007/05/09(水) 18:34:59> JDKのバージョン=ランタイムのバージョンという認識
違う。
JDKのインストーラのデフォルトの設定(全部OKした場合)では、JDKとは別に、JREが入る。
JAVA_HOMEが指してるのは、普通は JDK内のランタイム。
で、JREにはjavacはないけど、C:\Windows\SYSTEM32 とかに java.exe を突っ込むから、
どっちを使うかは、環境変数 PATH の設定による。
レジストリの値は関係ない。
0355デフォルトの名無しさん
2007/05/09(水) 19:15:10IEアンダーバーに「アプレット 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.
(後略)
0356349
2007/05/09(水) 19:36:21なるほど。最初から入っているのとは別にもう一つランタイムが入るわけですね。
>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
0357デフォルトの名無しさん
2007/05/09(水) 19:44:36PATH に書かれたディレクトリを順番に検索するから、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 より優先順位が高い。
0358349
2007/05/09(水) 20:13:53わかりました。そういう意味があったんですね。ありがとうございます。
アプリケーションをjarファイルにして他PCでも動かしたいのですが、
適応するランタイムのバージョンというのは、どうやって見極めればいいのでしょうか?
0359デフォルトの名無しさん
2007/05/09(水) 21:58:49新たに追加されたクラス、メソッドは API仕様見れば since タグふってあるから、
それを調べれば、どのAPIがどのバージョンで動くかは大体分かる。
あとは javac -target とかで、出力したクラスファイルの互換性を気をつける事とか。
0360349
2007/05/09(水) 22:03:25またここで質問させてもらうことがあるかと思いますが、よろしくお願いします。
0361デフォルトの名無しさん
2007/05/09(水) 22:27:43どうしたらいいでしょうか?
0362デフォルトの名無しさん
2007/05/09(水) 22:34:21setSelected(false) しても、実際に反映されるのは
次にイベントディスパッチスレッドに処理が移った時なのよ。
>>143 のリンク先とか見てくれ。
0363デフォルトの名無しさん
2007/05/09(水) 22:39:09早速ありがとうございます。
見てみることにします。
0364デフォルトの名無しさん
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++;
}
0365デフォルトの名無しさん
2007/05/09(水) 23:26:040366デフォルトの名無しさん
2007/05/09(水) 23:54:22String[] buff = (String[])str.clone();
buff[2] = sonyu;
0367デフォルトの名無しさん
2007/05/10(木) 01:15:22>>309
win用のコードをX11でも動かせるように変更する必要は”ない”。
物理フォントを指定してたら依存する可能性があるが、そういうのはとりあえずコメントアウトしてよし。
問題は単なる環境設定。JDKやX11環境が整っているという認識が間違っている。
とりあえずFreeBSDのスレでも行って聞いてみたら?
0368デフォルトの名無しさん
2007/05/10(木) 07:18:17これ便利ですね。
ありがとうございました。
>>366
そうではないです。
0369デフォルトの名無しさん
2007/05/10(木) 08:44:56このクラスで改行文字を表すにはどうすればいいでしょうか。
もしそれよりも一般的な方法があれば教えてください。
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>
0370デフォルトの名無しさん
2007/05/10(木) 08:50:15変数は a,b,w でa,bは読み込んだ所まで大丈夫です。
a = w;
b = a;
w = b;
上記の式だとa=wは初期化されてないとエラーがでます。
たぶんwに何も数値がないからでしょうか?
フロートチャートだと上のような順番なんですけど
0371デフォルトの名無しさん
2007/05/10(木) 08:56:24"\n" でいいかと。
XMLならそもそも改行しなくていいじゃんとは思うが。
0372デフォルトの名無しさん
2007/05/10(木) 08:58:09> たぶんwに何も数値がないからでしょうか?
そのとおり。
> フロートチャートだと上のような順番なんですけど
フローチャートが間違っている。自分の頭で考えれば、間違っているこ
とは明白でしょでしょ?
0373デフォルトの名無しさん
2007/05/10(木) 09:05:48やっぱりそうですか、wに何かしろの数字をいれないと駄目なんですね。
退避用の変数を設ける以外何の説明も無かったけど助かりました。
0374デフォルトの名無しさん
2007/05/10(木) 09:14:26それを机に置いてみよう。
そして、その2つのコップの位置を、
コップを1つずつ動かして、交換してみよう。
さて、どういう風に動かしたかな?
0375デフォルトの名無しさん
2007/05/10(木) 09:49:28いつも中途半端に終わってるぞ。
0376デフォルトの名無しさん
2007/05/10(木) 09:52:35a = w;
b = a;
w = b;
訳分からんよw
a => w;
b => a;
w => b;
っていう意味じゃないのか?
w = a;
a = b;
b = w;
おもいっきり釣られてみるテスト
0377370
2007/05/10(木) 10:15:23ほんっとご親切にありがとうございます。
逆さになってましたね(汗)それと出力の部分も逆になってたようで成功してたのに変わってないようなってました。
アルゴリズムの観点で考える力が未熟ですよね、もっと勉強します
0378デフォルトの名無しさん
2007/05/10(木) 14:32:45Javaで継承されたメソッドのバイトコードはコンパイル時、
親classファイルに吐き出されるのでしょうか?
子classの継承したメソッドは親クラスのメソッドへのリンクになるんでしょうか?
0379378
2007/05/10(木) 14:35:03流してください。
0380378
2007/05/10(木) 14:53:010381デフォルトの名無しさん
2007/05/10(木) 14:56:350382デフォルトの名無しさん
2007/05/10(木) 16:58:320383デフォルトの名無しさん
2007/05/10(木) 17:35:48コンパイラとVMに依存すると思うよ
0384デフォルトの名無しさん
2007/05/10(木) 17:45:22人前で発声しなくても自分の心の中だけでの読み方でも良いので教えて下さい。
0385デフォルトの名無しさん
2007/05/10(木) 17:50:19> クラスのインスタンスのサイズ
なにそれ。
0386デフォルトの名無しさん
2007/05/10(木) 17:52:29メモリが足りないとかでるんですけど、
これはどうすれば解消できますか?
今までコンパイルされたものをリセットとかできますか?
0387デフォルトの名無しさん
2007/05/10(木) 17:53:38キャラ もしくは チャー と呼んでいる人が多い
0388デフォルトの名無しさん
2007/05/10(木) 17:59:11> これはどうすれば解消できますか?
条件が抽象的すぎて答えられまセン
> 今までコンパイルされたものをリセットとかできますか?
質問の意図が不明デス
0389デフォルトの名無しさん
2007/05/10(木) 18:08:04キャスバル兄さん
0390384
2007/05/10(木) 18:21:48チャー と読む人もそこそこ居るんですね。
実は自分も チャー 派なんですが、人前で読む場合は
何となく負けた感じがするので キャラ にしています。
>>389
アルテイシア乙
0391デフォルトの名無しさん
2007/05/10(木) 18:29:14本に載ってるサンプルのコードをメモ帳に入力して、
保存しようとするときにメモリに関する警告が出るときがあります。
なのでマイドキュメントに溜まった、
メモ帳に書いたサンプルのコードをかなり消したんですが、
未だに新しいコードを保存しようとすると同じ警告が出るときがあります。
(出ないときもあります。)
なので他の原因を考えたんですが、
今までコンパイルしたものは、
改めてコンパイル(javac)しなくてもjava 〜.javaだけで実行できますよね。
なので今までパソコンに記憶されたコードを消せば警告もでなくなるかなと思いました。
なのでどうやってそれを消せばいいかなと思いました。
0392デフォルトの名無しさん
2007/05/10(木) 18:31:44java 〜.java×
java 〜○
0393デフォルトの名無しさん
2007/05/10(木) 18:36:53てかPCのスペックは?
0394デフォルトの名無しさん
2007/05/10(木) 18:42:52Home Edition
intel(R) Celeron(R)M
processor 1500MHz
1.50Ghz, 248MB RAM
と書いてます。
0395デフォルトの名無しさん
2007/05/10(木) 18:44:16そうです。.classやソースコードです。
0396デフォルトの名無しさん
2007/05/10(木) 18:44:29円の内側に色を塗りつぶしたいのですがどのような方法が一番手軽ですか?
あとJava Runtime Environmentはどうやって起動するのですか?
0397391
2007/05/10(木) 18:56:06つまりクラスファイルが消去しなくても電源を消せばいい。
でも電源を消しても警告がでたのでクラスファイルを消しました。
まあ一応まだソースコードは保存できるので様子を見てみます。
ありがとう御座いました。m(_ _)m
0398デフォルトの名無しさん
2007/05/10(木) 18:57:02クラスファイルが→を
0399デフォルトの名無しさん
2007/05/10(木) 19:48:24ちょwイミフwwwて言われたいのか?
自作板の人間としてはそんなイミフなサポ来たら
間違いなく死ねるからその前に答えておくと
メモリ増設するかPC買い替えろ。
俺も>>397と同じスペックでEclipse+EclipseME+VE動かしてた時期があるがOSの使用メモリを73Mまで削って物理256-32M+スワップ384Mで運用してたが動くだけだったぞ。
0400デフォルトの名無しさん
2007/05/10(木) 21:05:35ソースコードのを中のintとかdoubleをコンパイルする度に
メモリがどんどん消費されていくのかなと思ったり・・。
まあ今のところは作業が継続可能なので、
作業が継続出来なくなるようなら買い換えます。
レス有難う御座いますm(_ _)m
0401デフォルトの名無しさん
2007/05/10(木) 21:19:54イミフwwww
0402デフォルトの名無しさん
2007/05/10(木) 21:24:510403デフォルトの名無しさん
2007/05/10(木) 23:55:35Swingでアプリを作っているのですが、
JFrameの上に配置したSwingコンポーネント上でも、
JFrameに登録したリスナのイベントを拾うことは可能ですか?
具体的にはJFrameにMouseMotionListenerをaddしてMouseMoved処理を書いているのですが、
JFrame上に配置しているJTabbedPane等を透過できず、イベントが拾えません。
もちろんJTabbedPaneにMouseMotionListenerを登録することもできますが、
結局その上に配置したボタンやらテーブルに邪魔されて同様の問題が発生します。
力技で全てのコンポーネントにリスナを登録するのは、
コンポーネント数が多すぎて現実的ではないと思います。
要は下部のコンポーネントに登録したリスナのイベントを、
上部のコンポーネントに関係なく拾いたいということなのですが、
このようなことは可能でしょうか?
もし可能であれば、ヒントを頂けるとありがたいです。
長文で申し訳ありませんが、よろしくお願いします。
0404デフォルトの名無しさん
2007/05/11(金) 00:27:29こんどからは↓で
Java低速GUI Swing 5
ttp://pc11.2ch.net/test/read.cgi/tech/1161139809/
0405デフォルトの名無しさん
2007/05/11(金) 01:24:25Swing用のスレがあったんですね。。
スレ違いになってしまいますが、話の続きなのでここで書かせていただきます。
以下のようにリスナの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
マウス移動のイベントだけガラスに拾ってもらいつつ、
マウス押下のイベントはガラスを突き抜けて、下のコンポーネントに到達させる様な挙動はさすがに無理なのでしょうか。
ちょっと都合が良すぎる考えのような気がしてきました。。
0406デフォルトの名無しさん
2007/05/11(金) 03:58:30電源を消すとクラスファイル等いろいろ消えるパソコンに買い替えなさい
0407デフォルトの名無しさん
2007/05/11(金) 04:21:290408デフォルトの名無しさん
2007/05/11(金) 08:35:48http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/SwingUtilities.html#convertMouseEvent(java.awt.Component, java.awt.event.MouseEvent, java.awt.Component)
0409デフォルトの名無しさん
2007/05/11(金) 10:14:43http://www.so-net.ne.jp/vivre/kokoro/psyqa1087.html
0410デフォルトの名無しさん
2007/05/11(金) 11:37:27Window下部に 警告 アプレット ウインドウ と表示されますが
この表示バーを消すことはできませんか?
0411デフォルトの名無しさん
2007/05/11(金) 11:39:27ttp://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html#glasspane
0412デフォルトの名無しさん
2007/05/11(金) 16:58:23レスありがとうございます。
うまくいきましたが、一つ疑問が起きました。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
の直後で改行しようとした所HIERARCHY_REQUEST_ERRが出ました。
調べた所このノードは子ノードにテキストノードを持てないということがわかりました。
ということはつまり、XMLでは一般的に改行しないんでしょうか?
テキストエディタで一見したときにわかりやすいと思のですが。
0413デフォルトの名無しさん
2007/05/11(金) 17:05:37怖ぇー
0414デフォルトの名無しさん
2007/05/11(金) 21:51:41わかりません。どなたか詳しい方ご教授願います。
とりあえず、2,10,16進数だけ勉強しました^^;)
本日から入社しましたのですが、なかなか教えてもらう機会がなかった
ので・・。やはり皆さんは23時帰りですか?
素人で申し訳ないです。
0415デフォルトの名無しさん
2007/05/11(金) 21:54:550416デフォルトの名無しさん
2007/05/11(金) 22:00:57それがプログラムが作れない未経験の状態なんで、基本的なことが
わからないんですよ。お奨めのサイトや本てありますか?
図々しくてごめんなさい。
0417デフォルトの名無しさん
2007/05/11(金) 22:01:21会社の人に聞いた方が早いよ。
0418デフォルトの名無しさん
2007/05/11(金) 22:04:33どうすればいいでしょうか?
0419デフォルトの名無しさん
2007/05/11(金) 22:06:46ここ、Javaスレだから。
0420デフォルトの名無しさん
2007/05/11(金) 22:11:440421デフォルトの名無しさん
2007/05/11(金) 22:13:160422デフォルトの名無しさん
2007/05/11(金) 22:22:440423デフォルトの名無しさん
2007/05/11(金) 22:27:01まだココで聞くには早いと思うぞ
0424デフォルトの名無しさん
2007/05/11(金) 22:43:1823時帰りではありません。
0425デフォルトの名無しさん
2007/05/11(金) 22:52:48何でもいいじゃん。
簡単なゲームでもいいし、何か計算させてもいいし。
0426デフォルトの名無しさん
2007/05/11(金) 23:11:48stdout(場合によってはstderrも)をファイルに送ればいいだけじゃないの?
0427デフォルトの名無しさん
2007/05/11(金) 23:28:32cygwinにあったっけ
0428デフォルトの名無しさん
2007/05/12(土) 01:53:20ルート要素外にはテキストノードは置けないですね。
試してないけど、
http://faq.javaranch.com/view?HowToPrettyPrintXmlWithJava
このへんを参考すると、自動で改行など挿入できるんじゃないでしょー
か。
0429デフォルトの名無しさん
2007/05/12(土) 03:21:01> テキストエディタで一見したときにわかりやすいと思のですが。
XMLはプログラムで扱いやすいようにしたもので、
人間が直接見たり編集したりするためのものじゃない。
人間が扱うならテキストエディタでなくXMLエディタなんかを使った方がいい。
0430デフォルトの名無しさん
2007/05/12(土) 05:01:09文書インスタンスを動的に変更するものであって
テキストデータをフォーマットするものではない。
まあ、元々はNetscapeのdynamic web architectureであるLiveDocumentの後継技術だからHTML用だが。
>>429の言う通り
意味が分からんなら諦めろ。
0431デフォルトの名無しさん
2007/05/12(土) 05:07:45>>429の言う通り総称符号化とはコンピュータ内での文章を保守・管理・閲覧を容易にするための研究分野だ。
人間が見づらいなんて論外、端から眼中にない。お門違い。
フューマンライクにフォーマットしたいならそういう
フォーマッタライブラリがあるからそれ使え。それか自分で書け。
0432412
2007/05/12(土) 16:35:13それならバイナリデータの方が良いと思いますが、
これは以前のなごりなんですかね。
皆さんレスありがとうございました。
0433デフォルトの名無しさん
2007/05/12(土) 16:42:500434デフォルトの名無しさん
2007/05/12(土) 16:44:12なぜそっちの方がいいと思ったん?
0436デフォルトの名無しさん
2007/05/12(土) 17:18:130437412
2007/05/12(土) 17:54:57スレ汚しスマソ
0438デフォルトの名無しさん
2007/05/12(土) 18:36:43なんで普通に足せないの??
0439デフォルトの名無しさん
2007/05/12(土) 18:37:58どうやって足しているかを書く
0440デフォルトの名無しさん
2007/05/12(土) 18:40:23BigDecimal b = new BigDecimal("10000000000000000");
BigDecimal c = a+b;
こうやろうとしてエラーになっている。
演算子オーバロードができたらねぇ。
0441デフォルトの名無しさん
2007/05/12(土) 18:59:460442デフォルトの名無しさん
2007/05/12(土) 19:10:57エロいひとにはそれが分からんのですよ
0443デフォルトの名無しさん
2007/05/12(土) 20:55:11ぜんぶ<T>で呼び出してるから一致しないわけないと思うんだけど、コンパイルが出来ません。
0444デフォルトの名無しさん
2007/05/12(土) 20:56:49どゆ事?
0445デフォルトの名無しさん
2007/05/12(土) 21:04:230446デフォルトの名無しさん
2007/05/12(土) 21:18:34ChangeEventでスライダを動かした時だけしか、イベントを発生できないようです。 スライダをクリックして
「握った」状態を感知したいのですが・・・
もしくは、そうできるようなものはないでしょうか? swingでの使用を考えています。
0447443
2007/05/12(土) 21:25:35型推論できそうな気もするけど、Iterator内に移したらコンパイルが通りました。
0448デフォルトの名無しさん
2007/05/12(土) 21:41:050449デフォルトの名無しさん
2007/05/12(土) 22:01:190450デフォルトの名無しさん
2007/05/12(土) 22:07:38BCEL とか使えばいい。
0451443
2007/05/12(土) 22:38:09Iterableの型をIteratorに引き継ぐ場合は
private class MyIterator implements Iterator<T>とするだけ。
MyIterator<T>としてしまうと型を上書きするみたい。
こんな間違い私だけかも知れないけど。
0452デフォルトの名無しさん
2007/05/12(土) 22:50:52これ、外側に MyIterable<T> の宣言とかが無いと、
何を書いてるか分からんぞ。
0453デフォルトの名無しさん
2007/05/12(土) 23:01:450454デフォルトの名無しさん
2007/05/12(土) 23:31:11何かお勧めのテキスト教えてください、情報技術者試験対策の勉強だと知らないようなことを
考えさせられて自分の力の無さを感じてしまうお
0455デフォルトの名無しさん
2007/05/12(土) 23:52:350456デフォルトの名無しさん
2007/05/12(土) 23:58:43おK、これで考える力をつけようと思います。
しかし値段すごいですね(((( ;゚Д゚))) とりあえず大きな本屋に行って立ち読みしますわ
0457デフォルトの名無しさん
2007/05/13(日) 01:05:32普段、赤本とか物理学などの本買ってると2万3万当たり前なので安く感じる。
最も高かったのが、医学の術式を記した本で5万。
0458デフォルトの名無しさん
2007/05/13(日) 01:11:190459デフォルトの名無しさん
2007/05/13(日) 01:13:45資格取得の参考本以外は手をつけた覚えないな
0460デフォルトの名無しさん
2007/05/13(日) 01:49:36まつもとゆきひろ氏が読んで目から鱗が落ちた本だな。
ttp://www.ruby-lang.org/ja/man/?cmd=view;name=Ruby%CD%D1%B8%EC%BD%B8#Eiffel
0461デフォルトの名無しさん
2007/05/13(日) 02:34:480462デフォルトの名無しさん
2007/05/13(日) 02:49:37{ } 強制の Perl では問題が生じない。
>ぶらさがりelse問題の回避
{ } 強制と elsif の導入で解決する問題。
>可読性の向上
趣味の問題なので何ともいえない。
>begin, caseの構文上の問題
これはある程度納得できる。
0463デフォルトの名無しさん
2007/05/13(日) 05:20:05お前は俺だ
0464デフォルトの名無しさん
2007/05/13(日) 10:28:31hd = h2 - h1; md = m2 - m1; 単純に時分をそのまま足す引くしか考えが浮かばないんですが終了時刻の方が小さいとマイナスと出ます。
逆にしても同じで開始終了どちらの大小関係なくマイナスにならないようにするヒントを教えていただけませんか?
0465デフォルトの名無しさん
2007/05/13(日) 10:38:200466デフォルトの名無しさん
2007/05/13(日) 10:47:490467デフォルトの名無しさん
2007/05/13(日) 10:51:09絶対値でOK
0468デフォルトの名無しさん
2007/05/13(日) 11:37:41Date start = new Date();
Date end = new Date();
long diff = start.getTime() - end.getTime();
int diffMinitue = diff / (1000 * 60);
int diffHour = diff / (1000 * 60 * 60);
0469デフォルトの名無しさん
2007/05/13(日) 11:39:09絶対値使うなwww
たぶん、12時25分(開始) 13時10分(終了)のような状況と思われ。
0470デフォルトの名無しさん
2007/05/13(日) 12:23:54m=m2-m1;
if(m<0) {
h=h-1;
m=m+60;
}
引き算のときに下の桁で足りなかったら上の桁から借りてくるって算数で習っただろ?
0471デフォルトの名無しさん
2007/05/13(日) 12:26:18それでやると日付またいだりしたときに面倒くさそうだね。
0472デフォルトの名無しさん
2007/05/13(日) 12:34:24日付をまたいだり月をまたいだり年をまたいだりするなら、
さらに上の桁から借りればいい。
月が変わる時の処理がちょっと面倒だけど。
まあ、そこまでの問題なら日時関連の標準APIを使うのが楽だろうが。
0473デフォルトの名無しさん
2007/05/13(日) 12:39:27どういうながれで問題が出されたのか解らんけど。
0474デフォルトの名無しさん
2007/05/13(日) 13:41:33今アプリゲットの開発講座を見ながらJ2MEのtoolkitでイメージの描写を
やってるのですが、解説にのってあるpngではなく自分で用意したpngを
使用すると、パッケージのところで
「アプリケーション記述子のJARサイズが実際のJARファイルサイズと一致しません」
と出るんですが。どこをいぢればいいか教えてください。
0475デフォルトの名無しさん
2007/05/13(日) 13:44:190476デフォルトの名無しさん
2007/05/13(日) 14:38:09だとイベントを発生しないので・・・ スライダーを動かして初めてイベントを発生する・・・
0477デフォルトの名無しさん
2007/05/13(日) 14:53:29値が変わった時にシークさせればいいと思うのだが。
MouseEventを捕まえればいちおうイベントは発生してくれる。
サムでない部分をクリックしてもMouseEventが発生するけど、
そのときはChangeEventも発生するはずなので区別を付けられないわけではない。
もしくは実装の詳細に入ってしまうのであまり良い方法ではないが、
MouseEventの発生位置がサムの領域かどうかで判断するか。
0478デフォルトの名無しさん
2007/05/13(日) 15:06:25>>474
0479デフォルトの名無しさん
2007/05/13(日) 15:17:58プロパティ
0480デフォルトの名無しさん
2007/05/13(日) 15:21:29そのサムを握った時に動画やアニメーションを停止させたいので、イベントが発生してくれるとうれしいのです。
もう少し、調べてみます。
0481デフォルトの名無しさん
2007/05/13(日) 15:37:26プロパティって言うのは、jadにjarファイルの容量を入れるってことですよね?
今はjavaファイルからclassファイルにコンパイルする段階でできないのですが。
0482デフォルトの名無しさん
2007/05/13(日) 16:35:21MIDPスレ行け
0483デフォルトの名無しさん
2007/05/13(日) 16:36:14了解です。。
0484デフォルトの名無しさん
2007/05/13(日) 17:38:14お勧めの参考書でもあれば教えてください。
0485デフォルトの名無しさん
2007/05/13(日) 18:18:16http://pc11.2ch.net/test/read.cgi/tech/1164359039/l50
俺の考えは、入門書はイラネ。
やさしいとか猫が解るとか6日で学ぶとか色々あるが、金の無駄。
いわゆる入門書のレベルならばWebで探せば幾らでもあるからタダ。
Webで軽く触ったなら、少し難しい本を買って辞書として使用すべし。
あわせて、独習Java等の演習問題を血を吐くまで打ち込むべき。
0486デフォルトの名無しさん
2007/05/13(日) 19:09:460487デフォルトの名無しさん
2007/05/13(日) 21:45:27JRE5を使うか使わないかは君次第
0488デフォルトの名無しさん
2007/05/13(日) 22:05:300489デフォルトの名無しさん
2007/05/13(日) 23:17:260490デフォルトの名無しさん
2007/05/13(日) 23:30:41Java問題集とかパズルとか読んだ方がずっといい
0491デフォルトの名無しさん
2007/05/13(日) 23:40:010492デフォルトの名無しさん
2007/05/14(月) 01:23:17どうすればいいでしょうか?
0493デフォルトの名無しさん
2007/05/14(月) 01:28:24という操作を再帰的に行う
下手すると全部消えるから再帰の止めどころを間違えないように
0494492
2007/05/14(月) 01:30:17その処理をしてくれるメソッドはないでしょうか?
0495デフォルトの名無しさん
2007/05/14(月) 01:37:41apache commonsのorg.apache.commons.io.FileUtilsには
deleteDirectoryやcleanDirectoryがある
0496492
2007/05/14(月) 01:45:04ありがとうございます。
0497デフォルトの名無しさん
2007/05/14(月) 03:38:52質問質問!
JavaのJFrameにFlashPlayerを乗せるにはどうすればいいですか!
教えてちょんまげ!!
ちなみにFlash側はActionScriot3.0で書くつもりです
0498デフォルトの名無しさん
2007/05/14(月) 03:58:47切腹
0499デフォルトの名無しさん
2007/05/14(月) 04:03:15int と String の異なる型をfor内部で宣言させたいのですが…
エラーになりますが、イメージとしてはこんな感じです。
for(int i=0, String s=""; i<foo.length; i++){}
0500デフォルトの名無しさん
2007/05/14(月) 04:17:230501デフォルトの名無しさん
2007/05/14(月) 04:41:08了解です。ありがとうございます。
0502デフォルトの名無しさん
2007/05/14(月) 09:12:10Excelファイルを参照して、指定したセルに書かれいている文字列を、
配列に格納するという方法はあるのでしょうか?
0503デフォルトの名無しさん
2007/05/14(月) 09:20:520504デフォルトの名無しさん
2007/05/14(月) 09:24:40調べてみてはいるのですが検討が付きません。
教えていただけませんか?
0505デフォルトの名無しさん
2007/05/14(月) 09:27:34POI使え
ttp://jakarta.apache.org/poi/
0506デフォルトの名無しさん
2007/05/14(月) 09:29:400507デフォルトの名無しさん
2007/05/14(月) 21:06:17参考書籍、それとも初心者用の解説サイトで学ぶのがよいのでしょうか?
またそれについてお勧めの書籍等ありましたら、教えていただけると有難いです。
0508デフォルトの名無しさん
2007/05/14(月) 21:07:39やさしいJavaプログラミング
0509デフォルトの名無しさん
2007/05/14(月) 21:26:26あんなもん教えるな。
0510デフォルトの名無しさん
2007/05/14(月) 21:50:420511デフォルトの名無しさん
2007/05/14(月) 22:04:400512デフォルトの名無しさん
2007/05/14(月) 23:16:26fileuploadライブラリを使用してアップロードは出来るように
なりました。
しかし、フォームのデータが取得出来ません。
ファイルをアップロードするために、「enctype="multipart/form-data"」を
入れているのですが、これを入れるとHttpRequest#getParameter()で
取得できないことは分かりました。
では、どうすれば取得できるのでしょうか?
FileItem#getFieldName()でフォームの名前(name)は取得できるように
なりましたが、値(value)は取得することが出来ません。
どうすればよいのでしょうか?
0513デフォルトの名無しさん
2007/05/14(月) 23:22:260514デフォルトの名無しさん
2007/05/14(月) 23:44:47GWT
0515デフォルトの名無しさん
2007/05/15(火) 00:19:42GWTというものが存在することは先ほど検索して分かりましたが、
それが今回のものとどういう関係があるのか全く分かりません。
もう少し詳しくお願いします。
0516デフォルトの名無しさん
2007/05/15(火) 00:24:50最近使ってないので覚えてないが
ドキュメントに書いてなかったか?
サンプルにもあったような気がするが
0517512
2007/05/15(火) 00:40:04FileItemのリファレンスを見ても分からなかったのですが、
サンプルを見るとgetString()で簡単にいけそうです。
今は環境が無いので、明日試してみます。
// Process a regular form field
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();
...
}
とりあえず、ありがとうございます。
0518デフォルトの名無しさん
2007/05/15(火) 02:50:44添削していただけないでしょうか?
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"); }
}
}
0519デフォルトの名無しさん
2007/05/15(火) 03:13:53キミが期待する具体的な動作(…を入力したら…が表示されて欲しい)と
そのプログラムがどう期待通りでないか、
を書きましょう。
0520デフォルトの名無しさん
2007/05/15(火) 03:56:540521デフォルトの名無しさん
2007/05/15(火) 04:10:44Java には標準で make 相当のコマンド/仕組みは無いですか?
皆IDE?
ググったら Jakarta の Ant なるものが引っかかったんだけど、
使い慣れたmakeにしがみつくより覚えて損はなさそうですか?
意見plz
0522デフォルトの名無しさん
2007/05/15(火) 04:22:52他人とすり合わせる必要がないのなら自分の一番使いやすい方法をとればいい。
javaのプログラミングで使うのならantは覚えても損はないとは思う。
0523デフォルトの名無しさん
2007/05/15(火) 04:46:55折を見て少しかじってみることにします。
すこし Ant の使い方を眺めていたんだけど、
xml で記述っていうのが慣れていないせいか何となく('A`)
ツールとかで機械的に吐くには便利そうだけど
レスありがとうございました。
0524デフォルトの名無しさん
2007/05/15(火) 09:30:160525デフォルトの名無しさん
2007/05/15(火) 11:14:51大量にビルドする時とか、JVM起動のフットプリントが結構響くので
makeだと2時間掛かるけどantに切り替えたら10分だった、という過去の経験がある。
最近のスペックのマシンとJVMだとそんなに気にならない可能性もあるけど
0526sage
2007/05/15(火) 15:06:31単に画像を入れ替えるだけだと更新されないばかりか
何度起動しても新しいスプラッシュ画像を毎回ダウンロードしてしまいます。
0527デフォルトの名無しさん
2007/05/15(火) 16:40:46そこでjavacの出力を英語かslickeditで日本語を表示できるようにするかのいずれかを
考えているのですが、どうすれば良いでしょうか?
slickeditはver11、 javaは最新版です。
0528デフォルトの名無しさん
2007/05/15(火) 21:16:50のようのCSVデータで"123,23,45"のような""でかこまれた
箇所だけを除いて、カンマ区切りでデータを抽出するにはどうすれば
いいでしょうか。
StringTokenizerを使用しようとしてなかなかうまく行きません。
ご教授よろしくお願いいたします。
0529デフォルトの名無しさん
2007/05/15(火) 21:27:460530デフォルトの名無しさん
2007/05/15(火) 21:37:331,2,3,4,5,6,"123,23,45",12,55
を
1 2 3 4 5 6 "123,23,45" 12 55
で分けたいのです。
"123,23,45"この部分をどうすればいいのかと・・・
0531デフォルトの名無しさん
2007/05/15(火) 21:39:45引用符外れるけど。
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(",")));
}
0533デフォルトの名無しさん
2007/05/15(火) 21:49:20123,23,45 の後に余分な空要素が入るような。
ま、>>530 の用が足りてるならかまわんけど。
0534デフォルトの名無しさん
2007/05/15(火) 22:07:03while(st.hasMoreTokens()){
String token = st.nextToken(inQuote ? "\"" : "\",");
if(token.equals("\"")) inQuote = !inQuote;
else if(!token.equals(",")) list.add(token);
}
0535デフォルトの名無しさん
2007/05/15(火) 22:11:09変数とかif文までは理解できたのですが、for文がどうしても理解できず悩んでます。
特に二重ループ(?)になると混乱して・・・
なにかアドバイス貰えませんか?
0536デフォルトの名無しさん
2007/05/15(火) 22:15:130537デフォルトの名無しさん
2007/05/15(火) 22:15:44その場で腕立て10回、腹筋10回を 10セットやってみよう。
それが二重ループだ。
0538デフォルトの名無しさん
2007/05/15(火) 22:19:56やさしいJavaって本で勉強はしたんですけど、研修で出た課題を解こうとしてもサッパリでして。
書き方乗っているから真似して書いて、と言われてます。
どこをどう真似すればいいのか聞いても、for文はループとしか答えてくれないんです。
0539デフォルトの名無しさん
2007/05/15(火) 22:22:380540デフォルトの名無しさん
2007/05/15(火) 22:24:150541デフォルトの名無しさん
2007/05/15(火) 22:25:48それがダメなら
その本でも違う本でも良いから何度も読んで例題をやってみるとか
誇張じゃなくて、本当に100回ぐらい繰り返して読むと突然理解できる時があるから
0542デフォルトの名無しさん
2007/05/15(火) 22:26:44腕立て1回やったら腹筋10回を10セットじゃね?
for(int 腕立て回数=0;腕立て回数<10; 腕立て回数++){
腕立てやる();
for(int 腹筋回数=0;腹筋回数<10;腹筋回数++){
腹筋やる();
}
}
System.out.println("もう無理ぽ");
0543デフォルトの名無しさん
2007/05/15(火) 22:28:30腕立て10回したら1分休憩を 10セットでも何でもいーけど。
0544デフォルトの名無しさん
2007/05/15(火) 22:30:420545デフォルトの名無しさん
2007/05/15(火) 22:31:370546デフォルトの名無しさん
2007/05/15(火) 22:37:14じゃあ、forをどう理解してるか教えて
0547デフォルトの名無しさん
2007/05/15(火) 22:40:29それってさ、実行すると
腕立て→腹筋*10→腕立て→腹筋*10→・・・
ってことにならね?
0548デフォルトの名無しさん
2007/05/15(火) 22:45:190549デフォルトの名無しさん
2007/05/15(火) 22:46:00理解しているというか教えられた内容はこんな感じです。
プログラムで繰返し処理を行う場合にfor文を使う
for文ではカウンターと呼ばれる変数をまわして処理が繰り返される
書き方はfor(初期化の式; 繰り返す数の式; 変化の式)と書く。
10回表示するとかは書けるんですけど、素数を表示しろってのが解らなくて・・・
0550デフォルトの名無しさん
2007/05/15(火) 22:48:28あと、変化の式とか初期化の式とかがよく解りません
やっぱり転職でしょうか
0551デフォルトの名無しさん
2007/05/15(火) 22:49:310552デフォルトの名無しさん
2007/05/15(火) 22:58:110553デフォルトの名無しさん
2007/05/15(火) 22:59:53どーまん せーまん
0554デフォルトの名無しさん
2007/05/15(火) 23:28:48そこからかぁ
ここで一から懇切丁寧説明すると長くなるからとりあえずJavaの入門サイトをググって自分
なりにある程度理解した上で質問した方がいいかも。
教育担当にしつこく食い下がる、でもいいけど(論点まとめた上でやらないと嫌がられると思うが)
まぁ最初は誰でも初心者だし理解するのは大変だろうけどこういうのってある日突然視界が
拓けるように見えてくるものだから諦めずにがんがれ。
0555デフォルトの名無しさん
2007/05/16(水) 00:10:56とくにJavaに多い
迷惑極まりない
もういいから、しんでくれ
0556デフォルトの名無しさん
2007/05/16(水) 00:18:30>プログラムで繰返し処理を行う場合にfor文を使う
間違い。
プログラム(アルゴリズム)で同じ処理を何度も行いたい場合、それを繰返し処理と呼ぶ。
for構文ってのは繰返し処理を実現するただの文法。
何を繰り返したいのか、考えてみること。
文字を出力するのか?数値を足すのか?数値で割れるのかを判定するのか?など。
>>555
いるんだよ。こういう文法だけ覚えろって先輩気取クンがさ・・・
とくにJavaに多い
迷惑極まりない
もういいから、しんでくれ
0557デフォルトの名無しさん
2007/05/16(水) 01:44:170558デフォルトの名無しさん
2007/05/16(水) 01:54:19B.jpgにENTERを押すとまたA.jpgに戻り、終了時にはC.jpgがうつる。
というプログラムを組んだつもりなのですが、常にC.jpgだけがうつり、ENTERを押してもなんの反応も示しません。
どうすればいいのでしょうか?
0559デフォルトの名無しさん
2007/05/16(水) 01:57:40きみのプログラムが間違っているんだと思うぞ。
0560デフォルトの名無しさん
2007/05/16(水) 02:05:290561デフォルトの名無しさん
2007/05/16(水) 04:31:1518行目のifの条件を見直してみ
0562デフォルトの名無しさん
2007/05/16(水) 04:35:36> どうすればいいのでしょうか?
デバッグすれば?
0563デフォルトの名無しさん
2007/05/16(水) 05:31:31JFrameの上にFlashPlayer載せるにはどうすりゃいいですか?
0564デフォルトの名無しさん
2007/05/16(水) 05:47:08slickeditってのがどんなものなのか知らないけれど、
javacの実行環境のlocaleを英語にしたければ、
-J-Duser.language=en
をjavacのオプションにすればいい。-Jの後に空白を置かないように。
0565デフォルトの名無しさん
2007/05/16(水) 05:48:53JFrame
0566デフォルトの名無しさん
2007/05/16(水) 11:29:05a.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を開けるようにしたいのですがどうすればいいのでしょうか?
わかりにくくてすいません。要するに
直接プログラム内でパスを記述するのでなく、変数に格納されている文字列を読み込み
それをパスとして読み込んでファイルを開くという方法を教えていただきたいのです。
0567デフォルトの名無しさん
2007/05/16(水) 11:41:19パスの形への整形は必要かもしれんが。
0568デフォルトの名無しさん
2007/05/16(水) 12:34:06その整形方法がわからないのですが。。
0569デフォルトの名無しさん
2007/05/16(水) 12:43:44POIFSFileSystem filein = new POIFSFileSystem(new FileInputStream(data));
でええんとちゃうのん?
整形も何も必要ないような
って必要あるね
dataがStringだとして
data=data.replaceAll("\\\\","\\");
とでもすれば?
0570デフォルトの名無しさん
2007/05/16(水) 14:06:51しなくていい
POIFSFileSystem filein = new POIFSFileSystem(new FileInputStream(data));
でええはず
あるいは data が Array や ArrayList みたいなのだったらループ汁
0571558
2007/05/16(水) 14:20:48とりあえず内容をあげてました。
http://www.vipper.org/vip508105.txt.html
0573デフォルトの名無しさん
2007/05/16(水) 14:40:49switchの中でgetKeyCode()を何度も呼び出してるからじゃないかな
0574デフォルトの名無しさん
2007/05/16(水) 14:44:21bkgrp 毎回 null
0575デフォルトの名無しさん
2007/05/16(水) 14:47:420576デフォルトの名無しさん
2007/05/16(水) 14:49:38KeyEvent の届き方ってのは仕様が無い。プラットフォーム毎(キーボードの種類毎)に挙動が違う。
keyPressed は押し始めに 1回だけ呼ばれるという前提で書いてるみたいだけど、
キー押し始めてからキー離すまで nミリ秒ごとに keyPressed を呼び出すプラットフォームもあるので要注意。
0577デフォルトの名無しさん
2007/05/16(水) 15:56:37ほんとだ。"C:\\\\\\\\\\hoge.txt"とかでも大丈夫だった。
先頭にドライブ文字が付いているからUNCパスと区別できるってことか。
0578デフォルトの名無しさん
2007/05/16(水) 16:00:03リモートオブジェクトがGCのタイミングで無くなってしまう可能性
ttp://d.hatena.ne.jp/nowokay/20060817
を潰しておきたいのですが、
static変数に持っておく、参照が切れない事が分かっている
インスタンスの変数とする、等の方法しか無いのでしょうか。
コード的に、もうちょっと体裁の良い形にしておきたいのですが。
また、リモートオブジェクトのエクスポートの瞬間にオブジェクトが
取得される可能性があるからコンストラクタでの処理が云々、
と言った話をトラブル話として過去に聞いたのですが、当時良く理解出来ませんでした。
この情報から推測できそうな有名な落とし穴等ありますでしょうか?
0579デフォルトの名無しさん
2007/05/16(水) 19:45:31いまのところ、一冊は候補があってもう何冊か目星をつけて見比べたいので。
0580デフォルトの名無しさん
2007/05/16(水) 20:54:58なぜプログラミングができないのかって本。
中身はJava入門本、目から何か出る。
0581デフォルトの名無しさん
2007/05/16(水) 22:57:09・・・は既にでじこも卒業
0582デフォルトの名無しさん
2007/05/16(水) 23:52:11ぜったいコレ
http://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
よく初心者に勧める本っていえば、猫でもわかる〜系が有名だけど
「本物の初心者」ならプログラミングって概念がさっぱりわからんだろうから
図やイラストがたくさんあったほうがかなりわかりやすい
(その辺を考慮せず薦める中級者・上級者がやたら多い)
なので、この本おすすめ
オライリー本だから当然、文章も良文です
0583デフォルトの名無しさん
2007/05/17(木) 04:38:42そのbeanをJSPからusebeanした場合、beanのinit()の部分の処理は次回のjspへのリクエスト時は処理されないですみますか?
それともjspへのリクエストの度にusebean⇒beanのinit()処理となってしまいますか?
0584デフォルトの名無しさん
2007/05/17(木) 07:48:09恒例の流れなんだが、Head First Javaは良書だが初心者にはどうかと。
どんな本でも良いんだが、打ち込んだソースが動かないとか、論外。
自分的にはGoogleが一番良い参考書だと思うぞw
0585デフォルトの名無しさん
2007/05/17(木) 07:51:27beanのコンストラクタから init() を呼び出しているって事でOK?
useBeanした時にどうなるかは、beanのスコープに依存する。
スコープがrequestならば毎回初期化される(インスタンスが生成される)。
sessionであるならば、同一sessionで使いまわされると理解して良い。
(細かい所は省略しているからあとは自分で調べろ)
initにSystem.outとかブレイクポイントとか仕掛けて、両方の挙動を確認するのがいいよ。
0586デフォルトの名無しさん
2007/05/17(木) 11:36:37オライリーのJAVAクイックリファレンスで勉強中なんですが
初期の段階(クラスのメンバー等)のところでつまづいてなかなか先に進めないでいます。
とりあえずと読み進めていますが、理解できないところが多くなってきました。
こういうときは、理解できるまで繰り返し読むしかないのか
分からないなりに一通り読み進めていく方が良いのか、どちらの方が良いでしょうか?
そもそも、この程度の箇所でつまづいてる時点ではJAVAはまだ早いでしょうか?
厳しい意見でも構いませんのでアドバイスお願いします。
0587デフォルトの名無しさん
2007/05/17(木) 11:39:47プログラムを実際に組んで動かしたことありますか?
0589558
2007/05/17(木) 12:18:27しかし未だにプログラムは完成してません。
もう少し自分で頑張るつもりです。
0590名無しさん
2007/05/17(木) 12:31:37やってみれ
0591586
2007/05/17(木) 12:46:52現在掲載されているのは計算が主体のようですね。
でも、勉強になります。連載中のようなのでこれからが楽しみです。
ありがとうございました。
0593デフォルトの名無しさん
2007/05/17(木) 14:38:14Calculator calc = new Calculator();
String value = calc.eval(expr);
value = 13 になる
みたいなクラスってありますか?
0594デフォルトの名無しさん
2007/05/17(木) 14:54:19自分で作ってください
0595デフォルトの名無しさん
2007/05/17(木) 15:13:346以降ならスクリプトAPI使ってRhinoに評価させるって手はあるな
0596デフォルトの名無しさん
2007/05/17(木) 15:32:400597デフォルトの名無しさん
2007/05/17(木) 15:45:26というような問題はループを使うのですか?どなたか答えを、、
0598デフォルトの名無しさん
2007/05/17(木) 15:53:570599デフォルトの名無しさん
2007/05/17(木) 16:02:55何を使っても良いのでは
void printInnsuu(int n){
for(int i = 2; i <= n / 2; i++)if(n % i == 0 )System.out.print(i + ",");
}
0600デフォルトの名無しさん
2007/05/17(木) 16:29:41ありがとうございました(^3^)/
0601デフォルトの名無しさん
2007/05/17(木) 17:21:48--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);
}
}
0602デフォルトの名無しさん
2007/05/17(木) 17:23:27%%
%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);
}
}
0603デフォルトの名無しさん
2007/05/17(木) 18:36:39可能でしょうか?
0604デフォルトの名無しさん
2007/05/17(木) 20:39:31イミフ
0605デフォルトの名無しさん
2007/05/17(木) 22:24:04たとえばSWTで1画面作って、jarにして
別のシステムからボタンクリックイベントとかで、
このjarにした画面を呼ぶ事ができるのかなって、、、
0606デフォルトの名無しさん
2007/05/17(木) 22:27:35できると思うけど。
具体的な状況がサッパリわからんので、
具体的にどうやるかは自分で考えれ。
0607デフォルトの名無しさん
2007/05/17(木) 22:57:49SWTで画面を作って、jarにするところまでできたのですが、
それを今度は、JFrameで作った画面のボタンクリックイベントで
jarにした画面を表示させたいのですが、具体的にどう記述すれば良いか
色々しらべてもわからなかったので、もしよろしければ教えてください。
0608デフォルトの名無しさん
2007/05/17(木) 23:10:43Runtime.exec(String command)
0609デフォルトの名無しさん
2007/05/17(木) 23:30:38static 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」と表示されます。
何故そうなるかご教授願いたいのです。
0610デフォルトの名無しさん
2007/05/17(木) 23:38:54>} else if(b = false) {
bにfalseを代入してるから?
0611デフォルトの名無しさん
2007/05/17(木) 23:40:21それ、比較じゃなくて代入だから。
比較したいなら if(b == false)
0612デフォルトの名無しさん
2007/05/17(木) 23:52:40バグが入るので絶対お薦めしません
if( b )
if( !b )
これでいいだろ?
0613609
2007/05/18(金) 00:01:22なるほど、わかりました。
どうもありがとうございました。
0614デフォルトの名無しさん
2007/05/18(金) 00:45:18if(b){} else {} でいいじゃん。
0615デフォルトの名無しさん
2007/05/18(金) 01:09:47>>608
そういう意味じゃなくてOOoみたいに別々に固めた別コンポーネント(ウィジェット)を連携したいって意味じゃない?
0616デフォルトの名無しさん
2007/05/18(金) 01:16:01http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
> f(b==ture) else
そんな事書いてなくね?
0617デフォルトの名無しさん
2007/05/18(金) 01:22:39【不恰好なコード】
if (b == true) {
// 処理
} else if (b == false) {
// 処理
}
【美しいコード】
if (b) {
// 処理
} else if (!b) {
// 処理
}
0618デフォルトの名無しさん
2007/05/18(金) 01:25:01釣りか?
0619デフォルトの名無しさん
2007/05/18(金) 01:26:16みなかったことにしてくれ
0620デフォルトの名無しさん
2007/05/18(金) 06:24:48ちなみに == true を書く派だが、これは盲点。
if( b = false) ってバグは怖いな
ためしにint あたりで同じバグを書いてみよう
if(i = 10)
とかね。
こっちはコンパイルエラーとなる。
実はJavaの場合、代入式の実行結果として代入値が返されるんだわ。
だからint の場合は、代入値(10)が ifの論理式の所に渡されるからNG。
これに対して、boolean の場合は、falseが渡されるから、結果としてOK。
そう考えると、612の主張もアリと感じる。
0621デフォルトの名無しさん
2007/05/18(金) 06:45:48比較するというのなら比較演算の結果も当然比較するべきだろう。
その結果も boolean なので(以下略
0622デフォルトの名無しさん
2007/05/18(金) 07:37:550623デフォルトの名無しさん
2007/05/18(金) 08:06:040624デフォルトの名無しさん
2007/05/18(金) 10:24:01速度速いしC++の方がいいと思うんだけど。
0625デフォルトの名無しさん
2007/05/18(金) 10:31:11JavaでCのソフトは作れないなぁ
0626デフォルトの名無しさん
2007/05/18(金) 10:41:14組み込みシステムとかは?
0627デフォルトの名無しさん
2007/05/18(金) 11:24:29マルチリンガル必須だよ
0628デフォルトの名無しさん
2007/05/18(金) 12:30:18判定では、比較させないのがバグを回避するのに有効だと思うが・・・・
Cや、Perlなど boolean以外の値も真偽判定に使えるような言語だと、
比較を書くのは真偽判定に使っていると明示すことこになって嬉しいんだけど
Javaはbooleanでしか判定しないので比較を書かない方がいいと思う
0629デフォルトの名無しさん
2007/05/18(金) 12:46:29ふむふむ。
それならば、メソッドの戻り値がbooleanの場合はどうする?
if(isHogeHoge()) {}
と
if(isHogeHoge() == true) {}
だと後者のほうが解りやすいと俺は思う。
変数だと書かないのもありと思うけど、でも!は嫌いだなぁ。
見落とすんだよね・・・
0630デフォルトの名無しさん
2007/05/18(金) 13:32:15俺は >>628 じゃないけど、前者の方が良い。
if (!isHoge()) と if (isHoge() == false) でも前者かな。
0631デフォルトの名無しさん
2007/05/18(金) 13:33:19慣れの問題だろうが、俺はない方がはるかに分かりやすい。
というか、C/C++ 使ってると true と比較するのはものすごく抵抗がある。
ctype.h の is 系関数とか 1 以外の値も返すようになってる実装だったりすることも多いし。
0632デフォルトの名無しさん
2007/05/18(金) 13:40:30ってか、文法似てるけど別の言語だからスレ違いだね。ごめん。
0633デフォルトの名無しさん
2007/05/18(金) 13:41:240634デフォルトの名無しさん
2007/05/18(金) 13:46:46個人的主観で言うならば日本語に直してスムーズに読める方を採用する
if(isHogeHoge()){} →もしHogeHogeならば(比較的素直に読める)
if(isHogeHoge() == true){} →もしHogeHogeが真ならば(いかいもプラグラム的)
0635デフォルトの名無しさん
2007/05/18(金) 14:31:32こう考えるんだelse if(!b)else assert false;
それは契約だと・・・・なんだって?到達不能だって?
0636デフォルトの名無しさん
2007/05/18(金) 14:33:19b が別スレッドから変更される可能性があるんだよ。たぶん。
0637デフォルトの名無しさん
2007/05/18(金) 15:07:020638デフォルトの名無しさん
2007/05/18(金) 15:48:14つ volatile
0639デフォルトの名無しさん
2007/05/18(金) 16:02:380640デフォルトの名無しさん
2007/05/18(金) 16:23:51private boolean 解決 = false;
/* 中略 */
if (解決) { /* 嘘やん(心の声) */} else { /* 到達不能ということにしたい */ }
}
0641デフォルトの名無しさん
2007/05/18(金) 16:29:53!を見落とすより間違った代入を見落とした方がバグとして痛いだろう
0642デフォルトの名無しさん
2007/05/18(金) 17:21:340643デフォルトの名無しさん
2007/05/18(金) 17:32:37booleanは引き算できないってこと分かってる?
0644デフォルトの名無しさん
2007/05/18(金) 18:02:16どなたか教えてください。
ドメインaaaaa.comからhttp://bbbbb.com/へ、
リンクが貼られているかをチェックするプログラムを作りたいと思っています。
現在サイト運営していて、
相互リンク先から本当に自分のサイトにリンクされているのかを、
確認したいと思っているのですが、
リンク件数が1000件を超えているため、
プログラムでチェックしたいとおもっています。
Javaでなくてもいいのですが、
JSpiderというものがあるのを知り、
こちらにかきこませていただきました。
べつに言語はJavaに固執しているわけではありません。
参考になるサイトなどありましたら教えていただけないでしょうか。
どなたかお願いします。
0645デフォルトの名無しさん
2007/05/18(金) 19:47:43http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=38472&forum=12&1
0646デフォルトの名無しさん
2007/05/18(金) 20:02:30パッシブな調査方法でいいのなら、
ログのリファラをチェックするのが一番確実だと思います。
それだと、相互リンク自体が有効かどうかチェックできるし
ネットワークトラフィックを発生させる事もありません。
1.相互リンクをお願いする
2.相手にリンク作ったら1回踏んで動いていることをチェックしてもらう
3.毎月(自分の納得する頻度で)ログをチェックする
4.相互リンクを結んでいる相手のリファラを持つアクセスが無い相手のみ目でチェック
これでOK.
1000件以上も単なるリンクチェックだけに回るのは
極めて非常にとても無駄です。
0647デフォルトの名無しさん
2007/05/18(金) 20:17:52if(! b) みたいに、目立つように。
0648デフォルトの名無しさん
2007/05/18(金) 20:18:05http://q.hatena.ne.jp/1175700361
0649デフォルトの名無しさん
2007/05/18(金) 20:19:22http://hp.webnavisys.com/php/
0650デフォルトの名無しさん
2007/05/18(金) 20:20:03http://exp.webnavisys.com/tool/php0.html
0651デフォルトの名無しさん
2007/05/18(金) 20:25:57俺らは ! は必ず三つ並べるようにしてる。
if(!!!b) みたいに、目立つように。
0652デフォルトの名無しさん
2007/05/18(金) 20:35:36なにー!
くそー、じゃあオレは4つ並べちゃうぞ
0653デフォルトの名無しさん
2007/05/18(金) 20:39:33ちょw それヤバいwww
0654デフォルトの名無しさん
2007/05/18(金) 20:41:49だめじゃん
0655デフォルトの名無しさん
2007/05/18(金) 20:42:27ってか、3つや5つならオッケーなんだよな。
4つや6つ並べると負けってのは何か理不尽じゃね?
納得いかない奴の数→(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ry
0656デフォルトの名無しさん
2007/05/18(金) 20:48:07wを2つ並べるのも避けてるみたいですが、意図的ですか!!!ww1w!w!!ww
というか
_, ._ 金曜の夜なのに
(´・ω・) くそレスが次から次へと…
○={=}〇,
|:::::::::\, ', ´
、、、、し 、、、(((.@)ww意図的ですか!!!ww1w!w!!wwwbw!!ww
0657デフォルトの名無しさん
2007/05/18(金) 21:24:47結局、JSR-133って何が変わったんだっけ?
0658デフォルトの名無しさん
2007/05/18(金) 21:29:480659デフォルトの名無しさん
2007/05/18(金) 21:36:31(´・ω・) く あまり糞レス増やすなよー
○={=}〇,
|:::::::::\, ', ´
、、、、し 、、、(((.@)!!! って流石に ! に最適化されるよね?
0660デフォルトの名無しさん
2007/05/18(金) 23:33:390661デフォルトの名無しさん
2007/05/18(金) 23:34:590662デフォルトの名無しさん
2007/05/18(金) 23:35:000663デフォルトの名無しさん
2007/05/18(金) 23:35:440664デフォルトの名無しさん
2007/05/18(金) 23:42:100666デフォルトの名無しさん
2007/05/19(土) 00:21:33構文エラーだね。
0667デフォルトの名無しさん
2007/05/19(土) 00:27:410668デフォルトの名無しさん
2007/05/19(土) 00:30:44マジレスすると、Java では 1 ++ ++ -- + -- ++ ++ + - + - ++ - + 2 と区切られなければならない。
1++2 も同じ理由でコンパイルエラーになる。
0669デフォルトの名無しさん
2007/05/19(土) 00:32:350670デフォルトの名無しさん
2007/05/19(土) 02:45:35クライアントサイドにSwingをサーバサイドにサーブレットを使おうと考えています。
通信部分はどうしたらいいのでしょう。
0671デフォルトの名無しさん
2007/05/19(土) 02:51:400673デフォルトの名無しさん
2007/05/19(土) 03:39:510674デフォルトの名無しさん
2007/05/19(土) 05:43:23HTTPSでも問題ないですか?
0675デフォルトの名無しさん
2007/05/19(土) 05:45:14ttp://jakarta.apache.org/site/downloads/downloads_commons.html
0676デフォルトの名無しさん
2007/05/19(土) 06:17:14このページにある、リスト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オブジェクトが取得できるのでしょうか?
0677デフォルトの名無しさん
2007/05/19(土) 07:41:15> 10行目の部分でPasswdクラスのオブジェクトを取ってくると記述されていますが、
そんなこと書いてない。テキストを誤解している。
0678デフォルトの名無しさん
2007/05/19(土) 07:43:54「Passwdを取得する」ではなく「Passwaを引数とする」ではないの?
0679676
2007/05/19(土) 08:11:34何故か初歩的なこと忘れてました。
「dispMenu(Passwd pwd)」って記述したら自動的に
「dispMenuに渡された引数がそのままPasswdに渡されて、尚且つpwdオブジェクトが生成される」とか
変なことばかり考えてまして。
ありがとうございました。
0680デフォルトの名無しさん
2007/05/19(土) 13:46:16注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください
というエラーがコンパイルすると出るんですがなぜですか?
同じものを学校のPCでやってもでなかったのに
0681デフォルトの名無しさん
2007/05/19(土) 14:13:45javac -source 1.4 str.java
ってやってみ?
学校のコンパイラのバージョンは古いからエラーが出なかったんだ。
0682デフォルトの名無しさん
2007/05/19(土) 14:25:36できました!
ありがとうございます
0683デフォルトの名無しさん
2007/05/19(土) 19:24:25switch (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)
ってエラーが出てコンパイルできるが実行できないんですが原因を教えてください
0684デフォルトの名無しさん
2007/05/19(土) 19:40:43とりあえずエラーが発生してる場所が違うな。
>at java.lang.Integer.parseInt(Unknown Source)
>at RinkouPractice4.main(RinkouPractice4.java:22)
まぁこれ見る限りreadLine()してきたデータそのままparseInt()に渡してるんだろうな
0685デフォルトの名無しさん
2007/05/19(土) 20:41:46BufferedReader 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;
}
なぜエラーが出るんですか?
0686デフォルトの名無しさん
2007/05/19(土) 21:17:08mainメソッドから数えて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: "+"
となる、と。
入力データのチェック入れれば回避できるんでない?
0687デフォルトの名無しさん
2007/05/19(土) 21:41:4921 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);
こうなってますが具体的にはどうすればよいのでしょうか?
0688デフォルトの名無しさん
2007/05/19(土) 23:01:22Generic使えよ
0689デフォルトの名無しさん
2007/05/19(土) 23:53:00まだ出来ないんですが誰か助けてください
0690デフォルトの名無しさん
2007/05/20(日) 00:14:34これってTomcatとかから借りてきてそのまま配布してもいいんですか?
0691デフォルトの名無しさん
2007/05/20(日) 00:30:24readLineメソッドで読み込んだ文字列(変数ha以外)が数字又は一文字目が"-"以外だったら
エラー処理を行う(再入力させるもよし、Exception投げるもよし、問答無用でプログラム終了でも…)
要するにInteger#parseIntがちゃんと処理できる値が入力されていることを保証してやる
ユーザが作り手の意図した通りの入力してくれるとは限らないから入力チェックは必須。
0692デフォルトの名無しさん
2007/05/20(日) 00:59:45while(true) {
String str = buf.readLine();
if(str == null) { throw new EOFException(); }
try { return Integer.parseInt(str); }
catch(NumberFormatException e) {
System.out.println("残念、もう一度");
}
}
}
0693デフォルトの名無しさん
2007/05/20(日) 02:11:35残念ながら1.4が本当のターゲットらしいんでgenericsを使っちゃコンパイルできなくなる。
別の所でそれより新しいバージョンでコンパイルして警告を出されて焦ったようだ。
0694デフォルトの名無しさん
2007/05/20(日) 04:08:12つ -source 1.5 -target jsr14
0695デフォルトの名無しさん
2007/05/20(日) 04:13:02USBポートに対する入出力を行うライブラリでオススメ教えてください
0696デフォルトの名無しさん
2007/05/20(日) 04:23:35プログラムですが、たとえば
0>10
1>11
2>0
と入力すると、本来
1
と出力されてほしいのに、
1
1
と出力されてしまいます。
どこがおかしいのかご教授くださいmm
0697697
2007/05/20(日) 04:26:12public 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]);
} } }
0698デフォルトの名無しさん
2007/05/20(日) 06:03:42jUSBを自分でwindowsに対応させる。
0699デフォルトの名無しさん
2007/05/20(日) 06:26:32これ便利だな
はたからthx
0700デフォルトの名無しさん
2007/05/20(日) 07:25:48境界条件を頭の中でシミュレート。わかんねーならトレース実行でもしろ。
0701デフォルトの名無しさん
2007/05/20(日) 08:35:251.4でコンパイルするのが目的で1.5以上のコンパイラの機能は使えない
1.4の実行環境をターゲットにして1.5以上でコンパイルするんじゃないから
1.4のコンパイラしかない環境でコンパイルするにはそのオプションは空しい
0702デフォルトの名無しさん
2007/05/20(日) 11:17:59whileのところが今のままでは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" );
}
0703デフォルトの名無しさん
2007/05/20(日) 11:20:040704デフォルトの名無しさん
2007/05/20(日) 11:24:280705デフォルトの名無しさん
2007/05/20(日) 11:28:07>>702
とりあえずJavaDoc嫁。EOFを返すなどと何処に書いてある?
2chを辞書代わりに使うな、むしろ時間の無駄と分かるぞ。
0706デフォルトの名無しさん
2007/05/20(日) 11:31:41>>バイト単位の読み込みでは、バイトが読み込まれたときに -1 が返されます。プリミティブ読み込みでは、EOFException がスローされます。
こういうこと書いてたので-1が返るのかなと思ってました。
それじゃもっとよんでみます
0707デフォルトの名無しさん
2007/05/20(日) 11:39:570708デフォルトの名無しさん
2007/05/20(日) 11:43:36どうしてそんな偉そうなんだ?
0709デフォルトの名無しさん
2007/05/20(日) 11:49:22逆ギレかよ、わかんねーならそれなりの態度があるだろうに
0710デフォルトの名無しさん
2007/05/20(日) 13:45:500711デフォルトの名無しさん
2007/05/20(日) 16:04:190712デフォルトの名無しさん
2007/05/20(日) 17:22:35その月が何日あるかについてのプログラムを組んでみたのですが、
コンパイル問題が未解決です。
構文エラーがあります。"}" を挿入して MethodBody を完了してください。
構文エラーがあります。"}" を挿入して ClassBody を完了してください。
と出て実行できません。
最後の『 } 』の数は合っていると思うのですが、何故エラーが出ているのでしょうか?
0713712
2007/05/20(日) 17:23:51BufferedReader 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("月数の範囲を超えています");}
}
0714712
2007/05/20(日) 17:24:33{
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の実数です");}
}
}
}
0715712
2007/05/20(日) 17:26:500716712
2007/05/20(日) 17:58:54何が問題だったんだろう……
0717デフォルトの名無しさん
2007/05/20(日) 19:23:19つ余計な括弧がある
つ右クリック ⇒ ソース ⇒ フォーマット
0718デフォルトの名無しさん
2007/05/20(日) 19:32:200719デフォルトの名無しさん
2007/05/20(日) 19:36:31スレ違い
★★ Java の宿題ここで答えます Part 61 ★★
http://pc11.2ch.net/test/read.cgi/tech/1179168569/
0720デフォルトの名無しさん
2007/05/20(日) 22:51:05フォルダを指定しエクスプローラを開く、
といった処理をしたいんですが、なかなか情報が見つかりません。
なにか良い方法があれば教えてください。
ちなみにGUIはSWTを使用し作成しています。
0721デフォルトの名無しさん
2007/05/20(日) 23:25:16質問が良くわからないんだけどSWTでエクスプローラーを作ったって事?
他にGUIが見当たらないんだが・・・。
0722デフォルトの名無しさん
2007/05/20(日) 23:42:14Runtime.exec(String command)
どう開くかは適当に。
cmd /c start ......
とか
http://support.microsoft.com/kb/152457/ja?FR=1&PA=1&SD=HSCH
とか
ところで >>603-608 のながれと関係あるの?
0723デフォルトの名無しさん
2007/05/20(日) 23:52:30きがする、なんか違いあるの?
0724デフォルトの名無しさん
2007/05/21(月) 01:32:360725デフォルトの名無しさん
2007/05/21(月) 06:13:540726デフォルトの名無しさん
2007/05/21(月) 11:47:38一回全部よみこむ→該当部分削除→書込み直す
っていう方法は思いついたんですけど、
効率悪い気がするんですが、ほかにいい方法ってないですか?
0727デフォルトの名無しさん
2007/05/21(月) 12:08:540728デフォルトの名無しさん
2007/05/21(月) 12:19:33ttp://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を指定するのとで
何が変わってくるのでしょうか?
0729デフォルトの名無しさん
2007/05/21(月) 13:04:27javaコマンドの引数に指定するのは、ファイル名ではなく
パッケージ名を含むクラス名(FQCN:完全修飾クラス名)であることに注意。
”java HelloWorld2”のコマンドは、
HelloWorld2.classを参照するよう指定しているのではなく、
クラスパスからHelloWorld2というFQCNのクラスを見つけて、
それを実行するよう指定している。
この場合、HelloWorld2のFQCNはtest.HelloWorld2なので、
該当するクラスがクラスパスにないためNoClassDefFoundErrorになる。
0730デフォルトの名無しさん
2007/05/21(月) 13:13:53補足。パッケージ名はclassファイル自体に埋め込まれるので、
HelloWorld2.classをC:\Source\javaに移動しても、
HelloWorld2のパッケージを移動したことにはならない。
0731デフォルトの名無しさん
2007/05/21(月) 13:53:20おまえはおれか
0732デフォルトの名無しさん
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
が出てしまいました。
「パッケージを移動したことにはならない」というのは
「単純にフォルダ移動してもパッケージ情報(?)は変わらないから
パッケージと同名のフォルダに入れておかなければならない」
という意味でしょうか?
0734デフォルトの名無しさん
2007/05/21(月) 14:53:29そういう意味でおk
0735デフォルトの名無しさん
2007/05/21(月) 15:33:15結局API読みまくった結果、ResultSetを直でいじくりまわすのはやめて、
内部クラス作ってそれのpublic変数に結果セットの最終行までResultSet.getStringしてって
ArrayListのオブジェクトにつっこんでArrayListのオブジェクト.size()しました。
配列のサイズきめたくて結果セットの行数しりたかったんですけど、配列作るよりArrayListつかったほうが何かすっきりしました
0736デフォルトの名無しさん
2007/05/21(月) 17:14:08合ってるがもっと単純明解な前提条件があるぞ。
フォルダの移動はOSのオペレーション、パッケージの指定はjavaの仕様。
根本的、本質的にもこの二つはまったくの別物。
くっつけて考えてしまうならそこが"間違えて分からなくなってる"部分だ。
まずは問題の切り離しからだな。
0737デフォルトの名無しさん
2007/05/21(月) 17:52:51渡して受け取り側が辿れるようにするには、各メソッド内で通信するよう自前で作るしかないのでしょうか。
0738デフォルトの名無しさん
2007/05/21(月) 22:04:02をa[0]〜a[3]のバイト列をもつint型に変換する方法教えてください。
0739デフォルトの名無しさん
2007/05/21(月) 22:11:550740デフォルトの名無しさん
2007/05/21(月) 22:24:35a[0]<<24|a[1]<<16&0xff0000|a[2]<<8&0xff00|a[3]&0xff
こうだ
0741デフォルトの名無しさん
2007/05/21(月) 22:36:31new DataInputStream(new java.io.ByteArrayInputStream(a)).readInt();
java.nio.ByteBuffer.wrap(a).getInt();
0742デフォルトの名無しさん
2007/05/21(月) 22:58:25適当なトランザクションレベルで select count(適当なカラム) from テーブル
という SQL を発行すればいいよ。リソースを消費を気にしないなら count(*) でも可。
0743デフォルトの名無しさん
2007/05/21(月) 23:10:41対策まで一緒だな
おまえはおれか
0744デフォルトの名無しさん
2007/05/21(月) 23:13:21質問の意図が良く分からんけど
org.JSON とか使うと解決するかもね
0745デフォルトの名無しさん
2007/05/22(火) 00:55:410746デフォルトの名無しさん
2007/05/22(火) 01:14:010747720
2007/05/22(火) 01:24:15>>721
自分で作ったGUIからWindowsのエクスプローラを呼ぶには?
という質問でした。
結局JNI経由でWINAPIのShellExecuteを呼び出す形式で解決しました。
Webしかやったことない自分としては
GUIは妙に難しく感じます^^
0748デフォルトの名無しさん
2007/05/22(火) 01:25:57フォームの入力チェックにも使われている
あー仕事がほしいー
0749720
2007/05/22(火) 01:29:44Submitしないという時点でクライアント側の処理になります。
サーブレットでの処理は無理です。
Javascriptが一番手っ取り早いのでは?
0750デフォルトの名無しさん
2007/05/22(火) 01:46:17言葉が意味わからんがsubmitなしではservletに渡すことは普通は無理
XMLHttpRequestを使えばできる(ブラウザー依存)
いわゆるAJAXだな
0751デフォルトの名無しさん
2007/05/22(火) 02:49:06Ajax
GWT
0752デフォルトの名無しさん
2007/05/22(火) 05:56:30実は最初はそうしてたんですが、レコード数が膨大でcount(*)のリソースがどうしても気になって気になって、今の方法にしました。
>>743
もうステップ数を気にする時代ではないような気がしたので、リソースとのバランスを見ても、この方法がやはりベストなのかなと。
贅沢を言わせてもらうと>>727を読んだ時点で教えてもらいたかったです・・・
0753デフォルトの名無しさん
2007/05/22(火) 06:11:20ごめん
ほぼ同じペースで同じことやってるみたいなのでw
当初は ArrayList へ移し替えやってたんだけど
いろいろ事情があって
結局いまは ArrayList はやめて JSONArray に変更したんだけど
標準のコンテナ(Hash Map など)よりも意外と便利で病みつきになりそう
0754デフォルトの名無しさん
2007/05/22(火) 10:12:13ありがとうございます。
質問の意図が分かりづらかったようですみません。
ネットワーク越しにリストとなるデータを転送する際、コレクションや配列をそのまま渡すと
データが大量だった時にメモリを圧迫する可能性があるため、一気に渡すのではなく
少しずつ渡す必要があります。
そうするとIteratorのようなインタフェースから少しずつ取得できると理想ですから、
現在の私の状況であれば RMI 通信を隠蔽した Iterator 実装があると理想だったのですが、
見つけられなかったため質問しておりました。
JSONライブラリがこの背景と合っていたか不明ですが、少々調べてみます。
0755デフォルトの名無しさん
2007/05/22(火) 15:48:01その渡そうとしているデータは、まさかDBからのクエリ結果だったりはしないよね?
0756デフォルトの名無しさん
2007/05/22(火) 16:07:53longpackagenameのように長いと読みにくいです。
LongPackageNameの方がいいと思うのですが。
…とうちのリーダー(Java未経験)が仰ります。
どうすればいいでしょうか?
0757デフォルトの名無しさん
2007/05/22(火) 16:29:05long_package_name にするとか……
0758デフォルトの名無しさん
2007/05/22(火) 16:38:23ディレクトリ名がHogeとhoge両方作れてしまうOSとか。
0759デフォルトの名無しさん
2007/05/22(火) 16:49:23どうぞご自由に。
それは厳密に規定された規約というよりガイドラインのはずです。
名前の衝突回避と読みやすさのために用意されています。
外部に公開するライブラリとかには止めた方がいいと思いますが
閉じたアプリケーションで、利用する分には害がないと思います。
が、自分の経験だけに基づいてプロジェクトに他の言語の流儀を持ち込むと
利用しているライブラリ等とずれるので、かえって汚くなってしまう可能性もあります。
In Rome, do as the Romans' do.
0760デフォルトの名無しさん
2007/05/22(火) 17:49:58いえ、Iteratorの開放がリソースを制御していることはありません。
外部ライブラリですが、外部ライブラリがそのまま持ってしまっていると言う
事もないようです。
0761デフォルトの名無しさん
2007/05/22(火) 19:07:45いまは仕様じゃなかったか?
ファイルシステムの都合で利用できない文字を含む場合はUnicodeエスケープしろって書いてなかった?
昔はクラス名もパッケージ名も単語の頭は大文字を推奨してたけどすぐ変わったよ。
0762デフォルトの名無しさん
2007/05/23(水) 02:03:44{"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"、など次の結果…},
…略…
}
}
0763デフォルトの名無しさん
2007/05/23(水) 02:14:560764デフォルトの名無しさん
2007/05/23(水) 03:39:320765デフォルトの名無しさん
2007/05/23(水) 03:56:02簡単なtoy programだとうまくいくのですが、panelをいくつか入れ子にしたものだと上手くいかない。
なにか理由が考えられるでしょうか? できればそこら辺を判り易く詳しく解説してあるサイトでも
教えていただければ幸いです。 あと、panelの上手な入れ子の仕方などの解説もあればうれしいです。
(ちゃんと表示されないこともあるので・・・)
0766デフォルトの名無しさん
2007/05/23(水) 04:15:33その入れ子にしてるコンポーネント階層とどういう実装してるか言わないと分かる訳ないだろう。
描画に関しては重量と軽量を混ぜてて軽量が正しく描画されないって話じゃなければ描画を破壊してるだけ。
0767デフォルトの名無しさん
2007/05/23(水) 04:36:38とりあえず>>403以降のやりとり見てみそ
0768デフォルトの名無しさん
2007/05/23(水) 10:02:04JTextAreaでは一部の文字色変更などができなかった為に乗り換えました。
0769デフォルトの名無しさん
2007/05/23(水) 10:08:39JTextPane では文字の大きさが変えられたりするから
列数とか行数ってのは意味無いんじゃないかと。
0770デフォルトの名無しさん
2007/05/23(水) 12:03:00文字数で指定しても意味がありませんね。
私のプログラムは文字サイズが一意なので、JTextPane#setSize(int width, int height)
メソッドを使えばよさそうですが、うまくいきませんでした。
サイズを指定しても反映されません。
GridBagLayoutを使っているのでこれが原因かと思い、他のレイアウト
―FlowLayoutを試してみましたが、同じくダメでした。
JTextPaneの大きさを指定するにはどうすればよいでしょうか。
0771770
2007/05/23(水) 12:19:07JComponent.setPreferredSize(Dimension preferredSize)メソッドが期待通りの動作をしました。
0772デフォルトの名無しさん
2007/05/23(水) 12:29:39一言でいうと、どういうケースで使い分ければいいのでしょう?
インスタンス化の手間を考えなければ、
全部インスタンスメソッドでいいのでは?とか思ってる状態です。
0773デフォルトの名無しさん
2007/05/23(水) 13:10:10どなたか解決方法を教えていただけないでしょうか?
0774デフォルトの名無しさん
2007/05/23(水) 13:38:15使い分けというか、具体的にどういう場面(ソース)でそう思ったとかを書いておくれ
>>773
PC初心者板へどうぞ
0775デフォルトの名無しさん
2007/05/23(水) 16:08:28RMIサーバをそのまま放っておくと数分後に以下のようなエラーが出てサーバが終了します。
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused
数分後という原因がよく分かりません。何かのデフォルトのパラメータか何かに依存しているのでしょうか?
なお、RMIサーバを起動するのが Linux, Windows ともに発生していますので、
Windows独自のファイアウォールなどとも違うように思います。
0776775
2007/05/23(水) 16:22:21ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/rmi/sunrmiproperties.html
を見るとデフォルト値が1分なのは
sun.rmi.transport.tcp.handshakeTimeout
ですが、クライアント側の設定のようですし、この値を設定してみても
やはり1分で落ちてしまいます。
0777775
2007/05/23(水) 16:30:22参照を持たせていたつもりが実は出来ていませんでした。
0778デフォルトの名無しさん
2007/05/23(水) 19:13:04ダブらないようにそういう制御させるにはどうしたらいいですか
エロい人教えてくださいorz
0779デフォルトの名無しさん
2007/05/23(水) 19:14:43ランダムにシャッフルして
先頭の3つ取り出すとかどう?
0780778
2007/05/23(水) 19:16:20でもどうランダムにシャッフルするのかわからないです・・・'A`
0781デフォルトの名無しさん
2007/05/23(水) 19:22:24http://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
http://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
0782デフォルトの名無しさん
2007/05/23(水) 20:23:400783デフォルトの名無しさん
2007/05/23(水) 21:00:32全部クラスメソッドにしようとしているなら考え直せとアドバイスするところだが、
全部インスタンスメソッドになるのは、クラスメソッドの必要性が出てくるまでは
放っておいてもいいんじゃないか。
0784デフォルトの名無しさん
2007/05/23(水) 21:53:15783の言うとおりだな。
全部インスタンスメソッドで、ほとんどの場合は問題ない。
インスタンス生成のコストがって言うアホがいたら、何回作れば0.1秒?と聞いてやれ。
クラスメソッドにする必要性があるケース。
そうだなぁ、基本ライブラリで言えばインスタンス生成系かね。
Integer.parseInt()とかCalendar.getInstance()とか。
後はユーティリティ系、Math.max() とか
0785デフォルトの名無しさん
2007/05/23(水) 23:38:03思いがけない仕様変更があったとき、
インスタンス生成の手間を惜しまずインスタンスメソッドにしておけば良かった、
と悔やむことはある。
逆は無い。
0786デフォルトの名無しさん
2007/05/24(木) 07:39:33getBytes("JIS")とかして取得すると
半角英数などは
ttp://ash.jp/code/
にあるようなコードがとれるんだけど
漢字だとマイナスの数値が取れたりしてうまくいかないんだけど・・・
どなたかご教授を
0787デフォルトの名無しさん
2007/05/24(木) 08:19:15「JISコード」とは何? 区点コードのこと?
ISO-2022-JP や Shift_JIS や EUC-JP での値?
0788デフォルトの名無しさん
2007/05/24(木) 08:24:04class hogelist {
hogelist(int data) {
this.data = data;
}
public hogelist prev;
public hogelist next;
public final int data;
}
listのクラスなのですが、
hogelist(int data) {
this.data = data;
}
の部分はコンストラクタなのでしょうか?
修飾子はいらないのでしょうか?
0789デフォルトの名無しさん
2007/05/24(木) 08:27:22コンストラクタですね。
「class」のところと同じで、パッケージスコープなら
public/protected/privateはいらない。
0790デフォルトの名無しさん
2007/05/24(木) 10:00:240791デフォルトの名無しさん
2007/05/24(木) 10:28:34ttp://ash.jp/code/
にあるような
T → 54
試 → 3b 6e
のような変換がしたいんです。
半角文字は上記のような値が取れるんですが・・・
0792デフォルトの名無しさん
2007/05/24(木) 10:29:15クラス名は大文字からはじめておけ。
class Hogelist {
Hogelist(int data) {
this.data = data;
}
んで、メソッド名は小文字ではじめる。
こうすれば、コンストラクタとメソッドとを混同しなくて済む。
って昔の人が考えたんですよ。名前の付け方のルール
0793デフォルトの名無しさん
2007/05/24(木) 10:38:03byte[] raw = "試".getBytes("ISO-2022-JP");
してから、raw の先頭に 0x1b があれば先頭3バイト除去、
raw の後ろから3バイト目が 0x1b だったら末尾3バイト除去、
とすれば2バイトだけ残って 0x3b と 0x6e になると思う。
Shift_JIS や EUC-JP の場合は、そのまま raw が2要素の配列になるは
ず。
0794デフォルトの名無しさん
2007/05/24(木) 10:40:39>漢字だとマイナスの数値が取れたりして
>漢字だとマイナスの数値が取れたりして
>漢字だとマイナスの数値が取れたりして
0795デフォルトの名無しさん
2007/05/24(木) 12:02:37JAVAって機械の制御に使えるんでしょうか
0796デフォルトの名無しさん
2007/05/24(木) 12:38:290797デフォルトの名無しさん
2007/05/24(木) 13:30:390798デフォルトの名無しさん
2007/05/24(木) 14:44:410799デフォルトの名無しさん
2007/05/24(木) 14:47:37今年のJavaOneは もう終わりましたが
0800デフォルトの名無しさん
2007/05/24(木) 18:17:51ResultSet rs=stmt.executeQuery(sql)
でResultSetの変数rsにsqlの結果を入れたわけですが、
中の列要素に大きなデータが入ってまして、あふれた分を切られてたわけです。
これは、どうやって解決すればいいんでしょうか?
0801デフォルトの名無しさん
2007/05/24(木) 18:48:170802800
2007/05/24(木) 18:54:370803デフォルトの名無しさん
2007/05/24(木) 19:13:43半年ROMってから行ってくる
0804デフォルトの名無しさん
2007/05/24(木) 20:31:31いや、DBの種類とカラムの方の型が問題なんだと思われ。
0805デフォルトの名無しさん
2007/05/24(木) 21:00:31学べる解説サイトや本はないでしょうか?
知識としてはやさしいjavaを終わらせたレベルです。
0806800
2007/05/24(木) 21:34:16今はJDBC-ODBCブリッジ使って、TextDriverに接続してます。
データはCSVに格納している状態です。
で、解決策がひとつ見つかりました。
StatementのsetMaxFieldSize()メソッドを使えば・・・となってたんですが、
エラーが出て使えません。
もう、どうしたらいいんでしょうか。
0807デフォルトの名無しさん
2007/05/24(木) 22:29:49どこも一緒。
てか、やさしいJava読み終えるレベルってArrayListの解説すら読めないレベルなの?
そうだとしたら、別の入門書やった方がいいんじゃね?
0808デフォルトの名無しさん
2007/05/24(木) 22:38:12言い方が悪かったっす。
ArrayListというのが問題で急に出てきたんですが、
勉強するためによい参考書はないでしょうか?という意味です。
コンピュータ言語知識はJavaが初です。
0809デフォルトの名無しさん
2007/05/24(木) 22:44:52http://java.sun.com/j2se/1.5.0/ja/docs/ja/
0810デフォルトの名無しさん
2007/05/24(木) 22:51:450811デフォルトの名無しさん
2007/05/24(木) 23:15:01調べちゃいないが IBM の デベロッパワークスあたりにありそうな気もするが。
http://www-06.ibm.com/jp/developerworks/java/
0812デフォルトの名無しさん
2007/05/24(木) 23:18:00基本だと思うけどbeansの仕様
http://java.sun.com/products/javabeans/docs/spec.html
0813デフォルトの名無しさん
2007/05/24(木) 23:21:40ttp://d.hatena.ne.jp/Strada/20070226
0814デフォルトの名無しさん
2007/05/24(木) 23:22:59ResultSet rs = stmt.executeQuery(sql);
としてデータベースのでーたをrsに格納した後で、
while(rs.next()){
で上から1行ずつデータを読んでいきます。
これって同じ行をもう一度読み込んだり、
途中でもう一回最初から読んだりってできるんですか?
一回
rs.close();
してからもう一度
rs.next();
を書いてみたのですがうまくいかなくて。
0815デフォルトの名無しさん
2007/05/24(木) 23:35:28基本なのですか・・・。
でも、全然そういったことを詳しく書いてるサイトや本がないのです。
あっても英語の本ばかりで。
0816デフォルトの名無しさん
2007/05/24(木) 23:39:04ありがとうございます。
0817デフォルトの名無しさん
2007/05/24(木) 23:45:12rs.relative(-1);
とか試してみたら?
closeはrsを使わなくなってからするもの。
0818デフォルトの名無しさん
2007/05/24(木) 23:47:47Statement を作る際、引数を持つ Connection#createStatement() の第1引数に
ResultSet.TYPE_SCROLL_SENSITIVE とかを与えれていれば、
ResultSet#next() だけでなく ResultSet#previous() や
ResultSet#first() や ResultSet#relative() が使えるようになる可能性がある。
でも、JDBC ドライバが対応していないこともある。
0819デフォルトの名無しさん
2007/05/24(木) 23:52:34やさしいjavaは確かに読めんな。三版持ってるが、C++との共通項くらいしか書かれてない。
0820デフォルトの名無しさん
2007/05/25(金) 02:54:27DBのカーソル作成モードを変えると
レスポンスが急激に悪くなることがあるし
>>818 さんが言うように互換性も無くなる
一旦自前のArrayListを構築しなおすなどしてから
操作してもいいと思う
でも一回最後まで読むから無駄が増えて
やっぱりレスポンスは落ちるかも
読みながらArrayListにも入れていって
戻るときはそっちを見るとか工夫してくれ
0821デフォルトの名無しさん
2007/05/25(金) 09:49:50イベントを受け取ることはできないかな。
MFC でいう CWinApp::OnIdle みたいなの。
0822デフォルトの名無しさん
2007/05/25(金) 10:42:170823デフォルトの名無しさん
2007/05/25(金) 11:05:230824デフォルトの名無しさん
2007/05/25(金) 13:41:110825デフォルトの名無しさん
2007/05/25(金) 17:07:10使ってるEventQueueでpeekEvent()がnullの時にアイドル時処理をするスレッドを使う。
0826デフォルトの名無しさん
2007/05/25(金) 17:14:14"aaabbbccc"を3桁って指定して["aaa","bbb","ccc"]みたいな。
forでがんばるしかない?
0827デフォルトの名無しさん
2007/05/25(金) 17:19:080828デフォルトの名無しさん
2007/05/25(金) 17:24:43String[] l = s.split("...");
0829デフォルトの名無しさん
2007/05/25(金) 17:31:45思いつきは悪くないけどそれは正しく動かない。
>>826
for (String s : "aaabbbcccd".split("(?<=\\G...)")) System.out.println(s);
でも、正規表現でアクロバティックなコードを書くのはお遊びとしては楽しいけれど、
>>827のいうようにsubstringで分けたほうが分かりやすいし正道だと思う。
0830デフォルトの名無しさん
2007/05/25(金) 17:39:08ほい。
余剰文字列は切り捨てられるので、それが嫌なら改造してね。
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;
}
0831デフォルトの名無しさん
2007/05/25(金) 17:45:38"aaabbbcccd".split("(?<=\\G" + ".{" + len + "})")
みたく。
0832デフォルトの名無しさん
2007/05/25(金) 18:15:15改行文字も一文字とするなら、
"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;
とか。
0833デフォルトの名無しさん
2007/05/25(金) 20:43:540834デフォルトの名無しさん
2007/05/25(金) 20:55:400835デフォルトの名無しさん
2007/05/25(金) 23:27:53((Graphics2D)g).setStroke(new BasicStroke(10));
g.drawLine(0, 0, 100, 100);
0836デフォルトの名無しさん
2007/05/25(金) 23:58:27(マウスのドラッグ&ドロップでフリーハンドに線を引いたりできるソフト)
参考になるお勧めのサイトまたは本を知っている方がいたら教えてください。
あと、Javaは一つのアプリで複数のウィンドウを開くことはできますか?
0837デフォルトの名無しさん
2007/05/26(土) 00:08:32最後のリリースが1年くらい前…
CUIでJavaペコペコするのもマンネリしてきたからGUIもいじってみたい今日この頃
ちなみにJava暦1月位
0838デフォルトの名無しさん
2007/05/26(土) 00:25:20classファイルを元のソースファイルに戻すことはできるのですか?
0839デフォルトの名無しさん
2007/05/26(土) 00:32:37できるけど自分でできないなら諦めましょう。
定期的にコピペしたかのように来るなコレ。
0840デフォルトの名無しさん
2007/05/26(土) 00:47:13すみません、Graphic2DクラスではなくてGraphicクラスで太さを変えることはできないのでしょうか?
0841デフォルトの名無しさん
2007/05/26(土) 01:16:37ほんと、定期的にコピペしたかのように来るなコレ。
>>838 ぐぐればよかろう。
過去ログ。
http://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ちゃんの書き込み制限があるから上では適宜改行した)
−−−−
だぜ?
まあ、マジレスすると、できる。だけど、自分でできないなら諦めましょう。
0842デフォルトの名無しさん
2007/05/26(土) 04:55:36という場合、返す 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 していける、という状態です。
0843学生
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
0844デフォルトの名無しさん
2007/05/26(土) 10:33:440845デフォルトの名無しさん
2007/05/26(土) 10:55:040846デフォルトの名無しさん
2007/05/26(土) 10:57:58学生なら図書館に行って
『JAVAプログラムクイックリファレンス(オライリー・ジャパン)』
って本を借りてきな。まんま解答載ってるよ。
0847デフォルトの名無しさん
2007/05/26(土) 12:20:17にて、JDK 6u1をダウンロードしてインストールしたいのですが、
Notice: We're Offline for System Upgrades
とでてダウンロードできません。これはこちらの環境が悪いのでしょうか・・・?
0848デフォルトの名無しさん
2007/05/26(土) 12:31:16classの外にもう1つclassを作る違いがわかんね
ややこしさからして後者の方が良い気がするが、どなたか軽く教えてくだされ
>>847
翻訳するまでもないと思うけど、もう1度文章全部読んでみて下さい
0849848
2007/05/26(土) 12:36:460850デフォルトの名無しさん
2007/05/26(土) 12:39:14ほい。
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;
}
}
}
0851デフォルトの名無しさん
2007/05/26(土) 12:48:310852デフォルトの名無しさん
2007/05/26(土) 13:34:46なるほど、そういう事なんですね。
解消されるまで待つしかないと・・・
0854デフォルトの名無しさん
2007/05/26(土) 14:48:45まてまて
>>850 で答えが貼られているぞ
0855デフォルトの名無しさん
2007/05/26(土) 14:57:41ページが読み込まれたら行かせたい場所に飛ばすのは、
↓で良いそうなんですが、
こんな感じで読み込まれて10秒後に飛ばすようにするのはどうすればいいですか?
<script language="javascript">
<!--
var doit=true;
function exit(){
if (doit) open("行かせたい場所アドレス")
}
// -->
</script>
<body onload="exit()">
0856デフォルトの名無しさん
2007/05/26(土) 14:58:38Javaですらない
0857855
2007/05/26(土) 15:10:49ごめんなさい。
0858デフォルトの名無しさん
2007/05/26(土) 15:19:04セッションでないのでレプリケーションは関係ないですよね?
0859デフォルトの名無しさん
2007/05/26(土) 15:19:09釣りだろ?
0860デフォルトの名無しさん
2007/05/26(土) 16:34:22>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 {
はっきり言って別々のクラスとかわんね
0862デフォルトの名無しさん
2007/05/26(土) 20:20:590863デフォルトの名無しさん
2007/05/26(土) 21:29:33まあ、libgcj.dllがJREだとでもいえるけど
0864デフォルトの名無しさん
2007/05/26(土) 21:31:54基本的に無理。応用的には標準JDK 使わずに gcj とか Excelsior JET みたいな
AOTコンパイラを使えばできるけど、実行ファイルのサイズはでかくなる。
0865デフォルトの名無しさん
2007/05/26(土) 22:16:14そうですか。まぁそのためにはCや何かで書くしかありませんよね。ありがとうございました。
0866デフォルトの名無しさん
2007/05/26(土) 22:33:44でJDK 5 をダウンロードしようとしたら「Fatal Error」と出てダウンロードできません。
他にダウンロードできるサイトとか知りませんか?
0867デフォルトの名無しさん
2007/05/26(土) 22:37:350868デフォルトの名無しさん
2007/05/26(土) 22:40:160869デフォルトの名無しさん
2007/05/26(土) 23:01:27でも環境をWindows固定にするならEXEにこだわるより、Windowsの流儀でJREを
インストールしたりスタートメニューやデスクトップに起動用のアイコン登録
したりするインストーラーを作った方がユーザにやさしいんじゃないかと思う。
おれはこの手のパッケージャとしてNSISを使ってる。
そうじゃなくてAOTに幻想を抱いているならあきらめたほうがいい。以前
gcj以外のIBMやJETといった商用AOTのベンチマークとったけど速度的なメリットはない。
0870デフォルトの名無しさん
2007/05/26(土) 23:29:390871デフォルトの名無しさん
2007/05/27(日) 00:04:05ubuntuとかならパッケージであるが、他はわからん
0872デフォルトの名無しさん
2007/05/27(日) 00:17:46俺の「最近ずっと」の定義(一日以上)からすると最近ずっとではない。
けど、今見たら確かに FATAL ERRORとか出てるね。
1.4.2u14/1.5.0u11/6u1のwindows-i586-pなら持ってるけど、
再配布っていいんだっけ?
0873デフォルトの名無しさん
2007/05/27(日) 00:25:300874デフォルトの名無しさん
2007/05/27(日) 00:44:38http://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).
0875デフォルトの名無しさん
2007/05/27(日) 06:37:290876デフォルトの名無しさん
2007/05/27(日) 13:53:130877デフォルトの名無しさん
2007/05/27(日) 13:57:140878デフォルトの名無しさん
2007/05/27(日) 14:07:19特定環境でトラブるからってOSから入れ直したのでJREすらないorz
0879デフォルトの名無しさん
2007/05/27(日) 14:11:41Windows でJava5.0 でいいか?
0880デフォルトの名無しさん
2007/05/27(日) 14:14:510881デフォルトの名無しさん
2007/05/27(日) 14:23:40ttp://www10.axfc.net/uploader/11/so/N11_10136.exe.html
キーワードは java
0882デフォルトの名無しさん
2007/05/27(日) 14:34:21http://www.java.com/ja/download/
0883デフォルトの名無しさん
2007/05/27(日) 14:34:250884デフォルトの名無しさん
2007/05/27(日) 14:50:09ここのコードをjavaにしたらどんなふううになりますか?
0885デフォルトの名無しさん
2007/05/27(日) 15:11:45エロゲかよw
0886デフォルトの名無しさん
2007/05/27(日) 15:45:20すまんこっちだ
0887デフォルトの名無しさん
2007/05/27(日) 17:21:14誰か教えてください。
0888デフォルトの名無しさん
2007/05/27(日) 17:35:53final java.util.Date date = new Date();
while (true) {
date.setTime(System.currentTimeMillis());
System.out.println(date);
}
0889デフォルトの名無しさん
2007/05/27(日) 17:36:55少しくらい待ってやれよw
0890デフォルトの名無しさん
2007/05/27(日) 17:37:36import 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));
}
}
0891デフォルトの名無しさん
2007/05/27(日) 17:45:05public 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++;
}
}
0892891
2007/05/27(日) 17:45:46System.out.println("入力された数字"+meth+"は素数です");
}else{
System.out.println("入力された数字"+meth+"は素数ではありません");
}
}
}
catch(IOException e){
System.out.println(e);
}catch(NumberFormatException e){
System.out.println("数字に入力できるのは実数です");
}
0893デフォルトの名無しさん
2007/05/27(日) 17:48:02平均点以下の人の人数ってどうやって出すんですか?
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);
ここまでできたのですが…
0894デフォルトの名無しさん
2007/05/27(日) 17:53:26あとここは宿題スレじゃないよ。
0895デフォルトの名無しさん
2007/05/27(日) 17:53:44for (int i=0; i<=meth; i++)
↓
for (int i=1; i<=meth; i++)
0896デフォルトの名無しさん
2007/05/27(日) 17:54:49for (int i=1; i<=meth; i++)
デバッグする余地も無い
0897デフォルトの名無しさん
2007/05/27(日) 17:57:22念を押しとくがそんなもんで宿題スレになんか行くなよw
0898デフォルトの名無しさん
2007/05/27(日) 17:57:44出来れば1回のループで判断してしまいたいのです
0899デフォルトの名無しさん
2007/05/27(日) 17:58:01とんでもない見落としでした。ありがとうございます!
0900デフォルトの名無しさん
2007/05/27(日) 17:58:170901デフォルトの名無しさん
2007/05/27(日) 17:58:48むり
0902デフォルトの名無しさん
2007/05/27(日) 18:04:26プログラムに書かれているシンボルをコンパイラが理解できなかった時に出るエラー
パッケージ名とかクラス名とかメソッド名とか変数名とかがたぶん間違っている
importしていないとか完全名でないとかでクラス名が解決してないんじゃないの?
もしくは定義していないクラスや変数を使った
0903デフォルトの名無しさん
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);
0904デフォルトの名無しさん
2007/05/27(日) 18:08:59格納しながら平均出してけば
ループは1回で済むかもね
0905デフォルトの名無しさん
2007/05/27(日) 19:03:07ありがとう
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;にしたい場合、ソースは変えればいい?
0906905
2007/05/27(日) 19:04:37訂正
ソースはどう変えればいい?
0907デフォルトの名無しさん
2007/05/27(日) 20:02:57せめて、
SimpleDateFormat dfm = new SimpleDateFormat();
とでも打つってくらいはしろよ。
この手の連中が自分の給料とほとんど大差ない金貰ってると思うと反吐が出る。
0908デフォルトの名無しさん
2007/05/27(日) 20:14:39バカは手と頭を動かさない
>>907
厨学生の小遣い程度しかもらってないのか?
それはもう転職する!
0909デフォルトの名無しさん
2007/05/27(日) 20:22:46分岐条件のwhile文あたりまで進んだ者です。
「繰り返し実行する」の条件で
i++;
を
i+2;
とかにできないもんでしょうか?
課題で
2
4
6
と表示せよ
といった問題がでて困ってます。
どなたか教えてくれないでしょうか?
0910デフォルトの名無しさん
2007/05/27(日) 20:26:190911デフォルトの名無しさん
2007/05/27(日) 20:35:38この表示結果が縦に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);}}
0912デフォルトの名無しさん
2007/05/27(日) 20:37:180913909
2007/05/27(日) 20:37:39こんな、感じのコード書いてみたんですけど
class Kadai01{
public static void main(String[]args){
int i;
i=2;
while (i<7);
System.out.println(i+"回目繰り返す");
i+2;
}
}
i++;
を
i+2;
にしたらコンパイルエラーがでるんですけど。
0914デフォルトの名無しさん
2007/05/27(日) 20:38:27ということは・・・。
0915デフォルトの名無しさん
2007/05/27(日) 20:41:30tnks
0916909
2007/05/27(日) 20:47:50ありがとうございました!!!
0917デフォルトの名無しさん
2007/05/27(日) 20:48:34頼むから開発会社に就職はしないでくれよ。
あと1冊くらい簡単な本読んでくれ。
i = i + 2;
0918デフォルトの名無しさん
2007/05/27(日) 20:49:02代入とか演算子とかわかってるか?
int a = 1 ;
System.out.println(a) ;
System.out.println(a+1) ;
System.out.println(a) ;
System.out.println(a++) ;
System.out.println(a) ;
ってやってみ
0919デフォルトの名無しさん
2007/05/27(日) 21:53:010920デフォルトの名無しさん
2007/05/27(日) 21:59:36NがN/2より大きい数で割れないことくらいは解るからw
0921デフォルトの名無しさん
2007/05/27(日) 22:39:41センス要らないだろ、ルートNって…
0922デフォルトの名無しさん
2007/05/27(日) 22:52:06OK,ならば3行で説明してくれ
0923デフォルトの名無しさん
2007/05/27(日) 22:56:31Nの約数を2つ選び、pとqとすると、明らかにp*q <= Nである。
これより、p、qの少なくとも一方はルートNより小さい(大きいと上の不等式が成り立たない)
0924デフォルトの名無しさん
2007/05/27(日) 23:05:190925デフォルトの名無しさん
2007/05/27(日) 23:10:02センスあると思う。
0926デフォルトの名無しさん
2007/05/27(日) 23:17:36いや、手放しで素晴らしいと思う。
でも、そう答えられるのは数学センスだと思われw
数学的センスのない人は、「〜と仮定すると、」から出てこないから。
0927デフォルトの名無しさん
2007/05/27(日) 23:18:380928デフォルトの名無しさん
2007/05/27(日) 23:21:220929デフォルトの名無しさん
2007/05/27(日) 23:23:11そりゃどこの教科書にも呪文のように載っているし、証明方法なんて一緒だもの。
0930デフォルトの名無しさん
2007/05/27(日) 23:25:184分でかけるのが素晴らしい
0931デフォルトの名無しさん
2007/05/27(日) 23:27:20合成数24の約数である6と8を考える
6*8 = 42 > 24 となるため、明らかに p*q <= N でない
0932931
2007/05/27(日) 23:30:17つまり、pとqの条件はNの任意の約数じゃなくてp*q = Nとなるような数、ってこと
0933デフォルトの名無しさん
2007/05/27(日) 23:33:23するってえと約数てのは何なんだ?
わからなくなってきた。
0934デフォルトの名無しさん
2007/05/27(日) 23:41:27いんや、この場合はpとqを約数と限定して問題ない。
何故ならば、合成数と仮定した場合にpとqのどちらもルートN以下の約数であることが証明できればいいから。
0935デフォルトの名無しさん
2007/05/27(日) 23:54:04N=p*q*r (p,q >= 2, r >= 1)
と読み替えてくれ
0936デフォルトの名無しさん
2007/05/27(日) 23:55:00JDK6u1ほしーよーOTZ
0937デフォルトの名無しさん
2007/05/27(日) 23:58:27本質を読め
約数に限定することが問題なんじゃなくて、任意の約数であることが問題なんだよ
それを許すと931のような反例が出る
合成数ならば自身の約数の積として表せる
このことをN = p*q (p <= q)とおくと、pが取りうる最大の値はp = qであるようなp
このとき N = p*p ⇔ √N = p となり、√Nまで調べれば合成数かどうか判断できる
スレ違いなんでここまでに
0939デフォルトの名無しさん
2007/05/27(日) 23:59:48q=N/pでもNを割り切ることができ、qはaよりも小さい自然数になる。
つまりNを割り切る自然数は、a以下の自然数の範囲を全て探せば、
aより大きいものはNを探し出したもので割ることで全て得ることができ、
全てを網羅することができる。
0940デフォルトの名無しさん
2007/05/28(月) 00:00:460941デフォルトの名無しさん
2007/05/28(月) 00:01:350942デフォルトの名無しさん
2007/05/28(月) 00:04:010943デフォルトの名無しさん
2007/05/28(月) 00:05:38その「同じものを掛けてNになる正数a」こそNの正の平方根 √Nってことか。
0944デフォルトの名無しさん
2007/05/28(月) 00:07:510945デフォルトの名無しさん
2007/05/28(月) 00:12:33放たれた飛球を捕ったのは偶々センター(中堅)。
0946デフォルトの名無しさん
2007/05/28(月) 00:13:21( o・-・)っ―[] /
[ ̄ ̄ ̄] (´・ω・`)>>945
0947デフォルトの名無しさん
2007/05/28(月) 00:14:18これは -128 〜 127 までの値をとるよね?
でもそのクラスは実はテストの点数クラスで、
byte を 0 〜 100 の間でしか取れないようにしなくてはいけない。
よって、private byte score; と、アクセスレベルを絞って、
setScoreというセッターで 0 〜 100 までしか、その値をとらないようにする。
ゲッターってのは、一般には単に隠蔽された変数をダイレクトに返すだけ。
getScore() { return score; }
こういうのをカプセル化という。ごめん、これが限界w
0948デフォルトの名無しさん
2007/05/28(月) 00:23:56>>947の場合のような基本型とかイミュータブルな参照型はたぶん大丈夫だが、
そうでない場合は変数そのものではなく、そのコピーを返すようにした方がよい。
でないと、セッターを介しないで隠蔽されたデータを変更できる抜け道を作ることになる。
0949デフォルトの名無しさん
2007/05/28(月) 00:39:08という武士の志のがカプセル化の一面
void setScore(int score) {
if(score < 0 || 100 < score) {
thorw IllegalArgumentException();
暴走して一見正しそうな間違った計算結果を出したり
データを壊されるよりは、
プログラムが異常終了する方が1000万倍まし
0950デフォルトの名無しさん
2007/05/28(月) 00:44:31参照型の変数のセッターではnullだったらnull例外を出す
それをしないと全然違うところ(その変数使おうとしたところ)で
ぬるぽ起こして死ぬ
そしてどこでnullであったかを調べるのが大変
0951デフォルトの名無しさん
2007/05/28(月) 01:19:22JavaBeansにはプロパティという概念がある
たとえば、PersonというクラスにStringのnameというプロパティがそのクラスにあるとする
ここでJavaBeansの約束事として、
nameというプロパティを読み出すのはgetName()
書き込むのはsetName(String value)
ということが決まっている
だから、setName(String value)がなければ、
リードオンリーのプロパティになる
場合によっては書き込み禁止でエラー出ることもある
で、
ゲッターとは値を取得するメソッド(getName)を指し
セッターとは値を設定するメソッド(setName(String))を指す
0952デフォルトの名無しさん
2007/05/28(月) 06:39:41そんな後付け仕様の事を聞いてるんじゃなくてプログラミング言語一般に通じる
ゲッタとセッタの意義がわからないって話じゃね?
カプセル化という概念があって自分が持つ情報には外から自由に触らせないためにryって感じに答えた方が良いかと。
0953デフォルトの名無しさん
2007/05/28(月) 07:23:47ならお前が(ry
…というのは置いておこう。
メソッドにしとけば処理を挟める。するとどうなるか?
って視点で考えるといいよ。
…と俺からはこの程度のアドバイスにしておくわ
0954デフォルトの名無しさん
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ポートの管理画面と同じものを入力しています。
ブラウザから、http://www.xxx.com:8686/にアクセスすると白い画面が
出るので、ポートへの接続自体は問題ないと思われます。また、念のため、
こちら側のファイアウォールも切っています。
サーバー:
Linux
Sun Java System Application Server Platform Edition 9.0
JDK1.6
クライアント:
WindowsXP
JDK1.6
です。何か、思い当たられることがありましたらご教授頂ければ幸いに思います。
0955954
2007/05/28(月) 09:59:23http://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
と表示されております。重ね重ねですみません。
0956デフォルトの名無しさん
2007/05/28(月) 15:40:36途中省略
<a href="http://xxxxx">AB1</a>
<a href="http://xxxxx">AB2</a>
<a href="http://xxxxx">AB3</a>
</html>
0957デフォルトの名無しさん
2007/05/28(月) 15:45:16<html>
途中省略
<a href="http://xxxx1">AB1</a>
<a href="http://xxxx2">AB2</a>
<a href="http://xxxx1">AB3</a>
</html>
というhtmlからAB1の<aタグのリンク("http://xxxx1")を取得するにはどうしたらよいでしょうか。
getElementsByTagName("a")で<aタグの列挙はできたのですが、AB1であることを調べる方法がわかりません。
0958デフォルトの名無しさん
2007/05/28(月) 15:52:02if(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
と出力するようにするにはどうすればよいのでしょうか?
0959デフォルトの名無しさん
2007/05/28(月) 18:15:19単純に全てのrotationをrotに置き換えたいのなら
置き換え後文字列 = 置き換え前文字列.replaceAll("rotation", "rot");
0960デフォルトの名無しさん
2007/05/28(月) 18:30:13質問がメソッド名だけで情報が少ないから当てずっぽう
aエレメントが取れたら、その最初の子ノードがAB1とかAB2とかのテキストノード
aElement.getFirstChild()でたぶん取れる
そのノードの文字列そのものはNode#getNodeValue()でいけるはず
0961デフォルトの名無しさん
2007/05/28(月) 19:56:53このデフォルトのパスを変更するにはどうやったらいいんでしょう?
javaファイルをCドライブのjavaフォルダに入れていて開くたびにcd C:\javaと打って
毎回変更しているのですが面倒なので開いたらC:\javaの状態になっているようにしたいです。
0962デフォルトの名無しさん
2007/05/28(月) 20:11:30コマンドプロンプトのショートカットでC:\javaを作業フォルダに設定して
おけばよい。(プロパティのショートカットタブに「作業フォルダ」の欄がある)。
スレちがい、いたちがいだから。これ以上の質問は受け付けません。
>>1を読め
0963デフォルトの名無しさん
2007/05/28(月) 21:03:55javaを開発するためには何を入手すればいいのでしょうか。
sunのページには何度かいったのですが、どこからダウンロードすればいいかわかりません。
どなたかご教授お願いします。
0964デフォルトの名無しさん
2007/05/28(月) 21:10:52jdkか、jreを入れた環境でeclipseを使うか…
http://java.sun.com/javase/downloads/index.jsp
あと「初心者なので」とかいう免罪符は掲げないほうが心証いいよ
0965デフォルトの名無しさん
2007/05/28(月) 21:10:56いきなりsunに行かずに、「基礎」「入門」あたりのキーワードで検索
よさそうなページをみつけて、そこの手順に沿ってダウンロードすればいい
0966デフォルトの名無しさん
2007/05/28(月) 21:11:45ttp://java.sun.com/javase/ja/6/download.html
JDK6u1
Wiki嫁って>>1差そうとしたけど、Wiki今、混み合ってて見れないって。
取りあえず、教授してやったぞ、ほーれー
# ついでに「教授」についてもググっときなさい
0967デフォルトの名無しさん
2007/05/28(月) 21:20:06public static String func(String arg) {
return arg;
}
}
と
public T {
public static String func(String arg) {
String dest = arg;
return dest;
}
}
って違いがあるのでしょうか。スレッドセーフかの視点でみて。
0968デフォルトの名無しさん
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 丿 `゙゙゙゙゛
0969963
2007/05/28(月) 21:33:15皆さんのおかげで解決できました。
0970デフォルトの名無しさん
2007/05/28(月) 21:37:21ぐぐる用語でも教えてください。
スタックフレームクラス遣えばなんとか実験できそうなんですが、試行錯誤中
0971webmaster@気まぐれアナスイ
2007/05/28(月) 21:50:47{???}
ζ
!(+Φ_Φ)つ√ζ
+⊂. + 〆∂ {Ж}
"〆∂∂
〆〆
.:"
下のは余計な事やってるだけ
0973デフォルトの名無しさん
2007/05/28(月) 22:12:510974デフォルトの名無しさん
2007/05/28(月) 22:16:020975デフォルトの名無しさん
2007/05/28(月) 22:27:300976デフォルトの名無しさん
2007/05/28(月) 22:30:120977デフォルトの名無しさん
2007/05/28(月) 23:19:00</APPLET>
*/
の数値を変えてもアプレットビューアの大きさが変わらないのはなぜですか?
0978デフォルトの名無しさん
2007/05/28(月) 23:21:100979デフォルトの名無しさん
2007/05/28(月) 23:29:41後半は、クラス定義がないから動かんな。
は、さておき。
String dest は、最適化で削られる可能性ないか?
0980デフォルトの名無しさん
2007/05/28(月) 23:46:21Java について言及しているサイト等で
クラスSomeClass のメソッドsomeMethod を表すのに
SomeClass#someMethod
という書き方をしているのを何回か見かけました
これはJavaで標準に用いられている表現なのでしょうか
それとも(オブジェクト指向の)言語一般に用いられているもの
あるいは他言語でよく使われる表現を、そのサイトの執筆者がたまたま用いたものなのでしょうか?
メンバ変数someField、メソッドsomeMethod があるとして
それらを示すのにJavaで標準的に用いられている表現がありましたら教えてください
0981デフォルトの名無しさん
2007/05/29(火) 00:10:58最適化で削られるも考えないでください><
staticメソッドはクラスで一つって言葉の解釈の仕方がよく分からないのです。
スレッドA,B二つあって、Aが関数をfunc("A");として実行後、仮引数がString destに格納された所でBスレッドがfunc("B")を実行した場合、
いったいstaticメソッドの中はどうなってるの?ってのがイメージ出来ない。
Cでいう関数がstaticメソッドにあたるもの考えていたので、関数はヒープ上にあり、引数はスタックに詰まれる(引数は参照)っていうのもあっていれば、
Aスレッドが実行終わる頃には、Bスレッド実行によってfunc内のdest変数は"B"となって処理される?
この手のクラスTの扱いがだめならservlet全部だめになっちゃいますんで、「マルチスレッドで問題なし」なんでしょうが、
動作イメージが湧かない。
この二つのサイトって正しい情報なんですかね?staticなメソッドについては言及ないようですが・・・
http://www.nextindex.net/java/perform/storage.html
http://segroup.fujitsu.com/sdas/technology/web-apl/05-servlet-container.html
0982デフォルトの名無しさん
2007/05/29(火) 00:20:33Javaの標準ではあるが、他の言語では見ないね。
そういう表記法が一般的になった理由は、javadocのリンクがどういうURLになっているかを見れば分かる。
まあ、とりあえず見て。
ttp://java.sun.com/javase/ja/6/docs/ja/api/index.html
0983デフォルトの名無しさん
2007/05/29(火) 00:40:42レスありがとうございます
「#」が用いられるのは、単にURLの #フラグメント の部分をそのまま
受け継いだ影響ということでしょうか
説明する変数/メソッドの種類や特性によって、何かしらの表記のルールが
あるのかと思っていました
ありがとうございました
0984967
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
0985967
2007/05/29(火) 00:56:33http://i.loveruby.net/ja/rhg/book/thread.html
0986デフォルトの名無しさん
2007/05/29(火) 00:58:32>最適化で削られるも考えないでください><
無意味。コンパイラやVMによってガンガン削られる
>staticメソッドはクラスで一つって言葉の解釈の仕方がよく分からないのです。
インスタンスを幾つ作っても共有されるってこと
>関数はヒープ上にあり
わけわかめ
>引数はスタックに詰まれる
OK
>func内のdest変数は"B"となって処理される?
わけわかめ
0987デフォルトの名無しさん
2007/05/29(火) 01:10:28インスタンスメソッドでは#を使ってクラスメソッドでは.を使うもんらしい。
>>982
Rubyも#を使っている。
0988デフォルトの名無しさん
2007/05/29(火) 01:51:58javadocの慣習で言えば、どっちも#だけど。
#の右側にインスタンスメソッドorフィールドでも関係なしにクラス名がくるぐらいで。
0989デフォルトの名無しさん
2007/05/29(火) 05:17:10夏休みにソフトウェアを作っている会社でインターンシップをしようと思い、使われている言語がJavaという事で、
プログラミングのクラス、自分でやさしいJavaという本を読んでで基本は学んだのですが、会社の方から見せてもらった
サンプルコード(実際に作られているソフトのサンプルコード)と自分で勉強した範囲を
遥かに凌駕している内容で、正直あせっています。
入門書のレベルから実際にプロの方々が書いているコードのレベルに到達するには、
どのように勉強をしていけば良いのでしょうか?
0990デフォルトの名無しさん
2007/05/29(火) 05:18:13夏休みにソフトウェアを作っている会社でインターンシップをしようと思い、使われている言語がJavaという事で、
プログラミングのクラス、自分でやさしいJavaという本を読んでで基本は学んだのですが、会社の方から見せてもらった
サンプルコード(実際に作られているソフトのサンプルコード)と自分で勉強した範囲を
遥かに凌駕している内容で、正直あせっています。
入門書のレベルから実際にプロの方々が書いているコードのレベルに到達するには、
どのように勉強をしていけば良いのでしょうか?
0991デフォルトの名無しさん
2007/05/29(火) 05:42:28あれはプログラムを全く知らない素人がちょっと触れるようになる為の本。
入門書以前と考えるべき。
まずは入門書をやる。
Core Java、Head First Java、独習Javaあたりがよく勧められる。
分量的にも内容的にもヌルい本じゃないけど、このあたりを1冊終わらせたならば、入門レベルを卒業と言えるんじゃないかね。
やさしいJava氏ねよ
0992デフォルトの名無しさん
2007/05/29(火) 06:49:58つか、情報系の学部に行く前にいくつかの言語に精通してるのが
普通なんだが。
0993デフォルトの名無しさん
2007/05/29(火) 08:18:49それを言ったらもう手遅れってことじゃないですかw
>>989-990
そんなことはどうでもよくて
入門書を読んでる間はいつまでも入門者
他人が書いたソースを読んでデバッグできれば一人前
君はいち早くそれに気付いたのだからむしろ幸運だよ
とにかく色んなソースを読み・書きまくる
まだ若いんだから焦る必要はない
0994デフォルトの名無しさん
2007/05/29(火) 08:23:32> インスタンスメソッドでは#を使ってクラスメソッドでは.を使うもんらしい。
これは初耳。へー。
情報源を是非教えて頂きたい。
>>990
勉強してるうちは文法、言語仕様と、Javaならオブジェクト指向をしっかり
頭に叩き込んでおけば大丈夫。
それには自信があるなら、あとの違いは知ってるクラスの量かな。
言語学っぽくいうなら語彙量ってやつ。
こればっかりは経験がモノをいうので、色々作りまくってください。
ちなみに俺が最初に買ったJavaの本はEffective Javaでした…
0995デフォルトの名無しさん
2007/05/29(火) 08:52:03Ruby
0996デフォルトの名無しさん
2007/05/29(火) 08:53:02Jakarta Commons の本とかひととおり見るといいよ
0997デフォルトの名無しさん
2007/05/29(火) 11:52:27javadocに関してはURLやURIのフラグメントから来ている。
一般的なアクセス演算子としては上に上がった通り。
>>992
最近の情報系は>>990みたいな奴ばっかでPL使えるのは少ないよ。
情報系なのにPC系雑誌読むか、PCの話したらヲタ扱いされたって伝奇もある。
中にはマイコン制御とか、組み込みとか、ドライバ自作とか、生粋のギークも居るが絶滅危惧種だね。
そういう連中は実力にあった場所に、それぞれ散っていくので存在自体が霞だよ。
今の情報系とか専門生はギークとのコネはないしね。
まあ、手遅れってのは笑い事じゃないんだが。
0998デフォルトの名無しさん
2007/05/29(火) 12:34:04笑い話にならんな、マジで。
とは言え、会社でも休日に勉強とかしている方が少数派だし、雑談で技術の話を振るとヲタ扱いされるわけだもんな。
0999デフォルトの名無しさん
2007/05/29(火) 14:11:54Exception in thread "main" java.lang.ArrayIndexOutOfBounds:0
というエラーが出るんですが、これはどういうことでしょうか?
1000999
2007/05/29(火) 14:16:1210011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。