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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2005/12/22(木) 11:12:49
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

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

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。
・内部クラスから外部クラスのローカル変数は使えない。他の方法を考えろ。

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

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

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

次スレは>>980あたりでお願いしまする。

0951デフォルトの名無しさん2006/01/10(火) 22:22:26
もちのろん
0952デフォルトの名無しさん2006/01/10(火) 22:25:27
出来ないと思う理由ってなんだろ・・・
09539502006/01/10(火) 22:44:42
ウインドウを最小化して
元の状態に戻さないと座標が
移動しないのですがどうすればよいでしょうか?
0954デフォルトの名無しさん2006/01/10(火) 22:55:26
Update
0955デフォルトの名無しさん2006/01/10(火) 22:56:03
revalidate
09569502006/01/10(火) 23:19:54
http://aploda.org/dat1/upload410751.txt
なのですが一度見ていただけないでしょうか?
0957デフォルトの名無しさん2006/01/10(火) 23:38:33
見たよー。
0958デフォルトの名無しさん2006/01/10(火) 23:40:20
滅茶苦茶
0959デフォルトの名無しさん2006/01/10(火) 23:42:13
OK。実行してないから適当だけど、main3行目、なんで DrawingPanel を new してんの?
この DrawingPanel は DrawingFrame に追加してないから、そもそも表示すらされてないから repaint かけても無駄なのに。
0960デフォルトの名無しさん2006/01/10(火) 23:43:27
あと、『static int x=100, y=100;』 の static は削除するように努めたほうがいいよ。色んな意味で。
0961デフォルトの名無しさん2006/01/10(火) 23:45:02
このプログラムを書くほうが難しいな
0962デフォルトの名無しさん2006/01/11(水) 00:09:50
Javaで暗号化をいじっているのですが、

KeyGeneratorで作った鍵を、一度Base64にしてから復号したものを戻して
もう一度SecretKeySpecで鍵にし、
cipher.init(Cipher.DECRYPT_MODE, key);
とやると、「Parameters missing」とエラーが出てしまいます。
Base64前と復号後は同じデータになっていますし、
鍵同士をequalsしても同じと出るので、鍵自体は正しいと思うのですが・・・。

ちなみに、暗号化モードはAES/CBC/PKCS5Paddingです。
09639502006/01/11(水) 00:19:35
staticは削除しましたが
他にどうしていいかわかりませんorz
09649502006/01/11(水) 00:24:55
DrawingFrameに追加したらrepaintでいけました
こんなこともわからないなんて・・・
ホントにありがとうございました
でも書き方めちゃくちゃなんだろうなぁorz
0965デフォルトの名無しさん2006/01/11(水) 00:30:44
>>962
PBEParameterSpecを指定してないのでは?
0966デフォルトの名無しさん2006/01/11(水) 00:31:01
>>964
DrawingPanel、1枚無駄に追加してたりしてないか?
09679502006/01/11(水) 00:36:33
はい、無駄に追加していたので
共用するようにしました
0968デフォルトの名無しさん2006/01/11(水) 00:37:24
>>964
Integer.valueOf(reader.readLine()).intValue();
↓
Integer.parseInt(reader.readLine());

プロパティ(たとえば座標のx、y)は隠蔽し、
外部に対してはsetting methodを提供しましょう。

static int x, y;
↓
private int x;
private int y;

public void setX(int x) { this.x = x;}
public void setY(int y) { this.y = y;}

もしくは
setPoint(int x, int y) {
this.x = x;
this.y = y;
}
とかね
0969デフォルトの名無しさん2006/01/11(水) 00:43:15
>>950
モンテカルロ法の実装をやってるんだね
まずはpaintではなくてpaintComponentね
データをSystem.inから入力するのはあまりにも非現実的なので、
乱数による自動生成にした方がいいね
09709502006/01/11(水) 00:43:18
>>968
ありがとうございます
たしかカプセル化というものですね
いろいろ直してみます^^
0971デフォルトの名無しさん2006/01/11(水) 00:44:27
あと、次の式

x-1、y-1

これだけでは意味のわからない演算なので
メソッドにしてしまってもいいかもしれません。
0972デフォルトの名無しさん2006/01/11(水) 00:47:53
>>970
そうそう、最初はそれでいいと思うよ

いきなりよい設計なんて無理なんで、
リファクタリングして良いものにしていけば
いいんじゃないかな
そのうち身に付くよ
09739502006/01/11(水) 00:59:07
みなさんありがとうございます
少しずつですがわかってきた気がします^^
0974デフォルトの名無しさん2006/01/11(水) 01:24:51
>>965
「パスワードベースの暗号化」用とあるんですが、関係あるんでしょうか?
とりあえずやってみます。
0975デフォルトの名無しさん2006/01/11(水) 01:43:20
>>974
AlgorithmParameterSpecの実装クラスから
適切なのを選んで使ってみて
0976デフォルトの名無しさん2006/01/11(水) 02:43:14
色々調べてみたら、フィードバックモードをCBCにした時はIV(初期化ベクタ)を設定しなければならないそうで、
設定してみたら通りました。ありがとうございました。
0977デフォルトの名無しさん2006/01/11(水) 03:15:46
【サーブレットに関して】
画面からサーバに入力項目を送信する時に
<input type="text" name=... value=...>
とやるじゃないですか。
所謂入力フィールドでない部分を、送信する方法はありますか?
見た目は出力フィールドなんだけど、実は入力フィールドでもあるみたいな。

出力フィールドとして書いて、更にhiddenとして書く必要があるんでしょうか?
0978デフォルトの名無しさん2006/01/11(水) 03:25:01
入力フィールドやら出力フィールドとは何ですか?
送りたいものを自分で勝手に送ればいいんじゃないですか?
全然Java関係ないし。
0979デフォルトの名無しさん2006/01/11(水) 03:37:39
確かにJava関係なかったですね。htmlの問題です。
要はテキストフィールドの値はサーバーに送信できたんですが、
表の中身とか普通のテキストがサーバーに送信できません。
どうしたらいいですか?
ということです。
すいません。
0980デフォルトの名無しさん2006/01/11(水) 09:15:33
Java以外の質問は受け付けてないので・・・
0981デフォルトの名無しさん2006/01/11(水) 10:20:14
Appletの開発はずっとテキストエディタのみでやってきたのですが、
GUIを作るのが面倒なのでIDEを導入したいと思っています。
GUIを編集するのにオススメのIDEを教えていただけないでしょうか?
できれば日本語対応のもので。
0982デフォルトの名無しさん2006/01/11(水) 10:35:51
>>981
Eclipse+VisualEditor
【Java/C/PHP/D/他】統合開発環境Eclipse M19
http://pc8.2ch.net/test/read.cgi/tech/1131604081/1-3
0983デフォルトの名無しさん2006/01/11(水) 10:51:14
>>981
netBeans
【Java】NetBeans【Sun】
http://pc8.2ch.net/test/read.cgi/tech/1132079321/
0984デフォルトの名無しさん2006/01/11(水) 10:51:23
GUI作るならJBuilderかNetBeansのほうがいいような希ガス

0985デフォルトの名無しさん2006/01/11(水) 11:00:33
java.util.Propertiesクラス(↓)のloadFromXMLというメソッド(XML形式で書かれたpropertiesファイルを読み込む)を使用した、文字変換用のプログラムを作成しています。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Properties.html

ようやく、エラーもなく、問題無く動作する物が完成しました。(jdk 1.5.0_05)
しかし、Javaのバージョンを5.0_06に変えた途端、

java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: URI was not reported to parser for entity [document]
java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: URI was not reported to parser for entity [document]

というエラーが出るようになり、propertiesファイルが読み込めなくなってしまいました。 なぜですか?

ちなみに、propertiesファイルは次のような形式にしています。
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="変換前">変換後</entry>
</properties>
0986デフォルトの名無しさん2006/01/11(水) 11:21:21
それstoreToXMLで書き出したふぁいる?
0987デフォルトの名無しさん2006/01/11(水) 11:35:14
とりあえず、UTF-8で書き出すのが無難だと思うけど。

Charset utf8 = new Charset("UTF-8");
new OutputStreamWriter(in, utf8);
0988デフォルトの名無しさん2006/01/11(水) 13:10:05
携帯電話って、Webにアクセスする時にユーザーエージェント以外に何か情報送ってるんですか?
JAVAでそれらの固有情報を取得する方法があったら教えてください。
ログイン処理に使いたいです。
0989デフォルトの名無しさん2006/01/11(水) 13:15:37
>>978
HttpServletRequest#getHeaderNames()
でリスト取得すれば良いじゃん
0990デフォルトの名無しさん2006/01/11(水) 14:19:41
List<Double> l を double[] a に直したいんですが、どうすればいいでしょうか?
double[] a = (double[])l.toArray( new double[0] );
としても、toArrayは引数double[]に適用できませんと言われます
引数無しだとObject[]をdouble[]にキャストできないと言われますし
今までは仕方なくforで回して要素一個ずつ代入していました
0991デフォルトの名無しさん2006/01/11(水) 14:23:26
>>990
doubleはクラスじゃないからl.toArray( new double[0] )はできんよ
0992デフォルトの名無しさん2006/01/11(水) 14:42:05
>>991
丸ごと変換するような方法は提供されてないんですかね?
いちいちforで回して一個ずつ代入するのもなんだかなぁって感じなんですが
0993デフォルトの名無しさん2006/01/11(水) 14:47:57
>>992
Commons-primitivesを使ったらどうかね?
0994デフォルトの名無しさん2006/01/11(水) 15:23:45
次スレ
【初心者】Java質問・相談スレッド79【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1136960593/
09959852006/01/11(水) 15:31:55
自己解決しました。
拡張子を .properties から .xml にすることで、jdk1.5.0_06でも動作するようになりました。

>>986-987
ありがとうございました。
09969952006/01/11(水) 16:19:07
と思ったのですが、
Windowsでは>>995のやり方で正常に動作するようになりましたが、
Linuxではやはりダメでした。
エラーは出ないもののxmlファイルが認識されません。
0997デフォルトの名無しさん2006/01/11(水) 18:12:02
生め
0998デフォルトの名無しさん2006/01/11(水) 18:12:53
埋め
0999デフォルトの名無しさん2006/01/11(水) 18:13:22
梅
1000デフォルトの名無しさん2006/01/11(水) 18:14:07
1000ならあややとセクロス
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。