5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:04/12/07 20:50:09
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

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

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

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

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

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

2 :デフォルトの名無しさん:04/12/07 20:55:25
あ、あの、えと、、、2、、、ゲット?

3 :デフォルトの名無しさん:04/12/07 20:57:03
シリアライゼーション
http://dictionary.rbbtoday.com/Details/term322.html

4 :デフォルトの名無しさん:04/12/07 20:59:30
>>前スレ982
なるほど。
DataInputを使った場合、返り値などでストリームの終端を認識できないのですね。

それにしても
while (true) {
 try {
  byte b = in.readByte();
 } catch (EOFException ignore) {
  break;
 }
 sha.update(b);
 md5.update(b);
}
のほうが綺麗だと思うんですが、どうなんでしょ?
ループを例外で抜けるのは違和感があるのですが
結構使われてるもんなんでしょうか?

5 :1:04/12/07 21:00:34
うわ。>>1の前スレのリンク間違えた。

前スレはここ
【初心者】Java質問・相談スレッド57【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1101077884/

6 :前スレ998:04/12/07 21:04:13
998 名前:デフォルトの名無しさん[] 投稿日:04/12/07 20:46:31
java.io.Serializableとは、どのように使用するものですか?

APIにある、直列化とはどういう意味でしょうか・・。


---

前スレで上の質問をした者です。

>3
ご回答ありがとうございます。

なるほど。ネットワークを通したり、ファイルを保存するなどに使用するのですね。
これは、こうしなきゃちゃいけない、という必須のインターフェースですか?
ファイルの保存なんかはSerializableをインプリメンツしなくてもできそうな気がするのですが。

7 :デフォルトの名無しさん:04/12/07 21:04:55
質問です。
Javaの解説サイトや、ここのJavaスレッドでもよくみる hoge とは、何ですか?

8 :デフォルトの名無しさん:04/12/07 21:07:02
>>7
http://www.google.co.jp/search?hl=ja&q=hoge&lr=

9 :デフォルトの名無しさん:04/12/07 21:12:58
>>8
Javaに限らず、困ったらhogeなんですね。勉強になりました!
というかググらずに質問してごめんネ(´・ω・`)

10 :デフォルトの名無しさん:04/12/07 21:36:42
JavaやJSPなどでブラウザ上に日本語を表示させるときに
文字列エンコードなど設定します
私のやり方はとにかく、いろいろ試してうまく表示できればそれでOKという事にしていますが
当然、そういうやり方だと大規模プロジェクトなどで無理が出てくると思います

文字コードに関して
このときはShift_JIS、このときは他のコードを使うとか
そのような決まりというか、設定パターンとかあるのでしょうか?

11 :デフォルトの名無しさん:04/12/07 21:44:10
機種依存文字、特にユーザーが多いWindowsでの文字を扱いたいのならMS932かUTF-8で。

12 :デフォルトの名無しさん:04/12/07 22:01:39
IIS+Tomcatの環境なんですが、ServletからJNIを使ってC++で作った関数を使用し、
値を返そうとしています。
そういったことはこの環境でできるのでしょうか。


13 :デフォルトの名無しさん:04/12/07 22:02:50
IIS+Tomcatの環境なんですが、ServletからJNIを使ってC++で作った関数を使用し、
値を返そうとしています。
そういったことはこの環境でできるのでしょうか。




14 :デフォルトの名無しさん:04/12/07 22:34:11
できる

15 :Java初心者:04/12/07 23:21:40
はじめまして。
Microsoft Visual Studio97のJ++を使っております。
VJ++(1.1)でのビルド中にエラーの回避策についてお聞きしたいと思っております。

Javaアプレットのプロジェクトを新規に作成して、ソースに手を加えずにコンパイルしたら、
error J0051: 'lang' は未定義のパッケージです
error J0051: 'applet' は未定義のパッケージです
error J0051: 'awt' は未定義のパッケージです
の3つのエラーが出てきます。

ソースの先頭に、
import java.applet.*;
import java.awt.*;
でインポートしています。
また、ためしに import java.lang.*; を追加しても同様に上記3エラーが発生します。

VJ++、MSDNをインストール後、VisualStudio ServicePack3 を適用しています。
※VJ++のインストール時に、カスタムですべてインストールしています。

おわかりの方がおられましたら、お手数をおかけしますが回避策を教えていただけましたら
幸いです。

OS:Windows2000(SP4)

16 :デフォルトの名無しさん:04/12/08 00:48:05
>>15
Javaを使いたいのかVisual J++を使いたいのかをまず決めること。

* Visual J++を使いたい場合 → MSのサポートに電話する
* Javaを使いたい場合 → Visual J++を捨てる

好きな方を選べ。Visual J++(の言語)はJavaではない。


17 :デフォルトの名無しさん:04/12/08 01:14:25
>>1
スレ立て乙。

18 :デフォルトの名無しさん:04/12/08 01:32:38
JSPで帳票をプレビュー、印刷をしたいのですがどうすればいいのですか?
できれば100枚で数分でプレビューしたいのですが・・・。

19 :デフォルトの名無しさん:04/12/08 01:51:04
>>18
PDF出力ツール買って組み込め。

http://www.wingarc.com/doc/products/index.html

http://www.agtech.co.jp/products/crystal/


20 :kk:04/12/08 09:11:34
java.awtのボタンに画像を設定することってできるのですか?

21 :Java初心者:04/12/08 10:07:58
>>16
ありがとうございました。
VJ++を捨てます。

22 :デフォルトの名無しさん:04/12/08 11:21:24
VJとJavaの違いって何ですか?
ググったんですけどよくわからなかったので

23 :デフォルトの名無しさん:04/12/08 11:42:47
Javaアプレットでジョイパッドからの入力を受け取る方法はありますか?

24 :デフォルトの名無しさん:04/12/08 11:51:01
Integerの使い道がわかりません・・・
どなたか宜しくお願いします

25 :デフォルトの名無しさん:04/12/08 12:26:58
初心者ページなんかで少しどんなもんかjavaをいじってみたんですが、
基本的にDOSで動かしたりwebにのせたりするレベルのものしか作れないのですか?
VBの基本をかじった以来の言語なんですが、かなりとっつきにくいのですが・・・
多言語でもこんなもんなんですか?

26 :デフォルトの名無しさん:04/12/08 12:27:29
>>4
結果として同じ


27 :デフォルトの名無しさん:04/12/08 12:28:21
>>25
コマンドラインベースでやればどこもそんなもんかと
.NETでもCでもすべて

何をしたいのだ?

28 :デフォルトの名無しさん:04/12/08 13:00:32
VBはとっつきやすそうなのが売りなんだから、
他言語がとっつきにくいのは当然じゃまいか?

29 :デフォルトの名無しさん:04/12/08 13:18:43
>>25
GUIのアプリケーションも作れる

30 :デフォルトの名無しさん:04/12/08 13:24:38
>>25
GUIアプリも作れます。こちらをご覧下さい。
http://www.javadeveloper.jp/members/regular/Rensai.category_rensai_article_plugin_issue_15.dhtml
http://www-6.ibm.com/jp/developerworks/opensource/040813/j_os-ecvisual.html
VBより面倒なのは確かですけどね。言語仕様もそうだし、GUI開発用APIの作りもそうだし。

ワシはEclipse厨なのでJBuilderとかNetBeansとかは知らんぞい。

31 :デフォルトの名無しさん:04/12/08 13:34:51
>>25
実はVBの難易度とJavaの難易度はさほど変わらない。
VBは一見とっつきやすそうで実は難しい。
さらに現在では、VBの方が実用的な言語であると一般的に評価されている。
長らく崇拝されていたオブジェクト指向の様々な欠点が指摘
されるようになって久しいが、その中心は、三大要素の一つ「継承」の
実用機会の少なさだ。完成されたライブラリでしかその恩恵が得れない。
継承よりもinterfaceの方が実際には重宝されている。つまり継承は
理想論でしかなかった。Javaはinterfaceを一つの方法でしか表現せず、
その重要性に気づかなかった。C♯はその点をかなり解決してる。
javaは、オブジェクト指向の理想的側面ばかりを重視して、実用レベル
現場レベルの事まで考慮しなかった。つまり初期設計が失敗している。
Javaの将来性は無いと言えるだろう。

32 :デフォルトの名無しさん:04/12/08 13:37:15
マジかよ
継承バリバリ使ってる俺はどうすればいいんだ・・・

33 :デフォルトの名無しさん:04/12/08 13:52:08
継承ってスーパークラスとかサブクラスとかのあれだっけ。

今職業訓練でやってるが、一人でやってた時は理解できなかったのと、
まんどくさそうだったので使わなかったな。

34 :デフォルトの名無しさん:04/12/08 14:02:17
職業訓練って刑務所とか少年院でやるやつだっけ?

35 :デフォルトの名無しさん:04/12/08 14:03:15
Swingとか継承バリバリつかってるだろ
それにJava使ってる限りObjectかならず継承するだろうに

VBの利点はあのとっつきのよいライブラリ群
こまわりはきかないが、それなりに扱える

ただ、.NETになって便利な独自ライブラリがごっそり抜けてAPIが統一されたわけだ
Win32APIにくらべれば.NETははるかに便利ではあるが
ある意味感覚的にはWin32APIのみを使ってVBで書かせるような感じ

CやC#なら単純にAPIレベルであそこまで高機能なのはひたすら便利
基本となるAPIが暮らすライブラリとしてはじめて実用的になったのがJavaで
そのあとつづいてきた.NETということで今後は楽になるだろう
BeOSはC++使ったAPIでそれなりにリンクで苦労していたので
互換性維持しつつ実用度という点では厳しかったのだ

C#どころかVB.NETとかも仕組みなどはJavaまんまだが
グラフィック周りはかなり違うアプローチをとってる
BCBやDelphi触っていた人はSwingよりWindowsFormのほうがVCLに近い

というかSwing機能多すぎ
ラッピングしてAWTのように使いやすいライトウエイトコンポーネントが
標準であってもいいかもと思っている
逆にいじり倒すならこれほど面白いものもないが、業務プログラムで
時間に追われている場合はさっさと自分のプログラミングスタイルつくらんときつい

というのがいろんなのを触ってきた俺の意見だが、まとまりなくてゴメーヌ

36 :デフォルトの名無しさん:04/12/08 14:05:42
継承についての初歩的な質問なんですが
class A {・・・ と class A extends Object {・・・
では、何か違いがあるのでしょうか?
教えてください、お願いします。

37 :デフォルトの名無しさん:04/12/08 14:06:22
いや、かならず継承はするが、それ以上継承しないし。
自分から継承を使おうという積極性と、理解力の両方が俺にはかけているんだよ。

38 :デフォルトの名無しさん:04/12/08 14:22:24
継承はフレームワークを使うときや作るときぐらいにしか使わんね。
オブジェクト指向関連の書籍をみても、継承よりも委譲による機能の拡張を進めてるから
無理して使うこともないんじゃないか?

>>25
VBの基本をかじった程度でJavaがとっつきにくいとかよくいえるな。
プログラム作業がとっつきにくいんじゃねぇの?


39 :Java初心者:04/12/08 14:43:11
JAVAアプレットを作っていて、IEで表示させています。
JAVAのソースを修正→コンパイル→jarコマンドで結合して、アプレットを表示させますが
ソース修正前のアプレットしか表示されません。
いちいちキャッシュをすべて削除してIEを起動しなおしてアプレットを表示させなければ
修正後のアプレットは表示されないのでしょうか?

40 :デフォルトの名無しさん:04/12/08 14:43:37
>>36
まったくない

41 :デフォルトの名無しさん:04/12/08 14:59:14
>>39
ああ
そうだよ

42 :デフォルトの名無しさん:04/12/08 15:08:42
>>39
Ctrl+更新ボタン(Ctrl+F5)

43 :デフォルトの名無しさん:04/12/08 15:24:41
>>39
Shiftキー5連打

44 :デフォルトの名無しさん:04/12/08 15:31:24
ラップクラスの定義は

ラップクラス=カプセル化でFA?

45 :デフォルトの名無しさん:04/12/08 15:49:33
>>40
どうもです

46 :Java初心者:04/12/08 15:56:01
>>41
>>42
ありがとうございました。

47 :44:04/12/08 15:57:53
すみません、>>44お願いします

48 :デフォルトの名無しさん:04/12/08 15:58:42
>>47
全然違う

49 :デフォルトの名無しさん:04/12/08 16:01:40
>>48
どう違うんでしょう?
調べてもわかりませんでした。

50 :23:04/12/08 16:06:36
申し訳ありませんが、>>23をお願いします。
できないと言っても信じてくれないので、
できないことを明示したいのです。

51 :デフォルトの名無しさん:04/12/08 16:07:42
>>49
カプセル化はオブジェクト指向の特徴の一つ。
ラッククラスはプリミティブ型をインスタンスオブジェクトとして扱うために用意されたクラス。

52 :デフォルトの名無しさん:04/12/08 16:16:28
>>50
信じない人に探させればいいじゃない

53 :デフォルトの名無しさん:04/12/08 16:58:45
はじめまして

JAVAでtoString関数で、int型の変数の値を文字列につなげていきたいと思い
import java.lang.*;

String tmp = "":
int aaa;
tmp +=toString(aaa);
としましたが、コンパイル時に
java.lang.Object の toString()は(int)に適用できません。
とエラーが出て、コンパイルできませんでした。

回避策がわかりましたらお手数ですが教えていただけないでしょうか?


54 :デフォルトの名無しさん:04/12/08 17:19:20
>>53
面白い冗談だな

String tmp = "":
int aaa;
tmp += aaa;

もしくは

String tmp = "":
int aaa;
tmp += Integer.toString( aaa );


55 :53:04/12/08 17:19:44
>>53の補足事項です。
int aaa;

tmp +=toString(aaa);
の間でaaaに何か値を入れています。


56 :53:04/12/08 17:24:07
>>54
ありがとうございました。助かりました。感謝いたします。

57 :デフォルトの名無しさん:04/12/08 17:32:41
Stringのオブジェクトから先頭1文字抜き出して、その文字のunicodeを取得するには
どうすればいいですか?

58 :デフォルトの名無しさん:04/12/08 17:35:22
>>57
それ基本中の基本だと思うんだがマニュアル読んだか?

59 :デフォルトの名無しさん:04/12/08 17:38:00
>>57
String.charAt(0)
サロゲートペアとか合成文字に対応したいならもっとコードが必要になる。

60 :デフォルトの名無しさん:04/12/08 17:38:40
>>57
int a = Character.getNumericvalue( str.charAt(0) );

61 :57:04/12/08 17:49:00
すみません。追記です
日本語文字列を入力してカタカナかどうか判断したいのですが、
日本語を Character.getNumericvalueでunicode化すると-1が帰ってきてしまいました。

62 :デフォルトの名無しさん:04/12/08 18:10:49
>>61
全然Unicode取得する必要ないじゃない

String str = "テスト";
if ( Character.UnicodeBlock.of( str.charAt(0) ) == Character.UnicodeBlock.KATAKANA ) {
System.out.println( "(・∀・)カタカナ!" );
}


63 :デフォルトの名無しさん:04/12/08 18:14:08
Character.getNumericvalue ってその文字が '1' だったら 1 を返すとかゆーメソッドでしょ。

64 :デフォルトの名無しさん:04/12/08 18:24:05
>>63
ああ、そうだったのか。
激しく勘違い。ごめんよ、>>57

65 :57:04/12/08 18:29:36
>>62さん
ありがとうございます。 そんな便利なものがあったんですね
>>58,>>59,>>60,>>63さん
ありがとうございます。 参考になりました

66 :デフォルトの名無しさん:04/12/08 19:12:00
今JAVAを勉強してる初心者だが、教えてほしいことがある。
a〜eの変数名のうちJavaで使えないのはどれ??

a _count
b 123count
c $test
d This_is_a_long_name
e new-word

答えはbとe

eはわかるがbはなぜダメだかがわからない(:_;)なぜだか教えてくださいm(__)m

67 :デフォルトの名無しさん:04/12/08 19:13:04
あ…すませんm(__)mわかったのでやっぱいいです。迷惑かけました

68 :デフォルトの名無しさん:04/12/08 20:06:37
しつもーんです
文字列が
String[] a={"あい","うえ","お","かか","きき","こ"}
String[] b={"あい","け","お","こ","ちち","た"}
と二つあるとき,bに対してaの文字列を引いた文字列
だけを取得するためのサンプルプログラムをおせえてちょ−だい
この場合は、結果的に{"け","ちち","た"}のみになりまちょ

69 :デフォルトの名無しさん:04/12/08 20:17:20
>>68
宿題は宿題スレへ

70 :デフォルトの名無しさん:04/12/08 20:22:30
ArrayList l = new ArrayList(Arrays.asList(b));
l.removeAll(Arrays.asList(a));
l が望みの結果を保持する java.util.List になってる。
String[]が欲しいなら
String[] c = (String)l.toArray(new String[l.size()]);

一行で書けるかと思ったら removeAll が boolean 返してて無理だったorz

71 :デフォルトの名無しさん:04/12/08 20:23:40
> String[] c = (String)l.toArray(new String[l.size()]);
String[] c = (String[])l.toArray(new String[l.size()]);
だった。orz

>>69 ごめん答えちゃった。orz

72 :デフォルトの名無しさん:04/12/08 20:30:32
>>71
いいんでない。
ごくろうさん。

73 :shige:04/12/08 20:31:58
Java Web StartでSSOを実現する方法について教えてください。
具体的には、既存のJWSアプリケーションにサーバ側認証を加えて
他のアプリケーションと認証情報を共有する方法

74 :デフォルトの名無しさん:04/12/08 20:53:59
Random random = new Random;

d = ( m + t ) + random;

演算子+は、int
java.util.Randomに適用できません。ってなります。ということは、使えないということですか??

75 :デフォルトの名無しさん:04/12/08 21:01:53
>>74
> Random random = new Random;
ここでコンパイルエラーになるか、別の言語の質問だな。

76 :デフォルトの名無しさん:04/12/08 21:02:32
>>74
それ以前に、それじゃRandomがnewできないだろ。

Random random = new Random( System.currentTimeMillis() );
d = ( m + t ) + random.nextInt();

インスタンスオブジェクトとプリミティブ型との間で+が使えるのは、インスタンスオブジェクトのクラスがStringの場合だけだろ。

77 :デフォルトの名無しさん:04/12/08 21:19:39
Random random = new Random();


int r = random.nextInt(10);


で、できました!!

78 :デフォルトの名無しさん:04/12/08 21:27:19
>>69
すみませ〜ん
>>71
ありがとうございます。。^^
習ってやってみたら、エラーが起こってしまった・・・
こんな感じにやってみました。
public class www extends DefaultHandler {
public static void main(String[] argv) {
String[] a={"あ"};
String[] b={"あ","い","さ","し","す","か","そ"};
ArrayList k = new ArrayList(Arrays.asList(b));
k.removeAll(Arrays.asList(a));
String[] c = (String[])k.toarray(new String[k.size()]);
for(int i=0;i<c.length;i++){
System.out.println("key:"+c[i]);}
}
}
後は宿題掲示板の方で聴いて見ます。。ありがとです。



79 :デフォルトの名無しさん:04/12/08 22:25:58
/* Test.java */
class A {
public String value = "ABC";
}
class B extends A {
public int value = 12345;
}
class Test {
static public void main(String[] args) {
B b = new B();
printValue(b);
}
static void printValue(A a) {
System.out.println("a == (B) a : " + (a == (B) a));
System.out.println("a.value : " + a.value);
System.out.println("((B) a).value : " + ((B) a).value);
}
}

これをコンパイルして、java Testとやると、
a == (B) a : true
a.value : ABC
((B) a).value : 12345
こうなります。a == (B) a なのに、a.valueと((B) a).valueの結果が違います...。
何故なんでしょうか??

80 :デフォルトの名無しさん:04/12/08 22:59:06
>>79
http://www.y-adagio.com/public/standards/tr_javalang2/classes.doc.html#40898
8.3 フィールド宣言
> クラスがある特定の名前をもつフィールドを宣言した場合,
> そのクラスの上位クラス及び上位インタフェースの中の,
> それと同じ名前をもつありとあらゆるアクセス可能なフィールドの宣言を隠ぺい(hide)すると呼ぶ。
> フィールド宣言は,また,取り囲むクラス又はインタフェースの任意のアクセス可能フィールド,
> ならびに,取り囲むブロックの同じ名前をもつ局所変数,
> 形式メソッド仮引数及び例外ハンドラ仮引数の宣言をおおい隠す(6.3.1)。

81 :デフォルトの名無しさん:04/12/08 23:32:50
>>80
ありがとう。読んでみまつ。
こういった決まりが自然に思えるようになりたいものです。

82 :デフォルトの名無しさん:04/12/08 23:33:12
>>31
いや、VBなんてマジで言ってるの?VB.NETなんかダサいだけのC#だよ。
あんなものにしがみ付いているのは結局VB6しか使えなかったおバカさんだけ。
それともVB6の話?そんなに旧VBが実用的ならどうしてMSがVBを捨てたのか
一度良く考えてみるといい。
なぜC#が全くJavaのパクリで、なぜCLRがJVMのパクリなのかもね。
MSの実装力がSunのそれよりも高いのは認めるが、君の頭が悪いのはそれとは関係が無いよ。


83 :デフォルトの名無しさん:04/12/09 00:50:12
>>82
釣りにマジレスやめとけ

84 :デフォルトの名無しさん:04/12/09 01:12:58
>>83
スマソ

85 :デフォルトの名無しさん:04/12/09 01:23:19
SolarisでInetAddress.getLocalHostを実行して取得できるホスト名はどこから
持ってきているのかご存じの方はいらっしゃいませんか?

86 :デフォルトの名無しさん:04/12/09 01:29:07
>>19
.NETでPDFで出力したことがあるんですが、何種類かPDFソフトを
使ったけど遅いのです。30枚で5分くらいかかりました。
それも、かなりの高性能のサーバーで。
ソフトによっては処理速度の速いものもあるんですかね?


87 :デフォルトの名無しさん:04/12/09 01:57:06
>>85
パソコンから持ってきてるんだぉ

88 :デフォルトの名無しさん:04/12/09 02:00:24
>>87

Solarisって何か知ってる??

89 :デフォルトの名無しさん:04/12/09 02:06:53
Solarisの陽のもとに

90 :デフォルトの名無しさん:04/12/09 03:31:44
>>88
馬鹿にすんなよwwwこのペテン師がwwww

91 :デフォルトの名無しさん:04/12/09 09:34:13
Javaでc言語とかでつかうgprofみたいなツールあります?

92 :デフォルトの名無しさん:04/12/09 09:40:13
>>91
java -prof

93 :デフォルトの名無しさん:04/12/09 09:42:21
>>91
>>92は古かった

java -Xrunhprof:help
これで見てくれ

94 :r:04/12/09 09:52:06
デーモンスレッドって、あんまりデーモンっぽくないよね。
俺の考えるデーモンは「バックグラウンドでひっそりと仕事が来るまで待」であり、
「ご主人様と一緒に消えてなくなる」様なものではない。

なんか、Javaと同じような意味で「デーモン」って言葉を使ってる例を知ってる?

95 :デフォルトの名無しさん:04/12/09 09:57:58
俺は内部的にメイドスレッドと呼んでる(;´д`)

96 :デフォルトの名無しさん:04/12/09 10:02:33
デーモンスレッドはあくまでデーモンスレッドであって
デーモンプロセスとは違うということだな。

97 :デフォルトの名無しさん:04/12/09 10:13:16
>>92,>>93
サンクス

98 :デフォルトの名無しさん:04/12/09 10:27:35
>>82
ここまでキレる君のみじめな人生に同情する。

99 :デフォルトの名無しさん:04/12/09 13:39:36
所詮スレッドだから>>96のいうとおり
VMが消えたらさすがにのこらんでしょ

100 :デフォルトの名無しさん:04/12/09 16:49:49
main()ってなぜ必要ですか?
アプレットは使ってないんですけど。。。

101 :デフォルトの名無しさん:04/12/09 16:55:39
俺はmainなんて使ってないぜ。
主にexecuteを使ってる。

102 :デフォルトの名無しさん:04/12/09 18:43:28
>>100
なかったらどこからプログラムを開始したらいいかわからんだろ。
アプレットもinitがないと動かんだろ。

103 :デフォルトの名無しさん:04/12/09 19:12:24
>>102
細かい話かつ揚げ足取りで申し訳ないんですけど、
とりあえず、init は無くても動きません?start 使うとか。

104 :デフォルトの名無しさん:04/12/09 19:26:49
アプレットとかコンテナから呼ばれるのは特殊なタイプ

105 :デフォルトの名無しさん:04/12/09 19:48:24
>>103
>とりあえず、init は無くても動きません?start 使うとか。
102じゃなくて悪いがAppletクラスにあるじゃん。
あなたがオーバーライドしてないだけで
無ければ親クラスであるAppletクラスのinitを使うだけ。

106 :103:04/12/09 19:54:12
>>105
なるほど。そういえばそうですね。ご指摘ありがとう。

107 :デフォルトの名無しさん:04/12/09 21:27:53
JAVAでXMLの要素を追加及び変更のプログラムを作成しようとしているのですが
非常に難しく、どうすればよいのかが解らないのです。。
例えば
---あ.xml----
<a>
  <b>
    <c>
    </c>
  </b>
    <d>
    </d>
</a>
------------
特定のタグ例えば<c>の下に
--
<k>
 <g>あああ</g>  
</k>
--
を追加することは出来るでしょうか?
このような特定のタグを指定して
追加するプログラムを作成するためには、どうすればよいのか教えてください。

また、特定のタグ名を指定してその要素名を変更する事はできるでしょうか?
例えば
<g></g>を<年齢></年齢>に変更するためにはどうすればよいのでしょうか?
サンプルプログラムを作成してくれるとうれしいのですが、
どのようにすればよいのかわからないので、質問しにきました。


108 :デフォルトの名無しさん:04/12/09 21:49:06
JavaというよりDOMについてまず勉強してくれ
w3cパッケージはそのままの実装だ

109 :デフォルトの名無しさん:04/12/10 00:19:16
Windows2000 pro でJDK5.0をインストールしたんですが、環境変数「PATH」にインストールディレクトリ
を指定しなくともコマンドプロンプトから「java」で実行できました。

これはどういうことなんでしょうか?
どこかで環境変数「PATH」に同等の設定が行われていると考えていいんですかね?

110 :デフォルトの名無しさん:04/12/10 00:23:28
>>109
javac はどうよ?

111 :デフォルトの名無しさん:04/12/10 00:27:31
>>109
ユーザー環境変数にJava_homeが既に設定してあるんじゃないの?

112 :デフォルトの名無しさん:04/12/10 00:35:24
windowsでJDKインストールすると
C:\Windows\System32
あたりにjava.exe javaw.exeがコピーされてるはず

デフォルトのパスにそこが通っているからそれが呼ばれてるだけ

113 :109:04/12/10 00:38:12
>>110
ちょっと先ほどJDK5.0アンインストールして「java」してみたところ、既にインストールしておいたJDK1.4.2_02
のjava.exeが実行できました。そして「javac」してみたところ、以下のログがプロンプトにでました。

「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

今またJDK5.0インストールしています。

ちとレス分けます。

114 :デフォルトの名無しさん:04/12/10 00:44:21
>>111
JAVA_HOMEはシステム、ユーザどちらでも消してありました。

>>112
おお。C:\Windows\System32 を見てみました。
すると、java.exe, javaw.exeはあるんですが、javac.exeなどはありませんでした。
おっしゃる通りのようです。

解決しました^^
お三方、ありがとうございましたm(_ _)m

115 :109:04/12/10 00:50:09
確かに、環境変数PATHに、「C:\WINNT\System32」 が追加されてました。
どうやら決定的なようです。それではm(_ _)m

116 :JAVA初心者:04/12/10 00:57:53
質問なんですが、ビットをシフトしてマスクかけるときなど、
符号ビットがたたないように、Cではunsigned を使用してましたがJAVAには
それがないのでどうすればいいのでしょうか?

117 :デフォルトの名無しさん:04/12/10 01:06:58
>>116
ttp://www.edu.tuis.ac.jp/~mackin/software/2004/bit.html

118 :デフォルトの名無しさん:04/12/10 01:07:55
符号ビットが立たないシフト演算(論理シフト、>>>)があるよ。

119 :デフォルトの名無しさん:04/12/10 01:08:58
Javaの道:演算子(シフト演算子) http://www.javaroad.jp/java_operator4.htm

120 :デフォルトの名無しさん:04/12/10 01:18:41
シフト演算なんてめったに使う必要ないはず
画像処理くらいか?

121 :JAVA初心者:04/12/10 01:23:41
画像処理です。1画素2バイトのバイナリデータを読み込んで、2バイトが反転
してしまうので、8ビット右へ左へシフトして、論理積を求めて、下位10ビット
を取り出すために0x03ffのマスクかけて10ビットを取り出す。というそうさをし
たいんです。

122 :デフォルトの名無しさん:04/12/10 01:39:39
>>121
符号付変数で気にせずビット演算すれ。
右シフトに>>>を使うように気をつけるだけで
普通にできる。

123 :JAVA初心者:04/12/10 01:42:42
マスクかける時は、Cでは宣言の部分で
unsigned short mask = 0x03ff
のようにしていたのですが、JAVAではどのようにすればいいですか?

124 :デフォルトの名無しさん:04/12/10 01:45:37
short int mask = 0x003ff;

125 :JAVA初心者:04/12/10 01:47:26
なるほど。ありがとうございます^^

126 :デフォルトの名無しさん:04/12/10 01:47:35
intはいらないやごめん

127 :デフォルトの名無しさん:04/12/10 01:56:48
つーかマルチポスト死ね

128 :デフォルトの名無しさん:04/12/10 06:44:25
定数ならfinalにした方がよくない?

