★★Java質問・相談スレッド145★★
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/06/01(水) 00:53:04.44JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
★★Java質問・相談スレッド144★★
http://hibari.2ch.net/test/read.cgi/tech/1300950228/
次スレは>>950あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
0002デフォルトの名無しさん
2011/06/01(水) 00:53:22.63■ AWT と Swing は --
Java低速GUI Swing 9
http://hibari.2ch.net/test/read.cgi/tech/1261232019/
■ SWT は --
Java 高速GUI SWT 3
http://hibari.2ch.net/test/read.cgi/tech/1164877399/
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part22
http://hibari.2ch.net/test/read.cgi/tech/1295766416/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
http://hibari.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
【Google】Androidアプリ作成part8
http://hibari.2ch.net/test/read.cgi/tech/1297616354/
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 70 ★★
http://hibari.2ch.net/test/read.cgi/tech/1300067785/
0003デフォルトの名無しさん
2011/06/01(水) 00:53:33.15NetBeans Part6
http://hibari.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
clipse統合M30【Java/C++/Ruby/Python/Perl】 ←検索にかからなかったので下のスレが立て直したスレッド
http://hibari.2ch.net/test/read.cgi/tech/1280027133/
Eclipse統合M31【Java/C++/Ruby/Python/Perl】
http://hibari.2ch.net/test/read.cgi/tech/1295886572/
**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
http://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
http://java.sun.com/javase/ja/6/
**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
http://www.java.com/ja
0004デフォルトの名無しさん
2011/06/01(水) 01:36:07.82http://jdk7.java.net/download.html
0005デフォルトの名無しさん
2011/06/01(水) 01:46:37.09戻り値で返すと型情報が減るから返すとObjectになるようなケースで無闇に返したくないんだけど。
0006デフォルトの名無しさん
2011/06/01(水) 02:18:33.75JavaみたいなOOPLに限らずあんまり好まれはしないだろう…
どういう状況を想定してんのかわからんから何とも言えんが。
0007デフォルトの名無しさん
2011/06/01(水) 02:20:18.22http://www.oracle.com/technetwork/jp/middleware/jrockit/downloads/index.html
extends jframeだけで動く様になぜ互換性を持たせなかったのだろう?
0009デフォルトの名無しさん
2011/06/01(水) 05:46:36.15アプレット自体を書き直すんじゃなく、アプレットのスタブとコンテキストを用意して動作環境を整え、
フレームにaddしてinit、start、stop、destroyを必要な時点で呼び出してやるという、
要はブラウザやアプレットビュアがやってるようなことを行うアプリケーションを書けばいい。
それも汎用性のあるものにする必要はなく目的のアプレットに合わせて手抜きすればいい。
単純なアプレットならスタブとか自前で用意せずに動作するものも多いと思うし、
initとかもオーバーライドされてないメソッドは呼ぶ必要がない。
0010デフォルトの名無しさん
2011/06/01(水) 12:00:00.320011デフォルトの名無しさん
2011/06/01(水) 12:56:25.64コードはれ
0012デフォルトの名無しさん
2011/06/01(水) 13:20:31.79bodyを取得するのはどうすればよいのでしょうか?
0013デフォルトの名無しさん
2011/06/01(水) 13:55:47.65java.lang.Integer#valueOf(int) の事ならJDK1.5以降に追加されたメソッドだから
1.4以前だと使えないよ。
0014デフォルトの名無しさん
2011/06/01(水) 14:14:59.74お前質問ちゃんと嫁よ
0015デフォルトの名無しさん
2011/06/01(水) 14:18:33.120016デフォルトの名無しさん
2011/06/01(水) 14:20:28.210017デフォルトの名無しさん
2011/06/01(水) 14:26:32.87エスパーすると、static importしてんじゃないの?
0018デフォルトの名無しさん
2011/06/01(水) 15:02:34.51両方共ほぼ0.4sくらいで差がないです。
MAPはパフォーマンス悪いからやめろと言われたけど、これを突きつけてやろう。
ちなみにリフレクションでも2倍増えただけでおもったより重たくないな。
5倍くらい違うと思ったでけど。
user = new TestUserBean();
user.setValue1("value1");
user.setValue2("value2");
user.setValue3("value3");
user.setValue4("value4");
user.setValue5("value5");
map = new HashMap<String, String>();
map.put("value1", "value1");
map.put("value2", "value2");
map.put("value3", "value3");
map.put("value4", "value4");
map.put("value5", "value5");
user = new TestUserBean();
MethodUtils.invokeExactMethod(user, "setValue1", "value1");
MethodUtils.invokeExactMethod(user, "setValue2", "value2");
MethodUtils.invokeExactMethod(user, "setValue3", "value3");
MethodUtils.invokeExactMethod(user, "setValue4", "value4");
MethodUtils.invokeExactMethod(user, "setValue5", "value5");
0019デフォルトの名無しさん
2011/06/01(水) 15:14:06.88中から情報取り出すときのパフォーマンステストしたか?
0020デフォルトの名無しさん
2011/06/01(水) 15:21:38.150021デフォルトの名無しさん
2011/06/01(水) 15:38:02.29はい、取り出しも含めてセットでループです。
気を以下のように長くしても変わらずで
map.put("valueAbcdefghijklmnopqrstuvwxyzAbcdefghijklmnopqrstuvwxyzAbcdefghijklmnopqrstuvwxyz1", "value1")
ハッシュ値計算するので時間かかるかなと思ったけど。
その面では心配なく使えそうです。
個人的にはリフレクションがそんなに遅くないのに気づけて大きいです。
0022デフォルトの名無しさん
2011/06/01(水) 15:40:17.67昔は単なるメソッド呼び出しと比べて10倍とかかかってたような。
0023デフォルトの名無しさん
2011/06/01(水) 15:40:46.93ちなみに
synchronized (lock) {
さっきのやつ
}
でもほぼ0.4くらいで変わらなかったです。
もちろん当然他からロック取得するスレッドがないけど、あるないにかかわらず、ロックかけに行くことでパフォーマンスが変わると思ったけど…
これまた驚きでした。
0024デフォルトの名無しさん
2011/06/01(水) 15:46:17.29なんか昔桜庭さんが解説してたけど、
それだと本当のロックのコストは検証できなかったはず。
0025デフォルトの名無しさん
2011/06/01(水) 16:57:20.10getMethodName()を使いメソッド名取れますが
各スタックの引数にアクセスが出来ないようです。
引数にアクセスできる手法って何かありますかね?
データセンターのテスト機で動くtomcatにFireWallでeclipseでリモート接続できないので、
printStackTrace()で情報だししてるんですけど、引数情報が見えないないので何とか手法を探ってます。
0026デフォルトの名無しさん
2011/06/01(水) 18:24:29.08DOMというもので実装しようと思うのですが、DOMって商用利用しても大丈夫なものですか?
MySQLみたいにライセンス問題が絡んできたりしませんか?
0027デフォルトの名無しさん
2011/06/01(水) 18:56:14.970028デフォルトの名無しさん
2011/06/01(水) 19:59:10.64active(FTP protocol);
active(SSH protocol);
active(HTTP protocol);
こういうメソッドをもったインターフェースが有ったとして、
Xporter xp = new Xporter();//インターフェースを実装
connect.activeProtocolTo(xp);//指定したホストのポートが使用しているプロトコルがxpに入る
こんな感じの事をする。
これを戻り値でやると、
Object protocol = connect.getProtocol();
if(protocol instanceof FTP) ・・・;
if(protocol instanceof SSH) ・・・;
if(protocol instanceof HTTP) ・・・;
ってな感じになるわけじゃん。
ダウンキャストしたくないと。
0029デフォルトの名無しさん
2011/06/01(水) 20:20:15.85ところで、eclipse で、利用していないpublicなメソッドや変数があるかどうかは、どうやって調べるんでしょうか。
privateならデフォで簡単に分かるのですが。
よろしくです。
0030デフォルトの名無しさん
2011/06/01(水) 20:22:06.50呼び出し階層。
検索対象はワークスペースで開いてるプロジェクト群が最大。当たり前だが。
0031デフォルトの名無しさん
2011/06/01(水) 20:27:08.680032デフォルトの名無しさん
2011/06/01(水) 20:39:08.18おお。
ありがとうです。
コンテキストメニューがコンテキストなんで、フィールドとかを指定したりすると、
当たり前ですが、[呼び出し階層を開く]メニューが出ないですな。ちょいとあわてましたが。
0033デフォルトの名無しさん
2011/06/01(水) 20:41:23.95単にpublicをprivateにしたら?
クラス外で呼ばれていなければエラーにならないし、
クラス内で呼ばれていなければ警告がでるだろ。
0034デフォルトの名無しさん
2011/06/01(水) 20:57:52.36JavaBeanならライセンス問題はありませんか?
貧乏なので、ライセンス料とか払えないです(><)。
0035デフォルトの名無しさん
2011/06/01(水) 21:03:46.47FileOutputStreamと、ObjectOutputStreamを組み合わせることでファイルへの格納はできたのですが
これをStringやbyte配列に格納することは可能でしょうか?
一度ファイルへ書き込めばでますが、できれば一時ファイルみたいなものは使いたくないです
ぐぐってもあまり出てこないので、そもそもこんなことをやりたいと思うのがおかしいのかもしれませんが…
それでは、よろしくお願いします。
0036デフォルトの名無しさん
2011/06/01(水) 21:12:49.79ByteArrayOutputStream
ByteArrayInputStream
こいつらを
ObjectOutputStream
ObjectInputStream
に渡してやれば運用できる。
0037デフォルトの名無しさん
2011/06/01(水) 21:32:31.73あなたのコードのバグを直しなさい。
何も特殊なことしないで取れるよ。
0038デフォルトの名無しさん
2011/06/01(水) 21:40:36.60xmnの値も自動的に増える?
デフォルトでxmsの何分の一とか決まってるんだろうか
0039デフォルトの名無しさん
2011/06/01(水) 21:58:56.51ありがとうございます
HogeSuper(){
}
public class HogeSub{
}
スーパークラスでprotected変数の値を与え、
スーパークラスのコンストラクタでサブクラスをnewして、
スーパークラスでサブクラスのメソッドを呼び出し、
サブクラスでスーパークラスのprotected変数を見ると、
与えた値になっていないのですが、どうすればいいでしょうか。
これまではstaticを付けて回避していたのですが、
newする方法も試したいと思っていました。
0042デフォルトの名無しさん
2011/06/01(水) 22:15:53.45Java課題です。お願いします。
複素数クラスを作り、二次方程式の虚数解を求めるプログラムを書け。
以下、本プログラムの仕様。
メソッドとして以下の四則演算を定義すること。
Complex plus(Complex c)
Complex minus(Complex c)
Complex mul(Complex c)
Complex div(Complex c)
また、複素数の平方根を計算するメソッド
Complex sqrt()
も定義すること。虚数部が 0 の場合(実数の場合)のみに対応すればよい。
実数の平方根はMath.sqrtを使ってよい。
二次方程式の解を求めるプログラムでは 3 つの係数(実数)を入力
させ、その数値から複素数オブジェクトを作って計算を行うこと。
0043デフォルトの名無しさん
2011/06/01(水) 22:22:07.51俺に見せろといいたいの?
それとも実装方法が解らない部分があって
それを聞きたかったけど書き忘れただけなの?
0044デフォルトの名無しさん
2011/06/01(水) 22:23:08.770045デフォルトの名無しさん
2011/06/01(水) 22:37:49.61{
protected int value = 0;
Super(boolean trap)
{
if(!trap) return;
Sub sample = new Sub();
sample.value = 10;
}
}
class Sub extends Super
{
Sub()
{
super(false);//再起止め
System.out.println("Superの中でSub作るなよ 値:"+value);
}
}
>>41の内容でコード起こそうと思ったが、
あー分けが解らん。
ありがとうございます。まさにそんな感じです。
出力文字の「Superの中でSub作るな」という事なんですかね。
そのSuperも始めのMainでnewしているのですが、
SubもMainでnewして、Superのメソッドを呼び出す時に
引数で渡すとかするんでしょうか。
0047デフォルトの名無しさん
2011/06/01(水) 23:11:19.37ただし、Superの{}の中に一個足りとも
Subにあたるクラス名を書くなよ。
あと、protectedで変数を渡すのは止めなさい。
0048デフォルトの名無しさん
2011/06/01(水) 23:13:48.76わざわざCommonsにあるものを実装する気にならないなぁ。
いっそCommonsのComplex参考にしちゃえば?
ttp://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/Complex.java?view=markup
分かりました、ありがとうございます。
高校の授業か大学院の授業化に寄っても違うけど。
コンプレックスありそうな問題w
(これが言いたかったw
0051デフォルトの名無しさん
2011/06/02(木) 01:50:54.460052デフォルトの名無しさん
2011/06/02(木) 07:41:10.82返信ありがと
Abstractでクラスを作ってると、publicにせざるを得ない
0053デフォルトの名無しさん
2011/06/02(木) 08:17:39.78一時的にprivateにするって事なんじゃね?
0054デフォルトの名無しさん
2011/06/02(木) 10:05:46.74手間はかかるけど、確実ってやつね。
一気に検索風にと思ったけど、当面はそれも使わせてもらうかな。
ありがとう
0055デフォルトの名無しさん
2011/06/02(木) 11:25:28.31int a = 10;
clearA(a);
public void clearA(int a) {
a = 0;
}
といった流れにしたいんだけど、これだと値渡しだから
結局aは10のまま
returnは使いたくないんだがどうしたらいいのだろうか?
調べると大体がnew ウンタラしてるけどnewして削除用のオブジェクト作らないとだめなの?
C++だったら
public void clearA(int &a)
で確かポインタ使わずに参照渡し出来て
そのまま変更出来たと思うんだが…
0056デフォルトの名無しさん
2011/06/02(木) 11:40:17.920057デフォルトの名無しさん
2011/06/02(木) 11:41:55.870058デフォルトの名無しさん
2011/06/02(木) 11:44:47.790059デフォルトの名無しさん
2011/06/02(木) 11:45:52.390060デフォルトの名無しさん
2011/06/02(木) 11:47:10.75× a = 0;
○ this.a = 0;
javaはポインターの意識が希薄だし、
CやC++だとしても、同じ事やってもスコープが違うので値は変更できんでしょ。
ポインターを渡せないんだから、上のような工夫で対応できないこともない場合もある。
ただ、return を使いたくない、とか
なんかオブジェクト指向を履き間違えてコードを書いているような予感。
thisを使いまくるとデバッグが大変だよ
0061デフォルトの名無しさん
2011/06/02(木) 12:22:38.93サンクス
して
a=cleara()
しちゃえばいいのにと思った。
ruby的にa.clearとしたくはなるけどw
0063デフォルトの名無しさん
2011/06/02(木) 13:31:54.23そもそもreturn使いたくない理由ってなに?
それによっては別の解決策を出せるかも知れない
0064デフォルトの名無しさん
2011/06/02(木) 13:47:21.50あー、android(JAVA)勉強中でメモリ管理が厳しくて
別関数で受け皿作ったのをリターンしてたら、容量食うかな?と
実際out of memory多発で少しでも減らしたいなー…と
取得してきたデータ画像が2560x1920とかいう超サイズだったから
これを640x480にしたら、余裕再々になったっていうね…
あとの処理は1行のものを態々関数にしようとしてたアホな感じだったんで…(returnシタクナイノハココ)
ただのアホの子でした。
呼び出し
registerCompressBitmap(offBitmap, out, bos);
関数
private void registerCompressBitmap(Bitmap offBitmap, FileOutputStream out, ByteArrayOutputStream bos) {
offBitmap.compress(CompressFormat.JPEG, 70, bos);
try {
out.write(bos.toByteArray());
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
之に関してはobjなんで、out.closeでoutに関してはmainの方でも
閉じられてるって感じでいいんですよね
0065デフォルトの名無しさん
2011/06/02(木) 13:58:34.14むしろ、returnしたほうが、GCが勝手に掃除してくれてメモリの節約になると思うが、気のせいか?
0066デフォルトの名無しさん
2011/06/02(木) 14:03:27.33なるほどー、イメージ的には
ポットA&BをバケツAにいれた後に
returnで、バケツAをBに入れるってイメージだったから
その間AとBが両方存在して多いよなーと思ったけど
よくよく考えて見れば、完全コピーじゃなくて、移動だったら 50 と 50になって全体量は変わらないですよね・・
0067デフォルトの名無しさん
2011/06/02(木) 14:08:04.23まず、ちゃんとプロファイラ使って実際の状況を確かめる事を勧める
0068デフォルトの名無しさん
2011/06/02(木) 14:22:11.85もしくは、できるコンポーネントはないですか?
0069デフォルトの名無しさん
2011/06/02(木) 14:24:11.720071デフォルトの名無しさん
2011/06/02(木) 14:37:57.81commons configuration
0072デフォルトの名無しさん
2011/06/02(木) 15:26:08.85課題1〜3の解答お願いします。
0074デフォルトの名無しさん
2011/06/02(木) 16:04:41.940075デフォルトの名無しさん
2011/06/02(木) 18:05:46.14Mathとキャストを使わずに下のプログラム書くとどうなりますか?
ちなみに使わずにというのはまだ習ってないので使うとNGなんです
四捨五入ノプログムなんですが
入力
1 四捨五入される数値
2 四捨五入をされる小数点の位置
出力
3 四捨五入の計算をした数値
で書いてくるように言われたんですがざっくりすぎて分からないんです
0076デフォルトの名無しさん
2011/06/02(木) 18:22:50.39ぬかしおる
0077デフォルトの名無しさん
2011/06/02(木) 18:32:14.21マルチ乙です、乙です
パソコン初心者総合質問スレッド Part1965
641 名前:ひよこ名無しさん [sage]: 2011/06/02(木) 18:01:47.96 ID:???
ここで合ってるのか分かりませんが
JAVAでプログラムの課題出されたんですけど
Mathとキャストを使わずに下のプログラム書くとどうなりますか?
四捨五入
入力
1 四捨五入される数値
2 四捨五入をされる小数点の位置
出力
3 四捨五入の計算をした数値
007875
2011/06/02(木) 18:36:52.720079デフォルトの名無しさん
2011/06/02(木) 18:48:52.68やることはどうせ一緒だから
0080デフォルトの名無しさん
2011/06/02(木) 18:49:43.62アンタあっちで活動中ジャン
パソコン初心者総合質問スレッド Part1965
650 名前:641 [sage]: 2011/06/02(木) 18:33:23.67 ID:???
>>648
アンタだれ?
0082デフォルトの名無しさん
2011/06/02(木) 18:58:34.31もう分からないよ
アンタが偽ものの可能性が高いかな、本人はもうトンズラ
0084デフォルトの名無しさん
2011/06/02(木) 19:05:39.46ID有る板でのID出さずの質問ー>典型的なネタスレですね
0085デフォルトの名無しさん
2011/06/02(木) 19:39:33.96プリミティブの配列>参照渡し
オブジェクト型>参照渡し
という理解であってますか?
0086デフォルトの名無しさん
2011/06/02(木) 19:46:54.55int[] data = new int[999];
for(int e : data){
e = 0xffff;
}
ってやってもdata変わりませんよね?
どうしたらいいですか?
0087デフォルトの名無しさん
2011/06/02(木) 19:58:43.03プリミティブ>値渡し
プリミティブの配列>値渡し
オブジェクト型>値渡し
0088デフォルトの名無しさん
2011/06/02(木) 20:00:50.46Arrays.fill(data, -1); じゃダメなん?
0089デフォルトの名無しさん
2011/06/02(木) 21:22:15.610090デフォルトの名無しさん
2011/06/02(木) 22:58:30.33特に後者の意味がよく分かりません。
static変数にアクセスするにはどうすればいいでしょう。
0092デフォルトの名無しさん
2011/06/03(金) 03:12:19.57意味としてはこんな感じです。
importするにもスタートファイルの位置なのでフォルダがなくできないです。
//Main.java
import Folder.*;
public class Main{
static final int num = 10;
public static void main(String[] args){
Hoge hoge = new Hoge();
hoge.Print();
}}
//Hoge.java (Folderフォルダ)
package Folder;
public class Hoge{
public Hoge(){}
public void Print(){
System.out.printf("%d\n", Main.num);
}}
0094デフォルトの名無しさん
2011/06/03(金) 06:38:42.040095デフォルトの名無しさん
2011/06/03(金) 06:59:11.17リスト構造自作すんだなw
0096デフォルトの名無しさん
2011/06/03(金) 10:27:06.70こういうページを外部に漏らしてもokなん?
0097デフォルトの名無しさん
2011/06/03(金) 10:28:55.610098デフォルトの名無しさん
2011/06/03(金) 10:59:43.23先輩の総理大臣にでも聞けよ
0099デフォルトの名無しさん
2011/06/03(金) 11:06:04.08mainClassである
public class main {
}
があり、
別クラスに
public class sub {
0100デフォルトの名無しさん
2011/06/03(金) 11:08:09.82mainClassである
public class main {
}
があり、
別クラスに
public class sub {
}
があった場合、class subの変数データをclass mainに持ってきたい場合
どうすれば良いのでしょうか?
継承に関しては、main / subともに違うものを継承しているためextendsは出来ない状態です。
public int getVal() {
return val;
}
といったゲッター?をclass sub 内に作ればいいのだと思うのですが
それをmainからの呼び出し方法が分からないorz
0101デフォルトの名無しさん
2011/06/03(金) 11:17:32.93mainのほうで、new
して.で取り出せた(´・ω・`)
ありがとうございます。
Main(mainがあるスタートクラス)をパッケージに入れる事はできるのでしょうか。
jmEditorで"C:\\Java\\jdk1.6.0_17\\bin\\javac.exe " + edi.FileName;
と与えてコンパイルしていて(edi.FileNameはMain.javaのフルパスになる)
そのMainの位置と比べてフォルダが奥ならパッケージに入れられますが、
Mainだけは出来ないと思っていました。
0103デフォルトの名無しさん
2011/06/03(金) 12:14:04.17クラスパスについて調べるといい
CLASSPATH環境変数は使わずに-classpath又は-cpオプションを使って設定する
あと、Main.javaのnumはpublicにするかgetterメソッドを定義しないといけない
0104デフォルトの名無しさん
2011/06/03(金) 12:58:19.90Sub sub = new Sub();
int a = sub.getX();
}
public class Sub {
int x;
private int getX(){
return x;
}
}
これでも取り出せるよ
0105デフォルトの名無しさん
2011/06/03(金) 13:08:57.850106デフォルトの名無しさん
2011/06/03(金) 13:14:08.680107デフォルトの名無しさん
2011/06/03(金) 13:20:11.15これか
0108デフォルトの名無しさん
2011/06/03(金) 14:07:33.91setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 王道?
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE) これも結構多い
WindowAdapter.windowClosing()をaddWindowListener() 一番面倒w
ttp://download.oracle.com/javase/tutorial/uiswing/start/index.html
Lesson: Getting Started with Swing
ここが一番まとも?
0109デフォルトの名無しさん
2011/06/03(金) 15:13:27.360110デフォルトの名無しさん
2011/06/03(金) 15:31:21.35JAVAのデバッグアクセス機能を使ってスタックにアクセスするしかないんじゃない?
0111デフォルトの名無しさん
2011/06/03(金) 15:55:53.130112デフォルトの名無しさん
2011/06/03(金) 16:07:23.92メモリ上に作成したbyte配列を送信する方法がわかりません。
FileBody fileBody = new FileBody(???);
MultipartEntity.addPart("file", fileBody);
の(???)中にどのようにすればbyte配列を指定できるかご教授お願いいたします。
0113デフォルトの名無しさん
2011/06/03(金) 16:12:42.260114デフォルトの名無しさん
2011/06/03(金) 16:23:05.83ありがとうございます。
ByteArrayBodyで解決できそうです!
0115デフォルトの名無しさん
2011/06/03(金) 21:18:54.13よく説明されていないところが多いんだが、
さてどんなクラス設計が正しいんだろうか?
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1240923307
ttp://oshiete.goo.ne.jp/qa/1425727.html
ttp://www.aerith.net/design/class-j.html#class_design
このあたりを含めて、ほとんど言及されていないのが、セキュリティ。
んで、
俺のとりあえずの結論は、
クラス設計とは、
ライブラリと再利用を区別しつつ、Need To Knowの方針で作っていく隠蔽作業
だと思うんだが、どう思う?
0116デフォルトの名無しさん
2011/06/03(金) 21:46:06.890117デフォルトの名無しさん
2011/06/03(金) 21:55:13.41空要素がすべてxhtml仕様(<br />等)に変換されてしまいます。
これをhtml4.01仕様のまま出力できないでしょうか
設定できるのかなと思いjavadocも読んだのですが
(英語力不足かもしれませんが)それらしき所が見当たらないです
0118デフォルトの名無しさん
2011/06/04(土) 00:09:51.17お前にはチンチンがお似合いw
ありがとうございます。
試してみたいと思います。
0120デフォルトの名無しさん
2011/06/04(土) 01:34:34.86>>116
うんまあ、プログラマーにはメモリを意識して書いている人が少ないってのは、
このレスで大いに感じられるね。
レベルが低いのに、わざわざ、そんなことしなくても。。。
0121デフォルトの名無しさん
2011/06/04(土) 02:00:50.000122デフォルトの名無しさん
2011/06/04(土) 02:47:18.46お前にはチンチンがお似合いw
0123デフォルトの名無しさん
2011/06/04(土) 08:36:28.91PDF帳票ウェブアプリ作成中、ほぼできている。
itextライブラリ使う。で、最近知ったのだけど、最新の5系はAGPLライセンス、一個前の2系ははLGPLライセンスだとか。
…やっぱり2系使うべきかな。
一応5系版と2系版と両方作ってる。
0124デフォルトの名無しさん
2011/06/04(土) 13:21:08.100125デフォルトの名無しさん
2011/06/04(土) 13:33:06.79自分の作った実行ファイルをjavaコマンドで実行するときは、カレントディレクトリを
クラスパスに含めれば実行できます。
しかし、本やネットをみていると、必要な.jarファイルがあるときは、その.jarファイルを
クラスパスに含めています。このファイルがあるディレクトリをクラスパスに含めるのでは駄目なんでしょうか?
パスの場合、binディレクトリを指定するとその中のコマンドが全部使えるみたいなんですが・・
0126デフォルトの名無しさん
2011/06/04(土) 13:51:51.69まあ、そうなのかもしれんけど、itext AGPLでぐぐってみるとそれが問題5避けてる人もいるようなんだよな。
うちの会社にそんなもんに詳しい奴がいるわけもなく、
(上司に相談しようとしたら、ライセンス?何か問題っと言われた、ガクッ。)
今日一日考えこんでるが、不安要素を排除するなら2の方かなってのに傾きつつある…。
0127デフォルトの名無しさん
2011/06/04(土) 13:53:16.59問題5避けてる→問題で5避けてる
連投すまぬ
> しかし、本やネットをみていると、必要な.jarファイルがあるときは、その.jarファイルを
> クラスパスに含めています。このファイルがあるディレクトリをクラスパスに含めるのでは駄目なんでしょうか?
>
だめ。
クラスパスはクラスファイルを探しに行く場所を教えるもの。
jarの中にあるならjarを指定しないと。
0129デフォルトの名無しさん
2011/06/04(土) 15:11:22.51Java6ではクラスパスにワイルドカードが使えるからそれを使っても良い
ただし注意点があるから詳細はググって調べて
0130デフォルトの名無しさん
2011/06/04(土) 17:30:07.19各ファイルが関係している(インクルード・関数コールされているetc...)もの同士
を"線"などで視覚的に確認できるツールを探しています。
0131デフォルトの名無しさん
2011/06/04(土) 20:45:50.400132デフォルトの名無しさん
2011/06/04(土) 22:37:19.96意味は解るけど、何でそんなことしたいの?
目的によってはツール使うより手っ取り早い方法があるかもよ。>>33みたいな方法とか。
0134130
2011/06/05(日) 00:00:27.85返信ありがとうございます。
紹介されたものについて、調べてみます。
このようなツールを探している理由ですが、
とある関数でバグが発見された場合に、
どのファイルに影響するかを即座に視認したいためです。
※検索で追っていけばいいのですが、量が膨大になると解りにくいので今回のようなツールを探していました。
0135デフォルトの名無しさん
2011/06/05(日) 00:09:38.76mainメゾットとかコンストラクタでミスってると影響が大規模に成ると思うよ。
0136デフォルトの名無しさん
2011/06/05(日) 00:18:33.760137デフォルトの名無しさん
2011/06/05(日) 00:34:15.84何かを継承してオーバーライドしている場合は、はっきり言って完全な依存性を見つけることは無理。
コンストラクタを一時的にprivateにしてエラーが起きた場所を探すのが関の山。
何もオーバーライドしてないのであれば、>>33の方法が手っ取り早い。
0139デフォルトの名無しさん
2011/06/05(日) 03:07:31.41使えばできるかもと思っていますがweb上にいいサンプルがないようです。
どなたか簡単なサンプルを教えていただけないでしょうか?
0140デフォルトの名無しさん
2011/06/05(日) 03:17:44.98ようしらんけど、genericsなクラスなら<>引数省くとObject型なるんだから
それ使えばいいんじゃねぇの?
0141デフォルトの名無しさん
2011/06/05(日) 03:48:15.69┗Show ┛
MainクラスからCount、Showクラスのメソッドを呼び出し、
Count、ShowクラスからDataクラスの変数を扱う場合、
アクセスレベルなどはどうするのがいいでしょうか。
思いつくやり方だと、MainでCount、Show、Dataをnewし、
Count、Showメソッドを呼び出す時にDataを引数で渡す方法ですが、
あまりスマートな感じがしません。
Mainからは直接Dataの変数を扱わないので、
Count、ShowでDataをnewできればいいのですが、
2箇所でnewすると別々のデータになり、データを共有できません。
0142デフォルトの名無しさん
2011/06/05(日) 04:05:20.87・シフト演算を使う
・final使う
・コレクションクラスの動的変化を抑える
・ヒープ領域へのアクセスを減らす
・オブジェクトの生成は極力ループ内
の他になんかありますかね
0143デフォルトの名無しさん
2011/06/05(日) 04:14:31.410144デフォルトの名無しさん
2011/06/05(日) 04:16:59.13オブジェクト作らないってその縛りきつすぎるんですが
0145デフォルトの名無しさん
2011/06/05(日) 04:53:54.380146デフォルトの名無しさん
2011/06/05(日) 05:17:58.010147デフォルトの名無しさん
2011/06/05(日) 05:54:30.18書いたとおりの事を実現しようとすると、Mainクラスの中にCountとShowクラスを書く。
そしてMainクラスのフィールドにDataのオブジェクトを持たせる。
まぁ、CountとShowをControl,Viewの形で切り出せないしロクな作りじゃ無いけどな。
>>142
最初から使用するメモリーを全て確保し、スタックフレームを構成する。
特に線形代数は飛躍的に速度が伸びる。
0148デフォルトの名無しさん
2011/06/05(日) 08:49:17.49DIとか使ってDataをSingletonにしてCountとShowで呼び出す
CountをObservable、ShowをObserverにしてDataの変更を通知する仕組みにする
とかそんな感じかな?小さいプログラムなら大袈裟だから、適当でいいと思うけど
0149デフォルトの名無しさん
2011/06/05(日) 10:06:22.67あと、static使うとか?実際、最近のマシン早いからよっぽど酷い実装しない限りはあんまり気にはならないけどさ。
何万件単位のバッチとかなら別だが。だから早くしようとする気が起こらずグダグダなものになっていく…
0150デフォルトの名無しさん
2011/06/05(日) 10:10:19.31例外処理
0151デフォルトの名無しさん
2011/06/05(日) 12:05:24.80そういう小手先の最適化は、いらない
書きやすい読みやすい最適化ならいいけど コードが長くなるならやんないほうがいい
それよりも、ボトルネックをちゃんと見極めて、
そこを調整することのほうが大事
0153デフォルトの名無しさん
2011/06/05(日) 12:27:43.85メモリ管理のほうは自分で確保して使ったほうが面倒だけどやっぱりパフォーマンスいいのか。
標準実装されてるのは汎用的なメモリ管理手法だろうから当然の結果だろうけど。
0154デフォルトの名無しさん
2011/06/05(日) 12:48:56.94たとえば、ネットワークがからむ部分で、最適化だなんだっていっても、
結局、出て行くネットワークストリームは、IP層ではバラバラにパケット
は分割されて、必死に最適化する人間にとっては途方もない無駄な処理が
ルーターでなされる(笑)
そういうシーンでギリギリの最適化など片腹痛い
0155デフォルトの名無しさん
2011/06/05(日) 12:51:45.41「コードが長くなるなら」って前提抜きにしてるのはなんで?
0156デフォルトの名無しさん
2011/06/05(日) 12:55:56.68クラス、メソッドは有限の希少な資源である。あればあるだけ管理コストが増す。
無駄なアクセサメソッドだらけのクラスはどんどん削除せよ!
0157デフォルトの名無しさん
2011/06/05(日) 12:59:49.400158デフォルトの名無しさん
2011/06/05(日) 13:02:57.28プロジェクトでは基本ある程度のパフォーマンス目標たてて、
それなりの結果が出たらあんまりそれ以上のパフォーマンス追求などしないんじゃないか?
よっぽど酷いコード(昔引き継いだStringでnewしまくりコードとか)でも最近の性能だとそんなにネックにならないほどだし。
(さすがにあれだけは直したいが…)
大量処理バッチでもない限りはそこまでは気を使わないことが多いんじゃ?。
後のメンテしやすさの方が何百倍も大切だって。
もっとも、俺のコードが他人がメンテしやすいとはいまだにあんまりあまり思わんけど。
0159デフォルトの名無しさん
2011/06/05(日) 13:04:20.06C/C++ならトリッキーで見にくい代わりに速いコードも書けるけど
0160デフォルトの名無しさん
2011/06/05(日) 13:08:55.99int getFoo() {
return foo;
}
みたいなのもメソッド呼び出しコストとかであんまりよくないんだろうけど、
さすがに Java の API がみんなちゃんとアクセサメソッドを
通じて値にアクセスするのに、身内のコードだけ直アクセスは格好悪いw
だから、これくらいはいいだろう
0161デフォルトの名無しさん
2011/06/05(日) 14:00:59.36それだけだと大抵はJITでインライン化されるから最適化する価値ほとんどないぞ。
0162デフォルトの名無しさん
2011/06/05(日) 14:25:22.97毎回jitしてるのって馬鹿みたい。
0163デフォルトの名無しさん
2011/06/05(日) 14:58:05.83例えば>>160のでgetFooがオーバーライドされる可能性消せないとインライン展開されなかったりするし。
0164デフォルトの名無しさん
2011/06/05(日) 15:10:26.53初心者なんで小手先の最適化(笑)しかできないんで勉強になりました。
0165デフォルトの名無しさん
2011/06/05(日) 15:11:45.58パフォーマンスに関係は無いと思って
if 文で書けるところを極力 switch 文で書いている。
可読性が極端に上がるような。
てか、昔
if( a && b && c && d && e && d && f && g || h ) { ...
} else { ..... }
とか、
if( ){ if () { if () { if () { if () { if () {}
見たいなアフォなコードを書きまくられて、
デバッグも分けワカメ状態。
0166デフォルトの名無しさん
2011/06/05(日) 15:29:49.530167デフォルトの名無しさん
2011/06/05(日) 15:41:07.03標準ライブラリだけでやるならByteArrayOutputStreamあたりで代用するしか。
動的に確保された配列だったらnew byte[1024] とか。
0168166
2011/06/05(日) 15:54:04.10可変長の配列の確保は無いとは・・・
どうにかByteArrayOutputStreamで対応できないか、プログラムを書き直して見ます。
レスありがとうございました。
0169デフォルトの名無しさん
2011/06/05(日) 16:00:33.71http://adgjm.net/its/java/pa.htm
これ全部実践してみれば?周りからは死ねって言われると思うけど。
ところで
> オブジェクトの生成は極力ループ内
って都市伝説としても聞いたこと無いんだけど、どういう理屈で速くなるの?
0170デフォルトの名無しさん
2011/06/05(日) 16:02:28.00List<>とかと組み合わせてて使ったらいいやん
0171デフォルトの名無しさん
2011/06/05(日) 16:12:56.60ループ外、の間違いなんじゃね?
0172166
2011/06/05(日) 16:31:21.71ラップしても試してみたのですが、上手くいかず他に方法はないかと思い、ここで質問してみたんです。
やったことに関しても書くべきでした、すいません。
0173デフォルトの名無しさん
2011/06/05(日) 17:42:19.57>>144
0174デフォルトの名無しさん
2011/06/05(日) 18:12:17.58例
class A{
int a,b,c;
}
class B{
int a,b,c;
void getvalue(int a,int b,int c){
this.a = a;
this.b = b;
this.c = c;
}
}
0175174
2011/06/05(日) 18:19:46.06〜
A、Bを宣言、Aの中身をいじる。
for(int i=0;i<MAX;i++){b[i].getvalue(a[i].a,a[i].b,a[i].c);}
for(int i=0;i<MAX;i++){(クラスA内のaの変数を元にソート)}
〜
0176174
2011/06/05(日) 18:23:12.76ソートによってもとのデータを変更されるのを防ぎたいのですが、調べたところオブジェクトは参照のアドレス渡ししかできないようなことが書いてあったので手詰まり状態です。
オブジェクトの値渡しをするにはどうすればいいのでしょうか?
忍法帖うぜぇ
0177デフォルトの名無しさん
2011/06/05(日) 18:24:48.860178デフォルトの名無しさん
2011/06/05(日) 18:30:04.05そのコードだったら、値が渡されると思う。
0179デフォルトの名無しさん
2011/06/05(日) 18:53:36.84というか、プリミティブはオブジェクトではない
0180デフォルトの名無しさん
2011/06/05(日) 19:08:35.43> Bに渡されたのはAのアドレス値で
a, b, c の何れかがアドレス値でなければNO。
> BをソートするとAの中身も変わってしまいますよね?
A[] a; B[] b; a == b が成立しないなら変わらない。
0181デフォルトの名無しさん
2011/06/05(日) 19:37:10.36さんくす
0182デフォルトの名無しさん
2011/06/05(日) 20:42:40.470183デフォルトの名無しさん
2011/06/05(日) 20:45:19.330184デフォルトの名無しさん
2011/06/05(日) 20:48:24.45Delphiやら他の言語でも参照と言えば大概その系統のものを言う。
制限付きのポインターを参照と言ってるのはJava系統の言語ぐらい。
0186デフォルトの名無しさん
2011/06/06(月) 12:26:56.54進化計算とやらで遺伝アルゴリズム書いたんだがもっとうまくできそうなんでアドバイスをもらいたい。
0187デフォルトの名無しさん
2011/06/06(月) 14:31:08.08オブジェクト指向に反してないか?
無駄なクラスを作らないって意味なら良いんだけど
0188デフォルトの名無しさん
2011/06/06(月) 17:59:30.56もうないのかな・・・
知ってる人いたら、教えてくださいm(_ _)m
0189デフォルトの名無しさん
2011/06/06(月) 18:26:12.98そんなもんCみたいに書けばいいよ
遺伝アルゴリズムクラス作って入出力のインターフェイスはしっかりカプセル化
でもそのクラスの中では割り切ってオブジェクト指向とか無視でおk
数値計算なんかで本質的なアルゴリズムの部分にオブジェクト指向持ち込むと
設計も実装も面倒だし後で変更しにくいし最適化もしにくいし
0190デフォルトの名無しさん
2011/06/06(月) 19:42:32.00ほとんど継承されることのないクラスが出来上がるw
0191 忍法帖【Lv=3,xxxP】
2011/06/06(月) 20:18:22.05一つのTextViewに大きい文字列を入れ改行をし、
小さい文字列を入れたいのですがどういう考えをすればいいでしょうか。
Stringの文字列自体にフォントサイズの情報を入れることってできましたっけ?
0192デフォルトの名無しさん
2011/06/06(月) 21:34:09.56sum += i;
この文の「+=」の演算子の意味って何でしたっけ?
0193デフォルトの名無しさん
2011/06/06(月) 21:47:29.680194デフォルトの名無しさん
2011/06/06(月) 21:50:28.16サンクスコ
0195デフォルトの名無しさん
2011/06/07(火) 02:28:31.25個人的には・・・
どーせ最適化されるんだから、
sum = sum + i;
って書いておいたほうが分かりやすいような。
sum ++;
ならまだしも、
0196デフォルトの名無しさん
2011/06/07(火) 08:53:27.45int a = 10;
int b;
b = a / 3 * 3;
これをバカな外人が「clean up」と称して b = a; と書き換えてしまうのです。
b が 10 ではなく 9 になる、ってことを外人に教えたいんですけど
javaの仕様として公式にアナウンスしているページを教えてください。
外人に「read this. http://〜〜〜」って言ってやれば説明する手間が省けますもん。
0197デフォルトの名無しさん
2011/06/07(火) 09:03:43.07http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.17.3
> The remainder operation for operands that are integers
> after binary numeric promotion (§5.6.2) produces
> a result value such that (a/b)*b+(a%b) is equal to a.
この辺かな
0198デフォルトの名無しさん
2011/06/07(火) 09:13:05.16かんなおと
0199デフォルトの名無しさん
2011/06/07(火) 09:39:14.99public class NewtonMethod {
public static void main(String args[]){
double x = 0.785;
while (true){
double x2 = x * 2;
double xN = x - (Math.cos(x2) - x2 + 1)/(- 2 * Math.sin(x2) - 2);
if (xN >= x){
break;
}
x = xN;
}
System.out.println(x);
}
}
これを複数のクラスにするにはどうしたらいいんですか?
0200デフォルトの名無しさん
2011/06/07(火) 10:21:18.13そもそも、Oracle問わずJREと言われる範囲はjava.*javax.*のパッケージで、org.*はオプションで入ってるからJREの仕様ではないということでしょうか。
0201デフォルトの名無しさん
2011/06/07(火) 14:32:07.200202デフォルトの名無しさん
2011/06/07(火) 16:47:23.83複数のクラスに分ける
0203デフォルトの名無しさん
2011/06/07(火) 17:55:38.30listView自体をタップした時はsetOnItemClickListenerに処理を書いて、
onItemClickの引数のparent,view,positionでgetItemAtPositionを使えば押された部分のリストを処理できますが、
ボタンなどを押された時の処理でlistView.getItemAtPosition(x)として、xが1だろうが2だろうがlistViewの0番目を処理してしまいます。
0204デフォルトの名無しさん
2011/06/07(火) 17:57:12.820205デフォルトの名無しさん
2011/06/07(火) 20:07:08.82ってなんの為にあるの?
0206デフォルトの名無しさん
2011/06/07(火) 20:22:03.66必ず一件以上のレコードが格納されている筈のResultSetオブジェクトがあるのですが、
そのオブジェクトのgetRowsメソッドを呼ぶと結果として0が返ってきます。
どうしてこうなるのでしょうか?
0207デフォルトの名無しさん
2011/06/07(火) 21:19:41.00RsultSetに、1件以上格納されていることをどうやって確認したのでしょう?
0208デフォルトの名無しさん
2011/06/07(火) 21:25:55.54getRowsなんてメソッドないぞ
getRowメソッドのことだとして
getRowは現在行だからnextして現在のポジションが取れるだけ
行数がほしいならlastしてからgetRowすれば取れるけど
ふつーは件数取得するクエリは別で流すかな
0209デフォルトの名無しさん
2011/06/07(火) 23:37:07.77商用目的で Servlet に組み込んだ場合、ライセンス違反となりますか?
0210デフォルトの名無しさん
2011/06/08(水) 00:27:11.89> 3. Permitted Use.
に
> Commercial Use.
> You may use Software internally for your own commercial purposes.
と書かれており、商用利用も可能なように思いましたが・・・どうでしょうか?
0211デフォルトの名無しさん
2011/06/08(水) 02:37:39.85知らんかった…てか前方互換気にしてか、他所のプロダクトでも
そんなの見たことないな…
0212デフォルトの名無しさん
2011/06/08(水) 09:48:26.720213デフォルトの名無しさん
2011/06/08(水) 10:03:08.710214デフォルトの名無しさん
2011/06/08(水) 12:00:38.67これってメモリ系Streamじゃないの?
ファイルをクラスローダーが知るクラスパスから探して開くもの
0216デフォルトの名無しさん
2011/06/08(水) 13:45:27.430217デフォルトの名無しさん
2011/06/08(水) 14:01:34.57Eclipse統合M31【Java/C++/Ruby/Python/Perl】
http://hibari.2ch.net/test/read.cgi/tech/1238911707/
【日本語不自由】Eclipse Pleiades プラグイン
http://hibari.2ch.net/test/read.cgi/tech/1292073293/
emacsでeclipseと同等の開発環境は作れるのか?
0218デフォルトの名無しさん
2011/06/08(水) 18:07:55.44直してしまうよね(´・ω・`)
0219デフォルトの名無しさん
2011/06/08(水) 18:18:58.510220デフォルトの名無しさん
2011/06/08(水) 18:47:50.15int a=1/0;
0221デフォルトの名無しさん
2011/06/08(水) 19:37:40.28やっちゃうなぁ。。。
javaとjavaScriptは別だ!!!ってのも在るけど、自分は本好き故の職業病(職業本屋じゃ無いのにw)
0222デフォルトの名無しさん
2011/06/08(水) 19:49:51.80業務妨害罪で逮捕
0223デフォルトの名無しさん
2011/06/08(水) 20:01:50.83気持ちわかる
おいらハード本業だから verilog や VHDL の本が C とかの棚に置かれてると
置きなおしたくなる
0224デフォルトの名無しさん
2011/06/08(水) 20:15:56.53存在しない場合、メールアドレスの書式として正しいか確認するための正規表現を教えてくださいですm(__)m。
自前で書いてみたのですが、次から次に漏れるメールアドレスが出てきて、涙目状態です。
0225デフォルトの名無しさん
2011/06/08(水) 20:20:42.720226デフォルトの名無しさん
2011/06/08(水) 20:27:10.04おお!凄い!
ありがとうございます!
0227デフォルトの名無しさん
2011/06/08(水) 20:52:41.41むしろ、しっかり業務果たせと言いたい
0228デフォルトの名無しさん
2011/06/08(水) 22:25:31.93abstract class Fruit{...}
class Apple extends Fruit{...}
class Orange extends Fruit{...}
class FruitPair{
Fruit fruitA;
Fruit fruitB;
}
で、このFruitPairと言うコンテナクラスを次のようなXMLに
marshall、unmarshallしたいのです。
<fruitPair>
<fruitA><apple>...</apple></fruitA>
<fruitB><orange>...</orange></fruitB>
</fruitPair>
次のように子要素を<fruitA>, <fruitB>でラップしないのであれば
@XmlElementRefを使えば出来るのですが、簡単にラップするには
どうすれば良いのでしょうか。
<fruitPair>
<apple>...</apple>
<orange>...</orange>
</fruitPair>
あとFruitについてはinterfaceだと上手く@XmlElementRefが動かない
のでabstract classにしているのですが、これもinterfaceにする方法は
無いでしょうか?
0229デフォルトの名無しさん
2011/06/08(水) 23:41:50.01ExecutorServiceについてですが、一旦shutdown()したインスタンスは再利用不可なのでしょうか?
0230デフォルトの名無しさん
2011/06/08(水) 23:58:52.12順序正しくシャットダウンを開始します。以前に送信されたタスクが実行されますが、新規タスクは受け入れられません。シャットダウン後に呼び出しを実行しても、効果はありません。
0231デフォルトの名無しさん
2011/06/09(木) 00:06:40.96その後、なんらかの方法で再度タスク実行可能状態に復帰できるかどうかが知りたいのです。
当方が調べた限り、方法はなさそうでした。
shutdown要求から、実際に処理が完了するまで間があるので、再利用は考慮されていないのでしょうかね?
0232デフォルトの名無しさん
2011/06/09(木) 02:43:55.66そのタスクが走っている間に、一度shutdownしたExecutorServiceをshutdownしていない状態にできないかってこと?
それをやる意味がよくわからないけど。
0233デフォルトの名無しさん
2011/06/09(木) 03:11:58.20コードは?
0234デフォルトの名無しさん
2011/06/09(木) 03:14:36.41commons の validatorのソース見てみるとか(ちゃんとチェックしてんのかは知らん)、
他にもサンプルゴロゴロしてるだろ…
0235デフォルトの名無しさん
2011/06/09(木) 03:15:38.78君の考えてるスナップショットってのがどういう機能かわからんが
ローカルで履歴管理はしてる。
0236デフォルトの名無しさん
2011/06/09(木) 03:33:29.06OracleJDKかOpenJDKのどっちか入れたいんだけど
何か違いに関する注意点とかあったらおせーて
0237デフォルトの名無しさん
2011/06/09(木) 04:42:55.85オラクル公式対応してるのか。とはいえweblogicもoracledbも対応してなさ層だからマク並に意味無さそうだけど。
0238デフォルトの名無しさん
2011/06/09(木) 06:46:45.05wwwww
スレ違い本ネタだが、
昔Windowsの棚にTRONの本が何冊か並んでる事があってな、
その中に一冊だけパーセプトロンの理論の本がまじっとったんじゃ。
どうしたものかとwwww
0239デフォルトの名無しさん
2011/06/09(木) 08:35:41.08わかりにくくてすみません
やりたいのは、ExecutorServiceに複数タスクをexecute後、awaitterminationで全タスク
完了まで待機
→全タスク完了後、次の複数タスクをexecute、全完了待機を繰り返すことです。
この場合、awaitterminationのため、ExecutorServiceをshutdownする必要があるのですが、
ExecutorServiceは使いまわししたいなぁということです。
0240デフォルトの名無しさん
2011/06/09(木) 10:17:03.13いやぜんぜん違う。
xmlの使用されるパーサーが違ったりとか、バンドルされてるクラスが違う。
以前xmlのドキュメントをシリアライズで送ったら、違うOSでそのクラスがないからと行ってエラーになった。
0241デフォルトの名無しさん
2011/06/09(木) 10:23:27.97FreeBSDにOracleJDKってあったっけか?
0242デフォルトの名無しさん
2011/06/09(木) 10:43:52.99ありがとう。
いついつの何時の状態に戻す、とかの機能ってあるのかなぁ、と。
0243デフォルトの名無しさん
2011/06/09(木) 11:42:18.59Eclipse自体の?
それは無いんじゃないかなあ。
Eclipseディレクトリ全部をバージョン管理に突っ込むとか。
0244デフォルトの名無しさん
2011/06/09(木) 11:50:18.78Oracleのサポートはビジネス版じゃないと無いぞ。
>>240
そら非標準機能だからじゃないの?
>>236
がしかし、標準機能でも実際に違いはあるのでOracleJDK使っといた方が無難。
0245デフォルトの名無しさん
2011/06/09(木) 12:21:38.15完了待ちにshutdown&awaitTerminationを使わなくてもよいのでは?
繰り返して待つだけなら、CyclicBarrierを使うというのもいいと思う。
0246デフォルトの名無しさん
2011/06/09(木) 12:31:38.17結果的にコードの中に-1がたくさん出てきてデバッグができなくなってきてます。
要素の数に関しては、要素の数-1を基本としてますか?要素の数を基本としてますか?
たとえば、
要素の数を数える場合は普通
int count = 0 ; //ゼロからはじめる
で数えるときは
count ++ ; //カウント
とすると思うのですが、それを配列にそのまま突っ込むとNG
h[count] = 0 ; // NG
h[count-1] = 0 ; //OK
for の場合も
for(int i=1 ; i<count-1 ; i++){} //NG
for(int i=0 ; i<count ; i++){} //OK
配列を0からでなく、1から始めるとするなら、
for(int i=0 ; i<count ; i++){} //NG
for(int i=1 ; i<count+1 ; i++){} //OK
・・・で
数を数えてそれを利用し表示するケースが多々の場合は配列は1からはじめ
標準的なコード(マイナスが多く出ないとか、あまり考えなくても良い)の場合は配列は0から始めると。
結局どちらがよいのかとか、指針とか方針とか、なにかあったら教えてください。
0247デフォルトの名無しさん
2011/06/09(木) 13:25:48.21非標準機能の範囲の定義は?
java.*だけとか?
0248236
2011/06/09(木) 20:55:17.43レスありがとうございます
参考になりました
>>241
FreeBSD Java? Project: How To Install
http://www.freebsd.org/java/install.html
これに書いてあったもので
0249デフォルトの名無しさん
2011/06/09(木) 22:40:03.85何がいいたいのか分からんが、配列のインデックスが「0」開始は、ほとんどの言語で常識だぞ…
0250デフォルトの名無しさん
2011/06/09(木) 22:45:13.65たとえば、10個の配列を使いたい場合、0の配列をすてて
int h[] = new int[11]
としたほうが、アルゴリズムを組むときに分かりやすい場面が多いんじゃないかということ
0251デフォルトの名無しさん
2011/06/09(木) 22:52:11.33オナニーするときはそれでいいけど、
セックスの時は止めた方がいい。
混乱するだけだw
0252デフォルトの名無しさん
2011/06/09(木) 23:07:41.02上手い例えだなぁ。
>>250
日本だとビルの地上階は1階だけれども欧州だと0階だったりする、
その程度の違い。7階建てのビルでも欧州だと最上階は6階とか。
日本人にとっては解りにくいなぁと思っても、そういう番号付けに
慣れた現地の人にとっては全く問題は無い。むしろ勝手に日本式の
番号付けを持ち込まれるとかえって混乱する。
というわけで、郷に入れば郷に従え。世の中の大半のJavaプログラマ
は0番要素開始に慣れていると思うから、それに従った方が良いよ。
0253デフォルトの名無しさん
2011/06/09(木) 23:09:21.910254デフォルトの名無しさん
2011/06/09(木) 23:10:14.04FortranとかCOBOLみたいに添字が1から始まる言語もけっこうあるぞ
実際書籍に載ってる擬似コードなんてほとんど添字は1からだし
数学の数式で使う添字だってほとんどがそう
0255デフォルトの名無しさん
2011/06/09(木) 23:31:15.86遅レスすみません。
CyclicBarrierというものがあるのですね。検討してみます。
0256250
2011/06/10(金) 00:54:04.17俺も上手いとおもったw
>>252
日本式かどうかは分からんけど、
0からはじめても、1からはじめても、プログラム中に+1や-1が多々出てくることには変わりない。
CのStringみたいに、10文字だけど int h[11]とせねばならないときもあるし、
0にプロパティや情報を含めたいので敢えて0をあける場合もある。
一番の問題は、配列だけを使っているときではなく、
添字に対する演算やアルゴリズムが絡んでくるとき。
この場合すべての添字の演算に+1か-1が絡んでくる
1からはじめるとそれが激減する。
その方がいい場面もあるんじゃないかと。
みんな無理して0から使っているのかなぁ。
0257250
2011/06/10(金) 01:04:40.18数学なんかで「実数」的に使う場合は、1からはじめないと不具合が多々でるよねぇ、
と思っているんだけど。どうなんだろ。>>253
>>253
Prologは、538kmくらい遠くに離れてると思う。
0258デフォルトの名無しさん
2011/06/10(金) 01:14:05.710259デフォルトの名無しさん
2011/06/10(金) 01:25:19.34Native側でそこに文字列設定するのってどうやるんですか?
(Native関数のポインタ渡しみたいなイメージ)
#Native側でのSetObjectArrayElementによる文字列配列渡しなら見つけたんですが。。。
0260デフォルトの名無しさん
2011/06/10(金) 02:28:25.11配列渡し以外の何を期待してるの?
0261デフォルトの名無しさん
2011/06/10(金) 02:42:51.97真面目な話すると、配列の添字ってのは、
配列先頭要素からの距離を表してる。
だから0から始まる添字は距離や位置に関する
アルゴリズムと相性がいい。
あと、数字はマイナスは無視できても、
0の状態が必要なケースが多い。
実数なんかは0〜1によく正規化される。
その関係でも、添字は0から始まる方が手間がかからなくて良い。
例えば、時間は、0時を24時で読み替える事はまず無い。
なので1時間毎の予定を配列に詰め込む場合はschedule[時]=予定で済む。
あと>>246だが
h[count++]じゃだめなのか?
0262デフォルトの名無しさん
2011/06/10(金) 07:16:11.84色をつけるため文字列置換(<font>タグをつける)を行っています。
内容は
大文字、小文字を区別しない
hello, Hello, heLlo全て置換
姓名の間に空白があっても置換
山田太郎, 山田 太郎の両方置換
大文字、小文字区別なしは
Pattern.compile(regex, Pattern.CASE_INSENSITIVE).matcher(text).replaceAll(変換文字列);
でできました。
が、空白が含まれる場合ができません。
どのように処理すればよいでしょうか?
0263デフォルトの名無しさん
2011/06/10(金) 10:36:58.610264250
2011/06/10(金) 13:09:48.71>配列先頭要素からの距離を表してる。
javaはそうかもしれないけど、
添字 0 がその配列の格納しているアドレスをさしていることもあるよね。
アルゴリズムというより、プログラム言語依存なんじゃないかな。
あと、
時計と距離は、まさに柵杭問題
特に時計は、柵杭問題の、円状になっている柵杭だから、
杭と柵の数が同じになっている。
この場合は多くの場合、+1だとか-1だとかを考慮する必要がない。
count % 12 とか count % 24とかでスマートに対応できる。
>h[count++]じゃだめなのか?
ループ無いで複数h配列を参照する場合、添字の記載が異なるのはミスを誘発するので絶対NGだと思う。
0265250
2011/06/10(金) 13:18:32.470月って無いもんねぇ。
細かい話をすると、
それをいつ修正するんだ?
と言う問題に常に悩まされる。
内部処理ではずーーーと0のままで表示のタイミングで+1とするのか、
final static Shinnendo = 4: //新年度
としているのでアルゴリズムの中では+1が前提でアルゴリズムを組むのか。。。
たとえば、8月は国民の休日がないってことで
boolean isKyujitsu( int month){
if ( month == 8 ){ return false }
return true;
}
としなきゃならないところ、配列を0から始めるとするなら
boolean isKyujitsu( int month){
if ( month == 7 ){ return false }
return true;
}
これじゃ、あとでプログラムを読んだとき、
「あれ?7月って休日なかったっけ?」
みたいなシンプルな問題が発生する。
0266デフォルトの名無しさん
2011/06/10(金) 13:26:35.89月 == 8月的にすればよいのでは
0267250
2011/06/10(金) 13:40:34.35Calendar系なんかでもよくあるんだが、
配列は0で始めて、すべて月数は、−1で処理すりゃいいじゃないか、と思う人も多いと思うが、
場合によっては、「すべて0から始めるー1」で処理できないこともある。
例えばこんな関数はどうだろうか?
int nextMonth( int month, int input ) { //inputはユーザ入力
return ( month+input ) % 12 ;
}
この際、input と言う変数には、−1された数字が入っているのか、
そのままの数字が入っているのか不明瞭。
アルゴリズムが複雑になれば、このようなケースが頻発する。
すべての変数、式に対して+1されるべきなのか、−1されるべきなのか、そのままで良いのか
全部考えにゃならん。
だったら、1から始めた方が・・・となるのもよくわかる。
0268250
2011/06/10(金) 13:53:16.94そりゃ、まずいと思うよ。
コードの中で月が0〜11なら、列挙型で扱うとしても
0〜11としておかないと、
どの変数のどの位置が0〜11で、どこが1〜12なのかが混乱してバグの温床になる。
0269デフォルトの名無しさん
2011/06/10(金) 14:25:51.65Calendar.JANUARYとちゃんと定義されとるがな
0270デフォルトの名無しさん
2011/06/10(金) 14:27:16.07ドキュメント書け読め、で済む話のような。
0271デフォルトの名無しさん
2011/06/10(金) 14:42:05.640272デフォルトの名無しさん
2011/06/10(金) 15:15:49.10Collectionを使うよね、普通。
0273デフォルトの名無しさん
2011/06/10(金) 15:21:25.620274250
2011/06/10(金) 15:24:55.74月で、
0〜11の場合、潜在的なアルゴリズムバグの可能性が大きくなる
ので、
1〜12の方があんぜんなんじゃない?と言う話。
ドキュメントを書くのはどっちでも良くて、書いても書かなくても、結局どっちが良い?って話デス
>>272
パフォーマンスが悪すぎるのと、
たとえば、13月みたいなバグが露見せず潜在的なバグとなる方が致命的だと思うけど。
0275デフォルトの名無しさん
2011/06/10(金) 15:40:18.48表示するときに変換
0276デフォルトの名無しさん
2011/06/10(金) 15:42:11.290277デフォルトの名無しさん
2011/06/10(金) 15:49:05.580278デフォルトの名無しさん
2011/06/10(金) 15:52:39.130279デフォルトの名無しさん
2011/06/10(金) 15:59:57.520280デフォルトの名無しさん
2011/06/10(金) 16:10:29.74javadoc書いとけ
0281デフォルトの名無しさん
2011/06/10(金) 17:11:08.17>>267に書いてあるような問題点なら、ドキュメント書け読めで十分だな。
CalendarならaddやrollがあるからnextMonthみたいのを
自分で作ってバグだすのって単なる間抜けとしか思えないし。
0282デフォルトの名無しさん
2011/06/10(金) 17:12:25.170283デフォルトの名無しさん
2011/06/10(金) 17:24:42.760284デフォルトの名無しさん
2011/06/10(金) 17:47:44.030-12までの数字に、英語読みの定数割り当てれば良いだろ
0285デフォルトの名無しさん
2011/06/10(金) 17:51:35.300-11だった
0286デフォルトの名無しさん
2011/06/10(金) 17:54:57.170287デフォルトの名無しさん
2011/06/10(金) 19:57:44.79というか0開始で問題になるのって具体的にどんな時なんだよ
0288デフォルトの名無しさん
2011/06/10(金) 20:05:49.32だから>>265なんだろ
0289デフォルトの名無しさん
2011/06/10(金) 20:14:48.11連番ラベルは0から。オフセットがわかりやすいから
と習った。
0290デフォルトの名無しさん
2011/06/10(金) 20:20:55.65if(calendar.get(MONTH) == AUGUST) return false;
でOK。
0291250
2011/06/10(金) 22:19:32.34ポーカーの場合、5枚目って名前を付けるのかい?
0292デフォルトの名無しさん
2011/06/10(金) 22:29:08.950293デフォルトの名無しさん
2011/06/10(金) 22:34:22.090294デフォルトの名無しさん
2011/06/10(金) 23:07:25.910295デフォルトの名無しさん
2011/06/10(金) 23:37:44.200296250
2011/06/10(金) 23:48:47.28君が最初からずれてるよ。
別段Calendarの話をしているわけじゃない。
Calendarは、柵杭問題において、ほとんど問題にならない「はず」の事例だけど、
それでも問題がおこるよね???って話だよ。
べつに、ポーカーだって麻雀だって良い。
麻雀のドラは、柵杭問題がまったく問題にはならないが、
それ以外のほとんどは、柵より杭が1つ多いって話だ。
Calendarで鬼の頭をとったと思わないように。
0297デフォルトの名無しさん
2011/06/11(土) 00:10:24.050298デフォルトの名無しさん
2011/06/11(土) 00:10:55.680299デフォルトの名無しさん
2011/06/11(土) 00:30:33.43ゼロ
というかとっくに流産して終わっている
0300デフォルトの名無しさん
2011/06/11(土) 00:33:42.03拡張for文撲滅活動にさんかしないか?
0301デフォルトの名無しさん
2011/06/11(土) 00:35:27.160302250
2011/06/11(土) 00:57:54.54いや、首すら取れてないって意味なんだけどw
0303デフォルトの名無しさん
2011/06/11(土) 08:30:03.090304デフォルトの名無しさん
2011/06/11(土) 09:30:39.66一行ずつ読み込んでから、outputStreamで文字コード指定してやらないとダメ?
なにか便利なAPIは無いのかな、と。Javaで完結したいんでnkfコマンドはあんまり
使いたくない
0305デフォルトの名無しさん
2011/06/11(土) 10:04:57.81Writer w = new OutputStreamWriter(new FileOutputStream("out.txt", "UTF-8"));
char[] buf = new char[999999];
int n;
while ((n = r.read(buf)) > 0) {
w.write(buf, 0, n);
}
w.close();
r.close();
0306デフォルトの名無しさん
2011/06/11(土) 10:06:59.23× Writer w = new OutputStreamWriter(new FileOutputStream("out.txt", "UTF-8"));
○ Writer w = new OutputStreamWriter(new FileOutputStream("out.txt"), "UTF-8");
0307デフォルトの名無しさん
2011/06/11(土) 11:10:27.430308デフォルトの名無しさん
2011/06/11(土) 11:11:58.04入力には謎のファイルを読み込みたいんでEUC-JPをJISAutoDetectにしてみました――けど
これってUTF-8,16には対応してないんだね。この辺はちょっと自分で考えてみるよ
0309デフォルトの名無しさん
2011/06/11(土) 11:33:54.85マイクで録音した音声ってどうやって合成できる?
それに加え、再生するときにFloatControl.Type.MASTER_GAIN取得して音量調整しようとしても
java.lang.IllegalArgumentException: Unsupported control typeとエラー吐くんだが、対処法ってあるの?
0310デフォルトの名無しさん
2011/06/11(土) 11:57:00.21ソース扱う人ならJavaは0-11ってみんな分かってんだから
JavaのCalendarの問題どころじゃ無い明らかに筋違いの仕様とかもあるじゃん
決めてんのは欧米人だから感覚の違いもあるんだろう
0311デフォルトの名無しさん
2011/06/11(土) 12:01:12.99JavaFXは299の言うとおり終わってる。
JavaFX2.0はひょっとしたら普及するかも。まだベータのはずなのでなんとも言えない。
ちなみにJavaFXとJavaFX2.0はもはや別もの。
JavaFX2.0ではスクリプトが使えなくなって、ライブラリベースになってる。
0312デフォルトの名無しさん
2011/06/11(土) 12:05:32.87一つ目の要素が0番目なのは、すごく気持ちがいいと思ってたんだけど、
そうでもない人もいるんだな。
0313デフォルトの名無しさん
2011/06/11(土) 12:29:08.17知らなかった
Swingに取って代わるのか?
世の中なんでも1からなのに、プログラムの世界だけ0だからね。
初めてプログラム組む輩にとっては不自然で耐え難きモノかと思うよ。
0315デフォルトの名無しさん
2011/06/11(土) 12:47:38.280316デフォルトの名無しさん
2011/06/11(土) 12:49:05.100317デフォルトの名無しさん
2011/06/11(土) 13:33:29.300318デフォルトの名無しさん
2011/06/11(土) 13:42:10.650319デフォルトの名無しさん
2011/06/11(土) 13:53:47.190320デフォルトの名無しさん
2011/06/11(土) 13:57:11.20って話をしてるだけなのに他の言語に乗り換えろはないだろ
スレ違いってなら同意するが
0321デフォルトの名無しさん
2011/06/11(土) 14:02:43.880322デフォルトの名無しさん
2011/06/11(土) 14:20:39.440323デフォルトの名無しさん
2011/06/11(土) 15:39:08.150324デフォルトの名無しさん
2011/06/11(土) 16:19:06.06SwingのスレッドとJavaFXのスレッドが別だと聞いて戦慄した
0325デフォルトの名無しさん
2011/06/11(土) 16:21:23.821.xのころのはJavaFX Scriptっていう名前に先祖返りして呼ばれてる。
0326デフォルトの名無しさん
2011/06/11(土) 16:30:07.310327デフォルトの名無しさん
2011/06/11(土) 16:56:12.81使用OS Xp Pro Sp3
java1.3.0がインストールされているようなんですが、
プログラムの追加と削除を見ても見当たりません。
このバージョンのjavaがインストールされているために、
あるサイトが正常に起動できません。
アンインストールしたいのですが、どのようにしたらよいでしょうか?
0328デフォルトの名無しさん
2011/06/11(土) 17:05:17.880329デフォルトの名無しさん
2011/06/11(土) 18:20:19.171.xの頃はProduction Suiteっていうのがあった。
http://download.oracle.com/javafx/1.3/reference/production-suite-install/index.html
使ったこと無いけど、IllustratorやPhotoShopのプラグインが含まれてたみたいね。
あとはNetBeans6.8(かな?)〜6.9.1にはSwingでいうところのMatisseみたいなGUIポトペタツールが含まれてた。
これも1.x用ね。
0330デフォルトの名無しさん
2011/06/11(土) 19:30:06.75これで円を塗りつぶさないで、輪郭だけを黄色くすることはできますか?
0331デフォルトの名無しさん
2011/06/11(土) 20:05:28.080332デフォルトの名無しさん
2011/06/11(土) 20:15:35.440333デフォルトの名無しさん
2011/06/11(土) 20:29:55.780334デフォルトの名無しさん
2011/06/11(土) 20:42:33.340335デフォルトの名無しさん
2011/06/11(土) 20:45:07.07おおthx!
0336250
2011/06/11(土) 21:14:02.32いやいや、
確かにメモリを意識すると、0からが良いんだから、
アセンブラ上がりの人とかは0じゃないと許せないんだろうけど、
これが偶数を意味するんだよ
if( a % 2 == 1 ) {}
0337デフォルトの名無しさん
2011/06/11(土) 21:21:20.750338250
2011/06/11(土) 21:26:39.46ある値が偶数なら、find () 関数で得られた数字に対応する配列 h[] をもってくる、と
public class Test{
int a;
Test ( int a ){
this.a = a;
}
int getH( int a ){
if ( a % 2 == 0 ) {
return h[ Class.find (a) ] ;
}
ところが、この a 自体も別の配列 g[] を呼び出す添字になっているなら、
この a を計算するすべての場所において 実数-1ですべてを計算しなければならないよね??
0339デフォルトの名無しさん
2011/06/11(土) 21:43:06.84サンプルでもマトモに説明できない
0340デフォルトの名無しさん
2011/06/11(土) 22:10:19.870341250
2011/06/11(土) 22:30:14.47カプセル化の中は、0なのかい?1なのかい?って話。
基本、0から
というのであれば、隠蔽されたクラスの中でも偶数は
a % 2 == 1
だよね?????
0342デフォルトの名無しさん
2011/06/11(土) 22:31:40.300343デフォルトの名無しさん
2011/06/11(土) 22:37:25.14array[index]でアクセスする場所は偶数アドレスである、とか。
0344デフォルトの名無しさん
2011/06/11(土) 22:38:30.130345デフォルトの名無しさん
2011/06/11(土) 22:39:14.63Javaの場合はユーザ側で値型定義できないからそうなるのはbyte[]だけだな。
0346デフォルトの名無しさん
2011/06/11(土) 22:44:52.950347デフォルトの名無しさん
2011/06/11(土) 22:55:05.210348デフォルトの名無しさん
2011/06/11(土) 22:57:26.96javafxにはデザイナーツールがないないとかよく書いてあるけど、それならjavafx 1.xのころから用意されてるんじゃないの。
0349250
2011/06/11(土) 23:18:27.25だ〜か〜ら〜
カプセル化で隠蔽した中身は、0ベースなの?1ベースなの?って聞いているのよん
0350デフォルトの名無しさん
2011/06/11(土) 23:23:35.640351デフォルトの名無しさん
2011/06/11(土) 23:38:07.44350が言うように実装は自分が決めればいい。
0352デフォルトの名無しさん
2011/06/11(土) 23:42:50.290353デフォルトの名無しさん
2011/06/11(土) 23:47:29.13配列のいちばん最初が1番目として
偶数番目の要素はインデックスには奇数を使わなくてはならない。
これはオカシイ!
0354デフォルトの名無しさん
2011/06/12(日) 00:55:06.14カレンダは別に、連想配列とかにすればいいだけな気がする。
0355デフォルトの名無しさん
2011/06/12(日) 02:04:57.00概念的に次元をもう一つ増やせば
すむだけの話だったりすんじゃね?
getH(int a) → getH(int a,int b)//bは0か1
0356250
2011/06/12(日) 02:18:15.79いやいや、エスパーがビンゴでございます。
念のため。
別段偶数奇数に限定しているわけでも、カレンダーに限定しているわけでも無いです。
ようは、
自然数と、0で始まる配列には1個のズレがある、ということです。
アルゴリズムを考える時に、常にマイナス1を意識しないといけないのはバグの温床では?ということです。
問題なのは、
常に意識しつつ
マイナス1をしないといけない場面と、
プラス1をしないといけない場面と、
プラマイゼロでもいい場面がある、
ということです。
表示や最終的な値に直すときに修正すればよいという考え方もありますが、
自然数で扱うと、アルゴリズムの部分は難しく考える必要がまったくなくなります。
コードバグとアルゴリズムバグの分離をしたほうが良いのでは?
という話です。
0357デフォルトの名無しさん
2011/06/12(日) 02:24:09.76そもそも。index<sizeの概念が基本なんで。1から考えるときはindexじゃなく
sizeで考えとけばいいだけの話。普段からindexとsizeを身長と体重ぐらい
別概念で考えとけばいい。
0358250
2011/06/12(日) 02:27:10.05実際に、
その実装者の決めた内容と、
ドキュメントを読んで実装した人に齟齬があったおかげで
バグが発生するケースは今まで結構あったでしょ???
例えば
5C問題なんて有名な話。
すべてのjavadocの配列を扱う関数に、
配列は0から始まります、とか
コードはUnicodeで扱います、とか
マイナスは考慮してません、とか
0は扱えません、とか
1から始めても構いません、とか(検証を含めて)
この関数は自然数で扱います、とか、
自然数は扱えません、とか
書いている?????
0360250
2011/06/12(日) 02:33:29.01>>357のおかげで少し頭ん中がまとまった。
( ということは一番良いレスということかw )
1.レスは馬鹿が多かった
2.Sizeで宣言した配列に、indexでアクセスできるから問題なんだ
なるほど。
0361デフォルトの名無しさん
2011/06/12(日) 02:39:56.140362デフォルトの名無しさん
2011/06/12(日) 02:56:50.581番目の位置にアクセスしたいなら、size==1の配列の末尾要素にアクセス
すると捉えりゃいいいんだよ。
0363250
2011/06/12(日) 06:59:13.43勘違いかな?
なんで1番目の要素が0やねん、と言っているわけじゃないことは理解できるかな?
別に、0だろうと、1だろうと構わないんだけど・・・
0364デフォルトの名無しさん
2011/06/12(日) 09:25:32.44一応、自分でオリジナルのクラスを作るという授業の課題です。
電卓のクラス 簡単な計算ができる電卓のクラス Calculator を作りなさい。下に示す
CalculatorMain クラスが正しく実行できるようなクラスにしなさい。
public class CalculatorMain{ public static void main(String argv[]){ Calculator c = <Calculator クラスのインスタンスを作成する>;
//現在の値を 0 で初期化する
c.plus(3); //現在の値 +3
c.minus(1); //現在の値-2
c.times(5.5); //現在の値× 5.5
c.divide(2); //現在の値÷ 2
System.out.println("現在の値:"+c.getValue());//現在の値を出力 } }
0365デフォルトの名無しさん
2011/06/12(日) 09:33:56.70初心者にもか関わらずたかが2時間で諦めたか・・・。
で、2時間で何が解らなかった?
何につまづいた?
どこまでが把握できてる?
それぐらい書き込めないんなら、同級生に土下座して
答え教えてもらえよ。ここで答え聞こうが、同級生に土下座しようが、
お前の将来の問題解決に対する態度はかわらんし、
職業プログラマになったとしても派遣になるのが見えてる。
0366デフォルトの名無しさん
2011/06/12(日) 09:37:07.590367デフォルトの名無しさん
2011/06/12(日) 09:50:46.16取り合えずguiで作るか、cuiで作るか決めようか
それすら無い状態ではアドバイスも何も、用意する変数の数が全然違って来る
0368デフォルトの名無しさん
2011/06/12(日) 10:05:29.75class Calculator{
double value;
public void setValue(double v){ value = v; }
public double getValue(){ return value; }
public void plus(double v){ value += v; }
public void minus(double v){ value -= v; }
public void times(double v){ value *= v; }
public void divide(double v){ value /= v; }
}
public class CalculatorMain{
public static void main(String argv[]){
Calculator c = new Calculator();
c.setValue(0);
c.plus(3); //現在の値 +3
c.minus(1); //現在の値-2
c.times(5.5); //現在の値× 5.5
c.divide(2); //現在の値÷ 2
System.out.println("現在の値:"+c.getValue());//現在の値を出力
}
}
0369デフォルトの名無しさん
2011/06/12(日) 10:06:16.02これはこのままでいいのか?
0370デフォルトの名無しさん
2011/06/12(日) 10:09:45.88キーボードかguiのボタンからから入力しなくて良いの?
0371デフォルトの名無しさん
2011/06/12(日) 10:19:11.60でもこれだけではプログラムは動きませんよね?もしよければ完全なプログラムを教えてもらってもいいですか?
setvalueでとりあえず初期値doubleで設定して、その下の
---------
(double v){ value /= v; }
---------
などでクラスの働きを設定しているのですか?
0372デフォルトの名無しさん
2011/06/12(日) 10:22:48.92C:\>java CalculatorMain
現在の値:5.5
C:\>
0373デフォルトの名無しさん
2011/06/12(日) 10:26:51.38C:\>java CalculaotrMain
0374デフォルトの名無しさん
2011/06/12(日) 10:27:03.00こういうレベルでつまづくのって、やっぱ専門学校とか
Fラン大の奴なの?
0375デフォルトの名無しさん
2011/06/12(日) 10:28:48.99mainで>>368さんが実際に動かして見せてる訳だが。。。
計算機作った時のメソッドなんて、そんなもんよ?
自分はてっきり数字とオペレーターを別々に入力して、答えを表示するプログラム作る授業かと思ってたんだけど
(そこまで実装しても大して難しくないよ)
0376デフォルトの名無しさん
2011/06/12(日) 10:32:05.35エラーを詳しく
0377デフォルトの名無しさん
2011/06/12(日) 10:39:41.070378デフォルトの名無しさん
2011/06/12(日) 10:47:25.24課題が分かりません。。解答をお願いします。
0379デフォルトの名無しさん
2011/06/12(日) 10:50:48.790380デフォルトの名無しさん
2011/06/12(日) 10:51:26.05そもそも、友達居ればこの程度解る奴1人以上は居るはずだし。
ここでそれを聞くってことは友達が居ない、または、学校でドヤ顔したいだけ。
0381デフォルトの名無しさん
2011/06/12(日) 10:53:49.41東京工業大学ってレベル低いの?
専門卒、最低辺を自認する俺でも解るんだが・・・。
0382381
2011/06/12(日) 11:06:46.081.自分のクラスへの参照と1次元の配列を持を持つクラスを作る。
2.そのクラスはputでキーと値を取ると、キーのhashCodeを呼び出す。
3.hashCodeで得た値 % 1次元配列の長さで配列の添字を得る。
4.1次元配列[さっきの添字]がnullである事を調べる。
5.nullあればここに値のオブジェクトを入れる。nullならここで終わり。
6.1次元配列[さっきの添字]がnullなら、自分のクラスへの参照がnullでないか調べる。
7,自分のクラスへの参照がnullで無いなら、自分のクラスへの参照に対し受け取った引数をput
自分のクラスへの参照がnullで無いならここで終わり。
8.自分のクラスへの参照がnullなら、new 自分のクラス();で得たオブジェクトを、自分のクラスの参照へ渡す。
そして7へ戻る。
0383デフォルトの名無しさん
2011/06/12(日) 11:08:27.90書けないなら回答すんな
0384デフォルトの名無しさん
2011/06/12(日) 11:17:45.23ここまで書いてもらってコードも何も無いような。。。
これで自力でコード書けなかったら、入門レベルでも勉強不足って言われるレベルだぞ
0385デフォルトの名無しさん
2011/06/12(日) 11:19:56.62自分に無いものがただで貰えるとおもうなよ。
0386デフォルトの名無しさん
2011/06/12(日) 11:25:44.580387デフォルトの名無しさん
2011/06/12(日) 11:26:40.600388デフォルトの名無しさん
2011/06/12(日) 11:35:10.680389381
2011/06/12(日) 11:35:51.65まぁ、hash値の意味を調べりゃ自分で直せるよな。
0390デフォルトの名無しさん
2011/06/12(日) 11:37:27.33class HashTable <K, V> {
private Map.Entry<K,V>[] table;
public HashTable(){ this(10); }
public HashTable(int capacity){ table = (Map.Entry<K,V>[])new Map.Entry[capacity]; }
public boolean put (K key, V value) {
for (int i = 0; i < table.length; i++) {
final int index = (key.hashCode() + i) % table.length;
if (table[index] == null) {
table[index] = new AbstractMap.SimpleImmutableEntry<K, V>(key, value);
return true;
}
if (table[index].getKey().equals(key)) return false;
}
throw new IllegalStateException("full");
}
public V get (K key) {
for (int i = 0; i < table.length; i++) {
final int index = (key.hashCode() + i) % table.length;
if (table[index] == null || table[index].getKey().hashCode() != key.hashCode()) break;
if (table[index].getKey().equals(key)) return table[index].getValue();
}
return null;
}
public void merge (HashTable<? extends K, ? extends V> other) {
for (Map.Entry<? extends K, ? extends V> entry : other.table) {
if (entry != null) put(entry.getKey(), entry.getValue());
}
}
}
0391デフォルトの名無しさん
2011/06/12(日) 11:49:04.08○ if (table[index] == null) break;
だな。
0392デフォルトの名無しさん
2011/06/12(日) 11:49:37.530393デフォルトの名無しさん
2011/06/12(日) 11:50:58.75されてるよ。
2.0のものは、今はないけど正式版が出る頃には準備されるんじゃない?
0394デフォルトの名無しさん
2011/06/12(日) 11:58:37.310395デフォルトの名無しさん
2011/06/12(日) 12:06:30.89会社の新人教育とか学校で、配列の何番目から取り出すとか、
あたかも箱のように説明し、かつ、一番初めは1じゃなく0なんです。
とか、本質を説明しないことがとっても問題な気がするよ。
0396デフォルトの名無しさん
2011/06/12(日) 12:20:44.400397デフォルトの名無しさん
2011/06/12(日) 12:32:24.65配列や変数を箱で表現と言うのは、確かに値が書き換わるのを上手く表現出来ないから、良い表現は無いかと思うけど、配列は説明したところで、0から始まるのに変わりないからな。。。
アドレスも0番地から始まるし、OSとか作るのに0から始まる方が都合が良いとかの背景は有りそうだけどな
普段のプログラミングには
場所指定の入力用変数 n
に対して
配列の添字 index = n-1
って変換してあげれば済む話だし
0398デフォルトの名無しさん
2011/06/12(日) 12:44:38.150399デフォルトの名無しさん
2011/06/12(日) 12:54:26.54簡単な例えだと、カレンダー関数の引数とは別に、それを元に配列のインデックスで使う為の変数を別に作ればええヤンって話
何も難しい事あらへん
0400デフォルトの名無しさん
2011/06/12(日) 12:59:18.340401デフォルトの名無しさん
2011/06/12(日) 13:56:22.86だから、変換用変数用意すればおkで解決
これにて終了
0402デフォルトの名無しさん
2011/06/12(日) 13:57:33.800403デフォルトの名無しさん
2011/06/12(日) 14:32:12.330404デフォルトの名無しさん
2011/06/12(日) 14:33:25.410405デフォルトの名無しさん
2011/06/12(日) 15:11:13.97なぜ+valueや*valueではなくて
以下のようにvalue+とかvalue /とかなのですか?
lass Calculator{
double value;
public void setValue(double v){ value = v; }
public double getValue(){ return value; }
public void plus(double v){ value += v; }
public void minus(double v){ value -= v; }
public void times(double v){ value *= v; }
public void divide(double v){ value /= v; }
}
public class CalculatorMain{
public static void main(String argv[]){
Calculator c = new Calculator();
c.setValue(0);
c.plus(3); //現在の値 +3
c.minus(1); //現在の値-2
c.times(5.5); //現在の値× 5.5
c.divide(2); //現在の値÷ 2
System.out.println("現在の値:"+c.getValue());//現在の値を出力
}
}
0406デフォルトの名無しさん
2011/06/12(日) 15:17:16.760407デフォルトの名無しさん
2011/06/12(日) 15:51:12.760408250
2011/06/12(日) 16:11:33.70ポインターを積極的に使うCとかなら、配列はオフセットの考え方の方が間違いが少ないとは思う。
汎用性を持たせ、オレオレルールを勝手に持ち込まないと言う意味では、
箱は0から〜でも良い様な気もしなくはない。
0409250
2011/06/12(日) 16:12:22.61自然数を使うのは、入力と出力だけ???
いろいろあるでしょう。
0410デフォルトの名無しさん
2011/06/12(日) 16:19:42.020411デフォルトの名無しさん
2011/06/12(日) 17:00:13.00value += v;
は
value = value + v;
のことで、
value ← ( value + v ) ;
という意味だから
0412デフォルトの名無しさん
2011/06/12(日) 17:12:45.20JavaFX(2.0)とAIRを比較するのは筋違いにになっちゃったような。
上にもちょっと書いてあるけど、多分Swingの代替として捉えるべきなんじゃないかなあ。
Flash vs Applet(with JavaFX) がどうかってことになると思うんだけど、
現状から想像するに、強そう、とかいう以前に全く歯が立たないと思うぜよ。
0413デフォルトの名無しさん
2011/06/12(日) 17:15:05.140414デフォルトの名無しさん
2011/06/12(日) 17:26:09.650415デフォルトの名無しさん
2011/06/12(日) 17:27:53.100416デフォルトの名無しさん
2011/06/12(日) 17:28:49.27並行/並列プログラミングの中にも、同期プログラミングと非同期プログラミングに別れてるってだけ
0417デフォルトの名無しさん
2011/06/12(日) 17:29:32.63どうすれば
0418デフォルトの名無しさん
2011/06/12(日) 17:35:16.87http://javadl.sun.com/webapps/download/AutoDL?BundleId=49024
0419デフォルトの名無しさん
2011/06/12(日) 17:37:35.780420デフォルトの名無しさん
2011/06/12(日) 17:39:47.180421デフォルトの名無しさん
2011/06/12(日) 17:44:09.990422デフォルトの名無しさん
2011/06/12(日) 17:55:11.16番号降るのに000の箱とか見た事無いわw
c言語でポインタ習った時は0始まりのヨウ素ってイメージできたけどね。
思い出してみると、フォートランとかアセンブラでも0始まりで当時は疑問に思うこと無くcpuってそんな処理なんだと思うって棚。
最近のハードだとmmu内蔵で実際のメモリアドレスなんて遮蔽されて見えないからあんまり順序に意味はないと思うけど。
メモリ割当的には、n(0),n(3),n(2),n(1)って順番に並んでるかもしれないし。
ググったらmmu単体のlsiとかあるのね。z80やh8用の外部mmuがあればプリエンティブなos実装できて楽しいかなとちょっと妄想したw
0423デフォルトの名無しさん
2011/06/12(日) 17:55:54.69http://oshiete.goo.ne.jp/qa/5821571.html
これ同じ感じにやったらどうなりますか?
0424デフォルトの名無しさん
2011/06/12(日) 18:05:22.480425デフォルトの名無しさん
2011/06/12(日) 18:11:20.482011年のジャバについてもうちょっと勉強してもいいと思いますが、もし比べるならアプレットというよりもjws,pluginあたりのテクノロジーだと思いますよ。
0426デフォルトの名無しさん
2011/06/12(日) 20:07:30.40でもサイコロふるうとき、1が出たら1マス進むだろ?
今のマスに立ち止まったらシバかれる。
0427デフォルトの名無しさん
2011/06/12(日) 20:14:55.670428デフォルトの名無しさん
2011/06/12(日) 20:17:36.19GUIを作れるのが最終目標なのですが、適切なガイドブック、サイト、アドバイスください
0429デフォルトの名無しさん
2011/06/12(日) 20:17:45.65新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。
とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。
復興支援アニメ.mp4
http://www.youtube.com/watch?v=yn4uTiN8vvM
湾岸鉄道キャンペーンCM(カラー).mp4
http://www.youtube.com/watch?v=g3PlX1OAhug&feature=channel_video_title
これは力作で、にしおかすみこさんにも是非見てもらいたかったため彼女のブログにコメントしたんですが無視されました。
http://blog.watanabepro.co.jp/nishiokasumiko/archives/2008/02/22_15_post_22.html
(下の方にあります。投稿者: hekeneko | 2008年03月24日 22:54)
やはり私の才能に気づいてくれる人は中々いないみたいですね(苦笑)。
題名”ラダニアムの翼”
A wing of radaniam_part�U.mp4
http://www.youtube.com/watch?v=keSK70uqDJY
A wing of radaniamu part_�V.mp4
http://www.youtube.com/watch?v=-LRZbXbirR0
題名”hekeneko honey”
http://www.youtube.com/watch?v=kATwf6fAkG8
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。
0430デフォルトの名無しさん
2011/06/12(日) 20:18:42.45姉貴とその親友のめめちゃんに決まってんだろ。
0431デフォルトの名無しさん
2011/06/12(日) 20:20:36.740432デフォルトの名無しさん
2011/06/12(日) 20:20:42.392001年頃に採れた、浅いり珈琲でも飲んでろ。
0433デフォルトの名無しさん
2011/06/12(日) 20:23:24.68Java SwingとかJava SWTとかで調べればよいのでは。
Java GUIはあんまり流行ってないらしいけど。
0434デフォルトの名無しさん
2011/06/12(日) 20:27:38.420435デフォルトの名無しさん
2011/06/12(日) 20:29:11.61>会社を追われ
そりゃこの程度でプロレベルを自負するぐらいだから会社も追われるわなぁ・・・。
しかもこの曲自作してない or 発注じゃないだろ。
0436デフォルトの名無しさん
2011/06/12(日) 20:30:44.36Swing、SWTのサンプルサイトはいくつか見てみたのですが
http://www.geocities.jp/h2fujimura/appendix/Layout/FlowLayout/index.html
http://www.tohoho-web.com/java/awt.htm
基礎をやっていないからコードの意味がわからない→基礎をやろうにもGUIじゃないからやる気が・・・という悪循環に陥ってしまっています
0437デフォルトの名無しさん
2011/06/12(日) 20:33:41.86高い金だしてVisual ブヴィ.netとかVisual C丼 でも買えば?
今はタダでも買えるんだっけ?おっさんとしちゃどうでもいいから知らんけど。
0438デフォルトの名無しさん
2011/06/12(日) 20:34:16.31そこでドトネットですよ
0439デフォルトの名無しさん
2011/06/12(日) 20:38:06.84てのは半分冗談で、EclipseならWindowBuilderとか使ったら?
とりあえずGUIコードは生成してくれるからとっかかりにはいいんじゃない?
俺はEclipseのコンソールで十分Javaの勉強はできるとおもうけど。
とくにJavaの必要性がないでGUIなら正直C#でもやったほうが早いよ。
0440デフォルトの名無しさん
2011/06/12(日) 20:42:30.80今は仕事か、グラフィックスやりたいときじゃなけりゃ
コマンドラインツールばっか作ってるなぁ。
GUIってプログラムの本質じゃねぇから書いてて面倒い。
0441デフォルトの名無しさん
2011/06/12(日) 20:43:44.31スレッド周りの知識なしでGUIをやりたいって言われても
難しいんじゃないのとしか言えない。
0442デフォルトの名無しさん
2011/06/12(日) 20:46:36.76新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。
とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。
復興支援アニメ.mp4
http://www.youtube.com/watch?v=yn4uTiN8vvM
湾岸鉄道キャンペーンCM(カラー).mp4
http://www.youtube.com/watch?v=g3PlX1OAhug&feature=channel_video_title
これは力作で、にしおかすみこさんにも是非見てもらいたかったため彼女のブログにコメントしたんですが無視されました。
http://blog.watanabepro.co.jp/nishiokasumiko/archives/2008/02/22_15_post_22.html
(下の方にあります。投稿者: hekeneko | 2008年03月24日 22:54)
やはり私の才能に気づいてくれる人は中々いないみたいですね(苦笑)。
題名”ラダニアムの翼”
A wing of radaniam_part�U.mp4
http://www.youtube.com/watch?v=keSK70uqDJY
A wing of radaniamu part_�V.mp4
http://www.youtube.com/watch?v=-LRZbXbirR0
題名”hekeneko honey”
http://www.youtube.com/watch?v=kATwf6fAkG8
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。
0443デフォルトの名無しさん
2011/06/12(日) 20:49:19.48他の言語に切り替えるとか、開発環境しっかり整えてやれ という事ですか。
ありがとうございます
0444デフォルトの名無しさん
2011/06/12(日) 20:51:41.07NetBeansなら比較的Swingもとっつきやすいかも。
でも、初学者ならC#をおすすめする。
0445デフォルトの名無しさん
2011/06/12(日) 21:16:22.36どうもです
今までスクリプト言語ばっかやってたから開発環境なるものがどうしても苦手で
これはしようがないか
0446デフォルトの名無しさん
2011/06/12(日) 21:26:42.64統合開発環境になれたら、エディタで編集に戻れなくなると思うww というかおれは統合開発環境ない開発なんてダルくてできない。
0447デフォルトの名無しさん
2011/06/12(日) 21:37:40.87開発環境はガイドサイトに乗っているバージョンと少しでも違うと動かなくなるから困る
0448デフォルトの名無しさん
2011/06/13(月) 00:46:14.04私にもプログラムがよめるぞ・・・!
0449デフォルトの名無しさん
2011/06/13(月) 01:20:42.62で?>>396の疑問についてはどう考えてるの?
0450デフォルトの名無しさん
2011/06/13(月) 01:21:08.58創るJava
0451デフォルトの名無しさん
2011/06/13(月) 09:22:16.84汚いよね?
0452デフォルトの名無しさん
2011/06/13(月) 13:10:11.89テキストエディタなら昔から使ってノウハウの蓄積があるもの。
つーか自分でアプリ作れるんだから自分のテキストエディタ使いたいよね。
オープンソースのテキストエディタがあれば自分でも弄れて違うのだろうけど。
0453デフォルトの名無しさん
2011/06/13(月) 13:12:26.82IDEにこだわる奴も総じてカス
両方つかいこなせ
0454デフォルトの名無しさん
2011/06/13(月) 13:25:54.340455デフォルトの名無しさん
2011/06/13(月) 16:29:23.85言語によって道具を使い分けるのが普通なんじゃないの。
0456デフォルトの名無しさん
2011/06/13(月) 16:34:48.30J2SE 1.2(1998年12月8日)以降に出た本を買えば大丈夫なんでしょうか?
0457デフォルトの名無しさん
2011/06/13(月) 16:41:07.50追記
J2SE 5.0(2004年9月30日)でも大幅な拡張が加えられたみたいですが、この拡張された部分まで入門書が踏み込むことがあるのでしょうか?
たとえば現行のJavaSDK、JREで、古い入門書の内容を実行するとエラーになるとかありますか?
0458デフォルトの名無しさん
2011/06/13(月) 17:06:01.620459デフォルトの名無しさん
2011/06/13(月) 18:06:10.45またローカル変数情報も見れません。
JDK/bin/javaからJRE/bin/javaで同じことをすると行番号情報がなくなっています。
これは-g月でコンパイルしたかしないかの差だと思いますが、JDKでローカル変数が見れないのはなぜでしょうか?
0460デフォルトの名無しさん
2011/06/13(月) 18:10:37.08お前日本語ちょっとおかしいぞ
>>456
Java1.6対応って書いてある本買えば良いんじゃない
Javaの大幅な仕様の拡張は多くの場合、過去のバージョンで不便なところを便利にする変更が多いから
新しかろうが何だろうがやって置いた方が良い
0461デフォルトの名無しさん
2011/06/13(月) 18:19:37.420462デフォルトの名無しさん
2011/06/13(月) 21:42:11.03そこで気になったのはJDBCドライバのライセンスです
ライセンス(英文)を翻訳サイトで翻訳したのを解釈すると、
個人だろうと商用だろうと、とりあえず改版しなければ好きに使ってよし
というふうに認識したのですが、あっていますか?
0463デフォルトの名無しさん
2011/06/13(月) 23:20:44.32SQLインジェクションの対策をしたいですが、どうやるのがベターですか?
0464デフォルトの名無しさん
2011/06/13(月) 23:27:49.080465デフォルトの名無しさん
2011/06/13(月) 23:31:49.35普通にフレームワークにあるだろ
0466デフォルトの名無しさん
2011/06/13(月) 23:52:45.22ありがとうございます
標準のAPIではないですか?
0467デフォルトの名無しさん
2011/06/13(月) 23:59:38.770468デフォルトの名無しさん
2011/06/14(火) 00:03:15.97え、あれってプリコンパイルするやつですよね?
あれを間に挟むと安全になるのですか?
0469デフォルトの名無しさん
2011/06/14(火) 00:08:23.25そこまで教えといてもらって聞くな。
0470デフォルトの名無しさん
2011/06/14(火) 02:10:02.84参考ページ
ttp://www.javaroad.jp/servletjsp/sj_jsp11.htm
このページのサンプルにある画面遷移処理を行いたいのですが
どうにも思った通りに作る方法がわからず難儀しています。
exPageContext.jspでは、画面表示直後にpageContext.setAttribute()、pageContext.forward()と
走らせてexPageContext2.jspに遷移しています。
これを、「ボタンが押されたら」画面遷移するという形に変えたいのですが
●<form> <submit> の形だと<form>に遷移先が記載されているので駄目
●<button onClick> だとonClick要素はjavascriptなので駄目
と、いう感じに詰まってます。
何か妙案がありましたらお願い致します。
0471デフォルトの名無しさん
2011/06/14(火) 02:11:38.47文字列連結でSQL文を作らない。
String query = "SELECT age FROM t WHERE name = \"" + user.name + "\"";
こういうことをしなくてもどうにかなる仕組みがフレームワークなり
jdbcのpreparedStatementなり用意されている。
0472デフォルトの名無しさん
2011/06/14(火) 02:14:00.89すみませんでした
使って試してみます
0473デフォルトの名無しさん
2011/06/14(火) 02:14:50.81ありがとうございます
調べてみます
0474デフォルトの名無しさん
2011/06/14(火) 02:53:56.59jdbcで組んだのにソニーや任天堂の様に個人情報汚もらしとかやってしまいそう。
0475デフォルトの名無しさん
2011/06/14(火) 03:14:15.89Flashに追い付け追い越せ!って1.0出るころいってた機能、例えば
http://gihyo.jp/dev/serial/01/javafx/0010?skip
http://gihyo.jp/dev/serial/01/javafx/0008?skip
みたいなのが2.0では悉く無くなっちゃうから。
0476デフォルトの名無しさん
2011/06/14(火) 03:18:14.36http://jdbc.postgresql.org/license.html
どこにそんなことが書いてあるんだ。
BSDライセンスってメジャーだからググればいくらでも解説サイト出てくるだろ。
0477デフォルトの名無しさん
2011/06/14(火) 03:29:35.69って聞いたことがあるんだけど、JDBC経由でもやっぱり危ないんだろうかね?
…と思ってググったらこれのことか
ttp://d.hatena.ne.jp/mir/20081224/p2
0478デフォルトの名無しさん
2011/06/14(火) 07:22:02.12PostgreSQL なら大丈夫なのだろうか?
バージョン 7 だか 8 だかから日本語の対応が入ったとも聞いたけど、気になるね。
0479デフォルトの名無しさん
2011/06/14(火) 07:35:42.25知らなかった。もう何も信じられないorz
0480デフォルトの名無しさん
2011/06/14(火) 07:38:49.77formで遷移先をServletにするのはだめ?
0481デフォルトの名無しさん
2011/06/14(火) 07:40:41.90真偽は不明だが日本語が絡むと厄介なようだ
0482デフォルトの名無しさん
2011/06/14(火) 10:33:27.860483デフォルトの名無しさん
2011/06/14(火) 11:50:18.90ということをするにはどう書けばいいんでしょうか?
(Class<? extends A>) Class.forName("Aのサブクラス名文字列");
としたらできたんですが、これだとAのサブクラスを初期化してしまうのですが
要は初期化したくないのです。
0484デフォルトの名無しさん
2011/06/14(火) 12:09:27.65初期化したくないだけなら
Class.forName("Aのサブクラス名文字列", false, this.getClass().getClassLoader())
0485デフォルトの名無しさん
2011/06/14(火) 12:23:15.05できました!ありがとうございます。
0486デフォルトの名無しさん
2011/06/14(火) 13:24:24.51ニュートン・ラプソン法で下記の式の根を有効数字6桁で求めるプログラムを作成する。プログラムは複数のクラスを定義して作成すること。
4x∧3+3x∧2‐2x+2.5=0
自分でも何とか努力してみますが、教えて頂けませんか?お願いします。
0487デフォルトの名無しさん
2011/06/14(火) 14:45:32.910488デフォルトの名無しさん
2011/06/14(火) 14:53:19.80宿題スレでどうぞ。
0489デフォルトの名無しさん
2011/06/14(火) 14:56:07.71likeつっても只の文字列じゃん
他と比べて何か特殊なわけでもなさそうだけど…?
0490デフォルトの名無しさん
2011/06/14(火) 15:32:10.29俺もわからないから何とも言えないけど
俺が調べるのは面倒だから実際に吐き出されるLike文を調査して検証してきてよ
0491デフォルトの名無しさん
2011/06/14(火) 15:40:03.860492デフォルトの名無しさん
2011/06/14(火) 17:26:07.41strutusとか無料フレームワーク使ってる乞食はこの際phpにでも移ればいい。
runtime.execでphpに処理してもらっても良い鴨だがw
0493デフォルトの名無しさん
2011/06/14(火) 17:50:34.04if(str == "幼女")
{
System.out.println("えっ?");
}
えっ?が表示されてしまいます。
これで一つ目の幼女と2つ目の幼女が、同じ参照として扱われるのは、
javaでは同じ文字リテラルは同じオブジェクトとして扱われるということですか?
0494デフォルトの名無しさん
2011/06/14(火) 18:04:43.42yes
String str = new String("幼女").intern();
if (str == new String("幼女").intern()) System.out.println("えっ?");
でも同じ参照として扱われる。
0495デフォルトの名無しさん
2011/06/14(火) 18:27:00.82ディープコピー java
でググってみよう
0496デフォルトの名無しさん
2011/06/14(火) 18:36:26.21なるほど、ありがとうございます。
また、こんなメソッドもあるんですね!
>>495
この書きかただと、つまりVM上から参照を貰うだけでディープコピーは
されないということですよね
0498デフォルトの名無しさん
2011/06/14(火) 18:47:40.35まず>>477を読むといいよ。
0499デフォルトの名無しさん
2011/06/14(火) 18:48:41.41VM境界越えなければ。
0500デフォルトの名無しさん
2011/06/14(火) 18:51:48.920501デフォルトの名無しさん
2011/06/14(火) 19:08:14.580502デフォルトの名無しさん
2011/06/14(火) 19:49:28.53VMが死ぬとき。
0503デフォルトの名無しさん
2011/06/14(火) 19:51:15.01煽っても同じ効果があるよ。
そういうのレス乞食って呼ぶんだけどね。
0504デフォルトの名無しさん
2011/06/14(火) 20:01:16.850505デフォルトの名無しさん
2011/06/14(火) 20:02:31.280506デフォルトの名無しさん
2011/06/14(火) 20:27:08.69ボタンを押すとJFileChooserをつかってファイルを選択し、
そのファイルの内容についてMyCanvasでグラフを描画するプログラムを組んだのですがうまく描画されません。
選択後何もしなければ何も表示されず、ウィンドウサイズをちょっとでも弄ると表示されます。
また、新たにファイルを開いた時も初めは前のグラフのままで、ウィンドウサイズをグラフより小さくするなどすると、
はみ出した部分だけ新しいファイルのものに再描画されます。
MyCanvas内でrepaintをすると、新たにファイルを開いた時に新しいグラフになってくれるのですが、
代わりにずーっと点滅しているような状態になり、また、何もしなければ表示されないのも直りません。
MyCanvas外だと効果はないようです。
0507デフォルトの名無しさん
2011/06/14(火) 20:34:04.68ボタンの中でファイル読んだ後、repaint呼んだらいいと思う
0508デフォルトの名無しさん
2011/06/14(火) 20:36:40.65交互につなげて表示とかしてないよね?
0509デフォルトの名無しさん
2011/06/14(火) 20:46:09.67>>507書いた理由は、
>選択後何もしなければ何も表示されず、ウィンドウサイズをちょっとでも弄ると表示されます。
>また、新たにファイルを開いた時も初めは前のグラフのままで、ウィンドウサイズをグラフより小さくするなどすると、
>はみ出した部分だけ新しいファイルのものに再描画されます。
という症状から、ファイルを読み込んだ直後にはpaintメソッドが呼ばれてないと予想してる
0510デフォルトの名無しさん
2011/06/14(火) 21:02:51.91常につなげるやり方がわかりません・・・
>>507,509
自分のpaintメソッドの記述がおかしいのかもしれませんが、変わりませんでした。
0511デフォルトの名無しさん
2011/06/14(火) 21:11:22.83既存で便利なクラスはありませんか?
なければ自作になりますが、サイクリック処理や世代管理まで自作するとなると、
それが新たなバグ要因になりかねないので、実績のある既存のがあれば使いたいです。
0512デフォルトの名無しさん
2011/06/14(火) 21:12:36.20Canvasのあとにshow();と呼ぶのを忘れていました。
0513デフォルトの名無しさん
2011/06/14(火) 21:25:59.93証明書更新した際にプログラムを止めずに、キーストアの更新を読み込む
or新しいキーストアの読み込みなどが行えるでしょうか?
0514デフォルトの名無しさん
2011/06/14(火) 21:29:44.17PreparedStatement を toString して吐かせてみたところ、
「'」が「''」に、「\」が「\\」にエスケープされていることを確認できました。
(それぞれ念のため全角の記号も試してみましたが大丈夫でした。)
ということは、これで万全ということでしょうか?
LIKE による部分一致やそのた特殊記号大丈夫でしょうか?
0515デフォルトの名無しさん
2011/06/14(火) 21:35:35.590516デフォルトの名無しさん
2011/06/14(火) 21:42:47.63javaでは自社のDBしか利用できないとか細工しないよな。。。
そこから先はドライバの実装によるんじゃね?
どこのDB使ってるかは知らんが、素直にサポートへ投げたらどうですか。
0518デフォルトの名無しさん
2011/06/14(火) 22:01:20.81すみません、人に頼りすぎました。
このサイト構築は個人の趣味プロなので、サポート窓口の利用には抵抗があります。
ちなみに、データベースは PostgreSQL 9.0 で CentOS 上に構築しています。
いろいろな記号を入れて、エスケープの有無を調べてみます。
0519デフォルトの名無しさん
2011/06/14(火) 22:03:21.43正しくは >>515-517 です。
0520デフォルトの名無しさん
2011/06/14(火) 22:22:59.55本文の長さに引っかかってしまったので、内容は↓に書きました。
もしよろしければ、お力をお貸しください。。
http://codepad.org/qDjOwSg4
0521デフォルトの名無しさん
2011/06/14(火) 22:24:01.57君の想像している方法ではできない。
0522デフォルトの名無しさん
2011/06/14(火) 22:27:37.56なるほど!ありがとうございます。外部サーブレット呼び出すのか
試して見ます
0523デフォルトの名無しさん
2011/06/14(火) 22:40:45.99generics導入する前にできなかったことが導入したからといってできるようになったわけじゃない。
メソッドシグネチャ、イレイジャでググろう。
0524デフォルトの名無しさん
2011/06/14(火) 22:46:50.64out of memory errorになっったとしてもJVMは不死身なんですか?
0525デフォルトの名無しさん
2011/06/14(火) 22:54:21.42そんなことは言っていないよ?
0526デフォルトの名無しさん
2011/06/14(火) 22:58:33.96引数と戻り値の両方、FloatのメソッドとDoubleのメソッドの2つ用意するだけじゃだめなの?
0527デフォルトの名無しさん
2011/06/14(火) 23:18:56.24戻り値の型はメソッドシグネチャに関係ない。
引数の型がFloatのとDoubleのとなら確かにオーバロードだけど、
今回はClass<Double>とClass<Float>なので型消去(イレイジャ)されてコンパイル時には
どっちもClass<Object>になる。
つまりfunc(Class<Object>)というシグネチャのメソッドを4行目と8行目で2重に定義してる。
なのでコンパイルエラー。
15行目の、呼び出し側も同様にイレイジャ後は func(Object.clss) だね。
0528デフォルトの名無しさん
2011/06/14(火) 23:50:49.50できるだろw
public static void main(String[] args) {
System.out.println(func(Double.class));
System.out.println(func(Float.class));
}
@SuppressWarnings("unchecked")
public static <T> T func(Class<T> arg){
if(arg.equals(Double.class)){
return (T) new Double("0.001");
}else if(arg.equals(Float.class)){
return (T) new Float("0.002");
}
return null;
}
0529デフォルトの名無しさん
2011/06/14(火) 23:52:16.190530528
2011/06/14(火) 23:55:05.91func(Class<Float> arg)
func(Class<Double> arg)
を定義したいわけじゃないんだよね?
そこはどうでもよくてfunc()内で分岐したいってことだよね?
0531デフォルトの名無しさん
2011/06/14(火) 23:58:00.59引数追加していいんならそりゃそうだ
問題は、Class<T> arg を受け取れない場合
0532デフォルトの名無しさん
2011/06/14(火) 23:59:12.02>>520のリンク先
> 戻り値の型によって、呼び出す処理を変更したい
ってのもできてないし、
>>523の
> generics導入する前にできなかったこと
もできてないですよ?
0533デフォルトの名無しさん
2011/06/15(水) 00:00:23.98いや戻り値で多態を表現できないか、っていう質問だろ…
0534デフォルトの名無しさん
2011/06/15(水) 00:04:41.86>戻り値の型によって、呼び出す処理を変更したいのですが
っていうのは、戻り値の型を指定せずにってことなのか。
0535デフォルトの名無しさん
2011/06/15(水) 00:14:05.000537デフォルトの名無しさん
2011/06/15(水) 00:18:15.13「イベントの発火を期に処理が記述されたスレッドをスタートするもの」
だと思っていたのですが、間違っているでしょうか。
詳しい方に説明をいただきたいのです。
0538デフォルトの名無しさん
2011/06/15(水) 00:18:56.090539デフォルトの名無しさん
2011/06/15(水) 00:20:43.92直訳すると、イベントを聞く者
その意味を考えて見てね
0540デフォルトの名無しさん
2011/06/15(水) 00:21:16.39スレッドはスタートしないよ
0541デフォルトの名無しさん
2011/06/15(水) 00:21:18.31それもまた質問者の意図と違う気がするが、
これ以上は質問者が登場せんことにはなんとも
0542デフォルトの名無しさん
2011/06/15(水) 00:22:24.20「特定イベントの発火を期になんらか処理を実行するメソッドをもつクラス」かな。
0543デフォルトの名無しさん
2011/06/15(水) 00:23:54.84ジェネリクスは言語の能力を上げるものじゃない
0544537
2011/06/15(水) 00:27:28.18イベントの処理が始まるということでしょうか。
イベント内の処理で無限ループが始まると、メイン処理が進まなくなる?
0545デフォルトの名無しさん
2011/06/15(水) 00:36:15.05イベント≠スレッド
シングルスレッドでも多くのイベント処理する
0546デフォルトの名無しさん
2011/06/15(水) 00:36:50.07イエス
0547デフォルトの名無しさん
2011/06/15(水) 00:44:37.88Float f = ClassA.<Float>func();
Double d = ClassA.<Double>func();
こんな使い方をイメージしているんなら、いっそDIでどうだろ。
0548デフォルトの名無しさん
2011/06/15(水) 00:48:43.59その通り。
ただ>>544の表現はちょっと微妙。
イベントドリブンなアプリ(Swingアプリはユーザがボタンを押すことで
何らかの処理を行うので典型的な例だね)は、>>544の表現で言うと
「イベント内の処理」=「メイン処理」なんだよね。
だから、「イベント内の処理」と「メイン処理」がお互い並行して実行され邪魔し合う、
っていうイメージじゃなくて単純に次のイベントが処理できないイメージ。
メソッドを2つ呼ぶような処理を書いたとき、1つめのメソッドが終わらないと
2つめのメソッドが呼ばれないじゃない?それと同じ。
0549デフォルトの名無しさん
2011/06/15(水) 00:57:03.07?
引数が全く同じ型だと戻り値をオーバーロード出来ないけど、それ意外ならオーバーロード出来るだろ?
0550デフォルトの名無しさん
2011/06/15(水) 00:59:03.20>ジェネリクスは言語の能力を上げるものじゃない
VMの能力を上げるものじゃない。なら同意
0551537
2011/06/15(水) 01:04:32.05コンソール出力が出続けるのは私の環境の問題なのかしら。
public class EventTest extends MouseAdapter {
int press = 0, loop = 0;
public void mousePressed(MouseEvent arg0) {
while(true){
press++;
try{ Thread.sleep(1000); }catch(Exception e){ System.out.println("Exception:Sleep."); }
}
}
public static void main(String[] args) {
JFrame window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(100, 100, 300, 200);
JLabel lbl = new JLabel();
lbl.setBounds(10, 10, 100, 50);
EventTest listener = new EventTest();
window.add(lbl);
window.addMouseListener(listener);
window.setVisible(true);
while(true){
listener.loop++;
System.out.print("roop");
lbl.setText("loop=" + listener.loop + " press=" + listener.press);
try{ Thread.sleep(1000); }catch(Exception e){ System.out.println("Exception:Sleep."); }
}
}
}
0552デフォルトの名無しさん
2011/06/15(水) 01:06:24.94javawコマンドで起動汁
0553548
2011/06/15(水) 01:15:34.22書きかけてややこしくなるから説明するの止めた部分だw
Swingのイベントを処理するスレッドはいわゆるメインスレッド(mainメソッドが実行されるスレッド)じゃない。
SwingのイベントはEDT(Event Dispatch Thread)というスレッドで処理される。
そういういう意味ではCUIアプリとは違いマルチスレッドだね。
ただし、メインスレッドは、画面起動する以外は何もせずに終わらせちゃう。普通はね。
だからEDT一本しかスレッドを意識する必要は無い。
invokeLater、イベントディスパッチスレッドでググろう。
0554537
2011/06/15(水) 01:34:23.00main()のループは別スレッドだから動いていたが、
EDTが動いている間、Swingのメインがブロックされるから描画は変化せず。
と、こんな感じでしょうか。
ありがとうございました。
0555デフォルトの名無しさん
2011/06/15(水) 01:40:44.64>>520のは引数の型が違うからオーバーロードだ、って言ってんの?
0556デフォルトの名無しさん
2011/06/15(水) 01:47:04.44うん
本人に確認しないと何とも言えないが、見た限り、>>538であってる気がする
0557デフォルトの名無しさん
2011/06/15(水) 02:18:51.34SLF4J + Logback
0558デフォルトの名無しさん
2011/06/15(水) 02:39:30.70#func(Class<Float>)と#func(Class<Double>)が同居できないじゃん。
0559デフォルトの名無しさん
2011/06/15(水) 05:27:26.87イレイズされて引数は同じObject型になる
0560デフォルトの名無しさん
2011/06/15(水) 06:16:02.67おっけー>>537詠め
0561デフォルトの名無しさん
2011/06/15(水) 06:17:30.060562デフォルトの名無しさん
2011/06/15(水) 07:36:38.40floatとdpubleって暗黙的にキャストされなかったっけ?
メソッド分ける必要有るの?
0563デフォルトの名無しさん
2011/06/15(水) 08:01:32.80どうすればできますか?
0564デフォルトの名無しさん
2011/06/15(水) 08:07:14.07java.exeで動かせばいいのでは?
0565563
2011/06/15(水) 08:10:42.23自前クラスローダー作ってdefineClassするとか
0568デフォルトの名無しさん
2011/06/15(水) 09:08:54.010569250
2011/06/15(水) 09:25:32.87ライブラリじゃだめだよ。
基本的にUniCodeを先に処理するシステムが無いと、
同じ問題がそこかしこに発生する。
それに対応するのはJava側でもあるけど、
たとえばDBやWebServer、OS側の責任。
てか、昔から在る基本的な問題、かついまだに潰しきれていない問題、
かつ、ありふれた問題。
0570デフォルトの名無しさん
2011/06/15(水) 09:39:16.04当方環境はp4とチョット古いが、
JAVA対応アプリにてリロードすると画面が真っ白になってハングアップする。
(ソフトはマーケット ワーカー)
以上。
0571デフォルトの名無しさん
2011/06/15(水) 09:40:28.84RandomAccessFile 一つありゃじゅうぶんだ
0572デフォルトの名無しさん
2011/06/15(水) 09:47:36.73>>520から読み直そう!
0573デフォルトの名無しさん
2011/06/15(水) 10:49:22.47とりあえずrepaintを至る所に挿入してみたのですが変化ありませんでした。
paint部分がおかしいのでしょうか?
バイトコードの仕様は公開されてるんじゃなかったっけ。
cglibとか実在するし。
0576デフォルトの名無しさん
2011/06/15(水) 13:49:10.29至る所にというのは具体的にはどこだろう。
上でも書かれているように、ボタンを押したときにrepaintすれば十分な気がする。
あと、点滅したようになるっていうのも気になるんだけど、どこかでループしていたりはしない?
できることなら今あるコードを見せてもらえると早いんだけども。
0577デフォルトの名無しさん
2011/06/15(水) 15:04:48.19ごめんなさい、自己解決しました。
show()の前にhide()を使うことで再描画のように使えるのですね。
ちなみに至る所にというのは、メソッドが呼ばれた時やファイルを読み込む前後、Canvasメソッドを呼び出す前後など
重要そうな所の前後にぶちこんで、解決したら一つずつ消して挿入すべき所を割り出そうと思っていました。
0578デフォルトの名無しさん
2011/06/15(水) 15:08:13.210579250
2011/06/15(水) 17:41:53.100580デフォルトの名無しさん
2011/06/15(水) 17:42:33.76誤爆
0581デフォルトの名無しさん
2011/06/15(水) 18:26:41.13アプレットだけどなんとなく動くよ。参考にしたらどうかな
ttp://www.age2.tv/rd05/src/up2489.zip.html
0582デフォルトの名無しさん
2011/06/15(水) 19:32:58.350583デフォルトの名無しさん
2011/06/15(水) 20:14:13.21つ ttp://java.sun.com/javase/ja/6/docs/ja/api/java/lang/InterruptedException.html
0584デフォルトの名無しさん
2011/06/15(水) 21:12:19.45cglibならjavassistだな
0585デフォルトの名無しさん
2011/06/15(水) 21:36:59.48JSP の記述は、ページを開いたときに必ず実行されますか?
リンクから移動したとき、ブラウザの戻るボタンで戻ったとき、などです。
0586デフォルトの名無しさん
2011/06/15(水) 21:46:28.34POST で表示されたページの場合
→ブラウザに「再送信しますか?」ときかれて「いいえ」と答えた
場合は実行されない。
GET で表示されたページの場合
→なんか http のヘッダでごにょごにょすれば、ブラウザの挙動
にもよるかもだか、再実行しない場合もありうる。
0587デフォルトの名無しさん
2011/06/15(水) 22:35:58.66ありがとうございます。
ちょっとしたページを作っているのですが、
キャッシュが邪魔をしてうまくいかないのです。
※アクセス時のセッション変数の値で処理を分ける画面です。
0588デフォルトの名無しさん
2011/06/15(水) 22:37:19.370589デフォルトの名無しさん
2011/06/15(水) 23:44:48.390590デフォルトの名無しさん
2011/06/15(水) 23:52:35.65モバイル機器向けブラウザだと無視するの多いらしいけどね。
0591250
2011/06/16(木) 00:08:44.59no-chace??????
0592デフォルトの名無しさん
2011/06/16(木) 00:51:31.81誰かこのプログラム作ってみてくれ
2つの整数を入力し、その2つの整数の間に存在する3の倍数を小さいほうから順に画面に表示するメソッド1を作成し、
画面から受け取った2整数に対してメソッド1を実行するプログラム2を作成せよ。
倍数が存在しない場合には"倍数は存在しません"と表示せよ
Main使って作る超基礎的なプログラムだと思うんだけど
手も足もでない
Scanner使うのか?
0593デフォルトの名無しさん
2011/06/16(木) 01:02:47.53頂いた回答を参考にして、ちょっと調べてみました。
以下のようなコードをレスポンスに設定すれば良いようなのですが、
ちょっと気になることがあります。
<%
try {
// キャッシュの有効期限をいじる
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance().set( 1970, 0, 1, 0, 0, 0 );
response.setDateHeader( "Last-Modified",cal1.getTime().getTime() );
response.setDateHeader( "Expires", cal2.getTime().getTime() );
// ヘッダデータをいじる
response.setHeader( "pragma", "no-cache" );
response.setHeader( "Cache-Control", "no-cache" );
} catch ( Exception e ) {
// キャッシュ無効化を諦める
}
%
cal1 は現在の日時を取っているらしいのですが、
その日時というのはサーバの日時という認識で合ってますか?
もしクライアントのだとしたら、パソコンの日時を 1970 年より前にされた時が不安ですので。
※最悪でも例外が発生するくらいだとは思いますが。
0594デフォルトの名無しさん
2011/06/16(木) 01:09:53.63Calendar ocal2 = Calendar.getInstance();
cal2.set( 1970, 0, 1, 0, 0, 0 );
にします。
ボケてました。
あと、最悪なのはキャッシュされてしまうことでしたね。
例外が発生しても同じかもしれませんが。
0595デフォルトの名無しさん
2011/06/16(木) 01:27:27.670596デフォルトの名無しさん
2011/06/16(木) 01:33:35.17http://hibari.2ch.net/test/read.cgi/tech/1276873238/
0597デフォルトの名無しさん
2011/06/16(木) 02:00:22.36ありがとう聞いてみる
でもそこ過疎もいいところだな
人がいて、特にまともに回答くれる人がいるスレなんてこことかぐらいなんじゃないの?
0598デフォルトの名無しさん
2011/06/16(木) 02:05:52.82System.out.println("hello world");
0599デフォルトの名無しさん
2011/06/16(木) 02:07:40.240600デフォルトの名無しさん
2011/06/16(木) 02:08:01.03さすがにそのくらいはできるわwww
1つ1つのプログラムはできるんだけど
いくつかの処理が混ざったようなのになると途端にできなくなる
やっぱプログラミングってセンスの問題だよな
0601デフォルトの名無しさん
2011/06/16(木) 02:56:10.610602デフォルトの名無しさん
2011/06/16(木) 03:58:45.00入力ってところをみるといい。
http://oku.edu.mie-u.ac.jp/~okumura/java2/io.html
0603デフォルトの名無しさん
2011/06/16(木) 04:11:28.781ヶ月やってこんなプログラミングもできないようじゃ
最終的に応用情報合格とか無理かな
今まで簿記やってて次で日商1級取るから情報系にも手を出してみようと思ったんだ
けど無理そうならそのまま簿記で上目指す
0604デフォルトの名無しさん
2011/06/16(木) 04:20:35.16さぁ、1ヶ月っていっても掛けた時間はわからないし。
ネットで調べてることしかしてなさそうな雰囲気だけど、
初学者向けの入門書で学習するのが一番効率いいと思う。
サンプルがのっている入門書があったとして、実際そのサンプルを入力して動かすことが楽しかったり、
微妙に変更して、動きを変更したりすることを楽しいと感じるなら、向いていると思う。
ちなみに応用情報はプログラム知識あまりなくても受かる。過去問重要。
0605デフォルトの名無しさん
2011/06/16(木) 04:25:20.39どう勉強してるかとかわかるのかすごいな
実際その通りです参考書とか使ってません
ただ既存のプログラムを入力して動かすみたいなのはやってる
それでちょっと自分で考えてやってみろっていわれた問題が>>592でごらんの有様
応用情報ちょっと希望持てたらわ
まあ基本情報受かったらまた考える
0606デフォルトの名無しさん
2011/06/16(木) 06:55:45.811.ある数より大きい3の倍数をみつけるしくみを考える
2.1.を3つみつけるまで続ける
3.2.にもうひとつの数を越えないように制限する
4.間にひとつもないときに表示する
5.入力された2つの数を都合の良い用に入れ替える仕組みを考える
プログラムは問題解決をプログラミングに向くように制限しつつ考える事だから、ある程度やらないと向いているかはわからんね
プログラミングに向くようにの部分は経験だから時間を掛ければ上達する
0607デフォルトの名無しさん
2011/06/16(木) 07:16:54.54response.setHeader("Expires", "-1");
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
%>
でいいよ
0608デフォルトの名無しさん
2011/06/16(木) 07:22:39.53有効期限やヘッダ値を見ないブラウザには無効だけどな
0609デフォルトの名無しさん
2011/06/16(木) 07:35:15.33セッション変数に特別な意味を持たせた値を格納しといて、
毎回それで判断するようにするとか
AJAXでサーブレットに毎回なげて判断あおぎゃそれでいいじゃん
あと、キャッシュ無効だけど、
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META EQUIV="expires" CONTENT="-1">
じゃ駄目なのか?
0610デフォルトの名無しさん
2011/06/16(木) 08:03:26.08調べたところ、応答をapplication/octet-stream形式にすればよいことが分かりました。
しかし、エラーが発生した場合やアクセス拒否をしたい場合、どのような応答を返せばよいのか分かりません。
まさか、不正アクセス者にはウィルスを返す・・・とかやる訳にはいきませんしね・・・。
システムの仕様に従って作ればいいんですよ。
まさか、仕様も決めずにに実装してる?
0612デフォルトの名無しさん
2011/06/16(木) 08:28:54.69趣味的なプログラム開発なので・・・。
ファイルのアプロダを作ってみたいのです。
出来がよかったら、公開もしてみたいです。
エラーに対応したページ作って、web.xmlに記載すればいい。
0614デフォルトの名無しさん
2011/06/16(木) 09:46:53.35こういうレス待ってた
2345は作れるんだけど、まず1ができない
3で割ればいいのか?
自分で考えてたのは
1.2つの整数x,yを入力
2.2つの整数を引き算するx - y = n
3.nに含まれる3の倍数を表示する
的な処理でやろうとしたんだけどそのときも3の倍数を抜き出せなかった
0615デフォルトの名無しさん
2011/06/16(木) 10:19:54.720616デフォルトの名無しさん
2011/06/16(木) 10:34:03.76関数型言語に引っ越せ
0617デフォルトの名無しさん
2011/06/16(木) 10:34:08.14まだプログラミングで%は使ったことないです
使ってるのはScanner double int if Main return print newぐらい
でも%できるならちょっとやってみる
別に教えてくれてもいいんだぜ( 'ー`)
0618デフォルトの名無しさん
2011/06/16(木) 10:35:45.45>>606見て書いてみた。参考程度にどうぞ。
もう少しまとめられそうな気もするけど一応ちゃんと動く。
Scanner初めて使ったけどそこそこ便利だね。
行数自体はBufferedReaderで読んでInteger.parseIntで変換したのと
そんなに変わってないけどソースコードが読みやすいと思った。
http://www1.axfc.net/uploader/Sc/so/245379
0619デフォルトの名無しさん
2011/06/16(木) 10:48:12.97それだと、入力に負の整数が入ると動作がおかしくなるぞ
開始に-5とか入れると、-3も出るはずなのが出てこない
0620デフォルトの名無しさん
2011/06/16(木) 10:51:34.75>>619
これから学校だから休み時間にでも見てみる
ありがとう
0621デフォルトの名無しさん
2011/06/16(木) 11:19:16.89負の範囲を考えてなかった。
あとループの終了条件が to以下 でなく to未満 になってた。
それと負の範囲と非負の範囲に分けて処理するように修正。
これで大丈夫なはず。
http://www1.axfc.net/uploader/Sc/so/245385
0622デフォルトの名無しさん
2011/06/16(木) 12:26:55.320623デフォルトの名無しさん
2011/06/16(木) 12:27:04.84ちゃんとできました!!
でもI0Exceptionとかbooleanとかはまだなので参考にしながら使える関数で簡単に作る
最終的にcmdで
javac a.java
java aMain
で実行の形にしたい\(^O^)/
0624デフォルトの名無しさん
2011/06/16(木) 12:45:24.51Javaはファイル名とクラス名は同じじゃないといけない。
このプログラムの場合同じにしていれば変えても動くよ。
だから a もしくは aMain のどっちかしか無理だと思う。
課題か何かでファイル名指定されてるの?
0625デフォルトの名無しさん
2011/06/16(木) 13:05:15.11気になって調べてみた。結果>>624は誤りだった。
実際に試してもみたんだけど、public と宣言についているクラスは
1ファイルに1つのみ宣言できて、宣言のあるファイルは
そのクラス名と同名にしなくてはならない。
でも public をつけなければその必要がない。
だからクラス宣言の public をはずせば
ファイル名を a に、クラス名を aMain にできる。
参考URL
http://www.ne.jp/asahi/hishidama/home/tech/java/class_def.html
0626デフォルトの名無しさん
2011/06/16(木) 13:26:05.46おお、本当だ
つーか public をつけないクラスとかは知ってるしよく使ってたけど
その中の public static void main() が起動できる事は知らなかったわ
0627デフォルトの名無しさん
2011/06/16(木) 17:19:45.62なんか今やってるのは1つのファイルに2つのクラスを記述するってやつなんだ
インスタンスとコンストラクタってのかな?
そんで関数もあまり使わずにすげー簡単に作ってる
習ったプログラムを参考にしたのをあげると
0628デフォルトの名無しさん
2011/06/16(木) 17:19:56.81String voice;
void bark(){
System.out.println(voice);
}
}
class InuMain{
public static void main(String[] args){
Inu Inu = new Inu();
Inu.voice = "にゃんにゃん";
Inu.bark();
}
}
こんな感じ
作ったってか改変しただけだけど
ここで教えてもらったプログラムを参考にいろいろ考えたんだけど
この形に当てはめることがどうしてもできない
1つ目のクラスで数値の入力、
2つ目のMainのほうで3の倍数の抽出処理にすればいいのかな
逆か?
0629デフォルトの名無しさん
2011/06/16(木) 18:33:55.03public static void main(String args[]) {
int kokugo[] = {85, 55, 92};
for (int i = 0; i < 3; i++) {
}
System.out.println();
}
}
こう書いた場合、国語の合計はどう表示させればいいんですかね?
85点、55点、92点の合計ですけど
0630デフォルトの名無しさん
2011/06/16(木) 18:38:19.220631デフォルトの名無しさん
2011/06/16(木) 18:40:50.890632デフォルトの名無しさん
2011/06/16(木) 18:44:01.43クラス名が平均で、実際の処理は合計なの?
取り合えず合計はkokugo[]の下にkokugo_sunとでもint型の変数作って、書く要素を+=すれば良いよ
0633デフォルトの名無しさん
2011/06/16(木) 18:46:09.60public static void main(String args[]) {
int kokugo[] = {85, 55, 92};
int sum = 0
for (int i = 0; i < 3; i++) {
}
System.out.println(sum);
}
}
ループのところで足したいんだけどどう書けばいいんですか?
馬鹿なんで分からんのですよ
0634デフォルトの名無しさん
2011/06/16(木) 18:48:47.14とりあえず5教科の教科ごとの合計と教科ごとの平均を生徒に見立てたiを使ってやろうとしているのですよ
合計出せないんで平均までいかんのですよ
0635デフォルトの名無しさん
2011/06/16(木) 18:49:02.32えーと、驚愕すればいいんですか?
0636デフォルトの名無しさん
2011/06/16(木) 18:49:52.25だから、ループの中で
sum += kokugo[i]
するだけだって言ってんだろ
0637デフォルトの名無しさん
2011/06/16(木) 18:51:10.90だろうと思ったから、kokugo_sumって変数で作れって言ったのに。。。。
0638デフォルトの名無しさん
2011/06/16(木) 18:52:19.00ああああああああ
そういえばそうですね
いやもう何か最近書いてて何やってるのか分からなくなってくるんですよね
0639デフォルトの名無しさん
2011/06/16(木) 18:54:59.480640デフォルトの名無しさん
2011/06/16(木) 18:55:09.94または
sum = sum + kokugo[i];
0641デフォルトの名無しさん
2011/06/16(木) 18:57:11.700642デフォルトの名無しさん
2011/06/16(木) 19:01:05.65たぶん逆だね。
外部から与えられた情報で何かするクラスを宣言して、
Mainの方でそのインスタンスに情報与えて利用する。
0643デフォルトの名無しさん
2011/06/16(木) 19:03:22.45C#の方が使いやすいんだけど、自分でも答えられそうな簡単な質問がjavaスレでしか出ないだけだったりする
デスマに陥った時ってそうなるよな
0645デフォルトの名無しさん
2011/06/16(木) 19:33:49.070646デフォルトの名無しさん
2011/06/16(木) 19:55:26.150647デフォルトの名無しさん
2011/06/16(木) 20:01:21.14それについて調べてみます。
0648デフォルトの名無しさん
2011/06/16(木) 20:28:41.75確認画面とかで HTML に吐く前に & < > " ' の5つを単純に置換するだけだろ。
hidden とかからデータとして取り出したときは逆の置換をするだけだ。
置換したのを忘れて更に置換とかそういう馬鹿をやらなきゃ狂わない。
まあ、俺は昔何度かやっちまったけどな。
文字列が長くなったせいでデータベースが更新できなくなって焦った。
0649デフォルトの名無しさん
2011/06/16(木) 20:43:43.15==で判定するのと、equalsで判定するのはどっちでもいいんでしょうか?
こういうときにこっちを使ったほうがいいとかそういうのはあるのでしょうか?
intent.putExtra("key","一");
アクティビティで"一"という文字を別のアクティビティに送りました。
String s = intent.getStringExtra("key").toString();
textview.setText(s);
とやったところTextViewに"一"と表示されるのですが、
if(s == "一"){
textview.setText(key);
}
とif文を囲ってみたら何も表示されなくなりました。
sはif文の中の"一"とは別物なのでしょうか?
また、if文の"一"と同じにするにはどうすればいいでしょうか?
長文すみません。
0651デフォルトの名無しさん
2011/06/16(木) 21:31:05.47ありがとうございました。
web.xml は盲点でした。
仕様を調べてみます。
0652デフォルトの名無しさん
2011/06/16(木) 21:32:36.60public static void main(String args[]) {
int kokugo[] = {85, 55, 92};
int suugaku[] = {64, 77, 80};
int rika[] = {98, 69, 88};
int syakai[] = {70, 60, 95};
int eigo[] = {72, 52, 85};
int sum[] = new int[5];
doubule avg[] = new double[5];
for (int i = 0; i < 3; i++) {
sum[0] = sum[0] + kokugo[i];
sum[1] = sum[1] + suugaku[i];
sum[2] = sum[2] + rika[i];
sum[3] = sum[3] + syakai[i];
sum[4] = sum[4] + kokugo[i];
}
System.out.println(sum[0]);
System.out.println(sum[1]);
System.out.println(sum[2]);
System.out.println(sum[3]);
System.out.println(sum[4]);
}
}
これ短くするのって2次元配列とかいうの使わないと駄目なの?
0653デフォルトの名無しさん
2011/06/16(木) 21:38:44.29ループを入れ子にすればいいのに
0654652
2011/06/16(木) 21:40:40.12生徒毎の、合計点と平均点
教科毎の、合計点と平均点
やらんといかんのに
0655652
2011/06/16(木) 21:51:04.53for (int j =0; i < 5; j++) {
}
}
こういうことですか?
0656650
2011/06/16(木) 21:59:03.920657デフォルトの名無しさん
2011/06/16(木) 22:11:56.260658デフォルトの名無しさん
2011/06/16(木) 22:21:06.19同一性、同値性でググろう!
0659デフォルトの名無しさん
2011/06/16(木) 23:28:23.78"text" == "text" → true
("te" + "xt") == "text" → false
"text".equals("text") → true
("te" + "xt").equals("text") → true
0660デフォルトの名無しさん
2011/06/16(木) 23:48:24.87> ("te" + "xt") == "text" → false
気持ちはわかるが、これもtrueなんだよ…
0661デフォルトの名無しさん
2011/06/17(金) 00:07:19.22"te".concat("xt") == "text" → false
2つ目の例で言いたかったのはこういうことかと。
Stringクラスのconcatメソッドは結合した文字列を新たに生成する。
たしか "te" + "xt" みたいに定数同士の結合は
コンパイラが自動で結合済み("text")の状態にしていたと思う。
メソッドなどで動的に生成するとインスタンスが別に作られる。
0662デフォルトの名無しさん
2011/06/17(金) 00:12:55.56昔から疑問に思ってたんだが、
結局、これって
ポインターを見せないための
まやかし、というか
まがいもの、というか
付け刃だよねぇ。
0663デフォルトの名無しさん
2011/06/17(金) 00:20:21.36ごめん、もうちょっと詳しく。
0664デフォルトの名無しさん
2011/06/17(金) 00:35:42.64俺の勝手に思っている印象をそんなに聞きたいのか?
まあいいけど。
ひとことで言えば、ポインターを意識すりゃ、アドレスなのか、
間接参照なのかで明確に区別できることを、
==なんぞで一緒くたに判断させてるって感が否めないってことだけど。
0665デフォルトの名無しさん
2011/06/17(金) 00:40:13.34ん?んん?>>649が言ってるような、==とequalsの使い分けが(初心者にとって)
わかりづらいのは、Javaがポインタを隠蔽してるから、と言っている?
ポインタのあるCでも同じような質問は繰り返されてきたと思うけど…?
0666デフォルトの名無しさん
2011/06/17(金) 00:46:23.83C++でも、ポインターがあるから、理解がしやすい、とでも言おうか?
ポインターが希薄だから無理があるというか、やっちゃいけないような気がする、と思うんだけど
0667デフォルトの名無しさん
2011/06/17(金) 01:11:05.61Stringクラスのequalsは文字シーケンスが等しいか判断するのに対して
==はObjectクラスのequalsと同じくオブジェクトが等しいかを判断するものです
オーバーライドされてる意味を考えれば参照型で==を使うことはよくない
0668デフォルトの名無しさん
2011/06/17(金) 01:13:04.31==は同一性比較でなければならないなんてルールはない
GroovyやScalaではちゃっかり修正してあるし
0669デフォルトの名無しさん
2011/06/17(金) 01:40:49.47そもそも次元が違うから、override云々のセオリーは関係なくね。
==はequalsよりメタな存在だし。こういう事ができなくなる。
private final Descriptor
option1 = new Descriptor(),
option2 = new Descriptor(),
option3 = new Descriptor();
Map<Descriptor,String> map = 略;
map.put(option1,"a");
map.put(option2,"b");
map.put(option3,"c");
map.get(option1);
map.get(option2);
map.get(option3);
これ、単に文字比較するより早い。
0670デフォルトの名無しさん
2011/06/17(金) 01:46:04.11複数スレッドで同期を取りたい設定Aを管理するため、管理用のクラスAを用意し
この中で、設定変更メソッド内にてsynchronizedで同期を取るようにしています。
各スレッドごとに、この設定Aの変更と同期して行いたい処理があるため、クラスAの
設定変更メソッドに、同期処理内容を引き渡しして、クラスAの設定変更メソッドの
synchronizedブロック内で実施させることを考えています。
質問一つ目
上記の方法は適切でしょうか?
質問二つ目
適切な場合、同期処理内容の引渡しはどのように行うべきでしょうか?
RunnableのrunをOverrideしたものを引き渡すとかでもよいのでしょうか?
それとも、専用クラスを作成すべきでしょうか?
よろしくお願いします。
0671デフォルトの名無しさん
2011/06/17(金) 01:50:15.46移譲使ってAからインターフェイス経由で呼べばいいよ
0672デフォルトの名無しさん
2011/06/17(金) 02:33:46.97Mapのキーが等しいか==を使って判断してるってこと?
Descriptorが同じ値を返すhashCodeとtrueを返すequalsをオーバーライドすれば
Mapのキーは同じものとして扱われるから関係なくもないと思うが
0673デフォルトの名無しさん
2011/06/17(金) 06:05:52.84みなさん回答ありがとうございます
なんか難しそうな話してるのでとりあえずは==でやっていこうとおもいます
もうちょっと勉強してきます!
0674デフォルトの名無しさん
2011/06/17(金) 06:10:50.53まあ課題作れれば十分なんだろうけど。
0675デフォルトの名無しさん
2011/06/17(金) 07:38:45.290676デフォルトの名無しさん
2011/06/17(金) 08:55:47.55サーバ上に置いて使ったり再配布(改版なし)してもよかですか?
0677デフォルトの名無しさん
2011/06/17(金) 09:53:36.79検索すれば直ぐ出てくるじゃないか。
http://www.oracle.com/technetwork/java/faq-135477.html#free
0678デフォルトの名無しさん
2011/06/17(金) 10:41:05.040679デフォルトの名無しさん
2011/06/17(金) 12:55:33.740680デフォルトの名無しさん
2011/06/17(金) 13:27:13.060681デフォルトの名無しさん
2011/06/17(金) 14:33:57.59main.javaの中で
String name = "aiueo";
このnameを
Output.java
の中で、使いたいんだけど
main m = new main();
m.nameって感じには出てこないし、
Getterを作って
String getName(String name) {
return name;
}
m.getName();
とも出てこない
どうしたらいいの?ちなみにこのサンプルは適当に作ったから実際はちゃんとしたデータを引き取りたい
0682デフォルトの名無しさん
2011/06/17(金) 14:42:01.58publicクラス内じゃ出てこないのな・・・
関数内でやったらでてきたお騒がせなり
0683デフォルトの名無しさん
2011/06/17(金) 14:55:04.43main mm = new main();
して
とあるクラス内に
String a = mm.name;
↑null
String a = mm.getName()
↑これ出てこない
(´・ω・`)なにゆえ
0684デフォルトの名無しさん
2011/06/17(金) 15:05:09.42でもやっぱりnullしか帰って来ない
0685デフォルトの名無しさん
2011/06/17(金) 15:12:59.130686デフォルトの名無しさん
2011/06/17(金) 15:14:32.76じゃあ教えておくれよん・・・
0687デフォルトの名無しさん
2011/06/17(金) 15:17:04.260688デフォルトの名無しさん
2011/06/17(金) 15:20:15.63ふむ、 A.java と B.javaがあったとしてAがメインクラスとする。
B.javaから、A.javaにある nameっていう変数の中にあるものを取り出したい。
その時どうすればイイ?って話です。
extends A以外の方法で知りたい
0689デフォルトの名無しさん
2011/06/17(金) 15:23:33.28パッケージ java
でググってみてはどうだろう?
0690デフォルトの名無しさん
2011/06/17(金) 15:48:23.79対応できるように実装してくださいね。
0691デフォルトの名無しさん
2011/06/17(金) 15:53:56.33thx,メインクラスをimport したら、コール入った
0692デフォルトの名無しさん
2011/06/17(金) 17:05:48.510693デフォルトの名無しさん
2011/06/17(金) 17:10:24.62先生、import jp.test.*じゃなくて、mainにして
main mm = new main(); ←※1
nameB = mm.getName();
って取り出そうとしてもnullが入る(´・ω・`)
呼び出しはA.javaの関数いってるんだけど、その中身がnullになってる…
なにゆえですか(´・ω・`)
参照するのに※1でnewしてるからですかね。
0694デフォルトの名無しさん
2011/06/17(金) 17:22:18.18小文字のmainは予約語だから、使っちゃイヤン
0695デフォルトの名無しさん
2011/06/17(金) 17:25:57.05クラス名は大文字で始めないとエラーになるんだよ
逆にメソッドは小文字で始めないとエラーになる
。。。大分忘れてるなぁ
0696デフォルトの名無しさん
2011/06/17(金) 17:27:15.290697デフォルトの名無しさん
2011/06/17(金) 17:32:24.03あ、いや実際は別名になってます。
jp.test.java;
A.java
public class MyA {
public gName;
中略
public とあるクラス {
setName();
}
private void setName(String name) {
gName = name;
}
public String getName {
return gName; ←呼ばれる前には ”あいうえお”が入ってる、呼ばれるとnullになってる
}
}
B.java
jp.test.java
import jp.test.java.MyA
public MyB {
MyA mm = new MyA();
とあるクラス{
String a = mm.getName(); ←nullが来る
}
}
こんな感じです
0698デフォルトの名無しさん
2011/06/17(金) 17:33:49.86ブレークポイントポチりながら動きみてったので、確かにMyA.javaの
getNameまでは行ってるんですが、その時みたら中身null(´・ω・`)
0699デフォルトの名無しさん
2011/06/17(金) 17:39:34.010700デフォルトの名無しさん
2011/06/17(金) 17:44:04.51コンパイルエラーになるのではなく公式のAPIの命名規則がそうなだけ。
クラス名は単語の先頭が大文字、
メソッド名は一番最初以外の単語の先頭を大文字。
コーディング規約の和訳版の命名規則の章
http://numata.designed.jp/javacodeconv/CodeConventions.doc8.html#367
0701デフォルトの名無しさん
2011/06/17(金) 17:44:29.65もうちょっと具体的にコードを晒して欲しいところだがエスパーすると、
同じ名前の別のクラスのインスタンスを作っているとか、別のインスタンスのgetNameを呼んでるとか
0702デフォルトの名無しさん
2011/06/17(金) 17:47:57.58多分、初期化してる場所に問題があるんじゃ無いかな
使う時には、すでにmmの寿命が尽きてて、空っぽになってる可能性がある
変数の寿命の範囲(スコープ)を見直してみては?
0703デフォルトの名無しさん
2011/06/17(金) 17:58:55.47A.javaからB.javaを呼び出す前までは
そこに保存データまでのリンクパスが残ってるんだけど "/うんたら/かんたら/これこれ/データ.jpg"
みたいな感じで(ブレークポイントをその場所に設定して、中身確認済み)
で、B.javaの方でその保存パスが欲しくて
○ String a = mm.getName(); // ○はブレークポイント
で潜っていくと、 A.javaにいって、 return 部分のデータを覗いてみると
name = null;
になってる感じですね。
初期化に関してはしていないというか、gNameの部分は毎回nameによる上書きをしているので
新しくname内に生成されない限りは問題ないはずなんですが…実際そこは通ってないですし
(2回目勝手に走ってるのか確認のためブレークポイントいれてみたけど、2回目通ってる形跡なし)
宣言部分もgNameに関してだけいえば、クラス直下なので、起動直後しか通らない(´・ω・`)
0704デフォルトの名無しさん
2011/06/17(金) 18:21:52.32http://ideone.com/TAopo
こんな感じ?ですかね
クラス直下に、gName;があって
関数内で作った、nameをgNameに保存
で、B.javaで呼び出す感じ
MyA a = new MyA();
の部分に関しては、MyB直下で宣言しても変わらないかな
0705デフォルトの名無しさん
2011/06/17(金) 18:23:23.31上のコード断片見て、まさかとは思うけど、setNameがprivete宣言なのかな?
実際のコードではpublic宣言されてる事を祈るけど
(でも、それだとMyBでsetName使おうとするとエラーになるか。。。)
とにかくね、gNameかMyAクラスのどっちかが、すぐに寿命になってると思うから、コードを見直してみて
0706デフォルトの名無しさん
2011/06/17(金) 18:38:58.13うろ覚えで悪いけど、int,charとかの基本型以外は参照渡しだったと思うんだ
つまり、tekitouメソッド内のnameが消滅した時点でgNameはnullになってるんじゃないかな
0707デフォルトの名無しさん
2011/06/17(金) 19:35:50.63publicにしてます。
>>706
Class直下に、gNameと同様に、name宣言をおいてみましたが
やはりgetNameするときにはnullになってました。
なぜ保存されない…
0708デフォルトの名無しさん
2011/06/17(金) 19:46:12.70うーん
多分、nameと言うより、"あいうえお"みたいな文字列そのものの寿命がメソッド内で消滅するんじゃないかなぁ
コンストラクタでnameに代入しちゃダメなのかい?
0709デフォルトの名無しさん
2011/06/17(金) 20:13:08.20Google先生で検索してもPHPの情報しか出てこなかったので、
もしかして関係ないのかなー、と。
0710デフォルトの名無しさん
2011/06/17(金) 20:49:45.63Web系知らんので、方針しか言えないけど、ヌルバイト攻撃とはどう言う攻撃かを知れば、php独自の問題か、Web系全体共通の問題かが分かると思う
0711デフォルトの名無しさん
2011/06/17(金) 21:05:39.88前者の使い方は何となく分かりましたが、後者が分かりません。
とりあえず、CentOSにyumでインストールした直後のところです。
この段階からどうすればよいのでしょうか?
同じマシン上からなので、JavaMailに設定するSMTPサーバのアドレスはlocalhostでよいとは思うのですが、
その他の送信元アドレスやら認証やらが分かりません。
スパム送信機にされないよう、セキュリティ高めの設定を教えてください。
0712デフォルトの名無しさん
2011/06/17(金) 21:20:02.23うん。具体的にはFileクラス周りが拙いらしい。CのIOを叩くからね。
具体的にはrequest.getParameterで取ってきた文字列を直接Fileクラス
にファイル名として突っ込んだりすると拙いらしい。
ただそんな設計はヌルバイト攻撃以前の問題だと思うのであまり話題に
ならないのかもしれない。
0713デフォルトの名無しさん
2011/06/17(金) 21:51:34.41とういかソースちゃんとはらないと、わかんないよw
697にしたって「public String getName {」とか文法おかしいしw コピペみすってるとしか思えない。
0714デフォルトの名無しさん
2011/06/17(金) 21:57:40.55もう釣られないクマー
0715デフォルトの名無しさん
2011/06/17(金) 22:46:12.15m(_ _)m
0716デフォルトの名無しさん
2011/06/17(金) 22:50:37.38個人の趣味でプログラミングしてると、有料サポートってのは受け難いですよ
そりゃ仕事のときは、必要ならサポート受けますよ、会社のお金で
(もっとも最近はプログラミングやらないので、システムの構築ばっかの質問ですけどね)
0717デフォルトの名無しさん
2011/06/17(金) 22:54:30.47PHPだろうがJavaだろうが、入力値をちゃんとチェックしておけばNULLバイト攻撃は防げるよ。
ユーザーからの入力値をそのまま信用しなければ、PHPでもJavaでも問題にはならない。
ちょっと調べた感じ、フレームワークにはNullバイトチェックの仕組みが実装されていそうだけど、
全く無関係かどうかはちょっとわからないね。
0718709
2011/06/17(金) 23:25:18.96>>710
文字列の途中に\0を挿入することで、
その後に続く文字列のチェックを回避する攻撃らしいです。
Javaで起きるとしたら、起きないはずのところで例外発生とかが出て、
サーブレットが落ちたりDBやファイルから情報抜かれたりするのかなー、
というくらいの認識です。
ただ、Javaって\0以降の文字列なんてのを認識したっけ?
という疑問がありますね。
Cだとchar型のバッファ領域確保して、\0までを文字列として扱っていたので、
それ以降にも値が存在する訳ですが。
Stringだと持っているのか捨てているのかクリアしているのか分からないですね。
>>712
ファイル名絡みは確かに怪しいですね。
ウェブでユーザからの入力値のチェックをしないことはないですが、
ファイル名に使わないように特に注意します。
>>717
了解しました。
入力値チェックの強化をアレコレ考えてみます。
うーん、ウェブは難しいですね・・・。
0719デフォルトの名無しさん
2011/06/17(金) 23:36:59.470720デフォルトの名無しさん
2011/06/18(土) 00:49:08.92まさかとはおもうけど、MyAのTeKiTouを呼んでないって落ちじゃないよね?
0721デフォルトの名無しさん
2011/06/18(土) 01:27:58.12混乱するようなことを書いて申し訳ないが
結局
SQLインジェクションも
XSSも
ヌルバイト攻撃も
基本的には同じなんだよね。
で、Java側で防げるものとも限らないし、
OS、Webサーバ、DB側での対応も必要なケースもあったりするし。
多分今後10年UniCodeあたりで同じような問題が
雨後のたけのこのように出てくるだろうね。
0722デフォルトの名無しさん
2011/06/18(土) 01:46:04.27こんな馬鹿が大勢居るから、問題が解消できないんだよ。
ユーザの入力を信用しないところまではOKだけど、
入力値をちゃんとチェックしておけばOK・・・なんてアフォなwww
0723デフォルトの名無しさん
2011/06/18(土) 01:48:37.610724デフォルトの名無しさん
2011/06/18(土) 01:51:51.95そんなん、具体的に書けないから問題なんだろwww
馬鹿?
例えば、
安全なパスワード入力用Class作りました。
記号は全部NGです、
ってなw
馬鹿を通り越してんなwww
0725デフォルトの名無しさん
2011/06/18(土) 01:54:25.200726デフォルトの名無しさん
2011/06/18(土) 01:55:41.04>ただ、Javaって\0以降の文字列なんてのを認識したっけ?
試せば良いじゃん。
System.out.println("a\0b");
System.out.println(("a\0b").length());
結果は"a b"、3。
Javaはヌル文字も一文字として数えるし、ヌル文字のあとの文字列も無視
しない。Stringはバイト列と文字列長の両方を保持しているわけで。
なので本来はJavaではヌル文字問題はそれほど気にしなくて良い。
注意しなければならないのは文字列をファイルIOなどCの関数を叩くAPI。
Cの関数だけにバイト列だけを渡すものだからヌル文字問題が起きる。
ちょっと面倒だけどシェルコマンドを実行するexecも同じ問題があるから
試してみると良い。
Process p = Runtime.getRuntime().exec("cmd /c echo a\0b");
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
p.waitFor();
System.out.println(reader.readLine());
Windows上のOracleのJREだと"a"しか表示されないよ。
0727デフォルトの名無しさん
2011/06/18(土) 02:03:27.61俺が攻撃者で、かつ
a\0b がユーザ任意に入力できるデータなら
このデータに続けて
\3b
を追加するw
意味は分かるよなwww
0728デフォルトの名無しさん
2011/06/18(土) 02:04:59.65ただ、まともなプログラマならクライアントから受け取ったdirtyな文字列を
サーブレット内で切った貼ったしてファイル名やシェルコマンドを組み立て
たりはしないと思う。
なんつうか、ヌル攻撃に絞った対策を気にする前にある程度基本的な作法を
守っておけば大半は回避出来るのではという印象。
0729デフォルトの名無しさん
2011/06/18(土) 02:06:41.54追加データは
0x3b 0x64 0x69 0x72 0x20 0x5c
0730デフォルトの名無しさん
2011/06/18(土) 02:09:07.35バリデーションで防げないっていうのか?
0731デフォルトの名無しさん
2011/06/18(土) 02:11:10.24そうかなぁ。
SQL文なんかは、普通に切り貼りしてるけど。
その切り貼りの仕方を工夫して安全度を少し高めてるだけのような気がするけど。
むしろ、ユーザ入力データからシェルコマンドが実行できるシステム
って言うだけで垂涎のターゲットだから論外だろってなら
よく分かる
0732デフォルトの名無しさん
2011/06/18(土) 02:19:12.05君は、安全のためパスワード入力には記号は使えません、
と宣言しているのなら、言いたいことはよく理解できる
が、そんなシステム、パスワードクラックしてくださいなシステムだけどなw
0733デフォルトの名無しさん
2011/06/18(土) 02:20:35.12記号は使えませんなんて一度も書いた覚えがないんだが?
君はバリデーション=記号をはじくこととでも思っているのかい?
0734デフォルトの名無しさん
2011/06/18(土) 02:24:06.47うん。バリデーションで防げると思う。やるべきだと思う。
ただ消毒済みだからヌル値は気にしなくていいや〜とか気を抜いてホイホイ
文字列連結してIOに渡したりしていると今度はディレクトリトラバーサルや
コマンドインジェクションを食らったりすると思うw
なのでヌル値問題の対策だけじゃなくて、入力された文字列は基本的に信用
しない、直接IOに食べさせない作法も伴わないとダメかなと。
>>731
PreparedStatement使わないのと? と書こうとして、DBのAPI周りのヌル
文字の扱いがちと気になった。どうなんだろう。
0735デフォルトの名無しさん
2011/06/18(土) 02:24:29.24バックエンドの仕様も無しにバリデーション
否
そもそもバリデーションで防げると思っている方が
おめでたい。
そんなもんで防げるんだったらOSやWebサーバ、DB側での
対応は不要なはずだが、現実は必須だ
危険なものをなぜに安全と言いたいのだ?
0736デフォルトの名無しさん
2011/06/18(土) 02:25:46.330737デフォルトの名無しさん
2011/06/18(土) 02:31:45.34たとえば、だ
ユーザがUTF8エンコードしたデータを投げた場合、
バリデーションが出来ないケースや、
バリデーションしてもヌルバイト攻撃が発生する可能性は十分ある
0738デフォルトの名無しさん
2011/06/18(土) 02:34:38.34例えは文字コードの問題だろう。
文字コードによっては入力値チェックを突破する場合もあるだろうが、
それはバリデーションの前に行うことではないのか?
0739デフォルトの名無しさん
2011/06/18(土) 02:41:25.04文字コードチェックはまさにバリデーションだよ。
その後サニタイジングした値を別の関数やシステムに転送するのが普通
じゃ、該当関数やクラスが
文字コードやバリデーションが行なわれた結果かどうかなんて認識できるのかい?
0740デフォルトの名無しさん
2011/06/18(土) 02:43:49.90原因がわかる方いらっしゃいますか?
http://petite-soeur.dyndns.org/cgi-bin/up2/src/ps28455.png
スレ違いだったらすみません
0741デフォルトの名無しさん
2011/06/18(土) 02:46:50.36パスワードのようにRawなデータを転送しなければならない場合に、
0xC0 0x80 のようなデータが来たとき、
システムはどう反応するんだろうね???
フロントエンドのJavaで対応するのかい?
バックエンドで対応するのかい?
バックエンドで対応しちまったときに、
場合によってはそのデータがNullと認識するシステムもあるんだぜ。
ま過去に少なくともそういうシステムがあったけどな
(バグフィックスという形で改修されたが)
こんなデータを含めて様々なバリエーションをバリデーションできるのかい?
0742デフォルトの名無しさん
2011/06/18(土) 02:50:11.88情報を付加することはできるだろうけどそのままでは認識できない。
言いたいことがよくわからないのだが、
汎用なメソッドでは汚染されているかどうかの確認がされないから、
バリデーションは無駄だというのかい。
0743デフォルトの名無しさん
2011/06/18(土) 02:54:15.45なんとなく言いたいことがわかってきたが、
rawなデータを扱う場合にNULLバイト攻撃を意識するのかっていう話にならないの?
その場合は、フロントエンドはすべてバイナリセーフにする以外に方法はないじゃない。
0744デフォルトの名無しさん
2011/06/18(土) 02:54:58.56入力チェックは最重要だが、
ヌルバイト攻撃が完全に防げるわけじゃない
防げると思っている人がいるなら、
そりゃおめでたいねぇ
と言いたい
0745デフォルトの名無しさん
2011/06/18(土) 02:58:42.55思うに、あんまり意見は食い違っていないような気がする。
入力チェックではヌルバイト攻撃を完全には防げないっていうのには同意。
ヌルが入る必要がないような場合では、入力値のチェックだけでどうにかなる・・・よね?
0746デフォルトの名無しさん
2011/06/18(土) 03:01:02.62いや、全てとは言わんが、
常識的に、
ユーザが任意で(ツール使用の有無を問わず)
入力できるデータには、少なくともバイナリセーフなコードが必要でしょ。
そうであっても解釈の問題云々でいろいろ問題が発生するんだから。
それを入力チェックだけでOKなんて
口が裂けても言えねぇwww
0747デフォルトの名無しさん
2011/06/18(土) 03:03:28.95とりあえずサニタイズしとけばOKはダメって話なだけだったのか・・・
色々と再確認できてよかったよ。トンクス
0748デフォルトの名無しさん
2011/06/18(土) 03:03:54.08入力チェックだけじゃ無理だろ。
パスワードの場合で
0xC0 0x80
をどうやって入力チェックで弾くの???
ウイルススキャナーにでも頼る????
0749デフォルトの名無しさん
2011/06/18(土) 03:06:08.06業務的な話だが、
みんなそんなにシビアにやっていないから、
そんなにシビアに考えることも無いよ、という結論も無いことも無い。
まあ、防げなかったときの事を考えてなにがし保険を掛けとくのは良い考え方かも。
0750デフォルトの名無しさん
2011/06/18(土) 03:07:41.81利用者からの入力を処理する所で注意を払う。
実際の処理をする段階でも再度チェックする。
一度でもチェックすれば、もう安全なんて過信するから事故は起きる訳で。
想定外の津波が来ることはナイト過信してメルトダウンした放射能事故から全く学んでない。
0751デフォルトの名無しさん
2011/06/18(土) 03:08:02.96冗長なUnicodeの話?
0752デフォルトの名無しさん
2011/06/18(土) 03:17:22.66そそ
>>751
冗長なUTF8の問題
ただ、将来的にはそれとは別にUniCodeの問題が発生するかも。
少なくともJavaのClassにもライブラリにもDLLにも、
Rawデータを扱うことが前提のものと、
UTF8、UniCodeの処理後の値を扱うものと混在している。
将来的にプログラマがそれらを正しく扱ってくれるかどうかは、
不 明
だよ
0753デフォルトの名無しさん
2011/06/18(土) 03:22:23.57もう少し正しく書くと、
今回は文字コードを例に取っただけで、
それ以外にも潜在的に問題を発生させる原因は多々ある。
HTMLしかり、SQLしかり、
そもそも、TCP/IPでデータの大きさをあらかじめ通知する機能が無い
という時点でかなり潜在的な問題が発生する可能性が否定できない。
0754デフォルトの名無しさん
2011/06/18(土) 09:32:16.430755デフォルトの名無しさん
2011/06/18(土) 10:01:21.13別のjarファイル(b.jar)のクラスでインポートして
b.jarのクラスのmainメソッドでhoge.Classのインスタンスを生成してるんだけど、
実行すると NoClassDefFoundError: hoge/Class が発生します。
実行時に-cpでカレント、a.jar、b.jarにクラスパスを通してます。
a.jarを解凍してhoge/Classをカレントに配置すると正常に動作します。
jreのバージョンは1.6.0_26です。
原因がわかる人いますか?
0756デフォルトの名無しさん
2011/06/18(土) 10:18:54.270757デフォルトの名無しさん
2011/06/18(土) 10:59:43.60入力チェックさえしてればヌルバイト攻撃は大丈夫って寝言言う人が居るから・・・
0758デフォルトの名無しさん
2011/06/18(土) 11:50:06.29ないない
次のバージョンで追加されるという話もあったけど
結局全く話がまとまらずに企画倒れ
0759デフォルトの名無しさん
2011/06/18(土) 11:52:22.450760デフォルトの名無しさん
2011/06/18(土) 12:21:04.30> TCP/IPでデータの大きさをあらかじめ通知する機能が無い
え?
0761デフォルトの名無しさん
2011/06/18(土) 12:29:57.400762デフォルトの名無しさん
2011/06/18(土) 12:46:42.93どうも思った結果が出なくて困っています
どこがおかしいか指摘していただきたいです
配列numberListはインデックスと同じ番号のカードの枚数のリストです
(10,11,12,13)と(1~8)の組み合わせでtrueになってしまいます
//ロイヤルストレートフラッシュか否かを判定
boolean royal(int[] numberList) {
boolean result;
int count = 0;
for (int i = 2; i < 10; i++)
if (numberList[i] == 0)
count = 0;
else
count = count + numberList[i];
if (count == 0)
result = true;
else
result = false;
return result;
}
ロイヤルストレートフラッシュは1,10,11,12,13
絵柄は判定済みなので省いています
0763デフォルトの名無しさん
2011/06/18(土) 12:54:20.86改行が多すぎます、と怒られました
連続した5枚でもfalseになってしまいます
//ストレートフラッシュか否かを判定
boolean straight(int[] numberList) {
boolean result;
int count = 0;
for (int i = 1; i < (numberList.length - 1); i++)
if (numberList[i] == numberList[i + 1])
count++;
if (count == 4)
result = true;
else
result = false;
return result;
}
0764デフォルトの名無しさん
2011/06/18(土) 13:03:41.09numberList[i] == 0の時にcountを0にリセットするのはまずいと思う
たとえばnumberList[9]の中身が0だったら他の数字と無関係にresult=trueになっちゃうだろ
0765デフォルトの名無しさん
2011/06/18(土) 13:20:58.16numberList[i] == numberList[i + 1]という条件は間違ってる
たとえば1,2,3,4,5という手札だったとしても、numberList[6]とnumberList[7]も中が0で等しいのでcountが増加してしまう
同様に他の比較でもcountが増加するので、count==4の条件が満たされない
0766デフォルトの名無しさん
2011/06/18(土) 14:11:29.14>>765
ありがとうございます
指摘されてみると単純なミスですね・・・
0767デフォルトの名無しさん
2011/06/18(土) 15:09:52.26>> TCP/IPでデータの大きさをあらかじめ通知する機能が無い
>え?
え?
Total Lengthの話をしてる?
シーケンス番号の話をしてる?
Windowサイズの話をしてる?
どれにしたってデータの大きさをあらかじめ通知する機能じゃ無い
ネットワークスレだからあまりうだうだ言いたかないが、
>>724あたりで馬鹿にされたからって、無理して背伸びするんじゃないよwww
0769デフォルトの名無しさん
2011/06/18(土) 15:56:14.70ヒントを出そう
ロイヤルの方の判定では「2〜9までの連続した手札がない」ことを手札の枚数を合計させて計算させている
ならばストレートフラッシュの方でも「i〜i+4までの連続した手札がある」ことを合計で求めることができるんじゃないか?
0770デフォルトの名無しさん
2011/06/18(土) 16:17:55.890771デフォルトの名無しさん
2011/06/18(土) 16:28:33.10当たり前だが、最善の答えがすでにネットで調べればすぐわかるんだから、
わざわざヒントとか言わんでも
http://www.suffecool.net/poker/evaluator.html
http://www.senzee5.com/2006/06/some-perfect-hash.html
完全ハッシュでの探索 これが最速らしい
0772デフォルトの名無しさん
2011/06/18(土) 16:33:49.87それじゃ相手の身につかないだろ
0773デフォルトの名無しさん
2011/06/18(土) 16:37:56.740774デフォルトの名無しさん
2011/06/18(土) 16:54:20.840775デフォルトの名無しさん
2011/06/18(土) 17:02:12.00やっぱラムダ式欲しいわw
いまの似非クロージャは、なんか無理してる感が。
0776デフォルトの名無しさん
2011/06/18(土) 17:29:17.28馬鹿をさらけ出してるお前はマゾ?
ウザイが、馬鹿丸出しなのがおもろいwww
0777デフォルトの名無しさん
2011/06/18(土) 18:08:06.55プ
0778デフォルトの名無しさん
2011/06/18(土) 18:43:16.640779Perl忍者
2011/06/18(土) 19:08:24.56http://d.hatena.ne.jp/sugyan/20110616/1308203734
ここに乗ってるのフォローしてくださいお願いします
お願いですjavascriptのみなさんおねがいです
おねがいです>>776さんフォローしてください
僕はゆとりですよろしく
0780デフォルトの名無しさん
2011/06/18(土) 21:12:38.490781755
2011/06/18(土) 21:21:14.09OSはWindows XP SP3です。
コマンドは以下のように入力しました。
java -cp .;b.jar;a.jar; Test
ソースはこんな感じです。
<hoge/Classs.java> → a.jar
package hoge;
public class Classs {
public void execute() {
}
}
<Test.java> → b.jar
import hoge.Classs;
public class Test {
public static void main(String[] args) {
Classs c = new Classs();
c.execute();
}
}
たーすけてー
0783デフォルトの名無しさん
2011/06/18(土) 21:49:56.69jar tf a.jar
で hoge/Classs.class が存在するか確認するといいと思う。
0784755
2011/06/18(土) 22:35:32.44確認しましたが存在しました。
ちなみに、jar -xf a.jar でクラスを抽出して
実行するとエラーが発生しないんです。
なんでですかねー???
0785デフォルトの名無しさん
2011/06/18(土) 22:36:54.54たとえば、
String[] a = {a,b,c,d,e};
って入っていたとして、
cの番地(上のでは2)を探す方法です。
0786デフォルトの名無しさん
2011/06/18(土) 22:45:24.81cを検索して、見つかった時のインデックス(番地?)を返せば良いだけじゃね?
番地と聞くとメモリのアドレスの方が浮かぶから、配列の添字は番地って言って欲しくないな。。。
0787デフォルトの名無しさん
2011/06/18(土) 23:19:27.460788デフォルトの名無しさん
2011/06/18(土) 23:24:11.57ソートされているんであればArrays.binarySearch
されていないんであれば逐次探索
StringならListに入れてindexOf
0789デフォルトの名無しさん
2011/06/18(土) 23:44:27.030790デフォルトの名無しさん
2011/06/18(土) 23:46:59.320791デフォルトの名無しさん
2011/06/19(日) 00:56:34.58import java.util.regex.Matcher;
import java.util.regex.Pattern;
String str = "あいう第一倉庫えお第二倉庫かきく第一倉庫けこ";
Pattern p = Pattern.compile(".*(第.+倉庫?).*");
Matcher m = p.matcher(str);
if(m.matches())
{
for(int i = 0; i < m.groupCount(); i++)
System.out.println(m.group(i));
}
0792デフォルトの名無しさん
2011/06/19(日) 01:00:16.58ここで、出力結果として
第一倉庫
第二倉庫
第一倉庫
と出てほしいのですが、現状は
あいう第一倉庫えお第二倉庫かきく第一倉庫けこ
第一倉庫
となってしまいます。
期待する結果となるようにするには、どのようにすれば良いでしょうか。
どなたかわかる方いらっしゃいましたらご教授ください。
0793デフォルトの名無しさん
2011/06/19(日) 01:35:18.79http://codepad.org/seprWfue
0794デフォルトの名無しさん
2011/06/19(日) 01:37:48.010795デフォルトの名無しさん
2011/06/19(日) 01:38:07.98Otherクラスかわゆすw
0796デフォルトの名無しさん
2011/06/19(日) 01:57:39.05ありがとうございます!
ばっちり出来ました。
Other ///
はともかく、本当に助かりました。
0797デフォルトの名無しさん
2011/06/19(日) 03:16:14.91描かれてないのに再送すべきか判断できないものw
cgiとかでhttpレベルでcontent-lengthが無いよwww
ってのはあり得るとは思うがw
ググったら、content-lengthで0を返す糞実装も世の中にはあるみたいねw
HTTP:Content-lengthを"0"と偽るWebサーバからのダウンロード時の検索動作
ttp://www.trendmicro.co.jp/esolution/solutionDetail.asp?solutionId=3784
0798デフォルトの名無しさん
2011/06/19(日) 05:49:18.860799デフォルトの名無しさん
2011/06/19(日) 06:58:51.93>tcpヘッダには描かれてると思うけどね。
思うけどね。って何だよwww
tcpには無いよ。
あるのはシーケンス番号だけだ
揃いも揃って馬鹿麦価だなwww
0800デフォルトの名無しさん
2011/06/19(日) 07:46:15.41未だにTCP/IPが主流なんだから、
TCPパケットの構造くらいは読んだ方がいい
っていうか、仕様が公開されてて、
解説も腐るほどあるものに対して
思うけどね。
とはw
0801デフォルトの名無しさん
2011/06/19(日) 08:23:56.72上のラベルには
23+3*5=
というように入力した通りに表示ささって、
下のラベルには、"="が押されたら23+3*5の計算結果を表示する
電卓プログラムを作っています。
もし、"="が押された際式の中に*があったら
その前後の数字をDouble型に変換して、計算するようなプログラムにしたいのですが、
どんな方法がありますか?
ちなみに、入力はすべてボタンで、
if (e.getSource() == this.button0) {
value = "0";
sourse.setText(sourse.getText() + button0.getText());
}
のように処理します。
0802デフォルトの名無しさん
2011/06/19(日) 11:01:52.66基本、入力不可なラベル2つ用意して、別に入力用のテキストボックス用意するのか?
何のためにラベルが二つも必要なのか分からん
0803デフォルトの名無しさん
2011/06/19(日) 11:22:07.88構文解析でググれ
0804デフォルトの名無しさん
2011/06/19(日) 11:30:31.360805デフォルトの名無しさん
2011/06/19(日) 11:52:08.210806デフォルトの名無しさん
2011/06/19(日) 12:03:27.70キーワードを教えてくれること。
これだけでも素人にはありがたい。
RTFMwww
とか書かれて、なにがなにやらだったw
0807デフォルトの名無しさん
2011/06/19(日) 12:55:42.91雑談から派生することもあるし。
0808デフォルトの名無しさん
2011/06/19(日) 13:12:24.22自分なりに調べたらjava.util.logging.FileHandlerが使えるかもしれない気がしましたが、
多くの端末からアクセスされる(マルチスレッド?)ことから使えるのか不安があります
また、接続元のIPアドレスを出力するのは基本だと思いますが、取得できますか?
0809デフォルトの名無しさん
2011/06/19(日) 13:24:23.22Fuck か Fullかは、議論の分かれるところwww
0810デフォルトの名無しさん
2011/06/19(日) 13:25:15.59こいつの涙目っぷりは、どこからきているんだい?
0811デフォルトの名無しさん
2011/06/19(日) 14:07:02.11Multitonってsynchronizedを使うべき?
マルチスレッド環境なんだけど。
0812デフォルトの名無しさん
2011/06/19(日) 14:30:17.73//cookie取得
String cookieValue = null;
try{
cookieValue = urlconn.getHeaderField("Set-Cookie");
}catch (Exception e) {
}
System.out.println( " cookieValue: " + cookieValue);
urlconn.setRequestProperty("Cookie", cookieValue);
urlconn.connect();
だと上手く喰ってくれず落ちます。
cookie喰わすのってconnect前なんでしょうか?
0813デフォルトの名無しさん
2011/06/19(日) 14:46:33.19Fineという説も。
0814デフォルトの名無しさん
2011/06/19(日) 14:59:52.27Fine がありえないからFuckだのFullだの見たいな話になるんじゃないのかなぁ。
FineなMがあったら見てみたいwww
0815デフォルトの名無しさん
2011/06/19(日) 15:01:31.66http://hatsukari.2ch.net/test/read.cgi/news/1308458713/
関連ニュース
迷走政権のツケずしり だぶつく仮設住宅、資材の在庫山積 住宅業界が悲鳴
政府は震災直後からプレハブ建築協会に仮設住宅の供給を要請。必要な戸数は4月上旬、
約7万2千戸に達し、専門のプレハブリース業者のほか、通常はプレハブを扱っていない
住宅メーカーも含めて、住宅業界が総掛かりで対応した。
そんな状況がみなし仮設導入後に一変。必要戸数が激減し、約2万1千戸分が宙に浮いた。
各社は発注済み資材のキャンセルを強いられ、間に合わない分は大量在庫となった。
住宅メーカー幹部は「仮設用に通常の住宅資材を短く切断して利用したり、
ユニットバスも小型のものを特別に注文したりして対応してきた。
今さら通常の顧客向けに転用することはできない」と指摘。
「最終的に廃棄処分も考えなければならない」(大手住宅メーカー)との声もある。
http://sankei.jp.msn.com/economy/news/110616/biz11061622440036-n1.htm
0816デフォルトの名無しさん
2011/06/19(日) 16:30:08.94どう使うにしてもライセンスを気にしなくて大丈夫ですか?
例えば、XML解析にSAXを使ったとして、
その解析をサービスの一部として提供したりです。
0818デフォルトの名無しさん
2011/06/19(日) 17:30:46.60自分で例外処理を作れるらしいがifと何が違うのよ
0819デフォルトの名無しさん
2011/06/19(日) 17:35:21.70お前は、マウスを動かした瞬間にif 文を発動するイベントドリブンができるとでもいうのか?
ある意味すげーな
0820デフォルトの名無しさん
2011/06/19(日) 17:40:54.130821デフォルトの名無しさん
2011/06/19(日) 18:24:16.690822デフォルトの名無しさん
2011/06/19(日) 18:56:24.220823デフォルトの名無しさん
2011/06/19(日) 19:01:57.37ソースは下記からTortoiseSVNでチェックアウトしましたl。
http://ps3mediaserver.googlecode.com/svn/tags/1.23.0/
build.xmlをantを使うみたいなのですが、「build install」と実行しても反応なしでした。
0824デフォルトの名無しさん
2011/06/19(日) 19:25:04.03ようやく戻ってきた。
あらあら。みんなにフルボッコされてんじゃん
0825デフォルトの名無しさん
2011/06/19(日) 20:02:53.860826デフォルトの名無しさん
2011/06/19(日) 20:12:47.38回答されるとは限らないけど
0827デフォルトの名無しさん
2011/06/19(日) 20:15:13.91丸投げだったら、暇なやつがいたらプログラムつくってくるかもねぇ。
場合によっては、スレ違いだよ。と言われる。
0828デフォルトの名無しさん
2011/06/19(日) 20:41:32.60使わない理由が思いつかんが
0829デフォルトの名無しさん
2011/06/19(日) 20:53:54.510830デフォルトの名無しさん
2011/06/19(日) 21:00:38.100831デフォルトの名無しさん
2011/06/19(日) 21:11:18.910832デフォルトの名無しさん
2011/06/19(日) 21:36:28.78antははいっているの?そしてパスは通っているの?
0833デフォルトの名無しさん
2011/06/20(月) 01:14:38.37HashMapの実装を目を凝らして見てみないと正確なことはいえないが
Javaのサンプルにおけるdouble-checked lockingバージョンは間違ってるので
参考にしない方がいい。
今は上手く動いても、将来的に実装が変わるかもしれないしな。
イラっと来たので落書き
0835デフォルトの名無しさん
2011/06/20(月) 06:27:58.33http://hibari.2ch.net/test/read.cgi/tech/1307166756/
0836デフォルトの名無しさん
2011/06/20(月) 10:03:28.88substring()みたいに開始位置、終了位置を指定できると理想なんですが
0837デフォルトの名無しさん
2011/06/20(月) 10:33:14.300838836
2011/06/20(月) 10:33:38.95普通に括弧でやるだけですね
0839デフォルトの名無しさん
2011/06/20(月) 10:51:44.80オススメのライブラリは何でしょうか?
0840デフォルトの名無しさん
2011/06/20(月) 11:13:41.56Googleの中の人たちが作ってるZXingとか
http://code.google.com/p/zxing/
0841デフォルトの名無しさん
2011/06/20(月) 12:05:13.95そう。そこら辺の話。シングルトンで常識なんだから、書いてなかったけど、マルチトンもだよね?ってことでConcrrentHashMap使うことにした。
0842デフォルトの名無しさん
2011/06/20(月) 13:55:04.10マルチトンってなんだよ…
0843デフォルトの名無しさん
2011/06/20(月) 14:08:40.78飛べない豚のこと
0844デフォルトの名無しさん
2011/06/20(月) 15:05:18.020845デフォルトの名無しさん
2011/06/20(月) 16:16:10.08読み方ちがう??>multiton
0846デフォルトの名無しさん
2011/06/20(月) 17:10:27.200847デフォルトの名無しさん
2011/06/20(月) 21:09:54.640848デフォルトの名無しさん
2011/06/20(月) 21:45:42.90ttp://en.wikipedia.org/wiki/Multiton_pattern
0849デフォルトの名無しさん
2011/06/20(月) 22:35:10.260850デフォルトの名無しさん
2011/06/20(月) 23:38:03.17Singletonのバリエーションとして広く使われていると思う。
0851デフォルトの名無しさん
2011/06/21(火) 00:00:30.24やっぱ、Javaじゃできないんでしょうか・・・
0852851
2011/06/21(火) 00:37:36.300853デフォルトの名無しさん
2011/06/21(火) 19:19:11.43環境構築の解説があるサイトを教えてください。
0854デフォルトの名無しさん
2011/06/21(火) 19:21:18.97情報の古いサイトも多いけどな
0855デフォルトの名無しさん
2011/06/21(火) 19:28:20.130856デフォルトの名無しさん
2011/06/21(火) 20:14:24.28そのサイトを教えてくれ。古すぎるにもほどがある。
0857デフォルトの名無しさん
2011/06/21(火) 20:59:37.23「JDK 6 Update 26 with NetBeans 7.0」
のインストーラをダウンロードするのが楽かな。
200年代の話はしらんが、環境変数 CLASSPATH にはなるべく頼らない方がいい。
0858デフォルトの名無しさん
2011/06/21(火) 21:57:43.71そりゃ、奈良時代にjavaがあったなんて新説もいいところだな。
素人の俺で良ければwww
まあ、
javaの道 か
浅煎り珈琲
最終的にはこのあたりに行き着くんだろうね。
eclipseさえ使ってれば、シンプルなsyntaxエラーは逐次随時に教えてくれるから、
その辺から修行をしたいんだったら、逆にeclipseは使うな。
手っ取り早くっていうなら絶対にeclipse使え。
0859デフォルトの名無しさん
2011/06/21(火) 22:56:53.73それを使ったプログラムを公開したり配布したり売ったりしても良いのですか?
0860デフォルトの名無しさん
2011/06/21(火) 23:04:51.080861デフォルトの名無しさん
2011/06/21(火) 23:09:46.62Pは簡単だよ
あっという間さ
Dは面倒
0862デフォルトの名無しさん
2011/06/22(水) 00:31:04.62XML形式の設定ファイルを読み込むためにorg.w3c.domパッケージのDOMを使っています
ちょっとした設定ファイルで、多くてもせいぜい30〜40ノード程度です
また、ネットで調べていると、DOMはメモリ消費量や速度が問題だと書いてあります
JDK標準のDOMを使った場合、SAXやXercesよりもどのくらい劣りますか?
0863デフォルトの名無しさん
2011/06/22(水) 00:57:50.320864デフォルトの名無しさん
2011/06/22(水) 01:09:30.480865デフォルトの名無しさん
2011/06/22(水) 02:39:21.400866デフォルトの名無しさん
2011/06/22(水) 04:19:59.030867デフォルトの名無しさん
2011/06/22(水) 07:28:58.63DOMとSAX以外にも処理方法があるのですか?
0868デフォルトの名無しさん
2011/06/22(水) 09:32:31.270869デフォルトの名無しさん
2011/06/22(水) 15:07:44.35必要があるのか、あるいは単にパフォーマンス厨なのかよく判らん。
0870デフォルトの名無しさん
2011/06/22(水) 15:12:06.210871デフォルトの名無しさん
2011/06/22(水) 15:32:42.70>速度とメモリの両立ならStAXじゃないだろうか?
わけわからん。SAXと比べて速度やメモリの使用量の点でStAXは
何かそんなに違うのか?
0872デフォルトの名無しさん
2011/06/22(水) 18:57:59.66アクセスログとかそういうのを出したいです
0873デフォルトの名無しさん
2011/06/22(水) 19:27:24.260874デフォルトの名無しさん
2011/06/22(水) 19:39:24.660875デフォルトの名無しさん
2011/06/22(水) 20:17:14.32標準API
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/logging/Logger.html
あとはlog4j以外だとslf4j
http://www.slf4j.org/
使い方は各々ググろう。
0876デフォルトの名無しさん
2011/06/22(水) 21:47:45.46調べてみると、フルパスでないとファイルを識別できないとか。
ウェブアプリで使うのにどないしろと?
どうしようもないので、DOM に戻しました。
0877デフォルトの名無しさん
2011/06/22(水) 21:49:33.23DOMの時は検証OFFにしてただけではないのか?
どうしたいの?
0879デフォルトの名無しさん
2011/06/22(水) 23:02:40.04検索ししポップアップウィンドウに表示するlingoesというソフトがあります。
http://all-freesoft.net/document10/translation/lingoes/m-lingoes5.png
この、「様々な場面におけるマウス下の文字を取得する機能」と「その状態から
ポップアップウィンドウを表示する機能」をjavaのプログラムで実装したいのですが
出来ますか?もし出来るのなら方法を教えて頂けないでしょうか?
個人的にはシステム寄りな機能なので厳しいかなと思うのですが
0880デフォルトの名無しさん
2011/06/22(水) 23:06:04.25関係ないかも試練が、
入力されたパスワードが*で表示されているのを暴露するハッキングツールならいくつか存在してる。
C++ならOKってことだ。
Javaは知らんけど
0881デフォルトの名無しさん
2011/06/22(水) 23:08:01.52fuckしてんのかな?
だったら、javaでフックできるかどうか、じゃないか?
0882879
2011/06/22(水) 23:19:49.61こういうのをフックと言うんですか。
調べてみるとグローバルフックと言うやつみたいですね。
しかもjavaのみでは無理でJNIとやらを使わないといけないみたいですね。
遠回りすることになりそうなのでC++でやってみます、ありがとうございました。
0883デフォルトの名無しさん
2011/06/22(水) 23:38:00.710884デフォルトの名無しさん
2011/06/23(木) 00:47:59.27ありがとうございます。
検索して調べてみます。
0885デフォルトの名無しさん
2011/06/23(木) 00:59:45.43eclipse 使っているので、DTD はファイル編集時のテンプレとしてだけ使ってます。
読み込むときには不要なのですが、記述を消すわけにもいかず厄介です。
0886デフォルトの名無しさん
2011/06/23(木) 01:24:33.43java関係ないからxmlスレ行ったほうがいいんじゃないか?
0887デフォルトの名無しさん
2011/06/23(木) 01:49:42.65使用する言語は Java なので・・・^ ^;
0888デフォルトの名無しさん
2011/06/23(木) 01:50:31.39SLF4Jってスレッドセーフだっけ?
0889デフォルトの名無しさん
2011/06/23(木) 03:03:46.78他のスレッドセーフな呼び出し使う時にもそれぞれ個別にinvokeLaterが用意されてたりするの?
0890デフォルトの名無しさん
2011/06/23(木) 07:33:32.25導入当初(JDK1.4)から「マルチスレッドセーフ」って書いてあるし
標準APIだからSLF4Jみたいにライセンスとか気にしなくていいし
0891デフォルトの名無しさん
2011/06/23(木) 09:12:09.94つまり、試して確認しろってこと
0892デフォルトの名無しさん
2011/06/23(木) 12:54:14.140893デフォルトの名無しさん
2011/06/23(木) 13:36:56.98初心者にも優しめのがいいんです。
0894デフォルトの名無しさん
2011/06/23(木) 14:26:09.09C++では*を使ったポインターや、&で、そのまま書き換えが出来ましたが…
int a,b,cというデータがあり
関数呼び出し(a,b,c);
private 戻り値 関数名 ( int a, int b, int c) {
a = 1; b = 2; c = 3;
}
とやったところで、コピーされたaに値が入るだけで、呼び出しに使ったa,b,cは変動していませんよね。
例えば、これを戻り値にintを指定したとしたら、 return a で、 a = 関数(a );とやれば変更出来ますが
その場合1つしか値を変更出来ません。
どうしたらよいでしょうか
0895デフォルトの名無しさん
2011/06/23(木) 14:34:33.39参照型渡して状態書き換えるとか。
private void method (int[] a, int[] b, int[] c) {
a[0] = 1; b[0] = 2; c[0] = 3;
}
0896デフォルトの名無しさん
2011/06/23(木) 14:39:38.22なるほど、配列?にして渡せば良いのですね
有難うございます。
0897デフォルトの名無しさん
2011/06/23(木) 16:04:09.19いやいやいやいやいやいやw まともに受けるなよ。
(>>895もネタで書いているよね?)
実際のところ>>895みたいなコードは滅多にみないよ。
ではどんな方法が適切かというと、>>894で書かれた変数a, b, cの意味が
判らないと何とも言えない。クラス設計の問題であって単純な文法の問題
ではないと思う。
0898デフォルトの名無しさん
2011/06/23(木) 16:12:48.870899デフォルトの名無しさん
2011/06/23(木) 16:20:50.740900デフォルトの名無しさん
2011/06/23(木) 16:27:13.21private int a;
private int b;
private int c;
private void method () {
this.a = 1; this.b = 2; this.c = 3;
}
0901デフォルトの名無しさん
2011/06/23(木) 16:45:06.78int i = 12;
二つを足して表示させると65になりました。
どういう理屈なんでしょうか?
0902デフォルトの名無しさん
2011/06/23(木) 16:48:30.730903デフォルトの名無しさん
2011/06/23(木) 17:11:01.45static int b;
static int c;
public void main(){
...
}
これは?www
0904デフォルトの名無しさん
2011/06/23(木) 17:14:01.78冗談はさておき、
すげー同意するなぁ。
そもそも、変更できないのには理由があるのに、
なぜ、大半の人は、どうやったら変更できるのか、という疑問にたどり着くのかが良く分からない。
変更できないことがすばらしい事だと実感できて無い人も多いようだし。
変更できるようにセッターゲッターロボ大量発生みたいな寝言みたいなコードを書く人も居るし。
0905デフォルトの名無しさん
2011/06/23(木) 17:31:16.26俺もセッターゲッターロボって言い回し使わせてもらおう。
0906デフォルトの名無しさん
2011/06/23(木) 17:32:27.23char ch = '5'; //0x35 == 53
0907デフォルトの名無しさん
2011/06/23(木) 18:21:07.49それだとC++でも似た書き方できるじゃんっていう
そもそもC++すら満足に理解できてない臭が…
0908デフォルトの名無しさん
2011/06/23(木) 18:28:14.03言語を知らない段階で暮らす設計 あ
クラス設計を教えるのは重要なことだと思うけどね。
いまだにいくら教えても、実装チューリングマシンなコードを書く奴もいるだろ?
0909デフォルトの名無しさん
2011/06/23(木) 18:31:23.04ポーカーのプログラムで、Yama、Control、Tenouchi
の3つのクラスを作ったとして、
deal というメソッドをどこにどのように実装するか、見たいなね。
0910デフォルトの名無しさん
2011/06/23(木) 18:39:32.950911デフォルトの名無しさん
2011/06/23(木) 18:47:36.7010回繰り返す場合、
10コードをコピーペーストする
みたいな
0912デフォルトの名無しさん
2011/06/23(木) 19:11:58.02Controlが何をさすか判らん。
0913デフォルトの名無しさん
2011/06/23(木) 19:13:07.93単語知らない段階で文法叩き込むぐらい不自然に聞こえる
クラス設計なんて理解しなくても動くものが作れる
現場でも保守性や可読性を差し置いて動くものを早急に求められる
ってのが原因じゃないのかな
納期までに死人が出ずどうやら動くものが完成するだけで精一杯の日本のIT産業じゃあ無理も無い
終電帰りの毎日でコードレビューやリファクタリングをしつつ技術向上ってのは夢の話だ
0914デフォルトの名無しさん
2011/06/23(木) 19:19:57.96cards という変数がある。トランプの山札に相当する。
cards はYama にpublicで定義されている (この段階で、え????と言える人が増える必要があるけど)
Tenouchi は参加者の手の内のカード
Control は YamaクラスからTenouchクラスにカードを配る役割のクラス
0915デフォルトの名無しさん
2011/06/23(木) 19:43:59.49俺様的完璧設計を披露したいのか例題としてわざと自爆設計を例示
したいのかはっきりしてくれ。
クラス名として日本語英語の混在は良いけれども動詞をクラス名に
するのはちょっと簡便だ。あとdealメソッドの要件定義もよろしく。
0916デフォルトの名無しさん
2011/06/23(木) 20:00:37.750917デフォルトの名無しさん
2011/06/23(木) 20:07:56.71いまいち意味が分からないんですけど
0918デフォルトの名無しさん
2011/06/23(木) 21:22:51.56クラスのフィールドにする
0919デフォルトの名無しさん
2011/06/23(木) 21:49:28.25ドキュメントでマルチスレッドセーフと明言されている点を考慮して、
とりあえず java.util.logging.Logger クラスを使用することにしました。
設定ファイルをかまして何とかファイルに出力できたのですが、フォーマットがダメダメです。
ミリ秒まで表示できるフォーマッターはありませんか?
0920デフォルトの名無しさん
2011/06/23(木) 22:07:02.61指摘ごもっともだなwww
クラス名は名詞だ。
Yamaクラス:シャッフルしたカードを保有するクラス。shuffle()でカードを混ぜたりすることができる
cardsクラスはシャッフルしたカードの配列
Controlクラス:YamaとTenouchiのクラスを仲立ちし、権限が正しいかどうかを確認する(ここがみそかも)
Tenouchiクラス:ユーザに配られる5枚のカードの配列とそれを処理するクラス。throw()でカードを捨てたりcall()で上がりを宣言したりする。
0921デフォルトの名無しさん
2011/06/23(木) 22:08:18.58deal() は、新たなカードを配布して欲しいという要求を出すメソッド。
問題はこのdeal()をどこにどのようにおくか、ということ。
ただし、要求はTenouchiクラスから一番最初に行われる。
0922デフォルトの名無しさん
2011/06/23(木) 22:09:25.30多分、クラスのメンバーフィールドにするかどうかも、その変数の要件、要求によりけりだと思う。
0923デフォルトの名無しさん
2011/06/23(木) 22:10:35.41java.util.logging.Logger と FileHandler を使って、
ログファイルを出力ができるようになったのは良いのですが、
ログ出力レベル(設定ファイルの .level)を FINEST や ALL にすると、
Tomcat 再起動時に数 MB 程度のテキストを吐き出してくださっちゃいます。
どうにかして、自分のログだけにできないものでしょうか?
0924デフォルトの名無しさん
2011/06/23(木) 22:15:49.57Webサイトからvalueの一部(value = "aaa,sss,ddd,fff,ggg"のfffのような感じ)をとってDB(またはテキスト管理)に保存しようと考えております。
その際にURLクラスを用いてHtmlコードを丸々取得したのちテキストとして処理するのと
JavaScriptのDOMで取得するのだとどちらの方が処理が早いでしょうか?
若干抽象的な質問ですがよろしくお願いしたします。
0925デフォルトの名無しさん
2011/06/23(木) 22:32:38.600926デフォルトの名無しさん
2011/06/23(木) 22:41:14.03ゆとり>>894の一人勝ちってことでおk?
0927デフォルトの名無しさん
2011/06/23(木) 22:43:56.26遊ばれてるレスもあるけどな。
0928デフォルトの名無しさん
2011/06/23(木) 22:44:02.31すみません、遅くなりました。
ありがとうございました。
0929デフォルトの名無しさん
2011/06/23(木) 22:44:09.260930デフォルトの名無しさん
2011/06/23(木) 22:46:28.63ちなみに、>>920-921の課題を>>894が解いたなら、
Yamaクラスなんて作らなくてもいいじゃん。Controlクラスだけでよくね?
って言いそうwww
0931デフォルトの名無しさん
2011/06/23(木) 23:13:13.610932デフォルトの名無しさん
2011/06/23(木) 23:13:46.56ゆとり乙
0933デフォルトの名無しさん
2011/06/23(木) 23:16:48.37別段変数やクラス名にこだわりは無い。好きに変えても怒りはしないよ。
ま、
君には過ぎた課題だからな。無理しなくてもいいよ。ってか無理だな。
0934デフォルトの名無しさん
2011/06/24(金) 00:11:58.46てか、あれだな。
>>931は人に教えたことが無いんだよ。
課題を出す場合には、理想よりも問題の趣旨が分かりやすいクラスや変数名を使わないと
頓珍漢な解答をしてくる人が必ず居る。
>>931は一人でコーディングしてる人なんだよ。ほっときなよ
0935デフォルトの名無しさん
2011/06/24(金) 00:21:33.290936デフォルトの名無しさん
2011/06/24(金) 00:29:24.320937デフォルトの名無しさん
2011/06/24(金) 00:38:15.92素人発見www
0938デフォルトの名無しさん
2011/06/24(金) 00:39:27.63仕事頼むとすぐ出来る奴と何日も描けて音沙汰無しってのも居るからな。
0939デフォルトの名無しさん
2011/06/24(金) 00:53:57.18ほれ
http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/info_sec_tech/c-2-2.html
0940デフォルトの名無しさん
2011/06/24(金) 07:27:52.92java.util.logging.Formatter を継承したクラスを作成し、format メソッドを実装しました。
そして、logManager の readConfiguration メソッドで
java.util.logging.FileHandler.formatter = sample.SampleFormatter
という記述のある properties ファイルを読み込んでいます。
しかし、出力されたログファイルを見てみると、なぜか XMLFormatter の内容になっています。
同フォーマッター記述を
java.util.logging.SimpleFormatter
にするとテキスト形式になるので、ファイル自体は認識されているのです。
ちなみに、例外やエラーは何も発生していないです。
0941デフォルトの名無しさん
2011/06/24(金) 07:41:50.58http://www.jajakarta.org/log4j/jakarta-log4j-1.1.3/docs/FAQ.html#thread-safety
0942デフォルトの名無しさん
2011/06/24(金) 07:50:50.57グーグル検索枠にその単語入力してみろ
>>923
>>875と↓のページ内をを"名前"で検索
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/logging/overview.html#1.8
0943デフォルトの名無しさん
2011/06/24(金) 10:31:40.65俺は知ってるぞ的な自慢厨か?
0944デフォルトの名無しさん
2011/06/24(金) 11:37:34.61Adapterってなんかと接続とかそんな感じだとおもうんですが・・
Inner(インナー)クラスとかAbstract(抽象)クラスとかはニュアンスがわかるんですが。
Adapterはどうもわかりません。
直接文法の質問ではないですが、知ってる人おしえてください。
0945944
2011/06/24(金) 11:40:05.732 改作者, 翻案者, 編曲者.
ってでました。
この改作者って感じが一番近いんでしょうか・・
0946デフォルトの名無しさん
2011/06/24(金) 11:41:38.70適合させるもの
あたりが近いと思うよ
0947944
2011/06/24(金) 11:47:29.47なるほど、「適合させるもの」ですか。
なんか、「接続機」とかしか思い浮かばなかったんですが、英和辞典でしらべると
色々ありますね。っていうか、そっちが原義なんでしょうね。
ありがとうございました。ニュアンスがわかりました。
0948944
2011/06/24(金) 11:50:44.99「適合させるもの」とか「改作者」とかが1番目の用例で出てくる方が多いですね。
で、2番目が「接続機」とかの意味です。
どうも、本来の意味は「適合させるもの」とかみたいです。
0949デフォルトの名無しさん
2011/06/24(金) 12:18:45.23接続機も、適合させるもの、だよ。
接続させるためには接続元と接続先の形状やプロトコル、仕組み、などなどを一致させなければならない。
電源のコンセントなんかも、
銅線ケーブルと、壁のコンセントという別のものを適合させてあげる必要があるだろ。
0950デフォルトの名無しさん
2011/06/24(金) 15:54:04.06ArrayList を使用する時、
List list = new ArrayList();
とすることが多いですが、
ArrayList list = new ArrayList();
としない理由はなぜでしょうか。
List の呼び出し側が List の実装クラスを気にする必要がないようにしたり(抽象化プログラミング)
実装クラスの選択肢を多くしたりするためなのでしょうか
0951デフォルトの名無しさん
2011/06/24(金) 15:56:30.90かっこつけるため
0952デフォルトの名無しさん
2011/06/24(金) 16:28:48.37ArrayListでもカッコ付いとるがな、
なんつってな
0953デフォルトの名無しさん
2011/06/24(金) 16:42:06.13設計上の意味はまったくない
ArrayListじゃなくて他のListを使いたくなったときに
new ArrayList();のところだけ修正すればもしかしたら動くかもしれない程度
まあ>>951と思っておけばいい
0954デフォルトの名無しさん
2011/06/24(金) 16:50:19.52Listの機能しか使わないって言ってるわけだから。
0955デフォルトの名無しさん
2011/06/24(金) 17:15:28.21皆さんありがとうございました。
0956デフォルトの名無しさん
2011/06/24(金) 17:23:37.12腹抱えて笑ったよ。
0957デフォルトの名無しさん
2011/06/24(金) 20:09:42.19なんというか、自作したフォーマッタークラスの存在を認識しないんですよね。(クラスローダーが糞なのですかね?)
仕方がないので、直接 FileHandler のインスタンスを生成して、そのメソッドから設定するようにしました。
ただ気に入らないのは、親 Logger のレベルも設定してやらないと fine などの低優先度のログが出ないことですね。
変えてやると、トムキヤット起動時にウィンウィンいって重くなって最悪ですよ。
0958デフォルトの名無しさん
2011/06/24(金) 20:15:33.260959デフォルトの名無しさん
2011/06/24(金) 20:21:32.78チラ裏は日記でやれ
0960デフォルトの名無しさん
2011/06/24(金) 20:25:15.32アクティブなウィンドウの画像をキャプチャしたいんですが、(要するにalt+prtsc)
Javaでできますか?
画面全体のキャプチャなら方法はネットに載っていました。
0961960
2011/06/24(金) 20:39:24.910962デフォルトの名無しさん
2011/06/24(金) 20:44:44.36SWT使えばアクティブウィンドウ取れなかったっけか?
0964デフォルトの名無しさん
2011/06/24(金) 20:48:18.10そんな単純じゃない。
タグリー、ゲーツ、結城あたりの本でも嫁。
0965デフォルトの名無しさん
2011/06/24(金) 20:53:42.09org.eclipse.swt.internal.win32.OS#GetActiveWindow()
Eclipse使ってるなら、pluginsフォルダのSWT使えばJNA使う手間省けるってだけ。
3.6.2にはあるけど本来公開されてない部分だから過去将来もあるって保証はないし。
0966デフォルトの名無しさん
2011/06/24(金) 21:00:08.390968デフォルトの名無しさん
2011/06/24(金) 22:51:30.640969デフォルトの名無しさん
2011/06/24(金) 23:06:11.21できるよ。
以上。
はい次の方。
0970デフォルトの名無しさん
2011/06/24(金) 23:27:57.47言語変わるとき混乱するからJavaの絵本的な流し読みできるのがあると捗るから
0971デフォルトの名無しさん
2011/06/24(金) 23:40:43.95ま、君にはこれがお似合いだよ
http://www.hyuki.com/dp/dp2.html
0972デフォルトの名無しさん
2011/06/24(金) 23:41:52.99http://d.hatena.ne.jp/miyohide/20100317/1268828739 このサイトに書いてある事をやろうと思って
上記のサイトのコードをC:\JdbcAccess.java に保存
上記のサイトに記入してあるライブラリをC:\sqlitejdbc-v056.jar に保存しました
この状態でどうコマンドプロンプトを叩けば、上記のサイトの「実行してみる。」の後の通りのコードが表示されるのでしょうか
javac C:\JdbcAccess.java
java -classpath C:\sqlitejdbc-v056.jar C:\JdbcAccess
では通りませんでした
0973デフォルトの名無しさん
2011/06/25(土) 00:11:03.29同じJava言語ユーザでも読解力は個人に依存する様だね。
って、レス貰っといてこんな言い草も無いわなw
いくら概念は頭に入ってても、
「あれ?書き方こんなんで良かったけ」って不安になる事が良くあるだろ
複数言語ローテーションで掛け持ちしてると、次の言語入る前に軽く総復習がいる
0974デフォルトの名無しさん
2011/06/25(土) 00:41:27.33実行中のjavaでインポートしてなくてもファイルがロックされますか?
実行中のjavaでバージョンチェックして更新されてたら
jarファイルを更新しようと思うのですが、名前が変更できませんでした。
JRE:1.6.0 update 26
OS:Windows XP SP3
0975デフォルトの名無しさん
2011/06/25(土) 03:51:57.07Unix系はできる
0976975
2011/06/25(土) 04:01:53.37そのクラスを使用してなくてもロードしたいクラスがどの jar にあるかは全部開いてみないとわからないからクラスパス全部開いちゃうんじゃない、たぶん
標準の URLClassLoader は閉じるタイミングを制御できないから自前のクラスローダを作るといいよ
0977デフォルトの名無しさん
2011/06/25(土) 10:16:20.99そういうときはどんなエラーが出たのかも書こう!
C:\ にいる状態で
java -classpath sqlitejdbc-v056.jar JdbcAccess
(リンク先はmiyohideパッケージに入ってるけど)
かな?最後はファイルパスじゃなくてクラス名を指定するんだ!
0978デフォルトの名無しさん
2011/06/25(土) 11:17:37.150979デフォルトの名無しさん
2011/06/25(土) 11:56:52.660980デフォルトの名無しさん
2011/06/25(土) 11:58:52.170981デフォルトの名無しさん
2011/06/25(土) 12:02:44.460982デフォルトの名無しさん
2011/06/25(土) 17:03:31.23産め。
0983デフォルトの名無しさん
2011/06/25(土) 17:23:19.270984デフォルトの名無しさん
2011/06/25(土) 17:23:57.12生め
0985デフォルトの名無しさん
2011/06/25(土) 17:26:48.57お手数おかけしますが今回も質問させてください。
標準入力の数字一桁を変数に格納したいのですが、
↓のコードでは別の値が取得できてしまいます。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = br.read();
System.out.println(num);
例えば、標準入力の数字一桁を 1 とすると、num は 49 となってしまいます。
read() メソッドを使わず、readLine() メソッドを使って
int num = Integer.parseInt(br.readLine());
とすると num は期待通りの 1 となってくれます。
read() メソッドの使い方をどのように直せば良いのでしょうか
0986デフォルトの名無しさん
2011/06/25(土) 17:37:07.97文字とは ' ' で囲ったもの
49 と '1' は等しい
つまり read は正しく '1' を返している
数値が欲しいのなら、文字を数値に変換しなければならない
つまり readLine のときに使った parseInt に相当することをしなければならない
例えば
int num = Integer.parseInt(String.valueOf((char) br.read()));
とか
int num = Character.digit(br.read(), 10);
とか、あるいはもっと安直に
int num = br.read() - '0';
とか
int num = br.read() - 48;
とか
0987デフォルトの名無しさん
2011/06/25(土) 19:06:26.23グラフの値によって、横軸、縦軸の目盛りが入って来るのですが、
目盛のあの数値は非表示にしたいのですが、
どこで設定してよいか見つかりません。
もし、よろしければ教えてください。
0988デフォルトの名無しさん
2011/06/25(土) 19:53:38.19(※スーパークラスは省略します)
class Human extends Ape {
}
class HumanMain {
public static void main(Stritg args[]) {
Human h = new Human();
System.out.println(h.favorite);
h.sleep();
}
}
これは昔の文法なのでしょうか?
0989デフォルトの名無しさん
2011/06/25(土) 19:58:35.52ありがとうございます! 教えていただいた通り、
int num = Integer.parseInt(String.valueOf((char) br.read()));
で 1 が取得できました。
もともと、下記ページの API リファレンスに
read() メソッドの戻り値は int と書かれているので
int num = br.read()
と書いたのですが、API リファレンスをよく読むと
「0 〜 65535 (0x00-0xffff) の範囲の整数としての、読み込まれた文字」
と書いてあるんですね。納得できました。
BufferedReader (Java 2 Platform SE 5.0)
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/BufferedReader.html#read()
ありがとうございました!
0990デフォルトの名無しさん
2011/06/25(土) 20:30:22.93favoriteが定義されていないとかいうオチじゃないだろうな?
本を引用するなら書名とISBNを晒せばいいのに。
0991デフォルトの名無しさん
2011/06/25(土) 20:30:48.38エラー内容がわからないが、sleepの部分をtry-catchで囲むとか。
0992デフォルトの名無しさん
2011/06/25(土) 20:31:45.420993デフォルトの名無しさん
2011/06/25(土) 20:35:04.65エラーが出るなら、エラーの内容を晒せばいいのに。
0994デフォルトの名無しさん
2011/06/25(土) 20:49:07.99書名:基礎からのJava
ISBN978-4-7973-4129-4
>>993
java.lang.NoSuchMethodError: main
Exception in thread "main"
0995デフォルトの名無しさん
2011/06/25(土) 21:19:52.98それコンパイルエラーじゃねえええ
実行したコマンドは?
0996デフォルトの名無しさん
2011/06/25(土) 21:24:20.01javac Human.java
だけです
0997デフォルトの名無しさん
2011/06/25(土) 21:26:03.96あ、まちがえました
java Human
です
0998デフォルトの名無しさん
2011/06/25(土) 21:29:07.96何を実行しようとしているんだ
0999デフォルトの名無しさん
2011/06/25(土) 21:36:37.18>>988です
見ての通りHumanにはmainはありません
ああ・・スレ落ちちゃう・・・
1000デフォルトの名無しさん
2011/06/25(土) 21:36:45.88記述してこれもコンパイル。実行時はjava HumanMain
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。