くだすれJava(超初心者用) その2

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドは、他のスレッドでは書き込めない超低レベル、  
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。  
Java使いが優しくコメントを返しますが、  
お礼はJavaの布教と初心者の救済をお願いします。  

Java SunのHome Page  
http://www.java.com/ja/

前スレ

くだすれJava(超初心者用)
http://pc10.2ch.net/test/read.cgi/tech/1126470659/l50
2デフォルトの名無しさん:2007/02/25(日) 19:08:19
C++からJavaへの移行を考えています。
Javaにはポインタがありませんが、代わりに何を使えばよいのでしょうか?
3デフォルトの名無しさん:2007/02/25(日) 19:49:45
用途による。
用途によっては、Javaの参照型はCでいうポインタ。
4デフォルトの名無しさん:2007/02/27(火) 16:37:50
「Hello.jpがあるディレクトリで、

javac Hello.java

と入力すると、Hello.javaをコンパイルします。」
と書いてあるのですが、よくわかりません。
ディレクトリというはどこにあるのでしょうか?
5デフォルトの名無しさん:2007/02/27(火) 17:07:35
>> 4
>ディレクトリ
Windowsならフォルダと呼んでますね
6デフォルトの名無しさん:2007/02/27(火) 17:17:44
>>5
今は、Hello.javaというのを作って、My Documentsに入っているのですが、
入力するところはどうやったら出てくるのですか?
7デフォルトの名無しさん:2007/02/27(火) 17:28:28
スタートメニューから、コマンドプロンプト(アクセサリの下か)を起動。

えーと、そのあとどこにcdすればいいんだっけ。
(いまWindowsないんだ……)

8デフォルトの名無しさん:2007/02/27(火) 17:52:22
>> 7

「cd 」の後Hello.javaの入っているフォルダをDOSプロンプトのWindowに
ドラッグ&ドロップして Enter
あとはドライブ移動だが…MyDocumentなら必要ないと思われます。
9デフォルトの名無しさん:2007/02/27(火) 18:08:12
>>8
できました!ありがとうございました!
「cd \」を入力して、ドライブCに移動させて、
「javac Hello.java」を入力したら、新しいファイルができて、
その後「java Hello」を入力でばっちりでした!

本には「cd \」何て書いてなかったのに…。
この本使えないんだろうか…。
10デフォルトの名無しさん:2007/02/27(火) 18:09:44
>>9
なんて本?
11デフォルトの名無しさん:2007/02/27(火) 18:27:23
java言語プログラミングレッスン上 java言語を始めよう
結城 浩[著]です
12デフォルトの名無しさん:2007/02/27(火) 18:36:44
プログラミングの本であってWindowsの教本じゃないからね
13デフォルトの名無しさん:2007/02/27(火) 18:40:53
>>9
cd ¥
はドライブCに移動するコマンドじゃなくて、
カレントドライブ(通常はC)の¥(ルートディレクトリ。一番上)に移動する
コマンド。

あなたはプログラミング以前にコマンドプロンプトで出来ることを少し
調べる必要がある。
14デフォルトの名無しさん:2007/02/27(火) 18:43:00
とほほのJava入門
http://www.tohoho-web.com/java/index.htm

一応ここはcdとかdirとかまで書いてある。
まー普通はDOS窓のコマンドまで教えてくれないよな。
前提つーか。
あった方がもちろん初心者にはベターなんだが。
15デフォルトの名無しさん:2007/02/27(火) 18:58:53
>>12-14
私が無知なだけでしたか…。失礼しました。
コマンドプロンプトを勉強して、javaの勉強をはじめようと思います。
皆さんありがとうございました!
16たろ(すれ1):2007/03/04(日) 00:29:06
もう判りません・・・今java勉強中で、サーバーとの通信をテストしています。
参考書には以下のようなプログラムがあったので、その通り実行してみたら、うまくいきました!
(サーバー側)
public void main(String[] args){
 try{
  ServerSocket serverSocket = new ServerSocket(55555);
  serverSocket.setSoTimeout(0);
  while(serverSocket!=null){
   Socket socket = serverSocket.accept();
     ・
     ・
   socket.close();
  }
 }catch(IOException e)System.out.println(e);
}
ただ、この無限ループの終わり方が判りません・・・(TT)
17たろ(すれ2):2007/03/04(日) 00:30:17
(>16の続き)
目的はこのmainのあるクラス(publicクラス)がJFrameを継承しているので、そのフレームを閉じる際にServerSocketとSocketをclose()したいです。
試行錯誤の結果以下プログラムにたどり着きましたが、if(socket!=null)内は実行されず、severSocket.close()でSocketExceptionが発生してしまいます(TT)
※if(socket!=null)が飛ばされるのは、socketがnullだからで、今つまづいているところは
多分main内のsocket = serverSocket.accept();でブロックされたまま開放されていないからではと思うのですが・・・
すみませんが、どなたか原因と対処の仕方をご伝授ください。宜しくお願いします。
(以下プログラム)
public void windowClosing(WindowEvent we){
 try{
  if(serverSocket!=null){
   serverSocket.setSoTimeout(10);
   if(socket!=null){
    socket.close();
   }
   serverSocket.close();
  }
 }catch(IOException e)System.out.println(e);
}
18デフォルトの名無しさん:2007/03/07(水) 15:00:53
ダイアログについて質問があります。ダイアログを使っての入力作業中に
ユーザの入力にエラーがある場合に、新たなダイアログを生成して
注意を表示します。その新たに生成されたダイアログだけを閉じたい時に
OKボタンを設置し、OKボタンが押されたら dispose(); を実行すると
全てのダイアログを閉じてしまいます。どうしたらよいでしょうか?
19デフォルトの名無しさん:2007/03/13(火) 20:34:37
class C1{
}

class C2 extends C1{
  void f(){
    System.out.println("f() is executed.");
  }
}

class Example{
  public static void main(String args[]){
    C1 obj = new C2();
    obj.f();
  }
}

上記のプログラムをコンパイルすると、
「メソッド f() はclass C1 で見つかりません。」
というメッセージが出てコンパイルエラーとなりました。

あるクラスの変数によってサブクラスのオブジェクトを参照する場合、
そのオブジェクトが呼び出すメソッドは、スーパークラスでも宣言されている
オーバーライドメソッドでなければならないということですか?
2019:2007/03/15(木) 03:23:23
すいません、このスレは進行がゆっくりっぽいので他スレで質問しますm(__)m
21デフォルトの名無しさん:2007/03/15(木) 04:12:48
すいませんPCで作っといたJavaアプリが携帯端末では動かないんです。
どうやらVMが違っていてJ2MEとか書いてあるんです。そこでもうぶちきれですよ。
得意げな顔してなにが「write once,run anywhere」だ、おめでてーな。
しかも書きかえようと思っても無料の開発環境が見当たらないんです。そこでまたぶちきれですよ。
なんとか良い方法、逃げ道はありませんでしょうか?よろしかったらご教授願います!
22デフォルトの名無しさん:2007/03/15(木) 10:03:10
お前にMEは向いてない。お前じゃ胃に穴が開くだろう・・・

WTK 2.2 で検索してみろ。俺にはアンチの釣りにしか見えんが。
23デフォルトの名無しさん:2007/03/15(木) 13:45:06
>>19

>あるクラスの変数によってサブクラスのオブジェクトを参照する場合、
>そのオブジェクトが呼び出すメソッドは、スーパークラスでも宣言されている
>オーバーライドメソッドでなければならないということですか?

そりゃ当たり前だわな。C1はf()なんて知らないんだから。
次のコードではいけない理由があるのかな。

C2 obj = new C2();
obj.f();

あるいは

C1 obj = new C2();
(C2)obj.f();

と質問者がいなくなってから答えてみる。
24デフォルトの名無しさん:2007/03/15(木) 13:49:08
訂正
(C2)obj.f(); ×
((C2)obj).f(); ○
25デフォルトの名無しさん:2007/03/21(水) 15:57:08
これ以外にも
例えば入力が面倒過ぎ。
AAAA−BBBB−CCCC−DDDD
と例えば入力するとすると、AAAAの欄入力し終わったと
自動的にBBBBの欄に移動してくれない
わざわざ、キーボードから手話してマウス使わなきゃならない、
マジ面倒。

クレジットカードで払えればいいんだけどね、信用なくって作れねー
26デフォルトの名無しさん:2007/03/31(土) 09:31:42
昨日からNetBeansでJAVAはじめてみたんですけど、Main.javaからNewJFrame.javaを呼び出すにはどうすればいいんでしょうか?
27デフォルトの名無しさん:2007/03/31(土) 10:55:47
NewJFrame.javaを呼び出すというのはNewJFrameのインスタンスを生成
するということ?
NewJFrame njf = new NewJFrame(引数);
28デフォルトの名無しさん:2007/03/31(土) 11:34:43
importの方だと思う。
29デフォルトの名無しさん:2007/03/31(土) 18:58:41
public class Main {
void foo(){
NewJFrame.bar();//class methodの呼び出し方
NewJFrame a = new NewJFrame();
a.zot();//instance methodの呼び出し方
}
}

public class NewJFrame {
public static void bar() {}
public void zot() {}
}
30デフォルトの名無しさん:2007/04/01(日) 10:01:02
みなさんレスありがとうございます。
いろいろと試してみたのですが、うまくできませんでした。
まだまだ勉強不足でやりたいことの説明もできないのですが、
これから一週間出張にでかけねばならず、コンピュータに触れませんので
もうしわけありませんが、またの機会におねがいします。
31デフォルトの名無しさん:2007/04/04(水) 21:58:25
javacで、
javac helloworld.java
はできるんですけど、
javac -sourcepath c:\test helloworld.java
にすると「ファイルが見つかりません」とエラーが出てしまいます。
c:\test\helloworld.javaにファイルがちゃんとあります。
何が悪いんでしょうか。。。
32デフォルトの名無しさん:2007/04/04(水) 23:54:27
>>31
カレントディレクトリをc:\test以外にして
javac -sourcepath c:\test helloworld.java
をやってるんじゃね?
それだと、helloworld.javaをjavacが見つけられなくてエラーになる。
sourcepathオプションはjavacの引数で指定するソースファイルの位置を知らせるものではないので、
ソースファイルが違うディレクトリにある時はちゃんと知らせてやらないといけない。
javac c:\test\helloworld.java
みたいに。
sourcepathオプションは、例えばhelloworld.javaの中でfoo1クラスとfoo2クラスを使っていて、
foo1.javaとfoo2.javaがd:\barにあるとしたときに、
javac -sourcepath d:\bar c:\test\helloworld.java
のように指定できる。
要は引数で指定されたソースをコンパイルしている途中で出会ったクラスのソースを検索するためのパスを指定するもの。
詳細はjavacのドキュメントを参照。
33デフォルトの名無しさん:2007/04/05(木) 16:45:50
>>32
丁寧な解説ありがとうございました。
無事コンパイル出来ました。
34デフォルトの名無しさん:2007/04/08(日) 19:23:32
J2SE v 1.4.2_14 SDK
ダウンロードしたいんですけど、
ttp://java.sun.com/j2se/1.4.2/ja/download.html
にあるリンクの先には
もう残ってないみたいです。

どこにあるか教えてください。
35デフォルトの名無しさん:2007/04/08(日) 23:35:32
>>34
ふつうにダウンロードできたんだが、何がどうなったの?
36デフォルトの名無しさん:2007/04/08(日) 23:41:04
sunから再配布許可された雑誌。

てかjdk7が出たらEnd of Lifeな1.4系を使う理由は何?
ライブラリもVM性能も言語仕様も全てが激変してるから仕事上仕方ないとかじゃないと
1.4系使う意味はないよ?
37デフォルトの名無しさん:2007/04/08(日) 23:58:40
jdk10が出たらEnd of Lifeな7系なんか使う意味ないよ
もうお前はJavaから撤退しろよ
38デフォルトの名無しさん:2007/04/09(月) 03:01:03
j2SE6を使えよ
ライセンス考えたら、いまさら1.4.xは・・
39デフォルトの名無しさん:2007/04/09(月) 05:43:26
>>37が2重に痛いのはあえて突っ込んでやろう
40デフォルトの名無しさん:2007/04/09(月) 17:33:24
拡張子からmimeタイプを得る方法を教えてください。
ただしjavax.activation.MimetypesFileTypeMap#getContentType()以外でお願いします。
4134:2007/04/09(月) 20:32:53
>>34です。
ttp://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=j2sdk-1.4.2_14-oth-JPR&SiteId=JSC&TransactionId=noreg
このページが開けません。
IEでもFirefoxでも開けません。
なので、向こうに問題あるんだと思ってましたが、
どうやら自分のPCか途中がおかしいみたいなのかも。
ブラウザでもほかのツールでも応答が帰ってこないんだよなぁ。
42デフォルトの名無しさん:2007/04/09(月) 20:36:00
おそらく個人的な研究目的なのですが
J2SE v 1.4.2_14 SDK
ないと困るので
ボスケテ
43デフォルトの名無しさん:2007/04/09(月) 20:46:51
>>42
ttp://java.sun.com/j2se/1.4.2/ja/download.html
から普通に見えるが?

>>42がttpなのはtypoだよな?
44デフォルトの名無しさん:2007/04/09(月) 22:31:25
>>40見て思ったんだがmime typeはRFCがあるから良いけど
拡張子はRFCや標準がないから信憑性のあるマッピングって不可能だよな?

変換関数書いた奴の既知のmime typeと拡張子しか対応できないような気が・・・。

#拡張子の標準なんて決めてもどうせMSが守らんしな。
45デフォルトの名無しさん:2007/04/10(火) 13:42:39
14来てたのかしらんかった
早速入れてくる
46デフォルトの名無しさん:2007/04/10(火) 13:48:17
1.5で1.4.2との互換性以前より向上してるの?
47デフォルトの名無しさん:2007/04/10(火) 19:31:32
なぁ・・・
みんな普通にダウンロードできてんの?
どうしようもねーな。おれ
48デフォルトの名無しさん:2007/04/10(火) 22:04:21
プログラムファイルの中にJava Runtime Environment Version 6 Update が
たくさんあるんですけど、最新の以外削除していいですか?
49デフォルトの名無しさん:2007/04/10(火) 22:26:47
マジでしょうもない質問なのですが質問させてください。
今年から大学生活が始まったのですが、講義の内容のプログラミング関係の講義が始まりました。
毎回課題を出して次回の講義までに終わらせないと単位がでないそうです。
大学では当たり前のことかもしれませんが、正直不安で仕方ありません。

ので、javaを参考書・サイト等で先に勉強をしたいのですが
どこのサイトが区別がつけづらいです。
馬鹿らしい質問なのですが、オススメの勉強になるサイトがあれば教えていただきたいです。
50デフォルトの名無しさん:2007/04/10(火) 22:52:57
>>49
ttp://www.hellohiro.com/
ttp://www.javaroad.jp/

基本事項からサーバサイドなんかの応用編まで解説してあり、関連書籍も紹介してある。
51デフォルトの名無しさん:2007/04/10(火) 22:54:54
補足。
どちらのサイトも基礎から応用まで記載はしてあるものの、内容の濃さには欠ける。
一通り入門編を終えたら Effective Java を読むことを奨める。
5249:2007/04/11(水) 00:07:46
49です。情報提供ありがとうございます。
ちなみに大学ではリナックスとかいうOSのPCを使用しているのですが、
この場合大学の課題を自宅(ウィンドウズXP)で作成して、大学に持っていくことは可能ですか?
その大学においてるパソコンはHDDが搭載されてないタイプで、
フラッシュメモリ等でのデータもちこみもできないらしいです。
53デフォルトの名無しさん:2007/04/11(水) 00:36:13
>>52
その大学のマシンは、インターネットにアクセスできる?
Webみたり、外部からのメールを受け取れる?
出来るなら、インターネットから持ち込めるだろうし、
出来なきゃ、無理じゃないかな。
54デフォルトの名無しさん:2007/04/11(水) 01:10:05
>>52
その情報センターには相談員がいるだろうから、その人に聞くべき。
ハードディスクレスのシステムでUSBメモリーや外部HDの接続が禁止で、
外部のメールを受け取れるのも不可なら、お手上げと思う。
ていうか、おたくの大学のシステムのことを、外部の無関係の人に聞くのは
おかしいと思うよ。知るわけないんだし。
55デフォルトの名無しさん:2007/04/11(水) 01:18:02
メインフレームみたいなマシンに記憶装置を一極集中させて
必要なデータは全部そっちから取りに行くタイプか。
最近winでも企業向けにそういうシステムあったね。

ていうか大学の担当講師に聞けよ。
連絡手段ならいくらでもあるだろ。
出来る事とやって良い事は違う。
56デフォルトの名無しさん:2007/04/11(水) 01:22:34
分かったとしてもrootが居なきゃどうしようもないような・・・
57デフォルトの名無しさん:2007/04/11(水) 10:51:22
課題のことは大学で聞くべきでは?
58デフォルトの名無しさん:2007/04/12(木) 22:51:06
今、Javaが必要なページを利用していますが、
昨日Javaが自動アップデートされて以来使えなくなりました。
システムの復元をしても使えないので、再インストールかとは
思っていますが、コントロールパネルからJava関連(アイコンが
カップのもの)を全部アンインストールしてから再インストール
したほうがいいでしょうか?
ちなみに、Java2PlatformStandardEditionのバージョンが1.5.0だと
そのページは使えますが、自動アップデートで(おそらく)
JavaRuntimeEnvironmentVersion6Update1になると使用できなく
なります。
59デフォルトの名無しさん:2007/04/13(金) 00:34:30
SwingとかのActionListenerを使わない方法でコールバックの実装の仕方って
どうやるんでしょうか。
60デフォルトの名無しさん:2007/04/14(土) 08:39:24
tomcat単体では.htaccessは使えないんですか?
61デフォルトの名無しさん:2007/04/14(土) 09:39:44
>>60
.htaccessはapacheが見るものじゃ?
62デフォルトの名無しさん:2007/04/14(土) 10:44:04
まったくの初心者なんですが、
なにを思ったか、頑張って Javaを覚えようと決意して、
薦められた結城氏のプログラミングレッスンで勉強してきました。
そろそろ、次のステップに進もうかなと思っているところですが、
次の本にはなにがいいでしょう?
創るJava という本かなとも思っているのですが。
やっぱり、この本でしょうか?
63デフォルトの名無しさん:2007/04/14(土) 10:59:11
>>62
***Javaのオススメ入門書*** 2冊目
http://pc11.2ch.net/test/read.cgi/tech/1164359039/
64デフォルトの名無しさん:2007/04/14(土) 16:20:35
javaって逆コンパイルされないようにするにはどうやりますか?
ネイティブコードにするにはどうしますか?
65デフォルトの名無しさん:2007/04/15(日) 00:10:59
最初からjavaを使わなければいい。
でも、javaは逆コンパイルしやすいってだけで、
どんな言語でも逆コンパイルやそれに準じた行為から無縁ではない。
javaをネイティブコードに変換するツールもあるが、それでコードが秘密になるわけではないよ。
66デフォルトの名無しさん:2007/04/15(日) 00:15:31
>>64
gcjとかJETとかならネイティブコードを吐くことはいちおうできる
67デフォルトの名無しさん:2007/04/15(日) 01:39:59
>javaって逆コンパイルされないようにするにはどうやりますか?

逆コンパイルの予防ということなら、
Java 難読化ツールでぐぐるといくつか見つかるよ。
(曖昧化ツールという場合もある)

以下は、フリーの難読化ツール ProGuard の記事。
http://journal.mycom.co.jp/news/2005/06/23/025.html
68デフォルトの名無しさん:2007/04/15(日) 01:50:05
ソースコードの暗号化というのもある。
Java Code Protector
http://www.vector.co.jp/soft/other/java/se351039.html
69デフォルトの名無しさん:2007/04/15(日) 06:16:26
1、変数って文字は代入できないんですか?

int a;
a="ハロー";
System.out.println(a);

という内容で、エラーが出ます。
だとしたらずいぶん不便なような。


2、int と double の違いは、扱える数字の大きさだけでいいんでしょうか?


3、
double a;
a=1/2;
system.out.println(a);

だと答えが「0.0」になるのですが、小数点含む計算はどうやるのでしょうか?


一度に複数聞いてすみません。一晩かけてやっと環境が整ったと思ったらわからない事だらけで。
70デフォルトの名無しさん:2007/04/15(日) 06:33:51
>>69
1.整数型に文字列を突っ込むな。不便なのはお前の脳味噌。
2.違う。
3.整数/整数は整数になる。どちらかを小数にしろ。
71デフォルトの名無しさん:2007/04/15(日) 07:18:18
>>70
すみません、あれから調べて色々ある事がわかりました。
まだ解決して無いけど、検索したらソレっぽいのを見つけました。
VBのノリで書いてしまいました。

intとdoubleとbooleanしか無いのだと思ってました。
無知すぎましたね。

ありがとうございました。まだよく理解してないのに勝手に質問しすぎたようです。
後は自分で少しずつ理解していきたいと思います。
72デフォルトの名無しさん:2007/04/15(日) 11:30:49
>>71
まず、『やさしいJava』か『Java言語プログラミングレッスン』を
買ってきて、やるといいよ。
でないと、なにも始まらない。
73デフォルトの名無しさん:2007/04/15(日) 22:39:08
>71
VBにだってStringあるだろwww
74デフォルトの名無しさん:2007/04/17(火) 00:33:21
Tomcat起動時にクラスのインスタンス複数を生成しておいて、それらのインスタンスを
ひとつの「管理クラス」みたいなので保持し、起動後にstaticでgetして利用しています。
この場合、この「管理クラス」ってなんていうんですか?
名前とかの決め方でおすすめがあれば教えてください。
75デフォルトの名無しさん:2007/04/17(火) 07:57:53
何をどう管理するのかによるんじゃない?

なんとなくAdministratorとかManagerとか付けるとよくわからないものに
なりそうなので、具体的に考えた方がいいと思う。
76デフォルトの名無しさん:2007/04/18(水) 07:57:02
すみません質問です。
これからJavaを勉強しようと思っているのですが
おすすめの著書はないでしょうか?
ちなみに、今までC、C++、VBは勉強しましたので
ある程度の知識はあります。
77デフォルトの名無しさん:2007/04/18(水) 13:02:43
78デフォルトの名無しさん:2007/04/27(金) 21:32:37
ソースをコンパイルしたらorg.ccil.cowan.tagsoupは存在しませんというエラーが出ました。
org.ccil.cowan.tagsoupは何を入れればいいんですか?
79デフォルトの名無しさん:2007/04/28(土) 00:22:33
>>78
パッケージ名が見えてない人なんだろうな
Chester County InterLinkにWebページを持っているCowan氏に問い合わせろ
もしくは彼のXMLプロジェクトの中にあるTagSoupのページからダウンロードして自分で何とかするかだな
80デフォルトの名無しさん:2007/04/28(土) 18:59:16
ありがとうございます。
何とかなりそうな気配です。
81デフォルトの名無しさん:2007/04/30(月) 14:17:27
29歳超初心者です。
恥を忍んで、質問させて頂きます。
自分で調べたのですが、基本的すぎるからなのか、情報が見つかりません。

それぞれの言語の関連性が見えてこなくて困っています。
JAVAはHTMLの機能を含んでいるのですか?

JAVAでもホームページって作れるんですよね?
よりよいホームページを作るために、
HTMLやXMLが必要なのでしょうか?

それとも、JAVAという優秀なプログラミング言語は、
HTMLの要素を含んでいるから、
HTMLは今後必要とされないみたいな感じでしょうか?

根本的に聞きたいことは、これからJAVA学ぶ人間が
サイトを作る際にHTMLを覚える必要があるのか?ということです。
お願いします。
82デフォルトの名無しさん:2007/04/30(月) 14:48:00
>>81
javaとjavascriptの違いは?
JSPって知ってる?
何したくて詰まってんの?

俺より年上なら落ち着いて自分の要点をまとめてから書き込むんだ!

#たぶんjava関係ないと思うな・・・
83デフォルトの名無しさん:2007/04/30(月) 15:15:25
webページ作るのにhtmlは必須。組んでるうちに勝手に覚えていくよ。
84デフォルトの名無しさん:2007/04/30(月) 16:10:42
>>82

早速のレスありがとうございます。さっき調べてみたところ、
HTMLに動きを加えるのがスクリプト言語でjava scriptはその一種というこ
とはなんとなく分かりました。javaと互換性がないことも知りました。

javaでHTMLの代用は不可で、全く別物であり、javaだけでサイトは作れない
ということですか?なんでも出来るのがjavaってイメージがあるのですが。

サイト制作、運営の企業に入りたくてjavaの勉強始めたのですが、
javaだけでなくHTMLの勉強もすべきということなんですかね。
ほんと根本部分で申し訳ないですがお願いします。
85デフォルトの名無しさん:2007/04/30(月) 18:08:35
>>84
うん、javaとjavascriptを間違えてる訳じゃなさそうだね。
て事は本気でweb page運営にjava使う気か・・・

javaそのものはHTMLの代替にはならない。
サーバーサイドのアーキテクチャを除いてはね。
javaで動的にハイパーテキストを生成する事は可能だけど、この場合はそれは関係ない。

だから>>81の質問の回答は、"先ずHTMLを覚えて自分で書けるようになる所から"か。
ブラウザ上でjavaが動くのはブラウザをプラットフォームとして組み込んで
実行可能とする技術のおかげだから>>81が想像してるのとは別ベクトルの話になる。

とりあえずUTFサポートしたエディタ揃えて、HTMLの仕様書読破してHTML 4.01のDTD暗記するくらいは出来んとね。
W3Cのページから仕様書探してくれば良い、検索すればそこら辺に邦訳もあるし。
あと覚えるまでWISYWIGに手を出さない事、変なサイトや本に騙されない事か。

とほほは止めとけw
あれは仕様知らないと騙される。
後はweb制作板へ

まあ、HTMLもjavaも知らない人間が自力で調べて
javaとjavascriptの違いが分かったなら何とかなるか。

#29から初めても遅い気がするけど・・・
86デフォルトの名無しさん:2007/04/30(月) 18:49:09
>>84
>>サイト制作、運営の企業に入りたくて
なら、
1)まず、htmlは必須だな
2)次がjavascriptやCSS
3)そして、webサーバーなんかの知識(OSも含めて)
4)最後にjavaとかc#とかphpとかrubyとかperlとか言語系

制作なら1ー2まででもなんとかなる
場合によっては(4)がいるかもしれん
運営なら(3)は必須

もちろん、(4)の先にも色々なものが待ってるがさしあたりはそんなもんかな

って考えると
1)tomcatで自前のサーバー(非公開)を建ててサイトを作る(htmlのみで)
2)prototype.jsでも使ってjavascriptを埋め込む
3)自分の適性を考えてjava/phpなどを選択
4)自分でblogとかchatとか掲示板を作る

んな感じか?

29でも遅くないと思うぞ、俺は
87デフォルトの名無しさん:2007/04/30(月) 18:58:59
>85
とほほって、どの辺が騙し?
俺、とほほ育ちだから判んなくて(´Д`;
88デフォルトの名無しさん:2007/04/30(月) 21:29:32
prototype.jsは止めとけObject.prototypeの汚染とJavaScriptにクラスベースのパラダイム持ち込むのに違和感ない奴はJavaScript向いてないよ。

>>87
相当突っ込まれて相当直してるが基本的に言ってることとやってる事が違う。
仕様書と比べるのが一番良い。細かい所で間違ってるから
自分で分かるようになるまで分からんと思うよ。
89デフォルトの名無しさん:2007/04/30(月) 22:47:41
>>85
>>86

ありがとうございました!学んでいく方向性と道筋が随分クリアに
なりました。コツつかんだら独立するつもりなので、遅くはないと
思ってます。全く別ジャンルで自営やってきて、マネジメントには
自信があったんですけど、何らかの武器、技術を身に付ける必要性
を感じたので。がんばります。
90デフォルトの名無しさん:2007/04/30(月) 23:00:42
>>89
要領のいい説明で無いのに長文は読む気がしねえ
自分が理解できていないということがわかっているのに
自分本位の説明を展開している
俺より年上で29年生きてきたなら
細部まで丁寧なんてことは言わないが、考えてから言葉にして出してくれ
質問者としても俺は落第点だと思うよ
91デフォルトの名無しさん:2007/04/30(月) 23:14:41
どう作っていいかわからないので教えてください。

ガソリン使用量や走行距離に着目して, 自動車の振る舞いを模倣するクラス Car をプログラミングせよ. Carが主たる機能(メソッド)は以下の通りである.
● int fuel(int x) 自動車にあるxリットルの燃料を給油を 試みることができる. タンクの量は有限(簡単のためタンク容量は30リットルに固定)なので, 実際に給油できるのはxリットル以下で, その量が返り値として得られる.
● int odometer() 自動車にその時点での走行距離(キロメートル)を問い合わせることができる.
● void efficiency(int x) 自動車の燃費を設定することができる(xキロメートル/リットル). 燃費は正整数の値を必ずインスタンス毎に設定すること.
● int drive(int x) 自動車をxキロメートル運転することを試みる. 燃料残量によって実際に運転できる距離は変わる. 実際に運転できた距離は返り値として返される.
92デフォルトの名無しさん:2007/04/30(月) 23:16:40
Carクラスのmainメソッドは以下のような内容にして, このクラスの振る舞いが正しいか否かの動作チェックをせよ

// Carクラスの振る舞いのテスト
public static void main(String[] args) {
Car sedan=new Car();
Car wagon=new Car();

sedan.efficiency(20); // セダンならリッター20キロ
wagon.efficiency(9); // ワゴンは9キロしか走れない

sedan.fuel(50); // 双方,50リットル給油しようと試みるが,実際には30しか入らない
wagon.fuel(50);

sedan.drive(100); // 100キロ走ろうとする
System.out.println(sedan.odometer()); // 実際,走れた距離を表示
sedan.drive(200); // 200キロ走ろうとする
System.out.println(sedan.odometer()); // 実際,走れた距離を表示

wagon.drive(100); // 100キロ走ろうとする
System.out.println(sedan.odometer()); // 実際,走れた距離を表示
wagon.drive(200); // 200キロ走ろうとする
System.out.println(sedan.odometer()); // 実際,走れた距離を表示
}
93デフォルトの名無しさん:2007/04/30(月) 23:20:43
>>90

正直>>86の方に頂いた回答しか参考になってませんけど。
94デフォルトの名無しさん:2007/04/30(月) 23:23:24
まあまあ。もう答えは出てるんだし、いらぬ争いはやめとけって。
95デフォルトの名無しさん:2007/05/01(火) 00:04:25
>>94

質問に回答して頂いたことには感謝しています。
ただ、コミュ力と質問の意図を見抜く力は「落第点」だと思います。
96デフォルトの名無しさん:2007/05/01(火) 00:41:44
質問者が回答者を点数付けすること自体おかしいよ
97デフォルトの名無しさん:2007/05/01(火) 00:54:40
>>96

>>90を読みましたか?回答者が質問者を点数付けすることは正しいのですか?
98デフォルトの名無しさん:2007/05/01(火) 00:59:45
>>97
もちろんです!
99デフォルトの名無しさん:2007/05/01(火) 01:20:56
java初心者なのですが、
int a,b に数字を入れて割り算を行い、余りも含めてdouble型で出力しようとして

public static void main(String[] args) {
int a = 5;
int b = 3;
double d;
d = a/b;
System.out.println("5/3="+d);

}

}

と記述してみたのですが、実行結果は1.0となってしまいます。
どうすれば余りも含めて表示することができるのでしょうか?
100デフォルトの名無しさん:2007/05/01(火) 01:21:07
>>94
抽象化した結果表現されるものは、設計者が想定した概念やイメージだ。しかし、
実在するものそのものではなく、人が考えたものであるために、このイメージは
非常に脆く、不安定だ。外部からの影響をもろに受け、形を変え易い。個々人が
持つイメージの些細な相違から認識のずれが生じ易い。扇風機の使い方は人に
よって異なることはないが、人がイメージしたものは、その生成から、破棄に至る
まで、非常に不安定な状態になり易い。それを防ぐには、イメージそのものをなる
べく強固なものにし、インターフェースに一貫性と整合性をもたせ、外因による影響
を受けに難くく、壊れ難くするための技術を見につけ、理解を深めておくしかない。

仮想化とは対象物を不完全ながらもその性質や姿を模倣し現出させることだ。
対して抽象化は、対象物のある特徴的な側面を抽出し概念化することだ。
仮想化で抽象化の技術が使われることはあるだろうが、その逆は考え難い。
コンピュータを使い、扇風機やコタツを抽象化することはできても、仮想化する
ことはできないのだ。少なくとも今の技術では無理だ。コンピュータがその姿形
を変えることはできないのだから。コンピュータが仮想化できるものは、コンピュー
タそのものが直接扱うものだけだ。例えば、仮想メモリ、仮想ネットワーク、仮想
マシン、仮想キーボードといったものだ。
101デフォルトの名無しさん:2007/05/01(火) 01:24:01
>>98

想像以上にバカで逆にすっきりした。アホらしいから寝るわ。
86ありがとう。
10298:2007/05/01(火) 01:32:13
>>101
ちょwwww、ただの通りすがりの池沼である俺が
横から脊髄反射レスしただけだから真に受けるなよwwうぇww
103デフォルトの名無しさん:2007/05/01(火) 03:36:59
>>98
いやお前は間違ってないぞ。
質問の背景が見えないし回答に必要な情報は出てこない。
減点式に評価されて当然だ。

恥をしのんで聞いた割りに人の言葉を聞いてない。
それに>>86程度の内容ググれば幾らでも出てくる
質問の仕方が知れてるから回答も知れる。
やれば出来るのに事前にやる事やってないだろ。やっぱ、減点式に(ry
DQNと変わらん。まあ、スレチだな。

つーか、U29が結構多そうだ。
104潮吹きたい人この指留まれ〜♪:2007/05/01(火) 09:24:59
all-inone-eclipse でjava練習中ですが
for 文で無限ループになりました。
eclipseでデバッグではなく実行で走っていますが
アプリをどうやって終わらせてるのでしょうか?
for ループ内でprint文入れてる場合は
コンソールを表示しているペインに赤い×印のボタン押すとぬけましたが
for ループ内でprint文入れていない場合は
どうやって、アプリの停止、終了をさせるのですか?
よろしくお願いします。ぺこり
105デフォルトの名無しさん:2007/05/01(火) 19:52:12
まずは改名することかな
106潮吹きたい人この指留まれ〜♪ねちょねちょちょんぽがだ〜〜ぃすき:2007/05/01(火) 23:48:30
名前変えたよん♪〜
107デフォルトの名無しさん:2007/05/02(水) 01:00:14
>>99
移動しますね。
108デフォルトの名無しさん:2007/05/03(木) 05:25:54
>>99

余りは 5%3 でないか?
小数点以下のことを言ってるなら

d = (Double)a/b;

コイツで出るはず
109デフォルトの名無しさん:2007/05/04(金) 10:29:48
プログラム初心者です。
Javaが独習できるお勧めサイトを教えてください。
110109:2007/05/04(金) 10:31:17
自己解決しました
お騒がせしましたm(_ _)m
111デフォルトの名無しさん:2007/05/10(木) 21:12:03
112デフォルトの名無しさん:2007/05/13(日) 01:21:43
javaって携帯用アプリも作れるんですか?
113デフォルトの名無しさん:2007/05/13(日) 02:00:15
人間は携帯用アプリも作れますがjavaは携帯用アプリを作れません
114デフォルトの名無しさん:2007/05/13(日) 02:34:54
J2SE5.0をインストールしたいのですが
http://java.sun.com/j2se/1.5.0/ja/download.html?
ここですよね?
ここのどこをクリックすればいいのか解りません・・。
115デフォルトの名無しさん:2007/05/13(日) 03:12:50
>>114
JDK 5.0 Update 11
J2SE 5.0 ドキュメント
J2SE 5.0 JDK ソースコード
の横のダウンロードボタンをポチっと。

でも落とすならこっちじゃね?(なして5.0?)
       ↓
http://java.sun.com/javase/ja/6/download.html
116デフォルトの名無しさん:2007/05/13(日) 08:21:31
>>115
ありがとうございます!
あるソフトを起動しようと思ったら、5.0が必要です。
って言われたので…
今はもっと新しいんですね。
117デフォルトの名無しさん:2007/05/13(日) 12:52:01
ってことは1.4や1.3を使ってるわけね。

5が必要なのか5以降が必要なのか、そのソフトによっては6でも動くのかも
しれない。

118デフォルトの名無しさん:2007/05/13(日) 17:51:32
ホント、マ板は社会不適合者のカスが多いな
119デフォルトの名無しさん:2007/05/13(日) 23:54:56
>>118
( ・∀・)人(・∀・ )カスナカーマ
120デフォルトの名無しさん:2007/05/14(月) 15:58:43
Eclipseのプラグイン作るのって難しいの?
121デフォルトの名無しさん:2007/05/14(月) 17:45:38
どんなものを作るかによる。
凝ったものを作ろうとすればそれなりに大変なのはプラグインに限らない。
プラグインの基本は単純なので簡単なものから作り始めて慣れていったら?
122デフォルトの名無しさん:2007/05/15(火) 00:16:03
簡単
javaをわかってりゃ1日で覚えれる
HelloWorldPluginならその一日でできる

あとは何を作るかだ
123デフォルトの名無しさん:2007/05/19(土) 02:22:11
ネットワーク対戦型ゲームを作りたいのですが、
まず何から始めれば良いでしょうか。
124デフォルトの名無しさん:2007/05/19(土) 04:18:48
>>123
クライアントサイドにSwingをサーバサイドにサーブレットを使ってください
通信部分はJakarta Commons HTTP Clientを使えばいいかもですが
ググってよくわからなければ
素直にSocketでも使ってください
125デフォルトの名無しさん:2007/05/19(土) 11:38:01
>>124
ご親切に何から何までありがとうございます。
126デフォルトの名無しさん:2007/05/20(日) 20:28:25
はじめまして☆どうやってつくればいいのか分からないので教えてください。知らなすぎるからと馬鹿にしないでください。本当に困ってます・・。

課題なんですけど・・。
問題1プログラム「kadai01.java」
1・整数型の変数x、y、answerを定義する。
2・x、yにそれぞれ定数8および10を初期値として設定する。
3・変数answerにxとyを加算した結果を代入する。
4.answerの内容を下記のように表示する。
x+y=18

問題2プログラム「kadai02.java」
1・問題1にて1、2は同様とする。
2・変数xを10倍する。
3・変数answerにxとyを加算した結果を代入する。
4・answerの内容を下記のように表示する。
x+y=90

問題3プログラム「kadai03.java」
1・問題1にて1,2は同様とする。
2・変数zを定義し初期値を10とする。
3・(x+y)*2/zの答えをanswerに代入する。
4・answerの計算結果を表示する。
〜実行結果の表示のしかた〜
 計算結果は○○です。

お願いします!!
127デフォルトの名無しさん:2007/05/20(日) 21:02:39
21日の午前10までにおねがいしたいです。自分勝手ですみません!!
128側近中の側近 ◆0351148456 :2007/05/20(日) 22:03:16
>>126,127
(っ´▽`)っ
宿題は少しは自分でやれ。

(っ´▽`)っ
留年っていいよね☆
129デフォルトの名無しさん:2007/05/22(火) 20:54:14
>>126
宿題スレに書き込めば問題解きたくてうずうずしている奴らがやってくれたのに
普通、教科書最初から読んだり、Web上の入門講座読めば分るはず。
わからない所があれば、何所がどう分らないか具体的に書けば誰か答えてくれる。
教科書が難しいなら以下の講座を覗いてみると良いかも
ttp://www.smg.co.jp/seminar/java/index.html
ttp://www.javadrive.jp/index.html
130デフォルトの名無しさん:2007/05/23(水) 15:59:34
みんなどうやって勉強してますか?
僕は入門書読むだけじゃ、頭に入らないので例題コードすべて書いて実行してます。
例題をちょっと改造なんかしてみたりもしています。
それでも覚えてなかったりしている所があったりします。
こういうやり方は不効率ですかね?

みなさんの勉強法をしりたいです。




131デフォルトの名無しさん:2007/05/23(水) 16:27:19
>>126
ちょっと復習のために解いてみる。

問題1

class Kadai01{
public static void main(String[]args){
int x;
int y;
int answer;

x=8;
y=10;
answer=x+y;

System.out.println("x+y="+answer);
}
}


132気まぐれアナスイ:2007/05/23(水) 16:42:35
>>131
『int』に定義が無いように見えますが?
133デフォルトの名無しさん:2007/05/23(水) 17:06:13
>>132
ちょっと「定義」の意味調べてきます。
134131:2007/05/23(水) 17:29:44
>>132
intの前に『public final static』をつければいいのですかね?

まだ、class宣言と 『public static void main(String[]args)』は
おまじない程度にしかおぼえてません。
学校に行きたいよ〜
135気まぐれアナスイ:2007/05/23(水) 17:42:00
int x=8,y=10,answer=x+y;
136デフォルトの名無しさん:2007/05/23(水) 17:44:57
>>129
>>126みたいな詰まらん問題解くやついるのか?……まあいるだろうけど
137気まぐれアナスイ:2007/05/23(水) 18:55:03
>>136
!(-_Φ+){失礼。}
それは間違いです。
数式の世界に於いて基礎は大切です。
138131:2007/05/23(水) 19:07:59
>>135
『定義』ってint型変数を初期化するってことですかね?
139気まぐれアナスイ:2007/05/23(水) 19:39:55
#include <stdio.h>
main()
{
   if error.
   {
      print
      in((printf(int x=8,y=10,answer=x+y;)=)"yes");
   }
}
140気まぐれアナスイ:2007/05/23(水) 19:44:47
『定義+言語application+文字配列』
!(Φ_Φ+){???}
141気まぐれアナスイ:2007/05/23(水) 19:46:49
開発者は偉大です。
142デフォルトの名無しさん:2007/05/23(水) 20:08:06
>>130
俺は、例題コードをほとんどやらない。そこで解説されている機能を使った
プログラムを組んで理解しするようにしてる。
あとソートや数値計算の基本的なプログラムを組んだり、宿題スレに投下された
問題を解いたり、そこいらにに転がってるのコードを読んだりしてる。
あと、覚えてない所があっても問題無いと思う。そう言うのは使って行くうちに
覚えると思う。
143デフォルトの名無しさん:2007/05/23(水) 23:04:32
>>139-140
勉強しなおしてきます。
ありがとうございました。

144デフォルトの名無しさん:2007/05/25(金) 01:43:00
>>130
年寄りには引出しが少ないのでコードを覚えることが出来ません
どこにその情報があったかだけを覚えます

もう一回見たらなんとなくわかって、
もう2回みたらちゃんとわかってきて・・

そんなもんです
145デフォルトの名無しさん:2007/05/25(金) 03:58:00
いろんな粒度のパターンを頭の中に持って各問題に対してどう適用するか応用力を養えばいい
146デフォルトの名無しさん:2007/05/26(土) 04:17:46
こちらにリネージュ2エミュレーションサーバーのことを
わかる方いらっしゃいますか?
147デフォルトの名無しさん:2007/05/29(火) 15:22:22
こんにちは。『やさしいJava第3版』の練習問題に取り組んでいて、

*
**
***
****
*****

このようなものを出力するコードを書いてみたのですが、私の回答が

class SampleP4
{
public static void main(String args[])
{
for(int i=1; i<=5;i++){
for(int j=1; j<=i; j++){
System.out.print("*");
}
System.out.print("\n");
}
}
}

であったのに対し、模範解答は変数jをインクリメントするfor文が for(int j=0; j<i; j++){
となっていました。jのインクリメントの仕方が、私は1,2,3,4,5で、模範解答は0,1,2,3,4となるのでしょうが、
この問題の場合はどちらでも良いのでしょうか?よろしくお願いしますm(__)m

148デフォルトの名無しさん:2007/05/29(火) 18:31:22
>>147
結果は同じなのでそれでも構わない
for(int i=0; i<5;i++){
for(int j=0; j<=i; j++){
とかでもいいよ
実現方法は一種類ではない
149デフォルトの名無しさん:2007/05/30(水) 03:53:48
>>148
ありがとうございました。m(__)m
150デフォルトの名無しさん:2007/06/08(金) 01:18:36
>>147
ただし、配列とか扱うようになると0から数える場合が多くなって1からカウントするとエラーの元になる場合が多いから、
n回繰り返すときは for(i = 0; i < n; i++) と覚えた方が後々楽になる。
151デフォルトの名無しさん:2007/06/09(土) 08:17:38
どなたか解決方法をお教えください。
01
01
01

02
02
02

03
03
03
上記のようのに並んだデータを

01


02


03

と、重複する値を削除し、重複する値の箇所には何も表示しない様に
するにはどうすればいいでしょうか?
ちなみに、01,02,03はSTRING型です。
152デフォルトの名無しさん:2007/06/09(土) 13:43:39
>>151
STRING型がString型のことだとして、それはどこに並んでるデータなんだ?
わざわざString型と言っているということは、既にインスタンスの並びになっているということか?
たとえばString型の配列なんだとしたら、要素にnullがないことを条件に、
String[] array = { "01", "01", "01", "", "02", "02", "03", "03", "03" };
String t = null; for (String s : array) if (s.equals(t)) System.out.println(); else System.out.println(t = s);
ここでは、何も表示しない=改行のみとしたが、適宜自分の仕様に合わせろ。
153デフォルトの名無しさん:2007/06/09(土) 17:41:11
>>151
01 AAA 12-34
01 BBB 22-34
01 CCC 33-34
・・・

みたいなテキストファイルがあると仮定してみる。
FileReader>BufferedReaderでそれを読み込んでreadLine()
BufferedWriter>FileWriterで出力先を作る
最初をゼロで埋めているので値が二桁に確定していると考えるとsubstring()で最初の2文字を取得
既得リストを作っておいてなければリストに格納しそのまま出力、あれば改行を出力
とか言ってみる。たぶん違う。
154デフォルトの名無しさん:2007/06/10(日) 01:02:18
newが良く分からないのですが、メモリを確保するための予約語なんですよね?
 基本型では確保するメモリ量が決まってるから省略
 参照型では、参照先を指定する値の為のメモリ量が決まってるから省略
 それ以外では、どれだけメモリ取っとけばいいか分からないからnewではっきりさせる
こんな理解で良いですか?
うざい質問かもしれないのですが、より初心者向けなスレとか教えて頂けると助かります
155デフォルトの名無しさん:2007/06/10(日) 02:04:11
メモリを確保する予約語じゃない
インスタンスを作成する演算子だ
156デフォルトの名無しさん:2007/06/10(日) 02:13:57
基本型でもなく参照型でもないものって何だろ?
157デフォルトの名無しさん:2007/06/10(日) 02:24:46
null型がある。任意の参照型にキャストできるが参照型とは別の特別な型。
154の話とは無関係だが。
158デフォルトの名無しさん:2007/06/10(日) 09:02:39
混乱してきたので出直します
お答え頂きありがとうございました
159デフォルトの名無しさん:2007/06/10(日) 10:57:08
じっくり頭を整理するのがいいさー
160デフォルトの名無しさん:2007/06/10(日) 13:36:04
型について勘違いしてたみたいです。でもやっぱり分かりません。

自分が混乱している理由を整理すると、
 1. String等でnewを使わなくて良いのはなぜ?
 2. newは予約語なのに、演算子として解説されているのはなぜ?
ということだと思います。

newについては
 用途:コンストラクタを呼び出す
 動作:メモリ上の任意の領域を確保し、その領域を参照するための値を代入する
ということで良いですか?
161デフォルトの名無しさん:2007/06/10(日) 13:48:07
動作ではなくて結果でした。
162デフォルトの名無しさん:2007/06/10(日) 20:49:58
>>160
1. "abc" は ConstantPool 上の String オブジェクト "abc" を表すリテラル。

2. instanceof も予約語かつ演算子な語句だよな。
new も同じように予約語かつ演算子だから、「約語なのに、演算子として解説」 されてるんだと思うよ。

用途:インスタンスを作成する過程でコンストラクタを呼び出すんだな。

動作:実際にはメモリ(=ヒープ領域)を確保しないで済ませちゃうかもしれない。
160 に書いてある動作は実装上の動作であって、言語仕様上の動作じゃないな。


とりあえず、言語使用を読むことをお勧めするよ
ttp://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#41147
163デフォルトの名無しさん:2007/06/11(月) 03:40:32
>>162
ありがとうございます。大分もやもやが取れてきました
頑張るぞー!
164デフォルトの名無しさん:2007/06/12(火) 02:01:28
C言語で
typedef struct _header {
unsigned char opcode;
unsigned long oprand;
} header;

memcpy(&header, src_ptr, sizeof(header))

unsigned char 1byteリトルエンディアン
unsigned long 4byte リトルエンディアン

みたいな感じでバイナリファイルのヘッダ解析とか
したりしますよね?

これってJavaでどうやって書けばいいんですか?
教えてください。
165デフォルトの名無しさん:2007/06/12(火) 02:08:59
/*
typedef struct _header { 
unsigned char opcode; 
unsigned long oprand; 
} header; 

memcpy(&header, src_ptr, sizeof(header));
*/
166デフォルトの名無しさん:2007/06/13(水) 00:44:16
nioのバッファとか使えばいいんだろうけど。

typedef struct _header {
unsigned char opcode;
unsigned long oprand;
} header;

memcpy(&header, src_ptr, sizeof(header))

これ、パディングどうなってんのよ。
167デフォルトの名無しさん:2007/06/15(金) 06:26:47
OutputStreamWriter,およびInputStreamReaderを利用時に、指定すると文字化けしてしまう文字エンコーディングがあります。
具体的にはEUC_JP、ISO2022JP、とサポートされているはずのものです。

ちなみにOSはWindowsXPで、SJIS、MS932が現在正常に使えるエンコーディング名です。
どこに問題があるものなんでしょうか?




168デフォルトの名無しさん:2007/06/15(金) 08:30:18
>>2
DirectByteBuffer
169デフォルトの名無しさん:2007/06/16(土) 03:06:49
IDE のプラグインじゃないプロファイラはありませんか?
TPTP のためだけに Eclipse 入れるのもどうかと思っちゃいまして……

-agentlib:hprof って手もありますけど、できれば
・時間ごとのヒープ使用状況と GC の様子
・各メソッドの実行時間・実行回数の統計
の2つが知りたいんです。


ぶっちゃけ CLRProfiler みたいなのって無いっスかね。
170デフォルトの名無しさん:2007/06/28(木) 21:53:30
大学で今までCをやっていたのですが、教授が入院したためにjavaのクラスに急に移動させられました。
javaを始めて一週間なのですが、明後日までに課題の提出を迫られました。
必死にやってみたのですが、さっぱり意味がわかりません。
わかる方、どうか助けて下さい。
下にわかるだけの課題の内容は書き込んでおきます。

【 課題 】

@右詰で数字を入力し、Enter キーを押した時、数字の値を10倍して表示する。
A何度も数字を入れたらそれらを10倍した数をそれぞれ足し合わせた数同じウィンドウの中に表示する。

【 形態 】Javaアプリケーション
【 期限 】土曜日の授業まで(朝の9時開始)
【 Ver  】1.5


ですよろしくお願いします。
171デフォルトの名無しさん:2007/06/28(木) 22:11:46
java -deprecationでコンパイルしたら
Test$1.classというのが出来たんですけど、これって何ですか?
172デフォルトの名無しさん:2007/06/28(木) 22:18:25
>>171
匿名クラスのクラスファイル
deprecationをつけなくてもできるはず
Testクラスの中に無名クラスの定義が入れ子になって入っている
あとjavaではコンパイルできないんでjavac使え
173デフォルトの名無しさん:2007/06/28(木) 22:35:08
>>172
c付けるの忘れてました(´・ω・`) ありがとう

>>170
"java 入力待ち"でぐぐって見て下さい
あとはfor文とif文を駆使すれば出来ると思います
174170:2007/06/28(木) 22:35:46
すみません
板をまちがえました

正規の課題の板でアドバイスを頂いています
ご迷惑をおかけしました
175デフォルトの名無しさん:2007/06/29(金) 09:20:04
今度仕事でjavaを使ってアプリケーションを作ることになりました。
具体的には、画面からデータ入力してデータベースというものに格納され、
かつ帳票も作成するといった感じです。
プログラミングも初めてなので、正直何から初めてよいかわかりません。
いい勉強の仕方があれば教えてください。
また、現実的に開発にはどのぐらいかかりそうなのか経験者の方に
お尋ねしたいです。
ちなみに機能的には、画面数10帳票数5程度です。
176デフォルトの名無しさん:2007/06/29(金) 12:36:30
まずは上司や先輩などの経験者に聞くべき
君がやろうとしている仕事の内容を一番知っているのも彼らだ
社員を育てるのも会社の仕事
177デフォルトの名無しさん:2007/06/29(金) 14:43:46
>176
社内にはjavaを知っている上司や先輩はいません。
独学で学ぶしかないのですが、わかりやすい書籍や
WEBサイトとかないですかね。
178デフォルトの名無しさん:2007/06/29(金) 15:11:04
君にとってわかりやすいのはどんな本なのか、、、材料が無いのでわからん
179デフォルトの名無しさん:2007/06/29(金) 19:35:54
java未経験者とかならともかく、何でプログラミング未経験者にそんなものを作らせようと考えたんだろう。
プログラミングに対する適性にもよるがその開発が完了するのにかなり時間がかかりそうだ。
誰も知らないのにjavaを開発言語に選択した経緯とかも疑問だな。
周囲にjavaは知らなくてもプログラミング経験者がいるのなら、
まずその人間にプログラミングの基礎から教えてもらった方がいいかもしれん。
手取り足取りまでいかなくても直接疑問をぶつけられる人間がいると独学より効率がいい。
プログラミングの基礎が少しでもできればjavaに独学で入っていくのも楽になる。
だいたいどれくらいの期間のプロジェクトなんだ?
短期間でとかいうならよほど努力するか天賦の才がなければ大変なことになりそうだ。
180デフォルトの名無しさん:2007/06/30(土) 00:07:27
プログラミング初心者になにも教えず、一人で開発させるなんて、
いったいどんな会社だwww
181デフォルトの名無しさん:2007/06/30(土) 00:16:47
始めまして。
ラッパークラスの用途、利点が分かりません。
ラップするクラスの機能を拡張するという事でいいのでしょうか?
182デフォルトの名無しさん:2007/06/30(土) 01:02:03
拡張だけじゃなくて隠蔽もできるぞ
特定の内部動作を外部からいじられないようにしたり
バグのできやすい部分を補ってやったり
183デフォルトの名無しさん:2007/06/30(土) 07:53:44
>>175
ひだりもみぎもわからない初心者が独学でやるのは難しいんじゃないかな?
つらすぎると思うよ
なにも出来ないままただ時間が過ぎるだけになりそう
なにかとわけのわからない事が多いから
誰かしらおしえてくれる人がいないと
進まないでつまづいたままになって終わらないと思うよ
184デフォルトの名無しさん:2007/06/30(土) 10:38:29
>>181
エレベーターガールを置くようなものだよ
185デフォルトの名無しさん:2007/06/30(土) 16:44:52
>>181
あるクラスが柔軟性が高いとかできることが多様などの理由で呼び出しに複雑な手順を踏む必要がある場合、
柔軟性などを犠牲にしてでも簡単な手続きで呼び出せるようにしたいという需要を満たすために作るのがラッパクラス
186デフォルトの名無しさん:2007/07/01(日) 16:03:13
質問です。
2chビューアを作りたいのです。
dat落ちしたスレのログを他のユーザが持っている場合はそちらからコピーできるようにしたいのです。
ネットワークプログラミングならJavaが良いと漠然と思うのですが、Javaはほとんど初心者です。
そこで次の質問にお答えください。
1 Javaよりもふさわしい言語は他にありますか?
2 開発環境はEclipseが有名なようですがどうですか?
3 SWINGとSWTがあるようですがどちらが良いのでしょうか?
4 何か良い本を薦めてください。
5 既にそういうソフトがあれば教えてください。車輪の再発明はやめます。
187デフォルトの名無しさん:2007/07/01(日) 16:42:52
188デフォルトの名無しさん:2007/07/01(日) 16:53:23
>>187
即レスありがとうございます。
紹介してくださったソフトでは過去ログの共有はできますか?
189デフォルトの名無しさん:2007/07/01(日) 18:18:55
>>188
あんたは何使っても無理だと思うよ
190デフォルトの名無しさん:2007/07/01(日) 18:32:15
>>189
そういう返事はもっとレベルの高い質問スレでどうぞ。
191デフォルトの名無しさん:2007/07/01(日) 18:40:01
>>190
どこ?
192187:2007/07/01(日) 19:44:19
>>188
てっきりJavaで2chブラウザを作りたいのかと勘違いしました。申し訳ないです。
ログの共有に関しては2chブラウザによって形式が違ったりなどいろいろな問題があるので、
単純に対応というのは難しいと思います。
正直申し上げますと>>186の書き込みからしてこれを自作するのは困難かと思われます。
2chブラウザを探すのはソフトウェア板で聞かれたほうが有益かと思いますので、
そちらへ行かれることをお勧めします。
193デフォルトの名無しさん:2007/07/01(日) 21:35:23
>>192
度々ご回答くださりありがとうございます。
P2Pのようなしくみでログを共有してスレや鯖が落ちているときも読めるようにしたいのですが。
まずは既存のソフトでそのようなものがないか探してみます。
194デフォルトの名無しさん:2007/07/01(日) 22:54:17
共有は共有でもP2Pか
おれてっきり拾ったdatファイルを2chブラウザで見れるようにしたいのかと思ってたよ・・・orz
195デフォルトの名無しさん:2007/07/02(月) 10:33:20
車輪の再発明って初心者が使うには便利な言葉だな。
やりたくないって意味だろ
196デフォルトの名無しさん:2007/07/02(月) 16:18:51
おまいら、もっと初心者を甘やかしてJavaを普及させなきゃダメじゃないかw
197デフォルトの名無しさん:2007/07/02(月) 18:32:51
甘やかして普及するくらいなら、滅びよ現実!
198デフォルトの名無しさん:2007/07/02(月) 20:23:11
すみません。
サンのHPから JDK 6u1 をダウンロードしようと思うのですが、サーバーが見つかりませんの表示しか出ませんorz
開発環境をダウンロードするのって今はもう無理なんでしょうか。。。
199デフォルトの名無しさん:2007/07/02(月) 20:50:29
JDK6 って公開されてからまだ1年経ってないよな
200デフォルトの名無しさん:2007/07/02(月) 23:52:16
>>198
問題なく落とせるよ
何を使って落とそうとしてる?
201デフォルトの名無しさん:2007/07/03(火) 00:06:30
IE6.0で、ダウンロードをいくら押してもサーバーが見つかりませんと出ますorz
202デフォルトの名無しさん:2007/07/03(火) 00:15:02
うちもIE6だけど普通に繋がるなあ
ダウンロードボタンを押すと、リダイレクトされたり、その接続先がhttpsになったりで激しいから
201のセキュリティ環境が厳しすぎるとかなのかな
または、DNSがバカになっててダウンロード用の接続先を解決できないか
203デフォルトの名無しさん:2007/07/05(木) 07:34:57
JFrame frame1 = new JFrame();
JTextArea jta = new JTextArea();
func1(){
frame1.setSize(300, 300);
frame1.setVisible(true);
frame1.add(jta);

これでテキストエリアが表示されないのですが
どうすればいいのでしょうか
204デフォルトの名無しさん:2007/07/05(木) 09:01:01
>>203
func1(){って何だよw

表示されてしまったコンテナのサブコンポーネントが変更された時は
そうと知らせなければコンテナは自身の大きさが変更されるとかのイベントでも起きない限り
サブコンポーネントの変更を知りようがない

試しに元のままでフレームのサイズを変更してみればJTextAreaが表示されるはず

frame1.add(jta);
frame1.setVisible(true);
のようにaddしてからsetVisibleするか

frame1.setVisible(true);
frame1.add(jta);
frame1.validate();
のようにaddしたあとvalidateで再配置させる
205デフォルトの名無しさん:2007/07/05(木) 15:07:57
>>204

表示されました
ありがとうございます
206デフォルトの名無しさん:2007/07/07(土) 16:49:19
http://www.uploda.org/uporg892942.gif.html

この問題の解答例をお願いします。
207デフォルトの名無しさん:2007/07/07(土) 16:56:40
>>206
宿題は宿題スレへ
208デフォルトの名無しさん:2007/07/07(土) 16:59:43
>>207
すまん、そんなスレがあったのか。
ありがとう。
209質問1/2:2007/07/08(日) 07:16:45
コマンドラインから入力した数字以下の素数を表示させるプログラムを作っていたのですが



public class Sosuu1 {
public static void main(String[] args) {


int[] data = new int[args.length];//ここから3行はコマンドラインから数字を入力するためのものである。まず、int型の配列dataをつくる。
data[0] = Integer.parseInt(args[0]);//ここで整数に変換する
System.out.print(data[0] + "以下の素数を表示します ");//コマンドラインから入力した数字を表示する



boolean[] prime =new boolean[1000];//判別
for(int tasikame = 2 ; tasikame < 27 ; tasikame++){ //37×27=999 ここでは配列を1000個しか用意していないのでtasikame < 27とした。
prime[2*tasikame] = false;//素数でないというフラグをつける
prime[3*tasikame] = false;//素数でないというフラグをつける
prime[5*tasikame] = false;//素数でないというフラグをつける
prime[7*tasikame] = false;//素数でないというフラグをつける
prime[11*tasikame] = false;//素数でないというフラグをつける
prime[13*tasikame] = false;//素数でないというフラグをつける
prime[17*tasikame] = false;//素数でないというフラグをつける
prime[19*tasikame] = false;//素数でないというフラグをつける
prime[23*tasikame] = false;//素数でないというフラグをつける
prime[29*tasikame] = false;//素数でないというフラグをつける
prime[31*tasikame] = false;//素数でないというフラグをつける
prime[37*tasikame] = false;//素数でないというフラグをつける
}
210デフォルトの名無しさん:2007/07/08(日) 07:18:06


int i = 0;//int型の変数iを初期化
for (int s = 2 ; s < data[i] ; s++) {
if(prime[s]==false){//もしprime[s]がfalseのときは・・・
System.out.print("×");//なにも表示しない
}else{ // それ以外のときは
System.out.print(s+",");//表示せよ
}
}


}
}

で実行しても、どうしても上手くいかないのですがなぜなのかどうしても分かりません。
どうすればいいのでしょうか?
211デフォルトの名無しさん:2007/07/08(日) 17:13:00
Podcastの動画再生(MPEG4)ってJavaでできる?
wmvに変換してCで作った方が楽?
212デフォルトの名無しさん:2007/07/08(日) 18:26:16
>>209
boolean配列の要素の初期値はfalseだということ。
全てにfalseが入っている配列にfalseでフラグを立てても意味がない。
最初に全要素にtrueを代入するか、または、trueで非素数のフラグ立てをするかする。

どううまくいかないのか、どうなってほしいのか書いていないから推測だが、
その方法だと、例えば、2の倍数は2*26=56までしか非素数フラグを立てられない。
3の倍数だと3*26=78まで。もし、そういう方法を取るのなら各素数ごとに、
tasikameの終わりの値を変えないと取りこぼしがいくらでも出てくる。
それに、その方法は41の倍数の排除ができないよね?
もしそのやり方を通したいなら、まず2自身を除く2の倍数だけ排除して、
排除されなかった最小の整数(つまり3)自身を除くその整数の倍数を排除して、
という感じで順番にやれば簡潔なプログラムになると思う。
213デフォルトの名無しさん:2007/07/08(日) 19:17:47
>>212
ありがとうございました、もう一度その方法でやってみます
214デフォルトの名無しさん:2007/07/08(日) 19:27:51
>>212
上手くいきました、ありがとうございました。
どうやらboolean配列の要素の初期値はfalseだという基本的なことを理解していなかったのが原因だったようですorz
215212:2007/07/08(日) 19:40:43
問題に本質的ではないけど、つっこまれる前に訂正しておく。
2*26=52だねorz
216デフォルトの名無しさん:2007/07/16(月) 22:52:16
java、超初心者です。
諸事情により、javaでマウスポインタの軌跡を測定し保存することになったのですが…
そういうのってできますか?javaならできる!と言われたのですが自分では解らなくて…。
217デフォルトの名無しさん:2007/07/16(月) 22:53:46
付箋を作成したいのですが、コンパイルができません。
C:\sample>javac FusenExec.java
FusenExec.java:6: シンボルを見つけられません。
シンボル: クラス Dodai
場所 : FusenExec の クラス
Dodai fusen;
^
FusenExec.java:7: シンボルを見つけられません。
シンボル: クラス Dodai
場所 : FusenExec の クラス
fusen = new Dodai();
^
エラー 2 個

因みに、ソースはこれです。どこがおかしいかを指摘ください。
class FusenExec{

public static void main(String[] args){


Dodai fusen;
fusen = new Dodai();
fusen.setSize(300,50);
fusen.setVisible(true);

}
}
218デフォルトの名無しさん:2007/07/16(月) 23:09:52
>>216
できるかできないかと言われればできる。
219デフォルトの名無しさん:2007/07/17(火) 01:52:27
>217
Dodai クラスが宣言されていない。
220デフォルトの名無しさん:2007/07/17(火) 01:54:32
マルチするやつは低脳
221Cの老師を目指す女:2007/07/18(水) 00:23:11
裕美子といいます。大都会の片隅で、×いちの孤独なOLをやっています。

>>217
最近出版された書籍のサンプルプログラムですね。Dodai.jarはきちんと
指定されたディレクトリにコピーして、Pathの設定も指定通りでしょうか?

よくわからなかったら、Dodai.jarをソースファイルが置いてあるディレクトリ
にコピーしてみてください。
222デフォルトの名無しさん:2007/07/24(火) 07:09:48
2chでいきなり自己紹介する奴は久しぶりに見た
223デフォルトの名無しさん:2007/07/24(火) 08:08:32
新参か
224デフォルトの名無しさん:2007/07/24(火) 14:45:49
抽象クラスClassAから派生させた、
ClassAAのインスタンスやClassABのインスタンスの入る可能性のあるvariable1は

ClassA variable1;
variable1 = new ClassAA();
variable1 = new ClassAB();
てな風に使えますよね?

ここでClassAのメソッドは、variable1.cA_Method1();という風に使えると思うのですが、
ここで、変数の内容がclassABのインスタンスだった場合のみ、classABのみに実装されている
.cAB_Method1()を呼び出すにはどうすれば良いのでしょうか

if (variable1 instanceof ClassAB){variable1.cAB_Method1()}
とやっても ifの中の実行内容はなんら変わってないので何の解決にもなりませんでした

動的言語しか使った事無いのでよくわからません
225デフォルトの名無しさん:2007/07/24(火) 15:20:24
>>224
何もしない同名のメソッドを他方にも作って継承元で仮想関数を定義。
「何かおかしい」と思うならそれは設計がおかしいんだろ、多分。
226デフォルトの名無しさん:2007/07/24(火) 15:48:17
Javaって仮想変数ないですよね
やっぱり何もしない関数をスーパーに置いておいて、サブでオーバーライドするしかないんですね
ありがとうございました
227デフォルトの名無しさん:2007/07/24(火) 18:24:57
>>224
静的な型がClassA型の変数variable1が呼び出せるメソッドはClassAで定義されているもののみ。
ClassAB型で定義されているメソッドを呼び出したければキャストで静的な型を動的な型に合わせればいい。
if (variable1 instanceof ClassAB){((ClassAB)variable1).cAB_Method1();}
228デフォルトの名無しさん:2007/07/24(火) 18:29:08
キャスト演算子より.の方が優先順位が高いので、
(ClassAB)variable1.cAB_Method1();
としないように。
229デフォルトの名無しさん:2007/07/24(火) 18:40:16
理解しにくけりゃ
if(variable1 instanceof ClassAB){ClassAB variable2=(ClassAB)variable1; variable2.cAB_Method1();}

ClassA variable1;
variable1=new ClassAA();
みたいにスーパークラス型の変数には無条件で代入できるけど
サブクラス型の変数へはキャストが必要になる
キャストは強引に型を変換するから代入したものが本当にその型でなければ当然死ぬ
230デフォルトの名無しさん:2007/07/24(火) 22:02:29
>>224
>>226

仮想変数というものは寡聞にして知らないのだが:

Javaのインスタンスメソッドは全部C++でいう仮想関数だし、
純粋仮想関数(=0)はabstractで宣言したメソッドが該当するぞ。

何もしない
foo() {}
のようなメソッドではなく
abstract foo();
と宣言しておくことで、サブクラスでの実装を強制できる。


231Tomcatについての相談ですが・・・:2007/07/29(日) 17:58:06
『やさしいJava活用編第2版』の学習をした方、あるいはTomcatを使ったことがある方が
いましたら以下の問題の解決にご協力くださいm(_ _)m。

付録CD-ROM内のTomcat 5.5をウィザードに従ってインストールしたのですが
すべてのプログラム→Apache Tomcat 5.5 →Monitor Tomcatという風にTomcatを
起動しようとしても、

   (X) アクセスが拒否されました。

      Unable to open the Service Manager


と表示され、プログラムを起動することができません。



インストールする際に、麻奈本に載っていたスクリーンショットではUser Nameがadmin、
Passwordが空欄だったにも関わらず、ユーザー名とパスワードを設定してインストール
したのが原因なのかな?と思い、アンインストールし、パスワードを設定せずにインストール
し直しましたが駄目でした。

ちなみにOSはWindows Vista Home Basicです。


よろしくお願いします。m(_ _)m
232232:2007/07/29(日) 19:44:19
http://dream.mods.jp/news/tomcat.html

むむぅ・・・これが解決策なんでしょうか・・・。
Sysdeoっていうソフトを見つけてくればいいのかな。
233デフォルトの名無しさん:2007/07/30(月) 11:09:35
流れぶった切ってスマソ

Javaをまじめに始めて3日ぐらいなんだけど、
PHPで言う所のsystem(); みたいなものって
Javaにもある?
234デフォルトの名無しさん:2007/07/30(月) 13:42:09
くだすれでも聞きにくい超低レベルな質問というか確認なのですが・・・

現在c: >Program Files >javaに入っているフォルダが

jdk1.5.0_11
jdk1.5.0_12
jre1.5.0_11
jre1.5.0_12
jre1.6.0_01

となってます。古いバージョンが残っているようなのですが、最新バージョンを入れても
古いものが上書きされるのでなく、旧バージョンは手動で削除する必要があるのでしょうか?

この場合は
jre1.6.0_01、jdk1.5.0_12を残して他はすべてフォルダごと削除してもOKなのでしょうか?

幼稚な質問ですがよろしくお願いします。
235デフォルトの名無しさん:2007/07/30(月) 18:58:34
プログラムの追加と削除でアンインストール。
236デフォルトの名無しさん:2007/07/30(月) 20:19:11
>>233
PHPのsystem();がどんなものか分からんが
外部プログラムを起動するCのsystem関数に相当することをやるならProcessBuilderクラス
もし外部プログラムに対する入出力が必要ならProcessBuilder#startで得られるProcessインスタンスから
入出力のストリームをもらえ

でもjavaを始めて3日で外部プロセスに依存するなんていかんよ
まずはpure javaプログラムでどこまでできるか勉強したほうがいい
237デフォルトの名無しさん:2007/07/30(月) 20:33:45
>>231
c:\programfileじゃないとこだったら
入ったよ。
一応、unc無効にしてからやったけど。
238237:2007/07/30(月) 20:37:07
みすった。
uncじゃなくてuacだった。
239デフォルトの名無しさん:2007/07/30(月) 20:41:08
>>236

おぉ、thx!

ProcessBuilder builder = new ProcessBuilder("notepad");

こういうことか。
いや、簡単なランチャー作れるね。

> PHPのsystem();がどんなものか分からんが
system("notepad",$retval);
こんな感じ。

> まずはpure javaプログラムでどこまでできるか勉強したほうがいい
今は基本部分やっとります。
延長上にそれがあるなら、楽しいなと思ってね。

ありがとう。
240デフォルトの名無しさん:2007/07/30(月) 20:51:20
>>239
そうそう、そんな感じ
そのあとbuilder.start()で実際にプロセスを起動する
どんな言語もそうだけどjavaもいろいろ楽しいから楽しみながらがんばれ
241デフォルトの名無しさん:2007/07/30(月) 23:02:58
あまり汎用性はないが、1.6だとGUI上のシェルみたいに
desktop.browse(uri)
desktop.open(file)
とかもできるようになった。
242デフォルトの名無しさん:2007/08/01(水) 02:52:35
232へ
違うだろ。
これはあくまでもEclipseの場合じゃないかな?
サイトを見た限り。
で?できた?
この板ではなく別の板かサイトを見たほうがいいと思うよ。
243231=232:2007/08/01(水) 12:00:11
>>242

>>232のサイトだと、Tomcatをインストーラーを使わずにzipでダウンロードし、
手動で導入すれば、フォルダのtomcat6.exeをクリックでとりあえず起動できる
ようになるということですよね。

さらにEclipse+Sysdeoを使えば普通にコントロールできるようになると・・・。

すみません。それらの方法はまだ試していません・・・。

一応全てのコードをメモ帳手打ちで学習したかったので、狭い部屋の狭い机の
Vista PCをどかして、XPのノートPCにTomcatを入れたら普通に動いたので
なんとか学習を継続しています。
244デフォルトの名無しさん:2007/08/01(水) 16:03:01
いいんじゃないの?
それで。
しかし2台もPC持っているのはすごいな。
でも2台Windowsなのはもったいないから。
XPで学習が終わり次第、Linuxを入れよう。
幅が広がるよ。
245デフォルトの名無しさん:2007/08/01(水) 16:19:22
PC2台って別にすごくないし珍しくも無いよ
特にこの板とかだとね
246デフォルトの名無しさん:2007/08/01(水) 16:47:43
誰もメモ帳につっこまないw
247デフォルトの名無しさん:2007/08/01(水) 18:50:15
>>245がKYだなw
248231=232:2007/08/03(金) 01:34:03
もう一つお願いします(汗)。

サーブレット(Sample6.java)をコンパイルしようとしたのですが、コンパイルエラーとなり、

import mybeans;

の文が指摘されました(mybeansはサーブレットと同じディレクトリに属すフォルダ名です)。

「.」が無いということなので、次は「import mybeans.*;」に修正してコンパイルしても、
パッケージmybeansは存在しませんと言われてしまいます。

あるはずのパッケージがコンパイルにおいて認識されない場合、どういった原因が考えられ得る
でしょうか。ご教示いただけるとありがたいです。


Tomcatをインストール →(省略)→ WEB-INF →→ classes →→→Sample6.java
したディレクトリ                                         |
                                                       → mybeansフォルダ → CarBean.java
249248:2007/08/03(金) 02:09:26
「やさしいJava 活用編 "import mybeans"」でググってみたら
「Java質問・相談スレッド102」でも全く同じ相談があったらしく、その人は自力で
解決できたみたいですけ、原因が分からなかったとか。
250デフォルトの名無しさん:2007/08/03(金) 11:45:06
コンパイルって何を使ってんの?コマンドライン?
251248:2007/08/03(金) 11:49:14
>>250
javacを使用しています。
252248:2007/08/03(金) 11:56:11
コマンドプロンプトを使ってjavac Sample6.javaと入れてコンパイルを試みています。
253デフォルトの名無しさん:2007/08/03(金) 12:06:28
まずさー、import mybeans.*; ってのは、以下のソースで

mybeans.hoge() とかのmybeans.を省略するためにあるんだから
hoge()とかがソース上に無いんだったら書かないでいいんだよ。
254デフォルトの名無しさん:2007/08/03(金) 12:10:41
で、多分 mybeans.hoge() の省略である hoge()はあるんだろう
そしてそのmybeansの場所はclasspathに無いと駄目なんで
コンパイルしている場所をclasspathに含めるなら、 . を追加しないとね。
255デフォルトの名無しさん:2007/08/03(金) 12:12:00
package も書いてあるのかどうかが気になるけど、まあいいや
256248:2007/08/03(金) 12:44:45
>>253-255さんのおかげで解決できました。

classpathってこれのことですよね?と確認するために

変数名:CLASSPATH
変数値:C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar;,

と書いたら、\servlet-api.jar;,←セミコロン、カンマとなっていました。
そしてインポート文をimport mybeans.*;にしたらコンパイルできました。

ご迷惑おかけしました。
257248:2007/08/05(日) 16:52:34
以下は『やさしいJava活用編第2版』の232ページからの引用です。

import java.sql.*;

public class Sample1
{
public static void main(String args[])
{
  try{
     //接続の準備
     String drv = "com.mysql.jdbc.Driver";
     String url = "jdbc:mysql:///cardb";
     String usr = "";
     String pw = "";

     //データベースへの接続
     Class.forName(drv);
     Connection cn
       = DriverManager.getConnection(url, usr, pw);
258257のつづき:2007/08/05(日) 16:53:40
     //問い合わせの準備
     Statement st = cn.createStatement();
     String qry = "SELECT * FROM car_table";

     //問い合わせ
     ResultSet rs = st.executeQuery(qry);

     //データの取得
     ResultSetMetaData rm = rs.getMetaData();
     int cnum = rm.getColumnCount();

       while(rs.next()){
         for(int i=1; i<=cnum; i++){
          System.out.print(rm.getColumnName(i)
            + ":" + rs.getObject(i) + " ");
        }
          System.out.println("");
        }
        //接続のクローズ
          rs.close();
          st.close();
          cn.close();
      }
  catch(Exception e){
     e.printStackTrace();
  }
 }
}
259248:2007/08/05(日) 17:14:52
何度も申し訳ございません。m(__)m

上の2レスはMy SQLのデータベースに接続するためのプログラムで、コンパイルは
しっかりと通るので載せる必要はなかったのかも知れませんが、java Sample1の実行時
に次のように始まる大量の例外メッセージが出てきてしまいます。

C:\YJKSample\8>java Sample1
com.mysql.jdbc.CommunicationsException: Communications link failure due to under
lying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Permission denied: connect

(長すぎて後略します)

これはこのスレで相談することでなくデータベースソフト関連の板に当たった方が良いかも
しれませんが、何が原因で起きているか判別できる方はいらっしゃらないでしょうか。

他のスレで「やさしいJava」同梱のMy SQLはバージョンが古いと聞いていたので、My SQLも
JDBCドライバもTomcatと同様に最新のものをダウンロードしておきました。

My SQLにテキストファイルを読み込ませてデータベースを作成するテストは成功しているので
ちゃんと動いているはずなのですが・・・。

本ではJDBCドライバはTomcatのフォルダにコピーするようにとあるのですが、JDKには
インストールしないで大丈夫なの?とも思ってしまいます。

すみません!長文を大量に投稿してしまいました。もう少し、調べて問題点を整理してみます。
260デフォルトの名無しさん:2007/08/05(日) 21:20:17
人間のゴミビンゴ(1列揃えばアウト)

   @│A│B
   ─┼─┼─
   C│D│E
   ─┼─┼─
   F│G│H

 @ 無職   A 童貞          B 引きこもり   
 C キモ顔  D 肥満          E 毎日オナニー
 F 低学歴  G 30歳以上で独身  H 貯金100万未満
261デフォルトの名無しさん:2007/08/06(月) 02:00:19
わからんな。
ソースは間違っていそうにないのだが....
これってDBのデータをjavaで表示するんでしょう?
com.mysql.jdbc.CommunicationsException: Communications link failure due to under
lying exception:
このエラーググッても英語しかないんだよね?
これはjavaの質問スレッド板で聞いたほうがいいんじゃないかな?
262デフォルトの名無しさん:2007/08/06(月) 02:29:32
問題はその下で実際にMySQLが出したエラーだから、
Permission denied: connect
こっちだよな。

connect(2)がPermission deniedすなわち EACCES エラーを
出すのは、手元のBSDのマニュアルによると
[EACCES]
The destination address is a broadcast address and the
socket option SO_BROADCAST is not set.
接続先アドレスはブロードキャストアドレスだがオプションに
SO_BROADCASTはセットされていない

または

Search permission is denied for a component of the path prefix.
パスの一部のディレクトリに検索パーミッションが出ていない
(パスってことはUNIXドメインソケットの場合限定か)

または

Write access to the named socket is denied.
名前付きソケットへの書き込みが拒否された。

だそうだ。

あとはMySQLのどこのconnectで実際にエラーになってるか
を探すくらいか。
263248:2007/08/06(月) 06:22:52
>>261-262

教えてGooの似たような問題のトピックで「String drv = "com.mysql.jdbc.Driver"; 」のところが、
「org.gjt.mm.mysql.Driver」のように記述されているのを見たので、自分のソースコードもそれに
変更してみたら、例外の内容が少し変わりました。

java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO
)

SQLException: Access deniedでググると例によって教えてGooなどの質問掲示板が続々ヒット
するのですが、回答者の多くが、それは読んで字のごとく、SQLへのアクセスが拒否されたことだろうと
説明していました。

MySQLの設定ウィザードでもセキュリティー設定(パスワード)のチェックを外してあるので、
アクセス拒否されるのが信じられないのですが。そのほかファイアウォールを切ってみたり
ソースコードを素人なりにごにょごにょいじったりしてみました。

うーん、難しいですね。とりあえずSQLExceptionだとググるとたくさん出てくるのでもう少し粘ってみます。
264デフォルトの名無しさん:2007/08/06(月) 08:50:16
>>263
>Access denied for user ''@'localhost' (using password: NO)

@'localhost' ってことはユーザーを何も指定していないってことだよな?
ふつー user@'localhost' みたいになるんじゃね? userのとこが root だっ
たりするかもしれんが。


265デフォルトの名無しさん:2007/08/06(月) 15:34:17
>>264
レスありがとうございます。何とかデータベースへ接続できました!
私も最終的には「ユーザー認証」が問題の根幹なのだろうと的を絞っていました。

先ほど>>263さんのレスを読んで、もう一度MySQL Server Instance Config Wizard
と自分のJavaファイルをいじくって見ました。

「やさJava」では上記のウィザードでパスワードの設定を行わないものとし、セキュリティー設定の
可否のチェックそのものを外していたのですが、しっかりパスワードを設定し、Javaファイルも

String usr = "root";
String pw = "(パスワード)";

にしてみたら、コマンドラインからデータベースの内容を表示することができました。

ただ、不思議なのはこういったパターンも以前試したはずですし、Javaファイルを上の
ように修正する前にmysqlファイルのようなものが作業フォルダにいつのまにかできて
いるのを見て驚いたことです。それは削除しましたが。

JDBCドライバをあらゆるlibフォルダに絨毯爆撃してみるなど、ググってみつけたことを
次々と実行していったので、どれが決め手になったのやらorz
266デフォルトの名無しさん:2007/08/07(火) 01:51:37
やさjavaを終わったら別の本をやれ
267デフォルトの名無しさん:2007/08/11(土) 01:35:56
やらしいjavaとか出版予定はないかな?
268デフォルトの名無しさん:2007/08/11(土) 11:14:21
やさしい心よりやらしい体って山本弘の小説のキャラが言ってた。
269デフォルトの名無しさん:2007/08/11(土) 15:57:00
他人のソースを読ませてもらって勉強してる初学者ですが
すごく違和感を覚える記述に出会いますた
これは常識的な(見習ってもいい)書き方なのか教えて下さい

こういうクラスがあって
public class Team {
// (中略)
private ArrayList memberList = new ArrayList();
public ArrayList getMemberList() { return memberList; }
// (中略)
}

別の場所でこうやってる
Team team2ch = new Team();
team2ch.getMemberList().add("茂名"); // ←
team2ch.getMemberList().add("擬古"); // ←
team2ch.getMemberList().add("志井"); // ←

getterを通じてメンバ変数の中身をいじる、というやり方は
Java(というかOO?)の世界ではありふれた手法なんでしょうか?
変だと思う俺の方こそ変で、認識改めた方がいい?
270デフォルトの名無しさん:2007/08/11(土) 16:25:31
場合によりけりだけど、個人的には getXxx っていう名前は微妙。
単なる memberList() だったら自分的には許容範囲かな。 teamFoo.memberList().add("bar"); とか。
でもまぁ、その程度なら memberList をそのまま公開するよりか Team#addMember を設けるべきでしょう。

標準ライブラリだと java.util.Map#keySet なんかがそれと似たものかもね。
ちょっと違って、Map の内部フィールドをそのまま返すわけでもないし、 add できなくて remove だけに制限されてるけど。

Map map = new HashMap();
map.put("A", "1");
System.out.println(map.get("A")); // → 1
Set set = map.keySet();
set.remove("A");
System.out.println(map.get("A")); // → null
271デフォルトの名無しさん:2007/08/12(日) 00:32:30
269です。回答ありがとうです

>でもまぁ、その程度なら memberList をそのまま公開するよりか Team#addMember を設けるべきでしょう。
やっぱそうだよね…
メンバになってるクラスをそのままreturnするのは
最初からpublicで宣言してるのとあんま違わないというか
カプセル化が壊れてるような気分になって…

Map系のkeySet()ってノーチェックでした
ハッシュキーの一覧が取れて元のハッシュにも(削除系だけ)連動するのか
勉強になりましたー
272デフォルトの名無しさん:2007/08/16(木) 01:12:41
Tomcatがよく動かなくなるのですがどんな理由が考えられるでしょうか?
ディレクトリのファイルの内容を動いていた状態に戻しても、まだ動いてくれず弱っています。
273デフォルトの名無しさん:2007/08/16(木) 01:33:01
症状を必要かつ十分にもっと詳細に
274デフォルトの名無しさん:2007/08/16(木) 02:39:21
>>272
多分夏バテ
涼しい所で栄養をたっぷりとって休養しよう
275デフォルトの名無しさん:2007/08/16(木) 17:31:51
>>273,274
レスありがとうございます。
特にconfディレクトリにルートディレクトリ名のxmlファイルを入れたり、そこのserver.xmlに記述を追加するとダメなようです。

で、自作の上配置したファイルを別の場所に保管してTomcatをアンインストール、再インストールを行いました。
実は再インストール、今回が最初じゃないんです。そんな事もあって伺ってみたかったんですが。まあ、面倒です。
276デフォルトの名無しさん:2007/08/17(金) 13:46:26
どなたでもいいので答えてもらえないでしょうか。
おそらくとても初歩的な問いなのですけど、どう答えていいか分からなくて

Q1
以下の条件を満たす変数 count を適切な型で定義してください。
- 整数値のみ
- 範囲は 0 〜 32000


277デフォルトの名無しさん:2007/08/17(金) 13:55:20
候補としては int, short, unsigned int, unsigned short
「適切な」の解釈によるがintでいいんとちゃうの。
278デフォルトの名無しさん:2007/08/17(金) 14:00:59
>>227
ですよね。私もそんな感じだと思ってはいたんですけど、
「適切な型で定義」って書いてあるのでどう答えていいか
分からず書き込んだのですが。

では答えとしては>>227さんの答えていただいた感じでいんですかね?
279デフォルトの名無しさん:2007/08/17(金) 14:04:43
int -2147483648 〜 2147483647
short -32768 〜 32767
unsigned int 0 〜 4294967295
unsigned short 0 〜 65535
280デフォルトの名無しさん:2007/08/17(金) 14:06:04
ってっこjavaスレだよな、、、
281デフォルトの名無しさん:2007/08/17(金) 14:10:46
>>279
問題の
- 整数値のみ
- 範囲は 0 〜 32000
とはどういうことなんでしょうか?
範囲は0〜32000てことはint型の-2147483648〜2147483647
は該当するのでしょうか?
本当に低レベルな質問ですみません。勉強を始めて間もない者ですので。
282デフォルトの名無しさん:2007/08/17(金) 14:23:42
javaスレなのにunsigned はつられただけだけだけど、
まあその範囲が収まればいいんじゃない?
short も iont も範囲内だけど
適切な、というのが範囲内で最も近い、ということなら
short になるんじゃない?もちろん int も正解だろうけど
283デフォルトの名無しさん:2007/08/17(金) 14:30:26
>>282
レスありがとうございます。
教材だけだと説明など書いてあっても、聞くことができないので
こういう場や答えてくれる方に感謝します。
ありがとうございました。
284デフォルトの名無しさん:2007/08/18(土) 19:11:44
Web上から画像を読みこんで表示するGUIプログラムを作ろうと思っています。
java.net.*のHttpURLConnection()でなんとなくデータをダウンロードすることはできました。

ぐぐってたところ、画像を表示するためにjava.awt.Imageを使えばよさそうだと思ったのですが使いかたがわかりません。
サンプルコードか、参考になるページを教えていただけませんか
285デフォルトの名無しさん:2007/08/18(土) 22:29:55
java.awt.Toolkit と java.awt.Graphics
286デフォルトの名無しさん:2007/08/19(日) 00:01:21
ありがと。精進します
287デフォルトの名無しさん:2007/08/23(木) 01:47:52
例えばクラスAとクラスBがあるとします。クラスAである値を取得してそれを
クラスBで取得したい場合どうすればよいでしょうか?その値はstatic変数に
格納しないでpublicなアクセッサ(getter/setter)を使用したいです。現在JDeveloper
を使用して試行錯誤してますが、getterメソッドがstaticではありませんと
怒られています。
288デフォルトの名無しさん:2007/08/23(木) 08:26:45
staticなコンテクストからgetterメソッドを呼んでるからじゃん
javaをもう一度最初から勉強し直した方がいいよ
289デフォルトの名無しさん:2007/08/23(木) 08:30:36
A a = new A();
a,setFoo("hoge");

B b = new B();
b.setBaa( a.getFoo() );
こういうことがやりたいのか?
290デフォルトの名無しさん:2007/08/23(木) 10:44:26
それともBをAの集約クラスにして
Bが持っているAのインスタンスが取得した値を
Bのメソッドの中で使用したいってこと?
class B {
A a;
someMethod() { ... a.getter() ... }
みたいに
この場合A#getterがインスタンスメソッドなのに
someMethodがクラスメソッドならgetterがstaticじゃないって怒られる
291初心者:2007/08/25(土) 10:01:12
<PC環境> ★Windows Vista Home Premium, Eclipse3.2,
Tomcat5.0.28 //インストーラを使わずzipから展開,
C:\Program Files\Java\jdk1.5.0_07, C:\Program Files\Java\jre1.5.0_07

<環境変数>JAVA_HOME: C:\Program Files\Java\jdk1.5.0_07
Path: %JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

1. コンソール(cmd)からjavaもjavac も動く。
2. http://localhost:8080/でTomcatのトップページが表示される。そこからたどったJSPのサンプルは正常に作動。

<問題> だけど、Eclipseで自作したプロジェクト名sampleのsample/hello.jspは
http://localhost:8080/sample/hello.jspからは動かずに500エラーが出る
hello.jspの中身は<%new java.util.Date()%>の一文だけ。

/* 500エラーの詳細
HTTPステータス 500 -
説明 The server encountered an internal error () that prevented it from fulfilling this request.
例外 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
原因 Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK */

なんとかhello.jspを表示させることはできませんか?
Vistaじゃできないのかな。勉強できない。超参った。
292初心者:2007/08/25(土) 12:41:54
環境変数CATALINA_HOMEにTomcatのルートディレクトリを指定したら動きました。
Vistaのせいではなかった…。修行が足りんね。
293デフォルトの名無しさん:2007/08/25(土) 16:46:04
文字列で指定したコマンドを実行するには、どうしたらいいでしょうか。

例えば、System.out.println()コマンドを実行したければ、

Runtime rt = Runtime.getRuntime();
Process ps = rt.exec( "System.out.println(\"hoge\")" );

のようにすればいいのでしょうか?
294デフォルトの名無しさん:2007/08/25(土) 19:11:06
System.out.println()はコマンドじゃない。

やりたいことによっては楽にできるが、
本当に System.out.println() を実行したいなら初心者レベルでは
無理。
295デフォルトの名無しさん:2007/08/25(土) 20:31:24
JRuby あたりからガツンとやったほうが楽なような気がしますー
296初心者:2007/09/02(日) 12:46:00
JSPやサーブレットをGUIで組めるようなエディタないですかね(ガイシュツ?)
エクリプスのvisualeditorだとSWINGとかしかできない希ガス・・
297デフォルトの名無しさん:2007/09/10(月) 01:50:41
java6は出ましたか?
298デフォルトの名無しさん:2007/09/20(木) 15:40:48
swingでpaintとpaintComponentがありますが、どこが違うのですか?
どちらもrepaintを呼び出すと実行されるので、違いは内容に思うのですが。

299デフォルトの名無しさん:2007/09/20(木) 17:11:22
paintは、まずpaintBorderを呼んで、次にpaintComponentを呼んで、最後にpaintChildrenを呼ぶ。

paintをオーバーライドすると、ボーダーと子コンポーネントが描かれなくなる。
300デフォルトの名無しさん:2007/09/20(木) 17:57:18
MyClass a,b,c;

a = new MyClass(); //インスタンス1
b = new MyClass(); //インスタンス2
c = a;
a = b;

としたときに、cはどのインスタンスになりますか。

301デフォルトの名無しさん:2007/09/20(木) 18:04:27
宿題?
インスタンス1
302デフォルトの名無しさん:2007/09/20(木) 18:20:36
>>301
宿題じゃないのですが助かりました。有難うございます。
Cのポインタへのポインタみたいな参照方法を調べていました。

privateなメンバクラスをコンストラクタ引数で渡して
他のクラスから参照するような事をしていたのですが、
スコープを広げて参照しないとダメですね。
303デフォルトの名無しさん:2007/09/22(土) 23:53:45
>>302
privateメンバの参照先を外部から
変えられちゃったらそもそもprivateの意味ないしねぇ。

それだったらsetterなり使って
適切な順序踏んで値設定するべきだと思うけど
304デフォルトの名無しさん:2007/09/23(日) 00:34:48
>Cのポインタへのポインタみたいな参照方法
a = new MyClass(new MyClassItem());
b = new MyClass(new MyClassItem());
c = new MyClass(a.getItem());
a.setItem(b.getItem());

setter/getterでコピー渡しをしない場合これでc.getItem() == b.getItem()になるはず
まあ普通はこんなコードは書かないけどw
305デフォルトの名無しさん:2007/09/23(日) 00:43:48
間違えた。
三行目c = a;か。
306デフォルトの名無しさん:2007/10/05(金) 05:09:04
FrameとPanelってどう使い分ければいいのでしょうか?
同じだとしか思えません。
307デフォルトの名無しさん:2007/10/05(金) 07:51:05
Frameの中にFrameは作ることはできないし、
Frameの外にPanelを作ることはできない。
308デフォルトの名無しさん:2007/10/05(金) 10:18:19
Frame⇒一番外側(枠付)
Panel⇒内部コンポーネント

基本的にFrameは1つだけ
中にPanelを組みあわせて配置する
そういうフレームワークになっているだけ
309デフォルトの名無しさん:2007/10/09(火) 02:05:25
TreeSetの入れ子構造って可能なんですか?

つまり、
TreeSet<TreeSet<String>> tree = new TreeSet<TreeSet<String>>;

TreeSet<String> t = new TreeSet<String>();
t.add("a");
t.add("b");

TreeSet<String> v = new TreeSet<String>();
v.add("1");
v.add("2");

tree.add(t);
tree.add(v);


Exception in thread "main" java.lang.ClassCastException: java.util.TreeSet
という例外になってしまうのですが。
310デフォルトの名無しさん:2007/10/09(火) 02:14:41
>>309
TreeSetが.Comparableでないから無理
311デフォルトの名無しさん:2007/10/09(火) 02:48:21
ありがとうございました。
312デフォルトの名無しさん:2007/10/09(火) 23:58:22
BufferedImageをプログラム上で印刷するにはどうしたらいいでしょうか。
javax.print というのがあるのは調べましたが、使い方がわかりません。
313312:2007/10/10(水) 00:53:41
自己解決しました。
314デフォルトの名無しさん:2007/10/13(土) 21:58:32
多少筋違いの質問ですが、
最新のJDK6、Tomcat6.0と障害おこしませんか?OSはWindowsXP service pack2です。
ちなみに私、現在は前ヴァージョンの5.0を入れなおして使っております。
315デフォルトの名無しさん:2007/10/16(火) 10:38:38
以下のプログラムの Blackbox を C=250 に変更させて
起動するにはどう修正したらよいか回答せよ。

public void main(String[] args){
 try{
  ServerSocket serverSocket = new Blackbox(55555);
  serverSocket.setSoTimeout(0);
  while(serverSocket!=null){
   Socket Blackbox = serverSocket.accept();
     ・
     ・
   socket.close();
  }
 }catch(IOException e)System.out.println(e);
}
316デフォルトの名無しさん:2007/10/16(火) 12:03:05
>>315
何様?
317デフォルトの名無しさん:2007/10/16(火) 12:36:52
宿題スレに行け
318デフォルトの名無しさん:2007/10/16(火) 15:13:54
スクリーンセイバーにあるような宇宙空間を作りたいのですが
一から始めるのは難しいので少しづつ弄って覚えようと思ってます。
どこかにソースを公開してるサイトがありましたら教えてくれませんか?
319デフォルトの名無しさん:2007/10/16(火) 16:20:25
あれって単に、白い点を少しずつ大きくしながら、画面中央から端に向かって動かしてるだけじゃないか?
3次元的な処理は何もないから簡単そうだ
320デフォルトの名無しさん:2007/10/16(火) 19:15:27
学校で↓のクラスを使ってプログラムを作らなければいけないんですけど
考えてみたんですがわかりません。どなたか教えてください。

public class SimpleAdder3 {

public int add(int x, int y) {   ←x = 10, y = 20
return x + y;
}

public double add(double x, double y) { ←x = 0.5, y = 0.6
return x + y;
}

}
321デフォルトの名無しさん:2007/10/16(火) 19:17:28
>>320
どこまでを考えて、どこからが分からないの?
322デフォルトの名無しさん:2007/10/16(火) 19:19:06

クソの集まり創価学会

偽善者が政治活動、公明党

ネズミ講、騙されバカ信者、池田犬作チョン大教祖様、さっさと死ねや
323デフォルトの名無しさん:2007/10/16(火) 19:30:12
http://pc11.2ch.net/test/read.cgi/tech/1172285649/320

class SimpleAdder3Usage {

public static void main(String[] args) {
SimpleAdder3 s;
s = new SimpleAdder3()

ここら辺まであってますか?
324デフォルトの名無しさん:2007/10/17(水) 07:43:53
>>323
メソッドのオーバーロードは古いヴァージョンでは戻り値が同じ型を要求するので注意が必要。
ここ数年のヴァージョンなら君が書いたように戻り値が異なっていてもOK。
ただし、えてしてメソッドをオーバーロードする意味がある場合は少ないといえる。皆無と言っていい。
オーバーロードはコンストラクタ用の技と割り切る事を薦める。

なので、ここではメソッド名を変えておいた。(インデントはちゃんとやる事。)

class SimpleAdder3 {

public int add(int x,int y){
return x + y;
}

public double add2(double x, double y) {
return x + y;
}

}
public class SimpleAdder3Usage {

public static void main(String[] args) {
SimpleAdder3 s;
s = new SimpleAdder3();
System.out.println(s.add(10,20));
System.out.println(s.add2(0.5,0.6));

}
}
325デフォルトの名無しさん:2007/10/17(水) 08:50:21
>>323
s.add(10,20);って感じで値が取れるからそれを出力すればおk

>>324
プリミティブ型ごとにオーバーロードすると、呼び出しをしたときにキャストとか接尾子とかで汚くなることがあるからな。
俺だったらaddInt、addDoubleって名前付けるけどな。

ま、↓のクラスを使ってって書いてあるから突っ込まなかったんだが。
それだったらaddをstaticメソッドに変えてSimpleAdder3.addInt(10 ,20);とかにしちゃうけど、
これは課題で求められているものではないだろうな。
326デフォルトの名無しさん:2007/10/17(水) 15:55:44
>>319
できましたが、
点を2個以上に増やすとすべて同じ動きになってしまいますorz

public class Anime_2 implements Runnable{
Anime_1 an;
public Anime_2(Anime_1 an){
this.an=an;
}
public void run(){
while(an.circle_x<200){
try{
Thread.sleep(200);
an.circle_x=an.circle_x+4;
an.circle_y=an.circle_y-1;
an.repaint();
}
catch(InterruptedException ie){
}
}
}
}

点が一つの場合はこういう風に記述しました。
circle_x2とcircle_y2を追加して式も記述したのですがダメでした。。。
327デフォルトの名無しさん:2007/10/17(水) 16:14:14
点を2個以上に増やしたソースも出せばどこが悪いか指摘もできる
同じ動きっていうことから推測するとxyの移動量を+4とか-1とか決め打ちにしてるからじゃないのか
328デフォルトの名無しさん:2007/10/17(水) 16:54:50
>>326
画面外に逃げていくような方向で、
大きくなるにつれて速くしていけばいい
329デフォルトの名無しさん:2007/10/17(水) 18:15:00
3次元でランダムに星をばらまいたデータ作って視野面に投影した方が簡単そう
330デフォルトの名無しさん:2007/10/19(金) 06:47:29
フレームをバックグラウンド(非アクティブ)にした状態でマウスイベントの取得はできますか?
できるならばその手法について教えてください‥どこを探しても載っていないので本当に実現できるか心配でorz
331デフォルトの名無しさん:2007/10/19(金) 20:06:27
jdk-6u3-windows-i586-pをインストールして、pathを通そうと思ったんですけど、
通りません。自分のシステム環境変数は path=c:\usr\local\bin;c:\gs\gs7.07\bin;%SystemRoot%;%SystemRoot%\system32;%SystemRoot%\wbem;c:\gs\gs7.07\lib;c:\dviout;C:\Program Files\
QuickTime\QTSystem\;%JAVA_HOME%\bin;
classpath=ip;.;C:\Program Files\QuickTime\QTSystem\QTJava.zip;.;C:\Program Files\Java\jdk1.6.0_<version>\lib
QTJAVA=C:\Program Files\QuickTime\QTSystem\QTJava.zip
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_<version>
となっています。コマンドプロンプトでjavacとうってもバッチファイルとして認識できませんと出ます。
アドバイスください。
332デフォルトの名無しさん:2007/10/19(金) 20:57:56
コマンドプロンプトから set PATH して環境変数表示させてみ?
333デフォルトの名無しさん:2007/10/19(金) 23:29:33
jdk1.6.0_<version>がそのままjdk1.6.0_<version>なんじゃねえのw
334デフォルトの名無しさん:2007/10/20(土) 00:50:07
>>331
環境変数のボックス上で上部にあるユーザー環境変数の方が入力できるなら、
そちらにJAVA_HOMEとPath(%JAVA_HOME%\bin)の二つを作成してみたら?
あと333の言うとおり<version>なんてしないで普通ディレクトリ名をそのまま書くとしたものだが。それ最新のテク?
でもやめたほうがいいと思う。
335デフォルトの名無しさん:2007/10/20(土) 01:18:16
質問スレとのマルチ
336デフォルトの名無しさん:2007/10/20(土) 03:02:10
<version>のとこをどうすればいいんですか。初心者なのでわかりません。
337デフォルトの名無しさん:2007/10/20(土) 03:08:08
実際に存在するフォルダの名前にある数字しろ
338デフォルトの名無しさん:2007/10/20(土) 03:09:07
まああきらめずやってればそのうちいいことあるよ
がんばれ初心者
339デフォルトの名無しさん:2007/10/20(土) 03:13:17
コマンドプロンプトset pathしてみたところ、
PATH=c:\usr\local......省略................;(c:\Program Files\Java\jdk1.6.0\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
と出ました。
340デフォルトの名無しさん:2007/10/20(土) 03:55:30
> ;(c:\Program Files\Java\jdk1.6.0\bin
その括弧は何なんだよw
悪いこと言わないからWindowsの使い方から勉強しなおせ
341孤独なOL:2007/10/20(土) 15:33:56
牛田モーミンといいます。大都会の片隅で×いちで孤独なOLをしています。

>>331

Pathの設定のところが、 \Java\jdk1.6.0\bin
になっていたら、        \Java\jdk1.6.0_03\bin
に書き直してみてください。
旧バージョンのJDKをアンインストールしても、そのときのPathが残るので
新バージョンに合わせて書き直す必要があります。

CLASSPATH のところは    %CLASSPATH%;.
だけで十分のはずですが
QuickTime関連が必要で消せないのなら \Java\jdk1.6.0_<version>\lib を
                   \Java\jde1.6.0_03\lib
にしてください。
342孤独なOL:2007/10/20(土) 15:39:38
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_<version>

この部分も 私のパソコンには存在しないのですが、必要なら

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03

にしてください。

おそらくあなたは書籍を参考にして<version>なる記述を手作業でしたのでしょうね。
次回からは最新のJDKをインストールするときは、環境変数を全て見直してJava関連の
記述を全て消去して、インストール後にどのような記述が自動的に追加されるのか
確認したほうがいいでしょう。 がんばってください。
                         あなたの モーミンより
343デフォルトの名無しさん:2007/10/20(土) 20:12:17
344デフォルトの名無しさん:2007/10/21(日) 23:17:19
エクスプローラのアドレスバーを表示させて、binフォルダまでたどっていき
アドレスバーから、こぴぺすりゃおkなんだがな。Windows初心者にはわからんのだろうな。

かく言う俺も当時はそうだったからよくわかる。

要は、1文字もまちがえずにbinフォルダまでのパスをかきなさいってことです。
そのパスを参考にWindowsがコンパイラを動かしたりするんだから。1文字でもまちがえたら
Windowsはコンパイラの場所をさがせないから。

それは、そうとJavaのわかりにくさは異常だな。やればやるほどいやになる。
345デフォルトの名無しさん:2007/10/21(日) 23:21:24
パスってのは、C:\Program Files\Java\jdk1.5.0_13\binとかね。

Windowsがコンパイラを探すとき、このフォルダを探すわけ。ようするに
上のフォルダにコンパイラは入ってるわけ。俺の環境だと。

これが1文字でもまちがえてたら、当然コンピュータはコンパイラの場所を見つけられない。
Excelの関数名を1文字間違えても動くか??もしくは電子メールを送るとき相手のメルアドを
1文字でも間違えても届くか?という話と一緒。
346デフォルトの名無しさん:2007/10/21(日) 23:24:20
さらにややこしい事に、Javaはバージョン名をフォルダ名にしているわけだ。
jdk1.5.0_13←これは俺のバージョンであり、フォルダ名でもある。

質問者のバージョンがわからない。付属CDからインストールしたのか
ダウンロードしてインストールしたのかによっても当然違う。いつインストールしたかによっても当然違う。
このフォルダ名を間違わず記述する事。
347デフォルトの名無しさん:2007/10/22(月) 00:08:25
C/C++/C#をメインにやってきましたが
こんどjavaも必要になったので入門本を検討してます。
おすすめの本はありますか?
ぱっと見だとC#とかなり似てますね
348デフォルトの名無しさん:2007/10/22(月) 02:43:49
常に一つのバージョンしかインストールしないのなら適当にjdkとかディレクトリ作って
そこに常にインストールすればいい。環境変数の設定は1回やっておけば使い回しが効く。
何も馬鹿正直にインストーラのデフォルト設定に従う必要なんてない。
349デフォルトの名無しさん:2007/10/22(月) 02:49:18
>>347
C++やSmalltalkやC#やJavaScript等の言語の集大成がJavaだからC#とかなり似ている部分もあるんよ
つまり後発の言語だから他の言語のいいとこ取りしていてとても使いやすい良い言語だぜ
350デフォルトの名無しさん:2007/10/22(月) 06:28:15
>>349は誤解の元
351デフォルトの名無しさん:2007/10/22(月) 08:14:38
誤解の元っていうより、明らかに間違ってるだろw
誤情報を与えようと意図して書いてる気はするけど。
352デフォルトの名無しさん:2007/10/22(月) 11:59:28
初心者です、質問させてください

J2ME Wireless Toolkit
ってやつをダウンロードしたら、

【数字十数個-integrated.jnlp JNLP File】
ってやつができました。それをクリックするとダウンロードマネージャーって
のが出てくるんですが、そこから先がどうすればインストールまで行けるのか
わからないので教えて下さい。よろしくおねがいします
353デフォルトの名無しさん:2007/10/22(月) 12:11:56
352です

それと、ダウンロードマネージャでダウンロードスタートのボタンを押すと、
同じフォルダにSDMファイルなるものが作られました。
ただ、これをクリックしてもこのファイルを開けませんとしかなりません
354デフォルトの名無しさん:2007/10/22(月) 13:02:39
ダウンロードページで押すリンクを間違えたに一票
355デフォルトの名無しさん:2007/10/23(火) 01:05:34
>>344
Windows用のJDKをインストール時にPathを作るまでインストーラを作りこんでもらいたいもんだね。
昔苦労させられたのをよく覚えてる。独学でもあったし。339はその後できたかな。
>>347
あなたのようにC系統の言語を#まで知ってる人によく知られた初心者本は不要でしょう。
厚めの本ですが「独習Java」(翔泳社)あたりから読んでもむつかしくはないと思うのでお勧めします。
ただし本書にはASPに対応する技術、JSP/サーブレットの記述は一切ありません。読後、更なる購入が必要になるでしょう。
オーソッドクスには、オーライリリー社出版で著者ジェームスゴスリンという本がJava本のバイブルです。(「言語仕様Java」 ただ全部見る気にはちょっと)
ちなみにゴスリンはJavaの作成者の中心人物です。
356デフォルトの名無しさん:2007/10/23(火) 01:53:55
Tomcat5.5でセッションIDがアクセスする度に変わってしまう現象がでています。
できるだけ長い期間でおなじセッションIDを使い続けたいんですが無理でしょうか?
357デフォルトの名無しさん:2007/10/23(火) 03:24:45
この和暦変換のJavaScriptで全角が入力された場合にエラーチェックを
かける方法がわかりません。
どなたか書き加えてもらえませんか?
お願いします。

<br />
</p>
<script language="JavaScript"><!--
function wareki_to_seireki(str)
{
var m = str.charAt(0).toUpperCase();
var y = eval(str.substring(1,str.length));
if ((m == "H") && (y > 0) && (y < 50)) return 1988 + y; // 平成
if ((m == "S") && (y > 0) && (y < 65)) return 1925 + y; // 昭和
if ((m == "T") && (y > 0) && (y < 16)) return 1911 + y; // 大正
if ((m == "M") && (y > 0) && (y < 46)) return 1867 + y; // 明治
return Error;
}
// --></script>
<p>
<form name="myFORM">
和暦<input name="dt" /> <input onclick="alert(wareki_to_seireki(document.myFORM.dt.value)
)" type="button" value="変換" />
</form>
</p>
<p><img height="28" alt="" width="140" src="http://fileman.rakurakuhp.net/UserFiles/35584/Image/1192787150.jpg" /></p>
358デフォルトの名無しさん:2007/10/23(火) 06:39:34
>>357
WebとJavaScriptの組み合わせの場合。
+ JavaScript の質問用スレッド vol.60 +
http://pc11.2ch.net/test/read.cgi/hp/1190811747/l50

Webを含まないJavaScriptのコア部分だけの場合はこっちでも可。
ECMAScript デス 3
http://pc11.2ch.net/test/read.cgi/tech/1190160481/l50
359デフォルトの名無しさん:2007/10/23(火) 14:57:49
>>327
public class Anime_2 implements Runnable{
Anime_1 an;
public Anime_2(Anime_1 an){
this.an=an;
}

public void run(){
while(an.circle_a<200){
try{
Thread.sleep(100);
an.circle_a = an.circle_a+4;
an.circle_d = an.circle_d-1;
an.repaint();
}
catch(InterruptedException ie){
}
}
}
}

遅くなりましたが点が一つの時のソースです。
点が二つ以上になる時は、stopを使ってたんですが
参考にしてる本が古いようで推奨されないようなのでやり直しです。。。
360デフォルトの名無しさん:2007/10/23(火) 18:57:41
いやハテナが大量に出てくるばかりなんだが
>>326とどう違うんだこれ?
circle_aとcircle_dって何を表す変数だ?
stopってどこに使うんだろう……?
増分が+4と-1で固定だけどこれでいいのか?

>stopについて
stop()は突然死だからな。後処理をまったく行わずに強制終了してしまう。
interrupt()をしてやればスレッドライブラリ中の時間のかかる処理をするメソッド(sleepとかwaitとか)
は処理をやめてInterruptExceptionを投げる。そしたらキャンセル処理をやってやればいい。
つかこの場合tryがwhileの内側にあるからinterruptしてもスレッドが終わらないなw

自分で時間のかかる処理を実装してる場合は自分でisInterrupted()を調べてやんなきゃいけないけど、
そういう事態は今のところは少ないだろうと思うので気にしなくていい
361デフォルトの名無しさん:2007/10/23(火) 19:30:37
>>359はもっと根本的なところで知識不足な気がするんだが。
Javaプログラミングの基礎ができてない感が否めない。
362デフォルトの名無しさん:2007/10/23(火) 19:40:42
点が二つ以上のときのソースに関心のある者はさらにおぞましきものを見ることになるだろう
363デフォルトの名無しさん:2007/10/24(水) 15:08:52
爆発する感じで□を飛ばす方法を伝授してください!
364デフォルトの名無しさん:2007/10/24(水) 17:57:07
口に火のついたダイナマイトを突っ込むとか?
365デフォルトの名無しさん:2007/10/26(金) 13:44:55
>>364
花火みたいな感じですorz
366デフォルトの名無しさん:2007/10/26(金) 20:33:56
放物線で四方八方へ
367デフォルトの名無しさん:2007/10/29(月) 12:40:22
>>366
なるほど!
飛ばした"□"の描画を消さずに移動させていけば花火っぽくなりますよね?
ありがとうございました。
368デフォルトの名無しさん:2007/10/29(月) 16:42:16
ホントかよw
369デフォルトの名無しさん:2007/11/06(火) 04:44:18
真剣に悩んでいます。
あるアプリケーションの開発で、J2SE を要求されています。
最新版の Java 6 を導入すれば J2SE もインストールされるのでしょうか?

SunのJavaのページにいくと、
最新版は、Java 6?で、Java SE 6というものがありました。
J2SE は Java 2 SE らしいのですが、この Java SE 6 をインストールすれば問題ないのでしょうか。

Windows XPで i アプリ(Doja 3.5)の開発環境を整えています。
370デフォルトの名無しさん:2007/11/06(火) 04:45:50
JDK6 と J2SE の違いがわからなくて、悩んでいます。
371デフォルトの名無しさん:2007/11/06(火) 07:04:13
JDK ⇒ 開発キット(Java Development? Kit) JREも含む
JRE ⇒ 実行環境(Java Runtime Everopment)

J2SE ⇒ Java2 Standard Edition
つまり、JDKとJ2SEは見方が違うのですよ。
開発に使うならばJDKでおk
でも、携帯向けならばSEではなくMEだと思うけど
まずはググれ
372デフォルトの名無しさん:2007/11/06(火) 12:37:43
ありがとうございます!
これでも、ここ2週間ほどググりっぱなしなんです。
iアプリ開発は、MEでなく、SEで良かったと思います。

java_ee_sdk-5_03-preview2 をDLしたのですが、
これは、J2SE ではなく、J5SE ということでいいのでしょうか?
それとも、J6SE?

ネット上はJ2SEの情報が溢れかえってるけど、J2SEって過去のバージョンですね??

何度も質問してしまってすみません。
プログラミングさえできるようになれば、あとは自力でなんとかしようと思っています・・・
環境整えるのが一番難しいorz
373デフォルトの名無しさん:2007/11/06(火) 14:00:02
JDK1.2以降を全部J2SEっていうんだよ。JDK1.1までより劇的な変化が当時あったから
Javaの2バージョン目という位置づけ。まあ、厳密に言えば、今はJ6SEなんだろうけど。

J2SEっていうのは、JDK1.2以降を全部さすんだよ。JDKの変異は
jdk1.1→j2sdk1.2→j2sdk1.3→j2sdk1.4→jdk5(j2sdk1.5)→jdk6(j2sdk1.6)
だ。

ちなみにj2seのSEっていうのはStandartEditionのこと。企業向けのはEnterpriseEdition。enterpriseっていうのは、企業とか事業って言う意味だから
企業向けシステム構築の際につかわれることもあるけど、standartEditionで事足りる事もたくさんある。

meっていうのはmobile editionかなんかで、モバイル(携帯端末)向けの、ライブラリだ。

ようするに、Javaは用途別にわかれてるってことだね。
374デフォルトの名無しさん:2007/11/06(火) 14:30:00
おおお、ありがとうございます

そういうことだったんですね・・・
バージョンが多すぎて、もう発狂寸前でした。
いくら調べても、ググっても、分かりやすく書いてあるところがなくて
携帯アプリ開発のように、ケースバイケースとなるとって愚痴はこの辺にしておきます。

本当にありがとうございます。
J6EE をDLしてインストールしようと思います。
携帯アプリ以外にも、デスクトップアプリとか作りまくって腕磨きます!
375デフォルトの名無しさん:2007/11/06(火) 15:50:27
そこで J6EE を選ぶのか……
376デフォルトの名無しさん:2007/11/06(火) 16:10:56
教えて頂いた情報を元に、自分なりに更にググっていくと、
どうやらJDK6 ( J6SE + コンパイラ + VM )というのが丁度良いみたいですね・・・
J6EE は、Tomcat に付属しているようなので、どうせWebアプリを開発するときは
Tomcat を導入することになるようですので、
今は、J6EE じゃなくて、JDK6 で十分でしたね。

今日は、JDK6をインストールして、ぐっすり眠れそうです。
377デフォルトの名無しさん:2007/11/06(火) 20:02:27
はじめまして。
Java超初心者の者です。

VistaでJavaを勉強しようと思って、JDK5でインストールを試みたのですが・・・
できませんでした(泣)。

どなたかVistaでのJavaの使用方法教えてください〜!!
378デフォルトの名無しさん:2007/11/06(火) 20:18:00
     )、._人_人__,.イ.、._人_人_人
   <JDKがインストールできないのは >
   <´ 天狗じゃ、天狗の仕業じゃ! >
    ⌒ v'⌒ヽr -、_  ,r v'⌒ヽr ' ⌒
// // ///:: <   _,ノ`' 、ヽ、_ ノ  ;;;ヽ  //
///// /::::   (y○')`ヽ) ( ´(y○')    ;;|  /
// //,|:::     ( ( /    ヽ) )+     ;| /
/ // |:::     +  ) )|~ ̄ ̄~.|( (       ;;;|// ////
/// :|::       ( (||||! i: |||! !| |) )      ;;;|// ///
////|::::    +   U | |||| !! !!||| :U   ;;; ;;;| ///
////|:::::       | |!!||l ll|| !! !!| |    ;;;;;;| ////
// / ヽ:::::       | ! || | ||!!|    ;;;;;;/// //
// // ゝ:::::::: :   | `ー----−' |__////

              ↓

            , ;,勹
           ノノ   `'ミ
          / y ,,,,,  ,,, ミ
         / 彡 `゚   ゚' l
         〃 彡  "二二つ
         |  彡   ~~~~ミ      はいはい、わしのせい わしのせい
     ,-‐― |ll  川| ll || ll|ミ―-、
   /     |ll        |   ヽ
  /       z W`丶ノW     ヽ
 /        \\   / /      |
/    天      \`i / /  狗   |
379デフォルトの名無しさん:2007/11/06(火) 20:20:41
        ::::::::::::::::∧口∧   そうやってなんでも
        ::::::::: ( ::;;;;;;;;:)      天狗のせいにしてりゃいいさ…
          _..  /⌒:::;;;;;ヽ
-― ―'ー'-''―-''/ / ::;;;;;;;;:| |―'''ー'-''――'`'
 ,,  '''' .  ''''' と./ゝ_;_;_ノヽつ   、、, ''"
    ,,, ''  ,,,    ::;;;;;;;;;::: ,,  '''''  ,,,,
380デフォルトの名無しさん:2007/11/06(火) 20:38:56
「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

pathの設定どうしたら・・・?
381デフォルトの名無しさん:2007/11/06(火) 20:47:30
>>380
Java質問・相談スレの>>1参照
382デフォルトの名無しさん:2007/11/06(火) 21:07:18
WEBサーバ、アプリケーションサーバ、WEBアプリケーションサーバ
これらの違いを教えてください。

ぐぐってみると
WEBサーバ→apache,tomcat
アプリケーションサーバ→JBOSS
ってのが出てきますが違いがよく分かりません
383デフォルトの名無しさん:2007/11/06(火) 21:23:11
384デフォルトの名無しさん:2007/11/06(火) 22:13:41
SUNのホームページからjre6をインストールしようと試みましたが、
「選択した機能は現在使用できないネットワークリソースにありまっせ」
と表示されました。どなたか解決法わかりますか?
385デフォルトの名無しさん:2007/11/07(水) 01:42:25
質問です。
SunとWindowsで通信をするとEUC(Sun側)とS-JIS(Windows)でどうしても文字化けが起こってしまいます。
JavaコードでWindows側にプログラムを作成したい場合どのようにしたらよいでしょうか??


386デフォルトの名無しさん:2007/11/07(水) 08:52:56
たぶん通信するときに文字コードを指定してないから
387デフォルトの名無しさん:2007/11/07(水) 13:50:13
>>382 サーバーっていうのは、本来Webサーバーとかデータベースサーバーとか
最近では家庭用の音楽・ビデオのマルチメディアサーバーまであるけど、
一般的にそれを保存して必要なときに情報を提供するプログラムのことまたはその機械。

>>382の場合だと(Javaの場合だとプログラム自体をさす事が少なくない。
Webサーバーっていうのは、最初は固定的なHTMLをリクエスト毎に
提供するものだったけど、CGIとかが出てきて動的なHTML放出も
HTMLサーバーの役目になったから、トムキャットみたいなJSP・サーブレット
コンテナも一応WEBサーバーの一種なのかもしれない。

で、アプリケーションサーバーっていうのは、Javaの場合だとEJBなんかのアプリケーションをおくんだけど、
アプリケーションは(EJBは)、ブラウザ経由じゃなくても普通の通信プログラムなんかもつくれたりするから
アプリケーションサーバー(APサーバー)って呼ぶんだけど、ようするに色々な処理をするだけのアプリケーションがおかれるから
APサーバーってよばれる。ここからデータベースサーバにデータをおくったり、Webサーバーに色々処理したデータを提供してHTML配信したりする。

俺が5年前くらいサーバーサイドやったときにはトムキャットもAPサーバっていわれてたんだけど。
388デフォルトの名無しさん:2007/11/07(水) 14:47:07
本を買わなくてもjava言語のほとんどが解る
一番良い日本語のホームページのURL(Uniform Resource Locator)
を教えてください
389デフォルトの名無しさん:2007/11/07(水) 15:08:40
390デフォルトの名無しさん:2007/11/09(金) 16:20:15
起動時に、任意のTextBoxにフォーカスするにはどうすればいいですか?
391デフォルトの名無しさん:2007/11/10(土) 17:13:29
あるメソッドの引数がnullであってはいけない場合、
そのメソッドの実装はどうするのが普通ですか?
・何もしないで、戻り値があるならnullとか無意味な値を返す
・nullではないと仮定する
・nullかどうか意識的にチェックして例外を投げる
392デフォルトの名無しさん:2007/11/10(土) 17:39:33
3番目。NullPointerExceptionを投げるのが普通。
393デフォルトの名無しさん:2007/11/10(土) 18:47:38
メソッド内で直ちに参照を引く場合には何もしない
参照を代入するだけみたいな場合にはぬるぽを投げる
結局ぬるぽを投げるって事だが
394デフォルトの名無しさん:2007/11/10(土) 23:29:38
NullPointerExceptionはnullなのにメソッド呼び出しをするとかの、
nullオブジェクトの不正操作に対して投げるものだと思う。
引数が不正で例外を投げるのならIllegalArgumentExceptionの方がいいと思うが。
標準APIのクラスでもnullを不正な引数として扱うメソッドはIllegalArgumentExceptionを投げるものも多い。
395デフォルトの名無しさん:2007/11/11(日) 00:06:16
けど NullPointerException を投げるのもあるんだよな。Class クラスのメソッドとか。
396デフォルトの名無しさん:2007/11/11(日) 20:46:07
パッケージ javax.servlet は存在しません。
というエラーでコンパイルできないんですが、どうしたらコンパイルできるでしょうか?
環境変数を使って設定したいのですが、できません。
Tomcatのサンプルプログラムはjsp、servlet共に動いています。

導入したもの
・jdk1.6.0_03
・Tomcat6.0

環境変数
JAVA_HOME
C:\Program Files\Java\jdk1.6.0_03

CATALINA_HOME
C:\Program Files\Apache Software Foundation\Tomcat 6.0;

CLASSPATH
%CATALINA_HOME%\lib\servlet-api.jar;
%CATALINA_HOME%\lib\jsp-api.jar;
%CATALINA_HOME%\webapps\ROOT\WEB-INF\classes;

jarファイルは上記のパスに存在していました。何がいけないのか・・・
397デフォルトの名無しさん:2007/11/12(月) 08:28:14
たとえばTextFieldに"あいうえお"って入力して
それを配列に入れとく方法ってある?
398デフォルトの名無しさん:2007/11/12(月) 08:37:54
はい
399デフォルトの名無しさん:2007/11/12(月) 08:45:53
暇なら教えてちょ
400デフォルトの名無しさん:2007/11/12(月) 20:23:54
文字入力したときにイベントを発生させなきゃいかんのかも
401デフォルトの名無しさん:2007/11/13(火) 20:08:07
>>397
使う時に、textField.getText().toCharArray() ではいけないかね?
配列で持つ方法ではなくて、ばらして何がしたいかを書くほうがいいと思うぞ
402デフォルトの名無しさん:2007/11/14(水) 11:35:56
私もTextFieldのことを聞いていいでしょうか。
テキストを入力し、Enterを押したときにTextFieldを空にするにはどうすればよいのでしょうか。

くだらない質問ですみません…
403デフォルトの名無しさん:2007/11/14(水) 11:49:36
>>402
何を実現したいのか解らん
404402:2007/11/14(水) 12:17:22
文字を入力してエンターを押したらフォントと色を変えて表示する簡単なプログラムです。
エンターを押しても文字が残ってしまうので、チャットのようにエンターを押したら
TextFieldが空になったらいいなとちょっと思っただけであります…
405デフォルトの名無しさん:2007/11/14(水) 12:19:00
空にするメソッドはないので
"" をテキストフィ−ルドにセットする
406402:2007/11/14(水) 12:28:06
できました。
ありがとうございました。
407デフォルトの名無しさん:2007/11/15(木) 20:31:17
JAVAでtridentエンジンとgeckoエンジンの切り替えが出来るブラウザ作ったら、重要度あるだろうか?
多分マルチプラットホームになる予定。
408デフォルトの名無しさん:2007/11/15(木) 20:36:09
Tridentエンジンってマルチプラットフォーム?Windowsでしか使えないんじゃないの?
409デフォルトの名無しさん:2007/11/16(金) 00:15:09
>>407
そんなブラウザを作るより、もっと使いやすくてシンプルで軽いマルチプラットフォームな俺々エンジンを作ってくれ
410デフォルトの名無しさん:2007/11/16(金) 22:18:52
JDK6のドキュメントをダウンロードしても、上手く開けないのは俺だけ?
なんか、トップhtml開くと空白ページで、何度やっても同じorz

雑誌の付録の5は、ちゃんとできてるんだけど。。。
411デフォルトの名無しさん:2007/11/16(金) 22:45:41
未だにIEなんか使ってるからそうなるんだ
412デフォルトの名無しさん:2007/11/16(金) 23:01:57
IE6で確かに開けないね
docs\ja\api\index.htmlは普通に開けるから問題無いけど
413デフォルトの名無しさん:2007/11/17(土) 01:29:39
>>412
ありがと!火狐使ったら開けた!

火狐でおかしくなることは思いついても、IEでおかしくなることは思いつかなかった。
なぜにIEだとダメなん?
414デフォルトの名無しさん:2007/11/17(土) 03:19:47
>>413
index.htmlの先頭の
<head>
<title>JDK 6 ドキュメント</title>
のあいだに
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
を入れてみんさい
415デフォルトの名無しさん:2007/11/17(土) 13:22:00
正規表現で「.」を任意の一文字ではなく「.」文字として
マッチさせたいのですが、.をエスケープするのに\.とするとeclipseで
エラーが出るのですが、これってどう書いたら良いのでしょうか?
416デフォルトの名無しさん:2007/11/17(土) 13:28:45
\\.
正規表現でのエスケープと実際の文字でのエスケープで二重になる
417デフォルトの名無しさん:2007/11/17(土) 14:28:08
>>416
ありがとうございます!
おかげで出来ました!!
418デフォルトの名無しさん:2007/11/17(土) 15:23:33
単純にStringをintに変換したい場合↓では全く同じ動作と考えていいですか?
string s;
int n = Integer.valueOf(s).intValue();
int n = Integer.parseInt(s);
419デフォルトの名無しさん:2007/11/17(土) 15:26:29
いいよ
420デフォルトの名無しさん:2007/11/17(土) 15:27:14
まったく同じみたいだね
ソースコード読んでみたら?
421デフォルトの名無しさん:2007/11/17(土) 15:28:26
>>419
ありがとうございます!
422デフォルトの名無しさん:2007/11/18(日) 13:17:15
JSPの本からコピーした文に警告が出てしまいます↓
ArrayList<String[]> list = (ArrayList)application.getAttribute("datalist");
型の安全性:型 ArrayListの式は、未検査の型変換を使用してArrayList<String[]>に準拠するようにする必要があります。

こうしても別の警告が出てしまいます。↓
ArrayList<String[]> list = (ArrayList<String[]>)application.getAttribute("datalist");
型の安全性:ObjectからArrayList<String[]>へのキャストは、実際には消去された型 ArrayListに対してチェックを行います。

どうすれば警告を回避できますか?
423デフォルトの名無しさん:2007/11/18(日) 13:24:21
ArrayListで受けたら
424デフォルトの名無しさん:2007/11/18(日) 13:27:20
>>422
ArrayList<?> list = (ArrayList<?>)application.getAttribute("datalist");
425デフォルトの名無しさん:2007/11/18(日) 14:37:53
>>423>>424ありがとうございます。
その通りやるとその文の警告は取れました。しかしその後のaddメソッドで警告やエラーが出てしまいます
String[] obj = new String[]{"test1","test2","test3"};
list.add(obj);

いろいろ調べてみましたがgenericやらオートボクシングやらラッパークラスやら
わけわからない単語が出てきて頭痛くなってきました・・・

>>423
↓出た警告です
「メソッド add(Object)はraw型ArrayListに属しています。総称型ArrayList<E>への参照はパラメータ化される必要があります」
list.add(obj);のobjが、仮にintのような基本型であればlist.add(new Integer(obj));でできるのはわかったんですが
String[]で同じような事はできないんでしょうか?

>>424
↓出たエラーです
「ArrayList<capture-of ?>のメソッド add(capture-of ?)は引数(String[])に適用できません」
<?>の意味が調べきれなかったのでちんぷんかんぷんな状態です



426デフォルトの名無しさん:2007/11/18(日) 18:47:43
>いろいろ調べてみましたがgenericやらオートボクシングやらラッパークラスやら
>わけわからない単語が出てきて頭痛くなってきました・・・

最初から応用的なコードを書くお前が悪い
足し算引き算がわからない奴に方程式の解き方は解らないだろう
配列とArrayListの違いから説明する神が現れれば神に聞いてくれ

list.add("test1");
list.add("test2");
list.add("test3");
427デフォルトの名無しさん:2007/11/18(日) 21:57:56
>>426
はい、すみません。勉強します。
genericを用いなくても結局addで警告が出るので
genericを用いた宣言部分の警告を取るように自力で頑張ってみます。

428デフォルトの名無しさん:2007/11/18(日) 22:25:18
意味はわからんだろうが、警告はこうすれば出ない
ArrayList<String> list = (ArrayList<String>)application.getAttribute("datalist");
429デフォルトの名無しさん:2007/11/19(月) 00:25:59
>>428
ありがとうございます。ただStringの配列でないとスマートでないんです。

本当は掲示板のプログラムでタイムスタンプ、名前、メッセージを取得して
配列としてlistにaddし、applicationに保存。そして別ページでlistの要素数分、配列の要素数を指定して
タイムスタンプ、名前、メッセージを取得、出力を繰り返す処理をしています。

といっても勉強の為、本のソースをコピーして動かし
わからない部分があったら調べるって作業をやっていただけなので
完全に作り直す気もスキルもありません。
この警告は無視していいのか、排除するべきなのかはわかりませんが
とりあえずこの仕様のままで警告が取れたらいいなと思っただけです。
もう少し調べてみますが、限界だと思ったら諦めます。ありがとうございました。
430デフォルトの名無しさん:2007/11/19(月) 00:32:40
@SuppressWarnings("unchecked") を付ければ警告は出なくなる
431デフォルトの名無しさん:2007/11/19(月) 00:54:47
まあ、なんだ
配列に拘っているのが問題、List使え、List。
Mapも使えMap。
後でメンテナンスしにくくなるぞ。

スマートだと思うなら使えwww
ArrayList<String> list = (ArrayList<String>)application.getAttribute("datalist");
String[] array = list.toArray(new String[list.size()]);
432デフォルトの名無しさん:2007/11/19(月) 01:26:50
>>430
そういうのもあるんですね。
ってかそれをググったら同じような質問をいくつも見つけました。
自分で調べたら一例も見つけられなかったのに・・。

>>431
まだJAVA勉強初めて3日目なんですよ。
もう今日はgenericsでお腹いっぱいです
まさに同じような質問からList使えって回答がありましたw
Listの勉強の機会があったら、このサンプルソースを作り直してみます!
433デフォルトの名無しさん:2007/11/20(火) 21:29:14
oracleのJDBCを使っているんだけど。
DATE型で格納されているデータをgetString()で取ってきたら、どんな形式で取得されるんだっけ?
YYYY-MM-DDとかYYYY/MM/DD HH24:MI:SSとか。
で、どっかの設定を変更すると、日付の形式も変更できたと思ったんだけど、どこで設定するんだったっけな。
434デフォルトの名無しさん:2007/11/20(火) 22:56:49
プログラム初心者かつ、oracleも触ったことないけど、
ResultSet rs;
SimpleDateFormat formatter = new SimpleDateFormat("YYYY/MM/DD");

formatter.format(rs.getDate(i))じゃ駄目っすか?
435デフォルトの名無しさん:2007/11/21(水) 00:45:19
>>433
>DATE型で格納されているデータをgetString()で取ってきたら
何でも文字列でとらなきゃいけないってどんなコボル脳?
436デフォルトの名無しさん:2007/11/22(木) 17:09:14

初めまして、宜しくお願いします

java超初心者です

「明解 Java入門 柴田望洋(著)」を購入し、第2章 変数を使おうP45
で行き詰り、こちらの板を訪問しました。

----------
演習2-9

以下に示すプログラムを作成せよ(実数値の乱数の生成には nextDouble() を使うこと。)

・問1   0.0以上1.0未満の実数値をランダムに生成して表示。

・問2   0.0以上10.0未満の実数値をランダムに生成して表示。

・問3   -1.0以上1.0未満の実数値をランダムに生成して表示。
---------- ---------- ---------- ---------- ---------- ---------- ----------

自分なりに書いたソースも載せようとしたのですが、改行が多いためエラーとなりまして
問題文のみを書き込みしました。

どうぞ宜しくお願いします。
437デフォルトの名無しさん:2007/11/22(木) 17:20:40
その本持ってないけど、適当に考えてこんな感じかな
public class 問1 {
public static void main(String[] args){
System.out.println(new Random().nextDouble());
}
}
public class 問2 {
public static void main(String[] args){
System.out.println(new Random().nextDouble() * 10);
}
}
public class 問3 {
public static void main(String[] args){
System.out.println(new Random().nextDouble() * 2 - 1);
}
}
章題に反して変数使ってないが…まぁいいか
なんでそんなに改行多くなるんだ?
438デフォルトの名無しさん:2007/11/22(木) 17:37:54
>>437
ご回答有難うございます

>なんでそんなに改行多くなるんだ?
・・・超初心者なので1行書いたら2〜3行、改行してまして →レス(板)書き込みエラー、となってしまいました。

見習いまして、詰めて書いてみます↓

★自分なりに書いてみました、誤りはどこでしょうか?  ご指摘、お願いします。

問1

import java.util.Random;
class Seminar2_9 {
public static void main (String[] args) {
Random aaa = new Random();

double x = aaa.nextDouble(11);
System.out.print("今日の実数値:" + x + "です。");
}
}
439デフォルトの名無しさん:2007/11/22(木) 17:40:44
Randamというクラスに
double nextDouble(int n)というメソッドは存在しない
440デフォルトの名無しさん:2007/11/22(木) 17:42:09
441デフォルトの名無しさん:2007/11/22(木) 17:45:16
>>438
誤りはどこでしょうかってコンパイラが間違った場所を指摘してくれてるだろう。
442デフォルトの名無しさん:2007/11/22(木) 18:12:44
>>439
>>441
はい、そうなんです。 

437さんの回答頂きましたが、私(超初心者)は基礎通りの書き方しか術がないもので、、、
基礎通りの書き方でお願いできれば幸いです。

>440
はい、1桁の正の整数値で1以上9以下のランダム生成は書けるのですが、
import java.util.Random;
class Seminar2_7 {

public static void main(String [] args) {
Random rand = new Random();
int Lucky = rand.nextInt(9);

System.out.println("今日のラッキーナンバーは" + (1 + Lucky) + "です。");

実数値 nextDouble() を用いて
・問1(0.0以上1.0未満の実数値をランダムに生成して表示。)の正解答がわからず
行き詰まっております。
(11)も、あれこれ考えているうちに入れてみました すみません
443デフォルトの名無しさん:2007/11/22(木) 18:16:38
基礎通りのやり方ってのがなんだかわからないが
http://java.sun.com/javase/ja/6/docs/ja/api/index.html?overview-summary.html
で目的のクラスを探して『メソッドの概要』にないメソッドはない
444デフォルトの名無しさん:2007/11/22(木) 18:16:51
>>442
> 実数値 nextDouble() を用いて
> ・問1(0.0以上1.0未満の実数値をランダムに生成して表示。)の正解答がわからず
> 行き詰まっております。
> (11)も、あれこれ考えているうちに入れてみました すみません

?? >>437 さんがばっちり正解書いてるじゃん?
ばらしたければ、ばらせばいいだけだよ。
445デフォルトの名無しさん:2007/11/22(木) 18:20:55
>>442
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Random.html
を見てみるといい

Randomクラスで使えるメソッドの一覧が載っている
そこには nextInt は引数なしと引数付きの 2 種類あるが、
引数付きの nextDouble は無いのがわかるだろう
そこに載ってるものしか使えないから、その中から説明を読みながら目的に合ったものを選ぶんだ
自分勝手に新しいメソッドを考えてはいかん
446デフォルトの名無しさん:2007/11/22(木) 18:44:11
436です。皆様、ご指摘有難うございます

>>443
>>445
リンク先有難うございます、勉強いたします 

>>444
はい、自分の書き方との違いに戸惑ってまして ご参考させて頂きます。

恐縮です、今後とも是非宜しくお願いします   436。
447デフォルトの名無しさん:2007/11/22(木) 20:44:29
>>437
お世話になります 436です、宜しくお願いします。

// 問1 437さん回答(回答有難うございます) クラス名 問1→Q1としてコンパイルしました。

public class 問1 {
public static void main(String[] args){
System.out.println(new Random().nextDouble());
}
}

G:\MeikaiJava>javac toi_1.java
Q1.java:21: シンボルを見つけられません。
シンボル: クラス Random
場所 : Q1 の クラス
System.out.println(new Random().nextDouble());
^
エラー 1 個

G:\MeikaiJava>

437さんのご回答をコンパイルしたのですが、エラーが出てしまいました。
448デフォルトの名無しさん:2007/11/22(木) 20:46:51
//問1 私、436 改めて書いてみました。
import java.util.Random;                            // 入門書通りでしかソースを書けないので、入門書通りimport を最初に書きました。
class Q1 { // クラスを書きました。
public static void main(String[] args){                   // 入門書の意向で、初心者は、とりあえずこの"型"で覚えるようにとの事です。
System.out.println(new Random().nextDouble());           // 437さんご回答の"型"で、少々戸惑っております。
}
}

public class 問1 {     // public を最初に書く事を習っておらず、戸惑っております。public とは
class Q1 {          // 入門書通り書きました。
449デフォルトの名無しさん:2007/11/22(木) 20:49:48
なにその本
入門書なら問題の答えは載せるべきだろ
450デフォルトの名無しさん:2007/11/22(木) 20:58:06
>>449

436です。はい、応用問題に解答は記載されていません "自ら考え解く力を養う"というコンセプトは良いと思いますが
初心者には、解答もほしいところです
451デフォルトの名無しさん:2007/11/22(木) 21:23:22
なんせ、ぼーよーちんの本だからなあ
452デフォルトの名無しさん:2007/11/22(木) 22:13:17
問題の解答は作者HPで順次公開
ってスタイルじゃなかったっけ
453デフォルトの名無しさん:2007/11/22(木) 22:20:27
436です。

「明解Iava入門編」に関しては、解答は見当たりませんでした  ・・・残念です。

ですが、本の内容は不親切な感を受けません  初心者でも、まずソースを書いてみて  後々「コレはこういう事だよ」という、後の章で説明もありますし。
454デフォルトの名無しさん:2007/11/22(木) 22:58:09
>>453
演習は独習Javaでやるべし
455デフォルトの名無しさん:2007/11/23(金) 00:39:03

こんにちは、よろしくお願いします。
JAVAを始めたばかりの者です。
学校の講義で課題が出たのですが、分からないので教えてください。

【課題】
『5つの配列にそれぞれ数字を代入し、指定した値が配列に含まれているかを探すプログラムにおいて、
指定した数が見つかった場合には、それが5つの中で何番目の要素であるかを出力する文を書きなさい。』
というものです。
配列を指定し、指定した値を探し、それがあるかないかを探すプログラムは示されているのですが、
それが0〜4のどの要素であるかを探すプログラムが欠けている状態です。
どうか教えてください。よろしくお願いいたします。
456デフォルトの名無しさん:2007/11/23(金) 00:41:22
457デフォルトの名無しさん:2007/11/23(金) 00:43:45
Arrays.binarySearch使ったら怒られるんだろうな
458デフォルトの名無しさん:2007/11/23(金) 01:13:09
>>455
なにを教えて欲しいかを書けない奴は超初心者以前という事を覚えておけ
459デフォルトの名無しさん:2007/11/23(金) 01:28:42
>>454

アドバイスありがとうございます。  ググってみて拝見しました(Amzn) レヴューを一読しましたが、評価が1、2。 もしくは4,5。 と、はっきり2分化されてるようですね

平均(3)がないのも、・・・それだけ読み手を選ぶのでしょうか。 初心者が高評価して、玄人が低評価するとは考えにくいですし
万人の"聖本"があれば、どうぞ宜しくお願いします。

P.S.
最近HDD購入しました Travelstar 5K160    ・・・静音性に賛否あるようですが。 私はそれほど気にならないと感じますが。    本日はアリガトウございました。  436。

460デフォルトの名無しさん:2007/11/24(土) 00:03:33
javaでcabochaを使うにはどうしたらいいのでしょうか?
461デフォルトの名無しさん:2007/11/24(土) 04:21:52
>>460
マルチするな
スレを移動するなら移動元はきちんとクローズしておけ
cabochaなんて知らねえ
そんな単語だけで情報が得られると思ってるのか
少なくとも関連情報へのポインタを示すべきだろ
お前の自明は他人の不明だ
もしcabochaでなく日本語係り受け解析器のCaboChaのことなら
Runtime#execなりProcessBuilderなりで起動して
標準入出力でデータの受け渡しをするようにすればいい
一時ファイルを使ってもいい
462デフォルトの名無しさん:2007/11/24(土) 05:05:57
>>461
マルチのことはともかく、知らなければレスしなければいいだけだろ。
463デフォルトの名無しさん:2007/11/24(土) 09:57:14
>>462
何を恥ずかしがっているんだ?
464デフォルトの名無しさん:2007/11/24(土) 22:56:08
googleのような入力フォームのあるサイトにアクセスし
適当なクエリを打ち込んで、その結果をテキストファイルに
保存してくれるようなプログラムはどのように書けばいいのでしょうか?
465デフォルトの名無しさん:2007/11/24(土) 23:09:08
Httpでサイトに接続する
サイトに渡す引数やそのフォーマットはサイトが公開しているのが条件
戻ってきたXMLなりHTMLを解析して、テキストファイルに出力する
HTTP通信の部分はCommonsのライブラリ等を使うと楽。

だが超初心者に出来るとは思えない。
466デフォルトの名無しさん:2007/11/24(土) 23:14:44
初心者なら丁度いいレベルだな
467464:2007/11/24(土) 23:24:35
>>465
ありがとうございます。
さっそく試してみたいと思います。
468デフォルトの名無しさん:2007/11/24(土) 23:54:14
>>466
Java初心者ならなんとかなるがプログラミング初心者には無理だろ
469デフォルトの名無しさん:2007/11/26(月) 13:10:52
Java とかより Ruby とかの方が全然簡単そうなタスクだな。
470デフォルトの名無しさん:2007/11/26(月) 15:06:43
吉岡先生、どうぞ
471デフォルトの名無しさん:2007/11/27(火) 10:18:36
清十郎?
472デフォルトの名無しさん:2007/12/04(火) 21:49:46
import javax.swing.JFrame;
import java.awt.Color;
import java.awt.Insets;

public class GameTestMain {
JFrame frame1;

GameTestMain(){
frame1 = new JFrame("ゲームテスト");
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setBackground(Color.WHITE);
frame1.setResizable(false);

frame1.setVisible(true);
Insets insets = frame1.getInsets();
frame1.setSize(600 + insets.left + insets.right,
400 + insets.top + insets.bottom);
frame1.setLocationRelativeTo(null);
}

public static void main(String[] args) {
GameTestMain gtm = new GameTestMain();
}
473デフォルトの名無しさん:2007/12/04(火) 21:50:47
>>472に書いたプログラムを実行した所、ウィンドウの背景が白になりませんでした。
どこが間違ってるんでしょか?
474デフォルトの名無しさん:2007/12/04(火) 23:29:56
たぶん
frame1.getContentPane().setBackground(Color.white);
475デフォルトの名無しさん:2007/12/05(水) 14:39:29
JPanel jp = new JPanel();
jp.setBackground(Color.white);
frame1.getContentPane().add(jp);

の方が良くないかな?
476デフォルトの名無しさん:2007/12/05(水) 21:30:36
java:超初心者
参考書:明解Java入門編   柴田望洋(著)        ※著者御中 どうか、解答集をupして頂けたら幸いです

横から恐れ入ります
"絶対値"...なんて言葉、久しく接しておらず   ...奮闘しとります("絶対値詳細"は、ググって独学します。)

解答のプロセスが解りません
講義頂ければ幸いです、どうぞ宜しくお願いします。     途中まで書いてみました ↓
477デフォルトの名無しさん:2007/12/05(水) 21:31:38
整数値を読み込んで、その絶対値を求めて表示するプログラムを作成せよ。
整数値:-5
解答:5

import java.util.Scanner;
class Seminar3_1 {

public static void main(String [] args) {
  Scanner a1 = new Scanner(System.in);
System.out.print("整数値:");
  int n = a1.nextInt();          //ここまでは淡々と書けました
                      //...ここからフリーズ。おろおろしながら書きましt
  if (n>0)
System.out.println("その絶対値は"+"です。");
478デフォルトの名無しさん:2007/12/05(水) 21:36:43
if (n < 0) {
n = -n;
}
479デフォルトの名無しさん:2007/12/05(水) 22:43:36
>>478
有難うございます、解決致しました。 //そして、"java if 絶対値" でググってみました。

import java.util.Scanner;
class Seminar3_1 {

public static void main(String [] args) {
  Scanner a1 = new Scanner(System.in);
System.out.print("整数値:");
  int n = a1.nextInt();
  if (n<0) {n =-n;}
System.out.println("その絶対値は"+n+"です。");
}
}
480デフォルトの名無しさん:2007/12/05(水) 23:50:28
素直に Math.abs(n) でもいいような気もするが。
481デフォルトの名無しさん:2007/12/06(木) 17:08:15
Seminar3_1って名前と本の目次からみてif文の使い方の段階じゃないかな
482デフォルトの名無しさん:2007/12/06(木) 17:49:25
Seminar3_1_Math.java

import java.util.Scanner;
class Seminar3_1_Math{

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

System.out.print("整数:");
int n = a1.nextInt();

n = Math.abs(n);
System.out.println("絶対値"+n+"です。");
}}

はい、現段階でif文を学んでます。"n = Math.abs(n);"を理屈もわからず書いてみたところ・・・できました、が理解度は??です

Math.abs(n); は、どこを見ればいいですか?
http://java.sun.com/javase/ja/6/docs/ja/api/index.html?overview-summary.html
483デフォルトの名無しさん:2007/12/06(木) 17:59:05
>>482
すべてのクラスの Math をクリックして abs っていうところ
484デフォルトの名無しさん:2007/12/06(木) 20:36:23
>>483
有難うございます。  /* if文 →次はswitch文のようです、が 残り20ページほどif文が続きそうです */
485デフォルトの名無しさん:2007/12/10(月) 21:22:58
キーボード入力でコンパイルしてファイルを実行しても

java.lang.NoClassDefFoundError: javaapplication3/e4no1
Exception in thread "main"
Java Result: 1
がでます、誰か実行の仕方教えて






















486デフォルトの名無しさん:2007/12/10(月) 21:37:45
>>485
エラー内容:お前が実行しろと指定したクラスが見つからないんだが
原因その1:クラスの名前が間違ってる
原因その2:クラスパスの設定が間違ってる
このへん
ttp://www.wikiroom.com/java/index.php?path%2Cclasspath
487デフォルトの名無しさん:2008/01/09(水) 15:14:43
大学の宿題でいきなり以下のものを参考にして簡易お絵かきソフトを作成
しろと言われました。参考書を見ましたが、import、 public cass、
public void等覚えましたが難しいです。
初めに与えられたヒントです。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Dots extends Applet implements ActionListener,
MouseListener{

int imaX,imaY;
Button kesigomu;
Graphics egaku;

public void int(){
kesigomu=new Button("kesuyo")
kesigomu.addActionListener(this);
add(kesigomu);
egaku=getGraphics();
this.addMouseListener(this);
}
です。意味がわかりません。さらに、ヒントで
マウスがクリックされた時 mouseClicked MouseListener MouseAdapter
マウスがボタンを押された時 mousePressed MouseListener MouseAdapter
マウスがボタンを離された時 mouseReleased MouseListener MouseAdapter
マウスカーソルがアップレット領域に入った時 mouseEnterd MouseListener MouseAdapter
マウスカーソルがアップレット領域から出た時 mouseExited MouseListener MouseAdapter
マウスでドラッグした時 mouseDragged MouseMotionListener MouseMotionAdapter
マウスで動かした時 mouseMoved MouseMotionListener MouseMotionAdapter
これも使用しなさいとのことです。詳しい方、よろしくお願いします。
488デフォルトの名無しさん:2008/01/09(水) 15:18:11
すみません、上記はjavaアプレットです。
489デフォルトの名無しさん:2008/01/09(水) 16:03:45
>>487
唐突に出されたわけでなく授業をさぼっていたからいきなりと感じてるだけじゃないの?
単に分からないだけでは漠然としているので質問を絞り込むか、
タメにはならないから勧めたくはないが、自分でやる気がないのなら宿題スレへ。
490デフォルトの名無しさん:2008/01/09(水) 21:03:53
日本語初心者で説明できないから、いきなりということにしたのかも。
高校出ても日本語は初心者のままって奴増えてるから……
491デフォルトの名無しさん:2008/01/09(水) 22:07:05
日本語の問題というよりも基本的な考え方がわかってないように
しか見えん。ヒントでなんとかなるレベルじゃなくて、答を作って
もらって書き写すしかなさそ。しかも、} 忘れるとかちょっと
写し間違えたらグリコ状態になりそうだ。
492デフォルトの名無しさん:2008/01/11(金) 09:12:52

String型文字列の比較を行うとき
見た目は同じ文字列なのに一致しないというケースはありうるんでしょうか?
そうとしか思えない現象が起きているんですが

String letter="れません 冬ゎやっぱりコタツだょね あったかぁ〜";
String word="コタツ";

letter.indexOf( word ) ← これが -1


入力の文字列はUTF-8で、
入力するとき .toLowerCase() とかやっているんですが何か関係あるでしょうか?

しかも、同じようにやっているのに
他の文字列(これも日本語、マルチバイト文字)では一致する場合もあります。


そしてこういう場合、何が原因というか対策などないでしょうか...

493デフォルトの名無しさん:2008/01/11(金) 21:38:09
すみません
ふらっとC#スレ→win32スレから誘導されてきました

お聞きしたいのですが
ブラウザ(IE)上に表示されたテキストボックスからテキスト取得ってできるんですかね?
サイトはJAVAアプレットで書かれているものです
参考サイト、ググるキーワードなどあればご教示下さい

宜しくお願いします
494デフォルトの名無しさん:2008/01/11(金) 23:13:56
>>492
toLowerCase で 「ツ」 が 「ッ」 になってたりしてな。

>>493
出来なくはないけど只管難しい。
495デフォルトの名無しさん:2008/01/16(水) 08:39:34
java(というかswing?)を使って外部のプログラムを操作

(ex.ボタン押したらLinux端末にコマンドを打ち込む。
コマンドから出た文章をテキストボックスに表示する)

とかいうことをするには、何かいいクラスとかあるのでしょうか?
496デフォルトの名無しさん:2008/01/16(水) 14:17:00
標準入出力を読み書きする程度の操作で済むなら普通にProcessBuilderかRuntime#execで
シェルでも起動させてProcess#getInputStreamと#getOutputStreamでいじればいいんじゃないか
497495:2008/01/16(水) 18:47:13
>496
できれば、その後定期的(1秒ごと程度)
に出力の値を読めるようにしたいのですが、
シェルを毎度起動するとさすがにうざいですよね?
498デフォルトの名無しさん:2008/01/16(水) 19:32:12
なんで毎度起動する必要がある?
起動しっぱなしにしとけば?
499495:2008/01/16(水) 22:27:34
>498
あ〜調べてみたら確かにできそうですね。
あとはシェル常時起動がツールバー的に邪魔じゃないことを祈ります。
500デフォルトの名無しさん:2008/01/18(金) 21:50:59
ここで聞くことではないのかもしれませんが

「プログラムの追加と削除」を見ると
Java(TM)6 Update 2
Java(TM)6 Update 3
と2つのプログラムがありました
このうち(2)を削除しても問題ありませんか?
お忙しいかと思いますが
超初心者の私にお答えをお願い致します
501デフォルトの名無しさん:2008/01/18(金) 21:57:06
まったく問題ない
502デフォルトの名無しさん:2008/01/18(金) 22:42:58
>>501
有難うございます。
503デフォルトの名無しさん:2008/01/19(土) 19:37:15
ものすごい初心者ですみません。
JavaServletに複数のクライアントが接続した再に、クライアントごとに変数を容易するにはどうしたらいいでしょうか?

例えばクライアントがサーブレットにアクセスした回数をカウントするプログラムなど。
504デフォルトの名無しさん:2008/01/19(土) 19:56:54
プログラミング<<<CPU設計だから
505デフォルトの名無しさん:2008/01/20(日) 17:26:45
アプレットで画像を印刷しようとしているのですができますか?

Image a = getImage(getCodeBase(),"img.gif");
で読み込んだ画像を、パネルに表示せずにそのまま印刷することが理想ですが、
無理でしたら画像をパネルに表示し、それをパネルごと印刷したいと考えています。
やり方が分かる方よろしくお願いします。
506デフォルトの名無しさん:2008/01/20(日) 18:32:43
>>505
java.awt.print.Printableを実装したクラスを作ってjava.awt.print.printerJobにセットして
printメソッド呼んでやればできると思う。(実際はもうちょいやる事あるけど)
JDKに同梱されているjava2Dのデモにほぼまんまの処理があったはずなので探してみて。
507デフォルトの名無しさん:2008/01/20(日) 19:59:11
柴田望洋のJavaの入門書が発売されましたが
やさしいJavaとどちらが初心者にはいい感じですか?
508デフォルトの名無しさん:2008/01/20(日) 20:21:37
>>506
レスありがとうございます。早速やってみますね。
もしまた分からないことがあったらよろしくお願いします。
509デフォルトの名無しさん:2008/01/20(日) 21:40:24
>>507 Java の初心者?それともプログラミングの初心者?
510デフォルトの名無しさん:2008/01/20(日) 22:19:48
柴田望洋の明解JAVA使って一通り終わって
GUIの勉強を軽くでいいのでしたいmpですが、分かりやすい本ってなんかないですか?

ベクターだとかスイングだとかボタンとかテキストフィールドとかテーブルモデルとかわけわかんないorz

なんとか3日以内に理解したいんだけど・・・
511デフォルトの名無しさん:2008/01/20(日) 22:47:23
>>506
すみません、デモが見つからないのですがどこにありますか?orz
java初心者ですみません(つд`)
512506:2008/01/21(月) 00:00:11
>>511
Javaのインストールディレクトリ直下のdemoの下です。
うちのマシンだと
C:\Program Files\Java\jdk1.6.0_01\demo\jfc\Java2D\src\java2d

ここのTools.javaとSurface.javaが対象になるかと。
513505:2008/01/21(月) 00:28:33
>>512
何度もすみません、ありがとうございます。
おかげで見つかりました^^(自分のマシンだとjdk1.5.0_12の中にしか入ってませんでしたが)

ですが・・・ソースが難しくて理解が困難ですorz
また、これをそのままコンパイルにかけたらエラーが出てしまって・・・
どうやったらこの二つが動くようになるでしょうか?
あとどこを取り入れたらいいのか、アドバイスお願いします><
514506:2008/01/21(月) 01:03:59
>>513
んと、ざっとプログラム見てみた感じだと
Tools.javaのrunメソッドでPrinterJob使っているところがあるので基本的な使い方は
そこを参照すればいけそう。
Printableの方はなんらかのコンポーネントに対してPrintableをimplementsしたクラス
を作ってやってprintメソッドを実装。
このオブジェクトにイメージのっけてPrinterJob#print()実行
でいける…かな?(「イメージのっけて」ってのが面倒かもしれんけど)
プログラム斜め読みなんで間違ってたらすまん
515506:2008/01/21(月) 02:13:37
目が冴えて眠れないんでサンプル作ってみた
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/175.zip
プリンタが無いんで稼動テストできないけど一応こんな感じになるかな、という参考程度に。
516デフォルトの名無しさん:2008/01/21(月) 12:04:35
>>503
>複数の接続
ひとつからの断続的な接続なのか同時多数接続なのかわからないYO
517デフォルトの名無しさん:2008/01/21(月) 12:39:26
>>503
おとなしくJSPを使うことをすすめる。
518503:2008/01/21(月) 16:22:22
>>516
同時多数接続です。接続順にサーブレットがユーザー番号を発行して、
ユーザー番号ごとに変数を用意すればOKですかね?

>>517
サーブレットでやりたいのです。
519デフォルトの名無しさん:2008/01/21(月) 23:31:00
なぜ茨の道を歩もうとするのか
520505:2008/01/21(月) 23:42:36
>>515
昨日は眠くなって寝てしまいました、すみません><
>>515でいただいたものを使ったらできました!
何度もアドバイスしていただいただけでなく、わざわざ作っていただき本当に感謝です><
おかげで思った以上の物が作れそうです。
本当にありがとうございました!
521デフォルトの名無しさん:2008/01/22(火) 18:35:17
public class PetTester2 {
static void intro(Pet p){
p.introduce();
}



public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Pet[] a = {
new Pet("Kurt","アイ"),
new RobotPet("R2D2","ルーク"),
new Pet("マイケル","英夫")

};

for(Pet p : a){
intro(p);
System.out.println();
}

}

}

この文章のfor(Pet p : a)の意味がわからないのですが、どういった意味なんでしょうか?
調べてもわからなかったので教えてくださいm(__)m
522デフォルトの名無しさん:2008/01/22(火) 18:44:55
>>521
java 5 の新機能でググレ。いわゆる for each文。
523デフォルトの名無しさん:2008/01/22(火) 18:48:34
>>522
理解しました!ありがとうございましたm(__)m
524デフォルトの名無しさん:2008/01/23(水) 01:54:51
Vector data = new Vector<クラス名>();

これってどんな意味ですか?

Vector data = new Vector();
これとどう違うのですか?(こちらの意味は普通にわかります)

<>これの意味が調べても良くわからなかったので教えてくださいm(__)m
525デフォルトの名無しさん:2008/01/23(水) 02:37:53
連スレでごめんなさい

  JButton saveButton, openButton, insertGoodButton;
JTextField goodNameTextField, goodPriceTextField;
JTextArea messageArea;
GoodsTableModel goodsTable;
JFileChooser fileChooser;

GUIのクラスのはじめにこのような記述がありますが
この中のGoodsTableModel goodsTable;の役割は何ですか?(役割というか、このような記述がどういった意味があるのか)

他のはGUIを作るうえでのボタンや画面などを表しているっていうのは何となくわかるのですが・・・
526デフォルトの名無しさん:2008/01/23(水) 10:29:08
CGIを使って非同期をするとあるのですが
CGIのファイルは自分のパソコンに置いてテストできるのでしょうか?
どこかにうpしないと無理でしょうか?
よろしくお願い致します
527デフォルトの名無しさん:2008/01/23(水) 11:21:43
>>524
ジェネリクス、genericsでぐぐる

5.0からの機能を解説してる入門書ってほんと少ない
あっても欄外解説や改訂版の付け足しコラムで触れてる程度だったり
528デフォルトの名無しさん:2008/01/23(水) 16:05:53
>>525
Swingコンポーネントはデータを保持するモデルクラスとそのデータを表示するビュークラスに分かれている
TableModelはテーブル用のデータを保持するモデルクラス
JTableはTableModelが保持しているデータを表示するビュークラス
同様にJButtonとかJTextFieldもビュークラスであって、対応するモデルクラスが(普段は気にしないけど)存在している
529デフォルトの名無しさん:2008/01/23(水) 16:07:12
>>526
それJavaとなんか関係が?
530デフォルトの名無しさん:2008/01/23(水) 19:12:52
>>529
詳しくかけないけど関係あるんですよ
531デフォルトの名無しさん:2008/01/23(水) 19:16:52
>>530
自分のパソコンにwebサーバを入れれば自分のパソコンに置いてテストできますよ
532デフォルトの名無しさん:2008/01/23(水) 19:18:37
>>531
そうなんですか
即レスありがとうです
533デフォルトの名無しさん:2008/01/24(木) 03:55:35
>>527-528
お二方有難うございますm(__)m
5.0からの新機能とやらに大分悩まされていますが頑張って見ますorz...

テーブルモデルってのは、クラスでいうところの抽象クラスみたいなもんなんですかね
はっきりとはまだ分からないけどなんとなく分かった気がしました!
534デフォルトの名無しさん:2008/01/24(木) 14:51:11
>>524
> Vector data = new Vector<クラス名>();
>
> これってどんな意味ですか?
>
> Vector data = new Vector();
> これとどう違うのですか?(こちらの意味は普通にわかります)

Vector<Type> data = new Vector<Type>();

今までは Object なら何でも入れられたけど強力すぎて
バグの元だからなんとか制限しましょ、てことだと思っ
てる。上の例だと data に add するには Type か、
Type を継承してる必要がある。

ところが remove() とかは Object を渡せちゃうんだよ
ね。

それと Type 情報は最終的には消えちゃうので C++ の
ような型安全性とはちょっと違うのもポイント(ゴリゴ
リ書いてれば「アレ?」というケースがママ登場する)。
535デフォルトの名無しさん:2008/01/25(金) 01:41:21
removeの引数がObjectであることは問題にならない
リストに入っていないものを渡しても何もせずに戻ってくるだけ
536デフォルトの名無しさん:2008/01/25(金) 01:44:34
というか、入門書でListを説明してるものが少ないんだよね。
Listが載ってない入門書は、はっきりいって無価値なのに。
537デフォルトの名無しさん:2008/01/25(金) 01:49:09
>>535
つ「型安全性」

見つけにくいバグの恩賞になるのになんで Object のままなのか
さっぱりわからん > remove()
538デフォルトの名無しさん:2008/01/25(金) 02:40:07
539デフォルトの名無しさん:2008/01/25(金) 09:32:37
>>538
> ttp://www-128.ibm.com/developerworks/jp/java/library/j-jtp01255/
>
> クラス・ライブラリーをgeneric化する大きな目的の
> 一つは、既存コードの意味体系を壊したり変更したり
> しないということです。ですからremove() や
> removeAll()、retainAll()、それにcontainsAll() な
> どは、全く初めからgeneric用に再設計されたものよ
> りも、弱いタイプ制約で定義されている必要があった
> のです。

ttp://java.sun.com/j2se/1.5.0/ja/compatibility.html#source

> ソースレベルの下位互換性はサポートされていません。

イミフ(w
540デフォルトの名無しさん:2008/01/25(金) 11:58:45
バイナリ互換性のためだろ
古いクラスファイルを最新のVM上でも動かしたかった
ソースの互換性はないので、再コンパイルする場合は書き直しが必要
541デフォルトの名無しさん:2008/01/25(金) 12:06:13
javaはOSは関係ないと書いてあったのですが

ファイル操作をするとき
OSXは/
Winは¥
でフォルダー、ディレクトリを区切っていますがそこのところはどうなるのでしょうか?
542デフォルトの名無しさん:2008/01/25(金) 12:14:09
java.io.File.separatorChar に区切り文字(OSXなら/、Winなら\)がセットされてるので、それを使う
543デフォルトの名無しさん:2008/01/25(金) 13:49:39
>>540
> バイナリ互換性

コンパイル結果のバイトコードは Object 受けでもいいけど、
コンパイル時に指定した型以外を渡せないようにしなかったのは
何故なんだぜ?
544デフォルトの名無しさん:2008/01/25(金) 14:19:53
>>543
そういやそうだった
なんでだろね
545デフォルトの名無しさん:2008/01/25(金) 16:25:53
>>542
サンクス
546デフォルトの名無しさん:2008/01/25(金) 20:31:34
javaでひし形の3次元モデルを作ってます。そこで質問なんですが

頂点座標のデータ
P1{-1,0,0}
P2{0,1,0}
P3{0,0,-1}
P4{1,0,0}
P5{0,0,1}
P6{0,-1,0}

面のデータを加える場合は、{{-1,0,0},{0,1,0}{0,0,-1}}のように
記述するんでしょうか?
547デフォルトの名無しさん:2008/01/25(金) 22:08:30
>>546
ちょっとわからんが、3D model をどう作ってるの?
code を見ないとわからん。
548デフォルトの名無しさん:2008/01/26(土) 01:49:36
>>547
レスしてもらったのに申し訳ないです。
データの入ったパソコンを実家に忘れてしまいました。
また、後日質問させていただきます。
549デフォルトの名無しさん:2008/01/26(土) 22:15:21
ttp://www7.axfc.net/uploader/93/so/File_3636.txt.html
どなたか助けてください。コンパイルはできるのに表示されないんです
550505:2008/01/27(日) 21:06:43
>>515でいただいたソースで印刷はできるようになったのですが、
セキュリティー警告のポップアップで取り消しを押すとエラーが出てしまいます。
このエラーを出すとその後印刷ができなくなってしまうのですが、対処法は有りますか?
551デフォルトの名無しさん:2008/01/27(日) 21:27:29
>>549
例外メッセージが出てるはずだから、それをよく読むこと。
ヒント:ArrayList の get() メソッドの引数は、ゼロから size() - 1 までの値を入力するように。


関係ないけど、ヒント2:きみがやりたいのは「/ 3」ではなく「% 3」のはず。
552デフォルトの名無しさん:2008/01/29(火) 19:23:07
>>550
セキュリティーで問題ありそうなのに対処せずに使い続けようとすればどっかにしわ寄せがくる希ガス
大丈夫と判っていても判断するのはOSだけど

↓こんなんみつけたけど別件かな?
ttp://www.losttechnology.jp/Tips/savezoneinformation.html
ご利用は自己責任で。
553550:2008/01/30(水) 23:56:46
>>552
そうですか(´・ω・)
レスありがとうございました。

あと使用するのが自分のPCではないので、
URLの先のものはちょっと無理ですね;
でもせっかくなんで自分のPCで少し試してみようと思います。
554デフォルトの名無しさん:2008/02/02(土) 00:50:16
質問です。ロジックの問題なのですがお願いします。

「名前クラス」はString型の変数kanaとspellを持っています。
@kanaに「けんじ」と入っている場合、spellには「kennji」と入っています。
Akanaに「きんや」と入っている場合、spellには「kinnya」と入っています。
Bkanaに「こんにゃく」と入っている場合、spellには「konnnyaku」と入っています。
ローマ字入力の方式は複数あり、
たとえば「ん」の入力の時に次の文字が子音で始まる場合、
「n」の入力を一回で済ましてしまう方法があります。
「けんじ」の場合、spellに「kenji」と入力する方法です。
この二つの方法に対応するようにspellの内容を入れ替えるメソッドを作りなさい。

以上が問題なのですが、まずkennjiをkenjiにするためのロジックを考えてみました。
Stringクラスのreplaceを使って、
public void change() {
 spell = spell.replace("nn","n");
}
とすると、「ん」の次の文字が母音の場合とYの場合におかしくなってしまいます。
「kinnya」が「kinya」になってしまいます。(「きんや」が「きにゃ」になってしまう)
逆に戻すメソッド(kennjiをkenjiにする)も考えようとするとまったく思いつきません。
どなたかいい方法をお教えください。
555デフォルトの名無しさん:2008/02/02(土) 01:50:51
>>554
replace("ny", "nny");
replace("nn", "n");
556デフォルトの名無しさん:2008/02/02(土) 02:53:45
>>554
「たんい」と「たんに」の区別をどう判定するんだ?
「tanni」これは単位?単に?
557554:2008/02/02(土) 12:06:05
>>555
ありがとうございます
そのやり方はまったく思いつきませんでした。
ほぼうまくいったのですが「こんにゃく」の場合に「konnnyaku」が「konnyaku」になってしまいました
これはどうアレンジすればいいでしょうか ほんとに考えたんですけどまったく思いつきません。
>>556
「tanni」は「たんい」です
わかりにくい説明ですみません。自分なりに整理してみました。
方法1は「ん」の入力のとき必ずnを二回押さなくてはならない。
方法2は「ん」の次の文字が子音(yを除く)で始まる場合のみ「n」は一回押すだけでよいようにする。

方法1を方法2に変換するにはこうやりました。
spell = spell.replace("na", "01");
spell = spell.replace("ni", "02");
spell = spell.replace("nu", "03");
spell = spell.replace("ne", "04");
spell = spell.replace("no", "05");
spell = spell.replace("ny", "06");

spell = spell.replace("nn", "n");

spell = spell.replace("01","na");
spell =spell.replace("02","ni");
spell = spell.replace("03","nu");
spell = spell.replace("04","ne");
spell = spell.replace("05","no");
spell = spell.replace("06","nny");
しかし方法2を方法1にするやり方がまったく思いつきません。
方法1ももっとスマートなやり方はないでしょうか?
558デフォルトの名無しさん:2008/02/02(土) 12:25:35
質問です。
やさしいJava活用編を元に勉強しているのですが、Tomcatのインストールで失敗してしまいます。

具体的には、
Using Jvm:C:Program Files\jre1.5.0_07\bin\client\jvm.dll
の時点でエラーが出てしまいます。
JDKを1.5から1.6に入れ直して再び試しましたが同じ結果でした。
JAVA_HOMEも設定しました。
インストールしようとしているTomcatのバージョンは6.0.14です。OSはWindows Meです。
どなたかご教授お願いします。
559デフォルトの名無しさん:2008/02/02(土) 12:58:27
エラーの内容は?

とりあえず、コマンドプロンプトで
%JAVA_HOME$\bin\java -version
って実行したらどうなる?
560デフォルトの名無しさん:2008/02/02(土) 13:00:01
>>554
正規表現で出来そう
561デフォルトの名無しさん:2008/02/02(土) 14:15:24
>>554
n二文字にするのが根本から間違ってるんじゃね?
562デフォルトの名無しさん:2008/02/02(土) 16:47:05
ん[あいうえお] nn
(な|に|ぬ|ね|の|にゃ|にゅ|にょ) n
ん(な|に|ぬ|ね|の|にゃ|にゅ|にょ) nnn
こうなのか?
563デフォルトの名無しさん:2008/02/02(土) 17:13:14
今日はじめたばっかりの者ですが、パス指定がよく分かりません。
C:\>Documents and settings\sela>cd C:\program Files\Java\jdk1.6.0_04>
コマンド構文が正しくありません
正しく入力してあると思うんですが、結果がでません。
どこが正しくないですかね?
564デフォルトの名無しさん:2008/02/02(土) 17:19:01
最後の>は不要
565デフォルトの名無しさん:2008/02/02(土) 17:47:05
レスありがとうございます。
最後の>はずしたら今度は
'Documents' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
って出てきました。質問ばっかですんません
566デフォルトの名無しさん:2008/02/02(土) 17:54:13
とりあえず入力するのは
cd C:\program Files\Java\jdk1.6.0_04
これだけだ。

Javaより、まずはコマンドプロンプトの勉強しろよ。
567デフォルトの名無しさん:2008/02/02(土) 18:00:36
できました。ありがとうございます。まずはコマンドプロントからがんばって
いきたいと思います。
568デフォルトの名無しさん:2008/02/02(土) 18:44:45
>>563
いまから始めるJava 第1回「Java2 SDKで学習の準備」
http://www.atmarkit.co.jp/fjava/rensai2/javaent01/javaent01.html
569558:2008/02/02(土) 22:46:11
>>559さん、ありがとうございます。

インストーラにしたがってnextをポンポン押して進めていくと、インストール中に

「Failed to install Tomcat6 service.
Check your setting and permissions.
Ignore and continue anyway(not recommended)?」

というメッセージが出て来て、中止or再試行or無視の選択を迫られます。
(このときの進捗状況が Using Jvm:C:Program Files\jre1.5.0_07\bin\client\jvm.dll でした)
再試行しても、やっぱりこのメッセージが出てきます。
無視してインストールを進めて、その後
スタートメニュー → プログラム → apache Tomcat6.0 → monitor Tomcat
から起動させてみると、

「C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\tomcat6w.exe
システムに接続されたデバイスが機能していません」

「プログラム開始エラー
TOMCAT6W.EXEファイルがリンクしている
エクスポート NETAPI32.DLL:NetApiBufferFreeは見つかりません」

という二つのメッセージが同時に出て来てtomcatは起動できませんでした。

あとコマンドプロンプトで、「%JAVA_HOME$\bin\java -version」と入力したところ、
「コマンドまたはファイル名が正しくありません」
と表示されました。これはJAVA_HOMEの設定が正しくされていないという事なんでしょうか?
570デフォルトの名無しさん:2008/02/03(日) 01:38:03
インストール済みの既存の
Tomcatサービスをとめればいいんだよ。
Windowsだったら、常駐プログラムとしてTomcatサービスが起動していると思う。
まずはそれを切る。常駐アイコンが見当たらなければタスクマネージャでtomcatを強制終了するか
設定-サービスでTomcatのサービスを探してTomcatサービスを終了すればいい。

もしくは、既存のTomcatをアンインストールしてみてはどうだろう?
571558:2008/02/03(日) 13:05:55
>>570さん
常駐プログラムとしてTomcatは起動していないみたいです。
タスクマネージャって、[Ctrl]+[Alt]+[Delete]押して出てくるやつですよね?
そこにもTomcatの名前はありませんでした。

[アプリケーションの追加と削除]からTomcatをアンインストールして
再びインストールを試みても、>>569のような状況になってしまいます。
572デフォルトの名無しさん:2008/02/03(日) 18:56:21
正直言って tomcat の事はあまり詳しくないんだけど
あんまし有用なレスもついてないっぽいので・・・

OS は Me だという事で、それじゃ「サービス」には登録できない。
9x 系 (Win95, 98, Me) には「サービス」が無いから。
もしかしたら「Failed to install Tomcat6 service.」はその警告なのかも。

> エクスポート NETAPI32.DLL:NetApiBufferFreeは見つかりません

これ、Win2000 や XP 専用のアプリを 9x 上で動かそうとした時に
よく見かけるよなあ。9x には NETAPI32.DLL が存在しないんだっけ?
もしかしたら tomcat6 って、もう 9x 系じゃ動かないのでは?
あるいは、別バイナリが配布されているとか???
573デフォルトの名無しさん:2008/02/03(日) 19:09:01
あわわ、追記。
tomcat ってピュア java なんだっけ?
EXE ファイルは、起動やらモニタリングを便利にする、ただのオプション?
じゃあ JRE さえ動くなら、java -jar tomcat.jar みたいな感じで手動で起動できるのかも。
574558:2008/02/03(日) 21:28:09
>>572-573
>9x には NETAPI32.DLL が存在しないんだっけ?

[ファイルやフォルダの検索]から NETAPI32.DLL を検索かけてみたところ、
[C:\WINDDOWS\SYSTEM]フォルダにありました。

>java -jar tomcat.jar みたいな感じで手動で起動できるのかも。

プロンプトから入力してみたところ、
「Unable to access jarfile tomcat.jar」
と表示されました。
575デフォルトの名無しさん:2008/02/03(日) 21:43:20
Apache-TomcatとEclipseを使っているのですが、

追加したディレクトリがlocalhostで表示されません。

http://localhost:8080/プロジェクト名/
のディレクトリは見えるのですが、
Eclipseで追加した、
webapp直下のxxxxというフォルダが見れません。

どうしたらいいでしょうか?
576575:2008/02/03(日) 23:58:18
web.xmlを直せばいいかもしれないと分かりましたが
どう直せばいいのか分かりません。
どなたかアドバイスいただけますか?
577デフォルトの名無しさん:2008/02/04(月) 00:10:17
お前さんには、そう当たりで試して切り開いて行く精神が足りないと思う
578デフォルトの名無しさん:2008/02/04(月) 18:48:57
>>575は意志が弱いが総当り方式が効率が良いとはとても思えんぞ。
>>576の態度ではいつまでたっても何も成就できないが
579デフォルトの名無しさん:2008/02/06(水) 00:06:52
質問です。

java3DのPoint3dで書いた頂点をcanvasに表示し、その座標値をテキストフィールドに表示できるのですが、
自分でテキストフィールドに書い座標値をその頂点に対応させることができません。
たぶん、getText()で持ってきた値を頂点の座標に対応させれば出来るとは思うのですが、
String型をPoint3d型に変換することが出来ません。
どなたか、型の変換方法か、それに代わるもっとよい方法があれば教えていただけないでしょうか?
よろしくお願いします。

また、板違いでしたら申し訳ありません。
580デフォルトの名無しさん:2008/02/06(水) 10:19:01
たぶんこんな感じか?
String s = ... ;
Scanner sc = new Scanner(s);
sc.useDelimiter(",");
Point3d p = new Point3d(sc.nextDouble(), sc.nextDouble(), sc.nextDouble());
581デフォルトの名無しさん:2008/02/06(水) 10:37:15
デバッグ用に、メソッド実行中に自分のクラスの名前をprintfしたいです。
で文字列で "hoge" とか hoge.class.getName() とか、自クラス名 hoge を
ソース中に書きたくありません。

普通のメソッドだと
this.class.getName()
で名前がとれるのだけど、staticメソッドだと this がないので
どうやってとればいいのかわかりません。

教えてください。
582デフォルトの名無しさん:2008/02/06(水) 10:39:21
スタックトレースとってこればいいんじゃね?
583デフォルトの名無しさん:2008/02/06(水) 10:44:50
1.5以降だったら
StackTraceElement[] s = Thread.currentThread().getStackTrace();
で、それ以前だったら
StackTraceElement[] s = null;
try {
  throw new Exception();
} catch (Exception e) {
  s = e.getStackTrace();
}
で取得できるよ
584デフォルトの名無しさん:2008/02/06(水) 11:05:55
ありがとうです。でも
StackTraceElement stack = Thread.currentThread().getStackTrace()[0];
System.out.printf(stack.getClassName() + "\n");
だと、java.lang.Thread が表示されました。

Thread.currentThread() を (new Throwable()) にして得たい表示ができました^o^v
585デフォルトの名無しさん:2008/02/06(水) 12:31:03
>>515のコードが読める位まで到達するにはどうすればいい?

SJC-P持っているけど、コードが読めないorz
586デフォルトの名無しさん:2008/02/06(水) 13:19:06
リバーシを作ってるんですが
どこかオススメのサイトとかありますかね?
いろいろ見たのですが盤を作るところからよくわからないのですが
587デフォルトの名無しさん:2008/02/06(水) 13:23:25
>>586
盤って int[][] board = new int[8][8]; とかじゃだめなのか?
588デフォルトの名無しさん:2008/02/06(水) 13:28:00
>>586
Javaでリバーシを作る初心者向けの本があったはず…

これだ
http://www.amazon.co.jp/dp/4875934289/
589デフォルトの名無しさん:2008/02/06(水) 13:33:07
その本マジでやめといたほうがいい。
JavaにしてもC++にしてもかなりダメなくせが付く、最低の本
590デフォルトの名無しさん:2008/02/06(水) 14:03:11
>>587
どうもです
配列でそうやってやるだけでいいんですね……


>>588-589
そうなんですか……
どこかオススメとかないですかねぇ
591デフォルトの名無しさん:2008/02/06(水) 14:58:14
>>587
これをどうやってパネル化すればいいんですかね……?
592デフォルトの名無しさん:2008/02/06(水) 15:08:41
>>589
まじですか

設計に関しても最低?
593デフォルトの名無しさん:2008/02/06(水) 15:12:03
>>590
もちろん配列でも良いけど
Javaの勉強と言うことなら、盤・列・マスといったクラスを設計する方が楽しいぞ
594デフォルトの名無しさん:2008/02/06(水) 15:13:00
設計に関して最低。
アルゴリズムとかは別に悪くない、
というか、普通なんだけど、
「オブジェクト指向」を謳っておきながら酷い設計
というか、オブジェクト指向をなんか勘違いしてる本。
ってことで、よほどの初心者じゃなければ別にいいのかも。
ただ、>>591じゃね・・・
595デフォルトの名無しさん:2008/02/06(水) 15:50:07
ttp://javagame.main.jp/index.php
ttp://netresearch.ics.uci.edu/kfujii/java/howto-othello/index-j.html
まあこの辺でどうかな
パネルは使ってないみたいだが
596デフォルトの名無しさん:2008/02/06(水) 16:24:43
8x8のGridLayoutにJLabelを64個置くのが簡単かと
597デフォルトの名無しさん:2008/02/06(水) 20:38:42
なんというVB
598デフォルトの名無しさん:2008/02/06(水) 21:24:20
ボタンの表示を反転したいんですが、
現在のボタンがTrueなのか、Falseなのか、取得する方法ってありませんか?
お願いします。
599デフォルトの名無しさん:2008/02/06(水) 23:04:56
ありますよ
600デフォルトの名無しさん:2008/02/07(木) 00:30:06
ボタン自身にON/OFF有ったっけ?フラグはアクションリスナーで実装するんでないけ?
601デフォルトの名無しさん:2008/02/07(木) 08:56:23
現在のボタンがTrueかFalseか言ってる時点でラジオボタンか何かか、
有効無効のことを言ってるんだと思ったけど。
602デフォルトの名無しさん:2008/02/07(木) 11:55:19
ButtonModel#isPressedかisSelectedあたりだろう
603デフォルトの名無しさん:2008/02/07(木) 15:07:32
Java3Dを使わずにJavaで立体を作りました。
ボタンをクリックするとx軸を中心に回転させるプログラムを作りたいのですが
どうすれば良いのでしょうか?

ボタンは↓のようにしています。
btn1 = new Button("x軸を中心に回転");
this.add(btn1);
604デフォルトの名無しさん:2008/02/07(木) 15:22:49
ガワだけですか…

x軸を中心に回転させたいなら回転行列を使って各点座標を変換すれば良いだけでは?
605デフォルトの名無しさん:2008/02/07(木) 18:10:14
私も少し分からなくて検索してみて自分なりの解答を作ってみた。
プログラムはエクリプスなので一番上のpackage Chap2;は
要らないと思うけどね。

>436

質問時期より結構遅れてしまったけど
こんな感じで良いかと。

package Chap2;

import java.util.Random;

class En29{
public static void main(String[]args){
Random rand=new Random();
double x=rand.nextDouble();
double y=rand.nextDouble()*9.9;
double z=rand.nextDouble()*1.9-0.9;
System.out.println("xのランダム実数値:"+x);
System.out.println("yのランダム実数値:"+y);
System.out.println("zのランダム実数値:"+z);
}
}
606デフォルトの名無しさん:2008/02/07(木) 18:15:10
>477
これで良いかと。

package Chap2;

import java.util.Scanner;

class En28{
public static void main(String[]args){
Scanner stdIn=new Scanner(System.in);
System.out.print("整数値:");

int x=stdIn.nextInt();
int y=(int)(Math.random()*-11)+5;
int z;
z=x+y;

System.out.println("その値の+-5の乱数を生成した。");
System.out.println("それは"+z+"です。");
}
}

明解java入門編 柴田望洋(著)の
演習の解答の1つの例となれば幸いです。
607デフォルトの名無しさん:2008/02/07(木) 18:45:34
訂正です。
1.9-0.9だと低確率で1が出てしまい1未満ではなくなるので
1.9-0.9を1.9-0.91に修正。

>436

package Chap2;

import java.util.Random;

class En29{
public static void main(String[]args){
Random rand=new Random();
double x=rand.nextDouble();
double y=rand.nextDouble()*9.9;
double z=rand.nextDouble()*1.9-0.91;
System.out.println("xのランダム実数値:"+x);
System.out.println("yのランダム実数値:"+y);
System.out.println("zのランダム実数値:"+z);
}
}
608デフォルトの名無しさん:2008/02/07(木) 19:12:15
zが0を表示した際に-0.91になり
それ以下の数値を表示できない点
yが9.9より上の9.999999999等を表示できない問題点を
忘れていました。^^;

>>436

以下、訂正後のプログラムです。
何度もすみません。

package Chap2;

import java.util.Random;

class En29{
public static void main(String[]args){
Random rand=new Random();
double x=rand.nextDouble();
double y=rand.nextDouble()*9;
double z=rand.nextDouble();
double a=rand.nextDouble();
double b=rand.nextDouble();


System.out.println("xのランダム実数値:"+x);
System.out.println("yのランダム実数値:"+(y+b));
System.out.println("zのランダム実数値:"+(z-a));
}
}
609デフォルトの名無しさん:2008/02/07(木) 19:22:18
二ヶ月以上前のになぜいまさらそんなにがんばるwwwwww
610デフォルトの名無しさん:2008/02/07(木) 21:06:03
>>609
私もつい最近この本を買ったばかりで
今日ちょうどココをやってたんですよ。

で、問題は一応無かったと思って見直したら
問題点が出てきて直して見直してを繰り返して
これならほぼ問題ないだろwという所まで
凝ってしまったんですよww
611デフォルトの名無しさん:2008/02/08(金) 14:16:05
>>604
古い本を使ってるのでボタンを押して動作するという事が載ってないです
マウスでドラッグしたら動くようにはしてるんですが…

btn1 = new Button("x軸を中心に回転");
**************←普通はここに記述すれば良いですかね?
this.add(btn1);

x = x * cosθ + z * sinθ
612デフォルトの名無しさん:2008/02/08(金) 15:40:01
>>611
いや、イベント処理になるから
回転・表示させるactionPerformedメソッドを書いたActionListnerを用意して
(JFrameにimplementsすることが多い)
そのボタンにそのActionListnerを登録すればいい
613デフォルトの名無しさん:2008/02/08(金) 19:25:15
> (JFrameにimplementsすることが多い)
MVC派の俺様はコントローラクラス作ってそこにactionPerformedを書くぜぃ
とか言ってみる
614デフォルトの名無しさん:2008/02/08(金) 20:15:57
無名クラス派ですが何か?
615デフォルトの名無しさん:2008/02/08(金) 21:27:44
>>603
>ボタンをクリックするとx軸を中心に回転させるプログラムを作りたいのですが

作ってみた。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/209.java
616デフォルトの名無しさん:2008/02/08(金) 23:28:19
インスタンスって何?ラーメン?
617デフォルトの名無しさん:2008/02/09(土) 10:43:18
それはインスタント
618デフォルトの名無しさん:2008/02/09(土) 12:29:28
素朴な疑問なんですが、Javaのキャッチコピーって
「一度コードを書けばどんな環境でも動作する」ですよね
欠点って何でしょう?
619デフォルトの名無しさん:2008/02/09(土) 12:36:29
>>618
そのせいで起動に時間がかかる
起動時にメモリを食う

がよく言われます
起動したあとの実行速度とかメモリ消費はよく誤解されます
620デフォルトの名無しさん:2008/02/09(土) 12:37:03
特定の環境にしかない機能が使えない
DirectXとかCoreAnimationとか
621デフォルトの名無しさん:2008/02/09(土) 15:34:14
int a = args.length;
上のプログラムでよくわからないことがあるんですが
配列変数名.メソッド;
の形ですよね?

今まで、
インスタンス化したメソッド.メソッド名();
の形でしかだめだと思っていたんですが、どういうことなんでしょうか?
622デフォルトの名無しさん:2008/02/09(土) 15:36:30
>の形ですよね?

違う
配列変数名.フィールド名
の形

>インスタンス化したメソッド

そんなものはない
623デフォルトの名無しさん:2008/02/09(土) 15:45:15
>>622
なるほど、ありがとうございます。

インスタンス化したメソッドは私の参考書に書いてありました。
〜main(){
  keisan keisan1 = new keisan();
  keisan1.tate=1.3;
  p=keisan1.tasizan();
}
class keisan{
double tate;
double tasizan(){


見たいな感じで
keisan1.tateと言う変数がそうなってるみたいです
624デフォルトの名無しさん:2008/02/09(土) 16:18:14
keisan1はkeisanのインスタンスが入ってるローカル変数
tateはkeisanのインスタンス変数
tasizanはkeisanのインスタンスメソッド
君の読み違いでなければその参考書は今すぐ焼き捨てるべき
625デフォルトの名無しさん:2008/02/09(土) 16:52:22
>>619
>>620
ありがとうございます。
やはりどんなモノにも欠点はあるんですね
626デフォルトの名無しさん:2008/02/09(土) 18:11:08
>>621
Javaでは、配列は実質クラス
627デフォルトの名無しさん:2008/02/09(土) 18:57:15
けど length は配列のインスタンスフィールドではない
628デフォルトの名無しさん:2008/02/09(土) 19:28:52
>>624
>>626
>>627
皆様ありがとうございます。インスタンスかした”クラス”でした、。申し訳ありません。
keisan1がインスタンスかしたクラスなんですね。

>keisan1はkeisanのインスタンスが入ってるローカル変数
なるほど、やっと分かりました。これも変数なんですね

そう考えると確かにkeisan1.tateは変数名.フィールド名になってますね。
配列が特殊なんだと考えて起きます
ありがとうございました
629デフォルトの名無しさん:2008/02/09(土) 22:16:15
>>627
しかし言語仕様にはフィールドだと書いてある

http://java.sun.com/docs/books/jls/third_edition/html/arrays.html#10.7
>The public final field length
630デフォルトの名無しさん:2008/02/09(土) 22:47:33
変数の型についての質問です。
byte型は1バイト、short型は2バイト、int型は4バイト、long型は8バイトまでの整数を扱えるとのことですが、それ以外の違いはないのでしょうか?
だとしたら、あらゆる整数を格納できるlong型を常に使えば他の整数型を意識する必要がなくなって便利だと思うのですが・・・。
int型の範囲を超える整数を扱うことは滅多にないので通常はint型を使うにしても、byte型やshort型はなんのためにあるのでしょうか?
素朴な疑問って感じですが、お答えお願いします。
631デフォルトの名無しさん:2008/02/09(土) 23:04:02
それだけメモリをたくさん使う
たとえば10000000個のデータを扱う場合、
byteが10000000個だったら10MBで済むが、
longが10000000個だったら80MBになってしまう
632デフォルトの名無しさん:2008/02/09(土) 23:20:53
>>631
なるほど、メモリの問題があるのですね・・・。
回答ありがとうございました。
633デフォルトの名無しさん:2008/02/10(日) 13:35:45
実際、short なんて滅多に使わないね。
634デフォルトの名無しさん:2008/02/11(月) 14:37:03
>>612
>>615
参考にさせてもらいます。
文系の出で、プログラムに触れた事がないので助かります。
635sage:2008/02/11(月) 17:30:28
javaに近いと思うのですがoctaveというのを使っていて、以下のプログラムを少し変えて出さなければなりません。
(なぜなら以下のプログラムは友達が作ったもののため)
プログラムの本質自体はかわらないようにちょっとでもいいので変え方わかる方いましたらぜひ教えてください。
・ダイクストラ法
☆Dijkstra.m
function [distance, pointer] = Dijkstra(A)
n = size(A)(1); %Aはn×n行列
S = zeros(1, n);
d = zeros(1, n);
for i=2:1:n
d(i) = Inf; % d = [inf, inf, inf, ... ]
endfor
pointer = zeros(1, n); %Pointer for previous check point
check = 0
while(check < 1 && check > -10)
if(sum(S) == 4)
check = 1
else
check -= 1
d
S
[minimum, v] = minD(d, S)
S(v) = 1;
for j=1:1:n
if(d(j) > d(v)+A(v, j))
d(j) = d(v) + A(v, j) %過程を見せたい場合;をのぞく
pointer(j) = v
endif
endfor
endif endwhile distance = d; pointer; endfunction
636つづき:2008/02/11(月) 17:31:23
☆minD.m
function [min, min_index] = minD(d, S)
% min : min(d) not included to S
% min_index : d(min_index) = min
% d[] : distance array
% S[] : searched = 1 : not yet = 0
min = inf;
min_index = 0;
n = size(d)(2);
for i=1:1:n
if( S(i)==0 && d(i) < min )
min_index = i
min = d(i)
endif
endfor
endfunction

637デフォルトの名無しさん:2008/02/11(月) 17:34:09
なるほど
つまりまったく一緒だと怒られるから適当にいじりたいけど
まったく分からないからなんとかしてくれということですね
638デフォルトの名無しさん:2008/02/11(月) 17:39:59
そういうことなんです、1mmもわからないので変えようがないのです。。。
どなたかお願いします。
639デフォルトの名無しさん:2008/02/11(月) 18:01:56
Javaに近いとは思いません
>Gnu Octave とは、MATLABと互換性を持ったフリーな数値解析ソフトウェアであり、
>GNUによって開発されている。
640デフォルトの名無しさん:2008/02/11(月) 18:17:07
javaに近いという理由でoctaveの宿題の解答の偽装依頼をこのスレで見る日が来ようとは
641デフォルトの名無しさん:2008/02/12(火) 14:22:30
うん、とりあえず逝ってくれ。
あと、名前欄にsageは入れないほうがいいと思うよw
642デフォルトの名無しさん:2008/02/13(水) 19:24:45
int i,j;

for(i=0;i<2;i++){
for(j=0;j<2:j++){}}
System.out.println(i,j);

ってやるとj「だけ」未定義エラーになるのですが何故なんですかね
両方エラーならまだわかるんだが・・・
643デフォルトの名無しさん:2008/02/13(水) 19:26:18
あ、最後(i,j)じゃなくて

System.out.println(i+":"+j);
ってことで
644デフォルトの名無しさん:2008/02/13(水) 19:31:41
外側のループが条件によっては実行されないから
内側のループでjが必ず初期化されるかは不明としている
この場合は外側のループは必ず実行されるけど
その条件が成立するかどうかまでは検査していない
645デフォルトの名無しさん:2008/02/13(水) 19:57:38
やっぱそれだけのことなのか
どうせソース見るなら最後まで見てくれよな、って思う
型キャストとかのあたりとか特に、
自動でキャストしたりコンパイルエラーだったり実行時エラーだったりはっきりしてくれぃ!


>>644さんくす
646デフォルトの名無しさん:2008/02/14(木) 00:08:17
ttp://java.sun.com/docs/books/jls/third_edition/html/defAssign.html
言語仕様では、(原文ではi,jはn,kだけど>>642に合わせれば)
> a Java compiler must produce a compile-time error
> ...
> even though the value of (i) is known at compile time,
> and in principle it can be known at compile time that
> the assignment to (j) will always be executed
だから、そのエラーについてはコンパイラは言語仕様に従ってるだけ。
フロー解析をどこまで詳細にやるかの規定次第で人にとっては妙に思える結果も出てくるけど、
解析の精度を高めることとコンパイラの負荷とのバランスの問題でここに落ち着いたんじゃないかな。
とりあえず、はっきりしてくれと思ったときにはまず言語仕様を見てみる癖を。
647デフォルトの名無しさん:2008/02/14(木) 00:28:06
JPanelを継承したMainPanelとJLabelのhazimeとLoadがあるんですが
Startというクラスのコンストラクタで

Start(MainPanel panel){
hazime.setSize(new Dimension(LabelSizeWIDTH,LabelSizeHEIGHT));
Load.setSize(new Dimension(LabelSizeWIDTH,LabelSizeHEIGHT));
hazime.setLocation(100,33);
Load.setLocation(100,266);
panel.add(hazime);
panel.add(Load);
}
と書いてMainPanelのコンストラクタでStartを初期化してJFrameを継承したクラスにMainPanelを貼り付けたんですが
hazimeとLoadに書いてある文字は表示されたんですがサイズと位置が変わりません
なんででしょうか?
648デフォルトの名無しさん:2008/02/14(木) 00:32:42
>>647
MainPanelのレイアウトマネージャがサイズと位置を自分のポリシーに合わせて自動で変更してるとか
レイアウトマネージャはnullまたはコンポーネントの勝手に任せるようなものになってる?
649デフォルトの名無しさん:2008/02/14(木) 01:04:21
>>648
MainPanelの引数にも何もとっていないのでレイアウトマネージャーは何も設定していません
自分でnullに設定しないといけないのでしょうか?
650デフォルトの名無しさん:2008/02/14(木) 01:15:45
JPanelはデフォルトでレイアウトマネージャが設定されてるので
レイアウトマネージャを無くしたいならsetLayout(null)しないと
継承先のMainPanelでも同じものがつかわれる
651デフォルトの名無しさん:2008/02/14(木) 01:19:19
デフォルトで設定されていたんですか
うまく解決できました、どうもありがとうございます
652デフォルトの名無しさん:2008/02/14(木) 14:35:25
Java3Dじゃなくても3次元モデルが出来るようですが
Javaで作るのとJava3Dで作るのって何が違うんでしょうか?
653デフォルトの名無しさん:2008/02/14(木) 17:28:18
>>652
Java3Dは3Dグラフィックス関連のプログラムを簡単に書くためのためのJava API群。
コアJava APIではないけれど準標準的なライブラリ。
Java3Dを使わなくても座標計算や表示を自分で実装したり、
Java3D以外のJavaとのインタフェースを持った3Dグラフィックスライブラリを使えば、
Java3Dと似たようなことができる。
ただ、他のライブラリを使うのは別として、自分で実装していくのはかなりの労力がいる。
まあ、Java3Dの全機能は不要で、立方体のワイヤーフレーム表示をしたいだけです、
とかの単純なことなら、頂点の座標変換計算を自前のコードでしてJava2D APIで線を描画しても、
それほど難しくないと思う。
それと、Java3Dや他の3DCGライブラリを使う場合はJREやJDKに最初から入ってるわけではないので、
別にインストールしないといけないのが少し手間といえば手間かも。特に他人に使ってもらう場合。
あと、Java3DはOS依存の機能を使って表示を高速化するとかも行ってるので、
そこまで自分で実装するとかになると大変だと思う。
自分の用途に合わせて選択を考えてみては?
654デフォルトの名無しさん:2008/02/14(木) 23:18:17
スレッドのrunメソッドに引数をとりたいのですが、Startメソッドで呼び出して実行するため引数をいれることができません
どのように引数をいれればいいのでしょうか?
655デフォルトの名無しさん:2008/02/15(金) 02:48:20
start()の呼び出しタイミングでなく、
ThreadやRunnableのインスタンス生成の段階で引数を与えてもいいのなら、
class AThread extends Thread {
private int arg1;
private Object arg2;
public AThread(int arg1, Object arg2) {
this.arg1 = arg1;
this.arg2 = arg2;
}
public void run() {
System.out.println(arg1 + ", " + arg2);
}
}
new AThread(1, "hoge").start();
みたいな感じでどう?
new時点でなくstart時点でないとってことなら、
コンストラクタで設定する代わりに引数を与えるメソッドを定義したサブクラスにして、
startの直前でそれを呼び出して設定するとか。
656デフォルトの名無しさん:2008/02/16(土) 02:09:18
>>655
そういうやりかたがありましたか、ありがとうございます
657デフォルトの名無しさん:2008/02/16(土) 12:52:49
>>653
ありがとうございます
まだJavaを触り始めたばかりなのでJava3Dは止めておきます
658デフォルトの名無しさん:2008/02/16(土) 16:01:20
Javaの全身であるOakの呼び方って「おーえーけー」で良かった?
659デフォルトの名無しさん:2008/02/16(土) 16:02:03
全身=前身でお願いしますorz
660デフォルトの名無しさん:2008/02/16(土) 16:07:26
オーク
661デフォルトの名無しさん:2008/02/16(土) 18:54:12
>>660
ありがとう!!!!!
662デフォルトの名無しさん:2008/02/17(日) 00:49:48
ローカル変数の存在意義って何ですか?
全てメンバ変数にしたほうが扱いやすい気がするのですが・・・
663デフォルトの名無しさん:2008/02/17(日) 01:59:23
>>662
そう思うならそうすればいいじゃん
君のコードとの接点を俺が持たない限り止めはしないよ
664デフォルトの名無しさん:2008/02/17(日) 03:57:19
接点t! 接点t!
665デフォルトの名無しさん:2008/02/17(日) 04:38:59
>>662
メンバ変数って用語はあまりJavaでは使われないかもしれない。
存在する理由はいろいろあると思うけど、例えば、
同じクラス内でも別スコープなら同じ変数名が使えるローカル変数と違い、
フィールドはクラス全体が同じスコープになるから名前がダブらないように気をつけないといけない。
名前付けが面倒だからと同じ変数を違う場所で違う役割に使用するのはバグの元になりやすい。
また、ローカル変数の方がフィールドに定義されたものよりアクセスがたいていのJVM実装では速いはず。
それに、スレッドごとにメソッドの呼出しごとに違う場所が用意されるローカル変数と違って、
フィールドはインスタンスまたはクラスごとに一つしかないという違いもある。
マルチスレッドプログラミングやメソッドの再帰呼び出しをやり始めればその違いが分かる。
ごくごく小さなプログラムだけなら、そうは感じないのかもしれないけれど、
自分でプログラムを書き始めればローカル変数を全て排除しようとすると扱いにくくなると感じると思うよ。
666デフォルトの名無しさん:2008/02/17(日) 13:35:32
面の法線の計算について
右手座標系で頂点P0(x0,y0,z0) ,P1(x1,y1,z1), P2(x2,y2,z2)とした場合
z軸から見た場合の計算式はどうなるのでしょうか?
667デフォルトの名無しさん:2008/02/17(日) 18:14:36
>>666
それは、Javaの質問か?
668デフォルトの名無しさん:2008/02/17(日) 18:21:31
>>666
java関係ないやん。
Java3Dを使うならjavax.vecmath.Vector3d#crossで
3頂点の位置ベクトルの差から作られる2つのベクトルの外積を求めればいい。
正規化が必要なら外積を求めた後、Vector3d#normalizeをする。
float精度ならjavax.vecmath.Vector3fを使う。
669デフォルトの名無しさん:2008/02/21(木) 15:59:33
質問です。
初心者丸出しの質問ですみません。

同じパッケージ内のクラスを使うにはどうしたらいいのでしょうか?
よろしければご教授お願いします。
670デフォルトの名無しさん:2008/02/21(木) 17:28:15
独習やっているんですが、ひとつ解せないところがあったので質問します。

ある例で、実行時の引数をdouble型に変換するために

double d = Double.valueOf(args[0]).doubleValue();

と記述されているんですが、その他の例では、実行時の引数をint型に変換するのに

int i = Integer.parseInt(args[0]);

と記述されています。
2つ目の例でもdouble型と同じ方法が取れると思うのですが、
変換の仕方を統一していないのは何か意図があるのでしょうか?
671デフォルトの名無しさん:2008/02/21(木) 17:32:06
>>670
何を意図しているのか、それとも何も考えていないのか、
その例を作った作者に聞くしかないのでは?
672670:2008/02/21(木) 17:52:43
その後の例ではint型でもvalueOf().intValue()やってた・・・
やはり著者のきまぐれなのか・・・とりあえず進めてみます。
ありがとうございました。
673デフォルトの名無しさん:2008/02/23(土) 00:06:52
Double#parseDoubleやFloat#parseFloatは後のバージョンで追加された
それ以前に覚えた/主流だった書き方をする人が
今でもそれなりにいるというだけの話
674デフォルトの名無しさん:2008/02/23(土) 01:57:26
それは一つの著書の中で統一されてないことの理由にはならないと思う。
何らかの意図があると勘繰られないために、または読者を混乱させないために、
こういった方法もあるのでここではこちらを使用するの旨を書くか、
本文では統一しておいて、これ以外にもこういう方法もとれると注釈を入れるか、
少なくとも学習用の参考書であればあってもしかるべきだという気がする。
実は版を変える時に古い例がそのまま残ってしまっているとかかもしれないが。
675デフォルトの名無しさん:2008/02/23(土) 02:05:09
新版t! 新版t!
676デフォルトの名無しさん:2008/02/23(土) 09:15:23
独習Javaは第3版でJDK5.0対応をうたってはいるが
注釈やコラムが少し追加されているだけで
サンプルコードは初版時の1.1のままという本なので
そんなに期待してはいけない
677デフォルトの名無しさん:2008/02/23(土) 18:01:41
Java2のコードでさえないとは……
それはさすがに今使う学習書としてはちょっとまずい気がする。
678デフォルトの名無しさん:2008/02/29(金) 21:00:44
class Aがあったとして・・
A a;と宣言して
a = new A();とし
a = null;としたときaは空になりますか?
これをやったのですがうまくいかないので、よろしければaを空にする方法を教えてください
679デフォルトの名無しさん:2008/02/29(金) 21:04:23
空ってなんのことだ?
うまくいかないというのは、何を期待してて実際にはどうなったんだ?
680デフォルトの名無しさん:2008/02/29(金) 21:08:18
インベーダーゲームを作ろうとしていて弾(同時に出ていられる弾の数には限りがある)の処理で
SPACEを押したときif文でaがnullならaを初期化して(弾をつくる)
弾が画面外にでたらa = null;として再度弾を出せるようにしたかったんです
681デフォルトの名無しさん:2008/02/29(金) 21:09:30
実際には弾を1発撃ったら再度撃てなくなったのでa = nullとするあたりがおかしいのかなと・・
682デフォルトの名無しさん:2008/02/29(金) 21:23:11
すみません良く見たらifで使う変数を間違えていまして、そこを修正したら直りましたorz

683デフォルトの名無しさん:2008/03/01(土) 11:40:27
Aに生きてるか死んでるかのフラグを付けた方がいいんじゃないかと
684デフォルトの名無しさん:2008/03/05(水) 21:46:19
外部プログラムの起動で

cd /hogehoge/

が出来ないのは仕様ですか?
685デフォルトの名無しさん:2008/03/05(水) 23:00:59
cd という名前の外部プログラムはそもそも存在しない
686デフォルトの名無しさん:2008/03/05(水) 23:03:54
>>684
cdがカレントディレクトリを移動するコマンドのことなら大抵の環境でできるよ。

1.
直接cdを外部プログラムとして起動しようとしていないか確認。
多くの環境ではcdは外部プログラムでなくシェルが解釈するコマンド。
したがってcdを使うにはシェルを起動して、それに対してcdコマンドを渡さなければならない。
たとえば、9x系でないwindowsなら、
new ProcessBuilder("cmd", "/C", "cd \\tmp & dir")
で起動されたプロセスは\tmpディレクトリのファイルリストを標準出力に出す。

2.
外部プログラムでカレントディレクトリを移動した後、
外部プログラムから復帰した後の親プロセス、つまりJavaプログラムの方で見ていないか確認。
多くの環境でカレントディレクトリの情報は各プロセスで独立している。
唯一、プロセスを起動する時に親プロセスから引き継がれるくらい。
子プロセスから親プロセスに伝播することはない。
687684:2008/03/06(木) 11:14:03
OSはlinux or FreeBSDなんですが
new ProcessBuilder("bash", "cd", "/hugahuga/");
で動きませんでした。
どうしたらいいのか教えて頂けませんか?
688デフォルトの名無しさん:2008/03/06(木) 11:51:31
>>687
何をしたいのか知らんが、
子プロセスでカレントディレクトリを移動しても、
自プロセスのカレントディレクトリは変わらないよ?
689684:2008/03/06(木) 12:03:37
やりたいことは、mecabの辞書の更新を動的にやりたいんで、
# cd /usr/local/src/mecab
に移動して、そこで一度
# /usr/local/libexec/mecab/mecab-dict-index -c utf8
で辞書を更新して
# make install
し直したいんです。

私の考えだと、子プロセスでカレントディレクトリに移動して、
その子プロセスでその次のコマンドを実行すれば出来ると考えているのですが。
690デフォルトの名無しさん:2008/03/06(木) 13:03:24
>>689
シェルスクリプトでやりたいことを一括して書いて、それを起動すればいいんじゃないかい?
691684:2008/03/06(木) 13:05:40
>>690
ウホッ!
そこには気づきませんでした!
確かに、シェルしか使ってないならそれがベストですね!
やってみます。ありがとうございました。
692デフォルトの名無しさん:2008/03/06(木) 13:30:58
>>691
ちなみに>>687
> new ProcessBuilder("bash", "cd", "/hugahuga/");
は思った結果は得られない。これはbashにcdと/hugahuga/という二つの引数を与えるもので、
cdや/hugahuga/という実行可能なファイルが存在しないというエラーになると思う。
やるなら、例えば、
new ProcessBuilder("bash", "-c", "cd /hugahuga/ && ls");
とする。bashのオプション-cはその次の引数をコマンドとして読み込む。
693684:2008/03/06(木) 13:53:05
>>692
何から何までありがとうございました。
勉強になりました。
694デフォルトの名無しさん:2008/03/06(木) 14:10:30
>>692
スレ違いだけど bash cd /hugahuga/ の二つ目以降の引数は一つ目のシェルスクリプトに与えられる引数だから
そんなファイルはないと言われるのはcdだけだね
あと-cを使わなければbashに渡せるのは実行可能ファイルというよりシェルスクリプト
bash cd はファイルcdが存在しないと言われるが bash ls はバイナリファイルは実行できないと言われる
695デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/07(金) 00:05:37
>>695
一つ目の質問について
"1+1+2の結果は"+1+1+2+"です"

(((("1+1+2の結果は"+1)+1)+2)+"です")
と解釈されるから。
698デフォルトの名無しさん:2008/03/07(金) 01:54:16
>>696
>>697
すごくわかりやすく説明していただきありがとうございます。参考書にも詳しく書いてなかったので悩んでいました。
こうやって一つ一つ覚えて行くのが楽しさの一つですね。
まだはじめて少しですので、また聞くことがあるかもしれませんが、よろしくお願いします。
699デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/11(火) 00:50:53
but'1.6' is required
だから、
JREの1.6をインストールして下さい
702デフォルトの名無しさん:2008/03/11(火) 00:56:03
>>700
ランタイムの新しいバージョンをインストールすれば良いと思う。
http://java.sun.com/javase/ja/6/download.html
703デフォルトの名無しさん:2008/03/11(火) 01:14:40
できました!
ありがとうです
704デフォルトの名無しさん:2008/03/11(火) 05:14:23
705デフォルトの名無しさん:2008/03/11(火) 07:48:49
やはりそれしかありませんか。
私もぐぐってそのページは見付けたのですが、もっと簡単な方法はないものかと。
ともあれお答えありがとうございます。
706デフォルトの名無しさん:2008/03/11(火) 11:53:32
>>705
javaをキックするラッパを書いて、それのargv[0]を引数として渡せばいい。
707デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/11(火) 17:32:13
それでいいなら、

test.class.getName()

でもいいんじゃ?
709デフォルトの名無しさん:2008/03/11(火) 17:47:36
おー!
Windows の exe は勝手に名前を変えても実行できるでしょ。
だから自分の名前を表示したい場合はコマンドライン引数から持ってこなきゃいけないわけで。
Java なら *.class の名前を勝ってに変えてしまうと実行できませんよね。
だから getName() で充分だと思います。
色々とありがとうございました。
710デフォルトの名無しさん:2008/03/11(火) 23:06:33
>>653
> それと、Java3Dや他の3DCGライブラリを使う場合はJREやJDKに最初から入ってるわけではないので、
> 別にインストールしないといけないのが少し手間といえば手間かも。特に他人に使ってもらう場合。

j3d.jarを自分のプログラムの中にFatJarで入れれば
そんなインストールの手間も省けると思うよ
711デフォルトの名無しさん:2008/03/14(金) 00:31:34
コンパイルしたら
「*******.java:27: \12288は不正な文字です。」
と出るのですが「\12288」とは、何のことでしょうか
宜しくお願いします。
712デフォルトの名無しさん:2008/03/14(金) 00:33:13
まあ検索ですぐに出てくるが
全角スペースのこと
713デフォルトの名無しさん:2008/03/15(土) 21:59:38
javaのswingで遊んでいますが設計上よくわからないことがあるので質問させていただきます

JFrameをextendsしたクラス、TimerTaskを実装したクラス、KeyListenerを実装したクラスを作りました
JFrameに色々と画像を表示してゲームを作りたいのですが、KeyListenerの取得したイベントはどのようにJFrameやTimerTaskに伝えるのが常識なのでしょうか?
友人の書いたプログラムをのぞくと、JFrameを実装したクラスにKeyAdapterやTimerTaskクラスを記述しJFrameを実装したクラスのフィールドを使いやりとりしているようでした
714デフォルトの名無しさん:2008/03/15(土) 22:35:54
>>713
ttp://www.pwv.co.jp/take_public_html/MVCwithEclipse/doc/MVCwithEclipse_c3.html

とはいえ正解があるわけじゃなし、プログラムいじる人が直感的にわかればいいっちゃ
いいんだろうけど
715デフォルトの名無しさん:2008/03/15(土) 23:18:49
>>714
ありがとうございます
勉強してみます
716デフォルトの名無しさん:2008/03/19(水) 11:30:34
MySQLを使ったアプリケーションについての質問です。
データの登録や検索をしたいのですが、
例えば、String qry1 = "insert into 〜 values(〜,〜,〜)";という文で
〜の部分をアプリケーションから入力するにはどうすればいいでしょうか?
717デフォルトの名無しさん:2008/03/19(水) 11:58:42
?にして、PreparedStatement使うといいよ。
718デフォルトの名無しさん:2008/03/19(水) 12:00:59
あー、テーブル名もか。
テーブル名には?は使えないから、文字列組み立てるしかないね。
そのときに、テーブルが本当に存在するかどうかのチェックをしないと、
とても大変なことになるので注意が必要。
719デフォルトの名無しさん:2008/03/19(水) 12:10:12
あ、valuesの中だけで大丈夫です。ややこしくて済みません。
ご丁寧にありがとうございました。やってみます。
720デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/26(水) 22:44:32
argsになってんじゃん
722デフォルトの名無しさん:2008/03/26(水) 22:49:32
argsを渡してnumberで引き取っているのですが、この書き方ではダメなのでしょうか?
723デフォルトの名無しさん:2008/03/26(水) 22:56:08
じゃあ、その引き取ってるところのソースを貼って頂戴
724デフォルトの名無しさん:2008/03/26(水) 23:14:47
int check(int n1, int n2, int n3) {
...
}
もしくは、
int check(int[] numbers) {
...
}
725デフォルトの名無しさん:2008/03/26(水) 23:16:07
あ、呼び出しが
int kekka = check(args[0], args[1], args[2]);
なら、後者はエラーだ。
int check(int...numbers) {
...
}
なら使ってるバージョンによっては動く。
726デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/27(木) 01:06:44
なんか予想通りのソースだった
メソッド宣言での引数の型宣言はそういう風に書けない
解決法は上のレス参照
あとmainメソッドの引数argsには起動時に与えたパラメータが格納されるけど
数値を与えようがString型=文字列として受け取る
だから単純にcheckメソッドの引数にargsの要素を指定したら
型が違うのでエラーがでる
int型に変換したいならInteger#parseIntでも使って
728デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/27(木) 20:13:47
ほんとに初心者な質問で悪いんですけど質問です。










みたいに「if」と「for」を使って
3の倍数は〇
5の倍数は△
3と5の倍数は×
って表示させていんですけど、
この場合どのようなソースになるのでしょうか?
ご指導お願いします。
730デフォルトの名無しさん:2008/03/27(木) 20:18:37
値 % 3 == 0 なら3の倍数
731デフォルトの名無しさん:2008/03/27(木) 20:33:36
732デフォルトの名無しさん:2008/03/27(木) 20:40:02
>>727-728
そういうことなのですね・・・。
理解しました。ありがとうございます。

そしてすみませんが、argsについて質問です。
・void main(int[] args) のような書き方はいけないのでしょうか?
・また、argsを使わないコードでもString[] argsを記述するようですが、なぜですか?
・args以外の、例えばstrなどと言った他の配列名はダメなのでしょうか?
重ねての質問すみませんが、答えていただけると嬉しいです。
733デフォルトの名無しさん:2008/03/27(木) 20:44:10
>>732
>・void main(int[] args) のような書き方はいけないのでしょうか? 
>・また、argsを使わないコードでもString[] argsを記述するようですが、なぜですか?

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

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

名前は違ってもいい。
734デフォルトの名無しさん:2008/03/27(木) 20:45:44
・void main(int[] args) のような書き方はいけないのでしょうか? ・・・・・ いけない
・また、argsを使わないコードでもString[] argsを記述するようですが、なぜですか? ・・・・ 決まりだから
・args以外の、例えばstrなどと言った他の配列名はダメなのでしょうか? ・・・・・ よい
735デフォルトの名無しさん:2008/03/27(木) 20:54:21
>>730
>>731
わかりました♪
ありがとうございます(__)
736デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/30(日) 00:06:30
staticを付けない場合はインスタンスを作る必要がある
java obj = new java();
obj.method();
こうするか,もしくはmethodにstaticを付ける
後者はsuujiがtryブロックの中で宣言されてるからその中でしか使用できないため
例外とか後でいいから基礎的なとこを先にちゃんとやった方がいいよ
738デフォルトの名無しさん:2008/03/30(日) 00:23:22
>>736
main から使うのに static を付け忘れるのはたまにやるかな。
機能を使うのにインスタンスの生成はしなくても良いと思う。
後者はスコープの問題だけど、コレも割りと気が付かずにやるので注意。

どちらもそのうち慣れると思うから、精進あるのみ。
739デフォルトの名無しさん:2008/03/30(日) 14:39:25
質問です。

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

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

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

C言語が腐るほど考えたのですが、
バイナリでのファイル操作がなかなかまとまらないため質問した次第ですので、
どうかお答えお願いします。
740デフォルトの名無しさん:2008/03/30(日) 14:47:05
>やはりラッパークラスのプリミティブ型は、エレメントのイテレータもhasNext()メソッドもどきで
>volatile修飾子のシリアライゼーションをさせるのが絶対条件なのでしょうか。

それは絶対条件です。

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

では、SetインターフェースのisEmptyメソッド使用時に
コマンドライン引数によってJava.langのStringBufferまでimportすると、
なぜStackOverflowErrorの例外が発生するのでしょうか?
staticなyield()メソッドを汎用させるためにthrowsで例外ハンドラを
コンストラクタなアサーションをしてはいけないのは仕様でしょうか?
回答よろしくお願いします。
742デフォルトの名無しさん:2008/03/30(日) 20:06:19
人工無能が適当な単語組み合わせて発言しているようにしか見えんな……。
743デフォルトの名無しさん:2008/03/30(日) 20:22:48
えと、質問します。
入力してもらったデータを他の文字に変換するにはどうしたらいいですか?
つまり、あいうえおと入力されるとaiueoと表示されるようにしたいのです。
よくわからん質問でスマソ
744デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/30(日) 20:53:05
質問です。

私がどのような問題を抱えているかを理解して、その解決方法を示してください。
私の状況としては、いろいろ調べて色々試行錯誤しましたが、うまくいきません。
ソースコードは守秘義務のため教えることは出来ません。
それでは、よろしくお願いします。
746743:2008/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デフォルトの名無しさん:2008/03/30(日) 21:15:21
'あいうえお'とか'aiueo'はcharじゃないだろ。
というか、コンパイルしてみればいいじゃないか。
748743:2008/03/30(日) 22:05:27
Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/main
だそうです
・・・CLASSPATH?
749デフォルトの名無しさん:2008/03/30(日) 22:15:12
メインつくってないだけじゃね?
750743:2008/03/30(日) 22:25:46
ごめんなさい俺にわかるように教えて下さいorz
751デフォルトの名無しさん:2008/03/31(月) 00:25:37
>>750
こういう掲示板で手取り足取りなんて無駄もいいところだから、
Javaの入門サイトや教科書を読んで基礎を作った方がいい。
752デフォルトの名無しさん:2008/03/31(月) 11:14:34
>>751
わかりました。出直してきます。
皆さんありがとうございます。
753デフォルトの名無しさん:2008/03/31(月) 13:34:19
初めてぬるぽがでたーー!!!!\(T▽T)/
感動したーー!!!!\(T▽T)/

ClassArray[] a = new ClassArray[3];
とやっただけではすぐにa[0〜2]が使えるようになるわけじゃないんだね。
ひとつひとつまたnewしないといけないんだね。
754デフォルトの名無しさん:2008/03/31(月) 13:45:07
どんなクラスにでも引数なしのコンストラクタがあるとは限らないからね。
それに、必要でもないときに勝手に作られてもいやだし。
755デフォルトの名無しさん:2008/04/01(火) 23:21:28
質問です
あるサイトを開いたら画面下の方に、エラーが発生しました、と出ました
またそのサイト内にある動画を見れるメディアへのリンクをクリックしても、
javascript:void(playMedhia2〜うんちゃらかんちゃら〜)という表示が出てしまい、
見ることができません。詳細を見たらオブジェクトを指定してくださいと出たのですが、
見れるようにするためには一体どのような方法を取ればよいのでしょうか

ご教授よろしくお願いします。
756デフォルトの名無しさん:2008/04/01(火) 23:23:24
スレ違い、いや板違い
757デフォルトの名無しさん:2008/04/01(火) 23:57:16
調べてみたら全然違うんですね・・・
失礼しました
758デフォルトの名無しさん:2008/04/02(水) 00:12:10
質問があります
サーブレットではなくクライアントサイドの話しなんですが
HTTPヘッダのログをプロキシ等の外部ツールではなく
JAVAのプログラム単体でログを取りたいのですが
どうにも方法がわからず行き詰っています
解説サイトやサンプルコードなどがあると助かるのですが
ご存知のかたいらっしゃいませんでしょうか?
759デフォルトの名無しさん:2008/04/02(水) 09:40:45
>>758
JAVADOCはダウンロードしましたか?
760デフォルトの名無しさん:2008/04/02(水) 10:17:50
netstatアプリを作りたいのですが、
Runtimeクラスでnetstatコマンドを叩くのではなく、JavaのAPIでnetstatを実行することって可能ですか?
761759:2008/04/02(水) 11:19:12
>>758
JavaDocのjava.net→URLConnectionが詳しい。"一般要求プロパティを修正するには"ってところ。
762デフォルトの名無しさん:2008/04/02(水) 13:00:06
eclipseでサーブレット作るには、他に何が必要でしょうか。
763デフォルトの名無しさん:2008/04/02(水) 13:16:50
eclipseでサーブレットを作る環境と、eclipseでサーブレットを作る知識
764758:2008/04/02(水) 13:37:08
>>761
早速紹介していただいた項目読みました
おかげさまでなんとかなりそうです

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

759さんありがとうございました
765デフォルトの名無しさん:2008/04/02(水) 17:15:37
SDKとJDKって何が違うんでしょうか
766デフォルトの名無しさん:2008/04/02(水) 17:20:00
JDKはJavaのSDKです
略称ではないんだけど
767デフォルトの名無しさん:2008/04/02(水) 17:28:38
あと、1.4 以前は Sun は JDK と呼ばず、SDK と呼んでいたはず。
それで若干混乱あるかも。
768デフォルトの名無しさん:2008/04/03(木) 00:54:05
質問です。

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

あと、setter/getter も教えて欲しいです。
769デフォルトの名無しさん:2008/04/03(木) 03:06:55
もともとJDKと呼ばれていてJ2SDKに呼称変更されて5でJDKに戻ったんじゃなかったっけ?
770デフォルトの名無しさん:2008/04/03(木) 03:21:57
>>768
javadoc自身が認識して出力してくれるような内容を、
ドキュメンテーションコメントに書くのは無駄なので、
もっとコンストラクタやメソッドの内容について書いた方がいいと思う。
どういうことを書けばいいかの参考になるものとしては、
JavaプラットフォームAPI仕様を眺めてみればいいのでは。
771デフォルトの名無しさん:2008/04/03(木) 07:58:31
Tomcatプロジェクトでmyweb/hoge.jspを作成したところ、
Tomcatのトップ画面(http://localhost:8081/)は表示されますが、
http://localhost:8081/myweb/hoge.jspが表示されません

一体どうしたらいいでしょうか。
772デフォルトの名無しさん:2008/04/03(木) 09:24:04
すみません単なるミスでした
773デフォルトの名無しさん:2008/04/03(木) 11:27:27
>>768
引数や例外の説明、他コンストラクタとの違い、各プロパティのデフォルト値などを書く
引数なし、例外もなし、他のコンストラクタもなし、とかなら、まぁ書くことがないかも・・・

setterやgetterは、そのset/getする値の意味や、取り得る値の範囲を説明する必要があると思う
774デフォルトの名無しさん:2008/04/03(木) 19:45:23
3年くらい前に自分で書いたJavaプログラムなのですが、
今となってはソースがなかなか読めません。
そして動いてくれません。
記憶によると四角形が二つ表示されて画面を適当に動き回り、
その二つが重なった時だけその旨が画面に表示されるという
プログラムだったはずです。
誰かデバッグしてもらえませんでしょうか?
ソースコードは以下にアップしました。
ダウンロードのパスワードはありません。
http://www.uploda.net/cgi/uploader2/index.php?file_id=0000053786.zip
775774:2008/04/03(木) 19:51:36
すみません。デバッグしてくれなんて虫がよ過ぎでした。
デバッグのための方針を教えて頂けたら幸いです。
どうかよろしくお願いします。
776774:2008/04/03(木) 20:00:38
ほんとすみません。方針をわざわざ教えてもらうなんてそれでも虫がよ過ぎですよね。
上の発言はなかったことにしてください。
スレ汚しすみません(´;ω;`)
777774 ◆RnrYWCN3sM :2008/04/03(木) 20:37:05
と思ったけどやっぱり方針だけでも良いんで教えてください。
それと念のため鶏もつけときます。
778デフォルトの名無しさん:2008/04/04(金) 00:24:21
Point pts[] = new Point[4];
this.pts[0].x = x;
779774 ♦RnrYWCN3sM:2008/04/04(金) 00:26:34
なかなか返答がないので締め切らせて頂きます。
わざわざすみませんでした。
780デフォルトの名無しさん:2008/04/04(金) 07:02:38
横からすみませんが、
new Point[4]←これがPointの実体では無いで良いのかな?
781デフォルトの名無しさん:2008/04/04(金) 08:35:52
私も横ですが。
オブジェクト配列の初期化忘れは、よくある間違いの1つ。
箱を用意するだけでは、中身は null のまま。
782デフォルトの名無しさん:2008/04/04(金) 13:04:54
最近プログラミングをはじめたものです。
C言語の関数とその定義の関係、
javaのクラスとオブジェクト.メソッドの関係が似てるような気がしてならないのですが、
間違っていますか?
783デフォルトの名無しさん:2008/04/04(金) 13:10:51
間違ってます
784デフォルトの名無しさん:2008/04/04(金) 13:12:38
気のせい
785デフォルトの名無しさん:2008/04/04(金) 13:55:14
似てるか似てないかなんて主観だからねえ
786デフォルトの名無しさん:2008/04/04(金) 18:58:32
System.out.println(args.length);
で配列数を示す際、*が含まれてるとなぜか本来の数の前に*の数がくっついてしまうようです。
例えば、argsがaと*と1と*の場合は4になるはずが24になります。
これはなぜでしょうか?
また、これを回避するためにはif文で振り分けなければならないのでしょうか?
787デフォルトの名無しさん:2008/04/04(金) 19:01:55
>>786
* を含めたとき、args の中に何が入っているか確認してごらんなさいな。

for(String arg: args) System.out.println(arg);
788デフォルトの名無しさん:2008/04/04(金) 19:14:57
コマンドラインのワイルドカードを解釈せずに引き渡してくれるシェルを使えばいいんじゃね
789デフォルトの名無しさん:2008/04/04(金) 19:18:23
カレントディレクトリにあるフォルダが全て出てきました・・・
この*をワイルドカードの役割ではなく文字としての*と
認識させるためにはどうすればいいのでしょうか?
790デフォルトの名無しさん:2008/04/04(金) 19:21:45
"*" でどうかな
791デフォルトの名無しさん:2008/04/04(金) 19:23:22
>>789
windowsのコマンドプロンプトなら*でなく"*"とすると*そのものが渡せる
linuxのシェルとかでも同様のエスケープの仕方がシェルごとにある
792デフォルトの名無しさん:2008/04/04(金) 21:41:52
解決しました。
皆さん丁寧にありがとうございました。
793デフォルトの名無しさん:2008/04/04(金) 22:13:49
質問です。
double型を使うと値が整数の時も.0が付きますが、それをなくすにはどうすればいいでしょうか?
4なら4と表示され、4.56なら4.56と普通に表示する感じです。
int型に変換したりするのが良いのかと思いますが、
値に小数点があるか否かは分からないとすると、どう振り分ければ良いのでしょうか?
794デフォルトの名無しさん:2008/04/04(金) 22:27:06
つString#format
795デフォルトの名無しさん:2008/04/04(金) 23:13:05
ナンでサーブレットはthrowsが必要ですか
796デフォルトの名無しさん:2008/04/05(土) 08:48:23
ttp://itpro.nikkeibp.co.jp/members/NSW/ITBASIC/20050617/162923/

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

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

思うわけです。
797デフォルトの名無しさん:2008/04/05(土) 11:04:15
class MyClass { public void func() { ... } } このfunc (※インスタンスメソッド)は
static void func(MyClass this) { ... }
こういうstaticメソッドと同じようなもので,thisには常に現在のインスタンスが渡される
staticメソッドは本当にただの関数で,呼び出すときに前に付けるクラス名はただの飾り
798デフォルトの名無しさん:2008/04/05(土) 15:45:16
>>795
別に要らないよ
例外を自分でcatchするなら
799デフォルトの名無しさん:2008/04/06(日) 13:58:41
ウインド開いた時にアラートで
「好き?」
「嫌い?」
を10回繰り返したいんですけどどのようなソースにすればいいんでしょうか?
お願いしゃーす!!
800デフォルトの名無しさん:2008/04/06(日) 14:47:08
アラートってことはもしかしてJavaScript?そうならスレ違い
801デフォルトの名無しさん:2008/04/06(日) 17:19:43
教えてください。

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

よろしくお願いします。
802デフォルトの名無しさん:2008/04/07(月) 20:22:06
>>800
すまない。
ちょっとJavaScriptに行ってきます。
803デフォルトの名無しさん:2008/04/07(月) 21:05:01
Tomcat6.0にMYSQLのJDBCドライバ入れたんですが、この後どうしたらいいでしょうか。
804デフォルトの名無しさん:2008/04/07(月) 21:15:13
質問・相談スレッドから来ました。
オブジェクトをコンストラクタを使って初期化しつつ配列にする方法が
わかりません。
もしかしてそんなこと出来ないんでしょうか?
新しいクラスを作ったりする必要があるんでしょうか?
どうかよろしくお願いします。
805デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/04/08(火) 00:42:47
>>804
Hoge[] hoges = {new Hoge("aaa") , new Hoge("bbb"), new Hoge("ccc")};
みたいな事をやりたいの?新しいクラスってどういう事?
808デフォルトの名無しさん:2008/04/08(火) 00:58:24
>>807
みたいな事とはどんなことですか?
809807:2008/04/08(火) 01:22:55
どんなこともコードのままなんだけど。
>>808はどう思うの?ちょっとコード書いてみて。
810デフォルトの名無しさん:2008/04/08(火) 01:49:02
>>809
どう思うって何についてですか?
何のコードを書けばいいですか?
811デフォルトの名無しさん:2008/04/08(火) 02:09:48
>何のコードを書けばいいですか?
>>804の質問に対する>>810なりの答え」をJavaで書けばいい。
812デフォルトの名無しさん:2008/04/08(火) 03:25:47
「私はあなたに質問する方法がわかりません。何語で話せば
私の質問を理解してもらえますか」と聞かれたら普通「あなた
言葉わかる?」と聞かれてるので、馬鹿にされてんだと思うんだ
ろうがここではそう思わない能天気なおバカちゃまが多いんだろうな
813デフォルトの名無しさん:2008/04/08(火) 08:13:25
横から失礼。
かなり錯綜したから、質問者は自分のレス番号を明確にしないと答えを貰えないと思う。
814デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/04/08(火) 12:05:03
>>815
スレ違い

× img.length
○ ico.length
817デフォルトの名無しさん:2008/04/08(火) 12:53:23
いや板違い
>Javascript は Web 制作板、CGI は Web プログラミング板へ。
818デフォルトの名無しさん:2008/04/08(火) 13:07:59
板違いでしたか・・・失礼しました。
>>816ありがとうございました!
819デフォルトの名無しさん:2008/04/08(火) 22:41:16
アノテーションでdefaultにnullを設定したい場合ってあると思うんだけど、
そういう時ってどうしてる?とりあえずNullObjectみたいなのを定義するのが普通?
820デフォルトの名無しさん:2008/04/09(水) 20:57:23
質問です。
ある命令を実行した時から別のある命令が実行される時までの所要時間を計測することはできますか?
日付を出して差から求めるっていうのが正確かと思いますが、時間を計る専用メソッドはありますか?
821デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/04/09(水) 21:08:08
>>821
素早い回答ありがとうございます。
今から試してみようと思います。
823デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/04/09(水) 22:17:26
>>823
回答ありがとうございます。
getTimeで時間を取得すると1207746884155などといった数字になったのですが、
これはどう見ればいいのでしょうか?
何度もすみませんがよろしくお願いします。
825デフォルトの名無しさん:2008/04/09(水) 22:23:04
>>824
javadocぐらい見れるようになろうぜ
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Date.html#getTime()
826デフォルトの名無しさん:2008/04/10(木) 03:52:53
package packagename;と書いたらそのファイルはpackagenameフォルダに入れないといけないの?
827826:2008/04/10(木) 04:21:19
自己解決しましたv(^-^)
828デフォルトの名無しさん:2008/04/10(木) 11:14:17
プログラムの実務の為の練習するのに良い本やサイトないですか?
829デフォルトの名無しさん:2008/04/10(木) 11:23:10
830デフォルトの名無しさん:2008/04/10(木) 12:12:44
>>828
「実務」って何?というかどういう方向?それによって違うし、
どの程度経験があったり使ったことあるかでも話が全然違う。
831デフォルトの名無しさん:2008/04/10(木) 12:36:40
ほんと基礎って感じです!練習問題的な。
SJC-Pの資格は取ったんですけど、プログラムの仕方みたいなのは全然わからなくて!
832デフォルトの名無しさん:2008/04/10(木) 12:50:30
役に立たない資格だな・・・
833デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/04/10(木) 18:05:45
再起動したらできますた
すまそんw
835デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/04/10(木) 18:14:12
これは酷いww

今すぐ>>834-835の削除依頼出してこい。
837デフォルトの名無しさん:2008/04/10(木) 18:20:40
おお、なんかすごいのあるな。
今から侵入を試みてみる。ちょっと待ってて。
838デフォルトの名無しさん:2008/04/10(木) 21:23:51
>>831
初めは簡単なプログラムやアプリを軽く書ける練習すると良いのではないだろうか?
これしかない!という本は無いと思うから、本屋で自分と波長が合う簡単な本を
買って一冊踏破すれば。慣れたらもっとセンスを研く本を買うと良いと思う。
839デフォルトの名無しさん:2008/04/11(金) 09:37:28
すみません、助けてください。
ApacheTomcatが起動できません。
ConfigureTomcatからStartさせようと思うのですが、
スタートできません。
バージョンは5.5.26でインストールは問題なく終了しました。
OSはXPです。
なんとか起動まで導いてください。
お願いします。
840デフォルトの名無しさん:2008/04/11(金) 10:09:39
スレ違い
841デフォルトの名無しさん:2008/04/12(土) 10:26:59
JAVAでMSDNにあたる資料は、
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/
これでしょうか?

もう少し見やすいものはないものでしょうか……?
842デフォルトの名無しさん:2008/04/12(土) 12:53:34
どういうものを求めてる?
どのへんが見づらいの?
843デフォルトの名無しさん:2008/04/12(土) 12:56:44
継承メンバ一覧は冗談かと思うよな
844デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/04/12(土) 14:30:11
>>844
宿題?ちゃんと API を見ろ。引数いらん。
ついでにずいぶんいらん変数が多いなぁ。つーか変数いらん。
まぁできえばいいかな。
846デフォルトの名無しさん:2008/04/12(土) 14:42:06
>0.0以上1.0未満の整数値をランダムに生成して表示するプログラムを作ってます。
ランダムも何も、0だけ表示しとけばいいだろwww
847デフォルトの名無しさん:2008/04/12(土) 16:34:11
今GUIプログラミングをしているのですが、
キーの押下に反応するメソッドはありますか?
例えばaを押したらすぐにキーコードかaが表示される感じです。
848デフォルトの名無しさん:2008/04/12(土) 17:00:16
>>845
API見たら確かにのってた。アホな事聞いてすんません。
Javaは趣味でやってます。今使ってる入門書に答えが載ってなかったんで。

849デフォルトの名無しさん:2008/04/12(土) 17:14:42
KeyListener.keyPress(KeyEvent e)内で、上の\と下の\を区別たいのですが、
e.getKeyCode() では同じ値(92)で区別できず、
e.getKeyLocation() でも同じ値(1)で区別できませんでした。
どうすれば区別できるのでしょうか?
850849:2008/04/12(土) 17:17:55
自己解決しました。
スレ汚しすみませんでした。
851デフォルトの名無しさん:2008/04/12(土) 17:22:54
>>842
検索できないのが痛いです。
索引でいちいち探すのも面倒ですし……。
求めているものはMSDNそのまんまって感じです。

もしかして検索どこかにあるのかな……?
852デフォルトの名無しさん:2008/04/12(土) 17:29:52
実用上googleで不満ないけどな
たまに逆引きが欲しい時があるとか?
それなら簡単な逆引きツールを作るのも勉強になって良いぞ
853デフォルトの名無しさん:2008/04/12(土) 17:45:55
site:java.sun.com/j2se/1.5.0/ja/docs/ja/api/ つけて Google で検索すりゃいい。
854844:2008/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デフォルトの名無しさん:2008/04/12(土) 17:57:21
なんの確認が難しいんだよ。日本語書け。
856デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/04/12(土) 18:01:49
nextDouble() が0.0以上1.0未満ってわかってるんだから
そこから先は不等号式を解く作業
858844:2008/04/12(土) 18:18:17
>>855
実行結果の確認がという意味です。説明不足でゴメンナサイ。
>>856
はい、一週間前に始めたばかりです。
凄いスマートに出来るんですね。
>>857
>不等号式を解く作業
そういう方法もあるんですね。しかし変数についてまでしか勉強してないので
理解できないです。すんません。

色々アドバイスしてくれてありがとうございました。
859デフォルトの名無しさん:2008/04/12(土) 19:13:55
>>847への回答よろしくお願いします。
860デフォルトの名無しさん:2008/04/12(土) 19:17:34
>>852
>>853
Googleでちょっと不便だけどできました。
ありがとうございました。
861デフォルトの名無しさん:2008/04/13(日) 01:41:21
>>856
日本語も初心者だと思うぞ
862デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/04/14(月) 00:05:29
で、何?
864デフォルトの名無しさん:2008/04/14(月) 00:05:35
>>862のように作り、正常に動作したのですが、見た目がすっきりしていないような気がします。
何か余計な事をしているところがあったら指摘していただきたいのです。よろしくお願いします。
865デフォルトの名無しさん:2008/04/14(月) 00:10:03
配列にしてソートして真ん中の要素を表示すればいいけど、
3要素に特化するというのであれば別にそれでもいいんじゃない? とは思う。
866デフォルトの名無しさん:2008/04/14(月) 00:30:00
>>865
ありがとうございます。このままでも特に問題は無いのですね。

>配列にしてソートして真ん中の要素を表示すればいいけど
ごめんなさい意味が分かりません。理解できるように勉強頑張ります...。
867デフォルトの名無しさん:2008/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()のようなものだから。
868867:2008/04/14(月) 09:32:18
誤爆した
869デフォルトの名無しさん:2008/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のキーイベントを書き換え。
870デフォルトの名無しさん:2008/04/14(月) 12:00:34
>>865
> 配列にしてソートして真ん中の要素を表示

{小さい値の集合} ≦ 中央値 ≦ {大きい値の集合}

となる中央値を求めるので、上記の{集合}の部分を
木構造で作ってトーナメント的に更新して入れ替えていけばいい。
{小さい〜}は大きい値が勝つようにして、
{大きい〜}は小さい値が勝つようにする。

良い例が無いか探してみたら↓に Java のコードもあるっぽい。
http://www.cs.sunysb.edu/~algorith/files/median.shtml
871デフォルトの名無しさん:2008/04/14(月) 12:16:12
>>870
865 さんはそんな難しい事言おうとしていたのかな。汎用性と実用性から
考えれば配列に入れて java.util.Arrays の sort 使って真ん中抜いて終わり。
プログラミングの観点からはそういのに慣れるのはいいと思うけど。

アルゴリズムの勉強をしたいならそれはまた別の問題だわな。
872デフォルトの名無しさん:2008/04/14(月) 12:32:12
ホームページをホームページビルダーVer10で作成したんですが
HotMediaアニメーションの部分がうまく表示されません。
IEでJavaコンソールを開くで見ると以下の表示になります。

java.lang.ClassFormatError: Truncated class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

ちなみにディスクスペースはロリポップなんですがIEを使ったFTPで
アップロードしてるんですが、ローカルディスクとサイトのファイルで
サイズが違いすぎるんですよ。
というカclassファイルが4byteしかないんでアップロードに
失敗してるのかと思うんですが何故classファイルだけ失敗するのか
分からないんですよ。
何度アップロードしても同じサイズだし、原因とか何が考えられますかね?
873デフォルトの名無しさん:2008/04/14(月) 15:03:48
>>872

>Q.ロリポップFTPでJARファイルが転送できません。

>JARファイルには対応しておりません。
>FTPソフトやホームページ作成ソフトをご利用下さい。

FTPソフト(FFFTP)とか使わないと駄目では?
874デフォルトの名無しさん:2008/04/15(火) 20:58:10
致命的なエラーが出てしまいます。
スレイプニールとIEどちらでも同じ現象です。
どなたか対処法教えてください。
875デフォルトの名無しさん:2008/04/15(火) 20:59:16
ねえねえ、それだけの情報で正確な対処法を教えてもらえると思う?
876デフォルトの名無しさん:2008/04/16(水) 07:06:11
二つの整数値を読み込んで、小さいほうの数以上で大きいほうの数以下の
全整数を小さいほうから順に表示するプログラムについての質問です。
例:整数A:5 B:1 の時 1 2 3 4 5 と表示。
import java.util.Scanner;

class ex0403 {

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();

do {
if (a < b) {
System.out.print(a + " ");
a = a + 1;
} else if (b < a) {
System.out.print(b + " ");
b = b + 1;
}
} while (!(a == b));

System.out.println("終了。");
}
}
877デフォルトの名無しさん:2008/04/16(水) 07:09:15
>>876のように書いてみたのですが、実行すると最後の数字が抜けていました。
どうすればいいのでしょうか。よろしくお願いします。
878デフォルトの名無しさん:2008/04/16(水) 07:56:44
>} while (!(a == b));
これを
}until(a==b);
にする。ループ終了条件の評価タイミングを考えるんだ
879デフォルトの名無しさん:2008/04/16(水) 18:20:10
>>878
解答ありがとうございます。

ex0403.java:22: while がありません。
} until(a==b);
^
ex0403.java:22: ')' がありません。
} until(a==b);
^
エラー 2 個

上記のエラーが出ました。
untilはキーワードに入っていませんでしたが、
何か別なものを入れるってことでしょうか。
880デフォルトの名無しさん:2008/04/16(水) 18:23:43
ググレカス
881デフォルトの名無しさん:2008/04/16(水) 20:26:24
>>879
>untilはキーワードに入っていませんでしたが、
そりゃない罠

whileを抜けた時点でa==bになっているので終了メッセージ出す前にどっちか出力するしかないんでね?
882 ◆IiyUHoZM0E :2008/04/16(水) 23:21:52
質問です。
Point pts[] = new Point[4];
というように、Pointクラスを配列として宣言したいと思っています。
しかしながら、この方法ではコンストラクタを使ったPointの初期化が
出来ません。
どうか、Pointを初期化しつつ配列として扱う方法を教えてください。
よろしくお願いします。
883デフォルトの名無しさん:2008/04/16(水) 23:28:40
Point[] pts = {new Point(0,0), new Point(1,1), new Point(2,2), new Point(3,100)};
884デフォルトの名無しさん:2008/04/16(水) 23:43:19
>>774か?もしそうならその変数要らないぞ。Squeraにx,y,width,heightあるんだから四隅を別に持つ必要ないぞ。
885 ◆IiyUHoZM0E :2008/04/17(木) 06:20:54
>>883
ありがとうございます。
ご指摘のようにしたら上手く行きました。

>>884
お察しの通り、>>774です。
前回の質問では粘着にからまれ、トリ割れまでしてしまったので
新しいトリをつけ直して質問させて頂きました。
そして四隅を持つ必要はないとのご指摘、確かにそうでした。
というかよくソースコードを読んでみると、
指定した四隅は全く使っていませんでした( ゚Д゚)。
このソースを書いたのはもう5年近く前になるのですが、
当時の私の頭を小一時間ほど問いつめたいです。
ご指摘、本当にありがとうございました。

そして>>883さん、折角教えて頂いたのにこんな間抜けな
結末になってしまって、本当に申し訳ありませんでした。
886 ◆IiyUHoZM0E :2008/04/17(木) 06:22:36
って、ソースコードを書いた時期が>>774と違っとる。
もういつ頃書いたのか記憶があいまいになるほど前に書いた
ソースコードってことで納得してくだしあ。
887デフォルトの名無しさん:2008/04/17(木) 14:22:57
「エラトステネスのふるい」のプログラム(Prime.java)を、途中経過が分かるよう
次のように改良せよ。具体的には、以下のようにプログラムを改造したい。

2の倍数をふるいにかけた直後の配列aの状態を画面に表示、
3の倍数をふるいにかけた直後の配列aの状態を画面に表示、
4の倍数をふるいにかけた直後の配列aの状態を画面に表示、

N/2 の倍数をふるいにかけた直後の配列aの状態を画面に表示
改造後のプログラムと、実行結果を示せ(N=30程度で良い)。正しく動いている
という説明も述べよ。
class Prime {
   public static void main(String args[]){
        int N = 1000;
int i,j;
int a[] = new int[N+1];
for(a[1]=0,i=2;i<=N;i++){
a[i] = 1;}
for(i=2;i<=N/2;i++){
for(j=2;j<=N/i;j++){
a[i*j] = 0;
}}for(i=1;i<=N;i++){
if(a[i] > 0) {
System.out.print(i+" ");}}
System.out.println();}}
これをどうやって改造すれば良いのか困っています。
わかる人がいましたら教えて下さい。
888デフォルトの名無しさん:2008/04/17(木) 14:27:03
>>887
宿題スレへ行け
889♦IiyUHoZM0E:2008/04/17(木) 15:09:56
>>885
こうだろ。
890♦IiyUHoZM0E:2008/04/17(木) 15:15:53
ってこれだけじゃわかんないな。>>779がやったのはこうだろって話な。
ぱっと見トリ割れしてるように見えるだけでよく見ると違うから。
891デフォルトの名無しさん:2008/04/17(木) 17:35:49
知るかカス
892 ◆IiyUHoZM0E :2008/04/17(木) 21:33:42
>>889-890
ホントだ。よく見りゃよかった。?ヲマークだったのか。
有名な単語だったし、どっかにトリ割れのリストとかあって
それでバレたのかとか思ってました。ありがとうございます。
これ以上はスレチなので失礼。
893デフォルトの名無しさん:2008/04/17(木) 22:10:39
この春からプログラムを始めるようになりました。
説明が不明慮かも知れませんが宜しくお願いします。

「if文を使って
 10桁未満の場合はそのまま出力、10桁以上は下10桁を出力」

と言った処理をしたいのですが、
任意に下10桁を表示するにはどうしたらいいのでしょうか?

if(koza_No.length > 10){

}

の中の処理の書き方を教えて頂ければと思います。
894デフォルトの名無しさん:2008/04/17(木) 22:20:56
if(koza_No.length > 10){
 
 「不明慮」を辞書で引いてしまった俺カナシス

}
895デフォルトの名無しさん:2008/04/17(木) 22:53:28
>>893
数字なら10*10で割った余り。
文字列なら、subString()使う。
896デフォルトの名無しさん:2008/04/19(土) 17:58:01
いっそのこと、String にして…
String longStr = Long.toString(long); int limit = 10;
if (longStr.length() >= limit)
longStr = longStr.substring(longStr.length() - limit);
897デフォルトの名無しさん:2008/04/26(土) 23:04:52
JAVAでサーバーサイドプログラムを組んで
Webブラウザの操作から、任意のプログラムを起動するサーバーPCで起動する
ソフトを作ろうと思います。

任意のプログラミングをWindowsで起動させるには、WindowsAPIを使う必要が
あると思うのですが、これはC++が基本です。
JAVAでも任意のプログラムをWindows上で起動させることは可能ですか?

898デフォルトの名無しさん:2008/04/26(土) 23:10:09
899デフォルトの名無しさん:2008/04/26(土) 23:14:44
プログラムを起動する、という言葉は、どういう意味で使ってますか?

任意のプログラムをWindows上で起動させることなどはどんな言語にも不可能ですが
Windowsの実行ファイルをJavaプログラムから起動する事は可能です
多分これが質問の意味だと思いますが
900897:2008/04/26(土) 23:32:19
>>899
解読してくださってありがとうございます。

コマンドプロンプトでC:\WINNT\explorer.exe と入力すると
explorer.exeが起動することを”プログラムを起動する”と表現していました。

>>898
ありがとうございます。やりたいことが可能なようです。
今からJAVAを学んで卒論にしたいと思います。
901デフォルトの名無しさん:2008/04/26(土) 23:57:23
>>900
卒論・・・
902897:2008/04/27(日) 00:04:03
>>901
ソースをコピペして評価実験をちょろっと書けば卒論でございます。
こんな僕も来春から業界人。IT業界への良質な人材の供給は皆無な昨今。
私も無能であります。
903デフォルトの名無しさん:2008/04/27(日) 00:12:32
とりあえず一人称を定めようか
904デフォルトの名無しさん:2008/04/27(日) 00:16:38
やはり、うつむいて根暗で一人称ボクですよね。わかります。
905デフォルトの名無しさん:2008/04/27(日) 10:16:24
ボク卒業後10年間IT業界に入ろうと試みて職安に通ったが駄目だった。
新卒スゴスw
906デフォルトの名無しさん:2008/04/27(日) 21:14:36
抽象クラスって何のためにあるの?
インターフェイスがあるんだから意味がないような気がする。
907デフォルトの名無しさん:2008/04/27(日) 21:20:40
デフォルトの実装を提供したり、
スケルトンとして使ったり。
意味が無いわけではない。
908デフォルトの名無しさん:2008/04/27(日) 21:54:57
カレー粉とルーの違いだよ。

…自分で書いてて意味分からない。
909デフォルトの名無しさん:2008/04/27(日) 22:39:41
>>906
インターフェース→コネクタみたいなもの。規格を満たしていればその先に何があっても気にしない。
抽象クラス→マザーボードみたいなもの。一部の部品は交換可能だが、全体としての動作はある程度規定されている。
910デフォルトの名無しさん:2008/04/27(日) 22:50:08
java scriptについての質問です。

html内に記述するもので、
他のURLからhtmlソースをコピーして
利用することってできますか?

複数のURLからhtmlソースを持ってきて
自己htmlに並べて表に書き出すようなことをしたいのです。

うさのJavaScript講座・サンプル集9
http://usagi-js.com/sample/jssample9_2.htm

> 別URLのファイルを印刷する
という応用できそうなサンプルを見つけましたが、
ソースを見てもiframeを二重に使っているだけの様子で、
対象URLのソースをコピーする、というようなものではありませんでした。

iframeで並べることはできるのですが、iframeを使わずに
やる方法はあるのでしょうか?あるとすればどのようにすればいいでしょうか?
911デフォルトの名無しさん:2008/04/27(日) 22:55:00
>>910
スレチ乙
912デフォルトの名無しさん:2008/04/27(日) 23:06:28
すいません
スレ違いでした。
他のスレ探してきます。
913デフォルトの名無しさん:2008/04/28(月) 14:49:24
Java Appletで表示されている
数値を、テキストとしてメモ帳に
コピペは出来ませんでしょうか?

ブラウザでJava Appletが実行されていますと
すぐ文字列が取得できそうで
できないもどかしさを味わっています。

普通にテキストとしてコピペできれば
そこからは自動運転は効きます。

BASICだけは薄く長いプログラミング暦20年ですが
Javaは殆ど何も分かりません。

用途としては、為替系の自動取引運転を
目指しています。
業者によって表示環境がまちまちなので。
とにかく、なんとかして、リアルタイムに来る
数値をこちら側でテキスト文字列として
取得したいのですが。
914デフォルトの名無しさん:2008/04/28(月) 14:58:23
そういうのはAppletじゃなくて、というかJavaじゃなくて、JavaScriptとかでやったほうがいいのでは。
915デフォルトの名無しさん:2008/04/28(月) 15:08:44
>>913
画像に drawString とかで埋め込んだらダメだと思う
けど TextArea とかにすればテキストとしてコピペできる。
916デフォルトの名無しさん:2008/04/28(月) 18:56:30
>>913
直接の答えにはなってないが…

そういうのは、業者側もいろいろ工夫して、テキストとしてコピペ「できないように」作るもんじゃないかな
917デフォルトの名無しさん:2008/04/28(月) 19:43:30
逆コンパイル
アプレットを弄ってアプリケーションに書き換え
setTextやgrawStringメソッドを適当にオーバーライド

いろんな意味でリスキーですな
918デフォルトの名無しさん:2008/04/28(月) 19:48:07
キャプチャしてOCRソフトで読み込めば
919913:2008/04/29(火) 14:28:15
色々とレスどうもです。
中々に難しそうですね。
該当部分の画像をBMPで切り出して
画像照合とか
そんなことしなければ根本的には
どうにもならないような感じもします。
920906:2008/05/04(日) 10:59:36
>>907->>909
おぼろげながらわかりました。
ありがとうございます。
921デフォルトの名無しさん:2008/05/05(月) 03:24:50
http://www.nextindex.net/java/XML/xerces.html
を参考に
http://ftp.riken.jp/net/apache/xerces/j/
から Xerces-J-bin.2.9.1.zip をダウンロードして解答し、C:\xerces-2_9_1 に配置しました。

その上で、CLASSPATH を
set CLASSPATH=c:\xerces-2_9_1\xercesImp1.jar;c:\xerces-2_9_1\xercesSamples.jar;c:\xerces-2_9_1\xml-apis.jar;.
とし、
java dom.Counter demo.xml
とすると、
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xerces/parsers/AbstractDOMParser
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at dom.Counter.main(Unknown Source)
となります。エラーからすると、AbstractDOMParser が見つからなかったように読めるのですが、これは
xercesImp1.jar に含まれていてると思うのですが、何が間違っているのでしょうか?

ちなみに、1.4.2.16 です。
922デフォルトの名無しさん:2008/05/07(水) 23:26:13
どなたか、『独習Java』の付属CDデータをうpしてくれませんか?
923デフォルトの名無しさん:2008/05/07(水) 23:28:53
最近キチガイ多いよな
924デフォルトの名無しさん:2008/05/08(木) 20:06:21
ちょいっと伺いたい。
個人的な好みでJDeveloperを使ってんだけど、
パソコン変えたらちらつきが出るようになりました。
対処方法知ってる方いらっしゃいますか?

環境
CPU : Core2Duo
GPU : GeForce 8600M GT
RAM : 2GB

まぁDellのInspiron1520なんだけど。
まえつかってたPen4のマシンではこんなことなかったんだけど。
925デフォルトの名無しさん:2008/05/14(水) 17:18:30
質問です。
JavaGUIプログラミング
ttp://www.cutt.co.jp/book/4-87783-185-1.html
に掲載されているサンプルコードについてですが、
サンプルコードをダウンロードしたいと思っています。
どなたか、サンプルコードの場所を知りませんか。
926デフォルトの名無しさん:2008/05/14(水) 18:07:11
公式で無ければ無いでしょ
掲載されてる訳なんだから自分でいちいち入力した方が勉強になるよ
927デフォルトの名無しさん:2008/05/14(水) 18:29:42
>>926
サンプルコードを探したのですが、ありませんでした。
どこかにあればと思って、質問しました。
>掲載されてる訳なんだから自分でいちいち入力した方が勉強になるよ
がんばって、入力します。
回答ありがとうございます。
928925:2008/05/14(水) 18:31:08
訂正
>>927 は、>>925 と同一人物です。
929デフォルトの名無しさん:2008/05/24(土) 01:19:47
Javaをダウンロードしたいんですけど、どうしてもできません。どなたか教えて頂けないでしょうか?youtubeなどに繋げたいんです。お願いします。    
930デフォルトの名無しさん:2008/05/24(土) 06:52:48
>>929
スレ違い?
javaとyoutubeとの接続になにか関連性はあるのかい。

931デフォルトの名無しさん:2008/05/24(土) 08:33:08
for(int i = 0; i < 3; i++){
    button = new Button(sShell, SWT.NONE);
}

こうした場合、buttonに上書きされるようになるんですけど問題はないのでしょうか?
}
932デフォルトの名無しさん:2008/05/24(土) 09:53:10
あるよ
button変数は最後のループで宣言したインスタンスしか指さず
それ以前に宣言したインスタンスは二度と利用できない
3回繰り返してもできるボタンは実質1つ
3つ作りたいならbuttonを配列にしてループ内で順番に代入
933デフォルトの名無しさん:2008/05/24(土) 10:49:18
>>932
ずっとつっかえていたんで助かりました。
ありがとうございました。
934デフォルトの名無しさん:2008/05/24(土) 16:24:46
コマンドプロンプトから、
コンパイルする時は、javac file.java
実行する時はjava fileと打ちますが、
これをワンクリックで行う方法はありませんでしょうか?

Ecripseなどの統合開発環境や、
特殊なエディタを使えば出来るでしょうか?
935デフォルトの名無しさん:2008/05/24(土) 17:42:02
Eclipseならファイルを変更したら自動でコンパイルしてくれるお
936デフォルトの名無しさん:2008/05/24(土) 17:49:43
eclipseは便利だけどやたらメモリを食う
512MBでは厳しい、1GB以上は欲しい
937デフォルトの名無しさん:2008/05/24(土) 17:51:39
>>935-936
凄い便利なんですね。
スペックには余裕があるのでEclipseを入れてみようと思います。
ありがとうございました。
938デフォルトの名無しさん:2008/05/24(土) 19:28:54
いまどき買うならメモリ512MBのPC探す方が苦労するよ
939デフォルトの名無しさん:2008/05/24(土) 19:34:11
1万円2万円程度のならMB単位のPCがゴロゴロ転がってるよ
940デフォルトの名無しさん:2008/05/25(日) 11:16:52
>>934
可能です。
以上。
はい次の方。
941デフォルトの名無しさん:2008/05/26(月) 14:28:56
>>934 [java_comp.bat]
%~d1
cd %~p1
javac %~n1.java
@rem 上は拡張子大文字可
javac %~nx1
pause
   [java_exec.bat]
%~d1
cd %~p1
java %~n1
pause
942デフォルトの名無しさん:2008/05/30(金) 02:53:30
初心者用の本理解したどー
これでおれも一人前だー
943デフォルトの名無しさん:2008/05/31(土) 16:58:59
昨日学校でちょっとやったけどBeanのプロパティが理解出来ない。
誰か説明してorz
944デフォルトの名無しさん:2008/05/31(土) 17:43:03
BeanのプロパティはBeanのプロパティです。
以上
945デフォルトの名無しさん:2008/05/31(土) 18:10:38
わかりました先生にまたきいてきます
946デフォルトの名無しさん:2008/06/01(日) 11:23:18
すいません。分からないので教えて下さい。
明解javaでの演習問題なのですが、配列の要素数と個々の要素の値を読み込んで
各要素の値を表示するプログラムを作成せよ。
表示の形式は初期化子と同じ形式、すなわち、各要素の値をコンマで区切って{}で
囲んだ形式とすること。下記のように表示させたい。
要素数:3←Enter
a[0] = 5←Enter
a[1] = 7←Enter
a[2] = 8←Enter
a = {5,7,8}

自分自身で途中までは作ったのですが最後のa={5,7,8}と表示させるやり方が分かりません。
自身で作ったコードは
import java.util.Scanner;

class Ensyu{

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

System.out.print("要素数:");
int n = sc.nextInt();
int[] a = new int[n];

for(int i=0;i<n;i++){
System.out.print("a["+i+"]=");
a[i] = sc.nextInt();
}
ここまでしか分からないです。。
どうか教えて下さい。
よろしくお願いします
947デフォルトの名無しさん:2008/06/01(日) 12:25:48
>>946
(1) まず "a = {" を表示する
(2) 要素数がゼロなら7へ飛ぶ
(3) 最初の要素を表示する
(4) ","を表示する
(5) 次の要素を表示する
(6) まだ要素が残ってたら4に戻る
(7) "}"を表示する
948デフォルトの名無しさん:2008/06/01(日) 13:28:24
All- n One Eclipse 3.0.1をインスコしたんですが
「デフォルト・プロポーザルがありません」と返されコンテンツ・アシストが一向に利かないです。
設定→コンテンツアシスト→自動有効化はオンになっています。

例)System.out. (この時点でポップアップ無し、CTRL+SPACEで上記コメント発生)

どなたか詳しい方、解決策等ご教授ください。

949948:2008/06/01(日) 13:34:32
自己解決しました、スレ汚しスマソ。
950デフォルトの名無しさん:2008/06/01(日) 14:26:41
>>947
(1) まず "a = {" を表示する
(2) 最初の要素があるなら表示する、無いなら6で終わる
(3) 次の要素があるなら", "を表示する、無いなら6で終わる
(4) 次の要素を表示する
(5) 3に戻る
(6) "}"を表示する
951デフォルトの名無しさん:2008/06/02(月) 15:21:00
>>946
import java.util.Scanner;
import java.lang.System;

class Ensyu{

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

System.out.print("要素数:");
int n = sc.nextInt();
int[] a = new int[n];

for(int i=0;i<n;i++){
System.out.print("a["+i+"]=");
a[i] = sc.nextInt();
}
System.out.print("a = {");
for(int i = 0; i < n; i++){
System.out.print(a[i]);
if(i < n-1)
System.out.print(",");
}
System.out.println("}");
}
}
952デフォルトの名無しさん:2008/06/03(火) 20:36:33
どなたかご教授願います。
-------------------------------

class sample1
{
public static void main(String args[])
{
double ans3 =(double)5/3;

System.out.println("5÷3は" + ans3 + "です。");

}
}

---------------------------------

上のようなソースがあるとして、
5/3の前に(double)の表記を入れる理由というのはなぜなんでしょうか?
すでにdouble ans3 のところでdoubleと書いてあるのでans3には、
ちゃんと小数点が含まれた答えが表示されると思うのですが。
もしかしてアホすぎる質問でしょうか
953デフォルトの名無しさん:2008/06/03(火) 21:41:21
(double)を消せばわかる
954デフォルトの名無しさん:2008/06/03(火) 22:40:12
5/3=1
955デフォルトの名無しさん:2008/06/04(水) 00:01:29
マルチ
956デフォルトの名無しさん:2008/06/04(水) 20:30:18
>>952

5/3じゃ1までしか表示されないから、doubleには1.0が代入されるってことですか?
957デフォルトの名無しさん:2008/06/04(水) 21:05:33
そうそう ans3 には(double)(5/3)だと1.0が、((double)5)/3だと1.6666…が。
958デフォルトの名無しさん:2008/06/04(水) 21:07:19
キャスト演算子の結合順は間違えやすいよね
959デフォルトの名無しさん:2008/06/05(木) 14:52:44
最近java勉強してるんだがこのスレ見ても全く分からん;;
本当にここ超初心者用なのですか・・?
960デフォルトの名無しさん:2008/06/05(木) 16:55:40
↑同感。どこかの大学の理工学部か専門学校のレベルじゃないの?
961デフォルトの名無しさん:2008/06/05(木) 17:55:57
超基本的な質問が多いと思うよ
言語仕様を一通り理解してはじめてスタートライン
962デフォルトの名無しさん:2008/06/05(木) 18:50:10
超初心者レベルですよ

英語の修得度で例えると、

Java言語の基本を習得している = アルファベットが何とか全部書ける
Javaで下っ端の仕事ができる = 辞書を引き引き洋書が何とか読める
Javaで上流レベルの仕事ができる = 英語を使って仕事の会話がペラペラ

これぐらいの感じですね
ちなみに専門学校や理工学部の授業では2番目ぐらいまでしかやらないです
963デフォルトの名無しさん:2008/06/05(木) 21:29:26
ほとんどの専門学校は1までだと思う
964デフォルトの名無しさん:2008/06/05(木) 21:49:59
ほとんどの専門学校は1すら満足に出来てないと思う。
他言語一切やってないなら別だけど。
965デフォルトの名無しさん:2008/06/05(木) 21:59:52
質問者は専門学校生かな?
966デフォルトの名無しさん:2008/06/05(木) 22:38:14
あんこ1
あんこ2

あんこ3
あんこ4


あんこ5
あんこ6

あんこ7

このようなテキスト構成のときに
以下のように、改行が2つ続くとき改行したいのですが
どのような制御をすればよいでしょうか

あんこ1、あんこ2、あんこ3、あんこ4
あんこ5、あんこ6、あんこ7
967デフォルトの名無しさん:2008/06/05(木) 22:39:41
とりあえず「あ」と「ま」に置き換える処理ができる技術があればそれもできる
968デフォルトの名無しさん:2008/06/06(金) 00:26:14
ここと質問スレのマルチばかり
教えてgooとかYahoo知恵袋にまで使ってそうな勢い
969デフォルトの名無しさん:2008/06/06(金) 00:39:55
>>966

がんばってかいたよ!!!うごかしてみてね!!!

import java.io.*;
public class Sample {
public static void main(String[] args) throws IOException {
String text = String.format("あんこ1%n" + "あんこ2%n" + "%n" +
"あんこ3%n" + "あんこ4%n" + "%n" + "%n" +
"あんこ5%n" + "あんこ6%n" + "%n" + "あんこ7%n");
PushbackReader r = new PushbackReader(new StringReader(text));
StringBuilder buf = new StringBuilder();
int c;
while ((c = r.read()) != -1) {
if (c == 12354) {
c += 60;
} else if (c == 10) {
int cnt = 0;
int next;
while ((next = r.read()) != -1 && next == 10) {
++cnt;
}
if (cnt < 2) c += 12279;
r.unread(next);
}
buf.append(Character.toChars(c));
}
String result = buf.toString();
System.out.println(result);
}
}
970デフォルトの名無しさん:2008/06/06(金) 00:47:50
ちょっとスレの趣旨とは違うかもしれない質問だけど、
Java の Servlet API の話題を取り上げてるスレって
ないの?
971957:2008/06/06(金) 03:23:56
>>969
12line c += 60; は、削除するとして。
read(EOF) の戻り値が 65535 (になった)なので、==の左辺を(short)でキャスト
または、-1を(char)でキャストするといいよ。vv
972デフォルトの名無しさん:2008/06/13(金) 01:04:18
>>970
SJC-WC@プログラマー板とか?

何故かWebProg板にはないんだよなあ
973デフォルトの名無しさん:2008/06/13(金) 10:30:20
C++でいうとことろの
template<class T>class A:T { int a1,a2; };
template<class T>class B:T { int b; };
template<class T>class C:T { int c1,c2; };

class Hoge1 : A<B<C<Object>>>{}; //←メンバはc1,c2,b,a1,a2
class Hoge2 : A<B<Object>>{}; //←メンバはb,a1,a2

みたいな感じの、メンバをいじりやすいコードを書きたいんだけど、

class Test0<H> extends H

って、書いた時点で、"型パラメータはスーパクラスにできん"
とコンパイラに怒られました。

なにか手はないですか?
974デフォルトの名無しさん:2008/06/13(金) 10:40:47
class Hoge1 { A a; B b; C c; }
みたいに、クラスオブジェクトをメンバに持たせることは、
できれば避けたいです。
975デフォルトの名無しさん:2008/06/13(金) 12:16:31
ブラウザがJAVAの致命的エラーで強制終了するので、
それまで入っていたJAVAを全部アンインストールして
再インストを試みるのですが、強制終了してしまいできません。
どうしたらよいのでしょうかどうか教えて下さい
もう何時間も色々とやりましたがらめれす(´;ω;`)ブワッ
976975:2008/06/13(金) 12:20:16
すみませんアゲまふ
977デフォルトの名無しさん:2008/06/13(金) 12:20:38
まあ「基本」と「初歩」は違うんだけどね(ぼそ
978デフォルトの名無しさん:2008/06/13(金) 12:28:38
そんな事言わずに教えて下さいお願いしますお願いしますm(_ _)m
979975:2008/06/13(金) 12:34:12
JAVA 2Runtime Environment. SE v1.4.1_02
↑これだけが削除できないので、しらべてファイル名を指定して〜やったのですが
途中でコマンドプロンプトの様なのが一瞬見えてから消えてしまい、これまたできませんでした。
980デフォルトの名無しさん:2008/06/13(金) 12:35:50
だっ誰か助けて下さいorz
981デフォルトの名無しさん:2008/06/13(金) 12:38:27
IEで表示が駄目になったのが昨夜3時頃、火狐に変えたらブラウザ自体が立ち上がらなくなり、
再インストを3回ほど。
今はスレイプニルを入れてみましたがやっぱり強制終了してしまいます。
982975:2008/06/13(金) 12:40:14
あ、またコテがはずれてた・・・

983975:2008/06/13(金) 12:41:17
PC初心者板に行ったほうがいいのかナ
984デフォルトの名無しさん:2008/06/13(金) 12:41:33
>>973
javaのジェネリクスはキャスト除去のためだけの飾り
class Hoge1 { A a; B b; C c; }を避けたいと思う頭をなんとかしろとしか
985デフォルトの名無しさん:2008/06/13(金) 12:42:10
うぜえ
板違い
OSを再インストールしろ
986975:2008/06/13(金) 12:43:44
ムリか〜
スレ汚してごめんなさい
さようならです
987デフォルトの名無しさん:2008/06/13(金) 12:46:31
>>974
genericsのerasureのことを理解していないな
継承で何でもやろうって考え方も古過ぐる
もっと委譲を使え
988973,974:2008/06/13(金) 13:40:43
>>984,987
すんません。
JPAの@MappedSuperclass使う場合は、直接メンバにしないとダメかと思ってました。
よくよく調べたら、@Embedded/ableとかいうのがあるようなので、
クラスインスタンスをメンバに持たせる方向で行こうと思います。
お騒がせしました。
989デフォルトの名無しさん:2008/06/14(土) 02:51:08
>>985
そんな屑回答しか出来ねぇボンクラは最初から書き込むなボケ
990デフォルトの名無しさん:2008/06/14(土) 09:32:45
しかし屑質問だから仕方ないという
991デフォルトの名無しさん:2008/06/14(土) 13:09:13
Java 1.4ってもう対応切ってるよね
992デフォルトの名無しさん
>>990
超初心者用スレでまっとうな質問の仕方期待するなよ。