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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
過去ログ、関連スレの一覧や、これからJavaでプログラミングを
始めたいが何をすればいいかわからない人は、下のリンクをクリック。
http://www.wikiroom.com/java/

以下のエラーが表示されて、途方にくれているあなたは、下のリンクを。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path%2Cclasspath

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

前スレ。
【初心者】Java質問・相談スレ38【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1071613279/

すべてのクラス (Java 2 プラットフォーム SE v1.4.0)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
Java (TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html
Java言語規定 第2版 目次
http://www.y-adagio.com/public/standards/tr_javalang2/jTOC.doc.html
SDKに付いてたソースってウェブで見れないのかな?
>>2
なんでWebで見たがるのか?

Eclipseとか使えば各クラスのソースは楽に見られる。
ただしJVMのソースとかは良く知らぬ。
4デフォルトの名無しさん :04/01/08 02:02
javaアプレットでテキストエリア(ta)の入力をintに変換したいのですが、どのようにすればいいのでしょうか?

String imput1 = ta.getText();
int imput = Integer.parseInt(imput1);

このようにし、コンパイルするとGUI部分が表示されません。
int imput = Integer.parseInt(imput1);
の一行を抜くとGUIはちゃんと表示されるんですが・・・
どうしたらいいのでしょうか・・?
開発はJBuilder9です
その行でException吐いてるじゃねえの?
>>4
コンソールにはなんと表示されているのか?
>>5の言うとおり何かExceptionがでているか?
出ているならここにそのメッセージを貼り付けて見れ。

初期のテキストエリアが空っぽなので数値が変換できずException出たとか?
if分でテキストエリアが空っぽでないとき表示しろとかやってみれ
>>前スレ978
日本Oracleのホームページにある。
8デフォルトの名無しさん:04/01/08 02:20
ttp://www.gihyo.co.jp/magazines/wdpress/archive/Vol16
これにあるJ2EEサーバってなんですか?

たとえば
J2EEはWeblogicなどのAPサーバやサーブレットなどで構成されていると聞きましたが
JBossなどはどういった用途で使うのでしょうか?

構成としてJ2EEサーバの下にWEBAPサーバやEJBなどがあるのでしょうか?
9デフォルトの名無しさん:04/01/08 14:32
double型をfloat型の変数に入れる時に

float a;
a = 1.1F;

↑固定値の時はこんな感じで問題ないのですが、

float a;
a = Math.pow(10,3);

のような事がしたい場合はどうしたらいいのでしょうか?
109:04/01/08 14:41
あ、すいません。
a = (float)Math.pow(10,3);
で、できました。失礼しました。
>>9
キャストしる
a = (float)Math.pow(10,3);
>>9
> a = 1.1F;
1.1F の型は float だよ。

float a = 1.1;

とかすれば(1.1 の型は double なので)コンパイラに怒られるはず。
13デフォルトの名無しさん:04/01/08 15:21
ジョブショップスケジューリング問題をJavaで組みたいと思いますが
どなたか、Javaのサンプルソースを御存知ないでしょうか。
どうか宜しくお願いします。

>>8
>J2EEはWeblogicなどのAPサーバやサーブレットなどで構成されていると聞きましたが
語についていろいろ誤解があるようだな。あるいは言葉に対して慎重でないかのどちらか。

J2EE における「コンテナ」が何のことだか調べるとよい。
それとサーブレットとは正確には何を指すのか。
あと JBoss と Tomcat の関係とか。
15かおるん:04/01/08 17:34
唐突な質問で申し訳ないですが、Java RMIって何でしょうか?
あまりまともに読める訳ではないが↓
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/rmi/spec/rmi-intro2.html
>>15
インスタンスのガワ(interface定義と通信代行)だけ残して、
実体は別のマシンにある、という状態を提供する。
ガワとなるインスタンスを取得してそれに対してメソッドを叩けば、
遠くのマシンで処理が行われ、値が帰ってくる。
ソケットを直に使うのと違い、プロトコルを設計する必要がない。

RMI には二つのよく似た方法があって、新しい方 (RMI-IIOP) を使うと
Java 以外のソフトウェアと連携できるし、古い方法を使ったものとも連携できる。
また、EJB でもこの RMI-IIOP を使っているので、
EJB を知らない人は RMI から先に勉強するのもいいかも。
18デフォルトの名無しさん:04/01/08 19:02
>>17
ORBじゃダメ?
19デフォルトの名無しさん:04/01/08 19:26
>>17-18
SOAPってどうよ?
RMIよかXML-RPC(SOAPとか)の方が柔軟性があると思うんだけど。
どうなんだろ?<よく知らない
>>18
RMIはORBの一種じゃないのかな。
21デフォルトの名無しさん:04/01/08 20:41
複数の箇所で使用する定数を定義するのにはどうすればいいのでしょうか?

Cでは以下のように設定するかと思うのですが・・
#define TEST_VALUE 3

自分が考えたのはメソッドなしのクラスを宣言するというのですが、スマートじゃないですし、
オブジェクト指向の考えから外れているような気が・・・

class Test
{
Test ()
{
int TEST_VALUE = 3;
}
}

22デフォルトの名無しさん:04/01/08 20:46
教えてください。
括弧の外で変数を使いたい場合、どのようにすればいいのでしょうか?

以下のようにすると”初期化されていません”とエラーがでてしまいます。

int a;
if (b > 3)
{
a = 1;
}
else
{
a = 2;
}
int c = a;


そのため、とりあえず適当な値を入れて初期化させておくのですが、もっと
かっこいい方法はないのでしょうか?

int a = 0
if (b > 3)
{
a = 1;
}

23デフォルトの名無しさん:04/01/08 20:53
Javaで.netのPictureBoxに相当する機能を実装する方法はないのでしょうか?
PictureBoxとは、paint()のオーバーライド以外の方法で描写た場合でも、
他のウィンドウで覆ったり、リサイズしても再描写されるパネルのこと。
JPanelにgetGraphics()で描写しても、覆ったり、リサイズすると描写が消えるので、
ダブルバッファリングで転送して、
各イベントにdrawImage(Image,0,0,Panel)を登録してみたのですが、
componentResizedなどに登録してもダメ。
解決する方法をご存知の方いらっしゃいませんでしょうか?
>>21
> 複数の箇所で使用する定数を定義するのにはどうすればいいのでしょうか?

public class Hoge { public static final int CONSTANT = 0; }
して、使う時は Hoge.CONSTANT するとか。
Tiger で追加された static import するとか。

public interface Hoge { int CONSTANT = 0; }
して、使う時は implements Hoge して使うとか。
>>22
> 以下のようにすると”初期化されていません”とエラーがでてしまいます。
if とか switch とかの全ての分岐先で代入されてないとコンパイルエラーになる。

http://www.y-adagio.com/public/standards/tr_javalang2/defAssign.doc.html#25980
>>23
JLabel に ImageIcon 貼り付けるとかじゃダメなん?
2721:04/01/08 21:40
>>24
やっぱりそういう方法しかないですかね。

ちなみに複数の定数を定義しておくと無駄にメモリを使いそうな気がするのですが、
そういうことはないのでしょうか?

例:
class Hoge { public static final int CONSTANT = 0;
public static final int CONSTANT2 = 0;
public static final int CONSTANT3 = 0; }

class Test{
void test_method ()
{
// ここで使うのはCONSTANT2だけ
int a = Hoge.CONSTANT2;
]

2822:04/01/08 21:43
>>25
実は適当に書いただけで、実際にエラーになることを確認したわけではないんです。
必ず代入されるソースであれば(例えば22のソース)、事前に初期化しなくても
いいんですね?
>>27
> ちなみに複数の定数を定義しておくと無駄にメモリを使いそうな気がするのですが、
int が一個二個増えた程度で気になるなら Java は使わんほうが良いかもしんない。
3021:04/01/08 21:57
>>29
staticだからといって、使用する変数しかメモリにロードしないわけではないんですね。
要はその程度は気にするなってことですね。
31デフォルトの名無しさん:04/01/08 22:39
前すれで誰も答えてくれなかったので
もう一度質問させてください。

java.utilの中にいろいろクラスがありますが、
クラス自体をインスタンスかして使うものもあれば、
抽象クラスになっていて Class.createOtherClass() のようにして別のクラスのインスタンスを作って使うものもあるみたいです。
なんでこんな違いがあるんですか?
>>31
そうしたほうが便利だから。
いじょ。
超初心者で初めて来たんですがいきなり質問させてくらさい

古い本にのってたjava.awt.Insetsを使ったら
ワーニン出たんですが何故ですか?
>>33
まず、そのワーニン読めば?
35デフォルトの名無しさん:04/01/08 22:47
Javaを使ってCDドライブの開閉をしたいのですが
できますか?
>>34
推奨されないとか何とかでよくわかりません
>>35
標準 API だけじゃ無理。
38ぼるじょあ ◆yBEncckFOU :04/01/08 22:55
(・3・)エェー >>36は既によくわかっているはずだYO!
そのクラスorメソッドは現在のJavaでは推奨されなくなっているんだYO!
JavaのAPIドキュメントを読むと、推奨されている代替クラスorメソッドが
書かれているかもNE!
>>38
ありがとうございます
調べてみます
40デフォルトの名無しさん:04/01/08 22:59
>>37
どうすればできるのですか?
>>40
JNI 経由でCDドライブを開閉する。
もしくは上記を実現している既存のライブラリを探して、それを使う。
42デフォルトの名無しさん:04/01/08 23:28
質問失礼します。
Swingでボタンを設置し、ボタン(jb1)を押すことでそのボタン(jb1)を消去し、
さらに他のボタン(jb2)を配置するようにしたいのですが、
actionPerformed内をどのようにすればいいのでしょうか。
remove()などをつかってみましたが、上手くいきませんでした。
ご教授お願いします。
class MainFrame extends JFrame{
public void setFrame(){
ButtonSample bs=new ButtonSample();
bs.setButton();
Container c=getContentPane();
c.add(bs.jb1);
setSize(150,150);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
class ButtonSample extends JButton implements ActionListener{
JButton jb1;
JButton jb2;
public void setButton(){
jb1=new JButton("消去");
jb1.addActionListener(this);
}
public void actionPerformed(ActionEvent e){} }
public class Test {
public static void main(String[] args) {
MainFrame mf=new MainFrame();
mf.setFrame(); } }
ボタン(jb1)を押すことでそのボタン(jb1)を消去し他のボタン(jb2)を配置する、じゃなくて
あらかじめ両方のボタン配置しといて見せたり消したりすればいい
44デフォルトの名無しさん:04/01/08 23:49
コンパイルすると以下のようなエラーが出てきてしまうのですが何故でしょうか。
CompareToという自作のクラスではフィールドを5個作っているのですが、
放り込もうとすると4つ目以降のフィールドになんらかのエラーが出ているように見えます。

prob_B\ShoppingFrame.java:134: シンボルを解決できません。
シンボル: コンストラクタ CompareTo (java.lang.Object,java.lang.Object,java.lang.
Object,java.lang.Object,java.lang.Object)
場所 : prob_B.CompareTo の クラス
goods.add(new CompareTo(model.getValueAt(i,0),model.getValueAt(i,1),
model.getValueAt(i,2),model.getValueAt(i,3),model.getValueAt(i,4)));
^
エラー 1 個
4544:04/01/08 23:50
すいません、「^」はmodel.getValueAt(i,3)の「m」の下についてます。
ソース見せずに解決しろと。
4744:04/01/08 23:54
すいません、結構長いんですがどこ見せればいいですか?
48 :04/01/09 00:01
実際に実行するクラスには
必ずmainメソッドがなければいけないのでしょうか?
>>45 mの一文字前の「,」
>>44
シンボルが解決できないというエラーは、
そんな名前の変数はないとか、そんなメソッドはないという時に出るエラー。

たぶん、メソッドの宣言の、引数の部分に間違いがあるのではないかな。
引数の数が違うと、別のメソッドとして扱われるからね。

>>48
その
>>48
その「実際に実行するクラス」
という部分が意味不明だが、

もしコマンドラインなどから打ち込む「java 実際に実行するクラス」
という意味なら、まあyes。
>>23
SWTにはPaintListenerがあってpaintControl(PaintEvent e)を実装すればよいのだが、
Swingにはないのであきらめろ。
前スレで、ソース中の日本語文字列はコンパイル時にユニコードに変換されると
ありましたが

GUIのテキストボックスや、コンソールから日本語を入力した場合
入力した文字列はユニコードに変換されるんでしょうか?
54デフォルトの名無しさん:04/01/09 08:45
質問です。例えば以下のように書いて実行すると
先にmain1です\nmain2です…となり、
その後スレッド1です\nスレッド2です…となりますが、
何故ですか?僕は先にスレッド1です..から始まらないと
おかしいような気がするんですけど...。初心者です。

class MyThre extends Thread
{
public void run()
{
for(int i=0; i<6; i++)
System.out.println("\nスレッド"+i+"です");
}
}

public class Lec1
{
public static void main(String args[])
{
MyThre th = new MyThre();
th.start();
for(int i=0; i<6; i++)
System.out.println("\nmain"+i+"です");
}
}
56U ◆CZtFsGiu0c :04/01/09 11:44
>>54
なぜって…なんのためにスレッド使ってるんですか?
この例でいけばMyThreの処理とmainメソッド内の処理はどちらが先に
なってもおかしくありません。スレッドはそういった並列処理を扱う
ものです。
58 :04/01/09 11:54
"あいうえおjapanese" という文字列を->暗号->EUC-JPのDB->復号としたら、
"\202\240\202\242\202\244\202\246\202\250Japanese"
という文字列になってしまいました。

"\202\240\202\242\202\244\202\246\202\250Japanese" を"あいうえおjapanese"に
変換するにはどんなコードを書けばいいのでしょうか?

String.getBytes()で色々やってみましたが"\202\240\202\242\202\244\202\246\202\250Japanese"から
変換できません。
>>58
あいうえお が \202\240\202\242\202\244\202\246\202\250 に変化しただけじゃなく、
japanese も Japanese に変化してるんだが…

とりあえず、元文字列->暗号->EUC-JPのDB->復号->結果文字列
のうち、EUC-JPのDB を通さないとか、暗号と復号を削るとかして何処で化けるか探れ。
原因が特定できたら その部分のマニュアルをちゃんと読め。
60デフォルトの名無しさん:04/01/09 13:23
javac でコンパイルできません。ドスプロンプトでpathと入力するとパスは通ってました。
61デフォルトの名無しさん:04/01/09 13:26
60です。windows98でj2sdk1.4.0_01インストールしています
62 :04/01/09 13:28
>>59
サンクス。
プログラムのバグでした(w

String.getBytes()で取り出したバイト列を文字列としてDBに入れていたのが原因でした。

>>60
ドスプロンプトでjavacと入力してみてください。
63デフォルトの名無しさん:04/01/09 13:31
ドスプロンプトでjavacと入力してもコマンドまたはファイル名が異なりますとでます。
>>63
path
65デフォルトの名無しさん:04/01/09 13:35
pathは通っているようです
67デフォルトの名無しさん:04/01/09 13:52
>>65
PATHが通っているなら、javacが実行できるはずです。
68デフォルトの名無しさん:04/01/09 15:14
servlet+JSP+DB2で開発してるんだけど、
あるDBの項目(4000byteのvarchar)を600byteでぶった切って
JSPに放り込んで表示したいのです。

ところがこの項目は全角半角入り混じってるもので、
全角の1byte目とかで切った場合は当然化けてしまいます。
何かいい方法はありませんでしょうか?
DBからselectした後の、javaの文字配列なりに入った状態で、
先頭から1Byteづつ漢字か半角かって判断していくことは可能なんでしょうか?
この場合、文字コードはunicode(でしたっけ?)になっちゃってるんですよね?
>>65
きっとディレクトリへのパスは通っているが、
そのディレクトリにはjavac.exeファイルがないのだろう。

>>68
ユニコードに変換されてしまえば、すべて一文字として分解できるだろう?
>>68
半角ってアスキーのことだよね?なら可能だとおもうけど。
71デフォルトの名無しさん:04/01/09 15:35
65です。解決しました。
>>71
解決法くらい書いたらどうか
・・・と思ったがまあそんな程度の質問ならその必要もないな。

>先頭から1Byteづつ漢字か半角かって判断していくことは可能なんでしょうか?
漢字か半角かではなく、アスキーか非アスキーかってこと?

[JavaHouse-Brewers:18333] Re: 半角、全角の判定方法
http://java-house.jp/ml/archive/j-h-b/018333.html
>>68
IBMのライブラリ使えばいい
>>68
int len = 0;
for (int i=0; i<str.length(); i++) {
 String s = str.charAt(i);
 len += s.getBytes("SJIS").length;
 //len が 600 超えたら戻るとかなんとかそんな風にして for 抜けて i を使って substring とかなんとか
}
>>56
>なぜって…なんのためにスレッド使ってるんですか?
学校の宿題と思われ
>>53
される
されてなかったら大変だろう
Set key の中に
abc [a:hello b:bye] aとbの要素が入っています。
それの要素:bを取り出すにはどうしたらいいでしょうか?

equalsを使ってString値との比較をしたいのです。
78デフォルトの名無しさん :04/01/09 16:45
return文が指定されていません
というエラーはどんなときに出るのでしょうか?
戻り値がvoidでないメソッドで、例外を投げる場合を除いてreturnに到達しない場合があるとき。
こんな場合。
public String hoge(int a){
 if(a > 0){
  return "( ´∀`)";
 } else if(a < 0){
  return "(;´Д`)";
 }
}
a = 0のとき、2つあるreturn文のどちらにも到達しないのでエラーになる。
遅レス

>>18
"ORB" は RMI も CORBA もその他のものも含む。
RMI は IIOP に対応した以上、CORBA の簡易版とでも考えておけばいいんじゃなかろうか。

>>19
http://www.linux.or.jp/JF/JFdocs/XML-RPC-HOWTO/xmlrpc-howto-java.html
http://www.hellohiro.com/soap.htm
俺も不勉強なのでおそるおそる言えば、ここを見た限りでは、
データ構造をインタフェース定義ではなく実装に任せるようなので、それが悲しい。
でも XSLT と組み合わせれば面白いことになるのかな?
計算プログラムで、f(x,y)という変数を定義したいんですが、
これをメソッドと認識して、エラー表示が出てしまうのです。
どうしたらよろしいですか?

8278:04/01/09 17:11
>>79
サンクス!これで学校の宿題はかどります。
C言語で「fopen」と書いてある部分をJAVAで書くにはこのままでは
駄目なので、どのようにしたらよろしいですか?
>>77
何言ってるのか分かりません。

Set は java.util.Set のことでいいですか。key は変数名ですか。
Set は Map ではありませんがその割に key というのはそぐわない気がしますが無視していいですか。
abc とは何ですか。[ ] は配列に使う記号ですがどういうつもりで使ってますか。
a:hello とは何ですか。変数ですか文字列ですかクラスですか。それとも "a" → "hello" という対応ですか。
(Map じゃないのに「対応」というのは考えにくいですが)
要素:b の「:」は a:hello の : とどういう関係がありますか。無視していいですか。
オブジェクト指向言語にはクラス、変数、メソッド、値などと、ちゃんと一般名詞がありますので、
あなたが決めたあなたの提示・例示する単語それぞれにつて、
そのどれであるかを、言葉もしくは文法に沿った記法で類推できるよう、明記して下さい。
途中まで書いたソース(コンパイルは通るが思ったように動かないもの)をアップするのが手っ取り早いです。
>>81
過去どんな言語を使ってきたか知らないが、
x, y によって値が変わるなら、それを変数としては扱えない。それはメソッドだ。
x, y に対応する値が、その他のどんな状況に対しても一定であるなら、
int[][] f などの2次元配列を使うか、Map に Map を突っ込めばいいが、
大変なら観念してメソッド化するしかない。

>>83
扱うデータによるが、例えば FileInputStream クラス。
>>83
あ、その後 fscanf か何か使ってるのかな?
それなら例えば FileReader 。
これは文字毎か行毎にしか使えないので、
必要に応じて MessageFormat などを組み合わせる。
ヘコー 行毎は BufferedReader で被せたときだった
チョンボチョンボ
88デフォルトの名無しさん:04/01/09 19:55
String型の一文字を、数値であるかどうか確認する方法はありますか?
>>88
いくらでもある。
90デフォルトの名無しさん:04/01/09 20:23
サーバーサイドでBeansを使ってユーザ情報を管理するとき、
その情報はいつまで保持されるんでしょうか?
セッションが切れても保持できるんでしょうか?

また、データをArrayListにしているBeansプログラムを
幾つかのサーブレットやBeansから見たいときは
どうすればよいでしょうか?
今そのBeansをセッションに追加して、見ているのですが、
ほかによい方法があったら教えてください。
お願いします。
>>88
String型の一文字は、数字かもしれないけど数値ではありません。
92デフォルトの名無しさん:04/01/09 21:20
JAVAを初めて使うの者ですが、C:\>javacと打っても
コマンドまたはファイル名が正しくありません
と出ます。ダウンしたのは
j2re-1_4_1_06-windows-i586-i.exe
です。インストールしました。
パスは
C:\WINDOWS;C:\WINDOWS\COMMAND;C:\j2sdk1.4.1\bin
と設定してあります。
原因がわかりません。よければどなたか教えてください。
>>92
C:\j2sdk1.4.1_06\bin
>>92
j2reにはjavac入ってないぞ
>>92
ダウンロードしたものが間違っている。
その手の解決策は>>1のリンク先に全て書かれているのでそれを読むように。
96デフォルトの名無しさん:04/01/09 21:43
>>93>>94>>95
ありがとうございます。
では>>1を読んでダウンロードからやり直してみます。
>>85 86
ありがとうございます。やってみます。
無理だと思うけど、
JavaからTWIN、その他のスキャナーって使えます?
ツイン
hffp://age.tubo.80.kg/upl2/img/1024.txt
ぬるぽが起こったときに、setTextを実行したかったのですが、
↑のようにすると、ぬるぽが起こると、ラベルが消えてしまいます。
どうすればいいのでしょうか
102デフォルトの名無しさん:04/01/10 00:24
コンストラクタの
super();
って具体的に何をするのでしょうか?

参考書では
スーパークラスの引数なしコンストラクタを実行するとありましたが
サンプルなどを見るとスーパークラスにコンストラクタが存在しない(あっても何も処理しない)
クラスなどもあるのですが

その場合、super();を指定する意味って何でしょうか?
103デフォルトの名無しさん:04/01/10 00:24
コンストラクタの
super();
って具体的に何をするのでしょうか?

参考書では
スーパークラスの引数なしコンストラクタを実行するとありましたが
サンプルなどを見るとスーパークラスにコンストラクタが存在しない(あっても何も処理しない)
クラスなどもあるのですが

その場合、super();を指定する意味って何でしょうか?
104 :04/01/10 00:29
>>789
では呆韓か笑韓だから
彼らの行動に何もしないでいいのかな?
そういう奴も結局韓国の竹島侵略の片棒をかついでる

知ってて何もしないのは罪では?
>>104
間違った
削除してください
>>105
僕には削除できません。
107デフォルトの名無しさん:04/01/10 00:37
>>528
昨日もそうだったよな?
>>103
コンストラクタを実行することそのものに意味があります。
コンストラクタはオブジェクトを生成します。具体的には、メモリ空間を確保してます。
vec3.addElement(new Integer(value1 * value2));
この中にあるnew Integerですが、
(value1 * value2)の中身をIntでインスタンス化させることによって
のちのち何が出来るようのでしょうか?

たとえばInteger.PaeseIntとはどう違って来るのでしょうか?
110100:04/01/10 00:58
つまり、ぬるぽがおきないからsetTextが実行されないということなんですね。
ということは、if文とか使えばいいのでしょうか。
ありがとうございました。
111デフォルトの名無しさん:04/01/10 00:59
>>108
スーパークラスに引数なしコンストラクタの処理がない場合か
コンストラクタそのものが記述されない場合の時

同じコンストラクタでも
クラス名(){
super();
}

クラス名(){
//処理なし
}

ではどう違うのでしょうか?
112108:04/01/10 01:00
>>103
あぁ、すいません。質問をちゃんと読んでませんでした。
えと、サブクラスにsuper()を追加するのには、ちゃんと理由があります。
コンストラクタ(super())を記述しないと、デフォルトコンストラクタが自動的に挿入されます。
これが嫌な場合、自分で指定してやることになります。super(String s)とか。
つまり、super()は記述しなくても自動的にやってくれる、ってことです。

サブクラスにsuper()が指定されている場合、スーパークラスにも当然コンストラクタは存在します。
無い場合は、さらに上のクラスを探します。それでもない場合はコンパイルエラーになります。
スーパークラスにコンストラクタが記述されていない場合で、コンパイルエラーにならないのなら、
デフォルトコンストラクタが呼ばれている可能性があります。
113108:04/01/10 01:04
>>111
その場合、違いはありません。
下の方では暗黙的にデフォルトコンストラクタ(この場合super())が呼ばれています。
>>103
デフォルトコンストラクタに super(); は書かなくて良い。
省略した場合でも親を遡り、最終的は必ず Object クラスの
デフォルトコンストラクタまで呼び出される。
>>98
TWINは使えねぇなぁ。

TWAINならgoogleでいくつかみつかる。
116114:04/01/10 01:13
間違えた。112 の場合を忘れてた。。。
Java スレに限らないけど初心者の質問を見ていつも疑問に思う。
大文字と小文字を正確に書き写すこともできない輩はいったい何なんだろう?
>>109とか。
118デフォルトの名無しさん:04/01/10 01:24
>>112
ありがとうございます

>コンストラクタ(super())を記述しないと、デフォルトコンストラクタが自動的に挿入されます。
>これが嫌な場合、自分で指定してやることになります。super(String s)とか。
>つまり、super()は記述しなくても自動的にやってくれる、ってことです。

これなんですが
引数なしコンストラクタを記述しなくても自動的にやってくれて済むのに
なんでわざわざ記述するのでしょうか?
自動的にやってくれるのを嫌がるというのもよく分かりません
ただ単にわかりやすくしたいというだけならわかりますが

>デフォルトコンストラクタが呼ばれている可能性があります
デフォルトコンストラクタをsuper()で呼ぶ意味はあるのでしょうか?
>>109
何が言いたいのかよくわからないの。
intは「インスタンス化」とは言わないの。
BufferedImageを配列にして、要素数を1000くらいにすると、
実行時にメモリオーバーしちゃうようで動かないんですけど、
要素数を少なくする以外に対処方法あるんでしょうか?
どなたかおわかりの方教えてください。
よろしくお願いします。
>>118
>自動的にやってくれて済むのに記述する
あなたの言うようにわかりやすくしたいというのが主な理由です。

>デフォルトコンストラクタをsuper()で呼ぶ意味
派生クラスのインスタンス化に先立って基底クラスがインスタンス化される必要があるため
基底クラスのコンストラクタが呼ばれなければなりません。
>>120
メモリ増設
123sage:04/01/10 03:15
>>53
>>76
今CGIを使ったチャットアプレットを作ってるんですが、入力した文字が化けます。
名前と発言のそれぞれのTextFieldに入力した文字をJTextAreaに表示させるってやつで
半角英語はきちんと表示できるのですが、全角日本語を入力すると??????とか豆腐みたいなのがでます。
これはどうやったら日本語表示が可能になるんでしょうか?
>>123
表示するなら
jTextArea.append(textField.getText());

で日本語表示もできるね。
( ゚д゚)ポカーン
>>123
1.日本語対応のフォントにしろ。
2.サーバーから飛んでくるレスポンスをちゃんと正しいキャラセット指定
でデコードしてるか?
127デフォルトの名無しさん:04/01/10 05:19
凄く初歩の質問だと思うのですが
アプリケーションとして作ったものを
アプレットにするにはどうしたらいいのでしょうか

AppletとJAppletの違いでまたかわるみたいですし、
どこをいじっていくのかよくわからないでいます。。。
>>127
頑張る。
>>127
メインのFrame に add する処理を Applet に add するようなおす。
main の処理を適宜 init, start に移す。
基本的にセキュリティ上できない機能(ローカルファイル操作など)をけずる。
子Frame ばっかり出てきてうざったければなるたけ Dialog で済むように設計を変える。
etc.
130デフォルトの名無しさん:04/01/10 08:23
>>32
ハァ、
ここは馬鹿ばっかなんですね。
よく読むと小手先チップのレスばかりだし・・・
すみませんでしたよそで聞きます。
>>130
馬鹿でも、お前よりはましな連中だよ
>>130
その馬鹿にも答えられる内容を理解できない貴様に、プログラミングは無理だと思われる。
幼稚園からやり直せ。
>>32 以外の答え方は、もう「デザインパターン勉強しろ」ぐらいしかないだろうな。
そもそも java.util に限定しときながら具体例を出さないつー、
知識レベルの分からん奴のレスにどう回答しろというのか。
>>130 は、誰からもレスがもらえないのは、自分の質問の仕方が悪いっつーことを知らないんだろうな、きっと。
135デフォルトの名無しさん:04/01/10 10:21
136デフォルトの名無しさん:04/01/10 11:06
>>128-129 頑張ってみてるのですが。上手く行きません
たとえば、↓のソースをアプレットにするにはどうしたら良いのでしょうか。。。

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Table extends JFrame{
public static void main(String[] args){
Table test = new Table();
test.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);}
});
test.setBounds( 10, 10, 250, 200);
test.setVisible(true);
}
Table(){
JTable table = new JTable(10, 5);

JScrollPane scrPane = new JScrollPane();
scrPane.getViewport().setView(table);
scrPane.setPreferredSize(new Dimension(200, 120));

JPanel p1 = new JPanel();
p1.add(scrPane);

Container content = this.getContentPane();
content.add(p1, BorderLayout.CENTER);
}
}
>>136

public class Table extends JApplet {
 Table(){
  JTable table = new JTable(10, 5);

  JScrollPane scrPane = new JScrollPane();
  scrPane.getViewport().setView(table);
  scrPane.setPreferredSize(new Dimension(200, 120));

  JPanel p1 = new JPanel();
  p1.add(scrPane);

  Container content = this.getContentPane();
  content.add(p1, BorderLayout.CENTER);
 }
}
インスタンス生成、フレームへの追加(ブラウザのHTMLにインライン)は勝手にされる。
main には他に処理が無いから init に書くものはなにもなし。
C言語のルンゲ・クッタ法の二元の連立方程式の解法の一部は下記のようになりますが、
これをJAVAで書くとどのようになるでしょうか?
やっぱり長くなってしまうのでしょうか?
教えてください!お願いします。

main()
{
double f(double x, double y0, double y1, int i);
double x, y0, y1, dx, h, yreal, yerror, maxerr;
double t10, t11, t20, t21, t30, t31,
k10, k11, k20, k21, k30, k31 ,k40, k41;
int i,j;
FILE *output;
output = fopen("rungen.dat","w");
printf("Input: dx\n");
scanf("%lf", &dx);
printf("dx=%g\n", dx);
h=dx/2.0;
x = MIN;
y0 = 0.0;
y1 = 1.0;
yreal = y0;
yerror = 0.0;
maxerr=0.0;
fprintf(output, "%f\t%f\t%f\t%e\n", x, y0, yreal, yerror);
>>138の続き

while(x <= MAX)
{
k10 = dx*f(x, y0, y1, 0);
t10 = y0+0.5*k10;
k11 = dx*f(x, y0, y1, 1);
t11 = y1+0.5*k11;
k20 = dx*f(x+h, t10, t11, 0);
t20 = y0+0.5*k20;
k21 = dx*f(x+h, t10, t11, 1);
t21 = y1+0.5*k21;
k30 = dx*f(x+h, t20, t21, 0);
t30 = y0+ k30;
k31 = dx*f(x+h, t20, t21, 1);
t31 = y1+ k31;
k40 = dx*f(x + dx, t30, t31, 0);
k41 = dx*f(x + dx, t30, t31, 1);
y0 += (k10+2*k20+2*k30+k40)/6.0;
y1 += (k11+2*k21+2*k31+k41)/6.0;
x += dx;
yreal=sin(x);
yerror=y0-yreal;
>>139の続き

if(fabs(yerror) > maxerr){
maxerr=fabs(yerror);
}
fprintf(output, "%f\t%f\t%f\t%e\n", x, y0, yreal, yerror);
}
printf("maxerr =%e\n",maxerr);
printf("data stored in rungen.dat\n");
fclose(output);
}
double f(double x, double y0, double y1, int i)
{
if (i == 0) return(y1); /* d(y0)/dx */
if (i == 1) return(-y0); /* d(y1)/dx */
}


141136:04/01/10 12:32
>>137 そのソースをコンパイルしてアプレットヴィーワで見たのですが,下記のようなエラーが出て動きませんでした.
public void Table() にしてやってみると、固まってしまいました。。。何がいけないのでしょうか

load: Table.class は public ではありません。あるいは public なコンストラクタを持っていません。
java.lang.IllegalAccessException: Class sun.applet.AppletPanel can not access a member of class Table with modifiers ""
at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
クラスローダがjava.awt.Tableと混同してるんじゃないか?
パッケージ指定するか、名前を変えるかしたら?
>>138
長くなるも何もそのまま1行ずつ対応させるだけだが。
>>141
> public class Table extends JApplet {
> Table(){
>  JTable table = new JTable(10, 5);

の部分を

public class Table extends JApplet {
 public Table(){
  JTable table = new JTable(10, 5);

にしてもダメか?

>>142
java.awt.Table なんてあったっけか?
145142:04/01/10 13:20
…ありませんですた…
146137:04/01/10 13:45
>>141
ごめん、動作確認時に気が付いておきながら、
コピーし直すの忘れてた。

void は当然いらないよ。コンストラクタなんだから。
勘違いして憶えてるかもしれないけど、
public と void は、全然別の目的の修飾子。
147136:04/01/10 13:45
>>144 できました。
public Table()で出来ました
自分、public void Table()とやっていて、ダメだったみたいです。。。
うーん、細かいミスを上手く訂正するには経験なんですかね、一つずつ頑張ります。
ありがとうございました。
148136:04/01/10 13:47
>>146 一つ一つの意味をしっかり確認したいと思います。
ありがとうございました。
149デフォルトの名無しさん:04/01/10 14:15
txtファイルを読み出して、そのなかから特定のキーワードを見つけて
別のキーワードに書き換えてJTextAreaに表示するまではできたのですが、
特定のキーワードだけ色やフォントを変えて表示したい場合
どうすればいいのでしょうか?
150デフォルトの名無しさん:04/01/10 14:24
サーバーサイドのJavaの質問なのですが
web.xml要素の<error-page>を指定して
HTTPのステータスコード404FileNotFound
のとき、指定したエラーページにジャンプさせたいのですが
コンテナが返すそのままのエラーページが出てしまいます。
なんか、他に設定があるんでしょうか?
Tomcat4.1使ってます。
<error-page>
<error-code>404</error-code>
<location>/pageNotFound.jsp</location>
</error-page>
僕の期待する動作は、ユーザがありえないページ指定したときに
指定したエラーページに自動的に飛ぶということです。

もしかして、この<error-page>要素は、HttpServletResponseのsendError(int)で
プログラム内でエラーコードをセットしないと動作しないのでしょうか?
もしそうなら、サーバアプリ全体にフィルタかませて事前にアプリ内の既存ページのリストを記憶しておき
それ以外なら、response.sendError(HttpServletResponse.SC_NOT_FOUND);として飛ばすべきなんでしょうか?
と、思ってやってみたんすけど コンテナが返すエラーコードそのまんまなんですよ。
独自の例外を投げた場合もおなじようになってしまいます。本に載っているように動作しません。
<error-page>
<exception-type>myexception.MotherException</exception-type>
<location>/pageNotFound.jsp</location>
</error-page>

151デフォルトの名無しさん:04/01/10 14:26
>>149
ああ、そのばあいこのあたりを使えばいい
javax.swing.text.JTextComponent;
javax.swing.text.Style;
javax.swing.text.StyleConstants;
javax.swing.text.StyledDocument;
15290:04/01/10 15:51
すいません、スレ違い(若しくは板違い)だったでしょうか?
まだ解決していないのでお願いします。。。
153 :04/01/10 15:59
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
こういう記述よくあると思いますが
InputStreamReaderの前にあるnewって何なんでしょうか?
154138〜140:04/01/10 16:12
>>153
newは指定したクラスのインスタンスを生成する演算子で,
InputStreamReaderは、バイト単位で入力を行うクラスですよ。
155138〜140:04/01/10 16:13
1変数の常微分方程式をルンゲ・クッタ法を用いて
解くためのプログラムの解法例を誰か教えてください。
お願いします。お願いします。
156 :04/01/10 16:24
>>154
ありがとうございます
インスタンス化した場合、InputStreamReaderに対する変数は必要ないのでしょうか?
BufferedReaderに対するin見たいなものです

またInputStreamReaderの代わりにIntegerが入り
new Integer(〜)のような処理をよく見かけるのですが
その場合も括弧内をインスタンス化することで何が出来るのでしょうか?
すいませんお願いします
>>154
> InputStreamReaderは、バイト単位で入力を行うクラスですよ。
「文字」単位ね。
>>155
宿題スレ行ったほうがマシだと思われ。
159138〜140:04/01/10 16:29
>>157
すみません。間違ってました。ありがとうございます。

>>156
間違ったことを教えてしまったみたいですみません。反省します。
本と2chだけで勉強するのは限界があるのでしょうか?
明らかに本のレベルと実際開発するjavaの内容では違いますよね

やはり仕事で使えるようになるのは実際に開発に携わるしかないのでしょうか?
>>156
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(isr);
の省略

int a = 5 + 3
int b = 4 * a;

int b = 4 * (5 + 3); と書いたのと同じようなこと
>>160
プログラマー板
http://pc.2ch.net/prog/
>>156
>new Integer(〜)
Integer のコンストラクタの引数は int (プリミティブ型) 。インスタンスを突っ込むことは出来ない。

1度しか、引数としてしか使わないインスタンスのために、
いちいち変数 (ex. isr) を考えたくないから ( ) を何重にもしている。
美しくは無いが、決まり決まった書き方になることが多いので、
変数だらけで混乱しないで済む。
164デフォルトの名無しさん:04/01/10 16:50
>>161、163
ありがとうございます
>Integer のコンストラクタの引数は int (プリミティブ型) 。インスタンスを突っ込むことは出来ない。

public void sort(int[] a){
DList[] bucket=new DList[m];
for(int i=0;i<bucket.length;i++)
bucket[i]=new DList();
for(int i=0;i<a.length;i++)
bucket[a[i]+min].add(new Integer(a[i]));


これの処理の一番最後のnew Integer(a[i])部分ですが
実際によく使われていると思いますが
これも従来のインスタンス化処理を一つにまとめているだけでしょうか?
>やはり仕事で使えるようになるのは実際に開発に携わるしかないのでしょうか?

開発に携わる、の意味を君はどう捉えているのか・・・
ゲームでも何でも、本に載ってないものを自由に作れば、
それだって「開発」だ。自宅で好きなだけ開発に携わればいい。

それでもなお、就職してすぐ即戦力にはなれないだろう。
しかし何もしてないよりはましなのは当然だ。ただそれだけの話。
>>164
bucket[a[i]+min].add(new Integer(a[i]));

int tmp1 = a[i];
Integer tmp2 = new Integer(tmp1);
DList tmp3 = bucket[a[i]+min];
tmp3.add(tmp2);
と同じこと。

変数名だけ書いたり数字だけ書いたりしても、それは式。
3 、と書けば、一文字こっきりだが、これも立派な式。
式は常に何かの型を持つ。3、は int の型をもつ。
new Integer(4) と書けば Integer。System.in と書けば InputStream。
String str に対して str.substring(0, 8) とメソッドを使えば、そこんところは String の型を持つ。
str の型ではなく、substring メソッドの型が、式の型になる。

メソッドの引数や配列の添え字には、型があってさえいればどんな式を書いてもいい。
数値1桁でも変数一個でも、長ったらしい足し算でもコンストラクタとメソッドを織り交ぜたものでもいい。
j2sdkの最新版、日本語ページからダウソできない。
英語ページからじゃにとだめでしょうか?
>>167
そうですね!
>>168
即レス感謝です〜。。。
>>167
そのうち直るかと思ったんだが、ずっとなのか。
ほんま、日本 Sun やる気無いな。バカなのか、わざとなのか。。。
171170:04/01/10 17:57
ん? ごめん日本 Sun は関係無いか。。。日本語ページも
本国だっけ?
これには深〜い訳があるのです・・・
public class hogeException extends Exception { }

public class app {
  public static void main(String[] args) {
   try {
    int i = 11;
    boolean bl = abc(i);
   } catch (hogeException e) { }
  }
  public static boolean abc(int t) throws hogeException {
   if (t<10) {
   return true;
   } else {
    hogeException he = new hogeException();
    throw he;
   }
  }
}
参考書を見ながら
こんな感じでプログラムを組んでいるのですが、

.java:1: 式の開始が不正です。
public boolean ketaCheck(int i) throws ketaCheckException {
^
というコンパイルエラーが発生します。
どこが、おかしいのでしょうか??

注:上記のプログラムは今回の質問用に作りました。
174173:04/01/10 18:27
すいません。自己解決できそうです。
}の閉じ忘れでエラーメッセージが変わりました。

byteCut.java:251: クラス ketaCheckException は public であり、ファイル ketaCheck
Exception.java で宣言しなければなりません。
public class ketaCheckException extends Exception {
^
175173:04/01/10 18:33
自己解決しました。
駄レス申し訳ない。
176U ◆CZtFsGiu0c :04/01/10 18:55
>>90, 152
>サーバーサイドでBeansを使ってユーザ情報を管理するとき、
>その情報はいつまで保持されるんでしょうか?
>セッションが切れても保持できるんでしょうか?

まず、前提をはっきりしましょう。まずこれはWebアプリケーションのことですか?
それと、セッションが切れて云々は、データをセッションオブジェクトに入れている、と
いうことですか? であればセッションオブジェクトが無効になった後では取り出しようが
ないでしょう。

>また、データをArrayListにしているBeansプログラムを
>幾つかのサーブレットやBeansから見たいときは
>どうすればよいでしょうか?

ArrayListにしているかどうかは無関係ですが、データ保持用のシングルトンクラスを
作るのはよくある方法です。また、場合によっては一時的なデータであってもDBに
保持することもあるでしょう。

17742:04/01/10 20:15
たびたびすみません。43氏の仰った事で考え方はわかるのですが、
具体的にどのように配置すればいいのかがわかりません。
複数addすると、前者が潰されてしまいます。
まったく同じ場所に配置して、なおかつ入れ替えるようにするには
どのようにすればいいのでしょうか。
178デフォルトの名無しさん:04/01/10 20:38
javaでWindowsのexe形式のアプリケーションを作ろうとすれば
どうすればいいのでしょうか?
SDK(?)で作った場合、java クラス名で実行するため、javaコマンドがないと
実行できないです。
179デフォルトの名無しさん:04/01/10 20:40
tomcatでデバックしたい場合、どうすればいいのでしょうか?
デバッガとかあるのでしょうか?
標準出力にも出せないですし・・
>>178
gcj みたいな AOTコンパイラを使うとか JETみたいな製品を使うとか。

http://gcc.gnu.org/java/
http://www.excelsior-usa.com/jetjp.html
>>179
リモートデバッグでもしておけ
>>177
CardLayout でもつかっとけ
ボタンごときに使うほどのものでもないが・・・
ちょいと質問ですが
JavaMailでJISの7bit送信すると機種依存文字化けない?
激しく??とかなるんだが
そもそも機種依存文字を使うのがヴァカだとは思うんだが。
184デフォルトの名無しさん:04/01/10 21:08
あのー、初歩の初歩なんですがJAVAをインストールしてパスを
通して、例文をコンパイルするまでは出来るんですけど
どうしてもエラーになってしまいます。考えられる原因を教えてください
 
>>184
どんなエラー?エラー表示をコピペすれ。
>>183
Sun の JIS のエンコーダの実装は JIS X 0201 とか JIS X 0208 に入ってる文字だけしかエンコードしないと思われ。

機種依存文字使いたければ MS932 とかでエンコードしてから SJIS -> JIS のコンバートするとか、
JDK 1.4 以降で java.nio.charset.Charset を自作するとかしないとダメだと思われ。
>>177
できないのはお前がUnkoなだけなので氏ね

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Unko extends JFrame {
  private JPanel jContentPane = null;
  private JButton jButton1 = null;
  private JButton jButton2 = null;

  public Unko() {
    super();
    initialize();
  }

  private void initialize() {
    this.setSize(134, 122);
    this.setContentPane(getJContentPane());
    this.setVisible(true);
  }

  private JPanel getJContentPane() {
    if (jContentPane == null) {
      jContentPane = new JPanel();
      jContentPane.setLayout(null);
      jContentPane.add(getJButton1(), null);
      jContentPane.add(getJButton2(), null);
    }
    return jContentPane;
  }
  private JButton getJButton1() {
    if(jButton1 == null) {
      jButton1 = new JButton();
      jButton1.setBounds(20, 20, 90, 50);
      jButton1.setText("kuso");
      jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
          jButton1.setVisible(false);
          jButton2.setVisible(true);
        }
      });
    }
    return jButton1;
  }

  private JButton getJButton2() {
    if(jButton2 == null) {
      jButton2 = new JButton();
      jButton2.setBounds(20, 20, 90, 50);
      jButton2.setText("geri");
      jButton2.setVisible(false);
      jButton2.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
          jButton1.setVisible(true);
          jButton2.setVisible(false);
        }
      });
    }
    return jButton2;
  }
}
>>184
いやなんのエラーか言ってくれないとわからないし。
わからないから、誰も教えることもできないよ。
ソースの書き方が、どこか間違ってるんじゃないでしょうかね?

>>178
その手の質問者の希望することの大部分は、
実行可能Jarファイルによって可能になるかも知れませんね。

>>183
どの文字が化けているのか存じませんがこのあたりとか?
http://www.sk-jp.com/cgi-bin/treebbs.cgi?kako=1&all=279&s=279
>>185
そんなのに構うなよ
>>185
いやきっと>>1にある
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
のエラーでも出ているのではないかな。
だとしたら>>1に解決法がリンクしてあるので、
それを読めということで。

コマンドラインからjavacと打ち込むことでコンパイラは起動できたが、
エラーがでてclassファイルを生成できなかったということなのかもしれないが。

まあ概ね、190に同意。
192184:04/01/10 21:57
>>191
ありがとうございます。
193183:04/01/10 21:57
>>186
>>189
ありがとうです!
>>186
自作ですか。鬱・・
>>189
"まるいち"とかですね。

実際何をやろうとしているのかというと
DB(Shift_JIS)機種依存文字が含まれたデータ
→Linux(eucJP)メール送信→windows(Shift_JIS)受信
だったり・・・・・。
194デフォルトの名無しさん:04/01/10 22:06
テキストファイル内にある
1

32
12220

6
を並び替えて
同じファイルに
1
6
32
12220
として空白や" "を抜いて並び替えて書き込むにはどうすればいいのでしょうか?
・エラー内容を書かない
・英数字が全角 (例:JSP)
・アルファベット大文字小文字を間違える (例:Int)
・「○○は正しいはずです」
・「初心者です」

以上は無視推奨
>>194
ファイルの全ての内容をメモリ中に展開して、そこで空白行を除くなり並べ替えるなりした後、
1行ずつ出力すれば?
「ファイルの全ての内容をメモリ中に展開」とか「空白行を除く」とか
「並べ替える」とか「1行ずつ出力」とかが分からんと言うのならそれも聞けばいい。
・ readLine() で読み込むときに trim().length() が0なら無視
・ List型のインスタンス.add( new Integer(読み込んだ一行分));
・ 最後にソート
・ お前才能無い
198デフォルトの名無しさん:04/01/10 22:25
いまだに、ALGOLでがんばってます!

199デフォルトの名無しさん:04/01/10 22:33
>>196
ありがとうございます

「ファイルの全ての内容をメモリ中に展開」したものを「並べ替える」
すいませんこれについて教えてください

配列やvectorなどはsortなどのメソッドあると思いますが
200177Unko:04/01/10 22:40
>187
ありがとうございます。参考になりました
201デフォルトの名無しさん:04/01/10 22:54
IBM JDKというのはどこで手に入るのでしょうか.
よろしくおねがいします.
202デフォルトの名無しさん:04/01/10 22:57
JFrameを他に開いているWindowsのソフトの中で
一番手前に表示させたいのですがどうすればいいですか?
>>199
まあ調べもしない時点であれだけど
一応その真下のレスも見ると良いよ
>202
そのアプリを2つあげて、ウィンドウを重ねられたらどうする気だ?
>>202
目的の JFrame の HWND をなんとかして奪って、
JNI 経由で他の Windows のソフトの前面に出るようにする。

1.3 以前と 1.4 以降で HWND の奪い方が違ったりするらしいので注意すれ。
206デフォルトの名無しさん:04/01/10 23:45
int i = 0

Integer i = new Integer(0);
ではどう違うのでしょうか?

インスタンス化することによってiはどう違ってくるのでしょうか?
>>206
型が違う。
int i は、プリミティブタイプと呼ばれる。
Integer i は、クラスのインスタンスである。

プリミティブタイプはJavaにおける特別な型。これはVMに処理をさせるうえで、軽い。
つまりシステムの負担になりにくいんですね。

ただ、現在のJavaにおいては、一部のクラスではプリミティブタイプは扱えないものがあるので、
そういうときに、Integerタイプを使う。
208デフォルトの名無しさん:04/01/11 00:08
>>207
>ただ、現在のJavaにおいては、一部のクラスではプリミティブタイプは扱えないものがあるので、
>そういうときに、Integerタイプを使う。

これってintを使えない一部のクラスって
自分で定義したクラスとかでしょうか?

sunから用意されている中にも存在しているのでしょうか?
>>195
氏ね
>>208
>ただ、現在のJavaにおいては、一部のクラスではプリミティブタイプは扱えないものがあるので、
これで理解できないのか?
211209:04/01/11 00:20
195さん、間違えました。すみません
>>208
例えば List や Map なんかはオブジェクトでないと中に入れられないので
プリミティブな値はそのままでは扱えない。1.5 から変わるけど。
>>211
やだ
質問。
j2sdkインストール時にCLASSPATHを設定する作業は
C:\j2sdk1.4xxx\binフォルダの中にあるjava.exeやjavac.exeやなんかまでの
道のりをOSに教えてあげること、、、っていう解釈
=OK?
>>214訂正
×CLASSPATH → ○PATH
>>214
>道のりをOSに教えてあげる
どちらかというと「そこ(指定したPath)も見にいけ」
という感じかも
とりあえず間違ってないです。
>>216
>「そこ(指定したPath)も見にいけ」
"も"ってことは他もいろいろ見てるんですね。

とりあえず 速レス dクスです。(・∀・)
まあスレ違いなんだが
>>208
>>206のような質問や>>31のような質問は、けっこう答えるのが手間なんですわ。
基本的な事項のわりには、色々と内包している範囲が広いので、
望むべき回答をしようとおもえば、けっこう数多くのことを述べなければならない。

>>207の回答を読んでも、どこか、はぐらかされたような、
よくわからない印象を受けるかも知れない。
まあ、じっさい回答するべき事項のごく一部だけを答えて、
はぐらかしているわけだが。

たぶんこのスレで質問しても、
満足できるような回答はなかなか返ってこないだろうから、
本でも読むなり、Sunのサイトでも読んで経験を積んだほうが早いってこったね。

あとは違いといえば、 Integer や String などの一部のクラスは、
イミュータブルで、一度、値を設定すると、二度と変更できないという点も。
対して、intは当然のことながら、何回でも値を変更できる。

>>201
たぶんこの辺りではないかな
http://www-106.ibm.com/developerworks/java/jdk/
220デフォルトの名無しさん:04/01/11 01:21
>>197
並び替えの件ですが
試したところ
String yomikomi = "yomikomi.txt";
BufferedReader bf = new BufferedReader(new FileReader(yomikomi));
String s;
List list = null;
while((s = bf.readLine()) != null ){
list.add(new Integer(s));

そのとおり実行したら
NullPointerExceptionになってしまいます
多分List list = nullが問題と思いますが
null以外で初期化するとコンパイルが通りません

教えてください
>>220
・ List型のインスタンス.add( new Integer(読み込んだ一行分));
       ^^^^^^^^^^^^
・ お前才能無い
>>220
listがnullなので当たり前ですが・・・
List list = new List();
で実行したらどのようなコンバイルエラー
が発生するのですか?
>>220
「Listクラス」じゃなくて「List型」つまり「Listインターフェースを実装しているクラス」
ArrayListやVectorなど
>>222
Listはインターフェース。
知らないなら答えるなよ、見てるこっちが恥ずかしいから
>>220
コンパイルが通らないなら、その通らなかったときのエラーを検討して通るようにしてはどうか?
教えて欲しいのなら、その通らなかったときのエラーを書いてはどうか?

nullで初期化したのでは実行できるわけがあるまい。
己は、インスタンスも作られていないlistのaddメソッドを呼び出せると思うたか?
>>220
そのとおり実行してないじゃん。
空行をとばす処理はどうした?
227デフォルトの名無しさん:04/01/11 01:30
>>222
「型Listはインスタンス化できません」
が出ます

VectorやArrayListでも試したのですが
readLineで読み込んだString型の変数をVectorの中に代入できないのです
キャストなどを使ってもうまくいかないし
本当に教えてください
228225:04/01/11 01:30
>>224
いや>>222は分かっていて書いているんだろう。
次スレのテンプレには>>195を入れるべきかのう。
>>222
できる、以上
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/

行って、java.utilパッケージのListインタフェースについて調べてみたら?
>>227
ListにaddするのはreadLineで読み込んだ
String型の変数じゃなくて、コンストラクタにその変数をブチ込んだIntegerだろ?
仮にStringのままとしてもaddできないはずがない、
気が触れていますか?
荒らしは放置で
>>227
>VectorやArrayListでも試したのですが
>readLineで読み込んだString型の変数をVectorの中に代入できないのです

んなこたーない。
225さんのいうとおりエラー内容ぐらい書いてみたらどうですか?
         _
     ≦_ ̄_ ̄─
        ≦_   )
           ̄≡/
            / \\
グォーン    Γ 了/    | |
 グォーン |.@|      | | ッグェァ!!
      /|  |      .人
 .   /  .| R.|      <  >   ∩
   / ミ   .|  .|      .V( 。_ゝ`)/←>>220
   (    ̄ ≧_    //   ・;'/
     ─_  _≧
そんなことよりも
Vectorにいれた奴をソートって・・・、
もっと違う方法ないの?

俺は知らんけど
>>235
Vector に入ってれば、
java.util.Collections#sort(java.util.List) 、
java.util.Collections#sort(java.util.List,java.util.Comparator)
で簡単にソートできますが。
String yomikomi = "c:\\unko.txt";
BufferedReader bf = new BufferedReader(new FileReader(yomikomi));
String s;
List list = new ArrayList();
while ((s = bf.readLine()) != null ) {
  if (s.trim().length() < 1) continue;
  list.add(new Integer(s));
}
Collections.sort(list);
for (int i=0; i<list.size(); ++i) {
  System.out.println(list.get(i));
}

これで満足か?
普通に出来るのでうんこは糞喰って寝ろ
二度と来るな
>>236
それが一番簡単なやり方か?
>>201 なぜIBM JDKなんだろ。もしSunのやつとベンチマークを
とるつもりとかあるんだったら、-Xj9オプションをつけたやつと
つけないやつで結果出すのをおすすめ。
>>238
int[]とArraysでもできるけど、この場合では現実的ではないだろ。
要素数があらかじめ決まっているならそれでもいい。
>>237
>二度と来るな

匿名掲示板のIDなしのこのスレでは
その言葉に何の意味もないので却下
>>241
お口くさーい
243デフォルトの名無しさん:04/01/11 03:12
String name = (String)names.nextElement();
String name = names.nextElement().toString();

namesをStringに変換しなければいけないのはわかりますが
この違いって何なのでしょうか?
両方ともコンパイルとおりますが・・・
>>243
> String name = (String)names.nextElement();
キャストしてるので、names.nextElement() が null か String のインスタンスで無ければ ClassCastException を食らう。

> String name = names.nextElement().toString();
names.nextElement() が String のインスタンスであっても無くても toString() の戻り値を名前として受け取る。
null だったら NullPointerException を食らう。
245デフォルトの名無しさん:04/01/11 03:29
_| ̄|○
すんません、JTextArea上に配置するStringの内容を、
特定のキーワードだけ別フォントで表示したいのですが・・・
キーワードの発見や置換はできるのですが、
肝心な「その場所のだけフォントを変える」ってことができません。
どうやるか、誰か教えてください
>>245
デフォルトのプレーンテキスト表示用テキストエリアで
それやるのはむりっしょ。EditorKit差し替えるとかじゃ
ないかね。
>>244
String#toString()の戻り値がthisであると言うのもヒントになるかも。
>>245
置換は置いといて、フォント変えるのはこんな感じかな。

SimpleAttributeSet sas = new SimpleAttributeSet(jTextArea1.getCharacterAttributes());
StyleConstants.setFontFamily(sas, "Monospaced");
try{
Document doc = jTextArea1.getDocument();
doc.insertString(doc.getLength(), str, sas);
}catch(BadLocationException e){}

StringクラスのgetBytes

プラットフォームのデフォルト文字セットを使用してこの String をバイトシーケンスに符号化し、結果を新規バイト配列に格納します。

バイトシーケンスに符号化ってのを初心者にも理解できる表現にしてもらえないでしょうか?
byte[]
アニメーションのプログラム内の一文に

vx=b[i].x-x;

というのがあったのですが”.”の後ろの”x-x”が何なのかわかりません。
キーワードや識別子じゃないと思うのですが…
変数の式云々というより”.”で繋げるとどういう意味を持つのかを聞きたいです。
初心者なので的外れな質問かもしれませんがよろしくお願いします。
>>251
切るところが違う。

vx = b[i].x - x;

b[i].x から x を引いて、差を vx に代入している。
>>251
vx = (b[i].x) - x;
と読め。
推測で言うなら、bが何らかのクラスの配列型で、そのクラスに
publicなインスタンス変数xが定義されている、そのxとローカル変数xの差を
vxに代入してる、ってところか。
254デフォルトの名無しさん:04/01/11 17:57
Exception in thread "main" java.lang.IllegalStateException: Picking can only wor
k if BranchGroup is alive

こんなエラーがでてしまいました。BranchGroupが有効ではないってどういうこと?
どなたか教えてください
Jakarta HttpClientを利用したいと考えています。
が、外部パッケージを利用したことがないので利用方法が
わからず、コンパイラに「そんなもの知らん」と言われます。

外部パッケージを利用する場合、
・Jarファイルのインストール場所(任意でよいなら一例)
・クラスパスの通し方
・その他注意しなければならないこと
・できあがったアプリを配布する場合の注意

など、教えてもらえませんか。
ちなみに>>255でやってみたこと。

・テストプログラムと同じ場所にJarをコピーしてテスト→NG
・上の状態でクラスパスをコピーした場所に設定→NG

という状況です。
>>256
小出しになってしまってすみませんが、エラーはimport文の
ところで「そんなもの知らん」と言われます。
連投失礼。
258デフォルトの名無しさん:04/01/11 18:13
配列の要素数を返す方法ってJavaでどうやるのでしょうか、
コマンドライン引数の入力個数がバラバラなので(´・ω・`)
>>258
あなた最低ですね
どの辺りがでしょうか?今後のために教えてもらえませんか(´・ω・`)
261258,260:04/01/11 18:21
>>259
ハッそう言うことか・・ありがとうございました
java 配列 要素数 でググれば一番上に答えがヒットするにもかかわらず
そのくらい自分で調べられないようじゃ
今後Javaを続けていくことはできまい。

つまり最低ですね。
263255-257:04/01/11 18:23
http://www.atmarkit.co.jp/fjava/onepoint/java/jv_pkg.html

これでしょうか。検索不足で申し訳ない。
じゃばゎ
悪い子なんです
・Jarファイルのインストール場所(任意でよいなら一例)
→どこでもいい。libとかフォルダを作ってそこにコピーすれば?

・クラスパスの通し方
環境変数CLASSPATHは推奨されていないので、-classpathオプションで明示する。
例えばこう。
javac -classpath .;.\lib\commons-httpclient.jar jp\foo\bar\Buz.java

・その他注意しなければならないこと
HttpClientなら特にないと思う。
同じパッケージの異なるバージョンのjarファイルがクラスパスにあった時にトラブルがあるけど、
まあ大丈夫でしょ。XML関係のライブラリで特に多い。

・できあがったアプリを配布する場合の注意
実行可能jarファイルにする方法が一般的だと思うけど、
そうすると-classpathオプションや環境変数CLASSPATHが無効になる。
同じjarファイルに一緒に入れて配布するとか、実行用スクリプトを用意するとか
する必要がある。
266デフォルトの名無しさん:04/01/11 21:51
この板には親切な人もいるが
ちょと使える様になったと思って初心者相手にチョ-シぶっこいてる
サルが住みついてるみたいですね
今すっごく疑問に思っていることがあるので質問していい?
java.io.RandomAccessFileのgetFilePointer()って、longを返すでしょう。
longで表現しきれない場合はどうするの?
jarのmanifestにClass-Pathって書けるんじゃ?
>>267
javaのlongって64ビットでしょ?
だとするとその値の単位はバイトだから
ぺたのいっこ上(←何か知らない)の
9[それ]バイトまで表せることになるからまあいいんじゃねーの?
>>267
チミは long が何bit あるか調べてから聞いてるんだろうな
ボタンに表示されるテクストやイメージアイコンを変更するメゾットってありますか。
JButton見たんですけどなかったんですが。
>>265
> 実行可能jarファイルにする方法が一般的だと思うけど、
> そうすると-classpathオプションや環境変数CLASSPATHが無効になる。

マニフェストファイルのなかでクラスパスの指定ができるので、それを使うとOK。
ただJarファイルのなかにJarファイルをいれた場合、
中のJarファイルにクラスパスを通すことはできない。

Jarファイルの外にある任意のJarファイルになら、マニフェストファイルでクラスパスを指定しておけばOK
>>271
リゾット食べたくなってきた。
>>272
>中のJarファイルにクラスパスを通すことはできない。

クラスパスは通せないですが
Jarファイルを展開してクラスを読み込むクラスローダを自作すれば
似たようなことはできるので便利。
275デフォルトの名無しさん:04/01/11 23:29
2つの Date クラスについて
何日間隔があるかを知る方法を教えてください。
276217:04/01/11 23:32
>>273
すみません。リゾットってどういうことですか
探してもなかったんですが。
277デフォルトの名無しさん:04/01/11 23:32
Integer i = new Integer(1);
って処理って
1を引数としたIntegerクラスをインスタンス化するで何が出来るのでしょうか?

例えば
int i = 1;などと比べて
プリミティブとか違いはありますが、
実際両方とも数字を扱うと言う点では同じだと思いますが
どういった違いがあるのでしょうか?

int i = 1;
を使わずに
Integer i = new Integer(1);
などインスタンス化しなければ出来ないことってあるのでしょうか?
>>275
適当なやり方でいーなら
(date1.getTime() - date2.getTime()) / (24 * 60 * 60 * 1000)
とか。
>>277
Vectorクラスにブチ込みたい時とか。
>>277
> 1を引数としたIntegerクラスをインスタンス化するで何が出来るのでしょうか?
java.util.Vector#add(Object) とかに整数値をつっこんだり、
java.lang.reflect.Method.invoke(Object,Object[]) に int のかわりにつっこんだり。
>>276

     _,∩_         _,∩_           _,∩_
    (_____)ゝ、     (_____)    y     (_____)
    / :: :: :: ヽ 〉     /-‐:: ::‐-ヽ /       / :: :: :: ヽ
   _./ (・ )ll(・ ) ∨     _/  0) i! 0) ∨      _/ ( ・)i!(・ ) ゙、_
 // :: :: ∈ゝ :: ::ヽ   // ::  ‐-‐ :: ヽ    //  :: ー一 :: ヽ\
. ゝ/:: :: ::  :: :: ::ヽ  ゝ/ :: ::  ::  :: :: ヽ   ゝ/ :: ::  ::  :: :: ヽく
   ̄ ̄ | ̄ ̄ | ̄ ̄     ̄ ̄ | ̄ ̄ | ̄ ̄     ̄ ̄ | ̄ ̄ | ̄ ̄
       |     |             |     |             |     |
    ⊂!     !つ        ⊂!     !つ        ⊂!     !つ

おしえてあげないよ
ジャン
>>277
>>206以降
283デフォルトの名無しさん:04/01/11 23:49
>>279
ありがとうございます

と言うことは
引数をIntegerでインスタンス化するのは

Vector v = new Vector();
v.addElement(new Integer(value));

みたいにその引数をperseIntなどではVectorに代入できないから
代わりにIntegerを使ってると言うことでいいのでしょうか?
基本的にみんながIntegerのインスタンスを使うのはそういった理由でしょうか?
284貧乏紙:04/01/11 23:51
>>272
JButton(Icon icon)で作ったアイコンの画像を変更するの?
メソッドがない以上はアイコン(画像)の数だけボタンオブジェクトを作って
そのオブジェクトを差し替える感じじゃない?
その、ボタンオブジェクトごとの動作(アクションリスナー)は別のメソッドを作るなりして
それを同期化すれば。。。
別にしなくてもいいけど。
>>283
「ラッパクラス」なんかでググって勉強してこい。
その方がはやい。
286貧乏紙:04/01/11 23:54
272じゃなくて271でした。
リゾットって食い物だぞ。。。
それから、271よめぞっとで変換してカナになるか?
メソッドならなるよ。意味わかる?
>>283
っていうか、「引数をIntegerでインスタンス化」ってなんなんだ?
>>287
その辺の日本語は急いで書いたので流してください
あまり意味はないです

method
>>283
そこで parseInt が出てくる理由がわからんが。
Vector に代入ってのもおかしいな。置換するわけじゃないんだから。
せめて追加といいなさい。

引数をインスタンス化するんじゃない。
インスタンスしか引数に出来ないから、数値をインスタンスに包むんだ。

Vector をはじめとする List 、あるいは Map などはオブジェクト(インスタンス)しか扱えないの。
int は数値だから扱えない。Integer は Number のサブクラスであり、
Number は数値を情報として持つクラス。

トラックに荷物を積むとき、箪笥(幅奥行き高さの数値情報を持つ)を積んだり、
「4」とでっかくかいた紙(数値情報をもつ)を積んだり、何かを4つ積んだりはできるが、
4そのものは積めない。おわかり?
例えるなボケと言われそうだが例えてみた。
291デフォルトの名無しさん:04/01/12 00:30
String型のtoken[0]の中身が"1 2 3"であったとして,
token[1]の中身が"3 4 5"だった場合に,
二つのorを取って
新たなString型の"1 2 3 4 5"とする簡単な方法はないでしょうか?

token[0],token[1]を空白文字で分割して,
2次元配列を使って比較していこうかと考えているのですが
もっと良い方法があったら教えてください。
>>291
2次元配列? うーん
俺だったら、StringTokenizer に通してそれぞれ Integer になおして、
TreeSet か何かに突っ込んだ後 Iterator でもっかい += で拾い集める。
数値の並び方、量、token[0]、token[1] への入り方の条件にもよるが
293デフォルトの名無しさん:04/01/12 00:34

クラスのインスタンス化(引数なし)って
そのクラスのメソッドを使わなければ意味がないのでしょうか?
コンストラクタもメソッドだ。

public Hoge() {
 System.exit(0);
}

こういうこともありうる。こんな設計する馬鹿はいないと思うけど。
>>293
意味不明
コンストラクタはメソッドじゃないです、一緒にする考えが分からない
>>291
出てくる値の種類が極端に少なかったら、こういうやり方もある。
boolean[] flags = new boolean[10]; // 9 までしか出てこないとして
//false で初期化
//parseInt か何かで解釈
flags[i] = true;
//for で回して true のとこだけ文字列に追加
>>296
馬鹿には馬鹿への法の説き方がある
>>295
クラス名1 c = new クラス名1();
とあって
cは何のためにクラス名1でインスタンス化したの?
>>299
クラス名1 の型をもつ変数には、
クラス名1かそのサブクラスしか参照させられないから。
他に理由あるか?
なあおまいら、>>293から>>299が連想できるか?
まずもってインスタンス「化」と言うところに何となく誤解を感じる。
あ、わかった。C++ の経験者かな?

クラス名1 c;

この状態ではインスタンスは生成されていない。
値不定だ。それでも無理に参照するなら、null だ。
>>292 >>297
即レスありがとうございます。
参考になりました。

305デフォルトの名無しさん:04/01/12 01:11
メールの使うのに
JavaMmailのmail.jarにクラスパスを通しているのですが
これのAPIというかJavadocってどこに行けば載っているのでしょうか?

教えてください
>>303
それだったら C++ の

  クラス名* c1 = new クラス名();

との対比でわかるはずだから
そんな高尚な輩ではなかろう。

単にオブジェクト指向がわかってないだけと見た。
>>307
やはり英語しかないのですか・・・
>>308
技術関係の英語ページなんて、
それなりにプログラミングできればすぐ読めるようになる
310デフォルトの名無しさん:04/01/12 02:38
>>309
ありがとうございます
というのも
ttp://www.asahi-net.or.jp/~ge3m-hsmt/mPages/jap/jmSMTP.html
このサイトのソースで

import javax.mail.*;
にすればコンパイルも通って正常に実行されますのですが

ワイルドカードを指定しなくて
それぞれを直接importしようとしたら
import javax.mail.Message.RecipientType;
で「これは決して使用されていません」と出てコンパイルが通りません

msg.setRecipients(Message.RecipientType.TO,to);
それでここが「Messageは解決できません」というエラーになります

msg.setRecipients(Message.RecipientType.TO,to);
のコンパイルエラーを除くにはワイルドカードをなければ実際には何をimportしてるのでしょうか?
よろしければ教えてください
>>310
RecipientType は Message のインナークラスだから、
Message を import すればよい
>>310
ありがとございます
解決しました
313255-257:04/01/12 03:25
>>265
丁寧な説明をありがとうございました。アプリ配布のときに
また疑問が出るかもしれませんが、とりあえずテストして
みます。

>>268
もうちょっと具体的に説明してもらえると助かります。

>>272
ありがとうございます。参考にしてやってみようと思います。
とりあえず相対パス指定で使えないかテストしてみます。

>>274
そこまでスキルがないので、その案は無理ぽかもです。

遅くなりましたが、ありがとうございました。
Javaサーブレットをある程度マスターしたいのですが
やさしいJava→初体験Javaサーブレット
と読んだのですが次は何を読めばいいでしょうか?
>>314
人の書いたソース
>>314
完全自殺マニュアル
>>314
賭博破戒録カイジ
318デフォルトの名無しさん:04/01/12 03:45
>>314
http://www1.ocn.ne.jp/~ongen
これのVを全問正解しろ
>>318
ワロタ
>>296
>>298
コンストラクタは立派なメソッドです。
ちなみに、内部的なメソッド名は"<init>"です。
>>318
問10が僕には解けません
>>320 言語規定上、「メソッド」と「コンストラクタ」が分かれている
以上、別物というしかないよね。実装はどうあれ。
ソース

<B>問題5 メソッドの修飾子についての説明でア〜エの中から正しいものを選びなさい。</B><br>
<br>
<input type="radio" name="R5" value=0>ア abstractは抽象メソッド。<br>
<input type="radio" name="R5" value=0>イ finalはオーバーライドできるメソッド。<br>
<input type="radio" name="R5" value=0>ウ staticは動的メソッド。<br>
<input type="radio" name="R5" value=1>エ publicはどこからでも呼び出せないメソッド。<br>




答え 正しいものは「publicはどこからでも呼び出せないメソッド」
同じく

問題6 クラスの修飾子についての説明でア〜エの中から正しいものを選びなさい。
ア finalは継承できるクラス。
イ finalは継承できないクラス。
ウ abstractはインスタンス化できるクラス。
エ publicすべてのクラスから参照できないクラス。

答えは エ らしい・・・
<input type="radio" name="R6" value=1>エ publicすべてのクラスから参照できないクラス。<br>
問題11もひどいんだけど
この資格は俺には取れそうにないや
>>325
「System。」

まる?
>>327
ソースを見るとsynchronizedらしい
パスワードはpctokです。
ひどいな。きみら。
いくら適当な資格でっちあげて金儲けをたくらんだサイトとはいえ。
問題14 次のプログラムの空白部分に当てはまるものをア〜エの中から選びなさい。
class moji {
  public static void main(String [ ] args ) {
   char box = 'あ';
   int pctbox = box;
   System.out.println(    );
  }
 }

<input type="radio" name="R14" value=1>ア box<br>
<input type="radio" name="R14" value=0>イ ptcbox<br>
<input type="radio" name="R14" value=0>ウ 'あ'<br>
<input type="radio" name="R14" value=0>エ moji<br>

イ、ウじゃダメな理由はなんだろう?
>>332
イは typo
ウは知らん
334デフォルトの名無しさん:04/01/12 12:59
こんな資格があったのね
おいおい、一部訂正されてるぞw
でも、多分ここ見て焦って直したんだろうなぁ
相変わらず間違いがあるけど
つーかこれで16点以上って、ダメじゃん
ちゃんと答えられるのは15問まで、それ以外は問題の間違いか勘が頼りだし
要するにまともに答えられるような奴だと
あとで逆に揺すられかねないと思ってるのかもしれない
合格するまでねばっこくやる馬鹿捕まえた方がいいつー
>>327
読点につきましては
あえて目立ち分かるように
作らせて頂いておりません。
339デフォルトの名無しさん:04/01/12 14:49
TextAreaの幅・高さを動的に変化させたいのですが、どうすればいいですか?
setSize()を呼んでも、大きさが変わらないです。
何か呼び出しが足りないんでしょうか。
>>339
setBounds
341339:04/01/12 15:03
自己解決しました。
init()部でsetSize()を呼んでるのが原因でした。
342136:04/01/12 18:27
人のソースで失礼なのですが
ttp://www.tetras.co.jp/yada/j_swing_jtable_r.htm#RowHeader

こちらのJTableの列の固定化というのを使いたいのですが
ソースをコンパイルしてアプレットヴィーワしても、動きません。
どうコンパイルしたら動かせるのでしょうか。

また、ページについているアプレットの実行で出てくるアプレットなのですが
列の見出しとセルがずれているのですが、これはSWINGの限界ですか?

変な質問すいませんが、よろしくお願いします。
>>342
うーむ、確かにこのままコンパイルしても動かないね。これでどうよ?
ttp://up.isp.2ch.net/up/953225b086d9.zip
>>342
htmlのソースもあまりよくないなあ。
あれでは、一部のブラウザでは1.2のVMを入れていないと動かないよ。
貴方に言っても仕方ないんだけど。
345デフォルトの名無しさん:04/01/12 20:23
Object o = new String();
↑この場合、=の右ではオブジェクトの宣言がされてると認識しているのですが、
左では何が宣言されてるいるのでしょうか?

>>345
一から勉強し直し。
>>345
イコールの右ではStringクラスのインスタンスを生成している。
これを宣言とはいわない。

宣言はイコールの左側。
左ではObject型の変数oを宣言している。

まあnew String()など使う機会は滅多にないとはおもうが。
>>343
見たかったのに消されてる。・゚(゚ノд`゚)゚・。
349345:04/01/12 21:05
>>346
まじっすかぁ〜

>>347
どうもありがとうございます。
宣言とか生成とかあまり意識してなかったので、
これから気をつけようと思います。

ちなみにですが、
左っかわの宣言では、「このオブジェクトにはこういうメソッドがありますよー」
って意味合いが含まれていたりはするのでしょうか?
インタフェースとかを使用してると、そういう風に感じたりするのですが。
350343:04/01/12 21:33
>>348
またアップしといた。急げ!
ttp://up.isp.2ch.net/up/e682084f6bdb.zip
351255-257:04/01/12 22:20
とりあえず、以下のような感じでテストしてみた
ところ、実行可能Jarファイルの状態で動作可能の
ようです。

テストディレクトリ→ %Java開発用ディレクトリ%\test
コンパイル→java -classpath commons-httpclient-2.0-rc2.jar test.java

テストディレクトリの内容
test.java test.class test.jar manifest.txt
commons-httpclient-2.0-rc2.jar

jarファイルの作成→jar -cvfm test.jar manifest.txt *.class

マニフェストの内容
Main-Class: test
Class-path: commons-httpclient-2.0-rc2.jar
352255-257:04/01/12 22:21
上の続き:テストソース
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;

public final class test
{
  public static void main(String[] args)
  {
    try
    {
      URI uri = new URI("http://www.2ch.net/index.html");
      System.out.println("URIのインスタンスを生成しました");
    }
    catch(URIException e)
    {
      e.printStackTrace();
      System.out.println("URIExceptionが投げられました");
    }
    GetMethod  gm = new GetMethod();
    System.out.println("GetMethodのインスタンスを生成しました");
  }
}
353255-257:04/01/12 22:21
GetMethodのインスタンス生成でLoggingクラスの例外が
スローされますが、コンパイルと実行は問題ないようです。
あとはAPIドキュメントを見ながら作ってみようと思います。
ありがとうございました。
354デフォルトの名無しさん:04/01/12 22:59
-Xprofを取ると35%くらいがjava.io.FileOutputStream.writeBytesに
費やされているんですが、速くする方法はありますか?
355鈴木健一郎 (NT4.0/2000/XP) ◆sp/LMLJ4M. :04/01/12 23:06
今、GUI の部品を beans として作っているんですけど、これって
Look&Feel の設定に応じた例えば Windows ライクな描画とか Solaris ライクな描画とか、
これ全部設計側が用意しなくちゃいけないんですか?

全部システムがやってくれるような描画方法なんて……あるわけ無いですよね?
他にまかせる
>>354
J2SE1.4が使えるならNew I/O APIを使うと速くなるらしい。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/nio/index.html
こんな比較もある。
ttp://www.mit.msn.to/filereadwrite.html
358デフォルトの名無しさん:04/01/12 23:15
IBM JDKってどこにあるんですか?
>>358
僕達の心の中に・・・
360358:04/01/12 23:23
IBM JDKの法が正規表現の機能がいいのですが。
361デフォルトの名無しさん:04/01/12 23:24
windows98です。ヤフーのオークションで詳細な残り時間をクリックするとJAVA PLUG-INがJRE衝突を検出と表示され残り時間が表示されないのですが・・・。
>>358
このスレのどこか
363デフォルトの名無しさん:04/01/12 23:28
361です。言い忘れました。JAVA PLUG-IN1.4.0_01 is not installed properlyとうのも表示されます。
364デフォルトの名無しさん:04/01/12 23:30
363・・・とう→というのも
>>361
ヤフーのヘルプ
366鈴木健一郎 (NT4.0/2000/XP) ◆sp/LMLJ4M. :04/01/12 23:35
>>361
Java の実行環境(JRE)をちゃんと入れなおす。
367デフォルトの名無しさん:04/01/12 23:37
361.j2sdkは入れてます
きっとウソ
369貧乏紙:04/01/12 23:45
>>355
OSに合わせたLook&Feelがほしいの?
ならAWTで書けば?
重いからダメ?
SystemクラスのgetPropertiesメソッドで引数をos.nameで指定するとOSのシステム名が
出てくるからそれでUIManagerのsetLookAndFeelでwindowsにるなりMetalにするなりMotifにでもすれば?
>>369
javax.swing.UIManager#getSystemLookAndFeelClassName() 使ったほうがよさげ。
371デフォルトの名無しさん:04/01/13 00:36
TextAreaに大量のテキストを入れたとき、上のページから下のページへ
マウスドラッグによる選択はできるのですが、下のページから上のページへ
選択することができません。
1ページ分選択したところで止まってしまいます。
仕様でしょうか?
372デフォルトの名無しさん:04/01/13 02:59
すいません、JDKをインストールするには、95MBくらいのデータを落とすしかないんですか?
もっと軽くでOKなのはないのでしょうか?
>>372
ネットワークインストールってなかったっけ?
ナローバンドならネットカフェでも使って落とすとか。
374デフォルトの名無しさん:04/01/13 03:43
>>373
ごめんなさい、ネットワークインストールって何ですか?
>>373
ネットワークインストールも、結局落とすデータのサイズは変わらないと思うんだが、どうだろ?
回線が細いなら、雑誌の付録CDを利用するというのもあり。
JavaWorldとかJavaDeveloperあたりについてるよ。
376デフォルトの名無しさん:04/01/13 08:58
すいません、質問させてください。

double a,b;

for(a=0.0;a<=4.0;a=a+0.1){
 for(b=0.0;b<=4.0;b=b+0.1){
  繰り返し計算過程
  
  ps.println(a+"\t"+b+"\t"+g);
 }
}
として、ファイルにa,b,gを書き込むプログラムを作ったのですが、ファイルに書き込まれた内容が
1.4 0.30000000000000004 4
1.4 0.4 48
1.4 0.5 92
1.4 0.6 8
1.4 0.7 52
1.4 0.7999999999999999 96
1.4 0.8999999999999999 12
1.4 0.9999999999999999 0

とおかしなものになってしまいました。
解決法がありましたら指南お願いいたします。
377デフォルトの名無しさん:04/01/13 09:23
記念カキコ
378デフォルトの名無しさん:04/01/13 09:26
>>376
全て整数でやってそれぞれ10倍にする
書き込む時だけ浮動小数点数にして1/10にする
どうしても十進小数でやりたきゃBigDecimalしろってこった
380376:04/01/13 09:50
>>378-379
なるほど、やてみまっす。
ありがとうです〜。
381デフォルトの名無しさん:04/01/13 11:19
IBM JDKってどこにあるんですか?
ぐぐっても英語なのでダウンロードページにたどり着きません
英語くらい自分で読め
途中で登録必要だがそこまで読んでやれないぞ
>>381 >>201-
つーか、なんども聞いてるけど同じ人? URLも貼り付けてもらってるのに。
あと、>>358-360 で正規表現うんぬんいってるけど、IBM JDK1.4.0って
そのあたりのライブラリはSunのそのままじゃなかったけか。
IBM alphaworksにある正規表現ライブラリと勘違いしてない?
385鈴木健一郎 (NT4.0/2000/XP) ◆sp/LMLJ4M. :04/01/13 13:00
質問。

ダイアログなんですが、JDialog のインスタンスって
表示するのは .show() ですよね? じゃあ、
用が済んだんで閉じたいときのメソッドはどれですか?
>>385
.dispose()
387デフォルトの名無しさん:04/01/13 14:02
質問です。

現在WEBにてファイルアップロードの仕組みを作っています。
Struts1.1を使用しているのですが、
問題がありまして、ファイルアップロードをするとメモリが大量に消費されてしまいます。
1GBをあげると、サーバ上のフリーメモリが約1GBへります。

サーバ上に上がったときにメモリに溜め込んでいると推測したのですが、
ちがってますでしょうか?
あってるとすれば、改善方法はないでしょうか?
>>385
show()はヒスイ章になるぞ
389鈴木健一郎 (NT4.0/2000/XP) ◆sp/LMLJ4M. :04/01/13 14:17
>>385
ありがとう御座います。便乗で申しわけないのですが、
ここでまた問題が起きてしまいました。

と、いうのもダイアログ中でタイマー(org.netbeans.examples.lib.timerbean.Timer)を
使っているのですが、ダイアログを閉じたときにタイマーのスレッドが死んでくれないんです。
デバッガで見ると timer.stop() で止まってしまっているようです。
この場合はどうやってタイマーを停止させたらよいのでしょうか?

教えて君ですみません。
>>349
>左っかわの宣言では、「このオブジェクトにはこういうメソッドがありますよー」
>って意味合いが含まれていたりはするのでしょうか?
うんまあそういう風に考えていいとおもう。
貴方はオブジェクト指向の本質的なことをおぼろげながら把握している。
>>345のような質問をしている割には筋がいいよ。

まあ、このスレにいる
intとIntegerについて延々質問しているやつと比べればではあるが。
>>389
そのTimerクラスについて知らないので不正確なことしか言えないけど、
ダイアログが閉じられるときにイベントが派遣されると思うので、
それをあらかじめ作っておいたリスナーでキャッチして、
そのTimerを殺す処理をすればいいのでは?

// いや、そのTimerの殺しかたについて質問しているのかな?
// だとしたらごめん
>>349 >>390
>左っかわの宣言では、「このオブジェクトにはこういうメソッドがありますよー」
>って意味合いが含まれていたりはするのでしょうか?
なんか違うと思うが。ほんとにこの言葉のまま理解してるなら、クラスや変数の扱い方に誤解がある。

「左っかわの宣言」だけでは、「このオブジェクト」の「この」に当たるものが未だ無い。
少し正確に言うと
「今後のどの時点でも、『この』変数が参照している『現時点で未知の』オブジェクト(インスタンス)には、こういうメソッドがありますよー」
となる。もっと正確に言うともっと長たらしくなる。
393デフォルトの名無しさん:04/01/13 18:17
コンパイルし直した後でも再起動しなくていい、Servletエンジンって無い?
Tomcat, resin, その他.
>>393
JBoss + Tomcat。war だけデプロイしなおせばいい
Tomcat 単体は無理だったかも
あ、Tomcat できるのか 失敬
397デフォルトの名無しさん:04/01/13 18:49
>>394-396
Tomcat 4.1系だと、メソッドやフィールド追加したりすると同期とれ無くない?
あと、シングルトンの中に持ってたりすると、スタティックフィールドの値変えてもダメだし。
"再起動"がコンテナ自体なのかウェブあぷなのか、
touch web.xmlすれば前者は避けられるが。
>>397は後者をやろうとしてる?
399デフォルトの名無しさん:04/01/13 19:06
>>398
後者ウェブあぷ単位でだね。
SDKのバージョンを上げるときはみなさんどうやってるんですか?
>>400
アンインストール後インストール。
開発環境だのの設定し直し。以上。
402デフォルトの名無しさん:04/01/13 21:32
SwingのJListBoxの項目数を取得する方法を探しています。
getLastVisibleIndex()を使っているのですが、これだとFrameの初期化途中でまだリストボックスが可視化されていないと、項目があるのに-1が返されてしまうようで、代案を探しています。

あるいはgetLastVisibleIndex()を使ってうまくやる方法もあるのでしょうか。
>>402
やりたいのはこういうこと?
JList list = new JList(new String[]{"( ´∀`)", "( ゚Д゚)", "<ヽ`Д´>"});
int size = list.getModel().getSize(); // 3が代入される
404402:04/01/13 22:23
そういうことです。
モデルをゲットしてからそのサイズを計る、というやり方ですね?
ありがとうございます。
405349:04/01/13 22:52
>>390 >>392
丁寧なご説明たいへん感謝しております。

たしかに、「このオブジェクトにはこういうメソッドがありますよー」
これではおかしいかもしれませんね。

たしか 
Object o = new Object(); は、

Object o; //宣言
o = new Object(); //値のセット
の短縮された書き方だったんですよね。

そう考えると、納得できます。

はぁ・・・なかなかむずいですね・・。
406デフォルトの名無しさん:04/01/13 22:56
教えてください。
アプレットで自作クラスを呼び出す場合、codebaseに直接クラスを置く以外は
archive=でjarファイルを読み込む方法しかないのでしょうか?

また、servlet(tomcatを使用)ではウェブアプリケーションの /WEB-INF/lib/*.jar
を読み込むようですが、こちらもそれ以外の方法(任意の場所からクラスファイルを読み込む)は
ないのでしょうか?
407デフォルトの名無しさん:04/01/13 23:02
Web製作板とどっちで質問するか迷いましたが、とりあえずこちらで。
Java Appletって最近は下火なのでしょうか?
Web用のコンテンツをフリー配布できるようになりたいと思い、
インタラクティブなコンテンツ作成をJava Appletで行おうと思ったものの
中規模な書店にAppletの書籍が置いてなかったりします。
フリーな環境下でアーカイブ化できる分、Flash等よりフリー配布に
向いてると思うし、一応JSPやらサーブレットやらを作るJavaプログラマなので
スキル的に作りやすいという利点があるのですが、
そもそもその分野が必要とされてないなら目指す意味もないですし。
どうなんでしょう?
>>407
クライアントの環境をそろえられるイントラでは
いくらか使われている。
インターネット上では Flash に大敗。
>>400
俺はバージョンが異なるプロジェクトを4つ並行開発してるから、JDK は4つ入れて
Eclipse の -vm で切り替える。IE のプラグインと JAVA_HOME は最新に設定。
410407:04/01/14 00:19
>>408
うーん、そうなのですか。
確かにアプレットで見かけるのは殆どお絵かき掲示板ぐらいだし。
Flashは学生の時に学割でMXを買ったけどどうも好きになれないなあ。
結局良いコンテンツを作り、知られることが出来るのが重要なのだから
アプレットで頑張ってみようかな。
>>410
マイクロソフトがSun JVMの実装を拒否したでしょ。だから
新品出荷されるPC(WindowsXP)にはJVMが入ってない。
入ってないものは実行できない。

MSIEが8割以上のシェアを持っていて、そのほとんどに
JVMがのってないか、Verの古いMS JVM(Swingなし)
という現状では、一般向けにアプレットを作るのは徒労
でしかないよ。

せいぜいやるとしたらJava Applicationのほうがまだマシ
かもね。
>>411
> マイクロソフトがSun JVMの実装を拒否したでしょ。
実装? WindowsUpdate による提供じゃなくて?
それにマイクロソフトが、だっけか?
裁判所で仮処分命令云々とかやってなかったっけ?

> 新品出荷されるPC(WindowsXP)にはJVMが入ってない。
メーカによっては WindowsXP プリインストール PC に
Sun の JVM 入ってるよ(Dell等)。

> せいぜいやるとしたらJava Applicationのほうがまだマシかもね。
何で Java Web Start が出てこんのだ…
413横槍すまそ。:04/01/14 06:09
>411-412
そろそろYahooチャットみたく動作条件に「JREをインストールすること」
というのを書いちゃってもいいんじゃないかなぁ・・・と思ってたりしてます。
デフォルトで動くことを前提にJava1.1の制限された機能内で開発する
のがバカバカしく思えてきてる今日この頃。。。
とりあえずアプレットつくるやつはJavaPlugin前提にしてほしいぞ。
そうすればJREが入ってない環境では自動的にSunからJRE持ってきて
インストールしてくれる。flashと同じだ。
表現が正確じゃないか。アプレットをhtmlから読み込むときに<applet>タグ
じゃなくて<object>や<embed>をつかえばJavaPluginが入っていない環境
でもブラウザがSunからJavaPluginとJREを持ってきてインストールしてくれる。
だから >>411-413 みたいに「IEのデフォルトがMSVM」ってのに縛られた話をする
必要はないんだけど、アプレットの配布の話のたびに同じ話してるよね。
417デフォルトの名無しさん:04/01/14 10:20
質問、と言いますか、ご指南お願いします。
読み込んだgif画像を、上から10ドットずつ、縦ワイプっぽく順々に描画する
以下のようなプログラムを書いてみたところ、これがどうにも遅いのです。
このプログラムを高速にするには何をしたら良いでしょうか?



//インデックスカラーのピクセルデータ作成
int iw = mainimg.getWidth(this);
int ih = mainimg.getHeight(this);
PixelGrabber pg = new PixelGrabber(mainimg, 0, 0, iw, ih, false);
try{ pg.grabPixels(); }
catch(InterruptedException e){}
byte pixels[] = (byte[])pg.getPixels();
byte after_pix[] = (byte[])pg.getPixels();
IndexColorModel icm = (IndexColorModel)pg.getColorModel();

//10ドット単位で縦ワイプ
for(int line = 0;line < (ih - 9); line += 10){
for(int i = iw * line; i < iw * (line + 10); i++){
after_pix[i] = pixels[i];
}
image = createImage(new MemoryImageSource(iw, 10, (ColorModel)icm, after_pix, line * iw ,iw));
bg.drawImage(image, 0, line, this);
paint(this.getGraphics());
}
418417:04/01/14 10:22
ありゃ、タブはそう言えば2chじゃ使えないんだっけ・・・
見難くて申し訳ないです。
419デフォルトの名無しさん:04/01/14 10:45
XSPとCocoonの組み合わせてなんかやってる記事が載ってる雑誌か書籍ってある?
XML Press Vol5以外希望。
1. BufferedImage なら任意の点に setPixel できる。
2. MemoryImageSource を使うなら、setAnimated(true) して、
  色(もしくはパレットのインデックス)を変えた後、newPixels すれば、
  Observer (ex. Graphics を持つ Component) が勝手に再描画する ... はず。
  MemoryImageSource の API Doc 参照のこと。

どっちも君のやり方よりは早いと思う。
エロイ人はもっといい方法を知ってるかもしれない。
421417:04/01/14 13:36
>>420
ありがとうございます。
とりあえず教えて頂いたやり方を試してみまする。

public class ClassA {
  public static String hello( String mes ) {
    return( "hello " + mes );
  }
}

とあって、

Class a_class = Class.forName( "ClassA" );

としたとき、
a_class を使って、ClassA の hello() メソッドを呼び出すにはどうやればいいでしょうか?

423デフォルトの名無しさん:04/01/14 15:15
>>411
> >>410
> マイクロソフトがSun JVMの実装を拒否したでしょ。だから
> 新品出荷されるPC(WindowsXP)にはJVMが入ってない。
> 入ってないものは実行できない。
oi,、そこでJavaWebStartに加えてなんでGetJavaのことがでないのかと
小一時間(ry

自動ダウソ自動インスコくらい簡単にできるようになっとるというのに。
>>422 Class クラスの API ドキュメント嫁
ほんで getMethods と Method と invoke 嫁
425422:04/01/14 15:36
>>424
なるほど、バッチリです。
ありがとうございました。
426デフォルトの名無しさん:04/01/14 17:25
1桁の数値も2桁にして表示する方法を教えてください.
NomberFormatというのが怪しいのですが.
或る文字列が文字列の配列に有るか判定する関数は無いですか?
>>426
怪しかったら試すべし

>>427
Arrays#binarySearch
縛りがあるようだからよく読むべし
java.text.NumberFormat format = new java.text.DecimalFormat( "00");
System.out.println( "2桁表示 : " + format.format( 1));
430デフォルトの名無しさん:04/01/14 19:00
>>429
ありがとうございます
質問です。
<script language = "javascript">
<!--
function Mouse_Over(elem, clr)
{elem.style.backgroundColor = clr;
elem.children.tags('A')[0].style.color = "#ffffff";
elem.style.cursor = 'hand'}
function Mouse_Out(elem, clr)
{elem.style.backgroundColor = clr;
elem.children.tags('A')[0].style.color = "#EEEEEE";}
function Mouse_Up(path)
{location.href = path;}
function Mouse_Click(elem, clr)
{elem.style.backgroundColor = clr;
elem.children.tags('A')[0].style.color = "#ffffff";}
//-->
</script>

↑マウスが乗った時にセルの色を変えるJavaScriptですが、こやつを呼び出すのに
<td bgcolor=#ffffff onMouseDown="Mouse_Click(this, '#0099FF')"
onMouseUp="Mouse_Up('#')" onMouseover="Mouse_Over(this, '#0099FF')" onMouseout="Mouse_Out(this, '#ffffff')"></td>
こうしております。 thisとはこのタグが書いてあるページへのリンクです。
document write='タグ' か document write="タグ" のようにして外部jsファイルに埋め込みたいと思ってます。
そこで「"」を消して''で統一しようとしたものの、
onMouseUP="○○"の [”]これを消してしまうとエラーが返ってきてきます。
document write""内にいれてこのJavaScriptを正常に動かすにはどうしたらいいんでしょうか?
長レス&わかりにくい説明ですみません(´・ω・`)
はい。。。ものすごく誤爆してました(つД`)逝ってきます・・・
433デフォルトの名無しさん:04/01/14 22:56
サーバーサイドjavaを学ぶためのスレってどこですか?
探しても見つからなくて困ってます。助けてください。
>>433
http://pc2.2ch.net/tech/subback.html
jsp か servlet で検索しる
435407:04/01/14 23:02
まずはアプレットを色々作ってみることにします。
公開する気になったら>>416のサイトを参考にしてみます。
ありがとうございました。
java 2 SDK Standard Edition 1.4.2_03をダウンロードしようとしてもうまく表示されないのですが自分だけなのでしょうか? 
438348:04/01/14 23:19
>>350
遅レスですが、348を登校したあと再度アクセスしたらダウソできました。
ありがとん。
439436:04/01/14 23:25
既出すいません&ありがとうございます。
初心者ですいません。セッションってなんですか?
session.setAttribute("ID",id)でIDとか入れると現在接続しているブラウザ以外では
見れないんですか?JVMの中ではどうやって区別してるんですか??
442デフォルトの名無しさん:04/01/15 00:03
アプレットで、

円の中に5個の円を描く。
さらにそれぞれの円の中に5個の円を描く
それを5回繰り返す

って言うのがどう書いたらいいか全くわからないです。
どなたか助けてください。
>>441
アリガトン
↑画像を用意しといてdrawImage...解決。
445デフォルトの名無しさん:04/01/15 00:11
教えて君で、すいません!

javaの環境設定を教えて下さい。
参考書を見てるんですが、もうひとつ(;;)

ダウンロード、インストール、パスの設定(怪しいかも、ですが)、

で、ms-dosプロンプトで入力すると、「ファイル名が違う」などと

表示が!

よろしく、お願いします。
446445:04/01/15 00:14
osはwin98です。
>>442
円をどうやって描けばいいのかぐらいは分かってるよな?
それを5個に増えても大して変わらないのは分かるよな?
大きい円に対して小さい方の円の半径とそれぞれの中心をどうしたらいいかは
 プログラミング以前の問題だから別にここで教えなくてもいいよな?
 つーかそのルールは君しか知らないわけだしな?
じゃ、あとは「再帰」だけ調べてがんばんなさい

>>445
10箇所くらい本だのサイトだの見て、問題をしぼってくれ
>ダウンロード、インストール、パスの設定
>ms-dosプロンプトで入力
そのどれが間違ってても「ファイル名が違う」と出るであろう
初心者の方へ

質問する前にもっと問題を分割してください。
>>442
フラクタル?宿題すれにゴー。
それかぐーぐる先生に"java フラクタル 円"。

>>445
 >>1
>>442
学校の宿題は俺にやらせて下さいver.1.1βfor Java
http://pc2.2ch.net/test/read.cgi/tech/1065599192/l50
451445:04/01/15 00:51
>>447

「関連付け」の設定方法を、教えて下さい。

>>451
氏ね
》ネット番長w初心者には強いこというなw
>>451
Java がこの世に存在しなくても、
あなたのいう「関連付け」はこの世に存在するでしょう
何が言いたいかって?

板違いじゃボケェ!!!
つか それ以前に方向性を見失ってるんだな
何がしたいのやら
そうか?設定上、必要だろ?それに、ここで質問してる以上、ここ関するに質問だろ(笑?板違いじゃないだろうに、何をムキになっての?カッコワルイヨ
>>456
お前いつもの奴と同じだろ
いてものヤツってどいつだよって話だが、漏れは、いつもここには書き込んでないので違う。
459442:04/01/15 01:28
ありがとうございます。
460451:04/01/15 01:41
不用意な質問だったようで失礼しました。
何分、素人、初心者の独学で何かと不明なことが多く、
>>447 >>448で質問を詳細にとのことでしたので、
現在、わかる範囲の理解、語彙で質問してみました。
が、不用意、要領を得ていない質問だったようで、失礼しました。
関連HP、本など読み、勉強します。
Tomcat4.1.27+struts1.1の環境です。
例外処理でスタックトレースを例外表示のJSPに出したいと思っています。
どうすればスタックトレースをJSPに表示するのでしょうか?
調べたのですがよくわからないです。よろしくお願いします。
462デフォルトの名無しさん:04/01/15 09:31
JDBCでデータベースのテーブルの一覧を取得することってできますか?
463sage:04/01/15 10:27
>>461
web.xmlに例外発生時に表示するページの設定がある。
request.getAttribute("キーは忘れた")で
Exceptionオブジェクトを取得できるはずなので、
JSPWriterにスタックトレースを吐き出せばよい

>>462
システムテーブルを取得するSQLを投げる
int型からBigInteger型に変換するメソッドとかってないんでしょうか?
逆はあったのですが、、、
>>462
java.sql.DatabaseMetaDataを使う。詳しくはここを。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/sql/DatabaseMetaData.html
ttp://www02.so-net.ne.jp/~kikuta/jdbcnote/jdbc5_6.html
JDBCドライバによっては使えないものもあるので注意。
ただし、この方法なら463のと違ってどのDBでも同じ手法で可能。
>>464
APIをよく読め。
BigInteger.valueOf(long)
引数はlongだがint指定できるよ。
>>461
>>463
"org.apache.struts.action.EXCEPTION"ですた。

ここ読むまで気づかなくてExceptionHandlerのサブクラス内で自分でセッションに入れてた・・・
468464:04/01/15 13:07
>>466
おお!ありがとうございます。やってみます。
469464:04/01/15 13:13
できました!ありがとうございました。
>>456
泣くなよ。ほら、ハンカチ貸すから涙拭けって。
秋葉で拾ったハンカチだけど
471デフォルトの名無しさん:04/01/15 18:12
      __,,,,,,
         ,.-'''"-─ `ー,--─'''''''''''i-、,,
      ,.-,/        /::::::::::::::::::::::!,,  \
     (  ,'          i:::::::::::::::::::::;ノ ヽ-、,,/''ー'''"7
      `''|          |:::::::::::::::::::::}     ``ー''"
        !       '、:::::::::::::::::::i
        '、 `-=''''フ'ー''ヽ、::::::::::/ヽ、-─-、,,-'''ヽ
         \_/     ヽ--く   _,,,..--┴-、 ヽ
                     ``"      \>
472デフォルトの名無しさん:04/01/15 19:48
Runtime#execで実行した子プロセスとデータのやり取りをするには
どうすればいいのでしょうか?
>>472
java.lang.Process#getInputStream()、java.lang.Process#getOutputStream() 経由とか
特定のポート経由でやり取りするとか。
ありがとうございます。
ちょっとやってみます。
475デフォルトの名無しさん:04/01/15 20:46
C:\eclipse\workspace\Servlet\DataImput.html
C:\eclipse\workspace\Servlet\WEB-INF\classes\Servlet.class
というディレクトリがある場合

DataImput.html
から
Servlet.classを表示させるのにはどうすればいいのでしょうか?

具体的には
<form action="Servlet/DataImput" method="POST">
このactionに何を入れても「ページが見つかりません」が表示されます
476デフォルトの名無しさん:04/01/15 20:49
TextFieldに入力された文字列を取得するためにgetText()
を使ったらNullPointerExceptionが発生しました。
TextFieldには文字列が入力されているし、インスタンス化されています。
考えられる原因は何でしょう?解決するにはどうしたら良いと思いますか?
477デフォルトの名無しさん:04/01/15 20:50
C:\eclipse\workspace\Servlet\DataImput.html
C:\eclipse\workspace\Servlet\WEB-INF\classes\Servlet.class
というディレクトリがある場合

DataImput.html
から
Servlet.classを表示させるのにはどうすればいいのでしょうか?

具体的には
<form action="Servlet/DataImput" method="POST">
このactionに何を入れても「ページが見つかりません」が表示されます
>>477
xml次第だから死ねば?
>>476
どこで起きたエラーかも特定できない、あるいは
NullPointerException発生したという事実を受け止められないお前は死ねば?
480貧乏紙:04/01/15 22:34
>>478
xmlでservlet要素のマッピングができるなら、自分で解決できるはず・・・
<form action="Servlet/DataImput" method="POST">
のactionの意味がわかっていないのでは?
そもそも、servlet自体を知らないのでは?
なら、servletの本でも買って読まないとあれもできないこれもできない君に
なっちゃうよ。
配備記述子の必須要素とかwebスコープの範囲とかわかる?
特にservletではプログラム書く前にきっちり勉強しないと。。。
Imput
482デフォルトの名無しさん:04/01/15 23:30
JSPを表示させると
org.apache.jasper.JasperException
ってエラーが出ますが
これって何のエラーでしょうか?
>>481 >>4 にも指摘してやれ。
>>480
あなたのいうservletの本とはどういうのを指してるのだ?
たとえば所謂「基礎から〜」や「はじめての〜」にはマッピングなど載っていないぞ

それを見ながらファイル名だけを変えたとかなら考えられる
おまいら、教えてください。

AWTでの文字列表示するとき1文字ごとに1ピクセルずつ間隔を開けたいんだけど
やり方を知っている人いますか?

今はこんな感じで実装しています。

public void paint(Graphics g) {
 String[] chars = "ほげほげ".split("");
 int x = 0;
 int y = fm.getAccent();
 for (int i=0; i<chars.length; i++) {
  g.drawString(chars[i], x, y);
  x += (fm.stringWidth(chars[i]) + 1);
 }
}

fmはFontMetricsのインスタンスです。

static なメソッドで自身のクラス名を取得するにはどうしたらいいのでしょう。

>>486
Graphics2D の Glyph 関係に何かあるかもしれん(よくしらん)
でもその方法で十分だと思う

>>486
class Hoge {
 static void hage() {
  Hoge.class.getName();
 }
}
488486:04/01/16 10:45
>>487
ありがとうございます。
コード中にクラス名を書くことからは逃れられないのですね。
>>488
逃れられないというか、逃れる必要がないというか。
>>488
自分でコードのしょっぱなに

class Hoge 〜

て書くんだから同じこと(書き間違いはまた別だが)。
491486:04/01/16 11:54
>>489
しかし、タイプミスで別のクラスの名前を書いてしまう危険性はあるのでは?
その場合、そのクラスが存在すれば、なんのエラーも出ないので、
実行してなんらかの問題が出るまでタイプミスは発見できないことになる。
>>491
コンパイル・実行する前に精査する権利が君には与えられている。
* と / 間違ったって、実行まで気が付かないのと同じこと
493486:04/01/16 12:45
>>492
そういうことですか。了解しました。
質問なり

if文の中で
switchは使えるでしょうか

あと、確認なんですが
switch内のbreak;は
switch{}だけを抜け出す命令ですよね?

教えていただきたい。
>>494
深いところから脱出するにはラベル付きbreakを使えばよい
>>494
> if文の中で switch は使えるでしょうか
if( Expression ) Statement
の Statement の位置でなら switch は使える。Expression の位置では無理。

> switch{}だけを抜け出す命令ですよね?
ラベル無しの break の場合は break を取り囲む do, while, for, switch のうち最も内側のものから抜け出す。
ラベル付きの break の場合はラベル付きの文から抜け出す。
eclipse使うと
便利すぎて逆に勉強には向いてないって本当でしょうか?

importとかも何も考えなくても出るし
その辺はコンパイラを無事通すための勉強であって
プログラミング等に必要な勉強にははるかに遠いから大丈夫
499デフォルトの名無しさん:04/01/16 22:23
server.xmlとweb.xmlの
それぞれの役割を教えてください
500デフォルトの名無しさん:04/01/16 22:24
何かしたいので難題をください
>>500
eclipseやJBuilderよりも便利なフリーのIDEを作ってください
期限は半年
>>500
俺に金をくれ
>>500
VM で動く VM
しかもちゃんとその VM でそれ自身が動くように
>>501
netbeans
>>503
http://www-124.ibm.com/developerworks/oss/jikesrvm/
500じゃないけどもっと面白い問題にしろよ〜
505デフォルトの名無しさん:04/01/16 23:49
すいません前も質問したのですが
回答がなかったのでもう一度質問します

Error: 500
JSPの内部エラー
org.apache.jasper.JasperException: Unable to compile

って何が原因なのでしょうか?
506デフォルトの名無しさん:04/01/16 23:50
>>505
あぁそれね。
24hシコリ続けたら直るよw
Java初心者です。
ttp://buzooimg.curio-city.com/curio-buzoo/users/yurinbohimeayu/img/13051.jpg
のようなものを作りたいのですが、どなたか考えて
コマンド教えて下さい
m(_ _)m
509貧乏紙:04/01/17 00:21
>>505
HTTPのエラーコード500は確かに内部エラー(プログラムのバグ)だが、
org.apache.jasper.JasperException: Unable to compile
だけじゃわからんよ。
そのソース晒してみ。
質問!
MessageFormatで指定するパターンについてなのだけど
javadocのマニュアルにある「opt」って何??
StringPart opt とか SubformatPatternPart optとか
わかる方おながいします
511510:04/01/17 00:28
javadocのマニュアルじゃないな
すべてのクラス (Java 2 プラットフォーム SE v1.4.0) 、ね
# 一般的にみんななんて呼んでるんだ?
512デフォルトの名無しさん:04/01/17 00:41
フリーのネイティブコンパイラってないの?
513デフォルトの名無しさん:04/01/17 00:43
JPanel panel = new JPanel(new FlowLayout());
panel.add(p);
panel.add(p1);
panel.add(p2);
panel.add(p3);
panel.add(p4);
panel.add(p5);
panel.add(p6);

myContainer.add(panel, BorderLayout.CENTER);

パネルp~p6を縦に配置させたいんですけどどうしたら良いですか?
>>513
BoxLayout
BoxLayout.Y_AXIS
>>512
GNUのGCJとか(あんまり知らないけど
ここはサドが多いjdk1.5.0ですね
517デフォルトの名無しさん:04/01/17 01:23
jdkにあるソースみてたら
scanってのがあったんですが
これはどういうものでしょうか?
>>510
> StringPart opt とか SubformatPatternPart optとか
Java言語規定にも使われている構文規則の表記法。

以下を参照すれ。
http://www.y-adagio.com/public/standards/tr_javalang2/grammars.doc.html#151185
520510:04/01/17 02:17
>>519
助かった!
ありがd
521デフォルトの名無しさん:04/01/17 03:00
LineNumberReaderを使った時

LineNumberReader in = new LineNumberReader(new BufferedReader(new FileReader(yomikomi)));
String s;
while ((s = in.readLine()) != null ) {
System.out.println(in.getLineNumber());
}
だと正常に何行目かを出力してくれるのですが

BufferedReader Bf = new BufferedReader(new FileReader(yomikomi));
LineNumberReader in = new LineNumberReader(bf);
だと正常にはカウントされずに0が羅列されます

どうしてでしょうか?
違いは一つか二つに分けているかの違いだけだと思いますが
それはズバリ、Bfがbfになってるからだ。
>>521
> BufferedReader Bf = new BufferedReader(new FileReader(yomikomi));
> LineNumberReader in = new LineNumberReader(bf);
宣言されたのは Bf で、コンストラクタの引数は bf
常識的に考えればコンパイルエラーになると思われ。
そんなのわかってます。
揚げ足を取らないでください。
525デフォルトの名無しさん:04/01/17 03:14
ごめん
一つ目の例題をコピーしてここで
二つ目の例題を書いたからミスった

実際には両方ともbfです
事故解決しました
>>521
二度と来るなと言ったろ、unkoフェチ
528デフォルトの名無しさん:04/01/17 03:27
質問です。
スクロールペインに、選択した画像を表示し、大きい画像でもスクロールできるようにしたいのですが、
画像(正確には画像サイズ)を変更しても、スクロールできる幅が変わってくれません。
スクロールペインに付加したもののサイズはどうやってスクロールペインに認識させるのですか?
手順は以下のようにしました。
  まず、スクロールペイン に キャンバス を add。
  次に、キャンバスのサイズを、選択したイメージのサイズに合わせる。
  そしてキャンバスに drawImage() で画像を表示。
  描画の更新はキャンバスの repaint();

スクロールペインを repaint() してみても無理だったんですけど、
これアプレットに乗せてるんですが、 resize() メソッドでアプレット全体のサイズを変えると
ちゃんとなりました。ですが、これが正攻法ではないでしょうし…
どうかお願いします。長文すみません。
スクロールペインをvalidate。

それか画像がずっと同じなら
>>  次に、キャンバスのサイズを、選択したイメージのサイズに合わせる。
>>  まず、スクロールペイン に キャンバス を add。
この順。
レスどうもです。
validate() : 格納したコンポーネントの検証。
これですね。ありがとうございました、試してみます。
>>508
宿題スレいけ
532デフォルトの名無しさん:04/01/17 10:56
Windows日本語版のJ2SE v 1.4.2_03 のダウンロードがずっとコケてて
落とせません。どこか他から落とせますか?
http://java.sun.com/j2se/1.4.2/ja/download.html

日本人にはJavaを開発させないぞ、という陰謀なのでしょうか?
>>532
このスレを読み直せ。特にこの辺>>167-168
534デフォルトの名無しさん:04/01/17 11:16
>>533
全然参考にならないんですけど、、、age続けてもいいの?
英語版でいいと思うよ
>>535
ありがとうございます。エラーメッセージとかが英語のままなだけで、
日本語は普通に扱えますよね?
537デフォルトの名無しさん:04/01/17 11:49
DBの任意のテーブルから
レコードをひろって、csvに吐き出す処理をしてるんですが
区切り文字はコンマでいくと、
レコードの値にコンマが入ってたら区切り位置がずれちゃうので、
値をダブルクォートで囲むことにしました。
ただ、レコードの値の中にダブルクォートが入ってた場合は
どうしたらよいのでしょうか?

アドバイスお願いします。
>>532
Sun にとっては日本語サイトはどうでも良いのです。
直す気はさらさらありません。
>>537
シングルクォートで囲めば?
英語版、日本語版なんかあるのか? まったく同じじゃないの?
>>537
ダブルクォートを2個にする(だったと思う)。空のカラムは囲まない。
CSVの仕様にはCSV1とCSV2がある。MSのエクセルが吐くCSVが
事実上の標準なのでエクセルで作成してみてCSVで吐いて確認しる。
542537:04/01/17 12:05
>>538
あっ単純にそれだけで良いのですか!?
ありがとうございます。

そうすると、
ダブルクォートの前にシングルクォートがきた場合は
「'"」→「''"'」
こうすればよいのでしょうか?
なんかいろいろ考えてたら深みにはまっちゃって。
もうしわけないですが、その辺も教えていただきたいです。
543537:04/01/17 12:17
>>541
なるほど!
そういう手段もあるのですか。
よく考えたらそうですね、エクセルで作ってはいてみたらいいんですよね。

ありがとうございます。
>>540
同じ。英語サイトから落としても日本語使える。
俺もここで質問していいですか?
546質問アゲ:04/01/17 18:03
JavaアプリをWindowsのサービスに追加したいんだけれど、
どうすればいいんでしょう?

お客さんに「再起動後はログインしておいてください」って言うのは
カッチョ悪いよなぁ。。。
Javaアプリは、Cとかとは違って、javaコマンドでしか動かせないんだから、
javaコマンドごとサービスに出来ない限り、無理じゃないの?
549546:04/01/17 20:41
>>548
ありがとうございます。ソースから手繰って作りますです。
550sage:04/01/17 23:20
TomcatでNativeMethodをたたくサーブレットを作っているのですが
java.lang.UnsatisfiedLinkError: メソッド名
と出てInternalServerErrorになってしまいます。

なお、同じ方法でコンソールアプリケーションではうまく呼び出せてます。
作成したdllは\windowsに放り込んであります。
OSはWindows(XP Professional)です

どなたか解決法を教えてくださいませ。
お願いします。
551sage:04/01/17 23:25
ちなみにTomcatのバージョンは4.1.29です。
(Apacheとの連携も4.1.29だと一筋縄だといかないらしいので、
バージョンのせいもあるかもしれないっす。)
>>550
%CATALINA_HOME%\bin に setenv.bat 作って
set JAVA_OPTS=-Djava.libary.path=c:\windows
ってかいておいたらどうよ。
553550:04/01/17 23:43
>>552さま
だめっした。dll自体の認識はうまくいっているようです。
c:\windowsにdllがあるときとないときとでエラーメッセージが
変わりますので。具体的には以下のようになります
あるとき:java.lang.UnsatisfiedLinkError: メソッド名
ないとき:java.lang.UnsatisfiedLinkError: no dll名 in java.library.path
JAVAでASCIIコード(数値)を文字に変換するのはどうすればよいでしょうか?
例)
  数値48 ⇒ '0'
  数値65 ⇒ 'A'
>>554
int i = 48;
char c = (char)i;

i = 65;
c = (char)i;
>>550
UnsatisfiedLinkErrorがどこで出ている?
dllのロードはプロセスで一度でいいんだが。

リロードされたクラスから自分がリロードされたかどうかを
クラス内だけで知るすべはないから、
ロードのエラーは無視してnativeだけ呼び出せばいけると思うんだが。
557550:04/01/18 00:44
>>556さん
Native Methodを呼ぶところで発生してます。
dllのロードはJNIの定義してあるクラスのstaticブロックでしてます。

558550:04/01/18 00:54
Errorのトレースを書かせてもらいます。
_stopというのが作ったNative Methodです。

java.lang.UnsatisfiedLinkError: _stop
util.PortIO._stop(Native Method)
util.PortIO.(PortIO.java:23)
util.PortIO.getInstance(PortIO.java:41)
util.PortIOAction.(PortIOAction.java:26)
servlet.KeijibanServlet.init(KeijibanServlet.java:33)
javax.servlet.GenericServlet.init(GenericServlet.java:256)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:805)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:696)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
java.lang.Thread.run(Thread.java:534)

よろしくです。
559554:04/01/18 01:06
>>555
ありがとうございます。
560550:04/01/18 01:23
はう、
解決しました。今まで、デフォルトパッケージでやってたのに、急にパッケージ名
をつけたため、NativeMethodにたどりつけなかったようです。

みなさんありがとうございました。
561デフォルトの名無しさん:04/01/18 01:42
Javaプログラムから、UNIX上でのファイルのパーミッションを
取得することは可能なんでしょうか?
rwxrwxr-- みたいに、自分だけでなくグループやその他のユーザの
権限を取得したいのですが。

ご存知の方がおられましたらアドバイスお願いします。
Java が Windows や Mac 上でも動くことを考えると
File#canRead や File#canWrite で取れる情報以上は取れないだろうなあ
563デフォルトの名無しさん:04/01/18 02:03
ここにいらっしゃる皆さんのおかげで、無事に卒業論文の提出がまかり通りました。
1週間で作ったへたれゲームですが、俺のゼミでプログラム組んだのは俺だけなので、大丈夫だと思います。

でも、完成する事ができたのは、ここのおかげです。ありがとうございました。
>>561
・標準APIだけじゃ無理。

1.JNI経由で取得するか、JNI経由で取得する既存のライブラリ(JConfigとか)を使う。
2.java.lang.Runtime#exec() で必要なパーミッションを出力するプログラムを動かして、
 出力を解析して情報を得る。
3.諦める。

どれでも好きなのをどーぞ。
じゃあ3で
>>563
何か殊勝なこと言ってるけど、こんな使えない学生は卒業させないでほしいもんだ。
大学としても早く追い出したいのはわかるけどさ。
>>563
_| ̄|○
568デフォルトの名無しさん:04/01/18 06:21
web.xmlってマッピング以外でいじるところあるのでしょうか?
>>563
_| ̄|○ >_| ̄|○>_| ̄|○ >_| ̄|○ >_| ̄|○ ・・・・
>>563
デスマーチ・・・
_| ̄|○ >_| ̄|○>_| ̄|○ _| ̄|○ >_| ̄|○>_| ̄|○ >_| ̄|○ >_| ̄|○ ・・・・
571貧乏紙:04/01/18 09:35
>>568
いっぱいあるけど。。。
listenerのlistener-class使わないとイベント処理できないし、
security-constraintの子要素でリソースの範囲とかロールの設定とか
error-pageはsendErrorメソッドと違って任意のページを表示できるし
あと、servletの初期値で
context-paramとservletのinit-paramとかも使う。?。?・・
572デフォルトの名無しさん:04/01/18 09:38
ディレクトリのリストアップをするAPIみたいなのありますか?
573561:04/01/18 09:50
>>562
>>564

561です。
やっぱ標準APIじゃ無理ですか。
あきらめようかな・・
アドバイスどうもです!
>>572
File#listFiles() とかで取ってきた後に File#isDirectory() が true なものだけ選り分けるとか、
File#listFiles(FileFilter) で File#isDirectory() が true なものだけを選り分けるような FileFilter を突っ込むとか。
575デフォルトの名無しさん:04/01/18 10:12
>>574
ありがとうございます!
576デフォルトの名無しさん:04/01/18 10:15
>>574
ありがとうございます!
>>575
どういたしまして

>>576
氏ね
BigInteger型の数をファイルに書き込むためには
どうすればいいんでしょうか?
>>578
んなこと
java.ioのdocよんで解決せれ
580デフォルトの名無しさん:04/01/18 16:39
J2SEダウンロードサイト
http://java.sun.com/j2se/1.4.2/download.html

ダウンロードできるリンクが二つになってる。
後者の32bits/64bitsに両対応した1.4.2_03をダウンロードすればいいだけ?
なんで1.4.2_02が残っているのだろう?


Download J2EE v 1.4 with J2SE v 1.4.2_02
J2EE 1.4 SDK for Windows/Linux/Solaris SPARC

Download J2SE v 1.4.2_03
32-bit/64-bit for Windows/Linux/Solaris SPARC
32-bit for Solaris x86
漢字コード(数値、SJISコード)を該当する漢字文字に変換する方法はありませんか?
582580:04/01/18 16:48
クリックしてみたら
さらにダウンロード選択肢が現れた・・・。
結局32-bitとと64-bitが独立してた・・・・。
>>581
そのままchar型に変換。
char c = 10;
とか。
Shift_JIS使っているときはさらに面倒なことが。
JIS auto detectで検索

JavaではなるべくUnicode(UTF-8)を使いましょう。
あるオブジェクトの複製を作りたいのですが

Hoge a = new Hoge();
Hoge b = a;

としてもうまくいきません。

aの変数を変えるとbの変数も変わっているようです。

どうしてこのような事になるのでしょうか。
参照値という物を勉強した上でclone()
>>583
> JIS auto detectで検索


> JavaではなるべくUnicode(UTF-8)を使いましょう。
587デフォルトの名無しさん:04/01/18 17:53
マッピングなどで使うweb.xmlはマッピングの設定がされていれば
TOM-CAT内のWEB-INFに必ずなければならないのでしょうか?

588584:04/01/18 17:54
自己解決しました。

すいませんでした。
意味不明
590584:04/01/18 17:56
>>585
コンストラクタをオーバーロードしたんですけど
そちらのほうも調べてみます。

ありがとうございました。
>>590
意味不明。君、頭大丈夫?
592デフォルトの名無しさん:04/01/18 18:27
メソッドって引数の順番って関係あるのでしょうか?
優先順位とかオーバーロードとか
聞きかじった単語を並べるだけの質問はご遠慮願います。
>>593
本気ですが
それとも荒らしでしょうか?

メソッドの引数の順番は処理上、関係あるのでしょうか?
>>592
> メソッドって引数の順番って関係あるのでしょうか?
> 優先順位とかオーバーロードとか
どーゆー関係を想定してるのかわかんない。
>>591
public Hoge(Hoge hoge){ ... }
とかゆーコンストラクタを追加したんじゃないの?
>>595
特に特別な想定はしてないです
javaのソースを書いていて、ちょっと疑問に思っただけです
>>597
んじゃ、引数の順番が「関係ない」というのはどーゆー状態だ?
>>598
method(String s ,int i);

method(int i,String s );

は同じメソッド?全く別のメソッド?
>>599
別のメソッド。

っつーか、同じメソッドになる言語なんてあんのか?
601584:04/01/18 18:51
>>591
説明が足りませんでしたか。

「引数なしのコンストラクタと
コピー元を引数に指定したコンストラクタを用意して、

コピー元を引数に指定したコンストラクタのほうで
変数を一つ残らずコピー元の変数で初期化しました。

しかしあまりスマートな方法ではないので
clone()も調べてみます。」

という意味です。OK?
>しかしあまりスマートな方法ではないので

そういう問題じゃないと思うよ・・・
603578:04/01/18 19:28
解決しました。
>>601
なぜスマートで無いの? JDK にコピーコンストラクタはいくらでもある。

String( String )
HashMap( Map )

clone にシャローコピーは任せてディープコピーを自分でやっても
良いけど、コピーコンストラクタとどっちが良いかは(ry
>>601
ワラタ
606デフォルトの名無しさん:04/01/18 19:48
ある文字数より少ないString型wordに対し、不足分を" "(全角空白)で補いたいのだが、

for(int i = n - hoge.length();i < n;i++)
word += " ";では上手く行かない。

Web検索ワードが難しく、StringBufferedクラスの解説ばかり見つかる。
サクっと実現方法と理由を教えてくれ。
for(int i = n - hoge.length();0 < i;i--) word += " ";

もしくは

for(int i = hoge.length();i < n;i++) word += " ";
>>607
ごめんなさい、書き込みミスをしました。
for(int i = n - hoge.length();i < 0;i--)
で行っています・・・
・・・
・・・
ゴメン、比較演算子が逆向いていたよ・・・
一人解決スマソ
>>599
ある数からある数をひいた答えを出すメソッドが必要になったとき、
それでどうやって設計できるというんだ?
610デフォルトの名無しさん:04/01/18 22:11
GUIでボタン配置するときに座標で位置をするにはどうしたらよいですか?
>>610
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = frame.getContentPane();
pane.setLayout(null); // ここ重要
JButton button = new JButton("hoge");
button.setBounds(10, 30, 100, 30); // ボタンの座標とサイズ指定
pane.add(button);
frame.setSize(300, 300);
frame.setVisible(true);
お聞きしたいことがあります。
Swingで(applet、AWTも一緒だと思うのですが)
ボタンなどのレイアウトをBorderLayoutやFlowLayoutに設定した時は
配置はそのレイアウトに沿って表示されますよね。
FrawLayoutの時、その時GUI部品のサイズはこちらで決めたいのですが
何か方法ないでしょうか。
ボタンなどは表示する文字の長さで大きさが変わるのは承知しているのですが
width,heightを指定して細かく決めたいのです・・・・
ご指導の方宜しくお願いします。
>>612
JComponent.setPreferredSize(Dimension preferredSize)
とても早いレス、有難うございます!感激であります。
615612:04/01/18 22:26
すみません。↑612です。
616610:04/01/18 22:29
>>611
ありがとうございます
大したソースじゃないのにJ2SEでのコンパイルにやたら時間がかかる。
これって単に自分のマシンが貧弱なだけ?
>>617
常駐型のウィルスチェッカオフ。特にディスクアクセス全部チェックしてるやつ。
619デフォルトの名無しさん:04/01/18 22:53
String型のカンマ区切り文字列を、
String型の配列に格納したいのですが、
簡単にできるよい方法はありませんか?
>>618
ありがとうございます。
ウィルスチェッカのオフはどうすればよいのですか?
いろいろ聞いてすいません。
>>619
String str = "a,b,c";
String[] strs = str.split(","); // ["a", "b", "c"]
>>621
そんなメソッドあったのかー。これが最短かと思ってた。
String str = "a,b,c";
String[] array = (String[]) Collections.list(new StringTokenizer(str, ",")).toArray(new String[0]);
>>612
Flow以外のレイアウトを使うか、nullレイアウトでウィンドウサイズが
変わるごとに自分で再計算してせこせこ配置するかで。
>>622
1.4から加わったメソッドだ。
未だに1.3で動いてるところでは使えないから注意。
Xerces-J 2.6.0/JDK1.4.2を使ってXMLの操作を行っています。
DocumentBuilderFactory#setValidating(true)を行い、
DTDで妥当性検査を行っているのですが、
Document生成時には検査が行われているようですが、
Nodeオブジェクトの操作時に(removeChild等)再検査を行うには
どのような方法がありますか?

具体的にいうと、フレームワーク側でxhtmlからDocumentを取得して検査をし、
業務ロジッククラスにDocumentを渡して操作してもらうのですが、
この場合に何でも追加できてしまって困っていました。

どうか教えてください。宜しくお願いします。
GUIプログラムでのイベント処理においてなんですが

public void keyPressed(KeyEvent e) {
   switch (e.getKeyCode()) {
     case KeyEvent.VK_UP : 処理 break;
         ~~~~~~~~~~~~~~~~~
   }
}

KeyEvent.VK_UP のままだとコンパイルと通りますが
~~~~~~~~~~~~~~~~~の部分を e.VK_UP にしてコンパイルすると
「定数式が必要です。」とエラーが出てしまいます。
これはどういう意味なのでしょうか?

ちなみに switch文をif文に切り替えると
KeyEvent.VK_UP 、e.VK_UP ともにコンパイルは通ります。
>>626
staticフィールドはインスタンスに属するのではなく
クラスに属するものだから・・・・と適当ぶっこいてみるてすと。
>>626
caseは、intしか取れない
static finalな定数は、インライン展開される
インスタンスの実行時型は、コンパイル時には決まらない
case のラベルは定数でなければならない。

インスタンスを通してアクセスする値は final であっても
定数とみなされない仕様だから。
630626:04/01/19 01:04
>>627-629
なるほど理解しました。ありがとうございます。
631デフォルトの名無しさん:04/01/19 01:16
KeyListenerを実装したんですが、
Error: static でない メソッド getKeyCode() を static コンテキストから参照することはできません。
って出てくるのですが、何が悪いのでしょうか?

正直自分で書いてることがあんま良くわかってないのですが・・・
>>631
static void f(){
evt.getKeyCode
}
こーいうことだったらstaticとりなさい
>>620
それは君の使ってるソフトによって違う。
初心者板へごー。
>>631
よくわからないうちは public static void main(String[]) メソッド以外 static を使わないことをお勧めする。
635デフォルトの名無しさん:04/01/19 01:49
>>632>>634サンクスですが、staticはつけてないです。
public class Sample implements KeyListener{

public static void main(String []args){
}
public void keyPressed(KeyEvent keyEvent) {
}
public void keyReleased(KeyEvent keyEvent) {
}
public void keyTyped(KeyEvent keyEvent) {
}

}
こんなかんじなんですが・・・
エラーのでてくるメソッドの中身を全部書いたら?
637612:04/01/19 02:45
>>623
アドバイス有難うございます。
自分も最初はNullLayout+SetLocationを使って部品を張っていたのですが、
急にタブを使うことになりまして、レイアウトを使うことになったのです。
またNullLayoutを使っていたときはWindowのサイズが変更されたときに
呼び出されるリスナがわからず(WindowListenerじゃないんですよね・・・)
困っていました。
今回は>>613様に教えていただいたメソッドを使い、パネルサイズを固定して
その中にこれもまたサイズ固定したボタン、テキストフィールドを足し、
FlowLayoutで解決できました。

今回は解決したのですが、もしよろしければこれからの為にWindowサイズが
変更された時に呼び出されるリスナを教えていただけないでしょうか。
宜しくお願いいたします。
638いまぢん ◆aIiv0vVIvc :04/01/19 03:47
はじめまして。

MP3を再生させたい場合、どのクラスを使用すればできるのでしょうか?
教えてください。
639 :04/01/19 04:40
アプリログの記録に、クラス名、メソッド名を記録するのですが
現在動いているクラス名、メソッド名を取得するような方法はあるでしょうか?
いちいちメソッドごとに文字列を用意しておくのはめんどくさいので・・・。
640デフォルトの名無しさん:04/01/19 04:48
Class
>>639
J2SE 1.4 以降だったら
new Throwable().getStackTrace()[0]
で得られるかも知れんが、お勧めはしない。

個人的には
> アプリログの記録に、クラス名、メソッド名を記録するのですが
を止める事をお勧めする。
642デフォルトの名無しさん:04/01/19 07:16
>>641
ではどうやってどの処理が走ったのかを記録すればいいのでしょうか?
>>642
どの処理が走ったかを記録するのにクラス名やメソッド名は必須ではないと思われ
644デフォルトの名無しさん:04/01/19 09:36
>>643
現場では必須だよ。
645質問age:04/01/19 10:16
技術的な内容じゃなくてすまそ。
JREの商用の再配布っておっけーなの?

しょっちゅうリンク切れるしバージョンアップするしで、
本家サイトからダウンロードさせるにはサポートが追いつかん。
自サイトからダウンロードできるようにしたいんだけど、
ライセンス条項がいきなり英語で長文でがっくし。。。
>>637
java.awt.event.ComponentListener
647デフォルトの名無しさん:04/01/19 10:25
>>645
GNU Javaを再配布すればいい
>>645
おっけー。
俺的にはインストーラの実行中に自動で以下のページを
見せるようにするといいんじゃないかと思うんだけど、
ttp://java.sun.com/webapps/getjava/BrowserRedirect?locale=ja&host=www.java.com:80
やっぱURLの変更とか不安かな?
そういうのって普通変更させないと思う。
変更させたい場合はまずしばらく旧サイトへのリンクを
残しておくもんだと思う。


JavaWebStartはどうなのさ?
getFlashのリンク先が突然切れることがあるんだろうか?
>>650
GetJavaページのこと? あのURL自体は変更してもおかしくないね。
でも、あれは結局JavaPluginの自動インストールを
利用したもので、これまでJavaPluginのWindows向けcab
ファイルのURL自体が変化したことはないなあ。だから、GetJava
ページと同じようなインストール確認のためだけのアプレット
作って自分のページに置いておけば大丈夫な気がする。
652645:04/01/19 12:09
>>648
おいらもソレにしようと思ってたんだけれど、いざサイト更新する段に
なって急に不安にあったのですたw ちょっと安心したです。
>>649
Java1.2の頃から泣かされ続けなんで、JavaWebStartは信頼できんw

MSの技術情報なんかもそうなんだけど、クリティカルな情報がリンク切れ
ってのは企業にとって恥だとは思わないのかなぁ・・・とか思ってみたり。
2ちゃんの過去ログ倉庫はつくづくよくできてると思うよ。

>>650-651
なるほど調べてみまつ。自動インストール&JavaWebStartの2段構えなら
なんとかなるかな。ありがd♪
653としあき ◆aIiv0vVIvc :04/01/19 13:28
別クラスで用意したスレッド処理Aがあり、その処理を終了するとBというURLを作成します。
ところが、これをメインのクラスからスレッド処理Aを実行させ、BというURLを生成させるのですが、
メインのクラスからそのBを返すメソッドを呼び出したところ何も帰ってきません。

どうやら、スレッド処理Aが終了するよりも先に、そのBを返そうとするメソッドが呼ばれるため
きちんと値が渡されて内容なのです。

で、ここからが質問なんですけど、こういった場合、どのようにすればきちんと値が帰ってくるでしょうか?

説明が下手ですみません。
>>653
「何も返って来ない」という真意が分からんが・・・
(処理が「帰って」来ないのか、null や "" など「しか返って」来ないのか)

1) B を返すメソッドの中で、A の処理が終わるまで待つ
2) B を返すメソッドが、「まだ A が終わってねーよ」ということを表す値を返す。
  「メインのクラス」では、while など使って何度も B を呼ぶ
3) A が終わったら呼び出してもらうリスナを、A が始まる前に登録して、
  A は処理の最後にそのリスナにイベントか何かで B を通知する

1) はあまり美しくない。2) は設計次第だが同様。
2), 3) は組合わせてもよい。つまり A は終了の通知だけを行って、B 自体はメソッドで渡す
リスナ云々は既存のものを使ってもいいし、自分で作ってもいいし、
wait, notify を組み合わせても同じような設計になる。
その場合 synchronized を使う必要性もあるが、この辺はググッて勉強してくれ。
656としあき ◆aIiv0vVIvc :04/01/19 13:40
>>654
説明不足ですみません。
何も帰ってこないとは、初期値にnullを入れてあるのですが、nullしか帰ってこない状態です。

回答していただきましてありがとうございます。
2)のやり方で挑戦してみます。
657tateisu:04/01/19 14:13
java.nio.channels.Selector で困っています。
読むデータも書くデータもないのにselectがすぐに帰ってきて、CPUを浪費してしまいます。
書いたソースは400行程度で ttp://tate.undef.jp/TestSelector.java
実行するとこんな出力になります。 ttp://tate.undef.jp/TestSelector.log
658デフォルトの名無しさん:04/01/19 14:54
HttpURLConnectionでサーブレットを実行することはできますか?
InputStreamでパラメータをサーブレットに渡してるんですが
そのパラメータを使った処理がうまく動きません。
よろしくおねがいします
659tateisu:04/01/19 16:58
解決しますた。
http://developer.java.sun.com/developer/bugParade/bugs/4960791.html
OP_CONNECTを外せばよかったんだね。
あとモバイルでよく http://developer.java.sun.com/developer/bugParade/bugs/4881228.html に泣かされる。
早く修正してほしーよ
>>638
Javaでデコードまでするかによる。
http://www.javazoom.net/javalayer/javalayer.html

>>639
java.util.logging.Logger log = java.util.logging.Logger.getLogger( "俺ログ");
log.info( "ふがああ");
やってみれ。詳しくはAPIガイド。
662デフォルトの名無しさん:04/01/19 17:54
アプレットにTextAreaを追加して、右クリックでコピーやペーストをしたいのです。
マウスイベントで右クリックを検知できそうなのですが、右クリック時に表示される
メニュー(?)はどうやって表示させるのでしょうか?

また、Windowsのクリップボードへのコピー、クリップボードからの貼り付けは
どうやるのでしょうか?
複数の戻り値を返すことはできないんでしょうか
>>663
無理。配列とかコレクションに突っ込んで返すとかすれ。
665662:04/01/19 18:46
ちなみにCtrl+VやCtrl+Cは何もやっていないのですが使えるみたいですね。
>>662
> マウスイベントで右クリックを検知できそうなのですが、右クリック時に表示される
java.awt.Component#add(java.awt.PopupMenu)
java.awt.event.MouseEvent#isPopupTrigger()

> また、Windowsのクリップボードへのコピー、クリップボードからの貼り付けは
java.awt.Toolkit#getSystemClipboard()
java.awt.datatransfer.Clipboard#getContents(Object)
java.awt.datatransfer.Clipboard#setContents(Transferable,ClipboardOwner)
初心者大歓迎!?
ちょっとクレクレさせてもらいますよ!
今java勉強中なのですが良い逆コンパイラソフトは有りませんか?
これで小うるさいサイヤ人を消すんです!
ミ‐,,ii||||||||||||iiミ
 `゛ミミiiiiiiiiiiii;;;;;;;;;;,,,,,-‐ミi||||||||||||||||||||||i彡‐-、,,,,,;;;;;;;;;;iiiiiiiiiiiiiii!!!彡
    '''''ミミ||||||||||||/  ミ|||||  ||||||||||||||||彡   ヘ||||||||||||彡彡''''
       '''''ミミ!I/  ミ|||||  ||||||||||||||||||彡  `iI彡彡''''    /Vー-へノ\ノ\ノ\ノ\
          ミミ,  ミ!||||||||||||||||||||||||彡   彡彡    ノV               \
─────----ミ     ミ!|||||||||||||||||!彡     彡'---─く   初心者大歓迎!?
 |    |    | `ミミ,  `ミミミY彡彡"   __彡彡   ノ   ちょっとクレクレさせてもらいますよ!
 |    |    |  ,|ミ下ミ ̄`。、_|_;'。´ ̄7彡"┬| |   ノ   もらいますよ!
 |    |    |  |└ミトミミi─'´<_,l、三´,E=|彡ナ彡 |   )  今java勉強中なのですが良い
 |    |    |  | | `ミ トミ||^=====^|E彡彡' | | | <   逆コンパイラソフトは有りませんか?
、 |    |    |  | | ーミミ||]⌒i⌒「|彡'‐-─/ / |   )  これで小うるさいサイヤ人を
  ヽ、  |   /^‐━, \_`ミ`===='',彡'  / /\ |  └、 消 す ん で す !
    ヽ、 | /ノ―、='、 \_二二`─´二二_/    \   Vヽ
      ヽ/´ /  / ̄`i、    ̄|| ̄        /´\    ヽ/ ̄ ̄ヽノ⌒Vー-、/⌒V
      ノ  丿   l   | `i---┼-----------'´
      |   〈 l   〈 〉  |
      ゝ         ,/                  いや、普通に教えて下さい○| ̄|_
下書き文消し忘れたもうだめぽ
669ふっきん:04/01/19 20:26
はじめまして。
最近関数の勉強を始めまして、以下のプログラムのように
秒単位で値が変化するexp関数の値表示のプログラムを作成しました。
exp関数はdouble型になっているのでかなり細かく(小数第18位くらい)まで値が表示されます。
例えば3.453567の表示を小数第三位を四捨五入でも切り上げでも
切捨てでもいいので3.45E-6のような形に表示にさせたいと思うのですが、
そのようなことって可能なのでしょうか。また可能であればアドバイス頂けませんか。

import java.util.*;
import java.awt.Graphics;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.lang.*;
670ふっきん:04/01/19 20:27
public class Kansuu
{
public static void main(String args[])
{
JFrame frame = new KansuuFrame();
frame.show();
}
}

class KansuuFrame extends JFrame
{
public KansuuFrame()
{
setTitle("Kansuu");
setSize(500, 500);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
Container contentPane = getContentPane();
contentPane.add(new KansuuPanel());
}
}

671ふっきん:04/01/19 20:30
class KansuuPanel extends JPanel implements Runnable{
long st, ct, t;
double Z;
Thread th = null;

public KansuuPanel(){
Jikan1();
th = new Thread(this);
th.start();
}
public void run(){
while(true){
try{
Jikan2();
Shiki();
th.sleep(1000);
}
catch(InterruptedException e)
{
}}}
public long Jikan1(){
st = System.currentTimeMillis();
return st;
}
public long Jikan2(){
ct = System.currentTimeMillis();
long time = ct-st;
t = time/1000;
return t;
}
672ふっきん:04/01/19 20:31
public double Shiki()
{
double T = -t/50;
Z = 0.0000001*Math.exp(T);
return Z
}

public void paintComponent(Graphics g)
{
super.paintComponent(g);
try
{
g.drawString(""+ Z + "",200, 200);
th.sleep(500);
}
catch(InterruptedException e)
{
}
repaint();
}
}
673デフォルトの名無しさん:04/01/19 21:44
(´ー`)y─┛~~
674まり:04/01/19 21:49
大学でjavaの課題がでて21日までに提出きなきゃいけないのに、ちんぷんかんぷんなの。
誰か助けてください。jbuilder4を使ってといて欲しいんですが。
http://msyk.net/keio/java2003/report.htmに問題載ってます。お願いします。

>669 java.text.DecimalFormat を使う。
>>674
学校の宿題は俺にやらせて下さいver.1.1βfor Java
http://pc2.2ch.net/test/read.cgi/tech/1065599192/
import java.text.DecimalFormat;
DecimalFormat df = new DecimalFormat("0.###E0");
String text = df.format( value );
678デフォルトの名無しさん:04/01/19 22:00
>>674
担当講師に通報メールしときました。
679662:04/01/19 22:09
>>666
ありがとうございます。
詳細は調べて試してみます。
680デフォルトの名無しさん:04/01/19 22:53
try {
  Object obj = Class.forName("java.lang.String").newInstance();
  System.out.println(obj);
}
catch (Exception e) {
  e.printStackTrace();
}

↑Immutable且つコンストラクタに引数が必要なクラスにはClass.forNameは役に立たないのですか?
質問です。
いわゆる「戦艦ゲーム」についてです。
10×10の平面のマスに、
点(敵)をランダムにおきます。
その点を上下左右±1内で移動させるプログラムを
RandomNumberを使って作りたいんですがどうすればいいでしょうか。

String Idou() {
int x = 0, int y = 0;
for(int x,y=0; x,y<=10; i++) {




682612:04/01/19 23:14
>>646
有難うございます!
>>680
いいえ
>>652
むかしよく、JavaScriptで
<script> ←ちょいと省略
if(Javaインストール==false){
あたなのブラウザにはJavaがインストールされていません。
<a href="">ここ</a>でインストールしてください。
}

if(ブラウザ==IE){
あなたのブラウザはIEです。M$JVMを使っている可能性がありま(ry
} else if(ブラウザ= Netscape){
if(ブラウザのバージョン > 4){
  (ry
 }
(ry
} else {
(ry
}

</script>
<noscript>JavaScriptを有効にしてください</script>

とかやったのう。
>>652
> >>649
> Java1.2の頃から泣かされ続けなんで、JavaWebStartは信頼できんw
そういうことは1.3以降からかなり信用できるようになったと思われ。
TeXの方で質問したのですが
回答が得られなかったので
こちらでお願いします

LaTeX->SmartDoc->HTML
を試された方いらっしゃいますか?
日本語や複雑な数式は上手くいきますか?
よろしくお願いします
687デフォルトの名無しさん:04/01/19 23:51
学校の宿題です。
テストに出るみたいです。
誰か教えてください。

描画領域内の異なる場所で三回マウスボタ描画領域内の異なる場所で三回マウスボタンをクリックする。
この時、それぞれの点をつンをクリックする。
この時、それぞれの点をつなぐ三角形を描くプログラムを作成しなさい。
三回クリックしたところで始めて三回クリックしたところで始めて描画。それまではクリックした部描画。
それまではクリックした部分の座標点を維持する。
>>687
学校の宿題は俺にやらせて下さいver.1.1βfor Java
http://pc2.2ch.net/test/read.cgi/tech/1065599192/
689デフォルトの名無しさん:04/01/19 23:57
>>688
すみません。ありがとうございます。
JWSはいいよ。

信頼できないのはIE内蔵の独自VMとか、Applet呼び出しのタグの
書式の頻繁な変更とかであって、JVM仕様じゃない。
仕様準拠のJVMは、JDK1.2以降でクラスファイル互換を崩してない。
JWSならブラウザ周りの変なヒッカケには全く関わらないででむので、
Appletよりさらにまし。
JWSっつったって、ランチャーによる起動以降は単なるJavaアプリ。
そうなってしまえば、Servletエンジンがちゃんと動くのと同様に
(アプリバグさえなければ)ちゃんと動く。
691デフォルトの名無しさん:04/01/20 00:36
>>674
なんだそのサイトは。個人サイトか。
変な猫がうつっとるし。新居雅行とは何者よ?
講師か? 本当に慶応なのかと。
JBuilderを押し付けるは何者かと。

それより、慶応の学生ともあろう香具師が2chに頼って教えて君とは
高卒中卒&三流大学出身様から見れば許せぬ! 
慶応のくせにくだらんことをしてんじゃないぞ!


>>686
以前smartdocで大量のJavaソースコードファイルを
文書にしようとしたが再起処理がなくてがっくりして
自力でJavaでJavaソースをTeXに変換するプログラムを作ったことがある。

SmartDocを見ていると、なんつーか、日本人が作ったソフト
って詰めが甘くて中途半端なのが多いですなあと思うのであった。
文書作成に関してはApacheに似たようなものがあったと思うのだが。

数式表示するのにHTMLなんか使うかおい。
MathMLとかみたいなのでないと。
それか画像で表示するかDVIファイルをPDFに変換して
サイトにおいとけよ。
693デフォルトの名無しさん:04/01/20 00:43
>>690
JNLPファイルの作り方
載ってるおすすめサイトか書籍があったら紹介しておくれ〜
694ふっきん:04/01/20 00:55
>>675,>>677
DeCimal Formatを使ってみたらあっという間にできました。
これって好きな位を自分で指定できるんですね。これは便利です。
ありがとうございました。
>>693
690じゃないけど、サンに行けば、例が載ってる。
JNLPファイル作るのにわざわざ書籍を買う必要はないよ。
1回出来ればすぐわかる。
最初に言っておきます。JAVAと関係無い&低レベルな質問でごめんなさい。
学校の課題をするために家のPCにJDKを導入したんですが。

WinMeのDOS窓だと、エラーが多すぎるとメッセージが最後の数十行しか表示されないんです…
XPのDOS窓はスクロールバーで過去の分を参照できたような気がするのですが、Meで同じように超過分のメッセージを参照する方法はないでしょうか?

課題のソース、エラー36個ってなんだよ…
>>696
javac Hoge.java > log とかやってファイルに保存するとか。
またはEclipseを導入してみたら?ファイルの保存時にコンパイルとエラー報告をやってくれるよ。
>>696
最後に表示されたエラーから順に片づけていくという
地道な手段もあるけどね。
>>699
それだと、}忘れのとき困る。

ついでに700げt(ry
>>697-700
ありがとうございました。便利そうなのでEclipseを導入してみました。
とりあえずソースのコメント部分が文字化けしまくってるわけですが…なんとか頑張ってみます
>>701
Preferenceでエディタのキャラセット変更しませう。
Windowsの日本語コードを表示できるよ!
703デフォルトの名無しさん:04/01/20 02:27
Vectorに関してです。
3つのクラスファイルがあったとして1つのクラスはVectorを使ってデータを保存するクラスです。
public Vec {
private Vector vec = new Vector();
 public void set(){//vecにアクセス}
public Object get(){//vecにアクセス} }
というものです。残りの二つは上のVecクラスにデータを入れたり取り出したりするクラスです。そして残りの2つのうち1つがVecクラスにデータを入れてもう1つのクラスでデータを取り出そうとしたときに
public FirstClass {
Vec access = new Vec();
 public void first(){ access.set(何か値); } }

public SecondClass {
Vec access2 = new Vec();
public second(){ access2.get(); } }
としても、二つ目のクラスでgetしようとしてもVecクラスのvecに何も入っていない状態になってしまいます。
どうしたらいいでしょうか?
>>703
一度newしたらそれを使い回して次からはnewするな、
ていうか一度最初から勉強し直さないといけないだろ。お前の場合
705デフォルトの名無しさん:04/01/20 03:55
>>704
使いまわすというのは、accessをgetするなりして
access2=accessしろということでしょうか?
>>705
VecとやらをnewしたらそのフィールドのVectorまでnewし直してるんだから
中身に何もないのは当然だろが馬鹿
どうやって使い回すかはお前が勝手に考えればいいこった
707デフォルトの名無しさん:04/01/20 04:24
突然すいません。

Javaというかプログラミング自体初心者なんですが、
Javaを身につけるためにはまず何をしたらイイでしょうか?
やはり本に載ってるお手本プログラムをコツコツ打ち込んで体で覚えるのか?
もしくは他にいい方法があるのか?

よかったらおしえてください。
708デフォルトの名無しさん:04/01/20 07:43
javaでチャットを作ってます。
ウィンドウが最小化されているときに受信したら、
タスクバーを点滅させたいのですが、やり方が見付かりません。
どなたか教えてください。よろしくおねがいします。
>>707
まず、オブジェクト指向と UML を学習する。

>>708
わからないのだが、Cとかだとどうやっているんだろう?
ところで、GNOMEかKDEかDarwinかウインドウマネージャは
何を使ってるの?
>>707
作りたい物(ゲームでもなんでもよい)をめざして
今やってることがどうそれと結びつくか考えながらやるとよい。

そして
入門書で関係なさそうな部分は後回しにしてもよいから
それを実際作ること。
711686:04/01/20 10:02
>692
分かりました
ありがとうございます
712デフォルトの名無しさん:04/01/20 10:14
プログラムをまったく知らない初心者です。
javaは初心者でも出来ますか?
>>712
あなたにやる気があれば
>>713
レスありがとうございます。頑張ります
715デフォルトの名無しさん:04/01/20 11:27
>>712
俺のお勧めは
改訂版 Java言語プログラミングレッスン (上) (下)
結城浩
読んで勉強すること。

他の人のお薦めや勉強のやり方も聞くがいい。
>>716
そんなスレがあるのか。ちょと覗いてくる。
718デフォルトの名無しさん:04/01/20 12:12
今年のJavaの運勢はどうですか。
ラッキーカラーはピンク
>>674
大学の応用情報処理でもこんな低レベルなのかと驚いてたら
文学部ということに気付いてもっとビクーリ。文学部でここまで必要か?
j2sdk-1_4_2-nb-3_5_1-bin-windows.exe

インストールしようとしたら
インストールの準備中 8%で止まって 動かないです。
再起動とかハードディスクの掃除してみたけどどうにもなりません
なんだこれは!
>>667
jadでぐーぐること。かめはめは。
>>722
NetBeansが入っていないほうでやってみれば
String型の比較を行う際に、
一致するかを調べるにはequalsを使えばいいのは分かるのですが、
一致しないかを調べるにはどうすればいいのでしょうか?(a!=1のように)
>>725
! a.equals(b)
>>726
できました。ありがとうございます
728鈴木健一郎 (NT4.0/2000/XP) ◆sp/LMLJ4M. :04/01/20 17:35
多分既出な質問なのかもしれませんが、
Swing の Look & Feel の設定ってデフォルトだと
Java 標準と X-Window 標準と Windows 標準は入っているんですが、
MacOS ライクな設定って自分でダウンロードしなくちゃいけないんですか?

もしそうであれば URL も教えていただけると嬉しいのですが。
>>728
Mac用のJREには入っている。Windowsでは著作権上の問題で使えない。
Windows Look & Feel も、Macじゃ使えないしね。
730662:04/01/20 19:14
>>666をみてやってみたのですが、アプレットからはクリップボードにアクセスできないよです。
他のアプリでコピーした内容をアプレットに右クリックから貼り付けたいのですが
無理なのでしょうか?
ちなみにCtrl+Vでの貼り付けはできます。

SwingのJTextAreaなどにはクリップボードを使用しなくても使えるcopy(),paste()
などのメソッドがあるようですが、こちらも同様にアプレットからは使用できないのでしょうか?
731デフォルトの名無しさん:04/01/20 20:33
JDK1.2.2で、開始してからの秒数を表示するアプレットを作ってみましたが、何故か時々「2」増えてしまいます。
具体的に言うと、通常なら「1→(1秒)→2→(1秒)→3」となりますが「1→(1秒)→3→(2秒)→4」となることがあるのです。CPUに負荷がかかったときになるような気がしますが、何故こうなることがあるのか私にはわかりません。
以下のソースを見て、もしわかれば回答をお願いします。

import java.awt.Graphics;
import java.applet.Applet;

public class Test extends Applet implements Runnable {
Thread thread = null;;
private int i=0;
public void paint(Graphics g) {
g.drawString(Integer.toString(i),32,32);
}
public void start() {
if (thread==null) {
thread = new Thread(this); thread.start();
}
}
public void stop() {
thread = null;
}
public void run() {
while (thread!=null) {
try {
thread.sleep(1000);
} catch (InterruptedException e) { }
i++; repaint();
}
}
}
732デフォルトの名無しさん:04/01/20 21:08
>>731
sleep(1000)って、”最低1秒は待つ”という仕様じゃなかったっけ?
可能性としては1時間待つこともあるわけで。
>>731
Javaとは関係ないが
リアルタイムOS環境でないと
「?m秒後に必ず実行」といった処理を保証するのはむつかしい。
プリエンプティブで非リアルタイムな環境だと
OSがいつCPUを明け渡してくれるかアプリからは
通常知る由がない。

タスクの優先度を上げてもカーネル自体がCPUをつかんだまま
なかなか返さない可能性もある。
734731:04/01/20 22:50
>>732
>>733
それは知りませんでした。

しかし、1秒で「2」も増えることがあるのは何故でしょうか?0.5秒で1増えるなどというわけではなく、1→3といった感じで2が跳ばされることがあるのです(その後、3が表示されたまま2秒停止してから4が表示されます)。
他人が作ったアプレットを見てもこのようなことは見られないので、このアプレット自体に問題があるのではないかと思うのですが、>>731のソースに問題はありませんか?
>>731
マルチスレッドを意識していないプログラムになっているので
int i を操作する際におかしくなってると思われる。
736デフォルトの名無しさん:04/01/21 00:29
すみません。初心者の工房です。
電車で聞いた話なんですが、「JavaでもCGI作れるよ、おら何とかかんとか」って話なんですが、
どこを調べたり、本を読んだりしたらいいでしょうか。
Swingで使用するコンポーネントのフォントを全部一気に設定する方法ってありますか?
今はそれぞれのコンポーネントごとにsetFontを使っていて、かなり面倒なんですが。
>>731
Thread.sleep(1000)で秒を加算していくんじゃなくて。
開始時間や、そこからの経過時間を
System.currentTimeMillis()でとるようにするといい。
>>737
内部にHashMapを持ち、コンポーネントを格納できるようにして、
まとめてsetFontを呼び出すようなクラスを作る。
>>738
経過時間は正確だろうがよけいに途中の抜けが増えるぜ
742デフォルトの名無しさん:04/01/21 02:31
下のソースをコンパイルすると↓のエラーが出ます;;
Superclass Script of class ChangeColor not fond.
環境:MacOS9 JDK1.0.2使用
内容はVRML(3D)画像をマウスクリックにより画像の色が変わるという物です。

import vrml.*;
import vrml.field.*;
import vrml.node.*;

public class ChangeColor extends Script{
private SFBool on; //on/offの状態
private SFColor newColor;
float red[]={1,0,0}; //RGB(red)
float blue[]={0,0,1}; //RGB(blue)

public void initialize(){
newColor=(SFColor) getEventOut("newColor");
on=(SFBool) getField("on");
}
   ・・・続く
743デフォルトの名無しさん:04/01/21 02:32
・・・続き

public void processEvent(Event e){
ConstSFBool v=(ConstSFBool)e.getValue();

if(v.getValue()){
if(on.getValue()){
newColor.setValue(red);
}
else{
newColor.setValue(blue);
}
on.setValue(!on.getValue());
}
}
}
Scriptってクラスがない。
745わかば:04/01/21 07:06
はじめまして。Java初心者です。
無名インナークラスで質問があります。

class Sample {
void go() {
Bar b = new Bar();
b.doStuff(new Foo() {
public void foof() {
System.out.println("foofy");
}
});
}
public static void main(String[] args) {
Sample s = new Sample();
s.go();

}
}
interface Foo {
void foof();
}

class Bar {
void doStuff(Foo f) {
}
}

コンパイルは通るけど、"foofy"が、出力されません。
mainメソッド以外は本(日経BP Java2認定ガイドp455)からの引用なので、
mainメソッドをどう書いていいのかわかりません。
よろしくお願いします。
class Bar {
void doStuff(Foo f) {
f.foof();
}
}
747わかば:04/01/21 07:29
>>746
素早いご回答ありがとうございます。
f.foof();
が抜けてたんですね。
ということは、本がまちがってたのか、著者が省略したのか...
いずれにしてもそこに気づかないおいらはまだまだ先が長そうです。

>>741
sleep()の時間短くすりゃいいだろ
「インストールサポートファイル.....が見つかりません」

くそー
インストールに関するトラブルはどこで聞けばいいのか
SUNのサポートセンター?
JavaでXMLをネットを通して送信する時に
今は普通にソケットにBufferedWriterでOutputStreamWriter使って送ってるんですが
他に何か良い方法、XMLに適した方法ってありますか?
>>750
HTTP で送る
>>751
SOAPってことか?
753デフォルトの名無しさん:04/01/21 14:45
Java Advanced Imaging (JAI)を勉強するのにいいサイトや本ってないですかね?
>>752
もともと XML である必要の無いものを XML にしてみてるだけなら、
それこそもろ SOAP を使えばいいし、
そうでなくとも、プロトコル作りたくなければ HTTP だのなんだの好きに使えばいい。
755デフォルトの名無しさん:04/01/21 15:29
756731:04/01/21 15:33
>>735
具体的に、どうすればいいのでしょうか?
とりあえず、「マルチスレッド」を解説しているページにあったサンプルを真似てi++をpaintメソッドの中に書いてみたところ、ちゃんと1ずつ増えるようになりましたが、ブラウザのスクロールバーを動かすと急激に増えてしまいます。

>>738
確かに、経過時間を表示するのならその方法のほうが良さそうですね。
しかし、私が実際にやりたいのは「同じペースで数を増やす」ということだけで正確な経過時間はどうでもよかったりします。
#今は必要ありませんが、今後その方法が必要になりそうなので覚えておきます。ありがとうございました。
>>756
いくら i++ を書いても、
正確に 1秒あたり 1回、そこに処理が渡らなければ意味が無い。

>「同じペースで数を増やす」
>>733 をもう一回読め。不可能なんだよ。
身近なもので、実際に絶対にそうなってるソフト、一つでも挙げてごらん。
そんなもの無いから。そこらの PC や OS なら、負担をかければ必ず遅れるはずだ。
計測のタイミングによって、0増やしたり 2増やしたりするしかない。
長い目で見たら同じペースだ。
758デフォルトの名無しさん:04/01/21 16:39
javaでTWAIN対応のスキャナを扱いたいのですが、フリーでTWAINに関するパッケージ
はあるのでしょうか?
書けるか?
タブで区切られたデータ(一行)があって、
それをString配列にするにはどうしたらいいんでしょうか?
タブで区切られた項目が空だと数がうまく合わないんです。(空でも1項目としたい)

今は下のように空項目を<>という適当な文字に置き換えてやろうとしてるんですがうまくいきません。
どう変えればうまくいくんでしょうか?
分かる方いましたら教えてください。

if(line.startsWith("\t")) line = "<>" + line;
if(line.endsWith("<>")) line += "<>";
line.replaceAll("\t\t","\t<>\t");
String[] str = line.split("\t");

for(int i = 0;i < 20;i++) {
 if(str[i].equals("<>")) {
  str[i] = "";
 }
}
761731:04/01/21 17:58
>>757
もちろん、>>733の言っていることは理解しているつもりです。

私の「ペース」という言葉が良くなかったようですが、「ペース」とは「1回で増える数」のつもりで使いました。
つまり、問題は1回で「2」増えることです。
>>735で「マルチスレッドを意識していないプログラムになっている」と言っていたので、これの解決法があるのではないかと思って質問しましたが、無理でしょうか?
762U ◆CZtFsGiu0c :04/01/21 18:13
>>761
GUIプログラミングには詳しくないので間違っていたら突っ込んで欲しいのですが、
repaintって再描画処理を即座に実行するとは限らないですよね? 単純に再描画の
タイミングによるのではないですか?
>>761 >>731
恐らくJavaの仕様が原因。
Swingにおいては
repaint()呼び出し回数とシステム側のpaint()呼び出し回数は一致しない。
AWTでもそうなのだろう。

問題が「1回で「2」増えることです。」だけなら
paint()メソッドの中でiをインクリメントすればよいのでは。
つまり3回repaint()を呼び出しても、
状況によっては2回や1回しかpaint()は呼び出されないこともあるというわけで。
例えば、10秒処理が混むということもありえるわけで、そのとき、
a) いっきに 10増える
b) ものすごい速さで 1ずつ増えて帳尻を合わせる
c) 1 しか増えない
しか選べない。内部でのカウントアップも、外部への描画結果も同様。
君はどれがいいんだい。
それを教えてくれたらどうすればいいか教えられる。つーかもうヒントは出てる。
(でも b) は面倒だからいや)
766デフォルトの名無しさん:04/01/21 19:03
>>740
ありがとうございます。逝ってきます。
767731:04/01/21 20:20
>>763
>>756に書いたとおり、その方法だとブラウザのスクロールバーを動かしたときもiの値が増えてしまいます。確かに「1回で『2』増える」ということはないようですが…
しかし、よく考えてみればrepaint()を実行したときは最初にupdateメソッドが実行されるはずなのでupdateメソッド内でi++をすればいいのかな?
試してみると…問題なく動くようです。もっと早く気づくべきでした。

というわけで自己解決のような気もしますが、皆さんの解説はとても参考になりました。感謝しています。
ありがとうございました。
769デフォルトの名無しさん:04/01/21 23:31
アップロードしたファイル(Shift-JISかEUC-JP)を
読み込んで、DB(EUC-JP)に入れたいんですがどうもうまくいきません。
EUC-JPのファイルをアップロードしてそのままDBに入れる場合は日本語もうまくいきました。
文字コードの判別方法、Shift-JISからEUC-JPへの変換方法を教えてもらえないでしょうか?
初期化サーブレットでXMLを読み込みたいのですが、
java.net.ConnectException: Connection timed out: connect
上記のようなエラーになってしまいます。

行っている事。
web.xml
<load-on-startup>1</load-on-startup>
初期化サーブレットをweb.xmlで指定。
この呼び出しは正常。

InputStream input = getServletContext().getResourceAsStream(this.getServletConfig().getInitParameter("config"));
this.getServletConfig().getInitParameter("config")
InputStream作成 ここも正常(この取り方で正常にフルパスが取れているのを確認済みです。)
(XML)
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
DefaultHandler handler = new saxhandle(this);
このpaseを発行した所でExceptionが発生。
parser.parse(input, handler);

上に書いたコードはSAXですが、DOMでおこなっても同じ現象になりました。
XMLファイルのパスは、
webapp\demo\aaa.xmlにおいてあります。
webapp\demo\WEB-INF\aaa.xmlと両方ためしました。
初期化サーブレットでXMLの読み込みを行うには、どのようにすれば良いのでしょうか。
参考になるようなWEBページ等教えていただけると助かります。
>>769
ファイルを読み込んだ時点で化けてるんじゃない?
ファイルの読み込みにInputStreamReaderを使ってたら、
エンコーディングに"JIS_AutoDetect"を指定してみるとか。

Reader reader = new InputStreamReader(new FileInputStream("uploaded.file", "JIS_AutoDetect"));
>>771
ゴメン。カッコの位置間違ったよ・・・。

new InputStreamReader(new FileInputStream("uploaded.file"), "JIS_AutoDetect");
773初心者ですすいません:04/01/22 00:07
java言語でアンケートを作りたいのですが、
どこかにソース付きのサンプルないですか?
サンプルがたくさんあるお勧めサイト教えてください。
774貧乏紙:04/01/22 00:14
ドッキリのソフト作ってくれと頼まれたので作りましたが、
時間がない分手抜きになってしまいました。スタートアップに忍ばせて1発ドッキリを想定しています。
評価をお待ちしています。
http://www.ne.jp/asahi/tukuba/taro/System.zip
PS
C++のスレよりVC++知らない人がどういう反応をするか知りたいのであえて
Javaスレにしました。Javaのほうがスレの伸びもいいし。。。
>>770
java.net.ConnectException: Connection timed out: connect
ってのが気になるなぁ。DTDを探しに行ってtime outしてるとか?
>>771
つーか、JISAutoDetectだろ。全然ダメじゃん。
777770:04/01/22 01:30
>>775
返答ありがとうございます。
テスト的に、strutsというフレームワークで使っているxmlを読み込んで
しているので、struts自体は正常に動作しているのでdtdを探しにいって
タイムアウトしている事は無い?かもしれません。
ちょっと今、環境が無いので明日もう一度見直してみます。
ありがとうございます。
>>774
ソースはねぇの?
自分でソース見てcompile通せば評価もするけど
exeじゃ実行しないだろ、普通。
ネットワーク越しにXMLファイルを送りたい場合に
SOAP使わないでやる方法って何かありますか?
ファイル送るだけならnyでもhttpでも好きにすれば?馬鹿
781758:04/01/22 12:50
>>768
ありがとうございます。参考にしたいと思います。
画像を左右反転するにはどうすればいいのでしょうか?
配列中から連続的要素を部分的に配列として取り出す簡単な方法ありませんでしたか?
System.arraycopyとか使わないで簡単な方法があったような気が...
>>782
鏡見ろ

>>783
>連続的要素を部分的に配列として
お前の言う 連続的要素 の定義が不明
785デフォルトの名無しさん:04/01/22 16:30
>>783
System.arraycopyより簡単ってどんなんだ?
自動で新しい配列クラスを生成とか?
>>779
XMLファイルを「送る」なら相手側が受け付けるプロトコルによるのでは?
受け取るというなら>>780も言ってる通りHTTPが楽かもね。
サーバ上にXMLファイルを置いて、URL#openStream()はどう?
>>782
J2SDKのdemoのJava2Dに、JPEGイメージを上下反転するサンプルがあるよ。
参考にしてみたら?
>>784-785
いわゆるスライスのことをじゃないの?
Javaのライブラリにあったかは知らないけど
>>783
参照型限定なら
Object[] subarray = Arrays.asList(array).subList(from, to).toArray();
とかできるが。

個人的には System.arraycopy 使ったほうがよさげだけど…
FTPクライアント作ってるのですが、ソケットを作成してサーバに接続する処理で
詰まってます。

boolean recv() {
 try {
   while (line = bufreader.readLine() ) != null ) {
    System.out.println(line);
   }
  } catch (IOException e) {
    System.err.println("Error: " + e.toString());
    return false;
  }
  return true;
}

サーバからの返答を以上のような受信プログラムで待っているのですが
ソケットを作成して接続すると固まってしまいます。
BufferedReaderの返り値が null にならないからだと思いますが
どうしてでしょうか?
受信部はどのように作るべきでしょうか?
>>790
とりあえず、
>    while (line = bufreader.readLine() ) != null ) {
でコンパイルエラー食らうね。

> BufferedReaderの返り値が null にならないからだと思いますが
通信が切れない限り BufferedReader は null を返さない。

> 受信部はどのように作るべきでしょうか?
応答コードを XXX としたとき
XXX-文字列 にはまだ続きがある。
XXX 文字列 には続きが無いって事を利用すれば?
>>791
すいません、そこ括弧一つ抜けてました。
while ((line = bufreader.readLine() ) != null )
が正しいです。

-がある場合複数行なんですが、それが無く
2行分別のレスポンスが帰ってくることがあるんです。

BufferedReader の readLine() がこれ以上行が無い場合に null を返してくれたら万事解決なんですが
何で null を返してくれないかがさっぱり・・・、
>>792
> 2行分別のレスポンスが帰ってくることがあるんです。
例えば?

> BufferedReader の readLine() がこれ以上行が無い場合に null を返してくれたら万事解決なんですが
そーゆー仕様だよ。「これ以上行が無い」の解釈が違うだけ。
>>793
150 Opening ASCII Data Connection.
226 Transfer Complete.

この2行が連続できます。

え?
API の DOC読むと
ストリームの終わりに達している場合は null を返すと書いてあるんですが
返してくれないんですか?
>>792
> 2行分別のレスポンスが帰ってくることがあるんです。
BufferedReader#ready() 使って、まだ読めるデータがあるか試すとか。
>>795
実はそれも試したんです。
while ((bufreader.ready() )
でやってみたんですが、ソケット接続してもfalseしか帰ってこなくて
上手くいきませんでした。
>>794
ストリームの終わりってのは、この場合は FTPサーバが制御接続を close() した時の事で、
複数行応答の終わり(データが一段落した)とかって意味ではない。
>>796
この場合では、FTP応答が発生するまでは BufferedReader#ready() はずっと false になるが。
>>797
あー、なるほど、そういう意味でしたか。理解しました。
ありがとうございます。

>>798
んー、すると最初にサーバに接続したときに帰ってくる 220 の応答を
処理できないんですが・・・。
っていうかぶっちゃけ最初の接続に対するレスポンス 220 の所だけ
line = bufreader.readLine();
として対応できるんですが、これって必ず1行だけ帰ってくると言う前提に
プログラム書いてるんで、もし2行以上のレスポンスがあるサーバの場合駄目ですし
どうしたらいいんでしょう・・・。
お勧めしないが、上のを改造するなら
>   while (line = bufreader.readLine() ) != null ) {
>    System.out.println(line);
>   }
の部分を
  do{
   System.out.println(line = bufreader.readLine());
  }while(bufreader.ready());
みたいにするとか。
>>800
あー、すごいです。上手く動いてます。
ありがとうございます。
ここ数日ずっとこれで悩んでたので・・・。

でも何でお勧めじゃないですか?
802デフォルトの名無しさん:04/01/22 21:53
>>801
せっかく出来たとこを水を差して悪いが、
BufferedReader#ready()なぞ使わずに、最初の方式で行くなれば、

while ((line = reader.readLine()) != null {
  if (line.length() > 4 && line.charAt(3) == '-') {
    continue;  // 220- など、複数行の応答なのでスキップ
  } else if (line.startsWith("220")) {
    // 接続できたのでUSER送信
  } else if (line.startsWith("331")) {
    // USER受け付けてくれたのでPASS送信
  } else if (line startsWith("230")) {
    // ログインできたので、ユーザからの要求を受けてサーバにコマンドを送信
  } else if (line.startsWith("150")) {
    // 別スレッドでデータ取得
  } else if (line.startsWith("226")) {
    // データの取得が完了してることを確認
  } else if (line.startsWith("425")) {
    // サーバがコネクション張れない言うので、データ取得スレッドは止める
  } else if ・・・続く

みたいにしたら簡単でないかい?
お勧めじゃないのは多分、2行連続で送られてくる理由も分からずに、
場当たり的な対応をすべきではないからだと思うよ。
> while ((line = reader.readLine()) != null {


応答コード全部列挙するつもりか…
804802:04/01/22 22:06
>>803
いや、言いたいのはそこじゃなくて、
サーバからの応答は常に待ち受けといて、
何か言って来たらきちんと対応しろよということだ。
Vector a=new Vector();
int x=0;
a.add(x);
x=10;

ここでa.elementAt(0);は10になりますか?
>>805
なりません。
実際にVectorにintは入りませんが、例えばの話です。
Stringに置き換えて結構です。
>>805
Stringにしても、805の言うとおりならない。
Vectorにaddされるのはオブジェクトの参照だから、オブジェクトの内容を変更すればいける。

class X {
  X(int x) {
    this.x = x;
  }
  int x;
}

Vector vector = new Vector();
X x = new X(0);
a.add(x);
x.x = 10;

としたら、a.elementAt(0)のx.xは10になってるよ。
809デフォルトの名無しさん:04/01/22 22:34
教えてください。

ヒープサイズの変更ではなく、現在のヒープサイズを確認する方法はありますでしょうか?
Vector a, b; とあったときに

bを使い回して(例えばaにaddしたらbはいったん消去のように)
aにどんどんaddしていきたい時はbのクローンを作ってから、
そのクローンをaにaddする方法を取ればいいんでしょうか?
意味がピーマン
a.add(b);
b = new Vector();
のように消去せずにbをnewすりゃいい。
っつーかおまいらVector使うのやめろよ。
Vectorはまずいですか?
Javaを勉強始めたのですが、キャストの挙動がわかりません。
どなたかご教授いただけませんでしょうか?
質問内容としては、
@「6:」「7:」のキャストはコンパイルエラーにならないのに、「8:」「9:」は
コンパイルエラーになっていまいます。キャスト時にコンパイルエラーになるならないの判断は
どのようになっているのでしょうか?型(クラス)の整合性チェックは全て実行時に判断されるものではないのでしょうか?

以下、サンプルソース
1: Table table = null;
2: Column column = null;
3: Row row = null;
4: String str = null;
5:
6: table = (Table) column;
7: column = (Column) table;
8: str = (String) table;
9: table = (Table) str;
Vector流行ってるなー。
ArrayList使えよ。

Vectorは不完全なスレッドセーフだが、
ArrayListは完全にスレッドセーフではない。
その分用途によるがパフォーマンスは多少いい。

とにかくVectorとかHashtableとか見たくないね。。。
マルチスレッドで使うならJDK1.5でいいのが出るよね。
>>814
スーパークラスとサブクラスあたりのキーワードでググって来い
StringはTableクラスのスーパークラスではない。
TableもStringクラスのスーパークラスではない。

だからキャストは無理。
そもそも、そのサンプルソースでは、6・7が
正しくキャストできるかもわからない。
まぁコンパイル通るのはColumnクラスのスーパークラスが
Tableクラスだってことだろ。
>>814
禁止される変換の以下のルールのどれかにひっかかってるんでしょ。

http://www.y-adagio.com/public/standards/tr_javalang2/conversions.doc.html#175034
> ・クラス型 S がクラス型 T の下位クラスでなく,T が S の下位クラスでなければ,
>  文字列変換以外の S から異なる T への変換は許さない。
> ・finalなクラス型 Sが,インタフェース型 K を実装しなければ,
>  S から K への変換は許さない。
> ・finalなクラス型 Tが,インタフェース型 J を実装しなければ,
>  文字列変換以外のJ から T への変換は許さない。
819814:04/01/22 23:29
レスありがとうございます。

>817
すいません。前後の関係が抜けていました。。。
「Table」「Column」「Row」はそれぞれ独立したクラスであり、継承関係は一切ありません。
サンプルソースが ClassCastException をスローするのは承知です。
適当に書いたソースですので、、、

>818
言語規定に記述されている「禁止されている型変換」というのは、
「実行時における、禁止されている型変換」ではないのでしょうか?
Javaはコンパイル時には、構文チェックしか行わず、型等の整合性チェックは
実行時(遅延実行を実現するため?)に行われるものではないのでしょうか?

>>819
> 「Table」「Column」「Row」はそれぞれ独立したクラスであり、継承関係は一切ありません。
interface じゃなくて?

> 言語規定に記述されている「禁止されている型変換」というのは、
> 「実行時における、禁止されている型変換」ではないのでしょうか?
違う。>>818 のはコンパイル時に禁止される変換。

> 実行時(遅延実行を実現するため?)に行われるものではないのでしょうか?
(必要なら)実行時にも型検査するけど、コンパイル時にも型検査するよ。
821814:04/01/22 23:46
>>820
>interface じゃなくて?
すいません、Interfaceです。クラスとインタフェースで何かキャストの挙動が
ちがうものなのでしょうか?

>(必要なら)実行時にも型検査するけど、コンパイル時にも型検査するよ。
なんと、そうでしたか。。。ありがとうございます。
しかし、「Table」「Column」「Row」は独立したインタフェースで
お互いインタフェースの exctends はありません。
それなのに、コンパイル時のキャストは正常に行われるのはなぜでしょうか?
>>821
> クラスとインタフェースで何かキャストの挙動がちがうものなのでしょうか?
class は単一継承しかできないけど、 interface は多重継承できるから
キャストのルールも自然と異なる。

> それなのに、コンパイル時のキャストは正常に行われるのはなぜでしょうか?
例えば、ClassA implements Table, Column, Row とかなってる場合、
Table table = new ClassA();
Column column = (Column)table;
Row row =(Row)column;
とかいった事が出来る可能性があるので
interface から interface へのキャストは基本的に許される。
唯一の例外は同名、同引数型で戻り値型が異なるメソッドを持つ
interface 同士のキャストが禁止されてる事ぐらい。
823デフォルトの名無しさん:04/01/23 00:01
JSPでリクエストやセッションのパラメータをつかうとき
下のようにいったんローカル変数に移す意味って何ですか?

String hoge = getParameter("hoge")

824814:04/01/23 00:09
レスありがとうございました。
>>822
>class は単一継承しかできないけど、 interface は多重継承できるから
>interface から interface へのキャストは基本的に許される。
なるほど。。。だから、クラス同士のキャストは互いに関連がない場合、コンパイル
エラーになるのですね。勉強になりました。。。ありがとうございました。
>>823
スピードの問題じゃね?
ハッシュ参照するよりは普通の変数のほうが
速いしローカルなら排他も気にしなくていいし。
826デフォルトの名無しさん:04/01/23 00:28
VectorとArrayListの違いを押してください
どっちも目的は複数データを格納するんだと思いますが
>>826
Vectorのほうが古い。互換性の為に残されているようなもんだ。
新規で使うならArrayListのほうがオススメ。

そのままだと排他かかってないから
複数スレッドから同時にアクセスさせるときは
下記みたいに排他バージョンにするのを忘れずに。
List list = Collections.synchronizedList(new ArrayList(...));
>>827
古いって何?
その古いArrayListを使わずにVector使うメリットとかあるの?
Vector は過去との互換性のためだけに残されています。
Vector を使うメリットはありません。
830デフォルトの名無しさん:04/01/23 00:50
そのクラスが継承される可能性がある場合、
引数有りのコンストラクタを入れる時は
必ず引数なしのコンストラクタも入れなければいけないのでしょうか?

そのクラス単体で使うならいらないだろうけど
>>830
いいえ
>>830-831
引数有りのコンストラクタがあるクラスに参照しようとした時
method m = new Method();
でインスタンスを生成すると引数なしコンストラクタを呼び出そうとするが
引数なしコンストラクタがないのでコンパイルエラーになる

しかも、引数なしが自動生成されないため、呼び出される側で引数なしを明示する必要があるのでは?
>>826
増分が違う。
Vectorだとadd()やget()がsynchronizedなのでパフォーマンスが悪い上に
排他が不完全なので意味が無い。

っつか、ソース読め。
>>832
アホか。
引数ありのコンストラクタしかないのに
引数なしで使おうとしたらコンパイルエラーになるのは当たり前だろが。

引 数 な し で コ ン ス ト ラ ク タ を 呼 ぶ な 。
835デフォルトの名無しさん:04/01/23 03:22
サーブレットやJSPを、CGIのsuEXECのようにユーザーごとに別の権限で実行させるにはどうしたらいいのでしょうか?
836デフォルトの名無しさん:04/01/23 10:36
>>835
ユーザごとにコンテナ(Tomcat等)を起動
837デフォルトの名無しさん:04/01/23 11:18
あの、SwingやAwtやAbstractLayoutなどを使う占いAppletを作ったのですが、
僕の環境(WindowsXP,SDK1.4,eclipseで作成)では見られるのに、
友人の環境(WindowsXP)では見られません。
com.ms.security.SecurityExceptionEx[FortuneTellingMain.init]:
java.io.IOException: bad path: C:\WINDOWS\Java\lib\swing.properties
at com/ms/security/permissions/FileIOPermission.check
...略
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
などのエラーが(いくつも)出てしまいます。
この原因と対処法をどなたかお教えくださいませんか?
そのアプレットを一時的に
http://www.karashin.com/test/
にアップしておきますので、よろしくお願いします。
838デフォルトの名無しさん:04/01/23 11:25
>>837
XPのデフォルトJavaはMSのなので1.1。
プログラムの中で1.2以降のクラスやメソッド使ってるんじゃ?
839837:04/01/23 12:32
なるほど…。確認してみます。ありがとうございました。
840デフォルトの名無しさん:04/01/23 14:05
javaの関数かなんかでdosプロンプトの画面を消去するのってありませんか?
cls見たいなのなんですが。
よろしくお願いします
841デフォルトの名無しさん:04/01/23 14:18
>>840
Runtime.exec( "cls" );
>>841
cls は内臓コマンドなので、それでは、エラーになるだけ。
cmd /cだろうが
844840:04/01/23 14:41
おねがいします
845デフォルトの名無しさん:04/01/23 14:47
>>844
Runtime.getRuntime().exec( "cmd.exe /c" );

これでAF。
>>845
間違っていますよ、アナルファックさん
>>846
むむ、どこがだめだ?
肝心のclsはどこへ

>>848
なるほど。
おまえ、頭いいな。
850840:04/01/23 15:15
Runtime.getRuntime().exec( "cmd.exe /c" );
は違うんですか?
>>840
おまえ、応用力全然無いな。>>848を見習え。
Runtime.getRuntime().exec( "cmd.exe /c cls" );
852デフォルトの名無しさん:04/01/23 15:38
>>840
あー、それって、DOSプロンプトから起動したJavaプログラムが、
標準出力に書き出した内容を消去したいってことかな?
環境依存になるけど、エスケープシーケンスで出来ないこともない。

http://www.mars.dti.ne.jp/~torao/program/appendix/esc.html

Windows2000/XPのコマンドプロンプトでは不可だけど・・・。
853デフォルトの名無しさん:04/01/23 15:47
    ハ,,ハ
   (・o・,,),,)〜 jpgってなんですか?nyってなに?

お願いします。教えてください
初心者の為、どのスレで質問すればよいのかわからないので
ここで教えてください







>>853
jpg = 画像ファイル形式の一つ
ny = Winnyの略称

これ以上は検索しろ。初心者とかいって甘えるな。
>>853
・まずロープを買ってくる。100均のビニルロープでいい。
・丈夫なフックを買ってくる。
・ロープの長さは短い方がよい。自分の身長とロープを足して天井に届いてはダメ。
・首にロープを巻く。ほどけたり切れたりしないように!
・椅子等に登り天井にフックを取り付け、ロープのもう一端をフックに取り付ける。
・椅子から勢いよくジャンプ!(開放感あふれる感じで)
Javaとは全然関係ない話題だし
857840:04/01/23 16:49
ありがとうございます
858デフォルトの名無しさん:04/01/23 16:54
Swingでアプリをつくっています。
ラジオボタンa,b,c,dを作成し、
a,bとc,dとを関連付けて、2つのボタングループをつくったのですが、
例えばbを選択したときに、c,dのボタングループを選択不可にしたいです。
選択不可にすることはできたのですが、GUI上でユーザーが見て選択できない!
という、半透明?みたいな感じにしたいのです。
いろいろ調べたのですが、参考になるページを見つけられませんでした。
ご教授おねがいします。
setEnabled(boolean)
>>859
ありがとうございます。
GUIもおもしろいけど
プログラミングの本質じゃないよね
862デフォルトの名無しさん:04/01/23 22:54
本のサンプルコードで

public class TimeHashtable extends Hashtable
implements HttpSessionBindingListener, Serializable {

private String path;

public TimeHashtable(String path) {
this.path = path;
}

public void valueBound(HttpSessionBindingEvent event) {
try {
File file = new File(path);
if (file.exists()) {
FileInputStream in = new FileInputStream(path);
ObjectInputStream s = new ObjectInputStream(in);
TimeHashtable t = (TimeHashtable)s.readObject();
this.putAll(t);
}
} catch (Exception e) {
e.printStackTrace();
}
}
以下省略

どうやってインスタンス化するんでしょうか?

申し訳ないただの勘違いでした

3時間もカカッター
reflectパッケージなんとなく見てたらあれって文字列でフィールドやメソッドなんかを
いじれる見たいんだけど、おまいさん方は使ってますか?
なるべく使わないよう設計するほうがいいのかな?

865デフォルトの名無しさん:04/01/23 23:22
整数値を表示する際の桁指定方法について教えてください。
C言語で書くと、
 int i;
 printf("%02x",i);
をJavaで書くにはどうすればよいのでしょうか?
 int i;
 System.out.print(Integer.toHexString(i));
だとiの値が16未満の場合1桁で表示されてしまいますよね。
if文で(iの値を)判定して記述すれば実現可能ではあるのですが、
簡単に桁指定する方法があれば教えていただきたいです。
どうぞよろしくお願いします。
>>862
それってサーバサイドのリスナーじゃないの?
多分、web.xmlにリスナー登録したらコンテナが勝手にインスタンス化してくれるかと。
>>865
Format
868デフォルトの名無しさん:04/01/23 23:27
ネストクラスやインナークラスを使うメリットって何でしょうか?
assertと同じく、あまり使われているのを見たことないのですが

みなさん多用しているのでしょうか?
それともたんなる机上だけのもの?
>>868
>assertと同じく、あまり使われているのを見たことないのですが
こんなこと平気で言うような奴にとやかく言われたくはないが。
870デフォルトの名無しさん:04/01/23 23:29
>>836
しかし、それではメモリー様が。。。
でも、やっぱりそれしかないですか
>>864
・コンパイル時に未知であるクラスを扱う
・インターフェースよりも強い抽象化が必要
などの、reflectが無いと出来ないことでも無い限り、使わない方がよいでしょ。
多用するとコードがぐだぐだになるよ。通常の呼び出しより遅いし。
Jbuilder使わないでCpad for JAVA2SDKとか秀丸で組む事3年・・・
おかしいですかね?
知るか
>>873
ワラタ
>>864
テストケースでは比較的よく使う。

public void testCreateHoge() {
 Object o = createHoge(1);
 assertTrue(
  "createHoge() は 1 を指定されたとき、Hoge クラスのインスタンスを返さなければならない。" 
   + o.getClass().getName() + "が返されました。",
   o instanceof Hoge );
}
>>871
リフレクション遅くないよ
877267:04/01/24 01:22
javaのGUIスタンドアロンアプリで、
ソフト終了のイベントを受け取って処理するにはどうすればいいですか?
878勇者みなみ ◆S8Pf1exELk :04/01/24 01:35
ま、リフレクション使わないといけない場面なんて
ツール類開発でもない限り実はそうない
あんまり汎用化にこだわらずもっと楽にプログラミングすることも
おぼえてくれ
>>877
FrameオブジェクトにWindowListenerを登録。詳しくはSunのチュートリアルを。
ttp://java.sun.com/docs/books/tutorial/uiswing/events/windowlistener.html
java.lang.Runtime#addShutdownFook(Thread)を使う手もあるが。
>>876
えっと。
取得するのは別に遅いってわけではないと思う。
が、メソッドを呼び出すのは遅い。よな?
>>880
「地球は丸くない」と言える程度には遅い。
882デフォルトの名無しさん:04/01/24 04:52
>>879
サンクス
883デフォルトの名無しさん:04/01/24 09:02
初めまして。

小生ただいま、クライアントJavaアプリを作成しています。
下記HPに必要事項をクエリとして投げて(POSTして)みたのですが、
次の画面(Submitボタンを押した後の画面)に遷移しません。
遷移後の画面からhtmlソースを取得することが目的です。
http://www.ncbi.nlm.nih.gov/BLAST/Blast.cgi

htmlソースを見ると、JavaScriptを使用して送信?を行っているようです。
試しに、ブラウザのURL欄にSubmitボタンのアクション"javascript:document.forms[0].submit();"
を代入して移動すると、Submitボタンを押した後の画面に遷移しました。

下記がソースです。
GoogleやYahooのような検索エンジンで試してみると正しく次の画面に遷移します。
POSTの処理は、きちんと行われているようです。

JavaScriptが介入してくると、ブラウザの起動は必須なのかなと思い、
アプレットやswt3.0のBrowserClass使って簡単なブラウザを作ってみたりもしたのですが、
どちらもいまいち上手く行きませんでした。(特にBrowserクラスは出たばっかりみたいで…)
JavaクライアントアプリケーションでJavaScriptを実行する方法等教えて頂けないでしょうか。

ご教授の程、よろしくお願い申し上げます。
884デフォルトの名無しさん:04/01/24 09:05
//以下ソースです
import java.io.*;
import java.net.*;
public class SubmitButtonTest {
public static void main(String[] args) throws IOException {
URL url = new URL("http://www.ncbi.nlm.nih.gov/BLAST/Blast.cgi?");
HttpURLConnection con = (HttpURLConnection)url.openConnection();
String postdata = "ALIGNMENTS=0&ALIGNMENT_VIEW=Pairwise&" +
"AUTO_FORMAT=Semiauto&CLIENT=web&DATABASE=swissprot&DESCRIPTIONS=50&" +
"ENTREZ_QUERY=Mus+musculus+[ORGN]+OR+Homo+Sapiens+[ORGN]+OR+Rattus+norvegicus+[ORGN]&" +
"ENTREZ_QUERY=All+organisms&EXPECT=1&FILTER=L&FORMAT_BLOCK_ON_RESPAGE=None&" +
"FORMAT_ENTREZ_QUERY=All+organisms&FORMAT_OBJECT=Alignment&FORMAT_TYPE=HTML&" +
"GAPCOSTS=11+1&GENETIC_CODE=1&GET_SEQUENCE=on&LAYOUT=TwoWindows&" +
"MATRIX_NAME=BLOSUM62&NCBI_GI=on&PAGE=Translations&PROGRAM=blastx&QUERY=BG076932&" +
"SERVICE=plain&SET_DEFAULTS.x=22&SET_DEFAULTS.y=12&SHOW_LINKOUT=on&SHOW_OVERVIEW=on&" +
"UNGAPPED_ALIGNMENT=no&WORD_SIZE=3&END_OF_HTTPGET=Yes";
//ストリームを取得してデータをセット
con.setDoOutput(true);
//URL 要求のメソッドをPOSTに設定します。
con.setRequestMethod("POST");
//送信
con.connect();
//応答をすべて標準出力へ
BufferedReader breader = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line;
while((line = breader.readLine()) != null){
System.out.println (line);
}
con.disconnect();
}
}
>>865
DecimalFormatのほうがよさげな。

>>868
GUIとかでよく使われていると思うが。
それとあるクラスを作ったが
特定のクラスでのみしかつかわず
ほかのクラスで使う必要がないとき、
あるいは使って欲しくないときは
内部クラスとか使う。

>>872
秀丸+JDK + Antがそんなにおかしいかと。
JBuilderのかわりにEclipse使うことがそんなにおかしいかと。
>>883 とりあえず
javascript:document.forms[0].submit() の中身読んだら?
火星探査のスピリットのソフトはjavaで書かれているようですが、
今スピリットは機能停止しています。なぜこんなことになったのでしょうか。
javaはバグの混入をふせぐためにさまざまな機能を制限して、
それをもって安全で開発効率のよい言語と宣伝して来ましたが、
こんなに簡単にバグがでてしまうのは、言語として根本的な問題があるに違いありません。

javaは根本的な間違いをしている、これは間違いない、スピリットが停止していることが証明している。
javaの根本的な間違いを指摘してください。

一つ目、ポインタをなくしてもエラーは起こるときには起こる。
Javaにはポインタがあるけど
889デフォルトの名無しさん:04/01/24 11:38
>>887
停止したソースキボン
>>887 の根本的な間違いを指摘してください。

ひとつめ、因果関係を把握できない
いまNASAのサイト内でそれを探しているんだが、まだみつからない。

停止の原因は本当にJavaの原因なのかと。

藻前が使っている火星探査スピリットのシミュレータソフト
が停止しているのか火星上でマシンが停止しているのかどっち?

火星探査でマシンが停止したからといってJavaをつかうのはよくないと
即座に結論をだしてほしいとNASAに願っているのか藻前は。

人間がいくらがんばっても自然現象にはさからえないということをよく覚えておけよ。
いくら計算しつくしたとしても最悪の事態を100%防げる方法などないんだぞ。




>>887-891
死滅スレ逝ってやれ。
>>887
コンピュータばかりやりすぎて
どんなことでもがんばれば絶対に毎日雨が降らなくさせることができる、
どんなことでもがんばれば絶対に地震が起きる時刻を100%確実に予知
できると勘違いし信じているお馬鹿の典型がここに。
自然の摂理というものをよく知らないお馬鹿というか
工学ばかりやりすぎて理学を忘れたお馬鹿というか。

>>893
>異常は、赤外線観測装置の鏡を動かすための小型カメラの機能を調節
>している際に発生。タイシンガー氏は「この異常がきっかけになって、
>ソフトウエアが正常に機能しなくなった可能性が高い」と述べた。(共
>同通信)


>>887のいってることが全然違っとるし。
>>887はアフォですか。
マジレスしとくと
NASAが使ってるJavaは標準のモノとかけ離れてるぞ。
マシン制御用にライブラリから何からいろいろカスタマイズされてる。
Javaを使ってるってのはあくまで表層の部分であって
プログラム言語なんて用はメモリコントローラ、マシン制御なんだから
なんだっていい。
それが人類最先端の試みである火星探索で止まったからって
ウェブやアプレットでプログラミングしている庶民がどうこう言う問題じゃ無いと思うが。

宇宙船のタイヤがあるとしてそれがパンクしたら、ゴムを使ったタイヤは
根本的な問題がある。と言うのと変わらんぞ。

まず、Javaを標準のまま使ってると思ってるやつがいるのには驚いた。。。
アホ杉
ソフト自体よりも大気に含まれる成分やチリ
日射の影響、温度の差が予想以上に大きい。
磁力の影響、太陽風の影響
大気圏突入時の影響。なども
考慮に入れて調査中だそうです。


二度目の失敗で火星にはまだ我々の知らない物質や自然現象、反応などが
あるのではないかという議論もされています。
マーズパスファインダーのころからJavaは使ってたはず
899883:04/01/24 14:06
>>886
javascript:document.forms[0].submit() の中身を読むとは、
HTMLソースのScriptタグで囲まれている部分でしょうか?
ざっと見たところ、これといってヒントになりそうな物はないようでした。
src = "blastcgi.js" といったjavascriptの外部ファイルを参照しているような
記述があるだけです。
やはり、JavaScriptで送信?は無理なのでしょうか・・
iアプリを作ろうとおもい、DoCoMoさんから、専用のツールを、DLして、インストしたんですが、起動しません。
なぜか、DOSの画面がふっとでて、ふっときえます。
わかりますか?
>>900
釣り?
902デフォルトの名無しさん:04/01/24 16:43
このスレッドでテキストファイルに文字列を追加させる方法が
のっていたと思うのですが、
システムを作るときにログの機能とか作るじゃないですか。

その場合もフィルをオープンして中の文字列を読み込んで、
ログを追加して閉じるって処理になるのですか?

ログに処理の途中経過を吐き出すときなど
複数の処理が走っているときは
Aの処理はじめ
Bの処理はじめ
Aの処理途中
Cの処理はじめ
Bの処理途中
みたいな感じで、書き込む必要があるとおもうんですが、
このときもそれぞれ、ログを書き込むタイミングで
開いて文字を追加して閉じるっ
まず、おちつけ。
>>865
DecimalでなくHexのテキストフォーマットはコアにない。
ここにprintfの書式に互換するソースあるから使うよろし。
http://java.sun.com/developer/technicalArticles/Programming/sprintf/
905902:04/01/24 17:07
>>903
ごめちゃい。

途中まで書いて送信しちゃった・・・。

902の最後は
開いて文字を追加して閉じるっ

開いて文字を追加して閉じるってしてるのでしょうか?

です。

よろしくです。
906デフォルトの名無しさん:04/01/24 17:19
>>902
J2SDK1.4だったらJava Logging APIを、
それ以前だったらJakartaのLog4jを使うことを考えてみそ。
そういう面倒くさいことしなくて済むよ。

どうしても自分でやりたいなら、
ファイルを開くインスタンスは1つだけにして、
書き込みの要求は全てそいつに投げてそいつに書かせれ。
開く閉じるを繰り返すのはオーバヘッドでかいし排他の問題もあるし。
907902:04/01/24 17:45
>>906
どうもありがとうございました!

おかげで疑問が晴れてすっきりしました
自分でクラスを作って、import するのとクラスを作成して使用するのとでは
何が違うんでしょうか?
>>901
釣りじゃないです。
だれか、>>900の質問答えられる人いますか?
JAVAの環境設定はちゃんとやってあります。
910デフォルトの名無しさん:04/01/24 18:18
>>908
もう少し詳しく説明してみそ。
>自分でクラスを作って、import するのとクラスを作成して使用するのとでは
2つの違いが分からないんで、同じことだと思うのだが・・・。
ttp://www.mysql.gr.jp/ 日本MySQLユーザ会
すいませんMySQLってどれをダウンロードすればいいんでしょうか?
3.23とか4.1とか4.0とかあるのですが数字が大きいほうがいいのでしょうか?
strutsで使いたいのですが初心者なのでわかりません。
>>910
import はそのままです。
プログラムの最初で
import MyClass
として、Myclass.myxxx などとしてそのクラスの関数などを使用する方法。

クラス作成というのは、import せずに
Myclass mycls = new Myclass();
として、mycls.myxxx(); としてクラスの関数などを使用する方法です。

なにがどう違うんでしょう?
913デフォルトの名無しさん:04/01/24 19:09
RMI のリモートオブジェクト (UnicastRemoteObject) から JNI 経由でちょっと
大きなライブラリを呼び出しています。しかし、リモート側の呼び出しが何千と
いう回数になると大量のディスクアクセスが発生してどんどん遅くなってしまい
ます。ただ Runtime.freeMemory() を見ていても JVM 上でそれほど多くのメモリ
を使っているわけではないようです。

直接 JNI で呼び出したり Remote インターフェースを実装するだけの RMI 経由
だと何千回呼び出してもこのようなことは起こりません。UnicastRemoteObject
でリモート動作させるとネイティブのライブラリが多重にロードされてしまうと
いったことがあるのでしょうか? また回避策はあるのでしょうか?
>>912
あー、それは微妙に勘違いしてそうな雰囲気。
importのとこは「パッケージ」をキーワードに調べてみそ。
どちらもそのケースではimportは不要。

で、MyClass.myxxx()と、new MyClass().myxxx()の違いは、
前者はstaticなメソッドでないと呼び出せない、
つまり public static void myxxx() みたく宣言されてないとだめ。
用途は通常、staticなのはオブジェクトの状態に依存しないメソッドで使うし、
staticでないのはオブジェクトの状態に依存するやつ、
例えばString.length()とかで使う。文字列の長さはオブジェクトによって違うでしょ?
「静的メソッド」とか「staticメソッド」のキーワードで調べてみるべし。
>>912
new と importは意味も違うし関連もしていない。
ましてやあらかじめimportしていなければnewできないなんてことはない。

importはそのソース中でクラスの完全名を省略形でかけるようにするための宣言で
完全名を使うのが面倒でなければべつになくてもよいし動作も速度も変わらない。
>>913
>大きなライブラリを呼び出しています。しかし、リモート側の呼び出しが何千と
>いう回数になると大量のディスクアクセスが発生してどんどん遅くなってしまい

>いったことがあるのでしょうか? また回避策はあるのでしょうか?

その現象が起こる理由は明確にはわかりませんが、とりあえず、
リモートアクセスを減らすために SessionFacade を適用するわけにはいかないんでしょうか?