コンストラクタが定義されていなければデフォルトコンストラクタとして引数なしコンストラクタが自動生成される →引数なしコンストラクタは、デフォルトコンストラクタである こんな感じでデフォルトコンストラクタに関する誤解が生まれるんだろうかね。
まだトラウマ引きずってんの?
トラウマ?おれは前スレのやつではないんだが
誤解してても実害はないケースが多そう
とってもくだらない話ですが… int配列にintが含まれるかを検査するcontainsのような事をするならどうするのがいいんですかね? asListしようにもIntegerじゃなくてintなんでうまくいかないし、やはりループで回して検査するしかないのでしょうか? …正直ダサいから上手くできないかなとおもってるだけなんですがね。
>>8 巨大な配列の中から素早く探すってんならアルゴリズムとしていろいろあるだろうが、そうでも無いなら、やっぱりクダラナイと思う。
>>8 int には最初から 0 が入っててますけど
特定の数値を探したいなら Arrays.binarySearch
というのがある。ただし、配列はソート済みの必要がある
エスパー回答させる質問者はプログラミング向いてないんではないかと思ったり
自分が何が分からないのか分かってないから質問してる訳でw
14 :
デフォルトの名無しさん :2011/03/27(日) 17:42:15.22
プログラミングに向いてないというかただのアホだろ どの世界にも質問すら満足にできないアホはいる
自己紹介乙
>>13 背伸びしすぎなんじゃないの?
「正直ダサい」とかかっこつけてる場合じゃなくて
基礎からやり直したほうが良いよ、絶対。
JNIで利用しているライブラリが標準出力に出力した文字列を Java側で取得するにはどうしたらよいでしょうか? System.setOut(new PrintStream(new ByteArrayOutputStream())) では取得することができませんでしたが、 シェル上でリダイレクトするとたしかに標準出力に出力されているようです。
まじかー
err
20 :
17 :2011/03/27(日) 21:13:09.29
> out 2> err とすると out に書きこまれますので標準エラー出力ではないようです
EJBを学べる良講座サイトがあったら教えてくれ
22 :
デフォルトの名無しさん :2011/03/28(月) 15:01:42.83
親のコンストラクタを呼ばない方法を教えてください。 子のコンストラクタで何も書かないと親の引数なしのコンストラクタを呼ぼうとするのですが、 迷惑なので呼ばないで欲しいです。どうすれば禁止できますか?
そのような迷惑な親を継承しなければよいです
それは無理です。あるいはコンストラクタの中で ユーザーが直接呼んだか、派生クラスからsuper()で呼ばれたか判別する方法はありませんか? 引数にフラグを渡す以外で。
if (this.getClass() != MyClass.class) { しかし設計の見直しをお勧めしたい
>>24 コストかかってもいいとか実装によっては動かなくてもいいなら
Thread#getStackTrace()で得られる情報から判別できるはず。
27 :
24 :2011/03/28(月) 16:51:49.15
>>25 今色々試してみましたが、その方法でいける気がします。ありがとうございます。
設計はこれがベストである自信があるので変更しません。
Javaは初めてですがC++で十分な経験があるので100人で100回考え直しても同じ結論になると思います。
どんな素晴らしい設計なのか気になる
おかしいなC++でも親のコンストラクタは必ず呼ばれると思っていたが俺の記憶が間違っているのか
C++だって何も指定しなきゃデフォルトコンストラクタが呼ばれるのは一緒じゃねえの? RTTIがJavaほど充実してないC++で十分な経験のあるお前としてはC++でそういう場合どうやってたん?
派遣土方乙
JUnit4で全てのテストに先立って1回だけ実行して欲しい処理ってどう書くの?
JavaってC+みたいに演算子の上書きって出来るの?
できない
scala使えば?
>>30 2chで質問に決まってんだろ
> 103 名前:デフォルトの名無しさん[sage] 投稿日:2011/03/18(金) 14:18:36.12
> 仮想関数リストや、特定のメソッドのインスタンスへのポインタを参照して、
> メソッドがオーバーライドされているかを比較するにはどうすればいいですか?
> 例えば以下のようなコードで
>
http://ideone.com/qpNgh
排他制御がちゃんとなされていれば, オブジェクト自体はスレッドセーフな実装でなくてもいいんだよね? Vectorをsynchronizedで排他制御するのと, ArrayListをsynchronizedで排他制御するのでは,後者に問題は無いですよね.
VectorやらCollections#synchronizedList(List)の戻り値で用が足りない場合は 自分でsynchronizedするなりして排他制御するしかないわけで。 用が足りてるのにわざわざ自前でsynchronizedするのはケアレスミス発生しやすくなるだけ。
逆に言えば,synchronized(Object)内の処理で全ての用が足りるのならば Objectはスレッドセーフで無くてもいいですよね? というのも生産者消費者的なスレッドプログラミングなので, synchronizedは使わざるを得ないので, 使うなら軽いArrayListのようなListでも,気をつけて実装すれば十分ですよね
気をつけて実装するくらいでミスが防げるのなら苦労しないわけで、それで十分かと言われると困るが まぁ言いたいことはわかる 正しく組めば問題はない しかしLinkedBlockingQueueとかすでにあるものは使えないようなものなのか
.classファイルって32bitも64bitも同じですよね
32bitの.classファイルとか64bitの.classファイルってあるのか?
ありがとうございます,実装を置き換えてみます オブジェクトのスレッドセーフと,プログラミング上での排他制御の相互の 必要性について,自分が曖昧な認識だったもので,どうも失礼いたしました(*^^*)
>>42 失礼。同じ.classファイルを32bit版のJVMと64bit版のJVMの両方で動かせますよね
動かせますよ
struts 1.3なんですが、ページ繰りをしたく <logic:iterate> のscopeとlengthを動的に指定したいのですが方法がわかりません。 どなたか優しい人教えてください。
offsetでした。
CopyOnWriteArrayListの使い道が分からない。 RESTfulな環境でメモリ上にリソース置いて返すときとか?
Cassandraって日本でも流行る見込みある?
俺達で流行らせようぜ! だが、まずCouchDBからだ。
てかNoSQLが必要な技術者って限られてね? JavaEEと同じでRDBMSはファットであっても一般的に必要な物は全てあるでしょ。
一度スキーマレスなんかを味わってみると結構楽しいんだけどな。 確かに案件としての需要は極端に少ないし、RDBの代替にはならない→リプレースでも提案できないって状況だけど。 俺もまだ趣味でしかやってないけど、日次株価データの蓄積と分析なんかどうかと思って試しに模索中。
public protected private これらってC++と同じだよね使い方や意味としては
>>53 Javaにはpackageという概念があって、protectedは同一package内ではpublicと同じ。
おkどうも
Javaは可視制御 (見えるか見えないか) で C++はアクセス制御 (アクセス可か不可か、常に見える) という違いもある 例えばJavaの場合 public class Foo { private static void foo(int x){} public static void foo(double x){} } public class Bar { public static void main(String[] s) { Foo.foo(1); } // foo(int)は見えないのでfoo(double)を呼ぶ } C++の場合 class Hoge { private: static void foo(int x){} public: static void foo(double x){} }; int main() { Hoge::foo(1); } // foo(int)が見えるのでfoo(int)を呼ぶ → privateなのでエラー
c++脳にはjavaは無理。
javaすら理解できないならもうおしまい
Javaで添付ファル付きメールを送信したいんですが、メールを組み立てる プログラムとメールを送信するプログラムを別々にしたいんです。 最初はMimeMessageを単純にシリアル化してXMLファイルに出力しておいて、 送信プログラムがそのXMLを順次読み込んで送信すればいいかと思っていた んですが、MimeMessageはシリアル化出来ないクラスのようで、上手くいき ませんでした。 メール送信に関する一通りの情報をまとめてファイル化する良い方法はない でしょうか
RARアーカイブをzipみたいにいじれるjarってどっかないですか? 検索したらjunrarってのでてきたけどリンク切れててみつからないし・・・
JPAのEntityManagerに関する質問です。 insertはpersist()、deleteはremove()、selectはfind()かcreateQuery() だと思いますが、updateにあたるものはreflesh(Entity e)で正しいですか? marge()かもしれないと思ったのですが、こちらはたぶんdetach()とセットで Entityのマネージ・アンマネージ(アタッチ・デタッチ)ぽい気がするので。。。
>>55 余計なお世話かも知れんが俺も蛇足を。
Javaのアクセス権はpublic, protected, private, デフォルトの4つ。
C++のデフォルトは(クラス定義なら)privateを表すが、Javaは別個。
デフォルトアクセスの仕様はprotectedに近いが、以下の違いがある。
protectedは派生クラスからもアクセス出来るのに対して、デフォルトは派生クラスからは見えない。
故にデフォルトアクセスはpackage privateなどとも呼ばれている。
ん?privateとデフォルトの違いは何だ?
パッケージ内の他のトップレベルクラスから可視か不可視か。
private: 自分 デフォルト: package内 protected: package + 派生 public: 裸の付き合いしようぜ
packageはfriendみたいなもんだな
C++のfriendはただの友達にしては親密すぎると思うんだ
friendとpublicの違いについて どっかに表みたいのない?
protectedって同パッケージ内も使えたっけ?
ここで質問するのもあれだが、C++知らん俺にfriendとやらを解説してくれ
俺にfriendがいないので解説のしようがない
>>73 Java ではオブジェクト a の表示をするのにSystem.out.print(a)をすると、a.toString()が呼び出されるが、これはオブジェクトaのクラスAの所有物なので、privateメンバーとかでも表示だけさせるとか余裕でできる。
一方C++でオブジェクトaの表示をする場合、 std::cout << a をすると std::ostream& operator<<(std::ostream&, A&) が呼び出される。これはクラスAの所有物じゃないので、A内のプライベートメンバーとかそのままでは表示不能。
なので、Aのクラス宣言で、この operator<< を friend 宣言をして、プライベートメンバーを好きにできるようにしておかないといけない。
オブジェクトの内容を表示したいと思うC++初心者には必須のテクニック。
ListとArrayListって何が違うんですか?
Listはインタフェイスだからnewできないぞ ArrayListはクラスだからnewできるぞ
じゃあList hoge = new ArrayList();ってただのカッコつけですね
括弧が付いてるだけにな
ArrayList特有の便利メソッドも使えないから、マジで何やってるかわからんよな>List hoge = new ArrayList();
ensureCapacity(int)とtrimToSize()って便利メソッドって感じじゃないような。 最適化する時には必要になるかもしれんけど。
clone()があるじゃないか。 ってもArrayList(Collection<? extends E>)みたいなコピー用のコンストラクタ使えば それほど不便と言うわけでは……
「マジで何やってるかわからん」のか。すごいな
局所変数の場合はどっちでもいいような気もするけどな。
85 :
デフォルトの名無しさん :2011/04/02(土) 01:38:16.25
あるテストクラスからDaoクラスを直接呼んで そのDaoクラスで行われている実装の正常な動作確認をしたい場合 例えば、ちゃんと引数で設定された文字がパラメータとしてすべて順番に設定されているか、 取得したSQLの結果をrsで想定通りに設定されているか、 Entityにちゃんと設定されているか などをDaoクラスを一切手をつけずに呼び出し元のテストクラスの中だけで System.out.println等を埋め込んだりして確認する事は可能でしょうか? もしできない場合はテストとしてどうするのが最善の策なのでしょうか? 画面のハードコピーしか思いつきませんが DAOやEntityのテストをしたい場合DAOに手をつけるのはマズイ気がするので
>>85 JUnitで一般的に・・例えばSELECT文の単体テストを行う場合の正しいお作法は
1.テスト用のデータベースを用意
2.テスト対象のテーブルをDELETEで全クリア
3.テスト用データをINSERT
4.DAO(SELECT文)実行
5.結果をassert
6.テスト用データベースをロールバック
のようにしてブラックボックス的に行う。
言うまでもないがINSERT、UPDATEの場合は最後にSELECTを発行して値を一つずつassertする。
SQL発行やロールバックをDAOとは別に何度も発行するのでJUnitのラッパーとかでテストフレームワークを
多少作り込んで置くのがよい(DBUtilsとか生SQL発行できるユーティリティを使えば難しくない)。
まあめんどくさいので誰もやらなくなるけどなw
Javaにプロトタイプ宣言みたいな機能が入っていないのはなんでなんでしょう? 技術的な意味ではなくて設計思想的な意味で。 CやC++ではこの機能があるおかげで一目でクラスの全体像の把握ができますが、 Javaではクラス定義と関数定義が一緒に行われ、全体像の把握が難しく感じております。 クラスが巨大化するともう読むのが辛くて(Javaプログラマではないので読むだけです)。 インタフェースや抽象クラスで代替しているのかなとも考えましたが、今まで自分の 出会ったJavaコード(C#もですが)はそんなことはしてません。 そもそもJavaで美しいコード(読みやすいコード)というのはどういったものなんでしょう?
JAVAよりもむしろC言語について勉強をやり直した方がいい
>>87 そもそも関数プロトタイプ宣言って大昔のコンパイラの都合で必要になってるだけで
プログラミング言語作る際に必要ないならわざわざ付けたりしないものだぞ。
>>89 もともとはそうでしょうけど。
でも、今だってプロトタイプ宣言をしておくと理解を助けるのは確かです。
自分がC++でテンプレートのコードを書くときも、書きやすいインラインで書かず、
わざわざ宣言と実装を分けています。
ヘッダだけで理解できるようにコメントも添えて。
だからこそ、後発のJavaがなんで実装しないのか、不思議だったんですよ。
まあ、でも、結局技術的に必要ないからつけてないだけなんですかねぇ。
単なる慣れの問題でしょ。 javadocの出力だのIDEのメンバ一覧だの見れば良いだけ。
それでjavadoc作ったんだな
Javadocを初めて見たときは、確かにこれは賢い!って思いました。 確か最初から入ってますよね? 代替の手段はこれだったか!
IDEにはJUnitやTestNGが一緒に付いてくるし、 Javaは言語というか環境そのものなんだよな。
OpenCSVを使って日本語を含むCSVをUTF-8で吐き出すプログラムを作りました。 開発環境上だと問題なく動くのですが、jar化してjava web startで実行すると一部の文字が文字化けします(その文字以外はUTF-8で読み込めます)。 どんな原因が考えられるでしょうか?
事故解決しますた FileWriterだと化けてしまって、OutputStreamWriterだと化けませんでした。 ・・FileWriterでも開発環境上だと化けないんですけどね・・Java Web Start ェ・・・
Javaで作られたオープンソースのSNSってありませんか?
JMeterの質問ってここでおk?
いいんじゃん?
じゃあちょっと質問です。 JMeterで負荷試験をするのに、定数スループットタイマを使おうとすると テスト開始と同時にIllegal argument exceptionで落ちてしまうんですが、 原因とか分かる人いますか? Javaのverは7で、パラメータは正しく設定しています。
一番良いEJBの講座サイトを頼む
入門で
そんな質問の仕方で大丈夫か
どこにいっても相手にされないカスだろ ほっとけw
EJBってあんま使われてなくね? 海外はしらんけど
え?
107 :
デフォルトの名無しさん :2011/04/05(火) 21:04:33.92
初macでjavaやりたいんですけど、 JDKって最初から入ってるんでしょうか?
入ってたと思いますが ターミナルで javac -version と打ってみてはどうでしょう
javaで文字列を返すにはどうすればいいですか? 例えば void hoge(String s) { s = "hoge"; } のようなことがしたいです。
>>109 1.素直に戻り値を使う
String hoge(){ return "hoge"; }
2.状態を変更できるオブジェクトを引数として渡して、メソッド内で状態を変更する。
void hoge(StringBuilder s){ s.delete(0, s.length()).append("hoge"); }
2.にしますありがとう
112 :
デフォルトの名無しさん :2011/04/06(水) 08:36:57.10
>>108 jreだけ入った状態とjdkまで入ってる状態は
どこを見れば分かるでしょうか?
JRE に javac は無いから実行できない
PATHが通ってるかの確認と、Eclipseをどれ落としたらいいかと、 日本語が文字化けしますって聞いてきそうな気がする。
115 :
デフォルトの名無しさん :2011/04/06(水) 16:49:47.97
なるほど。 ターミナルって要はコマンドプロンプトと同じなんですね。 ありがとうございました。
文字化けしたらエクリプスの文字エンコード設定をかえればいいよー javaでIPヘッダの設定をして通信ってできるのでしょうか?
>>110-111 2.はJavaの世界じゃ変態コード・・とまでは言わないが滅多に見ないよなー。
たまに見かけて書いた奴に聞いてみると案の定C歴10年Java歴半年とかだったりする。
RMIについて詳しく乗ってるサイトありませんか? rmiregistryを使わないタイプの
119 :
デフォルトの名無しさん :2011/04/06(水) 21:10:03.43
文字列が不変っていうJavaの仕様は内部的にはどういう意味なんでしょうか。 Rubyしか知らない自分のイメージとしては、作成されるや否やfreezeされるStringオブジェクトなんだけど、イメージ合ってます?
RubyのfreezeしたStringは内部状態を変更しようとしたら例外が出る JavaのStringは内部状態を変更するメソッド自体がなくて継承することもできない
121 :
デフォルトの名無しさん :2011/04/07(木) 00:16:12.03
>>114 ターミナルでjavacと打つと文字化けしたようなのが
ズラーっと出てくるのですが何かおかしいのでしょうか?
iapplitoolでiアプリを作成しています。 Fontを使おうとしているんだけど test.setFont(new Font("Arial", Font.PLAIN, 24)); FontのプレーンスタイルのFont.PLAINの部分でエラーが出ます。 どういったことが考えられるでしょうか?
>>110 2.の実装で,
void hoge(String [] strRet){ strRet[0] = "hoge"; }
みたいに配列に参照突っ込んで呼び出し元に渡してるの見たときはoh...って感じだった
NavigationFilterとか
>>122 FontのプレーンスタイルのFont.PLAINの部分でエラーが出ていることが考えられます。
何のエラーかわからんけどコンパイルエラーなんだろうな。importとかつけろ
>>122 iアプリのFontとAWTのFontを混同しているといったことが考えられます
127 :
デフォルトの名無しさん :2011/04/07(木) 20:40:58.28
RubyのRangeみたいなクラスない? 数値や閉区間、開区間がある区間に含まれるかどうかとか扱うやつ 作ろうとも思ったけど、数値の型とか以下・未満とか上限無しとかの扱いがめんどくさいな
Windows用の最新のJava Advanced Imaging(JAI)を ダウンロードはどこでできるでしょうか?
Webフレームワークでいま一番主流なのなんでしょうか? 2,3個上げてくれると助かります。
先生方、すまない。教えてくれ。 iapplitoolstarの画面遷移についてなのだが private Panel p1, p2; Button button1 = new Button("ページ1"); Button button2 = new Button("ページ2"); Button button3 = new Button("メインに戻る"); と準備して public void componentAction(Component source, int type, int param) { if (source == button1) { if (type == BUTTON_PRESSED) { Display.setCurrent(p1); } }else if(source == button2){ if(type == BUTTON_PRESSED) { Display.setCurrent(p2); } }else if(source == button3){ if(type == BUTTON_PRESSED) { Display.setCurrent(new MainPanel()); } 大雑把だけどこんな感じです。 メインからボタンを押したらパネル1、パネル2に移動できるけど パネル1に設置したボタンからメインに戻れない。 どうしたらよいのでしょうか?
パネル1とパネル2にもsetComponentListenerしてる?
132 :
130 :2011/04/08(金) 16:36:09.78
>>131 おぉ・・・神よぉ・・・
本当にありがとうございます。これからも精進します。
133 :
デフォルトの名無しさん :2011/04/08(金) 17:58:35.89
MySQLで特定のスキーマにjavaでいうfinalみたいに、あとから上書き不可とつける機能はありますか? java側で分岐は考えたけどそういう機能があったらつかいたいんだ…
検索メソッドって簡潔にどういう意味でしょうか?
find
入力した数字を和暦もしくは西暦に変更するプログラムで 入力した数字が8文字以外ならエラーを返し再入力を求め 8文字なら和暦もしくは西暦に変更する かりに20110408と入力した場合は 平成23年04月08日と表示 昭和61年03月15日と入力した場合は 1986年03月15日と表示させたい場合 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); と String input = in.readLine();を使い入力させたのはいいのですが、 入力した数字をyy/mm/ddと認識させる方法がわかりません 20110408と入力した場合2011をyyに04をmmに08をddにそれぞれ代入しなおしたいです ほかの方法でもいいですので ヒントください
DateFormat
JFormattedTextFieldとかでDateFormatterを使って日付入れたいんですが, 年だけ,平成や昭和などの和暦を使いたいです そのために別途コンボボックスなど用意してますが,既存のDateFormatterをうまく使って 年だけ数値を変えるための上手いやり方はありませんか?
139 :
138 :2011/04/08(金) 23:31:04.89
すいません
>>136 の方とは別人です
>>136 入力した文字列をSimpleDateFormatを使って"yyyymmdd"というパターンでparseすればいいと思います
parseにより取得できたDateのインスタンスををCalendarのインスタンスに読み込ませれば,年月日がとれるので
年だけ和暦に合わせて引き算すればいいです
140 :
138 :2011/04/08(金) 23:34:17.71
>>136 "yyyyMMdd"でしたー あと逆の操作も応用で
for(int i=1;;i++){
URL url = new URL("
http://hogehoge.net/userrss?page= "+i)
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.connect();
if(conn.getResponseCode()==200){ ←☆
/**
**/
}else{
break;
}
conn.disconnect();
Thread.sleep(1000*60);
}
のようにRSSをページごとにどんどん読み込んでいったら何回目かの☆の部分で、
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
・・・
と出てしまいます。
接続間隔は十分にとったはずですが、どこがまずかったのでしょうか。
C#の構造体は値型、クラスは参照型だけどJavaのクラスはどっち? ついでにc++はどうなってんの?
w
146 :
141 :2011/04/09(土) 14:43:15.19
>>142 ローカルのサーバに置くってことですか?それどうすればいいんでしょうか。
ローカルに.xml保存してFileの読込に変更すると、connectとか関係なくなるからテスト意味ないですよね。
>>141 ストリームをクローズしてないんじゃない?
で、サーバー側がコネクションの上限に達してるとか。
148 :
141 :2011/04/09(土) 15:53:11.88
if文の中はこのようになってます。
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.connect();
if(conn.getResponseCode()==200){
// パースを実行してDocumentオブジェクトを取得
Document doc = dbfactory.newDocumentBuilder().parse(conn.getInputStream());
// ルート要素を取得
Element root = doc.getDocumentElement();
// item要素のリストを取得
NodeList itemList = root.getElementsByTagName("item");
・・・
ストリームのクローズというと、conn.getInputStream()に対してということですか?
conn.connect()に対してということだったら、
>>141 の通り、if文抜けたあとにdisconnect()しています。
>>148 > ストリームのクローズというと、conn.getInputStream()に対してということですか?
はい
Document doc = dbfactory.newDocumentBuilder().parse(conn.getInputStream()); の部分を InputStream is = conn.getInputStream(); Document doc = dbfactory.newDocumentBuilder().parse(is); に分離して、 終わりに is.close() を追加して実行してみます。
151 :
141 :2011/04/09(土) 16:37:12.70
>>150 も私です。
本来200位あるページで、今まで5,6ページでエラーが出てるところ、
20ページ超えてもエラー出てないので解決したようです。
助言してくれた方々ありがとうございました。
152 :
136 :2011/04/09(土) 17:09:49.71
public static void main(String args[]) throws IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); /* 西暦で表示 */ DateFormat seireki = DateFormat.getDateInstance(DateFormat.FULL); //System.out.println(gregorianFormat.format(date)); /* 和暦で表示 */ Locale locale = new Locale("ja", "JP", "JP"); DateFormat wareki = DateFormat.getDateInstance(DateFormat.FULL, locale); //System.out.println(japaneseFormat.format(date)); int[][] gengou = new int[][]{{1912,6,29},{1926,11,24},{1989,0,7}}; while (true) { String input = in.readLine(); if(input.equals("Q")) { //Qが入力されたら終了。 break; } if(input.length()!=8){ //入力された文字が8文字以外なら再入力 continue; } if(input.length()==8){ //入力された文字が8文字なら2011年04月09日と表示 Date date1=null; SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd"); String str1 = new String(input); try { date1 = sdf1.parse(str1); //parseメソッドでDate型に変換 System.out.println(seireki); } catch (ParseException e) { System.out.println("変換できないフォーマットです。"); } 添削おねがいします・・・
SwingとAppletの知識しか持ってない初心者なのですが
Swingでアプレットのアニメーションのようなことをやりたいのですが、
・Swingでの描画はJPanelを継承すればいい
・スレッドは普通に使える
ということしか分かりません。
アプレットでいうupdate()やinit()、start()等はどうすれば実現できるのでしょうか
具体的には
http://www.javadrive.jp/applet/sample/index5.html の迷路のSwing版を作れれば、と考えています
154 :
デフォルトの名無しさん :2011/04/09(土) 18:20:15.45
>>153 画面更新があるたびに
repaint()
を呼び出せばよい
裏で動いてるAWTの機構に、画面更新あるからやってくれとお願いするメソッドと考えればおけ
画面更新が必要な部分だけ、ちゃんと範囲を指定して描画すれば、無駄な処理がなくなってよい
repaint(x, y, width, height)
155 :
デフォルトの名無しさん :2011/04/09(土) 18:23:39.27
>>153 のリンク先にある程度のものなら、
JLabel をいっぱい敷き詰めて、色つけたいマス目に setBackground
でやってしまってもいいと思うけどねw
黙ってろハゲ
157 :
153 :2011/04/09(土) 19:22:47.04
>>154 >>155 ありがとうございます
ただ線を動かすだけのアニメーションですが、だいたいこんな感じで問題ないということでしょうか?
変なことをしていたらご指摘いただけると助かります
public class Sample extends JFrame{
static int x=0;
static int y=150;
static TestPanel p;
public static void main(String args[]){
Sample frame = new Sample();
frame.setVisible(true);
while(true){
if(x==200){
x=0;
}
y--;
if(y==0){
y=150;
}
p.repaint();
try{
Thread.sleep(100);
}catch(InterruptedException e){
}
}
}
>>158 に続く
158 :
153 :2011/04/09(土) 19:23:54.89
>>157 の続きです
public Sample() {
setTitle("Test");
setBounds(10, 10, 300, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p = new TestPanel();
getContentPane().add(p, BorderLayout.CENTER);
}
class TestPanel extends JPanel{
public TestPanel() {
setPreferredSize(new Dimension(200, 150));
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawLine(x, y, 200-x, 150-y);
}
}
}
おまえにはジャバはまだ無理
eclipseなんですがjqueryのjsを取り込むとプロジェクトが 赤バッテンになってしまいます。どうしたらいいでしょうか?
ゴミが増えてきたな
162 :
デフォルトの名無しさん :2011/04/09(土) 23:01:35.07
iteratorで要素を順次処理する中でiteratorの元のコレクションに要素の追加が発生する場合、 ちゃんと同期させるにはどう書けば良いんでしょうか? synchronized(list){ Iterator<Object> objI = list.iterator(); while(objI.hasNext()){ objI.next().proc(); } } みたいにやるとConcurrentModificationExceptionが発生します。 proc()の中でlistへの追加が発生するという状況です。 新たに追加された要素はこのiteratorでは無視したいんです。
163 :
デフォルトの名無しさん :2011/04/09(土) 23:04:50.09
標準入力を使用するプログラムでJUnitを使いたいと思います キーボードからの入力を自動化する方法を教えてください よろしくお願いします
>>164 サーバーアプリということもあり
大きなリストなので性能的に厳しいんです
166 :
163 :2011/04/09(土) 23:44:28.61
事故解決しました。 例えばテキストファイルからの入力としたいときはテストメソッドの中で System.setIn(new FileInputStream("C:\\0.p0093.txt")); このようにすればいいんですね
>>162 ArrayList なら Iterator やめてインデックスで回す
LinkedList なら ListIterator#add を使う
168 :
デフォルトの名無しさん :2011/04/10(日) 09:32:45.14
FrameWork3.0とDirectX9.0で動くソフトを、 Javaだけで開発するには、 どうしたら良いのでしょうか。 EclipseやAndroidがあれば、できますでしょうか。
EclipseやAndroidがあればできますよ
アナル
172 :
デフォルトの名無しさん :2011/04/10(日) 12:38:14.09
>>170 具体的な方法を、お教えください。
Javaだけでの開発がしたいのです。
環境構築は、利用フリーのものだけで、できますでしょうか。
スレッドセーフなクラスを作るときに どんなクラス参考にしてる?
174 :
デフォルトの名無しさん :2011/04/10(日) 13:19:22.56
>>173 この本良さそうだ 読んだことないけどw
http://www.hyuki.com/dp/dp2.html スレッドセーフと一言でいっても、パフォーマンスを確保しつつ、
目的の処理をこなすのは、処理の内容によってま必要なコードの内容も
まったく変わるだろうから、よく考えてやるしかないな
実測によるパフォーマンス評価も不可欠
ここらへんはデータベースのアイソレートレベルの設定、設計とよく似てる
リファレンス見ながらで理解できてるノン?
>>173 とりあえず『Java並行処理プログラミング』を読んでおく
一番楽なのは(Stringクラスのように)immutableにしちゃうことだが
常に可能な方法ってわけではない
Eclipse導入するにあたって、JDKをインストールしたんだけど環境変数とか設定して Eclipseは使えるようになったけど。 他のアプリが使えないんですよ、ランタイムが参照できないというメッセージが出てきます。 環境変数はキチンと調べて、JAVA_HOMEとPathを指定したんですけどね。 JDKだけだと、他のアプリケーションは使えないんでしょうか、コマンドからだとVerも正しく 確認できるんですけどね。 JDKはJava EE 6 SDK with JDK 6の最新版を落としてきました。 JDKってJREも同時にインストールするんですよね、ネットで調べるとインストール時に JREのインストールを問い合わせてくるらしんですが、自分の時は無かった様な気がします。 それでも、JDK配下にJREのフォルダもできているんでインストールされていると思うんですが。 只、ネットであれこれ紹介してるのは、JREは決まってインストール先がProgramFilesになっているので 変ではあるなと思っていたんですが。 それで、いろいろと調べていくとJREには公開と非公開があって、JDK配下のJREは非公開で開発用と、 それとは別に実行用のJREが公開として存在しないと他のアプリが使えないらしい事が判明しました。 で、お聞きしたいのは、 ・JDKをインストールした後に、JREの同一バージョンをインストールすれば 完璧な環境になるのでしょうか? ・設定した、環境変数であるJAVA_HOMEとPathはそのままでも良いのか? JAVA_HOME = C:\glassfish3\jdk Path = ;C:\glassfish3\jdk\bin;C:\glassfish3\jdk\jre\bin を、値の最後尾に追加。 ・バージョンアップは同期(公開・非公開)を取るのに自分が考慮してあげないといけないのか? お願いいたします。
コマンドプロンプト開いてjavaとjavacって打ってみて 内部コマンドまたは外部コマンド,〜として認識されていません って出たら,Path設定ミスってるんじゃない
179 :
177 :2011/04/10(日) 17:19:19.67
>>178 確認しましたが、オプション指定のHELPが表示されました。
ヴァージョンも間違っていないようです。
只、仮に実行環境用の公開JREを別途DLしてインストールした時に、優先順位として
どちらのJREが利用されるのでしょうか、環境変数にも影響が出るのでしょうか?
JREと、JDK付属のJREとでは微妙に動作が違うぞ。 eclipseだけ動かすならJDKはいらない。
181 :
デフォルトの名無しさん :2011/04/10(日) 21:25:15.73
182 :
デフォルトの名無しさん :2011/04/10(日) 21:27:52.35
181ミスです。 Java SE Development Kit 6u24 のダウンロードです
183 :
177 :2011/04/10(日) 21:41:42.64
>>180 いや、JREだけだとコンパイルやデバッグができないし、APIとかクラスライブラリとか使えないし・・・・。
微妙に動作が違うって・・・・いやね、同一Verなら動作が同じじゃないと困るのよw
俺が言いたいのは、JDKに同梱されてるJRE(非公開、開発環境用)と、JRE(公開・実行環境用)なのね。
で、それらが両方とも別Dirにインストールされていないといけないのかってのが先ず聞きたいの。
JDK同梱のJREのパスを環境変数Pathに設定すれば、他のアプリケーションも参照できるんじゃないかと聞いてるの。
態々、別途同じJREを実行環境用にインストールする必要性ってのが理解できない。
確かに、OSが標準で持ってるPathである、c:\programfiles\配下にデフォルトでインストールすれば
環境変数弄らなくても、スコープできるのは理解できるけどな。
JDKにしたって、任意の場所にインストールしても環境変数を弄れば見にいけるって事だろ。
ならば、JREを別途、インストールする必要性が見えてこないって事だ!
それと、環境変数を設定しても、それを使うような仕様にしていないJavaアプリがあるって事が
この上なく理解できないw
ラッパーする時に、参照する場所を普通レベルで考慮できていないという事だよな、お粗末w
加えて、バージョンを同期とっていないと、トラブルの基になるってのが気に入らない。
要するに、開発環境用のJREには、実行以外にもソレ専用のアプリが盛り込まれているが、
実行環境用のJREには、実行するためだけのアプリしか盛り込まれていない。
だから、Javaのヴァージョン毎の実行環境用JREを用意できて、テストなりを複数VerのJava環境で
試せるという事も可能というわけだな。上位は勿論だが、下位互換をどのようにするかって事だな。
つまり、別途、JREをインストールしないといけないと、環境変数なんて見ないってアプリの為にもねw
なんのJavaアプリが使えないの jarファイルから起動するやつ?ランタイムが参照できないっていうエラーはよく分からん exeにラップしてあるようなやつか?
JDKの中のJREをシステム全体で参照してるんでしょ
ぶっちゃけ
>>183 がなに言いたいのか、話が全く見えん。
「JDKインストールしましたが、◯◯というアプリを実行すると、以下のようなエラーがでます。」じゃダメなのか?
なんあ宗教上の理由でもあんのか?
188 :
177 :2011/04/11(月) 01:06:02.66
>>187 全然ダメだな!
しっかりと、目を開いて、もう一度、俺様のレスを熟読して、さえない頭を振る回転させてだなw
質問に答えるんだ!
ほんっと、馬鹿ばかりだよな!
JRE_HOMEすら知らないヤツばかりだ!
189 :
177 :2011/04/11(月) 01:08:00.80
190 :
177 :2011/04/11(月) 01:11:38.51
>>185 お前ってヤツは、ほんっとに・・・・・・・馬鹿。
つまらん
iapplitoolstarのHTMLLayoutについてちょっとつまりました。 private Panel p1, p2; MainPanel() { setTitle("テスト用"); setKeyListener((KeyListener)this); setComponentListener(this); p1 = new Panel(); p1.setComponentListener(this) ; p2 = new Panel(); p2.setComponentListener(this) ; とパネルを二つMainPanelの中に準備した場合p1とp2別々にHTMLLayoutを使用することは できますでしょうか? 先生方、どうか・・・お慈悲を・・・
Doja知らないけどできるんじゃない?
194 :
192 :2011/04/12(火) 00:30:58.75
自己解決しました。 lm2.begin(HTMLLayout.CENTER); この一行入れるの忘れてました。 失礼します。
Pdfの1ページ目の中から一番大きな文字列を拾うようなプログラムを作っているのですが詰まっています。 テキストはPDFBoxで取れるのですがサイズや塊はどのように取るのか... ご存じの方、ヘルプお願いします。
大きさはフォントサイズです。あいまいですません。
try~catchで囲わずにエラーメッセージを表示する方法ないですか。 Eclipseで開発していますがIllegalArgumentExceptionなどが起きた場合に try~catchで囲ってなくてもe.getMessage()の結果を必ず表示して欲しいのですが...
throws節を付けて、最上位でcatchすればいいんじゃね
検査例外じゃないならThread#setUncaughtExceptionHandler()でも、なんでも。
example1.jarと example2.jarの両方に com.example.Exampleていう名前のクラスが存在する状態で、二つともリンクしてビルドすると警告が出る。 無能な後輩がjarの中身変えずに 片方のjarのExampleだけ除外して警告を消す方法を前に見ました、とかほざいてるんだが、そんなん無理だよな?
先輩、便所の落書きに頼るなよwww
糞みたいな奴がスレに居付くだろ さくっとスルーしろ
糞みたいなやつすらいなくなったらこのスレ無人だろw
205 :
デフォルトの名無しさん :2011/04/14(木) 19:04:59.22
Android SDK and AVD Manager で、SDK Platform等をインストールするとき、どうしても途中でダウンロードが止まってしまいます。 止まると言っても、ダウンロードのバーがそれ以上進まなくなるだけで、何かダイアログボックスが出るわけでもありません。 SDKやADTについての設定は無事に済んだ後で、この問題が発生します。 前回に試みたときは、他のダウンロードの最中に、同じく先へ進まなくなりました。 そして今回は、Done.1 package installed から、先へ進みませんでした。 更に長い時間、放置しておけばどうかわかりませんが、午後ずっとやっててもここまでしか進まなかったので、これ以上は続けられませんでした。 その状態の画像をUPしました。他の場所ではHello Worldまで行けたのですが、今になって上記の問題が浮上してしまいました。 現時点でもAndroidプロジェクトは作れますが、 Android Applicationでの実行(HelloWorld)ができません。 Android環境構築まで済ませたEclipseが売っていたら、助かるのですが・・・。
必要なパッケージだけひとつずつインストールしてみるとか
207 :
デフォルトの名無しさん :2011/04/14(木) 19:22:07.61
javaを独学で頑張って勉強してみましたがやはり分からないところが多く出てきましたので いくつか質問させてください 独学なのでとんでもない質問でもご容赦ください 1)JPanelの分野です JButton b1 = new JButton("N"); JButton b2 = new JButton("W"); JButton b3 = new JButton("S"); と btn = new JButton[3]; btn[0] = new JButton("N"); btn[1] = new JButton("W"); btn[2] = new JButton("S"); はどういう違いがあり、どちらがどんな時好ましいでしょうか? 2)JPanelの分野です getContentPane().setLayout(new GridLayout(2,2)); という文を見つけましたが、 Container contentPane = getContentPane(); contentPane.setLayout(new GridLayout(2,2)); というようにContainerの型宣言はなぜしなくてもいいのでしょうか? 3)MS明朝のようなfontがインストールされていないOS(PC1)に 自作fontをインストールしているOS(PC2)で作成したアプリを PC1上で起動させても自作fontで表示する方法はあるのでしょうか? よろしくお願いします
>>207 1)
前者はもし全部のボタンに対して同じ処理をしたいときがあってもforループが使えなくて不便かもしれない
後者は btn[0] とか btn[1] とか番号でしかボタンを区別できず、northButton, westButton, southButton のようなわかりやすい名前を付けられない
わかりやすい名前は重要だぞ
意味不明な名前を付けてると後で見たときにわけがわからなくなる (2番のボタンってなんだっけ・・・? みたいに)
2)
変数を使う場合は、その変数を型とともに宣言しなければならない
変数を使わないなら、当然何も宣言する必要はない
前者は何の変数も使っていないから宣言する必要はない
後者は getContentPane() の戻り値を変数 contentPane に代入している
何かそうしたい理由があったんだろう (単に「なんとなく」かもしれないけど)
3)
その自作のフォントをアプリに同梱するのなら、 Font.createFont() でそのフォントファイルを読み込むことができる
209 :
デフォルトの名無しさん :2011/04/14(木) 19:55:45.75
>>208 さん
ありがとうございます
とても分かりやすかったです
「何の変数も使っていないから宣言する必要はない」というのは目から鱗でした
目から糞ですか?
211 :
デフォルトの名無しさん :2011/04/14(木) 20:11:22.47
>>205 の画像です。
ttp://www.dotup.org/uploda/www.dotup.org1525759.gif
http://www.dotup.org/uploda/www.dotup.org1525765.gif
ttp://www.dotup.org/uploda/www.dotup.org1525771.gif
212 :
デフォルトの名無しさん :2011/04/14(木) 20:12:23.90
>>206 必要なパッケージ、というのは、どのパッケージでしょうか。
今のままでは、Android Applicationでの実行(HelloWorld)ができません。
コピペできない・・・だと・・・っ!
214 :
207 :2011/04/14(木) 21:53:44.90
いくつか質問させてください 独学なのでとんでもない質問でもご容赦ください 1)配列の分野です JPanel[] p = new JPanel[3]; と JPanel p[] = new JPanel[3]; はどう違うのでしょうか?どちらがプログラミング的に好ましいのでしょうか? よろしくお願いします
>>200 初め片方をクラスパスから外しておいて、
あとでロードするんじゃない?Javassist駆使すればなんとかなるんじゃね?
>>212 Javaをアンインストール、eclipseも捨てて、イチから入れ直す
悩んでるより絶対に速い。
>>214 どっちでも同じだと思うけど、
Javaではみんな上の書き方するね。(少なくともおれの周りでは。)
218 :
デフォルトの名無しさん :2011/04/15(金) 00:26:45.33
Java初心者(川場 隆 著 わかりやすいJava入門/三谷純 著 JavaAアプリケーションづくりの初歩を読解する)程度の知識があります。 P2P技術に興味があって、JavaでP2Pプログラミングをしてみたいのですが私にはまだ早いでしょうか? JavaでP2Pプログラミングするにあたっていい書籍とか参考サイトはありますか?
あまりオススメできないな。 P2P技術ってブラックボックスな部分がたくさんあって独学でやるのは限界あるし 時間の無駄に終わることになると思うよ。 本気で興味あるならSkype社にでも入ってみれば?
220 :
218 :2011/04/15(金) 01:22:52.84
>>219 やはりお勧め出来ないですか
ブラックボックスな部分がたくさんあって独学でやるのは限界がある(現に資料を探してもなかなかいいものに巡り合えませんでした)のは分かっての質問でした。
Skype社に入れるものなら本気ではいりたいですね。
翔泳社の読解シリーズ P2Pビジネスという本を読んでいてSkypeが取り上げられていたのですが、
音声データの扱いをP2Pで限りなく0に近いコストでの実現(設備投資にお金は多少かかったようですが)など、
P2Pに余計興味を引く内容がかかれてありました。
ただ正直自分は頭良くないのでSkype社に入りたくても多分はいれない・・・;;
オーバーレイ・ネットワークを構築するでもなければ、ただのノードデータベースだぞ。
Skype(FastTrack)とか仕様非公開のP2Pネットワークも盛んってだけで 例えばBitTorrentやGnutellaのようにプロトコルが明らかなものも多い P2Pといえど、結局はノード間の通信なのでネットワークプログラミングの知識が必要 関連する書籍はいくつも出ている。ただ、P2Pが非常に難しいのは、 全体を誰も把握していない状況で、各ノードを効率よく協調動作させねばならないという点
223 :
デフォルトの名無しさん :2011/04/15(金) 02:41:28.04
ここで聞いて良いかわかりませんが質問させてください。
commons-netを使用してサーバから指定したファイルをftp取得する
処理を作成しているのですが想定通りの動作をしてくれません。
FTPClientクラスのlistFiles(String)を使用してファイル一覧の取得を行いますが
空配列が返却され後続の処理で失敗します。
ググったら下記のページが出てきたので
何となくftpサーバ側の日本語のせいで失敗していることがわかったんですが、
ページ内下部の方に記載してあるparserの作り方がイマイチわかりません。
ttp://www.javaroad.jp/bbs/answer.jsp?q_id=20060824182444314 どなたかcommons-netのparser作成を行ったことがある方、
もしくは作り方がわかる方いますか?
あまり必要ないと思いますが環境は以下となります。
Solaris(サーバ)、win(クライアント)、commons-net-1.4.1
よろしくおねがいします。
オライリーのJavaネットワークプログラミング
interfaceで「特定のクラスを継承している事」という制限を書くことは出来ますか?
>>226 無理。
それ「特定のインターフェイスを実装している事」で代用できんの?
>>227 継承ベースでやってきたプロジェクトで一部インターフェースを使おうと試みているので
インターフェースへ切り替えるのは範囲が広くなっちゃうんですよね
中途半端にやろうとしても無理そうですね
JLabelをマウスでドラッグしてつかんで、そのままマウスで位置を移動させる ような仕組みを作りたいと思っています。 案としては、mousemotionlistenerを使って、 ドラッグを確認したら、マウスカーソルの位置にJLabelを移動させるというのを考えていますが、 もっとシンプルな方法があるったら教えてください。
public Cell<E> add(int index, E element) { if (index == 0) // 自分の前に挿入 return new Cell<E>(element, this); if (next == null) // 末尾に挿入 [ A ]; else next = next.add(index-1, element); return this; } Aに入るのってなんですか?
情報が足りない
ぜんぜん便利そうじゃないから元から入ってるutilの使っとけばおk
>>218 jxseでも使えば?
最近バージョンアップが多くてうざいけど
234 :
207 :2011/04/15(金) 23:32:34.27
いくつか質問させてください 独学なのでとんでもない質問でもご容赦ください 1)swingとAWTの分野です JLabelとLabelはほぼ同じと考えていいですか? 2)JLabelの分野です JLabel label = new JLabel("<html><h1>A</h1></html>"); という文を見つけたのですが、 labelをこんな方法で大文字にするのは一般的ですか? 3)フォントの分野です java.awt.FontのFont(String name, int style, int size)と 同じようにfontのサイズを設定するクラスはswingにあるでしょうか? 見つからなかったのでawtやswing以外のほかのクラスにあるのでしょうか?
いい加減節度を覚えた方がいいと思うぜ
聞くばかりでまったく独学じゃないじゃないか
JPanelの上に置いたコンポーネントのサイズに合わせて、 JPanelのサイズを自動調整することって実現可能?
240 :
237 :2011/04/16(土) 17:58:43.07
>>239 BoxLayout使ってるけど
これならいけそう?
241 :
デフォルトの名無しさん :2011/04/16(土) 20:02:21.17
Javaでチャットを作っています サーバプログラムとクライアントプログラムを別々に用意して ユーザーがクライアントプログラムのJTextFieldに入力した値を サーバプログラムに送りたいのですが どうすればいいのでしょうか
Socketを使ってください
guavaってどうよ?
244 :
デフォルトの名無しさん :2011/04/16(土) 23:12:43.61
try〜catchで使ってる分を try{ int a=0 }catch(略){ 略} return a; みたいな感じで使いたいんですけど 当たり前のごとく変数のスコープ外なので使えません どうにか使える方法ってありませんか?
>>244 int a=0;
try{
}catch(略){
略}
return a;
246 :
デフォルトの名無しさん :2011/04/16(土) 23:42:56.88
>>245 最初は自分もそれを考えたのですが
それだとプログラムが成り立たないもので・・
String getChatLogs(){ //Chatログ処理
try{
File LogFile=new File("C:\\java\\log.txt");
FileReader fr2=new FileReader(LogFile);
BufferedReader br2=new BufferedReader(fr2);
String s=br2.readLine();
br2.close();
return s;
}catch(IOException a){
System.out.println(a);
}
returnをnullで飛ばしたり色々やってみたんですけど上手くいきません
ちょっと何いってるかよくわからないのだが、returnつけておけばそのコードでいいのでは。
>>247 戻り値が入る所を
String chatLogs=getChatLogs();
としているのでStringの値を返せとEclipseさんから怒られます
>>246 String s="";
try{
}catch(略){
略}
return s;
return (String)null;
できました! ありがとうございます!
>>249 Stringを""で初期化すんじゃねぇよ
253 :
デフォルトの名無しさん :2011/04/17(日) 02:13:45.46
>>252 模範例を提示しないなら只のゴミレスだな
エラー発生時は""が返って呼び出し元で処理が
続行する仕様なら正しいと思うがね
>>243 主にコレクション系のライブラリを結構便利につかってる。
Solaris10でlog4jのsyslogAppenderを使用して、syslogに出力してるんだけど、 UTF-8が文字化けで困ってます。 WriterAppenderを継承してるclassみたいに、設定ファイルからencodeの指定を行いたいです。 OSのデフォルトの文字コードが、設定されちゃっていることが問題なんだけど、 log4jのどのソースを変えればいいんだろうか? 解説しているサイトなど知っていたら教えてください。
キーが複数あるマップのスマートなやり方はどういうものでしょうか?
キー状態の取得から、それに対応した処理をさせるというものなのですが String infoState =" "; keyState=getKeypadState(); if (((1<<Display.KEY_0)&keyState)!=0) infoState+="0"; となっています。これがKEY_1、KEY_2…と続いていきます。 0キーが押された場合、式をすべて二進数の数字に直すと(0001<<0000)&0000となってしまって条件式を満たさないように思います。 計算については何か勘違いしているのかもしれませんが見当もつきません。 どうぞご教授ください。
>>257 getKeypadStateの説明は読んだか?
>>258 読んできました
でも意味がわからなかったのでググって詳しく説明がされているサイトがあり
そこを読んでようやく理解しました
ありがとうございました
いや、しかし難しいですね
strutsでhttpステータスを500で返すにはどうしたらいいでしょうか?
俺の通ってる専門学校ではStruts何それ食えんの?状態なまま卒業するんだが、 やっぱり相当レベル低い?
262 :
207 :2011/04/17(日) 19:29:42.70
前回の質問の1)と2)は書籍やサイトなどで何とか自己解決できました
前々回質問に答えていただいた方ありがとうございました
>>234 ,
>>235 節度なく聞くばかりと言いますが、分からないことを聞いてはいけないことですか?
今まで独学だったからこそ分からないことも多いです
独学というのは周りに聞ける人がいないことであり、それはとても大きなストレスになっています
207と分かりやすくしたのもどの程度までの進捗率かほかの方から分かるようにと思ってでしたが
批難の的になるようでしたらやめます
俺が若い頃は独学以外道がなく今のようにネットもなかったから 誰に聞くこともできなかったからひとつの問題に何ヶ月も 取り組んだものだ。だから今のような環境が憎たらしいのだ。
匿名掲示板なんだから,毎回初めてここに来たフリして質問して利用すりゃいいんだよ
ゴミ人間の戯言などどうでもいい
>>262 次から次からとあなたのような調子に乗ったゴミが湧いてくるだけなのでもう止めてください。
つーか質問スレなんだから質問していいだろ。普通。
別にコテハンで質問しに来ても構わんと思うよ。 ただSwingの質問に的確に答えられる人口は少ないと思うけどねw
269 :
デフォルトの名無しさん :2011/04/17(日) 20:22:35.95
教えてクンと教えたがりの集まるスレだろ? 調子に乗ったゴミは大歓迎じゃないの??
質問するのは自由だけどこの世界、金ださないならいつまでも答えは教えてもらえないだろうね
>>262 質問するのは全然わるいことじゃないんだけど
きみのはきちんとまとめすぎ
2chらしく質問すればいい
2ch住人って人を不快にさせる能力だけは本当にピカ一だよね。
願わくば精神を病んで欲しいとすら思ってるよ
>>256 org.apache.commons.collections.map.MultiKeyMap
androidアプリの本を読んでいて下記のような記述が出てきました。 Map<?> hashMap; この?はどのような意味でしょうか? Map<Integer,String> とかはわかるのですが。
それぐらいはさすがにネットで調べられるだろ…
型が不明のMapってこと
?,?じゃなくて?
a instanceof b の否定って !(a instanceof b) みたいにカッコかくしかない? a == b だったら a != b で書けるよね
単項 ! の方が先に結合されるからカッコつけないとダメ。
>>272 日本人は外では喜怒哀楽を全て愛想笑いで表現しないといけないから
ネットでは内に秘めた醜い部分が暴発するんだろう
はじめまして。 質問をあげさせていただきます。(改行数でエラーとなるため分割させてます) 前任者が退職いたしまして、Java(JSP)のシステムを引き継ぐことになったのですが、 何分Java未経験で部署にもわかる方が誰もいないので、質問させていただきます。
下記環境で動作している社内システムなのですが、1週間に1回の頻度で "Failed to parse multipart request org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed. Connection reset" という、エラーが発生します(処理は毎日タスクスケジューラよりバッチ実行)
multipart/form-dataというのがファイルをアップロードする際に利用するものだとはわかったのですが、 エラーの発生する処理の中にファイルアップロードの処理はありませんでした。 (全JSPにmultipart/form-dataの記載あり) 原因としては、multipart/form-dataの記述がされているところだと考えたのですが、 他のPGにも記載されており、過去のログを調査しても上記のエラーは見つかりませんでした。
当方といたしましては、multipart/form-dataの記述をはずすことで、解決するのではと考えたのですが、 何分理解しきれていない言語なので、同様の事例をお持ちの方はいませんでしょうか? 補足: エラーの発生しているPGは、前任者が退職する直前にリリースされたもので、
SQLServer(当SYS)からOracle(外SYS)へデータを連携するものだそうです。 外SYSの検証用環境がないため、上から修正したら本番へアップしろとの指示がでているのですが、 テストなしで本番にあげるのは、怖いため、質問させていただきました。 よろしくお願いします。 環境 OS:WindowsServer 2008 R2 Standard 64bit Java:JDK1.6.0_17 Tomcat:5.5.28 その他:Struts
public class Test { public static void main(String[] args) { list.add(new hogeImpl()); } static List<hogeImpl> list = new ArrayList<hogeImpl>(); ↑ なんでこれダメなの? ↓ List<hoge> get() { return list; } } interface hoge { } class hogeImpl implements hoge { }
>>290 おおおおそういうことか!
初めて<? extends hoge>の意味がわかった
ありがとうございます
JSPのtaglibで下のようなプロパティファイルがあって、変数${moge}に0か1が入っている時、 <fmt:message key="sex.${moge}">でデータを取得できないかと思ったのですがダメなようです。 代替手段はどんなのがあるでしょうか?タグを作り込む元のJava側で文字列に直しとくしかない? ・hoge.properties sex.0 sex.1
293 :
275 :2011/04/18(月) 23:22:02.79
ご教示ありがとうございます。
ですが、やはりどういったものかわかりません。
>>276 お手数ですが、調べ方をお教えください。
hashmap+クエスチョンマーク・はてな等で調べても見つかりませんでした。
?の使い方とかIDEに教えてもらって覚えたわ
>>293 例えば List<Integer> は Integer のリストだろ?
んで List<String> は String のリストだろ?
そして List<?> は不明な型のリストをあらわす
Map も同じ
Map<Integer, String> は Integer から String へのマップ
Map<Integer, Hoge> は Integer から Hoge へのマップ
Map<Integer, ?> は Integer から不明な型へのマップ
そして Map<?, ?> は不明な型から不明な型へのマップだ!
えー自分で調べろよー
さらに Map<? extends A ? extends B> Map<? extends A, ? super B> Map<? super A, ? extends B> Map<? super A, ? super B> などの組み合わせも有るんだぜ
えふぇくてぃぶじゃばだいにはんぐらいよめよー
>>283 2chで聞くようなことか。
〜質問箱とかに行きな。
退職する前に引継ぎしろよ Javaの分かる奴を雇えよ テスト環境つくっとけよ 消せば直ると考えるとかマジキチ きっと全部消せば直るよ! ハ_ハ アヒャヒャ ('(゚∀。∩ なおるよ? ヽ 〈 ヽヽ_)
親画面のボタンが押されると、子画面を立ち上げるようにしたのですが、 親画面の下(裏)に生成されてしまいます。 子画面はJFrameを継承しており、親画面のボタンが押されたら子画面をnewして、setVisibleしています。 起動したときに最前面にする方法はありますか?
JDialog
setAlwaysOnTop?
>>306 それは試したのですが、常時最前面に表示されてしまいました。
「起動したとき」に最前面にする方法はありませんか?
その起動したときっていうのがよくわらかないんだが、ボタンが押されたときってこと? それならJFrame.setVisibleでアクティブになるはずだが。 もしならないっていうのなら、setVisibleを呼び出している場所がおかしいんじゃないか。
>>301-302 ご回答ありがとうございます。
質問箱へ質問をあげてみます。
私が配属されたときには前任者は退職していました・・・。
Javaわかる外注に頼むほうがいい、といったんですがお金の関係でNGと・・・
テスト環境は前任者が自費でサーバを立ててたらしいのですが、退職と同時に持ち帰ったそうです。
正直言って、全部消したいです・・・。
自費ww 超絶ブラック乙
>>310 自費wwwwwwwww
そら持ち帰るわなwwww
自費でテストサーバ構築せざるを得ないくらいに複雑なアプリなら、はっきりいって解決困難だろうな。 前任者もメンテ不能になることをわかっててサーバを持ち帰ったろう。
引き継ぎ出来て無いじゃんw 手に負えないなら断れよ。首に成って新しいjavaが出来る担当者雇えて会社的には問題解決出来るし。 首に成りたくなければなんとかしろwww
Androidのライブ壁紙を作る場合、相場はいくらですか? また自分でJavaを1から勉強する場合のコストと比べて発注するほうが安く済みますか?
316 :
デフォルトの名無しさん :2011/04/21(木) 17:35:34.01
今始めた初心者ですけどメモ帳でHelloWorld書いたんですけどHelloWord.javaで保存すると HelloWord.java.txtで保存されてコンバイルもできないんですけど javaファイルという拡張子があるんですか? なんかインストール必要なんですか?
>>316 メモ帳が悪い。エクスプローラでファイル名を直せ。
それも分からないならwindowsから勉強しろ。
318 :
デフォルトの名無しさん :2011/04/21(木) 17:48:03.37
自己解決しました アホなこと書いてしまった
リロードしてなかった 解決済みか
>>309 はい、ボタンが押されたときです。
setVisibleのタイミングですか。。
>>309 簡易なテストのプログラムでは普通に表に出せました。
よくわからないです…
その簡易なプログラムにコードを追加して元のプログラムに近付けていくか 元のプログラムからコードを削って簡易にしていけば どこで違ってくるのか境界線が判明するはず
>>324 ええ。
調べてみます。
ありがとうございました。
326 :
デフォルトの名無しさん :2011/04/22(金) 00:52:24.31
Hibernateで1テーブルを全件SELECTして画面に表示する処理を書いたところ、毎回3回ずつメソッドが呼ばれます。 正常な動作でしょうか?
抽象的で申し訳でjavaで以下のようなリストを作成するには javaのなにを勉強すればいいですか? 名前 数学 国語 英語 Aさん 90 80 20 Bさん 80 70 10 以下同様に複数人あり。 このようなリストを作成して数学、国語、英語をクリックすると点数が高い順と低い順に ソートされる。 申し訳ないですが先輩方、ヒントをよろしくお願いします。
ウィンドウ出してエクセルみたいに表示したいのか Webサイト上でそういうページを作りたいのか ウィンドウ出して、エクセルみたいなことしたいならSwingの基本を学んで あとはJTableのapidoc熟読すればできるんじゃない
>>328 まさにこれが知りたかったのです。
ありがとウサギ
とほほのjavaで勉強するのはこのスレ的におすすめですか?
ちょっと見てみたけど情報が古いからお勧めはできないかな ジェネリックの解説がないのはちょっと
332 :
デフォルトの名無しさん :2011/04/22(金) 13:14:03.07
初心者です アプレットファイルを作りブラウザで表示した時の場合、そのアプレットファイルを変更してコンパイルして、 再度ブラウザで表示すると変更前のアプレットが表示されます。
333 :
デフォルトの名無しさん :2011/04/22(金) 13:16:10.12
ブラウザを一旦閉じてから開いてアプレットを表示させると、ちゃんと変更したアプレットになっています。 アプレットを変更した後に、一々ブラウザを再起動して確認している状態です。 何故なんでしょう、どなたかお教えください、よろしくお願いします。
キャッシュとかかな?
Ctrl+F5とかで強制更新されないのか
オススメの問題集教えて下さい
2chの宿題スレ
public class SimpleSlideShow extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // レイアウト上のImageViewMainを変数imageViewMainに代入 ImageView imageViewMain = (ImageView)findViewById(R.id.ImageViewMain); // リソース画像sampleをimageViewMainにセット imageViewMain.setImageResource(R.drawable.sample); } これどこか間違ってるんでしょうか?
339 :
338 :2011/04/22(金) 17:53:19.25
自己解決しました
宿題スレってまだ機能してるのか?
Javaの宿題スレだけ誰も立てないね。 需要ないから?
342 :
デフォルトの名無しさん :2011/04/22(金) 20:50:49.34
助けて下さい 来週火曜日の朝までに提出なんですけどまったくわかりません CをXの立方根の推定値とすると、下記の式はさらによいXの立方根の推定値となる。Xの立方根を五桁の精度で求めるプログラムを作成しなさい。プログラムは複数のクラスを定義して作成すること。 C=C−(C∧3ーX/3C∧2) 右辺はCの3乗-X/3Cの2乗 です。誰か助けて下さい…
343 :
デフォルトの名無しさん :2011/04/22(金) 21:24:21.90
ありがとうございます とほほのJavaはやめたいと思います おすすめの初心者サイトってありませんか
>>342 漸化式は与えられているので
ニュートン法を理解していなくても問題は解ける
分からない分からないって、何が分からんのだ
346 :
344 :2011/04/22(金) 22:14:29.54
>>343 ジェネリクスがなんだか分かってるのか?
javaに限らないが、新しいほど初心者には分かりにくい機能が多くなる。
とほほ…をほぼ読み切れるぐらいなってから、新しい部分を他で見るでも良いじゃないか。
初心者はとほほでFA?
そんな名前のサイト見てる自分に嫌気がささなければいいんじゃね
とほほはダメと言われ とほほでやれと言われ 本当初心者の足を引っ張るのが大好きなバカが少数いるスレで大変だな
351 :
デフォルトの名無しさん :2011/04/23(土) 14:12:22.36
ある文字列から正規表現に部分一致する文字列を抽出したいと考えています。 元の文字列:ほげほげほげ2011年04月23日ほげほげほげ 抽出したい文字列:2011年04月23日 使うであろう正規表現:\\d{4}年\\d{2}月\\d{2}日 部分一致するかどうかはMatcherのfindメソッドで判定できますが、 部分文字列の抽出の方法はわかりませんでした。 もし正規表現でできるのであれば、どなたかお教えください。
>>351 Matcherのgroup()で取れる
ジャバで正規表現をやろうなんておまえじゃ無理無理
javaを解説したHPはたくさんると思うのですが、 プログラムまったく未経験者に詳しい解説がなされているようなHPや参考書 を教えていただけませんでしょうか。できればサンプルプログラムのコードのひとつひとつが 何を意味してるのか解説されているようなのがいいです。 結城氏のJava言語プログラミングレッスンを勧められて購入したのですが プログラム経験者には分かりやすいと思うのですが やさしい言葉で書かれていてもプログラムが初めての人間には 各項目の詳しい解説が大雑把で先のページを読まないとわからないような 例題とかが出てきて非常に分かりづらい展開で挫折しそうです。
>>354 50% 位わかったら、かまわず先に進むのも一つの手です。
プログラミングなんて今時無料のIDEあるんだから 何かしら書いてデバッグして繰り返せば馬鹿でも最低限のレベルは覚える
自演乙
麻奈タンの「やさしいJava」なら最後まで読み進められるんじゃないかな ただこの本ではサンプルコードを超えて自作でプログラムを作れるようにはならないとは思うが
359 :
デフォルトの名無しさん :2011/04/23(土) 18:54:03.69
>>359 Eclipse IDE for Java Developers でなんの不足もない
ただでさえAndroidエミュが重くてじれったいのにeclipseまで不必要に重くすることはない
>>359 うえの3つ(Java Developers, Java EE Developers, Classic)以外をあえて使ってる人はかなりの変態とみて間違いない
つうかHeliosは重くてあまり好きじゃないので、プロジェクトで決まってるとかでなければあえてGalileo使うこともある。
363 :
デフォルトの名無しさん :2011/04/23(土) 21:30:26.75
342です。本当にありがとうございました。なんとお礼を申し上げればいいか…
364 :
デフォルトの名無しさん :2011/04/23(土) 21:37:12.68
Java DevelopersとClassicどちらかちゃんと決めてDLしてみます ダウンロードに8時間かかるので今日は作業できませんが明日試してみたいと思います ありがとうございます
8時間って回線が細いってこと? それじゃAndroidSDK落とすのも大変だなw 余計なお世話だけど
366 :
デフォルトの名無しさん :2011/04/23(土) 21:41:36.62
GAEでHTMLを載せたいのですが EclipseでGAEのプロジェクトを作ると以下のようなコードが自動生成されました -------------------------- package Hajimetenogae; import java.io.IOException; import javax.servlet.http.*; @SuppressWarnings("serial") public class BookServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/plain"); resp.getWriter().println("Hello, world"); } } ---------------------- HTMLを埋め込みたいのですが、JavaにはPHPのようにヒアドキュメントで文字列を書く方法はございませんでしょうか? <html>〜略〜</html>って書くために1行ずつresp.getWriter().println(〜);を書かないといけないのでしょうか?
JSPというものがあります
最近Javaを始めた者です Picというクラスに描画を行うDrawを組み込んで Graphics2D g2を渡すと描画してくれるようにしたいんですが class Pic{ void Draw(Graphics2D g2){ g2.drawImage(image, x, y,this); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); } } とするとシンボルを見つけられないと出てうまくいきません どうすればいいんでしょうか?
imageとxとyはどこにいるの
Picのメンバ変数です 一応imageには画像を既に読み込み済み、xとyはちゃんと値が入れてあります ちゃんと主となるクラスのコンストラクタでnewして作成はしています public class AAA{ public static void main(String args[]) } class MyCanvas extends Canvas{ public void paint(Graphics g) } class Pic{} という感じになってまして newしたMyCanvasをAAAメンバのJFrameに貼り付けてあります MyCanvasのpaintにPic.Draw(g)を書いて描画させたいんですが・・・
いやなんというか シンボルが見つからないってCでいうincludeされてない型・関数、宣言されてない変数があるって意味だと思うんですけど Cのときは宣言するなり、includeしてしまえばいいわけですが Javaのときはどうすればいいの?
importすればいいのでは
GAEでJSPは使えませんよ
375 :
デフォルトの名無しさん :2011/04/24(日) 00:39:03.90
Swingのパネル上のコンポーネント配置で 水平中央+垂直中央配置(パネルのど真ん中に配置)するには どのようなレイアウトを使えばよいですか?
1x1のGridBagLayoutかな・・・
>>370 みんなが飽きるまで情報を小出しにできれば君の勝ちだ
つうかJSPって今使ってる企業あんのか?
俺は使ってるけど。。。
eclipseにandroid sdk入れてファイルサイズ測ったら500MB超えてるって開発環境でこれは異常だろ
>>381 XilinxのiSEは10Gいってるかも
キーボード入力した文字から、一番最後の文字を抜き出すのはどうやって書けばいいいのかわかる人いますか?
length と charAt じゃだめですか?
>> 384 キーボードで出力させるのをstr1とした場合どう書いていいのか教えてもらえますか?
jsf2.0って普及してる?
387 :
デフォルトの名無しさん :2011/04/25(月) 12:10:42.54
プログラムと機能にJava(TM) 6 Update 20とJava(TM) 6 Update 24があるのですが 20のほうは消しても問題ないのでしょうか?
「7」と「10」と「最新」のと「最新の一つ前」以外は消してるな。 7から10の時にずいぶんバグが混入しているので
389 :
【東電 81.0 %】 忍法帖【Lv=7,xxxP】 :2011/04/25(月) 13:00:04.65
JavaDBのDBをjarに格納して、DB検索できるプログラムを Java Web Startで配布するSwingアプリケーションとして作ろうと思うんだけど データベースのファイルをjarの中に入れても動くかな? データベース保存場所を相対パスに指定ってできるかな? それとも、Preferences APIを使うかユーザーにデータベース保存ディレクトリを指定させる形式をとらないと動かないかな?
>>390 なるほど。あんがとー。
謎が解けた。
修正可能なDBを扱うには
一旦JarからDBファイルをコピーしてOSのどこかに保存するコードも必要ってことか。
392 :
デフォルトの名無しさん :2011/04/25(月) 19:38:13.73
393 :
392 :2011/04/25(月) 20:01:16.33
すいません、ここまで調べられました apache antでコンパイルできるそうでした C:\test\に修正したquercus-4.0.11-src.jarとinject-16.jarとjavamail-141.jarを入れます (inject-16.jarとjavamail-141.jarはバイナリ版のほうに入っていますのでそこから取ります) コマンドプロンプトからC:\test\にカレントディレクトリを移動させて、antコマンドを実行しました。 そうしたら以下のようなメッセージがでました。 Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar Buildfile: build.xml does not exist! Build failed C:\Program Files\Java\jre6\lib\tools.jarがそもそも存在しません。 C:\Program Files\Java\jdk1.6.0_23\lib\tools.jarはあります。 なのでjdk1.6.0_23のほうからjre6にtools.jarを入れて再度antコマンドを実行したら Buildfile: build.xml does not exist! Build failed と1つエラーが減りました。 build.xmlをtestフォルダに作成したのですが、これにどのような記述をしたらよいのかわかりません。 お力添えをお願いいたします
フィボナッチ数列の第50までの和を求めようと以下のプログラムを書きました public static void main(String[] args) { int a1=1; int a2=1; int a=0; for(int i=0; i<50; i++){ a=a1+a2; a2=a1; a1=a; } System.out.println(a); } 実行してみると-1408458269となって-の値になってしまいます どこが違うのでしょうか?
intじゃ桁数が足りない
めんどくさいから全部BigIntegerでいいよ
>>395-396 出来ました
範囲外になると-になるの知りませんでした
ありがとうございます
質問です 基本的なことですが… フレームワークを使ったJAVAアプリケーションで、 フレームワークではJAVAバリバリなのに業務側のプログラムなったらオブジェクト指向がすっぽ抜けて全体的にきったないプログラムになってしまったことありませんか? そのようになるのはいたしかたないのでしょうか、またはそんなんなるわけないような指導やクラス構成の作り方があれば教えてください
やっぱりjavaも日本語も言語にはかわりないってことじゃないでしょうか?
相手にするなハゲ
402 :
デフォルトの名無しさん :2011/04/26(火) 02:13:59.62
import java.lang.Math; public class NewtonMethod { public static void main(String args[]){ double x = 0.785; while (true){ double x2 = x * 2; double xN = x - (Math.cos(x2) - x2 + 1)/(- 2 * Math.sin(x2) - 2); if (xN >= x){ break; } x = xN; } System.out.println(x); } } これを複数のクラスを定義して作成する方法に変えるにはどうしたらいいのでしょうか?
その程度をクラスにする必要ないじゃん なんのために切り分けたいの? これだけじゃわからん
元の問題は「ニュートン・ラプソン法で次の式の根を有効数字6桁で求めるプログラムを作成しなさい。 プログラムは複数のクラスを定義して作成すること。cosX=√x」 で複数のクラスを定義しろという文を見逃して作成してしまっていました。
それなら、まず関数に出来る部分を切り出す。 その関数の可変部分をメンバ変数とするクラスをつくる。 そのクラスのコンストラクタに引数を渡して使用する。 という手順が宿題としては妥当では?
もとい、不変部分を定数としてもつクラスを作る、かな?この場合は。 可変部分をコンストラクタなりメソッドなりに渡して使用する、だね。
質問です。 不正な日付を例外にて検知したいのですが例外が発生せず困ってます。 お手上げです… String value = "2011/04/1a"; SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd"); format.setLenient(false); try{ format.parse(value); } catch(Exception e){ // valueが2011/04/00であれば例外発生 }
2011/04/1a を 2011/04/a1 などいろいろ変更して試してみろ
>>398 20数桁以上はBigIntegerでないとオーバーするんだよね
ついでにいうと、再帰関数つかったほうが高速化するぞ
SimpleDateFormatって末尾の文字を無視するんだね 他にチェック追加するほうがいい気がする うまくいくかわからないけど解決策として String format = "yyyy/MM/dd"; String value = "2011/04/1a"; String parity = "/" + value; SimpleDateFormat f = new SimpleDateFormat(format + parity); f.setLenient(false); System.out.println(f.parse(value + parity));
>>412 一回Dateにパースして検査したらいいだろう
失礼、上のレス読まなかったわ
>>393 おい
build.xmlがなきゃAntが動作できないのは当たり前だ。
どこかにbuild.xmlがあるはずだ。
>>399 『アジャイルソフトウェア開発の奥義』を読めば設計方法がわかる
417 :
392 :2011/04/26(火) 23:01:24.12
>>415 build.xmlがソースと一緒に入ってると思ったんですけど見当たりませんでした
不具合を修正して公開したかったのですがコンパイルに関してのこれ以上の知識が私には無いため断念します
418 :
デフォルトの名無しさん :2011/04/26(火) 23:37:30.81
399です。 先輩方本当にありがとうございます。 でも、うちの仕事場ではクラス設計している暇がありません。もちろん教わる場もありません。 皆さんはどうやってその知識を持つに至ったのでしょうか? それともこんな基本的なことがわからないならプログラマを辞めるべきなんでしょうか。ぺっ
>>403 > import java.lang.Math;
この部分不要なんだが、なぜ入れたんだ?
C言語で大規模なプログラムを書くことを経験すべき なぜ昔の人がC言語だけでは駄目でC++やJavaを作ったのかを理解すべき クラス設計とかオブジェクト指向とかを身に付けたいという姿勢ではなく 分かりやすく改造に強いプログラムとは何かということを追求すべき 経験を積めば段々分かってくるとにかく口を動かす暇があるなら手を動かせ もしくはあきらめろ
>>419 static importをやろうとして
失敗したように見えなくもない
>>417 Antはコンパイラじゃない。ビルドツール。
Antでコンパイルするといっても、Antがコンパイルを実行するときには(Windowsなら)javac.exeを実行する。
http://caucho.com/download/quercus-4.0.11-src.jar をダウンロードしたがbuild.xmlなんぞ見つからなかった。
Antでコンパイルできるなんぞどこに書いてあったんだ?
Subversionのリポジトリが公開されているから、ここからチェックアウトしたほうが速いんじゃないのかね。
svn://svn.caucho.com/resin/trunk/modules/quercus
>>418 初心者には結城浩の『Java言語で学ぶデザインパターン入門』なんかがクラスの作り方を
勉強する上でかなり役立つ。こういうところから勉強していくもの。
他に、『Effective Java』もお奨め。内容がJava5以前のバージョンのもので古いが『Javaの鉄則』『Javaの格言』もいい。
『アジャイルソフトウェア開発の奥義』は内容がこすぎて読む時間が足りないかも知れないが
デザインパターン入門は読みやすく初心者にはわかりやすい。
あれをマスターしたら『Effective Java』やIBMのDeveloper Worksの記事でも読めばさらに理解が深まるだろう。
IPメガネってどうやってだすんだっけか
サーブレットのFilterのなかでDAOを使うにあたり、Springインジェクション(デフォルトだとSingleton)て使っても問題ないのでしょうか? イメージ的にはFilterってある程度独立して動いたほうがいい気がするのですが。フィールド変数もどの程度使っていいものか。
425 :
デフォルトの名無しさん :2011/04/27(水) 14:41:15.86
javax.xml.bind.annotationを使って外部XMLファイルからクラスのフィールドを初期化したり インスタンスが作られたりするクラスがたくさんあるんですが、 ほとんどのクラスは成功するのにあるクラスだけインスタンス化されません。 しかしエラーメッセージも出ないのでどうなっているのか分かりません。 どうデバッグすればいいんでしょうか?
Javaって本買わなくてもネットで大丈夫?
全然大丈夫
429 :
デフォルトの名無しさん :2011/04/27(水) 21:18:55.45
JSPを覚えたいのですが、例えるとこういうものと認識してよいのでしょうか? JSP=HTMLにPHPコード<?PHP〜?>を埋め込んで使う感じ サーブレット=PHPをHTMLに埋め込まず、PHPコードがメイン。HTMLを埋め込む場合はechoかprintで出力する感じ。 また、JSPとサーブレットはどちらがサイト作成に使われるものでしょうか?
>>418 おれは、新人のとき、やる気だけはあったので、よく技術本を読んでたんだけど、なかなかオブジェクト指向を理解できなかった。
ある時、本を読んでも、書けないことに気づいた。本には現実離れした例ばかりだしな。
乗り物interface、自動車Abstractクラス、スーパーカー具象クラスとか業務であるかよって例でしょwwww
で、どうしたかというと小さめのオープンソースのコードを読んで、
ベテランはどういうクラス構造にするか、どういうメソッドを作るかをいうのを研究し、
実際の仕事で似たものを作ってみたり、まぁ初めは「お前Abstractって書きたいだけだろwみたいなコード」だったんだが、
だんだん理解が深まったよ。参考になれば。
>>422 ありがとうございますまじで。
結城さんってギコのデザパタのサイトの方ですよね?とてもわかりやすかったですしおすすめとあればやっぱり買います。
デザインパターン、自分で調べはじめてからやっと言語を超えたプログラミングの楽しさがわかりました。
ただ、どうしてもプロジェクトの規約によっては業務側の形がダサくなることにイライラしてました。
そこは以前教えていただいたドメイン駆動設計ってのを勉強していこうと思います
>>430 わかりますたぶん今の私も「おまえインターフェース使いたいだけだろ」状態です。
使ってみたらわかりました。業務側ではあまり使いどころがないw
でもそんな業務側を変えてやりたい一心で勉強しますっーか、まず小さいプロジェクトを作ってみます。ありがとうございました!
無理数をprintfを使って√のまま表示するときは どういうふうに書けばいいですか? %4fとか書くと小数点になってしまいます
計算する際にdoubleの精度より下の桁は切り捨てられ有理化してしまいますので、 その時点ですでに小数点になっており、元が何であったかは記憶されていません 記憶されていないものを表示させることはできません 平方根を取る前の値を自分で覚えておき、表示してください
>>430 昔はいい本があまりなかったのもあると思うよ
特に入門書は今でも微妙なものが多いし、
かといって一足飛びにデザインパターンだ!!ってことでGoF本に突撃しても
たぶん大部分の初心者は理解出来ない
最近は『オブジェクト指向のこころ』とか、まともに読めて有益な書籍がある
interfaceとかabstractって理解するまでが大変なんだよね。 ちなみに私はAndroidのソースコードを半年ほど研究して自由に使えるようになった。 Androidフレームワークの車輪を再発明してるとinterfaceの使い所なんてのも分かるようになった。 その結果、 abstractはドリルで穴が空けられた樽で、その穴に蛇口を付ける事が出来る物 interfaceは樽やドラム缶にドリルで穴を空けてそこに蛇口を付ける行為 と定義する事が一番自然な形に近い事が分かった。 車とかに例えるよりこっちの方が分かりやすいと思うんだけどなぁ
Java仮想機械のガベコレは世界一なの?
interfaceは逃げ、abstractはマンドクセ これが俺の理解
javaでhtmlを読み込んでpdfに変換して欲しいとのとんでもない要求を出されたのですが、そんな方法やライブラリはあるでしょうか?
ググれカス お前に要求を出した事自体がとんでもハップン歩いて5分
Eclipseでブレークポイントで止めている間にコードを書き換えたら反映されますか?
場所によっては
eをマクローリン展開をして第15項で打ち切って近似値を出したくて 下のように書いたのですがうまくいきません どこがおかしいのでしょうか? public static void main(String[] args) { double sum = 1.0; for(int i=1; i<15; i++){ sum = sum + 1/fact(i); } System.out.print(sum); } static int fact(int n){ if(n<=0){ return 1; }else{ return n*fact(n-1); } }
1/fact(i) 1.0/fact(i)
>>426 昔は本買ったほうが勉強しやすかった。
今は買わなくても学べるサイトがいくらかある。だが本を買ったほうが効率がよい場合もある。
とくに特定分野に関することや応用的なことに関しては書籍のほうが
習得が早い場合もある。書籍がネットより学習しやすい点はパラパラと本を捲って
ざっと概要を掴めること。
>>429 使い方としてはそれに近いが
厳密には違う。
JSPは初回実行時にHttpServletを継承したクラスに変換して
workディレクトリにソースコードを生成してその場でコンパイルしてから実行する。
基本、JSPとServletは併用するもの。
昔からよく使われていたのがMVCアーキテクチャでJSPがView、ServletがController、DB等がModelとして扱われるもの。
PHPやASPそっくりな素のJSPはいろいろ問題があったから、
Apache Struts、Apache Tapestry、Java Server Facesといった技術が登場してきた。
今じゃこれらの技術も完全枯れてしまったか時代遅れかもしれん。
>>430 オブジェクト指向なんて、理系分野の理論を勉強する感覚だ。たとえば電気回路でオームの法則の共振回路を勉強したって
複素数やらなにやらが沢山出てきて最初はまったく意味不明で、勉強しているうちに、あるときにハッと理解できるようになる。
>>431 ギコのデザインパターン、そんなのあったね。マルチスレッド編より先に、マルチスレッド編でないほうから読んだほうがいいのではないかと。
>>435 GoF本は難しいから、だから結城浩の『Java言語で学ぶデザインパターン入門』がお奨めなんだが。
あれならすぐに理解できうかと。あの本を読んでinterfaceや抽象クラスを効率よく使う方法がわかった。
>>433 C++のSTLにはRationalクラスというのがあり…
だがIrrationalクラスはなかったな
Javaにも似たようなのがどっかにあったな
有料版で。
MATLABのsymlinkなら変数をシンボルに変換して
そういうことができるんだが
Javaでは個人か組織が作っているそういうAPIを探さなければ無理。
Apache Commons Mathには複素数を扱うComplexクラスがあるが
>>436 > その結果、
> abstractはドリルで穴が空けられた樽で、その穴に蛇口を付ける事が出来る物
> interfaceは樽やドラム缶にドリルで穴を空けてそこに蛇口を付ける行為
> と定義する事が一番自然な形に近い事が分かった。
> 車とかに例えるよりこっちの方が分かりやすいと思うんだけどなぁ
それだと多重継承を説明するのにちょっと
>>440 それをJavaで作る必要があるのか?
すでにHTMLをPDFに変換するソフトならいくらでもあるぞ。
どうしても作りたければこのAPIで作れるのでは。
http://www.itextpdf.com/ 日本語を含むHTMLも変換するにはiText.jarに加えてiTextAsian.jarも必要な。
> abstractはドリルで穴が空けられた樽で、その穴に蛇口を付ける事が出来る物 > interfaceは樽やドラム缶にドリルで穴を空けてそこに蛇口を付ける行為 こんな分かりにくい説明初めて見たわw
interfaceは外部の都合 abstractは内部の都合 外部から共通に呼び出したいならinterfaceを使うし 内部で共通の処理を持ちたいならabstractを使う だからabstractクラスは外部に開放されるべきではない だから多くの場合は外に見せるためにinterface作って さらに内部の処理をまとめるためにabstractを作る
イベント的なメソッド作りたいな。Abstractにして、onXxxx()っていう抽象メソッドつくるかな。とか、 あー、ファクトリ作ろうとしてたけど、条件ありすぎだわ。こりゃビルダーにしないと。とか、 そういう感覚を養うには、オブジェクト指向の理論や本よりも、オープンソース読みまくって、いろいろ試してみることをおすすめする。 こういうクラス構造であるべきとか熱く語るくせに、ソース書かせたらまるでダメな人ってイタい。おれはそういう人になりたくない。 よくわかんねーけど、例えばこんな感じ?って書ける人になりたい。 本から入ったほうが理解が速いっていう人もいると思うけど、自分にはこっちのほうが合っていた。
453 :
デフォルトの名無しさん :2011/04/29(金) 12:29:58.51
人のライブラリとか見てるとクラスに<E>みたいなのが付いていたりするけど、 これってなんて名前の技術なの?
ジェネリクス コレクションとかで見かけると思うけど
「よくわかんねーけど、例えばこんな感じ?」 こーゆーのも困るけどな ちゃんと「こんな感じ」にしたときのメリットデメリット語れないと
ジェネリクスですか。 ありがとうございます。 これで作業に組み込めます
(おまえが何いってんのか)よくわかんねーけど、(要件を元に適切な設計するなら)例えばこんな感じ? って意味だろうな。
458 :
452 :2011/04/29(金) 13:02:59.45
>>457 あ、そうです。説明不足申し訳ない。
こういうことを要求されている。と要件を伝えたあと、
「こういうクラス構成であるべき、いやここはインタフェースであるべきで、(略」とかやってるのをみるとさ、
そんなもんコードつくりゃメリデメわかって速いじゃない。って思うんだ。
うざい
コレクションに対してLINQみたいなことはできますか?
無理
オブジェクトがどこから参照されているか、逆にどこからも参照されていないことを 知るにはどうしたらいい?
jhatでヒープダンプを取る
インターフェースだけ定義されていて、まだ実装されてない関数を呼んだら UnsupportedOperationExceptionを投げとけば良いですか? UnimplementedExceptionという名前の例外があればいいのですが、 どこを探しても見つかりません。
作ればいいジャン、UnimplementedException
466 :
464 :2011/04/30(土) 10:21:22.09
可能ならなるべく標準の例外を使ったほうがいいと思うのですが、どうでしょうか?
>>462 クラスにstaticな変数を持たせる。参照されたらその変数を更新する。
.classになってれば話は別。
>>466 じゃあ一番近そうに見える標準の UnsupportedOperationException から派生して UnimplementedException を作ってみては
469 :
464 :2011/04/30(土) 10:31:37.07
>>468 案1:標準のUnsupportedOperationExceptionを投げる
案2:標準のUnsupportedOperationExceptionを派生した独自例外NotImplementedExceptionを投げる
どちらがJavaの慣習により沿っているでしょうか?
(どちらでもいいというのはナシで)
Exceptionの継承は標準じゃないんじゃないか
NotSupportedExceptionが.NETと全然違う意味で驚いたのも今は昔
>>451 ま、interfaceは濫用しすぎると危険だからな
たまにAbstractよりinterfaceのほうが便利だからといって
やたらとinterface実装を多様したひどいコードをみかける。
interfaceはpublicだからとんでもないものがみんな丸見え
未だに定数としてインターフェースを使っているコードも見かける
Enumにしとけって
>>469 おれなら、UnsupportedOperationException投げる。
それからJavaDocに「@deprecated 未実装です。使用しないでください。」と書いとく。
eclipseの環境なら取り消し線でるから使用者が間違わない。と思う。
javaでeclipse使いとかプログラマとして終わってるだろ。 エンジニアとしての成長の可能性0 LAMPでPHP書いてる下層PGの方がまだマシなエンジニアになりそうだ。
プログラマとエンジニアのキミの定義は?
プログラマ ⊂ エンジニア
itは稼げる時期が短いからな。
効率よくやったほうがいいだろ
テキストエディタで規模のあるプログラムを書くのは馬鹿だろ…
Javaを敵視してる人たちってやっぱりemacsとかvimでガリガリやってるんですか?
eclipseにvimプラグイン入れてコーディングしてるな
new byte[]{1, 0} を整数の256に変換するには、どうすればよいですか?
b[0]<<8|b[1]
ByteBuffer使えば
c:\hoge\hoge.txt というパスからc:\hoge を取得するにはどうしたらいいでしょうか?
String path = "c:\\hoge\\hoge.txt"; File file = new File(path); String parent = file.getParent();
>>487 Windowsならパス区切りが \ だから new File("C:\\hoge\\hoge.txt").getParent()
それ以外なら String str = "c:\\hoge\\hoge.txt"; str.substring(0, str.lastIndexOf('\\'));
>>476 LAMPでPHPって、JavaがPHPに変わっただけじゃん
それで終わってるならLAMPでPHPプログラマやってるヤツなんかもっと終わってるよ。
PHPなんか型に曖昧な言語だから汚いコードばかり書いてしまうので、
エンジニアとしての成長の可能性はマイナス成長だ。
>>488-490 OS依存は避けたいから直接\\は辞めたほうがいいわな
\\のかわりにFile.separatorChar で置き換えたくなってくる
separatorChar使うやつは初心者
Tomcat7をインストールして、簡単なアプリを作って、ab -n 10000 -c 10 ぐらいでベンチマークしたんですが、 なんか結果が全然安定しなくて困ってます。 具体的には、リクエスト数が6000ぐらいになったところでとたんにフリーズしたかのように遅くなります。 JITでのコンパイルに時間がかかるのかと思いましたが、-serverオプション指定してるし、 2回目のab起動でもきまって6000ぐらいで遅くなるので、違うように思います。 (JITなら一度コンパイルされたあとは遅くなったりはふつうはしないですよね。) ばくぜんと、GCなのかなーとは思うのですが、いつも決まって6000ぐらいで遅くなるので、 GCがそこまで同じタイミングで発生するとも思えず、手詰まりです。 なにかアドバイスお願いします。
200未満の整数を入力 10 ←キーボード入力 あなたは10を入力しました 10は偶数です 10は3の倍数ではありません 200未満の整数を入力 105 ←キーボード入力 あなたは105を入力しました 105は奇数です 105は3の倍数です 実行結果がこうなるifかswitchの書き方解る人いますか?
>>494 いやあ、同じようなことしてるなら同じようになるんじゃね?
そこらへんでメモリが足りなくなってきてるとかさ
>>496 メモリは十分載んでます。4GBほど。またfreeでみてもメモリを食い尽くした感じではないですね。
そういえばjvm自体に使用可能なメモリ最大量の制限があったんでしたっけ。
それなのかなあ。
jconsole繋いで見てみては メモリの使用量とかグラフで表示してくれる
>>497 -Xmxでヒープサイズ指定してるよね?
>>495 ググればすぐ出てくると思うけど、%演算子で剰余を求められるから、入力された数をxとすれば x % 2 == 0 が真の時に偶数、偽の時に奇数となる。
同様に x % 3 == 0 が真だと3の倍数
jspとServletってどっちが多く使われているの?
同じ親クラスへ代入するインスタンス生成のコンストラクタ宣言(関数?)って 同じ配列に格納できませんかね? A a=new b[0](x,y); A a=new b[1](x,y); みたいなことをしたいです
Aってクラスの中にname変数とnum変数があったとして それをBクラスのDispメソッドに渡したい場合 A a = new A("name",1); B b = new B(); みたいに宣言して b.Disp(a.getName(), a.getNum()); ってやるべきなのか b.Disp(A a); ってオブジェクトをそのまま渡してDispメソッド内でget〜メソッドを使うべきなのか javaはじめたばかりなので教えてください
>>504 いろいろ考え方はあるが簡単には・・
まず後者の方法はAとBに強い依存関係が出来てしまうので、
Bが「nameとnumを処理するためのクラス」なら前者にするし、
Bが「Aというデータのまとまりを処理するためのクラス」なら後者が妥当になる。
また、例えば「Aというデータのまとまり」が別のクラスCから直接取り出したりした場合(A a = C.getA();)、
AとCに依存関係があるので、さらにAを直接Bに渡すとBとCにも依存関係が出来てしまう。
これを嫌う場合はあえて前者を採用したり、さらに「Dというデータのまとまり」を用意して
D d = new D();
copyProperties(a, d); // フィールド値コピー
b.Disp(d);
のようにする場合も多い。
どこが出所の情報でも構わないが名前と数字を受け取って、 Bクラスが何らかの処理をするのがdispメソッドの役割なら前者。 Aクラスの情報を受け取って何らかの処理をBクラスで行うのが役割なら後者。 後者はBクラスがAクラスのことを知っていなければならない。 AクラスとBクラスの結合度が違うから自分が求めている役割を実現する方を選択。
どっちかのやり方が間違ってるわけではないんですね 参考になりました、ありがとうございます
そもそもDispがAのメソッドだった方がいいんじゃないの?とか
オブジェクト指向のクラス分けなどが難しいのですが オススメの勉強方法や本があったら教えてください
作って公開する
Eclipseが鬼のように重いのですが 軽めの統合開発環境ってないでしょうか
512 :
デフォルトの名無しさん :2011/05/04(水) 01:31:20.06
Java遅いんだけど、sendfile(2)みたいなメソッドないの?
514 :
デフォルトの名無しさん :2011/05/04(水) 02:17:58.66
クラスってのは設計図であって、newすることによって実体が作成される クラスの構造を勉強する場合に、世の中にある物(オブジェクト)を クラスに置き換えたらどんな構造になるかいろいろ考えると見えてくるよ たとえば、車クラス、携帯電話クラス、パソコンクラス、住所録クラス、などなど 車クラスなら class car{ int 重量 int 排気量 String タイヤ型番 ・・・ ・・・ ・・・ void 重量表示(){ } void 排気量表示(){ } boolean エンジンON(){ } boolean エンジンOFF(){ } boolean ギアチェンジ(){ } ・・・ ・・・ ・・・ } って感じね。 あるクラスにはどのような属性・値(フィールド)があって、どのような動作(メソッド)が あるかを意識することが大事ですね! がんばって!
>>513 Javaが遅いこととsendfileにどういう関係があるのかしらないけど、
sendfile相当はFileChannel#transferTo
516 :
デフォルトの名無しさん :2011/05/04(水) 12:08:22.04
Int型 112111 左から3番目の2を取る命令文教えてください
(112111 / 1000) % 10
>>516 > Int型 112111
>
> 左から3番目の2を取る命令文教えてください
>
(112111-110111)/1000
519 :
デフォルトの名無しさん :2011/05/04(水) 13:05:42.74
Linux(x86,32bit)上のJava(1.6.0_24)で、サイズが2Gバイト以上の ファイルに対して File#setLastModified() を実行するとかならず失敗するの ですが、これはバグですよね。 こういうのはどこに報告すればいんでしょうか。
>>519 書き込み権限がないとか、そーゆー話でなくて?
521 :
513 :2011/05/04(水) 14:14:06.01
>>515 返信ありがと。
Socket同士の場合はできないんですね。
522 :
デフォルトの名無しさん :2011/05/04(水) 15:03:44.97
あるクラスの関数をstaticでも非staticでもアクセスしたいのですがどのようにしたらいいでしょうか?
非staticならインスタンス生成してからアクセスすればいい。 もしくはソース弄ってstaticにしてしまう。
じゃヴぁプログラマーです。って言うのは恥ずかしくないですか?
じゃヴぁプログラマーです。って誰が言ってんの?
少しぐらい恥ずかしいほうが快感じゃないか
527 :
522 :2011/05/04(水) 16:45:13.23
>>514 わかりやすく説明ありがとうございます!
いろいろ考えてみますね
Cでいうsystem("cls");はJAVAだと何に当たりますか?
jarまたはclassを実行したjava.exeのパスを プログラム側で取得することってできますか? それと、jarを起動しHTTP経由でサーバ側のjarファイルの 更新日時を確認し、サーバ側が新しい場合はjarファイルを 更新したいのですが、実行中のjarファイルを更新する方法って 何かありませんか?
>>531 1番目のは環境変数から間接的になら簡単だが・・
2番目のはJavaWebStartじゃいけない理由があるんだよな?
533 :
531 :2011/05/05(木) 11:54:22.20
>>532 レスありがとう。
2番目はJava Web Start以外で何か方法がないかと。
534 :
デフォルトの名無しさん :2011/05/05(木) 23:04:00.56
何かを取得するメソッドの命名について get〜かcreate〜かで悩むのですが 使い分けの基準はありますか? ぐぐったらファクトリメソッドにはcreate〜をつける規約があったのですが。 インスタンス変数の値に何らかの処理を加えて返す 引数なしprivateメソッドの名前はget/createどちらが相応しいでしょうか?
privateなら何でもいい気もするが俺ならget。
新しいインスタンスであることが重要または特徴である場合は create とか new とか 別に既存のインスタンスであっても問題でない場合は get とか
537 :
534 :2011/05/06(金) 00:16:04.79
25もアップデートしなくていいから早く8を出せ
540 :
デフォルトの名無しさん :2011/05/07(土) 02:52:25.64
JavaでURLから.mht形式でページを保存するにはどうすればいいのでしょうか
542 :
デフォルトの名無しさん :2011/05/07(土) 16:40:10.42
JDKが持っているjarファイルについて一部古いバージョンをeclipseのデバッグ実行から使わせたい場合どうすればいいですか?
>>464 NetBeansのIDEサポートだと
UnsupportedOperationException 投げるようなコードができるからそれに合わせとけば?
>>542 そもそもEclipseはデバッグ時OracleのJDK使ってない。
え?
Javaで書かれたプログラムが実行中たまに異常にCPU使用率が上昇するんですが どこに問題があるかをどうやって特定したらいいですか?
Canvasクラスとかの使い方が書いてあるお勧めのBOOKとかサイトってありますか?
OReillyのJava Swingって英語版しか出てないんだよなあ 1200ページもあって凄い充実してそうなんだが
コードは世界共通なんだから英語版で十分だろ
>>547 gc だろ 。gw は 終わった5/9
>>547 普通にプロファイラ使うといいと思うよ。
まともなIDEなら、CPU喰ってるメソッドやGCの負荷とか統計出してくれるはず
メソッドが良く分からんのですが、 Cで言うところのサブルーチンみたいなものですか? サブクラスとして宣言すれば、 他のクラスからインスタント化して再利用可能とか? サブクラスとメソッドの住み分けが良く分からないといった状況ですorz
555 :
547 :2011/05/09(月) 23:13:56.57
大人数が接続するサービスでたまに発生するので 開発マシン上ではなく公開サーバ上の実行中のプログラムで分析できると楽なのですが そういう方法はありますか?
それはプロファイラでできる
jvisualvmを使ってみましたがCPU占有率ではなく単にスレッドの経過時間を計測するだけなので DB書き込み処理をするメソッドばかり上位に表示されてしまいました CPU占有率を表示してくれるプロファイラを教えてください。
質問です。 JAVA VMのデバッガを使ってclassファイル(バイトコード)を抽出する事は可能でしょうか? あるjarファイルに格納されてあるclassファイルをまとめてjavaソースにデコンパイルしたいのですが、 呼ばれた順番にJavaソースを取得したいので、どなたかこの辺の知識に詳しい方お願いします。
>>558 逆コンパイルはJad
バイトコードはEclipseのBytecode Outlineプラグインを参照
NetBeansで画面つくって同時にプロファイラも使えて便利でした
>>559 jconsoleはクラスをロードした順番とそのクラス名が取得できそうですね。
クラスファイルは取得できるのでしょうか?
usbからの情報を取得したいのですが、JSR-80というAPIを使えばできるのでしょうか? OSはLinuxで作っています
564 :
デフォルトの名無しさん :2011/05/11(水) 00:54:39.86
ナンバー型をストリング型に変えて変数に入れたい。どうすれば? of使ったがエラーになる
566 :
デフォルトの名無しさん :2011/05/11(水) 08:14:57.43
ナンバーBをストリングAの変数にしたい場合 ストリング A = tostringB ってこと?
Number number = 1; String s = number.toString();
JAVAでUSBカメラの制御を行う方法として、JMFを利用する以外には どのような方法がありますでしょうか?
kill -3 <procId> このコマンドでスレッドダンプ出力させるとプロセス死にますよね? プロセスを死なせずにスレッドダンプを取る方法はありませんか?
570 :
デフォルトの名無しさん :2011/05/13(金) 01:10:25.63
Javaの勉強の為アプレットでゲームを作っているのですが、 ゲームを作るのに便利なライブラリとかありませんか
571 :
569 :2011/05/13(金) 01:17:48.93
windowsだとプロセスを停止せずにスレッドダンプが取れるのに Linuxだと出来ません なにか方法はありませんか?
572 :
デフォルトの名無しさん :2011/05/13(金) 02:05:20.09
サーバープログラムの勉強をしているのですが、 static Vector connections; という宣言をすると、Eclipseで 「Vector は raw 型です。総称型 Vector<E> への参照は、パラメーター化する必要があ ります」 というエラーが出ます。調べたんですが、raw型というmのが今市理解できません。 どうもJDK1.5から出来た制約らしいですが、これはどのように直したらよいのでしょうか?
>>572 型、クラスを指定してあげる
例
Vector<Integer> v = new Vector<Integer>(0);
最近の日本語では全くという意味でいまいちという言葉を使うんだな
>>570 Javaの勉強のためだというなら便利なライブラリに頼らず自分の力で苦労して作れ。
どうせなら自分が便利だなと思えるライブラリ自体を自作すればもっといい。
576 :
デフォルトの名無しさん :2011/05/13(金) 02:37:49.38
>>573 レベルが低くてすみません・・・
Vectorというのはクラスではないのでしょうか?
それにさらにIntegerというクラスを指定してあげるということでしょうか?
あと、コンストラクタが0ということは、
このオブジェクトは、全ての要素が0のオブジェクトとして初期化されたのでしょうか?
A, 0 B, O C, O D, ○
578 :
572 :2011/05/13(金) 02:42:36.94
>>573 すみません。実は下記の行でもエラーが出ます
connections.addElement(s);
エラーメッセージは、
型 Vector<Integer> のメソッド addElement(Integer) は引数 (Socket) に適用できま
せん
となります。どのように改編したらよいのでしょう・・
579 :
572 :2011/05/13(金) 02:45:06.04
>>573 型のIntegerをObjectにしてみたらエラーが消えました。
よくわからないけど、ためしてみます
>>554 ごめんなさい、よく分からないんですが、
メソッドってクラスがそれぞれ持つ機能じゃないの?
住み分けって?
>>580 サブルーチンとサブクラスを同じような存在と
>>554 は思ってるんだろ
みんなさわらないようにしてるんだからふれるな
>>579 Vectorにこれから突っ込む続けるオブジェクトの型をそこで指定するんだよ
分からないのは分かるけど例をそのまま入れれば
解決すると考えるのは止めたほうがいいっす
>>578 えーと Integerはあくまで例です
Socketクラスを引数に渡したいなら、Vector<Socket>でいけるかと
まあ、Objectでもいいですけど・・・
Javaで同じプロセス中の他スレッドの情報(実行中のメソッド等)を取得する方法はありますか?
585 :
572 :2011/05/13(金) 03:06:49.98
>>582 >>583 本当にありがとうございます。
プログラムは無事動きました。
Objectに指定したら動きました。
Vectorクラスとかのことを本で勉強したいのですが、
私の記憶では独習JAVAクラスの本ではそのあたりの記述はあまりなかった気がします。
どんな本を読んだらそのあたりの入門にはいいのでしょうか?
おライリーはちょっと難しそうですが・・・
>>584 Thread#getThreadGroup()でカレントスレッドのThreadGroupを取得すれば、
そのサブグループも含めて所属するアクティブスレッドを取得できる。
さらにThreadGroup#getParent()で親グループを取得できるので後はループもしくは再帰で。
>>585 言語仕様が拡張されていくことを踏まえると、
更新されつつある資料を調べる方が無駄がないと思う。
>>585 独習Javaの新しい版では
ジェネリクスについての話が少し追加されているはずだが
とりあえず適当にぐぐってみれば?
Minecraftってネットゲームやろうとしたら
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x52024340, pid=5280, tid=4124
#
# JRE version: 6.0_25-b06
# Java VM: Java HotSpot(TM) Client VM (20.0-b11 mixed mode windows-x86 )
# Problematic frame:
# C 0x52024340
#
# If you would like to submit a bug report, please visit:
#
http://java.sun.com/webapps/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
ってエラーが出た
Minecraftの質問スレじゃ解決しないしJava関係そうだからこっちきてみた
よければご回答よろしくおねがいしますです
>>592 やってみたが
ログインした後すぐ画面真っ暗になるわ
これはJavaの問題じゃなさそうなんでまたMinecraft質問戻る
なんかありがとう(´・ω・`)
>>593 ざんねん・・
ATIのビデオカードだと起こるそう・・
別の解決方法では、.bat ファイルを自作して
java -Xmx768M -Xms256M -jar minecraft.exe
というような内容(割り当てメモリを増やす)のコマンドを記述して実行するもの。
minecraft.exe があるフォルダ内に .bat ファイルがある状態に─。
Vector使うケースって未だにあるのか…
>>594 それはやったけど直らない(´・ω・`)
やっぱりATIだからか・・・
なんかbatで開いたときにat Java.lang.Thread.run(Unknoen Source)みたいなのが並んでるんだが
それも書いておいたほうがいい?
597 :
デフォルトの名無しさん :2011/05/14(土) 17:07:37.84
他クラスのArrayListの内容を別のクラスのArrayListにコピーしたい のですが、 ArrayList<People> peoples=new ArrayList<People>(TryPeople.people); だと上手くいきませんでした。 どのように書けば良いのでしょうか?
for文で回してPeopleのフィールドをひとつひとつコピーしてください
600 :
デフォルトの名無しさん :2011/05/14(土) 18:02:45.33
>>598 シンボルが見つかりません
変数 people
TryPeopleのクラス
TryPeople.people
^
と出てきます。
ちゃんとTryPeopleクラスにpeopleは存在しています。
601 :
デフォルトの名無しさん :2011/05/14(土) 18:03:50.29
>>600 TryPeople.people
^
です。すいませんずれました。
privateなんじゃね
603 :
デフォルトの名無しさん :2011/05/14(土) 18:04:37.61
publicです
ソース全部貼り付けちゃいなよ、YOU!
605 :
デフォルトの名無しさん :2011/05/14(土) 18:32:00.07
getPeople()で何をやってるの? TestPeople.Peopleの意味が分かりません。 ってか人間オブジェクトなのにgetでリスト返すとか意味が分からない for(People s : people){ s.show(); } じゃだめなの?
607 :
デフォルトの名無しさん :2011/05/14(土) 18:47:44.29
駄目らしいです。 getPeopleでpeopleの内容をコピーしてそれをshowで表示させるのだそうです。 が、私自身もまったくこれをやる意味が分かりません。
609 :
608 :2011/05/14(土) 18:59:08.45
pass:774
610 :
デフォルトの名無しさん :2011/05/14(土) 19:05:02.93
>>609 ありがとうございます。
位置が違ったんですね・・・
そもそもPeople.getPeople()がまず意味のないロジックだ。
JAppletで画像を表示させて押した矢印キーの方向に移動させるプログラムを作っています。 上下左右への移動はできました。 斜めの方向にも移動ができるようにしたいのですがどういう風にすればいいのでしょうか?
矢印キーに斜めはないから、しなくていいんじゃないか それかテンキーの 1 3 7 9 を使うとか
>>613 少し言い方が悪かったみたいです。
たとえば↑と→を同時に押したときに斜め右上にいくようにしたいのですが…
各キーが押されてるか否かを覚えるboolean変数を作る boolean upKeyIsPressed; boolean downKeyIsPressed; 以下略 KeyListenerを実装して、 onKeyPressedで押されたキーに対応するboolean変数をtrueにする onKeyReleasedで離されたキーに対応するboolean変数をfalseにする 各boolean変数を見て複数同時にtrueになっていたらそれらは同時に押されている
>>615 boolean型を作って判定すればいいのですね。
ありがとうございます。試してみます。
javaよくわかんないんですが質問です。 パッケージを落としてきたので、ビルドしたいのですが、Makefileはあったのですが、どうやってメイクしていいのかわかりません。 makefileの内容は all: jar cfm analyzer.jar \ Manifest.txt \ org/sump/analyzer/*.class \ org/sump/analyzer/tools/*.class \ org/sump/analyzer/icons/*.png \ org/sump/util/*.class \ こんなです。 どうやってメイクしたらよいですか? javacってコマンドでやるのかと思ってたけどいろいろ試したけどできなかった。
618 :
617 :2011/05/14(土) 23:57:49.82
ちなみに試したのはこんなコマンド C:\test\src>javac -classpath org/sump/analyzer/ -classpath org/sump/analyze r/tools -classpath org/sump/util -classpath rxtx-2.1-7-bins-r2/RXTXcomm.jar org/ sump/analyzer/*.java org/sump/analyzer/tools/*.java org/sump/util/*.java エラー: org/sump/analyzer/*.java を読み込めません。 エラー 1 個
619 :
デフォルトの名無しさん :2011/05/15(日) 00:18:32.12
>>615 そういうのは、ビットマスクで表現するのがいい
int TOP = 1, LEFT = 1 << 1, BOTTOM = 1 << 2, RIGHT = 1 << 3;
とかやって、上と左同時押しされてたら
keyState = TOP | LEFT;
みたいにやる
622 :
617 :2011/05/15(日) 00:35:24.78
なんかいろいろ見ながらビルドしたらどうやらできたけど実行したら例外が。。 このパッケージってJDK1.4.2で作ったって、サイトには書いてあったんだけど 今、JDKの公式行ったら、JDK6ってなってた。 JDK1.4.2ってだいぶ前なの? JDK6でビルドできるかな?できなくてもぜんぜん不思議じゃない? Java経験無くてよくわかんない。
623 :
617 :2011/05/15(日) 00:36:33.31
ちなみに出た例外はこんなんだけど。。 c:\test\src\LogicAnalyzer\client\all>java -jar test.jar test Exception in thread "main" java.lang.NoClassDefFoundError: Loader (wrong name: o rg/sump/analyzer/Loader) 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: Loader. Program will exit.
ソースコードの引き継ぎを頼まれたんですが、 Eclipseで開いたら「TODO 自動生成されたメソッド・スタブ」というのが1000個くらい有って、 すっごく泣きそうになったんですけどどうしたらいいですか…? 例外は全部printStackTraceされてました。 例外はキャッチして握りつぶしたあとreturn falseとかreturn nullとかしてます。多分全箇所でです。 何もやる気が起こりません。
しょーがねーじゃん そんな環境でしか働けねーんだから。
必要なな流れの部分だけ把握してあとは放置でいいよ^^
627 :
617 :2011/05/15(日) 02:04:34.86
動いたんでもういいです
>>620 どこがだw
SWT や AWT のイベントマスクでもこの方法は使われてるだろう
どこでも見かける、すっきりした超スタンダードな書き方
たしかに昔から良く使われてる方法だな。型安全じゃないのがアレだが。
>>628 だからそれがもう古いと言っている。
取り敢えずEffectiveJava位読もうぜ。
頭でっかちになっちゃう人はどの分野にも多くいる
じゃあこうだな enum Key { UP. LEFT, DOWN, RIGHT }; EnumSet<Key> keyState;
>>624 1000箇所の仕様をすべて文書化しろよ。って前任者にいうべき。
634 :
デフォルトの名無しさん :2011/05/15(日) 20:15:12.93
教えて クラスAにメンバー変数としてstatic int x = 0を書いて クラスBでクラスAをAiという名でインスタンス化してからAi.x=1とするのと クラスBでそのままA.x=1とするのはメモリ上でも同じことをしてるの?
同じ。ちなみに前者はコンパイル時に警告でるはず。
JavaのプログラムをEclipseでGitにてバージョン管理しています この環境で作成しているプログラムをEclipse上で実行した際や, プログラムをjarにエクスポートして,他のPCで実行した際などに,毎回 fatal: Not a git repository (or any of the parent directories): .git というログメッセージが標準エラー出力に出力されてきます 自分のプログラム内にリポジトリをいじるようなコードは含んでいません これは一体どこのクラスがどういう意味で出力しているのでしょうか ちなみにリポジトリ自体は正常に使えています
>>634 一秒間に何百回と contains, hashCode やら equals やら何度も
メソッド呼び出して、入力チェックするんだろう
こういっても詮無いことだが、ビット立ってるか確認するだけのほうが
いいだろう。コードも短くて済むし メモリもちょっと少なくて済むw
タイプセーフを無視できるなら。 なんだかんだでAndroidにまで定数指定のビットシフトは使われてるからな。 ちなみにEnumはコンパイルによって単なるint定数になる。
> ちなみにEnumはコンパイルによって単なるint定数になる おいおい
よほどかつかつな状態じゃないとtypesafe enum使うことで増える計算量やメモリ量は無視できる程度。 宣言側で考えればenum使ったほうがpublic static final連発するより短くなる。
>>636 eclipseのgitプラグインが出しているんじゃない?
コマンドラインで実行したらそのエラー出力はなくなりませんか?
>>641 2つのWindows環境でコマンドプロンプトからjava -jar hoge.jarと実行したときは、
内部のログ出力と一緒にfatal: Not a git repository〜が出てきました.
そして今度は別PCのUbuntuのコンソールでこのjarを実行してみたら
fatal:〜は出てきませんでした…
ソースのどこかにgitに関するコードが組み込まれているのかとも思ってたんですが
もうちょっと調べてみたいと思います
public static String getHash(String org, String algorithm){ if ((org== null)||(algorithm== null)){ return null; } MessageDigest digest = MessageDigest.getInstance(algorithm); try { byte[] buff = new byte[4096]; int len = 0; while ((len = in.read(buff, 0, buff.length)) >= 0) { digest.update(buff, 0, len) } } catch (IOException e) { throw e; } finally { if (in != null) { try { in.close(); } catch (IOException e) { } } 以上のあるパッケージの部分コードで、 InputStreamからファイルを読み込んでバイト配列に入れる処理はどのように書いた方がよろしいですか?
FileInputStreamで検索したら例でてくるだろ禿野郎
>>644 import package643;
public class Exsample{
public static void main(String[] args){
String value= "2ch";
String hash= Encrypter.getHash(value, Encrypter.ALG_SHA1);
System.out.println(hash);
}
}
自分で文字列だけ詰め込むことはできましたがFileInputStreamからの入れ方がよくわからん
具体例示してくれるとありがたいです
ローカルのSQLファイル 例えばGoogleChromeのクッキーファイルとか、Janeのキャッシュファイルとか を読み取り任意のコマンドを実行させるにはどうしたらよいのでしょうか ネット上にはSQLサーバーに接続して・・・の方法は載っていますが、ローカルのc:\programfiles\googlechrome\cookie とかのローカルのパスを指定する場合の解説が見つかりませんでした
データベースが何かをググってこい
そもそもJavaなのか
sqlite.jarとsqlite_jni.dllをネットのどっかから見つけてきて下を参考にすればできるよ javasqlite-20100727-win32.zipとか import java.sql.*; import SQLite.*; public class SQLiteHello { public static void main(String[] args){ try { Class.forName("SQLite.JDBCDriver"); Connection c = DriverManager.getConnection("jdbc:sqlite:/c:/sqlite/testdatabase"); //これを入れない場合は、コミットしなくてもコネクションを切れば自動でコミットされる c.setAutoCommit(false); Statement st = c.createStatement(); //INSERTなどのクエリを実行する場合は、こんなふうに。 //int rc = st.executeUpdate( "insert into testtable values(2,’Hello’,'World’)" ); ResultSet rs = st.executeQuery( "select col1, col2, col3 from testtable" ); while ( rs.next() ) { int i = rs.getInt(1); String s1 = rs.getString(2); String s2 = rs.getString(3); System.out.println( i + " :" + s1 + s2 ); } rs.close(); st.close(); c.commit(); c.close(); }catch(java.lang.Exception e){ e.printStackTrace(); System.exit(0); }}}
並列処理の中断について教えてください. スレッドを中断するときはinterruptを投げます. 中断される各スレッドは、自分自身がinterruptされたか判断するために isInterruptedメソッド使い、されていれば InterrputExceptionを投げて処理を中断させるのが一般的(?)だと認識しています. このinterruptされたかのチェック方法について質問させてください. isInterruptedメソッドは自分で処理の間に挟んで定期的に チェックしなければいけないのでしょうか? なにか、interruptされたら呼ばれるリスナー的なものはないのでしょうか? この辺の知識がまだ不十分でどのように処理してよいかわからない状態です. もしよろしければ、教えてください.
例えばループで処理しているなら、一回処理のたびにインタラプトされているか調べて、 されているなら、諸々の処理をして安全にループを抜ける処理を書く。 書いてることが古かったらスマソ
652 :
デフォルトの名無しさん :2011/05/17(火) 13:24:50.76
ちょっと大学の課題でつまったんだが質問してもいいだろうか?
すれ違い
高卒の俺でよければ答えるが
Date型で2011-05-17 17:17:00 の値のdatetimeを String.format("%tF %tT", datetime, datetime)で書式化出来るんですが datetimeが二つでスマートでないのでString.format("%hoge", datetime)で 同様の結果を得るにはどうhogeを書くのでしょうか?
>>649 横からなんですがそのドライバがAndroidにも非公式で入ってるんですが
executeUpdateで日本語をinsertすると
StringIndexOutOfBoundsExceptionでエラーになります。
何か回避方ありませんか?
SQLiteもJDBCも初めてなのでどのへんを攻めればいいかヒントだけでも助かります。
>>656 argument_index 使えばいいんじゃね?
String.format("%1$tF %1$tT", datetime)
660 :
デフォルトの名無しさん :2011/05/17(火) 18:37:01.91
どなたか課題といてくれませんか? 課題:ポップアップメニュー"to Binary","to Octal","to Hex"を持ち, メニューを選択してChangeボタンをおすと,テキストフィールドに入力 された10進数の数字が2進数・8進数・16進数に変換され, Labelに結果が表示されるプログラムを作成しなさい. ただしWWWブラウザで実行できるようにし,例外処理も行うことこと. アプレットの表示領域の大きさは横幅200、高さ100とする. 2進数・8進数・16進数への変換 Integer クラスのメソッドである,toBinaryString,toHexString, toOctalStringを利用せよ
それは全部自分で作るの?
662 :
デフォルトの名無しさん :2011/05/17(火) 21:18:56.46
やっべぇ、NetBeansつかわないとつくれねーやw
質問です。 ディレクトリ内の拡張子jpgのファイル名が欲しい時などに FilenameFilterかFilefilerを使うと思うのですが、両者の使い分けがわかりません。 どのように使い分けるべきでしょうか。
>>660 とりあえず作ってみた。
AWTかSwingかすら指定されていなかったから適当にAWTで書いた。
操作確認はFireFox4.0.1とアプレットビューワーで大体やった。
ソース内にコメントで大体の説明は書いてる。
>>663 名前だけで判断できるならFilenameFilter、
名前以外例えば更新日時なんかも使って判断したいならFileFilter
すいません。swingでおねがいします
>>666 仕事はや!
質問者じゃないが、うまくできてたよー
669 :
デフォルトの名無しさん :2011/05/17(火) 22:44:36.04
>>666 ありがとうございました^^ まさかほんとに返ってくるとは思ってなかって
感謝御礼です。また、分からなくなったらよろしく御願いします。
>>663 蛇足だろうけど拡張子だけを見るなら
javax.swing.filechooser.FileNameExtensionFilter を使ってもいい。
コンストラクタへの引数で説明と拡張子を指定するだけで動作する。
SwingのJFileChooser使う必要があるけど(確かAWTのFileDialogには対応していない)。
質問者じゃないけど俺も落とした
>>665 回答ありがとうございます。
FileFilterでも名前で判断したり、FilenameFilterで名前以外で判断したり、といったことも
できそうな気がしますが、そういうことは作法としてやらないほうがいいのでしょうか?
>>670 回答ありがとうございます。
知らないメソッドだったのでぐぐってみましたすっきり書けていいですね、頭に入れておきます。
大して長くないのにERROR:本文が長すぎますってなんなの・・・
POIについてなんですがシート全体のセルのロックを外したいのですが シートすべてのセルに対してスタイルを設定していくのは 非現実的なのですが、シート全体のセルのロックを全て外す というのを一括で行う方法はないでしょうか?
例外処理ですが、thorws連発してたらあまりにもthrowsだらけになってしまって throwsが望ましくないようなメソッドにまでthrowsがつくようになっていました。。。 で、例外処理の補足位置ってどういうポリシーが一般的なんでしょうか?
676 :
デフォルトの名無しさん :2011/05/19(木) 00:04:24.60
なぜcatchしないのかとw
>>675 ビジネスロジックの実装クラスでcatchしてRuntimeExceptionの派生クラスでラップしてthrow
質問の仕方が不明確でした。 catchをする位置に関しての質問です。 一番上までもっていくってポリシーだったんですが それだけじゃスマートじゃないよなと、はたと思った次第です。
679 :
デフォルトの名無しさん :2011/05/19(木) 00:12:56.46
モデルからビューにいったとき (ビューで別のExceptionに置き換える) 通信クラスからビジネスクラスにいったとき (ビジネスクラスが理解できるExceptionに置き換える) 多分だけど、階層がかわったときじゃないかなー >一番上までもっていくってポリシーだったんですが Exceptionを置き換えずに一番上までもっていくんですか? WEBブラウザにリモートプロトコルの例外が表示されていいとでも? もし画面がなくて、CSV出力するだけのプログラムだったらどうするんですか? ホストの電文に、スタックトレースわたすわけにはいかないですよね? 下請けしてるなら社名を明らかにするべきw
>>679 >Exceptionを置き換えずに一番上までもっていくんですか?
はいw
そこらへんは俺様アプリなのでとりあえず問題はないんです。。。
というより、それゆえあまり深く考えてこなかったんですねw
ロジックの階層の境目を越えないあたりですべて処理済みにしちゃうのが一般的ということですね。
勉強になりました。
681 :
デフォルトの名無しさん :2011/05/19(木) 00:19:31.83
階層がかわったとき以外に、処理をとめたくないときとかもcatchしないとですね。 電文を読み込むプログラムが、電文の文字列を数値として、Integer.parseIntでエラーになった場合とか 処理を全部中止する「べき」か、継続する「べき」かは仕様としてネゴをとる必要があるでしょう。 データベースの列の幅が短くて、SQLExceptionが発生した場合とかも、 それ以外の(例:商品)については、システムに投入する必要があるでしょう。 投入エラーについて、電文の生もまま、ファイルやDBなどに書き込む必要もあるでしょう。 この場合、上(ビュー)に投げるべきなのは、例外ではなく警告(メッセージのみ)となります。
TimeZone.getDefault()ってOSのタイムゾーンみてるんですか? 例えば、UbuntuやCentOSでタイムゾーンの設定をUTCからPSTに変えると実行結果もその直後に変わる? dateコマンドの表示がUTCのときは、Javaの実行結果もUTCの時間になって、 dateコマンドの表示がPSTのときは、Javaの実行結果もPSTになると。 ちょっと試す環境ないので(自分の怠慢ですが)、結果だけ教えてください
俺も気になる 暇人よろしく
選択ソート、挿入ソート、バブルソートの長所 短所を教えてください
685 :
デフォルトの名無しさん :2011/05/19(木) 11:55:30.49
>>680 選択ソート 3以上のソースからのマージにつかえる
挿入ソート ファイルとメモリをあわせてファイルに書き出せるのでメモリが貧弱でもよい
バブルソート 名前がかわゆす
686 :
デフォルトの名無しさん :2011/05/19(木) 11:58:26.58
687 :
デフォルトの名無しさん :2011/05/19(木) 11:59:15.40
>>682 ソース、ダウンロードしてきたらいいのかもしれない
多分JavaVM起動時のTZだと思うけど
もう少し詳しく説明してくれるとうれしい
689 :
デフォルトの名無しさん :2011/05/19(木) 12:02:45.06
ある関数でdouble 型の計算を行うとします。 そしてその計算を単体テストしたいと考えました。 例えばシンプルに、 public double add(double a,double b) { return a + b; } とあったとき、この計算を確かめたいとします。 main double ans = add(1.2,1.4); if(ans != 2.6)//これはヤヴァイ { fail(); } これは誤差の関係上ダメです。 ですが、こういう場合はどうすれば誤差を考慮にいれたテストとなるのでしょうか? これはjavaに限った話ではないのですが・・・
>>691 junit使ってるなら、
org.junit.Assert#assertEquals(double expected, double actual, double delta)
>>579 Objectはやめれ
やったらおまえを殴ってしまうかもしれん
>>691 差の絶対値が e 以下になるかを確認する
もちろん e は必要なほど十分小さくなるように選ぶ
695 :
691 :2011/05/19(木) 14:13:27.59
ありがとうございます!
>>692 なるほど!これを使えばいいんですね!
>>694 なるほど!!
考え方はよく分かりました。
eを選ぶ考え方の基準はどうすればいいのですか?
例えば100あたりの判定と1000000000あたりの判定では
1000000000はeは大きめでないといけないらしいぞと聞いたことがあるんですが
696 :
デフォルトの名無しさん :2011/05/19(木) 16:00:54.87
>>691 Math.ulp()使えば誤差の限界っぽい情報が求まる。
2.6のulpは4.440892098500626E-16あたりだ。
Math.nextAfter()使えば前後の値が解る。
2.6の次に大きい数は2.6000000000000005あたりで、
次に小さい数は2.5999999999999996あたりだ。
本来"2.600000000000000088817841970012523233890533447265625"
と書かなければならないテストコードを、いいかげんなテストプログラマが
"2.6"と適当な近似値で書いてもコンパイル結果が一緒だったのが気にくわないなら、
"0x1.4cccccccccccdp1"
とIEEEビットイメージで書かせればいい。
javaでの演奏について AudioClipで演奏は a1=java.applet.Applet.newAudioClip(Main.class.getResource(file)); a1.play(); というのはわかったのですが このa1が演奏中であるかどうか状態を知るにはどうすればいいですか? ググってみたんですがよくわからなかったのでヒントを下さい。
AudioClipはインタフェースなんだから、 デコレータパターンで操作追跡用AudioClip作ってくるむといいよ。 いくらなんでももう javax.sound.sampled に移行した方がよくないかい?
javax.sound.sampled midi ですか。 わかりました そちらに移行します。
701 :
691 :2011/05/19(木) 20:18:41.19
>>696 ありがとうございます。
>>697 とても理解が深まりました。
これで浮動小数点ともう少しうまく付き合えそうです!
解決です。ありがとうございました。
Javaで画像ビューアを作成しようと思っています。 ImageIO.read(File)で未対応の画像(例:MAG)を表示したい場合 どのようにMAG用ImageReaderを作成、登録するのでしょうか?
703 :
デフォルトの名無しさん :2011/05/19(木) 22:14:24.80
入力した引数まで、素数を探すものを書いたのですが、 何も表示しないでプログラムが終了してしまいます。教えてください。ソースコード下 class prinum{ public static void main(String[] args){ int hikisu = Integer.parseInt(args[0]); //上限を引数で取る first_loop: for (int num1 = 0; num1 <= hikisu; num1++){ //first_loop 始まり seccond_loop: for(int num2 = 1; num2 <= hikisu; num2++){ //seccond_loop 始まり int num3 = num1 % num2; //変数num3を置いて調べる数÷num2の余りとする if(num3 == 0){ //余りがゼロの時 continue seccond_loop; } //seccond_loop に戻る System.out.println(num1 + "は素数\n"); } //seccond_loop 終わり } //first_loop 終わり } }
>>702 javax.imageio.spiを参照。
>>703 > 何も表示しないでプログラムが終了してしまいます。
これまじ?
引数無ければエラー出るだろうし、負数か0を入力しない限り
2は素数 3は素数 4は素数 みたいに本当も嘘もおかまいなしにガンガン表示すると思うんだが。
707 :
デフォルトの名無しさん :2011/05/19(木) 22:37:50.12
>>705 コマンドプロンプトに
C:\program file>java prinum 5
で実行したら下に
C:\program file>
ってすぐ出てきました。
>>707 C:\Users\7743\Documents>javac prinum.java
C:\Users\7743\Documents>java prinum 5
1は素数
1は素数
1は素数
1は素数
2は素数
以下延々と続く……
Webアプリケーションのフレームワークの選択に悩んでいます。 今ならこれ!っていう鉄板な組み合わせとかありませんか? ざっと見た感じSpringかSAStrutsか、という感じでしたが。
いまさらStruts1系とか触りたくねーけどな>SAStruts 人を集めやすいとか言ったって、Struts1やってたドカタはもうAndroidとか行ってんじゃないの。 Struts2やSpringMVCは初見でも十分わかりやすいと思うけど日本じゃ主流じゃない感がありあり。 ViewはFreeMarkerやVelocityも触ったけど無難なのは巣のjsp(+jstl)だと思う。 データアクセスはiBatisだな。仕様変更の嵐にも対応できる。 ということで結論としては Apache Wicket + Hibernate が鉄板かな。 メンバーをワクワクさせる事のできる組み合せだ。
712 :
デフォルトの名無しさん :2011/05/20(金) 00:37:04.60
特定の型(独自に規定)のリストの値をソートして二分探索したいのですが、分かりませんでした。 comparatorを自分で作ってソートする所までは出来たのですが、 javaで用意されているクラスで二分探索する方法が分かりませんでした。 ご教授お願いします。 class original{ //年齢、名前を登録するbean int age; String name; public original(int arg1,String arg2){ this.age=arg1; this.name=arg2; } } //以下 年齢、名前が10個分入っているリスト List<original> beanList //mycomparatorは年齢順になるようにルールを規定 collections.sort(beanList,new mycomparator()) この後が分かりませんでした。。。 よろしくお願いします。
>>712 Collections#binarySearch
Android 開発をしようと、初めてJavaを触っています。 View を継承して好きな画面表示を作れるよと書いてある本を読んで、以下のコードを書きました: public class MyView extends View {} するとエラーが出ました: Implicit super constructor View() is undefined for default constructor. Must define an explicit constructor. そこで、Eclipse さんが教えてくれた available quick fix: Add constructor 'MyView(Context)' Add constructor 'MyView(Context, AttributeSet)' Add constructor 'MyView(Context, AttributeSet, int)' をそのまま実行してみました: public class MyView extends View { public MyView(Context context) { super(context); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); } public MyView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } } それでも同じエラーが出たままです。なぜでしょうか。
715 :
デフォルトの名無しさん :2011/05/20(金) 01:34:16.46
>>713 規定している型がString等の基本型なら探索出来たのですが、
original型を指定すると駄目でした。
Arrays.binarySearchとかいうものがあるみたいですが、
これも基本型のサンプルしか出てこないorz
>>714 わかんないけど、実行してるプロジェクトが間違ってるとか?
>>716 すみません、実行というのは quick fix をしたというだけです。
エラーが出ているのでコンパイルできていません。
718 :
715 :2011/05/20(金) 02:07:10.30
解決しました。第二パラメータの「キー」が分かりにくいですね・・ 一応ソース import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; public class test { public void testBinary() { List<original> testBeanList = new ArrayList<original>(); Random rnd = new Random(); int tempNum = 0; for (int counter = 0; counter < 10; counter++) { Integer ran = rnd.nextInt(100); original bean = new original(ran, "sameName"); testBeanList.add(bean); tempNum = ran; } Collections.sort(testBeanList,new myComparator()); int zzz = Collections.binarySearch(testBeanList,new original(tempNum, null),new myComparator()); } }
>>703 1個1個ツッコミを入れてみる
・引数がないときの対処は?
・NumberFormatExceptionの例外処理は?
・素数の定義は2以上の1と自身でしか割り切れない整数だから0,1,その数自身の判定は不要。
・if文の条件にしか使ってないから変数num3は不要
具体的な変更
・素数の定義を踏まえるとfor文の範囲はnum1が2 〜 hikisu、num2が2 〜 num1-1にするとよい。
・判定処理はsecond_loop内で1度でも余りが0になった場合素数でないので、
second_loopの前にboolean型の変数を用意し、余りが0になったときその値を変更するなどする。
処理の例
http://www1.axfc.net/uploader/Sc/so/235867.dat
素数って何?
素敵な数
722 :
714 :2011/05/20(金) 09:08:49.23
自己解決しました。保存しないと Eclipse さんがエラーチェックをやり直さないからでしたorz
723 :
709 :2011/05/20(金) 09:37:46.53
>>710 半分趣味なので一人でやろうと思っています。
リンク先のスレも参考にしようと思います。
>>711 趣味でやる場合、その「ワクワク」が結構大事だと思うので、
その組み合わせについて調べてみます。
レスありがとうございました。
仕様のような気がしてならないんだけど、 Queueをsynchronizedでロックしながら使っているんだけど、別スレッドからaddると、 ロックが解除される。 便利っちゃ便利だけど、どこでもnotifyやnotifyAllをしていない。 仕様でしょうか?
Queue型のオブジェクト(例えばLinkedList)のロックをsynchronizedで取得しても、 あらゆるスレッドからLinkedListにaddし放題だよ。 文句はLinkedListの作者まで。 Collections#synchronized***シリーズにQueueがないのかー。 BlockingQueueとput()を使うのはどう?
726 :
デフォルトの名無しさん :2011/05/20(金) 13:27:47.76
Queueって、溜めるときにnotifyするものとして使う場合を想定してるんじゃないかな。 notify先を自身でコーディングする以上、synchronizedもそれなりに実装してねっていう。 Queueをsynchronizedしていた場合だとしても、notifyでもっかいsynchronized獲得しなきゃならないから、実装してないんじゃない?
727 :
デフォルトの名無しさん :2011/05/20(金) 13:30:35.88
どこかのスレッドが一度でもsynchronized使うと、CPUのレジスタ割り付けが解除されてmemoryからsynchronizedされて値を取り出さなきゃならないから、 LinkedListにはsynchonizedつけて欲しくないな。 StringBuilderはうれしいと思うし
プリミティブ型のarraysを降順にソートするAPIはありませんか? どうしてもプリミティブ型をボックス化してComparatorで並べ替えるしかありませんか?
Arrays#sort()してから順番逆にすりゃいいんじゃね?
addする側のスレッドでQueueのロックを取得してないんなら 他でロックされていようがaddできるのはあたりまえ
732 :
728 :2011/05/20(金) 17:15:02.79
とりあえずそれでいきます。 ありがとうございました
>>709 趣味なら「Play framework」もいいと思う。
フルスタックなので迷わないでよい。(まぁ良し悪しだが。)
>>731 つうか「オラわくわくしてきたぜ」的な意味でワクワクと書いたのに困るよな
linuxで真ん中が透明の枠のようなウィンドウを作成する方法はありませんか? AWTUtilitiesでは対応していないようで挫折しています
答えを知らないのでヒントだけ、 jdesktop 透過ウィンドウ でググりなさい 大丈夫、あなたは出来る子
RHEL+GNOMEで半透明スプラッシュのアルファ成分が うまく表示されなくてあきらめた気がするんだが… 半透明ウィンドウの描画責任って誰にあるんだっけ? プライバシーにもかかわる問題なので、 それなりのセキュリティ障壁はあるはずと思うけど
738 :
デフォルトの名無しさん :2011/05/21(土) 10:08:28.56
strはString型。 String str = "あいう|えおか|きくけ|こ01|234"; String[] array = str.split("|"); を実行すると、1文字ずつバラされた配列が出てきてしまいます。 「|」は正規表現か何かの予約文字なのですか? それらを蟲して「|」でsplitする方法教えてください。
>>738 > 「|」は正規表現か何かの予約文字なのですか?
yes
> それらを蟲して「|」でsplitする方法教えてください。
String[] array = str.split("\\|");
String str = "あいう|えおか|きくけ|こ01|234"; String[] array = str.split("\\|");
741 :
デフォルトの名無しさん :2011/05/21(土) 10:38:55.54
エスケープシーケンス勉強しろ
743 :
735 :2011/05/21(土) 11:17:52.95
>>736 ありがとうございます。ググッてみます!
>>737 同じ状況です。アルファ値が無視されてしまったり
ubuntu+compiz環境ではウィンドウ全体を透過させることはできました
しかし一部を投下させる枠のようなものは作れませんでした
>>737 描画自体には責任発生しないんじゃないかね?
キャプチャ許すか許さないかの方では責任発生しそうだけど。
745 :
デフォルトの名無しさん :2011/05/21(土) 11:52:45.84
半透明のためにSunがGPLのOS弄ったって書いてあるじゃんか。できないんじゃね?
746 :
デフォルトの名無しさん :2011/05/21(土) 12:46:19.39
インターフェースで Money2 getYen(); と宣伝して、 実装したクラスで public Money2 getYen(){ return value*rate; } とするとエラーになるんですが、value*rateはdoubleです。 どこが間違っているんでしょうか教えてくださいお願いします。
747 :
デフォルトの名無しさん :2011/05/21(土) 12:59:01.57
Money2がインターフェースです
double getYen(); public double getYen(){ return value*rate; } じゃない? といかお金の計算にdouble使って大丈夫?
端数出さないんだからintでいいだろあほが
大きなお世話です
正規表現で躓いて動けないので、だれかたすけてくれ aがくっついていない数字をヒットさせたいんだが、下の例だとa333の後ろの33にヒットしてしまうんだ。 文字列 300 500 123 a333 12 正規表現 (?<!a)(\\d+) 誰か頼むよ
752 :
デフォルトの名無しさん :2011/05/21(土) 13:38:22.76
>>748 解答ありがとうございます。
あえてdoubleではなくインターフェース使っているんです。
Money2インターフェースに
Money2 getYen();
と宣伝し、
実装したクラスの中で
getYen();
メソッドで処理したいんですが、
753 :
デフォルトの名無しさん :2011/05/21(土) 13:41:22.26
おい、おまえら。プログラムなんてやってないで キャバレーでおんなのおっぱいでもモミモミしていお。
754 :
デフォルトの名無しさん :2011/05/21(土) 13:47:39.58
これが終わったらしたいんだけどww
>>751 これでどうよ。(?<=^| )(\\d+)
>>752 ならdoubleじゃなくてMoney2を返せばいいじゃん
>>755 ありがとう
文頭かスペースにヒットさせるのか。
ウーム、やっぱりそれしかないかな?
入力文字列がスペースが入らず、
444+300 500 123 a333 12
みたいな時も、444と300にヒットさせられると嬉しい
とりあえずは、スペースがちゃんと入っているかチェックするメソッドを入れて対処するわ
758 :
デフォルトの名無しさん :2011/05/21(土) 14:12:22.26
>>756 ならdoubleじゃなくてMoney2を返せばいいじゃん
これができないんです、教えてくださいお願いします
759 :
755 :2011/05/21(土) 14:14:19.07
>>757 それなら、(?<=^| |\\+)(\\d+)でいけるとおもうけど、
区切り文字とみなす文字がなんなのかだね。
>文頭かスペースにヒットさせるのか。ウーム、やっぱりそれしかないかな?
んー、どうだろう。
「区切り文字」と「数字が複数個並んでいる部分」の間に「a」が入っていない文字列を取ってくる。
って発想だったんだけど。「[\b]」だとダメだしね。
>>758 return new Money2();
>>759 ああそっか、区切り文字全部書いてやればいいんだ・・・w
ちょっちかっこ悪いけど、確かにそうだね
それも盲点だったわ
ありがとう
自分自身を返したいなら public Money2 getYen(){ yen=value*rate; return this; } キャストしないとyenは外からは見れないだろうけどね
763 :
デフォルトの名無しさん :2011/05/21(土) 15:00:03.78
>>762 解答ありがとうございました、うまくいきました。yenは外から見れなくていいです。
JavaでGUIの勉強をしようと思ってます。目的はそんなに思いついてないのですが、 とりあえずVBの入門書にあるようなGUIプログラムをJavaでも作れるようになろうかと。 そこでSwing、SWT、JavaFXのどれで作ろうか迷ってるんですが、どれがお勧めですか。 これを勉強しておけば他のプラットホームでも少しの勉強で何とかなるだろ、ってのがいいのですが。
Swingでいいんじゃね
767 :
デフォルトの名無しさん :2011/05/21(土) 16:36:45.18
Swingしかやったことないけど、Swingはいいよね
じゃSwingでやります。どもでした
何がナムコなんだ
レス番がナムコなのか
773 :
751 :2011/05/21(土) 17:37:15.30
>>768 あんた完璧!
最高!
自分で説明すると、
(?<!a|\\d)\\d+
・最初に\\d+(連続する数字)にヒットしてそこから後読み(戻り読み)する
・aが前にあった場合はヒットしない
・数字が前にあった場合はヒットしない
必ず数字の前には数字以外の文字があるという事だな!!!
当たり前のことでも、中々気づけないもんだね。
ありがとう!
やるなガンダム。
またそうやって訳のわからん事を言い出す おっさんかよ
まだまだ終わらんよ だっけか。昭和の人乙。
777 :
デフォルトの名無しさん :2011/05/21(土) 22:13:50.17
>>777 この課題でわからないところはどこでしょう?
そうしたら暇な人が、わからないところを回答するかもしれない。
今Swing勉強中です。 VBにはラベルをクリックしたらイベントが発生して、そこで処理を行わせたりできるんですが、Swingだと Labelにはクリックに対するイベントリスナーがなさそうですが、VBと同じようなことはできますか?
>>780 java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
java.awt.Component#addMouseListener(java.awt.event.MouseListener)
じゃダメとかそーゆー話?
>>781 なるほど、そういうイベントリスナーがあるんですね。勉強になりました
>>777 モリタポスレが答えてくれそうだったんだが‥‥‥。
CUIベースのRPGで 二次元配列を使用してMapを生成するコード教えて下しあ
String文字列ってStringを new した場合と違ってメモリ喰わないっていうけど、どうして?
ガベージコレクタで 使われていないオブジェクト2つが互いに参照してたら 参照ポインタ0にならなくてずっと残るの?
>>786 リテラル文字列は予め用意された参照を返すだけだから。
newした場合は、内容的には既存の文字列でも新たに割り当てが発生する。
>>788 じゃあ既存の文字列が2回以上参照されない場合はメモリの消費は同じ?
CUIベースのRPGで 二次元配列を使用してMapを生成するコード教えて下しあ
"/" と "\" を改行抜きでランダムにテキスト出力すれば、迷路模様がCUIに出力されるぜ
nethackを参考にすればいいんじゃないの
793 :
デフォルトの名無しさん :2011/05/22(日) 11:05:59.16
>>785 ありがとうございます。参考にします。。
794 :
デフォルトの名無しさん :2011/05/22(日) 11:08:33.36
>>787 一般的にJVMのGCは参照カウント方式ではない
だから何でこのスレで宿題なんだよ
>>778 にでも行けよ
797 :
デフォルトの名無しさん :2011/05/22(日) 12:38:15.64
小さい1kぐらいの画像を沢山表示させるようなモノ作ってるんだけど imageicon>label>panelでやってます、、が 同じ画像を表示させたいときに新しくlabel作って 同じ手順で画像取り込む以外に方法ないですか? それとも、他に手順の少ない方法あるでしょうか?
>>797 "小さい1kぐらいの画像"をまとめて一枚の画像ファイルに納めて
x座標、y座標の描画範囲指定で表示させるというのはどうでしょうか?
>>797 javax.imageio.ImageIO を使うなり、java.awt.Toolkitを使うなりして
事前に画像を読み込んでImageオブジェクトを生成しておいて、
それを引数にしてImageIconを生成するといくつも画像を読み込まないと思う。
>>794 課題2の方は勝手にインタフェース定義して使ってるけど、
ダメそうなら使わない場合の処理をコメントアウトしてるから
そっちを使って。
URL:
ttp://ll.la/haQG >>796 >>778 見てきたけどあそこは他の宿題スレに来た課題を別の言語で
実装してみるってだけらしい。むこうもこっちに誘導してた。
>>568 QuickTime for Java
JMF異常にオワコンだけどな。
>>580 最近の日本語では全くという意味でよくという言葉を使うんだな
804 :
デフォルトの名無しさん :2011/05/22(日) 13:31:14.30
Map<SomeClass, Integer> map; こういうマップがあったときに Integer val = map.get(someClass); val++; ってやったらマップの中の値も変わるの? 普通のオブジェクトだったら変わると思うけど、Integerだと?
>>722 実行する前に保存するオプションがあるからそれチェック入れとけ
>>765 むしろ今から始めるならJavaFXだろう
>>789 お前の日本語がわからん。既存の文字列ってなんだ?
参照される回数でメモリの消費量が変わるわけがないだろう。
809 :
デフォルトの名無しさん :2011/05/22(日) 13:46:21.52
>>798 さんくす
>>799 最初にイメージ読んでlabelまで作ってしまう場合は
toolkit使う意味はあります?
誰かJava7のスレ立ててくれ
Swingでラベルの位置を調整しようとしてるんですが、下のforループで1番目(i=0)がフレームの 真ん中に来てしまいます。例えばi=5から始めてもi=5の分だけが真ん中に来てしまう。 これはどうしてでしょうか。 ---------------------------------------- import javax.swing.JFrame; import javax.swing.JLabel; public class Ex extends JFrame{ JLabel label; String s = "Java Swing!"; public Ex(){ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setTitle("Ex2_1"); this.setSize(300,200); label = new JLabel(s); for(int i=0; i<4; i++){ JLabel label = new JLabel(s); label.setSize(200, 30); label.setLocation(i*20, i*20); this.add(label); } } public static void main(String[] args){ Ex frame = new Ex(); frame.setVisible(true); } }
>>811 レイアウトマネージャのせいじゃないのか?
あー、忘れてた。 this.setLayout(null); を入れればいいんですね。どうもです。
>>809 その画像を読み込む手段として
ImageIO.read() か Toolkit.getImage() を挙げたんだけど?
どちらか好きな方を使えばいいと思うって意味で。
815 :
デフォルトの名無しさん :2011/05/22(日) 14:04:24.11
>>811 違うかもしれないけど
labelを複数個つくって
label1.setLocation(20, 20);
label2.setLocation(40, 40);
とかしないと、一個しかつかえないんじゃにゃいの
2回addしたら一回目の消えるっていうかそんなイメージ?
>>815 なんか1回目はレイアウトマネージャで真ん中に入れられるみたいです
2回目からはなぜか調整できるようで。どういう挙動なのかわかりませんが、レイアウトマネージャに
頼らないでやると最初から行けました
eclipseの調子が悪いのか、コードがうまく動かない。 例えば、 Rectangle r = obj . getBounds(); //objの位置を取得 r . x = r . x + 10; //右に10移動 r . y = r . y + 10; //下に10移動 obj . setBounds(r); //反映 で、x軸方向だけ移動したり、 class A -> class B -> class C と呼んで class Cで変数の変更を行おうとしているのに、 class Bに飛んだ瞬間に、class Cの変更が完了してる Eclipse Ver3.3.2 なにかアドバイスを・・・
よくわからんけど防御的コピーの話?
>>806 要望を読めよ。「他のプラットホーム・・・」っていう下り。
それに、JavaFXはいま失速気味だろ。
それでもJavaFXをおすすめするのか?
xのy乗=z のとき yとzからxを求める関数って何ですか?
z = Math.pow(x, y); x = Math.pow(z, 1.0 / y);
x^y=z y*log(x)=log(z) log(x)=log(z)/y x=exp(log(z)/y) あとは関数探す事。
ありがd
825 :
デフォルトの名無しさん :2011/05/22(日) 17:42:25.28
ゴミしかいないなここ
827 :
823 :2011/05/22(日) 18:52:47.60
x^y=z
y*log(x)=log(z)
log(x)=(1/y)*log(z)
x=z^(1/y) あとは関数探す事。
>>823 Thanks
828 :
デフォルトの名無しさん :2011/05/22(日) 22:22:53.20
初心者です 下記のようにコードを打ち込むと 1行目Aで「型はすでに定義されています」というエラーが出てしまいます どなたか改善案をお教え願いませんでしょうか? class A { String name; A(String name) { this.name = name; } } class B{ A sch1 = new A("本田"); A sch3 = createA("森下"); A sch4 = sch3; void display() { System.out.println(sch1.name); System.out.println(sch3.name); System.out.println(sch4.name); } A createA(String name) { return new A(name); } } class Exec { public static void main(String[] args) { B all = new B(); all.display(); } }
すみません自己解決しました 大変失礼しました デフォルトパッケージに同じクラスを持ったファイルがありましたorz 初歩的なミスで大変恥ずかしい・・・
>>819 ん?xamlとかflashの何とかとか、ああいうのが流行りじゃん。
Swingとは全然違うぞ。
zipファイルの中身を解凍せずに閲覧できるライブラリありませんか?(漫画ビューワみたいな事をやりたい) java.util.zipで可能でしょうか?
うーーん、よく分からん動作がいっぱい・・・
ArrayListが不安定な動作をする。
今特に問題なのが、
Queue で poll すると
java.util.NoSuchElementException が発生する。
調べたところ、ArrayListは意外と Thread safetyじゃないらしく
ttp://www.velocityreviews.com/forums/t147203-problems-with-linked-lists.html みたいな話になっているようだけど。
確かにThreadは使っている。
でもQueue.add以外は他のThreadからはアクセスしていないし、
肝心なコードもいちおう synchronizedで囲んでる
while(queue.isEmpty()){
synchronized(queue){
try {queue.wait(2000);} catch (InterruptedException e) {}
}
System.out.println("exit");
}
return queue.poll(); //ここでExceptionが発生する
他にjava.util.NoSuchElementExceptionが発生する要素は無いでしょうか
>>833 素直にArrayBlockingQueueとか使えばいいんじゃね?
>>834 返信ありがとうございます。
検討したことがあるのですが、
別スレッドからのaddは、いまのところテスト環境にて、mainスレッドからstartしていますが、
最終的には別PCからのアプリケーションで起動します。
通信エラーなどの再送はTCPでOKだと思いますが、
addに関しては、通信プロセスに渡した後次の処理に進まざるを得ません。
つまり、addにNULLが帰ってこないので、addの再送が無理です。
取りこぼしは最もNGなので、気軽にArrayBlockingQueueからNULLを返されてもこまるので、
採用不可となっております。
日本語でおけ
ウンチみたいな奴ばっかだな
838 :
デフォルトの名無しさん :2011/05/23(月) 18:09:24.14
centosにjavaを入れました java初心者なのですが テキストから「ON」という文字を読み込んで buf.equals("ON")で比較しても一致しませんでした 読み込んだ文字をファイルに書き出してみると ONと書かれていました 何が原因なのでしょうか?
839 :
デフォルトの名無しさん :2011/05/23(月) 18:17:09.00
ちなみにこのパターンだとうまくいきました String hikaku = new String("ON"); if(buf.regionMatches(0,hikaku,0,hikaku.length()) == true ){ //成功処理 }
テキストに改行文字や空白文字が入ってて、 bufには それも含まれてるからequalsで比較してもダメだったとか?
まあとりあえずtrimして比較だな。 あとbufのlengthを表示。
linkedlistにaddする過程で要素削除されてるんじゃないの? そもそもそのコードのsynchronizedの使い方では排他制御になってない 正しくはこうじゃない? Object obj = null; synchronized(queue){ while(queue.isEmpty()){ try {queue.wait(2000);} catch (InterruptedException e) {} } obj = queue.poll(); } return obj;
あとlinkedlistに追加するスレッド側は synchronized(queue){ queue.add(obj); queue.notyfyAll(); }
カレントディレクトリをファイルオブジェクトとしてもらおうと思ったのですが、 File f = new File("."); File parent = f.getParentFile(); としてもparentはnullでした。 なぜでしょうか?
>>845 new File(".").getCanonicalFile()
「その抽象パス」が親ディレクトリ持たない場合は File#getParentFile() は null を返す。 要するに抽象パスから絶対パスや正規パスへの変換は明示的にやんなきゃダメ。 ついでに、"." をカレントディレクトリとして解釈して欲しい場合は正規パスに変換しないとダメ。
VB5からJAVAに移行してるんですけど どうすればJAVAのソースコードの妥当性確認が出来ますか?
初心者向け入門書にのってるくらいの短いサンプル程度なら継承やら実装やらコードかける けど、一から何か作ろうとするとまったく書けない どないすればいいんだろ
>>843-844 ありがとうございます。
>>843 にしたら、今のところエラーはでませんでした。
ただ、
プロジェクト内で検索してもpollは1つだけなんですよね。
もちろんremoveなんか使っていないし、取り出しはこのpollだけです。
それが、mainスレッドでインスタンス化した5つのクラスにだけ存在してます。
queueオブジェクトはクラス内のメンバーとして存在しています。
どうやったらelementがpollする前に削除されるんだろ、ってところはまだ疑問のままです。
とにかく何か書く 単機能のツールでもなんでもいいから書くしかないだろうな
>>850 Javaのソースを読めば何か見えてくるかも。たぶん。
Javaでもアウトオブオーダー実行は起こり得るから、
発生条件を明確にするのはちと大変そうだ。
javaプログラマーの人たちはUMLを使うことが多いと思いますが、 モデリングツールは何を使っていますか?
>>846-847 なるほど!
"."というのはあくまでも「抽象パス」
だから実際のパスを取得する必要があったということですか!
ありがとうございました!
ぱwwwわwwwぽwww
>>849 なんか適当に自分の興味持ってるアプリを1本作る。
実装が糞でもいいのでとりあえず動くところまで。
○×ゲームとか4×4オセロとかマインスイーパとか。
>>853 紙とペン。暇が出来たらEnterprise Architect。
857 :
832 :2011/05/24(火) 01:12:03.83
swing勉強中です ある本を読んでたらアダプタクラスの話が書いてましたが、これまでは 特に知らないでエクリプスに頼ってイベントリスナ使ってました アダプタクラスって今も使うんでしょうか。読んでる本若干古いんで、 もしかして今どきは必要ないのかなーと思いまして、、、
普通に使う ちょちょっとイベント処理書きたい時とか匿名リスナにして使うと便利
>>853 一人でやるときはastah
複数でやるときはEA買ってもらう
>>831 流行りを勉強したいなんて書いてないでしょう?
そもそもJavaFXは、技術としては新しいけど流行りじゃないし。Orcleになってからさらに下火でしょ。
なのでJavaFXはおすすめしない。ってこと。
情報系の授業でjavaをやってるんだが、用語満載で付いていけない… 取っ掛かりとして、まずどのように勉強すればいいでしょうか?
わからない用語をググってみれば?
Eclipse heilosで今開発してるのですが @overrideのjavadocの書き方が分かりません paramなどは /** @param */ などで設定出来ますが、overrideで作成したソースには @override っていうのが灰色で入るのですが 自分で作成した場合はどうやって付ければいいのでしょうか? 普通に@overrideって入力してもエラーになります。
>>864 @override は javadoc のタグじゃないそうです。
>>865 なるほどー、自動生成以外で付ける方法はないのです?
JRE1.5でjavaのプロセスIDを取得することは可能でしょうか。 無理な場合java.exe単位でユニークになるような情報はあるでしょうか。
eclipseだとできるけどな @override
たとえば /** * FieldPrinter を生成します。 */ @Override protected FieldPrinter createPrinter() { return new FieldCharPrinter(); } って書いといてマウスカーソルをcreatePrinterにあわせると FieldPrinter main.Main.createPrinter() FieldPrinter を生成します。 上書き: Game 内の createPrinter() って出る
antlr2 antlr3 どっちがお勧めなのでしょうか JSPと組み合わせるならantlr2がデフォルトで入っているらしいのですが antlr3の高機能も気になります
>>862 いろいろ原因は考えられると思うが、
・コンピュータの仕組みをイマイチ理解してない
・実際にプログラムを打ち、動かす経験が足りてない。
あたりが原因ではない?
public interface Print { void print(); } とあって、このインターフェースを引数に取る public static void Func(Print p) { p.print(); } という関数があって、 Func(new Print(){ public void print() { System.out.println("hogehoge"); } }); と呼び出せますよね? つまり書いてないけどPrintインターフェースをimplementsした無名クラスが 一時的に生成されている、ということになりますよね? <質問> 1、これはラムダ式のようなイメージで理解していいのですか? 2、これはなんていう名前の機能ですか?(これもラムダ式っていうのかな・・・?)
RubyのブロックパラメータとかJavaScriptの関数オブジェクトをJavaの文法内で実現したもの・・で これ自体は別に特別に用意された構文でもなんでもないのでラムダ式かと言われたら違うような気が駿河。 呼び方は無名クラスとか無名インナークラスとか。 業務アプリだとソートのコンパレータや、あとGUI系のリスナ実装でまれによく見る。 まあ使用禁止されてることもあるが。
874 :
872 :2011/05/24(火) 21:04:56.06
>>873 なるほど、そういった経緯があったんですね
swingの解説でなんだこれは!?となったのですが、
ソートのコンパレータなどけっこう痒いところに手が届きそうです。
WebサイトログインをJavaで行いたいのですが、(例えばyahooメール) Basic認証で出来ないものでしょうか。
877 :
デフォルトの名無しさん :2011/05/24(火) 23:24:42.99
誰がつかうと思う?w
できるよ
>>878 Authenticatorを使ってアクセスする方法を試してみたんだけども
うまくいかなかったので駄目だと思ってました。
前置・後置インクリメントの違いについて質問です。 「以下のコードは後者がパフォーマンスでやや優るが等価である」は正しいですか? 誤りであればどう違いますか? for (int i = 0; i < n; i++) doSomething(i); for (int i = 0; i < n; ++i) doSomething(i);
881 :
デフォルトの名無しさん :2011/05/25(水) 03:39:28.14
最近javaでゲームをつくりはじめました。 2D横スクローリングシューティングを作っています。 自機の移動をキーアダプターで上下左右の4方向に動くようにしています。 4方向に移動のほか、4方向にステップダッシュの効果をつけたいと考えています。 そのコマンドは4方向のキーいづれかを2連続押しというものを考えています。 (たとえば、ガンダム連邦VSジオンのような) キーリスナーを2連続押しで反応するにはどのようにしたらいいですかね? ゲーム作成総合で聞いたほうがいいですか?
>>880 うちのコンパイラはインクリメント部分はどちらもiincを使用している点を含めてループ全体で同じバイトコードを吐いたんだが
パフォーマンスを測定したら後者が優れていたという
>>880 のコンパイラはどういうコードを吐いたの?
>>881 前回キーを押したときの時間を記録しておいて,
現在の入力と比較してそれがしきい値以下ならば2連続押しの処理をすればいいよ
そういう処理を挟むと煩雑になると感じるなら,キーリスナを継承した新しいキーリスナを作って
2連続押しの時に呼び出される新しいインタフェース作って実装し,ゲーム側からはそれだけ使うようにすると便利
for (Integer i = 0; i < n; i++) doSomething(i); for (Integer i = 0; i < n; ++i) doSomething(i); これなら後者のが早いね バイトコードまでは見ないけど
doSomethingを空 nを127以下にして外側でもう一回ループさせるとか工夫しないと差がわからないレベル。
>>867 Runtime.getRuntime().hashCode() でいいんじゃね
rmid.exeを起動してクライアントから通信を開始すると、rmidから起動されたjavaがアクティベーションで登録したポート以外をLISTENINGします。 デバッグで止めてみると、以下の場所でbind(null)しています。 つまり空いているポートならなんでもいいのでLISTENINGしようとしています。 このポートを指定させる方法はあるでしょうか? at java.net.ServerSocket.bind(ServerSocket.java:322) at java.net.ServerSocket.<init>(ServerSocket.java:189) at java.net.ServerSocket.<init>(ServerSocket.java:101) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(Unknown Source) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(Unknown Source) at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.listen(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.exportObject(Unknown Source) at sun.rmi.transport.tcp.TCPEndpoint.exportObject(Unknown Source) at sun.rmi.transport.LiveRef.exportObject(Unknown Source) at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source) at java.rmi.server.UnicastRemoteObject.exportObject(Unknown Source) at java.rmi.server.UnicastRemoteObject.exportObject(Unknown Source) at java.rmi.server.UnicastRemoteObject.<init>(Unknown Source) at java.rmi.server.UnicastRemoteObject.<init>(Unknown Source) at java.rmi.activation.ActivationGroup.<init>(Unknown Source) at sun.rmi.server.ActivationGroupImpl.<init>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.rmi.activation.ActivationGroup.createGroup(Unknown Source) at sun.rmi.server.ActivationGroupInit.main(Unknown Source)
888 :
デフォルトの名無しさん :2011/05/25(水) 12:17:55.31
<input type="button" value="ボタン1" font-size:16px;\" onmousedown="wmenu1();"> <input type="button" value="ボタン2" font-size:16px;\" onmousedown="wmenu2();"> このようなボタンを置いて function wmenu1(){ if( menu1.style.display == "none" ) menu1.style.display = "block"; if( menu2.style.display == "block" ) menu2.style.display = "none";} function wmenu2(){ if( menu2.style.display == "none" ) menu2.style.display = "block"; if( menu1.style.display == "block" ) menu1.style.display = "none";} このように置いて <table id=menu1 cellpadding=0 cellspacing=1 bgcolor="#000000"><tr><td> ボタン1 </td></tr></table> <table id=menu2 cellpadding=0 cellspacing=1 bgcolor="#000000"><tr><td> ボタン2 </td></tr></table> このようにして、ボタンを押すと表示するテーブルを切り替えるようにしました しかし、サイトを開いたときにボタン1のテーブルとボタン2のテーブルが両方表示されてしまい サイトの形が崩れてしまうのですが、サイトを開いたときにボタン1のテーブルのみが表示される方法を教えて下さい
>>889 bodyのonLoadでwmenu1を呼び出せばいいんだけど
お前にはそれ以前の問題があることに気付いてほしい
ローグライクゲームで敵がプレイヤーを見つけると追いかけてくるアルゴリズムはどういう風に組んでいるのですか
せっかくゲーム製作関係の板があるんだし、そっちで聞いてみるといいよ またはnethackかなんかのソースを読むといい
ありがとうございます。
>>891 フェロモンモデルはどうよ。
時間の経過と共に弱くなるフェロモンをプレイヤーが振りまき、
敵はフェロモンの強い方へ引き寄せられるということで
ローグタイプなら大してメモリも食わないはず
DateFormat#parse()の高速な実装ってないですか?
>>895 高速化出来る余地があるのに放置されてると思うなら
Bug Databaseに登録しとけば?
嫌味
イヤミ? 無いってことがわかったんで 別のやり方考えられるわ ありがとう
まぁ気悪くすんなよ。 和暦から旧暦、サマータイム、ヒジュラ暦まで ありとあらゆる暦をあらゆる言葉で実装しなけりゃならんのだぜ?
回答できないバカは黙ってなさい
901 :
デフォルトの名無しさん :2011/05/26(木) 21:49:15.43
最近仕事でJavaを始めたのですが、 インターフェイスと抽象クラスの使い分けが理解できません。 どういう感じで使い分ければいいでしょうか?
文字変数sで簡単にメモリも消費抑えて 右あるいは左の文字1,2文字を削る方法ありませんか?
インターフェース:まだ見知らぬ他社や他国のPGに自分のライブラリを使ってもらうために使う 抽象クラス:出来の悪い後輩PGになるべくクソコードを書かせないために使う
インターフェースに実装を付けたい場合に抽象クラスを使う…かも
単一継承を強要したい場合は抽象クラス。 そうでない場合はインターフェイス。
>>902 String#substringじゃダメなん?
substringと.length()の組み合わせしかないですかね やはり
908 :
832 :2011/05/26(木) 23:59:43.14
Ajaxとサーブレット間のデータの受け渡しってどうすればいいの?JSON? 具体的には、SenchaTouch等で見た目を作って、 裏はSpringFrameworkを使ったWebアプリ作りたい。
909 :
908 :2011/05/27(金) 00:00:31.15
名前欄間違えた・・・。
>>908 画面系をSenchaTouchで裏をJavaいいね。
おれはJSONのライブラリはJSONICをおすすめする。JSON.encode(object)でエンコードできて楽。
で、裏をRESTEasyにしている。(Jerseyと迷ったけどRESTEasyの方がおれにはとっつきやすかった。)
>>908 Protocol Buffersてのを評価しようと思ってるんだが
代わりにやっといてくれ。
すまん、javascriptとは無関係なライブラリのようだ…
913 :
デフォルトの名無しさん :2011/05/27(金) 14:55:46.79
課題お願いしますとかどうしょうもないな なんのためにプログラムやってんの 今すぐ辞めろ
小数点の計算をすると、小数点以下16桁まで表示されるのですがどうすればいいのでしょうか? 2.3+2.2をするとちゃんと2.5になるのですが 2.3-2.2をすると0.09999999999999964と表示されてしまいます…
int型にキャスト
BigDecimalを使用
「2.3」をコンパイルすると2.29999999999999982236431605997495353221893310546875になる 「2.2」をコンパイルすると2.20000000000000017763568394002504646778106689453125になる。 期待してるであろう「0.1」のコンパイル結果は0.1000000000000000055511151231257827021181583404541015625だ。 間違った答えを出すわけにはいかないよな。
922 :
デフォルトの名無しさん :2011/05/27(金) 23:13:47.35
ふつーにお願いします。
もう倒産したろ
5つの引数を持つメソッドにa1,a2,a3,a4,a5(型はArrayList)を渡す際 組み合わせは5!ありますがどういうプログラムを組めばすべて試せるでしょうか?
>>924 どういった要望か、おれが読み違えていなければ、こんなんでどうでしょう。
動かしていないので間違いがあるかもしれないけど。
ArrayList[] arrays = new ArrayList[]{a1, a2, a3, a4, a5};
for(int i=0;i<5;i++){
for(int j=i;j<5;j++){
someMethod(arrays[i], arrays[j])
}
}
>>925 a1〜a5はそれぞれ別の配列なんです
someMethod(a1,a2,a3,a4,a5)〜someMethod(a5,a4,a3,a2,a1)を試したいということなんです
Listを引数にして順列を生成するメソッドを作り込むしかないんじゃね。 commons.Mathにあるんじゃ・・と思ったけどないのね。 まあサンプルコードはいろいろ落ちてるけど。
928 :
デフォルトの名無しさん :2011/05/28(土) 01:25:59.28
とあるライブラリのとあるクラスHogeのとあるメソッドgetPiyoを拡張したい。 Hogeはライブラリ内部でnewされ、コンストラクタの引数も特殊なので ユーザが直接newするものではない。 Hogeを継承したHageクラスを作ってgetPiyoをオーバーライドするにしても、 コンストラクタの引数を用意できないのでnewできない。 ライブラリの内部でHogeの代わりにHageを使うというような方法もない。 Hogeはgetterメソッドをたくさん持っている。 Hogeを委譲するHigeクラスを作ってgetPiyoを置き換えるとしても、他の 全getterを実装するということは大変なので避けたい。 Hogeのgetterには一様にアクセスしたい。getPiyoだけ別メソッドを噛ます ということはしたくない。 こういう状況で何かいい解決策はない?
>>929 javaFXとjavaFx2.0は別物と扱うべきじゃないか?違いがありすぎ。
まぁ、javaFx2.0のライブラリは良さそうね。いつベータはずれるんだろう。。
期待はしているけど、主流になるのかちょっと見極めたい感じ。
intでkeyとvalueという配列がありサイズは同じ、要素番号が対応しています。 keyの値でvalueをソートしたいのですがどんな感じに出来ますでしょうか?
key:valueペアのMapを作って key配列をArrays.sortでソートして ソートされたkey配列を使ってMapからvalueを取り出して配列化 とか key:valueペアのクラスとComparator定義して key:valueペアクラスのListをCollections.sortでソートして valueだけ取り出して配列化 とか
>>928 AspectJ のようなアスペクト指向ツールが使えるかもしれない
>>928 Groovy なら、
Hoge.metaClass.getPiyo = {-> /* 処理 */}
だけで済んじゃうんだけど・・
Javaってもしかしてstaticなメンバやstatic初期化ブロックはそのクラス自体がソースコード上どこからも参照されていないとき 初期化されないんですか? public class SomeClass2{ private static final boolean test = new SomeClass(); } public class SomeClass{ SomeClass(){ System.out.println("test"); } } SomeClass2が一切参照されていないとき、"test"の出力が出ないという理解は正しいですか?
お前は何を言っているんだ
>>936 初期化されるのはクラスがロードされるとき。
どこかでClass.forName("SomeClass")みたいにして
クラスをロードするように書いておけば初期化される。
941 :
908 :2011/05/28(土) 19:04:24.18
>>910 ありがとう。
JSONICとRESTEasyをキーワードに調べてみる。
>>911 よくわからんかった。
942 :
デフォルトの名無しさん :2011/05/28(土) 21:27:30.60
synchronizedでロックするオブジェクトがリストやマップなどの他のオブジェクトへの参照を大量にもつものだった場合 普通のオブジェクトより重くなったりしますか? 要素の先までロックしたりとかは起こるんでしょうか?
他スレッドのスタックトレースを取得する方法ってありますか?
944 :
デフォルトの名無しさん :2011/05/28(土) 23:05:51.19
>>943 final ArrayList ret = new ArrayList();
new Thread(new Runnable() { public void run () { ret.add(new Exception()); } }.start();
>>942 ない
勉強がてらC++から移植してるんだけど参照型の引数をうまく実現する方法って何かないの? 例えば int BadKnowHowOk(int &here) の「here」 配列にすれば実現できるけどスマートじゃないし・・・
946 :
デフォルトの名無しさん :2011/05/28(土) 23:51:49.73
クラスにしたらどうだろう 参照を渡すんじゃなくてメンバー変数でメンバーメソッドを呼ぶとか
透過率?を維持したまま gに描画したいのですがどうしたらいいんでしょうか? 現状は全く透過されないまま描画されて困っています。 BufferedImage img1 = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB); BufferedImage drawImg; // 描画したい画像 public void draw(Graphics2D g) { Graphics2D g1 = (Graphics2D) img1.getGraphics(); g1.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); g1.fillRect(0, 0, img1.getWidth(), img1.getHeight());) g1.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f)); g1.drawImage(drawImg,0,0,null); g.drawImage(img1,0,0,null); }
メソッドを戻り値にするメソッドを作ることは無理でしょうか メソッドB = インスタンスA.メソッドA() メソッドB() みたいに記述したいのですが インスタンスB = インスタンスA.メソッドA() インスタンスB.メソッドB() のようにインスタンス経由じゃないとできませんか?
うん。Javaでは無理。
メソッドを戻り値にするのはリフレクションでできる。 Method methodB = ClassB.getMethod("methodB", null); methodBがインスタンスメソッドならmethodB単独では呼び出せなくて、instanceBが必要。 methodB.invoke(instanceB, null); methodBがstaticメソッドならinstanceBはなくても呼び出せる。 methodB.invoke(null, null);
951 :
デフォルトの名無しさん :2011/05/29(日) 04:00:50.03
Windowsでネット上からJava Web Startで起動したプログラムは、 その後プログラムの追加と削除の画面に現れますが、これが削除できません。 アンインストールを実行しても、この追加と削除のリストに残り続けるのですがみなさんは普通に削除できますか? 最終的にはツールでレジストリのインストール情報のみ削除しましたが、何か残ってそうですっきりしません。 何か知っている方が入れば教えてください
>>954 demo/jfc/FileChooserDemo/ExampleFileFilter.java は
javax.swing.filechooser.FileNameExtensionFilter が導入されたから削除されたんだろ、たぶん。
C++にあるpairの機能をjavaで使いたいのですが、 標準ライブラリに同等の機能はありますか?
1ヶ月ほど前からJava始めた初心者です。 初歩的な質問ですが、継承元のクラスTestがあるとします。 Test[] test1 = new Test[2];で宣言して、 継承先の子クラスであるTest2,Test3をインスタンス化するときに親で宣言した配列の test1に入れることってできるんでしょうか? test1[0] = new Test2(); test1[1] = new Test3();
そのものはない。 java.util.Map.Entryとか、 他にも探せば代用になるものが見つかるかもね。
>>958 入れられる。
例えば、参照型のあらゆる型は Object[] の要素として代入できる。
public interface DiffSource { public Object getElement(int index) throws DiffException; public Object getElements(int startIndex, int endIndex) throws DiffException; public int size() throws DiffException; public boolean compareElement(Object o1, Object o2) throws DiffException; } メソッド getElement(int) は型 DiffSource で未定義です、 メソッド size() は型 DiffSource で未定義です ↑のエラーが解決できなくて困ってます、どなたかご教授お願いしますorz
>>624 TODOはEclipseの仕様
TODOって文字列をコメントに書くと、Eclipseがそれを認識し表示される。
例外のprintStackTraceとは直接は関係ない
try-catch内でreturn nullとかfalseとかやってるお前も引き継ぎ元のバカのクズと一緒。 いい加減学習しろ。それはやってはいけないアンチパターンの一種。 そういう付け焼刃的対応がお前らの身を滅ぼすことになるんだが。
965 :
958 :2011/05/29(日) 19:04:17.29
>>960 ,961
ありがとうございます
便利ですねー
((MyView)v).settouchX((int)((((MyView)v).e.getX())); この文括弧の数間違ってませんよね? コンパイルエラーになります。
>>966 (int) の後の ( が一個多いように見えるが。
・・まったくのスレ汚し失礼しました。
Scannerのデフォルトの区切り文字は空白文字だそうですが useDelimiterで空白を指定しても同じようにうごきません またそのように指定し 1 2 3 などを入力すると hasNext()で4個目のトークンの存在がtrueになります なぜでしょうか?
import java.util.*; public class stest { public static void main(String[] args) { Scanner scanner = new Scanner("1 2 3"); scanner.useDelimiter(" "); while (scanner.hasNext()) System.out.println(scanner.next()); } } C:\Users\stest>javac stest.java C:\Users\stest>java stest 1 2 3 C:\Users\stest>
直接Stringとして入れるとうまくいくんですね "1 2 3"のところをSystem.inにしてコマンドから打ち込むと 同じような結果が得られないのはどうしてですか
972 :
デフォルトの名無しさん :2011/05/29(日) 22:27:09.01
LWSP でググれks
>>849 最初は一人で作ることしか考慮できないから、それでいいんよ。
mainメソッドから呼ばれるだけのロジックで書いていき、
そのうちメソッド分割、クラス分割、インタフェース実装と
仕組みを学んでいく機会ができるはず。
ないなら、かえって覚えないほうがいいさ。
import java.applet.Applet; import java.awt.Image; public class Test6 extends Applet{ public void init(){ Image img = getImage(getCodeBase(), "../img/gazou.jpg"); } } 画像のjpgはどこにおけばいいんですかね 今はD:\workspace\shooting\bin\imgにあります 根本的に違うのでしょうか
サイトの利用規約のページを開いたかどうかを判定したいのですがJavaでできますか? 手元にあるJavaの本を読み漁って見ましたがそういう記載がありませんでした;;
セッションやクッキーを使えばできるんじゃない 一般にはセッションを奨める
非同期でXML(DOM)から取得した要素を、HashMapに値をputした際、 putしたはずの要素がmapが入ってない or mapに入っている要素が多いという現象が発生してます。 上記を行っている処理がスレッドセーフになっていないから問題なんだろうとは思うのですが、根拠がありません。。 どうしてmapにputした要素が増減するのか具体的にわかる人 or 説明しているHPってありますか?
978 :
デフォルトの名無しさん :2011/05/30(月) 05:09:20.90
979 :
デフォルトの名無しさん :2011/05/30(月) 07:08:40.83
>>974 それでもかまやしないんだが、ImageIO.read() 使ったほうがいいんでないか
980 :
デフォルトの名無しさん :2011/05/30(月) 13:03:49.51
String str[]; str = {"aaa","bbb"}; って書くとEclipseがエラーを指摘してくるんだけどダメなんだっけ? String str[] = {"aaa","bbb"}; なら何も言われない。
初期化とそうでないか。
>>980 ダメ。
String[] str = の右側におけるのは変数初期化子、
str = の右側におけるのは式。
変数初期化子の場合は {"aaa", "bbb"}みたいな配列初期化子もOKだけど、
式の場合は配列生成式になるからnew String[]が必須。
おお new String[]つければ済む話だったのね サンクス
スタックトレースがスタートレックに見えた・・・。 長寿と栄光を
1日が終わる時間(12時になるまで)の時間を算出することはできますか?
<script language="JavaScript"> var h=$PL[70];var timerID; function () { var dt = new Date(); dt = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()+1); h = $DATE + dt; } </script> $PL[70]というPerlで定められた変数の中に1日が終わるまでの秒数を代入したいです こんな感じで作ってみたのですが動作しません;; どこをなおせばいいでしょうか?
思ったんだけどもしかしてJavaScriptスレで聞けばいんじゃね?
JavaとJavascriptをまったく同じものだと思ってました 今日からJavascript初めた初心者ですのでスレ違いなのは見なかったことにしてください 失礼しました
>>1 >プログラミング言語Javaに関する質問スレです。
>JavaScript, Ajaxの質問は、ここでは受け付けていません。
991 :
デフォルトの名無しさん :2011/05/31(火) 02:13:41.63
javascriptのスレどこ?
>>991 ここしか寄る辺が無いとは寂しい人生だな
> 写したと思われるほど酷似したレポート みたいに非科学的な理由で勝手にレポートを評価したらあかんよね。 類似度の評価方法を示せって先生に言った方がええよ。
じすれ
友達に聴いてみるとか、教授に聴きに逝くとかそういうのすらせずににちゃんに丸投げして終わりなのか。 漏れが講師なら負荷与えたく成る様な学生だなw 仮に卒業できて社会に出て答えが無い様な問題にぶち当たった時に、またにちゃんに丸投げして来るのか興味深いな。
次スレお願いします
998 :
デフォルトの名無しさん :2011/05/31(火) 10:30:58.77
>>991 せめてわからないところを聞く程度にしろよ
それなら答えるから
★★Javaの宿題ここで答えます★★ Part 70 でもOKかもしれない
1000 :
デフォルトの名無しさん :2011/05/31(火) 11:08:18.10
すいません。お願いします。 JAVAの宿題ここで教えます。70 書き込み欄がなくて書き込めないんですよ。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。