129 :デフォルトの名無しさん:04/12/10 10:46:33
となりのスレから来た超初心者ですが、
バイナリデータから
ランダムアクセスで指定のデータ位置から
文字列として読み込む方法誰か教えて!!

130 :デフォルトの名無しさん:04/12/10 10:51:03
バイナリデータってbyte[]の事か?
インデックスをランダムで指定すればいいだろ。



131 :デフォルトの名無しさん:04/12/10 11:01:29
>>129
ReadAsString使え

132 :デフォルトの名無しさん:04/12/10 11:08:47
>>129
多分この辺?
RandomAccessFile


133 :デフォルトの名無しさん:04/12/10 12:55:48
質問です。
String変数を宣言するときに

String s = "";



String s;

とするのとで

前者のほうが初期化されていて安全かと思われますが、
後者で宣言する場合のメリットデメリットってあるんでしょうか?

134 :デフォルトの名無しさん:04/12/10 13:00:27
好みでいいんじゃない?
初期化されてなければコンパイラが警告出してくれるし。

135 :デフォルトの名無しさん:04/12/10 13:23:24
>>133
初期化したいんなら
String s = null;

でいいじゃん。

136 :133:04/12/10 14:07:34
>>135
いや、nullだとsに何か値を設定するのを
ロジックで忘れてたら、ぬるぽなんで、
nullで初期化はまずいです。

137 :デフォルトの名無しさん:04/12/10 14:09:45
>>136
それがでるということは初期化してないということだから
コンパイル時にエラー吐き出してくれる初期化なしのほうがいいとおもうぜ
あんたの話のレベルを考えるとね

でも宣言場所によるからそこも気をつけるべし

138 :デフォルトの名無しさん:04/12/10 14:11:15
正直、こんな枝葉末節にこだわってもしょうがない気がする

