[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 12/06 08:18 / Filesize : 160 KB / Number-of Response : 769
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★★Java質問・相談スレッド132★★



1 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 20:02:41 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
【初心者】Java質問・相談スレッド131【歓迎】
ttp://pc12.2ch.net/test/read.cgi/tech/1250369910/
次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/

101 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 23:03:39 ]
delphiではマイナスの添え字ってどういう意味があるの?
スレ違いでスマンが

102 名前:デフォルトの名無しさん [2009/09/02(水) 23:15:04 ]
>>101
例えば風の計算するとき、境界条件の計算に、
計算領域の2〜3個外側の値(ダミーの値)を使う
ことがあるんだけど、そのときにマイナス添え字
の配列があると楽なんです。

103 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 23:39:59 ]
え、配列上限+1を0に見立てたアクセスかと思ってた。違うのか。

104 名前:101 mailto:sage [2009/09/02(水) 23:56:30 ]
>>102
書いてくれた説明はさっぱり解らないけど検索して調べたら解った
Javaの場合は添え時の部分でマイナスにならないように値を加算すればいいんじゃない
例えば
for(int i=-100;i<100;i++){
  d[i+100] = i;
}
みたいな感じで

105 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 00:03:23 ]
>>104
ぼくは配列のほうじゃなくて、カウンタの部分を補正しようか、
あるいはポインタを使うとスッキリとするんじゃないかとも思
ったけど。
なるほどです。それでやってみます。ありがとう。



106 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 00:45:01 ]
負のインデックスを使うと自動的に
allocしてくれる配列かリストが欲しいって言ってたってこと?
代入不能な負のインデックスってだけなら
メソッドかませばいいだけの話だしなあ。

107 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 01:00:15 ]
自分で好きにラッパを作ればいいじゃん

108 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 01:53:55 ]
>>102
それ単にダミーが終わるindex + nでアクセスすればいいんじゃないの?

109 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:28:01 ]
C言語はひととおり出来るんだけど
今からJAVAは無理?

というかむずかしい?



110 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:29:00 ]
ぜんぜん

111 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:49:34 ]
jadを許可しているソフトを逆コンパイルしたら、内部クラスを使いまくっていた
他の人に聞いたら、業務では内部クラスは使わないよって言っていた
そこんところ、本当はどうなの?

112 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:56:33 ]
>>111
もちろん使いまくりはダメだが、適切に使う分には強力な武器になる。
業務もクソも関係ない。


113 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:57:26 ]
業務ってもなぁ
携帯みたいな容量きつい環境ではあまり無闇に使うわけにはいかないけど
デスクトップやサーバならまったく問題ない

114 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 18:56:45 ]
内部クラスはそれなりのメリットがあるんです

115 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 19:09:02 ]
2つの配列を、ひとつの配列にするには
どうしたらいいですか。

a[ ] =+ b[]

こんなかんじでしょうか?

116 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 19:13:45 ]
>>115
System.arraycopy

117 名前:デフォルトの名無しさん [2009/09/03(木) 20:14:30 ]
文字列の長さを得る方法など、あらゆるコマンドが載ったリファレンスってないのでしょうか?
ちょっと大きめの書店に行ってみましたが、見つかりませんでした。
良い本があれば教えてください!

118 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:15:59 ]
javadocで十分だろが。釣りか?


119 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:17:26 ]
紙信者って奴だ



120 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:18:49 ]
Javadocじゃあ視認性悪いね。

121 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:21:12 ]
紙媒体のリファレンス求めるのは諦めた方がいい
非効率過ぎる

微妙に畑が違うが、Win32APIのリファレンスなんて3000ページ以上あったぜ

122 名前:117 [2009/09/03(木) 20:25:37 ]
Javadocというものを知らなかったので検索してみましたが、
自分で書いたコードの解説をHTML形式で作成できる機能でしょうか?

123 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:25:49 ]
改訂のたびに廃棄してたらとんでもねーな。

124 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:28:31 ]
>>117 はそもそもJavadocを知らなさそうだな
これだ
java.sun.com/javase/ja/6/docs/ja/api/index.html
標準で入ってるあらゆるクラス・インタフェイス・メソッド・フィールドが載っている

