[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/06 00:12 / Filesize : 302 KB / Number-of Response : 972
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 11:54:09 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、  
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。  
Java使いが優しくコメントを返しますが、  
お礼はJavaの布教と初心者の救済をお願いします。  

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

前スレ

くだすれJava(超初心者用)
pc10.2ch.net/test/read.cgi/tech/1126470659/l50


232 名前:232 mailto:sage [2007/07/29(日) 19:44:19 ]
dream.mods.jp/news/tomcat.html

むむぅ・・・これが解決策なんでしょうか・・・。
Sysdeoっていうソフトを見つけてくればいいのかな。


233 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 11:09:35 ]
流れぶった切ってスマソ

Javaをまじめに始めて3日ぐらいなんだけど、
PHPで言う所のsystem(); みたいなものって
Javaにもある?

234 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 18:58:34 ]
プログラムの追加と削除でアンインストール。

236 名前:デフォルトの名無しさん mailto:java [2007/07/30(月) 20:19:11 ]
>>233
PHPのsystem();がどんなものか分からんが
外部プログラムを起動するCのsystem関数に相当することをやるならProcessBuilderクラス
もし外部プログラムに対する入出力が必要ならProcessBuilder#startで得られるProcessインスタンスから
入出力のストリームをもらえ

でもjavaを始めて3日で外部プロセスに依存するなんていかんよ
まずはpure javaプログラムでどこまでできるか勉強したほうがいい

237 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:33:45 ]
>>231
c:\programfileじゃないとこだったら
入ったよ。
一応、unc無効にしてからやったけど。

238 名前:237 mailto:sage [2007/07/30(月) 20:37:07 ]
みすった。
uncじゃなくてuacだった。

239 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:41:08 ]
>>236

おぉ、thx!

ProcessBuilder builder = new ProcessBuilder("notepad");

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

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

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

ありがとう。

240 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:51:20 ]
>>239
そうそう、そんな感じ
そのあとbuilder.start()で実際にプロセスを起動する
どんな言語もそうだけどjavaもいろいろ楽しいから楽しみながらがんばれ



241 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 23:02:58 ]
あまり汎用性はないが、1.6だとGUI上のシェルみたいに
desktop.browse(uri)
desktop.open(file)
とかもできるようになった。


242 名前:デフォルトの名無しさん [2007/08/01(水) 02:52:35 ]
232へ
違うだろ。
これはあくまでもEclipseの場合じゃないかな?
サイトを見た限り。
で?できた?
この板ではなく別の板かサイトを見たほうがいいと思うよ。


243 名前:231=232 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 16:19:22 ]
PC2台って別にすごくないし珍しくも無いよ
特にこの板とかだとね

246 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 16:47:43 ]
誰もメモ帳につっこまないw

247 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 18:50:15 ]
>>245がKYだなw

248 名前:231=232 mailto:sage [2007/08/03(金) 01:34:03 ]
もう一つお願いします(汗)。

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

import mybeans;

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

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

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


Tomcatをインストール →(省略)→ WEB-INF →→ classes →→→Sample6.java
したディレクトリ                                         |
                                                       → mybeansフォルダ → CarBean.java

249 名前:248 mailto:sage [2007/08/03(金) 02:09:26 ]
「やさしいJava 活用編 "import mybeans"」でググってみたら
「Java質問・相談スレッド102」でも全く同じ相談があったらしく、その人は自力で
解決できたみたいですけ、原因が分からなかったとか。

250 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 11:45:06 ]
コンパイルって何を使ってんの?コマンドライン?



251 名前:248 mailto:sage [2007/08/03(金) 11:49:14 ]
>>250
javacを使用しています。

252 名前:248 mailto:sage [2007/08/03(金) 11:56:11 ]
コマンドプロンプトを使ってjavac Sample6.javaと入れてコンパイルを試みています。

253 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:06:28 ]
まずさー、import mybeans.*; ってのは、以下のソースで

mybeans.hoge() とかのmybeans.を省略するためにあるんだから
hoge()とかがソース上に無いんだったら書かないでいいんだよ。

254 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:10:41 ]
で、多分 mybeans.hoge() の省略である hoge()はあるんだろう
そしてそのmybeansの場所はclasspathに無いと駄目なんで
コンパイルしている場所をclasspathに含めるなら、 . を追加しないとね。

255 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:12:00 ]
package も書いてあるのかどうかが気になるけど、まあいいや

256 名前:248 mailto:sage [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.*;にしたらコンパイルできました。

ご迷惑おかけしました。

257 名前:248 mailto:sage [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);

258 名前:257のつづき mailto:sage [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();
  }
 }
}

259 名前:248 [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 名前:デフォルトの名無しさん mailto:sage [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で実際にエラーになってるか
を探すくらいか。


263 名前:248 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 08:50:16 ]
>>263
>Access denied for user ''@'localhost' (using password: NO)

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




265 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 01:35:56 ]
やらしいjavaとか出版予定はないかな?

268 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 11:14:21 ]
やさしい心よりやらしい体って山本弘の小説のキャラが言ってた。


269 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:32:30 ]
269です。回答ありがとうです

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

Map系のkeySet()ってノーチェックでした
ハッシュキーの一覧が取れて元のハッシュにも(削除系だけ)連動するのか
勉強になりましたー

272 名前:デフォルトの名無しさん [2007/08/16(木) 01:12:41 ]
Tomcatがよく動かなくなるのですがどんな理由が考えられるでしょうか?
ディレクトリのファイルの内容を動いていた状態に戻しても、まだ動いてくれず弱っています。

273 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 01:33:01 ]
症状を必要かつ十分にもっと詳細に

274 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 13:55:20 ]
候補としては int, short, unsigned int, unsigned short
「適切な」の解釈によるがintでいいんとちゃうの。

278 名前:デフォルトの名無しさん [2007/08/17(金) 14:00:59 ]
>>227
ですよね。私もそんな感じだと思ってはいたんですけど、
「適切な型で定義」って書いてあるのでどう答えていいか
分からず書き込んだのですが。

では答えとしては>>227さんの答えていただいた感じでいんですかね?

279 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 14:04:43 ]
int -2147483648 〜 2147483647
short -32768 〜 32767
unsigned int 0 〜 4294967295
unsigned short 0 〜 65535

280 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 14:06:04 ]
ってっこjavaスレだよな、、、



281 名前:デフォルトの名無しさん [2007/08/17(金) 14:10:46 ]
>>279
問題の
- 整数値のみ
- 範囲は 0 〜 32000
とはどういうことなんでしょうか?
範囲は0〜32000てことはint型の-2147483648〜2147483647
は該当するのでしょうか?
本当に低レベルな質問ですみません。勉強を始めて間もない者ですので。


282 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 08:26:45 ]
staticなコンテクストからgetterメソッドを呼んでるからじゃん
javaをもう一度最初から勉強し直した方がいいよ

289 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 08:30:36 ]
A a = new A();
a,setFoo("hoge");

B b = new B();
b.setBaa( a.getFoo() );
こういうことがやりたいのか?

290 名前:デフォルトの名無しさん mailto:sage [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. localhost:8080/でTomcatのトップページが表示される。そこからたどったJSPのサンプルは正常に作動。

<問題> だけど、Eclipseで自作したプロジェクト名sampleのsample/hello.jspは
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 名前:初心者 mailto:sage [2007/08/25(土) 12:41:54 ]
環境変数CATALINA_HOMEにTomcatのルートディレクトリを指定したら動きました。
Vistaのせいではなかった…。修行が足りんね。

293 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 16:46:04 ]
文字列で指定したコマンドを実行するには、どうしたらいいでしょうか。

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

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

のようにすればいいのでしょうか?

294 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 19:11:06 ]
System.out.println()はコマンドじゃない。

やりたいことによっては楽にできるが、
本当に System.out.println() を実行したいなら初心者レベルでは
無理。


295 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 20:31:24 ]
JRuby あたりからガツンとやったほうが楽なような気がしますー

296 名前:初心者 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 17:11:22 ]
paintは、まずpaintBorderを呼んで、次にpaintComponentを呼んで、最後にpaintChildrenを呼ぶ。

paintをオーバーライドすると、ボーダーと子コンポーネントが描かれなくなる。

300 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 17:57:18 ]
MyClass a,b,c;

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

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





301 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 18:04:27 ]
宿題?
インスタンス1

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

privateなメンバクラスをコンストラクタ引数で渡して
他のクラスから参照するような事をしていたのですが、
スコープを広げて参照しないとダメですね。

303 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 23:53:45 ]
>>302
privateメンバの参照先を外部から
変えられちゃったらそもそもprivateの意味ないしねぇ。

それだったらsetterなり使って
適切な順序踏んで値設定するべきだと思うけど

304 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 00:43:48 ]
間違えた。
三行目c = a;か。

306 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 05:09:04 ]
FrameとPanelってどう使い分ければいいのでしょうか?
同じだとしか思えません。


307 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 07:51:05 ]
Frameの中にFrameは作ることはできないし、
Frameの外にPanelを作ることはできない。

308 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 02:14:41 ]
>>309
TreeSetが.Comparableでないから無理



311 名前:デフォルトの名無しさん [2007/10/09(火) 02:48:21 ]
ありがとうございました。


312 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 23:58:22 ]
BufferedImageをプログラム上で印刷するにはどうしたらいいでしょうか。
javax.print というのがあるのは調べましたが、使い方がわかりません。

313 名前:312 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 12:03:05 ]
>>315
何様?

317 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 12:36:52 ]
宿題スレに行け

318 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 15:13:54 ]
スクリーンセイバーにあるような宇宙空間を作りたいのですが
一から始めるのは難しいので少しづつ弄って覚えようと思ってます。
どこかにソースを公開してるサイトがありましたら教えてくれませんか?

319 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 19:17:28 ]
>>320
どこまでを考えて、どこからが分からないの?

