【初心者】Java質問・相談スレッド95【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/12/11(月) 14:00:52質問をする前に、貴方が見なければならないサイトについての情報は、
下の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 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
前スレッド
【初心者】Java質問・相談スレッド94【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1164057114/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりで。
0002デフォルトの名無しさん
2006/12/11(月) 14:10:130003デフォルトの名無しさん
2006/12/11(月) 18:40:430004デフォルトの名無しさん
2006/12/11(月) 20:32:09実行したら空ループ(数秒間固まらせる目的)がとてつもなく遅くなったんだけど、何が起きたん?
0005デフォルトの名無しさん
2006/12/11(月) 20:43:240006デフォルトの名無しさん
2006/12/11(月) 23:51:46ResultSetに入れようとしています。
オラクルのストアドはselect文が書けないので、カーソルを返すしかないのでしょうか?
また、カーソルをストアドに宣言するとエラーになります。
パッケージの宣言句に書くと大丈夫でした。
これはオラクルの決まりなのでしょうか?
よろしくお願いします。
0007デフォルトの名無しさん
2006/12/12(火) 00:40:21private string key=null;
public void test0{
test1();
test2();
}
public void test1{
URL url = new URL(親ページ);
URLConnection uc = url.openConnection();
key=uc.getHeaderField("Set-Cookie");
}
public void test2{
URL url = new URL(子ページ)
URLConnection uc = url.openConnection();
uc.setDoOutput(true);
uc.setRequestProperty("Cookie",key);
OutputStream os = uc.getOutputStream();
略)・・・・ページ内容取得
}
------------
上記の場合に、
IE などで言えば、親ウィンドウが開かれたままの状態、子ウィンドウも開かれている状態
にするには、どのようにすればいいのでしょうか。
親ページの form 情報を子ページが必要としているケースなどを想定しています。
0008デフォルトの名無しさん
2006/12/12(火) 00:43:20java.sql.Statement#getResultSet()
java.sql.Statement#getMoreResults(int)
java.sql.Statement#getUpdateCount()
0009デフォルトの名無しさん
2006/12/12(火) 01:19:38どうすればいいのでしょうか?
0010デフォルトの名無しさん
2006/12/12(火) 01:30:55ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/System.html#getenv(java.lang.String)
古い(1.4以前)のJavaでは非推奨で、nullが返ってくる処理系もあったような気がするので注意。
今の1.5なら大丈夫。
0011デフォルトの名無しさん
2006/12/12(火) 01:52:43原因はよく分からんが、JDK1.5.0_10のupdateにかかったんじゃないのか?
JDK6は昨日午後リリースだと思うが、まだupdateにはかかってないよな??
0012デフォルトの名無しさん
2006/12/12(火) 02:16:25C:\java>javac Hello.java
'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
0013デフォルトの名無しさん
2006/12/12(火) 02:19:58cd c:\java\bin
javac Hello.java ※ Hello.javaのパスをちゃんと指定する事。
やっぱネタだよな。
0014デフォルトの名無しさん
2006/12/12(火) 02:25:38> cd c:\java\bin
ってお前こそネタだよな?
0015クリスマスは一人
2006/12/12(火) 02:49:15だめだ。勝てない。神だ
12はとっととパス通せよ。
環境設定が間違っているんだよ
0016デフォルトの名無しさん
2006/12/12(火) 06:59:09ありごとうございます、いけました。
0017デフォルトの名無しさん
2006/12/12(火) 16:14:19下記を試しましたが結果は「0」でした。
JMenuBar.getHeight()
JMenuBar.getY()
JMenuBar.getBounds().getHeight()
JMenuBar.getSize().height
JMenuBar.getSize().getHeight()
JMenuBar.getVisibleRect().getHeight()
0018デフォルトの名無しさん
2006/12/12(火) 16:26:50setVisible(true)の前で呼んでました
逝ってきます
0019デフォルトの名無しさん
2006/12/12(火) 19:53:44現在、初期の表示はされるのですが表示位置を変えることができていません。
デバッグ文を噛ませてみたところどうやらマウスからの反応が返ってこないようなのですが、どこが悪いのでしょうか?
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28955
0020デフォルトの名無しさん
2006/12/12(火) 22:51:40これを整数を求めるために0以上にしたいんですが、
switch文であらわす方法はありますか?
0021sabu
2006/12/12(火) 23:00:301、計算クラス 2、表示クラス 3メインクラス
になるよう修正してください。
class Test12{
public static void main(String args[])}
int c=10;
int d=20;
int e=30;
int sum=0;
sum=c+d+e;
System.out.println("合計は"+sum+"です");
}
}
この問題について教えてもらいたいのですが、
1、計算クラス 表示クラス メインクラスというのは何なのでしょうか?
クラスは知っているのですが、これはまったく分からないです。
どのように変更すればこの問題の答えは出るのでしょう。
詳しい方宜しくお願いします。
0022デフォルトの名無しさん
2006/12/12(火) 23:01:540023sabu
2006/12/12(火) 23:03:561つずつ表示させてください。
という問題の答え 分かりましたらお願いします。
大変申し訳ないのですが、宜しくお願いします。
0025デフォルトの名無しさん
2006/12/13(水) 01:13:19表示位置を変えたいなら x,y の値を更新した後に描き直せ
0026デフォルトの名無しさん
2006/12/13(水) 01:17:53ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/ArrayList.html
を読む
あとはぐぐる
0027デフォルトの名無しさん
2006/12/13(水) 09:06:54質問です。
RandomAccessFileのreadLineメソッドを使って
●●.datファイルから読み出した文章を
Stringに代入してSystem.out.printlnでDOS窓に表示することはできるのですが
それをsetTextでテキストフィールドに表示することが何故かできません。
System.out.printlnで表示した際、たとえばそれが「kznisikoro」という文字列であった場合
「 k z n i s i k o r o」といった風に半角一文字ずつ空白が入るのが少し気にはなっているのですが…。
「 」を0、「k」を1、「 」を2、「z」を3、「 」を4、「n」を5とした場合(datファイル内でのファイルポインタの位置です)
try{RandomAccessFile raf=new RandomAccessFile("ac.dat","r");
String rr="";
raf.seek(1);
rr=raf.readLine();
System.out.println(rr);
Tf.setText(rr);
このようにコーディングすると、「k」という文字だけはテキストフィールドに表示されるのですが…。
0028デフォルトの名無しさん
2006/12/13(水) 10:17:05setText ってのが AWT だったら、プラットフォームによっては
文字列の中に '\0' があったらそれを終端とみなすかもしらん。
後は、ac.dat の中身を16進のダンプリストにしたり
RandomAccessFile#readLine() でどーゆー風に変換されるか調べてみるぐらいしか。
0029デフォルトの名無しさん
2006/12/13(水) 10:49:48を参考にして、
台形に歪んでしまった画像を長方形に直す作業を行いたかったんですが、
ソースがなくなっちゃってました。
このソース、もしくはこのソースの代わりになるものありませんか?
0030デフォルトの名無しさん
2006/12/13(水) 11:40:35そこで言う\0とはStringをcharで配置する時に出来る空白(ac.datはwriteCharsで書き込んでいるので、そうだと思うのですが)
>「 k z n i s i k o r o」といった風に半角一文字ずつ空白が入るのが少し気にはなっているのですが…。
>「 」を0、「k」を1、「 」を2、「z」を3、「 」を4、「n」を5とした場合(datファイル内でのファイルポインタの位置です)
ここで言う「 」のことでしょうか?
>setText ってのが AWT だったら、プラットフォームによっては
>後は、ac.dat の中身を16進のダンプリストにしたり
>RandomAccessFile#readLine() でどーゆー風に変換されるか調べてみるぐらいしか。
で、ここらへんで仰ってることに関しては、正直殆ど意味が分かりません。
すいません素人で…。
0031デフォルトの名無しさん
2006/12/13(水) 17:03:41翻訳結果HTMLから結果を取り出す方法はわかっているのですが、
googleに接続すると403が返ってきてしまうので、前例があるか知りたいのです。
FireFoxのプラグインにあるから、できてもいいはずなんですけど。
ユーザエージェントとか見てはじいているのかな?
ちなみに、ブラウザに直接翻訳用のURLをぶち込んでも、ちゃんと結果は表示されます。
ttp://translate.google.com/translate_t?text=PEN&langpair=en|ja
003231
2006/12/13(水) 17:24:25今はbyte[]をリストにつっこんで、最後にループで回しながら結合してます。
理想としては、サイズに気にせずにbyte[]を追加できて、
getByte()とかして、結合したbyte[]が取れるとうれしいんだけど。作るしかないかな。
0033デフォルトの名無しさん
2006/12/13(水) 17:43:060034デフォルトの名無しさん
2006/12/13(水) 17:45:31HTTPのリクエスト、ブラウザ名とか偽装すれば良いかも?
憶測ですいません
byteからByteにしてSystem.arraycopyしたら・・・んん、違うな。
やっぱなんでもない。
003531
2006/12/13(水) 18:07:38こんな簡単な方法が。。。おかげさまであっさりできました。
ByteArrayOutputStreamって、Streamって書いてあったので無視してましたが、
器の役目もあるんですね。
>>34
System.arraycopyでできそうですね。
ByteArrayOutputStreamのソースを見たら、中でarraycopyを使ってました。
0036デフォルトの名無しさん
2006/12/13(水) 20:30:430037デフォルトの名無しさん
2006/12/13(水) 20:36:450038デフォルトの名無しさん
2006/12/13(水) 20:49:33デフォルト->同じパッケージ内でクラスを使える
private->同じソースファイル内でクラスを使える
こうするのが普通だと思うのですが・・・
0039デフォルトの名無しさん
2006/12/13(水) 20:50:580040デフォルトの名無しさん
2006/12/13(水) 20:55:25内部クラスについてはprivateはある。その場合、>>38のようなアクセス制御になる。
ただしトップレベルクラスについてはprivateは許されない。その理由は>>37のとおり。
0041デフォルトの名無しさん
2006/12/13(水) 20:59:44public static void main(String[] args){
TurtleFrame f; // 1
f = new TurtleFrame();
...
}
1の時点でfにはnullが代入されていると書いてあるのですが本当なのでしょうか?
ローカル変数もデフォルト値で初期化されるのでしょうか?
前に読んだ本ではインスタンス変数とstatic変数だけがデフォルト値を持つと書いてありました
あと
new int[][] {{2,5,4,2},{2,2,4,1},{1,3,4,2}}
が4×3の配列と書いてあったのですが、3×4ではないのですか?
0042デフォルトの名無しさん
2006/12/13(水) 21:02:03ローカル変数の初期化に関して、あなたは正しい。
そんな本は、書名さらした上で捨ててしまえ。
0043デフォルトの名無しさん
2006/12/13(水) 21:08:04しかし、ユーザ認証時に認証した事を示すSESSION-IDをどうしても発行・管理をしたいと
考えています。これを、EJB+DBだけで実現する簡単な方法はないでしょうか?
DBにUDDIを各ユーザ毎に登録したとして、それの期限をどうやって判定するかとか
その辺が頭の中で想像できていないと思ってます。
もし、そんなことじゃなくてこうしやがれボケとか何かあればなんでもいいので教えてください。
0044デフォルトの名無しさん
2006/12/13(水) 21:08:13>>41では配列のサイズは[3][4]になるので
3×4と言うのが正しいというのは違いますか?
この本、まだ40ページくらいしか読んでないけど不安です
0045デフォルトの名無しさん
2006/12/13(水) 21:39:55/* データが1個のときは整列済みと解釈できる */ iを2からnまで,1つずつ増やしながら,以下を繰り返す。
w = a[i-1]とする.jをi-2から0まで以下を繰り返す。もし a[j] > w なら,a[j+1] = a[j]とする。そうでなければ,a[j+1]=wとして,繰り返しを終える。
以下のコードをベースに変更して、挿入法による整列をやってみたんですが、全く能力不足でできません。どなたかヨロシクお願いします。
public class SelectionSort {
public static void main(String args[]) {
int a[] = {9, 29, 17, 31, 19, 4, 22, 8, 12, 26};
int n = 10;
for (int i=n; i>=2; i--) {
int k = 0;
for (int j=0; j<i; j++)
if (a[j] > a[k])
k = j;
{
int w = a[i-1];
a[i-1] = a[k];
a[k] = w;
}
}
for (int i=0; i<n; i++)
System.out.print(a[i]);
System.out.println("");
}
}
004645
2006/12/13(水) 21:49:06public class InsertSort {
public static void main(String args[]) {
int a[] = {9, 29, 17, 31, 19, 4, 22, 8, 12, 26};
int n = 10;
for (int i=2; i<=n; i++) {
int w = a[i-1];
for (int j=0; j<(i-1); j++)
if (a[j]>w){
a[j+1]=a[j];
}
else{
a[j+1]=w;
}
}
System.out.print(a[i]);
System.out.println("");
}
}
0047デフォルトの名無しさん
2006/12/13(水) 22:05:03ttp://lecture.ecc.u-tokyo.ac.jp/~cichiji/cp-05/cp-05-06-3.html
ttp://lecture.ecc.u-tokyo.ac.jp/~ueda/cp05/prog9.html
ttp://www.sist.ac.jp/~suganuma/cpp/2-bu/7-sho/Java/sort_j.txt
ttp://www.sm.rim.or.jp/~shishido/ssort.html
ttp://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/insert/insertionen.htm
004845
2006/12/13(水) 22:28:06そのあたりは調べたんですが、いざ自分でコードを書くと分からなくなってしまって。。。
コード書いていただけませんか?自分勝手ですいません。
0049デフォルトの名無しさん
2006/12/13(水) 23:10:32ttp://blog.livedoor.jp/dqnplus/archives/870664.html
ttp://www.youtube.com/watch?v=I7W4ameEDBE
005145
2006/12/13(水) 23:25:430052デフォルトの名無しさん
2006/12/14(木) 01:14:34このレベルで質問してたらプロは無理だろ・・・
0053デフォルトの名無しさん
2006/12/14(木) 09:25:40最終リクエスト時間をDBにブチ込んで監視とか?
0054デフォルトの名無しさん
2006/12/14(木) 17:05:09フラグを立てて何か別の処理をしたいのですが、どうすればいいのでしょうか?
ググってみたところmouseEnterdとかmouseMovedが使えそうな雰囲気なのですが、
ある区画に入った時点でイベントが発生するような具体的な書き方について悩んでいます。
アプレットに入った時点で、というならmouseEnterd内にそのまま書けば良さそうに思えますが。。。
0055デフォルトの名無しさん
2006/12/14(木) 17:11:11高卒のお前は知らんかもしれんが、大学の場合
人文とかの専門外のやつでも一般教養科目としてプログラミングは普通にやるぞ。
0056デフォルトの名無しさん
2006/12/14(木) 17:31:18このサイトのJavaを起動してもエラーがなるんですが。。。。
なので、このJavaをローカルで保存して回線つなげなくても
使えるようにする方法を教えてください・・・・・
ttp://pedantic.jp/pangya/?siid=simulation_tomahawk
0057デフォルトの名無しさん
2006/12/14(木) 17:40:26『パソコンの使い方』の範疇の質問するな
0058デフォルトの名無しさん
2006/12/14(木) 17:44:44マウスカーソルが動いた時のイベントを拾ってカーソル座標取得
取得した座標が特定範囲内ならフラグを立てる
ってのはどう?
0059デフォルトの名無しさん
2006/12/14(木) 17:57:58JARの外に動画ファイルがある場合は問題はないのですが。
要約したソース
URL url = getClass().getResource("/resources/test.mpg");
Player player = Manager.createRealizedPlayer(url);
Component component = player.getVisualComponent();
発生した例外
javax.media.NoDataSourceException: Cannot find a DataSource for: jar:file:/C:/java/workspace/aaa/test.jar!/resources/test.mpg
JAR内のイメージファイルを読み込んで表示させてみた所、問題なし。
0061デフォルトの名無しさん
2006/12/14(木) 18:51:22残念ながらサポートされてないっぽい。
ttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4651708
>State In progress, request for enhancement
0062デフォルトの名無しさん
2006/12/14(木) 18:53:260063デフォルトの名無しさん
2006/12/14(木) 19:00:37ありがとうございます。
0064デフォルトの名無しさん
2006/12/14(木) 19:02:02テキストファイルを編集するプログラムを書きたいと思っています。そこでそのファイルを行単位でスキャンして、先頭がある文字列の行だけ書き換えたいのですが、そのようなクラスは用意されているのでしょうか?
テキストファイルが10万行とかなので、テンポラリファイルを使用せずに実現したいです。わかる人いらっしゃったら教えてください。お願いします。
0065デフォルトの名無しさん
2006/12/14(木) 19:08:22>そのようなクラス
は無いです
普通にシーケンシャルに読んで、行頭チェックして、新規ファイルに
ある文字列のとき:書き替え出力
それ以外:そのまま行出力
006664
2006/12/14(木) 19:14:23ありがとうございます。
なるほど、ということは既存ファイルの書き換えということもできないということですか??
0067デフォルトの名無しさん
2006/12/14(木) 19:17:14書き替えもできるけど
その場合は、書き替え後の行が書き替え前の行と同じバイト数でないと意味無いでしょ?
そういう特殊な条件?
006864
2006/12/14(木) 19:19:50ああ、その行だけ削除して新しい行に置き換えるというような操作はできないわけですね?
ありがとうございました。
0069デフォルトの名無しさん
2006/12/14(木) 21:26:080070デフォルトの名無しさん
2006/12/14(木) 21:42:36その行だけ削除すんでしょ。
次の行の先頭から終端までを、削除される行の先頭にコピーしてファイルの長さを縮める。
テンポラリ使うのと比べて処理時間は凄く遅くなるだろうけど、
ディスクスペースに空きがない、とかなら仕方ないのかも?
0071デフォルトの名無しさん
2006/12/14(木) 21:43:21○次の行の先頭からファイル終端までを
0072デフォルトの名無しさん
2006/12/14(木) 22:08:03せいぜい10MB程度でしょ
0073デフォルトの名無しさん
2006/12/14(木) 23:03:320074デフォルトの名無しさん
2006/12/15(金) 04:59:06その線を点の集合として得るにはどうしたらいいでしょうか?
0075デフォルトの名無しさん
2006/12/15(金) 07:30:52http://pc8.2ch.net/test/read.cgi/tech/1161139809/255
0076hj
2006/12/15(金) 07:48:45ソフト側で"厚紙指定"みたいにしないとプリンタ側で
印刷がうまく定着しない、とR社の人に言われました。
JPSのserviceUI.printDialogで出てくる印刷ダイアログの、
プリンタ名の横のプロパティボタンが押せれば、OS側の
プリンタドライバのプロパティ画面が出ると予想してるの
ですが(そこで"厚紙指定"する)、なぜかこいつが無効に
なっている。このボタンって、押せるようにならないんですか?
PrintRequestAttributeSetで直に"厚紙指定"のようなことは
できなさそうなので…。
詳しい人教えてください。
0077デフォルトの名無しさん
2006/12/15(金) 14:19:02long sec; //秒数が入っている
Calendar calendar=Calendar.getInstance();
calendar.setTimeInMillis(sec*1000);
とすると
setTimeInMillis(long) は java.util.Calendar で protected アクセスされます
と言われます。確かにAPI仕様ではprotected voidが返ることになっていますが
どうすればこのエラーを回避することができるのでしょうか?
というか、もっと楽な方法があったりするのでしょうか?
※すいませんが、iアプリなのでCLDCでお願いいたします
0078デフォルトの名無しさん
2006/12/15(金) 14:23:51calendar.setTime(new Date(sec * 1000));
007977
2006/12/15(金) 14:32:42素早い回答ありがとうございます
こんなところにnewを入れるのがjavaの特徴的なところでしょうか
ついでにAPI仕様のコンストラクタにDate(long date)
って書いているけどDate(long millis)とか書いてほしいのは俺だけですか?
0080デフォルトの名無しさん
2006/12/15(金) 14:58:01詳しくは知らんけど、クラスのサイズ小さくするため、とかで
ライブラリ全体を見て重複するメソッドを削ってったらそうなっただけじゃないかね?
> Date(long millis)
確かに。BugDatabase に報告してくれたら嬉しい。
0081デフォルトの名無しさん
2006/12/15(金) 16:51:170082デフォルトの名無しさん
2006/12/15(金) 17:28:24必要ではないから。
0083デフォルトの名無しさん
2006/12/15(金) 17:35:12どうか理由を・・
何か便利なやり方があるのですか?
0084デフォルトの名無しさん
2006/12/15(金) 17:42:07それって private static ではだめなんかね?
違いはスコープぐらいしか思いつかないんだけど・・・
0085デフォルトの名無しさん
2006/12/15(金) 19:12:14アプレットをhtmlファイルとしてインターネット上で使用するにはどうしたらいいのでしょうか?
ヘルプを読んでもいまいちそれらしい説明がなく…orz
0086デフォルトの名無しさん
2006/12/15(金) 19:47:29>このstaticローカル変数は、C++言語では、メンバ関数(Javaのメソッドに当たるもの)であっても
>同様に機能するため、インスタンスに関係なくひとつだけ存在することになり、
>オブジェクト指向とは合わない存在と言える。
>そのためか、Javaの言語仕様には存在しない。
0087デフォルトの名無しさん
2006/12/15(金) 20:38:58質問が良く分からないがコンバートの事?
0088デフォルトの名無しさん
2006/12/15(金) 21:55:34このエラーの解決方法って分りますか
無茶を言ってすいません
0089デフォルトの名無しさん
2006/12/15(金) 21:56:55classではなくinterfaceである場合は全部がabstractメソッド。
0090デフォルトの名無しさん
2006/12/15(金) 22:19:17迅速なレスありがとうございます
interfaceで作っています
全部がabstracメソッド・・・少し詳しく調べてきます
0091デフォルトの名無しさん
2006/12/15(金) 23:12:25とだけ書いてあるメソッド?は何をしているのでしょうか。
super()というメソッドは、ソースのどこにも定義されていないのです。
そもそも、メソッドならばその前にクラス名が付くと思いますし…
Javaのこういうアバウトなところが苦手です。
0092デフォルトの名無しさん
2006/12/15(金) 23:20:470093デフォルトの名無しさん
2006/12/15(金) 23:22:06スーパークラスのコンストラクタ。
超基本的な所も調べない貴方が苦手です。
0094デフォルトの名無しさん
2006/12/15(金) 23:25:47> super();
> とだけ書いてあるメソッド?は何をしているのでしょうか。
親クラスの引数ゼロ個のコンストラクタを呼んでる。
> Javaのこういうアバウトなところが苦手です。
自分で調べようとせずに、言語の所為にしようと
一生懸命に御託ならべる初心者は苦手です。
0095デフォルトの名無しさん
2006/12/15(金) 23:48:44public static void main(String args[]) throws IOExceptionとmainメソッドはおいています
コンパイルは出来るのですが
解決のためのアドバイスをどうかお願いします
0096デフォルトの名無しさん
2006/12/15(金) 23:54:100097デフォルトの名無しさん
2006/12/15(金) 23:55:33クラスが見つからんと言われてるわけだから、クラスパス関連見直すとか、
大文字小文字間違って無いか確認とかしてみたら良いんじゃないだろか?
0098デフォルトの名無しさん
2006/12/16(土) 00:15:37お気持ちは嬉しいですが、ここで晒していいのかな・・・
初めての来たので、どこまで晒していいか分らないのですが、とりあえず作りました
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28980
>>97
全角スペース確認終えたので、文字チェック始めます
レスありがとうございました
0099デフォルトの名無しさん
2006/12/16(土) 00:20:060100デフォルトの名無しさん
2006/12/16(土) 00:44:280101デフォルトの名無しさん
2006/12/16(土) 01:45:27byte配列を決まったサイズにして切り出すにはどうしたら良いのでしょうか。
byte[] trim(byte[] b, int size) {
byte[] buf = new byte[size];
if(b.length > size) {
System.arraycopy(b, 0, buf, 0, buf.length);
} else {
System.arraycopy(b, 0, buf, 0, b.length);
}
return buf;
}
入力byte[]が指定サイズより短い場合は0フィルにしたいと思って、
上の用に書いてみたのですが、いささかスマートじゃない気がします。
入力バイトが何バイトかに関わらず、決まった長さのbyte配列を返したいのですが。
Byteクラスにもそれらしきメソッドが無かったので・・・。
0102デフォルトの名無しさん
2006/12/16(土) 01:57:16いうエラーが大量に出てきました。
これはどうやって解決すれば良いのでしょうか?
サンプルプログラムなのでプログラムには問題ないと思うのですが・・・
0103デフォルトの名無しさん
2006/12/16(土) 01:59:52コードの一部しかコピーしてないんじゃ?
0104デフォルトの名無しさん
2006/12/16(土) 02:00:58全角スペース入ってね?
0105デフォルトの名無しさん
2006/12/16(土) 02:02:43コードを見せてごらん
0106デフォルトの名無しさん
2006/12/16(土) 02:20:13package servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CheckServlet extends ExServlet {
public void doExecute(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, Exception
{
String id = super.sessionCheck(request, response);
RequestDispatcher dispatcher = request.getRequestDispatcher("/insert.jsp");
dispatcher.forward(request, response);
}
}
0107デフォルトの名無しさん
2006/12/16(土) 02:22:43J2EE入れてる?
J2SEしか入れてないとか?
0108デフォルトの名無しさん
2006/12/16(土) 02:32:14http://e-words.jp/w/J2EE.html
サーブレットはJ2EE入れてないと動かない。
0109デフォルトの名無しさん
2006/12/16(土) 02:35:440110デフォルトの名無しさん
2006/12/16(土) 02:37:120111デフォルトの名無しさん
2006/12/16(土) 02:44:490112デフォルトの名無しさん
2006/12/16(土) 03:23:54どなたか教えていただけませんか。
public class Bar<T>
{
public int Say()
{
T hoge = new T();
return 1;
}
}
0113デフォルトの名無しさん
2006/12/16(土) 04:04:10型パラメータでnewすることはできない。
genericsの制限についてはここらへんを読むとよいかも。
ttp://www-06.ibm.com/jp/developerworks/java/050218/j_j-jtp01255.html
0114デフォルトの名無しさん
2006/12/16(土) 05:51:08.javaをワードパッドで関連付けしてしまったんですが、このまま放っておいても大丈夫でしょうか?
regeditで、 HKEY_CLASSES_ROOT を探しても、.javaが見つからないんですけど、
JDK(?)を入れて、関連付けしたほうがいいですか?
答えて頂けると助かります。
0115デフォルトの名無しさん
2006/12/16(土) 09:27:23好きなエディタで編集すれば良い。
問題ないよ。
0116デフォルトの名無しさん
2006/12/16(土) 12:35:11レスありがとうございます。
放っておいていいものか、悩んでました。
すっきりしました。ありがとう。
0117デフォルトの名無しさん
2006/12/16(土) 14:26:42どう動かしたらよいかわかりません。
実行方法を教えてください。
ttp://www.ics.kagoshima-u.ac.jp/~fuchida/edu/algorithm/sort-algorithm/
0118デフォルトの名無しさん
2006/12/16(土) 15:03:17http://www.atmarkit.co.jp/fjava/rensai2/eclipse01/eclipse01.html
0119デフォルトの名無しさん
2006/12/16(土) 15:35:220120117
2006/12/16(土) 15:36:31情報ありがとうございます。
サイトに掲載されているjavaソースは、Eclipseで作成済みで動作を実行
させるだけなのですが、それがうまくいきません。
例えば、Bubblesortを実行させようとしてもsorttestに設定されているエラーメッセージ
が出るだけです。
実行→構成および実行で何か設定をしたりするとか、あるいは、Javaソースを
自分で追加する必要があるんでしょうか。
サイト掲載のソースを使えば、掲載されているAppletのような動きをすると
思ったのですが。うまくいかないので、実行する順序を教えてください。
説明が悪くてすみません。
0121118
2006/12/16(土) 16:18:14自分のEclipseは英語版だけど
・ソースを全部ダウンロード
・Fileメニュー->New->Project->Java Projectを選択->Next->Project nameを適当に入力->Finish
・作ったプロジェクトにソースを全部ドラッグ&ドロップ
・Runメニュー->Run->Java Appletを右クリック->New->AppletにSortAppletかSortApplet2を入力->Runボタンを押す
これでできた。
0122デフォルトの名無しさん
2006/12/16(土) 16:55:41文字列の "(12 + 2.34) * 11.23e4 / sin(1.2)"等を数式として計算させたいのですが
参考になるサイトや便利なライブラリはありますか?
0123118
2006/12/16(土) 17:05:45http://lts.online.fr/dev/java/math.evaluator/
0124117
2006/12/16(土) 17:15:24自分のEclipseは日本語版で
実行->実行->サーバーで実行かBeanで実行しか出てきません。
BubbleSortとかでするからでしょうか。
0125デフォルトの名無しさん
2006/12/16(土) 18:14:45情報の授業でレポート(A4で2枚程)を書かなければいけないのですが、pcの苦手な私には何を書いたら良いのか分からなくて困っています。
簡単にでも良いのでどなたか教えていただけないでしょうか??
0126デフォルトの名無しさん
2006/12/16(土) 18:20:41課題->教育的すぎて面白くない.C++のようにもっと変態的にすべき
注意->長時間せず休憩をはさむ
0127118
2006/12/16(土) 18:38:54>実行->実行->サーバーで実行かBeanで実行しか出てきません。
http://www.hellohiro.com/eclipse.htm
このページの中の
http://www.hellohiro.com/img/eclipse7.gif
この画像のようなJavaアプリケーションやJavaアプレットは無いという事ですね?
0128デフォルトの名無しさん
2006/12/16(土) 19:48:16初心者向けのJavaの本でもよめば書いてあると思うよ^^
0129118
2006/12/16(土) 19:54:56http://ja.wikipedia.org/wiki/Java%E8%A8%80%E8%AA%9E
0130デフォルトの名無しさん
2006/12/16(土) 20:10:25すまん・・・・分かっているとは思うんだが・・・・
PCが苦手で何故情報に・・・・
理論だけやってきてる人なんてそうそういないと思うんだが・・・
0131デフォルトの名無しさん
2006/12/16(土) 20:11:49126さん>>128さん>>129さん
ありがとうございます
0132デフォルトの名無しさん
2006/12/16(土) 20:13:31その昔、「マスコミ関係に就職したいんです」といって、筑波大学情報学類に入学した強者がいたそうな。
0133デフォルトの名無しさん
2006/12/16(土) 20:24:19就職を見据えて大学を選んでいる部分は慧眼だね
その人に情報の適性があったかはともかく・・・・
先読みする能力がプログラムにもいかせられればいい方向に・・・
# 手の付けられないくらいインターフェース定義だけしまくってしまって
# 肝心の実装ができ上がらないと言う状況も想像できる・・・・
0134デフォルトの名無しさん
2006/12/16(土) 21:11:49人に迷惑をかける前に自ら存在を消すのが人類への最大の貢献だ
0135デフォルトの名無しさん
2006/12/17(日) 00:43:28ボタンを押すと文字列をファイルに出力するようにしたいんですが、
ActionPerformed内にファイル出力の処理を記述するので、どうしてもその文字列がActionPerformedでも必要になります。
問題のメソッド(簡略化
void str(String str) {
String s2 = str:
}
actionPerformedの内容
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(log.log), "SJIS"));
writer.write(s2, 0, s2.length());
writer.newLine();
} catch (Exception e) {
e.printStackTrace();
}
try {
if(writer != null) {
writer.flush();
writer.close();
}
} catch (Exception e) {
}
問題のメソッドのs2をActionPerformedからでも呼び出せるようにしたいんですが、無理……ですかね。
良ければ回答おねがいします。
0136デフォルトの名無しさん
2006/12/17(日) 00:55:30いずれにせよ str メソッドが呼び出されるとすれば
actionPerformed 内になりそうなんですが。
String str はどこから取得?
0137デフォルトの名無しさん
2006/12/17(日) 01:03:32JSpinner spin = new JSpinner();
int i = spin.getValue();
戻ってくるのがオブジェクトなんで入らないんです。。
どうやって変換すればよろしいのですか?
0138135
2006/12/17(日) 01:16:36ごめんなさい、あまりに大雑把でした。
まず、Javaアプレットを使ってチャットもどきのようなものを作成しようと思い、
そのチャットログの保存を目的としています。
String strはチャットのログ自体の文字列で、他のメソッドがサーバーから受け取った情報を渡されています。
メソッドstrはチャットログの「整形と表示」を担当しています。
本来は
void chatLog(name, message) { です。
整形処理は以下のように行っています。
StringBuffer sb = new StringBuffer(name);
sb.append(" > ");
sb.append("\n");
sb.append(chatLogOutput.getText());
String s = sb.toString();
チャットのログがあまり貯まりすぎるとチャット欄再描画の際に重くなるので、
文字列の長さが一定以上になると文字列を削減するようにしています。
ですが、それではチャットログの完全な保存が出来ないため、文字列削減処理の前にstrをs2に保存しています。
String s2 = str;
if(str.length() > 2000)
str = str.substring(0, 1000);
そしてs2を保存する事によって全てのログが保存できる、と考えているのですが、
ActionPerformedからs2を呼び出せないと全てが水の泡になってしまうのです。
どうにかならんでしょうか、という話です。
0139137
2006/12/17(日) 01:23:57toString+Integer.parseInt()
0140デフォルトの名無しさん
2006/12/17(日) 01:24:29Swingはイベントキューで同期するからトリガがひとつならそれで問題なし。
0141135
2006/12/17(日) 02:10:13仰られていることが十分に理解できていないのですが、すいません、AWTで作っています。
プロパティに持たせるとはどのようにするのでしょうか?
一応ぐぐってプロパティがどういう物かは分かったのですが、これとプログラムを結びつける方法がさっぱり分かりません。
すごく初歩的なことを聞いてるんだと思いますが、よろしければご教示ください。
0142デフォルトの名無しさん
2006/12/17(日) 02:28:24それ最悪。
Integerでキャストしろ。
0143デフォルトの名無しさん
2006/12/17(日) 04:05:010144デフォルトの名無しさん
2006/12/17(日) 08:34:44チェックボックスクラスのインスタンスを複数個の配列にしたいのですが、どうもうまくいきません。
なんとなくnewが二つあるからおかしいのかな…と思うのですが、
具体的にどう直せばいいのでしょうか?
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28989
0145デフォルトの名無しさん
2006/12/17(日) 09:07:430146144
2006/12/17(日) 09:55:590147デフォルトの名無しさん
2006/12/17(日) 10:46:47えーと
メッセージの受信スレッドが居てその中で chatLog() が呼ばれてる、って事なのかな。
ActionListener は何を契機に呼び出されるんでしょう?
どうもプログラムの構成がつかめない・・
140氏が言ってるのは
・s2 を保存するための private 変数と、アクセスするための getter/setter を用意する
・chatLog() で setter 経由で s2 を保存する
・actionPerfomed() で getter 経由で s2 を取得する
って事だと思われます。
0148デフォルトの名無しさん
2006/12/17(日) 11:47:59ArrayList<String> list1 = new ArrayList();
ArrayList list2 = new ArrayList<String>();
ArrayList<String> list3 = new ArrayList<String>();
個人的に cast が減ることよりも <String> って書く方が EoD から遠い
0150デフォルトの名無しさん
2006/12/17(日) 16:57:26俺も最初そう思った。
HashMap<String, ArrayList<HogeHoge>> listMap = new HashMap<String, ArrayList<HogeHoge>>();
とか書いて、「このやたら長い1行はいったい何だ?」と思った。
でも、1度書いてしまえば、
for(HogeHoge hoge : listMap.get("foo")){
//
}
って書けるし、ちょっとは幸せになったのかもしれないよ?1.4だとこうだし。
for(Iterator iter = ((ArrayList)listMap.get("foo")).iterator(); iter.hasNext(); ){
HogeHoge hoge = (HogeHoge) iter.next();
//
}
そもそもJavaでEoDは限界があるというのなら、同意する。
0151デフォルトの名無しさん
2006/12/17(日) 17:34:10コレクションが間違った使われ方されるのを減らせるだろ?
一人でプログラムを全部書く日曜プログラマには関係ないかもしれんがな。
0152デフォルトの名無しさん
2006/12/17(日) 18:25:11後方互換性を多少切り捨ててでも
erasure なんて導入しないで欲しかった。
0153デフォルトの名無しさん
2006/12/17(日) 20:07:18for(HogeHoge hoge : listMap.get("foo")){
//
}
これは確かに楽だと思う。便利なのも認める。
でも、これを使うために
HashMap<String, ArrayList<HogeHoge>> listMap = new HashMap<String, ArrayList<HogeHoge>>();
を書く方が鬱に感じるのは時代遅れですか!
Listは一時的に値を格納するローカル変数で良く使うけど
別のインタフェースへガンガン渡していくような使い方はあまりしないしなぁ。
>> 151
> コレクションが間違った使われ方されるのを減らせるだろ?
それは部品を提供する側のインタフェース設計の問題と思うけど。
間違った使われ方されないように、されても問題が分かるように作るべきじゃないかなぁ。
安全性といわれると、今までGenericの無かった1.4までのプログラムは
安全じゃなかったということにはならないし。
たしかに想定外の使い方しまくる人も結構いるけどさ(笑)
ビビルというか、焦るよね。
0154デフォルトの名無しさん
2006/12/17(日) 20:08:53ループの中でinstance ofしないのは糞というコードチェッカーもあった。
0155デフォルトの名無しさん
2006/12/17(日) 20:47:51安全性なんてたかが知れてるよ。
バイトコードには型情報入ってないんだから。
限られた状況でIDEの入力補完が期待できたり、
限られた範囲で型チェックしてくれる程度。
それでもないよりはマシ。
0156デフォルトの名無しさん
2006/12/17(日) 23:20:38型推論させたら?
public static <K,V> Map<K,V> newHashMap() {
return new HashMap<K,V>();
}
上記ネタは↓から
疑似typedefアンチパターン
ttp://www-06.ibm.com/jp/developerworks/java/060310/j_j-jtp02216.shtml
0157デフォルトの名無しさん
2006/12/18(月) 00:11:48C言語みたいに "a" + 1 = bってのは保障されてないんでしたっけ?
任意の桁だけ[0-9a-z]で生成したいんですけど・・・。
7a3y1jとか6a8x5dとか、au92r3みたいにバラバラでもいいかなと。
0158デフォルトの名無しさん
2006/12/18(月) 00:26:20UnicodeもASCIIの部分はそのまんまだよ。
0159デフォルトの名無しさん
2006/12/18(月) 00:39:32あ、C言語じゃなくてASCII側が保障してるんですね
スレ違いだったかもしれませんけど有難うございました。
0160デフォルトの名無しさん
2006/12/18(月) 05:32:07どうしてコンストラクタは型推論しないの?
0162デフォルトの名無しさん
2006/12/18(月) 19:04:41public class UrlDecode {
public static void main(String[] args) {
try {
// "%91S%95%94" は、"全部"を SHIFT_JIS で URLEncode したもの
System.out.println("decoded: " + java.net.URLDecoder.decode("%91S%95%94", "SJIS"));
}
catch (Exception e) { e.printStackTrace(); }
}
}
C:\>java UrlDecode Exception in thread "main" java.lang.UnsupportedClassVersionError: UrlDecode (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
環境はWindowsXP(SP1)。Java環境は以下の通りです。
C:\>java -version
java version "1.4.2_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05)
Java HotSpot(TM) Client VM (build 1.4.2_07-b05, mixed mode)
エラーメッセージの意味がいまいち掴めないのですが、何がダメでどうすれば動くようになるんでしょうか?
0163デフォルトの名無しさん
2006/12/18(月) 19:09:35160じゃないけど、Genericsの仕様についてじゃないかと。
public static <K,V> Map<K,V> newHashMap()
ってシグネチャで型推論できるんだから、
public HashMap<K,V>()
ってシグネチャのコンストラクタでも型推論できたっていいだろう、
って俺も思った。型の自明さで言えば、コンストラクタの方が
staticメソッドよりもより明らかな訳だし。
0164162
2006/12/18(月) 19:10:16でも同じマシンでコンパイルして、実行しています。
ますますわかりません。
0165デフォルトの名無しさん
2006/12/18(月) 19:15:54javac -version して、コンパイラのバージョンも調べてみたら。
後は、パスの順番の問題だろう。
0166163
2006/12/18(月) 19:17:11ttp://forum.java.sun.com/thread.jspa?threadID=668411&start=0&tstart=0
ちっと読んでみるわ。
0167デフォルトの名無しさん
2006/12/18(月) 19:22:15どうすればいいのでしょうか?
DatagramSocketImplのsetTimeToLive(int ttl) を使えばできそうなのですが、
インスタンスを生成できません。。。
やりたいのは
DatagramSocket socket = new DatagramSocket(SERVER_PORT);
を生成して、
socketのTTLを2とか3に設定することです。
0168デフォルトの名無しさん
2006/12/18(月) 19:23:1349.0ってことはコンパイラはJDK5.0使ってる。
たぶんPATHがおかしいのではないか。
0169162
2006/12/18(月) 19:47:36ありがとうございます。
PATHをJDK5.0の方に通して
C:\>java -version
java version "1.5.0_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
Java HotSpot(TM) Client VM (build 1.5.0_08-b03, mixed mode, sharing)
となるようにしました。
ですが相変わらず先ほどのエラーのままです。
困りました。。。
0170デフォルトの名無しさん
2006/12/18(月) 20:11:130171デフォルトの名無しさん
2006/12/18(月) 20:54:24Generic の↓の違いはなに・・・
ArrayList<String> list1 = new ArrayList();
ArrayList list2 = new ArrayList<String>();
ArrayList<String> list3 = new ArrayList<String>();
0172デフォルトの名無しさん
2006/12/18(月) 21:47:58やっぱりウィンドウの描画は描画専門クラスにして
イベントはイベント専門クラス
各コンポーネントはstaticにするのが定石なんですか?
0173デフォルトの名無しさん
2006/12/18(月) 22:56:38staticって、シングルトンかstaticメソッドのみのクラスにするってこと?
コンポーネントのレイヤーによるけどあまり多くはやらないな。
いろいろ作ってみて思ったことはこんな感じ。
・イベント処理は、StrutsのActionみたいな感じで作ると楽。いわゆるコントローラ?ただしStruts同様statelessで。
ここでは、UIからパラメタ取得してドメインオブジェクトのメソッド実行をする。
・イベント処理の結果を画面に反映させる処理は、UIに書いた方が楽。具体的には内部無名クラスに直書き。
無理してコントローラに書くとインタフェースが複雑になる。
・SwingのActionインタフェースは、例外処理とかログ出力とか考えると機能不足。
継承したり独自のActionクラスを作ったりAOPしたりといったカスタマイズが要る。
・Actionのディスパッチは、DI的にすると作りやすい。
GUI部分は、public Action getAction(String key)のようなメソッドを持つコンテナだけを知っている。
・DI的なコンテナはシングルトンで。他にシングルトンは作らない。
・モデルオブジェクトの管理もDI的なコンテナに任せる。
・とあるUIでデータ更新→それに合わせて別のUIでも更新、といった処理は、イベントとして処理。
そのためのイベント処理の枠組みを、DI的なコンテナに実装する。
とか思ってたら、Eclipseプラグインの作り方に似てきたような気がしてきた。
Eclipse Platformって面倒くさいけど、Swingの後に作っただけに便利なところは結構あるね。
0174デフォルトの名無しさん
2006/12/18(月) 23:25:04CORBAスレがほとんどないので質問させてください。
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/idl/GShome.html
ここを見てCORBAサーバを作成しました。
対抗もJavaで作ると当然うまく接続できるのですが、
他パッケージで作成したアプリでつなごうとして、
ネーミングコンテキストが分からず詰まってしまいました。
(ネーミングサーバの問い合わせにコンテキストのid/kindを文字列で要求されるので…)
上記CORBAサンプルのHelloクラスへ接続する
ネーミングコンテキストのid/kindは何なのでしょうか?
それともPOAはそういう使い方に適さないのでしょうか?
サーバ側のJ2SDK1.4.2、ネーミングサーバはorbdです。
0175172
2006/12/19(火) 00:10:42ありがとう
シングルトンって意味を調べたら
私のしたかった事がわかりました。
デザインパターンの勉強します。
0176デフォルトの名無しさん
2006/12/19(火) 05:32:33for(a=0; a*a<10)
for(a=0;; a++)
0177デフォルトの名無しさん
2006/12/19(火) 07:41:350178デフォルトの名無しさん
2006/12/19(火) 07:44:350179デフォルトの名無しさん
2006/12/19(火) 10:23:320180デフォルトの名無しさん
2006/12/19(火) 12:31:34とあるテキストで、分数を約分するというプログラムが紹介されていたのですが
そのアルゴリズム、というか説明で
「約分は、分子と分母の絶対値を比較し、大きい方の値で分子と分母を割っていきます。
割り切れなかったときは値を1減らし、再度割り算を試みます。どちらも余りが0になったときに割り切れたことになるので、
そのときの商を、それぞれの分子と分母の値とします。この繰り返しで、約分を実現します。」
と書いてあったのですが、最大公約数が値の小さい方よりも大きくなることはあるのでしょうか?
0181デフォルトの名無しさん
2006/12/19(火) 12:44:19絶対値化した後なら、当然ない。
その説明を書いた人はユークリッドの互除法を知らないんですかね。
0182デフォルトの名無しさん
2006/12/19(火) 12:48:13HTML側で指定した範囲を超えると、当然ですがはみでた部分が描画されません。
アプレット側から設定を変更するような命令を出すことはできるのでしょうか?
0183デフォルトの名無しさん
2006/12/19(火) 12:51:02と
int a[];
は両方使えるんですか?
何か違いはありますか?
0184180
2006/12/19(火) 12:51:41技術評論社の本格学習Java入門というテキストなんですが、
書店でぱらぱらっと見た限りではよさそうだったんですが
購入してじっくりと見てみると、誤植の多いこと・・
テキスト買い換えることにします。ありがとうございました
0185デフォルトの名無しさん
2006/12/19(火) 12:54:10両方OK。動作上の違いは無し。
0187デフォルトの名無しさん
2006/12/19(火) 13:12:31NamingContext と NamingContextExt の違いのせい。
例題を NamingContext で作り変えて試してみるとか。
0188デフォルトの名無しさん
2006/12/19(火) 13:48:58JSのNumber.toFixed()に相当する物はありますでしょうか。
a = 3.1416;
b = a.toFixed(2); // 小数点以下2桁までを文字列化して"3.14"を得る
の様な。
Number、Double、String辺りを見ましたが、自分には見付けられませんでした。
TIA.
0189デフォルトの名無しさん
2006/12/19(火) 14:19:47b = new DecimalFormat("#.00").format((double)a);
Java5以降であれば、
b = String.format("%.2f", a);
という感じ。
0190デフォルトの名無しさん
2006/12/19(火) 15:42:35複雑な階層構造をもつ任意のフォルダを引数として渡して、その中身をJarにまとめてくれるメソッドを
探していたのですが、どうもJava APIの中にそこまで強力なものはないようです。自分でJarOutputStreamを
使って実装するしかないのでしょうか。
この機能が無いということは、このようなことをしようと思った場合、Jarにまとめたいフォルダの階層が
わかっていて、それに対応したプログラムを毎度書いてやるのが普通なんでしょうか。しかし、プログラマが
必ずしもフォルダの階層構造を知っているとは限りませんし、いちいち対応するというのもどうかと思います。
そこで上記のような強力なメソッドが欲しいわけですが、なにか参考になるページはないでしょうか。
0191デフォルトの名無しさん
2006/12/19(火) 16:09:34階層なんて知らなくても、トップのディレクトリだけ渡して
後は再帰的に漁ってJarにでも何でもまとめればいいんでねの?
0192デフォルトの名無しさん
2006/12/19(火) 17:00:58jarコマンドの機能が欲しかったら、プログラム内でjarコマンドを起動すれば?
sun.tools.jar.Mainでもいいかも。
0193デフォルトの名無しさん
2006/12/19(火) 18:03:37PHP4あるいは5のurlencode関数で「全部」というSJISの文字列をエンコードすると
%91S%95%94
となります。
コード↓
print(urlencode("全部"));
これをJava組み込みのURLデコードメソッドでデコードすると
?S部
と化けた状態になってしまいます。
コード↓
System.out.println(java.net.URLDecoder.decode("%91S%95%94", "SJIS"));
試しに
System.out.println(java.net.URLEncoder.encode("全部", "SJIS"));
してみたら
%91%53%95%94
となりました。
どうすればPHPでエンコードした値を、Javaで正常に戻すことができるようになりますか?
JavaSDKのバージョンは1.4.2です。
0194デフォルトの名無しさん
2006/12/19(火) 18:28:00このへんが参考になるかと思います。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8433&forum=12&5
まとめると、「%91S%95%94」というエンコード方法が仕様上間違いなの
で、URLDecoderでも正しく扱えない、と。
回避するとしたら、エンコードされた状態から自力でbyte[]にするしか
ないかなあ。
0195193
2006/12/19(火) 20:32:39ありがとうございます。
やはりbyte[]でシコシコやるしかないかなあと諦めていたら、さすが jakarta。
commons codec で、その悪い仕様でURLエンコードされた文字列をデコードできるとのこと。
http://jakarta.apache.org/commons/codec/
の↓です。
http://jakarta.apache.org/commons/codec/api-release/org/apache/commons/codec/net/URLCodec.html#decode(java.lang.String,%20java.lang.String)
↓のやり取りから発見できました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25659&forum=12&5
URLエンコード側は別システムでいじれないため、助かりました。
0196デフォルトの名無しさん
2006/12/19(火) 22:51:13小数第一位が5以上であれば,
val1 / val2で割った値を切り上げるrintメソッドを作りました。
public static int rint(int val1, int val2) throws ArithmeticException{
int rest = val1 * 10 / val2;
return (rest % 10) < 5 ? val1 / val2 : (val1 / val2) + 1;
}
このメソッドの実行速度をもう少し速めたいのですが,
知恵を拝借できませんでしょうか?
0197デフォルトの名無しさん
2006/12/19(火) 23:25:01ここにあるサンプルソースでどうして
out.println(new String(sb));
と、最後にnewしてるのかわかりません。
教えてください。
0198デフォルトの名無しさん
2006/12/19(火) 23:44:210199デフォルトの名無しさん
2006/12/19(火) 23:56:03どっちにしても、StringBuffer#toString()でnew String()してるから、結局は一緒なんだけど。
0200デフォルトの名無しさん
2006/12/20(水) 00:32:28(val1 * 2 + val2) / (val2 * 2)
0201デフォルトの名無しさん
2006/12/20(水) 01:33:33回答ありがとうございました。
こちらでも試行錯誤していて、
NameComponentのkindアトリビュートに無理やり値を入れたら
解決したんですが、これはいいんだろうか…
String name = "Hello";
NameComponent path[] = ncRef.to_name( name );
path[0].kind = "hoge"; // add
ncRef.rebind(path, href);
NamingContextに変えてみるのも試してみます。
0202デフォルトの名無しさん
2006/12/20(水) 01:44:09例えば199さんとか
0203デフォルトの名無しさん
2006/12/20(水) 01:54:140204デフォルトの名無しさん
2006/12/20(水) 01:56:54static class A{
}
void main() {
0205デフォルトの名無しさん
2006/12/20(水) 02:07:56puclic class Hoge {
static class A{
〜〜〜〜〜
}
void main() {
while (条件){
if(条件) {
enqueue(a);
A a = new a();
処理;
}
}
}
みたいな感じでwhileループの中でキューに追加しては次々と新しい同名オブジェクトを
生成するプログラムを書いてるんですが、キュー追加後のオブジェクトがゴミとなるため
VMがGCでひどく時間を食うようです。生成するオブジェクトをリンク付きリスト構造でつないで
メモリを再利用できるようにしてゴミを出さないようにできるらしいのですが、よく分かりません。
どなたか簡単な感じで教えていただけませんか?
0206デフォルトの名無しさん
2006/12/20(水) 02:29:56StringBuffer.toString()
って書いたら違和感感じない?
0207デフォルトの名無しさん
2006/12/20(水) 05:50:260208デフォルトの名無しさん
2006/12/20(水) 07:30:30左上(resize_switch=1)と右上(resize_switch=3)の場合は正常に動作するのですが、左下と右下の処理ができない状態です。
別の処理をかませて見たところ、どうもresize_switchの値を変えるイベント自体が発生していないようで
mouseMovedがおかしいのかもしれません。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29001
0209デフォルトの名無しさん
2006/12/20(水) 09:41:47if-else文の構造が間違ってる
↓これだと処理Bは一生実行されない
if(条件A) {
処理A
}else if(条件A) {
処理B
}
0210デフォルトの名無しさん
2006/12/20(水) 10:30:13int B=2;
・・
switch(C){
case A:
・・
case B:
・・
}
がエラーって言われます。
Cの場合はAとBをマクロで記述すればOKだったのですが、javaではどのように
対処するのが一般的ですか?
とりあえず、if〜elseをダラダラ書けば解決しますが。。
0211デフォルトの名無しさん
2006/12/20(水) 10:40:180212デフォルトの名無しさん
2006/12/20(水) 11:42:54final int A = 1;
final int B = 2;
0213デフォルトの名無しさん
2006/12/20(水) 11:59:41って入っていた場合に、
mogeやhogeの後ろにある"|"だけを消したい場合
はどうすればいいんでしょうか?
0214デフォルトの名無しさん
2006/12/20(水) 12:31:48○JRootPaneにaddするとフルサイズで描画される。
○JPanelにaddするとComponentのデフォルトサイズで描画される。
?JPanelにaddしたComponentのサイズはsetPreferredSizeを変えても変更できない。JButtonは変えられる。
?JPanelへaddImpl(component, null, -1)を使用してもComponentのデフォルトサイズで描画される。
JRootPaneのaddとJPanelのaddは大きく何が異なるのかがよく分かりません。
また箇条書きにした?の項目(特にsetPreferredSizeが無効)がよく分かりません。
一瞬だけsetPreferredSizeが有効になり、repaintでサイズが元通りにされるのかと思ったのですがそういう訳でもなさそうです・・・。
大人しくJRootPane使っとけば正解なのでしょうか。
0215デフォルトの名無しさん
2006/12/20(水) 18:39:201JFrameを継承したMyFrameを作成
2.MyFrameをフィールドとしてJButton button_,JLabel label_および
JTextField textField_を持つ。これら3つはコンストラクタ内でMyFrame内にaddされる
3.MyFrameはFlowLayoutでサイズ400×300とする。
4.textField_に数字を入れてボタンをおすと、数字が素数の場合にはlabel_に
True,素数でなければFalseが表示される。
以下の問題の4の書き方が分からないです。
GUIに先入観があるから難しいのかもしれませんが、ヒントだけでもくださったら
ありがたいです。
0216214
2006/12/20(水) 18:51:31ActionListenerでボタンのイベントを拾う
イベントを受けたら素数のチェックを行う
結果を表示する
って感じでどうでしょうか。
0217デフォルトの名無しさん
2006/12/20(水) 19:25:27ありがとうございます。方針が分からなかったので大変助かりました。
0218デフォルトの名無しさん
2006/12/20(水) 20:55:32サンプルとか持ってる方いませんか。。。
0219デフォルトの名無しさん
2006/12/20(水) 21:23:34ウインドウを複数用意し、中で描画される図・画像が連携して動くようなプログラムは可能でしょうか?
また、二つのウインドウA,Bを用意し、Aに描画されたものと同じものを拡大縮小率を変えてBで描画するといったプログラムは可能でしょうか?
もし可能であれば具体的にどのように設計をすればよいかをご教授くださればと思います。
よろしくお願いします。
0220デフォルトの名無しさん
2006/12/20(水) 21:41:37AとBを持つクラスを作ればおk
0221デフォルトの名無しさん
2006/12/20(水) 21:59:51ウィンドウの外に現れる枠を表示する方法を教えて下さい。
0222デフォルトの名無しさん
2006/12/20(水) 22:04:08もしも無ければswingで表示する方法を教えて下さい。
0223デフォルトの名無しさん
2006/12/20(水) 23:10:560224デフォルトの名無しさん
2006/12/20(水) 23:20:27java.lang.Mathまで限定できているなら、もう一息だ。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Math.html#round(double)
0225デフォルトの名無しさん
2006/12/20(水) 23:22:040226215
2006/12/20(水) 23:38:05丸投げスレでも聞いてみます。
(javaの宿題スレなどで)
0227223
2006/12/20(水) 23:43:31でも、このfloorは整数にしちゃうつまり小数第1位で四捨五入するんだろ。
小数第2位や3位で四捨五入するように指定できないの?
0228デフォルトの名無しさん
2006/12/20(水) 23:55:230229デフォルトの名無しさん
2006/12/21(木) 00:04:20public static double round2(double val, int digit){
double weight = digit > 0 ? Math.pow(10, digit) : 1/Math.pow(10, -digit);
return Math.round(val / weight) * weight;
}
0230デフォルトの名無しさん
2006/12/21(木) 00:18:09というメソッドが、Commons Mathにあった。
ttp://jakarta.apache.org/commons/math/api-1.1/org/apache/commons/math/util/MathUtils.html#round(double, int)
ところでCommons mathって、結構充実してるんだな。行列計算とかガンマ分布とか。
0231困ってます
2006/12/21(木) 02:07:19数n を入力し、幅 n で高さ n の以下のような直角三角形を2つ並べて画面に表示するプログラムを書け。
これは n が5の場合の例。
S
SS
SSS
SSSS
SSSSS
S
SS
SSS
SSSS
SSSSS
0232困ってます
2006/12/21(木) 02:18:02SS
SSS
SSSS
SSSSS
S
SS
SSS
SSSS
SSSSS
0233困ってます
2006/12/21(木) 02:19:49S
SS
SSS
SSSS
SSSSS
0234困ってます
2006/12/21(木) 02:22:28出てしまいます。
0235デフォルトの名無しさん
2006/12/21(木) 02:43:14★★ Java の宿題ここで答えます Part 59 ★★
http://pc8.2ch.net/test/read.cgi/tech/1165167516/
ただしあっちのスレの>>1をよく読むこと
0236デフォルトの名無しさん
2006/12/21(木) 03:19:05LG3Dのデスクトップ環境全体の拡大縮小って制御って可能ですか?
0237デフォルトの名無しさん
2006/12/21(木) 09:17:30何かよい方法がありますでしょうか?よろしくお願いします。
String stringTest;
long beforeTime[]=new long[30];
long afterTime[]=new long[30];
long average=0;
for (int i = 0; i < 30; i++) {
beforeTime[i] = System.currentTimeMillis();
for (int j = 0; j < 10000; j++) {
stringTest = ("a");
stringTest = stringTest + ("b");
stringTest.equals("");
}
afterTime[i] = System.currentTimeMillis();
}
for (int i = 0; i < 30; i++) {
System.out.println(i+":"+(afterTime[i]-beforeTime[i])+"ms");
average+=(afterTime[i]-beforeTime[i]);
}
System.out.println("平均:"+(average/30)+"ms");
0238デフォルトの名無しさん
2006/12/21(木) 09:27:10実情って何?
0239デフォルトの名無しさん
2006/12/21(木) 09:35:030240237
2006/12/21(木) 09:39:17たとえば、
ほとんどの値が20msくらいなのに、2〜3個だけ突然500msとか時間がかかってしまい、
平均値が一気に跳ね上がってしまうんです。
ガベージコレクタを抜いた平均はきっと20msくらいだと思うんですけど。
どうしたらガベージコレクタで跳ね上がった数字を除いた平均がとれますでしょう。
コード上の改良でも、統計っぽい加工でも、どちらでもかまいませんので、ヒントでもいただけると助かります。
よろしくお願いします。
0241デフォルトの名無しさん
2006/12/21(木) 09:59:26恐らく常にGCは起きてるけど、時々FullGCがあった時だけ跳ね上がってるはず。
GCを起きなくしたいのか? それじゃテスト内容が変わっちゃうぜ?
ただ単に跳ね上がった数字をはじきたいだけなら、閾値を超えたら無視するだけのこと。
0242デフォルトの名無しさん
2006/12/21(木) 10:07:250243デフォルトの名無しさん
2006/12/21(木) 10:07:59つーか何してるわけ?
0244デフォルトの名無しさん
2006/12/21(木) 10:15:280245デフォルトの名無しさん
2006/12/21(木) 10:37:10192.168.1.93(クライアント)から、192.168.1.2:5432(サーバ)にインストールされたPostgreSQLにアクセスする時(実行時)にエラーを出してしまいます。
実行時エラーログ
org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
ソースコード(問題個所のみ抜粋)
Class.forName("org.postgresql.Driver");//ここは成功
Connection con = DriverManager.getConnection("jdbc:postgresql:hellodb://192.168.1.2:5432/","postgresql","");//ここでエラー
192.168.1.93(クライアント)のノートンFWのログ
日付: 2006/12/21 時刻: 10:20:09
C:\WINNT\system32\java.exe が初めてインターネットにアクセスしようとしています
192.168.1.2(サーバ)のノートンFWのログ
アクセスされた形跡無し。
0246デフォルトの名無しさん
2006/12/21(木) 10:50:53ja -> MS932 みたいな感じで。
0247237
2006/12/21(木) 11:04:05ありがとうね!
stringTest.equals("")は、それがないとコンパイラがコンパイル時に最適化してforループ内が実行されない場合があったのでいれてます。テスト内容に意味はありません。分かり難い説明でごめんね。
>>241
カットオフのラインの求め方で何かお勧めの方法はありますでしょうか?
簡単に思いつくのは、一度目はテストとして実行して平均と標準偏差のデータをとり、そこから信頼区間を求めてその信頼区間をカットオフのラインにする方法です。
そして、二回目の実行でカットオフのラインを利用して平均を取り直して値を採用します。
他に何かよい方法やご意見はありますでしょうか?
241様以外の方でも、何かよい方法等が御座いましたらぜひお願いします。
0248223
2006/12/21(木) 11:07:120249245
2006/12/21(木) 11:48:01書き方が間違ってたらしい。
でも、あたらしいエラーが・・・。
org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "192.168.1.93", user "postgresql", database "hellodb", SSL off
また調べなきゃ・・・。
0250助けて
2006/12/21(木) 13:32:39どうすればいいのですか?
0251デフォルトの名無しさん
2006/12/21(木) 16:14:57出力ファイルを指定した後で
Consoleで文字列を打ち出すようにプログラムを組むにはどうしたらいいですか?
空白の行でEnterキー打つまでループするものとします
PrintWriter OutputFile;
OutputFile = FileIo.fWrite("A.txt", false);
(この間です)
OutputFile.close();
0252デフォルトの名無しさん
2006/12/21(木) 16:26:52処理時間を計る方法ないですかね?
分散処理なんかをしていると他のジョブの待ち時間なんかも計測されるみたいなので自分のプロセスだけの時間を調べたいんですが
0253デフォルトの名無しさん
2006/12/21(木) 18:18:29Windowsのデータソースにcsvファイルを登録して、ResultsetからgetStringで読み込んだところ(ファイル名がテーブル名になるんですね、初めて知りました)、うまく読み込めたと思ったのですが、なんと長い文字列が255バイトで切られてしまいます。
これは、Accessでいうところのテキスト型に決めうちされ、よってフィールドサイズは最大で255ということにされてしまうのでしょうか?
同僚によると、ドライバの仕様だからどうしようもないとのことなのですが。
なんとかならないものでしょうか?
0254デフォルトの名無しさん
2006/12/21(木) 19:27:23http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/management/ThreadMXBean.html
これは使えないかな?
俺はよく分からないから「CPU時間」とか「CPU time」とかで検索してみて。
0255デフォルトの名無しさん
2006/12/21(木) 19:42:48知られないようにするいい方法はありますか?
簡単な暗号化をかけても、jarファイルを配布するわけだから、
javaコードを逆コンパイルされたら暗号化ルーチンがばれて駄目だと思うんですが
0256デフォルトの名無しさん
2006/12/21(木) 19:45:110257デフォルトの名無しさん
2006/12/21(木) 20:06:05公開鍵方式だろうが、アプリケーションが秘密鍵を持つんだから同じ事。
が、パスワードを知られない方法はパスワードを空にすることです。
無いものは知られようがない。
DBを守るための三層構造だったりするんだけどな。
0258デフォルトの名無しさん
2006/12/21(木) 20:28:450260デフォルトの名無しさん
2006/12/21(木) 23:27:56落ちてくる基底物体クラス、それを拡張した各物体
画面クラス、キーアダ・・・あぁー面倒になった。
0261デフォルトの名無しさん
2006/12/21(木) 23:40:170262デフォルトの名無しさん
2006/12/22(金) 01:02:11いい方法は私が知っている限りないけど、>>257が云っているように三層構造にするのが無難。
要するにクライアントから直接DBアクセスせずに、WebServiceなどを経由して、DBにアクセスする。
こうするとDBにクライアントがアクセスすることはないからパスワードを保存する必要がない。
クライアント<->WebService<->DataAccessComponents<->DBって感じ。
あと注意点としてできればパスワードなどは、String 型のオブジェクトに格納せずにChar型の配列に格納してください。
上記の注意点については、Java 暗号化拡張機能(JCE)の「パスワードベース暗号化の使用」欄に書いてありますが。
0263デフォルトの名無しさん
2006/12/22(金) 09:37:03最終的にはメモリ覗けば分かるんだし、
ある程度のレベルで隠蔽できてれば良いと思う。
それで文句言ってくるようなら、プロンプト出すから勝手に入れろ、で。
0264デフォルトの名無しさん
2006/12/22(金) 10:03:48j2sdk-1_4_2_12-windows-i586-p.exe をダウンロードしたいのですが
見当たりません。
どなたかご存知であればお教え願います。
iアプリの開発にはこのバージョンでないとダメみたいなんです。
0265デフォルトの名無しさん
2006/12/22(金) 10:11:371.4.2系の最新版(1.4.2_13) じゃなくて 1.4.2_12 なんか?
http://java.sun.com/products/archive/j2se/1.4.2_12/index.html
0266デフォルトの名無しさん
2006/12/22(金) 10:11:470267デフォルトの名無しさん
2006/12/22(金) 10:16:34とりあえずこれで乗り切れるとは思うので試してみます。
もし知ってる方が居られましたら、引き続き宜しくお願いします。
0268デフォルトの名無しさん
2006/12/22(金) 10:17:49レスありがとうございます。
1.4.2_13のほうが間違いなく大丈夫そうですね!
ありがとうございます!
0269デフォルトの名無しさん
2006/12/22(金) 11:04:03のようなメーラーを作ったんですが、
503 Need MAIL command エラーが出ます
何が悪いんでしょうか?
なお、SMTPとアドレスは適当になってますが、実際は正しい(と思われる)のを入れてコンパイルしてます。
(もしかして、SMTPサーバアドレスが違う際に出るエラー?)
どんなRuntimeExceptionがキャッチされずに無視されてるか知りたいんですが、個々のイベントリスナーにそれぞれcatch節を書かずに、一括してRuntimeExceptionをcatchできる方法はありませんか?
0271デフォルトの名無しさん
2006/12/22(金) 16:03:081.5 以降なら Thread#setUncaughtExceptionHandler() やら
Thread#setDefaultUncaughtExceptionHandler() やらでハンドラをセットするとか
それより前なら ThreadGroup#uncaughtException をオーバーライドしてEDSを登録するとかしてみれば
キャッチできるかもしんない。試してないからわからんけど。
0272デフォルトの名無しさん
2006/12/22(金) 19:51:34仕様書からソースを自動生成、っつーのは結構好みだし、Apache commons CSVがまだsandboxだから、漬かってみるのも面白いかも、と思っているのだが、使ったことある人、いる?
http://hp.vector.co.jp/authors/VA027994/blanco/blanco.ja.html
0273223
2006/12/22(金) 20:47:33でc1にチャックが入っているかどうかを取得するメソッドってなんですか?
0274デフォルトの名無しさん
2006/12/22(金) 21:16:46美人のお姉さんのチャックの世話なら嬉しいがね
ttp://java.sun.com/j2se/1.3/ja/docs/ja/api/java/awt/Checkbox.html#getState()
0275デフォルトの名無しさん
2006/12/23(土) 04:34:54というのも、あるBeanからfor文を使って簡単にデータ連結させたいのです。
例えば↓のようなBeanがあったとして、�@の方法ではなく、�Aのような方法で
Beanを操作したいのです。
class HogeBean implements Serializable
String col1;
String col2;
String col3;
・
・
�@
s = HogeBeanInstance.getCol1 + HogeBeanInstance.getCol2 ・・・
�A
for( Object property: HogeBeanInstance.getProperties )
s += property.toString()
0276デフォルトの名無しさん
2006/12/23(土) 05:03:28つ Introspector & BeanInfo
0277デフォルトの名無しさん
2006/12/23(土) 05:10:07どうもありがとうございます。試してみました。
で、たしかに一回目のやつはUncaughtExceptionHandlerでcatchできるけど、しかしそれでもSwingのイベントスレッドは死んでしまって、
あらたなスレッドが生成されてそれが処理に当たるみたいなので、何回もUncaughtExceptionHandlerをセットしなくてはいけないみたいです。難しい。
0279デフォルトの名無しさん
2006/12/23(土) 10:39:17さすがアホjaverの作る物は低品質だな
0280デフォルトの名無しさん
2006/12/23(土) 10:39:540281デフォルトの名無しさん
2006/12/23(土) 10:56:31おすすめクラスライブラリってありますか?
jschとかみつけたのですが、ドキュメントが無いみたいorz
Ganymedってのも見つけました。
できれば日本語でわかるのがいいんです。
0282デフォルトの名無しさん
2006/12/23(土) 10:59:11こんなゴミよく納品できたな。
0283デフォルトの名無しさん
2006/12/23(土) 10:59:50Javerなんて言葉始めて聞いたよ。
0284デフォルトの名無しさん
2006/12/23(土) 11:01:370285デフォルトの名無しさん
2006/12/23(土) 11:02:32改善して欲しいならビッグカメラのサポート窓口とかに苦情書いた方が良いんじゃね?
0286デフォルトの名無しさん
2006/12/23(土) 11:47:240287デフォルトの名無しさん
2006/12/23(土) 12:06:51Javaでライブラリ漁りたいなら、英語は必須。
jschはexapmlesにサンプルがあるので、それとJavadocを読みながら使い方調べるしかない。
0288デフォルトの名無しさん
2006/12/23(土) 14:40:480289デフォルトの名無しさん
2006/12/23(土) 15:08:29する。ってか、自分でオリジナルを編み出すより楽だし、
デザパタを知っている他の人にもわかりやすくなるし。
0290デフォルトの名無しさん
2006/12/23(土) 15:50:000291デフォルトの名無しさん
2006/12/23(土) 16:29:470292デフォルトの名無しさん
2006/12/23(土) 17:36:58脱線するけど、何が適当なんだろう。
Javian? Javist? Javan?
0293デフォルトの名無しさん
2006/12/23(土) 18:09:100294デフォルトの名無しさん
2006/12/23(土) 18:20:300295デフォルトの名無しさん
2006/12/23(土) 18:24:46ソースにコメントがないのでjavadocはどうなのかわかりませんが、
もう少し調べてみます。
日本語はほとんどあきらめてます。
(もしかしたらと思って聞いてみました)
0296名無しさん@恐縮です
2006/12/23(土) 19:20:32ファイル名はManで、
ピーっという音と文字化けのようなものが表示され、
コンパイルできません。
原因はなんでしょうか??お願いいたします。
class Air{
public void takeoff(){
System.out.println("fly ");
}
}
class Con extends Air{
public void takeoff(){
System.out.println("It files fast ");
}
}
class Man{
public static void main(String args[]){
Air flyer[]={new Air(),new Con()};
for(int i=0; i<flyer.length;i++){
flyer[i].takeoff();
}
}
}
正常にコンパイルされると出力結果は、
fly It files fast になるそうです。
0297デフォルトの名無しさん
2006/12/23(土) 19:38:58ttp://beefway.hp.infoseek.co.jp/prog/filename.html
ttp://www2.biglobe.ne.jp/~sota/ffftp-qa/qa-37.html
0298名無しさん@恐縮です
2006/12/23(土) 19:45:38おそらく、プログラミングのミスではないかと思っているのですが、
どうでしょうか??
0299デフォルトの名無しさん
2006/12/23(土) 19:50:08そういわず>>297を確認して欲しい。メンドイとかそういうのは抜きに。
0300名無しさん@恐縮です
2006/12/23(土) 20:00:440301デフォルトの名無しさん
2006/12/23(土) 20:10:32ファイル名は
Man?
Man.java?
ま、まさかそんな・・・
0302名無しさん@恐縮です
2006/12/23(土) 20:12:510303名無しさん@恐縮です
2006/12/23(土) 20:14:30で、java Man
0304デフォルトの名無しさん
2006/12/23(土) 20:30:110305デフォルトの名無しさん
2006/12/23(土) 20:31:080306名無しさん@恐縮です
2006/12/23(土) 20:42:540307デフォルトの名無しさん
2006/12/23(土) 20:51:060308名無しさん@恐縮です
2006/12/23(土) 20:56:290309名無しさん@恐縮です
2006/12/23(土) 21:00:190310デフォルトの名無しさん
2006/12/23(土) 21:04:480311デフォルトの名無しさん
2006/12/23(土) 21:37:11この.javaから生まれたものである。」
ということを確認するにはどうすればよいですか?
最新版のjarと、最新版のソースの在りかは
プログラマから聞いていたのですが、
念のため、バージョンの整合を確認したいのです。
そのプログラマは、20日に死にました。
当方、java初心者というか、プログラマですらないので、
わかりません。よろしくお願いします。
0312デフォルトの名無しさん
2006/12/23(土) 21:38:39Man.java のコンパイルが成功したら
Air.class Con.class Man.class
の3つのファイルが作成される
これをふまえて>>297をよく読む
0313デフォルトの名無しさん
2006/12/23(土) 21:41:040314デフォルトの名無しさん
2006/12/23(土) 21:41:30人殺しに教える知識はない。
0315デフォルトの名無しさん
2006/12/23(土) 21:51:090316デフォルトの名無しさん
2006/12/23(土) 21:56:290317311
2006/12/23(土) 22:07:37知らないなら、出て来るな!
プログラマ名人なら、これぐらい簡単ですよね。たぶん。
お願いします。
0318デフォルトの名無しさん
2006/12/23(土) 22:09:570319デフォルトの名無しさん
2006/12/23(土) 22:13:09コンパイルしてdiff
0320デフォルトの名無しさん
2006/12/23(土) 22:13:43classから逆コンパイルする方法はあるけど完全に元に戻るわけではない。
もう一度コンパイルしてclassを比較してみたらどうだ?
0321デフォルトの名無しさん
2006/12/23(土) 22:16:48その人に聞けば?
0322デフォルトの名無しさん
2006/12/23(土) 22:20:170323デフォルトの名無しさん
2006/12/24(日) 00:01:520324デフォルトの名無しさん
2006/12/24(日) 00:47:010325311
2006/12/24(日) 01:12:44>>320
なるほど!!
と思い試してみました。
んで、すべて一致を確認しました。
ありがとうございます。
んで、死んだプログラマの代わりに
これから一部ソースを修正して、
月曜までに修正版リリースを作らなければなりません。
人に聞いた方法で
EclipseのBuild.xml右クリック->実行->Antだと、
修正ファイル以外までもがリビルドされてしまいました。
ヤバイ。
これから、やり方調べますが、
心優しい人が居たら、また教えてください。
ありがとうございました。
0326デフォルトの名無しさん
2006/12/24(日) 07:02:58仕事と無関係な事故/病氏ならともかく仕事関係での圧迫による鬱氏その他だとしたら・・・
>>314と同じ事を言いたくなるかも
0327デフォルトの名無しさん
2006/12/24(日) 10:20:04葬式を優先してやれよ・・・。
0328デフォルトの名無しさん
2006/12/24(日) 10:23:18理由を言うわけないし、言ったとしてもその亡くなった人を悪く言うだけだろ
進んで利用されるなんて馬鹿ばっかりなスレだな
0329デフォルトの名無しさん
2006/12/24(日) 10:59:25お前ら頑張れよw
0330デフォルトの名無しさん
2006/12/24(日) 12:37:24いいですか?
swingアプリなので出るとダサイ
0331デフォルトの名無しさん
2006/12/24(日) 12:40:33javaw.exe
0333デフォルトの名無しさん
2006/12/24(日) 13:23:09オラクルに謝れ!
0334デフォルトの名無しさん
2006/12/24(日) 13:37:53jarはまだヒープサイズとか埋め込めない仕様なの?
0335デフォルトの名無しさん
2006/12/24(日) 14:15:130336デフォルトの名無しさん
2006/12/24(日) 14:18:550337デフォルトの名無しさん
2006/12/24(日) 16:13:020338デフォルトの名無しさん
2006/12/24(日) 16:15:37ドカタになれるよ。
0339デフォルトの名無しさん
2006/12/24(日) 16:20:46jettyとかは更に爆速になってたりするの?
0340デフォルトの名無しさん
2006/12/24(日) 17:16:04数年前は猫もしゃくしもJavaだった。
もち募集されてたのは「勉強しました」程度じゃなく
「Javaによるシステム開発Prjいくつこなして経験何年です」の経験者だが
今はどうなの>all
ま、触っとく事自体が損、って事はないんじゃない?
0341デフォルトの名無しさん
2006/12/24(日) 18:37:10仕事は選べるし、まだ食る。
0342デフォルトの名無しさん
2006/12/24(日) 18:42:09thx
0343デフォルトの名無しさん
2006/12/24(日) 23:54:05応用をやっているのだが、難しいというより、
いらないなと思うところが多いのだが、
セキュリティー、国際化、AWTの高度な機能はいらないと思う。
後javabeansも使ってないので....
どう思いますか?
仕事で使わないのだが....
まあ、一通り読んだけど
0344デフォルトの名無しさん
2006/12/25(月) 00:23:42実際現場で必要にならない部分までいる/いらないは判断できないかと・・・
とりあえず勉強だけしといて、実際現場でお客様から要望されたら、「あ、それ一応やってます」
って言える程度でいいんじゃない?
実際Javaとかは拡張しすぎて「いらないんじゃない?」と思う部分も多々あるとは思います。
0345デフォルトの名無しさん
2006/12/25(月) 00:25:100346デフォルトの名無しさん
2006/12/25(月) 00:54:05必要になった時に覚えればいいと思うので、
そういうのがあるんだなぁぐらいでいいのでは?
と言ってみるテスト
0347デフォルトの名無しさん
2006/12/25(月) 15:04:31JOptionPane を表示するといかんともしがたい状態になるのですが
(私の環境ではsetFullScreenWindowで指定した画面上に
JOptionPaneのボタンの部分のみ描画されている状態になる)
この現象は人によって異なるのでしょうか。
0348347
2006/12/25(月) 16:20:57フルスクリーンにセットするパラメータをJFrameからJWindowに変更したら表示されました。
0349デフォルトの名無しさん
2006/12/25(月) 20:49:21class Oya{
int d=10;
void print(){
System.out.println(d);
}
}
class Kodomo estends Oya{
int d=100;
void print(){
System.out.println(d);
}
}
class Test{
public static void main(String[] args){
Oya oya = new Kodomo();
System.out.println(oya.d);
}
}
と定義して、Testを実行すると"10"が表示されます。
またTestクラスを変更し、
class Test{
public static void main(String[] args){
Oya oya = new Kodomo();
oya.print();
}
}
とした場合は"100"が表示されます。
なぜこのような違いが出るのかを、誰か説明していただけません
でしょうか?
0350デフォルトの名無しさん
2006/12/25(月) 21:13:410351デフォルトの名無しさん
2006/12/25(月) 21:21:040352デフォルトの名無しさん
2006/12/25(月) 22:23:42変数はオーバライドできない。
スーパクラスとサブクラスに同名の変数があった場合、サブクラスのインスタンスには両方の変数が存在する。
そのクラスなら、Kodomo型のオブジェクトには、OyaのdとKodomoのdが両方存在している。
変数の参照は、オーバライドがないので変数の型に従う。つまり、
Oya型の変数 oyaに対して oya.d としたら、Oyaクラスのdを指し、
Kodomo型の変数kodomoを定義して、kodomo.dとしたら、それはKodomoクラスのdを指す。
メソッドの中で変数を参照する場合、自身のクラスで定義された変数を最初に参照する。
だから、Kodomo#print()ではKodomoクラスのdを参照するし、
Oya#print()ではKodomoクラスのdを参照する。
なお、Kodomoクラスのメソッドでも、super.dとすれば、Oyaクラスで定義されたdを参照できる。
0353352
2006/12/25(月) 22:25:19誤:Oya#print()ではKodomoクラスのdを参照する。
正:Oya#print()ではOyaクラスのdを参照する。
0354349
2006/12/25(月) 23:39:48ありがとうございました。
整理して考えてみます。
0355デフォルトの名無しさん
2006/12/26(火) 10:57:170356デフォルトの名無しさん
2006/12/26(火) 11:11:44http://journal.mycom.co.jp/articles/2006/08/25/jpedal/
JPedalはまさに欲しかったモノなのだが、日本語に対応していないのと、ライセンスが(Lがついてない)GPLなのがネック。
無制限配布OK、もしくは数千円程度でクライアントライセンスが購入できれば有償でもいいので、他に選択肢を御存知の方はいらっしゃいますか?
一応、「Java COM bridgeを使えばOK」という製品は見つけたが、これは正直使いたくない。
バッチで呼び出せればPDFから画像に変換して表示、というのも選択肢の一つだと思うが、この点も併せどなたか情報をお持ちの方がいらっしゃれば、御助言を頂ければ幸いです。
以上、よろしくお願いします。
0357デフォルトの名無しさん
2006/12/26(火) 11:59:43下記いずれもイベント拾えず・・・。
JWindow.addKeyListener(this);
JWindow.getContentPane().addKeyListener(this);
Component[] com = JWindow.getComponents();
for (int i = 0; i < com.length; i++) {
com[i].addKeyListener(this);
}
JWindow.getRootPane().addKeyListener(this);
JWindow.createRootPane().addKeyListener(this);
0358デフォルトの名無しさん
2006/12/26(火) 12:13:51JPedalの有償版、配布無制限のOEMライセンスだと $USD 7,500もするんだね。
商用品だとそんなもんか。
0359デフォルトの名無しさん
2006/12/26(火) 12:17:15なんかフォーカスをとってくるメソッドなかったっけ
でもInputMap使った方がいいんじゃね
0360デフォルトの名無しさん
2006/12/26(火) 15:07:52String型の変数にClassそのものの名前が入っています
それを実行させる方法はありますか?
以上、よろしくお願いします。
0361デフォルトの名無しさん
2006/12/26(火) 15:30:22リフレクション(reflection)てやつを使う。
「java リフレクション」で探せば
いくらでもサンプルソースが転がってる。
0362デフォルトの名無しさん
2006/12/26(火) 15:35:34リフレクションなぞつかわなくとも、
AnyType foo = (AnyType) Class.forName("クラス名").newInstance();
でいいじゃないか。
0363デフォルトの名無しさん
2006/12/26(火) 15:38:14でも、リフレクション使わないと型が分からないから、「実行」させることは出来ないのでは?
0364デフォルトの名無しさん
2006/12/26(火) 15:50:43なるほど。言われてみればその通りだ。
できるのはインスタンス化までか。
0365デフォルトの名無しさん
2006/12/26(火) 16:34:05回答ありがとうございます。
inputMap&AcionMapで実現できました。
0366デフォルトの名無しさん
2006/12/26(火) 18:36:56ん?これもリフレクションじゃないの?
>>363
instance of で調べてキャストすればいいのでは?
0367デフォルトの名無しさん
2006/12/26(火) 19:41:10メソッド・プロパティを探しはじめたらリフレクションらしい。
instance of では未知のクラスの未知のメソッドは呼べないと思われ。
0368デフォルトの名無しさん
2006/12/26(火) 19:55:17java.lang.reflect のAPIを使って無くてもリフレクションと呼べるの?
0369デフォルトの名無しさん
2006/12/26(火) 19:57:56呼ぶ。java.io やら java.nio 使って無くても入出力すりゃIOだし。
0370ぴゅあ
2006/12/26(火) 20:19:300371デフォルトの名無しさん
2006/12/26(火) 20:21:460372デフォルトの名無しさん
2006/12/26(火) 20:43:29ここのパフォーマンスの拡張読むと、Class.newInstance も
リフレクションの一部ってことになるのかな。
一般的にはどうなんだろう。
名前からインスタンス作成するだけだと
語感(はねかえす)にそぐわない気もしなくも無い。
0373デフォルトの名無しさん
2006/12/26(火) 23:16:050374デフォルトの名無しさん
2006/12/26(火) 23:18:390375デフォルトの名無しさん
2006/12/27(水) 00:07:010376デフォルトの名無しさん
2006/12/27(水) 15:17:09readLine()で読み込んだ文字列をsplit()で分割したいのですが、
配列の先頭に何も格納されません。[1]以降にはきちんと格納されています。
具体的にはsplit(" +")で1個以上の空白で分割したいのですが…
どなたかよろしくお願いいたします。
0377デフォルトの名無しさん
2006/12/27(水) 15:33:23public static void main(final String[] args) {
for (String s : "1 2 3 5".split(" +")){
System.out.println(s);
}
}
↑こうしてみたら、↓こうなったがね。
1
2
3
5
これじゃだめ?
0378360
2006/12/27(水) 15:40:24リフレクションで調べて自分なりに書いてみました
さらに質問になり申し訳ないのですが
実行時、メソッドに与える引数を呼び出し元自身にしたく
色々なのサイト見たのですが、どこもStringやIntegerのものしかなく
以下のようにしてみましたが
import java.lang.reflect.Method;
---------------------------------------------------
Object[] param = {this};
Class c = Class.forName("HogeHoge");
Class[] paramType = new Class[param.length];
for (int i = 0; i < param.length; i++) {
paramType[i] = param[i].getClass();
}
Method method = c.getMethod("HogeRun", paramType);
param[0] = this;
return method.invoke(c, param);
結果は
java.lang.IllegalArgumentException: object is not an instance of declaring class
で手詰まりです
どなたかよろしくお願いします il||li _| ̄|○ il||li
0379デフォルトの名無しさん
2006/12/27(水) 15:44:29split("\\s+")でどう?
0380360
2006/12/27(水) 16:05:54これ間違えです
いりません il||li _| ̄|○ il||li
0381ぴゅあ
2006/12/27(水) 16:44:51というメッセージでググってみるとか
0382デフォルトの名無しさん
2006/12/27(水) 16:55:32どうせソースとスタックトレース晒すなら行の情報までだせば良いのに。
HogeRun がクラスメソッドじゃないのに、
Method#invoke の第一引数に Class のインスタンス渡してるのが原因じゃないかね?
インスタンスメソッドの場合、第一引数には HogeHogeクラスのインスタンスを与えないと失敗する。
0383デフォルトの名無しさん
2006/12/27(水) 16:56:03次からはどの行で出たエラーか明記した方が反応が早くなるよ。
method.invoke() で出たと仮定すると、
呼び出したいメソッドがインスタンスメソッド(非static method)なのにも関わらず、
invoke の第一引数に Class オブジェクトを渡したせいだと思う。
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object[])
ここの IllegalArgumentException の項を読むとよろしげ。
上記であてはまらないようなら、もう少し詳しい説明
(呼び出したいメソッドのパラメータ型とか)がないと分からない。
0384376
2006/12/27(水) 17:27:57ありがとうございます。
どうやら文字列の先頭に空白があると駄目なようです。
trim()を使うことにより解決することができました。ありがとうございました。
0385デフォルトの名無しさん
2006/12/28(木) 02:05:47VMが実行毎にバイトコードをコンパイルしているのを、
最初の実行でコンパイルしてどこかに保存しし
次からそれを使う方が速度が上がるし効率的だと思うのですが
そうしないのはどうしてですか?
0386デフォルトの名無しさん
2006/12/28(木) 08:17:47バイトコード検査できなくなるからじゃないかな。
バイトコード検査後にネイティブに変換したものをファイルに保存したとして、
そのファイルが後で不正な修正を受けていないという保証は得られないし。
0387デフォルトの名無しさん
2006/12/28(木) 12:49:39あと確か6.0からこの機能が実装されるとか聞いた記憶があるんだが、先送りになったんだっけ?
0388デフォルトの名無しさん
2006/12/28(木) 12:56:20いや、6.0 で有名なのは VM 共有だから、>>385 が言ってるのとは違うと思うけど。
>>385 が言ってるようなのは IBM の VM が実装してるとか聞いた。5、6年前に。
他の VM で採用されてないなら、実は大して速くならない、とか理由があるんじゃね?
0389デフォルトの名無しさん
2006/12/28(木) 13:11:330390デフォルトの名無しさん
2006/12/28(木) 13:48:41昨今のビデオ周りみたいに。
0391デフォルトの名無しさん
2006/12/28(木) 14:01:56Javaをダウンロードしてインストールしたのですが
Pathの設定でC:\Program Files\Java\j2re1.4.2_13\bin
としてコマンドプロンプトでjavacと打ち込んでも認識されません
環境設定は正確に打ち込んだと思うのですが、何度やってもだめでした
プログラムを語る以前の問題かもしれませんが・・・
うまくいかない原因何か考えられるでしょうか?
0392デフォルトの名無しさん
2006/12/28(木) 14:05:050393ぴゅあ
2006/12/28(木) 14:06:270394デフォルトの名無しさん
2006/12/28(木) 14:32:58とりあえず>>1の中段をよく読む
ディレクトリの名前もよく見る
0395デフォルトの名無しさん
2006/12/28(木) 14:36:17Updateされるたびに前にUpdateされた6や7がプログラムに残っているのですが
最新のUpdateバージョンだけ残して残りの古いものはアンインストールしても
よろしいのでしょうか?
0396391
2006/12/28(木) 14:53:24>>394
ありがとうございます。
なんか、落とすの間違えてたみたいです、sdkというのをダウンロードしていませんでした。
ダウンロードサイト英語ばかりでよくわからなかったです・・・
sdkインストールしてPath設定したら、うまく認識できました。
先は長そうですが...がんばってJavaマスターします。
0397デフォルトの名無しさん
2006/12/28(木) 14:55:12消しちゃってOk。
というかその辺不便だよな。自動アップデートついたのはいいけど、
旧バージョン残したままなんてディスクの無駄だ。
それに、VMに穴がある場合残したままだとよくない。
せめて、設定で旧バージョンは自動で消えるように選択できればいいのに。
0398395
2006/12/28(木) 15:10:11返答ありがとうございます。
なるほど、旧バージョンは残ってしまう形になっていたのですか。
今からアンインストールしようと思います。
TreeSelectionListenerのvalueChangedで知りたいんですけど、どうすればいいのですか?
0400デフォルトの名無しさん
2006/12/28(木) 17:40:55KeyListenerも継承したJTreeを実装する
0401デフォルトの名無しさん
2006/12/28(木) 18:09:07KeyListenerも継承したJTreeを実装する
0402デフォルトの名無しさん
2006/12/28(木) 18:36:54お答えどうも有り難うございます。
KeyListenerのKeyPressedの中でAltが押されたかを調べてflagを立てて、
SelectionListerのvalueChangedの中でそれを調べれば確かに分かります。
でもその場合、別のコンポーネントにフォーカスがあって、その後にALTを押しながらJTreeのノードをクリックした場合にvalueChangedの中でAltの検知に失敗してしまいます。
MouseEventだとAltが押されてるかわかるので、それを利用できないか考えてみます。
しかしTreeSelectionEventのほうがMouseEvenより先に発生してるんですよね。JTreeの場合。
0403デフォルトの名無しさん
2006/12/28(木) 19:47:44getInputMap()
0404デフォルトの名無しさん
2006/12/28(木) 20:32:01PDFファイルからテキストのみを抽出したいのですが
iTextで可能でしょうか?
PDFBoxを使ってみたのですが不要な半角スペースが
入ってしまいうまくできませんでした。
WebでiTextを調べるとPDF生成ばかりでテキスト抽出
の方法が分かりませんでした。
教えてください。よろしくお願いいたします。
0405デフォルトの名無しさん
2006/12/28(木) 21:20:13ボタンをクリックして任意に復帰させたいのですが、
notify()メソッドでは使だめなのでしょうか?
調べてみたのですが良くわからなかったので、
スレッドの復帰のさせ方をどなたか教えて下さい。
0406デフォルトの名無しさん
2006/12/28(木) 21:34:05しかもnotifyなんか全然関係ないし、何がしたいのか。
0407デフォルトの名無しさん
2006/12/28(木) 21:36:25何を言っているのかわからん
0408405
2006/12/28(木) 21:58:19スレッドのON/OFFができる。
上記のような処理を実現したいのです。
0409デフォルトの名無しさん
2006/12/28(木) 22:12:53ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/misc/threadPrimitiveDeprecation.html
0411デフォルトの名無しさん
2006/12/29(金) 08:01:550412デフォルトの名無しさん
2006/12/29(金) 09:55:25BigDecimalとかかなり面倒だし。
0413デフォルトの名無しさん
2006/12/29(金) 13:23:180414デフォルトの名無しさん
2006/12/29(金) 16:49:480415デフォルトの名無しさん
2006/12/29(金) 23:02:44独自定義は糞設計防止のためにさせないほうがいいと思うけど、interface制約とかで出来てもいい。
0416デフォルトの名無しさん
2006/12/30(土) 04:44:31はてな、ウィキペディアを見ましたが分かりませんでした。
0417デフォルトの名無しさん
2006/12/30(土) 04:46:12EE:サーバ用
SE:パソコン用
ME:携帯用
0418デフォルトの名無しさん
2006/12/30(土) 10:16:14SE : 単体アプリ(バッチ〜GUIアプリ)
0419デフォルトの名無しさん
2006/12/30(土) 18:55:250420デフォルトの名無しさん
2006/12/30(土) 19:55:48MathContextの問題があるしな。
うまく遺憾と思う
setDefaultCloseOperationで設定した動作をするようにしたいんです。
0422デフォルトの名無しさん
2006/12/30(土) 20:36:54どのような連携を望んでいるのかよく分かりませんが
サーブレットからJSPにパラメータを埋め込んでappletにパラメータを渡すという事でしょうか。
>>421
processWindowEvent(WindowEvent e)で如何でしょうか。
0423デフォルトの名無しさん
2006/12/30(土) 20:47:52appletからservletへのパラメタを渡す、あるいはその逆、
sessionを使用した処理などです。
そういうふうに自分でイベント発生できるとは知りませんでした。
望みどうりできました。どうもありがとうございました。
0425デフォルトの名無しさん
2006/12/30(土) 20:59:58HTTPの枠組みでできること、以上の機能は、標準にはない。
javax.servlet.*に依存する機能をアプレット側でも使いたいなら、
自分で作り込む必要がある。
0426デフォルトの名無しさん
2006/12/30(土) 21:21:58ソケット通信や
WEB上のファイル(servletのコントロール下にある)を介在してやりとりするというのは如何でしょうか。
0427デフォルトの名無しさん
2006/12/30(土) 21:49:57それじゃ>>423の言うSessionは利用できないだろう。
「ボタン」が押されると JPopupMenu が表示されます。「ボタン」が JMenuBar 上にあれば、そのメニューはトップレベルウィンドウです。
「ボタン」が別のメニュー項目であれば JPopupMenu は「プルライト」メニューです。
とJavaDocに書いてあるんですけど、右クリックしたときに表示されるポップアップメニュー用にのJPopupMenuのインスタンスを、メインメニューのJMenuにも割り当てて共有することはできるのですか?
0429デフォルトの名無しさん
2006/12/30(土) 22:34:08メニューというのは実質的には JPopupMenu が割り当てられたボタンのことです。
「ボタン」が押されると JPopupMenu が表示されます。「ボタン」が JMenuBar 上にあれば、そのメニューはトップレベルウィンドウです。
「ボタン」が別のメニュー項目であれば JPopupMenu は「プルライト」メニューです。
とJavaDocに書いてあるんですけど、右クリックしたときに表示されるポップアップメニュー用のJPopupMenuのインスタンスを、メインメニューのJMenuにも割り当てて共有することはできるのですか?
つまり
JPopupMenu popup = new JPopupMenu();
popup.add(new JMenuItem("copy");
...
..
setComponentPopupMenu(popup);
JMenu menu = new JMenu("edit");
menu.add(popup)
という感じでJPopupMenuをJMenuに直接割り当てて共有したいんです。でもJMenuにはJPopupMenuをaddできないみたいなんです。
0430デフォルトの名無しさん
2006/12/31(日) 09:24:03アプレットでセッション使う方法なんてそもそもあるの?
0431デフォルトの名無しさん
2006/12/31(日) 19:16:38これでOK
0432デフォルトの名無しさん
2006/12/31(日) 19:19:03セッションってかCookieだよな
0433デフォルトの名無しさん
2006/12/31(日) 19:38:59そもそも何に使用するの?
appletとservletの連携だろ?javaapplicationとしてのappletとservletとの
連携の話だろ?だったら>>431でいいじゃん。
0434デフォルトの名無しさん
2006/12/31(日) 19:48:510435デフォルトの名無しさん
2006/12/31(日) 22:26:420436デフォルトの名無しさん
2006/12/31(日) 22:37:430437デフォルトの名無しさん
2007/01/01(月) 08:01:08コンテキストスイッチ→タスク切り替え
実行時コンテキスト→変数やメソッドのスコープ
とかって使われる。
0438デフォルトの名無しさん
2007/01/01(月) 11:09:09重くて重くてorz
0439デフォルトの名無しさん
2007/01/01(月) 11:23:17いまJavaで何か作ったらclassファイルが作成されてさらにそっからJavacコマンドで動かしてるけど
javac使わずに普通のEXEファイルみたいに使用することは不可能なんですかね?
ie上で動かすアプレットならいけるとは思うのですが。単独で動かすことは不可能なんですかね?
0440デフォルトの名無しさん
2007/01/01(月) 11:28:58jar + Launch4j
0441デフォルトの名無しさん
2007/01/01(月) 16:37:39プロファイラでどこがボトルネックか調査した?
0442JAVAはじめました
2007/01/01(月) 18:04:15本当に初心者なのであんまり難しく言われるとわからないのですが、
「はじめてのJAVAプログラミング(SHUWA。SYSTEM)」という本を買ってみました。
本の通りにやっているのですが、はじめのソースコードがコンパイルできません(涙)。
いろいろ設定を変えてみてもいつも「’javac‘はコマンドとして認識されていません」と出てきてしまいます。
本に付属していた「Java2SDK、 Standard Edition1.4.0」をインストールしたのですが…
エラーメッセージから考えるとjavacのコマンドが認識されていない(そのままなんですけどね;ω;)って事なんですよね?
PCが壊れてるのかな〜?どなたか解決の糸口を教えてください。
0443デフォルトの名無しさん
2007/01/01(月) 18:05:48環境変数、パスの設定をしなさい
――終――
0444デフォルトの名無しさん
2007/01/01(月) 18:06:52>>1を読むことだ。
0445デフォルトの名無しさん
2007/01/01(月) 18:10:48ttp://download.java.net/download/jdk7/binaries/jdk-7-ea-bin-b04-windows-i586-14_dec_2006.exe
0446435
2007/01/01(月) 18:24:14レスありがとうございます。
実行環境一式というと、例えばグラフィックコンテキストだったら
・描画領域
・色
・フォント
などの情報を指すのでしょうか?
0447デフォルトの名無しさん
2007/01/01(月) 18:25:181以外のキーが押されたときにy=1;をしたいのですが
どうやって書けばいいのでしょうか?
if(KeyPressed){
if(key=='1'){
x=1;
}
if
の後を教えてください
0448デフォルトの名無しさん
2007/01/01(月) 18:29:16y=1;
}
}
0449デフォルトの名無しさん
2007/01/01(月) 18:30:31if(KeyPressed){
if(key=='1'){
x=1;
}
else{
y=1;
}
}
0450447
2007/01/01(月) 19:35:29に反応してるっぽいのですが・・・・
0451デフォルトの名無しさん
2007/01/01(月) 20:02:39if(key=='2'||key=='3'||key=='4')
って感じで想定してるキーを全部書けば?
0452デフォルトの名無しさん
2007/01/01(月) 20:16:490454デフォルトの名無しさん
2007/01/01(月) 20:49:00keyPressedとkeyTypedの違い分かってる?
0455447
2007/01/01(月) 21:25:53調べてきます
0456447
2007/01/01(月) 21:53:48keyTypedって何ですか?
0457JAVAはじめました
2007/01/01(月) 22:16:08分かりました…pathのc:¥がc;¥だったです(苦笑)。コンパイル→実行できました。
0458デフォルトの名無しさん
2007/01/01(月) 22:19:16http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/event/KeyEvent.html
0459デフォルトの名無しさん
2007/01/01(月) 22:55:09今日友達から.jarのファイルをもらったんですけど、これはJavaのファイルですよね?
これを起動したいんですが、WinRAR入れてて中身がzipのように解凍できるだけで、
ソフトの起動の方法がわかりません。
jarファイルはどのように扱えばいいのでしょうか?
0460デフォルトの名無しさん
2007/01/01(月) 22:57:04http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/solaris/java.html
0461デフォルトの名無しさん
2007/01/01(月) 22:58:04やさしくあつかってください
0462デフォルトの名無しさん
2007/01/01(月) 23:05:11友達に扱い方を聞いた方が早いし確実。
0463デフォルトの名無しさん
2007/01/01(月) 23:16:40JRE
0464デフォルトの名無しさん
2007/01/01(月) 23:49:490466デフォルトの名無しさん
2007/01/02(火) 20:30:41戻り値の型がobject型のメソッドを呼んで、その値を受け取った際、
この値の元の型を判断し、それに変換してくれるようなメソッドはありませんか?
0467デフォルトの名無しさん
2007/01/02(火) 20:46:400468デフォルトの名無しさん
2007/01/02(火) 20:47:39キャストの代わりをするメソッドが欲しいってこと?なら言語仕様上ありえないよ。
オブジェクトの型は、getClass()で取得はできるけど。
0469デフォルトの名無しさん
2007/01/02(火) 20:59:17通常、Object型が返ると言うことは
何が入ってくるか分からない
それを何かにしたいということは
その後に行う操作が何通りかに決まっているということだろ?
なら自分でそういうベタな分岐作ればいいんじゃない?
↑のgetClassか、instanceofとかで。
0470デフォルトの名無しさん
2007/01/02(火) 22:24:56間違いを教えてください。
MbeanTest test = new MbeanTest();
ObjectName name = new ObjectName("test.MbeanTest:name=tests");
Registry registry = Registry.getRegistry(null, null);
registry.registerComponent(test, name, null);
0471466
2007/01/02(火) 22:48:50回答どうもありがとうございます。
そういうメソッドは存在しないのですね…。
勉強になりました。
今回はinstanceofが使えそうなので、そちらで試してみます。
ありがとうございました!
0472デフォルトの名無しさん
2007/01/03(水) 00:13:01ジェネリクス、リフレクション、アノテーションなんかを詳しく説明した初心者向けのおすすめ本ってありませんか?
C++くらいしか知らないんでリフレクションとアノテーションあたりにすごいわくわくするんです。
0473デフォルトの名無しさん
2007/01/03(水) 00:14:420474デフォルトの名無しさん
2007/01/03(水) 00:24:46BufferedReaderを使って文字を入力させる際に文字が入力されていなければ終了させたいのですが
while(s = br.readLine()!=null)では上手く動作してくれないので
while((s = br.readLine()).equals(null))の逆をやりたいです。
これだとnull以外が入力された場合は終了になってしまうので。
どうかよろしくお願いします。
0475デフォルトの名無しさん
2007/01/03(水) 00:32:57> while(s = br.readLine()!=null)では上手く動作してくれないので
演算子の結合順序を調べろって話じゃなくて?
> .equals()を使って比較する場合に否定演算子は使えませんか?
普通に !foo.equals(bar) すりゃいい。
けど、今回の話とは関係ないね。
0476デフォルトの名無しさん
2007/01/03(水) 00:36:45レスありがとうございます。
確か文字列は参照型として扱われるので上記の文は使えなく
.equalsを使って比較するという話を聴いたことがありまして…。
0477デフォルトの名無しさん
2007/01/03(水) 00:49:14そういうのは初心者向けじゃないから
そういうの抜きで勉強汁
そしたら、どうして導入されたのかがよく分かるはずだ
0478デフォルトの名無しさん
2007/01/03(水) 01:31:19equals 使うのは同じ内容かを比較する時で、
同じ参照値か、を比較したいなら == か != でやる。
で、null は参照値なので null との比較は == か != でやる。
0479デフォルトの名無しさん
2007/01/03(水) 01:55:100480デフォルトの名無しさん
2007/01/03(水) 02:16:56最近、JAVAよりC++の方が簡単なような気がするのですが
気のせいでしょうか?
0481デフォルトの名無しさん
2007/01/03(水) 02:17:30レスありがとうございます。
その方法ではできなかったので少し探していたらendsWith(String)という便利そうなものを発見。
本文中にif(s.endsWith(".")) break;を入れてとりあえずは解決しました。
ありがとうございます。
0482デフォルトの名無しさん
2007/01/03(水) 02:25:43> while(s = br.readLine()!=null)
while((s = br.readLine()) != null)
0483デフォルトの名無しさん
2007/01/03(水) 03:51:31創るjavaの454ページのソースを打ち込んだんですが、
76行目のところで、シンボルがなんたらというエラーがでるのですが、
これそのまま打ち込めばできるの?
持っていて読破した方おしえてください。
よろしく。
ほかのスレにも書いてしまいました。
すいません。
なんか気になって眠れなくて。
今からなんとか寝ます。おやすみなさい
0484デフォルトの名無しさん
2007/01/03(水) 09:39:17drawImageはマスク指定できないようですし、クリップしようにもビットマップからShapeへの変換がわからず‥‥
0485デフォルトの名無しさん
2007/01/03(水) 11:45:45手打ち?ここからサンプルダウンロードできるんじゃない?
http://book.mycom.co.jp/support/bookmook/tukurujava/
0486デフォルトの名無しさん
2007/01/03(水) 12:43:320487483です
2007/01/03(水) 15:43:53サンプルはダウンロードしました。
それも試してだめだった......
やはり間違いなのかな?
0488デフォルトの名無しさん
2007/01/03(水) 16:09:48本を持っていない人でも答えられるように、ソースの該当箇所をプリーズ。
>>485からダウンロードしたサンプルのファイル名の方がよりいいけど。
0489デフォルトの名無しさん
2007/01/03(水) 16:12:45実行環境によるけど、png とかで半透明情報つけておいて、
そのまま drawImage すりゃ、完全に透明なピクセルは表示されない。
0490484
2007/01/03(水) 18:09:40プログレスバー系の処理したいので、透過画像を使うと応用効かないのでできるだけ避けたいのですが。
JDKでは用意されてなくて自前でマスクから演算するしかないのかな‥‥
0491デフォルトの名無しさん
2007/01/03(水) 19:06:29java.awt.image.IndexColorModel 使ってみるとか。
既存のAPI調べたり工夫したりする知恵がないなら自力で実装しちゃう方が早いと思う。
応用きかないけど。
0493デフォルトの名無しさん
2007/01/03(水) 20:11:18基本的に無理。
マウスカーソルがアプリの領域外に出ると JNI とか使わないとイベント取れないし。
マウスカーソルがコンポーネント外に出ちゃっただけで
アプリの領域内にあるならなんとかできるかもしらんけど。
アプリ全体とか、MOUSE_PRESSED されたコンポーネント覚えておいて、
次にきた MOUSE_RELEASED を必ず覚えたコンポーネントに投げるとか
0494483です
2007/01/03(水) 20:26:06です。
guiのdatabaseフォルダーのなかに入っています。
エラーは77行目の ResultSet rs = ps.executeQuery();
の部分です。
よろしくです。
0495デフォルトの名無しさん
2007/01/03(水) 21:08:06ダウンロードしたソースだと問題なくコンパイルできたぞ。
スペースが全角になっていないか、行末に「;」がちゃんとあるか、
クラス名は正しく書いているか、importを正しく書いているか、もう一度確認してみたら?
0496デフォルトの名無しさん
2007/01/03(水) 22:24:37<jsp:getProperty name="data" property="name"/>
現状、nameが空文字だった場合、もちろん何も表示されません。
そこで、nameが空文字だった場合、"---"と表示するようにしたいのですが
JSPの中でどのようにコーディングしたらいいのでしょうか?
下記のように書いてためしたのですけど、やはりだめでした。ちょっと無茶くちゃかな。。
<% String answer = %>
<jsp:getProperty name="faqData" property="answer"/>
<% ;
if(answer.equals("")){
out.println("---");
}
%>
そもそも、スクリプトレットとJSPタグを用いて、コーディングは
できないのでしょうか。
0497483です
2007/01/03(水) 23:40:09また再度やってみます
0498デフォルトの名無しさん
2007/01/04(木) 00:48:10って出るんだけど、どうしたら直るの?
ガイシュツならごめんなさい。
0499デフォルトの名無しさん
2007/01/04(木) 00:53:34ググれ。もしくはJavaをインストールし直せ。
0500デフォルトの名無しさん
2007/01/04(木) 01:08:58バックグラウンド動作ってJavaでできるの?
0501デフォルトの名無しさん
2007/01/04(木) 01:15:550502デフォルトの名無しさん
2007/01/04(木) 01:58:36cron みたいのを言ってるなら、できない事はないけど。
素直に cron とかタスクスケジューラとか使った方が良いとは思う。
0503デフォルトの名無しさん
2007/01/04(木) 02:32:22ただのfixですか?
0504デフォルトの名無しさん
2007/01/04(木) 02:47:43http://java.sun.com/javase/ja/6/webnotes/index.html
http://java.sun.com/javase/ja/6/webnotes/features.html
0505デフォルトの名無しさん
2007/01/04(木) 03:33:38にとっては、fixくらいの意味にしかならない可能性大。
0506デフォルトの名無しさん
2007/01/04(木) 04:26:01表示されるようにしたんですが、
デフォルトだとヒント表示域が狭くて、F2を押してスクロールさせなきゃいけないんですが
このヒント表示域を広げる方法ってありますか?
0507デフォルトの名無しさん
2007/01/04(木) 04:35:05チャットサーバみたいなものをJavaで作成して、
サーバは常時起動していて、1時間間隔でサーバ管理者に
「サーバは動いてますよ」というメールを送るというような動作を想定しています。
0508デフォルトの名無しさん
2007/01/04(木) 04:43:00Mbeanのノティフィケーション使え。
0509デフォルトの名無しさん
2007/01/04(木) 04:55:48Timerクラスでは実現できないのでしょうか?
0510デフォルトの名無しさん
2007/01/04(木) 09:56:28お勧めしないのには理由がある。
・プログラムがとまってしまったら自力で復帰しなくてはいけない。
・メールを送信していない間にも負荷がかかる。
Timerでも実現は出来る。好みの問題
0511デフォルトの名無しさん
2007/01/04(木) 11:34:22OS: LINUX FedoraCora5
JRE5.0をインストールしたいのですが
SUNとJPackageのどちらを利用すべきでしょうか。
0512511
2007/01/04(木) 11:39:21すいませんでした。
0513デフォルトの名無しさん
2007/01/04(木) 13:50:56swingで作成した画面AとBがあり画面AからBを開くことができます。
このBを開くときに同時にAを閉じることはできるのですが、
Aは閉じないで(隠す)Bを閉じるときにAも閉じるという処理を行いたいのです。
人に聞いたところdestroy()を使えばできるようなことを言われたのですが
BでAに対しての処理を行う方法がわかりません。
わかりづらい文で申し訳ないのですが
知っている方がいらしたらご教授願います。
0514デフォルトの名無しさん
2007/01/04(木) 14:34:04javaのアプリが重いので、高速化したいんですが、
javaの設定で変わりますか?
adobe readerの場合、apiを削除したら起動が早くなるんですが、そんなかんじのやつ・・・。
0515デフォルトの名無しさん
2007/01/04(木) 14:43:060516デフォルトの名無しさん
2007/01/04(木) 14:43:58http://pc10.2ch.net/test/read.cgi/prog/1160918783/312n-
0517ぴゅあ
2007/01/04(木) 16:28:41Aは閉じないでBを閉じる
あたりのフレーズでググってみてはいかがでしょうか?
0519513
2007/01/04(木) 16:51:54回答ありがとうございます。
ですが重要なのは「Bを閉じるときにAも閉じる」ということなので
そのフレーズでは十分な検索結果は得られませんでした。
>>518
感謝レスの代行ありがとうございます。
ですが未だ解決していませんので
もう少し続行させていただくと助かります。
質問自体に問題があるようでしたらその旨
おっしゃっていただければ以降はあきらめますので
お願いします。
0520デフォルトの名無しさん
2007/01/04(木) 17:42:01import java.awt.event.*;
import javax.swing.*;
public class Main extends JFrame{
public static void main (String args[]){
new Main();
}
// コンストラクタ
public Main(){
省略
bt.addActionListener(new AL());
}
class AL extends ActionListener{
public void actionPerformed (ActionEvent e){
ボタンを押した時の動作
}
}
}
といったプログラムで、ボタンを押した際の動作を終えたら、また最初の画面に戻るようにしたいのですが、どのようにしたらいいものか解らないでおります。どなたかご教授頂けないでしょうか。宜しくお願い致します。
0521デフォルトの名無しさん
2007/01/04(木) 18:07:330522デフォルトの名無しさん
2007/01/04(木) 18:16:32何が分からないのかが良く分からない・・・。
「ボタンを押した時の動作」ってところに
「最初の画面に戻る」って内容を書けばいいんじゃないの?
処理はしてるのに再描画がされないって事???
0523520
2007/01/04(木) 18:19:011. 単語を覚える
2. 単語を登録する
3. 終了
というようになっておりまして、
登録してある単語が一巡したら、
また、最初の画面に戻るようにしたかったのです。
CUIですと、do 〜 while なんかで
ループさせるようにすれば戻れると思うのですが、
GUIのプログラムはどうしたらよいうのかと
困っている次第です。
0524デフォルトの名無しさん
2007/01/04(木) 18:20:58子に対して親を閉じる機能を使わせたいという事でしょうか。
インターフェースクラスやイベントリスナー等で検索すると良いかもしれません。
(親自身を子に渡し、閉じる事も出来ますが)
0525デフォルトの名無しさん
2007/01/04(木) 18:22:52不明な個所は「イベントドリブン」という事でしょうか?
0526デフォルトの名無しさん
2007/01/04(木) 18:24:21その「最初の画面に戻る」って内容を
どのように書いたらできるのか解らずにおります。
例えば、
public void actionPerformed (ActionEvent e){
new Main();
}
としてみたのですが、そうすると当然のことながら
新しいウインドウが立ち上がってしまいました。
0527デフォルトの名無しさん
2007/01/04(木) 18:26:19「初期メニュー」「単語を覚える」、「単語を登録する」それぞれをMainの子ウィンドウクラスにして切り替えればいいやん
0528デフォルトの名無しさん
2007/01/04(木) 18:27:02setVisible(false)?
こういうこと?
それとも
dispose()?
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE)
?
0529デフォルトの名無しさん
2007/01/04(木) 18:27:440530デフォルトの名無しさん
2007/01/04(木) 18:28:19「単語を覚える」画面を描画を行うメソッドを作成し
actionPerformedの中で呼んでみては如何でしょうか。
どのような画面かよく分かりませんが
JTextFieldやJLabelの初期化、repaintやvalidateTreeなど
0531デフォルトの名無しさん
2007/01/04(木) 18:32:04・今までのJFrameを殺して新しくJFrameを起動する
・JFrameの状態を遷移させる
どちらも貴方の条件を満たせそうですが実装方法は異なります。
お好きな方を選んでみては如何でしょうか。
0532デフォルトの名無しさん
2007/01/04(木) 18:37:58この意味が分からなかった俺はアホなのだろうか。
0533520
2007/01/04(木) 18:50:03ttp://pds.exblog.jp/pds/1/200701/04/93/a0094093_18444094.jpg
レベル選択
ttp://pds.exblog.jp/pds/1/200701/04/93/a0094093_1845921.jpg
単語
ttp://pds.exblog.jp/pds/1/200701/04/93/a0094093_18452250.jpg
意味
ttp://pds.exblog.jp/pds/1/200701/04/93/a0094093_18453498.jpg
説明が解りづらかったようで申し訳ありません。
このような感じになっております。
みなさまに頂いたアドバイスを参考に色々と
調べてみたいと思います。どうもありがとうございました。
また、質問させて頂く事もあるかと思いますが、
そのときはよろしくお願い致します。
0534デフォルトの名無しさん
2007/01/04(木) 19:32:50過去のJavaPressの記事 の
http://cappuccino.jp/keisuken/java/JavaSound/
の中の
MidiKeyboard.java ( MIDIキーボード・記録 )
っていのをコンパイルしたけど、
jreのバージョンによって、音が鳴ったり鳴らなかったり。
## java -version:1.5.0_07 SimpleMidiKeyboard
として起動すると、ちゃんと音が鳴るのだが、
## java -version:1.5.0_10 SimpleMidiKeyboard
だと、動作しているが、音はならない。
なんでだろ??
0535ぴゅあ
2007/01/04(木) 19:44:550536デフォルトの名無しさん
2007/01/04(木) 20:10:15バージョンUPして鳴らなくなっているのは問題だな
0537520
2007/01/04(木) 21:05:23class Test1 extends JFrame{
public static main (String args[]){
new Test2();
}
class Test2{
〜
}
}
といったようにクラスの中にクラスを書けば
新しいウィンドウが開かずに遷移させることが解ったのですが、
class Test1 extends JFrame{
public static main (String args[]){
new Test2();
}
}
class Test2 extends JFrame{
〜
}
とクラスを分けて書くと新しいウィンドウが開いてしまいます。
どうすればクラスを分けて書いたときに遷移させることができるのか
教えて頂けないでしょうか。宜しくお願い致します。
0538デフォルトの名無しさん
2007/01/04(木) 21:09:38クラスの中にクラスとかそういう問題じゃなくて
継承元のクラスの違いじゃないのか?
0539デフォルトの名無しさん
2007/01/04(木) 21:11:12Swingはよく知らんがJFrameじゃなくてJPanelを継承とか
0540デフォルトの名無しさん
2007/01/04(木) 21:30:34ファイル名HelloWorld.javaで
テキストフォルダの中身は
public class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello Java World !");
と入力し
コマンドプロンプトで
javac HelloWorld.javadeでコンパイルし、
java HelloWorld.javaと入力すると
Exception in thread "main"java.lang.NoClassDefFoundError:HelloWorld
というエラーがでてうまく行きません。
ttp://javafaq.jp/S002.html#S002-08
このサイトを見て
java -classpath . HelloWorld
と入力するとうまく行くので
CLASSPATHの設定がおかしいと思うのですが
CLASSPATHは環境変数で
.;C:\j2sdk1.6.0\lib\tools,jar と設定しており
ドットも入っている筈なので何が原因かわかりません
>>1のwikiも見たのですが
クラスパスの設定のしかたの項目の
コマンドプロンプトでset CLASSPATH=%CLASSPATH%;.とやっても改善されず
クラスパスの設定方法は?へのリンクをクリックすると
サーバーが見つからないと出て、八方塞の状態です
プロンプトの再起動もしています。OSはXPでバージョンはJDK1.6です
いったい何が間違っているのでしょうか?
0541デフォルトの名無しさん
2007/01/04(木) 21:31:32JFrameは1つにしてgetContentPaneだけ差し替えれば?
0542デフォルトの名無しさん
2007/01/04(木) 21:33:35実行ファイルはjavaではなくclassファイルという事で宜しいかな?
0543ぴゅあ
2007/01/04(木) 21:35:58windowsを再インストールしてみるとか
0544デフォルトの名無しさん
2007/01/04(木) 21:45:24j2seはよくわからないんだけど、
mainを拡張しないでい〜んだ
エントリポイントってどこになるの?
0545540
2007/01/04(木) 21:59:02そうです
>>544
すいません
C,C++ならほんの少しわかるのですがJavaは今日から勉強を始めたため何を聞かれているのかわかりません
0546デフォルトの名無しさん
2007/01/04(木) 22:04:45とりあえず「set classpath」の結果をコピペしてみ
0547デフォルトの名無しさん
2007/01/04(木) 22:05:06どうか教えてください
下に本文を書きます
ソースコードをコンパイルする
コードを作成したら、次にコンパイルという作業を行ないましょう。
この作業を行なうには、コンパイラと呼ばれるソフトウェアを使います。
コマンドプロンプトを起動して、ソースファイルを保存したディレクトリに移動してください。
そして、次のように入力します。
javac sample1.java
すると、ソースコードがバイトコードと呼ばれる形式に変換され、
sample1.classという名前のファイルが作成されます。
このファイルはクラスファイルと呼ばれます。
>ソースファイルを保存したディレクリに移動してください。
とはどういう意味ですか?
0548デフォルトの名無しさん
2007/01/04(木) 22:15:13コマンドプロンプト開いてhelp cdと打て。
それ読んでわからなかったらPC一般板かWindows板へどうぞ
0549デフォルトの名無しさん
2007/01/04(木) 22:15:34cd ソースファイルを保存したディレクリ
0550540
2007/01/04(木) 22:19:51の結果はCLASSPATH=.;C:\j2sdk1.6.0\lib\tools,jar
でした
0551デフォルトの名無しさん
2007/01/04(木) 22:20:07ディレクトリの時点でわかりません
僕にプログラムは速すぎますかね?
0552デフォルトの名無しさん
2007/01/04(木) 22:27:55FileReaderクラスを使ってテキストを1文字ずつ読み込みたいんですが、
改行を無視するにはどうすればいいんでしょうか?
0553デフォルトの名無しさん
2007/01/04(木) 22:28:09そして一歩ずつレベルアップしれ
0554デフォルトの名無しさん
2007/01/04(木) 22:30:11FileReaderクラスを使ってテキストを1文字ずつ読み込みたいんですが、
改行を無視するにはどうすればいいんでしょうか?
0555デフォルトの名無しさん
2007/01/04(木) 22:31:080556デフォルトの名無しさん
2007/01/04(木) 22:32:13あー俺もなった
原因は1.5.0_10にはsoundbank.gmがデフォルトで入っていないかららしい
ここから落として説明通りにやるか
ttp://java.sun.com/products/java-media/sound/soundbanks.html
1.5.0_07\lib\audio\soundbank.gm をディレクトリ構造そのまま
1.5.0_10\lib以下にコピペすればいけると思う
0558デフォルトの名無しさん
2007/01/04(木) 22:36:42読んだ文字が改行だったら無視したら良いんじゃないの?
0559デフォルトの名無しさん
2007/01/04(木) 22:43:13丁度話題になってた。
ttp://pc10.2ch.net/test/read.cgi/gamedev/1130373830/
0560デフォルトの名無しさん
2007/01/04(木) 23:01:30すみません、その方法がわからないんです…
0561デフォルトの名無しさん
2007/01/04(木) 23:06:33C:\j2sdk1.6.0\lib\tools.jarじゃないのか?ピリオドがカンマになってるぞ
0562デフォルトの名無しさん
2007/01/04(木) 23:08:390563デフォルトの名無しさん
2007/01/04(木) 23:46:18<!--
var image= new Array();
image[0]='000.jpg';
image[1]='001.jpg';
image[2]='002.jpg';
image[3]='003.jpg';
image[4]='004.jpg';
image[5]='005.jpg';
function randimage(){
x=Math.floor(Math.random() * image.length);
imgframe.src=image[x];
t=setTimeout('randimage()',rtime);
}
//-->
</SCRIPT>
<IMG src="000.jpg" id="imgframe">
↑ブラウザの更新するたびにランダムに画像を変更したいんですけど
上記のようにすると最初に000.jpgが表示されその次にランダムの画像に切り替わるんです。
つまり更新するたびに最初は000.jpgその次にランダムの画像という風になります。
最初にランダムの画像を出すにはどうすればいいでしょうか?
0564デフォルトの名無しさん
2007/01/04(木) 23:55:02つ >>1-2
0565デフォルトの名無しさん
2007/01/05(金) 00:01:08# imgタグの吐き出し自体をスクリプトでやればいんじゃね?
0566デフォルトの名無しさん
2007/01/05(金) 00:03:16# DOM使ってcreateElementからimg要素生成してappendChildのほうがスマートじゃね?
0567デフォルトの名無しさん
2007/01/05(金) 01:38:13ここのJava TIPSが理解できません。
ひょっとしていやがらせチップス集なんでしょうか?
0568デフォルトの名無しさん
2007/01/05(金) 02:27:28>1つの配列にして扱うと、モジュール強度が高く効率の良いメソッドになります。
俺もこれは理解できないなと思った。
何か、やってることにたいし無理矢理意味の後付しただろ、これ。
見通しや、保守性を考えたらインターフェースの項目の意味は重要だろ。
例に挙げているのは、チェックと設定の対象という意味のある固まりだろ?
Cなら構造体を使うような場面だ。
0569デフォルトの名無しさん
2007/01/05(金) 03:10:46めちゃくちゃだ。
0570デフォルトの名無しさん
2007/01/05(金) 04:15:06理解は出来る。
ただ俺がそのコード書いたら先輩に殺される。
0571デフォルトの名無しさん
2007/01/05(金) 05:20:130572デフォルトの名無しさん
2007/01/05(金) 10:16:27@IT だからねぇ……
0573デフォルトの名無しさん
2007/01/05(金) 11:26:150574デフォルトの名無しさん
2007/01/05(金) 13:57:28出力する際に改行を入れたいと思い
\n
\r
\n\r
といった文字列を入力してみたのですが、
そのまま出力されてしまい、改行にはなっていません。
コーディングはUTF-8を使っているのですが、
それが問題なのでしょうか?
もしUnicodeで改行を出力するにはどうしたらよいのでしょうか?
よろしくお願い致します。
0575デフォルトの名無しさん
2007/01/05(金) 14:05:160576デフォルトの名無しさん
2007/01/05(金) 14:14:53System.out.println("test"+ "\n" + "test");
例えば、このように入力しても、
test\ntest
というように出力されてしまうのです><
0577デフォルトの名無しさん
2007/01/05(金) 16:11:22JFrameをrepaintするとJPopupMenuが消えてしまいます。
JPopupMenuを消さずにJFrameを再描画する方法はありますでしょうか。
JPopupMenu.setDefaultLightWeightPopupEnabled(false);にしております。
0578577
2007/01/05(金) 16:50:38private Thread repaintThread = null;
public PopupMenuTest() {
setSize(800, 600);
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
DisplayMode fullMode = new DisplayMode(800, 600, device.getDisplayMode().getBitDepth(), device.getDisplayMode().getRefreshRate());
device.setFullScreenWindow(this);
device.setDisplayMode(fullMode);
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {createPopup().show(PopupMenuTest.this, e.getX(), e.getY());}}});
setVisible(true);
if (repaintThread == null) {repaintThread = new Thread(this);repaintThread.start();}
}
public void run() {
while (repaintThread != null) {
System.out.println("repaint");repaint();
try {Thread.sleep(10000);} catch (Exception e) {}
}
}
private JPopupMenu createPopup() {
JPopupMenu popupMenu = new JPopupMenu();
JMenu menu1 = new JMenu("menu1");
menu1.add(new JMenuItem("TEST"));
popupMenu.add(menu1);
return popupMenu;
}
public static void main(String[] args) throws Exception {new PopupMenuTest();}
}
0579577
2007/01/05(金) 17:21:37すいません。Swingスレッドで聞いてきます。
0580デフォルトの名無しさん
2007/01/05(金) 17:33:41while ( result.next() ) {
String msg = result.getString("id");
} out.println(msg);
をForループ文に書き換えって可能ですか?
msgの変数部分を配列に変えたいので、For文に書き換えたいたいのですが。
よろしくお願いします。
0581デフォルトの名無しさん
2007/01/05(金) 17:37:240582580
2007/01/05(金) 17:45:51String[] msg;
for ( i = 0; result.next(); i++ ) {
msg[i] = result.getString("id");
out.println(msg[i]);
}
でokですか?何か違う気もするけど
0583513
2007/01/05(金) 18:06:48回答ありがとうございます。
524さんの回答に従い検索したのですが、
ほとんどが自ウィンドウのイベントを取得するプログラムで
他のウィンドウに関連しての物を見つけることができませんでした。
重ね重ね申し訳ありませんが、よろしければ参考ページなども
教えていただけないでしょうか。
0585デフォルトの名無しさん
2007/01/05(金) 21:35:17自分で新たにクラスBを作成してこのクラスから変数JLBに適当なテキストをセットするにはどのように書けばいいですか、、、
クラスBを定義するところから教えてもらえませんか、、
クラスA内で処理すればできるんですが。Bからやろうとするとどうすればいいのか思いつきませんでした。
0586デフォルトの名無しさん
2007/01/05(金) 21:39:43たぶんまだない
リファレンスの英語は中学生英語レベルだしそんなに難しくないだろ?
語彙の問題はあるかもしれんが
まだですか。教えてくれてありがとうございました。
0588デフォルトの名無しさん
2007/01/05(金) 21:52:51import javax.swing.*;
public class A {
private JLabel label = new JLabel();
public static void main(String[] args) {
B b = new B(new A().label);
try{Thread.sleep(3000);}catch(Exception e){}
b.changeText("もげ");
}
}
class B extends JFrame {
private JLabel label;
public B(JLabel label) {
this.label = label;
setDefaultCloseOperation(EXIT_ON_CLOSE);
label.setText("ほげ");
add(label);
pack();
setVisible(true);
}
public void changeText(String text) {
label.setText(text);
}
}
0589デフォルトの名無しさん
2007/01/05(金) 21:56:06これからJavaを学びたいのですが
何から手をつけていいかわかりません。
おすすめの本がありましたら
教えてください。
0590デフォルトの名無しさん
2007/01/05(金) 22:00:40ありがとうございますーーーー
今からこれコピーして意味理解します。
本当にありがとう。
0591585
2007/01/05(金) 22:06:04this.label = label;
のthisというのはどこから持ってきたんでしょうか。。
ぐぐってもthisではほかの結果が多すぎて探せんです・・
0592デフォルトの名無しさん
2007/01/05(金) 22:13:010593デフォルトの名無しさん
2007/01/05(金) 22:15:29java this 変数。でそれっぽいのが出てきました。ちょっと読んでみます。。
しっかし俺の買った本なんでsuperのっててthis載ってないんだ、、orz
0594デフォルトの名無しさん
2007/01/05(金) 22:38:030595デフォルトの名無しさん
2007/01/05(金) 22:47:56オブジェクトのフィールドやメソッドなどのメンバには
(オブジェクト変数名).(メンバ名)
でアクセスするのが文法だが、
自インスタンスのメンバに限り
「(オブジェクト変数名).」が省略できる
省略しない時に、thisをつける
0596デフォルトの名無しさん
2007/01/06(土) 01:07:19root権限がないから消せないとか考える必要があるのでしょうか?
よろしくお願い致します。
0597デフォルトの名無しさん
2007/01/06(土) 01:21:56要はクラスBでクラスAで作成されたインスタンスにアクセスしたいなら、
クラスBに何らかの形でそのインスタンスのリファレンスを渡してやればいい。
B側でこのリファレンスを使って、そのインスタンスのメソッドなりフィールドに(アクセス権があるなら)アクセスできる。
>>588ではBのコンストラクタの引数としてラベルのリファレンスを与えている。
他にもBにラベルのリファレンスを受け取るメソッドを作ってA側でセットする方法もある。
>>588ではコンストラクタ内でテキスト変更をするだけでなく、後から変更できるようにするメソッドのために、
渡されたラベルのリファレンスをBのインスタンス変数として保持して、それを使っている。
Aの方にラベルのテキストを変更するメソッドを実装しておき、
BにはラベルのリファレンスではなくA自身のリファレンスを与えておいて、
BはAにテキスト変更のメソッド呼び出しだけをして、
実際の変更はラベルを保持しているA自身にやってもらう手もあるかも。
他にもいろいろと方法はあるかと。
0598デフォルトの名無しさん
2007/01/06(土) 01:30:05root権限で作成されていても他のユーザも変更可能なパーミションなら削除できるんじゃまいか。
もしroot権限でしか削除不能なパーミションなら、JVMをroot権限で実行すれば消せると思うが。
このあたりはrmでファイルを消すのと扱いは変わらないと思う。
0599デフォルトの名無しさん
2007/01/06(土) 03:36:30クリップボードの内容を取得するプログラムが欲しいので色々探してみたところ、
ttp://wisdom.sakura.ne.jp/system/java/awt/Gjava56.html
のサンプルコードを見つけたので、コンパイルしてみたのですが、何故か
public App65() {
の部分で
「メソッドの宣言が不正です。戻り値の型が必要です。」
と表示されてしまいます。
自分で色々弄ってみたのですが、解決しませんでした。お助け願います。
また、if文の分岐条件内の「!」には何の意味があるのでしょうか?
良ければこれも教えてください。
0600デフォルトの名無しさん
2007/01/06(土) 03:55:44このサンプルはコンパイルを通らない間違ったサンプルだ。
通らないものをそのまま載せてる点でこのサイトは信用できないよ。
クラスの名前とコンストラクタの名前を一致させれば通る。
testとApp65のどちらかに統一する。もちろんソースファイルの名前もそれに一致させる。
!は論理否定。!に続く条件式の否定を意味する。
0601デフォルトの名無しさん
2007/01/06(土) 03:59:22ファイル名もtest.javaから変更汁
0602デフォルトの名無しさん
2007/01/06(土) 06:21:00方法がわかりません。
char -> byte[] なら一旦Stringに直して
String.valueOf(c).getBytes();
みたいにできるんですが。
これの逆をどなたか教えてください。
0603デフォルトの名無しさん
2007/01/06(土) 06:34:32// str の assert 処理
char c = str.charAt(0);
でどうか。
0604602
2007/01/06(土) 07:03:20サンクスです。ばっちりできました。
0605デフォルトの名無しさん
2007/01/06(土) 09:02:59一番下のメソッドの引数(String text)
のtextってどこからでてきたものなんでしょうか('A`)
JFrameクラスの中に存在する変数ってことでいいんでしょうか?
0606606
2007/01/06(土) 09:07:510607デフォルトの名無しさん
2007/01/06(土) 09:58:19setSize(200,200);
setVisible(true);
btn=new Button("test");
btn.addActionListener(this);
add(btn);
}
public void actionPerformed(ActionEvent ae){
repaint();
btn.setBackground(Color.YELLOW);
}
public void paint(Graphics g2){
if(im==null){
im=btn.createImage(getWidth(),getHeight());
g=im.getGraphics();
}
g.setColor(c);
g.fillOval(50,50,220,220);
g2.drawImage(im,0,0,this);
}
0608607
2007/01/06(土) 10:00:35ボタンを押したときに背景が黄色にはなるんですが、
赤丸が描画されません。
何処をどう直せばいいのでしょう。
0609607
2007/01/06(土) 10:28:28まじでわからんorz
0610デフォルトの名無しさん
2007/01/06(土) 10:55:55g.setColor(c);
このcって何色?
0611607
2007/01/06(土) 11:31:06Color c=Color.RED;
で、フィールドで指定しています。
0612デフォルトの名無しさん
2007/01/06(土) 11:33:52<発信者情報>同意なしで開示へ ネット被害で業界が新指針
インターネット上のプライバシー侵害や名誉棄損について総務省と業界団体は、情報を書き込んだ発信者の同意がなくても
被害者に発信者の氏名や住所などを開示する方針を固めた。これまでは発信者が開示を拒否すれば、誰が悪質な情報を流したか
被害者側には分からず、泣き寝入りするケースが多かった。業界団体は新たなガイドライン(指針)を年明けに作り、来春から導入する。【ネット社会取材班】(毎日新聞)
[記事全文]
2ch七田スレっド匿名投稿者 uncorrelated=あんどう プログラマー たなべまり●やり逃げ男
認知せず 彼女は私生児として子供を養育中。絶対に許すな。
2ch匿名投稿者に絶対に負けるな。社会が変わるまで徹底抗戦!!
どんどん情報集まっています。花見写真も随時配信予定。
uncorrelated=あんどう 社会的制裁はこれからですよ。神様はちゃんと見ております。
たなべまり●の人生をめちゃくちゃにした男
0613デフォルトの名無しさん
2007/01/06(土) 11:57:33drawImageを実行させたくて、引数のImageObserverが必要なんですが、
Graphicsクラスのオブジェクトから描画対象のComponentオブジェクトを得る方法ってありますか?
0614デフォルトの名無しさん
2007/01/06(土) 12:26:02自分なりに調べてみたのですが解りませんでした。。
お手数おかけしますがよろしくお願い致します。
0615デフォルトの名無しさん
2007/01/06(土) 15:29:54ファイル名とクラス名をApp65にすることで無事コンパイルできました。
!についても納得です。
ご親切にありがとうございました。
0616ぴゅあ
2007/01/06(土) 17:28:33解決してなによりです
0617デフォルトの名無しさん
2007/01/06(土) 22:52:02前略
Container contena = frame.getContentPane();
JPanel jp = new JPanel();
JLabel display = new JLabel("0" ,RIGHT);
GridLayout glayout = new GridLayout(4,4);
jp.setLayout(glayout);
JButton a1 = new JButton("1");
JButton a8 = new JButton("7");
〜
JButton a16 = new JButton("16")
中略
jp.add(a1)
〜
jp.add(a16);
contena.add(display,BorderLayout.NORTH);
contena.add(jp,BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
のようにソースを書いたんですが、ラベルの文字が左寄せに戻ってしまいます。
どうすればいいですか('A`)
0618デフォルトの名無しさん
2007/01/06(土) 23:59:56private JPanel panel;
private JLabel display;
private int btnArray=16;
public Test(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setSize(400,400);
Container contena=this.getContentPane();
panel=new JPanel();
panel.setLayout(new GridLayout(4,4));
display=new JLabel("0");
JButton[] btn=new JButton[btnArray];
for(int i=0; i<btn.length; i++){
btn[i]=new JButton(Integer.toString(i));
panel.add(btn[i]);
}
contena.add(display,BorderLayout.NORTH);
contena.add(panel,BorderLayout.CENTER);
display.setHorizontalAlignment(JLabel.RIGHT);
this.pack();
this.setVisible(true);
}
}
0619デフォルトの名無しさん
2007/01/07(日) 00:02:14ありがとうございます。
できればなんで617だとダメだったのかも教えてもらえんでしょうか
0620デフォルトの名無しさん
2007/01/07(日) 00:02:45上のでどうでしょ?
0621デフォルトの名無しさん
2007/01/07(日) 00:07:04ひょっとしたら組み込む時に、
JLabelのHorizontalAlignmentってのが初期化されるのかも?
ああ、試してないけど、JLabelのコンストラクタの所
JLabel display=new JLabel("0",JLabel.RIGTH);
ならいけるのかな?
0622デフォルトの名無しさん
2007/01/07(日) 00:13:59main メソッドはどう書けばいいんでしょうか('A`)
0623デフォルトの名無しさん
2007/01/07(日) 00:16:52ちゃんと右寄せになってたんですけどね、、ラベルの文字。
追加したら左寄せになっちゃって。なんでかなーと、、
コンパイルエラー出るたびに何で、何での繰り返しですわ。。
その何でがわからんうちは初心者脱出できないんでしょうけど、、
0624デフォルトの名無しさん
2007/01/07(日) 00:24:19mainメソッドの中身は
new Test();
これだけです。
コンパイルエラーで駄目な所を教えてくれる間はまだ幸せだという事に、
あなたもきっと気づく時が来ます。
実は607で書き込んだものですが、未だに問題が解決しないorz
0625デフォルトの名無しさん
2007/01/07(日) 00:47:16もうちょっとさっきの原因調べてみます。。
って、、また新たな質問が。。
メソッド同士の関係がいまいちワカリマセン。
メインメソッド内で定義した変数は他の(同クラス)メソッドでそのまま使うことは無理なんでしょうか。
あと、メインメソッドっていったい何?って感じになってきてしまいましたorz
0626デフォルトの名無しさん
2007/01/07(日) 01:04:100627デフォルトの名無しさん
2007/01/07(日) 01:52:17簡単なサーバを起動して、ファイルを削除した後、
サーバを起動したまま、消したファイルをまた作り、
消そうとすると、ミスします。
これが何故なのかがわからない状態です。
どうかご存知の方がいましたら、よろしくお願いします。
0628デフォルトの名無しさん
2007/01/07(日) 01:55:100629デフォルトの名無しさん
2007/01/07(日) 02:02:23ファイルが削除できていないというミスです・・・。
0630デフォルトの名無しさん
2007/01/07(日) 02:06:36中置記法を逆ポーランド記法に変換するプログラムを作ってます。
普通の二項演算子のみを扱うものならば出来たのですが、
ここから単項演算子を扱えるようにするにはどのように改良すればいいのでしょう?
一見、改良しなくてもマイナスくらいならいけそうな実行結果が出るのですが。。。
0631デフォルトの名無しさん
2007/01/07(日) 02:14:44消したファイルを作った時に、きちんと close してる?
開いたままのやつを消そうとすると失敗するよ。
0632デフォルトの名無しさん
2007/01/07(日) 02:24:45レスありがとうございます。
消したファイルを作成するときは、プログラム上ではなく、
フォルダ上で右クリック > 新規作成 > テキスト ドキュメント > 〜
と作成しています。
0633デフォルトの名無しさん
2007/01/07(日) 02:25:50具体的なコードが分からないので改良法も含めて何ともいえないが、
マイナスがうまくいってそうな結果になってるのは、
単項演算子として働いているのでなく、
数値の一部の負記号として扱われているからじゃないか?
0634デフォルトの名無しさん
2007/01/07(日) 02:27:57そんな気もするのですが。。。
例えば
A=-(B+C*D)/E→ABCD*+E/-=
って合ってますよね?
0635デフォルトの名無しさん
2007/01/07(日) 03:04:29演算子の優先順位の設定にもよるとは思うけど、
ABCD*+(unary-)E/=
かも。A=(B+C*D)/-EとかA=(-B+C*D)/Eみたいなのもちゃんと解釈できてる?
あと、単項演算子のマイナスと二項演算子のマイナスを区別していないと、
スタックから何個被演算子を取ってくるべきか分からなくなるよ。
0636デフォルトの名無しさん
2007/01/07(日) 03:08:41後置記法をスタックマシンで解釈するとき、ということで
0637デフォルトの名無しさん
2007/01/07(日) 03:20:43A=(-B+C*D)/E→AB-CD*+E/=
となりました。
単項演算子の - の場合、その前には左カッコ'('か演算子がくる、
右カッコ')'か文字であれば二項演算子の - とわかる。
これを用いて判別して、単項演算子のほうは(unary-)、みたいな表記にする
という方針で改良していけばよいでしょうか?
0638デフォルトの名無しさん
2007/01/07(日) 03:31:24A=(B+C*D)/-Eの正しい解釈はたぶんABCD*+E(unary-)/=だろうね。
結果はEで割ってから単項マイナスするABCD*+/E-=と変わらないけど。
単項マイナス、加減乗除、代入演算子、括弧だけの式の解釈なら、
単項演算子と二項演算子のマイナスの区別はそれでいけそうな気がする。
確証はないけど。
その手の式の解釈なら演算子順位文法の利用がパーザの手動構築では便利かも。
既にjavaの話題から離れてしまってるね^^;
0639デフォルトの名無しさん
2007/01/07(日) 03:59:51前に項があったら二項、なかったら単項だよ。
0640デフォルトの名無しさん
2007/01/07(日) 04:45:560641デフォルトの名無しさん
2007/01/07(日) 05:01:150642デフォルトの名無しさん
2007/01/07(日) 07:56:37前に項があるってのはこの場合前に')'かアルファベットがあるってことじゃないのか
0643デフォルトの名無しさん
2007/01/07(日) 09:32:23必ずしもデザパタ使う必要は無いけど、
インタプリタパターンあたりの話は理解しておいた方が良くない?
0644デフォルトの名無しさん
2007/01/07(日) 15:12:20当方はすでに数回ほどEclipseを触ってみるために一度JAVA関係を
インストールしたのでしたが、少なくとも現在までに、Windows2000において
J2SE Runtime Environment 5.0 Update2 ・・・(*1)
Java 2 Rintime Environment, SE v1.4.2_03
Java 2 Rintime Environment, SE v1.4.2_06
Java 2 SDK, SE v1.4.2_03
までのインストールが行なわれたようでした(「アプリケーションの追加と削除」で確認)。
ここで、今回 Tomcat、Axis らをインストールして準備し、JAVA_HOME 環境変数が
上記の JRE(*1) には当たっていたものの、Tomcat を起動したところ、
-----
M:\apache-tomcat-4.1.34\bin>startup
JAVA_HOME\bin\jdb.exe is missing
The JAVA_HOME environment variable may not be defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
Using CATALINA_BASE: ..
Using CATALINA_HOME: ..
Using CATALINA_TMPDIR: ..\temp
Using JAVA_HOME: C:\Program Files\Java\jre1.5.0_02
ファイル -Dsun.io.useCanonCaches=false が見つかりません
-----
というエラーメッセージが出て起動が中断しました。
-Dsun.io.useCanonCaches=false
という名前のファイルはなさそうなのですが、この場合はもう一度SDK等をダウンロードして
新しい環境を構成するべきでしょうか?またその場合は、現在のSDK等は一旦アンインストール
するべきでしょうか?ご指導のほどよろしくお願い致します。
0645デフォルトの名無しさん
2007/01/07(日) 15:15:59あ、、もしかすると
>JAVA_HOME should point to a JDK not a JRE
でしたか、、すみません、JRE(*1)ではだめだったんですね・・・。
ということは、JDK をインストールしないといけないということでしたか・・
0646デフォルトの名無しさん
2007/01/07(日) 15:21:34JAVA_HOME 環境変数
を当てればいいのかとは思うのですが、実はこれを探してみたのですが、どこにあるのか
わかりませんでした・・
その場合は、「アプリケーションの追加と削除」で一旦アンインストールした上で、
SDK の最新版
j2sdk-1_4_2_13-nb-5_0-win-ml.exe
を改めてインストールした方がいいでしょうか?
0647デフォルトの名無しさん
2007/01/07(日) 15:26:23eclipse入ってるならeclipseのディレクトリ内にJDK入ってるはずだぞ
0648デフォルトの名無しさん
2007/01/07(日) 15:31:37さっそくどうもありがとうございます、、今すぐにその中を探してみます
0649デフォルトの名無しさん
2007/01/07(日) 15:38:36\org.eclipse.sdk.win32_2.1.2\
\org.eclipse.hyades.sdk.nls1_2.1.2\
が見つかりましたが、これらは J2SE SDK ではないようでした、やはり改めて最新版を
インストールしたほうがいいでしょうか・・・
その場合は、現在の SDK は一旦アンインストールしてからにするべきでしょうか・・・
0650デフォルトの名無しさん
2007/01/07(日) 15:47:22いいでしょうか?その方が Eclipse に対して問題を生じないでしょうか?
この辺のことをやったことがないのであちこち見て回ったのですがわからないのでした。
0651デフォルトの名無しさん
2007/01/07(日) 15:57:43とりあえず、単項演算子はマイナスだけ、あとは二項演算子の+*/-=とアルファベット
だけを使うってことにして、作ってみます。
>>637に書いた方針でいこうと思うのですが、
改良前の時点で、
A〜Z → 5
= → 0
( → 4
) → 1
+と− →2
*と/ →3
のように、優先順位を数値にしています(数が大きいほど優先度が高い)
ここもいじる必要あります・・よね??
0652デフォルトの名無しさん
2007/01/07(日) 16:28:080653デフォルトの名無しさん
2007/01/07(日) 16:35:43つ JEditorPane
ただし HTML3.2 相当なので、あまり使い物にならない。
0654デフォルトの名無しさん
2007/01/07(日) 16:38:36Eclipse\JDK150ってディレクトリないのか?
0655デフォルトの名無しさん
2007/01/07(日) 16:52:30たびたびどうもです、、
現在 Eclipse の構成は
C:\Program Files\eclipse-SDK-2.1.2-win32
eclipse
features
plugins
readme
workspace
となっていましたが、これらの中で *SDK* を検索しましたがないようです・・
どうして目に見える場所に SDK ディレクトリがないのかはまだわからないのですが、
一度現在の SDK を 「アプリケーションの追加と削除」 でアンインストールしても
Eclipse などの動作がおかしくなることはなければ、一回やってみようかと思います。
特に問題が起きる心配はないでしょうか?
0656デフォルトの名無しさん
2007/01/07(日) 17:06:02でたらめ書くなボケ。
>>655
ずいぶんと古いJDKを使ってるね。特に理由がなければ最新の物を使った方がいいよ。
>>1のwikiに書いてあるここから
ttp://java.sun.com/j2se/1.5.0/ja/download.html
「JDK 5.0 Update 10」というのをダウンロードして、インストールし直すといい。
古いのは消さなくてもいいけど、ディスク容量が気になるなら消してもいい。
インストールが終わったら、デフォルトではC:\Program Files\Java\jdk1.5.0_10というディレクトリに
インストールされるので、環境変数JAVA_HOMEにそのディレクトリのパスをセットする。
これでTomcatが動くようになる。
あと、Eclipseのバージョンもひどく古い。2.1.2って3年も前の物だよ。
最新は3.2.1。面倒くさかったら、All-In-One-Eclipseってのがあるから
それをインストールすると、一通りプラグインが入るので便利。
ttp://aioec.sourceforge.jp/
0657デフォルトの名無しさん
2007/01/07(日) 17:10:450658デフォルトの名無しさん
2007/01/07(日) 17:16:00できない
javaの外側のOS等の機能で制御するしかない
0660sage
2007/01/07(日) 18:01:59以下のようなソースで
getContentPane();というメソッドがありますがこのメソッドを利用するときは
JApplet ap = new JApplet();
Container cnt = ap.getContentPane();
のようにオブジェクトを作成して利用しなくてもいいのでしょうか?
import java.awt.*;
import javax.swing.*;
public class Sample_2 extends JApplet
{
public void init()
{
Container cnt = getContentPane();
JLabel lb = new JLabel("Welcome Swing!");
cnt.add(lb);
}
}
0661デフォルトの名無しさん
2007/01/07(日) 18:14:140663デフォルトの名無しさん
2007/01/07(日) 18:22:00いろいろすみません。ありがとうございます。
>「JDK 5.0 Update 10」というのをダウンロードして、インストールし直すといい。
>古いのは消さなくてもいいけど、ディスク容量が気になるなら消してもいい。
ということは、古いバージョンがPCの中にどんどん積みあがって行っても
Eclipse には影響しないということなのですね、わかりました。
>All-In-One-Eclipse
わかりました、これを入れてみようと思います。
助かりました。何かありましたらまたよろしくお願い致します。
ではまた。
0664660
2007/01/07(日) 18:49:09解決したよ。フハハハハハ
0665デフォルトの名無しさん
2007/01/07(日) 20:56:57ファイル xyz.txt に
123 345 654\n
32 90 3\n
…
といった数値データが入っています。
それを変数 x y z にそれぞれ前から値を入れていって
x+y+zや、x*y*zなど処理をして出力といったことをしたいのです。。。
cだとfscanf(file,"%d%d%d\n",&x,&y,&z)!=EOF)でやるのと同じなのですが
aplletにしないとならず。
ご助言お願いします。
0666デフォルトの名無しさん
2007/01/07(日) 21:33:41Stringのスプリットとか
ストリングトークナイザーとかで切り分けて 数値に変換
appletをどう使いたいのかは不明
0667デフォルトの名無しさん
2007/01/07(日) 23:27:31ありがとうございます。読み込みはなんとかできました。
Java3Dで点の集合を表示したくて…うまくいかずどなたか御指導願えるとありがたいです。
Point3d[] vertex = new Point3d[10000];
try {
//file read
FileReader file = new FileReader("hoge.dat");
BufferedReader buff = new BufferedReader(file);
StreamTokenizer st = new StreamTokenizer(buff);
st.whitespaceChars(',', ',');
// token 処理
while(st.nextToken() != StreamTokenizer.TT_EOF){
x=st.nval;
if(st.nextToken()==StreamTokenizer.TT_NUMBER)
y=st.nval;
if(st.nextToken()==StreamTokenizer.TT_NUMBER)
z=st.nval;
vertex[count]=new Point3d(x, y, z);
//System.out.println(vertex[count].x + " " + vertex[count].y + " " + vertex[count].z);
count++;
}
file.close();
}
0668デフォルトの名無しさん
2007/01/07(日) 23:28:59catch(Exception e){
System.out.println("Exception: " + e);
}
/* PoiintArrayクラスを使って物体の形状を作成 */
PointArray geometry = new PointArray(vertex.length, GeometryArray.COORDINATES);
geometry.setCoordinates(0, vertex);
/* 各頂点ごとに色を指定 */
/* 作成したGeometryを元に物体を作成 */
Shape3D shape = new Shape3D(geometry);
objTrans.addChild(shape);
objRoot.compile();
return objRoot;
という感じなのですが
ファイルから座標は読み込めているのに、ぬるぽが出てしまいます。
座標を配列で手入力しているときは出てくるのですが。。。。お願いしますorz
0669デフォルトの名無しさん
2007/01/07(日) 23:30:07vertex[1]={1 ,1,0}
…
のようにすると表示される、ということです
0670デフォルトの名無しさん
2007/01/08(月) 00:22:02Thread app = new Thread(){
public void run(){
何やら記述;
}
};
app.start();
インスタンスを作ると同時にThreadクラスの中身を書いているんでしょうか?
Threadクラス独自の書き方なのでしょうか?
0671デフォルトの名無しさん
2007/01/08(月) 00:24:43申し訳ありませんが教えてください。
コンパイルして、クラス名を打ち込んでいるのに実行されません。
設定は一通りやっています。
パスも通してます。coldntopenになります。
0672デフォルトの名無しさん
2007/01/08(月) 00:30:25coldntopenってなんじゃ?
0673デフォルトの名無しさん
2007/01/08(月) 00:35:29無名クラスで検索汁
0674デフォルトの名無しさん
2007/01/08(月) 01:08:14ありがとうございます。
0675デフォルトの名無しさん
2007/01/08(月) 02:16:17右クリック、左クリック、ホイールクリックの動作によって
それぞれ違う値を返す事はできますか?
0676質問age
2007/01/08(月) 06:16:05どなたかご存知でしたらサンプルなどご紹介ください。
0677デフォルトの名無しさん
2007/01/08(月) 06:38:55.jarにまとめたCUIのプログラムをダブルクリックで一発起動はできないのでしょうか?
GUIを使った場合は起動が可能だったのですがプロンプト上で動くものでは無理なのでしょうか?
java -jar hoge.jarと入力すれば起動できるようにmanifestファイルも記述済みです。
提出用に使いたいのでできれば簡単に動く方が良いと思いまして。
何かしら方法がありましたらご教授頂きたいです。
よろしくお願いします。
0678デフォルトの名無しさん
2007/01/08(月) 06:41:25一応推測だけど
java hoge←クラスファイルに.classはいらないよ?
0679デフォルトの名無しさん
2007/01/08(月) 06:43:11俺は携帯開発しかイベント処理わからないけど携帯ならば大体全部のボタンが使える。
だから使えるんじゃない?
APIとかに載ってるのでは?
0680デフォルトの名無しさん
2007/01/08(月) 06:57:46OSは?
拡張子の関連付けすればいいのでは?
0681デフォルトの名無しさん
2007/01/08(月) 07:12:46OSはXP HOMEのSP2。
普通はコマンドプロンプトが勝手に起動してくれるもんなんですか?
GUIのjar形式ならダブルクリックで問題なく開きます。
今作った奴動かすとプロセスでjavaw.exeが増え続けるだけで全く動きが見られないです。
0682デフォルトの名無しさん
2007/01/08(月) 07:16:08キック用にバッチファイルなりシェルスクリプトなり作って、それをダブルクリックしてもらっては?
0683デフォルトの名無しさん
2007/01/08(月) 07:20:06それいいね。
Windoswだとバッチだよね?
シェルスクリプトなら少し分かるんだけど。
ありがとう。
ちょっくら勉強してくるわ。
0684682=676
2007/01/08(月) 07:23:36解決っぽくとヨカッタ♪
それはそうと、誰かおいらの>>676に答えてくださいまし。
rawソケット扱わなきゃいけないから JNI じゃなきゃできないのかなぁ。。。
だったらJNDI を強制した方が確実だよなぁ。。。
0685デフォルトの名無しさん
2007/01/08(月) 07:40:23力になりたいけど俺にはわかりそうにもないです…。
ちょっと見てみたけどバッチとか全く分からないんだが笑
勝手に終了しちゃうから新しくプロンプト開いてやろうと思ったけどそうしたら処理の一部にならなそうだし。
それなら自動終了しないようにできたりしたらいいなっと。
激しくスレチなのでここらで退散。
0686682=676
2007/01/08(月) 07:56:58以下2行だけ書いたテキストファイルを hoge.bat で保存すればおっけーですヨ。
java -jar hoge.jar
@pause
2行目は結果を表示して一時停止するためのものです。
おいらの方のは
> nslookup -type=mx yahoo.co.jp
と同じことを Java でどうやったものかな、という相談でした。とりあえず素直に JNDI で
やることにします。どなたかクレバーな方法をご存知でしたら後からでも教えてくださいです。
0687デフォルトの名無しさん
2007/01/08(月) 08:02:23自分もそうやって実行してみたのですがどうも開いた場所がカレントディレクトリにならないようで…。
コマンドプロンプトの作業フォルダ %HOMEDRIVE%%HOMEPATH% が開いた時点でのカレントディレクトリになってまして。
そうしたら話にならないじゃないかとか思いましてね笑
nslookupですか。
最近digとhostと共に覚えましたが(Windowsはコマンド違うんだっけ?)Javaではちょっとわからないです。
力になれずにすみません。
0688675
2007/01/08(月) 09:37:42APIには、
クリックとホイールのスクロールしか書いてありませんでした
このことについて触れているHPも無いようだし
無理という事なんですかね
0689デフォルトの名無しさん
2007/01/08(月) 11:20:060690デフォルトの名無しさん
2007/01/08(月) 11:58:57ttp://www.fireproject.jp/feature/jfreechart/advanced/simple_servlet.html
この方法でグラフがでるところまではできたのですが、
出力したグラフ上に、日本語が表示しません。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16194&forum=12
上記サイトに、日本語文字化けの対応は書かれてはいるのですが、
表示しない場合の解決法がわかりません。
(一応、上記対応は実施しました。)
日本語が表示しない原因として考えられることは何がありますでしょうか。
あわせて、上記文字化け対応が反映されているかどうかの確認する方法もご教授いただけたらと思います。
0691690
2007/01/08(月) 12:05:25日本語が表示しないのはlinux上です。
同じアプリをwindows上に載せれば動きます。
0692デフォルトの名無しさん
2007/01/08(月) 12:12:16日本語の勉強からやり直せ。
0693690
2007/01/08(月) 12:20:48数字や英字は表示します。
0694デフォルトの名無しさん
2007/01/08(月) 12:32:59「(何者かが)日本語をしない」か、
「日本語が表示されない」のどちらかだろ?
日本語が何を表示しないんだよ。
0695694
2007/01/08(月) 12:34:06訂正するのもマンドクセ。
0696690
2007/01/08(月) 12:37:21これ、日本語おかしいですか?
申し訳ないけど、あなたの言われてることは揚げ足取りにしか見えません。
0697デフォルトの名無しさん
2007/01/08(月) 12:38:020698デフォルトの名無しさん
2007/01/08(月) 12:42:29おかしいと思うよ
0699デフォルトの名無しさん
2007/01/08(月) 12:43:31客とのコミュニケーションは、プログラマのいちばん大事な仕事だ。
0700デフォルトの名無しさん
2007/01/08(月) 12:44:17おかしいです。
本当にそれが正しい日本語だと思っているのなら、それは大きな問題です。
あなたの言葉は読み手に正しく伝わらない可能性があり、
また、他人の言葉をあなたは正しく解釈できない可能性があるからです。
0701デフォルトの名無しさん
2007/01/08(月) 12:44:35中途半端に知ったかってる香具師の多い事多い事w
0702デフォルトの名無しさん
2007/01/08(月) 12:45:380703デフォルトの名無しさん
2007/01/08(月) 13:06:07まぁメンバーにはいて欲しくない事は確かだ。
0704デフォルトの名無しさん
2007/01/08(月) 13:09:56文意通りに解釈すると「日本語」が表示しない訳だから
原因は表示を抑止している日本語にあるという事だよな。
ってことはJavaスレッドで質問しても解決しないぜwwwww
0705デフォルトの名無しさん
2007/01/08(月) 13:22:37みんなは意地悪してる訳じゃなくて
貴方の態度・姿勢は、まじめに回答してあげたくなる質問者のそれではありませんよ
という事を教えてくれてるんですよ
0706デフォルトの名無しさん
2007/01/08(月) 13:40:290707デフォルトの名無しさん
2007/01/08(月) 13:42:230708デフォルトの名無しさん
2007/01/08(月) 13:47:550709デフォルトの名無しさん
2007/01/08(月) 14:08:11日本語で書かれた入門書やWebサイトが読めないんだから(プゲラ
0710デフォルトの名無しさん
2007/01/08(月) 14:22:08本気で解決策が欲しかったら、そういうのに反論せず、その前に環境を詳しく書け。
Linuxのディストリビューションとバージョン、Javaのバージョンくらいは必須だ。
アプリケーションサーバもあった方がいいが、この場合は多分書いても変わりないだろうな。
0711デフォルトの名無しさん
2007/01/08(月) 14:25:070712デフォルトの名無しさん
2007/01/08(月) 14:26:290713デフォルトの名無しさん
2007/01/08(月) 14:27:56以下質問
public int getMatchMapIndex(int locX,int locY){
int i=0;
while(i<map.length){
int x=map[i].getX();
int y=map[i].getY();
if(locX==x && locY==y){
return i;
break;
}
i++;
}
}
上記をコンパイルすると"制御が移る事はありません"と駄目だしされるのですが、
どう直せばwhileの中の処理を実行してくれるのでしょうか。
mapはJButtonの配列です
0714デフォルトの名無しさん
2007/01/08(月) 14:28:200715デフォルトの名無しさん
2007/01/08(月) 14:39:11break; が余計
0716デフォルトの名無しさん
2007/01/08(月) 14:40:46メソッドの最後にreturn i;が要る。
0717デフォルトの名無しさん
2007/01/08(月) 15:34:08デバッグをし易くするためにも、旧態然とした表記だが
・変数の宣言は関数の先頭で(この際必ず初期値を入れておく)
・return 文は必ず関数の最後に1回だけ
とした方が良いよ。そうすりゃヘンな値が返ってきた時に
デバッグ出力(またはブレーク)を1箇所書くだけで済む。
0718デフォルトの名無しさん
2007/01/08(月) 15:39:24それは賛同できんな。
そうしないとデバッグしにくくなるのはメソッドサイズがでかくなって
可読性が落ちる場合だからな。
メソッドサイズがせいぜい20行くらいだったら問題にはならん。
0719デフォルトの名無しさん
2007/01/08(月) 16:03:55> (この際必ず初期値を入れておく)
なんで言語仕様に局所変数の代入チェック機能があるのに、
それを壊すようなルールにするかね?
初期値入れるならコンパイルエラー出てからで良いじゃん。
0720デフォルトの名無しさん
2007/01/08(月) 16:20:46for文にするべきかと
0721デフォルトの名無しさん
2007/01/08(月) 16:30:50"X88Y" < "X133Y"
となるようなComparatorって標準又はオープンソースでありますか?
自分で書かないと駄目?
0722デフォルトの名無しさん
2007/01/08(月) 16:38:25「日本語を表示できない」か「日本語が表示されない」かな
この場合「日本語」は操作の対象だから目的語、もしくは受動態の主語
肝心の質問については、分からん
0723デフォルトの名無しさん
2007/01/08(月) 16:42:33デバッグしやすくするという名目で
バグを入れやすくするのは本末転倒だと思う。
>>718 が基本。
0724デフォルトの名無しさん
2007/01/08(月) 16:46:49変数宣言は使用直前が常識でしょ
0725デフォルトの名無しさん
2007/01/08(月) 16:47:21public int getMatchMapIndex(int locX, int locY){
for (int i = 0; i < map.length; i++) {
int x = map[i].getX();
int y = map[i].getY();
if (locX == x && locY == y) {
return i;
}
}
throw new IllegalStateException("no match!");
//or return -1;
0726725訂正
2007/01/08(月) 16:48:34public int getMatchMapIndex(int locX, int locY){
for (int i = 0; i < map.length; i++) {
int x = map[i].getX();
int y = map[i].getY();
if (locX == x && locY == y) {
return i;
}
}
throw new IllegalStateException("no match!");
//or return -1;
}
0727デフォルトの名無しさん
2007/01/08(月) 17:12:07おまいそうとういじめられてるだろw
0728デフォルトの名無しさん
2007/01/08(月) 17:16:220729デフォルトの名無しさん
2007/01/08(月) 17:18:010730デフォルトの名無しさん
2007/01/08(月) 17:21:000731デフォルトの名無しさん
2007/01/08(月) 17:23:26リアクションも含めて痛い
0732デフォルトの名無しさん
2007/01/08(月) 17:31:53スルー推奨
0733デフォルトの名無しさん
2007/01/08(月) 17:39:420734デフォルトの名無しさん
2007/01/08(月) 17:42:010735デフォルトの名無しさん
2007/01/08(月) 17:49:250736デフォルトの名無しさん
2007/01/08(月) 17:50:28クラスの設計の話だったと思います
0737デフォルトの名無しさん
2007/01/08(月) 17:52:47>>735
ありがとうございます
うーん、イマイチわかりません…
0738デフォルトの名無しさん
2007/01/08(月) 17:57:29でぐぐれ
0739デフォルトの名無しさん
2007/01/08(月) 17:57:55利用しているクラスAから見た時、クラスBが抽象的に作られていた場合
class A{
public void hoge(B obj){
obj.hello();
}
なわけだが、objの実態は
クラス B
△
├───┬───┐
クラス C クラス D クラス E
だったりして、クラスC〜Eで、メソッドhelloの振る舞いが個別に定義されたりしている
状態のことをポリモフィックだ、とか逝ったりする。
0740ぴゅあ
2007/01/08(月) 17:59:190741デフォルトの名無しさん
2007/01/08(月) 18:09:06public class C extends B{
public void hello(){
System.out.println("こんにちは");
}
}
public class D extends B{
public void hello(){
System.out.println("にーはお");
}
}
public class E extends B{
public void hello(){
System.out.println("ぐーてんもるげん");
}
}
B[] objs = new B[]{ new C(), new D(), new E()};
for(int i=0 ; i < objs.length ; i++){
objs[i].hello();
}
結果
こんにちは
にーはお
ぐーてんもるげん
0742デフォルトの名無しさん
2007/01/08(月) 18:10:58あ、多相性ですか
つまり、同じクラスを継承していれば同じように扱う、だけど動作は違う
…みたいな感じですかね大分わかってきました
>>738
調べてみます
0743デフォルトの名無しさん
2007/01/08(月) 18:14:13おお!分かりやすいです!
どうもありがとうございました
0744デフォルトの名無しさん
2007/01/08(月) 18:17:14例は普通の継承だけど、通常はBはinterfaceか、helloメソッドをabstractにした抽象クラス
であったほうがよいでしょう。
0745デフォルトの名無しさん
2007/01/08(月) 18:20:22知らんかった
0746デフォルトの名無しさん
2007/01/08(月) 18:25:34分かりました
覚えときます
>>745
そうなんですよ
正直、ポリモルフィズムで調べればいいことが
分かっただけでも収穫です
0747713
2007/01/08(月) 18:54:36726のソースコードに直してコンパイルしたらすんなりと通ったのですが、
狙った結果が得られませんでした。
試しにfor文のなかに
System.out.println(i);
と入れてみたら、JButtonの配列数は108なのに、
ループしないで i=0 のまま return にいってしまっているみたいでした。
IllegalStateExceptionを調べたら、不正な時にメソッドが呼び出されると
検出されるそうですが、ありきたりなコードしか書いてない筈なのにorz
0748デフォルトの名無しさん
2007/01/08(月) 18:59:1121:28:02uncorrelated: ナイスバディーの都合の女が(.∀.)イイ!!
21:28:16seikun_lib: いたいめにあってますものねw
【解説】ナイスバディーのハイカムさん(本名 たな◎まり◎)さんは
都合のイイ女ではありませんでした。本気で結婚を考え出産したようです。
許せませんアンコ 養育費を払っていません。確認済!
uncorrelated: まあ、クルマに乗らないからな・・・
takemaru123: のればいいのに
takemaru123: 彼女とドライブとか
ekaru: 息子とドライブとか〜
uncorrelated: んー・・・都内は、やっぱ不便だよ。
uncorrelated: *** ekaru さんを無視します。
【解説】アンコは、彼女のお父さんと会って
”この件は無かったこととさせていただきます”
茶封筒に3万円だけだったと聞きます 確認済!
0749デフォルトの名無しさん
2007/01/08(月) 19:00:18uncorrelated=通称 アンコ、餡子 ヤフーチャットパソコンなんでも相談室
http://chat.yahoo.co.jp/c/roomlist2.html?.rmcat=552000138&.dsplist=user
コンピューターとインターネット→ユーザールーム(パソコンなんでも相談室)
やっくん(=通称 アンコ)の身体的特徴
�@推定年齢30才
�Aメガネをかけている(写真では茶色)
�B白髪混じりの頭(2チャンネルの投稿で疲れている?)
�C身長160CM台
�D痩せ型
�E童顔
イメージ写真
http://grape.astron.s.u-tokyo.ac.jp/pub/people/makino/images/g6boxwithmakino-med.jpg
追加情報 一ツ橋大学大学院卒
同じような被害女性を増やしてはいけません。
0750デフォルトの名無しさん
2007/01/08(月) 20:49:23>>747
配列数も一緒に表示してみた?
0751713
2007/01/08(月) 21:56:30凄く恥ずかしい話ですが、原因がわかりました。簡単でした。
引数に0,0が入っててmap[0]のgetX(),getY()の返り値も0,0、
条件一致 → returnで for文を抜けてたんですね。
715の理由がやっと解った(鬱
しかし今度は、
レイアウトを GridLayout(9,12)に設定してある JPanel に JButton 配列を組み込んでるのに、
ボタンのX座標、Y座標が全部(0,0)っていう新しい問題が orz
Window関係のクラスにヒントがありそうな気がするのでまた悩んできます。
お騒がせしました。
でも、まじで解らなかったらまた来てしまうと思うので、その時はお願いします(汗
0752デフォルトの名無しさん
2007/01/08(月) 22:53:100753デフォルトの名無しさん
2007/01/08(月) 22:54:59使用してる技術ごとに分散してるだけ
0754デフォルトの名無しさん
2007/01/08(月) 23:12:38組み込み系とかはあるのになんでないんだろう
って思ってた。
0755デフォルトの名無しさん
2007/01/08(月) 23:25:28自分で作ったJavaアプレット付きのHTMLファイルをWindowsの「背景」にしたところ、
あるマシンでは背景でアプレットが正しく動作したのですが、
他のあるマシンではアプレットが表示されるはずの部分が全て灰色になります。
JDK、JREのバージョンはどちらも1.5で、
OSは動くマシンがXP、動かないマシンが2000です。他に大きな違いは思い当たりません。
チェックボックス「Active Desktop に Web コンテンツを表示」はチェックされています。
2000のマシンでもJavaアプレットを動かすには何が足りないのでしょうか?
HTMLファイルはこんな感じです。
<html>
<head></head>
<body>
<applet code="HogeApplet" width="400" height="300"/>
</body>
</html>
0756デフォルトの名無しさん
2007/01/08(月) 23:27:120757デフォルトの名無しさん
2007/01/08(月) 23:33:36.jarなら作れるよ。
0758デフォルトの名無しさん
2007/01/08(月) 23:37:44商用のJETしかないんじゃyないかな
http://www.xlsoft.com/jp/products/jet/index.html
unix環境ならgcjあたりでバイナリ作れるけど
0759デフォルトの名無しさん
2007/01/08(月) 23:43:12本当に同じJREで動かしてる?
2000の方はMSのVMだったりしてない?
0760デフォルトの名無しさん
2007/01/08(月) 23:46:070761デフォルトの名無しさん
2007/01/08(月) 23:53:26インターネットオプション > 詳細設定 > Java (Sun) がONで
インターネットオプション > 詳細設定 > Microsoft VM が全てOFFなら
SunのJREで動くはずですよね?
書き忘れましたが、
そのHTMLファイルをIE、Firefoxで開いた場合にはアプレットは動作します。
0762デフォルトの名無しさん
2007/01/09(火) 01:50:40灰色表示ってことはアプレットであることは理解されてるっぽいけど、
Javaコンソールにクラスが見つからないとかセキュリティエラーとかのエラー表示もなし?
0763デフォルトの名無しさん
2007/01/09(火) 06:38:590764デフォルトの名無しさん
2007/01/09(火) 10:31:43class AA{
void hoge(){
System.out.println("hoge");
}
}
class main{
public static void main(String args[]){
args[0] rr = new args[0];
rr.hoge();
}
}
実行 java main AA
っていうふうにはできないの?どうすればAAのインスタンス生成して
メソッド呼べるの?
0765デフォルトの名無しさん
2007/01/09(火) 10:35:210766デフォルトの名無しさん
2007/01/09(火) 10:38:21AA rr = new AA();
rr.hoge();
とかじゃだめなのか
0767デフォルトの名無しさん
2007/01/09(火) 11:06:32> どうすればAAのインスタンス生成して
AA a = (AA)java.lang.Class.forName("AA").newInstance();
> メソッド呼べるの?
java.lang.Class.forName("AA").getMethod("hoge", null).invoke(a, null);
0768デフォルトの名無しさん
2007/01/09(火) 11:08:51無理。AA も hoge も public が付いてないから失敗する。
0769デフォルトの名無しさん
2007/01/09(火) 11:16:25リフレクションでぐぐればいいと思う。(スレ内検索でもいいかも)
0770デフォルトの名無しさん
2007/01/09(火) 12:05:20iアプリが作りたいです。
作れるようになるには、このスレのテンプレの流れに沿っていけばいい?
それともiアプリは別物?
0771764
2007/01/09(火) 12:38:50その生成したいクラスは、いくつあるのかはわからないという状況
0772デフォルトの名無しさん
2007/01/09(火) 12:55:58あのサンプルコードからその意図を読み取るのは神業すぎるような・・・
つーか、だからそれリフレクションだってば。 ググれ。
クラス名でインスタンス生成できるから、ランダムにクラス名を選択するコード書けばいいし。
もっと詳しいことが知りたければ、ある程度は実際の処理の説明が必要だな。
0773デフォルトの名無しさん
2007/01/09(火) 16:25:22class main {
public static void main(String[] args) throws Exception {
// args[0]で指定された名前のクラスオブジェクトを取得
Class c = Class.forName(args[0]);
// cのインスタンスを生成
Object o = c.newInstance();
// cからhoge()という名前のメソッドを探し出し、インスタンスoのそれを呼び出す
c.getDeclaredMethod("hoge").invoke(o);
}
}
hogeにpublicが付いていないため>>767のgetMethodが失敗するのは代わりにgetDeclaredMethodを使えばいい。
AA,hogeにpublicが付いていないためinvokeに失敗するかどうかは、
mainクラスとAAクラスが同じパッケージに属しているかどうかにかかっている。
>>767ではAAでキャストしているが、クラス名が実行時まで解決できない場合があるので、
生成されたインスタンスはObjectで受け取る。
もし、AAって分かっているなら、こんな面倒をかけなくても普通に>>766のようにできる。
ランダムにいくつかのインスタンスを生成したいなら、c.newInstance()を使って複数回生成すればいい。
生成したインスタンスはObejct配列なりObjectのコレクションなりで管理すればいい。
0774デフォルトの名無しさん
2007/01/09(火) 16:38:48c.getDeclaredMethod("hoge", null).invoke(o, null);
にして。5では可変引数に変わったのでnullだと警告がたぶん出る。
どちらのバージョンでも通すなら、
c.getDeclaredMethod("hoge", new Class[]{}).invoke(o, new Object[]{});
かな。
0775デフォルトの名無しさん
2007/01/09(火) 16:52:05>>772の言うように、Class.forName("クラス名");で複数のクラスオブジェクトを作って、
その中からランダムに選べばいい。
0776デフォルトの名無しさん
2007/01/09(火) 16:53:41c.getDeclaredMethod("hoge", (Class[])null).invoke(o, (Object[])null);
でも良いね。
0777デフォルトの名無しさん
2007/01/09(火) 17:05:43うん。試しにコンパイルしてみたら、警告メッセージも、
> 非可変引数呼び出しに関しては java.lang.Class[] にキャストしてこの警告を出さないようにします。
> 非可変引数呼び出しに関しては java.lang.Object[] にキャストしてこの警告を出さないようにします。
になるね。余計なオブジェクトを生成しない点ではnullへのキャストの方がいいかも。
個人的にはオーバーヘッドが気にならないなら避けられるキャストは避けちゃうけど。
0778デフォルトの名無しさん
2007/01/09(火) 17:26:40メモリ使用量が増え続けていきます。
オブジェクトの参照を全て無くせば、
ガベージコレクトでメモリは解放されていくんですよね?
そういったメモリのことや、オブジェクトの参照がわかるツールはありませんでしょうか?
0779755
2007/01/09(火) 20:08:14Javaコンソールもトレイアイコンも表示されません。
ブラウザで動作させたときは表示されるのですが。
追記
今になって気付いたんですが、
例のHTMLファイルをappletviewerで表示させようとしたところ
何の表示、出力もなくすぐappletviewerが終了してしまいました。
この現象もXPのマシンでは確認できません。
アプレットのソースコードはこんな感じです
public class HogeApplet extends JApplet {
public void init() {
this.add(new JLabel("hoge"));
}
}
0780デフォルトの名無しさん
2007/01/09(火) 21:34:50javadoc
0781デフォルトの名無しさん
2007/01/09(火) 21:55:40つ ぷろふぁいら
0782デフォルトの名無しさん
2007/01/09(火) 21:58:07それなら cygwin で作れるんじゃね
0783デフォルトの名無しさん
2007/01/09(火) 22:08:18動作しましたがHTMLファイル(JREで動作)で開くと実行エラーが出ます。
FileInputStream inData = new FileInputStream("test.txt");
InputStreamReader readChr = new InputStreamReader(inData);
BufferedReader buffChr = new BufferedReader(readChr);
エラー文
java.security.AccessControlException: access denied (java.io.FilePermission test.txt read)
どのようにすればJREで動作しますか?
0784デフォルトの名無しさん
2007/01/09(火) 22:22:21Java6 なら jconsole じゃね?
0785デフォルトの名無しさん
2007/01/09(火) 22:23:36適切なポリシーが必要。
つ http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/security/PolicyFiles.html
後はググる。
0786デフォルトの名無しさん
2007/01/09(火) 23:50:51jdk1.6.0
jre1.5.0_10
jre1.6.0
の3つのフォルダができてるんですが
初心者用のWeb見回すとjdk1.5.0をDLして来いとかいてあるんだけど俺の1.6.0で問題ないの?
HelloWorldで練習してて途中でJDKのAPI 仕様ドキュメントを持っておけって書いてあったけど
Webには1.5.0はあるけど1.6.0は見当たらない
もしかして1.6.0って出たばっかでドキュメントも出てないってこと?
0787デフォルトの名無しさん
2007/01/09(火) 23:58:351.6.0で問題なし。Java6は英語のドキュメントしかないけど
ttp://java.sun.com/javase/6/docs/api/
入門レベルならJava5の日本語ドキュメントでも大丈夫。
0788デフォルトの名無しさん
2007/01/10(水) 00:39:40もう1.6って・・・
1.5も触ってないのに・・・
ドンドン置いていかれる・・・・
0789デフォルトの名無しさん
2007/01/10(水) 00:42:49マジメな話、今、携帯電話のアプリ作るためには何を勉強すりゃいいんだろ?
「少し大きな」位の本屋ではロクな参考書が無い。
http://www.amazon.co.jp/gp/product/4872804961
http://www.amazon.co.jp/gp/product/4756140785
あたりを読むしかないのかな?
0790デフォルトの名無しさん
2007/01/10(水) 01:28:55htmlファイルの方を
<applet code="HogeApplet" width="400" height="300"/>
から
<applet code="HogeApplet" width="400" height="300">
</applet>
にして試してみて。appletviewerはxhtmlを理解しなかったかも。
2000で動かないのもxhtmlになっているからかもしれず。
0791デフォルトの名無しさん
2007/01/10(水) 01:53:52仕事で使ってないからと言って触らなければ置いていかれるだけ。
せいぜい趣味で使ってついていこうや。
0792デフォルトの名無しさん
2007/01/10(水) 01:58:01Java6とRubyではどちらがいいか?
っと敢えてこのスレで聞いてみるテスト
0793デフォルトの名無しさん
2007/01/10(水) 02:01:49両方。
というか、他人にどっちが良いか聞く前に触ってるようでないとダメのような気もする。
0794755
2007/01/10(水) 02:03:36HTMLファイルを修正したところ、appletviewer上で正しく動作するようになりました。
ありがとうございます! appletタグの書き方には気をつけます。
アクティブデスクトップ上では変化ありません。
0795デフォルトの名無しさん
2007/01/10(水) 02:05:27オレ逝ったああああああぁぁぁぁ・・・・・
0796デフォルトの名無しさん
2007/01/10(水) 05:58:40OS WINDOWS XP HomeEdition SP2
IE 6.0
Java 5.0_08
TOMCAT 5.5
ユーザーがcookieを有効にしていないときを想定して、
サーブレットにおいて、response.encodeURLを使って、
リンクにセッションIDを埋め込もうと思っているのですが、
うまくいきません。
とりあえず、cookieが有効か無効かを確認するために
サーブレットにおいて、下記のコードを記述したところ、
結果は、それぞれ、true、falseでしたので、cookieが有効になっているようでした。
request.isRequestedSessionIdFromCookie());
request.isRequestedSessionIdFromURL());
ブラウザの設定で、[インターネットオプション]-[プライバシー]で
すべてのCookieをブロックに設定していて、テストするときは、
IEを立ち上げなおしています。
(IEを立ち上げなおして、設定を確認すると、
すべてのCookieをブロックに設定されています。)
IEのこの設定だけでは、Cookieをブロックできないのでしょうか?
Cookieをブロックするために、ローカル環境での開発において、
なにか特別な設定をする必要がありましたら、教えてください。
よろしくお願いします。
0797デフォルトの名無しさん
2007/01/10(水) 06:02:10上記の設定で、Cookieが無効になっていたため、さきほど、書き込むことが
できませんでした。
だけど、WEB上の他のサイト(Yahoo!など)では、この設定でも
Cookieが有効になっているようで、それらのサイトにアクセスすると、
C:\Documents and Settings\ユーザー名\Cookiesに、きちんとCookieが
格納されます。
どういうことかさっぱりです。。
0798デフォルトの名無しさん
2007/01/10(水) 07:10:28ttp://www.google.com/search?rls=ja&q=IE+%E3%82%AF%E3%83%83%E3%82%AD%E3%83%BC+%E7%84%A1%E5%8A%B9+localhost
0799デフォルトの名無しさん
2007/01/10(水) 09:27:18ありがとうございます。参考になりました。
0800770
2007/01/10(水) 09:29:190801デフォルトの名無しさん
2007/01/10(水) 09:32:42Javaってなにのレベルを克服したらこっちのスレがいいかもな
>CLDC+MIDP+携帯電話用Javaスレッド part 6
0802デフォルトの名無しさん
2007/01/10(水) 10:14:53いまからjavaはじめようと思うんだけど全く別物かな。
0803デフォルトの名無しさん
2007/01/10(水) 10:26:50同じ手続き型言語、差異は気の持ちようだ。
0804デフォルトの名無しさん
2007/01/10(水) 10:53:01あり。がんばってみる。
0805デフォルトの名無しさん
2007/01/10(水) 11:55:09javaでボタンを押すと画面を切り替えられるようにするには
どうすればいいのでしょうか?
0806デフォルトの名無しさん
2007/01/10(水) 12:23:23【無料でUO】Hybrid鯖スレ 9【エミュ】
http://game11.2ch.net/test/read.cgi/mmosaloon/1168386640/
0807デフォルトの名無しさん
2007/01/10(水) 12:23:43javaでボタンを押すと帳票が出力されるようにするには
どうすればいいのでしょうか?
0808デフォルトの名無しさん
2007/01/10(水) 12:25:47どうすればいいのでしょうか?
0809デフォルトの名無しさん
2007/01/10(水) 12:26:27javaでボタンを押すとどうすればいいのでしょうか?
0810デフォルトの名無しさん
2007/01/10(水) 12:28:28どうすればいいのでしょうか?
0811デフォルトの名無しさん
2007/01/10(水) 12:38:07はい、次の質問は?
0812デフォルトの名無しさん
2007/01/10(水) 13:03:120813デフォルトの名無しさん
2007/01/10(水) 14:28:06javaの学習をしようと思うんですが
JavaEEとJavaSEがあって何を落とせばいいのかわかりません。
JDK6 with NetBeans5.5とJava EE 5 SDK Update 2 の
どちらを落とすのがセオリーですか?
揃えられる物は揃えておきたいのですが…
0814デフォルトの名無しさん
2007/01/10(水) 14:37:31Java EE SDK は、サーバサイドアプリの作成に必要な追加環境。
0815デフォルトの名無しさん
2007/01/10(水) 14:44:23ありがとー!
0816デフォルトの名無しさん
2007/01/10(水) 18:55:060817816
2007/01/10(水) 18:55:540818デフォルトの名無しさん
2007/01/10(水) 19:58:00「こ」で始まるなら分かるが
0819デフォルトの名無しさん
2007/01/10(水) 20:38:070820デフォルトの名無しさん
2007/01/10(水) 20:41:15どくらくまわしって読むんだよ
javaやる前にまず日本語から勉強したほうがいいようだな
0821デフォルトの名無しさん
2007/01/10(水) 21:01:390822816
2007/01/10(水) 21:30:05判って遊んでますので、念のため。
か…漢だ… のガイドライン
http://ex13.2ch.net/test/read.cgi/gline/1164849131/
0823デフォルトの名無しさん
2007/01/10(水) 21:46:59∧__∧
(`・ω・´)
.ノ^ yヽ、
ヽ,,ノ==l ノ
/ l |
"""~""""""~"""~"""~"
0824デフォルトの名無しさん
2007/01/10(水) 22:49:05sunのSDKのページに行って5.0(1.5?)落とそうと思ったら
(use 32-bit version for applet and Java Web Start support)
↑このような注意書きがあったんですけど
サーブレット、JSPは出来ないと言うことでしょうか?
当方linuxでEM64環境なのですが、
今のところ1.4か32bit版を使わないといけないのでしょうか?
ちょっとだけ本読んでみたんですけど
自サバなら1.5使った方がよさげだし
やっぱり64bitで32bit使うと、パワーが100%発揮されませんよね?
0825デフォルトの名無しさん
2007/01/10(水) 23:05:48アプレットとか web start 使いたかったら 64bit版じゃなくて 32bit版使ってね、って話でしょ。
0826デフォルトの名無しさん
2007/01/10(水) 23:22:11バグだらけで泣けてくる。
何でできないのかがわからん。
HP調べても正解が載っているだけで
何で自分の書き方がダメなのかわからん。
0827デフォルトの名無しさん
2007/01/10(水) 23:33:03諦める
どこまでちゃんと動くのか調べる
0828824
2007/01/10(水) 23:33:21レスありがとうです
appletは恐らく使わないと思われるのですが
web startというのが気になって…
最終的にはwebサーバに組み込んで
DBから読んだり書いたりして動的にページを生成して
サイトを作る予定です。
web startというのが何を指してるのか解らなかったので
サーブレットなどを含むWEB全体の機能が使えないのかと思ってしまいました
よく考えたら”web start JAVA”でググッてみろと…
ttp://www.atmarkit.co.jp/fjava/kaisetsu/javawebstart/javawebstart.html
で解りました。お騒がせしましたOTZ
でも、ちょっと便利そうと言うか、面白そうですねweb start
まあ、私には当分必要ないだろうけど。
0829デフォルトの名無しさん
2007/01/10(水) 23:57:42import javax.swing.*;
import java.awt.event.*;
import javax.swing.text.JTextComponent;
class test {
static JLabel display;
static JTextField TX;
public static void main (String args[]){
JFrame frame = new JFrame("test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contena = frame.getContentPane();
JPanel jp = new JPanel();
JTextField TX = new JTextField(20);
JButton B1 = new JButton("OK");
actionA1 act = new actionA1();
B1.addActionListener(act);
display = new JLabel(" ");
jp.add(TX);
jp.add(B1);
contena.add(display,BorderLayout.NORTH);
contena.add(jp,BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
class actionA1 implements ActionListener{
public void actionPerformed(ActionEvent ae){
String pass = test.TX.getText();
test.display.setText("ok");
}
}
と書くとコンパイルは通りますが実行時にString pass = password.TX.getText();の行のせいでエラーが起きます。どうすればいいですか、、
0830829
2007/01/10(水) 23:58:440831デフォルトの名無しさん
2007/01/11(木) 00:02:46> JTextField TX = new JTextField(20);
局所変数宣言して、そっちを初期化しちゃってるから、
static JTextField TX; の方は何も代入されてない状態なんじゃね?
0832デフォルトの名無しさん
2007/01/11(木) 00:04:01static JTextField TX;
mainの中でローカル変数として
JTextField TX = new JTextField(20);
このとき、
String pass = test.TX.getText();
で参照されるのは未初期化の前者。
0833デフォルトの名無しさん
2007/01/11(木) 00:10:43orz
じゃあ、そのローカル変数から文字列を取り出すにはどうすればいいですかね、、、
0834デフォルトの名無しさん
2007/01/11(木) 00:30:17JTextField TX = new JTextField(20);
を
TX = new JTextField(20);
とする。
0835デフォルトの名無しさん
2007/01/11(木) 00:50:03自宅PCで実行したいと思ってます。
tomcatはダウンロードできましたがとapacheはどこでダウンロードすればいいのか分かりませんでした。
それと、Apache Software Foundationとは何ですか?
0836デフォルトの名無しさん
2007/01/11(木) 00:56:14tomcat と apache の連携を考える人が
apache がどこにあるか分からんてのはありえんと思う。
どこで apache を知ったのか興味がある。
0837デフォルトの名無しさん
2007/01/11(木) 01:02:48apacheは学校で知りました。
連携も資料があるから大体分かりそうなんですけど
ネットでapache探してもどこからダウンロードすればいいのか分からなくて困っています。
ttp://www.apache.jp/dist/httpd/
↑とか見ても何をどうしていいのやら・・・。
0838デフォルトの名無しさん
2007/01/11(木) 01:12:40void gameTitle()内の
buffer_g = buffer.getGraphics();
の行でNullPointerExceptionエラーがでてしまいます。
ググってみたも同じような例を見つけれませんでした。
どなたかご教授お願いいたします。
0839デフォルトの名無しさん
2007/01/11(木) 01:39:40質問
http://vista.jeez.jp/img/vi6844708650.png
こんな感じで、JFrameとかJOptionPaneの終了ボタンを
灰色にするにはどうすりゃいいでしょうか。
0840デフォルトの名無しさん
2007/01/11(木) 02:04:50とにかく入れるだけで、しかもWindowsであるなら
窓の杜(http://www.forest.impress.co.jp/lib/inet/servernt/server/apache.html)から
apache_2.2.4-win32-x86-no_ssl.msi でも選んどけばよろしいかと。
Apache 入れるだけの話なら Web制作板の方が適当だし、
詳しい話にも付き合ってくれると思う。
>Apache Software Foundation とは
ttp://ja.wikipedia.org/wiki/Apache%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E8%B2%A1%E5%9B%A3
特にJava関連の良質なプロジェクトが多いので
このスレに出入りするなら今後もお付き合いすることになると思うよ。
0841デフォルトの名無しさん
2007/01/11(木) 02:07:51init() 内で buffer を初期化する前に、gameTitle() が呼ばれちゃってて
buffer_g = buffer.getGraphics(); の時には buffer が null のまんまとか。
0842デフォルトの名無しさん
2007/01/11(木) 02:10:07String pushTitle(String n){
try{
String title;
String rss = n;
DocumentBuilderFactory doc = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = doc.newDocumentBuilder();
URL adress = new URL(rss); // 対象URLの読み込み
InputStream main = adress.openStream(); // 入力ストリームに展開
Document doct = builder.parse(main);
Element root = doct.getDocumentElement();
NodeList btitle = root.getElementsByTagName("title");
Element element = (Element)btitle;
title = (String)element.getFirstChild().getNodeValue();
return title;
} catch(Exception e){
System.out.println("エラー");
}
}
このメソッドは型 String の結果を戻す必要があります。
というメッセージが出るのですが、titleの型はString指定しているのですが、これでも駄目なんでしょうか?
0843デフォルトの名無しさん
2007/01/11(木) 02:10:12http://www.google.co.jp/search?hl=ja&q=apache+%E5%85%A5%E9%96%80+-%22ISBN%22&lr=
http://search.vector.co.jp/search?query=apache
そもそも Apache 関連は板違い。まぁ、がんがれ。
0844デフォルトの名無しさん
2007/01/11(木) 02:11:42たしかAWT/Swingでは無理じゃなかったっけか?
0845デフォルトの名無しさん
2007/01/11(木) 02:14:39> catch(Exception e)
こっちのブロックでも String型の値を return するか、
Error か RuntimeException のサブクラスを throw する必要がある。
もしくはメソッドにthrows節つけてExceptionのサブクラスでもいいけど。
0846デフォルトの名無しさん
2007/01/11(木) 02:17:05どこさがしてもないんですよねー
なんでないんだろ
意味わからんね
0847デフォルトの名無しさん
2007/01/11(木) 02:18:56言われてみれば確かにcatch側でも戻り値設定しなきゃ無理ですよね^^;
ありがとうございました。
エラー処理はpackageを扱う側でやってるので、catchの中に戻り値設定する方法でやってみます。
エラー自体はお蔭様で消えました。
0848デフォルトの名無しさん
2007/01/11(木) 02:23:18理由は知らん。Unixだと実装できないとか? そーゆー理由かも?
0849デフォルトの名無しさん
2007/01/11(木) 02:29:36その機能が欲しいなら
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4803752
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6199687
あたりに vote しといてくれ。
0850デフォルトの名無しさん
2007/01/11(木) 02:30:50これならできそうです。どうもありがとう。
>>843
板違いでしたか。
あまりよく分かってませんでした、ごめんなさい。
0852デフォルトの名無しさん
2007/01/11(木) 02:42:06init() の先頭にある
> th = new Thread(this);
> th.start();
を init() の最後にもってくるとか。
0854デフォルトの名無しさん
2007/01/11(木) 03:02:22class Book
{
//フィールドの宣言
String title;
String author;
int price;
//フィールドの値を返すメソッド
//書名を返す
String getTitle() {
return title;
}
//著者名を返す
String getAuthor() {
return author;
}
int getPrice() {
return price;
}
void setTitle(String title){
t = title;
}
void setAuthor(String author){
a = author;
void setPrice(int price){
p = price;
}
}
0855デフォルトの名無しさん
2007/01/11(木) 03:03:09{
public static void main(String args[]) {
Book book1;
book1 = new Book();
book1.title = "基礎JAVA";
book1.author = "山田 洋一";
book1.price = 2400;
System.out.println("title:"+book1.setTitle());
System.out.println("author:"+book1.setAuthor());
System.out.println("price:"+book1.getPrice());
}
}
0856854,855,856
2007/01/11(木) 03:04:56改行の関係で分割して載せました。。どこが悪いか教えてほしいのですが・・
C:\Documents and Settings\t\デスクトップ\java>javac Hon3.java
Hon3.java:27: 式の開始が不正です。
void setPrice(int price){
^
Hon3.java:30: ';' がありません。
}
^
Hon3.java:46: '}' がありません。
^
エラー 3 個
0857デフォルトの名無しさん
2007/01/11(木) 03:22:12setAuthor() が閉じてない。
あるいは setAuthor() 内に setPrice() を
定義しようとしたのかも知れないけど
Java では関数内関数の定義は無理。
# 関数内クラスの定義は可能なので冗長で構わないなら同等のことは出来る
0858デフォルトの名無しさん
2007/01/11(木) 03:30:344文字以上ならエラーを出し、もう一度聞きなおすにはどうすればいいのでしょうか?
0859854,855,856
2007/01/11(木) 03:34:27式の開始が不正・・・
0860デフォルトの名無しさん
2007/01/11(木) 03:42:26もしかして 854(Book) も Hon3.java に記述してる?
Java は一つのソースファイルに原則一つしかクラス(orインターフェース)定義できないよ。
(クラス内クラスとかなら書ける。)
で、クラス名とソースファイル名が合致してる必要もあり。
854 の内容は Book.java に書く。
0861854,855,856
2007/01/11(木) 03:42:44C:\Documents and Settings\t\デスクトップ\java>javac Hon3.java
Hon3.java:23: シンボルを見つけられません。
シンボル: 変数 t
場所 : Book の クラス
t = title;
^
Hon3.java:26: シンボルを見つけられません。
シンボル: 変数 a
場所 : Book の クラス
a = author;
^
Hon3.java:29: シンボルを見つけられません。
シンボル: 変数 p
場所 : Book の クラス
p = price;
^
Hon3.java:42: setTitle(java.lang.String) (Book 内) を () に適用できません
System.out.println("title:"+book1.setTitle());
^
Hon3.java:43: setAuthor(java.lang.String) (Book 内) を () に適用できません
System.out.println("author:"+book1.setAuthor());
^
Hon3.java:44: setPrice(int) (Book 内) を () に適用できません
System.out.println("price:"+book1.setPrice());
0862デフォルトの名無しさん
2007/01/11(木) 03:50:22入力の確定はEnter?
であるならば普通に readlLine() して
読み込んだ文字数調べて4以上なら
またやり直すように while 文回せばヨロシ。
0863デフォルトの名無しさん
2007/01/11(木) 03:52:11変数 t とか変数 a とかどこで宣言してるのさ・・
this.title = title だと脳内で読んじまってたよ。
0864854,855,856
2007/01/11(木) 03:58:22t=title; と書いたとこは、 ____ = title;
となってる穴埋めで、他に思いつかなくてついtと書いてしまったのです。
条件としてはsetTitleで出力を行うことなので、悩んでいます。
0865デフォルトの名無しさん
2007/01/11(木) 04:06:390866854,855,856
2007/01/11(木) 04:09:01this author = author;
this price = price;
にしたら、エラーがだいぶ減った・・
ただ、まだ3つありますな、。
C:\Documents and Settings\t\デスクトップ\java>javac Hon3.java
Hon3.java:42: setTitle(java.lang.String) (Book 内) を () に適用できません
System.out.println("title:"+book1.setTitle());
^
Hon3.java:43: setAuthor(java.lang.String) (Book 内) を () に適用できません
System.out.println("author:"+book1.setAuthor());
^
Hon3.java:44: setPrice(int) (Book 内) を () に適用できません
System.out.println("price:"+book1.setPrice());
^
エラー 3 個
0867デフォルトの名無しさん
2007/01/11(木) 04:11:05パトラッシュ僕疲れたよ。なんだかとっても眠いんだ。
0869デフォルトの名無しさん
2007/01/11(木) 04:19:56String#lengthくらいは知っておいても損はないぞ。
正確にはchar数であって文字数じゃないけどね。
0870858
2007/01/11(木) 04:25:410871デフォルトの名無しさん
2007/01/11(木) 05:14:48宿題スレには宿題スレのルールというものがあるんよ
setTitle, setAuthor, setPriceはどれも値を返さないメソッド
しかもそれぞれ引数を要求する
titleやauthorやpriceを返す別のメソッドを実装してそれをHon3の方で使う
0872デフォルトの名無しさん
2007/01/11(木) 06:58:23亀レスですがありがとう、、
ってか思いっきりケアレスミス、、
0873デフォルトの名無しさん
2007/01/11(木) 07:10:55この環境におかれているサーブレット(Sample.class)をURLから
直接呼び出そうとしているんですが、うまくいきません。
web.xmlでURLパターンを記している場合、
そのパターンで指定した論理名でアクセスできることは確認しました。
しかし、web.xmlにサーブレットの情報を記述せずに、
下記のアドレスで、直接アクセスしようとすると、ステータスコード404が
返って来ます。今読んでいる本には、サーブレットに直接アクセスできると
書いていたんですが、どうしたらいいのでしょうか?
http://localhost:8080/testapp/testapp.Sample
0874デフォルトの名無しさん
2007/01/11(木) 07:19:31http://localhost:8080/testapp/testapp.Sample にアクセスしてみても
404が返ってきます。
<servlet>
<servlet-name>Sample</servlet-name>
<servlet-class>testapp.Sample</servlet-class>
</servlet>
0875デフォルトの名無しさん
2007/01/11(木) 07:45:10Servletクラス名直接指定はセキュリティ上の問題が大ありなので、
デフォルトでは無効になっている。
どうしてもというのなら
「InvokerServlet」でぐぐってみろ。
0876デフォルトの名無しさん
2007/01/11(木) 08:21:42いや〜ありがとうございます!
3年ほど前の本で勉強してたので、サーブレットの仕様が変わっちゃったのでしょうかね。
0877デフォルトの名無しさん
2007/01/11(木) 08:49:16Servletの仕様じゃなくて、Tomcatの仕様変更。
0878デフォルトの名無しさん
2007/01/11(木) 09:27:46TOMCATの変更でしたか。勉強になりました。
0879デフォルトの名無しさん
2007/01/11(木) 09:52:270880デフォルトの名無しさん
2007/01/11(木) 09:54:10もう4年以上も昔のことなんだけどな。
ttp://archive.apache.org/dist/tomcat/tomcat-4/archive/v4.1.12/RELEASE-NOTES
0881デフォルトの名無しさん
2007/01/11(木) 10:51:094.1.12からの変更ですか・・・
この本には、特にweb.xmlにInvokerServletについて、設定を記すべきと書いてないので、
この本ちょっと不親切ですね。。
一応報告ですけど、さきほど、web.xmlにInvokerServletに関する設定を記した結果、
サーブレットを直接呼び出すことができました。
WEB-INFの下のweb.xmlか、%TOMCAT_HOME%\conf\web.xmlの
どちらかのweb.xmlにInvokerServletに関する設定を記述しないといけないようでした。
はじめは、自分の手違いから、両方に記述していたので、うまくいきませんでした。
コンテナ起動時に、タグ名がユニークじゃないというエラーが発生。(Child name 'invoker' is not unique)
ある本で、何かの設定について、
WEB-INFの下のweb.xmlと%TOMCAT_HOME%\conf\web.xmlに同じ設定が
記されていた場合、WEB-INFの下のweb.xmlの設定が優先させるということを
読んだことがあったので、両方記述しても大丈夫だろうと勝手に判断していました。orz
InvokerServletの設定に関しては、どちら一方のweb.xmlに記述しないといけないみたいですね。
0882デフォルトの名無しさん
2007/01/11(木) 11:20:50キーイベントとかインプットマップなど
0883デフォルトの名無しさん
2007/01/11(木) 13:53:27mainメソッド以外でコマンドライン引数を得るにはどうしたらいいんでしょうか?
よろしくお願いします。
0884デフォルトの名無しさん
2007/01/11(木) 14:05:48再生時間を調整できるよにするにはどうしたらいいですか?
0885デフォルトの名無しさん
2007/01/11(木) 14:13:02うまい方法が見当たらなかったので・・・・
0886デフォルトの名無しさん
2007/01/11(木) 14:17:150887デフォルトの名無しさん
2007/01/11(木) 14:59:201.4 以降で一行で書きたいなら
byte[] array = ByteBuffer.allocate(4).putInt( value ).array();
0888デフォルトの名無しさん
2007/01/11(木) 15:09:06すいません。1.3.1でお願いします…
0889デフォルトの名無しさん
2007/01/11(木) 15:24:59ByteArrayOutputStream bout = new ByteArrayOutputStream();
new ObjectOutputStream(bout).writeInt( value );
byte[] array = bout.toByteArray();
エンディアンが違ったらダメだけど。
0890デフォルトの名無しさん
2007/01/11(木) 15:34:07> ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21438&forum=12&17
static byte[] chgBytes( int i ){
byte[] b = new byte[4] ;
b[0] = (byte)((i >>> 24 ) & 0xFF);
b[1] = (byte)((i >>> 16 ) & 0xFF);
b[2] = (byte)((i >>> 8 ) & 0xFF);
b[3] = (byte)((i >>> 0 ) & 0xFF);
return b;
}
バイトオーダー違うならひっくり返せ。
0891デフォルトの名無しさん
2007/01/11(木) 15:50:39& 0xFF は要らない。
0892デフォルトの名無しさん
2007/01/11(木) 15:50:38ttp://java.sun.com/products/java-media/jmf/2.1.1/formats.html
ファイル形式:.wav
サンプル率:44.100kHz
サンプルサイズ:16Bit
チャンネル:ステレオ
は問題なく再生出来そうなのですが再生に失敗します。(下記エラーメッセージ)
Unable to handle format: LINEAR, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 176400.0 frame rate, FrameSize=32 bits
Failed to prefetch: com.sun.media.PlaybackEngine@15c7850
Error: Unable to prefetch com.sun.media.PlaybackEngine@15c7850
また、ステレオ→モノラルにしたファイルは再生が可能です。
ファイル形式:.wav
サンプル率:44.100kHz
サンプルサイズ:16Bit
チャンネル:ステレオ
理由が分かる方、教えて下さい。
0893892
2007/01/11(木) 17:14:07しかし、数回に一度上記のような警告が出ます。
タイミング的なものなのでしょうか・・・。
0894デフォルトの名無しさん
2007/01/11(木) 18:37:000895デフォルトの名無しさん
2007/01/11(木) 18:42:14複数のソースファイルでのプログラミング方法がよく分かりません。
プログラムが長くなると色々不便なので、この分割する方法が知りたいです。
参考URL知りませんか?
0896デフォルトの名無しさん
2007/01/11(木) 18:43:590897892
2007/01/11(木) 18:50:33各処理をスレッドにて行うようにしたら現象は出なくなりました。
・・・しかし根本的な解決になっていない気がします。
>>894
もう少し・・・・もう少しだけヒントを下さい。
Prefetchable.isPrefetched()、Controller.prefetch()
ここら辺を勉強すれば良いですか?
0898892
2007/01/11(木) 19:03:58助言どおりplayerのprefetchを呼び出したら現象が出なくなりました。
現在、現象を理解できていないのでこれから調査したいと思います。
ありがとうございました。
0899ぴゅあ
2007/01/11(木) 19:33:17このあたりを参考にしてみては?
http://www.forest.impress.co.jp/lib/sys/file/fileseprat/jydivide.html
0900デフォルトの名無しさん
2007/01/11(木) 19:56:02そのようなプログラムを作りたいのですが、どのようなプログラムなんでしょう?
0901デフォルトの名無しさん
2007/01/11(木) 21:18:56どう見ても違うと思うw
Javaには#includeは無いからファイル分割は
クラス分割につながるんだということを
知らないと・・・・・
>>900
宿題頑張れ
0902デフォルトの名無しさん
2007/01/11(木) 21:35:50ランダムな数字を作る×3
平均値を求める
表示する
0904uchu
2007/01/11(木) 22:33:41文字列aaaを表示して、その後に文字列bbbを表示するには
どうしたらよいでしょうか?
tf.setText("aaa");
// 時間かせぎ
mThread thread = new mThread();
thread.start();
try {
thread.join();
} catch (InterruptedException e1) {
}
tf.setText("bbb");
// 時間かせぎ
mThread thread = new mThread();
thread.start();
try {
thread.join();
} catch (InterruptedException e1) {
}
tf.setText("ccc");
のようなコードを実行すると、bbbが表示されずに、時間稼ぎ処理の
時間のあとにcccが表示されてしまいます。
0905デフォルトの名無しさん
2007/01/11(木) 22:49:22ここを参照
ttp://pc10.2ch.net/test/read.cgi/tech/1126470659/977-
0906デフォルトの名無しさん
2007/01/11(木) 23:13:29またJAVAの勉強もしようと思い勉強開始しました。
それで、独習JAVAで一通り勉強した頃は、特に気にもしなかったんですがクラス内で
intなりのメンバを定義するときpublic,private,protectedを書かないと
どういう扱いになるんでしょうか。
それと、メソッドには必ずアクセス制御修飾子をつけるであっているでしょうか。
あと、蛇足ですがNetBeansをインストールして、なんとなく使っていて、コマンドライン引数を
取るにはどうしたら良いんでしょうか。スレ違いなのはわかりますし、サーバーとクライアント
をコンソールウィンドウ2つ使ってネットワーキングプログラムの勉強も出来なさそう
(コンソールウィンドウで実行すればコマンドライン引数をとれるのはわかりますが)
で、エディタとして便利という理由でNetBeansを使ってるんですが上記の2点の解決方法
を知ってる方いらっしゃったら教えてください。
0907デフォルトの名無しさん
2007/01/11(木) 23:15:070908デフォルトの名無しさん
2007/01/11(木) 23:20:15言語仕様を調べるとか、書籍で調べるたぐいの質問だな。
0909デフォルトの名無しさん
2007/01/11(木) 23:42:59> public,private,protectedを書かないと
デフォルトの(package private とか言われる)アクセス制御になる。
> それと、メソッドには必ずアクセス制御修飾子をつけるであっているでしょうか。
フィールドと同じ。
> コマンドライン引数を
日本語化してるならプロジェクトのプロパティ開いて、
「実行」ってカテゴリのところに「引数」って項目がある。
サーバーとクライアント操作するならコンソール二つ使った方が早いと思うけど。
0910デフォルトの名無しさん
2007/01/12(金) 00:28:30中級者向けの本見たら、パッケージを使えば、複数のjavaファイルでプログラムが組めることが分かりました。
絵の多い初心者向けの本しか読んでなかったので・・・。
0911デフォルトの名無しさん
2007/01/12(金) 00:56:38自力で何かつかんだ様で何より
0912ぴゅあ
2007/01/12(金) 01:02:12解決したようでなによりです
0913デフォルトの名無しさん
2007/01/12(金) 01:11:05インスタンスの生成を伴わないソートライブラリはどこかにありませんでしょうか。
0914デフォルトの名無しさん
2007/01/12(金) 01:15:00static void sort(Object[] a)
とあるんだが。
0915デフォルトの名無しさん
2007/01/12(金) 01:15:500916デフォルトの名無しさん
2007/01/12(金) 01:34:01http://www.manageability.org/blog/stuff/open-source-java-data-structures-and-algorithms/view
にいろいろ集まってるからあるかもしれん。Commonsのにはなかった。
0917デフォルトの名無しさん
2007/01/12(金) 01:49:07自分で heapsort か quicksort でも実装すれば? 安定じゃないけど。
mergesort は安定だけどインデックスとか参照とかの配列みたいのが1.5本ないとダメだし。
Arrays.sort(Object[]) がダメって事はメモリが余程足りないんだろうから heapsort の方が良いのか?
速度関係ないとか要素数少ないなら bubble sort でも何でも良いけど。
0918デフォルトの名無しさん
2007/01/12(金) 02:30:04ディープクローンじゃないんだから。
よっぽど要素数が万単位ならわかるけど。
0919デフォルトの名無しさん
2007/01/12(金) 08:23:51結構難しいんでしょうか
0920デフォルトの名無しさん
2007/01/12(金) 08:27:330921デフォルトの名無しさん
2007/01/12(金) 08:48:080923デフォルトの名無しさん
2007/01/12(金) 11:31:31↓この認識であってますでしょうか?
クッキーは、レスポンス時にヘッダ情報の中に格納されて
サーバ側からクライアント側に送信される。
クライアント側からサーバ側へ再びリクエストするときには、
ローカルに保存していたクッキーからデータを読み取り、
リクエストデータのヘッダ情報の中に格納して、サーバへリクエストする。
(たぶん、ここまではあってると思うのですが。。)
jsessionid(これもクッキーである)だけをクライアント−サーバ間で
やりとりするときは、クライアント側でjsessionidを受け取っても
ローカルにクッキーとして保存しないで、ブラウザがjsessionidの情報を
保持している。(?)
↑のように思ったのは、jsessionidだけをクライアント−サーバ間で
やりとりしてるときは、ローカルにクッキーファイルが作成されなかったからです。
では、クライアントはjsessionidをどこで保持しているのだろうと考えた結果、
ブラウザが保持している?と思い至りました。
サーバ側において、jsessionid以外のクッキーを生成し、
レスポンスオブジェクトに格納して、クライアントに送信すると、
ちゃんとクライアント側のローカルでクッキーファイルが保存されるんですが、
そのクッキーファイルを開いてみても、jsessionidに関する情報がないんですよね。。
そもそも、jsessionidについては、他のクッキーとは扱いが違うのでしょうか?
0924デフォルトの名無しさん
2007/01/12(金) 11:37:110925デフォルトの名無しさん
2007/01/12(金) 11:44:050926デフォルトの名無しさん
2007/01/12(金) 12:12:42そのキーワードでぐぐってみました。ありがとうございます!
セッションIDは、セッションクッキー(一時的に使用し、ブラウザを閉じるまで有効)という
ことですね。
だから、もともと、ローカルに保存されるものではない。(イメージとして、ローカルに保存して
おいて、ブラウザを閉じたときに削除するのだろうと思ってました。^^; )
ためしに、他にクッキーを作り、setMaxAge()を設定せずに(あるいは、setMaxAge(-1)を設定して)、
レスポンス情報に格納し、クライアント側に渡したところ、jsessionidと同じく
ローカルに保存されていませんでした。
0927デフォルトの名無しさん
2007/01/12(金) 12:24:090928デフォルトの名無しさん
2007/01/12(金) 13:25:330929デフォルトの名無しさん
2007/01/12(金) 13:31:450930デフォルトの名無しさん
2007/01/12(金) 14:21:02filelistを使って出力させるプログラムを作成しているのですが
日本語のフォルダやデータが?で文字化けしてしまいます
うまく表示させるにはどうすればよいでしょうか
// セッションを取得します
HttpSession session = request.getSession(true);
String directory = (String)session.getAttribute("DIRDATA");
//ディレクトリ情報を格納
File filelist[] = new File(directory).listFiles();
PrintWriter pw;
pw = response.getWriter();
//全て出力
for (int i = 0 ; i < filelist.length ; i++) {
if (filelist[i].isFile()){
pw.println("[Data]" + filelist[i].getName() + " : " + filelist[i].length() + "byte");
}else if (filelist[i].isDirectory()){
pw.println("[Folder]" + filelist[i].getName());
}
}
0931デフォルトの名無しさん
2007/01/12(金) 15:06:14for(i=0;i<=3;i=i+1){
〜
for(j=0;j<=2;j=j+1){
〜
}
}
以上のような構造の場合、この後でSystem.out.println(i+j);などとするとjだけが「初期化されてない」と
エラーになるのですがこれは何故でしょうか?
0932デフォルトの名無しさん
2007/01/12(金) 15:16:54response.setContentType("text/html; charset=Windows-31J");
とか、サーバが動いている文字コードに合わせてやればいいのか?
0933デフォルトの名無しさん
2007/01/12(金) 15:19:38JLabel "label"+i = new JLabel();
こんな感じにインスタンス名に変数を含ませたいんですができますか?
0934デフォルトの名無しさん
2007/01/12(金) 15:20:33そのようです
ご返答ありがとうございました
ファイルのダウンロードのほうも直さなきゃ・・・
0935デフォルトの名無しさん
2007/01/12(金) 15:21:19それするくらいなら配列にするとか、
名前付けて、Mapに入れればいいんじゃないか?
系統だって変数を管理したいというのが元々のしたいことなんだから。
0936デフォルトの名無しさん
2007/01/12(金) 15:44:20同じスコープで初期化しないとダメかと思って
int i,j;
{{j=0;}}
for(i=0;i<5;++i){
for(j=0;j<5;++j){
}
}
i=j;
ってやってみたけど、エラーにならなかった。
多分for内で初期化処理は行われない可能性があるからじゃないかな。
なんなら
int i=0,j=0;
for(i=0;i<=3;i=i+1){
〜
for(j=0;j<=2;j=j+1){
〜
}
って書けば良いとおもうよ。
}
0937デフォルトの名無しさん
2007/01/12(金) 16:08:26言語規定で決められてるから。
簡単に言うと、for(i=0;i<=3;i=i+1) の i < 5 は定数式じゃないので
i < 5 が true になるときと false になるときの両方を調べる。
i < 5 が true になるときは for(j=0;j<=2;j=j+1) に行けるので j は「確実に代入」になるけど
i < 5 が false になるときは for(j=0;j<=2;j=j+1) に行けないので j は「確実に未代入」となる。
で、i < 5 が true と false になるとき、の両方で「確実に代入」されてないので
j は言語規定により、コンパイル時エラーにしなければならない。
詳しくは以下参照。
16. 確実な代入
http://www.y-adagio.com/public/standards/tr_javalang2/defAssign.doc.html#25980
0938デフォルトの名無しさん
2007/01/12(金) 16:10:07× 簡単に言うと、for(i=0;i<=3;i=i+1) の i < 5 は定数式じゃないので
○ 簡単に言うと、for(i=0;i<=3;i=i+1) の i <= 3 は定数式じゃないので
他も全部脳内修正してくれ。
0939デフォルトの名無しさん
2007/01/12(金) 16:22:17○
○○○
○
○
…
○
EOF
これを読み込むための配列の宣言がわかりません。
どうすればいいですか
0940デフォルトの名無しさん
2007/01/12(金) 16:33:28配列を作って、巻き戻して改めて読み直す。
方法2: 適当なサイズにしておき、足りなくなったら適当にサイズの配列を
用意して今までの分を新しい配列の途中までコピーし、続きを読む。
(必要なら、読み終わったらぴったりのサイズの配列にコピーし直す)
方法3: Listを使う。
どうしても配列じゃなきゃダメな場合(APIが要求してるとか速度とか)
でない限りList使え。
0941デフォルトの名無しさん
2007/01/12(金) 18:13:26よっぽどクリティカルでもない限り、殆ど気にならないレベルだと思うけど
0942933
2007/01/12(金) 18:13:32有難うございます。
配列で管理することにしました。
0943デフォルトの名無しさん
2007/01/12(金) 18:18:52JScrollPaneにLineBorderを適用しようとしているのですが
ScrollBarに付いている上下のボタン(三角印のあるボタン)の凹凸を取り除く方法が分かりません。
Border border = BorderFactory.createLineBorder(Color.BLACK, 1);
JScrollPane.setBorder(border)
JScrollPane.getHorizontalScrollBar().setBorder(border);
JScrollPane.getVerticalScrollBar().setBorder(border);
知っている方がいましたら宜しくお願い致します。
0944デフォルトの名無しさん
2007/01/12(金) 20:07:55ありがとうございました。
ArrayListを使って値を読み込むことはできました
配列を使いたいのはPoint3Dを使いたいからで。。。
ArrayList→Point3D(x,y,z)のそれぞれに値を入れていくことはできるのでしょうか
0945デフォルトの名無しさん
2007/01/12(金) 20:20:08つーか情報を小出しにしないで最終的に何がやりたいのかはっきり書いた方がいいぞ。
0946デフォルトの名無しさん
2007/01/12(金) 20:25:59JDKはいくつ?
0947デフォルトの名無しさん
2007/01/12(金) 20:36:30Java3Dで座標点を表示させるプログラムなのですが
x y z
x y z
…
x y z
というものをPoint3D(x y z)に入れて表示するというプログラムなのですが
このPoint3Dを格納する配列をプログラム側で一回一回指定しなくてはならないのです
Point3D vertex = new Point3D[座標点数];
try {
ファイル読み込み
tokenize vertex[].x=ファイル.nval (略
}
catch {エラー処理}
vertexを表示させる
という流れなのですが
try の中で先に数えようとすると、tryの外のvertexを読み込ませるところでエラーが出てしまうのです
0948デフォルトの名無しさん
2007/01/12(金) 20:55:41だったんだけど、1.5なら使えるね。
// import java.util.ArrayList;
// import java.util.List;
List<Point3d> vertices = new ArrayLit<Point3d>();
ファイル読み込みループ:
double x, y, z = ...
Point3d p = new Point3d(x, y, z);
vertices.add(p);
ループ繰り返し
でやれない? 事前に行数数える必要ないよ。
配列にしたければ、ループ出てから
Point3d[] vertexArray = vertices.toArray(new Point3d[vertices.size()]);
0949デフォルトの名無しさん
2007/01/12(金) 21:08:03N−88日本語BASICのほうが、やっていて楽しい。
JAVAを続けててもストレスで剥げるだけだ。やめるべきだ。
0950デフォルトの名無しさん
2007/01/12(金) 21:17:05ありがとうございます!できました!!
もっと精進します
0951デフォルトの名無しさん
2007/01/12(金) 21:46:09あほですか?
BASICの方がストレス溜まるだろ
0952デフォルトの名無しさん
2007/01/12(金) 21:56:34JAVAとはそういった言語だ。やめるべきだ。
0953デフォルトの名無しさん
2007/01/12(金) 22:01:510954デフォルトの名無しさん
2007/01/12(金) 22:27:10【質問】
class Dialog1 extends JDialog {
jButton.addWindowListener(new CloseListener);
}
class Dialog2 extends JDialog {
jButton.addWinowListener(new CloseListener);
}
class CloseListener implements WindowAdapter {
// オーバーライド
public void windowClosing() {
}
}
かなり省略してますが
Dialog1クラスとDialog2クラスの「終了ボタン」が押されたときに、
CloseListener.windowClosing()の処理をさせるという感じのコードです。
このままだとDialog1クラスとDialog2クラスの「終了ボタン」の処理が同じになります。
そうではなくて、別々の処理にするにはどうすればいいでしょうか。
WindowAdapterをimplementsしたクラスを別途作れば簡単ですが、
あくまでもCloseListenerクラス内で両方の処理をしたいんです。
無理?
0955デフォルトの名無しさん
2007/01/12(金) 22:30:48イベント発生の出所を取得できる。
これで分岐させられるでしょ?
0956ぴゅあ
2007/01/12(金) 22:31:35で取れますよ
0958デフォルトの名無しさん
2007/01/12(金) 22:37:39>両方の処理をしたいんです。
0959デフォルトの名無しさん
2007/01/12(金) 22:40:38もうちょっとだけkwsk
0960919
2007/01/12(金) 22:44:080961デフォルトの名無しさん
2007/01/12(金) 22:50:42BASICなら2行で済む処理を
なぜ何10行もかけなくてはならないのか
0962ネカマ由紀恵
2007/01/12(金) 22:52:05public void windowClosing(WindowEvent e) {
if (e.getSource() instanceof Dialog1) {
// 任意の処理
} else if (e.getSource() instanceof Dialog2) {
// 任意の処理
}
}
こんな感じ。
インスタンスと直接比較しても良いし。
あと、
メソッド再呼び出しが嫌なら
ローカル変数に蓄えたりして。
0964デフォルトの名無しさん
2007/01/13(土) 00:23:31マウスを右クリックした時に、キーを何も押さなくても isMetaDown() で true が返ってきます。
マウスを中クリックした時に、キーを何も押さなくても isAltDown() で true が返ってきます。
これはどうなっているのでしょうか??
環境は
java.version 1.6.0
java.runtime.version 1.6.0-b105
こんな感じです。
0965デフォルトの名無しさん
2007/01/13(土) 00:30:170966デフォルトの名無しさん
2007/01/13(土) 01:47:21おいらも n88-BASIC 経験者だが、あんたは n88-BASIC を作れるのか?
あんたの理屈は「三輪車なら誰でもすぐに乗れるのに、自動車なんか
免許の取得だけでもウン十万もかかる。何故そんな無駄なことをするのか?」
と言っているようなモンだ。
大人しく三輪車に乗っとけ。そもそもスレ違いだ。
0967デフォルトの名無しさん
2007/01/13(土) 01:49:040968デフォルトの名無しさん
2007/01/13(土) 02:51:11String rss = request.getParameter("rss");
try{
Class.forName("org.gjt.mm.mysql.Driver");
Connection users2 = DriverManager.getConnection(
"jdbc:mysql://localhost/db","root","pass");
Statement state2 = users2.createStatement();
int action2 = state2.executeUpdate("insert into rss set" +
"id=\"" + id + "\",adress=\"" + rss +"\"");
state2.close();
users2.close();
out.println("<h3>登録しました。</h3>");
} catch(Exception e){
out.println("出力異常");
}
のソースをServletで作ったんだけど、必ず出力異常の方が出ます。
JSPから値をもらっているのはprintlnで確認したので、明らかにtryの中身で何かが起こっていると
思うのですが原因が判明しません。
どの辺りが間違っているのか見当付きませんか?
よろしくお願いします。
0969デフォルトの名無しさん
2007/01/13(土) 02:54:39なんでスタック・トレースの出力をしないの?
0970デフォルトの名無しさん
2007/01/13(土) 02:56:03MySQLの主キーの設定がおかしかったようですorz
マジごめんなさい。
>>969
ありがとう。
今回は解決したけど、次回からはそうする。
0971デフォルトの名無しさん
2007/01/13(土) 09:30:16アセンブラじゃないだけ助かる。
0972デフォルトの名無しさん
2007/01/13(土) 10:25:17英語のファイルは問題ないのですが日本語ファイルだと文字化けしてしまいます
setHeaderの中のファイル名部分を直接設定しても化けていたので
エンコードが悪いと思うのですがどうすればよいでしょうか
// ファイル読み込み用バッファ
byte buffer[] = new byte[4096];
String fileName = downloadFile.getName();
// 拡張子からcontentTypeを獲得
String contentType = "application/octet-stream";
// contentTypeを出力
response.setContentType(contentType);
// ファイル名の送信(attachment部分をinlineに変更すればインライン表示)
response.setHeader("Content-disposition", "attachment; filename=\""
+ fileName + "\"");
// ファイル内容の出力
ServletOutputStream out = response.getOutputStream();
FileInputStream fin = new FileInputStream(downloadFile);
int size;
while ((size = fin.read(buffer)) != -1) {
out.write(buffer, 0, size);
}
fin.close();
out.close();
0973デフォルトの名無しさん
2007/01/13(土) 10:32:46実装がメチャクチャ。
Firefox
→UTF-8のファイル名をBエンコーディングして書く
filename="=?UTF-8?B?エンコードされたファイル名?="
RFC2231的にはこれ(↑)が正しい。
Windowsで日本語環境のMSIEの場合
→ファイル名はShift_JIS(つーかWindows-31J)にして生で書く。
filename=生ファイル名
MacのSafari
→filename見てくれないみたい。
などなど。
0974デフォルトの名無しさん
2007/01/13(土) 11:18:260975デフォルトの名無しさん
2007/01/13(土) 11:53:34なるほど
それはめんどうくさいかもしれないですね
サファリは見てくれもしないのかぁ・・・
ご返答ありがとうございます
便乗質問で申し訳ないのですが
データではなく指定したフォルダ(と下位ディレクトリ)のダウンロードを
一度にさせることは可能でしょうか?
0976ぴゅあ
2007/01/13(土) 12:38:42このあたりを使ってみては?
http://www.forest.impress.co.jp/lib/inet/servernt/ftp/
0977デフォルトの名無しさん
2007/01/13(土) 14:41:16//キーボードの「↑(仮)」を押したら以下の処理を行う
System.out.println("テスト");
}
キーボードからの入力は文字以外のキーがよかったので↑にしたのですが
↓でも←でも→でもかまいませんが、
どのように記述すればいいでしょうか?
条件というほどではありませんが、
キーボードから特定のキーの入力が行われるまで待ってるだけなので
シンプルな命令がいいのですが・・・
どのように書けばいいでしょうか?
0978デフォルトの名無しさん
2007/01/13(土) 15:26:57つ KeyListener
0979デフォルトの名無しさん
2007/01/13(土) 15:27:51GUIアプリケーションならイベントで取れるけど、
コンソールアプリケーションだと JNI とか使わないと一行毎の入力しか取れないと思う。
0980デフォルトの名無しさん
2007/01/13(土) 16:05:15>>979
jlineってライブラリを使えばCUIでも1文字づつ読める。
JNIは、使ってないみたい。
http://jline.sourceforge.net/
//=============================
import jline.ConsoleReader;
public class Main {
public static void main(String[] args) throws Exception {
ConsoleReader r = new ConsoleReader();
int c;
while((c = r.readVirtualKey()) != -1) {
System.out.println(c);
}
}
}
0981デフォルトの名無しさん
2007/01/13(土) 16:13:53the character, or -1 if an EOF is received. って書いてるのに。
というわけで、適当に終了条件を変えてくれ。Ctrl-dなら4。Ctrl-zなら26。
0982デフォルトの名無しさん
2007/01/13(土) 16:29:17>>980
知識不足でよくわからなかったので
>>977のKeyListenerを使いました。
自分で考えてみたのですがここで詰まりましたorz
この先どうすれば実行できるでしょうか?
public class test implements KeyListener{
public void keyPressed(KeyEvent ke) {
}
public void keyReleased(KeyEvent ke) {
//ここになんて書いていいかわからないけど
//VK=UP(↑)を押すと下のプリントが行われテストと表示される
//ここになんて書けばいいんでしょうか?
System.out.println("テスト");
}
public void keyTyped(KeyEvent ke) {
}
}
0983デフォルトの名無しさん
2007/01/13(土) 16:46:25http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/awt/event/KeyEvent.html
if (KeyEvent.VK_UP == k.getKeyCode()) {
System.out.println("テスト");
}
0984デフォルトの名無しさん
2007/01/13(土) 16:47:24if (KeyEvent.VK_UP == ke.getKeyCode()) {
System.out.println("テスト");
}
0985デフォルトの名無しさん
2007/01/13(土) 16:52:500986デフォルトの名無しさん
2007/01/13(土) 17:00:04いや native つかってるねぇ……
jar の中から java.io.tmpdir に dll を摘出して、
dll は deleteOnExit しておいて System.load で dll をロードしてる。
0989デフォルトの名無しさん
2007/01/13(土) 17:11:36でもGUIじゃないと使えない
0990デフォルトの名無しさん
2007/01/13(土) 17:11:53985が言うようにKeyListenerを登録してるのか?
0991977
2007/01/13(土) 17:18:51よくわかんないけど・・・
public class Game implements KeyListener{
public void init(){
addKeyListener(this);
requestFocusInWindow();
}
public void keyPressed(KeyEvent ke) {
}
public void keyReleased(KeyEvent ke) {
if (KeyEvent.VK_UP == ke.getKeyCode()) {
System.out.println(”テスト”);
}
}
public void keyTyped(KeyEvent ke) {
}
}
じゃだめなのかな?
ちょっと根本的な間違いをしている気がするので
これ以外の部分のソース貼り付けますねorz
0992977
2007/01/13(土) 17:34:53問題なのは45行目くらいからです・・・
0993デフォルトの名無しさん
2007/01/13(土) 17:40:55S_T_Aクラスのコンストラクタでフォームにリスナを登録すれば、動くと思う。
public S_T_A() {
addKeyListener(new Game());
・・・・
}
0994デフォルトの名無しさん
2007/01/13(土) 17:41:38自助努力しようとする姿勢は認めるが、このままじゃマルチだ。
宿題スレの〆切を延ばしたりせずに何故依頼を撤回しなかったの?
0995デフォルトの名無しさん
2007/01/13(土) 17:50:15う〜ん?なぜ撤回しないのかね君
0996977
2007/01/13(土) 17:50:51試してみます
>>994
宿題スレに依頼はしていますが締め切りを延ばしてもらった後も自力で続けていたのですが、
全く作業が進みませんでした。そこでここで質問させていただきました。
宿題スレの方に頼りっぱなしというのもだめだと思い自力でやろうとしたのですが、
マルチになってしまいましたね・・・
自力でできるかわかんないけど宿題スレのほうは撤回してきます。
申し訳ありませんでした。
0997デフォルトの名無しさん
2007/01/13(土) 17:54:00【初心者】Java質問・相談スレッド96【大歓迎】
http://pc10.2ch.net/test/read.cgi/tech/1168678303/l50
0998デフォルトの名無しさん
2007/01/13(土) 17:54:430999デフォルトの名無しさん
2007/01/13(土) 18:03:12時間的に背っ羽詰まってるみたいだし
宿題スレの方で撤回してきてるし
977にやる気があるなら力になってやろうぜ
ここ初心者スレなわけだし
とりあえず次スレ行くべ
1000デフォルトの名無しさん
2007/01/13(土) 18:04:15そのとおりよ、みっちゃん
うふふ
さいごのしょうしゃはかなりあかしらかしら〜
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。