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


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

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



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

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

前スレッド
【初心者】Java質問・相談スレッド120【歓迎】
pc11.2ch.net/test/read.cgi/tech/1223603727/

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

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

552 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 22:20:01 ]
>>546
すれ違い?

553 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:23:34 ]
>>535
とにかく Ctrl+Break を送ればスレッドダンプするらしいので、Win32 SDK の GenerateConsoleCtrlEvent 関数
で CTRL_BREAK_EVENT を送ればいいはず。
ただしサービスとして起動している java プログラムの標準出力に出ちゃうから、標準出力をファイルか何かに
リダイレクトする必要がある。 
ここまで書いたけど、そこまでするなら JDK6 にしてもらえるように説得したほうが楽そうだな。

554 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:51:37 ]
式言語の意義とは何なんでしょうか?
seacer2の勉強してたらOGNLという言語が出てきました。
調べてみるとJavaEEに出てくるEL式などの仲間で式言語というらしいのですが、
文法見ても目的が理解できません。
web開発において式言語を使う意味というのは
JSPでアクションやサーブレットから受け取ったオブジェクトの情報を出力しやすくするため
に限ったことですか?

555 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:51:48 ]
以下のオブジェクトをシリアライズしてネットワークで他のパソコンに転送、計算を行い結果を返送させるプログラムを作成しています。
public class Element implements Serializable
{
double start;
double end;
int cut;
double d;
int sigma;
int mode;
}

556 名前:555 mailto:sage [2008/12/01(月) 23:54:35 ]
続き
送信メソッド
try {
sock = new Socket(host, Integer.parseInt(port));
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
ObjectOutputStream out = null;
try {
out = new ObjectOutputStream(sock.getOutputStream());
out.writeObject(element);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
finally
{
try {
out.close();
sock.close();
} catch (Exception e) {
e.printStackTrace();
}

557 名前:555 mailto:sage [2008/12/01(月) 23:58:02 ]
以下のメソッドで受信を行っているのですが、EOFExceptionが発生してしまいます。
理由がさっぱりわからず困っています。どのようにすればよいのでしょうか。
try
{
ois = new ObjectInputStream(sock.getInputStream());
if(ois.readObject() instanceof Element) //計算する要素を受け取った場合
{
Element element = (Element)ois.readObject();
element.apply(simu.getRects());
Receive.this.simu.calc(); //計算
}

}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if(ois != null)
ois.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}

558 名前:デフォルトの名無しさん [2008/12/02(火) 00:02:21 ]
ここ

if(ois.readObject() instanceof Element) //計算する要素を受け取った場合

559 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:03:04 ]
>>555
ois.readObject() instanceof Element の行で
オブジェクトを読み込んでるのに
その下の行でさらに読み込もうとしてるから

560 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:12:18 ]
public static final Object CONS=new Object();
でオブジェクトのインスタンスを定数のように使いたいのですが、
直列化するとインスタンスのメモリアドレスが変わってしまい
if (arg==CONS);で比較しても上手くいきません。
古いjdkのためenumを使えずどうすれば良いでしょうか。




561 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:24:45 ]
>>560
enumが欲しいならEffective Javaを読んでenumを実装する

562 名前:555 mailto:sage [2008/12/02(火) 00:26:58 ]
>>558
>>559
出来ました、有難うございます。

563 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:31:48 ]
>>561
その教科書は持ってないんですけど、enumなんてどうやれば実装できるんですか!

564 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:32:48 ]
うざいなぁ

565 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:37:15 ]
Enumでなくてもフィールドがオブジェクトで定数(final)で一意であればいいので
例えばStringでやってみようかと思ってるのですが難しいです(;ω;)

566 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:50:22 ]
>>560
readResolve を実装しろ

567 名前:546 mailto:sage [2008/12/02(火) 02:05:41 ]
>>552
なぜスレ違いなのじゃ?

Eclipseの話をするほうがよっぽどスレ違いではないかい?

うーむ、Effective Java第2版を実際に読んでみた者は
まだこのスレに現れないか。

568 名前:546 mailto:sage [2008/12/02(火) 02:08:03 ]
>>563
Effective Java第一版に実装する方法が載っているようじゃ。
Type Safe enumでもググって見るとよいぞ。Eclipseのプラグインでも
そのようなものが存在するのじゃ。