125 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:28:57 ]
>>122
とりあえず↓で事足りないかい?
java.sun.com/j2se/1.5.0/ja/docs/ja/api/

126 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:29:49 ]
貼る奴間違えた

127 名前:デフォルトの名無しさん [2009/09/03(木) 20:35:30 ]
>>124-125
十分事足ります!
>>124さんのリンクのほうが新しいみたいですね。

機能からの逆引きの仕方がわかりませんけど、ブックマークして後で部分的に目を通してみます。
(Firefoxでスクリプトの処理に時間がかかる、みたいなダイアログが出ますけど…)

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

128 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:37:54 ]
API仕様書

129 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:50:56 ]
Win32APIってやっぱりMSDNしかないの?あそこIEじゃないとMSの嫌がらせが多いから嫌なんだよな・・・



130 名前:デフォルトの名無しさん [2009/09/03(木) 20:54:52 ]
JSFのリファレンスっていうかチュートリアルっていうか、公式なやつない?

131 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 21:43:49 ]
質問。
総称型配列を返すメソッドを持つクラスを楽に作れるような改良は、予定に
ありませんか?
class GenArray<T> {
public T[] RetArray() {...}
}
というか、T[] = new T[100]; もできんし。

132 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:00:11 ]
List<T> の何が不満なんだ?



133 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:10:41 ]
List<笑>

134 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:14:49 ]
イレイジャなのでnew T[]は出来る予定はまずない

135 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:24:06 ]
>>132
某クラウドのWEBサービスのプロキシで配列渡すんだけど、一回に渡せる
個数が制限されていて何回も分割して処理しなきゃならないんだ。
んで、指定した個数の部分配列をイテレータみたいにgetNext()できるクラス
を書いたんだけど、総称型つかえねーよとコンパイラに怒られた。
仕方なくList<T>返すようにしてtoArray(new String[0])して渡したんだけど、
これはちょっとなぁぁと思った。

136 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:33:16 ]
>>135
「これはちょっとなぁぁ」と思っても仕方がない
Javaの場合、後方互換性を保つため、実行時には型情報はなくなる
なので、明示的な型を指定しない限り配列は作ることが不可能
おかげで1.4の頃のライブラリが使えるんだから諦めてくれ

137 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 23:57:08 ]
>>135
リフレクションじゃいかんの?

138 名前:137 mailto:sage [2009/09/04(金) 00:15:02 ]
一応補足しとくか。
T[] array = (T[]) java.lang.reflect.Array.newInstance(elem.getClass(), 100);

>>135の要件だと、
配列に詰める(適当な)要素のオブジェクトからgetClassしないとダメ。
ただしT[]作る時の要素はTのサブクラスだとダメ。
TのサブクラスでT[]作っても、T入れる時点でArrayStoreExceptionが出る。

明示的にクライアントAPIからClass<T>貰うのが
配列型の共変が無くて一番無難。

139 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 00:23:08 ]
>>127
こっちも見とけ。
JDK 6 ドキュメント
java.sun.com/javase/ja/6/docs/ja/index.html
公式のドキュメントは全部ここからたどれる。



140 名前:131 mailto:sage [2009/09/04(金) 01:07:11 ]
やはり予定には無いですか。ありがとうございました。
おまけに 138 さんにインスパイアされて・・・Array・・・Arraysってあったよな。
public class Main {
public static void main(String[] args) {
String[] arr = new String[] {"0","1","2","3","4","5","6","7","8","9","10"};
GenArray<String> gen = new GenArray<String>(arr);
String[] strs;
while ((strs = gen.retArray(3)).length>0) {
System.out.println("---");
for (String str : strs) { System.out.println(str); }
}
}
static class GenArray<T> {
T[] array;
int pos = 0;
public GenArray(T[] arr) { array = arr; }
public T[] retArray(int count) {
int size = Math.min(array.length-pos, count);
T[] ret = java.util.Arrays.copyOfRange(array, pos, pos+size);
pos += size;
return ret;
}
}
}
あれれ・・・通った _orz

141 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:20:07 ]
Arraysの中を覗いたら、まさに 138 さん方式でした。
T[] copy = ((Object)newType == (Object)Object[].class)

? (T[]) new Object[newLength]

