【初心者】Java質問・相談スレッド112【大歓迎】at TECH
【初心者】Java質問・相談スレッド112【大歓迎】 - 暇つぶし2ch950:デフォルトの名無しさん
08/03/01 03:33:02
>>949
javadoc コマンドの -encoding か -charset
これぐらいはマニュアル見て発見しよーぜ。


951:デフォルトの名無しさん
08/03/01 03:33:04
>>949
javadoc -encoding UTF-8

952:デフォルトの名無しさん
08/03/01 03:37:38
>>949
javadocだけじゃなくてコンパイルするときにも警告が出ない?
システムのデフォルトの文字エンコード以外を使うときはencodingオプションを

953:デフォルトの名無しさん
08/03/01 07:52:08
本当に基本的な質問で申し訳ありません。
フォントを変更したときに
setFontでPLAINに変更してもデフォルトのボールドのかかった
フォントが印刷に反映されません。
どこかで読んだと思い過去スレで探したのですが見つかりません。
教えていただければ幸いです。

954:デフォルトの名無しさん
08/03/01 09:02:08
public class sample69 {
public static void main(String[] args) {
p_calc.Calc calc =new p_calc.Calc();
System.out.println(calc.sum(1,2));
}
}
コンパイルすると、

955:デフォルトの名無しさん
08/03/01 09:02:59
c:\source>javac sample69.java
.\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 個
これが出ます。原因はなんでしょうか?

956:デフォルトの名無しさん
08/03/01 09:18:13
>>955
1. 2 と同じ原因。i の後のセミコロン。
3. ファイル名と public なクラス名が違う。
4. p_calc クラスがコンパイル出来ず、実行ファイルが見つからない。

957:デフォルトの名無しさん
08/03/01 09:46:26
sample69をコンパイルしようとしているのに、sample68のことが出るって変じゃあないですか?

958:デフォルトの名無しさん
08/03/01 10:34:17
>>957
とくに変じゃないよ。
sample69 で使われている p_calc.Calc を見つけるために p_calc.java
もコンパイルしているんでしょう。


959:デフォルトの名無しさん
08/03/01 10:51:05
今日の日付を
 Date date = new Date();
 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd");
 String today = sdf1.format(date);
で取得して、日付2008/3/10と比較させ今の日時より前か後かという判定を
行いたいのですが、具体的にどうすればよいのでしょう?

960:デフォルトの名無しさん
08/03/01 10:57:08
>>959
Calendar#afterとCalendar#beforeを読むべし
実際はGregorianCalendarになるけどな

961:デフォルトの名無しさん
08/03/01 10:59:05
>>960
ちょっと調べてみます

962:デフォルトの名無しさん
08/03/01 11:21:03
音声認識に興味があるんだけど、Java Speech APIで実用に耐えられそうですか?
それともC++あたりに鞍替えした方がいいですか?


963:デフォルトの名無しさん
08/03/01 11:23:35


964:959
08/03/01 11:27:16
調べて書いてみたのですが、今日の時刻はこんな感じでよいのでしょうか?

 SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd");
 Date now = new Date(); //現在時刻を取得
 String today = dateformat.format(now); //変数todayに今日の時刻をyyyy/MM/dd型でいれる

965:デフォルトの名無しさん
08/03/01 12:08:15
面倒くさいから、y*10000+m*100+d同士で比較しちゃう。

966:デフォルトの名無しさん
08/03/01 12:17:14
Strutsアプリケーションを作成しているのですが
セッションIDをSHA-1でハッシュ化するにはどうしたらよいでしょうか?

967:959
08/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」です