569 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:10:06 ]
読んでる最中。Genericsの境界ワイルドカードは説明読んでもさっぱりだ。
<T extends Comparable<? super T>>って何ぞ……。

570 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:15:37 ]
Tもしくはそのスーパークラスと比較可能なT
Integer (Comparable<Integer>) とか
java.sql.Date (Comparable<java.util.Date>) が該当する



571 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:24:39 ]
<? super T>って
if(foo instanceof Bar){
//hoge
}

みたいな条件分岐がいらなくなるくらいしか思いつかないんだが・・・


572 名前:569 mailto:sage [2008/12/02(火) 02:25:37 ]
うーん、わかるようなわからんような。
interface I {}
class A implements I, Comparable<I> {...}
class B implements I, Comparable<I> {...}
static <T extends Comparalbe<? super T>> int compare1(T a, T b) {...}
static <T extends Comparalbe<T>> int compare2(T a, T b) {...}
void func() {
A a = new A();
B b = new B();
compare1(a, b); // OK
compare2(a, b); // NG
}
既存の定義はなんとか読み解けても、1から自分で定義できなさそーな気が……。

573 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:35:19 ]
>>567
注文して、到着待ち。俺の国に届くのはいつの日だよorz

>>571
実行時じゃなくてコンパイル時に怒られるから良いんじゃないのかな。
Generics使い始めると意地でもキャストを無くしたくなる。

574 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 12:16:35 ]
>>570
片方がsqlでもう片方がutilであるぞ

575 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 12:20:06 ]
>>572
ドキュメントをよく読むんだ。入門サイトもどこかにある。
Effective Javaを読む前に先にGenerics入門らしきサイトを先に
読んだほうがいいのでは。
たしかに、けっこう混乱するとは思う。
自分で作るの大変だ

576 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 17:22:44 ]
>>566
あの〜
意味が分からないですけど

577 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 17:34:05 ]
アプレットで六角形を描きたいのですが、drawPolygonメソッドがint型の配列しか引数に
取れないようなのでどうすればいいかわかりません。以下のコードをどう修正したらいいですか
import java.applet.*;
import java.awt.*;

public class hexagon extends Applet {
public void paint(Graphics g) {
double sqr3 = Math.sqrt(3.0);
double[] xPoints = {5, 15, 20, 15, 5, 0};
double[] yPoints = {0, 0, (5*sqr3), (10*sqr3), (10*sqr3), (5*sqr3)};
int nPoints = 6;
g.drawPolygon(xPoints, yPoints, nPoints);
}
}

578 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:43:10 ]
>>577
intにキャストすれば?

579 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:44:54 ]
>>578
同一インスタンスを返すようにreadResolve()をオーバーライドすればいいということかと。
readResolve()を知らないなら、直列化について詳しく調べるといい。


580 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 19:07:11 ]
直列化のsrcとdstでインスタンスのアドレスが違うからstatic final intみたな定数として機能してないってことが問題なんですけど?
何が問題が良く分かってないじゃないですか。それにインタフェイスではそのAPIはありませんよ。
直列化するときは普通はクラスのほう使いますけど。



581 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 19:17:10 ]
なんでintしか扱えないんだろうか

582 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 19:36:09 ]
>>580
readResolve()はANY-ACCESS-MODIFIERなメソッドだけど、
デフォルトではprivateなメソッドだから、javadocにも載ってないし、
オーバーライドしろといわれてもピンとこないのは、非常によく分かる。

ただ、直列化を使用するなら、直列化の仕様ぐらい調べようぜ。

それより、"クラスのほう"って何?




583 名前:デフォルトの名無しさん [2008/12/02(火) 20:04:29 ]
当然class ObjectInputStreamですよ。
intなのは、swichの実装が32ビットだと容易だからです。
それと仕様は読んでるんですけど、参照をフィールド定数として使いたいことと直列化は関係ありません。
enumが使えるJDKならいいんでしょうが、なんか上手い方法はないでしょうか・・・・

584 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:16:50 ]
>>580
java.sun.com/javase/ja/6/docs/ja/api/java/io/Serializable.html