139 :デフォルトの名無しさん:04/12/10 14:22:31
public void db2WorkMainNormal(List data){

try{
con = dataSource_.getConnection();
System.out.println(con.isClosed());
con.close();
System.out.println(con.isClosed());
} catch (SQLException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}
上記ソースだと、
con.close()したところでメソッド起動中に
com.sun.jdi.InvocationExceptionが発生しているようです。
この例外はなんですか?
あと、その後のcon.isClosed()を実行するとSQLExceptionが発生するのは
なぜでしょうか?

140 :139:04/12/10 14:39:57
すいません、解決したっぽいです。
DB2DataSource型のデータソース使ってたんですが、
これをDB2SimpleDataSource形に変えたらExceptionでなくなりました。

141 :デフォルトの名無しさん:04/12/10 15:53:29
簡単な電卓作ろうかと思ってますが、
標準入力から受け取った文字列から、最初に表れる数字以外の位置を
知るにはどうしたらいいんでしょう?

142 :デフォルトの名無しさん:04/12/10 15:56:25
>>141
一文字ずつcharAtでもらってきて調べれば?

143 :141:04/12/10 16:07:43
String line = reader.readLine();
for(int i=0; i<line.length(); i++){
if(line.charAt(i)=='+' || line.charAr(i)=='-' || line.char
At(i)=='*' || line.charAt(i)=='/'){
int idx = i;
}
}

ってな感じですかね??

144 :141:04/12/10 16:09:32
間違えた〜
== じゃなくて equalsだったw

145 :デフォルトの名無しさん:04/12/10 16:09:43
>>143
いいとは思うが、idxはそのfor文の中だけで使うのか?

146 :デフォルトの名無しさん:04/12/10 16:10:10
char型だから==でOKだろ

147 :141:04/12/10 16:12:43
連続ですみませんが
9−3の様な簡単な計算しかできないものです

148 :141:04/12/10 16:14:47
>145
そうですね、始めにintで宣言しとかないと意味ないですねw

149 :デフォルトの名無しさん:04/12/10 16:30:06
質問させてください。
とても単純なことなのですが
調べても分かりませんでした。
JAVAで扱うことのできる最大の数値
っていくつになるのでしょうか。
long int だと20桁しかいきません。
よろしくおねがいします。

150 :デフォルトの名無しさん:04/12/10 16:33:16
>>149
BigDecimal,BigInteger使えばメモリが許す限り。
プリミティブなら各ラッパークラスのMAX_VALUEを見ろ。

151 :デフォルトの名無しさん:04/12/10 16:50:13
さーみんなで20桁で足りないアプリを考えてみよう・・・・

152 :デフォルトの名無しさん:04/12/10 16:57:02
数値計算なんて余裕で足りないだろ

153 :デフォルトの名無しさん:04/12/10 17:05:07
そういう計算するやつがBigDecimalに気がつかないとは思えないのだが

154 :デフォルトの名無しさん:04/12/10 17:27:39
ウブなねんねなんだよ

155 :デフォルトの名無しさん:04/12/10 17:54:01
JavaでEXEファイルって作れますか?

156 :デフォルトの名無しさん:04/12/10 18:00:20
作れるよ

157 :155:04/12/10 18:01:22
>>156
レスども。
一番簡単な方法を教えていただけませんか?

158 :デフォルトの名無しさん:04/12/10 18:05:28
ボーランドのJビルダーで作れる。

159 :デフォルトの名無しさん:04/12/10 18:12:24
byte単位でかきこめるからつくれる

160 :デフォルトの名無しさん:04/12/10 18:53:05
>>159
問題は「書き込むバイト列をどう作るか」だね。

161 :デフォルトの名無しさん:04/12/10 19:12:29
bccでも呼び出せ

162 :デフォルトの名無しさん:04/12/10 20:52:41
自分自身のprivateメンバにアクセスするときも
Getter/Setter(特別な処理はしていないもの)を使うべきですか?

ベクトルクラス作ってるんだけど

private double x,y;

public Vector2D(double x, double y) {
    this.x = x;
    this.y = y;
}
こうなってるときに

public Vector2D(Vector2D v) {
    this(v.getX(),v.getY());
}
こうするべきか

public Vector2D(Vector2D v) {
    this(v.x,v.y);
}
こうするべきか。


163 :デフォルトの名無しさん:04/12/10 20:55:56
>>162
内部でアクセサメソッド使うなんてばかげてる

164 :デフォルトの名無しさん:04/12/10 21:01:06
>>163
Thanks!


165 :デフォルトの名無しさん:04/12/10 21:15:43
>>163
俺も内部からはフィールドに直接アクセスするけど、
ばかげてるというほど一般的な認識じゃないから気をつけようね。
http://www.alles.or.jp/~torutk/oojava/codingStandard/writingrobustjavacode_pid86_c3.html#doc1_778


166 :デフォルトの名無しさん:04/12/10 21:21:16
>>165
俺は結合度なんぞより速度を優先するよ

167 :162,164:04/12/10 21:22:58
>>165
ありがとー。
こっちのほうが理想的なのか。
でも嫌う人多そうだな〜。


168 :デフォルトの名無しさん:04/12/10 22:17:55
場合によるが単なるアクセッサなら直接アクセスのほうが好ましい

169 :デフォルトの名無しさん:04/12/10 22:26:39
>>168が正解かと
なんらかのロジックや安全性とかが必要であれば
一度作って安全性が確保されたメソッドを使いまわすべきだ


170 :デフォルトの名無しさん:04/12/10 22:54:16
アクセッサをクラスにしたらいい。

171 :デフォルトの名無しさん:04/12/10 23:10:54
public Vector2D(double x, double y) {
    this.x = x;
    this.y = y;
}

public Vector2D(double x, double y) {
    setX(x);
    setY(y);
}
か、なら直接アクセスでもいいかなと思うが、

public Vector2D(Vector2D v) {
    this(v.x,v.y);
}

public Vector2D(Vector2D v) {
    this(v.getX(),v.getY());
}
か、ならアクセッサ経由の方がいいと思う。
インスタンスが違うんだし。


172 :171:04/12/10 23:12:20
あれ?変な記号になってしまった。失礼しました。

173 :デフォルトの名無しさん:04/12/10 23:30:16
初心者で申し訳ないですが、どうも>>171さんの言っておられることが
わからないですね。

public Vector2D(Vector2D v) {
this(v.x,v.y);
}

public Vector2D(Vector2D v) {
this(v.getX(),v.getY());
}
上記部分ですが、
privateフィールドである。自分とは別インスタンスのフィールド
使うことできるのですか。
this(v.x,v.y)
このように

174 :デフォルトの名無しさん:04/12/10 23:46:15
>>173
なぜ試してみない?

175 :デフォルトの名無しさん:04/12/10 23:57:57
>>173
public Vector2D(Vector2D v) {
           ~~~~~~~~~~
            これは自分自身ではない(かもしれない)からだろ
            馬鹿
            人にイチャモンつける前に勉強しろ糞漏らし

176 :デフォルトの名無しさん:04/12/10 23:58:26
自分で試せる人間は「初心者です」なんて言わない。

177 :デフォルトの名無しさん:04/12/11 00:18:58
173です。
すみません別にイチャモンつけてるわけでもないのですが、
文章にすると、平坦な言葉になってしまって、
試しても試しきれなくて、
class Test48{
public static void main(String args[]){
new Vector2D(new Vector2D(new Vector2D(.....

178 :171:04/12/11 00:23:14
俺も>>173のように思っていたので、
>>162の直後の連中は質問読んでいないだろ、
と思って試したら出来てしまってびっくり。
勉強しなおしだ。
でも、やっぱり、直後の連中は質問をよく読んでいなかったと思うのだが。

// Vector2D.java

public class Vector2D {
private double x,y;

public Vector2D(double x, double y) {
this.x = x;
this.y = y;
}

public Vector2D(Vector2D v) {
this(v.x,v.y);
}

public double getX() { return x; }

public double getY() { return y; }

public static void main(String[] args) {
Vector2D v1 = new Vector2D(1,1);
Vector2D v2 = new Vector2D(v1);
System.out.println(v2.getX()+","+v2.getY());
}
}


179 :デフォルトの名無しさん:04/12/11 00:25:37
「こんなプログラムを書こう」から
「じゃあこんなクラス・インターフェースに切り分ければいいな」までの
考え方がわかりません。
この辺りを勉強するのによい書籍・サイトはありますか?

Javaの質問とは言えないかもしれませんが
文法のわかっている言語がJavaくらいしか無いので
できればJavaで解説されているものだと嬉しいと思い
ここで質問させてもらいました

180 :デフォルトの名無しさん:04/12/11 00:38:53
>>173
>>162
private double x,y;
って、メンバ変数として書かれていることと
http://msugai.fc2web.com/java/modify.html
辺りを見たらわかるかな

181 :デフォルトの名無しさん:04/12/11 00:43:59
>>180
たぶんそれだけじゃわからんだろ。
可視性 (private とか public とか) は
「インスタンスごと」ではなくて「クラスごと」に見え方を決めてるって
はっきり言ってやらないと。

182 :デフォルトの名無しさん:04/12/11 01:01:28
>>181
あー、なるほど。

183 :デフォルトの名無しさん:04/12/11 01:02:30
>>179
まあ「画面」を考えて、ボタンとか押した時に、処理をお願いする先になるクラスを考えて、その処理をするクラスが
使うデータを考えれば大体まとまる。

184 :デフォルトの名無しさん:04/12/11 01:04:29
>179
それはOOPを会得する上での永遠のテーマかも知れないOTL
どっかの人は「『泣きながらクラスを3度書き直す』ことを繰り返す」とか言ってた。
あと、本屋でオブジェクト指向分析の本を探して、手に負えそうな奴を読んでみるとか。

185 :デフォルトの名無しさん:04/12/11 01:10:02
>173です
>>180さん>>181さんありがとうございました。
読みに行きます。

>>178さん
モジュールあげていただいてありがとうございます。
よく読んでみます。

186 :デフォルトの名無しさん:04/12/11 02:08:17
インナークラスでは、privateでもフィールドが読める理由がわかりません。
Bは内側から外側だから分からないでもないのですが、
@、Aはなぜアクセスできてしまうのか教えてください。

public class Outer{
 private int outerVar = 1;
 public static void main(String[] args){
  Outer out = new Outer();
  Inner in = out.new Inner();
  
  System.out.println(out.outerVar); //当然OK
  System.out.println(in.innerVar); //@privateなのに読込OK?
  in.print(); //Aprivateメソッド?
 }
 private class Inner {
  private int innerVar = 2;
  private void print(){
   System.out.println(outerVar); //BOuterのprivate!?
  }
 }
}


187 :デフォルトの名無しさん:04/12/11 02:30:38
>>186
Java言語規定にそう書いてるからです。
理論的にはアナタの言う通り、インナークラスの変数がアクセスできるのは
おかしいですけど、実務上便利な方を取ったとの事でしょう。
Sunの考えでは、あまり厳密なアクセス規制は実務上好ましくないようで
protected指定が同パッケージ内の全てからアクセスできたり、
private protectedを無くしてしまった事からも伺えます。
つまりSunの好みなのです。

188 :デフォルトの名無しさん:04/12/11 02:35:54
>>187
なるほど。であれば深く追求しません。ありがとうございました。

189 :デフォルトの名無しさん:04/12/11 02:56:06
実はこんな事実もある。

public class Hoge {
private int hage

public void huge( Hoge a) {
this.hage = a.hage; <---aのprivateフィールドに代入しているが、エラーにならないし、ちゃんと動く。
}
}

同じクラス同士にはアクセス修飾子は無効(Hogeはいつでも他のHogeにアクセスできる)という例。

190 :デフォルトの名無しさん:04/12/11 03:14:02
>>189
今ごろ何言ってんだ?ちょっと上で散々やってんだろ。

191 :デフォルトの名無しさん:04/12/11 09:34:50
>>183-184
ありがとうございました。
経験を積んで少しずつ慣れていきたいと思います。

192 :デフォルトの名無しさん:04/12/11 09:41:47
サーバーを作っているのですが、
クライアントが接続してきて、Socketを取得して、

printWriter = new PrintWriter(socket.getOutputStream());

のようになっているとき、
クライアントが切断したことをどのように知ればいいのでしょう?
切断されているときにprintWriterに書き込んでもIOExceptionは発生しません。
自分が送信したデータが相手に届いたかどうか
確かめる方法があってもいいような気がするのですが。


193 :デフォルトの名無しさん:04/12/11 10:34:45
Javaというか、AWTのクラスを読み始めたあたりで、
パソコンが二秒くらいフリーズしたように、マウスカーソルが動かなくなることがあるのですが、
これは漏れのパソコンだけかしら。
何か対処法ある?

194 :192:04/12/11 10:41:17
Java ネットワークプログラミング 【教えて!】
http://pc5.2ch.net/test/read.cgi/tech/1086238859/l50

↑こっちのほうが合っているような気がするので向こうで質問してきます。


195 :デフォルトの名無しさん:04/12/11 10:49:22
>>192
java.io.PrintWriter#checkError() を使うしかない。

PrintWriterを使った時点で原因となった例外は受け取れないので、
それが不満ならPrintWriterは使わない事。
っつか、ドキュメントに書いてあるよね?

196 :デフォルトの名無しさん:04/12/11 11:11:30
>>195
ありがとうございました。


197 :デフォルトの名無しさん:04/12/11 11:48:26
abstract class ユニット { フィールド:視界、座標、体力、主人公見つけフラグ、次回行動までの待ち時間 }
class ならず者 extends ユニット { メソッド:歩く、襲う、スる、逃げる }
class ドラゴン extends ユニット { メソッド:歩く、飛ぶ、噛みつく、炎を吐く }
class 村の人 extends ユニット { メソッド:歩く、無視する、話しかける }

などのクラスがあり、オブジェクトそれぞれが独自の行動をとるようにしたい場合、
ゲームマスタークラスをつくって、毎ターン、各オブジェクトをvisitするようにすべきでしょうか?
たいていの場合は「待ち時間」状態で何もできなくて、効率が悪い気がします。
より効率とメンテナンシビリティの良い作り方ってあるでしょうか?

198 :デフォルトの名無しさん:04/12/11 11:56:22
Random random = new Random;
int r = random.nextInt(3);

String s[][] = new String[2][2];

s[0][0]="おはよ";
s[0][1]="こんばんは";
s[0][2]="こんにちは";
s[1][0]="かえれ";
s[1][1]="なんだ";
s[1][2]="このやろう";
s[2][0]="まて";
s[2][1]="いや";
s[2][2]="なんでもない";

System.out.println("あ・・・" + s[r][r]);


コンパイルはできるのですが、実行すると

Exception in thead"main" java.lang.ArrayIndexOutOfBoundsException:2 at Oyasumi.main(Oyasumi.java:14)
となります。なぜですか?教えてくださいm(__)m

199 :デフォルトの名無しさん:04/12/11 11:59:01
とりあえずそれはゲーム製作板へ
俺もJavaでゲーム作ってるが言ってることはわかるようなわからんような
待ち時間状態で何もできないって意味不明だし


200 :デフォルトの名無しさん:04/12/11 11:59:12
>>198
配列の要素が2×2=4個しかないじゃん。
使えるのはs[0][0]、s[0][1]、s[1][0]、s[1][1]だけ。
ArrayIndexOutOfBoundsExceptionは「配列の大きさを超えてまっせ」エラー。
しょっちゅう出るだろうから覚えとき。

201 :デフォルトの名無しさん:04/12/11 12:18:10
200さん!ありがと!勘違いがわかりました

202 :197:04/12/11 12:42:08
>>199
リョカーイしました。
各ユニットは行動毎に待機ターンがある、ということを書き忘れてました。

203 :デフォルトの名無しさん:04/12/11 13:43:32
Integerクラスの
static int parseInt(String s)
は s を基数10の数値として変換してint型で返すとは、どういう意味なのかよくわかりません。おしえてもらえますか?

204 :デフォルトの名無しさん:04/12/11 13:46:49
基数って小中学あたりでならわなかったっけ?
何進数かってやつだ
8進数とか2進数とか10進数とか

205 :デフォルトの名無しさん:04/12/11 13:54:56
>>203
引数の文字列を「10進数」とみなして
変換するよってこと。

だいたい想像どおりの動作するから安心スレ。

206 :デフォルトの名無しさん:04/12/11 14:02:07
>>203

int i = Integer.parseInt("100");

ってうやると、iには100が入るということです。
"100"という文字列を数値の100に変換しているわけ。

207 :デフォルトの名無しさん:04/12/11 14:08:15
>>204>>205>>206
なるほど!基数10は10進数のことだったのか・小中でも習わなかったなぁ。
ありがとございます♪

208 :デフォルトの名無しさん:04/12/11 14:18:34
どうやら調べたところ最近はゆとり教育で基数変換は中学の数学にはいってないっぽいね
そのくせ高校入試にでてたとか問題があったようだ


209 :デフォルトの名無しさん:04/12/11 14:22:33
>>208
あら、まじで?5〜6年前塾講バイトしてたころは、まだあったけどなぁ。
おれ文系だったから、かわいい女子中学生に逆に基数変換教えてもらったよ。

210 :デフォルトの名無しさん:04/12/11 15:02:57
まあ、基数なんてのはリアルじゃ滅多に使わないからね。
やるだけ無駄。
無駄なつめこみ知識を課題から外すのは良い傾向だよ。
その空いた時間を独創的な学習に当てれば本当の意味での学力は
アップする。

211 :デフォルトの名無しさん:04/12/11 15:06:00
日常でよく使う知識しか学校で教えないようになったらますますバカになる一方だな

そんなこともわからないようなバカがウジャウジャいるのが問題なのだが


212 :デフォルトの名無しさん:04/12/11 15:13:34
>>210
ゆとり教育推進者乙

213 :デフォルトの名無しさん:04/12/11 15:15:13
>>207の場合「基数」って言葉を知らなかっただけだからまだよかったな
これが2進数や16進数自体知らなかったなら…

214 :デフォルトの名無しさん:04/12/11 15:21:19
時刻・時間・角度を表す単位である分・秒は60進数。

215 :デフォルトの名無しさん:04/12/11 15:35:56
2週間後テストだよ〜。
かったるい・・・

216 :デフォルトの名無しさん:04/12/11 15:38:48
>>210
知識は無理矢理にでも詰め込まないと。
独創的な学習させるためには物事を考える土台となる
「十分な量の知識」がないと無理だぜ。

217 :デフォルトの名無しさん:04/12/11 15:44:49
>>210は何か行ってみたいお年頃なのさ。

218 :デフォルトの名無しさん:04/12/11 15:50:16
大体、努力、根性と全く無縁の日本の現代っ子(若者)が
ゆとり教育は良くない、厳しく知識を詰め込むべし
などと言う事自体おこがましい。

219 :デフォルトの名無しさん:04/12/11 15:56:52
IPアドレスは256進数だな。

220 :デフォルトの名無しさん:04/12/11 15:59:17
ブラウザの「印刷」を起動させることを
JSPかサーブレットでやりたいんですが、
方法があったら教えて下さい。m(_ _)m

221 :デフォルトの名無しさん:04/12/11 16:00:37
>>219
本質的には違う。

↑これがつめこみ教育の弊害だ。
表面的な見方(知識)でしか、物事を判断できなくなってしまう。

222 :デフォルトの名無しさん:04/12/11 16:02:27
>>220
アプレットをダウンロードさせて、それで印刷を実行するとか・・・


223 :デフォルトの名無しさん:04/12/11 16:03:41
>>221
おれも一瞬ツッコミかけたが、どっちでもいいかと思った…。
時計が60進数とかいうのと同じ程度の違和感。

224 :デフォルトの名無しさん:04/12/11 16:07:19
>>220
ブラウザに対してJSP、サーブレットができることは
HTMLの出力、画像データなどの出力ぐらいです
たとえばJavaScriptにそういう機能がない限り(知らんが)出来ない

他のやり方はJavaAppletをロードするHTMLを出力するようにJSP、サーブレットを作り
JavaAppletでそういう機能書けばできるとは思う

225 :デフォルトの名無しさん:04/12/11 16:18:30
>220
ブラウザをIE決め打ちにして、サーブレット/JSPで返すHTMLにJavaScript埋め込んで
それで処理させるというのも手かな。
スクリプトの詳細は面倒でもWeb製作板行っとくれ。

226 :220:04/12/11 16:18:55
>>222>>224
サンクス。
appletかjavaScriptでやってみます。

227 :デフォルトの名無しさん:04/12/11 16:21:30
つうか、自分で書いてて思ったけど
JavaAppletで印刷実行したとして
ブラウザのコンテンツ内容を印刷ってできるのかな
Appletの中に表示されているものだったらわかるけど・・・


228 :デフォルトの名無しさん:04/12/11 16:26:52
>>504
含んでいるかどうかはしらんが
XMLのAPIで処理するとしたら
<br>タグとかは<br/>って書いておかないと
エラーになりそう

229 :デフォルトの名無しさん:04/12/11 16:27:28
JTextPaneでTabサイズを変えたいのですがJTextAreaにしかsetTabSizeがありません。
どうやればいいですか?

230 :デフォルトの名無しさん:04/12/11 16:41:49
javax.swing.text.TabSet
javax.swing.text.Style*(クラス&インターフェース)



231 :々奈 ◆Xl6OTFSLJ2 :04/12/11 17:49:29
JAVAはMSのサポートから外されるとかなんとか噂を聞いたのですが、
外されるとIEでJAVAアプレットを動作させるには
何か入れなきゃいけなくなるのでしょうか?(FLASHみたいに)

それから、
JAVAでペイントソフトみたいなやつと15パズルみたいなやつを作ったことがあるのですが、
このレベルからネットワークプログラミングをできるレベルになるまでには時間がかかりますでしょうか?

232 :デフォルトの名無しさん:04/12/11 17:54:37
>>231
質問があまりにショボイ&いつの話だよって感じだが、本当につくったのか?
本のサンプルほとんど写しただけ、とかじゃなく?

233 :デフォルトの名無しさん:04/12/11 17:54:56
ネットワークは超簡単だよ
どうしても不安なら、ファイル入出力を試してみたり
HTMLを手書きしてみれ

234 :デフォルトの名無しさん:04/12/11 17:57:05
どの言語でもそうだが
IOを理解し自由自在に扱えるようになれば
大抵のことは何でもできるようになる

235 :デフォルトの名無しさん:04/12/11 18:49:21
javaってなんで構造体ないの?
オブジェクトのコピー作るのもめんどくさいし。
Cで

struct POINT {
  int x,y;
};

ってのがあったとして、javaで書くとしたらこう?

class POINT implements Cloneable
{
    public int x,y;

    public Object clone() {
    try {
      return (super.clone());
    } catch (CloneNotSupportedException e) {
      throw (new InternalError(e.getMessage()));
    }
  }
}

236 :デフォルトの名無しさん:04/12/11 18:59:29
>>235
君はオブヂェクト指向に向いていないね。

237 :デフォルトの名無しさん:04/12/11 19:41:45
Point クラスの中身でも見れ

238 :デフォルトの名無しさん:04/12/11 20:04:03
>>235
確かにそうだな。
しかし、C♯にはある。
先のないJavaを捨ててC♯に乗り換えるいいチャンスかもしれない。

239 :デフォルトの名無しさん:04/12/11 20:28:02
    public Object clone() {
        return new POINT(x,y);
    }

だろ

240 :デフォルトの名無しさん:04/12/11 20:28:39
>>235
Javaに構造体がないか探してたんだけど、やはりないのか・・・orz。
データテーブルを作成するのに便利なんだけどな。
チェーン構造とか作る時どうやってるんだろう。
その度にクラス作るのか?

241 :デフォルトの名無しさん:04/12/11 20:32:32
>>240
仮に構造体がJavaにもあったとして、「その度にクラス作る」のと
「その度に構造体作る」の、何が違うの?

242 :デフォルトの名無しさん:04/12/11 20:39:14
>>241
構造体はスタック領域に作られるから高速だが、クラスはヒープ領域に
作られるのでメモリ確保の手間がかかる。さらにメソッドテーブル作成
などでも時間とメモリを食う。これ位常識。

243 :デフォルトの名無しさん:04/12/11 20:44:41
>>242
馬鹿には聞いていません。

>>240-241をよく見て、話を要点を絞って
一体どこに焦点を当てた話なのかを理解したら死んでください

244 :デフォルトの名無しさん:04/12/11 20:50:27
>>242
構造体はスタック領域に作られるってあんた…
どこで仕入れた勘違い知識ですか。

245 :デフォルトの名無しさん:04/12/11 20:58:29
auto変数とallocaしか使わないのか?

246 :デフォルトの名無しさん:04/12/11 21:04:41
ローカルスタックとも言う。
一般にオブジェクトをプールするヒープ領域はジャンプテーブル方式で
参照チェインなのでどうしてもメモリアクセスが遅くなるが
参照(ポインタ)を必要としない構造体は、スタック領域にコンパクトに
作成されるのでクラスに比べて高速でメモリ効率もいい。
Sunが構造体を実装しなかったのは手抜き以外の何者でもないね。
コンパイラの実装やJVMコアレベルの知識の話だから、そこら辺を
踏まえてくれよ。

247 :デフォルトの名無しさん:04/12/11 21:09:59
>>246
ちょい待て、構造体とクラスを比較してるってことは、C++での話じゃないのか。
それを「JVMコアレベルの知識の話」とか言われても、はぁ?ですな。

248 :デフォルトの名無しさん:04/12/11 21:24:25
誰がそんな話をしてる

「その度にクラス作る」のと「その度に構造体作る」では
作業的な手間は大して変わらないって話だろ

249 :デフォルトの名無しさん:04/12/11 21:29:16
>>246は自分が如何に頓珍漢なことを言っているのか一生気付かんかも知れんな。

250 :デフォルトの名無しさん:04/12/11 21:29:28
>>242 >>246みたいに話のコンテキストを読まず、自分の知識を
披露したがるやつが一番イタいな。。。

251 :デフォルトの名無しさん:04/12/11 21:30:19
だいたい何でもかんでもセッターゲッター作るのが気に食わない。
な〜にがオブジェクト指向だよ

252 :デフォルトの名無しさん:04/12/11 21:32:56
>>251
ほう、じゃあどうであればオブジェクト指向なのか伺おうか

253 :251:04/12/11 21:36:47
>>252
ただの独り言なんでほっといてください。

254 :デフォルトの名無しさん:04/12/11 21:37:40
>>251は前橋読んでかぶれたな…。いや俺も好きだけどw

255 :デフォルトの名無しさん:04/12/11 22:01:54
値のチェックがクラスの中でできるのは結構なメリットじゃね?
まぁ何もチェックしないセッターゲッター作るだけならpublicにしろよとは思うが

256 :デフォルトの名無しさん:04/12/11 22:13:40
>>230
もうちょっとヒントでないですか?
TabSet使ってもTabサイズ変えられる気がしないんですが・・・どうやるんでしょう

257 :240:04/12/11 23:10:18
>>241,>>248
感覚的な問題だけど
自分にはクラス->一つの機能、データ群->構造体みたいな
切り分けがあるのでデータ群をクラスで作るのは気持ち悪い。

必要な物があったら必要なものだけ作れば良い。
構造体なら本当に必要なデータの塊だけど
クラスなら最低コンストラクタは作らなくてはいけない
(確かにたいした手間ではないとは思うが)。
C++的な知識、しかもうろ覚えで悪いがメソッドがあるなら
メソッドの位置を記憶したポインタ領域が new したときに
確保されるはず。
少しとは言え余計な物を作り、無駄な領域が使われる訳だ。

258 :デフォルトの名無しさん:04/12/11 23:18:32
>>257
だから、無理してオブジェクト指向やるのやめれば?
それともC++がガチのオブジェクト指向だと信じているクチ?

259 :デフォルトの名無しさん:04/12/11 23:25:06
>>258
C++も当然OOPじゃん。少なくともJavaよりはね。
多重継承による柔軟な継承、演算子オーバーロードやテンプレート、
フレンド関数による「多態性」、真のprotectedアクセス子やnamespaceによる
カプセル化と少なくともJavaよりは、OOPの機能が豊富に揃ってる。
javaは、OOPとは言い難い(むしろライブラリ委譲だろ)interface
とかで要所要所をごまかしてる感じがするね。
まあ、C++も完全なOOPとは言えないけどね。


260 :デフォルトの名無しさん:04/12/11 23:31:49
釣りキター

261 :デフォルトの名無しさん:04/12/11 23:32:49
マクロはオブジェクティブ、ミクロは関数型。これって最強じゃない?

262 :デフォルトの名無しさん:04/12/11 23:34:17
>257は今後もCでバリバリに頑張って頂きたい。
JavaとかC#なんて、効率悪くて使ってられないっしょ?
てか、C/C++にしたってmallocやnewも標準のは効率悪くて使う気しないっしょ?

263 :デフォルトの名無しさん:04/12/11 23:40:22
10万行くらいあるデータファイルから読み込んで処理するプログラムとかは
javaなんかじゃやってらんないね。Cマンセー

264 :デフォルトの名無しさん:04/12/11 23:47:44
cout << なんたらとかやるよりかは、printfの方が簡単でいい

265 :デフォルトの名無しさん:04/12/11 23:53:13
Javaで例外クラスを作るとき、
ExceptionかRuntimeExceptionを継承すると思うのですが、
どのように使い分けるのがベストでしょうか?

個人的に、プログラムの実装次第で発生させないように出来る例外
(あるいは、バグが原因で発生すると思われる例外)を
RuntimeExceptionのサブクラスにしています。
(例: 正の整数が入っているはずのint型変数に負の数が入ってしまっている)

で、サーバーが応答しない、みたいな、プログラムだけでは
どうにも対処できない例外をExceptionのサブクラスにしています。
こういう使い方で良いのでしょうか? 自信ないのですが。

266 :デフォルトの名無しさん:04/12/11 23:59:40
RuntimeExceptionだってExceptionを継承してるんだから、

267 :デフォルトの名無しさん:04/12/12 00:00:32
カプセル化とはいったい何なんですか?おりが使ってる本には、データとデータを操作するコードとを関連付けるメカニズム。って書いてあるがイマイチ??です。

268 :デフォルトの名無しさん:04/12/12 00:06:57
で、君が検索したサイトには何て書いてあるんだい

269 :デフォルトの名無しさん:04/12/12 00:09:22
>267
要するに
「白鳥は水中で激しく動かす足を見せない」
ということ。

270 :デフォルトの名無しさん:04/12/12 00:11:12
パソがまだつながってないから、本でしか調べられないんだ(:_;)申し込んでからそろそろ2週間になるのに・・

271 :デフォルトの名無しさん:04/12/12 00:16:21
カプセル化 【encapsulation】読み方 : カプセルカ

 オブジェクト指向プログラミングが持つ特徴の一つ。データとそれを操作する手続きを
一体化して「オブジェクト」として定義し、オブジェクト内の細かい仕様や構造を外部から
隠蔽すること。外部からは公開された手続きを利用することでしかデータを操作できない
ようにすることで、個々のオブジェクトの独立性が高まる。カプセル化を進めることにより
オブジェクト内部の仕様変更が外部に影響しなくなり、ソフトウェアの保守性や開発効率が
高まり、プログラムの部分的な再利用が容易になる。

272 :デフォルトの名無しさん:04/12/12 00:18:35
読み方 : カプセルりょく

273 :デフォルトの名無しさん:04/12/12 00:22:01
カプセル化   (―か。Encapsulation)

 薬のカプセルのように、パケットなどをあるヘッダで包み込むこと。異なる
層、あるいは異なるプロトコル環境でもスムーズに通信できるようにするため
の技術。
 例えば、送信者がIPv4(インターネット・プロトコル・バージョン4)のパ
ケットをIPv6(インターネット・プロトコル・バージョン6)環境のネットワ
ークを通して、相手のIPv4対応のホストに送信する場合、IPv4パケットをIPv6
のネットワークで通すには、IPv4パケットをIPv6のパケットであるかのように
見せかけるため、IPv6のネットワークの入口で、IPv4パケットをIPv6ヘッダで
カプセル化してしまいます。するとIPv4パケットは、あたかもIPv6のパケット
のように扱われるので、IPv6のネットワークを通過できるようになります。そ
して、IPv6のネットワークの出口で、IPv6のカプセルを取り外すことによって、
IPv4パケットとして相手に送信することができることになります。

274 :デフォルトの名無しさん:04/12/12 00:32:29
jarファイルでImageIconで画像が表示されないのがいくつかあるんですが
なぜ表示されないんでしょう?
getClass().getResource()でurlとってます

275 :デフォルトの名無しさん:04/12/12 00:45:06
>>273とてもわかりやすかったです。ありがとうございました。
・→(・)→・→・(・)
こういうことだね!

276 :デフォルトの名無しさん:04/12/12 00:48:20
>>275
何それ?おっぱい?

277 :々奈 ◆Xl6OTFSLJ2 :04/12/12 00:50:35
ありがとうございます。

>>232
ペイントソフトもパズルも最初は解説サイトを見て写しながら勉強して、
その後理解できたかの確認のために、自分で変更を加えながら作り直しました。

>>233
ファイル入出力はやったことがないので、やってみます。
HTMLはなんとかかんとかlintでギリギリ満点取れます。

>>234
なるほど。
IOはほとんど知らないので勉強してみます。

278 :デフォルトの名無しさん:04/12/12 01:09:50
servletの質問です。
送信元のURLを送信先に表示させたいのですが
どのようにしたらいいんでしょうか。
getServletPath()だと送信先のものが表示されて
うまくいきませんでした

279 :デフォルトの名無しさん:04/12/12 01:11:16
>>219
はあ?

280 :デフォルトの名無しさん:04/12/12 01:33:08
つーか答える気もないくせに人のことばっか気にしてんな!
お前ら、何様だよ!
いっつもいっつもくだらないことばっか言いやがってよー
ちゃんと働けよ!暇人が!
真剣に答えてくれる人にはすいません。
そうゆう人にはマジで感謝してます。


281 :デフォルトの名無しさん:04/12/12 01:48:40
>>278
おまえ調べる気ないだろ、、、

送信元のURLってのが何を指すかよくわからんけど
request.getRequestURI()のことか?

282 :デフォルトの名無しさん:04/12/12 03:18:17
質問です。

文字列phoneに数字かハイフンじゃない文字が含まれていた場合に、
作動するようにしたいんですが

if (phone.matches("[0-9?-]+") == false)

でエラーがでるんですけど何故でしょうか。

283 :デフォルトの名無しさん:04/12/12 03:24:31
そのエラーすら書かないクソは一生うんこ喰ってろ

284 :デフォルトの名無しさん:04/12/12 03:27:51
メソッド matches(java.lang.String) は class java.lang.Stringで見つかりません。

というエラーです。

285 :デフォルトの名無しさん:04/12/12 03:29:12
それはね、メソッド matches(java.lang.String) が class java.lang.Stringで見つからないからだよ。

286 :デフォルトの名無しさん:04/12/12 03:35:39
日本語でエラー内容書いてあるのにわからないのはなぜ?ナゼ?

287 :デフォルトの名無しさん:04/12/12 03:36:35
>>282
使ってるJavaが古い。あと氏ね

288 :282:04/12/12 03:45:27
javaのバージョンが古いからできないということでしょうか?

解決法とかは・・

289 :デフォルトの名無しさん:04/12/12 03:47:39
男なら自分で何とかしろや、ハゲが!

290 :282:04/12/12 03:56:56
分かってるのに何故教えてくれないのか激しく謎ですが・・・
なんとか自分でやってみます
ありがdでした

291 :デフォルトの名無しさん:04/12/12 04:03:05
>>290
そんな化石みたいなバージョン止めて新しいの使えば?
君の友達はみんなJ2SE5.0使ってるよ。


292 :282:04/12/12 04:10:37
そのバージョンはすごいですねw

でもコンパイルを大学のunixでやってるので無理ですね・・
PCでコンパイル頑張ってしようかな・・;

293 :デフォルトの名無しさん:04/12/12 04:16:28
情報を小出しにする奴はよっぽどバカなのか問題を解決したくないのかっちなのだろう
LinuxかSolarisならずいぶん前から5.0は使えるわけだが。


294 :デフォルトの名無しさん:04/12/12 04:17:42
>>292はJ2SE5.0をネタだと思ってる悪寒

295 :デフォルトの名無しさん:04/12/12 04:19:40
HP-UXでも5.0使えます。Mac OSXは1.4.2が最新

296 :デフォルトの名無しさん:04/12/12 04:19:42
どうせ糞FreeBSDか何かでJDK1.1.8でも使ってるんだろ?w

297 :282:04/12/12 04:32:35
PCでコンパイルしたら問題解決しました

J2SE5.0をネタだと思ってしまいました、失礼
一つ勉強になりました(かな?
では

298 :デフォルトの名無しさん:04/12/12 04:38:28
ついでに大学にも5.0入れろや。こんな化石使わせんじゃねーよこの糞管理者が、ってな

299 :247:04/12/12 08:28:22
>>258
無駄ものは作りたくないだけ。
オブジェクト指向云々以前の問題。

>>262
なんか勘違いしてないか。
自分が無駄と言っているのは
「メソッドの位置を記憶したポインタ領域」のことなんだが。
確保したクラスや構造体のアドレスが返ってくるのは
無駄じゃないだろ。
それとも構造体でもメソッドのためのポインタが確保されるのか?

300 :デフォルトの名無しさん:04/12/12 08:31:50
で、その構造体は作るたび(使うたび)に初期化するの?

301 :デフォルトの名無しさん:04/12/12 08:42:19

質問の意味が分からない厨発見

302 :デフォルトの名無しさん:04/12/12 08:44:17
>>299
実行効率最優先で考えたらオブジェクト指向そのものが無駄だと思わないか?

303 :デフォルトの名無しさん:04/12/12 08:47:06
>>300
あちこちで作って使うような構造体なら毎回初期化処理書くわけだからムダだろ?

304 :デフォルトの名無しさん:04/12/12 10:03:21
コマンドラインから二つのdouble型引数を受け取り、それらの積を表示するプログラムを作成したんですが、Array IndexOutOfBoundsExceptionとなります。

メインの中身↓
double d1 = Double.valueOf(args[0]);
double d2 = Double.valueOf(args[1]);

double d3 = d1 * d2;

System.out.println(d3);



305 :デフォルトの名無しさん:04/12/12 10:21:49
>>304
IndexOutOfBoundsException以前にコンパイルが通らんと思うのだが…


306 :デフォルトの名無しさん:04/12/12 10:24:45
>>305いやコンパイルはできてしまった。。。
なぜだかわからん(-.-;)

307 :デフォルトの名無しさん:04/12/12 10:49:25
>>269
ウマい。

308 :デフォルトの名無しさん:04/12/12 11:01:54
質問するのに自分の環境ぐらい書けや

309 :299:04/12/12 11:41:05
>>302
実行効率最優先で考えたら高級言語そのものが無駄だと思ってる。

流用、保守を考慮した作りにすることと、
ただの無駄とは話が違うだろう。

310 :デフォルトの名無しさん:04/12/12 11:47:04
じゃあ、高級言語を使わなければいいだけだろ。
おまえはこのスレには無駄だということもわかってない無駄人間。

311 :デフォルトの名無しさん:04/12/12 12:12:48
なるべく短時間で平易に実装して、
必要に応じてパフォーマンス向上を図るべきだと思う。
とはいえ何万レコードのデータをメモリにため込むのはだめだけど。

312 :デフォルトの名無しさん:04/12/12 12:22:58
効率うんぬんを抜かすなら、計測してからにしろと誰かが言ってたんだよな、確か。

313 :デフォルトの名無しさん:04/12/12 12:25:23
コンパイルしても実行ファイルできないの?

314 :デフォルトの名無しさん:04/12/12 12:28:10
> 実行効率最優先で考えたら高級言語そのものが無駄だと思ってる。

こういう極論出して悦に入ってるやつってなんだろね。
「環境最優先で考えたら自動車そのものが無駄だと思ってる」とか、
意味の無い正論ってやつ。

315 :デフォルトの名無しさん:04/12/12 12:33:19
資源は潤沢にあるのだから、富豪的プログラミングの時代。

316 :デフォルトの名無しさん:04/12/12 12:42:21
>>314
思ってるだけじゃ我慢できなくて書き込んじゃったんだろうから、優しくしてあげて。

317 :デフォルトの名無しさん:04/12/12 12:47:53
              ,,,,,,,,,,,,,,,,,,,,
             /": : : : : : : : \
           /-─-,,,_: : : : : : : : :\
          /     '''-,,,: : : : : : : :i
          /、      /: : : : : : : : i     ________
         r-、 ,,,,,,,,,,、 /: : : : : : : : : :i    /
         L_, ,   、 \: : : : : : : : :i   / 実行効率最優先で考えたら
         /●) (●>   |: :__,=-、: / <   高級言語そのものが無駄だと思ってる  
        l イ  '-     |:/ tbノノ    \    
        l ,`-=-'\     `l ι';/      \  ニート(24・男性)
        ヽトェ-ェェ-:)     -r'          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヾ=-'     / /  
     ____ヽ::::...   / ::::|
  / ̄ ::::::::::::::l `──''''   :::|

318 :デフォルトの名無しさん:04/12/12 13:05:49
>>309
>実行効率最優先で考えたら高級言語そのものが無駄だと思ってる。

だったら、構造体を採択しないのも言語設計の妥当な選択肢だと思わない?

319 :デフォルトの名無しさん:04/12/12 14:18:17
>流用、保守を考慮した作りにすることと、
>ただの無駄とは話が違うだろう。

流用・保守を考えてのクラスじゃないの?
少なくとも構造体よりは流用性も保守性もあると思うが。


320 :デフォルトの名無しさん:04/12/12 14:19:35
>>269
言いえて妙だな。

321 :デフォルトの名無しさん:04/12/12 14:29:13
関数実行のオーバヘッドは意外と大きくて時間の無駄。。

322 :デフォルトの名無しさん:04/12/12 14:39:18
>>320
べただな。

323 :309:04/12/12 16:30:28
>>318
>だったら、構造体を採択しないのも言語設計の妥当な選択肢だと思わない?
構造体が無いことに合理性があるなら
選択肢としてあるのは良いと思う。
しかし不便になっているだけにしか思えない。
なぜ構造体が無くなったのか
(構造体が無くなることでこういう風に良くなったとか)
説明をできる人がいたら、ぜひ教えてほしい。

324 :デフォルトの名無しさん:04/12/12 16:34:37
>しかし不便になっているだけにしか思えない。

構造体が無いことによって一体どこが不便なんだ? メモリの使用効率?
純粋に疑問。

325 :デフォルトの名無しさん:04/12/12 16:43:12
>>324
CやC++から移行した人が戸惑うってことじゃないか?

326 :デフォルトの名無しさん:04/12/12 16:43:58
>>323
classとstructという似て非なるものが同じ階層に存在することが無駄だ、という視点を理解できないのですか?


327 :デフォルトの名無しさん:04/12/12 16:56:15
CのstructとJavaのclass
あえて考えるなら・・・nullが入らないという保障ができないと言う事くらいかな。

328 :デフォルトの名無しさん:04/12/12 16:56:22
>>326
はげどう

329 :デフォルトの名無しさん:04/12/12 17:15:28
>>327
解説希望

330 :デフォルトの名無しさん:04/12/12 17:22:54
box2.setText("〜〜〜〜");

といった感じで表示窓に文章を表示させたら
横に一行でダラダラと長くなってしまって酷く見づらいので
窓の中で改行をさせたいのですが方法が分かりません。

調べてみると、TextFieldという形式の窓は一行分だけで
複数行になる場合はTextAreaという部品を用いるらしいのですが
TextField→TextAreaとすると今まで上手くコンパイルできていたのが

シンボルを解決できません
シンボル:コンストラクタ TextArea(int)
場所   :java.awt.TextAreaのクラス
      private TextArea box2 = new TextArea(200);

というメッセージが出てエラーになります。
窓の中で文章を改行する方法を教えてください。

331 :デフォルトの名無しさん:04/12/12 17:33:30
Javaが構造体を無くしたことで、
* 構造体はどうしても必要なものでは無いということに気付いたニュータイプ
* 構造体がなきゃ生きていけないオールドタイプ

という区別ができるようになりますた


332 :デフォルトの名無しさん:04/12/12 17:49:30
>>330
APIで、コンストラクタの概要をみること

333 :デフォルトの名無しさん:04/12/12 17:51:29
>>331
違うな。
与えられた環境に疑問を持たないオールドタイプと
常にそれが最良の仕様なのか問答し、向上を求めるニュータイプ
だな。


334 :デフォルトの名無しさん:04/12/12 17:56:28
TextArea(int);
↑こんなコンストラクタは無いっていうことだろ?

ちょっと考えてください


335 :デフォルトの名無しさん:04/12/12 17:57:31
>>333
C++は君のすべての向上心に応えてくれるよ。安住の地が見つかってよかったね。


336 :デフォルトの名無しさん:04/12/12 18:01:29
言語仕様の美しさだけ考えたら、C++でstructを拡張してclassを作った時にstructを廃棄しても良かったんだよな。
あっちは別にObjectを継承する訳でもないし。

337 :323:04/12/12 18:03:54
>>324
240に書いたけどデータテーブルが効率よく作れないのが痛い。
あくまで例だけど
typedef stract hoge{
int a,b,c;
}HOGE;
const HOGE tblHoge[]={
//a b c
{1,2,3},//hoge1
{4,5,6},//hoge2
{7,8,9},//hoge3
};
と書ければデータhogeのパラメータ(a,b,c)が
横一列に並ぶため可読性が良い。
Javaは構造体が無いためパラメータ毎に
テーブルを作らなくてはいけないので
どのデータとどのデータが関連あるのか直観的に分かりずらい。
Javaで無駄な作業(コンストラクタを作るとか)をせずに
可読性の良いデータだけのテーブルを作れれば問題ない。

>>326
>classとstructという似て非なるものが同じ階層に存在することが無駄だ、という視点を理解できないのですか?
非なるものなんだから無駄ではない。
強いて言うなら紛らわしい(紛らわしいというほどでも無いが)。
つまり326、328の言い分は
オーバーライドとオーバーロードも
似て非なるものだから無駄だということだな。

338 :デフォルトの名無しさん:04/12/12 18:04:52
>>336
> あっちは別にObjectを継承する訳でもないし。
(;´∇`)?

339 :デフォルトの名無しさん:04/12/12 18:07:33
>>337
釣りは休日に限るよね
俺も某スレで大量に釣ってきた

340 :デフォルトの名無しさん:04/12/12 18:09:00
> オーバーライドとオーバーロードも
> 似て非なるものだから無駄だということだな。
揚げ足とりにもなってない、ただの言いがかりだな。
馬鹿の匂いがプンプンする。

データテーブルの問題だって瑣末すぎる。
多少、コードを長く書かなければいけないのは確かだが、
「どのデータとどのデータが関連あるのか」なんてのは
書き方しだいで何とでもなるだろう。

341 :デフォルトの名無しさん:04/12/12 18:15:57
>>337
なるほど。確かにそうだな。
javaのインスタンス作成におけるオーバーヘッドはかなり大きい。
それを解決する構造体が必要って意見はもっともだな。


342 :デフォルトの名無しさん:04/12/12 18:17:27
釣りかと思ってたがただの馬鹿っぽいな

>>337
>240に書いたけどデータテーブルが効率よく作れないのが痛い。
その「効率がいい」というのは単に君がタイプする文字が多いかどうか、ということなんだね。
アホらし。
タッチタイピングとかコピペとか覚えると世界が変わると思うよw

たった数行のコンストラクタを書くことが「効率が悪い」のか。


343 :336:04/12/12 18:23:31
>>338
ン? 何か間違ってる?
俺が昔C++を勉強したときは、「structとはメンバが全てpublicなclass」って書いてあったんだが。

344 :デフォルトの名無しさん:04/12/12 18:32:18
>>343
あ、いや合ってる合ってる。
「Objectを継承する訳でもないし」って一文が、「Objectクラスを継承する訳でもないし」なのか、
「オブジェクト(インスタンス)を継承する訳でもないし」なのか判然としなかっただけ。スマソ

345 :336:04/12/12 18:36:31
>>344
了解。
「Objectクラスを継承する訳でもないし」と書けば良かったね。

346 :デフォルトの名無しさん:04/12/12 18:37:59
>>336
>言語仕様の美しさ

C++では禁句です。
Cとの互換性、過去のC++との互換性を保ちつつOOを取り入れねばならなかった苦労を偲んであげましょう


347 :デフォルトの名無しさん:04/12/12 18:39:15
言語使用が美しい言語って何かね〜

348 :デフォルトの名無しさん:04/12/12 18:42:43
Lisp

349 :デフォルトの名無しさん:04/12/12 18:49:11
構造体の (プログラム上での) 初期化がめんどくさいとか
データテーブルが効率よく作れないって言っても
337 の例みたいに一回しか作らないんなら全然効率の問題にはならないわけですが。

つーかデータテーブルなんかをソースコードに直書きするのは間違ってると思いませんか。
ファイルから読み込め。

350 :337:04/12/12 18:54:08
釣り耐性なさすぎw
プゲラッチョ

351 :デフォルトの名無しさん:04/12/12 19:01:14
>>350
偽者かな?
もっと頭良さそうなフリしないと、釣りというよりただの馬鹿だよ。ここは初心者スレでもあるし

もともと頭悪いんだろうからこんなこというのは酷だけどね


352 :デフォルトの名無しさん:04/12/12 19:03:57
>>351
それで精一杯皮肉ったつもりなのか?
一生懸命文章考えてくれてご苦労さまプゲラ

353 :デフォルトの名無しさん:04/12/12 19:22:31
敗北宣言が出たので構造体は必要ないってことでFA.

・・・つまんねーな。もっと分かってる奴ならもっと盛り上がっただろうに。
最近は一方的に叩かれて終わりなのも釣りっていうのか。


354 :デフォルトの名無しさん:04/12/12 19:32:40
負け惜しみキター
プゲラッチョ

355 :デフォルトの名無しさん:04/12/12 19:33:41
スレと関係ないんだけどさ、俺「釣り」とか「釣り師」っていうのは、

 釣り師 ↓     
.            /| ←竿
     ○  /  |
.    (Vヽ/    |
    <>     |
゙'゙":"''"''':'';;':,':;.:.,.,__|_________
             |
  餌(疑似餌)→.§ >゚++< 〜
                 の組み合わせだと思ってたんだけど、

最近自称釣り師がダイレクトで自分の本音を攻撃されて「釣れた!」とか
言ってるの多いよね。
 これは、どっちかというと、



          ,〜〜〜〜〜〜 、
|\     ( 釣れたよ〜・・・)
|  \    `〜〜〜v〜〜〜´
し   \
゙'゙":"''"''':'';;':,':;.:.,.,  ヽ○ノ
          ~~~~~|~~~~~~~ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                 ト>゚++<
              ノ)

かと思うんだけど、どうよ?

356 :デフォルトの名無しさん:04/12/12 19:34:41
>>353
ま、本物の釣りと同じで、一匹も釣れなくても「釣りをした」という
事実には変わりないわけで…。
本人が満足らしいからそれでいいんでしょう。

357 :デフォルトの名無しさん:04/12/12 19:40:05
釣りましたよ、って宣言してるにも関わらず
未だに釣れ続けているなw
アホどもw

358 :デフォルトの名無しさん:04/12/12 19:42:16
よく職場で、やり方とか考え方の食い違いがあって
プチケンカ(といっても、不気味なぐらい穏便に)をしているが
心の中ではココで書いていることを言っているのだろうな



359 :デフォルトの名無しさん:04/12/12 19:42:27
>>355
そんなに悔しいの?
プゲラ

360 :デフォルトの名無しさん:04/12/12 19:43:03
>>357
>>355

361 :デフォルトの名無しさん:04/12/12 19:51:41
質問スレと宿題スレでは fusianasan を強制し、
バカはブラックリストに入れるのがいいと思う。

利点1.質問の仕方を注意されて逆切れする香具師が少なくなる。
利点2.質問と見せかけて釣りで荒らす香具師が少なくなる。
利点3.回答者の名誉欲が満たされる。

362 :デフォルトの名無しさん:04/12/12 19:52:01
まあ、いちいち>>355なんかを書き込んでしまう時点で
釣られているんだけどな

363 :デフォルトの名無しさん:04/12/12 19:52:52
>>361
たぶん今年中に廃れるね。
それはそれでどうでもいいが

364 :デフォルトの名無しさん:04/12/12 19:59:01
>>235 から始まってるから
よっぽど気合の入った釣り師か、
途中で自分の間違いに気付いて恥ずかしくなったので自称釣り師に変わったか、
本人が見てないうちに、別の釣り師が引き継いだのか、

真相は闇の中


365 :デフォルトの名無しさん:04/12/12 20:01:10
>>361
おおまかには同意。
こういうくだらん流れも少なくなるかもしれない。

テンプレに「質問者・回答者はフシアナ推奨」と書くのがいいかと。
「強制」にすると小うるさい香具師が必ず出てくる。


366 :デフォルトの名無しさん:04/12/12 20:13:27
それを言うなら回答者もフシアナしなきゃいけないぞ。
このスレは回答者も初心者であることが多いため
見当違いのクソ回答のせいでめちゃくちゃになることが多いんだから。

367 :デフォルトの名無しさん:04/12/12 20:19:32
>>366
ちゃんと読め

368 :デフォルトの名無しさん:04/12/12 20:27:19
>>367
やなこった

369 :デフォルトの名無しさん:04/12/12 20:28:59
そういう話は自治スレでやれ。

370 :366:04/12/12 20:33:05
>>367

>>361に倣って書くとだな。

利点1.思いつきだけの安易な回答が減る。
利点2.回答のミスを注意されて逆切れする香具師が少なくなる。
利点3.回答と見せかけて釣りで荒らす香具師が少なくなる。
利点4.じきにクソ回答者が淘汰される。

>>235のような奴が回答側に回ることは十分あり得る。

371 :デフォルトの名無しさん:04/12/12 20:35:17
>>370
違うって。
「利点3.回答者の名誉欲が満たされる。 」って書いてあるってことは
初めから「回答者もフシアナ」ってことだろ。
それを「それを言うなら回答者もフシアナしなきゃいけないぞ。 」は意味不明。

372 :デフォルトの名無しさん:04/12/12 20:38:49
>>366
つーか、初心者大歓迎だから初心者が回答しても何もおかしくない。


373 :デフォルトの名無しさん:04/12/12 20:41:31
フシアナは非現実的だが、回答者がそれぞれトリップ付のコテハンを
名乗れば過去レスから回答実績が明らかになるし、どのレスが信用できる
かも一目瞭然になる。
隣の宿題スレではコテハンを名乗ってる香具師が何人かいるようだが
ここでは全くいないのは何故?


374 :デフォルトの名無しさん:04/12/12 20:43:07
適当にやればいいじゃん。
ルールで縛ると、ルールを守った守ってないという
つまらない議論でスレが潰れたりするよ。

375 :デフォルトの名無しさん:04/12/12 20:49:46
>>374
既になってるから、心配すんな。

376 :デフォルトの名無しさん:04/12/12 20:55:08
「1000」を「1,000」にする方法を教えて下さい。

377 :デフォルトの名無しさん:04/12/12 20:56:10
>>376
「1」と「000」の間に「,」を入れる。

378 :デフォルトの名無しさん:04/12/12 20:57:49
>>376
「1」を「1,」に置換する。

379 :376:04/12/12 21:01:18
>>377>>378
初心者ですみませんが、1000を入れたら1,000を
返してくれる関数のようなの知りませんか?

380 :デフォルトの名無しさん:04/12/12 21:02:12
000の前に,を書く

381 :デフォルトの名無しさん:04/12/12 21:03:32
>>379
java.text.DecimalFormat
でOK

382 :デフォルトの名無しさん:04/12/12 21:08:19
某板の某Java質問スレを再び機能させる方法を教えてください

383 :デフォルトの名無しさん:04/12/12 21:10:41
>>382
しばらく放置する。

384 :デフォルトの名無しさん:04/12/12 21:13:50
>>372
じょーだんじゃねーよ

385 :376:04/12/12 21:15:02
>>381
サンクス!

386 :デフォルトの名無しさん:04/12/12 21:20:29
回答もらった人がWikiに情報を残さないのは何故?

387 :デフォルトの名無しさん:04/12/12 21:26:36
1.wkiの編集の仕方を調べるのがめんどくさいから。
2.教わったことを文章にするのがめんどくさいから。
3.文章にするほど一般的な問題ではないから。

388 :デフォルトの名無しさん:04/12/12 21:31:09
4.Wikiってなんですか?

389 :デフォルトの名無しさん:04/12/12 22:16:38
>>387
1や2だと回答するのがバカバカしくなるね。
3だと勝手に判断せずに登録してほしいね。

>>388
もうなんかお話にならないね。

390 :デフォルトの名無しさん:04/12/12 22:27:53
>>388
鳥の一種かな?

391 :デフォルトの名無しさん:04/12/12 22:28:44
まだ、プチケンカやってのか
そんなことより いまフジテレビで 小島奈津子が・・・


392 :デフォルトの名無しさん:04/12/12 22:37:49
キーウィ

393 :337:04/12/12 22:50:54
ちょっとみない間に随分カキコが。
しかも偽物まで(初めてだ)。

しかし、ここまでカキコがあって
構造体反対派の中で
>可読性の良いデータだけのテーブルを作れれば問題ない。
に、まともな意見書いてるのが
>>349
>ファイルから読み込め。
だけか。
これに関してはケースバイケース。
349だってすべてのデータ(コンストラクタに渡す値とか)を
ファイルから読み込んでいる訳じゃ無いよね。
もちろんデータの内容によっては
ファイルから読み込むように作るつもり。
あと「一回しか」というのは、あまり重要ではない。
保守が楽なんだよ。
テーブルにデータを追加するのに構造体だと
一つのテーブルに一行追加しておしまい。
Javaだと各パラメーターのテーブル毎に追加しなくてはいけない。
作業が増える分ミスの可能性も増える。
データが少なければ分かれてても問題ないけど
ちょっと多いと追加する場所を探すのが大変になってくる。

これ以上書き込んでも
良い方法が出て来そうも無いから後はスルーするけど
話の流れを読まず、脊髄反射で書き込む奴おおすぎ。
あと知識無いのを叩いてごまかす奴とか。
Javaスレなので構造体が分からないのは仕方ないが
叩くなら構造体の使い方まで理解した上でやってくれ。
「自分は構造体を理解してる」というのなら
叩く前に適切なアドバイスができるよな。

394 :デフォルトの名無しさん:04/12/12 23:05:49
>>393
適切なアドバイスすら無視してる奴がよく言うよ。

395 :デフォルトの名無しさん:04/12/12 23:19:01
>>393
もっともな意見だな。
俺もここまでの一連のカキコを見て、このJavaスレ住人の
プログラミングに対する根本レベルからの理解が欠けてるのを
はっきりと分かったよ。
やはり、いろいろ保護された高級レベルの高級言語だけを専門に
してる人間ってのは、どうやってそれをコンパイラで実装してるのかって
ベース部分の事まで理解が及ばないんだな。
そういう事に関心を持つ概念すらないんじゃないか?
質問した場所が悪かったかもしれないな。むしろCスレの方が本当の
意味でJavaを理解してる人が多いかもしれん。


396 :デフォルトの名無しさん:04/12/12 23:24:47
「構造体」が本質じゃないことは結局理解できなかったか・・

397 :デフォルトの名無しさん:04/12/12 23:36:31
>>395
全角英字で「Java」て表記を平気で使う奴がよく言うよ

398 :デフォルトの名無しさん:04/12/12 23:42:13
>>397
やっぱ、同じ奴なのかな

399 :デフォルトの名無しさん:04/12/12 23:46:43
ここでfusianasanですよ

400 :デフォルトの名無しさん:04/12/13 00:11:08
つーか答える気もないくせに人のことばっか気にしてんな!
お前ら、何様だよ!
いっつもいっつもくだらないことばっか言いやがってよー
ちゃんと働けよ!暇人が!
真剣に答えてくれる人にはすいません。
そうゆう人にはマジで感謝してます。



401 :デフォルトの名無しさん:04/12/13 00:13:13
>>397
全角から半角に直すのが面倒臭かっただけだよ。
あと構造体の本質って言うけどさ、構造体の意味が分かってないのは
アンタの方じゃないか。
ここで再三言ってるのは、C言語風の構造体が無いのは不便って事だ。
C言語風の構造体とは、Object型からプリミティブまでのデータを
配列定数の形でも代入できる、マルチ配列みたいなものなんだよ。
何でそんな事も分からない?
ちなみにC♯だとスタック領域に格納されるインスタンス生成が
高速なデータ集合体になる。
明らかにJavaしか知らないだろ。プログラミング全般に関する
広範囲な知識がないから、今までこんな頓珍漢な回答とツッコミと
煽りばかりになるんだ。今回の騒動でJava厨と言われる所以が
分かったよ。そのレベルの低さもね。


402 :デフォルトの名無しさん:04/12/13 00:22:47
>>400
まぁ2chにそーいうの求めてもなぁ
モラルがしっかりしてる掲示板だったら他にあるわけで
@ITとかどこぞのMLとか

403 :とおりすがり:04/12/13 00:24:06
>>401
C言語風の構造体とやらの
利点がわからんのだけど?
配列定数って、初期化のための
シンタックスシュガーがそんなにすごいモンか?

あと、なんでスタック領域にインスタンスがあると
「高速なデータ集合体」になるんだ?
スタック領域とヒープ領域にどっちにデータがあろうと使う分には変わるまい?
スタック相対アクセスとレジスタ相対アクセスてそんなに速度違うか?

404 :とおりすがり:04/12/13 00:26:52
あそうか、
メモリ確保は確かに早いな。
「生成」を読み落としてたよ。

405 :デフォルトの名無しさん:04/12/13 00:35:30
ここまでで出た、クラスではなく敢えて構造体にしたい理由(?):
>データテーブルを作成するのに便利(>>240
>構造体はスタック領域に作られるから高速(>>242,246)
>(クラスは)少しとは言え余計な物を作り、無駄な領域が使われる(>>257,299)
>データテーブルのソースコードの可読性が良い(>>235,337)
>配列定数の形でも代入できる(>>401


406 :デフォルトの名無しさん:04/12/13 00:36:07
>>401
みんな「そんなことにこだわる暇があったらほかにやるべき事がいくらでもある」って言ってるだけだよ。
日本語わからないの?

あと「富豪的プログラミング」で検索かけてみるのもおすすめ。

407 :デフォルトの名無しさん:04/12/13 00:36:10
あ、同じことを2行書いてしまった

408 :デフォルトの名無しさん:04/12/13 00:39:58
>>405
結局、テーブルをソースに直書きするためだけに構造体を導入しろということだな。

409 :デフォルトの名無しさん:04/12/13 00:42:05
>>408
さっきから見てればそこだけはいくらつっこまれても無視するんだからお話にならない

410 :デフォルトの名無しさん:04/12/13 00:44:45
>>409
そして「プログラミング全般に関する知識」ってか・・・救えねえ

411 :デフォルトの名無しさん:04/12/13 00:47:42
初心者スレに粘着する時点で知れてるよ

日本の中学生がアメリカの小学校低学年の教室に行って
「おまえら因数分解もできねーんか、アメ公はレベル低いな」
っつって鼻息荒げて帰っておしまいのような感じ。

412 :396:04/12/13 00:50:36
>>401
CもC++も業務で使ってたよ。それぞれ5年位。
C#は使ってないが。

>C言語風の構造体とは、Object型からプリミティブまでのデータを
>配列定数の形でも代入できる、マルチ配列みたいなものなんだよ。

これは「C++の」「クラス」ではできんのか?

ところで「構造体の本質」なんて一言も言ってないが。
あ、良く見りゃ俺宛じゃないのか。

413 :デフォルトの名無しさん:04/12/13 00:53:32
>>412
たぶん帰国子女だから
日本語が不自由なのは許してあげて

414 :デフォルトの名無しさん:04/12/13 00:55:25
ローカルで宣言した構造体はスタックに確保できて早いって話だけど、
Javaだって、ローカルでnewしたオブジェクトへの参照をメソッド外へ持ち出してなければ、
べつにそのオブジェクトはスタックに確保してもいいよね。

なので、少なくともスタック云々言ってる香具師は、言語仕様の問題と最適化の問題を混同してると思われ。

415 :デフォルトの名無しさん:04/12/13 01:01:38
>>411
その例えは根本的に違う。

自宅から勤務先への直通電車を通せと政府に要求し、
反対意見に対して「交通や運輸についての理解が不足してる」とか言ってるのと同じ。

416 :デフォルトの名無しさん:04/12/13 01:07:07
>>414
違うって。
Javaでクラスのインスタンス本体をスタックに確保しても、それへの
参照変数も確保しなきゃいけないし、参照変数→オブジェクト本体→
メンバテーブルと参照して、フィールドの相対アドレスを求めてるから
はっきり言って遅い。しかも実装によっては参照変数だけスタックで
本体はヒープの場合もあるからインスタンス生成も時間がかかる。
C言語風のマルチ配列タイプの構造体なら、プリミティブと同じように
スタックに即座に確保して、参照変数がない直接参照になりフィールドも
バイトコードの埋め込み時点で相対アドレス値が直書きされるから
生成もアクセスも早くなる。
配列定数のシンタックスシュガーだけじゃないんだよ。利点は。
それに {str, 0, obj, 5.0} みたいにインスタンスをコンパクトに
表現できるのはかなり便利じゃないか。シンタックスシュガー位って
言うなら、多くの構文もそんなの別にいらんて話になるだろうが・・・
全く、プログラミングレベルの本質的な話ができないのには呆れを
通り越して残念に思うよ。俺をバカにして無知を晒すヒマがあったら
勉強することだな。サンもこのスレを見たら嘆くだろうよ。


417 :デフォルトの名無しさん:04/12/13 01:09:27
ええと、Cの構造体初期化が楽だという意見自体にはおれは賛成なんだよ。
でもそれって、「構造体」っていう概念の問題ではなくて、C言語における構造体の
「書き方」の話だろ。

だって、構造体の「概念」だけを実現するならば、

class Struct {
public int a, b, c;
}

で立派に構造体だろ?
Struct struct = new Struct();
struct.a = 1;

ってできるわけで。

構造体ってどの構造化された言語にもたいてい同じようなものが存在する
(Visual Basicにだってある)が、C言語の構造体には、上記のような構造に対して、

struct = {1,2,3};

と書いてもよい、という便利な文法があるってだけの話だろ。

俺には、構造体がないから云々というより、この構造体初期化文法がないことに文句を
言っているようにしか見えない。で、この問題はおれにはシンタックス・シュガー的な要素に
しか見えない。たまたまJavaにはその文法がないというだけ。

で、最初のころに出てた話で言えば、おれはJavaでテーブル構造作るなら、素直にコンストラ
クタと配列配列初期化構文を使う。

Hoge[] array = { new Hoge(1,2,3), new Hoge(4,5,6), new Hoge(7,8,9)};

418 :デフォルトの名無しさん:04/12/13 01:13:13
C++の理解も足りない奴がJavaを始めてつまずいて、わめき散らしてる、って理解でOK?


419 :デフォルトの名無しさん:04/12/13 01:14:05
>>416
いや、俺がいいたいのは、
フィールドしかないようなfinalのJavaのクラスを作って、そのクラスのオブジェクトを、
あるメソッド内だけで閉じた使用しかしていなかった場合に、
コンパイラがDFAとかの解析を(解析のコストとかはおいといて)きちんと
Cの構造体アクセスと同等のコードにコンパイルすることは可能でしょ?ってこと。

まあ、そんなJavaの実装は無いと思うけどw

420 :デフォルトの名無しさん:04/12/13 01:15:13
ごめん。一部抜けた。
> コンパイラがDFAとかの解析を(解析のコストとかはおいといて)きちんと
これは「きちんとすれば」と書きたかったのでした。

421 :デフォルトの名無しさん:04/12/13 01:17:46
うーん、おれはSunがJavaに構造体を取り入れなかったのは、手抜きというよりは
純粋主義だったからだと思うぞ。データとその振る舞いを一つにまとめて扱うのが
オブジェクト指向の考え方であって、データを単独で扱う構造体という概念はJavaには
必要ない、と真剣に考えた結果だと思うよ。あくまで想像だけど。

オブジェクト指向の考え方を言語仕様として規定するとしたら、考え方としては間違って
ないと思う。まあ>>416は納得しないだろうとは思うけど。

422 :デフォルトの名無しさん:04/12/13 01:18:06
あと、416は、
どんな実装でもスタックよりもヒープのメモリ確保が遅いと信じてるのが面白いな。
例えばCopy GCベースのヒープ実装だったらスタック領域のメモリ確保もヒープ領域のメモリ確保も
全然確保コストは変わらないのにねー。

423 :デフォルトの名無しさん:04/12/13 01:19:50
>>418
Cの理解も足りない奴がJavaを始めてつまずいて、わめき散らしてる、って理解でOKだYO!

424 :デフォルトの名無しさん:04/12/13 01:28:12
高級言語とかオブジェクト指向とかって、変数がスタックに置かれるとか、
レジスタに置かれるとかいうところを気にせずに、「機能をどう実装するか」
というプログラミングレベルの本質の話をするためにあるものだと思って
たんだけど、変数をスタックにおいてアクセスをコンマ何秒か速くすることが
プログラミングレベルの本質だと。

バイトコードで動いてて、マシン語になったときどうなってるかは実装依存の
Javaって本質からかけ離れてますね

まあおれは客がどのプラットフォームでも動かせるプログラムが必要と言う
本質的な話の方が重要なんでいいけど。

425 :デフォルトの名無しさん:04/12/13 01:29:22
>>416
>それに {str, 0, obj, 5.0} みたいにインスタンスをコンパクトに
>表現できるのはかなり便利じゃないか。シンタックスシュガー位って

C++を改良したはずのJavaもC#も、なぜその構文を採用しなかったか考えてみたら?

お前が今思っているほど、その構文は便利でもないし、必要でもなかったってこと。
少なくともこの2つの言語設計者は、
「大多数の人間はこれを必要としない」または「導入することによるメリットよりデメリットの方が大きい」と考えた、ということ。
その構文が無い環境でもう少しコーディングしてみれば分かるよ。


426 :デフォルトの名無しさん:04/12/13 01:30:17
>>415
わかってないな。

それをわざわざ「初心者スレで」やってるのが問題なの。

427 :デフォルトの名無しさん:04/12/13 01:31:55

うるせー

3分立てばなんか書いてるし・・・

質問・回答以外は書くべきではない

428 :デフォルトの名無しさん:04/12/13 01:37:51
>>393
>構造体反対派の中で
>>可読性の良いデータだけのテーブルを作れれば問題ない。
>に、まともな意見書いてるのが
>>>349
>>ファイルから読み込め。
>だけか。

ワラタ
これこそ一番どうでもいいツッコミだよw


429 :デフォルトの名無しさん:04/12/13 01:43:00
C:「なんで printf がねーんだよ。」
J:「いらねーよ。そんなもん自分で作れ。」
C:「いちいち作ってられっか。面倒くせーだろ。」
J:「じゃー、てめーC使ってろ。」

数年後。

S:「待望の printf です!!!!!」

C,J:「今さら、、、。」

みたいな話もあるので、何年かしたら Java に構造体が出来るかもしれないね。
駄々をこねるなら作っている人に見えるところにすると良いでしょう。

430 :デフォルトの名無しさん:04/12/13 01:43:54

つまり、初心者に嘘を教えてはいけないという名目で書いているのだろうが

実際は、自分のプライドのために書いているのか



431 :デフォルトの名無しさん:04/12/13 01:45:48
>>429
数年後なのか?J2SDK5.0て・・・
詳しく知らんが、たしか書式指定できたような・・・
つうかいまさら使わんとおもうけど、いや使うのか



432 :デフォルトの名無しさん:04/12/13 01:46:15
J2SDK5.0・・・すまん違う

433 :デフォルトの名無しさん:04/12/13 01:46:39
あ、あってるわ

434 :デフォルトの名無しさん:04/12/13 01:52:52
いや、printfはかなり昔からJava使いからの要望が強かったと
思うんだけど。

435 :デフォルトの名無しさん:04/12/13 01:57:33
そうなのか〜
Javaだと
FormDefinition fd=new FormDefinition();
fd.set(1,"%s");
fd.set(2,"%x");
fd.add("%d");
out.printf("sample",fd);
とかやるのか?
知らんが

436 :351:04/12/13 01:59:09
偽者を一瞬で見抜いた俺が予言する!
>>393 は真性で >>395 >>401 >>416は釣り師!

「プログラミングレベルの本質」とか書いてる奴は釣り師ですよ。気をつけよう
真性クンが「どうでもいい些細な事柄」を本質であるかのように主張するのをみて「本質」というキーワードで釣ってみたくなったんだろう


437 :デフォルトの名無しさん:04/12/13 02:06:20
>>436
楽しいか?

438 :デフォルトの名無しさん:04/12/13 02:14:11
>>436
う〜む、本質だけを連呼してる訳じゃなく、外の事もいろいろ
気合入れて書いてる(ように見える)からな〜。
釣り師かどうかは分からんな。んな事言ったらどんな会話も成り立たなくなる。


439 :デフォルトの名無しさん:04/12/13 02:17:37
別に楽しくはないけどね。

おかしな論が書かれっぱなしになるよりは正しい事を教えちゃろう、とは思う。
釣りはできれば居ない方がいいよね


440 :デフォルトの名無しさん:04/12/13 02:19:01
430 デフォルトの名無しさん sage New! 04/12/13 01:43:54

つまり、初心者に嘘を教えてはいけないという名目で書いているのだろうが

実際は、自分のプライドのために書いているのか

441 :デフォルトの名無しさん:04/12/13 02:20:51
>>435
いや普通に普通のprintf()だよ。PrintStreamのメソッドなんて、outに対して使えるね。

System.out.printf( "おれに%d万円ください。%d万円でも可。", 100, 1000);

てな感じで。J2SE 5.0で可変長引数がサポートされたから、C的なprintf()が実現可能に
なった。

442 :デフォルトの名無しさん:04/12/13 02:22:03
> 偽者を一瞬で見抜いた俺が予言する!
> >>393 は真性で >>395 >>401 >>416は釣り師!

>>393>>395>>401>>416は過去のできごとだからこれは予言ではない。

443 :デフォルトの名無しさん:04/12/13 02:28:38
>>441
そうなんだ
いままでそういうのって
MessageFormat.format("おれに{0}万円ください。{1}万円でも可。", new Integer[]{new Integer(100), new Integer(1000)});
見たいな感じにしてたな
実際のパフォーマンスがどうなるのか試してみたい

で、ちょっとびっくりしたのが
可変長引数できるようになるのか
以前どういう場面だったか忘れたが、使いたいなと思ったことがある



444 :デフォルトの名無しさん:04/12/13 02:30:06
>>430 >>440
プライドってのはどういう意味で書いてるんだ?

間違った事が事が書いてあったら正すぐらいのことは当然のことだろ。
それがプライド???日本語おかしくない?


445 :デフォルトの名無しさん:04/12/13 02:31:09
>>444
まあ、負けたくない(負けず嫌い)てなとこか


446 :デフォルトの名無しさん:04/12/13 02:31:45
>>444
プライドは日本語じゃないからな。

447 :デフォルトの名無しさん:04/12/13 02:38:07
>>445
「間違っているのを正す」のは勝ち負けとは関係ないな


448 :デフォルトの名無しさん:04/12/13 02:39:05
>>429
限られた場面でのパフォーマンス改善の手段として、
C#でいう「値型」に近いものが導入される可能性はないとはいえない。
だがおそらくC#でもstructを使うべきところは非常に少ないだろう。

しかもC#でもパフォーマンスを除けばclassもstructもほとんど同じものだから、
そのままJavaに入ることはないだろうね。


449 :デフォルトの名無しさん:04/12/13 02:39:49
ところでJava使ってると性格悪くなるの?
ここ険悪な空気が漂ってるからさ。

450 :デフォルトの名無しさん:04/12/13 02:43:42
たぶんC++。

451 :デフォルトの名無しさん:04/12/13 02:46:09
List は Arrays.asList で即値を初期値に入れて作成できますが、
Map で同じようなことは出来ませんか?

452 :デフォルトの名無しさん:04/12/13 02:52:52
>>451
キーはどうするわけ?

453 :デフォルトの名無しさん:04/12/13 02:53:07
おれも>>450に賛成だな。

454 :デフォルトの名無しさん:04/12/13 02:57:49
>>451
できないと思っていい。
どうしてもやりたければそういうメソッドを作ることはできるが、
Map map = entryArrayToMap(new Map.Entry[]{new MyEntry("key1", "value1"), new MyEntry("key2", "value2")});
作った後に値入れていくのと手間はそう変わらない。


455 :デフォルトの名無しさん:04/12/13 03:02:36
>>449
休日だったから・・・

456 :デフォルトの名無しさん:04/12/13 03:06:05
>>452
そこを疑問に思わないところが疑問だな。

457 :デフォルトの名無しさん:04/12/13 03:09:16
最近のバカレス
>>426>>446

構造体クンがいなくなってから随分と少なくなったな

458 :デフォルトの名無しさん:04/12/13 03:09:31
メソッドの引数に書くconstキーワードは、欲しいなとは思ったことある
ただ単に、安全っぽいって言う理由だけだけど

459 :デフォルトの名無しさん:04/12/13 03:09:45
Winのショートカットファイル(*.lnk,*.url双方)の情報の取り出し方を
教えていただけませんか?


460 :デフォルトの名無しさん:04/12/13 03:11:41
>>457
天然とネタの区別もつかないのか。可哀想に

461 :デフォルトの名無しさん:04/12/13 03:13:22
>>459
テキストファイルじゃないのか
自分でフォーマット解析して

462 :459:04/12/13 03:18:18
>>461
テキストエディタでは開けないようなので、バイナリエディタでということですよね?
勉強してみます。

463 :デフォルトの名無しさん:04/12/13 03:21:38
>>459
ちょっとまて
.urlファイルはまちがいなくテキスト

しかし、ショートカットファイルをエディタで開いても参照先のファイルを開いてしまうということを覚えておいてね

464 :デフォルトの名無しさん:04/12/13 03:50:13
だれか2ちゃんのIDを全板分確認するJavaつくっておくれ

465 :459:04/12/13 04:02:43
なるほど。調べてみたらそのとおりでした。ありがとうございます。
おかげさまでurlファイルについてはなんとかなりそうです。
いまごろわかったというのも恥ずかしいですが・・・

1000ほどあるlnkファイルをhtmlファイルにリスト化する作業を
javaにやらせたいと考えています。
リンク元は僕がweb上からサイトごとDLしたindex.htmlの集団です。
ゆくゆくは、jsp+servletでカテゴライズされたリストから、
そのファイル群にアクセスできれば楽だろうと考えたのが、
この質問のはじまりでした。

apacheを導入してあるのでurlファイルベースで上の作業をやれば、
lnkファイルの扱い方が分からなくてもなんとかなりそうです。

ありがとうございました。

466 :デフォルトの名無しさん:04/12/13 04:10:03
>>464
警告受けるぞ・・

467 :デフォルトの名無しさん:04/12/13 04:12:07
>>464
スレ違い
http://pc5.2ch.net/test/read.cgi/tech/1046576456/


468 :デフォルトの名無しさん:04/12/13 04:14:33
>>466
なんで?
別に隠すものでもないだろうに

469 :デフォルトの名無しさん:04/12/13 05:32:04
>>465
ファイルフォーマットを知りたいときにはWotsit's Formatだ。.lnkもあったぞ。
http://www.wotsit.org/

470 :デフォルトの名無しさん:04/12/13 05:45:53
>>468
2chにスレがいくつあると思ってるんだ・・・

471 :デフォルトの名無しさん:04/12/13 07:10:27
>>470
なんか勘違いしてるみたいだな。
自分だけのIDのこといってんだけど。

472 :459:04/12/13 08:08:20
>>469
助かります。ありがとうございます。

473 :デフォルトの名無しさん:04/12/13 09:49:34
>>458
finalじゃなんで駄目なわけ?

474 :デフォルトの名無しさん:04/12/13 10:22:42
>>473
きっとこっちの方
int doesNotChangeMyInstanceValues(void) const { hogehoge; }

475 :デフォルトの名無しさん:04/12/13 11:38:22
>>473
finalはメソッド引数にかけるの?

476 :デフォルトの名無しさん:04/12/13 11:47:14
void myMethod( final int arg)

とか普通に書いてるぞ。俺の書くメソッドにはほとんどの場合
引数にfinalを書いてる。

477 :!475:04/12/13 11:48:50
>>476
知らなかったよ。

478 :デフォルトの名無しさん:04/12/13 12:12:36
メソッドがオブジェクト内容の不変を宣言する事はできないよね?


479 :デフォルトの名無しさん:04/12/13 12:25:51
>>476
それintをfinalにする意味あるのか?

480 :デフォルトの名無しさん:04/12/13 12:37:20
>>479
メソッド内で引数が変更されないことが保証される。間違って書いた場合コンパイラが見つけてくれる。

あと、インナークラスから参照する場合は必須。こんなの。
void hoge(final int a){
 Thread t = new Thread(new Runnable(){
  public void run(){
   System.out.println(a);
  }
 });
 t.start();
}

481 :デフォルトの名無しさん:04/12/13 13:06:32
>>476
finalはintにかかるのではなく、常にargのほうにかかるんだよ。
だから、int型変数argの値を変更できないと言うこと。
だからconstみたいに位置によって意味合いがちょっと変わる、
みたいなことはできない。

482 :デフォルトの名無しさん:04/12/13 14:36:05
JavaScriptの値をJSPに渡す方法があれば
教えてください。

483 :デフォルトの名無しさん:04/12/13 14:37:07
>>482
フォームで渡せばいいじゃない

484 :482:04/12/13 14:52:20
>>483
実はリストボックスの項目を選択した時点で値を渡したいのです。
フォームは「送信ボタン」押さないと値を渡せなかったです。

485 :デフォルトの名無しさん:04/12/13 14:53:24
>>484
一旦submitする以外、JSPに値を渡すことは不可能。

486 :482:04/12/13 15:11:47
>>485
2つ以上のページに送信したいのです。
上手く説明できないんだけど、送信ボタンが2つあって
それぞれ別のページにリストボックスで選んだ同じ値を渡したいのです。


487 :デフォルトの名無しさん:04/12/13 15:32:08
>>486
1. 1つめのページに送信
2. 1つめのページのJavaScriptで2つめのページに送信
3. 2つめのページで受信

488 :482:04/12/13 15:39:34
>>487
レスありがとうございます。
その方向でやっていこうと思います。

489 :デフォルトの名無しさん:04/12/13 18:14:39
実験でjavaを使ってます

javaで組んだ複数の独立したプログラムを、一つのプログラムで実験がしおわったら
次のプログラムに自動的に移行するように繋げたいのですが、どうすれば良いでしょう?

画面上のある点をクリックさせるような実験なのですが、1回の実験では50クリックと決まって
いるので、50回目をクリックしたときに、任意の次のプログラムに移る・・・
という感じにしたいのですが。

プログラム用語もあまりわからず、これで、やりたい事が伝わるといいのですが・・・
どうか、なにかヒントだけでも教えてください。

490 :デフォルトの名無しさん:04/12/13 18:41:50

>>481 デフォルトの名無しさん sage New! 04/12/13 13:06:32
>>476
finalはintにかかるのではなく、常にargのほうにかかるんだよ。

それ、意味が違うと思う
476はメソッドに渡すint型(その他プリミティブ)はメソッド抜けた後も変わらないので
finalに意味があるのか?(つけてもつけなくてもおんなじ)といっているのだろう
Javaではプログラマがプログラム内でポインタ制御できないからな


491 :デフォルトの名無しさん:04/12/13 18:45:32
>>480さん
>あと、インナークラスから参照する場合は必須

よく、「final宣言されていない」などとコンパイラに怒られますが
そういう決まりだったのですね
しかし、なぜそうしないといけないのかっていう理屈がいまいち理解できません
別に変えられても問題ないのでは?と思うのですが



492 :デフォルトの名無しさん:04/12/13 18:55:12
問題大アリです。

493 :\__  ______/ :04/12/13 18:59:18
       ∨
    / ̄ ̄ ̄ ̄\   
   (  人_____,,)
    |ミ/  ー◎-◎-)
   (6     (_ _) )    カタカタカタ
   | ∴ ノ  3 .ノ  ______
    ヽ、,,     __,ノ   |  | ̄ ̄\ \
   /       \.____|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ    |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕


494 :デフォルトの名無しさん:04/12/13 19:02:27
>>491
おれも大ジョブだとおもうが

495 :\__  ______/ :04/12/13 19:17:49
          ,f"                            ゙l:、
          ,f"          ヒ,,__;:-'" ノ 〃          小 ゙l:、
          { i /ノ (   〃   、_,,,二ブ     }, , i       |小 .,}
          i; y/   ゞ    彡 ),/,ィ',イ,/   ノ,ノ,|; i;      :l | |l,i'
          7 ,;f 〃ゝミ三彡,ノ,;イf ゙v' (/〃'彡'彡ッ'゙いミ:、 :i   ヘツ
          ,{ ;{  ,,  _,;f"ー-ニ,,,__  い'''" ̄"__,;:=-‐'''''i; :| ミ:、 :トァ
         ..゙i、 {  ,i',i'.,k" -─モ・ナ=ミヽミヾゝ::-=ニモ・テ'ーァ''ソ人 い ゙li
           `'ン { レl小     ̄    ゙ `  `  ̄ "  ̄ノ,ト、 l i ,ノ
            '{ :、V、゙:|{゙i         l ::.         ,;{ソノl ツ,ノ
            ゙i、l、 ゙ヾi゙l;          l ::::..       ,i'ィ'" ム'"
             `:ゝ、 ゙ミi        、 ,,;::''      /f'{ il(,
               ,ソノ ,∧    ...._____..____.....    /〃) )i
               (:i| :;i _l゙、     .,,,__,,,...     /|〃〃'"
                ゙i|ヘ,,ニ| `:、          ,r'":l ミL_
                 ,f '、,,  ゙ヽ、     _,,r''"_,,;-'二l''"
,,,,,_____          j_,f゙''-ニー-ミニ===='''ニ彡'''":-''"l |        ______
   __,ィ''''" ̄ヽ          ,} ,i`i ,r'二`''ー:、`Y",;='ニ二ミ、 f''"i      ./ ゙̄'''=;zL___
 ̄ ̄ ゙li   _,,,L---r‐r--f"ゝ{. ゙ナ'"  `) | | .l| f"  イ、_j.l^;>-ニr:,,,∠,,,,,,__   )
     'li_;;<     i、 i、 ゙ヽ、゙ヽ、,,,,__,,.ノ .l . | :| ゙-,,_,,ニ=''"ノ ̄ フ,ノ─  _,,>、 /


496 :デフォルトの名無しさん:04/12/13 20:00:26
int型の2次元配列をある列に着目してArrays.sort()でソートすることは可能ですか?
可能でしたら具体的な記述方法を教えて欲しいのですが
各行には関連のあるデータを置くので行は1セットとしてソートしたいです
うまく言葉だと表現できないので簡単な例を挙げます
15 30
12 20
50 40
38 10
例えば上のような4x2配列で2列目に着目してソートをかけ
38 10
12 20
15 30
50 40
という並びにしたいということです

497 :デフォルトの名無しさん:04/12/13 20:19:14
>>496
Arrays#sort(Object[], Comparator)を使う。
  int[][] ary = {
   {15, 30},
   {12, 20},
   {50, 40},
   {38, 10},
  };
 
  Arrays.sort(ary, new Comparator(){
   public int compare(Object o1, Object o2){
    int a = ((int[])o1)[1];
    int b = ((int[])o2)[1];
    return a - b;
   }
  });

498 :496:04/12/13 20:24:18
>>497
ありがとうございますさっそく試してみます

499 :デフォルトの名無しさん:04/12/13 20:39:05
あぁ・・・・
やっぱ>>489の文章じゃワケワカンナイっすかねぇ・・・・ OTL



500 :デフォルトの名無しさん:04/12/13 20:53:51
>>499
それぞれのプログラムのロジックをmainから切り離して
プログラムAからプログラムBのクラスを生成して実行しれやれば?
状況がよくわかんねーけど
あるいは、外部プログラムを実行する方法ってのもあるんだけど

501 :デフォルトの名無しさん:04/12/13 20:55:18
大学生ならプログラミングで煮詰まるだろ?
http://ex7.2ch.net/test/read.cgi/campus/1101824994/232
これはひどいマルチポスト野郎ですね。

502 :489=499:04/12/13 20:56:35
>>500
やっぱ、状況伝わってませんねw すいません
外部プログラムで順番に実行するような線で、今、調べています

が・・・・・・    ワガンネ

503 :デフォルトの名無しさん:04/12/13 21:10:46
>>502
ん〜?よくわからないけど、外部プログラムを実行したいんだろ?
つまり
>java gaibuA
>java gaibuB
をやりたいんだろ?
それだったらプログラムで出来るが・・・Runtimeクラスを参照してみ。exec()メソッドで
exec("java gaibuA");
ってやると実行できる。
見当違いだったらスマソ

504 :489=499:04/12/13 21:18:13
>>503
サンクス!
ランタイムね・・・ランタイム・・・

505 :デフォルトの名無しさん:04/12/13 21:33:09
import java.io.*;

public class HelloWorldExecCmd {
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("ls -l");

} catch (Exception e) {
e.printStackTrace();
}
}
}

506 :デフォルトの名無しさん:04/12/13 21:46:19
参照渡しで
ググって見てるのですが
・「データの値」を渡すのではなく「参照そのもの」を代入する。
・呼び出し先を変更すれば呼び出し元も変更される
こういう説明が多いのですが

参照渡しって具体的に開発する際にどういった場合にどういった方法で使うのでしょうか?
メリットというか利便性がいまいちつかめません
教えてください

507 :デフォルトの名無しさん:04/12/13 21:53:21
Javaだと意識しなくても使ってるから

508 :デフォルトの名無しさん:04/12/13 21:54:17
>>506
値をコピーしないので多少早い。
(配列とかオブジェクトとか大きなデータだと特に。)

出力したい値が返り値以外にある。

509 :デフォルトの名無しさん:04/12/13 22:09:31
>>507
うーん、それほど「値渡し、参照渡し」って
実際の開発ではそこまで意識しなくてもいいってことでしょうか?
もちろん、パフォーマンスなどの面では使ったほうがいいけど

510 :デフォルトの名無しさん:04/12/13 22:11:39
>>509
しないでいいわけあるか!

511 :デフォルトの名無しさん:04/12/13 22:13:52
関数で複数の値を返したい場合は、
返したい値をすべて含むクラスのインスタンスを返すしかない。

512 :デフォルトの名無しさん:04/12/13 22:45:00
前スレのStringで粘着してた方ですか?

513 :デフォルトの名無しさん:04/12/13 23:44:48
>>479,490
メソッドの中で、受け取った引数に間違って代入してしまうのを防止するという
効果があるんだよ。逆に言えばその程度の意味しかない。

どうせオブジェクト参照型の変数をfinalにしたってオブジェクト自体は操作可能
なんだから、そういう意味での効果はもともとないんだし、期待もしてないわけだ。

おれは引数に間違って代入してしまって気づかずにそのまま引数を使った処理を
実行するという馬鹿なバグをしてかしたことがあるのでfinal付けてるってだけで。

514 :デフォルトの名無しさん:04/12/14 00:54:49
Javaで動く絵を設定するにはどうすればいいのでしょうか?
例えばfillOvalで作成した円が右から転がってくる場合のプログラム等なのですが。
FLASHのようなフレームの概念を設定する方法が分からなくて困っています。
ActionScriptなら単純にオブジェクトにonClipEvent(enterframe),_x+=●等を設定すればよかったので
やはりそういった概念だとは思いますが・・・。

今まで見てきた参考書のほとんどはオブジェクト指向、if,for文等の解説ばかりなので参考になりません。
解決策、または動的プログラムが載った参考になる参考書、HPがあれば教えてください。お願いします。


515 :デフォルトの名無しさん:04/12/14 01:01:53
>>514
Java宿題スレの430番台辺りのレスに、似たようなアニメーションの
サンプルプログラム(アプレット)がある。


516 :デフォルトの名無しさん:04/12/14 01:10:44
スレ違いな気もしますが、Javaの質問です。
「Java Bean」と「Java Beans」は、用語としてはどう違うのでしょうか?

517 :デフォルトの名無しさん:04/12/14 01:11:35
サーブレットからサーブレットへ、https接続を
行いたいのだが、うまくできない。
証明書をcacertsに取り込み、
httpsURLConnectionをつかっているが、
エラーが出る。

518 :デフォルトの名無しさん:04/12/14 01:21:28
A*B(C+D)
という条件式を()を優先して行う方法で
簡単なのありませんか?

519 :デフォルトの名無しさん:04/12/14 01:42:05
条件式ってなに?

520 :デフォルトの名無しさん:04/12/14 01:43:49
>>518
A*B (ココはナニが入るんだ?) (C+D)


521 :デフォルトの名無しさん:04/12/14 01:44:53
>>516
単数形と複数形
これマジレス

522 :デフォルトの名無しさん:04/12/14 01:47:38
>>509
参照渡しで意図せずうっかり値を書き換えると
気づきにくいバグになることがある。

必然性がないなら本来は値渡しのほうが安全だ。

523 :デフォルトの名無しさん:04/12/14 01:49:15
つうかJavaには値渡ししかないだろ。参照を値渡ししてるだけだし。

524 :デフォルトの名無しさん:04/12/14 01:49:16
>>518
JavaはCと違って数値と条件式の型が違うから
そんな計算式をif文とかに
直接書いてもコンパイルエラーになるだけだよ。


525 :デフォルトの名無しさん:04/12/14 02:17:46
>>520
C+Dを引数にしてBを呼ぶんじゃね?

526 :デフォルトの名無しさん:04/12/14 07:08:36
>>476のはconstキーワードと全く意味が違わないか?

527 :デフォルトの名無しさん:04/12/14 09:40:32
>>525
それなら、既にそうなってるよな。
翻訳すると、俺はこう推測する。

 文字列「A*B(C+D)」から演算した結果を取得するにはどうするのでしょうか?
 前から1文字ずつ見て、演算するのは出来たんですが、
 ()を優先して演算するいいアイデアが浮かばないのです。
 Javaというより、文字列解析のアルゴリズムの話になるかも知れませんが、
 適切なクラスなどがあったら、アドバイスください。


528 :デフォルトの名無しさん:04/12/14 10:20:08
()に対応した構文解析器の書き方ぐらいググればいっぱい出てくると思うが。

529 :1/2:04/12/14 11:17:38
import java.applet.Applet;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MouseEvent2 extends Applet implements ActionListener {
Button btn;
int colorFlag=0;

public void init(){
btn=new Button("変更");
add(btn);
btn.addActionListener(this);
}

public void paint(Graphics g){
if(colorFlag==0) {
g.setColor(new Color(50,50,100));
} else {
g.setColor(Color.orange);
}
g.fillArc(10,10,200,200,0,90);
}

public void actionPerformed(ActionEvent e){
if(e.getSource()==btn){
colorFlag^=1;
repaint();
}
}
}

530 :2/2:04/12/14 11:18:44
↑をeclipseで実行しアプレットを再起動するとボタンが増えるのですが、
これは仕様なのでしょうか?
また、増やさないようにする方法があればご教授願います。

531 :デフォルトの名無しさん:04/12/14 12:15:58
>>530
initの処理をコンストラクタでやったら?

532 :デフォルトの名無しさん:04/12/14 14:06:31
>>529
仕様。あのへんのメニューはアプレットのライフサイクルを理解した上
でチェックのために使うものだから「なってしまいます。」といわれても
答えようが無い。

533 :デフォルトの名無しさん:04/12/14 15:54:30
rubyでいうところのjoin()みたいなメソッドって標準のAPI(ないしは、
何か有名なオープンソースのライブラリ)にはないですか?
配列をtoStringした結果をjoinに渡した引数を挟みながらくっつけるやつ。

 array = ["もなー", "ギコ", "しぃ"]
 print array.join(":")
  => もなー:ギコ:しぃ

ArrayとかStringのjavadocは一通り眺めてみたのですが見付けられませんでした。


534 :デフォルトの名無しさん:04/12/14 16:02:35
コンパイルしたら、

注:test.javaは推奨されないAPIを使用またはオーバーライドしています。
注:詳細については、-Xlint:deprecationオプションを使用して
再コンパイルしてください。

とメッセージが出るのですが
無視しても良いのでしょうか?

535 :デフォルトの名無しさん:04/12/14 16:08:06
>>533

「何か有名なオープンソースのライブラリ」
に頼るほどのことじゃないだろ。探す方がめんどい。
と思いつつ、Commonsのlang調べてみたら、そのまんまのがあったよ。

http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/StringUtils.html#join(java.lang.Object[],%20char)

536 :デフォルトの名無しさん:04/12/14 16:17:07
>>534
OKです。

537 :デフォルトの名無しさん:04/12/14 16:21:05
>>535
もちろん書くのは簡単なんですが、こんなによく使うメソッドが
ないはずは無いと思い、一般的に広く使われている
メソッドがあるのであれば、それを使った方が良いと思いましたので。

何はともあれ、commons のことを教えて頂きありがとうございました。

538 :デフォルトの名無しさん:04/12/14 16:24:55
そんなの全然使わないな・・・・

539 :デフォルトの名無しさん:04/12/14 16:46:05
>>538
そうですか?私は何か大きめのプログラムを書いたら必ず1箇所ぐらいは
必要とする箇所がでてきますけど…

* join(",")でCSV(厳密なやつじゃないけど)を生成
* join("\n")で文字列の配列を一行ずつ改行した文字列を生成。HTML だったら、join("<br/>")
* 同じく HTML の class="..." の中身はスペース区切りで複数のクラスが指定できるのでjoin(" ")
* join("|")で「もなー」か「ギコ」か「しぃ」にマッチする正規表現を生成

などなど。

540 :\__  ______/ :04/12/14 17:34:07
    \(
     \   __,、-''"¨´ ̄ ̄`¨゙ヒー-:、,,_
       ,r''"  ,,       ,,ニ、    `ヽ、
        /;i',,〃"        (  ゙i     ゙i,  
     ,/ 〃    丿    ゙l, ,/      ゙i,  
     〃     彡  7゙ リ |' .   i   ゙ヽ、 
   / ,   ゙i, f r'  〃   ノ!、| i  l   ミ、 l 
  ,i',f";i' |   } い ,/  ,/゙i(、い | !、 ご゙ { 
  l_| i ,, _彡'"ノヒ人( f ,/ _,,ニゝヾミ、ミーヽ  | 
   ゝ| i l 「"´┬ヲ=,(( '''"r┬テ;ァ Jf`:、ミ:、l リ  
    `'ゝミート  ̄  ,}`    ̄  =彳! ト  ソ  
       )ハ    /         i',ノ,イ川:リ) 
       {; ゙i    ゙ャ ;:.      , ;"  /
       \゙i   __ニ ,,,,_     /〃 .f" 
         ミヽ、  `ニ'"    / ),、 、ド 
         ,)介、     _,/ /´「ノ ,ソ  
          ,>l,,_`;、__,,,,;:'"ニ-ー''"~_> 「 
  _    .  `T''=:,,`Y''二-ー<_. ̄,r}ノ    

541 :デフォルトの名無しさん:04/12/14 18:45:54
java5.0のGridLayoutにバグないですか?
カラム数やロー数が多いとき、端っこに隙間ができる。


542 :デフォルトの名無しさん:04/12/14 20:57:06
注:hoge.javaは推奨されないAPIを使用またはオーバーライドしています。
注:詳細については、-Xlint:deprecationオプションを使用して
  ↑
Java 設計者の先見性のなさの現れ。

543 :デフォルトの名無しさん:04/12/14 21:03:19
BioAppletはpublicです;Bioapplet.javaファイルで宣言されていなければなりません
ってどういうことですか?

544 :デフォルトの名無しさん:04/12/14 21:36:59
ソースファイルのファイル名を変えろってこと。

545 :デフォルトの名無しさん:04/12/14 22:22:53
Date()の出力を次のようにフォーマットするにはどうすればいいの?
YYYYMMDDhhmm
例)200412142136

546 :デフォルトの名無しさん:04/12/14 22:28:01
>>545
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/text/SimpleDateFormat.html

547 :デフォルトの名無しさん:04/12/14 22:52:58
A+B*(C#D)

などの論理式を、LISPのLISTに変換するにはどうすればいいですか?

548 :デフォルトの名無しさん:04/12/14 23:01:33
ついでに>547のCARも

549 :デフォルトの名無しさん:04/12/14 23:10:19
>>547
なんだ。大学の課題か。
自分で考えなw
構文木ができればLISPっぽく出力するのは簡単だ。

550 :デフォルトの名無しさん:04/12/15 00:00:41
せめて構文木の作り方だけでも。

551 :デフォルトの名無しさん:04/12/15 00:09:31
>>550
ほれ。
ttp://kaiunix.cs.shinshu-u.ac.jp/Lesson/ProgLanTh/2004/analysis/text2003/node15.html

552 :デフォルトの名無しさん:04/12/15 00:36:42
>>551
感謝です♪

553 :デフォルトの名無しさん:04/12/15 01:02:26
>>539
> * join(",")でCSV(厳密なやつじゃないけど)を生成

厳密なやつにしようと思うと結局join()じゃ役に立たないことが多いから。
他も同じ。

「もしかするとあると便利かもしれないけどきちんと作ろうとすると結局使えない」ようなAPIは
標準では用意されない傾向がある。
逆にjakartaにはそういうのがありがち。
これぐらいあってもいいんじゃないの?って思う便利なものはjakartaに多い。
順序をひっくり返すComparatorとか。


554 :553:04/12/15 01:08:10
jakarta commonsのうちプリミティブなものは標準APIに取り込まれたりもするね。
NextedExceptionとか

List#join(String)が標準になることは無いだろう。


555 :デフォルトの名無しさん:04/12/15 01:08:28
>>533
わずか数行で実装できる機能を…

556 :デフォルトの名無しさん:04/12/15 01:43:01
>555
「わずか数行」だと思うと別メソッドにしたくなくなるでしょ。
で、その実毎度毎度コピペして「あ〜かったりー」とか。
そこで一手間掛けてクラス作ってメソッドこさえてると、半年も経てばCommonsの
1サブプロジェクトくらいのコードが溜まったりするんだこれが。いややったことないけどorz

557 :デフォルトの名無しさん:04/12/15 01:55:26
>>556は文脈を読めない馬鹿

558 :デフォルトの名無しさん:04/12/15 01:59:38
>>556
Commons使え


559 :デフォルトの名無しさん:04/12/15 02:06:40
>>556
コアとなるJ2SEがそういう気分でAPIを追加していくと、API数が爆発するんだよ。
「どの程度までコアに含むか」ってのは設計者次第。

だから、jakarta commonsのような「ちょっと便利なAPIを集めました」というプロダクトは
コアとは分離していることが望ましい。


560 :デフォルトの名無しさん:04/12/15 02:23:11
つか現状でもJ2SEのAPIちょっと太りすぎ。javax系は
J2MEみたいなProfile制にして切り分けて欲しかった。
できればAWTも。GUIなければSun以外の実装系もJ2MEの
ようにかなり出てくると思うんだけどな。

561 :デフォルトの名無しさん:04/12/15 03:51:16
>>553
逆順のComparatorは標準でもCollectionsクラスにあるんだよねえ、これが。

562 :デフォルトの名無しさん:04/12/15 06:27:58
>>560
そんなことしたら大変なことになりますがな

563 :デフォルトの名無しさん:04/12/15 08:08:04
標準APIは、数は多いが中身がスカスカだからね・・・
マーケティングから、とかく見栄えを良くする事を考えてるのだろうが
クラスの数を増やすよりも、従来のクラスを完全にする方を
重視してほしいよ。


564 :デフォルトの名無しさん:04/12/15 08:11:23
>>563
例えばどこらへんのことを言っている?

565 :デフォルトの名無しさん:04/12/15 08:22:33
各プロトコルよる通信や、コレクション、crypto、Mathクラス
などなど


566 :デフォルトの名無しさん:04/12/15 08:29:42
>>565
どこまでやったら「完全」になるの?

567 :\__  ___________/ :04/12/15 08:34:08
       ∨
    / ̄ ̄ ̄ ̄\   
   (  人_____,,)
    |ミ/  ー◎-◎-)
   (6     (_ _) )    カタカタカタ
   | ∴ ノ  3 .ノ  ______
    ヽ、,,     __,ノ   |  | ̄ ̄\ \
   /       \.____|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ    |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕

568 :デフォルトの名無しさん:04/12/15 08:46:13
完全ってなんだよ、コンクリートクラスを持ち込むことか?
いずれにしてもお前が求める理想のコア機能は MFC や VB ランタイム
のように場当たり的な機能追加で肥大化したものなんだろうな。そういう奴が
作った独自フレームワークのせいで修羅場となったプロジェクトならいくつも
見かけたよ。

569 :デフォルトの名無しさん:04/12/15 08:56:27
JDK 1.1で推奨されないメソッド
http://docs.sun.com/app/docs/doc/806-3702/6jcr618d1?l=ja&a=view

こんな糞仕様の言語のどこがいいんだ?

例えば、enable()とdisable()よりも、
setEnabled(true)とsetEnabled(false) の方が使いやすいのは最初から明らかだし、
それに気づいて後で setEnabled() に仕様変更するのもアホだ。

570 :デフォルトの名無しさん:04/12/15 09:12:08
ライブラリと言語の区別ぐらい付けろ。
それに、その程度で目くじら立ててたら殆どの言語はダメ。
C++にもiostreamがあるように誰でもミスはする。

っつか、1.1の頃はdeprecatedなメソッドってまだ少なかったんだねぇ。

571 :デフォルトの名無しさん:04/12/15 09:20:21
関連スレがわからないのでここで教えてください。
ただいまJbossで開発しております。
そこでクエリーを発行しているのですが
SELECT OBJECT(o) FROM Hoge o
WHERE hoge_name = ?1

というクエリーですが?1のところは文字列ではなく
ユーザー定義型というかクラスで指定しています。
この場合hoge_nameにNULLのデータがあると
検索結果が0件になってしまいます。
どうしたらよいでしょうか?

572 :デフォルトの名無しさん:04/12/15 09:22:00
>>571
nullの場合はwhere文無しで検索したいのか、それともis nullで検索したいのか。
適当に制御しろ。

573 :デフォルトの名無しさん:04/12/15 09:45:10
deprecatedって警告がでるだけでも、十分親切だと思うな。
「代わりにこれ使え」とまでjavadocには書いてるし。

574 :デフォルトの名無しさん:04/12/15 09:57:41
>>568
なにがコンクリートクラスだ。ば〜〜〜か。
上で挙げたクラス群は、場当たり所か、基本の必須クラスばかりだろ。
何が肥大化だ。バカか。ロクな経験もないのがミエミエだ。
ネットやセキュリティ方面のもロクに組んだ事ないだろ。
それでプロジェクトだとか偉そうに語るな。このチョソめ。
頓珍漢な言動とコードを繰り返して、修羅場にしてるのはアンタだろが。
W杯予選で日本選手を拉致るなよ。
強制送還も近いぞ。捏造の歴史で特権に浸りやがって。
あまり調子に乗るなよ。

575 :\__  ___________/ :04/12/15 10:07:51
     ∨   __,、-''"¨´ ̄ ̄`¨゙ヒー-:、,,_
       ,r''"  ,,       ,,ニ、    `ヽ、
        /;i',,〃"        (  ゙i     ゙i,  
     ,/ 〃    丿    ゙l, ,/      ゙i,  
     〃     彡  7゙ リ |' .   i   ゙ヽ、 
   / ,   ゙i, f r'  〃   ノ!、| i  l   ミ、 l 
  ,i',f";i' |   } い ,/  ,/゙i(、い | !、 ご゙ { 
  l_| i ,, _彡'"ノヒ人( f ,/ _,,ニゝヾミ、ミーヽ  | 
   ゝ| i l 「"´┬ヲ=,(( '''"r┬テ;ァ Jf`:、ミ:、l リ  
    `'ゝミート  ̄  ,}`    ̄  =彳! ト  ソ  
       )ハ    /         i',ノ,イ川:リ) 
       {; ゙i    ゙ャ ;:.      , ;"  /
       \゙i   __ニ ,,,,_     /〃 .f" 
         ミヽ、  `ニ'"    / ),、 、ド 
         ,)介、     _,/ /´「ノ ,ソ  
          ,>l,,_`;、__,,,,;:'"ニ-ー''"~_> 「 

576 :デフォルトの名無しさん:04/12/15 11:32:35
国際化関連かなあ。Taligentがコードを持ち込んで
ましになった点が多いけど、逆に混乱したり。


577 :デフォルトの名無しさん:04/12/15 11:55:34
国際化は重視してるようでされてないな。
8ビットで全言語が足りる欧米人にとっては、所詮ウザくてどーでもいいのだろうな。

578 :デフォルトの名無しさん:04/12/15 13:23:28
ところでコンクリートクラスって何?

579 :デフォルトの名無しさん:04/12/15 13:30:23
>>578
具体的なクラスのこと。

580 :デフォルトの名無しさん:04/12/15 14:07:33
コンポーネントのレイアウトを、ボタンで変更できるようにしたいのですが。
表示した後にレイアウトの変更は出来るのでしょうか?

具体的にはJFrameのペーンにグリッドレイアウトでJPanel jb1とjb2を載せて、
それらが並んで表示しているとします。
そこで、ボタンを押したらJFrameにjb1だけが全フレーム内で表示
される、といったことは可能でしょうか?



581 :デフォルトの名無しさん:04/12/15 14:16:46
>>580
CardLayoutを使えば、ワンタッチで切り替えられます。

582 :デフォルトの名無しさん:04/12/15 14:18:15
>>580
間違えた。
レイアウトを設定し直して、Component#validate()をすればOKです。

583 :580:04/12/15 14:51:18
>>582
すいません。レイアウトは変更されましたが、思うような配置になりません。。
差し支えなければ、コードを書く手順等をご教授いただけないでしょうか?

584 :デフォルトの名無しさん:04/12/15 14:59:42
>>574
従来のクラスを完全にするとか、中身がスカスカだとか、一向に具体的な指摘が
出せない奴だな。上っ面触っただけで「VB より使いにくいよママン〜」か?
ボロが出ないようにしっかり論点すり替えてろよ (w

>基本の必須クラスばかりだろ
どこが?

>ネットやセキュリティ方面のも
表現が香ばしくて良いですね (w

>場当たり所か
場当たり所という日本語は無いようですが、半島だとそういう言い回しをするんでつか?
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&q=%E5%A0%B4%E5%BD%93%E3%81%9F%E3%82%8A%E6%89%80

585 :デフォルトの名無しさん:04/12/15 15:01:08
こんにちは。質問があります。
jsp・Strutsを使用したWEBアプリケーションを作っているのですが、
ブラウザでアクセスしてきた人のドメインアカウントを取得することは可能ですか?


586 :デフォルトの名無しさん:04/12/15 15:10:41
ドメインアカウントってWindowsのか?

587 :デフォルトの名無しさん:04/12/15 15:13:14
>>585
ってか何が取得したいか理解不能。
・接続元のプロバイダ・学校・企業などでのアカウント名
・こっちのサーバに登録してあるユーザのアカウント名 (要はサーバで認証がしたい)

588 :デフォルトの名無しさん:04/12/15 15:14:36
remove()したコンポーネントはもう再利用できないのでしょうか?


589 :1/2:04/12/15 15:19:58
import java.applet.Applet;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MouseEvent3 extends Applet implements ActionListener {
Image img;
Button btn;
int colorFlag=0;

public void init(){
img=getImage(getCodeBase(),"shito.gif");
btn=new Button("変更");
add(btn);
btn.addActionListener(this);
}

590 :2/2:04/12/15 15:20:55
public void paint(Graphics g){
g.drawImage(img,100,100,this);
if(colorFlag==0) {
g.setColor(new Color(50,50,100));
} else {
g.setColor(Color.orange);
}
g.fillArc(10,10,200,200,0,90);
}

public void actionPerformed(ActionEvent e){
if(e.getSource()==btn){
colorFlag^=1;
repaint();
}
}
}

このプログラムでshito.gifという画像と扇形の図形を表示できるようにしたいのですが、
shito.gifが表示されません。
どうしたらよいでしょうか?

591 :デフォルトの名無しさん:04/12/15 15:21:20
>586さん>587さん、説明不足ですいません。
Windowsのドメインアカウントです。
>587さんのおっしゃっている2番目のとおり、
取得したアカウントとサーバ側で持っているアカウント情報とを照らし合わせて認証がしたいです。


592 :デフォルトの名無しさん:04/12/15 15:34:23
>>591
できるわけねーだろ

593 :デフォルトの名無しさん :04/12/15 15:36:14
JTableを扱っている日本語のページありませんか?

594 :デフォルトの名無しさん:04/12/15 16:02:14
>>593
ここじゃダメですか?
ttp://www.javadrive.jp/tutorial/jtable/index.html

595 :デフォルトの名無しさん:04/12/15 16:20:50
>>591 Java NTLMでぐぐれ。

596 :デフォルトの名無しさん:04/12/15 16:23:16
質問させてください、
超初心者なんで右も左もわからず…なんですが、

アプレットつきのHTMLのファイルをFrame型の変数で
f.show();
で立ち上げることはできますか??

それか、Frameを表示させて、
それにGIFの画像やアニメーションGIFの画像を表示させることは可能でしょうか

意味不明な質問だったらすいません、よろしくお願いします。

597 :デフォルトの名無しさん:04/12/15 16:49:11
>>596
なんでできないとおもうわけ?
普通にアプレットからフレームだせるよ

598 :デフォルトの名無しさん:04/12/15 16:54:49
>>597
アプレットや GIF 付きの HTML を Frame クラスで表示できるかって意味じゃないか?
どっちにしても回答側に推測させる質問はスルーで良いと思うが。

599 :580:04/12/15 17:25:58
>>582
もういらっしゃらないかも知れませんが、何とかして解決いたしました。
ありがとうございました。

600 :デフォルトの名無しさん:04/12/15 17:32:57
>>599
で、どのように「何とかして解決」したかを書く気はない、と?

601 :デフォルトの名無しさん:04/12/15 17:38:09
>>582は死んだ。もうこの世にもいない・・・

602 :デフォルトの名無しさん:04/12/15 18:26:10
>>601
だが、その思い出は >>580 の心の中に。

603 :質問:04/12/15 18:31:33
import java.awt.Graphics;
import java.applet.*;
import java.awt.Image;

public class Test extends Applet {
Image im[] = new Image[4];

public void init() {
im[0] = getImage(getDocumentBase(), "a.gif");
im[1] = getImage(getDocumentBase(), "b.gif");
im[2] = getImage(getDocumentBase(), "c.gif");
im[3] = getImage(getDocumentBase(), "d.gif");
}

public void paint(Graphics g) {
double x = Math.PI * 0;
double y = 200 - Math.sin(x);
for (int i=0; i<4; i++){
g.drawImage(im[i], 100 * x, y, this);
x += Math.PI * 1/4 ;
}
}
}

という画像をsinカーブ上に並べる プログラムを作成したのですが、コンパイルすると、

604 :603:04/12/15 18:33:02
シンボルを解決できません。
シンボル:メソッド drawImage (java.awt.Image,double,double,Test)
場所 : java.awt.Graphics の クラス
   g.drawImage(im[i],100 * x,y,this);
    ^
エラー1個

というエラーがでてしまいます。どこがおかしいのでしょうか?
ttp://pc5.2ch.net/test/read.cgi/tech/1100559011/859-861
でも聞いたのですが直りません。お願いします。

605 :デフォルトの名無しさん:04/12/15 18:37:11
おまいらJavaでサブプロセス作ったらちゃんと標準出力や標準エラーを掻き出してるか?
掻き出さないとデッドロックしてうざいし標準エラーと標準出力は違うスレッドから扱わなきゃだし
何かかなり面倒なんだけど。

まあ >&/dev/nullすればいいんだけどさ。


606 :デフォルトの名無しさん:04/12/15 18:39:25
>>603
g.drawImage(im[i], (int)(100 * x), (int)y, this);
これでどう?

607 :デフォルトの名無しさん:04/12/15 19:04:43
>>605
そんな基本中の基本いわれても・・・

608 :603:04/12/15 19:11:38
>>606
うまくいきました。
ありがとうございます。

609 :デフォルトの名無しさん:04/12/15 20:08:12
java1.5を利用しています。
イテレータ文から拡張for文に書き直す点で問題が起きました。

Iterator<Hoge> it = hogelist.iterator();
while( it.hasNext() ) {
Hoge hoge = it.next();
if( .. ) it.remove();
}

という表記を、拡張Forを用いて
for( Hoge hoge : hogelist ) {
if( .. ) hogelist.remove( hoge );
}

になおしたところ、

java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:4
49)
at java.util.AbstractList$Itr.next(AbstractList.java:420)
...

というようなExceptionが発生しました。
どのように拡張Forでリスト要素を削除するにはどのように
書けばよいのでしょうか?
よろしくお願いします。

610 :デフォルトの名無しさん:04/12/15 20:52:36
みなさん、教えてください。
public class typing extends Applet implements KeyListener{
    Panel p1;
    init(){
//    add(p1,BorderLayout.NORTH);
addKeyListener(this);//キー認識
requestFocus();
}
public void keyPressed(KeyEvent e){//キー入力受付
showStatus(e.getKeyText(e.getKeyCode()));
   }
4行目のパネルp1を付けると、keyPressedが反応しなくなります。
よろしく、お教え下さい。


611 :デフォルトの名無しさん:04/12/15 20:59:52
>>609
書き直したっていうか、等価じゃないじゃん。
前者のコードでも、Itrator#removeではなく、
if( .. ) hogelist.remove(hoge);
としたら同じエラーになるんじゃないか?
要するに走査しながら削除するには、Iteratorからじゃないとだめということだ。

612 :609:04/12/15 22:38:32
>>611
ごもっともですね・・・
ありがとうございました。

613 :デフォルトの名無しさん:04/12/15 23:14:12
>>611
そういう場合はケツから読んでいくのさ。

614 :デフォルトの名無しさん:04/12/15 23:20:02
>>609,613
iteratorを走査してるときに元のcollectionを操作しようとすると必ず例外を吐くので無理。
removeしたい要素を別にとっておいて、あとからremoveAllするがよい。

615 :デフォルトの名無しさん:04/12/15 23:22:35
同期取るだけじゃダメなんれすか?

616 :578:04/12/15 23:59:14
>>579
ありがとう。ひとつ勉強になりました。

617 :デフォルトの名無しさん:04/12/16 01:03:47
>>523
じゃあ参照渡しってどんなのだよ。

618 :デフォルトの名無しさん:04/12/16 01:05:01
>>518
C+D && A*B


619 :デフォルトの名無しさん:04/12/16 01:09:39
>>534
趣味プログラムなら。

620 :デフォルトの名無しさん:04/12/16 01:54:05
0x00ぽ

621 :デフォルトの名無しさん:04/12/16 02:15:30
参照渡しってのは、

hogeType arg = hoge;
funcHoge( arg);

void funcHoge( hogeType arg) {
arg = hage;
}

とかやったときに、funcHoge()にargがどう渡るかという言語仕様の問題だ。
Cではargのコピーが作られる。PASCALでは上記はargの参照が(勝手に)
渡されて、arg = hage;は参照アドレスの値を書き換えるとコンパイラが解釈する。
たしか引数が4バイトよりも大きかったらそうなるんだっけ?
そういう仕様だ。それが参照渡し。CやJavaにはそもそも値渡ししか存在しない。

Javaはオブジェクト参照のコピーが渡るだけだから、funcHoge内部のarg=hageは、
呼び出し元のargに影響しないだろ。オブジェクト参照を値渡ししてるだけなんだから。

メソッド内でオブジェクトの状態を変更してしまう問題は、可変オブジェクトを使う
際の扱い方の問題であって、参照渡し/値渡しとは違う話だ。

622 :デフォルトの名無しさん:04/12/16 05:48:25
Image src = getImage("doc:///demo/images/duke/T1.gif");
ImageFilter colorfilter = new RedBlueSwapFilter();
Image img = createImage(new FilteredImageSource(src.getSource(),
colorfilter));

ここで作成したimgをBufferedImage型に変換する方法、ありますか?

623 :デフォルトの名無しさん:04/12/16 08:36:41
>>622
int[] buf = new int[img.getWidth(null) * img.getHeight(null)];
PixelGrabber grab = new PixelGrabber(img, 0, 0, img.getWidth(null), img.getHeight(null),
buf, 0, img.getWidth(null));
try {
grab.grabPixels();
} catch (InterruptedException e) {
}
BufferedImage bg = new BufferedImage(img.getWidth(null), img.getHeight(null),
BufferedImage.TYPE_INT_ARGB);
bg.setRGB(0, 0, bg.getWidth(), bg.getHeight(), buf, 0, bg.getWidth());
でOK (img → bg)

624 :デフォルトの名無しさん:04/12/16 09:06:31
どうすればJavaの寿命が延びますか
あと10年位は、新しい言語を勉強したくないんですが

625 :デフォルトの名無しさん:04/12/16 09:07:31
布教しろ

626 :デフォルトの名無しさん:04/12/16 09:07:56
Javaはもう終わりかけてるのでムリです。
Javaを学ぶのをやめて、他の言語を学ぶべきでしょう。

627 :デフォルトの名無しさん:04/12/16 09:11:24
>>589
>>590
お願いします

628 :デフォルトの名無しさん:04/12/16 09:32:27
>>623
早い回答ありがとうございました。やってみます。

629 :デフォルトの名無しさん:04/12/16 09:32:35
>>627
特に間違ってないですが・・・
画像ファイルの置き場所を確認してください。

630 :デフォルトの名無しさん:04/12/16 10:44:59
>>624
> あと10年位は、新しい言語を勉強したくないんですが
Javaの心配するよか、自分の心配したほうが良くないか?

631 :デフォルトの名無しさん:04/12/16 11:44:25
>>627
スルーされる理由を考えてみてください
お願いします

632 :デフォルトの名無しさん:04/12/16 14:00:58
javaでexeファイルを作るのは、Jビルダーを使うしかないんですか?

633 :デフォルトの名無しさん:04/12/16 14:48:41
>>632
これ1つのスレで何回くらい出る質問だろう

634 :デフォルトの名無しさん:04/12/16 14:53:26
>>633
FAQに載せろ ということでしょう

635 :デフォルトの名無しさん:04/12/16 14:55:21
配列

int[] a = {1, 2, 3};

に、新しい要素「10」を加えて

a[0]=1
a[1]=2
a[2]=3
a[3]=10

とするために、一番簡単な方法を教えて下さい。
私はVecterに変換してaddを使って要素を加えた後にまた戻す、
という方法しか知らないんですが、他にどんなのがありますか?

636 :デフォルトの名無しさん:04/12/16 15:00:24
>>635
あきらめてArrayList使え
もしくは初めから十分な配列を確保しておけ

637 :デフォルトの名無しさん:04/12/16 15:07:07
IBMのJDKってどこから入手できるんでしょうか。
とりあえず、My IBMのアカウントは取得して、IBM Development Package for Eclipseのダウンロードページは見つけたのですが、
JDKだけのダウンロードページが見つからないのです。


638 :デフォルトの名無しさん:04/12/16 15:21:43
Windows版だとJDKだけの配布はずいぶん前からやってないぞ。

639 :デフォルトの名無しさん:04/12/16 15:25:41
なんと。
ThinkPadを購入するとIBM JDKがインストールされた状態で来るので、JDKの配布も行ってるのかと思ってました。
ところで、Linux版はどうでしょう。
Windows版より、Linux版のJDKがほしいんです。

640 :デフォルトの名無しさん:04/12/16 15:37:19
特定の部分の速度がほしいならIBMのでもいいけど
1.4以上ならSunのとどっこいどっこい
こっちは早いけど、こっちが遅いとかあるし
Sunのほうがバグとか含めて情報おおいからなぁ

641 :637,639:04/12/16 15:38:21
すみません、自己解決しました。
Linux版はttp://www-106.ibm.com/developerworks/java/jdk/index.htmlからダウンロードできました。
ありがとうございました。

642 :デフォルトの名無しさん:04/12/16 15:39:17
>>639
Sunとのライセンスの関係でJDK単体は駄目らしい
#JRE1.4.2は単体で配布している。
だから昔はWebServiceToolkitと抱き合わせで配布
したし、今はEclipseと抱き合わせしてる。

CNetあたりの一部報道でIBMがNetBeansに対抗するために
EclipseとJDKをセットで...っていわれたけど、
ちゃんとしたインストーラをつけてないとこからみて、
そういう戦略的な意図はないきがする。

Linux版含めて基本的にどのプラットフォーム向けも
http://www.ibm.com/developerworks/java/jdk/
あたりからリンクが貼られているはず。


643 :639:04/12/16 15:43:43
>>642
ttp://www.ibm.com/developerworks/java/jdk/をきちんと確認したら、Windows版へのリンクも発見しました。
ありがとうございます。


644 :デフォルトの名無しさん:04/12/16 16:06:28
あのJavaでメモリの容量、CPUのクロック、CPUの種類、
とかって知ることはできますか?おしえてください orz

645 :129:04/12/16 16:24:51
超初心者ですが解決できません。どなたかたすけてください!!

//ランダムアクセスで文字データの書込み
RandomAccessFile a1 = new RandomAccessFile("test.dat", "rw");
a1.seek(5);
byte[ ] arraybytes = ss.getBytes( );
a1.write(arraybytes);
a1.close( );
} catch (IOException e1) {
}
の全く逆で、ランダムアクセスでファイルの指定位置から
指定文字数の文字列データの読み、
String変数SSにその文字列を入れる方法を教えてください!!

646 :デフォルトの名無しさん:04/12/16 16:40:15
>>645
APIマニュアルよんだ?


647 :129:04/12/16 17:03:13
>>646
よんでませんでした。
いまのぞいてみましたが、
よくわかりません・・・

648 :デフォルトの名無しさん:04/12/16 17:08:31
>>647
わかるまで読み返せ。
頑張れ、君ならできる。

649 :645:04/12/16 17:10:28
>>648
がんがります


650 :デフォルトの名無しさん:04/12/16 18:11:53
Math.randomメソッドの中身?を見たいんです
どんなフィールドなのかとかです

どうやったら見れますか?

651 :デフォルトの名無しさん:04/12/16 18:12:21
srcを解凍しろ

652 :デフォルトの名無しさん:04/12/16 18:13:58
>>650
JDK付属の src.zip とか src.jar に入ってるだろ。

653 :デフォルトの名無しさん:04/12/16 20:50:21
まぁ、普通に java.util.Random#nextDouble() だけどね。
static で宣言されてるRandomクラス型の変数があって、
初回呼び出しの時にインスタンス生成して return Random#nextDouble();

654 :デフォルトの名無しさん:04/12/16 23:15:31
TabStopを使ってもJTextPaneのタブサイズが変えられないです。どうやるんですか?
ALIGN_LEFTで設定して一番左のタブサイズは変えれたんだけどそれ以降は無理でした

655 :デフォルトの名無しさん:04/12/16 23:35:19
appletのほうには、低レベルの描画関数がいろいろと
ありますが、
applicationのほうには、そういうのはないんですか?

656 :デフォルトの名無しさん:04/12/16 23:45:25
アプレットのほうが画面周り弱いだろ

657 :デフォルトの名無しさん:04/12/17 00:02:19
どっちも変わらんと思うが。

658 :デフォルトの名無しさん:04/12/17 00:14:15
ちょっと質問

親コンポーネント上(e.getDot()が100として)その次に子コンポーネントを置いて、
子コンポーネント上のキャレットの位置がe.getDot()が0の時に
さらに左←を押したとき親にキャレットを移す方法を調べているのですがご存じないですか?

早い話がコンポーネント間でキャレットを渡したり渡されたりしたいだけなのです。
たとえば、JTextPaneを継承してHogeTextPaneでも作ってその中で実装させると
するとどういう風になるのでしょうか?

キャレットの位置とKeyCodeはわかるように実装しているのですが、
受け渡しの方法がいまいちわからなくて困っています。
どなたかご存知の方おしえてください。

なんか、さっぱりわからない質問で申し訳ないです。

659 :デフォルトの名無しさん:04/12/17 00:31:35
requestFocus()を使うとか・・・

660 :デフォルトの名無しさん:04/12/17 00:34:53
アプリならフルスクリーンとかページフリップとか動くしな

661 :デフォルトの名無しさん:04/12/17 01:22:13
>659

ありがとうございます。
requestFocus()
transferFocus()
で、なんとかなりそうです。

APIを読んでいても探しかたがまずいとどうしても引っかからなくて・・・
ずっとget系のメソッドだと思って探していました。

662 :デフォルトの名無しさん:04/12/17 01:30:07
たびたびすいません。
transferFocus() は次のコンポーネントに移るとあるのですが、
前のコンポーネントに移るメソッドもどこかにあるのでしょうか?

ただ、transferFocus() にある次のコンポーネントという意味も
いまいち抽象的過ぎて理解に時間がかかりそうですが・・・

663 :デフォルトの名無しさん:04/12/17 01:42:04
そのコンポーネントの親コンテナが所持する次のインデックスの
コンポーネントに移ると言う事でしょう。
簡単に言えばボタンがFlowLayoutで二つ並んでたら左から右に移るとの
事でしょう。
並び方にもよりますが、親コンポーネントの参照を保持して
requestFocut()の方がいいと思いますが・・・

664 :デフォルトの名無しさん:04/12/17 02:35:54
>>662
transferFocusBackward (1.4から)

>ただ、transferFocus() にある次のコンポーネントという意味も
>いまいち抽象的過ぎて理解に時間がかかりそうですが・・・

これは次のコンポーネントにフォーカスを入れるためではなく、
どちらかというと今フォーカスが入っているコンポーネントから
フォーカスを外すために使うのだとおもう。

「今どこにフォーカスあるかあるか知らんけど、お前に入れ」→requestFocus
「お前から次へフォーカスを移せ」→transferFocus
順番を制御したいならFocusTraversalPolicyも見とけ

665 :デフォルトの名無しさん:04/12/17 15:44:30
struts & jspで<logic:iterate>を使用するのに、以下のように<% 〜 %>スクリプトレットで取得する方法はできたのですが、
<% 〜 %>を使わないでstruts-config.xmlを利用して取得するにはどうせれば良いのでしょうか?

---jspコード---
<ul>
 <%-- ↓これを埋め込みたく無い --%>
 <% request.setAttribute("bean",new bunsyo.SampleBean()); %>
 <logic:iterate id="seihin" name="bean" property="list">
  <li><bean:write name="seihin" property="process"/></li>
 </logic:iterate>
</ul>
--jspコードココまで---

---SampleBean.java---
public class SampleBean {
  public java.util.List getList(){
    java.util.List list = new java.util.LinkedList();
    return(list);
  }
}
---SampleBean.javaここまで---

666 :デフォルトの名無しさん:04/12/17 18:12:35
ttp://sparrow.math.ryukoku.ac.jp/~junta/edu/graphics/exercise/10.html
の課題を逆コンパイルしてください。

667 :デフォルトの名無しさん:04/12/17 18:19:34
>>666
自分でやれ、ハゲ

668 :デフォルトの名無しさん:04/12/17 18:38:46
Java を ecpliseで開発しているんですが、appletを作ったときに自動的にhtmlを生成してくれるような
設定はできないんでしょうか?
あとecpliseの正式な読み方を教えてください。 エクプライズ?

669 :デフォルトの名無しさん:04/12/17 18:40:52
エクリプスっぽいな

俺は昔から蝕はイクリプスって言う癖が・・・

670 :デフォルトの名無しさん:04/12/17 18:51:37
>>667
アンタには頼んでない。失せろ。ハゲ

671 :デフォルトの名無しさん:04/12/17 19:01:43
教えてください。JAVA 又はJAVASCRIPTでもいいのですが
ネットワークドライブを割り当てる
ネットワークリソースを確保する等の方法ありますでしょうか?


672 :デフォルトの名無しさん:04/12/17 19:18:47
ない

673 :デフォルトの名無しさん:04/12/17 19:22:52
abstractクラスにしても、コンストラクタをprotectedにしても、
「インスタンスを作る場合は子クラスから作る」ことを強制できるわけだが
どっちがお勧め?
abstractメソッドは使わない予定。
クラスはpublicです。


674 :デフォルトの名無しさん:04/12/17 19:26:55
>>673
サブクラスが前提ならabstractにするのが設計思想にかなっているような気がする

675 :デフォルトの名無しさん:04/12/17 19:32:24
>>674
サンクス

676 :デフォルトの名無しさん:04/12/17 19:43:04
>>672
では質問の角度を変えてみます。
ADSLモデム、ルータ等で設定時に\\192.168.1.1
に繋いで設定変更等しますよね?
その際にネットワークリソースのパスワード照合ダイアログが表示されるのですが
あれはどのように表示しているのでしょうか?

677 :デフォルトの名無しさん:04/12/17 19:50:10
>>676
スレ違い
ベーシック認証でぐぐれ

678 :デフォルトの名無しさん:04/12/17 19:50:17
>>671>>676で言ってることが全く違ってるのが笑えるw

679 :デフォルトの名無しさん:04/12/17 19:55:59
なぜJavaスレなんだろ

680 :デフォルトの名無しさん:04/12/17 19:58:52
>>676
ごめん、爆笑した。

Javaでそういうパスワードがかかったサーバープログラムを作りたいという話か?

ちなみにそのパスワード入力ダイアログが表示される仕組みを簡単に説明すると
1、IEが192.168.1.1(ルーターのIPアドレス)にアクセスしようとする
2、モデムがIEに対して「パスワードを言え」とか言ってくる
3、IEがダイアログを出してユーザに入力させる
4、IEがもう一度ルーターにアクセスする(今度はパスワードも送信)
5、パスワードが正しければルーターがIEにページの情報を送信する

ここまで親切に書いてやったんだから間違ってても知らん。


681 :デフォルトの名無しさん:04/12/17 20:34:44
やはり無理ですか。仕組みを分かり易くおしえて頂いて
ありがとうございます。
ダイアログは表示されなくてもいいのですが、
APIで云うWNetAddConnection2のような関数が
JAVAに存在するのであれば参考にしたいとおもいました。

要はhtmlブラウザよりサーバーへのリンクにはられたパスを
クリックした時にサーバーへのネットワークリソースが確保できたら
楽だなと考えたのです。今だとリンクに飛ぶ前に
ネットワークドライブの割り当て等でサーバーのネットワークリソースを
取得していないとエラーになってしまうのです。
ちなみにサーバーはUNIXとかじゃなくて只のServer2003です。

682 :デフォルトの名無しさん:04/12/17 20:49:45
>>681
何やりたいのかわからん
Server2003にTomcatとかのサーバプログラムを起動させて、それを介してどうにかならん?
Windowsのマイネットワークみたいな参照をやりたいのか?\\nurupoみたいな
あれはプロトコルが違うからなぁ

683 :デフォルトの名無しさん:04/12/17 21:19:50
>>682
その通りです。VBやVCで接続確保のプログラムを作成すれば
それで問題ないのですが、ランタイムやら各端末の環境不一致で
エラーになったり動かなかったりは辛いので
HTML内にて何か有効な方法があれば知りたかったのです。

684 :デフォルトの名無しさん:04/12/17 21:48:44
>JAVA 又はJAVASCRIPTでもいいのですが
この辺で既にスレor板違いか勉強不足か認識不足の匂いがプンプンするのに
みんな親切やね

>HTML内にて何か有効な方法があれば知りたかったのです。
>>1を読んでから出直そうね

685 :デフォルトの名無しさん:04/12/17 21:50:39
>>684
皮肉言う暇があるなら、アナタこそ礼儀を勉強し直してください。
はっきり言って無駄レス、ウザいです。


686 :デフォルトの名無しさん:04/12/17 22:07:29
>>684の言っていることのどこに誤りがあるというのだろう。
>>685>>1すらも読んでない、いやタイトルすら読んでないことに
1ルピー。

687 :デフォルトの名無しさん:04/12/17 22:08:52
>>685
ワロタ

688 :デフォルトの名無しさん:04/12/17 22:57:17
こういうのをきっと逆切れっていうんだな

うん

689 :デフォルトの名無しさん:04/12/17 23:21:15
なんだかここには自作の専門用語を連発してるSヨがいますね。


690 :デフォルトの名無しさん:04/12/17 23:33:51
専門用語=「ルピー」

691 :デフォルトの名無しさん:04/12/17 23:38:34
なんだ
インドの通貨も知らんのか

692 :デフォルトの名無しさん:04/12/17 23:41:25
dir1\dir2\test.java
dir1\a.java

このようなディレクトリ構造のときに、
test.javaからa.javaをimportするにはどうしたら良いのでしょうか?
a.javaには
package dir1\dir2;
と宣言しています。

693 :デフォルトの名無しさん:04/12/17 23:42:15
>>689は知らない。

694 :デフォルトの名無しさん:04/12/17 23:48:46
>692

--dir1\dir2\a.java--
package dir1.dir2;

public class a {
void foo() {


695 :692:04/12/17 23:49:10
間違えました
a.javaでは、
package dir1;
と宣言しています。

696 :694:04/12/17 23:49:28
だー、途中で送信してもうたorz
後は、というかちゃんとした回答、誰か頼む。

697 :デフォルトの名無しさん:04/12/17 23:54:24
>>692
import dir1.a;

もしくは

import dir.*;

importで指定するパスは、クラスパスで指定してるディレクトリからのパスで
あって、importするクラスからの相対パスじゃない。だから常に一定になる。
どっからimportしようが、クラスパスがdir1の親ディレクトリなら、常に
import dir1.a; となる。

698 :692:04/12/18 00:00:27
697さんありがとうございます。
相対パスではないと。
つまり、クラスパスを指定する方法があるということですね。
調べてみます。

699 :デフォルトの名無しさん:04/12/18 00:06:04
>>698
クラスパスについては、>>1のリンクを辿るべし。

700 :デフォルトの名無しさん:04/12/18 00:12:12
クラスパスの理解をするためにはNetBeans3.6までが原始的でよかったんだけどねぇ
4.0からプロジェクトベースになっちまった


701 :デフォルトの名無しさん:04/12/18 00:14:25
>>700
あれはあれで、「マウント」って概念よりは分かりやすいと思う >4.0
プロジェクトのプロパティで明確にクラスパスを指定するわけだから。

702 :デフォルトの名無しさん:04/12/18 00:21:56
java で applet を制作するとしたら、awt、swing あなたはどちら派?

703 :デフォルトの名無しさん:04/12/18 00:39:58
SWT

704 :デフォルトの名無しさん:04/12/18 00:44:08
マジレスしとくと、今後いろいろ作っていきたいorきっちり設計されてる
オブジェクト指向フレームワークに触れておきたい、という希望があるなら、
Swingだな。

どうせSwing使う時にAWTにも関わるんだし。

705 :671 :04/12/18 00:47:59
671ですが、確かにJAVAに関するプロジェクトには参加した事がありません
別にその手に拘らなくても方法はあるのですが
WEB系に有効な言語で使える機能はいろいろ駆使してみたかったのです。
ここまでの流れで対応できない事は理解しました。
ありがとうございました。

706 :デフォルトの名無しさん:04/12/18 00:49:34
つーか釣りじゃねーのか
2回目と質問まったくちがてたし

707 :デフォルトの名無しさん:04/12/18 00:49:51
>>673
できるから

708 :692:04/12/18 00:50:09
java, javac オプションにありました。
一応どうやったを書いておきます。
ディレクトリ構造が
C:\java\dir1\dir2\Test.java
C:\java\dir1\A.java
で、Test.javaからA.javaを利用する場合、
dir2>javac -classpath C:\java\; Test.java
dir2>java -classpath C:\java\; Test
とやるとうまくいきました。
うーんメンドイ。多少楽をする方法はあるようですが。
";"を省略すると、コンパイルはできても実行できませんでした。

参考
ttp://www.atmarkit.co.jp/fjava/onepoint/java/jv_clpath.html
ttp://www.atmarkit.co.jp/fjava/onepoint/java/jv_ext.html


709 :デフォルトの名無しさん:04/12/18 00:52:14
>>706
一度目と二度目の質問は私の中では同じです。
たとえばどう違うように思われますか?
つりではなく、実際に職場からのレスでした。

710 :デフォルトの名無しさん:04/12/18 01:11:47
>>708
たしかにメンドイ。なので、

・自分がよく使うプログラムなら、環境変数CLASSPATHをセットする
・人に使ってもらうなら、Jarファイルに固めて、jar内にMANIFEST.MFを入れる。もしくはバッチファイルを書く。
・javacする時はAntを使うか、Eclipse/NetbeansのようなIDEを使う。
・AntもIDEも使わないなら、コンパイル時にはクラスパスに指定する位置まで移動してからやる。

くらいか。
でも実行するときのjavaコマンドについては、-classpathじゃなくて、-cpで十分だということは
覚えておいて損はないな。

711 :デフォルトの名無しさん:04/12/18 01:19:01
>>709
板違いなので一言だけ。ベーシック認証でぐぐれ

712 :692:04/12/18 01:24:56
>>710
ありがとうございます。
とりあえず、しばらくは-classpathもしくはバッチファイルで済ませ、
他のに目を向ける余裕ができたらAntなりIDEを試してみます。

713 :デフォルトの名無しさん:04/12/18 01:28:58
>>712
シェルにしちゃえよ

714 :デフォルトの名無しさん:04/12/18 01:33:11
「C:\java」なんてディレクトリ記述をみて、お前にはこれがUNIXかLinuxに見えるのかと。

715 :デフォルトの名無しさん:04/12/18 01:37:13
>>714
WSHってしってるかい?

716 :デフォルトの名無しさん:04/12/18 01:37:37
Cygwinがあるじゃないか

717 :デフォルトの名無しさん:04/12/18 01:50:20
初心者大歓迎スレで「Cygwin入れてシェルにしちゃえよ」「Windows Scripting Host使えよ」
とか言ってもさ...

718 :デフォルトの名無しさん:04/12/18 01:52:24
>715
javac走らせるのならバッチで充分だと思うが……
wshのスクリプト書く手間考えたらいっそbuild.xml手書きでも大して変わらんような。

>716
Cygwinだと/cygdrive/c/java……になるわけだが。

719 :デフォルトの名無しさん:04/12/18 04:18:55
primitive型の配列を Objectとして扱っていて元の配列の型が分からない場合に
配列のlengthを取得する方法はありますか。

reflection を使って length フィールドを参照しようとすると
NoSuchFieldになりました。

720 :デフォルトの名無しさん :04/12/18 07:52:31
はじめまして先輩が他動か私にご教授ください。

実はJARファイルを謝って消してしまってjarコマンドがつかえなくなってしまいました。
OSはWINのSP2でコントロールパネルからパーフォーマンストメンテナンスへいってそこから左上の
ファイルの種類へ行ってフォルダオプションへいってファイルの種類タグを選択した際に誤ってjarファイルを消してしまいました.

そのせいかコマンドプロンプトでjarコマンドを打っても認識されません。
どういう解決方法があるかどうかご教授ください


721 :デフォルトの名無しさん:04/12/18 08:03:57
>>719
java.lang.reflect.Array#getLength(Object)

配列のlengthフィールドは特別扱いされてるので
java.lang.reflect.Field経由では取れない。
同様に配列のclone()も java.lang.reflect.Method経由では呼べない。

722 :デフォルトの名無しさん:04/12/18 08:20:07
>>720
よくわかんないけど、JDK入れなおせばいいんでないの?

723 :デフォルトの名無しさん:04/12/18 08:34:04
>>718
ふむぅ、もう少しUNIX勉強しようぜ
めっちゃ便利やもん
/cygdrive/c/java を /java って出来るし。
Windows上のコマンドプロンプトからだって使えるんだぜ
その場合はC:\javaなわけで

724 :デフォルトの名無しさん:04/12/18 08:42:30
>>722
やったんですけど
'Jar'は内部コマンドまたは外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されてません

というえらーがでます(TT;)

725 :デフォルトの名無しさん:04/12/18 08:44:04
>>724
javac とか java は出来るの?
もし出来なかったら環境変数のPATHが通ってないかも

726 :デフォルトの名無しさん:04/12/18 08:51:41
>>724
Jar じゃなくて jar だよ!!そんなこともわからないの!!?君って凄いはげちゃびんだね!!

727 :デフォルトの名無しさん:04/12/18 08:54:07
>>724
java.exeはwindowsのシステムディレクトリにもインストールされるが、jar,javacはJDKのディレクトリ\binにインストールされるだけで
PATHも設定されないからそのままでは起動できない。
たとえばC:\j2sdk1.4.2にインストールされている場合は
> c:\j2sdk1.4.2\bin\jar
とするか、環境変数PATHにj2sdk1.4.2\binを追加しないといけない。
今まで追加せずに使えていたのならだれかがパスの通った所にコピーを入れていたはず。


728 :デフォルトの名無しさん:04/12/18 09:04:46
皆様ご返事ありがとうございますm( )m

729 :デフォルトの名無しさん:04/12/18 09:05:36
どういたちまして(><)

730 :デフォルトの名無しさん:04/12/18 09:08:04
環境変数PATHにj2sdk1.4.2\bin葉設定してあります


731 :デフォルトの名無しさん:04/12/18 09:09:59
724ですがjavacもjavaコマンドも通ります。


732 :デフォルトの名無しさん:04/12/18 09:14:02
いま.jar拡張子にava(TM) 2 Platform Standard Edition binaryを関連ずけて見たのですがやっぱりうまく行きませんでした

733 :デフォルトの名無しさん:04/12/18 10:29:06
>>732
なんで関連付けの話がでてきたんだろう。
あと、送信する前に文章読み直してから押して。
typo多すぎ。
ってか、「Javaとは関係ない話だろ、それ」に100ペソ。

734 :デフォルトの名無しさん:04/12/18 10:36:48
>>720
まさかと思うが.jarファイルをダブルクリックしても動作しない->コマンドプロンプトでjarと打っても
な脳内変換してないだろうな?


735 :デフォルトの名無しさん:04/12/18 12:35:03
>>734
おっしゃる意味がよくわからないんですが、コマンドプロンプトでjarコマンドつかえないということです。
jarファイルを生成できないということです。


736 :デフォルトの名無しさん:04/12/18 12:55:10
結局フォルダオプションで解凍ツールに,.jarという拡張子を関連づけてしまったせいでじゃrコマンドが実行できなくなってしなったようです。
それを元の戻したいんですがどうすればいいのでしょうかということです。

737 :デフォルトの名無しさん:04/12/18 12:58:37
>>735
Windowsの初心者スレに行け。

738 :デフォルトの名無しさん:04/12/18 13:05:51
>>736
>じゃrコマンド
jarコマンドのまちがいでした

どなたか上級者の方よきアドバイスをお願いしますm( )m

739 :デフォルトの名無しさん:04/12/18 13:10:34
>>738
Windowsの初心者スレに池。
ここには二度と来るな。ウザ委。

740 :デフォルトの名無しさん:04/12/18 13:10:49
>>738
Windowsの初心者スレに行け。

741 :デフォルトの名無しさん:04/12/18 13:12:18
>>739
>Windowsの初心者スレに池。
逝けのまちがいでした

>ここには二度と来るな。ウザ委。
ウザいのまちがいでした

742 :デフォルトの名無しさん:04/12/18 13:14:37
>>739
わかりました。いってきます。
別にここはあなたの板ではないんで2度とくるなといわれる筋合いはありません。
あまりいい気にならないでください。

743 :デフォルトの名無しさん:04/12/18 13:16:26
>結局フォルダオプションで解凍ツールに,.jarという拡張子を関連づけてしまったせいでじゃrコマンドが実行できなくなってしなったようです。
>それを元の戻したいんですがどうすればいいのでしょうかということです。

jarコマンドとjarの関連付けにどういう関係があるんだ?
と思ったのは俺だけか?

744 :デフォルトの名無しさん:04/12/18 13:26:27
どうでもいいけどさ!!jarのパスはとおったの?ねぇ!!?どうなんだよぉぉぉあおウェfじゃ歩いウェrjg歩!??wr;尾wじぇg;おあ

745 :デフォルトの名無しさん:04/12/18 13:33:48
馬鹿を召喚しようとするな。

746 :デフォルトの名無しさん:04/12/18 14:10:08
しつも〜ん!

AMD64マシン使ってる自分は、J2SDK使うなってことでしょうか?

747 :デフォルトの名無しさん:04/12/18 14:30:18
>>746
いや、AMD用にコンパイルしたバイナリが配布されていたはずだ!!!

748 :デフォルトの名無しさん:04/12/18 14:31:08
>>742
じゃあ、俺からも言っておく。
二度と来るな

749 :デフォルトの名無しさん:04/12/18 14:39:49
>>748
わかりました。いってきます。
別にここはあなたの板ではないんで2度とくるなといわれる筋合いはありません。
あまりいい気にならないでください。

750 :デフォルトの名無しさん:04/12/18 14:46:22
>>749
>>739は親切にもWindows初心者スレ池って教えてるジャマイカ

2度とくるなと言ってるからと言って悪いやつだとは限らないぞ
文体と本心は必ずしも一致しない

2ch初心者板池。市ね。

751 :デフォルトの名無しさん:04/12/18 14:48:59
>>750
わかりました。いってきます。
別にここはあなたの板ではないんで2度とくるなといわれる筋合いはありません。
あまりいい気にならないでください。

752 :デフォルトの名無しさん:04/12/18 14:51:21
>>749
>>739は、
「Windows初心者スレに行け。確かな技術を身につけて、二度とこのスレに迷い込むなよ。」
と言ってくれてるんだ。
なんで>>739の優しさが分からないんだ。

753 :デフォルトの名無しさん:04/12/18 14:56:02
>>752
わかりました。いってきます。
別にここはあなたの板ではないんで2度とくるなといわれる筋合いはありません。
あまりいい気にならないでください。

754 :デフォルトの名無しさん:04/12/18 15:02:44
ひまそうな自作自演だな

755 :デフォルトの名無しさん:04/12/18 15:23:19
>>754
わかりました。いってきます。
別にここはあなたの板ではないんで2度とくるなといわれる筋合いはありません。
あまりいい気にならないでください。

756 :デフォルトの名無しさん:04/12/18 15:47:13
それ、流行ってるの?

757 :デフォルトの名無しさん:04/12/18 15:50:00
例の初心者はsageしらなかったようだから
ここんところの流れは釣り師

758 :デフォルトの名無しさん:04/12/18 16:03:01
わかりました。ageます。
別にここはあなたの板ではないんで2度とくるなといわれる筋合いはありません。
あまりいい気にならないでください。

759 :デフォルトの名無しさん:04/12/18 16:03:22
>>757
わかりました。いってきます。
別にここはあなたの板ではないんで2度とくるなといわれる筋合いはありません。
あまりいい気にならないでください。

760 :asdf:04/12/18 16:17:28
>>757
僕が今回のことになったの、みんなにも原因あるんだから、
そこのことかんがえてよね

761 :デフォルトの名無しさん:04/12/18 16:21:37
業務でJAVAをやることになりました。
Cしか経験ないのですが、JAVA使えるように
なるまで何時間くらいの勉強量必要でしょうか?


762 :デフォルトの名無しさん:04/12/18 16:23:51
>>761
人による。

763 :デフォルトの名無しさん:04/12/18 16:28:13
>>761
使えるって言っても色々な意味があるだろ?

単語覚えるにしても、調べりゃ一瞬で済むことだし
ある意味オブジェクト指向理解してりゃ1日でバリバリやれる気すらする。

はっきり言って、少なくともCよりJAVAの方がはるかにに簡単だった。

764 :デフォルトの名無しさん:04/12/18 16:28:41
>>761
お前なら半年頑張ってもアプレットのアニメーション止まり。

765 :デフォルトの名無しさん:04/12/18 16:30:43
オブジェクト指向にさえ、慣れればおk
   @
C→C++→Java
 A↓  ↑
  HTML−ー
Aのコースが理想

766 :デフォルトの名無しさん:04/12/18 16:34:09
>>761
すぐに勉強始めないで下らない質問するのに時間使ってるし、
C言語でどの程度の事が出来るのかも全く書かないって事は
C言語でも何が出来て何が出来ないのかすら自分で判断できない程度の初心者だろう。

数年は必要だと思われ。

767 :デフォルトの名無しさん:04/12/18 16:38:15
>>764
半年でそこまでできるようになりますか!
さいのうあるんでしょうか?

768 :デフォルトの名無しさん:04/12/18 16:38:34
”業務”でって書いているところが微妙にSEとかを匂わせてはいるが
文章から想像する限りでは、どう見ても素人
まだ”HTMLしか経験ないのですが”の方が良かった。

769 :デフォルトの名無しさん:04/12/18 16:42:29
「わかりました。いってきます。」の人はどーなったんだろ?
つまんなくなったから止めたのかな

770 :デフォルトの名無しさん:04/12/18 16:50:07
いちいち釣られてるおまえらの方がよほど莫迦に見える

771 :デフォルトの名無しさん:04/12/18 16:57:09
親切なんだよ(゚Д゚*)ゴルァ

772 :sage:04/12/18 17:44:49
javaのアプリケーションでActiveXを操作する方法を教えてください。
検索で探しましたが見つける事ができませんでした。

773 :デフォルトの名無しさん:04/12/18 17:51:50
ラグナロックオンラインのBotのつくりかた教えてください

774 :デフォルトの名無しさん:04/12/18 17:58:24
>>772
「Java ActiveX」でぐぐればそれっぽいのが出てくると思うが。

775 :sage:04/12/18 18:38:00
>>774
有難うございます。
「Javaで Comを操作」「JavaでActiveX」その他いろいろで
検索しましたが、具体的に説明してあるのが見つかりませんでした。


776 :デフォルトの名無しさん:04/12/18 18:40:48
>>775
単語の間にスペース入れるとアンド検索できるのは知ってる?

777 :デフォルトの名無しさん:04/12/18 18:44:57
Googleを知らない子供たちさ〜♪

778 :デフォルトの名無しさん:04/12/18 18:50:00
InputStream xml = new FileInputStream("data.xml");
InputStream xsl = new FileInputStream("template.xml");
OutputStream html = new FileOutputStream("data.html");

XML + XSL で HTML を出力したいんだけどこの続きが分からない…

779 :デフォルトの名無しさん:04/12/18 19:42:14
>>778
この続きがというが、
XML + XSL → HTMLがやりたいなら
そこらへんは全然本質とは関係ないような・・・

780 :デフォルトの名無しさん:04/12/18 19:56:39
sock = new Socket(ホスト名,ポート名);
sockin = new BufferedReader(
     new InputStreamReader(sock.getInputStream(), "8859_1"));

(中略)

//レスポンス受信
int c;
while ((c = sockin.read()) != -1) {
  System.out.write(c);
}

現在上記のようにして、Socketから受信データの終了を
判断しています。1文字ずつの受信では扱いづらいので、
String型で受信したいと思いますが、BufferedReader#readLine()
を使用した場合、受信データの終了の判断方法がわかりません。。。

どなたかreadLine()メソッドを使用した場合の、受信データの
終了判断方法を教えてください。


781 :デフォルトの名無しさん:04/12/18 20:03:53
while( (s = br.readLine()) != null ){
}

782 :デフォルトの名無しさん:04/12/18 20:09:01
>>779
「Java で」ですが出来ませんか?

783 :デフォルトの名無しさん:04/12/18 20:20:14
>>782
頭が悪いですね。
君には一生無理でしょうね。

784 :デフォルトの名無しさん:04/12/18 20:24:44
>>782
出来る。方法は検索すりゃいくらでも見つかる


785 :デフォルトの名無しさん:04/12/18 20:39:22
>>721
さんくす。Arrayクラスは見ていたのだけど見落としていました。

786 :デフォルトの名無しさん:04/12/18 21:06:39
ご存知の方がいましたらぜひアドバイスをお願いします。

現在、Java の SWTにてActiveX(OLE?)の使用を試みています。
org.eclipse.swt.ole.win32.OleAutomationクラスのinvokeメソッドで
APIの呼び出し自体は成功しています。

しかし、引数に値をセットして渡すのはOKなのですが
引数に値をセットしてもらい、受け取るような場合に値が取得できていません。
戻り値の受け取りはOKなのですが...。

IBMのサイトのサンプルも見ましたが、引数は渡す(in)だけで
受け取る(out)例は見つかりませんでした。
他のサイトも探しましたが、同様でした。

力を貸してください。よろしくお願いします。


787 :デフォルトの名無しさん:04/12/18 21:22:59
>>786
> rgvarg - an array of arguments for the method.
> All arguments are considered to be read only unless the Variant is a By Reference Variant type.
って書いてあるけど?

788 :sage:04/12/18 21:26:47
>>776
有難うございます。知っております。
>>777
このマヌケは無死

789 :デフォルトの名無しさん:04/12/18 21:28:50
さっそくありがとうございます。
すいません、英語苦手なもので(汗)。
「read only」=読み込みのみ?
これって受け取れないってことでしょうか??

790 :デフォルトの名無しさん:04/12/18 21:35:18
たった二行なんだから全部読めよ……

791 :デフォルトの名無しさん:04/12/18 21:36:33
たった二行なんだから全部読めよ……

792 :デフォルトの名無しさん:04/12/18 21:41:29
すいません頭悪くて。読んだ上で聞いてます。
ひとつひとつの単語は訳してみたのですが...。

もし(in)のみで(out)は受け取れない(書き換えられない)のだとしたら
代替の手段とかありそうなものですが??

すいませんが、もう少しアドバイスをお願いします。


793 :デフォルトの名無しさん:04/12/18 21:44:14
JAVA 3Dってのは、結局はOpenGL,Direct3D使ってるんですよね?
じゃあ、なにかメリットはあるのでしょうか?
おそらく、OpenGL,Direc3Dの機能全部使えないだろうし。

794 :デフォルトの名無しさん:04/12/18 21:44:30
読んでたら分かりそうなもんだが。
> unless the Variant is a By Reference Variant type.
って書いてあるし。

795 :デフォルトの名無しさん:04/12/18 21:50:56
>>793
そんなに全機能使いたいならDirectXもOpenGLも使わずにビデオカードのデバイスドライバ叩けば?
もしくは自力でハードウェアにアクセスするとか。

796 :デフォルトの名無しさん:04/12/18 22:00:48
> read only unless the Variant is a By Reference Variant type

直訳だと、Variantは参照Variant型を除いては読み込みのみ??
...合ってるかすらわかりません(汗)。
う〜ん。英語、難しいです...orz。


797 :デフォルトの名無しさん:04/12/18 22:21:51
>>796
読めてんじゃん。
後は org.eclipse.swt.ole.win32.Variant のコンストラクタを眺めてください。
http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/ole/win32/Variant.html

798 :デフォルトの名無しさん:04/12/18 22:38:50
合ってるんですか??書いてはみたものの全く自信ありませんでした。

ありがとうございます。コンストラクタ眺めました(すでに何度か見たことはあったのですが)。

「参照Variant型」にすれば書き込めるってことになるのでしょうか。
Variant(int ptr, short byRefType)で生成して
invoke後にgetByRefを呼び出す??

的ハズレだったらすいません(汗)。
万が一合ってたとして、でも今度は返却されたint値(ポインタ?)をどう扱ったらよいものやら...。
すいません、わからないことだらけで。
もう少しお付き合いください、よろしくお願いします。


799 :初心者 ◆Java/isQ.c :04/12/18 22:58:01
>>778
ttp://www.hellohiro.com/xslt.htm

800 :デフォルトの名無しさん:04/12/18 23:02:23
>>798
org.eclipse.swt.internal.win32.OS.HeapAlloc とかでメモリ確保して ptr に渡す、ってのは良いとして。
今ちょっと調べた感じでは org.eclipse.swt.internal.win32.OS.MoveMemory(byte[], int, int) とかで
ネイティブからJavaで扱える領域にデータコピーするとか。
ちゃんと調べれば他にもやり方があるのかもしれんが。

あとは自分で頑張ってくれ。AllocしたらFreeは忘れるなよ。

801 :デフォルトの名無しさん:04/12/18 23:09:56
ありがとうございます!!すごいですね。
いただいた情報で、ひとまず頑張ってみます。
(見当もつきませんでした...orz。)

調べたときに参照したサイトとかがもしあったらですが、URL教えていただけると助かります(汗)。
とにかくここまでお付き合いありがとうございました。感謝してす^^;。

802 :デフォルトの名無しさん:04/12/18 23:22:14
Java を Cのように exe で実行できるようにできないんですかね?

803 :初心者 ◆Java/isQ.c :04/12/18 23:30:45
>>802
Borland JBuilder や Excelsior JET を利用すれば可能。
ttp://www.borland.co.jp/jbuilder/
ttp://www.xlsoft.com/jp/products/jet/

804 :デフォルトの名無しさん:04/12/18 23:31:07
>>802
できるよ。大抵の奴は VM をキックするだけの exe だけどね。

そーでない場合はVM一式込みのでかい exe になったり
DLL とかで外部にVM一式丸ごと必要になったりするんけど。

805 :デフォルトの名無しさん:04/12/18 23:31:12
eclipseではできますか?

806 :デフォルトの名無しさん:04/12/18 23:35:06
>>801
https://bugs.eclipse.org/bugs/show_bug.cgi?id=49543
英語無理でも1票voteしてくるくらいはできるだろ。

807 :デフォルトの名無しさん:04/12/18 23:39:39
>>805
なにが?

808 :デフォルトの名無しさん:04/12/18 23:43:47
>1票vote
バグ扱いで報告するってことでしょうか??^^;

809 :デフォルトの名無しさん:04/12/18 23:53:01
>>807 exe実行ファイルを作ること

810 :デフォルトの名無しさん:04/12/18 23:59:27
そもそもなぜexeにしたいのかじっくり考えたほうがいいんじゃないか。
ただ単にアプリっぽく見せたいだけなら、バッチファイル+ショートカットで
十分なんだし。

811 :デフォルトの名無しさん:04/12/19 00:04:30
JREインストールしたくないから

812 :デフォルトの名無しさん:04/12/19 00:06:34
なんか同一人物だとしたら失礼極まりないやつが居るな。
数人が回答してくれてるのに礼の一つもなしで。

813 :デフォルトの名無しさん:04/12/19 00:11:11
単純にexeにしたいって質問したら、単にexeを作る方法を教えられるだけ。
そしてJREは必要。

814 :デフォルトの名無しさん:04/12/19 00:12:32
>>812

数人で質問して、数人で答えているわけだが

815 :デフォルトの名無しさん:04/12/19 00:14:10
Map を key や value でソートしたいのですが、
上手いやり方を教えてください。

816 :デフォルトの名無しさん:04/12/19 00:23:53
>>808 すでにbugとして報告されていてeclipse.orgの連中は直すつもりが
ないから、投票してこいってこと。

817 :デフォルトの名無しさん:04/12/19 00:41:36
>>816
なるほど、バグ報告があったんですね。
できれば対応してほしいっす^^;。

投票しましたっ!

818 :デフォルトの名無しさん:04/12/19 01:02:42
>>816
パッチ作って送りつけた方が早いような……
Vote って何票くらい集めれば動いてもらえんのかな?

819 :816:04/12/19 01:45:12
>>818 過去10票以上集めた70件のうち、Newのままの件は19件だけだから
まあそれくらいあればなんかしらの動きはあるみたい。
でもSWTはOLEをフルサポートするつもりはないってeclipse.orgの
連中はいつも公言してるからvoteだけじゃ厳しいかもな。
それでも817には棄てメアドとってvoteするくらいしかできることないだろ。
とりあえずWONTFIXじゃなくてLATERなわけだし。

820 :デフォルトの名無しさん:04/12/19 02:04:55
>>621
普通はあなたが言うところの「参照の値渡し」のことを参照渡しと言うような。

821 :デフォルトの名無しさん:04/12/19 02:07:30
>>820
動作が違うから言葉も使い分けてるんだろ

822 :デフォルトの名無しさん:04/12/19 02:14:05
つーか答える気もないくせに人のことばっか気にしてんな!
お前ら、何様だよ!
いっつもいっつもくだらないことばっか言いやがってよー
ちゃんと働けよ!暇人が!
真剣に答えてくれる人にはすいません。
そうゆう人にはマジで感謝してます。

823 :デフォルトの名無しさん:04/12/19 02:15:21
>>821
もともとの話題は
Javaのは普通参照渡しって言うよね、というお話だったと思いますので。

824 :デフォルトの名無しさん:04/12/19 02:15:41


825 :デフォルトの名無しさん:04/12/19 02:16:19
C言語で変数の先頭アドレスを指すポインタを関数に渡したって
参照渡しというとは思えんが。

ポインタを値渡ししてるって考えると思うぞ。

826 :デフォルトの名無しさん:04/12/19 02:17:42
820=821=822=823=824=825

827 :デフォルトの名無しさん:04/12/19 02:18:44


828 :デフォルトの名無しさん:04/12/19 02:21:23
もともとの話題は、「参照渡しって具体的に開発する際にどういった場合にどういった方法で使うのでしょうか?」
ということだった。

答え:Javaには値渡ししかないから気にすんな。もし気になるとしたら、君が気にしているのは参照渡しの
話じゃなくて、たぶん別の話だ。ヒント:可変オブジェクト

ということじゃないかね。

829 :デフォルトの名無しさん:04/12/19 02:25:28
>>828
値渡ししかないだって?
正気?

830 :デフォルトの名無しさん:04/12/19 02:31:12
>>829
馬鹿はその程度の認識で充分。
でもその腐った知識を偉そうに人に教えたりはしないでね。
馬鹿が増えるから。

831 :デフォルトの名無しさん:04/12/19 02:32:13
C言語には参照渡しは存在しませんもんね。

832 :デフォルトの名無しさん:04/12/19 02:34:53
>>829
なんでこんな数十年前からある用語の説明がループするんだよ。


>>523
>>617
>>621
>>820
>>825
>>828
>>829

833 :デフォルトの名無しさん:04/12/19 02:42:15
>>832
決まっているよ。
用語の説明がバラバラだからだ。

834 :デフォルトの名無しさん:04/12/19 02:48:31
Java設計者が、C++的な参照でないオブジェクトの取り扱いを排して、すべての
オブジェクトを参照としてだけ取り扱えるようにしたのはいい判断だったと思うけど、
その判断が馬鹿を量産することになるとは思ってなかっただろうな...

835 :デフォルトの名無しさん:04/12/19 02:58:57
>>820
参照を渡すから参照渡しではありません。
参照を値として渡すなら、やはり値渡しです。
参照の値渡しという言い方は正しいです。

836 :デフォルトの名無しさん:04/12/19 03:21:05
820=821=822=823=824=825=826=827=828=829=830=831=832=833=834=835

837 :デフォルトの名無しさん:04/12/19 03:23:32
参照を値として渡すから値渡しではありません。
参照を渡すからやはり参照渡しです。
参照渡しという言い方は正しいです。

838 :デフォルトの名無しさん:04/12/19 03:24:36
矢切の渡しは?

839 :デフォルトの名無しさん:04/12/19 03:39:32
クラスがどこで正義されているかどうやって調べたら良いのでしょうか?

840 :デフォルトの名無しさん:04/12/19 03:42:53
正義のことならアメリカが詳しいらしいよ
俺は信用してないけど

841 :デフォルトの名無しさん:04/12/19 08:09:49
>>834
その人達は生まれつきの馬鹿なのであって
Javaが参照の値渡しをするから馬鹿になったのではありません。

842 :デフォルトの名無しさん:04/12/19 11:03:54
元々の質問からズレて行った末の議論は
どこか別の場所に移動してやってもらえないものか。
議論に埋もれてる質問を探すのが面倒になる。

843 :デフォルトの名無しさん:04/12/19 11:56:11
>>837
アフォ

参照を渡すから参照渡しじゃねーだろ。
参照を値として呼び出すなら値渡しだろ。


844 :デフォルトの名無しさん:04/12/19 11:59:40
まあそろそろ、参照を渡すから参照渡しなんていってる人たちはJavaどころか
VBすらもまともに組めないってことでFAってことで。

VBには言語仕様としてByRef, ByValという引数の渡し方を区別するキーワードが
あって、その意味はまさしく >>621 の意味なわけだよ。

845 :デフォルトの名無しさん:04/12/19 12:13:38
>>844
アフォカ?

挙動ぐらいは誰もが理解してる。
参照のコピーが渡されてることも誰もが知ってる。
それを参照渡しと呼ぶのかどうかでじゃれあってるだけだろ。

俺はCやJavaのそれは参照渡しと呼んでいいと思うけどね。
各言語を網羅した参照渡しの定義があるんなら教えてホスィ。
一部言語の参照渡しはこうなってる、なんて意味の無い議論じゃなく。

846 :デフォルトの名無しさん:04/12/19 12:25:19
>>845
誰もが理解してないからこういう議論が起こるのでは?
とくにjavaしか知らない初心者プログラマー。

Cやjavaの参照渡しチックのものを参照渡しと呼んでしまうと
C++の参照渡との違いを説明するのがまたややこしくなる。

847 :デフォルトの名無しさん:04/12/19 12:27:39
何を渡すかではなく、渡されたものをどのように呼び出すかだろ?

848 :デフォルトの名無しさん:04/12/19 12:31:28
違うね
何を渡して、渡されたものをどのように呼び出すかだ

849 :デフォルトの名無しさん:04/12/19 12:33:42
うん、おれは値渡し/参照渡しの区別は明確で、言語ごとに違う定義があるとは思えないね。
ある変数を関数に渡したとき、関数内部にそのコピーが渡れば値渡しだし、その変数への
参照(先頭アドレスとか)が渡ってコンパイラが参照として扱うなら参照渡しだろ。

これを「Javaでは参照を渡せば参照渡し」なんて言ってると、Javaから一歩出たとたんに
大混乱だろ。Javaの外の世界では意味は一定なんだから。初心者スレにしては不親切
極まるというもんだろ。

# 参照と値の区別ができてないと、C++でコピーコンストラクタ
# 大暴走しそうだな。

850 :デフォルトの名無しさん:04/12/19 12:41:09
まあたぶん「(オブジェクト)参照(を)渡す」の省略形かなんかとして定着したんだろう。
だか元からの意味とぶつかり過ぎ。

元の話で、「参照渡しって具体的に開発する際にどういった場合にどういった方法で
使うのでしょうか?」ってときに、オブジェクト参照を渡すことを「参照渡し」って言ったら、
「じゃあその参照渡しじゃない渡し方ってあんのかよ」ということになってさらに混乱しそうw

851 :デフォルトの名無しさん:04/12/19 13:02:03
>>849
Cで一般的に参照渡しって言われてる方法も値渡しじゃん。
Java + Cがそんなに少数派だとも思えないけど。

俺は邦訳本しか読まないへたれなんで洋書では参照渡しに相当する言葉は使わず
アドレスのコピーを渡してるって書いてあるのかも知れんけど。
もちろん、邦人でも厳密には参照渡しを真似た値渡しと言及してる人もいる。

852 :デフォルトの名無しさん:04/12/19 13:07:35
区別できない馬鹿がいるから問題なんだろ

853 :デフォルトの名無しさん:04/12/19 13:09:30
解かった。
じゃ、参照渡しとか値渡しという言葉を使わなければいいんだ。

854 :デフォルトの名無しさん:04/12/19 13:15:30
>>853
それはまあ正解だと思う。相手に理解されないなら意味ないし。

しかしCの本でアドレスを渡すことを「参照渡し」って書いてあるらしいことに
ショックを受けたね。俺が本で勉強した頃は、明確にポインタを渡す、アドレス
を渡すって書いてあってけどねえ。

855 :デフォルトの名無しさん:04/12/19 13:20:36
簡単な言葉に置き換えられるような専門用語はなるべく使わない、
これって初心者本を書くとき重要だよね。

856 :デフォルトの名無しさん:04/12/19 13:51:42
次スレ立てるときは「参照渡しの話題は禁止」といれてくれないか

857 :デフォルトの名無しさん:04/12/19 14:35:12
>>856
いや、わざわざ入れても無駄だろ。
Wiki は更新されないし、JavaScript の質問も無くならない。

858 :デフォルトの名無しさん:04/12/19 19:24:14
C言語でのfseekに相当するものってJAVAにはありますか?

859 :デフォルトの名無しさん:04/12/19 19:38:05
>>858
「fssekに相当するもの」の解釈次第。

860 :658:04/12/19 21:17:56
お世話になっております。
先日、キャレットの移動についてお聞きしたのですが、
左には移動した際、親コンポーネントから子コンポーネントにキャレットを渡すことができました。
しかし、右にキャレットを渡すことができず困っています。

親子関係のあるコンポーネント間でのキャレットの移動について解説等している、
良いサイトはないでしょうか?

お教えください。お願いします。


861 :デフォルトの名無しさん:04/12/19 21:47:35
よく知らんけど、そういうときってマネージャーとなるクラス作るのがいいんでは?

862 :861:04/12/19 22:29:45
つーか、それらしき動作をするサンプル書いたけどうpしようか?

863 :デフォルトの名無しさん:04/12/20 00:00:25
>862

お願いします。

864 :デフォルトの名無しさん:04/12/20 00:13:23
>>858
RandomAccessFileインターフェースのseek()でどだ?

865 :デフォルトの名無しさん:04/12/20 00:26:02
>>863
http://www.wikiroom.com/java/?%a5%bd%a1%bc%a5%b9%c5%bd%c9%d5%a4%b1#content_1_0

866 :デフォルトの名無しさん:04/12/20 01:23:14
>865

ありがとうございます。

詳しく見てみます。

867 :デフォルトの名無しさん:04/12/20 12:36:49
RMI over IIOPで質問なのですが
登録する側IP 192.168.1.1
登録受け付ける側IP 192.168.1.1
呼び出す側IP 192.168.1.2
だとして

JNDIを使ってbindしてそれをlookupしたら

警告: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 127.0.0.1; port: 34749"

のように192.168.1.1を見るのではなく127.0.0.1を見てしまいます。

RMIの場合だとjava.rmi.server.hostname=IP OR DOMAIN でIPを指定できるのですが
JNDIでbindしている場合だとこのパラメータを受け付けてくれません

JNDIで同等のパラメータ指定とかってありますでしょうか

868 :U ◆CZtFsGiu0c :04/12/20 15:11:36
>>867
RMIはやったことないが、EJBだとクライアント側ではなくサーバ側のネームサーバ
をルックアップするのだけどそれと同じことでは?

869 :デフォルトの名無しさん:04/12/20 19:08:55
どなたか、以下のパッケージのJavaDocをDLまたは参照できるURLをご存知でしたら教えてください。
よろしくお願いします。
org.eclipse.swt.internal
(先日ここでアドバイスいただいた者です)

870 :デフォルトの名無しさん:04/12/20 19:18:37
>>869
eclipse.orgからソースゲットしてantでjavadoc生成じゃだめ?

#自分もわからんかったんでantでgoだったんだけどさ。

871 :デフォルトの名無しさん:04/12/20 19:36:06
>>870
swtsrc.zipを解凍して直接ソース見てみたんですが、
調べたいOSクラスには、JavaDoc形式の記載がほとんどありませんでした!

public static final native int HeapAlloc (int hHeap, int dwFlags, int dwBytes);
のパラメタとかを知りたいのですが...。

適当に指定したら、以下のようなエラーになってしまって困っているところです^^;。

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x77FCC128
Function=RtlAllocateHeap+0x39
Library=C:\WINNT\system32\ntdll.dll

Current Java thread:
at org.eclipse.swt.internal.win32.OS.HeapAlloc(Native Method)
...


872 :デフォルトの名無しさん:04/12/20 22:09:59
>>871 ソース中にないんだから他のどこかに存在するはずがなかろうに。
#つーかね、Eclipse使ってるならswt.jarがライブラリとして
#プロジェクトのビルドパスに入っている限り、jarを自分で
#展開する必要ないだろ。
あとinvokeは現状ではパラメータを返さないbugがあって向こうはそれを
直すつもりがないってのは理解したうえで再チャレンジしてんだよね?

873 :872:04/12/20 22:14:26
訂正
パラメータを返さない
 -> 呼び出したAPIの返り値を指定したVT_BYREFなVariantオブジェクトの中に入れて返さない

874 :デフォルトの名無しさん:04/12/20 22:23:34
>>872
コメントどもです^^。
えっとですね、869→871の間にソース見たんですっ!そしたら無くって...。
(でswt.jarはそのままで、swtsrc.zipを解凍してみたんです←エクリプスにはまだパスの登録してなかった)

でinvokeの件は、書いていただいたの見て気づいたのですが
すごく勘違いしてるかもしれないです(もちろん私が)。

>invokeは現状ではパラメータを返さないbug

てのは、まさかポインタ渡してもってことですか??


875 :デフォルトの名無しさん:04/12/20 22:29:53
>>873

てことは、現状呼び出したAPIが引数に値をセットして返す仕様のActiveX(OLE?)
なりからはどうやっても値を引き取れないってことでしょうか?^^;

876 :デフォルトの名無しさん:04/12/20 22:56:57
>>875 代替手段があるかどうかはしらない。
http://www.eclipse.org/newsgroups/main.html
で聞くのが一番早い。

>swtsrc.zipを解凍してみたんです←エクリプスにはまだパスの登録してなかった)
いちいちパスの登録するつもり? 可搬性もないし。普通は
プロジェクトのプロパティ->ビルドパス->ライブラリ->add library->SWT

877 :デフォルトの名無しさん:04/12/20 23:05:22
>>876
了解しました。
丁寧にいろいろ教えていただきありがとうございます。
※ニュースグループで聞くのは今の私では無理っぽいので他を考えてみます^^;(←他も無理っぽいですが...)


878 :デフォルトの名無しさん:04/12/20 23:12:17
他板「★お前らJavaはJNIで組もうぜ★」でけちょんけちょんにされました。
>>http://pc5.2ch.net/test/read.cgi/tech/1033795664/390
結局実現して見せたものは誰もおらずある意味伝説のパカになりそうです。


879 :デフォルトの名無しさん:04/12/20 23:24:47
OLEオートメーションやりたいのならJNIつかったほうがいいかもね

880 :デフォルトの名無しさん:04/12/20 23:30:06
>>879
あなたは今まで付き合ってくれてた方ですか??
SWTにこだわる理由は特に無いので、仰るとおりかも知れません。
アドバイスありがとうございますっ。
そっちの線に切り替えて勉強しますか(笑)。

bugに当たったのは不運でしたが、けちょんけちょんにされず教えていただけただけ
私は幸せ者です(←根本の解決にはまだ遠いが^^;)


881 :デフォルトの名無しさん:04/12/20 23:44:25
ものすごく初歩的な質問になってしまうのですが

Java(Servlet)でファイルアップローダーをつくる場合、
(クライアントからAPサーバへアップロードします)
画面の参照ボタンで指定したファイルのファイル名を
Servletの内部で知ることはできるのでしょうか?

882 :881:04/12/20 23:45:27
「知る」というのはファイル名を文字列として取得して変数に格納するという意味です

883 :デフォルトの名無しさん:04/12/21 00:16:25
仕事でJavaを触ることになったよ。
SUNのコーディング規約って、なかなか慣れない。


884 :デフォルトの名無しさん:04/12/21 00:16:56
>>881
できます

以上

885 :デフォルトの名無しさん:04/12/21 00:22:51
>>883
だからどうした。

886 :デフォルトの名無しさん:04/12/21 00:30:06
>>883
キャストの括弧のあとにスペースを入れるのは真似なくていい。
他のはちゃんと守れ。


887 :879:04/12/21 00:37:51
>>880
いやながめていただけの人だったけど
目的がSWTを使うことに見えたので傍観していた

仕事などで使うならSWTを熟知していないうちは
日本語資料が少ないSWTはやめたほうがいい


888 :デフォルトの名無しさん:04/12/21 00:41:44
>>844
それはVB上での解釈でしょ?

889 :デフォルトの名無しさん:04/12/21 00:59:27
もうおなかいっぱい。

890 :デフォルトの名無しさん:04/12/21 01:00:10
>>886
詳しく。

891 :デフォルトの名無しさん:04/12/21 01:00:21
Javaの自動Update要求されてるけど、何コレ
入れたほうがいいの?

892 :デフォルトの名無しさん:04/12/21 01:02:17
>>891
1.4.2_05以前のJava Pluginには脆弱性があるので至急入れるべし。

893 :デフォルトの名無しさん:04/12/21 01:04:26
Javaなんか常時offだよ
当然だろ

894 :デフォルトの名無しさん:04/12/21 01:04:56
>>892
おーdクス
早速入れます

895 :デフォルトの名無しさん:04/12/21 01:07:18
>>887
そうでしたか、アドバイスありがとうございます^^。
javaでクライアントアプリを作ろうとしていて、+使いたいActiveXがあったもので。
クライアントアプリでSwingは重い印象があり、かつOS依存でOKだったので
初めてだけどSWTを試してみたくなって...(勉強の意味も含めて)。
ネイティブの部分をSWTが引き受けてくれる分、JNIよりとっつきやすいのかなと。
ネイティブな部分とかほとんどさわったことないもので^^;。

確かに調べてみるとSWTの日本語資料は少ないみたいですね。GUIの部分はそこそこあるかもですが。
JNIなら古株の分資料が多いかもしれませんねっ(これからですけど^^;)。

JNIで引っかかったらその時はお願いしますです(笑)。

896 :デフォルトの名無しさん:04/12/21 01:53:42
>>893
Javaのオンオフって何ですか?
どうしたらできるんですか?
教えてください

897 :デフォルトの名無しさん:04/12/21 02:01:22
JDK1.4.2_05使ってます

コンパイルすると下のようなエラーメッセージが出ます
ソース何度見直しても"{"、"}"はしっかりついていますし
ソース全体見直しても解りません
このメッセージが出るとき他にどんなエラーが考えられますか?

C:\JavaWORK\javaによる>javac ftp0.java
ftp0.java:76: '{' がありません。
class Trcv Implements Runnable{
^
ftp0.java:98: '}' がありません。
^
エラー 2 個

898 :デフォルトの名無しさん:04/12/21 02:07:04
>>897
class Trcv Implements Runnable{
      ↑大文字になっとる

899 :デフォルトの名無しさん:04/12/21 02:26:23
>>898
コンパイル通りました・・・
ありがとうございました
ごめんなさい

900 :デフォルトの名無しさん:04/12/21 04:03:46
ある教科書参考にしてjavaでftpのクライアントプログラム作りました
dirコマンドでftpサーバのディレクトリ一覧を見る実行例があったので
自分もやってみたんだけどIllegalとかConnection resetなどの返事がくるだけで
一覧を見ることができません
何故見れないんですか?もう見れなくなっちゃったって事?
ちなみにHP社のftp鯖です


901 :デフォルトの名無しさん:04/12/21 06:56:18
>>900
「ある教科書」が何なのかもわからないし、
dirコマンドを正しく送っているかどうかもわからない。
質問の仕方が全然お話にならないレベルだと思います。

902 :900:04/12/21 07:57:05
>>901
すんません
こういう場合ってソース貼り付けたらいいのかな?
参考書名を言う必要あるんですか?

903 :デフォルトの名無しさん:04/12/21 08:21:34
>>902
ソース貼り付ければソース読んだ人から回答もらえるかもしれません。
参考書名を言えば同じ本を読んだ人から回答もらえるかもしれません。
>>900 に書いてあるレベルではJavaに関する質問になってないと思います。
FTPサーバ関係のスレでも探してサーバからの返答から情報を追えば良いでしょう。

904 :デフォルトの名無しさん:04/12/21 08:22:58
>>902
「参考書名を言う必要があるんですか?」って、なんかカチンとくるね。

905 :デフォルトの名無しさん:04/12/21 10:59:07
フォルダ作成後のファイル書き込みについて質問です。

フォルダをmkdirで作成後、そのままファイル書き込みを行うと
FileNotFoundExceptionが発生し、そのフォルダは『アクセス拒否』と
エラーに表示されるてしまいます。
ファイルを書き込む前に、ファイルオブジェクトの後処理などが必要なのでしょうか?

File storeDir = new File(storePath);
if(storeDir.mkdir()){
作成したディレクトリにファイル書き込み←ここでException
}

よろしくおねがいします

906 :デフォルトの名無しさん:04/12/21 11:17:23
>>905
File storeDir = new File("C:\\test");
if( storeDir.mkdir() ) {
File test = new File( storeDir + File.separator + "test2.txt" );
FileOutputStream out = new FileOutputStream( test );
out.write( "testfile".getBytes() );
out.close();
}
で全然問題なかったけど?

907 :デフォルトの名無しさん:04/12/21 14:09:39
>>905
対象のディレクトリにJavaからでなく、シェル(エクスプローラやらbashやら)
からファイル作ることはできるの?

908 :905:04/12/21 14:54:09
>>906さん
FileOutputStream out = new FileOutputStream( test );
の部分で同じEXCEPTIONが発生してしまいました。
しかも既にエクスプローラーで作成済みのフォルダで行ってみたのですが。
『C:\test (アクセスが拒否されました。)』が返ってきます。

>>907さん
同一WindowsXP機の中でJSPの入力フォームからマルチパートでファイルを
sarvletに渡し、ByteArrayOutputStreamクラスのwriteToメソッドでファイル出力
を行っています。
エクスプローラでファイルを作成するには問題ないです。

>>906さんのソースをコピペでもアクセス拒否されるので、他の部分が怪しいの
かもしれません。 もう一度見直してみます。

ありがとうございます。


909 :デフォルトの名無しさん:04/12/21 15:01:35
>>908
ユーザーの権限が無いだけじゃねーか

910 :デフォルトの名無しさん:04/12/21 15:10:21
>>908
まさか Applet ってことはないでしょうね。

911 :905:04/12/21 15:19:09
>>909さん
権限について、考えていませんでした。
見直してみます。

>>910さん
Appletは使用していません。

912 :デフォルトの名無しさん:04/12/21 17:49:16
8+3ショートファイル名しか使えない環境でJavaる時はやっぱりクラス名も短くするのでしょうか?
コンパイルされたインナーor無名クラスのクラスファイル名が悲惨な予感がします。

913 :デフォルトの名無しさん:04/12/21 18:35:46
拡張子 java や class を使えまい

914 :デフォルトの名無しさん:04/12/21 19:35:05
>>912 実装依存。というか、規格上はファイルシステムが存在しない系も
想定されているから気にするな。実際VisualAge for Javaにはjavaファイ
ルもclassファイルも存在しない。


915 :914:04/12/21 19:54:38
ごめん、言い方が悪かった。
規格上はファイルシステムがなくていいし、ファイル名が
どうなるってのは実装依存。またクラス名も短くならない。


916 :デフォルトの名無しさん:04/12/21 22:42:32
ttp://db-www.aist-nara.ac.jp/~yu-su/memo/xalan-install.htmlの
xercesのインストールを行ったのですが、
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/Main

とエラーが表示されてしまいます。テンプレのエラーとはまた違ったエラーなのでしょうか?
set CLASSPATH=%CLASSPATH%;. と入力した後も同じエラーが出てしまいます。

917 :デフォルトの名無しさん:04/12/21 23:28:23
>>916
どんなコマンドを打ってエラーメッセージが出た?
パッと見たカンジ、Xercesと関係無さそうな気がするが。

918 :デフォルトの名無しさん:04/12/21 23:29:57
ええと、Apache Ant(コンパイル用のツール)が入ってない、と読めるんだけど?

919 :デフォルトの名無しさん:04/12/21 23:33:05
>>778
全部は答えられないけど、まあ初心者スレだしヒントくらいは出しときます。

ApacheにXalanという、XMLをXSLTで変換するためのJava用ライブラリがあります。

920 :デフォルトの名無しさん:04/12/22 00:01:35
固定長のバイナリデータを送受信するプログラムを作っています。

サーバのCPU速度がクライアントよりも劣っているためか、
多数のデータを送ると処理が追いつかず歯抜け状になってしまいます。
(例:10件送信したが、9件しか受信されない)

プログラムは次のようになっています。
サーバ側がどんなに遅くても、受信データの欠損が起こらないような
処理の仕方はありませんでしょうか。

921 :920:04/12/22 00:02:13
プログラム内容

/**
* データ待ち受け処理の繰り返し
*/

DataInputStream isData = new DataInputStream(socket.getInputStream());
byte[] byBuf;
byBuf = new byte[300];

while (RepeatFlg) {
System.out.println("データを待っています...");

//値を取得
int nCnt = isData.read(byBuf, 0, byBuf.length);

//データを処理するスレッドを生成
RecieveThread objRec = new RecieveThread(byBuf, nCnt);
objRec.start();
}

922 :デフォルトの名無しさん:04/12/22 00:06:57
>>921
深く考えないで書くけど、せめてBufferedInputStreamくらいはかませた方がいいんじゃないか?

923 :デフォルトの名無しさん:04/12/22 00:14:05
>>921
その300ってのは10データ分?1データ分?

DataInputStream#read()のドキュメントを読め。
read(byte[],int,int)で300byte取れるわけじゃない。


924 :デフォルトの名無しさん:04/12/22 00:31:06
>>778,919
普通にJDK1.4だけでできるわい。
javax.xml.transform.Transformer まわり。

925 :デフォルトの名無しさん:04/12/22 00:40:16
次スレのテンプレ。

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


プログラム板の Java 関連質問スレのまとめページがあります。
スレで質問する前に、このページの FAQ を読みましょう。
FAQ で既出の質問は容赦なく無視されます。
http://www.wikiroom.com/java/

FAQ の目次:
 ・スレで質問する前に
 ・コンパイルできません!
 ・プログラムが実行できません!
 ・文字列の初期化って2通りありますよね?
 ・インタフェースって何に使うんですか?
 ・「値渡し」と「参照渡し」

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

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

過去ログ一覧・関連スレ一覧はまとめページから見ることができます。
スレ立て用のテンプレもまとめページで随時更新されています。

926 :デフォルトの名無しさん:04/12/22 01:13:06
>>925
↓が消えてる。アホかお前。最重要ブロック消してどうするよ。

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


927 :デフォルトの名無しさん:04/12/22 01:20:15
>>925
ネタかツリだよな? まじで。Wikiに長ったらしい記事までかいてやった壮大なネタだよな?

wikiのFAQの「値渡し」と「参照渡し」のところ、みごとなまでに間違ってんじゃん。
もし本気だったらすごい恥さらしだぞ。
だって、かいてあるサンプルコード実行してみろよ。「hoge = 10」と表示されるなんて出る
わけないだろ? まじか? コピペしてコンパイルすらしてない?

928 :デフォルトの名無しさん:04/12/22 01:31:52
FAQみてきた
たしかにうそかいてるな・・・なんのためのFAQだ

あれはCわかってると混乱するではなくてCわかっている人が理解する

参照の値(なんかうまい言い方が見つからん)を渡しているだけから
中でnewしたってまったくいみなし

JavaBeansでわたしてセッター使うというのならありだけど


929 :デフォルトの名無しさん:04/12/22 01:43:05
バカが暴走してFAQやらテンプレまで変えて荒らした、ってことでFA?

930 :デフォルトの名無しさん:04/12/22 01:45:55
なるほど、すべて>>925がクソだということを表してたのか。

931 :デフォルトの名無しさん:04/12/22 01:46:42
FAQ今はじめて見てきた。





( ゚д゚)ポカーン

932 :デフォルトの名無しさん:04/12/22 01:49:34
Wikiの更新履歴みてもそれらしき痕跡がないということは.....まじで書いているのか.......

933 :デフォルトの名無しさん:04/12/22 01:50:18
まあwikiに記名で書き込むやつにろくなのがいないってのは常識なわけだが。

934 :デフォルトの名無しさん:04/12/22 01:52:37
バカ。最悪。

935 :デフォルトの名無しさん:04/12/22 01:53:53
>文字列の初期化って2通りありますよね?


( ゚д゚)ポカーン

936 :デフォルトの名無しさん:04/12/22 01:56:37
smithくんはここ数日で目覚めちゃったらしい。
皆さん生暖かく見守ってあげてください。

861 :デフォルトの名無しさん :04/12/19 21:47:35
よく知らんけど、そういうときってマネージャーとなるクラス作るのがいいんでは?

862 :861 :04/12/19 22:29:45
つーか、それらしき動作をするサンプル書いたけどうpしようか?

865 :デフォルトの名無しさん :04/12/20 00:26:02
>>863
http://www.wikiroom.com/java/?%a5%bd%a1%bc%a5%b9%c5%bd%c9%d5%a4%b1#content_1_0

37 名前:デフォルトの名無しさん :04/12/22 00:43:43
ソース貼る香具師はここに貼れ。
2chでだらだらと続けられても困る。
http://www.wikiroom.com/java/?%a5%bd%a1%bc%a5%b9%c5%bd%c9%d5%a4%b1

937 :デフォルトの名無しさん:04/12/22 01:58:02
この『「値渡し」と「参照渡し」』、消すのが惜しいぐらいのネタだな。

938 :デフォルトの名無しさん:04/12/22 01:59:47
おれもWikiから消し去ってやろうかと思ったけど、馬鹿っぷりがひろまるまで
置いとこうかと....

939 :デフォルトの名無しさん:04/12/22 02:05:18
(・∀・)ニヤニヤ

940 :デフォルトの名無しさん:04/12/22 02:06:05
あそこのWiki、立ち上げたときのどたばたも爆笑もんだったからなあ。

941 :デフォルトの名無しさん:04/12/22 02:07:41
この冬最高の笑いものだ。

942 :デフォルトの名無しさん:04/12/22 02:07:59
参照値んとこ直ってるね

943 :デフォルトの名無しさん:04/12/22 02:08:33
>>940
放置されてたんだっけ?
違ったっけ

944 :デフォルトの名無しさん:04/12/22 02:10:34
盛り上がってるところすまないのだけど、
BufferedImageを拡大する方法はあるでしょうか。
Image#getScaledImage の返り値の型はは Image ですし、
欲しい大きさのBufferedImageを別途作ってdrawImageするとアルファ情報が失われてしまうので困っています。


945 :デフォルトの名無しさん:04/12/22 02:25:16
>>943 いや、wikiがなにかってこと知らなくて、誰かがeclipse-wiki
を例に挙げたら、eclipse wikiにこのスレのページを立ち上げた。
で、みんなから攻撃されたら「管理人さん削除よろしく」って書置きして
そのまま放置。直後にwikiroomにいまのページを立ち上げて自分のweb
ページへのリンクとか貼ってまた放置。「削除よろしく」っていわれた
eclipse wikiの管理人は実はwikiroom全体の運営者っていうおまけ付。

946 :デフォルトの名無しさん:04/12/22 02:32:28
JNIのDefineClass関数を使った人いますか?
任意に作成したオリジナルのクラスをバイト配列からクラスオブジェクトを生成したり、
インスタンスを戻り値に返したりとか。
どこの板でも「使う意味ない」とか、「Javaで出来るんだからJNIでも出来るはず」
などはぐらかされてばかりなんです。
正しい実装方法知ってる人いますか?
出来ればソースレベルで説明できて、実際に試したことある人が
ありがたいです。

947 :デフォルトの名無しさん:04/12/22 02:32:50
すみません、質問します。
VectorのサイトでObjectEditor081というツールを見つけてきたのですが、
その中のobjedit.jarというプログラムが開けません。
「Fatal exception occurred. Program will exit.」というエラーがでます。

原因がさっぱりわかりません。
どうしたら起動できるようになるのでしょうか…

948 :デフォルトの名無しさん:04/12/22 02:34:00
>この違いをしっかりと理解しましょう。Smith君。
ワロタ

ていうかまるっきり役だってねえだろ、wiki

949 :デフォルトの名無しさん:04/12/22 02:42:30
原文へのリンクがつけられてるw

950 :デフォルトの名無しさん:04/12/22 02:44:48
>>946
>どこの板でも「使う意味ない」とか、「Javaで出来るんだからJNIでも出来るはず」
>などはぐらかされてばかりなんです。

せっかく「出来る」って言われてるのにどうして「はぐらかされてる」と感じるんだお前は。
だいたいatmarkitで解決したんじゃないのかよ。


951 :944:04/12/22 02:47:08
あ、TYPE_INT_ARGBで作ったら完全透明なのができてそこにdrawImageしたらよかった(;´д`)…


952 :デフォルトの名無しさん:04/12/22 02:49:15
>wiki
ポリフォルミズムってなんだw

953 :デフォルトの名無しさん:04/12/22 02:50:11
ところで、
この Java と C の挙動の違いはどのような設計思想に基づくものなのでしょうか?
えらい人、教えてください。

954 :953:04/12/22 02:51:03
あ、参照渡しの話です。

955 :デフォルトの名無しさん:04/12/22 02:52:39
>>946 JNI defineClassでぐぐった。
 JNI+defineClassつかってクラスを暗号化したいんですぅ
  → そんなんで暗号化/複合化したって意味ねーだろ、ぼけ。
っていうここのJNIスレと同じやりとりしている海外のWebが見つかった。
世界中探せば946みたいに不毛なことやってるやつはいるし、そういうやつは
やっぱり叩かれるということを学んだ。

956 :デフォルトの名無しさん:04/12/22 02:57:29
>>953,954
おまえは、書き直されたWikiのFAQをみて、CとJavaのどこに「参照渡し」が
存在すると思ったんだ? 存在しないものに挙動の違いなどない。

先手を打っておくが、値渡しの挙動は同じだ。だからどっちも同じだ。

957 :デフォルトの名無しさん:04/12/22 02:58:28
クラスの中身をみられたくないから暗号化するんなら、ネイティブコンパイルすれば
いいんじゃねの?

958 :デフォルトの名無しさん:04/12/22 03:10:51
>>953
ネタかどうかわからんがマジレスすると、
CもJavaも参照渡しはなくて値渡しのみ。
「参照」の扱いが思想的にどう違うかといえば、
C: メモリ内部覗きまくり。参照は対象オブジェクトのメモリ領域の先頭アドレス値。
Java: Simple is Best. 参照は参照でしかいなく、それ以外の何者でもない。


959 :デフォルトの名無しさん:04/12/22 03:15:52
>>946
不毛かどうかは別にして、お前さんがやろうとしていることは可能。


960 :デフォルトの名無しさん:04/12/22 07:39:22
質問です。
最近JBuilderを使用し始めたのですが次のことに関して困っています。

 ・以前メモ帳で作成しておいたプログラムをJBuilderに移したい。
  ↓
 ・JBuilderで新規作成でアプリケーションを作成すると自動的にjavaファイルが作成された。
 ・実行すると指定サイズの空のウィンドウが開く。

それでは簡単なプログラムの結果を表示させるだけ(ウィンドウを開かずメッセージペインに表示させる)
のプログラムとはどのように記述すればよいのでしょうか?
新規作成でいきなり多くのプログラムが記述されているので・・・。



961 :デフォルトの名無しさん:04/12/22 07:43:03
>>960
JBuilder関連のスレへどうぞ。

962 :デフォルトの名無しさん:04/12/22 08:13:48
javaでオススメなフリーのテキストエディタってない?


963 :デフォルトの名無しさん:04/12/22 08:49:48
Java製エディタっつー意味なら jEdit と jext かな?

964 :947:04/12/22 14:23:08
>>947の者ですが、質問として内用が足りなすぎるでしょうか?
あとスレ違いの可能性もありますが、
もしそうでしたらご指摘下さい。

965 :デフォルトの名無しさん:04/12/22 14:40:10
>>964
スレ違い。作者に質問した方が早いぞ

966 :947:04/12/22 15:59:17
>>965
そうですね。ありがとうございます。

みなさんも試してみてください。多分「うーん」と悩むと思いますよ。

967 :デフォルトの名無しさん:04/12/22 16:41:55
>>962
Javaに限らずemacsとかVzEditorとかかなー
手軽なところではCPadだね。タブは便利ぞよ

968 :宿題スレに書いてしまいました:04/12/22 17:14:51
質問です!散々ググッたんですけどわかりませんでした

全角文字列の中から、ある1バイト文字を抽出したくないんですが、
これのメソッドってありますでしょうか?

具体的に言いますと、"^"<-(アスタンなんとかっていう名前の山みたいな記号)
これと同じものが、”タ”という全角文字の中に入っているんですが、
JAVA の string indexOf や、split なんかだと
気が利きすぎて、検索ヒットしてしまい、抽出すると、
文字が崩れてしまうんです

これ、全角文字は全角文字として検索に該当しないようにするメソッドが
ありましたら、お教えください。
VC++ では、tcstok というAPIでうまくスルーしてくれるみたいです。
よろしくお願いします


969 :デフォルトの名無しさん:04/12/22 17:36:25
>>968
どんなコードでindexOfとか使ってるんだよ?
JavaはUCS2だから
タ -> 30BF
^ -> 005E
で全然別物だぞ。


970 :968:04/12/22 17:50:04
以下のコードです
ていうか、SHIFT_JISにしてしまってから、
処理してます

String str = new String("や^まタ","SHIFT_JIS");

for (int i = 0; i < str.length; i++) {
if (str[i] == '^' ) {
println("1");
continue;
}else if (str[i] == '^' ) {
println("2");
}
}


971 :デフォルトの名無しさん:04/12/22 17:53:35
>>970
全然Javaのコードじゃねーじゃねーか

972 :デフォルトの名無しさん:04/12/22 17:57:41
それ文字単位じゃなくてバイト単位の処理だしな

973 :デフォルトの名無しさん:04/12/22 17:59:48
JITって結構きいてるんだね
同じ処理繰り返してたら後にやるほうがはやくなって
おもしろい

974 :デフォルトの名無しさん:04/12/22 18:01:31
>>970
何語?

975 :968:04/12/22 18:03:23
>>972
これ、バイト単位だと、
タ の部分で "^" マークに引っかかるんですが、
文字列単位の処理で、split 使うと
ひっかからなくなりますか?


976 :デフォルトの名無しさん:04/12/22 18:29:53
Javaをつかえばうまくいくよ

977 :968:04/12/22 20:06:42
>>976

一応JAVAのつもりなんですが
eclipse で作ってるし

978 :デフォルトの名無しさん:04/12/22 20:18:01
CDTでもつかってるのか?
>>970はうちのeclipseじゃコンパイル通らないぞ

979 :デフォルトの名無しさん:04/12/22 20:18:08
インターフェースを引数にした時のメリットって何??
どーやら実装したクラスのインスタンスを渡してるっぽいんだけど…
別に適当に作って渡したら良いんじゃないの??
誰か、理解力に乏しい俺に教えてくだされ。

とりあえず自分なりに思ったこと
実装したクラスのインスタンスという事は、直接は関係ない位置からでもインスタンスを渡せる?
MyPanel mp = new MyPanel();
このmpをどっか適当な場所からでもメソッドに渡せるって感じ??
でも、それなら
void hoge(MyPanel mp){}
でも良い気がしたから…

頭がこんがらがってます
精神衛生上よろしくないので、どなたか解説お願いします。

980 :968:04/12/22 20:27:16
>>978
CDTなどは使っていないです 
すみません 今日はもう引き上げます。
あす、本屋に逝って調べてきますんで、
忘れていただければと思います。


981 :デフォルトの名無しさん:04/12/22 20:51:40
>>979
***Listenerとか全部インターフェイスだけど、無くても良いと思う?

982 :デフォルトの名無しさん:04/12/22 21:53:23
>>979
wikiによると、ポリフォルミズムとやらが関係しているらしいぞ。

ttp://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=utf-8&oe=sjis&q=%E3%83%9D%E3%83%AA%E3%83%95%E3%82%A9%E3%83%AB%E3%83%9F%E3%82%BA%E3%83%A0

ポリフォルミズムに該当するページが見つかりませんでした。
"ポリフォルミズム"を含むページは見つかりませんでした。

検索のヒント
- キーワードに誤字・脱字がないか確かめてください。
- 違うキーワードを使ってみてください。
- より一般的な言葉を使ってみてください。

983 :デフォルトの名無しさん:04/12/22 21:56:55
>982
一瞬どこが間違ってるのかわからんかった

984 :デフォルトの名無しさん:04/12/22 22:16:48
Cのmemcmpに相当する関数ってありませんか?
int[]の比較したいんだけど、一個ずつやってたら遅いような
気がするんで

985 :デフォルトの名無しさん:04/12/22 22:25:36
バカが何匹か釣れてるのが気になる

986 :デフォルトの名無しさん:04/12/22 22:30:21
>>984
java.util.Arrays.equals(int[] a, int[] b)で


987 :デフォルトの名無しさん:04/12/22 22:41:44
>>986
さんきゅー。でもそのメソッドのソースみると
普通に自分で比較してもかわらないきが・・・
System.arraycopy()はnativeなのに

988 :デフォルトの名無しさん:04/12/22 22:44:07
>>985
982とかだな

989 :デフォルトの名無しさん:04/12/22 22:46:09
>>987
nativeでも普通に自分で比較しても速度そんなにかわらないんじゃん?
どうせ最適化されるんじゃん?

990 :デフォルトの名無しさん:04/12/22 22:56:17
>>987
ルーキーよ、フォース^h^h^h^hJITを信じるのだ

991 :デフォルトの名無しさん:04/12/22 22:56:46
>987
そんなに急いでないんなら、System.currentTimeMillis()あたりで
ざっくり時間測って比較してみてもいいんでない?

992 :デフォルトの名無しさん:04/12/22 22:57:24
>>988
悔しいんなら直せば?

993 :デフォルトの名無しさん:04/12/22 23:16:53
982本人降臨w

994 :デフォルトの名無しさん:04/12/22 23:22:47
2ちゃんで名乗ろうってのが考えられん。
頑張ったり目立ったり(笑)すれば
かならず足を引っ張られる場所だと理解してないのかねえ。

995 :デフォルトの名無しさん:04/12/22 23:27:08
Smith必死だな

996 :デフォルトの名無しさん:04/12/22 23:29:50
>>990必死だな

997 :デフォルトの名無しさん:04/12/22 23:30:27
998必死だな

998 :デフォルトの名無しさん:04/12/22 23:31:19
>>998

999 :デフォルトの名無しさん:04/12/22 23:31:26
蒸し返すようで悪いが・・・
eclipseを使ってるときに引数にインターフェイスを入れると・・・
リファクタリングがスゲェ〜楽。

1000 :デフォルトの名無しさん:04/12/22 23:31:48


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

257 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)