07/05/17 22:57:49
>>606
SWTで画面を作って、jarにするところまでできたのですが、
それを今度は、JFrameで作った画面のボタンクリックイベントで
jarにした画面を表示させたいのですが、具体的にどう記述すれば良いか
色々しらべてもわからなかったので、もしよろしければ教えてください。
608:デフォルトの名無しさん
07/05/17 23:10:43
>>607
Runtime.exec(String command)
609:デフォルトの名無しさん
07/05/17 23:30:38
class Sample{
static boolean b;
public static void main(String[] args){
int x = 0;
if (b) {
x = 1;
} else if(b = false) {
x = 2;
} else if(b) {
x = 3;
} else {
x = 4;
}
System.out.println("x = " + x);
}
}
「if(b = false)」のところでbの初期値であるfalseと一致し、
「x = 2」と出ると思っていたのですが、
実行すると「x = 4」と表示されます。
何故そうなるかご教授願いたいのです。
610:デフォルトの名無しさん
07/05/17 23:38:54
>>609
>} else if(b = false) {
bにfalseを代入してるから?
611:デフォルトの名無しさん
07/05/17 23:40:21
> 「if(b = false)」のところでbの初期値であるfalseと一致し、
それ、比較じゃなくて代入だから。
比較したいなら if(b == false)
612:デフォルトの名無しさん
07/05/17 23:52:40
booleanとtrue,falseを比較なんて身の毛もよだつ
バグが入るので絶対お薦めしません
if( b )
if( !b )
これでいいだろ?
613:609
07/05/18 00:01:22
比較の"=="じゃなく、"="なので代入になってしまっていたわけですね。
なるほど、わかりました。
どうもありがとうございました。
614:デフォルトの名無しさん
07/05/18 00:45:18
>>612
if(b){} else {} でいいじゃん。
615:デフォルトの名無しさん
07/05/18 01:09:47
Sunのコーディングスタイルはif(b==ture) else
>>608
そういう意味じゃなくてOOoみたいに別々に固めた別コンポーネント(ウィジェット)を連携したいって意味じゃない?
616:デフォルトの名無しさん
07/05/18 01:16:01
> Sunのコーディングスタイル
URLリンク(java.sun.com)
> f(b==ture) else
そんな事書いてなくね?
617:デフォルトの名無しさん
07/05/18 01:22:39
boolean b = false;
【不恰好なコード】
if (b == true) {
// 処理
} else if (b == false) {
// 処理
}
【美しいコード】
if (b) {
// 処理
} else if (!b) {
// 処理
}
618:デフォルトの名無しさん
07/05/18 01:25:01
> } else if (!b) {
釣りか?
619:デフォルトの名無しさん
07/05/18 01:26:16
酔ってるんだ
みなかったことにしてくれ
620:デフォルトの名無しさん
07/05/18 06:24:48
>>609
ちなみに == true を書く派だが、これは盲点。
if( b = false) ってバグは怖いな
ためしにint あたりで同じバグを書いてみよう
if(i = 10)
とかね。
こっちはコンパイルエラーとなる。
実はJavaの場合、代入式の実行結果として代入値が返されるんだわ。
だからint の場合は、代入値(10)が ifの論理式の所に渡されるからNG。
これに対して、boolean の場合は、falseが渡されるから、結果としてOK。
そう考えると、612の主張もアリと感じる。
621:デフォルトの名無しさん
07/05/18 06:45:48
比較演算の結果は boolean なので、 boolean を true, false と
比較するというのなら比較演算の結果も当然比較するべきだろう。
その結果も boolean なので(以下略
622:デフォルトの名無しさん
07/05/18 07:37:55
(...(((b == true) == true) == true) ... == true)
623:デフォルトの名無しさん
07/05/18 08:06:04
無限再帰ってこわくね?
624:デフォルトの名無しさん
07/05/18 10:24:01
javaって肥大化していくCで書かれたソフトウェア開発コスト下げれるの?
速度速いしC++の方がいいと思うんだけど。
625:デフォルトの名無しさん
07/05/18 10:31:11
>>624
JavaでCのソフトは作れないなぁ
626:デフォルトの名無しさん
07/05/18 10:41:14
>>625
組み込みシステムとかは?
627:デフォルトの名無しさん
07/05/18 11:24:29
どの言語も使いどころが違うからなあ
マルチリンガル必須だよ
628:デフォルトの名無しさん
07/05/18 12:30:18
boolean は、真偽値しか入ってこない型なんだから
判定では、比較させないのがバグを回避するのに有効だと思うが・・・・
Cや、Perlなど boolean以外の値も真偽判定に使えるような言語だと、
比較を書くのは真偽判定に使っていると明示すことこになって嬉しいんだけど
Javaはbooleanでしか判定しないので比較を書かない方がいいと思う
629:デフォルトの名無しさん
07/05/18 12:46:29
>>628
ふむふむ。
それならば、メソッドの戻り値がbooleanの場合はどうする?
if(isHogeHoge()) {}
と
if(isHogeHoge() == true) {}
だと後者のほうが解りやすいと俺は思う。
変数だと書かないのもありと思うけど、でも!は嫌いだなぁ。
見落とすんだよね・・・
630:デフォルトの名無しさん
07/05/18 13:32:15
>>629
俺は >>628 じゃないけど、前者の方が良い。
if (!isHoge()) と if (isHoge() == false) でも前者かな。
631:デフォルトの名無しさん
07/05/18 13:33:19
== true を入れられると、何か頭を使わないと理解できない。
慣れの問題だろうが、俺はない方がはるかに分かりやすい。
というか、C/C++ 使ってると true と比較するのはものすごく抵抗がある。
ctype.h の is 系関数とか 1 以外の値も返すようになってる実装だったりすることも多いし。
632:デフォルトの名無しさん
07/05/18 13:40:30
C/C++ だと == NULL とか != NULL は良くやる。
ってか、文法似てるけど別の言語だからスレ違いだね。ごめん。
633:デフォルトの名無しさん
07/05/18 13:41:24
ポインタは真偽値じゃないから書くのが普通だろう。
634:デフォルトの名無しさん
07/05/18 13:46:46
>>629
個人的主観で言うならば日本語に直してスムーズに読める方を採用する
if(isHogeHoge()){} →もしHogeHogeならば(比較的素直に読める)
if(isHogeHoge() == true){} →もしHogeHogeが真ならば(いかいもプラグラム的)
635:デフォルトの名無しさん
07/05/18 14:31:32
>>618
こう考えるんだelse if(!b)else assert false;
それは契約だと・・・・なんだって?到達不能だって?
636:デフォルトの名無しさん
07/05/18 14:33:19
>>635
b が別スレッドから変更される可能性があるんだよ。たぶん。
637:デフォルトの名無しさん
07/05/18 15:07:02
何という危険なプログラム!
638:デフォルトの名無しさん
07/05/18 15:48:14
>>637
つ volatile
639:デフォルトの名無しさん
07/05/18 16:02:38
いや、それ何の解決にもなりませんから。
640:デフォルトの名無しさん
07/05/18 16:23:51
public class VolatileSolvesEverything {
private boolean 解決 = false;
/* 中略 */
if (解決) { /* 嘘やん(心の声) */} else { /* 到達不能ということにしたい */ }
}
641:デフォルトの名無しさん
07/05/18 16:29:53
>>629
!を見落とすより間違った代入を見落とした方がバグとして痛いだろう
642:デフォルトの名無しさん
07/05/18 17:21:34
if(true - true == 0)
643:デフォルトの名無しさん
07/05/18 17:32:37
>>642
booleanは引き算できないってこと分かってる?
644:デフォルトの名無しさん
07/05/18 18:02:16
初心者の質問じゃないかもしれないけど、
どなたか教えてください。
ドメインaaaaa.comからURLリンク(bbbbb.com)へ、
リンクが貼られているかをチェックするプログラムを作りたいと思っています。
現在サイト運営していて、
相互リンク先から本当に自分のサイトにリンクされているのかを、
確認したいと思っているのですが、
リンク件数が1000件を超えているため、
プログラムでチェックしたいとおもっています。
Javaでなくてもいいのですが、
JSpiderというものがあるのを知り、
こちらにかきこませていただきました。
べつに言語はJavaに固執しているわけではありません。
参考になるサイトなどありましたら教えていただけないでしょうか。
どなたかお願いします。
645:デフォルトの名無しさん
07/05/18 19:47:43
>>644
URLリンク(www.atmarkit.co.jp)
646:デフォルトの名無しさん
07/05/18 20:02:30
>>644
パッシブな調査方法でいいのなら、
ログのリファラをチェックするのが一番確実だと思います。
それだと、相互リンク自体が有効かどうかチェックできるし
ネットワークトラフィックを発生させる事もありません。
1.相互リンクをお願いする
2.相手にリンク作ったら1回踏んで動いていることをチェックしてもらう
3.毎月(自分の納得する頻度で)ログをチェックする
4.相互リンクを結んでいる相手のリファラを持つアクセスが無い相手のみ目でチェック
これでOK.
1000件以上も単なるリンクチェックだけに回るのは
極めて非常にとても無駄です。
647:デフォルトの名無しさん
07/05/18 20:17:52
俺は ! の後には必ず空白入れるようにしてる。
if(! b) みたいに、目立つように。
648:デフォルトの名無しさん
07/05/18 20:18:05
>>644
URLリンク(q.hatena.ne.jp)
649:デフォルトの名無しさん
07/05/18 20:19:22
>>644
URLリンク(hp.webnavisys.com)
650:デフォルトの名無しさん
07/05/18 20:20:03
>>644
URLリンク(exp.webnavisys.com)
651:デフォルトの名無しさん
07/05/18 20:25:57
>>647
俺らは ! は必ず三つ並べるようにしてる。
if(!!!b) みたいに、目立つように。
652:デフォルトの名無しさん
07/05/18 20:35:36
>>651
なにー!
くそー、じゃあオレは4つ並べちゃうぞ
653:デフォルトの名無しさん
07/05/18 20:39:33
>>652
ちょw それヤバいwww
654:デフォルトの名無しさん
07/05/18 20:41:49
>>652
だめじゃん
655:デフォルトの名無しさん
07/05/18 20:42:27
>>653
ってか、3つや5つならオッケーなんだよな。
4つや6つ並べると負けってのは何か理不尽じゃね?
納得いかない奴の数→(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ry
656:デフォルトの名無しさん
07/05/18 20:48:07
>>653
wを2つ並べるのも避けてるみたいですが、意図的ですか!!!ww1w!w!!ww
というか
_, ._ 金曜の夜なのに
(´・ω・) くそレスが次から次へと…
○={=}〇,
|:::::::::\, ', ´
、、、、し 、、、(((.@)ww意図的ですか!!!ww1w!w!!wwwbw!!ww
657:デフォルトの名無しさん
07/05/18 21:24:47
>>638-639
結局、JSR-133って何が変わったんだっけ?
658:デフォルトの名無しさん
07/05/18 21:29:48
!!! って流石に ! に最適化されるよね?
659:デフォルトの名無しさん
07/05/18 21:36:31
(´・ω・) く あまり糞レス増やすなよー
○={=}〇,
|:::::::::\, ', ´
、、、、し 、、、(((.@)!!! って流石に ! に最適化されるよね?
660:デフォルトの名無しさん
07/05/18 23:33:39
!って1個じゃなくてもいいの!?
661:デフォルトの名無しさん
07/05/18 23:34:59
!!?!
662:デフォルトの名無しさん
07/05/18 23:35:00
>>660 単項演算子だからね。
663:デフォルトの名無しさん
07/05/18 23:35:44
1++++---+--+++++-+-++-+2
664:デフォルトの名無しさん
07/05/18 23:42:10
ああそうか2個あったらfalseの逆になるのか
665:デフォルトの名無しさん
07/05/19 00:08:50
>>645
>>646
>>648-650
ありがとうございます。
参考にさせてもらいます。
666:デフォルトの名無しさん
07/05/19 00:21:33
>>663
構文エラーだね。
667:デフォルトの名無しさん
07/05/19 00:27:41
1+ + + +- - -+- -+ + + + +-+-+ +-+2
668:デフォルトの名無しさん
07/05/19 00:30:44
>>667
マジレスすると、Java では 1 ++ ++ -- + -- ++ ++ + - + - ++ - + 2 と区切られなければならない。
1++2 も同じ理由でコンパイルエラーになる。
669:デフォルトの名無しさん
07/05/19 00:32:35
マイナスが一個足りないな
670:デフォルトの名無しさん
07/05/19 02:45:35
ネットワーク対戦のゲームを作りたいのですが、
クライアントサイドにSwingをサーバサイドにサーブレットを使おうと考えています。
通信部分はどうしたらいいのでしょう。
671:デフォルトの名無しさん
07/05/19 02:51:40
ServletならJakarta Commons HTTP Clientを使っとくのが楽かもね。
672:670
07/05/19 03:02:16
>>671
ありがとうございます。
ググってみたのですがよくわかりません…
詳しく教えていただけないでしょうか?
673:デフォルトの名無しさん
07/05/19 03:39:51
わからんのなら素直にSocketでも使っとけ。
674:デフォルトの名無しさん
07/05/19 05:43:23
>>671
HTTPSでも問題ないですか?
675:デフォルトの名無しさん
07/05/19 05:45:14
>>670
URLリンク(jakarta.apache.org)
676:デフォルトの名無しさん
07/05/19 06:17:14
URLリンク(www.ipa.go.jp)
このページにある、リスト2 InfoMenuクラスのソースなのですが、
10 public void dispMenu(Passwd pwd) {
11 if(pwd.checkPasswd() == true) {
12 dispSystem();
10行目の部分でPasswdクラスのオブジェクトを取ってくると記述されていますが、
PasswdクラスとinfoMenuクラスが親子関係という訳でもなく、
infoMenuクラスからPasswdオブジェクトを作っている記述もありません。
なぜ、dispMenu(Passwd pwd)だけで任意のPasswdオブジェクトが取得できるのでしょうか?
677:デフォルトの名無しさん
07/05/19 07:41:15
>>676
> 10行目の部分でPasswdクラスのオブジェクトを取ってくると記述されていますが、
そんなこと書いてない。テキストを誤解している。
678:デフォルトの名無しさん
07/05/19 07:43:54
>>676
「Passwdを取得する」ではなく「Passwaを引数とする」ではないの?
679:676
07/05/19 08:11:34
そのとおりです、オブジェクトを引数として渡してるだけでしたorz
何故か初歩的なこと忘れてました。
「dispMenu(Passwd pwd)」って記述したら自動的に
「dispMenuに渡された引数がそのままPasswdに渡されて、尚且つpwdオブジェクトが生成される」とか
変なことばかり考えてまして。
ありがとうございました。
680:デフォルトの名無しさん
07/05/19 13:46:16
注:str.java の操作は、未チェックまたは安全ではありません。
注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください
というエラーがコンパイルすると出るんですがなぜですか?
同じものを学校のPCでやってもでなかったのに
681:デフォルトの名無しさん
07/05/19 14:13:45
>>680
javac -source 1.4 str.java
ってやってみ?
学校のコンパイラのバージョンは古いからエラーが出なかったんだ。
682:デフォルトの名無しさん
07/05/19 14:25:36
>>681
できました!
ありがとうございます
683:デフォルトの名無しさん
07/05/19 19:24:25
ha= buf.readLine();
switch (ha.charAt(0)){
case'+':
kg=1;
case'-':
kg=2;
case'*':
kg=3;
case'/':
kg=4;
}
の部分に
Exception in thread "main" java.lang.NumberFormatException: For input string: "+"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at RinkouPractice4.main(RinkouPractice4.java:22)
ってエラーが出てコンパイルできるが実行できないんですが原因を教えてください
684:デフォルトの名無しさん
07/05/19 19:40:43
>>683
とりあえずエラーが発生してる場所が違うな。
>at java.lang.Integer.parseInt(Unknown Source)
>at RinkouPractice4.main(RinkouPractice4.java:22)
まぁこれ見る限りreadLine()してきたデータそのままparseInt()に渡してるんだろうな
685:デフォルトの名無しさん
07/05/19 20:41:46
public static void main(String[] args)throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); //標準入力の準備
String ha,s1,s2,b1,b2;
int kg;
int si1,si2,bo1,bo2;
System.out.println("数値を入力"); //ユーザに入力を促す
s1=buf.readLine();
b1=buf.readLine();
si1 = Integer.parseInt(s1);
bo1 = Integer.parseInt(b1);
ha= buf.readLine();
s2=buf.readLine();
b2=buf.readLine();
si2 = Integer.parseInt(s2);
bo2 = Integer.parseInt(b2);
Kazu v1 = new Kazu(si1,bo1);
Kazu v2 = new Kazu(si2,bo2);
// Hantei h = new Hantei();
// kg = h.opr(ha.charAt(0));
kg=0;
switch (ha.charAt(0)){
case'+':
kg=1;
case'-':
kg=2;
case'*':
kg=3;
case'/':
kg=4;
}
なぜエラーが出るんですか?
686:デフォルトの名無しさん
07/05/19 21:17:08
RinkouPractice4.javaの22行目どうなってる?
mainメソッドから数えて22行目じゃなくてファイルの頭から数えて22行目。
>si1 = Integer.parseInt(s1);
>bo1 = Integer.parseInt(b1);
>si2 = Integer.parseInt(s2);
>bo2 = Integer.parseInt(b2);
どれかのはずだけど…
んで、なんでエラーになるかというと、parseIntメソッドの仕様だから
>文字列の引数を符号付き 10 進数の整数型として構文解析します。
>文字列にある文字はすべて、10 進数でなければなりません。ただし、
> 1 番目の文字だけは、負の値を表すためにマイナス記号の ASCII 文字
>「-」(「\u002d」) であってもかまいません。
これに”+”付の数字渡せば
>Exception in thread "main" java.lang.NumberFormatException: For input string: "+"
となる、と。
入力データのチェック入れれば回避できるんでない?
687:デフォルトの名無しさん
07/05/19 21:41:49
20 s1=buf.readLine();
21 b1=buf.readLine();
22 si1 = Integer.parseInt(s1);
23 bo1 = Integer.parseInt(b1);
24 ha= buf.readLine();
25 s2=buf.readLine();
26 b2=buf.readLine();
27 si2 = Integer.parseInt(s2);
28 bo2 = Integer.parseInt(b2);
29
30 Kazu v1 = new Kazu(si1,bo1);
31 Kazu v2 = new Kazu(si2,bo2);
こうなってますが具体的にはどうすればよいのでしょうか?
688:デフォルトの名無しさん
07/05/19 23:01:22
>>680-682
Generic使えよ
689:デフォルトの名無しさん
07/05/19 23:53:00
入力データのチェックって何ですか?
まだ出来ないんですが誰か助けてください
690:デフォルトの名無しさん
07/05/20 00:14:34
J2EEのライブラリを書くときにServlet APIのインタフェースライブラリだけが欲しいんですが
これってTomcatとかから借りてきてそのまま配布してもいいんですか?
691:デフォルトの名無しさん
07/05/20 00:30:24
>>689
readLineメソッドで読み込んだ文字列(変数ha以外)が数字又は一文字目が"-"以外だったら
エラー処理を行う(再入力させるもよし、Exception投げるもよし、問答無用でプログラム終了でも…)
要するにInteger#parseIntがちゃんと処理できる値が入力されていることを保証してやる
ユーザが作り手の意図した通りの入力してくれるとは限らないから入力チェックは必須。
692:デフォルトの名無しさん
07/05/20 00:59:45
int readInt() throws EOFException {
while(true) {
String str = buf.readLine();
if(str == null) { throw new EOFException(); }
try { return Integer.parseInt(str); }
catch(NumberFormatException e) {
System.out.println("残念、もう一度");
}
}
}
693:デフォルトの名無しさん
07/05/20 02:11:35
>>688
残念ながら1.4が本当のターゲットらしいんでgenericsを使っちゃコンパイルできなくなる。
別の所でそれより新しいバージョンでコンパイルして警告を出されて焦ったようだ。
694:デフォルトの名無しさん
07/05/20 04:08:12
>>693
つ -source 1.5 -target jsr14
695:デフォルトの名無しさん
07/05/20 04:13:02
WindowsでもLinuxでも動作する
USBポートに対する入出力を行うライブラリでオススメ教えてください
696:デフォルトの名無しさん
07/05/20 04:23:35
整数を任意に入力していき、0を入力したら最大値は何番目にでてきたか出力する
プログラムですが、たとえば
0>10
1>11
2>0
と入力すると、本来
1
と出力されてほしいのに、
1
1
と出力されてしまいます。
どこがおかしいのかご教授くださいmm
697:697
07/05/20 04:26:12
import java.io.*;
public class enshu41b {
public static void main(String[] args) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int[] a = new int[100];
int count = 0;
while(count < a.length) {
System.out.print(count + "> ");
int v = (new Integer(in.readLine())).intValue();
if(v == 0) { break; }
a[count] = v;
++count;
}
int max = a[0];
int[] mn = new int[100];
mn[0] = 0;
int count2 = 0;
for(int i = 1; i < count; ++i) {
if( a[i] > max ) {
max = a[i];
count2 = 0;
mn[count2] = i;
}
if( a[i] == max ) {
++count2;
mn[count2] = i;
}
}
for(int i = 0; i <= count2; ++i) {
System.out.println(mn[i]);
} } }
698:デフォルトの名無しさん
07/05/20 06:03:42
>>695
jUSBを自分でwindowsに対応させる。
699:デフォルトの名無しさん
07/05/20 06:26:32
>>694
これ便利だな
はたからthx
700:デフォルトの名無しさん
07/05/20 07:25:48
>>696
境界条件を頭の中でシミュレート。わかんねーならトレース実行でもしろ。
701:デフォルトの名無しさん
07/05/20 08:35:25
>>694
1.4でコンパイルするのが目的で1.5以上のコンパイラの機能は使えない
1.4の実行環境をターゲットにして1.5以上でコンパイルするんじゃないから
1.4のコンパイラしかない環境でコンパイルするにはそのオプションは空しい
702:デフォルトの名無しさん
07/05/20 11:17:59
ObjectInputStreamのreadObject()でファイルを最後まで読みたいんですがどうもうまくいきません。
whileのところが今のままではjava.lang.Object と int は比較できません。というエラーがでます。
どなたか教えてください。
/**************** ファイルから入力 *****************/
List messages = new ArrayList();
try{
ObjectInputStream ois = new ObjectInputStream(
new FileInputStream( file ) );
Object obj;
// ファイルの終端に達するまで読み込む
while( ( obj = ois.readObject() ) != -1 ){
Map map = (Map) obj;
messages.add( map );
}
if( ois != null ) ois.close();
}
catch( Exception ex ){
ex.printStackTrace();
}
finally{
System.out.println( "end input" );
}
703:デフォルトの名無しさん
07/05/20 11:20:04
whileの中の-1ってなんだ? 説明できるか?
704:デフォルトの名無しさん
07/05/20 11:24:28
とりあえずclose()する前にflush()しとけ
705:デフォルトの名無しさん
07/05/20 11:28:07
教える側も素人かよ^^;
>>702
とりあえずJavaDoc嫁。EOFを返すなどと何処に書いてある?
2chを辞書代わりに使うな、むしろ時間の無駄と分かるぞ。
706:デフォルトの名無しさん
07/05/20 11:31:41
ObjectInputStreamのAPIドキュメントに
>>バイト単位の読み込みでは、バイトが読み込まれたときに -1 が返されます。プリミティブ読み込みでは、EOFException がスローされます。
こういうこと書いてたので-1が返るのかなと思ってました。
それじゃもっとよんでみます
707:デフォルトの名無しさん
07/05/20 11:39:57
ああreadObjectはバイト単位でもプリミティブ単位でもないのかごめん
708:デフォルトの名無しさん
07/05/20 11:43:36
>>700
どうしてそんな偉そうなんだ?
709:デフォルトの名無しさん
07/05/20 11:49:22
>>708
逆ギレかよ、わかんねーならそれなりの態度があるだろうに
710:デフォルトの名無しさん
07/05/20 13:45:50
2ch向いてねえな
711:デフォルトの名無しさん
07/05/20 16:04:19
無職乙
712:デフォルトの名無しさん
07/05/20 17:22:35
年数を入力して、うるう年と一般の年を判別後、月を入力して、
その月が何日あるかについてのプログラムを組んでみたのですが、
コンパイル問題が未解決です。
構文エラーがあります。"}" を挿入して MethodBody を完了してください。
構文エラーがあります。"}" を挿入して ClassBody を完了してください。
と出て実行できません。
最後の『 } 』の数は合っていると思うのですが、何故エラーが出ているのでしょうか?
713:712
07/05/20 17:23:51
public static void main(String[] args) {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.println("今は何年ですか?");
String line=reader.readLine();
int year=Integer.parseInt(line);
if(year%4==0)
{
System.out.println(year +"年ですね。");
System.out.println("今月は何月ですか?");
line=reader.readLine();
int month=Integer.parseInt(line);
if(month==2){
System.out.println("2月の日数は28日です");
}else if(month==4 || month==6 || month==9 || month==11){
System.out.println(month +"月の日数は30日です");
}else if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
System.out.println(month +"月の日数は31日です");
}else{
System.out.println("月数の範囲を超えています");}
}
714:712
07/05/20 17:24:33
else if(year%4!=0)
{
System.out.println(year +"年ですね。うるう年です。");
System.out.println("今月は何月ですか?");
line=reader.readLine();
int month2=Integer.parseInt(line);
if(month2==2){
System.out.println("2月の日数は29日です");
}else if(month2==4 || month2==6 || month2==9 || month2==11){
System.out.println(month2 +"月の日数は30日です");
}else if(month2==1 || month2==3 || month2==5 || month2==7 || month2==8 || month2==10 || month2==12){
System.out.println(month2 +"月の日数は31日です");
}else{
System.out.println("月数の範囲を超えています");}
}
}catch(IOException e){
System.out.println(e);
}catch(NumberFormatException e){
System.out.println("月に入力できる数は1~12の実数です");}
}
}
}
715:712
07/05/20 17:26:50
開発環境はEclipsです
716:712
07/05/20 17:58:54
あれ?なんだかよく分からないうちに自己解決しました。
何が問題だったんだろう……
717:デフォルトの名無しさん
07/05/20 19:23:19
つ保存していない
つ余計な括弧がある
つ右クリック ⇒ ソース ⇒ フォーマット
718:デフォルトの名無しさん
07/05/20 19:32:20
宿題があるんですけど教えてください。
719:デフォルトの名無しさん
07/05/20 19:36:31
>>718
スレ違い
★★ Java の宿題ここで答えます Part 61 ★★
スレリンク(tech板)
720:デフォルトの名無しさん
07/05/20 22:51:05
スタンドアロンプログラムをWindows上で動かし、
フォルダを指定しエクスプローラを開く、
といった処理をしたいんですが、なかなか情報が見つかりません。
なにか良い方法があれば教えてください。
ちなみにGUIはSWTを使用し作成しています。
721:デフォルトの名無しさん
07/05/20 23:25:16
>>720
質問が良くわからないんだけどSWTでエクスプローラーを作ったって事?
他にGUIが見当たらないんだが・・・。
722:デフォルトの名無しさん
07/05/20 23:42:14
>>720
Runtime.exec(String command)
どう開くかは適当に。
cmd /c start ......
とか
URLリンク(support.microsoft.com)
とか
ところで >>603-608 のながれと関係あるの?
723:デフォルトの名無しさん
07/05/20 23:52:30
javaやってる人ってオブジェクトとインスタンスって混ざって言ってるような
きがする、なんか違いあるの?
724:デフォルトの名無しさん
07/05/21 01:32:36
クラス + インスタンス = オブジェクト
725:デフォルトの名無しさん
07/05/21 06:13:54
オブジェクトという名前の基底クラスがあるから紛らわしい
726:デフォルトの名無しさん
07/05/21 11:47:38
テキストファイルの内容の一部だけ削除したいんですけど
一回全部よみこむ→該当部分削除→書込み直す
っていう方法は思いついたんですけど、
効率悪い気がするんですが、ほかにいい方法ってないですか?
727:デフォルトの名無しさん
07/05/21 12:08:54
ResultSet型のオブジェクトに代入されている結果セットのレコード数を知りたいんですが、何かいいメソッドって用意されていますか?
728:デフォルトの名無しさん
07/05/21 12:19:33
いまこのページ(↓)を読んでパッケージについて勉強してました。
URLリンク(www.ytp.ne.jp)
このページで言うところの C:\Source\Java\test\HelloWorld2.class に対して
C:\Source\Java\test>java HelloWorld2
と実行するのと
C:\Source\Java\test>java test.HelloWorld2
と実行するので結果に差がある(前者はエラーになる)ことは確認しましたが、
いまいち納得ができません。
ディレクトリ直下のHelloWorld2.classを直接指定するのと
CLASSPATHの下の\test\HelloWorld2.javaを指定するのとで
何が変わってくるのでしょうか?
729:デフォルトの名無しさん
07/05/21 13:04:27
>>728
javaコマンドの引数に指定するのは、ファイル名ではなく
パッケージ名を含むクラス名(FQCN:完全修飾クラス名)であることに注意。
”java HelloWorld2”のコマンドは、
HelloWorld2.classを参照するよう指定しているのではなく、
クラスパスからHelloWorld2というFQCNのクラスを見つけて、
それを実行するよう指定している。
この場合、HelloWorld2のFQCNはtest.HelloWorld2なので、
該当するクラスがクラスパスにないためNoClassDefFoundErrorになる。
730:デフォルトの名無しさん
07/05/21 13:13:53
>>728
補足。パッケージ名はclassファイル自体に埋め込まれるので、
HelloWorld2.classをC:\Source\javaに移動しても、
HelloWorld2のパッケージを移動したことにはならない。
731:デフォルトの名無しさん
07/05/21 13:53:20
>>727
おまえはおれか
732:デフォルトの名無しさん
07/05/21 14:25:56
まず訂正を。自分の書き込みを見てびっくりしたのですが、
>ディレクトリ直下のHelloWorld2.classを直接指定するのと
>CLASSPATHの下の\test\HelloWorld2.javaを指定するのとで
の2行目は\test\HelloWorld2.classのミスタイプです。
>>729
回答ありがとうございます。
.classファイルを探すのではなく、FQCNでクラスを探しに行くから
test.HelloWorld2は存在するけれどHelloWorld2なんていう物は
存在しないという事ですね。
>パッケージ名はclassファイル自体に埋め込まれるので、
>HelloWorld2.classをC:\Source\javaに移動しても、
>HelloWorld2のパッケージを移動したことにはならない。
これについてですが、試しにソースはいじらずに.javaファイルを
C:\Source\Javaへ移動し、Message→HelloWorld2の順にコンパイルしたところ、
Messageはコンパイルできたものの、HelloWorld2はパッケージotamesiが
見つけられずにコンパイルできませんでした。
また、普通にコンパイルしたHelloWorld2.classをC:\Source\Javaに移動して
java test.HelloWorld2 してみたら
Exception in thread "main" java.lang.NoClassDefFoundError: test/HelloWorld2
が出てしまいました。
「パッケージを移動したことにはならない」というのは
「単純にフォルダ移動してもパッケージ情報(?)は変わらないから
パッケージと同名のフォルダに入れておかなければならない」
という意味でしょうか?
733:728
07/05/21 14:28:00
名前入れ忘れ。。。
>>732は>>728です。
734:デフォルトの名無しさん
07/05/21 14:53:29
>>732
そういう意味でおk
735:デフォルトの名無しさん
07/05/21 15:33:15
>>731
結局API読みまくった結果、ResultSetを直でいじくりまわすのはやめて、
内部クラス作ってそれのpublic変数に結果セットの最終行までResultSet.getStringしてって
ArrayListのオブジェクトにつっこんでArrayListのオブジェクト.size()しました。
配列のサイズきめたくて結果セットの行数しりたかったんですけど、配列作るよりArrayListつかったほうが何かすっきりしました
736:デフォルトの名無しさん
07/05/21 17:14:08
>>732
合ってるがもっと単純明解な前提条件があるぞ。
フォルダの移動はOSのオペレーション、パッケージの指定はjavaの仕様。
根本的、本質的にもこの二つはまったくの別物。
くっつけて考えてしまうならそこが"間違えて分からなくなってる"部分だ。
まずは問題の切り離しからだな。
737:デフォルトの名無しさん
07/05/21 17:52:51
ネットワーク越し(現在使用しているのはRMI)にIterator的なオブジェクトを
渡して受け取り側が辿れるようにするには、各メソッド内で通信するよう自前で作るしかないのでしょうか。
738:デフォルトの名無しさん
07/05/21 22:04:02
Byte a[]={0,0,0,1};
をa[0]~a[3]のバイト列をもつint型に変換する方法教えてください。
739:デフォルトの名無しさん
07/05/21 22:11:55
a[0]<<24|a[1]<<16|a[2]<<8|a[3]
740:デフォルトの名無しさん
07/05/21 22:24:35
すまんすまん
a[0]<<24|a[1]<<16&0xff0000|a[2]<<8&0xff00|a[3]&0xff
こうだ
741:デフォルトの名無しさん
07/05/21 22:36:31
>>738
new DataInputStream(new java.io.ByteArrayInputStream(a)).readInt();
java.nio.ByteBuffer.wrap(a).getInt();
742:デフォルトの名無しさん
07/05/21 22:58:25
>>727
適当なトランザクションレベルで select count(適当なカラム) from テーブル
という SQL を発行すればいいよ。リソースを消費を気にしないなら count(*) でも可。
743:デフォルトの名無しさん
07/05/21 23:10:41
>>735
対策まで一緒だな
おまえはおれか
744:デフォルトの名無しさん
07/05/21 23:13:21
>>737
質問の意図が良く分からんけど
org.JSON とか使うと解決するかもね
745:デフォルトの名無しさん
07/05/22 00:55:41
サーブレットでsubmitやセッションしたりしないでその画面のままテキストフォームから入力された値を取る方法ってありますか?
746:デフォルトの名無しさん
07/05/22 01:14:01
セッション関係無くね?
747:720
07/05/22 01:24:15
ご回答してくれた方ありがとうございました。
>>721
自分で作ったGUIからWindowsのエクスプローラを呼ぶには?
という質問でした。
結局JNI経由でWINAPIのShellExecuteを呼び出す形式で解決しました。
Webしかやったことない自分としては
GUIは妙に難しく感じます^^
748:デフォルトの名無しさん
07/05/22 01:25:57
JavaScriptを使えばいい
フォームの入力チェックにも使われている
あー仕事がほしいー
749:720
07/05/22 01:29:44
>>745
Submitしないという時点でクライアント側の処理になります。
サーブレットでの処理は無理です。
Javascriptが一番手っ取り早いのでは?
750:デフォルトの名無しさん
07/05/22 01:46:17
>>745
言葉が意味わからんがsubmitなしではservletに渡すことは普通は無理
XMLHttpRequestを使えばできる(ブラウザー依存)
いわゆるAJAXだな
751:デフォルトの名無しさん
07/05/22 02:49:06
>>745
Ajax
GWT
752:デフォルトの名無しさん
07/05/22 05:56:30
>>727
実は最初はそうしてたんですが、レコード数が膨大でcount(*)のリソースがどうしても気になって気になって、今の方法にしました。
>>743
もうステップ数を気にする時代ではないような気がしたので、リソースとのバランスを見ても、この方法がやはりベストなのかなと。
贅沢を言わせてもらうと>>727を読んだ時点で教えてもらいたかったです・・・
753:デフォルトの名無しさん
07/05/22 06:11:20
>>752
ごめん
ほぼ同じペースで同じことやってるみたいなのでw
当初は ArrayList へ移し替えやってたんだけど
いろいろ事情があって
結局いまは ArrayList はやめて JSONArray に変更したんだけど
標準のコンテナ(Hash Map など)よりも意外と便利で病みつきになりそう
754:デフォルトの名無しさん
07/05/22 10:12:13
>>744
ありがとうございます。
質問の意図が分かりづらかったようですみません。
ネットワーク越しにリストとなるデータを転送する際、コレクションや配列をそのまま渡すと
データが大量だった時にメモリを圧迫する可能性があるため、一気に渡すのではなく
少しずつ渡す必要があります。
そうするとIteratorのようなインタフェースから少しずつ取得できると理想ですから、
現在の私の状況であれば RMI 通信を隠蔽した Iterator 実装があると理想だったのですが、
見つけられなかったため質問しておりました。
JSONライブラリがこの背景と合っていたか不明ですが、少々調べてみます。
755:デフォルトの名無しさん
07/05/22 15:48:01
>>754
その渡そうとしているデータは、まさかDBからのクエリ結果だったりはしないよね?
756:デフォルトの名無しさん
07/05/22 16:07:53
なんでSunの命名規約はパッケージ名を全て小文字にすることになっているんですか?
longpackagenameのように長いと読みにくいです。
LongPackageNameの方がいいと思うのですが。
…とうちのリーダー(Java未経験)が仰ります。
どうすればいいでしょうか?
757:デフォルトの名無しさん
07/05/22 16:29:05
>>756
long_package_name にするとか……
758:デフォルトの名無しさん
07/05/22 16:38:23
大文字と小文字を区別する環境にも、そうでない環境にも同じように対応するためじゃね?
ディレクトリ名がHogeとhoge両方作れてしまうOSとか。
759:デフォルトの名無しさん
07/05/22 16:49:23
>>756
どうぞご自由に。
それは厳密に規定された規約というよりガイドラインのはずです。
名前の衝突回避と読みやすさのために用意されています。
外部に公開するライブラリとかには止めた方がいいと思いますが
閉じたアプリケーションで、利用する分には害がないと思います。
が、自分の経験だけに基づいてプロジェクトに他の言語の流儀を持ち込むと
利用しているライブラリ等とずれるので、かえって汚くなってしまう可能性もあります。
In Rome, do as the Romans' do.
760:デフォルトの名無しさん
07/05/22 17:49:58
>>755
いえ、Iteratorの開放がリソースを制御していることはありません。
外部ライブラリですが、外部ライブラリがそのまま持ってしまっていると言う
事もないようです。
761:デフォルトの名無しさん
07/05/22 19:07:45
>>759
いまは仕様じゃなかったか?
ファイルシステムの都合で利用できない文字を含む場合はUnicodeエスケープしろって書いてなかった?
昔はクラス名もパッケージ名も単語の頭は大文字を推奨してたけどすぐ変わったよ。
762:デフォルトの名無しさん
07/05/23 02:03:44
URLリンク(www.itmedia.co.jp)
{"ResultSet":
{"type":"web",
"totalResultsAvailable":242000000,
"totalResultsReturned":3,
"firstResultPosition":1,
…略…,
"Result":[
{"Title":"Apple",
"Summary":"Macintosh hardware, software, and Internet tools. Offering Quicktime info, developer resources, and other items related to Apple computers.",
"Url":"http:\/\/www.apple.com\/",
…略…
},
{"Title"、"Summary"、など次の結果…},
…略…
}
}
763:デフォルトの名無しさん
07/05/23 02:14:56
Eclipse使っている方いますか?
764:デフォルトの名無しさん
07/05/23 03:39:32
むしろEclipseでないと無理。
765:デフォルトの名無しさん
07/05/23 03:56:02
swingで一番上のJFrameでKeyEventを取ろうとしてもうまく取れません。
簡単なtoy programだとうまくいくのですが、panelをいくつか入れ子にしたものだと上手くいかない。
なにか理由が考えられるでしょうか? できればそこら辺を判り易く詳しく解説してあるサイトでも
教えていただければ幸いです。 あと、panelの上手な入れ子の仕方などの解説もあればうれしいです。
(ちゃんと表示されないこともあるので・・・)
766:デフォルトの名無しさん
07/05/23 04:15:33
>>765
その入れ子にしてるコンポーネント階層とどういう実装してるか言わないと分かる訳ないだろう。
描画に関しては重量と軽量を混ぜてて軽量が正しく描画されないって話じゃなければ描画を破壊してるだけ。
767:デフォルトの名無しさん
07/05/23 04:36:38
>>765
とりあえず>>403以降のやりとり見てみそ
768:デフォルトの名無しさん
07/05/23 10:02:04
JTextPaneの幅や行数を指定するにはどうすればいいですか。
JTextAreaでは一部の文字色変更などができなかった為に乗り換えました。
769:デフォルトの名無しさん
07/05/23 10:08:39
>>768
JTextPane では文字の大きさが変えられたりするから
列数とか行数ってのは意味無いんじゃないかと。
770:デフォルトの名無しさん
07/05/23 12:03:00
なるほど、気がつきませんでした。
文字数で指定しても意味がありませんね。
私のプログラムは文字サイズが一意なので、JTextPane#setSize(int width, int height)
メソッドを使えばよさそうですが、うまくいきませんでした。
サイズを指定しても反映されません。
GridBagLayoutを使っているのでこれが原因かと思い、他のレイアウト
―FlowLayoutを試してみましたが、同じくダメでした。
JTextPaneの大きさを指定するにはどうすればよいでしょうか。
771:770
07/05/23 12:19:07
解決しました。
JComponent.setPreferredSize(Dimension preferredSize)メソッドが期待通りの動作をしました。
772:デフォルトの名無しさん
07/05/23 12:29:39
インスタンスメソッドとクラス(静的)メソッドの使い分けがよくわかりません><
一言でいうと、どういうケースで使い分ければいいのでしょう?
インスタンス化の手間を考えなければ、
全部インスタンスメソッドでいいのでは?とか思ってる状態です。
773:デフォルトの名無しさん
07/05/23 13:10:10
Eclipseのインストール時に書込みエラーと警告が出てしまうのですが、
どなたか解決方法を教えていただけないでしょうか?
774:デフォルトの名無しさん
07/05/23 13:38:15
>>772
使い分けというか、具体的にどういう場面(ソース)でそう思ったとかを書いておくれ
>>773
PC初心者板へどうぞ
775:デフォルトの名無しさん
07/05/23 16:08:28
RMIサーバを立ち上げ、普通にリモートメソッド呼び出しが可能な状態となるのですが、
RMIサーバをそのまま放っておくと数分後に以下のようなエラーが出てサーバが終了します。
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused
数分後という原因がよく分かりません。何かのデフォルトのパラメータか何かに依存しているのでしょうか?
なお、RMIサーバを起動するのが Linux, Windows ともに発生していますので、
Windows独自のファイアウォールなどとも違うように思います。
776:775
07/05/23 16:22:21
計測したところ1分で落ちてしまうようです。
URLリンク(java.sun.com)
を見るとデフォルト値が1分なのは
sun.rmi.transport.tcp.handshakeTimeout
ですが、クライアント側の設定のようですし、この値を設定してみても
やはり1分で落ちてしまいます。
777:775
07/05/23 16:30:22
自己解決しました。恐らくGCで削除されてしまっていたようです。
参照を持たせていたつもりが実は出来ていませんでした。
778:デフォルトの名無しさん
07/05/23 19:13:04
配列に10種類の文字を入れておいてランダムに3つ取り出したいです
ダブらないようにそういう制御させるにはどうしたらいいですか
エロい人教えてくださいorz
779:デフォルトの名無しさん
07/05/23 19:14:43
色んなやりかたがあるけど
ランダムにシャッフルして
先頭の3つ取り出すとかどう?
780:778
07/05/23 19:16:20
あぁ!!そういうやり方もあるんですね
でもどうランダムにシャッフルするのかわからないです・・・'A`
781:デフォルトの名無しさん
07/05/23 19:22:24
>>780
URLリンク(blogs.sun.com)
URLリンク(blogs.sun.com)
782:デフォルトの名無しさん
07/05/23 20:23:40
Runtime.exec()を使って他マシンのプロセスを生成する方法を教えてください。
783:デフォルトの名無しさん
07/05/23 21:00:32
>>772
全部クラスメソッドにしようとしているなら考え直せとアドバイスするところだが、
全部インスタンスメソッドになるのは、クラスメソッドの必要性が出てくるまでは
放っておいてもいいんじゃないか。
784:デフォルトの名無しさん
07/05/23 21:53:15
>>772
783の言うとおりだな。
全部インスタンスメソッドで、ほとんどの場合は問題ない。
インスタンス生成のコストがって言うアホがいたら、何回作れば0.1秒?と聞いてやれ。
クラスメソッドにする必要性があるケース。
そうだなぁ、基本ライブラリで言えばインスタンス生成系かね。
Integer.parseInt()とかCalendar.getInstance()とか。
後はユーティリティ系、Math.max() とか
785:デフォルトの名無しさん
07/05/23 23:38:03
>>772
思いがけない仕様変更があったとき、
インスタンス生成の手間を惜しまずインスタンスメソッドにしておけば良かった、
と悔やむことはある。
逆は無い。
786:デフォルトの名無しさん
07/05/24 07:39:33
漢字のJISコードをとるにはどうすればいいのでしょう?
getBytes("JIS")とかして取得すると
半角英数などは
URLリンク(ash.jp)
にあるようなコードがとれるんだけど
漢字だとマイナスの数値が取れたりしてうまくいかないんだけど・・・
どなたかご教授を
787:デフォルトの名無しさん
07/05/24 08:19:15
>>786
「JISコード」とは何? 区点コードのこと?
ISO-2022-JP や Shift_JIS や EUC-JP での値?
788:デフォルトの名無しさん
07/05/24 08:24:04
質問です。
class hogelist {
hogelist(int data) {
this.data = data;
}
public hogelist prev;
public hogelist next;
public final int data;
}
listのクラスなのですが、
hogelist(int data) {
this.data = data;
}
の部分はコンストラクタなのでしょうか?
修飾子はいらないのでしょうか?
789:デフォルトの名無しさん
07/05/24 08:27:22
>>788
コンストラクタですね。
「class」のところと同じで、パッケージスコープなら
public/protected/privateはいらない。
790:デフォルトの名無しさん
07/05/24 10:00:24
package-privateと言って同一パッケージ内からのみ見えるアクセス修飾です。
791:デフォルトの名無しさん
07/05/24 10:28:34
>>787
URLリンク(ash.jp)
にあるような
T → 54
試 → 3b 6e
のような変換がしたいんです。
半角文字は上記のような値が取れるんですが・・・
792:デフォルトの名無しさん
07/05/24 10:29:15
>788
クラス名は大文字からはじめておけ。
class Hogelist {
Hogelist(int data) {
this.data = data;
}
んで、メソッド名は小文字ではじめる。
こうすれば、コンストラクタとメソッドとを混同しなくて済む。
って昔の人が考えたんですよ。名前の付け方のルール
793:デフォルトの名無しさん
07/05/24 10:38:03
>>791
byte[] raw = "試".getBytes("ISO-2022-JP");
してから、raw の先頭に 0x1b があれば先頭3バイト除去、
raw の後ろから3バイト目が 0x1b だったら末尾3バイト除去、
とすれば2バイトだけ残って 0x3b と 0x6e になると思う。
Shift_JIS や EUC-JP の場合は、そのまま raw が2要素の配列になるは
ず。
794:デフォルトの名無しさん
07/05/24 10:40:39
>漢字だとマイナスの数値が取れたりして
>漢字だとマイナスの数値が取れたりして
>漢字だとマイナスの数値が取れたりして
>漢字だとマイナスの数値が取れたりして
795:デフォルトの名無しさん
07/05/24 12:02:37
ど素人質問ですみません
JAVAって機械の制御に使えるんでしょうか
796:デフォルトの名無しさん
07/05/24 12:38:29
javaチップって携帯電話に乗ってたっけ?
797:デフォルトの名無しさん
07/05/24 13:30:39
JAVAを使えるマイコンってありますか
798:デフォルトの名無しさん
07/05/24 14:44:41
おまえらJavaOne行ってこい
799:デフォルトの名無しさん
07/05/24 14:47:37
>>798
今年のJavaOneは もう終わりましたが
800:デフォルトの名無しさん
07/05/24 18:17:51
質問ッス
ResultSet rs=stmt.executeQuery(sql)
でResultSetの変数rsにsqlの結果を入れたわけですが、
中の列要素に大きなデータが入ってまして、あふれた分を切られてたわけです。
これは、どうやって解決すればいいんでしょうか?
801:デフォルトの名無しさん
07/05/24 18:48:17
具体的にどの型のデータなの?
802:800
07/05/24 18:54:37
String型です。最高で500文字はあるみたいで・・・
803:デフォルトの名無しさん
07/05/24 19:13:43
>>798-799
半年ROMってから行ってくる
804:デフォルトの名無しさん
07/05/24 20:31:31
>>802
いや、DBの種類とカラムの方の型が問題なんだと思われ。
805:デフォルトの名無しさん
07/05/24 21:00:31
arraylistについて初心者でも分かりやすく
学べる解説サイトや本はないでしょうか?
知識としてはやさしいjavaを終わらせたレベルです。
806:800
07/05/24 21:34:16
>>804
今はJDBC-ODBCブリッジ使って、TextDriverに接続してます。
データはCSVに格納している状態です。
で、解決策がひとつ見つかりました。
StatementのsetMaxFieldSize()メソッドを使えば・・・となってたんですが、
エラーが出て使えません。
もう、どうしたらいいんでしょうか。
807:デフォルトの名無しさん
07/05/24 22:29:49
>>805
どこも一緒。
てか、やさしいJava読み終えるレベルってArrayListの解説すら読めないレベルなの?
そうだとしたら、別の入門書やった方がいいんじゃね?
808:デフォルトの名無しさん
07/05/24 22:38:12
>>807
言い方が悪かったっす。
ArrayListというのが問題で急に出てきたんですが、
勉強するためによい参考書はないでしょうか?という意味です。
コンピュータ言語知識はJavaが初です。
809:デフォルトの名無しさん
07/05/24 22:44:52
>>808
URLリンク(java.sun.com)
810:デフォルトの名無しさん
07/05/24 22:51:45
Introspectorについて詳しく書かれてるサイトか本はありますかね?
811:デフォルトの名無しさん
07/05/24 23:15:01
>>810
調べちゃいないが IBM の デベロッパワークスあたりにありそうな気もするが。
URLリンク(www-06.ibm.com)
812:デフォルトの名無しさん
07/05/24 23:18:00
>>810
基本だと思うけどbeansの仕様
URLリンク(java.sun.com)
813:デフォルトの名無しさん
07/05/24 23:21:40
>>808
URLリンク(d.hatena.ne.jp)
814:デフォルトの名無しさん
07/05/24 23:22:59
JDBCについて質問です。
ResultSet rs = stmt.executeQuery(sql);
としてデータベースのでーたをrsに格納した後で、
while(rs.next()){
で上から1行ずつデータを読んでいきます。
これって同じ行をもう一度読み込んだり、
途中でもう一回最初から読んだりってできるんですか?
一回
rs.close();
してからもう一度
rs.next();
を書いてみたのですがうまくいかなくて。
815:デフォルトの名無しさん
07/05/24 23:35:28
>>812
基本なのですか・・・。
でも、全然そういったことを詳しく書いてるサイトや本がないのです。
あっても英語の本ばかりで。
816:デフォルトの名無しさん
07/05/24 23:39:04
>>813
ありがとうございます。
817:デフォルトの名無しさん
07/05/24 23:45:12
>>814
rs.relative(-1);
とか試してみたら?
closeはrsを使わなくなってからするもの。
818:デフォルトの名無しさん
07/05/24 23:47:47
>>814
Statement を作る際、引数を持つ Connection#createStatement() の第1引数に
ResultSet.TYPE_SCROLL_SENSITIVE とかを与えれていれば、
ResultSet#next() だけでなく ResultSet#previous() や
ResultSet#first() や ResultSet#relative() が使えるようになる可能性がある。
でも、JDBC ドライバが対応していないこともある。
819:デフォルトの名無しさん
07/05/24 23:52:34
>>807
やさしいjavaは確かに読めんな。三版持ってるが、C++との共通項くらいしか書かれてない。
820:デフォルトの名無しさん
07/05/25 02:54:27
>>814
DBのカーソル作成モードを変えると
レスポンスが急激に悪くなることがあるし
>>818 さんが言うように互換性も無くなる
一旦自前のArrayListを構築しなおすなどしてから
操作してもいいと思う
でも一回最後まで読むから無駄が増えて
やっぱりレスポンスは落ちるかも
読みながらArrayListにも入れていって
戻るときはそっちを見るとか工夫してくれ
821:デフォルトの名無しさん
07/05/25 09:49:50
Java の GUI プログラムで、アイドル状態になったときの
イベントを受け取ることはできないかな。
MFC でいう CWinApp::OnIdle みたいなの。
822:デフォルトの名無しさん
07/05/25 10:42:17
Idle状態ってなに?Focusを失ったとき?それならあるよ
823:デフォルトの名無しさん
07/05/25 11:05:23
そうじゃなくて、他に処理すべきイベントがなくなったとき。
824:デフォルトの名無しさん
07/05/25 13:41:11
面倒くさいから処理させたいものをプライオリティ最低のスレッドで動かしちゃえ
825:デフォルトの名無しさん
07/05/25 17:07:10
>>821
使ってるEventQueueでpeekEvent()がnullの時にアイドル時処理をするスレッドを使う。
826:デフォルトの名無しさん
07/05/25 17:14:14
文字列を指定した桁数ごとの文字列にして配列で返すみたいなことがやりたいです。
"aaabbbccc"を3桁って指定して["aaa","bbb","ccc"]みたいな。
forでがんばるしかない?
827:デフォルトの名無しさん
07/05/25 17:19:08
whileとsubstrでがんばるのはどうかな?
828:デフォルトの名無しさん
07/05/25 17:24:43
String s = "aaabbbccc";
String[] l = s.split("...");
829:デフォルトの名無しさん
07/05/25 17:31:45
>>828
思いつきは悪くないけどそれは正しく動かない。
>>826
for (String s : "aaabbbcccd".split("(?<=\\G...)")) System.out.println(s);
でも、正規表現でアクロバティックなコードを書くのはお遊びとしては楽しいけれど、
>>827のいうようにsubstringで分けたほうが分かりやすいし正道だと思う。
830:デフォルトの名無しさん
07/05/25 17:39:08
>>826
ほい。
余剰文字列は切り捨てられるので、それが嫌なら改造してね。
public String[] splitter( String in, int len ) {
String[] al = new String[ in.length()/len ];
int index = 0;
while ( in.length()>0 ) {
al[index] = in.substring(0,len);
in = in.substring(len);
++index;
}
return al;
}
831:デフォルトの名無しさん
07/05/25 17:45:38
もし切り分ける長さを整数変数lenに入れてるなら、
"aaabbbcccd".split("(?<=\\G" + ".{" + len + "})")
みたく。
832:デフォルトの名無しさん
07/05/25 18:15:15
>>829,>>831だと改行文字でマッチングが途切れるので、
改行文字も一文字とするなら、
"aaabbbc\nccd".split("(?s)(?<=\\G" + ".{" + len + "})")
こんな感じで。
>>830
元文字列のインスタンスを順次新規に作成するくらいなら、
int m = (in.length() - 1) / len;
String[] al = new String[m + 1];
int i = 0;
while (i < m) {
al[i] = in.substring(i * len, (i + 1) * len);
i++;
}
al[i] = in.substring(i * len);
return al;
とか。
833:デフォルトの名無しさん
07/05/25 20:43:54
任意の2つの座標を結ぶ線の太さを変えたいのですが、どのようにすればよいのですか?
834:デフォルトの名無しさん
07/05/25 20:55:40
plot 1 lw 1, 2 lw 2, 3 lw 3, 4 lw 4, 5 lw 5, 6 lw 6
835:デフォルトの名無しさん
07/05/25 23:27:53
>>833
((Graphics2D)g).setStroke(new BasicStroke(10));
g.drawLine(0, 0, 100, 100);
836:デフォルトの名無しさん
07/05/25 23:58:27
Javaでウィンドウズのペイントソフトのようなアプリを作りたいと考えています。
(マウスのドラッグ&ドロップでフリーハンドに線を引いたりできるソフト)
参考になるお勧めのサイトまたは本を知っている方がいたら教えてください。
あと、Javaは一つのアプリで複数のウィンドウを開くことはできますか?
837:デフォルトの名無しさん
07/05/26 00:08:32
SWTとかのVisualEditorってもう開発してないの?
最後のリリースが1年くらい前…
CUIでJavaペコペコするのもマンネリしてきたからGUIもいじってみたい今日この頃
ちなみにJava暦1月位
838:デフォルトの名無しさん
07/05/26 00:25:20
質問です。
classファイルを元のソースファイルに戻すことはできるのですか?
839:デフォルトの名無しさん
07/05/26 00:32:37
>>838
できるけど自分でできないなら諦めましょう。
定期的にコピペしたかのように来るなコレ。
840:デフォルトの名無しさん
07/05/26 00:47:13
>>835
すみません、Graphic2DクラスではなくてGraphicクラスで太さを変えることはできないのでしょうか?
841:デフォルトの名無しさん
07/05/26 01:16:37
>>839
ほんと、定期的にコピペしたかのように来るなコレ。
>>838 ぐぐればよかろう。
過去ログ。
スレリンク(tech板:310番)
dat落ちしてるだろうからコピペしといたるわ。
----
public class Quine {
public static void main(String[] args) {
char c=34;
System.out.println(s+c+s+c+';'+'}');
}
static String s
="public class Quine { public static void main(String[] args) { char c=34;System.out.println(s+c+s+c+';'+'}');}static String s=";
}
まず上記をQuine.javaという名前のjavaファイルにする。
そしてjavaファイルをコンパイルしてできたクラスファイルを java Quine.java で実行。
そうすると元のjavaファイルとほぼ同じものが得られる。
もっと完全に元のjavaファイルに戻したければQuine.javaを1行で書く。
(2ちゃんの書き込み制限があるから上では適宜改行した)
----
だぜ?
まあ、マジレスすると、できる。だけど、自分でできないなら諦めましょう。
842:デフォルトの名無しさん
07/05/26 04:55:36
RMIサーバを作り、サーバ上にあるファイルをストリーム経由でダウンロードさせる、
という場合、返す InputStream はどのようにすればいいのでしょうか? (標準クラスでは無理なのでしょうか?)
InputStream 派生で標準クラスにあるもの、たとえば FileInputStream などは
Serializable でないため、そのまま返すとエラーになります。
拡張して Serializable をつけても(当たり前なのですが)
引数なしのコンストラクタを持たないので、実行時にエラーとなります。
説明が難しいのですが、具体的にやりたいことは、
RMI サーバ
URLリンク(sourcepost.sytes.net)
RMI クライアント
URLリンク(sourcepost.sytes.net)
にて、RMI サーバの一番下、getFile メソッドで開いている FileInputStream 相当を
クライアントに返し、クライアントは read していける、という状態です。
843:学生
07/05/26 10:32:23
今、プログラミングの勉強をしてるんですが、
この問題が分かりません。
教えてくださいm(__)m
フィボナッチ数列の初項から第50項までを表示するプログラムを作成せよ。
0,1,1,2,3,5,8,13,……
初項 F(1)=0
第2項 F(2)=1
第n項 F(n)=F(n-1)+F(n-2) ただし、n>2
844:デフォルトの名無しさん
07/05/26 10:33:44
テンプレ埋めとけ
845:デフォルトの名無しさん
07/05/26 10:55:04
つーかフィボナッチ数列がわかってないだけだろ。ググれ。
846:デフォルトの名無しさん
07/05/26 10:57:58
>>843
学生なら図書館に行って
『JAVAプログラムクイックリファレンス(オライリー・ジャパン)』
って本を借りてきな。まんま解答載ってるよ。
847:デフォルトの名無しさん
07/05/26 12:20:17
URLリンク(java.sun.com)
にて、JDK 6u1をダウンロードしてインストールしたいのですが、
Notice: We're Offline for System Upgrades
とでてダウンロードできません。これはこちらの環境が悪いのでしょうか・・・?
848:デフォルトの名無しさん
07/05/26 12:31:16
classの中にもう1つclassを作るのと、
classの外にもう1つclassを作る違いがわかんね
ややこしさからして後者の方が良い気がするが、どなたか軽く教えてくだされ
>>847
翻訳するまでもないと思うけど、もう1度文章全部読んでみて下さい
849:848
07/05/26 12:36:46
あー俺アホだ、自己解決しました
850:デフォルトの名無しさん
07/05/26 12:39:14
>>843
ほい。
public class fibo {
public static void main(String[] args) {
fibo t = new fibo();
}
private static int MAX_COUNT = 50;
public fibo() {
long i=0, j=1, k=0;
int count=0;
System.out.print(i+","+j+",");
for ( ; count<MAX_COUNT; ++count ) {
k = i + j;
System.out.print(k+",");
i = j;
j = k;
}
}
}
851:デフォルトの名無しさん
07/05/26 12:48:31
ソース渡すってのは宿題スレじゃないのか
852:デフォルトの名無しさん
07/05/26 13:34:46
>>848
なるほど、そういう事なんですね。
解消されるまで待つしかないと・・・
853:842
07/05/26 14:41:59
>>851
自分のことですかね。すみません。宿題スレで聞いてみます。
854:デフォルトの名無しさん
07/05/26 14:48:45
>>853
まてまて
>>850 で答えが貼られているぞ
855:デフォルトの名無しさん
07/05/26 14:57:41
猛烈に初心者ですが、よろしくお願いします。
ページが読み込まれたら行かせたい場所に飛ばすのは、
↓で良いそうなんですが、
こんな感じで読み込まれて10秒後に飛ばすようにするのはどうすればいいですか?
<script language="javascript">
<!--
var doit=true;
function exit(){
if (doit) open("行かせたい場所アドレス")
}
// -->
</script>
<body onload="exit()">
856:デフォルトの名無しさん
07/05/26 14:58:38
板ちがい
Javaですらない
857:855
07/05/26 15:10:49
javascriptってあるからjavaすれでいいのかと思って書き込んじゃいました
ごめんなさい。
858:デフォルトの名無しさん
07/05/26 15:19:04
ServletRequestの属性値はSerializableである必要はありますか?
セッションでないのでレプリケーションは関係ないですよね?
859:デフォルトの名無しさん
07/05/26 15:19:09
わざとだろ
釣りだろ?
860:デフォルトの名無しさん
07/05/26 16:34:22
>>848
>classの中にもう1つclassを作るのと、
>classの外にもう1つclassを作る違いがわかんね
(1) static でないインナークラスの場合
class A {
class B {
A のインスタンス a の中でのみ
B のインスタンス b を作れるが、
内側の b から外側の a を参照することが可能。
class A {
void doA() { B b = new B(); } // OK
static void doA() { B b = new B(); } // NG
int field;
class B {
int doB() { return A.this.field; } // OK, 名前の衝突がない限り、"A.this" は不要
(2) static なインナークラスの場合
class A {
static class B {
はっきり言って別々のクラスとかわんね
861:842
07/05/26 18:05:52
>>854
むむ、これは>>843さんへの答えですよね。
>>851が私への指摘と勘違いしました…
862:デフォルトの名無しさん
07/05/26 20:20:59
Javaで作られたアプリケーションは、JREなしで実行することはできませんか?
863:デフォルトの名無しさん
07/05/26 21:29:33
gcj
まあ、libgcj.dllがJREだとでもいえるけど
864:デフォルトの名無しさん
07/05/26 21:31:54
>>862
基本的に無理。応用的には標準JDK 使わずに gcj とか Excelsior JET みたいな
AOTコンパイラを使えばできるけど、実行ファイルのサイズはでかくなる。
865:デフォルトの名無しさん
07/05/26 22:16:14
>>863,864
そうですか。まぁそのためにはCや何かで書くしかありませんよね。ありがとうございました。
866:デフォルトの名無しさん
07/05/26 22:33:44
URLリンク(java.sun.com)
でJDK 5 をダウンロードしようとしたら「Fatal Error」と出てダウンロードできません。
他にダウンロードできるサイトとか知りませんか?
867:デフォルトの名無しさん
07/05/26 22:37:35
うちのコピーしてく?
868:デフォルトの名無しさん
07/05/26 22:40:16
JREを埋め込んでexeつくるソフトって知ってますか?
869:デフォルトの名無しさん
07/05/26 23:01:27
>>868 JETとかgcjとかじゃなくてSunのJREをうんぬんするやつは知らない。
でも環境をWindows固定にするならEXEにこだわるより、Windowsの流儀でJREを
インストールしたりスタートメニューやデスクトップに起動用のアイコン登録
したりするインストーラーを作った方がユーザにやさしいんじゃないかと思う。
おれはこの手のパッケージャとしてNSISを使ってる。
そうじゃなくてAOTに幻想を抱いているならあきらめたほうがいい。以前
gcj以外のIBMやJETといった商用AOTのベンチマークとったけど速度的なメリットはない。
870:デフォルトの名無しさん
07/05/26 23:29:39
JDKがダウンロード出来ないのですが、これは最近ずっとなのでしょうか?
871:デフォルトの名無しさん
07/05/27 00:04:05
明らかにトラブってるな
ubuntuとかならパッケージであるが、他はわからん
872:デフォルトの名無しさん
07/05/27 00:17:46
俺は今朝JDK 6u1をダウンロードしたところ。
俺の「最近ずっと」の定義(一日以上)からすると最近ずっとではない。
けど、今見たら確かに FATAL ERRORとか出てるね。
1.4.2u14/1.5.0u11/6u1のwindows-i586-pなら持ってるけど、
再配布っていいんだっけ?
873:デフォルトの名無しさん
07/05/27 00:25:30
6なら大丈夫だと思うが、確認方法がわからん
874:デフォルトの名無しさん
07/05/27 00:44:38
>>873
URLリンク(java.sun.com)
Redistribution: Both the JDK and JRE can be freely redistributed with value-add (per terms of the BCL).
875:デフォルトの名無しさん
07/05/27 06:37:29
あまりこの状況が続くとJREにウィルス組み込まれて再配布されそうだな
876:デフォルトの名無しさん
07/05/27 13:53:13
ダウンロード出来ねぇ・・・orz
877:デフォルトの名無しさん
07/05/27 13:57:14
開発環境だけってならEclipseでも落とせば?
878:デフォルトの名無しさん
07/05/27 14:07:19
>>877
特定環境でトラブるからってOSから入れ直したのでJREすらないorz
879:デフォルトの名無しさん
07/05/27 14:11:41
>>878
Windows でJava5.0 でいいか?
880:デフォルトの名無しさん
07/05/27 14:14:51
>>879 mjd? もちろんok
881:デフォルトの名無しさん
07/05/27 14:23:40
>>880
URLリンク(www10.axfc.net)
キーワードは java
882:デフォルトの名無しさん
07/05/27 14:34:21
JREならここで落とせるんじゃない?
URLリンク(www.java.com)
883:デフォルトの名無しさん
07/05/27 14:34:25
>>881 神に大感謝
884:デフォルトの名無しさん
07/05/27 14:50:09
URLリンク(d.hatena.ne.jp)
ここのコードをjavaにしたらどんなふううになりますか?
885:デフォルトの名無しさん
07/05/27 15:11:45
>>884
エロゲかよw
886:デフォルトの名無しさん
07/05/27 15:45:20
URLリンク(kzk9.net)
すまんこっちだ
887:デフォルトの名無しさん
07/05/27 17:21:14
現在のシステム日付を取得して画面表示するにはどういったソースを書けばいい?
誰か教えてください。
888:デフォルトの名無しさん
07/05/27 17:35:53
現在のシステム日時を取得して画面に表示し続けるソース
final java.util.Date date = new Date();
while (true) {
date.setTime(System.currentTimeMillis());
System.out.println(date);
}
889:デフォルトの名無しさん
07/05/27 17:36:55
>>888
少しくらい待ってやれよw
890:デフォルトの名無しさん
07/05/27 17:37:36
import java.util.Date;
import java.text.DateFormat;
public class DiplayDate{
public static void main(String[] a){
Date dt = new Date();
DateFormat dfm = DateFormat.getDateTimeInstance();
System.out.println(dfm.format(dt));
}
}
891:デフォルトの名無しさん
07/05/27 17:45:05
素数判定プログラムを組んだのですが、エラーが出て動きません。でも、デバッグしてみるとfor文が回っていないようです。どう改善すればよいでしょうか?
public static void main(String[] args) {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.println("数を入力してください");
String line=reader.readLine();
int meth=Integer.parseInt(line);
if(meth<=1){
System.out.println("入力された数字"+meth+"は素数ではありません");
}else{
int cnt=0;
for (int i=0; i<=meth; i++)
{
if(meth%i==0)
{
cnt++;
}
}
892:891
07/05/27 17:45:46
if(cnt==2){
System.out.println("入力された数字"+meth+"は素数です");
}else{
System.out.println("入力された数字"+meth+"は素数ではありません");
}
}
}
catch(IOException e){
System.out.println(e);
}catch(NumberFormatException e){
System.out.println("数字に入力できるのは実数です");
}
893:デフォルトの名無しさん
07/05/27 17:48:02
JAVAで困っているんですけど…
平均点以下の人の人数ってどうやって出すんですか?
public static void main(String[] args)
{
int Wt[] ={45,59,98,60,78,54,90,30,50,67};
int sum = 0;
for (int k=0; k<=9;k++)
{
sum = sum+Wt[k] ;
}
int average_Wt = sum/10;
System.out.println("平均="+average_Wt);
ここまでできたのですが…
894:デフォルトの名無しさん
07/05/27 17:53:26
基準が得られたんだから、もう一回回せばいいじゃない。
あとここは宿題スレじゃないよ。
895:デフォルトの名無しさん
07/05/27 17:53:44
>>891
for (int i=0; i<=meth; i++)
↓
for (int i=1; i<=meth; i++)
896:デフォルトの名無しさん
07/05/27 17:54:49
>>891
for (int i=1; i<=meth; i++)
デバッグする余地も無い
897:デフォルトの名無しさん
07/05/27 17:57:22
>>893
念を押しとくがそんなもんで宿題スレになんか行くなよw
898:デフォルトの名無しさん
07/05/27 17:57:44
>>894
出来れば1回のループで判断してしまいたいのです
899:デフォルトの名無しさん
07/05/27 17:58:01
>>895-896
とんでもない見落としでした。ありがとうございます!
900:デフォルトの名無しさん
07/05/27 17:58:17
コンパイル時の「シンボルが見つけられません」っていうエラーはどういう意味ですか?
901:デフォルトの名無しさん
07/05/27 17:58:48
>>898
むり
902:デフォルトの名無しさん
07/05/27 18:04:26
>>900
プログラムに書かれているシンボルをコンパイラが理解できなかった時に出るエラー
パッケージ名とかクラス名とかメソッド名とか変数名とかがたぶん間違っている
importしていないとか完全名でないとかでクラス名が解決してないんじゃないの?
もしくは定義していないクラスや変数を使った
903:デフォルトの名無しさん
07/05/27 18:06:46
>>やくざさん
平均を得た後に、得られた平均と各データを比較して
"以下"の数をカウントするしかない。一回では無理。
俺が未知の何かを使って実現できたとしても、逆に複雑になる予感。
あとは、配列の中身はともかく1, 0以外の定数は(ry
int Wt[] ={45,59,98,60,78,54,90,30,50,67};
int sum = 0;
for (int k=Wt.length -1; k>=0; k--) {
sum += Wt[k];
}
int average_Wt = sum / Wt.length;
System.out.println("平均="+average_Wt);
904:デフォルトの名無しさん
07/05/27 18:08:59
Bツリーとか構築して
格納しながら平均出してけば
ループは1回で済むかもね
905:デフォルトの名無しさん
07/05/27 19:03:07
>>890
ありがとう
import java.util.Date;
import java.text.DateFormat;
public class DiplayDate{
public static void main(String[] a){
Date dt = new Date();
DateFormat dfm = DateFormat.getDateTimeInstance();
System.out.println(dfm.format(dt));
}
}
import java.text.DateFormat; をimport java.text.SimpleDateFormat;にしたい場合、ソースは変えればいい?
906:905
07/05/27 19:04:37
ソースは変えればいい?
訂正
ソースはどう変えればいい?
907:デフォルトの名無しさん
07/05/27 20:02:57
>>906
せめて、
SimpleDateFormat dfm = new SimpleDateFormat();
とでも打つってくらいはしろよ。
この手の連中が自分の給料とほとんど大差ない金貰ってると思うと反吐が出る。
908:デフォルトの名無しさん
07/05/27 20:14:39
>>906
バカは手と頭を動かさない
>>907
厨学生の小遣い程度しかもらってないのか?
それはもう転職する!
909:デフォルトの名無しさん
07/05/27 20:22:46
初心者です。
分岐条件のwhile文あたりまで進んだ者です。
「繰り返し実行する」の条件で
i++;
を
i+2;
とかにできないもんでしょうか?
課題で
2
4
6
と表示せよ
といった問題がでて困ってます。
どなたか教えてくれないでしょうか?
910:デフォルトの名無しさん
07/05/27 20:26:19
2 足せばいいじゃん。
911:デフォルトの名無しさん
07/05/27 20:35:38
下記の作業で例えば10を入力すれば1~0までが表示されますよね?
この表示結果が縦に1~0が表示されるのですが、改行せずに横に1~0までを表示させるためにはどう改善すればいいのでしょうか?
try
{
System.out.println("数を入力してください");
String line=reader.readLine();
int x=Integer.parseInt(line);
for(int i=1; i<=x; i++){
System.out.println(i%10);}}
912:デフォルトの名無しさん
07/05/27 20:37:18
あえていうならi+=2とかか?
913:909
07/05/27 20:37:39
>>910
こんな、感じのコード書いてみたんですけど
class Kadai01{
public static void main(String[]args){
int i;
i=2;
while (i<7);
System.out.println(i+"回目繰り返す");
i+2;
}
}
i++;
を
i+2;
にしたらコンパイルエラーがでるんですけど。
914:デフォルトの名無しさん
07/05/27 20:38:27
println の ln は line の略。
ということは・・・。
915:デフォルトの名無しさん
07/05/27 20:41:30
>>914
tnks
916:909
07/05/27 20:47:50
>>912
ありがとうございました!!!
917:デフォルトの名無しさん
07/05/27 20:48:34
>>913
頼むから開発会社に就職はしないでくれよ。
あと1冊くらい簡単な本読んでくれ。
i = i + 2;
918:デフォルトの名無しさん
07/05/27 20:49:02
>>913
代入とか演算子とかわかってるか?
int a = 1 ;
System.out.println(a) ;
System.out.println(a+1) ;
System.out.println(a) ;
System.out.println(a++) ;
System.out.println(a) ;
ってやってみ
919:デフォルトの名無しさん
07/05/27 21:53:01
スレとは関係ないけど素数判定はルートNまででOK
920:デフォルトの名無しさん
07/05/27 21:59:36
ルートNまででOKな理由は数学的センスないと解らないから、N/2まででいいと思う。
NがN/2より大きい数で割れないことくらいは解るからw
921:デフォルトの名無しさん
07/05/27 22:39:41
>>920
センス要らないだろ、ルートNって…
922:デフォルトの名無しさん
07/05/27 22:52:06
>>921
OK,ならば3行で説明してくれ
923:デフォルトの名無しさん
07/05/27 22:56:31
Nを合成数と仮定すると、Nは少なくとも約数を2つ以上持つ。
Nの約数を2つ選び、pとqとすると、明らかにp*q <= Nである。
これより、p、qの少なくとも一方はルートNより小さい(大きいと上の不等式が成り立たない)
924:デフォルトの名無しさん
07/05/27 23:05:19
一般人の平均レベルからすると>>923が言えるのは数学的センスがある方だと思うぜ
925:デフォルトの名無しさん
07/05/27 23:10:02
>>923
センスあると思う。
926:デフォルトの名無しさん
07/05/27 23:17:36
>>923
いや、手放しで素晴らしいと思う。
でも、そう答えられるのは数学センスだと思われw
数学的センスのない人は、「~と仮定すると、」から出てこないから。
927:デフォルトの名無しさん
07/05/27 23:18:38
Javaの発音はJava(↓)なんですか?Java(↑)なんですか?
928:デフォルトの名無しさん
07/05/27 23:21:22
>>923の前提って教科書かなんかで見た事あるぞ。
929:デフォルトの名無しさん
07/05/27 23:23:11
>>928
そりゃどこの教科書にも呪文のように載っているし、証明方法なんて一緒だもの。
930:デフォルトの名無しさん
07/05/27 23:25:18
>>928
4分でかけるのが素晴らしい
931:デフォルトの名無しさん
07/05/27 23:27:20
>>923
合成数24の約数である6と8を考える
6*8 = 42 > 24 となるため、明らかに p*q <= N でない
932:931
07/05/27 23:30:17
すま、途中送信
つまり、pとqの条件はNの任意の約数じゃなくてp*q = Nとなるような数、ってこと
933:デフォルトの名無しさん
07/05/27 23:33:23
ちょっと待てよ。
するってえと約数てのは何なんだ?
わからなくなってきた。
934:デフォルトの名無しさん
07/05/27 23:41:27
>>932
いんや、この場合はpとqを約数と限定して問題ない。
何故ならば、合成数と仮定した場合にpとqのどちらもルートN以下の約数であることが証明できればいいから。
935:デフォルトの名無しさん
07/05/27 23:54:04
不備があった
N=p*q*r (p,q >= 2, r >= 1)
と読み替えてくれ
936:デフォルトの名無しさん
07/05/27 23:55:00
つーかスレ違いなのでここまで
JDK6u1ほしーよーOTZ
937:デフォルトの名無しさん
07/05/27 23:58:27
>>934
本質を読め
約数に限定することが問題なんじゃなくて、任意の約数であることが問題なんだよ
それを許すと931のような反例が出る
合成数ならば自身の約数の積として表せる
このことをN = p*q (p <= q)とおくと、pが取りうる最大の値はp = qであるようなp
このとき N = p*p ⇔ √N = p となり、√Nまで調べれば合成数かどうか判断できる
スレ違いなんでここまでに
938:937
07/05/27 23:59:45
>>937
リロードしろとあれほど(ry
939:デフォルトの名無しさん
07/05/27 23:59:48
同じものを掛けてNになる正数aよりも大きい自然数pでNが割り切れるなら、
q=N/pでもNを割り切ることができ、qはaよりも小さい自然数になる。
つまりNを割り切る自然数は、a以下の自然数の範囲を全て探せば、
aより大きいものはNを探し出したもので割ることで全て得ることができ、
全てを網羅することができる。
940:デフォルトの名無しさん
07/05/28 00:00:46
おまいら、やっぱセンスあるって
941:デフォルトの名無しさん
07/05/28 00:01:35
それより野球しようぜ
942:デフォルトの名無しさん
07/05/28 00:04:01
扇子と野球でリロード大会スレ。
943:デフォルトの名無しさん
07/05/28 00:05:38
>>939
その「同じものを掛けてNになる正数a」こそNの正の平方根 √Nってことか。
944:デフォルトの名無しさん
07/05/28 00:07:51
誰かセッター/ゲッターを分かりやすく解説して。本読んだけど今一分からん
945:デフォルトの名無しさん
07/05/28 00:12:33
投手の放ったボールを打つのがバッター(打者)。
放たれた飛球を捕ったのは偶々センター(中堅)。
946:デフォルトの名無しさん
07/05/28 00:13:21
ボコ ☆
( o・-・)っ―[] /
[ ̄ ̄ ̄] (´・ω・`)>>945
947:デフォルトの名無しさん
07/05/28 00:14:18
public byte n; というクラスメンバがあるとする。
これは -128 ~ 127 までの値をとるよね?
でもそのクラスは実はテストの点数クラスで、
byte を 0 ~ 100 の間でしか取れないようにしなくてはいけない。
よって、private byte score; と、アクセスレベルを絞って、
setScoreというセッターで 0 ~ 100 までしか、その値をとらないようにする。
ゲッターってのは、一般には単に隠蔽された変数をダイレクトに返すだけ。
getScore() { return score; }
こういうのをカプセル化という。ごめん、これが限界w
948:デフォルトの名無しさん
07/05/28 00:23:56
ゲッターは隠蔽された変数をそのまま返すとせっかくのカプセル化が破壊される場合があるので注意。
>>947の場合のような基本型とかイミュータブルな参照型はたぶん大丈夫だが、
そうでない場合は変数そのものではなく、そのコピーを返すようにした方がよい。
でないと、セッターを介しないで隠蔽されたデータを変更できる抜け道を作ることになる。
949:デフォルトの名無しさん
07/05/28 00:39:08
たとえプログラムが異常終了しようと、一貫性を守ったまま死ぬぜ!
という武士の志のがカプセル化の一面
void setScore(int score) {
if(score < 0 || 100 < score) {
thorw IllegalArgumentException();
暴走して一見正しそうな間違った計算結果を出したり
データを壊されるよりは、
プログラムが異常終了する方が1000万倍まし
950:デフォルトの名無しさん
07/05/28 00:44:31
nullを持ったらおかしいようなクラスで
参照型の変数のセッターではnullだったらnull例外を出す
それをしないと全然違うところ(その変数使おうとしたところ)で
ぬるぽ起こして死ぬ
そしてどこでnullであったかを調べるのが大変
951:デフォルトの名無しさん
07/05/28 01:19:22
>>944
JavaBeansにはプロパティという概念がある
たとえば、PersonというクラスにStringのnameというプロパティがそのクラスにあるとする
ここでJavaBeansの約束事として、
nameというプロパティを読み出すのはgetName()
書き込むのはsetName(String value)
ということが決まっている
だから、setName(String value)がなければ、
リードオンリーのプロパティになる
場合によっては書き込み禁止でエラー出ることもある
で、
ゲッターとは値を取得するメソッド(getName)を指し
セッターとは値を設定するメソッド(setName(String))を指す
952:デフォルトの名無しさん
07/05/28 06:39:41
それはbeanプロパティのアクセッサの話だろ。
そんな後付け仕様の事を聞いてるんじゃなくてプログラミング言語一般に通じる
ゲッタとセッタの意義がわからないって話じゃね?
カプセル化という概念があって自分が持つ情報には外から自由に触らせないためにryって感じに答えた方が良いかと。
953:デフォルトの名無しさん
07/05/28 07:23:47
>>952
ならお前が(ry
…というのは置いておこう。
メソッドにしとけば処理を挟める。するとどうなるか?
って視点で考えるといいよ。
…と俺からはこの程度のアドバイスにしておくわ
954:デフォルトの名無しさん
07/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ポートの管理画面と同じものを入力しています。
ブラウザから、URLリンク(www.xxx.com:8686)にアクセスすると白い画面が
出るので、ポートへの接続自体は問題ないと思われます。また、念のため、
こちら側のファイアウォールも切っています。
サーバー:
Linux
Sun Java System Application Server Platform Edition 9.0
JDK1.6
クライアント:
WindowsXP
JDK1.6
です。何か、思い当たられることがありましたらご教授頂ければ幸いに思います。
955:954
07/05/28 09:59:23
一応、
URLリンク(java.sun.com)
も見て、
hostname -iは127.0.0.1ではなく、
また、
/sbin/iptables --listでも
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8686
と表示されております。重ね重ねですみません。
956:デフォルトの名無しさん
07/05/28 15:40:36
<html>
途中省略
<a href="URLリンク(xxxxx">AB1<)
<a href="URLリンク(xxxxx">AB2<)
<a href="URLリンク(xxxxx">AB3<)
</html>
957:デフォルトの名無しさん
07/05/28 15:45:16
す・・・すいません。キーボードがおかしくなってしまって、書きかけが投稿されてしまいました。
<html>
途中省略
<a href="URLリンク(xxxx1">AB1<)
<a href="URLリンク(xxxx2">AB2<)
<a href="URLリンク(xxxx1">AB3<)
</html>
というhtmlからAB1の<aタグのリンク("URLリンク(xxxx1"))を取得するにはどうしたらよいでしょうか。
getElementsByTagName("a")で<aタグの列挙はできたのですが、AB1であることを調べる方法がわかりません。
958:デフォルトの名無しさん
07/05/28 15:52:02
例えば
if(time==20){//2秒の時
face._rotation -= 30;//faceの角度を-30
righthand._rotation -= 20;//righthandの角度を-20
lefthand._rotation -= 10;//lefthandの角度を-10
rightfoot._rotation +=5;//rightfootの角度を+5
leftfoot._rotation -=4;//leftfootの角度を-4
というような物をテキストファイルからStringで読み込んだとして
rocationの部分だけをrotと書き変えてif(time==20){//2秒の時
face._rot -= 30;//faceの角度を-30
righthand._rot -= 20;//righthandの角度を-20
lefthand._rot -= 10;//lefthandの角度を-10
rightfoot._rot +=5;//rightfootの角度を+5
leftfoot._rot -=4;//leftfootの角度を-4
と出力するようにするにはどうすればよいのでしょうか?
959:デフォルトの名無しさん
07/05/28 18:15:19
>>958
単純に全てのrotationをrotに置き換えたいのなら
置き換え後文字列 = 置き換え前文字列.replaceAll("rotation", "rot");
960:デフォルトの名無しさん
07/05/28 18:30:13
>>957
質問がメソッド名だけで情報が少ないから当てずっぽう
aエレメントが取れたら、その最初の子ノードがAB1とかAB2とかのテキストノード
aElement.getFirstChild()でたぶん取れる
そのノードの文字列そのものはNode#getNodeValue()でいけるはず
961:デフォルトの名無しさん
07/05/28 19:56:53
コマンドプロンプトを開いたらC:\Documents and Settings\~になっているのですが
このデフォルトのパスを変更するにはどうやったらいいんでしょう?
javaファイルをCドライブのjavaフォルダに入れていて開くたびにcd C:\javaと打って
毎回変更しているのですが面倒なので開いたらC:\javaの状態になっているようにしたいです。
962:デフォルトの名無しさん
07/05/28 20:11:30
>>961
コマンドプロンプトのショートカットでC:\javaを作業フォルダに設定して
おけばよい。(プロパティのショートカットタブに「作業フォルダ」の欄がある)。
スレちがい、いたちがいだから。これ以上の質問は受け付けません。
>>1を読め
963:デフォルトの名無しさん
07/05/28 21:03:55
簡単な質問です。java初心者なのでお許しを。
javaを開発するためには何を入手すればいいのでしょうか。
sunのページには何度かいったのですが、どこからダウンロードすればいいかわかりません。
どなたかご教授お願いします。
964:デフォルトの名無しさん
07/05/28 21:10:52
>>963
jdkか、jreを入れた環境でeclipseを使うか…
URLリンク(java.sun.com)
あと「初心者なので」とかいう免罪符は掲げないほうが心証いいよ
965:デフォルトの名無しさん
07/05/28 21:10:56
javaで開発する、ってことだよな?
いきなりsunに行かずに、「基礎」「入門」あたりのキーワードで検索
よさそうなページをみつけて、そこの手順に沿ってダウンロードすればいい
966:デフォルトの名無しさん
07/05/28 21:11:45
>>963
URLリンク(java.sun.com)
JDK6u1
Wiki嫁って>>1差そうとしたけど、Wiki今、混み合ってて見れないって。
取りあえず、教授してやったぞ、ほーれー
# ついでに「教授」についてもググっときなさい
967:デフォルトの名無しさん
07/05/28 21:20:06
public class H {
public static String func(String arg) {
return arg;
}
}
と
public T {
public static String func(String arg) {
String dest = arg;
return dest;
}
}
って違いがあるのでしょうか。スレッドセーフかの視点でみて。
968:デフォルトの名無しさん
07/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 丿 `゙゙゙゙゛