> 代替オブジェクトのインスタンスをストリームから読み込むときに
> そのオブジェクトを指定する必要のあるクラスでは、
> 次のシグニチャーを正確に指定して、この特別なメソッドを実装する必要があります。
>
> ANY-ACCESS-MODIFIER Object readResolve() throws ObjectStreamException;

1.1 だと使えないんだっけ?

585 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:22:14 ]
readResolveが一つの解決法なのは分かりますが、あなた、ちょっとしつこい

586 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:23:31 ]
もうジャバはめんどい!
C#とマイクロソフトだけで俺はしあわせ!

587 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:23:53 ]
>>585
readResolve での解決では、何か不満が?

588 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:27:48 ]
>>583
何この場か

589 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:29:09 ]
>>585
>readResolveが一つの解決法なのは分かりますが、あなた、ちょっとしつこい
いや、別人ですから。

590 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:32:05 ]
ここまで全部俺の書き込み



591 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:37:57 ]
どれがだれのだれへの発言なのか

592 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:41:19 ]
>>それにインタフェイスではそのAPIはありませんよ。
>>直列化するときは普通はクラスのほう使いますけど。
横道にそれるけど、インタフェイスとクラスの理解があやふやじゃないか。
普通はクラスのほうを直列化って、インタフェイスも直列化可能と?

593 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:46:13 ]
>>569
ワイルドカードは、
引数に対してコバリアントにしたい場合は、super を使い、
返り値に対してコバリアントにしたい場合は、extends を使う。

例えば、Comparator<T> は、T が出てくるのが、
int compare(T, T)
しかないので、extends のワイルドカードを使っても全くの無意味。

逆に、Iterator<T> は、T が出てくるのが
T next()
しかないので、super のワイルドカードを使っても全くの無意味。

ところで、Effective Java 第2版の和訳はどうなん?
第1版は和訳が酷いとかいってた人が居たけど

594 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:50:23 ]
javaでmysqlサーバに現在時刻を取得するためにクエリを発行して取得した結果が
2008-12-02 20:47:03.0
というように最後に余計な物がついてきます。これなんとかならないでしょうか?
String query = "select now();";

try{
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection(url, user, pass);

stmt = con.createStatement();
rs = stmt.executeQuery(query);
rs.next();
TimeStamp = rs.getString("now()");
System.out.println(TimeStamp);
}catch(Exception e){
System.err.println(e);
}

こんな感じのソースです
2008-12-02 20:47:03
これだけあればいいです


595 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:51:16 ]
5.0じゃないならreadResolveしかないだろ。なんでゴネてんだ?

596 名前:デフォルトの名無しさん [2008/12/02(火) 21:10:50 ]
Swingで質問です…
JScrollPaneのViewportViewにJTreeを二つ設置したJPanelを指定したのですが
スクロールペインの中央にJTreeが並んでしまって困ってます
BoxLayoutでJPanelにJTreeを設置するとテキストがまともに表示されない(後半が途切れる)ので
GridBagLayoutで白紙のパネルをJTreeの下に設置し、JTreeを左上になんとか表示してます
こんな無理矢理な方法を使わず、素直にJTreeを二つスクロールペインの左上に設置する方法は無いでしょうか?
何方かご教授下さい…

597 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:13:56 ]
>>594
なんで getTimestamp しないの?

java.text.SimpleDateFormat あたりを参照するよろし。

598 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:34:12 ]
鯖のシステム時刻とクライアントのシステム時刻が一致している
保証はあるけ?

599 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:35:47 ]
>>597
>>598
ありがとうございます。結論から言うと、substring(0,19)で解決しました
しかしなんで末尾にへんな.0がつくのかちょっと謎です

600 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:37:54 ]
>>598
なるほどね。

ならそもそも SQL 上で整形して出力すべきだね。



601 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:39:37 ]
ん?と思ったけど Timestamp で取得してりゃ問題ないんじゃないの?
unix epoch time からの時間な訳だし…。

まぁどうでもいいや。ガンガってw

602 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:44:44 ]
>>567
eclipse万歳〜
プランクトン万歳〜


