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


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

 【初心者】Java質問・相談スレッド118【歓迎】



1 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 18:21:51 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド116【歓迎】
pc11.2ch.net/test/read.cgi/tech/1213347130/
次スレは>>990あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/


672 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 08:02:34 ]
>>670
echo 日本語パラメータ

だけの内容のbatファイルをEUC-JPで作成して試してみ?
たぶん引数の前、コマンドラインシェルが解釈した段階で化けてると思うぞ。

673 名前:デフォルトの名無しさん [2008/08/27(水) 11:33:28 ]
一旦バイトコードに変換してから処理したいんですが
文字化けを起こして出来ません。

PrintWriter out = response.getWriter();
//String val = request.getParameter("kanji");
//byte[] byteData = val.getBytes("Shift_JIS");
//val = new String(byteData, "Shift_JIS");
out.print(val);

コメントアウトを外すと文字化けを起こします。
表示先は文字コードはShift_JISであっている筈なんですが・・・
単純に両方Shift_JISをピンポイントで指定してるのに
なぜ化けるのでしょうか?バイトコードへ変換して戻す処理の中で何かデータの欠損でも起きているのでしょうか?


674 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:30:06 ]
SJIS外の文字は入ってないの?

675 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:43:56 ]
>673
1. response の PrintWriterオブジェクトの文字コードは何なのかしら?
2. request は正しい文字コードで入力を読み取ってるかしら?
3. 674 のように Shift_JIS外の文字は入ってないかしら?
4. response で出力した先の文字コードは 1 と同じかしら?

676 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:35:15 ]
行き詰まっているので質問させて下さい。
データベースに日付を管理するresettime・・・というテーブルがあります。
そのテーブルにはtimeというdate型のカラムがあり2008-08-27という値が格納されています。
んでソースです。
public void checkDate() {
Date now = new Date();//今日の日付
String sqlIndex = "select * from resettime";
try {
db.connect();//データベースに接続する
ResultSet rs = db.executeQuery(sqlIndex);//Statementのと同じ機能
rs.next();
if(now.after(rs.getDate("time")//今日の日付のはず)) { //※問題の箇所
String[] sql = new String[2];
sql[0] = "delete from popularmovieinfunnymoviechannel";
sql[1] = "update resettimeinfunnymoviechannel set time = '"+now+"'";
db.addBatch(sql);
db.executeBatch();//Statementのと同じ機能
}
}
catch(SQLException e) {

}
finally {
db.disConnect();//データベースを切断する
}
}
問題の箇所がtrueとなってしまい上手くいきません。バグっぽい箇所が在ればご教授下さい
jreは6_7です。



677 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:38:43 ]
nowは今日の日付に加えて現在の時刻も入ってるはず
そのDBのdate型が時刻を格納してないなら00:00:00になるはず
今日の現在時刻と今日の00:00:00を比較したらどうなるかというと・・・

678 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:43:11 ]
RMiの呼ばれる実装クラスにて、要求先のIPアドレスを取得する方法はあるでしょうか?
引数で情報を渡すはなしでお願いします。

679 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:51:05 ]
>>673
request.setCharacterEncodingでSHIFT_JISを有効にする。
あと、Tomcat5.0以降のバージョンでGetの処理すると、
デフォルトの動作でsetCharacterEncodingが無効になるから注意。
server.xmlの変更で対処して。そのあたりはググれば出てくる。

680 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:55:34 ]
>>677 nowをjava.sql.Date()のインスタンスにしてもtrueになるんですけど・・・
jre変えてみまッス。




681 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:05:40 ]
>>680
java.sql.Dateも一緒
Javadoc見てみ、時間をミリ秒で表すって書いてある
java.sun.com/javase/ja/6/docs/ja/api/java/sql/Date.html

682 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:20:08 ]
結局データーベースから取ったDateとDateインスタンスは比較しても無駄って事ですか?

