トップページ⇒tech
1001コメント465KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/10/22(日) 13:42:10
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。

前スレッド
【初心者】Java質問・相談スレッド92【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1159700963/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

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

次スレは>>980あたりで。
0083デフォルトの名無しさん2006/10/25(水) 17:49:46
>>82
入力のInputSourceをどうやって作成したかによって、できることとで
きないことがある。

A. new InputSource(InputStream)だった場合
→getEncoding()はnull、getCharancterStream()はnull
B. new InputSource(Reader)だった場合
→getEncoding()はnull、getByteStream()はnull
C. new InputSource(String)だった場合
→getEncoding()がnon-nullのこともあるかもしれない
いずれの場合も、setEncoding(String)が呼ばれていればgetEncoding()
がnon-nullかもしれない。

なので、InputSourceがどう作られるかの仮定が持てない場合は、「元
と同じエンコーディングにしたい」は不可能。
0084デフォルトの名無しさん2006/10/25(水) 18:01:50
>>83
ありがとうございます。オーバーヒートしかけてましたが、
悩みつつあった内容と同じでした。

もう少しゴテゴテと周辺で起こりそうなことを加えると

・(挙げていない点でしたが)Reader で渡している以上、Reader の読み込み時点で
 文字化け等が起こって無いことは渡すものの責任

・Reader と言うことは内部的には Unicode で渡るのだから、明示的にエンコーディングを
 指定した転送後の展開を意図するならば、「例えば」setEncoding しておけ。
 と言っても、これを見るかどうかは受け取り側次第。
 その結果文字化けが発生したらどうしようもない。強いて言えば決めてないことが悪い。

・ストリームであれば復元に関してこのような考慮は無いので、
 一般的には Reader やシステム ID でなくストリームで渡す。
 (ファイルへ書くだけならそのままであるし、その後にエンコーディングが必要な
  パーズ処理などをもしやるのであれば、正しくコピーされたファイルの中身
  から判別、といった道も自由)

つまり元々の回答には答えがないと言うか…
0085デフォルトの名無しさん2006/10/25(水) 19:43:04
C言語のソースをJavaのソースにコンバートしてくれるツールってないですか?
0086デフォルトの名無しさん2006/10/25(水) 20:17:35
>>85
実はその逆をやってくれるツールが欲しい。
探してるのですがそういうのをご存知なら加えて教えてもらいえないでしょうか?
0087ぴゅあ2006/10/25(水) 21:24:48
>>85,>>86
その手のには、java2cとかjava2c++とか(或いはその逆)
或いはj2cとか・・・
名前が付けられたりする傾向があったりするし
"Java C コンバート"とかでもググッてみるとか

色々組み合わせて探してみると
何か出てくるかも?というところですけど
0088デフォルトの名無しさん2006/10/25(水) 21:46:58
cのJVM向けのコンパイラでも用は足りるな
0089デフォルトの名無しさん2006/10/26(木) 00:35:35
AspectJを学ぼうとしたら何処のサイトがいいでしょうか?
すれ違いならば何処のスレで聞けばいいですか?
0090デフォルトの名無しさん2006/10/26(木) 10:52:43
"AspectJ"とかでもググッてみるとか

色々組み合わせて探してみると
何か出てくるかも?というところですけど
0091デフォルトの名無しさん2006/10/26(木) 16:16:12
Java 5.0 Update 8で、1と0が1600個並んだ文字列を指定してFileInputStreamを開いたら、
Windowsごと落ちた。
1.4.2_12だと単にFileNotExceptionをスローするだけで、JVMもOSも無事だった。

JVMのバグ?
0092デフォルトの名無しさん2006/10/26(木) 16:30:46
>>91
1.5.0_09-b01 では FileNotFoundException 投げるけど。

import java.io.*;
public class test{ public static void main(String[] args) throws Exception {
 String s = "";
 for(int i = 0; i < 800; i++) s+="10";
 FileInputStream in = new FileInputStream(s);
 in.close();
}}

みたいな感じのコードでチェック。
0093デフォルトの名無しさん2006/10/26(木) 17:55:17
同時ダウンロードのアルゴリズムを教えてください。
例えばファイルAが複数のサーバ上にあり、それぞれのサーバに接続しデータを受信
することにより早くダウンロードしたいのです。
0094デフォルトの名無しさん2006/10/26(木) 17:59:42
"同時ダウンロードのアルゴリズム"とかでもググッてみるとか

