【初心者】Java質問・相談スレッド117【歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/07/09(水) 12:32:06JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド116【歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1213347130/
次スレは>>990あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
0002デフォルトの名無しさん
2008/07/09(水) 12:32:42■ AWT と Swing は --
Java低速GUI Swing 7
ttp://pc11.2ch.net/test/read.cgi/tech/1204155623/l50
■ SWT は --
Java 高速GUI SWT 3
ttp://pc11.2ch.net/test/read.cgi/tech/1164877399/l50
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part18
ttp://pc11.2ch.net/test/read.cgi/tech/1214192372/l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 8
ttp://pc11.2ch.net/test/read.cgi/tech/1206017034/l50
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 65 ★★
ttp://pc11.2ch.net/test/read.cgi/tech/1212085079/l50
**** 開発環境が必要の場合は ****
■ J2SE 1.4.0
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/index.html
■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/
**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja/
0003デフォルトの名無しさん
2008/07/09(水) 13:28:24C:\Users\Documents\Hoge\src\pkgcui\Cui.java
こういう階層にパッケージpkgcuiに入ったCui.javaがあるとします。
この時カレントディレクトリがC:\Users\Documents\Hoge\srcだとすると
javac pkgcui\Cui.java
java pkgcui.Cuiで実行できますが、
カレントディレクトリが
C:\Users\Documentsだとすると
javac Hoge\src\pkgcui\Cui.javaで、
javaコマンドの方の指定の仕方はどうしたら良いのでしょうか?
0004デフォルトの名無しさん
2008/07/09(水) 13:34:360005デフォルトの名無しさん
2008/07/09(水) 13:45:29これはアドベンチャー用のプログラムなんでswicthは必須です。
前すれ998さんへ
while(true){
int pa = s.nextInt();
のsはどこからもってきましたから?
できればこれらのプログラムをサープレットで書いて欲しいのですが。
0006デフォルトの名無しさん
2008/07/09(水) 13:50:16> のsはどこからもってきましたから?
ブラウザでも、テキストエディタでも、検索してみたら?
0007デフォルトの名無しさん
2008/07/09(水) 13:56:47てっきりclasspathってmain以外のクラスを探すためのもので
mainはjava .\Hoge\src\pkgcui.Cuiとか出来るのかと思ってました…。
ありがとうございます、本当に感謝です!
0008デフォルトの名無しさん
2008/07/09(水) 14:38:50俺はJAVAをあと何回実行かければスイッチを使った引き算ができるようになるんだ!
教えてくれ五飛!
俺はあと何日で
死ぬんだろうか。
0009デフォルトの名無しさん
2008/07/09(水) 14:58:16それともserver.xmlに記述しなければいけないのでしょうか?
0010デフォルトの名無しさん
2008/07/09(水) 15:25:06おい福田、さっさと横須賀の方にプログラムの会社を作りやがれ!
サミットばかりやってないで自分の国民を防衛しろ!
いざとなった時国民の信頼が無いと日本潰れてしまうよ。
0011デフォルトの名無しさん
2008/07/09(水) 15:48:58敗者復活は王道
0012デフォルトの名無しさん
2008/07/09(水) 18:59:39そのAの他メソッドを使うとInterruptedExceptionとかの例外が出ますか?
0013デフォルトの名無しさん
2008/07/09(水) 19:07:49InterruptedExceptionのマニュアルを読みなさい。
0014デフォルトの名無しさん
2008/07/09(水) 19:59:22interruptメソッドを使うとInterruptedExceptionが出ます
0015デフォルトの名無しさん
2008/07/09(水) 23:43:42APIを見たところ、同期化されないから注意しろ、的な文章を見つけたのですが
複数スレッドを使うようなプログラムを意図的に書いてはいません。
ためしにAPIに書いてあった
List list = Collections.synchronizedList(new ArrayList(...));
の形で定義してみても、結果は変わりませんでした。
言葉だけだと説明が難しいので、サンプルのソースを次に記入します。
データベースから取得した口座の残高に100円追加するソースです。
001615
2008/07/09(水) 23:44:23ArrayList<Koza> KozaList_before = new ArrayList<Koza>(4000);
ArrayList<Koza> KozaList_after = new ArrayList<Koza>(4000);
//データベースから配列の形状で口座たちを取得します
KozaList_before =dba.selectKoza("条件");
Koza kz = new Koza();
int zandaka = 0;
//取得件数分繰り返し
for(int j=0 ; j<KozaList_before.size() ; j++){
kz = KozaList_before.get(j);
zandaka = kz.getZandaka() + 100;
koza.setZandaka();
//↑この行が終了すると、KozaList_beforeの中身のkozaに100円足されてしまいます。
//本当は、KozaList_afterにだけ計算結果を格納したいです。
KozaList_after.add(j, kz);
}
}
001715
2008/07/09(水) 23:45:03public class Koza {
private int zandaka;
koza(int zandaka){
this.zandaka = zandaka;
}
public void setZandaka(int zandaka){
this.zandaka = zandaka;
}
public int getZandaka(){
return zandaka();
}
}
001815
2008/07/09(水) 23:47:58何か、根本的な勘違いをしているのかも知れません。
ヒント等分かる方、よろしくお願いいたします。
0019デフォルトの名無しさん
2008/07/09(水) 23:53:48>koza.setZandaka();
の行が通らなくね?
0020デフォルトの名無しさん
2008/07/09(水) 23:54:06まて。それは本当にコンパイルが通ってるコードのコピペなのか?
いろいろとおかしいだろう。
> Koza kz = new Koza();
これに何か意味があるのか? ループの中で潰されてるが。
> koza.setZandaka();
kozaなんて変数は定義されてないぞ。
あと、setterなのに何で引数がないんだ。
002115
2008/07/09(水) 23:58:36ソースは目視のみの確認でしたので、出直してきます。
002215
2008/07/10(木) 00:16:15import java.util.*;
public class Sitsumon {
private void zandaka_keisan(){
ArrayList<Koza> KozaList_before = new ArrayList<Koza>(4000);
ArrayList<Koza> KozaList_after = new ArrayList<Koza>(4000);
DbAccess dba = new DbAccess();
//データベースから配列の形状で口座たちを取得します
KozaList_before =dba.selectKoza("条件");
Koza kz = new Koza();
int zandaka = 0;
//取得件数分繰り返し
for(int j=0 ; j<KozaList_before.size() ; j++){
kz = KozaList_before.get(j);
zandaka = kz.getZandaka() + 100;
kz.setZandaka(zandaka);
//↑この行が終了すると、KozaList_beforeの中身のkozaに100円足されてしまいます。
//本当は、KozaList_afterにだけ計算結果を格納したいです。
KozaList_after.add(j, kz);
}
}
}
002315
2008/07/10(木) 00:16:55private int zandaka;
Koza(int zandaka){
this.zandaka = zandaka;
}
Koza(){
this.zandaka = 0;
}
public void setZandaka(int zandaka){
this.zandaka = zandaka;
}
public int getZandaka(){
return zandaka;
}
}
0024デフォルトの名無しさん
2008/07/10(木) 00:17:18てなさそう。KozaList_before.get()で取り出したインスタンスと
KozaList_after.add()で追加したインスタンスは同じものだよ。
0025デフォルトの名無しさん
2008/07/10(木) 00:18:53解読ありがとうございます。
> Koza kz = new Koza();
これに何か意味があるのか? ループの中で潰されてるが。
ループの前に、kozaのインスタンスを用意したつもりです。
0026デフォルトの名無しさん
2008/07/10(木) 00:22:21Kozaインスタンスは倍の数に増えて欲しいのに、newが1回だけし
かないことを疑おう。
0027デフォルトの名無しさん
2008/07/10(木) 00:27:59>>25
アドバイスありがとうございます!
計算前のKozaインスタンスと、計算後のKozaインスタンスを
それぞれ別に用意してあげる必要があるという事ですね。
Java・・・難しいです・・・・。
0028デフォルトの名無しさん
2008/07/10(木) 00:29:10>>24
>>26
です。
0029デフォルトの名無しさん
2008/07/10(木) 00:53:22>>983
懇意にさせていただいているお客さんから、とある小システムを
ベンダが手を引くから引き継いでくれ。良い悪いを評価して、
悪い部分は直す良い提案をして貰えれば、悪いようにはしない。
(儲けが出るように発注する)
と言われています。
規模が小さいのでウチとしては絶対取りたいとかそういう
訳ではないですけど(営業サイドの思惑から)、今まで/今後の
つきあいもありますので、無碍には出来ないし、というところです。
>>982
FingBugといのは使ったことが無いので、ちょっと調べてみます。
情報ありがとうございます。
他にこういうのはどうよ、というのが有れば教えていただけると
助かります。
0030デフォルトの名無しさん
2008/07/10(木) 00:57:44Web系で、全リクエストで共通の鍵を使用します。
オンライン中にパスワードは通常変更されません。
暗号化の目的は、ブラウザに保存されるCookieをユーザから不可視にするためです。
JDKは1.4.2です。
現在↓こんな感じでSecretKeyを作成しています。
#記憶を元に書いているので間違ってたらスミマセン
##全角スペースでインデントしているのは御愛嬌
参考にしているのはこの辺りです。
http://www.trustss.co.jp/Java/JEncrypt123.html
private static SecretKey generateSecretKey(String password) {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.update(password.getBytes());
byte[] passwordDigest = messageDigest.digest();
SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance("DES");
return secretKeyFactory.generateSecret(new DESKeySpec(passwordDigest));
}
続きます
0031デフォルトの名無しさん
2008/07/10(木) 00:58:15暗号化/復号化はこんな感じです。
this.passwordはコンストラクタで初期化されています。
public String encrypt(String plain) {
byte[] bytes = plain.getBytes();
SecretKey secretKey = generateSecretKey(this.password); // XXX 毎回作るの?
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
return encode(cipher.doFinal(bytes)); // Cookieに保存するためBase64でエンコードして戻す
}
public String decrypt(String crypted) {
byte[] bytes = decode(crypted); // さっきのBase64をデコードする
SecretKey secretKey = generateSecretKey(this.password); // XXX synchronizedにすれば毎回作る必要はないけどね…
Cipher cipher = Cipher.getInstance("DES");
chiper.init(Cipher.DECRYPT_MODE, secretKey);
return new String(chiper.doFinal(bytes));
}
Cipherはともかく、変更されない鍵までリクエストのたびに作るor同期化するっていうのは
イマイチ感が漂うのですが…
そもそもインスタンスが不変であれば同期は要らない気もしています。
どちらにせよ言及している文書が探しきれていないので、「ここ読め」とかでも結構です。
よろしくお願いします。
0032デフォルトの名無しさん
2008/07/10(木) 01:07:37何を聞きたいのかわからない。「外部的に同期化」て意味不明。
0033デフォルトの名無しさん
2008/07/10(木) 01:20:22うう〜ん、あまり一般的な言い方ではないんですかね。
Sunのドキュメントとか見てると結構出てくる表現なんですが…
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GZAZ_jaJP256JP256&q=%e5%a4%96%e9%83%a8%e7%9a%84%e3%81%ab%e5%90%8c%e6%9c%9f%e5%8c%96
要はライブラリなんかが複数スレッドから同時に呼ばれるときに、
ライブラリ側でマルチスレッド環境を考慮していない場合なんかだと
内部的に保持しているメンバ変数の値が不整合になっちゃう場合があって、
だから呼び出し元がsynchronizedで呼んでやることで単一スレッドのみからの
アクセスを保障するようにプログラムを書くことです。 >「外部的に同期化」
さっきのサンプルでいうと、encryptやdecrptのメソッドをsynchronized宣言してやることで、
「外部的に同期化する」対応を行うことになります。
ただ、ライブラリ側で対応していたり、>>31で言及したようにそもそもインスタンスが不変であれば、
内部変数の値が不整合となることもないのでsynchronizedがいらないのではないかと思い、
それについてのドキュメントはありませんか?という意味で質問しました。
0034デフォルトの名無しさん
2008/07/10(木) 01:22:12そのインスタンスが使われることなく、
> kz = KozaList_before.get(j);
で捨てられていることは理解しているか?
003530
2008/07/10(木) 01:25:40ごめんなさい。
こっちのリンクのほうがよかったですね。
http://www.google.co.jp/search?num=100&hl=ja&safe=off&rlz=1T4GZAZ_jaJP256JP256&q=%22%E5%A4%96%E9%83%A8%E7%9A%84%E3%81%AB%E5%90%8C%E6%9C%9F%E5%8C%96%22&lr=
わかりにくくて申し訳ありません。
0036デフォルトの名無しさん
2008/07/10(木) 01:43:1510年以上Javaを触ってるけど、「外部的に同期化」って初めて聞いたよ。
で、1つのSecretKeyを複数のスレッドのCipherから利用したことあるけ
ど、問題が出たことないです。ドキュメントがあったわけじゃないから、
問題が起きないという保証はないですね。本質的に内部状態を持つよう
なインスタンスじゃないから、大丈夫だと思うけど。
もしそういうドキュメントを見付けられなくて、パフォーマンスを上げ
たいなら、SecretKeyとCipherのペアを貸し出し&返却するようなキャッ
シュ機構を作ればかなり効果があるです。
0037デフォルトの名無しさん
2008/07/10(木) 02:30:52アプリケーション組み込み向け(もしくは組み込み可能な)のJVMというのはあるのでしょうか?
以前に見た Unity という3D Game Engineがmonoを使って.NETをスクリプトエンジンとして使っていました。
UNITY: Overview
http://unity3d.com/unity/
これのJavaVM版のようなことがしたいと考えております。
主にWindowsで動作ができればと考えております。
0038デフォルトの名無しさん
2008/07/10(木) 02:34:37ありがとうございます。
# 不特定多数の場所では用語の使い方には注意しなければいけませんね。今後は気をつけます。
> ドキュメントがあったわけじゃないから、問題が起きないという保証はないですね。
> 本質的に内部状態を持つようなインスタンスじゃないから、大丈夫だと思うけど。
正にその辺りが問題で、イケそうでイケないもどかしさが元となって質問に至った次第です。
「JCEは結局インターフェースの規定であって、SecretKeyについてのマルチスレッド環境下での
動作はドキュメント化されていない。故にその動作は実装依存であり、たとえSUNから提供されているJARが
スレッドセーフであった(ことをリバースコンパイル等の手段を用いて実証した)としても、
仕様化されていない以上、将来のリリースでは変更される可能性がある。」
ということがハッキリしているのであれば、防御的にsynchronizedに倒すという結論に至れるのですが、
現在は、そのための判断の材料を探している段階です。
(SUNからJREと一緒に配布されているJARは、あくまでJCEの規格の一実装という位置づけですよね?)
当然、本当にそこまで仕様に対する厳密な判断が必要なのかという議論も別にあると思います。
また、性能に対してどれだけのペナルティがあるのかによっても、結論は変わると思っています。
# まあ面倒だから同期化にして終了としたい自分もいる訳ですがwww
> SecretKeyとCipherのペアを貸し出し&返却するようなキャッシュ機構
・ペアを幾つか作っておき、貸し出し・返却動作のみを同期処理とする
・ペアが全て貸し出しになった場合のみ、新たなペアを作成して貸し出す
ようなイメージで合ってますか?
確かに、これならば同期、鍵の生成部分は最小限で済むかもしれませんね。
サーブレットのスレッド数とあわせておけば、新たなペアの作成も不要となるような気もします。
ありがたく参考にさせて頂きます。
0039デフォルトの名無しさん
2008/07/10(木) 08:19:54例えば、クラスXでクラスYのインスタンスを生成したとして、
クラスY内のフィールドの変化をクラスXで監視する方法って無いでしょうか?
(フィールドの値を取得するのではなく、actionListenerのように変化に反応するような仕組みということです)
あるいはクラスXかYでstaticフィールドを作り、それの変化を監視するという方法は無いでしょうか?
0040デフォルトの名無しさん
2008/07/10(木) 10:34:31int ran = rnd.nextInt() % 100;
で0〜100までの値をranに数字をランダムで入れるまではわかるのですが、
50〜100までの値をranに数字をランダム入れるが分かりません。
ご提示お願いします。
0041デフォルトの名無しさん
2008/07/10(木) 10:41:370042デフォルトの名無しさん
2008/07/10(木) 10:42:38PropertyChangeListener とか、Observer と Observrable とか
>>40
ran = rnd.nextInt(50) + 50;
で、50 <= ran && ran < 100 になる。
0043デフォルトの名無しさん
2008/07/10(木) 10:50:070044デフォルトの名無しさん
2008/07/10(木) 10:52:38Yが監視できるように作られてないとだめ。
クラスYを自前で実装するなら、
変更時にイベント通知するように実装する。
Observerパターン。
Observableとか、PropertyChangeSupportとか使えばすぐ実装できる。
Yが誰かが作ったいじれないクラスで、通知機能がない場合、
フィールド操作がセッタでしっかり実装されてるなら、
セッタをオーバーライドしてなんとかできる。
ソース見れないとか、セッターなしでいろんなタイミングで操作されてるとかなら、
どうにもならない。非同期でいいなら、一定時刻毎に値をチェックする。(ポーリング)
0045デフォルトの名無しさん
2008/07/10(木) 11:06:51足したら除々に足されていくのがプログラム。
0046デフォルトの名無しさん
2008/07/10(木) 11:13:49昨日いたな。そんなバカ。
0047デフォルトの名無しさん
2008/07/10(木) 11:43:55Windowsでjava6でJDBC使うアプリ作ってます。
通常、整数データは何も考えずintにしてましたが、
DBのデータ容量を考えると、不必要な桁数をもつカラムは、SMALLINTやTYNYINTで
定義した方がよさげかな、と思いました。
で、Java側のソースは、数値の取りうる範囲は自前でチェックしているので
別にintのまま、setInt()でも動くのですが、どうせJDBC側でキャストなどして
時間が掛かるだろうと思い、shortやbyteを使う事を検討しています。
shortにしてsetShortを使えばキャストは必要なくなりますので速いと思うのですが、
しかし、通常のjava側の計算処理において、shortでの計算などをがりがりやる事になりますが
暗黙の型変換などがあるので、ここでかえって時間が掛かるのではないかと危惧しています。
性能論議は実測が基本というのは分かっていますが、変更箇所も膨大ですので、変更前に
short化は意味があるかどうか、多少でもアドバイス頂ければと思います。
よろしくお願いします。
0048デフォルトの名無しさん
2008/07/10(木) 11:57:300049デフォルトの名無しさん
2008/07/10(木) 12:30:24すみません!目から鱗でした!それで行きます
でも、考えるとますます、Javaにおけるshortなどの存在意義が無いですよね
なぜ暗黙の型変換でintにするような仕様を入れたのでしょうかね
0050デフォルトの名無しさん
2008/07/10(木) 12:55:46log4j.xmlの設定がわかりません。
下記のように設定しているのですが両方infoのほうに出てしまいます。
どこを修正すればよいでしょうか?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="ERROR" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="c:\\hoge\\log\\hoge_error.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy/MM/dd HH:mm:ss} %p:%c:%m:%n" />
</layout>
</appender>
<appender name="TRACE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="c:\\hoge\\log\\hoge_trace.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy/MM/dd HH:mm:ss} %m%n" />
</layout>
</appender>
<category name="common">
<priority value="error" />
<appender-ref ref="ERROR" />
</category>
<category name="common">
<priority value="info" />
<appender-ref ref="TRACE" />
</category>
</log4j:configuration>
0051デフォルトの名無しさん
2008/07/10(木) 12:56:42それは障害者の人を軽蔑することになるぞ。
その件はインポでnullを宣言したら普通に足せました。
0052デフォルトの名無しさん
2008/07/10(木) 13:08:35まさか本人は恥ずかしくて二度と顔を出せまい
0053デフォルトの名無しさん
2008/07/10(木) 14:35:41本人ですが何か?
ってかネット上で『羞恥心』はねえだろ。
0054デフォルトの名無しさん
2008/07/10(木) 14:52:01( ´,_ゝ`)プッ
0055デフォルトの名無しさん
2008/07/10(木) 15:28:21フィルタをかけるらしい
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/344.txt
0056デフォルトの名無しさん
2008/07/10(木) 17:13:25現在、swingを利用したGUIプログラムを作成しています。
catchブロックで例外を捕らえた場合は、
そのエラー内容を表示しろとのことなのですが、
これはJOptionPane.showMessageDialogで表示したほうがよいのか、
System.out.printlnで表示したほうがよいのか、
一体どちらなのでしょうか。
System.out.printlnだと、開発環境から起動しなかった場合に、
内容を確認できないと思っています。
0057デフォルトの名無しさん
2008/07/10(木) 17:35:10仕様、案件、状況などに応じて適当なのを選べ
あとエラーはSystem.outよりSystem.err
0058デフォルトの名無しさん
2008/07/10(木) 17:43:09ありがとうございます。
0059デフォルトの名無しさん
2008/07/10(木) 22:47:33System.out.println(ia.getHostAddress());
これを現時点で実行すると13個のIPアドレスが表示されますが、
これはwww.yahoo.co.jpのホスト名を13台のPCが持っているということなのか、
www.yahoo.co.jpのホスト名を持つ一台のPCが13個のIPアドレスを持っているということなのかどちらなのでしょうか?
またこのような1ホスト名:複数IPというのは前者の場合は分散化によるメリットが考えられますが、
後者のように一台のPCが複数のIPアドレスを持つことは何の意味があるのでしょうか?
006059
2008/07/10(木) 22:49:01こっちです。
InetAddress ia[]=InetAddress.getAllByName("www.yahoo.co.jp");
for(int i=0;i<ia.length;i++)
System.out.println(ia[i].getHostAddress());
0061デフォルトの名無しさん
2008/07/11(金) 00:14:14JavaMailってSendMailが立ち上がってる必要があるのでしょうか?
それともSendMailなしでも単体で送信可能なのでしょうか?
0062デフォルトの名無しさん
2008/07/11(金) 00:19:40javaと関係なく、DNS 関係を知ることを進める。
一台が複数のアドレスを持てれば、IP毎にマシンを用意しなくてすむ。
0063デフォルトの名無しさん
2008/07/11(金) 00:24:47必ずしも *SendMail は* 必要無いが、*SendMail に代わるもの* が
動いている必要がある。
でなければそもそもメールが流れないことになるだろう。
0064デフォルトの名無しさん
2008/07/11(金) 00:33:29>>63
試しにプロバイダのSTMPサーバーをメールサーバーに指定して
プログラムを動かしてみたのですがなぜか/var/log/maillogに
ログが出力されているのですがSendMailを使っていなくても
SendMailに中継されてたりするのでしょうか?
0065デフォルトの名無しさん
2008/07/11(金) 01:23:55class Sample4_6
{
public static void main(String args[])
{
int a = 0;
int b = 0;
b = ++a;
System.out.println("代入前にインクリメントしたもので、bの値は、" + b + "です。");
}
}
結果が、”代入後にインクリメントしたもので、bの値は、1です。”
次に
class Sample4_6
{
public static void main(String args[])
{
int a = 0;
int b = 0;
b = ++a;
System.out.println("代入後にインクリメントしたもので、bの値は、" + b + "です。");
}
}
結果が、”代入後にインクリメントしたもので、bの値は、0です。”
0066デフォルトの名無しさん
2008/07/11(金) 01:24:56後者は、”b = a++; ”です
006765-66
2008/07/11(金) 01:28:14結果的には、"1"になるはずなのに
どうして、後者が"0"なのか理解できません
出力される前に値がインクリメントされていないからでしょうか?
0068デフォルトの名無しさん
2008/07/11(金) 01:34:18sysoutで言ってるじゃマイカ
>代入後にインクリメントしたもので、bの値は、0です。
結果的に 1 になるのは代入した b じゃなくインクリメントした a だろう
0069デフォルトの名無しさん
2008/07/11(金) 01:36:09nt a = 0;
int b = 0;
b = a++;
これのbがなんで0かってこと?
>代入後にインクリメントしたもので
それなら理由は自分で書いてるとおりだけど。
0070デフォルトの名無しさん
2008/07/11(金) 01:46:41if ( ++a == 1 ) 適当な表示
if ( ++a == 2 ) 適当な表示
0071デフォルトの名無しさん
2008/07/11(金) 01:48:28if ( a++ == 2 ) 適当な表示
0072デフォルトの名無しさん
2008/07/11(金) 01:55:13System.out.println(a);
System.out.println(a++);
System.out.println(a);
System.out.println("---");
a=0;
System.out.println(a);
System.out.println(++a);
System.out.println(a);
007365-66
2008/07/11(金) 02:11:57考えても混乱します・・・・
0074デフォルトの名無しさん
2008/07/11(金) 07:20:15は
b = a;
a++;
と等しい
0075デフォルトの名無しさん
2008/07/11(金) 09:13:03インクリメントを使わずに書いた方がより分かり易くならないか?
b=a++; → b=a; a=a+1;
b=++a; → a=a+1; b=a;
0076デフォルトの名無しさん
2008/07/11(金) 09:44:07インポートすると、
Classはraw型です。総称型Class<T>への参照は、
パラメータ化する必要があります。
という警告がでます。
警告は
java.lang.Class hoge;
のような宣言部分で出てます。
とりあえず、よく分からず適当に、
java.lang.Class<?> hoge;
としたら、警告は無くなったんですが、
こんな対応でいいか教えてください。
0077デフォルトの名無しさん
2008/07/11(金) 11:11:560078デフォルトの名無しさん
2008/07/11(金) 15:47:00insert文の実行にて、
stmt.executeUpdate("INSERT INTO mytable VALUES(10, 20)");
のようにするのではなく、
stmt.executeUpdate("INSERT INTO mytable VALUES(a, b)");
のように変数の値を追加したいのですが指定の方法がわからない状態です。
いろいろと調べてみたところ、${}でいけるような情報があったのですが、
それでも上手くいかない状態です。
変数の値を反映させるには、どうすればよいのでしょうか。
0079デフォルトの名無しさん
2008/07/11(金) 16:33:46普通の文みたいに+でつなげばよろし
0080デフォルトの名無しさん
2008/07/11(金) 16:39:08stmt.executeUpdate("INSERT INTO mytable VALUES(a, b)");
じゃなくて
String str="INSERT INTO mytable VALUES("+a+","+ b")";
stmt.executeUpdate(str);
にしてみては
携帯で急いで打ったからどっかちがうかも
0081デフォルトの名無しさん
2008/07/11(金) 16:55:44教えてください。
String型のaのときは
int型のaを返す
0082デフォルトの名無しさん
2008/07/11(金) 16:58:3279,80さん、ありがとうございました。
0083デフォルトの名無しさん
2008/07/11(金) 17:04:28SQL injectionとかあるからプリペアードステートメントがいいよ
http://www.atmarkit.co.jp/fjava/rensai/jdbc04/jdbc04_1.html
0084デフォルトの名無しさん
2008/07/11(金) 17:15:31aは変数? そのaの型は何なんだ?
0085デフォルトの名無しさん
2008/07/11(金) 17:24:12変数の値が固定である場合には、利用できそうです。
参考になる情報、ありがとうございました。
0086デフォルトの名無しさん
2008/07/11(金) 17:28:49http://www.atmarkit.co.jp/fsecurity/column/ueno/42.html
0087デフォルトの名無しさん
2008/07/11(金) 17:32:12> 変数の値が固定である場合には、利用できそうです。
?
どう言うこと?
0088デフォルトの名無しさん
2008/07/11(金) 17:38:26プロ失格でしょ。
0089デフォルトの名無しさん
2008/07/11(金) 18:05:06ユーザによる検索なんかも、幾つも作っておくもの?
項目の組み合わせの変わる場合も?
0090デフォルトの名無しさん
2008/07/11(金) 18:13:44違う。変数で渡す場合はプリペアードステートメント必須。
もし使ってないコードが納品されたら問答無用で突っ返す。
0091デフォルトの名無しさん
2008/07/11(金) 18:18:51SQL自体は動的に組替えても、その中に外部から来るデータは含めない。
要は、プリペアードステートメントを含むSQLを組み立てて、それに外部
から来るデータを渡す。
DBやDBコネクタにバグがある可能性もある(特にマルチバイト文字)から、
100%安心できるわけではないが、少なくとも自分の担当範囲で脆弱性を
埋め込む可能性は減らせる。
0092デフォルトの名無しさん
2008/07/11(金) 18:24:38JDBCじかは最近やってないから忘れてしまってる。
0093デフォルトの名無しさん
2008/07/11(金) 18:41:09メニューのボタンに触れるとサブナビゲーションが横にスクロールして出てきて、
マウスをボタンから離すとサブナビゲーションが元に戻る、というスクリプトはどのようにすればいいのでしょうか。
超初心者で、探してみたんですが、そういった方法の名称もわからないので見つけることができませんでした。
どなたか教えて頂けませんでしょうか。
0094デフォルトの名無しさん
2008/07/11(金) 18:46:24>スクリプト
javascript? だったらすれ違い。
0095デフォルトの名無しさん
2008/07/11(金) 18:49:54そうでしたか。
それではそっちで聞いてみます。
ありがとうございました
0096デフォルトの名無しさん
2008/07/11(金) 18:53:28なるほどね
0097デフォルトの名無しさん
2008/07/11(金) 22:40:56Windowsをメインに考えているのですが、javaの暗黙の型変換にはやはりコストが
掛かるものと考えておいたほうが良いのでしょうか?
たとえばメソッドの、boolean method(int i){return i >10;} とboolean method(short i){return i >10;} は
全く同じバイトコードにコンパイルされますが、これでもやはり実行時にJVM内部で変換のコストが
発生しているのでしょうか?
0098デフォルトの名無しさん
2008/07/11(金) 22:44:05バイトコードの1行目が、
0 iload_1 [i]
なのですが、つまり、ここにshortの変数をぶち込んだ時に、
内部でintへの変換が発生すると思うのですが
そういう認識であってますでしょうか?
0099デフォルトの名無しさん
2008/07/11(金) 22:52:51コストはかかっているのかもしれないが、1つインスタンスをnewするコ
ストに比べたら何十万分の一とかそういうレベル。
0100デフォルトの名無しさん
2008/07/12(土) 00:18:57"if
else if
else if
else"
と
"if
if
else
else
else"
は、同じ意味なのでしょうか?
0101デフォルトの名無しさん
2008/07/12(土) 00:20:452つ目はコンパイルエラーなんじゃ。 if () { } 括弧をつけてきちんと書いてみなされ。
0102100
2008/07/12(土) 00:30:18????
0103デフォルトの名無しさん
2008/07/12(土) 00:33:060104デフォルトの名無しさん
2008/07/12(土) 00:35:250105100
2008/07/12(土) 00:37:33はい、この二つの文法は意味が同じか訊きたいのです。
0106デフォルトの名無しさん
2008/07/12(土) 00:40:560107101
2008/07/12(土) 00:42:11} else if {
} else if {
} else {
}
と
if () {
if () {
} else {
}
else // なんだよこれ
} else {
}
0108デフォルトの名無しさん
2008/07/12(土) 00:45:39ファイルを開くときにフィルタを適用して、拡張子による選別は実現できたのですが、
保存のときにフィルタを適用することができません。
例えばメモ帳などでデータを保存するときに、ファイルの種類をテキストタイプに指定すれば
ファイル名にわざわざ拡張子.txtを入力せずともテキストファイルの保存ができると思いますが、
このような機能を実現するには、自分で処理部分を実装するしかないのでしょうか?
0109デフォルトの名無しさん
2008/07/12(土) 01:11:18FileFilterと何が関係あるのかわからない。
ユーザにファイル名を入力してもらったら、filename + ".txt" ってや
るだけでは?
0110デフォルトの名無しさん
2008/07/12(土) 01:17:58既に".txt"ってついている場合を分けなきゃな
0111108
2008/07/12(土) 01:25:53ファイル名に"test.java"と入力して保存すると、javaファイルとして保存されるんです。
ファイル名から拡張子を抜き出すことは可能なのですが、条件分けに戸惑ってまして…
FileFilterを利用すれば面倒なことは勝手に処理してくれるのかな、と思ったのですが、
どうやらそうじゃないみたいですね。
0112100
2008/07/12(土) 01:40:29はぁーなるほど、訂正ありがとうございます。
学校の資料見ると、上記の二つの文は書き方が違うだけで
同じと書いてありましたので・・・・
0113デフォルトの名無しさん
2008/07/12(土) 01:43:35学校の資料が間違っていたか間違って覚えてきたのか。
短いプログラムを書けば実証できるんだからナゼやってみない?
0114100
2008/07/12(土) 01:59:36はい、やってみます。
サンクスですた。。。
0115デフォルトの名無しさん
2008/07/12(土) 02:07:40何かを勘違いしていると思われる。
保存するファイル名がtest.txtだろうがtest.javaだろうが、ファイルの
中身は同じだよ? Windowsのエクスプローラがファイル名を見て「テキ
スト ドキュメント」とか種類を表示しているだけ。
0116115
2008/07/12(土) 02:11:54たとえば画像処理するプログラムで、test.jpgならJPEGで保存、
test.bmpならBMPで保存、という感じに保存されるデータ自体が変わるケー
スもあるね。
そういうのは自分でコードを書かなきゃダメだ、もちろん。
0117108
2008/07/12(土) 03:08:51意見していただいた方、ありがとうございました。
0118デフォルトの名無しさん
2008/07/12(土) 04:12:21class Sample5_6
{
public static void main(String args[]) throws IOException
{
System.out.println("苗字を入力してください。");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
String str1 = "山田";
String str2 = "伊藤";
if(str1 == "山田"){
System.out.println("太郎が入力されました。");
}
else if(str2 == "伊藤"){
System.out.println("次郎が入力されました。");
}
else{
System.out.println("1と2を入力して下さい。");
}
}
}
0119118
2008/07/12(土) 04:15:18出力が
”山田”を入力したら”太郎”に
”伊藤”を入力したら”次郎”に
なるようにしたいのですが、
後者が、どうしても、”伊藤”と入力すると”太郎”が
出力されてしまいます
0120デフォルトの名無しさん
2008/07/12(土) 04:35:18equals
つか、Javaで真っ先に習うことの一つのような気がするが……。
0121デフォルトの名無しさん
2008/07/12(土) 04:44:490122118
2008/07/12(土) 04:48:57は、まだ習っていません・・・
できたら、ソースを訂正していただけないでしょうか・・・?
0123デフォルトの名無しさん
2008/07/12(土) 05:01:51if文で使ってないのは比較以前の問題だな。。。
とりあえずequalsは「java 文字列比較」で調べればいいよ
0124118
2008/07/12(土) 05:58:040125デフォルトの名無しさん
2008/07/12(土) 07:58:43import javax.servlet.http.HttpServletRequest;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.struts.Globals;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;
public ActionForward select (ActionMapping map,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res ) throws Exception{
DBManagement dbManager = new DBManagement();
ArrayList alTask = new ArrayList();
ServletContext scContext = servlet.getServletContext();
DataSource dsSource =(DataSource) scContext.getAttribute(Globals.DATA_SOURCE_KEY);
alTask = dbManager.selectData(dsSource);
req.setAttribute("input", alTask.toArray());
return map.findForward("index");
}
上記のコードがあります。selectメソッドの5行目や6行目では、newを使ってインスタンスを生成しています
が、次の行のservlet.getServletContext();ではインスタンスを生成しなくてもいきなり
servlet.getServletContext();という風にgetServletContext() メソッドを使えています。これは何故でしょうか?
ぐぐってもわからなかったので、ご教授いただければ幸いです。 どうぞ宜しくお願い致します。
0126デフォルトの名無しさん
2008/07/12(土) 08:35:06select メソッドがあるクラスに servlet という フィールドは無いか?
もしくはそのクラスが extends しているクラスに servlet という protected か public なフィールドは無いか?
0127デフォルトの名無しさん
2008/07/12(土) 10:18:07早速のレス有難う御座います。
私が見た限りでは、どちらもありませんでした。
なお、エクリプスで上記のコードを見ると、servlet.getServletContext() のservletだけ
青文字になっていたのでマウスのカーソルを当ててみたところ、
ActionServlet org.apache.struts.action.Action.servlet
Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.
と出ました。何かしらご教授いただければ幸いです。どうぞ宜しくお願い致します。
0128デフォルトの名無しさん
2008/07/12(土) 10:21:57org.apache.struts.action.Actionのservletだろ
0129デフォルトの名無しさん
2008/07/12(土) 12:45:37ありがとうございました
0130デフォルトの名無しさん
2008/07/12(土) 13:09:30レス有難う御座います。
ということは、インポートしたパッケージに含まれるオブジェクトは、newで
インスタンスを生成しなくてもいきなり使える、ということでしょうか?
0131デフォルトの名無しさん
2008/07/12(土) 13:29:27public class LoginAction extends Action {
とかしてるんじゃないの?
0132デフォルトの名無しさん
2008/07/12(土) 13:38:41レス有難う御座います。
いえ、public class 〜Action extends MappingDispatchAction {
になっています。なにかご教授いただければ幸いです。どうぞ宜しく
お願い致します。
0133デフォルトの名無しさん
2008/07/12(土) 13:48:21MappingDispatchActionは、Actionのサブクラスなのでは?
0134デフォルトの名無しさん
2008/07/12(土) 14:10:05インスタンス変数と継承の関係について理解が足りない。
0135デフォルトの名無しさん
2008/07/12(土) 15:39:11「JavaでGUIを作る気になれない」
といっていたのを思い出しました。
どちらが優れてるか等の議論はしませんが、それぞれのメリット、デメリットを教えていただけないでしょうか?
0136デフォルトの名無しさん
2008/07/12(土) 15:59:38http://oshiete1.goo.ne.jp/qa2030088.html
この手順のような、解放処理を登録せずに実装できる方法を探しています。
0137デフォルトの名無しさん
2008/07/12(土) 16:09:38そこに書いてある、解法処理を登録する奴が一番標準的
0138デフォルトの名無しさん
2008/07/12(土) 16:23:20この解放処理をWindowAdapterクラスを継承したクラスの
windowClosingで処理するという方法はありでしょうか。
試した限りでは、上手く動作しているのですが。
0139デフォルトの名無しさん
2008/07/12(土) 16:32:20java.lang.Runtime#addShutdownHook(java.lang.Thread) 使ったほうが、
異常終了(例えば Windows の ctrl-c による強制終了とか)でも終了を捕捉できる可能性が高くなる。
必要ないならアリだと思う。
0140デフォルトの名無しさん
2008/07/12(土) 16:35:48Java *だけで* ある簡単な GUI を作ってみて、
C++ *だけで* 同じ GUI を作ってみて、
比較してみたら何か分かるんじゃないか?
0141デフォルトの名無しさん
2008/07/12(土) 16:49:56レスありがとうございます。
もう一度、検討しなおします。
0142デフォルトの名無しさん
2008/07/12(土) 17:25:47OS
0143デフォルトの名無しさん
2008/07/12(土) 19:56:54getCaretPosition()でオフセットを取得して、そこから(X行,Y列)への変換を試みたのですが、
うまくいきませんでした。
どなたか、御教示下さい。
0144デフォルトの名無しさん
2008/07/12(土) 22:14:08やったこと無いけど、
getCaretPosition() を使った方法じゃダメなの?
0145デフォルトの名無しさん
2008/07/12(土) 22:14:37OSはVistaの32bit、javaのヴァージョンはVersion 6 Update 7です。
コンパイルしたものを実行するとウィンドウは出てくるんですが
ボタンやテキストエリア等の中身が一切表示されません。
ウィンドウサイズを手動で変えると表示されます。
別のウィンドウをアクティブにしてから戻ると、
その別のウィンドウと重なった部分が消えてしまいます。
解決策はありますでしょうか。よろしくお願いします。
0146デフォルトの名無しさん
2008/07/12(土) 22:22:55バリデートツリーとかリペイントとか?
Java低速GUI Swing 7
http://pc11.2ch.net/test/read.cgi/tech/1204155623/
0147デフォルトの名無しさん
2008/07/12(土) 22:32:14ソースをこちらへ
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm
0148デフォルトの名無しさん
2008/07/12(土) 22:33:26swingの描画ぶっこわしてるんじゃない?
paintComponent()で描画してる?
0149143
2008/07/12(土) 22:34:43getCaretPosition()でオフセットを取得したあと、値から
現在のキャレットの行と列の位置を判断する方法が思い浮かばないんです。
Hello|(←キャレット)
World
例えばこの位置でのオフセットの値は5になるんですが、この値から
行と列の位置(1,6)を判断する方法が思い浮かばなくて…
0150デフォルトの名無しさん
2008/07/12(土) 22:44:56早々のレスありがとうございます。
スレ違いだったようで失礼しました。
paintComponent()というのを使っていないので
調べてみようと思います。解決しなければswingのスレか
ソースうpしてまた質問させてください。
ありがとうございました。
0151デフォルトの名無しさん
2008/07/12(土) 22:46:19JTextArea ta;
として、
こんな?
int y =0;
int x =1;
int cnt = ta.getCaretPosition();
for(String s:ta.getText().split("\n")){
if(cnt<=s.length()){
y=cnt+1;
break;
}else{
cnt=cnt-s.length()-1;
x++;
}
}
0153デフォルトの名無しさん
2008/07/12(土) 23:45:310154デフォルトの名無しさん
2008/07/13(日) 00:01:050155デフォルトの名無しさん
2008/07/13(日) 00:52:58正直どっちでもいいよ。JavaでGUI作ってもC++で作っても
パフォーマンスの違いなんて昨今じゃそこまで広がらない
けど個人的にはC++のほうがなんかいいんだよなぁ〜。。。なんでだろw
0156デフォルトの名無しさん
2008/07/13(日) 09:07:560157デフォルトの名無しさん
2008/07/13(日) 09:28:550158デフォルトの名無しさん
2008/07/13(日) 10:13:07遅くて使い物にならなかったのでjavaの利用を諦めていたのですが
最近話題の激安鯖などはそこそこ使えますか?
0159デフォルトの名無しさん
2008/07/13(日) 10:45:02512MBくらいあればXPでも遊べるよ。
DBもリッチなIDEも全部入れるとなると、1GBくらいないときついけど。
0160デフォルトの名無しさん
2008/07/13(日) 12:31:49やねう企画代表者やねうらお(本名・磯崎元洋)が
・ソフトウェアの不正コピーを行っていた
・労働契約上の違反をしていた
・他は不正コピーしていないことを証明しようとしてエロゲーのパッケージを発見し、
写真に撮ってアップロードしようとした。
http://d.hatena.ne.jp/pmoky/19000106
やねう企画の裏側(競馬の詐欺ソフトの製作現場)
http://d.hatena.ne.jp/pmoky/20060510
http://d.hatena.ne.jp/pmoky/20060511
http://d.hatena.ne.jp/pmoky/20060512
有限会社やねう企画(所在地・大阪府八尾市末広町2−1−2)が計画倒産
http://www.sia.go.jp/~osaka/zenso/19.09.pdf
やねうらおプロフィール
性格:友達から「チンピラ」「ヤクザ」と呼ばれている。前世で殺人鬼だった宿業を背負っているという妄想(自覚)あり。
最終学歴:専門学校卒
主な職歴:有限会社センキ(凌辱系アダルトゲームの製作会社)を経て独立、有限会社やねう企画を設立、2006年に計画倒産
代表作:『夜這いマニア』『盗撮マニア』『お楽しみCDシリーズ』『競馬詐欺ソフト』『BM98』
やねうらお語録
>「ワシのほうが潔癖やと思うんやけどな。
>絶対に違法コピーのソフトしか使わんし。
>たとえば強盗に入ったときに、ちょっとかわいそうになって
>十万円だけ残してったら、おかしいやろ?
>自分の『強盗する』という意思に対して矛盾やろ?
>だからワシは、一個も買ったソフトを使ったことがない!!」
0161デフォルトの名無しさん
2008/07/13(日) 12:35:16最初の一文字だけを取り出すケースが出てしまうものを作ろうとしているのですが・・・・・・
0162デフォルトの名無しさん
2008/07/13(日) 12:49:46それは0文字じゃね
最初の1文字なら substring(0, 1)
0163デフォルトの名無しさん
2008/07/13(日) 13:23:550164デフォルトの名無しさん
2008/07/13(日) 13:28:34【自作自演】弓月城太郎氏に関するまとめ【神秘体験】
http://d.hatena.ne.jp/yaneurao/20080619
0165デフォルトの名無しさん
2008/07/13(日) 13:56:230166デフォルトの名無しさん
2008/07/13(日) 14:13:29codePointAt
0167デフォルトの名無しさん
2008/07/13(日) 15:26:06スーパークラスではpublicなメソッドをサブクラスではprivateとして隠蔽したいときはどうすればいいですか?
例えばHashtableクラスを継承したMyHashtableを作って、#get(Object key)を使わせたくない、等です。
0168デフォルトの名無しさん
2008/07/13(日) 15:29:07継承ではなく委譲にして必要なメソッドだけ実装する
という方法はNGです
0169デフォルトの名無しさん
2008/07/13(日) 15:32:42サブクラスはいつでもスーパークラスにキャストできるので、どっちみち無駄です
使わせたくないだけなら、オーバーライドして例外を投げる方法がなくもない
public Object get(Object key) {
throw new UnsupportedOperationException();
}
しかし継承より委譲の方が良いのではないか
0170デフォルトの名無しさん
2008/07/13(日) 15:37:56完全に値を取得できなくするのはなかなか面倒い気がする
0171デフォルトの名無しさん
2008/07/13(日) 15:43:33隠したいメソッドを抜いたインターフェイスを準備して実装、
そのインターフェイスを通して操作するのはどう。
0172デフォルトの名無しさん
2008/07/13(日) 16:00:35どうもありがとうございました
0173デフォルトの名無しさん
2008/07/13(日) 16:25:29そんなリスコフの置換原則を全力でぶっちするような設計は却下。
0174デフォルトの名無しさん
2008/07/13(日) 21:51:52深入りしたくないので、C/C++で実装したDLLを使いたいのですが
可能でしょうか?
VS2005、C/C++職歴6年生です。
0175デフォルトの名無しさん
2008/07/13(日) 22:00:05Javaアプリケーションは100%Javaで完結していることが好まれることがある
使っていいことになったら、JNIでぐぐれ
0176デフォルトの名無しさん
2008/07/13(日) 22:06:21原理的にはやればできる。
お勧めはしないがするのはアンタだ。やりたいようにすればいい。
JNI使えば、Java側からC/C++の関数を呼び出したり
逆にC/C++側からJavaのオブジェクトにアクセスできたりできるので、
やりたいことは多分できるはず。
0177デフォルトの名無しさん
2008/07/13(日) 22:21:33>>176
Thx
JNIまたは、DLLをJavaで書き直すか、今晩ゆっくりトレードオフを考慮し
月曜の朝決めます
0178デフォルトの名無しさん
2008/07/14(月) 00:06:23二重起動の確認にFileOutputStreamを利用するのが一般的
ということなのですが、
この方法を使用するとロック用に使用しているファイルが
普通にWindowsファイルシステム上で確認できてしまいます。
これを確認できないようにするには、どうしたらよいのでしょうか。
0179デフォルトの名無しさん
2008/07/14(月) 00:09:230180デフォルトの名無しさん
2008/07/14(月) 00:27:48確かにそうなのですが、ユーザーからすれば、
やはり気持ちのよいものではないと思い、
何か策はないかと考えてしまう次第です。
また、一時ファイルのパスのDocuments...の部分が、
vistaとxpで違うのが、厄介なところです。
う〜ん...。
0181デフォルトの名無しさん
2008/07/14(月) 00:34:080182デフォルトの名無しさん
2008/07/14(月) 00:39:24早速、調べてきます。
0183デフォルトの名無しさん
2008/07/14(月) 00:58:32色々とありがとうございました。
stream = new FileOutputStream(new File(System.getenv("TEMP") + "\\lock"));
0184デフォルトの名無しさん
2008/07/14(月) 03:35:16{
public static void main(String args[])
{
int cal = 100;
for(int i = 1; i<=5; i++){
switch(i){
case 1:
case 2:
cal = cal + i;
break;
case 3:
cal = cal - i;
break;
case 5:
cal = cal / 2;
break;
default:
cal = cal * 10;
}
System.out.println("カウント数は、" + i + "です。" );
}
System.out.println("計算結果は、" + cal + "です。" );
}
}
0185184
2008/07/14(月) 03:36:02解説お願いします。
0186デフォルトの名無しさん
2008/07/14(月) 03:39:02どうして結果が500にならないと思うのか分かりません。
0187デフォルトの名無しさん
2008/07/14(月) 03:41:27i=1の時にswitch節はcase 1: に一致して、
breakが無いからcase 2: に書いてある cal = cal + i; が実行されるって分かってる?
0188184
2008/07/14(月) 03:45:47で、cse2が、二回目の繰り返しで、100 + 2 = 102
で・・・・・????????????
0189デフォルトの名無しさん
2008/07/14(月) 03:52:250190デフォルトの名無しさん
2008/07/14(月) 04:02:07初期値: 100
i=1: case 1 → 100+1=101
i=2: case 2 → 101+2=103
i=3: case 3 → 103-3=100
i=4: default → 100*10=1000
i=5: case 5 → 1000/2=500
結果: 500
0191184
2008/07/14(月) 04:41:16レス、ありがとうございます。
疑問がまだあります、Breakで一旦抜けているのに
i=1: case 1 → 100+1=101
i=2: case 2 → 101+2=103
のように、case2で103になったのを、それ以外にあたいする
case 4に、103という数値をいれてもいいのでしょうか?
0192184
2008/07/14(月) 04:48:22たとえば、こうなるとき
for(int i = 1; i<=5; i++){
for(int i = 1; i<=4; i++){
for(int i = 1; i<=3; i++){
for(int i = 1; i<=2; i++){
で、i<=3なら此処で抜けて
以前、まで(3以下まで)の処理がされる継承されてるからですね?
そして、case 3でブレイクということでしょうか?
0193184
2008/07/14(月) 04:49:15ぬけだされないのかと・・・?
0194デフォルトの名無しさん
2008/07/14(月) 04:50:57取得部分のやり方を教えていただけませんか。
できればSAXでお願いします。
0195デフォルトの名無しさん
2008/07/14(月) 04:51:29日本語を先に勉強しろ
0196デフォルトの名無しさん
2008/07/14(月) 04:51:52>>192
なにを言ってるのかさっぱりわからん。
switch - case の break を for の break と勘違いしてるか?
両者は別のもの、というか、case にある break では for は終わらないぞ
0197デフォルトの名無しさん
2008/07/14(月) 04:57:06WebからXMLを取得することとSAXを使うことは直接は関係ない。
まずWebからHTMLを取得することを勉強しなさい。
0198184
2008/07/14(月) 05:01:31むじぃ
0199デフォルトの名無しさん
2008/07/14(月) 05:05:45まるっきり勘違いを積み重ねてるようだから、出直して分かるか怪しいな
先のコードに行番号つけて、処理されると思っている順番に番号を書き出してみるのがいいだろう
0200デフォルトの名無しさん
2008/07/14(月) 05:07:01Htmlを取得してそのXMLを読み込んで利用という認識でOKですか?
0201197
2008/07/14(月) 05:15:39OKじゃない。
Webから何かを取得するという処理は、それがXMLだろーが
HTMLだろーが画像だろーが動画だろーが関係ない。
取得した後、XMLだったらSAXなりDOMなりXSLTなり
なんでも使って処理すればいい。
0202デフォルトの名無しさん
2008/07/14(月) 08:01:020203130
2008/07/14(月) 08:53:46>>134
亀レスで申し訳ないです。色々調べてみたら、
java.lang.Object
org.apache.struts.action.Action
org.apache.struts.actions.DispatchAction
org.apache.struts.actions.MappingDispatchAction
で、
0204130
2008/07/14(月) 08:56:41にservletというフィールドがありました。
有難う御座いました!!
0205デフォルトの名無しさん
2008/07/14(月) 11:16:38それぞれの送信ボタンに異なるnameの値を設定してそれをサーブレットでどのボタンが押されたか判断し、その後の処理を分岐させようとしてもうまくいきません。
JSPで
<form method="POST" action="サーブレットのURL">
<input type="submit" name = "1" value="追加" />
<method="POST">
<input type="submit" name = "2" value="更新" />
(省略)
</form>
サーブレットで
String name = req.getParameter("name");
out.println("name="+name);
とやってもname=nullとしか表示されずnameの値を取得することが出来ません。
どこが間違っているのでしょうか?また、他に良い方法はあるのでしょうか?
0206デフォルトの名無しさん
2008/07/14(月) 11:24:12String name = req.getParameter("1");
取るならこうだろ
0207デフォルトの名無しさん
2008/07/14(月) 11:48:13出来ました。ありがとうございます。
0208デフォルトの名無しさん
2008/07/14(月) 13:07:41JDBCドライバが見つからないというエラーが出て困っています。
eclipceだと起動するけど、jarファイルにすると起動しないというパターンです。
マニフェストファイルにclass-pathとJDBCドライバのフルパスを書いて、
そのパスにJDBCドライバを置いているのですが、
何故か思うようにいきません。
どこに問題があるのでしょうか。
0209デフォルトの名無しさん
2008/07/14(月) 13:08:19name = req.getParameter("1");
とやるとnameが1の送信ボタンの時は問題ないのですが
nameが2の送信ボタンのときは
nameを表示したりnameで判断させようとしたときにエラーが出てしまいます。
受け取るものがなくてnameに何も入っていないのが問題だと思うのですが、
あらかじめnameに"null"などどいてれもやはり同じエラーが出ます。
どうか解決策をお願いします。
0210デフォルトの名無しさん
2008/07/14(月) 13:18:34ぬるぽ
0211デフォルトの名無しさん
2008/07/14(月) 13:19:08どっちも name="buttonname" にして
String value = req.getParameter("buttonname");
で value.equals("追加") か value.equals("更新") かで見るとか?
0212デフォルトの名無しさん
2008/07/14(月) 13:29:28出来ました。ありがとうございます。
nameはこんな使い方も出来るんですね。
0213デフォルトの名無しさん
2008/07/14(月) 13:38:53ぬるぽもちゃんと理解しないと今後つまずくと思うのだが
0214デフォルトの名無しさん
2008/07/14(月) 13:39:50たぶん勘違いがあると思うが。
req.getParameter() で返されるのは <input name="A" value="B"> の
value の方("B")だ。
name = req.getParameter() という書き方から推測すると name の方("A")が
返されると思っているのではないか。
0215デフォルトの名無しさん
2008/07/14(月) 13:41:16試しに、System.getProperty("java.class.path")を実行してみると、
どうやらクラスパスが通っていないようです。
ただし、マニフェストファイルには確かに次のように書いています。
Class-Path: C:/mysql-connector-java-5.1.6-bin.jar
このようなフルパスの指定に何か問題があるのでしょうか。
0216デフォルトの名無しさん
2008/07/14(月) 13:43:35スレ的にはそっちがネタだなw
0217デフォルトの名無しさん
2008/07/14(月) 13:51:59そのデータをあるプログラムで読み込み計算し、上書きするという作業をしています
しかし、乱数、及び配列の数を40万個から50万個に変えたとき
outofmemoryerrorと表示されてしまいます。環境はNetBeans6.0.1です。
PCのメモリは1GBあります。
0218デフォルトの名無しさん
2008/07/14(月) 14:02:35それで?
質問文を書け。
0219デフォルトの名無しさん
2008/07/14(月) 14:06:17そのプログラムをもっとメモリを使わないで済むように改良するんだ!
0220デフォルトの名無しさん
2008/07/14(月) 14:12:48BigDecimalをつかうプログラミングをするのはjava7になってから始めた方がいいですか?
0221217
2008/07/14(月) 14:25:41質問内容は、乱数、配列が50万個でもOutOfMemoryerrorを出さず、
プログラムを動くものにしたいのですが、どのようにしればいいでしょうか
0222デフォルトの名無しさん
2008/07/14(月) 14:29:140224デフォルトの名無しさん
2008/07/14(月) 14:43:09根本的な原因を理解しないといけないということですね。
String name = req.getParameter("2"); とするとnameが1の送信ボタンが押された場合、nameが2の値が存在しないので
それをnameに入れるとnameが何も入ってない状態(null)になるので、nameを判断しようとした場合、値がないのでエラーになるものだと思いました。
>>211の解決策はnameを統一し、nameの値(送信スイッチごとのvalue)で判断する。
こうすればどのスイッチがおされても必ずnameに値が入るのでnullにならない。というものだと解釈しました。
>>214
最初(>>205)はnameに'A'が入ったものが返ってくると思い、nameと書いていましたが、
アドバイスを頂き、今は理解できたと思います。
ありがとうございました。
0225デフォルトの名無しさん
2008/07/14(月) 14:52:11たしかこうでは
Class-Path: C:/mysql-connector-java-5.1.6-bin.jar;.
0226デフォルトの名無しさん
2008/07/14(月) 14:54:13if (name.equals("追加") {
}
だけだとエラーになるけど
if (name != null && name.equals("追加") {
}
とすればエラーにならないでしょ。
0227デフォルトの名無しさん
2008/07/14(月) 15:02:20これって左が先か右が先かって順番決まってたっけな?
0228デフォルトの名無しさん
2008/07/14(月) 15:03:57左が先
0229デフォルトの名無しさん
2008/07/14(月) 15:04:07左が先
0230デフォルトの名無しさん
2008/07/14(月) 15:08:010231デフォルトの名無しさん
2008/07/14(月) 15:17:410232デフォルトの名無しさん
2008/07/14(月) 15:17:50レスありがとうございます。
試してみたのですが、やはりうまく動いてくれません。
もう、よくわからないので、jre/lib/extにドライバを置こうと思っています。
0233217
2008/07/14(月) 15:21:49仮想メモリを2Gにしましたが、うまくいきませんでした。
>>223
コマンドラインフラグを調べましたが、良くわかりませんでした。
プログラム中で宣言するのですか?それとも、javaの設定を変えるのですか?
0234デフォルトの名無しさん
2008/07/14(月) 15:37:32試してみたところ確かに下のはエラーになりませんでした。
上のはnameと比較しようとするとnameがnullなのでエラーになる。
下のはnameがnullかどうかチェックし、nullじゃなかったら比較に入るのでnullでもエラーが出ない。ということですね。
0235デフォルトの名無しさん
2008/07/14(月) 15:47:40∧_∧
( ´∀`)< ぬるぽ
0236デフォルトの名無しさん
2008/07/14(月) 15:49:57改良してみよう。
二つのボタン <input name="1" value="追加"><input name="2" value="更新"> の場合、
value の値は表示にも使われることもあって、プログラム内で判断に使うには向かない。
そこで value を見なくて済むように、それぞれが押された場合に req.getParameter() が
何を返すかもう一度見てみる。
追加ボタン押下時:
req.getParameter("1") = "追加"
req.getParameter("2") = null
更新ボタン押下時:
req.getParameter("1") = null
req.getParameter("2") = "更新"
ということは、押されたほうの req.getParameter() の返値は *nullでは無い* と
一般化できる。
だから
if(req.getParameter("1") != null) {
// 追加が押された場合の処理
} else if(req.getParameter("2") != null) {
// 更新が押された場合の処理
}
と書くことも出来、これなら value の値が例えば"追加"が"ついか"と変更されても
プログラム側は修正しなくて済むことになる。
0237デフォルトの名無しさん
2008/07/14(月) 15:58:52メモリの割り当てはこの辺だけど、プログラムを見直したほうが良いんじゃね?
ttp://sdc.sun.co.jp/java/docs/j2se/1.5.0/ja/docs/ja/tooldocs/windows/java.html#Xms
0238デフォルトの名無しさん
2008/07/14(月) 16:15:50そういう考え方も出来るんですね。勉強になります。
0239デフォルトの名無しさん
2008/07/14(月) 18:34:52JDBCドライバのフルパスの場所に、ドライバのjar置いてあるだけ、とか言う落ち?
0240デフォルトの名無しさん
2008/07/14(月) 19:15:17マニフェストファイルにクラスパス以外にフルパスを記述、って具体的に何をしたんだか
ttp://java.sun.com/j2se/1.3/ja/docs/ja/guide/jar/jar.html#Main%20Attributes
# Class-Path:
この属性の値には、このアプリケーションまたは拡張機能に必要な拡張機能
またはライブラリの相対 URL を指定する。URL は 1 つ以上の空白で区切る。
0241デフォルトの名無しさん
2008/07/14(月) 21:18:27福田やすおチンパン総理のことかと思った
0242デフォルトの名無しさん
2008/07/14(月) 21:36:570243デフォルトの名無しさん
2008/07/14(月) 22:43:33<form mothed="post" action="./Result">
<input type="submit" name="id" value="hello" />
</form>
フォームから送信した値を、request.getString("id")で取得して、これを、下記例URLのように表示できますか?
http://example.com/Relust?id=hello
ではなくて、このような形で↓
http://example.com/Result/hello/
web.xmlをいじる必要はありますか?
よろしくお願いします。
0244243
2008/07/14(月) 22:47:12メソッドまちがえました。
request.getParameter()
でしたorz
0245デフォルトの名無しさん
2008/07/14(月) 23:03:40制限時間30秒のゲームを作ろうと思うんですが、
どうやって時間をカウントダウンさせればいいかわかんないです…
たぶんそういうコンポーネント?があるのかなと予想してるんですが…
0246デフォルトの名無しさん
2008/07/14(月) 23:08:19filter
0247デフォルトの名無しさん
2008/07/14(月) 23:15:08Timer
0248デフォルトの名無しさん
2008/07/14(月) 23:16:10java.util.Timerないしはjava.util.concurrent.ScheduledExecutorService
後者はJava SE 5.0以降のみ
あとjavax.swing.Timerなんてのもあったな
0249デフォルトの名無しさん
2008/07/15(火) 00:47:300250デフォルトの名無しさん
2008/07/15(火) 10:52:22Fileクラスのコンストラクタを作るのに
"File(String parent,String child)"でつくると、
mkdirsは実行できるcreateNewFileのところで実行エラーになります。
フォルダを見るとParentフォルダの中にchildフォルダができています。
たとえばString childに"test.txt"と入れても"test.txt"というフォルダが作られてしまいます。
はじめに"File(String pathname)"でmkdirsでディレクトリを作っておいて、
"File(File parent,String child)"だとうまくファイルが作成されるのですが。
APIを見てもわからなく本当に困っています。
よろしく、お願いいたします。
0251デフォルトの名無しさん
2008/07/15(火) 10:55:43何がわからないんですか?
両方とも、その動作で正しいですよ。
0252デフォルトの名無しさん
2008/07/15(火) 11:32:17new File("c:\\foo\\bar\\test.txt").mkdirs() なら、c:\foo\bar\test.txt というディレクトリを作る
ちなみに new File("c:\\foo\\bar\\test.txt") と new File("c:\\foo\\bar", "test.txt") は同じ
0253217
2008/07/15(火) 12:31:06いろいろ調べ、改良も考えたのですが、うまくいきません。
以下は私の作成したソースです。改良できそうなところをご指摘ください。
package javaapplication2;
import java.io.*;
import java.util.*;
public class LoadtoSave {
public static void main(String[] args) {
//データ格納用Listの準備
List<String[]> list = new ArrayList<String[]>();
double WAh[] = new double [600000];
try {
FileReader fr =new FileReader("WA.txt");
BufferedReader bf = new BufferedReader(fr);
String st = null;
0254217
2008/07/15(火) 12:31:38String[] line = st.split(",");
list.add(line);//ファイル上1行の各数値を文字列として格納
}
bf.close();
int i=0;
for(String[] values: list){
for(String value: values){
double num = Double.parseDouble(value);//文字列を数値型に変換
WAh[i]= num;
i=i+1;
}}}
catch(IOException e) {
e.printStackTrace(); }
//ここでWAhについて大量の計算(並列的)
try {
File outFile = new File("WA.txt");
FileWriter out = new FileWriter(outFile);
PrintWriter pw = new PrintWriter("WA.txt"); //(8)書き込むデータがなくなるまで書き込み
for(int j=0;j<600000;j++){
pw.print(WAh[j]);
pw.print(",");
}
pw.close();}
catch(IOException e){
}}}
0255デフォルトの名無しさん
2008/07/15(火) 12:37:15class Test {
private String str;
Test(String s){str=s;}
public String getStr() {return str;}
public void setStr(String str) {this.str = str;}
}
このファイルに対してjavac pkgweb\Test.java -d ..\WEB-INF\classesを実行してWEB-INF\classes以下にクラスファイルを作成し、jspから使用したいのですが
pkgweb.Test cannot be resolved to a typeとエラーが出ます。
jspの中身は以下のものです。
<%@ page contentType="text/html; charset=Windows-31J"%>
<html lang="ja"><head></head>
<body>
<%pkgweb.Test a=new pkgweb.Test("hoge");%>
<%=a.getStr()%>
</body></html>
色々ググったりしたのですが解決方法が分かりません。
どうしたら良いのか教えてください。
0256デフォルトの名無しさん
2008/07/15(火) 12:52:23まず、貼り付けずに、どこかへアップするべきだったな。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm
とか
0258デフォルトの名無しさん
2008/07/15(火) 13:02:521レスに入りきらないようなコードを貼られても見づらいし、
並列か並行か知らないけど、分けられるなら、一辺にやらなければよいのでは?
0259デフォルトの名無しさん
2008/07/15(火) 13:13:21入力で、ファイル内容を全部Stringに入れてからdoubleに変換してる所と、
出力で、改行入れないで1行に出力してる所が少し気になった。
0260デフォルトの名無しさん
2008/07/15(火) 13:17:46250 で書いているような個所が見当たらないぞ。
>>250
あるファイルを示すパス path があるとして、その親ディレクトリを含めてファイルを作成したいなら
File file = new File(path);
file.getAbsoluteFile().getParentFile().mkdirs();
file.createNewFile();
としたらどうだろうか。
0261デフォルトの名無しさん
2008/07/15(火) 13:58:35コマンドが標準出力メッセージを多量に出し、別スレッドでInputStreamを適宜読み込まないと
コマンドがバッファ一杯で途中で止まってしまいます。
標準出力・エラー出力がたまらない方法ありましたら教えてください。
0262デフォルトの名無しさん
2008/07/15(火) 14:11:35nullにリダイレクトw
0263250
2008/07/15(火) 14:17:16皆様、ありがとうございました。
>>252 様
>>new File("c:\\foo\\bar\\test.txt") と new File("c:\\foo\\bar", "test.txt")
後者のようにコンストラクタを作って、
そのあとmkdirsとcleatefileしたらファイルを作るところでエラーで
確認すると
foo/bar/test.txt/というようなすべてがフォルダでできていたのです。
>>260 様
>>253は私の書いたものではありません。
教えていただいた方法試してみます。
ありがとうございます。
ただ、疑問なのですが、普通は
>>new File("c:\\foo\\bar", "test.txt")
ではbarの中にtest.txtという「ファイル」ができるはずですよね?
0264デフォルトの名無しさん
2008/07/15(火) 14:25:02いいえ
barの中にtest.txtというディレクトリを作ります
mkdirsはディレクトリを作るメソッドです
0265260
2008/07/15(火) 15:00:08すまない、名前ちゃんと見ていなかった。
恥かし隠しに話題を変えるかw
>コンストラクタを作って
という表現は変だ。
コンストラクタはクラスのインスタンスを作るためのメソッドの名前みたいなもんで、
new クラス名(〜) というのはインスタンスを実際に作っている。
なので「コンストラクトしている」とかならまだいいかもれないが、
「コンストラクタを作って」はいない。
また、Fileクラスは(その名前に反して)ファイルだけを処理するわけじゃない。
基本はパス名を処理するものであって、パスの最後の部分がファイルかどうかは気にしない。
”この名前のディレクトリを作れ”と指示(mkdirs())されたら(指示したほうは
最後の部分はファイルのつもりでも)Fileクラスはディレクトリとして作ってくれてしまうし、
それが仕様となってる。
0266デフォルトの名無しさん
2008/07/15(火) 15:29:32public class Test {
にして
public Test(String s){str=s;}
にすれば、どう?
0267デフォルトの名無しさん
2008/07/15(火) 15:51:31package javaapplication2;
import java.io.*;
public class LoadtoSave {
public static void main(String[] args) throws IOException {
double WAh[] = new double[600000];
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("WA.txt"));
String line;
for(int i=0; (line=br.readLine())!=null; ) {
for(String value : line.split(",")) WAh[i++]= Double.parseDouble(value);
}
} finally {
if(br != null) try { br.close(); } catch(IOException e) { /*無視*/ }
}
// ここでWAhについて大量の計算(並列的)
PrintWriter pw = null;
try {
pw = new PrintWriter("WA.txt"); //(8)書き込むデータがなくなるまで書き込み
for(double v : WAh) pw.print(v+",");
} finally {
if(pw != null) pw.close();
}}}
動かしてないがこんな感じには纏まるだろう。後はその多量の計算というところを
例えば10万件ずつ6回の処理に分けられないかとかだな。
0268217
2008/07/15(火) 16:05:35>入力で、ファイル内容を全部Stringに入れてからdoubleに変換してる所と、
その他のやり方というか、王道的なものがありましたら、
教えて貰えると助かります。
>出力で、改行入れないで1行に出力してる所が少し気になった。
csv形式で書き込み、読み込むのを目的としてそうしました。
>>267
具体的なソースありがとうございます。
私の書いたソースと大きく変わったところは私には分かりませんが、
それを用いたときOutOfMemoryとならないか試してみます。
0270デフォルトの名無しさん
2008/07/15(火) 19:33:11大量の計算何してるのかしらないけど
40〜50万で64m使い切るなら256mにすりゃ160〜200万くらいまでいけるんじゃないのか?
とりあえず動かすだけだったら.
0271デフォルトの名無しさん
2008/07/15(火) 19:52:34WEB-INF以下のパスはあってる?
\WEB-INF\classes\pkgweb\Test.class
0272デフォルトの名無しさん
2008/07/15(火) 20:05:58だるすぎる。内容は初歩中の初歩なのに。
0273デフォルトの名無しさん
2008/07/15(火) 20:29:46今各デプロイを見直したところ、
Tomcat 5.5\conf\Catalina\localhost以下の
web.xmlのdocBaseに書いたパスが一階層間違っていました!
/webをアプリケーションフォルダに設定したつもりが/web/jspになっていて
WEB-INFディレクトリを/web以下に置いていたための間違いだったようです。
レス頂き構成を見直したことが発見に繋がりました、ありがとうございます!
0274デフォルトの名無しさん
2008/07/15(火) 22:13:1620桁くらいの数字が40万もあれば10Mくらいいきそうだな。
まぁどうすればいいかは知らんけど
0275デフォルトの名無しさん
2008/07/15(火) 23:37:04全角半角の混ざった文字列の先頭から10byte分切り出したいのですが、
もし、10byteの切れ目が全角文字の1byte目だった場合、
9byteで切り出したいというような処理ってどうやって書けばいいでしょうか?
0276デフォルトの名無しさん
2008/07/15(火) 23:46:220277デフォルトの名無しさん
2008/07/16(水) 00:01:24結果文字列=""
合計バイト数=0
取出文字位置=0
while(取出文字位置 < 文字列の文字数) {
文字=文字列[取出文字位置++]
合計バイト数+=文字のバイト数
if(合計バイト数 > 10) break
結果文字列=結果文字列+文字
}
0278デフォルトの名無しさん
2008/07/16(水) 00:10:11そのデータはどのような形式で保持してるの? byte[]? エンコーディングは?
0279デフォルトの名無しさん
2008/07/16(水) 00:26:240280250
2008/07/16(水) 09:23:50>>246様>>247様、どうもありがとうございました。
インスタンスを作成する、ですね。
ここでご指摘いただけてよかったです。
そしてわかりました!
どうもありがとうございました。
0281デフォルトの名無しさん
2008/07/16(水) 11:17:10探してるのですが
SUNのページを探しても見つかりません
どこでダウンロード可能でしょうか
0282デフォルトの名無しさん
2008/07/16(水) 11:54:50これをキャストせずにきれいに書くことはできませんか?
0283デフォルトの名無しさん
2008/07/16(水) 11:59:12byte[] b = {(byte)0xFE, (byte)0xFF};
のように書きたいです。
10進でしたら
byte[] b = {254, 255};でよいのですが。
0284デフォルトの名無しさん
2008/07/16(水) 12:02:510285デフォルトの名無しさん
2008/07/16(水) 13:52:27キャストしたくないだけなら
byte[] array = { 0xFFFFFFFE, 0xFFFFFFFF };
0286デフォルトの名無しさん
2008/07/16(水) 14:17:38static byte[] b(int...is) {
byte[] bs = new byte[is.length];
for(int i=0; i<is.length; i++) bs[i] = (byte) is[i];
return bs;
}
// byte[] b = b(0x01, 0x02, 0xFE, 0xFF); // {1, 2, -2, -1}
0287デフォルトの名無しさん
2008/07/16(水) 14:47:02相手がShift_JIS系なら、
boolean isSJISLeadingByte(byte val) {
int b = val & 0xFF;
return (0x81 <= b && b <= 0x9F) || (0xE0 <= b && b <= 0xFC);
}
みたいのを書いて分岐した方が楽。
NIO charsetはライブラリ書く人向けの作りなので、異常系の状態拾おうとすると
真面目にエラー処理させられるような作りになってて面倒くさい。
無理矢理使うとこんな感じか。
byte[] array = .....
CharBuffer buf = CharBuffer.allocate(array.length); //文字数≦バイト数と仮定
CharsetDecoder decoder = Charset.forName("windows-31j").newDecoder();
decoder.onMalformedInput(CodingErrorAction.REPORT);
decoder.onUnmappableCharacter(CodingErrorAction.REPORT);
int trim_bytes = 0;
CoderResult result;
do{
buf.clear();
result = decoder.decode(ByteBuffer.wrap(array, 0, array.length - trim_bytes++), buf, true);
}while(result.isError());
System.out.println(result + " : " + buf.flip());
0288デフォルトの名無しさん
2008/07/16(水) 14:50:22JAVAではintが基本だから32ビットの16進で書けばよかったということですか。
上位24ビットが0でなくてFFFFFFなのはなぜですか?
0289デフォルトの名無しさん
2008/07/16(水) 14:54:17> JAVAではintが基本だから32ビットの16進で書けばよかったということですか。
真面目に取らんでいいよ。
> 上位24ビットが0でなくてFFFFFFなのはなぜですか?
byte であらわせるのは -128〜127まで。
なので -128〜127 の定数値はキャストなしで byte に代入可能。
上位24ビットを 0 にすると 0〜255 になって、0x80 以上はキャストしないと代入できなくなる。
0290デフォルトの名無しさん
2008/07/16(水) 14:54:520~127 byte表現 0x00~0x7F → int表現 0x00000000~0x0000007F
-128~-1 byte表現 0x80~0xFF → int表現 0xFFFFFF80~0xFFFFFFFF
0291デフォルトの名無しさん
2008/07/16(水) 15:46:42J2EEは今はJava EEという名前
Java EEでさがせ
Java SEの近くにある
0292デフォルトの名無しさん
2008/07/16(水) 19:43:160x7Fまでなら0x000000を付けて、
0x80以上なら0xFFFFFFを付けるんですね。
16進を書くには、(byte)でキャストするか、場合分けの8ニブルの16進で書くか
というどちらにしても、長いソースになってしまいますね。
0294デフォルトの名無しさん
2008/07/16(水) 22:08:52at Ackermann.ackermann(Ackermann.java:12)
というメッセージが、ばーっと出てきます。どこがおかしいのでしょうか?
public class Ackermann{
public static void main(String args[]){
long i=Long.parseLong(args[0]);
long j=Long.parseLong(args[1]);
System.out.println(ackermann(i,j));
}
public static long ackermann(long m,long n){
if(m==0)return n+1;
else{
if(n==0)return ackermann(m-1,1);
else return ackermann(m-1,ackermann(m,n-1));
}
}
}
0295デフォルトの名無しさん
2008/07/16(水) 22:15:05第1引数を4以上にすると出ます
0296デフォルトの名無しさん
2008/07/16(水) 22:20:39if elseの対応が合ってない
0297デフォルトの名無しさん
2008/07/16(水) 22:30:44if(m==0)return n+1;
else{
if(n==0)return ackermann(m-1,1);
else return ackermann(m-1,ackermann(m,n-1));
}
if elseの対応は上のような感じです。
0298デフォルトの名無しさん
2008/07/16(水) 22:31:070299デフォルトの名無しさん
2008/07/16(水) 22:34:020300デフォルトの名無しさん
2008/07/16(水) 22:39:18別の方法でCPUをいじめます・・・
0301デフォルトの名無しさん
2008/07/17(木) 00:11:50>8ニブルの16進で書くか
何だこれ?
0302デフォルトの名無しさん
2008/07/17(木) 01:06:43ニブルでぐぐってみれば?
0303デフォルトの名無しさん
2008/07/17(木) 02:38:05286を見落としていました。286を使ってみたいです。
でもコンパイルできませんでした。
JDK1.3では無理ですか?
b(int...is) { が可変長の引数に対応するものに見えましたが。
0304デフォルトの名無しさん
2008/07/17(木) 09:50:26ありがとうございます。
ではjavaレベルでストリームをパイプしないで実行はサポートされていないのですね。
ようはNULLリダイレクトしても、結局意味のないそのストリームは生成してしまう、ということですか?
もちろん何もわたってこないのでreadする意味もないですが。
0305デフォルトの名無しさん
2008/07/17(木) 10:07:111.3じゃ286は無理だな…
さらに呼び出しコスト上がるがこんなんでどう?
1.3のJDKで試してないからエラー出るかもしれないが。
static byte[] b(String str) {
StringTokenizer st = new StringTokenizer(str, ", \t");
byte[] bs = new byte[st.countTokens()];
for(int i=0; i<bs.length; i++) {
bs[i] = Integer.decode(st.nextToken()).byteValue();
}
return bs;
}
// b("0x01, 0x02, 0xFE, 0xFF");
// b(" 1, 2, 254, 255"):
// b(" 1 2 -2 -1"):
// 以上全てnew byte[]{ 1, 2, -2, -1 } と同じバイト配列を返す
0307デフォルトの名無しさん
2008/07/17(木) 10:27:55コマンドが出力してくる以上、ストリームには貯まるもんだ。
だから >>262 はまず「そのコマンドに"出力しない"オプションがあるなら
それを指定してやれ」と言ってるのじゃないか。
そして、そんなオプションが無い、もしくは指定できない何か理由があるのなら、
シェルの機能を使ってnullデバイスにリダイレクトしとけ、と言ってるんだと思うぞ。
シェルも使えないのなら、>>261 が自分でやったように「ひたすら読み込んで捨てる」と
いうnullストリームをjavaで作って食わせるしかないかもな。
0308デフォルトの名無しさん
2008/07/17(木) 10:47:46process.getInputStream().close();
process.getErrorStream().close();
して黙らせるのじゃいかんのか?
0309デフォルトの名無しさん
2008/07/17(木) 12:02:59それはhashcode()で値が同じでも、最終的にequalsで判断するから、と考えてよろしいでしょうか?
0310デフォルトの名無しさん
2008/07/17(木) 12:09:0095〜96ページの待ち行列の出力サンプルで、
MyQueue[a b c] front=0 rear=3
aを取り出した
bを取り出した
MyQueue[c ] front=2 rear=3
dを入れた
eを入れた
cを取り出した
MyQueue[d e ] front=3 rear=0
とあるのですが、
なぜ、rearは0になってしまったのでしょうか?
0311デフォルトの名無しさん
2008/07/17(木) 12:13:52一般的には、ダメ。
equals()がtrueなのにhashCode()が違う値、の場合にうまく動かない。
hashCode()が常に同じ値を返したりすると、HashMapなどの効率がものす
ごく悪くなる。
0312デフォルトの名無しさん
2008/07/17(木) 12:44:26現在JAVAでGUIを使った簡単なゲームを作っています。(具体的には、5目並べです)
ゲーム自体は既にできあがって、きちんと動作もしているのですが、
どうも初心者なためクラスをどのように構成すればよいのかがよくわかりません。
いまのところ、windowクラスとpaintクラス、それとThinkクラスの3つになっています。
windowクラスはウィンドウ及びボタンなどのクラス、
paintクラスは盤上の勝敗判定等のほかpaintComponentメソッドを含む描画用のクラス、
Thinkクラスはコンピュータが次の手を決定する思考ルーチンのクラスです。
このようなゲームの場合、どういったクラスをいくつ定義するのがソースコードとして美しいのでしょうか?
今の状態はなんだかクラスごとの役割分担がごっちゃになっているような気がして・・・
どうすれば「オブジェクト指向」の概念がきちんと活かされていることになるでしょうか?
0313デフォルトの名無しさん
2008/07/17(木) 12:54:22結城浩たんのJava言語で学ぶデザインパターン入門とか読んでみるとか。
0314デフォルトの名無しさん
2008/07/17(木) 13:16:06その本は持っていないが、長さ5の配列でキューを実装している例では?
front が読み口のインデックス、
rear が書き口のインデックスなのだろう。
4番まで書き込んだから、次は0番を再利用するのでは?
0315デフォルトの名無しさん
2008/07/17(木) 13:50:02ということは、hasecode()とequals()をオーバーライドしなくても全然OKって事ですよね。
しかもデフォルトのhasecode()はアドレス値的なものが入るので、大抵がユニークになっています。
しかもデフォルトではequals()がtrueなら同じインスタンスのhashCode()なので、もちろん同じ値で問題なし。
そう考えると、この2つはオーバーライドしない方がいいのではと思っちゃいます。あくまでMAPのキーとして使うだけを考えていますが。
0316デフォルトの名無しさん
2008/07/17(木) 13:50:50たぶんコマンド側がパイプエラーになると思います。
0317デフォルトの名無しさん
2008/07/17(木) 13:58:54同じ値を持つ異なるインスタンス、というものがなければ、別に問題ない
0318デフォルトの名無しさん
2008/07/17(木) 14:10:27>>317の言うとおり。
たとえば、StringはhashCode()とequals()をきちんと定義しないといけないケース。
0319デフォルトの名無しさん
2008/07/17(木) 14:22:19双方向キューじゃない?
0320デフォルトの名無しさん
2008/07/17(木) 14:31:48そもそも、
> equals()がtrueなのにhashCode()が違う値
は実装の不備だろう
>>319
普通のリングバッファに見えるけど?
0321デフォルトの名無しさん
2008/07/17(木) 14:35:53という前提ならequalsをoverrideする必要性さえない。
hashcodeはequalsがtrueであるなら同じ値を返さなくてはならない、
それを破るくらいならいつでも同じ値を返すほうがまだまし。
0322デフォルトの名無しさん
2008/07/17(木) 15:40:050323デフォルトの名無しさん
2008/07/17(木) 17:38:48初心者であろうとなかろうと、試すことはできるだろ。
0324デフォルトの名無しさん
2008/07/17(木) 18:54:39log4jでログ出力していますが、それが何らかの異常で書き込まれなかった場合
対処をしたいと考えています。
ですが、Log.debugなどは異常の時スタックトレースは吐くものの、例外はthrow
していないようで、IOException等が発生しても取得できません。
こういうときはどうするものなのでしょうか。
0325デフォルトの名無しさん
2008/07/17(木) 20:30:24http://localhost/ユーザーID
0326デフォルトの名無しさん
2008/07/17(木) 20:56:39ユニコード考案者はバ力かと。
アルファベットまで2バイトで扱うJAVA作った人はバ力かと。
0327デフォルトの名無しさん
2008/07/17(木) 21:10:31バカじゃありません
0328デフォルトの名無しさん
2008/07/17(木) 21:20:24化けるって文字コードとかどうしてる?
0329325
2008/07/17(木) 21:58:14で解決しましたw
0330デフォルトの名無しさん
2008/07/17(木) 22:11:28基本情報の国家資格は持っているのですが使った言語はCASLなのでJAVAは全くの素人です
本を買ってみようと思うのですがおすすめの本などがあれば教えてください
0331デフォルトの名無しさん
2008/07/17(木) 22:26:350332デフォルトの名無しさん
2008/07/17(木) 22:35:40これはリングバッファになってる
p90の図を見ればわかるよ
0333デフォルトの名無しさん
2008/07/17(木) 23:43:440334デフォルトの名無しさん
2008/07/18(金) 00:05:090335330
2008/07/18(金) 00:52:23今度企業の方に具体的に何すればよいのかよく聞いてきます
0336デフォルトの名無しさん
2008/07/18(金) 08:00:09基本はともかくインスタンスとか拡張とか出てきたときに分かりやすい本がいいよなぁ
0337デフォルトの名無しさん
2008/07/18(金) 15:08:43どのようにクラスパスを設定すればよろしいでしょうか?
0338デフォルトの名無しさん
2008/07/18(金) 15:59:08java -cp file://・・・とやってもダメでした。これはデフォルトのクラスローダーがURLクラスローダーではないからでしょうか?
0339デフォルトの名無しさん
2008/07/18(金) 16:51:16「他のマシン」とはどう繋がってる?Windows でネットワークドライブとして見えているなら
\\(IPアドレスorホスト名)\(以下パス)で指定すればいい。
Linux ならそもそもマウントされてるだろうからそこを指せばいい。
ファイルを参照できないのなら apache でも立てて http で指定してみれば?
0340デフォルトの名無しさん
2008/07/18(金) 18:01:05表示できるページが限られる理由に心当たりのある方はいらっしゃいますか?
ブラウザから要求をソケットで吸い出して、
そのurlからurl.connectionをしてそこからreadしてByte型で
BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream());
outにwriteしています。
ご教授願います!
なんとなくの予想でもいいです!お願いします。
0341デフォルトの名無しさん
2008/07/18(金) 19:23:43HTTP のリクエストヘッダはどうなってる?ブラウザが出すものをできればそのまま
使用しないと見れないページは出てくる。
UserAgent とか Cookie とかは特に。
0342デフォルトの名無しさん
2008/07/18(金) 19:28:01http://localhost/aa.jar でやってもダメです。そもそもURL指定はCLASSPATHではできないみたいですね・・・
URL経由でのクラスロードはアプレットでできたと思ったのですが、同じようにはいかないですね・・・・
0343デフォルトの名無しさん
2008/07/18(金) 19:49:25お前質問に答えろよ。「他のマシン」とはどう繋がってるんだよ。
だいたい http://localhost/ って、自マシンにちゃんと http デーモン
立ち上げてんだろうな?
まあ CLASSPATH だと http とかは無理かもだから、http 経由でなきゃダメ
なら Java Web Start でやれば?
そもそもネットワーク経由でファイルがやりとりできる(Samba とか)なら、
最悪ドライブにマウントしろよ。
0344デフォルトの名無しさん
2008/07/18(金) 20:20:27今JAVAで○×ゲームを作っているのですが
埋まらない個所ができてしまいました
何を埋めればいいでしょうか?
よろしくお願いします
String msg =new String();
int x,y;
public void init(){
addMouseListener(this);
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){
x =//埋まらない所 ();
y =//埋まらない所 ();
msg = "座標x:"+x+"y:"+y+"が選ばれました";
repaint();
}
0345デフォルトの名無しさん
2008/07/18(金) 20:25:26宿題スレに行け。
0346デフォルトの名無しさん
2008/07/18(金) 21:23:48ループの中にrepaint()を入れ、
paint()の中で描画のループをさせているのですが、
最初に呼び出されたpaint()が終わるまで
次のpaint()の描画が出てこず、尚且つ、その間にも、
もともとのメソッド内のループは動いていました。
説明が分かりづらいと思いますが、
どういった理由でこうなっているのか、教えてください。
0347デフォルトの名無しさん
2008/07/18(金) 22:19:290348デフォルトの名無しさん
2008/07/18(金) 22:41:04どこにループ書いてるんだ?
0349デフォルトの名無しさん
2008/07/18(金) 22:54:540350デフォルトの名無しさん
2008/07/18(金) 22:56:550351デフォルトの名無しさん
2008/07/18(金) 23:01:210352デフォルトの名無しさん
2008/07/18(金) 23:35:220353デフォルトの名無しさん
2008/07/18(金) 23:39:32やりたいことはできるんじゃないかな。
0354デフォルトの名無しさん
2008/07/18(金) 23:53:23さんくす。Formattable調べてみる。
0355デフォルトの名無しさん
2008/07/19(土) 01:54:51JAVAでペイントソフトのようなものを作っているんですが、
ウィンドウが非アクティブになる(他のウィンドウの下に隠れるなど)と、
描画したものが消えてしまうんです。
他のウィンドウと一部分重なるとその部分だけ消えます。
なぜなんでしょうか?
0356デフォルトの名無しさん
2008/07/19(土) 01:58:31お前Vistaじゃないだろ
Vistaだと消えないんだぜ
0357デフォルトの名無しさん
2008/07/19(土) 02:08:04プリミティブなGUIプログラミングとはそういうものだ。
だから、隠れた部分が再表示されるときにはイベントが飛ぶようになってる。
それに合わせて再描画しろ。
0358デフォルトの名無しさん
2008/07/19(土) 02:13:10その消えた部分を再描画するために paint()(とその下位のpaintComponent())が呼ばれる。
paint()もしくはpaintComponent()が呼ばれた時、書かれていたものが再描画されるようになっているか?
ツールの描画操作をした時だけしか描画してないのじゃないか?
0359355
2008/07/19(土) 07:40:04358さんがおっしゃられたとおりで、ツールの描画操作をした時だけしか描画していませんでした。
0360346
2008/07/19(土) 09:56:51始めからソースを乗せれば良かったのですが、何分恥ずかしかったので…。
public class SampleP4 extends Applet implements Runnable{
int num;
int x;
public void init(){
Thread th;
th = new Thread(this);
th.start();
}
public void run(){
try{
for(int i=0; i<10; i++){
num = i;
x = i * 10;
repaint();
Thread.sleep(1000);
}
}
catch(InterruptedException e){}
}
public void paint(Graphics g){
String str = num + "です。";
try {
for(int i=0; i<10; i++){
g.drawString(str, (10 + x), 10+i*10);
Thread.sleep(1000);
}
} catch (InterruptedException e) {}
}
}
repaint()では別スレッドが呼び出されているとは思うのですが…
0361デフォルトの名無しさん
2008/07/19(土) 10:09:59フィルターのことをWEBで見つけてやって見たんですが
それでも上手くいかないんですが
皆さんはどうやってますか
0362デフォルトの名無しさん
2008/07/19(土) 10:13:03repaintでEDTが呼ばれる。EDTは確かに別スレッドだが、EDTはいわばシングルトンだ。
EDTが処理している間に別の処理(二回目以降のrepaint)を要求しても、1つめのrepaintが
終わらない限り、EDTは処理できない。
SampleP4が単に10個のメッセージを位置をずらしながら表示したいだけなら、
public void paint(Graphics g){
String str = num + "です。";
g.drawString(str, (10 + x), 10+num*10);
}
で充分だ。
(もちろんこれだけだと画面が重なった時に再ペイントされない現象となるが。)
0363デフォルトの名無しさん
2008/07/19(土) 10:16:42メソッドの名前を日本語でできることってみんなしってますか?
0364デフォルトの名無しさん
2008/07/19(土) 10:21:21状況がさっぱり分からん。
皆さんは上手くやってるんだろうよ。
0365デフォルトの名無しさん
2008/07/19(土) 10:24:56某社フレームワークの自動生成コードは、全力全開で日本語識別子を使いまくってる。
あと、「プロダクションコードには日本語入れたくないけど、ユニットテストだったらいいよねー」といった意見もある。
0366デフォルトの名無しさん
2008/07/19(土) 10:25:02発見したらまず検索してみようなw
0367デフォルトの名無しさん
2008/07/19(土) 10:36:25英語の全然出来ない同僚が、翻訳サイト使って超直訳のメソッド名にしてるのを見ると、
いっそ日本語の方が良いんじゃないかという気はするな。
そういうヤツらに限って、プロジェクト用語集やら命名規約やらは見ない。
0368346
2008/07/19(土) 13:30:52Threadで言うところのsynchronized修飾子のようなついてると考えてよいのでしょうか?
なんだか分かった気がします。ありがとうございます。
0369デフォルトの名無しさん
2008/07/19(土) 13:52:18EDT への要求は Queue に入れられ、EDT はそれを順次取り出して処理する。
repaint すると Queue に入れるだけですぐ戻る。
だから SampleP4#run は1秒毎に repaint 要求を Queue に入れることができるが、
EDT は最初の repaint を処理するために SampleP4#paint を呼びだし、その中で
合計10秒間処理が行なわれているので、次に EDT が Queue から repaint 要求を
取り出して処理できるのは10秒後となってしまう。
EDT は画面全てを統括しているため、10秒間も処理を奪ってしまうとその間、
ボタン操作からウインドウそのものの再描画まで全て出来なくなる。
一時的にフリーズしたようになってしまうため、EDT の処理内で時間のかかることは
すべきでない。
0370346
2008/07/19(土) 15:16:38ありがとうございます。
まだ気になるのですが、paint の処理中(このプログラムの場合10秒間)に
呼び出された repaint は、 Queue の中に入れられるということですが、
>>360の動作を見る限りでは、 Queue に残っているrepaint 要求が
全て取り出されずに、そのままになっているように思えます。
0371デフォルトの名無しさん
2008/07/19(土) 15:20:33俺もJUnitのテストメソッド名は日本語OKってのは同意
JavaDocがテスト仕様書として通りやすいのがポイントだわな
どうでもいいが、いまどき全てのクラスがプログラムコード、メソッド名も連番ってプロジェクトに遭遇したんだが、どうすればいいと思う?
0372デフォルトの名無しさん
2008/07/19(土) 15:33:37何度repaintを要求しても、paintは1回しか発生しない
表示内容(ラベルのテキストやイメージ、この場合はnum)が何度変更されても、
最後に1回だけpaintし直せば最新の状態が反映され万事OKであると仮定されている
0373デフォルトの名無しさん
2008/07/19(土) 15:43:360374デフォルトの名無しさん
2008/07/19(土) 16:02:16javaでの話しか?
変換表を用意して、ツールでクラス名/メソッド名とその参照を置換とかどう?
1. 変換表に従って置換
2. 担当分を普通に書く
3. 変換表に従って置換(1の逆)
4. コンパイル&テスト
5. 問題があれば2に戻る
0375デフォルトの名無しさん
2008/07/19(土) 16:28:20そこまでやるかどうか・・・って感じはしてる
おまけにprivateメソッドも禁止(プログラム定義書に定義されたメソッド以外は作成不可)だし
名前出してしまうが、NTTデータのイントラマートのコーディング標準ってそうなっているのか?
0376346
2008/07/19(土) 17:38:35なるほど、Queueの中にたまっている全てのrepaint要求が、
最後のrepaintだけで済まされているということですね。
ありがとうございます。
0377デフォルトの名無しさん
2008/07/19(土) 19:56:21こっちの社内にもそんなプロジェクトがあったな。VBだったが。
汎用機やってた人間がリーダーしてるもんだから、そうしろという命令らしい。
モジュール名が XXYYZZNN で機能番号・画面番号・画面内番号・内部通番とか。
そんなプロジェクトには絶対入りたくないもんだ。
0378デフォルトの名無しさん
2008/07/19(土) 19:59:46なにを保持するんだ。
0379デフォルトの名無しさん
2008/07/19(土) 20:10:26ところで、java.lang.ArrayIndexOutOfBoundsException: -1
と注意されます。どうしたらいいか教えていただけませんか?
String findstring=thesaurus;
for(int k=0, l=0 ; k < ((ArrayList)getList.get(2)).size(); k++, l++){
String filename = (String) ((ArrayList)getList.get(2)).get(k);
try{
String line;
BufferedReader reader=new BufferedReader(new FileReader(filename));
while((line=reader.readLine())!=null){
int n=line.indexOf(findstring);
if(n<0){
((ArrayList)getList.get(2)).remove(l);
l--;
}
}
reader.close();
}
}
0380デフォルトの名無しさん
2008/07/19(土) 20:19:51ファイルが複数行で、2行以上で探している文字が入っていない。
l-- の後、どこを通っているか System.out.println() をあちこち入れて
確かめてみろ。
0381デフォルトの名無しさん
2008/07/19(土) 22:22:01java アクティブレンダリングでググれば幸せになれるよ
0382デフォルトの名無しさん
2008/07/19(土) 23:06:43>おまけにprivateメソッドも禁止
軽く死ねるな
0383デフォルトの名無しさん
2008/07/20(日) 00:01:420384デフォルトの名無しさん
2008/07/20(日) 00:03:34見たことないタイプの技巧ループだな。
2変数で、両方インクリしてるとか、ループ内操作してるとこが
文法的にどうなの?
for(int k=LIST.size()-1;k>=0;k--){
(・・・remove()込みの操作・・・)
}
って感じで逆走査すれば、remove()でインデクスずれるとか
気にしないで1変数でできる。
0385デフォルトの名無しさん
2008/07/20(日) 00:05:00インナークラスだよな。
中のクラスにstatic を付けるとか。
0386デフォルトの名無しさん
2008/07/20(日) 00:08:41内部クラスを new するときに明示的にインスタンスを与えるか、内部クラスを static にする
0387デフォルトの名無しさん
2008/07/20(日) 00:15:31ありがとうございます。staticつけたらすぐ解決しました。
0388デフォルトの名無しさん
2008/07/20(日) 02:06:56これって何のエラーですか?javaはかなり初心者です
0389デフォルトの名無しさん
2008/07/20(日) 02:11:560390デフォルトの名無しさん
2008/07/20(日) 06:02:28リダイレクト機能を使ってテキストファイルから複数の数字を読み込み、配列に格納したいのですが、
そのテキストファイルが以下のような場合、うまくまとめて配列に格納する方法はないでしょうか?
42342423 2343242342 2433 34444
234 34344 343 444443
34 3444 44 45858
ちなみに自分はsubstringsメソッドを使ってそれぞれ抜き出し、trimメソッドにより空白を取り除いてから
配列に格納したのですが、どうも見栄えが悪いうえに効率が悪いような気がしたので質問させていただきました。
この数字はあとで計算に使うため、配列の型はint[]型にしたいです。
よろしくおねがいします。
0391デフォルトの名無しさん
2008/07/20(日) 06:05:530392390
2008/07/20(日) 06:05:57スペースが取りのぞかれてしまいました。
42342423-2343242342-2433-34444
234------34344------343--444443
34-------3444-------44---45858
この半角ハイフンがスペースだと考えていただけますようおねがいいたします。
0394デフォルトの名無しさん
2008/07/20(日) 11:03:26ある数値の入ったdoubleに最小の数を足したいんですけど
どうやったらいいですか?
0395デフォルトの名無しさん
2008/07/20(日) 11:15:18Double.MIN_VALUE
0396デフォルトの名無しさん
2008/07/20(日) 11:18:35それはやっても出来ませんでした。
0397デフォルトの名無しさん
2008/07/20(日) 11:29:43それは、
コンパイルできない? 実行できない? 計算結果が想定外?
0398デフォルトの名無しさん
2008/07/20(日) 11:30:260399デフォルトの名無しさん
2008/07/20(日) 11:34:470400デフォルトの名無しさん
2008/07/20(日) 11:43:10Double.MIN_VALUE + Double.MIN_VALUE とかでも変わると思うが。
0401デフォルトの名無しさん
2008/07/20(日) 11:48:570402デフォルトの名無しさん
2008/07/20(日) 11:50:200403390
2008/07/20(日) 15:28:190404デフォルトの名無しさん
2008/07/20(日) 16:24:06調べてみたものの中々具体的なプログラムがなくわかりませんでした。
0405デフォルトの名無しさん
2008/07/20(日) 16:35:06java5以降ならそのまま代入でいいけど、java 1.4のはなし?
0406デフォルトの名無しさん
2008/07/20(日) 16:47:270407デフォルトの名無しさん
2008/07/20(日) 18:09:230408デフォルトの名無しさん
2008/07/20(日) 18:38:260409デフォルトの名無しさん
2008/07/20(日) 18:54:300410デフォルトの名無しさん
2008/07/20(日) 21:50:08マルバツゲームを現在作成しているのですが、
マルの勝利条件を決める方法がわかりません
法則性がまったくわからなくて苦戦しています
先輩方ぜひ教えてください
//oが勝ちの条件
if((map[0][0]==1 && map[0][1]==1 && map[0][2]==1)
■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■))}
msg="oの勝ちです。";
finished=true;
repaint();
0411デフォルトの名無しさん
2008/07/20(日) 21:57:240412デフォルトの名無しさん
2008/07/20(日) 22:16:30さきほどいろいろと調べて入れてみました
//oが勝ちの条件
if((map[0][0]==1 && map[0][1]==1 && map[0][2]==1)||
(map[1][0]==1 && map[1][1]==1 && map[1][2]==1)||
(map[2][0]==1 && map[2][1]==1 && map[2][2]==1)||
(map[0][0]==1 && map[1][0]==1 && map[2][0]==1)||
(map[0][1]==1 && map[1][1]==1 && map[2][1]==1)||
(map[0][2]==1 && map[1][2]==1 && map[2][2]==1)||
(map[0][0]==1 && map[1][1]==1 && map[2][2]==1)||
(map[0][2]==1 && map[1][1]==1 && map[2][0]==1))}
msg="oの勝ちです。";
finished=true;
repaint();
あっているかどうかはわかりませんが…
なんかエラー表示が出てしまって…
0413デフォルトの名無しさん
2008/07/20(日) 22:19:26その } は { の間違いでは
0414デフォルトの名無しさん
2008/07/20(日) 22:22:45if( 条件1) {
// 処理
}else if(条件2) {
// 処理
}
というように書いておけ。
だからタイプミスしてエラーになるんだよ
0415デフォルトの名無しさん
2008/07/20(日) 22:24:09>>414
すみません
ミスしていました
そこは直ったはいいのですが、
今度はほかのところを訂正すればするほど間違いが出て
ちょっとカオスな状況になってきました
とりあえずお礼を
教えてくださりありがとうございます
0416デフォルトの名無しさん
2008/07/20(日) 22:24:32それならば、map[0][0] + map[0][1] + map[0][2] == 3 とかの方が解りやすいかもしれん
0417デフォルトの名無しさん
2008/07/20(日) 22:27:22アドバイスどうもです
ただあまり文を変えることが許さないので
実践できずorz
0419デフォルトの名無しさん
2008/07/20(日) 23:21:510420410
2008/07/20(日) 23:32:12訂正部分を直せば直すほど「間違えです」表示が…
とりあえずこれは間違えていますでしょうか?
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClick(MouseEvent e){
int x =e.getX;
int y =e.getY;
0421デフォルトの名無しさん
2008/07/21(月) 00:04:33Math#nextUp
>>419
超適当
static double scale(double d, int scale) {
double r = Math.pow(10, scale);
return Math.round(d * r) / r;
}
0422デフォルトの名無しさん
2008/07/21(月) 00:17:39http://www.esco-sb.jp/blog/roughjustice/archives/2007/03/java_sen.php
ここを見ながらインストールしたのですが、System.setPropertyの使い方が分からずつまずいています。
sen.homeにsenのインストールディレクトリを指定すれば良いようなのですが、
System.setProperty("sen.home","C:\\Program Files\\sen-1.2.2.1");
とやるとjava.lang.IllegalArgumentException: unknown protocol: c
のエラーになり、相対パスを試そうと↓をやると
System.setProperty("sen.home","..\\..\\..\\sen-1.2.2.1");
java.lang.IllegalArgumentException: C:\Users\hoge\Documents\program\Sen\..\.\sen-1.2.2.1\conf\sen.xml (指定されたパスが見つかりません。)
と展開されないためエラーが出ます。
参考ページは絶対パスで通っているようなのですが、何故こうなるのでしょうか?
0423デフォルトの名無しさん
2008/07/21(月) 00:21:20確か、何故かsetPropertyが効かなかったはず
見つかりませんって書かれたパスに、
sen.xmlとかその周りのやつ(辞書とかも)も置いてみたらうまくいったような・・・・・・
0424デフォルトの名無しさん
2008/07/21(月) 00:22:070425デフォルトの名無しさん
2008/07/21(月) 00:23:08ディレクトリ構造をいじらず、関連ファイル群をそのままコピーして
0426デフォルトの名無しさん
2008/07/21(月) 10:58:23<!--index.jsp-->
<form action="index.jsp">
<input type="text" name="id" />
<input type="submit" />
</form>
<%
if(request.getParameter("id")!=null){
%><%=request.getParameter("id").length()%><br /><%
}
%>
この場合、テキストボックス未入力でフォーム送信時、結果:"0"と出力されますが、nullじゃないのでしょうか?
未入力チェックする時、下記のような風によくするのですが、nullチェックは必要ないですか?
if(request.getParameter("id")==null && request.getParameter("id").length()<1){
//未入力時処理
}
0427デフォルトの名無しさん
2008/07/21(月) 11:08:04getParameter()のnullチェックは、パラメータ自体が送信されてこなかった事を考慮すれば必要だろう
どちらにせよUtilメソッドを作っておいて
if(Util.isEmpty(request.getParameter("id"))) {
// 未入力処理
}
とか、書くほうがスマートだが
0428426
2008/07/21(月) 11:30:29nullはパラメタ自体が送信されなかった時
ってことでいいですかね?
Utilメソッドを作るというのは、こういうことですか?
public class Util{
private boolean Parameter = false;
public boolean isEmpty(String Parameter){
if(Parameter!=null && Parameter.length()<1){
this.Parameter = true;
}
return this.Parameter;
}
}
0429デフォルトの名無しさん
2008/07/21(月) 12:21:21public static boolean isEmpty(String parameter){
return (parameter==null || parameter.isEmpty());
}
}
0430デフォルトの名無しさん
2008/07/21(月) 15:30:160431デフォルトの名無しさん
2008/07/21(月) 16:52:03forで作りたいんですが、どうやればいいですか?
例えば、最初に入れたい分の数を入力して、
次にその数の分入力させる。
0432デフォルトの名無しさん
2008/07/21(月) 17:08:460433デフォルトの名無しさん
2008/07/21(月) 17:38:10public class SampleApp extends Frame implements ActionListener{
という書き出しなのですが、java.lang.NoClassDefFoundError: ActionListenerと出ます。
理由がわかりません。環境はEcipse3.3です。
0434デフォルトの名無しさん
2008/07/21(月) 17:51:420436デフォルトの名無しさん
2008/07/21(月) 17:54:16try{
int menu=Integer.parseInt( ID ) % dinners.length;
eat(dinners[menu]);
}
}catch(NumberFormatException e){
goToBed()
}
えいっ!
0437436
2008/07/21(月) 17:55:470438デフォルトの名無しさん
2008/07/21(月) 18:08:56ありがとうございます。
0439デフォルトの名無しさん
2008/07/21(月) 18:18:471.6で導入された。
length()が0の場合true
0440デフォルトの名無しさん
2008/07/21(月) 18:24:34ありがとうございます!できました!
インポート対象はその層までだったんですね・・・・
0441デフォルトの名無しさん
2008/07/21(月) 20:19:09もしかして仕事してるわけ?
0443デフォルトの名無しさん
2008/07/21(月) 22:35:55そんなの関係ねぇ
0444デフォルトの名無しさん
2008/07/22(火) 00:37:40簡単な3×3マスパズル(コマをスライドさせて元の絵に戻すアレ)
の作り方なんか調べられるサイトや本って無いですかね。
javaゲームの本なんかに書いてあるのだろうか
0445デフォルトの名無しさん
2008/07/22(火) 00:49:470446デフォルトの名無しさん
2008/07/22(火) 00:50:12適当な入門本でも一通り学習してからの話
0447デフォルトの名無しさん
2008/07/22(火) 00:55:0315パズルでぐぐるといいかも
0448デフォルトの名無しさん
2008/07/22(火) 03:23:28実は課題で出されてソースだけでも見つけてコピペしないと・・・と
クラスメートが悩んでいたので助かりました。
0449デフォルトの名無しさん
2008/07/22(火) 04:21:150450デフォルトの名無しさん
2008/07/22(火) 07:47:12こんなヒドイの久しぶりに見た
0451デフォルトの名無しさん
2008/07/22(火) 17:37:02{
super(c,o);
}
”Wellington,+12”みたいなtxtファイルを読み込んで、コンマの前後で分けて、
上みたいな感じでSuper(c,o)を使いたいのですが、
public DigitalWorldClock(String str)
{
int index = str.lastIndexOf(',');
c = str.substring(0, index);
o = Float.parseFloat(str.substring(index+1));
super(c,o);
}
↑と書いたところ、” super の呼び出しはコンストラクタの先頭文でなければなりません。”と出ます
どう直せばいいのか教えてください
0452デフォルトの名無しさん
2008/07/22(火) 17:52:490453デフォルトの名無しさん
2008/07/22(火) 18:01:23別にファクトリメソッドを準備したほうが賢いと思うよ。
public DigitalWorldClock(String str)
{
super(hoge1(str), hoge2(str));
}
private static String hoge1() {
int index = str.lastIndexOf(',');
return str.substring(0, index);
}
private static float hoge2() {
int index = str.lastIndexOf(',');
return Float.parseFloat(str.substring(index+1));
}
0454デフォルトの名無しさん
2008/07/22(火) 18:05:04private DigitalWorldClock(String c, float o) { super(c,o); }
public DigitalWorldClock createInstance(String str) {
int index = str.lastIndexOf(',');
c = str.substring(0, index);
o = Float.parseFloat(str.substring(index+1));
return new DigitalWorldClock(c, o);
}
0455デフォルトの名無しさん
2008/07/22(火) 18:21:33さっそく教えてくださってありがとうございます。
何となくですけど、教えてくださったことはわかりました。
super(c,o)は別にした方がいいんですね・・・
それで、さっそく>>454で教えていただいた方法に書き換えて試してみたのですが、
private DigitalWorldClock(String c, float o) { super(c,o); }
の部分に、「シンボルを見つけられません」と出てしまいます。
プログラムの後の方で出てくる「list.add(new DigitalWorldClock(str));」にも、シンボルが見つけられませんと出ます。
これはどう直せばいいのでしょうか?重ね重ねすみませんがよろしくお願いします
0456デフォルトの名無しさん
2008/07/22(火) 19:21:480457デフォルトの名無しさん
2008/07/22(火) 19:57:08-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
通常リモートデバッグができれば、デバッグ中(変更対象にはブレークで止まっていない)にソースを変更し、
再度変更クラスに処理が入ると、変更が反映されるはずなのですが、反映されません。
何か設定ややり方が間違えているでしょうか?
JDK1.6です。
0458kokoro
2008/07/22(火) 20:00:59[課題]�@1の倍数の和、2の倍数の和、3の倍数の和。
�Aたて10個、横10個の正方形を作る。色は交互にする。
緑、赤、緑、赤・・・・
赤、緑、赤、緑・・・・
緑、赤、緑、赤・・・
[期限]今週中ぐらい
[バージョン]java アップレット
[補足]for文と、if-else文を使って。
お願いします。
0459デフォルトの名無しさん
2008/07/22(火) 20:08:100460デフォルトの名無しさん
2008/07/22(火) 20:09:350462デフォルトの名無しさん
2008/07/22(火) 20:34:010463デフォルトの名無しさん
2008/07/22(火) 21:00:22public DigitalWorldClock(String str)
{
this(str, str.lastIndexOf('.'));
}
private DigitalWorldClock(String str, int index)
{
super(
str.substring(0, index),
Float.parseFloat(str.substring(index+1))
);
}
0464463
2008/07/22(火) 21:16:330465デフォルトの名無しさん
2008/07/22(火) 21:27:54即時更新不可のオプションでも入れているのでは?
0466デフォルトの名無しさん
2008/07/22(火) 21:46:46読んで字のごとくimport部分だ
0467デフォルトの名無しさん
2008/07/22(火) 21:54:28そんなことせんでも1.6ならclassファイル上書きで勝手に更新してくれるべ
0468455
2008/07/22(火) 22:09:33import java.util.*;
import java.awt.*;
import java.io.*;
こういうことですか??
0469デフォルトの名無しさん
2008/07/22(火) 22:15:020470455
2008/07/22(火) 22:25:01http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/368.java
↑のclass DigitalWorldClock extends AbstractWorldClockの
private DigitalWorldClock(String c, float o) { super(c,o); }
と
public class Ex5dの
list.add(new DigitalWorldClock(str));
です
0471デフォルトの名無しさん
2008/07/22(火) 22:26:30全部アップさせたほうがいいよ。
宿題スレで挙がってた奴だろ?
DigitalWorldClockがAbstractWorldClockのサブクラスで、
AbstractWorldClockがAbstractClockのサブクラスとか言う構成だったはず。
0472デフォルトの名無しさん
2008/07/22(火) 22:30:10Clockインターフェースを作ってWorldClockをextendsしてAbstractWorldClockを実装だろ。
0473デフォルトの名無しさん
2008/07/22(火) 22:33:01AbstractWorldClockを用意してインポートしろ。
0474デフォルトの名無しさん
2008/07/22(火) 22:34:56前に挙がってた
abstract class AbstractWorldClock extends AbstractClock
を見るに、
public AbstractWorldClock()
public AbstractWorldClock(String c, int o)
しか無い。
AbstractClockは未詳のままだが、要するに該当のsuperコンストラクタは無いのだろう。
定義されているのは、
public DigitalWorldClock createInstance(String str) {
だから、
DigitalWorldClock(str)
も存在しない。
0475デフォルトの名無しさん
2008/07/22(火) 22:44:490476デフォルトの名無しさん
2008/07/22(火) 22:47:58講義の途中の課題だからな、javaの全機能使うというより、abstractとかのコマなんだろ。
0477455
2008/07/22(火) 22:48:47言及いただいたとおり最近宿題スレでもお聞きした問題の続きです
教えていただいておいて恐縮ですが、正直さっぱりわかりません・・・
DigitalWorldClock(str) は使わないということですか??
AbstractClockは
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/369.java
ですが・・・
0478デフォルトの名無しさん
2008/07/22(火) 22:59:56>>451でFloat.parseFloatが出てきたあたりでおかしくなったんだろ。
intで受けるコンストラクタしかないんだから、intにしとけばいい。
list.add(new DigitalWorldClock(str));
は、
list.add(DigitalWorldClock.createInstance(str));
というところ?
public DigitalWorldClock createInstance(String str)
を
public static DigitalWorldClock createInstance(String str)
にしとくのかな。
0479デフォルトの名無しさん
2008/07/22(火) 23:53:390480455
2008/07/22(火) 23:57:15ありがとうございます
Float.parseFloatは、ほかの課題からそのまま使ったのでそのままにしてました
教えていただいたところを変えてみましたが、
シンボルを見つけられません。
シンボル: コンストラクタ AbstractWorldClock(java.lang.String,float)
場所 : AbstractWorldClock の クラス
private DigitalWorldClock(String c, float o) { super(c,o); }
というエラーと、
static でない 変数 c を static コンテキストから参照することはできません
static でない 変数 o を static コンテキストから参照することはできません
というエラーが出てコンパイルが通りません。
>>451のファイルを書き換えたのですが、それじゃダメだったんでしょうか・・・?
0481デフォルトの名無しさん
2008/07/23(水) 00:05:03そもそも、>>470のmainに文字列を引数にしたコンストラクタが出てこないし、
もう課題からそれてなにをやるべきかわからなくなっているのでは?
0482デフォルトの名無しさん
2008/07/23(水) 00:14:11>private DigitalWorldClock(String c, float o) { super(c,o); }
上位クラスにfloatを引数にしたのコンストラクタが無いんだから、floatを使ってるのが間違いなんでしょ。
上位クラスにあわせてintに書き換える。
>static でない 変数 c を static コンテキストから参照することはできません
>static でない 変数 o を static コンテキストから参照することはできません
cとoはsuperに任せて設定させたいという主旨のはずだから、
String c = str.substring(0, index);
int o = Integer.parseInt(str.substring(index+1));
とか。
0483デフォルトの名無しさん
2008/07/23(水) 00:40:38(自分でキーボードで入力する)12+13*13/11−99=
みたいな電卓プログラムを作りたいのですが、調べても見つからず、まったくわかりません。
計算順位は*、/、+、ーでやりたいと思ってます。=で計算結果を出力です。
どなたか教えていただけませんか?
0484455
2008/07/23(水) 00:42:04floatだとダメなんですね。
扱うデータに小数点ついてたので、ついてなきゃだめだと思ってました。
>static でない 変数 c を static コンテキストから参照することはできません
意味がわかりました、ありがとうございました。
それで、何度も何度もすいません、コンパイルは通ったけど実行できませんでした。
Exception in thread "main" java.lang.NumberFormatException: For input string: "+0"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at DigitalWorldClock.createInstance(Ex5d.java:29)
at Ex5d.main(Ex5d.java:47)
こういうエラーが出るので調べたら「アプリケーションが文字列を数値型に変換しようとしたとき、文字列の形式が正しくない場合にスローされます」とありました
読み込むデータに、小数、正の数、負の数、ゼロ、があるのですが、それが問題なのでしょうか?
でもFloatにするんだとダメですよね・・・
0485デフォルトの名無しさん
2008/07/23(水) 00:54:551.+0と言う表記を使わない
2.parseFloatで数値化してから(int)でキャスト
3.先頭の+記号を除外するコードを書く
いくらでも方法はあるのでは。
0486デフォルトの名無しさん
2008/07/23(水) 00:55:47Javaではけっこう手間がかかる
方針としてはたぶんこんな感じ
1.与えられた式を後置記法に変換する
2.左から式を読んでいく。数値だったらスタックに積み、
演算子だったら積んであった数値をスタックから出して計算する
ちょっと複雑。詳しくは「後置記法」あたりで検索してみては
他にはJavaと連携できる別の動的言語を呼び出して、evalに通すとかって方法も無いではない
0489デフォルトの名無しさん
2008/07/23(水) 04:07:22逆ポーランド記法 RPNでググレ
0490デフォルトの名無しさん
2008/07/23(水) 05:00:261. 左から順に取り出して、乗除算だけ計算
2. 左から順に取り出して、残った加減算を計算
でいいじゃん
0491デフォルトの名無しさん
2008/07/23(水) 07:53:340492デフォルトの名無しさん
2008/07/23(水) 10:06:00Googleで計算してHTMLをパースして答えを取り出すのはどう?
0493デフォルトの名無しさん
2008/07/23(水) 10:36:12例を示すと下のような感じです。
class Hoge{
Hage h; // これのサイズ
}
class Hage{
}
特にメモリ云々を気にしている訳ではないのですが気になったので質問させていただきました。
0494デフォルトの名無しさん
2008/07/23(水) 12:27:52調べたわけではないが内部的にはレジスタ長かポインタの大きさかな。
h に格納されるオブジェクトがヒープをどれだけ食ってるかは知らない。
0495デフォルトの名無しさん
2008/07/23(水) 12:52:39http://groups.yahoo.co.jp/group/jvm-talk/message/68?expand=1
あたりが参考になるかも?
0496デフォルトの名無しさん
2008/07/23(水) 14:06:520497デフォルトの名無しさん
2008/07/23(水) 18:41:53お伺いしたいのですが、みなさんはこんな用途にSwingは使われますか?
なにかもっとデータベースのプログラムの用途に向いたものがありそうな気もして、ご質問させてもらいます。
0498デフォルトの名無しさん
2008/07/23(水) 20:26:02自分で作ったクラスにつけるJavaDocの書き方に定石ってありますか?
英語でなら以下のサイトにあるのですが、その日本語版があれば教えていただきたい。
Requirements for Writing Java API Specifications
http://java.sun.com/j2se/javadoc/writingapispecs/index.html
0499デフォルトの名無しさん
2008/07/23(水) 20:44:23・忘れんな
・日本語でおk
・メンテ汁
くらいじゃね
0500デフォルトの名無しさん
2008/07/23(水) 22:09:390501デフォルトの名無しさん
2008/07/23(水) 23:18:18と定義して、Aが数値型かどうか判断するとき
どうすればいいですか?
0502デフォルトの名無しさん
2008/07/23(水) 23:20:110503デフォルトの名無しさん
2008/07/23(水) 23:22:45こうか?
public class Test{
static boolean isNumber(Object o) {
return o instanceof Number;
}
public static void main(String[] args) {
int A = 123;
System.out.println(isNumber(A));
}
}
0504デフォルトの名無しさん
2008/07/23(水) 23:29:24ありがとうございます!!
解決しました。
isNumberを使えばよいのですね。
結構ググッたけど見つけられませんでした。
0505デフォルトの名無しさん
2008/07/23(水) 23:31:060506デフォルトの名無しさん
2008/07/23(水) 23:32:22処理のキモはinstanceof演算子ね
0507デフォルトの名無しさん
2008/07/23(水) 23:36:05isNumberは自作ですね。
instanceofは知ってたんですが、こういう
使い方は気づきませんでした。
0508501
2008/07/23(水) 23:46:52インスタンスを生成せずに型を調べる方法はありますか?
0509デフォルトの名無しさん
2008/07/23(水) 23:52:24ない。
インスタンス生成せずに型を調べたいケースってのも思いつかんが。
0510デフォルトの名無しさん
2008/07/23(水) 23:53:02いったい何をしたいんだ。
そんなことが必要になる状況は、ふつうないぞ。
0511デフォルトの名無しさん
2008/07/23(水) 23:53:030512デフォルトの名無しさん
2008/07/23(水) 23:53:560513デフォルトの名無しさん
2008/07/23(水) 23:54:410514デフォルトの名無しさん
2008/07/23(水) 23:55:470515508
2008/07/23(水) 23:56:33コンソールなどから入力された値が、文字なのか数値なのかを
判定したいんですけどこのような場合はどうすればよいでしょうか?
0516デフォルトの名無しさん
2008/07/23(水) 23:58:58コンソールから入力された値が本当にString型なのか確認したいときは
どうすればよいでしょうか?
0517デフォルトの名無しさん
2008/07/23(水) 23:59:36それは「値の型」を調べたいんじゃなくて、コンソールから来た「文字
列」が数字を表現したものかどうかを調べたい、ってこと。
0518デフォルトの名無しさん
2008/07/23(水) 23:59:38if(input.match("[0-9]+")) {
System.out.println("数字です");
}
0519デフォルトの名無しさん
2008/07/24(木) 00:00:29戻り値がStringな時点でString以外はねーよ
0520デフォルトの名無しさん
2008/07/24(木) 00:02:32はい。そういうことです。
確かに書き方が悪かったです。
みなさん、申し訳ないです。
>>518
なるほど。ありがとうございます。
それのことです!!
0521デフォルトの名無しさん
2008/07/24(木) 00:03:040522デフォルトの名無しさん
2008/07/24(木) 00:04:37確かにそうなんですけど、無意味ですがやらなければならないんです。
0523デフォルトの名無しさん
2008/07/24(木) 00:13:10変換ロジックと互換性のある検査ロジック使わないと駄目だよ。
例えば、Integer.parseIntでとNumberFormat.parseでは受け入れる文字列に違いがあるよ。
0524デフォルトの名無しさん
2008/07/24(木) 00:23:21アドバイスを考慮してコーディングを進めていきます。
0525デフォルトの名無しさん
2008/07/24(木) 00:26:43それは「書き方が悪い」んじゃない。その2つは全く違う概念だ。
0526デフォルトの名無しさん
2008/07/24(木) 00:36:03最初は、オブジェクトの型を調べなければならないと思っていました。
でも実は型を調べるのではなく、String型の中身が数値なのか文字なのか
ということを調べることだったんですね。
0527デフォルトの名無しさん
2008/07/24(木) 00:39:120528デフォルトの名無しさん
2008/07/24(木) 00:44:41以後気をつけなければならないな、と思います。
0529デフォルトの名無しさん
2008/07/24(木) 08:10:490530デフォルトの名無しさん
2008/07/24(木) 08:31:51自己参照する型はどう書くのでしょうか?
つまり、
void someMethod( java.util.List<X> x ) {
x.add( x );
x = x.get( 0 );
}
がエラー/警告を吐かないようにするためにはXに何を書けばいいのでしょうか?
0531デフォルトの名無しさん
2008/07/24(木) 09:00:54<X extends List<X>> void someMethod(X x) {
x.add(x);
x = x.get(0);
}
0532デフォルトの名無しさん
2008/07/24(木) 10:45:30エクセルはPoiを使用する予定ですが、javaソースからjavadocの要素を取得するAPIが分かりません。
標準API問わず、何か便利jarかAPIありますでしょうか?
0533デフォルトの名無しさん
2008/07/24(木) 10:59:040534デフォルトの名無しさん
2008/07/24(木) 11:36:26BufferedImage img = ImageIO.read(new File("aaa.jpg"));
を書いたのですが、コマンドプロンプトからは実行し読み込めるのですが、
Eclipseのデフォルトパッケージに入れたものからは読み込めません。
絶対パスで指定すればできるのですが、相対パスで書くにはどうすればいいでしょうか。
0535デフォルトの名無しさん
2008/07/24(木) 12:14:31System.out.println(System.getProperty("user.dir"));
0536デフォルトの名無しさん
2008/07/24(木) 12:23:34解決しました。
ソースのフォルダに画像が入っていたため読み込まれなかったようです。
また、コマンドプロンプトで実行したときはカレントディレクトリが
ソースのフォルダになるため読み込めたようです。
ありがとうございました。
0537デフォルトの名無しさん
2008/07/24(木) 15:07:54ソースを書いているのですが
連続する2つ以上のスペースが一つにまとめられてしまいます。
Runtime.getRuntime().exec(strCmd);
これを正常に実行するにはどうしたらよいでしょうか?
よろしくお願いいたします。
0538デフォルトの名無しさん
2008/07/24(木) 15:49:31strCmd の中身がどんなときまとめられて、
まとめられることでどんな影響があるのさ
0539デフォルトの名無しさん
2008/07/24(木) 15:59:12すみません。事故解決しました。
String strCmd[] = new String[3];
strCmd[0] = "hoge.exe";
strCmd[1] = "hoge1";
strCmd[2] = "hoge2";
Runtime.getRuntime().exec(strCmd);
としたらOKでした。
0540デフォルトの名無しさん
2008/07/24(木) 21:17:10import java.io.*;
import java.net.*;
public class CalcClient {
public static void main(String[] args) throws IOException {
String answer = calc("12+13*13/11−99= ");
System.out.println(answer);
}
public static String calc(String target) throws IOException {
URL url = new URL("http://www.google.com/search?q=" + URLEncoder.encode(target, "utf-8"));
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestProperty("User-Agent", "Mozilla/5.0");
conn.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
String response = "";
for (String line; (line = br.readLine()) != null; ) response += line;
br.close();
conn.disconnect();
return response.replaceAll("^.*?(<h2 class=r>.*?<b>.*=\\s*(\\S+?)\\s*</b></h2>).*?$", "$2");
}
}
0541デフォルトの名無しさん
2008/07/24(木) 23:07:520542デフォルトの名無しさん
2008/07/25(金) 00:04:20今度、業務でJavaでGUI作ることになりました
会社から勉強しとけと言われているのですが、ここだけは読んでおけというウェブページ(できれば日本語)もしくは書籍はありますか?
ちなみにSE6使うそうです
当方のスキルはJava関係だとSE6使ってwebアプリのロジックとservletまわり書いていました
よろしくお願いいたします
0543デフォルトの名無しさん
2008/07/25(金) 00:09:33というかそれ読んで、自分でこなしたらそれだけで基礎知識としては十分だと思います。
0544デフォルトの名無しさん
2008/07/25(金) 00:37:17Eclipseだけはあるのですが、JDKは絶対に必要ですか?教えて下さい
0545デフォルトの名無しさん
2008/07/25(金) 00:38:170546デフォルトの名無しさん
2008/07/25(金) 14:51:49作りたいのですが作り方がわかりません。
そもそも作れるのかどうかも模索中なのですが・・・。
テンプレートファイル側でドロップダウンリストを
用意していたのですが、読み込ませた後でそのまま
出力したら、ドロップダウンリストが無効(消滅)
していたので、対応してないのかな?とは思って
いるのですが・・・
稚拙な質問で申し訳ありませんが、どなたか救いの手を・・・
0547デフォルトの名無しさん
2008/07/25(金) 14:59:06Swingでアプリケーションのフォームを作成する場合に
Model-View-Presenterパターンを適用したとすると、
TableModelはM/V/Pいずれの所有物とすべきですか?
0548デフォルトの名無しさん
2008/07/25(金) 15:04:150549デフォルトの名無しさん
2008/07/25(金) 15:13:46狭い目で見るとモデルで広い目で見ると別のグループに入ってる。
0550デフォルトの名無しさん
2008/07/25(金) 16:04:57それってプレゼンタかな
setValueというイベント(?)も来るし
0551デフォルトの名無しさん
2008/07/25(金) 22:11:41Model-View-Controlerパターンと別物?
ちょい気になったので教えて。
0552デフォルトの名無しさん
2008/07/25(金) 22:36:460553デフォルトの名無しさん
2008/07/25(金) 22:48:22ぐぐってみたが、別物っぽい。ただ、数分眺めただけなので、すぱっと違いのわかるページは見付けてないんだけど。
0554デフォルトの名無しさん
2008/07/26(土) 05:34:540555デフォルトの名無しさん
2008/07/26(土) 08:25:07マルチスレッド化してしまうのも考えたのですが
0556デフォルトの名無しさん
2008/07/26(土) 10:49:26それなららばThread.sleep(5000);
0557デフォルトの名無しさん
2008/07/26(土) 11:13:35自身のスレッド取得してsleepとかだった気がする・・忘れた・・
0558デフォルトの名無しさん
2008/07/26(土) 12:35:48Properties props = System.getProperties();
// SMTPサーバーのアドレスを指定
props.put("mail.host","hotmail.com");
Session session=Session.getDefaultInstance(props,null);
MimeMessage mimeMessage=new MimeMessage(session);
// 送信元メールアドレスと送信者名を指定
mimeMessage.setFrom(new InternetAddress("[email protected]","七誌","iso-2022-jp"));
// 送信先メールアドレスを指定
mimeMessage.setRecipients(Message.RecipientType.TO,"[email protected]");
// メールのタイトルを指定
mimeMessage.setSubject("Hello World JavaMail","iso-2022-jp");
// メールの内容を指定
mimeMessage.setText("testtest","iso-2022-jp");
// メールの形式を指定
mimeMessage.setHeader("Content-Type","text/html");
// 送信日付を指定
mimeMessage.setSentDate(Calendar.getInstance().getTime());
// 送信します
Transport.send(mimeMessage);
ご教授お願いします
0559デフォルトの名無しさん
2008/07/26(土) 14:19:320560デフォルトの名無しさん
2008/07/26(土) 15:46:360561デフォルトの名無しさん
2008/07/26(土) 15:56:19入門書1冊やってから出直してこい
0562デフォルトの名無しさん
2008/07/26(土) 16:34:000563デフォルトの名無しさん
2008/07/26(土) 17:04:300564デフォルトの名無しさん
2008/07/26(土) 20:05:070565デフォルトの名無しさん
2008/07/26(土) 22:39:18これじゃ砂上の楼閣だ。
0566デフォルトの名無しさん
2008/07/26(土) 23:05:000567デフォルトの名無しさん
2008/07/26(土) 23:32:400568デフォルトの名無しさん
2008/07/27(日) 00:16:27あるスレッドでStringをクラスのstaticフィールドに書き込んで、その後に別のスレッドからそのフィールドを
見ても、書き込んだ値が見えることが保証されない。でも、finalにすれば保証される。
不変オブジェクトだから同期が必要ない、と言うのはプログラマの誤解だ。
みたいなことが書いてあったが、値を変えない見るだけの変数なら、同期なんて必要ないし、
普通、他の言語でも同期なんてしないよな?ちがうのか?
0569デフォルトの名無しさん
2008/07/27(日) 00:21:01値を変えないで見るだけ、というのは初期値の0から変えない場合に限る
他のスレッドからは、変更する前の値である初期値の0が見える場合がありうる
http://www.ibm.com/developerworks/jp/java/library/j-jtp02244/
http://www.ibm.com/developerworks/jp/java/library/j-jtp03304/
0570デフォルトの名無しさん
2008/07/27(日) 00:49:43そう簡単な話じゃないってこったw
0571kptdEsCUpYdeJPfdZFS
2008/07/27(日) 00:52:280572デフォルトの名無しさん
2008/07/27(日) 01:19:57何らかの方法で同期化された場合だけ
0573デフォルトの名無しさん
2008/07/27(日) 02:10:13(コピーではなく移動)
0574デフォルトの名無しさん
2008/07/27(日) 02:12:130575デフォルトの名無しさん
2008/07/27(日) 02:12:53http://www.nextindex.net/java/class/Integer.html
StringをvalueOf()でInteger型にして、
Integer型からparseInt()でint型にする
0576デフォルトの名無しさん
2008/07/27(日) 02:13:130577デフォルトの名無しさん
2008/07/27(日) 02:18:06import java.io.*;
public class TestRenameToDir{
public static void main(String[] args)throws IOException{
File f = new File("a\\");
f.renameTo(new File("b\\"));
}
}
こんな感じで書いてみたけど、フォルダ"a"の中身は移動してくれません・・
0578デフォルトの名無しさん
2008/07/27(日) 02:28:24Integer#parseInt(String) で String から int に出来るだろw
あと、Integer から int は parseInt() ではなく intValue()
0579デフォルトの名無しさん
2008/07/27(日) 07:01:20MessageID は設定しなくていいのか?
他のところ(yahoo とか infoseek とか)には送れている?
Outbound Port 25 Blocking な ISP かどうかは確認した?
Hotmail 側でなんらかの受信遮断処置(Sender ID/SPFとか)をしていないか確認した?
0580デフォルトの名無しさん
2008/07/27(日) 08:52:03カットアンドペーストをやりたいってこと?
バイトストリームで新しいファイルに全て書き写して
元のファイルをFile#delite()で消すのは?
0581デフォルトの名無しさん
2008/07/27(日) 10:32:35それだとaの中身をbに移動じゃなくて、aをbにリネームだな。
0582デフォルトの名無しさん
2008/07/27(日) 11:48:34とりあえずJAVAの絵本を読んたので、これからJAVAを始めたいのですが
初心者から中級者あたりまで、大人の階段を一気にかけのぼれるような
本を教えてくださいませんか。
だいたい三冊〜四冊くらい買う予算は用意してます。
初級者→できる初級者→職場にいても舌打ちされない程度の雑用兼初心者→飯に誘ってもらえる程度の中級者
という段階を踏みたいです。
単純に、みなさんが昔参考にした本を、赤ちゃんレベルから順番に教えていただければいいかな、と。
0583デフォルトの名無しさん
2008/07/27(日) 11:53:56とりあえず何か作れ。
0584デフォルトの名無しさん
2008/07/27(日) 11:56:25「ファイルの」移動だと言っとろーが。
a\c.txt
b\
で a の中身を b に移動させたいのなら
new File("a\\c.txt").renameTo(new File("b\\c.txt"));
にしないといけないんじゃないか。
0585デフォルトの名無しさん
2008/07/27(日) 11:59:200586デフォルトの名無しさん
2008/07/27(日) 12:00:19ありがとうございます。
本だけ読んでも、童貞のエロ孔明にすぎないですもんね。
でも、今の僕は「ハーイー」しか言えないイクラちゃん状態なんです。
せめて人間の言葉がしゃべれるレベルになるには、何か本を読まないとダメかなと。
0587デフォルトの名無しさん
2008/07/27(日) 12:07:03「三冊〜四冊」読んだだけで「飯に誘ってもらえる程度の中級者」になれたら苦労せんわw
本を読んで理解するのも新しいことをするには必要だが、>>583 が言うように自分で作ってみたり、
誰かが作ったものを読んで、どうしてそうなってるのかとかどうしたらより良くなるのかとか考えろ。
そういうことで「階段を登れる」もんだと思うぞ。
0588デフォルトの名無しさん
2008/07/27(日) 12:07:09入門書が終わって一通り言語仕様を理解しても、困ったことにそれだけじゃ足りない
オブジェクト指向や周辺技術についての理解が必要
本はもちろん有用だが、コードを読み書きしないとダメ
一冊だけ。「Effective Java」どちらかというと中級者向けになるんだろうか
しばらくすると第二版が出るらしい
入門書はよく分からん。ただ「独習Java」は勧めない
0589デフォルトの名無しさん
2008/07/27(日) 12:15:17ここは仕事場だったのかw 完全に遊びに来てるぞww
0590デフォルトの名無しさん
2008/07/27(日) 12:16:30そうですね。考えが甘かったス。
>>588
ありがとうございます。
その本を買って、わけのわからなさに打ちのめされてみたいと思います。
やっぱりコードの読み書きが大事なんですね。
サンプルの多そうな本を買ってみます。
0591デフォルトの名無しさん
2008/07/27(日) 12:25:32俺は独習Javaやったんだけど、わかりやすくて入門書としては良いと思うんだが。
なぜお勧めできないの?
0592デフォルトの名無しさん
2008/07/27(日) 12:29:55休日出勤の息抜きにカキコしてるの?
0593デフォルトの名無しさん
2008/07/27(日) 12:35:222冊目としては
・Sun認定資格 SJC-Pの教科書
ついでに資格もとれるかも
・JavaプログラマのためのUML
UMLやOOPに関する知識がざっくり得られる。
・Effective Java
Java言語独特の作法、やってはいけない事を教えてくれる。
「独習Java」は俺もお勧めできない。
0594デフォルトの名無しさん
2008/07/27(日) 12:40:02ちなみにお勧めできない理由を教えていただけると嬉しいです
0595デフォルトの名無しさん
2008/07/27(日) 12:41:57いきなりオブジェクト指向とは云々と書かれてて頭を抱えた記憶があるのと、
使われているクラスが全体的に古い感じがする(VectorとかStringBufferとか)
JDK5.0以降の構文拡張に関連する記述が少ない
・・・・と書いてて気づいたが、もう第4版が出てたのか。そっちは確認してない
0596デフォルトの名無しさん
2008/07/27(日) 13:08:31なるほど。ありがとう。
0597デフォルトの名無しさん
2008/07/27(日) 13:11:59StringBufferではいけないの?
0598デフォルトの名無しさん
2008/07/27(日) 13:15:48少し遠回りしてもOKならば、俺は勧めるよ。
あれをやり込めばかなりの量のコードを書くことになるからね。
その後、1.5に対応するために、開発者ノートシリーズ「Java1.5 Tiger」ってのをお勧め
0599デフォルトの名無しさん
2008/07/27(日) 13:23:04今ならStringBuilderがある。違いは同期化の有無
0600デフォルトの名無しさん
2008/07/27(日) 13:27:36StringBuilderが同期がないんでしょ?
0601デフォルトの名無しさん
2008/07/27(日) 13:27:52ありがとうございます。
早速アマゾンで検索したのですが
■Sun認定資格 SJC-Pの教科書
これはありませんでした。正式名称でしょうか。
また、こういう初心者から入りやすい教科書系の本は、自分に必要だと思いましたので
この本以外の教科書系で良いものがありましたら、よろしくお願いします。
■JavaプログラマのためのUML
似たような名前の本が二冊ありました。ソフトバンクから出ているほうでいいのでしょうか?
カットシステム社から出ている本も評価が高いようです。
すいません。
0602デフォルトの名無しさん
2008/07/27(日) 13:28:42別に問題はない。ただ速度を求めるなら StringBuilder ってだけ。
最近は CPU も早いんだし、StringBuffer でもいいけどね。
0603デフォルトの名無しさん
2008/07/27(日) 13:32:27「Java 5.0 Tiger」だな
0604デフォルトの名無しさん
2008/07/27(日) 13:38:47SUN教科書Javaプログラマ(SJC-P) (SUN教科書)
http://www.amazon.co.jp/SUN%E6%95%99%E7%A7%91%E6%9B%B8Java%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E-SJC-P-SUN%E6%95%99%E7%A7%91%E6%9B%B8-Paul-Sanghera/dp/4798112186/ref=sr_1_1?ie=UTF8&s=books&qid=1217133309&sr=1-1
JavaプログラマのためのUML
http://www.amazon.co.jp/Java%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEUML-%E3%83%AD%E3%83%90%E3%83%BC%E3%83%88%E3%83%BBC-%E3%83%9E%E3%83%BC%E3%83%81%E3%83%B3/dp/4797325135
どちらもAmazonの評価は極めて低いようだ・・・
まあいろいろな人の意見を参考にしてくだされ
0605デフォルトの名無しさん
2008/07/27(日) 13:41:34俺も本で勉強してて「10日で覚えるJAVA入門」と
「トレーニグドリルJAVA」と「JAVA入門の入門」を買って
基礎の基礎から勉強したいから読んでるんですけど
挙げられた本買ってこようと思います
0606デフォルトの名無しさん
2008/07/27(日) 15:12:430607デフォルトの名無しさん
2008/07/27(日) 15:40:33SUN教科書Javaプログラマ(SJC-P) (SUN教科書)を購入することにしました。
評価が低くしているは「初心者向けである」という点らしいので、
逆に初心者の僕には持って来いですね。ありがとうございます。
UMLの本は、もう一冊のほうを買うことにしました。
0608デフォルトの名無しさん
2008/07/27(日) 16:51:170609デフォルトの名無しさん
2008/07/27(日) 17:02:400610デフォルトの名無しさん
2008/07/27(日) 17:08:320611デフォルトの名無しさん
2008/07/27(日) 17:55:14なるほど。
ということはjavaではディレクトリの移動は出来ない?
0612デフォルトの名無しさん
2008/07/27(日) 17:58:36これ使ってるよ
0613デフォルトの名無しさん
2008/07/27(日) 18:10:50ツッコんでいいやら呆れていいやら。
ディレクトリの移動と言っている動作が
「ディレクトリの中身を全て別のディレクトリに移す」
ことで、出来ないと言ってるのが
「File(を示す何か)クラスのrenameTo()のように一発で出来るものが無い」
という意味なら、Javaの標準APIでは無いかもしれない。
が、「javaで」出来ないのかといえば、数行〜数十行のメソッドを書けば出来るだろうし、
標準ではない Jakarta 等にはあるかもしれない。
0614デフォルトの名無しさん
2008/07/27(日) 18:17:16HDD上での位置は変わらないけど、
そこにどういうパスでアクセスするかって
だけの話だからなぁ。
パス情報を変えればいいだけの話。
0615デフォルトの名無しさん
2008/07/27(日) 18:26:35import java.io.*;
public class FileTest{
static FileWriter fw ;
public static void main(String[] args)throws IOException{
System.out.println("どのディレクトリのファイル一覧を作成しますか? Directory?");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
fw = new FileWriter("list.txt");
File f = new File(br.readLine());
File files[]= f.listFiles();
fileShow(files);
fw.close();
}
public static void fileShow(File files[]){
for (int i=0;i<files.length;i++){
if (files[i].isFile()){
try{
fw.write(files[i].getAbsolutePath()+"\n");
}catch(IOException e){System.out.println("書き込みエラーです");}
}
else if(files[i].isDirectory()){fileShow(getDirectory(files[i]));}
}
}
public static File[] getDirectory(File file){ return file.listFiles(); }
}
0616デフォルトの名無しさん
2008/07/27(日) 19:00:25ディレクトリ自体のリネームはこんなじゃね?
new File("hoge\\").renameTo(new File("hogehoge\\"));
0617デフォルトの名無しさん
2008/07/27(日) 19:21:36java フォルダ 移動でググるとこんなとこが一番最初にでたぞ
ttp://tids30.seesaa.net/article/34178646.html
0618デフォルトの名無しさん
2008/07/27(日) 19:40:31上書きは個別に判断しなくちゃならないな
0619デフォルトの名無しさん
2008/07/27(日) 20:26:13いまのバージョンのJDKじゃコンパイルできないね。
何が原因なのだろう
0620デフォルトの名無しさん
2008/07/27(日) 20:40:43単にclassやimport java.io.*; を省略してるだけ
0621デフォルトの名無しさん
2008/07/27(日) 20:51:31ありがとうございます
0622デフォルトの名無しさん
2008/07/27(日) 20:56:59xpath使いたくてチンコギンギンにしてるんだけど
0623デフォルトの名無しさん
2008/07/27(日) 23:11:010624デフォルトの名無しさん
2008/07/28(月) 02:54:310625デフォルトの名無しさん
2008/07/28(月) 15:57:50パッケージアクセスの使用すべきポイントがわかりません。
本来どのようなときに使うべきものなのでしょうか?
0626デフォルトの名無しさん
2008/07/28(月) 15:59:180627デフォルトの名無しさん
2008/07/28(月) 16:00:45すみません。言葉不足でした。
パッケージ内でアクセスが可能なのはわかっているのですが、
クラス配置・クラス設計で考えたときに、パッケージアクセスを使用した方がいいクラス間関係ってどういったものがあるかが知りたいです。
0628デフォルトの名無しさん
2008/07/28(月) 16:14:50パッケージ共通で必要だけどパッケージ外では見せてもしょうがないものに使えばいいんじゃね?
パッケージは何かの機能を実現するクラスの集合だから、パッケージ外部に公開する機能を補助するために、
パッケージ内部にだけ必要なようなものが存在することはあるんじゃない?
0629デフォルトの名無しさん
2008/07/28(月) 16:16:49たぶん TextEditor クラス本体以外にも、LineBuffer とか UndoBuffer とか色々なクラスが必要に違いないが、
これらはエディタの実装のために必要なだけであって、使うだけの人は触らないだろうし触ってもあんまり意味ないと思われる
これらテキストエディタ関連のクラスは全部 com.example.myname.texteditor だとかいったパッケージに入れ、
TextEditor や TextEditorEventListener だとかいった使う人用のクラスやインタフェイスだけ public にしといて、
LineBuffer とか UndoBuffer とかいった内部実装用のクラスはパッケージアクセスにしとけば、
外から見てすっきりするし、勝手に内部構造を触られてややこしいことになったりもしない
0630デフォルトの名無しさん
2008/07/28(月) 16:32:570631デフォルトの名無しさん
2008/07/28(月) 17:00:470632デフォルトの名無しさん
2008/07/28(月) 17:02:07メニュー等IDE自体は日本語になったのですが、IDEの[ヘルプ]→ダイナミックヘルプから見れるJavadocが英語のままです。
ここのダイナミックヘルプを日本語にしたい場合はどうしたらよいのでしょうか?
0633デフォルトの名無しさん
2008/07/28(月) 17:19:04パッケージ内は基本的にスコープなど気にせずに
みんなパッケージスコープを使えっていうのが本来の設計思想。
メンバーのデフォルトスコープがパッケージスコープなのがその証拠。
パッケージ、モジュール、ユニット、ライブラリ呼び方はいろいろだが、
その範囲内は適当にという言語は多いからそれに倣ったのだと思う。
例えばdelphiはprivateがユニットスコープだった。
ただ、javaの利用者がアバウトな使い方を良しとしなかったのでそういった使い方は余りされていない。
みんな一生懸命privateと書いている。
0634デフォルトの名無しさん
2008/07/28(月) 17:24:12mergedoc
0635デフォルトの名無しさん
2008/07/28(月) 17:28:50ってのはどーなんだろね?
単に新しい予約語考えるのが面倒だった、
既存の予約語 例えば package でパッケージプライベートにしても良かったけど
予約語に複数の意味持たせるのは汚いからあまりやりたくなかった、
とかも考えられるけど。
0636デフォルトの名無しさん
2008/07/28(月) 17:42:53それはすでに final がやっちゃってるような・・・
0637デフォルトの名無しさん
2008/07/28(月) 17:45:34複数の使い方があるだけでいいなら class もあるし。
0638デフォルトの名無しさん
2008/07/28(月) 18:07:05あの、MergeDocの解説の通りにやってみましたが
ポップアップしか日本語になりません・・・
http://www.itmedia.co.jp/enterprise/0311/24/epn01.html
0639デフォルトの名無しさん
2008/07/28(月) 18:08:000640デフォルトの名無しさん
2008/07/28(月) 18:56:530641デフォルトの名無しさん
2008/07/28(月) 19:02:550642デフォルトの名無しさん
2008/07/28(月) 19:27:08具体的にWebでのJavaって何をさしているのですか?
JavaによるWeb開発をしようと本屋に立ち寄ったはいいけど、
なにやら環境が沢山あり過ぎて何に手を出すべきか迷ってしまいます。
一般にWenでのJava=JSPの本を買うのが普通なんですか?(+DBMS)
0643デフォルトの名無しさん
2008/07/28(月) 19:32:23その統計にjavascriptが混じってることは間違いない。
0644デフォルトの名無しさん
2008/07/28(月) 19:34:09そんなことないw
0645デフォルトの名無しさん
2008/07/28(月) 19:38:26業務で利用するようなWebシステムです。
0646デフォルトの名無しさん
2008/07/28(月) 19:38:33サーバー上でJavaが動くって事じゃないか
動かしてるかどうかは無関係に
0647デフォルトの名無しさん
2008/07/28(月) 19:39:53仕事じゃ使わない。
0648デフォルトの名無しさん
2008/07/28(月) 19:43:150649デフォルトの名無しさん
2008/07/28(月) 19:46:42最近は
0650デフォルトの名無しさん
2008/07/28(月) 19:54:010651デフォルトの名無しさん
2008/07/28(月) 19:55:500652デフォルトの名無しさん
2008/07/28(月) 20:06:57Webは儲からないのでやめたほうがいい
0653デフォルトの名無しさん
2008/07/28(月) 20:08:18社内業務システムなんかだとASP.NETも多いぞ。
0654デフォルトの名無しさん
2008/07/28(月) 20:13:580655デフォルトの名無しさん
2008/07/28(月) 20:41:490656デフォルトの名無しさん
2008/07/28(月) 21:10:16そこではjavacでコンパイル、コマンドプロンプトからクラスファイルを
指定して実行したのですが、これがjavaの基本なのでしょうか?
exeファイルを作って直接実行、ということは出来ないのですか?
0657デフォルトの名無しさん
2008/07/28(月) 21:15:29run anywhereじゃなくなるから、exe化はJavaの思想とは違う。
不可能じゃないけどね。
0658デフォルトの名無しさん
2008/07/28(月) 21:21:09裏でant呼んでコンパイルして最後に*,classを消してしまうプログラムなのだけどわりと重宝した。
0659デフォルトの名無しさん
2008/07/28(月) 21:33:27となると、実行には常にコマンドプロンプト等が必要ということですか?
0660デフォルトの名無しさん
2008/07/28(月) 21:35:250661デフォルトの名無しさん
2008/07/28(月) 21:59:24Javaとたいして変わらないから
0662デフォルトの名無しさん
2008/07/28(月) 22:18:26結局VC++が増加しそう
0663デフォルトの名無しさん
2008/07/28(月) 22:19:380664デフォルトの名無しさん
2008/07/28(月) 22:21:01それをJavaスレで聞いてどーすんだ?
0665デフォルトの名無しさん
2008/07/28(月) 22:25:18?
なにを使うの?
0666デフォルトの名無しさん
2008/07/28(月) 22:26:10Google Code Jamの言語別統計をみると、C++とJavaが人気のようだけど。
0667デフォルトの名無しさん
2008/07/28(月) 22:28:040668デフォルトの名無しさん
2008/07/28(月) 22:31:06apache ant
IDEのeclipseやnetbeansもこれを中で使ってる。
0669デフォルトの名無しさん
2008/07/28(月) 22:33:07世界ではなく日本国内では?
0670658
2008/07/28(月) 22:39:28//++@ sample
//++m local.test.Hello
//++ local/test/Hello.java
package local.test;
public class Hello {
public static void main(String [] args) {
new Hello2().hi();
}
}
//++ local/test/Hello2.java
package local.test;
public class Hello2 {
public void hi() {
System.out.println("hello world !");
}
}
//++
以上をsample.txtに保存、コンパイルでsample.jarとsample.batを作って実行。
C:\>trj sample.txt
C:\>sample
hello world !
0671デフォルトの名無しさん
2008/07/28(月) 22:42:32Antはコンパイラと言うわけではないのでは・・・
0672デフォルトの名無しさん
2008/07/28(月) 22:47:05良く分からないが、それこそ、Antでするようなこと?
0673デフォルトの名無しさん
2008/07/28(月) 22:57:23そのプログラムは
ディレクトリ掘ってjavaファイル配置してbuild,xml作ってantを呼び出す。
jarだけ元のディレクトリにコピーして作業用のディレクトリを削除。
antはコンパイラというよりmakeユーティリティ。
makeと違ってjavacそのものではなくjavaのランタイムの中にある
コンパイル用のモジュールやjarを作るためのモジュールを呼び出す。
0674デフォルトの名無しさん
2008/07/28(月) 22:58:40JAVAは
JRubyでRubyが
JythonでPythonが
.netは
ASP、Visual Basic、Visual C#、Visual C++、Visual J#
等が動くようになってる。
時代の流れは速いな・・・
これからプログラミングするには覚えるの多すぎるな
最近の若い世代は覚える技術が多すぎて可愛そうだわ
0675デフォルトの名無しさん
2008/07/28(月) 22:59:540676デフォルトの名無しさん
2008/07/28(月) 23:28:58class Hoge{
public int x;
Hoge(int t){x=t;}
}
public class Cui{
public static void main(String[] args)
{
Hoge A=new Hoge(7);
Hoge B=new Hoge(999);
change(A,B);
System.out.println(A.x +" , "+B.x);
}
public static void change(Hoge A, Hoge B){A=B;}
}
上の表示結果は「7 , 999」でchange内をA.x=B.xにすると「999 , 999」になる、
というのがどういうことなのかイマイチ分かりません。
参照渡しなら元のAはBのオブジェクトが指す所を指すようになって
A=Bで「999 , 999」になるように思えたのですが、どうしてでしょうか?
0677デフォルトの名無しさん
2008/07/28(月) 23:31:46参照を値渡ししてるだけです。
0678デフォルトの名無しさん
2008/07/28(月) 23:33:49mainメソッド内で持っている、あるオブジェクトへの参照Aと、メソッドで受け取った参照は、参照先は同じでも、別物。
だから、上の例ではchangeで確かにAの指す先はBとしてあるが、mainメソッド内の参照には影響がない。
0679デフォルトの名無しさん
2008/07/28(月) 23:38:080680デフォルトの名無しさん
2008/07/28(月) 23:57:48Hoge A=new Hoge(7);
これでAが指してるアドレスが仮に0x1110〜0x1120だとすると、
change(Hoge A , Hoge B)でのAは別のアドレス(仮に0x2220〜0x2230)を指していて、
その中身が0x1110〜0x1120に入っているものと同じになるってことでしょうか?
0681デフォルトの名無しさん
2008/07/29(火) 00:02:26しかし A 自体は別々
0682デフォルトの名無しさん
2008/07/29(火) 00:03:17オブジェクトの実体:0x1100〜0x1200
main内のA:0x2000-0x2010(実体の格納先など)
change内A:0x2300-0x2310(同上)
アドレスで書くとかえって分かりにくくなるかもね。
サイズなんか適当だから。
0683デフォルトの名無しさん
2008/07/29(火) 00:11:41------------ -Hoge--
| main の A |---> | x = 7 |
------------ -------
| main の B |-----↑-----
------------ | ↓
| change の A |------ -Hoge---
------------ | x = 999 |
| change の B |--------> --------
------------
A=B 代入後
------------ -Hoge--
| main の A |---> | x = 7 |
------------ -------
| main の B |------------
------------ ↓
| change の A |--------> -Hoge---
------------ | x = 999 |
| change の B |--------> --------
------------
mainのAは何も変わらない
0684デフォルトの名無しさん
2008/07/29(火) 00:26:35参照ではなく参照を値渡しているって「指している矢印」がもうひとつ出来るイメージですね!
皆さんのおかげでやっと理解することが出来ました。
こんな時間にも関わらずもの凄く分かりやすい説明をして頂いて本当にありがとうございます!
0685デフォルトの名無しさん
2008/07/29(火) 02:36:46プリミティブに対しては値そのものが入るけど、
オブジェクトに対してはそのオブジェクトへの参照が入る
メソッドは、それらの値渡しをする
0686デフォルトの名無しさん
2008/07/29(火) 08:33:200687デフォルトの名無しさん
2008/07/29(火) 08:37:540688デフォルトの名無しさん
2008/07/29(火) 09:17:580689デフォルトの名無しさん
2008/07/29(火) 09:22:21いいえ。参照の値渡しです。
0690デフォルトの名無しさん
2008/07/29(火) 10:05:490691デフォルトの名無しさん
2008/07/29(火) 19:16:07http://www.nicovideo.jp/watch/sm3943529
0692デフォルトの名無しさん
2008/07/29(火) 19:30:56二次元配列で作ったらものすごく処理が遅くなったんですけどどうしてでしょうか?
0693デフォルトの名無しさん
2008/07/29(火) 19:39:34普通にタグ出力しまくるだけでおk
0694デフォルトの名無しさん
2008/07/29(火) 19:46:03それだけだと作り方が悪いとしかいえない。
0695デフォルトの名無しさん
2008/07/29(火) 19:52:39画像読み込んで1pxづつ見ていくだけ
色取得も出来るし簡単だよ。
多分ものすごいHTMLのソースになってるんだろうけど・・
0696デフォルトの名無しさん
2008/07/29(火) 19:56:332次元配列のプログラム思い出しながら書いてみました。
だいたいこんな感じです。
maxはバケットソートを使って並び変えたい要数の最大値です。
max++;
sort_array.length=tail
int[][] bucket=new int[max][tail];
for(int i=0 ; i<tail; i++){
int m=0;
while(bucket[sort_array[i]][m]<=1){
m++;
{
bucket[sort_arrray[i]][m]=sort_array[i]
}
for(int i=1; i>tail; i++){
while(bucket[i][m]<=1){
sort_array[i]=bucket[i][m]
m++:
}
}
0697デフォルトの名無しさん
2008/07/29(火) 20:00:18while(bucket[sort_array[i]][m]>=1){
m++;
}
0698デフォルトの名無しさん
2008/07/29(火) 20:04:41そのコードのように二重ループにすると要素数の二乗に比例する量の処理が必要になる
大雑把に言ってバブルソートと同じ計算量
0699デフォルトの名無しさん
2008/07/29(火) 20:28:17コンストラクタというのはインスタンスを作成するのに使う
クラスの特殊なメソッドのようなものという認識で良いのでしょうか?
0700デフォルトの名無しさん
2008/07/29(火) 20:39:300701デフォルトの名無しさん
2008/07/29(火) 20:47:06ありがとうございます
コンストラクタの作成と書いてあったので混乱しました
「クラスのコンストラクタを使ってインスタンスを作成する」
と脳内変換しておきます
0702デフォルトの名無しさん
2008/07/29(火) 22:16:58レスありがとうございます!
1px取得してその色の■をhtmlの方でmarginとpaddingを0にして
ひたすら敷き詰めていけば出来るものなのかな?
ちょっとその方向で今から作ってみようと思います。
0703デフォルトの名無しさん
2008/07/29(火) 22:18:11コンストラクタの作成は、コンストラクタの定義を書くということだと思うが
0704デフォルトの名無しさん
2008/07/29(火) 22:26:23ちょっとやってみたけど単純にテキストじゃないっぽい?
ブラウザにもよるかもしれないけれど、テキストでやると、属性値が変わる部分でずれる部分があるから、テーブルでやってみたらきれいにできた。
public static void encode(BufferedImage input,PrintStream writer,String pxStr,int width,int height){
BufferedImage out = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
out.getGraphics().drawImage(input, 0, 0,width,height, null);
writer.println("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
for (int i = 0; i < height; i++) {
writer.println(" <tr>");
for (int j = 0; j < width; j++) {
int rgb = out.getRGB(j, i);
writer.printf(" <td style=\"background:#%06X\">",rgb&0xFFFFFF);
writer.print(pxStr);
writer.println("</td>");
}
writer.println(" <tr>");
}
writer.println("</table>");
}
pxStrはテーブル内の文字列。全角スペース*2くらいがちょうどいいかも
拡大縮小は今回ほんとに最低限の実装だけどw
0705デフォルトの名無しさん
2008/07/30(水) 00:09:35文脈が解らんけど、
複数のコンストラクタを定義できるし、そのときは「コンストラクタを作成する」という。
0706デフォルトの名無しさん
2008/07/30(水) 00:13:33現在、jdk6でgui開発を行っています
サイズを指定しないJFrameの上にサイズを指定したJPanelを載せて、JFrame#pack()を行い、大きさを整えようとしたのですが、なぜか、小さくなってしまいます。
JPanelはsetSizeで800*600とかにしているのですが、実行するとせんべいみたいな形になってしまいます
なぜなんでしょ?
また、せんべいみたいな形になったwindowを広げるとJPanelは800*600なのに、それを超えてJFrameの大きさと同じ大きさまで拡大してしまいます
これも、なぜなんでしょ?
解決方法や実装の常識的な方法があれば、教えてください
0707デフォルトの名無しさん
2008/07/30(水) 00:15:10setPreferredSize(Dimension)
0708デフォルトの名無しさん
2008/07/30(水) 01:11:110709デフォルトの名無しさん
2008/07/30(水) 01:28:20夏だな
0710デフォルトの名無しさん
2008/07/30(水) 02:00:47サイズも含めて望みのレイアウトになるようなレイアウトマネージャを使う。
そしてそのレイアウトマネージャがレイアウトに利用するコンポーネントのプロパティを正しく設定する。
0711デフォルトの名無しさん
2008/07/30(水) 02:07:25ベスト回答
0712デフォルトの名無しさん
2008/07/30(水) 09:45:20URL[] url = {new URL("file:///C:/…/classes")};
new URLClassLoader(url).loadClass("/jp/co/…/Xxx")); → ClassNotFoundException
new URLClassLoader(url).loadClass("/jp/co/…/Xxx.class")); → ClassNotFoundException
実際のディレクトリ
クラスパス → C:\…\classes
クラス → C:\…\classes\jp\co\…\Xxx.class
0713デフォルトの名無しさん
2008/07/30(水) 10:08:26> new URLClassLoader(url).loadClass("/jp/co/…/Xxx")); → ClassNotFoundException
new URLClassLoader(url).loadClass("jp.co.….Xxx"));
loadClass する時のクラス名はバイナリ名らしいので
packagename.classname$innerclassname みたいに
パッケージ及びトップレベルクラスまでは '.' で繋いでいい。
0714デフォルトの名無しさん
2008/07/30(水) 15:13:44JAVAのstaticメソッド内に宣言したローカル変数は
ヒープに領域を取られるのでしょうか?
配列などのオブジェクト宣言時は領域を取られるとあったのですが、
変数はオブジェクトではありませんよね?
0715デフォルトの名無しさん
2008/07/30(水) 15:28:550716デフォルトの名無しさん
2008/07/30(水) 15:34:19getContentPaneでコンテナを取得して、
そのコンテナに対してコンポーネントを追加すると思います。
そこで、質問なのですが、コンテナを複数個作成することはできるのでしょうか。
目的は、複数のコンテナを複数の画面とみなし、
メニューなどから必要に応じて表示するコンテナを切り替えることです。
0717デフォルトの名無しさん
2008/07/30(水) 15:52:09CardLayout使うとか、JLayeredPane使うとかじゃだめ?
0718デフォルトの名無しさん
2008/07/30(水) 15:55:01ありがとうございます。早速、調べてみます。
0719デフォルトの名無しさん
2008/07/30(水) 16:37:41JAVAのstaticメソッド内に宣言したローカル変数は
ヒープに領域を取られるのでしょうか?
配列などのオブジェクト宣言時は領域を取られるとあったのですが、
変数はオブジェクトではありませんよね?
0720デフォルトの名無しさん
2008/07/30(水) 16:40:12メンバだろうがstaticだろうがローカル変数はスタックじゃね?
0721デフォルトの名無しさん
2008/07/30(水) 16:44:070722デフォルトの名無しさん
2008/07/30(水) 16:46:23staticか否かにかかわらず、ローカル変数は「ローカル変数テーブル」
に置かれる。(で、ローカル変数テーブルは通常はスタック上に置かれる)
でも、ローカル変数が指す先はヒープ上かもしれない。
例:
static void foo() {
Foo f = new Foor();
// f はローカル変数テーブルに領域が取られるが、fが指すオブジェクトはヒープ
>>719
同じことを二度も書かなくていいよ。
0723デフォルトの名無しさん
2008/07/30(水) 16:52:330724デフォルトの名無しさん
2008/07/30(水) 16:52:43http://java.sun.com/javase/ja/6/docs/ja/api/index.html
0725デフォルトの名無しさん
2008/07/30(水) 17:29:480726デフォルトの名無しさん
2008/07/30(水) 21:10:330727デフォルトの名無しさん
2008/07/30(水) 21:56:32シンボリックリンクとかあって、単純に再帰かけると無限ループ入るんで、
誰かが提供したライブラリを使ってプログラミングがしたい。
読み込んで、ノードがサイズとか名前とか更新日時とかを持った木構造にしてくれればいい。
0728デフォルトの名無しさん
2008/07/30(水) 21:59:21まああれは解析されてるがディレクトリツリーの取得ぐらい自分で書け。
0729デフォルトの名無しさん
2008/07/30(水) 23:11:43すごくだるいです・・・
他人が書いたライブラリを使った方が正確です。
0730デフォルトの名無しさん
2008/07/31(木) 00:47:38ならそのまま延々待ってろw
0731デフォルトの名無しさん
2008/07/31(木) 01:18:13もし、Javaで、OpenOfficeOrgのドキュメントのデータを読むときは
何を使用されていますか?
0732デフォルトの名無しさん
2008/07/31(木) 06:06:04int i;
for(i=-3;i<3;i++);
といった始めにiを-3としておいて-3≦i≦3の計算をさせることはできますか?
0733デフォルトの名無しさん
2008/07/31(木) 07:42:470734デフォルトの名無しさん
2008/07/31(木) 07:43:11POI
>>732
聞く前に試せ
0735デフォルトの名無しさん
2008/07/31(木) 08:26:36それだと-3≦i<3の範囲になっちゃうけど
0736デフォルトの名無しさん
2008/07/31(木) 10:05:490737デフォルトの名無しさん
2008/07/31(木) 14:17:39g.setColor(Color.green);
g.fillArc(30,30,150,100,90,250);
}
アプレットに表示した後、数秒待機してこの図形を消したいのですが、
図形を消す命令というのはありますか?
0738デフォルトの名無しさん
2008/07/31(木) 14:18:590739デフォルトの名無しさん
2008/07/31(木) 14:27:22よろしかったら記述方法のヒントを頂けないでしょうか?
g.clearではだめだったので… orz
0740デフォルトの名無しさん
2008/07/31(木) 14:42:40void 数秒後に発動するタイマーのハンドラー() {
display = false;
画面の再描画指示 repaint() でいいんだっけ?
}
public void paint(Graphics g){
if (display) {
g.setColor(Color.green);
g.fillArc(30,30,150,100,90,250);
}
}
0741デフォルトの名無しさん
2008/07/31(木) 15:20:500742デフォルトの名無しさん
2008/07/31(木) 19:59:56したいのですがどうすればいいんでしょうか?
0743デフォルトの名無しさん
2008/07/31(木) 20:03:140744デフォルトの名無しさん
2008/07/31(木) 21:55:41実際に現場でもトムキャット(+アパッチ連携)が使われてるんでしょうか?
それともグラスフィッシュとかでしょうか?
0745デフォルトの名無しさん
2008/07/31(木) 22:05:440746デフォルトの名無しさん
2008/07/31(木) 22:31:290747デフォルトの名無しさん
2008/07/31(木) 23:36:260748デフォルトの名無しさん
2008/07/31(木) 23:47:46Javaのなんというプログラム(ファイル?)で開いていいのかわからず、
起動できません。
教えてください。
0749デフォルトの名無しさん
2008/08/01(金) 01:01:16・データベース名
「userdb」
・テーブル名
「user」
列名 型 制約
id varchar(10) 主キー
name varchar(50) NOT NULL
address varchar(50) なし
追加するデータ
「add.txt」の内容
001,太郎,[email protected]
002,花子,[email protected]
003,次郎,[email protected]
0750デフォルトの名無しさん
2008/08/01(金) 01:12:270751デフォルトの名無しさん
2008/08/01(金) 09:46:23皆さんはこのような時どうされます。
定数クラスを各自作成し、最後にリファクタリングで1つにまとめコミットし、その他は破棄でやってます。
自分ではなかなかだなと思っています。
0752デフォルトの名無しさん
2008/08/01(金) 10:03:45オブジェクトの捜査ならその中でいろいろやるけど1行だけの更新なら必要ないと思うのですが。
0753デフォルトの名無しさん
2008/08/01(金) 10:24:21git でも mercurial でもなんでも使えよ。
>>752
更新する場所がソース上で1行だろうがなんだろうが、そこを通るスレッドが複数
存在するならガードする必要があるのはあたりまえだろボケ。
0754デフォルトの名無しさん
2008/08/01(金) 11:01:48共通部分は一人で作る
0755デフォルトの名無しさん
2008/08/01(金) 11:27:45要は、intのデータバイト更新しかかり中に別スレッドが読んじゃうからということですか?
0756デフォルトの名無しさん
2008/08/01(金) 11:34:16同期しないと別スレッドの更新した値が更新されて見えないことがあるよ・・・とか
0757デフォルトの名無しさん
2008/08/01(金) 12:02:08その、同時に更新したらという懸念はわかるけど、同時に更新したらどうなるの?
データはめちゃくちゃになる、ということ?
0758デフォルトの名無しさん
2008/08/01(金) 12:13:03銀行口座の例とか教科書に載ってなかったか?
javaじゃないけど
http://www.atmarkit.co.jp/fdotnet/mthread/mthread03/mthread03_01.html
0759デフォルトの名無しさん
2008/08/01(金) 12:50:46Web系の場合、何で遊ぶのが一番仕事の役に立ちそうですか?
Tomcat+Struts2あたり?
宗教戦争っぽくなりそうですけど、目安を知りたいので教えてください
0760デフォルトの名無しさん
2008/08/01(金) 13:45:590761デフォルトの名無しさん
2008/08/01(金) 14:01:520762デフォルトの名無しさん
2008/08/01(金) 14:25:39現在、Javaアプレットに代わって利用されているJava技術は何ですか?(FLASH等多言語は除く)
0763デフォルトの名無しさん
2008/08/01(金) 14:27:330764デフォルトの名無しさん
2008/08/01(金) 19:36:19コンパイルしようとしたのですがjavacが認識されず出来ません
どうすればよいですか
初歩的ですみません
0765デフォルトの名無しさん
2008/08/01(金) 19:43:060766デフォルトの名無しさん
2008/08/01(金) 19:46:53http://java.sun.com/javase/ja/6/webnotes/install/jdk/install-windows.html
の4.を行わない場合、javacをフルパスで起動する必要がある。
0767デフォルトの名無しさん
2008/08/01(金) 20:45:40ブラウザが実装してくれればいいのに
0768デフォルトの名無しさん
2008/08/01(金) 23:45:24bin フォルダの中に javac.exe はあるぽ?
0769デフォルトの名無しさん
2008/08/01(金) 23:48:48下のように、似たようなシグネチャのメソッドを持つインターフェースを
数種類だけ作ってアプリ全体で使い回そうとしてるんだけどこれって普通ですか?
コントローラからはビジネス層へのアクセスは必ずこれらを呼ぶようにしていますが、
もっと賢いやり方があれば教えてください。
public interface hogeLogic {
void execute (object o)
}
public interface hogeLogicReturningObject {
Object execute (object o)
}
public interface hogeLogicReturningList {
List execute (object o)
}
0770デフォルトの名無しさん
2008/08/01(金) 23:52:06T execute(Object o);
}
0771デフォルトの名無しさん
2008/08/01(金) 23:57:02これは別ですか?
public interface hogeLogic {
void execute ()
}
あとjdk1.4だと>>769以外に何かありますか
0772デフォルトの名無しさん
2008/08/02(土) 00:14:010773デフォルトの名無しさん
2008/08/02(土) 00:30:210774デフォルトの名無しさん
2008/08/02(土) 00:40:300775デフォルトの名無しさん
2008/08/02(土) 00:50:290776デフォルトの名無しさん
2008/08/02(土) 00:53:46Sunが金払う顧客にはサポート続けるって言ってなかったっけ?
0777デフォルトの名無しさん
2008/08/02(土) 01:08:25そのパターンでは、静的型付の利点を生かせないよね。
0779デフォルトの名無しさん
2008/08/02(土) 09:18:28インターフェイスを使うのは必要として、
ビジネス層の中身によるがObjectまで抽象化すると逆にメリットがなくなる。
もう少し具象化した型別にインターフェイスを用意したほうがよいと思うよ。
0780デフォルトの名無しさん
2008/08/02(土) 14:51:22>>779
なるほど。確かにタイプセーフじゃないんで
>>769はこれはこれでどうしたものか、と思いました。
参考までに1.5だと全部下ので
片が付くと思ったのですが、あってますか?
public interface hogeLogic<T, E> {
T execute(E commandParameterObj);
}
0781デフォルトの名無しさん
2008/08/02(土) 17:17:050782デフォルトの名無しさん
2008/08/02(土) 17:53:46後はわかるな?
0783デフォルトの名無しさん
2008/08/02(土) 19:59:32だれかたのむ
0784デフォルトの名無しさん
2008/08/02(土) 21:13:53Web+仕事が前提だと、未だにStruts1がぶっちぎり。
Struts2はその他大勢とどんぐりの背比べ状態。
それでもあえてStruts1以外を選ぶなら、Wicketあたりをお勧めしておく。
0785デフォルトの名無しさん
2008/08/02(土) 22:40:360786デフォルトの名無しさん
2008/08/02(土) 23:17:34いや、わからん・・・・
定数と同名のpublic変数フィールドがなぜ定義されてて、
どうやって使い分けるのか
検討もつきません。まじで。
0787デフォルトの名無しさん
2008/08/02(土) 23:33:47つ 導入されたバージョン: 1.4
0788デフォルトの名無しさん
2008/08/03(日) 01:07:46丁寧に解説している本ってありますか?
いま持っている本はドキュメントの使い方の説明はほとんどされてません。
0789デフォルトの名無しさん
2008/08/03(日) 01:13:281.4以前に定義された小文字の変数名だと命名規約に反する。
それで大文字を導入したが小文字の方を消すと以前作ったコードがコンパイルできなくなる。
>>788
辞典みたいなもん。
0790デフォルトの名無しさん
2008/08/03(日) 01:16:200791デフォルトの名無しさん
2008/08/03(日) 01:19:220792デフォルトの名無しさん
2008/08/03(日) 01:24:03>ビジネス層の中身によるがObjectまで抽象化すると逆にメリットがなくなる。
メリットって?
0793デフォルトの名無しさん
2008/08/03(日) 03:39:15よくわからんがコントローラー層から実行するメソッドごとに、
インタフェース作ることにならんかい?
極端な例だけど、
あるひとつのドメインに対して、
CRUDごとにインタフェース作るより、
まとめてインタフェース定義するほうが自然だよ。
0794デフォルトの名無しさん
2008/08/03(日) 03:44:33ビジネス層でObject受け取ってうれしいか?
結局ダウンキャストしなきゃいけないじゃん。
0795デフォルトの名無しさん
2008/08/03(日) 15:52:03テーブルのカラムを押したときにソートができるようになります。
ところが、このソートの仕方がおかしいのです。
たとえば、次のような値は
8 1
14 -> 8
1 14
となるように思えますが、実際には
8 1
14 -> 14
1 8
のようになってしまいます。
DefaultTableModel.addRowにはIntegerオブジェクトを渡しているのに、
数学上での大小を区別してくれません。
どうすれば、よいでしょうか。
0796デフォルトの名無しさん
2008/08/03(日) 16:07:40スペースがうまく入っていないので補足します。
言いたいことは、1,8,14という並び方になってほしいのに、
1,14,8という並び方になってしまうということです。
0797デフォルトの名無しさん
2008/08/03(日) 16:20:440798デフォルトの名無しさん
2008/08/03(日) 16:24:27DOSの本嫁
0799デフォルトの名無しさん
2008/08/03(日) 16:27:48ttp://guijava.180r.com/pJTable%A4%CE%BE%AE%B5%BB%BD%F4%A1%B9.html
0800デフォルトの名無しさん
2008/08/03(日) 16:31:34ぐぐってみたところ、以下2つのメソッドが引っかかったのですが
どちらを使うべきでしょうか?
asHex2()のif文は必要なのでしょうか。
public static String asHex(byte b[]) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
sb.append(Integer.toHexString((int) b[i] & 0xff));
}
return sb.toString();
}
public static String asHex2(byte b[]) {
StringBuffer sb = new StringBuffer(b.length * 2);
for (int index = 0; index < b.length; index++) {
int bt = b[index] & 0xff;
if (bt < 0x10) {
sb.append("0");
}
sb.append(Integer.toHexString(bt));
}
return sb.toString();
}
0801デフォルトの名無しさん
2008/08/03(日) 16:31:590802デフォルトの名無しさん
2008/08/03(日) 16:32:530803デフォルトの名無しさん
2008/08/03(日) 16:48:44すごすぎる...
正にどんぴしゃのコードです。
ありがとうございます。
ちなみに、
「シリアライズ可能クラス は long 型の static final serialVersionUID フィールドを宣言していません。」
という警告が出たのですが、これは何を意味しているのでしょうか。
動作の方は、至って正常です。
0804デフォルトの名無しさん
2008/08/03(日) 17:46:030805デフォルトの名無しさん
2008/08/03(日) 19:47:13mvel 勉強してるんですが、macro が分かりません。
http://mvel.codehaus.org/Macros
mvel の macro とは何するものなんでしょうか?
どういったことを意図して作られた機能なのでしょう?
サンプルを実行しても理解できませんでした。
ただの文字列置換ではないですよね…
0806デフォルトの名無しさん
2008/08/03(日) 20:35:42>>777,779 に賛成。
そもそも、何故そのようにまとめる必要があるのか?
そのまとめ方は、なんか共通処理があってそれを挿みたいから、それを interface で判断するって事?
自分は(おそらくその他大勢も)基本的にビジネスロジックも POJO がベストだと思っていて、
そのような共通メソッドでビジネスロジックを呼び出すスタイルは過去の物だと思っている。
例えば、Foo を渡すと Bar を返す Hoge という処理があったとする。
// interface
public interface Hoge{
Bar getBar(Foo foo);
}
// implementation
public class HogeImpl{
Bar getBar(Foo foo){
// do something
return bar;
}
}
さて、これでダメな理由って何? interface が増えるから?
個々のビジネスロジックの interface が増えるのは全く問題ではないのだが、
それが分からないのであれば、もっと勉強しなければならない。
ついでにこれを T execute(<E>) にした時の利点って何?
それは実装と interface の分離について何かメリットがあるのか?
最後に、とりあえず Seasar でも Spring でもいいから、なんか DI を使ってごらん。
サンプルアプリとかを見て、真似してみ。 やれば↑のことが分かるようになるはず、だと思う。
java にとっての DI は、もはや必須のパラダイム。 EJB3 にも DI が取り込まれたのも必然。やってみ。
0807デフォルトの名無しさん
2008/08/03(日) 21:19:35HttpURLConnectionを使ってHTMLを取得するまではできていて、
HTML Parserを使って、FORMタグ内のタグ解析もなんとなくできそうですが、フォーム送信がさっぱり
GETならURLに?をつけてパラメータを結合したものをHttpURLConnectionから取得すればフォーム送信したことになりそうだけど、
POSTを使ってhiddenで送信されるパラメータをJava上から実現するのはどうしたらいいんだい?
0808デフォルトの名無しさん
2008/08/03(日) 21:24:27時刻を表示して、時刻が変わったら上書きして表示するということをしたいのですが、
どのようにすれば良いのでしょうか。
また、無理だったら、画面をクリアして書き直すということをしたいのですが、
クリアの仕方もわかりません…
「Java 画面のクリア コマンドプロンプト」でググっても出ませんでした。
0809デフォルトの名無しさん
2008/08/03(日) 21:24:40httpunit
0810デフォルトの名無しさん
2008/08/03(日) 21:25:090811デフォルトの名無しさん
2008/08/03(日) 21:27:32コマンドプロンプト(System.out)の書き換えは基本的に不可能
というか、OSに依存していてWindowsじゃ無理
改行して次の文字を表示していくか、簡単なGUIをSwingで作ればおk
0812デフォルトの名無しさん
2008/08/03(日) 21:29:27ttp://www.atmarkit.co.jp/fjava/javatips/069java006.html
すでに手書きしているので今更だが、HttpUnitを使うともっと楽にできる。
0813デフォルトの名無しさん
2008/08/03(日) 21:32:48ありがとうございます。
無理なのですか…残念です。
【時刻】2008/08/03/21:31:10
【時刻】2008/08/03/21:31:11
【時刻】2008/08/03/21:31:12
【時刻】2008/08/03/21:31:13
【時刻】2008/08/03/21:31:14
…
となるのは見苦しいですが、しょうがないのですね…
0814デフォルトの名無しさん
2008/08/03(日) 21:34:46おまいらThx!即レスThx!
0815デフォルトの名無しさん
2008/08/03(日) 22:18:56しょうがないっていうか、コンソールってどういう目的であるか考えろよ。
見苦しいんじゃなくて、そう流れるのが普通
0816デフォルトの名無しさん
2008/08/03(日) 22:33:11これはやり方が悪いのかねぇ。
どうもページ内でリンクされてる外部のJavaScriptを読みにいってないっぽいんだよなぁ
0817デフォルトの名無しさん
2008/08/03(日) 22:42:47こんなことは出来るんじゃないか?
System.out.print("HOGE");
System.out.write(0x0D);
System.out.println("ORZ");
0818デフォルトの名無しさん
2008/08/03(日) 23:04:56丁寧にありがとう。Springを使ってる。言ってることも理解できます。
実践J2EEシステムデザインって本読んで、それを参考にやってますが、
やりたいことは、コントローラでビジネスロジックを呼び出す回数を出来る限り
少なくして、コントローラのテストを簡単にしたい。
コントローラが扱うビジネスクラスを限定したいのです。
そのために、ビジネスロジックのinterfaceを2段がまえにして、
コントローラから呼ばれるinterfaceはexecuteである程度汎用化して、
(ObjectかMapでモデルオブジェクトだけ返してくれれば十分なので)
これしか呼ばないようにする。ビジネスロジックの入り口。
より具象化した型はexecuteを実装したクラスの中だけで
扱うようにしたいんだけど、これは変なのでしょうか?
public interface Hoge<T, E>{
T execute(E object)
}
public class HogeImpl<Void, Integer>{
private Foo foo; // DIする
private Bar bar; // DIする
public int execute(Object o) {
foo.doXXXLogic()
bar.doYYYLogic()
return foo.getZZZ() + bar.getZZZ();
}
}
public interface Foo{
int doXXXLogic();
}
public interface Bar{
Biz doXXXLogic();
}
0819818
2008/08/03(日) 23:09:18public interface Hoge{
int execute()
}
public class HogeImpl{
private Foo foo; // DIする
private Bar bar; // DIする
public int execute() {
return foo.doXXXLogic() + bar.doYYYLogic();
}
}
public interface Foo{
int doXXXLogic();
}
public interface Bar{
int doXXXLogic();
}
0820デフォルトの名無しさん
2008/08/03(日) 23:32:01だから、テストするクラスが少なくなってもテストするパターンが複雑になるんじゃ本末転倒。
それよりは静的言語のメリットを生かして、ビジネスロジックごとにインターフェイスきる方がいいんじゃね?ってのが流れだと(ry
>これは変なのでしょうか?
あえて時代に逆行しているのは構わないけど、誰からも支持されてないよな?
それが答えだよ
0821デフォルトの名無しさん
2008/08/03(日) 23:39:31コントローラでぐちゃぐちゃとビジネスクラスを呼び出してる方が
テストは複雑な気がするのですが・・・。
POJOじゃないクラスでのテストが増えるってことでしょう?
0822デフォルトの名無しさん
2008/08/03(日) 23:55:14変な皮被せるんじゃなくて、純粋にビジネスロジックとして纏めるんだよ。
何のための DI だよ?
0823デフォルトの名無しさん
2008/08/04(月) 00:37:01目的のことが出来ました!
ありがとうございます。
0824822
2008/08/04(月) 00:39:08しかし >>818,819 は何だ?
Foo も Bar も静的に型が決まるんだから、汎化して呼び出す意味が分からん。
本来 Foo やら Bar やらが持つ意味どおりに getXxx やら getYyy を呼べよ。
真剣にその汎化して呼び出す理由が分からん。
例えばカートを扱うサービスがあったとして、 putXxx とか removeYyy とかやりたいと思うのだが、
それだともの凄く窮屈じゃないか?
とても分かり難いソースにならないか?
実装とインタフェースの分離ってのは、やってもらうことは決まってるけど実装には依存しないってことだよ。
何でも屋インタフェースを用意するってことではないよ。
会計データを入力すると決算書を吐くインタフェースはあっていいが、
何か頼むと何かやってくれるインタフェースなんてあっても意味ないぞ。
0825デフォルトの名無しさん
2008/08/04(月) 00:40:21そもインターフェイスを統一することに何のメリットがあるんだ?
0826デフォルトの名無しさん
2008/08/04(月) 00:49:420827デフォルトの名無しさん
2008/08/04(月) 00:52:43全ての定義メソッドはexecuteだ
プログラムID+Resultという型で結果を返すこと
この手の設計と似ているね・・・
0828デフォルトの名無しさん
2008/08/04(月) 01:11:15次のようにクラスに追加したら、シリアライズに関するエラーが
なくなると思っているのですがなくなりません。
どこが問題なのでしょうか。
model = new DefaultTableModel(column, 0) {
// シリアライズに関する警告を消そうと思い追加
private static final long serialVersionUID = 1;
// オーバーライドしたいメソッド
public Class<?> getColumnClass(int columnIndex) {
return Integer.class;
}
};
便乗になるのですが、このようにクラスのインスタンスの生成時にメソッドを
オーバーライドするというのは、よくあることなのでしょうか。
普通は、サブクラスを作成してそこでメソッドをオーバーライドし、
サブクラスのインスタンスを作成するものだと思うのですが。
0829デフォルトの名無しさん
2008/08/04(月) 03:35:19ただ、エラーを消すために、
private static final long serialVersionUID = 1;
こんなことするくらいだったら、
eclipseの設定で出なくしちゃっていいよ。
設定のコンパイラの辺りでどーにかなるよ。
それが嫌ならちゃんと直列化について勉強するとよいよ。
0830デフォルトの名無しさん
2008/08/04(月) 03:38:16イベントリスナやら、Comparatorなんかではよく見るけど、
インタフェースを実装するときがほとんどだな。
つまり、よくあることではない。
ってことだ。
0831デフォルトの名無しさん
2008/08/04(月) 07:34:59@SuppressWarnings でおk。
@SuppressWarnings嫌いって多いけど、
そうなら勉強するしかない。
そして@SuppressWarningsが正解で、
デフォルトバージョンを入れてしまうことが間違いだと分かる。
>>便乗になるのですが、このようにクラスのインスタンスの生成時にメソッドを
>>オーバーライドするというのは、よくあることなのでしょうか。
よくある。
別にクラス作っても一緒だけど、
「たった一つ振る舞いを変える」かつ、
「その振る舞いはそこでしか使わない」
の場合は生成時オーバーライドが一番見やすい。
0832デフォルトの名無しさん
2008/08/04(月) 10:05:14DI登場以前にはメリットがあった。
トランザクション管理とか、ロギングとかね。
今では、過去の遺物だと思う。
0833デフォルトの名無しさん
2008/08/04(月) 10:12:56javacやantだと出ないでしょ、たしか。
0834デフォルトの名無しさん
2008/08/04(月) 12:12:00お願いします。くぐったんですけど出てきませんでしたm(__)m
0835デフォルトの名無しさん
2008/08/04(月) 13:00:25↑
mojiフオルダ内にある[moji000〜moji004]の5枚の画像について、読み込み
とある処理をして出力するプログラムなんですが
[moji0〜moji4]を読み込むにはどのように書き換えればよいのですか?
0836デフォルトの名無しさん
2008/08/04(月) 13:05:36宿題スレで書いてもらったコードだろ・・・
>private static DecimalFormat df = new DecimalFormat("000");
を
private static DecimalFormat df = new DecimalFormat("0");
でどうよ?
0837デフォルトの名無しさん
2008/08/04(月) 13:13:21java.awt.Frame#setResizable(boolean)
0838デフォルトの名無しさん
2008/08/04(月) 13:40:13それはImportの所に置きますか?
それとも初期化の所に置くのですか?
0839デフォルトの名無しさん
2008/08/04(月) 16:54:05できるでしょうか。
getColumnNameがあるのに、setColumnNameがないようなのです。
また、getColumnで取得できるTableColumnにも
名前を設定できるメソッドがありません。
0840デフォルトの名無しさん
2008/08/04(月) 17:17:420841デフォルトの名無しさん
2008/08/04(月) 17:38:42ありがとうございます。
0842デフォルトの名無しさん
2008/08/05(火) 09:44:13今までロックインスタンス用としてしか使用したことがありませんが、他に有意義な使用法等あれば教えてください。
0843デフォルトの名無しさん
2008/08/05(火) 09:51:55ttp://www.google.co.jp/codesearch?q=lang%3Ajava+%22new+Object(%22
0844デフォルトの名無しさん
2008/08/05(火) 11:34:30String a;
a = ・・・
}
は
String a;
while ・・・
a = ・・・
}
すべきといわれますが、なぜでしょうか?
0845デフォルトの名無しさん
2008/08/05(火) 11:52:370846デフォルトの名無しさん
2008/08/05(火) 12:01:06一般的には、前者の方がスコープ短くできるので良いとされる。
後者が良いのは a の初期化処理が共通で使いまわせる場合とかだね。
0847デフォルトの名無しさん
2008/08/05(火) 13:08:42=======
<a>
<b>
<c>1</c>
</b>
</a>
=======
b.xml
=======
<a>
<b>
<c>2</c>
</b>
</a>
=======
を下記のようにマージするクラスやフレームワークはあるでしょうか?
<a>
<b>
<c>1</c>
</b>
<b>
<c>2</c>
</b>
</a>
0848デフォルトの名無しさん
2008/08/05(火) 14:32:09Hoge hoge = new Hoge();
byte[] buf = (byte[])hoge;
上記のようなことがしたいのですが・・・
よろしくお願いします。
0849デフォルトの名無しさん
2008/08/05(火) 14:39:55javadoc -doclet 自作クラス … でjavadoc要素の操作をしているのですが、
javadocのデバッグはできるのでしょうか?
下記のオプションをつけてみましたが、不正なオプションでエラーになってしまいました。
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
0850デフォルトの名無しさん
2008/08/05(火) 14:47:26シリアライズでぐぐる
0851デフォルトの名無しさん
2008/08/05(火) 19:00:38単純な通知だけのとかは面倒でしょうがない。
0852デフォルトの名無しさん
2008/08/05(火) 19:13:53単に何かが起きたことの通知だけなら
Java流のイベントソース/イベントリスナーの形にきっちり従わなくても
単純にObserver/Obserbableで作るのではだめ?
0853デフォルトの名無しさん
2008/08/05(火) 19:16:450854デフォルトの名無しさん
2008/08/05(火) 19:18:15文字コードレベルではrun anywhereは実現できないんですか?
0855デフォルトの名無しさん
2008/08/05(火) 19:28:43フォントの問題じゃないか?
0856デフォルトの名無しさん
2008/08/05(火) 19:42:01ありがとうございます。
通知の種類が複数あるため、Observerではちょっと・・・
引数でその種類を示す物を送るのもありですが。
0857デフォルトの名無しさん
2008/08/05(火) 22:17:03「?」の数が8個より大きいと使えないのかな?ちなみにバージョン1.5.1.
こんなエラーが出る
java.sql.SQLException: Parameter index out of bounds. 9 is not between valid values of 1 and 8
APIやら解説書にもそんな記述は無いんだが、だとしたら相当ショボイ部品だなぁ・・・
0858デフォルトの名無しさん
2008/08/05(火) 22:25:23その辺はJavaよりもJDBCドライバの実装に依存する。
DBMSとJDBCドライバの名前とバージョンさらして。
0859デフォルトの名無しさん
2008/08/05(火) 22:25:41使ってるデータベースやドライバの仕様じゃなくて?
0860デフォルトの名無しさん
2008/08/05(火) 22:47:48JDBCドライバ mysql-connector-java-5.0.4
です。
この辺の仕様ということなら、残念ですね・・・。
0861デフォルトの名無しさん
2008/08/05(火) 23:08:38%付きでlike演算子使った時に同じエラーが出る、という話がヒットした。
ttp://forums.mysql.com/read.php?39,86819
ttp://forums.mysql.com/read.php?39,86819,86821#msg-86821
ttp://archives.neohapsis.com/archives/dev/sapdb/2003-q4/0768.html
他にもあるかもしれないが、自分でググってみて損はないぞ。
0863デフォルトの名無しさん
2008/08/06(水) 11:32:03-Xbootclasspath/p:-Xbootclasspath/p:C:\classes の起動オプションを追加したところ
以下のメッセージが出て起動できません。
JDK1.6です。
Error occurred during initialization of VM
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:394)
at java.lang.System.initProperties(Native Method)
at java.lang.System.initializeSystemClass(System.java:1072)
0864デフォルトの名無しさん
2008/08/06(水) 12:26:38そうですか
0865デフォルトの名無しさん
2008/08/06(水) 15:26:33Java入門者にとっては最新版でなくても差し支え無いですか?
0866デフォルトの名無しさん
2008/08/06(水) 16:16:341.5で言語仕様がかなり追加された。
それに合わせてAPIも実装だけでなくインタフェース部分も書き直されたので、
少なくともjdk5か、できればjdk6を使用したほうがいいと思う。
入門書とかもそれに対応したものを使う。
0867デフォルトの名無しさん
2008/08/06(水) 17:31:31同じ1.4.2系列の最新版1.4.2_18にはしとこうぜ。
0868デフォルトの名無しさん
2008/08/06(水) 17:38:17DataOutputStreamクラスのwriteChars(String)を実行すると
出力先のtxtファイルでは文字列の文字1つ1つの間に
半角空白が1つずつ入ってしまいます.
どうすれば空白が入らずに出力できるでしょうか.
ちなみにANTLRという構文解析ソフト(javaで記述)の中で,
out.writeChars(text);
out.writeChars(Integer.toString(value));
などという感じで使っています.
0869デフォルトの名無しさん
2008/08/06(水) 17:46:0316byteのキャラクタを未加工で出力してるんだからそれであってる。
DataOutputStreamを使ったことが間違い。
それでもこういう手合いはwriteUTFで自己解決してしまうんだろうな(笑
0870デフォルトの名無しさん
2008/08/06(水) 18:08:22BufferedWriter out2 = new BufferedWriter(new OutputStreamWriter(out));
PrintWriter out3 = new PrintWriter(new BufferedWriter(new OutputStreamWriter(out)));
0871sage
2008/08/06(水) 18:21:35ありがとうございます!
文字列をそのままバイトコードとして流したのがだめだった,ってことでしょうか?
適当に言ってますが...
とにかくOutputStreamWriterを見てみます!
0872デフォルトの名無しさん
2008/08/06(水) 18:22:23すみません.
0873デフォルトの名無しさん
2008/08/06(水) 18:24:25この場合必ずビッグエンディアンになるんだろうか。それともCPUのエンディアン依存?
0874デフォルトの名無しさん
2008/08/06(水) 19:01:10DataInput/DataOutputはビッグエンディアン。
0875デフォルトの名無しさん
2008/08/06(水) 19:36:130876デフォルトの名無しさん
2008/08/06(水) 19:44:10前半で似たような名前があるとタブを見ただけでは解かりにくくて。
0877デフォルトの名無しさん
2008/08/06(水) 19:58:03Node ごとにドラッグ&ドロップ許可/禁止させたいのですが、可能でしょうか?
0878デフォルトの名無しさん
2008/08/06(水) 20:22:160879デフォルトの名無しさん
2008/08/06(水) 20:27:130880877
2008/08/06(水) 20:30:16どの辺りを調べればよいのでしょうか?
0881デフォルトの名無しさん
2008/08/06(水) 20:42:360882デフォルトの名無しさん
2008/08/06(水) 21:17:030883デフォルトの名無しさん
2008/08/06(水) 22:38:31地元ネット喫茶にてeclipse(JAVA)ができなくなってました。
なるべくならJDKの全varに対応してるアプリがうれしいのですが。
0884デフォルトの名無しさん
2008/08/06(水) 22:49:110885デフォルトの名無しさん
2008/08/06(水) 23:45:44java.library.pathにパスを追加せずにnativeライブラリを呼び出せることって出来るのでしょうか?
なるべく簡単且つすっきりと纏めれたらなぁと思いまして。。
0886デフォルトの名無しさん
2008/08/06(水) 23:50:37jdk6というかjre6の方が圧倒的に速い
0887デフォルトの名無しさん
2008/08/06(水) 23:54:540888デフォルトの名無しさん
2008/08/07(木) 00:18:580889デフォルトの名無しさん
2008/08/07(木) 00:54:22PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("tst.txt")));
という風にやっているのですが、出力が途中で切れてしまい、最後までファイルに出力してくれません。
・具体的には、ファイル1から文字列を読み込む
・文字列を加工してファイル2に出力
これをファイル1の最後まで行うのですが、pw.println(加工した文字列)では途中できれ、System.out.println(加工した文字列)
だと途中で切れずに最後まで出力します。
解決法を教えていただけないでしょうか・・・
0890デフォルトの名無しさん
2008/08/07(木) 00:57:010891デフォルトの名無しさん
2008/08/07(木) 01:00:01終わったらちゃんとpw.close()してる?
0892デフォルトの名無しさん
2008/08/07(木) 01:03:54closeはしてるのですが・・・ブツッと行の途中で切れます
0893デフォルトの名無しさん
2008/08/07(木) 01:54:58明示的にflushを実行した場合はどう?
0894デフォルトの名無しさん
2008/08/07(木) 02:29:030895デフォルトの名無しさん
2008/08/07(木) 02:37:41よくやっちまうのがこのパターン。
FileWriter fw = new FileWriter("tst.txt");
PrintWriter pw = new PrintWriter(new BufferedWriter(fw));
fw.close(); // これが余計
pw.close();
>>894
外部プロセスは起動できるのだから
0896デフォルトの名無しさん
2008/08/07(木) 03:24:00不必要な白い部分まで写ります。
0897デフォルトの名無しさん
2008/08/07(木) 04:18:37コンポーネントの一部を透かしたいならSwingならできるけど。
0898デフォルトの名無しさん
2008/08/07(木) 08:38:55JNI は最終的には Windows で言えば LoadLibrary 関数を呼ぶことになるので、jar の中に入れたままでは
不可能。
もしやりたいなら jar からテンポラリディレクトリに解凍(もしくはリソース読み込み)して、それを読み込ませる
ようにロジックを組まないとダメだと思う。
0899デフォルトの名無しさん
2008/08/07(木) 14:39:54FILEオブジェクト固定であることに悩んでいます。
本当は、FileOutputStreamオブジェクトが欲しいのですが...。
file.getPathが返した値を、FileOutputStreamのコンストラクタに
指定するしかないでしょうか。
0900デフォルトの名無しさん
2008/08/07(木) 14:56:04JFileChooser を使って FileOutputStream を得る、
新しいクラスを作ったらどうでしょう
使いづらい道具は直せるのがプログラミングですよ
治具みたいなものです。
0901デフォルトの名無しさん
2008/08/07(木) 15:09:23何か、思いっきり勘違いしていました。
FileOutputStreamのコンストラクタに
取得したFileオブジェクトを指定すればよいだけの話でした。
お騒がせしました。
0902デフォルトの名無しさん
2008/08/07(木) 15:24:310903デフォルトの名無しさん
2008/08/07(木) 17:19:190904デフォルトの名無しさん
2008/08/07(木) 17:23:340905デフォルトの名無しさん
2008/08/07(木) 17:23:39コントロールパネルでJavaを開いてインターネット一時ファイルの表示ボタンを押すと出るやつ?
0906デフォルトの名無しさん
2008/08/07(木) 17:35:01意味合いは違ったようですがビンゴです
ありがとうございました!!
0907デフォルトの名無しさん
2008/08/07(木) 18:09:140908デフォルトの名無しさん
2008/08/07(木) 19:27:06このプログラムをダブルクリックだけで実行できるjarファイルにしたいのですが、
data.txtはjarファイルと別に用意しなければ実行できないのでしょうか?
jarファイルの中にdata.txtも含めて実行してみたのですが、
data.txtが見つからないと出ました。
data.txtをjarファイルのあるフォルダに置いておけば実行できました。
0909デフォルトの名無しさん
2008/08/07(木) 19:37:120910デフォルトの名無しさん
2008/08/08(金) 02:21:52Maskクラスに値を詰め、それを利用したいのですが、
private Mask mask;
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
if(cmd.equals("Read")){
if(mask == null){
mask = new Mask();
}
mask = label.getValue();
}else if(cmd.equals("Write")){
System.out.println(this.mask.getValue());
}
としたときに、下の標準出力から「NullPointerException」
が返ってきます。maskのnewはできていると思うのですが…
万策尽きました。どなたかご教授くださいm(_ _)m
0911デフォルトの名無しさん
2008/08/08(金) 02:28:56mask = new Mask();ここでnewしたのに
}
mask = label.getValue(); ここで代入してるのは何故?
0912デフォルトの名無しさん
2008/08/08(金) 02:36:58この間にMask mask;とかって行は無い?
if(cmd.equals("Read")){
if(mask == null){
mask = new Mask();
}
mask = label.getValue();
}else if(cmd.equals("Write")){
System.out.println(this.mask.getValue());
}
"Read"の前に"Write"が実行されるとmaskはnullになるよ?
そもそも例外が出ているのはどこ?maskが問題なの?
0913デフォルトの名無しさん
2008/08/08(金) 03:07:230914デフォルトの名無しさん
2008/08/08(金) 03:20:220915デフォルトの名無しさん
2008/08/08(金) 03:41:530916デフォルトの名無しさん
2008/08/08(金) 04:07:300917デフォルトの名無しさん
2008/08/08(金) 04:18:13ちょっと簡易的に書きすぎました
MaskはTimerTaskを継承していて、裏で常に動いています。
で、これをStopさせたいのですが、このmaskオブジェクトにアクセスできない状態です。
調べたところ、maskは存在していますが、
Write側でmaskのアドレスを認識できないようです。
グローバル部分でnewするとそれはそれで問題がありなので、
この状況からWrite側のmaskオブジェクトを操作させる方法が欲しいところです。
0918デフォルトの名無しさん
2008/08/08(金) 05:51:46肝心な部分を隠してどこが問題なのじゃないだろ。
maskの実装とTimerの起動箇所を隠さず出せ。
0919デフォルトの名無しさん
2008/08/08(金) 07:34:34最初から言い直します。
class tTask extends TimerTask{
public void run(){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("ss's':mm'm':hh'h'");
MainPanel.pD.timeLabel.setText(sdf.format(date));
}
}
class actionUpdate implements ActionListener{
Timer ttimer;
tTask ttask;
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
if(cmd.equals("Start")){
if(ttask == null){
ttask = new tTask();
}
MainPanel.pB.startButton.setEnabled(false);
MainPanel.pB.stopButton.setEnabled(true);
ttimer.schedule(ttask,0,1000);
}else if(cmd.equals("Stop")){
System.out.println("Time task off");
this.ttask.cancel();
this.ttask = null;
MainPanel.pB.startButton.setEnabled(true);
MainPanel.pB.stopButton.setEnabled(false);
}
0920デフォルトの名無しさん
2008/08/08(金) 07:36:50このとき、this.ttask.cancel()に対してNullPointerException発生。
しかしttaskのrunは動きっぱなし。
さてこれをどうやって止めればよいのか?という質問でした。
0921デフォルトの名無しさん
2008/08/08(金) 08:00:15それならタイマーイベントはスレッドになるからTimerTaskのsetTextはまずい気がする。
Swingならなるべくswing.Timerを使った方が無難。
0922デフォルトの名無しさん
2008/08/08(金) 08:06:16なんかいろいろ違いそうだが・・・。
「ボタンを押したら始まって、ボタンを押したら止まる。」
という仕掛けに、タイマが存在する理由は全くない。
タイマタスクは、実行内容をスケジュールと合わせて保持するだけで、
「実行中」「停止中」を切り替えるステートオブジェクトではない。
TimerTask#cancel()=次の実行時刻が来ても実行されないように、
キャンセルフラグを立てておくだけ。
今の実行状態を切り替えるためのものではない。
ヌルポはなにがnullなんか調べれば解決できるだろ。
0923デフォルトの名無しさん
2008/08/08(金) 08:29:24ActionListenerがメンバ持ってたりでかなりあれだな。
actionUpdateをどこかで作り直してるとかしてないだろうか。
それならヌルポになる。
0924デフォルトの名無しさん
2008/08/08(金) 08:38:44いくつか画像があって、マウスが特定の画像の上に乗っている状態の時にその画像を変える(その画像から出たら元に戻す。)にはどうしたらいいですか?
(変化前と変化後の画像のサイズは同じ)
0925デフォルトの名無しさん
2008/08/08(金) 08:45:170926デフォルトの名無しさん
2008/08/08(金) 08:47:031から10まで聞くつもりかよ
0927デフォルトの名無しさん
2008/08/08(金) 09:49:260928デフォルトの名無しさん
2008/08/08(金) 10:00:41?
>>927
アプレット領域全部ではなく、特定の画像の上でのみイベントを発生させたいです。
将棋のゲームで、ある駒の上にマウスを持っていくと、その駒が移動可能なマスを薄い黒色でピカピカ点灯させるといった感じです。
画像じゃなくても、ボタンのようなオブジェクトに各駒の画像が表示できるならそれでもよいのですが
0929デフォルトの名無しさん
2008/08/08(金) 11:30:37JButtonにImageIconを設定することもできるし、
画像を表示したJLabelにMouseListenerをつけることもできる
0930デフォルトの名無しさん
2008/08/08(金) 11:34:13ありがとうございます。
0931デフォルトの名無しさん
2008/08/08(金) 11:35:35main - VMが起動した時に呼び出される
コンストラクタ - クラスをインスタンス化した時に呼び出される
という理解でよろしいでしょうか?
0932デフォルトの名無しさん
2008/08/08(金) 11:39:350933デフォルトの名無しさん
2008/08/08(金) 11:45:34ありがとうございます。
0934デフォルトの名無しさん
2008/08/08(金) 12:02:00実行する必要が無い。
これの実装に関して分からないことがあります。
Javaにおいては
1.protectedメンバは自身の属するパッケージ、
または、所属するクラスのサブクラスからのみ
アクセス(利用)できる。
2.全てのクラスはObjectクラスのサブクラス
と、認識しています。
ということは、Stringオブジェクトはclone()を実行できると
思ったのですが、protectedメンバなので利用できない旨の
コンパイルエラーが出力されます。
なぜでしょうか?
0935デフォルトの名無しさん
2008/08/08(金) 12:05:29所属するクラスのサブクラス<<の中>>からアクセスできる
ってこと
Stringクラスの外からはアクセスできない
0936デフォルトの名無しさん
2008/08/08(金) 12:20:41つまり継承したクラスではclone()をpublicにoverrideできる。
Object.cloneは特別なメソッドでoverrideする場合はCloneableインターフェイスを実装しなければならない。
CloneableはマーキングのみでcloneメソッドはあくまでもObject.cloneである。
0937934
2008/08/08(金) 12:21:46ありがとうございます。
0938デフォルトの名無しさん
2008/08/08(金) 12:26:29char c = ;
0939デフォルトの名無しさん
2008/08/08(金) 12:40:540940デフォルトの名無しさん
2008/08/08(金) 12:48:08GJ
0941デフォルトの名無しさん
2008/08/08(金) 12:50:46JButton[] bt = JButton[100]; //ここでエラー
for (int i=1; i<=100; i++)
{
bt[i] = new JButton(new ImageIcon("ohana.jpg"));
}
0942デフォルトの名無しさん
2008/08/08(金) 12:51:150943デフォルトの名無しさん
2008/08/08(金) 12:54:14すいません。寝ぼけてましたっっ
0944デフォルトの名無しさん
2008/08/08(金) 15:29:05このときStringクラスのコンストラクタは一切呼ばれないのでしょうか。以前聞いたことがあって。
リテラル?を保持するなんかのクラスがあるのでしょうか。
あるとした場合、それはmain以降から呼ばれるクラスでアクセスできるのでしょうか?
0945デフォルトの名無しさん
2008/08/08(金) 16:33:07呼ばれます。
"hoge"が使用される時に"hoge"に対応するデータがコンスタントプールから取り出され、
その情報を元にString型のインスタンスが生成されます。
その時にStringのコンストラクタも呼ばれます。
0946デフォルトの名無しさん
2008/08/08(金) 16:36:18Stringのコンストラクタにでん部ブレークを張りましたが、決して呼ばれなかったです。
new String(chararray);とかすれば呼ばれますけど。"hoge"でどのコンストラクタが呼ばれますか?
ちなみに1.6です。
0947デフォルトの名無しさん
2008/08/08(金) 16:40:520948デフォルトの名無しさん
2008/08/08(金) 16:48:595: ldc #2; //String hoge
7: putfield #3; //Field str:Ljava/lang/String;
これだけだね〜
0949デフォルトの名無しさん
2008/08/08(金) 18:02:270950デフォルトの名無しさん
2008/08/08(金) 18:07:54g.drawImage(画像, 0, 0, 任意の幅, 任意の高さ, null);
g.dispose();
0951デフォルトの名無しさん
2008/08/08(金) 18:11:360952デフォルトの名無しさん
2008/08/08(金) 18:15:360953デフォルトの名無しさん
2008/08/08(金) 18:24:33レスありがとうございます。
えっと拡大縮小した画像を描画するのではなく、
その画像の高さや幅やRGBを取得して他の処理に用いたいので
BufferedImage bi=〜
みたいにBufferedImageのインスタンスに拡大縮小した画像を読み込みたいのです。
0954デフォルトの名無しさん
2008/08/08(金) 18:29:30BufferedImage bi = new BufferedImage(任意の幅, 任意の高さ, BufferedImage.TYPE_INT_RGB);
Graphics g = bi.getGraphics();
g.drawImage(画像, 0, 0, 任意の幅, 任意の高さ, null);
g.dispose();
0955デフォルトの名無しさん
2008/08/08(金) 20:57:09今までGraphicsってpaintとかpaintcomponentとかで
引数として既知な感じで扱っていたのでよく理解してなかったですが、
これで描画対象をメモリ上のBufferedImageに出来るんですね。
なんかBufferedImageのコンストラクタって引数にImageとかが無いから
今までどう使うものか分からなかったけど、おかげさまでやりたい処理が出来ました。
ありがとうございます!><
0956デフォルトの名無しさん
2008/08/09(土) 00:41:50現時点ではテキストファイルにまでは辿りつくけど文字を記入することができない状態です
修正箇所と修正の仕方を教えてください
mport java.util.*;
import java.io.*
public class A23_StrArray extends A22_StrArray
{
public void writeFile(String path) throws Exception
{
Arraylist list = new Arraylist
File file = new File(path); //Fileのオブジェクトを生成
FileWriter fw = new FileWriter(file); //Filewriterのオブジェクトを生成
//リストの要素が無くなるまでループ
for(int i = 0; i < list.size(); i++)
{
fw.write(get(i));
}
System.out.println("ファイルに書き込みました。");
fw.close();
}
}
0957デフォルトの名無しさん
2008/08/09(土) 00:42:59mport java.io.*;
import java.util.*;
pubic class A23_exec
{
public static void main(String args[])
{
A23_StrArray list = new A23_StrArray();
//書き込み処理
if(inputData.equals("12"))
System.out.println("取得内容?");
inputData = input();//コマンドラインからの入力
list.writeFile(inputData);
}
private static String input()
{
//入力用オブジェクト
BufferedReader cinBuff = new BufferedReader(new InputStreamReader(System.in));
//コンソールからの文字入力
try
{
//入力用オブジェクトが文字入力を受付、それをStringクラスに代入
return cinBuff.readLine();
}
catch(IOException e)
{
System.out.println("IOExceptionエラー発生!!");
}
}
}
0958デフォルトの名無しさん
2008/08/09(土) 00:46:05if(inputData.equals("12"))
System.out.println("ファイル名は?");
inputData = input();//コマンドラインからの入力
System.out.println("書き込むデータは?");
inputData = input();//コマンドラインからの入力
list.writeFile(inputData);
一部修正。正しくはこうです
家のPCにエクリプスが無くてインデントとかおかしい部分もあると思いますが
勘弁してください
0959デフォルトの名無しさん
2008/08/09(土) 01:04:28{
Arraylist list = new Arraylist
File file = new File(path); //Fileのオブジェクトを生成
FileWriter fw = new FileWriter(file); //Filewriterのオブジェクトを生成
//リストの要素が無くなるまでループ
for(int i = 0; i < list.size(); i++)
{
fw.write(get(i));
}
めちゃくちゃじゃないか。
0960デフォルトの名無しさん
2008/08/09(土) 01:10:360961958
2008/08/09(土) 01:37:34{
Arraylist list = new Arraylist
File file = new File(path); //Fileのオブジェクトを生成
FileWriter fw = new FileWriter(file); //Filewriterのオブジェクトを生成
String str;
str =
//リストの要素が無くなるまでループ
for(int i = 0; i < list.size(); i++)
{
fw.write(get(i));
list.add(str);
}
strを初期化できれば行くんでしょうか?
どうすれば初期化できるかわからない
0962デフォルトの名無しさん
2008/08/09(土) 01:43:14String str = null;
もしくは
String str = "";;
0963デフォルトの名無しさん
2008/08/09(土) 01:43:220964デフォルトの名無しさん
2008/08/09(土) 01:44:18答え: リストに要素はありません><
0965958
2008/08/09(土) 01:48:24ありがとうございます。それで試してみます
>>963
あらかじめCドラの直下にテキストファイル(仮にabc.txtする)を置いておいて
最初の引数を入力時にc:\ abc.txtで指定した後に
次の引数でファイルに書き込みたいんです
0966958
2008/08/09(土) 01:51:34最初の引数を入力時にc:\ abc.txtと入力して指定した後に
次の引数で書き込む文字列を入力したい
0967デフォルトの名無しさん
2008/08/09(土) 02:04:04引数…?Arraylist list=new Arraylist…?
全体を通して頭狂ってるだろ。
0968958
2008/08/09(土) 02:13:42>Arraylist list = new Arraylist
この行はいらないのかな?
エクリプスが家にあれば自分でもおかしいってことがわかると思うんですけどメモ帳だと厳しい
出直してきます。
お手数おかけして申し訳ございませんでした
でも初期化の方法がわかっただけでも助かりました
0969デフォルトの名無しさん
2008/08/09(土) 02:15:04public static void main(String args[])throws Exception
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("ファイル名入力>>");
String file=br.readLine();
System.out.println(filename);
FileWriter fw=new FileWriter(file);
System.out.println("書き込むデータは?");
fw.write(br.readLine());
br.close();
fw.close();
}
なんか書いてくれたコードが不明だが、やりたいのはこういうことじゃなくて?
0970969
2008/08/09(土) 02:17:19前に書いてたコード消し忘れ。これはナシで。
0971958
2008/08/09(土) 02:26:53やりたいこととしてはそんな感じなんですけど
メインクラスの実行文から呼び出してサブクラスにあるBufferedReaderやFileWriterを使いたい
0972デフォルトの名無しさん
2008/08/09(土) 02:54:04これだけおかしいのにeclipseが無いと分からないのは初心者未満すぎるので、
人に聞く前に初心者用の本で勉強してください。
まずは引数やサブクラスの意味、それと掲示板で聞く際の常識から。
0973デフォルトの名無しさん
2008/08/09(土) 06:17:06ふつう公開されている初任給データに家賃補助は含まれてませんよね?
0974デフォルトの名無しさん
2008/08/09(土) 07:15:010975デフォルトの名無しさん
2008/08/09(土) 07:46:49〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
アキバ殺傷事件の献花台がホームレスのエサ場に!
ttp://www.tanteifile.com/diary/2008/06/30_01/index.html
0976デフォルトの名無しさん
2008/08/09(土) 13:54:370977デフォルトの名無しさん
2008/08/09(土) 15:44:45「310-055J」と「310-055」ではどちらが正式な書き方ですか?
(最後に「J」を付けるべきかどうかってことです。)
0978977
2008/08/09(土) 17:02:48http://suned.sun.co.jp/JPN/certification/progdetails.html
こことか
https://www1.prometric-jp.com/exam_list/exam_list.asp
ここ見るとJはいらないみたいですね。
お騒がせしました。
0979デフォルトの名無しさん
2008/08/09(土) 19:42:54document..getElementById('***').innerHTML = "***";
こんな感じのスクリプトを実行させても、実行できたというtrueは返って来ますが、何が変化したのかさっぱりで・・・
どなたか分かる方よろしくお願いします。
0980デフォルトの名無しさん
2008/08/09(土) 19:58:56産業としてみれば、音楽産業ですら豆腐産業とほぼ同じ市場規模(年間約5000億円)でしかない。
0981デフォルトの名無しさん
2008/08/09(土) 20:36:070982デフォルトの名無しさん
2008/08/09(土) 22:23:270983デフォルトの名無しさん
2008/08/09(土) 22:38:52JavaScriptはRhinoでサポートされてます。
ですがHttpUnitでの実行のサポートがされているのか気になっているんです。
0984デフォルトの名無しさん
2008/08/09(土) 22:46:400985デフォルトの名無しさん
2008/08/09(土) 22:56:130986デフォルトの名無しさん
2008/08/10(日) 03:27:40どのようにして配布をするのでしょうか?
0987デフォルトの名無しさん
2008/08/10(日) 05:41:410988デフォルトの名無しさん
2008/08/10(日) 12:49:090989デフォルトの名無しさん
2008/08/10(日) 13:19:25スレ違い
0990デフォルトの名無しさん
2008/08/10(日) 15:05:56データベースのデータをフィルタリングしながら取得するには
RowSet←FilterdTableDataprovider←ValueBindFilterCriteria
で良いんでしょうか
フィルター条件そのものをどこでコントロールすればいいのかも
分からないので
ついでに教えてください
0991デフォルトの名無しさん
2008/08/10(日) 16:05:11特定のイベントが発生するまでのスレッドを待機させ、
イベント発生時にスレッドが自動的に動作するようにしたいのです。
0992デフォルトの名無しさん
2008/08/10(日) 16:13:55synchronized(Object)
Object.wait / notify / notifyAll
Thread.interrupt
0993デフォルトの名無しさん
2008/08/10(日) 16:29:260994デフォルトの名無しさん
2008/08/10(日) 16:53:40誰か別のスレッドにnotifyを呼び出してもらう必要があると思っています。
notifyを明示的に呼ぶのではなく、
ボタンが押されたら自動的にスレッドが動作するようなことを
したいのですが、できるものでしょうか。
0995デフォルトの名無しさん
2008/08/10(日) 17:08:14フォーム送信したとき、result.jspに飛んで、それ以外が入力された時、
result2.jspに飛んで、未入力でフォーム送信した時、index.jspで、"入力してください。"
という処理をするには、どのようなJSPと、faces-config.xmlと、モデルを書けばいいんでしょうか。
おしえてください。
0996デフォルトの名無しさん
2008/08/10(日) 17:12:030997デフォルトの名無しさん
2008/08/10(日) 17:30:06WaitForSingleObjectもそんな機能はないよ
ボタンが押されたらnotifyすればいいじゃん
0998デフォルトの名無しさん
2008/08/10(日) 17:32:14Notifyを明示的に呼ぶのとWaitForSingleObject使うのにそんなに差はないような。
何をやりたいのかよくわからないが、スレッドプールが向いてるのかも。
それならコンカレントAPIにいろいろある。
0999デフォルトの名無しさん
2008/08/10(日) 17:34:381000デフォルトの名無しさん
2008/08/10(日) 18:18:1410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。