: (T[]) Array.newInstance(newType.getComponentType(), newLength);



142 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 02:29:24 ]
>>116
ありがとうございます。

64個配列作って、
一部分だけ、指定したい。

1,  String image_gif[ ] = new String[64];
2,  image_gif[ ] = {"panda.gif","midori.gif","hi.gif","nobasu.gif","ha.gif","",};

2行目の書き方がとても楽。
→けど、これではエラーになる。
→2つ配列を作って、くっつけよう。

そこで質問しました。

143 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 12:03:16 ]
>>111
クラス名を HOGE010010 とか記号でつけて管理台帳で管理するような現場だと
*.java と *.class の数がそろわず管理できないから
というわけのわからん理由で内部クラスが禁止になったりする

144 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 12:05:59 ]
ワラタw
そうなると、匿名クラスも禁止?

145 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 12:25:45 ]
>>143
イミフw

146 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 12:37:25 ]
>>143
そんなアホな現場があるなんて信じられないし信じたくない


そう思っていた時期が俺にもありました

147 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:00:08 ]
まさに今の現場だw
内部クラスサブクラス禁止で1クラス3000行とか普通にあるww

148 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:05:52 ]
管理台帳に修正内容は1行1行書かないと行けないんですね、わかります

149 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 15:58:37 ]
>>147
アマチュアの製作現場ですね
よく分かります



150 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:20:00 ]
アホか、銀行とかむしろ基幹系の方がそういうルール残っているんだよ

151 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:45:04 ]
クラス設計がウンコなんだろ

152 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:53:21 ]
COBOLを前提としたルールとかある。
経験の無いツールに移行する時は、どの前提が間違っているか分からないまま詳細設計とかに進むこともまま。


153 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 19:04:31 ]
>>152
<アマチュアの製作現場ですね

154 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 19:07:28 ]
>>153
そういうところほど、いいお金をもらってる…

155 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 20:45:40 ]
質問です!

常駐してるjavaプログラムAに対して
新しくコマンドプロンプトを開き、そこからデータを送信することおは可能でしょうか?
パイプとか、いろいろ調べてみたんですがなかなかー・・・

156 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 20:51:34 ]
つ socket

