【初心者】Java質問・相談スレッド112【大歓迎】 at TECH
[2ch|▼Menu]
[前50を表示]
100:デフォルトの名無しさん
08/02/10 13:35:19
クラスは,C言語における構造体の配列みたいだと思ったのですが、
あっているでしょうか?

101:デフォルトの名無しさん
08/02/10 13:37:44
たぶん間違い。
構造体のような使い方もできるがもっと色々できる。

PCはゲーム機の本体のようなものですか?のような質問。

102:デフォルトの名無しさん
08/02/10 13:42:27
何で配列?

103:デフォルトの名無しさん
08/02/10 14:50:59
>>92
エラーが表示するライブラリを順に追加していったら動くようになりました!
ありがとうございます。

104:デフォルトの名無しさん
08/02/10 19:40:54
こんばんは。質問よろしいですか。
Linuxコマンド(diff)を実行し、その結果を出力するだけのプログラムなのですが、
なぜかその実行結果がNULLになります。
ソースは以下の通りです。宜しくお願いします。
fileA,fileBは共にテキストファイルで、コマンドの誤りは何度も試したのでないと思います。

public class b {
public static void main(String[] args) {
try {
// プロセスオブジェクトを生成
String str ="diff fileA fileB";
// System.out.println("command:"+str);
Process process = Runtime.getRuntime().exec(str);
// process.waitFor();
// 外部コマンドの標準出力を取得するための入力ストリームを取得
InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// 標準出力を1行づつ取り出します
String line = br.readLine();
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}


105:104
08/02/10 19:57:29
申し訳ありません。自己解決しました。
原因は、もしかすると、fileAとfileBの場所が遠かった(コマンドが長すぎた)せいだと思います。
ご迷惑をおかけしました。

106:デフォルトの名無しさん
08/02/10 20:34:38
アニキ、Ant から起動したら XML パースが使えなくなりやしたぜ。どうしやしょう。

107:デフォルトの名無しさん
08/02/10 21:16:06
放置しとけ

108:デフォルトの名無しさん
08/02/11 01:05:22
Log4j って作者抜けてから開発停滞してね? J2SE 5.0 に対応させるとか言ってた
2.0 とかの開発今どうなってんの?

109:デフォルトの名無しさん
08/02/11 01:22:17
log4jメーリングリストのアーカイブ嫁

110:デフォルトの名無しさん
08/02/11 01:32:18
このスレ並の質問ばっかで開発状況の話なんて全然ねーじゃん。

111:デフォルトの名無しさん
08/02/11 02:08:30
秘密の漏えいを期待してるのか?
かね出さずに?

112:デフォルトの名無しさん
08/02/11 09:40:34
Javaをアンインストールしたらどうなりますか?
windows vista

113:デフォルトの名無しさん
08/02/11 10:18:26
削除されます
windows vista

114:デフォルトの名無しさん
08/02/11 10:25:58
Javaをアンインストールても、windows vistaは正常に作動しますか?

115:デフォルトの名無しさん
08/02/11 11:59:33
SOAPってスレッド使ってもいいの?
仕様的に。

116:デフォルトの名無しさん
08/02/11 13:21:47
プログラムを実行するごとにint型の変数の値を1ずつインクリメントするのってどうやったらできるんですか〜−−;

117:デフォルトの名無しさん
08/02/11 14:02:08
>>116
プラシーボで良ければ、int型の値を確保し、それをインクリメントするだけのプログラムを。

でなければ、実行されるプログラムが使用するメモリ以外の部分に、実行時の値を保存する。
レジストリやらHDDなど外部記憶装置やら。

参考
URLリンク(sdc.sun.co.jp)
URLリンク(sdc.sun.co.jp)

118:デフォルトの名無しさん
08/02/11 14:09:32
>>117
ありがとうございます!
今からちょっと用事があるので帰ってきてから実装してみたいと思います。

119:デフォルトの名無しさん
08/02/11 15:03:20
必ず表示されるフォントってありますか?

120:デフォルトの名無しさん
08/02/11 15:05:47
今のところ
Calendar.SUNDAY == 1
Calendar.MONDAY == 2
 (略)
Calendar.SATURDAY == 7
みたいですが、これを前提にコード書いたらやっぱまずいですか?
SUNDAYからMONDAYまでがこの順に連続した整数であることも
全く保証されて……ないんですよね、やっぱり。
SUNDAY→0, MONDAY→1, ..., SATURDAY→6 を得たいんですけど、
いちいち走査するしかないのかなあ。

121:デフォルトの名無しさん
08/02/11 15:05:51
String s = ?(97);
s.equals("a")にするための?の部分を教えてください。

122:デフォルトの名無しさん
08/02/11 15:09:44
>>119
どの環境でも使えるフォント名ってことなら"Serif"、"SansSerif"、"Monospaced"、"Dialog"、"DialogInput"

123:デフォルトの名無しさん
08/02/11 15:13:23
>>121
Character.toString( (char)97 )

124:デフォルトの名無しさん
08/02/11 15:16:57
>>120
作法としてまずいかどうかは知らないが
将来バージョンアップで値が変わったりとかはしないはずなので大丈夫かと
(そんなことしたら既存のプログラムが動かなくなるし)

125:デフォルトの名無しさん
08/02/11 15:39:47
qa3765663

126:デフォルトの名無しさん
08/02/11 16:52:34
質問です。

JNIで呼び出すCのライブラリの中でファイルを参照するのですが、
ファイルの読み込みは一度だけにして常にメモリ中に展開しておき、
2度目以降は読み込み処理をやらなくてすむようにはできるでしょうか?

127:デフォルトの名無しさん
08/02/11 17:34:06
>>120
APIドキュメントで対応する数値が明記されていない以上、
変更されて機能しなくなる可能性がないとはいえないが、
まあたぶん変えられることはなさそうだし前提にしてもいいんじゃないかな。
Calendar.SUNDAYとかはpublic static final intで宣言された定数なので、
使用側のコードに直接値が埋め込まれるため、
変更されるような事態になったら全部コンパイルし直しになるので。

128:デフォルトの名無しさん
08/02/11 18:05:38
>>125
okwaveとのマルチか

129:デフォルトの名無しさん
08/02/11 18:17:05
>>128
どこかがつぶれてもいいような分散技術を使った高度な質問技。
しかし技を使ったことがバレると回答されにくくなる諸刃の剣。

130:デフォルトの名無しさん
08/02/11 19:02:29
ただのクロスポストだろ。なにが高度なんだ

131:デフォルトの名無しさん
08/02/11 20:29:06
>>120
必要が無ければやるべきではない印象を持つが、必要として考えると…

定数の値は公開されて確認ができるので、クラスの使用条件を
「Calendar.SUNDAY から Calendar.SATURDAY が連続した整数値を取ること」
としていれば、Java のバージョンが変わったときも、それを確認するだけで使えると思う。

もしくは、static の初期化子などでそれらが連続することを確認し、
そうでは無い場合には何らかの処置をする、とか

132:120
08/02/11 22:28:27
レスありがとうございました。
書いた直後に出かけていて返事が書けませんでした、ごめんなさい。

>>124
いくら public とはいえ、SUNDAY と "1" という値とは本来何の繋がりもない、
Calendar クラスの中だけの約束事でしかないので、
定数をこういう風に使っていいのかなぁという疑問がずっと消えなくて。

>>127
やっぱり明記はされてないんですよね。
ただ、「使用側のコードに直接埋め込まれる」には思わず手を打ちました。
定数が変わるときにはどのみちコンパイルし直しになるんだから
そのときにチェックが入るだろう、という考え方ですね。
建国記念の日とか春分とかの「日本の休日」を扱うクラスは
(どうせあと数十年中に休日が増減するから)とりあえず21世紀中だけ
使えることにしておけばいいよ、ってのと似たような話でしょうか。
ちょっと違うかもですが。

>>131
その発想はなかったっ。
どうせ将来にわたっても定数が変更されることはないだろうけど、
もし万が一……というところで悩んでいたので、
その注意書きを選ぶことにします。
お三方ともありがとうございました。

133:デフォルトの名無しさん
08/02/11 23:03:36
>>132
>建国記念の日とか春分とかの「日本の休日」を扱うクラスは・・・
祝日ってDBかファイル持ちだち思うんだ

134:デフォルトの名無しさん
08/02/11 23:06:09
>>132
それなら自分でMap持てば済む話じゃないの?

135:デフォルトの名無しさん
08/02/12 00:59:23
JavaBeansの仕様で質問です。
String a_1 = null;
というフィールドがあった場合、仕様として正しい
geterは
getA_1なのでしょうか?

136:デフォルトの名無しさん
08/02/12 01:09:58
逆に考えるんだ
「get,set,isに続くものをプロパティ名とする」と
フィールド名は関係ない

137:デフォルトの名無しさん
08/02/12 01:27:58
質問です。

クラス名や変数名に「hoge」という文字が頻繁に使われていますが、
なぜ「hoge」なんですか?

138:デフォルトの名無しさん
08/02/12 01:32:23
>>137
ほげを考えるページ
URLリンク(kmaebashi.com)

139:デフォルトの名無しさん
08/02/12 01:34:19
そんなググれば出てくるような質問を
テレビのイの字と同じようなものだよ

140:デフォルトの名無しさん
08/02/12 01:44:56
javamailを使ってメールの複数送信をしようと思います。
送信先をXMLデータベースから抜き出してループさせたいのですが,
internetaddressクラスの配列使用の場合と
SAXとの組み合わせ方が今ひとつわかりませんのでどなたか解説お願いします。



141:デフォルトの名無しさん
08/02/12 02:19:43
>>138
つまり、名前をつけるのが面倒なときにつけるんですね?
ありがとうございました

142:デフォルトの名無しさん
08/02/12 03:48:51
初歩的なことなんですが、
javaプログラムから新たなテキストファイルを作成するにはどうすればいいのでしょうか?
ファイル作成のためのクラスとかありますか?

143:デフォルトの名無しさん
08/02/12 03:50:55
FileWriter

144:142
08/02/12 04:19:25
>>143
FileWriterで書き込んだりReaderで読み込んだりすることは出来るのですが、ファイルを作成することが出来ないんです。
具体的には、絶対パスではなく自分より二つ上の階層に新しいテキストファイルを作成したいのですが、
ネットで調べてもファイルへの読み書きの仕方しか出てきません。

145:デフォルトの名無しさん
08/02/12 04:25:32
作成したいファイル名で new FileWriter("../../hoge.txt") すれば勝手にできる。
例外が発生するって言うならその例外の意味を調べろ。

146:142
08/02/12 06:47:29
>>145
FileWriterで作成までしてくれるとは知りませんでした。
ありがとうございました。

147:デフォルトの名無しさん
08/02/12 09:41:05
>>135
getterですよ

148:デフォルトの名無しさん
08/02/12 14:05:33
現在メニューバー作成のためにサンプルプログラムを動かそうと
してるんだがコンパイラは通るんだがappletviewerが起動しない・・・。
コンパイラが通る時にMenuFrame2.classと同時に
MenuFrame2$1.class(プログラム中に記載はされてない)
という謎物ができるんだがこれが原因なのか?

↓とりあえずサンプルプログラム
URLリンク(www.dotup.org)
Passはjava

149:デフォルトの名無しさん
08/02/12 14:15:07
>>148
それアプレットじゃないじゃん
普通に java MenuFrame2 で起動してみ

150:デフォルトの名無しさん
08/02/12 14:21:45
そうなんですか。
とりあえずIP抜かせてもらいました(^^v

151:デフォルトの名無しさん
08/02/12 14:23:37
穴があったら入りたいと思ったが穴が無かったので
小さいかまくらを作った。入れなかった。
アプレットだと思ってた俺がバカでした。回答thx。

152:デフォルトの名無しさん
08/02/12 14:53:19
>>150
厨房( ´,_ゝ`)プッ


153:デフォルトの名無しさん
08/02/12 15:08:43
tes01/tes02/tes03/sample.class という階層があって、
sample.classには、package tes03; の宣言がされています。
コマンドプロンプトから実行するとき、
tes02ディレクトリからでは java tes03/sample で実行出来るのですが、
tes01ディレクトリとtes03ディレクトリから実行出来ません。
例えばtes01ディレクトリから、java tes02/tes03/sample としてもエラーが出ます。
どうすればいいのでしょうか

154:デフォルトの名無しさん
08/02/12 15:22:02
>>153
つjava -cp test02 test03/sample

155:153
08/02/12 17:17:22
>>154
ありがとうございます!無事実行できました。

156:デフォルトの名無しさん
08/02/12 17:28:24
JDBCでテーブル一覧を取得したいんですが、
どうやったらいいのでしょうか?

157:デフォルトの名無しさん
08/02/12 18:00:54
Connection#getDatabaseMetaData()

158:デフォルトの名無しさん
08/02/12 18:23:28
JNI で質問なんですけど、C/C++ から呼んだ Java のメソッドで new で確保したオブジェクト
返した場合、JNI でそのオブジェクト参照してても GC の対象になるよね?

public byte[] foo(){ new byte[1024]; }

jobject value = env->CallObjectMethod(clazz, method);

159:デフォルトの名無しさん
08/02/12 19:02:54
>>158
ネイティブメソッドから返るまでは掴んだまま
返れば GC の対象になる
明示的に放したい場合は DeleteLocalRef を呼ぶ

160:デフォルトの名無しさん
08/02/12 19:26:36
おまいら親切過ぎる
職場の上司もこんな優しく教えてくれたらなぁー

161:デフォルトの名無しさん
08/02/12 20:37:22
Threadのrunメソッドに引数を渡すことは出来ないんでしょうか?
スレッドを複数作成してそれぞれのスレッドに異なる情報を渡して違った処理を実行させたいのですが。

162:デフォルトの名無しさん
08/02/12 20:54:41
メンバ変数に持たせときゃいいじゃん

163:デフォルトの名無しさん
08/02/12 21:46:47
>>159
そうなんですか。Java VM が参照見失うかと思ったんですがそうではないんですね。
ひょっとして env->NewByteArray() とかもちょあんt

164:デフォルトの名無しさん
08/02/12 22:00:56
お前のほうが色々見失っているよ

165:デフォルトの名無しさん
08/02/12 22:26:02
「うまいこと言った!」



そう考える 164 であった。

166:デフォルトの名無しさん
08/02/12 22:46:48
馬鹿っぽい質問だけど
インスタンス変数はよくprivateにするのに
クラス変数はどうしてpublicばっかなの?
private static 〜 なんてのはあまり見ない気がする

167:デフォルトの名無しさん
08/02/12 23:29:05
スコープについて学べ

168:デフォルトの名無しさん
08/02/12 23:31:36
>>160
プロとしての自覚を持て
先輩の何十分の1程度の生産性しか出せないくせに
給料は同じくらいもらってんだろ?

169:デフォルトの名無しさん
08/02/12 23:36:06
普通後輩の方が安いはずなんだが

170:デフォルトの名無しさん
08/02/12 23:38:56
何十分の1なのか?w

171:デフォルトの名無しさん
08/02/12 23:40:45
>>169
>>168の書き込みなんて気にすんなw

172:デフォルトの名無しさん
08/02/12 23:44:24
先輩になっても給料変わらん会社にお勤めなんじゃないのか。

173:デフォルトの名無しさん
08/02/12 23:46:37
>>169
おまいも経験積んだら、高い生産性出せるようになるさ

174:デフォルトの名無しさん
08/02/12 23:48:26
今できない香具師はずっとできない希ガス

175:デフォルトの名無しさん
08/02/12 23:55:03
>>169は管理職で残業代出る後輩のが手取りは多い、とか。

176:デフォルトの名無しさん
08/02/12 23:59:00
>>175
それはありそうだな
生産性が低ければそれだけ残業するしな


177:デフォルトの名無しさん
08/02/13 00:12:03
30過ぎて月給25万の俺を慰めてくれよ

178:デフォルトの名無しさん
08/02/13 00:39:15
愚痴るならマ板池

179:デフォルトの名無しさん
08/02/13 00:56:10
25万ももらえば十分だろ
贅沢言ってんじゃねえよカス

180:デフォルトの名無しさん
08/02/13 00:57:54
import,例外処理は省略します
public class ComServer{
private ServerSocket sock; private Socket client;
public final static int portNo = 10500; private BufferedWriter writer;
private BufferedReader reader; private String msg = null;
ComServer() init();
void init(){
if(sock == null){
sock = new ServerSocket(ComServer.portNo,1);
client = sock.accept();
client.setKeepAlive(false);
System.out.println("Client connected");
}
if(reader == null) reader = new BufferedReader( new InputStreamReader(client.getInputStream()));}
String receive(){
if(reader == null)init();
String msg = null;
msg = reader.readLine();
return msg;
}
class s extends Thread {
private BufferedWriter writer;
private String msg;
s(String masg)this.msg = masg;
if(writer == null) writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
public void run(){
writer.write(msg,0,msg.length());
writer.flush();
}}}
すいません。たぶん根本的な間違いとおもいますがエラーがでてコンパイルできないです
申し訳ないですがバグを見つけてもらえないでしょうか?おねがいします. 環境はeclipse3.3.1.1 jre1.6.0_03です

181:デフォルトの名無しさん
08/02/13 01:11:43
いやだ。

182:デフォルトの名無しさん
08/02/13 01:13:59
>>180
エラーどこ、main どこ。クラスの先頭は大文字で。
eclipse ならエラーの対処方法も出るでしょうに。

183:デフォルトの名無しさん
08/02/13 01:14:28
>>180
問題点の候補はコンパイラが見つけて教えてくれてるだろ
エラーメッセージを読んで理解しろ

184:デフォルトの名無しさん
08/02/13 02:23:07
reader = new BufferedReader(new FileReader("./hoge"));
で実行ファイルと同じディレクトリのファイルを読み込むGUIアプリを作っているのですが、
実行ファイルが置いてあるディレクトリとは別のディレクトリのファイル(例えばデスクトップ)を引数に
そのアプリを立ち上げると
カレントディレクトリが
C:\Program Files\Common Files\System\MAPI\1041\nt\
と、よくわからないディレクトリになります。
何ででしょうか?

改善するためには、実行ファイルが置いてあるディレクトリを基点に
ファイルを読み込むようにすればいいと思うのですが
そのディレクトリを取得する方法がわかりません。
どうすればよいでしょうか?

185:デフォルトの名無しさん
08/02/13 02:31:52
そんな方法はない。
固定ファイルならリソース使え。設定ファイルなら Preferences 使え。

186:デフォルトの名無しさん
08/02/13 10:35:03
java.class.pathをとって、自分で探索していけば分かるかもしれない。

187:デフォルトの名無しさん
08/02/13 11:28:43
>>180
さらっと見ただけだが、

>ComServer() init();

こんな構文ないだろう

188:デフォルトの名無しさん
08/02/13 11:40:54
>>180
コンパイル出来ないのはバグじゃない。
なんでもバグで片付けようとするなよ馬鹿。

189:デフォルトの名無しさん
08/02/13 12:05:05
>>184
Mainクラスにmain()があるとして、

URL url = (new Main()).getClass().getResource("Main.class");
String dir = url.toString();

みたいなかんじでどう?
jarから起動のときはそこからちょっと処理しないといけないけど

190:デフォルトの名無しさん
08/02/13 12:27:21
Graphicsを画像保存したいのですが
GraphicsオブジェクトからImageオブジェクトに変換できますか?


191:デフォルトの名無しさん
08/02/13 13:20:15
>>190
BufferedImageに描画するようにして、それを保存したらどうよ?

192:デフォルトの名無しさん
08/02/13 13:20:21
>>190
BufferedImage image = new BufferedImage(1000, 1000, BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
好きなように g に描く
g.dispose();
image げっと!

193:デフォルトの名無しさん
08/02/13 20:09:53
明解Javaとかいう本、糞すぎる
前半はいいとして後半がめちゃくちゃ
結城さんのプログラミングレッスンのほうがはるかに信頼できるわ

194:デフォルトの名無しさん
08/02/13 20:12:10
悪かったな。じゃあおまえが書けよ。

195:デフォルトの名無しさん
08/02/13 20:59:44
例外オブジェクトって何ですか

196:デフォルトの名無しさん
08/02/13 21:00:30
明解Javaって糞本なのか?
持ってないから解らんがw

197:デフォルトの名無しさん
08/02/13 21:09:19
Java SE なんてどの本も同じだろw
つーかネットの連載とかで十分だし
本を糞と評価する奴が頭悪いだけって方が多いよな

198:デフォルトの名無しさん
08/02/13 21:10:38
TeX で組んでない技術本は総じて糞。

199:デフォルトの名無しさん
08/02/13 21:11:39
オライリは頑張って買ったw
英語版はつらいから日本語版待ってOrz..

200:デフォルトの名無しさん
08/02/13 22:11:16
いみふ

201:デフォルトの名無しさん
08/02/14 00:20:11
oh jesus
my jesus
I pleded my heart

202:デフォルトの名無しさん
08/02/14 00:20:46
>>197
おまえ生意気だな
口の利き方に気をつけろよ
誰に話してると思ってんだ?
知らぬが仏とはいうがたいがいにしとけよ

203:デフォルトの名無しさん
08/02/14 01:40:52
byte[] b;
int i;

//DoJa5.1がコンパイルエラー
try {
byte[] b = new byte[1000];
i = b.length;
} catch(Exception e) {
System.out.println("" + i + e);
}

//DoJa5.1がコンパイル成功
try {
byte[] b = new byte[1000];
i = b.length;
i = 5; //なぜこれを書くとコンパイルが成功するんですか?
} catch(Exception e) {
System.out.println("" + i + e);
}

204:デフォルトの名無しさん
08/02/14 01:55:04
て言うかそもそも b を二回定義してるのがおかしい気が…

205:デフォルトの名無しさん
08/02/14 02:10:55
>>195
検索で大体意味はつかめると思うのだが…

まぁ、言語規定によると「オブジェクトは、クラスのインスタンス又は配列」とある。
当てはめると、「例外クラスのインスタンス又は例外配列」ということになる。

そもそも、オブジェクトを配列の意味で使ってる文は少ないし、
例外は配列としないことが普通だろう。として限定すると、前者の意だろう。

>>203
エラー詳細も張らずに質問とな?

206:デフォルトの名無しさん
08/02/14 02:17:23
>>203
try節の中でbを二重定義しているのはおいておいて、
i=5;をそこに書いてもコンパイルに成功しない気が。
上が失敗するのはi=b.length;を評価する前に例外が発生して、
catch節に飛んでしまう可能性があるから、
その場合はiが初期化されていないのでコンパイルエラーを起こす。
int i;の段階でint i=0;とかで初期化すればエラーは出ないはず。
動作として正しいかどうかは別として。

207:デフォルトの名無しさん
08/02/14 03:40:30
>>204,>>206
2重定義でした。ありがとうございました。

208:デフォルトの名無しさん
08/02/14 03:44:59
そっちかよw
でもiの未初期化でもエラーが起こらなかった?

209: ◆xkgLgN/H4.
08/02/14 10:24:06
Sun認定Javaプログラマの試験対策問題集で納得できない部分があったので
質問させてください。

----------

問:アサーションの使用方法として適切なものを選びなさい。

【A】
public void method(int data) {
  assert data < 0: "dataが負数";
}

【B】文法間違いなので割愛

【C】
public void method(int data) {
  assert check(data): "checkメソッドがfalseを返した";
}
private boolean check(int data) {
  if (data < 0) {return false;}
  return true;
}

続く...

210:209 ◆xkgLgN/H4.
08/02/14 10:25:50
...続き

【D】
public void method(int data) {
  boolean checked = check(data);
  assert checked: "checkメソッドがfalseを返した"
}
private boolean check(int data) {
  if (data < 0) {return false;}
  return true;
}

正解は【D】なのですが、その解説が

【A】publicなメソッドの引数チェックをアサーションで行うのは不適切
【C】デバッグ時のみ使用し本番では使用しなくなるアサーションで
   メソッドの呼び出しを行うのは不適切
【D】内容は【C】と同じだが、メソッドの戻り値を変数へ格納し、その変数を
   アサーションでチェックしているので適切

というものでした。
【C】も【D】も「publicなメソッドの引数チェックをアサーションで行うのは不適切」に
該当する感じがして納得できないのですが、どう考えるべきですか?

また、【C】の解説が言わんとすることは、
アサーション有効時と無効時で呼び出されるメソッドが違う等の条件の違いがあっては
デバッグ作業として良くない
ということでOKですか?

よろしくお願いします。


211:209 ◆xkgLgN/H4.
08/02/14 10:31:18
訂正
【D】のassert行の末尾にセミコロンが抜けてました。
本来はセミコロンは付いています。

212:デフォルトの名無しさん
08/02/14 10:44:59
Eclipseで製作したプロジェクトをjarファイルにエクスポートする際、
ImgaIconに使った画像や、プラグインとして使用したjarファイルが
含まれずに生成されてしまいます。どうすればよいでしょうか?


213:デフォルトの名無しさん
08/02/14 10:50:09
>>210
しょせん試験なんてそんなもの。
問題作ったやつがアホだったんだろう。

214:デフォルトの名無しさん
08/02/14 10:54:36
>>209
あら、俺は【C】で書いてるよ・・・。

215:デフォルトの名無しさん
08/02/14 10:54:40
long a,b;

aとbを比較したいのですが、a<bではダメなのですか??

216:デフォルトの名無しさん
08/02/14 10:55:33
>>212
jarにエクスポートするとき、含めるファイルと含めないファイルを選択できると思うが
含めたい画像ファイルやjarファイルにチェックマークを付ければいいんでないか

217:デフォルトの名無しさん
08/02/14 10:56:05
>>215
a<bでいいよ

218:デフォルトの名無しさん
08/02/14 11:00:01
>>216
その際、srcフォルダの.javaにはチェックボックスが現れるのですが、
画像やプラグインには現れませんでした
別に設定すべき箇所があるのでしょうか?

219:デフォルトの名無しさん
08/02/14 11:00:32
>>217
それですると
Exception in thread "main" java.io.IOException: Bad file descriptor
でてくるんですけど・・・。

220:デフォルトの名無しさん
08/02/14 11:05:23
>>219
long値a,bの比較は a < b の形式で問題ない。
その周辺のコードが悪いんだろうよ。

221:デフォルトの名無しさん
08/02/14 11:06:37
>>219
longの比較でIOExceptionが出るわけないだろうと思うが・・・
スタックトレースは?

222:デフォルトの名無しさん
08/02/14 11:13:12
>>220.221
すいません、正確には
RandomAccessFile bin1 = new RandomAccessFile(new File(FileName1),"r");
RandomAccessFile bin2 = new RandomAccessFile(new File(FileName2),"r");

if(bin1.length()>=bin2.length())
c=bin2.length();
if(bin1.length()<bin2.length())
c=bin1.length();
としており、long型のcに短い方のファイルサイズをいれたいのです。。
この部分に問題があるのは確かなのですが・・。


223:デフォルトの名無しさん
08/02/14 11:32:53
>>218
ビルドパスに入ってるjarファイルは出ないみたいだけど、画像はなんだろう・・?
ところで、jarにjarを含めても読み込めないよ
そういう場合はFatJarプラグインを使うといいかもしんない

224:デフォルトの名無しさん
08/02/14 12:01:55
jconsoleのリモート接続ができないのですがどんな理由が考えられますでしょうか?
接続対象の環境は
Windows2003
Java HotSpot(TM) Server VM バージョン 10.0-b19
VM引数として
-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
を設定しています。
接続元からportqryコマンドで8888がLISTENING状態になっているのは確認済みです。

225:デフォルトの名無しさん
08/02/14 12:49:51
>>209
CとDとの違いは、Assertionを有効にしない実行時にcheckメソッドが通るか否かという点は理解できているな?

これは試験用のサンプルだからわかりにくいけど、
int result = dao.update(entity);
assert result == 1;
というサンプルならばCはNGでDがOKと解るだろう。
わざわざcheckというメソッドで引数をチェックさせているのは意地悪な引っ掛けだね。

226:デフォルトの名無しさん
08/02/14 12:55:32
>>225
俺は、A を却下してる時点で、C や D も却下されるべきだと思うな。
assertion 使わずに、変な引数にもちゃんと対応しろって言ってるように見えるのに、
C と D のどちらもそのガイドラインに沿っていない。

227:225
08/02/14 12:56:28
追記
>213
アホはお前。
「アサーションの使用方法として適切なもの」であるから、CDは「publicメソッドで引数チェックのやり方は不適切」だがアサーションの使用方法に関してはDが正しい。

228:デフォルトの名無しさん
08/02/14 12:58:14
>>222
その先何をやるのかわからないけど、必要なければ RandomAccessFile を使わない方が無難。
native なメソッドで追跡不能。例えば、ファイル長なら File.length でも可。

229:デフォルトの名無しさん
08/02/14 13:10:20
int型配列の最大要素数はどんだけ?

230:デフォルトの名無しさん
08/02/14 13:21:33
>>229
言語規定によると…
> 配列は,int値によってインデクス付けしなくてはならない。
で、int型の最大値 (Integer.MAX_VALUE) は 2,147,483,647 なので、要素数はその -1 まで。

231:230
08/02/14 13:27:25
自己レス。
要素数が最大値でインデクス値が最大値-1。かな…
まぁ、確保した時点で普通は OutOfMemoryError かと。

232:デフォルトの名無しさん
08/02/14 13:32:03
>>230
ありがとうございます。十分な量です。

233:デフォルトの名無しさん
08/02/14 14:24:53
Jakarta Projectスレがなくなっていたのでスレを立てた

Apache Jakarta Project関連統合【Java】
スレリンク(tech板)

234:デフォルトの名無しさん
08/02/14 16:12:12
質問です。

現在、mainクラスのガベージコレクションを、
多重継承されたインスタンスからコントロールしています。

ただ、Heap領域にアクセスする場合について、
そのコレクションフレームワークからマルチスレッド化させると、
ローカルにremoveしようとしても同期的な排他制御が取れません。
やはりラッパークラスのプリミティブ型は、エレメントのイテレータもhasNext()メソッドもどきで
volatile修飾子のシリアライゼーションをさせるのが絶対条件なのでしょうか。

ちなみに、もしコマンドライン引数によってJava.langのStringBufferまでimportしたとしても、
SetインターフェースのisEmptyメソッドにするとなぜかStackOverflowErrorの例外が発生します。
staticなyield()メソッドを汎用させるため、
throwsで例外ハンドラをコンストラクタなアサーションをしているのですが・・・。

C言語が腐るほど考えたのですが、
バイナリでのファイル操作がなかなかまとまらないため質問した次第ですので、
どうかお答えお願いします。

235:デフォルトの名無しさん
08/02/14 16:15:02
不覚にも吹いたw
プログラミングを何も知らない初心者が見たら、
めちゃくちゃ高度なことに見えるんだろうなぁ

236:デフォルトの名無しさん
08/02/14 16:22:04
未消化な単語ばかり並べてるけど、まあ初心者板なのだから。
やりたいことを自分の言葉やコードで示せば回答もあると思うよ。

237:デフォルトの名無しさん
08/02/14 16:32:42
スイーツ(笑)

238:デフォルトの名無しさん
08/02/14 16:33:08
>>234
まず、「てにをは」だけでも見直してみたらどうか?

239:デフォルトの名無しさん
08/02/14 16:36:31
まるで自動生成したかのような意味の通らなさだ

240:デフォルトの名無しさん
08/02/14 16:38:26
釣られてみる。
多重継承 :無理
GCのコントロール:原則としてできない
Heap領域にアクセス:??
ローカルにremove:??
ダメだ、突っ込みようもないわ

241:デフォルトの名無しさん
08/02/14 18:22:37
JLabelのpaintComponent(Graphics g)をオーバーライドして、
中でg.draw(new Line2D.Double(x, y))

とやると直線が引けました。
この直線を半透明にグラデーションさせたいのですが、どのようにするのがよいでしょうか?


242:デフォルトの名無しさん
08/02/14 18:29:49
AGGへのラッパーを書く。

243:デフォルトの名無しさん
08/02/14 19:22:35
>>222
小さいほうの値を選ぶだけなら static long Math.min(long, long) を。(if文を消せる。

244:デフォルトの名無しさん
08/02/14 19:56:19
>>241
GradientPaint と AlphaComposite を調べろ

245:241
08/02/14 20:19:12
ありがとうございます。
とりあえず直線はおいておくことにして、任意のShapeについて半透明グラデーション
させられるかを考えることにしました。

AlphaCompositeを利用すると一様にアルファ値が適用されてしまうようです(当たり前ですね)。
これを徐々に変化させるような処理というのはどういうプロセスになるのでしょうか・・・

かなり考えたのですが、すみません、ヒントいただけませんか?

246:デフォルトの名無しさん
08/02/14 20:30:35
少し描画して変更して、また少し描画する、あとは適当なタイミングになるように工夫して繰り返せ

247:デフォルトの名無しさん
08/02/14 20:48:02
ああ、少しずつ描画すればいいわけですね。
このY座標までは0.6fで、次からはもっと薄く・・・とか。
ありがとうございます。

しかし、タイミングって関係あるんでしょうか?
ひょっとして「徐々に」というのが時間的に捉えられてたとか・・・
すみません。これは距離的にということでした。

248:デフォルトの名無しさん
08/02/14 21:12:25
GradientPaintとか

249:デフォルトの名無しさん
08/02/14 22:41:53
速度が与えられれば時間的≒距離的だろう。
中学生レベルの理科か算数の話じゃねーか

250:デフォルトの名無しさん
08/02/14 23:09:02
>>244のヒントであとは自力でできないようなら他のことを教えられてもできそうにない
あきらめたほうがいい

251:デフォルトの名無しさん
08/02/14 23:31:23
いや、速度とか言ってるけど何か動かすような話じゃないと思うよ。
要するに図形を半透明にグラデーションさせたいわけだろ?
領域の面積で考えれば済む話じゃないか。しかももう判りかけてるみたいだし。

>>249,250はもうちょっと考えた方がいい。

252:デフォルトの名無しさん
08/02/15 00:14:39
「釣られて見る」 と宣言すればネタに無粋な突っ込みして許されるってもんでもないぞ。

253:デフォルトの名無しさん
08/02/15 00:25:57
すいません、質問です。
ゲームを作っているのですが、方向キーを押したときに画像が
切り替わるようにするにはどうしたら良いでしょうか。
歩いているように見せたいんです。
現在、方向キーを押すと画像が動くようにはできています。
分かりにくかったらすいません。

254:デフォルトの名無しさん
08/02/15 00:29:46
10個以上も上のやつのネタに突っ込みするんだからレス番ぐらいつけなきゃ無粋なんじゃ?

255:デフォルトの名無しさん
08/02/15 00:33:10
>>253
普通に描画するだけなんじゃ?
ていうか質問の件よりは動かすほうが難しいと思うんだが

256:デフォルトの名無しさん
08/02/15 00:33:24
ふと思ったんだが
やっぱり、strutsよりJSFの方が良くないか?

257:デフォルトの名無しさん
08/02/15 00:34:11
Struts が良いものと思ってる奴なんて居るのか?

258:デフォルトの名無しさん
08/02/15 01:14:43
>>255
キャラが左右に滑るだけでまだ手足が動かないということなんじゃ?

259:253
08/02/15 01:23:33
>>258
そういうことです。いいクラスライブラリがあるのでしょうか?

260:デフォルトの名無しさん
08/02/15 01:36:05
JSF って JSTL と何か違うの?

261:デフォルトの名無しさん
08/02/15 01:36:47
>>259
座標を適当な数で割った余りによってキャラを切り替えていくというのは?

262:デフォルトの名無しさん
08/02/15 01:37:17
何を考える余地があるんだ?
ちょっと考えたほうがいいのは241だろ
アルファ値込みでグラデーション設定したGradientPaintをsetPaintで設定したグラフィックコンテクストを使って
drawなりdrawLineなりで直線引けば終わりじゃないか
>>244でGradientPaintってヒントが与えられてるのに
AlphaCompositeで一様にしかアルファを設定できないって言ってるやつが変

263:デフォルトの名無しさん
08/02/15 01:44:13
GradientPaintで力不足ならAPIドキュメントでGradientPaint周りをぶらつけばLinearGradientPaintとかにも行き当たる

264:195
08/02/15 01:47:42
>>205

激しく遅レスでごめんなさい。

言葉足らずだった、というか話が長くなる予定だったので最初は簡単に意向と思ったというか。

Java(というかJVM?)でも、普通にメソッドを呼び出すと引数とかリターンアドレスとか
ローカル変数とかをスタックに積んでいくんだと思うんですよ。

でも呼び出し先で「例外」投げると呼んだメソッドへのリターンではなくって、
メソッド呼び出しを含むtry節に対応したcatchのところに(しかも例外の種類にあったcatchのところ)へ
一足飛びに戻ってくるわけですね。

そしてそこでキャッチした例外のインスタンスには、
そこから上のスタックがごそっと詰まっているように見えるわけです。

そんなこんなで、tryを実行するとJVMがどっかにcatchのアドレスと例外の型を保存していて、
呼び出し先のどこかで「例外を投げる」を行うと、スタックをこれまたどこかに保存したうえで、
もともと保存してあったcatchのアドレスにまで一足飛びにジャンプして、というのを考えると、
それというのはGotoなんかよりよっぽどたち悪くないか、なんて思ったりするんですけど、
それでも例外は使うな、なんて話は別に聞かないですし、そんなもんかとも思うんですが、
例外処理書くときにもやもやするのは確かなのです。

そういう例外処理機構がくわしくわかるようなWebとかないでしょうか。

265:デフォルトの名無しさん
08/02/15 01:49:02
名前空間付きの XML (DOM) に対して:

<foo xmlns:xsi="URLリンク(www.w3.org)"
  xmlns="URLリンク(foo-uri)<) foo.xsd">
<bar>...</bar>


XPath でノードを参照してみたんですけどノードと一致しません。

NodeList nl = (NodeList)xpath.evaluate("/foo/bar", doc, XPathConstants.NODESET);
// nl.getLength() == 0 になる

XML から名前空間の指定を取り除くと一致するため、検索時にパスの名前空間が考慮されてない
動きだと思うのですが、XPath に名前空間を意識させるにはどうすれば良いでしょうか?

DOM を構築するときにファクトリへ setNamespaceAware(true) は行っています。

266:デフォルトの名無しさん
08/02/15 01:49:30
>>256
Feedaのほうがいい

267:デフォルトの名無しさん
08/02/15 02:01:33
先ほどスレ立てるまでもない質問スレで質問させてもらったんですが、板違いってことで
こちらで再度質問させてくださいまし。

一昨日からずっとこの問題を考えているのですが、基礎知識があまりに不足していて全くわからないで困っています。
プログラムに詳しい方いましたら長いですが完全解答を導き出していただけませんでしょうか?
以下に掲げたおこずかい帳プログラムの説明を書きなさい。ただし、書き方は次の例
を参考にすること。<form name=f><input type=text name=i value=""><input type=button value="偶奇判定" onClick="check()"></form><script>function chech()
{var a=Number(document.f.i.value);a=a+1;if(evenp(a)) alert("偶数");else alert("奇数");}function evenp(a){return a%2==0}</script>
【説明例】formタグとinputタグによって、画面にテキスト文字表示窓と偶奇判定用のボタンを表示。この際、ボタンをクリックした時、関数check()を呼び出すように設定する。
関数checkは、テキスト文字窓から入力された値(document.f.i.value)を関数Numberによって数値に変換し、これを変数aに代入する。ついで、aの値を1増やし、関数evenpによって変数aの
値が偶数か、奇数か判別し、偶数の時は"偶数"、奇数の時は"奇数"とalertウィンドウに表示する。関数evenpは、与えられた値(a)が偶数かどうか判別(aを2で割った余りが0かどうかで判定)し、結果(trueかfalse)を返す。


268:デフォルトの名無しさん
08/02/15 02:12:47
何だこれ?
読む気しねえ

269:デフォルトの名無しさん
08/02/15 02:13:55
>>267
板違い
Web 作成板池

270:265
08/02/15 02:40:39
XPath の表記に接頭辞付けて、その接頭辞に対する URI (XML のと同じ URI) を返す
NamespaceContext サブクラス作らなきゃいけないみたいですね。

271:デフォルトの名無しさん
08/02/15 03:14:39
>>267
板違いって言われてなお同じ板の別スレに投げるとは
web制作板へ行ってもそのままじゃ誰も読んでくれんぞ
あっちの板で質問するときはせめて改行を入れろ
長くなるようならうpろだにあげろ

272:デフォルトの名無しさん
08/02/15 03:42:55
>>264
お察しの通り、例外が発生した際の手順は見かけ以上に多く、議論の的になります。
例外を使う場面に関する検索キーワードとしては「java 例外 コスト」などでしょうか。

条件分岐目的で例外を発生させる書き方は、好まれていないように思えます。
instanceof とキャストと例外の話も面白い。

273:デフォルトの名無しさん
08/02/15 05:59:57
httpclientを使用してログインが必要なサイトにアクセスしたはいいものの
リダイレクトされて、html情報を取得できません。。。

ググってもリダイレクト先のURLを取得する方法がわかりませんー!
どなたかご存じありませんか><

274:デフォルトの名無しさん
08/02/15 06:04:52
Location ヘッダを取れ。
つかリダイレクトを自動処理する設定くらいないのか。

275:209 ◆xkgLgN/H4.
08/02/15 09:06:24
>>213-214,225-227
レスありがとうございました。
メソッドの事後条件チェックにアサーションを使用した例と
考えることにします。
引数チェックに見えるのが腑に落ちないですが、
そこは問題作成者の思いやりが足りなかったと思うことにします。

276:デフォルトの名無しさん
08/02/15 11:39:42
>>264
処理の重さが気になるって話なら、実際に例外が発生しない限りほとんどノーコストなんだし、
実際に例外が発生した場合にコストが高いのは、まぁエラー発生時のみだからと割り切る。

gotoっぽくてイヤって話なら、returnでエラーコード返す処理を連ねてくのに比べればマシかと。

277:デフォルトの名無しさん
08/02/15 12:30:20
paint(Graphics g)やupdate(Graphics g)のgの部分を他のクラスから使う方法はありますか?

今はエラーを表示するだけなのに、

paint(Graphics g){
 test(g);
}

test(Graphics g){
 ………
 tset_error(g);
}

test_error(Graphics g){
 g..drawString("エラーがでたよ",0,0);
}

こんな感じの入れ子が数段連なってます。
なんだかガベージコレクトも頻発してるみたいなのでGraphics gを無くしたいのです。

278:デフォルトの名無しさん
08/02/15 12:33:26
根本的な使い方が間違っていると思われ

279:デフォルトの名無しさん
08/02/15 12:38:47
エラーに限らずほとんどのクラスにGraphicsが付いてるんですよ。
なんとかしたいでつ(>_<)

280:デフォルトの名無しさん
08/02/15 12:52:03
作ったやつに氏ねと言ってくれ

281:デフォルトの名無しさん
08/02/15 12:57:06
>>277
設計を見直すべきかと
paintの中で描画以外の処理をやってないか?
paintでは描画に集中し、ほかの事はやらない

設計に問題がないのなら、gを渡すのは仕方ない
あとガベージコレクションはgを渡してるのとはおそらく関係ない

282:デフォルトの名無しさん
08/02/15 13:11:25
>>281
Graphicsの入れ子はガベージコレクト的に問題ないと言うことですね。それを聞いて安心しました。
ということはImageや整数配列の入れ子が問題なのかな。

Cみたいな参照変数になってるのか、なってないのかがよく分からなくて。

283:デフォルトの名無しさん
08/02/15 13:22:23
Javaには参照渡ししかない。

284:デフォルトの名無しさん
08/02/15 13:22:26
直線のデータをdに入れます。
dは配列です。1次元目が開始位置、2次元目が終端です。
1次元目、2次元目がそれぞれx,yの座標を持っているので、
int d[][]型です。
int d[][] = new int[2][2];
配列dのメモリ確保はこれでよいですか?
C言語のようにd = new int[2]を実行してから、2次元目はforで回しながら
newしなくてはならないのでしょうか?

285:デフォルトの名無しさん
08/02/15 13:23:32
ごめん、うそついた。
Javaの変数は、オブジェクトについてはすべて参照。
引数はすべて値渡しだが、オブジェクト自身を渡すことはできない。

286:デフォルトの名無しさん
08/02/15 13:26:54
>>284 URLリンク(www.javaroad.jp)

287:デフォルトの名無しさん
08/02/15 13:52:34
>>285
試してみたら、Imageはコピーでした。Graphicsは参照。
全部試してみればよかったんだね。

288:デフォルトの名無しさん
08/02/15 15:39:04
java3級 落ちてきたオイラに一言。

289:デフォルトの名無しさん
08/02/15 15:46:37
java3級ってなに?

290:デフォルトの名無しさん
08/02/15 16:12:36
サーティファイか

291:デフォルトの名無しさん
08/02/15 17:14:19
propertiesファイルで

firstname = taro
lastname = yamada
fullname = ${lastname} ${firstname}

みたいなことって無理ですか?

292:デフォルトの名無しさん
08/02/15 17:44:10
>>234
なんか、完ぺき主義者みたいだな。
ところどころで主語や目的語が抜けて凄いな。
何を多重継承したのかわからんし、何をどのようにコントロールしているのかもわからない。
5W1Hがなっていないというか。

293:デフォルトの名無しさん
08/02/15 18:17:48
>291
無理

294:デフォルトの名無しさん
08/02/15 20:22:43
anko1;;あんこ
anko2;;あんこ2

このような形式の辞書ファイル(100MB)を
ランダムアクセスファイルで分割してメモリに読み込み
検索する辞書検索プログラムを作っているのですが
検索はできるのですが、かなり時間がかかり困っております

ハッシュ系のコレクションフレームワークを使えとヒントをもらったのですが
100MBのデータをハッシュ化すると当然メモリがたりなくなりました

大量のデータをハッシュで高速に検索する方法をおしえていただけないでしょうか





295:デフォルトの名無しさん
08/02/15 20:28:00
>>292
KY

296:デフォルトの名無しさん
08/02/15 20:31:16
>>294
メモリ増設
てか、ヒープを256MBくらいにすればいいだろ

297:デフォルトの名無しさん
08/02/15 20:34:56
>>294
普通にデータベース使え。
それが嫌ならその辞書ファイルにインデックスでも付けろよ。

298:デフォルトの名無しさん
08/02/15 20:49:22
SAX パーサに Schema やなんかの Validator が設定できないみたいなんすけど
解析しながら ヴァリデーション ができるようには作れないんでしょうか。

299:デフォルトの名無しさん
08/02/15 21:29:55
>>294
他の人も書いてるけど、
普通にJavaDBでEmbeddedでやれば何も考えずに楽勝だと思うんだけど。

辞書ファイルがテキスト形式絶対でも
nioだったらヒープ外にバッファが取られるから
それほど遅くならんと思うがなぁ。
コマンドライン引数指定はしないとまずいし、今やってないかもしれないしなぁ、
どの程度のレスポンスで遅いって言ってるか解らないし。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4255日前に更新/275 KB
担当:undef