色々組み合わせて探してみると
何か出てくるかも?というところですけど
0095デフォルトの名無しさん2006/10/26(木) 18:38:59
ここのスレの回答はググレばっかりだなw
0096デフォルトの名無しさん2006/10/26(木) 19:31:14
iアプリをちまちま作りたいと思っているんですが、アプリ作成に最適なフリーソフトは何ですか?

携帯からスマソ
0097デフォルトの名無しさん2006/10/26(木) 19:45:14
"iアプリ、最適なフリーソフト"とかでもググッてみるとか

色々組み合わせて探してみると
何か出てくるかも?というところですけど
0098デフォルトの名無しさん2006/10/26(木) 21:19:21
JavaはあるバージョンのSDKで書かれたコードを別のバージョンのSDKに変えてもそのまま通ってくれるんですか?
0099デフォルトの名無しさん2006/10/26(木) 21:22:15
バージョンによる
0100982006/10/26(木) 21:29:54
>>99
そうなんですか、ややこしいですね…


v1.3で書かれたコードからv5.0では、どういう実情なのでしょうか?
0101デフォルトの名無しさん2006/10/26(木) 21:42:24
>>100
1.4 とか 5.0 で deprecated になったメソッド使ってるとか、
1.4 で予約語に指定された assert、5.0 で予約語に指定された enum とかを
変数名、フィールド名、メソッド名に使ってなければ大丈夫だと思うけど。
0102デフォルトの名無しさん2006/10/26(木) 21:51:22
enum予約語化のインパクトは絶大だった・・・
0103デフォルトの名無しさん2006/10/26(木) 21:56:15
ではv1.4.1で書かれたコードからv5.0ではどうでしょうか?
0104デフォルトの名無しさん2006/10/26(木) 22:02:47
>>103
>>101  の通り。
基本的に昔のコードはコンパイルは通る。
まずは試してみればOK。
0105982006/10/26(木) 22:06:58
>>101
ドキュメント読んでみて、非推奨項目に引っかからなければ原則大丈夫ってことかな。

とりあえず5.0で試してみます。ありがとうございました。
0106デフォルトの名無しさん2006/10/26(木) 22:19:18
1.4 → 5.0 のインパクトに比べれば、どんなこともインパクトに欠ける。
0107デフォルトの名無しさん2006/10/26(木) 22:34:17
数字のインパクトか!?
0108ぴゅあ2006/10/26(木) 22:50:08
>>105
取り敢えず見てみるというところでは
コンパイルしてみれば
ワーニングやエラー出してたり(出させられたり)してなかったかなぁ?

それに対してどうしようかってときに
リファレンス見ていったりしたのでもよいだろうと思うけど
0109デフォルトの名無しさん2006/10/26(木) 22:53:31
>>102 そうでもなかった。
0110デフォルトの名無しさん2006/10/26(木) 23:03:12
setTimeoutでページをジャンプさせる時に履歴を残さないようにしたいのです。
location.replaceを使えばいいように思うのですが、どうしてもうまく出来ません。
よろしくお願いします。

0111デフォルトの名無しさん2006/10/26(木) 23:51:51
>>110
JavaScriptならこっち
http://pc8.2ch.net/php/
0112デフォルトの名無しさん2006/10/26(木) 23:52:38
こっちでしたorz
http://pc8.2ch.net/hp/
0113デフォルトの名無しさん2006/10/27(金) 01:41:58
"setTimeout ページをジャンプ"とかでもググッてみるとか

色々組み合わせて探してみると
何か出てくるかも?というところですけど

0114デフォルトの名無しさん2006/10/27(金) 11:09:28
deprecatedなだけなら残ってるんじゃ
1.3未満の環境で作ったGUI周りは動きがおかしくなる事が間々あるな
0115デフォルトの名無しさん2006/10/27(金) 11:47:55
package 宣言がないとコンパイル出来ない、等も。
いずれにせよ、対処はそれなりに簡単。
0116デフォルトの名無しさん2006/10/27(金) 13:10:19
これってお金とかかかるんですかぁ〜?
タダなら始めようと思ってるんですけど
0117デフォルトの名無しさん2006/10/27(金) 13:14:20
計算結果(誤り表示)部分をクリックするとすべてがクリアされるようにせよ