683 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:24:51 ]
>>682
java より先に小学生レベルの時刻の概念から学んだ方がいい

684 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:28:50 ]
>683 あいそうします。ありがとうございました。

685 名前:デフォルトの名無しさん [2008/08/27(水) 16:55:15 ]
時間・時刻を比較したいのか

686 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 17:11:31 ]
afterとbeforeの動作を誤解してるとかじゃないよね?

nowが現在の時刻なんだから、それよりもafterな時刻なんて
存在しない……だから、”問題の箇所”は常にtrueになって当たり前。

687 名前:686 mailto:sage [2008/08/27(水) 17:13:43 ]
「それよりもafter」って変だったorz

現在の時刻よりも、未来の時刻は存在しないから
”問題の箇所”は常にtrueって言いたかった……

688 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:01:43 ]
>>686 もしjava.sql.Date型同士のインスタンスを比較するとして両方のインスタンスが
同年同一日ならafterでもfalseが帰る。

689 名前:680 mailto:sage [2008/08/27(水) 21:20:11 ]
>681 nowの方の日にちを調整することで解決させました。
このまま行ってたら大きな誤解を持ったまま行くところでした。thx。

690 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:30:00 ]
Component component = new JScrollPane(new JPanel());
JTabbedPane jtp = new JTabbedPane();
jtp.addTab(component);

のように書いた時に、後々componentを取得する方法はあるで
しょうか。
ご教授お願いします。



691 名前:690 mailto:sage [2008/08/27(水) 21:40:35 ]
すみません。690ですが
取得したいのはcomponentではなくて、
スクロールペインの中のJPanelでした。

宜しくお願いします。

692 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:16:21 ]
Strtusについて質問です。

public void setGoods(ArrayList<String> goods){
this.goods = goods;}
public void setNumber(ArrayList<String> number){
this.number = number;}

このようにしてBeanに格納したArrayListを、

<logic:iterate id="name" name="Bean">
<bean:write name="name" property="number" />:
<bean:write name="name" property="goods" /><br>
</logic:iterate>

上記のJSPで出力しようとしてもエラーが出ます。

<logic:iterate id="name" name="Bean" property="number">
<bean:write name="name" />
</logic:iterate>
<logic:iterate id="name" name="Bean" property="goods">
<bean:write name="name" />
</logic:iterate>

こういった書式だと値の表示は可能ですが、当然出力位置が変ってしまいます。

number1:goods1
number2:goods2
number3:goods3

最終的にこういう表示をさせるにはどういった書き方をすればいいでしょうか。


693 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 23:17:58 ]
>>691
((JScrollPane)component).getViewport().getView()

694 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 01:24:16 ]
>>693

ありがとうございます。
お陰で無事解決しました。

695 名前:688 mailto:sage [2008/08/28(木) 09:17:37 ]
ごめ、嘘ブッコイタ。

696 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 10:11:00 ]
>>678
java.rmi.server.RemoteServer.getClientHost() でガマンしろ。

697 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:33:18 ]
まったくの初心者です。よろしくお願いします。

Javaの勉強をしようと思い
「JDK 6 Update 7」をダウンロードしてインストールしてみました。
環境変数を設定した後に、バージョンが正しいか確認してみたのですが、

C:\>java -version
java version "1.4.2_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)

と表示さてれました。
ただし、

C:\WINDOWS\system32>java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)

だと、きちんと「JDK 6 Update 7」がインストールされているぽいのですが・・・

これってちゃんとインストールされた状態になったのでしょうか?

698 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:36:50 ]
すでにインストールされてたっぽい JRE 1.4.2_03 は特に使わないなら削除してしまえ
あと javac -version も

699 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:45:50 ]
>>698
レスありがとうございます。

C:\>javac -version
javac version "1.6.0_07"

C:\WINDOWS\system32>javac -version
javac version "1.6.0_07"

でした。

1.4.2_3の削除についてですが、

プログラムの追加と削除に無く、
レジストリ内も検索してみたのですがそれらしいのが無いため

どこから削除すればよいでしょうか?


700 名前:692 mailto:sage [2008/08/28(木) 11:54:23 ]
自己解決しました。
ありがとうございました。



701 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:55:18 ]
>>699
環境変数の PATH を確認する。
恐らく "C:\jdk1.4.2_03\bin" みたいなのが含まれているはず。

702 名前:デフォルトの名無しさん [2008/08/28(木) 15:08:43 ]
デザインパターンの本を買った人へ。
貴方のほらふきの癖を治せば、少しは友達が増えると思います。

703 名前:デフォルトの名無しさん [2008/08/28(木) 16:32:37 ]
javaでゲームのようなものを作っているのですが、(GUIです)質問させていただきます。
ゲームを起動すると
ログイン画面→どのゲームを選ぶかの選択画面→ゲームの画面
と画面を入れ替えていきたいのですが、どうやって処理すればいいでしょうか?
やはりカードレイアウトを使うしかないのでしょうか?画面の切り替えには・・・


704 名前:デフォルトの名無しさん [2008/08/28(木) 16:50:41 ]
質問させてください。
while文を回して配列に格納した多くのデータを、
終了後にファイルに出力するにはどうするのが一番効率的でしょうか?
ファイルの入出力がよくわからなくて…よろしくお願いします。

705 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:06:04 ]
Ubuntuなら
update-alternativeっていうコマンドでやる。
PATHには入ってないんじゃないかな?
javaのパスを直接指定する人も珍しいだろうし。
とりあえず気休めだが、
JAVA_HOMEをいじっておけ。

706 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:58:51 ]
>>704
効率なんか気にせず作ってみる
だいたい気にするほど遅くないことが多い
実際に気になるほど遅かったらそのときに訊くといい

707 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 18:01:26 ]
>>703
古いコンポーネントをremoveして新しいコンポーネントをaddすることもできるよ

708 名前:704 mailto:sage [2008/08/28(木) 18:50:07 ]
>>706
ありがとうございます。とりあえず作ってみます。

709 名前:デフォルトの名無しさん [2008/08/28(木) 19:30:56 ]
>>707
ありがとうございます。removeで取り除くことを忘れてました。。
カードレイアウトとどちらが良いんでしょう・・・

710 名前:デフォルトの名無しさん [2008/08/28(木) 19:32:27 ]
>>707
ありがとうございます。removeで取り除くことを忘れてました。。
カードレイアウトとどちらが良いんでしょう・・・カードは重くなりそうな印象で



711 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 19:35:01 ]
二重・・・すいませんov2

712 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 23:13:00 ]
>>710
印象で選択するのは危険。
実測してみればいい。

713 名前:デフォルトの名無しさん [2008/08/28(木) 23:39:43 ]
他のスレで話題に上がってて気になったんで質問。
Javaでチャット機能作る場合は一人に1スレッド設計しか無理なの?
サーバからのメッセージも随時受け取らないとダメだし

714 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 00:06:32 ]
一人の何に1スレッドを当てるの?

715 名前:デフォルトの名無しさん [2008/08/29(金) 00:55:57 ]
スレッドは常にwhileで受信の準備をしてるんじゃない?

716 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 01:31:12 ]
非同期

717 名前:デフォルトの名無しさん [2008/08/29(金) 01:43:05 ]
genericsについて質問です。
Parentクラスを継承するChildクラスを定義して下記コードを記述しました。

List<? extends Parent> list = new ArrayList<Child>();
list.add(new Parent());

上記コードでコンパイルエラーが出ます。
型を見るとadd()の引数がnullになってました。

きっとadd()しちゃいけないから引数の型がnullなんでしょうけど、
理由がよくわかりません。教えてくだしあ。

718 名前:717 mailto:sage [2008/08/29(金) 01:53:34 ]
すんまそん。コードの2行目は

list.add(new Parent());
じゃなくて
list.add(new Child());
でした。どっちにしろ結果は同じなんですけどね。

719 名前:デフォルトの名無しさん [2008/08/29(金) 02:02:59 ]
>型を見るとadd()の引数がnullになってました。



720 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:21:38 ]
>717
何度書いたか分からんが、ジェネリクスは静的解決、キャストは動的解決。

List<? extends Parent>
という宣言を書いたからオカシイ。

そもそも、宣言部分の代入式のほうで、<Child> としているではないですか。
何故、List<Child> と書かないのですか?



721 名前:717 mailto:sage [2008/08/29(金) 03:26:41 ]
>>719
Eclipseでの話となりますが・・・
「list.」までを入力するとメソッド一覧が出てきますよね?
そこでaddの定義を見ると、add(null arg0)となっているんです。

addをCTRL+左クリックで表示されるクラスファイルエディターでも確認できます。

722 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:38:10 ]
なんでジェネリックス入れてRTTI入れなかったんだっけ?
VMの実装が複雑になるから?

723 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:53:44 ]
それがJavaだから。

724 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 04:10:33 ]
>>717
List<? extends Parent>
には、Parent を継承したクラス Child1 や Child2 などを用いた
List<Child1> や List<Child2> などが代入されているかもしれない。
これらが同時に安全に add できるものは、
どんな型にもキャストできる null しかない。

725 名前:デフォルトの名無しさん [2008/08/29(金) 09:03:12 ]
デュアルコアのCPUが2スレッドを同時に処理するJavaプログラムを動かすとします。
この場合1コアあたり1スレッドなんていう動作になるんでしょうか?

もしそうだとすればnコアでn未満のスレッドを動かしたときどうなるのか非常に気になりますが。

726 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 10:10:19 ]
>>725
Sun の Java VM であればネイティブスレッドなので 1 コア 1 スレッドで動くことができる。
というか、1 コアが 1 スレッドしか動かせないと思ってないか?Intel だって Hyper Threading
で 1 コア 2 スレッド動かせるし、Sun の Niagara 3 にいたっては 1 コア 16 スレッド(1 CPU
16 コアなので全体で 256 スレッド)動くぞ?

> もしそうだとすればnコアでn未満のスレッドを動かしたときどうなるのか非常に気になりますが。
別に気にならないだろ。普通に動くだけだが、何か変な妄想してないか?
空いてるコアは別の仕事するだけだ。

727 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 10:22:07 ]
従来のシングルコアで10スレッド動かしたら
1コア当たり何スレッドの処理をするんだろうか?
Javaプログラムだと5スレッドかもしれないし、100スレッドかもしれない
しかし、これだと処理されないスレッドが発生し、さらに
他のスレッドも待ち状態のままになり、見かけ上ではフリーズしたのと同じだ
これを回避するためにPentium4のHT技術が開発されたんだな
Intelすげえという電波ですねわかりません

728 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 14:55:48 ]
コア数よりスレッド数が多い場合は見かけ上ではあるがOSがタイマー割り込みで実現する。
シングルCPU時代のスレッドは基本的に待機スレッド。
ビジースレッドの並列処理で処理効率をあげるような手法はマルチじゃないと意味はないが、
基本的にIOやイベント待ちでスレッドは止まっているものだ。
それからHTは微妙でビジースレッドの並列処理向きじゃないんだよな。


729 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 15:13:40 ]
新規質問。

Servlet 作ってて困っているのだけど、
スレッドID ってスレッドが動いてる時に突然変更されることってありえる?

730 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 15:17:10 ]
>>729
ない
ってJavadocに書いてあるよ



731 名前:デフォルトの名無しさん [2008/08/29(金) 16:00:09 ]
intelがjava bytecodeとclassesを直接読み取っちゃうCPU命令を実装してくれればいい。

732 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 20:56:38 ]
>>731
死屍累々ってほどでもないが、すでにそういうチップは作られていて全く普及して無い。picojavaとか。
そもそも Java の byte code 自体がハードで実装するには不向きな内容だし。
昨今は実行時プロファイリングでホットスポットを解消するほうが実行速度が上がるし。

733 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:24:02 ]
intelのfloatや超越関数とかの機械語は、ibmやsunから見ればハードでの実装は不向きな内容であって、
それこそsin[x]なんかはソフトウェア(ライブラリ)で実装するもんだろうな。

つまり、java bytecodeはハードでは不向きという考えは古い考えじゃないの?
君みたいなゴミにとってはこれぐらいの話しすらついて来れないんだろうけどww

734 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:26:14 ]
jvmとjavaはもともとは家電(ハード)組み込みの設計だったしなぁ

735 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:53:26 ]
>>>732
おまえはどこに行っても相手にされないし無能なやつだな

736 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:41:58 ]
テキストファイルのエンコーディングが予めわかっていない場合
どうやって適切なエンコーディングで読むのでしょうか?
Javaのライブラリを使用すれば、自動的に適切なエンコーディングで読んでくれるものがあるのでしょうか?

737 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:47:19 ]
教授目指してみようかな。
それは結構面白いかも知れない。
戦国時代に生まれたかった。
そして戦場で野垂れ死にしたかった。

738 名前:デフォルトの名無しさん [2008/08/30(土) 00:14:47 ]
先生にも2つのタイプがあってな、1つは研究者で教えるのが仕事じゃなくて技術の追求が仕事で、もう1つは教えるのが仕事の教師でどちらかといえば過去・既存技術に精通していて教えたり話したりするのが好きで上手な人。
聞きかじった最先端の雑記を偉そうに語るのは、先生じゃなくても無能なサルでも出来るけど、お前のタイプはどっちだ?

739 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:27:33 ]
MITの教授になりたい。

740 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:29:47 ]
>>736
不可能です。
あきらめてあてずっぽやるか、人間さまに直接おたずねください。



741 名前:デフォルトの名無しさん [2008/08/30(土) 00:39:06 ]
少なくとも、最新技術を追いかけるのは最先端のオナニー・ショウを見てるようなものでしかないよ。
それよか、過去の技術や発明・基盤技術をちゃんと知ってるかどうかじゃないの?
大学でやってんならなおさらPCの歴史とかPCがたとどって来た道を知らないとねぇ。

ハードよりなら制御とか組み込みだし、ソフトよりならアルゴ・ライブラリとかコンパイラじゃないの?
すくなくとも、intelの機械語sin[x]は実際はハード内部でデコードしてハード・ロジックのライブラリを呼び出してるだけだしw

まずは自分用のCコンパイラを作れるかじゃないかな?

742 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:42:41 ]
>>741
針が太すぎて、ブランコ代わりに腰掛けられるよ・・・

743 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:43:36 ]
先端オナニーですね、分かります。

744 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:46:00 ]
じゃう゛ぁとともにあらんことを。

745 名前:717 mailto:sage [2008/08/30(土) 00:55:29 ]
>>720
それだけじゃ>>724みたいな結論にたどり着けないっすよ先輩。
理解してる人しか理解できないヒントというか何というか。

>何故、List<Child> と書かないのですか?
Genericsの勉強中に、クラス間に継承関係があっても
 List<Base> = new ArrayList<Child>();
のような事はできませんが、
<? extends Base>を使えば可能、という記述を見つけたので
試していただけです。で、add()ができないのは何故かと。

>>724
仮に可能であれば、
Child hoge = list.get(0);
とした時にChild1やChild2を返してしまいClassCastExceptionが発生するため危険、
という事でいいですか?

List<? extends Base>#get()の返り値の型をBase型として返せば
いいような気もしますが、それもやはり不都合があるんでしょうか。

746 名前:デフォルトの名無しさん [2008/08/30(土) 01:02:26 ]
ジャヴァーは、言語仕様や文法よりも「ライブラリ☆命」なんですが・・・

747 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 01:35:25 ]
>>745
List<? extends Parent> list = new ArrayList<Child1>();
list.add(new Child1());
list.add(new Child2()); // ←ココ

748 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 02:02:49 ]
>>745
>List<? extends Base>#get()の返り値の型をBase型として返せば
 List<? extends Base> list = new ArrayList<Child>();
を例えば
 List<Child> childList = new ArrayList<Child>();
 List<? extends Base> list = childList;
としてみましょう。
 list.add(new Base());
が実行された場合、list.get() は Base インスタンスを返せるでしょうが、
childList.get() は Child のインスタンスを返せる(返すことを保証できる)でしょうか。

749 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 10:08:37 ]
>>743
SFCの『ラブクエスト』を思い出した。
「先っちょ、先っちょ、気持ち良い!」

750 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 10:43:44 ]
>>733
コプロセッサって知ってるか?

>>735
そうだな。オマエくらいしか相手にしてくれなくて人生寂しいよ。
でもオマエがこうやってレスしてくれて、マジな話ちょっとうれしかった。
無視されるのが一番辛い。煽りでもなんでも、反応してもらえてサンキュ。



751 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 12:18:08 ]
ぬるぽ

752 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 12:36:16 ]
KeyTypedの中でgetKeyCharを使って入力をコンソールに表示しようとしても0としか表示されません。
getKeyCharなら、アルファベットキーは表示されるのですが、矢印キーの時は何も表示されません。
どうしてでしょうか?

753 名前:デフォルトの名無しさん [2008/08/30(土) 15:32:44 ]
JScrollPaneのJTableについて質問です。

例えば、あるボタンを押したらJScrollPaneがJTableの1行分だけ
下または上にスクロールする、というようなことは可能でしょうか。

JTable内で選択されている行を、そのボタンを押せば自動的に
ひとつ次or前の行に選択を移動させるようにしようと考えているのですが、
ScrollPaneに表示されている行内の終わりからボタンでさらに選択を奥に移動させると、
選択行は変わりますが、スクロールはしてくれないので、どうしたものかと悩んでいます。

754 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 15:42:13 ]
>>752
> KeyTypedの中でgetKeyCharを使って入力をコンソールに表示しようとしても0としか表示されません。
のgetKeyCharはgetKeyCodeの書き間違い?
なら、
> KEY_TYPED イベントの場合、keyCode は VK_UNDEFINED
なのでVK_UNDEFINED(=0)が返る。
矢印キーなどのキーコードが取りたければ、
keyTypedでなくkeyPressedやkeyReleasedでイベントを捕まえる。

755 名前:752 mailto:sage [2008/08/30(土) 15:50:11 ]
>>754
その通りCharじゃなくてCodeでした。

756 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 16:12:37 ]
>>753
これは使えないかな?
ttp://java-house.jp/ml/archive/j-h-b/021677.html

757 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 16:58:51 ]
String str = "ABCDE";
という文字列があって、この文字列を逆にして表示させたいです。
最終的に、System.out.println(str); で、画面には
EDCBA と表示させたいです。
文字列を引数にとって、それを反転して返すメソッドがあるのは
分かったのですが、そういうのを使わないで、配列やforをうまく使って
自力で反転させたいのです。
charAt(int index)やfor辺りで試行錯誤したのですが、どうも辿り着きません。
方法を教えてもらえませんでしょうか?

758 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:03:41 ]
>>757
無駄なコードを書くことに、うまい方法なんて無いのでは?

759 名前:デフォルトの名無しさん [2008/08/30(土) 17:06:24 ]
>>749
>>750
>>751
ぬるぽ
ぬるぽ
ぬるぽ
ぬるぽ


760 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:06:38 ]
>745
申し訳ありません。724 や 748 の話を良く聞いてください。
お詫びに、関係しそうな記事を置いていきます。

Javaの理論と実践: Generics、了解!
ttp://www.ibm.com/developerworks/jp/java/library/j-jtp01255/index.html




761 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:13:23 ]
>>756
どうもありがとうございます。その先に記述されているのをヒントとして、
ほぼ完成というところまでたどり着けました。
ただ、スクロールバーの▼・▲のボタンや、バーで移動させた際に、
その移動をさせたことを検出させて、かつ移動した距離を知りたいのですが、
どうにか知る術はないものでしょうか?たびたびすいません。

762 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:17:03 ]
>757
Stringオブジェクトは、作成後、状態を変更できません。
ということは、反転した Stringオブジェクトを作成する時点で、
既に反転した状態を持つ「何か」を用意する必要があります。

「何か」は、char配列でも良いですが、単に追加するだけなら
java.lang.StringBuilder/Buffer が良いと思います。

763 名前:デフォルトの名無しさん [2008/08/30(土) 17:19:30 ]
www.apple.com/jp/mac/

このページの最上部のメニューバーみたいなのをウェブサイトに実装したいのでですが
何かオススメのスクリプトありませんか?

カテゴリ(ジャンル)が20個ぐらいありそれを1つのページに表示させたいです。



764 名前:デフォルトの名無しさん [2008/08/30(土) 17:57:51 ]
相変わらずひねくれてる奴多いな。
>>757はそりゃアルゴリズムの問題でjavaとはあまり関係ないない。

str2=new StringBuffer().append(str).reverse().toString();

これがjava流。良くAPIを読むとサロゲートはreverseしないとかがまたいい!

765 名前:757 mailto:sage [2008/08/30(土) 18:13:46 ]
>>758
確かにうまくはないですね、言い方が悪くてすいません。
ただ、専用のメソッドを使うより、他のやり方を考えたら
プログラムの理解度も高まるかなーと思いまして。まだ初心者なんです。
>>762
配列を反転する方法がわからなかったので、
結局配列もStringBuilder/Bufferも使わないアナログなやり方で完成しました(´・ω・`)
ありがとうございます。
>>764
ひねくれものですかね?ヽ(´ー`)ノ

766 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 18:46:46 ]
>>765
理解したいなら、reverseのソース読むべきじゃね?

767 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 18:53:12 BE:511027586-2BP(5957)]
ボタンを押すと定められた波形・音程で音が鳴る、という簡単なアプレットをMac OS X上で作りました。
当然Mac上では問題なく動くのですが、Windowsではうまく動きません。
音意外の部分は問題ない挙動なのですが、どうにも音だけが出ません。(サンプルレート8000、ビットレート16、モノラル)
Javaのバージョンも最新です。
何か心当たりのある方、教えて頂けると助かります。お願いします。

768 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:15:02 ]
テーブルで常に一行だけしか選択できないようにする方法ってあります?


769 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:32:00 ]
>>702
じゃあ、これから正直になりますので、友達になってください。

770 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:45:00 ]
>>768
APIドキュメント見てもいないのか?
JTable#setSelectionMode 辺りを探れ



771 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:49:13 ]
>>765
どんな方法にしろ、目的を達成するプログラムが書けたのならOKだ。
後は 766 の言うように他の同じことをするプログラムを見て、違いを観察するんだ。
自分で書き、他人のを読み、違いを吸収して次に生かせばいい。

772 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 20:29:55 ]
>>761
AdjustmentListenerは?
scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener(){
int oldValue = 0;
public void adjustmentValueChanged(AdjustmentEvent e){
if(e.getValueIsAdjusting()) return;
System.out.println("Adjusted: " + (oldValue - e.getValue()));
oldValue = e.getValue();
}
});
とかで






[ 続きを読む ] / [ 携帯版 ]

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

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