322 名前:デフォルトの名無しさん [2007/10/16(火) 19:19:06 ]

クソの集まり創価学会

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

ネズミ講、騙されバカ信者、池田犬作チョン大教祖様、さっさと死ねや

323 名前:デフォルトの名無しさん [2007/10/16(火) 19:30:12 ]
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 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 08:50:21 ]
>>323
s.add(10,20);って感じで値が取れるからそれを出力すればおk

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

ま、↓のクラスを使ってって書いてあるから突っ込まなかったんだが。
それだったらaddをstaticメソッドに変えてSimpleAdder3.addInt(10 ,20);とかにしちゃうけど、
これは課題で求められているものではないだろうな。

326 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 16:14:14 ]
点を2個以上に増やしたソースも出せばどこが悪いか指摘もできる
同じ動きっていうことから推測するとxyの移動量を+4とか-1とか決め打ちにしてるからじゃないのか

328 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 16:54:50 ]
>>326
画面外に逃げていくような方向で、
大きくなるにつれて速くしていけばいい

329 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:15:00 ]
3次元でランダムに星をばらまいたデータ作って視野面に投影した方が簡単そう

330 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 06:47:29 ]
フレームをバックグラウンド(非アクティブ)にした状態でマウスイベントの取得はできますか?
できるならばその手法について教えてください‥どこを探しても載っていないので本当に実現できるか心配でorz



331 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 20:57:56 ]
コマンドプロンプトから set PATH して環境変数表示させてみ?

333 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 01:18:16 ]
質問スレとのマルチ

336 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 03:02:10 ]
<version>のとこをどうすればいいんですか。初心者なのでわかりません。

337 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 03:08:08 ]
実際に存在するフォルダの名前にある数字しろ

338 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 03:09:07 ]
まああきらめずやってればそのうちいいことあるよ
がんばれ初心者

339 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 03:55:30 ]
> ;(c:\Program Files\Java\jdk1.6.0\bin
その括弧は何なんだよw
悪いこと言わないからWindowsの使い方から勉強しなおせ



341 名前:孤独なOL mailto:sage [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 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 00:08:25 ]
C/C++/C#をメインにやってきましたが
こんどjavaも必要になったので入門本を検討してます。
おすすめの本はありますか?
ぱっと見だとC#とかなり似てますね

348 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 02:43:49 ]
常に一つのバージョンしかインストールしないのなら適当にjdkとかディレクトリ作って
そこに常にインストールすればいい。環境変数の設定は1回やっておけば使い回しが効く。
何も馬鹿正直にインストーラのデフォルト設定に従う必要なんてない。

349 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 02:49:18 ]
>>347
C++やSmalltalkやC#やJavaScript等の言語の集大成がJavaだからC#とかなり似ている部分もあるんよ
つまり後発の言語だから他の言語のいいとこ取りしていてとても使いやすい良い言語だぜ

350 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 06:28:15 ]
>>349は誤解の元



351 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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="fileman.rakurakuhp.net/UserFiles/35584/Image/1192787150.jpg" /></p>


358 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 06:39:34 ]
>>357
WebとJavaScriptの組み合わせの場合。
+ JavaScript の質問用スレッド vol.60 +
pc11.2ch.net/test/read.cgi/hp/1190811747/l50

Webを含まないJavaScriptのコア部分だけの場合はこっちでも可。
ECMAScript デス 3
pc11.2ch.net/test/read.cgi/tech/1190160481/l50


359 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 19:30:37 ]
>>359はもっと根本的なところで知識不足な気がするんだが。
Javaプログラミングの基礎ができてない感が否めない。

362 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 19:40:42 ]
点が二つ以上のときのソースに関心のある者はさらにおぞましきものを見ることになるだろう

363 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 15:08:52 ]
爆発する感じで□を飛ばす方法を伝授してください!

364 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 17:57:07 ]
口に火のついたダイナマイトを突っ込むとか?

365 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 13:44:55 ]
>>364
花火みたいな感じですorz

366 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 20:33:56 ]
放物線で四方八方へ

367 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 12:40:22 ]
>>366
なるほど!
飛ばした"□"の描画を消さずに移動させていけば花火っぽくなりますよね?
ありがとうございました。

368 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 20:47:30 ]
>>380
Java質問・相談スレの>>1参照

382 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 21:07:18 ]
WEBサーバ、アプリケーションサーバ、WEBアプリケーションサーバ
これらの違いを教えてください。

ぐぐってみると
WEBサーバ→apache,tomcat
アプリケーションサーバ→JBOSS
ってのが出てきますが違いがよく分かりません

383 名前:デフォルトの名無しさん [2007/11/06(火) 21:23:11 ]
>>382
e-words.jp/


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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 14:47:07 ]
本を買わなくてもjava言語のほとんどが解る
一番良い日本語のホームページのURL(Uniform Resource Locator)
を教えてください

389 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 15:08:40 ]
>>388
ttp://java.sun.com/javase/ja/6/docs/ja/

390 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 16:20:15 ]
起動時に、任意のTextBoxにフォーカスするにはどうすればいいですか?



391 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:13:29 ]
あるメソッドの引数がnullであってはいけない場合、
そのメソッドの実装はどうするのが普通ですか?
・何もしないで、戻り値があるならnullとか無意味な値を返す
・nullではないと仮定する
・nullかどうか意識的にチェックして例外を投げる

392 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:39:33 ]
3番目。NullPointerExceptionを投げるのが普通。

393 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:47:38 ]
メソッド内で直ちに参照を引く場合には何もしない
参照を代入するだけみたいな場合にはぬるぽを投げる
結局ぬるぽを投げるって事だが

394 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 23:29:38 ]
NullPointerExceptionはnullなのにメソッド呼び出しをするとかの、
nullオブジェクトの不正操作に対して投げるものだと思う。
引数が不正で例外を投げるのならIllegalArgumentExceptionの方がいいと思うが。
標準APIのクラスでもnullを不正な引数として扱うメソッドはIllegalArgumentExceptionを投げるものも多い。

395 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 00:06:16 ]
けど NullPointerException を投げるのもあるんだよな。Class クラスのメソッドとか。

396 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 08:28:14 ]
たとえばTextFieldに"あいうえお"って入力して
それを配列に入れとく方法ってある?

398 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 08:37:54 ]
はい

399 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 08:45:53 ]
暇なら教えてちょ

400 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 20:23:54 ]
文字入力したときにイベントを発生させなきゃいかんのかも



401 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 20:08:07 ]
>>397
使う時に、textField.getText().toCharArray() ではいけないかね?
配列で持つ方法ではなくて、ばらして何がしたいかを書くほうがいいと思うぞ

402 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 11:35:56 ]
私もTextFieldのことを聞いていいでしょうか。
テキストを入力し、Enterを押したときにTextFieldを空にするにはどうすればよいのでしょうか。

くだらない質問ですみません…

403 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 11:49:36 ]
>>402
何を実現したいのか解らん

404 名前:402 mailto:sage [2007/11/14(水) 12:17:22 ]
文字を入力してエンターを押したらフォントと色を変えて表示する簡単なプログラムです。
エンターを押しても文字が残ってしまうので、チャットのようにエンターを押したら
TextFieldが空になったらいいなとちょっと思っただけであります…

405 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 12:19:00 ]
空にするメソッドはないので
"" をテキストフィ−ルドにセットする

406 名前:402 mailto:sage [2007/11/14(水) 12:28:06 ]
できました。
ありがとうございました。

407 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 20:31:17 ]
JAVAでtridentエンジンとgeckoエンジンの切り替えが出来るブラウザ作ったら、重要度あるだろうか?
多分マルチプラットホームになる予定。

408 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 20:36:09 ]
Tridentエンジンってマルチプラットフォーム?Windowsでしか使えないんじゃないの?

409 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:15:09 ]
>>407
そんなブラウザを作るより、もっと使いやすくてシンプルで軽いマルチプラットフォームな俺々エンジンを作ってくれ

410 名前:デフォルトの名無しさん [2007/11/16(金) 22:18:52 ]
JDK6のドキュメントをダウンロードしても、上手く開けないのは俺だけ?
なんか、トップhtml開くと空白ページで、何度やっても同じorz

雑誌の付録の5は、ちゃんとできてるんだけど。。。



411 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 22:45:41 ]
未だにIEなんか使ってるからそうなるんだ

412 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:01:57 ]
IE6で確かに開けないね
docs\ja\api\index.htmlは普通に開けるから問題無いけど

413 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:29:39 ]
>>412
ありがと!火狐使ったら開けた!

火狐でおかしくなることは思いついても、IEでおかしくなることは思いつかなかった。
なぜにIEだとダメなん?

414 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 13:22:00 ]
正規表現で「.」を任意の一文字ではなく「.」文字として
マッチさせたいのですが、.をエスケープするのに\.とするとeclipseで
エラーが出るのですが、これってどう書いたら良いのでしょうか?

416 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 13:28:45 ]
\\.
正規表現でのエスケープと実際の文字でのエスケープで二重になる

417 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 14:28:08 ]
>>416
ありがとうございます!
おかげで出来ました!!

418 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 15:23:33 ]
単純にStringをintに変換したい場合↓では全く同じ動作と考えていいですか?
string s;
int n = Integer.valueOf(s).intValue();
int n = Integer.parseInt(s);


419 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 15:26:29 ]
いいよ

420 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 15:27:14 ]
まったく同じみたいだね
ソースコード読んでみたら?



421 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 15:28:26 ]
>>419
ありがとうございます!

422 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 13:24:21 ]
ArrayListで受けたら

424 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 13:27:20 ]
>>422
ArrayList<?> list = (ArrayList<?>)application.getAttribute("datalist");

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

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

list.add("test1");
list.add("test2");
list.add("test3");

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



428 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 22:25:18 ]
意味はわからんだろうが、警告はこうすれば出ない
ArrayList<String> list = (ArrayList<String>)application.getAttribute("datalist");


429 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:25:59 ]
>>428
ありがとうございます。ただStringの配列でないとスマートでないんです。

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

といっても勉強の為、本のソースをコピーして動かし
わからない部分があったら調べるって作業をやっていただけなので
完全に作り直す気もスキルもありません。
この警告は無視していいのか、排除するべきなのかはわかりませんが
とりあえずこの仕様のままで警告が取れたらいいなと思っただけです。
もう少し調べてみますが、限界だと思ったら諦めます。ありがとうございました。


430 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:32:40 ]
@SuppressWarnings("unchecked") を付ければ警告は出なくなる



431 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 01:26:50 ]
>>430
そういうのもあるんですね。
ってかそれをググったら同じような質問をいくつも見つけました。
自分で調べたら一例も見つけられなかったのに・・。

>>431
まだJAVA勉強初めて3日目なんですよ。
もう今日はgenericsでお腹いっぱいです
まさに同じような質問からList使えって回答がありましたw
Listの勉強の機会があったら、このサンプルソースを作り直してみます!


433 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 21:29:14 ]
oracleのJDBCを使っているんだけど。
DATE型で格納されているデータをgetString()で取ってきたら、どんな形式で取得されるんだっけ?
YYYY-MM-DDとかYYYY/MM/DD HH24:MI:SSとか。
で、どっかの設定を変更すると、日付の形式も変更できたと思ったんだけど、どこで設定するんだったっけな。


434 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 22:56:49 ]
プログラム初心者かつ、oracleも触ったことないけど、
ResultSet rs;
SimpleDateFormat formatter = new SimpleDateFormat("YYYY/MM/DD");

formatter.format(rs.getDate(i))じゃ駄目っすか?

435 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 00:45:19 ]
>>433
>DATE型で格納されているデータをgetString()で取ってきたら
何でも文字列でとらなきゃいけないってどんなコボル脳?

436 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 17:40:44 ]
Randamというクラスに
double nextDouble(int n)というメソッドは存在しない

440 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 17:42:09 ]
>>438
ttp://java.sun.com/javase/ja/6/docs/ja/api/java/util/Random.html#nextDouble()
その意味不明の11は何だ?



441 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 17:45:16 ]
>>438
誤りはどこでしょうかってコンパイラが間違った場所を指摘してくれてるだろう。

442 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 18:16:38 ]
基礎通りのやり方ってのがなんだかわからないが
java.sun.com/javase/ja/6/docs/ja/api/index.html?overview-summary.html
で目的のクラスを探して『メソッドの概要』にないメソッドはない

444 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 18:16:51 ]
>>442
> 実数値 nextDouble() を用いて
> ・問1(0.0以上1.0未満の実数値をランダムに生成して表示。)の正解答がわからず
> 行き詰まっております。
> (11)も、あれこれ考えているうちに入れてみました すみません

?? >>437 さんがばっちり正解書いてるじゃん?
ばらしたければ、ばらせばいいだけだよ。


445 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 18:20:55 ]
>>442
java.sun.com/javase/ja/6/docs/ja/api/java/util/Random.html
を見てみるといい

Randomクラスで使えるメソッドの一覧が載っている
そこには nextInt は引数なしと引数付きの 2 種類あるが、
引数付きの nextDouble は無いのがわかるだろう
そこに載ってるものしか使えないから、その中から説明を読みながら目的に合ったものを選ぶんだ
自分勝手に新しいメソッドを考えてはいかん

446 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 18:44:11 ]
436です。皆様、ご指摘有難うございます

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

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

恐縮です、今後とも是非宜しくお願いします   436。

447 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 20:49:48 ]
なにその本
入門書なら問題の答えは載せるべきだろ

450 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 20:58:06 ]
>>449

436です。はい、応用問題に解答は記載されていません "自ら考え解く力を養う"というコンセプトは良いと思いますが
初心者には、解答もほしいところです



451 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 21:23:22 ]
なんせ、ぼーよーちんの本だからなあ

452 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 22:13:17 ]
問題の解答は作者HPで順次公開
ってスタイルじゃなかったっけ

453 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 22:20:27 ]
436です。

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

ですが、本の内容は不親切な感を受けません  初心者でも、まずソースを書いてみて  後々「コレはこういう事だよ」という、後の章で説明もありますし。

454 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 22:58:09 ]
>>453
演習は独習Javaでやるべし

455 名前:デフォルトの名無しさん [2007/11/23(金) 00:39:03 ]

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

【課題】
『5つの配列にそれぞれ数字を代入し、指定した値が配列に含まれているかを探すプログラムにおいて、
指定した数が見つかった場合には、それが5つの中で何番目の要素であるかを出力する文を書きなさい。』
というものです。
配列を指定し、指定した値を探し、それがあるかないかを探すプログラムは示されているのですが、
それが0〜4のどの要素であるかを探すプログラムが欠けている状態です。
どうか教えてください。よろしくお願いいたします。


456 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:41:22 ]
>>455
宿題スレ行け
pc11.2ch.net/test/read.cgi/tech/1191108260/

457 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:43:45 ]
Arrays.binarySearch使ったら怒られるんだろうな

458 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:13:09 ]
>>455
なにを教えて欲しいかを書けない奴は超初心者以前という事を覚えておけ

459 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:28:42 ]
>>454

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

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

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



460 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:03:33 ]
javaでcabochaを使うにはどうしたらいいのでしょうか?



461 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 04:21:52 ]
>>460
マルチするな
スレを移動するなら移動元はきちんとクローズしておけ
cabochaなんて知らねえ
そんな単語だけで情報が得られると思ってるのか
少なくとも関連情報へのポインタを示すべきだろ
お前の自明は他人の不明だ
もしcabochaでなく日本語係り受け解析器のCaboChaのことなら
Runtime#execなりProcessBuilderなりで起動して
標準入出力でデータの受け渡しをするようにすればいい
一時ファイルを使ってもいい

462 名前:デフォルトの名無しさん [2007/11/24(土) 05:05:57 ]
>>461
マルチのことはともかく、知らなければレスしなければいいだけだろ。

463 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 09:57:14 ]
>>462
何を恥ずかしがっているんだ?

464 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 22:56:08 ]
googleのような入力フォームのあるサイトにアクセスし
適当なクエリを打ち込んで、その結果をテキストファイルに
保存してくれるようなプログラムはどのように書けばいいのでしょうか?

465 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 23:09:08 ]
Httpでサイトに接続する
サイトに渡す引数やそのフォーマットはサイトが公開しているのが条件
戻ってきたXMLなりHTMLを解析して、テキストファイルに出力する
HTTP通信の部分はCommonsのライブラリ等を使うと楽。

だが超初心者に出来るとは思えない。

466 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 23:14:44 ]
初心者なら丁度いいレベルだな

467 名前:464 mailto:sage [2007/11/24(土) 23:24:35 ]
>>465
ありがとうございます。
さっそく試してみたいと思います。

468 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 23:54:14 ]
>>466
Java初心者ならなんとかなるがプログラミング初心者には無理だろ

469 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 13:10:52 ]
Java とかより Ruby とかの方が全然簡単そうなタスクだな。

470 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 15:06:43 ]
吉岡先生、どうぞ



471 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 10:18:36 ]
清十郎?

472 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 21:50:47 ]
>>472に書いたプログラムを実行した所、ウィンドウの背景が白になりませんでした。
どこが間違ってるんでしょか?


474 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:29:56 ]
たぶん
frame1.getContentPane().setBackground(Color.white);

475 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 14:39:29 ]
JPanel jp = new JPanel();
jp.setBackground(Color.white);
frame1.getContentPane().add(jp);

の方が良くないかな?

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

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

解答のプロセスが解りません
講義頂ければ幸いです、どうぞ宜しくお願いします。     途中まで書いてみました ↓

477 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 21:36:43 ]
if (n < 0) {
n = -n;
}

479 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 23:50:28 ]
素直に Math.abs(n) でもいいような気もするが。



481 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 17:08:15 ]
Seminar3_1って名前と本の目次からみてif文の使い方の段階じゃないかな

482 名前:デフォルトの名無しさん mailto:sage [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); は、どこを見ればいいですか?
java.sun.com/javase/ja/6/docs/ja/api/index.html?overview-summary.html

483 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 17:59:05 ]
>>482
すべてのクラスの Math をクリックして abs っていうところ

484 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 20:36:23 ]
>>483
有難うございます。  /* if文 →次はswitch文のようです、が 残り20ページほどif文が続きそうです */

485 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:22:58 ]
キーボード入力でコンパイルしてファイルを実行しても

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
























486 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:37:45 ]
>>485
エラー内容:お前が実行しろと指定したクラスが見つからないんだが
原因その1:クラスの名前が間違ってる
原因その2:クラスパスの設定が間違ってる
このへん
ttp://www.wikiroom.com/java/index.php?path%2Cclasspath

487 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 15:18:11 ]
すみません、上記はjavaアプレットです。

489 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 16:03:45 ]
>>487
唐突に出されたわけでなく授業をさぼっていたからいきなりと感じてるだけじゃないの?
単に分からないだけでは漠然としているので質問を絞り込むか、
タメにはならないから勧めたくはないが、自分でやる気がないのなら宿題スレへ。

490 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 21:03:53 ]
日本語初心者で説明できないから、いきなりということにしたのかも。
高校出ても日本語は初心者のままって奴増えてるから……



491 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 22:07:05 ]
日本語の問題というよりも基本的な考え方がわかってないように
しか見えん。ヒントでなんとかなるレベルじゃなくて、答を作って
もらって書き写すしかなさそ。しかも、} 忘れるとかちょっと
写し間違えたらグリコ状態になりそうだ。

492 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 09:12:52 ]

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

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

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


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

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


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



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

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

宜しくお願いします

494 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 23:13:56 ]
>>492
toLowerCase で 「ツ」 が 「ッ」 になってたりしてな。

>>493
出来なくはないけど只管難しい。

495 名前:デフォルトの名無しさん [2008/01/16(水) 08:39:34 ]
java(というかswing?)を使って外部のプログラムを操作

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

とかいうことをするには、何かいいクラスとかあるのでしょうか?

496 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 14:17:00 ]
標準入出力を読み書きする程度の操作で済むなら普通にProcessBuilderかRuntime#execで
シェルでも起動させてProcess#getInputStreamと#getOutputStreamでいじればいいんじゃないか

497 名前:495 [2008/01/16(水) 18:47:13 ]
>496
できれば、その後定期的(1秒ごと程度)
に出力の値を読めるようにしたいのですが、
シェルを毎度起動するとさすがにうざいですよね?

498 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 19:32:12 ]
なんで毎度起動する必要がある?
起動しっぱなしにしとけば?

499 名前:495 [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 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 21:57:06 ]
まったく問題ない

502 名前:デフォルトの名無しさん [2008/01/18(金) 22:42:58 ]
>>501
有難うございます。

503 名前:デフォルトの名無しさん [2008/01/19(土) 19:37:15 ]
ものすごい初心者ですみません。
JavaServletに複数のクライアントが接続した再に、クライアントごとに変数を容易するにはどうしたらいいでしょうか?

例えばクライアントがサーブレットにアクセスした回数をカウントするプログラムなど。

504 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:56:54 ]
プログラミング<<<CPU設計だから

505 名前:デフォルトの名無しさん [2008/01/20(日) 17:26:45 ]
アプレットで画像を印刷しようとしているのですができますか?

Image a = getImage(getCodeBase(),"img.gif");
で読み込んだ画像を、パネルに表示せずにそのまま印刷することが理想ですが、
無理でしたら画像をパネルに表示し、それをパネルごと印刷したいと考えています。
やり方が分かる方よろしくお願いします。

506 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:32:43 ]
>>505
java.awt.print.Printableを実装したクラスを作ってjava.awt.print.printerJobにセットして
printメソッド呼んでやればできると思う。(実際はもうちょいやる事あるけど)
JDKに同梱されているjava2Dのデモにほぼまんまの処理があったはずなので探してみて。

507 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:59:11 ]
柴田望洋のJavaの入門書が発売されましたが
やさしいJavaとどちらが初心者にはいい感じですか?

508 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:21:37 ]
>>506
レスありがとうございます。早速やってみますね。
もしまた分からないことがあったらよろしくお願いします。

509 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:40:24 ]
>>507 Java の初心者?それともプログラミングの初心者?

510 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:19:48 ]
柴田望洋の明解JAVA使って一通り終わって
GUIの勉強を軽くでいいのでしたいmpですが、分かりやすい本ってなんかないですか?

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

なんとか3日以内に理解したいんだけど・・・