クリアするメソッド?クラス?はなんですか?
0118デフォルトの名無しさん2006/10/27(金) 14:08:39
"計算結果(誤り表示)部分をクリックするとすべてがクリアされるようにせよ

クリアするメソッド?クラス?はなんですか?"とかでもググッてみるとか

色々組み合わせて探してみると
何か出てくるかも?というところですけど
0119デフォルトの名無しさん2006/10/27(金) 14:45:58
>>118
ぴゅあさん。ありがとうございます。
自己解決しました!
0120デフォルトの名無しさん2006/10/27(金) 17:21:51
現在アプリケーションを自作しているのですが、
CardLayoutでだいたいJPanel(正確にはJPanelを継承したクラス)70から80枚。
そして各1枚に平均4枚ほどのJPanelそしてその上にJLabelやJButtonや他の
コンポーネントも多数張り付けています。(JButtonはだいたい4つぐらいが平均かと思います。
JLabelは多いもので40ぐらいそのほかJListやJTextFiedも多用)です。
レンダリングが旨くいっていないということではなくFrameががくがく震えます。

Jarファイルのサイズとしては6mbから7mbぐらいでそれほど大きくはないのですが、
フルスクリーン表示で画面がときどき小刻みに揺れます。
他のマシーンでも動かしてみたのですが、やはり時々ゆれてしまいます。
2台ともかなりHigh specなマシーンです(1台目は4の3.8にメモリ2GB・2台目は3.0のメモリ1GB)。
ただ2つともノートン2006がインスコされてあり原因がどちらだかわかりません。
これからアンインストールして試して見ますが、
このぐらいコンポーネント数でやはりリソース不足か何かでこういう現象が起きてしまうのでしょうか?
できるだけリソースを開放するように作ってありますが、CardLayout上に張ってあるコンポー
ネント群はnewすると切り替えにかなりの時間がかかってしまい出来れば避けたいのでいい
方法はないでしょうか?宜しくお願いします。



0121デフォルトの名無しさん2006/10/27(金) 17:35:08
何のソフトを入れているとWindowsが重くなるのかリスト
ttp://gigazine.net/index.php?/news/comments/20060911_system_delay/
0122デフォルトの名無しさん2006/10/27(金) 17:40:11
120へ。
そんなにゆれる?
ソースは?
0123デフォルトの名無しさん2006/10/27(金) 18:32:26
>>119
なんで「デフォルトの名無しさん」が、ぴゅあ様だってわかったんだろ?
0124デフォルトの名無しさん2006/10/27(金) 18:40:31
>>120
CardLayout直下のJPanel 半分ぐらい削って、がくがく震えるかってのを
JPanel の数が無くなるまで繰り返してみる、とかして原因特定できないか?
0125デフォルトの名無しさん2006/10/27(金) 18:54:01
>>123
あれだけAA荒らしで荒れてたスレがぴゅあが来てから不自然に静かになったことから察しろ
0126デフォルトの名無しさん2006/10/27(金) 19:03:16
普通にとんでもない量のリソースを食うんじゃなかろうか。
0127デフォルトの名無しさん2006/10/27(金) 19:08:09
>121
�dクスです。Norton先生がトップを走っているので怪しいと思うのですが、マシンがかなり
早いので大丈夫かと思っていたのですが・・・ノートン板で前にその記事をみたのでそうかと思った
のですが、プロセスをみているとそれほどメモリ食っていないんですよね・・・でも最終的には
ノートン外してみます。他のマシンでも試したいのですが、自分の使えるのがこの2台と
ロースペックのノート1台なので・・・

>122
はい、かくかくと揺れます。丁度、PowerPointやJavaScriptのホームページ
でブルブル震えるようなエフェクト。あれを小さくした感じです。頼まれた人に見せたのですが、別に
気にならないだけどと言ってくれますが、リソース不足でプログラムが落ちる可能性もなくはないので
ことが心配なので放っても置けません。javaのオプションでヒープ領域は大目にとってありますが、
他のoptionは入れていません。

後ソースは本当に長すぎて出せないです・・・大体170クラスあって平均しても一クラス800から
1000行程度はあるのでとてもだせないです。全部一人で書いているので許可がいるとかそういうこと
はないんですが・・・

原因の箇所がわかっているかもしくはこの部分を見れば分かるというのであればだせますが・・・

自分はコンパイラ(コード生成部)とかレンダリングエンジンを書いたことはあるのですが、
Javaを使ってGUIのシステムを作ってくれと頼まれたので本やインターネット上で探しつつ
3ヶ月ほど前から気合を入れて作ってようやく完成にちかづいたのですが、GUIを使っての製作
は今回が初めてなものでコレぐらいのコンポーネントでゆれてしまうのかなぁ・・・と思い投稿させ
ていただきました。

あまりGUIを使ったプログラムを書いた経験がないのでもしそういう現象があればお聞きできれば
と投稿させていただきました。宜しくお願いします。
0128デフォルトの名無しさん2006/10/27(金) 19:16:20
>124
そうですね。最終的にそれ以外のリソースを削りまくってだめならプログラムを
分割する予定ではいます。あとNortonを外して・・・ でもあとできることといったら
Objectをプールして使いまわすぐらいなんですよね。

最終的にはプログラムのチューニングは徹底的にやろうとは思うのですが、やはりCardLayoutに
はってあるコンポーネントを外すしかないんですかね・・・できれば避けたかったのですかね・・・

>126
そうですよね・・・
0129デフォルトの名無しさん2006/10/27(金) 19:55:28
ところで震えるのは、フレーム(アプリの一番外側)なんでしょうか?
0130デフォルトの名無しさん2006/10/27(金) 20:10:01
>129
そうですね。フルスクリーンでやっているので中がゆれるというよりも
フレーム(JFrame継承したフレーム)ごと揺れるといった現象です。
当たり前ですが、フルスクリーンといってもゲームやスライドショー等
で使われるレンダリング手法は取っていません。

リサイズも出来なければ右上のcloseボタンで閉じることも禁止しています。
0131ぴゅあ2006/10/27(金) 21:31:37
>>130
結構乗せているものは多そうと受け取りましたけど
レイアウトってそのサイズや配置を自動的に算出してくれますよね
実際に試してみなきゃ判らないとは思っているけど
・なんか計算し直しばかりが繰り返されてしまっている
・各コンポーネントに対して計算するときに変な端数が?
とかあったりするとかあるのかなぁ?とか思ったりしてみますけど・・・

最近あまり触ってる時間とか作れてないので
自分でもやってみようかな?というところまでは
行けなかったりするだろうなぁ
というところだったり。。。
0132デフォルトの名無しさん2006/10/27(金) 21:47:49
Apache(Tomcat) や Jakarta Commons の FileUpload にバグってありますか?
最近、趣味で Servlet と JSP を使ってアップローダを作成したのですが、
その中の部品として上記 Commons を利用しているので気になっています
また、Commons を利用して作ったアップローダを公開するのはライセンス
違反になってしまいますか?
この辺の事情に詳しい方、どうか教えてくださいm( _ _ )m
0133デフォルトの名無しさん2006/10/27(金) 22:16:28
何のライセンス違反?
0134デフォルトの名無しさん2006/10/27(金) 22:22:47
>>133
Commons のです
0135デフォルトの名無しさん2006/10/27(金) 22:23:51
まず、ライセンス読んでみた?
0136デフォルトの名無しさん2006/10/27(金) 22:26:58
英語なので挫折しました・・・orz
0137デフォルトの名無しさん2006/10/27(金) 22:29:58
>>130
ここで言うフルスクリーンと言うのは、
画面一杯に広がるような処理を書いてたりするんでしょうか。
(どちらかというと「最大化」に近いようなもの。)
その場合、画面サイズ取得・サイズ更新が
不必要に起きてないか確認すると
何かの手がかりが得られるかも知れません。
0138デフォルトの名無しさん2006/10/27(金) 22:49:41
A.javaとB.javaをパッケージに含んでいて、

A.javaで
public class A{
B[] b=new B[10];

public A(){
for(int i=0;i<10;i++)
b[i].member=i;

for(int i=0;i<10;i++)
System.out.println(b[i].member);
}

B.javaで
public class B{
public static int member;
}

自分としては出力結果が0,1,2,3,4,5,6,7,8,9となって欲しいんですけど、
9,9,9,9,9,9,9,9,9となってしまいます。
C言語のtypedef structの感じでclassを使ってるのが良くないのか、よく分かりません。
エスパーで指示して貰えませんか?
0139デフォルトの名無しさん2006/10/27(金) 22:57:59
staticやめればちゃんと表示される
0140ぴゅあ2006/10/27(金) 23:00:28
>>138
>エスパーで
というのがどんなものか教えて貰えませんか?

エスパーで指示とか解らんので、取り敢えず

>public static int member;
クラス変数(クラスフィールド)について理解してみるのがいいでしょう
01411322006/10/27(金) 23:02:31
ライセンスについてはもう一度調べてみることにします
ところで、バグの方はどうでしょうか?
01421382006/10/27(金) 23:03:29
>>139-140
thx

>>140
ごめんなさい。
【マジレス】超初心者の質問に答えるスレ17【エスパー】
http://pc8.2ch.net/test/read.cgi/win/1161170982/
こんなものです。
0143デフォルトの名無しさん2006/10/27(金) 23:19:34
>>138
public class A{
public static void main(String args[]){
new A();
}

public A(){
B[] b=new B[10];
for(int i=0;i<10;i++) {
b[i] = new B(i);
b[i].member=i;
}
for(int i=0;i<10;i++){
System.out.println(b[i].member);

}
}
}


class B{
public int member;
B(int a){
member = a;
}
}
0144ぴゅあ2006/10/27(金) 23:24:55
>>142
なるほど ありがとう

でも、エスパーでなくても答えを考えられるだけのものを
質問としてちゃんと揃えられていると思いますよ


>A.javaとB.javaをパッケージに含んでいて、
は、まぁこの場合余計なものだったりするだろうけど

・期待している結果
・期待通りではなかった実行結果
・それを分析できる材料(ソースコード…分析するに十分な)
01451382006/10/27(金) 23:25:40
>>143
ありがとう。
NullPointerExceptionで困ってました。
0146ぴゅあ2006/10/27(金) 23:26:37
あ・・・

>>142
で、「よく分かりません。」がなんとかなりそうだったか
というところが重要だろうけど・・・
0147ぴゅあ2006/10/27(金) 23:30:26
>>145
あぁ 確かに・・・

>B[] b=new B[10];
で入れ物は作ってるけど
クラスBをインスタンス化して入れてるところがなかったね
01481382006/10/27(金) 23:34:02
>>147
いろいろありがと。
時間とらせてスマンかった。
0149ぴゅあ2006/10/27(金) 23:55:12
ごめんなさい

>>147のは>>145,>>143と入れた方がよかったかな・・・と
書いたあとでちょっと気になりました。。。
0150デフォルトの名無しさん2006/10/28(土) 00:04:11
>>132
ライセンスは問題なし。ASLに従って
「このプロダクトにはApache Software Foundationの製品が含まれています」の
一文が製品情報に含まれていればOK。
バグはある。というか無いわけがない。
Apacheのjiraを見れ。
0151デフォルトの名無しさん2006/10/28(土) 08:42:39
import java.awt.*;

public class Awt01 {
Frame frame;

public Awt01() {
frame = new Frame( "フレーム" );
frame.setSize( 200, 100 );
frame.setVisible( true );
}

public static void main( String[] args ) {
Awt01 awt01 = new Awt01();
}
}
上のコードは入門のJAVAテキストに書いてあったものですが、
これをeclipseで実行しようとすると、エラーが出てしまいます。
public class Awt01  のpublicを消すとなぜか普通に動きます。

eclipseには”public 型 Awt01 はそれ独自のファイル内に定義されなければなりません。”とでてました。
どういう意味なのかさえ検討つかないのです。教えてください。
0152デフォルトの名無しさん2006/10/28(土) 09:09:49
>>151
Awt01 って名前のトップレベルな public クラスは
Awt01.java の中で宣言されないといけない。
大文字小文字も区別されるので注意。
0153デフォルトの名無しさん2006/10/28(土) 09:12:46
>>151
このスレは偽物です。

本スレはこちら

【100%】Javaの質問・相談にぴゅあが答える【PURE】
http://pc8.2ch.net/test/read.cgi/tech/1161423563/l50


01541272006/10/28(土) 15:11:38
>131
遅れてごめんなさい。
レスありがとうございました。
ピュアさんどうもありがとうございます。
一応レイアウトマネージャーは今まであるものが不便だったので一応自作しました。
JPanelを継承しているクラスで使っているこのレイアウトマネージャーに原因があるのかも
しれないのでもう一度見直します。かなり単体テストをしまくったのですが一応もう一度慎重に
調べてみます。後使い方も調べてみます。あとはNortonを外したりいろいろやって見ます。

>137
ありがとうございます。
そうですね・・・みんなこれはやっていることなので参考にしながらやってみたのですが・・・

他の皆さんもありがとうございました。
ここでレスしてくださった方法と自分が知る限りの方法で原因を探り
後2週間程度で仕上げに入ってテストに入りたいと思います。
いろいろ参考になりました。本当にありがとうございました。
0155デフォルトの名無しさん2006/10/28(土) 15:31:20
>>151
全角スペースとか、全角アルファベットとか入ってないかチェク
publicを消していい訳は無い
0156デフォルトの名無しさん2006/10/28(土) 15:36:41
>>151
ファイル名とクラス名が一致していないとダメ。大文字小文字も一致させてね。
ファイル名は Awt01.java になってる?
0157デフォルトの名無しさん2006/10/28(土) 16:25:02
すごい初心者的な質問です。

int[] a = new int [128];
のaなのですが、一体何クラスなのでしょうか。

.length で配列の長さが取れるのが不思議でなりません。
Arrayクラスというのを見てみましたが、それではないようです。

それになんで .length() ではなく .length で長さが取れるように設計されているのでしょうか。
くだらない質問ですが、どなたか解説していただけませんでしょうか。お願いします。
0158デフォルトの名無しさん2006/10/28(土) 16:32:24
こんにちは。ぜひ相談させて下さい。

サーバサイドJavaの話なのですが、特に制限されてなかったので・・・。
Mayaaを使用したことある方、ぜひお願いします。



mayaaファイル内の変数の条件によって、Strutsのtaglibを用いて作成したhtml要素に、
属性を付加することはできますか?



htmlテンプレートに

<input id="xxx" type="text">

があったとして、mayaaファイル内で、

<html:text m:id="xxx" name="..." property="..."/> (例

とすれば、テキストボックスが作成されますが・・・。
しかし、これに属性を追加する方法がわかりません。

<m:echo> と <m:attribute>を使うことも考えましたが、
これはテンプレート上のタグをそのまま出力するためのものですよね。



識者の方、ご解答よろしくお願いします。
0159デフォルトの名無しさん2006/10/28(土) 16:35:22
>>157
int[] クラスです。.length は隠しフィールドです。
配列は言語仕様上特別扱いされているので
API リファレンスを見るより言語仕様書を見た方がいいでしょう。
0160デフォルトの名無しさん2006/10/28(土) 16:36:14
インターフェースと抽象クラスの使い道がよくわかりません。
メソッドの内容がかかれてないのに、なんの役に立つのと初心者の私にはおもうのですが。
多重継承できないJAVAには必要とかかれてましたが、なおさらパニクってます。

0161デフォルトの名無しさん2006/10/28(土) 16:40:57
>>158
"サーバサイドJava Mayaa"とかでもググッてみるとか

色々組み合わせて探してみると
何か出てくるかも?というところですけど
0162デフォルトの名無しさん2006/10/28(土) 16:44:15
>>158

ググりましたし、メーリングリストも全てチェックしたのですが、、、
多少ヒントになる話題はあっても(条件分岐を伴うm:attributeによる属性追加 等)、
 『属性追加の対象がtaglibによるものである』
といった、ポイントに触れるものはありませんでした・・・。
0163デフォルトの名無しさん2006/10/28(土) 16:56:58
byte[] buff = new byte[1024];
int n = is.read(buff);
st = new String(buff);
System.out.println(st); // ここではちゃんとTESTと表示される

if(st.equals("TEST"))
処理

このようなコードでbuffに"TEST"という文字を送っても
処理の部分が実行されません。
何故でしょうか?
0164デフォルトの名無しさん2006/10/28(土) 16:57:12
>>162
MLに投げたらいいんじゃないの?
0165デフォルトの名無しさん2006/10/28(土) 16:59:55
>>163
isいらんやん

printlnで表示されたからといってequalsじゃないだろ
buff 1024バイトあるんだろ?Stringの後ろはどうなってるかチェックしてみ。
0166デフォルトの名無しさん2006/10/28(土) 17:03:43
ServerSocketクラスの勉強をしているんですが、

ServerSocket s = new ServerSocket(1333);

このようにポートを開放?してもセキュリティ的に大丈夫なんでしょうか?
よくわからないんですがなんとなく心配です。
0167デフォルトの名無しさん2006/10/28(土) 17:06:19
>>165
なるほど。buffの使ってない部分が影響してるということですか
では、この方法で文字列を比較することはできないんでしょうか?
文字列の最後に\0を付加することでできたりするんですかね?
0168デフォルトの名無しさん2006/10/28(土) 17:26:19
HTMLの表示にGeckoを使用すため、Webclient 2.0 Alpha 3.0 と Mozilla 1.7.12 をダウンロード・解凍し
下記のページを参考に各種設定を行いました。
tp://null.michikusa.jp/misc/webclient.html

ディレクトリとビルドパスの設定は次のように行いました
 ・プロジェクト…C:\workspace\gecko\
 ・Mozilla.exeのディレクトリ…C:\workspace\gecko\mozilla
 ・webclient.jarのパス…C:\workspace\gecko\mozilla
 ・VM引数の設定…
   -DJava.library.path=C:\workspace\gecko\mozilla;C:\workspace\gecko\mozilla\components
   -DBROWSER_BIN_DIR=C:\workspace\gecko\mozilla

mozillaディレクトリの内容はmozilla-win32-1.7.12.zipを解凍して得られたフォルダに
webclient_2_0_a3_win32.zipを解凍して得られたwebclient_2_0_a3_win32フォルダから
webclient.jar、javadomjni.dll、webclient.dllをコピー、また\webclient_2_0_a3_win32\componentsの
javadom.dllを、mozilla\componentsにコピーしたものです。

その後、テストとして同ページからSimpleBrowser.java(tp://null.michikusa.jp/misc/SimpleBrowser.java)を
eclipse上で実行したところコンパイルは正常に行われるのですが、実行段階で
java.lang.NoClassDefFoundError: Exception in thread "main" が表示されてしまいます。
ビルドパスの設定が間違っているのでしょうか。
0169デフォルトの名無しさん2006/10/28(土) 17:34:12
"HTMLの表示にGeckoを使用すため、Webclient 2.0 Alpha 3.0 と Mozilla 1.7.12 をダウンロード・解凍し
下記のページを参考に各種設定を行いました。
tp://null.michikusa.jp/misc/webclient.html

ディレクトリとビルドパスの設定は次のように行いました
 ・プロジェクト…C:\workspace\gecko\
 ・Mozilla.exeのディレクトリ…C:\workspace\gecko\mozilla
 ・webclient.jarのパス…C:\workspace\gecko\mozilla
 ・VM引数の設定…
   -DJava.library.path=C:\workspace\gecko\mozilla;C:\workspace\gecko\mozilla\components
   -DBROWSER_BIN_DIR=C:\workspace\gecko\mozilla

mozillaディレクトリの内容はmozilla-win32-1.7.12.zipを解凍して得られたフォルダに
webclient_2_0_a3_win32.zipを解凍して得られたwebclient_2_0_a3_win32フォルダから
webclient.jar、javadomjni.dll、webclient.dllをコピー、また\webclient_2_0_a3_win32\componentsの
javadom.dllを、mozilla\componentsにコピーしたものです。

その後、テストとして同ページからSimpleBrowser.java(tp://null.michikusa.jp/misc/SimpleBrowser.java)を
eclipse上で実行したところコンパイルは正常に行われるのですが、実行段階で
java.lang.NoClassDefFoundError: Exception in thread "main" が表示されてしまいます。
ビルドパスの設定が間違っているのでしょうか。
"とかでもググッてみるとか

色々組み合わせて探してみると
何か出てくるかも?というところですけど
0170ぴゅあ2006/10/28(土) 17:51:38
このスレは偽物です。

本スレはこちら

【100%】Javaの質問・相談にぴゅあが答える【PURE】
http://pc8.2ch.net/test/read.cgi/tech/1161423563/l50

0171デフォルトの名無しさん2006/10/28(土) 18:04:08
>>167
if(st.indexOf("TEST")!=-1)
0172デフォルトの名無しさん2006/10/28(土) 18:10:21
>>160
「ポリモフィズム」とか「多態性」とかでググってみると良いかも。
DIコンテナのサンプルコード読むのもお勧め。

ここで抽象的な話しても、多分理解してもらうのは難しい。
実用アプリやフレームワーク設計とか始めると
分かってくる(=実感する)と思う。

>多重継承できないJAVAには必要とかかれてました
破り捨てた方が良い。
0173デフォルトの名無しさん2006/10/28(土) 18:14:28
>>167
String のコンストラクタに、
バイト数指定できるやつがあるから
それを使ってみたらどうでしょう。

st = new String(buff, 0, n);
0174デフォルトの名無しさん2006/10/28(土) 18:22:17
>>168
エラーを改変してコピペしてませんか?
0175デフォルトの名無しさん2006/10/28(土) 18:31:20
 String st="か";
 byte[] byt=st.getBytes();
 System.out.println(byt);
 System.out.println(st.getBytes());

 出力結果
 [B@145d068
 [B@758fc9
このコードではなぜか異なる結果が出てしまいます。
Stringの方の出力結果が、bytの出力と同じ結果を返すようにするにはどうすればよいでしょうか?
どうかよろしくお願いします。
0176デフォルトの名無しさん2006/10/28(土) 18:34:16
JAVAのコンパイル(javac)に10秒以上かかるのですが、
「ClassPath設定しなをせば?」といわれたのですが
どうやるんでしょうか?あと、yahooなどのゲームができない
(「JAVA 仮想マシン」をダウンロードというテロップが出て、
ダウンロードを押すと、No Java Installedというページに逝き、
画面の左上に赤い×がついてしまいます。
一応、JAVAも実行できる環境だし、インターネットオプション見ても
「JAVA SUN」に1項目、「マイクロソフト VM」に3項目、JAVA関連にチェックついてます。
JAVA SUNをインストールしているとJAVA VMはインストールできないんでしょうかねぇ・・
ほとんど知識ないまま質問してしまいましたが、JAVAのコンパイル速度と、ヤフーゲームなどを
できるように直したいです。宜しくお願いします。
0177ぴゅあ2006/10/28(土) 18:35:07
>>154
Nortonという言葉が何度か出てきているのが目に止まりましたけど
絶対にとは言えないけど、問題は他にあって、
Nortonの影響の可能性は低いんじゃないかと思ったりします
早めに確認しておいたりする方が安心?できたりするのかも知れませんけど

でも、Nortonがあると動かせないということになったりすると
今時、困ったもんですよねぇ。。。
0178ぴゅあ2006/10/28(土) 18:37:21
>>157,>>159
>int[] クラスです。
というのはあまりにも・・・(配列オブジェクトとか?)
と思ったのでザックリ読んでみたのですけど

int型の"配列型のオブジェクト"という扱いであって、
明示的なクラスというのはなさそうに思えたりします

lengthはフィールドということになっています
が、配列は言語要素の深く関わる実装で、
ArrayクラスのようなAPIリファレンスに現れるのとは違って
表に見えない形のクラスとして存在しているんじゃないかと思います
(無理矢理当て嵌めるならObjectクラスから継承された無名クラスのようなもの?)
なのでArrayクラスとかでもないし、APIリファレンスにも出てこない

言語仕様の"10.配列"辺りを読んでみるといいんじゃないでしょうか
0179デフォルトの名無しさん2006/10/28(土) 18:49:42
>>175
http://pc8.2ch.net/test/read.cgi/tech/1159700963/102
0180デフォルトの名無しさん2006/10/28(土) 18:52:48
10日で覚えるJAVAの本を買ったのですが、理解できないところあるので、ご示唆ください。
public〜略
public static〜略

String myStr = new String("サンプル”)
System.out.println(myStr);
以下略
実行結果はサンプルを表示するのはわかるのですが、
Stringは文字列を扱うということは分かるのですが、 myStrと newStringの意味がわかりません。

myとnewの使い方の意味をおしえてください。
0181デフォルトの名無しさん2006/10/28(土) 18:56:32
JAVAアプレットにBMP形式の画像ファイルの読み込み,
表示をさせたいのですが、表示させることができません。
どうすればよろしいのでしょうか?

0182デフォルトの名無しさん2006/10/28(土) 19:00:05
>>180
変数の概念をわかっていないようです

これはわかる?
int myInt = 0;
数字型を扱うmyIntという変数に0を入れる

上と同じこと
String myStr = new String("サンプル");
文字列を扱う変数myStrに サンプル という文字列を入れる

myは命令ではなく変数名として名づけただけ、無くてもいい
■ このスレッドは過去ログ倉庫に格納されています