603 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:53:54 ]
eclipseなんて使ってると馬鹿になるぞ
ってのが口癖のEmacs使いの先輩がRailsを理解できない
規約言う前に原理を説明しろとか言って怒鳴る
頭固くなってんのはどっちなんだろう

604 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:55:52 ]
よく考えたら直列化で定数フィールドのアドレスが変わっても、equalsで解決できそうなのでそっちでやってみることにします。
実際はEnmuMapみたいなことが出来れば良いのですが、マップを使った配列アクセスみたいですけど
m.put(ONE,val); m.put(TWO,val2);
したあとに直列化しても
m.get(ONE).equals(val)==true であることが条件です。こういうのは出来ないのでしょうか。

605 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:11:54 ]
>>603
こんなところで先輩の悪口いってるおまえも相当アレだけどなw

606 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:46:37 ]
>>596
sage忘れた上にSwingスレがありました…本当に申し訳ないです

607 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:01:39 ]
>>603
「IDE? クソ使い難いエディタ付いてるだけのキッチンシンクが使いもんに
なるわけねーだろ、JK」と思ってたら、リファクタリング機能のあまりの
素晴しさにEclipseに転んだEmacs歴15年の俺が通りますよ、と。

まぁ、ScalaはScala Pluginが現状役に立たないので、scala-mode.el一択
なんだがな……。

608 名前:デフォルトの名無しさん [2008/12/02(火) 23:24:18 ]
emacsってそんなにいいんですか?ただのエディタじゃないですか。
しかも正規表現を使った検索・置換があれば最低現十分なのに、カスタマイズが多すぎて不要な機能が多いし。
実際私が論文書くときや役所に提出する書類なんかもms word 95と表機能程度で十分ですし、一体全体エディッタやIDEに何を望んでるんですか?といってみるテストw

609 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:29:42 ]
>>603
IDE でしか coding したことないと馬鹿になるというか発想が
狭くなるという意味では先輩に合意する。けど、IDE を使って
も良いと思うし、単純ではない GUI とかは IDE 使わない方が
時間の無駄だと思う。

610 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:43:13 ]
エディタだとしてもコードのコピペで済むので、時間の無駄って感覚がわかんないんですけど。
GUIとか外見のテンプレートがあってあとはロジック書くだけってならJavaじゃなくても今の時代ならWebでいいかと。
Javaの良いところはコテコテの言語サポートや特定用途でしかつかない意味不明な機能があったりせず、
シンプルにエディタのみで、OO思考的に必要なクラスファイルを書いていくだけでいいってところだと思うんですけど。

でも数千以上のクラスファイルを管理できるぐらいに頭良くないとちょっと無理か。



611 名前:デフォルトの名無しさん [2008/12/02(火) 23:45:29 ]
>>603
>先輩がRailsを理解できない
>規約言う前に原理を説明しろとか言って怒鳴る

先輩と君との間には、だいぶ深い差があると感じる。

612 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:02:31 ]
>>610
Java は色々な名前がやたら長いから通常のエディタじゃかったるくないか?
Exception 名とか

613 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:20:21 ]
自分もXEmacsからEclipseに乗り換えたクチですが、便利だなと思える機能は
「それって文法的に自明だから、自動化できるよね」という物が殆どです。

例えばインターフェイス実装時のスケルトンの自動生成なんてのは典型ですし、
リファクタリング時の参照関係の追跡と参照元の書き換えなんかもそう。
手作業でも出来るけど、時間の無駄だしエラーの元なので今では「そこは自明
なので勝手にやっちゃって下さい」という感じです。

あとはエラーやプロジェクトの状況が視覚的に分かりやすいのも良いかな。
あまり関係ないですが、インターンの学生に課題としてクラスのスケルトンと
JUnitのテスト一式を与えたら随分楽しそうに取り組んでいます。
メソッド実装してEclipse上でテストを実行する度にグリーンが増えていくのが
楽しいらしいです。

614 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:25:50 ]
C#は言語仕様をIDEで楽にプログラムできるようにしてあるとか聞くね

C++はIDE使ってもjava+eclipseほど楽になんなかった

615 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:29:12 ]
>>614
>C++はIDE使ってもjava+eclipseほど楽になんなかった
それはMFCの設計の悪さから来ているだけ。

