★★Java質問・相談スレッド138★★
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/05/01(土) 12:46:59プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 ttp://pc11.2ch.net/hp/
Webプログラミング ttp://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質問・相談スレッド137★★
http://pc12.2ch.net/test/read.cgi/tech/1268702584/
次スレは>>950あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/
0002デフォルトの名無しさん
2010/05/01(土) 12:47:40■ 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アプリ) Part20
http://pc12.2ch.net/test/read.cgi/tech/1253532993/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
ttp://pc12.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
GoogleAndroidアプリ作成part3
http://pc12.2ch.net/test/read.cgi/tech/1268692293/
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 69 ★★
http://pc12.2ch.net/test/read.cgi/tech/1267796762/
■ NetBeansに関する雑談は --
NetBeans Part5【Java/C++/Ruby/Python/PHP】
http://pc12.2ch.net/test/read.cgi/tech/1247926906/
■ Eclipseに関する雑談は --
Eclipse統合M29【Java/C++/Ruby/Python/Perl】
http://pc12.2ch.net/test/read.cgi/tech/1265820185/
0003デフォルトの名無しさん
2010/05/01(土) 12:48:21■ 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
0004デフォルトの名無しさん
2010/05/01(土) 12:49:47乙>俺w
0005デフォルトの名無しさん
2010/05/01(土) 13:44:130006デフォルトの名無しさん
2010/05/01(土) 14:27:150007デフォルトの名無しさん
2010/05/01(土) 14:39:120008デフォルトの名無しさん
2010/05/01(土) 14:41:550009デフォルトの名無しさん
2010/05/01(土) 15:07:46それはね、論理左シフトと算術左シフトは結果が同じだからですよ。
0010デフォルトの名無しさん
2010/05/01(土) 15:09:390011デフォルトの名無しさん
2010/05/01(土) 15:18:4210000010 (-126) → 00000100 (4)
になるってこと? 1000100(-60) にはならないってこと?
0012デフォルトの名無しさん
2010/05/01(土) 15:20:59アホ
0013デフォルトの名無しさん
2010/05/01(土) 15:22:43勉強しなおせ
0014デフォルトの名無しさん
2010/05/01(土) 15:23:26低脳のクズが市ね
0015デフォルトの名無しさん
2010/05/01(土) 15:33:340016デフォルトの名無しさん
2010/05/01(土) 16:01:460017デフォルトの名無しさん
2010/05/01(土) 16:15:590018デフォルトの名無しさん
2010/05/01(土) 16:17:16算術シフトは符号ビットを入れるルール
× 1000100
○ 1000101
0019デフォルトの名無しさん
2010/05/01(土) 16:23:591001 1000 (-104)を算術左シフトすると
1011 0000 (-80)になっちまう
0020デフォルトの名無しさん
2010/05/01(土) 16:25:350021デフォルトの名無しさん
2010/05/01(土) 16:32:34算術
左シフト 0 001 0000
右シフト 1 100 0100
論理
左シフト 0 001 0000
右シフト 0 100 0100
0022デフォルトの名無しさん
2010/05/01(土) 16:38:39上シフトや下シフトが無いのも差別ニダ!
0023デフォルトの名無しさん
2010/05/01(土) 16:42:27>>21
論理シフトは符号付に向いてないからいいとして
算術左シフトで、結果的に元の数が負だったのが
00010000という負でない数になってるのは正しいのですか?
0024デフォルトの名無しさん
2010/05/01(土) 16:46:25ttp://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E6%BC%94%E7%AE%97
Wikipediaだと算術左シフトは符号ビット無視してる
シフト演算 - Security Akademeia
ttp://akademeia.info/index.php?%A5%B7%A5%D5%A5%C8%B1%E9%BB%BB
このサイトだと算術左シフトは符号ビット残してる
どっちが正しいのか
0025デフォルトの名無しさん
2010/05/01(土) 16:50:57CやJavaだと算術左シフト=論理左シフトになる。
0026デフォルトの名無しさん
2010/05/01(土) 16:55:37符号ビット残すと数値がおかしくなるので
算術左シフト自体に利用価値が無い。使うような用途が無い。
だから存在しない
0027デフォルトの名無しさん
2010/05/01(土) 17:24:5610011000 (-104)を-208にするためにはどうすればいいってばよ?
0028デフォルトの名無しさん
2010/05/01(土) 17:48:548bitしかかいてないのでbyteデータだとすると
論理
×右シフト 0 100 0100
○右シフト 1 100 0100
なぜなら、論理シフトであろうと、シフトする前に32bitに符号拡張される謎仕様だから
0029デフォルトの名無しさん
2010/05/01(土) 18:00:490030デフォルトの名無しさん
2010/05/01(土) 18:05:15int a=-104;
System.out.println("a="+a);
a*=2;
System.out.println("a="+a);
//Output
// a=-104
// a=-208
0031デフォルトの名無しさん
2010/05/01(土) 18:20:168bitでは-208は表せませんが
0032デフォルトの名無しさん
2010/05/01(土) 20:58:150033デフォルトの名無しさん
2010/05/01(土) 21:04:178bit整数を負符号オンリーで現せば ほら 0〜-255 この通り1
0034デフォルトの名無しさん
2010/05/01(土) 21:30:380035デフォルトの名無しさん
2010/05/01(土) 22:08:470036デフォルトの名無しさん
2010/05/01(土) 22:19:55算術左シフトなんて需要ないだろ・・・
0037デフォルトの名無しさん
2010/05/01(土) 22:30:05int hugo(byte n) {
return -127+(int)n;
}
0038デフォルトの名無しさん
2010/05/01(土) 23:39:30Javaに限らなければ需要はあるぞ
オーバーフローフラグを持つCPUなら算術シフトと論理シフトでフラグの変化が違う
0039デフォルトの名無しさん
2010/05/02(日) 00:06:290040デフォルトの名無しさん
2010/05/02(日) 01:46:570041デフォルトの名無しさん
2010/05/02(日) 03:38:40内部クラス
0042デフォルトの名無しさん
2010/05/02(日) 04:33:26なるほど。以外に不便そうだな内部クラスってのは
0043デフォルトの名無しさん
2010/05/02(日) 04:38:57private static ClassA classA;
ClassA() {
classA=this;
ClassB classB=new ClassB();
}
void hoge() {
System.out.println("hoge!");
}
class ClassB {
ClassB() {
this.hoge();
ClassA.classA.hoge();
}
void hoge() {
System.out.println("hoge?");
}
}
}
0044デフォルトの名無しさん
2010/05/02(日) 10:52:12全ての食物は食物クラスを継承する
このような考えを元に継承を考えたとき、多重継承が無いJavaでは
どちらにも該当するりんごクラスなどをどのように実装すればいいんでしょうか?
0045デフォルトの名無しさん
2010/05/02(日) 11:36:03}
interface Eatable(
}
class Apple extends Plant implemnts Eatable{
}
こんなんでどうでしょ?
食べられるものにはEatableを実装と言うことで。
0046デフォルトの名無しさん
2010/05/02(日) 12:55:39あと別にクラスで無理やり自然界を記述しなくてもいいから。
0047デフォルトの名無しさん
2010/05/02(日) 13:00:460048デフォルトの名無しさん
2010/05/02(日) 13:16:38そんな危ないことしなくても、外側のメンバを直接呼び出すか、
名前がかぶっているなら ClassA.this.hoge(); でいい
0049デフォルトの名無しさん
2010/05/02(日) 15:12:41クラス名.thisの参照方法を知らないんだろ。
0050デフォルトの名無しさん
2010/05/02(日) 15:38:55private static ClassA classa = new ClassA();
private ClassA() { new ClassB(); }
public ClassA getInstance() { return classa; }
public void hoge() { System.out.println("hoge!"); }
private class ClassB {
public ClassB() { hoge(); ClassA.hoge(); }
public void hoge() { System.out.println("hoge?"); }
}
}
何となく、>>43のを書き直してみた
専ブラで書いたから、スペルとか間違えてるかも
0051デフォルトの名無しさん
2010/05/02(日) 23:25:06>クラス名.this
kwsk
0052デフォルトの名無しさん
2010/05/02(日) 23:27:13本来の形から>>40の意図に合わせて単純化されたクラスをそのように直してしまってもいいのでしょうか?
0053デフォルトの名無しさん
2010/05/02(日) 23:32:550054デフォルトの名無しさん
2010/05/02(日) 23:34:11Java で内部クラスから外部クラスの関数を明示的に呼ぶときはどう書くのか教えてください。 - 人力検索はてな
http://q.hatena.ne.jp/1122203296
0055デフォルトの名無しさん
2010/05/02(日) 23:37:53{
ClassA()
{
new ClassB();
}
class ClassB
{
ClassB()
{
new ClassA();
}
}
}
0056デフォルトの名無しさん
2010/05/03(月) 00:15:310057デフォルトの名無しさん
2010/05/03(月) 01:05:35実際にこんなコード渡されたらぶちぎれるw
0058デフォルトの名無しさん
2010/05/03(月) 04:28:51例えば
switch (n) {
case 1:
hoge();
break;
case 2:
hoge2();
break; //←これとか
}
switch (p) {
case 1:
hogehoge();
break;
case 2:
hogehoge2();
break;
default:
hogehoge3();
break; //←これとか
}
0059デフォルトの名無しさん
2010/05/03(月) 04:35:52書く癖を付けとけ。
0060デフォルトの名無しさん
2010/05/03(月) 05:05:180061デフォルトの名無しさん
2010/05/03(月) 05:14:010062デフォルトの名無しさん
2010/05/03(月) 05:21:31仕事でコーディング規約とかなければその程度は良いんじゃねぇか。
0063デフォルトの名無しさん
2010/05/03(月) 08:54:01Findbugsに全てを委ねてる
0064デフォルトの名無しさん
2010/05/03(月) 13:20:00っていう宗教戦争を投げかけてみる。
0065デフォルトの名無しさん
2010/05/03(月) 13:29:22defaultにAssertionErrorをスローするコードとか書くんじゃね?
0066デフォルトの名無しさん
2010/05/03(月) 16:06:41ListIterator#previous()で反復子を前に移動したかったのに。
next()しかできないよ。
しぶしぶLinkedHashSet使うの辞めてLinkedListにしたけど。
Setは重複を許さないから使い勝手がいいと思ったんだけどな。
LinkedListにしたので挿入時に重複チェックしなきゃならない。
もっといいCollection型はないかな?
0067デフォルトの名無しさん
2010/05/03(月) 16:12:17これを、反復子を移動させてから隣の要素とるように指定できないだろうか。
006867
2010/05/03(月) 16:29:46List<String> ll = new LinkedList<String>();
ll.add("A");
ll.add("B");
ll.add("C");
ListIterator<String> it = new ListIterator<String>();
String result;
it.next();
result = it.next();
it.previous();
return result; .//これでカーソルをAとBの間に移動しつつBを取得できる。
next()二回実行してprevious()を実行するというやり方。
逆方向の場合はprevious()を二回実行してからnext()を実行。
問題はListの末端に来たときの処理も作っておかないといけないのが難点。
if(lt.hasNext())とかif(it.hasPrevious())とかでまいどまいどチェックしないといけない。
本当は、末端に来てnext()したら先頭に戻る永久ループ型のIteratorが欲しいのだが…。
時計の針のように12時になったら0時からスタートする、というIterator。
Apache Common Collectionsあたりでも探すしかないだろうか…。しかしあのCollection Frameworkはまだ
Genericsに完全対応していないし…。
006967
2010/05/03(月) 16:48:13案の定、Genericsに対応していない残念なコレクションフレームワークだった。
http://commons.apache.org/collections/api-release/org/apache/commons/collections/iterators/LoopingListIterator.html
しかしLinkedListにはこのIteratorに変換するメソッドがない。
ということはどこかのクラスのstaticメソッドを使うのだろうか、それともこのLoopingに対応したListIteratorと
別途用意しなければないのだろうか…。
0070デフォルトの名無しさん
2010/05/03(月) 16:50:00やはり専用のメソッドが用意されていた。
IteratorUtils.loopingListIterator(java.util.List)
0071デフォルトの名無しさん
2010/05/03(月) 17:02:540072デフォルトの名無しさん
2010/05/03(月) 17:19:33>本当は、末端に来てnext()したら先頭に戻る永久ループ型のIteratorが欲しいのだが…。
これでいけない?
http://www.javaworld.com/jw-07-1997/jw-07-enumerated.html?page=6
0073デフォルトの名無しさん
2010/05/03(月) 17:20:270074デフォルトの名無しさん
2010/05/03(月) 17:25:41> しかしLinkedListにはこのIteratorに変換するメソッドがない。
コンストラクタに放り込むだけじゃない?
0075デフォルトの名無しさん
2010/05/03(月) 19:05:07007667
2010/05/03(月) 21:59:19しかし、LinkedHashSetは順序性を維持するものになっている。
LinkedHashMapも同様。LinkedとついたSetとMapはadd()した順番にオブジェクトが並び順序性が保証されている。
順序性が保証されないのはHashSetとHashMap。
>>72
おお自作物。アルゴリズムとデータ構造の本に載ってそうなコードだ。
すでにCommons CollectionsにLoopingListIterator
という便利なクラスを見つけたので一応は解決したと思う。
>>74
それも一応、>>70のユーティリティクラスを使うという解決策を見つけた。
今探しているのは反復子を移動してからデータを取り出す方法。
現状のnext()はデータを取り出してから反復子を移動している。
何をやりたいかというと、時計の針のようなものを再現したいだけ。
Iteratorを継承した新しいIteratorクラスを作ってそこに独自のnext()メソッドを実装する
しかないだろうか。
俺はIteratorの間違った使い方を試そうとしているのかもしれない。
0077デフォルトの名無しさん
2010/05/03(月) 22:05:33IteratorUtilsが必要と思ったら
コンストラクタもあった。
LoopingListIterator(java.util.List list)
0078デフォルトの名無しさん
2010/05/04(火) 00:13:31h += ++h;
i += i++;
j += (j+=1) + (j+=10);
System.out.println("h="+h);
System.out.println("i="+i);
System.out.println("j="+j);
無精できねえ・・・なんてこったい
0079デフォルトの名無しさん
2010/05/04(火) 00:49:55結果が分からないCよりはマシだろ
0080デフォルトの名無しさん
2010/05/04(火) 02:20:031ビットあれば、二つの数(例えば0と-208)を符号化できる。
0ビットあれば、一つの数(例えば-208)を符号化できる。
一般にnビットあれば、2のn乗個の数を符号化できる。
0081デフォルトの名無しさん
2010/05/04(火) 02:56:50概念的には存在しうるみたいだけど
イデアみたいなもんか?
0082デフォルトの名無しさん
2010/05/04(火) 12:51:36自作すりゃいいもんをだらだら張り付けるな。
ブログでやれ。
0083デフォルトの名無しさん
2010/05/04(火) 13:24:460084デフォルトの名無しさん
2010/05/04(火) 16:07:44それはJava Collection Frameworkの実装の都合だろ。
setてのはふつう順不同というか要素の前後関係は知らないもんだろ。
そういう用途はlinkedlistだ。
たとえIteratorを持ってたとしてもputやsetした順に
取得できる保証もないし前後関係を知らないんだからprevで要素が取れるわけもない。
LinkedHashSetがあがってるがこれは実装由来のコレクション。特殊な要件で使うもんだ。
0085デフォルトの名無しさん
2010/05/04(火) 16:30:57SetがIterableであることが、実装上の都合だという
ソースはどこにあります?
0086デフォルトの名無しさん
2010/05/04(火) 16:53:06ないことは示せない。あえて示すならこの世の仕様をすべて見ろと言うしか無い。
0087デフォルトの名無しさん
2010/05/04(火) 17:07:26まあ気にくわないならUnsupportedOperationExceptionでも投げればいいけど。
正直何をいいたいのかさっぱり。
0088デフォルトの名無しさん
2010/05/04(火) 17:46:07だいたいLinkedHashSetは既存のsetを守りつつ順序を保ちたいときに使うラッパーだ。
IterableなのはCollectionインターフェイスで強制されてるからだ。
0089デフォルトの名無しさん
2010/05/04(火) 17:49:27たぶん
「Setってーのは重複要素がないコレクションなんだぜ。」
「Setの実装クラスが何を持とうとそれは実装都合なんだぜ。」
「CollectionってーのはIterableだが、順序付けされているかそうでないかは実装クラス次第なんだぜ。」
ってことをいいたいんじゃないのかな。
0090デフォルトの名無しさん
2010/05/04(火) 17:55:52いや、>>82でSetにイテレータ無いって言ってるから
どういう意味かと思って。
009189
2010/05/04(火) 18:17:25それは、ミスったんじゃないかな。>>84で、
「Iteratorがあっても(入れた時の)順序を保障するものではない。」※括弧内はおれ補完
と記載されているし。
ところで、なんだかIteratorとIterableをゴチャゴチャに書かれている書き込みが多い気がする。
0092デフォルトの名無しさん
2010/05/04(火) 18:29:490093デフォルトの名無しさん
2010/05/04(火) 18:44:50分かっていないバカが一匹混ぜ繰り返している。
0094デフォルトの名無しさん
2010/05/04(火) 22:36:28クラスのあたまで
import org.easymock.EasyMock;
とやると
そのクラスのメソッド内で
EasyMock.
と呼び出すと上のパッケージのクラスを参照するじゃないですか?
で、あるメソッドだけ
org.easymock.classextension.EasyMock
のクラスを参照したいのですが、上記のようにフル修飾名をいちいち入れるとソースが見づらくなるので、あたまでなんか宣言して、そのメソッドだけ別のパッケージを参照するように出来ませんでしたっけ?
方法ありましたらお願いします
0095デフォルトの名無しさん
2010/05/04(火) 23:05:430096デフォルトの名無しさん
2010/05/04(火) 23:31:04class Favorites {
private Map<Class<?>, Object> favorites = new HashMap<Class<?>, Object>();
// Class.cast
public <T> T getFavorite(Class<T> type) {
return type.cast(favorites.get(type));
}
// キャスト演算子
public <T> T getFavorite(Class<T> type) {
return (T)favorites.get(type);
}
}
上記の Class.cast を使う場合ととキャスト演算子を使う場合ではどのような差があるのでしょうか?
この二つに差があるのだとしたら、どのようなときにどう使い分けるのでしょうか?
どうかお願いします。
0097デフォルトの名無しさん
2010/05/05(水) 01:04:29public Favorites() {
favorites.put(Integer.class, "string");
}
と変なもの入れて
Favorites f = new Favorites();
try {
System.out.println(f.getFavoriteCast(Integer.class));
} catch (Exception e) {
e.printStackTrace();
}
try {
System.out.println(f.getFavorite(Integer.class));
} catch (Exception e) {
e.printStackTrace();
}
と使ってみるといい。f.getFavoriteCastはClass.cast版ね。
0098デフォルトの名無しさん
2010/05/05(水) 02:09:36getClass()メソッドのテストをしようと思い、次のようなソースを実行しました。
配列int[]とStringクラスでgetClass()を行い、結果をprintln()で出力するものです。
出力結果の" class [I "というのはどういう意味なんでしょうか?
(てっきり"class java.lang.reflect.Array"あたりが出力されると思ったのですが…)
そもそも配列にgetClass()を行うのは好ましくないのでしょうか?
【ソース】
public class Test1 {
public static void main(String[] args){
int[] a = {1,2,3};
System.out.println(a.getClass());
System.out.println((new String("abc")).getClass());
}
}
【出力結果】
class [I
class java.lang.String
以上です。
どうぞよろしくお願いします。
0099デフォルトの名無しさん
2010/05/05(水) 02:22:42http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#14152
0100デフォルトの名無しさん
2010/05/05(水) 02:37:47こんな仕様があったとは知りませんでした。勉強になります。
夜遅くにご回答いただき、どうもありがとうございました。
0101デフォルトの名無しさん
2010/05/05(水) 04:33:17キャスト演算子は型が一致しなくても放置で
Class.cast は型が一致しなければ ClassCastException を投げる
の違いということですか?
0102デフォルトの名無しさん
2010/05/05(水) 06:34:21Integer.class.cast("") とかコンパイル通っちゃう。
0103デフォルトの名無しさん
2010/05/05(水) 09:55:29ちなみに、ジェネリックスとの組み合わせは分かりにくくなる罠。
現状のジェネリックスはある種のトリックだから。
http://www.ibm.com/developerworks/jp/java/library/j-jtp01255/
0104デフォルトの名無しさん
2010/05/05(水) 15:37:01private String name=null;
ClassA(String name) { this.name=name; }
String getName() { return name; }
void setName(String name) { this.name=name; }
}
class ClassB {
static void method1(ClassA c) {
c.setName("Method 1");
}
static void method2(ClassA c) {
c=new ClassA("Method 2");
}
}
とあったとき
ClassA a=new ClassA("Class A");
System.out.println(a.getName());
ClassB.method1(a);
System.out.println(a.getName());
ClassB.method2(a);
System.out.println(a.getName());
としたら
Output:
Class A
Method 1
Method 2
ってなるよね?
0105デフォルトの名無しさん
2010/05/05(水) 16:00:45最後のMethod 2はMethod 1のままだろ。
Javaでは参照渡しはできない。参照の値渡しなら出来る。
0106デフォルトの名無しさん
2010/05/05(水) 16:39:210107デフォルトの名無しさん
2010/05/05(水) 19:08:05どっちも実行時に型チェックして例外投げると思うんだが何が違うの?
0108デフォルトの名無しさん
2010/05/05(水) 19:25:430109デフォルトの名無しさん
2010/05/05(水) 19:28:47private final Map<String,Object> values = new HashMap<String,Object>();
public <T> T getValue(String key, Class<T> type){
Object value = values.get(key);
if(value == null) return value;
assert(type.isAssignableFrom(value.getClass()): value.getClass().getSimpleType();
return type.cast(value);
}
0110デフォルトの名無しさん
2010/05/05(水) 19:48:08通常のキャストも実行時の型チェックやってるよね?
0111デフォルトの名無しさん
2010/05/05(水) 20:01:52ジェネリクスのイレイジャ機構により、
おそらくキャストしてる方は実行時Integer型ではなく
Object型そのまんまで扱ってる。(実行時に型情報は消えるから)
ただ、もちろん
Integer i = f.getFavoriteCast(〜〜);
とすればClassCastExceptionが発生する。
0112デフォルトの名無しさん
2010/05/05(水) 20:02:210113デフォルトの名無しさん
2010/05/05(水) 20:11:57Classを用意できない場合ってあるかい?
0114デフォルトの名無しさん
2010/05/05(水) 20:14:46jcursesというのとlibjcsiというのを使ってみたけど、
マルチバイト文字に対応してない?っぽいので、
いいの知ってる方教えてください。
0115デフォルトの名無しさん
2010/05/05(水) 21:13:380116デフォルトの名無しさん
2010/05/05(水) 22:14:47ネットワークプログラミングを習得しないといけないことになったんですが
即ネットワークプログラミング? 普通のプログラミング習得⇒ネットワーク?
プログラムに関してはC言語をファイルの入出力なんかあたりまでやった程度です。
0117デフォルトの名無しさん
2010/05/05(水) 22:15:18CHARVAは無理だった。
0118デフォルトの名無しさん
2010/05/05(水) 22:16:51問題なかったはず。
0119デフォルトの名無しさん
2010/05/05(水) 22:29:24普通の業務アプリではネットワークプログラミングはしません。
そういう意味では別です。それ以外を除けば別じゃありません。
ネットワークプログラミングというのは、
簡単に言えば、ちょっと面倒くさいファイル入出力です。
0120デフォルトの名無しさん
2010/05/05(水) 22:38:550121デフォルトの名無しさん
2010/05/05(水) 22:40:200122デフォルトの名無しさん
2010/05/05(水) 23:02:44「普通」って発言にはちょっと引っかかるな。
自分トコだとJavaサーバと.Netリッチクライアントが「普通」なんだが。
また別のトコだとWEBアプリが「普通」だったり、Excel+ODBCが「普通」だったり。
RubyサーバにJavaリッチクライアントが「普通」なんてトコもある。
皆それぞれに「普通」。
0123デフォルトの名無しさん
2010/05/05(水) 23:04:34そういう意味じゃなくて、総称型を想定しないで作ったクラスだとメソッドの追加が必要になるけど言語仕様ごとにクラスの修正やメソッドの追加は出来ないってこと。
ほとんどのクラスはもともと総称型を意識しないような設計だからClassをいちいち用意できない。
0124デフォルトの名無しさん
2010/05/05(水) 23:07:58まともに使おうと思ったら相手方のアプリの知識も非同期処理の知識も、
もちろんバークレイソケットの知識も必要になる。プロトコルによっては
状態管理もパケ落ち対応も必要。
0125116
2010/05/05(水) 23:10:12P2PにおけるDHT関連をやるんですが。
0126デフォルトの名無しさん
2010/05/05(水) 23:43:01詳細言い出したらキリないだろうが。
ファイル入出力だってファイルシステム言い出したらキリないし、
そもそもフォーマットはどうだの、即時追記に対応するだの、
クラッシュ時安全にするだの、あるよ。
お前はいちいち全部言わないと気が済まないのか
0127デフォルトの名無しさん
2010/05/05(水) 23:59:38P2PでDHTとかってのは業務的なことでネットワークプログラミング
の範疇に入れるべきなのだろうか?
スレッド間でロジックをシミュレートすることだって出来る部分だし。
確かどっかでアプレット見た気がする。ノード毎に伝搬していく様子の。
0128デフォルトの名無しさん
2010/05/06(木) 00:09:16ネットワークじゃねぇってことになる。
0129デフォルトの名無しさん
2010/05/06(木) 00:13:04それらを同じ様なものと言いのける低脳。
0130デフォルトの名無しさん
2010/05/06(木) 00:26:18つまり
class ClassA {
void hoge() {
System.out.println("Hoge!");
}
}
class ClassB extends ClassA {
void hogehoge() {
super.hoge(); //← super. つけたほうがいいの?
hoge(); //← super. つけないほうがいいの?
}
}
classBでhoge()をオーバーライドしてないとして
0131デフォルトの名無しさん
2010/05/06(木) 00:36:37どっちでもいい。
むしろhoge()のほうをthis.hoge()にしてほしいわ。
0132デフォルトの名無しさん
2010/05/06(木) 00:49:24スーパークラスのメソッドってthis.で呼び出せるって知りませんでした。勉強になりました。
ありがとうございます
0133デフォルトの名無しさん
2010/05/06(木) 00:51:05ちなみにsuper使う場合もthisってつけたほうがいいんですか?
this.super.hoge(); ? super.this.hoge(); ? なんか細かいことばっか訊いてすみません
0134デフォルトの名無しさん
2010/05/06(木) 03:12:26static import?
リフレクション?
0135デフォルトの名無しさん
2010/05/06(木) 03:26:56> >>83
> それはJava Collection Frameworkの実装の都合だろ。
> setてのはふつう順不同というか要素の前後関係は知らないもんだろ。
> そういう用途はlinkedlistだ。
>
> たとえIteratorを持ってたとしてもputやsetした順に
> 取得できる保証もないし前後関係を知らないんだからprevで要素が取れるわけもない。
そもそもあるコレクションにlistIterator()メソッドがないとprevious()が使えない。
コレクションによってはiterator()メソッドしか実装されてないのがある。
> LinkedHashSetがあがってるがこれは実装由来のコレクション。特殊な要件で使うもんだ。
SortedSet、TreeSetもComparableが実装されたオブジェクトをadd()できるから
(挿入ソートで挿入したときにComparable#compareTo()が働いて自動的に順番が並ぶ)
順序関係は保証される。これも特殊だと?
LinkedHashSetとArrayListとの違いはオブジェクトが重複を許すか許さないかの違いでしか無いと思うが。
使えるメソッドも若干違うが。
0136デフォルトの名無しさん
2010/05/06(木) 03:36:150137デフォルトの名無しさん
2010/05/06(木) 03:44:21なぜthisやsuperをつけるのかわかってないような気がする。
途中からClassBにhoge()という名前のメソッドを
新たに作ることになったとき(hogeをオーバーライド)は、thisをつけると
新たに作ったメソッドのほうが呼ばれるのだが。
後でhoge()メソッドをオーバーライドするときに備えてsuperというキーワードが用意されている。
いかなる状況でもClassAのhoge()メソッドを呼び出したいのに、あとからClassBのhoge()メソッドを実装すると
なぜかClassBのhoge()メソッドを呼び出してしまう。そういう問題を防ぐために、superというキーワードがある。
だから将来のオーバーライドや、同じ名前のメソッド名衝突に備えてsuperクラスのメソッドを呼びたいときはsuperをつけるべき。
(ちなみにスーパークラスに同じ名前のメソッドがあることに気付かずメソッド名衝突する問題はJava5から登場した@Overrideアノテーションで回避できる)
自分のクラスのメソッドを呼びたいときはできるかぎりthisをつけるべき。インスタンスメソッドはできるかぎりthis.メソッド名()
staticなメソッドはthisつけないでクラス名.メソッド名()とするのが望ましい。Checkstyleとか使ってコーディング規約を守るなら。
そもそもthis.superとかsuper.thisなんて記述ではコンパイル通らない。
0138デフォルトの名無しさん
2010/05/06(木) 03:58:360139デフォルトの名無しさん
2010/05/06(木) 04:03:05今後気をつけます
0140デフォルトの名無しさん
2010/05/06(木) 04:14:160141デフォルトの名無しさん
2010/05/06(木) 04:17:57ClassBでhoge()をオーバーライドしたとき
他のクラスからClassBのインスタンスからスーパークラスであるClassAのhoge()を呼び出すってことできます?
例えば
class ClassB extends ClassA {
void hoge() { System.out.println("Hoge Override"); }
}
class ClassC {
void nanika() {
ClassB b=new ClassB();
b.hoge(); //←ここでClassBのhoge()じゃなくてスーパークラスのほうのhoge()を呼び出すことって出来ますか?
}
}
0142デフォルトの名無しさん
2010/05/06(木) 04:23:300143デフォルトの名無しさん
2010/05/06(木) 04:25:43void nanika() {
ClassB b=new ClassB();
ClassA a=(ClassA)b;
a.hoge(); //←もしかして、こうしたらスーパークラスのほうのhoge()になりますか?
b.super.hoge();とかありそうな気もします
}
}
0144デフォルトの名無しさん
2010/05/06(木) 11:42:54Javaでは無理ですね。1ファイル中に登場するクラスの単純名が重複している場合は
そのうち1つだけしか単純名で扱えず、それ以外はFQNで書く必要があります。
Groovy(Scalaも?)は別名をつけられるので、上記のようなJavaの煩わしさは
軽減できるようですが。
0145デフォルトの名無しさん
2010/05/06(木) 13:29:43できない。
>>143
できない。ためしにコンパイルしようとすればわかる。
どうしてもそんなことしたかったら
ClassA a = new ClassA();
a.hoge();
こうする。
bを(ClassA)にキャストしても中身はこれと同じだからオーバーライドしたメソッドしか呼び出されない。
ClassA a = new ClassB();
というかいい加減に自分でコンパイルして自分の目で確かめろと。
0146デフォルトの名無しさん
2010/05/06(木) 14:04:49回答ありがとうございます。
出来ないのですか・・・となるとどちらも使いたい場合は
何とかメソッド名を変えるなり対応するしかなさそうですね・・・
わかりました
0147デフォルトの名無しさん
2010/05/06(木) 14:59:25マジレスすると設計がおかしい
0148デフォルトの名無しさん
2010/05/06(木) 18:42:54デザインパターンの勉強をすべき
0149114
2010/05/06(木) 19:48:50機種依存部分に対してなんかするんだったか、
jar内のjava部分に対してなんかするんだったか、
自分が書いたコードに対してなんかするんだったかだけでも思い出せませんか?
いすれにしても素敵なヒントありがとうございました。
0150デフォルトの名無しさん
2010/05/06(木) 19:51:29罫線がSJISとかだと半角カタカナの領域できめうちだったりしたような。
0151デフォルトの名無しさん
2010/05/06(木) 21:37:13LinkedListがQueueを実装してpop()が使えるようになってた。
早速使ってみたが
private List<String> list = new LinkedList<String>()
this.list.add("test");
this.list.add("abc");
this.list.add("def");
String result = list.pop();
という使い方はさすがにできなかった。
pop()はQueueで定義されListで定義されてないため。
private Queue<String> list = new LinkedList<String>()
とやりたかったがLinkedList#listIterator()を使いたかったために
仕方なく
private LinkedList<String> list = new LinkedList<String>()
ってやった。
なんだかな。
0152デフォルトの名無しさん
2010/05/06(木) 21:39:350153デフォルトの名無しさん
2010/05/06(木) 21:41:53意味が分からない俺は初心者です。ハイ。
0154デフォルトの名無しさん
2010/05/06(木) 22:02:30まさにLinkedListの性質が必要となっているので、
インタフェースを指定する必要はない。
ところで、<E, T extends List<E> & Deque<E>>
とか&指定する機会ってあんまりないよねー。
0155デフォルトの名無しさん
2010/05/06(木) 22:47:47>>151
意味がわからん。
なんでqueue使うのにlistIteratorが要るんだ?
だいたいLinkedListじゃなくてArrayDequeue使うところだろ。
listIterator使うってことはカーソル基準の相対位置にアクセスしたいのか?
pop要らんしpopしたら意味が変わってくるだろ。
0156デフォルトの名無しさん
2010/05/06(木) 22:50:340157デフォルトの名無しさん
2010/05/06(木) 23:40:44というかさ、LinkedListだとしても普通に
Queue<String> queue = new LinkedList<String>();
queue.add("1");
queue.add("2");
queue.add("3");
String elm;
while((elm = queue.poll()) != null ){
System.out.println(elm);
}
だと思うんだ。
0158デフォルトの名無しさん
2010/05/06(木) 23:53:08Queue<String> q = new LinkedList<String>();
q.add("test");
q.add("abc");
q.add("def");
Iterator<String> i = q.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
System.out.println("-----");
String s;
while ((s=q.poll())!=null) {
System.out.println(s);
}
とかはダメなのか?ListIteratorしか使えない呪いでも?
0159157
2010/05/07(金) 00:00:16Iterator<String> i = q.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
の部分は、
for(String s : queue){
System.out.println(s);
}
の方がスッキリして好きだな。
0160デフォルトの名無しさん
2010/05/07(金) 00:04:300161デフォルトの名無しさん
2010/05/07(金) 05:38:230162デフォルトの名無しさん
2010/05/07(金) 09:04:581)メソッドに渡した基本型のフィールド変数は、メソッド内側の操作は、
外側の変数には反映されないでしょうか。(合っていますよね。)
2)このメソッド内の変数をローカル変数と呼ぶ、合っていますか。
3)通常、引数で渡した変数の反映を読んだ側でも反映して返すには、
戻り値で返すのが普通でしょうか。(static変数との使い分けがよく分からない;)
4)メソッドに参照型の参照で渡した場合、
メソッド内部のインスタンスに対する操作は反映される、っていうのが、
当たり前だと個人的には感じるんだけども、
わざわざ参考書とかで説明してあるのが謎です。
例えば、
method1(Vector v)の中で
Vector v = new Vector();
v.add(new String("abc");
とやった場合には外側のvにはabcはくっつかない、
method2(Vector v)の中で
v.add(new String("abc");
とかやると、くっつく、と。
当たり前の様な気もしますし、どうなんでしょう。
5)この4)の場合と、1)の場合を比較した時の理論がよくわかりません。
1)だと、メソッド側に引数で渡された基本型の値はコピーされて
(多分JVMのメモリにはその値用の領域が確保されますよね)
メソッド内の操作はそのコピーされた領域に保存された値を操作しているんだと
思いますが、4)で参照を渡した時も、参照は別の領域にコピーされるんですよね。
すると、4−method2の場合には、v.add〜のvで指せる参照はコピーされた
値な様な気がして・・どうなんでしょうか。
0163デフォルトの名無しさん
2010/05/07(金) 09:25:201:反映されません。というよりは、関数内の変数に値がコピーされます。
2:ローカル変数と読んでもいいです。パラメータって普通言うけど。
3:staticは基本的に何度も値を書き込むのに使わないでください。
基本的に定数に使うものです。
返り(戻り)値で済むなら返り値を使ってください。
返り値で済まないなら、状態を持つクラスのインスタンスを渡して、
それに対してメソッド内部で操作を行います。
void method(VOClass vo){
vo.setXXXX("hogehoge");
}
クラスを作るのが面倒な時は配列で渡します。
あんまりやらないほうがいいですが。
void method(Object[] o){
o[0] = "hogehoge";
}
4.どうなんでしょう?っていわれてもね、参考書は初学者のためのものだからね。
でもオブジェクトの値渡しするような言語(C++)は、普通に引数にモノを渡すと
一般的にはオブジェクトがコピーされるんで、その理論は通用しません。
どうでもいいですが、Stringのコンストラクタは意味がないどころか
普通はコスト的に有害なので超特別な理由がない限り呼ばないでください。
あとVectorじゃなくて普通はArrayListを使います。
5.Javaには参照渡しはありません。メソッドのオブジェクトを渡した時は、
オブジェクトへの参照がコピられて値渡しされてるだけ。
オブジェクト以外の基本型(プリミティヴ)を
渡した時もその値がコピられて値渡しされてるだけ。
method2はmethod2に渡した引数(オブジェクト)の参照がコピられて
method2のvパラメータに設定されているだけ。
参照ってのは32bitのメモリ空間を表す数字ね。
0164デフォルトの名無しさん
2010/05/07(金) 09:41:37>staticは基本的に何度も値を書き込むのに使わないでください。
>基本的に定数に使うものです。
定数のときはstatic final
クラス内で共通、唯一つな時に使えばいいのであって何度も値を書いて問題なし
FPSでの弾の数とか
0165デフォルトの名無しさん
2010/05/07(金) 10:41:33弾の数… ビミョー。使っちゃダメってことはないけど、
あんまり正当化できるシーンは少ない。
少なくともstatic変数が現れたら「きちんと使っているかどうか」
ってのは見てしまうね。コードレビューの時とか。
だいたい「使う正当な理由はないよね。じゃやめて。」
って注意して終わる。
0166デフォルトの名無しさん
2010/05/07(金) 17:41:400167デフォルトの名無しさん
2010/05/07(金) 17:51:15http://java.sun.com/
普通にこのサイトにつながるけど
0168デフォルトの名無しさん
2010/05/07(金) 18:49:58それArrayDequeueじゃなくてArrayDeque
javadocにも書いてある通りdequeとdequeueでは英語的にもまったく意味が違う
話を戻して、Listに入れたい要素のオブジェクトを作るクラスを独自に作って
前後関係をもたせたので結局Iteratorを使う必要がなくなってしまった。
Chain of Responsibilityのたらい回しを参考に、となりどうしのオブジェクトがお互い参照しあう方式をとることにした。
それとは別にこういうデータ構造が必要だった。
・基本的に、Stackのように端からしかデータを取得除去する必要がないからpop()を使う。
・ひたすら端からデータを取るだけ。
・要素が空になったときのみ一気に補充する。
・感覚としては弾薬の再装填や燃料補給に近い。しかし個々の要素はまったく異なるものを含み重複を許可する。
だから削除速度が速いらしいLinkedListにした。
Dequeによるとpoll()はpollFirst()と同じ。
pop()はremoveFirst()同じ。
removeFirst()は空のときNoSushElementExceptionをthrowするpollFirst()。空のときはnullを返す。
(isEmpty()を使えば例外は気にしなくていい)
みたいだったがnullで判定するのが好きな人が多いね。
0169デフォルトの名無しさん
2010/05/07(金) 18:55:45> >>164
> 弾の数… ビミョー。使っちゃダメってことはないけど、
> あんまり正当化できるシーンは少ない。
> 少なくともstatic変数が現れたら「きちんと使っているかどうか」
> ってのは見てしまうね。コードレビューの時とか。
> だいたい「使う正当な理由はないよね。じゃやめて。」
> って注意して終わる。
複数のインスタンスでひとつの状態を共有するときはstatic変数は重宝する。
0170デフォルトの名無しさん
2010/05/07(金) 19:28:140171デフォルトの名無しさん
2010/05/07(金) 20:00:11staticフィールドはfinalにすべきというが、そんな感じの意見か。
staticなフィールドの代替をCollectionを集約したSlngletonで代用するとかいう感じか。
0172デフォルトの名無しさん
2010/05/07(金) 21:51:12入力するときに、import java.io.* とimport java.io.* って何が違うの?
JAVA初めて即効分からなくなった。 どっちのがいいとかある?
IOで解説してるサイトが多いからそっちのが簡単とか?
0173デフォルトの名無しさん
2010/05/07(金) 21:52:560174デフォルトの名無しさん
2010/05/07(金) 21:55:270175デフォルトの名無しさん
2010/05/07(金) 22:01:120176デフォルトの名無しさん
2010/05/07(金) 22:09:21ではテキスト通りutilにします。
有難うございました。
0177デフォルトの名無しさん
2010/05/07(金) 22:23:000178デフォルトの名無しさん
2010/05/07(金) 22:28:00現在コンソール入力でヒットアンドブロー(数字当て)のゲームを開発中で詰まっている点があります。
まず、プログラム上で乱数にて4桁の数字をセットします。
コンソール画面上の例 :
▲回目:1234
⇒ Hit :● Blow :●
※▲には入力の回数カウンタを表示。
※●には入力した数字に対して正否の数字がそれぞれ入る。
�@『 ▲回目: 』 と表示させた後、ユーザーが入力で4桁の数字を入力してEnterを押す。
�ABufferedReaderクラスのInputStreamReaderメソッドにてSystem.Inを入力し変換させ表示
�B正否判定を表示 『 ⇒ Hit :● Blow :● 』
この�Aと�Bの間で、改行させずに入力を行いたいのですがうまくいきません。
改行は�Bの正否の判定を表示した時にSystem.out.printlnでするだけにしたいんです。
以下のような形での画面・入力仕様が目標です。
1回目:1234 ⇒ Hit :0 Blow :4
2回目:2525 ⇒ Hit :2 Blow :2
1回目:7777 ⇒ Hit :4 Blow :0
Congratulation・・・
0179デフォルトの名無しさん
2010/05/07(金) 22:29:48どうせBufferedReaderでreadlineとかしてんでしょ。
0180デフォルトの名無しさん
2010/05/07(金) 22:32:18はい、その通りです。
0181デフォルトの名無しさん
2010/05/07(金) 22:36:19おれなら、
public class Test {
public static void main(String[] args) {
Deque<String> queue = new ReloadableDeque<String>() {
@Override public void reload() {
System.out.println("リロードっ");
this.add("1");
this.add("2");
this.add("3");
} };
String elm;
while ((elm = queue.pollFirst())!=null)
System.out.println(elm);
}
}
public abstract class ReloadableDeque<E> extends ArrayDeque<E> implements Reloadable{
@Override public E pollFirst() {
E elm;
if ((elm = super.pollFirst()) == null) {
reload();
elm = super.pollFirst();
}
return elm;
}
}
public interface Reloadable { void reload(); }
だな。
0182デフォルトの名無しさん
2010/05/07(金) 22:39:38readlineは一行分読み込みが終わるまで読み込めない。
ファイルが読み込み元なら改行文字にブチ当たるまで読み込めない。
コンソールが読み込み元なら改行してくれるまで読み込めない。
別の読み込みメソッドを使いましょう。
0183182
2010/05/07(金) 22:43:170185デフォルトの名無しさん
2010/05/07(金) 23:02:09一応言っておくと、
Java6使ってるならSystem.console()使おうぜ
0186デフォルトの名無しさん
2010/05/07(金) 23:08:03こんなの使うとできる、のかも。
ttp://www.nilab.info/resource/bbslog/megabbs/1070189533.html
0187デフォルトの名無しさん
2010/05/07(金) 23:12:35は?
java.sql.Date
と
java.util.Date
との違い、
これらを同時に使用するにはどうすればいいのかっていう質問ならわかるんだが。
それともimport java.io.*とimport java.io.PrintWriterとの違いやimport java.util.Collectionとimport java.util.*との違いのことをいっているのか?
0188デフォルトの名無しさん
2010/05/07(金) 23:13:28どうしてもやりたかったらawt.keyevent
あとはlinux、cygwinとか?
0189デフォルトの名無しさん
2010/05/07(金) 23:18:27http://jline.sourceforge.net/
0190デフォルトの名無しさん
2010/05/07(金) 23:20:12http://www.atmarkit.co.jp/fjava/rensai4/java5eclipse10/java5eclipse10_1.html
0192デフォルトの名無しさん
2010/05/07(金) 23:28:31そこまでやるか。
Template Methodに匿名クラスに抽象メソッドにインタフェース全部作ってまでやるか。
そこまでやりだすメリットってそんなにあるのか?
ジェネリックスにワイルドカード指定すればもっと凄い堅牢性が高いものが
できあがりそうだが、やりだすと苦労しそうだ。
0193デフォルトの名無しさん
2010/05/07(金) 23:35:38C#のSystem.Console.WriteLine()かと思った。
そんなメソッドとjava.io.Consoleが追加されていたとは。
これでScannerクラスを使う必要もなくなるのか
0194デフォルトの名無しさん
2010/05/07(金) 23:37:03http://commons.apache.org/cli/
0195デフォルトの名無しさん
2010/05/07(金) 23:50:30cliってgetoptみたいなものでは。
0196デフォルトの名無しさん
2010/05/08(土) 00:14:240197デフォルトの名無しさん
2010/05/08(土) 00:15:32匿名クラスなのは、ReloadableDequeの中でreloadを実装すると融通効かなそうだから(部品として弱そうだから)、
匿名クラスでReloadable#reloadを実装した。それから、クラス名考えるのめんどくさかったからってのもある。
抽象クラスなのは、ReloadableDequeを使う人に、
確実にreloadをOverrideさせるため。
Reloadableをインタフェースにしたのは、なんか全然違うところでも使いそうじゃない?そんな理由。マーカ的につかえるかなぁ〜って。
0198デフォルトの名無しさん
2010/05/08(土) 00:21:25正)Reloadableインタフェースをつくったのは、
0199デフォルトの名無しさん
2010/05/08(土) 01:26:02正直いってConsoleは微妙
というかeclipseで使えない
0200デフォルトの名無しさん
2010/05/08(土) 01:52:390201デフォルトの名無しさん
2010/05/08(土) 01:59:33お前いっつもそれしか言わないよな。
0202デフォルトの名無しさん
2010/05/08(土) 02:00:140203デフォルトの名無しさん
2010/05/08(土) 02:43:15利点はioexceptionなげないのとpasswordだけ・・・
自分はIDE上で登録済み
br
Java ステートメント
try {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String line;
while((line=br.readLine())!=null){
${cursor}
}
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
0204デフォルトの名無しさん
2010/05/08(土) 05:14:29マルチコアCPUの場合、プロセスのコア割り当てはOSが管理しますよね。
Javaプロセスを複数立ち上げれば、OSが適切にプロセスごとに割り振るのは分かります。
でも、一つのJavaプロセスの中で複数スレッドを走らせた場合、
OSからは一つのJavaプロセスに見えてると思うのですが、
どうやって複数コアへ処理の割り当てを行っているのでしょうか。
0205デフォルトの名無しさん
2010/05/08(土) 05:51:05import java.util.Scanner;
class HelloNextLine {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("お名前は:");
String s = stdIn.nextLine(); // 1行分の文字列を読み込む
System.out.println("こんにちは" + s + "さん。"); // 表示
}
}
Exception in thread "main" java.lang.NoClassDefFoundError:
HelloNextline (wrong name: HelloNextLine)
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 java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: HelloNextline. Program will exit.
上記のようになったのですが、エラーが出た時はどの部分をみればいいのでしょうか?
0206デフォルトの名無しさん
2010/05/08(土) 06:02:110207デフォルトの名無しさん
2010/05/08(土) 07:37:04どうすればいいのでしょうか?
0208デフォルトの名無しさん
2010/05/08(土) 07:42:39vmのスレッディングapi実装はosネイティブのスレッディングapiを利用して行われる
0209デフォルトの名無しさん
2010/05/08(土) 08:45:03設定しても CPU 100% 行ってしまい、枚数が多いと CPU 熱のフェールセーフが働いて
スリープ状態になってしまう。もうこれ以上って Timer か何かから細かい間隔で suspend
resume してやるしかないかな。
0210デフォルトの名無しさん
2010/05/08(土) 08:48:11標準 API には無いから Runtime#exec() 使ってシェル経由でやるしかない。
ネットで探せばどこかにライブラリが落ちているかもしれないが。
0211デフォルトの名無しさん
2010/05/08(土) 08:49:55今時の Java VM 実装では OS は Java のスレッドまで見えているので
スレッドを適切に CPU に割り当てられる。
0212デフォルトの名無しさん
2010/05/08(土) 09:21:50100%になるのが悪いんじゃなくて冷却が足らないだけだ
ヒートシンク掃除して扇風機でも当てとけ
ハードウェア的な話だから続けるならよそでやってくれ
0213デフォルトの名無しさん
2010/05/08(土) 09:40:28で、200ms ごとに suspend, resume 繰り返すようにしたらとりあえず 80% ほどに落ち着いた。
TimerTask × ImageIO の閉じた処理どうしなのでデッドロックもないだろう。
少し調整の余地はあるがこれでやるか。
0214デフォルトの名無しさん
2010/05/08(土) 11:56:35PC買い換えろ
0215デフォルトの名無しさん
2010/05/08(土) 12:39:47http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/management/ThreadMXBean.html
ここら辺使ってスレッドのCPU時間の測定してsuspend~resumeの間隔を調整すれば、CPU使用率の調整とかも出来るかも?
0216207
2010/05/08(土) 13:10:46標準にはないですか。ありがとうございます。
Windowsでも動かすかもしれないので、シェルはちょっと不味いです。
ライブラリ探すか、自作してみます。
0217デフォルトの名無しさん
2010/05/08(土) 13:12:520218デフォルトの名無しさん
2010/05/08(土) 13:59:26>>208
ありがとうございます。よく分かりました。
0219デフォルトの名無しさん
2010/05/08(土) 14:36:44なんでEclipseで使えないんだ
と思ってやってみたら本当に例外を吐いて
DOSプロンプトではちゃんと動く。
さすがにEclipseのコミュニティにバグ報告されている内容だろうか。
0220デフォルトの名無しさん
2010/05/08(土) 15:26:00いまいま始めたばっかでよく分からないんですが。
とにかくコマンドプロントで練習できるようにするにはどうすればいいんでしょうか?
0221デフォルトの名無しさん
2010/05/08(土) 15:28:400222デフォルトの名無しさん
2010/05/08(土) 15:29:56ユーザー変数?環境変数のこと?
0223デフォルトの名無しさん
2010/05/08(土) 15:31:000224デフォルトの名無しさん
2010/05/08(土) 15:33:110225デフォルトの名無しさん
2010/05/08(土) 15:33:55フォルダの場所自体はこれであってるんですが
0226デフォルトの名無しさん
2010/05/08(土) 15:34:53これを具体的に説明
0227デフォルトの名無しさん
2010/05/08(土) 15:36:27変数名 PATH
変数値 C:\Sun\SDK\bin
にしてて、フォルダの位置も正しいはずなんですが
コマンドはC:\>setでやってます
0228デフォルトの名無しさん
2010/05/08(土) 15:40:300229デフォルトの名無しさん
2010/05/08(土) 15:44:070230デフォルトの名無しさん
2010/05/08(土) 16:01:36OSとJDKインストールした場所は?
0231デフォルトの名無しさん
2010/05/08(土) 16:05:09OSはCです
JDKはC:\Sun\SDKです
0232デフォルトの名無しさん
2010/05/08(土) 16:08:070233デフォルトの名無しさん
2010/05/08(土) 16:08:580234デフォルトの名無しさん
2010/05/08(土) 16:08:59javacが実行されないってこと?
0235デフォルトの名無しさん
2010/05/08(土) 16:09:40'java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
ってメッセージがでるんです
0236デフォルトの名無しさん
2010/05/08(土) 16:12:51環境変数の設定画面見て、一度、スペルミスが無いかチェック
コロンとセミコロンの打ち間違いや、ドットとカンマの打ち間違いとかの可能性はあるかも
問題なかったらコマンドプロンプトでpath[エンター]打つと
現在のPATHが表示されるからPATHにC:\Sun\SDK\binが含まれていることを確認
それと、C:\Sun\SDK\binのフォルダ内に、javac.exe等のファイルが存在してるかを確認
もしかするとインストール失敗してるのかも
0237デフォルトの名無しさん
2010/05/08(土) 16:15:09binのフォルダの中にjavac.exeらしきファイルが見当たらないんですが
0238デフォルトの名無しさん
2010/05/08(土) 16:18:14Program Files\Jana\ のところにインストールされたけど
C:\Sun\SDK\bin って自分でフォルダ指定してインストールしたの?
0239デフォルトの名無しさん
2010/05/08(土) 16:18:54んなわけないかw
0240デフォルトの名無しさん
2010/05/08(土) 16:18:58自分はそこにインストールされました
0241デフォルトの名無しさん
2010/05/08(土) 16:22:030242デフォルトの名無しさん
2010/05/08(土) 16:23:470243デフォルトの名無しさん
2010/05/08(土) 16:29:39Joshi Kousei Daisuki
女子 高生 大好き ?
0244デフォルトの名無しさん
2010/05/08(土) 16:33:59新しいファイルは
C:\Program Files\Java\jdk16.0_20\binに指定しましたが結果は同じです
他に設定するべき所があるんでしょうか・・・・?
0245デフォルトの名無しさん
2010/05/08(土) 16:41:00C:\Program Files\Java\jdk1.6.0_20\bin がちゃんと指定されているか確認
(>>244 C:\Program Files\Java\jdk16.0_20\bin ← 16.0は間違いじゃね?)
C:\Program Files\Java\jdk1.6.0_20\binフォルダに
java.exeやjavac.exeが存在していることを確認
もし、java.exeやjavac.exeが存在していなかったら
可能性としては、インストール時にセキュリティソフトがjava.exeやjavac.exeをウィルスと誤検知して、削除か移動された可能性もある
0246デフォルトの名無しさん
2010/05/08(土) 16:56:47>OSはCです
WindowsC ?
0247デフォルトの名無しさん
2010/05/08(土) 17:00:38よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/
0248デフォルトの名無しさん
2010/05/08(土) 17:02:05Cドライブってことでしょ
0249デフォルトの名無しさん
2010/05/08(土) 17:44:560250デフォルトの名無しさん
2010/05/08(土) 18:38:070251デフォルトの名無しさん
2010/05/08(土) 18:44:440252デフォルトの名無しさん
2010/05/08(土) 18:50:09定数だけのインターフェース作って全部のクラスにインプリメントしてる
0254デフォルトの名無しさん
2010/05/08(土) 19:11:05Apache Commons Compressにあるか?
と思って探してみたがそれっぽいのはなかった。
GZIPのメソッドでそのまま使えそうな気がするがそうでもないか。
0255デフォルトの名無しさん
2010/05/08(土) 19:12:18いまどきそんな設計するなよ…
0256デフォルトの名無しさん
2010/05/08(土) 19:14:39おい、定数はenum使えよ
っていうかinterfaceつかうと勝手に実装できるし
それがint型だと変な使い方できるし
Effective Java第2版読めよ
0258デフォルトの名無しさん
2010/05/08(土) 20:32:16職場、関係会社、派遣、下請けを今まで見てきたけど、一人だけ読んでいそうな雰囲気だった。
(そもそもenumって何?って返ってくるぐらいだったからなぁ)
0259デフォルトの名無しさん
2010/05/08(土) 20:35:500260デフォルトの名無しさん
2010/05/08(土) 20:37:07初心者なのでよくわからないです…
0261デフォルトの名無しさん
2010/05/08(土) 21:57:54Java5以降のバージョン(enum)が使えないなら第一版(と、結城浩の『Java言語で学ぶデザインパターン入門』)でもいいから
定数にinterfaceを使うなんぞ論外。
定数はコンストラクタの作成を禁止したfinalクラスかSingletonパターンを使うべき
Java5以前の環境では最低でもこの程度のことはすべき。
public final Constant {
public static final int CONSTANT_A = 1;
public static final int CONSTANT_A = 2;
private Constant(){}
}
これでもまだ不十分だが。
Java5以降はこれで十分
public enum Constant {
CONSTANT_A(1).
CONSTANT_B(2);
}
0262デフォルトの名無しさん
2010/05/09(日) 02:14:15内部クラスにもthisとかつけたほうがいいの?
ClassAという内部クラスがあったとき
this.ClassA a = new this.ClassA();
と記述したほうがいいのかな?
0263デフォルトの名無しさん
2010/05/09(日) 02:59:58定数クラスはclass装飾子が抜けてたりCONSTANT_Aが二つあったり、
enumの方は,が.になってたり、コンストラクタやメンバ変数が必要だったりしませんか?
0264デフォルトの名無しさん
2010/05/09(日) 03:15:300265デフォルトの名無しさん
2010/05/09(日) 03:32:530266デフォルトの名無しさん
2010/05/09(日) 03:50:49どんな事を理解・実装できたあたりからですか?
教えてる新人の場合なら〜ってケースでも
教えてもらえると有難いです
0267デフォルトの名無しさん
2010/05/09(日) 04:22:360268デフォルトの名無しさん
2010/05/09(日) 04:24:090269デフォルトの名無しさん
2010/05/09(日) 04:27:58まったくそんなことは無かった
0270デフォルトの名無しさん
2010/05/09(日) 04:28:13interface の使い方を理解したときも、その1つと言えるんじゃないかな。
interface には実装のないメソッド宣言だけがあって、
それを implements したクラスはメソッドの実装を書かなくてはならない、
ということ事態は初心者でも理解できるんだけど、
実際どういうふうに interface を使えばいいかが、初心者には難しい。
0271デフォルトの名無しさん
2010/05/09(日) 04:30:28Javaの場合どの程度の期間が妥当かは知らんが、自動車なら1年だな
0272デフォルトの名無しさん
2010/05/09(日) 04:32:59一通り、入門書見ずに出来るようになれば
初心者を脱したと。初級者だ
入門書レベルのことじゃ仕事にはならないし
趣味でやってる人間なら十分かもしれないがw
0273デフォルトの名無しさん
2010/05/09(日) 04:34:470274デフォルトの名無しさん
2010/05/09(日) 04:43:350275デフォルトの名無しさん
2010/05/09(日) 04:46:12>>261が紹介してるような本をそういう初心者が最初から読んだってあまり効果は無いと思う
入門書クリアレベルじゃたいしたソース書いたことないだろうし
せめて中級者くらいの人が参考に読めばいいと思うよ
0276デフォルトの名無しさん
2010/05/09(日) 05:59:01それを過ぎたら面白そうなOSSのソースでも読んで、知的欲求を満たすもんだと思う。
0277デフォルトの名無しさん
2010/05/09(日) 12:57:27can't find dependent libraries と
でてしまいます。どうすれば実行できるように
なるのでしょうか?
0278デフォルトの名無しさん
2010/05/09(日) 13:00:02読んだ
読書会みたいなのもあるみたいね
>>207
*.Z知らないから的外れかもしれないけど
ライブラリ
http://commons.apache.org/compress/
windows用exe
http://www.gzip.org/
0279デフォルトの名無しさん
2010/05/09(日) 13:02:29Classpathとjavaのバージョン
0281デフォルトの名無しさん
2010/05/09(日) 13:33:25カレントにjarファイルをコピー
0283デフォルトの名無しさん
2010/05/09(日) 14:09:53エラーメッセージは?
0284277
2010/05/09(日) 14:16:06同じエラーです。
jdkインストールしてから一度も実行できてないです。
別のパソコンにインストールしたのは普通に使えているのに、
なぜかできないです。
0285デフォルトの名無しさん
2010/05/09(日) 14:45:02カレントにコピーしたファイル名は?
0286デフォルトの名無しさん
2010/05/09(日) 15:53:03まず整数かどうかを判別する式が思い浮かびません。
0287デフォルトの名無しさん
2010/05/09(日) 15:54:460288デフォルトの名無しさん
2010/05/09(日) 16:07:16おまい、Java 知ってるか?
0289デフォルトの名無しさん
2010/05/09(日) 16:49:51普通に読んで Integer.decode(入力文字列) とかで変換しちまえという話じゃないのか。
0290デフォルトの名無しさん
2010/05/09(日) 16:53:070291デフォルトの名無しさん
2010/05/09(日) 16:59:120292デフォルトの名無しさん
2010/05/09(日) 17:02:300293デフォルトの名無しさん
2010/05/09(日) 17:35:03ようじょ ょぅι゛ょ = new ようちえんじ();
という感じにスーパークラスの型でサブクラスを
インスタンス化する場合がありますが、
何の為にわざわざそんな事をするのでしょうか。
ようちえんじ ょぅちぇんじ = new ようちえんじ();
と何が違うのでしょうか。
教えて下さい。
0294デフォルトの名無しさん
2010/05/09(日) 17:41:38ようじょクラスだろうがようちえんじクラスだろうが適用できる
継承関係がなければ
ようじょクラス用とようちえんじクラス用に
それぞれ別々に同じような操作を書かないといけなくなる
0295デフォルトの名無しさん
2010/05/09(日) 18:01:12有難うございます。
その、継承関係でオーバーライドが機能するのは分かるのですが、
ようちえんじ ょぅちぇんじ = new ようちえんじ(); では
継承関係は反故になってしまうのでしょうか。
0296デフォルトの名無しさん
2010/05/09(日) 18:15:11共通処理をようじょクラスで記述できるのなら、
ようちえんじクラスで持っててもいいよ
0297デフォルトの名無しさん
2010/05/09(日) 18:55:48うーん難しいですね。
よく本とかにのっている
List list = new ArrayList();
は
ArrayList arraylist = new ArrayList();
とどうちがうのか分かりかねているのです。
0298デフォルトの名無しさん
2010/05/09(日) 19:13:48パフォーマンス上の理由でLinkedListを使わざるをえなくなった場合、
ArrayList arraylist のコードの方は直さなきゃならないね。
同様に、以下のようなメソッドを別に用意していたとしよう、
void method(ArrayList arraylist){
arraylist.add("unko");
}
上記メソッドはaddメソッドにしか用事がないのに
ArrayListで型宣言してるばっかりにLinkedListが渡せない。
これは大いに問題。
上記のような問題が起こらないと言える範囲、
もしくはArrayList特有のメソッドが重要な場合とかは
ArrayListをそのまんま変数宣言で使っていいよ。
0299デフォルトの名無しさん
2010/05/09(日) 19:14:47素で間違い
片方はCONSTSANT_Bに
でもあれでもまだ問題あり
とにかくEffective Javaでも読む
.は,に戻す
0300デフォルトの名無しさん
2010/05/09(日) 19:17:26やっぱり ArrayList じゃなくて LinkedList にしようとか思った時に
List list = new LinkedList();
にすれば動く。
ArrayList list = new ArrayList(); だと
LinkedList list = new LinkedList();
に修正したとしても、例えば
list.ensureCapacity(100);
とかいう文があったらエラーになる。
まあ普通はこういうことは起こらないけど、あくまで例として。
0301デフォルトの名無しさん
2010/05/09(日) 19:34:36>>300
分かりました!
有難うございます!!
余談ながら、実は『=』の左側で型を宣言するのはメモリに
領域を確保する為だという考え方がぬぐえず、だから大抵の
場合スーパークラスよりサブクラスの方がメソッドとかも
増えているので、スーパークラスで確保した領域にサブク
ラスを代入すると、オーバーライドや独自メソッドなど
確保領域からはみ出る部分が切り落とされると思えて仕方
なかったのです。
0302デフォルトの名無しさん
2010/05/09(日) 19:39:19thisつけるかどうかはどこのスコープかによる。
迷ってるならCheckStyleを使うべき。CheckStyleがthisの付け忘れを指導してくれる。
もしEclipseを使って開発してるならEclipseにもCheckStyleプラグインがあるからそれを使うといい。
> 内部クラスにもthisとかつけたほうがいいの?
> ClassAという内部クラスがあったとき
> this.ClassA a = new this.ClassA();
そもそもnewのあとにthis.は不要。
型の頭にthis.つけたらコンパイルエラー。
インスタンス生成のことをよくわかってないようなので
基礎から勉強し直した方がいいと思う。実際に自分でそのソースコードを書いて、
コンパイルして自分の目で確かめてみましょう。
内部クラス等の扱いについての詳しい解説は『Java言語仕様』を読むかそこいらのJava入門サイトでも読んだほうが早い。
>>263
CONSTANT_A(1)という書式は無理にする必要ない。
CONSTANT_Aでもいい。toString()が返す値が1になるかわりに"CONSTANT_A"にかわるだけ。
そこいらのサイトを検索して出るJavaのenumの仕様とサンプルを見るべし。
0303デフォルトの名無しさん
2010/05/09(日) 19:40:58>>267
Javaはそんな老けてない。それってC/C++の間違い。Javaは登場してからまだ15年しか経ってないから。
>>269
10年前にJava始めたときは興奮した。それまではC/C++大学で弄っててついでに大学の鯖でHTMLとかCGIとか弄ってたから。
あの頃の多くのJava本がまえがきでJavaの魅力を熱烈にアピールしてC++とここが違うということを強調しまくっていた。
あの頃にあんなまえがき読んだら興奮する。当時はC/C++が最強と言われていたんだから、身震いを覚えた。「C/C++に慣れきっていたら
なんだこの変な言語」と思っていたがまだC++もほとんど十分に把握していなかったこととC言語の煩雑さに不満を覚えていたから
あのときのインパクトは衝撃的だった。
>>276
しかし、Java以外の言語にある程度経験がある場合、とくにC/C++経験豊富でJava初心者の場合はEffective Javaはおすすめできる。
enumのところに書いてあるコードはそれほど難しくないから読む価値はある。というかenumだけなら買わなくてもここでほとんどそっくりな解説を読めたりする。
惑星から物体の重量を計算するenum型のサンプルとかもろにEffective Java第2版と同じことがかいてある。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/language/enums.html
あとインタフェースを定数にするのがなぜいけないかは、ここを読むのがおすすめ。
http://www.ibm.com/developerworks/jp/java/library/j-enums/
0304デフォルトの名無しさん
2010/05/09(日) 19:52:54文字列の中にドットが含まれていれば小数をみなす
というんなら、そんなめんどうくさいことやらずにこうすればいい
while(true){
//コンソールから小数を入力するコード
if(!input.contains("."))
break;
}
}
例外のことは考えてない
0305デフォルトの名無しさん
2010/05/09(日) 20:55:120306286
2010/05/09(日) 21:48:41>>305さんがおっしゃってる通りなのですが、文字が入力された場合などの判別も条件に入れての質問です。
条件があいまいな質問になってしまい申し訳ございません。
0307デフォルトの名無しさん
2010/05/09(日) 22:04:39>>267はジョーダンだろw ジョーダンにマジレスすんなよw
0308デフォルトの名無しさん
2010/05/09(日) 22:42:27void addFirst(E e)
void addLast(E e)
void clear()
E getFirst()
E getLast()
boolean offer(E e)
boolean offerFirst(E e)
boolean offerLast(E e)
E peek()
E peekFirst()
E peekLast()
E poll()
E pollFirst()
E pollLast()
E pop()
void push(E e)
E removeFirst()
boolean removeFirstOccurrence(Object o)
E removeLast()
boolean removeLastOccurrence(Object o)
0309デフォルトの名無しさん
2010/05/09(日) 22:54:09それらはListではなくDequeだな
0310デフォルトの名無しさん
2010/05/09(日) 23:14:49java.util.regexか
Apache Jakarta ProjectのApache OROを使って正規表現で文字列を除外する。
0311デフォルトの名無しさん
2010/05/09(日) 23:15:44何の話題?
元の話の流れがわからないのでリンク元を
0312デフォルトの名無しさん
2010/05/09(日) 23:53:18linkedlistで使えてlistで使えないメソッド
0313デフォルトの名無しさん
2010/05/10(月) 00:21:48そやな。
あれはDequeのメソッドも混じってるからな。
0315デフォルトの名無しさん
2010/05/10(月) 01:18:310316デフォルトの名無しさん
2010/05/10(月) 02:39:19http://www51.tok2.com/home/rg550/cgi-bin/hosoku/img0051.java
改良点があれば・・・・
0317デフォルトの名無しさん
2010/05/10(月) 02:44:170318デフォルトの名無しさん
2010/05/10(月) 03:38:57('a')
('A')
('3')
('-')
顔文字に見えた
0319デフォルトの名無しさん
2010/05/10(月) 12:44:29static importして
sysout(MINIS10 +" massage "+ MINIS10)
って便利かなと思うけどどう考えてもGRAVE_ACCENT100とか使わないよね・・・
0320デフォルトの名無しさん
2010/05/10(月) 18:00:50式書くとき
n=m+12; ←のように詰めて書く?
n = m + 12; ←のようにスペース空けて書く?
引数とかでも
hoge(n,1,true,a,"abc"); 詰めて書く?
hoge( n, 1, true, a, "abc"); 空けて書く?
0321デフォルトの名無しさん
2010/05/10(月) 18:10:280322デフォルトの名無しさん
2010/05/10(月) 18:10:37定数にenum使うってswitch文とかで分岐に使うような複数ある定数の場合でしょ?
他の定数と関連付ける必要ない定数はenum使っちゃだめじゃないの?
0323デフォルトの名無しさん
2010/05/10(月) 18:23:140324デフォルトの名無しさん
2010/05/10(月) 18:37:180325デフォルトの名無しさん
2010/05/10(月) 18:48:100326デフォルトの名無しさん
2010/05/10(月) 19:10:12例えば "deadbeef"を入力すると"00deadbeef"と返還する処理を書きたいです。
String.format("%010s", "deadbeef");
とやってもダメでした
0327デフォルトの名無しさん
2010/05/10(月) 20:09:07あとは多少気持ち悪いけど、
Java上でSingletonやりたい場合かな。
0328デフォルトの名無しさん
2010/05/10(月) 20:18:59駄目っていう理由はないと思ってるんだけど。
何でそう思ってるのか知りたい。
0329デフォルトの名無しさん
2010/05/10(月) 20:24:25package a;
public class AA{
int ai;
protected int aj;
}
package b;
import a.AA;
class BB extends a.AA{
BB(){
AA aa = new AA();
aa.ai = 7;(1)
aa.aj = 9;(2)
ai = 7;(3)
aj = 9;(4)
}
}
(1)-(4)のなかで正しいのはどれですか?
0330デフォルトの名無しさん
2010/05/10(月) 21:51:29目の前のPCで動かせばいいだろうが。
何でも聞けると思ってんじゃねえぞ。
0331デフォルトの名無しさん
2010/05/10(月) 22:51:30System.out.println(org.apache.commons.lang.StringUtils.StringUtils.leftPad("123", 10, '0'));
0332デフォルトの名無しさん
2010/05/10(月) 22:52:43System.out.println(org.apache.commons.lang.StringUtils.leftPad("123", 10, '0'));
な
0333デフォルトの名無しさん
2010/05/11(火) 01:55:42Apache Commons LangのStringUtilsクラスかと思ったぜ。
あっちのクラスには不満かい?
0334デフォルトの名無しさん
2010/05/11(火) 01:59:47Singletonを作る場合にも使えますが。
他の定数と関係ない定数にenum使わない方がいいなんて話聞いたことが無い。
誰がそんなこといってた? どんな本に書いてた?
Singletonクラスで代用してもかまわないと思うけど。
>>323
なにいってんの?
>>324
それアンチパターン
以下>.303の引用
> あとインタフェースを定数にするのがなぜいけないかは、ここを読むのがおすすめ。
> http://www.ibm.com/developerworks/jp/java/library/j-enums/
0335デフォルトの名無しさん
2010/05/11(火) 02:01:16スペースあける。
>>321のようにEclipse使う。すると自分で設定したコードフォーマットに従って
コードが自動的にフォーマットされる。
詰めてかいたコードは読みにくい。というかそういうコード書くやつのソース読まされるとそいつを殴りたくなる。
0336デフォルトの名無しさん
2010/05/11(火) 02:06:38答えが複数でるんだけど
Sun認定Java資格試験を受けようとしているんだか
学校の宿題をここで聞こうとしているのかわからんけど
宿題専用スレがあるからそっち使うといいよ
★★ Java の宿題ここで答えます Part 69 ★★
http://pc12.2ch.net/test/read.cgi/tech/1267796762/
Java資格試験のスレはマ板のこっちにあるからここで聞くといいよ
Sun認定Java資格 実用情報 7 【SJC-P用】
http://pc11.2ch.net/test/read.cgi/prog/1264084378/
0337デフォルトの名無しさん
2010/05/11(火) 02:15:030338デフォルトの名無しさん
2010/05/11(火) 02:20:45まぁ教典にかぶれるのは若さの特権だけどさ。
0339デフォルトの名無しさん
2010/05/11(火) 02:29:15Constant interface - Wikipedia, the free encyclopedia
ttp://en.wikipedia.org/wiki/Constant_interface
0340デフォルトの名無しさん
2010/05/11(火) 02:32:06Call super - Wikipedia, the free encyclopedia
ttp://en.wikipedia.org/wiki/Call_super
0341デフォルトの名無しさん
2010/05/11(火) 02:33:04ttp://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%B3%E3%83%81%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
0342デフォルトの名無しさん
2010/05/11(火) 02:34:400343デフォルトの名無しさん
2010/05/11(火) 02:38:12何でもパターンを盲信すりゃ良いってもんでもない。
0344デフォルトの名無しさん
2010/05/11(火) 02:45:27在日は巣に帰れ
http://tsushima.2ch.net/korea/
0345デフォルトの名無しさん
2010/05/11(火) 02:46:55こんなの全部考慮してなんて作れないお
0346デフォルトの名無しさん
2010/05/11(火) 02:46:57思いっきりアンチパターンって書いてるぞ。
まさかアンチパターンとしら書いてなかったらどうしうようかと思ったぜ
Use of this anti-pattern has a few other downsides:
It pollutes the class namespace with read-only variables that may not be of use.
Contrary to the compile-time tactical utility of implementing a constants interface, the incidental run-time artifacts have little practical purpose (cf. marker interfaces which also have no methods but are useful at run-time).
If binary code compatibility is required in future releases, the constants interface must remain forever an interface (it cannot be converted into a class), even though it has not been used as an interface in the conventional sense.
Without an IDE that resolves where the constant are coming from, tracking it back to its containing class or interface can be time consuming.
A variable (representing an instance) of the interface is syntactically no more useful than the interface name itself (since it has no methods).
0347デフォルトの名無しさん
2010/05/11(火) 02:47:38COBOLerのようにスパゲティコード書く馬鹿のコードを読むのは苦労してウザイから
0348デフォルトの名無しさん
2010/05/11(火) 02:48:19アジャイル開発も無視ってやつか
せめてデザインパターンのひとつくらい覚えて使いこなせよ
そういうのすら無視して汚くて読みにくいコードばかりかいて
そんな上から目線で威張ってるのか?
0349デフォルトの名無しさん
2010/05/11(火) 02:52:15見てると、それを遵守して失敗しても自分のせいじゃないと心のどこかで言い訳できるからっぽい。
あと設計突っ込まれたときに他人の言葉を借りないと返せないから。ちゃんと経験を積めば
「何故このケースではアンチパターンを使った方が良いか」個別に判断出来るようになるが。
まぁその典型が >>348 みたいな。
0350デフォルトの名無しさん
2010/05/11(火) 03:03:280351デフォルトの名無しさん
2010/05/11(火) 03:06:07>車輪の再発明
俺よくやるわwwダメじゃんwww
0352デフォルトの名無しさん
2010/05/11(火) 03:11:52コアライブラリと同じ機能を再発明してたらアレだが、それだって外部 JAR の追加
(管理構成に関するアンチパターン) との兼ね合いだよ。
0353デフォルトの名無しさん
2010/05/11(火) 03:12:47ttp://ja.wikipedia.org/wiki/デザインパターン (ソフトウェア)
0354デフォルトの名無しさん
2010/05/11(火) 03:16:110355デフォルトの名無しさん
2010/05/11(火) 04:21:18具体例を示さないで妄想を騙る言い訳COBOLer老害乙
アンチパターンを使った方がいい例を実例で示してごらん
0356デフォルトの名無しさん
2010/05/11(火) 04:22:27信頼できる情報源に恵まれた出典が載っていれば信用できる
0357デフォルトの名無しさん
2010/05/11(火) 04:24:30ただのオッサンとしか思われないだろうな。
そんな環境が勧められる案件は組み込みくらいだしな。
>>350みたいなのがメモリがたっぷりあるのに無駄にメモリ節約に拘る傾向にあるんだよな。
0358デフォルトの名無しさん
2010/05/11(火) 04:30:21おまえさ、不適合ケースが思い付かないって事はどういう経緯や利点があってパターン化されたか
理解してずに (つまりパターンの欠点も理解せずに) 盲信していますと白状しているようなもんだぜ。
どこかで覚えたような単語ばかり並べつらうよりも、もう少し自分の言葉で話せるよう経験を積んだ
方が良いな。ここは技術板だぜ。
0359デフォルトの名無しさん
2010/05/11(火) 04:33:250360デフォルトの名無しさん
2010/05/11(火) 04:36:00出典元から正しく引用等されてるかの保障が無い
出典元がインターネットサイトなら確認は容易いが
書籍の場合はどうしようもない
0361デフォルトの名無しさん
2010/05/11(火) 04:38:470362デフォルトの名無しさん
2010/05/11(火) 04:45:240363デフォルトの名無しさん
2010/05/11(火) 04:46:580364デフォルトの名無しさん
2010/05/11(火) 04:48:370365デフォルトの名無しさん
2010/05/11(火) 04:49:450366デフォルトの名無しさん
2010/05/11(火) 05:01:050367デフォルトの名無しさん
2010/05/11(火) 05:03:000368デフォルトの名無しさん
2010/05/11(火) 05:14:13class Parent{}
class Child extends Parent{}
public class Test
{
public void check(Parent p)
{
//省略
}
public static void main(String[] arg)
{
Parent p = new Child();
new Test().check(p); // �@
}
}
�@の記述は何?
checkを呼び出しているのはわかるのですが、このような記述は見たことがありません。
0369デフォルトの名無しさん
2010/05/11(火) 05:15:21代休じゃねぇの。
0370デフォルトの名無しさん
2010/05/11(火) 05:16:19Test t = new Test();
t.check(p);
と同じ
0371デフォルトの名無しさん
2010/05/11(火) 06:43:39それもそうだが、そもそも、「初学者なんだけど、本人は中級者気取り」ってやつが多いw
というか本至上主義のヤツ多いの?
本の知識なんてそこそこの優等生なら勉強できる。そんなものには価値はない。(勉強しないやつよりはそりゃできるが。)
すげー技術者から教わる知識や考え方の方が価値が高い。
会社で一人くらいいるだろ?オプソのコミッタやってるやつとか、自社のフレームワークつくったやつとか。
そういうやつから教わる生きた知識の方が、役に立つぜ。
0372デフォルトの名無しさん
2010/05/11(火) 07:41:07知識の種類による。至上主義とかの問題じゃないだろう。
件のEffective Javaだってそこらの開発者が書いたなら
そこそこの信頼しかおけないが、書いた奴が言語の根幹に関わってる
とかなら信頼できる。それこそそこらにいるオープン開発者なんてのより。
でも定数に必ずenum使えなんて書いてあった覚えないんだけど。
件の彼は文字列定数にもenum使えって言っているのだろうか。
まあどちらにしろ>>252のようなインタフェースならざる
定数インタフェースは、俺が現場にいたら「やめて」と言う。
もっと別の方法でできるし、クラスに変な継承関係持って欲しくない。
見た時混乱するし、なにより嫌なニオイがする。
0373デフォルトの名無しさん
2010/05/11(火) 08:06:190374デフォルトの名無しさん
2010/05/11(火) 14:04:40頭大丈夫か?
実例を示せていない時点でお前も経験不足だな
0375デフォルトの名無しさん
2010/05/11(火) 14:07:23おいおい、その書籍を読めばいいだろ
絶版で入手困難な書籍はつらいがさ
図書館やそこいらの書店で手に入る書籍ならまだいいほうだろ
中には国会図書館まで出かけて確認する必要があるものすらあるんだぜ
0376デフォルトの名無しさん
2010/05/11(火) 14:12:12そんなにいうなら
なんでお前はアンチパターンの定数インタフェースを肯定しているんだ?
明らかに悪用されるケースが多いんだが。
まさか、メモリ節約だとか組み込み系メインだから、
先人が書いたシガラミにとりつかれたコーディング規約を守らなければならないから
とかいうその程度の不適合ケースで偉そうに吹聴しているわけではないよな?
ところでお前はenumの仕様わかってるか?
0377デフォルトの名無しさん
2010/05/11(火) 14:17:370378デフォルトの名無しさん
2010/05/11(火) 14:22:34JavaのenumをCのenumと勘違いしているレベル
定数インタフェースのかわりにenumを使っちゃいけない理由なんてJavaのバージョンが古いとき
以外思いつかないんだが。
「関係ない要素を1つのenumに混ぜるから使って欲しくない」というなら
enum型を2つに分割すればいいだけの話だしな
0379デフォルトの名無しさん
2010/05/11(火) 14:30:21文字列定数って"SUNDAY","MONDAY", ... みたいなやつ?Enum使うんじゃないかなあ。
0380デフォルトの名無しさん
2010/05/11(火) 14:32:44かわりにどうやって定数を定義するつもりかね
まさか、ResourceBundleとか言わないよねw
あれ定数じゃないから
0381デフォルトの名無しさん
2010/05/11(火) 14:33:380382デフォルトの名無しさん
2010/05/11(火) 14:35:540383デフォルトの名無しさん
2010/05/11(火) 14:38:580384デフォルトの名無しさん
2010/05/11(火) 14:59:210385デフォルトの名無しさん
2010/05/11(火) 15:28:100386デフォルトの名無しさん
2010/05/11(火) 15:29:260387デフォルトの名無しさん
2010/05/11(火) 16:01:400388デフォルトの名無しさん
2010/05/11(火) 16:02:340389372
2010/05/11(火) 16:03:17列挙したくないものに対して無理やりenum使う必要はないよ。まったくの労力の無駄。
てか、文字列定数を列挙にするって、toStringでも実装させる気?
あと定数は文字列に限らないよ。
コレクションクラスによる定数とかあるでしょ。
>>380
定数インタフェースは使わないで、
適切な場面でのみenum使うって言ってるんだけど。
普通の定数はユーティリティクラス的なものに定義するか、
各クラスに定義するでしょ。
もうちょっと他人の言ってることを理解する努力をしようぜ。
脳内で>>XXX=>>YYYなんてやってるから
他人の言うことを曲解してしまうんだよ。
0390デフォルトの名無しさん
2010/05/11(火) 16:14:30> >>379
> 列挙したくないものに対して無理やりenum使う必要はないよ。まったくの労力の無駄。
> てか、文字列定数を列挙にするって、toStringでも実装させる気?
enumで定数名をそのまま文字列に置き換える場合はわざわざtoString()のオーバーライドは不要ですが
>
> >>380
> 定数インタフェースは使わないで、
> 適切な場面でのみenum使うって言ってるんだけど。
> 普通の定数はユーティリティクラス的なものに定義するか、
> 各クラスに定義するでしょ。
それてその定数はほとんどpublicでint型なんですね
はい問題がおきましたね
0391デフォルトの名無しさん
2010/05/11(火) 16:15:10C/C#慣れしたJava初心者はよく勘違いするんだこれが
Cのenumとまったく同じだと
0392デフォルトの名無しさん
2010/05/11(火) 16:17:50なんか話作ってないかおまえ。
0393デフォルトの名無しさん
2010/05/11(火) 16:18:30このスレ(この流れ)ではそれをもうちょっと具体的に示した方が良いんじゃないの?
>>379はenum使う例だよね、じゃあ使わない例は?
(あるいは>>379が使わない例だとすると、使う例は?)
0394デフォルトの名無しさん
2010/05/11(火) 16:23:37enumの列挙のシンボルと文字列表現が一致しているような
場合ってのはそんなに無い。むしろ特殊例。
まさかとは思うけど、同じ感覚でordinal()使ってないよね?
某有名FWが列挙にordinal()依存の設計してて殴りたくなった。
で、publicでint型だと何の問題があるの?
一体Effective Java第2版をどういう読み方をしたら
そういう意味不明な考え方に至るのか不思議だわ。
0395デフォルトの名無しさん
2010/05/11(火) 16:28:18SUNDAY, MONDAYを列挙する必要があるなら
enumでよい。EnumSet.of(SUNDAY, SATURDAY)やら好きにやってくれ。
使用する場面が限定されていて、単純に
"日曜日"、"月曜日"を出したいだけなら定数でよい。
そもそも、通常の業務系開発だとenumで文字列を切り出すにしても
enumの文字列表現自体は別の定数クラスに切り出すこと多いけどね。
で、enum使わない例。そんなのはいくらでもあるだろ:
/** デフォルトのXXXの長さ */
public static int DEFALUT_LENGTH = 50;
そもそもenum使う予定すらないのに、
enum使い始めたりするとYAGNIに反するわけだ。
だいたいenumが提供できるのはオブジェクトの値というよりは、
オブジェクトのシングルトンなアイデンティティなわけだろう。
値を返すために、どれぐらい実装工数割きたいのか理解不能。
0396デフォルトの名無しさん
2010/05/11(火) 16:30:39お前の考えてる例のほうがよっぽど特殊例
Effective Java読んでいればordinal()が以下にヤバいものかわかってるはずだが
int型定数の問題点もな
お前がint型定数どうしで加減乗除した判定メソッドを作る馬鹿の暴走を防ぐことを考えていないのがまるわかりだ
0397デフォルトの名無しさん
2010/05/11(火) 16:33:160398デフォルトの名無しさん
2010/05/11(火) 16:36:16理解できないので、そろそろ退散します。
0399デフォルトの名無しさん
2010/05/11(火) 16:37:59> で、enum使わない例。そんなのはいくらでもあるだろ:
> /** デフォルトのXXXの長さ */
> public static int DEFALUT_LENGTH = 50;
ここがアウトだな
その定数をそのクラスか同じパッケージでしか使わないならわざわざpublicにする必要がない
> そもそもenum使う予定すらないのに、
> enum使い始めたりするとYAGNIに反するわけだ。
> だいたいenumが提供できるのはオブジェクトの値というよりは、
> オブジェクトのシングルトンなアイデンティティなわけだろう。
> 値を返すために、どれぐらい実装工数割きたいのか理解不能。
enum型書くのにそんなに工数かからないわけだが
曜日の例もenum { SUNDAY, MONDAY };程度で非enumや内部クラスよりも簡潔だ
0400デフォルトの名無しさん
2010/05/11(火) 16:39:01下 2 行って enum じゃ解決できない (関係ない) し、メソッドで隠蔽しても同じ事じゃね?
どういう魔法使ったら防げるの?
0401デフォルトの名無しさん
2010/05/11(火) 16:40:570402デフォルトの名無しさん
2010/05/11(火) 16:44:23そもそも防ぐ必要すらないと思うよ。
たぶん今暴れてる子は大きなプロジェクトに入って
開発したことないんじゃないかな。
0403デフォルトの名無しさん
2010/05/11(火) 16:45:07> 使用する場面が限定されていて、単純に
> "日曜日"、"月曜日"を出したいだけなら定数でよい。
>379がどういうケースかしらんが後から火曜日〜土曜日を追加すること考えると
enumのほうがましといえばましだな。
> そもそも、通常の業務系開発だとenumで文字列を切り出すにしても
> enumの文字列表現自体は別の定数クラスに切り出すこと多いけどね。
無駄に定数クラスを増やしてんな。そういうときこそenum内でtoString()オーバライドしたほうがまし。
どっちがどんだけ実装工数割いてるんだ。
0404デフォルトの名無しさん
2010/05/11(火) 16:45:48ただの逃げかよインタフーフェース定数パターンオヤヂw
0405デフォルトの名無しさん
2010/05/11(火) 16:48:29> >>396
> 下 2 行って enum じゃ解決できない (関係ない) し、メソッドで隠蔽しても同じ事じゃね?
> どういう魔法使ったら防げるの?
加減乗除したくない定数どうしをそれぞれ異なるenum型で宣言すれないい。
0406デフォルトの名無しさん
2010/05/11(火) 16:49:09定数インターフェースオヤジの最後の言い訳かよw
どっちが暴れてんの
0407デフォルトの名無しさん
2010/05/11(火) 16:54:32いやだからバッファサイズとかスレッドプール数とか具体値が必要な場合は
どうすんのって。コアライブラリ全部ラッパー化する気?
0408デフォルトの名無しさん
2010/05/11(火) 16:55:37>>402
自演くせぇ
0409デフォルトの名無しさん
2010/05/11(火) 16:56:43何のバッファサイズとスレッドプール数が欲しいのかいってごらん
具体的に
0410デフォルトの名無しさん
2010/05/11(火) 16:56:55enum BUFFER_SIZE{
BUFFER_SIZE{ @Override int getValue(){return 1024;} };
abstract int getValue();
}
こうしたいんじゃないんだろうかw
0411デフォルトの名無しさん
2010/05/11(火) 17:02:19じゃあ例としてファイル入出力のためのバッファサイズ (BufferedInputStreamを使用) を
Windows の標準スペックに合わせて 4*1024 バイト (8kだっけ?) で指定する場合は
どう 4kB を enum で定義すんの?
0412デフォルトの名無しさん
2010/05/11(火) 17:11:09enum { B4096 }
new BufferedInputStream(new FileInputStream(file, Integer.parseInt(B4096.name().substring(1))));
こうじゃね?w
0413デフォルトの名無しさん
2010/05/11(火) 17:13:48String B4096="B4096";
new BufferedInputStream(new FileInputStream(file, Integer.parseInt(B4096.substring(1))));
こうじゃね?
0414デフォルトの名無しさん
2010/05/11(火) 17:20:38enum IS {
IN1K(1024),
IN2K(2048),
IN4K(4096),
IN8K(8192),
;
private final int bufsize;
private IS(int bufsize){ this.bufsize = bufsize; }
public InputStream getInputStream(File file) throws IOException{
return new BufferedInputStream(new FileInputStream(file), bufsize);
}
}
InputStream in = IS.IN4K.getInputStream(file);
0415デフォルトの名無しさん
2010/05/11(火) 17:34:32その定数を作りたいんだけど、その特定値含むenum定数作んなきゃダメ?
0416デフォルトの名無しさん
2010/05/11(火) 18:42:48そもそもそんなものをpublic static finalにする必要があんのかと
そんな定数作るなら使う場所が限られてるんだからpublicな定数インターフェースパターンなんかにする必要ないだろって
話だと思うんだが。
俺だったらそういうのはpublicにしないが。
だいたいそのクラスでしか使わないならパッケージプライベートかprivateな定数として宣言する。
0417デフォルトの名無しさん
2010/05/11(火) 18:44:150418デフォルトの名無しさん
2010/05/11(火) 18:47:30えーと、勝手にケース想定作らずに答えて頂けませんか?
0419デフォルトの名無しさん
2010/05/11(火) 18:50:04偏見ウヨで教典主義ってエンジニアとして終わってんな。
0420デフォルトの名無しさん
2010/05/11(火) 19:27:42これがこの騒ぎのきっかけか?
0421デフォルトの名無しさん
2010/05/11(火) 19:36:000422デフォルトの名無しさん
2010/05/11(火) 19:59:03平日の昼間からアフォウヨ連呼して暴れてるチョンニートか
0423デフォルトの名無しさん
2010/05/11(火) 20:00:18ウヨという言葉を不用意に使うと在日と間違えられるぞ
民団がサイトで「外国人参政権を取得するためにネット・右翼と戦う」とか
変なこと書いてるからな
リアルで在日だったらご愁傷さまだが
0424デフォルトの名無しさん
2010/05/11(火) 20:17:400425デフォルトの名無しさん
2010/05/11(火) 20:27:04実家は江戸初期に開拓された土地で周囲も同じ名字ばかりだし、直系で明和、
分家で戦国、史料で室町まで遡れるんでご心配なく。君はどこから日本人?
0426デフォルトの名無しさん
2010/05/11(火) 20:34:21スレッド荒らすな
0427デフォルトの名無しさん
2010/05/11(火) 20:36:260428デフォルトの名無しさん
2010/05/11(火) 21:42:31とりあえずソース出そうか
ネトウヨを連呼している奴はルーピーズって呼ばれるくらいろくなヤツがいないがな
0429デフォルトの名無しさん
2010/05/11(火) 21:48:31半島起源の街宣ウヨだったか。
0430デフォルトの名無しさん
2010/05/11(火) 21:49:210431デフォルトの名無しさん
2010/05/11(火) 21:56:23とりあえずお前の持ってるクレジットカード使って
本人認証でもしてみw
0432デフォルトの名無しさん
2010/05/11(火) 21:56:42さっさと祖国へ帰れば良いのに。
0433デフォルトの名無しさん
2010/05/11(火) 22:01:41媚中のアホ犯罪者小沢一郎が信じてる騎馬民族征服王朝説をお前も信じてるのか
0434デフォルトの名無しさん
2010/05/11(火) 22:04:240435デフォルトの名無しさん
2010/05/11(火) 22:06:200436デフォルトの名無しさん
2010/05/11(火) 22:25:06だがお前は何か勘違いしているようだ
0437デフォルトの名無しさん
2010/05/11(火) 22:26:24いやこのプログラム技術板から出て行って欲しい
0438デフォルトの名無しさん
2010/05/11(火) 23:42:03さらなる糞スレ化が進むわけだが
0439デフォルトの名無しさん
2010/05/12(水) 02:05:490440デフォルトの名無しさん
2010/05/12(水) 03:46:130441デフォルトの名無しさん
2010/05/12(水) 04:19:330442デフォルトの名無しさん
2010/05/12(水) 04:20:49デフォルトではそう。以下の点に注意すれば可能。
・対象とするJavaのバージョンでサポートされていない機能を使わない。
1.4なら、5.0で追加されたアノテーションとかenumとかを使わない。
1.3なら、加えてassertも使わない。
もちろん、新しいJavaで追加されたAPIは、すべて使用を控える。
・javac のオプション-target に、対象とするVMのバージョンを指定する。
ttp://java.sun.com/javase/ja/6/docs/ja/technotes/tools/windows/javac.html#crosscomp-options
0443デフォルトの名無しさん
2010/05/12(水) 04:23:250444デフォルトの名無しさん
2010/05/12(水) 04:27:290445デフォルトの名無しさん
2010/05/12(水) 05:13:54ゲームとかではFLASHのほうが一般的なのかな
0446デフォルトの名無しさん
2010/05/12(水) 08:57:59> こうやって保守の名を落とす活動って本国からの指令なんだろうな。
> さっさと祖国へ帰れば良いのに。
こういうことを言う奴が実は保守ではない例ってよくあるんだよな
「同じ日本人として恥ずかしい」とかいう発言も、実は日本人でなかったり
特亜人かぶれだったり反日左翼だったりな
0447デフォルトの名無しさん
2010/05/12(水) 08:59:34街宣右翼=実は左翼団体だからな
褒め殺し活動をして保守層を貶めるために右翼団体を名乗っていた左翼の朝鮮系ヤクザがわざとやっていたことが
最近になってわかってきたという
0448デフォルトの名無しさん
2010/05/12(水) 09:00:24まず自分から出生をあかしてごらん
在日君
0449デフォルトの名無しさん
2010/05/12(水) 09:29:48自演くせぇw
0450デフォルトの名無しさん
2010/05/12(水) 09:31:050451デフォルトの名無しさん
2010/05/12(水) 09:42:25どこの恥ずかしいバカだよこいつ。
0452デフォルトの名無しさん
2010/05/12(水) 09:46:410453デフォルトの名無しさん
2010/05/12(水) 10:05:500454デフォルトの名無しさん
2010/05/12(水) 10:28:48{
private String msg;
public Test(){ this("Good");}
public Test(String msg){msg=msg;}
public String toString(){return("msg:"+msg);} //�@
public static void main(String[] arg)
{
System.out.println(new Test());
}
}
実行結果は、msg:nullになります。
質問は、�@の行のtoStringがどこから呼ばれているのか?です。
よろしくお願いします。
0455デフォルトの名無しさん
2010/05/12(水) 10:33:07> public Test(String msg){msg=msg;}
public Test(String msg){this.msg=msg;}
0456デフォルトの名無しさん
2010/05/12(水) 10:34:12msg=msg; はパラメータ変数 msg 自身に自分の値を設定しているので、
インスタンス変数の方の msg は null (初期値) のまま。つまり結果的に
何の状況も変わっていない。
正しくは this.msg = msg;
0457デフォルトの名無しさん
2010/05/12(水) 11:20:41"msg." + msg は以下に翻訳される
new StringBuilder("msg.").append(msg);
StringBuilderのappendメソッドの中で
String.valueOf(msg)が呼ばれる。
このときmsgがnullであれば"null"という文字列に変換される。
null以外であれば、msg.toString()の結果の文字列に変換される。
0458デフォルトの名無しさん
2010/05/12(水) 12:56:350459デフォルトの名無しさん
2010/05/12(水) 15:49:10ネット亡国論とかどこで覚えたんだよ
お前のほうがよっぽど恥ずかしいよ
そんなこと言う奴はネットで左翼的な発言や小泉改革に対する陰謀論を繰り返し唱えている
ミラーマンやリチャード・コシミズのようなアホどもだけだよ
0460デフォルトの名無しさん
2010/05/12(水) 15:49:51自演くせぇw
0461デフォルトの名無しさん
2010/05/12(水) 15:50:320462デフォルトの名無しさん
2010/05/12(水) 15:51:22定数インタフェース信者は具体的になにが悪いのか説明できない時点でファビョって
左翼発言連呼してっからな
0463デフォルトの名無しさん
2010/05/12(水) 15:54:070464デフォルトの名無しさん
2010/05/12(水) 15:55:19なんか中国を崇拝しているようだが、とんだ馬鹿だな
この馬鹿は社会主義思想に陥ったか?
0465デフォルトの名無しさん
2010/05/12(水) 15:56:11それは良かったですね
0466デフォルトの名無しさん
2010/05/12(水) 16:21:420467デフォルトの名無しさん
2010/05/12(水) 16:29:48たいがいはハッタリでしょ
0468デフォルトの名無しさん
2010/05/12(水) 16:47:060469デフォルトの名無しさん
2010/05/12(水) 17:07:390470デフォルトの名無しさん
2010/05/12(水) 17:12:16他の質問等にたんたんと答えていけばいいんじゃね
0471デフォルトの名無しさん
2010/05/12(水) 17:16:502ch で時間を無駄にしないための鉄則。これ。
0472デフォルトの名無しさん
2010/05/12(水) 17:18:45ほとぼりが冷めるまで
このスレ放置。bye
0473デフォルトの名無しさん
2010/05/12(水) 18:33:10悪名高い中国人と朝鮮人を追い出せば解決するんでね?
0474デフォルトの名無しさん
2010/05/12(水) 19:28:35もしかして最強じゃね?
0475デフォルトの名無しさん
2010/05/12(水) 19:45:520476デフォルトの名無しさん
2010/05/12(水) 19:55:100477デフォルトの名無しさん
2010/05/12(水) 19:55:580478デフォルトの名無しさん
2010/05/12(水) 19:57:01ブックオフ等の古書店池
CD付きの古いJava雑誌とか入門書ゲとしてこい
0479デフォルトの名無しさん
2010/05/12(水) 20:08:55http://java.sun.com/javase/downloads/previous.jsp
0480デフォルトの名無しさん
2010/05/12(水) 21:04:40>>454
調べ方(基本編)
APIヘルプで System.out を調べると PrintStream なわけだ。
そしてオブジェクトを受ける println(Object x) を辿ると、
「このメソッドは、最初に String.valueOf(x) を呼び出して、出力されたオブジェクトの文字列値を取得します。」
とある。
String.valueOf(x) それもやはりオブジェクトを受ける valueOf(Object obj) を見てみる。すると戻り値の項に
「引数が null の場合は、"null" に等しい文字列。そうでない場合は、obj.toString() の値」
とあって、toString() が呼ばれていることが分かる。
調べ方(応用編)
ヘルプが正しいとか完璧とは限らない。しかし JDK のフォルダを見ると src.jar というファイルがある。
これはソースをzip圧縮したものなので、src.zip と名前を変えて解凍するとソース見える。
ここで PrintStream で println(Object x) を探すと
String s = String.valueOf(x);
そこで今度は、String の valueOf(Object obj) を探すと
return (obj == null) ? "null" : obj.toString();
と書かれているので、toString が呼ばれていることが実際に確かめられる。
0481デフォルトの名無しさん
2010/05/12(水) 21:11:20ソースがあるなら良いのだが、無かったらどうするか?
Eclipse はバイトコードをソースに逆コンパイルするjadというツールが組み込まれている。
デバッガで、関数の中にステップインするとバイトコードが逆コンパイルされる。
これを追えば、ソースが無くとも確認できる。
0482デフォルトの名無しさん
2010/05/12(水) 21:51:37ゴスリンに聞きに行く。
0483デフォルトの名無しさん
2010/05/12(水) 23:20:22GenericsはOKなんだ
0484デフォルトの名無しさん
2010/05/12(水) 23:23:42そんなありえない話あるかw
Sunがいままでそこまでひどいことをしたことがあるかw
>>481
組み込まれてないから。
自分でインストールしないと使えないから。
0485デフォルトの名無しさん
2010/05/12(水) 23:31:040486デフォルトの名無しさん
2010/05/12(水) 23:31:25最近javaをやることになりました。
無名クラスというC#の匿名メソッドみたいなのがありますが
あれって最近javaに対応されたのですか?
7年くらい前にはなかった気がするのですが。
C#もjavaも本当に似ていますね。
0487デフォルトの名無しさん
2010/05/12(水) 23:33:58その結果C#からjavaに輸入された機能も数多くある
0488デフォルトの名無しさん
2010/05/12(水) 23:41:34(1997年頃) から使えます。0.9 や 1.0 の頃は多分使えなかった
(そんな書き方聞いたことが無かった)。
0489デフォルトの名無しさん
2010/05/12(水) 23:45:00匿名メソッドとかあったんすね。
C#がどんどんjavaの良いところを取り入れたって感じですね。
C#は2.0から匿名メソッドが対応されたからなあ。
0490デフォルトの名無しさん
2010/05/13(木) 00:16:530491デフォルトの名無しさん
2010/05/13(木) 00:33:29Object obj1 = new Object();
Object obj2 = new Object();
Class<?> clazz1 = obj1.getClass();
Class<?> clazz2 = obj1.getClass();
boolean b = (clazz1 == clazz2);
2.
boolean b = (Void.TYPE == void.class);
このような場合、両方ともbooleanはtrueになると思うのですが、
Class<T>クラスというのは1つの種類のクラスにつき常にVM上には1つしか存在しないのでしょうか?
0492デフォルトの名無しさん
2010/05/13(木) 00:34:25誤 : Class<?> clazz2 = obj1.getClass();
正 : Class<?> clazz2 = obj2.getClass();
0493デフォルトの名無しさん
2010/05/13(木) 00:37:010494デフォルトの名無しさん
2010/05/13(木) 00:38:430495デフォルトの名無しさん
2010/05/13(木) 00:44:13final TextField textfield = new TextField();
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
textfield.setText("I'm fine!");
}
});
こんなんとか
0496デフォルトの名無しさん
2010/05/13(木) 00:47:030497デフォルトの名無しさん
2010/05/13(木) 00:48:45これってfinal付ける場合と付けない場合でどういう違いがあるの?
0498デフォルトの名無しさん
2010/05/13(木) 00:49:360499デフォルトの名無しさん
2010/05/13(木) 00:49:400500デフォルトの名無しさん
2010/05/13(木) 00:53:25それじゃ不親切すぎるだろwwww
>>497
JDK1.1に変更入った部分だから相当前のことだけど、
メソッドのパラメータやローカル変数でfinalをつけると、
inner classつーか匿名クラスでもその変数を参照できるようになる。
まあfinalを外して動いちゃったとしても、参照先がズレそうだしな
0501デフォルトの名無しさん
2010/05/13(木) 00:55:210502デフォルトの名無しさん
2010/05/13(木) 00:58:550503デフォルトの名無しさん
2010/05/13(木) 01:00:390504デフォルトの名無しさん
2010/05/13(木) 01:08:52System.out.printfとか使わない?
0505デフォルトの名無しさん
2010/05/13(木) 01:11:21それが可変長引数だって知りませんですた。勉強になります。ありがとございやす
0506デフォルトの名無しさん
2010/05/13(木) 01:36:48おまえはなにを可変長引数だと思ったんだ?w
0507デフォルトの名無しさん
2010/05/13(木) 01:51:38>>495
JavaFAQ: 変数/引数
ttp://javafaq.jp/S012.html#S012-16
0508デフォルトの名無しさん
2010/05/13(木) 02:44:550509デフォルトの名無しさん
2010/05/13(木) 03:36:39どっちでもいいんじゃね?
両方対応させるのも難しくはなさそうだし
0510デフォルトの名無しさん
2010/05/13(木) 03:37:13C#はC++の悪いところも取り入れているのが難だな
0511デフォルトの名無しさん
2010/05/13(木) 03:38:44ばりばりあるぞ。
純粋主義者はよく使う。
不変性でググれ。
0512デフォルトの名無しさん
2010/05/13(木) 03:43:20機能性を考慮すると後者。
複雑なことやりたいなら断然Java SwingAPI(JAppletがあるほう)を使うのが望ましい。
0513デフォルトの名無しさん
2010/05/13(木) 04:06:12ありがとう
0514デフォルトの名無しさん
2010/05/13(木) 04:23:41enum Day{Sunday,Monday,Tsusday;
private String holiday;}
こうかと思ったんだけどコンパイル通らない
enum Day{private String holiday;
Sunday,Monday,Tsusday;}
0515デフォルトの名無しさん
2010/05/13(木) 07:08:35enum 定数の修飾子は許可されていません
というかpublic static finalです
0516デフォルトの名無しさん
2010/05/13(木) 08:38:27列挙は先、クラス定義は後にしか書けません。
0517デフォルトの名無しさん
2010/05/13(木) 08:57:08過去に作ったJNI経由で作ったコードがそのまま動くか不安で。。。
0518デフォルトの名無しさん
2010/05/13(木) 09:02:040519デフォルトの名無しさん
2010/05/13(木) 10:03:540520デフォルトの名無しさん
2010/05/13(木) 12:24:520521デフォルトの名無しさん
2010/05/13(木) 14:24:56どうしてもそれをprivateにしたかったら
enum型自身をprivateにして他のクラスのフィールドにツッコむ。
public class Test {
private enum Day { Sunday,Monday,Tsusday};
private enum Holiday {};
}
0522デフォルトの名無しさん
2010/05/13(木) 15:56:56ttp://javafaq.jp/
↑このサイトに書いてあることどの程度信頼できる?
初心者向きなサイトとかあったら教えてほしいです
0523デフォルトの名無しさん
2010/05/13(木) 16:00:50おまえ >>514 の前提コードの意味分かってないだろ。
enum 云々言ってたわりにその程度も理解してなかったのか。
0524デフォルトの名無しさん
2010/05/13(木) 16:13:13だいたい信頼できるが更新とまってるんじゃなかったっけ?
元は日本のメーリングリストっぽいので不安だけど、そのメーリングリストって研究者・開発者相当いそうだし・・・
java source>api doc>オラクル本>改訂を行ったことがある本=javafaq ぐらいじゃね?
0525デフォルトの名無しさん
2010/05/13(木) 16:27:310526デフォルトの名無しさん
2010/05/13(木) 16:59:495年前の情報なので古すぎる
0527デフォルトの名無しさん
2010/05/13(木) 17:25:53出向でいくつも渡り歩いた大小企業ではトンデモコーディングばかりお目にかかった
このネットと現実のギャップの大きさがいつも不思議でたまらんよ
0528デフォルトの名無しさん
2010/05/13(木) 17:27:110529デフォルトの名無しさん
2010/05/13(木) 17:36:20多少狂ってて無駄に声がでかいぐらいの方が成功する業界なんだよw
0530デフォルトの名無しさん
2010/05/13(木) 17:48:30おれも>>514の意図がさっぱり分からん。
0531デフォルトの名無しさん
2010/05/13(木) 17:57:510532デフォルトの名無しさん
2010/05/13(木) 18:32:39最終更新日が2005年じゃあな。
ちょうどJava 5が出た年でしかもそのJava5以降ならではのFAQが全然載ってない。
0533デフォルトの名無しさん
2010/05/13(木) 18:33:20お前の企業がITドカタなんだろ
0534デフォルトの名無しさん
2010/05/13(木) 18:36:22そもそも>>514が自分の書いたコードでコンパイルエラーが出ることを知らないのが問題。
彼が何をしたいのかはっきり言えば彼に望みどおりの答えがでやすくなると。
0535デフォルトの名無しさん
2010/05/13(木) 18:37:08一歩外に出ればそんなもんだよ。
>>533
現実知らず。
0536デフォルトの名無しさん
2010/05/13(木) 19:21:140537デフォルトの名無しさん
2010/05/13(木) 20:45:43曜日と休日の型が欲しい そもそも休日が日曜日だけなら余計なこと考える必要ねえ
休日だけ特別扱いしたいならこんなコードでも書けばいい
enum Day {
Sunday(Holiday.Holiday), Monday(Holiday.Weekday), Tuesday(Holiday.Weekday),
Wednesday(Holiday.Weekday), Thursday(Holiday.Weekday), Fryday(Holiday.Weekday), Saturday(Holiday.Weekday);
private final Holiday holiday;
Day(Holiday holiday){ this.holiday = holiday; }
double method(){ return this.holiday.anyMethod(); }
private enum Holiday {
Weekday {
double someMethod(){ //平日の処理
return 何か;
}
},
Holiday {
double someMethod(){ //休日の処理
return 何か;
}
};
abstract double method();
double anyMethod(){ //someMethod()を使った何かの処理
何かの値 = someMethod();
return 何かの値;
}
}
}
0538デフォルトの名無しさん
2010/05/13(木) 21:01:38Javaでプログラム作成して、そのプログラム向けのインストーラーを
作りたいんですけど、Win,Mac両方のインストーラーを作れる
ツールってありますでしょうか?
0539ウォシュレットのアームめがけて排便する俺 ◆06NY4sFIG.
2010/05/13(木) 21:22:22例えばScalaのインストーラ版はIzpackというプロダクトを利用しているみたいですね。
http://izpack.org/
It is fully cross-platform and generates a single installer.
As such, it is an alternative to native solutions
such as platform-specific installers and package managers.
0540デフォルトの名無しさん
2010/05/13(木) 21:23:590541デフォルトの名無しさん
2010/05/13(木) 21:27:28そんなもんある・・・な、考えてみたら。
http://ja.wikipedia.org/wiki/Java_Web_Start
0543デフォルトの名無しさん
2010/05/13(木) 22:40:520544デフォルトの名無しさん
2010/05/13(木) 22:42:30Java Web Startがあればいらない気がする
0545デフォルトの名無しさん
2010/05/13(木) 22:47:50そのトリップすでに割れたトリップだよな
ググると9年ほど前から使ってるそうじゃないか
0546デフォルトの名無しさん
2010/05/14(金) 00:55:24最大ヒープサイズが256MBになってるんだけど、前からそうだっけ?
以前は64MBだった記憶があるんだけど。
それともうちの環境だけ?
0547デフォルトの名無しさん
2010/05/14(金) 01:04:06Java6ではまた変わってるのかもしれませんが。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/vm/gc-ergonomics.html
マシンの物理メモリの 1/64 か、妥当な最小サイズかの大きい方。
J2SE 5.0 より前は、デフォルトの初期ヒープサイズは妥当な最小サイズで、
プラットフォームごとに異なっていた。
0548547
2010/05/14(金) 01:05:23物理メモリの 1/4 か、1GB かの小さい方。J2SE 5.0 より前のデフォルトの
最大ヒープサイズは 64MB。
0549デフォルトの名無しさん
2010/05/14(金) 01:07:000550546
2010/05/14(金) 01:20:41うちのマシンはメモリ1.5GBなので、
最新のJREでは1/6に変更されたとか?
JDK1.6のjava.exeでは64MBのままなのも気になる。
覚えていないだけで、自分で設定をいじってしまった可能性も否めない。
0551デフォルトの名無しさん
2010/05/14(金) 01:31:21これについてどう思っているんだい?
http://java-house.jp/ml/archive/j-h-b/038501.html
>>349が見てきた失敗例とやらがどういうものか見てみたいんだけど。
アンチパターンを避けてEffective Javaなどに載っているテクニックやべからず集を遵守したから
失敗したわけではないよね?
遵守したからではなくどこか設計が間違っていたから失敗したんだと思うけどね。
アンチパターンを使った方がよいケースはメモリが限られているときや
今後拡張する予定がないと確実にわかった時や納期が遅れているとき
くらいではないのかい?
べからず集を否定するっていう行為が危険な思想だと思うけどね。
>>349が新たに部下をかかえたときに、べからず集を否定して、その思想を引き継いて
新人が勘違いしてとんでもないことをしでかすんじゃないかとね。
ようするに歴史を繰り返すということ。
0552デフォルトの名無しさん
2010/05/14(金) 01:47:020553デフォルトの名無しさん
2010/05/14(金) 01:50:240554デフォルトの名無しさん
2010/05/14(金) 02:29:14>>349本人か? みっともないぞ
0555デフォルトの名無しさん
2010/05/14(金) 02:31:060556デフォルトの名無しさん
2010/05/14(金) 02:37:31だからYAGNI原則に反するといってるだろ
>>349がenumを否定してかわりに使用している定数インタフェイスの問題点
interface A {
public static final int CONST = 1;
}
public class B implements A {
public static void main(String[] args){
System.out.println(A.CONST);
}
}
>>551
349はC言語時代の人かと思われ
0557デフォルトの名無しさん
2010/05/14(金) 02:40:38定数インタフェイスの問題点はこれ
interface A {
public static final int CONST = 1;
}
public class B implements A {
public static void main(String[] args){
System.out.println(A.CONST); 正しい使い方
System.out.println(B.CONST); //こんな使い方ができてしまう
}
}
Effective Javaに載ってる問題点は載せなくてもいいよね
みんな読んでるだろうから
0558デフォルトの名無しさん
2010/05/14(金) 02:55:16その上から目線の妄想も凄いわ。1日待ってレスしないと気が済まないのかっていってるが
お前は毎日暇なのか?
常に自分が正しいってみとめないわけな?
俺は初心者向けのスレッドで良書Effective Javaを否定していることが問題視しているんだよ。
初心者がEffective Javaが使えない本だと勘違いすることね。
あれだけJavaのイディオムまとまった洗練された本はそうそうないものだ。
そこいらの鉄則本や落とし穴本と比べるとよくできている本だと思うんだが。
あの本には一見よさそうに見えてよくないコードの例も載せているしなあ。
単なるべからず集だと思ったら大間違い。
詭弁でEffective Javaに対する変なこと広めないでくれないかな。
C言語から来た奴がああいう本を否定する気持ちがわからないでもないけどさ。
ああいう本を読むと、コードも綺麗になってバグも減るものだろう。
昔の『Java謎+落とし穴徹底解明』、『Javaの落とし穴』、『Javaの格言』といった本と比べたら
全然内容が洗練されていると思うんだが。あそこいらの本はJavaのバージョンがちょっとでも上がると内容が古くなって
どうしようもないのが多くてな。Effective JavaもJava 5が登場してから版上げを迫られたが、それと比べると
他の落とし穴本は内容がもっと古すぎてな。あてにならないことはよくわかる。
で、お前さんは、コードが綺麗になると自分の仕事がなくなる奴にとっては否定したくなるもんなのかね?
0559デフォルトの名無しさん
2010/05/14(金) 03:05:310560デフォルトの名無しさん
2010/05/14(金) 03:08:14ちょっと長いけどだいたい同意
『Javaの落とし穴』、『Javaの格言』はたしかよんだことあるけど、これも悪くはないよ
まあアンチ?がつくのも良書かねぇ
Java関連で買ったやつはやさしいJava、EffectiveJavaとGOFデザインパターンかな
どれもいい感じだったよ やさしいJavaはさすがにもう読まないがw
0561デフォルトの名無しさん
2010/05/14(金) 03:10:25例:「定数インターフェイスははたして危険なものか」という議論をしている場合、あなたが
「犬は哺乳類としての条件を満たしている」と言ったのに対して否定論者が…
1:事実に対して仮定を持ち出す
「定数インターフェイスはアンチパターンだが、もしアンチパターンを作らない定数インターフェイスが存在したらどうだろうか?」
2:ごくまれな反例をとりあげる
「だが、時として定数インターフェイスのようなアンチパターンを使った方が良いこともある」
3:自分に有利な将来像を予想する
「何年か後、犬に羽が生えないという保証は誰にもできない」
4:主観で決め付ける
「初学者 (初心者はとりあえず越えたあたり) 〜中級手前あたりはべからず集をありがたがる。ちゃんと経験を積めば
『何故このケースではアンチパターンを使った方が良いか』個別に判断出来るようになるはずだ。」
5:資料を示さず自論が支持されていると思わせる
「初学者 (初心者はとりあえず越えたあたり) 〜中級手前あたりはべからず集をありがたがる傾向が一般的だ。」
「初学者〜中級手前あたりは、それを遵守して失敗しても自分のせいじゃないと心のどこかで言い訳できるからという見方が一般的だ」
6:一見関係ありそうで関係ない話を始める
「ところで、定数インタフェイスがよいアンチパターンだということは知っているか?」
7:陰謀であると力説する
「それは、べからず集と認めないと都合の悪いJoshua Blochが画策した陰謀だ」
8:知能障害を起こす
「何、定数インタフェイスとEffective Javaごときにマジになってやんの、バーカバーカ」
0562デフォルトの名無しさん
2010/05/14(金) 03:11:06「Effective Javaを薦める奴は、初学者〜中級手前あたりで失敗しても自分のせいじゃないと
心のどこかで言い訳している証拠。現実をみてみろよ」
10:ありえない解決策を図る
「結局、定数インタフェイスがアンチパターンにならなければ良いって事だよね」
11:レッテル貼りをする
「定数インタフェイスがアンチパターンだなんて過去の概念にしがみつく右翼はイタイね」
12:決着した話を経緯を無視して蒸し返す
「ところで、定数インタフェイスがどうやったらアンチパターンの条件をみたすんだ?」
13:勝利宣言をする
「定数インタフェイスがアンチパターンだという論はすでに何年も前に論破されてる事なのだが」
14:細かい部分のミスを指摘し相手を無知と認識させる
「定数インタフェイスって言っても使った方が良いケースとよくないケースがある。もっと勉強しろよ」
15:新しい概念が全て正しいのだとミスリードする
「定数インタフェイスがアンチパターンではないと認めない限りJavaに進歩はない」
「Effective Javaが初学者〜中級者向けの、設計をつっこまれたときに他人の言葉を借りないと言い訳できない奴専用の書籍だと
認めない限りお前らに進歩はない」
0563デフォルトの名無しさん
2010/05/14(金) 03:12:330564デフォルトの名無しさん
2010/05/14(金) 03:14:410565デフォルトの名無しさん
2010/05/14(金) 03:18:40『Javaの落とし穴』はJava5よりもずっと前の、Swingすら標準APIに組み込まれる前の
かなり古い本。とくにGUI関係は今ではほとんど参考にならないと思った方がいいぞ。
当時はかなり参考にはなったが。
『Java謎+落とし穴徹底解明』は著者が他の言語と比較してJavaを批判しひたすら愚痴をこぼしているだけの酷い本だった。
今となってはほとんど改善され対応策がいくらでもあるのでほとんど無価値な本に成り下がってしまった。
『Javaの格言』もちょっといまいちなところあったかな。当時はけっこう役に立った。
『Javaの鉄則』も、finalize()や序盤と例外処理の箇所は参考になった。今では類似した内容でIBMのdeveloper worksの記事のほうが
内容が新しくて役に立つが。『Javaの格言』と内容が似ていたな。
結城浩の『Java言語で学ぶデザインパターン』は始めはいいが、徐々に物足りなくなってくるブツだ。
あと『リファクタリング』『テスト駆動開発入門』。
YAGNIを崇拝するしているであろう>?349?はテスト駆動開発入門には否定的そうだが。
『リファクタリング』はかなり良書だ。結城浩が書いたリファクタリング本より内容が濃厚で参考になる。
0566デフォルトの名無しさん
2010/05/14(金) 03:18:46他の質問とか回答が探しにくくなる
0567デフォルトの名無しさん
2010/05/14(金) 03:19:55お前は何しに来てんだ?
何のためにこのスレにレスしてんだ?
ただの野次馬か? ただのアンチか?
0568デフォルトの名無しさん
2010/05/14(金) 03:20:38そんな我侭言うな。検索しろよ。
自分でオリジナル正規表現作ってNG指定しろ。
0569デフォルトの名無しさん
2010/05/14(金) 03:21:280570デフォルトの名無しさん
2010/05/14(金) 03:21:38おまえ同様わかりきってる知識だから
いちいち書くなと
どっかブログにでも書き溜めて
URLだけ貼り付けろ
0571デフォルトの名無しさん
2010/05/14(金) 03:23:22なんて本は嫉妬の対象なんだろ。
バリバリオブジェクト指向を使っているから
C言語時代に培われたテクニックが一切通用しない。
すると自分の立場が弱まる。だからそういう本やそういう本に載っているテクニックを
使っている者を否定したくなるんだろう。
まぁその典型が >>349 みたいな。
0572デフォルトの名無しさん
2010/05/14(金) 03:23:260573デフォルトの名無しさん
2010/05/14(金) 03:24:140574デフォルトの名無しさん
2010/05/14(金) 03:25:22おいお前、「狭量」という言葉知ってるか?
いますぐ辞書で調べてみろ。
このスレにいる全員がお前と同じように知っているとは限らないぞ。
このスレは初心者がよく質問し、よく閲覧するスレだ。
お前だけのスレじゃねえんだ。静かにしろ。
0575デフォルトの名無しさん
2010/05/14(金) 03:26:03>お前だけのスレじゃねえんだ。静かにしろ。
ブーメラン乙
0576デフォルトの名無しさん
2010/05/14(金) 03:26:17>>349が見なくても初心者は見てるからな。
初心者に勘違いさせてはならないからな。
Effective Javaの価値を貶めて初心者を騙す奴は許さん
0577デフォルトの名無しさん
2010/05/14(金) 03:28:290578デフォルトの名無しさん
2010/05/14(金) 03:28:59で?
0579デフォルトの名無しさん
2010/05/14(金) 03:32:04ところがここ5年ほどでアンチも流入してきたっぽい。
5年以上前まではアンチはほかのスレにいたのに、アンチが好んでいた言語の案件が減り、
Javaの案件が増えてから、Javaの仕事をやらされる羽目になって、習得したくないJavaを習得するために
このスレを覗くようになったアンチもいるのではないかと思う。
ここ5年ほどの影響はそれかもしれない。
0580デフォルトの名無しさん
2010/05/14(金) 03:32:47今恨み言なんかあるか?
頭大丈夫か?
0581デフォルトの名無しさん
2010/05/14(金) 03:41:14アンチなんてもっと前から居るだろ。
C# が出た頃の死滅スレ乱立時代がどんだけ凄まじかったか知らんのか。
0582デフォルトの名無しさん
2010/05/14(金) 04:24:400583デフォルトの名無しさん
2010/05/14(金) 04:28:24高級言語ひとつ知ってたら後は似たようなもんじゃん
新しい言語嫌なんて言ってる輩がこの奴隷業界で生き残れるとは思えん
仕事で心身ともに病んでしまった人がたまにスレで発狂してるんだよ多分
同情するぜ
0584デフォルトの名無しさん
2010/05/14(金) 04:44:570585デフォルトの名無しさん
2010/05/14(金) 08:53:570586デフォルトの名無しさん
2010/05/14(金) 10:46:07>出現時間帯
そこまで自己分析できてるなら上出来
夜ちゃんと寝付けたらカッカするのも治る
あとは週末ゆっくりと心を休ませなさい
0587デフォルトの名無しさん
2010/05/14(金) 10:57:420588デフォルトの名無しさん
2010/05/14(金) 11:10:090589デフォルトの名無しさん
2010/05/14(金) 11:54:13>初心者
これを理由にするのおかしい
定数インターフェースだけこと丁寧に説明する理由にはならない
初心者を理由にするなら
他の質問等にも懇切丁寧に回答すべき
そもそも定数インターフェースを使ってるのが老害だけだというのなら
初心者には尚のこと関係ない
0590デフォルトの名無しさん
2010/05/14(金) 13:49:57電波が過ぎて信用されなくなったが正しいと思われ。
0591デフォルトの名無しさん
2010/05/14(金) 13:52:480592デフォルトの名無しさん
2010/05/14(金) 14:06:000593デフォルトの名無しさん
2010/05/14(金) 15:20:450594デフォルトの名無しさん
2010/05/14(金) 15:23:58小学生がいかにも最近覚えましたというような
言葉は使わないほうがいい
0595デフォルトの名無しさん
2010/05/14(金) 15:26:440596デフォルトの名無しさん
2010/05/14(金) 15:33:010597デフォルトの名無しさん
2010/05/14(金) 16:17:00お前が究極変態バカ。トーラス状に脱肛してるぐらいバカ。
0598デフォルトの名無しさん
2010/05/14(金) 16:32:17質問しろよぉおおお
0599デフォルトの名無しさん
2010/05/14(金) 16:40:320600デフォルトの名無しさん
2010/05/14(金) 16:45:250601デフォルトの名無しさん
2010/05/14(金) 16:50:390602デフォルトの名無しさん
2010/05/14(金) 17:09:4230年後滅びるのはGroovy
0603デフォルトの名無しさん
2010/05/14(金) 17:15:071900/1/1から8バイト符号付き整数でカウントしてるプログラムがおかしくなるんだっけ?
0604デフォルトの名無しさん
2010/05/14(金) 17:29:550605デフォルトの名無しさん
2010/05/14(金) 17:30:27どうやら10年前ほどの入門書らしい(だから100円とお安かったのかも)
どうすればいい?
0606デフォルトの名無しさん
2010/05/14(金) 17:31:350607デフォルトの名無しさん
2010/05/14(金) 17:36:36基礎的な部分はそこまで変わってないから読み進めるのもアリ。
だがそれで十分かというと、内容が古すぎるので十分ではない。
0608デフォルトの名無しさん
2010/05/14(金) 17:40:21ブックオフで売るのもアリ
他の古書店で売ってもいい
0609デフォルトの名無しさん
2010/05/14(金) 17:47:040610デフォルトの名無しさん
2010/05/14(金) 17:48:09目まぐるしく情報技術は進んでいるっていうのに
0611デフォルトの名無しさん
2010/05/14(金) 18:45:010612デフォルトの名無しさん
2010/05/14(金) 18:47:06一般的にIT関連の書籍買うなら最新のを買うべき
0613デフォルトの名無しさん
2010/05/14(金) 18:50:060614デフォルトの名無しさん
2010/05/14(金) 23:14:05この本の内容以上にJavaを知り尽くしてる人ってこのスレにいるのかな?
EffectiveJavaの○○の項は○○の理由によって適切でないと思う、とか
そういう意見があるなら勉強になるから是非書き込んで欲しいんだけどなぁ
0615デフォルトの名無しさん
2010/05/14(金) 23:52:29EffectiveJavaの話をされてもサッパリ意味不明です
0616デフォルトの名無しさん
2010/05/15(土) 00:08:52次のJavaのバージョンもたぶん来年〜再来年ぐらいに出るだろうから。
0617デフォルトの名無しさん
2010/05/15(土) 00:10:340618デフォルトの名無しさん
2010/05/15(土) 01:08:52Java暦3ヶ月、プログラミング暦3年。Java極めたい。
0619デフォルトの名無しさん
2010/05/15(土) 01:30:180620デフォルトの名無しさん
2010/05/15(土) 01:32:420621デフォルトの名無しさん
2010/05/15(土) 01:35:38プログラミングをやる理由は?
1.職業プログラマー(仕事)
2.学生(授業・研究等)
3.趣味(サークル活動、同人活動等で二人以上で活動)
4.趣味(個人的活動)
0622デフォルトの名無しさん
2010/05/15(土) 01:48:000623デフォルトの名無しさん
2010/05/15(土) 01:58:080624デフォルトの名無しさん
2010/05/15(土) 02:01:270625デフォルトの名無しさん
2010/05/15(土) 02:11:40普通に考えて1じゃねーの?知らんけど
0626デフォルトの名無しさん
2010/05/15(土) 02:14:520627デフォルトの名無しさん
2010/05/15(土) 04:15:59よく、入門用のサンプルソースで
try{
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
~何か処理をする~
}finally{
if(pw!=null) pw.close();
}
とありますが、BufferedWriter,FileWriterが全てちゃんとclose()される保証はありますか?
失敗するとしたら、どんなケースでしょうか。
個人的には、何か怖いので、
try{
FileWriter fw = new FileWriter(file)
BufferedWriter bw = new BufferedWriter(fw)
PrintWriter pw = new PrintWriter(bw);
~何か処理をする~
}finally{
~fw,bw,pwをそれぞれclose()
}
とした方が良いような気がするのですが、どうなのでしょうか。
0628デフォルトの名無しさん
2010/05/15(土) 05:49:160629デフォルトの名無しさん
2010/05/15(土) 06:05:05{
public static void main(String[] arg)
{
Test t = new Test(); //←�@
}
}
入門書のサンプルソースとか見ると�@のような記述を見かけます。
すごーく違和感があります。自分自身のインスタンスを作るのはなんで?
0630デフォルトの名無しさん
2010/05/15(土) 07:16:51クラスメソッドがそのクラスのインスタンスを作るのは普通では?
シングルトンの実装とか。
サンプルのは Java が起動時に指定したクラスの main を呼ぶっていうお約束があるからだけどね。
0631デフォルトの名無しさん
2010/05/15(土) 08:01:10理解したのであれば返事をしなさい
0632デフォルトの名無しさん
2010/05/15(土) 08:04:200633デフォルトの名無しさん
2010/05/15(土) 09:57:57"何か処理をする"で System.exit() を呼んでしまうと、finallyは処理されない。
あとclose()に関してはPrintWriterとかBufferdWriterのソースのコンストラクタと
close()を見て「自分で確認」してみるといいよ。
0634デフォルトの名無しさん
2010/05/15(土) 10:28:39if(pw != null) を評価しているあたりで OutOfMemory や ThreadDeath などが発生した場合。
最終的に OutputStream のファイナライザでクローズ処理はするから、そういう
実行環境的なレアケースはそれほど神経質になる必要はない。
0635デフォルトの名無しさん
2010/05/15(土) 10:32:21staticメソッドでインスタンス生成する理由として
・より分かりやすい名前が付けられる
・インスタンスの数を制御したり、共用したりできる。
・mainメソッド
mainメソッドがエントリーポイントってのは、JavaがCからの
移行をターゲットにしたという事情で仕方ないかも。
public interface Executable {
void execute(String[] args);
}
とかの方がJavaの思想に近いかな
0636デフォルトの名無しさん
2010/05/15(土) 10:34:57別にmainはTestクラスに記述しなくてもいい。
staticと非staticの世界は別だと思えばいい。
>>627
もしやるならpw -> bw -> fwの順番にクローズしてね。
0637デフォルトの名無しさん
2010/05/15(土) 10:36:40少し語弊のある説明だが
static と付いているメソッドは Test クラスに属してはいるが Test インスタンスの一部ではない。
単に Test というクラスの中で定義場所を借りているだけの、C で言うなら関数。だから
この中で Test のインスタンスを作るのは普通に行われる。もう一つ、Test インスタンスの
中で別の Test インスタンスを作るのも取り立てておかしな事ではない。
多分クラスとインスタンスの違いをもう少し理解すれば分かると思う。
0638デフォルトの名無しさん
2010/05/15(土) 11:11:32うん
0639デフォルトの名無しさん
2010/05/15(土) 16:13:3930年前にJavaは存在していなかった
30年前に2chは存在していなかった
そして2chはJavaよりも若い
0640デフォルトの名無しさん
2010/05/15(土) 16:14:24そなたがもしC#を極めたものなら
即座にゴミ箱に放り込むべき
0641デフォルトの名無しさん
2010/05/15(土) 16:15:03しかし、デザインパターン本は10年たってもそこそこ使える
古いのはサンプルコードだけ
0642デフォルトの名無しさん
2010/05/15(土) 16:16:25Effective JavaはJava本ランキングで1位を長期間キープした人気書籍
超おすすめ。
スパゲティコード書いて他人に迷惑かけることしか考えていない末端コーダが
末端コーダから脱出するにはぜひとも必読すべき本。
0643デフォルトの名無しさん
2010/05/15(土) 16:19:24前者は言語仕様についての本。内容をすべて把握すれば基本を完璧にマスターできるだろう。
読めば読むほどC#とJavaとの違いもわかってくるだろう。
後者はJavaの応用本。内包をすべて把握すればかなり多くの分野で応用が効くだろう。
C#,C++、Rubyなど他の言語でプログラミングするさいにも役立つ。
買うならなるべく最新の版のを買うこと。
Java5以前(2005年より前のは古いから買わないこと)
0644デフォルトの名無しさん
2010/05/15(土) 17:21:440645デフォルトの名無しさん
2010/05/15(土) 17:30:05普通にあるよ
0646デフォルトの名無しさん
2010/05/15(土) 17:41:51未だにJava1.1のJVMが必要っていうのがあったな
0647デフォルトの名無しさん
2010/05/15(土) 18:30:190648デフォルトの名無しさん
2010/05/15(土) 18:56:16"nickname":"何らかのテキスト"
という文字列から「何らかのテキスト」だけを抜き出す場合\"nickname\":\"([^\"]+)\"でいけるとおもうのですが、
何らかのテキストの中に"が含まれてしまう場合を想定すると、どのように正規表現を書けばよいでしょうか?
0649デフォルトの名無しさん
2010/05/15(土) 19:00:11SwingじゃなくてAWT使わないと駄目、みたいなのはあると思うけど。
0650デフォルトの名無しさん
2010/05/15(土) 19:03:200651デフォルトの名無しさん
2010/05/15(土) 19:05:19^"nickname":"(.*)"$
じゃダメなの?
# $無くても基本最長一致だから問題ない
0652デフォルトの名無しさん
2010/05/15(土) 19:05:34()の中の[^\"]を外して最長一致とか、
"$で行末の"まで一致とか?
0653デフォルトの名無しさん
2010/05/15(土) 20:04:58そんなに知る必要ないよ。
非推奨なAPIなんてセキュリティ上問題があるからパス。
0654デフォルトの名無しさん
2010/05/15(土) 20:47:46信託銀行の仕事やってたが、下手に新しいのを知ってると混乱して大変。
そこはおととしまで1.3のシステムを騙し騙し使ってた。
ホイホイ変更なんかやってられっかっー話。
・・・んでどうして1.5にリプレースとかアホな決定したんだろ。もう関係ないが。
0655デフォルトの名無しさん
2010/05/15(土) 20:59:33それは新しいAPIのことをよく知らないからだろう。
中途半端な知識では悪影響必至。
かといって古いままでいいとおもってると何時まで経ってもシガラミを引き継ぐ。
0656デフォルトの名無しさん
2010/05/15(土) 21:27:56これを古いシステムとかって平気で言っちゃうってことは、flashとかadobeとかで浮かれた髪の毛染めてるファッションに見たいな奴らがついにジャバの世界にも入ってきたってことだろうな。
そいう奴はジャバには来て欲しくないしMSやC#の方が断然いいよ。
0657デフォルトの名無しさん
2010/05/15(土) 21:33:460658デフォルトの名無しさん
2010/05/15(土) 21:40:220659デフォルトの名無しさん
2010/05/15(土) 21:40:30Java=恐怖って考え方なら古いのがありがたいのはわかるけど。
0660デフォルトの名無しさん
2010/05/15(土) 21:43:32iアプリ
仕事じゃないひとで1.4以下というとモバイル環境ぐらいしか思い浮かばない
0661デフォルトの名無しさん
2010/05/15(土) 21:51:561.6
それらの機能を使わないなら無理にアップ必要もない。
さすがに1.2のコレクションは使いたいとは思うけど、必要ならコレも自分で作れたり出来るしな・・・
0662デフォルトの名無しさん
2010/05/15(土) 22:02:16おいおい、いまどき髪の毛染めてるのがファッションって
2000年頃じゃその後すぐに1.4が出始めたころだろ
2000年頃といえばSwingとServletが注目されていたころだな。
あの頃はWeb開発といえばCGI + PerlかASPが主流でServletの仕事は
登場したばかりでJavaエンジニアの募集も膨れていた頃。
あの頃がJavaの案件が増え始めた時期だな。1.4が出ても
すぐに導入するところはそうそう多くなかった。
1.4からassertがキーワードになってJUnitのassert()が使えなくなって一時的に困惑したのは2002年頃だった。
すでにHot Spotで高速化しているにもかかわらず2000年頃は「Java遅い」って文句言うアンチがまだまだ多かった時期。
0663デフォルトの名無しさん
2010/05/15(土) 22:02:19Genelics、foreach、enum、static import、autoboxing、printf
annotation,java.awt.Desktop,java.util.Arrays,他 SWING/AWT
まあ使わなくてもできなくはないけど、慣れた今となってはつらいな
0664デフォルトの名無しさん
2010/05/15(土) 22:03:29PHPすらろくにできない。知ってるのはHTMLくらい。そもそもflashすらろくに使いこなせない。
0665デフォルトの名無しさん
2010/05/15(土) 22:04:39そんなのを引き合いに出してMSやC#のほうがいいと言ってる奴は
どこのおっさんだ?
0666デフォルトの名無しさん
2010/05/15(土) 22:05:27Genericsとenumもないと困る。
すくなくとももう1.5より前に戻ることはできない。
0667デフォルトの名無しさん
2010/05/15(土) 22:06:14どこの世界にいる人間だ?
0668デフォルトの名無しさん
2010/05/15(土) 22:07:170669デフォルトの名無しさん
2010/05/15(土) 22:11:13なぜ2年?
0670デフォルトの名無しさん
2010/05/15(土) 22:25:04>>663もよほどシステムに近いコアな機能(nioとか)じゃないから、なくてもいかなって感じはする。実際2−4行程度のコードだし。
例えばスクリプトサポートとか、invokedynamicとか、1.6じゃないとそのコア機能が使えないって言うなら1.6だろう。
そうじゃないなら別に1.4で言いと思うよ。さすがにnioは欲しい。
>>666も確かに大事だからそれならjreも1.5で十分ともいえる。
netbeansによってファッションな奴らが大量に入ってきたけど、現在のジャバの得意分野はgui以外のところだからな・・・
javafxが少しまともになってきたからこれが上手くいくごとに全体がjre 1.6に移行するんじゃないかと思う。
いま業界ではadobe色の排除は凄いでしょ。
そいつらと話していても、IT系の記事書いてる奴の主張とか見ても分かるけど、少なくともファッションの奴らはスパゲッチー・コードだからシステム系を理解することは絶対無理。
0671デフォルトの名無しさん
2010/05/15(土) 22:25:17Java 1.0 正式リリース前から使ってるけど普通に古いだろ。
地銀信金街金あたりだと都銀のお下がりシステム 20 年くらい使い廻される事も
あるけど、だからといって古くない訳じゃない。
0672デフォルトの名無しさん
2010/05/15(土) 22:31:29invokedynamic って 1.7 からじゃね?
0673デフォルトの名無しさん
2010/05/15(土) 22:32:41うちでは即座に導入していたけどな。
5.0のときはEclipseが完全に対応していなかったのでそうはいかなkったが。
0674デフォルトの名無しさん
2010/05/15(土) 22:39:53> netbeansによってファッションな奴らが大量に入ってきたけど、現在のジャバの得意分野はgui以外のところだからな・・・
ソースくれ。ファッションな奴ってのが単なるウェブデザイナーとか言わないよな?
Java Studio Creatorが出た頃、JavaのことをろくにわかってないHTMLしかしらない、Dreamweaverしか使えない30代後半のオバサンが
嬉しそうにJava Studio Creatorに期待していたが結局使わずじまいだったな。HTMLしか知らないのが
いきなりJavaに手をだしても挫折するだけってことを証明してしまった。あのIDEは当時重たかったしな。
奴らの世界では、"コーディング"といえば「HTMLを書く」ことだからな。
そして未だにCGIがどうこうといってる。他LAMPとはどういうものかという概要くらいしか知らない知ったかぶり程度。
Webデザインの知識があってもソフトウェアデザインの知識はゼロ。
> javafxが少しまともになってきたからこれが上手くいくごとに全体がjre 1.6に移行するんじゃないかと思う。
> いま業界ではadobe色の排除は凄いでしょ。
> そいつらと話していても、IT系の記事書いてる奴の主張とか見ても分かるけど、少なくともファッションの奴らはスパゲッチー・コードだからシステム系を理解することは絶対無理。
ああいうのは、スパゲティすら書けないぞ。Webデザイナーの中にはFlashすら使いこなせる奴もごく小数で、ActionScriptとくればさらに小数。
0675デフォルトの名無しさん
2010/05/15(土) 22:42:55並列とかももっと普及しても言いかなって思うけど並列を使うような人は少ないんだろうかと思うけど。
それよか、ログとテキストとコンソールはもう見飽きたからgui(javafx)の方に資源を投資してジャバ・グーイを整備してくれたほうがうれしい。それだとやっぱり1.6か。
0676デフォルトの名無しさん
2010/05/15(土) 22:44:20必要なのって零細だけだろ。
0677デフォルトの名無しさん
2010/05/15(土) 22:48:10新規開発なら大抵 1.6 だろ。ミドルウェア環境最新にしとかないとサポートがゴネるからな。
0678デフォルトの名無しさん
2010/05/15(土) 22:53:36え?
flashの業界ってそんなに酷いの?
それならもう、髪の毛染めてるんじゃなくて、髪の毛が北斗になってる奴らか・・・
1.4のころの北斗は、携帯アプリで無償労働されてる派遣(年収210万)か日雇いニート(日払い5000円交通費無し)だったけど・・・あのときの北斗たちは今頃どうしてるんだろう・・・
0679デフォルトの名無しさん
2010/05/15(土) 22:59:050680デフォルトの名無しさん
2010/05/15(土) 23:03:07システム設計ってのは、jreのリリースのたびにそのシステムも一緒にアップデートするものだと思うか?
0681デフォルトの名無しさん
2010/05/15(土) 23:04:45ミドルウェアと一緒にアップデートするだろ。
サポート終わった環境いつまでも使ってんならご愁傷様。
0682デフォルトの名無しさん
2010/05/15(土) 23:04:48うん
0683デフォルトの名無しさん
2010/05/15(土) 23:07:56お前大学生か?
0684デフォルトの名無しさん
2010/05/15(土) 23:09:020685デフォルトの名無しさん
2010/05/15(土) 23:09:03普通に FIX プランに乗ってくるが?
自己責任オープンソースでも使ってんの?
0686679
2010/05/15(土) 23:25:26質問に質問を被せるなバカ
0687デフォルトの名無しさん
2010/05/15(土) 23:29:26ひょっとしたら、お前の質問に答えるために必要な情報だったんじゃね?w
そのくらい答えてやればいいのに。
0688デフォルトの名無しさん
2010/05/15(土) 23:40:31javascriptは実際は言語仕様と少数のライブラリーだけで普通の人には扱えないから何ともいえない。
ただjavascriptを大して知らなくてもjava以上のguiができるとなるとjavafxはまだまだかなって思う。
flashやjavafxのデザイナー・エディタを見てると、少なくともideとswingでポトペタはもう時代遅れになるのかもしれない・・・(HTMLはポトペタのエディタって普通無いでしょ)
0689デフォルトの名無しさん
2010/05/15(土) 23:48:45解決してないみたいだけど、これが参考にはなるかも
http://forums.sun.com/thread.jspa?threadID=5169609
0690デフォルトの名無しさん
2010/05/16(日) 00:07:47Math#powとかMath#sqrtとかつかって普通に求めればいいんじゃね?答えになっているか?
それとも「コード書けないから誰か書いてくれ。」とか、「ぐぐってまさにコレって内容を教えてくれ。」ってこと?
0691デフォルトの名無しさん
2010/05/16(日) 00:10:380692デフォルトの名無しさん
2010/05/16(日) 00:12:22宿題なら宿題スレにいったほうがいい
数学とか統計学で使うような標準偏差を求める式とか知ってるの?
あなたはどの程度Javaが分かるの?
0693デフォルトの名無しさん
2010/05/16(日) 00:14:000694デフォルトの名無しさん
2010/05/16(日) 00:26:420695デフォルトの名無しさん
2010/05/16(日) 00:35:320696デフォルトの名無しさん
2010/05/16(日) 00:35:55文系の俺には分からん
0697デフォルトの名無しさん
2010/05/16(日) 00:38:55大学生にもなって以下略
0698デフォルトの名無しさん
2010/05/16(日) 01:36:14学校の成績や大学入試とかのと
一般的な統計学のとじゃ
意味違ったような気がしたけど
0699デフォルトの名無しさん
2010/05/16(日) 01:39:57標準偏差とは名前からして違うものだ
0700デフォルトの名無しさん
2010/05/16(日) 01:41:28学力偏差値 - Wikipedia
http://ja.wikipedia.org/wiki/%E5%AD%A6%E5%8A%9B%E5%81%8F%E5%B7%AE%E5%80%A4
0701デフォルトの名無しさん
2010/05/16(日) 01:47:37ttp://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E5%81%8F%E5%B7%AE
リンク貼るならこっちだろw
0702デフォルトの名無しさん
2010/05/16(日) 01:51:19学力偏差値が標準偏差と
無関係であるかのような言い回しだったから
学力偏差値にリンクしたんだが
間違いだと思う?
0703デフォルトの名無しさん
2010/05/16(日) 01:57:28ばか
0704デフォルトの名無しさん
2010/05/16(日) 02:00:36>学力偏差値が標準偏差と
>無関係であるかのような言い回しだったから
う〜ん・・・そう読めるのか?
俺は単純に>>698は言葉の定義を理解してないものだと感じたんだが
0705デフォルトの名無しさん
2010/05/16(日) 04:08:27どっちでもいいと思う
0706デフォルトの名無しさん
2010/05/16(日) 04:15:41意味無い議論
0707デフォルトの名無しさん
2010/05/16(日) 04:42:050708デフォルトの名無しさん
2010/05/16(日) 05:02:23package com.se.myapp;
public class Test
{
省略
}
Testクラスが/usr/com/se/myappの直下に配置されています。
環境変数classpathはカレント( . )が設定されています。
実行方法として正しいのはどれ?
という問題があります。
選択肢の中に
/usr/com/se/myappディレクトリの場所で、java Testを実行
というのがあるのですが、ハズレ選択肢でした。
packageが階層設定されている場合、親ディレクトリの場所でないと実行出来ないの?
0709デフォルトの名無しさん
2010/05/16(日) 05:05:24Mathmaticaの領域じゃね?
非標準ライブラリはいくらでもある
0710デフォルトの名無しさん
2010/05/16(日) 07:40:00クラスパスが「.」であるなら
/usr/ で java com.se.myapp.Test と実行しないとダメ。
クラスパスに /usr/ を追加するか、あるいは
java -cp /usr/ com.se.myapp.Test でもよい。
Test クラスがパッケージに含まれているなら、
クラスパスやカレントディレクトリの位置に関わらず
java Test では実行できない。
0711デフォルトの名無しさん
2010/05/16(日) 13:55:45単なるウェブデザイナーの世界な。
HTMLとDTPだけ知っててFlashを使いこなせない奴なんてそこら中にうじゃうじゃいる
0712デフォルトの名無しさん
2010/05/16(日) 13:57:23どうみてもJavaとは直接関係ない話だな
統計学の本でも読めば答えが書いてあるだろうに
0713デフォルトの名無しさん
2010/05/16(日) 13:59:55Webデザイナ厨が使うJavaScriptなんてコピペ。
Ajaxも適当に使いこなすことしかできない。
そこいらのAjax本買って真似るレベル。
JScriptとJavaScriptとActionScriptとの区別もつかないような馬鹿ばかり。
0714デフォルトの名無しさん
2010/05/16(日) 14:02:52文系でも経済学部の奴は統計学習うだろ
0715デフォルトの名無しさん
2010/05/16(日) 14:06:34平均値との差を2乗するんじゃなかったっけ?
0716デフォルトの名無しさん
2010/05/16(日) 14:11:04V[X] = Σ(x-E[X])^2 / n = E[X^2] - (E[X])^2
0717デフォルトの名無しさん
2010/05/16(日) 14:13:11Apache Commons MathにはJavaの統計学ライブラリがある程度そろってる。
http://ja.wikipedia.org/wiki/Apache_Commons_Math
http://commons.apache.org/math/api-2.1/org/apache/commons/math/stat/StatUtils.html
これを組み合わせればいいんじゃないかね。
平均も分散も求められる。
分散を求めるメソッドvariance()をMath.sqrt()で平方すれば一発で解決だな。
0718デフォルトの名無しさん
2010/05/16(日) 14:17:280719デフォルトの名無しさん
2010/05/16(日) 14:18:100720デフォルトの名無しさん
2010/05/16(日) 14:18:24不偏推定量が要求されているのかどうかを使用者が理解していないと解決しない。
単に「分散」という単語だけだと解釈しかねる。
0721デフォルトの名無しさん
2010/05/16(日) 15:26:05なんか遅くなったけどごめん。
4の趣味だよ。
普段は職業プログラマ(まだ1年くらい)でPHP, JavaScriptを扱ってるけど
Javaはどうしても作りたいものがあるので始めた。
少しばかり大規模なもの。
>>643
この場合だと前者のほうが良さそうだね。
Java始めたばかりだし、もうすこし理解が必要かもしれない。
Effectiveは応用ということだけど、大抵はPHPのような
他の言語で得てきたようなことが書かれてるのかな?
それともJava言語としての応用がメイン?
Java独自のことが書かれているなら絶対に持っておいたほうが良さそうだけど。
0722デフォルトの名無しさん
2010/05/16(日) 16:22:41こんなのもあるようだが。
中では平方してるだけなのかな?
http://commons.apache.org/math/api-2.1/org/apache/commons/math/stat/descriptive/moment/StandardDeviation.html
0723デフォルトの名無しさん
2010/05/16(日) 16:55:07途中までできたんだけど画像にポインタ合わせてもポインタが変わらないのとblankで別ウインドウで開く設定ができなくて・・・。
ソース↓
<img src="http://hp.jpdo.com/cc009/1/img/8186.jpg" alt="画像" border="0" height="150" onClick="jump()" target="_blank" >
<script>
tag = new Array();
/* リンク先のURLを好きなだけ記述 */
tag[0] = "http://www.google.co.jp/";
tag[1] = "http://www.yahoo.co.jp/";
tag[2] = "http://www.goo.ne.jp/";
function jump() {
p = Math.round(Math.random() * (tag.length - 1));
parent.top.document.location = tag[p];
}
</script>
0724デフォルトの名無しさん
2010/05/16(日) 17:06:49スレッドタイトルを音読しよう。
0725デフォルトの名無しさん
2010/05/16(日) 17:26:28うっせー!( ゚д゚)、ペッ
0726デフォルトの名無しさん
2010/05/16(日) 17:41:301 + 2 + 3 +.....は十分に算数だと思うぞ。
0727デフォルトの名無しさん
2010/05/16(日) 18:11:140728デフォルトの名無しさん
2010/05/16(日) 18:30:51かも知れんな
それで?
0729デフォルトの名無しさん
2010/05/16(日) 18:32:12言わせんな恥ずかしい
0730デフォルトの名無しさん
2010/05/16(日) 18:52:36http://commons.apache.org/math/api-2.1/src-html/org/apache/commons/math/stat/descriptive/moment/StandardDeviation.html#line.40
そのJavadocでクラス名をクリックするとソースコードが見える。
これによると中で分散を平方していることが分かる。
136 /**
137 * Returns the Standard Deviation of the entries in the input array, or
138 * <code>Double.NaN</code> if the array is empty.
139 * <p>
140 * Returns 0 for a single-value (i.e. length = 1) sample.</p>
141 * <p>
142 * Throws <code>IllegalArgumentException</code> if the array is null.</p>
143 * <p>
144 * Does not change the internal state of the statistic.</p>
145 *
146 * @param values the input array
147 * @return the standard deviation of the values or Double.NaN if length = 0
148 * @throws IllegalArgumentException if the array is null
149 */
150 @Override
151 public double evaluate(final double[] values) {
152 return Math.sqrt(variance.evaluate(values));
153 }
0731デフォルトの名無しさん
2010/05/16(日) 18:55:25高校生までに教わる数学は実質算数とかわらない。
応用数学と呼ばれることもあるが、数学者が言う数学とは異なるものである。
数学者が言う数学は、数論や暗号理論等で扱う純粋数学。
工学、経済学、ビジネスでよく使われる数学はほとんどが、統計学、数値解析などを含む応用数学。
0732デフォルトの名無しさん
2010/05/16(日) 19:03:31大規模めざすならEffective JavaはTipsを読む程度に役に立つ。
初心者がJava言語仕様を読むケースなんて大学でJavaを教わるときくらい。
読めば正しい知識が身につき、Java認定試験でも役立つかもしれないが、実践で即座に役立つとは限らない。
しかも分厚くて内容が濃すぎてJavaを習得するまでに少々の時間を要することになる。
何にか作りたいものがあるなら無理せず初心者向けJava本でも読んだほうがおすすめ。
>>723
JavaとJavaScriptは違う。
JavaScriptはWebProg板で扱っている。
WebProg
http://pc11.2ch.net/php/
0733デフォルトの名無しさん
2010/05/16(日) 19:12:430734デフォルトの名無しさん
2010/05/16(日) 19:23:15とりあえず「Effective Java」から入ったけど、失敗だったか orz
その後「パーフェクトJava」読んだけど、確かに逆のほうが良かった気がする。
0735デフォルトの名無しさん
2010/05/16(日) 19:25:150736デフォルトの名無しさん
2010/05/16(日) 19:26:40本当に初心者なら結城さんのプログラミングレッスンをオススメしたいが、
C++ちゃんと知ってるんだったらプログラミング言語Java読むのが一番いいよ。
他の本とは比較にならないくらい詳細に書かれてるから一気に深く分かるよ。
もちろん Effective Java を読むためのバックグラウンドも十分身につく。
0737デフォルトの名無しさん
2010/05/16(日) 19:27:31とはいうけどコンピュータは数学じゃなくて算数だと思うよ。
0738デフォルトの名無しさん
2010/05/16(日) 19:28:53実数型とかあるけど、有理数だしな。
0739デフォルトの名無しさん
2010/05/16(日) 19:42:47Javaが出た当時、io周りのアイデアは画期的と思った。
元ネタは何かあるのかな。
0740734
2010/05/16(日) 19:44:38Android の入門書3冊くらい読んで、さあプログラム作るぞ〜、と思ったら、書けないの。
言語仕様や文化や定石は、あるていど身につけてないとね。
>>736
原典に当たるべきだよね、とは思うんだけど、あの本分厚いしw
アマゾンの書評、第3版と第4版でえらくわかれてるのはなんでだろう。
「Effective Java」読む限り、柴田 芳樹さんの訳は読みやすいと思うんだけど。
0741デフォルトの名無しさん
2010/05/16(日) 19:46:09C++屋ならEccective C++読んでるだろ
0742デフォルトの名無しさん
2010/05/16(日) 19:48:45とはいうけどC++でprintfを使ってるやつは多い。
0743デフォルトの名無しさん
2010/05/16(日) 19:52:59お前本当にC++屋?
ただのC言語屋じゃねえの?
0744デフォルトの名無しさん
2010/05/16(日) 19:56:271.5で更にString#formatとかPrintWriter#printfとか追加されたし。
0745デフォルトの名無しさん
2010/05/16(日) 19:59:390746デフォルトの名無しさん
2010/05/16(日) 20:21:38実際にやらせてみると実はCしかできなかったというマニフェスト詐欺師が
実はC言語厨には多い。
C++できると称して実は、メソッドがすべてstaticだったり
クラスをろくに作れなかったりデザインパターンをろくに知らなかったり
ということはよくある話。
0747デフォルトの名無しさん
2010/05/16(日) 20:31:53Android は Activity の仕様を把握するしかないけど、あれも、サンプルプログラムだけで
なんとかならないだろうか?
Java は例外処理とかイベント処理とかの手法が既に提供されているところが
C++ と違うとは思うけど。
0749デフォルトの名無しさん
2010/05/16(日) 21:49:45実数型とかあるけど、有理数だしな!。
0750デフォルトの名無しさん
2010/05/16(日) 21:57:250751デフォルトの名無しさん
2010/05/16(日) 22:25:030752デフォルトの名無しさん
2010/05/16(日) 22:30:38for(String str : new String[]{"a", "b", "c"})
質問はもっと具体的に書くこと。
0753デフォルトの名無しさん
2010/05/16(日) 22:30:460754751
2010/05/16(日) 22:44:16申し訳ありません。
List<String> ar = new ArrayList<String>();
ar.add("1");
ar.add("2");
for (String str : ar) {
System.out.println(str);
}
こんな感じで、
String[] strList = new String[5];
strList[0] = "str0";
strList[1] = "str1";
for (int count = 0; count < strList.length; count++) {
System.out.println(strList[count]);
}
↑ こうではなく
for ( String str : strList ) {
System.out.println(str);
}
こんな感じで出来ないかなぁと思ったわけです。
0755デフォルトの名無しさん
2010/05/16(日) 22:49:04出来ますよ。
そのまんまでいいからコンパイルしてみたら?
0756デフォルトの名無しさん
2010/05/16(日) 23:48:56拡張for文とジェネリクスは無関係ではないと思うけど。
Iterable<T> に対して使うものでしょ。
0757デフォルトの名無しさん
2010/05/16(日) 23:54:58それもApache Commons Mathにあるんだよな。
Fraction型とかRational型とか
0758デフォルトの名無しさん
2010/05/17(月) 00:26:46lastIndexOfメソッドで、後ろから1つ目は簡単に探せるようなのですが。。
0759デフォルトの名無しさん
2010/05/17(月) 00:31:14同じようですけどジャバ的にどう違うんですか?
0760デフォルトの名無しさん
2010/05/17(月) 00:33:160761デフォルトの名無しさん
2010/05/17(月) 01:03:53ソースコードの文字コードをUTF-8にして保存したらエラーが出るようになったんですが、なんでですか?
>> 警告:この文字は、エンコーディング MS932 にマップできません。
というエラーが出ます。
Javaの内部コードはユニコードじゃないんですか?
0762デフォルトの名無しさん
2010/05/17(月) 01:10:24「それはどこで発生したエラーですか?」
0763デフォルトの名無しさん
2010/05/17(月) 01:10:45Javaの内部の文字符号化コードはUTF-16。
でもソースコードは別にどの文字コード使ってもいい。
エラーによるとShift_JISが使われる想定なのにUTF-8が来てしまったということだね。
javacで-encodingスイッチ指定できるからそれでUTF-8指定すればいいと思われ。
0764デフォルトの名無しさん
2010/05/17(月) 01:49:09おお、できました。
ありがとうございます。
0765762
2010/05/17(月) 01:52:41俺への礼なら要らないぜ
0766デフォルトの名無しさん
2010/05/17(月) 02:12:02ありがとう!
0768デフォルトの名無しさん
2010/05/17(月) 02:35:550769デフォルトの名無しさん
2010/05/17(月) 02:37:160770デフォルトの名無しさん
2010/05/17(月) 03:36:060771デフォルトの名無しさん
2010/05/17(月) 03:45:260772デフォルトの名無しさん
2010/05/17(月) 15:46:08わるいが
よくみりゃRational型なんぞなかった
RealMatrixのReal
BigRealのRealと間違えていたようだ
0773デフォルトの名無しさん
2010/05/17(月) 17:38:16extendsもできるけど何のためにあるんだろう・・・
0774デフォルトの名無しさん
2010/05/17(月) 18:05:35あっても良かったかもしれない。アンチ operator 厨が文句いうかも知れないが。
あと BigDecimal や Date のようなプリミティブに近いデータ型は全て final で immutable な
設計にして欲しかった。
0775デフォルトの名無しさん
2010/05/17(月) 18:27:050776デフォルトの名無しさん
2010/05/17(月) 18:27:39それつかって派生クラスを作る可能性があるってこと?
0777デフォルトの名無しさん
2010/05/17(月) 19:40:57まあ、仮定しちゃっていいと思うけど。
0778デフォルトの名無しさん
2010/05/17(月) 19:41:38○Immutableだと仮定できない。
0779デフォルトの名無しさん
2010/05/17(月) 20:00:16サブにはスーパーのメソッドなどは引き継がれているから無意味だと思うのですが。
(極端なサンプルソース)
Object o1;
Test t1 = new Test();
o1 = t1; //←ここ
0780デフォルトの名無しさん
2010/05/17(月) 20:11:39メソッドの追加やスケール、MathContext(制度、丸めモード)の設定を修正できるようにするためでない?
現状、スケールがint型で、内部はString[]で処理しているからなああれ。
>>774
それやるならNumber型限定で。
行列やベクトルなどに対しても同じことできればいいけど標準APIには
いまのところMatrix型がないからな。
2つのdouble[]型で同じインデックスどうしの要素どうし加減乗除できる演算子もあれば便利かもしれないが
0781デフォルトの名無しさん
2010/05/17(月) 20:20:56(極端なサンプルソース)
String hogehoge(Object o){
return o.toString();
}
とか、ポリモーフィズムが生きている。
0782デフォルトの名無しさん
2010/05/17(月) 20:56:06内部でString[]というのはどういうこと?
BigIntegerだからていは2でしょ?
0783デフォルトの名無しさん
2010/05/17(月) 21:59:18private String parentId;
@Override
public String toString() {
// 文字列化
}
}
public class Child extends Parent {
private String childId;
}
class Child extends Parentの関係があるとして、
ParentでtoString()をオーバーライドして、フィールド情報を出力したいと思っています。
実際に扱われるのはChildの方なのですが、ChildをtoString()してもParentの情報が出せなくて困っています。
ソース上は、オーバーライドしているParent#toString()にて
getClass().getDeclaredFields()でフィールド一覧を取得して、
ApacheのBeanUtilのPropertyUtilを使用して文字列を出力しています。
ですが、APIを読むとClass#getDeclaredFieldsもgetFieldsも継承元のフィールド情報は取ってくれないみたいです。
上記の例ですとchildIdは出力できるのですが、parentIdが取れないということです。
こうした場合、どのような手法を使って実現するのがいいのでしょうか?
0784デフォルトの名無しさん
2010/05/17(月) 22:00:48super
0785デフォルトの名無しさん
2010/05/17(月) 22:14:32Class を引数にとってフィールド文字列を生成する static メソッドを別に作り、
Parent#toString() から Parent.class を明示的に指定して呼ぶ。
クラス構造の上から下まで遡りたい場合は Parent#toString() 内で
this.getClass() から順繰りにスーパークラス拾って実行。
0786デフォルトの名無しさん
2010/05/17(月) 22:18:29?
0787デフォルトの名無しさん
2010/05/17(月) 22:24:28Childを継承したサブクラスができたら死ぬしかないってことだろ
言わせんな恥ずかしい
0788デフォルトの名無しさん
2010/05/17(月) 22:27:49本当の意味で恥ずかしい。
0789デフォルトの名無しさん
2010/05/17(月) 22:34:34とかでてokおしても先に進まないんですけどどうしたらインストールでかこますか?
下に代替パスがなんちゃらとかもでてますがさっぱりです
0790デフォルトの名無しさん
2010/05/17(月) 22:42:340791デフォルトの名無しさん
2010/05/17(月) 22:54:52ファイル壊れてんじゃね? もっかいダウンロードしてみたら?
0792783
2010/05/17(月) 23:05:160793デフォルトの名無しさん
2010/05/17(月) 23:05:420794デフォルトの名無しさん
2010/05/17(月) 23:10:070795デフォルトの名無しさん
2010/05/17(月) 23:16:29たぶん自分と症状だな
おそらくWindowsフォルダのどこかにあるmsiファイル消したんだと思う
Javaじゃなくてインストーラー全般の問題だと思う
0796751
2010/05/17(月) 23:22:02妙な質問をして申し訳ありませんでした。
↓これで希望どうりの動作をしました。
String[] strList = new String[5];
strList[0] = "str0";
strList[1] = "str1";
strList[2] = "str2";
strList[3] = "str3";
strList[4] = "str4";
for (String str : strList) {
System.out.println(str);
}
>>753
>for(String str : hoge)とジェネリックスはベツモノだから言ってる意味がわからないがArrayList使えばいいんじゃね?
ジェネリクスはArrayListみたいな可変配列の要素に特定のクラスを格納することを強制することが出来る。
だから、ループで回すときにキャストが不要になる。
「for(String str : hoge)とジェネリックスはベツモノ」
つまり、配列の個数はジェネリクスとは関係なく取得できるから、ループの回数とジェネリクスは直接的な関係はない、
ということであっているでしょうか?
0797デフォルトの名無しさん
2010/05/17(月) 23:27:28ほかのソフトはインストールできたんですけど、どうやったら直せますか?
0798デフォルトの名無しさん
2010/05/17(月) 23:30:20msiの話ならさすがにスレチ
ggれば死ぬほど情報出てくる
0799デフォルトの名無しさん
2010/05/17(月) 23:31:440800デフォルトの名無しさん
2010/05/17(月) 23:42:20他のソフトはインストールできるんですけどこれはmsiってやつが問題じゃなさそうなんですが
0801デフォルトの名無しさん
2010/05/17(月) 23:43:230802デフォルトの名無しさん
2010/05/17(月) 23:46:32, ‐' ´ ``‐、 / ̄:三}
. /,. -─‐- 、. ヽ / ,.=j
_,.:_'______ヽ、 .! ./ _,ノ
`‐、{ へ '゙⌒ `!~ヽ. ! /{. /
`! し゚ ( ゚j `v‐冫 , '::::::::ヽ、/ そんなモノよりPOIにしようぜ!
. {.l '⌒ ゙ 6',! / :::::::::::::::/ __
. 〈 < ´ ̄,フ .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
. ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠. ヽ_} ゙ヽ
,.r` "´ /:::::::::::::::::::ィ´ `ゝ !、 /
/ / :::::::::::::::: ; '´ /´\ / r'\
. i ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
{ {:::::::::::;:イ / ‖i:::::::/:::::::::::::/ \
. ヽ ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /
0803デフォルトの名無しさん
2010/05/17(月) 23:57:27仕事でよく使ってるとか自分が得意なライブラリとかで、チップ・メモ程度のところじゃなくてもう少し体系だってまとめてるところです。
wikiは解説をするようなサイトとじゃないし、ジャバのようなライブラリ指向だと正直多すぎて多くてよく分からんとです・・・
0804デフォルトの名無しさん
2010/05/18(火) 00:05:36POIは知らんけど、commonsはhttp://jakarta.jp/commons/とjavadocで不満?
javadocにサンプルソースも乗ってるしね
0805デフォルトの名無しさん
2010/05/18(火) 00:12:37javafxなんかもその二の舞なんだろうか。
0806デフォルトの名無しさん
2010/05/18(火) 00:21:310807デフォルトの名無しさん
2010/05/18(火) 00:26:210808デフォルトの名無しさん
2010/05/18(火) 00:46:030809デフォルトの名無しさん
2010/05/18(火) 01:43:00そうなんですか。
やっぱりマイクロソフトとアドビに従順に従っていたほうが幸せになれるんですね。
ならジャバなんか入門本なんかを何冊も読んで無理してやらなくてもいいんじゃないかな・・・?
0810デフォルトの名無しさん
2010/05/18(火) 03:10:33結局どうやって直したんですか?
0811デフォルトの名無しさん
2010/05/18(火) 03:32:40ググレカスと言わざるを得ない。
0812デフォルトの名無しさん
2010/05/18(火) 03:33:470813デフォルトの名無しさん
2010/05/18(火) 04:05:090814デフォルトの名無しさん
2010/05/18(火) 04:34:58>>780は知ったかだったのかw
0815デフォルトの名無しさん
2010/05/18(火) 12:31:52msi に問題が無くて良かったね。インストールおめでとう。
0816デフォルトの名無しさん
2010/05/18(火) 12:36:52すまんが間違えた。
内部ではint[]で保持していた。
0817デフォルトの名無しさん
2010/05/18(火) 14:13:00>>795
>>797-798
>>800
昔似たような経験をしたことがある。
msiファイルを消したのではなく、msiファイルを使った他のインストーラーによる
インストールを中途半端に終わらせたときに発生する。
他のインストーラーのインストールが途中なら、もう一度それを実行して完全に終わらせるか
完全にキャンセルさせるかインストーラーメニューから出る修復、サインインストールを実行する。
するとうまくいった。
>>802
POIといっても通じない可能性があるぞ。ポイ捨てと勘違いされるんじゃないのか?
http://poi.apache.org/
Apache POI
http://ja.wikipedia.org/wiki/Apache_POI
POIという名称は、Microsoft Officeのファイル形式をリバースエンジニアリングした際、その形式が意図的に、
しかも中途半端に分かりにくくされていたため、
皮肉を込めて "Poor Obfuscation Implementation" (中途半端に曖昧な実装) と呼んだものの頭字語に端を発している。
このようにユーモラスな正式名称を当てはめる方法はかつていろいろなサブプロジェクトに見られたが、
ユーモアを不適切と捉えるビジネス界への進出を意識し、公式ウェブページからは削除されている。
もうひとつの由来は、ハワイの珍味Poiから来た。
ハワイ人がこれを食べ続けると巨人になるとも言われている。
0818デフォルトの名無しさん
2010/05/18(火) 14:27:12おい、まずHPという言葉を使うのやめろ。HPといえばヒューレット・パッカードのことだ。
それにウェブサイトのことをホームページとかHPと呼ぶな。
それにWikipediaとWikiを一緒にするな。Wikipediaは解説をするようなサイトではないが
Wikipediaの姉妹プロジェクトWikibooksは解説をするようなサイトだ。
他にも、同じWikipediaの創設者ジミー・ウェールズが作ったWikiaという、
そこいらにある@Wikiやwikiwikiやwikihouseに類似したサービスがある。そこにApacheのWikiがあればそれを閲覧、
それがなければWikiaの英語版を探す、それでもなければWikiaに新しいApache Wikiを作る。
というくらいのことをしろ。
そもそもApacheにはすでにWikiが用意されているわけだが。
http://wiki.apache.org/
0819デフォルトの名無しさん
2010/05/18(火) 15:09:57http://wiki.java.net/bin/view/Javapedia/
0820デフォルトの名無しさん
2010/05/18(火) 15:11:44はたしてそれはどうかな。
それらの主張はアンチによる意見。
このスレにはいまだにM$を崇拝しC#を押し付けるアンチが常駐していることをお忘れなく。
0821デフォルトの名無しさん
2010/05/18(火) 17:49:31おまえさ、周りから嫌われてるだろ?w
0822デフォルトの名無しさん
2010/05/18(火) 17:55:130823デフォルトの名無しさん
2010/05/18(火) 18:44:07あれ嫌いこれ無理なんて言ってるのは素質が無い(プログラマ向いてない)人
比較的良く使われている言語については最低入門レベル程度まで勉強した方がいい
一つの言語に偏ったら転職したりプロジェクト変わったりすると慌てる事になるよ
0824デフォルトの名無しさん
2010/05/18(火) 18:49:010825デフォルトの名無しさん
2010/05/18(火) 18:59:450826デフォルトの名無しさん
2010/05/18(火) 19:15:43そんなに意地張ったりしないでそろそろマイクロソフトに降伏したらどうですか?
javafxなんかよりもアドビの方が断然いいんですよね・・・
0827デフォルトの名無しさん
2010/05/18(火) 19:28:59他のソフトがインストール途中ってそれどうやったら確認できます?
0828デフォルトの名無しさん
2010/05/18(火) 19:33:280829デフォルトの名無しさん
2010/05/18(火) 20:19:39嫌われたら嫌い返せばよい
それだけのことだ
バカの発言を恐れたらそれで終わり
0830デフォルトの名無しさん
2010/05/18(火) 20:21:02叩くのではない
間違いを正すのだ
>>813は明らかにwikiとwikipediaに対するミスリードを行っていた。
0831デフォルトの名無しさん
2010/05/18(火) 20:22:16お前は数年前に死滅スレで暴れていたMS厨房の餓鬼みたいだな
Adobeなんかほとんど使わないだろ
個人で買う奴もそうそういない
芸術家やデザイナーでもなきゃ誰も買わない
大規模開発には不向き
0832デフォルトの名無しさん
2010/05/18(火) 20:23:00なんでもいいからmsiをダブルクリック
するとメッセージがでる
そのメッセージをよめばわかる
0833デフォルトの名無しさん
2010/05/18(火) 20:55:58すいません
どこにあるの?
0834デフォルトの名無しさん
2010/05/18(火) 21:06:20ちなみにこんな画面がでて進みません
0835デフォルトの名無しさん
2010/05/18(火) 21:14:42顔真っ赤にして何やってんの?w
おまえ真性馬鹿だろ(笑)
0836デフォルトの名無しさん
2010/05/18(火) 21:35:45選択した機能は現在使用できないネットワークリソースにあります - Google 検索
http://bit.ly/dtuJ5v
0837デフォルトの名無しさん
2010/05/18(火) 22:28:58バカ乙
0838デフォルトの名無しさん
2010/05/18(火) 22:30:15やっぱり解決方がみつかりません
同じ症状になって解決した人がいたらアドバイスください
0839783
2010/05/18(火) 22:30:29// 継承元の情報も出力する
Class<?> clazz = this.getClass().getSuperclass();
while (true) {
if (Object.class == clazz) break;
Field[] fields_ = clazz.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
if (fields.length > 0) buf.append(", ");
String fieldName = fields_[i].getName();
buf.append(fieldName).append("=");
try {
buf.append(PropertyUtils.getSimpleProperty(this, fieldName).toString());
} catch (IllegalAccessException e) {
buf.append("IllegalAccessException !!");
} catch (InvocationTargetException e) {
buf.append("InvocationTargetException !!");
} catch (NoSuchMethodException e) {
buf.append("NoSuchMethodException !!");
} catch (NullPointerException e) {
buf.append("null");
}
}
clazz = clazz.getSuperclass();
}
0840デフォルトの名無しさん
2010/05/18(火) 22:50:48おい、まずHPという言葉を使うのやめろ。HPといえばホームページのことだ。
それにヒューレットパッカードのことをHPと呼ぶな。
0841デフォルトの名無しさん
2010/05/18(火) 22:53:33HPじゃなくてhpだしな
0842デフォルトの名無しさん
2010/05/18(火) 23:01:54あ〜
雑学君だったから黙ってたのに・・・
それ言っちゃ駄目だよ
0843783
2010/05/18(火) 23:03:07正 if (i > 0) buf.append(", ");
完成した部分から切り取ってきたので、もしかしたら他にもおかしな箇所があるかもしれませんが・・・
アイディアを下さった>>785、他、ありがとうございました。
0844デフォルトの名無しさん
2010/05/18(火) 23:07:11/ \ /\ キリッ
/ (ー) (ー)\
/ ⌒(__人__)⌒ \
| |r┬-| | ウェッブサイトのことをホームページとかHPと呼ぶな
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_ \
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // だっておwwwwwwwww
| :::::::::::(⌒) | | | / ゝ:::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0845デフォルトの名無しさん
2010/05/18(火) 23:11:49あれだけ詳しく書いてあるのにほかに何が必要なのか
0846デフォルトの名無しさん
2010/05/18(火) 23:16:540847デフォルトの名無しさん
2010/05/18(火) 23:49:15携帯電話を「携帯」と略さない人だけが許される主張だね
0848デフォルトの名無しさん
2010/05/18(火) 23:55:500849デフォルトの名無しさん
2010/05/19(水) 00:00:17私は芸術家じゃありませんけどコカコーラをよく買います
0850デフォルトの名無しさん
2010/05/19(水) 00:22:11System.out.println(j.getValue());
で 5 ではなく 4 が出力されるのか理解できません、どなたかお願いします
class ArgTest2 {
void run() {
int i = 1;
myInt j = new myInt(2);
iMod(i);
jMod(j);
System.out.println(i);
System.out.println(j.getValue());
}
void iMod(int val) { val = 3;}
void jMod(myInt val) {
val.setValue(4);
val = new myInt(5);
}
public static void main(String[] args) {
ArgTest2 app = new ArgTest2();
app.run();
}
}
class myInt {
private int i;
myInt(int val) {i = val;}
void setValue(int val) {i = val;}
int getValue() {return i;}
}
0851デフォルトの名無しさん
2010/05/19(水) 00:29:124をsetValしたから
0852デフォルトの名無しさん
2010/05/19(水) 00:36:49ちゃんとおしえてやれよww
>>850
簡単にいうと参照を値渡ししてるから4になるんだ。
0853デフォルトの名無しさん
2010/05/19(水) 00:37:50渡し先でnewなどをして参照先を切り替えると、
呼び出し元では切り替えたはずの参照先は取得できず、
古い情報への参照を保持し続ける。
>>851
それじゃ足りてねえだろww
0854852
2010/05/19(水) 00:53:26たしかに、>>853の説明は丁寧だとは思うよ。
引数としてもらった参照に、別の参照を(←newしたもの)代入している。
そしたら元々引数としてもらった参照の先の変数は変化しない。
って理屈だから、足りてないという認識はないなぁ。
0855デフォルトの名無しさん
2010/05/19(水) 01:04:01├ >>851 そりゃ4をセットしたからだ ← 4が出る原因のみを提示
├ >>852 値が参照渡しだからだよ ← 原因の概要を提示
├ >>853 5が出ると思っている原因を推測 ← 原因の具体箇所を提示
└ >>854 騙り
0856デフォルトの名無しさん
2010/05/19(水) 01:05:57なるほど、恥ずかしながら初めて知りました
みなさんご丁寧にありがとう!
0857デフォルトの名無しさん
2010/05/19(水) 01:07:100858デフォルトの名無しさん
2010/05/19(水) 01:07:100859デフォルトの名無しさん
2010/05/19(水) 10:02:48Wiki=ウィキであってウィキペディアでは無い
あながち間違ってないと思うおw ちゃんと社会に出て働いていればの話だけどw
0860デフォルトの名無しさん
2010/05/19(水) 10:06:42それができないならよほどコミュニケーション能力に欠けてる。
0861デフォルトの名無しさん
2010/05/19(水) 10:49:510862デフォルトの名無しさん
2010/05/19(水) 11:11:33http://anchorage.2ch.net/test/read.cgi/bizplus/1274074988/
0863デフォルトの名無しさん
2010/05/19(水) 11:25:390864デフォルトの名無しさん
2010/05/19(水) 11:43:450865デフォルトの名無しさん
2010/05/19(水) 18:10:37お前>>803本人か?
図星か
一連の流れをみるとお前のほうが顔真っ赤にしてるように見えるんだが
>>841
hpはヒューレット・パッカードのロゴ。「HP」と書いて解説している書籍やサイトも
いくらか存在するわけだが
>>847
それは誤解をうけなければ問題ないんだが。
>>803の言い方は明らかに誤解を招くもの。
バカが読めばウェブサイトのことをホームページとかHPと書いても
かまわないと思い込み、Wikipediaのことを他のWikiとの区別も意識せず
Wikiと読んでもかまわないと思い込む。
バカが第二のバカ、第三のバカを量産する。
こういうときは、これ以上誤解やこじれを減らすためにできるかぎり早めに指摘しておくべきことだ。
間違った言葉が当たり前のように使われる前にな。
>>860
この場合、質問者としてコミュニケーション能力に欠けているのは>>803のほうだな。
クラッカーやコンピューター犯罪者のことをハッカー同一視する無礼な輩や
ハンドルのことをハンドルネームとかHNとほざく輩のように相手に不快感を与えている。
0866デフォルトの名無しさん
2010/05/19(水) 18:12:520867840のみ
2010/05/19(水) 18:24:22ハズレ
hp・HPの違いは気付たので840に入れなかった
>>803の言いたいことはwiki・wikipedia・blog・ホームページだろうがどうでもいい
Apache POIとcommonsが体系だってまとめてあればいいこと blogじゃあ難しいだろうけどね
0868デフォルトの名無しさん
2010/05/19(水) 18:27:53いいからお前は巣に帰れ
で、その「アフォウヨ」って何だ?
朝鮮語か?
0869デフォルトの名無しさん
2010/05/19(水) 18:29:04日本語しゃべれ
0870デフォルトの名無しさん
2010/05/19(水) 18:33:26ある人物がネットで民主党を批判したら>>866みたいなバカが
ネトウヨのレッテルを張った。
ところが、まさかの朝日新聞がそのある人物とまったく同じ主張で民主党を批判した。
「朝日新聞はネトウヨ」
そして、ネトウヨ連呼厨の論理的矛盾から次々と「〜はネトウヨ」というパターンがいくつも生まれていった。
「Javaプログラマーはネトウヨ」
「オバマはネトウヨ」
「TBSはネトウヨ」
「共産党はネトウヨ」
「中国はネトウヨ」
それをこう置き換えたというやつじゃね?
「朝日新聞はアフォウヨ」
「Javaプログラマーはアフォウヨ」
「オバマはアフォウヨ」
「TBSはアフォウヨ」
「共産党はアフォウヨ」
「中国はアフォウヨ」
0871デフォルトの名無しさん
2010/05/19(水) 18:34:060872デフォルトの名無しさん
2010/05/19(水) 18:40:460873デフォルトの名無しさん
2010/05/19(水) 18:55:070874デフォルトの名無しさん
2010/05/19(水) 19:33:01支那キムチは
0875デフォルトの名無しさん
2010/05/19(水) 21:11:150876デフォルトの名無しさん
2010/05/19(水) 21:13:480877デフォルトの名無しさん
2010/05/19(水) 21:42:41だが中韓の評判で良い話は聞いたことが無い
0878デフォルトの名無しさん
2010/05/19(水) 21:44:020879デフォルトの名無しさん
2010/05/19(水) 21:52:040880デフォルトの名無しさん
2010/05/19(水) 21:53:5410日でおぼえる JSP/サーブレット入門教室
0881デフォルトの名無しさん
2010/05/19(水) 22:50:48勉強になりました。ありがとうございます
0882デフォルトの名無しさん
2010/05/19(水) 23:30:020883デフォルトの名無しさん
2010/05/19(水) 23:31:320884デフォルトの名無しさん
2010/05/19(水) 23:33:48____
/ \ /\ キリッ
/ (ー) (ー)\
/ ⌒(__人__)⌒ \
| |r┬-| | ウェッブサイトのことをホームページとかHPと呼ぶな
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0885デフォルトの名無しさん
2010/05/19(水) 23:37:49キーボードクラッシャーの動画をジャバで見たいのですがどこにありますんでしょうか?
0886デフォルトの名無しさん
2010/05/19(水) 23:54:460887デフォルトの名無しさん
2010/05/19(水) 23:55:28むしろお前が逝けよ池沼
0888デフォルトの名無しさん
2010/05/20(木) 08:29:41リファレンスを見る限りみつかりませんでしたが、
もし一気に追加するうまい方法があれば教えて頂けないでしょうか?
http://www.ea.u-tokai.ac.jp/~sakata/jdk6/docs/ja/api/java/util/HashMap.html
0889デフォルトの名無しさん
2010/05/20(木) 08:36:01初期の確保領域なら指定できる。
あとはaddAllするしかない。
0890デフォルトの名無しさん
2010/05/20(木) 08:53:09ありがとうございます。 addAll の使い方を調べてみます。
0891デフォルトの名無しさん
2010/05/20(木) 10:11:42ダイアログに設定対象のオブジェクトを丸投げして叩いてもらうのか、
設定終了ボタンかなんか押されたときに設定されたデータを回収して
設定対象のほうで処理するのか、とか悩んでいるんですけど何か定石ありますか
0892デフォルトの名無しさん
2010/05/20(木) 10:20:58また、あった場合はどうやってパラメータ設定等を行うのでしょうか。
EJB用ののweb.xmlみたいな存在があるのか気になってます。
0893デフォルトの名無しさん
2010/05/20(木) 13:17:17定石はない。俺はダイアログにオブジェクトの設定を任せる作りが多いが。
0894デフォルトの名無しさん
2010/05/20(木) 17:04:26設定を保存する可能性を考えると、設定データをまとめたクラス
のほうがいいのかなとかは考えたりしましたけど、必要がなさそうなら
多少気を使うことになっても丸投げのほうが簡単そうですね……。
ありがとうございました。
0895デフォルトの名無しさん
2010/05/20(木) 21:45:37気が向いたらどうぞ
http://pc12.2ch.net/test/read.cgi/win/1259598381/734
0896デフォルトの名無しさん
2010/05/20(木) 21:49:26JNDI
0897デフォルトの名無しさん
2010/05/20(木) 22:55:48JNDIがありますよ
0898デフォルトの名無しさん
2010/05/20(木) 23:54:27JNDI はどうよ
0899デフォルトの名無しさん
2010/05/21(金) 03:32:59____
/ \ /\ キリッ
/ (ー) (ー)\
/ ⌒(__人__)⌒ \
| |r┬-| | ウェッブサイトのことをホームページとかHPと呼ぶな
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0900デフォルトの名無しさん
2010/05/21(金) 05:34:44>>891
Coleagueパターン、Mediatorパターン
0901デフォルトの名無しさん
2010/05/21(金) 07:18:39JNDIはコンテクストとは別物な感じがするのですが…
やりたいことはふたつあって、
ひとつはEJBへのアクセスに対してfilterを適用したいのです。
もう一つはEJBからさらに別のEJBをjava:comp/env名で呼ぶ時に、
web.xmlの<ejb-ref>にあたる情報をどこに書くのか知りたいのです。
引き続きよろしくお願いいたします。
0902>>891
2010/05/21(金) 08:51:15Mediatorパターン理解してきました。
種々の対象に対して一手に設定を加えられるようですね。
気を使う箇所がひとつで済むのもとても救いになりそうです。
とても参考になりました。ありがとうございました
0903デフォルトの名無しさん
2010/05/21(金) 18:33:24i[0] = new Integer(1);
object[] array = i;
array[1] = "Hello"
上記のようにInteger型の配列をObject型の配列にキャストして
Object配列にStringオブジェクトを追加しようとすると実行時エラーが発生して追加できません。
オブジェクト型にキャストしてるのになぜ追加できないのでしょうか?
0904デフォルトの名無しさん
2010/05/21(金) 18:37:490905デフォルトの名無しさん
2010/05/21(金) 18:37:540906デフォルトの名無しさん
2010/05/21(金) 21:47:57ejb-jar.xmlにejb-refを追加
0907デフォルトの名無しさん
2010/05/22(土) 00:14:06SDK一式インストールさせられるみたいなので止めました。
ttp://kickjava.com/src/javax.index.htm
ここは見づらいのですが、簡単にj2eeのソースを見られるところはないでしょうか
0908デフォルトの名無しさん
2010/05/22(土) 02:23:060909デフォルトの名無しさん
2010/05/22(土) 02:37:390910デフォルトの名無しさん
2010/05/22(土) 03:15:26____
/ \ /\ キリッ
/ (ー) (ー)\
/ ⌒(__人__)⌒ \
| |r┬-| | ウェッブサイトのことをホームページとかHPと呼ぶな
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0911デフォルトの名無しさん
2010/05/22(土) 08:29:11■現状
現在個人で、Webから情報を収集し、それを解析してWebで公開する
プログラムを組んでいます。言語は、VB.netでIDEはVisualStodio、DBはSQL SERVERです。
■相談内容
当初の予定では、静的ページのみにする予定でしたが、色々と欲張った結果
動的ぺージも利用することにしました。IDEはVisualStodioですのでIISを利用しようかと
思ったのですが、いかんせんOSの制限で厳しそうなので
Eclipse+ApacheTOMCATでの開発を考えております。
機器構成はPC2台でAP+DBサーバとWEBサーバを考えています。
VB.net+SQL SERVER+JSP+Apacheという組み合わせに気持ち悪さ全開なのですが
もうちょっとベストな方法はありませんでしょうか?
■要望
�@VB.net+SQL SERVERはかなりの工数を割いて愛着もあるので変更したくありません。
�A動的ページの利用方法は、自サイト内のアクセス解析からランキングリンクを表示したり
新着を表示する予定です。
0912デフォルトの名無しさん
2010/05/22(土) 08:56:210913デフォルトの名無しさん
2010/05/22(土) 09:08:010914903
2010/05/22(土) 09:45:12レスありがとうございます。
とうことは
配列では、本来の型の配列を別の型でキャストした場合、別の型の値は代入できないってことなのでしょうか?
0915デフォルトの名無しさん
2010/05/22(土) 09:47:48代入できません。
0916デフォルトの名無しさん
2010/05/22(土) 09:58:510917デフォルトの名無しさん
2010/05/22(土) 10:29:14DBをPostgresSQLにリプレースすることにします。
WebサーバはCentOSにしときます。
動的ページはphp書いたことないので、やっぱりJSPでいくことにします。
■構成
�@APサーバ
WindowsXP Pro+VB.net+PostgresSQL
�AWebサーバ
CentOS+ApacheTomcat+JSP
■参照URL
http://itpro.nikkeibp.co.jp/article/NEWS/20070624/275673/?SS=imgview&FD=-309525945&ST=oss
http://itpro.nikkeibp.co.jp/article/NEWS/20070624/275673/?SS=imgview&FD=1730598997&ST=oss
http://q.hatena.ne.jp/1138334611
アドバイスありがとうございました。
0918デフォルトの名無しさん
2010/05/22(土) 10:36:21なんでいまどきJ2EEなんだ
Java EEならわかるが
0919デフォルトの名無しさん
2010/05/22(土) 10:37:300920デフォルトの名無しさん
2010/05/22(土) 10:44:390921デフォルトの名無しさん
2010/05/22(土) 12:48:19ファイルから文字を読みこむ処理をしたく、次のプログラムを書きました。
//入力ストリームと入力リーダ
FileInputStream fis;
InputStreamReader isr;
BufferedReader br;
try{
fis = new FileInputStream(file_name);
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
・
・
}//try
catch (Exception e) {
System.out.println(e);
}
finally{
//ストリームとリーダのクローズ
fis.close();
isr.close();
br.close();
//異常終了
System.exit(1);
}
この場合fisの生成時に例外が発生した場合、isrとbrは生成してないから
closeする時にまた例外が発生してしまうのでしょうか?
何かいい書き方があれば教えてください。
0922デフォルトの名無しさん
2010/05/22(土) 13:01:14普通はLAMPかLAPPをすすめるものだと思うんだけどな
0923デフォルトの名無しさん
2010/05/22(土) 13:09:54FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
・・・
if (fis != null) fis.close();
if (istr != null) isr.close();
if (br != null) br.close()
とでもすれば
それにしても Java の close() って IOException 投げるのが糞仕様だな;
0924デフォルトの名無しさん
2010/05/22(土) 13:13:34すすめてるように見えるけど
0925デフォルトの名無しさん
2010/05/22(土) 13:30:42レスありがとう。
あぁそっか。それでいいですね。
開いてないファイル閉じようとしてたら例外投げないとダメってことじゃないですかね。私は自然だと思いましたけど
0926デフォルトの名無しさん
2010/05/22(土) 15:27:23それは相手を小馬鹿にしていると、一般的な解釈では思われるぞ。
0927デフォルトの名無しさん
2010/05/22(土) 15:34:160928デフォルトの名無しさん
2010/05/22(土) 15:53:51LAPPをすすめるならVB.NETを進めないでPHPをすすめるだろ
これじゃLAPVだ
0929デフォルトの名無しさん
2010/05/22(土) 16:43:38PHPすすめてるやん
VBはデータを収集するツールだろ。それは変えたくないって
いってるやん
なんなのいったい。
0930デフォルトの名無しさん
2010/05/22(土) 17:36:41+両端に空白がないから見落とした
0931デフォルトの名無しさん
2010/05/22(土) 17:57:480932デフォルトの名無しさん
2010/05/22(土) 21:05:46まともな書込みと病気っぽい書込みが5:5ぐらいになってきたね
0933デフォルトの名無しさん
2010/05/22(土) 22:06:52病的書き込み厨乙
0934デフォルトの名無しさん
2010/05/22(土) 22:16:010935デフォルトの名無しさん
2010/05/23(日) 00:33:00こんなスレにまで工作活動のために出張しにきたアフォチョン乙
0936デフォルトの名無しさん
2010/05/23(日) 00:34:35ふざけんな。俺の方がアホだぞ。
0937デフォルトの名無しさん
2010/05/23(日) 00:35:500938デフォルトの名無しさん
2010/05/23(日) 00:37:58何度も言わせんな。
0939デフォルトの名無しさん
2010/05/23(日) 00:43:010940デフォルトの名無しさん
2010/05/23(日) 00:44:13gdgdにするバカは常駐してるな。
0941デフォルトの名無しさん
2010/05/23(日) 02:07:42http://www.odls.co.jp/mt4/index.html
プログラミングできるトレーディングツールで
JAVA経験者なら言語的に苦はないと思うぞ
相場用語が多々あって覚えなきゃならんことも多いが
新しいフレームワークやライブラリを勉強し続けてるおまえらなら大丈夫だよ
ドキュメントとしては
http://www.metasys-seeker.net/MQL4_Reference_ver1/MQL4_Reference_Contents.html
ITドカタで身に着けたプログラミング力をカネにできるぞ
0942デフォルトの名無しさん
2010/05/23(日) 08:17:23以下のように複数のSELECT文を実行してそれぞれの結果セットを取得することはできますか?
Stamement s = ...;
s.execute(Select文1);
s.execute(Select文2);
s.execute(Select文3);
ResultSet rs1 = s.getResultSet();
ResultSet rs2 = s.getResultSet();
ResultSet rs3 = s.getResultSet();
0943デフォルトの名無しさん
2010/05/23(日) 08:36:29できない
使えるSQLは1個だけ
0944デフォルトの名無しさん
2010/05/23(日) 09:01:51なぜbyte型の配列はint型の配列に代入できないのでしょうか?
0945デフォルトの名無しさん
2010/05/23(日) 09:05:21メソッドも宣言だけで空っぽ・・・。
多態性とかいうのを実現していますよ!っとアピールするためにSUNが実装した機能ではないでしょうか?
0946デフォルトの名無しさん
2010/05/23(日) 09:08:57byte は 1 バイト。new byte[10] なら 10 バイトの配列。
int は 4 バイト。new int[10] なら 40 バイトの配列。
そもそも物理的に違うものだから代入はできません。
>>945
違います。存在意義が分からないうちは多態性は理解できてませんよ。
0947デフォルトの名無しさん
2010/05/23(日) 09:53:54インタフェースはそれだけのものではないが
0948デフォルトの名無しさん
2010/05/23(日) 10:31:20はあ?
0949デフォルトの名無しさん
2010/05/23(日) 10:44:26「インタフェース 抽象クラス 違い」とかでぐぐったらいいかも。
俺それで理解したから。
0950デフォルトの名無しさん
2010/05/23(日) 10:50:04定数を大量に定義して、そこら中にImplementsする
嫌がらせに使える
0951デフォルトの名無しさん
2010/05/23(日) 10:53:420952デフォルトの名無しさん
2010/05/23(日) 11:06:060953デフォルトの名無しさん
2010/05/23(日) 11:20:54スーパークラスとサブクラスにそれぞれimplementsすると良いよ
0954デフォルトの名無しさん
2010/05/23(日) 11:26:04今ArrayList使おうとして「import java.util.ArrayList;」と書いたら、
Eclipseに「インポートしたjava.util.ArrayListは見つかりません」と怒られちゃいました。
考えられる原因って何がありますかね・・?
JDKのバージョンは6です。一応再インストールしても変わりませんでした。
よろしくお願いします。
0955デフォルトの名無しさん
2010/05/23(日) 12:09:33配列の要素は、構成要素型と呼ぶ同じ型を持つ必要がある。
つまり、これは配列にとっての型に相当する。
プリミティブ型の配列に関して拡大縮小変換は言語として存在しない。
参照型の配列に関しての拡大縮小変換は構成要素型同士の拡大縮小変換の有無に従う。
Byte[] ba = new Byte[] { 1, 2, 3 };
byte[] pba = new byte[] { 1, 2, 3 };
Number[] na;
na = ba;
// 不可 Integer[] ia = na;
// 不可 na = pba;
0956デフォルトの名無しさん
2010/05/23(日) 12:12:490957デフォルトの名無しさん
2010/05/23(日) 12:28:50/ \ /\ キリッ
/ (ー) (ー)\
/ ⌒(__人__)⌒ \
| |r┬-| | ウェッブサイトのことをホームページとかHPと呼ぶな
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_ \
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // だっておwwwwwwwww
| :::::::::::(⌒) | | | / ゝ:::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0958デフォルトの名無しさん
2010/05/23(日) 12:58:53うん。済まない、俺のことだな。
簡潔かつエレガントに回答出来ないから、言語規定からつぎはぎ超解釈回答。
いっそ突き放して
http://www.y-adagio.com/public/standards/tr_javalang2/arrays.doc.html
http://www.y-adagio.com/public/standards/tr_javalang2/conversions.doc.html
嫁。とでも言うほうがいいか。
0959286
2010/05/23(日) 13:31:120960デフォルトの名無しさん
2010/05/23(日) 13:34:55なんでジャヴァなんかに関心を持ったんですか?
今も昔もマイクロソフトやアドビの方が業界をリードしてるわけだからジャヴァなんかよりそっちをマスターしたほうがいいじゃないですか。
0961954
2010/05/23(日) 13:36:42インポートするクラスが入ってるのってJDKで合ってますよね?違うものをインストールしなきゃだめなのかな。
0962デフォルトの名無しさん
2010/05/23(日) 13:39:09仕様で想定されるパラメータを渡して例外が出ないことを確認する。
あるいは想定した例外が発生することを確認する。
アウトプットが無いという事は大抵何かの状態 (インスタンス変数なりディスクなり
DB なり) が変わる機能だろうから、その状態が正しく遷移しているかを確認する。
0963デフォルトの名無しさん
2010/05/23(日) 13:42:39プロジェクトのプロパティからビルドパス-ライブラリで JRE システムライブラリが参照されているか確認。
なければライブラリの追加。JDK 1.6 がちゃんと設定のインストール済み JRE に登録されてるか?
0964954
2010/05/23(日) 13:56:49あー・・・すごく申し訳なかった。
1.6はちゃんと登録されてたんですが・・・J2MEでの開発時はArrayListは非サポートでした;
J2ME初めてだったので普通のアプリと同じで開発進めてました・・・。
0965デフォルトの名無しさん
2010/05/23(日) 13:58:240966デフォルトの名無しさん
2010/05/23(日) 14:59:520967944
2010/05/23(日) 15:07:58あまりわかって無いような気がします・・。
byte型の値をint型の変数に代入するとき、int型に変換された後、代入されますよね?
同じくbyte型の配列の値ではなぜそのような型変換が行われないのでしょうか?
0968デフォルトの名無しさん
2010/05/23(日) 15:11:39MIDPならMIDPスレに行けCDCならスレがないからあきらめろ。
それ以前にJavaMEの仕様を読め。
JSR 139,118,218,219,217,216とあとは185あたりも覚えておくといい。
0969デフォルトの名無しさん
2010/05/23(日) 15:13:24変換が入ると単なる参照の代入じゃなくなっちゃうよね
0970デフォルトの名無しさん
2010/05/23(日) 15:29:32Visual Basic でも使えるのですか? 誰か、教えて下さい。
0971デフォルトの名無しさん
2010/05/23(日) 15:32:220972デフォルトの名無しさん
2010/05/23(日) 15:39:47そんなこと言って教えてやらないのは、オマイも分からないのだろう!
0973デフォルトの名無しさん
2010/05/23(日) 15:40:27配列はオブジェクトだから、継承関係のない物には
キャストできないって事では。
Byte b = new Byte("127");
Integer i = (Integer)b;
が、出来ないのと同じ理由だと思うよ。
0974デフォルトの名無しさん
2010/05/23(日) 15:43:06いや、しらねーよw
0975デフォルトの名無しさん
2010/05/23(日) 16:00:41そもそもVBとかスレ違いだろ
0976デフォルトの名無しさん
2010/05/23(日) 16:02:16そうなの?すごいな!
0977デフォルトの名無しさん
2010/05/23(日) 16:29:19basicに限らず、もう別物だと思って一からやり直したほうがいいですよ。
0978デフォルトの名無しさん
2010/05/23(日) 16:38:050979デフォルトの名無しさん
2010/05/23(日) 17:16:570980デフォルトの名無しさん
2010/05/23(日) 17:18:400981デフォルトの名無しさん
2010/05/23(日) 17:27:11>955で拙い説明で詳しく書いてる。
説明が分からなければ>958が情報元へのリンク。
0982デフォルトの名無しさん
2010/05/23(日) 17:38:34膿め。
0983デフォルトの名無しさん
2010/05/23(日) 17:52:550984デフォルトの名無しさん
2010/05/23(日) 18:23:050985デフォルトの名無しさん
2010/05/23(日) 18:24:170986デフォルトの名無しさん
2010/05/23(日) 18:43:320987デフォルトの名無しさん
2010/05/23(日) 19:05:050988デフォルトの名無しさん
2010/05/23(日) 19:14:42Java使えてる俺頭いいってかw
0989デフォルトの名無しさん
2010/05/23(日) 19:25:190990デフォルトの名無しさん
2010/05/23(日) 19:35:52ほうほう、おもしろそうっだな
だがJAVAはない
Javaな
0991デフォルトの名無しさん
2010/05/23(日) 19:37:03ひとまず、O/Rマッピングフレームワークを使うことをおすすめする
0992デフォルトの名無しさん
2010/05/23(日) 20:15:04存在意義を知りたければデザインパターンについて勉強してこい!
0993デフォルトの名無しさん
2010/05/23(日) 20:16:50まるで悪しきグローバル変数だな
0994デフォルトの名無しさん
2010/05/23(日) 20:18:28MockObjectを使う
0995デフォルトの名無しさん
2010/05/23(日) 20:21:49定数だから問題は無いだろう
0996デフォルトの名無しさん
2010/05/23(日) 20:42:49諦めろじゃなくて携帯電話開発スレあたりかそのスレで質問するか
新たにスレ立てるかすることを勧めろよ
0997デフォルトの名無しさん
2010/05/23(日) 21:35:22★★Java質問・相談スレッド139★★
http://pc12.2ch.net/test/read.cgi/tech/1274617383/
0998デフォルトの名無しさん
2010/05/23(日) 21:35:450999デフォルトの名無しさん
2010/05/23(日) 21:50:421000デフォルトの名無しさん
2010/05/23(日) 21:55:0010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。