【初心者】Java質問・相談スレッド112【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/02/08(金) 19:48:24JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド111【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1200151522/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。
次スレは>>980あたりで。
0951デフォルトの名無しさん
2008/03/01(土) 03:33:04javadoc -encoding UTF-8
0952デフォルトの名無しさん
2008/03/01(土) 03:37:38javadocだけじゃなくてコンパイルするときにも警告が出ない?
システムのデフォルトの文字エンコード以外を使うときはencodingオプションを
0953デフォルトの名無しさん
2008/03/01(土) 07:52:08フォントを変更したときに
setFontでPLAINに変更してもデフォルトのボールドのかかった
フォントが印刷に反映されません。
どこかで読んだと思い過去スレで探したのですが見つかりません。
教えていただければ幸いです。
0954デフォルトの名無しさん
2008/03/01(土) 09:02:08public static void main(String[] args) {
p_calc.Calc calc =new p_calc.Calc();
System.out.println(calc.sum(1,2));
}
}
コンパイルすると、
0955デフォルトの名無しさん
2008/03/01(土) 09:02:59.\p_calc.java:3: ')' がありません。
int sum(int i; int j){
^
.\p_calc.java:3: ';' がありません。
int sum(int i; int j){
^
.\p_calc.java:8: クラス sample68 は public であり、ファイル sample68.java で宣
しなければなりません。
public class sample68 {
^
sample69.java:3: p_calc にアクセスできません。
クラスファイル .\p_calc.java は不正です。
ファイルにクラス p_calc が含まれていません。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
p_calc.Calc calc =new p_calc.Calc();
^
エラー 4 個
これが出ます。原因はなんでしょうか?
0956デフォルトの名無しさん
2008/03/01(土) 09:18:131. 2 と同じ原因。i の後のセミコロン。
3. ファイル名と public なクラス名が違う。
4. p_calc クラスがコンパイル出来ず、実行ファイルが見つからない。
0957デフォルトの名無しさん
2008/03/01(土) 09:46:260958デフォルトの名無しさん
2008/03/01(土) 10:34:17とくに変じゃないよ。
sample69 で使われている p_calc.Calc を見つけるために p_calc.java
もコンパイルしているんでしょう。
0959デフォルトの名無しさん
2008/03/01(土) 10:51:05Date date = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd");
String today = sdf1.format(date);
で取得して、日付2008/3/10と比較させ今の日時より前か後かという判定を
行いたいのですが、具体的にどうすればよいのでしょう?
0960デフォルトの名無しさん
2008/03/01(土) 10:57:08Calendar#afterとCalendar#beforeを読むべし
実際はGregorianCalendarになるけどな
0961デフォルトの名無しさん
2008/03/01(土) 10:59:05ちょっと調べてみます
0962デフォルトの名無しさん
2008/03/01(土) 11:21:03それともC++あたりに鞍替えした方がいいですか?
0963デフォルトの名無しさん
2008/03/01(土) 11:23:350964959
2008/03/01(土) 11:27:16SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd");
Date now = new Date(); //現在時刻を取得
String today = dateformat.format(now); //変数todayに今日の時刻をyyyy/MM/dd型でいれる
0965デフォルトの名無しさん
2008/03/01(土) 12:08:150966デフォルトの名無しさん
2008/03/01(土) 12:17:14セッションIDをSHA-1でハッシュ化するにはどうしたらよいでしょうか?
0967959
2008/03/01(土) 12:20:16//今日の日付を取得
Date now = new Date(); //今日の日付
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd"); //型の指定
//日付の比較
if (now.before(dateformat.parse("2005/1/1"))) {
//今日が2005/1/1より前のときの処理
}else{
//今日が2005/1/1より後のときの処理
}
ただ、これだと1番最後の行でエラーがでてしまいます・・
エラーは 「処理されない例外の型 ParseException」です
0968959
2008/03/01(土) 12:21:38if (now.before(dateformat.parse("2005/1/1"))) { のところでした
0969デフォルトの名無しさん
2008/03/01(土) 12:41:34Javaでダイジェストを生成する
ttp://www.atmarkit.co.jp/fjava/javatips/117java021.html
>>967
> 数値: フォーマットには、パターン文字の数は最小桁数になります。
二文字使ってるから最低二桁なのでは?
0970959
2008/03/01(土) 12:52:53日付の比較のところがよくないとは思うのですが;;
// 今日の日付を取得
Date now = new Date(); //今日の日付
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd"); //型の指定
String today = dateformat.format(now); //変数todayに今の時刻がはいる
解約予定日を取得
SimpleDateFormat kaiyaku = new SimpleDateFormat("yyyy/MM/dd");
String kaiyakuyoteibi = kaiyaku.format(2005/10/15);
// 日付の比較
if ( ) {
//System.out.println("今日は2002/06/10よりも前の日です。");
}else{
}
0971デフォルトの名無しさん
2008/03/01(土) 13:09:40日付で切り捨てたいなら、Calendarに変換してsetで時刻を0にする。
ユーティリティメソッド作ってそこで比較すべし。
あちこちで比較してたら、バグの温床。
ついでに言えば、「今日の日付を取得する」もユーティリティメソッドにして、
システムプロパティなどで、「今日の日付」を設定できるようにしておくと、
わざわざシステム日付を変更しなくとも、日付が変わったときのテストができる。
0972デフォルトの名無しさん
2008/03/01(土) 13:12:13権限の低いクラスローダでロードしたクラスを挟んでスクリプトを呼ぶといいんじゃないかな、と推測だけで言ってみる
0973デフォルトの名無しさん
2008/03/01(土) 13:39:35Commons/Net 1.4.0 のFTPClientを使っていて 昨日から原因不明のエラーが多発してました
ようやく判明した原因は、FTPClient#listFiles()が返すFTPFile[]の要素が
なんと2/29のタイムスタンプのファイルについてはnullになってしまう事でした!
とりあえずサーバの関連ファイルをtouchして急場をしのぎましたが
この件について善後策を相談するのに最適のスレなどがあれば教えて下さい
0974デフォルトの名無しさん
2008/03/01(土) 13:51:14ドキュメントにバグの報告先とかメンテナの連絡先が書いてあるはずだから、
最小の再現コード付けてレポートする。
0975デフォルトの名無しさん
2008/03/01(土) 14:50:50いまいち上手くいきません。流れとしては、
�@(送り手) FileChannel(sourceChannel)でファイルを読み込む
�A(送り手) SocketChannel(destinationChannel)で相手に送る
�B(受け手) SocketChannel(sourceChannel)で受け取る
�C(受け手) FileChannel(destinationChannel)でファイルに書き込む
送り手
while(destinationChannel.isConnected()){
buffer.clear();
if(sourceChannel.read(buffer) < 0)
break;
buffer.flip();
destinationChannel.write(buffer);
}
受け手
while(sourceChannel.isConnected()){
buffer.clear();
if(sourceChannel.read(buffer) < 0)
break;
buffer.flip();
destinationChannel.write(buffer);
}
bufferはByteBuffer型になっています。
これを実行すると、送り手はエラーもなく正常に終了しているのですが、受け手で
「java.io.IOException: 既存の接続はリモート ホストに強制的に切断されました。」というエラーが出てきます。
エラーが出た場所 => if(sourceChannel.read(buffer) < 0){
長文な上にわかりにくい文章かもしれませんが、
なぜこうなるのか教えてもらえないでしょうか?
0976デフォルトの名無しさん
2008/03/01(土) 15:02:45データの受信自体は問題ないのですか?
単にデータを送るだけだと、送り手側でソケットを閉じると、
受け手側でエラーが出るはずですが…
何らかのプロトコルで「送受信完了」をやり取りする形にすれば
問題のある状態なのかどうか判断できると思います
0977デフォルトの名無しさん
2008/03/01(土) 15:11:10Javaでやっても意味ないよ
0978デフォルトの名無しさん
2008/03/01(土) 15:27:11String str = "12345";
str += "abcde";
これで連結しようとするとrangeが足りないと出ます
すでにあるStringクラスのオブジェクトに文字列を連結するための
メジャーな方法などがあれば教えてください
0979デフォルトの名無しさん
2008/03/01(土) 15:56:12データの受信自体が出来ないみたいです。
送り手側は一通りプログラムが実行されて終了するのですが、
受け手側は if(sourceChannel.read(buffer) < 0) の部分で処理が止まっているみたいです。
受け手は、送り手が書き込むのを待っている状態になっているんでしょうか?
>>977
時間に余裕が出来ればCも勉強しようと思っています。
今は就職活動中であまり時間が無くて、息抜きでやっている状態なので...
助言ありがとうございます。
0980デフォルトの名無しさん
2008/03/01(土) 16:00:40不可能
0981978
2008/03/01(土) 16:02:28スレ汚しごめんなさい
0982デフォルトの名無しさん
2008/03/01(土) 17:44:15APIを見てみるとServletContextはインタフェースなのでオブジェクト化は出来ませんよね。
getServletContext()は、実際にはServletContextではなく、ServletContextを実装するサブクラスを作ってるんでしょうか?
0983デフォルトの名無しさん
2008/03/01(土) 17:46:00System.out.println(context.getClass().getName());
0984デフォルトの名無しさん
2008/03/01(土) 18:13:500985デフォルトの名無しさん
2008/03/01(土) 18:18:51【初心者】Java質問・相談スレッド113【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1204363011/
0986デフォルトの名無しさん
2008/03/01(土) 19:00:59乙彼Death
0987デフォルトの名無しさん
2008/03/01(土) 21:31:24送り側はちゃんと閉じてる?
0988デフォルトの名無しさん
2008/03/02(日) 02:22:230989デフォルトの名無しさん
2008/03/02(日) 02:31:140990デフォルトの名無しさん
2008/03/02(日) 02:38:080991デフォルトの名無しさん
2008/03/02(日) 02:47:56ネットワークとかGUIとか使って何か作りたいのですが、
何も思いつかないので、
パケットモニタ(?)(今どんなメッセージで通信されているか)みたいなのを作りたいのですが、
ネットワークに関しては、どの変の勉強すれば早そうでしょうか。
この辺のクラスは古いから使わないほうがいいとか、
この辺使えばすぐじゃないかとか教えていただけると助かるのですが、
助言もらえませんか。
GUIに関しては、本とWebを参考にして手をつけていたら何とかなりそうな気がしているのですが、
ネットワークは難しすぎて…。
0992デフォルトの名無しさん
2008/03/02(日) 03:16:150993デフォルトの名無しさん
2008/03/02(日) 03:18:43何をしたいのか本人すら分かってないのに他の人に聞いても分かるはずないよ
ネットワークって具体的に何?サーブレットでWebアプリ作るとかじゃ駄目なの?
0994デフォルトの名無しさん
2008/03/02(日) 03:22:47通信なら Socket 使えばいい。
0995デフォルトの名無しさん
2008/03/02(日) 03:36:45>synchronized付いてるから同時には呼び出されない
え?メソッドレベルの排他というのは、一つのメソッドに複数のスレッドが同時に入れないだけで、
アクセスするメソッドが別なら排他されないのでは?やば、今までずっと間違えてきたかも。。。
0996デフォルトの名無しさん
2008/03/02(日) 03:38:580998デフォルトの名無しさん
2008/03/02(日) 03:47:47クラスメソッドの synchronized 修飾子は synchronized(Queue.class){ } と等しい。
0999デフォルトの名無しさん
2008/03/02(日) 03:51:581000デフォルトの名無しさん
2008/03/02(日) 03:55:0610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。