くだすれJava(超初心 ..
[2ch|▼Menu]
694:デフォルトの名無しさん
08/03/06 14:10:30
>>692
スレ違いだけど bash cd /hugahuga/ の二つ目以降の引数は一つ目のシェルスクリプトに与えられる引数だから
そんなファイルはないと言われるのはcdだけだね
あと-cを使わなければbashに渡せるのは実行可能ファイルというよりシェルスクリプト
bash cd はファイルcdが存在しないと言われるが bash ls はバイナリファイルは実行できないと言われる

695:デフォルトの名無しさん
08/03/06 23:35:54
public class Sample5_1 {
public static void main(String[] args) {
System.out.println(1+1);
System.out.println(1+1+2);
System.out.println("1+1+2の結果は"+1+1+2+"です");
System.out.println("1+1+2の結果は"+(1+1+2)+"です");
}
}
を実行すると下のようになるんですが、一番下はわかるのですが、下から二行目の112はなぜ計算されずに112になるのかわかりません。
理由を教えて下さい。
2
4
1+1+2の結果は112です
1+1+2の結果は4です

あともうひとつ
public class Sample5_4 {
public static void main(String[] args) {
int fatherAge = 52;
int motherAge = 50;
int myAge = 20;
int sisterAge = 20;
int sumAge = fatherAge + motherAge + myAge +sisterAge;
int averageAge = sumAge / 4;
System.out.println("家族の平均年齢は、"+ averageAge +"歳です");
}
}
を実行すると成功するのですが、一番下の「aveerageAge」の横の+を取ると下のエラーがでます。
上の質問も同じなのですが、前後に+を付ける理由などを教えていただきたいです。お願いします。

型 PrintStream のメソッド println(String) は引数 (String, String) に適用できません。トークン "averageAge" に構文エラーがあります。正しくは , です。


696:デフォルトの名無しさん
08/03/07 00:04:57
>>695
"1+1+2の結果は"+1 → "1+1+2の結果は1"
"1+1+2の結果は1"+1 → "1+1+2の結果は11"
"1+1+2の結果は11"+2 → "1+1+2の結果は112"
"1+1+2の結果は112"+"です" → "1+1+2の結果は112です"

+を文字列に使うと、文字列を連結してひとつの文字列にする
括弧がなければ、左から順番に
printlnには文字列はひとつしか渡せないので、+なしで
System.out.println("foo" "bar" "hoge");
などとは書けない

697:デフォルトの名無しさん
08/03/07 00:05:37
>>695
一つ目の質問について
"1+1+2の結果は"+1+1+2+"です"

(((("1+1+2の結果は"+1)+1)+2)+"です")
と解釈されるから。

698:デフォルトの名無しさん
08/03/07 01:54:16
>>696
>>697
すごくわかりやすく説明していただきありがとうございます。参考書にも詳しく書いてなかったので悩んでいました。
こうやって一つ一つ覚えて行くのが楽しさの一つですね。
まだはじめて少しですので、また聞くことがあるかもしれませんが、よろしくお願いします。

699:デフォルトの名無しさん
08/03/11 00:13:05
お尋ねします。
Java のコマンドライン引数には自分自身のパスは含まれないようですが、どうすれば自分自身のパスや名前を得ることができますか?
次の C 言語の例のようなことがしたいのですが。

/* hoge.c */
#include <stdio.h>

int main(const int argc, char * argv[])
{
  printf("EXE NAME: %s\n", argv[0]);
  return(0);
}

C:\test>hoge.exe
EXE NAME: hoge.exe

コマンドプロンプトで hoge.exe を実行すると argv[0] に hoge.exe という名前が入りそれを表示します。

700:デフォルトの名無しさん
08/03/11 00:43:00
コマンドラインでプログラムを実行しようとすると
Registry key 'Software\JavaSoft\Java Runtime Enbiroment\CurrentVersion'
has value '1.3',but'1.6' is required.
Error:could not find java.dll
Error:could not find Java 2 Runtime Enviroment.
とでて実行してくれません。
どうすればいいですか?

701:デフォルトの名無しさん
08/03/11 00:50:53
but'1.6' is required
だから、
JREの1.6をインストールして下さい

702:デフォルトの名無しさん
08/03/11 00:56:03
>>700
ランタイムの新しいバージョンをインストールすれば良いと思う。
URLリンク(java.sun.com)

703:デフォルトの名無しさん
08/03/11 01:14:40
できました!
ありがとうです

704:デフォルトの名無しさん
08/03/11 05:14:23
>>699
URLリンク(ja.doukaku.org)

705:デフォルトの名無しさん
08/03/11 07:48:49
やはりそれしかありませんか。
私もぐぐってそのページは見付けたのですが、もっと簡単な方法はないものかと。
ともあれお答えありがとうございます。

706:デフォルトの名無しさん
08/03/11 11:53:32
>>705
javaをキックするラッパを書いて、それのargv[0]を引数として渡せばいい。

707:デフォルトの名無しさん
08/03/11 17:22:50
自分自身の名前は次の方法で得られました。
コマンドライン引数ではありませんがこれで代替可能だと思います。
public class test
{
  public static void main(String[] args)
  {
    test t1 = new test();
    System.out.println(t1.getClass().getName());
  }
}

708:デフォルトの名無しさん
08/03/11 17:32:13
それでいいなら、

test.class.getName()

でもいいんじゃ?

709:デフォルトの名無しさん
08/03/11 17:47:36
おー!
Windows の exe は勝手に名前を変えても実行できるでしょ。
だから自分の名前を表示したい場合はコマンドライン引数から持ってこなきゃいけないわけで。
Java なら *.class の名前を勝ってに変えてしまうと実行できませんよね。
だから getName() で充分だと思います。
色々とありがとうございました。

710:デフォルトの名無しさん
08/03/11 23:06:33
>>653
> それと、Java3Dや他の3DCGライブラリを使う場合はJREやJDKに最初から入ってるわけではないので、
> 別にインストールしないといけないのが少し手間といえば手間かも。特に他人に使ってもらう場合。

j3d.jarを自分のプログラムの中にFatJarで入れれば
そんなインストールの手間も省けると思うよ

711:デフォルトの名無しさん
08/03/14 00:31:34
コンパイルしたら
「*******.java:27: \12288は不正な文字です。」
と出るのですが「\12288」とは、何のことでしょうか
宜しくお願いします。

712:デフォルトの名無しさん
08/03/14 00:33:13
まあ検索ですぐに出てくるが
全角スペースのこと

713:デフォルトの名無しさん
08/03/15 21:59:38
javaのswingで遊んでいますが設計上よくわからないことがあるので質問させていただきます

JFrameをextendsしたクラス、TimerTaskを実装したクラス、KeyListenerを実装したクラスを作りました
JFrameに色々と画像を表示してゲームを作りたいのですが、KeyListenerの取得したイベントはどのようにJFrameやTimerTaskに伝えるのが常識なのでしょうか?
友人の書いたプログラムをのぞくと、JFrameを実装したクラスにKeyAdapterやTimerTaskクラスを記述しJFrameを実装したクラスのフィールドを使いやりとりしているようでした


714:デフォルトの名無しさん
08/03/15 22:35:54
>>713
URLリンク(www.pwv.co.jp)

とはいえ正解があるわけじゃなし、プログラムいじる人が直感的にわかればいいっちゃ
いいんだろうけど

715:デフォルトの名無しさん
08/03/15 23:18:49
>>714
ありがとうございます
勉強してみます

716:デフォルトの名無しさん
08/03/19 11:30:34
MySQLを使ったアプリケーションについての質問です。
データの登録や検索をしたいのですが、
例えば、String qry1 = "insert into 〜 values(〜,〜,〜)";という文で
〜の部分をアプリケーションから入力するにはどうすればいいでしょうか?


717:デフォルトの名無しさん
08/03/19 11:58:42
?にして、PreparedStatement使うといいよ。

718:デフォルトの名無しさん
08/03/19 12:00:59
あー、テーブル名もか。
テーブル名には?は使えないから、文字列組み立てるしかないね。
そのときに、テーブルが本当に存在するかどうかのチェックをしないと、
とても大変なことになるので注意が必要。

719:デフォルトの名無しさん
08/03/19 12:10:12
あ、valuesの中だけで大丈夫です。ややこしくて済みません。
ご丁寧にありがとうございました。やってみます。

720:デフォルトの名無しさん
08/03/26 22:18:21
java.java:4: "]" がありません。
  int check(number[0],number[1],number[2]) {
             ^
こんなエラーが出るんですけど原因は何でしょうか?
int[] number = new int[3]; って宣言して、
int kekka = check(args[0],args[1],args[2]); って呼び出しています。

721:デフォルトの名無しさん
08/03/26 22:44:32
argsになってんじゃん

722:デフォルトの名無しさん
08/03/26 22:49:32
argsを渡してnumberで引き取っているのですが、この書き方ではダメなのでしょうか?

723:デフォルトの名無しさん
08/03/26 22:56:08
じゃあ、その引き取ってるところのソースを貼って頂戴

724:デフォルトの名無しさん
08/03/26 23:14:47
int check(int n1, int n2, int n3) {
...
}
もしくは、
int check(int[] numbers) {
...
}

725:デフォルトの名無しさん
08/03/26 23:16:07
あ、呼び出しが
int kekka = check(args[0], args[1], args[2]);
なら、後者はエラーだ。
int check(int...numbers) {
...
}
なら使ってるバージョンによっては動く。

726:デフォルトの名無しさん
08/03/27 00:38:50
>>724-725
ありがとうございます。
前者を試してみたのですが、何かエラーが大量に出てきてしまいました・・・

>>720のエラーが出てくるソースはこれです。

public class Java {
 int[] number = new int[3];
 void check(number[0],number[1],number[2]) { }
 public static void main(String args[]) {
check(args[0],args[1],args[2]);
}
}

727:デフォルトの名無しさん
08/03/27 01:06:44
なんか予想通りのソースだった
メソッド宣言での引数の型宣言はそういう風に書けない
解決法は上のレス参照
あとmainメソッドの引数argsには起動時に与えたパラメータが格納されるけど
数値を与えようがString型=文字列として受け取る
だから単純にcheckメソッドの引数にargsの要素を指定したら
型が違うのでエラーがでる
int型に変換したいならInteger#parseIntでも使って

728:デフォルトの名無しさん
08/03/27 01:46:04
>>726
Java では、コンパイル時における型の一致が重要です。
// 蛇足。Java 作法では、(String args[]) ではなく、(String[] args) にしましょう。

メソッド宣言の定義は以下の通り。public, static等 戻り値型 メソッド名(型 仮引数) { ... }
型、仮引数部分に、変数を直接詰め込んでも、コンパイル出来ません。
// 720 のエラーは、型部分で、"number[" と来たので、"]" を期待していました。

例えば、static void check(int n0, int n1, int n2) {} という宣言なら出来ます。
このとき、void が戻り値型、int が型、n0 が仮引数です。

check(args[0], args[1], args[2]); とは型が合わないのでコンパイル出来ません。
args[0] は String型なので、型int(autoboxing では Integer型)とは
それぞれ継承を辿っても、もう一方の型が存在しないため、型が一致しません。

729:デフォルトの名無しさん
08/03/27 20:13:47
ほんとに初心者な質問で悪いんですけど質問です。










みたいに「if」と「for」を使って
3の倍数は〇
5の倍数は△
3と5の倍数は×
って表示させていんですけど、
この場合どのようなソースになるのでしょうか?
ご指導お願いします。

730:デフォルトの名無しさん
08/03/27 20:18:37
値 % 3 == 0 なら3の倍数

731:デフォルトの名無しさん
08/03/27 20:33:36
>>729
URLリンク(d.hatena.ne.jp)

732:デフォルトの名無しさん
08/03/27 20:40:02
>>727-728
そういうことなのですね・・・。
理解しました。ありがとうございます。

そしてすみませんが、argsについて質問です。
・void main(int[] args) のような書き方はいけないのでしょうか?
・また、argsを使わないコードでもString[] argsを記述するようですが、なぜですか?
・args以外の、例えばstrなどと言った他の配列名はダメなのでしょうか?
重ねての質問すみませんが、答えていただけると嬉しいです。

733:デフォルトの名無しさん
08/03/27 20:44:10
>>732
>・void main(int[] args) のような書き方はいけないのでしょうか? 
>・また、argsを使わないコードでもString[] argsを記述するようですが、なぜですか?

引数の数や型が異なると、それは別のメソッドなので、いわゆるmainとしては扱われない。
そのためint[]や引数無しは不可。String[]でなければならない。

>・args以外の、例えばstrなどと言った他の配列名はダメなのでしょうか? 

名前は違ってもいい。

734:デフォルトの名無しさん
08/03/27 20:45:44
・void main(int[] args) のような書き方はいけないのでしょうか? ・・・・・ いけない
・また、argsを使わないコードでもString[] argsを記述するようですが、なぜですか? ・・・・ 決まりだから
・args以外の、例えばstrなどと言った他の配列名はダメなのでしょうか? ・・・・・ よい

735:デフォルトの名無しさん
08/03/27 20:54:21
>>730
>>731
わかりました♪
ありがとうございます(__)


736:デフォルトの名無しさん
08/03/29 23:55:35
質問です。

public class java {
  public static void main(String[] args) {
    try{
      int suuji = method();
    }
    catch(Exception e){}
    System.out.println(suuji);
  }
  int method() {
    int suuji2 = 777;
    return suuji2;
  }
}

こういうコードを書くと

java.java:4: static でない メソッド method() を static コンテキストから参照することはできません。
          int suuji = method();
                 ^
java.java:7: シンボルを見つけられません。
シンボル: 変数 suuji
場所 : java の クラス
          System.out.println(suuji);
                      ^
と2つエラーが出ます。
前者はmainメソッドをstaticでなくし、
後者は出力をtryの中に入れれば解決しましたが、なぜエラーが出るのでしょうか?

737:デフォルトの名無しさん
08/03/30 00:06:30
staticを付けない場合はインスタンスを作る必要がある
java obj = new java();
obj.method();
こうするか,もしくはmethodにstaticを付ける
後者はsuujiがtryブロックの中で宣言されてるからその中でしか使用できないため
例外とか後でいいから基礎的なとこを先にちゃんとやった方がいいよ

738:デフォルトの名無しさん
08/03/30 00:23:22
>>736
main から使うのに static を付け忘れるのはたまにやるかな。
機能を使うのにインスタンスの生成はしなくても良いと思う。
後者はスコープの問題だけど、コレも割りと気が付かずにやるので注意。

どちらもそのうち慣れると思うから、精進あるのみ。

739:デフォルトの名無しさん
08/03/30 14:39:25
質問です。

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

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

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

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

740:デフォルトの名無しさん
08/03/30 14:47:05
>やはりラッパークラスのプリミティブ型は、エレメントのイテレータもhasNext()メソッドもどきで
>volatile修飾子のシリアライゼーションをさせるのが絶対条件なのでしょうか。

それは絶対条件です。

C言語が腐るより前にあなたの脳みそが腐ってないかが心配です。

741:デフォルトの名無しさん
08/03/30 15:09:01
回答ありがとうございます。
しかし、私の脳みそは至って健全であるため、ご心配には及ばないかと思います。
万一の事態を考えわざわざ心配をして頂けたというのは、とても光栄です。

では、SetインターフェースのisEmptyメソッド使用時に
コマンドライン引数によってJava.langのStringBufferまでimportすると、
なぜStackOverflowErrorの例外が発生するのでしょうか?
staticなyield()メソッドを汎用させるためにthrowsで例外ハンドラを
コンストラクタなアサーションをしてはいけないのは仕様でしょうか?
回答よろしくお願いします。

742:デフォルトの名無しさん
08/03/30 20:06:19
人工無能が適当な単語組み合わせて発言しているようにしか見えんな……。

743:デフォルトの名無しさん
08/03/30 20:22:48
えと、質問します。
入力してもらったデータを他の文字に変換するにはどうしたらいいですか?
つまり、あいうえおと入力されるとaiueoと表示されるようにしたいのです。
よくわからん質問でスマソ

744:デフォルトの名無しさん
08/03/30 20:51:21
Map<Character, Character> table = new HashMap<Character, Character>() {{
put('あ', 'a'); put('い', 'i'); put('う', 'u'); put('え', 'e'); put('お', 'o');
}};

とでもしといて、

public String convert(String str) {
StringBuilder buf = new StringBuilder(str.length());
for (char ch : str.toCharArray()) {
buf.append(table.get(ch));
}
return buf.toString();
}

かな

745:デフォルトの名無しさん
08/03/30 20:53:05
質問です。

私がどのような問題を抱えているかを理解して、その解決方法を示してください。
私の状況としては、いろいろ調べて色々試行錯誤しましたが、うまくいきません。
ソースコードは守秘義務のため教えることは出来ません。
それでは、よろしくお願いします。


746:743
08/03/30 20:59:52
Map<Character, Character> table = new HashMap<Character, Character>() {{
put('あいうえお', 'aiueo'); }};
public String convert(String str) {
StringBuilder buf = new StringBuilder(str.length());
for (char ch : str.toCharArray()) {
buf.append(table.get(ch));
}
return buf.toString();
}
で表示させるのは無理なのでしょうか。
馬鹿臭い質問ですいません。

747:デフォルトの名無しさん
08/03/30 21:15:21
'あいうえお'とか'aiueo'はcharじゃないだろ。
というか、コンパイルしてみればいいじゃないか。

748:743
08/03/30 22:05:27
Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/main
だそうです
・・・CLASSPATH?

749:デフォルトの名無しさん
08/03/30 22:15:12
メインつくってないだけじゃね?

750:743
08/03/30 22:25:46
ごめんなさい俺にわかるように教えて下さいorz

751:デフォルトの名無しさん
08/03/31 00:25:37
>>750
こういう掲示板で手取り足取りなんて無駄もいいところだから、
Javaの入門サイトや教科書を読んで基礎を作った方がいい。

752:デフォルトの名無しさん
08/03/31 11:14:34
>>751
わかりました。出直してきます。
皆さんありがとうございます。

753:デフォルトの名無しさん
08/03/31 13:34:19
初めてぬるぽがでたーー!!!!\(T▽T)/
感動したーー!!!!\(T▽T)/

ClassArray[] a = new ClassArray[3];
とやっただけではすぐにa[0〜2]が使えるようになるわけじゃないんだね。
ひとつひとつまたnewしないといけないんだね。

754:デフォルトの名無しさん
08/03/31 13:45:07
どんなクラスにでも引数なしのコンストラクタがあるとは限らないからね。
それに、必要でもないときに勝手に作られてもいやだし。

755:デフォルトの名無しさん
08/04/01 23:21:28
質問です
あるサイトを開いたら画面下の方に、エラーが発生しました、と出ました
またそのサイト内にある動画を見れるメディアへのリンクをクリックしても、
javascript:void(playMedhia2〜うんちゃらかんちゃら〜)という表示が出てしまい、
見ることができません。詳細を見たらオブジェクトを指定してくださいと出たのですが、
見れるようにするためには一体どのような方法を取ればよいのでしょうか

ご教授よろしくお願いします。

756:デフォルトの名無しさん
08/04/01 23:23:24
スレ違い、いや板違い

757:デフォルトの名無しさん
08/04/01 23:57:16
調べてみたら全然違うんですね・・・
失礼しました

758:デフォルトの名無しさん
08/04/02 00:12:10
質問があります
サーブレットではなくクライアントサイドの話しなんですが
HTTPヘッダのログをプロキシ等の外部ツールではなく
JAVAのプログラム単体でログを取りたいのですが
どうにも方法がわからず行き詰っています
解説サイトやサンプルコードなどがあると助かるのですが
ご存知のかたいらっしゃいませんでしょうか?

759:デフォルトの名無しさん
08/04/02 09:40:45
>>758
JAVADOCはダウンロードしましたか?

760:デフォルトの名無しさん
08/04/02 10:17:50
netstatアプリを作りたいのですが、
Runtimeクラスでnetstatコマンドを叩くのではなく、JavaのAPIでnetstatを実行することって可能ですか?

761:759
08/04/02 11:19:12
>>758
JavaDocのjava.net→URLConnectionが詳しい。"一般要求プロパティを修正するには"ってところ。

762:デフォルトの名無しさん
08/04/02 13:00:06
eclipseでサーブレット作るには、他に何が必要でしょうか。

763:デフォルトの名無しさん
08/04/02 13:16:50
eclipseでサーブレットを作る環境と、eclipseでサーブレットを作る知識

764:758
08/04/02 13:37:08
>>761
早速紹介していただいた項目読みました
おかげさまでなんとかなりそうです

ログをとると言う事でjava.util.loggingなどの
項目ばかり読んでいて深みにはまっていました

759さんありがとうございました


765:デフォルトの名無しさん
08/04/02 17:15:37
SDKとJDKって何が違うんでしょうか

766:デフォルトの名無しさん
08/04/02 17:20:00
JDKはJavaのSDKです
略称ではないんだけど

767:デフォルトの名無しさん
08/04/02 17:28:38
あと、1.4 以前は Sun は JDK と呼ばず、SDK と呼んでいたはず。
それで若干混乱あるかも。

768:デフォルトの名無しさん
08/04/03 00:54:05
質問です。

コンストラクタの javadoc に /** コンストラクタ */ って書くの、
すっごいまぬけだと思うのですが、皆さんはどう書いてますか?

あと、setter/getter も教えて欲しいです。

769:デフォルトの名無しさん
08/04/03 03:06:55
もともとJDKと呼ばれていてJ2SDKに呼称変更されて5でJDKに戻ったんじゃなかったっけ?

770:デフォルトの名無しさん
08/04/03 03:21:57
>>768
javadoc自身が認識して出力してくれるような内容を、
ドキュメンテーションコメントに書くのは無駄なので、
もっとコンストラクタやメソッドの内容について書いた方がいいと思う。
どういうことを書けばいいかの参考になるものとしては、
JavaプラットフォームAPI仕様を眺めてみればいいのでは。

771:デフォルトの名無しさん
08/04/03 07:58:31
Tomcatプロジェクトでmyweb/hoge.jspを作成したところ、
Tomcatのトップ画面(URLリンク(localhost:8081))は表示されますが、
URLリンク(localhost:8081)が表示されません。

一体どうしたらいいでしょうか。

772:デフォルトの名無しさん
08/04/03 09:24:04
すみません単なるミスでした

773:デフォルトの名無しさん
08/04/03 11:27:27
>>768
引数や例外の説明、他コンストラクタとの違い、各プロパティのデフォルト値などを書く
引数なし、例外もなし、他のコンストラクタもなし、とかなら、まぁ書くことがないかも・・・

setterやgetterは、そのset/getする値の意味や、取り得る値の範囲を説明する必要があると思う

774:デフォルトの名無しさん
08/04/03 19:45:23
3年くらい前に自分で書いたJavaプログラムなのですが、
今となってはソースがなかなか読めません。
そして動いてくれません。
記憶によると四角形が二つ表示されて画面を適当に動き回り、
その二つが重なった時だけその旨が画面に表示されるという
プログラムだったはずです。
誰かデバッグしてもらえませんでしょうか?
ソースコードは以下にアップしました。
ダウンロードのパスワードはありません。
URLリンク(www.uploda.net)

775:774
08/04/03 19:51:36
すみません。デバッグしてくれなんて虫がよ過ぎでした。
デバッグのための方針を教えて頂けたら幸いです。
どうかよろしくお願いします。

776:774
08/04/03 20:00:38
ほんとすみません。方針をわざわざ教えてもらうなんてそれでも虫がよ過ぎですよね。
上の発言はなかったことにしてください。
スレ汚しすみません(´;ω;`)

777:774 ◆RnrYWCN3sM
08/04/03 20:37:05
と思ったけどやっぱり方針だけでも良いんで教えてください。
それと念のため鶏もつけときます。

778:デフォルトの名無しさん
08/04/04 00:24:21
Point pts[] = new Point[4];
this.pts[0].x = x;


779:774 ♦RnrYWCN3sM
08/04/04 00:26:34
なかなか返答がないので締め切らせて頂きます。
わざわざすみませんでした。

780:デフォルトの名無しさん
08/04/04 07:02:38
横からすみませんが、
new Point[4]←これがPointの実体では無いで良いのかな?

781:デフォルトの名無しさん
08/04/04 08:35:52
私も横ですが。
オブジェクト配列の初期化忘れは、よくある間違いの1つ。
箱を用意するだけでは、中身は null のまま。

782:デフォルトの名無しさん
08/04/04 13:04:54
最近プログラミングをはじめたものです。
C言語の関数とその定義の関係、
javaのクラスとオブジェクト.メソッドの関係が似てるような気がしてならないのですが、
間違っていますか?

783:デフォルトの名無しさん
08/04/04 13:10:51
間違ってます

784:デフォルトの名無しさん
08/04/04 13:12:38
気のせい

785:デフォルトの名無しさん
08/04/04 13:55:14
似てるか似てないかなんて主観だからねえ

786:デフォルトの名無しさん
08/04/04 18:58:32
System.out.println(args.length);
で配列数を示す際、*が含まれてるとなぜか本来の数の前に*の数がくっついてしまうようです。
例えば、argsがaと*と1と*の場合は4になるはずが24になります。
これはなぜでしょうか?
また、これを回避するためにはif文で振り分けなければならないのでしょうか?

787:デフォルトの名無しさん
08/04/04 19:01:55
>>786
* を含めたとき、args の中に何が入っているか確認してごらんなさいな。

for(String arg: args) System.out.println(arg);

788:デフォルトの名無しさん
08/04/04 19:14:57
コマンドラインのワイルドカードを解釈せずに引き渡してくれるシェルを使えばいいんじゃね

789:デフォルトの名無しさん
08/04/04 19:18:23
カレントディレクトリにあるフォルダが全て出てきました・・・
この*をワイルドカードの役割ではなく文字としての*と
認識させるためにはどうすればいいのでしょうか?

790:デフォルトの名無しさん
08/04/04 19:21:45
"*" でどうかな

791:デフォルトの名無しさん
08/04/04 19:23:22
>>789
windowsのコマンドプロンプトなら*でなく"*"とすると*そのものが渡せる
linuxのシェルとかでも同様のエスケープの仕方がシェルごとにある

792:デフォルトの名無しさん
08/04/04 21:41:52
解決しました。
皆さん丁寧にありがとうございました。

793:デフォルトの名無しさん
08/04/04 22:13:49
質問です。
double型を使うと値が整数の時も.0が付きますが、それをなくすにはどうすればいいでしょうか?
4なら4と表示され、4.56なら4.56と普通に表示する感じです。
int型に変換したりするのが良いのかと思いますが、
値に小数点があるか否かは分からないとすると、どう振り分ければ良いのでしょうか?

794:デフォルトの名無しさん
08/04/04 22:27:06
つString#format

795:デフォルトの名無しさん
08/04/04 23:13:05
ナンでサーブレットはthrowsが必要ですか

796:デフォルトの名無しさん
08/04/05 08:48:23
URLリンク(itpro.nikkeibp.co.jp)

関数と、メソッドは似ている。
関数(メソッド)の呼び出し先が、public function ・・・・って定義されてますし。
このfunctionは紛れもない関数の定義だと思います。

しかし、JAVAでは関数を呼び出す場合、メソッド(関数)の前に、クラスを格納したオブジェクトを付けて、
クラスを指定しないといけない・・・と。

思うわけです。

797:デフォルトの名無しさん
08/04/05 11:04:15
class MyClass { public void func() { ... } } このfunc (※インスタンスメソッド)は
static void func(MyClass this) { ... }
こういうstaticメソッドと同じようなもので,thisには常に現在のインスタンスが渡される
staticメソッドは本当にただの関数で,呼び出すときに前に付けるクラス名はただの飾り

798:デフォルトの名無しさん
08/04/05 15:45:16
>>795
別に要らないよ
例外を自分でcatchするなら

799:デフォルトの名無しさん
08/04/06 13:58:41
ウインド開いた時にアラートで
「好き?」
「嫌い?」
を10回繰り返したいんですけどどのようなソースにすればいいんでしょうか?
お願いしゃーす!!

800:デフォルトの名無しさん
08/04/06 14:47:08
アラートってことはもしかしてJavaScript?そうならスレ違い

801:デフォルトの名無しさん
08/04/06 17:19:43
教えてください。

RMIでウェブアプリのようにセッション管理は出来ますでしょうか?

よろしくお願いします。

802:デフォルトの名無しさん
08/04/07 20:22:06
>>800
すまない。
ちょっとJavaScriptに行ってきます。

803:デフォルトの名無しさん
08/04/07 21:05:01
Tomcat6.0にMYSQLのJDBCドライバ入れたんですが、この後どうしたらいいでしょうか。

804:デフォルトの名無しさん
08/04/07 21:15:13
質問・相談スレッドから来ました。
オブジェクトをコンストラクタを使って初期化しつつ配列にする方法が
わかりません。
もしかしてそんなこと出来ないんでしょうか?
新しいクラスを作ったりする必要があるんでしょうか?
どうかよろしくお願いします。

805:デフォルトの名無しさん
08/04/07 22:07:41
>>804
public class Hoge {
public Hoge(String name) { /* コンストラクタで何らかの初期化 */ }
private static final String[] names = {"aaa", "bbb", "ccc", "ddd", "eee"};
public static void main(String[] args) {
Hoge[] hoges = new Hoge[names.length]; // 配列の宣言と生成
for (int i = 0; i < hoges.length; ++i) {
hoges[i] = new Hoge(names[i]); // 要素ごとにインスタンスを生成し代入
}}}/* end of for, main, class */
こんな感じの宣言から代入までのコードを一行にまとめたい、ということでしょうか?

806:デフォルトの名無しさん
08/04/07 23:58:03
質問です。 以下のカスタマイズを行いたいのです。
フィールド変数の追加:private User u;
コンストラクタの修正
 引数の追加:User型
 処理の追加:フィールド変数に引数で受け取ったオブジェクトを代入する
以下カスタマイズ前のソースです。

class Reference extends JFrame{
JLabel lblId;
//フィールド中略
public Reference(String title){
super(title);
cnt=this.getContentPane();
cnt.setLayout(null);

フィールドにprivate User u;
コンストラクタの引数にUser user;を追加するのは分かるのですが
「フィールド変数に引数で受け取ったオブジェクトを代入する」 が上手くいきません。

Userは同パッケージ内の別クラスです。
古いコードですし、お手数をおかけ致しますがよろしくお願い致します


807:デフォルトの名無しさん
08/04/08 00:42:47
>>804
Hoge[] hoges = {new Hoge("aaa") , new Hoge("bbb"), new Hoge("ccc")};
みたいな事をやりたいの?新しいクラスってどういう事?

808:デフォルトの名無しさん
08/04/08 00:58:24
>>807
みたいな事とはどんなことですか?

809:807
08/04/08 01:22:55
どんなこともコードのままなんだけど。
>>808はどう思うの?ちょっとコード書いてみて。

810:デフォルトの名無しさん
08/04/08 01:49:02
>>809
どう思うって何についてですか?
何のコードを書けばいいですか?

811:デフォルトの名無しさん
08/04/08 02:09:48
>何のコードを書けばいいですか?
>>804の質問に対する>>810なりの答え」をJavaで書けばいい。

812:デフォルトの名無しさん
08/04/08 03:25:47
「私はあなたに質問する方法がわかりません。何語で話せば
私の質問を理解してもらえますか」と聞かれたら普通「あなた
言葉わかる?」と聞かれてるので、馬鹿にされてんだと思うんだ
ろうがここではそう思わない能天気なおバカちゃまが多いんだろうな

813:デフォルトの名無しさん
08/04/08 08:13:25
横から失礼。
かなり錯綜したから、質問者は自分のレス番号を明確にしないと答えを貰えないと思う。

814:デフォルトの名無しさん
08/04/08 08:28:29
>>806
こういうこと?

class Reference extends JFrame{
  JLabel lblId;
  private User user;
  //フィールド中略
  public Reference(String title){
    super(title);
    cnt=this.getContentPane();
    cnt.setLayout(null);
  }
  public Referecne(String title, User user) {
    this(title);
    this.user = user;

815:デフォルトの名無しさん
08/04/08 11:19:39
自分のホムペのお気に入り用アイコンを、ランダムでチェンジさせたいんですが
よそからコピってきた画像ランダム表示のスクリプトを書き換えてもうまくいきません。
↓こんな感じなんですが、おかしな箇所をご指摘いただけるとありがたいです。

<SCRIPT language="JavaScript">
<ico = new Array();
ico[0] = "icon01.ico";
ico[1] = "icon02.ico";
ico[2] = "icon03.ico";
n = Math.floor(Math.random()*img.length);
document.write("<link rel="Shortcut Icon" href='"+ico[n]+">");
>
</SCRIPT>

816:デフォルトの名無しさん
08/04/08 12:05:03
>>815
スレ違い

× img.length
○ ico.length

817:デフォルトの名無しさん
08/04/08 12:53:23
いや板違い
>Javascript は Web 制作板、CGI は Web プログラミング板へ。

818:デフォルトの名無しさん
08/04/08 13:07:59
板違いでしたか・・・失礼しました。
>>816ありがとうございました!

819:デフォルトの名無しさん
08/04/08 22:41:16
アノテーションでdefaultにnullを設定したい場合ってあると思うんだけど、
そういう時ってどうしてる?とりあえずNullObjectみたいなのを定義するのが普通?

820:デフォルトの名無しさん
08/04/09 20:57:23
質問です。
ある命令を実行した時から別のある命令が実行される時までの所要時間を計測することはできますか?
日付を出して差から求めるっていうのが正確かと思いますが、時間を計る専用メソッドはありますか?

821:デフォルトの名無しさん
08/04/09 21:06:17
>>820
import org.apache.commons.lang.time.StopWatch;

StopWatch clock = new StopWatch();
clock.start();
...
clock.stop();
System.out.println(clock.getTime() + "ms");
clock.reset();

clock.start();
...


822:デフォルトの名無しさん
08/04/09 21:08:08
>>821
素早い回答ありがとうございます。
今から試してみようと思います。

823:デフォルトの名無しさん
08/04/09 21:17:56
>>822
ライブラリが分からなくて出来ないに1000ガバス。

普通に↓でいいだろ。

import java.util.Date;

public class Main {
public static void main(String[] args) {
long start = new Date().getTime();
  //ここに処理を書く
System.out.println("time:" + (new Date().getTime()-start) + "ms");
}
}

824:デフォルトの名無しさん
08/04/09 22:17:26
>>823
回答ありがとうございます。
getTimeで時間を取得すると1207746884155などといった数字になったのですが、
これはどう見ればいいのでしょうか?
何度もすみませんがよろしくお願いします。

825:デフォルトの名無しさん
08/04/09 22:23:04
>>824
javadocぐらい見れるようになろうぜ
URLリンク(java.sun.com)()

826:デフォルトの名無しさん
08/04/10 03:52:53
package packagename;と書いたらそのファイルはpackagenameフォルダに入れないといけないの?

827:826
08/04/10 04:21:19
自己解決しましたv(^-^)

828:デフォルトの名無しさん
08/04/10 11:14:17
プログラムの実務の為の練習するのに良い本やサイトないですか?

829:デフォルトの名無しさん
08/04/10 11:23:10
>>828

Javaの入門サイト
URLリンク(www.nextindex.net)

Javaで学ぶデザインパターン
URLリンク(www.amazon.co.jp)


830:デフォルトの名無しさん
08/04/10 12:12:44
>>828
「実務」って何?というかどういう方向?それによって違うし、
どの程度経験があったり使ったことあるかでも話が全然違う。

831:デフォルトの名無しさん
08/04/10 12:36:40
ほんと基礎って感じです!練習問題的な。
SJC-Pの資格は取ったんですけど、プログラムの仕方みたいなのは全然わからなくて!

832:デフォルトの名無しさん
08/04/10 12:50:30
役に立たない資格だな・・・

833:デフォルトの名無しさん
08/04/10 17:33:29
助けてくだしあ><
jdk-6u5-windows-i586-p.exeをインストールして
システム環境変数の末尾に;C:\Program Files\Java\jdk1.6.0_05\binと書いたんですが

set pathの結果が
C:\>set path
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Ju
stsystem\JSLIB32;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program
Files\QuickTime\QTSystem\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
てなってjavacが通らないんです

quicktimeがclasspathをどうにかしてたんでアンインストールして現在はclasspathが無い状態です
システム環境変数を編集してみてもquicktimeは無いのにsetPathで出てきます

834:デフォルトの名無しさん
08/04/10 18:05:45
再起動したらできますた
すまそんw

835:デフォルトの名無しさん
08/04/10 18:09:14
ちょwwwwwwwwwww
個人情報出すなよwwwwwwwwwwwwwwwwwwwwwwww
やばすぎwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

>Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Ju
>stsystem\JSLIB32;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program
>Files\QuickTime\QTSystem\
>PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

やろうと思えば今すぐにでもお前のPCに侵入できる状態なんだが・・・

836:デフォルトの名無しさん
08/04/10 18:14:12
これは酷いww

今すぐ>>834-835の削除依頼出してこい。

837:デフォルトの名無しさん
08/04/10 18:20:40
おお、なんかすごいのあるな。
今から侵入を試みてみる。ちょっと待ってて。

838:デフォルトの名無しさん
08/04/10 21:23:51
>>831
初めは簡単なプログラムやアプリを軽く書ける練習すると良いのではないだろうか?
これしかない!という本は無いと思うから、本屋で自分と波長が合う簡単な本を
買って一冊踏破すれば。慣れたらもっとセンスを研く本を買うと良いと思う。

839:デフォルトの名無しさん
08/04/11 09:37:28
すみません、助けてください。
ApacheTomcatが起動できません。
ConfigureTomcatからStartさせようと思うのですが、
スタートできません。
バージョンは5.5.26でインストールは問題なく終了しました。
OSはXPです。
なんとか起動まで導いてください。
お願いします。

840:デフォルトの名無しさん
08/04/11 10:09:39
スレ違い

841:デフォルトの名無しさん
08/04/12 10:26:59
JAVAでMSDNにあたる資料は、
URLリンク(java.sun.com)
これでしょうか?

もう少し見やすいものはないものでしょうか……?

842:デフォルトの名無しさん
08/04/12 12:53:34
どういうものを求めてる?
どのへんが見づらいの?

843:デフォルトの名無しさん
08/04/12 12:56:44
継承メンバ一覧は冗談かと思うよな

844:デフォルトの名無しさん
08/04/12 13:52:58
質問!
0.0以上1.0未満の整数値をランダムに生成して表示するプログラムを作ってます。

import java.util.Random;

class ex0209 {

public static void main(String[] args) {
Random rand = new Random();

double lucky = rand.nextDouble(1);

System.out.println("0.0以上1.0未満の実数値:" + lucky);
}
}

上記のようにすると
ex0209.java:8: nextDouble() (java.util.Random 内) を (int) に適用できません
double lucky = rand.nextDouble(1);
^
エラー 1 個
というメッセージが出てきます。
1を1.0に変えても同じでした。
どうすればいいのでしょうか。

845:デフォルトの名無しさん
08/04/12 14:30:11
>>844
宿題?ちゃんと API を見ろ。引数いらん。
ついでにずいぶんいらん変数が多いなぁ。つーか変数いらん。
まぁできえばいいかな。

846:デフォルトの名無しさん
08/04/12 14:42:06
>0.0以上1.0未満の整数値をランダムに生成して表示するプログラムを作ってます。
ランダムも何も、0だけ表示しとけばいいだろwww


847:デフォルトの名無しさん
08/04/12 16:34:11
今GUIプログラミングをしているのですが、
キーの押下に反応するメソッドはありますか?
例えばaを押したらすぐにキーコードかaが表示される感じです。

848:デフォルトの名無しさん
08/04/12 17:00:16
>>845
API見たら確かにのってた。アホな事聞いてすんません。
Javaは趣味でやってます。今使ってる入門書に答えが載ってなかったんで。



849:デフォルトの名無しさん
08/04/12 17:14:42
KeyListener.keyPress(KeyEvent e)内で、上の\と下の\を区別たいのですが、
e.getKeyCode() では同じ値(92)で区別できず、
e.getKeyLocation() でも同じ値(1)で区別できませんでした。
どうすれば区別できるのでしょうか?

850:849
08/04/12 17:17:55
自己解決しました。
スレ汚しすみませんでした。

851:デフォルトの名無しさん
08/04/12 17:22:54
>>842
検索できないのが痛いです。
索引でいちいち探すのも面倒ですし……。
求めているものはMSDNそのまんまって感じです。

もしかして検索どこかにあるのかな……?

852:デフォルトの名無しさん
08/04/12 17:29:52
実用上googleで不満ないけどな
たまに逆引きが欲しい時があるとか?
それなら簡単な逆引きツールを作るのも勉強になって良いぞ

853:デフォルトの名無しさん
08/04/12 17:45:55
site:java.sun.com/j2se/1.5.0/ja/docs/ja/api/ つけて Google で検索すりゃいい。

854:844
08/04/12 17:52:17
もう一つ質問よろしいでしょうか!
-1.0以上1.0未満の実数値をランダムに生成して表示するプログラムを作ってます。

import java.util.Random;

class ex0209_1 {

public static void main(String[] args) {
Random rand = new Random();

double minus = -(rand.nextDouble()) - 0.1;
double plus = rand.nextDouble();

System.out.println("-1.0以上1.0未満の実数値:" + (minus + plus));
}
}

コンパイルできて実行も出来るのですが、実数値が出力される事も手伝って
確認が難しいです。おかしいところがあったら教えていただきたいのですが。

855:デフォルトの名無しさん
08/04/12 17:57:21
なんの確認が難しいんだよ。日本語書け。

856:デフォルトの名無しさん
08/04/12 18:00:22
>>854
Java 初心者だけではなくプログラミングも初心者だね。
そりゃおかしいよ。-1.1 から 1 の乱数。なんで唐突に
-0.1 なんか入れるの?

中身はその路線なら

System.out.println("-1.0以上1.0未満の実数値:" + (2*(new Random().nextDouble())-1));

で十分。

乱数たくさん発生して区画に分けて統計を取って確認する
という練習問題でもしてみたら?

857:デフォルトの名無しさん
08/04/12 18:01:49
nextDouble() が0.0以上1.0未満ってわかってるんだから
そこから先は不等号式を解く作業

858:844
08/04/12 18:18:17
>>855
実行結果の確認がという意味です。説明不足でゴメンナサイ。
>>856
はい、一週間前に始めたばかりです。
凄いスマートに出来るんですね。
>>857
>不等号式を解く作業
そういう方法もあるんですね。しかし変数についてまでしか勉強してないので
理解できないです。すんません。

色々アドバイスしてくれてありがとうございました。

859:デフォルトの名無しさん
08/04/12 19:13:55
>>847への回答よろしくお願いします。

860:デフォルトの名無しさん
08/04/12 19:17:34
>>852
>>853
Googleでちょっと不便だけどできました。
ありがとうございました。

861:デフォルトの名無しさん
08/04/13 01:41:21
>>856
日本語も初心者だと思うぞ


862:デフォルトの名無しさん
08/04/14 00:02:54
キーボードから読み込んだ三つの整数値の中央値を求めて表示するプログラムです。

import java.util.Scanner;

class ex0313 {

public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);

System.out.print("整数a:"); int a = stdIn.nextInt();
System.out.print("整数b:"); int b = stdIn.nextInt();
System.out.print("整数c:"); int c = stdIn.nextInt();

int mid = a;
if (a > b) {
if (b > c)
mid = b;
else if (c < a)
mid = c;
} else {
if (a > c)
mid = a;
else if (c > b)
mid = b;
else
mid = c;
}

System.out.println("中央値は" + mid + "です。");
}
}


863:デフォルトの名無しさん
08/04/14 00:05:29
で、何?

864:デフォルトの名無しさん
08/04/14 00:05:35
>>862のように作り、正常に動作したのですが、見た目がすっきりしていないような気がします。
何か余計な事をしているところがあったら指摘していただきたいのです。よろしくお願いします。

865:デフォルトの名無しさん
08/04/14 00:10:03
配列にしてソートして真ん中の要素を表示すればいいけど、
3要素に特化するというのであれば別にそれでもいいんじゃない? とは思う。

866:デフォルトの名無しさん
08/04/14 00:30:00
>>865
ありがとうございます。このままでも特に問題は無いのですね。

>配列にしてソートして真ん中の要素を表示すればいいけど
ごめんなさい意味が分かりません。理解できるように勉強頑張ります...。

867:デフォルトの名無しさん
08/04/14 09:28:30
>>859
> >>847への回答よろしくお願いします。
import javax.swing.*;
public class Jpanel extends JFrame {
static String img;
public static void main(String[] args) {
if (args.length < 1) {
System.out.println ("Usage: java Jpanel image-file(jpg, png, gif file)");
System.exit(1);
}
img = args[0];
Jpanel jpanel = new Jpanel("Test JPanel");
jpanel.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
jpanel.setSize( 640, 480 );
jpanel.setVisible( true );
}
private Jpanel (String title) {
super(title);
getContentPane().add(new JScrollPane( new JLabel(new ImageIcon(img))));
}
}
あ、JPanel()を使って無いな。だけど、getContentPane()がJPanel()のようなものだから。

868:867
08/04/14 09:32:18
誤爆した

869:デフォルトの名無しさん
08/04/14 11:59:39
>>847 ついでに
コンポーネントは内部にイベント処理を持っているので、それを書き換える例。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Jpanel extends JFrame {
public static void main(String[] args) {
Jpanel jpanel = new Jpanel("Test JFrame");
jpanel.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
jpanel.setSize( 640, 480 );
jpanel.setVisible( true );
}
private Jpanel (String title) {
super(title);
enableEvents( AWTEvent.KEY_EVENT_MASK );
}
protected void processKeyEvent(KeyEvent e) {
int id = e.getID();
if(id == KeyEvent.KEY_PRESSED) {
int code = e.getKeyCode();
if(code == KeyEvent.VK_A)
System.out.print("A ");
else
System.out.print(code + " ");
}
}
}
JFrameのキーイベントを書き換え。


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

4028日前に更新/302 KB
担当:undef