157 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 20:59:31 ]
C→Java
Java→Java
みたいに言語間で通信できるのはわかったんですが
DOS窓から直に送るって方法がわからんのです(´・ω・`)

158 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:02:58 ]
DOS窓からCなりJavaのプログラムを起動すればいいだろ、お前は何を言っているんだ?

159 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:03:34 ]
>>156
データグラムだとたまに取りこぼしがあるとか言う話ですがどういうときに発生するんですか?



160 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:09:30 ]
>>159
伝送路が混んでるときとか

161 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:13:07 ]
>>158
大量のデータを裁かなくてはいけないので
その都度プロセスを起動するのは心もとなくて

同時に300くらいは軽く裁きたいのです

162 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:35:55 ]
同時に300くらい軽く捌くjavaなりCのプログラムを1回起動すればいいだろ
お前は何を言っているんだ?

163 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:44:05 ]
DOS窓に垂れ流されてるコマンドを
1行ずつ常駐してるJavaに送信したいんですが
たった一回の起動で可能なのです?

調べてみたんですが、今ひとつわからないのでヒントを(´・ω・)

164 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:00:51 ]
>>163は仕様書をかけないタイプ

165 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:09:38 ]
>>160
配信するときTTLの寿命で死んじゃうからパケットは消滅するんですか?
そうするとメッセージが渡ったかどうかチェックする必要があるのでTCPしかないですよね。

166 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:19:12 ]
「DOS窓に垂れ流されてるコマンド」
まず、これが何のことだか

167 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:25:09 ]
>>165
TCPが持つ他の機能は不要で、メッセージが必ず渡ることだけを保証するのなら、
データグラムの上にそういうプロトコル階層を作るか持ってきて乗っけるという手もある。
この話題はJavaとは無関係なのでネットワーク関係のスレへいけ。

168 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:27:12 ]
>>165
消滅というか、送信先にたどり着かないこともあろう
送信した方もちゃんと届いたかどうかわからない
そういうのが要らない場面で使うのが前提

169 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:32:55 ]
IPデータグラムにポート番号とチェックサムついただけなのがUDP



170 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:37:02 ]
jreがダウンロードできない。
サンのサイト死んでない?

171 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:37:56 ]
ごめん繋がった。なんだこりゃ

172 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 00:07:24 ]
UDPだとデータ損失しちゃうだろ

173 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 00:19:49 ]
それじゃメッセージ用途でsocketを使うというのはTCPを使うってことじゃないですか!
SOCKETやRCPをも含め結局メッセージはOSが必要でJAVAだけじゃ無理ってことでいいですか?

174 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 00:20:58 ]
はぁ〜?

175 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 01:33:37 ]
JavaでOSがなくなる!?
pc12.2ch.net/test/read.cgi/tech/1193757528/

176 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 01:51:40 ]
>>174がみやむーの声で再生されたorz
ちょっとアスカに馬鹿にされてくる・・・。

177 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 01:52:10 ]
>>173
意味不明過ぎる。
Javaが動くにはOSが必要だし、Javaのネットワーク機能はOSの機能を呼び出してるだけ。
あと、UDPで信頼性が欲しけりゃUDPの上に俺々プロトコルを構築すればいい。

178 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:18:25 ]
TCPで信用ならないならSHA1のハッシュを配布するもよし

179 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:36:04 ]
>>178
TCPで信用ならないってどういうときですか?
SHA-1とかパケットがちゃんと届いたかどうかの信用性に関係ないでしょ。



180 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:38:24 ]
>>177
他アプリへのメッセージはJAVAでは原則サポートしてないでしょ。
RPCとかOS関係ないし、さっきはメッセージならsocket使えっていったよね?

181 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:39:46 ]
既に最初の質問者と違ってる件
構って君なのでしばらく付き合ってやってください

182 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:59:49 ]
自己紹介乙

183 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 04:16:37 ]
>>180
その「他アプリへのメッセージ」って具体的に何よ。
Javaが標準でサポートしてる、ソケットやRMIやCORBAは「他アプリへのメッセージ」に入らないのか?

184 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 04:16:59 ]


185 名前:デフォルトの名無しさん mailto:age [2009/09/05(土) 04:19:20 ]
>>183
はいりません

186 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 06:34:23 ]
>>183
XML-RPCも入れてあげて下さい

187 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 07:05:13 ]
>>180
Windowsメッセージと誤解しているとエスパー。

188 名前:デフォルトの名無しさん [2009/09/05(土) 09:20:35 ]
Aクラスにメソッドを追加したクラス名はどのような名前にしたらいいですか?

189 名前:575 mailto:sage [2009/09/05(土) 09:58:17 ]
>>188




190 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:02:20 ]

クラス名がAじゃなくても何でもよくて名前の前や後ろに文字を付け加える方法でお願いします。

191 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:10:36 ]
>>188
Readerにバッファリングを付けたから BufferedReader とか、追加機能にちなんだ
名前をつける以外には正解は無い。

正直な話、「メソッドを追加した」という情報だけの質問が、まじめな答えが戻って
くるような質問だと思っているのか?と小一時間略

192 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:12:28 ]
じゃあ、Aクラスは数学的な機能しかないものに、機能追加でコピーペーストや文字の検索なんかの
機能をつける場合は何をつけますか?

193 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:22:34 ]
>>192
馬鹿に付ける薬

194 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:39:30 ]
>Aクラスは数学的な機能しかないものに、機能追加でコピーペーストや文字の検索
今思いついただけのいい加減なクラスだろうから、「000」「001」でOK
ユーティリティ以外でそんなクラスをつくるなら、関数に戻した方がいい

195 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:52:57 ]
SomethingExtendedA

196 名前:デフォルトの名無しさん [2009/09/05(土) 10:54:46 ]
AImplX

197 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:01:14 ]
なにかのメソッドを追加したA


198 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:05:16 ]
何か便利な機能を詰め込んだクラスの名前を教えてください。
例えば配列を繋げたりするようなものなどが沢山入ってます。

>>195
有難うございます。


199 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:06:58 ]
配列を繋げたりするようなものなどが沢山入っているA



200 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:08:48 ]
便利な機能を詰め込んだA






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<160KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef