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


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

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



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あたりで。

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"

です






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

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

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