トップページ⇒tech
1001コメント395KB

【初心者】Java質問・相談スレ16【大歓迎】

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
ここはプログラム技術板のJavaに関するスレッドです。

質問のさいは状況が相手に伝わるように書きましょう。
エラーコードなどもしっかり書いたほうが適切な回答を得られます。
自己解決した場合でもどのようにして解決したかくらいは書きましょう。

プログラム技術と直接関係のない質問は
プログラマ板などのほうが適切な場合もあります。http://pc.2ch.net/prog/
JavaScriptの質問はWeb製作板へ http://pc3.2ch.net/hp/
パソコンの基本的な質問はPC初心者板へ http://pc.2ch.net/pcqa/

JavaFAQもご利用ください。
http://www.gimlay.org/~javafaq/javafaq.html

過去ログは>>5-7

『コマンドまたはファイル名が違います』
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
などの質問の回答は>>2-3

いまからJavaのプログラムを始めたいかたは>>2-4へ
必要な情報やコンパイラのダウンロード先へのリンクがあります。

携帯・モバイル・iアプリ、サーブレットなどのJava関連スレは>>8-9

諸事情によりリンクがずれた場合は>>2-20
0002デフォルトの名無しさんNGNG
Q. javac コマンドを実行したときに、
『コマンドまたはファイル名が違います』や
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
と表示されてコンパイルできません。
A. javac.exeへのPATHが通っていません。
http://java.sun.com/j2se/1.4.1/ja/install-windows.html
を良く読んで、javac.exe のあるディレクトリ(例: C:\j2sdk1.4.1_01\bin )のパスを
環境変数PATHに追加してください。
その後、
Windows98/MEの場合はOSを再起動、
Windows2000/XPの場合はコマンドプロンプトを新たに立ち上げなおしてください。
設定したパスが正しければ、javacが使えるようになります。
それでも同じエラーが出る場合は、設定した値が間違っています。よく見直してください。

Q. javac Hello.java でコンパイルはできるのですが、
java Hello を実行しようとすると
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
コマンドプロンプトで、
set CLASSPATH=%CLASSPATH%;.
と設定する。最後の「;」と「.」を見落とさないように!
または、
http://www.gimlay.org/~javafaq/S004.html#S004-02
を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。

クラスパスとはなにか(JavaFAQ 基礎知識)
http://www.gimlay.org/~javafaq/S004.html
0003デフォルトの名無しさんNGNG
Q. Javaのインストール方法、パスや環境変数の設定方法が分かりません。
A: Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html
http://java.sun.com/j2se/1.4.1/ja/install-windows.html

Q: クラスの使い方が分かりません。
A: Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

Q: SDKの仕様や、Javaの使い方、コマンドの使い方を教えて下さい。
A: Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html

Q: Javaの言語仕様が知りたいです。
A: Java言語規定
http://www.y-adagio.com/public/standards/tr_javalang/index.htm
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html

Q: 「僕以外の人も、同じ疑問を持ったはず」と思えるような質問があります。
A: Java House ML Topics / Java FAQ / Java Tips
http://java-house.jp/ml/topics/
http://www.gimlay.org/~javafaq/
http://www.javaworld.com/columns/jw-tips-index.shtml

このほかのFAQ(良くある質問とその回答)はこちら↓をご覧ください。
http://www.gimlay.org/~javafaq/javafaq.html
0004デフォルトの名無しさんNGNG
>>4
■■■ JavaのコンパイラとAPI リファレンス ■■■
【Sun JDK 1.3】
http://java.sun.com/j2se/1.3/ja/download.html
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

【Sun JDK 1.4】
http://java.sun.com/j2se/1.4/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

【Sun JDK 1.4.1】
http://java.sun.com/j2se/1.4.1/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

【IBM JDK 1.1/1.3】 (要ユーザ登録)
http://www-105.ibm.com/developerworks/tools.nsf/dw/java-devkits-byname?OpenDocument&Count=100

※JDK = Java2 SDK
0005デフォルトの名無しさんNGNG
zusa-
0006デフォルトの名無しさんNGNG
■■■ 過去スレの一覧 (1) ■■■
JAVA厨房
http://piza.2ch.net/tech/kako/966/966391052.html
Java相談室
http://piza.2ch.net/tech/kako/971/971960169.html
Java相談室 Part2
http://piza.2ch.net/tech/kako/980/980858322.html
Java相談室 Part3
http://piza2.2ch.net/tech/kako/994/994150280.html
Java相談室 Part4
http://pc.2ch.net/tech/kako/997/997791189.html
Java相談室part5
http://pc.2ch.net/tech/kako/1003/10035/1003567552.html
0007デフォルトの名無しさんNGNG
■■■ 過去スレの一覧 (2) ■■■
ネタ心者歓迎!今更ながらにJavaを学ぼう!
http://piza.2ch.net/tech/kako/981/981424252.html
ネタ心者歓迎!今更ながらにJavaを学ぼう! その弐
http://pc.2ch.net/tech/kako/993/993358225.html
ネタ心者歓迎! 今更ながらにJava相談室
http://pc.2ch.net/tech/kako/1003/10035/1003569074.html
ネタ心者歓迎! 今更ながらにJava相談室 その2
http://pc.2ch.net/tech/kako/1006/10064/1006408230.html
ネタ心者歓迎!今更ながらにJava相談室 その3
http://pc.2ch.net/tech/kako/1007/10078/1007802486.html
ネタ心者歓迎!今更ながらにJava相談室 その4
http://pc.2ch.net/tech/kako/1010/10105/1010545421.html
初心者歓迎! Java相談室 その5
http://pc.2ch.net/tech/kako/1012/10129/1012968994.html
初心者歓迎! Java相談室 その6
http://pc.2ch.net/tech/kako/1015/10154/1015418174.html
初心者歓迎! Java相談室 その7
http://pc.2ch.net/tech/kako/1018/10186/1018631329.html
初心者歓迎! Java相談室 その8
http://pc.2ch.net/tech/kako/1020/10204/1020453823.html
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/l50
0008デフォルトの名無しさんNGNG
■■■ 過去スレの一覧 (3) ■■■
【初心者・ネタ】Java質問・相談スレ【大歓迎】
http://pc.2ch.net/tech/kako/1021/10218/1021817147.html
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/tech/kako/1023/10233/1023319551.html
【初心者】Java質問・相談スレ3【大歓迎】
http://pc.2ch.net/tech/kako/1024/10248/1024885660.html
【初心者】Java質問・相談スレ4【大歓迎】
http://pc3.2ch.net/tech/kako/1026/10266/1026601774.html
【初心者】Java質問・相談スレ5【大歓迎】
http://pc3.2ch.net/tech/kako/1028/10280/1028096225.html
【初心者】Java質問・相談スレ6【大歓迎】
http://pc3.2ch.net/tech/kako/1029/10297/1029774594.html
【初心者】Java質問・相談スレ6【大歓迎】(本当は7)
http://pc3.2ch.net/tech/kako/1031/10313/1031397913.html
【初心者】Java質問・相談スレ�F【大歓迎】(重複の7)
http://pc3.2ch.net/test/read.cgi/tech/1032944182/l50
【初心者】Java質問・相談スレ8【大歓迎】
http://pc3.2ch.net/tech/kako/1032/10329/1032944246.html
【初心者】Java質問・相談スレ9【大歓迎】
http://pc3.2ch.net/tech/kako/1034/10343/1034303501.html
【初心者】Java質問・相談スレ10【大歓迎】
http://pc3.2ch.net/tech/kako/1035/10355/1035570359.html
【初心者】Java質問・相談スレ11【大歓迎】
http://pc3.2ch.net/tech/kako/1036/10361/1036142056.html
【初心者】Java質問・相談スレ12【大歓迎】
http://pc3.2ch.net/tech/kako/1037/10374/1037407642.html
【初心者】Java質問・相談スレ13【大歓迎】
http://pc3.2ch.net/tech/kako/1038/10387/1038731106.html
【初心者】Java質問・相談スレ14【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1040150533/l50
0009デフォルトの名無しさんNGNG
■■■ Java関連スレいろいろ ■■■
【IDE 統合開発環境】
【統合】Java開発環境スレ
http://pc3.2ch.net/test/read.cgi/tech/1038118138/l50

【サーバサイドやエンタープライズ】
EJB(初心者歓迎)
http://pc3.2ch.net/test/read.cgi/tech/1017240849/l50
■■ Servlet/JSP(EJB含む) 質問スレ ■■ (WebProg板)
http://pc.2ch.net/test/read.cgi/php/1023501812/l50
《The Jakarta Project》
http://pc3.2ch.net/test/read.cgi/tech/1019996589/l50
TOMCAT
http://pc3.2ch.net/test/read.cgi/tech/998525941/l50
Servlet/JSPのフレームワークを語るスレ
http://pc3.2ch.net/test/read.cgi/tech/1001950590/l50
EJBは終わってる
http://pc3.2ch.net/test/read.cgi/tech/1036481443/l50
JavaサーブレットQ&A LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html
0010デフォルトの名無しさんNGNG
【携帯・モバイル】
携帯JAVAのスレッド
http://pc3.2ch.net/test/read.cgi/tech/1011977260/l50
iモード携帯電話用Java(iアプリ) Part 3
http://pc3.2ch.net/test/read.cgi/tech/1040898596/l50
iアプリでゲーム (ゲーム製作技術板)
http://game.2ch.net/test/read.cgi/gamedev/1005042631/l50
京セラJAVA搭載PDA「PocketCosmo」 (モバイル板)
http://pc3.2ch.net/test/read.cgi/mobile/1021979970/l50

【その他】
クライアントサイドJavaどうよ? part2
http://pc3.2ch.net/test/read.cgi/tech/1032665721/l50
ム板のみんなでRobocode (・∀・)ヤロ−ウヨ!1台目
http://pc3.2ch.net/test/read.cgi/tech/1020161792/l50
Java 高速GUI SWT
http://pc3.2ch.net/test/read.cgi/tech/1032448424/l50
【徹底討論】Java3Dの可能性について考える
http://pc3.2ch.net/test/read.cgi/tech/1033703640/l50
★お前らJavaはJNIで組もうぜ★
http://pc3.2ch.net/test/read.cgi/tech/1033795664/l50
Javaアプレットのゲームの限界は! (ゲーム製作技術板)
http://game.2ch.net/test/read.cgi/gamedev/1005230153/l50
0011デフォルトの名無しさんNGNG
■■■ 民間サイト ■■■
巨大なJavaリンク集
Java的リンク
http://www.geocities.co.jp/SiliconValley/6064/java_link.html

What's New about Java(Java に関する最新ニュース)
http://www.gimlay.org/~andoh/java/javanew.html

■■■ 無料の統合開発環境 ■■■
【Eclipse R2】
http://www.eclipse.org/downloads/index.php

【Sun ONE Studio 4 (Forte 4)】
http://jp.sun.com/products/software/tools/jde/try/index.html

【NetBeans v3】
http://www.netbeans.jp/dowonload.htm

【JBuilder 7 Personal】
http://www.borland.co.jp/jbuilder/jb7/download/

※2chではないので暴れないように。
0012デフォルトの名無しさんNGNG
■■■ 他板のJavaスレッド ■■■
UNIXでJAVA (Unix板)
http://pc.2ch.net/test/read.cgi/unix/1011292632/l50
LinuxのJAVAチューニングスレ (Linux板)
http://pc.2ch.net/test/read.cgi/linux/1004594459/l50
◆◆◆◆◆◆MacでJava◆◆◆◆◆◆ (新Mac板)
http://pc.2ch.net/test/read.cgi/mac/991194610/l50

■■■ 撲滅させたいかた、死滅を心配してるかた ■■■
CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/tech/kako/1009/10097/1009707596.html
Java撲滅委員会
http://pc.2ch.net/tech/kako/996/996848309.html
●●JAVAって死滅しちゃうの????●●
http://pc.2ch.net/tech/kako/1005/10051/1005159122.html
●●JAVAって死滅しちゃうの???? PART2●●
http://pc.2ch.net/tech/kako/1006/10060/1006053686.html
●●JAVAって死滅しちゃうの???? PART3●●
http://pc.2ch.net/tech/kako/1008/10081/1008162230.html
Javaって死滅しちゃうの?
http://pc3.2ch.net/test/read.cgi/tech/1042268758/l50
0013デフォルトの名無しさんNGNG
書きこみOK? >>1乙
0014デフォルトの名無しさんNGNG
おつ
0015デフォルトの名無しさんNGNG
JGL って何ですか?
0016デフォルトの名無しさんNGNG
>>15
http://www.recursionsw.com/products/jgl/jgl.asp
Java Generic Library だそーです。

0017デフォルトの名無しさんNGNG
前スレで御世話になった結局JInternalFrameを使うことにした者です。

JDesktopPaneって、デスクトップアイコン感覚で
MyIcon extends JComponent を貼りつけたりできないんですかね?
ダメなら枠とか背景とか消した JInternalFrame を使う手があるのは承知してますが。
(こっちの方が全ての子がJInternalFrameとなって統一感が出て良いのかな・・・無駄な気がするが)
0018デフォルトの名無しさんNGNG
>>17
あれから、ふと思ったのだけどJInternalFrameの該当するソースをぬきだして
自力で実装するという手もあったかも。
0019デフォルトの名無しさんNGNG
>16
Java Generic とは違うのね?
0020デフォルトの名無しさんNGNG
>16
日本語解説ページってない?
0021あべしNGNG
結局OS再インストールで解決してしまった
打つだし脳・・・・・
なんかボーランドの開発環境ってインストールでやたらトラブルなぁ
開発環境自体は好きなんだけど。
0022デフォルトの名無しさんNGNG
>>21
誰お前?

JDKはSUNが作ってるが。
0023デフォルトの名無しさんNGNG
>>22
前スレ
002417NGNG
分からん・・・。
JDesktopPaneには確かにJInternalFrameを優遇する機構はあるようだが、
だからと言って一般のJComponentを弾く機構は見付からず。
軽量オブジェクトらしいしとりあえずJInternalFrame使うか。
# 軽量オブジェクトが何なのか知りませんが。

>18
オブジェクト指向厨としてはそれは出来ません。
多少重くなっても継承とかメンバ変数を使います。
0025デフォルトの名無しさんNGNG
>>24
本来、使用目的の違うものをむりに使うよりは、
めんどうでも一から実装しなおしたほうが楽でいいよ。
そもそも、ある目的に特化したクラスを、
無理してべつの目的に使うのは苦労が多いし
それはオブジェクト指向的ともあまりいえないかと。

未だなにかに特化していない抽象的なクラスを、
なにかに特化させて用いるか、
もしくはなにかの部品として用いるのならいざしらず。

まあいまの方法でうまくいっているのなら、
そのまま進むのが一番だとはおもうけどね。

でもとりあえず、
>JDesktopPaneには確かにJInternalFrameを優遇する機構はあるようだが、
>だからと言って一般のJComponentを弾く機構は見付からず。
のためにはソースを見るのが一番かと。
002617NGNG
>>25
ウィンドウシステムと今回作っている物(平面上の構造化データのエディタと思ってもらえばいいかな)の共通点
・マウスで移動、サイズ変更、閉じる(削除)、アイコン化(退避)が行える必要がある
・内部に部品を配置する必要がある
違い
・内部に配置する部品がウィンドウシステムでは様々なものが考えられるのに対し、
 3種類(細かく分けると5種類くらいかな)に限られている
・階層化がウィンドウシステムではデスクトップ+MDIの2階層程度が普通なのに対し、
 利用者が望むだけの階層を作れる必要がある(実際にはメモリ限界ですが)。

一つめは別に関係ないし、階層化については setContentPane(desktopPane) で行けますし、
メモリ消費も(比較実験はしてませんが)べとべと書いたのとあまり変わらなさそうなので、無理だという感覚は無いです。
むしろ良いもの見つけた、て感じです。

>ソース
ヘタレなのか見ても分からなかったです。
add周辺とpaint周辺を見てみたんですが・・・・・・。
もうちょい粘れば分かるかもしれないですけど、別に執着していないので。
0027デフォルトの名無しさんNGNG
JavaMail使って、IMAPサーバと通信するサンプルを、JSPで作れって言われたんですが、
Java自体素人な所為でサッパリです。

クライアントアプリでもいいので、IMAP4と通信するサンプルとかって、
どこかにないでしょうか?

+激しく助けてください+
0028デフォルトの名無しさんNGNG
新スレ祝いage
0029デフォルトの名無しさんNGNG
>>28
後で内祝い持っていくよ。
0030デフォルトの名無しさんNGNG
>>27 JavaMail完全解説とかいう本またはそのサイトは駄目?

おれもJavaMailでSMTPのみ使ったことあるけど
エンコーディングに苦労した。
そのときはJavaMail完全解説のサイトからその本の著者が作った
ライブラリを使った。
いまならもっと改善されてそのライブラリすら要らないかもしれない。
SMTPのみなのでPOPとかはわかりません。
0031デフォルトの名無しさんNGNG
>>27
書籍「JavaMail完全解説」※サポートBBS有
http://www.sk-jp.com/book/javamail/index.html

JavaMail(tm) APIを用いたメール受信
http://www43.tok2.com/home/mahkun/pg/java040.html

JavaMail Programming
http://www4.big.or.jp/~tan-y/programming/javamail.html

ざっくりぐぐっただけでも十分な情報が。とりあえずサンプル書いて、
ここに貼れ。
003228NGNG
本は、回りの本屋に売ってないんですよ。
サンプルソースはどれがサンプルになるのか良くわからんです。

んー。。。「JavaMailでメッセージ受信を行うライブラリです。」とかって奴なんでしょうか?

参ったなぁ・・・
003328NGNG
> 31

サンクスコ!

ちょっと、調べてみます。
0034デフォルトの名無しさんNGNG
gikomail が javamail を使ってるみたいだけど。