511 名前:デフォルトの名無しさん [2008/01/20(日) 22:47:23 ]
>>506
すみません、デモが見つからないのですがどこにありますか?orz
java初心者ですみません(つд`)

512 名前:506 mailto:sage [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が対象になるかと。


513 名前:505 [2008/01/21(月) 00:28:33 ]
>>512
何度もすみません、ありがとうございます。
おかげで見つかりました^^(自分のマシンだとjdk1.5.0_12の中にしか入ってませんでしたが)

ですが・・・ソースが難しくて理解が困難ですorz
また、これをそのままコンパイルにかけたらエラーが出てしまって・・・
どうやったらこの二つが動くようになるでしょうか?
あとどこを取り入れたらいいのか、アドバイスお願いします><

514 名前:506 mailto:sage [2008/01/21(月) 01:03:59 ]
>>513
んと、ざっとプログラム見てみた感じだと
Tools.javaのrunメソッドでPrinterJob使っているところがあるので基本的な使い方は
そこを参照すればいけそう。
Printableの方はなんらかのコンポーネントに対してPrintableをimplementsしたクラス
を作ってやってprintメソッドを実装。
このオブジェクトにイメージのっけてPrinterJob#print()実行
でいける…かな?(「イメージのっけて」ってのが面倒かもしれんけど)
プログラム斜め読みなんで間違ってたらすまん

515 名前:506 mailto:sage [2008/01/21(月) 02:13:37 ]
目が冴えて眠れないんでサンプル作ってみた
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/175.zip
プリンタが無いんで稼動テストできないけど一応こんな感じになるかな、という参考程度に。

516 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:04:35 ]
>>503
>複数の接続
ひとつからの断続的な接続なのか同時多数接続なのかわからないYO

517 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:39:26 ]
>>503
おとなしくJSPを使うことをすすめる。

518 名前:503 mailto:sage [2008/01/21(月) 16:22:22 ]
>>516
同時多数接続です。接続順にサーブレットがユーザー番号を発行して、
ユーザー番号ごとに変数を用意すればOKですかね?

>>517
サーブレットでやりたいのです。


519 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:31:00 ]
なぜ茨の道を歩もうとするのか

520 名前:505 [2008/01/21(月) 23:42:36 ]
>>515
昨日は眠くなって寝てしまいました、すみません><
>>515でいただいたものを使ったらできました!
何度もアドバイスしていただいただけでなく、わざわざ作っていただき本当に感謝です><
おかげで思った以上の物が作れそうです。
本当にありがとうございました!



521 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:44:55 ]
>>521
java 5 の新機能でググレ。いわゆる for each文。

523 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:48:34 ]
>>522
理解しました!ありがとうございましたm(__)m

524 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:54:51 ]
Vector data = new Vector<クラス名>();

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

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

<>これの意味が調べても良くわからなかったので教えてくださいm(__)m

525 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 02:37:53 ]
連スレでごめんなさい

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

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

他のはGUIを作るうえでのボタンや画面などを表しているっていうのは何となくわかるのですが・・・

526 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 10:29:08 ]
CGIを使って非同期をするとあるのですが
CGIのファイルは自分のパソコンに置いてテストできるのでしょうか?
どこかにうpしないと無理でしょうか?
よろしくお願い致します

527 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 11:21:43 ]
>>524
ジェネリクス、genericsでぐぐる

5.0からの機能を解説してる入門書ってほんと少ない
あっても欄外解説や改訂版の付け足しコラムで触れてる程度だったり

528 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:05:53 ]
>>525
Swingコンポーネントはデータを保持するモデルクラスとそのデータを表示するビュークラスに分かれている
TableModelはテーブル用のデータを保持するモデルクラス
JTableはTableModelが保持しているデータを表示するビュークラス
同様にJButtonとかJTextFieldもビュークラスであって、対応するモデルクラスが(普段は気にしないけど)存在している

529 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:07:12 ]
>>526
それJavaとなんか関係が?

530 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 19:12:52 ]
>>529
詳しくかけないけど関係あるんですよ



531 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 19:16:52 ]
>>530
自分のパソコンにwebサーバを入れれば自分のパソコンに置いてテストできますよ

532 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 19:18:37 ]
>>531
そうなんですか
即レスありがとうです

533 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 03:55:35 ]
>>527-528
お二方有難うございますm(__)m
5.0からの新機能とやらに大分悩まされていますが頑張って見ますorz...

テーブルモデルってのは、クラスでいうところの抽象クラスみたいなもんなんですかね
はっきりとはまだ分からないけどなんとなく分かった気がしました!

534 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 01:41:21 ]
removeの引数がObjectであることは問題にならない
リストに入っていないものを渡しても何もせずに戻ってくるだけ

536 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 01:44:34 ]
というか、入門書でListを説明してるものが少ないんだよね。
Listが載ってない入門書は、はっきりいって無価値なのに。

537 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 01:49:09 ]
>>535
つ「型安全性」

見つけにくいバグの恩賞になるのになんで Object のままなのか
さっぱりわからん > remove()

538 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 02:40:07 ]
ttp://www-128.ibm.com/developerworks/jp/java/library/j-jtp01255/

539 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 11:58:45 ]
バイナリ互換性のためだろ
古いクラスファイルを最新のVM上でも動かしたかった
ソースの互換性はないので、再コンパイルする場合は書き直しが必要



541 名前:デフォルトの名無しさん [2008/01/25(金) 12:06:13 ]
javaはOSは関係ないと書いてあったのですが

ファイル操作をするとき
OSXは/
Winは¥
でフォルダー、ディレクトリを区切っていますがそこのところはどうなるのでしょうか?

542 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 12:14:09 ]
java.io.File.separatorChar に区切り文字(OSXなら/、Winなら\)がセットされてるので、それを使う

543 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 13:49:39 ]
>>540
> バイナリ互換性

コンパイル結果のバイトコードは Object 受けでもいいけど、
コンパイル時に指定した型以外を渡せないようにしなかったのは
何故なんだぜ?

544 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 14:19:53 ]
>>543
そういやそうだった
なんでだろね

545 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 16:25:53 ]
>>542
サンクス

546 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 22:08:30 ]
>>546
ちょっとわからんが、3D model をどう作ってるの?
code を見ないとわからん。

548 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 01:49:36 ]
>>547
レスしてもらったのに申し訳ないです。
データの入ったパソコンを実家に忘れてしまいました。
また、後日質問させていただきます。

549 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:15:21 ]
ttp://www7.axfc.net/uploader/93/so/File_3636.txt.html
どなたか助けてください。コンパイルはできるのに表示されないんです

550 名前:505 [2008/01/27(日) 21:06:43 ]
>>515でいただいたソースで印刷はできるようになったのですが、
セキュリティー警告のポップアップで取り消しを押すとエラーが出てしまいます。
このエラーを出すとその後印刷ができなくなってしまうのですが、対処法は有りますか?



551 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:27:29 ]
>>549
例外メッセージが出てるはずだから、それをよく読むこと。
ヒント:ArrayList の get() メソッドの引数は、ゼロから size() - 1 までの値を入力するように。


関係ないけど、ヒント2:きみがやりたいのは「/ 3」ではなく「% 3」のはず。

552 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:23:07 ]
>>550
セキュリティーで問題ありそうなのに対処せずに使い続けようとすればどっかにしわ寄せがくる希ガス
大丈夫と判っていても判断するのはOSだけど

↓こんなんみつけたけど別件かな?
ttp://www.losttechnology.jp/Tips/savezoneinformation.html
ご利用は自己責任で。

553 名前:550 [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 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:50:51 ]
>>554
replace("ny", "nny");
replace("nn", "n");

556 名前:デフォルトの名無しさん [2008/02/02(土) 02:53:45 ]
>>554
「たんい」と「たんに」の区別をどう判定するんだ?
「tanni」これは単位?単に?


557 名前:554 [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:15:24 ]
>>554
n二文字にするのが根本から間違ってるんじゃね?

562 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:19:01 ]
最後の>は不要

565 名前:デフォルトの名無しさん [2008/02/02(土) 17:47:05 ]
レスありがとうございます。
最後の>はずしたら今度は
'Documents' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
って出てきました。質問ばっかですんません

566 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:54:13 ]
とりあえず入力するのは
cd C:\program Files\Java\jdk1.6.0_04
これだけだ。

Javaより、まずはコマンドプロンプトの勉強しろよ。

567 名前:デフォルトの名無しさん [2008/02/02(土) 18:00:36 ]
できました。ありがとうございます。まずはコマンドプロントからがんばって
いきたいと思います。

568 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 18:44:45 ]
>>563
いまから始めるJava 第1回「Java2 SDKで学習の準備」
www.atmarkit.co.jp/fjava/rensai2/javaent01/javaent01.html

569 名前:558 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 01:38:03 ]
インストール済みの既存の
Tomcatサービスをとめればいいんだよ。
Windowsだったら、常駐プログラムとしてTomcatサービスが起動していると思う。
まずはそれを切る。常駐アイコンが見当たらなければタスクマネージャでtomcatを強制終了するか
設定-サービスでTomcatのサービスを探してTomcatサービスを終了すればいい。

もしくは、既存のTomcatをアンインストールしてみてはどうだろう?



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

[アプリケーションの追加と削除]からTomcatをアンインストールして
再びインストールを試みても、>>569のような状況になってしまいます。

572 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:09:01 ]
あわわ、追記。
tomcat ってピュア java なんだっけ?
EXE ファイルは、起動やらモニタリングを便利にする、ただのオプション?
じゃあ JRE さえ動くなら、java -jar tomcat.jar みたいな感じで手動で起動できるのかも。

574 名前:558 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:43:20 ]
Apache-TomcatとEclipseを使っているのですが、

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

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

どうしたらいいでしょうか?

576 名前:575 mailto:sage [2008/02/03(日) 23:58:18 ]
web.xmlを直せばいいかもしれないと分かりましたが
どう直せばいいのか分かりません。
どなたかアドバイスいただけますか?

577 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:10:17 ]
お前さんには、そう当たりで試して切り開いて行く精神が足りないと思う

578 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 18:48:57 ]
>>575は意志が弱いが総当り方式が効率が良いとはとても思えんぞ。
>>576の態度ではいつまでたっても何も成就できないが

579 名前:デフォルトの名無しさん [2008/02/06(水) 00:06:52 ]
質問です。

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

また、板違いでしたら申し訳ありません。


580 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 10:39:21 ]
スタックトレースとってこればいいんじゃね?

583 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:19:06 ]
リバーシを作ってるんですが
どこかオススメのサイトとかありますかね?
いろいろ見たのですが盤を作るところからよくわからないのですが

587 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:23:25 ]
>>586
盤って int[][] board = new int[8][8]; とかじゃだめなのか?

588 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:28:00 ]
>>586
Javaでリバーシを作る初心者向けの本があったはず…

これだ
www.amazon.co.jp/dp/4875934289/

589 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:33:07 ]
その本マジでやめといたほうがいい。
JavaにしてもC++にしてもかなりダメなくせが付く、最低の本

590 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 14:03:11 ]
>>587
どうもです
配列でそうやってやるだけでいいんですね……


>>588-589
そうなんですか……
どこかオススメとかないですかねぇ



591 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 14:58:14 ]
>>587
これをどうやってパネル化すればいいんですかね……?


592 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 15:08:41 ]
>>589
まじですか

設計に関しても最低?

593 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 15:12:03 ]
>>590
もちろん配列でも良いけど
Javaの勉強と言うことなら、盤・列・マスといったクラスを設計する方が楽しいぞ

594 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 15:13:00 ]
設計に関して最低。
アルゴリズムとかは別に悪くない、
というか、普通なんだけど、
「オブジェクト指向」を謳っておきながら酷い設計
というか、オブジェクト指向をなんか勘違いしてる本。
ってことで、よほどの初心者じゃなければ別にいいのかも。
ただ、>>591じゃね・・・

595 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:24:43 ]
8x8のGridLayoutにJLabelを64個置くのが簡単かと

597 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:38:42 ]
なんというVB

598 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:24:20 ]
ボタンの表示を反転したいんですが、
現在のボタンがTrueなのか、Falseなのか、取得する方法ってありませんか?
お願いします。

599 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:04:56 ]
ありますよ

600 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:30:06 ]
ボタン自身にON/OFF有ったっけ?フラグはアクションリスナーで実装するんでないけ?



601 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 08:56:23 ]
現在のボタンがTrueかFalseか言ってる時点でラジオボタンか何かか、
有効無効のことを言ってるんだと思ったけど。

602 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 11:55:19 ]
ButtonModel#isPressedかisSelectedあたりだろう

603 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:07:32 ]
Java3Dを使わずにJavaで立体を作りました。
ボタンをクリックするとx軸を中心に回転させるプログラムを作りたいのですが
どうすれば良いのでしょうか?

ボタンは↓のようにしています。
btn1 = new Button("x軸を中心に回転");
this.add(btn1);


604 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 19:22:18 ]
二ヶ月以上前のになぜいまさらそんなにがんばるwwwwww

610 名前:デフォルトの名無しさん [2008/02/07(木) 21:06:03 ]
>>609
私もつい最近この本を買ったばかりで
今日ちょうどココをやってたんですよ。

で、問題は一応無かったと思って見直したら
問題点が出てきて直して見直してを繰り返して
これならほぼ問題ないだろwという所まで
凝ってしまったんですよww



611 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 14:16:05 ]
>>604
古い本を使ってるのでボタンを押して動作するという事が載ってないです
マウスでドラッグしたら動くようにはしてるんですが…

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

x = x * cosθ + z * sinθ

612 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 15:40:01 ]
>>611
いや、イベント処理になるから
回転・表示させるactionPerformedメソッドを書いたActionListnerを用意して
(JFrameにimplementsすることが多い)
そのボタンにそのActionListnerを登録すればいい

613 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 19:25:15 ]
> (JFrameにimplementsすることが多い)
MVC派の俺様はコントローラクラス作ってそこにactionPerformedを書くぜぃ
とか言ってみる

614 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:15:57 ]
無名クラス派ですが何か?

615 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:27:44 ]
>>603
>ボタンをクリックするとx軸を中心に回転させるプログラムを作りたいのですが

作ってみた。
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/209.java

616 名前:デフォルトの名無しさん [2008/02/08(金) 23:28:19 ]
インスタンスって何?ラーメン?

617 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 10:43:18 ]
それはインスタント

618 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 12:29:28 ]
素朴な疑問なんですが、Javaのキャッチコピーって
「一度コードを書けばどんな環境でも動作する」ですよね
欠点って何でしょう?

619 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 12:36:29 ]
>>618
そのせいで起動に時間がかかる
起動時にメモリを食う

がよく言われます
起動したあとの実行速度とかメモリ消費はよく誤解されます

620 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 12:37:03 ]
特定の環境にしかない機能が使えない
DirectXとかCoreAnimationとか



621 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:34:14 ]
int a = args.length;
上のプログラムでよくわからないことがあるんですが
配列変数名.メソッド;
の形ですよね?

今まで、
インスタンス化したメソッド.メソッド名();
の形でしかだめだと思っていたんですが、どういうことなんでしょうか?

622 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:36:30 ]
>の形ですよね?

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

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

そんなものはない

623 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:18:14 ]
keisan1はkeisanのインスタンスが入ってるローカル変数
tateはkeisanのインスタンス変数
tasizanはkeisanのインスタンスメソッド
君の読み違いでなければその参考書は今すぐ焼き捨てるべき

625 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:52:22 ]
>>619
>>620
ありがとうございます。
やはりどんなモノにも欠点はあるんですね

626 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:11:08 ]
>>621
Javaでは、配列は実質クラス

627 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:57:15 ]
けど length は配列のインスタンスフィールドではない

628 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 19:28:52 ]
>>624
>>626
>>627
皆様ありがとうございます。インスタンスかした”クラス”でした、。申し訳ありません。
keisan1がインスタンスかしたクラスなんですね。

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

そう考えると確かにkeisan1.tateは変数名.フィールド名になってますね。
配列が特殊なんだと考えて起きます
ありがとうございました

629 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:16:15 ]
>>627
しかし言語仕様にはフィールドだと書いてある

java.sun.com/docs/books/jls/third_edition/html/arrays.html#10.7
>The public final field length

630 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:47:33 ]
変数の型についての質問です。
byte型は1バイト、short型は2バイト、int型は4バイト、long型は8バイトまでの整数を扱えるとのことですが、それ以外の違いはないのでしょうか?
だとしたら、あらゆる整数を格納できるlong型を常に使えば他の整数型を意識する必要がなくなって便利だと思うのですが・・・。
int型の範囲を超える整数を扱うことは滅多にないので通常はint型を使うにしても、byte型やshort型はなんのためにあるのでしょうか?
素朴な疑問って感じですが、お答えお願いします。



631 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:04:02 ]
それだけメモリをたくさん使う
たとえば10000000個のデータを扱う場合、
byteが10000000個だったら10MBで済むが、
longが10000000個だったら80MBになってしまう

632 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:20:53 ]
>>631
なるほど、メモリの問題があるのですね・・・。
回答ありがとうございました。

633 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:35:45 ]
実際、short なんて滅多に使わないね。


634 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 14:37:03 ]
>>612
>>615
参考にさせてもらいます。
文系の出で、プログラムに触れた事がないので助かります。

635 名前:sage [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 名前:つづき mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 17:34:09 ]
なるほど
つまりまったく一緒だと怒られるから適当にいじりたいけど
まったく分からないからなんとかしてくれということですね

638 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 17:39:59 ]
そういうことなんです、1mmもわからないので変えようがないのです。。。
どなたかお願いします。

639 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:01:56 ]
Javaに近いとは思いません
>Gnu Octave とは、MATLABと互換性を持ったフリーな数値解析ソフトウェアであり、
>GNUによって開発されている。

640 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:17:07 ]
javaに近いという理由でoctaveの宿題の解答の偽装依頼をこのスレで見る日が来ようとは



641 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:22:30 ]
うん、とりあえず逝ってくれ。
あと、名前欄にsageは入れないほうがいいと思うよw

642 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:26:18 ]
あ、最後(i,j)じゃなくて

System.out.println(i+":"+j);
ってことで

644 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:31:41 ]
外側のループが条件によっては実行されないから
内側のループでjが必ず初期化されるかは不明としている
この場合は外側のループは必ず実行されるけど
その条件が成立するかどうかまでは検査していない

645 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:57:38 ]
やっぱそれだけのことなのか
どうせソース見るなら最後まで見てくれよな、って思う
型キャストとかのあたりとか特に、
自動でキャストしたりコンパイルエラーだったり実行時エラーだったりはっきりしてくれぃ!


>>644さんくす

646 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:32:42 ]
>>647
MainPanelのレイアウトマネージャがサイズと位置を自分のポリシーに合わせて自動で変更してるとか
レイアウトマネージャはnullまたはコンポーネントの勝手に任せるようなものになってる?

649 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:04:21 ]
>>648
MainPanelの引数にも何もとっていないのでレイアウトマネージャーは何も設定していません
自分でnullに設定しないといけないのでしょうか?

650 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:15:45 ]
JPanelはデフォルトでレイアウトマネージャが設定されてるので
レイアウトマネージャを無くしたいならsetLayout(null)しないと
継承先のMainPanelでも同じものがつかわれる



651 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:19:19 ]
デフォルトで設定されていたんですか
うまく解決できました、どうもありがとうございます

652 名前:デフォルトの名無しさん [2008/02/14(木) 14:35:25 ]
Java3Dじゃなくても3次元モデルが出来るようですが
Javaで作るのとJava3Dで作るのって何が違うんでしょうか?

653 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:18:17 ]
スレッドのrunメソッドに引数をとりたいのですが、Startメソッドで呼び出して実行するため引数をいれることができません
どのように引数をいれればいいのでしょうか?

655 名前:デフォルトの名無しさん mailto:start [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 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:09:18 ]
>>655
そういうやりかたがありましたか、ありがとうございます

657 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 12:52:49 ]
>>653
ありがとうございます
まだJavaを触り始めたばかりなのでJava3Dは止めておきます

658 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:01:20 ]
Javaの全身であるOakの呼び方って「おーえーけー」で良かった?

659 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:02:03 ]
全身=前身でお願いしますorz

660 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:07:26 ]
オーク



661 名前:デフォルトの名無しさん [2008/02/16(土) 18:54:12 ]
>>660
ありがとう!!!!!

662 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 00:49:48 ]
ローカル変数の存在意義って何ですか?
全てメンバ変数にしたほうが扱いやすい気がするのですが・・・

663 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 01:59:23 ]
>>662
そう思うならそうすればいいじゃん
君のコードとの接点を俺が持たない限り止めはしないよ

664 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 03:57:19 ]
接点t! 接点t!

665 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 04:38:59 ]
>>662
メンバ変数って用語はあまりJavaでは使われないかもしれない。
存在する理由はいろいろあると思うけど、例えば、
同じクラス内でも別スコープなら同じ変数名が使えるローカル変数と違い、
フィールドはクラス全体が同じスコープになるから名前がダブらないように気をつけないといけない。
名前付けが面倒だからと同じ変数を違う場所で違う役割に使用するのはバグの元になりやすい。
また、ローカル変数の方がフィールドに定義されたものよりアクセスがたいていのJVM実装では速いはず。
それに、スレッドごとにメソッドの呼出しごとに違う場所が用意されるローカル変数と違って、
フィールドはインスタンスまたはクラスごとに一つしかないという違いもある。
マルチスレッドプログラミングやメソッドの再帰呼び出しをやり始めればその違いが分かる。
ごくごく小さなプログラムだけなら、そうは感じないのかもしれないけれど、
自分でプログラムを書き始めればローカル変数を全て排除しようとすると扱いにくくなると感じると思うよ。

666 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:35:32 ]
面の法線の計算について
右手座標系で頂点P0(x0,y0,z0) ,P1(x1,y1,z1), P2(x2,y2,z2)とした場合
z軸から見た場合の計算式はどうなるのでしょうか?

667 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 18:14:36 ]
>>666
それは、Javaの質問か?

668 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:28:15 ]
独習やっているんですが、ひとつ解せないところがあったので質問します。

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

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

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

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

と記述されています。
2つ目の例でもdouble型と同じ方法が取れると思うのですが、
変換の仕方を統一していないのは何か意図があるのでしょうか?



671 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:32:06 ]
>>670
何を意図しているのか、それとも何も考えていないのか、
その例を作った作者に聞くしかないのでは?

672 名前:670 mailto:sage [2008/02/21(木) 17:52:43 ]
その後の例ではint型でもvalueOf().intValue()やってた・・・
やはり著者のきまぐれなのか・・・とりあえず進めてみます。
ありがとうございました。

673 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 00:06:52 ]
Double#parseDoubleやFloat#parseFloatは後のバージョンで追加された
それ以前に覚えた/主流だった書き方をする人が
今でもそれなりにいるというだけの話

674 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 01:57:26 ]
それは一つの著書の中で統一されてないことの理由にはならないと思う。
何らかの意図があると勘繰られないために、または読者を混乱させないために、
こういった方法もあるのでここではこちらを使用するの旨を書くか、
本文では統一しておいて、これ以外にもこういう方法もとれると注釈を入れるか、
少なくとも学習用の参考書であればあってもしかるべきだという気がする。
実は版を変える時に古い例がそのまま残ってしまっているとかかもしれないが。

675 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 02:05:09 ]
新版t! 新版t!

676 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 09:15:23 ]
独習Javaは第3版でJDK5.0対応をうたってはいるが
注釈やコラムが少し追加されているだけで
サンプルコードは初版時の1.1のままという本なので
そんなに期待してはいけない

677 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:01:41 ]
Java2のコードでさえないとは……
それはさすがに今使う学習書としてはちょっとまずい気がする。

678 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:00:44 ]
class Aがあったとして・・
A a;と宣言して
a = new A();とし
a = null;としたときaは空になりますか?
これをやったのですがうまくいかないので、よろしければaを空にする方法を教えてください


679 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:04:23 ]
空ってなんのことだ?
うまくいかないというのは、何を期待してて実際にはどうなったんだ?

680 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:08:18 ]
インベーダーゲームを作ろうとしていて弾(同時に出ていられる弾の数には限りがある)の処理で
SPACEを押したときif文でaがnullならaを初期化して(弾をつくる)
弾が画面外にでたらa = null;として再度弾を出せるようにしたかったんです



681 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:09:30 ]
実際には弾を1発撃ったら再度撃てなくなったのでa = nullとするあたりがおかしいのかなと・・

682 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:23:11 ]
すみません良く見たらifで使う変数を間違えていまして、そこを修正したら直りましたorz



683 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 11:40:27 ]
Aに生きてるか死んでるかのフラグを付けた方がいいんじゃないかと

684 名前:デフォルトの名無しさん [2008/03/05(水) 21:46:19 ]
外部プログラムの起動で

cd /hogehoge/

が出来ないのは仕様ですか?

685 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 23:00:59 ]
cd という名前の外部プログラムはそもそも存在しない

686 名前:デフォルトの名無しさん mailto:sage [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プログラムの方で見ていないか確認。
多くの環境でカレントディレクトリの情報は各プロセスで独立している。
唯一、プロセスを起動する時に親プロセスから引き継がれるくらい。
子プロセスから親プロセスに伝播することはない。

687 名前:684 [2008/03/06(木) 11:14:03 ]
OSはlinux or FreeBSDなんですが
new ProcessBuilder("bash", "cd", "/hugahuga/");
で動きませんでした。
どうしたらいいのか教えて頂けませんか?


688 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 11:51:31 ]
>>687
何をしたいのか知らんが、
子プロセスでカレントディレクトリを移動しても、
自プロセスのカレントディレクトリは変わらないよ?

689 名前:684 [2008/03/06(木) 12:03:37 ]
やりたいことは、mecabの辞書の更新を動的にやりたいんで、
# cd /usr/local/src/mecab
に移動して、そこで一度
# /usr/local/libexec/mecab/mecab-dict-index -c utf8
で辞書を更新して
# make install
し直したいんです。

私の考えだと、子プロセスでカレントディレクトリに移動して、
その子プロセスでその次のコマンドを実行すれば出来ると考えているのですが。

690 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:03:24 ]
>>689
シェルスクリプトでやりたいことを一括して書いて、それを起動すればいいんじゃないかい?



691 名前:684 [2008/03/06(木) 13:05:40 ]
>>690
ウホッ!
そこには気づきませんでした!
確かに、シェルしか使ってないならそれがベストですね!
やってみます。ありがとうございました。

692 名前:デフォルトの名無しさん mailto:sage [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はその次の引数をコマンドとして読み込む。

693 名前:684 mailto:sage [2008/03/06(木) 13:53:05 ]
>>692
何から何までありがとうございました。
勉強になりました。

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

695 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 00:05:37 ]
>>695
一つ目の質問について
"1+1+2の結果は"+1+1+2+"です"

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

698 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 00:50:53 ]
but'1.6' is required
だから、
JREの1.6をインストールして下さい

702 名前:デフォルトの名無しさん [2008/03/11(火) 00:56:03 ]
>>700
ランタイムの新しいバージョンをインストールすれば良いと思う。
java.sun.com/javase/ja/6/download.html

703 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 01:14:40 ]
できました!
ありがとうです

704 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 05:14:23 ]
>>699
ttp://ja.doukaku.org/151/nested/

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

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

707 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 17:32:13 ]
それでいいなら、

test.class.getName()

でもいいんじゃ?

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

710 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 00:33:13 ]
まあ検索ですぐに出てくるが
全角スペースのこと

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

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


714 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:35:54 ]
>>713
つ ttp://www.pwv.co.jp/take_public_html/MVCwithEclipse/doc/MVCwithEclipse_c3.html

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

715 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:18:49 ]
>>714
ありがとうございます
勉強してみます

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


717 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 11:58:42 ]
?にして、PreparedStatement使うといいよ。

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

719 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 22:44:32 ]
argsになってんじゃん

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

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

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

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

728 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 20:18:37 ]
値 % 3 == 0 なら3の倍数



731 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 20:33:36 ]
>>729
d.hatena.ne.jp/keyword/FizzBuzz

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

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

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

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

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

739 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 14:39:25 ]
質問です。

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

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

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

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

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

それは絶対条件です。

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



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

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

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

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

744 名前:デフォルトの名無しさん mailto:sage [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 ]
質問です。

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


746 名前:743 [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 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 21:15:21 ]
'あいうえお'とか'aiueo'はcharじゃないだろ。
というか、コンパイルしてみればいいじゃないか。

748 名前:743 [2008/03/30(日) 22:05:27 ]
Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/main
だそうです
・・・CLASSPATH?

749 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 22:15:12 ]
メインつくってないだけじゃね?

750 名前:743 [2008/03/30(日) 22:25:46 ]
ごめんなさい俺にわかるように教えて下さいorz



751 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:45:07 ]
どんなクラスにでも引数なしのコンストラクタがあるとは限らないからね。
それに、必要でもないときに勝手に作られてもいやだし。

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

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

756 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:23:24 ]
スレ違い、いや板違い

757 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:57:16 ]
調べてみたら全然違うんですね・・・
失礼しました

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

759 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 09:40:45 ]
>>758
JAVADOCはダウンロードしましたか?

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



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

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

763 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 13:16:50 ]
eclipseでサーブレットを作る環境と、eclipseでサーブレットを作る知識

764 名前:758 mailto:sage [2008/04/02(水) 13:37:08 ]
>>761
早速紹介していただいた項目読みました
おかげさまでなんとかなりそうです

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

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


765 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 17:15:37 ]
SDKとJDKって何が違うんでしょうか

766 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 17:20:00 ]
JDKはJavaのSDKです
略称ではないんだけど

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

768 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 00:54:05 ]
質問です。

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

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

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

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



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

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

772 名前:デフォルトの名無しさん [2008/04/03(木) 09:24:04 ]
すみません単なるミスでした

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

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

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

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

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

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

778 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:24:21 ]
Point pts[] = new Point[4];
this.pts[0].x = x;


779 名前:774 ♦RnrYWCN3sM mailto:sage [2008/04/04(金) 00:26:34 ]
なかなか返答がないので締め切らせて頂きます。
わざわざすみませんでした。

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



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

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

783 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 13:10:51 ]
間違ってます

784 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 13:12:38 ]
気のせい

785 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 13:55:14 ]
似てるか似てないかなんて主観だからねえ

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

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

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

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

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

790 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:21:45 ]
"*" でどうかな



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

792 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:41:52 ]
解決しました。
皆さん丁寧にありがとうございました。

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

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

798 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:45:16 ]
>>795
別に要らないよ
例外を自分でcatchするなら

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

800 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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
みたいな事とはどんなことですか?

809 名前:807 mailto:sage [2008/04/08(火) 01:22:55 ]
どんなこともコードのままなんだけど。
>>808はどう思うの?ちょっとコード書いてみて。

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



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

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

813 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:53:23 ]
いや板違い
>Javascript は Web 制作板、CGI は Web プログラミング板へ。

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

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

820 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:08:08 ]
>>821
素早い回答ありがとうございます。
今から試してみようと思います。

823 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 22:17:26 ]
>>823
回答ありがとうございます。
getTimeで時間を取得すると1207746884155などといった数字になったのですが、
これはどう見ればいいのでしょうか?
何度もすみませんがよろしくお願いします。

825 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 22:23:04 ]
>>824
javadocぐらい見れるようになろうぜ
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フォルダに入れないといけないの?

827 名前:826 [2008/04/10(木) 04:21:19 ]
自己解決しましたv(^-^)

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

829 名前:デフォルトの名無しさん [2008/04/10(木) 11:23:10 ]
>>828

Javaの入門サイト
www.nextindex.net/java/index.html

Javaで学ぶデザインパターン
www.amazon.co.jp/Java%E8%A8%80%E8%AA%9E%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E5%85%A5%E9%96%80-%E7%B5%90%E5%9F%8E-%E6%B5%A9/dp/4797316462


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



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

832 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:05:45 ]
再起動したらできますた
すまそんw

835 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:14:12 ]
これは酷いww

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

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

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

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

840 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 10:09:39 ]
スレ違い



841 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 10:26:59 ]
JAVAでMSDNにあたる資料は、
java.sun.com/j2se/1.5.0/ja/docs/ja/api/
これでしょうか?

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

842 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 12:53:34 ]
どういうものを求めてる?
どのへんが見づらいの?

843 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 12:56:44 ]
継承メンバ一覧は冗談かと思うよな

844 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:30:11 ]
>>844
宿題?ちゃんと API を見ろ。引数いらん。
ついでにずいぶんいらん変数が多いなぁ。つーか変数いらん。
まぁできえばいいかな。

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


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

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



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

850 名前:849 mailto:sage [2008/04/12(土) 17:17:55 ]
自己解決しました。
スレ汚しすみませんでした。



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

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

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

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

854 名前:844 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:57:21 ]
なんの確認が難しいんだよ。日本語書け。

856 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:01:49 ]
nextDouble() が0.0以上1.0未満ってわかってるんだから
そこから先は不等号式を解く作業

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

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

859 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:13:55 ]
>>847への回答よろしくお願いします。

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



861 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 01:41:21 ]
>>856
日本語も初心者だと思うぞ


862 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:05:29 ]
で、何?

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

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

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

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

867 名前:デフォルトの名無しさん mailto:sage [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()のようなものだから。

868 名前:867 mailto:sage [2008/04/14(月) 09:32:18 ]
誤爆した

869 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:00:34 ]
>>865
> 配列にしてソートして真ん中の要素を表示

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

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

良い例が無いか探してみたら↓に Java のコードもあるっぽい。
www.cs.sunysb.edu/~algorith/files/median.shtml



871 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:16:12 ]
>>870
865 さんはそんな難しい事言おうとしていたのかな。汎用性と実用性から
考えれば配列に入れて java.util.Arrays の sort 使って真ん中抜いて終わり。
プログラミングの観点からはそういのに慣れるのはいいと思うけど。

アルゴリズムの勉強をしたいならそれはまた別の問題だわな。


872 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 15:03:48 ]
>>872

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

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

FTPソフト(FFFTP)とか使わないと駄目では?

874 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:58:10 ]
致命的なエラーが出てしまいます。
スレイプニールとIEどちらでも同じ現象です。
どなたか対処法教えてください。

875 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:59:16 ]
ねえねえ、それだけの情報で正確な対処法を教えてもらえると思う?

876 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 07:09:15 ]
>>876のように書いてみたのですが、実行すると最後の数字が抜けていました。
どうすればいいのでしょうか。よろしくお願いします。

878 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 07:56:44 ]
>} while (!(a == b));
これを
}until(a==b);
にする。ループ終了条件の評価タイミングを考えるんだ

879 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:20:10 ]
>>878
解答ありがとうございます。

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

上記のエラーが出ました。
untilはキーワードに入っていませんでしたが、
何か別なものを入れるってことでしょうか。

880 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:23:43 ]
ググレカス



881 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:43:19 ]
>>774か?もしそうならその変数要らないぞ。Squeraにx,y,width,heightあるんだから四隅を別に持つ必要ないぞ。

885 名前: ◆IiyUHoZM0E mailto:sage [2008/04/17(木) 06:20:54 ]
>>883
ありがとうございます。
ご指摘のようにしたら上手く行きました。

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

そして>>883さん、折角教えて頂いたのにこんな間抜けな
結末になってしまって、本当に申し訳ありませんでした。

886 名前: ◆IiyUHoZM0E mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 14:27:03 ]
>>887
宿題スレへ行け

889 名前:♦IiyUHoZM0E mailto:sage [2008/04/17(木) 15:09:56 ]
>>885
こうだろ。

890 名前:♦IiyUHoZM0E mailto:sage [2008/04/17(木) 15:15:53 ]
ってこれだけじゃわかんないな。>>779がやったのはこうだろって話な。
ぱっと見トリ割れしてるように見えるだけでよく見ると違うから。



891 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:35:49 ]
知るかカス

892 名前: ◆IiyUHoZM0E mailto:sage [2008/04/17(木) 21:33:42 ]
>>889-890
ホントだ。よく見りゃよかった。ヲマークだったのか。
有名な単語だったし、どっかにトリ割れのリストとかあって
それでバレたのかとか思ってました。ありがとうございます。
これ以上はスレチなので失礼。

893 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:10:39 ]
この春からプログラムを始めるようになりました。
説明が不明慮かも知れませんが宜しくお願いします。

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

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

if(koza_No.length > 10){

}

の中の処理の書き方を教えて頂ければと思います。

894 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:20:56 ]
if(koza_No.length > 10){
 
 「不明慮」を辞書で引いてしまった俺カナシス

}

895 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:53:28 ]
>>893
数字なら10*10で割った余り。
文字列なら、subString()使う。

896 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:10:09 ]
起動させるならできるけど。

java.sun.com/javase/ja/6/docs/ja/api/java/lang/Runtime.html
java.sun.com/javase/ja/6/docs/ja/api/java/awt/Desktop.html

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

任意のプログラムをWindows上で起動させることなどはどんな言語にも不可能ですが
Windowsの実行ファイルをJavaプログラムから起動する事は可能です
多分これが質問の意味だと思いますが

900 名前:897 [2008/04/26(土) 23:32:19 ]
>>899
解読してくださってありがとうございます。

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

>>898
ありがとうございます。やりたいことが可能なようです。
今からJAVAを学んで卒論にしたいと思います。



901 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:57:23 ]
>>900
卒論・・・

902 名前:897 [2008/04/27(日) 00:04:03 ]
>>901
ソースをコピペして評価実験をちょろっと書けば卒論でございます。
こんな僕も来春から業界人。IT業界への良質な人材の供給は皆無な昨今。
私も無能であります。


903 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:12:32 ]
とりあえず一人称を定めようか

904 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:16:38 ]
やはり、うつむいて根暗で一人称ボクですよね。わかります。

905 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 10:16:24 ]
ボク卒業後10年間IT業界に入ろうと試みて職安に通ったが駄目だった。
新卒スゴスw

906 名前:デフォルトの名無しさん [2008/04/27(日) 21:14:36 ]
抽象クラスって何のためにあるの?
インターフェイスがあるんだから意味がないような気がする。

907 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:20:40 ]
デフォルトの実装を提供したり、
スケルトンとして使ったり。
意味が無いわけではない。

908 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:54:57 ]
カレー粉とルーの違いだよ。

…自分で書いてて意味分からない。

909 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:39:41 ]
>>906
インターフェース→コネクタみたいなもの。規格を満たしていればその先に何があっても気にしない。
抽象クラス→マザーボードみたいなもの。一部の部品は交換可能だが、全体としての動作はある程度規定されている。


910 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:50:08 ]
java scriptについての質問です。

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

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

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

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

iframeで並べることはできるのですが、iframeを使わずに
やる方法はあるのでしょうか?あるとすればどのようにすればいいでしょうか?



911 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:55:00 ]
>>910
スレチ乙

912 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 23:06:28 ]
すいません
スレ違いでした。
他のスレ探してきます。

913 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:49:24 ]
Java Appletで表示されている
数値を、テキストとしてメモ帳に
コピペは出来ませんでしょうか?

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

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

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

用途としては、為替系の自動取引運転を
目指しています。
業者によって表示環境がまちまちなので。
とにかく、なんとかして、リアルタイムに来る
数値をこちら側でテキスト文字列として
取得したいのですが。


914 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:58:23 ]
そういうのはAppletじゃなくて、というかJavaじゃなくて、JavaScriptとかでやったほうがいいのでは。

915 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 15:08:44 ]
>>913
画像に drawString とかで埋め込んだらダメだと思う
けど TextArea とかにすればテキストとしてコピペできる。

916 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:56:30 ]
>>913
直接の答えにはなってないが…

そういうのは、業者側もいろいろ工夫して、テキストとしてコピペ「できないように」作るもんじゃないかな

917 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 19:43:30 ]
逆コンパイル
アプレットを弄ってアプリケーションに書き換え
setTextやgrawStringメソッドを適当にオーバーライド

いろんな意味でリスキーですな

918 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 19:48:07 ]
キャプチャしてOCRソフトで読み込めば

919 名前:913 mailto:sage [2008/04/29(火) 14:28:15 ]
色々とレスどうもです。
中々に難しそうですね。
該当部分の画像をBMPで切り出して
画像照合とか
そんなことしなければ根本的には
どうにもならないような感じもします。


920 名前:906 [2008/05/04(日) 10:59:36 ]
>>907->>909
おぼろげながらわかりました。
ありがとうございます。



921 名前:デフォルトの名無しさん [2008/05/05(月) 03:24:50 ]
www.nextindex.net/java/XML/xerces.html
を参考に
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 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:26:13 ]
どなたか、『独習Java』の付属CDデータをうpしてくれませんか?

923 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:28:53 ]
最近キチガイ多いよな

924 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 20:06:21 ]
ちょいっと伺いたい。
個人的な好みでJDeveloperを使ってんだけど、
パソコン変えたらちらつきが出るようになりました。
対処方法知ってる方いらっしゃいますか?

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

まぁDellのInspiron1520なんだけど。
まえつかってたPen4のマシンではこんなことなかったんだけど。

925 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 17:18:30 ]
質問です。
JavaGUIプログラミング
ttp://www.cutt.co.jp/book/4-87783-185-1.html
に掲載されているサンプルコードについてですが、
サンプルコードをダウンロードしたいと思っています。
どなたか、サンプルコードの場所を知りませんか。

926 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 18:07:11 ]
公式で無ければ無いでしょ
掲載されてる訳なんだから自分でいちいち入力した方が勉強になるよ

927 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 18:29:42 ]
>>926
サンプルコードを探したのですが、ありませんでした。
どこかにあればと思って、質問しました。
>掲載されてる訳なんだから自分でいちいち入力した方が勉強になるよ
がんばって、入力します。
回答ありがとうございます。

928 名前:925 mailto:sage [2008/05/14(水) 18:31:08 ]
訂正
>>927 は、>>925 と同一人物です。

929 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 09:53:10 ]
あるよ
button変数は最後のループで宣言したインスタンスしか指さず
それ以前に宣言したインスタンスは二度と利用できない
3回繰り返してもできるボタンは実質1つ
3つ作りたいならbuttonを配列にしてループ内で順番に代入


933 名前:デフォルトの名無しさん [2008/05/24(土) 10:49:18 ]
>>932
ずっとつっかえていたんで助かりました。
ありがとうございました。

934 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:24:46 ]
コマンドプロンプトから、
コンパイルする時は、javac file.java
実行する時はjava fileと打ちますが、
これをワンクリックで行う方法はありませんでしょうか?

Ecripseなどの統合開発環境や、
特殊なエディタを使えば出来るでしょうか?

935 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:42:02 ]
Eclipseならファイルを変更したら自動でコンパイルしてくれるお

936 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:49:43 ]
eclipseは便利だけどやたらメモリを食う
512MBでは厳しい、1GB以上は欲しい

937 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:51:39 ]
>>935-936
凄い便利なんですね。
スペックには余裕があるのでEclipseを入れてみようと思います。
ありがとうございました。

938 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:28:54 ]
いまどき買うならメモリ512MBのPC探す方が苦労するよ

939 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:34:11 ]
1万円2万円程度のならMB単位のPCがゴロゴロ転がってるよ

940 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 11:16:52 ]
>>934
可能です。
以上。
はい次の方。



941 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 16:58:59 ]
昨日学校でちょっとやったけどBeanのプロパティが理解出来ない。
誰か説明してorz

944 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 17:43:03 ]
BeanのプロパティはBeanのプロパティです。
以上

945 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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で上記コメント発生)

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



949 名前:948 mailto:sage [2008/06/01(日) 13:34:32 ]
自己解決しました、スレ汚しスマソ。

950 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 14:26:41 ]
>>947
(1) まず "a = {" を表示する
(2) 最初の要素があるなら表示する、無いなら6で終わる
(3) 次の要素があるなら", "を表示する、無いなら6で終わる
(4) 次の要素を表示する
(5) 3に戻る
(6) "}"を表示する



951 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:41:21 ]
(double)を消せばわかる

954 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:40:12 ]
5/3=1

955 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:01:29 ]
マルチ

956 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:30:18 ]
>>952

5/3じゃ1までしか表示されないから、doubleには1.0が代入されるってことですか?


957 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:05:33 ]
そうそう ans3 には(double)(5/3)だと1.0が、((double)5)/3だと1.6666…が。

958 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:07:19 ]
キャスト演算子の結合順は間違えやすいよね

959 名前:デフォルトの名無しさん [2008/06/05(木) 14:52:44 ]
最近java勉強してるんだがこのスレ見ても全く分からん;;
本当にここ超初心者用なのですか・・?

960 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:55:40 ]
↑同感。どこかの大学の理工学部か専門学校のレベルじゃないの?



961 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:55:57 ]
超基本的な質問が多いと思うよ
言語仕様を一通り理解してはじめてスタートライン

962 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:50:10 ]
超初心者レベルですよ

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

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

これぐらいの感じですね
ちなみに専門学校や理工学部の授業では2番目ぐらいまでしかやらないです

963 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:29:26 ]
ほとんどの専門学校は1までだと思う

964 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:49:59 ]
ほとんどの専門学校は1すら満足に出来てないと思う。
他言語一切やってないなら別だけど。

965 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:39:41 ]
とりあえず「あ」と「ま」に置き換える処理ができる技術があればそれもできる

968 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:26:14 ]
ここと質問スレのマルチばかり
教えてgooとかYahoo知恵袋にまで使ってそうな勢い

969 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:47:50 ]
ちょっとスレの趣旨とは違うかもしれない質問だけど、
Java の Servlet API の話題を取り上げてるスレって
ないの?



971 名前:957 mailto:sage [2008/06/06(金) 03:23:56 ]
>>969
12line c += 60; は、削除するとして。
read(EOF) の戻り値が 65535 (になった)なので、==の左辺を(short)でキャスト
または、-1を(char)でキャストするといいよ。vv






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<302KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef