★★Java質問・相談スレッド149★★
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/10/18(火) 19:54:23.87JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
★★Java質問・相談スレッド148★★
http://hibari.2ch.net/test/read.cgi/tech/1316477239/
次スレは>>950あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
0002デフォルトの名無しさん
2011/10/18(火) 19:54:50.61■ AWT と Swing は --
Java低速GUI Swing 9
http://hibari.2ch.net/test/read.cgi/tech/1261232019/
■ SWT は --
Java 高速GUI SWT 3
http://hibari.2ch.net/test/read.cgi/tech/1164877399/
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part22
http://hibari.2ch.net/test/read.cgi/tech/1295766416/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
http://hibari.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
【Google】Androidアプリ作成part8 ※ dat 落ち
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 71 ★★
http://hibari.2ch.net/test/read.cgi/tech/1309076891/
0003デフォルトの名無しさん
2011/10/18(火) 19:55:09.03NetBeans Part6
http://hibari.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
Eclipse統合M31【Java/C++/Ruby/Python/Perl】
http://hibari.2ch.net/test/read.cgi/tech/1295886572/
**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
http://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
http://java.sun.com/javase/ja/6/
■ Java SE 7(Early Access)
http://jdk7.java.net/download.html
**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
http://www.java.com/ja
0004デフォルトの名無しさん
2011/10/18(火) 21:46:29.270005デフォルトの名無しさん
2011/10/18(火) 22:05:20.01どんまい
さっさと削除依頼出してこいマヌケ
0006デフォルトの名無しさん
2011/10/18(火) 22:10:04.17Swingは描画クラスですよね?アプレットとの関連は?
0007デフォルトの名無しさん
2011/10/18(火) 22:24:21.59全てのものはオブジェクトです。
0008デフォルトの名無しさん
2011/10/18(火) 22:31:04.45ありがとうございます。アプレットクラスってありますか?
0009デフォルトの名無しさん
2011/10/18(火) 23:26:09.04ググれよ
http://java.sun.com/javase/ja/6/docs/ja/api/java/applet/Applet.html
0010デフォルトの名無しさん
2011/10/19(水) 01:16:30.840011デフォルトの名無しさん
2011/10/19(水) 02:31:49.07あっちはテンプレ間違えてるだろアホか
0012デフォルトの名無しさん
2011/10/19(水) 02:32:38.440013デフォルトの名無しさん
2011/10/19(水) 05:07:57.39今度JOGLを勉強しようと思っているのですが、ダウンロードできる場所と
インストールの方法が良く分かりません。
java.netの説明がたくさんあるのですがそこに行っても、ダウンロードできません。
よろしかったら教えてください。
スレ違いだったらすいません。誘導していただければ幸いです。
0014デフォルトの名無しさん
2011/10/19(水) 07:20:50.76HOME: http://jogamp.org/jogl/www/
BIN; http://jogamp.org/deployment/jogamp-current/archive/
DOC: http://jogamp.org/wiki/index.php/Main_Page
0015デフォルトの名無しさん
2011/10/19(水) 19:33:06.70パケットクラス作るものだと思ってたんですが、
byte[]が普通なんでしょうか。
0016デフォルトの名無しさん
2011/10/19(水) 20:29:53.80if(buf[243]==OK)
とかやっとれんから作るでしょ
0017デフォルトの名無しさん
2011/10/19(水) 20:43:55.42そういう話じゃないのか?
普通はストリーム垂れ流しでパケット単位とか面倒くさい事しないと思うが。
0018デフォルトの名無しさん
2011/10/19(水) 20:55:31.37非常識な実装でしょうか。
非常識なら非常識で良いのですが、普通はどのようにするのでしょうか。
0019デフォルトの名無しさん
2011/10/19(水) 21:11:31.850020デフォルトの名無しさん
2011/10/19(水) 21:13:27.76ツールバーにトグルボタン追加して
ボタンがONの時に、キャレット位置の文字列を取得して
OFFにしたら、その文字列を表示する
というのを試しているのですが
public void run(IAction action) {
if (action.isChecked()) {
//文字列取得
}else{
//表示
}
}
if文の中で、文字列の取得やってるんですけど
今の場合だと、ボタンをONにした時しか文字列を取得しません。(つまり1回だけ)
ONの間にキャレット位置を変更したら、文字列も取得しなおす
というようにするには、どうしたらいいでしょうか?
一応javaなのでここで質問したのですが、違ったらすいません。
0021デフォルトの名無しさん
2011/10/19(水) 21:23:36.22言わんのはわかったのですが、普通はどうするのでしょう。
ByteStreamで各値を入れていく様な形でしょうか。
0022デフォルトの名無しさん
2011/10/19(水) 21:29:32.570023デフォルトの名無しさん
2011/10/19(水) 21:37:46.210024デフォルトの名無しさん
2011/10/19(水) 22:09:48.510025デフォルトの名無しさん
2011/10/19(水) 22:30:33.18finalクラスの中のメソッドと同じ扱い。
0026デフォルトの名無しさん
2011/10/19(水) 22:33:20.780027デフォルトの名無しさん
2011/10/19(水) 23:49:55.240028デフォルトの名無しさん
2011/10/20(木) 02:22:35.75普通を選ぶのが普通じゃないか
0029デフォルトの名無しさん
2011/10/20(木) 02:40:13.840030デフォルトの名無しさん
2011/10/20(木) 02:44:38.310031デフォルトの名無しさん
2011/10/20(木) 07:43:05.330032デフォルトの名無しさん
2011/10/20(木) 08:01:00.98せいぜいリクエストとか、コマンドって言うんじゃね
GETリクエストを、GETパケットとか言うのかなり違和感がマッハだし
0033デフォルトの名無しさん
2011/10/20(木) 08:32:59.53それだけでしょうか。
Socketに対するPacketのつもりで書いただけだったので、
その誤解は想定外でした。
申し訳ない。
0034デフォルトの名無しさん
2011/10/20(木) 10:39:32.93業界用語だろうか?
0035デフォルトの名無しさん
2011/10/20(木) 11:55:28.820036デフォルトの名無しさん
2011/10/20(木) 13:04:48.750037デフォルトの名無しさん
2011/10/20(木) 19:19:22.130038デフォルトの名無しさん
2011/10/20(木) 19:43:21.48list.remove(10);
とやっても要素が削除されないんですがなぜでしょう?
0039デフォルトの名無しさん
2011/10/20(木) 19:49:08.720040デフォルトの名無しさん
2011/10/20(木) 19:58:56.41foreachで取り出してるからかー
0041デフォルトの名無しさん
2011/10/21(金) 00:05:56.55この{}って何ですか?
0042デフォルトの名無しさん
2011/10/21(金) 00:55:20.050043デフォルトの名無しさん
2011/10/21(金) 10:23:28.700044デフォルトの名無しさん
2011/10/21(金) 21:41:26.130045デフォルトの名無しさん
2011/10/22(土) 00:07:54.03改行コードが \r\n として読み込まれてしまいます。
C言語では、\r\n は \n に自動的に置き換えられると思うのですが、
Javaで自動的に置き換えるにはどのようにすればよいのでしょうか?
0046デフォルトの名無しさん
2011/10/22(土) 00:13:30.33ですが、Cloneable自体はclone()を宣言していないのでcloneableObject.clone()とは書けません。
このような場合、
cloneableObject.getClass().getMethod("clone").invoke(cloneableObject);
と書くしかないのでしょうか。
良い書き方があれば教えてください。
0047デフォルトの名無しさん
2011/10/22(土) 00:19:18.510048デフォルトの名無しさん
2011/10/22(土) 00:19:37.71System.getProperty("何か忘れた")で改行文字をOS毎に識別してみては?
0049デフォルトの名無しさん
2011/10/22(土) 00:22:46.62確かCollection<Cloneable>のオブジェクトは最初からcloneメソッドを実装していないと思います。
実装者がcloneメソッドをオーバライドしてdeepcopyするロジックを書かないといけないのかもしれません。
まちがってたらごめんなさい。
0050デフォルトの名無しさん
2011/10/22(土) 00:48:46.46どんなメリットがあるんですかね…
ゲッタとセッタで間に合ってるような気がするんすけど。
0051デフォルトの名無しさん
2011/10/22(土) 01:36:50.29http://journal.mycom.co.jp/articles/2007/05/16/java7/index.html
http://journal.mycom.co.jp/articles/2007/05/16/java7/001.html
便利機能ですね
0052デフォルトの名無しさん
2011/10/22(土) 02:24:21.750053デフォルトの名無しさん
2011/10/22(土) 09:23:11.06しているクラスを探すにはどうしたらよいですか?
また、ロードしている全クラスの中から上記のようなクラスを探すことは
元のクラスの量的に大変でしょうか?
0054デフォルトの名無しさん
2011/10/22(土) 09:40:46.88まず前者はどういう規模でやりたいんだ?
一つのプロジェクトで、とかならソース集めてgrepするのが速い。
全世界で、とかいうなら諦めろ。
後者については「どのクラスローダーが?」って問題があるけど、時間をかければ十分可能。
005553
2011/10/22(土) 10:01:42.19プログラム自身が自分を構成するクラス群の中から
あるクラスを継承しているクラスを探します
なので検索対象はメモリの中のクラスになります
時間をかければ可能ということは、遅いということですね
クラスローダなどから、検索対象を基本的なクラス(JRE内のクラス?)
ではなくユーザ定義のクラスのみに限定することはできるでしょうか?
0056デフォルトの名無しさん
2011/10/22(土) 11:17:40.56プログラム自身ってのがフレームワークのコンテナみたいなものを考えているのなら、
クラスローダを自作してloadClass()をoverrideするときにロードしたクラスを記録しとけ。
0057デフォルトの名無しさん
2011/10/22(土) 12:05:24.17やろうとしていることがいまいち分からん。
「あるプログラムを構成するクラス群」なんて、メモリ内を検索するまでもなく、
ソースコードの段階で、(基本的には)一意に決まってる物なんじゃないの?
それとも、外部からライブラリを持ってきていて、
その中であるクラスが使われているかを調査したい、みたいな事なのか。
その辺の事情も書かないと、有効な回答は出ないと思うよ。
005846
2011/10/22(土) 12:22:46.24コード例を挙げると、
List<Cloneable> cl = Arrays.asList(cloneableObjectArray);
List<Cloneable> copyOne = new ArrayList<Cloneable>();
for(Cloneable c : cl.iterator()) {
copyOne.add(/* ここにc.clone()のようなものを書きたい */);
}
引き続きよろしくお願します。
005953
2011/10/22(土) 12:40:00.59プログラム自身が実行中にメモリ内から探すので
ソースコードを用意してその中から探すのではありません。
そして、クラスの利用の有無ではなく
直接・間接を問わずあるクラスを継承、またはインタフェースを実装しているクラスを探します。
0060デフォルトの名無しさん
2011/10/22(土) 12:42:11.28List createDeepClone(List list) {
for(Object o : list) {
if(o instanceof List) {
createDeepClone(o);
} else {
// オブジェクトをクローンして値を格納。
Object newObj = o.clone();
(省略)
}
}
}
List型のみに限定するとこんな感じかな。ちょっと詰めが甘いけど。。
0061デフォルトの名無しさん
2011/10/22(土) 12:48:24.37Object#clone()はprivateだから無理。
0062デフォルトの名無しさん
2011/10/22(土) 12:49:24.67private じゃなくて protectedだな。
0063デフォルトの名無しさん
2011/10/22(土) 12:50:51.42むり
0064デフォルトの名無しさん
2011/10/22(土) 12:54:36.52ああそこはcloneメソッドを実装しているクラスかインタフェースにルール決めするしかないかな^^
0065デフォルトの名無しさん
2011/10/22(土) 12:56:41.49Cloneableはただのマーカーだからcloneの成功が保証されるわけじゃないから結局実装クラスで呼び出さないとわからない。
0066デフォルトの名無しさん
2011/10/22(土) 13:05:35.39だから>>46はList<Cloneable>ってCloneable限定してるじゃないか。
>>46
deep copyする必要があるクラスがわかっているのなら、
自分ならインタフェースを別で作る。
public interface MyCloneable extends Cloneable {
public Object clone();
}
んで、Collection<Cloneable>の代わりにCollection<MyCloneable>を使う感じ。
006745
2011/10/22(土) 13:16:06.03C言語のコードを移植したいので、
できればread()で得られたint型が改行かどうか判定する方法を探しています。
System.getProperty()で改行文字を得る方法は、戻り値がString型になってしまうので、困っています。
0068デフォルトの名無しさん
2011/10/22(土) 13:25:16.08>戻り値がString型
えー
Windowsなら13 → 10 の順番に来た文字コードを怪しめばいいと思うけど
0069デフォルトの名無しさん
2011/10/22(土) 13:30:39.57お勧めの書籍やサイトを教えてください。フレームワークというのも重要と聞きました
それも教えてもらえるとありがたいです
0070デフォルトの名無しさん
2011/10/22(土) 13:35:52.760071デフォルトの名無しさん
2011/10/22(土) 13:38:25.19まず書店に足を運んで初心者向けの書籍を立ち読みする。
初心者向けと銘打たれている中にも難易度の差があるから実際に読んでみて一番しっくり来たものを1冊購入する。
フレームワークは重要だけどこれからJava始めますってレベルなら無用の長物。
まずは基本をがっつり固めて勉強するべきだと思う。
あとは・・・Oracle認定Javaアソシエイツ(OCJ-A)かOracle認定Javaプログラマ(OCJ-P)の勉強をすると文法には詳しくなる。
0072デフォルトの名無しさん
2011/10/22(土) 13:50:13.45詰まらないサンプルコードとにらめっこして
クラス定義、メソッド、プライベート、パブリックなど初歩から地道にやってくことになる
他のオブジェクト指向言語を知っているなら
Java APIドキュメントやWebに転がってるサンプルコードを見ながら簡単なものを作ってみるのもいい。
テキストエディタでゴリゴリ書いてもいいけど開発環境使うならEclipseがオススメ
0073デフォルトの名無しさん
2011/10/22(土) 14:18:33.96ファイルを行ごとに分けたいが、行末判定は自前で書きたくない、というのであれば、
BufferedReader#readLine() がおすすめ。"\n" と "\r" と "\r\n" で勝手に区切ってくれる。
0074デフォルトの名無しさん
2011/10/22(土) 14:30:03.01>>72
ありがとうございます。オブジェクト指向すら知らないので本屋にいって探してきます
0075デフォルトの名無しさん
2011/10/22(土) 14:35:21.46HttpClientクラスがHTTP送受信の機能を提供してるみたいだけど何がやりたいの?
007657
2011/10/22(土) 14:38:14.93聞きたいのはそこではなく、なぜ「プログラム自身」が「実行中に」検索する羽目になるのか、という点。
一足飛びにメモリ検索まで行かなくても、他に妙案が出るかもしれないでしょ。
それはそうと、適当にググったらこんなのが見つかった。詳細は知らんけど。
interface com.sun.jdi.ClassLoaderReference#definedClasses()
このクラスローダによって定義されたすべてのロード済みクラスのリストを返します。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jpda/jdi/com/sun/jdi/ClassLoaderReference.html
0077デフォルトの名無しさん
2011/10/22(土) 14:51:03.23えっと、HttpClientからサイトに描画している文字列をinputstream経由で取りたいんです。
0078デフォルトの名無しさん
2011/10/22(土) 15:09:29.310079デフォルトの名無しさん
2011/10/22(土) 15:10:50.09じゃあHttpClientクラスなどに頼らず、URL、HttpURLConnection、ByteArrayOutputStreamなどを使って
一から実装したほうが近道なのでは?
ここなんかシンプルですよ
http://x68000.q-e-d.net/~68user/net/java-http-url-connection-1.html
008045
2011/10/22(土) 16:36:30.50一行ごとだと、そんな便利な機能があるんですね。
でも、今は、一文字ごとの読み込みで考えています。
一文字ずつ読み込んで、字句解析の様な事をするプログラムを作ってます。
解る方いらっしゃいましたらよろしくお願いいたします。
0081デフォルトの名無しさん
2011/10/22(土) 16:47:00.08字句解析なら1バイト長で取得したほうがきれいに作れる気がしますが・・
008245
2011/10/22(土) 16:53:12.84一バイト長の読み込みが良いのですが、\r\nは自動的に\nに変換してほしいんです。
0083デフォルトの名無しさん
2011/10/22(土) 17:01:40.78guiは不用でnative dll作成 (jni,jna)とdirectx,sse,avx,gpu(intel,amd)など常に最新のnative機能とライブラリにそのコンパイラ環境でアクセス出来るかどうかがメインです。
出来ればgplライセンスでなくフリーでプロジェクトの活動も活発なものを期待していますが、そんなオープンソース・コミュニティーみたいな都合がいいwindows用のC言語プロジェクトはwindows環境には存在しないですよね?
0084デフォルトの名無しさん
2011/10/22(土) 17:28:08.12その前に、中学校の勉強をしっかりやった方がいいんじゃないかな。
0085デフォルトの名無しさん
2011/10/22(土) 17:47:56.950086デフォルトの名無しさん
2011/10/22(土) 17:52:00.12>>68 で解決だろ
0087デフォルトの名無しさん
2011/10/22(土) 17:52:33.470088デフォルトの名無しさん
2011/10/22(土) 17:53:41.721byte長で読み込むけどCR-LFを判別したいってことか。
標準にはそんな仕様ないから自分でCR見つけたら次の1byte読んでLFなら捨てるようなメソッド組めばいいんじゃない?
あ、LFだったとしても文字コードによってはマルチバイトで次がある可能性があるから気をつけて実装しないとダメだよ。
008957
2011/10/22(土) 18:19:57.87試しに作ってみた。使用クラスが >76 とは違うけど。
ttp://ideone.com/W8svq
それっぽくは動くんだけど、ほんとに合ってんのかな?
よく考えたら、確認の仕様がないな・・・
0090デフォルトの名無しさん
2011/10/22(土) 18:43:43.72X<B#>A<B#>というStringがあったとして
<*>で囲まれたもの以外のalphabetをreplaceAllを用いて"|"に変換するにはどうすれば良いのでしょう?
Javaでの正規表現の書き方について、参考になるホームページなどがありましたら、教えていただけると助かります。
0091デフォルトの名無しさん
2011/10/22(土) 20:41:02.750092デフォルトの名無しさん
2011/10/22(土) 21:18:59.07どうしてもできないのなら、俺みたいにJython使えばいいんじゃね?
でもきっと、ちゃんと正規表現が使えると便利なんだろうな・・・・
009345
2011/10/22(土) 21:30:29.96すみません。コメントしていただいたのに見逃してました。
そうですね。少し手間はかかりますが、そうすることにします。
>>88
なるほどです。そうすることにします。
ありがとうございます。
0094デフォルトの名無しさん
2011/10/22(土) 22:07:00.61正規表現は不味いんですか?
char[]に分解して書くとかなり大変なので
正規表現で片付けようと思ったのですが。
>>92
学校の課題なので、Jythonはちょっと・・・
理屈自体はTuringMachinの講義を受けた際、勉強したはずなのですが
実際に使うとなるとさっぱりです。
ただ、正規表現が使えるといろいろ夢が広がりそうなので、
O'reillyのMastering Regular Expressionsでも読んで見ることにします。
0095デフォルトの名無しさん
2011/10/23(日) 00:06:59.18その場合警告が出るのを避ける方法って無いかな?
abstructクラスの部分集合のクラスかインターフェイスを定義したいんだが無理ですよね?
0096デフォルトの名無しさん
2011/10/23(日) 00:22:51.59そのクラスも”abstruct ”って宣言しないと
0097デフォルトの名無しさん
2011/10/23(日) 02:53:33.86例の文字列を対象にするなら
replaceAll(".*?(<[^>]*?>).*?", "l$1")
ってのはどうだろう
0098デフォルトの名無しさん
2011/10/23(日) 03:34:13.90「Could not find the main class」
になって突然全く実行できなくなった。
JUnitのテストコードも、動いてたものが全部
java.lang.ClassNotFoundException:
と言われた。
どんな原因が考えられますか?
0099デフォルトの名無しさん
2011/10/23(日) 03:38:12.510100デフォルトの名無しさん
2011/10/23(日) 03:41:36.57再コンパイルせずに起動スクリプトまわしたとか
■ このスレッドは過去ログ倉庫に格納されています