616 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:48:09 ]
つーかjavaでeclipse以外の選択肢って無いだろ
eclipse使わない奴は自分のつまらない信念とポリシー(笑い)を主張してるだけ

617 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:50:40 ]
javaビーンズとやらもマシになったと聞くが

あれはポトペタ?が楽になっただけか?モ?

618 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:54:28 ]
>C#は言語仕様をIDEで楽にプログラムできるようにしてあるとか聞くね

この辺りを言語仕様に組み込むのは、MSっぽいし商売を感じる。
VBだけにしてくれってところだけど、そのうちVBもC#もどの言語でも垣根がなくなるんじゃないか?

dot netの機能で、C#では出来るけどJScriptでは出来ないとか言うわけにはいかないだろうし、
そもそも演算子オーバーロードーと同じく言語サポートとしてoperator - ()とするかライブラリでBigInteger.subtractにするかの差でしかないからなぁ。



619 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 01:13:09 ]
ポイ捨てアプリならIDEでハックでいいんじゃないかと思うけど、自作ライブラリはエディタでつくるけどね。
実際継承ばかりだから重複するコードはないし、ちょっと手を加えてsuper.method(arg)とかで、
ほとんどOO的にしか作ってないしな。

テンプレート目的で使うIDEだと、確かにイミュータブルとかstatic void method(), clone()とかの概念を全く理解できないだろうからバカになるってはあるか。
javacとjavadocは非常に優秀だからこれだけで十分だけど・・・

Exceptionとか長いのは、「れ・い・が・い」ではなくて、「えくせぷしょん」と脳内で英語で発音しながらタイプするといいですよw
英会話とか英語に慣れてないと無理でしょうけど。
なれてくると、「あん・さぽーてど・おーぺれいしょん・えくせぷしょん」とリズミカルにタイプするようになるでしょうw

620 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 01:23:53 ]
EclipseとNetBeans両方使ってるけどNetBeansの方が楽だな
軽いし



621 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 01:45:25 ]
プロフ取るのはNBの方が簡単なんで好き

622 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 02:44:48 ]
初心者のおじさんが通ります。

eclipseは良いですな。
初心者には。

実体を意識しなくてもコーディングできると言う意味では
○インスタンスの考え方(メモリとの関係とかポインタとか)が5年たっても身に付かなさそう
○ロジックに集中できる分素人が書いてもある程度動く(といいなぁ)
○して、初心者がプログラムに手をだす、と

いわゆる世紀末ってやつです。世紀末はY2Kをなおざりにしたまま通り過ぎましたがwww

623 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 03:14:07 ]
>実体を意識しなくてもコーディングできると言う意味では

IDEといっても機能は多彩なので、機能ごとに話は変わってくるかと。

コンテンツアシストやリファクタリング支援などについては泥臭い作業は
大いに省いてくれるものの、それほど「実体」から離れることになるとは
思いません。
スタブの自動生成やポトペタについては・・・確かに初心者が無理解の
まま使っていると危ないなと思う光景は、多々あります。

初心者向けで良いと思うのはコードの整形機能です(IDEに限りませんが)。
「一つメソッド書いたらCTRL+SHIFT+F」と指導しておくとオートインデントの
結果からループ構造の間違いなどに気がつくことも多いようです。
結果としてインデントの重要性を理解して、自ら意識してタブを打つように
なるのも早いような気がします。

何れにしても、初心者であれそうでない人であれ、IDEのメリットは

>ロジックに集中できる

ここに尽きる気がします。

624 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 03:31:04 ]
IDE が「何を自動化してくれているか」を
理解しないまま IDE を使うべきではない
とおもう

あと Eclipse vs NetBeans の議論は
ここでしないでくれ


625 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 03:35:24 ]
>>622
蛇足ながら、コンテンツアシスト機能も初心者には良いと思います。

というのも、プログラム勉強したばかりの人がプログラムを書くと
変数名が宣言順にa,b,c,d...だったりする事が良くあります。
その度に「ちゃんと変数の意味を考えて長い名前をつけろ〜」など
指導しますが、「だって長い変数名をタイプするの面倒だし・・・」と
無言の抵抗が返ってくることが、ままあります。

そのような場合でもコンテンツアシストによる変数名補完を覚える
と、長い変数名に対する抵抗感も随分とマシになるようです。

626 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 03:41:03 ]
まあねぇ。

非static を参照できないってIDEに言われて理由を聞くと、
「IDEがだめって言ったから」、じゃねぇ・・・・


627 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 04:19:02 ]
機能てんこもりも困るし、お節介も面倒だし、IDEも玄人と初心者用に分派するんじゃないの?
ただ、エクリプスは実際はプラグインの拡張を使っているだけでエクリプス固有(swtなど)の機能を使っているわけではないし、
もしnetbeansでも使えたら両者の機能的な差はないってことで、一太郎とワードの使用感(UI)でしかない。
netbeansはopenofficeと同じくもう一回ぐらいメジャー・バージョンアップすると最強になるんじゃないかと思う。

628 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 10:30:46 ]
何年経っても中身がわからないまま使ってるなんて余程向上心がないんじゃないの
しかしそんな奴実際見たことねーぞ

629 名前:577 mailto:sage [2008/12/03(水) 10:36:11 ]
ところで六角形の質問をした者ですが、そのreadresolveとやらを使って実際に
ソースを書いてもらえませんか?

630 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 10:56:40 ]
>>629
readResolveが出てきたのは >>579 がレス先間違っただけのような

>>577 の話なら double[] 使わずに int[] 使って
n*sqrt3 の部分を全部 (int)(n * sqrt3) にすれば?



631 名前:577 mailto:sage [2008/12/03(水) 11:00:29 ]
intにキャストすると小数点以下が失われて1になってしまうものかと思ってましたが、違うのですか

632 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 11:19:22 ]
>>631
System.out.println(5 * (int)sqrt3); // -> 5
System.out.println((int)(5 * sqrt3)); // -> 8

633 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 11:21:18 ]
了解です
ありがとう

634 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 12:30:04 ]
細かいところ気にするなら Math.round を使えば良い。

635 名前:デフォルトの名無しさん [2008/12/03(水) 13:09:01 ]
>>629
この程度の分からないなら六角形を描くとか以前の問題だな。カス

636 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 13:16:10 ]
いや、だから初心者スレに来てるんだろw

ここはプロフェッショナルスレじゃないよw

637 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 13:19:47 ]
自分で調べられないようなカスの相手をするな。スレが荒れる

638 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 13:26:52 ]
>>629
>>630
すまん、レス先間違えた。
579は576へのレスのつもりだった。

639 名前:577 mailto:sage [2008/12/03(水) 13:48:09 ]
他にもっときれいな書き方とかあったら教えて下さい

640 名前:デフォルトの名無しさん [2008/12/03(水) 14:01:22 ]
チンコなきれいだって?!



641 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 14:20:56 ]
チンカスだなお前は。ウザい消えろ

642 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 14:24:10 ]
カス野郎がチンカスとかほざいてるよw

643 名前:577 mailto:sage [2008/12/03(水) 16:42:40 ]
なんかよくわからないのでとりあえず他の掲示板で聞いて来ます

644 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 16:48:29 ]
Implって何?
どんなクラス?

645 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 16:51:13 ]
盗聴するクラス教えて

646 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 16:57:24 ]
>>644
implementationの略
インターフェイスの既定の実装を提供するクラスに対して
名前を考えるのが面倒な時に○○Implというような名前を付ける

647 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 17:09:27 ]
おれおクラスは学級崩壊すんでんだったぞ。

648 名前:デフォルトの名無しさん [2008/12/03(水) 17:46:16 ]
このスレ糞だな。初心者のためのスレじゃないのか?
統合環境がどうだの経験者が屁みたいな話したかったら別でやってこい。
ろくなのいねぇなここは。チンカス師ね

649 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 18:25:52 ]
初心者のためのスレではないが、初心者歓迎なスレです。

スレ民はなぜかささくれています

650 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 18:52:42 ]
>>648
チンカスはおまえ。ageんな
鼻糞ww



651 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 19:07:59 ]
喧嘩すんな馬鹿ども

652 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 19:20:28 ]
鼻糞が泣いちゃうだろ。まだジャヴァ初心者なんだからさw






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

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

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