【初心者】Java質問・相談スレッド73【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/10/11(火) 17:32:35質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
前スレッド
【初心者】Java質問・相談スレッド72【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1127487333/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりでお願いしまする。
0002デフォルトの名無しさん
2005/10/11(火) 17:37:16/〜ヽ
(。・-・) ぼくプリン。よろしくね。
゚し-J゚
0003デフォルトの名無しさん
2005/10/11(火) 17:50:130004デフォルトの名無しさん
2005/10/11(火) 18:11:54乙
さっそくですが質問を。
Java InputMethod FrameWorkで作成したインプットメソッドをLinuxで使うにはどうしたらいいでしょうか?
0005デフォルトの名無しさん
2005/10/11(火) 20:16:20引数をもったコンストラクタを持つ親クラスから子クラスを派生させると、
暗黙的スーパー・コンストラクター super() は未定義です。 別のコンストラクターを明示的に呼び出す必要があります。
と表示されてしまいます。
そこで、子クラスのコンストラクタを
public sub(int i){
super(i);
}
の様にしたのですが、これだと
メソッド super(i) は型 sub で未定義です。
という風に表示されてうまくいきません。
どのようにして表現すればいいのでしょうか?
0006デフォルトの名無しさん
2005/10/11(火) 20:19:15superって書いたら親クラスのコンストラクタになるんですね、失礼しました
0007初心者
2005/10/11(火) 20:20:39j2se5.0をダウンロードしたいんですが、http://java.sun.com/にいくことができません。
他に手に入れられるサイトってありますか?
宜しくお願いします。
0008デフォルトの名無しさん
2005/10/11(火) 20:22:110009デフォルトの名無しさん
2005/10/11(火) 20:24:23そのままでは無理だと思われ。
Java InputMethod Framework-xim のブリッジとか作れば出来るかもしれんが。
0010デフォルトの名無しさん
2005/10/11(火) 20:25:03ここに池
http://java.sun.com/j2se/1.5.0/download.jsp
0012初心者
2005/10/11(火) 20:38:31原因はPeerGuardianのせいでした。
また分からないことがあったら、宜しくお願いします。
0013デフォルトの名無しさん
2005/10/11(火) 20:44:120014デフォルトの名無しさん
2005/10/11(火) 20:47:25どういうこと?
0015デフォルトの名無しさん
2005/10/11(火) 20:53:33スレ立て乙です。
Java製のバイナリエディタを自作したいんですがどうすれば良いですか?
とりあえず「Hello world」と
「FINAL_FANTASY」という名前のジョークプログラムをJavaで組めたくらいの初心者レベルです
機能は最小限でよくて、プログラムを組む練習として作りたいです。
0016デフォルトの名無しさん
2005/10/11(火) 20:59:560017デフォルトの名無しさん
2005/10/11(火) 21:05:40初心者がなぜ参照渡しがないと聞いて混乱するのがよくわからんが。
C とかの経験はある?
0018デフォルトの名無しさん
2005/10/11(火) 21:05:55public class RefTest {
public static void main(String[] args) {
String a = "abc";
refChange(a); //参照を渡す
System.out.println(a); //さて、何が出力されるでしょうか?
}
public static void refChange(String a) {
a = "def"; //ここで参照先を変えてみる
}
}
前スレの人はこのことを言ってるんだと思われ
001917
2005/10/11(火) 21:06:43とりあえずこれ読め。
http://www.wikiroom.com/java/index.php?FAQ#content_1_5
0020デフォルトの名無しさん
2005/10/11(火) 21:11:02>>18
>>19
ありがとうございます
C言語はポインタがなんとかわかる程度でした
参照渡しの理解が浅かったみたいです
>>18さんの例でなんとなくわかりました
>>19のサイト読んできます
お手数かけてスイマセン
0021デフォルトの名無しさん
2005/10/11(火) 21:12:520022デフォルトの名無しさん
2005/10/11(火) 21:35:19void f(Object** o) // javaではできません
0023デフォルトの名無しさん
2005/10/11(火) 21:36:08なんか楽しく勉強する方法ないかな?
0024デフォルトの名無しさん
2005/10/11(火) 21:40:380025初心者
2005/10/11(火) 21:42:49となっているんですが、本では、C:\Documents and Settings\sela>
となっています。どうやったら、変更できますか?
本に沿っていきたいので、宜しくお願いします。
0026デフォルトの名無しさん
2005/10/11(火) 21:48:01そのselaの部分を脳内変換すればいいだけ。
そこらへんの仕組みを理解せずにへたに変えないほうがいい。
0027デフォルトの名無しさん
2005/10/11(火) 21:49:350029デフォルトの名無しさん
2005/10/11(火) 21:53:08やりなおし
0030デフォルトの名無しさん
2005/10/11(火) 22:35:27それらしきものをインストールしたんですが、NetBeansとかいうソフトしかインストールできなくて…
どれを落としてインストール、起動すればいいんでしょうか?
0031デフォルトの名無しさん
2005/10/11(火) 22:40:56マジレスしていいものかどうか悩むんだが、あえてマジレス
>>25
Javaの問題ではなくWindowsにおけるユーザ管理の問題なのだ。
Windowsでは
1:インストールしたドライブのトップディレクトリにDocuments and Settingsと言う名前のディレクトリが作られる
2:ログインユーザ名のディレクトリがDocuments and Settingsにつくられる
3:すなわち書籍のselaと言うディレクトリはselaと言う著者のログイン名である。
ようするにselaの部分を自分のログイン名と置き換えればよいのである。
0032デフォルトの名無しさん
2005/10/11(火) 22:43:59java.sun.comのサイトからおとしたNetBeansならJDKも込みだ。
1.5系列(ようするにJ2SE5とか言うところから落とした奴)ならウィンドウズのProgram Filesディレクトリ以下にjavaってフォルダがあるのでそこに導入されてる。
とりあえずコマンドプロンプトからjavacとか入力した結果どんな応答をしたかだけでも書き込んでくれ
0033デフォルトの名無しさん
2005/10/11(火) 22:47:010034デフォルトの名無しさん
2005/10/11(火) 22:48:160035デフォルトの名無しさん
2005/10/11(火) 22:52:16i=0;
while ((tmp = br.readLine()) != null)
{
j = 0;
stk = new StringTokenizer(tmp,",");
while (stk.hasMoreTokens())
{
list[i][j].add(Integer.parseInt(stk.nextToken()));
j++;
}
i++;
}
以上のコードを動作させたいのですが、宣言の部分で躓いてしまっています。。。
0036デフォルトの名無しさん
2005/10/11(火) 23:05:03ArrayList<Integer>[][] list;
0037デフォルトの名無しさん
2005/10/11(火) 23:18:14ごめん、本田でもいい?
0038デフォルトの名無しさん
2005/10/11(火) 23:26:28List<List<Integer>> list = new ArrayList<ArrayList<Integer>>();
でいいだろ?
0039デフォルトの名無しさん
2005/10/11(火) 23:28:17List<List<Integer>> list = new ArrayList<List<Integer>>();
だった
0040デフォルトの名無しさん
2005/10/11(火) 23:40:320041デフォルトの名無しさん
2005/10/11(火) 23:43:20ださくねーよ
漢の討ち死にじゃないか
0042デフォルトの名無しさん
2005/10/12(水) 00:16:390043デフォルトの名無しさん
2005/10/12(水) 00:20:070045デフォルトの名無しさん
2005/10/12(水) 00:51:1800:01→00:05
12:19→12:20
17:56→18:00
みたいに五分ごとに時間を切り下げたいのですが
どうすればいいのでしょうか?
0046デフォルトの名無しさん
2005/10/12(水) 01:01:18JAVAってBASICみたくこんな感じで作れるんですか?
0047デフォルトの名無しさん
2005/10/12(水) 01:08:452ってなに?
0048デフォルトの名無しさん
2005/10/12(水) 01:29:23staticimportつかえば行番号はつかえんがBASICとあんまかわらんかな
0049デフォルトの名無しさん
2005/10/12(水) 01:31:31それとも、もっと確かな方法ってあるんですか?
あるいは OutOfMemoryError を捕まえて回復させても大丈夫とか。
0050デフォルトの名無しさん
2005/10/12(水) 01:33:140051デフォルトの名無しさん
2005/10/12(水) 01:33:18切り上げじゃね?
Integer#valueOfで数値変換して四捨五入すれば?
0052デフォルトの名無しさん
2005/10/12(水) 02:09:58String s = "00:01";
int n = ((Integer.parseInt(s.substring(0, 2)) * 60 + Integer.parseInt(s.substring(3, 5)) + 4) / 5) * 5;
String result = String.format("%02d:%02d", n == 24 * 60 ? 0 : n / 60, n % 60);
System.out.println(result);
0053デフォルトの名無しさん
2005/10/12(水) 11:18:46現在違うシステムの作成をしているのですが
そのxmlなどをコピペしてやったら
サーブレットで
サーブレット a は現在利用できません
となりました。
いろいろ調べてもわからなかったので教えてください。
ちなみに
<servlet-class>Search1Servlet</servlet-class>
<url-pattern>/Search1Servlet</url-pattern>
はちゃんと変えています。
宜しくお願いします。
0054デフォルトの名無しさん
2005/10/12(水) 11:24:51Math.ceil()やfloor()など、
NumberFormatやMessageFormatなどを使いたくなってくるのだが
もう時代遅れか?
0055デフォルトの名無しさん
2005/10/12(水) 11:29:53<servlet-class>Search1Servlet</servlet-class>
<url-pattern>/Search1Servlet</url-pattern>
はちゃんと変えています。
ちゃんとできているように見えない or 他の設定項目が無いからわからない。
そもそもコンパイル済みクラスファイルは正しい位置にデプロイされているのか?
Servletはデフォルトパッケージではダメだぞ。
0056初心者 ◆s2skiAkO1Y
2005/10/12(水) 12:06:39J:\>source>dir
'source' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と、表示されます。何でか分かりません。
宜しくお願いします。
0057デフォルトの名無しさん
2005/10/12(水) 12:19:48"source"というコマンドが存在しないまたはsourceというコマンドのあるディレクトリにPathが含まれていないから。
スレ違いなのでこれ以降はWindows板へどうぞ。
0060デフォルトの名無しさん
2005/10/12(水) 12:44:39Windows@2ch掲示板
http://pc8.2ch.net/win/
でも>>59の場合
パソコン初心者@2ch掲示板
http://pc7.2ch.net/pcqa/
または
初心者の質問@2ch掲示板
http://etc3.2ch.net/qa/
のほうがいいかも。
0061デフォルトの名無しさん
2005/10/12(水) 12:52:48Windows板
http://pc8.2ch.net/win/
OSはWindowsだけではなくたくさんある。
この板の住人もUNIX,Linuxの膨大にあるうちの
どれかを使う人も多い。
スレ違いだが、しかしWindows板で解決できるだろうか>>57が?
0062初心者 ◆s2skiAkO1Y
2005/10/12(水) 13:06:33自己解決できました。
また、引っかかりました。
public class sample {
public static void main(string[] args) {
system.out.println("hello");
}
}
んで、
J:\source>javac sample.java
sample.java:2: シンボルを見つけられません。
シンボル: クラス string
場所 : sample の クラス
public static void main(string[] args) {
^
sample.java:3: パッケージ system は存在しません。
system.out.println("hello");
^
エラー 2 個
これって、どうゆうことですか?プログラムの書き方、間違ってますか?
この質問も、板違いですか?
宜しくお願いします。
0063デフォルトの名無しさん
2005/10/12(水) 13:08:27相手しない方が良いですよ
0065デフォルトの名無しさん
2005/10/12(水) 13:31:22初心者レベルの本一冊買ったほうが手っ取り早い。
本読んでこの質問が出るようなら、それは理解できてないのと同じ。
ちなみに、
string -> String
system -> System
に直すべし。
0066デフォルトの名無しさん
2005/10/12(水) 13:32:22string -> String
system -> System
大文字小文字は区別される。
サンプルの本かサイト見てるなら目を皿の様にして見比べてみたほうが良い。
0067初心者 ◆s2skiAkO1Y
2005/10/12(水) 13:38:18>>66
そうゆうことでしたか。
すみません、反省しました。
しばらく人の手を借りず、自分の力でやってみます。
迷惑かけて申し訳ありませんでした。
レベルが上がったら、また、宜しくお願いします。
有難う御座いました。
0068デフォルトの名無しさん
2005/10/12(水) 13:52:45気にするな
http://pc8.2ch.net/test/read.cgi/tech/1081149073/
このスレにこい
0069デフォルトの名無しさん
2005/10/12(水) 14:21:250070デフォルトの名無しさん
2005/10/12(水) 14:35:47なにげに参考になってたりする・・
0071デフォルトの名無しさん
2005/10/12(水) 14:38:01少しワロタ
0072デフォルトの名無しさん
2005/10/12(水) 14:48:36ブラと下着上下セット欲しい人。良かったら定期的にやりとり出来る方がいました
ら・・・・・アド付けてくれると連絡早いですよ。洗濯籠にブラと下着2セット
今日着用したストッキングもあります。
これ?
0073デフォルトの名無しさん
2005/10/12(水) 14:50:13交換しましょうか?
--------------------------------------------------------------------------------
交換は 投稿者:さち◆2pJ2Y76JcE 投稿日:1月21日(金) 21時45分36秒 削除
実用性のあるものがいいなぁ^^
--------------------------------------------------------------------------------
これからですか? 投稿者:マッチ◆s2skiAkO1Y 投稿日:1月21日(金) 21時40分14秒 削除
今日これから交換ですか?何と交換いいんですか?
0074デフォルトの名無しさん
2005/10/12(水) 15:39:430075デフォルトの名無しさん
2005/10/12(水) 15:43:39JAVAでSwingを使って15パズル(スライドパズル)を作る課題が出たんですけど、何か良いサイトなどあれば教えてください。
大学の講義で出された課題ですけど、JAVAはまったく勉強したことがない学生しかいないのに、このような課題が出されてしまいました。
よって現在知識0です。が、提出は1週間後。みんな困ってます。
どうかよろしくお願いします。
0076デフォルトの名無しさん
2005/10/12(水) 15:55:22で、
>JAVAはまったく勉強したことがない
らしいが課題が出たのはJavaの講義だったんじゃないの?
当然それまでの講義の内容を踏まえて作れ、ってことでしょう?
知識0で困ってるのは講義出てないからじゃ?
被害者ヅラムカツク
007775
2005/10/12(水) 16:01:26そんなんで誰もできるわけないのに意味不明です。
が、宿題スレいきます。
0078デフォルトの名無しさん
2005/10/12(水) 16:02:27その先生に抗議すべきじゃないのか
0079デフォルトの名無しさん
2005/10/12(水) 16:05:46一週間ももらえたのか、ラッキーだね。
0080デフォルトの名無しさん
2005/10/12(水) 16:06:03まぁフィナステリドが発売されれば問題ないか
と言ってみたものの
宿題スレに行ってらっしゃいてのは同じ
まぁ
スライドパズル Java
でググれ
0081デフォルトの名無しさん
2005/10/12(水) 16:06:28008275
2005/10/12(水) 16:09:03そして誰もJAVA未経験な事実を知ったら、資料を用意してくれましたが、まったく役に立たないものでした。
抗議したところで既に始まっている授業なので変わらないでしょう。
やるしかないってことですね。
0083デフォルトの名無しさん
2005/10/12(水) 16:12:48変数というか関数なのですが
funcA(){
return funcB;
}
funcC(){
this.funcA();
}
の様な感じにしたいのですが・・・
0084デフォルトの名無しさん
2005/10/12(水) 16:24:50ぜってー嘘
0085デフォルトの名無しさん
2005/10/12(水) 16:29:13そりゃ設計でいかようにでも。
デザインパターンでも勉強すれば如何か。
0087デフォルトの名無しさん
2005/10/12(水) 17:38:05int i;
Test(int i) {
this.i = i;
}
public String toString() {
return "test・・・ " + i;
}
}
class M {
public static void main(String args[]) {
Test t = new Test(1);
System.out.println(t);
}
}
上のプログラムの最後から三行目ですが
System.out.printlnの中身をt.toString()ではなくtとしただけで
「test・・・ 1」が表示されます。
なんでtoStringメソッドと同じ機能を持つのでしょうか?
JAVAの本を見てもメソッドの使い方は(オブジェクト参照変数).(メソッド名)としか
書かれてなかったので。
0088デフォルトの名無しさん
2005/10/12(水) 17:43:490089デフォルトの名無しさん
2005/10/12(水) 17:45:24今はStringに変換後、substringで取得して整数値に再変換という方法でやっています。
もっと効率の良い方法はありますでしょうか?
0090デフォルトの名無しさん
2005/10/12(水) 17:45:32http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/PrintStream.html#println(java.lang.Object)
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/PrintStream.html#print(java.lang.Object)
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/String.html#valueOf(java.lang.Object)
0091デフォルトの名無しさん
2005/10/12(水) 17:49:11n の千の位が得たいなら n % 10000 / 1000 とか。
0092デフォルトの名無しさん
2005/10/12(水) 17:53:17Button b1 = new Button("ボタン1");
と書くと思うんですけど、
たくさん(10個とか言うレベルじゃなくて100個とか)
作りたい場合は、
Button b1 = new Button("ボタン1");
Button b2 = new Button("ボタン2");
Button b3 = new Button("ボタン3");
・・・・
と、100個書かないといけないんでしょうか?
0093デフォルトの名無しさん
2005/10/12(水) 17:54:42Button[] b = new Button[100];
for(int i = 0; i < b.length; i++)
b[i] = new Button("ボタン" + i);
0094デフォルトの名無しさん
2005/10/12(水) 18:00:11そうか、ボタンでも普通に配列使えるのか。
つーか、考えてみたらあたりまえか。
ありがとう。
0095デフォルトの名無しさん
2005/10/12(水) 18:20:03ありがとうございました。
0096デフォルトの名無しさん
2005/10/12(水) 20:54:14(コールするメソッドを動的に変えたい)
のですが、速度パフォーマンスが重要なためリフレクションは使えません。
デザインパターンなど、なにか他に良い方法はありますでしょうか?
(Chain of Responsibilityも速度的に除外と考えています。)
格好悪いですが、case文でひたすら分岐させるのが一番良いのかとも思ってます。
0097デフォルトの名無しさん
2005/10/12(水) 21:01:420098デフォルトの名無しさん
2005/10/12(水) 21:03:33009996
2005/10/12(水) 21:13:16まじめな話、javaやめる?っていう議論は何度かあったのですが、
再利用性を考えてjavaでシステム構築(←速度とトレードオフですが)
することになりました。
>受信メッセージを表すクラス内に、予め呼び出すメソッドを含ませておけば
具体的には、メッセージを格納するBeanに値をセットする時点で実行して欲しい
メソッドを識別する何か(フラグなど)も一緒にセットして投げるということでしょうか?
さっそくのレスありがとうございます。
0100デフォルトの名無しさん
2005/10/12(水) 22:11:14>具体的には、メッセージを格納するBeanに値をセットする時点で……
public abstract class Message { // メッセージの中に
public abstract void Command(); // 実行したいメソッドを入れておくとか
}
こういうこと。時と場合を選ぶけど。
それ以外なら、switch になるかな〜。
0101デフォルトの名無しさん
2005/10/12(水) 22:51:48http://uppp.dip.jp/src/uppp15857.zip.html
ちょっとこのソース見てくれ。
処理は、今の時間を取得し、その時間を
見た目で表示するプログラムなんだが、
周りにjavaやってるやついなくて
誰に聞いていいかわからないので
オマイラの力を借りたい。
とりあえず、おかしなとこを指摘してくれ。
時刻の表示の仕方は
現在時刻が 20:55:30だとすると
1 2 4 8 ←16進数で考える
■ X ■ ■ ←2
■ ■ ■ ■ ←0
X ■ X ■ ←5
X ■ X ■ ←5
X X ■ ■ ←3
■ ■ ■ ■ ←0
といったようになる。
中抜きの四角が出ないのでその辺はつっこまないでくれ。
今のところTimerで一秒ごとに表示切り替えすることを考えている。
■ このスレッドは過去ログ倉庫に格納されています