【初心者】Java質問・相談スレッド74【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/10/26(水) 17:30:16質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
前スレッド
【初心者】Java質問・相談スレッド73【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1129019555/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりでお願いしまする。
0153デフォルトの名無しさん
2005/10/28(金) 21:56:13コンパイルエラー
0154デフォルトの名無しさん
2005/10/28(金) 22:13:48なるほど。ありがとうございます。
JDK1.3 + Eclipse2.1で試したところ、コンパイルエラーにはなりませんでした。
JDK1.4 + Eclipse3.0で試したところ、コンパイルエラーになりました。
理由はわかりませんが、あまり意味がなさそうですね。
0155デフォルトの名無しさん
2005/10/28(金) 22:36:56○:1、×:−1として、int board[3][3]に盤面が入っているとする
左上から横方向に見た場合、すなわちboard[0][0]+board[1][0]+board[2][0]が3なら○の勝ちで−3なら×の勝ち
あとはこれを縦3パターン、横3パターン、斜め2パターンで判断すればよい
0156デフォルトの名無しさん
2005/10/28(金) 22:43:26なるほど!
ありがとうございました!早速やってみます!
0157デフォルトの名無しさん
2005/10/28(金) 22:48:09http://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#251519
> 一次式として使用される時,キーワード this は値を指示する。
http://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#5281
> 代入演算子の最初のオペランドの結果は変数でなければならない。
> そうでなければ,コンパイル時エラーが発生する。
って書いてあるから、this = null; はコンパイルエラーにしなければならない。
0158デフォルトの名無しさん
2005/10/28(金) 22:53:20https://bugs.eclipse.org/bugs/show_bug.cgi?id=38143
これだね。
0159デフォルトの名無しさん
2005/10/28(金) 23:12:19105ですが、どなたか解る方いらっしゃいませんか?
できれば画像を読み込んだ時点で回転してimageクラスに保存したいのですが。
0160デフォルトの名無しさん
2005/10/28(金) 23:23:390161デフォルトの名無しさん
2005/10/28(金) 23:27:040162105
2005/10/28(金) 23:29:49rotateも見てみたのですが、Graphicsに表示する画像全てが回転するのではなく
目的のimageだけを回転させて表示したいのですが、他に方法はありませんか?
0163デフォルトの名無しさん
2005/10/28(金) 23:36:300164デフォルトの名無しさん
2005/10/28(金) 23:38:40目的のimageだけを貼り付けるためのGraphicsでも使え
0165デフォルトの名無しさん
2005/10/28(金) 23:48:030166デフォルトの名無しさん
2005/10/29(土) 00:15:04こういう使い方であっているのか教えてください
http://u.skr.jp/128/files/24599.jpg
0167デフォルトの名無しさん
2005/10/29(土) 00:15:45スレ違い
UMLスレ池
0168デフォルトの名無しさん
2005/10/29(土) 00:20:17つか、つまんねーんだよ
0169デフォルトの名無しさん
2005/10/29(土) 00:23:38金曜日の深夜にこんなものを作ってしまう君の状況に乾杯
0170デフォルトの名無しさん
2005/10/29(土) 01:34:57解答ありがとうございます。やはりrotateしかありませんか。。
ある配列変数(100近く)を判定して横に表示するか縦に表示するかをpaintの度に判断するプログラムを作ってるんですが
rotateで毎回graphicsの方向を変えてるんじゃ処理が重くなりそうで。
できればimageだけ回転か、または最初からimageに回転した画像を保存しておきたいのですが
何か良い方法はありませんかね?
0171デフォルトの名無しさん
2005/10/29(土) 01:40:110172デフォルトの名無しさん
2005/10/29(土) 02:25:14>rotateで毎回graphicsの方向を変えてるんじゃ処理が重くなりそうで。
そういうことは実際にやってみて重かったときに言ってくれ。
017336
2005/10/29(土) 02:30:57nullじゃないんだ。でも配列のlengthが0なんだ。なんで?
>>38
からっぽって何よ?nullでもないし、当然配列オブジェクト本体だから
「""」でもない。
>>39
それは配列個々の話でしょ?
>>40
なるほど。しかし、それにどんな意味があるのだ?
0174デフォルトの名無しさん
2005/10/29(土) 02:39:44皿の上にりんごが5個ある所から5個りんごを取りました。りんごはいくつありますか?
そのとき皿はどうなっているでしょうか?
0175デフォルトの名無しさん
2005/10/29(土) 02:55:37> 皿の上にりんごが5個ある所から5個りんごを取りました。りんごはいくつありますか?
りんごを全て取り払ったので、皿は自動消滅しました。ぬるぽ
0176デフォルトの名無しさん
2005/10/29(土) 03:12:13どうやって描いてるの?
Appletにやってることをそのまま特定のパネルにすればでると思うよ
一度ComponentのAPI 拝んでやる気なくしちゃってみたほうがいいよ
0177デフォルトの名無しさん
2005/10/29(土) 03:18:32デフォルトのパネルじゃなくて、任意のPanelクラスのオブジェクトに描画したいんです。
0178デフォルトの名無しさん
2005/10/29(土) 03:20:22array = new String[x個入る器を用意しなさい];
array[x番目を選びなさい];
0179デフォルトの名無しさん
2005/10/29(土) 04:00:08http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Component.html
任意ってのはこれにぶら下ってる奴等だよね?
Component {
void paint(Graphics g) { g.drawString }
}
とか
component.getGraphics().drawString
こうやるの?applet詳しくないんだ悪い、
暇見てAPIで家系図追ってみたほうがいいよ
0180デフォルトの名無しさん
2005/10/29(土) 04:03:00皿は勝手に消えないだろが
0182デフォルトの名無しさん
2005/10/29(土) 11:56:06>なるほど。しかし、それにどんな意味があるのだ?
例えば、会議の出席者の名前をString[]で返すメソッド、getMember()があるとしよう
ある出席者が居ない会議インスタンスのgetMember()を呼んだ時、
nullを返す仕様になっているとnullチェックがめんどくさいが
new String[0]を返す仕様になっていれば、何も考えずに次のようにできる
String[] member = group.getMembers();
System.out.println("出席者は" + member.length + " 名です");
for(int i = 0; i < member.length; i++){ System.out.println(member[i]);}
0183デフォルトの名無しさん
2005/10/29(土) 13:24:44なぜか対象の vm が 1.4 なんで書式文字列使えなくて "error: %s に %s は指定できません" みたいな記述できなくて困ってます。
とりあえず、エラーメッセージまとめたクラスに getErrorMessage(int id, Object[] info);みたいなの定義して、
String.replaceAll 使って自力で置換する方法と、
ファイルから読ませるのをあきらめて、手動で連結させる方法の2種類を考えたんですが、
こういうときのセオリーってどんな感じなんでしょうか。教えてください。
0184デフォルトの名無しさん
2005/10/29(土) 13:31:01つ java.text.MessageFormat
0185デフォルトの名無しさん
2005/10/29(土) 13:42:40これ使いますです。
0186デフォルトの名無しさん
2005/10/29(土) 14:36:16ガべージコレクトされるとどうなるんでしょうか?
(1)開きっぱなし
(2)finalizeメソッドでcloseされる
(3)finalizeメソッドは何もしないけどJVM実装レベルでクローズする
(4)そもそもガベージ扱いされない
0187デフォルトの名無しさん
2005/10/29(土) 15:10:550188デフォルトの名無しさん
2005/10/29(土) 15:16:59FileInputStream は finalize 持ってるから 2 かな。
ファイルストリームってのが FileInputStream じゃない場合とかは知らん。
0189デフォルトの名無しさん
2005/10/29(土) 15:53:32これはいったいなんなんでしょう?ascloseとか
書いてあるみたいだけど・・・
0190デフォルトの名無しさん
2005/10/29(土) 16:02:06『JavaOne』
http://jp.sun.com/company/events/javaone/2005/
0191デフォルトの名無しさん
2005/10/29(土) 16:17:06会社の社内LAN上でANTを使用してみたのですが、
FTPタスクがうまくいきません。
クライアントはWin2kのeclipse3.1+Java1.5、
antはeclipse付属ではなく個別に取得したものを
eclipseから操作します。
ant自体は動作しますが、以下の現象が発生しています。
社内LANのUNIXサーバにアクセスし、所定のフォルダから
**/*.javaを指定して再帰的にDLしようとしています。
しかし、いつもDLできるファイルは0件で終了します。
サーバにはFFFTPで接続でき、ファイルのやりとりも正常です。
TeraTermでの接続もOK。
antのftpタスクでput要求をした場合、正常にファイルがUPされ、
FFFTP上から確認できます。
get要求時、わざと存在しないパス指定してみたりUID等
間違えたりすると正しくエラーが出ます。
その上で、ftpのgetをantで行うと、エラーにもならず
DL数は0件になります。
remotedir指定を省略し、ユーザのhomeディレクトリ上にあるファイルを
ワイルドカード指定ではなく直接ファイル名指定にしてみたり、
さらにはinclude指定を*一文字にしたり色々しましたが、
何一つ落とせることはありません。拡張子によらず。
ウィルス関連ソフトを全て落としても同じです。
くだらない質問で申し訳ありません。
このような現象が発生する理由として何が考えられるでしょうか?
0192デフォルトの名無しさん
2005/10/29(土) 16:41:43そういう時は社内のUnixサーバのOS、バージョン、パッチレベル、FTPサーバのソフト名、バージョンなんかも上げてくれ
0193デフォルトの名無しさん
2005/10/29(土) 17:11:07class panel1 extends JPanel{
public void paintComponent(Graphics g){
super.paintComponents(g);
g.clearRect(0,0,getWidth(),getHeight());
g.drawRect(0,0,100,100);
}
public void re(){
repaint();
}
}
こういうやり方もある。
0194デフォルトの名無しさん
2005/10/29(土) 17:36:28とるだけなら
<get src="ftp://" />のほうがおすすめ
0195デフォルトの名無しさん
2005/10/29(土) 17:38:54<get src="ftp://user:pass@host/
0196デフォルトの名無しさん
2005/10/29(土) 17:52:38J2SE 1_4_versionのSDKとJ2SE 5_0_versionのJDKどちらの方がいいんでしょうか?
本当に初心者な質問ですみません…。
0197デフォルトの名無しさん
2005/10/29(土) 17:54:18もう出てから1年たってるし、かなり使いやすくなってる
ただ、しらないうちに動いてるオートボクシングは危険かもしれない
0198デフォルトの名無しさん
2005/10/29(土) 22:50:44> commons-loggingとlog4jを一緒に使ってるのを
> よく見るけど、どちらか単独では使えないの?
> というか、commons-logginを単独で使えますか?
Commons Loggingってのは
ログAPIを統一するためにつくられたもんだとおもった。
Log4jとJava Logging API, Avalon Logkitなどによる統合を
考えた場合、かなり重要かと
0199デフォルトの名無しさん
2005/10/30(日) 00:43:00状況によってマウスのカーソルを変えたいのですが、どうすればいいでしょう。
ちなみに、ドラッグ対象のコンポーネントのsetCursorを呼び出しても反映されませんでした。
0200デフォルトの名無しさん
2005/10/30(日) 00:46:310201デフォルトの名無しさん
2005/10/30(日) 00:50:350202デフォルトの名無しさん
2005/10/30(日) 01:35:10スレッドを作成して、その中でsetCursor()してみてはどうでしょう。
SetCursorするときにはSwingUtilities#invokeLater or SwingUtilities#invokeAndWaitを使ってください。
0203デフォルトの名無しさん
2005/10/30(日) 01:44:00DragSourceContext#setCursorを使うようだが。
0204デフォルトの名無しさん
2005/10/30(日) 01:50:04解決いたしました。本当にありがとうございました。
0205デフォルトの名無しさん
2005/10/30(日) 02:10:50iアプリを作ろうとjavaをはじめました
iapplitool for Doja-4.0を導入し,とりあえずHelloworldを表示させようとビルドしたのですが,
ビルド開始(DoJaプロファイル : DoJa-2.1)
エラー: サポートされていないエンコーディングです: SJIS_i
エラー 1 個
のように表示されてしまいます
エンコーディングと表示されているのですが,SJIS_iという文字コードはドコモがSJISを拡張した,という情報しか見つかりません
また設定しようにもSJIS_iなるものがなく,いきなりつまづいてしまいました
解決方法を知っている方はおられませんでしょうか
0206デフォルトの名無しさん
2005/10/30(日) 02:21:18ができないのなら
日本語使わないでコーディングするとか
0207デフォルトの名無しさん
2005/10/30(日) 02:57:50設定→sun.tools.javac.Mainを使用するにチェック入れてみ。
てゆーかEclipse使ったほうがいいと思う。
0208デフォルトの名無しさん
2005/10/30(日) 16:30:56http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/security/jce/JCERefGuide.html#AppA
このCipherクラスでRSAって使えますか?
なんか名前が定義されているだけで実装はされていないって聞いたんですけど・・・。
0209デフォルトの名無しさん
2005/10/30(日) 18:28:54フォルダ単位でファイル名を読み込ませて、
一括で拡張子を変更する(mp3→zip)というプログラムを作ろうとしてます。
File file = new File(args[0]);
String[] filename = file.list();
でファイルを読み込みましたが、実際に変更する(書き込む)ことができません。
何を使えば良いでしょうか。(初心者ですいません)
0210デフォルトの名無しさん
2005/10/30(日) 18:32:342つほど
>ファイルを読み込みましたが
ファイルは読み込んでない。一覧を取得しただけ
>何を使えば良いでしょうか
java.io.File.renameTo(File dest);
0211デフォルトの名無しさん
2005/10/30(日) 18:36:34ありがとうございます。
ファイルを読み込むためには、FileInputStreamみたいなのを使うのでしょうか。
0212デフォルトの名無しさん
2005/10/30(日) 19:00:35FileInputStream。だけど読み込まなくても変更できるよ。
0213デフォルトの名無しさん
2005/10/30(日) 19:30:20ホームページ上で作動?するもの、iアプリを作るもの、
どういったものがあるのか教えてください。
あと、今 HELLO WORLD などと表示するのをやっているのですが、
これは一体何ができるのすか?例えば、市販されている
ソフトが作れるなど、よろしくお願いします
0214デフォルトの名無しさん
2005/10/30(日) 19:35:35>>1見てくれば?
0215デフォルトの名無しさん
2005/10/30(日) 20:01:40初心者向けの本はたいていHELLO WORLDの表示くらいだが
ttp://v2c.s50.xrea.com/
みたいな実用的なアプリケーションまでいろいろできる
ブラウザ上で動作するものはアプレットという
パソコン上で使うJavaとケータイとかで使うJavaは
名前は一緒だが別物だと思ったほうがいい
0216デフォルトの名無しさん
2005/10/30(日) 20:04:27JavaScriptはJavaとは別物な
0217デフォルトの名無しさん
2005/10/30(日) 20:10:10本屋さんではよくごちゃまぜで置いてあったりする
0218デフォルトの名無しさん
2005/10/30(日) 20:35:35import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class MyImage3 {
public static void main(String[] args) {
MyFrame7 frame1=new MyFrame7();
frame1.setBounds(100,100,400,320);
frame1.pack();
frame1.setVisible(true);
}
}
class MyFrame7 extends JFrame{
private static final long serialVersionUID = -4L;
MyFrame7(){
public void paint(Graphics g){ //この行でエラー発生
BufferedImage bImage1=null;
try {
bImage1=ImageIO.read(this.getClass().getResource("k_1pin.gif"));
} catch (Exception e) {
e.printStackTrace();
}
g.drawImage(bImage1,40,40,this);
}
}
}
質問お願いします。
メインメソッドとペイントメソッドは同じクラスにないといけないのでしょうか?
0219デフォルトの名無しさん
2005/10/30(日) 20:43:54それ以前の問題だ。インデントを大事にしろよ。
0220デフォルトの名無しさん
2005/10/30(日) 21:06:18main()は別クラスでもいいんだよ
0221JAVA
2005/10/30(日) 21:28:35つくっていいのかわかりません、、どうか教えてください、、a,b,cという風に書きたいです。この
,はどうやってかけばいいでしょうか、、
0222デフォルトの名無しさん
2005/10/30(日) 21:30:220223デフォルトの名無しさん
2005/10/30(日) 21:37:110224デフォルトの名無しさん
2005/10/30(日) 21:41:410225デフォルトの名無しさん
2005/10/30(日) 21:52:51int Num;
test(int n){
Num = n;
}
}
public class aiueo {
public static void main(String[] args) {
ArrayList a = new ArrayList();
a.add(new test(1));
System.out.println( ??????????? );
}
}
????????????の部分に、配列aのNumの値(1)を返したいのですが、どうすればよいか分かりません
a.get(0).Num かなと思ったのですがエラーが出てしまうし・・
どなたかご教授お願いします
0226デフォルトの名無しさん
2005/10/30(日) 21:56:48Numがpublicになってないけど誤記?
0227226
2005/10/30(日) 21:57:200228デフォルトの名無しさん
2005/10/30(日) 21:59:17testにtoStringメソッドを用意してreturn "" + Num;を返すようにしてみよう。
0229デフォルトの名無しさん
2005/10/30(日) 21:59:20ArrayList<test> a = new ArrayList<test>();
じゃないの?
0230デフォルトの名無しさん
2005/10/30(日) 22:05:540231デフォルトの名無しさん
2005/10/30(日) 22:08:40とあるテストツールがClassCastExceptionが出て
コード品質が悪いから直せと言って来る
instanceofを使って回避すると
instanceofを使うのは最適化的にあれだからだめーみたいに言って来る
どうしろと?
0232デフォルトの名無しさん
2005/10/30(日) 22:10:22どっちにしろ取り出す側がキャストしないとダメってのが実行してみないとバグ分からんから
一番危険なんだけどな
0234デフォルトの名無しさん
2005/10/30(日) 22:14:38いや書き方が悪かったね。
5.0が使えなくてObjectのListになるから231みたくなる。
0235デフォルトの名無しさん
2005/10/30(日) 22:15:53jdk5.0限定だよ。
jdk1.4つかってるなら忘れていい。
0237デフォルトの名無しさん
2005/10/30(日) 22:39:19とれないとエラーがでます。どうやってWRITEさせたらよろしいでしょうか?
基本的な質問になってしまうかもしれませんが、教えてください
0238デフォルトの名無しさん
2005/10/30(日) 22:42:49bwってクラス名何?単純に引数が対応してないだけだよ。
0239デフォルトの名無しさん
2005/10/30(日) 22:45:26Triangle a = new Triangle();
とかの a ってなんて言うんでしょうか?
よければ教えてください〜。
0240デフォルトの名無しさん
2005/10/30(日) 22:45:410241デフォルトの名無しさん
2005/10/30(日) 22:50:32インスタンス変数です。単純にインスタンスで通用します。
0242デフォルトの名無しさん
2005/10/30(日) 22:52:49bw.write(smallArray, 0, smallArray.length);
配列がchar[]ならね
0243239
2005/10/30(日) 22:53:35ありがとうございました〜。
0244デフォルトの名無しさん
2005/10/30(日) 22:56:13STRING型なんです、、残念ながら、、
ということは直前でPARSEINTとかでキャストしてやればいいってことですか?
0245デフォルトの名無しさん
2005/10/30(日) 22:56:32厳密には違う。
[1] 変数 a は、局所宣言されている ⇒ ローカル変数
[2] 変数 a は、それを含むクラスのインスタンスが存在している間のみ存在する ⇒ インスタンス変数
[3] 変数 a は、クラスにおいて static 宣言されている ⇒ クラス変数または静的変数
0246245
2005/10/30(日) 22:57:55『変数 a 』 に代入される値が 『インスタンス』 厳密には 『インスタンスへの参照』 だ。
0248デフォルトの名無しさん
2005/10/30(日) 23:41:02paint(Graphic g)のGraphicクラスは抽象クラスで、実装を強制される。
それを引数にもつってことは、引数に値を持つことを強制されるから、
MyFrame7 frame1とMyFrame7のインスタンス持った時点で、paintは引数に値を持つことを強制されるから、
コンストラクタ中にpaintを書かなくとも、
class MyFrame7 extends JFrame{
private static final long serialVersionUID = -4L;
public void paint(Graphics g){ //この行でエラー発生
BufferedImage bImage1=null;
try {
bImage1=ImageIO.read(this.getClass().getResource("k_1pin.gif"));
} catch (Exception e) {
e.printStackTrace();
}
g.drawImage(bImage1,40,40,this);
}
}
とすれば、MyFrame7 frame1の時点で、paintが実行される。
てことは、おそらく、newするより(コンストラクタより)早いと思う。
自分のは、jdk1.3で
import javax.imageio.ImageIO;
が失敗するから、確認してないけど、同様にしてできたモノがある。
それと、コメントのエラーの意味は、コンストラクタ(関数)の実装の中でpublic void paintと関数を宣言してるから、それでしょう。
0249デフォルトの名無しさん
2005/10/30(日) 23:44:07ちがう。コメントのエラーは 『コンストラクタ内でメソッドを定義している』 から出てる。
0250デフォルトの名無しさん
2005/10/30(日) 23:44:15訂正
それと、コメントのエラーの意味は、コンストラクタ(関数)の実装の中でpublic void paintと関数を定義してるから、それでしょう。
0251249
2005/10/30(日) 23:44:390252デフォルトの名無しさん
2005/10/30(日) 23:50:09サイズ指定してるのにpackしてるとか
突っ込みどころ満載だな
■ このスレッドは過去ログ倉庫に格納されています