http://www.geocities.co.jp/SiliconValley-Sunnyvale/9210/
003528NGNG
GikoMailはPOP3への対応のみのようでした。
IMAP4のサンプルって、なかなか無いんですね。
困りました・・・
0036デフォルトの名無しさんNGNG
コレはもう書いたらソース公開するしかないね(w
003728NGNG
Servlet板と、こっちと、どっちに公開したらいいんでしょうね(w;
0038デフォルトの名無しさんNGNG
>>35

>>31の3番目より転載
(前略)
JavaMailは名前通りなんですが、JavaでメールのやりとりをするためのAPIを定義したものです。
JavaMailの特徴は、JavaMail本体はインターフェースの定義が主で実際に通信を行うプロトコルの実装は
「プロバイダー」と呼ばれる部分で実装を行います。従ってプロバイダーを交換してやる事で新しいプロトコルに
対応する事が可能です。その際、アプリケーション側は使用するプロバイダーを変える記述をする以外の変更をする必要はありません。
JavaMail自体がフレームワークとして定義されているからですね。
JavaMail標準アーカイブ(mail.jar)では送信にSMTP、受信にIMAPのプロトコルを実装したプロバイダーが組み込まれています。
(後略)

て事は、このサイトにあるPOP3のサンプルソースをありがたくDLさせてもらって、中の、

 Store store = sess.getStore("pop3");

を、"imap"に変更すりゃいいんじゃないの?
0039デフォルトの名無しさんNGNG
>>37
君が「わからない」ポイントは、JavaMailを使うって部分じゃないの?
「基本的にメールクライアントを」作った上で、その取得した内容をJSPに出力なんだろ?
ならここでいいんじゃないの?

つーか、いろいろ試してみれ。
0040デフォルトの名無しさんNGNG
>>19
基本的にはCollection APIみたいです。
JavaGenericLibraryって書いてあるけど
Tigerで追加予定のGenericsとは関係ないよーで。
004117NGNG
えー。情けない話ですが。
JComponent で普通に通りました。サイズが 0x0 になっていた模様。

getLayout()==null の場合の仕様を、
初期位置が (0,0) サイズがgetPreferredSize() になると思い込んでいたのが原因です。

JInternalFrameを使う時は最初は中身が空→サイズを指定しないとまずいだろ、と
思ってやっていたのでうまく行っていたのですが、今度の場合は大きさ固定の物なので
自動的にやってくれるだろ、と思ってやってました。
くだらないオチですみませんです。お騒がせしました。
004228NGNG
サンプル発見しますた。

ttp://www.sk-jp.com/java/library/
ttp://www.sk-jp.com/java/library/skwebmail/index.html

> ここで公開しているライブラリはすべてフリーです。
> 例えば作者に断ることなくライブラリ単位/ソースの断片の単位で
> 商用製品に使用しても文句はいいません。
> ただし利用はもちろん自己責任でお願いいたします。
> 要するに利用に関しては誰にもなにも制限をつけたくないということです。

らしいです。
世の中には、オトコマエな人がいらっしゃるんですねぇ。
0043デフォルトの名無しさんNGNG
このスレの連中、スキルが低いな。
やっぱり所詮Java厨って事か。
つまらーんところで悩んでるよ(藁
0044デフォルトの名無しさんNGNG
>>43
初心者大歓迎のスレで高いスキルを期待されても…
0045デフォルトの名無しさんNGNG
>>43
そーゆー事は
http://pc3.2ch.net/test/read.cgi/tech/1021555964/l50
とかで言ってください。
0046初心者NGNG
今日オライリーのJavaプログラムクイックリファレンスを見てたんですが
2.8LinkedListでわけ分からなくなりました。
オブジェクトの比較でなんで算術演算子=が使われてるのかな。
「オブジェクトへの参照型」というのがなんかぐちゃっとした感じで......
0047デフォルトの名無しさんNGNG
>>46
>>43
0048デフォルトの名無しさんNGNG
>46
「算術」演算子ではないです。
両辺がオブジェクトの場合、== は
同じ物を指している場合true,そうでない場合falseを返します。

>44 このスレはJava初心者は歓迎しますが、煽りを無視できない2ch初心者歓迎しません。
0049デフォルトの名無しさんNGNG
>>43
http://pc3.2ch.net/test/read.cgi/tech/1032944182/893
0050初心者NGNG
あれえ?
コードは
public class LinkedList{

public interface Linkable{
public Linkable getNext();
public void setNext(Linkable node);
}
linkable head;
それでメソッドの定義が続くんですが、たとえばこのように
public synchronized void insertAtHead(Linkable node){
node.setNext(head);
head=node;
}
なっていて、これはオブジェクトの比較ではないんでしょうか?

0051デフォルトの名無しさんNGNG
>>50
> head=node;
は比較じゃなくて代入でしょ。
0052山崎渉NGNG
(^^)
005350NGNG
すみません、
なんとなく分かりました。
オブジェクトもなんらかの値をもっているということなんでしょうか。
0054デフォルトの名無しさんNGNG
>>53
誰にも分からないJava講座の
ttp://park.ruru.ne.jp/ando/work/who/html/cc.html#doc1_2
あたりを読むと納得がいくかもしれん。要はポインタ同士の代入だわな。
005550NGNG
>>54
どうも
自分でコードをを書いてみてそれがぐうーっと動く感じがほんのり分かった感じです。
0056超初心者NGNG
質問です。
Windowsでjavaを利用したネットワークシステムで、
クライアントのアプリケーションを実行、操作するようなシステムを作りたいと思っているんですが、
可能でしょうか??
良い方法かホームページなどあったら教えてください。
お願いします。
0057デフォルトの名無しさんNGNG
スレッドにsynchronizedをつけるのとオブジェクトにsynchronozedをつけるのと
何が違うのか教えてください。
オブジェクトをロックするってことは同じだと思うのだが…
0058デフォルトの名無しさんNGNG
> スレッドにsynchronizedをつける

???
0059デフォルトの名無しさんNGNG
>>57
?
0060デフォルトの名無しさんNGNG
>>56
質問が漠然としすぎてる…
0061デフォルトの名無しさんNGNG
>>60
要は相手のPCに常駐させて寝てる間にいろいろしちゃおうって話だろ。
学校で習ったjava使って。
0062デフォルトの名無しさんNGNG
>>61
VNC みたいな奴?
IBM が何か作ってなかったっけ?
0063デフォルトの名無しさんNGNG
>>62
VNC for Javaってのが存在したと記憶。
006462NGNG
いちおう悪いことに使う気は全くなかったのですが。。。
まさにそのVNCみたいなやつです。
0065デフォルトの名無しさんNGNG
すいません、java で vb の #if みたいのってどうやってやるんでせう…。
0066デフォルトの名無しさんNGNG
>62
サーバ側でポート開いてメッセージ待って、メッセージを受けてコマンドを実行して、結果を返せばいい話?
下記のネットワーク系のAPIをしばらく眺めて、気になる単語を検索し勉強して、計画が出来たらここで立案してみ。
採点・修正したげるから。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/net/package-summary.html

>65
vbはよく知らんが、それって
#if DEBUG
とか書く奴?だったらCのプリプロセサと同じだな。
Java にはそんなものは美しくない物は無い。
適当な static クラスを用意して、そこから定数を読むようにすれば
コンパイル時に最適化されて同様の効果になる。
0067デフォルトの名無しさんNGNG
>>56
RMIとかCORBAで検索をかけるとよろしいかと。
ほかに「分散コンピューティング」「エージェント指向」
などの言葉とJavaで複合検索するのもおすすめ。
006865NGNG
>>66
なるほどわかりやした。m(__)m
0069デフォルトの名無しさんNGNG
>66 の >62 は >56 の間違いです。あと偉そうですいません。
0070デフォルトの名無しさんNGNG
4nd・・(ププッ
0071デフォルトの名無しさんNGNG
>>57
スレッドににsynchronizedをつけるとは、
具体的にいうとどういうことなのでしょうか。
007256NGNG
ありがとうございます。
といあえずこれらを参考になんとか勉強してみます。
またわかんないとこあったらお願いします。
0073デフォルトの名無しさんNGNG
>>57
質問がアバウトだけども、synchronizedは、要するにオブジェクトの変遷を同期化します。(この答えもアバウト?)
スレッドだろうがなんだろうが、です。
0074デフォルトの名無しさんNGNG
>>57
要するに「2台同時に突っ込まれて来ても困るドライブするー」において、先に来た1台がなんかしてる間、
後の1台(以上)の車を待たせておくって事。
0075デフォルトの名無しさんNGNG
質問します
GUIアプリケーションでフレーム(ウィンドウ)部分を
表示せずに、中身だけ表示するにはどうすればいいですか?
0076デフォルトの名無しさんNGNG
>>75
質問されている絵ヅラが浮かびません。
0077デフォルトの名無しさんNGNG
>>75
java.awt.Window とか javax.swing.JWindow 使うとか?
0078デフォルトの名無しさんNGNG
>>75
Applet
0079デフォルトの名無しさんNGNG
>>76
わかりにくかったみたいですね。
すみません
例えば、デスクトップ上に、ボタンが浮かんでるような
状態にするとかという意味です。
>>77,78
できればもう少し、詳細にお願いできますか。
それだけでは、想像もつかないので。
0080デフォルトの名無しさんNGNG
>>79
頼むからJavaで訳わからんもん作るのやめて下さいよ・・・。
良くも悪くも箱庭言語なんですから。
0081デフォルトの名無しさんNGNG
つまり、無理ってことでしょうか。
それならあきらめます。
0082デフォルトの名無しさんNGNG
>>80
禿同
0083デフォルトの名無しさんNGNG
そもそもJavaでGUIアプリを作るほうが愚か。
0084デフォルトの名無しさんNGNG
意地悪せずに、教えてやれよ。
地に落ちたJava厨やJavaプログラムの外聞なんて、
今更気にしたってしょうがないだろ。
デスクトップ上に、ボタンが浮かんでるようなアプリ、
Javaらしくて最高じゃん。
0085デフォルトの名無しさんNGNG
>>83
その手の話は
http://pc3.2ch.net/test/read.cgi/tech/1042268758/l50
でお願いします。
0086デフォルトの名無しさんNGNG
>75 ほらよ。

import javax.swing.*;
import java.awt.*;

for(int i=0;i<768;i++){
JWindow w = new JWindow();
w.setLocation(i,i);
w.setSize(100,100);
w.getContentPane().add(new JTextField(),BorderLayout.CENTER);
w.show();
}

一応言っておくが、2行冗談が入ってるからそのまんま実行するなよ。
0087デフォルトの名無しさんNGNG
>>79
APIドキュメントでも見て頑張ってください。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Window.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JWindow.html
0088デフォルトの名無しさんNGNG
いろいろありがとうございました。
参考にしてもう少しがんばってみます。
0089デフォルトの名無しさんNGNG
デスクトップ上にボタンが浮かんでるソフト。見たい、見たいぞよ。
他人のパソコンにインストールして、一度使ってみたいぞよ。
0090デフォルトの名無しさんNGNG
良いじゃないか別に何だって…
0091デフォルトの名無しさんNGNG
>>89
>>86のコードに5,6行つけくわればできる。
つーかじっさいにいま作って実行してみたがすごい光景だ…。

>>84はJavaらしいというけれど、
なんかこれ、俺のイメージするJavaアプリとは
随分と、かけ離れているんですが…。絶句というかちょっと驚いた。
0092デフォルトの名無しさんNGNG
>>79 わざわざそういうものをJavaでつくるということは
Windows以外の環境でもそれを実現させたいわけですか?
Javaフリークな私からすれば
Windows以外でも動くアプリ作って普及させて欲しいなとは思いますが。

>>80 >>84 Javaで作っておけば将来そのプログラムが長生きする可能性が
残るから、まあいいのではないかと。
009379NGNG
>>92
Javaで作ってる理由は、Javaの勉強のためという以外に、
特に深い理由はありません。
0094デフォルトの名無しさんNGNG
>>93
勉強のためとの事なので、念のため。
考え方として、>>86のソースにも書いてあるが(@see javax.swing.JWindow)「Windowが無い状態」でも、
その「コンテナ」は必要。場合によって、それを見せないだけ。あるいは、見えないようにするだけ。
と、考えてみるべし。

ちなみにC/C++でWin32プログラム作る時も同様。
0095デフォルトの名無しさんNGNG
スレ違いかもしれんが

> ちなみにC/C++でWin32プログラム作る時も同様

何か誤解してると思う。
0096イヌNGNG
最近、weblogicでJSPやってます。プログラムを途中で終了させたいと思い、
System.exit()を使ったのですが、weblogicごと落ちてしまいます。
Java VMの処理を終了する、とはそういうことなのですか…。
JSPでプログラムを終了させるには、通常どうするものなのですか??
スレ違いかも知れませんが、ご存知の方、どなたかお助けくださいませ。
0097デフォルトの名無しさんNGNG
>>96 Tomcatなら startコマンドで、起動、stopコマンドで停止だが。
OSは何? WinNT系ならコントロールパネルのサービスで起動と停止ができるんでない?
最近のはOSが起動すると同時にServletContainerも起動するみたいだ(Tomcatインストーラの拡張子exeかmsi版)。

終了ってどういうもの?
ブラウザで表示するだけなら、終了しないでほっといていいんでない?
0098イヌNGNG
>97
どうもありがとうございます。
でも、そういうことではなく、JSPのソース内で、文字列の表示と
プログラムの終了を、if()で切り替えたいのです。
if(xxx!=null){
  %>文字列表示<%
}else{
  このスクリプトを終了させたいけど、
  System.exit(0)は使えないみたい
}
%>まだまだ続きはあるの<%
…
…
こんな場合、どうすればいいのでしょう。
System.exit()は、確かにプログラムは終了するのですが、
weblogicごと落ちてしまうのです。ちなみに、OSは、unix系です。
0099デフォルトの名無しさんNGNG
>>98
returnしてしまってその後の処理を中断するとか、
エラーページ送出にディスパッチするとか、じゃないのかね。
0100javax.soundNGNG
JAVAでボタンを押して音を鳴らすにはどうしたらよいでしょうか?

au1 = getAudioClip(getDocumentBase(),"ファイル名.mid");

という部分で何度やってもエラーが出てしまいます


0101デフォルトの名無しさんNGNG
>>95
スレ違いだから別にいいけど、なんで?

0102デフォルトの名無しさんNGNG
>>100
ちなみに
java.applet.Applet#getAudioClip(url,name)の事で、そこで使用しているインスタンスは、
java.applet.AudioClipだよね?(ちゃんと書くように)

つーか、それってMIDIも大丈夫なんだっけ?Appletは良く知らんけど。
0103デフォルトの名無しさんNGNG
"Audio","Clip"って、"*.wav"じゃなかったっけ?
0104javax.soundNGNG
java.applet.AudioClipです(すいません)

auとmidは大丈夫らしいですけど・・・

0105デフォルトの名無しさんNGNG
>>100
SecurityExceptionじゃないだろうな?
0106デフォルトの名無しさんNGNG
ていうかエラーの内容書かないていうのは、俺らに対する挑戦か。
0107デフォルトの名無しさんNGNG
>>106
そんなところだ。
0108デフォルトの名無しさんNGNG
>>100
>>1に書いてあることをよく読まれるとよいかと。
0109デフォルトの名無しさんNGNG
>>108
読んだけど答えが書いてません。
0110デフォルトの名無しさんNGNG
>>109
>質問のさいは状況が相手に伝わるように書きましょう。
>エラーコードなどもしっかり書いたほうが適切な回答を得られます。

>>100のような質問の仕方では適切な回答を得るのは難しい。
0111デフォルトの名無しさんNGNG
>>110
何真面目に答えてんの?
>>109見る限り逆ギレするタイプだろ。放置。
0112デフォルトの名無しさんNGNG
>>111
109と100は別人と思われる。
100、104の名前欄を109と較べて見れば
その可能性が高いとみるほうが自然。
0113デフォルトの名無しさんNGNG
もちろん>>100のような質問では回答のしようがないことには同意だが。
0114イヌNGNG
>99
関数ではないので、returnは不可能です。
そして、他のページにも飛びません。
正常終了で、もう出力はないときに、どう終了すればいいのか
知りたいのです…
もちろん、なければ関数化するとか、ifの構造自体を変更する、
という手は考えています。
0115デフォルトの名無しさんNGNG
>>110 >>111 >>112
もうそろそろ反省しただろうから答えてあげたら?
0116デフォルトの名無しさんNGNG
>>115
どんなエラーが出るの?それ先に書いてよ。
0117デフォルトの名無しさんNGNG
>>114
JSPは関数だよ。ていうかやってみたの?
0118デフォルトの名無しさんNGNG
>>114

異常時に途中で終了するのは仕方ないが、正常時に途中で終了するような
処理は書かない方が身のためだぞ。

>>117

JSPは関数というのも問題があると思うんだけど。
0119イヌNGNG
>117
return で終了できました。どうもありがとうございました。
コンソールアプリ同様、main()が呼ばれている感じなんですね。
その内容、どこで定義されているのでしょうか?
ご存知なら、教えていただけますか?

0120U ◆CZtFsGiu0c NGNG
>>119
JSPはサーブレットに変換されます。通常そのサーブレットはHttpJspPageを
実装したもので、HTMLべた書き部分、スクリプトレットなどは_jspService
メソッド内に展開されます。

Weblogicだとどこにあるかわかりませんが、どこかにJSPをサーブレットソース
に変換したファイルがあると思いますから、探してみてください。

0121デフォルトの名無しさんNGNG
JDK 1.1 API ドキュメントの翻訳者は 2ch ねらということが判明

http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%81%AB%E3%81%82%E3%82%8B%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%85%A8%E9%83%A8%E7%A9%BA%E3%81%AB%E3%81%97%E3%82%8B%E3%80%82
0122デフォルトの名無しさんNGNG
暇つぶしに標準配布の Java ドキュメントあさってたら下のようなものを
見つけたけど、誰か使ったことある人いたら使い物になりそうな出来か
教えてくだされ。

> MIF ドックレット - 実験的 - MIF (Maker Interchange Format) 形式で
> API ドキュメントを生成します。 これらの MIF ファイルは、Adobe
> FrameMaker (または fmbatch) で開くことができ、またオプションで PDF、
> PS、Microsoft RTF、Microsoft Word、または WordPerfect 形式に変換
> できます。 Java 2 SDK には含まれていません。
0123イヌNGNG
>120
どうもありがとうございました。スッキリしました。

続いて初歩的な問題かもしれませんが、質問させてください。
StringBufferは、配列にすることはできますか?
0124デフォルトの名無しさんNGNG
>>123
StringBuffer stringbuf = ....;
char[] array = stringbuf.toString().toCharArray();

とかって事ではなくて?
0125デフォルトの名無しさんNGNG
Stringの中に数字が入ってるかどうかを調べるには
どうすればいいでしょうか?
ご教授ください。
0126デフォルトの名無しさんNGNG
>>125
数字ってのがどの程度の塊であるのか知らんけど、

for(int i = 0; i < str.size() ; i++){
 if( Character.isDigit(str.charAt(i)) )
  return true;
}
return false;

とか やるとか。
0127デフォルトの名無しさんNGNG
>>126
>for(int i = 0; i < str.size() ; i++){
じゃなくて
for(int i = 0; i < str.length() ; i++){
だった…
0128デフォルトの名無しさんNGNG
>>125
String str; が数字だけかどーかを調べるんだったら
try{
 Integer.parseInt(str);
 return true;
}catch(NumberFormatException e){
 return false;
}
とか。例外処理機構使うからアレだけど。
0129デフォルトの名無しさんNGNG
>>126
おっさん、true と false + 否定が逆だろう。それだと最初の 1 文字目が数字なら
必ず true で返るぞ。

俺はこうするが

try{
  Integer.parseInt(str);
  return true;
} catch(NumberFormatException ex){/* */}
return false;
0130デフォルトの名無しさんNGNG
>>126-129さん
レスありがとうございます。
非常に参考になります。

>>128さん
>例外処理機構使うからアレだけど。
とありますが、例外処理を使うと何かデメリットがあるのでしょうか?
0131デフォルトの名無しさんNGNG
配列についての質問です。
基本データ型の配列の場合は下のようにObject型の変数で受け取れるのに
int[] sizes = {2, 4, 6, 8};
Object obj = sizes;

参照型の配列の場合には下のようにObject型の配列で受け取るようにするのは
どうしてでしょうか?
Test[] test = new Test[4];
Object[] obj2 = test;
0132デフォルトの名無しさんNGNG
>>129
>>126 のは一文字でも"数字"が入っている場合は true、
という意図で書いてるのでアレでおっけーです。
0133デフォルトの名無しさんNGNG
>>131
>参照型の配列の場合には下のようにObject型の配列で受け取るようにするのは
>どうしてでしょうか?
何を疑問に思ってるのか良くわからないっす…

ちなみに
Test[] test = new Test[4];
Object obj2 = test;
でもコンパイル通るでしょ?
0134デフォルトの名無しさんNGNG
>>130
>例外処理を使うと何かデメリット
とりあえずJIT様が最適化しにくいってのと
例外処理自体が結構重いってので速度面でデメリットがあります。
0135デフォルトの名無しさんNGNG
>>134
レスありがとうございます.
勉強になりました。
0136デフォルトの名無しさんNGNG
>>131
JavaのすべてのクラスはObjectクラスから派生されているんじゃないの?
0137デフォルトの名無しさんNGNG
>>131
プリミティブタイプはObjectのサブクラスではないので、
int[] sizes = {2, 4, 6, 8}; のような「intの配列」は
「Objectの配列」として扱うことが不可能だからです。

しかしプリミィブタイプ以外のJavaにおけるすべてのタイプはObjectのサブクラスなので、
Test[] test = new Test[4]; のような、「プリミティブタイプ以外の配列」は
「Objectの配列」として扱うことができるわけです。

故に、
>配列についての質問です。
>基本データ型の配列の場合は下のようにObject型の変数で受け取れるのに
>参照型の配列の場合には下のようにObject型の配列で受け取るようにするのは
>どうしてでしょうか?
と尋ねるよりは、むしろ、
基本データ型の配列の場合は「Object型の配列」の変数で受け取れないのはなぜでしょうか
と尋ねるべきかと。

敢えて>>131の質問に答えるのなら
「参照型の配列(つまりプリミティブタイプ以外のタイプの配列)」の場合には
Object型の配列で受け取ることが可能だから、Object型の配列で受け取るし、
プリミティブタイプの配列の場合は、Object型の配列で受け取ることが不可能だから、
Objectで受け取っているということです。
0138デフォルトの名無しさんNGNG
>>136

言いたいことは分かるが、その表現は正確でないです。
インスタンス・オブジェクトはjava.lang.Objectを継承しているが、Classオブジェクト
はjava.lang.Classを継承しています。
0139デフォルトの名無しさんNGNG
>>138
私は>>136ではないが
java.lang.Classはjava.lang.Objectのサブクラスではないか?

java.lang
クラス Class

java.lang.Object
|
+--java.lang.Class

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Class.html
Class (Java 2 プラットフォーム SE v1.4.0)
0140138NGNG
>>139

そのとおりでした。失礼しました。
0141デフォルトの名無しさんNGNG
131じゃないけど、
なんでプリミティブタイプの配列はObject型で受け取れるの?
0142デフォルトの名無しさんNGNG
>>141
Javaにおいては、
「配列はオブジェクトとして扱う」という規則があるから。
もちろん、その配列の中に格納されているプリミティブタイプ自体はObjectではないので、
プリミティブタイプの配列はObject[]に格納することは不可能。
でも上記の規則によってプリミティブタイプの配列自体は、
これも一種の配列なのでObjectに格納することが可能。

ああややこしい。
0143デフォルトの名無しさんNGNG
公開されているソースを自分ので動かしたいのですが、
コンパイル時点で「推奨されないAPIを使用」とか
出てきてエラーになってしまいます。
何か別にすることはあるのでしょうか?
初心者なのでお願いします!
0144デフォルトの名無しさんNGNG
>143
公開されてる場所に情報があるかもしれないので確認せよ
あとそのような質問の仕方では誰も対応できない
あなたがどんな環境でどんなソースをコンパイルしているのかわからないから
質問するときは相手の立場にたってしなさい
0145デフォルトの名無しさんNGNG
>>143
javac -deprecation **.java
0146デフォルトの名無しさんNGNG
>>143
ここなどを見られると自身で対処できるようになるかと。
http://java-house.jp/ml/archive/j-h-b/044529.html
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/solaris/javac.html
0147143NGNG
>>144
すみませんでした。
ttp://sula0015.soc.shimane-u.ac.jp/socinfo/lang/java/gameland/games.htm
のページの「カギを見つけて脱出せよ」というゲームです。
ソフトはsdk1.4.0を使っています。
使われているものと違うとコンパイルできないのですか??

>>145
何やら10のエラーが出てきちゃいました…。
0148143NGNG
>>147
ありがとうございます!
推奨されないクラスとかってあるんですね?
ソースがまだ読めないので…
0149146NGNG
たいして変わりはしないとおもうが、
>>146のリンク先よりは、おそらくこちらのほうがよかったかな。
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/javac.html

>>147
そういうことなら、もしかすると
javac -target 1.1 コンパイルしたいクラスのファイル.java
だけでもどうにかなるかも。
0150146NGNG
Javaも、1.0から1.1にバージョンアップしたときに大きく変わりましたし、
1.1から1.2のバージョンアップのときにも、また大きく変わりました。

こういったバージョンアップのさいに、
「推奨されないAPI」が生まれるわけです。

これから勉強するのなら、まあマイクロソフトのVM用や、
OS X以前のマッキントッシュ用にアプレットを作るのでもない限り、
せめて1.2以降のソースで学習したほうがよいかと。

仕事でアプレットを作らなければならないとかいうことでないのなら、
個人的にはアプレットよりもJava Web Startのほうがおもしろいかと。
0151デフォルトの名無しさんNGNG
ちょっと前にJava始めました。
入門書に書いているソースどおりに書いて、Applet作ったんだけど,
appletviewerでは表示されるのに、なぜかhtmlを開いた時は灰色でしか表示されません。
MicrosoftVMもJavaVMもDLしているし、他に手のつけようがありません。
だれか表示できる方法を知っていたら教えて下さい。
0152デフォルトの名無しさんNGNG
>151
>MicrosoftVMもJavaVMもDLしているし、
両方あってもいいわけじゃないんだけど。
とりあえずJavaVM(sun製の奴か?)を使うように設定する。
それから、コンソールを表示してエラーログを見て対策を自分で考えろ。
それでも分かんなかったらそのログをここに貼れ。
0153146NGNG
>>151
おそらくそれも>>149にある
javac -target 1.1 コンパイルしたいクラスのファイル.java
で解決するかと。

現在のjavaコンパイラは、
そのままでは1.1用のバイトコードを生成してくれないのです。
1.1用のバイトコードを生成するためには
-target 1.1というオプションをつけてコンパイルしてやる必要があるのです。

灰色の画面しか現れないのは、おそらくブラウザが使用するJavaのVMが、
マイクロソフトのVMになっているからでしょう。
マイクロソフトのVMのヴァージョンは1.1なので。
0154デフォルトの名無しさんNGNG
>>151
MSJVMの場合は InternetExplorer で
ツール->インターネットオプション->詳細設定->MicrosoftVM->Javaコンソールの使用(再起動が必要)
にチェックすれば
表示->Javaコンソール
でJavaコンソール見られるので
(以下 >>152 の後半と同じなので略)
0155デフォルトの名無しさんNGNG
>>149
ところで「推奨されないメソッド」って
-target 1.1 でどーにかなるんだっけか?
0156ケイNGNG
はじめまして、ケイと申します。
いきなりの質問すみません。
5*d^2x/dt^2+2*dx/dt+3x=0 t=0の時 x=1 dx/dt=0
というのがあたえられていて、ヒントとして
dx/dt=y
dy/dt=-2y/5-3x/5
t=0〜50の範囲で時間間隔を1秒おきでxを求めたい
のですが正直解法が全くわかりません。これをオイラー法、2次のルン
ゲクッタ法で解きたいのですが、誰か分かる方はいらしたら、どうか
よろしくお願い致します。ちなみにこの二つの公式は分かるのですが、
実際どのようにつかうのかが分かりません。
0157146NGNG
>>155
この場合の推奨されないAPIは警告にすぎずコンパイル自体は通るので、
なにか問題があるとしたら生成されるバイトコードと
アプレットを実行するブラウザのVMのバージョンの違いとみた次第。

>>156
>t=0〜50の範囲で時間間隔を1秒おきでxを求めたい
tを秒数とするのなら、
tを引数としxを返り値とするメソッドを作り、
あとはforループでそのメソッドを呼び出し
結果は配列にでも格納してゆけばよいのでは?

for (int t = 0; t <= 50; t++) {
x[t] = method(t);
}
0158デフォルトの名無しさんNGNG
>>156 数値計算か。
大学で数値計算の授業かなにかの課題で出そうなネタだな

アルゴリズム関係か
C言語だけど、この本なかなかいいよ。ポインタ演算とか(殆ど?)使ってないから
すぐにJavaに変換できるよ。
http://www.sra.co.jp/people/miyata/algorithm/

Javaならこういうのあるよ。この人も凄いね。
CCSドキュメントに載ってないかな?
http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/java/numerical1.html

まあ、Javaは数値計算に弱いっす。FortranやMATLAB,Mathematicaには勝てんかな?
Javaで数値計算の本なら2冊ほどあったと思った。片方はOO殆どつかってなくてつかえんかったよ。
C言語でできることをそのままJava化しただけでOOの特性生かされていないのがあったよ。
どうでもいいことまで書いてしまいました.....。ま、がんばってちょ
0159143NGNG
>>157
いろいろ試してみたのですが原因がわかりません…。
1.1を使ってコンパイルしてもAPIの警告がでてしまいました。
でappletviewerで見ても動きません。
1.4.0の新しい書き方があるのでしょうか?
0160デフォルトの名無しさんNGNG
>>159
Javadocに、これの代わりに何々をしようするとか書いてあるよ。
書いてないことも結構あるけどね。
0161146NGNG
>>159
動かなかったか。ごめんね。
ところで下からdungeon.mapとかの必要なファイルは
ダウンロードしてくるなり、自分で生成するなりはしたんだよね?
http://sula0015.soc.shimane-u.ac.jp/socinfo/lang/java/gameland/dungeon/dungeon.map

うちでは1.4のコンパイラでコンパイルし、
(もちろんコンパイル時に警告はでたけど)どうにか動いたのだが、
もしなにをやっても動かないようなら、
JDK1.02よりもあたらしいバージョンのJavaで書かれたソースを探してきて
それで勉強したほうがいいかと。
0162143NGNG
>>146
dungeon.mapの使い方が分かりません…。
できれば教えてください、お願いします!
0163146NGNG
>>162
ただダウンロードしてきて、
生成されたdungeon.classとおなじディレクトリに置いておくだけ。
あとkero.gifの画像ファイルのダウンロードも忘れずに。
http://sula0015.soc.shimane-u.ac.jp/socinfo/lang/java/gameland/dungeon/kero.gif

でも、最初はもっと簡単なプログラムで勉強したほうがよろしいかと。
0164146NGNG
それと>>154などを参考に、
実行時に出力されるエラーログを見たほうが解決は早かったかと。
0165143NGNG
>>146
他のアプレットは同じようにしたら動きました!
基礎的なことがまったく分かっていませんでした。
ありがとうございます
dungeon.mapは拡張子はgifでいいのですか?
ファイルで名前を付けて保存しちゃったのですが…
0166146NGNG
>>165
dungeon.mapの拡張子はmap。
"dungeon.map"というファイル名ね。

最初はもっと簡単な、たとえば画面に
Hello Worldと表示したり、
あるいはgifかなにかの画像ファイルを
描画するようなプログラムから始めたほうかいいとおもうよ。
0167143NGNG
>>146
はい…本当はそうしたいのですが、
金曜までにゲームを作れ!という課題がでてるのです。
内外設計書まで書いたのですが、JAVAの知識が無さすぎました。
そこでテンプレを探してたのですが、まったく動かず…
前にじゃんけんゲームのテンプレで他のゲームを作れたので、
今回もと思ったのです。。
0168デフォルトの名無しさんNGNG
>>167
どんな規模でどんな内容のゲーム?
オシエテクリ
0169143NGNG
>>168
パックマンに近いゲームを作ろうとしています。
ある程度ゲームなればいいらしいっす。
でもネットにソースが落ちて無いんですよね…
0170デフォルトの名無しさんNGNG
7行スレにパックマンなかったっけ?
0171143NGNG
>>170
え!7行スレってどこですか??
0172デフォルトの名無しさんNGNG
http://pc.2ch.net/tech/kako/984/984182993.html の 905。
が、解析するより自分で考えた方が早いと思われ。
0173デフォルトの名無しさんNGNG
>>172
パックマンなら中学の時、2時間(部活)で作った事ある。
0174デフォルトの名無しさんNGNG
クライアントスレで拾ってきたんだがこいつは綺麗だね
http://www.incors.com/alloylnf/jws/alloyDemo.jnlp
0175デフォルトの名無しさんNGNG
つーか、初心者大歓迎!だから別にいいんだが、そんな切羽詰ってるなら、
2chでレス待つより先に調べる場所なり資料なりあるんじゃなかろうか、と言ってみるテスト。
「こうすれば動く」からこう書くのでなく、「これが動く理由はこうじゃないかな?」っていう
Try&Errorが自分を育てるYO。

あと、ゲーム作りのポイントは言語がどうのというより、まずアルゴリズムとその土台。
「やり易い環境」「やる辛い環境」(VBなら楽だけど、Javaだと大変。あるいはその逆)てのがあるので、
その辺を今後はじわっと考えて、いろいろ試すといい。
0176イヌNGNG
以前、同じ質問をさせていただいてますが、改めてもう一度させてください。
StringBuffer型の配列を作ることは、可能ですか??

int[] aaa = new int[10];

みたいな感じで、

StringBuffer[] xxx = new StringBuffer......

のようなことができたらなーと夢見る今日この頃。
0177デフォルトの名無しさんNGNG
StringBuffer[] xxx = new StringBuffer[10];

でOKでないの?
0178デフォルトの名無しさんNGNG
>>174 おお、ついにJavaもここまで来たか。
javaw.exeとJavaWebStartでこういうことができるとは知らなかった。
あのアルファチャンネルのようなMacのようなガラスのように透き通るボタン
グラデーション、しかもGUIなのに遅くない。

テーマも変えられるのははじめてみた。
Swingというと、今まで紫色のSolarisカラーばかりだった。
この色をみただけでSwingを嫌がる人もいたのではないか、と思う。

>>177 ついでに説明するなら
for(int i = 0; i < xxx.length; i++){
xxx[i] = new StringBuffer();
}
も加えておいとくべきでしょ
017928NGNG
中間報告です。

> 38
> Store store = sess.getStore("pop3");
> を、"imap"に変更すりゃいいんじゃないの?

とりあえず、これでIMAPサーバとの通信はできました。
んで、メールも取得できるんですが
ttp://www.hellohiro.com/javamailpop.htmのサンプルだと、
"text/html"メールの際にエラーが出ちゃいます。

んで、GikoMailのメール取得部分を調べながらコツコツやってるんですが
うまくいかなくて困っております。

後、JavaMailのリファレンスはココに乗っていました。
日本語なんで重宝しています。
ttp://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/
0180デフォルトの名無しさんNGNG
単純な質問で申し訳ないのですが、
別のファイルで作ったクラスを読み込むには如何したら良いのでしょうか?
0181デフォルトの名無しさんNGNG
>>180
InputStream in = new FileInputStream("Hoge.class");
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
while(true){
int len = in.read(buffer);
if(len < 0) break;
out.write(buffer, 0, len);
}
byte[] content = out.toByteArray();
0182180NGNG
>181

えーっと、これってファイルを読み込んでるんですよね?
説明のしかたがマズかったです。スマソ。

File [SmpMain.java]

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

File [SmpClass.java]
public class SmpClass {
 private int val;
 
 SmpClass{
  val = 0;
 }
 
 public void subClass() {
  System.out.println(val);
 }
}

こー言った場合に、mainでsubを利用するにはどうしたら良いのかなーと・・・
0183デフォルトの名無しさんNGNG
>>180
二つのファイルを
おなじディレクトリにおいておくだけでいいよ。

// A.javaのファイル
public class A {
 public B b = new B();
}

// B.javaのファイル
public class B {
}

/*
A.java と B.javaをおなじディレクトリにおいて、
javac A.java をコマンドラインから入力すると、
コンパイラが自動的にB.javaのファイルも読み込んでコンパイルしてくれる。
*/

さらに詳しいことが知りたくなったら、
「パッケージ」とか「クラスパス」とかのことを調べてね。
0184180NGNG
>183

ヽ(´ー`)ノ ワーイ
0185デフォルトの名無しさんNGNG
>>182
えーと、おれが説明したようなことではなくて、
インナークラスの話か。

subというのはsubClassのことていいのかな?
0186180NGNG
そです、サブクラスです。

インナークラスって言うんですか。
勉強不足でスマソ
0187デフォルトの名無しさんNGNG
>>185
クラスが何かもわかってなくて、
メイン処理とそこから呼び出すサブ処理というようにわけているだけかと。
0188デフォルトの名無しさんNGNG
>>186
いや失礼。よくよく見るとインナークラスではないんだな。
>>183に書いてあるように、ふたつのファイルを同じディレクトリに入れておいて
あとはFile [SmpMain.java]をこう書くだけでいいよ。

public class SmpMain {
 public static void main(String[] args) {
  SmpClass smp = new SmpClass();
  smp.subClass();
 }
}
0189デフォルトの名無しさんNGNG
あとFile [SmpClass.java]だが、
これの4行目が、もしコンストラクタを書きたかったのなら、
 SmpClass{ 
ではなく
 public SmpClass() {
に修正してください。
0190180NGNG
> 183, 185

ウマーく行きました。
サンクスコ。
0191デフォルトの名無しさんNGNG
マウスを使って絵を描くプログラムはできたんですけど、
最大化や画面からでた時、描いた線が消えるんですよ。
再描画って、どうしたらできますか?
おしえてください。
0192デフォルトの名無しさんNGNG
http://www6.ocn.ne.jp/~endou/index2.html
    ★YAHOOOプロフィール★
0193デフォルトの名無しさんNGNG
>>191
描画した画像のデータをクラス内部に持たせておき、
swingならpaintComponent()、AWTならpaint()内に、
その画像データをもとに、画像を描画するプログラムを書く。
0194デフォルトの名無しさんNGNG
>193
全部の線とか○とかを描き直さなきゃいけないのでしょうか
0195イヌNGNG
>177, 178
ありがとう!!StringBufferが配列になったワン!!
0196デフォルトの名無しさんNGNG
ある時間がきたら指定したプログラムを動作するようなプログラムを
作りたいんですがどうしたらいいのでしょうか・・。
またこのプログラム本体にパラメータの受け渡しもしたいのですが無理でしょうか?
0197デフォルトの名無しさんNGNG
>>196
ある時間までぼーっとしてるプログラムを書けばいい。
0198デフォルトの名無しさんNGNG
私はcronを利用してEJBを起動させてました。
アプリケーションサーバでもそうした機能を搭載しているものも
あるようです。
自力実装するのであれば、起動時に次のスケジュールの時間まで
Thread.sleep()させるというやり方でできるかもしれませんね。
まぁうまくおきてくれるとは限りませんが・・・。
0199デフォルトの名無しさんNGNG
>193
なんとなくですが、わかりますた。
ちなみに私はチョソですが、何か?
0200デフォルトの名無しさんNGNG
>>198
cron のが良いでしょうね。

Javaでやる場合はこんな感じっすかね?
Calender time;//指定時間
long sleepTime = time.getTimeInMillis() - System.currentTimeMillis();
while( 0 < sleepTime ){
 try{
  Thread.sleep( sleepTime );
 }catch( InterruptedException exception ){
 }
 sleepTime = time.getTimeInMillis() - System.currentTimeMillis();
}
....; //プログラムを実行。
0201デフォルトの名無しさんNGNG
>>194
うん。

>>196
Timerを上手に使う。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Timer.html

プログラム本体へのパラメータの受け渡しは、
java プログラム名 引数1 引数2 引数3...(以下すきなだけ)
これでmain(String[] args)の
String args[0]に 引数1が入力される。
0202196NGNG
197-201ありがとうございます。
cronって初めて聞きました、それを使ったほうがいいのですか?
JSPからパラメータをつけそのプログラムに渡して
また時間がきたら別のJSPにパラメータを渡して起動しようとしたいのですが
JSPから.javaを呼び出しパラメータを渡せばいけるのかな。
timer関連勉強してみます^^
0203デフォルトの名無しさんNGNG
swingだと
オフスクリーンに書いておいてsetIconで描画すればいいんだよ。
paintComponent()なんて使わなくていいYO!
0204デフォルトの名無しさんNGNG
↑遅いいくない?

Image img=crateImage(100,100);
Graphics g=img.getGraphics();
g.drawRect(0,0,99,99);
g.dispose();
ImageIcon ii=new ImageIcon(img);
setIcon(ii);

だぞ
0205デフォルトの名無しさんNGNG
>>203
真性発見、記念age
0206山崎渉NGNG
(^^)
0207デフォルトの名無しさんNGNG
質問すたいことがあります。
System.gc()を使えば、参照されていないオブジェクトを
本当にすべて掃除してくれるのですか?
自作のJavaアプリを長時間動かしつづけていると次第に重たくなってしまう
のです。それでSystem.gc()を入れてみたのですが一向に軽くならないです。
一言でよいので助言ください・・・・・・・
0208デフォルトの名無しさんNGNG
>>207
じゃあ参照残ってるんだろ。
0209デフォルトの名無しさんNGNG
実行時のプロセスIDを取得することは可能ですか?
シェルの機能で渡すことはできるようですが、Windowsでは?
0210デフォルトの名無しさんNGNG
>>207
Runtime#maxMemory()
Runtime#freeMemory()
Runtime#totalMemory()
等を使ってgc前後のメモリ量みてみるとか。
0211207NGNG
>>210
起動時にメモリを64MB取って
それを試してみたんですが、だんだん
47→32→14→5→1・・・
と減っていくのです。一応15MBくらいまでは回復するようですが
それ以上は回復せず、1〜15MBあたりを行ったり来たりしています。

static int[] dat=new int[100000];
dat配列の中身を操作し、中身が変更されるたびに
VectorクラスへaddElement()やremove()しています。
0212デフォルトの名無しさんNGNG
>205
おいおい、一番厨房なヤツがなに言ってんだ?プ
0213デフォルトの名無しさんNGNG
>>211
で、自分で使ってるメモリ量は?
dat は一個で 400,000バイト使うけど。

dat と同じものが100個ぐらいあって、
常に新しい dat を生成 & 古い dat を廃棄してる場合は
そんなモンじゃないかと思うけど。
0214デフォルトの名無しさんNGNG
>>211
俺もそんなものだとはおもうけど、
一応、Vectorの現在のサイズなども毎回表示させてみては?
0215デフォルトの名無しさんNGNG
>>213
VectorやJavaの仕組みは分からないのですが、そういうものなのでしょうか?

static int[] dat=new int[100000];
Vector vec=new Vector(); // datを入れるもの
int[] ref;
ref=dat; // 参照

ここでref[100]=123;等、いろいろ代入する。

vec.remove(7); // vecには8個までdatを入れるのでケツの古いものは消す
vec.insartElement(ref,0); // 先頭に新しいdatを挿入する

本当はもっと複雑なのですがやっていることは大体上のとおりです。
vec.remove(7);の部分で参照が外されると思っていたのですが・・・。
0216デフォルトの名無しさんNGNG
↑207の者です
0217デフォルトの名無しさんNGNG
>>215
とりあえず vec.size() で要素数取ってみたら?
0218デフォルトの名無しさんNGNG
>>215
WeakReferenceでも使ってテストしてみては?
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/ref/WeakReference.html

使い方がわからなければ下のページあたりをご参考に。
http://www.wakhok.ac.jp/~tatsuo/kougi99/8shuu/kougi.html
http://www.wakhok.ac.jp/~tatsuo/kougi99/8shuu/jisshuu.html
0219デフォルトの名無しさんNGNG
>>215
vec.size()で調べてみましたが、ようその数は8以上にはなっていませんでした。
-verbosegcオプションでGCの行動を調べてみたると、どうやら上で書いた
Vector等の処理が原因ではなかったようです。すみません。
他の部分で、JDailogをnewで生成したりdespose()で消去を繰り返すと
だんだんとメモリを消費していくみたいです。
JDialogをnew→dispose()のあとにSystem.gc()を行うと
[Full GC[Unloding class sun.reflect.GeneratedSerializationConstructor・・・
なるものが出てきて5〜10MBほど減ってしまいます(減った分は永遠に増えない)

勉強不足です、すみませんでした。
0220219NGNG
↑
× >>215
○ >>214,217です

俺は何をやっているんだろう(泣
0221デフォルトの名無しさんNGNG
>>219-220
まあなにはともあれ貴方の試したかった部分は、
きちんとガーベイジコレクトされているようでなにより。
0222デフォルトの名無しさんNGNG
>>209
プロセスIDは標準ライブラリじゃ取れないんでJNI使うしか無いと思われ。
誰かライブラリ作ってるかも?と思うなら "Java getProcessID" とかでぐぐってみれば見つかるかも?
0223143NGNG
>>175
はい…それが一番なんですよね…。

classファイルをjavaファイルに戻すことは出来るのですか?
0224デフォルトの名無しさんNGNG
>>223
JODE とかで逆コンパイルできます。完全な復元は無理だけど。
http://jode.sourceforge.net/
0225143NGNG
>>224
ありがとうございます。完全な復元は無理ですか…。
課題はやっぱり自分で作ることにしました。
ブロック崩しをパックマンにがんばって変えています!
0226初心者NGNG
Exception in thread "main" java.lang.NoclassDefFoundError...
と出てしまう時と、出ない時があります。
例えば、
class unnko
{
public static void main(string[])
{
Sustem.out.println("unko");
}}
なら実行できますが、
import java.io.*;
class Sample6
{
public static void main(String args[])throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String str1 =br.readLine();
String str2 =br.readLine();
 int sum=0;
sum += Integer.parseInt(str1);
sum += Integer.parseInt(str2);

System.out.println("3つの数の合計は"+sum+"です。");
}}
だと前述のエラーになります。
どうしてなんでしょうか?
ちなみにj2sdk1.4.0_03 です。
ちなみにクラスパスの設定はカレントディレクトリは
含まれています。
厨房ですが、よろしくです。
0227デフォルトの名無しさんNGNG
>>226
>>1-2
0228デフォルトの名無しさんNGNG
>>226
227のいうとおり、きちんと設定できれば、ちゃんと実行できるよ。
がんばってね。
0229デフォルトの名無しさんNGNG
>>226
おそらく大文字・小文字の問題かと。

ファイル名がsample6になっているとか、
コマンドラインからjava Sample6と入力するべきところを
java sample6と入力してしまったのではないでしょうか。
0230初心者NGNG
おお、皆さん優しくてちょと感動しました。

ちなみに問題は解決しました。
クラスパスの設定が、やっぱり間違ってました。

合ってると思ったんだけど。。。
恥ずかしい・・・
0231初心者NGNG
なぜかまた実行できなくなりまそた。
あぁ
おやすみなさい
0232初心者NGNG
そしてまたできなくなりました・・・
とほほ。
寝ます。また来ます。
0233デフォルトの名無しさんNGNG
Java Web Start ってノートンの LiveUpdate みたいな機能も付いているんですか?
023428NGNG
だめだ・・・詰まってしまいました・・・

GikoMailのPOP3.javaを参考に、メールの取得を行おうとしているんですが、
ぜんぜん取れなくて困っています。
昨日一日、ググって見てたんですが・・・モウダメポ


public String dumpPart(Part p) throws Exception {
 StringBuffer sb = new StringBuffer();
 Object o = p.getContent();
 if (o instanceof String) {  // ココは通る
  sb.append((String)o);   // 文字列が空になる
 }
 return (new String(sb));
}
0235デフォルトの名無しさんNGNG
 if (o instanceof String) {  // ココは通る
  sb.append((String)o);   // 文字列が空になる
 } else {
  System.out.println(o.getClass().getName());
 }
023628NGNG
o.getClass().getName() の結果なんですが、java.lang.Stringらしいです。
んで、System.out.plintlnをしてみたのですが、やっぱ空・・・

鬱

0237209NGNG
>>222
Java getpidでググって次のソースを見つけました。
http://java-house.jp/ml/archive/j-h-b/038736.html

一時ファイル名にプロセスIDを使う(日時+プロセスID+ホスト名)を使うのは
常套手段ではないかと思うのですが、Javaな人はどうしてるんでしょうか?

0238203NGNG
>>204
ImageIcon作る分そりゃ時間掛かるが
速度差なんてたかが知れてる。ゲームみたいにリアルタイム重視でも
十分使える。まあクソ重いswingでゲーム作るヤツは神だが・・・

0239デフォルトの名無しさんNGNG
>>237
ふつー File#createTempFile()
0240デフォルトの名無しさんNGNG
数当てゲームで
正解が出るまでに何回数字を入力したかを数えて、「正解がでるまで〜かいかかりました!」というメッセージを画面に表示する。
さらにその回数が5回以下だったら「すばらしい!」10回以上「勘が鈍いですね」
5回と10回の間だったら「普通です」
と表示させたいのですが、ちょっと分からないので教えてください!!
もう最終手段なのでお願いします!!助けて〜。
0241デフォルトの名無しさんNGNG
>>237
一時ファイルくださいプログラムをつくる
一時ファイルなんて母体のOSに結構依存するから
0242209NGNG
>>239
どうも。
Javaな世界ではそれでいいんでしょうね。
割り切ってそうすることにします。
0243デフォルトの名無しさんNGNG
>>236
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/File.html#createTempFile(java.lang.String, java.lang.String, java.io.File)
とか。
0244デフォルトの名無しさんNGNG
数当てゲームで、正解が出るまでに何回数字を入力したかを数えて、「正解がでるまで〜かいかかりました!」というメッセージを画面に表示する。
さらにその回数が5回以下だったら「すばらしい!」10回以上「勘が鈍いですね」
5回と10回の間だったら「普通です」と表示させたいのですが、分かる人いたら教えてください!!
お願いします!!
0245デフォルトの名無しさんNGNG
>>244
指つかえ!!
それで数えろ!
10本あるから数えられるだろ!!
0246209NGNG
>>241
プロセス周りもSWTみたいにToolkit化されていると
うれしいんですけどね。
0247デフォルトの名無しさんNGNG
>>244
そうすればいいじゃん。
標準出入力はSystem.inとSystem.outだぞ。
0248デフォルトの名無しさんNGNG
>>244
カウント用の変数を1つ用意して、入力ごとにインクリメント、
正解が出たら(ルーチンを抜けたら)その変数でif判定してください。
int count=0;
while(1){
//ルーチン
count++;
}
System.out.println("正解が出るまで"+count+"回かかりました");
if(count<6) System.out.println("素晴らしい!!")
else if(count>9) System.out.println("勘が鈍いですね");
0249デフォルトの名無しさんNGNG
>>248
>while(1){
while(true){
っすね。
0250デフォルトの名無しさんNGNG
>>249
あ、そうですね。
これは失礼しました。
0251デフォルトの名無しさんNGNG
ある本に載ってたプログラムなんだけど

public class T21
{
public static void main(String[] args)
{
TurtleFrame f;
f = new TurtleFrame();
Turtle m = new Turtle();
Turle m1 = new Turtle();
f.add(m);
f.add(m1);
m.fd(100);
m.rt(90);
m.fd(150);
m1.rt(90);
m1.fd(100);
}
}

これって単独でコンパイルできんの?
継承しなくていいんでつか?
0252デフォルトの名無しさんNGNG
>>244
おい、ネタだろ?
それがワカランかったら数が当たっているという判定ができんだろ?
それとも変数を表示させる方法が知りたかったわけ?
0253デフォルトの名無しさんNGNG
>>248
ありがとうございました!!
みなさんおりがとうございます。
0254デフォルトの名無しさんNGNG
>>251
既にTurtleクラスのオブジェクトが作成(コンパイル)済みであれば
勝手にリンクして(繋いで)くれるからエラーにはならないよ。
0255デフォルトの名無しさんNGNG
>>251
継承しなくてもいい(と思う)けど、
TurtleFrame やら Turtle が無いとコンパイルできんよ。
0256デフォルトの名無しさんNGNG
>>251
継承の意味を理解しましょう
0257デフォルトの名無しさんNGNG
2次元配列を定数化したくて、こんな感じにプログラムしました。
final int[][] array={{1,2,3},
{2,3,4},
{3,4,5}};

array[0][0]=5;
System.out.println(array[0][0]);

コンパイルしても、エラー無しでarray[0][0]には5が代入されてました。
試しに
final int a=100;
a=300;
にすると、エラーになりました。

配列は定数にできないのですか?



0258デフォルトの名無しさんNGNG
100個の乱数用意して、昇順に並べ替える。

ってどうするんですか?
時間がない、、やばいい、、
0259デフォルトの名無しさんNGNG
JDK1.4.1のSwingを用いて入力画面を作りました。
配置したJTextArea(スクロールペイン有り)には最大64kb(半角英数字65536文)が入力されます。
2048バイトずつカット&ペーストで入力し、20kbを超えた辺りから、
ペーストした後、それが表示されるまで時間が掛かり出し、
64kbまでペーストした時点で表示されるまでに30秒掛かってしまいました。
これは、Javaの仕様上しょうがない現象なのでしょうか?
また、これを回避する為の手段はあるのでしょうか?
識者の方、御教授下さい。

PC=CPU:AMD750MHz,メモリ:256MB,WinMe
0260デフォルトの名無しさんNGNG
>>258
配列に乱数を代入して、昇順にソート
0261デフォルトの名無しさんNGNG
>>258
java.util.Arrays の sort でも使えば?
0262デフォルトの名無しさんNGNG
JDBC について質問があります。

わたしは今んとこ、JET使いです。
#素直にAccessといわんか!

JETでは、SQLを流した結果を、Recordsetという変数に格納できます。
フィールドは、Fields(0)、Fields(1)....Fields(n)と結果にあわせて自動的に
設定されるので、あとはレコードの処理だけで簡単です。

JDBCでも同様に、SQLで得られた結果を可変的に格納する事はでき
ませんか?
JDBCに関する入門書は、どれもexecuteQueryで得られた結果は
フィールド名指定で呼び出すようになっています。
これでは、SQLを実行する度にJDBCの設定が必要になってしまい、
大変に面倒です。

プログラム言語のスタンダードたるJAVAが、よもやVBAで出来る記述が
できないとも思えないので、わたしの探し方に問題があるのかもしれません
が、結果によってフィールドが変化するようなJDBCの記述について、
情報をお持ちでしたら教えてください。
0263デフォルトの名無しさんNGNG
このスレで質問に答えてくれる神々に質問!

神がJAVAを習得される際に用いた参考書OR問題集はなんでつか?
0264デフォルトの名無しさんNGNG
>>263
結城本上下とSUNのjavadocのAPI
0265デフォルトの名無しさんNGNG
先ほど教えてもらったのですが、
エラーが出てしまいます。
どこを直したらいいですか?
全部書き込むことができないので、
1部になりますが・・・。
int seikai = (int) (Math.random() * 1000);
while(flag){
moji = kbd.readLine();
x = Integer.parseInte(moji);

if(x > seikai && x <= 999){
System.out.println("大きすぎます、もう1回!");
}else if(x <seikai && x >= 0){
System.out.println("小さすぎます、もう1回!");
}else if(x == seikai){
System.out.println("正解です!");
flag = false;
}else{
System.out.println("入力するのは0〜999の間の数字ですよ");

int count=0;
count++; }
System.out.println("正解が出るまで"+count+"回かかりました");
if(count<6)
System.out.println("素晴らしい!!");
}else if(count>9)
System.out.println("勘が鈍いですね");
}
026628NGNG
POP3で受信したら上手くいったっすよ>メール受信

IMAPとの相性か、サーバの問題かを切り分けるたびに出てきまっさ・・・
0267デフォルトの名無しさんNGNG
>>265
どこでエラーがおきるのかとエラーの種類ぐらい書いてくれると
解きやすい・・・
0268デフォルトの名無しさんNGNG
>>265
やっぱネタかなぁ…
素直にHelloWorldとかから勉強した方が…
0269デフォルトの名無しさんNGNG
>>257
コードが断片的ゆえなにをしているのかが少々理解不能だが、
エラーがでたのは、以下の部分ではないか?
final int a=100;
a=300;

finalと宣言され、さらに100という値の入力されたaに、
再度、300という数値を入れようとすれば、当然のことながらエラーになる。
finalと宣言された変数は、ただ一度しか代入できないので。

>>258
JDKのなかにdemoというディレクトリがあったかとおもう。
そのなかに大きさ順にならべかえるアプレットがあるので
それをご参考に。

>>265
>>1に書かれていることをよくよんでから書き込んだほうが
適切な回答をもらえるとおもうよ。
0270265NGNG
シンボルを解釈処理できませんと表示されています。
すべてのプログラムを書き込みたいのですが、
改行が多すぎるため、エラーが出てしまいます。
全部表示させたほうが分かりやすいですか?
1部でも分かりますか?
0271デフォルトの名無しさんNGNG
>>257
>配列は定数にできないのですか?
無理っす。
0272デフォルトの名無しさんNGNG
>>270
出力されたエラーなら全部ここにマウスでコピペして貼り付けてよし。
膨大なソースコードをここにコピペしようとするのなら逝ってよし。

//ソースは一部でもわかるとおもうよ。
//その一部が適切な一部なら。
0273デフォルトの名無しさんNGNG
http://www6.ocn.ne.jp/~endou/index2.html
     ★YAHOOOプロフィール★
0274265NGNG
コマンド プロンプトではコピペできません。
本当にすいません。
かなり勉強不足だとは思うのですが、
教えていただければ幸いです。
0275デフォルトの名無しさんNGNG
コピペできないのなら、自分の指で入力すればよい。

まあもしWindowsをつかっているのなら、
そのプロンプトのウインドウの上のほうに
いくつかボタンが並んでいるとおもうが、
そのなかの『プロパティ』というボタンをクリックして開いたダイアログのなかから、
『その他』をクリックするとマウスの設定画面がでてくるよ。
0276デフォルトの名無しさんNGNG
redirect操作知ってればそれで・・・
例)java classname > tmp.txt

知らなければエラーの名前とそのクラスでのエラーの行数
0277デフォルトの名無しさんNGNG
>>276
コンパイルエラーは標準エラー出力に出力するはずだから > では取れないと思われ。
0278デフォルトの名無しさんNGNG
で>>270に出力されたエラーだけど、
ソースの何行目に問題があるとかの情報もいっしょに出力されているはずなので、
もしソースをはるのなら、その行あたりを貼るといいとおもう。

ちなみにそのエラーは、
Javaのコンパイラが意味不明な文字とであったときなどに出力される。
原因は、変数やメソッドの綴りの入力間違いや、
スコープなどのせいで無効な変数を使おうとした場合におこることが多い。

>>276
&>ではどうか?
まあDOSなどでは使えないような気もするが。
0279265NGNG
kadai1.java:40: 'catch' への 'try' がありません。
}catch(IOException e){
kadai1.java:42: \12288 は不正な文字です。
   }catch(NumberFormatException e){
kadai1.java:42: \12288 は不正な文字です。
   }catch(NumberFormatException e){
kadai1.java:46: '}' がありません。
}
kadai1.java:4: 'try' への 'catch' または 'finally' がありません。
try{
kadai1.java:1: パッケージ Java.io は存在しません。
import Java.io.*;
^
kadai1.java:8: シンボルを解釈処理できません。
シンボル: クラス BufferedReader
位置 : kadai1 の クラス
BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in)
);
kadai1.java:8: シンボルを解釈処理できません。
シンボル: クラス BufferedReader
位置 : kadai1 の クラス
BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in)
);
kadai1.java:8: シンボルを解釈処理できません。
0280257NGNG
>>269
>>271
ありがとうございます。
配列は無理なんですね。finalは消します。
0281デフォルトの名無しさんNGNG
>>279
コンパイルエラーかよ・・・
ちなみに

import Java.io.*;
↓
import java.io.*;
0282デフォルトの名無しさんNGNG
>>278
WinXP だと
>javac ????.java > err.txt 2>&1
とかやればいーのかな?
0283デフォルトの名無しさんNGNG
>>279
try{
なにかの処理
}
するのならそのあとにcatch(例外) {
}
しなければだめということ。

ソースの一部に全角スペースがはいっている。

BufferedReaderを使うためのおそらくjava.io.*がインポートされていない。
0284デフォルトの名無しさんNGNG
>>279
>>265 の時点でわかってたけど { と } の対応関係が狂ってる。
0285259NGNG
不躾ですみません。
>>259について何か情報ありませんか?
---
簡単に…JTextAreaには膨大(かな?)なデータを入力してはいけないのですか?
0286自己つっこみNGNG
>>278
すまそ>&2。
このあたりはシェルスクリプトで色々だとおもうけど。
0287デフォルトの名無しさんNGNG
>>285
import javax.swing.*;
import java.awt.*;
public class test {
 public static void main(String[] args) throws Exception {
  JFrame w = new JFrame();
  w.setLocation(100,100);
  w.setSize(100,100);
  w.getContentPane().add(new JScrollPane(new JTextArea()),BorderLayout.CENTER);
  w.show();
 }
}
みたいな最小のプログラムで試したけど >>259 みたいな症状は再現しませんでした。
0288デフォルトの名無しさんNGNG
>>285
ごめん、GUIは詳しくない
SWING系のドキュメントに書いてないかな・・・
0289デフォルトの名無しさんNGNG
2つの整数をcompareTo()で比較する場合どういった
記述のしかたをしたらいいんでしょうか?
0290デフォルトの名無しさんNGNG
>>259
あんまり関係なさそうだけどこういうのがあったよ。
http://developer.java.sun.com/developer/bugParade/bugs/4213032.html
0291265NGNG
ありがとうございます。
もう分からなくなちゃって、{}
がどこにつながっているのかがわからなくなってます。
色々アドバイスありがとうございます。
0292デフォルトの名無しさんNGNG
>>289
Integer num1 = ...;
Integer num2 = ...;
if(0 < num1.compareTo(num2)){
 ...;
}else if(0 == num1.compareTo(num2)){
 ...;
}else{
 ...;
}
とか?
素直に int で大小比較する方が簡単だと思う。
0293デフォルトの名無しさんNGNG
>>290
jdk1.2以降では直ってるって書いてあるけど…
Win9x + jdk1.1.* + swing の組み合わせの問題らしい。
0294196NGNG
CやVB等では同ページ内で指定した場所に移動するには
goto文がありますがJavaでは使えないんですよねー;;
で、何か別の方法ないでしょうか?
for文内とかだと breakでできるらしいのですが・・
0295デフォルトの名無しさんNGNG
>>294
(古典的な意味での)リファクタリングをしっかり行なうなどしていれば、
goto文はとくに使う必要がないので。

それにJavaにおいてはラベルを指定してのbreakやcontinueがありますので。
0296265NGNG
何度も何度もすいません。
[5回と10回の間なら普通です]
}else if(){
 System.out.println("普通です");
()の部分はどうすればいいですか?
0297デフォルトの名無しさんNGNG
>>294
test:{
 break test;
 System.out.println("この文には制御が移らない。");
}// break test;後 test: のブロックの外に制御が移る。

みたいな特殊なbreakの使い方があるのでそれで頑張ってみるとか。
詳しくは以下を参照してください。
http://www.y-adagio.com/public/standards/tr_javalang/14.doc.htm#6842
0298デフォルトの名無しさんNGNG
>>296
もういちどしっかり授業を受けなおしたほうがいいとおもうが、
ifのところには、&&と<と>をうまく使うといいとおもうよ。
0299デフォルトの名無しさんNGNG
>>296
>if(count<6) System.out.println("素晴らしい!!");
>else if(count>9) System.out.println("勘が鈍いですね");
の後に続けるなら else だけでよいと思われ…
0300デフォルトの名無しさんNGNG

if(x > seikai && x <= 999){
System.out.println("大きすぎます、もう1回!");
}else if(x <seikai && x >= 0){
System.out.println("小さすぎます、もう1回!");
}else if(x == seikai){
System.out.println("正解です!");
flag = false;
}else{
System.out.println("入力するのは0〜999の間の数字ですよ");
}
int count=0;//←エラー実行時えらー常にcountが0にセットされる
count++; }
System.out.println("正解が出るまで"+count+"回かかりました");
if(count<6){//←coutはwhile文の中で宣言されているのでwhile文のそとでは使えない
System.out.println("素晴らしい!!");
}else if(count>9){
System.out.println("勘が鈍いですね");
}
else {
System.out.println("hutu-");
}
0301265NGNG
ありがとうございます。
もう最後の授業も終わってしまったので
教えてくれる人を探していたんです。
すいません。あまりにも初心者の質問でした。
0302259NGNG
>290
 ご提示ありがとうござます。
 >>293さんが仰る通り1.4.1では問題無いみたいですね...
 皆さんSwingはあまり使われないのかしら?
 #今更C++に変更出来ないし...

 その後の調べで以下のような事が判っています。
 ・起動時オプションで最大メモリ128MBなんてやってもやらなくて現象は変わらない。
 ・実行中のメモリ使用量見ても精々2MB弱位しか使ってない。
 ・キー入力して行くと、5,000文字を超えた辺りから動作が緩慢になり出し、
  9,000文字位からレスポンスが悪く(キー入力してから3秒経ってから表示)なる。
 ・一気に64kbの文字をコピペすると、10秒位表示されず、他のフィールドに移動すら出来ない
  >1分ほど経過したら移動出来るようになった。
0303デフォルトの名無しさんNGNG
org.w3c.dom の DOMService を使いこなせる猛者はいらっしゃいますか?
0304294NGNG
ふーむ、リファクタリング^^;
やっぱbreakしかないのかな・・
頑張ってみます。ありがとうございました^^
0305デフォルトの名無しさんNGNG
リファクタリングというよりは構造化と素直に言ったほうが判りやすいかと
0306デフォルトの名無しさんNGNG
J2SE SDK 1.4.1-01 で Excelsior JET 3.0 Personal を使いたく
インストールしたのですが Could not determine the compiler と表示され
Excelsior を起動することが出来ませんでした
解決方法をご存じの方いらっしゃいますか

環境
Windows 2000 Pro (latest updated)
J2SE SDK 1.4.1-01
Excelsior JET 3.0 Personal
0307デフォルトの名無しさんNGNG
>>304
ちなみに >>295 が言ってるラベル指定のcontinueってのはこんな感じ。

test: for(int i=0;i<10;i++){
 for(int j=0;j<10;j++){
  System.out.println( "多重ループの外側へcontinueできる。" );
  continue test;
 }
}
詳しくはこちらを参照してください。
http://www.y-adagio.com/public/standards/tr_javalang/14.doc.htm#6122

ラベル付きbreakとか例外とかと合わせれば
goto の代表的な使い方をかなりサポートしてるから
殆ど goto 使う必要はなくなると思います。
0308デフォルトの名無しさんNGNG
javaを学習して1ヶ月ですかどうしても理解できないことが複数あるので
宜しくお願い致します。
現在クラスライブラリを勉強してるんですが
そのメソッドに
「int indexOf(int ch)」
についてです。
文字を格納するなら、仮引数として
「int indexOf(char ch)」
になるんでは・・・?と未熟ながら思うんですよ。
StringbufferクラスはCHAR型で理解できるんですよ
→「StringBuffer append(char c)」
なぜIndexofメソッドの仮引数がint型なのか誰かご教授お願い致します。
0309308NGNG
後、StringBufferクラスについてなんですが
「StringBuffer append(char c)」
のStringbufferは「戻り値の型」になるんでしょうか?
int,double,byteは型だと判るんですが
Stringbufferという型が存在するものなんでしょうか?
どうように
「String charAt(int index)」
のStringも同じように疑問です。
宜しくお願い致します。
0310デフォルトの名無しさんNGNG
無視られてるようなので。

>>262
>JDBCでも同様に、SQLで得られた結果を可変的に格納する事はでき
>ませんか?

java.sql.ResultSet
0311デフォルトの名無しさんNGNG
>>309
>「StringBuffer append(char c)」
>のStringbufferは「戻り値の型」になるんでしょうか?

YES

>Stringbufferという型が存在するものなんでしょうか?

クラスは型
StringBufferはクラス
∴StringBufferは型
0312デフォルトの名無しさんNGNG
クラス=型です
0313デフォルトの名無しさんNGNG
>>308
「int indexOf(int ch)」
なんていうクラスのメソッド?
0314デフォルトの名無しさんNGNG
マッピーのようなアプレットを作成しようとしてるのですが、
例えば右に行きたいときにそこに壁があったら進めなくするには
どうするのでしょうか?
私が考えた方法だと、全ての存在する壁の数ぶんだけ当たり判定
をさせ、当たれば右方向入力をキャンセルさせるという方法ですが
これだとすごく時間が掛かると思い、他にいい方法がないかと
思い質問しました
0315デフォルトの名無しさんNGNG
double sa = 1.0 - 0.8;
System.out.println(sa);
を実行すると、
0.19999999999999996
という出力になるのですが、正しい 0.2 と出力させるには
どのような手段を用いればよいのでしょうか?
0316デフォルトの名無しさんNGNG
>>306ですがスレ違いかもしれないのでよそで聞いてきます
0317259NGNG
しつこいようですが、
>>259,>>302について何か情報ありますか?
周りの男性人は、わたしが派遣社員だからと思って、思い切り無視してくれるし...
恐れ多くてJH-MLには入れないし...
2chに期待するわたしが間違っているのかしら…エェーン(T_T;
0318デフォルトの名無しさんNGNG
>>315http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/math/BigDecimal.html
0319デフォルトの名無しさんNGNG
階乗プログラム作成中・・・。char *insert_abc(int abc,int n,int(*Set)(int n));
[A] [AB BA] [CAB CBA ACB BCA ABC BAC]のように、成長していくポインターを作りたい。 
 その際、できるだけループをすくなくする事を心がけ階乗値を使うこと。
  ポインターの成長例:
[CAB[0][1] CBA[0][1] ACB[1][0] BCA[1][1] ABC[2][0] BAC[2][1]]
次ループでは、
[CAB[0][0] CBA[0][1] ACB[0][2] BCA[0][3] ABC[0][4] BAC[0][5]]
 ×4=4!=24
という具合に3重ループで成長します。
これらの、バグを取ろうにも複雑すぎてわからない状態。
1981ソースが、長いためこちらの掲示板をみてください。
http://www.tachiki.com/cgi-bin/chatc/ealis.cgi?#3
0320151NGNG
>>152 >>153 >>154
かなり遅れましたがすいません。レスありがとうございます。
>>153の、
>javac -target 1.1 コンパイルしたいクラスのファイル.java
で直りました。
本当にありがとうございました。
0321デフォルトの名無しさんNGNG
>>319
ここ Java スレなんだけど
0322308NGNG
>>311.312
レス有難うございます。
クラスライブラリのクラスは全て「型」という認識でいいのかな...
例えばMATHクラスの場合、MATH=「型」でいいってことですか?
凄く参考になりました。有難うございます。

>>313
Stringクラスです。
著書で感じた疑問なので、ひょっとしたら誤植なのかな・・?とも
思ったので調べてみます。
0323デフォルトの名無しさんNGNG
>>317
得ろ画像きぼん
0324デフォルトの名無しさんNGNG
>>314
壁の数が少ないなら総当りでかまわないはず。
壁が方眼紙のような定位置に存在するなら
2次元配列を使えば決め打ち
マッピーの位置から該当する配列の要素を調べるとか。
定位置じゃないなら適当にソートして調べるとか。

ちょっと思いついただけなので。
もっと効率の良い方法がありそう。
0325劉邦NGNG
JAVAやっててCが恋しくなりました。
このままJAVA続けるべきでしょうか?
0326315NGNG
>>318
BigDecimalの解説を読んでもよく分からない(泣)。

BigDecimal sa = new BigDecimal(1.0 - 0.8)
System.out.println(sa.doubleValue());

こうやってみても結果は同じなんだけど、どうすれば
0.2は出てくるのでしょうか?
0327デフォルトの名無しさんNGNG
>>325
好きにしろ
0328デフォルトの名無しさんNGNG
>>314
ゲーム技術板に行けといいたいところだが
AA荒らしの巣になってるな
0329デフォルトの名無しさんNGNG
>>314
画面を網の目状に区切って番号うってけ。
配列使って何とかしろ!!

0が空間、1が壁。

int[] map={
1,1,1,1,1,1,1,1,
1,0,0,0,0,0,0,1,
1,0,1,1,0,0,0,1,
1,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,1 }

背景のブロックの大きさが16x16とし、横8コ、縦5コ分の面積のゲーム画面とし
自分の座標の変数をmx,myとする。
もし自分が座標(57,33)の位置にいてそこが壁かどうか知りたい場合は

if( map[ (mx/16)+((my/16)*8) ]==1 ) {
壁です。動けません }
else { 空間です。動けます }

とする。後は自分でやろう。ていうか板違い。ゲ製作板へどうぞ。
0330劉邦NGNG
Cと結婚します
0331デフォルトの名無しさんNGNG
>>326
>new BigDecimal(1.0 - 0.8);
この時点で new BigDecimal(0.19999....); になってる。
BigDecimal a = new BigDecimal(1.0);
BigDecimal b = new BigDecimal(0.2);
System.out.println(a.subtract(b).doubleValue);
0332デフォルトの名無しさんNGNG
>>329
的確に教えていただき有難うございます
二次元配列にして苦しんでたのですが
map[ (mx/16)+((my/16)*8) ]==1で十分ですね
ゲ製作板は見て無かったです。というかあるのすら知らなかった
早速行ってきます
0333デフォルトの名無しさんNGNG
ゲ製作板=廃墟
0334デフォルトの名無しさんNGNG
Javaアプレットのゲームの限界は! (ゲーム製作技術板)
http://game.2ch.net/test/read.cgi/gamedev/1005230153/l50

廃墟同然のスレのような気もするががんばれ。
0335315NGNG
>>331
BigDecimal b の 0.2 を 0.8 にしてやってみたけど
結果は同じでした。

BigDecimal a = new BigDecimal(1.0);
BigDecimal b = new BigDecimal(0.8);
System.out.println(a.subtract(b).doubleValue());

0.19999999999999996
0336デフォルトの名無しさんNGNG
>>317
とりあえず >>287 程度の最小構成でも現象が再現するか試してみては?
0337デフォルトの名無しさんNGNG
demoについてきたJavaで作られたノートパッド風のエディタで
再現するかどうか試してみては?
0338デフォルトの名無しさんNGNG
>>335
BigDecimal a = new BigDecimal("1.0");
BigDecimal b = new BigDecimal("0.8");
System.out.println(a.subtract(b).toString());

0339315NGNG
>>338
ありがとうございます。これで 0.2 を出力できました。

ですが、double値として取得して、その後の計算で
利用したいのですが、そういったことは不可能なので
しょうか。
0340デフォルトの名無しさんNGNG
>>335
解説しとくと、 0.2(1/5) や 0.8(4/5) は二進数では循環小数になるので
浮動小数点数(doubleやfloat)では近似値でしか表現できません。
つまり BigDecimal(0.8) ってのは 0.8 の時点で0.800000 の近似値になってるので
BigDecimal 使っても意味が無くなってるわけです。
0341デフォルトの名無しさんNGNG
>>302
えーと、JTextArea に setLineWrap(true) して
64kb全く改行なしのテキスト突っ込むような無茶すると遅くなると思うけど
そーゆー事してないよね?
0342デフォルトの名無しさんNGNG
>>339 BigDecimal#doubleValue()
0343デフォルトの名無しさんNGNG
>>342
ちなみに
BigDecimal a = new BigDecimal("1.0");
BigDecimal b = new BigDecimal("0.8");
System.out.println(new BigDecimal(a.subtract(b).doubleValue()));
すると
0.200000000000000011102230246251565404236316680908203125
が得られます。
0344デフォルトの名無しさんNGNG
>>339
あんま良くなくみえるかも〜
import java.math.*;
public class Main {
public static void main(String[] argv){
BigDecimal a = new BigDecimal(1.0);
BigDecimal b = new BigDecimal(0.8);
System.out.println(a.subtract(b).setScale(1, BigDecimal.ROUND_HALF_EVEN).toString());
}
}
0345デフォルトの名無しさんNGNG
http://pc3.2ch.net/test/read.cgi/tech/1032944182/l50
↑で、JavaBeansはIDEでの使用を前提とした技術と豪語する痛い香具師ハケーン
ハラ痛いw
0346デフォルトの名無しさんNGNG
>>343 つまり精度を気にするなら全部BigDecimalだけで計算しろってことだろ。

大抵の場合はStrictMathやstrictfpでもいいのだが。

問題はBigDecimalだけだと三角関数とか対数の計算は自分で関数作らないと
いけないんだな。

toString()でString方にしてからdoubleに変換する方が精度はいいだろう。
0347デフォルトの名無しさんNGNG
315は精度を気にしているわけじゃないんじゃ・・・・・・。
むしろ、数桁の精度の小数を綺麗に出したいって感じではないのだろうか。
「書式付き java」とか、「printf java」で検索してみ。いくつかライブラリが見付かる。
決定版がどれなのかは分からん。
0348デフォルトの名無しさんNGNG
>>347 DecimalFormatですか。
なら小数点以下第何桁をカットして表示ができますね。
0349デフォルトの名無しさんNGNG
delphiのexitのようなメソッド等から抜け出して呼び出し元に戻る方法を
教えてください
0350デフォルトの名無しさんNGNG
>>349
return ですかね?
0351デフォルトの名無しさんNGNG
最近javaに手をつけた超初心者です.
helloworldのアプレットを作成し,htmlよりアプレットを
よみだしたいのですが,
アプリケーションにコマンドを送信しているときに、エラーが発生しました。
と表示されIEの窓が全て閉じてしまいます.
どなたか解決法をご教授いただけないでしょうか?
ソースは以下の通りです.
ちゃんとディレクトリも同じところに作成しました.

helloworldのソース
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorld extends Applet {
public void paint( Graphics g ) {
g.drawString( "Hello World", 0, 0 );
}
}

helloworld.htmlのソース
<HTML>
<BODY>
<APPLET CODE="HelloWorldApplet.class" WIDTH=160 HEIGHT=120 >
</APPLET>
</BODY>
</HTML>
0352デフォルトの名無しさんNGNG
>>351
クラス名が HelloWorld なのに
html では HelloWorldApplet.class を呼んでるのは何故?
0353デフォルトの名無しさんNGNG
ClassNotFoundExceptionだろうな〜
0354デフォルトの名無しさんNGNG
>>257
遅レスだが、、、配列もfinalつける意味はあるよ。
つければ配列自体は変更不可になる。
ただ配列の中身をfinalにしたわけじゃないから中身は変更可。
同様にクラス変数をfinalにした場合も
その変数が参照しているものは変更可なので注意。

final int a = 100;
a = 300; // 変更不可なのでエラー

final int[] b = new int[] {0, 1, 2};
b = new int[]{0, 1, 2}; // 変更不可なのでエラー
b[0] = 3; // 変更可なのでエラーにならない
0355初心者NGNG
同じコードでも実行しようとすると、
その時々で、Exception in thread "main"
java.lang.NoClassDefFoundError
になります。
わけがわかりません、お願いします。
ちなみに、j2sdk1.4.0_03です。
0356デフォルトの名無しさんNGNG
ペイントで書いた絵が表示されなくて困っています。
一筆で書かないとダメだと言うことを聞いたことが
あるんですが、どうなのでしょうか?
よろしくお願いします
0357デフォルトの名無しさんNGNG
>>355
java.lang.NoClassDefFoundError
ロードしようとしたクラスが見つからないってさ。
Exception in thread "main"
「main」って名前のスレッドで例外が発生したそうだ。

>>356
初めて聞いた。
0358デフォルトの名無しさんNGNG
>>356
「ペイント」としか書いてないけど「ペイント」って何?
「表示」としか書いてないけど、どのように表示しようとしたの?
あと、マルチポストはやめたほーがいーよ。
0359デフォルトの名無しさんNGNG
>>355
ここなんか、どうでしょう。
http://www.gimlay.org/~javafaq/S003.html#S003-01
0360デフォルトの名無しさんNGNG
>>356
他の絵(ちゃんとしたソフトで書かれた絵)は表示できるんですが、
原因は何なのですか?
0361デフォルトの名無しさんNGNG
>>359
アクセサリのペイントです。
表示は拾ってきたソースで画像だけを変えてみたいのです。
0362デフォルトの名無しさんNGNG
>>358
>「ペイント」って何?

Windows知らないと今時食っていけないでしょう。
0363デフォルトの名無しさんNGNG
>>355
とりあえず >>2 を参照。
「その時々で」と言われても >>355 のPC上で
何が起こってるのかは >>355 にしかわからんのですが。
0364デフォルトの名無しさんNGNG
>356
gifやjpgは表示できるがbmpは表示できないってことかね
0365初心者NGNG
>>357
それってコードの正誤とかも関係あるんですか?
それ以外にどういった理由で発生するものなのでしょうか?

ちなみに
クラスパスの設定はあってると思います。
0366デフォルトの名無しさんNGNG
>>360
それでは特定しずらいです。
もう少し情報プリーズ。
画像の種類、表示できるというソース上の画像名を置き換えた結果など
0367デフォルトの名無しさんNGNG
>>364
拾ってきた絵は使えるんですけど、
自分で書いた絵はgif,jpg,bmpと試してみたんですが
無理でした。
0368初心者NGNG
>>359
参考になります!ありがとうございます
>>363
そうですよね。でも特に変わった事はしてないと
思うんですが、突然実行できなくなったり
するんで なんでかなー?と思ったんでそう書きました
すいません
0369デフォルトの名無しさんNGNG
一筆で描けっての
0370デフォルトの名無しさんNGNG
>>367
とりあえず一筆書き云々は関係なさそう。

ソースのファイルの読み込み部分
*.bmp とかが書いてある付近の前後10行程度を
張ってみてくれれば何かわかるかも?
0371367NGNG
public void init(){
setLayout(new BorderLayout());
Panel p=new Panel();
text1=new TextField("Push start!!",10);
text2=new TextField(Integer.toString(score),5);
p.add(text1);
p.add(text2);
p.add(new Button("Start"));
add("South",p);
resize(350,380);
setBackground(Color.black);
image=getImage(getDocumentBase(),"kaeru.gif");
image2=getImage(getDocumentBase(),"0.gif");
image3=getImage(getDocumentBase(),"1.gif");
image4=getImage(getDocumentBase(),"1.gif");
image5=getImage(getDocumentBase(),"1.gif");
audio=getAudioClip(getDocumentBase(),"ooh.au");
audio2=getAudioClip(getDocumentBase(),"whoopy.au");
Dimension dd=size();
offScreen=createImage(dd.width,dd.height);
offGraphics=offScreen.getGraphics();
d= new int[10][10];
xx= new int[4];
yy= new int[4];
m= new int[4];
d_set();
0372初心者NGNG
ぐぐぐが 実行できた・・?
意味わからん
該当する理由も>>353の方にはなかったし・・・
とりあえず解決できたので、
ありがとうございました
0373367NGNG
お手数かけてすいません
ゲームのソースらしいです。
0374デフォルトの名無しさんNGNG
一筆で描かないとどう考えても無理
0375351NGNG
>>352,353さんレスありがとうございます
>>351です.

HTMLのソースを
<HTML>
<BODY>
<APPLET CODE="HelloWorld.class" WIDTH=160 HEIGHT=120 >
</APPLET>
</BODY>
</HTML>
に書き換えてもダメでした..やっぱり
IEの窓が閉じてしまいます…ググっても
全然情報が無いみたいです…(><;)
何故なのでしょうか…
ちなみに今更ですが簡単な環境です
OS windows2000
ブラウザ IE6
エディタ メモ帳
0376デフォルトの名無しさんNGNG
>>375
.classいらないよ。
<APPLET CODE="HelloWorld" WIDTH=160 HEIGHT=120 >
0377デフォルトの名無しさんNGNG
>>375
jdk1.4以降の場合はコンパイル時に
javac -target 1.1 HelloWorld.java
みたいにしないとダメだけど、そーゆー事じゃないよね?
0378デフォルトの名無しさんNGNG
でもまぁ、-target 1.1 付けなくても IE の窓閉じないと思う…
0379デフォルトの名無しさんNGNG
うん。せいぜい灰色の横幅160高さ120の四角が表示されるだけ。
ところでHelloWorld.classを削除してそのhtmlファイルをIEで開いても落ちる?
0380デフォルトの名無しさんNGNG
>>371
MSJVM だと bmp も表示できるみたいだけど…
Sun の JVM でも png,gif,jpeg は表示できるはずだし。
ちなみに WindowsXP 付属のペイント使って出力した jpeg, png, gif 全部 getImage() で読み込めてます。
jdk1.4.1_01 だけど。
0381デフォルトの名無しさんNGNG
>>371
暇だったら

public class test extends Applet {
 Image image;
 public void init(){
  image = getImage(getDocumentBase(),"test.png");
 }
 public void paint( Graphics g ){
  g.drawImage( image, 0, 0, this );
 }
}

みたいな最小のプログラムでも表示できてないか試してみてくらさい。
0382351&375NGNG
>>376さん,>>377さん,>>378さん,>>379さん
レスありがとうございますm(_ _)m

.classを消して見ても無理でした…
<applet>〜</applet>を消すと IEは閉じないです.
色々検索していてお礼が遅くなりました…すみません…
0383デフォルトの名無しさんNGNG
>>382
MSJVM 入ってないとか…
でも IE6 だと JVMダウンロードするか問い合わせてくるような気もするし…
とりあえず appletviewer で動くか確認してみるってのは?
0384デフォルトの名無しさんNGNG
>>382
ちなみに私の手元だと、
g.drawImage( image, 0, 0);を
g.drawImage( image, 10, 10);に
変えただけで、ちゃんと動いたよ。
0385デフォルトの名無しさんNGNG
>>384
drawImage と drawString がゴッチャになってるよーな…
0386デフォルトの名無しさんNGNG
質問させてください。
あるtreeを作成し、そのオブジェクトをバイナリデータとしてObjectOutputStreamで
ファイルに書き込んでおき、のちのちObjectInputStreamで読み込んで使用したいんです。
小さなtreeであれば上手くいくのですが、どうも巨大なtreeであると書き込み時にエラー
がでてしまいます。エラーも多すぎてコマンドプロンプトだとスクロールしきれないし
困ってます。Serializationに関して何か「こういうオブジェクト」はできない!みたいな
のがあるんでしょうか?ちなみに書き込み前のオブジェクトは正常です。(ちゃんとしたtreeが
できていることを確認しました。)文章だけですいませんが、お願いします。
0387384NGNG
あらっ、351と、381が混じっちゃった。
384は、351のほうで、drawStringを使用。
0388デフォルトの名無しさんNGNG
>>386
他のオブジェクトを参照として持ってるものとか。出来るの?あれ。
0389デフォルトの名無しさんNGNG
>>386
>>282 の方法とかでエラーの情報取って頑張ってください。
0390386NGNG
>388
何やら、writeObjectとreadObjectをオーライドしてどうこうすると
みたいなことが書いてあるのだけど、いまいちよくわからない。
適当にやってみたらエラーは消えて書き込みは出来た様なのですが、
読み込みができない・・・。
0391 ◆odHOE.4x.I NGNG
遅くなったけど

>>382
g.drawStringは 0,0だとアプレットの表示範囲に表示されない。
以下の場合だとぎりぎりで左上に表示される。

import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorld extends Applet
{
  public void init()
  {
    repaint();
  }
  public void paint( Graphics g )
  {
    g.drawString( "Hello World", 0, 10 );
  }
}
0392デフォルトの名無しさんNGNG
>>386
もしWindowsをお使いならとりあえずここの方法などをつかって、
どんなエラーが出力されているのかを調べるのがよろしいかと。
http://www.gimlay.org/~javafaq/S171.html#S171-04
0393デフォルトの名無しさんNGNG
>>306
表示された英文の意味は判りますよね。
なんのコンパイラを使うか設定してあげればよろしいのではないでしょうか。
readmeファイルやドキュメントなどには書いてありませんか。
0394デフォルトの名無しさんNGNG
>>388,>>390
オブジェクトが循環参照になっていたとしても直列化できるよ。

内部的な動作では、ストリームに同じオブジェクトを複数回直列化する必要がある場合、
初回のみ実際の直列化を行い、二回目以降はオブジェクトの番号みたいなものだけを
書き込むようになっている。

readObject()/writeObject()を実装する目的は、直列化時に特殊な処理をする必要がある
フィールドを持っている場合などに、直列化処理をカスタマイズするためのもの。
例えば、EJBの場合に、リモートオブジェクトからハンドルに変換して書き込むとかね。

>>386が例外の内容を書いてないから原因はわからんが、Serializableじゃない
オブジェクトが混じってるとか、バージョンが違うとか、クラスが見つからないとか、
そんなところじゃないかな?
0395259NGNG
まとめてレスします。
レスくれた方、どうもありがと。
>>323
 残念…(なんとタイムリーな...)
 つい最近まで、http://秘密(--; に掲載されてました。(目線有りで)
 って言うか、元彼が勝手に投稿してた...頭来たので今裁判中(爆
 #デジカメで撮り合いした事があったんですが、その場で消してもらったんで気にもしてなかった...
  思い出したらムカついて来たっ!! ヤロォ〜!!!
 鬱出汁脳...
>>336
 >>287で教授頂いた最小プログラムで実行しました。
 やはりダメでした。
 が...
 >>341さんが指摘された事、行なってました。

 入力データが改行しちゃいけないデータなので、改行があるとダメなんです。
 なので、改行無しで64kb分のデータ作ってコピペ他動作チェックしてました。
 っで、改行付きデータを64kb分コピペしたら実際のプログラムでも問題無く動作しました。

と言う事で、>341さん、”そーゆー事”してました。
これってしょうがない?
でも、何で遅くなるのかしら〜。遅くなる理由ギボンヌ!!
0396デフォルトの名無しさんNGNG
>>356
アプレットはどうだか分かんないけど、getImageでファイルから画像データ
取った時は、一旦オフスクリーンへコピーし、以後はそのコピーしたものを
使うようにせんといろいろ不便だよ。
0397386NGNG
レス、ありがとうございます。

>>394
treeのノードクラスはjava.io.Serializableをインプリメントしましたが、
そのノードクラスから参照しているいくつかのクラスに関してSerializableを
インプリメントしていなかったのでそれが原因かもしれないです。

>>392
エラーメッセージ、もう少し良く見てみようと思います。

ちょっとこれから月曜までPCが使えなくなってしますので、来週、出来るかどうか
試してみてご報告します。ありがとうございました。
0398351&375&382NGNG
>>383さん
appletviewerではきちんと作動しています.
ほかにもいくつかアプレット作って見たのですが,
やはり全て窓が閉じてしまいます.
appletviewerではすべて作動しています.

IEが原因でしょうか?
セキュリティレベルなどは中でデフォルト状態で試しているのですが…
情報まってます.

詳しくは。。。>>351 >>375 >>382 です.
皆様よろしくお願いします.
0399デフォルトの名無しさんNGNG
>>398
マイクロソフトにエラー報告しといたら?
IE6ってバグ多いって聞くしね。
0400デフォルトの名無しさんNGNG
>>398
JDKは?
0401 ◆odHOE.4x.I NGNG
>>398
テユーカ どこか適当なサイトのアプレットを見た時どうなの?
それでもだめだったらIEの再インストール(できるかしらんけど)だね。
0402デフォルトの名無しさんNGNG
>>398 ほかのブラウザではどうなった?
Netscape, Opera, Mozillaとか。
特にNetscapeでの動作確認がお勧め。

コントロールパネルのJavaコンソールでは、Appletの設定がIEでも有効に機能しているか?
IEのオプション-[詳細設定]で、<applet>にJava2にv1.4.1を使用(再起動が必要)
がチェックされているか?

もしSunのJVMを使う気が無いならMSJVMをコントロールパネルの
プログラムの追加と削除で一旦アンインストール、再インストール。
0403351&375&382&398NGNG
>>399 400 401さんレスありがとうございます

他のアプレット見た時もIE全部窓閉まります…
いろいろ検索してみましたがキーワードが上手くヒットしていないのか
情報が見つかりません…

再インストしかないですか…(><;)
0404 ◆odHOE.4x.I NGNG
>他のアプレット見た時もIE全部窓閉まります…

じゃ、ソースの問題じゃないじゃん!<<バカー(#゚Д゚)ゴラァ

>再インストしかないですか…(><;)

ブラウザのね
0405デフォルトの名無しさんNGNG
>>398
>セキュリティレベルなどは中でデフォルト状態で試しているのですが…

セキュリティレベルをカスタムにし、[レベルのカスタマイズ]をクリック
MS VMの設定-[Javaの許可]-[カスタム]を選択すると
[Javaカスタム設定]ボタンが現れる。
そこで何か変更するのはどうだろうか。
0406351&375&382&398NGNG
Operaでためしてみました.
やっぱりアプレットのあるページは全てエラーが出てしまいます.
Operaでもエラーが出たってゆーことは
ブラウザ再インストしても直らないのではないでしょうか?
すみません知識不足で…
0407デフォルトの名無しさんNGNG
http://www6.ocn.ne.jp/~endou/index2.html
     ★YAHOOOプロフィール★
0408デフォルトの名無しさんNGNG
>>406 With JavaのOperaをインストールした?
Operaについてはとりあえずこのあたりを参考にしてみてくれ

http://pc3.2ch.net/test/read.cgi/win/1040357448/581
0409デフォルトの名無しさんNGNG
継承するとコンパイルエラーが出ます。助けてください。
下のソースはPointクラスをPoint3dクラスで継承しようとしています。

■エラー内容
Point3d.java:5: シンボルを解釈処理できません。
シンボル: クラス Point
位置 : points.Point3d の クラス
public class Point3d extends Point {
^
Point3d.java:8: シンボルを解釈処理できません。
シンボル: 変数 x
位置 : points.Point3d の クラス
x += dx; y += dy; z += dz;
^
Point3d.java:8: シンボルを解釈処理できません。
シンボル: 変数 y
位置 : points.Point3d の クラス
x += dx; y += dy; z += dz;
^
エラー 3 個
0410409NGNG
続きです。m(__)m

■Point.javaの内容
------------------------------------------------------------
package points;

public class Point {
int x, y;
public void move(int dx, int dy) { x += dx; y += dy; }

}
------------------------------------------------------------

■Point3d.javaの内容
------------------------------------------------------------
package points;

import points.*;

public class Point3d extends Point {
int z;
public void move(int dx, int dy, int dz) {
x += dx; y += dy; z += dz;
}
}
-------------------------------------------------------------

環境は以下の通りです。
JDK1.3.1_04
OS Win2000 sp2
IE6sp1
0411デフォルトの名無しさんNGNG
>>409 xという変数はどこかで宣言されているの?
0412デフォルトの名無しさんNGNG
>>410 どちらも同じディレクトリに入っている?
Pointクラスのxとyをpublicかprotectedにしてみては?
>環境は以下の通りです。
>IE6sp1
この、ブラウザの情報は関係ないと思う。
0413409NGNG
>>>409 xという変数はどこかで宣言されているの?

親クラス(Pointクラス)で宣言しています。

>Pointクラスのxとyをpublicかprotectedにしてみては?

結果は同じでした。
2つのソースは同じフォルダ(points)に入っています。

Point3d.java:5: シンボルを解釈処理できません。
シンボル: クラス Point

この継承元が認識できていないエラーが元凶かなと思っています。

このソースの出所です。
http://www.y-adagio.com/public/standards/tr_javalang/8.doc.htm#30229
0414デフォルトの名無しさんNGNG
>>413 こういうときは大抵、x,y,zを初期化するコンストラクタを指定する。
public Point(int x, int y){
this.x = x;
this.y = y;
}

public Point(){
this(0, 0);
}

public Point3d(int x, int y, int z){
super(x, y);
this.z = z;
}

public Point3d(){
this(0, 0, 0);
}
0415デフォルトの名無しさんNGNG
>>413
同じディレクトリ(フォルダ)、同じパッケージ名にあるなら
>import points.*;
宣言は不要。
ファイル名とクラス名は一致。となると、ほかに考えられる原因は....。
ソースに全角文字..や全角空白..?
0416デフォルトの名無しさんNGNG
Serializeをつかって
深いコピーをしています

あるクラスを深いコピーして
そのクラスのフィールドで参照されている
一部の他のクラスは浅いコピーすることは
できるのでしょうか?

つまり
深いコピーされたオブジェクトと元のオブジェクトが
同じオブジェクトを参照するようにしたいのです

Serializableインターフェースをインプリメントと
しないと
NotSerializableExceptionが発生していまいます

よろしくお願いします
0417デフォルトの名無しさんNGNG
>>416 deepコピー後にアクセッサメソッドなどでフィールドにアクセスし = で参照。
0418416NGNG
>>417
レス ありがとうございます

ちょっと私の説明がわるかったと思います
深いコピーだとフィールドで参照されている
オブジェクトもコピーされますが

参照されている一部のオブジェクトは
コピーされないようにしたいのです
不可能でしょうか?

つたない説明ですいません
0419デフォルトの名無しさんNGNG
>>418 コピーしたいフィールドのみclone()し
コピーしたくないオブジェクトは=にした自作clone()メソッドをオーバーライド
0420409NGNG
>同じディレクトリ(フォルダ)、同じパッケージ名にあるなら
>>import points.*;
>宣言は不要。

あ、そうなんですか。
エラーが出るもんで追加してました。

>ファイル名とクラス名は一致。となると、ほかに考えられる原因は....。
>ソースに全角文字..や全角空白..?

特に見当たりませんでした。

継承しない場合はコンパイルエラーは出ません。(その場合、変数の宣言の追加が必要ですが)
みなさんは409のソースでコンパイルエラーは出ませんか?
環境の問題なんでしょうか??
0421U ◆CZtFsGiu0c NGNG
>>420
クラスパスの設定は? コンパイル時のカレントディレクトリは?
すくなくとも以下の状況ならコンパイルできる。

・クラスパスにカレントディレクトリが入っている
・カレントディレクトリはpointsの親ディレクトリ
・以下のコマンドでコンパイル(Windowsの場合)

javac points\Point3d.java
0422デフォルトの名無しさんNGNG
>>418
readObject(InputSteream)
writeObject(OutputStream)
をオーバーライド(正確にはオーバーライドではないのだが。
Objectにはそんなメソッド無いので。)してしまえ。
0423デフォルトの名無しさんNGNG
>>420
>>410のソースを2つとコンパイルしたが何もエラーは出なかったぞ。
文字コードは問題なし? Windowsでメモ帳使っているからShift_JISだよな?
UTF-8が標準だが。
0424デフォルトの名無しさんNGNG
>>423
> 文字コードは問題なし? Windowsでメモ帳使っているからShift_JISだよな?
> UTF-8が標準だが。
すまぬ。勝手にメモ帳使っているとか書いた。他の、メモ帳を使っているとレスした人の古いレスと間違えてしまった。
0425416NGNG
>>419
>>422
レス ありがとうございます

やはり コピーをつくるメソッドを
自分で定義すればよいのですね
わかりました
今回はシリアライズを使うので
readObject(InputSteream)
writeObject(OutputStream) を独自に
書いてやってみます

アドバイスしてくださった みなさん
ありがとうございました
0426デフォルトの名無しさんNGNG
JSPなどでよく見られる
<input type=\"text\" name=\"name\">
という\はどう言う意味ですか?
0427デフォルトの名無しさんNGNG
>>426
「"」などの特殊文字のエスケープ。たぶん。
0428デフォルトの名無しさんNGNG
>>274 コピペできるYo! (Win2000/XPでの説明)左上のアイコンクリックして[編集]-[範囲指定]
でドラッグできるようになる。Enterでクリップボードに貼り付けられる。
プロパティで簡易編集モードを選択するといきなりドラッグできる。

>>275 それは(ボタンが並んでいるのは)Win9x/Meだと思われます。
0429デフォルトの名無しさんNGNG
>>427
正解だから胸を張れ。特殊文字というのはいただけないけれど。
0430デフォルトの名無しさんNGNG
>>426-427 その通りです。が、
この場合、out.println()メソッドなどのなかに""で囲ったときのみで、
JSPでout.println()などを使わないときは \ は不要です。
0431デフォルトの名無しさんNGNG
>>429
すまそ。いやおれJSPとかよく知らないのよ。
たまたま板を開いたとき一番上にこのスレと、
その質問があったから答えてみたの。
0432デフォルトの名無しさんNGNG
>>427-431
ありがとうございます
結局のところ\ってどう言う時に使うのですか?
0433デフォルトの名無しさんNGNG
>>432 例えば文字列を代入するとき""で囲むとき
str内に"を入れたいとき、二つ目の"が現れたとき文字列の終了と
勘違いするので\でエスケープする。
String str = "\"2ちゃんねる\""

\\ \そのもの \n改行 \r リターンコード \t タブ など
初歩的で簡単なことなのでJavaの本やサイトで調べましょう。
0434409NGNG
>421
解決しました。
ありがとうございました。

\points>javac Point3d.java
となっていました。
0435デフォルトの名無しさんNGNG
LinkedListに格納されているStringの要素を配列で取得したいんですが、

LinkedList list;
String strings[];

strings = (String[])list.toArray();

とするとClassCastExceptionが発生します。

LinkedList list;
String strings[];
int n;

strings = new String[list.size()];
for(n = 0; n < list.size(); n++)
  strings[n] = (String)list.get(n);

のように、要素を1個ずつキャストするしかないんでしょうか?
0436デフォルトの名無しさんNGNG
>>435
toArray(Object[] a)っていうメソッドがあるよ。
0437435NGNG
>>436
strings = new String[list.size()];
list.toArray(strings);

でうまくいきました。サンクスです。
あと、

strings = new String[0];
strings = (String[])list.toArray(strings);

とするのもアリのようです。こっちの場合は
配列の長さを要素数の分に確保し直してくれるんですね。
0438デフォルトの名無しさんNGNG
>>437
>strings = new String[0];
>strings = (String[])list.toArray(strings);

確かにありですが、内部でリフレクションを利用して配列をnewし直すのでおっそいです。
0439デフォルトの名無しさんNGNG
> 確かにありですが、内部でリフレクションを利用して配列をnewし直すのでおっそいです。

ソースちゃんと読んだ事あるか?
0440デフォルトの名無しさんNGNG
>>439
ほい。

>public Object[] toArray(Object a[]) {
> if (a.length < size)
>  a = (Object[])java.lang.reflect.Array.newInstance(
>              a.getClass().getComponentType(), size);
0441デフォルトの名無しさんNGNG
プ
0442 ◆odHOE.4x.I NGNG

> 確かにありですが、内部でリフレクションを利用して配列をnewし直すのでおっそいです。

早いとか遅いとかを問題にしているのではなくて、

>配列の長さを要素数の分に確保し直してくれるんですね。

不必要な用を確保しなくてもすむ所にメリットを感じる場合は

>strings = new String[list.size()];
>list.toArray(strings);

よりも、

>strings = new String[0];
>strings = (String[])list.toArray(strings);

が、良いです。それはソースにもある様に 必要な要素分だけnewInstanceする
からです。

>public Object[] toArray(Object a[]) {
> if (a.length < size)
>  a = (Object[])java.lang.reflect.Array.newInstance(
>              a.getClass().getComponentType(), size);

コードもすっきりとするのではないでしょうか? 終了。
0443デフォルトの名無しさんNGNG
>>442
>不必要な用を確保しなくてもすむ所にメリットを感じる場合は
>>strings = new String[0];
不必要な配列(new String[0])を使ってるのでは?
0444デフォルトの名無しさんNGNG
>>443
サイズ0の配列は、速くて、軽いね。
計測すると、差もほとんど無し。
コードがすっきりする方がメリットがでかいですな。
0445デフォルトの名無しさんNGNG
不必要なnewは良くないね。必ずヒープを消費するわけだし。
なぜtoArrayの引数にclassが取れないんだろう。ダサいね。
0446デフォルトの名無しさんNGNG
>>442
toArray(new String[0]) みたいなコードは
toArray(Object a[]) は a.length < size の時 a.length の配列を
reflection で確保して返す、という前提条件を知らない場合
サイズ0の配列を確保してる行為が意味不明ですっきりしてないと思うぞ。
そのぶん toArray(new String[list.size()]) みたいに書いた方が誰でも理解できてすっきりしてる。

ところで toArray(new String[0]) みたいなコードは何がすっきりしてるの?
0447教えて君NGNG
P503isとP504iの実機では動いているものが、504エミュでは動きませんでした。
問題はネットからデータを読み込み、スクラチパッドへ入れるところ
なのですが、この部分はフリーのソースを使っていまして。
自分でも勉強しているのですが、まだ実力が足りずリファレンス等を見ても
何が悪いのか見当がつきません。
エミュではjava.lang.IndexOutOfExceptionが出ます。
利用ソース元はhttp://throw-and-catch.hp.infoseek.co.jp/lib/lib.htm
にあるPadManagerクラスで、画像の読み込みと保存を主に利用しています。
今あるソースを拡張して30kbの中で作りたくて504環境に移行しましたが、
504になって変わった点等、アドバイスがございましたらお願い致します。
0448デフォルトの名無しさんNGNG
>>445
メソッド数増やしたくなかったのでは?
toArray(Object[] a) と toArray(Class clazz) の
どっちか選べって言われたら前者だと思う。

俺は 0<collection.size() のとき
collection.toArray(new String[0]) が
IllegalArgumentException とか
IndexOutOfBoundsException を投げないって仕様の方が不思議。
0449デフォルトの名無しさんNGNG
>>447
マルチポストは止めた方が良いと思われ。
0450デフォルトの名無しさんNGNG
>>444
サイズ1のArrayListでやったけど倍近く差が出たよ。
0451デフォルトの名無しさんNGNG
10,000,000回に回数増やしたら4倍ぐらいに差が広がった。
0452デフォルトの名無しさんNGNG
>>445
>なぜtoArrayの引数にclassが取れないんだろう。ダサいね。

Class[]が作れなくなるから。
0453デフォルトの名無しさんNGNG
あ、作れるか。スマソ
0454デフォルトの名無しさんNGNG
あんまりな質問ですみません。

BufferedReader.read() で取った数値を文字にしるには、どげんしたら良かとですか?
0455デフォルトの名無しさんNGNG
>>454
(char)BufferedReader.read()
0456デフォルトの名無しさんNGNG
>>454
Integer#toStringとかええんちゃうん?
0457デフォルトの名無しさんNGNG
>>455 >>446
どおもです…。m(__)m
0458デフォルトの名無しさんNGNG
antについて質問です。

<property name="build.srcdir" value="${basedir}/src"/>
<property name="build.destdir" value="${basedir}/classes"/>

<target name="build" description="ビルド">
<mkdir dir="${build.destdir}"/>
<native2ascii encoding="utf-8" src="${build.srcdir}" dest="${build.destdir}" includes="**/*.java"/>
<javac srcdir="${build.destdir}" includes="**/*.java" destdir="${build.destdir}"/>
</target>

以上のようにnative2asciiで変換させているのですが、2回目以降は
> ant
Buildfile: build.xml

build:
[native2ascii] Converting 1 file from D:\program\java\src to D:\program\java\classes
[native2ascii] java.lang.Exception: D:\program\java\classes\jp\rcl\net\j2ch\Main.java に書き込むことができません。

BUILD FAILED
file:d:/program/java/build.xml:13: conversion failed

と上書きできない旨のエラーが出ます。
毎回native2asciiの出力先を消しておかなければならないんでしょうか?
0459デフォルトの名無しさんNGNG
>>458
俺は、native2asciiするファイルはエディタで変換しちゃうから、
antのタスクでnative2ascii使ったこと無いけど、
とりあえず、native2asciiの前にantのタスクで消せばいいんちゃうんかと。
0460デフォルトの名無しさんNGNG
http://www.geocities.co.jp/Milano-Cat/6218/cs_female/

こういうの作りたいのですが、JAVAの知識がなにもないので作れません。
よかったら助言おねがいします。
0461デフォルトの名無しさんNGNG
>>458
javac タスクに encoding 指定するのじゃダメなんすか?
0462デフォルトの名無しさんNGNG
アプレットのTextAreaについての質問です
大変困っているので、何卒どなたかお願いします

TextAreaに表示される文字の色を列毎に変える事は可能ですか?
TextArea.setForegroundで文字の色字体は変えれるのですが、当然TextArea全体
の色が変化してしまい、意味がありません。

1行目は青、2行目は赤と言った風に文字を変える事は可能なのでしょうか?
どうかよろしくお願いします
0463デフォルトの名無しさんNGNG
>>458 おれの場合、src, classes以外に、asciiに変換した用のソースディレクトリを作っている。
native2ascii実行する前にasciiディレクトリを一旦rmdirしmkdirする。
それからsrcからasciiディレクトリにascii化したソースを出力する。
asciiディレクトリのソースをjavacしてclassesに出力、
コンパイルが終了したらasciiディレクトリをrmdirする

このようにしてbuild.xmlファイルを記述している。
0464デフォルトの名無しさんNGNG
>>460 それ、JavaじゃなくてJavaScript。全然違うものです。
よって板違いだが、作りたいものがそれに似たものならそれのソースを見ればだいぶ勉強になる、と助言しとく。
(JavaScriptはソースがDLできるよ。DL法は勝手に勉強しろ)
0465デフォルトの名無しさんNGNG
>>460 ほんとだimage.htmlにもmenu.htmlにもappletタグもobjectタグも見つからなかった。
0466デフォルトの名無しさんNGNG
レスありがとうございます。
>>459
>>463
やはりnative2asciiの前にascii化ソースを削除するということですね。
今は
<delete>
<fileset dir="${build.destdir}" includes="**/*.java"/>
</delete>
<native2ascii encoding="utf-8" src="${build.srcdir}" dest="${build.destdir}" includes="**/*.java"/>
としているので、このままで逝きたいと思います。

>>461
すいません。書くの忘れていましたが、jikesを使っています。
0467デフォルトの名無しさんNGNG
>>462
>1行目は青、2行目は赤と言った風に文字を変える事は可能なのでしょうか?
不可能です。

http://openlab.ring.gr.jp/kyasu/
の KFC とか使えば可能かも。
0468デフォルトの名無しさんNGNG
>462
JTextPane
JEditerPane
0469デフォルトの名無しさんNGNG
>>468
あれのビューいじるの大変じゃない?
0470デフォルトの名無しさんNGNG
460です。レスありがとうございました。JAVAとJAVAスクリプトはちがうのですか。
ダウンロードはしてみたんですが無断転載不可ということなので、
似たような者をつくろうと思っていたのですが。。。
助言ありがとうございました!
0471デフォルトの名無しさんNGNG
>>469
javax.swing.text.StyledDocument 実装すれば良いだけ…
ってすげー大変そうだけど。
0472デフォルトの名無しさんNGNG
>>471
DefaultStyledDocumentって使えないの? 
0473デフォルトの名無しさんNGNG
>>472
あくまでデフォルトなのがネック。継承して自分なりのレンダラにするのがめんどいっす。
0474デフォルトの名無しさんNGNG
182 :通りすがりのマルチ ◆n.CHii/cVw :03/01/17 02:07 ID:IY2pTvoD
>>149
上が180以上、下が120。高脂血漿。医者にいつ心筋梗塞起きても
おかしくないと言われました
0475デフォルトの名無しさんNGNG
javadocのパッケージの部分の説明ってソースのどこに書けばいいのでしょうか?
0476デフォルトの名無しさんNGNG
>>475
パッケージのソースと同じディレクトリにpackage.htmlを置く。
それから、javadocを使う。
0477デフォルトの名無しさんNGNG
>>476 overview.htmlもあるといいねぇ。
package.htmlをantで使うときは要注意か?
copyタスクをつかっておかないといけないかも
0478デフォルトの名無しさんNGNG
>>440のJavaのソースってどこでみれるんですか?
0479デフォルトの名無しさんNGNG
>>476
>>477
できました!
ついでにoverviewも書いちゃいました
0480デフォルトの名無しさんNGNG
>>478
src.jarってのを解凍する。
ただし、そのソースを見た場合、(略
0481デフォルトの名無しさんNGNG
そうですか。
0482 ◆odHOE.4x.I NGNG
>>462
TextAreaを使わずにpaintする。
言い換えるとg.drawStringで書く。と言うのは?
0483名無しさん@3周年NGNG
たまに、
import AAA.bbb.*;
import AAA.bbb.ccc;
っていうインポート文をみるんだけど、
import AAA.bbb.ccc;って
意味あるの?
0484デフォルトの名無しさんNGNG
>>483
cccという名前のクラスが別のパッケージにもあって、そっちのパッケージも
*でパッケージごとインポートしている状況で、そのファイル内でAAA.bbb.ccc
をクラス名(ccc)だけで呼び出したいときは、そう書きますよ。

理想は、*でインポートするのを即刻止めるべきですが。
できのよいIDEならimport文の自動編集くらい当然のようにやってくれますし。
0485デフォルトの名無しさんNGNG
>>482
ドキュメントのレンダリングをすべて自力でやる手間よりは、
APIライブラリ解析して使うほうが楽だと思うよ。
0486デフォルトの名無しさんNGNG
>>483
import java.awt.*;
import java.util.*;
とかやると java.awt.List と
java.util.List で衝突したりするよ。
0487デフォルトの名無しさんNGNG
はじめまして。
このごろ本格的にJAVAの勉強をはじめました。
早速ですが質問です。
class Bで格納した変数aをclass Aに引き渡す場合どうすればいいのでしょうか?
よろしくお願いします。
0488デフォルトの名無しさんNGNG
>>487 質問が意味不明。そういう質問のときはメソッドという言葉が出てくるはず。
とりあえず引数として渡す方法と、参照を保持させておくという方法があると言っとく。
0489デフォルトの名無しさんNGNG
>>487 変数(フィールド)aがpublic staticなら

class A{
public void method(){
//処理
B.a;
//処理
}
}

変数(フィールド)aがprivate 非staticな例なら
class B {
private int a;

public B(int a){
this.a = a;
}

public int getA(){
return a;
}
}

class A {
public void method(){
B b = new B(1);
int x = b.getA();
}
}
0490デフォルトの名無しさんNGNG
初心者です。
よろしくお願いします。

AWTのリストをリストα,リストβと2つ作ったとします。
1つ(同一)のItemLisnerに2つとも登録します。

つまり同一↓の関数内でα,βの判別を行いたいのです。
public void itemStateChanged(ItemEvent ie){
}

この中でα,βどちらのイベントなのか判断する方法がわかりません。
どなたかご存じでしたら教えて頂きたいのですが、よろしくお願いします。
0491デフォルトの名無しさんNGNG
>>490
ItemEvent#getItemSelectable() で α か β への参照が得られるはず。
0492デフォルトの名無しさんNGNG
今オブジェクトに関して勉強しているのですが
著書に解説していない事項が気になって(涙
複数疑問があるので、ぜひ宜しくお願い致します

1
static(クラスメソッド)からインスタンスメソッドにアクセスできない
と勉強したんですが、その逆はアクセスできるんでしょうか?
個人的にインスタンスメソッドからクラスメソッドにはアクセスできる
ような気はするんですが、どうなんでしょうか?

2
今のところ、「クラス型の変数」はStringクラス、StringBufferクラスの
2通り習ったんですが、このMATHなどもフィールドで宣言できるものなんですか?

3
mainメソッドでオブジェクトをつくるとき、
例 Car car1=new Car();
このcar1というものは「ローカル変数」「インスタンス変数」「クラス変数」
どれに該当するものなんでしょうか?
メソッドの中だから「ローカル変数」なのかな・・と思ってるんですが・・

どうぞ宜しくお願いします。
0493デフォルトの名無しさんNGNG
>>492
1.できる
2.言っていることがわからない。MATHって何?
3.そのとおり、ローカル変数。

1と(内容はよくわからんが)2は自分ですぐ試せるんだから、自分でやれよ。
0494デフォルトの名無しさんNGNG
>>492
> 1
> static(クラスメソッド)からインスタンスメソッドにアクセスできない
> と勉強したんですが、その逆はアクセスできるんでしょうか?
> 個人的にインスタンスメソッドからクラスメソッドにはアクセスできる
> ような気はするんですが、どうなんでしょうか?
同じクラス内での話だね。
試しに自分でやってみよう。それが理解への近道。

> 2
> 2通り習ったんですが、このMATHなどもフィールドで宣言できるものなんですか?
ちょっと意味がわからないぞ。MathクラスのフィールドはPIとEだけです。
質問内容をもっと具体的に説明したほうがいい。

> 3
> mainメソッドでオブジェクトをつくるとき、
> 例 Car car1=new Car();
> このcar1というものは「ローカル変数」「インスタンス変数」「クラス変数」
> どれに該当するものなんでしょうか?
> メソッドの中だから「ローカル変数」なのかな・・と思ってるんですが・・
ローカル変数。もしcar1がそのクラスのフィールドであればインスタンス変数か
クラス変数のどちらかになる。
クラス変数はstaticな変数のこと。
staticでなければインスタンス変数。
0495デフォルトの名無しさんNGNG
2 Math クラスはコンストラクタが private で定義されているのでインスタンスを作れない

数学計算というグループでまとめてるだけで、
オブジェクト指向的でないといえばそうかも。
0496デフォルトの名無しさんNGNG
>492
1.やってみれば分かるだろ。そういうのは推測どおりにならない場合に聞きに来いよ。。
2.Mathの間違いだな?
class hoge{
Math math = new Math();
}
↑やってみれば分かるだろ。publicコンストラクタが無いので無理。

3.やってみれば・・・・・・分からないな。いい質問です。正解。

>494
>ローカル変数。もしcar1がそのクラスのフィールドであればインスタンス変数か
>クラス変数のどちらかになる。
ローカルスコープで上書きされると思われ。
0497490NGNG
>>491
ありがとうございます。
さっそくやってみたのですが、今度は意味不明のエラーが出てしまいます。

public void itemStateChanged(ItemEvent ie){
}

↑この中でリストα.()やリストβ.()とα,βの何かを呼び出そうとすると
NULLEXCEPTIONが発生してしまいます。
リストも関数も同一クラス中に存在します。
リストはクラスのコンストラクタでnewしてます。
そもそもItemListenerが反応しているのにNULLも何もないと思うのですが。
リスト宣言をstaticにもしてみましたが、駄目でした。

何か特別な事をしないといけないのでしょうか?


0498デフォルトの名無しさんNGNG
Javaの文で全く同じ文でも
returnがある文とない文があるのですが
いまいち違いがわかりません

returnがあるとどうなって、ないとどうなるのですか?
0499デフォルトの名無しさんNGNG
>>497
スマソ。解読は試みたんだが、

>>498
返り値の無いメソッドで、
最後にreturnがあるか、無いかの違いなら気にするな。
大人になったらわかる。
0500デフォルトの名無しさんNGNG
Excelファイルに図を挿入したら
bmpでもjpgでも元のファイルよりも莫大な容量の
ファイルになってしまいます

例えば100kのファイルを挿入したら、Excelでは5Mぐらいになってしまいます
これの解決方法をオ願いします
0501デフォルトの名無しさんNGNG
誤爆だ
0502デフォルトの名無しさんNGNG
>>500
なりません。もっとまともなネタで出直してきなさい。
0503デフォルトの名無しさんNGNG
再度の質問です
Exclesior JET を正常に使用している方で
よかったら環境等を教えていただけませんか
当方の環境だとエラーが出て起動できなかったので参考になるかと思いまして
0504デフォルトの名無しさんNGNG
サーブレットで、アクセスされるごとに、インスタンスフィールドを
初期化したいんですが。。。
init(SerletConfig)メソッドはいったいどこで呼ばれるんでしょうか?
Tomcat4.1で、JDK1.4です。
0505デフォルトの名無しさんNGNG
初心者の質問ですが
同じクラスファイルの中にたまに何個もクラスがありますよね。あれってどう言う意味ですか

あとBeansでsetの部分とgetの部分は具体的にあそこで何をしてるのですか?
↓の文は例です
public void setItemName(String strName){
itemName = StraName;
}

public String getItemName(){
return itemName;
}
0506デフォルトの名無しさんNGNG
>>506
public class MonaMona {
 String itemName; // ←注目 注目 注目
 public void setItemName(String strName){
  itemName = strName; // 引数に与えられたstrNameをitemNameに入れる。
 }
 public String getItemName(){
  return itemName; // フィールドのitemNameを返す。
 }
}
0507デフォルトの名無しさんNGNG
>>505 これは内部クラスのことを別としての説明です。

単なる練習用、動作テスト程度にプログラミングするなら
同じファイルに複数のクラスがあっても構わない。

クラスをパッケージ化した場合は同じファイルに複数ある場合、
ファイル名と名前が同じで且つpublicになっているクラスのみ
パッケージ外部からアクセスできる。

長いプログラムや、あるクラスを何度も再利用したい場合は同じファイルに複数のクラスは入れないほうがいい。
複数のファイルに分割した方が良い。
0508デフォルトの名無しさんNGNG
>>504 initという名前からして初期化の意味
Servletを起動したときinit()が呼び出される。
init()メソッドをオーバーライド
0509デフォルトの名無しさんNGNG
>>500 Excelは板違い。
ソフトウェア板かWindows板かビジネスsoft板で質問したほうがいい。
0510デフォルトの名無しさんNGNG
クラスやメソッドの前にある
publicがあるとき
privateがあるとき
あと何もなしの時の違いがわかりません

public・・・ほかでも反映されるって、ほかってどこのことですか?
publicとprivateはわかるのですが、何もない時ってどう言う動きになるのですか?
0511デフォルトの名無しさんNGNG
ネタにしても、もう少しレベルあげれ。
0512デフォルトの名無しさんNGNG
>>511
激しくスレ違い
上級者のみのJavaスレでも行け
0513デフォルトの名無しさんNGNG
>>510
何も無い時はデフォルトでprivateが付く、
publicは
「全部ずるっとまるごとお見通しだ!」
状態
privateは
「すいません、結婚式は身内だけで静かにやりたいんで、、」
状態
protectedは
「俺の娘に手を出したら殺す!!!みんじゃねーよ糞が!!」
状態
0514504NGNG
やっぱりinit()、init(ServletConfig)メソッドが呼ばれるタイミングが
わかりません。
そのクラスを最初に実行したときに、呼ばれるんでしょうか?
それとも、各クライアントごとに呼び出されるんでしょうか?

それとも一つのクラスを非同期で共有するのでしょうか?
わかんなくなってきました。。。
0515デフォルトの名無しさんNGNG
>>510
とりあえず試してみるって発想は無いのか。
試せない状況で気になって仕方ないってんなら、スコープについて調べてみろ。
0516デフォルトの名無しさんNGNG
>>513
privateとprotectedの違いって何?
外からしたら不可視なわけでしょ?
0517デフォルトの名無しさんNGNG
>>513
デフォルトは package public でしょ。
0518デフォルトの名無しさんNGNG
>>513
> 何も無い時はデフォルトでprivateが付く、
これは間違ってます。
同じパッケージ内からは参照できる(だったっけ?)
0519デフォルトの名無しさんNGNG
>>516
privateは不可視、
protectedも不可視、しかしこれは、自分を継承した
子クラスからのアクセスにだけは公開してあげるよ♪てこと。
あんまり使わない。
>>517
うおおお!!今までずっとprivateだって信じてたのに!!!
0520デフォルトの名無しさんNGNG
package public = friend(friendという宣言はないが)
少なくともprivateではない。privateだと継承されないから。
0521デフォルトの名無しさんNGNG
protectedはパッケージ内からは丸見えよ〜
0522デフォルトの名無しさんNGNG
つまり
public 全部丸見え
protected パッケージ内丸見え
private 誰も見れない
0523デフォルトの名無しさんNGNG
ちなみに、Interfaceはpublicがデフォルトでした。
0524デフォルトの名無しさんNGNG
>>512
その仕様、最初に知ったときは驚いたね〜
折角シコシコprotectedにしたのに、丸見えだからね〜
0525デフォルトの名無しさんNGNG
public - アクセスに制限がない。
protected - 同じパッケージ、またはそのサブクラスからしかアクセスできない。
省略 - 同じパッケージ内からしかアクセスできない。
private - 同じクラスからしかアクセスできない。
0526デフォルトの名無しさんNGNG
で、パッケージの定義とはなんぞや?
0527デフォルトの名無しさんNGNG
http://www.hellohiro.com/jdbcmysql.htm
のHelloWorldJDBCMySQL.javaを動かそうとしてるのですが、
下記エラーが出てしまい動きません。
jdbcのドライバの設定がおかしいと思うのですが、
いくら考えても分かりません。誰か教えてください。
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:130)
at HelloWorldJDBCMySQL.main(HelloWorldJDBCMySQL.java:8)
0528デフォルトの名無しさんNGNG
素直に「パッケージって何ですか?」って聞けよ(w
0529デフォルトの名無しさんNGNG
>>526
「パッケージの定義とはなんぞや?」とはなんぞや?
0530デフォルトの名無しさんNGNG

  _、_    パッケージて何ですか?
( ,_ノ` )     
     ζ
    [ ̄]'E
      ̄
0531デフォルトの名無しさんNGNG
>>527
ClassNotFoundExceptionて書いてあるだろうが
つーかソース晒せよ
0532デフォルトの名無しさんNGNG
>>530
用途ごとにディレクトリ分けて
同一ディレクトリにあるクラスをまとめたやつ
とでも覚えとけ。
0533デフォルトの名無しさんNGNG
>>532
  _、_    Javaのprotectedて何の使い道も無いっすね。
( ,_ノ` )    コーヒーのくせに使えない奴だ。>Java
     ζ
    [ ̄]'E
      ̄
0534デフォルトの名無しさんNGNG
>>532
protectedは継承したときに初めてアクセスできるようになるんだよ
お前が使えねー
0535デフォルトの名無しさんNGNG
>>527
ここで例外出てる。
Class.forName("org.gjt.mm.mysql.Driver");
このクラスが無いんだと。クラスパスを通してあげてな。
0536デフォルトの名無しさんNGNG
初心者なので、馬鹿みたいな質問だとは思いますが、よろしくお願いします。

一つのプログラムに対して、いくつかのファイルに分けて
記述されているとき、
たとえば、ファイル A.java と B.java があって
【A.java】
package shop;
 ・
 ・
 public class Shop {
  ・
  ・
  ・
}

【B.java】
packeage shop;
 ・
 ・
public class Buy(Shop shop){


}

という感じで、A.java内で定義したクラス型を他のファイルで使うと、
コンパイル時に、「シンボルを解決できません」というコンパイルエラーが出て
コンパイルできません。
こういう場合はどうすれば、良いのでしょうか?
初心者なので、非常に初歩的な質問かと思いますがよろしくお願いします。
0537デフォルトの名無しさんNGNG
packeageがスペルミス
0538デフォルトの名無しさんNGNG
>>530
名前空間、あるいはシステム分割の単位
0539デフォルトの名無しさんNGNG
> public class Buy(Shop shop){
おかしくないかい?
0540527 NGNG
ソースはこれです。
http://www.hellohiro.com/src/HelloWorldJDBCMySQLUpdate.java
今クラスパスの通したことで
set classpath=C:\j2sdk1.4\lib\org\gjt\mm\mysql
エラーが変わりました。ありがとうございました。

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldJDBCMySQL
0541デフォルトの名無しさんNGNG
>>540
C:\j2sdk1.4\lib
にもクラスパス通してあげて。
0542デフォルトの名無しさんNGNG
>>541
違う。これだこれ。
set classpath=C:\j2sdk1.4\lib\org\gjt\mm\mysql;.;
0543デフォルトの名無しさんNGNG
>>540
念のために言っておくと、カレントにもパス通せよ、と。
あと補足だが、*.jarは一つのディレクトリと解釈されるので、それもちゃんとパス通せよ、と。
0544デフォルトの名無しさんNGNG
メソッドやクラスでvoidがあるのとないのとありますが
違いって何ですか?
0545899NGNG
サーブレットで開発をしているのですが、
ある画面に遷移した際に、IEのステータスバーに出ている読み込み具合を
示す青いバーが遷移後に表示をはじめて、途中でとまったままに
なっています。画面は表示されるのですが、「ページが表示されました」
というメッセージがでません。なぜなのでしょうか。
画面はフレーム構成で、上フレームのonloadで下フレームを呼んでいます。
0546デフォルトの名無しさんNGNG
>>544
voidは戻り値を返せない。
0547デフォルトの名無しさんNGNG
>>546
retrunを使えないって事ですか?
0548デフォルトの名無しさんNGNG
>>547
使えるが、何の値も返せない。
0549899NGNG
545は分からないでしょうか。
フレーム構成で、まずフレームを表示したあと、フレームの上の
部分をsrc指定で表示し、その後上フレームのonloadで下フレームを
表示しています。
0550デフォルトの名無しさんNGNG
>>546
うーん
よくわかりません

素人考えながら、それならvoidは別になくてもいいのでは?
0551デフォルトの名無しさんNGNG
>>550
返り値が無い事と明示的に示す必要があるから。

例えばコンストラクタメソッドは返り値の指定が無い。これは
自動的にポインタ(とはJavaでは言わないが)を返す事になっているから。

要するにこれらをはっきり区別するため。
0552デフォルトの名無しさんNGNG
>>549
あんた、いろんな所に誘導されてるようだが、多分、web製作か、WebProgで、
聞くのが妥当かと。
0553デフォルトの名無しさんNGNG
すんません、質問です。

jdb 使用時に System.in.read は使用することが出来ないんでしょうか、
以下、「メール受信を行いますか?[y/n]:y」の末尾の y を拾おうとして失敗しています。

 VM が起動しました: 保留した ブレークポイント mypop.getResponse を設定しました
 メール受信を行いますか?[y/n]:y
 認識できないコマンドです。ヘルプを参照してください...
 >
 >
0554549NGNG
そうですか。
分かりました。
web開発をしていてよくある現象なので、みなさんは知っていらっしゃる
かと思ったのですが。もしかしたらhtmlを読み込む前にonloadで
htmlの要素を呼び出しているのがよくないのかとか思ったのですが。
もしくは1画面で2つサーブレットを呼び出すとそういうことに
なるのかな。とか。
0555デフォルトの名無しさんNGNG
>>550

int a(){
return b;
}
float c(){
return d;
}

かた おなまえ(いれてね){
かたのものをかえすよ
}
というせんげんのきまりがあるからだよ
ほかのはちゃんとかたをせんげんしているんだから
やっぱりぼいどーとさけんだほうがみためもいいし
こんぱいらさんがわかりやすいとおもうんだ

つけなかったらぼいどね、でもいいとおもうけれど
みんなぼいどつけることになれてるから
それでいいんじゃないのかな。
0556デフォルトの名無しさんNGNG
>>550
>素人考えながら、それならvoidは別になくてもいいのでは?
そのとおり。voidを記述しなければいけないのは過去をひきずっているだけ。
0557デフォルトの名無しさんNGNG
>>554
それって、たぶんIEのバグ。
複数コンテンツをロードする時に、なんかのタイミングでIEの独自プログレスバーが
リセットされなくなる現象。海外のMLでそんな記事見つけた。

尚、この話はスレ違いなので、これ以上質問しないように。
0558デフォルトの名無しさんNGNG
>>556
お前はインタフェース(宣言のinterfaceにあらず)の可読性をないがしろにしたいの
ですか?
0559549NGNG
>>557
ありがとうございます。
スレ違いなので、こちらのでスレッドで
もしよろしかったら、対策を教えていただけないでしょうか。
http://pc.2ch.net/test/read.cgi/php/992317108/l50

0560デフォルトの名無しさんNGNG
>>556
>過去をひきずっているだけ。
ハァ?
過去ってC++の事?C/C++のVOIDはjavaのvoidではないぞ。
0561デフォルトの名無しさんNGNG
へみ猫のほうのvoidとも違うぞ。
0562デフォルトの名無しさんNGNG
ということに(以下略
0563デフォルトの名無しさんNGNG
>>556
関係無いけどIDLでも戻り値 voidの指定がある理由って、わかる?
0564デフォルトの名無しさんNGNG
>>544 voidや返す型が無いのはメソッドではなくコンストラクタ

>>550 コンパイラがコンストラクタとの区別を高速化する手段にもなっていると思う。
voidはつけたほうが解りやすい。

Javaではvoidはずしたらエラーになるぞー

「戻り値の型が宣言されていません!!!」

と文句を言ってくるぞー
0565デフォルトの名無しさんNGNG
>>551
0566デフォルトの名無しさんNGNG
>>557 >>559 プログレスバーって、Servletとは関係なく、
JavaScriptで(IEの場合はJScriptか?)
動くヤシではないか? スクリプト使ってる?
0567教えて君returnNGNG
iアプリの勉強をはじめたばかりの者です。
何卒ご教授お願い致します。

ネットからデータを読み込み、スクラチパッドへ入れるところを
http://throw-and-catch.hp.infoseek.co.jp/lib/lib.htm
にあるPadManagerクラスが便利なので利用しているのですが、
P503isとP504iの実機では動き、504エミュでは
実行時にjava.lang.IndexOutOfExceptionが出ます。
コンパイルは通ります。
503環境時は普通に使用できてました。

今あるソースを拡張して30kbの中で作りたくて504環境に移行しましたが、
504になって変わった点等、アドバイスがございましたらぜひお願い致します。
0568デフォルトの名無しさんNGNG
>>566
すでに誘導済み → http://pc.2ch.net/test/read.cgi/php/992317108/55-56
0569デフォルトの名無しさんNGNG
>>567 試しにIndexOutOfExceptionの前にArrayIndexOutOfExceptionや
StringIndexOutOfExceptionをcatchするのはどうですか?
そのときのメッセージ内容もここに貼り付けるのはどうでしょう?
0570549NGNG
>>566
使っています。
javascriptの問題なのでしょうか。
0571デフォルトの名無しさんNGNG
>>567
ソース付いてるやん・・・自分で調べろよ・・・
0572デフォルトの名無しさんNGNG
>>567
× java.lang.IndexOutOfException
○ java.lang.IndexOutOfBoundsException

俺はiアプリは知らないが、「実機では動く」ってのは実機側で例外を根こそぎcatchしてるから
本当は死んでるんだけど、動いてるように見えるってオチは無いよな。

つーかどこでその例外吐いてるのか。
0573デフォルトの名無しさんNGNG
ここへの書き込みミスのため、指摘が違う方向へ行っちゃったので、
修正して書きます。

初心者なので、馬鹿みたいな質問だとは思いますが、よろしくお願いします。

一つのプログラムに対して、いくつかのファイルに分けて記述されているとき、
たとえば、ファイル A.java と B.java があって
【A.java】
package shop;
 ・
 ・
 public class Shop {
  ・
  ・
}

【B.java】
packeage shop;
 ・
 ・
public class Buy{
public void additem(Shop shop){
  ・
  ・
 }
}
という感じで、A.java内で定義したクラス型を他のファイルで使うと、
コンパイル時に、「シンボルを解決できません」というコンパイルエラーが出て
コンパイルできません。こういう場合はどうすれば、良いのでしょうか?
初心者なので、非常に初歩的な質問かと思いますがよろしくお願いします。
0574556NGNG
過去を引きずっていると言ったのは、無くても動作可能(Eiffelは返り値が無いとき記述なしですよね)
で、JavaがC/C++似の文法を採用していることを理由とした自分の推測です。
それをひっくるめて可読性にも寄与しているとも思いますが。
0575デフォルトの名無しさんNGNG
あ、すみません。また直し忘れています。
packeage => package
プログラムではきちんとなっています。
0576デフォルトの名無しさんNGNG
>>575
怪しすぎる。何故プログラムからコピペしない?
0577デフォルトの名無しさんNGNG
>>575
// Shop.java
package shop;
public class Shop {
}

// Buy.java
package shop;
public class Buy{
  public void additem(Shop shop){
  }
}

何の問題も無くコンパイルできましたよ?
0578デフォルトの名無しさんNGNG
なんとなく、コンパイルするディレクトリの問題の予感。
0579デフォルトの名無しさんNGNG
>>573 B.javaのファイル名を Buy.javaにするか、
Buyというクラスのクラス名をBという名前に変更せよ。
0580デフォルトの名無しさんNGNG
>>574
煽る訳じゃないが、Eiffelは関係無いのでは?
つーかEiffelで動作可能だからって、Javaとは関係無い。

戻り値が無いって事を明示的に書く方が可読性が上がると思うんだが。
0581573NGNG
CLASSPATHにこれらが入っているフォルダまでのパスを追加したら
成功しました。
お騒がせしました。
0582574NGNG
>>580
EiffelをあげたのはJavaに似た言語で単にvoidが無くても動作する例を見せたかったからです。
voidが無くても動作可能だったはずなのはわかりますよね。

>戻り値が無いって事を明示的に書く方が可読性が上がると思うんだが。
C/C++ユーザが多い = voidがあった方が読みやすい人が多い
ということであれば同意します。

はっきり言ってあってもなくても大して変わらないと思うのでC/C++ユーザを確保するために
他の文法も含めてJavaではvoidを書くことにしたのだと思います。
0583デフォルトの名無しさんNGNG
>>581 AクラスとBクラスを別ディレクトリ、別パッケージから参照するプログラムを作るわけでなければ
CLASSPATHいらないと思う。
0584デフォルトの名無しさんNGNG
>>582 Java/C/C++/C# と Python との比較はどうですか?
あれこそ斬新な記述方法を持った言語という気がする。
戻り値の記述がかなり簡略化されているのに惹かれた。
0585デフォルトの名無しさんNGNG
procedureとfunctionみたいな明確な線引きって無いからな。
でもやっぱ可読性高めるためにvoidはつけとけよ。
大した手間でもあるまいし
0586574NGNG
>>584
すいません、そういう話は好きなんですが
スレ違いになりそうなのと僕がPythonを良く知らないのでダメです。

というわけでPythonを勉強してきます。。。
0587574NGNG
>>585
そういうことですね。
voidつけるのもたいした手間じゃないし
voidが無いことから返り値がないことを理解するのもたいした手間じゃない。
というわけであってもなくてもどっちでも良いですけれど。
0588デフォルトの名無しさんNGNG
構文の一貫性は重要。
0589デフォルトの名無しさんNGNG
>>581
そんなバカな!コンパイルエラーと言っていたではないか!
0590デフォルトの名無しさんNGNG
return void;
0591デフォルトの名無しさんNGNG
void f1() {
}
void f2() {
return f1();
}

これができないのは糞
0592デフォルトの名無しさんNGNG
コンストラクタでreturn使うのってどうなん?

hoge(String str){
  if (str == null) return;
  this.str = str;
}
みたいの
0593デフォルトの名無しさんNGNG
初歩的な質問なんだけど、例えば
public Amethod(double x){}の引数xにint型の値を渡してメソッドを呼ぶことって出来たっけ??
それとコンストラクタの場合も同様に??
0594デフォルトの名無しさんNGNG
相談にのってくださいませ。

今perlでテキスト処理がメインのプログラムを作ってます。
コードが長くなり袋小路に追い込まれています。

そこで、オブジェクト指向の考えを取り入れようかと思っています。
しつもんなのですが、オブジェクト指向で
テキスト処理が主のプログラムを作成するときに、

・今までどおりperlでオブジェクト指向を取り入れる
・正規表現も使えるようになったJavaに移行する

のどちらがベストですか。
よろしくおながいします。

0595デフォルトの名無しさんNGNG
テキスト処理程度ならperlでいいだろ…
0596デフォルトの名無しさんNGNG
>>594
あなたの中で繋がっているであろう認識の連鎖が、必ずしも一般的では無い可能性について、
心のノートに300字以内でまとめよ。

それが出来ない場合、Perlスレに行き、構造化ないしOOの設計について質問汁。
0597デフォルトの名無しさんNGNG
>>594
Python や Ruby を使ってみるに一票
0598名無しさん@3周年NGNG
Javaでimportされたクラスにmainメソッドがあって、
importしたクラスにもmainメソッドがある場合、
importされたクラスのmainメソッドは動作しないんでしょうか?
0599デフォルトの名無しさんNGNG
長いって何行?
0600デフォルトの名無しさんNGNG
>>598
実行するときにクラスを指定してるじゃん
0601デフォルトの名無しさんNGNG
>>592

できる。

>>593

できる。

>>598

普通のstaticメソッドを使うようにmainメソッドを書けば実行できる。
0602デフォルトの名無しさんNGNG
>>594
コードが長くなり、袋小路に追い込まれているのとオブジェクト指向はほとんど関係ないでしょう。
その状態であればPerlを使いつづけるのがいいと思います。
Perlで手続き型のプログラミングをしても立派なコードはかけます。
機能ごとにメソッドに分割するとか、変数名などを誰にでもわかりやすい名前に変更するなどして、
コードを理解しやすくしましょう。
あとグローバル変数を利用するのは止めましょう。
0603デフォルトの名無しさんNGNG
>>504
HttpServlet の init メソッドは インスタンス生成時に一回だけ、
つまりServlet コンテナが起動してから最初にServletが呼び出されたときのみ呼ばれる。
アクセス毎に呼び出される処理を書きたかったらservice(あるいはdoGet,doPost)内に
書くべし。
0604教えて君returnNGNG
>569 >572
お返事ありがとうございます。
実機では本当に動いています。
操作可能なんです。
>○java.lang.IndexOutOfBoundsException
でした。m(_ _)m
そのとおりです。
504のプログラミングを解説しているサイトをご存知無いでしょうか?
503時代はあんなにたくさんあったのに・・・。
0605 ◆odHOE.4x.I NGNG
>>498
特に記述する必要はないが「明示的」に 返す値はない といった所かな。
ただし、記述する必要がなくても「明示的に」記述することでソースが
読みやすく(見やすく)なる場合もあるよ。

boolean bFlag ;
と宣言しても
boolean bFlag = false ;
と宣言しても、booleanは初期化しない場合はfalseなので記述の義務はないが、
後者「明示的に」書いておくことで、 目で見て理解できるでしょ?

Object o = null ;// ここも 明示的に nullを書いているだけ
o = new Object();
0606デフォルトの名無しさんNGNG
>>498
メソッドの途中でif文等の分岐で条件によっては
そこで処理を終わらせて強制的にメソッドを抜けたいときには
return を書くとそこで処理を終わらせることができる。

>>605
Object o;
と
Object o = null;
は違うよ。
前者は初期化なしで変数の宣言のみ。
この記述だけだと変数oはnullとはならない。
後者は宣言と初期化を同時に行う。
0607デフォルトの名無しさんNGNG
>>605
試しにこんなプログラム書いてみ。
public class Test{

 public static void main(String[] args) {

   Object o;
   if (o == null) {
     System.out.println("null");
   } else {
     System.out.println("nullではない");
   }

 }

}

Test.java:6: 変数 o は初期化されていない可能性があります。
if (o == null) {
^
エラー 1 個

こんなエラーが出てコンパイルできないから。
0608 ◆odHOE.4x.I NGNG
voidをつけることは>>588のいうとおり必要なことだとは思うが、
C/C++のように intで宣言して int 0; でvoid扱いにするといったことをJavaでは
「やめ」にしたと、俺は解釈しているよ。

メソッドは宣言する際に必ず「何の型の値を返す」かを指定する必要があり、返す
値がない場合は void型の値を返すことになるのでは? そーいう意味では 
voidメソッドに return ; はあっても良いよね。

さらに>>592のいう、voidを付けることすら許されないコンストラクタの場合、
当然 return ; するべきではないと思う。実際、そーいったソースはよく目にするけどね。
0609 ◆odHOE.4x.I NGNG
あ、いわれてみれば確かにそうだね。
newする前に使うことを(使われることを)考えていなかったよ。
俺は = null ; とする事で、「この変数はまだ new されてないんだよ〜」と
「明示的に」しておくことが出来ると思ったんだ。
0610 ◆odHOE.4x.I NGNG
>>608
int 0 ; -> return 0 ; だね ^^;ごめん
0611デフォルトの名無しさんNGNG
独習JAVAで勉強中のスーパー初心者です。

静的変数とインスタンス変数の違いを教えてください。

いろいろと他のドキュ探して読んではいるのですが、もうサッパリ、、、
なんかJAVA抑えるにはこの辺が肝になりそうな予感なので、
わかり易い資料等ありましたらぜひご教授ください。
0612デフォルトの名無しさんNGNG
>>611
java直前必修問題集を読め。(青本)その前にやさしいjavaもいいぞ。
0613611NGNG
>>
0614611ですがNGNG
↑ミス、すまそ
>>612
あとで本屋に逝ってきます。
0615611ですがNGNG
静的変数の場合

System.out.println("Min of -8 and -4 is " +
Math.min(-8, -4));

このステートメントの場合だと、Mathクラスのminというメソッド
を呼び出して()内の値を返す。
0616611ですがNGNG
インスタンス変数の場合

String s = "One Two Three Four Five Six Seven";
String substring = s.substring(0, 10);
System.out.println(substring);

このステートメントのあるクラスのsというString型のインスタンスに
substring(0, 10)というメソッドを使って値を返す。

という認識でよいのでしょうか?
0617デフォルトの名無しさんNGNG
>>616
よいです。
0618611ですがNGNG
>>616
ありがとうございます。

もうひとつよろしこです。
s.substring(0, 10);
と記述することで、sというインスタンスに、
Stringクラスのsubstringというメソッドが呼び出せる

であると、Stringクラス はString型のインスタンスに対して、
".メソッド名"が記述されたことで呼び出される。。。

と思っておけば良いのでしょうか???

つーか自分で頭の中が整理できたきがするにょ
0619デフォルトの名無しさんNGNG
英語の文字列の先頭を大文字に変えるメソッドってない?
Sunのリファレンスを一通り見たんだけどないみたい。
誰か知っていたら教えてくれ
0620デフォルトの名無しさんNGNG
>>619
Sunのリファレンスみたのなら、java.lang.StringのtoUpperCase()は
見つからなかったの????
文字列の先頭文字をsubstringとかcharAt()で取り出して、toUpperCase()で
大文字に変換してreplace()かなんかで元の文字列の先頭文字と入れ替えれば
OKじゃないのかな?
0621デフォルトの名無しさんNGNG
>>619
Character.toUpperCase(str.charAt(0)) + str.substring(1);
こんな感じかな?
0622デフォルトの名無しさんNGNG
char[] c = str.toCharArray();
c[0] = Character.toUpperCase(c[0]);
new String(c);

なんてやり方もある。
0623386NGNG
こんにちわ。
数日前にSerializableについてバイナリデータとして保存できないということ
で質問したものです。
保存できないのはどうもStackOverflowErrorという再帰メソッドに関する
エラーのためなようです。階層が深すぎるためのもののようですが、
解消法としてtreeを浅くするしかないのでしょうか??
0624デフォルトの名無しさんNGNG
>>623
循環参照をしてるんじゃないか?
フィールドが保持しているインスタンスを注意深く見てみれ
0625386NGNG
>624
循環参照ってお互いに参照しあってるとか自分自身を参照してるっていう
ことですよね。一応それは避けるようにプログラミングしたし、実際tree
のノードをみてみたけど循環している気配はなかったです。
0626デフォルトの名無しさんNGNG
下記のsourceがコンパイルできません。
「abstractとして宣言してます」と表示されるんですがどうしてなんでしょうか?
長いみたいなので2つに分けます。お願いします


class CarI
{
  private int num;
  private double gas;
  public CarI()
  {
  num=0;
  gas=0.0;
  System.out.println("車を作成しました。");
  }
  public void setCar(int n,double g);
  {
  num=n;
  gas=g;
  System.out.println("ナンバーは"+num+"にガソリン量を"+gas+"にしました。");
  }
  public void show()
  {
  System.out.println("車のナンバーは"+num+"です。");
  System.out.println("ガソリン量は"+gas+"です。");
  }
}
0627626NGNG
class sample9
{
  public static void main(String args[])
  {
  CarI cars[];
  cars=new CarI[3];

  for(int i=0;i<cars.length;i++){
  cars[i]=new CarI();
  }

  cars[0].setCar(1234,20.5);
  cars[1].setCar(2345,30.5);
  cars[2].setCar(3456,40.5);
  for(int i=0;i<cars.length;i++){
  cars[i].show();
  }
  }
}
0628U ◆CZtFsGiu0c NGNG
>>626
ほんとにこれだけ? 親クラスを継承したりインタフェースを実装してたり
していない?
0629デフォルトの名無しさんNGNG
どこにabstractがあるんだろう。。。
0630デフォルトの名無しさんNGNG
>>626
エラーメッセージを貼らないのは答えてもらえないパターン。
どうせあとで聞かれるんだから最初から貼れよ。
0631626NGNG
すみません。errorメッセージは下記の通りなんです・・
ソースは上記の2つだけです。


C:\A\BIN>javac sample9.java
sample9.java:11: メソッド本体がないか、abstract として宣言されています。
public void setCar(int n,double g);
^
sample9.java:13: シンボルを解釈処理できません。
シンボル: 変数 n
位置 : CarI の クラス
num=n;
^
sample9.java:14: シンボルを解釈処理できません。
シンボル: 変数 g
位置 : CarI の クラス
gas=g;
^
エラー 3 個
0632デフォルトの名無しさんNGNG
>>631
public void setCar(int n,double g);
{

隊長!余分なセミコロンを発見しました!
0633626NGNG
>>632氏初め、皆様方
セミコロンは外してコンパイル成功しました。
皆さん本当に有難うございました。
でもどうして「abstract」と表示されるんでしょうか・・・
もう少し勉強してみます
0634デフォルトの名無しさんNGNG
>>633
public void setCar(int n,double g);
だとエラーメッセージが言うようにメソッド本体がないことになるから、
メソッド本体は派生先で実装することになる。だからabstractって言われる。
0635デフォルトの名無しさんNGNG
>>594 >>602 perlだと継承できないんでなかったっけ?

>>606 tryの中にreturnがあるときはfinallyを先に実行してからreturnするよーん。

>>611 おれは初めてJavaを勉強した本は「独習Java」だったがまあまあよかったと思うぞ。
なんであんな本買ったかというとあれのC言語版、「独習C」がすごく丁寧に説明されていたから、
という単純な理由だけで「独習Java」を買ってしまった。Javaを初めて勉強するにはまあまあだったとは思う。
あれで実際に例題と練習問題を解いて自分でコンパイルして自分で実行すれば
あれでも基礎的な理解だけでも十分深まると思う。
0636611ですがNGNG
>>635
さんくすこ!見えてきました!
このまま「独習Java」で最後まで猛進します。
0637デフォルトの名無しさんNGNG
>>636
ただし、独習Javaはプログラムの経験がない人には難解なので注意が必要。
はじめてプログラムを勉強する人向けの本ではない。
0638デフォルトの名無しさんNGNG
>>635
>perlだと継承できない
0639デフォルトの名無しさんNGNG
JAVAを初めて2ヶ月ぐらいで大それた事をしようとしてヒィヒィ言ってます。
アプレットで作成した画像をCGIを介して保存したいのですが、

String stAddr="www.***.co.jp";
String stUrl="http://www.***.co.jp/~hoge/hoge.cgi
BufferedImage bi;

try { // サーバー接続用ソケットと出力ストリーム作成
sock=new Socket(adr,80);
osStr=sock.getOutputStream();

} catch(Exception e) {}
try{
ImageIO.setUseCache(false);
ImageIO.write(bi, "png", osStr);
} catch(Exception e) {}

とやったのでは当然出来ません。
そこでヘッダーを追加したいのですが、

String stHead="POST "+stUrl+" HTTP/1.0\n";
stHead+="Content-Length:"+String.valueOf(s)+"\n\n";

 とし、どこかにstHead.getBytes()と追加するのだと思っていますが、
 ImageIOから出力されるであろうサイズsを求めるにはどうすればよいのでしょうか。
 またヘッダーはどういう風に追加すれば宜しいのでしょうか?
 ご教授お願いします。
0640デフォルトの名無しさんNGNG
       / ̄ ̄ ̄ ̄\
        /     ●  ●、
        |Y  Y       \
        | |   |        ▼ |
        | \/      _人_|
        |       ___/
        \    /
          |    l |
          |    | |
         /    /| |
         |   / | |
         |  | |  U
         | || |
          | / | |
         // | |
        //  | |
       //   | |
       U    U

0641デフォルトの名無しさんNGNG
>>639
念のために聞くが、当然そのCGI(Servletでもなんでもいい)は、
multipart/form-data を解析して、サーバ内のファイルシステムに保存するような
処理はしてるんだよな?

とりあえずRFCを読め。特に"POST"のバウンダリ文字列関係の記述部分。

#つーかなんでSocket使ってるんだろう...。使いたかったのか。
0642デフォルトの名無しさんNGNG
>>641
おいおい、なんでmultipart/form-dataなんだよ(藁
0643デフォルトの名無しさんNGNG
>639
そういう経験は無いけど俺だったらどうするか。
1、まず、とりあえずプレーンテキストで同様のことをするプログラムを組んでみる。
2、今度はアプレット上の画像をJPEGかPNGにしてBASE64かなんかで
  テキストに変換して標準出力に出す奴を作ってみる。
3、それをプレーンテキストを受け取るCGIに送りつけるのを作る。
  (Javaの標準APIでできそう。ってバイナリも意外と行けたりしてw)
4、CGIをいじってBASE64デコードをさせる。

完成。バイナリデータを清く正しく送るんだ!とかいう理想に萌えてるんならRFCを読みましょう。
0644639NGNG
CGIというかperlで
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
と一行で標準出力から得られるんで
open (GOTPIC, "hoge.png");
print GOTPIC $buffer;
close GOTPIC;
とすれば保存は出来るのかなと思ってました。
標準出力する為に必要なのが分からなくて、
調べてたらSocketで出来たからというのがSocket使ってる理由だったりします。
0645デフォルトの名無しさんNGNG
importでsqlなりutilなり用途ごとに宣言するけど
あれって共通のものは初めから全部宣言して、
宣言したけど使わないものは別に無視にしたら良いと思うけど
駄目なの?
0646デフォルトの名無しさんNGNG
>>645
そうしたほうが良いという意見と、してはいけないという意見、
どちらも見たことがある。自分で決めてくれ。
0647デフォルトの名無しさんNGNG
>>591
C++ではできるらしいね。STL用に構文が拡張されたとか。

>>606
ローカル変数は初期化されないがフィールドに関しては
参照型はnullで、値型はfalse, 0, 0.0などで初期化されることが保証されてる。
0648デフォルトの名無しさんNGNG
byte型で、0xffを代入したいときはどうすればいいのでしょうか?
精度が落ちる可能性がある、って言われてエラーになります。
それとも、符号有りなので無理なんでしょうか?
0649デフォルトの名無しさんNGNG
>>648
byte の範囲は -128 〜 127 まで。 0xFF は 255 なので範囲外。
Java では精度を落とす型変換をCみたいにコンパイラが
暗黙のうちにやってくれないため、 byte b = (byte)0xFF;
みたく明示的にキャストしてやらないとダメです。
0650639NGNG
皆様レスありがとうございました。
結局
ByteArrayOutputStream oSt = new ByteArrayOutputStream();
ImageIO.write(bi,"png",oSt);
byte[] t = oSt.toByteArray();
//ヘッダ
     byte[] stSend = stHead.getBytes();

として強引にtに書き込みました。
そこでtとヘッダのstSendを足したいのですが、バイナリデータ同士を足すにはどうすればよいのでしょうか?
0651デフォルトの名無しさんNGNG
>>649
説明間違ってませんか。
0xFFって2進で1111 1111 1111 1111でしょ?
別に精度の問題なくbyteにキャストできる。
ちなみにbyteは2の補数で負数を表現するから-1だよ。
0652デフォルトの名無しさんNGNG
>>650
サイズがわかっているのであれば、新たな配列を確保して、
System.arraycopyしてやればいい。
0653デフォルトの名無しさんNGNG
>>651
4bit区切りがウザイ。
0654デフォルトの名無しさんNGNG
>>648
簡単な説明:
OxFFというリテラル値を、コンパイラはintと解釈します。
byteへの代入は縮小変換になりますので、キャスト無しでは
コンパイラが代入を許してくれません。というだけの話。
0655デフォルトの名無しさんNGNG
>>651
>0xFFって2進で1111 1111 1111 1111でしょ?
藁

>別に精度の問題なくbyteにキャストできる。
精度落ちるよ。
byte b = (byte)0xFF;
byte c = -1;
System.out.println(b == c);
0656デフォルトの名無しさんNGNG
>>655
それよかbの中身を見たいぞ。
0657655NGNG
>>656
b = 1111 1111 (2)
c = 1111 1111 (2)
0658デフォルトの名無しさんNGNG
>>655
コンパイルエラーだよ (藁
0659デフォルトの名無しさんNGNG
>>650
oSt.toByteArray()する前に、oStに追加分をwriteすれば?
ストリームってなんだか分かってますか?
0660デフォルトの名無しさんNGNG
なんかマヌケなやり取りがつづいてますね。
0661デフォルトの名無しさんNGNG
微笑ましいですね。
0662 ◆odHOE.4x.I NGNG
>>647
>ローカル変数は初期化されないが

ここかポイントだったね
0663デフォルトの名無しさんNGNG
>>645
やってもかまわんがソースの可読性の問題だね。
0664デフォルトの名無しさんNGNG
さすが初心者スレ
0665 ◆odHOE.4x.I NGNG
>>645

import java.util.* ;
も
import java.util.Vector ;

どちらも処理等に影響することはないんだけどね。
特に何を必要としているかが分かるでしょ?しかもソースの頭で。
0666 ◆odHOE.4x.I NGNG
public class HOE extends java.applet.Applet //←
{
// こーいう指定の仕方はどうかとは思うけど、同じクラス名で衝突する
// 場合もあるからそーいう時は java.util.xxxx foo = new java.util.xxxx()
// とする時はあるよね
}
0667458NGNG
レス有り難うございます。

まさか、宣言時にキャストが要るとは思いもしませんでした。
066828NGNG
激しく古いネタですが・・・

使ってたIMAPサーバがJavaMailのコマンドに対応していませんですた・・・
#こんな感じ XX FETCH 1 (BODY[2]<0.16384>)

調べた結果、mail.imap.partialfetch Propertyn変更で一応の対応はできたっぽいです。
# Properties props = System.getProperties();
# props.put("mail.imap.partialfetch","false");

まぁ、まだ本文部分は取得できとらんわけですが・・・ (つД`)
0669デフォルトの名無しさんNGNG
java1.3.1でチャットを作っています。

TextArea 内に Append するときに文字色を変えようと思ったのですが、
そういう機能が見つからず、JTextArea を使おうかと思っています。

しかし、JTextArea だと水平方向のスクロールバーがとれなくて困っています。
また、色を変えるのに setSelectedTextColor メソッドを使ったのですが、
変わってくれません。

どなたかやり方を教えてください。
質問をまとめてみます。

1.TextArea 内に表示する文字の色を変えることができるのか。
2.1が可能ならばその方法。
3.JTextArea の水平スクロールバーを削除する方法。
4.JTextArea 内の文字色を変える方法。

ヒント程度でいいので、おねがいします。
0670デフォルトの名無しさんNGNG
>>669
>1.TextArea 内に表示する文字の色を変えることができるのか。
無理

>3.JTextArea の水平スクロールバーを削除する方法。
JScrollPane の setHorizontalScrollBarPolicy(int policy) 等で
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER を指定する。

>4.JTextArea 内の文字色を変える方法。
javax.swing.text.StyledDocument の実装
もしくは javax.swing.text.DefaultStyledDocument を改造する。
0671デフォルトの名無しさんNGNG
EJBのめんどくささには呆れてます。
早くなくなれJAVA
0672デフォルトの名無しさんNGNG
>>671
その手の話題は以下のスレでお願いします。

Javaって死滅しちゃうの?
http://pc3.2ch.net/test/read.cgi/tech/1042268758/l50
0673デフォルトの名無しさんNGNG
JCP 見てたら Tiger(JDK1.5) 用拡張案を発見しますた。

More New I/O APIs for the JavaTM Platform ("NIO.2")
http://www.jcp.org/en/jsr/detail?id=203

1.ネイティブファイルシステムに依存しない広範なファイル属性へのアクセス,
 ファイルシステムにプラグインできるサービスプロバイダ作成用API
2.ファイルとsocket両方の非同期I/O処理用API。
3.バインディング、オプション指定、マルチキャストデータグラムを含む
 JSR-51で定義されたソケットチャンネル機能性の完成。
0674 ◆odHOE.4x.I NGNG
>>669
>469にもありますが、
>http://openlab.ring.gr.jp/kyasu/
>の KFC とか使えば可能かも。

が参考になるかも。色を変えられるだけでなくアイコンも付けられます。
0675669NGNG
>> 670
>> 674

ありがとうございます。
スクロールバーは消せそうです。

色の方はまだ時間がかかりそうですが、
頑張ってみます。

ところで
>http://openlab.ring.gr.jp/kyasu/
はリンク切れポイんですが・・・。
0676(-ω-)/NGNG
プログラムと全然関係無いのですが、すいません。
ワードで画像を貼り付けたあと、画像を動かしたいんですができません。
教えてください。お願いします。
0677デフォルトの名無しさんNGNG
>>675
どこが切れてんだか・・・
0678デフォルトの名無しさんNGNG
>>676
霊的現象によるパソコンの誤作動が原因っぽいので、
塩水を本体にかけて清めてみろ。
0679626NGNG
>>634
abstractやinterfaceの実装はまだ理解できていないので
意識して学習してみます。有難うございます。

少し学習してふと思ったことんですが
例えばCarクラスのコンストラクタの
public Car()
{
}
「Car」という部分は戻り値みたいなものなのかな...と思ったのですが
どうなのでしょうか...?
0680デフォルトの名無しさんNGNG
>>679
コンストラクタに戻り値はない。
0681デフォルトの名無しさんNGNG
>>679
>>680が正解だけど、あえていえば、そう言えないことも無い。
0682669NGNG
ほんとすみません。
切れてませんでした。
わざわざ教えていただいたのに・・・汗
0683デフォルトの名無しさんNGNG
>>681
んなこたーない
0684デフォルトの名無しさんNGNG
コンストラクタに戻り値がないのは、コンストラクタは自身の
オブジェクトを返す必然性から戻り値を指定する意味がない
から(自身の型を返すしかないから)だと思うのだが。
0685デフォルトの名無しさんNGNG
>>684
そゆことだネ。
返り値を指定できるとしたらプールしたインスタンスのポインタを返してやるとか、
いろいろあるネ。
0686デフォルトの名無しさんNGNG
マルチキャスト使ったプログラムを作ったんですけど、
Linuxじゃ、外にパケットが飛んでいきません。入っても来ないです。
PORTは1002を使ってます。
Windowsで同じバイナリで動くことは確認しました。

原因が分かる方はいらっしゃいませんでしょうか?
0687デフォルトの名無しさんNGNG
>>686
いるんじゃないかな。
0688デフォルトの名無しさんNGNG
>>687
おれもそう思う
0689デフォルトの名無しさんNGNG
>>686
OSがLANカード認識してないとか(ワラ
0690デフォルトの名無しさんNGNG
>>686
回答もらえて良かったですね。ではがんばってください。
0691686NGNG
ありがとう。がんばるよ。

Linux板の方が良かったかな・・・。
0692デフォルトの名無しさんNGNG
参考書みても全然載ってないのですが
ビジネスロジックとフレームワークって何ですか?
具体的に何をさしてるのですか?
0693デフォルトの名無しさんNGNG
>>691
質問は「原因が分かる方はいらっしゃいませんでしょうか?」
だろ?>>687-688で何が不満なのか。二度と来んな。
0694デフォルトの名無しさんNGNG
>>692
暴論な。

ビジネスロジック:≒ロジック≒アルゴリズム
フレームワーク:そのジャンルのアプリケーションで共通な部分をモジュール化し、必要最低限のコードを書けばソフトが完成してしまうと言う便利だけれど融通の利かないクラス群。
0695デフォルトの名無しさんNGNG
かわいそーだよー(;_;)
0696デフォルトの名無しさんNGNG
>>692
http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q=%83t%83%8c%81%5b%83%80%83%8f%81%5b%83N%82%c6%82%cd
http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q=%83r%83W%83l%83X%83%8d%83W%83b%83N
本見てわからなきゃ検索くらいしろよこのスットコドッコイ
0697デフォルトの名無しさんNGNG
ネットワークってまるでダメ男なんだけど、答える方だってもう少し情報が欲しいんじゃないの?
つか、ファイアウォールの設定とかだったら死刑だけど。
つか、ウェルノウンポート一応避けるとか。
0698デフォルトの名無しさんNGNG
classpathの設定が悪くてエラーが出ると思われるのですが、
自分ではclasspathを設定しているつもりです。
現在設定されているclasspathを確認する方法はありませんか?
0699686NGNG
ごめん。
書いたあとで、情報少なすぎることに気付いた。
>>693
もう来ないから堪忍してくれ。

マジで申し訳ない。
0700デフォルトの名無しさんNGNG
>>698
DOS
> echo %CLASSPATH%
他
$ echo $CLASSPATH
0701デフォルトの名無しさんNGNG
他
set
0702デフォルトの名無しさんNGNG
>自分ではclasspathを設定しているつもりです
設定している部分を見る。
0703デフォルトの名無しさんNGNG
set | grep CLASSPATH
とか。
0704デフォルトの名無しさんNGNG
<ソース>
http://www.hellohiro.com/src/HelloWorldJDBCMySQLUpdate.java

<設定クラス>
%classpath%;.;c:\azMySq;c:\j2sdk1.4;c:\j2sdk1.4\jre\lib;.;c:\j2sdk1.4\jre\lib;c
\j2sdk1.4\jre\lib\ext;c:\azMySq;c:\j2sdk1.4;c:\j2sdk1.4\jre\lib;C:\j2sdk1.4\lib
org\gjt\mm\mysql;c:\j2sdk1.4\jre\lib;c:\j2sdk1.4\jre\lib\ext;C:\j2sdk1.4\lib\ex
\org\gjt\mm\mysql;C:\j2sdk1.4\lib\mysql-connector-java-2.0.14-bin.jar;C:\作業フ
ォルダ\mysql-connector-java-2.0.14
<Driver保存場所>
C:\j2sdk1.4\lib\ext\org\gjt\mm\mysql
<エラー>
Exception in thread "main" java.lang.NoClassDefFoundError: Driver (wrong name: o
rg/gjt/mm/mysql/Driver)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:130)
at HelloWorldJDBCMySQL.main(HelloWorldJDBCMySQL.java:9)
0705704NGNG
エラーの内容です。
お手数ですが、よろしくお願いします。
0706デフォルトの名無しさんNGNG
>>686
Linuxがどうなっていたかは判りませんが、
たしかUNIX系のOSはルート権限をもつ者でなければ、
1024番未満のボートは使用不可能なのではなかったかと。

それか>>689などの
プログラム以前のハードよりのところに原因があるのではないかと。
>>686の情報だけではなんとも助言のしようもありませんが。
0707デフォルトの名無しさんNGNG
>>704-705
おそらくはclasspathの問題。
>>1-3か、そのソースの載っていたホームページをご熟読ください。
0708706NGNG
失礼。ボートではなくポート。
訂正しなくとも判るとはおもうけど一応訂正。
0709デフォルトの名無しさんNGNG
>>645 Dateクラス使うとバッティングするで
Dateクラスなど使うときはやめとく。
同じソースファイルで
java.sql.Dateとjava.util.Date両方使いたいときは、import宣言は使用禁止や

>>704 C:\j2sdk1.4\lib\ext\org\gjt\mm\mysql
が怪しい。 末尾にjarファイルも指定してみては?

jreとかパス通しすぎ。重複しているようにも見える。
0710704NGNG
何とか動きました。
ありがとうございました。
原因はやはり、クラスパスでした。
クラスパスが汚れすぎてよく分からなくなってしまったので、
またやり直す予定です。
<対処方法>
クラスパスの追加。ドライバをコピーしていくつか
ヒットしそうな場所にコピー。
<実行結果>
Hello!
1 日本語 こんにちわ 世界
2 英語 Hello World
0711デフォルトの名無しさんNGNG
Swingなどのウィンドウアプリケーション(Not アプレット)で、自分自身が
すでに起動していないかを調べる(WinMain関数の引数みたいな)方法を
知りたいっす。
0712デフォルトの名無しさんNGNG
>>711
JNIを利用するか、Application LoaderをOS依存のCかなんかで書くかして、そこでチェックするしかないですね。
0713デフォルトの名無しさんNGNG
>>711
汚い方法で良いなら、特定のファイルが生成されてたら起動不可
みたいなプログラム使えば出来なくも無い。
0714デフォルトの名無しさんNGNG
1919とか使われてなさそうなポートにバインドしておく。二回目以降1919のバインドに失敗する。とか。
0715デフォルトの名無しさんNGNG
すみません
JavaでDVD動画再生アプリって作れるものなのですか?
0716デフォルトの名無しさんNGNG
>>715
出来ない理由はあまり無いです。所詮はDVD-ROM上のファイルなんで。
0717デフォルトの名無しさんNGNG
問題はDVDのプロテクトだな。あとは速度とかフルスクリーン表示は
どうするの?とかいった些細な問題しかないだろう。
0718デフォルトの名無しさんNGNG
JRE 1.4.1_01 と Navidia と WinXPSP1 の組み合わせで
フリーズするひとはおられますか!?
0719デフォルトの名無しさんNGNG
>>718
nVidiaってISA時代からビデオチップをものすごい種類作ってて最近はマザーボードにまで手を出してるんだが。
0720デフォルトの名無しさんNGNG
>>719 それがどうかしたのか? 信者で悪口を言われたようでむかついたとか?
0721デフォルトの名無しさんNGNG
>>720
nVidiaの何使ってんだよハゲ。ってことですよ。
0722デフォルトの名無しさんNGNG
WinXP SP1クリーンインスコで
時たまランダムリブートしてしまうのですが、、、
これってSunに公表されていないのかな
0723デフォルトの名無しさんNGNG
>>721たしかに。SONY使ってるんですがうまく洗えないんです。みたいなもんだ。
0724デフォルトの名無しさんNGNG
>>720
漠然と nVidia ってだけじゃ情報不足って事では?

ところで Navidia ってのは typo でいーんだよね?
0725デフォルトの名無しさんNGNG
G force2 Go ってやつです。スマソ
0726デフォルトの名無しさんNGNG
>>725
1. Java を使ってるときだけ発生するのか?
2. 1.が yes なら、どのクラス(コンポーネント)を使ったときに再現するかを調べて
 BugParadeに報告しといてくらさい。
0727デフォルトの名無しさんNGNG
レス感謝!

Java使ってるときだけです
調べてみていないのですがやってみます
0728デフォルトの名無しさんNGNG
>>727
BugParade検索したらこんなんありました。

App crash drawing lines after display mode switch (windows/GeForce2Go chip only)
http://developer.java.sun.com/developer/bugParade/bugs/4731131.html

jdk1.4.1_02 とか jdk1.4.2 では直ってるらしい。
(ちなみに両方ともまだ出てません)
0729デフォルトの名無しさんNGNG
どうもありがとう。。。
これでやっと先に進めます
0730デフォルトの名無しさんNGNG
>>729
一応言っておくけど、キミんとこで発生してるバグが >>728 と同じとは限らないので要注意。
0731デフォルトの名無しさんNGNG
java関係ないかもしれないんですが教えてください^^;
JSPで inputtype=textareaにて取り込んだ改行つきのデータを
SQLに保存し後でそれをそのまま出そうとしたら改行が無効になってでてきてしまいます。
textareaボックスを作ってその中にだすと正しく表示されるのですが
どうしてなんだろう・・
0732デフォルトの名無しさんNGNG
>>731
<br /> タグと \nとの違いはわかるか?
0733デフォルトの名無しさんNGNG
>>712-713
711です。どうもありがとう。とりあえず>>713さんの方法が
一番簡単っぽい。ただ、ファイル作ってクローズしちゃうと
ファイル消していくらでも起動できるので、起動でファイル
を作ったら開きっぱなしにしておいて、終了で削除するの
がいいような気がしてきた。
0734デフォルトの名無しさんNGNG
俺の提案は無視されたか・・・。
0735デフォルトの名無しさんNGNG
>>734
>>714さん?すいません、ポートにバインドとかよくわからんかったので。
0736デフォルトの名無しさんNGNG
>>713は汚い方法じゃないよ。 れっきとした手法だよ。
>>714は汚い方法だよ。 でも俺はこっちの手法のが好きだ。最高。
0737731NGNG
<br /> はタグで
\n   は文字コード?
0738デフォルトの名無しさんNGNG
>>737
>SQLに保存し後でそれをそのまま出そうとしたら改行が無効になってでてきてしまいます
こいつの出力先はHTMLだよな?
HTMLなら \nを <br />に変換汁
0739 ◆odHOE.4x.I NGNG
TEXTAREAに改行を生かすオプションとかあったような。
ちがうか。
0740デフォルトの名無しさんNGNG
http://itpro.nikkeibp.co.jp/members/NBY/techsquare/20030117/2/
普通、こういう感じでVectorなりに突っ込んだオブジェクトを
利用するときには
あらかじめ適当なインターフェイスを付けたものだけ
ぶちこみませんか?
もっと言うとVectorをそのまま使わずに適当に継承とかしたりして
Objectじゃなくあるインターフェイスを
持つものだけしか入れたり出したりできないように
しておくものじゃないの?
その方が器の特性がはっきりして保守性とか向上するじゃん?
0741デフォルトの名無しさんNGNG
>>740
その通り、しかし何とも面倒くさい。
JDK1.5のジェネリック機能に期待と言うところか。
0742デフォルトの名無しさんNGNG
>>740
受け取るのが String だったら例外的に
vec.get(index).toString() みたいにする事もできるんだけどね…
0743デフォルトの名無しさんNGNG
(String)vectoe.get(i)とかな
0744デフォルトの名無しさんNGNG
カスタムタグの属性にObject型は渡すことは可能でしょうか?
toStringしてから属性に設定するしかないのでしょうか?
以下のような方法でテストしてみました。

JSP
<% Date date = new Date(); %>
<sample:test arg="<%=date%>">

タグハンドラ
public String arg;

public void setArg( Object arg ){
this.arg = arg.toString();
}

public int doStartTag(){
pageContext.getOut().print( arg );
}
0745デフォルトの名無しさんNGNG
Javaで動的配列ってどうやって作るの?
String[] a = new String[];
じゃダメみたいだし。
0746デフォルトの名無しさんNGNG
>>745
Vectorとかどうだい?
0747デフォルトの名無しさんNGNG
>>745
ArrayListか、LinkedList使っとけ。
目的によって使い分けるが吉。
0748デフォルトの名無しさんNGNG
次のアセンブリ言語で書かれたプログラムは何を計算するのか答えよ。教えてください
おねがいします!

MOV $1000,%EAX
MOV $0,%EDX
L1;
CMP $0,(%EAX)
JNZ L2
JMP L3
L2;
ADD(%EAX),%EDX
INC %EAX
JMP L1
L3;

0749デフォルトの名無しさんNGNG
スレ違いだしバグってるし。
宿題スレに池。
0750デフォルトの名無しさんNGNG
すみません
0751デフォルトの名無しさんNGNG
指定したある文字と文字の間の文字列
例えばコメントの/*------*/ の間の文字列を一斉に削除したいのですが
うまいやり方ってありますか?

ちょっとならいいけど、たくさんだと、それだけでかなり時間のロスになってしまいます
もちろんコメントは必要だと言う批判はあると思いますが、お願いします
0752デフォルトの名無しさんNGNG
>>751
java.util.regexはお嫌い?
0753デフォルトの名無しさんNGNG
JFrameやJDialogで「リサイズ可能」にした場合の「最小サイズ」みたいなのって指定できませんか?
「この大きさよりは小さくできないよ」ってやつ。
コンポーネントが消えないサイズでガードしたいんですけど。。
0754デフォルトの名無しさんNGNG
>>752
詳しく教えてください
0755デフォルトの名無しさんNGNG
>>751 エディタの正規表現置換機能を使うといい。
>>753 getMinimumSize()とかオーバーライドするのはダメかな?やってみないと分からんが。
0756デフォルトの名無しさんNGNG
エディタの中には「コメント一斉削除(範囲選択可)」みたいなのもあるから
そういうの使ってもいい。
0757デフォルトの名無しさんNGNG
>>742
そんなやり方があったのね・・・
0758デフォルトの名無しさんNGNG
すいません、今JavaServletにてWEB上にてデータを打ち込み
そのデータをメールで送るようなものを作成しているのですが、
1回目の送信はうまくいくのいですが2回目メールを送信しようとすると文字化け
が発生してしまいます。
文字化けの処理もちゃんとかけてはいるのですが何故かうまくいきません。
どなたかよろしければお教えください。
環境は、Linux(RedHut6.2) sendMail で動作させています。
0759758NGNG
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Doctor extends HttpServlet {
public void doGet( HttpServletRequest request, HttpServletResponse response )
throws IOException, ServletException
{
PrintWriter out = getWriter( response );
HttpSession session = request.getSession( true );

String name = "";
String email = "";
String school = "";
String faculty = "";
String phone = "";
String regist = "";
String question = "";

try {
if ( request.getParameter( "_NAME" ) != null &&
!request.getParameter( "_NAME" ).equals( "" ) ) {
name = getParameter( request, "_NAME" );
}

if ( request.getParameter( "_EMAIL" ) != null &&
!request.getParameter( "_EMAIL" ).equals( "" ) ) {
email = getParameter( request, "_EMAIL" );
}
0760758NGNG

if ( request.getParameter( "_SCHOOL" ) != null &&
!request.getParameter( "_SCHOOL" ).equals( "" ) ) {
school = getParameter( request, "_SCHOOL" );
}
} catch ( Exception e ) {
}

try {
StringBuffer sb = new StringBuffer();

sb.append( "名前:" + name + "\n" );
sb.append( "メールアドレス:" + email + "\n" );
sb.append( "データ1:" + school + "\n" );
mail.SendMail.Send( "localhost", "[email protected]", "[email protected]", "件名", sb.toString() );
} catch ( Exception e ) {
}
// HTML部分の作成
out.println( testHtml.getHtml() );
out.close();
}

public void doPost( HttpServletRequest request, HttpServletResponse response )
throws IOException, ServletException
{
doGet( request, response );
}
0761758NGNG
//----- PrintWriter をHTML表示用にSHIFT-JIS に合わせる-----//
public PrintWriter getWriter( HttpServletResponse response )
throws IOException
{
response.setContentType( "text/html; charset=Shift_JIS" );
return new PrintWriter( new OutputStreamWriter( response.getOutputStream(), "Shift_JIS" ) );
}

private String getParameter( HttpServletRequest request, String key ) {
try {
return new String( request.getParameter( key ).getBytes( "8859_1" ), "Shift_JIS" ) ;
} catch ( Exception e ) {
return "";
}
}

というようになっています(長くてすいません)
0762デフォルトの名無しさんNGNG
>>758

Servletのバージョンは?
何で、JavaMail使わないの?
0763758NGNG
あ、すいません、sendMailはメールサーバーの種類です
メール送信部分にはちゃんとJavaMailを使用しておりますです
servletsは2.2を使用しております
0764デフォルトの名無しさんNGNG
>>758
ソース追いかけてないけど、文字化けしたときの一般論としては、
入力と出力をhex dumpしてみるとかするね。例えば、getParameter()
のとこで入力をShift_JISで決めうちにしているけど毎回必ずShift_JISで
入ってきているのかとか。
0765758NGNG
>>764さん
ありがとうございます
たしかにgetParameter()のところでしか変換処理をしていないので
そこをMAC等のPCで流れる文字等を見ましたが2回目とかに流れる文字は
UnicodeでもShift_JISでもないただの壊れた文字(?)のようになってしまい
よくはわからないのが現状でした。
何故2回目にservletが呼ばれたときにはそこで文字が破損するのかがわからない
ので、分かる方いらっしゃいましたら是非回避策等よろしくお願いします
0766デフォルトの名無しさんNGNG
勉強中ですが
クラスとかメソッドとかはわかるようになったのですが
インターフェイスがどうしても理解できないです・・・

あるとないとではどう違うのですか?
また、どう言う時に必要なのですか?
0767デフォルトの名無しさんNGNG
>>765
安易なやりかただとJISAutoDetectで.
ブラウザ依存だと<form>要素に accept-charset=Shift_JIS、つけるとかいろいろ。
0768デフォルトの名無しさんNGNG
>>753
ウィンドウにリスナーを登録して、リサイズされたときのInsetsを
取得して、一定以下だったらsetBoundsすればいいんじゃない?
0769758NGNG
>>767さん
レスありがとうございます
知り合いと一緒になって調査していたところ、一番最初はエンコード
を正しく行い2回目からはできないとのことでしたが、TOMCATなんだか
サーバーの設定なのかわかりませんが、一回目にエンコード処理をすると
何故か2回目以降の文字もエンコードが勝手に行われていたようで、今までだと
エンコードされた文字を更にエンコードしていたために文字が壊れているのでは
という結論になりました。
あまり納得できませんでしたが原因がわかったのでなんとかやってみようと思います
>>764 >>767
お二方レスありがとうございました
0770デフォルトの名無しさんNGNG
>>769
Tomcat3.3.xを使ってるならserver.xmlのContext - DecodeInterceptorで
文字コードを指定する。
これでgetParameterの時の小細工が要らなくなる。
0771デフォルトの名無しさんNGNG
>>766

・異なる継承関係にあるクラスに共通の振る舞い(メソッド)を持つことを強制できる
・異なる継承関係にあるクラスを共通の型で扱うことができる
・文字通り、インタフェース(外から見える部分)だけを先に定義しておき、
 実装クラスは自由に作れる/入れ替えられるという設計が可能。
 フレームワーク等ではこういったオブジェクト指向の利点を利用していると言える。
0772デフォルトの名無しさんNGNG
言語機構としての Interface を理解するには、
java.util の コレクションフレームワークを調べてみるのが
一番手っ取り早いと思ふ。

ArrayList と LinkedList のメリットデメリット。
その違いを意識せずに利用できる List インターフェイス。

一番単純でわかりやすい例だと思うんだけど。
0773 ◆odHOE.4x.I NGNG
>>769
>知り合いと一緒になって調査していたところ、一番最初はエンコード
>を正しく行い2回目からはできないとのことでしたが、

そうなの?

new(s.getBytes(), JISAutoDetect)
とかの問題じゃないんだ?

原因が分かったら詳細キボンヌ
0774 ◆odHOE.4x.I NGNG
ワリィ
"JISAutoDetect" にしといて""でくくってちょ。
分かると思うけど^^;
0775デフォルトの名無しさんNGNG
List list = new ArrayList();
勉強したての頃は何でこんなことやるのかわからなかったなぁ
0776デフォルトの名無しさんNGNG
直接、Javaとは関係ないのですが

1
1.1-1
1.1-2
2
2.2-1
2.2-1-1

このようなデータを

1
├1-1
└1-2
2
└2-1
 └2-1-1

このような形で表示したいのです。
データの階層は StringTokenizer 使ってぶった切ったのですが
ツリーの記号の付与し方がわからず困っています。

どなたか、良い知恵はありませんでしょうか?
0777デフォルトの名無しさんNGNG
>>776
└ と ├ とどっちを使うかだけだろ。ほんのちょっぴり面倒くさいのは。
0778デフォルトの名無しさんNGNG
1の子が1.x、2の子が2.xなら
2.xの下は2.x.xじゃないの?

上の例なら
2
2.2-1
2.2-1.1
0779デフォルトの名無しさんNGNG
String変数に入っているIPアドレスが、
指定したネットワークアドレス内に含まれているかどうかを
判定するクラス・メソッドはJavaではないでしょうか。
192.168.1.10が、192.168.1.0/24 の範囲ないかどうかを判定させたいのです。
ロジックをゴリゴリを自前で書かないとダメでしょうか。
0780デフォルトの名無しさんNGNG
>ロジックをゴリゴリを自前で書かないとダメでしょうか。

それほどのことかねぇ・・?
で、ここでいうロジックって何?

0781デフォルトの名無しさんNGNG
覚えたての初心者が解く練習問題レベルじゃねーか
0782デフォルトの名無しさんNGNG
WindowsでThreadのPriorityの設定は効果がないと
聞いたんですが、どうなんでしょうか?
0783デフォルトの名無しさんNGNG
>>782
JDK1.4.1 のソース覗いてみたけど最終的には
Win32API の SetThreadPriority 呼び出してます。
0784デフォルトの名無しさんNGNG
今継承について学んでいるんですが、
スーパークラスを指す変数に、サブクラスのオブジェクトを代入した時、
著書では「サブクラスで新しく定義したメソッドは呼び出せない」
との記述があって疑問に思ったことがあります。
つまり、
サブクラスの
フィールド;
コンストラクタ;
オーバーライドされるメソッド;
の三つはOKで
オーバーライドされないサブクラスで新しく定義したメソッド;
のみは使用できないとの認識であってるんでしょうか?
実験してみたんですが、コンパイル自体できないからいいのかな・・?
とも思ってます
宜しくお願いします
0785デフォルトの名無しさんNGNG
>>784
>サブクラスの
>フィールド;
>コンストラクタ;

上記二つが、そのスーパークラスで定義されていないものなら
この二つもNG。
0786784NGNG
もう一つ下らない質問かもしれないですが、
上記の逆はできないですよね?
サブクラスを指す変数に、スーパークラスのオブジェクトを代入する...みたいな。
逆のケースではコンパイルできなかったし....
0787デフォルトの名無しさんNGNG
class Hage extends JPanel {
public void doHage(){}
}

というクラスを作ったとき、

Hage hage = new Hage();
hage.doHage(); // OK
JPanel hage2 = new Hage();
hage2.doHage(); // NG

ということ。
変数の型によってオブジェクトのインタフェイス
(どういうメソッドを持っているか、という意味くらいに考えてくれ)が決定される。
0788784NGNG
>>785
すいません。
書著のソースををみると、
サブクラスのフィールド、コンストラクタは
サブクラス独自でしか定義していないような気がして
混乱してます。
具体的にどういうことでしょうか?
今現在私の知識じゃ理解できないようでしたら、
どの編まで学習すれば理解できますか?
もしご迷惑でなければお願いします。
0789デフォルトの名無しさんNGNG
Javaでデータベースにデータを追加するときに、プログラム中の変数を含んだ
SQL文はどのように書けばいいのでしょうか?
String sql = "INSERT INTO table VALUES (" + 変数 + ", " + 変数 + ")";
のように書き方では、
「パラメータが少なすぎます」
というエラーが出てしまいます。
どなたかアドバイスをお願いします。
0790デフォルトの名無しさんNGNG
>>784
たとえばSuperタイプのsuperという名前の容器があったとして、
派生タイプのインスタンスをこの容器に代入した場合。
Super super = new Sub();

この容器superには、Subクラスのインスタンスが入っているにもかかわらず、あくまでも外からみたときはSuperタイプのインスタンスとしてしか、あつかわれない。
故に、Superクラスで定義したメソッドやフィールド以外にはアクセスできない。

ただしSuperクラスで定義されたメソッドを呼び出した場合、
もしそのメソッドがSubクラスにおいてオーバーライドされていた場合は、
実際に実行されるのはSubクラスにおいて記述されたコードであって、
Superクラスにおいて記述されたコードではない。これすなわち多態性。

>>786
もしそれが許されていると
Subクラスにおいて新たなメソッドやフィールドを定義していた場合、
問題が発生するので、それは許されないものとなっています。

たとえばSubクラスに新しく"subMethod()"というメソッドが新たに定義されていた場合のことを考えてみてください。

Sub sub = new Super();
で、Subタイプの変数に、Superのインスタンスを代入することが許されたとして、
この場合のsubは、あくまでも外からみたときはSubクラスのインスタンスとして扱われます。
故に、subを介せばSubクラスで宣言した(publicな)すべてのメソッドやフィールドにアクセスすることができる。
ゆえにsub.subMethod()という、Superクラスには存在しないメソッドが呼び出される可能性がある。

いかにこのsubが外見的にはSubクラスのインスタンスのようにふるまうといっても、
このsubの中身は実際はSuperクラスのインスタンスなので、
Superに存在すらしないsubMethod()など呼び出すことは不可能。

>>788
多態性などについて学習されると理解できるようになるかもね。
0791デフォルトの名無しさんNGNG
>>789
> String sql = "INSERT INTO table VALUES (" + 変数 + ", " + 変数 + ")";

二番目に登場したダブルクォーティーションがくせもの。
つまり上の文はこういうふうに解釈されているからエラーがでたわけです。
String sql = "INSERT INTO table VALUES ("
「"」の前に「\」を使えば解決するかと。
0792デフォルトの名無しさんNGNG
>>785
コンストラクタって継承の束縛うけたっけか?
0793デフォルトの名無しさんNGNG
>>791
そうなの?
オレはてっきりinsert文中の "" (''でもいいけど)が足りなかったり
;が抜けてたりしてる方が問題だと思ってたよ。
0794デフォルトの名無しさんNGNG
java.netがimportできません!!
http://ash.jp/java/java_http.htm
0795デフォルトの名無しさんNGNG
>>792
そもそも
>スーパークラスを指す変数に、サブクラスのオブジェクトを代入した時、
というのなら、

>上記二つが、そのスーパークラスで定義されていないものなら
などの条件づけ以前に、コンストラクタの呼び出しは不可能だな。
0796デフォルトの名無しさんNGNG
>>793 >>789
あ、たしかにそうかも。失礼。
0797デフォルトの名無しさんNGNG
;は不要。
VALUES ('" + 変数 + "',' " + 変数 + "')"
でいいんじゃないか。
0798デフォルトの名無しさんNGNG
アプレットでmp3形式のファイルを使う事はできますか?
0799U ◆CZtFsGiu0c NGNG
>>797
セミコロンがなかったらコンパイルできないと思うけど:-)
>>789
それを見る限りでは間違っているところはわかりませんね。
生成されているSQLをコンソールなりログなりに出力して、それを
クエリツール(クエリアナライザとかSQLPlusとか)で実行してみたら?
0800デフォルトの名無しさんNGNG
ああ、「SQLにはセミコロンいらん」といいたかったんだ。
SQLplusなら必要だけど
0801 ◆odHOE.4x.I NGNG
classファイルと同じディレクトリにあるmp3ファイルを、アプレット内で再生
する事は可能か?ということ?

それともローカルのmp3ファイル?
アプレットでの再生ではなく、別アプリケーションへの関連づけでも良いの?
0802osiete!!!NGNG
質問っす。

public class tako{
 public static void main(String [ ] args){
     System.out.println("IKA");
      }
}

のプログラムで、�@「args」て、何ですか?
(メソッドじゃ、ネ−ヨナ、かと、言って、クラス
の訳は、ネ−しな。う〜ん、何だろう。 よく
わからんけど、う、引数なのか。でも、引数の場合、
どういう意味があんだ。←心の中で勝手に思ってる事。)
�AStringの次の「[ ]」は、何ですか?
 配列なの?
 また。この「[ ]」が、Stringの次になくて、「args」の
 次に来る場合(String args[ ]←こんな感じ。 )
 もあるんすけど、この2つの表現の違いて、なんすっか?

 宜しくお願いします、わ。
0803デフォルトの名無しさんNGNG
>>802
1
引数。
その意味はプログラムを起動するときに、
お好きな引数を持たせることができる。

例java tako 8
などとしてtakoを起動すれば、
args[0]に"8"という文字が代入されている。
お試しあれ。

2
どちらも意味はおなじ。記述者の好みでお好きなほうを。

ただargs[] のほうは、どちらかというと
旧来のC言語的な書き方のような気がする。
0804デフォルトの名無しさんNGNG
Stringの配列型のargsという変数が引数になっているメソッドという意味。
hoge.classがあるとき、コンソール上で
java hoge a b c
とした場合、a b c がそれぞれ args[0] args[1] args[2]
になる。
String args[] と、String[] args はどっちでもよいが、昔からの慣習というか
Cプログラマへの配慮と思われ。
String[] argsの方が正しいと思うけどね。
0805デフォルトの名無しさんNGNG
書き忘れ。

>>802
質問2の答えは配列。
たとえばjava tako 足 八本
でtakoを起動するとargs[0]には"足"が、
args[1]には"八本"が、それぞれ代入されているとおもうよ。
System.out.println()などで、お試しあれ。
0806804NGNG
マケテル...(;´Д`)
0807802です。NGNG
>>803様
サンクスコです。

1
やっぱ、引数ですか。う〜ん。なるほど。
で、また、すんません、質問っす。
「例java tako 8」のこれは、DOS窓のコマンドラインの事
ですよね。(←当然か。)

また、この場合、引数をDOS画面から入力する事によって
クラス内でのロジック(仮にあったとした場合)制御とか
で、使うって事になるんですか?

すんません、お暇なら、宜しく願いますだ。
0808804NGNG
class Test {
  public static void main(String[] args) {
    System.out.print(args[0]);
    System.out.print(args[1]);
  }
}

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

C:\hoge>java Test 2 ch
2
ch
0809デフォルトの名無しさんNGNG
java -deprecation hoge.javaとかやるでしょ?
0810デフォルトの名無しさんNGNG
本日23:00時より祭りを開催いたします。
是非、参加下さいます様、お願いします。
携帯PHS
迷惑メールサイト一斉訪問お祭り開催
http://cocoa.2ch.net/test/read.cgi/phs/1043309596/
0811デフォルトの名無しさんNGNG
>>808
引数が1個だと例外出ますな。
0812804NGNG
2
ch
じゃなくて
2ch
ですた(;´Д`)
0813デフォルトの名無しさんNGNG
と思ったけどprintlnにnullを指定しても大丈夫な気がしてきた。
0814デフォルトの名無しさんNGNG
nullはnullと表示されるはず
0815802です。NGNG
>>804->>811様(除く810)
あ、どうもありがとう。ございます。
いやー、よくわかった、わ。
(>>808が、うん、一番だ。)
0816802です。NGNG
訂正
あ、どうもありがとう。ございます。
いやー、よくわかった、わ。
(>>812が、うん、一番だ。)

0817U ◆CZtFsGiu0c NGNG
>>813
その前に配列の範囲外なので例外が出ますよ。
0818 ◆odHOE.4x.I NGNG
以下のようにすれば、引数の数を固定せずに出力が出来る
class Test {
  public static void main(String[] args) {
    for(int i=0; i<args.length;i++){
      System.out.print(args[i]);
    }
    System.out.println("");
  }
}

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

C:\hoge>java Test 2 ch
2ch

それと public static void main(String[] args){...
ですが、 String args[] だとString型の、argsという配列変数ともとれますので
String型配列の args という変数と宣言するのが正しいです。
変数名はあくまで args[]ではなく、args ですから。
勿論どちらでもエラーになりません。
0819便乗質問です。NGNG
>>808さんへ
便乗質問です。

>C:\hoge>java Test 2 ch
よく、「hoge」というディレクトリが、なんか、よく例として
でてくるんですが、何をあらわしてるんですか?
UNIXの ほら、/etc/・・・なんたらかんたら、の「etc」とか
のWin版すっか?

お、お、お暇なら・・・・お・し・え・て君!!!


0820山崎渉NGNG
(^^)
0821デフォルトの名無しさんNGNG
>>819
たしかこの板にも「武田騎馬軍団がhogeの謎をとくスレッド」みたいなのがあったはず。
俺も、その語源はよくしらないや。

英語圏だとfooとかがよくつかわれるのかも。
2ch圏ならnanasisanとかfusianasanとかか?
0822819っす。NGNG
>>821さんへ
あ、そうなんすっか。ふ〜ん。
後で、そのスレ見てみますわ。
THANKS!!
0823819っす。NGNG
↑
>たしかこの板にも「武田騎馬軍団がhogeの謎をとくスレッド」みたいなのがあったはず。
>俺も、その語源はよくしらないや。

http://pc3.2ch.net/test/read.cgi/tech/1036253513/l100
めっけて、きますた。
0824デフォルトの名無しさんNGNG
(コ-ディングの)学習方法について、教えて下さい。

メソッドとか、例外とかの語句(例;IOExceptionとか)ありますよね。
これらをコーディングする時、ヤッパ、スペルこれ全部
暗記するんですか?
ツ−ルとか、使えば、そんな事、心配しなくてイイヨ、てな、事になるんでしょうか?
今は、メモ帳で、いちいち、打ってます。(あ〜メンドくせ-な、て。)
もち、コピペも多少ありますよ。
(でも、面倒だな。→あ、すいません、決してコ-ディングを馬鹿にしている訳では
ありません。ただ、効率的な方法がないかな〜。という事なんです。)

0825デフォルトの名無しさんNGNG
>>824
やっぱ、書いて、おぼえるしかない。
0826 ◆odHOE.4x.I NGNG
>>824
Javaをどのレベルまで学習したいのかによります。
0827デフォルトの名無しさんNGNG
APIドキュメント見ながら打て。
0828デフォルトの名無しさんNGNG
>>789
誰からもまともな答え貰えなかったんだな(w
java.sql.PreparedStatement
java.sql.Connection#prepareStatement(String)
0829デフォルトの名無しさんNGNG
>>824
Eclipse 使うとしやわせになれるかもね。

【Java/C/他】統合開発環境Eclipse GM4
http://pc3.2ch.net/test/read.cgi/tech/1039405354/
0830デフォルトの名無しさんNGNG
>>824
Exception 程度だと指が覚えると思うけど…
0831デフォルトの名無しさんNGNG
>>824
一番効率的なのは向いてなかったと諦める事です。
とか言ってみるテスト。
0832デフォルトの名無しさんNGNG
コンパイルしちまえば一緒なのは了解ですが、
日本語を含んだ Java のソース書くときは文字コードは何が行儀がいいと思いますか?

やっぱUTF-8か
0833デフォルトの名無しさんNGNG
すいません、
java標準のフォルダ用アイコンとかドライブ用アイコンって
何処にあるんでしょうか?
gifもアイコンも無いし・・・

プリントスクリーンを切り抜いてgifで保存するしかないですか?
0834  ��マネーの虎��NGNG
※180度、人生を変えるなら・・・!!!
【今の生活に満足している人はお断り・・・!!!】
http://www3.to/ds821
0835デフォルトの名無しさんNGNG
あまつさえ、native2ascii >>832
0836デフォルトの名無しさんNGNG
>>833
demoあたりから、持ってってください。
0837デフォルトの名無しさんNGNG
すいません、今月から始めた初心者なんですが
ttp://mizo-www.ia.noda.sut.ac.jp/Ajiwai/
の5章にjavabeansのプログラムがでてくるんですけど、
BDK(BDK1_1)で実行するときはどうすればいいんですか?
普通にパッケージごとコンパイルして構わないんでしょうか。
それとも他に正規の方法があるのでしょうか。
beansはどうもよくわかりません・・・
0838833NGNG
>>836
無いです(TT)

諦めてプリントスクリーンから作りました。
0839デフォルトの名無しさんNGNG
>>838
無い!? そいつは悪いことをしたな。スマソ。
0840デフォルトの名無しさんNGNG
>>833
rt.jar の com/sun/java/swing/plaf/*/icons/ は探してみた?
0841833NGNG
>>840
ありました!
rt.jarを解凍したらWindows風のとMotifが。

でも、僕の欲しい、javaっぽいのはフォルダからして
無かった・・・(; ;)

でも、良いんです。
ありがとうございました。

今度のjdkの中にjava用アイコンセット入れといてくんないかなぁ。
0842デフォルトの名無しさんNGNG
>>837
何も考えずコンパイルしとき。

JavaBeanってのはね、シリアライズ可能でアクセッサがついているオブジェクトのことよ。
深く考えるのはやめとき。
0843デフォルトの名無しさんNGNG
>>842
ありがとうございます。さっそくコンパイルしてみました。
あとはこれをどうやったらBDKで使えるのでしょうか?
ほんとに初歩的なことですいません。
0844デフォルトの名無しさんNGNG
>>776 CompositeパターンやVisitorパターンを適用してみてはどうですか?

>>832 UTF-8マンセー。 JavadocもServlet,JSPもantもUTF-8がgooです。
XMLはUTF-8が標準でーす。 antなど使って>>835のようにasciiしてからコンパイル,javadocするとさらにgoo

>>843 JavaBeans, BDKで検索。詳しい使い方載ってた。
0845デフォルトの名無しさんNGNG
JavaBeansだけを使ってVisualAgeJava等で
コードを書かずに何か作れるとかですよね?
AlphaBeansて所にいっぱいBeansがあるけど
昔はもっといろんなサイトがあったと記憶してますが
皆、止めてしまったのでしょうか?ガメラ?とかいう所とか。
 
0846デフォルトの名無しさんNGNG
>>843 >>845 これどうかな?
http://www.bekkoame.ne.jp/~sakamo_m/BeansFlavor/BeginTheBean/

#レス番号つけてくれ
0847デフォルトの名無しさんNGNG
Javaアプレットの質問をさせてください。
TextFieldから値を取り出して、Listの条件をswitchで分岐させて計算、出力する
アプレットを作ったんですが、二つのうちのボタンの一つが動作しないんです。
動かないのは計算を実行するボタンで、動くのは値をクリアするボタンです。
JBuilderで作ってるんですが、JBuilderのVMでは正常に動いているんですが
InternetExplorerのほうで動かしてみると押してもうんともすんとも・・・。
JDK1.1以降に実装されたクラスやメソッドは使ってないはずなのですが
これはやはりIEの搭載しているVMの問題なんでしょうか?
IEのほうのVMはおそらく最新の物を使っています。
何度も原因を探ろうとソースを読み返したり、デバッガを走らせたんですが
JBuilder上では正常動作しているので結局何も分からずじまいで。
これだけでは判断がとてもし辛いとは思いますが、見解をお聞かせください。
0848デフォルトの名無しさんNGNG
IEの最新のVMって?
MS版は例の裁判だか権力闘争だかの影響でめちゃめちゃ古いよ。
Sunの奴をプラグインとして使うべし。タスクバーの時計の脇にアイコンが出るはず。
配布などでMSVM対応の必要があるなら、新VMを待つ(詳しくは最近のニュースを見れ)か、
JDK1.1合わせにするか。
0849デフォルトの名無しさんNGNG
> JDK1.1以降に実装されたクラスやメソッドは使ってないはずなのですが
って書いてあるじゃん。
0850847NGNG
あ、1.1以降だと間違ってました。
ぴったり1.1で実装されたメソッドは確か使っています
なので1.2以降が正解でした
ですがIEのVMは現在1.1.x(正確には忘れました
までサポートしていると、何かの本で読んだので、大丈夫だと思います。
あと、一応ページで公開するので、IEでは最低動かないとまずいんです
実はこれ途中で改良してから動かなくなったんです、改悪ですね(苦笑
しかも馬鹿っぽく前のソースを残しておらず・・・(泣
ソースの比較が出来れば何かの糸口になっただろうと今更後悔してます
(動いていたVerの時から1.1のメソッドは使っていたはずなんですが
0851 ◆odHOE.4x.I NGNG
そのボタンのイベント部分のソースを貼り付けてみて。
計算するボタンと、クリアするボタン。
そもそも一つは呼び出される訳だから、イベント自身は問題ないみたいだね。
動かない方のボタンにも イベントをaddしてる? button.addAction....(this)とか。
それをちゃんとすましているのであれば、計算するメソッドに問題があるんだろうね。
JDKで -target オプションを使って VM1.1相当でコンパイルしてみると良いんだけどね。
JDKもしくはSDKもってる?
0852847NGNG
>そのボタンのイベント部分のソースを貼り付けてみて。
>計算するボタンと、クリアするボタン。
中身のほうですよね、ちょっと長いんですが・・・いいんでしょうか?
あと、変数名で何するやつか分かっちゃうので
ちょっと恥ずかしいのもあるのですが(爆

>そもそも一つは呼び出される訳だから、イベント自身は問題ないみたいだね。
>動かない方のボタンにも イベントをaddしてる? button.addAction....(this)とか。
確認しましたけど、ちゃんとaddされてます
ビルダー上では動いてるので、ないと多分最初から動きませんけど^^;

>JDKで -target オプションを使って VM1.1相当でコンパイルしてみると良いんだけどね。
>JDKもしくはSDKもってる?
ビルダーを使い始めてから使ってないので入ってないんです
入れてやってみます
0853 ◆odHOE.4x.I NGNG
じゃあ、それら2つのボタンのイベントがあるだろ?<<確認
その一つはちゃんと動く訳だ<<これはクリアするボタンだったな
もう一つは動かないんだな?
じゃあ、試しに 動かない方のボタンにクリアするメソッドを関連づけして見れ。
それでちゃんとクリアできるようであれば、動かない方のボタンは計算するコードに
問題があることになる。
訳が分からないばやいは、二つのボタンそれぞれが呼び出されたら
System.out.println("呼び出された");
とかを実行するようにして、ブラウザのJavaコンソールを出して確認して見ろ。

ここまで言っていることわかるか?
0854847NGNG
>訳が分からないばやいは、二つのボタンそれぞれが呼び出されたら
>System.out.println("呼び出された");
>とかを実行するようにして、ブラウザのJavaコンソールを出して確認して見ろ。
似たコードを入れてみたことがあります
呼び出された時の一番最初、先頭に入れた場合は表示されて
最後に入れても表示されませんでした。
この間に問題がある・・・んですよね、って最初に言わなきゃだめか^^;

前者の
>じゃあ、試しに 動かない方のボタンにクリアするメソッドを関連づけして見れ。
>それでちゃんとクリアできるようであれば、動かない方のボタンは計算するコードに
>問題があることになる。
も初期表示を少し変えてやってみて、動きました。
0855 ◆odHOE.4x.I NGNG
>この間に問題がある・・・んですよね、って最初に言わなきゃだめか^^;

お。いいぞいいぞ。
そうやって一行ずつ最後においたSystem.out....を上に上げて原因のある行を
特定するのだ。原始的だがとっても確実だ。
0856デフォルトの名無しさんNGNG
いっそ一行おきに入れてしまえば
どこで落ちてるか確実にわかるぞ!
0857 ◆odHOE.4x.I NGNG
今入れてるのかな?ヽ(´ー`)ノ マターリイコウヨ
0858847NGNG
>>856
それいいですね
吐くのに番号つけて何行目か、一気にやってみます
0859847NGNG
ええと・・・ブラウザのJavaコンソール見たら例外が出てました・・・(汗
Exception occurred during event dispatching:
java.lang.NoSuchMethodError: java/lang/Double: method parseDouble(Ljava/lang/String;)D not found
at winapp/winMain.calButton_actionPerformed
at winapp/winMain$1.actionPerformed
at java/awt/Button.processActionEvent
at java/awt/Button.processEvent
at java/awt/Component.dispatchEventImpl
at java/awt/Component.dispatchEvent
at java/awt/EventDispatchThread.run
Exceptionて出てるのに何で気づかなかったんだろう(TT
...この例外は何なのでしょう?
実行時のエラーって初めてで^^;
0860847NGNG
実行時というか、ボタンを押して呼び出すと出たんですが
0861デフォルトの名無しさんNGNG
JDK1.2で導入されたjava.lang.Double#parseDouble(java.lang.String)を使ってると読めるな。
awtのどっかの実装がそれを使うように変わってるんだろうな。
J2SDKのjavac使って -target=1.1 試してみ。
0862デフォルトの名無しさんNGNG
Javaでデータベースの更新を実行すると、
「構文エラー:演算子がありません」
といわれてしまいます。
エラーの出る部分のソースは以下のとおりです。

String sql = "UPDATE table SET data='hoge' WHERE a=3 && b=1";
statement.executeUpdate(sql);

SQL文の条件式のところがおかしいようなのですが、分かる方はアドバイスをお願いします。
0863847NGNG

あああぁぁぁぁ!
値を変数に代入する所、parseDouble使ってました・・・
引っ掛かってるのもそこでした(T_T
Doubleの実装は1.0でも、parseDoubleの実装は1.2だったんですね(T_T
メソッドまでちゃんと確認していくべきでした・・・
入力の精度は小数点の精度は必要ないので、parseIntに変えて
おそらくこれで解決します・・・、ヨカッタ・・・。
結果ももう少しで報告出来ると思います。
0864デフォルトの名無しさんNGNG
"&&" じゃなくて、"and"だとわかったのですが、今度は
「抽出条件でデータ型が一致しません」
というエラーが出てしまいました。
0865847NGNG
動きましたー
とても勉強になりました、なんとお礼を言ってよいやら・・・
皆さん、本当にありがとうございました_(_ _)_
同時に私が抜けているためにスレ資源を大量に消費してしまい
誠に申し訳ありませんでした^^;
0866デフォルトの名無しさんNGNG
>>864
Javaの質問じゃねーべ
0867 ◆odHOE.4x.I NGNG
>>865
よかったね♪ これに懲りずにJavaをがんばってちょ
0868デフォルトの名無しさんNGNG
>865 くだらないミスほど解決に手間がかかるものです。おめでとう。
0869デフォルトの名無しさんNGNG
>>864
へー。だから?
0870デフォルトの名無しさんNGNG
>>864 SQLの本かサイトを読め
0871デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/unix/1003833552/218
0872デフォルトの名無しさんNGNG
DirectShowで扱うようなキャプチャデバイスからの動画入力を
javaから扱いたいのですが、そういうAPIは存在するのでしょうか?
0873vNGNG
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 24時間受付  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  [email protected]
   グローバル探偵事務局 

0874デフォルトの名無しさんNGNG
>>872
jmf?
0875872NGNG
>>874
jmfを使うんだとすれば
http://java.sun.com/products/java-media/jmf/2.1.1/apidocs/javax/media/protocol/CaptureDevice.html
この辺が関係すると思ったんですが、入力デバイスの指定方法とかが
さっぱりわかんないんです。っていうかできるんですかね?
よろしければ簡単なサンプルとかいただけると嬉しいっす。
0876デフォルトの名無しさんNGNG
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□■□□□■□□□□□□□□□□■□□□□□□□□■□□□□■□■□□□□□□□□□□□□□□□□□□□□□□□□□
□□■□□□□■□□□□□■■■■■■■■■■■□□□■□□□□■□■□□□■■■■■■□□□□□□□□□■□□□□□□
□■□□■□□■■■■■□□□□□□■□□□□□□■■■■■■□□□□□□□□□□□■□■□■□□□□□□■□□□□□□
□□■■□□■□□□□■□□■■■■■■■■■□□□□■□□□□□□□□□□□□□■□□■□■□□□□□□■□□□□□□
□□■□□□□□□□□■□□■□□□■□□□■□□□□■□□■■■■□□□□□■■□□□□□□□□□□□□■□□□□□□
□■■■■□□■□□□■□□■□□□■□□□■□□□□■□□□□□□□□■■■■■■■■■■■□□□□□□■□□□□□□
□□□■□□□□■□□■□□■■■■■■■■■□□□■□□□□□□□□□□□□□■□□□□□□□□□□□□□□□□□□□
□■□■□■□□□□□■□□□□□■■■□□□□□□■□□□□□□□□□□□□■□□□□□□□□□□□□□□□□□□□□
□■□■□■□□□□□■□□□■■□■□■■□□□□■□□■□□□□□□□□□■□□□□□□□□□□□□□■□□□□□□
□■□■□■□□□□□■□■■□□□■□□□■■□■□□□■□□□□□□□□□□■□□□□□□□□□□□□■□□□□□□
□□□■□□□□□■■□□□□□□□■□□□□□□■□□□□■■■■■□□□□□□■■■■□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
0877デフォルトの名無しさんNGNG
>>875
CaptureDeviceManager の
getDeviceList(Format) で取ってくるんじゃんないでしょーか?
0878872NGNG
>>877
キター!
ありがとうございますー
0879デフォルトの名無しさんNGNG
>>876
0880デフォルトの名無しさんNGNG
JTableの各セルは書き換えできないようにするけど
列は選択できるようにする
(getSelectedColumn() で取ってこれる)
しかも選択した行がユーザが目で見てわかる
といううまい方法をご教授願います
0881デフォルトの名無しさんNGNG
>>880
勝手にコントローラ書いてください。
0882デフォルトの名無しさんNGNG
switch文でbreakひとつ抜けていただけでプログラムが誤作動してました
こんな俺に罵倒メッセージをください。
0883デフォルトの名無しさんNGNG
>>882
良い経験になったな。がんばれ。
0884 ◆odHOE.4x.I NGNG
>>882
そんなの普通。つか俺は年中。

ヽ(´ー`)ノ マターリイコウヨ ガンバッテ
0885デフォルトの名無しさんNGNG
すいません、どなたか教えてください。

double a = 0.0;
int b = 1;
for(int i = 50 ; i <= 150 ; i++){
a = (i - 50) / (150 - 50);
g.drawString("" + a , b , 20);
b += 10
}

とやると、doubleで宣言したのに、aの値がはiが150のときのみ1で
それ以外は、小数点以下が切り捨てられ、0となってしまいます。
小数点以下を切り捨てないでaに代入する方法をどなたか教えていただけないでしょうか?
0886デフォルトの名無しさんNGNG
>>880
Swingは使った事無いけど、とりあえず、別の何かカーサになるようなモノを作って、
それをイベントを元に任意座標に重ねて表示とかじゃだめなのかね。
ただ、その場合
>(getSelectedColumn() で取ってこれる)
は無理だろうが。

ま、独自に実装するか、コンポジティブなアダプタでも書いてみるといいかも。
0887デフォルトの名無しさんNGNG
iがintだからそっちの型で計算されるわけだろ
doubleで変数もう1つ定義して計算前にiの値を代入してみてはどうか
0888デフォルトの名無しさんNGNG
>>885
つーか、キャスト汁。

× a = (i - 50) / (150 - 50);
○ a = ((double)i - 50) / (150 - 50);
0889デフォルトの名無しさんNGNG
んだね。
キャストでいいね。
0890デフォルトの名無しさんNGNG
× a = (i - 50.0) / (150.0 - 50.0);
0891888NGNG
あるいは、

× for(int i = 50 ; i <= 150 ; i++){
○ for(double i = 50 ; i <= 150 ; i++){

#なんでか知らないけど forにつかうカウンタって、暗黙の内に intにしがちだよな。
0892デフォルトの名無しさんNGNG
>>887,888
なるほど。
やはり、iが整数型だったからダメだったようです。
iをdoubleで宣言したら、できました。
どうもありがとうです。
0893デフォルトの名無しさんNGNG
>>891
確かにそうですね。
あんまりループ変数に小数点を使うことはないですからね。
0894デフォルトの名無しさんNGNG
質問です。
Tree○○○ というようなクラスがいくつかあるのですが、
木構造が使えるクラスが用意されているのですか?
あれば教えてください。
0895デフォルトの名無しさんNGNG
>>894
気のせいでしょう。
0896デフォルトの名無しさんNGNG
>>892
その例では大丈夫だけど、doubleの比較をやるときは丸めに注意してね。
System.out.println(1.0-0.8);
なんてやると分かります。2進/10進変換や四捨五入でずれる。

>>894
TreeMap とかは内部でツリーを使ったMapの実装。
ツリーとして使うためのツリーってJDK内部に用意されていたっけ・・・。俺は知らんです。
ツリーって場面毎に求められる性能特性が違うから用意されていなくても不思議では無いと思う。
0897デフォルトの名無しさんNGNG
JTableの上にカーソルを置いてると
左下10ドット10ドットくらいのところに1ドットの黒点
が表示されない?

カーソルを動かすとすぐ消えるんだけど。
0898デフォルトの名無しさんNGNG
Javaで2chブラウザ作れますか?
0899デフォルトの名無しさんNGNG
>>898
既に2,3の実装があります。俺も1つプロトタイプ作ったし。
0900デフォルトの名無しさんNGNG
Javaで2chブラウザを作るとき、一番悩ましいのが
スキンの実装なんだけど、みんなどうやって解決してる?
0901デフォルトの名無しさんNGNG
>>900
>スキンの実装なんだけど

そんなもん本質ではないしUIの変更なんてSwingの十八番だと思うんだが。
0902デフォルトの名無しさんNGNG
>>901 かちゅのスキンとかああいうの指してるんだろ。
>>900 「一番」悩ましいか?適当なスキンファイル食って置換させればいいんじゃないの?

今から作るんならローカルプロキシタイプをキボンしてみる。
0903デフォルトの名無しさんNGNG
>>902
Javaにやらせるのはいまいちアホっぽいけどな・・・。
0904デフォルトの名無しさんNGNG
悩ましいのは、かちゅ〜しゃのスキンなら
JavaScript等を使って機能を追加することができるが
>>902のような安易な考えでは見た目しか変更できないという点
0905デフォルトの名無しさんNGNG
かちゅのスキンがどんなもんかは知らんが
> javascriptを使って機能追加
というなら, javaコードで機能拡張できるように設計して
2chブラウザ作ればいいじゃん。
0906デフォルトの名無しさんNGNG
>>900はJEditorPaneの存在を知らない予感。
0907デフォルトの名無しさんNGNG
みんなも気づいてるだろうが、実際スキンなんて、どうでもいい、と。
0908デフォルトの名無しさんNGNG
>>903
LinuxとWindowsをデュアルブートしてて、ログを共有したいんだが、アホっぽいか?
こーゆーときのためのJavaじゃないの?

>>904 レスポップアップくらいはjBVの方法で出来るよ。他に何がいるっけ。
0909デフォルトの名無しさんNGNG
俺は >>903 じゃないが...。
>LinuxとWindowsをデュアルブートしてて、ログを共有したいんだが、アホっぽいか?

...何を言わんとしているか、意味不明。
0910デフォルトの名無しさんNGNG
>>909 >903がアホと言った理由が分からんと言いたい。

漏れはローカルプロキシとして動く奴がいいが、
独立アプリならHTMLに拘る意味は無いのでJEditorPaneとかなのかな。
AAがずれないようにするのがちと面倒くさそう。
0911デフォルトの名無しさんNGNG
スキンぐらい好きんにさせてよ・・・
0912デフォルトの名無しさんNGNG
ログを共有したいだけなら、ログの書式を決めて(xmlとか)
各OS用にその書式を処理させるプログラムを書けばよいだけなので、
Javaである必要ないんじゃない?

つーかたぶん、
> 一番悩ましいのがスキンの実装
あたりが皆様の逆鱗に触れてると思われ。
0913デフォルトの名無しさんNGNG
>ログを共有したいだけなら、ログの書式を決めて(xmlとか)
ログは2chのスレッドdat形式でいいだろ。かちゅみたいに独自形式だと何かとややこしい。
問題はブックマークなどの整理機能だね。

>各OS用にその書式を処理させるプログラムを書けばよいだけなので、
>Javaである必要ないんじゃない?
誰が各OS用に同じプログラムを書いてくれるの?JVM用に書けば終わるのに。
Javaである必要が無ければJavaで作っちゃいけないんだろうか。
0914デフォルトの名無しさんNGNG
Javaのアプリってスキンがダサダサだからなあ
0915デフォルトの名無しさんNGNG
>>913
知らん。実装なんか作りたいやつに任せりゃいいじゃん。
要は、データ形式さえがっちり決めちゃえば、Javaにこだわらなくたっていいだろってこと。
で、一番悩ましいのがスキンなら、悩まない言語でそれぞれ用に作れば?ってことで。
必要ない=いけない、ではないので、JavaがいいならJavaでやれば?
0916デフォルトの名無しさんNGNG
>>915 読み取り装置もあらかじめJavaでやっとけば拡張が容易になるってことだろう。
ブラウザがJavaでできていれば読取装置もJavaのほうが移植が素早く完了する。
OSが異なっても移植に関する影響が少ないといいたんだろう。

0917デフォルトの名無しさんNGNG
そこで見た目にこだわり、SWTを使って、
Write once , Run Windows Only
になるという罠
0918デフォルトの名無しさんNGNG
>>917
それで何か問題でも?
0919デフォルトの名無しさんNGNG
SWTだったらRun Anywhereは保たれるんじゃない?
0920デフォルトの名無しさんNGNG
>>917
>>908
0921デフォルトの名無しさんNGNG
ちがた。
× >>917
○ >>918
0922デフォルトの名無しさんNGNG
初歩的、というかそれ以前の問題なのですが
ttp://mizo-www.ia.noda.sut.ac.jp/Ajiwai/
の第5章、第7章のファイルをBeansとしてBDKで使うにはどうしたら良いのですか?

MANIFEST
---
Manifest-Version: 1.0

Name: SimulatorBean.class
Java-Bean: True

Name: MyBAdaptor.class
Name: LocationComponent.class
Name: MobileComponent.class
Name: MobileComponentListener.class
Name: MobileEventObject.class
Name: MobileRobot.class
Name: MobileRobotBean.class
Name: SimpleSimulator.class
Name: SonarComponent.class
---
と既述して
jar cmf MANIFEST.mf MobileRobot.Bean.jar *.class
を実行しjarにしたのですたBDKでloadして使おうとするとエラーがでます・・・何が原因でしょうか。
package理解したばかりの房には難しい(というか資料なさすぎ)です(;´Д⊂)
0923デフォルトの名無しさんNGNG
>>922
エラーがでます・・・ってどんなエラーがでたの?
それがわかればなにか回等できるかも。

それにしてもそのリンク先、文字化けはするし、
ディレクトリの区切りに逆スラッシュ使っているせいか
ソースファイルがNot Foundになっているな。。。
//WindowsのIEで見たら平気なようではあるが。
0924デフォルトの名無しさんNGNG
>>922
>BeansとしてBDKで使うにはどうしたら良いのですか?

これって、「beanboxから使う」って意味か? // ちゃんと書くように
つーか、そのリンク先のソースって、Appletだと思うんだが。

beanboxとしても、こんなのロードされても困るのでは。
...って、なんでBDKなんか使ってるの?
0925924NGNG
つーか、あの中にある「*Bean.java」をbeanboxで使いたいって事か?
にしても、それを使う為の利用側クラスって、当然別途用意してあるんだろうな?
0926デフォルトの名無しさんNGNG
>>906
しぃスキンレベルのものが動かないと意味が無いんだよね
0927 ◆odHOE.4x.I NGNG
>>900
>Javaで2chブラウザを作るとき、一番悩ましいのが
>スキンの実装なんだけど
一番悩ましいのは処理の高速化じゃない?

>>902
>今から作るんならローカルプロキシタイプをキボンしてみる。
あと、外部プロクシの切り替え機能の実装は難しくないよね

>>903
>Javaにやらせるのはいまいちアホっぽいけどな・・・。
え?どして?

>>908
>LinuxとWindowsをデュアルブートしてて、ログを共有したいんだが、
ログを格納するディレクトリを選べるようにしてあげれば良いんだよね。
あとは、文字コードに気を付けて読み書きすれば問題ないよね?

Javaでプロクシ機能を実装してログ(何のログ?)を他のユーザーや
別ドライブの同じブラウザ同士で共有できる機能を持つブラウザを
作るのは難しい事じゃないと思うけど、JavaでGUIアプリを作る事に
さほど価値を感じないJava開発者が多いのでは?

コンソールで2chがみれるJavaCUIアプリなら作ってみようかな?
0928デフォルトの名無しさんNGNG
Ver1.4.1の正規表現について聞きたいんですが、一般に
boolean result = Pattern.matches(正規表現, 文字列);
で判定ができますよね。これはいいんですが…

文字列の最初の数文字に適合するか判定したいんです。
で、適合した場合は正規表現とコンビになっているコマンドを
実行したいんです。どうすればいいですかね?
0929928NGNG
例として正規表現=d*g、文字列=dog&catと考えてください。
d*gの認識に伴って実行したいコマンドがf1()メソッドとしてみます。
0930デフォルトの名無しさんNGNG
>>929
^d.*g

勉強してくださいよ。
0931928NGNG
確かに。マニュアルに
boolean b = Pattern.matches("a*b", "aaaaab");
って例が載っていたもので(笑)。まあそれはいいじゃないですか。

StringのcompareToやindexOfみたいな使い方できない?
0932デフォルトの名無しさんNGNG
>>931
急にタメ口か。なめられたもんだ。
0933デフォルトの名無しさんNGNG
>>932 厨は消えろ
0934930NGNG
>>933
了解。さようなら。
0935デフォルトの名無しさんNGNG
>>934 もう二度とくんなよ
0936デフォルトの名無しさんNGNG
matches() じゃなくて lookingAt() 使え。
0937デフォルトの名無しさんNGNG
>>936 甘やかしてんじゃねぇよ
0938デフォルトの名無しさんNGNG
>>937 二度とくんなって言ったろ
0939デフォルトの名無しさんNGNG
>>923
WARNING: Could not instantiate bean "SimulatorBean" from
JAR "E:\bdk1_1\beans\jar\SimulatorBean.jar"
But were unable to load the class "SimulatorBean" because of
   java.lang.ClassNotFoundException: SimulatorBean
といったエラーが出ます。MANIFESTの書き方などはこれでいいのでしょうか?

>>924
本でBDKを使っていたんです。
利用側クラスを別途用意しなければならないのですか?よく分からなくて・・・
そんな分からない物を押し付けるなよと言われればそれまでなのですが、
ソースは全部記載されていたようなので、見る人が見れば理解できるのかな、
と思って質問してしまいました。
では、あれはアプレットとして使うもの(つまり別物)なのでしょうか。
0940924NGNG
>>939
>本でBDKを使っていたんです。

ハァ? 意味がわからないが。
その本の中で、あのサイトのソースを使うように書いてあったのか?

>ソースは全部記載されていたようなので、見る人が見れば理解できるのかな、

自分でソースを良く読まずに、無関係な本に書かれてた実行手順どおりに動かないもんだから、
人に丸投げした、と。こういう事?

ていうか、beanboxてどういうモノか知ってるの?
"extends Applet" って、どう意味か知ってる??
0941デフォルトの名無しさんNGNG
メソッドの名前を文字列変数に入れておいて、
直接メソッド名を記述せずに呼び出すことできますか?
0942デフォルトの名無しさんNGNG
できます。
0943デフォルトの名無しさんNGNG
>>941
クラス java.lang.Class
パッケージ java.lang.reflect
0944デフォルトの名無しさんNGNG
>>941
http://java.sun.com/j2se/1.3/docs/api/java/lang/reflect/Method.html

invoke();
0945デフォルトの名無しさんNGNG
>>940
そうなんですよ。
前述したとおり、こちらはまだアプリケーションを齧っている段階で、beansは理解しきれていないんです
その「本」というのも理解できる人向けに書いてあるものなので詳しい手順などは略されているのです。
時間があるならば自分でアプリケーション→アプレット→???→beanなどと学んでいきたいのですが
それは叶わないので今回のように丸投げしてしまいました。すいません。

クビ覚悟で自分でなんとかしまつ。スレ汚しスマソ。
0946デフォルトの名無しさんNGNG
Javaのネットゲームでサーブレット以外に使われている技術というのは
あるのでしょうか?
サーブレットだと、Httpを対象としていると思っているので他のプロトコルは
どうしているのかと思って質問しました。

Javaのサーバ系プログラム公開で有名な団体はJakarta-Projectぐらいしか知らないので、
ゲーム系でそんなのがあったら教えてください。
0947デフォルトの名無しさんNGNG
>>946
Socketクラスあるけれど。
0948デフォルトの名無しさんNGNG
> Javaのネットゲーム

意味不明...
0949デフォルトの名無しさんNGNG
>>948
じゃがたら島とかじゃないの?
0950デフォルトの名無しさんNGNG
>>949
何それ?
0951940NGNG
>>945
>その「本」というのも理解できる人向けに書いてあるものなので詳しい手順などは略されているのです。

そういう話じゃなくてさ。「そのサイトのソース」は読んだのか、と。beanうんぬんの話じゃなくてさ。

>時間があるならば自分でアプリケーション→アプレット→???→beanなどと学んでいきたいのですが
>それは叶わないので今回のように丸投げしてしまいました。

俺も時間は無い。でも勉強してるよ。仕事以外でもいつも。でも、丸投げはしない。
まず調べろ。つーか、基礎からやり直せ。
0952デフォルトの名無しさんNGNG
「持ってる本が難しいから」とか「時間が無いから」というのは、かなり恥ずかしい類の言い訳だと
肝に命じた方がいいな。
0953デフォルトの名無しさんNGNG
「本が難しい」→もっと簡単な本を探す
「時間がない」→誰だって無い(この業界は特に)
0954 ◆odHOE.4x.I NGNG
>>946
>サーブレットだと、Httpを対象としていると思っているので他のプロトコルは
>どうしているのかと思って質問しました。

例えばHTTP以外にどのプロトコルを使用したいのですか?
0955デフォルトの名無しさんNGNG
>>954
聞いてどうするんですか?そんなこと。
0956946NGNG
>>954
>例えばHTTP以外にどのプロトコルを使用したいのですか?

市販のネットゲームで使われているようなものを。
FPSならUDPを、MMORPGならTCPを。
(自分でゲームを作る気は無いのですが、興味があったので質問しました)

上手く言えないのですがSocketクラスだけではなく、TOMCATのような土台と
なるプログラムでネットゲーム系でそういったものがあるのかなあと思いました。
0957デフォルトの名無しさんNGNG
Javaはそういうの向いてないねえ
0958デフォルトの名無しさんNGNG
>>946
1. java.servlet.HttpServletのスーパークラスは、別にHTTPに限定されていない。
HTTP以外のプロトコルを動かしたいなら、これを継承しろ。
2. 通信プロトコルが明確に規定されているなら、プロトコルハンドラを書け。
3. もちろん、低レベル通信の実現にはjava.net.Socket使え。
4. クライアントもJavaなら、RemortMethodInterfaceとか使えば、Netを意識する必要さえない。
0959デフォルトの名無しさんNGNG
次スレきぼんぬ
0960デフォルトの名無しさんNGNG
今抽象クラスを勉強してるんですが、そのメリット...というか
いまいち存在意義が理解できないです。
「abstract」とつけなくても、実行結果が同じだったんですが
コードを読み取るという意味で便利ということなんでしょうか?
著書のコードをUPしたので宜しかったらお願いします

↓疑問に思った著書のサンプル
http://deepmind.hp.infoseek.co.jp/ari.txt

↓自分でabstract無しでどうかな・・と思って弄ったもの
http://deepmind.hp.infoseek.co.jp/nasi.txt
0961デフォルトの名無しさんNGNG
プログラムは実行結果のためだけに作るのではないのですよ・・・
0962デフォルトの名無しさんNGNG
>>960
abstractを外したことで実際には実行されないコード書く羽目にあったろ。
気持ち悪くないか?

>  void show()
>  {
>    System.out.println(speed);
>  }
0963デフォルトの名無しさんNGNG
>>960
abstractメソッドがあるときにはabstractクラスにしなければならない。

でもわかんないだろうから、とにかく人のソースを読んで勉強するのが一番良い。
特にAPIのソースを読むのが良いんじゃないかな。
0964デフォルトの名無しさんNGNG
★http://jbbs.shitaraba.com/travel/832/★
    ◆みんなの情報局◆
0965デフォルトの名無しさんNGNG
>>960
モデリングの勉強をしよう。
考え方や概念として抽象クラスにする、ということが理解できるようになる。

あとは、インスタンス化すべきではないクラス。必ずサブクラスを定義して
そこでその場に合わせた適切な実装を強制したい場合に抽象クラスを使う。
フレームワークなんかで用いることが多いかな。

>>961 には激しく同意。
プログラムは「動けば何でも同じ」ではない。
0966960NGNG
>>962
なるほど。無駄なコードを省くのもメリットの一つと考えて宜しいんですね。
>>963
javaを学習すればするほど、沢山覚えなくちゃいけないことあるんですね。
もっと勉強します。
0967デフォルトの名無しさんNGNG
>>966
あ、ついでに interface の意義についても考察してみるといいYO
0968デフォルトの名無しさんNGNG
まあ、printlnくらいならいくら無駄があってもいいんだけど、
これが return password; なんて文だと下手なダミー書くとバグになるよな。
abstractがあれば、バグの一部がコンパイル時に分かるって訳だ。
interfaceの意義はこのスレで最近あったね。

↓反則。
throw new NoSuchMethodException();
0969デフォルトの名無しさんNGNG
HTMLのタグを大文字から小文字に書き換えるソフトを作ろうと思い、
PerlTools.jarというライブラリを拾ってきたのですが、
\Lでの大文字→小文字変換が出来ません。

Perl5Util util = new Perl5Util();
String s2 = util.substitute("s!<(\\/)?([A-Za-z]+)!<$1\\L$2!g", s1);

Perl5互換と書いてあったのですが、\Lは使えないのでしょうか?
使えない場合、別の解法はありますでしょうか?

よろしくお願いします。
0970デフォルトの名無しさんNGNG
String sTag = "<foo>";
sTag.toLowerCase();

これで何故ダメなのか。
0971デフォルトの名無しさんNGNG
Java初心者です。次のようなエラーメッセージがでました。
Exception in thread "main" java.lang.NoClassDefFoundError: testProg
原因がまったくわからないのですが教えてください。
0972969NGNG
>>970
レスありがとうございます。
"<foo>"にtoLowerCaseを使う場合、タグの種類を1つずつ全て指定するのでしょうか?
何度もループを回すのが面倒なので一括置換したいのですが
ずれた反応でしたらすみません。
0973デフォルトの名無しさんNGNG
>>971
>1の上から4つ目のリンク先に行くと良い。
0974971NGNG
>>973
??
意味がわかりませんが。
0975デフォルトの名無しさんNGNG
Java FAQを見てみるのもいいんじゃないかってことじゃない?
0976デフォルトの名無しさんNGNG
>>971
>>1 は見たのか???
0977デフォルトの名無しさんNGNG
>>972
toLowerCase() は文字列内のすべてのアルファベットを小文字に変える
メソッド。それで良いなら s1 = s1.toLowerCase(); とすれ。

ただし属性値も小文字に変換されてしまうが (<foo bar="HELLO!"> とか)
0978969NGNG
>>977
そうですね。それが嫌なのでPerlライブラリ探してきたのです。
すんなり流用できないようなら地道に1文字ずつ判定していくしかないのかな?
うーん、素直にPerlで書いたほうがいいのか・・・
0979デフォルトの名無しさんNGNG
>>978
http://java.sun.com/j2se/1.3/ja/docs/ja/api/

から、"javax.swing.text.html","javax.swing.text.html.parser" パッケージを参照汁。

または、これ。...ただしパーザがあるかどうかは未確認。

Jakarta ECS
http://www.terra-intl.com/jakarta/ecs/
0980979NGNG
って、書いてから気づいたけど、↑のどっちでやっても、結局パーザ部分は自分で書く必要があるな。
0981ななしNGNG
>>980
いいや、例によってバグバグでよければ、sunのモジュール使ってもいい。

バグバグでよければ。
0982960NGNG
>>965
>モデリングの勉強をしよう。
>考え方や概念として抽象クラスにする、ということが理解できるようになる
「モデリング」って言葉を始めて聞きました。
著書を参考にして、深く勉強してみたいです
>>967
>あ、ついでに interface の意義についても考察してみるといいYO
今日の午後に勉強予定です(笑
頑張ります。

引き続き抽象クラスを学習してるんですが、
http://deepmind.hp.infoseek.co.jp/ari.txt
スーパークラスの変数にサブクラスのオブジェクトをいれてるんですが、
サブクラスの変数を作ってオブジェクトを格納しても、コンパイルができません。
抽象クラスは必ずスーパークラスの変数にサブクラスのオブジェクトを
いれなくてはならないものなんでしょうか?
0983デフォルトの名無しさんNGNG
>>982
>スーパークラスの変数にサブクラスのオブジェクトをいれてるんですが、
>サブクラスの変数を作ってオブジェクトを格納しても、コンパイルができません。
具体的には?↓は通るよね。
CarA car = new CarA(1234,20.5);
car.setSpeed(60);
car.show();

>抽象クラスは必ずスーパークラスの変数にサブクラスのオブジェクトを
>いれなくてはならないものなんでしょうか?
そんなことはない。
用語に注意。抽象クラスはインスタンスを作れない。
VehicleA は抽象クラスだが、CarA、PlaneA はそうではない。

抽象クラスである親クラスの型の変数に入れることで、
子クラスのオブジェクトを同じものとして扱える。いわゆる多態性。
↓の部分ね。
for(int i=0;i<vc.length;i++){
vc[i].show();
}
0984960NGNG
>>982
レス有難う御座います
>CarA car = new CarA(1234,20.5);
>car.setSpeed(60);
>car.show();
でコンパイル成功しました。
実験用に作ったソースが間違いみたいだったです。
コンパイルにエラーがでたときの見方がわからなかったので
少し悔しいです(泣

>そんなことはない。
>用語に注意。抽象クラスはインスタンスを作れない。
>VehicleA は抽象クラスだが、CarA、PlaneA はそうではない。
了解しました。
お陰様で、心のもやもやが晴れました(感謝
難しいですけど、面白いですね\( ・ω・)/♪(java
0985デフォルトの名無しさんNGNG
>>984
あと、たまには教科書を疑ってみることも必要だよ。あなたのサンプルコード
見たけど、abstractの効果を説明するサンプルとしてはわかりにくい。
確かにサンプルの言わんとするところはわかるんだけど、実用になるコード
を書きたいのに「哺乳類クラスから継承して犬クラスと猫クラスを」なんて事
やってられないでしょ。

教科書はでかい本屋で片っ端からチェックして、できのいい一冊だけ選んで
買うほうがいいよ。
0986デフォルトの名無しさんNGNG
-------------------------------------------
本日23:00時より祭りを開催いたします。
是非、参加下さいます様、お願いします。
携帯PHS
迷惑メールサイト一斉訪問お祭り開催
http://jbbs.shitaraba.com/news/bbs/read.cgi?BBS=853&KEY=1043335260
-------------------------------------------
0987デフォルトの名無しさんNGNG
いや、大抵の初心者向けの本には
動物クラスと犬猫とか、鳥クラスとカラス・インコだとか
そんなのでしか解説されてないと思う。
だからわかりづらいんだよな。こんなことして何になる?としか思えなくなる。
0988デフォルトの名無しさんNGNG
でも、実用的な例だとコードが長くなるからねえ。
一つの本で同じ題をその章で教える内容を盛り込んで大きくしていく
という書き方ならいいけど。
0989デフォルトの名無しさんNGNG
>>969
遅レスだけども,java.util.regex を使うと

Matcher m = Pattern.compile("<(\\/)?([A-Za-z]+)").matcher(s1);
StringBuffer s2 = new StringBuffer();
while (m.find()) {
  m.appendReplacement(s2, "<$1" + m.group(2).toLowerCase());
}
m.appendTail(s2);

とか書けるんですけれど,PerlTools でも似たような書き方が出来るんでない?
0990デフォルトの名無しさんNGNG
JAVA初心者です。
質問なんですけど。
配列を使わずに変数をの一部の値を部分参照でとってくる
クラスってあるのでしょうか??
COBOLだったら
  変数名(2:3)
    見たいな感じの何ですけど。。。
0991デフォルトの名無しさんNGNG
>>990
java.util.List#subList() のことか?
COBOL知らんからとらえ間違えてるかもしれんが。

つか少なくとも助詞は正確に使ったほうが伝わりやすいと思うぞ
0992デフォルトの名無しさんNGNG
ありがとうございます>991
あと、わかったらで良いんですがjavaプログラムで
excelファイルを読み込むことは可能でしょうか?
0993デフォルトの名無しさんNGNG
全角英数字を使う人には教えません。
0994デフォルトの名無しさんNGNG
すいません。
わかったらで良いんですがJavaプログラムで
Excelファイルを読み込むことは可能でしょうか?
0995デフォルトの名無しさんNGNG
>>994
Excelのファイルが読めるサードパーティ製ライブラリがあったと…
POI だっけ?
0996デフォルトの名無しさんNGNG
POIで検索したらいっぱい出てきた

そうなんだよな
検索キーワードさえわかればあとはどうにでもなる世の中

検索キーワード教えろスレ とか建てたいな
絶対需要あるよな
0997デフォルトの名無しさんNGNG
よくわからないんですけど、それってツールなんですか??
0998デフォルトの名無しさんNGNG
Jakarta POI
http://www.terra-intl.com/jakarta/poi/
Jakarta POIで日本語シート名を読む方法
http://taka-2.com/jclass/POI/JapaneseSheetName.html
Swing-JTable にコピペで貼り付ける
http://www.javaworld.com/javaworld/javatips/jw-javatip77.html
ODBC 経由 (たぶん obsolete)
http://www02.so-net.ne.jp/~kikuta/jikken/jreport40.html

Java Excel だけで検索できます。
0999デフォルトの名無しさんNGNG
ありがとうございます>998
調べてみます
1000デフォルトの名無しさんNGNG
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。