★★Java質問・相談スレッド141★★

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド140★★
http://hibari.2ch.net/test/read.cgi/tech/1279614609/

次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
2デフォルトの名無しさん:2010/10/06(水) 17:48:23
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 9
http://pc12.2ch.net/test/read.cgi/tech/1261232019/
■ SWT は --
Java 高速GUI SWT 3
http://pc12.2ch.net/test/read.cgi/tech/1164877399/

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) ?Part21
http://pc12.2ch.net/test/read.cgi/tech/1276164970/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
ttp://pc12.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
【Google】Androidアプリ作成part5
http://pc12.2ch.net/test/read.cgi/tech/1279354196/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 69 ★★
http://pc12.2ch.net/test/read.cgi/tech/1267796762/
3デフォルトの名無しさん:2010/10/06(水) 17:49:09
■ NetBeansに関する雑談は --
NetBeans Part6
http://pc12.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
Eclipse統合M29【Java/C++/Ruby/Python/Perl】
※dat落ちしてるのでとりあえずここでどうぞ
統合開発環境Eclipseプラグイン開発QA
http://pc12.2ch.net/test/read.cgi/tech/1081517094/


**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja
4デフォルトの名無しさん:2010/10/06(水) 17:59:22
992 :デフォルトの名無しさん [↓] :2010/10/06(水) 15:30:30
じすれうめ

993 :デフォルトの名無しさん [↓] :2010/10/06(水) 16:02:29
lengthがフィールドだと思ってるやつw

994 :デフォルトの名無しさん [↓] :2010/10/06(水) 16:13:46
まぁいちおうJava言語仕様にはフィールドって書いてあるんだけどな

http://java.sun.com/docs/books/jls/third_edition/html/arrays.html#64347
> The public final field length, which contains the number of components of the array (length may be positive or zero).

995 :デフォルトの名無しさん [↓] :2010/10/06(水) 16:19:26
ジャヴァも出来てトーイックも900点だなんてすんごいんですね!
それで年収いくらになるんですか?

996 :デフォルトの名無しさん [↓] :2010/10/06(水) 16:20:16
年収400万です

998 :デフォルトの名無しさん [↓] :2010/10/06(水) 16:42:20
日本のIT系エンジニーアの年収は、たとえトーイック900点であっても年収400万円なのが現実なのです

999 :デフォルトの名無しさん [↓] :2010/10/06(水) 16:44:23
今、全俺が泣いた'(T_T

1000 :デフォルトの名無しさん [↓] :2010/10/06(水) 16:45:20
じすれおつ
5デフォルトの名無しさん:2010/10/06(水) 18:13:10
貧乏大集合
6デフォルトの名無しさん:2010/10/06(水) 21:28:30
貧乏は我慢できるが
休日出勤サビ残デフォルトは奴隷制度が復活したとしか思えん
不況寸前に転職できた人はおめでとう!!1
7デフォルトの名無しさん:2010/10/06(水) 21:54:30
jdkのバグを見つけたのですが、英語が得意ではありません。
日本語でバグレポートができるところはありませんか?
8デフォルトの名無しさん:2010/10/06(水) 22:01:39
ねえよ。
9デフォルトの名無しさん:2010/10/06(水) 22:08:53
>>7
TOEIC300点くらいだが、翻訳サイトとか駆使していっぱいバグレポ出してる。
(Javaではレポートしたことないが)
気力があれば、MLでの議論もできないことはないぞ。
10デフォルトの名無しさん:2010/10/06(水) 22:10:06
>>7
Sun系のオラクル日本人社員にでもメールしたら?
11デフォルトの名無しさん:2010/10/06(水) 22:12:52
>>9
了解。がんばってみる。
12デフォルトの名無しさん:2010/10/06(水) 22:14:36
トーイック900点でジャバ1級なんですが年収はなぜか400万円なんです。
どうしてでしょうか?どこにレポートすればいいでしょうか?
13デフォルトの名無しさん:2010/10/06(水) 22:28:45
>>7
バグを再現できるコードがあれば英語が多少まずくても通じるからがんばれ。
14デフォルトの名無しさん:2010/10/06(水) 22:31:28
Java1級って何ぞ?SJC-Pとかの一番グレードの高い奴?
15デフォルトの名無しさん:2010/10/06(水) 22:35:41
>>9
おお、関心関心^^
だけどジャバじゃないなら一体全体どこのコメニティーでバグレポしてるわけ?^^
16デフォルトの名無しさん:2010/10/06(水) 23:34:01
フォントについて質問です。
きっちり枠にはまる文字で表示したいのですが

g.setFont(new Font("Serif" , 0 , 32));
FontMetrics fo = g.getFontMetrics();
hig = fo.getHeight();
g.drawString(String.valueOf(hig) , 100 , 100);

これでフォントを32に指定しても実際には縦56になってしまうようです。(そう表示されます)
幅は32になってるようですが。
この指定する座標は下のラインということでいいんですよね?
きっちり縦横32の枠にはまるようにフォントを指定するにはどうすればいいですか?
17デフォルトの名無しさん:2010/10/06(水) 23:52:43
12桁トリップを生成出来るJavaのライブラリーってありますか?
あるなら教えて欲しいのでスェ・・・
18デフォルトの名無しさん:2010/10/07(木) 03:12:56
環境ぐらい書けよ
ふぉんと困った奴だな
19デフォルトの名無しさん:2010/10/07(木) 04:53:10
Javaで環境って…
20デフォルトの名無しさん:2010/10/07(木) 07:51:46
>>15
コミュニティはあんま関係ないな。
使ってるツールで目に付くバグがあったらなるべく報告するようにしてる。
比較的最近だと、Cygwin(cygwin1.dll), Wicket, JRubyあたり。
21デフォルトの名無しさん:2010/10/07(木) 08:38:28
>>19
GUIだとプラットフォーム依存の問題が比較的表面化しやすい。
22デフォルトの名無しさん:2010/10/07(木) 08:55:54
Ubuntu10.04+Java-6-Sun
getHeight() :39
getLeading():0
getAscent() :31
getDescent():8

Ubuntu10.04+java-6-openjdk
getHeight() :37
getLeading():-1
getAscent() :30
getDescent():8
23デフォルトの名無しさん:2010/10/07(木) 11:06:47
オブジェクトA、Bがあって相互に参照しているとき、
両方共用済みになったらGCで消されますか?
24デフォルトの名無しさん:2010/10/07(木) 11:25:14
両方 共用済み なのかと思ったら、両方共 用済み だったか。
JavaのGCはアクティブなスタックをルートとしてそのスタックのインスタンスと
紐づかないものをコレクトする仕組みだったかと。
早い話が循環参照にも対応してますってことで。
25デフォルトの名無しさん:2010/10/07(木) 11:52:38
メソッドの名前の付け方なのですが、

class Bean{}

があって Bean[] を取得するときに

getList
getArray
getBeans

どれが一般的でしょうか?
26デフォルトの名無しさん:2010/10/07(木) 11:58:47
getListやgetBeansは普通コレクションを返す事を連想するから
Bean[]がBeanに特化したビルダやファクトリなら、getArray
それ以外なら、getBeanArrayになるんじゃないかな。

そもそもJavaにおいてオブジェクトの配列を返すのは悪い設計と疑うべきだが。
27デフォルトの名無しさん:2010/10/07(木) 12:02:41
先生!なぜ配列を返すのは悪い設計なのですか?
28デフォルトの名無しさん:2010/10/07(木) 12:04:23
うぜー
29デフォルトの名無しさん:2010/10/07(木) 12:15:29
どっかのblogで配列は良くないと書いてあったので言ってみました
30デフォルトの名無しさん:2010/10/07(木) 12:21:29
使いどころによりけりだな。データの受け渡しに使うだけの入れ物クラスならあまり気にしない。
大体普通は「配列で返す場合は clone() して返せ」とか「そもそも返すな」とか規約作るだろ。
31デフォルトの名無しさん:2010/10/07(木) 12:38:39
やっぱり良く分からず言ってたみたいだな
3223:2010/10/07(木) 12:49:24
>>24
ありがとうございます。ちゃんと消してくれるんですね。
格好良く書くと「孤立した循環参照を持つ2つのオブジェクトはGCによって削除されるか」
みたいな感じでしょうか。

33デフォルトの名無しさん:2010/10/07(木) 15:08:47
その場で作って返すなら普通に配列でいい
悪いのはフィールドに持ってる配列をそのまま外に晒すこと
コレクションと違ってあとでオーバーライドできないから後で実装を変更できなくなるので
実質的にpublicフィールドを外に晒すのと同じ問題が発生する
34デフォルトの名無しさん:2010/10/07(木) 15:42:29
>>27
>>29,31
35デフォルトの名無しさん:2010/10/07(木) 15:55:59
マウスが取得できません。

 frame = new JFrame ();
 frame.addMouseListener (new MouseAdapter() {
  public void mousePressed (MouseEvent e) {
   System.out.println ("マウスが押された");
  }
 })

これは何が悪いのでしょうか。あとどこかに究極のバカでもわかるサンプルないでしょうか。
36デフォルトの名無しさん:2010/10/07(木) 16:00:46
char[] get(){ return array;}
から
char[] get(){ char[] newArray =... System.arraycopy(array, newArray); return newArray;}

配列でも実装なんていくらでも変えられるだろ
3735:2010/10/07(木) 16:48:51
わかったのでもういいです。
ありがとうございました。もう他人には頼りません。
38デフォルトの名無しさん:2010/10/07(木) 16:54:58
回答者はアホしかいないのでこれからはもっと簡単な質問にしてくださいね
39デフォルトの名無しさん:2010/10/07(木) 17:08:15
40デフォルトの名無しさん:2010/10/07(木) 18:50:40
>>36
利用側が前者の動作を前提にしたコードを書いていたら、後者に変更したときに利用側が動かなくなる
41デフォルトの名無しさん:2010/10/07(木) 18:56:14
どっかのウェブブログで返すならint[]じゃなくてList<Integer>を返せって言ってたんですが、結局どうやっても>>36,40と同じところに行きつきますよね。
42デフォルトの名無しさん:2010/10/07(木) 19:00:42
List<Integer>ならオーバーライドできるから、要素が追加されたときに特別な動作をさせたりできるだろ
>>36のような変更に比べれば利用側への影響が少ない
43デフォルトの名無しさん:2010/10/07(木) 19:03:48
cloneはどうしましょうか・・・・
44デフォルトの名無しさん:2010/10/07(木) 19:10:44
>>36のような類の実装変更は配列だろうとコレクションだろうと利用側死亡。
List<Integer>で実装変えられるっていうのはそういう意味じゃなくて、
要素が追加されたり削除されたりされるときの動作をカスタマイズできるってこと。
45デフォルトの名無しさん:2010/10/07(木) 19:17:47
Integerはextends finalですよ。
46デフォルトの名無しさん:2010/10/07(木) 19:29:25
配列はmutableで、さらにジェネリクスと相性が悪いから
47デフォルトの名無しさん:2010/10/07(木) 19:44:46
defensive copy使うか否かと、
配列がgenericsと相性悪いというのは別問題だけどな
48デフォルトの名無しさん:2010/10/07(木) 19:48:49
まぁ実用的な話ではこれくらい標準化するなり javadoc に書くなり決めとけってこった。
caller と callee が双方で防衛的コード書くのも無駄だし。
49デフォルトの名無しさん:2010/10/07(木) 19:50:26
intからIntegerのnewコストについての話題はスル〜なのか!?
50デフォルトの名無しさん:2010/10/07(木) 19:51:10
操作されたくないなら普通複製かunmodifiableListとか返すだろ
カスタマイズってw
51デフォルトの名無しさん:2010/10/07(木) 19:51:49
>>49
Integer.valueOf(int) のソース読んでみ。
52デフォルトの名無しさん:2010/10/07(木) 20:34:09
今まで使えてたaddとかremoveが”カスタマイズ”されちゃって
UnsupportedOperationExceptionとか投げるように変更されて既存のコードが動かなくなるわけだな
53デフォルトの名無しさん:2010/10/07(木) 20:39:47
それ言い出したらカプセル化とか全部幻想になる
54デフォルトの名無しさん:2010/10/07(木) 20:41:46
どうでもええ。
55デフォルトの名無しさん:2010/10/07(木) 21:07:26
話について来れないなら黙ってろってレクター先生が言ってた
56デフォルトの名無しさん:2010/10/07(木) 21:22:15
とりあえずメンバの参照直接返してることはわかった
57デフォルトの名無しさん:2010/10/07(木) 21:26:18
58デフォルトの名無しさん:2010/10/07(木) 22:33:15
>>55
子供用の椅子に座らせるぞ!
59デフォルトの名無しさん:2010/10/07(木) 22:34:22
顔はロビンマスクですから
60デフォルトの名無しさん:2010/10/08(金) 11:15:01
返す例外が決まらなくて困っています。
(1) まだ実装してないから使っちゃダメ --> ????
(2) ハードウェアエラー。もうダメポ --> ???
(3) ありえないソフトウェア上のバグ ---> ???
この3つが何をthrowすればいいのかわかりません。
知恵を貸してください。
61デフォルトの名無しさん:2010/10/08(金) 11:45:42
1はUnsupportedOperationExceptionかなー
62デフォルトの名無しさん:2010/10/08(金) 12:42:38
1と3はどうせキャッチしないし実行時に発生しないはずなんだから何でもいい
63デフォルトの名無しさん:2010/10/08(金) 12:43:34
何でもいいって言うのは変か
他のところで絶対にキャッチされないようなのを投げとけばおk
64デフォルトの名無しさん:2010/10/08(金) 12:55:35
Javaの標準例外でぴったりのが無かったので独自例外を定義しました。

(1) まだ実装してないから使っちゃダメ --> NotImplementedException extends UnsupportedOperatioException
(2) ハードウェアエラー。もうダメポ --> HardwareException extends RuntimeException
(3) ありえないソフトウェア上のバグ ---> InternalException extends RuntimeException

(2)(3)はもっと「もうダメポ」感を出したかったのですが、まあしょうがない。
ありがとうございました。
65デフォルトの名無しさん:2010/10/08(金) 13:24:59
完璧な設計です
66デフォルトの名無しさん:2010/10/08(金) 14:10:22
>>64
(2)と(3)は復旧不能ならextends Errorの方がいいんじゃね?
67デフォルトの名無しさん:2010/10/08(金) 14:46:32
>>64
設計見てないから突っ込んだこと言えないけど
そこまで細分化する必要あんのか?とは思う
68デフォルトの名無しさん:2010/10/08(金) 14:54:32
なら黙っててください
69デフォルトの名無しさん:2010/10/08(金) 15:07:45
全部 SystemException extends RuntimeException
70デフォルトの名無しさん:2010/10/08(金) 17:54:37
SetBoundsメソッドを使っていて位置はそのままでサイズを変更するには第5引数のBoundsSpecified.Size
で変更できると書いていました。
しかし、実際にやってみたところ「BoundsSpecified を解決できません」(eclipse)とエラーになってしまいます。
これは別に宣言しなければならないのでしょうか?
71デフォルトの名無しさん:2010/10/08(金) 17:59:16
いいえ
72デフォルトの名無しさん:2010/10/08(金) 18:08:08
(1) UnsupportedOperationException
(2) IOException
(3) AssertionError

(2) は下品に行くなら IOError ?
73デフォルトの名無しさん:2010/10/08(金) 20:27:46
自分でAssertionError出すのっていいんかい?
-eaしてないのにAssertionError出るのって個人的に嫌なんだが。
74デフォルトの名無しさん:2010/10/08(金) 20:36:23
assert使ってる奴の方が少ないから良いんじゃね?
75デフォルトの名無しさん:2010/10/08(金) 20:57:16
Strutsの良い入門サイトを教えてください
76デフォルトの名無しさん:2010/10/08(金) 22:48:43
誰か>>16お願いします
77デフォルトの名無しさん:2010/10/08(金) 22:50:53
すまん。質問よろ。
UMLのインターフェイスでロリポップってあるじゃん?
あれって直線(棒)も含めてロリポップだよな?

SJC-A向けの問題集で 次の中からインターフェイスを表すものを選べ
とかいう問題があって、棒の無いただの丸、つまり
   ○   ←コレがロリポップ=インターフェイスって出てきた。
だけどlollipopってエキサイト翻訳でも「棒付きキャンディ」だし
longmanでも a hard sweet made of boiled sugar ON A STICK
だから 英単語としては「棒付き」が正解なんだが
JAVAの仕様書(?)ではどうなんだろう?
その問題集書いた人は別にオラクルの社員でも何でもないっぽいんで
信用していいんだか悪いんだか・・・68%正解で受かるから
こまけえこたあいいんだよ(AA略 なんだけど・・・気になるんで誰かエロイ人頼む!
78デフォルトの名無しさん:2010/10/08(金) 23:07:49
インターフェースは箱の左に ○− が付いてるのもあるけど、箱の中に ○ が入ってるのもあるんじゃ。
79デフォルトの名無しさん:2010/10/08(金) 23:19:12
棒があるけど向こう側向いてて見えないだけかもしれないよ。
80デフォルトの名無しさん:2010/10/08(金) 23:21:00
>>4
>>9
トーイック900点でジャバ1級なんですが年収はなぜか400万円なんです。
どうしてでしょうか?どこにレポートすればいいでしょうか?
81デフォルトの名無しさん:2010/10/08(金) 23:22:13
質問しといて質問よろってなんだよw
82デフォルトの名無しさん:2010/10/08(金) 23:40:10
TomcatをインストールしてOSを再起動するとアクセスが拒否されましたと出て起動できません
またconf の中の tomcat_users.xml を編集しようとしてもアクセス権限がありませんと出て保存できません

どうすれば解決しますか?
83デフォルトの名無しさん:2010/10/09(土) 00:11:47
アクセスを許可して下さい。
84デフォルトの名無しさん:2010/10/09(土) 00:20:18
Vistaの場合は「コントロールパネル」→「ユーザーアカウント」
→「ユーザーアカウント制御の無効化または有効化」
→ 「ユーザーアカウント制御(UAC)を使ってコンピュータの保護に役立たせる」のチェックを外して「OK」ボタン押下

これでどっちもなんとかなったけど、
理由が良く分からん
85デフォルトの名無しさん:2010/10/09(土) 00:21:25
>>83
まともに答える気がないなら書き込むなよ、低学歴なの?
最近こういうの多すぎ
86デフォルトの名無しさん:2010/10/09(土) 00:26:16
>>85
低学歴乙
87デフォルトの名無しさん:2010/10/09(土) 00:34:55
>>85
学歴の質問はスレ違いです。Javaについて質問して下さい。
88デフォルトの名無しさん:2010/10/09(土) 01:03:35
スルー力なさすぎだな
89デフォルトの名無しさん:2010/10/09(土) 01:10:53
スルーカっ
90デフォルトの名無しさん:2010/10/09(土) 01:15:53
どっかの爆撃機みたいなだ
91デフォルトの名無しさん:2010/10/09(土) 01:18:52
>>85
低学歴乙
92デフォルトの名無しさん:2010/10/09(土) 08:10:59
高学歴のプログラマなんて悲しすぎるから低学歴でありたいものだ。
93デフォルトの名無しさん:2010/10/09(土) 12:11:23
C:\Users\admin\Desktop\Tom>javac -classpath "C:\Program Files\Apache Software F
oundation \Tomcat 6.0\lib\servlet-api.jar";. HelloWorld.java
HelloWorld.java:1: 警告:この文字は、エンコーディング MS932 にマップできません。
?ソimport java.io.*;
^
HelloWorld.java:1: \65533 は不正な文字です。
?ソimport java.io.*;
^
エラー 1 個
警告 1 個

ANSIでもUTF-8でもコンパイルができません
どうすればコンパイルできますか?
94デフォルトの名無しさん:2010/10/09(土) 12:31:04
ClassHoge{
double value;
public double getValue{return value;}
}

ClassHoge hogeA = 3; // プリミティブ型のように変数を作れる
ClassHoge hogeB = 5;
double result = hogeA * hogeB; // hogeA.getValue()ではなくhogeAと書ける
//result = 15

もしくはString型みたいにリテラル自体をインスタンスにするにはどうやるのでしょうか?

こういうことってできますか?
95デフォルトの名無しさん:2010/10/09(土) 12:35:58
無理
Javaはポリシーとしてそういうのをわざとできなくしてるので気に入らないならC++やC#へどうぞ
9694:2010/10/09(土) 12:42:32
意図的に出来ないようにしてるんですか・・・
それはちょっと困ったなぁ
String型のソースを参考にすればできるのかな、と思ったんですが・・
やりたいことは小数点以下桁数を指定したとおりの桁数に固定した数値を
簡単に扱うことなんですが、そういう場合はみなさんはどうしてますか?
97デフォルトの名無しさん:2010/10/09(土) 12:49:22
普通にメソッドやコンストラクタ使う以外の選択肢はない
StringはJavaの言語仕様上もJVM上も特別扱いされてる組込型
9894:2010/10/09(土) 12:51:09
ちょっと言葉足らずですいません。
String型的に扱いたいというのではなくdouble型的に扱えればいいのです。
ただインスタンス化するときにnewを使わなくてもいいことと
値を取得するときにget()しなくてもいいこと、ができればいいんです。

>>97
そうですか、メソッドとコンストラクタは必須ですか・・
じゃ別の方法を考えて見ます。
ありがとうございました。
99デフォルトの名無しさん:2010/10/09(土) 13:04:55
>>92
高学歴化して組織化してそのうち管理職が現れると事務サラリーマンと変わらなくなるから今議論になっている。
特に日本では上流下流で護送船団だからエンジニアがサラリーマンになったら、会社の景気によって技術が安く見積もらて給料も上がらず硬直的な雇用形態からして会社が傾いてきたらと運命をともにするしかないだろうと言う話題になっている(日本型だと)。
10094:2010/10/09(土) 13:09:53
>>97
ちなみにDouble型もStringと同じ扱いですか?
最初はDouble型から派生させようとしたらfinalクラスなので無理だった。
101デフォルトの名無しさん:2010/10/09(土) 13:16:37
C:\>Java>javac Test.java
警告:この文字は、エンコーディング MS932 にマップできません
-encoding UTF-8 を付けても不正な文字云々でコンパイルエラーです

分からん

102デフォルトの名無しさん:2010/10/09(土) 14:14:10
ファイル名のTomcat 6.0 をTomcat6.0にしたら通った

これTomcat 6.0のままでクラスパスを指定する方法ないの?
103デフォルトの名無しさん:2010/10/09(土) 14:17:40
Doubleはコンパイラが特別扱い
Double d = 0.1;

Double d = Double.valueOf(0.1);

104デフォルトの名無しさん:2010/10/09(土) 17:12:13
メソッド名や、変数名で日本語を使って、
弊害が出ることってありますか?

既に日本語でカラム名が付けられているDBや、
計算項目の量が結構あったりすると、
メソッド名や、変数名で日本語が使いたくなるのです。

というか、ローマ字で書くくらいなら日本語で書くほうが、
見易いし、堂々としてていいと思うのですが。
105デフォルトの名無しさん:2010/10/09(土) 17:38:58
公開する訳じゃないならそんなに問題になりませんよ。
堂々と使っていてもいいと思います。publicじゃないなら。
106デフォルトの名無しさん:2010/10/09(土) 18:15:09
タイプが速くて言語を目で追うのに慣れてる熟練者は IME の切り替えやら
フロー中に混在する日本語が思考を邪魔するので、日本語識別子の多様は嫌われる。
とはいえ似て非なる意味を正しく伝えなきゃいけないような局面では日本語のほうが良い。
まぁ俺基準は public static final な定数だな。
107デフォルトの名無しさん:2010/10/09(土) 18:48:41
英語とローマ字の混在も凄く思考を妨げるけどな。
慣れの問題もあるから職場のコーディング規約の範囲内でなら好きにすりゃ良いと思う。

普段から日本語でドキュメントコメント書いてるなら
IMEの切り替えも日本語混在もそれほど苦にならないと思うし。
108デフォルトの名無しさん:2010/10/10(日) 00:05:46
どなたか>>70をお願いします。
109デフォルトの名無しさん:2010/10/10(日) 00:29:01
>>108
それJavaじゃなくて.NET(C#とかVB.NETとか)じゃね?
110デフォルトの名無しさん:2010/10/10(日) 01:45:02
>>70
>>71 で不満なら「はい」
111デフォルトの名無しさん:2010/10/10(日) 10:52:35
Struts2 の入門サイトを見ながら書いていて
<%@ taglib prefix="s" uri="/struts-tags" %>

と書くとエラーで
Can not find the tag library descriptor for "/struts-tags"
のように出てしまいます。

ttp://www.atmarkit.co.jp/fjava/special/struts2/struts2_2.html
ここを見ながらやっているのですが、
タグライブラリーはどこにあるんですか?
またページ中のtestフォルダはWebContent直下でいいんですか?
112デフォルトの名無しさん:2010/10/10(日) 12:10:32
ジャバダバダー
113デフォルトの名無しさん:2010/10/10(日) 14:00:42
お前らJAVAなんかで何作ってんの?
114デフォルトの名無しさん:2010/10/10(日) 14:10:24
バッチ
115デフォルトの名無しさん:2010/10/10(日) 15:51:36
昔はよく使った
116デフォルトの名無しさん:2010/10/10(日) 16:13:31
>>93
ANSIでコンパイルできないのはおかしい。何か間違えているに違いない。
UTF-8の場合はjavacに「-encoding UTF-8」を追加しろ。
ただし、Windows以外にもっていくならBOMは付けるな。
(=メモ帳は使うな。UTF-8Nエンコーディングのあるエディタを使え)
117デフォルトの名無しさん:2010/10/10(日) 17:56:03
今時Javaでウェブアプリ開発なんてやってるところあるの?
118デフォルトの名無しさん:2010/10/10(日) 19:26:33
じゃあ何が今時に適してるのか教えてくれ
119デフォルトの名無しさん:2010/10/10(日) 20:04:09
石を投げればLAMPに当たる
120デフォルトの名無しさん:2010/10/10(日) 22:07:25
古いんですけど、これ(ttp://journal.mycom.co.jp/column/jsr/004/index.html)って
今どうなってるんですか?
121デフォルトの名無しさん:2010/10/10(日) 22:52:42
ウェブアプリなんてドカタ仕事javaで十分だろ
122デフォルトの名無しさん:2010/10/10(日) 23:11:21
>>119
Railsの間違いでは?
123デフォルトの名無しさん:2010/10/11(月) 00:10:39
>>71
>>109
>>110
申し訳ありません。>>109さんの仰る通りjavaではできないのですね・・・
そこを見落としていました。ご迷惑をおかけしました。
javaでサイズのみを変更する方法はないということなのでしょうか?
124デフォルトの名無しさん:2010/10/11(月) 00:56:14
>>123
javaでは。っていうかさ、java.awt.Window#setBoundsを使おうとしてるんですよね?
第5引数なんてそもそもないじゃない。
それともjavaから、.netフレームワークのSystem.Windows.Forms.Control\#SetBoundsを
呼ぼうとしているのかな?
なんか根本的なところを理解してない雰囲気があるから、レスが少ないんだと思いますよ。

125デフォルトの名無しさん:2010/10/11(月) 01:48:41
>>124
そうですね・・・ろくに理解もしないまま質問しても皆様を困らせるだけですね。
もっと自分で理解するようにします。ご指摘ありがとうございます。
126デフォルトの名無しさん:2010/10/11(月) 02:24:42
自分が苦手な言語は廃っている事に脳内変換しておきたがる
プログラマがこういう思考停止に陥るのも無理は無い
だって言語多すぎるんだもの
127デフォルトの名無しさん:2010/10/11(月) 09:02:14
Railsを使えばJAVAでやるのより5倍の生産性がうんたらかんたららしいよ
128デフォルトの名無しさん:2010/10/11(月) 09:13:16
大抵の専門学校ではJAVAをメインに教えてるっぽいけど、
卒業後、何を使ってどんな仕事をしてんの?
129デフォルトの名無しさん:2010/10/11(月) 09:21:10
Rubyなんて処理速度めっちゃ遅いやん
130デフォルトの名無しさん:2010/10/11(月) 10:17:24
JAVAも目糞鼻糞
131デフォルトの名無しさん:2010/10/11(月) 10:23:03
なんで素人が答えてるんだ?
速度桁違いで差があるぞ
132デフォルトの名無しさん:2010/10/11(月) 12:10:36
Google App Engineってどうなの?
133デフォルトの名無しさん:2010/10/11(月) 12:12:42
>>132
ぐぐるにろっくいーんされたい方はどーぞ。
スケーラビリティ(だけ)はかなり高いみたいよ。
134デフォルトの名無しさん:2010/10/11(月) 19:54:35
>>125
たぶん、やりたいことをするには、
Javaだと自分でjava.awt.Window#setBoundsをextendsしたりとかしないとダメなんだと思うよ。
どこが分かっていないのかわからないので、このくらいしかアドバイスできない。。
135デフォルトの名無しさん:2010/10/11(月) 19:57:38
setBoundsをextendsしたら動くようになりました。ありがとうございました
136デフォルトの名無しさん:2010/10/11(月) 23:56:21
質問です。

Swing の JTable + JScrollPane で表を描いています。
ヘッダ行の境界をドラッグすると列幅が変わりますが、これをヘッダ行以外でもできるようにすることは可能ですか?
可能だとしたら、どうすれば良いのでしょうか?

よろしくお願いします。
137デフォルトの名無しさん:2010/10/11(月) 23:58:02
フラグ設定一つでする方法は無かったと思う。
自前で JTable 上のマウス移動やドラッグイベント拾ってカラムサイズを調整。
138デフォルトの名無しさん:2010/10/12(火) 00:03:33
ありがとうございます。
では、ヘッダ行の見た目を通常の行と同様に平坦にする(輪郭の立体感を無くす)ことは可能でしょうか?
139デフォルトの名無しさん:2010/10/12(火) 00:05:56
ヘッダ無しにして1行目使えよ。
140デフォルトの名無しさん:2010/10/12(火) 00:11:02
それをやると列幅の変更ができなくなるので、どちらかの方法で実現したかったのです。
わかりました。マウスイベントを拾うことにします。
141デフォルトの名無しさん:2010/10/12(火) 00:11:29
>>127
Grailsのことやろ
142デフォルトの名無しさん:2010/10/12(火) 06:12:26
ヘッダのレンダラ乗っ取ればいいんじゃないの?
143デフォルトの名無しさん:2010/10/12(火) 13:13:31
javaでhttps経由でページを取得するためには、中間証明書?をJREにインストールしないといけないのでしょうか?
参考になるサイトも教えていただければ幸いです
144デフォルトの名無しさん:2010/10/12(火) 13:46:58
145デフォルトの名無しさん:2010/10/12(火) 18:04:40
@Overrideって打ったらオーバーライドできるメソッドが補完されたらいいのに>eclipse
146デフォルトの名無しさん:2010/10/12(火) 22:11:30
emacsで書いている人間からすると甘えるな
147デフォルトの名無しさん:2010/10/12(火) 22:15:14
Javaだとオーバーライドできるのがデフォだからあんまり意味ないと思う
ほんとは適切にfinal付けるべきだけど
148デフォルトの名無しさん:2010/10/12(火) 23:56:59
質問
→回答者1が微妙なヒントの最後によく調べろと煽る
→回答者2がそのヒントは根本的に見当違いだと指摘
→回答者1が2の人格否定のレス
→すると冷静だった2が豹変し口喧嘩が始まる
→何故か質問者もそれに加わって\(^o^)/

PGなんて専門卒のカスしか居ないのは分かるが、もう少しなんとかしろよ
149デフォルトの名無しさん:2010/10/13(水) 00:04:12
1. よくわかってない初心者
2. ストレス解消に初心者を煽りに来てる厨房専卒
3. 厨回答・知ったかを見捨て置けないFラン卒

このスレは以上の3名でお送りしております。
150デフォルトの名無しさん:2010/10/13(水) 00:09:55
>>145
クラス作るときにチェックボックスをオフにしちゃってるんだろ
151デフォルトの名無しさん:2010/10/13(水) 06:36:44
これも追加で

4.質問を無視されてムキーッてなってる>>148みたいな子

便所の落書き2ちゃんねるに一体何を求めてるんすか(笑)
152デフォルトの名無しさん:2010/10/13(水) 07:24:12
153デフォルトの名無しさん:2010/10/13(水) 07:38:44
5 自身の学歴を馬鹿にされると居ても立っても居られなくなる学歴コンプ
154デフォルトの名無しさん:2010/10/13(水) 09:24:28
6 仕事が無くて荒れてるJavaPG
155デフォルトの名無しさん:2010/10/13(水) 10:04:17
7 仕事が減り、収入が減り、嫁に逃げられた俺
156デフォルトの名無しさん:2010/10/13(水) 11:16:54
金の切れ目が縁の切れ目
157デフォルトの名無しさん:2010/10/13(水) 12:02:25
で、7人かと思いきや、実は一人だったとか。
158デフォルトの名無しさん:2010/10/13(水) 14:26:31
7人の低学歴
低学歴で万年PGってある意味サムライぞ
でも浪人なるには力不足なんだよなあ
腹切って果てる運命同士仲良くやろうぜwww
159デフォルトの名無しさん:2010/10/13(水) 15:10:52
>>155には俺達が居る
160デフォルトの名無しさん:2010/10/13(水) 16:43:44
JavaFXってどうよ?
161デフォルトの名無しさん:2010/10/13(水) 17:20:40
流産した子
162デフォルトの名無しさん:2010/10/13(水) 19:08:59
JavaFX Scriptはオラクルが撤廃宣言
今後はJava言語向けの新しいGUIフレームワークとして力を入れていく方針らしいが、
今更誰がそんなのについて行くだろう
163デフォルトの名無しさん:2010/10/13(水) 19:54:33
groovyのビルダみたいになるのか
164デフォルトの名無しさん:2010/10/13(水) 20:00:34
FX Scriptがうまくいってれば言語非依存のGUIデザイナが提供できたはずだった
もう夢見るのはやめてJavaでちゃんと使えるデザイナを提供するべき
165デフォルトの名無しさん:2010/10/13(水) 20:05:39
それが夢だという事に早く気づくべき
166デフォルトの名無しさん:2010/10/14(木) 15:25:55
g.clearRect(0,0,640,480);

img=new BufferedImage(640,480,BufferedImage.TYPE_INT_ARGB);

この2つのどちらかの方法で画面クリアした後
次の画像を上からドローするという作業を連続的にやってるのですが
どうも次の画像が完全でなく半端に描かれて、それも毎回、1/3とか1/2とか
実行のたび結果が違います。
どうもこのクリアで遅れをとってタイミングでおかしくなってるように思えます。
クリアのすぐ下でforとかループ入れて間を開けると完全に描かれます。
こういうことってあるのでしょうか?
この2つのクリアが完全に終わるまで待ちを入れて次の描画に移る方法はありますか?
167デフォルトの名無しさん:2010/10/14(木) 15:33:09
描画後に MediaTracker
168デフォルトの名無しさん:2010/10/14(木) 15:41:04
画像ロードの時に使ったことあります。やはりそれでしょうか。
しかし今のマシンで普通の1画像描画なんて一瞬だと思うのですが。
他に原因があうんじゃないかとも思っています。
まあやってみます。
169デフォルトの名無しさん:2010/10/14(木) 15:49:21
画像が一部消える結果は同じでした。
他に原因があるのか うーむ、わからない…。
170デフォルトの名無しさん:2010/10/14(木) 16:20:49
JFrameについてなんだが、
setResizable(false)とかでウィンドウサイズを固定したら
実行環境によってウィンドウが大きくなったりするんだがなんとかならない?
171デフォルトの名無しさん:2010/10/14(木) 16:49:57
setMaximumSize()はだめ?
中のコンポーネントのサイズも気にしなきゃいけないかもしれんが
172デフォルトの名無しさん:2010/10/14(木) 18:16:13
>>171
変わらない

ちなみに何もadd()してません
固定しなけりゃ、setSize()で指定した大きさと同じになるんだがな
173デフォルトの名無しさん:2010/10/14(木) 18:31:32
知らないくせに回答しちゃうバカ回答者
174デフォルトの名無しさん:2010/10/14(木) 19:02:59
>>170
winなら仕様だったと思うが。窓枠とったら大きくならないんじゃない?
175デフォルトの名無しさん:2010/10/14(木) 19:37:49
「WOLF RPGエディター」とは? 
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
 不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
 その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
 慣れた人やRPGツクールでは物足りないけどプログラミングはちょっとという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
 また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、不満点、バグ報告などなど書き込みお願いします。今もどんどん進化中です。
176デフォルトの名無しさん:2010/10/14(木) 20:53:34
JAVA初心者でつ

あるクラス(AAAクラス)のインスタンス(aaa)を生成したとします。
そのクラスのフィールドは
  int No;
  String Name;
だったとします。
それぞれに
No = 51;
Name = "ICHIRO";
とセットしたとします。
System.out.println(aaa.No);
System.out.println(aaa.Name);
の結果は
51
ICHIRO
と表示されるのですが、同じタイミングで
System.out.println(aaa);
とした結果は
null
となってしまいます。

ブレイクポイントつけて変数ビューで確認しても同じ結果です。
これはjavaでは当然の事なんでしょうか?
それとも私がAAAクラスで間違った実装をしてる可能性が高いのでしょうか?

ある処理をする直前に
  if (aaa != null)
というチェックをしたいのですが、
if ((aaa.No != null) || (aaa.Name != null))
とかにしなきゃダメですか?
177デフォルトの名無しさん:2010/10/14(木) 20:59:06
>>176
その不具合が再現するコンパイル可能なコードを示してくれ。

int No の前に static が付いてて AAA aaa もメソッド外にある、
とか、そーゆーオチか?
178デフォルトの名無しさん:2010/10/14(木) 20:59:38
>>176
aaaのtoStringメソッドはどうなっている?
というかソース晒せば回答が早いのに。
179デフォルトの名無しさん:2010/10/14(木) 21:13:42
javaってやれる事少なくない気がする
気のせいかな?
180176:2010/10/14(木) 21:33:48
「(説明が本当なら)そんな事が起こるはずはない」

という事を教えて頂けただけでも収穫です。

(ソースは持ち帰れないんです、すみません)

明日もう一度実装見直してみます。
ありがとうございました。
181デフォルトの名無しさん:2010/10/14(木) 22:29:27
Seasarって日本では結構使われてたりすんの?
182デフォルトの名無しさん:2010/10/14(木) 22:36:09
>>179
C++ Modern Design の type set を Java に移植しようとしたけど挫折した。
型計算の自動化とかは無理かもしれない。
183デフォルトの名無しさん:2010/10/14(木) 22:42:51
>>169
Event Dispatch Thread の中で描画してる?
184166:2010/10/14(木) 23:49:37
Event?ではないです。Threadは使ってます。
正確にいうと画面の下側に文字情報を等間隔に1文字ずつ書いてどんどん上へスクロールさせるプログラムなんですが
その後いろいろやって気がついたことがありました。
画面のクリアだけでなく文字の表示側にも問題があるようです。
文字を文字列で一度で書いてスクロールさせると画面が消える確率がグッと減ります。
完全になるわけではなくHDDのアクセス音がなるとき(負荷がかかるとき)に消えるぐらいです。
そして速度がかなり速くなったので1文字ずつ書くのが相当負担になっていることがわかりました。
しかしこの状況からプログラムでなくjavaの描画自体に問題があるのでは?と考えてしまいます。
今はイメージを配列化して消去やコピーをする方法を考えてます。
185デフォルトの名無しさん:2010/10/15(金) 01:25:30
Java 7っていつ頃リリースされそうですか
186デフォルトの名無しさん:2010/10/15(金) 04:15:19
2011年中期に決まったよ。
個人的にはSwingもっと強化してTimingFrameworkとか入れてもいいと思うんだけどな。
187デフォルトの名無しさん:2010/10/15(金) 07:45:22
わかりました。
188デフォルトの名無しさん:2010/10/15(金) 11:51:29
>>186
良くわかりました。
ありがとう。
189デフォルトの名無しさん:2010/10/15(金) 12:31:07
もしかしてprivateをつけないフィールドは外から読めるのwww?
なんでそういう仕様なの?
190デフォルトの名無しさん:2010/10/15(金) 13:07:59
>>189
private で外から見えるかどうかをコントロールするのが仕様だから。
191デフォルトの名無しさん:2010/10/15(金) 14:48:26
それを不思議に思う様では
他のオブジェクト指向言語も勉強した方が良いかもな
その方がJavaへの理解も深まるよ
192デフォルトの名無しさん:2010/10/15(金) 16:00:37
デフォルトで公開なのはおかしいという話だろ
Javaのデフォルトアクセスレベルは書き忘れてるのか
意図的に公開してるのか分かり辛いとか確かに問題があって
今作り直すならデフォルトprivateで、現在のデフォルトアクセスレベルは別の修飾子になるだろうね。
でもJavaが作られたのは結構昔で、そのころはみんなテキストエディタでコード書いてたし
Cからの移行をスムーズにというのがコンセプトにあるので簡便さが優先された。
193デフォルトの名無しさん:2010/10/15(金) 16:07:21
ドカタ専用言語にはふさわしい仕様です
194デフォルトの名無しさん:2010/10/15(金) 16:12:31
お亡くなりになったJavaFX Scriptはデフォルトがpriavteで
Javaでいうデフォルトアクセスレベルはpackage修飾子を付けるようになってるね。
まともな作り方してればprivateの方が圧倒的に多いんだから、
今となっては言語設計が不適切だったとしか言いようがない。
195デフォルトの名無しさん:2010/10/15(金) 16:15:52
JAVAが終わってPythonが始まるのはいつ頃ですか?
196デフォルトの名無しさん:2010/10/15(金) 16:55:04
javaは終わってるけどpythonが始まるのは未定
197デフォルトの名無しさん:2010/10/15(金) 16:55:17
C#感覚でついプロパティ的に書いてしまって
後から間違いに気づいたんだけど
なぜか通っちゃってるからおかしいなと思ったら・・・
やっと気づいたwww
198デフォルトの名無しさん:2010/10/15(金) 17:00:31
pythonは十分始まってるじゃん
補助言語としてはトップ
199デフォルトの名無しさん:2010/10/15(金) 17:00:38
教えてほしいです。
Cで言う所の#deffine的なものは用意されてますでしょうか?
200デフォルトの名無しさん:2010/10/15(金) 18:45:43
週末になると始まるなあw
Java嫌いなのは良く分かったけど
一応飯の種になるんだから知ってて損はないと思うよ
ってかC++とかC#知ってりゃ改まって勉強するほどの物でも無いだろ…
そんなに難しいっけ???
201デフォルトの名無しさん:2010/10/15(金) 18:56:07
どこに「javaは難しい」と書いてあるのかな
202デフォルトの名無しさん:2010/10/15(金) 19:00:08
つかぬことをお伺いしますが
.equals()で文字列の比較をしたときに
trueになるはずなのになぜかfalseになる場合ってありますか?・・・
substring()したときとか・・・
そんなはずないですよね?・・

eclipseでデバッグ中に変数を確認すると
値は同じなのですが、valueの値がなぜかsubstringする前の値が入ってます。

203デフォルトの名無しさん:2010/10/15(金) 19:07:03
>>201
禿同
204202:2010/10/15(金) 19:21:08
Androidエミュでデバッグしてて>>202の状態で
同じソースをPC上でJavaで動かすとまともに動きました。
どうやら環境っぽいです。。。
205デフォルトの名無しさん:2010/10/15(金) 19:26:27
けしからん話ですな
206デフォルトの名無しさん:2010/10/15(金) 19:32:40
>>202
java.lang.String って実装によっては char[] value を共有して、
int offset, countで部分指定してるけど、そーゆー話ではなくて?
207デフォルトの名無しさん:2010/10/15(金) 19:53:07
>>202
つたない知識で説明されるより、コードをそのまま載せて
こういう結果にならないのは何でですかと聞くほうが早い。
208デフォルトの名無しさん:2010/10/15(金) 20:01:32
>>206
そういうことかなと思ったんですがどうもそうじゃないらしいです・・
LibにしたAndroidプロジェクトを他のAndroidプロジェクトとJavaプロジェクトに
読み込んで使っている状況なのですが
Androidプロジェクトから呼び出してエミュ上のときは>>202のように失敗し
Javaプロジェクトから呼び出してPC上で実行すると問題ありませんでした。

ついでに新規のAndroidプロジェクトに簡単な同様の比較コード実行すると
>>202のような問題は発生しませんでした。
ソースに問題あるならJavaからでも同じ結果になるかと思うんですが・・・

>>207
おっしゃる通りなのですがちょっと絡んでるコードなので
まだ切り分けがよくできてないもので、すみません。
こんな事例は結構あるものなのかと思い尋ねさせてもらったんですが
単純にStringの問題じゃなさそうですね。
それだけわかれば十分収穫です。

とりあえずアホな質問にレスありがとうございました。
209デフォルトの名無しさん:2010/10/15(金) 21:10:17
>>208
また分からなかったら質問しておいで〜
210デフォルトの名無しさん:2010/10/15(金) 21:14:02
フィールドはともかく、クラスやメソッドはパッケージプライベートが基本になると思うのだが
フィールドだけ無修飾時の可視性を特別扱いするべきだと言ってるのかな
211デフォルトの名無しさん:2010/10/15(金) 21:45:56
特別あつかいはよくないのでクラスにもprotectedとか付けれるようにしましょう
212デフォルトの名無しさん:2010/10/15(金) 21:46:53
アウタークラスだった
213202:2010/10/15(金) 21:50:51
>>209
ありがとうございます。
やっと抜き出せました^^;こんな感じです。
Androidは1.6と2.2で試して同様の結果でした。
Javaプロジェクトでは問題なしでした。

package jp.test.stringtest;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        stringTest();
    }


分割します。
214202:2010/10/15(金) 21:52:03
つづき

    private IAccount account;
    private CurrencyPair pair;

    double stringTest() {
        account = Account.getInstance();
        pair = new CurrencyPair("EUR/JPY");

        String base = pair.getBaseCurrency();
        String ac = account.getAccountCurrency();

        if (base.equals(ac))   <<<ここ!!
            return 1;
        else if (base.equals("USD"))
            return 2;
        else
            return 3;
    }
}
215202:2010/10/15(金) 21:53:21
/******** ↓は他のプロジェクト ***********/

interface IBroker {
    String getName();
}

interface IAccount {
    String getAccountCurrency();
}

class Account implements IAccount, IBroker {
    private static Account instance = new Account();

    private Account() {
    }

    public static Account getInstance() {
        return instance;
    }

    private String accountCurrency = "JPY";

    @Override
    public String getName() {
        return "";
    }

    @Override
    public String getAccountCurrency() {
        return accountCurrency;
    }
}
216202:2010/10/15(金) 21:54:18
interface IInstrument {
    String getName();
}

class CurrencyPair implements IInstrument {
    private String name;
    private String baseCurrency;

    public CurrencyPair(String name) {
        if (name.contains("/")) {
            name = name.replace("/", "");
        }
        this.name = name;
        baseCurrency = name.substring(name.length() - 3, name.length());
    }

    @Override
    public String getName() {
        return name;
    }

    public String getBaseCurrency() {
        return baseCurrency;
    }
}
217デフォルトの名無しさん:2010/10/15(金) 23:05:41
>>189
>>190
>>192
どのみちEclipseが色分けまでしてくれるから、別にすべてにprivateってあってもウザくない。よね?
218デフォルトの名無しさん:2010/10/15(金) 23:09:30
>>176
それが本当ならそんなこと起こるはずがない。っていうか、
書かれていない部分によってはそれがありうるので、他の部分がないとわからん。ってことです。
実際のソースは持ち帰れないのは、よくあるし了解なんだけど、
そういうときって、普通は似たことを家とかで再現させて、公開してもよいソースを貼り付けるものだと思う。
219デフォルトの名無しさん:2010/10/15(金) 23:15:16
>>213
なんだか分からんが乙w
220デフォルトの名無しさん:2010/10/15(金) 23:29:33
FXの会社?こんなシステムじゃすぐ営業停止だな
221デフォルトの名無しさん:2010/10/15(金) 23:31:19
>>176
もしそれが別々のスレッドでほぼ同時に実行されたときに起きるなら、「Java メモリモデル」でぐぐれ。

# あとSun推奨のコーディングルールだと、変数とメソッド名の先頭は小文字。
222202:2010/10/15(金) 23:44:44
>>220
いえいえ、equals()あたりで躓いてる素人ですからw
どうですか?if (base.equals(ac)) ここfalseになりませんか?
自分の環境のせいなのかJavaがよくわかっていないせいなのか
そこらへんでつまづいてます・・
223デフォルトの名無しさん:2010/10/16(土) 00:04:27
>>222
普通のjavaでは発生しないと思ってよいですか?
224デフォルトの名無しさん:2010/10/16(土) 00:14:59
>>222
見た感じではよう分からんので評価直前に値を確認できるコードを仕込んでみ。

System.out.println("[" + base + ":" + ac + "]");
if (base.equals(ac))   <<<ここ!!
225デフォルトの名無しさん:2010/10/16(土) 00:54:14
Javaの理解度は大学の授業を受けたのみですが
3万行のプログラムを一人で修正するにはどれくらいかかりますか?
226デフォルトの名無しさん:2010/10/16(土) 01:07:03
100万円
227デフォルトの名無しさん:2010/10/16(土) 01:15:17
普通は期間だろww
228デフォルトの名無しさん:2010/10/16(土) 01:25:40
もしかして
base.intrn()==ac.intrn()でいけるんじゃ・・・。
だとしたら実装の問題だけど>>221っぽいよなぁ。
229デフォルトの名無しさん:2010/10/16(土) 01:32:21
>>228
>>221は別の質問への回答www
230202:2010/10/16(土) 12:40:38
>>223
はい、普通のJavaだと問題ありません。

>>224,228
よくわからないうちに解決しました・・・
pair = new CurrencyPair("EUR/JPY"); を
EURJPYに変えてみたら正常に動作してくれました。
name = name.replace("/", "");が原因だったのか、と思って
もう一度再現しようと"EUR/JPY"にして実行して見ると・・・
きちんと動作してる・・・・
なんだったのでしょうか・・長々と大変お騒がせしましたorz
231デフォルトの名無しさん:2010/10/16(土) 12:55:11
>>230
現象から予測すると、リビルドが不完全でソースは"EUR/JPY"に修正したけど
どっかのclassファイルかdexファイルに"EUR/JPY"でない文字列が残ってて、
実行時はそっちを使ってたとか、そんな感じか
232デフォルトの名無しさん:2010/10/16(土) 16:46:42
interfaceを勉強中ですが、
class TestClass implements CharSequence {
public CharSequence subSequence(int start, int end) {
return "A"; //ココ
}

ココのところを、return "A";とすればエラーにならないのですが、
return 'a'; や return 123;にするとエラーになります。
CharSequence型の戻り値が、Stringは良くてcharやintは不可というのは
どこで決められているのでしょうか。
233デフォルトの名無しさん:2010/10/16(土) 16:52:07
StringがCharSequenceになれるかどうかはString自身が決める。
リファレンスでStringの宣言を見ると
public final class String extends Object
implements Serializable, Comparable<String>, CharSequence
とあり、CharSequenceインターフェイスを実装してることがわかる。
234デフォルトの名無しさん:2010/10/16(土) 17:35:07
>>232
簡単にいうと、CharSequenceをimplementsしてればどんなものでもそこのリターンとなることができる。
235デフォルトの名無しさん:2010/10/16(土) 18:47:05
public interface TestInterface {
public TestInterface testMethod(int start, int end);
}
class TestClass implements TestInterface {
public TestInterface testMethod(int start, int end) {
return "abc"; //ココ

}
のようにしたとき、ココには、TestInterfaceをimplementsしたStringクラスを模写したような
クラスが必要ってことになるんですか?
236デフォルトの名無しさん:2010/10/16(土) 19:10:25
>>235
いや、なんていうかな。TestInterfaceを具象したクラスなら返却値になりうる。って感じ。
Stringがなぜ出てくるw
237デフォルトの名無しさん:2010/10/16(土) 19:50:39
だか(ry
238デフォルトの名無しさん:2010/10/16(土) 20:28:27
>>235
インターフェイスっていうのは最低限これだけのメンバが使えますっていう保証なんだわ。
TestClassがTestInterfaceを実装してるってことは最低でもtestMethodメソッドは使えるってことだから
TestClassのインスタンスをTestInterface型と見做しても問題ない。
239デフォルトの名無しさん:2010/10/16(土) 23:14:08
>>232>>235ですが、
235については、インターフェイスの話からはズレて、
Stringオブジェクトの参照をCharSequence型に入れ込めるのは、
CharSequenceがStringの親であるから入るという仕様になっていて、
CharSequence型に入ったStringの参照からStringのオブジェクトを
探せるようになっていると思うけど、CharSequenceには抽象メソッドが
数本あるだけで、他には何も無い。そんなCharSequenceからStringオブジェクト
を見に行けるのは変な感じがするけど、どうなんでしょうか。
240デフォルトの名無しさん:2010/10/16(土) 23:38:46
変数の型とオブジェクトの実際の型は実行時にはあんまり関係ない。
実体がどんなクラスのオブジェクトだろうと、変数に入るのはただの参照に過ぎないから、扱いはどれも同じ。
オブジェクトの実際の型を取得→実際の型の定義から適切なメソッドを検索→呼び出し
という流れになる。実際には最適化とかいろいろあるけど、言語仕様上はこのように考えていい。
241デフォルトの名無しさん:2010/10/17(日) 00:33:56
言語としてのJavaは糞だけど、JavaVMって技術的にどうなの?
242デフォルトの名無しさん:2010/10/17(日) 02:41:11
糞を放り込む先は便器です
243デフォルトの名無しさん:2010/10/17(日) 03:17:45
スクリプトや仮想マシン型の実行プラットフォームの中では
今のところ抜きん出て優秀。
244デフォルトの名無しさん:2010/10/17(日) 03:17:57
入力のInputStreamがgifかどうか判定して、
gifだったらそのまま受け取ったInputStreamを返却したいのだけど、
返却された値を見ると、なぜか8byte削られてしまって困っています。
間違っているところを教えていただけるでしょうか・・・。

public static InputStream gifcheck(InputStream input) throws IOException{
 InputStream is = input;
 ImageInputStream iis;

 try{
  iis = ImageIO.createImageInputStream(is);
  for(Iterator i = ImageIO.getImageReaders(iis);i.hasNext();){
   if(((ImageReader)i.next()).getFormatName().equals("gif")){
    return input;
   }
  }
 }catch(Exception e){}
245デフォルトの名無しさん:2010/10/17(日) 06:58:14
>>244
ImageInputStreamかImageReader作った時点で
先頭数バイト読み込んでどのフォーマットの画像データか判定してるはず。

BufferedInputStream使ってストリームの先頭でmark resetするか、
途中まで読み込んだストリームをいったん閉じて
ストリームを先頭から再度オープンするしかない。
246デフォルトの名無しさん:2010/10/17(日) 12:16:37
eclipseを使ってjava3dの開発をしたいと思っています。しかし、サンプルプログラムを入れても
インポートする部分で. インポートされた import javax.media.j3d.*;は見つかりません
というエラーが出てきて前に進めません。java3Dのインストールに失敗したのだと思い
再インストールしたのですが、だめでした。どなかた解決してくださるとうれしいです。
使用しているパソコンはvistaで、jdkはjdk1.6.0_21です。
247デフォルトの名無しさん:2010/10/17(日) 12:28:49
eclipseの環境設定の Java/Installed JREs の項目でそのjdk1.6.0_21が選択されているか確認しる
248デフォルトの名無しさん:2010/10/17(日) 12:36:20
ここで質問すべき内容かわからないのですが、質問させてください。

SQL Server 2005に対し、Windows認証を用いてJavaからアクセスを行いたいのですが、
SQL ServerのJDBCドライバはWindows認証に対応していないのでしょうか?

ttp://support.microsoft.com/kb/313100/ja を見ると、SQL Server 2000の無いようですが、
Windows認証をサポートしていないに書かれています。
ネットで色々と情報を見たのですが、いまいちはっきりしません。
MSのページでSQL Server2005に対し、Windows認証に対応したJDBCドライバが
提供されているのかいないのか、明示しているページはありませんか?

よろしくお願いいたします。


このスレに相応しくない質問でしたら、ご指摘下さい。
249デフォルトの名無しさん:2010/10/17(日) 12:40:50
データベース板のSQL Serverスレとかの方が知ってる人いるんじゃないかなぁ…
250デフォルトの名無しさん:2010/10/17(日) 13:11:10
日本語版javadocがダウンロードできないんだけど、
oracleの陰謀?
251デフォルトの名無しさん:2010/10/17(日) 13:21:14
>>245
直ったよー
ありがとうございます
252デフォルトの名無しさん:2010/10/17(日) 13:21:56
>>249
了解。
SQLServerスレとこっちと迷ったのですが、こちらの方が人数が多そうだったので、とりあえずこちらに投下させてもらいました。
SQL Serverスレでも聞いてみます。
253デフォルトの名無しさん:2010/10/17(日) 13:24:39
>>回答ありがとうございます。指摘のとおり、jdk1.6.0_21は選択されていなかったので
新しく追加して選択しました。しかし、治りませんでした。すいません。
254デフォルトの名無しさん:2010/10/17(日) 13:44:01
じゃあそのInstalled JREsの新しく追加したjdk1.6.0_21を編集してJava3Dの.jarファイルを追加してみるとか
個別のプロジェクトオプションのビルドパスでもいいけど
255デフォルトの名無しさん:2010/10/17(日) 14:01:37
回答ありがとうございます。jarファイルを追加してみましたがだめでした。
わかりません。学校のパソコンでは普通の動いたんですが。
256デフォルトの名無しさん:2010/10/17(日) 14:22:40
jarファイルを追加したなら、Package Explorerでプロジェクト下にある
Reference LibrariesだとかJRE System Libraryだとかいう名前の項目の中に
その.jarファイルが出現しているはず
そのツリーを展開してみて目的のパッケージがあるか確認してみる
・jarファイルが存在しない → ちゃんと追加されてないか、プロジェクトのオプションで別のJREを参照している
・jarファイルは存在するけどパッケージがない → jarファイルが間違ってるとか壊れてるとか
・パッケージもある → import文のスペルミスを疑ってみる、念のためクリーンして再ビルドしてみる
257デフォルトの名無しさん:2010/10/17(日) 15:17:40
後出し回答はやめてください
258デフォルトの名無しさん:2010/10/17(日) 15:27:27
だって最初から全部のありうる可能性をずらずら並べても試すの大変だろ
259デフォルトの名無しさん:2010/10/17(日) 15:35:00
使えない回答者ばかり
260デフォルトの名無しさん:2010/10/17(日) 15:37:30
使えないものは使わなければいいのに
なぜ使えないものを使いたがるのか
261デフォルトの名無しさん:2010/10/17(日) 17:08:03
>>232>>235>>239です
>>233>>234>>236>>238>>240
どうもありがとうございました
262デフォルトの名無しさん:2010/10/17(日) 17:30:29
>>255
jarを追加したなら別のエラーが出てるだろ。それをコピペするんだ。
263デフォルトの名無しさん:2010/10/17(日) 17:34:26
>>243
それは、実装が優れているってこと?

仕様自体も優れている?
264デフォルトの名無しさん:2010/10/17(日) 17:36:28
仕様は特に優れているというわけでもない
265デフォルトの名無しさん:2010/10/17(日) 18:02:25
どんな仕様だったら優れている事になるんだろ?
266デフォルトの名無しさん:2010/10/17(日) 19:18:57
>>256回答ありがとうございます!指摘の通り、JREを見てみたところjdkがありまんせんでした。
どうやら別のJREを参照していたみたいです。なのでプロジェクトを作るときに
変えてみたところ無事動かすことができました。本当にありがとうございます。
267デフォルトの名無しさん:2010/10/17(日) 19:20:55
そのへんは聞いてるやつも答えてるやつもよくわかってないだろw
268デフォルトの名無しさん:2010/10/17(日) 19:26:10
System.out.println(3);
と書いたときに、PrintStreamクラスのprintln(int x)メソッドは
staticじゃないのに、どうしてオブジェクト化せずに使えるのでしょうか。
269デフォルトの名無しさん:2010/10/17(日) 19:33:31
outがスタティックだから
270デフォルトの名無しさん:2010/10/17(日) 19:41:03
271デフォルトの名無しさん:2010/10/17(日) 19:41:33
おいおい^^;
272デフォルトの名無しさん:2010/10/17(日) 20:03:22
>>268
System.outがオブジェクトだから。
273デフォルトの名無しさん:2010/10/17(日) 22:36:44
次はSystem.outはfinalなのになんで変更できるんですか?

だな。
274デフォルトの名無しさん:2010/10/17(日) 22:41:19
>>269
そうなん?なんで?
275デフォルトの名無しさん:2010/10/17(日) 22:46:25
グローバル変数だ。ただしJavaではフィールドは必ずクラスに含めないといけないので
形式的にSystemクラスに入れてるだけ。
276デフォルトの名無しさん:2010/10/17(日) 22:47:36
>System.out はデフォルトで用意
>(つまりJava サイドで勝手にインスタンス化)されているって事です
というふうに回答が出ていますが、判らないのは、まさにそこで、
System.outで、outはPrintStreamクラスのstaticな変数ですが、
staticではないplintlnメソッドを使えるってことは、
System.outの段階で、PrintStreamインスタンスが出来ていないと
いけないと思うのですが、javaがPrintStreamのインスタンスは、
自動で作っているのでしょうか。
277デフォルトの名無しさん:2010/10/17(日) 22:51:30
はいそうです
278デフォルトの名無しさん:2010/10/17(日) 22:55:11
>>277
PrintStream以外にもそういうのは沢山あるんですか?
それらを一括して説明しているサイトをご存知ないでしょうか
279デフォルトの名無しさん:2010/10/17(日) 22:58:29
>>278
そんなものいくらでも簡単に作れるよ
class Hoge {
public static PrintStream myout = new PrintStream( /*なんか適当に*/ );
}
とでもしてみればいい
あなたが Hoge.myout にアクセスしたときには、それはもう存在している
280デフォルトの名無しさん:2010/10/17(日) 23:02:11
>>279
その場合はmyoutというPrintStreamのインスタンスを
プログラムで書いてますよね。
書かずに約束事のように(プログラマの目に見えない)って意味ですけど。
281デフォルトの名無しさん:2010/10/17(日) 23:08:04
>>280
System クラスだって、Java を作ってる Sun (今はOracle?) の中の人が System.java のプログラムを書いてるわけなんだけど... 一応ソースも見れるし
まぁ標準ライブラリのってことなら、そういう一覧は見たことないが、そうだな...
http://java.sun.com/javase/ja/6/docs/ja/api/index-files/index-1.html
ここを「static 変数」で検索して、その中から int とかのプリミティブ型を除外すればいいんじゃないか
282デフォルトの名無しさん:2010/10/17(日) 23:55:45
System.javaのソースを見たら、
Initialize the system class. Called after thread initialization.
というコメントの後に、
initializeSystemClass()というメソッドがあって
その中に、
setOut0(new PrintStream(new BufferedOutputStream(fdOut, 128), true));
というのがあるので、
たぶん、mainメソッドが呼ばれたら、その後SystemのinitializeSystemClass()
が呼ばれてnew PrintStreamされているということで、
無理やりに今のところは納得することにします。
ありがとうございました。
283デフォルトの名無しさん:2010/10/18(月) 00:51:19
>>282
順序的には(自前の)mainがコールされる前にSystemクラスは初期化されています。
想像のとおり、setOut0の行がSystem.outへの代入を行っている場所です。

JNIEXPORT void JNICALL
Java_java_lang_System_setOut0(JNIEnv *env, jclass cla, jobject stream)
{
jfieldID fid =
(*env)->GetStaticFieldID(env,cla,"out","Ljava/io/PrintStream;");
if (fid == 0)
return;
(*env)->SetStaticObjectField(env,cla,fid,stream);
}

結局FileDescriptor.outをPrintStreamでラップしたインスタンスを、
nativeコードを呼び出してSystem.outに代入しているに過ぎません。
284デフォルトの名無しさん:2010/10/18(月) 06:03:41
Javaで書いたプログラムをexeで起動させることはできますか?
んーなんかうまく説明できないんですが、エスパーの方よろしくお願いします。
285デフォルトの名無しさん:2010/10/18(月) 06:36:50
java exeでググれ
286デフォルトの名無しさん:2010/10/18(月) 08:00:56
2次元配列を引数に読み込んだ際に、その要素数ってどうやって調べられるのでしょうか?
int[][] a だとすると、int[a.length][ ? ] a の ? の数の調べ方を教えて下さい。

static int[][] aryAry(int[][] a) {
int x = a.length;
int y = 4;
int[][] r = new int[x][y];

for(int i = 0; i < a.length; i++) {
for(int j = 0; j < a[i].length; j++) {
r[i][j] = a[i][j];
}
}
return r;
}
287デフォルトの名無しさん:2010/10/18(月) 08:17:36
static int[][] aryAry(int[][] a) {
int[][] r = new int[a.length][];

for(int i=0; i<a.length; i++) {
r[i] = new int[a[i].length];
for(int j=0; j<a[i].length; j++) {
r[i][j] = a[i][j];
}
}
return r;
}
288デフォルトの名無しさん:2010/10/18(月) 08:21:05
a[0].length と a[1].length は違うかも知れないのでその?部分は不確定。

int[][] r = new int[a.length][];
for(int i=0; i<a.length; i++){
  r[i] = new int[a[i].length];
  for(int j=0; j<a[i].length; j++){
    r[i][j] = a[i][j];
  }
}
289デフォルトの名無しさん:2010/10/18(月) 10:30:51
メモ帳感覚で使えるエディタみたいなもんない?
290デフォルトの名無しさん:2010/10/18(月) 10:36:29
javaでBuffered Readerの式から日本語で入力した文字を出力するとき文字化けが起きてしまいます。
英数字なら問題ないんですが、なぜでしょうか?
291デフォルトの名無しさん:2010/10/18(月) 12:04:23
MacでJavaの開発環境ってmac portsだけじゃだめなの?
292デフォルトの名無しさん:2010/10/18(月) 12:21:36
>>290
エンコーディングが間違ってる

今のJavaはIDE無しで手に負えるようなもんじゃないです
293デフォルトの名無しさん:2010/10/18(月) 13:03:32
eclipseを使ってます。
でもeclipseでエンコーディングの設定(→utf8)してもかわりませんでした。

逆にcmdからjavac -encoding utf8したら問題なく表示されます。どういうことでしょうか…
294デフォルトの名無しさん:2010/10/18(月) 13:07:27
わかるやつは答えてやれよ
295デフォルトの名無しさん:2010/10/18(月) 15:27:20
全員分からないのであきらめてください
296デフォルトの名無しさん:2010/10/18(月) 16:21:56
エスパーは居るはず
297デフォルトの名無しさん:2010/10/18(月) 16:28:12
>>290
>Buffered Readerの式から日本語で入力した文字

誰にもわかりません。諦めてください。
298デフォルトの名無しさん:2010/10/18(月) 16:40:49
ワレワレハ ウチュウジンダ
299デフォルトの名無しさん:2010/10/18(月) 16:57:00
>>287-288
ほんとありがとうございました。勉強になります。
300デフォルトの名無しさん:2010/10/18(月) 18:05:55
>>290
その化けるというソース貼らなきゃ。
コマプロからやるとOKということは明らかにeclipseの設定だね。
301デフォルトの名無しさん:2010/10/18(月) 18:11:31

 コ マ プ ロ w
302デフォルトの名無しさん:2010/10/18(月) 20:26:58
このスレでは
コマプロ、またはプロントと言います
303デフォルトの名無しさん:2010/10/19(火) 00:18:42
>>264
了解。ありがとう。
304デフォルトの名無しさん:2010/10/19(火) 00:23:00
プロマン
305デフォルトの名無しさん:2010/10/19(火) 00:45:23
>>290
InputStreamReader使わないといけないんじゃ?
306デフォルトの名無しさん:2010/10/19(火) 02:43:08
エディタの設定しただけでしょ
307デフォルトの名無しさん:2010/10/19(火) 05:08:49
RubyからJAVAへ移行しようとしているのですが、Jrubyの使い方がよくわかりません。
RubyのコードをJAVAに変換してくれるのではないのでしょうか?
Rubyのコードをコンパイルして実行速度をあげたいのですが出来るでしょうか?
308デフォルトの名無しさん:2010/10/19(火) 05:20:38
JRubyはjavaによるRubyの実装
309デフォルトの名無しさん:2010/10/19(火) 06:05:23
>>307
今の JRuby は Ruby のコードから Java のプラットフォーム (JavaVM) で
動くバイトコードへコンパイルしてくれる。Java と同じ速度は無理かもしれないけど
Ruby とは同等か良くなるんじゃないの。

最近結構 Ruby から Java へって話よく聞くな。どっかの SI 屋が Ruby
で安く作ってきたの Java でリプレースしたいなあーって話を先月くらいに
喫煙室でお客さんとしたし。最終的にオフショアで海外開発しようと思って
るから Ruby はねぇわって感じみたいで。
310デフォルトの名無しさん:2010/10/19(火) 07:26:47
Rubyって国際性あるの?
311デフォルトの名無しさん:2010/10/19(火) 08:22:59
無いね。まぁ Java や Python 使える奴なら少し慣れれば使い物にはなるけど
0から新言語覚えるリスクはついてまわる。だいたい日本語、英語以外の
ドキュメントが少なすぎ。
312デフォルトの名無しさん:2010/10/19(火) 12:25:12
>>309
動的言語が遅いのは動的だからで、静的なコード生成が行える部分については
いくらその部分が速く動作しようと全体としては速くならんです。
結局動的呼び出しがネックになるからね。
313デフォルトの名無しさん:2010/10/19(火) 12:25:34
教えてほしいです。
JAVAからJNIの仕組みを利用してCのI/Fを使おうとしています。JAVA側から引数でint型で1を渡そうとしていますが受け取るC側でint型の1と認識できますか?
314デフォルトの名無しさん:2010/10/19(火) 12:39:13
>>313
問題なし。
面倒なのはus-ascii以外の文字の混じった文字列だな。
315デフォルトの名無しさん:2010/10/19(火) 13:24:24
new Exception().getStackTrace()でスタックは取れますが、
スタック情報からメソッドの引数オブジェクトを取得することは可能でしょうか?
316デフォルトの名無しさん:2010/10/19(火) 13:26:05
無理です。
317デフォルトの名無しさん:2010/10/19(火) 13:56:09
>>316
ありがとうございます。
ファイル名、行番号が取れたので引数も取れると思ったもので…
318デフォルトの名無しさん:2010/10/19(火) 16:30:52
ArrayList arraylist = new ArrayList();と
List list = new ArrayList();では、
プログラム作成のときは、後者を習慣つけたほうがいいのですか?

319デフォルトの名無しさん:2010/10/19(火) 16:36:33
どうでもいい
引数や戻り値としてクラスの外に見せるときだけ気をつけていれば十分
320デフォルトの名無しさん:2010/10/19(火) 17:14:07
>>319
どうもです
321デフォルトの名無しさん:2010/10/19(火) 19:42:22
>>318
後者で十分なら後者
不要な情報はとことん、そぎ落とすのが情報隠蔽の基本
322デフォルトの名無しさん:2010/10/19(火) 20:35:52
>>321
なるほど〜
ありがとうございました
323デフォルトの名無しさん:2010/10/19(火) 21:39:21
http://java.sun.com/javase/ja/6/docs/ja/api/
でStringBuilderを見ていたのですが、Appendableを実装していると
書かれていますが、見る限りしてないようなのです。
public final class StringBuilderextends Objectimplements
Serializable, CharSequence
そこで、ソースを見ると、
public final class StringBuilder
extends AbstractStringBuilder
implements java.io.Serializable, CharSequence
になっており、AbstractStringBuilderのソースを見ると、
abstract class AbstractStringBuilder implements
Appendable, CharSequence
となっております。
http://java.sun.com/javase/ja/6/docs/ja/api/
は正確ではないということなのでしょうか?
324デフォルトの名無しさん:2010/10/19(火) 21:56:00
AbstractStringBuilder というのはパッケージプライベートだから俺らからは見えないクラスなんだ
見えないもの載せられても困るし、まぁそうすると100%正確じゃなくなるんだけど、なんていうかね・・・ まぁ難しいところだね
ある種の妥協点だと思うしかないな
325デフォルトの名無しさん:2010/10/19(火) 22:02:19
>>324
StringBuilder sb = new StringBuilder();
Formatter formatter = new Formatter(sb);
こういうのを見ていて、Formatter(Appendable a)メソッドがあって、
どうしてStringBuilderがAppendableに渡るんだろうとAPIを見たら、
そうしても繋がらなくて・・・。
ソース見て、初めて繋がりました。
そういうことがあるんですね。
ありがとうございました。
326デフォルトの名無しさん:2010/10/19(火) 22:05:50
バージョンが上がって継承階層が変わるのってどうなんだろう
普通、スーパークラスが新たに挿入されることなんて想定しないと思うけど
既存のアプリケーションで問題が起きたりしないのかな
327デフォルトの名無しさん:2010/10/19(火) 22:42:59
ttp://www.techscore.com/tech/ApacheJakarta/Struts/answer/6-2.html

このサイトの通りに作っても
org.apache.jasper.JasperException: An exception occurred processing JSP page /com/techscore/struts/chapter6/exercise2/useImageTag.jsp at line 18

15:
16: <p>ボタンを押してください。座標が表示されます。</p>
17:
18: <html:form action="/com/techscore/struts/chapter6/exercise2/ImageTag.do" method="post">
19: <html:image page="/com/techscore/struts/chapter6/exercise2/img/submit.gif"
20: property="button" />
21: </html:form>

のようにエラーになってしまいます。
解決策を教えてください。
328デフォルトの名無しさん:2010/10/19(火) 23:20:05
アホすぎ
329デフォルトの名無しさん:2010/10/19(火) 23:22:00
どうせsubmit.gifがないんだろ
330デフォルトの名無しさん:2010/10/19(火) 23:22:55
>.>327のログは

致命的: サーブレット jsp のServlet.service()が例外を投げました
javax.servlet.jsp.JspException: クラス com.techscore.struts.chapter6.exercise2.ImageTagForm のbeanを生成する際の例外: imageTagForm
at org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:536)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:503)

(以下略)

です
331デフォルトの名無しさん:2010/10/19(火) 23:27:52
submit.gifはあります
332デフォルトの名無しさん:2010/10/19(火) 23:37:26
どうせsubmit.gifが変な場所にありますんだろ
333デフォルトの名無しさん:2010/10/19(火) 23:41:07
質問です
ランダムに足し算引き算掛け算割り算の問題を出すプログラムを作っているのですが
足し算:1,引き算:2,掛け算:3,割り算:4,ランダム:5
4
485÷ 129=
5
不正解!!答えは :3です
485× 129=
5
不正解!!答えは :62565です
こんな感じにこんな感じに余計な部分まで読み込んでしまうのと
割り算の時、計算結果が1にばかりなってしまうのですが
どうすればいいでしょうか・・・
改善方法を教えてください
334デフォルトの名無しさん:2010/10/19(火) 23:42:07
たぶん合ってると思うんですが・・・
/com/techscore/struts/chapter6/exercise2/img/submit.gif

に置いてます
335デフォルトの名無しさん:2010/10/19(火) 23:42:51
じゃあstruts-config.xmlがまちがってるんだろ
336デフォルトの名無しさん:2010/10/19(火) 23:45:47
>>333
こっちは君のプログラムを全く知らないのに何をどう改善しろと?
教えてほしかったら晒せ
337デフォルトの名無しさん:2010/10/19(火) 23:47:57
>>336
すみません
ソースコードを載せるサイトを探していて…
338デフォルトの名無しさん:2010/10/19(火) 23:48:56
339デフォルトの名無しさん:2010/10/20(水) 11:10:57
-Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=nで起動したとき、
接続してブレイク情報を送らなければ遅くならない、
接続してブレイク情報を送ると、内部のチェック処理?が発生するから遅くなる、
という情報は間違い?
340デフォルトの名無しさん:2010/10/20(水) 11:13:48
知らねーよ。
遅くなって困るような局面で JDWP なんて起動するな。
341デフォルトの名無しさん:2010/10/20(水) 11:33:11
class Hoge{
    public int getNumber(){return number;}
    public String getXXX(){}
    public String getYYY(){}
    詳細省略
}
見たいなクラスでList<Hoge> hogeList;があるとき
hogeListのNumberでソートさせたいときにはどうやるのでしょうか?
342デフォルトの名無しさん:2010/10/20(水) 11:51:18
Collections.sort(hogeList, new Comparator(){
public int compare(Hoge h1, Hoge h2){
if(h1.getNumber() < h2.getNumber()) return -1;
if(h1.getNumber() > h2.getNumber()) return 1;
return 0;
}
});
343デフォルトの名無しさん:2010/10/20(水) 12:27:11
>>342
おおおおおおおおおおできたした
ありがとうございます!
344デフォルトの名無しさん:2010/10/20(水) 13:05:04
importで*使うなとよく言われますが、コンパイルが遅くなるだけで実行速度には影響はないですか?
345デフォルトの名無しさん:2010/10/20(水) 13:17:46
importで*を使わない方がいいのは別にコンパイル速度の問題じゃないけど・・・
もちろん実行速度には影響ない
346デフォルトの名無しさん:2010/10/20(水) 13:19:15
Runtime.getRuntime().traceMethodCalls(true);を呼ぶとメソッド呼び出しのためにデバッグ情報が出る期待していたのですが何も変化がありませんでした。これをtrueにするといったい何が変わるのでしょうか?
347デフォルトの名無しさん:2010/10/20(水) 13:20:21
>>344
クラスファイルに無駄な情報を埋め込んでそれを実行時に無駄にリンクするから無駄にメモリを消費するがそもそもそれ以前に名前が衝突してコンパイルできなくなる。
348デフォルトの名無しさん:2010/10/20(水) 13:23:17
>>346
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Runtime.html#traceMethodCalls%28boolean%29
> この機能をサポートしない場合、仮想マシンは要求を無視する場合があります。
349デフォルトの名無しさん:2010/10/20(水) 13:40:28
何こいつw
350デフォルトの名無しさん:2010/10/20(水) 13:59:47
tomcatで以下を実行すると全てのモジュールに適用されますか?

System.setOut(System.err);
System.out.println("a");//標準エラーに出力
351デフォルトの名無しさん:2010/10/20(水) 14:14:13
「全てのモジュール」って何?
352デフォルトの名無しさん:2010/10/20(水) 14:21:30
>>351
すみません。
全てのアプリケーションです。
webコンテナのデプロイ単位のあのやつです。
353デフォルトの名無しさん:2010/10/20(水) 14:44:19
その設定はVM単位なのでweb application単位は不可能です。
http://tomcat.apache.org/tomcat-7.0-doc/logging.html#java.util.logging
The default implementation of java.util.logging provided in the JDK is too limited to be useful.
A limitation of JDK Logging appears to be the inability to have per-web application logging, as the configuration is per-VM.
As a result, Tomcat will, in the default configuration, replace the default LogManager implementation with a container friendly implementation called JULI,
which addresses these shortcomings.
354デフォルトの名無しさん:2010/10/21(木) 18:27:55
Jrubyの質問はここでいいですか?
355デフォルトの名無しさん:2010/10/21(木) 19:29:06
FileInputStreamで読み込むスタート位置を指定できないのでしょうか?

やりたいことはバイナリファイルの読み込みで、ファイルの一部分(たとえば100MBのファイルの2MBの位置から1MB分)を
読み込みたいのですがどのようにすればよいでしょうか?
356デフォルトの名無しさん:2010/10/21(木) 19:36:33
>>355
InputStream#skip(long) 使えば?
357デフォルトの名無しさん:2010/10/21(木) 19:44:56
RandomAccessFileというクラスもあるよ
358デフォルトの名無しさん:2010/10/21(木) 20:06:53
FileChannel からでも。
359デフォルトの名無しさん:2010/10/21(木) 20:39:57
javaではなくてEclipseCDTで質問です。

cygwin1.7をインストールして、設定を済ました後に実行すると

**** WARNING: The "Debug" Configuration may not build ****
**** because it uses the "Cygwin GCC" ****
**** tool-chain that is unsupported on this system. ****

といったエラーが出て、コンパイルできません。

↓のサイトを参考に、インストールの確認とレジストリの登録をしてみましたが、変わりません。
http://hata.cc/docs/CDT/index.html

どなたか解決策を教えてください。
OSはwindows7 64bitで、Eclipseは3.5を使っています。
360デフォルトの名無しさん:2010/10/21(木) 22:28:58
エクリプスで参考書片手にプログラムを作ってます。
いざ実行したらエラーが出てしまうのですが
そのエラーはどういう意味なのか教えてください。
エラー文は長いので次のレスに書きます。
361デフォルトの名無しさん:2010/10/21(木) 22:31:26
なんでJavaの連中って人間力
低いのですか?コミュ力がないっていうか
362デフォルトの名無しさん:2010/10/21(木) 22:32:12
>>360のエラー文
Exception in thread "main" java.lang.UnsatisfiedLinkError: sun.awt.SunToolkit.getAppContext(Ljava/lang/Object;)Lsun/awt/AppContext;
at sun.awt.SunToolkit.getAppContext(Native Method)
at sun.awt.SunToolkit.targetToAppContext(Unknown Source)
at javax.swing.SwingPaintEventDispatcher.createPaintEvent(Unknown Source)
at sun.awt.windows.WComponentPeer.postPaintIfNecessary(Unknown Source)
at sun.awt.windows.WComponentPeer.handlePaint(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.repaintPeerTarget(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.createScreenSurface(Unknown Source)
at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source)
at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source)
at sun.awt.windows.WComponentPeer.setBounds(Unknown Source)
at sun.awt.windows.WWindowPeer.setBounds(Unknown Source)
at sun.awt.windows.WComponentPeer.initialize(Unknown Source)
at sun.awt.windows.WCanvasPeer.initialize(Unknown Source)
at sun.awt.windows.WPanelPeer.initialize(Unknown Source)
at sun.awt.windows.WWindowPeer.initialize(Unknown Source)
at sun.awt.windows.WFramePeer.initialize(Unknown Source)
at sun.awt.windows.WComponentPeer.<init>(Unknown Source)
at sun.awt.windows.WCanvasPeer.<init>(Unknown Source)
at sun.awt.windows.WPanelPeer.<init>(Unknown Source)
at sun.awt.windows.WWindowPeer.<init>(Unknown Source)
at sun.awt.windows.WFramePeer.<init>(Unknown Source)
at sun.awt.windows.WToolkit.createFrame(Unknown Source)
at java.awt.Frame.addNotify(Unknown Source)
at java.awt.Window.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
363デフォルトの名無しさん:2010/10/21(木) 23:11:02
>>356-358
ありがとうございました。
>>356の方法で思い通りのことができました。
>>357-358もどんなものかチェックしておきます。
364デフォルトの名無しさん:2010/10/22(金) 00:57:13
>>362
仮想環境から実行してる?
365デフォルトの名無しさん:2010/10/22(金) 16:19:05
>>364
はい。
366デフォルトの名無しさん:2010/10/22(金) 17:31:13
子クラスにコンストラクターがない場合は親クラスのコンストラクターがよばれるのでしょうか?
367デフォルトの名無しさん:2010/10/22(金) 17:36:38
子クラスにコンストラクターがない場合は親クラスのデフォルトコンストラクターがよばれます
子クラスにコンストラクターがある場合も親クラスのコンストラクターがよばれますが、どのコンストラクターがよばれるか指定できます
368デフォルトの名無しさん:2010/10/22(金) 17:53:09
ちなみに子クラスがコンストラクターを明示的に宣言せず
親クラスが引数なしのコンストラクタ持たない場合はコンパイルエラー。
369デフォルトの名無しさん:2010/10/22(金) 22:55:57
饅頭屋のコンパイルは倒産しました。
370デフォルトの名無しさん:2010/10/23(土) 00:38:42
class Animal {
class Dog extends Animal {
class Test{
public static void main(String[] args) {
Animal a = new Animal();
Dog d = (Dog) a;
}
}

これってclassCastExceptionのエラーが出るんだけど何でですかね?
371デフォルトの名無しさん:2010/10/23(土) 00:58:25
AnimalがDogのサブクラスじゃないから
372デフォルトの名無しさん:2010/10/23(土) 01:02:26
>>367,378有難うございます。



373デフォルトの名無しさん:2010/10/23(土) 02:45:50
>>371
一応ダウンキャストしてるつもりだけど書き方まずいかな?
374デフォルトの名無しさん:2010/10/23(土) 03:04:01
>>373
AnimalがDogのサブクラスじゃないからダウンキャストできないと、>>371は言ってるんだと思うよ。
375デフォルトの名無しさん:2010/10/23(土) 10:07:56
>>373
ダウンキャストは、AnimalをDogに変身させるものじゃない。
DogだとわかっているAnimalを、Dogとして扱うためのものだ。
Animalのままだと、Dog固有のメソッド等にアクセスできないからダウンキャストが必要になる。
376デフォルトの名無しさん:2010/10/23(土) 17:47:10
Calendar gc2 = new GregorianCalendar(2010, 10, 23);
int dw = gc2.get(Calendar.DAY_OF_WEEK);

dwは7になるはずですよね?
しかし、3になります。
なぜ???
377デフォルトの名無しさん:2010/10/23(土) 18:01:29
> month - カレンダ内の MONTH カレンダフィールドの設定に使用する値。Month 値は 0 から始まる (1 月 は 0 になる)
378デフォルトの名無しさん:2010/10/23(土) 18:28:06
ありうがとうです!
どのみちDateであれCalenderであれ数字そのままってわけには
いかないんですね。。。

379デフォルトの名無しさん:2010/10/23(土) 20:10:53
DBにアクセスする時に、class.forname()を呼び出すのは無駄じゃないですか?
リフレクションAPIなので、遅くなるだけだと思いますが
何か特別な理由があるのですか?
380デフォルトの名無しさん:2010/10/23(土) 20:17:43
静的初期化子を呼び出すためのおまじない
非常に悪い使い方なので自分でライブラリ作るときは絶対に真似しないように
381379:2010/10/23(土) 20:26:06
>>380
普通にインスタンスかすれば、staticブロックが呼び出されと思います
リフレクションAPIを使うよりはよっぽど速いハズです
これは、業界の悪習ということでOKなのですか?
382デフォルトの名無しさん:2010/10/23(土) 20:30:16
>>381
JDBC作った奴がタコだったというだけ
383379:2010/10/23(土) 20:36:51
>>380,>>382
thx
384デフォルトの名無しさん:2010/10/23(土) 20:37:27
最初しか使わないんだから速いとか遅いとか全く問題にはならん。
コンパイラが無意味なコードだと見做して削除するかもしれないからじゃないの。
そもそもの間違いはstaticブロックを使っていることであることは疑いようもないけど。
385デフォルトの名無しさん:2010/10/23(土) 20:39:24
先生!なぜstaticのイニシャライザは駄目なんですか?
386デフォルトの名無しさん:2010/10/23(土) 20:43:35
staticイニシャライザがダメなのではなく、staticイニシャライザを明示的に呼び出したり
呼び出されるタイミングに依存するような設計がダメ。
リフレクション使ってるのは確実にそのタイミングで初期化するためじゃないかな。
普通にクラス使う場合はロードされるタイミングが予測できない。
387デフォルトの名無しさん:2010/10/23(土) 20:51:08
>>375
ありがとう。
とりあえずも一回キャスト勉強してみます
388デフォルトの名無しさん:2010/10/23(土) 20:51:14
要は先生もよくわかってないってことですね
389デフォルトの名無しさん:2010/10/23(土) 20:52:43
staticイニシャライザってクラス呼び出すと無条件に呼ばれると学習してたけど?
390デフォルトの名無しさん:2010/10/23(土) 20:55:39
アホ回答者が知ったかしただけなので無視しておk
391デフォルトの名無しさん:2010/10/23(土) 21:05:36
ジャバってアップルにも見放されたんだし、俺たちに残された道はもうドットネットしかないな・・・
392デフォルトの名無しさん:2010/10/23(土) 21:11:32
javaのデスクトップアプリケーションなんか今までに流行ったことあった?
一般消費者はJavaなんてなくても何も困らないし必要な用途なら自分で入れればいいだけ
393デフォルトの名無しさん:2010/10/23(土) 21:22:23
Appleはドトネト標準搭載なのか? Javaは追加機能になるだけだけど。
394デフォルトの名無しさん:2010/10/23(土) 21:22:53
ドットネットならVBでええやん
395デフォルトの名無しさん:2010/10/23(土) 21:34:35
>>392
javaがなくても問題ないのと同じぐらいにappleとmacさらにmac osxがなくなっても一般消費者にとってまったく問題は発生しないと思うよ。
396デフォルトの名無しさん:2010/10/23(土) 21:40:12
ジャバはもう終わったんだし、俺たちみたいな雑魚プログラマにはもうドットネットしか残されていない・・・
397デフォルトの名無しさん:2010/10/23(土) 21:49:58
致命的: サーブレット Clock に例外を割り当てます
java.lang.NoClassDefFoundError: com/techscore/servlet/chapter1/exercise1/Clock (wrong name: Clock)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2733)
(以下略)


これはパス云々の問題なんでしょうか?
ないわけないしweb.xmlも間違っていないはず・・・分からん
398デフォルトの名無しさん:2010/10/23(土) 21:53:51
例外は↓

javax.servlet.ServletException: サーブレットインスタンスを割り当て中のエラーです

399デフォルトの名無しさん:2010/10/23(土) 22:02:28
以下のように書いた JSP を表示させてみてエラーになったらクラスが見えていないので
パスを確認。
<%
new com.techscore.servlet.chapter1.exercise1.Clock();
%>
400デフォルトの名無しさん:2010/10/23(土) 22:44:14
>>399

<%= new com.techscore.servlet.chapter1.exercise1.Clock() %>

これで表示はできました
しかし http://127.0.0.1:8081/test2/clock で表示させようとすると依然上記の例外です
ちなみに下記がweb.xmlです

<web-app>

<servlet>
<servlet-name>Clock</servlet-name>
<servlet-class>com.techscore.servlet.chapter1.exercise1.Clock</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Clock</servlet-name>
<url-pattern>/clock</url-pattern>
</servlet-mapping>

</web-app>
401デフォルトの名無しさん:2010/10/23(土) 22:58:23
クラスファイルに以下の文を足したら上手くいきました

package com.techscore.servlet.chapter1.exercise1;

納得いかないことも多いので調べてみます
>>399さんどうもありがとうございました
402デフォルトの名無しさん:2010/10/24(日) 01:18:43
>>401
いえいえ
403デフォルトの名無しさん:2010/10/24(日) 02:04:06
誰だおまえは
404デフォルトの名無しさん:2010/10/24(日) 14:32:11
Visual J++で書いたコードをGCJでコンパイルできますか?
405デフォルトの名無しさん:2010/10/24(日) 15:22:40
WFC使ってなければコンパイルできると思うけど。
406デフォルトの名無しさん:2010/10/24(日) 15:57:08
ここ数年で出た良書があったら教えてくれ、ジャンルは問わない
407デフォルトの名無しさん:2010/10/24(日) 22:27:06
Java並行処理プログラミング
408デフォルトの名無しさん:2010/10/24(日) 22:57:15
電車男
409デフォルトの名無しさん:2010/10/24(日) 23:53:28
しらねーならだまっときゃいいのに
410デフォルトの名無しさん:2010/10/25(月) 00:27:35
ジャンルは問わない
411デフォルトの名無しさん:2010/10/25(月) 03:40:06
読んでもなくて読めもしないのにダメ出ししたがる天然記念物を釣ります
他人が自分より知識を付ける事への危機感とか
書籍にダメ出しできるレベルの凄腕を演じたいとかがあります
412デフォルトの名無しさん:2010/10/25(月) 04:03:26
デコンパイルJavaかな。あとはscala本とか(Javaじゃn・・まあJavaだな)。
フレームワークの本とか詰まらないと感じるようになってきた。
413デフォルトの名無しさん:2010/10/25(月) 14:43:31
>>407
その本は知らなかった、探してみる

>>412
パイソンのリバースエンジニアリングの方はかなり評判良かったっぽいね
昔ツタヤに置いてあってそういう客層向けかよと敬遠してたわ
414デフォルトの名無しさん:2010/10/25(月) 16:27:11
java で画像を表示すべく、JFreeChart をいろいろといじっていますが
ネットで得られる情報が少なく困っています。
X軸は日付、Y軸は時間とし、指定日付の指定時間帯(ex.10/10 13:45〜14:18 これがたくさんある)を
長方形で塗りつぶしたいんですが、どうしたらいいでしょうか。
XYBlockRenderer で描画してみると、日付と開始時間は指定できますが
長さが指定できないみたいです。
415デフォルトの名無しさん:2010/10/25(月) 21:29:39
わかりました。
416デフォルトの名無しさん:2010/10/26(火) 00:32:28
JSFマネージドBeanに出来て、CDIにできない事ってありますか?
もしかしていらない子なのでしょうか。
417デフォルトの名無しさん:2010/10/26(火) 01:10:37
-0と0を見分ける方法をおしえてください。
if文だと同じとみなされ ==だとダメのようです。
418デフォルトの名無しさん:2010/10/26(火) 01:24:55
>>417
意味がわからない。コードさらせ。
419デフォルトの名無しさん:2010/10/26(火) 01:31:30
int x = 9
int [] dots = {6,x,8}
これはコンパイルされるのに

int [][] books = new int[3][]
int aNumber = 7
books[0] = aNumber
これがエラーになるのはなぜ?
参考書によるとint値ではなくint型配列を代入しないと不可って書いてあるけど
420デフォルトの名無しさん:2010/10/26(火) 02:51:16
books[0][0] ・・・・ただのint
books[0]   ・・・・intの1次元配列
books    ・・・・intの2次元配列
421デフォルトの名無しさん:2010/10/26(火) 02:51:43
前半と後半全然関係ないじゃん
422デフォルトの名無しさん:2010/10/26(火) 03:11:56
int[] dots;
dots = new int[3];
int x = 9;
dots[0] = 6;
dots[1] = x;
dots[2] = 8;
これは正常にコンパイルされるよ

int [][] books;
books = new int[3][];
int a = 7;
books[0] = a;
これがコンパイルされない。
参考書によるとint値ではなくint型配列を代入しなければならないので不可って書いてあるけど
さらに言うと

int[] number;
number = new int[6];
books[0] =number;
これはコンパイルおk。
参考書によるとnumberはint型配列なのでおkって書いてある
423デフォルトの名無しさん:2010/10/26(火) 03:59:46
自分で答え言ってるじゃねーかw
424デフォルトの名無しさん:2010/10/26(火) 10:12:28
>>417
「算術上見分けられてはならない」ってのがIEEE754要件だったと思うから
たぶんフツーの方法では -0.0 と 0.0 の区別は無理だな。

割り算の分母に使って答えの無限大の正負を調べるとか、
ビットパターンを Double.doubleToRawLongBits() でlong化して
最上位ビットで判定するとか、

一意にソートしたいだけなら Double.compare() で十分

※おおぅ、いつのまに Math.copySign() なんて便利な物が…
425417:2010/10/26(火) 10:16:41
double a = Math.signum(値);
をやったとき、aは1.0, -1.0, 0.0 ,-0.0のどれかになるのですが、
このaが-0.0か0.0のどちらであるかを判別したいのです。
現状
if(a == -0.0){
System.out.println("-0")
}
なのですが、これは aが0.0でも-0.0と同じとみなされてしまいます。
なにかいい方法ありますでしょうか。
426デフォルトの名無しさん:2010/10/26(火) 10:28:41
ああごめん
屁こいちゃった
427デフォルトの名無しさん:2010/10/26(火) 11:01:14
ギョムスレのスカトロさん?
428デフォルトの名無しさん:2010/10/26(火) 17:51:23
charはチャー?それともキャラ?ですか
429デフォルトの名無しさん:2010/10/26(火) 18:05:00
俺は昔はチャーと読んでいたが最近はキャラと読むようにしている
どっちでも通じるのでどっちでもいいよ
430デフォルトの名無しさん:2010/10/26(火) 18:05:36
じゃあイールドは何て読む?
431デフォルトの名無しさん:2010/10/26(火) 18:12:25
432デフォルトの名無しさん:2010/10/26(火) 18:23:10
クラスの登場人物の確認をさせて下さい。
フィールド、コンストラクタ、メソッドの3つしかなくて、
フィールドは、クラス変数(static)、インスタンス変数。
メソッドは、クラスメソッド(static)、インスタンスメソッド。
これでいいでしょうか。
433デフォルトの名無しさん:2010/10/26(火) 18:33:43
クラスもクラスの中に登場できます

http://java.sun.com/docs/books/jls/third_edition/html/names.html#6.4.3
> The members of a class type are classes, interfaces, fields, and methods.
434デフォルトの名無しさん:2010/10/26(火) 18:39:27
そういえばあとインスタンスイニシャライザとかスタティックイニシャライザもあります
435デフォルトの名無しさん:2010/10/26(火) 18:46:07
System.out.format( "表示: age=%d name=%s\n" ,age, name);
こういうのがあるみたいですが
System.out.println("〜")よりも使いやすく感じるのですが、
一般的に使用されているんでしょうか。
436デフォルトの名無しさん:2010/10/26(火) 18:54:21
一般的の定義がよく分からんが普通に使ってるだろ。
そもそも System.out 使ってる時点でサーバサイドでもスタンドアロンでもない
単なるコンソールアプリだろうが。
437デフォルトの名無しさん:2010/10/26(火) 18:59:19
i18n使え
438デフォルトの名無しさん:2010/10/27(水) 00:08:54
並行処理プログラミングという本で
「コンストラクト中にthis参照を逸脱させてはならない」
「無名クラスは暗黙のうちにthis参照を持っているので意識しないうちにthis参照が逸脱してしまう場合がある」
と書いてあったんだがまったく意味わからん!

↓ソースコード↓
439438:2010/10/27(水) 00:10:13
public class ThisEscape {
 public ThisEscape(EventSource source) {
  source.registerListener(
   new EventListener() {
    public void onEvent(Event e) {
     doSomething(e);
    }
   }
  );
 }
}
440デフォルトの名無しさん:2010/10/27(水) 00:16:21
無名クラスっていうのは
private static class 名前は秘密 implements EventListener {
 ThisEscape 親のthis;//インスタンス作成時に親のthisが入る
 public void onEvent(Event e) { doSomething(e); }
}
こういうクラスを生成するシンタックスシュガー
441438:2010/10/27(水) 00:16:24
これってEventSource型のsourceインスタンスを別スレッドも参照していて、
意図せずに別スレッドも無名クラスを介してthis参照が取得できてしまう。
さらにちゃんとコンストラクトされないうちに参照される恐れもあるって考えでいいんですか?

分かる人教えてくらはい
442デフォルトの名無しさん:2010/10/27(水) 00:24:15
スレッドとか関係ないんじゃないの
たとえばregisterListenerメソッド内ですぐにonEventがコールバックされたとすると
onEventの中でthisを使ってうっかり未初期化のフィールドを使ってしまったりする恐れがある
443デフォルトの名無しさん:2010/10/27(水) 00:34:31
マルチスレッド環境においてコンストラクタ内で this を別スレッドに見せてしまうと、
自身が初期化され終わっていない状態で別のスレッドから何らかの操作が実行
されてしまう可能性がある。

という話ではないかな。
マルチスレッドでなくても >>442 みたいなのもあるんだけど、問題分析のしにくさで
言えばマルチスレッド化で起きた方が死ねる。
444デフォルトの名無しさん:2010/10/27(水) 00:37:06
マルチスレッドじゃないなら、onEventを自分以外の誰が呼べるというのか。
445デフォルトの名無しさん:2010/10/27(水) 00:40:41
EventSource.registerListener
をそういう風に作れば呼べるだろ。現実ないだろうけど
446デフォルトの名無しさん:2010/10/27(水) 00:42:39
登録と同時に START_LISTENING みたいなイベント発生させる実装ならありうるよ。
447デフォルトの名無しさん:2010/10/27(水) 00:47:40
SJC-Pって名前変わりました?
448438:2010/10/27(水) 01:08:46
ちなみにこのようなコードに変更すれば逸脱は防げるそうです。
・・・が、イマイチピンときません。

↓変更後のコード↓
------------------------------------------------
public class SefeListener {

 private final EventListener listener;

 private SafeListener() {
  listener = new EventListener() {
   public voie onEvent(Event e) {
    doSomething(e);
   }
  };
 }

 public static SafeListener newInstance(EventSource source) {
  SafeListener safe = new SafeListener();
  source.registerListener(safe.listener);
  return safe;
 }

}
---------------------------------------------------------
449デフォルトの名無しさん:2010/10/27(水) 01:14:06
どこがピンとこねーのかわからん
450デフォルトの名無しさん:2010/10/27(水) 01:14:12
バグの原因には成り得るが、声高らかに禁止を叫ぶほどでもない。
各自気をつけましょう程度の話で正直ドウデモイイ事だよ。
451デフォルトの名無しさん:2010/10/27(水) 01:15:55
バグだらけのコード書いてそうなコメントだことw
452438:2010/10/27(水) 01:19:03
ミスです・・・。
逸脱(公開)は防げる→×
不完全な状態での逸脱(公開)を防げる→○

内部クラスを公開したときは、その外部クラスは必ず公開されるようですなー。

結局>>439のコードの問題点が分からないんだがな・・・

どういったときに問題なのか具体的にコードを書いていただけると助かるッスー。





453デフォルトの名無しさん:2010/10/27(水) 01:21:46
おまえじゃまだ早い
454デフォルトの名無しさん:2010/10/27(水) 01:25:10
>>452
死ねよ雑魚が
455438:2010/10/27(水) 01:25:44
ってことはこのソースコード見て気付かないようじゃまだまだって事か・・・。

スレ汚しちゃってサーセン。
レスくれた人ありがとうございました。
456デフォルトの名無しさん:2010/10/27(水) 01:27:48
>>454
急にどうしたんだよ
おなかでもいたいの?
457デフォルトの名無しさん:2010/10/27(水) 01:30:53
458デフォルトの名無しさん:2010/10/27(水) 01:31:08
>>448
newInstanceメソッドが、SafeListener safe = new SafeListener(); としてるから
SafeListenerの生成中にdoSomething(e);が呼び出される事はなくなるよね。

EventSourceは他のスレッドで既に使用されている可能性があるとして、
>>439はリスナー供給側のスレッドがコンストラクタ内で自身の参照を渡している(自身を生成中に)
>>448はリスナー供給側のスレッドがリスナーを生成し終わった後で渡している。
459デフォルトの名無しさん:2010/10/27(水) 01:36:25
おまえじゃまだ早い
460デフォルトの名無しさん:2010/10/27(水) 01:44:04
おまえじゃまだ早い ≒ もうめんどくさい
461デフォルトの名無しさん:2010/10/27(水) 01:49:53
>>452はゴミ屑
462デフォルトの名無しさん:2010/10/27(水) 01:50:55
このスレは低能ばかりなんですか?
463デフォルトの名無しさん:2010/10/27(水) 02:00:37
class TestClass<T> {
static <String> name3;

public TestClass(T name3) {
this.name3 = name3;
}
public static <T> T getName3() {
return name3; //ココでエラー
}
}
どこが悪いのでしょうか
464デフォルトの名無しさん:2010/10/27(水) 02:15:39
これなら出来たぞい

public class TestClass<T> {
private T name3;

public TestClass(T name3) {
this.name3 = name3;
}

public T getName3() {
return name3;
}
}

インスタンスを生成するときに指定する<T>は、インスタンスに属するものだから
staticをつけてクラスに属させようとしてもコンパイルエラーになるっぽいよ。

クラスに<T>と宣言しておいて、メソッドにも同じ名前で<T>と宣言しちゃうと、
別の型と認識されちゃうみたいね
465デフォルトの名無しさん:2010/10/27(水) 02:22:09
>>464
うん。インスタンスメソッドは、そうやればいいみたいですね。
staticメソッドのときは、
public static <T> T getName3() { //<T>がいるみたいです
こういうふうに指定するらしくて、
しかしreturnでエラーになるんですよね。
static <String> name3;の書き方が、間違っているような気がするんですけど。
466デフォルトの名無しさん:2010/10/27(水) 02:42:59
staticメソッドで<T>を使えるのは始めて知ったw

でもstaticってクラスに属すから、そのクラスに一つだけしかないわけでしょ?
だから、staticフィールドにジェネリクスを使っても意味がないから、使えないようになってんじゃなかろうか。

ジェネリクスを使ったstaticメソッドを使った例にこんなのがあったよ

static <T> void generics(T value) {
    System.out.println(value);
}

ttp://wisdom.sakura.ne.jp/programming/java/java5_1.htmlより
467デフォルトの名無しさん:2010/10/27(水) 02:48:55
ttp://homepage2.nifty.com/magicant/programmingmemo/genericsjavavscs.html

ここにstaticフィールドは使えないって書いてあった・・・
468デフォルトの名無しさん:2010/10/27(水) 02:54:26
public static <T> T convert(Class<T> type, String value);

個別に型変換メソッド作り分けるのがめんどくさい時によくやる。
469デフォルトの名無しさん:2010/10/27(水) 02:59:10
そもそも継承もしてないのにTとか使えんのか
470デフォルトの名無しさん:2010/10/27(水) 03:12:26
>>465です
なんだかstaticの場合は難しそうというのはわかりました。
ありがとうございました
471デフォルトの名無しさん:2010/10/27(水) 05:43:03
>>466
ちなみにこんな使いかたならたまにやる。

static <T> List<T> getAll (Class<T> clazz)

呼び出すときは、
List<Bean> list = getAll(Bean.class); 
みたいになり、呼び出すとき型パラメータを渡さなくてよい。
引数により型が自明の場合は、指定しなくてよいみたい。
472デフォルトの名無しさん:2010/10/27(水) 08:16:51
>>463
型パラメータTがStringってきまってるならgenericにする必要がないじゃん
473デフォルトの名無しさん:2010/10/27(水) 08:49:48
genericsってキャストを書かなくて済むだけの飾りだから。
不可解な挙動があれば、Tのところを全部Objectと読み替えれば理解できる。
474デフォルトの名無しさん:2010/10/27(水) 11:04:38
無名クラスでつまづいちゃってるヤツは>>342読め
475デフォルトの名無しさん:2010/10/27(水) 13:05:54
おまえじゃまだ早い
476デフォルトの名無しさん:2010/10/27(水) 13:15:42
>>474
こんな恥ずかしいコードは書くなってことか
477デフォルトの名無しさん:2010/10/27(水) 13:55:46
DirContextでldap検索したとき、検索件数を取得するにはNamingEnumerationをhasMoreする以外に簡単に取得する方法はあるでしょうか?
478デフォルトの名無しさん:2010/10/27(水) 15:44:37
javaもemacsで書いてますがeclipseってどの辺がいいの?
479デフォルトの名無しさん:2010/10/27(水) 20:43:03
ajaxって流行ってんの?
480デフォルトの名無しさん:2010/10/27(水) 20:57:10
流行ってるって言うか、ブラウザ側に組み込まれてる機能だから必須になりつつある。
481デフォルトの名無しさん:2010/10/27(水) 21:04:34
秋の基本情報技術者に出てきたな
482デフォルトの名無しさん:2010/10/27(水) 21:32:46
アジャコングとどう違うんですか?
483デフォルトの名無しさん:2010/10/27(水) 22:47:34
どう違うんでしょうね
484デフォルトの名無しさん:2010/10/27(水) 22:51:05
swingでラジオボタンを縦に並べたいのですが、どうすればいいでしょうか。
485デフォルトの名無しさん:2010/10/27(水) 22:51:32
わくわく
486デフォルトの名無しさん:2010/10/27(水) 22:52:25
どうすればいいのでしょうね
487デフォルトの名無しさん:2010/10/27(水) 23:38:24
誠に恐れ入りますが私には分かりかねます
488デフォルトの名無しさん:2010/10/27(水) 23:40:46
AjaxとRADIUSは区別がつかんな
489デフォルトの名無しさん:2010/10/27(水) 23:43:26
もっとブラウザが増えて滅茶苦茶になるまでは規格統一しません
490デフォルトの名無しさん:2010/10/27(水) 23:52:26
いちいち無知を晒すな
491デフォルトの名無しさん:2010/10/28(木) 00:16:55
あー恥ずかしい
492デフォルトの名無しさん:2010/10/28(木) 08:49:27
PGとしてベストプラクティスなのはどっち?

仕様でリストXの件数は最高3件である

処理的に配列かリストを使う必要がある
この処理で各値の削除、入れ替え操作はない。初期値を参照するだけ

ランダムアクセスの出来る配列のが断然処理速度的に有利だが、メンテナンス性を考えるとリストのがいい
だが、仕様でリストXが4件以上になる事は極めて考え難い(1%もないレベル)

運用的に終日使われるので処理速度は重視されると言うのはある

ぶっちゃけ配列もリストも使わずに3つ変数用意すればいいのだが、
それは開発基準により不可能である

俺は配列派なんだけど、どう思う?

493デフォルトの名無しさん:2010/10/28(木) 09:45:33
>>492
定数化されてるコレクションならこういう方法がある。

List<String> list = new ArrayList<String>(3);
// list.add(hogehoge); x3
List<String> fixedList = Collections.unmodifiableList(list);
494デフォルトの名無しさん:2010/10/28(木) 09:48:15
あとArrayListはランダムアクセス可能だから。
線形リストはLinkedListって別のクラス。
495デフォルトの名無しさん:2010/10/28(木) 09:49:26
List使っておいて速度的に問題出たら配列に切り替えるでいいんじゃね?
496デフォルトの名無しさん:2010/10/28(木) 09:57:18
こういうのはマイクロベンチマークで100倍の違いが出たとしても
1トランザクションあたりの速度差は0.1%も違わないものだ。
余程アクセス頻度が高くない限り。
497デフォルトの名無しさん:2010/10/28(木) 10:43:29
>>493
有難い
参考になります


>>495
俺もそれを考えてた
配列から溢れたらリスト処理って手段


>>496
パフォーマンスは良いに越した事はないんだけどね
調べてみるわ
thx
498デフォルトの名無しさん:2010/10/28(木) 11:00:22
>>495はそういう意味じゃないと思うよたぶん
もしも実際遅くてプロファイルとってみたらその部分が原因なら直せというだけのこと
パフォーマンスチューニングの基本
499デフォルトの名無しさん:2010/10/28(木) 12:16:10
>>498
書き込んだ後に気付いた
TRY & ERRORって事ね
実機環境に気軽に触れないから難しいんですよね
とりあえず、有り難う
500デフォルトの名無しさん:2010/10/28(木) 12:58:44
作ってる途中で細かいことを気にする暇があったらさっさと形にして
ボトルネックの改善に時間を使った方が結果的に速くなります。
501デフォルトの名無しさん:2010/10/28(木) 13:03:29
意思伝達の質的な障害

* 話し言葉の発達に遅れがある。または全く話し言葉がない。
o (例)クレーン現象[5]
* 言語能力があっても、他人と会話をし続けることが難しい。
o (例)一問一答の会話になってしまう。長文で会話ができない。
* 同じ言葉をいつも繰り返し発したり、独特な言葉を発する。
o (例)人と会話をする際に同じ返事や会話を何度もする。
502デフォルトの名無しさん:2010/10/28(木) 13:43:09
>>500
アジャイルな開発として真に受け止めます

>>501
アジャイルな開発として真に受け止めます
アジャイルな開発として真に受け止めます
503デフォルトの名無しさん:2010/10/28(木) 18:46:30
>>492
>PGとしてベストプラクティスなのはどっち?
これが味噌だと思うけど、プラクティスなら配列を使ったこと無ければ
配列を、Listを使ったこと無ければListをだろうけど、
システムサイドに立てば、492の条件から判断して
私なら配列で行きますね。
504デフォルトの名無しさん:2010/10/28(木) 19:03:41
どっちでも良い局面で無駄にヒープのフラグメント発生させたくないから配列だな。
メンテナンス性って?
505デフォルトの名無しさん:2010/10/28(木) 19:08:16
RESTって何なの?実態が良く解らん

ちょっと勉強してみようかなと興味を持ったんだが、誰か背中を押してくれ
506デフォルトの名無しさん:2010/10/28(木) 19:25:16
ただのあるべき論集。
507デフォルトの名無しさん:2010/10/28(木) 19:32:45
>>503
ベストプラクティスって表現がダメダメでした。すいません
ご意見感謝致します。


>>504
成程
細かい視点で説得力ある意見ですね
大変参考になります
メンテナンス性とは、例えば仕変により配列に入る枠が今以上に必要になった時です
配列だとソースを修正する必要がありますがリストだと一切修正不要のコードで実現できるので
メンテナンスは不要
つまりメンテナンス性はリスト処理のが良いとなります
508デフォルトの名無しさん:2010/10/28(木) 19:38:33
public class Test1028{
public static void main(String[] args){
int a = Integer.parseInt("1");
int b = Integer.parseInt("2");
System.out.println(a + b);
}
}

これがコンパイルエラーになります。
parseIntを見つけられないと。
スペルや大文字小文字など,間違っているところはないと思うのですが…
509デフォルトの名無しさん:2010/10/28(木) 19:43:54
JDK 1.0 とか使ってんじゃね。
510デフォルトの名無しさん:2010/10/28(木) 20:01:33
>>509
javac 1.6.0_18です。
511デフォルトの名無しさん:2010/10/28(木) 20:05:43
自作のIntegerクラスがパッケージ(同一ディレクトリ)内にあって邪魔してるとか?
512デフォルトの名無しさん:2010/10/28(木) 20:08:43
>copy con Test1028.java
public class Test1028{
public static void main(String[] args){
int a = Integer.parseInt("1");
int b = Integer.parseInt("2");
System.out.println(a + b);
}
}
^Z
1 個のファイルをコピーしました。

>javac Test1028.java

>java Test1028
3

コードは問題なし。コンパイル環境の問題。
513デフォルトの名無しさん:2010/10/28(木) 20:13:12
>コンパイル環境の問題
だからそれを解決してください
514デフォルトの名無しさん:2010/10/28(木) 20:14:37
OSを再インストールしてJDK入れなおしてちゃんとした入門書に沿ってやりなおす
今出てる情報からはそれ以上の解決法はありません
515508:2010/10/28(木) 20:19:11
>>511が正解でした。
いや〜,「Integerクラスを作っちゃダメよ!」って,Integer.javaをコンパイルするときに
コンパイラが注意してくれると,ありがたいんですけどね。

みなさん,ありがとうございました。
ちなみに,>>513は私ではありません。
516508:2010/10/28(木) 20:24:10
あっ,でも,java.lang.Integer.parseInt()とすれば,作業ディレクトリに自作のInteger.classが
あっても,parseInt()を使えるんですかね。。
517デフォルトの名無しさん:2010/10/28(木) 20:53:48
音楽CDを再生したいのですが、どのクラスを使用すればよいのでしょうか?
MIDIやWAVはサンプルはあったのですが、音楽CDがわかりません。
518デフォルトの名無しさん:2010/10/28(木) 21:02:05
>>516
おまえじゃ無理
519デフォルトの名無しさん:2010/10/28(木) 21:03:08
J質スレ名物のおまえじゃ無理音頭
520デフォルトの名無しさん:2010/10/28(木) 21:12:03
そもそもなぜ自前のIntegerクラスを作ったのか
小一時間問い詰めたい
521デフォルトの名無しさん:2010/10/28(木) 21:28:47
JDK 1.0 とか使ってんじゃね。
522デフォルトの名無しさん:2010/10/28(木) 21:44:31
>>505
SOAPに限界を感じた人向け。
523デフォルトの名無しさん:2010/10/28(木) 22:17:09
>>516
おまえじゃ無理
524デフォルトの名無しさん:2010/10/28(木) 22:54:56
この人"おまえじゃ無理"って言われたのが相当悔しかったんだろうなぁ
525デフォルトの名無しさん:2010/10/28(木) 23:03:06
>>516
おまえじゃ無理(笑)
526デフォルトの名無しさん:2010/10/28(木) 23:09:18
コードは問題なし。コンパイル環境の問題。
527デフォルトの名無しさん:2010/10/28(木) 23:44:45
用語のことですが、
インスタンスとオブジェクトですが、
みなさん、どっちで呼んでいますか。
それとも使い分けとかありますか。
528デフォルトの名無しさん:2010/10/28(木) 23:46:11
SOAPとCORBAどう違いますのん
529デフォルトの名無しさん:2010/10/28(木) 23:48:32
>>527
クラス自体がオブジェクトとして扱える言語とかあるから、
絶対インスタンスじゃないとまずいのはインスタンスと呼ぶけど、
他の言語だとインスタンスじゃなくてもいけそうな状況では、
Javaではインスタンスしかいけない場合もオブジェクトと呼ぶな。
530デフォルトの名無しさん:2010/10/28(木) 23:53:05
クラスから作られたオブジェクトがインスタンス。
「○○クラスのインスタンス」というときに使うがJavaではインスタンスではないオブジェクトは存在しないので
どっちでもいい。
531デフォルトの名無しさん:2010/10/28(木) 23:54:01
Thu, 28 Oct 2010 23:44:54 +0900
この形式の日時をunix timeに変換するにはどうしたらいいでしょうか?
532デフォルトの名無しさん:2010/10/29(金) 10:53:11
long unixTime = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss ZZZZ", Locale.US).parse("Thu, 28 Oct 2010 23:44:54 +0900").getTime() / 1000;
533デフォルトの名無しさん:2010/10/29(金) 15:42:42
WEBコンテナとブラウザでケルベロス認証した場合、servletでケルベロス認証したときのIDなどの情報を取れるものでしょうか?
534デフォルトの名無しさん:2010/10/29(金) 20:36:24
>>527
口で言った場合 Object クラスのことなのかオブジェクトのことなのか
わかりにくくなることを懸念して、インスタンスと言うようにしてる。
だがそもそも声に出して誰かと会話することなどないのだった。
535デフォルトの名無しさん:2010/10/29(金) 21:42:15
全クラスが泣いた
536デフォルトの名無しさん:2010/10/29(金) 21:55:28
Threadって、どういう場面で使うんでしょうか。
イメージできないんですけど。教えて下さい。
537デフォルトの名無しさん:2010/10/29(金) 22:13:15
同時に複数の処理をしたい場面で使います
538デフォルトの名無しさん:2010/10/29(金) 23:37:12
一人用麻雀ゲームのようなものをGUIでつくろうと考えているのですが
あらかじめ用意した牌の画像を読みこんでその画像をドラッグ&ドロップで
自分の手牌と想定した14個の場所に置けるものを作ろうと考えているのですが
どのようなクラスやメソッドを使えばいいのでしょうか?
それと制限として牌の数は各4個までしか使えない、というのも考えています。
539デフォルトの名無しさん:2010/10/29(金) 23:39:38
CanvasとMouseListenerとMouseMotionListenerを使えばいいんじゃない
540デフォルトの名無しさん:2010/10/30(土) 00:21:35
httpの非同期通信が、簡単にできるライブラリってある?
541デフォルトの名無しさん:2010/10/30(土) 01:02:53
URLConnection
542デフォルトの名無しさん:2010/10/30(土) 10:21:20
Java Debug Interfaceの勉強したいのですが、お勧めの本は、ありませんか?
普通のJavaの入門書だとJDIを扱うことはないと思うので・・・
543デフォルトの名無しさん:2010/10/30(土) 12:24:03
オラクル、GoogleがJavaコードを“まるごとピーコ”と主張
http://hato.2ch.net/test/read.cgi/news/1288363006/
544デフォルトの名無しさん:2010/10/30(土) 12:57:02
Servletを一通り勉強し終えた俺に一言
545デフォルトの名無しさん:2010/10/30(土) 13:07:01
まだまだ次があるぜ (・∀・)!
546デフォルトの名無しさん:2010/10/30(土) 13:53:29
WindowsのAWT実装どうなってるかHWNDの隠蔽まわりとかの話を重点的に要約してくれ
547デフォルトの名無しさん:2010/10/30(土) 16:31:58
助けてください!今週からjavaの勉強を始めて市松模様の図形をつくりたいのですがうまくできません
何が違うのか教えてください。お願いします。
public class Checkers {
public static void main(String args[]) {
int row=7; // 行数
col=9; // 列数

// 表示
for( int i = 1; i <= row;i++ ) {
for( int j = 1; j <= col; j++ ) {
if ( (i + j) % 2 == 0) {
System.out.println("□");
} else {
System.out.println("■");
}
}
System.out.println();
}
}
}
548デフォルトの名無しさん:2010/10/30(土) 16:41:00
> System.out.println("□");
System.out.print("□");

> System.out.println("■");
System.out.print("■");
549デフォルトの名無しさん:2010/10/30(土) 16:50:12
>548
ありがとうございます!基本的なことなので以後気をつけます・・・。
550デフォルトの名無しさん:2010/10/30(土) 17:09:14
>>544
フレームワークスパイラルか転職の分岐点
551デフォルトの名無しさん:2010/10/30(土) 17:11:24
フレームワークスパイラルって何?
552デフォルトの名無しさん:2010/10/30(土) 21:11:07
Java入門が終わったのでGUIに進みたいと思いますが
AWTとSWINGについて
1.AWT、SWINGの順番にする
2.SWINGだけする
3.それ以外
どうするのが良いと思いますか
553デフォルトの名無しさん:2010/10/30(土) 21:11:12
フレームワーク・・・アプリケーション開発を支援する枠組
スパイ・・・・・・・・・・第五列
ラル・・・・・・・・・・・・青い巨星
554デフォルトの名無しさん:2010/10/30(土) 21:17:30
>>552
Swingメインで必要ならAWTも勉強がいいと思うよ。
555デフォルトの名無しさん:2010/10/30(土) 21:19:06
Swing だけで良いんじゃね。
10 年前には AWT バリバリ使ってたけどもう AWT 固有の知識を使うことがない。
556デフォルトの名無しさん:2010/10/30(土) 21:20:24
SWINGはAWTを使ってるけど、「AWT 固有の知識」というのは具体的になんのこと?
557デフォルトの名無しさん:2010/10/30(土) 21:24:22
FileDialog や TextArea、ScrollBar あたり。
558デフォルトの名無しさん:2010/10/30(土) 21:33:11
>>555,557
ジャバ7(jdk1.6u10)からはそうとも言えない。
559デフォルトの名無しさん:2010/10/30(土) 21:51:11
>>558
kwsk頼む
560デフォルトの名無しさん:2010/10/30(土) 21:55:38
Java7 延期で出たのは u12 だし、u10 も u12 も Java7 とは言わないし。
561デフォルトの名無しさん:2010/10/30(土) 23:10:07
質問です。
事情があってJAVAを勉強する事になったのですが、どうせなら自分でアプリケーションを作って勉強したいと思っています。
しかしJAVAの利点が最も生かされるアプリケーションはどんなものなのでしょうか?
私はC/C++(慣れてる)、VB(慣れてる)、C#(かじった程度)なら使えるので
JAVAがそれらに勝てる利点を活かしたいと思います。

・クライアントアプリケーション
どう考えても画像処理(Directx)を含めた処理速度はC++のが上だし、
作りやすさではC#のような気がします。

・サーバープログラム
処理速度を要求されるものならC++だろうし、ウェブシステムならPHPとかのような気がします。

・ブラウザで動くアプレット
どう考えてもFlashとかシルバーライトのような気がします。

JAVAでしか出来ない。JAVAが一番有利。JAVAを使うのが最適。
といったアプリケーションはどんなものでしょうか?
562デフォルトの名無しさん:2010/10/30(土) 23:11:17
ゲーム系かよ
563デフォルトの名無しさん:2010/10/30(土) 23:11:45
はいはいサーバーサーバー
理由は、みんな使ってるから
564デフォルトの名無しさん:2010/10/30(土) 23:12:46
専門学校に居るような落ちこぼれでもなんとかなるくらい簡単な点

メリットなんてこのくらいだろ
565デフォルトの名無しさん:2010/10/30(土) 23:18:10
生産性じゃね、Javaの利点って
GUIにしてもサーバーにしてもC++では手間がかかりすぎるというか
566デフォルトの名無しさん:2010/10/30(土) 23:20:50
でもJavaより生産性の高い言語は他にもあるか・・
567561:2010/10/30(土) 23:25:33
あえて挙げるなら、WindowsでもMACでも動く何かの便利ツールといった感じでしょうか?
.NETframeworkとかは建前はマルチプラットフォームを唱えながらMacじゃあんまり使われてないみたいですし。
568デフォルトの名無しさん:2010/10/30(土) 23:33:13
boostって肥大化しすぎでいらないですよね?
569デフォルトの名無しさん:2010/10/30(土) 23:41:02
>>567
今後もMacでJavaが動くかは微妙な情勢だが。
570デフォルトの名無しさん:2010/10/30(土) 23:42:21
DB設計もそうだし、オブジェクト設計もそうだし
そのへんの一流の技術者は、ザラにはいない。
言語云々の話ではないかな。
571デフォルトの名無しさん:2010/10/30(土) 23:51:57
boost,stlすらも使えないで「c/c++やってます」と言うナンチャッテは非常に多い(特に日本では)
572561:2010/10/31(日) 00:28:15
調べたところdocomoの携帯のiアプリを作成出来るのが利点のひとつかもしれませんね。

他はやっぱり知識として貯めこむ程度で、一番よく使われているであろう用途のサーバープログラムの
簡単なものを作成トライしてあとは軽く流すことにします。
573デフォルトの名無しさん:2010/10/31(日) 01:04:12
javaのxmlって他の言語よりも難しくありませんか?

xmlをパースした後、パースした結果ってどこに入れますか?
574デフォルトの名無しさん:2010/10/31(日) 02:09:18
File file = new File("c:\\temp01\\ディレクトリ1");
if (file.exists()) {
if (file.delete()) {
System.out.println("ファイルを削除しました");
} else{
System.out.println("ファイルの削除に失敗しました");
}
} else {
System.out.println("ファイルが見つかりません");
}
を実行したらディレクトリ1の削除に失敗します。
ディレクトリ1がアルフォベットのディレクトリなら削除できるのですが
日本語だと削除できません
どうしたらいいでしょうか。
575デフォルトの名無しさん:2010/10/31(日) 02:10:02
>javaのxmlって他の言語よりも難しくありませんか?
ありません。W3Cに沿ってればみんなだいたい一緒だよ

>xmlをパースした後、パースした結果ってどこに入れますか?
DOM なら Document。SAX ならお好きにどうぞ。
576デフォルトの名無しさん:2010/10/31(日) 02:38:17
>>574です。
自己解決しました。ディレクトリの中のファイルを先に消さないと
ディレクトリは消せないんですね。
577デフォルトの名無しさん:2010/10/31(日) 09:58:50
「6 桁以下の正の整数 n を入力し、n 以下の素数がいくつあるかを出力するプログラムを作成してください。
複数のデータセットが与えられます。各データセットに n が1行に与えられます。入力の最後まで処理して下さい。」
上記の問題を解こうと思ってソースを書いてみたのですが、正しい結果が得られないようです。
どこに問題があるのでしょうか、ご教示願います。

import java.io.*;
import java.util.*;

class Main{
public static void main(String[] args){
int data,cnt;
Scanner sc = new Scanner(System.in);

while(sc.hasNext()){
data = sc.nextInt();
cnt = 0;
for(int i=2; i<=data; i++){
for(int x=2; x<=i; x++){
if(x==i){
cnt+=1;
break;
}else if(i%x==0){
break;
}
}
System.out.println(cnt);
}
}
}
578デフォルトの名無しさん:2010/10/31(日) 10:38:12
>>573
パースってDOMだよね?
DocumentBuilder オブジェクトに parse でファイルとか与えると Documentオブジェクトが返ってくるだけの仕組みなんじゃないの?
579デフォルトの名無しさん:2010/10/31(日) 10:57:01
Javaをはじめようと思うんですけど、
なんかオラクルが絡んできたみたいで迷っています。
いい感じに普及してきたと思ってたのに悪どい商売に巻き込まれそうで・・
Javaって未来ありますか?
580デフォルトの名無しさん:2010/10/31(日) 11:03:24
趣味か?
デスクトップアプリ作るならオラクルとか関係なく終わってるよ
581デフォルトの名無しさん:2010/10/31(日) 11:12:38
自社でAndroidアプリケーションの開発が始まりそうなんです
582デフォルトの名無しさん:2010/10/31(日) 11:18:56
じゃあやれよ。プログラミング言語くらい複数出来て当たり前。
他の言語できるならJavaくらい楽勝だろ。プログラミング未経験ならご愁傷様。
583デフォルトの名無しさん:2010/10/31(日) 11:26:01
まだ、やめようよって言える段階だから足突っ込んだ事で今後自社が損するような事態にならないかなと
gifの時みたいな
584デフォルトの名無しさん:2010/10/31(日) 11:40:43
ならねぇよ。Oracle独占になったらIBMが黙っちゃ居ない。
585デフォルトの名無しさん:2010/10/31(日) 11:44:59
黙らなかったところでIBMが勝手にJavaを拡張して提供するようなことはできないんだけどな
586デフォルトの名無しさん:2010/10/31(日) 11:48:42
バカなの?
587デフォルトの名無しさん:2010/10/31(日) 12:19:36
むしろ Oracle の Java へのリソース投資が薄れ IBM の影響力の方が強くなるだろうな。
588デフォルトの名無しさん:2010/10/31(日) 13:31:40
c99のコンパイラどれがいいですかね・・・・?
x86,amd64,armのコンパイラをそれぞれ希望します。
589デフォルトの名無しさん:2010/10/31(日) 14:38:28
Ubuntu 10.04上で次のようなプログラムを動かしているのですが、音が鳴りません。
たまに鳴ることもあるのでスピーカの不調等ではないと思うのですが、原因としては何が考えられるでしょうか。
よろしくお願いします。


import java.util.*;
import java.io.*;

public class Test {
public static void main(String[] args){
java.applet.AudioClip clip = java.applet.Applet.newAudioClip(Test.class.getResource("hoge.mid"));
clip.play();
}
}
590デフォルトの名無しさん:2010/10/31(日) 14:39:57
再生が終わるまでThread.sleepしてみたらどうだろう
591デフォルトの名無しさん:2010/10/31(日) 18:57:09
saxでxmlをパースしているサンプルコード無いですか?
stackを使っているサンプルは見たのですが、他のもみたいな〜
592デフォルトの名無しさん:2010/10/31(日) 20:02:10
中級者以上って何を勉強してんの?
593デフォルトの名無しさん:2010/10/31(日) 20:23:22
彼氏を女みたいにイかせる方法
594デフォルトの名無しさん:2010/10/31(日) 21:27:35
>>589
Midi音源ないんじゃないの?WinGroove入れてみるとかしないとだめだね
595デフォルトの名無しさん:2010/10/31(日) 22:00:53
XQueryなら5年ほど前に使ったことある
596デフォルトの名無しさん:2010/10/31(日) 22:49:36
Eclipseで実行形式のファイルを作成する方法を教えてください
597デフォルトの名無しさん:2010/10/31(日) 22:51:15
祈る
598デフォルトの名無しさん:2010/10/31(日) 22:58:50
そんな面白くないこと言ってる暇があるなら早く教えてください
599デフォルトの名無しさん:2010/10/31(日) 23:01:24
>>596
やったことないけど、たぶんこれでいけるよ
http://www.db.is.kyushu-u.ac.jp/rinkou/javaintro/cdt.html
600デフォルトの名無しさん:2010/10/31(日) 23:06:56
それってEclipseを使ってるだけで、Javaじゃないから、
このスレ的にどうなのよ?ちなみに俺は、質問者じゃない
601デフォルトの名無しさん:2010/10/31(日) 23:11:17
Eclipseで実行形式のjarを作成する方法を教えてください

602デフォルトの名無しさん:2010/10/31(日) 23:11:40
回答者が馬鹿すぎて泣けてきました
603デフォルトの名無しさん:2010/10/31(日) 23:13:58
質問者のレベルに合わせただけだろ
604577:2010/10/31(日) 23:17:21
どなたか(´・ω・`)
605デフォルトの名無しさん:2010/10/31(日) 23:33:08
なんじゃ?(´・ω・`)
606デフォルトの名無しさん:2010/10/31(日) 23:33:44
>>604
括弧
607デフォルトの名無しさん:2010/11/01(月) 00:22:21
>>602
お前さんまだいたのか
ここはヤフー知恵袋と違って必ず相手してもらえるとは限らんのよ
どの質問をスルーされてご機嫌斜めなのか知らんけど、言ってみなw
おれでも答えれる内容なら答えてやっからさ
608デフォルトの名無しさん:2010/11/01(月) 00:30:13
バカなのにそうやって無理して回答しようとするから…
609デフォルトの名無しさん:2010/11/01(月) 01:05:39
言語歴1週間の俺でよかったらなんでも答えるよ
今SJC-A勉強してるお^^
610デフォルトの名無しさん:2010/11/01(月) 03:20:07
               ∧          ∧
              / ヽ        ./ .∧
 i´`Y´`Y`ヽ(⌒)    /   `、     /   ∧
 ヽ_人_.人_ノ`~ ヽ  /       ̄ ̄  ̄    ヽ
    \___  \ (   ̄ ̄ ̄11月  ̄ ̄ ̄ ̄)
         \_ 〉/ ̄   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ \
            ヽ  -=・=-′ ヽ-=・=-   /
                   \___/     /
                :    \/
                          (⌒)
                 .        ノ  Y`Y´`Yヽ
                     (´ ̄   .i__人_人_ノ
                      ` ̄ヽ      /
611デフォルトの名無しさん:2010/11/01(月) 11:50:38
今年は就職できなかった。来年頑張ります。
612577:2010/11/01(月) 11:58:25
>>606
ああ、括弧がひとつ抜けていましたね・・・
修正しました、けどまだおかしいらしいですorz
613デフォルトの名無しさん:2010/11/01(月) 12:13:52
>>612
二重のforループを抜けた後に表示するようにして
適当に数字入れて実行してみたけど合ってると思うよ
どこがどうおかしいのさ

614デフォルトの名無しさん:2010/11/01(月) 12:39:29
今後Javaに演算子オーバーロードが実装される予定ってありますか?
615デフォルトの名無しさん:2010/11/01(月) 14:40:27
ないな
そういう設計方針なのもあるけど、その前にJavaには値型がないので、
オーバーロードされた演算子使いまくるとnewだらけで非常に非効率なコードの出来上がり。
616577:2010/11/01(月) 14:44:18
>613
online judgeという会津大学のサイトがあって、そこでは問題に対してソースを書いて提示、サーバ側で実行してクリアかどうかを判定してくれるんです。
そこで先述のような素数の数を出すソースを書いてみたのですが、
提示するとランタイムエラーが帰ってきてしまうのですよね。
コンパイルエラーならその内容も出てくるのですが、ランタイムエラーだと詳細がわからなくて・・・

勉強の一環として会社のPCからやっていますが、
コンパイラを入れられない端末なので検証が出来ないのです。
617デフォルトの名無しさん:2010/11/01(月) 15:14:59
>>616
ttp://rose.u-aizu.ac.jp/onlinejudge/statusNotes.jsp
>Runtime Error
>提出されたプログラムの実行中にエラーが発生しました。
>不正なメモリアクセス等による Segmentation Fault、スタックオーバーフロー、ゼロによる割り算など多くの原因が考えられます。
>また、main 関数は必ず 0 を返すようにして下さい。 ←*コレじゃないの?
618デフォルトの名無しさん:2010/11/01(月) 15:55:53
>>616
>>577で書いてあったように単に正しい結果が出力されていないだけでなくて本当にランタイムエラー?
>>577からの修正後の補った } の位置次第の話なんだが、もし末尾に補って修正したのなら、
求められている出力は
> 各データセットごとに、n 以下の素数の個数を1行に出力して下さい。
なのに>>577では各整数が素数かどうかをテストするごとにそれまでの素数の数を表示しているから、
誤った出力だと判断されてるだけなんじゃないかと思うんだが。
もしそうなら、>>613の言うように最終結果だけを出力するように修正して試してみてはどう?
619デフォルトの名無しさん:2010/11/01(月) 17:04:14
>>618
サイト0009の問題なら素数の個数を出力しろだから回答はあってる。
620デフォルトの名無しさん:2010/11/01(月) 18:09:51
JAVAがC#に勝る点って何?
621デフォルトの名無しさん:2010/11/01(月) 18:12:58
C#よりJavaの方が検索しやすい
622デフォルトの名無しさん:2010/11/01(月) 18:24:49
C# は Windows 以外では実質的な選択肢に入らない。
Java VM がいい感じに枯れてて、スクリプトや仮想マシン型実行環境の中では一強状態。
623デフォルトの名無しさん:2010/11/01(月) 19:34:41
JSFって結構使われてたりすんの?
624デフォルトの名無しさん:2010/11/01(月) 20:46:17
javaのジェネリックってtemplateみたいな事できたんだね
List<String>以外に使い道が無いと思ってた
625デフォルトの名無しさん:2010/11/01(月) 20:50:45
キャスト除去以上の意味はないよ?
全てObjectに置き換わる
626624:2010/11/01(月) 21:00:59
>>625
そうなのね
全然使えないじゃん
627デフォルトの名無しさん:2010/11/01(月) 21:10:30
saxでxmlをパースする時、サンプルコードでは親ノードを気にしていない事がよくあります
実際のところsaxでは親ノードを気にしないプログラミングが当たり前なのでしょうか?
628デフォルトの名無しさん:2010/11/01(月) 21:30:52
SAX を選択する時点で構造が正しいと前提を置いた上で効率重視
(速度とヒープ消費) なので気にしない。
構造チェックだけならパーサにスキーマ指定できなかったか?
629デフォルトの名無しさん:2010/11/01(月) 22:29:21
>>627
別にそんなことは無いんじゃないの
サンプルはあくまでサンプルだから、面倒なことはしていないだけだろう

親を見たければスタックに自分で記憶すればいいだけの話なので、
こんな感じで出来るよ

http://pastie.org/1263919
630627:2010/11/01(月) 22:33:48
>>628-629
thx

なるほど、たしかにスタックを使えば親がわかりますね
domを少し調べてみたのですが、saxと比べるとサンプルが少ないですね
やっぱり、xmlは扱いにくい
631デフォルトの名無しさん:2010/11/01(月) 22:59:54
>>630
そんなお前にXStream
632デフォルトの名無しさん:2010/11/01(月) 23:00:32
Javaスクリプトが絡んでくるのってどんなとき?
633630:2010/11/01(月) 23:06:05
>>631
ありがとう
634デフォルトの名無しさん:2010/11/02(火) 01:00:24
スレッドの待ち合わせ処理を、thread.join()を使わずに以下のようにするのは
やはり駄目なのでしょうか?
(JavaDocにはgetState()は同期の制御用でないとありました)


MyThread thread = new MyThread();
thread.start();

while (thread.getState() != Thread.State.TERMINATED){
  if (Thread.interrupted()){
    // 中断用フラグ設定
    thread.cancel();
  }
}
635デフォルトの名無しさん:2010/11/02(火) 01:17:50
ダメというか、普通 join() でやるだろ。
あとそのコードのままだと待機中にCPU100%になるぞ。
636デフォルトの名無しさん:2010/11/02(火) 03:18:23
でたらめ教えるなよ
無知なのに答えるなって何度言ったら(ry
637デフォルトの名無しさん:2010/11/02(火) 04:00:41
>>636
先生!早く正解を!
638デフォルトの名無しさん:2010/11/02(火) 07:09:20
先生は初歩的な質問には答えません
難しい質問だとおなかが痛くなるのでやっぱり答えません
639デフォルトの名無しさん:2010/11/02(火) 08:59:39
つ 正露丸
640デフォルトの名無しさん:2010/11/02(火) 11:03:24
>>634
別にどうしてもだめってことはないけど、Thread.interruptedの使い方なんかおかしくないか?
あなたのやりたいことは本当にそれで合ってるのか?
641デフォルトの名無しさん:2010/11/02(火) 17:22:37
String str2 = "Book is 100yen.";
String regex2 = "(\\d.+?)(yen)";
result = str2.replaceAll(regex2, "\\\\$1");//ココ
ココの\が4個並んでいる、それぞれの意味を教えて下さい。
\100とするには、\は2個で良いような気がするんですが
結果は4個必要みたいです。
642デフォルトの名無しさん:2010/11/02(火) 17:24:50
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=37486&forum=12
こちらでは「Javaでtracert/traceroute相当の機能を書くことは出来ない(非常に困難)」とされていますが、これは現在でも変わりないのでしょうか?
JavaSE1.6では、ネットワーク周りでかなり便利な機能が追加されたと聞いているのですが・・・。
今もJavaDocをチェックしていますが、このような機能を実装したご経験のある方はいらっしゃいますか?
643642:2010/11/02(火) 17:29:22
失礼、「何をしたいのか」が抜けていましたね。
複数のNIC(仮想NICも含む)が存在する環境で、どのNIC/IPアドレスが「生きている」(外と通信している)かを識別したいのです。
644デフォルトの名無しさん:2010/11/02(火) 17:32:05
>>641
ソース: \\\\
文字列: \\
正規表現の解釈: \
645デフォルトの名無しさん:2010/11/02(火) 18:07:53
\dとかは\\dと指定すればいいのに、
どうして\のときは\\では駄目なのですか
646デフォルトの名無しさん:2010/11/02(火) 18:15:01
\ が \\ だったら、 \ の次に本当に文字 'd' が来て欲しい場合も \\d になっちゃうじゃないか
数字を表す \\d と区別できない

\\d -> \d -> 数字
\\\\d -> \\d -> \ と d
647デフォルトの名無しさん:2010/11/02(火) 18:48:09
>>644,>>646 どうもありがとうございました。
648デフォルトの名無しさん:2010/11/02(火) 19:08:11
JFrameでコンテントにパネルを貼っていて
window内でキー入力を受け付けるには
KeyListenerをどう書いて追加すればいいですか?

もう
public void keyPressed(KeyEvent e) {}
などは記述しています。
つなぎ方がわかりません。
649デフォルトの名無しさん:2010/11/02(火) 20:10:00
javaをc++の方言としてexeやdllにコンパイルする方法があるそうですが
c++の関数を呼んだりはできないのでしょうか?
650デフォルトの名無しさん:2010/11/02(火) 20:21:27
JAVAがPythonに淘汰されるのはいつ頃ですか?
651デフォルトの名無しさん:2010/11/02(火) 20:24:31
JavaとPythonじゃ開発分野は競合しないし全然関係ないわ
652デフォルトの名無しさん:2010/11/02(火) 20:28:57
JavaとPythonの開発分野ってどこ?
653デフォルトの名無しさん:2010/11/02(火) 20:30:10
javaのコンパイルした結果から逆にソースコードを抽出ってできるんですか?
654デフォルトの名無しさん:2010/11/02(火) 20:32:58
Java→なんでも
Python→シェルサポート Web
655デフォルトの名無しさん:2010/11/02(火) 20:36:37
>>649
できるぞ
GCJ CNI でぐぐってみたまえ
656デフォルトの名無しさん:2010/11/02(火) 20:39:08
>>653
コンパイルした結果 (classファイル) にソースコードは含まれていないから、中にあるものを取り出すわけではないので、抽出っていうのはちょっと違うな
再合成とでも言うべきか・・・ ともかく、逆コンパイルは、ある程度はできる
657デフォルトの名無しさん:2010/11/02(火) 21:05:38
658sage:2010/11/02(火) 22:16:35
>>653
個人的には、jadよりもこっちかなぁ・・・。
http://www.atmarkit.co.jp/fjava/rensai4/devtool13/devtool13_1.html
659デフォルトの名無しさん:2010/11/02(火) 22:20:37
ごめん、あげちゃった。疲れとるな・・・orz
660デフォルトの名無しさん:2010/11/02(火) 23:08:30
socketプログラミングって普通にストリームを扱うみたいにやっていいの?
socketを使うとプロトコルが作れるみたいだけど、
いちいち今なんバイト目かを数えるは面倒な気がする
661デフォルトの名無しさん:2010/11/02(火) 23:19:07
普通にストリームを扱うみたいにやっていいよ
662デフォルトの名無しさん:2010/11/03(水) 02:17:53
JAVAって英語と数学できないと厳しいですか?

専門学校に入ろうと思ってるのですが素人なのでわかりません
663デフォルトの名無しさん:2010/11/03(水) 02:41:27
Scannerクラスを見ていて、
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input);
s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
MatchResult result = s.match(); //ココ
findInLineメソッドはリターンはStringなんですが、
そのリターンをココの部分のmatchメソッドで使っている形跡がなくて、
よく見ると、LRUCacheってところから取得してるみたいですけど、
LRUってのを調べたら、最も最近利用された情報が格納されるみたいで、
もしかしたら、findInLineのリターンは使用してないけど、
そのときにLRUCacheに格納されてて、matchメソッドから、
LRUCacheを参照して情報を取得しているとかありますか?
664デフォルトの名無しさん:2010/11/03(水) 03:09:17
>>662
中堅以上の国立大学の情報系学部や院でも行けよ・・・。
それは、置いといて英語も数学もどこまでやるかによって必要かが
変わってくる

基本的には、不要。応用的なことをしだすと必要。

英語については、日本語の参考書やドキュメントで情報が不足の時に
海外の参考書やドキュメントを読むために必要。

数学については、大学初頭数学くらいが分かってないと一部ライブラリ
が使いこなせなかったり、数学的要素の強いメソッド(関数)の作成に
困るかもしれない。

665デフォルトの名無しさん:2010/11/03(水) 08:16:14
>>662
数学はできた方がよいが、できなくてもよい。数学的素養は多少必要。英語はできると英語ドキュメントが読めるので便利。
Javaはオープンソース文化が強くてソースがすべての世界だから、大量のソースをすべて読み取り理解するほど熟達しているなら英語不要だと思う。
おれはその域には達していないし達することはできないけどね。
666デフォルトの名無しさん:2010/11/03(水) 08:42:52
数学的素養は高校レベルあればどうとでもなると思うけどねえ。
それより勉強が嫌いで、受験勉強とかしたくないから専門に・・のような人なら向いてないかもよ。

同じプロジェクトに若い専門卒PG(他社だけど)が何名かいたんだけど、俺が技術系の本や雑誌の話したら
「自宅でこんな本読むんですか?もしかしてこの本自分のお金で買ったんですか?なんのためにw?」
みたいなことを複数に言われてもにょった。

メンバーがこんなんばっかりだったら博打で中華にアウトソースしたくなる気持ちもわかるなぁ、と思ったもんだ。
667デフォルトの名無しさん:2010/11/03(水) 09:25:11
技術的な質問はダンマリだけど、こういう話題は良くレスがつくw
668デフォルトの名無しさん:2010/11/03(水) 09:25:30
いろいろな為になるお話しありがとうございます!

どうしてもSEになりたくて、PCの勉強がしたいので質問させていただきました。
英語に関しては相当努力しましたが全然伸びずに、かなり苦手なので・・・

あと文系理系は専門の場合関係ないですよね?

JAVAとはすこし逸れますがよろしくお願いします。
669デフォルトの名無しさん:2010/11/03(水) 11:48:59
>あと文系理系は専門の場合関係ない
学歴・履歴という意味ではまったく関係ない。
得意不得意という意味では密接に関係ある。

ろくに勉強もしてない今の状態で、簡単なゲームとそのソース(Javaでなくていい)を見比べて、
どの箇所が何の処理をやってるか大体わかれば、
>>665 の言ってる「大量のソースをすべて読み取り理解」の素養あり。
素養なければ英語読めるように勉強しましょう。

人間同士の言葉の勉強さえもしたくないんであれば、
機械との言葉(あるいはプログラマ同士の言葉)の勉強はあきらめた方がいいかもよ。
670デフォルトの名無しさん:2010/11/03(水) 11:58:03
>>668
専門学校は1:1:8でめっきり学生の質が分かれる

最初の1はそこそこの大学(マーチ早慶等)から流れてきた一応の頭がある層、ただしコミュ障だったりサボりぐせがあったり
真ん中の1はニッコマ程度の学力はあったが、金銭的な理由だったり親等が馬鹿で間違って入ってきちゃった層
残りは因数分解や分数の計算が出来ない真性の落ちこぼれの層、特に文系出身は小学生未満でとにかくひどい

たぶん勉強したくてこのスレに書き込んだと思うから大学に行った方がいいよ、頑張って地元の国立とかね
専門学校っていかに生徒を辞めさせないでお金を集めるかしか考えてないから、授業のレベルが著しく低いんだわ

あと地方の進学校では2年の夏から1日12時間程度勉強するのが基本だが、それくらい頑張ったのか?


671デフォルトの名無しさん:2010/11/03(水) 12:33:45
一応偏差値67の進学校で毎日8時間くらい勉強してました

SEもすごい厳しい世界みたいですね

もう少し調べてみます
672デフォルトの名無しさん:2010/11/03(水) 13:22:19
俺も専門卒だけど、確かに生徒はそれなりにまじめに頑張ってる奴と、遊びに来てる奴と綺麗に分かれてたな。
まぁ、就活の結果も綺麗にわかれるだろうと思っていたら案外そうでもなかった。
やっぱ専門卒ってだけで下の方になってしまって、内面までちゃんと見てもらえないのかと悩みもしたけど
結局俺は大卒から見ても結構良い方な会社に入れたので運が良かったんだろうな
673デフォルトの名無しさん:2010/11/03(水) 13:25:41
質問です。
Graphics[] は配列として扱えましたが
Graphics2D[] にして配列にするとエラーになりました。
2Dの方は配列にする方法ないのですか?
674デフォルトの名無しさん:2010/11/03(水) 13:40:31
>>673
どういうソースか、どういうエラーかぐらい書いて下さい。

エスパー的に回答するとすれば、たぶんキャストしてないから。
ex.) g2ds[0] = (Graphics2D)img.getGraphics();
675デフォルトの名無しさん:2010/11/03(水) 13:42:00
何それオープンGLか何かか?
676273:2010/11/03(水) 13:47:32
すいません。勘違いでした。
(Graphics2D)を代入するの忘れてました。
677673:2010/11/03(水) 13:48:16
失礼673です。
678デフォルトの名無しさん:2010/11/03(水) 13:59:39
キャストはそれそのものが命令だから、代入とは言わないが、まあいいか。
679デフォルトの名無しさん:2010/11/03(水) 14:00:08
教えてほしいです。JAVAクラスからJNI関数を呼びそこで値を取得したいのですが、JNI側で値を習得したらその値を構造体に入れる予定です。その構造体はJAVA側から参照出来るでしょうか?ヘッダー等を介してJAVAとJNIで一つの構造体を共有出来るでしょうか?
680デフォルトの名無しさん:2010/11/03(水) 14:34:37
構造体というかメモリブロックとして受け渡しすれば出来るんじゃない?
コンストラクタでbyte配列を受け取って、getter/setterはByteBufferで処理すれば
擬似的に構造体をJavaBeansにできると思う。(不確か)

ただしJNIがリンクするライブラリに巻き込まれてJava側もJVMごと落ちる可能性があるから、
よほどのことがない限りプロセスは分けた方がいい。
実行可能ファイル(exeとか)をRuntime.execで呼び出してProcessクラス経由で扱う方が安全。
こっちはStreamで扱うことになるけど、JNIを扱うよりは学習量も少ないかと。
681デフォルトの名無しさん:2010/11/03(水) 14:56:10
eclipesのvisual editerがないんだけどなぜでしょう?
VE、GEF、emfを解凍してフィーチャーズとプラグインのコピーも本体のほうにはりつけたのですが出来ません
682デフォルトの名無しさん:2010/11/03(水) 15:00:38
>>679
昔書いたコード見たらこんなのあった。
電子ペンの筆跡データから GeneralPath を生成する、ネイティブ側での処理の一部。

pathClass = env->FindClass("java/awt/geom/GeneralPath");
pathConstructorId = env->GetMethodID(pathClass, "<init>", "()V");
moveToMethodId = env->GetMethodID(pathClass, "moveTo", "(FF)V");
path = cls->env->NewObject(cls->pathClass, cls->pathConstructorId);
cls->env->CallVoidMethod(path, cls->moveToMethodId, x, y);

Java側では、構造体に相当するクラスを作って、
ネイティブ側では、構造体の各値を上記のように渡す関数を作る。など。
683679:2010/11/03(水) 15:07:28
>>680>>682
有り難うございます。
参考にします。ちなみにJAVAのShortとJNI要はCのShortは互換性?同じと捉えても良いでしょうか?
684デフォルトの名無しさん:2010/11/03(水) 15:09:49
685デフォルトの名無しさん:2010/11/03(水) 15:10:04
>>681
VisualEditorは既に死んでいる。
こっち使え。ttp://code.google.com/intl/ja/javadevtools/wbpro/index.html
686デフォルトの名無しさん:2010/11/03(水) 15:13:28
687デフォルトの名無しさん:2010/11/03(水) 15:23:14
JNIってプリミティブ型のエンディアンも自動的に変換してくれるの?
688デフォルトの名無しさん:2010/11/03(水) 15:29:01
javaのint<->jni.hのjintみたいな部分はエンディアンの変換必要ない。
689デフォルトの名無しさん:2010/11/03(水) 15:36:41
>>688
thx
690681:2010/11/03(水) 16:05:59
VisualEditorをインストールしました
>>685-686どうもです。
691681:2010/11/03(水) 16:07:10
VisualEditorじゃなくれWindowBuilder Proの間違いですww
692デフォルトの名無しさん:2010/11/03(水) 16:44:49
>>663
ます仕様を確認するべきじゃないか

http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Scanner.html#match%28%29
> このスキャナが実行した最後のスキャン操作のマッチング結果を返します。
693デフォルトの名無しさん:2010/11/03(水) 19:51:41
初めての質問です。
スレ違いでしたらすみません。JavaのHyperLinkListenerをJ#で使うにはどのようにすればよいのでしょうか?
694デフォルトの名無しさん:2010/11/03(水) 20:05:05
習作で,箱庭型のシミュレーションプログラム???を作り始めたばかりのところです.
中にいる粒子(キャラクタ)に周囲の環境を認識させ判断させるAIを考えていますが,
世界全体を表す大きな(重そうな)クラスをメソッドの引数としても,重くなりませんか?

つまり, javaの引数はきちんと
cでいうポインタのようなモノだけでやりとりしているのでしょうか.
695デフォルトの名無しさん:2010/11/03(水) 20:25:19
Javaのオブジェクトは参照渡し。Cで言うポインタ渡しと同じ。
696デフォルトの名無しさん:2010/11/03(水) 20:33:42
>>695
ありがとうございます.
ぜんぶインナークラスでやるべきかとかバカなことを考えました。
697デフォルトの名無しさん:2010/11/03(水) 22:31:30
参照渡し≠ポインタ渡し=値渡し
698デフォルトの名無しさん:2010/11/03(水) 22:35:02
はいはい参照の値渡し参照の値渡し
699デフォルトの名無しさん:2010/11/03(水) 23:01:11
javaって何でvectorがあるんですか?
C++のstlをパクッたからですか
700デフォルトの名無しさん:2010/11/03(水) 23:03:35
eclispe3.6にve入れたんだがパレットの欄にswingコンポーネントがないんだけど
どうやってだすの?
701デフォルトの名無しさん:2010/11/03(水) 23:17:39
Vector, Hashtable あたりは JDK 0.9〜1.1 までの遺産。
STL とは操作互換性とか全く意識してないと思うがな。
702デフォルトの名無しさん:2010/11/03(水) 23:21:08
Dictionaryが使用不可になったいきさつを御存じなんですか?
703デフォルトの名無しさん:2010/11/03(水) 23:22:04
別に今でも使用できるぞ
704デフォルトの名無しさん:2010/11/03(水) 23:26:02
Java 出た頃はどの入門書もレベルが低くて 「抽象化されたインターフェースを使え」
という意識はほとんどなくどれも Hashtable ベタ書きだったからな。コアライブラリでも
1実装しか提供されてなかったのであまり意味がなかった。
705デフォルトの名無しさん:2010/11/03(水) 23:44:22
次のリリースでDicinonaryにつけられた推奨されないクラスの烙印をとりのぞいてほしい。
706デフォルトの名無しさん:2010/11/03(水) 23:47:26
スペルミスするくらいならやっぱり使わない方がいいクラスなんじゃね
707デフォルトの名無しさん:2010/11/04(木) 00:03:54
ユーザより入力されたデータが、ひらがなか?とか、
郵便番号の形式か?ってチェックは、普通すべて、
正規表現でやる?web系の開発してる人の意見聞きたいです。
708デフォルトの名無しさん:2010/11/04(木) 00:05:12
HashMap<K,V>に存在するキーと値を
ファイルに書くとして、HashMapのデータを全て、キー+ 値
で読むには、どうしたらいいですか。
709デフォルトの名無しさん:2010/11/04(木) 00:11:01
>>707
正規表現。あまり込み入ったのはコードで。

>>708
シリアライズでも使え。ファイルをテキストエディタで編集する前提なら Properties。
710デフォルトの名無しさん:2010/11/04(木) 01:24:51
import java.util.*;
public class TestBadLegacy {
public static void main(String[] args) {
List<Integer> myList = new ArrayList<Integer>();
myList.add(4);
myList.add(6);
Inserter in = new Inserter();
in.insert(myList);
System.out.println(myList);
}
}
class Inserter {
void insert(List list) {
list.add(new Integer(42));
list.add(new String("42"));
}
}

これってジェネリックスでIntegerしてるのにlist.add(new String("42"));でString型を追加できるのはなぜですか?
711デフォルトの名無しさん:2010/11/04(木) 01:40:07
>>710
コンパイラが
list.add(new Integer(42));
list.add(new String("42"));
は安全じゃないって警告するだろ
712デフォルトの名無しさん:2010/11/04(木) 02:30:35
class Inserterでジェネリックしてないから。
713デフォルトの名無しさん:2010/11/04(木) 02:48:42
実行可能jarを叩くだけのWindowsのexeファイルを作りたいんですが、
フリーのcコンパイラとかでおすすめや定番はありますか?
アイコンも同梱出来ればなおよしなのですが。
714デフォルトの名無しさん:2010/11/04(木) 04:31:54
javaのAPIは、よく出来ているなあ
715デフォルトの名無しさん:2010/11/04(木) 04:33:58
>>713
おれは、jsmoothをよく使う。
設定を保存すれば、コマンドラインでjar->exeができるからantやmavenに仕込めるから楽。
716デフォルトの名無しさん:2010/11/04(木) 08:33:35
>>658
これ良いね。ソース添付しなくても良くて便利。
717デフォルトの名無しさん:2010/11/04(木) 12:40:11
javaの仮想マシンで動くjavaでない言語を作ることってできるんですか?
仮想マシンの仕様って公開されてるの?
718デフォルトの名無しさん:2010/11/04(木) 12:40:38
>>693
OpenJDK のソースを持ってきて、自分でコンパイルしてクラスライブラリを作れば、使える可能性があるかも。
719デフォルトの名無しさん:2010/11/04(木) 13:02:01
>>717
ちょっとでかい本屋行けば Java 仮想マシン仕様の本が置いてある。
元々 Sun (というかマクネリ) は「勝手な言語乗せんじゃねぇ!」ってスタンスだったが
最近は Scala や JRuby あたり使って Java のようなバイトコード作れるし
JavaScript, Jython あたりは内部でバイトコードに変換してるし。
invokedynamic が実装されれば動的型付言語も少しはマシになるかもしれん。
720デフォルトの名無しさん:2010/11/04(木) 13:06:03
721デフォルトの名無しさん:2010/11/04(木) 13:06:24
>>717
可能だし、普通に公開されている。jphpやjrubyは、JVMで動くphp環境だったり、
Ruby環境。Scalaという関数型プログラミング言語もJVMで動作する。

Jasminなんてclassファイルを吐くアセンブリもある。(Jasminは、バイトコードに
近い仕様)

OolongというJVMアセンブリもある。

ただ、実際には、方法が二種類あって、JVM上で動くjavaで作った環境
の上で何らかの言語を動かす方法と、JVMで直接動かす方法。

開発の容易さは、圧倒的に前者。







722デフォルトの名無しさん:2010/11/04(木) 14:46:22
webサイト作ろうとして使おうとしてた部品がjavaで書かれてたのでjsp使ったんだけど
他の選択肢ってないの?
phpやpythonだといろんなフレームワークあるよね
blogも簡単に作れる
723デフォルトの名無しさん:2010/11/04(木) 15:42:26
>>722
あり過ぎてわけわかんないレベル。
毛色のかわったやつだとWicketとか。
724デフォルトの名無しさん:2010/11/04(木) 15:52:38
Servlet API 自体が古い CGI 仕様を参考にして作ってしまったからな。
サーバサイドのフレームワークは乱立状態。

ところで JWebPane って次の JDK で乗らないの? JavaFX とともに死滅?
実用主義の Oracle ならネイティブブラウザコンポーネント使えとか圧力来そうだが。
725デフォルトの名無しさん:2010/11/04(木) 16:15:19
jsp以外にもいろいろあるのか
どれが一番推奨なんだ
726デフォルトの名無しさん:2010/11/04(木) 16:36:32
コレクションフレームワークですけど、
ListとMapの用途は、分かったんですけど、
Setの存在理由がピンと来ません。
MapのリターンとしてSetがあったり、Listで使えたりしますけど、
Setが、私がSetですみたいに、位置づけられているということは、
Set独自に存在理由が、あると思うんですけど、
Setがあるときに、こういうのが便利であるとか、
こういうふう、よく使われるとか、
教えて下さい。
727デフォルトの名無しさん:2010/11/04(木) 16:45:22
特にない
要素に重複がない (同じ要素を2つ以上持たない) ということを表しているだけ
add するときすでに同じ要素があったら追加されないとか、まぁ便利といえば便利なときもあるけど
728デフォルトの名無しさん:2010/11/04(木) 17:11:47
>>726
がーっとデータを突っ込んでは、重複省いてアルファベット順に並べて、
また突っ込んでは並べてなんて時は TreeSet が便利
729デフォルトの名無しさん:2010/11/04(木) 17:24:17
>>727 >>728 ありがとうございました。
730デフォルトの名無しさん:2010/11/04(木) 18:30:15
731デフォルトの名無しさん:2010/11/04(木) 18:32:52
http://d.hatena.ne.jp/fumokmm/20101017/1287344928
JVM上で動くプログラミング言語のまとめ
732デフォルトの名無しさん:2010/11/04(木) 19:24:01
javaでmecabを使用して形態素解析をし、
その結果を利用して各名詞の個数を数えたいのですが、ひとつひとつの要素が
どういった形で格納されているのかよくわかりません。
なので、形態素解析の結果を使って名詞を取り出すプログラムの書き方を教えてもらいたいのですが。
733デフォルトの名無しさん:2010/11/04(木) 20:06:25
動作未検証。

Map map = new LinkedHashMap();
Node node = tagger.parseToNode(str);
for (;node != null; node = node.getNext()) {
if (node.getFeature().startsWith("名詞")) {
Integer n;
if (map.containsKey(node.getSurface()) {
int oldN = ((Integer)map.get(node.getSurface())).intValue();
n = new Integer(oldN + 1);
} else {
n = new Integer(1);
}
map.put(node.getSurface(), n);
}
}

System.out.println("名詞の種類 : " + map.keySet().size());
System.out.println("出現回数 : ");
for (Iterator itS=map.keySet().iterator(); itS.hasNext(); ) {
String surface = (String)itS.next();
int n = ((Integer)map.get(surface)).intValue();
System.out.println(" " + surface + " : " + n);
}
734デフォルトの名無しさん:2010/11/04(木) 21:26:56
テスト済みのやつ貼ってください
735デフォルトの名無しさん:2010/11/04(木) 21:33:35
いやです
736デフォルトの名無しさん:2010/11/04(木) 21:46:10
>733
素早い回答ありがとうございます。
よければ簡単な解説をしてもらえませんか?
737デフォルトの名無しさん:2010/11/04(木) 21:48:51
いやです
738デフォルトの名無しさん:2010/11/04(木) 21:49:49
それで理解できないなら諦めろ
739デフォルトの名無しさん:2010/11/04(木) 21:51:24
Mecabの仕様を見ろks
Javaほとんど関係ない
740デフォルトの名無しさん:2010/11/04(木) 21:54:19
741デフォルトの名無しさん:2010/11/05(金) 00:06:46
>>736
どこまで理解できて、どこから理解できていないか伝えれば、暇なやつが答えてくれるかもしれない。
ソースを見た感じ、一度パース結果をmapにいれて、名詞の種類とかを計算しているっぽいけど、そういうことを知りたいのかな。
742デフォルトの名無しさん:2010/11/05(金) 00:22:01
n次元配列って作れないの?
プログラム中で入力や計算により求めた値n
リスト使ってもあまり上手く行かなかったというか、頭がこんがらがって断念した
高速に、リストまたは配列の値を、コピー、代入、参照、時に出力をしたい
743デフォルトの名無しさん:2010/11/05(金) 00:36:51
>n次元配列って作れないの?
ちょっと調べればあるでしょう。

int[][] arrays = new int[HEIGHT][];
for (int y=0; y<HEIGHT; y++) {
 arrays[y] = new int[WIDTH];
 for (int x=0; x<WIDTH; x++) { //この for は場合により Arrays.fill でも可
  arrays[y][x] = 0;
 }
}

あるいは List[] lists にして、lists[y].get(x); するとか。

>高速に、リストまたは配列の値を、コピー、代入、参照、時に出力をしたい
n次元配列とは全然別のレベルの話だなぁ・・・
サイズが可変なのか固定なのか、どの処理が一番パフォーマンスに影響するかなどで最適な方法は変わるけど、
ほんとに「高速に」が必要な規模なの?
昨今のPC使ってて個人の練習レベルとかの小規模なものだったら、
違いなんて屁みたいなもんだよ。

ただひとついえることは、いろんな方法で書けるようにならないうちは、
こだわってもしょうがないってこと。
744デフォルトの名無しさん:2010/11/05(金) 00:47:31
本当の可変次元配列は面倒いから俺ならHashMapにする
745デフォルトの名無しさん:2010/11/05(金) 01:02:51
マイクロ秒の差を競うチキンレースをやっていたいんですよ!
746デフォルトの名無しさん:2010/11/05(金) 01:07:09
public class MyArray {
private final int dimensions;
private final List list;
public MyArray(int dimensions) {
list = new ArrayList();
this.dimensions = dimensions;
}
public void set(int[] indexes, Object value) {
set(indexes, 0, value);
}
public Object get(int[] indexes) {
return get(indexes, 0);
}
}
747デフォルトの名無しさん:2010/11/05(金) 01:08:34

private void set(int[] indexes, int i, Object value) {
if (i == dimensions-1) {
while (list.size() <= indexes[i]) list.add(null);
list.set(indexes[i], value);
} else {
while (list.size()-1 <= indexes[i]) list.add(null);
MyArray sub = (MyArray)list.get(indexes[i]);
if (sub == null) {
sub = new MyArray(dimensions);
while (list.size() <= indexes[i]) list.add(null);
list.set(indexes[i], sub);
}
sub.set(indexes, i+1, value);
}
}
private Object get(int[] indexes, int i) {
if (list.size() <= indexes[i]) return null;
if (i == dimensions-1) {
return list.get(indexes[i]);
} else {
MyArray sub = (MyArray)list.get(indexes[i]);
if (sub == null) {
return null;
}
return sub.get(indexes, i+1);
}
}
748デフォルトの名無しさん:2010/11/05(金) 01:09:52
xjcのWXS以外がJDK6じゃ使えないとかのバグ直す気ないよね
749デフォルトの名無しさん:2010/11/05(金) 01:09:57

public static void main(String[] args) {
//Objectを値にとる可変長4次元配列
MyArray array = new MyArray(4);
//1文字あたり16進数4桁であるとして、各桁を添え字として保存
String str = "テスト文字列でごわす♪";
for (int i=0; i<str.length(); i++) {
char c = str.charAt(i);
int[] indexes = {
(c >> 12) & 0xf, (c >> 8) & 0xf, (c >> 4) & 0xf, c & 0xf
};
array.set(indexes, new String(new char[] { c }));
}

//65536文字分全部を調べて、保存されていれば表示
for (int i=0; i<0xf; i++) {
for (int j=0; j<0xf; j++) {
for (int k=0; k<0xf; k++) {
for (int l=0; l<0xf; l++) {
String s = (String)array.get(new int[] { i, j, k, l });
if (s != null) {
System.out.print(Integer.toHexString(i) + Integer.toHexString(j));
System.out.print(Integer.toHexString(k) + Integer.toHexString(l));
System.out.println(" " + s);
}
}
}
}
}
}
750デフォルトの名無しさん:2010/11/05(金) 01:16:21
n次元というからには矩形だろうから
リスト使うよりも一次元配列にインデックス計算して入れたほうがいいと思う
751デフォルトの名無しさん:2010/11/05(金) 01:57:29
純粋なロジック時間は、大抵はI/Oと割り込みのオーバヘッドに食われる。
752デフォルトの名無しさん:2010/11/05(金) 02:48:55
そんならジャバじゃなくてシーでもやってろ
753デフォルトの名無しさん:2010/11/05(金) 10:01:59
>>731
Kawaがない
754デフォルトの名無しさん:2010/11/05(金) 18:30:13
fileのエンコードはms932になっているので日本語で処理できるのですが
System.out.printの表示がutf-8になっているみたいですが、
これを、そのときだけshiftjisに変えて出力する方法はありますか。
755デフォルトの名無しさん:2010/11/05(金) 19:34:04
756デフォルトの名無しさん:2010/11/05(金) 22:46:26
Seesaaって実務でよく使われてんの?日本だけ?
757デフォルトの名無しさん:2010/11/05(金) 23:12:39
使われているがstrutsのラッパだから日本だけかな。
758デフォルトの名無しさん:2010/11/06(土) 02:04:32
JMenuBarの高さを取得したいのですが、どなたかご存知ないでしょうか?
759デフォルトの名無しさん:2010/11/06(土) 02:54:06
ttp://members.jcom.home.ne.jp/super-creek/jsmooth/

上記サイトで公開されていた(らしい)jsmoothの日本語化ファイルを
持っている方がいたら分けていただけませんか?
現在は公開されていないようです(指定されたファイルが見つかりませんと表示されました)。
Internet Archiveにもありませんでした。
760デフォルトの名無しさん:2010/11/06(土) 08:38:21
>>752
今までpython使ってて、可変長リストやリストの中にリストを任意の数だけいれたりは問題なかったけど
同じようなことをJAVAで組んでくれって頼まれた時に、手詰まりしました
>>750
時間の関係から、何次元までしか使わないって事になったので、今は数次元配列とその方法でなんとかした状態です
>>743
読んでもよくわからないので組んでみます
作ったn次元配列の中身の数ヶ所の値に乱数を足したり引いたりみたいな感じの事を、100*100000*20000*α回くらいやります
>>746,747,749
組んでみます
761デフォルトの名無しさん:2010/11/06(土) 09:24:30
java関係ない
762デフォルトの名無しさん:2010/11/06(土) 10:29:30
>>758
その JMenuBar に getPreferredSize を呼んでみたら
763デフォルトの名無しさん:2010/11/06(土) 12:04:01
ひとつ質問です。
Servletの名前ってサーバ視点とクライアント視点どちらで付けるんですか?
サーバ視点だと送り出す側だからSend*Servlet。
クライアント視点だと受け取る側だからGetだとかLoad*Servlet。
私はサーバ視点からの命名が正しいと思ってたのですが、知人と意見が割れてしまったので教えてください。
件のServletの処理内要はJSONをクライアントに送り出すものです。

お前ら根本的に間違ってるぞ!こういう名前使え!ってのがあれば合わせて教えてください。

よろしくお願いします。





764デフォルトの名無しさん:2010/11/06(土) 12:38:52
>>763
サーバ側で動くわけだけど
クライアントの要求に応じてクライアントの代わりに動くわけだから
正直どっちでもいい

でもたいてい読み込み、変換、返答にクラスを分ける
その場合は Servlet は Send になる
765デフォルトの名無しさん:2010/11/06(土) 13:00:30
>>762
できました
ありがとうございます
766763:2010/11/06(土) 13:18:29
>>764
なるほど、どちらでも良いのですね。
もう一度良く話し合って、それでも意見が割れる様ならばジャンケンでもして命名規則の統一をする事にします。

ありがとうございました。
767デフォルトの名無しさん:2010/11/07(日) 09:46:16
GUI部品を使うなら普段はAWTとSwingどちらが推奨されますか?
768デフォルトの名無しさん:2010/11/07(日) 10:01:32
Swingチンコ
769デフォルトの名無しさん:2010/11/07(日) 14:33:16
インターフェースのabstractメソッドの定義で、戻り値をそのインターフェースの実装クラスに指定する方法はありますか?
たとえばインターフェースAの中に抽象メソッドget()があり、
Aの実装クラスBでget()を実装する場合にはBを返す、
Aの実装クラスCでget()を実装する場合にはCを返す、ということをやりたいです。
Aの定義の時点でget()にこの制限をつけることは可能でしょうか?
それともAの定義ではget()の戻り値はAとする意外ないのでしょうか?
770デフォルトの名無しさん:2010/11/07(日) 14:46:11
>>769
Generics を使えばある程度までは制限できる。Enum クラスを参照。
常に具象クラスが分かっている状態で使うなら、
それぞれのクラスのオーバライドで戻り値を限定した方がずーっと楽だけど。
とりあえず、本当にその必要性があるかどうかを検討するべきに一票
771デフォルトの名無しさん:2010/11/07(日) 15:02:25
javaからemacs lispの便利関数を利用したいのですが
何か方法はないのでしょうか
772デフォルトの名無しさん:2010/11/07(日) 16:24:04
>>769
>>770 のようにやるときは呼び出す側も Generics になってないとしょうがないと思う。
例えば TreeSet<T> のコンストラクタで Comparator<T> を与える場合のように。
>>770 のいう「必要性」は、「そういう設計が適しているか」ということ。
773encodeURL:2010/11/07(日) 19:34:44
すいませんが質問なんでageさしてもらいます。
javax.servlet.http.HttpServletResponse#encodeURL(String url)
について質問です。
#javax.servlet.http.HttpServletResponseのインスタンスがresponseだとして質問します。

response.encodeURL(request.getContextPath() + "/test1") だとクッキー無効の場合APIリファレンス通りjsessionidが付与されます。
しかし、、、
response.encodeURL("/test1") だとクッキー無効の場合APIリファレンス通りjsessionidが付与され、ません。

コンテキストパス有り無しで何故そうなるか気になって、Eclipseのjad(classを逆コンパイルしてソース参照できるplugin)で
HttpServletResponse#encodeURL(String url)
のソースを見てみたんですが、HttpServletResponseは周知の通りinterfaceで、
HttpServletResponse#encodeURL(String url)の実装はHttpServletResponseWrapper#encodeURL(String url)です。
そのコードは下記です。

public String encodeURL(String url)
{
return _getHttpServletResponse().encodeURL(url);
}

見ての通りServletResponseWrapper#encodeURLをコールしています。
で、ServletResponseWrapper自体にはencodeURLメソッドは無いので、
結局その実装はというと、HttpServletResponseWrapper#encodeURL(String url)になるわけです。

以上のようにグルグル回って結局encodeURLメソッドの本当の意味での実装(jsessionidを付与している等)が見当たらないのですが、
皆さん何か分かりませんでしょうか?
#手元にEclipseとservlet-api.jarがあれば見てもらうと分かりやすいと思います。

よろしくお願いします。
774デフォルトの名無しさん:2010/11/07(日) 20:16:19
7年前に数週間 Tomcat かじったきりの男の独り言。つまり素人同然なのであしからず。
 要するに HttpServletResponseWrapper のコンストラクタで与えられている
 HttpServletResponse が、いかなるクラスのインスタンスであるか、ってことでしょ。
 サーバ側と接続してリモートデバッグできるんじゃないのかな。
 それで適当にブレークして調べるとか。
 もしくは HttpServletResponse を継承してるクラスを
 Eclipse にリストアップさせてあたりをつけられそうだな。

 リモートデバッグできない、やり方分からない、
 Tomcat インストール済みのレンタルサーバ使ってるだけとかで、
 手元に環境もソースも再現できてない、という場合は、
 わざと null など与えて例外起こさせて、スタックトレースから強引に知れないだろうか。

 そもそも response.encodeURL("/test1") じゃなくて response.encodeURL("test1") じゃないのかな。
ぶつぶつ。
775encodeURL:2010/11/07(日) 21:04:08
>>774
ご回答ありがとうございます。
なんとなく当たりが付きました。
どうもHttpServletResponse#encodeURL(String url)の実装は
HttpServletResponseWrapperを継承しているMobyletResponse#encodeURL(String url)
のようです。まぁここの処理が更に謎めいていましたが。

どうもコンテキストパス有り無しでjsessionidが付く付かないではなく、
ご指摘どおり、そもそも response.encodeURL("/test1") じゃなくて response.encodeURL("test1") じゃないとダメみたいですね。
ただ内部処理を見ても"/"が関係あるコードは見当たりません。
困ったもんです。
何か分かる人いらしたら引き続きレスお願いいたします。
776デフォルトの名無しさん:2010/11/07(日) 21:43:40
引き続き独り言。
 MobyletResponse#encodeURL は super.encodeURL してるじゃん。
 >>774 でいってるように MobyletResponse のコンストラクタで与えられてる HttpServletResponse が焦点じゃないのかい。
 例えば Tomcat のパッケージ内には org.apache.catalina.connector.Response がある。これはどうなってんのかな。

 1167 String absolute = toAbsolute(url);
boolean leadingSlash = location.startsWith("/"); とかなんとかあるな。
 何にせよ toAbsolute だから "/test1" だと "http://サーバ名/test1" とかになるんじゃないのかな。

 1168 if (isEncodeable(absolute)) {
 
 ここをたどると doIsEncodeable までいって
 // Does this URL match down to (and including) the context path?
 だの
 // This URL belongs to our web application, so it is encodeable
 なるコメントが出てきたけど、
 ここでアプリケーション内かどうか (/webapp以下かとか) を判断してるんじゃないのかなぁ。

777デフォルトの名無しさん:2010/11/07(日) 21:56:45
>>770,772
ありがとうございます。
Genericsを使うとしたらこんな感じになるんでしょうか?

Interface A<E> {
public abstract E get();
}
class B<E> impliments A<E> {
public E get() {
・・・
}
}

この設計がやりたかったことを設計するのに適しているか考えてみます。
778デフォルトの名無しさん:2010/11/07(日) 22:49:04
>>777
BがAを実装していると決まってるなら、境界条件をもっと厳しくするだろ?
interface A<E extends A<E>> {
E get();
}
class B implements A<B> {
public B get() {
...
}
}
779デフォルトの名無しさん:2010/11/08(月) 00:20:35
<? super T>じゃないか?
780encodeURL:2010/11/08(月) 00:33:41
>>776
レスありがとうございます。

>MobyletResponse#encodeURL は super.encodeURL してるじゃん。
> >>774 でいってるように MobyletResponse のコンストラクタで与えられてる HttpServletResponse が焦点じゃないのかい。
ここまで分かってるんですが、

>例えば Tomcat のパッケージ内には org.apache.catalina.connector.Response がある。これはどうなってんのかな。
ここに話が飛躍しているのがちょっと分からないです。
HttpServletResponseをF4で階層型を開いたりsuper.encodeURLをCtr+Tで実装を開いたりしていますが、org.apache.catalina.connector.Responseは一切見当たらないのですが。。。

どうやってorg.apache.catalina.connector.Responseこのクラスまで行きましたか?

781デフォルトの名無しさん:2010/11/08(月) 01:43:11
変なのが居ついちゃったみたいだなw
782デフォルトの名無しさん:2010/11/08(月) 02:09:23
帳票出力するときは、事前に方眼紙に書いてみて、
印刷項目と項目の間の空白の数とかを数えて、
プログラミングするんですか
783デフォルトの名無しさん:2010/11/08(月) 02:12:39
>>782
いや、フィーリングです。環境依存+実装依存だし。
784デフォルトの名無しさん:2010/11/08(月) 02:18:53
帳票を印刷のを勉強しているのですけど
UTF8だと思った通りに漢字1文字がキャラクタ2文字で合うんですけど
shiftJISだと、文字自体の大きさがおかしくて、どうしても
前後が、ずれるってことないですか?
java内部は、どうもUTF8みたいなので、outだけshiftjisにしても、
ずれるような気がするんですけど。
785デフォルトの名無しさん:2010/11/08(月) 02:19:44
>>780
要件:
 HttpServletResponse をインタフェースにもつ何らかのクラスがある。
 そのクラスの encodeURL メソッドがいかなる実装であるかを調べなければならない。
 なお、それが MobyletResponse でないことは既に明らかになっている。

手順1.実行環境について整理する。
 質問者が実行環境について徹頭徹尾何一つ書いていない。
 しかし、MobyletResponse をググることで、それが mobylet なるものの一部であり、
 mobylet のサイトでは Tomcat について言及されている。そこで Tomcat を仮定する。

手順2.実行環境において出現しうる、HttpServletResponse の実装クラスを列挙する。
 ローカルに実行環境が再現されていれば Eclipse で列挙可能だが、現状そうではない。
 仕方ないので Tomcat の javadoc を調べる。
 "Response" を名称の一部に持つものを適当に検索したところ、
 org.apache.catalina.connector.Response が見つかった。これだろうとあたりをつける。

手順3.そのクラスのソースを調べる。
 同様にローカルに用意はないので、ネットで検索して発見。
 実際に処理を追うと、"/" に関する処理が見つかる。
 そもそも、URLつーもんの省略時の記法のことを考えれば、
 原因は >>774 の最後の行のとおりだと想像できるわけで、
 案の定そのとおりのことが書かれているようだから、これだと決め付け、掘り下げずに納得して終了。
786デフォルトの名無しさん:2010/11/08(月) 02:31:31
>>784
java での "印刷" といえば、例えば Printable とか Graphgics とかを使うんだけど。
印刷したい文字列としてはどうやろうと String を使うことになるので UTF 以外に無い。

その out っていったい何さ。
787デフォルトの名無しさん:2010/11/08(月) 02:33:59
それ以前に文字幅とエンコード関係ないだろ
788デフォルトの名無しさん:2010/11/08(月) 02:42:38
プリンター印刷です。
漢字や数字、それに+や-が混在する帳票を作成してみると
UTF8だと正しく印刷されるけど、shifutjisだとうまく行かないんですよね。
例えば、|犬|と印刷するときに、|と犬の間隔が、UTF8とshiftjisは
微妙に違うみたいです。それか、shiftjisの場合は制御コードが
混じっているとかあるんですか。UTF8だと問題ないんですけどね。
だから、一般にプリンターへの印刷のときはUTF8でプログラミング
されるのかなと思ったのです。
789デフォルトの名無しさん:2010/11/08(月) 02:50:30
質問の内容はわかる。答え方も分かる。あるかないかを答えればいい。それだけだ。
だが彼がホントに知りたいのは、現実に起こってる現象の理由ではなかろうか。

「こうしたらこんなことがおきました!なぜでしょう!?」なぜそう聞かないのだろうか。
多分「ある」と決め付けてるからなんだろうな。
であれば、無慈悲に >>787 のとおりの回答をするほかないのかもしれない。

だが俺は、彼の本当の要望、「なぜ起こっているか」に答えてやりたいのだ。
でなければ彼は、ともすれば永遠に、孤独の闇に葬られてしまうのだ。
たしかにその運命は、彼自身の立ち居振る舞いに端を発している。自業自得だ。
しかし現に、俺という存在にまだ光明は残されているのだ。
若きプログラマに救済を!

ああだがしかし、俺の「out って何さ」はまったく無視されてしまったのである。
残念。おやすみなさい。
790デフォルトの名無しさん:2010/11/08(月) 02:58:30
List<Torihiki> torihiki;
new ArrayList<Torihiki>();
...
new ArrayList<Torihiki>();
...
一本のプログラムの中で、上記のように
new ArrayList<Torihiki>();を行ってTorihikiオブジェクトの内容を
更新して、またnew ArrayList<Torihiki>();というように、
これらを多数繰り返したら、torihikiが同じアドレスを指し示して
しまうようなことってありますか。
791デフォルトの名無しさん:2010/11/08(月) 03:01:51
790の訂正
Torihiki torihiki;
torijiki = new Torihiki
...
torijiki = new Torihiki
でした。
792デフォルトの名無しさん:2010/11/08(月) 03:22:50
ある。
793デフォルトの名無しさん:2010/11/08(月) 03:48:26
>>788
君の分析だと単純に shifutjis(原文ママ)をUTF8(原文ママ)に変換すれば「正しく」「問題なく」印刷されるんじゃないのかな?
794デフォルトの名無しさん:2010/11/08(月) 15:27:36
Java無関係じゃんってのは言っちゃ駄目?
795デフォルトの名無しさん:2010/11/08(月) 16:13:54
>>792
あるの?
796デフォルトの名無しさん:2010/11/08(月) 16:21:28
JVMの実装上はあるかもしれんがJavaにはアドレスなんて概念ねぇよ。
797デフォルトの名無しさん:2010/11/08(月) 17:18:02
ないだろ
798デフォルトの名無しさん:2010/11/08(月) 17:24:55
いやあるよ
799デフォルトの名無しさん:2010/11/08(月) 17:28:47
メモリが有限である以上、ありうるんじゃないの?
(c でいえば malloc と free を繰り返しせば起こる)
ただし、いずれかの別の変数で参照してる限りは起こらないし、
起こったところでプログラムからは“アドレス”は見えない。
たまたま同じになっても、まったく困らないだろうね。
>>790 が何で知りたがったんだかさっぱり。
800デフォルトの名無しさん:2010/11/08(月) 17:56:59
いやないな。あればjavaメモリ管理が成り立たない
801デフォルトの名無しさん:2010/11/08(月) 18:06:24
Javaよりもっと低レベルな話してんだけど。
802デフォルトの名無しさん:2010/11/08(月) 19:32:25
ヒープの掃除中に生存中のオブジェクトが占める場所が動く可能性があるのだが
この場合は、「同じアドレス」とはどう解釈されるのだろうか
803デフォルトの名無しさん:2010/11/08(月) 19:34:22
ソフトバンククリエイティブから出てる本って根本的にろくなのない気がする
804encodeURL:2010/11/08(月) 19:40:37
>>785
度々レスありがとうございます。

>しかし、MobyletResponse をググることで、それが mobylet なるものの一部であり、
>mobylet のサイトでは Tomcat について言及されている。そこで Tomcat を仮定する。
そのサイトのURLを教えてもらっていいですか?
私のほうではそのようなサイトが見当たらないので。
#SeasarのMobyletのサイトのこれhttp://mobylet.seasar.org/ではないですよね
805デフォルトの名無しさん:2010/11/08(月) 19:51:21
>>804
「初めての方へ」に Tomcat って書いてある。
806encodeURL:2010/11/08(月) 19:55:12
>>805
なるほど。
調査中に仮定をもっと入れて調査することの大切さを知れました。
誠にありがとうございました。
807デフォルトの名無しさん:2010/11/08(月) 19:56:41
最近Javaの学習を始めたのですが詰まってしまい自分の力で抜け出せそうにないので質問させてください。
やりたい事は画像認証(JCaptchaとか)なのですがGoogleAppEngine上で動作させたいのです。
GAEではjava.awtの画像系クラスがサポートされていなくどうしてよいかわからない状態です。
情報お持ちの方居りましたらお助けください。
JCaptchaじゃなきゃ駄目などとこだわりはないのです、画像認証できるなら何でもかまいません。
808デフォルトの名無しさん:2010/11/08(月) 20:30:07
「私はこういう条件でこれをしようと思って
 こうしたのですがこうなってしまいました
 どうすればよいのでしょうか」
という形式でもう一度
809デフォルトの名無しさん:2010/11/08(月) 21:21:07
このプログラムの解説お願いします
public class R457 {
public static void main(String[] args) {
final double ERROR = 1e-10;
final int NMAX = 100;
for (double x0 : new double[]{10, -10}) System.out.println(find(x0, ERROR, NMAX));
}

/**
* x<sup>2</sup>-2x-3=0 の解をNewton-Raphson法で求める。
* @param x0 初期値
* @param err 許容誤差
* @param max 最大繰り返し回数
* @return 解の一つ
*/
public static double find(double x0, double err, int max) {
for (int i = 0; i < max; i++) {
double x = x0 - (x0 * x0 - 2 * x0 - 3) / (2 * x0 - 2); // x ← x - f(x) / f'(x)
if (Math.abs(x - x0) <= err) return x;
x0 = x;
}
throw new RuntimeException("解が求まらない");
}
}


810デフォルトの名無しさん:2010/11/08(月) 22:00:57
>>809
そのコメントの通りじゃないか
何がわからないんだ
811デフォルトの名無しさん:2010/11/08(月) 22:07:24
mainメソッドは、x^2-2x-3=0 の解をNewton-Raphson法によって求めるメソッド "find" に関して、
初期値を 10 にした場合と -10 にした場合の両方で、どのように求まったかを表示する。

findメソッドは、指定された最大繰り返し回数(このプログラムでは100回)にいたるか、
または誤差が許容誤差(このプログラムでは1e-10、1/(10^10))にいたるまでNewton-Raphson法を繰り返す。

Newton-Raphson法についてはまったくよくわかりません。
812デフォルトの名無しさん:2010/11/08(月) 22:09:25
813807:2010/11/08(月) 22:10:08
>>808
すいません、頭相当こんがらがっているみたいで
指定通りの形式で書き直します

GoogleAppEngineで動作させると言う条件で画像認証機能を実装したい。
ネットで調べコードを書いていると画像系クラスがサポートされていなく実装ができない。
GAEでも画像認証機能を使うにはどうすればよいか


ageた上に文章上手くかけなくてすいません
814デフォルトの名無しさん:2010/11/08(月) 22:38:21
>>813
ちょっと調べてみたよ。
ImageIOらは禁止、com.google.appengine.api.images だけでなんとかせよということらしいね。
画像認証をやるには、ただ画像を表示するだけでなく、機械に読みにくくするのが必要ということでいいね。
ImagesServiceFactory クラスで回転・変倍をかけることができるようだ。
「うねり」は無理っぽいけどなんとかいけそう。

1.com.google.appengine.api.images のクラス群をつかって、
  あらかじめ用意した画像を表示できるようになること。
2.ImagesServiceFactory を使って変倍・回転をかけられるようになること。
3.人間に読める範囲でランダムに変倍・回転をできるように調整すること。
4.文字列のランダム生成と、それにあわせた画像の配置をできるようになること。
  (A-Z, 0-9のファイルを用意しておくなど)
5.セッション管理機構を介して、提供した画像に対するユーザの入力と、
  手元にある文字列との一致をチェックできるようになること。
6.人間が「読みにくい」と判断した際に、画像を取り替えることができるようになること。

こんなもんなのかな。
6.は javascript も必要かな? オプション実装でどうぞ。
815807:2010/11/08(月) 23:22:20
>>814
com.google.appengine.api.imagesを使って簡易画像編集ソフト見たいなのは以前作った事がある。
画像回転とかも角度指定できるようなのでやってみたら90°単位でしか回転できない仕様でなかなか思ったようにいかない・・・
JCaptcha見たいのがGAEで使えると一番いいんだけどやっぱり無理なのですね。
とりあえずapi.imageで頑張って見るよ、ありがとうございます
816デフォルトの名無しさん:2010/11/09(火) 18:05:04
オライリーのajaxとJAVAの本がアメリカのアマゾンであまり評判が良くないんだが、
持ってる奴感想頼む
817デフォルトの名無しさん:2010/11/09(火) 20:17:26
Linuxのいろんなコマンドがやっているみたいにコンソール画面
で、現在行の前を書き換えるような操作ってJavaでもかけますか?
topコマンドみたいなのを自作してみたいんだがコンソールを
GUIスクリーンみたいに扱う方法がわからないのです。
818デフォルトの名無しさん:2010/11/09(火) 20:59:07
やったことないけど、エスケープシーケンス使えばできるのかな?
819デフォルトの名無しさん:2010/11/09(火) 21:03:59
もしくはJCursesみたいなcurses系ライブラリに乗っかるか
820デフォルトの名無しさん:2010/11/09(火) 23:10:10
>>819
ありがとうございます。ただ早速入手してみましたが、libjcurses.dllなるDLLが同梱されていて
Linux上ではライブラリがロードできずにコケます。。
Windowsではなにやら動いてそうなのですが。。
JNI使っているとなると、Javaだけでは無理っぽいですね。
821デフォルトの名無しさん:2010/11/10(水) 00:22:32
JCursesって環境にあわせてビルドするもんじゃないの。

>>818
エスケープではwin2k以降できない
822デフォルトの名無しさん:2010/11/10(水) 01:44:26
Linuxって言ってんじゃん。文盲?
それにエスケープなんて訳さない。莫迦?
823デフォルトの名無しさん:2010/11/10(水) 01:46:50
おまえじゃ無理
824デフォルトの名無しさん:2010/11/10(水) 01:55:28
発狂したゆとり(笑)
825デフォルトの名無しさん:2010/11/10(水) 08:47:51
jdk-6u22をインストールしたら削除の途中で致命的なエラーが出て、
インストールも削除もできなくなりました。
どうすればいいでしょうか?教えてください。よろしくお願いします。
826デフォルトの名無しさん:2010/11/10(水) 09:47:07
>>822
莫迦ってなんてよむんですか?
827デフォルトの名無しさん:2010/11/10(水) 09:52:38
>>826
かみ
828デフォルトの名無しさん:2010/11/10(水) 10:16:41
>>817

public static void main(String[] args) throws Throwable {
String txt = "なまむぎ\rなまごめ\rなまたまご\fおしまい";
for (int i=0; i<txt.length(); i++) {
if (txt.charAt(i) == '\f') {
System.out.write(0x1b);
System.out.print("[2J");
System.out.write(0x1b);
System.out.print("[0;0H");
} else {
System.out.print(txt.charAt(i));
}
System.out.flush();
Thread.sleep(500);
}
System.out.println();
}
http://hp.vector.co.jp/authors/VA016670/escape_code.html
環境によりけり? Linux だけなら大丈夫じゃないかな・・・しらんけど。
ちゃんとした作法は自分で調べてね
829デフォルトの名無しさん:2010/11/10(水) 11:14:00
Linux上でJAVAで書いたプログラムをアプレットにするために
コンパイルしてWindowsで作動しますか?
830デフォルトの名無しさん:2010/11/10(水) 11:22:26
成果物に互換があるかって意味?あるよ。
Javaはバイドコードっていうランタイム上での実行可能コードだから。
831デフォルトの名無しさん:2010/11/10(水) 11:23:41
だから何だよ。
832デフォルトの名無しさん:2010/11/10(水) 11:36:43
アプレットにするってことはWeb公開するんだろうから
フラッシュだのと同じでブラウザやプラグイン次第
833デフォルトの名無しさん:2010/11/10(水) 11:42:18
WINのJAVAがこわれたのでLinuxで作ろうとしています。
互換性はあるのですね?
834デフォルトの名無しさん:2010/11/10(水) 11:43:31
これじゃだめだw
835デフォルトの名無しさん:2010/11/10(水) 11:47:40
あるよ。
836デフォルトの名無しさん:2010/11/10(水) 12:48:30
javaのプログラミングで,ページ内のリンク数,被リンク数を取得する事は可能でしょうか?
837デフォルトの名無しさん:2010/11/10(水) 12:56:45
ページって何?
838デフォルトの名無しさん:2010/11/10(水) 13:00:09
答えないとうるさいし
可能と答えてもうるさいはず
何故なら彼は殆ど完成してるサンプルコードを所望なのだから

頼んだらコード書いてくれるスレがあったと思うよ
839デフォルトの名無しさん:2010/11/10(水) 13:04:38
>WINのJAVAがlpわれた
直せよwww
840デフォルトの名無しさん:2010/11/10(水) 16:08:14
841デフォルトの名無しさん:2010/11/10(水) 18:18:48
>>1572
HTMLのリンクを追跡したいのなら、「java HTMLパーサー」で検索すれば
いくつかあるぞ。
・Jericho HTML Parser
 100%Java言語で実装されたパーサーとしては頻繁にメンテされてる。
 間違ってHTMLじゃない動画とかを読ませると最悪OutOfMemoryError
・MozillaParser
 FirefoxのHTMLパーサーをJNI経由で呼び出す。文字コード自動認識とか得意。
 Linuxで動くボットを作って日々運転してるが、時々JNIメソッドないでハングする
 場合あり。それでも全自動で無限にリンクを追跡するようなケースでは安定性
 最高だった。JNI使っていてWindowsではデバッグ程度しか走らせてないから
 Windows上での信頼性は未知数。Linuxよりはユーザーも多いだろうし期待で
 きるかも。
842デフォルトの名無しさん:2010/11/10(水) 18:23:08
>>1577補足自己レス。
たいていのHTMLパーサーは、HTMLタグの閉じ忘れがあるだけで
OutOfMemoaryErrorとかスレッドスタックがあふれてなんとかError
をスローする場合がある。売り物にするんならHTMLパーサーは
やめて正規表現でinputとかaとかscriptタグを捕まえるほうがマシ
かもしれない。
843デフォルトの名無しさん:2010/11/10(水) 19:06:05
8進数かと思って確認したら微妙に違った
844デフォルトの名無しさん:2010/11/10(水) 19:21:07
HTML パーサならこれが良い。100% Pure Java で SAX も DOM も対応してるし
ルーズ XML でも平気で食わせられる。
http://www.koiroha.org/xmllib/
845デフォルトの名無しさん:2010/11/10(水) 19:30:02
paintComponentメソッドは誰が呼んでるの?
846デフォルトの名無しさん:2010/11/10(水) 19:41:28
>>845
例外発生させたらわかる。
847デフォルトの名無しさん:2010/11/10(水) 21:47:31
>>845
中の人が読んでいます。
848デフォルトの名無しさん:2010/11/10(水) 22:55:59
>>846,>>847
どうもです。SWINGを基本から勉強してみようと思います。
それから例外を発生させたら、AWTイベントキューのスレッドが
なんとかって出てきました。トラブルシュートのデクニックを
ありがとうございました。
849デフォルトの名無しさん:2010/11/11(木) 04:36:17
自分で呼ぶこともある
850デフォルトの名無しさん:2010/11/11(木) 08:36:08
javaでリダイレクト先のurlを取得したいのですが、どうすればよいですか?
851デフォルトの名無しさん:2010/11/11(木) 10:44:23
HttpURLConnectionならgetURL()で良いんじゃね?
852デフォルトの名無しさん:2010/11/11(木) 11:25:22
awt/swingではEventQueueがPropertyChangeEventを配信しているようですけど、ドキュメントにAWTEventについては書いてありますがPropertyChangeEventについては記述がありません。
PropertyChangeEventは誰が生成して誰が(どのスレッド)が配信しているんですか?
853デフォルトの名無しさん:2010/11/11(木) 11:39:48
>>852
http://java.sun.com/javase/ja/6/docs/ja/api/java/beans/PropertyChangeEvent.html

PropertyChangeEvent を実際に生成しているのは通常 PropertyChangeSupport っていうクラスだが、名前の通り単に本体のサポートとして処理を肩代わりしてるだけなんで、まぁプロパティを変更された各コンポーネント自身が生成しているとみなすべきかな
イベントは通常ほとんどイベントディスパッチスレッドだと思っていい
854デフォルトの名無しさん:2010/11/11(木) 12:03:52
Javaでシステムフックはやっぱり無理?
855デフォルトの名無しさん:2010/11/11(木) 12:09:45
うん
856デフォルトの名無しさん:2010/11/11(木) 12:10:06
PropertyChangeのイベント機構では、普通はcompo.addPropertyChangeListener(lis)を使って登録して、登録したlisに通知(委譲)されますが、
この通知をcompo.processEvent(AWTEvent)のように発生したソース内部で処理したいと思います。
compo.processEvent(AWTEvent)なのでPropertyChangeEventはポストされず、
compo.processPropertyChangeEvent(PropertyChange)のようなものもないので、プロパティは各種AWTEventのようにcompo内部で処理することをライブラリはサポートしてないように見えます。
自分のプロパティ変更を(addPropertyChangeListenerで登録せずに)protected compo.processEventのような方法でそのcompo自身でprop変更通知を処理するにはどうするのでしょうか。
857デフォルトの名無しさん:2010/11/11(木) 12:14:49
firePropertyChange をオーバーライドするというのはどうだろう
858デフォルトの名無しさん:2010/11/11(木) 12:17:52
SwingUtilities.invokeLater() 使え
859デフォルトの名無しさん:2010/11/11(木) 12:30:07
jpackageにアクセスできんのだがなんかあった?
860デフォルトの名無しさん:2010/11/11(木) 12:32:54
firePropertyChangeで処理するのは確実ですがPropertyChangeEvent配信前に処理することになりますよね。仕様要求は満たしますが。
PropertyChangeEventは、通常では発生元compo自身には配信されないってことでしょうか。

実際はEDTの話なのでinvokeLaterは関係ありますがswingはあまり関係ありません。
861デフォルトの名無しさん:2010/11/11(木) 12:35:15
はい
どうしてもというならコンポーネント自身が PropertyChangeListener を実装して this.addPropertyChangeListener(this) すればいいです
862デフォルトの名無しさん:2010/11/11(木) 12:38:37
>>861
それやるとinterfaceの仕様でpublic void properyChange methodが公開されてしまい改修できないバグになる。
863デフォルトの名無しさん:2010/11/11(木) 12:47:17
その通りだが、どうしてもというならやむを得ないし、渡された引数を信用せず現在の正しい値を調べてから処理すれば、いちおうランダムに呼ばれても問題は防げる
864デフォルトの名無しさん:2010/11/11(木) 13:00:45
>>857のfirePropertyChangeですけど、EDT以外のスレッドからコールしてもいいってドキュメントのどこかに書いてありましたか?
場合によってはバグになりますよね。
865デフォルトの名無しさん:2010/11/11(木) 13:04:50
そもそもコンポーネントのプロパティにEDT以外から触ること自体がご法度だから
EDT以外からfirePropertyChangeが呼ばれたらその時点ですでに何かがおかしい
866デフォルトの名無しさん:2010/11/11(木) 14:36:25
//配信してもらうんだったらこれでいい
class MyLabel extends JLabel {
 public MyLabel() {
  addPropertyChangeListener(new PropertyChangeListener() {
   public void propertyChange(PropertyChangeEvent ev) {
//別スレッドにしたいなら invokeLater などなど
   }
  });
 }
}

//PropertyChangeEvent配信前に処理することになりますよね
protected void firePropertyChange(String propertyName,
Object oldValue, Object newValue) {
super.firePropertyChange(...);
//ここで自己処理。配信後に処理することになる
//別スレッドにしたいなら invokeLater などなど
}

>>864
オーバーライドするだけなら呼び出し元スレッドは同じ
何に引っかかってるか見えないな・・・・
867デフォルトの名無しさん:2010/11/11(木) 15:03:06
それと似たコードで実験しましたが、addPropertyChangeListener(PropertyChangeListener) なのでpropNameの問題とpropイベント配信が誰なのか不明なので無限ループになります。
ただ、それでも処理の効果をviewに反映させるためにEDTが必要になりますが、PropertyChangeEventはEDTでは扱ってないので結局beans property eventはawtでサポートされてないようです。
868デフォルトの名無しさん:2010/11/11(木) 15:49:28
具体的にどういうプログラムを組んでるか分からないけど
やれることをやってないように思う

>無限ループ
new PropertyChangeListener() {
 boolean processing;
 public void propertyChange(PropertyChangeEvent ev) {
  if (processing) return; //再入禁止処理
  processing = true;
  処理(); //この処理の結果また呼ばれても、本メソッドが原因でのループにはならない
  //さらに例外処理かませておけば true になりっぱなしにならない
  processing = false;
 }
}

>viewに反映させるため
repaint とか revalidate とかやってもいかんの?
869デフォルトの名無しさん:2010/11/11(木) 18:30:45
>>866
>//別スレッドにしたいなら invokeLater などなど
必ず別スレッドになるわけじゃないから確実に別スレッドにしたいなら自前の方がいい
870デフォルトの名無しさん:2010/11/11(木) 22:50:32
あぁそうか 別スレッドになってる根拠何もないわ
指摘ありがとう
871デフォルトの名無しさん:2010/11/12(金) 00:54:44
>>850
HttpURLConnection#setInstanceFollowRedirects(false);
でリダイレクトを自動追跡しなくなります。
この状態で接続し、
・getResponseCode()が300番台(300〜302)
・getHeaderField("Location")で何か文字がとれる
上記を満たす応答がとれてきたらリダイレクト。Locationヘッダの値がリダイレクト先
です。通常Locationヘッダは完全URLだったと思いますが、たまにURIを返すヤツも
いる模様。
URL getRedirectURL(URL target) throws Exception {
HttpURLConnection ucon = (HttpURLConnection)target.openConnection();
ucon.setInstanceFollowRedirects(false);
ucon.connect();
int status = ucon.getResponseCode();
if ( status == HttpURLConnection.HTTP_MOVED_PERM
   || status == HttpURLConnection.HTTP_MOVED_TEMP
   || status == HttpURLConnection.HTTP_MULT_CHOICE ) {
  return new URL(target, ucon.getHeaderField("Location");
}
}
872デフォルトの名無しさん:2010/11/12(金) 01:16:34
最後の return null; がねぇぞよ。
873デフォルトの名無しさん:2010/11/12(金) 01:47:19
jdk-6-doc-ja.zipがsun.comから落とせねぇ。
さまよったあげく別サイトで見つけたけど…
ふざけんなよ糞オラクルが…
874デフォルトの名無しさん:2010/11/12(金) 01:51:29
Java だけ IBM が買えば良かったのにな。
875デフォルトの名無しさん:2010/11/12(金) 04:40:32
アパッチなんかもういらんだろ。
もしアパッチライブラリとウェブサーバがなくなったとしても、インターネット的に実際はあまり影響ない。(1、2年は影響があるが)
もしアパッチが解散になったとしても実際はBSDライセンスだからforkされて開発者側にも何ら影響がない。
876デフォルトの名無しさん:2010/11/12(金) 07:09:43
Eclipse Galileoを使用しているのですが、
行選択してフォーマットを選ぶと、範囲指定した部分だけ整形してくれる機能ってデフォルトではできないんでしたっけ?
以前はできていた気がするのですが…

もしプラグインなどが必要なら、どれを入れればよいのか教えていただけないでしょうか。
877デフォルトの名無しさん:2010/11/12(金) 15:07:23
ibmに成ったら終わるだろうな。
ibmから仕様ライセンス買ってibm製のjavaハード買って保守契約結ばないと使わせないとかに鳴りそう。
878チェック:2010/11/12(金) 15:22:02
以下のゲームのプログラムにBGMと効果音を付けてください。
参考にしたものがあればURLを載せてくれるとたすかります。
できれば全プログラムを載せてください。
http://guppy.eng.kagawa-u.ac.jp/2010/InfoEnvExp2/Programs2/Bong.jav...

879チェック:2010/11/12(金) 15:25:18
880デフォルトの名無しさん:2010/11/12(金) 15:42:42
BGM等を作曲してほしいという意味なら板違い
そうではなくてすでに曲データがあるのならそれを寄こせ
881デフォルトの名無しさん:2010/11/12(金) 15:57:06
「コンストラクタを呼び出す」ってどういう事ですか?
いまいちイメージが湧きません><
882デフォルトの名無しさん:2010/11/12(金) 15:58:16
「メソッドを呼び出す」 ならイメージわきますか?
883デフォルトの名無しさん:2010/11/12(金) 16:23:47
そのイメージは湧きます。ただ、コンストラクタの必要性がわかりません><
コンストラクタは初期値だと習ったんですが、

int 〇〇〇 = △ ;

とかの宣言じゃダメなんですか?(+_+)
884デフォルトの名無しさん:2010/11/12(金) 16:32:26
なんかム板でOSGiの話題ってあんまり無いよね。
885デフォルトの名無しさん:2010/11/12(金) 16:38:09
>>883
Hoge a = new Hoge(x);の動作は、イメージとしてはこんな感じです
Hoge _a = Hogeオブジェクトを未初期化の状態で確保;
_a.初期化(x);
Hoge a = _a;
886デフォルトの名無しさん:2010/11/12(金) 16:44:37
>>883
42 とか 3.14 といった数値や "abc" といった文字列は、書けばそのまま int や double, String などの値になります
それ以外の List だとか Button だとか File だとかいったオブジェクトは、直接プログラム上に書き表せる値ではありませんので、
そういったオブジェクトが欲しいときは new を使って作成します
作ったオブジェクトは、その後いろんなメソッドを使って望み状態に変えていったりするわけですが、
その前にそもそも作ったばかりの最初の状態はどんななのかというのが必要なわけで、
そのオブジェクトの最初の状態を設定する(=初期化する)のがコンストラクタです
887デフォルトの名無しさん:2010/11/12(金) 17:11:28
コンストラクタですね
888チェック:2010/11/12(金) 17:14:22
>>880
曲データは持っていません。
デフォルトの名無しさんのセンスにまかせます。
889デフォルトの名無しさん:2010/11/12(金) 17:24:40
>>883
「クラス」の必要性(プログラム設計の上での存在意義)は分かっていますか?
まずそれが分かっている必要があります。
890デフォルトの名無しさん:2010/11/12(金) 19:59:23
>>889
必要がありますね。
891デフォルトの名無しさん:2010/11/12(金) 22:21:57
あるね
892デフォルトの名無しさん:2010/11/12(金) 22:26:20
エクリプスでヘルプ日本語どうやる?
893デフォルトの名無しさん:2010/11/12(金) 22:46:44
どうやるんでしょうね
894デフォルトの名無しさん:2010/11/12(金) 22:54:41
All in one Eclipseってヘルプ日本語化してたっけ?
Eclipseのヘルプとか見たことないし覚えてないわ

まぁ、All in one Eclipseで駄目なら諦めた方がいいよ
895デフォルトの名無しさん:2010/11/12(金) 23:06:50
>>876
行選択して右クリックからformatしたら出来たと思う
896デフォルトの名無しさん:2010/11/12(金) 23:11:56
テキストデータの中に、235,256という文字が入っていて、
235,256を数字の235256に変換するにはどうしたらいいでしょうか。
parseIntは例外になりました。Stringにしてカンマを除去するしか
ないのでしょうか?
897デフォルトの名無しさん:2010/11/12(金) 23:53:54
StringTokenizer使えばいいんじゃないの
898デフォルトの名無しさん:2010/11/13(土) 00:06:00
>>896
NumberFormat#parse()を使う
899デフォルトの名無しさん:2010/11/13(土) 00:08:49
int i = Integer.parseInt("235,256".replaceAll(",", ""));
900デフォルトの名無しさん:2010/11/13(土) 00:20:53
int parseNumber(String strNumber) throws java.text.ParseException {
java.text.DecimalFormat fmt = new DecimalFormat("#,###");
return fmt.parse("235,256").intValue();
}
901デフォルトの名無しさん:2010/11/13(土) 00:29:54
他人が作ったライブラリにFooという型があります。
自作ライブラリにBarという型があります。
FooからBarへ型を変換したいです。

Bar#valueOf(Foo foo)というクラスメソッドをつくるのか、
FooUtil#fooToBar(Foo foo)というクラスメソッドをつくるのか、普通の人はどっちがいいでしょうか?

前者はすっきりとコードが書けるし、ライブラリの利用者にとっても解りやすいように思います。
後者はライブラリ間の依存関係がユーティリティクラスに集約されているので、保守性の点で優位だとおもいます。
902デフォルトの名無しさん:2010/11/13(土) 00:34:25
FooUtil#fooToBar(Foo foo)を作り、
Bar#valueOf(Foo foo)の内部でFooUtil#fooToBar(Foo foo)を呼び出す。
903デフォルトの名無しさん:2010/11/13(土) 01:08:37
>>897,>>898,>>899
ありがとうございました
904デフォルトの名無しさん:2010/11/13(土) 01:10:58
>>900
ありがとうございました
905デフォルトの名無しさん:2010/11/13(土) 02:03:10
>>901
依存関係の観点からは、集約されているから優位なのではなく
Barから切り離されているために、
後からあたらなクラスHogeが出てきてBarクラスへの変換が必要になっても
Barクラス及びそれに依存しているクラス・パッケージには影響がないことが優位
906デフォルトの名無しさん:2010/11/13(土) 06:53:12
>>894
All in One Eclipseって「All-In-One Project」のやつか?
それなら、Pleiadesの方がいいと思う。
907デフォルトの名無しさん:2010/11/13(土) 13:42:47
ツェラーの公式で曜日がずれるんだけどどうすればいいの?
908デフォルトの名無しさん:2010/11/13(土) 13:47:08
>>907
ほかの公式を使う
909デフォルトの名無しさん:2010/11/13(土) 14:12:07
公式のタイプミスでしたorz
910デフォルトの名無しさん:2010/11/13(土) 23:35:38
Javaでオブジェクトをcloneするというときは、
ディープコピーのことでしょうか?シャロウコピーのことでしょうか?
911デフォルトの名無しさん:2010/11/13(土) 23:42:37
Javaでのディープコピーは特殊な操作をしないとムリ
912デフォルトの名無しさん:2010/11/13(土) 23:55:43
Object#clone() はシャローコピー
ディープコピーなら一度シリアライズして復元すれば良いが、Serializable 付けておきながら
実際やると不具合出るようなクラス作る奴たまに居るんだよな。
913デフォルトの名無しさん:2010/11/14(日) 01:20:33
>>910
オブジェクトの内部にあるオブジェクトもclone()してやると
深いコピーになる
914デフォルトの名無しさん:2010/11/14(日) 06:51:03
>>913
つまりコピーコンストラクタじゃん。
もっとちんぽんかんにやりたいなら、シリアライズしてデシリアライズすればディープコピーになる。
915デフォルトの名無しさん:2010/11/14(日) 15:09:47
>>910
一般的にはディープコピーのことだろうね。
なのでcloneメソッドを実装してやる必要がある。
916デフォルトの名無しさん:2010/11/14(日) 15:25:02
cloneをディープコピーで実装したら簡単に無限再帰に陥りそうだ
917デフォルトの名無しさん:2010/11/14(日) 15:29:26
まぁ clone 対象の内部実装まで意識して使う必要がある Java のちょっと泥臭い部分だわな。
配列かプリミティブに近いデータ型か、javadoc でキッチリ挙動が書いてあるものくらいでしか使ってないが。
918デフォルトの名無しさん:2010/11/14(日) 15:32:30
.NETにもJavaを真似たICloneableインターフェイスがあるけど最近は非推奨になってるよ
仕様が曖昧すぎてインターフェイスとしては使い物にならないらしい
919デフォルトの名無しさん:2010/11/14(日) 15:55:32
もうマイクロソフト様様だな
920デフォルトの名無しさん:2010/11/14(日) 17:58:12
String s = "20101113 12345 9876543 cおはよう u150,000 az75000 ";
sから正規表現で、"おはよう"、だけを抜き出すことはできますか?
921デフォルトの名無しさん:2010/11/14(日) 18:03:26
>>920
できます
922デフォルトの名無しさん:2010/11/14(日) 18:03:46
920追記
String s = "20101113 12345 9876543 cおはよう u150,000 az75000 ";
は、文字列は入れ替わることがあって、例えば、
String s = "20101113 12345 9876543 u150,000 cおはよう az75000 ";
などもあります。"c"に続く文字列は何が来るかわかりません
接頭語は"c"と"u"と"az"しかありません。
例えば、"cおはよう"、や、"cお  はよ う"、などもありえます
923デフォルトの名無しさん:2010/11/14(日) 18:35:17
net.example.IHoge←インタフェース
net.example.Hoge←実装クラス

net.example.Hoge←インタフェース
net.example.HogeImpl←実装クラス

net.example.Hoge←インタフェース
net.example.internal.HogeImpl←実装クラス
ってどれがが良いの?
924デフォルトの名無しさん:2010/11/14(日) 18:41:03
>>922
できます
925デフォルトの名無しさん:2010/11/14(日) 18:41:22
2つめで HogeImpl をパッケージプライベート。
実装のバリエーションが出るなら3つめ。
926デフォルトの名無しさん:2010/11/14(日) 19:00:20
net.example.Hoge ←インタフェース
net.example.DefaultHoge ←実装クラス
927デフォルトの名無しさん:2010/11/14(日) 23:45:55
テックスコアとJavaへの道以外に良教材サイト教えてくれ
928デフォルトの名無しさん:2010/11/14(日) 23:52:04
ひしだま's 技術メモページ
929デフォルトの名無しさん:2010/11/15(月) 01:33:08
JavaからAntを呼び出してコンパイルするプログラムを作っているのですが、
その出力メッセージが、
buidLogger.setOutputPrintStream(new PrintStream(System.out));
というものによりコンソールに表示されるようになっています。

このコンソールに表示される文字列を、変数に格納して別の部分で使いたいと思っているのですが、どうすれば格納することが出来るのでしょうが?
930デフォルトの名無しさん:2010/11/15(月) 01:40:42
System.out じゃない別の出力先 (自分で new した ByteArrayOutputStream とか FileOutputStream とか) を指定すればよろしいかと思います
931デフォルトの名無しさん:2010/11/15(月) 01:57:24
>>930
レスありがとうございます。試しに、
ByteArrayOutputStream baos = new ByteArrayOutputStream();
buildLogger.setOutputPrintStream(new PrintStream(baos));
byte b[] = baos.toByteArray();
for(int i=0;i<b.length;i++){
System.out.println((char) b[i]);
}
このようなコードでやってみましたが、うまくログが表示されません。
何か根本的な勘違いをしているのでしょうか?
932デフォルトの名無しさん:2010/11/15(月) 02:22:59
setしただけですべてのメッセージが出力されるのか?
setしてからメッセージを出力し、それが終わってから表示しないと無意味じゃないのか?
933デフォルトの名無しさん:2010/11/15(月) 02:51:45
>>932
レスありがとうございました!
なんとかできそうです。
934デフォルトの名無しさん:2010/11/15(月) 07:28:32
クラスのオブジェクト化で
Person a = new Person();
といった形で覚えますが、そのうち = の左右でクラスが異なる場合がありますが
これはどういうことなんでしょう?
935デフォルトの名無しさん:2010/11/15(月) 07:49:36
親子
936デフォルトの名無しさん:2010/11/15(月) 09:06:21
あー継承がどうたらという奴ですね。有難うございます。
937デフォルトの名無しさん:2010/11/15(月) 11:32:34
あの・・・・・・一つ聞いていいですか?

>>921,924
どうやって?
938デフォルトの名無しさん:2010/11/15(月) 11:44:42
少しは自分で考えてみるべきだ
Matcher m = Pattern.compile(" c([^ ]+)").matcher("20101113 12345 9876543 cお  はよ う u150,000 az75000 ");
m.find();
System.out.println(m.group(1));
939デフォルトの名無しさん:2010/11/15(月) 15:06:44
ゆとりはソース付きで1から10まで答えを出してあげないと
常駐荒らしに化けるみたいだから
その執着心でAPIリファレンスでも読めばいいのに
>>602>>608>>636
940デフォルトの名無しさん:2010/11/15(月) 15:35:51
そんなん昔からだっての
おまえがゆとり
941デフォルトの名無しさん:2010/11/15(月) 16:59:41
300以上前のレスまで掘り返してバカ回答者逆切れ
942デフォルトの名無しさん:2010/11/15(月) 21:19:45
「逆」ではねーだろ
943デフォルトの名無しさん:2010/11/16(火) 15:05:17
List<String>
という型の意味は、
中にString型オブジェクトのみが入ってるList
という認識で合ってますか?

List<Class<? extends T>
こんな表記も見かけるのですが、これはどういう意味なのでしょうか…?
944デフォルトの名無しさん:2010/11/16(火) 15:26:52
>>943
合ってます
List<Class<? extends T>> は、 Class<? extends T> が入ってる List です

? extends T というのは、T 自身または T を extends/implements したクラスならなんでも ok という意味です
Class<? extends T> は、T 自身または T を extends/implements したクラスの Class オブジェクトです
945デフォルトの名無しさん:2010/11/16(火) 18:12:16
>>841
>>844
antlr
946943:2010/11/16(火) 18:51:26
>>944
ありがとうございます!
とてもよく分かりました。
Classというクラスがあったのですね。。
947デフォルトの名無しさん:2010/11/16(火) 21:35:25
http://guppy.eng.kagawa-u.ac.jp/2010/InfoEnvExp2/Programs2/Bong.java
にスペースキーを押したら一時停止し、もう一度スペースキーを押したら再開するように書き加えてくれませんか。
948デフォルトの名無しさん:2010/11/16(火) 22:18:38
>>943
でもさ、それってよくわかんないよね
俺もtemplateを勉強するまでイマイチわからなかった
949デフォルトの名無しさん:2010/11/16(火) 22:36:21
AtomicBooleanの使い道を教えろてください
950デフォルトの名無しさん:2010/11/16(火) 22:46:42
AtomicBooleanの使い道を教えてください
951デフォルトの名無しさん:2010/11/16(火) 23:45:06
千葉ロッテ下さい
952デフォルトの名無しさん:2010/11/17(水) 15:55:23
Strutsって便利ですか?
全部javaで書いた方がいい気がするんですが
953デフォルトの名無しさん:2010/11/17(水) 16:04:14
Strutsも全部Javaで書かれてますよ
954デフォルトの名無しさん:2010/11/17(水) 16:08:55
>>952
車輪の再発明するより、すでにあるもの使って楽をするのも時には、大事
まぁ、仕様を理解する時間がかかりそうなら、車輪の再開発も悪くないけどね
955デフォルトの名無しさん:2010/11/17(水) 17:50:47
int yymmdd = Integer.parseInt(inTable[0]);
int y = Integer.parseInt(inTable[0].substring(0, 4));
int m = Integer.parseInt(inTable[0].substring(4, 6));
int d = Integer.parseInt(inTable[0].substring(6, 8));
いま、こういうふうに書いているんですけど、
yymmddに代入したら、y,m,dに自動的に部分代入できるような
記述は出来ないんでしょうか?
956デフォルトの名無しさん:2010/11/17(水) 18:30:45
できません
yymmddが変わるたびに毎回実行してください
957デフォルトの名無しさん:2010/11/17(水) 18:59:31
>>955
せいぜい、何らかのオブジェクトを用意してメソッドを介してのみ得られるようにする
public class YmdData {
 private int yymmdd;
 //private int y;
 public void setSorce(String s) {
  yymmdd = Integer.parseInt(s);
  //y = Integer.parseInt(s.substring(0, 4));
 }
 public int getY() {
  return yymmdd/10000; //もしくはこれをやめる代わりに、他の3箇所のコメントを生かす
  //return y;
 }
}
など。

インスタンス管理がわけわかめになるなら、観念して >>955 のままでどうぞ
958デフォルトの名無しさん:2010/11/17(水) 19:00:56
あっ Sorce!?
959デフォルトの名無しさん:2010/11/17(水) 19:15:23
>>956 >>957 ありがとうございました。
960デフォルトの名無しさん:2010/11/17(水) 19:22:09
>>955
こんなのはどうですか?
public class YMD {
  public final int fullYMD;
  public final int year;
  public final int month;
  public final int day;
  public YMD(String strYyyyMMdd) {
    this.fullYMD = Integer.parseInt(strYyyyMMdd);
    this.year = Integer.parseInt(strYyyyMMdd.substring(0, 4));
    this.month = ・・・;
    this.day = ・・・;
  }
  public int hashCode() { this.fullYMD; }
  public boolean equals(Object obj) { return this.fullYMD == obj.hashCode(); }
  /**現在日時のaddVal日先を示すYMDを返す。
   * @param addVal 加算日数。負の数も可。
   */
  public YMD dayPlus(int addVal) {
    Calendar cal = Calendar.getInstance();
    cal.reset();
    cal.set(this.year, this.month - 1, this.day);
    cal.add(Calendar.DAY_OF_MONTH, addVal);
    return new YMD(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1, cal.get(DAY_OF_MONTH));
  }
}
equalsとhashCodeを実装し、プロパティをコンストラクタ以外で変更不可
にしているので、Mapのキーとして使用しても安全でStringをキーにする場合とか
より高速に動くと思います。
さらに欲を出すとcomparableとかSerializableとかいろいろ乗せられます。
961デフォルトの名無しさん:2010/11/17(水) 19:27:27
なんでもいいが equals が適当すぎるのが気になる
null チェックと getClass() チェック入れようぜ
962デフォルトの名無しさん:2010/11/17(水) 19:32:38
>>961
equalsにnull渡したら普通ぬるぽだろうから、それはいいんじゃね?
Mapのキーにすることにこだわらなければequalsの速度は
たいして重要じゃないから、その場合は型チェックもいいかもですね。
 ただこれも問答無用キャストでおかしな型渡したら呼び出し元が悪い
っていう処理でいいような。。。Stringなどの組み込みクラスがやらない
処理はSUNやOracleが面倒を理由にハショったのではなくて、やるべ
きでないという判断があるからだと思うぞ。
963デフォルトの名無しさん:2010/11/17(水) 19:48:24
>>962
Mapはキーにnullも使えるけど、そういうことをしないように気をつけるってことだな
型チェックは偶然他のクラスとハッシュ値がかぶったら困る・・・例えば ymd.equals("Hoge") が true になるかもしれん
Map<Object,Object> ならキーに YMD も String も Integer もごっちゃに放り込めるけど、そういうことをしないように気をつけるってことだな
それらの制約がすべてドキュメント化されていれば、まぁ別にそれでもいいかと思う
964デフォルトの名無しさん:2010/11/17(水) 20:04:48
>>960 ありがとうございます。>>961->>963 関連でありがとうございます
965デフォルトの名無しさん:2010/11/17(水) 20:05:12
なんというか・・・笑えるw
966デフォルトの名無しさん:2010/11/17(水) 20:11:28
>>963
好みの関係もあるのでしょうが、バグの可能性が高いコードに対して曲がりなりにも
よさげな応答を返す実装は個人的に嫌いなんですよ。
equalsは違う型同士の比較に使ってはいけないというのは一般的にそうだし、
nullとそうでない値はequalsを呼ばずとも同じでないことが明らか。
その場合にfalseを返して先に進ませたところで、どの道ちゃんと動かないケースが
あるでしょう。最初に異常が見つかった時点でエラーを丸めずわざとコケさせる方
が、追いかけるソースの量が少なく済む分だけ全うなな品質ができるまでの所要
工数は短くなると思っています。
それにMapのキーに入れた場合に内部で発生するequalsはhashCode()が同じ値
を返すもの同士の比較に対してだけ発生しますが、nullのハッシュコードは求めよ
うがないため、nullとnullではないオブジェクトの比較がMapによって引き起こされる
ことはないはずですよ。
967デフォルトの名無しさん:2010/11/17(水) 20:19:41
SHA1やMD5などあるがJavaのハッシュ計算アルゴリズムは何使ってるの?
968デフォルトの名無しさん:2010/11/17(水) 20:27:51
>>967
Object#hsahCode()の中身は特に決まったアルゴリズムがありません。
equalsをオーバーライドする各クラスの特性に応じて適切にオーバーライド
することが推奨されています。
ただし、絶対守るべきルールとして「a.equals(b)」がtrueを返す場合に
「a.hashCode() == b.hashCode()」がfalseになってはなりません。
また次の用件を可能な限り満たすように実装することが期待されます。
・a.equals(b)がfalseとなるようなオブジェクトでは、できるだけ
 a.hashCode() == b.hashCode()もfalseとなるように実装する。
・可能な限り高速に計算できるようにする。またはhashCode()が
 戻り値で返す値は、計算結果をprivateメンバなどにキャッシュし、
 高速に動作するように工夫する。

ちなみにObject#hashCode()は確か固定値で1を返します。
String#hashCode()は文字コードの掛け算と足し算で計算した無意
味値を返しますが、文字列が長い場合は計算時のCPU負荷があ
がってしまう可能性があるため、hashCode()が最初に呼び出され
た時にハッシュを計算し、その値をprivateなメンバ変数にキャッシ
ュしています。
969デフォルトの名無しさん:2010/11/17(水) 20:33:13
nullもハッシュコードあるよ
HashMapの実装はときどき変わってるみたいなんだけど・・・最近はnullのハッシュコードは0のようだ
1.6.0_22 でこれ実行したらぬるぽで落ちた
http://codepad.org/mn1zUKxx
970デフォルトの名無しさん:2010/11/17(水) 20:39:25
>>967
ちょーテキトー
IntegerのhashCodeなんてこれだけだぜ

public int hashCode() {
return value;
}
971デフォルトの名無しさん:2010/11/17(水) 21:00:58
>>968
長文乙
972デフォルトの名無しさん:2010/11/17(水) 21:26:54
>>969
それって System.identityHashCode(null) すると 0 が帰るってだけでしょ。
973デフォルトの名無しさん:2010/11/17(水) 22:08:21
>>972
単にHashMapがnullを0扱いするだけ
974デフォルトの名無しさん:2010/11/17(水) 22:27:46
下記のようなデータを持つテキストファイルを読んで処理したいのですけど
20101201 235000 xxxxx....
20101202 235000 xxxxx....
...
まずデータを読み込んで各種チェックなどをしてListに格納しました。
そうして、キーになる日付の重複がないかチェックするときに、
それだけのために、Setに移してデータ件数をListのものと比較するのは
大袈裟ですか?
975デフォルトの名無しさん:2010/11/17(水) 22:32:35
いや別に。
重複削除のためにSetに詰め替えるのはまれによくある。
976デフォルトの名無しさん:2010/11/17(水) 22:45:08
最初からSetに詰めれば手間が省ける
すでにあったらaddがfalseを返してくれる
977デフォルトの名無しさん:2010/11/17(水) 22:48:07
まれなのかよくあるのか
はっきりしる
978デフォルトの名無しさん:2010/11/17(水) 22:54:19
JAXB以外でマーシャル・アンマーシャル(シリアライズ・デシリアライズ)できるものってありますか?
979デフォルトの名無しさん:2010/11/17(水) 22:58:15
>>974
重複の有無だけを調べたいんだったら、全部移さんでも、
 contains を使う
 Set に add する前とした後で件数変わってなかったら
という調べ方もあるよ
980デフォルトの名無しさん:2010/11/17(水) 22:59:31
>>975 >>976 ありがとうございます。
974ですけど、Listにチェック済みのデータを格納して、それから、
色々処理したいのですが、そのときに、forでループさせて、先頭から、
終わりまで読めるのが条件なんですけど、今はArrayList<String[]>で
格納してるけど、最初からTreeSetにしてたほうがいいのでしょうか。
Set系はforでループできたでしょうか?
981デフォルトの名無しさん:2010/11/17(水) 23:08:20
>>980
>Set系はforでループできたでしょうか?

おいwwww
小難しい概念はともかく、Set はインデックスがないだけの List でしかないぞ。
982デフォルトの名無しさん:2010/11/17(水) 23:32:06
             /ヽ       /ヽ
            /  ヽ      /  ヽ
  ______ /     ヽ__/     ヽ
  | ____ /           :::::::::::::::\
  | |       //       \  :::::::::::::::|
  | |       |  ●      ●    ::::::::::::::|
  | |      .|             :::::::::::::|
  | |       |   (__人__丿  .....:::::::::::::::::::/
  | |____ ヽ      .....:::::::::::::::::::::::<
  └___/ ̄ ̄       :::::::::::::::::::::::::|
  |\    |            :::::::::::::::::::::::|
  \ \  \___       ::::::::::::::::::::::::|
983デフォルトの名無しさん:2010/11/17(水) 23:40:01
>>980
Setだけに挿入する処理だと、日付文字列がイコールならその他の全てのメンバー変数
(日付文字列の右にある詳細な値)が全く異なっている場合であっても、equals()がtrueを
返すように実装する必要があります。
可能であればMap<String, 読み出したデータ>みたいな感じで、キーが日付文字列、
valueがテキスト行の解析結果という構造が理想では?
そうなると、TreeMapとかLinkedHashMapを使って読み出したデータを並び順を
保持しつつ蓄積していくのが良いと思います。
※Map#put(key, value)メソッドは、同じkeyに対して既にデータが登録されていた
 場合、古いvalueオブジェクトへの参照を戻り値で返します。
 なので、(map.put(日付, 読んだデータ) != null)となる場合は同じキーに対して
 すでに別のvalueが関連づけられていた=>同じ日付のレコードが2件以上存在
 と評価できます。
 ただしこの方式でやる場合はvalueにnullをputしてはいけません。
984デフォルトの名無しさん:2010/11/18(木) 00:06:11
>>979 >>981 >>983 ありがとうございました
985デフォルトの名無しさん:2010/11/18(木) 00:54:42
Integer#getInteger(String nm)っておかしくね?
なんでIntegerクラスに環境変数に関するメソッドがあるんだよwwww
986デフォルトの名無しさん:2010/11/18(木) 01:12:36
>>985
君は見てはいけないものを見てしまった・・・
987デフォルトの名無しさん:2010/11/18(木) 01:21:04
TreeMapのComparatorみたいに、HashMapにもハッシュの計算方法を外部から差し込めるインタフェイスがあればいいのに
988デフォルトの名無しさん:2010/11/18(木) 02:06:59
Ubuntu上のJavascript から lsコマンドを実行したいのですが、それは可能でしょうか。
989デフォルトの名無しさん:2010/11/18(木) 02:16:14
>>988
JavaでJavascriptのインタプリタを書いてlsコマンドをAPIとして与えればよい
990デフォルトの名無しさん:2010/11/18(木) 02:16:30
1を読むべき
> JavaScript, Ajaxの質問は、ここでは受け付けていません。
991デフォルトの名無しさん:2010/11/18(木) 02:26:52
class Ppppp{
public static void main(String[] args){
Person[] p = new Person[2];
p[0] = new Person("a", "a1");
p[1] = new Person("b", "a2");
for(int i = 0;i < p.length;i++){
printPerson(); //7行目????
}
}
static void printPerson(){
System.out.println() //11行目????
}
}
class Person{
private String name;
private String bland;

Person(String name, String bland){
this.name = name;
this.bland = bland;
}
public String getName(){
return name;
}
public String getBland(){
return bland;
}
}
a, a1
b, b1 と表示させたいのですが
7行目と11行目の()の中がどうしてもうまくいかなくて、どう直せばいいのでしょうか?
11行目で表示ロジックで、7行目でループを使ってprintPersonを呼び?たいです
992デフォルトの名無しさん:2010/11/18(木) 02:31:07
printPerson( p[i] );

static void printPerson(Person p) {
System.out.println(p.name + ", " + p.bland);
}
993992:2010/11/18(木) 02:31:52
失敬。間違い。
System.out.println(p.getName() + ", " + p.getBland());
994デフォルトの名無しさん:2010/11/18(木) 02:36:28
>>993
ありがとうございました
995デフォルトの名無しさん:2010/11/18(木) 19:16:02
javaのダウンロードページ死んでないかな?
ttp://java.sun.com/javase/ja/6/download.html
自分だけですかね?
996デフォルトの名無しさん:2010/11/18(木) 19:28:57
997デフォルトの名無しさん:2010/11/18(木) 21:01:09
ねーおじさん達
javadocって開発でつけてる?規約作れ!って言われて作ってるんだけど
そのコメント規約で、クラスとかメソッドにjavadocつけようかつけまいか悩んでるんだけど
大規模ならつけて、小規模ならつけなくて良いよね?
998デフォルトの名無しさん:2010/11/18(木) 21:06:01
そんな適当な基準ねーよ
作れって言ってる奴と相談しろ
999デフォルトの名無しさん:2010/11/18(木) 21:06:52
>>997
大規模とか小規模とかどこで区切るのさ
1000デフォルトの名無しさん:2010/11/18(木) 21:07:17
>>997
死ねよチンカス
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。