1 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 15:21:29 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド101【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1177938653/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
862 名前:859 [2007/06/25(月) 10:28:37 ] >>861 お前には聞いてない。
863 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 10:44:10 ] >>862 >>860 >>861
864 名前:デフォルトの名無しさん [2007/06/25(月) 10:44:27 ] #include<stdio.h> #include<time.h> void main() { int a,b,c,d,e,hp1,hp2=100,etou; printf("相手を選んでください。\n1.江藤(Lv1) 2.シーツ(Lv2) 3.金本(Lv3)\n"); scanf("%d",&b); printf("\n"); if(b==1) { hp1=100; while(hp1>0) { a=time(0); a=a%21;
865 名前:デフォルトの名無しさん [2007/06/25(月) 10:49:08 ] etou=time(0); etou=etou%35; printf("プレイヤー(HP:%d)vs江藤(HP:%d)\n",hp1,hp2); printf("選択してください。 1.攻撃 2.寝る\n"); scanf("%d",&c);printf("\n"); if(c==1) { printf("プレイヤーは江藤を殴った。\n江藤に%dのダメージをあたえた!!\n\n",a); hp2=hp2-a; if(hp2<=0){e=1;} else if(hp2>0){ printf("江藤の逆襲だ!\nプレイヤーは%dのダメージをくらった!!\n\n",etou/2); hp1=hp1-(etou/2); } }
866 名前:デフォルトの名無しさん [2007/06/25(月) 10:49:44 ] 晒していい?答えは聞いてない! 内部型がどうこういってるやつは javafaq.jp/ のS14~16読んでこい。
867 名前:デフォルトの名無しさん [2007/06/25(月) 10:50:47 ] else if(c==2) { if(hp2>0){ printf("江藤の攻撃だ!\nプレイヤーは%dのダメージをくらった!!\n\n",etou/2); hp1=hp1-(etou/2);} else if(hp1<0){e=2;} } } if(e==1)printf("あなたの勝ちです!!\n"); else if(e==2){printf("あなたの負けです!!\n");} } printf("ゲーム終了です\n"); }
868 名前:デフォルトの名無しさん [2007/06/25(月) 10:52:49 ] >>859 またお前か 最近ム板で暴れまわってるなw 猛威を振るう台風のようだ くだらん事で荒しまくりwwww
869 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 13:03:48 ] もの凄い初心者ですまんとです eclipse+VEでSWTで何か作っとるとですが イメージを貼り付ける方法がわからんとです 「Image xxx;」とかするとエラーになるとです 誰か教えて欲しいとです
870 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:25:33 ] ものすごい初心者ならばコンソールアプリケーションから学べ
871 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:29:27 ] それはコマンドプロントとかでやるヤツのことですか? 一応やったとです
872 名前:デフォルトの名無しさん [2007/06/25(月) 14:45:07 ] try chatchは条件分岐に使ってもよいのでしょうか? 例えばArrayIndexExceptionが起きたら、違う処理をさせるとかです。 たくさんやる処理なのでif文で分岐させるのと、 どっちが速いかとか気になります。
873 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:49:03 ] >>872 タブー try-catchは例外処理の為の仕組みだから条件分岐には使用しちゃダメ ちなみにパフォーマンスも悪い 例外ケースが最速になるような最適化をすると思うかい?
874 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:49:11 ] 基本的に例外は遅いし、 プログラムを読む時に基本的にまずエラー処理の文脈で理解されるものだから、 単なる条件分岐の代わりとして try-catch は使わないのが基本。 大抵は補助的に関数を使うこと等で解決できると思うが。
875 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:29:13 ] 初心者な質問ですみませんが、メインメソッドに対してString型以外 (例えばint)を引数として渡すにはどうすればよいでしょうか。 public static void main(int args)ではコンパイルエラーでした。
876 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:31:28 ] >>875 コンパイルエラーが起きるとも思えんが。
877 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:35:03 ] ありがとうございます。 アルェーEclipseからfatalなんちゃらって文句言われたんですが…。 しかし、構文としては問題ないみたいですね。 ケアレスミス含め、他の部分を見直すことにします。
878 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:39:06 ] public static void main(String[] args) はないとだめだからな。 Javaはここから以外で始まらない
879 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:42:14 ] >>875 普通、シェルがコマンドライン引数としてjavaプログラムに渡す引数は文字列しかない。 引数に数字が入っていてもそれは数字を表す文字であって数値とは解釈されない。 数値と解釈するか文字列と解釈するかは受け取る側のプログラムに任されている。 なので、public static void main(String[] args)で受けて、 引数をintとして解釈したいならInteger#parseIntなり他の手段なりで、 文字列をintに変換する必要がある。
880 名前:デフォルトの名無しさん [2007/06/25(月) 15:42:58 ] >>872-873 イベント駆動型の条件分岐はあるけどね
881 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:51:22 ] 難読化の手法の一つとしては条件分岐を例外処理に書き換えるってのがあるけれど、 実行効率とかを考えると使いどころが難しいし、書き換えは人間がやる仕事ではない。 「たくさんやる処理」に適用するならなおさら
882 名前:デフォルトの名無しさん [2007/06/25(月) 17:02:33 ] public static void main(String[] args){ try{ int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = Integer.parseInt(args[2]); こんなことするのは邪道ですか? }catch(Exception e){ System.err.println("usage hogehoge"); } }
883 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:06:44 ] >>882 どこが邪道だと思うのかを書かないと何とも言えない
884 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:19:04 ] >>882 args の長さを最初に1回チェックすればいいだけだろ? 何で例外使うのか。
885 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:30:26 ] Exceptionでcatchする時点でタコ
886 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:34:13 ] >>884 はあ?長さ?
887 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:50:56 ] ぷww length 【名-1】 長さ、全長{ぜんちょう}、丈
888 名前:デフォルトの名無しさん [2007/06/25(月) 18:04:51 ] ばかばっかだなw
889 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 18:10:35 ] >>882 問題なし
890 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 18:22:58 ] Integer.parseInt なら大した処理じゃないからいいように見えるが、 その処理がもの凄い時間がかかる場合は? とか考えると、先にコマンドライン引数の個数をチェックした方が一般的にはいい。 個数だけじゃ判定できないって場合は別だが。
891 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 18:38:10 ] 初めて来てみた。で、いきなり笑った もう来ません。ありがとうございましたw
892 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:03:54 ] アプレットについて質問です。 Color fontcolor=new Color(0,0,255); String v23=getParameter("fontcolor"); if( v23!=null ) fontcolor=new Color(Integer.parseInt(v23,16)); System.out.println(fontcolor); System.out.println(v23); >java.awt.Color[r=0,g=0,b=255] >null 色情報を取り出して(0,0,255) => (0000FF)と16進数に変換して もう一度 Colorオブジェクトを生成することを示すコードだとは思うのですが、 どう意図でもってこう記述されているのかわかりません >< 古いバージョンのVMだと意味があるとか、そういうことなのでしょうか? よろしくお願いします。
893 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:14:13 ] >>892 Color(0,0,255) はパラメータが無かったときのデフォルト色。 Color(0,0,255) は小さなオブジェクトだから先に生成してあとで捨てることになっても問題はないだろう。 下のように書いてもいい。 Color fontcolor; String v23=getParameter("fontcolor"); if( v23!=null ) fontcolor=new Color(Integer.parseInt(v23,16)); else fontcolor=new Color(0,0,255);
894 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:30:53 ] >>892 <param name="fontcolor" value="ff00ff"> というのがあれば、0xff00ff (255,0,255)の色になり、なければ 0,0,255のまま
895 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:40:45 ] ----------Test01.java----------- class Test01{ public static void main(String[] args){ Test02 t2 = new Test02(); System.out.println(t2.s); } } -------------------------------- ----------Test02.java----------- class Test02{ String s = "test"; } -------------------------------- 例えば上のような2つのファイルがあった時、Test01.javaはコンパイルする必要があるけど Test02.javaはコンパイルの必要が無いですよね。 コンパイルが必要が不要かってのは具体的にどう判断すればいいんでしょうか?
896 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:49:39 ] >>895 自分でコードを書くとき、ふつうは不必要なコードなんて書かない。 そうでないケースでも、必要か不必要か迷ってる時間があったらコンパ イルしてしまえばいい。 antとかEclipseとか使うようになれば、コンパイルの手間なんて気にな らなくなる。
897 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:58:05 ] Test02.javaもコンパイル必要
898 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:00:45 ] SWTのwin32をダウンロードしたら swt-awt-win32-xxxx.dll swt-gdip-win32-xxxx.dll swt-wgl-win32-xxxx.dll swt-win32-xxxx.dll といくつもdllが付いてきたんですが swt-win32-xxxx.dll は無いと動かないみたいですけど 他のは無くてもとりあえず動いています どういうときに使うのでしょうか?
899 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:04:02 ] >>887 例外処理を使ってるのはlengthの問題じゃないってことだよ
900 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:33:56 ] >>885 ParseException と ArrayIndexException の どちらも発生する可能性あるじゃないですか!! その上でどっちが発生しても同じメッセージ出すんだから まとめて Exception にした方が効率いいじゃないですか?
901 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:37:47 ] 誤爆?何の言語使ってるの? NumberFormatException ArrayIndexOutOfBoundsException
902 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:38:32 ] ワラタ まあ実際例外処理なんてそんなもんだろw
903 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:01:03 ] >>900 はそれでいいので、決してJavaが書けますとか言ってプロジェクトに来ないでくださいね
904 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:02:31 ] >>900 はネタで書いてんだろ
905 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:25:47 ] 7割くらい本気です
906 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:10:46 ] Exception サブクラス全部拾っちゃうだろ常識的に考えて・・・(=ω=.) RuntimeExceptionは拾っちゃダメだろ。
907 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:16:20 ] main で最終的に Exception 拾うのって本当にナシなのかな。 考慮されてない例外が投げられた場合って、 例外拾わないままエラー終了してくれた方がいいのか? 製品でも?
908 名前:875 mailto:sage [2007/06/25(月) 22:20:29 ] >>878 ,879 ありがとうございます。理解しました。
909 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:25:51 ] >>907 マジレスしとけば、Exceptionで拾って復帰することに意味があり、復帰させる事ができるならば、catchしてもいいと思う。 Webアプリでも創れば解るけど、フレームワーク周りでExceptionはcatchされて処理されるケースが多い。 mainで拾わずに起動プロセスに投げても、stackTraceは表示されるわけだが、それでもわざわざ拾う必要はあるかい?
910 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:28:16 ] >>909 ユーザを混乱させないために、 分かりやすい形でエラーが発生した旨を表示した方が いいんじゃないかな、とか思ったりするんだよね。
911 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:41:05 ] >>909 だったら各所で入力チェックと例外処理を記述しろよw mainで拾う例外なんてぬるぽとか、要はバグだろ? ユーザーに分かりやすい様に、ぬるぽで落ちました、サーセンwwwとでも表示するのかい。
912 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:48:11 ] そう。要はバグ。 まあ、Java なら拾わなくていいのかな・・・。
913 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 23:06:28 ] ていうかwibアプリのフレームワークという特殊な例をそこで出すか? それ自体まさに例外な気がする。
914 名前:730 [2007/06/26(火) 00:02:10 ] >>731 うまくいきました。 レスありがとうございました。
915 名前:デフォルトの名無しさん [2007/06/26(火) 00:07:05 ] お薦めは特に無いがJAVAが簡単でいんじゃね、汎用性からいってもCかJAVAかになると思う 汎用系の未経験求人なんてあるのだろうか、多分WEBオープン系がほとんどじゃね C言語は組込系の主流、組込系ってのは名前の通り、機械に組み込まれて変更がきかないタイプのプログラム 車の制御システムとか、プレステのゲームソフトとかに当たる 市場に出回ってからバグ見つかると直すのに超費用がかかるので、ゲーム会社とかはよく「仕様です」と言い張るw 言語としては普通だけどアドレス管理やメモリ管理がだるい、あと専門卒の若い子がやたらお出来になる JAVAはWEBオープン系の主流、オープン系ってのは、まぁお察しの通りインターネットみたく皆に開かれたプログラム yahooのような検索エンジンとか、amazonのようなお買い物サイトとかに当たる 運用開始後も楽々バグが直せるよヘヘイヘーイ 言語としてはかなり簡単、Cで手動な部分も自動で管理してくれる、でも誰にでもできる感じがCマニアには不評 取引先はどこだろうと似たようなものを作るので現時点ではほぼ意味なし、何でもいい ただし所属会社が固有の業界に特化していた場合、そこがキャリアの強みになり弱みにもなるので、転職時に響いてくる 例えば銀行・金融系などは只のIT屋は絶対に雇ってくれない、専門知識と十分な業界経験が最低条件になる ちなみに数学・英語は高2程度できれば十分(英語は語彙が多いにこした事はない) 証券のプロジェクトとかでデフォルト機能外の複雑な演算を組まされる事もあるが、基本的にはデフォルト機能で事足りる まぁネットOKのプロジェクトなら分からない事は逐次ネットで調べればよく、ネットNGなら回りの人に聞けばいいので
916 名前:デフォルトの名無しさん [2007/06/26(火) 01:07:00 ] JAVASDK1.6環境で、build.xmlを使ってAntしたんですが、 「シンボルを見つけられません。」を連呼してとまってしまいます。 [javac] C:\L1J\src\l1j\server\server\MobTable.java:81: シンボルを見つけられ ません。 [javac] シンボル: メソッド setHp(int) [javac] 場所 : l1j.server.server.templates.L1Npc の クラス [javac] l1npc.setHp(j); [javac] ^ Wikiも見たり、環境変数なんかも調べたんですがまだわかりません。 tomcatなど他にもいろいろ入れなくてはいけないんでしょうか… よろしくお願いいたします。
917 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 01:26:00 ] setHp(int)がprivateメソッドになってるんじゃないの?
918 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 02:19:16 ] もしそれならこんな風にならない? [javac] l1npc.setHp(j); [javac] ^
919 名前:916 [2007/06/26(火) 06:59:00 ] ちょっとずれていました… [javac] l1npc.setHp(j); [javac] ^ 「ドット」.を指し示している状態です
920 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 11:43:46 ] どう見ても l1npc にシンボル setHp が無いんだろう。
921 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 12:06:38 ] ◎渡してる j がint型ではない ○setHpじゃなくてsetHPとかSetHpとかになってる ▲setHpがprivateメソッドになってる
922 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:22:58 ] a1,a2,a3,a4,…a20 という変数があった時、 これらの変数をfor文で一気に配列に代入することって可能ですか? int[] ia = new int[20]; for(int i = 0; i < 20; i++) { ia[i] = この後が分かりません
923 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:39:00 ] >>922 不可能
924 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:42:02 ] >>923 そうでしたか、ありがとうございます。
925 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:59:37 ] listなら可能
926 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:28:05 ] >>922 どうしてもならリフレクションでできるけど、 まずはそういう変数を作ってる時点でダメだな。
927 名前:デフォルトの名無しさん [2007/06/26(火) 14:28:32 ] Servlet って何でこんなにややこしいんやろ。PHP みたいにお気軽にできんのかな。
928 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:45:28 ] そりゃLLと比べりゃjavaはややこしいだろうよ。 groovyとかruby使えば良いじゃん。
929 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:51:21 ] servletの何がややこしいんだ? 基本的な概念だけ覚えてあとはクラスをその都度調べればいいだけだ
930 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:56:46 ] いや、多分サーバを用意する必要があるのが面倒っていってるんだろう。 PHPを例に出すってことは。 PHPは、Apacheのモジュール有効にするだけでいいし、という話かと。 CGI経由で、起動するJavaのテンプレート系フレームワークがあってもいいかな、とは思う。
931 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 15:02:04 ] >>929 PHPに比べたらややこしいだろ。 ファイルアップロードとかで差が出る。
932 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 15:31:22 ] そう、ファイルアップロードは致命的だよな。デフォルトで Java にないのは。
933 名前:デフォルトの名無しさん [2007/06/26(火) 16:30:21 ] <%@ page language="java" pageEncoding="UTF-8" %> <%@ page import="java.io.*" %> <% response.setContentType( "application/octet-stream;charset=Windows-31J" ); response.setHeader( "Content-Disposition", "attachment; filename=\"sample.csv\""); String text = "sample!!!"; out.write( text ); %> 上のプログラム動かしたら冒頭に改行が3個入るんですけど、 入らないようにする方法ってないでしょうか?
934 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:31:00 ] System.out.printlnのoutがPrintStream型でバイナリのストリームってのが納得いきません 入力を受け取るInputStreamのinも同様に納得がいかないです 文字を入出力してるんだからテキストデータのストリームであるべきじゃないんですか?
935 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:42:00 ] >>933 %> と <% の間の改行を消すといいかも
936 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:42:37 ] >>934 標準入出力はリダイレクトでバイナリファイル扱う可能性があるので、 バイナリのストリームの方が良い。テキストからバイナリに 完全な復元ができない事も考えればバイナリであるべき。 System.in がテキストデータを扱う事の方が多いのに InputStream だとバイナリしか取れなくて、いちいち InputStreamReader でラップするのが面倒ってのは同意するけど。
937 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:44:16 ] >>934 gzip -dc foo.tar.gz | tar xf - みたいに、標準入出力はバイナリを受け渡すことも多いのです。
938 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:46:43 ] 文字を入出力しているという前提が間違っている、ということで。 >>934 の憤りはどこへぶつければいいのかwww
939 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:55:38 ] >>935 改行削ったら上手くいきました! レスありがとう!!
940 名前:934 mailto:sage [2007/06/26(火) 17:16:18 ] なるほど…バイナリもテキストもどっちも扱う可能性があるので 変換可能なバイナリストリームを採用してるんですね。 でも、System.out.println("Hello"); のようなありきたりの文は、 Helloという文字列のテキストデータをバイナリストリームで扱ってることになりませんか? InputStreamReaderの場合と同じようにPrintWriterでラップするなら分かるんですが。
941 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:36:27 ] 端末から見たらテキストなんてエンコーディングに従ったバイト列だろ。 out.print形式はjavaがデフォルトのエンコーディングを使って変換してるだけ。 たしかjavadocに書いてあるぞ。 ところでjavaって標準出力がDOS-BOXなどの端末だった場合、 System.outへ一度出力した文字は消せないの? テキストがスクロールアウトして新しいテキストが流れてくるんじゃなくて ローグライクみたいにスクロールさせずに画面更新したりクリアしたりってどうするの?
942 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:37:03 ] >>940 そのままバイナリストリームで扱ってて、最終的にシェルがそれをテキストに変換にしてるんじゃね?
943 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:40:22 ] >>941 端末操作はモロ環境依存
944 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:42:12 ] >>941 > System.outへ一度出力した文字は消せないの? 改行前なら \r で行頭に戻れるかもしんない。 端末と System.out の実装の両方に依存するけど。 > ローグライクみたいにスクロールさせずに画面更新したりクリアしたり jcurses みたいな外部ライブラリ使ってくれ。
945 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:45:57 ] というかテキストストリームとバイトストリームの区別って改行コードの扱いだけだったと思ってたんだが違うの?
946 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:46:41 ] >>942 その理論だと標準入力をInputStreamReaderでラッピングする必要も無い気がする
947 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:14:42 ] int型のメソッドでreturnでxという変数を返すとき、mainの条件で「xが帰ってこない場合」というifは作れるのでしょうか?
948 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:15:18 ] 変数 x は返せない
949 名前:デフォルトの名無しさん [2007/06/26(火) 18:25:01 ] jdbcでpostgreSQLにつなごうとしているのですが、 以下の設定でなぜかNo Suitable Driverと言われてしまいます。 どこがおかしいのでしょうか? CLASSPATHにはjarファイルの絶対パスを記述しています。 jdbcドライバは、postgresql-8.2-505.jdbc3.jar postgreSQLは8.2を使っています。 String url = "localhost:5432"; // args[0]; String usr = "test"; // args[1]; String pwd = "test"; // args[2]; // JDBCをここでロード Class.forName("org.postgresql.Driver"); // 接続 System.out.println("Connecting to Database URL = " + url); Connection db = DriverManager.getConnection(url, usr,pwd);
950 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:25:56 ] エルレガーデンのHPでメニューバーがグラデーションになっていてスクロールすると バックが透けているのですが、javaで出来るんでしょうか? 気になって調べてみたんですが、分からなかったので。。どなたか教えてください。 エルレHP www.ellegarden.jp/ja/index.asp
951 名前:デフォルトの名無しさん [2007/06/26(火) 18:29:58 ] 誰か>>850 を、、
952 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:34:18 ] >>951 いくら出す?
953 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:35:43 ] 何をきっかけとして>>817 の処理を行うつもりなの? IEのスクリプト?
954 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:42:06 ] >>947 そのメソッドで例外を投げれば、値を返さずにメソッドを終了すること ができる。mainではtry-catchすればいい。 そんなことはしないで、Integerなどクラスを使って、値を返したくない ときはnullを返すのが良いと思う。
955 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:47:21 ] >>950 Javaだとかなり難しい。ウェブ制作板へどうぞ。
956 名前:941 mailto:sage [2007/06/26(火) 18:48:56 ] thx! やっぱ依存か。 Consoleクラスが追加されたけど現状だとエコー文字列のマスクしかできないからなぁ。
957 名前:デフォルトの名無しさん [2007/06/26(火) 19:26:11 ] 任意のURLからHTMLの特定部分、例えばTABLEだけを吸い出したい 時に、純粋にJAVAだけを使うのと他のスクリプト言語を併用するのでは どちらが効率や再利用性の面で優れてますか。 またできたら、上記の場合のお勧めのスクリプト言語を教えてください。
958 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 19:28:46 ] GroovyやRhinoからjavaのライブラリ使う。 HTMLParserとか。
959 名前:デフォルトの名無しさん [2007/06/26(火) 19:29:24 ] >>950 >>955 java script を使うほうが一般的ですがjavaアプレットでも簡単にできます
960 名前:デフォルトの名無しさん [2007/06/26(火) 19:36:45 ] Rhinoってサーバサイドで動くんですか?
961 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 19:46:29 ] javaしか使えないくせに 俺一流プログラマー みたいな顔してる上司がうぜぇ Cマスターの俺に指図すんじゃねーよ屑 こんな糞言語使えるだけで満足か 早く市んでくれ
962 名前:デフォルトの名無しさん [2007/06/26(火) 20:10:55 ] cは開発の能率悪いでしょ
963 名前:デフォルトの名無しさん [2007/06/26(火) 21:02:02 ] >>957 TidyLibというものがあります。 ほとんどの言語に対するバインディングがあるので、 一度調べてみてください。 商用製品でも採用例が多く、一番実績があると思います。
964 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:04:05 ] >>949 >String url = "localhost:5432"; // args[0]; ↓ String url = "jdbc:postgresql:dbnamehogehoge"; しかしそのエラーメッセージも不親切だよなw
965 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:18:58 ] Socketって後始末に明示的にclose()呼び出さなくてもいいですか? SocketインスタンスがGCに回収されるときに自動的にコネクション切断 などの面倒は見てくれるんでしょうか?
966 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:40:54 ] 明示的に呼び出せるタイミングがあるなら、そのタイミングでcloseを呼び出せ
967 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:54:50 ] >>965 面倒見てくれるかどうかは実装依存だろう。 SocketもSocketImplもfinalizeはオーバーライドされていないから、 GCのタイミングでの処理は何もしないかもね。 まあ適当な時に適当に切断はされるだろうけど、エレガントに処理されるかどうかは分からん。
968 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:57:54 ] 基本的にネイティブなリソースを触った場合GCに任せないで自分で解放する。 ファイナライザ使うのも間違い。
969 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:03:17 ] >>966-968 レスありがとうございました! なるほど、close()は明示的に呼び出さないとダメなんですね。 勉強になりました。
970 名前:デフォルトの名無しさん [2007/06/27(水) 00:04:19 ] GC時に処理させたいならファイナライザを使うのは間違いじゃないと思うがね 最後までその機会が来ないことがあることは想定しておかないといけないが
971 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:06:53 ] >>970 この質問の場合はfinalizeに処理させるのは間違いだろ。 一般論で質問者を惑わせるな。
972 名前:デフォルトの名無しさん [2007/06/27(水) 00:31:11 ] 便乗ですが Socket s = new Socket(hogehoge); BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream(), "UTF-8")); 見たいな処理したあとの解放って s.close(); だけでいい? br.close(); も必要? あるいは InputStreamReader の close() とかもしとかないとだめ?
973 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:32:02 ] >>970 この場合はGCに任せて良いかどうか判断するのが難しいだろう。 javaのファイナライザがどういうためのものかちゃんと理解してないならなおさら。
974 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:47:58 ] >>957 JavaにXMLパーザってついてなかったっけ?
975 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:51:00 ] HTMLはSGMLアプリケーションなんだが。 XMLパーサにHTML食わせても整形式エラー吐くと思うぞ。
976 名前:デフォルトの名無しさん [2007/06/27(水) 00:56:20 ] >>974 ドキュメント検索したらHTMLパーサも付いてましたね HTML->JAVA JAVA->HTML HTML->HTML でXMLも噛ませられれば操作上は十分になってきますね XMLパーサとサーブレット&JSPを使うとXSLは必要なくなるんでしょうかね? ご回答いただいた方々、まことに有難うございました いただいた回答の中のRhinoは有用性が高そうなので 検討してみます。
977 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:57:40 ] >>972 (1) 使ってるラッパークラスのコンストラクタが例外を発生しないこと (2) ラッパークラスの close がラップしてるクラスの close を呼び出すこと を確認して、最も外側のクラスの close を対処すればいい。
978 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:57:53 ] javax.swing.text.html.parser
979 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:03:51 ] >>972 s.close() すれば s.getInputStream() で得られたストリームも自動的に close() される。 sclose() してない時に br.close() した場合、成功すれば、 s も勝手に close() される。
980 名前:デフォルトの名無しさん [2007/06/27(水) 01:06:08 ] >>979 IDEによってはエラーを吐きますね。 明示的にクローズした方がいいと思います。
981 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:06:11 ] >>978 あれパーサでパースして結果をレンダラに渡す程度の使い道しか想定してないからなぁ。 パース結果を自分でハンドリングするなら他のライブラリの方が良い。 まあ、それ以前にHotJavaのパーサは3.2finalの独自拡張なんで現行とは少し違うが。
982 名前:デフォルトの名無しさん [2007/06/27(水) 01:09:33 ] パーサの存在を知らなくて自作してしまったorz
983 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:12:37 ] SGMLのパーサを実装できるほど程の知識と腕があるなら自前が良いけどなw 正規表現なんかで実装しちゃだめだぜ。
984 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:16:45 ] javaでbigintの変数を宣言するときにはどのようにすればよいのでしょうか? bigint a; のような感じにしても認識してくれません
985 名前:デフォルトの名無しさん [2007/06/27(水) 01:20:31 ] java.math.BigInteger
986 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:22:04 ] 前にもあったぞこのネタ
987 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:25:03 ] このスレはネタとバグでできています
988 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:30:27 ] long型でないと数値がオーバーするので、long型の配列を作りたいのですが、 long p[]=new long[(int) (n+1)];だと結局エラーが出てしまいます。どうすればよいでしょうか?
989 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:36:05 ] >>988 何がどうエラーが出るんだ? 明確なエラーが出るのにその状況とエラーメッセージを書かないのは問題を解決したくないからか?
990 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:41:38 ] エラトステネスのふるいのメソッドをlong型に変更して扱える最大数を増やしたいのですが、上手く行かないのです。 public static int Primes(int n){ int i,k; int x[]={0}; int p[]=new int[n+1]; for(i=2; i<=n; i++) p[i]=1;{ for(i=2; i<=n; i++){ if(p[i]==1){ x[0]=i; for(k=2; i*k<=n; k++) p[i*k]=0; } } } return x[0]; }
991 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:51:07 ] >>990 エラーも書けよ
992 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:53:12 ] エラーは Exception in thread "main" です
993 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:57:48 ] 小出しにするなよ、もっといろいろ出てるだろ
994 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:58:16 ] >>990 配列サイズはintなのでlongは無理。 配列以外のコレクションを使うか、配列を複数用意して使う。 でも単純に考えてもint限界のInteger.MAX_VALUE*8バイトでもギガバイトをはるかに超えてることは認識してる? そのプログラムのような単純なエラトステネスのふるいはかなり効率が悪いと思うし。
995 名前:デフォルトの名無しさん [2007/06/27(水) 03:03:04 ] whileに直せばいいじゃん
996 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:17:50 ] > for(i=2; i<=n; i++) p[i]=1;{ ここじゃね? シンタックスエラー出てない?
997 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:19:52 ] じゃあ1000取り合戦でもしますか
998 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:20:00 ] >>996 文法的には問題ないはずだが、アルゴリズム的には知らん
999 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:20:33 ] 殺伐としてきたZE!!!!
1000 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:21:15 ] いやっほーーーーーーーーーーーぅ!!!
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。