968:959
08/03/01 12:21:38
エラーは一番最後じゃなくて
if (now.before(dateformat.parse("2005/1/1"))) {  のところでした

969:デフォルトの名無しさん
08/03/01 12:41:34
>>966
Javaでダイジェストを生成する
URLリンク(www.atmarkit.co.jp)

>>967
> 数値: フォーマットには、パターン文字の数は最小桁数になります。
二文字使ってるから最低二桁なのでは?

970:959
08/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{

}

971:デフォルトの名無しさん
08/03/01 13:09:40
時刻も含めて比較したいなら、Date#compareToでできる。
日付で切り捨てたいなら、Calendarに変換してsetで時刻を0にする。

ユーティリティメソッド作ってそこで比較すべし。
あちこちで比較してたら、バグの温床。

ついでに言えば、「今日の日付を取得する」もユーティリティメソッドにして、
システムプロパティなどで、「今日の日付」を設定できるようにしておくと、
わざわざシステム日付を変更しなくとも、日付が変わったときのテストができる。

972:デフォルトの名無しさん
08/03/01 13:12:13
>>947
権限の低いクラスローダでロードしたクラスを挟んでスクリプトを呼ぶといいんじゃないかな、と推測だけで言ってみる

973:デフォルトの名無しさん
08/03/01 13:39:35
スレ違いかも知れませんが…

Commons/Net 1.4.0 のFTPClientを使っていて 昨日から原因不明のエラーが多発してました
ようやく判明した原因は、FTPClient#listFiles()が返すFTPFile[]の要素が
なんと2/29のタイムスタンプのファイルについてはnullになってしまう事でした!
とりあえずサーバの関連ファイルをtouchして急場をしのぎましたが
この件について善後策を相談するのに最適のスレなどがあれば教えて下さい

974:デフォルトの名無しさん
08/03/01 13:51:14
>>973
ドキュメントにバグの報告先とかメンテナの連絡先が書いてあるはずだから、
最小の再現コード付けてレポートする。

975:デフォルトの名無しさん
08/03/01 14:50:50
勉強のためにファイル転送のプログラムを作っているのですが、
いまいち上手くいきません。流れとしては、
①(送り手) FileChannel(sourceChannel)でファイルを読み込む
②(送り手) SocketChannel(destinationChannel)で相手に送る
③(受け手) SocketChannel(sourceChannel)で受け取る
④(受け手) 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){

長文な上にわかりにくい文章かもしれませんが、
なぜこうなるのか教えてもらえないでしょうか?

976:デフォルトの名無しさん
08/03/01 15:02:45
>>975
データの受信自体は問題ないのですか?

単にデータを送るだけだと、送り手側でソケットを閉じると、
受け手側でエラーが出るはずですが…

何らかのプロトコルで「送受信完了」をやり取りする形にすれば
問題のある状態なのかどうか判断できると思います

977:デフォルトの名無しさん
08/03/01 15:11:10
勉強のためならまずCでやったほうがいいよ
Javaでやっても意味ないよ

978:デフォルトの名無しさん
08/03/01 15:27:11
質問させてください

String str = "12345";
str += "abcde";

これで連結しようとするとrangeが足りないと出ます
すでにあるStringクラスのオブジェクトに文字列を連結するための
メジャーな方法などがあれば教えてください

979:デフォルトの名無しさん
08/03/01 15:56:12
>>976
データの受信自体が出来ないみたいです。
送り手側は一通りプログラムが実行されて終了するのですが、
受け手側は if(sourceChannel.read(buffer) < 0) の部分で処理が止まっているみたいです。
受け手は、送り手が書き込むのを待っている状態になっているんでしょうか?

>>977
時間に余裕が出来ればCも勉強しようと思っています。
今は就職活動中であまり時間が無くて、息抜きでやっている状態なので...
助言ありがとうございます。


980:デフォルトの名無しさん
08/03/01 16:00:40
>>978
不可能

981:978
08/03/01 16:02:28
自己解決しました
スレ汚しごめんなさい

982:デフォルトの名無しさん
08/03/01 17:44:15
ServletContextを得るためのgetServletContext()というメソッドがありますが、
APIを見てみるとServletContextはインタフェースなのでオブジェクト化は出来ませんよね。
getServletContext()は、実際にはServletContextではなく、ServletContextを実装するサブクラスを作ってるんでしょうか?

983:デフォルトの名無しさん
08/03/01 17:46:00
ServletContext context = getServletContext();
System.out.println(context.getClass().getName());

984:デフォルトの名無しさん
08/03/01 18:13:50
次スレたててみる

985:デフォルトの名無しさん
08/03/01 18:18:51
次スレ
【初心者】Java質問・相談スレッド113【大歓迎】
スレリンク(tech板)

986:デフォルトの名無しさん
08/03/01 19:00:59
>>985
乙彼Death

987:デフォルトの名無しさん
08/03/01 21:31:24
>>975
送り側はちゃんと閉じてる?

988:デフォルトの名無しさん
08/03/02 02:22:23
PHPを学習した後だとJavaの習得は容易ですか?

989:デフォルトの名無しさん
08/03/02 02:31:14
いいえ

990:デフォルトの名無しさん
08/03/02 02:38:08
PHPの知識は役立たないの?

991:デフォルトの名無しさん
08/03/02 02:47:56
javaの勉強はじめました。

ネットワークとかGUIとか使って何か作りたいのですが、
何も思いつかないので、
パケットモニタ(?)(今どんなメッセージで通信されているか)みたいなのを作りたいのですが、
ネットワークに関しては、どの変の勉強すれば早そうでしょうか。
この辺のクラスは古いから使わないほうがいいとか、
この辺使えばすぐじゃないかとか教えていただけると助かるのですが、
助言もらえませんか。

GUIに関しては、本とWebを参考にして手をつけていたら何とかなりそうな気がしているのですが、
ネットワークは難しすぎて…。

992:デフォルトの名無しさん
08/03/02 03:16:15
Java→PHPなら簡単

993:デフォルトの名無しさん
08/03/02 03:18:43
>>991
何をしたいのか本人すら分かってないのに他の人に聞いても分かるはずないよ
ネットワークって具体的に何?サーブレットでWebアプリ作るとかじゃ駄目なの?

994:デフォルトの名無しさん
08/03/02 03:22:47
パケットモニタはドライバ組まないと無理だ。
通信なら Socket 使えばいい。

995:デフォルトの名無しさん
08/03/02 03:36:45
>>934
>synchronized付いてるから同時には呼び出されない
え?メソッドレベルの排他というのは、一つのメソッドに複数のスレッドが同時に入れないだけで、
アクセスするメソッドが別なら排他されないのでは?やば、今までずっと間違えてきたかも。。。


996:デフォルトの名無しさん
08/03/02 03:38:58
なんかいろいろ勘違いしてるなw

997:933, 995
08/03/02 03:44:36
>>934
いやいや、やっぱり同時アクセス可能ですよ。でないとnotifyAll()でwait()を解除してあげられないです。

998:デフォルトの名無しさん
08/03/02 03:47:47
インスタンスメソッドの synchronized 修飾子は synchronized(this){ } でメソッド内全てを囲ったのと等しい。
クラスメソッドの synchronized 修飾子は synchronized(Queue.class){ } と等しい。

999:デフォルトの名無しさん
08/03/02 03:51:58
URLリンク(www.amazon.co.jp)

1000:デフォルトの名無しさん
08/03/02 03:55:06
1000 なら Java 死滅確定

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch