【初心者】Java質問・相談スレッド74【大歓迎】
2げっと
アプレットじゃなくてアプリでの画像の表示ってどうやるんですか? 同じ画像を縦横に並べて表示したいんですが
>>3 1. 表示したい画像の Icon を作成する
2. GridLayout(1, 2) の JPanel を作成する
3. 上記 1 で作成した Icon の JLabel を 2 つ作成し add する
あ、横に二つ並べるんじゃないのか。GridLayout で縦横好きなだけ、JLabel も 好きなだけ作って並べるヨロシ
ゲームのようにPCGデータを敷き詰めたいのかと思ったが、 それだとアプレットでも同じだしな
>>4 ありがとうございます
JPanelですか
初めて聞く名前です
調べてみます
>>6 32*32のBMPを縦横10個づつ敷き詰めたいんです
JPanellがわからないってことはもしかしてアプレットのコンテナのかわりとなる ウインドウの作り方がわからないってことなのか? だとしたらSwingとJFrameあたりから勉強するといいよ
お返事遅れました、すいません。 まだjava歴が浅いのでこれから調べつつ作業に取りかかります。 >前スレ991 開発環境はj2se1.4.28なのでGenericsは確か使えない(ですよね?)かと。 >前スレ992 ご指摘の通りal.(i)はal.get(i)の間違いです、コピペじゃなく手打ちしたんでミスりました。 パッケージは何も設定せずにデフォルトのままでclassesに突っ込んであったんで パッケージに入れてimportする事で大丈夫になったみたいです。 ただ、((JoinUserBean)joinUsers.get(0)).nameという行でClassCastExceptionが。 もうちょっと調べてみますorz
>>8 う〜んswingですか
名前聞いたことあるんですけど授業でやってないから使っていいかどうかわからないんで
使っていいってことなら勉強してみます
もしかしてAWTか
はいAWTです
雑談はじめんな
使っていいとかわけわからんな 自分の勉強のことじゃなくて宿題か? なら専用スレへ
Dimension[] dimension = {right,left}; と、してみたところ '.class'がありません。 となりました。 .classをどこにかけばよいのですか?
>>15 Dimension[] dimension = new Dimension[]{right, left};
↑
あ? .class って class リテラルか?
>>16 おかげ様で解決しました。ありがとうございます。
初歩の質問すみませんでした。
9で名前忘れてました。 なんとか解決しました、ありがとうございました。
サーブレットから、フォワードで外部のURL(ローカルじゃない)に、リクエストにセットした値 といっしょに飛ばしたいんだけど無理ですか? RequestDispatcherだと外部に飛ばせないし、Response redirectだと値がついてこないし。
21 :
デフォルトの名無しさん :2005/10/26(水) 23:24:58
String s = new String("ア".getBytes(), "UTF-8"); byte[] b = s.getBytes(); System.out.println(b[0]); 同じコードをwinとunixで動かすと結果が違うんですが、理由が分かりません。 どうしてなんでしょうか。
結果をかけよ
BigとLittleの違い
>>21 同じコンパイル済みクラスファイルをWin環境とUNIX環境で試してるのか?
それとも、各環境で同一のソースファイルをコンパイルしてるのか?
その場合はちゃんと文字エンコーディング指定してコンパイルしてるか?
それとも、各環境で同じソースをその都度書いてコンパイルしてるのか?
>>21 環境毎のデフォルトエンコーディングの違い。
>>21 "ア".getBytes() が環境のデフォルトエンコーディングの影響を受ける。
また、デフォルトエンコーディングが UTF-8 でない限り new String("
ア".getBytes(), "UTF-8") はぶっこわれた文字列になり、
s.getBytes() もまたデフォルトエンコーディングの影響を受けて、も
うメチャクチャ。
コンパイル前のソースファイル郡をもらったのですが 親フォルダの中にjavaファイルと子フォルダが4個ほどあり その子フォルダの中に7個くらいjavaファイルがありました。 これをコンパイルする方法がわかりません。 いままで一つづつのjavaファイルしかコンパイルしたことがありません。
>>27 親フォルダをカレントにして
java *.java
java <子フォルダ1>\*.java
java <子フォルダ2>\*.java
......
間違えた javac だ
cd c:\* でしょうか? javacを使わない方法はしりませんでした。。 勉強してきます
揚げ足取りのようになってしまい もうしわけありませんでした。 早速ためしてみます。ありがとうございます
32 :
デフォルトの名無しさん :2005/10/27(木) 01:46:56
以下のプログラムはいわゆる「エラトステネスのふるい」というアルゴ リズムによって整数2からN(今は10000に設定)までの素数の判 定を行うプログラムの核心部をPascalで書き出したものである。このア ルゴリズムについてはプログラムを読むことによってどういうものか理 解してほしい。Boolean型配列aの添字に対応する数字が素数であればTR UEを、そうでなければFALSEを設定することで判定結果を保存する。 1. boolean a[] = new boolean [1000001]; 2. int i,j ; 3. int N = 10000 ; 4. a[0]=false; 5. a[1]=false; 6. for(i=2;i<=N;i++) a[i]=true ; 7. for(i=2;i<=N/2;i++) 8. for(j=2;j<=N/i;j++) 9. a[i*j]=false; (1)今このプログラムをある計算機で実行させるとNが10000で750 ×10^3単位、Nが1000000で1000×10^3単位の時間が 費やされた。ではNが500000だとどのくらいの単位の時間が消費 されるだろうか。上記程度の精度の数字で示し、その根拠を示せ。 (2)上記のプログラムは冗長な部分がある。これを正し最適化せよ。最適化 した部分はオリジナルの行番号を参照してどのような改変を加えたか具 体的に示せ。 (3)この変更によって250×10^3単位程度の時間でNがどの程度までの 範囲で素数判定ができるか答え、根拠を示せ。 以上です。よろしくお願いいたします。
33 :
デフォルトの名無しさん :2005/10/27(木) 01:47:58
30は間違えてましたが カレントにすることはできました。 C:JAVA\* javac *.java //ここで改行しようとすると実行してしまい javac <子フォルダ1>\*.java //ここの行と javac <子フォルダ2>\*.java //ここの行が打てません。
36 :
36 :2005/10/27(木) 02:42:17
Javaの基本的な質問です。 String型の配列hogeのをループさせて取得するとき、 hoge.lengthの値を取得しますが、hogeがnullだったらまずいので 分岐させて取得したりしますよね。よく。 で、それはいいんですが、hogeのlengthが0のことがあります。 これってどういうことですか? 中に何が入っているのですか? とうぜんSystem.out.println(hoge[0]); なんてやってしまうとOutOfIndexで落ちます。 よろしくお願い致します。
何も入っていないということだ
>>36 からっぽのString型オブジェクトがつくれるということだ
>>36 String s = "";
としたら、sは0文字の文字列。
>>36 String[] hoge = new String[0];
で作れるぞ
>>39 混乱する
String s = "STRING"; String s = new String("STRING"); は、同じですか? どちらを使うべきでしょう?
42 :
デフォルトの名無しさん :2005/10/27(木) 12:34:09
>>41 違う
下の構文は"STRING"のコピーをするだけなので使うべきではない
44 :
デフォルトの名無しさん :2005/10/27(木) 13:04:24
Effective Javaの項目4じゃん。
45 :
41 :2005/10/27(木) 13:17:40
レスありがとうございます。
>>42 さん
コピーするということは、"STRING"が2つできるということでしょうか?
new String("STRING");のクォート中でオブジェクトが1つできて、
sにはそのコピーが入る??
コピーするって表現があまり良くないな。 String s = "String"; は、文字列リテラルが既にあれば再利用される。 String s = new String("String"); は、常に新しいオブジェクトが作成される。
47 :
41 :2005/10/27(木) 13:51:38
>>46 なるほど、やっと理解できました。
ありがとうございます!
ダブルクリックで起動可能なJARファイルを作ったのですが、ダブルクリックでの起動時に JAVAの起動オプション「-Xmx128m」等は設定できないのでしょうか?
教えてください。 boolean b1; boolean b2; boolean b3; ・ ・ とあったとします。 b1 = ...... b2 = ...... と処理していくとコードが冗長になってしまいます。 ここで、b1などを配列にするとループで回して処理できるのですが、 そうすると変数名に意味を持たせることが出来ません。 b1とb2などは全く違う意味のフラグで、違う意味を表す名前を付けたいのです。 配列にしてしまうと区別がつかなくなってしまいます。 どうするのが良いのでしょうか?
定数オブジェクトなんか良いかも。
51 :
デフォルトの名無しさん :2005/10/27(木) 21:00:02
>>49 >ここで、b1などを配列にするとループで回して処理できるのですが、
>b1とb2などは全く違う意味のフラグで、違う意味を表す名前を付けたいのです。
初期化みたいなことをしたいの?
それ以外のことなら、『違う意味』 だから配列が違和感あるように、ループで一括処理するのも違和感あると思うんだけど。
53 :
49 :2005/10/27(木) 21:09:54
初期化に限らず値の代入なんかをしたいのです。 例えばこんな感じです。 String str1,str2; boolean input,output ・ ・ if(str1.equals("hikaku mojiretu")) { input = true; } else{ input = false;} if(str2.equals("hikaku mojiretu")) { output = true; } else{ output = false;} ・ ・ こうやってどんどん書いていくと冗長なコードが増えてしまいます。 比較文字列も配列にするとループで比較できるのですが、そうしてしまうと booleanが配列になってしまい、一目では入力のためのフラグか出力の ためのフラグか分からなくなってしまいます。
>>49 全く意味の違うものであれば
【冗長】とは呼ばない
55 :
49 :2005/10/27(木) 21:20:06
> 【冗長】とは呼ばない うーん、そうなんですかね・・・ 例えば、チェックボックスがチェックされているかどうかを保持するフラグを 作るとして、その変数を checkBox 配列にしてしまうと、どこがチェックされて いるのかが分かりづらくなってしまいます。 反面、コードはすっきりするし、集中管理出来るのでフラグの意味が分かりづらい 意外は管理がし易いです。 どっちがいいのでしょうか? それとももっと良い方法があるのでしょうか?
56 :
48 :2005/10/27(木) 21:20:09
できないですか。 今Jakarta POIを使用してエクセルにDBから取得した値を書き込むプログラム書いているのですが、 POIでのエクセルへの書き込みに 1、ワークブックのオブジェクトを作成 2、そのワークブックオブジェクトにワークシートオブジェクトを作成 3、そのワークシートオブジェクトにセルオブジェクトを作成 4、そのセルオブジェクトに値を設定 5、ワークブックオブジェクトをwrite系のクラスを使用してエクセルファイルを作成 自分は上記の流れでソースを記述したのですが、大量のデータを書き込もうとした場合、 上記4のセルオブジェクトができてしまい、 そのせいでいつもOutOfMemoryエラーが出てしまいまして、いつもJAVAの起動オプション「-Xmx」を 使用していました。 上記のPOIを使用したエクセルへの出力は間違っているのでしょうか?
POIはまともに使おうとするとめちゃくちゃメモリを消費する。 単にセルに文字列や数値を入れたいだけならCSVとか他の方法を すすめるよ。また数式やチャートなどが必要ならCOMブリッジを サポートしたライブラリを別途入手したほうがいい。POIは糞。
>>55 『集中管理したい』 時には、別に配列で1つにまとめても良いような気はするけど。
「意味の違う」 を重要視するのか、「集中管理したい」 を重要視するのか良く考えたほうが良いと思う。
あと後者を保ちながら前者を重要視する方法、幾らでもあると思う。かえって冗長になるけど。
59 :
デフォルトの名無しさん :2005/10/27(木) 21:26:09
質問ですが String[]の配列に {1,2,3,4}とあって 別のString[]の配列に {1,2,8,7}とあった場合 二つの中身を組み合わせて 配列の中身を {1,2,3,4,1,2,8,7}としたい場合どうすればいいのでしょうか?
>>59 1: String[] の配列は String[][] になるんだが
2: String[] だとしても String[][] だとしても {1, 2, 3, 4} は変
3: 自分でやってください。あるいは java.utils.Arrays あたりに何かあったような気がする。
あ、java.util.Arrays だったゴメン
>>55 >反面、コードはすっきりするし、集中管理出来るのでフラグの意味が分かりづらい
>意外は管理がし易いです。
多分世間一般ではこれを管理しづらいといふ
64 :
48 :2005/10/27(木) 21:34:15
>>57 すばやい返答どうもです。
CSVへの出力は実装してあるので、POIを使用したエクセルへの出力は、
おまけ程度の機能という感じで受け止めたいと思います。
>>49 Boolean b1 = new Boolean(false);
Boolean b2 = new Boolean(false);
Boolean b3 = new Boolean(false);
Boolean[] array = {b1, b2, b3};
とかやったらダメ?
こうすれば変数名でも配列としてでもアクセスできるけど
Boolean であって boolean でないのが味噌ですなぁ
>>66 例えば
b1 は array[0] と同じオブジェクトを参照してるでしょ
Booleanお上手
71 :
49 :2005/10/27(木) 22:19:50
>> 65 ありがとうございます。 参考にさせていただきます。 ただ、結局配列として使用するときは変数名が分からなくなってしまいますね。 ちなみにbooleanで同じことは出来ないのでしょうか? 素人ですいません。
>>71 boolean じゃ同じことはできないよん。基本型と参照型をキーワードに調べてみて。
>結局配列として使用するときは変数名が分からなくなってしまいますね。
となると、
>>50 みたいなことになるのかも。
public static final int INPUT = 0;
public static final int OUTPUT = 1;
......
flags[INPUT] = false;
for(int i = 0; i < flags.length; i++) flags[i] = false;
private static final int GISHIGISHI<-意味のある定数名 = 0; private static final int ANAN = 1; と宣言して boolArray[ANAN] = 〜; という手もある
>>71 > ただ、結局配列として使用するときは変数名が分からなくなってしまいますね。
ではBoolean型を拡張したクラスをつくって名前(文字列)をセットできるようにするとか・・
> ちなみにbooleanで同じことは出来ないのでしょうか?
それはプリミティブ型だから同じことはできない
75 :
73 :2005/10/27(木) 22:26:08
>>73 みたいにするなら、JDK1.5から導入された列挙型を使うとか
>>76 列挙型って、配列のインデックスに使えたっけ?
Booleanは3値に使えるのがいいね
>>77 コレクション系クラスのキーとしては使える
すんません、教えてください。 JSPでリストボックス表示させたいです。 で、値はほとんど固定値。 例えば、 北海道 青森県 ・ ・ ・ 沖縄県 みたいな。 で、その設定値をweb.xmlで設定するってできたよね。 どうすれば?? ちなみにstruts使ってます。
81 :
59 :2005/10/27(木) 22:53:08
82 :
60 :2005/10/27(木) 22:57:20
>>81 うはwごめん Arrays に copy メソッドなんてなかった orz
for ループかなんかで地道にコピーしてくれ。・゚・(ノД`)・゚・。
>>80 普通はDBにいれとくんじゃね?
連結したり自由に取り出したいとかあるし
84 :
80 :2005/10/27(木) 23:00:22
>>83 うん、そう思う。
でも今回特殊でさ。
できないんだっけ?
88 :
80 :2005/10/27(木) 23:24:51
>>87 そのイメージがつかめません(;_;)
javaとxmlの連携部分が勉強ぶそくだ。
actionでSAX使ってxml読み込み
→ArrayListあたりにぶち込む
→jsp表示
こんなかんじ?
「ArrayListあたりにぶち込む」 って言ってるってことは、 単純に都道府県名が列挙されてれば良いの? それならプロパティファイルでも良いんじゃね?
>>88 まあだいたいおおざっぱにいうとそんなかんじ
91 :
80 :2005/10/27(木) 23:37:56
>>89 >>90 レスありがと。
やっぱりプロパティファイルの方がいいかな?
多重継承できないのが、またネックになりそう。
>>88 いやだからコンボだったら構造はマップだろ。
普通に Properties クラスで .properties ファイルを読み込め。
単純なマップ構造なものに XML なんか使うな。
>>91 委譲すればいい。っつか多重継承したい理由があるのか?
94 :
80 :2005/10/27(木) 23:56:58
みんなありがと。 仕事中2chみれないのがつらいわ。 一番、情報があるのに。 多重継承の理由はstrutsをラッピングして、 アーキから作んなくちゃいけないからさ。 ちょっと先がよめないんです。。。 仕事あるから寝なきゃいけないや。 欲張ってもう一つ質問、朝チェックするよ。 os:soralis バッチ動かすようなjobはなし。 問題:ログ管理(3ヶ月保持を想定) log4jで管理できるとか聞いたんだけど。。。 つまりjob管理なしで、ログの管理って一般的にどうすればよいのでしょうか? 俺も質問に答えられるよう、明日以降、ここに通うわ。 ほんと、ありがとね。
>>94 Struts を使ったら多重継承しなくちゃならん理由が分からん。
まー、将来的には Action とかはインタフェースになる方向だけどな。
いづれにせよ、ビジネスロジックは外だしで普通に好きなように
クラス設計すればいい。っつか可能な限り継承すんなよ。
アーキテクトなら OOP 初心者でもねーだろ。
ログは Log4j で決定だ。間違っても一時の流行で commons logging
とかでかぶせるな。将来的にログ実装を変えることはない。
>>95 common logging の悪い点て何?
XMLなんてらくちんだよ DOMでいい 別にただのテキストファイルでもいいし
コンポーネントがサイズ変更されたときのイベントってどうやって取るの?
Commons Logging を使ってはいけない理由が見あたらない。 俺も知りたい。教えてくれ。
俺が勝手に答えよう! commons-logging記述少ない便利 log4j意識しないでかける便利 Nullロガーワンタッチで便利 自分は細かく指定したい時以外あまりlog4jを拝まない だから使うな!わかったな!!
commons-loggingとlog4jを一緒に使ってるのを よく見るけど、どちらか単独では使えないの? というか、commons-logginを単独で使えますか?
>101 使える。 単独の場合はデフォルト実装のJDKログAPIが使用される。
>>102 補足。
JDKがバージョン1.3.1以前だったらデフォルト実装のSimple Logな。
これは標準出力オンリー。
ベクトルの各成分をfor文で出力しろって言われてるんですけど for文をどのように活用すればよいのですか?
105 :
デフォルトの名無しさん :2005/10/28(金) 11:42:08
とても初歩的な質問ですみません。 imageクラスの画像を90度回転させて表示するのにいい方法ありませんか?
107 :
104 :2005/10/28(金) 11:47:37
>>106 そちらのスレで聞くことにしました。すいませんでした。
108 :
101 :2005/10/28(金) 12:29:22
109 :
108 :2005/10/28(金) 12:29:59
オブジェクト指向とメソッドの利点の違いは何でしょうか・・・
112 :
デフォルトの名無しさん :2005/10/28(金) 13:37:21
>>110 比較を希望されているようですが、何を基準に比較したいのでしょうか?
他の言語同様に各処理ごとにメソッドをまとめておけばオブジェクトを作成する必要がない用に思えて仕方がなく、何故JAVAにオブジェクトと言うやり方が出てきたのが良くわからずにいます。
すごく・・・ 比較できないです
115 :
デフォルトの名無しさん :2005/10/28(金) 13:52:11
>>113 Java以前にオブジェクト指向の啓蒙書を一冊読め。
>>110 >>113 つまりオブジェクト指向と構造化設計を比べて、ということか?
他の言語同様、ってそれは例えば何よ。
「JAVAにオブジェクトと言うやり方」という言葉から
「オブジェクト」という言葉の持つ意味(色々ある)をそもそも分かっていないことも明らか。
まずは難しく考えずに「他の言語同様」のやり方でやってみ。他の言語がどれほど使えるかは知らんけど。
「オブジェクト指向」について考えるのはもっと後でもいいよ。
117 :
116 :2005/10/28(金) 13:55:00
>>113 が大学1年なら救いようがある
適当にオブジェクト指向の本一札嫁
119 :
デフォルトの名無しさん :2005/10/28(金) 13:56:49
120 :
113 :2005/10/28(金) 14:10:37
>>118 大学1年(非留年)です。オブジェクト思考も大学で知りました
>>115 一応デザインパターン入門と言う本を教材として購入しています
今までBASIC/C/HSP/Perlを学んできましたが、オブジェクト指向と言う物がなく(もしくは見つけられず)、オブジェクトの使い方は分かるのですが、
何故サブルーチンやメソッドのようなものがあるのにオブジェクト思考のような複雑な作業をする必要があるのかっと言うのが疑問でした。
いろいろまたネットの資料等で必要性を見てみたいと思います。
121 :
デフォルトの名無しさん :2005/10/28(金) 14:16:47
j2SDKを使っているのですが環境変数を設定して コマンドプロンプトで試しOK コンパイラのパスもキチンと入れたのですが NoClassDefFoundError のエラーがでます・・・ どうしたらいいのでしょう
122 :
デフォルトの名無しさん :2005/10/28(金) 14:21:25
>>120 オブジェクト指向の理解が不十分なままデザインパターンに入るのは危険
オブジェクト指向もデザインパターンも本質が理解できないぞ
123 :
デフォルトの名無しさん :2005/10/28(金) 14:22:13
>>121 状況がわからないから具体的な指示はできないが
クラスパスとパッケージ名tとフォルダの関係がわかってないのが原因。
入門者が最初に躓く難関だ。
入門書や手本があるなら
パスや打ち込む文字列、ソースのパッケージ命やクラス名など
一字一句間違っていないか確認しろ。
124 :
デフォルトの名無しさん :2005/10/28(金) 14:23:13
>>121 本当に環境設定終ってるか?
setかechoコマンドでちゃんと出力されてるか確認したか?
ここで質問するべきかわかないんですが・・・ JAVAを利用した開発を行うとき、 SUNから使用許諾とか、ライセンス料の支払いとか、 しなきゃいけないんですか?
>>125 使用許諾は当然
てかDLしたときにAcceptしないとDLできないはず
ライセンス料はいらん
130 :
デフォルトの名無しさん :2005/10/28(金) 14:38:07
>>125 Sunの仕様許諾を得るのはSunのJDK/JREを使う場合だな
IBMのJDKを使う時はIBMから許諾を得るし、その他Java互換の環境でそれぞれ違う
ライセンス料に関してはJDKなどに対してソースレベルに手を出したい時はライセンス料が発生する
ただ、あくまでもJDKなどのソフトウェアに対するライセンス料でJavaに対するライセンス料では無いな
>>128 ありがとうございます。
逆にこの使用許諾に含まれない行為が、
ライセンス料が発生し得るってことですね。
132 :
125 :2005/10/28(金) 14:42:46
>>130 ありがとうございます。
いわゆるJAVAを使用する事自体には問題ないにしても、
それを動かしたり開発したりする環境に手を加えるときには、
発生するんですね。
ちょっと教えて頂きたいんですが、 今日の日付をint型で欲しいのですが、 ------------------------------------------------------------- Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("Japan")); System.out.println(cal); int month = cal.MONTH; int day = cal.DAY_OF_MONTH; System.out.println(month); System.out.println(day); ------------------------------------------------------------- 実行結果 java.util.GregorianCalendar[time=1130488544343,・・・MONTH=9,・・・DAY_OF_MONTH=28,・・・] 2 5 -------------------------------------------------------------- こんなのになってしまいます。???? どうしたらいいんでしょうか。
>>133 定数を読んでいたらいつもおなじ値がかえる
Javaの文法とCalendarにたいして勉強しましょう
これらの情報は簡単に手に入るし
135 :
133 :2005/10/28(金) 17:54:48
136 :
133 :2005/10/28(金) 18:12:29
>>134 すいませんでした。m(_ _)mなんとかできました。
>>131-132 Javaという名称自体も商標だから、利用時にSunの許諾が必要ってのも
意外と知られていないので注意ね。
Java(TM) だったっけ。
139 :
デフォルトの名無しさん :2005/10/28(金) 18:47:37
白熱しているとこ申し訳ない 質問いいでしょうか?
いいよ
私は 139 じゃないんですけど、私もよろしいでしょうか。
早く質問しろよ。
多人数漫才スレ?
質問です。 入力値をキーボードから取得して、その入力値がスペースだけでないかを 文字列比較メソッドで確かめたいのですがどうすればよいのでしょうか? スペースの数は指定しない方法がよいのですが。 教えてください
半角スペースだけなら、trim後の長さを見ればいいんじゃね?
正規表現でいっぱつじゃね?
148 :
145 :2005/10/28(金) 19:52:45
初心者だからよくわかんね。
>>145 str.matches("[^ ]*")
150 :
139 :2005/10/28(金) 20:48:45
>>140 すいません遅れました
今学校の課題で○×ゲームをアプレットで作ってるんですが
○や×が三つ並んだ時に勝敗を付けるアクションをどのようしたらよいか
分からなくてつまづいてしまってます。
どのように作ったらいいでしょうか?
ノートン先生がclassLoaderとかいうの消そうとしない?
質問です。 this = null; という処理を実行した場合、JVMではどのように解釈されるのでしょうか? また、どのような場合に使用するべきでしょうか? どなたかご教授下さい。よろしくお願いいたします。
>>153 なるほど。ありがとうございます。
JDK1.3 + Eclipse2.1で試したところ、コンパイルエラーにはなりませんでした。
JDK1.4 + Eclipse3.0で試したところ、コンパイルエラーになりました。
理由はわかりませんが、あまり意味がなさそうですね。
>>150 ○:1、×:−1として、int board[3][3]に盤面が入っているとする
左上から横方向に見た場合、すなわちboard[0][0]+board[1][0]+board[2][0]が3なら○の勝ちで−3なら×の勝ち
あとはこれを縦3パターン、横3パターン、斜め2パターンで判断すればよい
156 :
デフォルトの名無しさん :2005/10/28(金) 22:43:26
>>155 なるほど!
ありがとうございました!早速やってみます!
159 :
デフォルトの名無しさん :2005/10/28(金) 23:12:19
すみません。 105ですが、どなたか解る方いらっしゃいませんか? できれば画像を読み込んだ時点で回転してimageクラスに保存したいのですが。
APIでrotateを探せ
ろたて
162 :
105 :2005/10/28(金) 23:29:49
>>160 rotateも見てみたのですが、Graphicsに表示する画像全てが回転するのではなく
目的のimageだけを回転させて表示したいのですが、他に方法はありませんか?
rotate する → 描画する → rotate する
>>162 目的のimageだけを貼り付けるためのGraphicsでも使え
Rotateしてそのあと元に戻せばいいだけだが
>>166 金曜日の深夜にこんなものを作ってしまう君の状況に乾杯
170 :
デフォルトの名無しさん :2005/10/29(土) 01:34:57
>>160-165 解答ありがとうございます。やはりrotateしかありませんか。。
ある配列変数(100近く)を判定して横に表示するか縦に表示するかをpaintの度に判断するプログラムを作ってるんですが
rotateで毎回graphicsの方向を変えてるんじゃ処理が重くなりそうで。
できればimageだけ回転か、または最初からimageに回転した画像を保存しておきたいのですが
何か良い方法はありませんかね?
Appletで、特定のパネルにGraphicsクラスを使用して描画するにはどのようにすればいいのでしょうか?
>>170 >rotateで毎回graphicsの方向を変えてるんじゃ処理が重くなりそうで。
そういうことは実際にやってみて重かったときに言ってくれ。
173 :
36 :2005/10/29(土) 02:30:57
>>37 nullじゃないんだ。でも配列のlengthが0なんだ。なんで?
>>38 からっぽって何よ?nullでもないし、当然配列オブジェクト本体だから
「""」でもない。
>>39 それは配列個々の話でしょ?
>>40 なるほど。しかし、それにどんな意味があるのだ?
>>173 皿の上にりんごが5個ある所から5個りんごを取りました。りんごはいくつありますか?
そのとき皿はどうなっているでしょうか?
>>174 > 皿の上にりんごが5個ある所から5個りんごを取りました。りんごはいくつありますか?
りんごを全て取り払ったので、皿は自動消滅しました。ぬるぽ
>171 どうやって描いてるの? Appletにやってることをそのまま特定のパネルにすればでると思うよ 一度ComponentのAPI 拝んでやる気なくしちゃってみたほうがいいよ
>>176 デフォルトのパネルじゃなくて、任意のPanelクラスのオブジェクトに描画したいんです。
>173 array = new String[x個入る器を用意しなさい]; array[x番目を選びなさい];
>>65-69 更新できないからbooleanでもBooleanでも結果は同じ。
>>173 >なるほど。しかし、それにどんな意味があるのだ?
例えば、会議の出席者の名前をString[]で返すメソッド、getMember()があるとしよう
ある出席者が居ない会議インスタンスのgetMember()を呼んだ時、
nullを返す仕様になっているとnullチェックがめんどくさいが
new String[0]を返す仕様になっていれば、何も考えずに次のようにできる
String[] member = group.getMembers();
System.out.println("出席者は" + member.length + " 名です");
for(int i = 0; i < member.length; i++){ System.out.println(member[i]);}
各所に散らばるエラー文字列を、1つのクラスにまとめて、できればファイルから読ませたいと考えてるんですが なぜか対象の vm が 1.4 なんで書式文字列使えなくて "error: %s に %s は指定できません" みたいな記述できなくて困ってます。 とりあえず、エラーメッセージまとめたクラスに getErrorMessage(int id, Object[] info);みたいなの定義して、 String.replaceAll 使って自力で置換する方法と、 ファイルから読ませるのをあきらめて、手動で連結させる方法の2種類を考えたんですが、 こういうときのセオリーってどんな感じなんでしょうか。教えてください。
>>183 つ java.text.MessageFormat
うお。すいません java.text 見るの忘れてました orz これ使いますです。
186 :
デフォルトの名無しさん :2005/10/29(土) 14:36:16
InputStreamオブジェクトが、ファイルストリームをオープンしたまま ガべージコレクトされるとどうなるんでしょうか? (1)開きっぱなし (2)finalizeメソッドでcloseされる (3)finalizeメソッドは何もしないけどJVM実装レベルでクローズする (4)そもそもガベージ扱いされない
InputStreamはインタフェースなので実装クラスによるとしか言えないな
>>186 FileInputStream は finalize 持ってるから 2 かな。
ファイルストリームってのが FileInputStream じゃない場合とかは知らん。
189 :
デフォルトの名無しさん :2005/10/29(土) 15:53:32
実行すると黒い画面が一瞬で消えちゃうんですけど これはいったいなんなんでしょう?ascloseとか 書いてあるみたいだけど・・・
190 :
デフォルトの名無しさん :2005/10/29(土) 16:02:06
くだらない質問させてください。 会社の社内LAN上でANTを使用してみたのですが、 FTPタスクがうまくいきません。 クライアントはWin2kのeclipse3.1+Java1.5、 antはeclipse付属ではなく個別に取得したものを eclipseから操作します。 ant自体は動作しますが、以下の現象が発生しています。 社内LANのUNIXサーバにアクセスし、所定のフォルダから **/*.javaを指定して再帰的にDLしようとしています。 しかし、いつもDLできるファイルは0件で終了します。 サーバにはFFFTPで接続でき、ファイルのやりとりも正常です。 TeraTermでの接続もOK。 antのftpタスクでput要求をした場合、正常にファイルがUPされ、 FFFTP上から確認できます。 get要求時、わざと存在しないパス指定してみたりUID等 間違えたりすると正しくエラーが出ます。 その上で、ftpのgetをantで行うと、エラーにもならず DL数は0件になります。 remotedir指定を省略し、ユーザのhomeディレクトリ上にあるファイルを ワイルドカード指定ではなく直接ファイル名指定にしてみたり、 さらにはinclude指定を*一文字にしたり色々しましたが、 何一つ落とせることはありません。拡張子によらず。 ウィルス関連ソフトを全て落としても同じです。 くだらない質問で申し訳ありません。 このような現象が発生する理由として何が考えられるでしょうか?
192 :
デフォルトの名無しさん :2005/10/29(土) 16:41:43
>>191 そういう時は社内のUnixサーバのOS、バージョン、パッチレベル、FTPサーバのソフト名、バージョンなんかも上げてくれ
>>177 class panel1 extends JPanel{
public void paintComponent(Graphics g){
super.paintComponents(g);
g.clearRect(0,0,getWidth(),getHeight());
g.drawRect(0,0,100,100);
}
public void re(){
repaint();
}
}
こういうやり方もある。
>191
とるだけなら
<get src="
ftp:// " />のほうがおすすめ
自宅で勉強したくてインスコしようと思ったのですが J2SE 1_4_versionのSDKとJ2SE 5_0_versionのJDKどちらの方がいいんでしょうか? 本当に初心者な質問ですみません…。
5.0でいいよ もう出てから1年たってるし、かなり使いやすくなってる ただ、しらないうちに動いてるオートボクシングは危険かもしれない
198 :
デフォルトの名無しさん :2005/10/29(土) 22:50:44
>>101 > commons-loggingとlog4jを一緒に使ってるのを
> よく見るけど、どちらか単独では使えないの?
> というか、commons-logginを単独で使えますか?
Commons Loggingってのは
ログAPIを統一するためにつくられたもんだとおもった。
Log4jとJava Logging API, Avalon Logkitなどによる統合を
考えた場合、かなり重要かと
DropTargetListenerや、DragSourceListenerの中で、 状況によってマウスのカーソルを変えたいのですが、どうすればいいでしょう。 ちなみに、ドラッグ対象のコンポーネントのsetCursorを呼び出しても反映されませんでした。
200 :
デフォルトの名無しさん :2005/10/30(日) 00:46:31
すみません、上げさせて貰います。m(^0^)m
Tableの行を外部から選択状態にする方法ってあるの?
>>199 スレッドを作成して、その中でsetCursor()してみてはどうでしょう。
SetCursorするときにはSwingUtilities#invokeLater or SwingUtilities#invokeAndWaitを使ってください。
>>199 .202
DragSourceContext#setCursorを使うようだが。
205 :
デフォルトの名無しさん :2005/10/30(日) 02:10:50
はじめまして iアプリを作ろうとjavaをはじめました iapplitool for Doja-4.0を導入し,とりあえずHelloworldを表示させようとビルドしたのですが, ビルド開始(DoJaプロファイル : DoJa-2.1) エラー: サポートされていないエンコーディングです: SJIS_i エラー 1 個 のように表示されてしまいます エンコーディングと表示されているのですが,SJIS_iという文字コードはドコモがSJISを拡張した,という情報しか見つかりません また設定しようにもSJIS_iなるものがなく,いきなりつまづいてしまいました 解決方法を知っている方はおられませんでしょうか
javac -encoding SJIS_i Helloworld.java ができないのなら 日本語使わないでコーディングするとか
>>205 設定→sun.tools.javac.Mainを使用するにチェック入れてみ。
てゆーかEclipse使ったほうがいいと思う。
208 :
デフォルトの名無しさん :2005/10/30(日) 16:30:56
209 :
デフォルトの名無しさん :2005/10/30(日) 18:28:54
質問よろしいでしょうか。 フォルダ単位でファイル名を読み込ませて、 一括で拡張子を変更する(mp3→zip)というプログラムを作ろうとしてます。 File file = new File(args[0]); String[] filename = file.list(); でファイルを読み込みましたが、実際に変更する(書き込む)ことができません。 何を使えば良いでしょうか。(初心者ですいません)
>>209 2つほど
>ファイルを読み込みましたが
ファイルは読み込んでない。一覧を取得しただけ
>何を使えば良いでしょうか
java.io.File.renameTo(File dest);
211 :
デフォルトの名無しさん :2005/10/30(日) 18:36:34
>>210 ありがとうございます。
ファイルを読み込むためには、FileInputStreamみたいなのを使うのでしょうか。
>>211 FileInputStream。だけど読み込まなくても変更できるよ。
213 :
デフォルトの名無しさん :2005/10/30(日) 19:30:20
JAVAにはいろいろな種類がありますよね? ホームページ上で作動?するもの、iアプリを作るもの、 どういったものがあるのか教えてください。 あと、今 HELLO WORLD などと表示するのをやっているのですが、 これは一体何ができるのすか?例えば、市販されている ソフトが作れるなど、よろしくお願いします
>>213 初心者向けの本はたいていHELLO WORLDの表示くらいだが
ttp://v2c.s50.xrea.com/ みたいな実用的なアプリケーションまでいろいろできる
ブラウザ上で動作するものはアプレットという
パソコン上で使うJavaとケータイとかで使うJavaは
名前は一緒だが別物だと思ったほうがいい
>>213 JavaScriptはJavaとは別物な
>>216 本屋さんではよくごちゃまぜで置いてあったりする
218 :
デフォルトの名無しさん :2005/10/30(日) 20:35:35
import java.awt.Graphics; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import javax.swing.JFrame; public class MyImage3 { public static void main(String[] args) { MyFrame7 frame1=new MyFrame7(); frame1.setBounds(100,100,400,320); frame1.pack(); frame1.setVisible(true); } } class MyFrame7 extends JFrame{ private static final long serialVersionUID = -4L; MyFrame7(){ public void paint(Graphics g){ //この行でエラー発生 BufferedImage bImage1=null; try { bImage1=ImageIO.read(this.getClass().getResource("k_1pin.gif")); } catch (Exception e) { e.printStackTrace(); } g.drawImage(bImage1,40,40,this); } } } 質問お願いします。 メインメソッドとペイントメソッドは同じクラスにないといけないのでしょうか?
>>218 それ以前の問題だ。インデントを大事にしろよ。
221 :
JAVA :2005/10/30(日) 21:28:35
こんにちは。EXCELでCSVファイルをつくりたいのですが、セルをどのようにわけて つくっていいのかわかりません、、どうか教えてください、、a,b,cという風に書きたいです。この ,はどうやってかけばいいでしょうか、、
なにこの基地外
javaでコンピュータ名取得するのってIPから変換するしかないの?
getHostName
225 :
デフォルトの名無しさん :2005/10/30(日) 21:52:51
public class test { int Num; test(int n){ Num = n; } } public class aiueo { public static void main(String[] args) { ArrayList a = new ArrayList(); a.add(new test(1)); System.out.println( ??????????? ); } } ????????????の部分に、配列aのNumの値(1)を返したいのですが、どうすればよいか分かりません a.get(0).Num かなと思ったのですがエラーが出てしまうし・・ どなたかご教授お願いします
>>225 Numがpublicになってないけど誤記?
227 :
226 :2005/10/30(日) 21:57:20
すいませんなんでもありません(つД`)
>>225 testにtoStringメソッドを用意してreturn "" + Num;を返すようにしてみよう。
>>225 ArrayList<test> a = new ArrayList<test>();
じゃないの?
5.0は仕事で使わせてもらえない。 とあるテストツールがClassCastExceptionが出て コード品質が悪いから直せと言って来る instanceofを使って回避すると instanceofを使うのは最適化的にあれだからだめーみたいに言って来る どうしろと?
ClassCastExceptionが5.0導入で出るとはおもえないんだが どっちにしろ取り出す側がキャストしないとダメってのが実行してみないとバグ分からんから 一番危険なんだけどな
233 :
225 :2005/10/30(日) 22:10:49
>>232 いや書き方が悪かったね。
5.0が使えなくてObjectのListになるから231みたくなる。
>>233 jdk5.0限定だよ。
jdk1.4つかってるなら忘れていい。
236 :
225 :2005/10/30(日) 22:19:37
>>235 なるほど。
みなさん大変助かりました
ありがとうございました
237 :
デフォルトの名無しさん :2005/10/30(日) 22:39:19
質問があります。 bw.write(smallArray);でWRITEがARRAYLISTの引数を とれないとエラーがでます。どうやってWRITEさせたらよろしいでしょうか? 基本的な質問になってしまうかもしれませんが、教えてください
>>237 bwってクラス名何?単純に引数が対応してないだけだよ。
ずいぶん初歩的な質問なんですけど Triangle a = new Triangle(); とかの a ってなんて言うんでしょうか? よければ教えてください〜。
240 :
デフォルトの名無しさん :2005/10/30(日) 22:45:41
クラス名はBufferedWriterです。
>>239 インスタンス変数です。単純にインスタンスで通用します。
>>240 bw.write(smallArray, 0, smallArray.length);
配列がchar[]ならね
243 :
239 :2005/10/30(日) 22:53:35
わかりました。 ありがとうございました〜。
244 :
デフォルトの名無しさん :2005/10/30(日) 22:56:13
240> STRING型なんです、、残念ながら、、 ということは直前でPARSEINTとかでキャストしてやればいいってことですか?
>>239 >>241 厳密には違う。
[1] 変数 a は、局所宣言されている ⇒ ローカル変数
[2] 変数 a は、それを含むクラスのインスタンスが存在している間のみ存在する ⇒ インスタンス変数
[3] 変数 a は、クラスにおいて static 宣言されている ⇒ クラス変数または静的変数
246 :
245 :2005/10/30(日) 22:57:55
っていうか普通に 『変数』 って言ってしまってかまわないだろうに。 『変数 a 』 に代入される値が 『インスタンス』 厳密には 『インスタンスへの参照』 だ。
247 :
239 :2005/10/30(日) 23:22:27
>>245 なるほど。そんなに違いがw
無難に変数って書いときます。
どうもでした〜。
>218 paint(Graphic g)のGraphicクラスは抽象クラスで、実装を強制される。 それを引数にもつってことは、引数に値を持つことを強制されるから、 MyFrame7 frame1とMyFrame7のインスタンス持った時点で、paintは引数に値を持つことを強制されるから、 コンストラクタ中にpaintを書かなくとも、 class MyFrame7 extends JFrame{ private static final long serialVersionUID = -4L; public void paint(Graphics g){ //この行でエラー発生 BufferedImage bImage1=null; try { bImage1=ImageIO.read(this.getClass().getResource("k_1pin.gif")); } catch (Exception e) { e.printStackTrace(); } g.drawImage(bImage1,40,40,this); } } とすれば、MyFrame7 frame1の時点で、paintが実行される。 てことは、おそらく、newするより(コンストラクタより)早いと思う。 自分のは、jdk1.3で import javax.imageio.ImageIO; が失敗するから、確認してないけど、同様にしてできたモノがある。 それと、コメントのエラーの意味は、コンストラクタ(関数)の実装の中でpublic void paintと関数を宣言してるから、それでしょう。
>>248 ちがう。コメントのエラーは 『コンストラクタ内でメソッドを定義している』 から出てる。
しっけ.. 訂正 それと、コメントのエラーの意味は、コンストラクタ(関数)の実装の中でpublic void paintと関数を定義してるから、それでしょう。
251 :
249 :2005/10/30(日) 23:44:39
うは。ごめん普通に読み間違えたw orz
paintイベント内で画像ロードしてるとかJFrameでpaint使ってるとか サイズ指定してるのにpackしてるとか 突っ込みどころ満載だな
>>252 スレタイで初心者大歓迎って謳ってるくらいだから
丁寧に指摘してあげなよ
エラーメッセージもあげないのにどうやって指摘しろと
>>254 ???
突っ込みどころ満載なんでしょ???
256 :
デフォルトの名無しさん :2005/10/31(月) 02:17:51
TreeSetにIdentityHashMapのように(k1==k2) の場合にかぎり 2つのキー k1 と k2 が同等であると見なすように要素を格納したいです。 比較は基本的にはフィールド変数のnumberで行います。 以下のようにグローバルIDを与えれば、できることは分かっています。 (gIDはグローバルIDです。各オブジェクトに対して固有のIDが与えられます) できればグローバルIDといったものを使わずに実現したいのですが、 方法が分かりません。どのようにしたらよいのでしょうか? class N implements Comparable { int number; int gID; N(int number, int gID) { this.number = number; this.gID = gID; } public int compareTo(Object o) { if (this == o)return 0; N n = (N) o; if (this.number < n.number)return -1; if (this.number > n.number)return 1; if (this.gID < n.gID)return -1; if (this.gID > n.gID)return 1; else return 0;//実際にはこの分岐まで到達することはない } public boolean equals(Object obj) { if (this == obj)return true; return false; } }
257 :
デフォルトの名無しさん :2005/10/31(月) 02:41:55
スレッドでネットワーク通信を行いたいのですが、サーバーからデータを読み込んでくれません。 コンパイルはできるしエラーも発生しませんが、実行しても何も表示されません。 以下のスレッドの記述の仕方に問題はありますでしょうか? class GetThread extends Thread{ DataInputStream in; GetThread(DataInputStream in){ this.in=in; } public void run(){ int msg; try{ while(true){ msg=in.readInt(); System.out.println(msg);; } }catch (IOException e) { System.err.println(e); } } } 呼び出し元のクラスでは DataInputStream in = new DataInputStream(connect ,getInputStream()); と宣言した後 Thread thread = new GetThread(in).start(); と記述してスレッドを開始しています。
>257 Thread#start()の戻りはvoidでしょ、それだと Thread thread = void;ってやってるだけだよ あとそれどやって終了するの?それでいいのかな? 端折ってるんだろうけど相当デンジャラスなコードだね
>>256 いい加減でいいなら、System.identityHashCode() を用いる。
ちゃんとやるなら、静的フィールドを作って
インスタンス生成時に何かする。
あるいは、新しい Set の実装を自分で作る。
>>208 RSAが使えるかどうかはJCE実装による。
少なくとも、IBMのJCEで使えた記憶がある。
261 :
デフォルトの名無しさん :2005/10/31(月) 09:32:30
-askcloseってなんすか?
何かのオプションコマンドじゃねーの
>>257 GetThread(DataInputStream in){
this.in=in;
}
ふーん、GetThreadですか。そうですか。
今、バイナリデータを解釈して文字列を取り出すプログラムを書いています。 BufferedInputStreamを使って、バイト列の型変換やエラー処理でややこしいことをしていたのですが、 ヘルプを眺めていたらDataInputStreamという便利な物があるのを知り、早速実装してみました。 ところが、実行速度が3倍以上遅くなって困っております。こういう物なんでしょうか? 何か対策はありませんか?
バッファリングと併用せよ Buffered〜を勘違いしてる
if(++i > 5) { i = 0; } これだと0〜5の繰り返しになります?
コードは以下の通りです。 private static final void skipBytes(DataInputStream dis, int n) throws IOException{ for(int i=0,s=0;i<n;i+=s){ s = dis.skipBytes(n-i); if(s==0) throw new IOException("java.io.IOException: Skipping bytes failed"); } } public String[] getNext() throws IOException{ String[] ret = null; try{ int matchLen=0; while(matchLen < CHAT_OPERATION.length){ if(dis.readByte()==CHAT_OPERATION[matchLen]) matchLen++; else matchLen = 0; } int bodyLen = convertEndian(dis.readInt()); ChatParser.skipBytes(dis, 8); int strLen = bodyLen-8; byte[] buf = new byte[strLen]; dis.readFully(buf,0,strLen); ChatParser.skipBytes(dis, 8);
>>265 DataInputStream dis = new DataInputStream(new BufferedInputStream(is));
とかでしょうか?FilterInputStream派生を連結して大丈夫なんですかね。
おっと、解決しました。アドバイスありがとうございます。
270 :
デフォルトの名無しさん :2005/10/31(月) 15:35:57
ソースを変更せずに、デバッグ用とリリース用で コンパイルしわけるにはどうすればいいでしょうか。 プロパティーファイルを使っても、ループの中のデバッグ用メソッド呼び出しが無くなるわけではなく、 if文でデバッグ用処理を回避できるだけです。これはボトルネックとなるに充分なんです。
>>270 ソースコードにデバッグ用のロジックを書くなよ。
デバッガとロギングライブラリを併用しろ。
>>270 小さいものであれば 1.4 以降で追加された assert 使えるけど。
273 :
デフォルトの名無しさん :2005/10/31(月) 16:17:28
どのようにしたら、以下のものをjavaのプログラムに 組み込めますか? 1.widowsアプリケーション(.exe) 2.C++のソース 3.コンパイルしたC++ できたとして・・・javaのどこかのクラスで これらのファイルに 引数を渡したり受け取ったりできるんでしょうか? 3つのうちどれかでも構いません。ご教授ください(_ _)
>>273 1-1.Runtime.exec()
1-2.JNI
2.無理
3.JNI
>>270 単純にデバッグ用とリリース用ソース分けるんじゃダメか?
antかなんかで切り替えてコンパイルするとか
277 :
デフォルトの名無しさん :2005/10/31(月) 17:28:01
>>270 JIT使ってるなら、ループの中なんかだと実行されないのが自明ならその時点でコードが除去される可能性はあるな
278 :
デフォルトの名無しさん :2005/10/31(月) 18:31:27
とあるゲームを作っていて 画像を全て読み込んでからでないとクリックなどの入力を受け付けないようにしたいのですが Frameのコンストラクタ内でgetImage()で画像を読み込み、画像を全て読み込み終わらないとコンストラクタが終了しない という処理はできませんか? imageUpdate()を操作すれば読み込んだかどうかを判断できるらしいのですが drawImage()以外から呼び出す事はできるのでしょうか?
JDBCを使用し、SQLでリザルトセットを取得する際に、 取得するリザルトセットが15列x6万行くらいからOutOfMemoryErrorがでるのですが、 何かいい方法ありませんか? それともやはりヒープメモリを増やすしかないのでしょうか?
>>281 更新したり、双方向の参照が必要か?そうでないならTYPE_FORWARD_ONLYをCONCUR_READ_ONLY 指定してオープン
それで出るなら、どっかメモリリークしてる
283 :
デフォルトの名無しさん :2005/10/31(月) 21:17:20
jpeg画像かbmp画像を読み込みRGBの値をR[i][j],G[i][j],B[i][j]に保存させ、1つの画像を9分割にし色を検出するプログラムを作りたいのですが、 色の数は赤、青、緑、黄(赤+緑)、シアン(緑+青)、紫(赤+青) 白、黒(赤+青+緑)の8色です。
作れば良いじゃん。
たしかにふつうにやればいいだけだな アルゴリズムがわからないというのであればスレ違い
286 :
デフォルトの名無しさん :2005/10/31(月) 22:01:46
>>278 >画像を全て読み込み終わらないとコンストラクタが終了しない
AWTだけの知識で結論だけ言うと「無理」
287 :
デフォルトの名無しさん :2005/10/31(月) 22:46:01
異なる視点から同じ物を撮影した2枚の画像間のマッチングを行っています。 2枚を画像をグレースケールに変換して,ピクセル値を取得して配列に読み込み 部分的な画像(例えば10×10)の各ピクセル値の合計の残差が最も小さくなる点を 左画像と右画像の対応する点として,その点の組を出力したいのですが,画像の 変換し配列に読み込む部分まではできていると思うのですがマッチングの部分が うまくいきません。以下の数式をつかっています。マッチングの部分をどのよう に記述すればいいのでしょうか?どなたかご教授おねがいします。 Sij=Σ[u=1,m]Σ[v=1,l]|f(u,v)-t(u,v)| ピクセル値の残差S(i,j),部分画像の中心座標(i,j),f(u,v):左画像の値, t(u,v):右画像の値,l×m:部分画像のサイズ
288 :
270 :2005/10/31(月) 22:46:16
皆さん、有り難うございます。
>>271 デバッガはEclipseが充分な機能を持ってますね。
ただ、開発はWindowsだけど、貧弱なLinux環境でも動作させたい、
とか言う場合とかは少々やっかいになりますけど。
ロギングは使ったことがないんですが、レベルでフィルタリングできるんですよね?
まずは使ってみます。
>>272 assertですか。存在は知ってましたが、不勉強で使ってませんでした。
コンパイル時にオンオフできるみたいですし、使ってみようと思います。
>>275 それはソースが二重管理になるのが嫌だったんです。
CVS等も使用すればうまくできるのかも知れませんが・・・。
もう少し調べてみます。
>>276 なるほど。静的変数はコンパイル時点で定数に置き換わり、
その結果固定条件になるif文は簡略化(最適化?)されるんですね。
結構コンパイラは賢いんですね。
しかし、javacやJVMの内部実装も勉強しないと最適化は大変ですね。
289 :
270 :2005/10/31(月) 22:51:05
引き続き。
>>277 JITコンパイラがどんなバイトコードを出力するかということになると、
その仕様を確認しないといけませんね。
調べるべき事が色々あって大変ですが、ぼちぼちやってみます。
ケイティ
色々やってみると、どうやら、 MyFrame7 frame1は宣言で、実体のアドレスは与えられていなくて、 newの時点で、実体ができるから、というのも加味して、 newされると、 MyFrame7インスタンス変数>コンストラクタ>抽象クラスを引数としたpaint(graphic g)が実装持つ(関数内展開>関数内実行) の順番の模様。 しっけいしました。
293 :
292 :2005/10/31(月) 23:32:05
ご相談です。 JavaのAPIで、I/Oの分野ががごちゃごちゃしてて、 まったく何から手を付ければよいのか、 どういったときに何をつかえばよいのか皆目検討がつきません。 何か、まとめたサイトなどがございましたら、お教えいただけますでしょうか? 調べてみましたが、どれも断片てきな 情報しか得られませんでした。 基本でもうしわけありませんが、本当にわけがわからず途方にくれてます。 よろしくお願い致します。
誤相談ですな。本買え。
そういえばみんなJavaの本何読んでる? 俺はやさしいJava第2版と活用編読んでるけどむ〜・・・ おすすめあったら教えて。
黒本。あと数冊適当に。
248さんありがとうございます。 なるほど・・・ 以後じぶんのプログラムに突っ込めるよう精進して参ります!
>>295 独習Java
憂鬱なプログラマのためのオブジェクト指向開発講座
Java言語仕様
Effective Java
Java謎+落とし穴徹底解明
Java仮想マシン仕様
Javaプラットフォームパフォーマンス
独習UML
Javaアプリケーション作成講座 Swingプログラミング徹底攻略
Java GUI プログラミング vol.1〜3
Javaゲームプログラミング アルゴリズムとフレームワーク
Java言語で学ぶデザインパターン入門
Java言語で学ぶデザインパターン入門 マルチスレッド編
抜けがあるかもしれんが買った本。読んだ順。ゼロから初めて3年Javaやってきた
基本的に書店で新刊を見かけたら時間がある限り立ち読みするけどね
299 :
デフォルトの名無しさん :2005/11/01(火) 11:00:10
JavaBeanでSerializableが必要な理由がイマイマチ理解できないのですが、 どなたか説明できますか? いろんなサイト見ても必須とあるところもあるし、 まるで触れてないところもあります。 よろしくお願いいたします。
>>299 IDE 等でこちょこちょ弄った設定を IDE等が保存したり読み込んだりするためでは?
最近は、XMLで保存する仕様になったため必要ないとか何とか。
自分で手書きでガリガリ書く分には必要ないかと。
301 :
デフォルトの名無しさん :2005/11/01(火) 12:58:56
>>300 それよりも、分散コンポーネント技術なんだから遠隔地にデータ運べないでどうするのよ
RMIするのに必要だからが正解
302 :
デフォルトの名無しさん :2005/11/01(火) 13:30:00
今学校でAWTアプレットの勉強しているんですが Javaの本を見てみるとSwingのが多く書かれてるようみえます Swingの方が主流なんでしょうか?
303 :
デフォルトの名無しさん :2005/11/01(火) 13:50:23
JLabelに、マウスイベントを実装しているのですが、 現在実装しているのをremoveMouseListener()を使って破棄し、 新たなMouseListenerを登録したいと思っています。 しかし、 removeMouseListener(this); という記述では、(クラス名)に適用できませんという エラーが表示されて、コンパイルがとおりません。 thisという記述の代わりにどうすればよいでしょうか?
>>302 分かりやすく言うとPCベースで存在価値がないから
機能的に複雑なことも可能な完全に上位のSwing
305 :
299 :2005/11/01(火) 14:12:59
>>300 >>301 ありがとうございます。
JavaBeanでは必須みたいな書き方されているのは、
他のマシンからのアクセスがあるかもしれないからということですかね。
とりあえず単一のマシンで動かしている場合は動いているようですが。
306 :
デフォルトの名無しさん :2005/11/01(火) 14:53:36
JavaでBigIntegerを使わず、 100桁の整数を指数表示にならない様に 出力する方法はあるのでしょうか?
>>306 というより BigInteger で何が不満なのか?
308 :
306 :2005/11/01(火) 15:16:22
個人的には特別不満が有るわけではないのですが、 BigInteger は使うなと叩かれてしまいまして・・・
どこでどんな風に叩かれたんだよ? なんか理由があるのか?
科学技術計算とかの演習だったら、そりゃ叩かれるだろうw
科学技術計算の場合は何使うべきなんだ? 自作クラス?
312 :
306 :2005/11/01(火) 15:36:39
>>309 学校で先生にです。
BigIntegerを使ったら
次は使わない方法を考えてみろと
>>310 計算して合計値を求めるだけの演習です。
313 :
デフォルトの名無しさん :2005/11/01(火) 15:39:11
CMYK TIFFのJPEG変換について教えていただけませんか。 以下のように実行すると画像の色合いがおかしくなってしまいます。 どなたかご存じないでしょうか。 Iterator readers = ImageIO.getImageReadersByFormatName("tif"); ImageReader reader = (ImageReader) readers.next(); // TIFF読み込み File f = new File("cmyk_tiff.tif"); ImageInputStream iis = ImageIO.createImageInputStream(f); reader.setInput(iis, true); BufferedImage bi = reader.read(0); // JPEG書き込み Iterator writers = ImageIO.getImageWritersByFormatName("jpg"); ImageWriter writer = (ImageWriter) writers.next(); File of = new File("cmyk_tiff.tif.jpg"); ImageOutputStream ios = ImageIO.createImageOutputStream(of); writer.setOutput(ios); writer.write(bi); よろしくお願いいたします。
ああ、BigIntegerみたいなのを自作しろってことかな
BigDecimal 使えってこった
キャリーフラグとかその辺勉強しろということなんだろうな
317 :
306 :2005/11/01(火) 15:45:08
>>314 はい、たぶんそう言うことだと思います。
三ヶ月でJavaで喰えるようになりたい。 何をすればいいか教えてくれ。
>>319 いますぐその辺のJavaを扱っていて初心者歓迎を謳っているソフトウェア会社に飛び込め。
三ヶ月もしないうちに実務に放り込まれるから、Javaで喰うという目標は達成だ。よかったな。
321 :
306 :2005/11/01(火) 16:16:20
>>318 はい!がんばります!
と言いたいとこですが、
何をやったらいいのか
まったく分かりませんorz
323 :
CASL :2005/11/01(火) 16:35:48
10進数の100を16ビットの2進数で表現したときに、その値の中に含まれる0の個数を、メモリに格納するプログラムの作成。 プログラムの終わりの部分は、下記で、0の個数は、ANSの領域に格納される。 CNS DC 100 ANS DS 1 END わかった人は答えて下い。(
RS232でのシリアル通信で、他のプログラムが使用中のポートを 強制的?にクローズすることは出来ないのでしょうか? ちょっと分かりにくいですが、 ClassA ← ClassB ← CommunicationAPI となってて、ClassA(別にClassAでなくてもいいですが・・・)でClassBがオープンしたポートをクローズしたいという感じです。 なお、ClassBをいじることはできません。 ClassBにはポートをクローズする処理がなく、ポートのインスタンスそのものを返す処理もありません。 宜しくお願い致します。
文字列が数字かどうか判断する標準関数みたいなのってありますか?
>>320 ガクガクブルブル orz
いきなり実務ですか?それは荷が重いような。
潜り込むのは当てがあるのでできそうですが……。
>>325 ない。
文字が数値かどうかは、素直に一文字ずつ判断するしかない。
java.lang.Character.isDigit( char ) で判断できるが、負数や少数は数字以外の
記号が混じるので、必要ならそれも実装する。 まあ一遍書けばずっと使えるから。
Integer.valueOf( string ) とかで NumberFormatException を出せば数値じゃないが
正常系に例外を含めるのはイケてない。 でもラク。
>>325 正規表現が分かるなら、String#matches() で一撃。
>>329 とんでもなく巨大な文字列か、数百回以上のような評価でなければ
通常のアプリで差はでない。ボトルネックはそんなとこには無いだろ。
332 :
デフォルトの名無しさん :2005/11/01(火) 20:56:24
ここ数日間、下記のプロセスが サーバの負荷を高めています。 /usr/local/java/jdk1.2.2/bin/i38 これってkillしてはだめなのでしょうか。 Javaが動くのに必須のプロセスなのでしょうか?
i38 なんてあったっけ?
334 :
300 :2005/11/01(火) 21:12:25
> 最近は、XMLで保存する仕様になったため必要ないとか何とか。 何かの脳内変換だったらしい。スマソ
>>325 ありそうで無いものは、大抵 Jakarta Commons で誰かが作ってそう。
とりあえず、Lang の NumberUtils.isNumber() あたり?
336 :
332 :2005/11/01(火) 21:38:09
>333 ありました。psコマンドで確認したら、 たしかに「i38」ってプロセスが 朝っぱらからずっと動いているんです。
HashtableとVectorの違いを張り切って教えてください。 よろしくお願いします。
やだ
339 :
337 :2005/11/01(火) 23:03:48
Vectorは可変長配列 HashTableはハッシュテーブル
>>340 ベクターは大手ダウンロードサイト
ハッシュテーブルは細切れにしたテーブル
のこと
342 :
337 :2005/11/01(火) 23:15:54
いやー!!皆さん張り切りすぎでどうにもこうにもついていけません。
>>337 今さらHashtableもvectorも使うべきじゃないね。
なんでCLDC1.0にはVectorがあってArrayListがないんですか?
>>345 昔はArrayListとかなかったのだ
347 :
デフォルトの名無しさん :2005/11/02(水) 01:44:44
質問 JAVAで画面を作って WEBで公開すると、 LOCALPCにダウンロードされて、 LOCALPC上で動くのですか? そして、サーバに処理要求を出す場合は、 TOMCATでしかイベントを拾えないのでしょうか。 どこらへんを調べたら載ってる情報でしょうか。 素人ですいません。
>>347 あなたがJavaと考えている物の中にはJava言語とJavaScript言語があります
その違いを調べてみましょう。
>>348 違うだろ。
Java には Application, Applet, Servlet など、様々な実行形態があります。
その違いを調べてみましょう。
あとプロセス間通信についても。
350 :
デフォルトの名無しさん :2005/11/02(水) 02:58:07
コンポーネントのbuttonを押した時に 現在のTextFieldに入っている文字列を取得する方法はありませんか?
WindowsでDOS窓を開かずにJavaのアプリケーションを実行する方法を おしえてください
>>351 javaw.exe を使えばいい。ということが java コマンドのマニュアル
(docs/tooldocs/windows/java.html)に書いてある。
353 :
デフォルトの名無しさん :2005/11/02(水) 07:12:26
お早う御座います。 os winxp home j2se+elipse3+apache2+tomcat5+mysql4.1+james2.2 で色々作ってるんですが・・・・ antでeclipseのclassesフォルダーから直接classファイルとconfig.xmlをjamesの SAR-INFと自分で作ったclassesというフォルダに入れて 何とかmailetとして認識出来たんですけども mailetのデータソースが認識出来ません。 自分としてはconfig.xmlのデータソースじゃなくて データベースのプロパティーファイルを用意してるのですが confに入れても認識してくれないし・・・ 面倒臭いのでjarを解凍したjames.sarに入れてパッキング等は やってません・・・antで旨く書けないし・・・ 詳しい方がいらっしゃいましたらどうぞご教授ください。 m(_ _)m ペコリ
Mac OSXの環境なのですが、 jarの中にbashのシェルスクリプトのファイル"hogehoge.bsh"をおいて、 同一jarのアプレットからそのシェルスクリプトを呼びたいんですが、 どうすればいいのか教えていただけませんか?
javaアプレットを使ってゲームを作っているのですが、 署名をつけてHTMLに埋め込んで起動するようにしたのですが アプレットビューアではキー操作を受け付けてくれるのに、HTMLに埋め込むと受け付けてくれないのです。 何か考えられる原因はありますでしょうか?
ブラウザで見てるならセキュリティ
>>357 お早い回答ありがとうございます。
IEのインターネットオプションのセキュリティの項目を低まで下げてみたのですが、
それでも受け付けてくれませんでした。何か他のところのセキュリティなのでしょうか・・・?
>>357 すいません、今コンソールを見てみたらエラーが大量にはかれていました。
そのエラーを見たところ、キー操作は受け付けているがそれに伴う処理関連が駄目だった様です
お騒がせしました
署名付きのJARファイルを使ってアプレットを起動しているのですが listpass = "stagelist.ini"; FileReader fr = new FileReader(listpass); の様に記述すると、例外を吐き出されます。 listpass = getDocumentBase() + "stagelist.ini"; 等も試してみましたが駄目でした。 stagepass.ini (指定されたファイルが見つかりません。) Eclipseを使ってアプレットビューアで行っているときには何の問題もなく使えたのですが、解決策はありますでしょうか・・・
>>380 >例外を吐き出されます。
質問してるのにこの例外を見せないのはどういう了見だ。
ポ前はその例外をちゃんと見たのか。
362 :
デフォルトの名無しさん :2005/11/02(水) 14:34:19
月の文字列(1月〜12月)から数字だけを取り出して整数型に格納する方法誰かご存知ないですか?
>>362 String#indexOf、String#substring、Integer#parseInt使えばいいじゃない
364 :
デフォルトの名無しさん :2005/11/02(水) 14:49:58
>>361 指定されたファイルが見つかりません。
之がFileNotFoundExceptionで出た例外です・・・
Eclipseを使っている際は出ない、
getDocumentBase() + "stagelist.pass"を用いても実行されないでつ・・・
>>365 getDocumentBase()が、アプレットビューアの時とブラウザの時でどう違うかくらべてみそ
>>365 getDocumentBase()ではブラウザの時htmlファイルのパスまで読んでしまうのですね・・・
getCodeBase()だと、ファイルのパスは
file:\C:\web\action\stagepass.ini
となってくれました。
が、(ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。)
と表示されます、とりあえずJavaのファイル読み込みのあたりを見直してきまつ。
368 :
367 :2005/11/02(水) 15:15:31
解決しました!! file:\C:\web\action\stagepass.ini ではなく C:\\web\\action\\stagepass.ini だったようです。 ありがとうございました!
369 :
デフォルトの名無しさん :2005/11/02(水) 18:23:06
Java Plug-in使用時にメモリ使用量を増やすにはどうすればいいでしょうか。 手元のテキストでは コントロールパネル→Java Plug-inの設定→「Java実行時のパラメータ」にmx○○を追加 って書いてあるんですが、Java Plug-inの設定が見当たりません(Java(TM)コントロールパネルっていうのはあります)。 OSはWindowsXP、Java2は1.5.0を使っています。
370 :
369 :2005/11/02(水) 18:24:45
すみません、sage忘れました(汗)
それでいいんじゃないのー?
372 :
369 :2005/11/02(水) 18:57:17
Javaアプレットのランタイム設定にはパラメータ入力欄があるんですが、 Javaアプリケーションのランタイム設定にはそれがありません。 これはアプレットにしかオプション設定ができないということなんでしょうか?
>>372 アプリなら実行時に設定できるけど。
常にってことなら、システムプロパティかな。。。
374 :
デフォルトの名無しさん :2005/11/02(水) 19:22:06
>>372 javaコマンドラインのオプションで-mx○○をつける。
375 :
369 :2005/11/02(水) 19:34:38
アプリは実行時に-mx○○をつけると設定できるんですよね。 テキストにはJava使用時に常時このオプションをつけられるみたいに書いてあるんですが、 それらしい項目がなかなか見つかりません…。 システムプロパティで設定できそうなのはドライブの仮想メモリ欄の768MBでしょうか。 でもJava使用に768MB割り当てられるってことではありませんよね?
377 :
369 :2005/11/02(水) 20:46:46
>>376 うーん、どうもエラーが出てしまいます。
>Exception in thread "main" java.lang.NoClassDefFoundError
他のアプリやアプレットは実行できるので、環境変数の設定ミスではないとは思うのですが…はてさて。
すんません、ど素人です。質問させてください。 ブログ(楽天つかってます)でJavaScriptを走らせる方法を教えて欲しいです。 お願いします。
thisの使い方を教えてくださいませ。 class Company { public void addEmployee(Employee e) { System.out.println(e.aName + "さんが入社しました"); } } public class Employee { private Employee afo; public String aName; public Employee(String name, Company c) { this.aName = name; // ココのthis c.addEmployee(this); // c.addEmployee(afo); なぜafoだとだめなのか? } public static void main(String[] args) { Company aCompany = new Company(); Employee aEmployee = new Employee("山田", aCompany); } }
afoがnewされて無いよな
383 :
デフォルトの名無しさん :2005/11/02(水) 23:00:02
>>317 BigInteger.javaを読めばわかる。
BigInteger.javaのクラス名ファイル名を
変更して
先生に「自作クラスを作りました」と言ってみるw
>>382 どもです。
StackOverFlowErrorでますが
>>384 どもです。
どのように改善していけばよいのでしょうか。
それと、thisとafoの違いを教えていただけないでしょうか。
387 :
デフォルトの名無しさん :2005/11/02(水) 23:11:18
こんばんわ 353なのですが・・・・ 誰かjamesに詳しい方、解決策を よろしく御願い致します。 m(_ _)m ペコリ
thisだと無限ループ内でも例外を生じないが, afoをデフォルトコンストラクタでnewすれば例外エラーを生じる。。。 なぜなんでしょ?
thisは現在実行中のオブジェクトへの参照
super
>>389 > C++ の経験は?
ないです
>>390 いや、その、その説明だけだと分からなかったんで。。。
>388 Employeeクラスの中で、 Employee afo; と宣言すると、afoという雛形を用意する。 実体(メモリ上に実際のもろもろの値はない。初期化できてない) さらに、afo=new Employee(〜);とすると、実体ができる。 このEmployeeクラスの実体は新たにできたもの。 新たにってことは、Employeeクラスの実体は2つあることになる。 それは、実際Employeeクラス内のコードを走っているそのもの>thisという実体と、afoという新たにできた実体。 当然、同じメンバ変数なりを入れても、同じものが2つメモリ上にあることになる。
>実体(メモリ上に実際のもろもろの値はない。初期化できてない) を この段階で実体はない(メモリ上に実際のもろもろの値はない。初期化できてない)
それと回答結構ですわ。んじゃ
398 :
デフォルトの名無しさん :2005/11/03(木) 01:44:13
>>369 -Xmxのことだろ
java -Xmx768m hoge
で、最大768mのJavaヒープ確保する
399 :
398 :2005/11/03(木) 01:45:57
ちなみにデフォルトだと64Mが最大だったような気ガス。まあバージョンによって違うと思うけど。 それを越すとOOMになる。
>381は afo=new Employee(String name, Company c)でやっても、 new Employee()でやっても(もちろんc.addEmployee(afo);)、どこでどうやっても、 StackOverFlowErrorも例外エラーもでなかった。 コンパイルすら通らなかった、コンストラクタ呼ばれる前に、 new Employee(〜)でもnew Employee()でも、が呼ばれるから、 こんなの知らねーョ、とはじかれるだけだったが。 どうやったら、でたんだろ。
コンストラクタ呼ばれる前に、 +コンストラクタ中で(コンストラクタ完了する前に)、
今からちょっくらJavaの本買いに逝こうと思ってるんだが 基本から応用まで幅広く載ってておすすめのってある? やはり"やさしいJava"とやらになる?
本屋まで行くなら自分でよさそうなのを勝手に選べばいいのでは?
404 :
デフォルトの名無しさん :2005/11/03(木) 13:16:44
インスタンス名を配列で生成するとエラーが出てしまうのですが、 配列として定義とかしないといけないのでしょうか? for(int i,i<5,i++){ Sample a[i] = new Sample(); } こんな感じのプログラムです。
>>404 仮にそうかけたとしても、{ } の外で a はつかえないよ。
} の次以降で使うんでしょ?だったら
Sample[] a;
for (略) {
}
と書かなきゃいけない。んで、これだけだと a は null なんで、
a = new Sample[5];
サイズを指定する。配列オブジェクトのコンストラクタを呼んでインスタンスを生成するようなもんだ。
で、配列の各要素を埋めていく。
for(int i;i<5;i++){
a[i] = new Sample();
}
>>405 ,406
早い返信ありがとうございます。
いま工学部の情報系の大学3年やけど最近授業になって授業で
ジャバやC++やりだした。こんなんで就職大丈夫なんかな。
言語自体をはじめたばかりならそんなもんだろ 1年もあればそれなりに形にはなる ただ、どの言語にしてもそれなりに極めるにはその後さらに1,2年自分から調べて 積極的にやってナンボだな 最初1年くらいで言語使用のほとんど覚えたとしても、それが実はうわべだったと 後で気がついてくるからね
Java3Dもこのスレでよろしいでしょうか?
http://kjm.kir.jp/pc/index.php?p=4366.jpg 画像左のテクスチャを立方体に貼り付けているのですが、画像右のように一色で表示されてしまいます。
デフォルトでdemoフォルダに入っているサンプルでも同じようになってしまいます。
検索して調べてみたんですが、
>テクスチャが壊れて描画されるのであれば、グラフィックボードのドライバの問題
このテクスチャが壊れて描画されるという症状なんでしょうか。
>>410 お早い返信ありがとうございます。
ノートPCだし新しいデスクトップが欲しいなぁ…。
親のコンテナのLayoutがBorderLayoutか調べるにはどうしたらいいのですか? それと関連して 親がBorderLayoutと解った場合、自分が(Center,East,West,North,Southの)何処に配置されているのかを調べる方法と 他の場所に配置されているコンポーネントが(Center,East,West,North,Southの)何処かを調べるにはどうしたらいいのですか?
>>412 まずAPIマニュアル読んだかを聞きたい
Class hoge = new Class(); System.out.println(hoge); とした場合,JVMにおける仮想メモリの中で インスタンスの実態へのポインタの値が出力される で,認識は正しいでしょうか? ご教授よろしくお願いします
>>414 hoge.toString() の値が出力される。
>>415 そうでしたか…
ありがとうございました!
System.identityHashCode(Object obj) って、必ず obj の内部アドレスが返ってくるっていう認識で良いですか? 要は obj の参照と一対一で対応する値が欲しいんですが。
418 :
デフォルトの名無しさん :2005/11/03(木) 18:29:41
>>414 に便乗。
オブジェクトをtoString();すると
class名 + @ + 16進ハッシュだったかと
16進のハッシュって、意味がよくわからない。
メモリアドレスを16進であらわしてるって意味ではないの?
おしえてエロイJavaマスター
420 :
デフォルトの名無しさん :2005/11/03(木) 18:55:38
APIのヘルプってまとめてダウンロードできないのですか?
できますよ
422 :
デフォルトの名無しさん :2005/11/03(木) 19:11:49
SDKは何処からダウンロードしたんだよ・・・
424 :
デフォルトの名無しさん :2005/11/03(木) 19:56:01
JSPの質問ってここでよかとですか?
>>418 public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
426 :
デフォルトの名無しさん :2005/11/03(木) 20:51:24
ボタンを押したらラベルを表示という処理をしたいのですが public void actionPerformed(ActionEvent e){ add(label); } と記述しているのに何も表示されません。 コンストラクタにadd(label)と記述すれば問題なかったのですが。 actionPerfomed内でadd()は使えないのでしょうか? またはそれ以外に原因がありますかね?
427 :
デフォルトの名無しさん :2005/11/03(木) 20:53:24
>>426 最初からセットしておいて非表示にしておく。
ボタンが押されたら表示にする。
これでいい?
428 :
426 :2005/11/03(木) 21:14:14
>>427 l.setVisible(false);
と書いておき
public void actionPerformed(ActionEvent e){
l.setVisible(true);
}
としてもやはり表示されません。
他に考えられる原因ありませんかね?
ちなみにPanelクラスを継承したクラスの中に全て記述しています。
429 :
デフォルトの名無しさん :2005/11/03(木) 21:16:53
何が悪いか分からん。OSXはコンパイルしてもエラーが文字化けorz エロイ人、教えてください。 ーーーーーーーーーーーーーーーーー import java.io.*; public class Heikin{ public static void main(String[] args){ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); //one System.out.println("一人目の名前は?"); String namae1 = reader.readLine(); System.out.println(namae1+"さんの年齢は?"); String line = reader.readLine(); int age1 = Integer.parseInt(line); //another System.out.println("二人目の名前は?"); String namae2 = reader.readLine(); System.out.println(namae2+"さんの年齢は?"); line = reader.readLine(); int age2 = Integer.parseInt(line); //平均 System.out.println("二人の年齢の平均は"+((age1+age2)/2.0)+"です。"); } } ーーーーーーーーーーーーーーー
>>428 ボタンにアクションリスナーを登録したか?
431 :
デフォルトの名無しさん :2005/11/03(木) 21:36:36
import java.awt.*; import javax.swing.*; import java.rmi.*; import java.awt.event.*; public class ServiceBrowser{ JPanel mainPanel; JComboBox serviceList; ServiceServer server; public void buildGUI(){ JFrame frame=new JFrame("RMI Browser"); mainPanel=new JPanel(); frame.getContentPane().add(BorderLayout.CENTER,mainPanel); Object[] services=getServiceList(); serviceList=new JComboBox(services); frame.getContentPane().add(BorderLayout.NORTH,serviceList); serviceList.addActionListener(new MyListListener()); frame.setSize(500,500); frame.setVisible(true); }
432 :
デフォルトの名無しさん :2005/11/03(木) 21:37:22
void loadService(Object serviceSelection){ try{ Service svc=server.getService(serviceSelection); mainPanel.removeAll(); mainPanel.add(svc.getGuiPanel()); mainPanel.validate(); mainPanel.repaint(); }catch(Exception ex){ ex.printStackTrace(); } } Object[] getServiceList(){ Object obj=null; Object [] services=null; try{ obj=Naming.lookup("rmi://127.0.0.1/ServiceServer"); } catch(Exception ex){ ex.printStackTrace(); } server=(ServiceServer)obj; try{ services=server.getServiceList(); }catch(Exception ex){ ex.printStackTrace(); } return services; }
433 :
デフォルトの名無しさん :2005/11/03(木) 21:38:18
class MyListListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ Object selection=serviceList.getSelectedItem(); loadService(selection); } } public static void main(String[] args){ new ServiceBrowser().buildGUI(); } } このプログラムなんですけど、表示がされません。どうすればいいのですか?ホストの問題みたいですけどわけわかりません
434 :
428 :2005/11/03(木) 21:43:15
>>428 public void actionPerformed(ActionEvent e){
System.out.println("test");
l.setVisible(true);
}
と書いて「test」と表示されるので登録はされているはずです。
435 :
428 :2005/11/03(木) 21:44:50
ジャバ言語は「Java」?「JAVA」?どちらが正式な表記なの?
Java(TM)
オブジェクトの排他制御をする場合、mutex 関連のクラスを自作して それのインスタンスをその排他制御したい対象であるオブジェクトの インスタンスに集約したり継承したりして、関連づけするのが良いのか、 mutex クラスインスタンスは別個にインスタンス化しておき、その都度 それを呼び出すように設計するのが良いのか迷っています。 オブジェクト指向的にはどちらが良いのでしょうか?
>>426 add(label);
this.validate();
440 :
439 :2005/11/03(木) 22:26:35
↑ 訂正。別にthisはいらない・・・
>>438 java.util.concurrent.locks
>>438 そのオブジェクトをどう排他制御すればいいのかはそのオブジェクトしか知らない
ライブラリ的なものは独立したもので持っていてはいいと思うけど
それを使うのはそのオブジェクト自信かと
5.0からは細かい制御が出来るのでがんばれ
>>437 ありがとう。無性に気になっていたので。
444 :
デフォルトの名無しさん :2005/11/03(木) 23:06:47
>>439 ありがとうございます!解決しました!!
445 :
429 :2005/11/03(木) 23:19:59
orz
>>445 ターミナルとVMのデフォルトエンコーディングをそれぞれ確認しておけ。
>>445 try&catch
eclipse使えば?
>>411 ノートPCでも3Dに強いグラフィックカード積んでるものが
格安で出てるぞ。
Stringクラスのequalsを使って文字列比較をしていたのですが " を含む文字列を比較したい状況でつまづきました。(HTMLソースファイルのタグを比較しようとしています) " を含む文字列を比較したいときはどうすれば良いのでしょうか? どなたかご教授下さいませんでしょうか。 ↓この構文でエラーが出てしまって困っています。 String s1 = "<a href="〜〜〜〜"><br>"
451 :
429 :2005/11/03(木) 23:57:12
>>446 >>447 どうもありがと。眠いので明日試してみます。
ちなみに初代大福なのでeclipseは重すぎます。
>>450 ありがとうございました。
"の前に\をつけることで回避できるのですね。
勉強になりました。
>>451 やっすい、Windosノートにメモリ1G位乗せればEclipse快適だぜ
10万しないマシンで良いぞ
>>417 ハッシュコードは、int 型なので、
オブジェクトが int で表現できる範囲以上の個数が作られた場合は
重複しているオブジェクトが存在しているはず。
まあ、ハッシュはなるべく重複しないように設定しないと効率的じゃないし、
多くの VM が 可能な限り唯一の値を割り当ててくれていると思いたい。
455 :
デフォルトの名無しさん :2005/11/04(金) 09:17:08
いきなりの質問失礼致します。 モデムを通して電話をかける。 その時パソコン内にあるデータベースの電話番号を参照し電話をかける このようなプログラムを作ることはできますか? 全くの素人なのでWiki等を調べたのですが、分かりませんでした。 プログラムの勉強をして、電話をかけるプログラムを作りたいのですが この言語が適当なのかも全く分かりません。 回答頂けたら助かります。
質問失礼します。前に○×ゲームの勝利条件のアドバイスをもらったものです public void actionPerformed(ActionEvent e){ int koutai = 0; int haiti[][]; haiti = new int[3][3]; for(int i=0; i<3; i++){ for(int j=0; j<3; j++){ if(e.getSource() == Btn[i][j]){ if(koutai % 2 == 0){ haiti[i][j] += 1; koutai += 1; Btn[i][j].setLabel("○"); } else{ Btn[i][j].setLabel("×"); haiti[i][j] -= 1; koutai += 1; } } } } 上のモノはアクション部で、ボタンが押された時にkoutaiに1を足して 攻守を交代させようとしたのですが、なぜか交代されずに○だけ表示さ れてしまいます。どうしてでしょうか?
457 :
456 :2005/11/04(金) 09:42:20
あ、右詰めになってしまってすいません・・・
>457 ×右詰 ○左詰 幼稚園からやり直して恋
javaが向いているとは言えないが、可能だよ。 試しに作ったことある。 普通モデムはCOMポートかUSBに繋がってると思うのだが、かなりハード依存の部分なので javaの標準APIではアクセスできない。 "Java Communication API" というヤツをSunから落としてくれば可能だが プラットフォームは現時点ではWindows限定。 モデムのATコマンドとか通信手順を知らないと無理なので 「全くの素人」だと、かなり難しいと思うけど。 結局俺は、Excel + TeraTermマクロ にしたけどねー
460 :
459 :2005/11/04(金) 09:49:42
自作のプログラム(RMI使用、JNIなし、標準ライブラリ以外使わず)を使うとき、 一度目に起ち上げる時は問題ないのですが、 2回目には必ず、OSごとハングアップもしくはリブートがかかります。 WinXP + 1.4.2-09 もしくは 1.5 で、どちらの JRE でも起こります。 同様の症状が出たことがある方はいらっしゃいますか? また、解決法もしくは対症療法的なやり方はありますでしょうか?
PBXリモート管理用のアプリじゃね? と好意的解釈してみるテスト
俺俺アレ用だとしたらどうだろう
>455 VisualC++ならRASを使ってできる。
>>459 別にWindows限定ってことでもないけどね。
OS/2, Linux, AIX向けは存在する。
468 :
456 :2005/11/04(金) 14:10:00
どなたかご回答お願いします
469 :
デフォルトの名無しさん :2005/11/04(金) 14:38:42
JavaScript初心者擦れどこー(AAry
>456 >int koutai = 0; >int haiti[][]; はactionPerformed内だけのローカル変数だからでしょう、おそらく。 メソッドの外では有効にならない。
デスクやノートにかかわらずそれなりの性能のCPUなら、 メモリが1GBも積めばEclipseものすごく快適に使えますよ。 先月まで256MBで悪戦苦闘していた自分がバカみたいだったorz 皆、いちにちどれくらいプログラムを組むためにモニタの前に座ってるの? 私は5時間くらいなのだけど。と、板違いなことを尋ねてみるw
マ板行け
この3ヶ月は一日平均11時間
474 :
デフォルトの名無しさん :2005/11/04(金) 16:49:03
JSPからブラウザの新しいウィンドウを最大化で開く事って可能でしょうか? 最悪、JavaScriptでもいいのですが・・・ 初心者なので、全然わからなくって困っています。 どなたか分かる方いたら教えてください。
JSPってクライアントの技術じゃなくてサーバーの技術だぞ そしてJavascriptはスレ違い
>>470 できたあああ!ありがとうございました!
二日間もウンウン唸ってたモノがやっと解消されました
477 :
474 :2005/11/04(金) 17:33:56
>>475 初心者大歓迎???
少しぐらいはやさしくしろよ。初心者なんだからさ。
なんでそんなに必死になってんの?
Javaで飯食ってるから必死なんだよ
>>474 JavaScriptでやるしかないので別のスレ(多分別の板にあると思われ)で聞いてくれ
そもそもブラウザを限定しないとそんなことは不可能だと思うけどね
(タブブラウザだったらどうするのかとかいろいろあるし)
>>474 無知な俺らにタダで教えてくれてるんだからそんな文句いうなよ
リアル社会じゃ金出すか恥かくかしないと人にモノ教えてくれないぞ
ネットがリアルじゃないなんてどんな教育受けてきたんだ?
.NETってアニメを見て・・・
ネットがリアルでないと本当に思いこんでしまった人が、 掲示板で脅迫みたいな犯罪を犯すんだろうな。怖い世の中だ。 ネットもどう考えてもリアルだろ。嘘をつく必要がさっぱりわからん。
ネットがリアルじゃないんじゃなくてネットにリアル感が持てないだろ?馬鹿じゃね
ネットがリアルかどうかなんてのはリアルの定義次第でどうとでもいえる といってみるテスト
.NETは色んな意味で害悪だな ってそれ.hackだろ
>>474 JavaScript 最大化
でググるとかした?
笑いにうるさい関西人登場
492 :
デフォルトの名無しさん :2005/11/04(金) 20:14:17
>>487 J(´へ`)しごめんね、母さん見たこともないのに知ったかぶりしてごめんね
>>494 かあさんうるさいよ。だまっててよ。そんなんだからマザコンって虐められるんだよ
496 :
474 :2005/11/04(金) 21:23:16
ちょっと質問に来ただけなのに・・・ みなさん仲良くやりましょう!!! (^o^)丿
497 :
429 :2005/11/04(金) 21:43:45
>>446 VMのデフォルトエンコーディングはどこで確認するのか教えてください。
って言ったら怒る?
OSX10.3.8です。
498 :
429 :2005/11/04(金) 21:57:01
後だしすまそ。 xcodeで書いて、ターミナルでjavacしてます。 ターミナルのデフォルトエンコーディングはUnicode(UTF-8) で、javacしてエラーが出たら、そのエラーが文字化けするって感じです。
-encoding オプションでなんとかならんの?
>>429 InputStreamReaderのコンストラクタの引数にCharsetを指定して(ry
>>498 シェルの表示文字コードの設定に問題がありそう
おまえらのせいで.hackの再放送を見忘れたじゃねーか!
504 :
429 :2005/11/04(金) 22:34:37
みなさん、ありがと。
>>503 ググれよとか言いながらも、代わりにググってくれてありがと。ビンゴでした。
Macは好きなんだが、OSXの最大の欠点はエンコードだと3年くらい前から思ってた。
javaだけじゃなくて色んなとこで文字化けする。英語でも。
505 :
デフォルトの名無しさん :2005/11/04(金) 22:35:02
ム打つのの疲れた シコって寝るわノシ
普通なら assert でやりたいんだけど public メソッドだから RuntimeException を直書きしてるみたいな部分があるんだけど、 ココで RuntimeException にメッセージとして渡す文字列をプロパティファイルに分けておくのはどうかと思った。 普通なら絶対にお目にかかれないエラーメッセージだし、リテラル直書きでも問題ないんじゃないかとか。 以上、チラシの裏スマソ。
チラ裏は読む前にわかるようにしろとあれほど(ry
チラシの裏を書きます。 と書いてからくだらない内容は書くようにしろよ。 そうすれば読む人もすぐに内容がわかるから、 時間のない人は読み飛ばすし、 余裕のある人が暇つぶしに対応するからさ。 皆が皆、暇なわけではないのだから。
509 :
デフォルトの名無しさん :2005/11/05(土) 00:44:16
>>508 > チラシの裏を書きます。
ココまで読んだ(・∀・)
511 :
デフォルトの名無しさん :2005/11/05(土) 01:01:27
すみません、インストールするときにソースファイルが見つかりません、 というウィンドウが出てきます。解決法を教えて下さい。おねがいします。。
DBから取得したデータを格納するオブジェクトと、そのオブジェクトを複数詰めたListについて、 たとえば、DBのテーブル構造をマッピングしたオブジェクトが class Person() { private String name; private String age; public getName(){ return name; } public getAge(){ return age; } } として、このPersonのインスタンスを格納するコレクションがあったとした場合、 いわゆる「データモデル」として呼んでいいのは、コレクションに詰められた個々の Personインスタンスなのか、それとも、コレクションそのものをモデルとして呼んでいいんでしょうか?
マルチイクナイ
ゴメンネ・・・ クラス名スレではスレ違いだと気づいたの・・・
ねえねえP2PソフトをJavaで作ろうと思う人はいませんか? Javaはネットワークにむいていると思うのにP2PソフトはどれもC++なんですよ。 何でだろう〜何でだろう〜Javaで組まないのは何でだろう〜?
>>515 JavaのP2Pの基盤としてJXTAってのがあるからP2PやるだけならCやC++より簡単
ただ、どうしてもP2Pで受け渡したい物が容量がデカイ物だったり
ソース解析がされて通信がブロックされたく無いと言う心理が働いたりして
C++でやっとくかって思ってしまう辺りがJavaで作ろうとしない理由だろうな
>>516 ああ、そうだったのか。疑問だったんですよ。
そう言う心理面が大きく働いていたんですね。ありがとう。
519 :
デフォルトの名無しさん :2005/11/05(土) 09:23:17
お早う御座います。 上の方でjamesに付いてお尋ねしたんですが 芳しい返答が無かったので諦めてconfig.xmlにちゃんと データソースを定義する事にしたんですが・・・・ そこで今更ながら使ってるmysqlは使い勝手が今ひとつなので・・・ webやメールサーバと相性の良く使いやすいフリーのDBって 有るんでしょうか・・・? 良くjavaで書かれたHSQLDBとかを聞くのですが・・・・ 使ってる方とかいらっしゃったら操作とかどんな感じか教えて 頂きたいのですけども 長分すいませんでした。
>>519 HSQLDB良いんじゃね。テスト開発用にしか使った事無いけど
HSQLDBはいいけど、マルチスレッドなサーバー環境だと アプリ側が排他制御考慮しないといけないよ クライアントサーバーや規模が大きくない限りHSQLDBでだいたいいける
>>520 ,521
早速ご回答有り難う御座います。
独学でjavaを勉強してますので大規模な環境でも無いですので
HSQLDBを試してみようと思います。
accessでDBを編集したりするのでodbcデータソース出来れば
最高なのですが・・・・そこまでは望み過ぎかも知れませんけど
523 :
デフォルトの名無しさん :2005/11/05(土) 12:03:33
後もう一つお聞きしたいのですが・・・ 自分はDBを利用する時にwebはtomcatのデータソースを使ってて メールサーバはjamesのデータソースを使うつもりなのですが 巷で良く聞くO/Rマッピング(Hibernate)とかの使い勝手ってどうなんでしょうか? 自分でちょっと調べた所に依ると結局はsqlを理解して無いといけない らしいので覚えるのも大変そうなので敬遠してるのですが・・・・ O/Rマッピングって最初からオブジェクトをコレクションで取り出すみたいな 感じなんでしょうか? 実際に使ってらっしゃる方がいらしたら感触なんかを 教えて頂けますと大変有り難いのですが・・・・ 重ね重ね長文すいません
>>522 AccessのMDBはJavaから普通に開けるぞ
これもマルチユーザ未考慮なんでHSQLDBと同じく面倒なことが起きるのだが
それならばHSQLDBのほうがらくちんだね
ただ、HSQLDBってJDBC1までしか対応してなかったような気もする
>>524 自分が不勉強なので良く分からないのですが
mysqlはodbcdriverが有ったのでaccessで開いて
編集出来るって意味だったのですが
HSQLDBってodbcデータソースでaccessで編集出来るでしょうか・・?
自分が調べた限りでは無理っぽいって書いて有った気がするんですが
もし可能なら日本語扱いにくいmysqlから速攻でHSQLDBに行くんですけど・・・・
まぁeclipseからHSQLDBのプラグインで編集しても良いでしょうが
やっぱりaccessの方が使い慣れてるので。
よく分かってないのに質問してすいません
もしアホな質問だったらすいません・・・・
m(_ _)m ペコリ
JDBC関係のプラグインを探せばAccess並とまでは行かないがそれなりのプラグインがあるよ
>>525 純正の WTP は? HSQLDB がいけるかは知らん。
まー、Access(ry
OpenOffice Baseは?
529 :
デフォルトの名無しさん :2005/11/05(土) 19:36:28
参考書を読んでいて、 Fooクラスといのが出てきたのですが、 Fooクラスについての説明が無く、どんな物なのかよく分かりません。 どこかに説明が載っているところありませんでしょうか? ぐぐってみても、あまりいいのが見つからなかったです。
「フー」とか「バー」が通用する時代は終わったのだな。 やっぱ今は「ほげ」の時代か。
533 :
529 :2005/11/05(土) 21:09:10
そうだったんですね。 いくら探してもないはずですね。
>>532 そう?Hogeじゃ足りないときはFoo Barだよ
ふつー Hoge, Hage, Hege だろ。
ふつーって何だよ、お前の世界はだろ?
537 :
デフォルトの名無しさん :2005/11/05(土) 21:19:13
The Jargon Fileによれば、 " First on the standard list of metasyntactic variables used in syntax examples (bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud)." と書かれている 構文例に使用されるメタ変数で使う順番は foo bar baz qux quux corge grault garply waldo fred plugh xyzzy thud 大概はfoo、bar、bazまでおぼえてりゃ間に合う
while (n != 1) { System.out.print(n); if (n%2 == 1) { n = n * 3 + 1; } else { n /= 2; } System.out.print(" "); } System.out.print(n); } } ↑でnに0以下の数を入れると0の無限ループが起きてしまうので、 0になったらエラーと表示させて止めるには何をどう書き加えればいいでしょうか。 超初心者ですみません・・・。
あれか。n > 0 の値に対して f(n) = 1 となる関数。 if (n <= 0) throw new Exception("エラー"); を一番初めに追加。
>>525 EclipseのDbEditプラグイン
QuantumDBプラグインを使ってみるのはどうだろう?
とりあえずJDBCドライバさえあれば
どんなDBでもアクセスから読めるんじゃなかったっけ?
>>541 それはユニットステップ関数(単位ステップ関数)か?
それともクロネッカーのデルタか?
>>543 うろ覚えだから良く知らん。間違ってそうで実は恐いです ><;
>>540 > 0になったらエラーと表示させて止める
if (n==0) {
System.err.println("エラー");
break;
}
思い出した。角谷予想だ。っていうか関数じゃないなゴメヌ。
547 :
540 :2005/11/05(土) 23:41:48
>>545 それをどの位置に入れればいいのでしょうか。
最後(print(n);のあと)に入れたらエラー(identityがありません?)
が出てしまってダメでした・・・。
コラッツ予想な
>>548 コラッツ予想でも角谷予想でも、どっちでも良いみたいだよ?
550 :
デフォルトの名無しさん :2005/11/06(日) 00:26:24
配列に{1,2.3〜}と50の値が入っていたときに 特定の数字を指定して 中身を最初からまでその数字までを残してそれ以降を切り捨てるメソッドって存在するのでしょうか?
自分で作る。
>>545 if(n != 0){
while(n != 1){
...
の方が効率いいでしょ。毎回毎回0の判断したら大変じゃん
553 :
デフォルトの名無しさん :2005/11/06(日) 02:31:01
マカーって本当に馬鹿だな。Java使わなくていいから。gccでCでも使ってろ。 P2PつーかネットワークプログラミングでJavaって重たいから敬遠されがち。 逆汗回避に曖昧化って手法も有るけどな。どちらもフリーでも商用でもツールが有る。
554 :
デフォルトの名無しさん :2005/11/06(日) 08:24:01
今までの中では
>>541 が一番いいんじゃね。
理由はnが自然数であることは制約だから。
以下のようにassert文を頭におくのもいいかも。
assert n > 0 : "エラー";
555 :
デフォルトの名無しさん :2005/11/06(日) 13:22:21
とある処理でホストネームの逆引きを行うネットワークプログラムを アプレットで作成しました。ただ、ほとんど作成し終わって 実際にアプレットで動作させるとアクセス拒否されまくりました。 調査したところ、アプレットは配布サイト以外とは通信できないらしく DNSサーバで逆引きを行うところでアクセス拒否が起こったようです。 (Eclipseで作成中はそんな制限が無かったので気づかなかった…) とりあえず逆引きさえクリアできれば、なんとかなりそうなのですが、 何か上手い方法はないでしょうか。 ※アプレット配布サイトでDNSサービスを動作させることはできないです・・・ ※署名入り認証?もあまりやりたくないです・・・
556 :
555 :2005/11/06(日) 13:23:49
ちなみに現在は、InetAddress.getByNameで逆引きを行っています。
>>555-556 アプレット配布サイトに名前解決用のWebサービスを作り、アプレットから利用するってのが正しいやり方かと
署名入り認証しても誰かわからないユーザーのアクセスが許されるようなグローバルなDNSなんか無いだろ
それともDNSを外部から利用可能な形で公開でもするの?
558 :
555 :2005/11/06(日) 13:36:09
>>557 ナルホドォ・・・そうなりますかぁ…
サーブレットなどが使用できないサイトなので、CGIでクエリで渡された
変数を逆引きする簡単なAPを作成します…
どうもありがとうございました。
559 :
デフォルトの名無しさん :2005/11/06(日) 13:37:39
560 :
555 :2005/11/06(日) 13:42:39
561 :
デフォルトの名無しさん :2005/11/06(日) 13:44:51
>>555 聞きたいこと聞いたらその態度か
二度とくるな。このスレ汚しが
562 :
555 :2005/11/06(日) 13:49:32
>>561 名前も名乗らず、理由も述べずにイキナリ士ネと言うお前のほうがスレ汚し。
こちらはちゃんとありがとうございました。とお礼を述べている。
何をいきなりキレテイル?
563 :
561 :2005/11/06(日) 13:50:34
>>562 俺は559じゃないんだがな。
やっぱりスレ汚しだよ。おまえは。嵐をスルーできないんだから。
もうくるな。
564 :
デフォルトの名無しさん :2005/11/06(日) 13:52:36
どうでもいいから仲良く喧嘩しな
565 :
デフォルトの名無しさん :2005/11/06(日) 13:53:37
555は名前を名乗っているのか?すげー度胸あるな。
566 :
555 :2005/11/06(日) 13:56:20
>>563 うっぜー 俺をスルーできないならお前も同罪だ。
少なくともサゲて発言しろよ。ハゲ。
>>565 少なくとも555と名乗っている。
559とか561とかどれと同一人物かわかんねーだろ。
567 :
デフォルトの名無しさん :2005/11/06(日) 13:58:45
555が切れたよ ガキが暴れだしたよー 聞きたいこと聞いたらやりたい放題だな。 最近はやりのキティちゃんか?
555を煽ってる奴らも消えろ。
569 :
555 :2005/11/06(日) 14:05:22
うっさいわぼけ 匿名でしか発言できないくせに偉そうな事言うな
570 :
デフォルトの名無しさん :2005/11/06(日) 14:16:50
>>569 実名名乗ってみろよ。
555ってのは匿名だよ、お ば か さ ん
571 :
デフォルトの名無しさん :2005/11/06(日) 14:22:56
555みたいな質問者がいるとスレの質が下がる予感
∧_∧ ( ´・ω・) ∫ うー、サブ //\ ̄ ̄旦\ // ※\___\ \\ ※ ※ ※ ヽ \ヽ-―――――ヽ
573 :
デフォルトの名無しさん :2005/11/06(日) 15:32:44
まじ555ってサブすぎ
574 :
デフォルトの名無しさん :2005/11/06(日) 15:38:08
935 名前: デフォルトの名無しさん [sage] 投稿日: 2005/11/06(日) 15:25:10 このsageない基地外なんか過去から全部同じ椰子じゃないかとまで思ってしまう。 (ネタがつまらんのが致命的にキモイ)
おまえら大漁だな。
セックスしたからあったかい(*^-^*)
失礼します ソースの構文解析を行うプログラムを作成しようとしているのですが FileReader fr = new FileReader("good.c"); StreamTokenizer st = new StreamTokenizer(fr); のようにして ファイルストリームからStreamTokenizerを利用する方法はよく見かけるのですが StringオブジェクトをStreamTokenizerにかけるやり方はありませんでしょうか?
578 :
デフォルトの名無しさん :2005/11/06(日) 17:09:51
Integer型とint型って何が違うんですか?
>>577 StringTokenizer じゃダメな理由を聞いてから。
581 :
デフォルトの名無しさん :2005/11/06(日) 18:19:35
582 :
デフォルトの名無しさん :2005/11/06(日) 18:30:44
2分法により、3sin(x)+ln(x)=0 となるxを求めなければなりません。 とりあえずプログラムは作ってみたのですが、うまく作動しません。 助言をお願いします。 #include <stdio.h> #include <math.h> float f(float x); float main(){ float a=0.1,b=M_PI,c; int k=0; while(fabs(f(c))>0.01){ k++; c=(a+b)/2; if(f(c)<0) b=c; else a=c; } printf("Answer=%f\n",c); printf("Number=%d\n",k); } float f(float x){ return (3*sin(x)-log(x)); }
>>579 StringTokenizerは 特定のトークンで切り出すというメソッドですよね?
例えば
for ( int i = 0; i < 10; i++ )
なら 問題なくスペースをトークンとして切り出せるのですが
for(int i = 0; i<10; i++)
のように詰めた書き方もありますよね
この場合うまく切り出せないのではないかと思いました
あと StreamTokenizerのほうが 構文解析のためのメソッドが充実してないですかね?
584 :
デフォルトの名無しさん :2005/11/06(日) 18:41:28
>583 じゃStreamでがんばれや
>>583 あまり API をよく読んでいないが、
まあ StringReader くらいでも使えば
お望みのことが出来そうな気がする
586 :
デフォルトの名無しさん :2005/11/06(日) 18:52:26
>>577 java.io.StringReader
>>581 > プリミティブってなーに?
オブジェクトじゃないもの。値。
Java にプリミティブがあるのは、パフォーマンス(実用性?)とのトレードオフ
>>582 ここはJavaスレなんで、答えは返って来ないと思うよ
589 :
582 :2005/11/06(日) 19:16:54
>>584 ,585,586
どうもありがとうございましたm(_ _)m
StringReaderで解決しました
591 :
デフォルトの名無しさん :2005/11/06(日) 21:21:47
配列に{1,2.3〜}と50の値が入っていたときに 特定の数字を指定して 中身を最初からまでその数字までを残してそれ以降を切り捨てたいのですがどうすればいいのでしょうか? また配列の中身が特定の数字よりも小さい場合もエラーにしたくないのですが どうすればいいのでしょうか? 考えたのですがよくわからないので教えてください
配列の大きさは変更できません。切り捨てたくても java ではできないのです。
SQL発行するのにPreparedStatement使ってんだけど、 setIntみたいなプリミティブを引数にとるやつだと、Nullのはずが DBにintとかの初期値が入るのが困ってます。 バリューオブジェクトのプリミティブの変数の値があるかないかの判断 ってどうやるのがスマートなやり方なんすかね? やっぱバリューオブジェクトの変数をIntegerとかのラッパクラスに しちゃうとかなのかなー。 エライ人教えて!
Javaのアプリケーションの多重起動を防ぎたいのですが 2つ目以降の同じアプリケーションを起動できないようにするには どうしたらいいんでしょう、教えてください ひょっとして プロセス間で共有できるオブジェクトとかがJavaにはあって、そういうのを 使うのでしょうか?
596 :
デフォルトの名無しさん :2005/11/06(日) 22:10:45
>591
何がしたいのかもう少しわかりやすく書いてくれ。
>また配列の中身が特定の数字よりも小さい場合もエラーにしたくないのですが
みたいな書かれ方をしても、どうなるとエラーになるかもわからないんだが。
もう少し上の仕様から書いた方がよりいい実装のアドバイスがもらえると思うが。
>>593 SQL文の項目からはずしときゃいいだけでしょ。
ServerSocket使えば?
598 :
デフォルトの名無しさん :2005/11/06(日) 22:42:11
599 :
デフォルトの名無しさん :2005/11/06(日) 23:06:40
>>595 ,596
失礼しました
判りやすく言えば
String[]に{1,2,3,4,5,6,7,8,9,10}があった場合
引数か何かでそれぞれ1,6を指定したときに
String[]をそれぞれ{1}、{1,2,3,4,5,6}にするようにしてあとは切り捨てたいのです
その場合切り捨てているので、上記の方法で配列の中身を{1}とした後に同じ方法で
引数に5を指定しても配列の中身は{1}しかないので{1}とします
またその時に配列の中身が1しかないのに5を指定しても
NullPointerExceptionにならないようにしたいのです
以上お願いします
600 :
デフォルトの名無しさん :2005/11/06(日) 23:14:53
たった今、JDK 5.0 Update 5をインストールしたばかりの素人だけど質問。 \Java\jdk1.5.0_05\bin に javac が入ってなくて PC内を検索しても見つからないんだけど、これで正常ですか? コンパイラってjavacではないのですか? 変な質問ですみません。
>>599 System.arraycopyのラッパーを作れ。
あと出来れば作文の練習をしたほうがいい。
>>600 javacじゃなくてjavac.exeでしたとかそういうぼけはなしね。
603 :
デフォルトの名無しさん :2005/11/06(日) 23:19:42
おれでさえ1.4なのになに1.5いれてんだよ、こいつ
604 :
593 :2005/11/06(日) 23:20:27
>>596 insert文なんだけど、int型の部分がかならず空なわけじゃないんですよね。
ケースによってクエリを切り替えるかな。
605 :
デフォルトの名無しさん :2005/11/06(日) 23:22:44
>>599 単に現在の有効最大値を別に管理すればいいだけでは?
606 :
600 :2005/11/06(日) 23:23:02
>>602 その点は大丈夫です。
\Java\jdk1.5.0_05\binはプロパティで確認すると
ディスク上のサイズ: 19.3 MB
内容: ファイル数: 68、フォルダ数: 1
となっています。
>>603 1.5 には問題でもあるのでしょうか?
>>606 俺んとこはファイル数 36 だが正常に動いてる
608 :
デフォルトの名無しさん :2005/11/06(日) 23:52:53
>>606 イ一回アンインストールして入れなおしてみたらどうだろう
609 :
デフォルトの名無しさん :2005/11/07(月) 00:03:46
Object[] obj = null; って配列があるんだけど、これを↓のメソッド2つの配列を結合したいのね。 Object[] funcA(); Object[] funcB(); obj = funcA() + funcB(); みたいにやりたいの。どうしたらいい?
ArrayList<Object> list = new ArrayList<Object>(); for(Object obj : funcA()) list.add(obj); for(Object obj : funcB()) list.add(obj); Object[] obj = list.toArray();
>>609 Object[] a = fancA();
Object[] b = fancB();
Object[] obj = new Object[a.length + b.length];
System.arraycopy(a, 0, obj, 0, a.length);
System.arraycopy(b, 0, obj, a.length, b.length);
612 :
600 :2005/11/07(月) 00:24:06
1.5をアンインスコ後、1.4.2_10 を入れました。 javacもあり、コンパイルと動作確認ができ、原因はわからないままですが一応解決しました。 どうもありがとうございます。
>>612 1.5 入れろよ、今更 1.4 入れてどうする。
>>611 うひょー!あんた天才だよ!そうか、こういうときにarraycopyか!あいしてるぜ!
いまごろ1.4ってのはたしかにそうだ
>>603 はただの荒らし
>>613 まぁそりゃぁほら、仕事上の都合とかさ、あるんだろ
>>609 Object[] obj = Arrays.asList(fancA()).addAll(Arrays.asList(funcB())).toArray();
>>614 CollectionのaddAllも結局同じことしてんだよね
619 :
デフォルトの名無しさん :2005/11/07(月) 00:45:46
あるインターフェースを実装したクラスを別途コンパイルしたものを コンパイル済みのjarファイルから起動したアプリで取り込んで使うことはできますか? つまり、プラグインみたいな仕組みにしたいんですが、どうすれば実現できますか?
620 :
610 :2005/11/07(月) 00:46:03
>>617 うはw Arrays.asList 使う手があったかw
>>617 それじゃダメじゃないか?
List list = new ArrayList();
list.addAll(Arrays.asList(funcA()));
list.addAll(Arrays.asList(funcB()));
Object[] obj = list.toArray();
ならできるが。
>>619 普通はURLClassLoaderを使って読み込む。ただどの程度自分が作る
プラグインシステムに機能を盛り込むかはあらかじめ考えておくこと。
複数のプラグイン間で依存関係をつくりたいとか、プラグインのバージョン
管理をさせたいとかネットワークアップデートさせたいとか予定している
なら、初めから既存のフレームワークを採用したほうがいい。
Oscarとかequinoxとかね。
>>620 ArrayUtils.addAll(funcA(), funcB());
>>623 commons の ArrayUtils か。
ArrayUtils ってよく使われる名前だからねぇ。
公開されてない俺様ライブラリとかもあわせたら 100 とか 1000 とかありそう。
>>611 のやり方がベストだよ。
ArrayListのaddAllが確か同じ実装だったはず。
>>625 StringUtils よりはマシだけどな。
前に今まで commons 使ってなかったプロジェクトに導入させたは
いいが、クラス名が競合してあれだった。
これからのプロジェクトで独自にユーティリティ作るときは
*Utils ではなく *Util みたいにかぶらない名前にしたほうがいいな。
ふと思ったんですけど、 class Sample { public int a = 0; public int b = 0; public boolean equals(Object obj) { return obj instanceof Sample && ((Sample)obj).a == a; } } みたいに、一部の public メンバだけに注目して equals 判定するのって、よくあること?よくないこと?
>>627 プロジェクト名の略称を取ると被らんよ。
ABCStringUtilsとか。
>>629 そういえばうちもプロジェクト名の頭文字つかてるな。CStringUtilsみたいな。
staticメソッド多いから、クラス名は極力短めにして欲しいところだけど
>>628 hashCode のオーバライドも忘れずにな
>>628 一部のフィールドのみでequals判定するってことは
「オブジェクト内の値が同じ」って事を判定してるのではなく
「ビジネス/アプリロジック的に等価とみなせる」 って意味になると思われる。
違う場合もあるだろうけど。
別にダメじゃないと思うが、俺はロジックは別のヤツに判定させたい感じ。
質問です Swingなどでトグルボタンを押すイベントが発生したときの処理で 押したボタンが選択されたかを示すisSelected()とイベント発生によって呼び出される isStateChanged(),actionPerformed()の順番というのは常に同じなのでしょうか?
>>610 それやるんだったらaddAll(Connection)
つかったほうがよくね?
Collectionの間違いだった
>>634 [1] Connection って何?
[2] 配列は Collection だっけ?
638 :
デフォルトの名無しさん :2005/11/07(月) 10:47:41
>>622 >
>>619 > 普通はURLClassLoaderを使って読み込む。ただどの程度自分が作る
> プラグインシステムに機能を盛り込むかはあらかじめ考えておくこと。
> 複数のプラグイン間で依存関係をつくりたいとか、プラグインのバージョン
> 管理をさせたいとかネットワークアップデートさせたいとか予定している
> なら、初めから既存のフレームワークを採用したほうがいい。
> Oscarとかequinoxとかね。
Oscarで検索したらトップに女の子四人組アーティストがでてきた。
ほかにOSCARアライアンスとか
できればURL教えてほすぃ
Eclipseに使われているプラグインフレームワークと
どっちがいい?
641 :
640 :2005/11/07(月) 12:37:16
補足 Eclipseフレームワークも、適当に使うだけならそんなに大した作業じゃない。 でも、拡張ポイントとかの使用例が見つからないような場合は ソース追いかけまくりの事態になる。 結構大変だ。
Javaを6月から始めた初心者です 分からないことがあって困っています ので諸先輩方のアドバイスお願いします Javaでユーザーと対話的にやり取りを行うプログラムを書こうと思っています このプログラムではフレームを継承した,全部で4つのUIを ユーザが入力を終えるごとに順番に提示するつもりなのですが Aフレームを入力し終わってからBフレームを表示 Bフレームを入力し終わってからCフレームを表示 ・・・ という今のフレームが閉じられてから次のフレームを表示するという部分がうまく書けずに困っています 今はWindowListenerでフレームが閉じるごとに表示する方法は考え付いたのですが この方法は間違っていますでしょうか? また,他に何か良い方法がありましたらアドバイスお願いします
普通に次へのボタンクリックのイベントでいいような パネルを使ってウインドウを使いまわしてもいい
毎週末荒れるのはデフォなんだろうか。
>>638 そのEclipseのプラグインフレームワークのベースになっているのが
Oscarといっしょに挙がってるequinox。Oscarと同じくOSGiの実装系。
OSGiレベルで実装するか、Eclipseプラグインのレベルで実装する
かは要件によると思う。分散アプリケーションを考えないなら
プラグインレベルのほうが資料多いしいいかな。
>>640-641 org.eclipse.core.runtime.Application以外に既存の
拡張ポイントを利用するわけじゃないからそんな手間でも
ないと思うよ。資料にしてもEclipse contributionシリーズ
みたいな定番本は軒並み3.x対応してる。
JDBCでconnectionやstatementのclose()は 何か処理を行うたびに閉じたほうがいいんでしょうか? それともプログラムの終了時に閉じるべきでしょうか?
>>645 特定の技術に縛られたくないという場合は多いからプラグインじゃないほうが楽かも
バージョンアップのたびに苦しむ可能性あり
>>646 案件しだい
648 :
640 :2005/11/07(月) 17:20:17
そういうものは可及的速やかに閉じるべき
649 :
640 :2005/11/07(月) 17:24:41
途中で送っちゃったよ
>>645 3.0 -> 3.1 でも、ちょこちょこ変更あるよ。
そーいやApplication以外の拡張ポイントを使わないのは、ほとんど
Eclipseである必要が無いような気もするのだが。
>>646 追記
カーソルとか保持したい時はすぐ閉じられない場合もあるけど
>>643 有難うございます
変に難しい方向に考えすぎていたみたいです
目が覚めました
>>649 プラグインシステムを組み込むのにEclipse Runtimeを
使うだけだから、Runtime以外のorg.eclipse.*が提供する拡張ポイント
を使う要件なんてないよね。このレベルだとRuntime/OSGi API直叩きだよ。
それにここで3.0->3.1の変更はまったくといっていいほどない。
別にRCPレベルで組みたいって話じゃないんだから。せいぜい
ネットワークがらみで楽するのにorg.eclipse.update.coreを使うか
使わないかぐらい。
確かにEclipseでなければならない必要はないけど、Oscarみたいな
素のOSGiを使うなら、もう一枚薄皮かませたほうが楽って話なんだけどな。
SMFみたいにベンダーサポートあるとか別の理由があるなら別だけど。
上の方でjamesに付いて訪ねてた者です。
お答え本当に有り難う御座います。
>>528 OpenOffice Baseって何気に良さそうですね。
でも自分はlinuxじゃ無いのでwinxphome・・・・accessも入ってますし。
やっぱwindowsでプログラムするなら.netでjavaするなら
linuxの方が良いのでしょうか・・・・・
>>542 eclipseのDBプラグインでDbEditとclayは入れてます。
DbEditはちょっとした確認とか変更には本当に便利ですが
データを入れるのには不便ですね。
clayは自在に使いこなせるほどDBにはまだ詳しくないです(汗
>>639 有り難う御座います。
調べてみます
>>646 Tomcatを使っているなら
server.xmlにデータソースの設定を
しておくと
設定次第で閉じる必要がなくなるぞ。
654 :
デフォルトの名無しさん :2005/11/07(月) 23:30:33
>>653 それは念のための防衛策であって、その設定があることを前提に実装するものではないと思うけど・・・
>>646 基本的にはトランザクションが終わるたびにコミット/ロールバックしてクローズ。
Webアプリだと「プログラムの終了」はコンテナの停止を意味する。
Java初心者です 質問させてください JSPファイルをブラウザで読み込み、 そこに貼られたリンクをクリックすることにより、 ソケット通信で、ある特定のJavaアップレットに 文字列を送信するような仕組みを作ろうとしているのですが、 どのような手法をとるのが一番シンプルでしょうか? 陳腐な質問ではありますが、どなたかご教授くださいm(__)m
よくわからんけど JSPをコンパイルしたもんが吐き出すHTMLをブラウザが読み込んで、 その中のリンクをクリックしたらXmlHttpでアプレット(=サーバ?)に文字列を送信するってことかね? あるいはブラウザのリンクがクリックされたのを検出して、localhostにソケットを投げるってことかね?
JSPということはサーバーサイドもコントロールできるということからして 技術的にソケット通信がよく分かってないみたいだから HTTPつかったほうがいいんじゃないの?
jarファイルをダブルクリックで起動する方法を教えてくだされ。
JSPがサーバサイドで動作するものだということがわかってないと思われます。
661 :
デフォルトの名無しさん :2005/11/08(火) 00:08:45
もしかしてみんなMaven知らないの?
50個ものプロジェクトを管理している場合に有効みたいな宣伝されても ingで開発するのは精々2,3なんですが(^^;ってなって触ってない<Maven
663 :
656 :2005/11/08(火) 00:23:42
>>657 ,658
さっそくのアドバイスありがとうございます
今現在、ローカルネットワーク内にTomcatを使ってサーバを立て、
同ネットワーク内に接続されたPCのブラウザで
サーバ内のJSPを読み込み(JSPが吐いたHTMLといったほうが正しいのでしょうか・・・)、
そのリンクをクリックしたことを認識して、
それに相当する文字列を、同ネットワーク内の別のPC上で動いている
Javaアッププログラムに通知する仕組みを作ろうとしています
無知まるだしな文章でごめんなさい
>>658 ,660
おっしゃるとおり、勉強不足です。。。すいません
サーバーとアプレットと通信したいってことでしょ?
665 :
656 :2005/11/08(火) 00:33:13
>>664 そういうことなんですが、例えば
■リンクA■
■リンクB■
■リンクC■
↑これをクリックしたら、Aをクリックしたときは「A」、Bをクリックしたときは「B」を
アップレットに送信する方法を知りたいのです
リンク自体をアプレットで書いちゃえば良いのに
667 :
656 :2005/11/08(火) 00:37:09
そうすると純粋なリンクではなくなっちゃいます? できるだけ軽量に動かしたいという目的があるので、 アップレットは使わずにリンクで行いたいのです 手間おかけしてしまってすいません;
リンクの飛び先をアプレットを起動するJSPにして、<applet>タグの<parameter>をJSPで作成する。
JSP は、クライアントマシンから見れば通常の HTML となんら違いは無いことに注意。 普通の HTML ファイルのリンクをクリックしたあと、どうやって送信するか考えないと。 リンクをクリックした後のクエリーを Tomcat 側で読み取って、予め接続状態で待機していたアプレットに送信する。 その間をどうするかは知らない。俺は JSP 使ったこと無いし。すまん。
アプレットってなんだか分かってないような気がする
671 :
656 :2005/11/08(火) 00:48:14
リンク先ごとにアップレットを用意しなければなりませんか? それとも、1つ共有のアップレットを作って、 起動時にパラメータを渡し、送信させる文字列を変えるというものでしょうか?
>>662 > 50個ものプロジェクトを管理している場合に有効みたいな宣伝されても
> ingで開発するのは精々2,3なんですが(^^;ってなって触ってない<Maven
ing? 現在進行形で開発するという意味?
MavenはJakarta系のAPIを自前でダウンロードしなくても
WindowsUpdateやEclipseのアップデートマネージャのように
必要なものを自動でダウンロードインストールしてくれるから楽でいいよ。
厳密にはMaven1.0の時点ではある程度手動で<dependency>タグを設定
しないといけないけど。
チームで開発しているとき、かなり重宝する。
JARファイルのアップデートを強制することなくproject.xml(2.0ではpom.xml)
を一ヶ所弄ったものをチームメンバーに配布するだけで必要な最新版JAR
のアップデートを容易に実行できるのも利点。それによりJARアップデート忘れ
という人的のミスも減る。
過去や未来の自分もチーム内の別人だとしたらかなり有効。
様々なゴールが容易されているためTomcatへのデプロイが容易な点も見逃せない。
プラグイン拡張もできる。Javadoc、さまざまなフォーマットのレポート生成、
JUnitによるテストの自動化のほか、プロジェクトサイト自動生成までもある。
EclipseなどのIDEとの連携用ゴールも用意されている。
(Eclipse側でもMaven Workshopプラグイン、Mevenideプラグイン、Maven Repo Searchプラグイン
というものが用意されている。ただし、今のところMaven2.x対応は無し)
README.TXTなどを管理してくれる機能とかも面白い。CVSとの連携もでき、
プラグイン拡張によってSubversionプラグインによってSubversionを使うこともできるってことが可能。
内部ではAntを使って動いているのでAntでの命令記述も可能。ほかにJellyでも記述可能。
新たにオープンソースプロジェクトを
立ち上げるときにも重宝するかも。
50ものプロジェクトでないと有効ってことは無いと思う。 というかそういう話は初耳。
674 :
656 :2005/11/08(火) 00:50:01
すいません 671は
>>668 さんへのレスです
>>669 そのクエリをTomcatで読み取るというのは
具体的にどのようにするのでしょうか?
Mavenって楽をするために苦労するというよるJavaでありがちなプロジェクト と思ってたんだが EJB2みたいな
EJBよかは簡単だと思う。 いままでAntでやっていた面倒くさい設定が すくなくなり楽になると思う。 なんといっても魅力的なのはJARの自動アップデートと プロジェクトサイト自動生成、テストレポート自動生成だね。 これで客や上司に提出する仕様書や納品書を作る手間が省ける。
678 :
656 :2005/11/08(火) 01:07:53
>>677 ありがとうございます!ようやく理解してきました
最後にもう1つお願いしますm(__)m
取得したクエリをアップレットに送信する
という部分は、どのように実現するのでしょうか?
>>678 ごめん。俺は分かんない。
俺なら Tomcat 経由させない。
アプレットと接続し、ブラウザからのリクエストを受け付けて送信するサーバを作っちゃうかも。
680 :
668 :2005/11/08(火) 01:10:51
>>671 YES
TomcatのサンプルのなかにJSP-Applet連携があるから見てみるとよさげ
ん? なんか
>>680 と俺の考えが合わない気がする。
アプレットは別 PC 上で既に動いているんじゃないの?
>>678 <jsp:plugin>多具<jsp:params>多具<jsp:param>多具を使う
>>681 べつにappletを作る分けじゃなく
ただ呼び出すだけならどうだってええような気がする。
applet事態をURLで直接指定することってできなかったっけ?
>>676 普通の人はIDE使ってるからAntであることを意識しないのでは?
意識してる時点でだめだめかも
>>683 applet 自体は html に埋め込まないといけなかった筈。
686 :
656 :2005/11/08(火) 01:23:05
うー、みなさんの親切さに涙がでそうです;
>>679 ブラウザからリクエスとを受け付ける場合は、
テキストファイルなどに一回中継させて行うのでしょうか
>>680 ありがとうございます 見てみます
>>682 ググってみたのですが、具体的にどのようなもかわかりませんでした
すいません
>>683 それができると非常にシンプルに解決するのですが、どうなのでしょうか
687 :
679 :2005/11/08(火) 01:27:01
>>686 ちょっと確認させてくれ。なんか俺だけ違うこと考えていそうで恐い。
[1] リンクを PC1 にてクリックする
[2] クリックされたことを、PC2 で動作中のアプレットに送信する
やりたいのはコレだよな?
688 :
656 :2005/11/08(火) 01:35:31
656はまず日本語勉強してくれ
>>687 それって単純にサーバからアプレットへ通信するのはどうするんですか?と
リンクを押されたらサーバサイドでプログラムを実行したいのですがどうしたらよいですか?
の組み合わせってだけだな
サーバからアプレットに通信するのは面倒なので、定期的にアプレットからサーバに接続して読みに行く方が楽だな
1byte 符号無しの配列データに関してですが、 0x80を超えるデータの場合、下記のように(byte)でキャストすれば良いのですが これだとあまり、綺麗なソースとはいえませんし面倒です。 byte a[] = { (byte)0x00,(byte)0x01,(byte)0xa0 }; C言語で言うunsignedのような指定は出来ないのでしょうか?
byteが符号付きで嬉しかったことなど一度もないねえ。 unsignedは存在しないので、要素数が偶数だったら byte[] a = "\u0001\ua000".getBytes("UTF-16BE");
ビーン使いまくりのフレームワークで 文字列の長さを簡単に取得したい場合、 ($var に String インスタンスが格納されるとして、$varr.length すると、 「length? そんなフィールドはねえよ」と怒られるフレームワーク) 通常はどのような手段を取ればよいのでしょうか?
>>686 >
>>682 > ググってみたのですが、具体的にどのようなもかわかりませんでした
> すいません
<jsp:plugin>が<applet>タグや<object>タグに相当するものになるんだよ。
<jsp:plugin ここにアプレットのファイル名などを書く>
<jsp:params>
<jsp:param name="名前" value="うんこ"/>
<jsp:param name="重さ" value="40"/>
</jsp:params>
</jsp:plugin>
みたいなコードをJSPに書く。
Applet側がgetParameter()で「名前」「重さ」パラメータを受け取れるように作られてないと
パラメータは向こうになるけど。
>>684 IDEの機能に不満があるとき、物足りないときAntも使うもんだぜ。
コマンド一発で複雑な処理を一括して実行できるのがいい。
Antではその<target>を自分で記述して自作しないといけないが、
Mavenだとゴールという名前でアル程度一通りの自動化処理が
揃っている。
EclipseにもAntを簡単に使える機能があり
マウス一発で定義したtargetを即座に実行できる。
Eclipse対応のプラグインとしてMevenide, Maven Workshop, Maven Repo Search Plugin
といものもありEclipseとの併用もある程度容易にできる。
>>693 物凄い超能力を要求する質問だな
そのフレームワークとやらは自作なのか? だったら取得出来るように作る。
既存の一般的なものなら、ドキュメント読む。
$var.length で "length" をフィールドとして認識してるんなら、
後ろに()付けるとか、"."以外の接続子でgetterを呼ぶとかあるんじゃねーの?
Javaでは$が最初に付く変数名使えるんだな
平たく言うとvelocity... 詳細ほったらかしてごめんなさい。
>>698 そうだっけ?それって内部クラスで使う記号じゃなかった?
>>694 ant4eclipseのbuild.xml生成は実用できるレベルじゃないよ。
参照関係のネストにちゃんと対応できてないし。
それより最近のEclipseIDE自体はプロジェクトの
設定をbuild.xmlを生成できるようになったから
そっちのほうがいい。
703 :
デフォルトの名無しさん :2005/11/08(火) 12:54:23
applet開発中で サンドボックス内で使用出来ないAPIの詳細を知りたいのですが、 どこかに仕様書見たいのはないのでしょうか? ググっても「ローカルの資源にアクセスできない」というような 抽象的なものばかりで見つけられません。 具体的にどのクラスやAPIが使えないのかを知りたいのですが。
705 :
703 :2005/11/08(火) 14:25:24
>>704 ありがとうございます。
取得できるSystem Propertiesとかも載っていて、かなりいい感じです。
sunにありそうとは思っていたんですが、見つけられなかったのです…。
Developers Home > Products & Technologies > Java Technology > Learning >
と辿っていけばよかったんですね。
706 :
デフォルトの名無しさん :2005/11/08(火) 14:29:16
大学でJavaをやっている方、教本は何を使用していらっしゃいますか?
スレッドをボタンイベント等で一時停止してまた再開させるということをしたい場合どうすればいいんでしょうか?
そのスレッドにとまれと命令を送る スレッドはそれを見て自主的にとまる
jdk1.5でJFrameやJDialogにaddする場合に、getContentPane()を書く時と書かない時で違いはある?
ない
>>708 addImpl() の実装による。デフォルトでは getContentPane() と同じ。
class teststr{ public static void main(String args[]){ String[] c = new String[]{ "00", "00" }; if(c[0] == c[1]){ System.out.println("1"); } System.out.println(c[0]+"\t"+c[1]); c[0] += "1"; c[1] += "1"; System.out.println(c[0]+"\t"+c[1]); if(c[0] == c[1]){ System.out.println("2");//ここが表示されまシェンムー } } } なぜなぜ?
713 :
デフォルトの名無しさん :2005/11/08(火) 18:47:37
あげておきます。
>>712 if(c[0] == c[1])
なんてやってるから
716 :
デフォルトの名無しさん :2005/11/08(火) 18:52:11
Linux上のJDK1.4.2で旧漢字を扱いたいのですが、 String str = "" として入っている「はしごたか」などの旧漢字を、ファイルに出力するには どんな変換すればいいんでしょう? ファイルには、utf-8などで出力できればいいのですが。 BufferedWriter bw = new BufferedWriter(new FileWriter(new File(filename))); bw.write(str); で書き出すと、全部"????"と化けてしまいます。 書き出された文字コードは、3Fなので、"?"に化けている模様です。
>>714 FAQ見たんですがどれも違うかな、って思って。参照型とかのやつですか?
>>715 ではどうすれば??
>>712 if(c[0].equals(c[1]))
ではダメ?
TextAreaを読み取り専用にするにはどうするんですか?
721 :
718 :2005/11/08(火) 19:05:41
>>719 なぜできなかったかを理解しないと、多分、また同じことやると思うから、
==とequalsの違いを調べてみてね。
723 :
デフォルトの名無しさん :2005/11/08(火) 19:31:44
xercesc これってカタカナではなんて読むんですか? エクセセスク?
Xerces じゃないの? ザーシス、とかザーシースとか。
エグゼドエグゼスまたは、ゼクセクス
727 :
723 :2005/11/08(火) 20:22:19
おおお、サンクス スペルが間違ってたら、検索しても見つからんわなorz
728 :
デフォルトの名無しさん :2005/11/08(火) 20:31:51
Javaでstrutsによく似たフレームワークがたくさんあるけど、 何が一番開発効率が高いですか? できれば習得の容易なもので。
729 :
デフォルトの名無しさん :2005/11/08(火) 20:47:53
日本語文献が多い奴でいいんじゃない? トラブった時に調べるの容易な奴がいい
730 :
デフォルトの名無しさん :2005/11/08(火) 21:04:19
PrintWriterクラスにflushメソッドがあるんですけど, これってなんですか? フラッシュするって書いてありましたけど フラッシュするってどういう意味ですか?
>>730 ある特定の入出力には「バッファ」というものがあって、一度に扱うんじゃなくて
バッファに貯めつつ入出力していくというやり方をするものがあるんだな
で、もういいからバッファに残ったデータを全部処理してくれというのがフラッシュ
>>716 デフォルトエンコーディングを使うのではなく、明示的に
UTF-8を指定して出力する。
>>702 Eclipseが自動生成するbuild.xmlは
絶対パスを使っているのが解って以来
使う気にはなれなくなったな。
というか漏れは自力で書いているのでEclipseの自動生成は今のところ要らない。
それにMavenを使ってもっと楽にさせている。
>>716 > String str = ""
そもそもこれは「はしごたか」なの?
Unicodeで2文字だよなコレ。
735 :
デフォルトの名無しさん :2005/11/08(火) 22:33:19
今日JavaOneに行ってきたんだが
虎の穴で有名なスキンヘッド櫻庭の
「Mustangを乗りこなすポイントを紹介します」セッション
で櫻庭氏がMustangサイト「じゃじゃ馬馴らし」を
セッション開始前にFTPでアップしたと言っているのだが、
櫻庭氏のサイトを見ても見つからない。
だれか見つけたら
【Java】次世代Java・J2SE1.6の動向【Mustang】
http://pc8.2ch.net/test/read.cgi/tech/1081698555/ にレスしてくれるとありがたい〜
では
736 :
デフォルトの名無しさん :2005/11/08(火) 22:38:42
>>716 は高島屋に関するサイトを作る案件を受け持ってるのか?
>>733 絶対パスってまじか
なんでEclipseはそれなおさないのだ
>>738 Eclipseのワークスペースは仮想的な階層構造でファイルシステムとは
一対一対応の関係ではなく、後でどうとでも変更できるからかな。
ワークスペースの構成を変えるたびにEclipseに頼って
自動生成させなきゃならないんなら絶対でも相対でも変わらんつーか。
自動生成専用のbuildファイルと、ユーザがいじってもいいbuildファイルと
二つ生成させるところからもそんな感じがする。
もちろんEclipseがないところに持っていったときはどうなんだって
話になるが「知るか!」ってことなんだろう。
740 :
720 :2005/11/08(火) 23:43:19
あの〜どなたか教えてくれないでしょうか?
>>738 bugzillaには挙がってるな。3.2で考慮するらしい。
ユーザが作ったパッチも添付されてるから
まあとりあえずそのへんでお茶を濁しつつ使うんだろうな。
>>740 エスパーか脳内補完しないと理解できないような質問をするからだよ。
Webなの?Swingなの?SWTなの?コンソールなの?
>>741 だからant4eclipseが生まれたんだろ。
漏れとしてはやっぱりbuild.xmlは手書きが楽でいい。
build.propertiesに全部相対パスを記述している。
744 :
デフォルトの名無しさん :2005/11/08(火) 23:54:02
まじでじゃじゃ馬馴らし見つからぬよ 櫻庭のハゲ頭うそついたんじゃなかろーな
745 :
デフォルトの名無しさん :2005/11/08(火) 23:59:23
質問です ティンティン変数って何ですか?
>>740 setEditable(false);
747 :
デフォルトの名無しさん :2005/11/09(水) 00:14:49
ムスタング見つからぬ
748 :
720 :2005/11/09(水) 00:17:23
>>742 いろいろあったんですか?
アプレットだからAWTになるかと
749 :
720 :2005/11/09(水) 00:20:48
アプレットのボタン処理にactionPerformed以外を使うよう教授に指示されたのですが、 他にどういう手段があるんでしょうか?
752 :
デフォルトの名無しさん :2005/11/09(水) 00:51:36
754 :
750 :2005/11/09(水) 01:00:38
>>751 ニュアンス的にはMouseListenerでもないような風に言われました。
言葉が足りなかったので捕捉します。
public void actionPerformed(ActionEvent ae){
if(ae.getActionCommand() == "ボタン1"){
//中略
}
if(ae.getActionCommand() == "ボタン2"){
//中略
}
}
上のように複数ボタンを設定しているんですが、
actionPerformedを使う他にもっといい表記はあるのでしょうか。
>>752 getParameter(String name)
ある程度ならネットだけでできるんじゃないの?
宿題スレにでもいけば?死ねよ。
はい、本当に死にたいっすよ。
759 :
デフォルトの名無しさん :2005/11/09(水) 01:29:56
ある画像ファイルが最終更新された"日付と時刻"を YYYYMMDDHHmmSSという形式の文字列(例えば今なら"20051109004514")で 得たいと思っています。 画像ファイルのFileオブジェクトを作って, それにlastModified()メソッドを使ってlong値を得た後に どうすればいいか分からなくなりました。 やはりDateやCalenderを使うのだと思いますが, どのように組み合わせたらいいかが分かりません。 どなたかご教授お願いします。
760 :
752 :2005/11/09(水) 01:34:54
HTMLのほうには <param name="" value=""> のようなことをかいて、 アプレットのほうには getParameter のようなことを書くんですよね? そこから先が分かりません・・
>>743 手書きでメンテできる程度ならなんでもいいや
>>760 <PARAM NAME="jpg" VALUE="test.jpg" >
--------------------------------------
String imgName = getParameter("jpg");
img = getImage(getCodeBase(),imgName);
>716 はしごの姓をもらった俺がいい事教えてあげる boldにすると自分でも気付かないんだぜ!
>>756 public void mousePressed(MouseEvent e) {
//list.clear(); //←これいらない
list.add(e);
repaint();
}
public void mouseReleased(MouseEvent e) {
list.add(null); //←これ追加
}
766 :
752 :2005/11/09(水) 02:08:44
>>765 超サンクスです。マジサンクスです。(向こうに書いてしまってすみません・・)
今日はちょっと徹夜で自分でも勉強してみます。
>>759 String.format("%1$tY%1$tm%1$td%1$tH%1$tM%1$tS", file.lastModified());
もしくは
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
sdf.format(new Date(file.lastModified()));
768 :
752 :2005/11/09(水) 02:15:39
ちなみにHTMLはこんなかんじで <applet code="ImageTest.class" width=300 height=300> <param name="jpg" value="test.jpg"> アプレットは Image img = getImage(new URL(getCodeBase(),"photo.jpg")); String imgName = getParameter("jpg"); img = getImage(getCodeBase(),imgName); こんなかんじですか?アプレットのほう怪しい・・
>>766 いや、向こうに書くのが正しい。
こっちで答えた俺が・・・orz
770 :
752 :2005/11/09(水) 02:18:31
>>769 ゴメw
あと、htmlは
<param name="jpg" value="photo.jpg">
っすね、たぶん
>>770 妥当性検査に引っかからないようにするなら
最後に/でタグを閉じることをお忘れなく
773 :
578 :2005/11/09(水) 02:24:56
String imgName = getParameter("jpg");
Image img = getImage(getCodeBase(),imgName);
すんません、こんな感じですかね
>>772 よくわからないんでちょっとしらべてみます
774 :
デフォルトの名無しさん :2005/11/09(水) 02:26:24
>>735 のリンク先ムスタングすれで
ついにじゃじゃ馬馴らしが見つかったらしい
俺は嬉しいぞ!
>>737 別に取引先に高島屋があっても不思議は無いだろ?
Map の中身が String と分かっている場合 map.get("hoge").toString(); (String)map.get("hoge") どっちがいいんでしょう? 1.5 は使えませんのでよろしくお願いします。
速度はキャスト javaっぽくするならtoString
>>777 即答ありがとうございます。参考にさせていただきます。
そのStringにnullが入る可能性があるならキャスト
単にjpegファイルを表示するプログラムを作成したかったのですが下のようなエラーが出てしまいます。 調べてみたら「Java 仮想マシンが、native と宣言されたメソッドの適切なネイティブ言語 の定義を見つけることができない場合にスローされます。」 とありましたが、この場合どこを修正すればいいんでしょうか? Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3138 in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123) at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18) at org.eclipse.swt.widgets.Display.<clinit>(Display.java:125) at gazo.main(gazo.java:18)
>>779 ばっちり null の可能性があります。キャストにします。
ありがとうございました。
782 :
デフォルトの名無しさん :2005/11/09(水) 12:02:50
int を符号無しとして(unsigned int として)longと相互に変換するには どうすればよいのでしょうか? 4byteのバイナリデータをアスキーにしたいのですが・・・・
>>780 SWT FAQにのってるから読むこと。
784 :
716 :2005/11/09(水) 12:16:19
>>732 なるほど、d。試してみます。
>>734 だと思います。とりあえず、MS932形式でSJISファイルから読み込んで、
JDBCでDBにつっこめました。
>>737 いえ、人名で結構あるんですよ。。。旧漢字の崎(ア)とか。。。
>782 それ系はjava.io.DataInOutだ 期待するような体系にはならないと思う、他あったら俺も知りたい 前にObjectOutputとか必死に弄ったけど本末転倒な自体におちいった
>>782 こんな感じ?違う?
int i;
long l;
...
// intを符号無しとしてlongに
l = i & 0xFFFFFFFFL;
// longを符号付きのintに
i = (int) l;
JDialogに配置したボタンから、SWTのWizardDialogを呼び出したいのですが、 WizardDialogの引数としてJFrameやJDialogのオブジェクト変数が使えない為、うまく呼び出すことができません。 何か良い方法はないでしょうか?
788 :
780 :2005/11/09(水) 16:30:40
>>782 ありがとうございました
解決しました。
>>787 Swing系のコンポーネントはとりあえず操作できない
ようにして、新たに非表示のShellを生成してお茶を
濁すのが一番楽だと思う。まともにやりたいのなら、
SWT_AWT使ってshellの取得をしてください。
790 :
デフォルトの名無しさん :2005/11/09(水) 17:14:16
質問のよろしくお願いします。 1つのメソッドで返せる値は、1つだけなんでしょうか? int calc(int a,int b,int c){ int x,y x=a+b; y=a+c; return ?????? } のような場合にxとyを同時に返すことはできませんか? 方法があればお教えください。
791 :
デフォルトの名無しさん :2005/11/09(水) 17:22:54
配列で返せばいいじゃん
>>790 int 2つだけだったら long につっこんで返せば?
793 :
782 :2005/11/09(水) 17:34:21
>>786 さん
おおおお
ありがとうござます。感謝です。
794 :
790 :2005/11/09(水) 17:41:15
>>791 具体的にどう書けばいいんでしょう?
ダブル型のときはどうすれば良いですか?
聞いてばかりで申し訳ないです、、
>>790 class hoge
{
private int x,y;
hoge(int x, int y)
{
this.x = x;
this.y = y;
}
}
hoge calc(int a, itn b, int c)
{
return new hoge(a+b, a+c);
}
>>794 int[] calc(int a,int b,int c){
return new int[]{ a+b, a+c };
}
797 :
790 :2005/11/09(水) 18:00:50
>>795 thisの使い方が分からないので勉強します、、
ありがとうございます
>>796 ありがとうございます
返り値を使うときはやはりthisを使うんでしょうか?
>>790 xとyをメンバに持つクラスつくってそれのインスタンスを返せば
799 :
デフォルトの名無しさん :2005/11/09(水) 20:46:51
JRadioButton(変数名:btn)を配列で作成したので、 アクションリスナをfor文で書きたいと思っています。 ボタンをクリックすると、自分が何番目の要素なのかをコンソールで 出力したいのですができません。 for(int i=0; i<btn.length; i++){ btn[i].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.out.pritln("butn[" + i +"]"); } }); } 以上のコードの、どこを修正したらよいでしょうか? アドバイス宜しくお願いします。
フレームワークって何なんですか? 使い方がわかりませぬ。 インポートしてもそんなものねーってコンパイルできないし。
802 :
デフォルトの名無しさん :2005/11/09(水) 21:13:08
>>799 匿名内部クラスをもっと勉強しよう
ローカル変数iは内部クラスからアクセスできないだろ
803 :
デフォルトの名無しさん :2005/11/09(水) 21:14:01
804 :
デフォルトの名無しさん :2005/11/09(水) 21:23:36
System.out.println("日本語"); を含む全く同じプログラムをShiftJISとutf-8で作って、コンパイルして、 実行すると、utf-8は文字化けするんですが、なぜ? MacOSX10.3.8のターミナルです。ターミナルのデフォルトエンコードはShiftJIS。 でも、改訂第2版Java言語プログラミングレッスン上には以下の記述が。 「コンパイラが自動的に文字コードをUnicodeに変換してから処理するから、文字コードを意識する必要がない。」
コンパイルされたクラスはUnicodeになるけど、 何の文字コードからUnicodeにするかの設定が必要 大概はデフォルトエンコーディングでいいけど 何の文字コードを使ってるかなんて日本語は判断できない
>>804 ソースコードの文字エンコーディングがプラットフォームのデフォルトではない場合には
コンパイル時に文字エンコーディングを指定してコンパイルする必要がある。
807 :
デフォルトの名無しさん :2005/11/09(水) 21:58:33
>>800 >>802 ありがとうございます。
対策として、ActionListenerをimplementsした
独自のクラス(ButtonListener)を定義しました。
そのクラスのコンストラクタを、
public ButtonListener(int n) {data=n}
と定義して、事前にdataを初期化し、for文の中で
btn[i].addActionListener(ButtonListener[data]);
とすることで自分が何番目なのかを記憶させました。
ただ、他にもっと明快な発想があったでしょうか?
>>807 ボタンのラベルを "btn[" + i + "]" にするとか。
Button を継承して、ID 番号を持たせられるようにするとか。
でも、その方法が一番手っ取り早いと思うよ。
明朝体活字は「高」、手書き(楷書)は「はしご高」と使いわけていたのに。 高等学校とか高等裁判所の看板の古いやつには「はしご高」が多いぞ。 「高」と「はしご高」は異体字ですら無い。
810 :
デフォルトの名無しさん :2005/11/09(水) 22:04:09
Eclipse+Lombozで、Excelデータを読み込んでブラウザで表示するJSPを作ろうとしてるのですが POIというのはEclipseのプラグインではなく、外部JARでPOIを設定して使うのでしょうか? あるいは、POI等を使わずにExcelファイルを操作したりできるでしょうか? ぜひアドバイスよろしくお願いします。
>>810 >ぜひアドバイスよろしくお願いします。
あまりいっぺんにいろんな事をやろうとせずに
ひとつずつ順番に理解していく事をおすすめします。
>>811 レスありがとうございます。
>>810 のように目的は定まっているのですが、
最初の段階の環境作りで詰まっております。
j2se1.4.2あたりから無名インポートが使えなくなったそうですが、 代わりとなる方法はありますか? たとえば、あるフォルダに以下の様にファイルがあります。 Test.java, Hoge.java, Hoge.class このとき、Test から Hoge を使いたいのですが。
>>813 javac -source 1.2
……っていうか無名 import って何だ。
>>814 パッケージのないクラスはインポートできなくなったんだがそのことだろう。
816 :
813 :2005/11/09(水) 23:34:19
>>814 ありがとうございます。
無名インポートは上記の例ですと
Test.java 内で import Hoge; と書いて
パッケージ化されていないクラスをインポートすることのようです。
817 :
814 :2005/11/09(水) 23:37:16
>>816 それだと import しなくても使える気がするんだが、気のせいか?
818 :
813 :2005/11/09(水) 23:38:14
javac -source 1.2 とやってもダメでした。 やはり同じフォルダ内のクラスをインポートすることは出来ないのでしょうか?
819 :
813 :2005/11/09(水) 23:44:05
>>817 ありがとうございます。
コンパイル、実行ともに問題なくできました。
import しなくても使えるように変更されたのですね。
お騒がせしました。
だから import する必要ないんじゃないかと思ってるんだが。
うはw 20秒差すまぬ orz
822 :
デフォルトの名無しさん :2005/11/09(水) 23:45:08
質問です。 コンポーネントのChoiceを選択してitemStateChanged(ItemEvent e)に飛んだ際 どのChoiceから呼ばれたかを知る方法はありますか?
>>819 import しなくても、昔から使えてたはず。
Java Accessibility Utilitiesをダウンロードし、インストールしようとしている状況なのですが、 どこにインストールしていいかわかりません。どなたかわかる方いらっしゃいますか?
ifの中で宣言した変数をそのifの外で使う方法ってあります?
>>825 ing a = 0;
if (true) {
int b = 1;
a = b;
}
828 :
デフォルトの名無しさん :2005/11/10(木) 05:05:55
メソッドを全部覚えた方がいいですか? それともよく使うコードを覚えた方がいいですか? 本格的にプログラムしたいんですが…
829 :
804 :2005/11/10(木) 06:11:09
>>805 ,806
なるほど。分っかりました。ありがとございまーす。
>>828 これもFAQだな
全部覚える必要はない。
全体像ってか、大体のパッケージ構成を知ってればOK。
あと、どのクラスはどんな事が出来るかを、適当に頭の隅に入れとく。
それを元にjavadocで探せばいいので、よく使うもの以外は覚えてない。
丸暗記より、基本的なプログラム作法とその理由でも勉強したほうがいい。
831 :
デフォルトの名無しさん :2005/11/10(木) 10:41:26
テキストファイルを読み込むとき、相対パスを使って読み込みたいと考えています。 .javaのあるフォルダから1つ上のtextというフォルダからa.txtを読み込むとき、 file:../text/a.txt と指定してもFileNotFoundExceptionエラーとなります。 JEditorPaneでHTMLを指定するときは上記のやりかたでうまくいったのですが、 テキストファイルの場合、どうしたらよいでしょうか?
832 :
デフォルトの名無しさん :2005/11/10(木) 11:13:56
質問です。 あるファイルを読み込みます。 そのファイルには時間とコマンド(処理)が書かれています。 00:00:05 コマンド1 00:00:06 コマンド2 プログラムでそのファイルを読み込んで指定された時間になれば 指定された処理を行いたいと思っています。現在threadで1秒ごとに sleepさせて判定と処理を行っています。 threadについて理解していないのも問題なのですが、 上のファイル例で、コマンド1の処理が遅すぎてコマンド2の処理の後に 実行されるということはりますか? そうならないような処理を行いたいのです。時間厳守で時間に間に合わ ない処理は無視するようなプログラム処理はどうすればいいでしょうか? よろしくお願いします。
シーケンシャルに実行したいなら、コマンド1終了時の時間を調べて コマンド2を実行するのに間に合ったかどうか判断すればいい 以下同様
834 :
デフォルトの名無しさん :2005/11/10(木) 12:58:22
入門書にはSystem.out.printlnでコマンドプロンプトに文字を出力するようにと 書いてあるのですが、VBのようにMsgboxやユーザーフォームといった グラフィカルな入出力は存在しないのでしょうか? あと、エクセルのセルに文字を書き込んだり読み込んだりすることはできますか?
最初はGUIの知識が必要になるより、わかりやすいからとか GUIが用意できない環境もあるから説明してないだけでは? まず検索してみたのかと聞きたい
public class PGR { public static void main() { ProcessBuilder pg = new ProcessBuilder("format", "q:"); Processp = pg.start(); p.waitFor(); } } このプログラムを実行したらだめって言われたんですが どうしてですか?
>だめって言われたんですが 誰に? 普通はスタックトレースを貼るもんだが
838 :
デフォルトの名無しさん :2005/11/10(木) 14:07:41
配列に関する質問です。 byte[] byteArray = null; for (int i = 0 ; i < 8 ; i++){ byteArray[i] = (byte)0xff; } を実行するとjava.lang.NullPointerExceptionが発生しますが、 byte[] byteArray = null; byteArray = testMethod(); static private byte[] testMethod(){ byte[] byteArray = new byte[8]; for (int i = 0 ; i < 8 ; i++){ byteArray[i] = (byte)0xff; } return byteArray; } を実行するとすんなり処理が終わります。 最初のプログラムは確保されていない配列のアドレスにアクセスしエラー 次のプログラムは、はじめ配列の領域を確保していないが、関数の戻り値に byte[8]の先頭アドレスのみが渡される為、アドレスがあふれることなくOK ということなのでしょうか? もし認識違いであるならば、ご指摘願います。
>>838 > 確保されていない配列のアドレスにアクセスしエラー
言語仕様としては、アクセスする前に byteArray == null であるかをチェックしてエラーになる。
840 :
デフォルトの名無しさん :2005/11/10(木) 14:41:38
String wk = new String(); String str1 = new String(); String str2 = new String(); wk = "B"; str1 = "A" + "B"; str2 = "A" + "B"; if(str1 == str2) { System.out.println("同じインスタンス"); } else { System.out.println("違うインスタンス"); } この場合同じインスタンスなのは分かるのですが wk = "B"; str1 = "A" + wk; str2 = "A" + wk; に、したとき違うインスタンスと出るのですが このときstr1とstr2の参照はどのようなっているのでしょうか?
841 :
838 :2005/11/10(木) 14:43:09
>>839 さん
どうもありがとうございます。
アクセス前にチェックを行っているとは知りませんでした。
byte[] testClass(){
byte[] byteArray = null;
switch(なんらかの値){
case A:
byteArray = testMethodA();
break;
case B:
byteArray = testMethodB();
break;
}
retuen byteArray;
}
のように条件によって、testClassの戻り値であるbyte[]のサイズが変わる
プログラムを作成したかったのですが、問題がないのか不安でした。
原理が分かり、問題がないようですので良かったです。
HTTPステータス 500 - type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 原因 java.lang.NullPointerException 注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5.4のログに記録されています Apache Tomcat/5.5.4 これはどうやって直したらいいんでしょうか?
>>842 「原因のすべてのスタックトレースは、Apache Tomcat/5.5.4のログに記録されています 」
とあるとおり。
ログまたはコンソールに表示されたスタックトレースを調べて、アプリケーションのどこで
NullPointerException が発生したかを突き止める。
そこでNullオブジェクトに対する操作を行っているはずだから。
844 :
デフォルトの名無しさん :2005/11/10(木) 15:10:16
本にstaticをつけたメンバはオブジェクトを生成しなくても使えます。このときほかのオブジェクトから参照するにはオブジェクト名ではなくてクラス名を指定します、とあります,が使い方がわかりません。簡単な例を教えてください。
845 :
デフォルトの名無しさん :2005/11/10(木) 15:15:37
>>844 public class Sample009
{
public Sample009()
{
Classmeso.test2();
}
}
class Classmeso
{
public static void test2()
{
System.out.println("クラスメソッドですよ");
}
}
漏れも勉強中なんだがこんな感じでいいか?
すまんtab消えるの忘れてた察してくれorz
System.out.printlnもstaticメソッド。 new System()とかしないで使えるでそ。
public static void main(String[] args); も static メソッド。 親クラスを new しなくても使えるよん。
ジャバというのは風呂釜がきれいになるそうですが本当ですか。 ていうかそれはプログラムの範疇なのですか。
850 :
デフォルトの名無しさん :2005/11/10(木) 16:58:33
名前、性別、年齢、身長をフィールドとして持ち、それらを入力するメソッド、表示するメソッドを持つクラスPersonを定義し、オブジェクトに名前、性別、年齢、身長を入力して表示するプログラムを作成せよ。ただし、main()メソッドはPersonクラスに持たせる。 という、文章なのですが、この場合、名前、性別、年齢、身長をキーボードから入力して表示するということですか?? JAVAを勉強し始めたばかりなので、文章を理解することがまだ慣れていなく申し訳ありません。 助言よろしくお願いします。
入力して表示するだけなのか… 配列に格納したりしないのか… すごい初歩的な問題だな
>>850 Java云々より日本語を理解しれ
ちなみに文字列の入力はjava.ioをインポートしてBufferedReaderクラスを使えばいい
>>851 初心者歓迎なんだから初歩的でしょうがないだろ
スルーするか答えるかしてやったらどうだ?
854 :
850 :2005/11/10(木) 17:42:37
現在JAVAを独学で勉強していて、この問題は本にある章の練習問題なのですが、 今までの章では入力メソッドのことは何もでてきていないのに、 突然このような問題で、どうことか分からずにいた、というのが、 本当のとこです。 そして、名前は(String name[20]) と指定してありましたが、これもまた、 これまでの章では、配列がでてきていないのでスルーしました。
855 :
デフォルトの名無しさん :2005/11/10(木) 18:44:04
String name[20]ってことは、20人分登録するんじゃない?
856 :
850 :2005/11/10(木) 19:10:24
>>855 String name[20]とは、20人分登録ということですか??
String name[20]以外は、[]がつていないので、
String nameが20文字までなのかとおもってました・
857 :
855 :2005/11/10(木) 19:22:38
Stringクラスは文字ではなく、文字列を扱うクラスです。 なので、String nameは複数の文字を格納できますよ なんで配列なのかいまいち意味が分からないですけど・・
858 :
デフォルトの名無しさん :2005/11/10(木) 22:52:45
教えてください。 長い文字列の操作がしたいのです。 StringBufferの文字列について、indexOf()で挿入、削除すべき箇所を 見つけて、insert(),delete()で操作することを考えています。 この場合、ある文字列があるインデックス以降にあることが 分かっている場合、普通の indexOf(String str) ではなく、 indexOf(String str, int fromIndex) を使用した方が処理速度は 早くなるのでしょうか?
実際に試してみればいいんじゃね?
何千回と indexOf しなければ、体感できるほどの違いは無いはず。
誰が妄想語れと言った?
>>858 JDK5のStringBuilderクラス使え
863 :
858 :2005/11/11(金) 00:03:23
>>860 indexOf()の回数だけでなく、文字列の長さも関係しそうな気がします。
>>862 JDK5は使っていなかったのですが、API仕様を見る限り、StringBufferを
高速にしたものの様に思えます。
つまり、同期など特に理由がない限り、StringBufferを使っていた
ケースでは、今後はStringBuilderを使用した方が良いということでしょうか?
>>863 > つまり、同期など特に理由がない限り、StringBufferを使っていた
> ケースでは、今後はStringBuilderを使用した方が良いということでしょうか?
そうそう
>>864 ありがとうございます。
DLして使ってみます。
866 :
デフォルトの名無しさん :2005/11/11(金) 03:20:07
JMFをjbuilder8で使うためにはどうしたらいいでしょうか? JMFをダウンロードした後がよくわかりません。 どうか教えてください!
CとかC++でreturn -1;でプログラムを強制終了させるようなことを javaのコンストラクタでやりたいんですがどうやったらいいでしょうか?
>>867 CとかC++でreturn -1;でプログラムを強制終了って何?
869 :
デフォルトの名無しさん :2005/11/11(金) 20:21:15
System.exit(1);
>869 thx
最近javaを勉強し始めた者です。 色々素人なりに調べてみたんですが、分からなかったので質問させて頂きます。 丸いボタンを配置する事は可能でしょうか? ボタンに画像を張ればいいや、と簡単に考えていたのですが 画像に透明処理をしても、ボタンをクリックした時、角にも判定が残ってしまいます。 四角でないボタンの配置方法などが説明されているページだけでも もしありましたら教えて頂けるとありがたいです。
FlashでGUIを作れば丸いボタンは簡単に作れます
873 :
デフォルトの名無しさん :2005/11/11(金) 23:00:53
質問です ティンティン変数って何ですか?
>>871 丸く描画するようなLookAndFeelを
自前で実装するかどっかから拾ってくるか。
あるいはボタンだけでいいならpaintComponentあたりを
オーバライドして丸く描画してやればいいかもしれない。
875 :
デフォルトの名無しさん :2005/11/11(金) 23:23:26
直線を描くプログラムを作ってください
>>875 System.out.println("―――――――――――");
878 :
デフォルトの名無しさん :2005/11/11(金) 23:27:23
string str = br.LeadLine(); //入力されたのは 1 if(str == "1") { } ってやると str =="1" がfalseになるんですがどうしてでしょうか?
880 :
デフォルトの名無しさん :2005/11/11(金) 23:31:41
import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet { public void paint(Graphics g) { g.drawString("―――――――――――",20,20); } }
次スレから、頻出質問はテンプレに入れないか? 1: String に == は使うな。equals を使え。 2: 内部クラスから外部クラスのローカル変数は使えない。他の方法を考えろ。 他に何かある?
887 :
デフォルトの名無しさん :2005/11/12(土) 00:05:16
888 :
879 :2005/11/12(土) 00:08:25
レスありがとうございます 眠いのでスペルミスは勘弁してくださいorz
889 :
京子 :2005/11/12(土) 00:33:38
チェックボックスのチェックされたの数によって、 ジャンプするページを変えるには、 どのようなプログラムを組めば良いのでしょうか? 例えば、 チェックが0〜5個だと、Aページへジャンプ。 チェックが、6〜10個だと、Bページへジャンプとか、 そういう感じです
890 :
デフォルトの名無しさん :2005/11/12(土) 00:34:24
アプレットでwhile文とかfor文をつかわずに無限ループすることってできる? ゲームつくりたいんだけどwhileとかつかってループすると制御できなくなって どうしようもない。
893 :
890 :2005/11/12(土) 00:37:52
自分としてはヴィジュアルベーシックでいうTimer()みたいな 関数があるといいんだけどって考えてるんだけど
894 :
デフォルトの名無しさん :2005/11/12(土) 00:40:03
javax.swing.Timer
>>893 たのむからかなり前から標準APIで普通にあるんだから
調べる癖をつけてくれ
VBでタイマー使ったことがあるなら分かると思うが
それ単体だとどっちにしろ高度な処理はできないけどな
多次元配列の各次元の大きさを調べたいのですが、上手い方法はありませんか? 前提として、配列はプリミチブなタイプで Object にキャストされてます。 Object foo = new int[9][9][9]; List<Integer> dim = new ArrayList<Integer>(); while (foo.getClass().isArray()) { int length = Array.getLength(foo); dim.add(length); if (length > 0) { foo = Array.get(foo, 0); } else { break; } } これだと一応動きますが、int[9][0][0] などになると お手上げになってしまいます。
897 :
デフォルトの名無しさん :2005/11/12(土) 01:24:48
意味不明 なんでObjectにしてんの?
898 :
デフォルトの名無しさん :2005/11/12(土) 01:25:27
以下の言葉を用いてスレッドのメリットとデメリットをこたえよ (軽い、共有)
>>896 PropertyUtils使ってExceptionが起きなきゃその次元の配列は使えるよ。
>>896 Class#getComponentType()使えばいいんじゃないか。
>>898 このスレは不特定多数の軽い沢住民に共有されていています。
軽井沢の住民? あんな寒くて湿気が多いむしむししたところに いる香具師に共有されてるのか?
903 :
デフォルトの名無しさん :2005/11/12(土) 01:45:41
int[][][] foo = new int[9][9][9]; こういう配列の作り方するなら、チェック不要だろ? どうしてもサイズを判定したいなら以下のようにして 各次元のサイズはとれる foo.length foo[0].length foo[0][0].length
>>903 質問者の896はわかっているようだが
それでは途中に配列のサイズが0の部分があるとそれ以降がとれない。
906 :
デフォルトの名無しさん :2005/11/12(土) 01:53:03
サイズ[9][9][9]ってわけじゃないのか? なら、判定文はこうね If (foo != null && foo[0] != null && foo[0][0] != null) { }
レスどうもです。
>>899 調べてみましたが beans よくわかりません。
>>900 componentType() はクラスを返しますが、クラスで配列の長さはわかるのですか?
>>903 えーとそれはテスト用に代入してるだけです。
実際は int でなく float や double かもしれないので Object 型になってます。
で、最終的に Array.newInstance(Class type, int[] dim)
を使いたいので配列の大きさを調べたいのです。
908 :
896 :2005/11/12(土) 02:10:16
すいません、書き方がわるいみたいなので簡単に書きます。 int[9] => [9] ←intの配列 char[1][9][2][2] => [1, 9, 2, 2] double[0][0][0] => [0, 0, 0] という事がしたいんですが…
909 :
デフォルトの名無しさん :2005/11/12(土) 02:10:42
配列がObjectで渡ってくるってことか なら今のコードの応用で問題ないじゃん foo = Array.get(foo, 0); fooがnullかどうかチェックするだけじゃないの?
910 :
デフォルトの名無しさん :2005/11/12(土) 02:16:20
あ、もしかして次元数がわからないってこと?
911 :
デフォルトの名無しさん :2005/11/12(土) 02:16:20
以下の言葉を用いてスレッドのメリットとデメリットをこたえよ (軽い、共有) おねがいだからだれかおしえて
912 :
896 :2005/11/12(土) 02:22:33
>>910 そうです。
>>896 のコードの場合、
途中に[0]があると Array#newInstance()した時点で
次元数が変ってしまう可能性があるので困るのです。
913 :
デフォルトの名無しさん :2005/11/12(土) 02:26:32
配列の次元数と型はね、Class.getName()でわかるよ
914 :
896 :2005/11/12(土) 02:31:41
なるほど! 次元数が足りなければを無理矢理元の型に合せればいいですね。 答えてくださった方々ありがとうございました。
915 :
896 :2005/11/12(土) 02:32:08
-を
917 :
デフォルトの名無しさん :2005/11/12(土) 02:38:29
918 :
デフォルトの名無しさん :2005/11/12(土) 02:51:46
919 :
デフォルトの名無しさん :2005/11/12(土) 03:40:06
以下の言葉を用いてスレッドのメリットとデメリットをこたえよ (軽い、共有) だれかまじめに答えおしえてください
920 :
デフォルトの名無しさん :2005/11/12(土) 03:40:52
>>917 ジャバの課題じゃないけど助けてください
>>911 お姉ちゃんのお尻は軽いのでみんなに共有されています。
922 :
デフォルトの名無しさん :2005/11/12(土) 03:56:43
スレッドのなかでgが参照できないんだけどどうしたらいい? import java.awt.*; import java.applet.*; import java.math.*; public class HelloWorldApplet extends Applet { public void paint(Graphics g) { aaa b = new aaa(); b.start (); } } class aaa extends Thread { int a; public void run ( ) { a++; g.drawLine(a,100,100,200); } }
スレッドまったく関係ないね
924 :
デフォルトの名無しさん :2005/11/12(土) 04:07:28
>>919 しかたねーなおしえてやるよ
スレッドは、同じプロセス内のメモリ空間を使うため
以下のようなメリットとデメリットがある
メリット
プロセスに比べ、生成の負荷が軽い
プロセスに比べ、スレッド間通信やデータ共有は容易でかつ高速
デメリット
プロセスに比べ、スレッド間の堅牢性は低い
ま、Javaにはほとんど関係ない話だわな
925 :
デフォルトの名無しさん :2005/11/12(土) 04:09:54
926 :
デフォルトの名無しさん :2005/11/12(土) 04:22:47
Eclipseを使っていると、 Stack stack = new Stack<Number>(); StringBuilder builder = new StringBuilder(); ... bufferStack.push( new BigDecimal(builder.toString()) ); としていると、pushの引数が安全でないと警告されます。 stackの宣言行でStack<Number> stack〜とすれば警告は消えますが、 そう記述すべきなのでしょうか?
>927 > Stack stack = new Stack<Number>(); ここにも警告が出ていない? せっかくNumberしか入れられないStackを作ったのに、 なんでも入るStackとして使っちゃいけない。
930 :
927 :2005/11/12(土) 09:11:04
>>928-929 どうもです。
>ここにも警告が出ていない?
そこには出てませんでした。
確かに今回は、stackがNumber型のみのコレクションとして
コーディングしてるので、警告が正しいんでしょうね。
ただ、Stack<Object>型の変数に、new Stack<Long>を入れたくなる場合もあると思うけど、
それは許されないということなんですね。
931 :
931 :2005/11/12(土) 10:39:16
何処で質問すればよかったかわからなかったのでここでさせてもらいます。 九九の表を作るにあたって問題がでてしまいました。 1〜3のみの数字しか使えないという制限がありまして、どうやってそこから1から順に9までの数字を作るのかがわかりません。 プログラム的にはちゃんと動いてます(ループ文でループ回数を9にするとちゃんと回る) プログラムというか数学の問題に近いですが、どうすれば良いのかわからなかったのでプログラム板に書き込ませていただきました。 よろしくお願いします。
>>924 一本足打法は両足を上げると転ぶからみたいな
何気にプロセスと比較
jdk1.5でJButtonの大きさを表示文字列に依らず一定にしたい場合はどうすればいいでしょうか? LayoutはGridBagLayoutを使っています
レイアウトをもうちっと勉強しましょう
java初心者です ゲームを作れと言う課題をやっているのですが、 canvasを使うどうもキー入力できません。 mouseMotionはうまくいくのですが・・ なぜなんでしょう?
意味不明
HashSetからArrayList.get();で要素を取り出すようなことをしたいんですが どうしたらいいでしょうか?
APIミロ
どうしてHashSetを使うのにArrayList.get()のような機能が必要なのかが分らない
943 :
940 :2005/11/12(土) 15:09:33
HashSetにStringを格納しているんですが HashSet set; //setに文字列を複数格納 String[] str = set.toArray(); とかできるんですか? なんかエラーが出るんですが toStringだと[文字列、文字列]とかなってしまいますし;
944 :
デフォルトの名無しさん :2005/11/12(土) 15:11:21
質問です ティンティン変数って何ですか?
946 :
940 :2005/11/12(土) 15:22:58
>945 はい、ClassCastExeptionです setの中身はちゃんとStringのはずなんですが;
>>946 そりゃそうだろうに。HashSet.toArray() が返すのは Object[] であって String[] じゃない。
HashSet<String>.toArray(T[]) を使いなさい。
>947 String[] str = (String)set.toArray(); これだとダメなんですか? 昨日はこっちでもエラーがでた記憶があるんですが; Object[] ならObjectの子クラスにキャストすれば子クラスのオブジェクトで格納できるんですよね? とりあえずHashSet<String>.toArray(T[])を調べて使ってみます レスありがとうございました。
訂正 String[] str = (String[])set.toArray();
>>948 >Object[] ならObjectの子クラスにキャストすれば子クラスのオブジェクトで格納できるんですよね?
出来ないよ
951 :
940 :2005/11/12(土) 15:55:16
>950 マジですか; なんか勘違いして覚えてるみたいです、勉強しなおしてきますorz
>>936 つまりJButton側でJFrameやJDialogのように大きさ指定できないってことですか?
それぞれ計算してipadxやipadyを指定するしか方法はないんでしょうか
954 :
デフォルトの名無しさん :2005/11/12(土) 16:03:08
>>944 おまえティンティン変数も知らないのかよw
>>944 みたいな馬鹿がまだこの世に存在してたとはなww
>>944 は無知で無能で箸にも棒にもかからない世の中のクズなんだろうなぁ
童貞で愚図でのろまで役立たず
コンビニのレジですらキモがられる最低男
>>944 究極の社会不適応者に教えるわけないだろばーか
いやおれも知らないけど
JDBCを使ってテーブルの作成ってできますか? データベースはpostgresです
出来ないと思った理由を聞きたい
JDBCが何のためにあると思っとるのかねチミは。
SELECTとかUPDATEとかの例はあるんですが CREATE TABLEはなかったもので;
質問です。 JSpinnerっていうクラスがありますが、このクラスで↓のような事をするとき、どうすればいいですか? やりたい事 「 JSpinnerで最大/最小値を100/0にして、ステップを1にする。 んで、 上のボタンをポチポチ押して、100を過ぎると、0に戻る 」 えっと、つまり、数がクルクル回るように設定したいんですが、 どうしたらいいでしょう?
イベントで処理
>>951 Genericsの使い方を解ってないだけじゃないのか?
便利だから覚えてみなよ。
963 :
デフォルトの名無しさん :2005/11/13(日) 00:15:18
>>962 これはライブラリ仕様の問題であって、Generics全然関係ないだろ。
要はObject[]で返ってくるものをString[]にはできないというだけ。
Object[]のの要素の中身はStringにキャスト可能かもしれんがな。
>>963 は? Genercs の問題だろ。知ったかも程ほどにな。
Set<String> set = new HashSet<String>();
String[] ss = set.toArray(new String[0]);
965 :
デフォルトの名無しさん :2005/11/13(日) 00:40:09
>>964 知ったかはおまえ
よく元のコードを見るんだな
引数なしのtoArray()を使っていて
String[]にキャストできないと言っているだけだろ
引数なしのtoArray()はObject[]を返すという仕様だから当たり前
俺の為に争わないで!
968 :
デフォルトの名無しさん :2005/11/13(日) 00:59:49
コンテクストスイッチングってなんですか?
>>968 タスクやスレッドを切り替えること。
普通OSやVMがやる。
VMにコンテキストスイッチをする機会を与える命令も
Javaにある。
970 :
デフォルトの名無しさん :2005/11/13(日) 01:44:49
971 :
デフォルトの名無しさん :2005/11/13(日) 02:10:24
軽量プロセスは何が軽いかっていう問題がでたんだけど これはCPUへの負荷が軽いってことであってる?
うそ
973 :
デフォルトの名無しさん :2005/11/13(日) 03:10:16
メインメモリの領域に占めるデータの量とかですか? うーん・・・違ってそうだな
974 :
デフォルトの名無しさん :2005/11/13(日) 03:32:30
スレッドが軽いというのは、主に生成と解放のコストが低いということをさすよ。 なぜならほとんどのリソースはプロセス側がもっていて、 スレッドは主にスタックとプログラムカウンタなどの 最低限の情報しかもたないからね。 だから生成と解放のための処理時間も短く高速になる。
975 :
デフォルトの名無しさん :2005/11/13(日) 03:57:33
>>974 じゃあこの問題に対しては何が軽いと答えるべき?
尻
978 :
デフォルトの名無しさん :2005/11/13(日) 05:04:59
@英字をバイト表示させる A任意のバイト列から英字を表示させる この方法を教えてください ハフマン圧縮のプログラムを作ってます
979 :
デフォルトの名無しさん :2005/11/13(日) 05:09:37
>>977 参考になりました
ありがとうございました
981 :
デフォルトの名無しさん :2005/11/13(日) 07:36:22
>>975 コンピュータの負荷が軽いということだね。
これにはメモリ割り当て量、処理時間の両方が含まれる。
一部リンク切れだけど、
>>977 のサイトがよくまとまっているね。
ローカル変数領域とかいてあるけど、要するにスタックのことね。
文字列を行ごとに区切って配列に格納するために、java.lang.String#split() を次のようにして使ったのですが、 String str = "foo\nbar\nbaz\n"; String[] lines = str.split("$"); うまく行ごとに分割されず、次のような結果になりました。 lines[0] //=> "foo\nbar\nbaz\n" lines[1] //=> "" "$" のかわりに "\n" を使うと分割はされるのですが、改行文字が消えてしまいます。 改行文字を消さないために、できれば "$" を使いたいのですが、どうしたらうまくいくでしょうか。
983 :
デフォルトの名無しさん :2005/11/13(日) 10:28:01
エラーが消えませんなぜですか? public class Data { String[] dd={"aaa","bbb"}; System.out.println(dd[1]); }
>>982 分割される訳無いだろ
foo\nbar\nbaz\nの何処に$があるんだ?
>>983 String[] dd = new String[]{"aaa", "bbb"};
>>982 API詳しく知らないが\nで分割して
分割文字列の最後に\n付ければいいじゃん
987 :
デフォルトの名無しさん :2005/11/13(日) 11:01:57
いくつかのライブラリ(jarファイル)を物理的に一つにまとめて、 個別のファイルにクラスパスを通すこと方法はありますでしょうか? 例えば、A.jar と B.jar というライブラリがあり、 これらをそのまま、C.zipにすれば、AとBへ直接パスを通すのと同じように 扱えるようにしたいということです。(import文もそのままです。) 一度、AとBをclassまで解凍して、C.jarにするという案があるのですが、 例えば、commonsとかのJakartaのライブラリをそのようにして問題ないか (ライセンス、動作的に)がはっきりしないため、現在は見送っています。
988 :
デフォルトの名無しさん :2005/11/13(日) 11:05:50
>>984 正規表現では$は行末を表すから分割されると思ってもおかしくない。
>>983 ,985
System.out.println(dd[1]);
がDataクラスのなかでメソッド内にないから。
991 :
982 :2005/11/13(日) 11:49:46
>>984 java.lang.String#split(String regexp) は、引数に正規表現を表す文字列をとります。
そのため、行末をあらわす正規表現「$」で行ごとに分割できると思ったのです。
>>986 String#split("$") でもしできるなら、そっちのほうがスマートだからです。
"\n" で区切るなら、StringTokenizerで十分。しかしそれよりもいい方法がないかと思い、String#split()を試しています。
Patternのsplitなら\n残したまま$で分けれるが \nの直前で分けるので無理だな
>>992 を補足
String str = "foo\nbar\nbaz\n";
Pattern使って"$"で分けると
[foo]
[\nbar]
[\nbaz]
[\n]
おまけ "^"で分けると
[]
[foo\n]
[bar\n]
[baz\n]
>987 1つにまとめるonejarとかソフト昔見たことある jarごと突っ込むのは知らないけど 1つのjarの中にクラスパス含めるのは MANIFEST.MFファイル中に Class-Path: ./A.jar ./B.jar . ../lib ../jre/lib/rt.jar って感じでいくらでも入れられるよ
>>983 ちゃんとコンストラクタをつくりなさい
でなかったら
public class Data {
static {
String[] dd = {"aaa","bbb"};
System.out.println(dd[1]);
System.out.printf("%s", dd[1]);
}
}
こうする
996 :
982 :2005/11/13(日) 14:32:28
>>993 すごい、「^」を区切り文字にすると改行文字を保持したまま行ごとに分割できました。
試したところ、993とはちょっとちがって
["foo\n", "bar\n", "baz\n"]
となりました。さいこー。
>>996 ありゃ,結果オーライってことで許してちょ
998 :
デフォルトの名無しさん :2005/11/13(日) 14:42:31
Javaを独学で学ぼうとしているものです。 独学でマスターするには ■ともかくプログラミングする環境を整える。Javaならば、開発のためのソフトなどを用意しインストールして使える状態にする。 ■後は、ひたすらプログラムを書く! ということなので 初心者におすすめのソフトがあればお教えください。
999 :
デフォルトの名無しさん :2005/11/13(日) 14:49:35
>>998 JDKを入れる(必須)
プログラムをメモ帳で書いてコマンドラインから実行もできるが、
eclipse(RAD: 統合開発環境)(無償)もある。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。