【初心者】Java質問・相談スレッド108【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/11/07(水) 22:39:09JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド107【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1192666106/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。
次スレは>>980あたりで。
0002デフォルトの名無しさん
2007/11/07(水) 23:12:000003デフォルトの名無しさん
2007/11/08(木) 08:21:210004デフォルトの名無しさん
2007/11/08(木) 10:11:330005デフォルトの名無しさん
2007/11/08(木) 11:32:490006デフォルトの名無しさん
2007/11/08(木) 12:23:200007デフォルトの名無しさん
2007/11/08(木) 12:58:290008デフォルトの名無しさん
2007/11/08(木) 13:12:060009デフォルトの名無しさん
2007/11/08(木) 14:40:32なんのジャンルでもいいです><;
色々試すのがすきなんです><
0010デフォルトの名無しさん
2007/11/08(木) 15:41:38String str;
BufferedReader br=new BufferedReader(new FileReader("./input.txt"));
BufferedWriter bw=new BufferedWriter(new FileWriter("./output.txt"));
while((str= br.readLine())!=null){
int a=0;
while(str.length()>a){
bw.write(str.charAt(a++)+"\n");
}
}
bw.close();
br.close();
}
001110
2007/11/08(木) 15:45:28それを一文字ずつバラバラにして、一行に一文字だけ書く形式にしてoutput.txtに出力しています。
ここからoutput.txtに出力されたものをソートして同じものを一箇所に固めて、
そこから何回その文字が使われたかお数えて大きい順に表示するプログラムを作りたいのですが、特にソート部分どうするべきでしょうか?
0012デフォルトの名無しさん
2007/11/08(木) 15:51:28BufferedReader r = new BufferedReader(new FileReader("output.txt"));
String s;
while ((s = r.readLine()) != null) {
list.add(s);
}
Collections.sort(list);
0013デフォルトの名無しさん
2007/11/08(木) 16:43:40この辺りがいいんじゃない
ケチった分だけ後で跳ね返ってくる
0014デフォルトの名無しさん
2007/11/08(木) 17:09:13変更しようとしているのですが、この場合、マウスモーションリスナーのe.getを使い、
if-else文である領域に来たら、変えなくてはいけないのでしょうか?
また、frameに文章を書く場合、g.drawstring以外に書く方法はないでしょうか?
この場合、マウスカーソルが文章上にある時のカーソルにならないので、他の方法があれば
その方法を用いたいと考えています。
ご回答、よろしくお願いします。
0015デフォルトの名無しさん
2007/11/08(木) 17:16:160016デフォルトの名無しさん
2007/11/08(木) 17:22:200017デフォルトの名無しさん
2007/11/08(木) 17:51:330018デフォルトの名無しさん
2007/11/08(木) 18:46:55これといって作れるプログラムなんてなかった。そこの会社の人に課題で
社員管理プログラムをつくれっていわれたんだけど、そんときに
一緒に与えてもらった本が「Java工作プログラミング(ピアソンエデュケーション)」
今はもう売っていないだろうけど、ああいう本が初心者にはいいとおもう。
0019デフォルトの名無しさん
2007/11/08(木) 18:51:26Java じゃないし CODE COMPLETE に統合されちまったが。
0020デフォルトの名無しさん
2007/11/08(木) 19:33:11それぞれのクラスのstatic初期化子が、どのような順番で呼び出されるかは不定なのでしょうか?
static初期化子で、他のクラスのstaticな変数などを参照するのは危険な行為でしょうか?
C++では危険なのでやってはいけなかったと記憶しています
0021デフォルトの名無しさん
2007/11/08(木) 19:39:35ソースで書いた順序。
0022デフォルトの名無しさん
2007/11/08(木) 19:44:44スタティックイニシャライザはクラスがロードされるタイミングで動きます。
クラスがロードされるタイミングは不確定ですが、少なくともクラス A からクラス B の
値を参照する直前には B はロードされます。
A と B のスタティックイニシャライザ内で互いの static 値を参照しあっていて、どちらが
先に動くかで動きが変わることは考えられます。つまりそんな設計すんなと。
0023デフォルトの名無しさん
2007/11/08(木) 19:45:07Javaは動的にロードするから。
0024デフォルトの名無しさん
2007/11/08(木) 19:48:01同じクラス内の中のstaticは、ソースで書いた順ということがわかりました。ありがとうございます
>>22-23
流石に「参照しあう」のは無理ですし、馬鹿らしいですね
AからBを参照する場合は、Bが先に動的ロードされるわけですか。なるほど
C++の「非ローカルなstatic変数の初期化」とは違い、かなり安全性が高いですね
0025デフォルトの名無しさん
2007/11/08(木) 19:50:25class A{
public static final boolean flag;
static{
System.out.println("B is " + B.flag);
flag = true;
}
public static void main(String[] args){}
}
class B{
public static final boolean flag;
static{
System.out.println("A is " + A.flag);
flag = true;
}
public static void main(String[] args){}
}
実行結果
C:\Documents and Settings\ore>java A
A is false
B is true
C:\Documents and Settings\ore>java B
B is false
A is true
0026デフォルトの名無しさん
2007/11/08(木) 19:54:260027デフォルトの名無しさん
2007/11/08(木) 19:56:30違う違う。
A がロード済みで、A の処理を実行している途中で B への参照が現れた場合、B が
まだロードされていなければそこで B をロードする。まぁクラスローダーの実装にも
よりけりだが、少なくとも参照直前までに B がロードされていることは保障されている。
0028デフォルトの名無しさん
2007/11/08(木) 19:58:26復唱の仕方が悪かったようです。理解してます。ありがとうございます
static
{
a = 5;
b = B.z; // ここで、Bがまだ未初期化ならBがロードされる
}
ってわけですよね。
0029デフォルトの名無しさん
2007/11/08(木) 20:05:57int a, b;
...
a+=b;
というコードがJITでネイティブコードに変換された場合、
レジスタ同士の加算が機械語の1命令で実行されるケースって現実に存在しますか?
0030デフォルトの名無しさん
2007/11/08(木) 20:28:47全部staticで作りました。ぐぐったらスレッドセーフとか出てきたけど、スレッドなんて関係あるんですか?
0031デフォルトの名無しさん
2007/11/08(木) 20:33:26スレッドで同時に接続命令が複数呼ばれた時も平気なように作った?
0032デフォルトの名無しさん
2007/11/08(木) 20:34:07static 宣言された変数使ってなければ関係はない。
0033デフォルトの名無しさん
2007/11/08(木) 20:34:17003430
2007/11/08(木) 20:37:17どうもありがとう。。そんなややこしいことしなきゃいけなかったんですね。
なんだかよくわからず、普通に接続してそのオブジェクトを返すしか
かいてないです。。明日、先輩によく相談してみます。
0035デフォルトの名無しさん
2007/11/08(木) 20:37:31while(すっごいたくさん)
{
switch()
{
}
}//while.
こんな感じのプログラムがありまして、switchをとにかく高速化したいのです
003630
2007/11/08(木) 20:39:40static宣言の変数は作っていません。というより、グローバルスコープの
変数はないです。どれも各々メソッド内で完結する変数ばかりなので、安心です。
お二方にそうおっしゃられて安心しました。上司には、「別に難しい事考えずに
接続オブジェクトを返すプログラムを作ってくれればいい」といわれたので
ごく単純に作ったんです。安心しました。ありがとうございました。
0037デフォルトの名無しさん
2007/11/08(木) 20:42:02理屈もわからないのに安心しててどうするよ
技術者として、ありようがダメだな
0038デフォルトの名無しさん
2007/11/08(木) 20:45:560039デフォルトの名無しさん
2007/11/08(木) 20:48:53Java の switch はジャンプテーブル作るよ。
意味無く switch 命令に整数しか指定できないないようにはしない。
0040デフォルトの名無しさん
2007/11/08(木) 20:50:49たしか0〜5はジャンプテーブル展開だった希ガス
仮想マシン仕様を見てみ
0041デフォルトの名無しさん
2007/11/08(木) 21:32:40ありがとうございます
ただGoogle先生に「Java switch ジャンプテーブル」でぐぐってもなかなかいいところが見つかりません
switchはこんな感じになるのでしょうか?
switch(a)
{
case 5: print(5); break:;
case 6: print(6); break:;
case 7: print(7); break:;
}
↑こういうJavaのswitchは↓こうなる?
if (5 <= a && a <= 7)
{
Address pointer[] = { 5へのアドレス, 6へのアドレス, 7へのアドレス};
VMJump(pointer[a - 5]);
}
概念的にですが、こんな感じでしょうか?
・抜け番号があったらどうなるのか
・0からの連番のほうがパフォーマンスがよくなるのか
とかが気になるところです
(興味があるんでしつこく突っ込んでます。すいません)
0042デフォルトの名無しさん
2007/11/08(木) 21:35:56サーバ用途なら展開のされ方も変わってきそう
0043デフォルトの名無しさん
2007/11/08(木) 21:39:24携帯Javaなのであまり動的再コンパイルとか期待できません
0044デフォルトの名無しさん
2007/11/08(木) 21:41:52ありがとうございます、おかげさまで、何とかあと少しで
自分の求める処理までいけそうです。
本当に助かりました!
0045デフォルトの名無しさん
2007/11/08(木) 22:10:22javaでこれに似た花火を作ろうと思ってます。
そこで質問なんですが
花火だけではリアルさが欠けてしまうと思ったので
飛んで行く火薬玉も取り入れました。
しかし時間差で飛ばすことがどうしても出来ません。
どうすれば良いでしょうか?
0046デフォルトの名無しさん
2007/11/08(木) 22:15:02ありがとうございます。
Panelを用いてマウスリスナーを設けることにしました。
>>16 >>17
ありがとうございます。
マウス位置の該当領域を持ってくるのと、Labelを置くのとでは、どちらの方が表示などに負担が少ないでしょうか?
0047デフォルトの名無しさん
2007/11/08(木) 22:28:36連番でないとダメだね
http://ja.wikipedia.org/wiki/Java%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3#.E3.82.B8.E3.83.A3.E3.83.B3.E3.83.97
0048デフォルトの名無しさん
2007/11/08(木) 22:34:32ありがとうございます
すばらしい情報です
0049デフォルトの名無しさん
2007/11/08(木) 22:46:190050デフォルトの名無しさん
2007/11/08(木) 22:50:260051デフォルトの名無しさん
2007/11/08(木) 22:54:440052デフォルトの名無しさん
2007/11/08(木) 23:21:52どっかに行っちゃって1つしか表示されません。どうしたら2つとも表示できるのでしょうか。
お願いします。
import java.applet.*;
import java.awt.*;
/*<applet code="applet0.class" width="400" height="300">
</applet>*/
public class applet0 extends Applet{
public void init(){
Label label = new Label("ラベル");
add(label);
Button button = new Button("ボタン");
add(button);
Choice choice = new Choice();
choice.addItem("チョイス1");
choice.addItem("チョイス2");
add(choice);
TextField textField1,textField2;
textField1 = new TextField("テキスト1");
textField2 = new TextField("テキスト2");
add(textField1,textField2);
this.setLayout( new GridLayout(10,1));
}}
0053デフォルトの名無しさん
2007/11/08(木) 23:48:32>add(textField1,textField2);
0054デフォルトの名無しさん
2007/11/08(木) 23:48:450055デフォルトの名無しさん
2007/11/09(金) 00:12:470056デフォルトの名無しさん
2007/11/09(金) 00:36:17すいません。
0057デフォルトの名無しさん
2007/11/09(金) 00:39:39add(textField2);
0058デフォルトの名無しさん
2007/11/09(金) 00:41:16add(textField1,textField2);
このような書き方はできません。
おそらく
http://java.sun.com/javase/6/docs/api/java/awt/Container.html#add(java.awt.Component, java.lang.Object)
このメソッドが呼び出されてます。
レイアウトを考えないのであれば
add(textField1);
add(textField2);
こうしてあげましょう。
0059デフォルトの名無しさん
2007/11/09(金) 00:43:30本当にありがとうございました。
0060デフォルトの名無しさん
2007/11/09(金) 01:19:163 : foob
1 : hoge
4 : piyo
こういうファイルをソートする時に文字列としてソートしないで、
先頭の数値基準でソートするのって、何か良いやり方ってありますか?orz
つまり結果が、
1 : hoge
20 : barr
3 : foob
4 : piyo
じゃなくて、
1 : hoge
3 : foob
4 : piyo
20 : barr
ってなるようにです。
0061デフォルトの名無しさん
2007/11/09(金) 01:27:130062デフォルトの名無しさん
2007/11/09(金) 01:32:55Collections.sort(list, new Comparator<String>() {
public int compare(String a, String b) {
int i = Integer.parseInt(a.substring(0, a.indexOf(' ')));
int j = Integer.parseInt(b.substring(0, b.indexOf(' ')));
return i < j ? -1 : i > j ? 1 : 0;
}
});
0063デフォルトの名無しさん
2007/11/09(金) 01:33:38ご助言ありがとうございます。
ちょっと今日はこの問題に苦戦しすぎて死にそうなので、
明日起きたらComparatorを調べてやってみます。
寝る前に明日の取っ掛かりが出来て良かったです、本当にありがとう><
0064デフォルトの名無しさん
2007/11/09(金) 01:35:55これは…!ありがとうございます!><
こんな時間に申し訳ないです、明日の参考にさせて頂きます。
これが出来れば、処理が全部完成するので本当に感謝です!
0065デフォルトの名無しさん
2007/11/09(金) 01:36:24modpower(b, e, n)
0066デフォルトの名無しさん
2007/11/09(金) 01:39:16return Math.pow(b, e) % n;
}
なんでこんなのが書けないんだ
0067デフォルトの名無しさん
2007/11/09(金) 08:12:33実行したくないのですが、どういう書き方をすればいいのでしょうか?
if (key == answer) {
correctAnswer();
x++;
if (x == arrayX.length) {
x = 0;
y++;
if (y == arrayY.length) {
finish();
}
}
setProblem(x, y);
} else {
wrongAnswer();
}
0068デフォルトの名無しさん
2007/11/09(金) 10:19:53VBの場合
Space(10)
で良いのですがJavaの場合どのようになりますでしょうか?
0069デフォルトの名無しさん
2007/11/09(金) 10:33:16finish の後に return ではだめなん?
じゃ無ければ、 カルノー図に書き出して、
条件の組み合わせを確認して、再構成するとか。
0070デフォルトの名無しさん
2007/11/09(金) 10:54:46" "
0071デフォルトの名無しさん
2007/11/09(金) 11:19:03だせー
0072デフォルトの名無しさん
2007/11/09(金) 11:28:52気に入らんか・・・
シンプルでいいと思うんだが
じゃあ↓のようなメソッドでも作って space(10) とやってくれ
String space(int n) {
char[] c = new char[n];
Arrays.fill(c, ' ');
return new String(c);
}
0073デフォルトの名無しさん
2007/11/09(金) 12:31:390074デフォルトの名無しさん
2007/11/09(金) 12:43:12まず InfinityCharacterReaderFactory インターフェイスを作ってだな(ry
0075デフォルトの名無しさん
2007/11/09(金) 12:54:36String.format("%10s", " ")
0076デフォルトの名無しさん
2007/11/09(金) 13:42:42できそうなら、だいたいどういうことしたらできるか教えてください。
ちなみにJAVAで音楽の解析ってどんなことができますか?
0077デフォルトの名無しさん
2007/11/09(金) 13:57:00できません。
0079デフォルトの名無しさん
2007/11/09(金) 14:27:570080デフォルトの名無しさん
2007/11/09(金) 14:38:21想像力足りないよ君。
0081838
2007/11/09(金) 14:38:580082デフォルトの名無しさん
2007/11/09(金) 14:42:150083デフォルトの名無しさん
2007/11/09(金) 14:45:13jvmが勝手にキャッシュするんだよ。flyweightも知らんのか。
0084デフォルトの名無しさん
2007/11/09(金) 14:49:40Java のは文字列プール。キャッシュとは言わない。
0085デフォルトの名無しさん
2007/11/09(金) 14:50:43はいはいすいませんでした。
0086デフォルトの名無しさん
2007/11/09(金) 14:51:26つか勝手にじゃなくてそれ仮想マシンの仕様な。
0087デフォルトの名無しさん
2007/11/09(金) 14:51:33どこでその生成コストを回収するんだよw
大体、それを使うために、スペースキー10回を毎回入力するのかね
0088デフォルトの名無しさん
2007/11/09(金) 14:56:32おまえはいいよ。まったく分かってなさそう。
0089デフォルトの名無しさん
2007/11/09(金) 14:57:54そもそも指定個数のスペースの文字列が必要になるって時点で
全体が糞設計確定なんだからさ
0090デフォルトの名無しさん
2007/11/09(金) 14:58:29ダブルクォーテーション2個+スペースキー10回連打するのと
"Space(10)" の9文字を入力するのって
そんなに手間違わないと思うけどな
0091デフォルトの名無しさん
2007/11/09(金) 14:58:30本を一冊やっているんですが、
JSPで<%@page%>タグの中でencoding=Windows-31Jと指定しています。
で、フォームなんかの要素を受け取る際、setCharacterEncoding("Windows-31J")で
デコードしなくてはいけないと書いてあります。
相手のOSがWindowsならわかるんですが、Linuxだったりした場合も
送信されてくるフォームはWindows-31Jで送られてくるんですか?
自分のWebアプリケーションのサイトがWindows-31Jで指定して作ってある場合は
相手のコンピュータもOS問わずWindows-31Jでフォームのデータを送信してくるという
ことなんですか?
0092デフォルトの名無しさん
2007/11/09(金) 15:07:10相手の OS が Win だろうが MacOS だろうが Linux だろうが、そのページのエンコーディングで
送信してきます。Shift_JIS なら Shift_JIS で、EUC-JP なら EUC-JP で。
ただし Windows-31J は IANA が規定していない Java 独自のエンコーディングラベルなので、
どのブラウザもそれが Shift_JIS の事だとは知らないため誤認識する可能性があります。しかし
JSP の page ディレクティブに Shift_JIS と書くと 〜 などが文字化けするという矛盾があります。
従って、<%@ page %> ディレクティブでは Windows-31J を指定し、HTML の <meta> タグで Shift_JIS
を示してやるのが正しい方法です。ここまできちんと書いてない解説書や識者は糞なので捨ててください。
<%@ page language="java" contentType="text/html; charset=Windows-31J" %>
…
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
0093デフォルトの名無しさん
2007/11/09(金) 15:07:34それでデコードすればいんじゃね?
009491
2007/11/09(金) 15:12:04疑念が全部解けました。おっしゃるとおり、JSPタグとHTMLタグのmetaタグの両方で
指定しようとおもいます。本当にありがとうございました。
>>93さんありがとうございます。getCharacterEncodingって言うメソッドもあるんですね。
Javaは便利ですね。それもやってみたいとおもいます。
お二方どうもありがとうございました。とても参考になりました。
0095デフォルトの名無しさん
2007/11/09(金) 16:24:47オープンソースのopenPNEの中でJAVAで記述した人工知能を動かして見たいと考えています。
こうしたことは技術上可能なのでしょうか。ご教授お願いいたします。
0096デフォルトの名無しさん
2007/11/09(金) 16:27:55JNI、ソケットで通信、コマンド起動
好きなの選べ。
0097デフォルトの名無しさん
2007/11/09(金) 16:30:02ファジーも入っててお得だ
組み合わせれば結構有用なものが作れた
ぜひおためしあれ
0098デフォルトの名無しさん
2007/11/09(金) 16:38:48どういうの?お試ししたいんだど。
0099デフォルトの名無しさん
2007/11/09(金) 16:44:34Windows-31JはIANA登録名だぞ。
>>91
なので、ぜんぶWindows-31JにしてしまってOK。
0100デフォルトの名無しさん
2007/11/09(金) 16:50:45IANAの登録はCharsetクラスのドキュメントからたどれるよ。
0101デフォルトの名無しさん
2007/11/09(金) 16:52:24ありゃ、本当だ orz
MS932 や Cp943C と同じかと思ってた。
0102デフォルトの名無しさん
2007/11/09(金) 16:52:500103デフォルトの名無しさん
2007/11/09(金) 16:55:59update() をオーバーライドする。
public void update(Graphics g){
paint(g);
}
public void paint(Graphics g){
…
}
0104デフォルトの名無しさん
2007/11/09(金) 16:59:09VectorにShapeを保存していく方法もある
Zオーダーには注意した方が良いかな
0105デフォルトの名無しさん
2007/11/09(金) 17:26:090106デフォルトの名無しさん
2007/11/09(金) 19:28:500107デフォルトの名無しさん
2007/11/09(金) 22:44:21obj = null;
などの代入をひっかけて何かするということはできますでしょうか?
C++でいう代入演算子のオーバーライドで、参照カウントあたり使ってやりたいなと
0108デフォルトの名無しさん
2007/11/09(金) 22:54:33obj = new SomeClass();
try{
…
} finally {
obj.release();
}
0109デフォルトの名無しさん
2007/11/09(金) 22:55:19ファイルのcloseやGraphicsのdisposeみたいに特別な解放処理をしたいの?
AddRef/ReleaseRefメソッドを実装して…とかできないこともないだろうけど
使うときは普通にそれらのメソッドを呼び出すしかない
0110デフォルトの名無しさん
2007/11/09(金) 23:06:36ご推察の通りです
C++狂信者なものでついデストラクタに頼りたくなってしまいました
>>108のような、郷に入っては郷に従った方法でやることにします
0111デフォルトの名無しさん
2007/11/09(金) 23:19:38(普及もせん内から2系の開発に移るなど相変わらず混沌としてるけどw)
0112デフォルトの名無しさん
2007/11/09(金) 23:48:38匿名クラスと組み合わせて、Ruby風の処理が出来るね。
1.7のClosureで入ってくるかも知れないけど。
0113デフォルトの名無しさん
2007/11/09(金) 23:54:42呼び出す側ではwith(FileReader in : makeReader()) { (処理) }みたいな形式で書けるようにするとか。
0114デフォルトの名無しさん
2007/11/10(土) 00:02:41そのへんはどうするんだろう IO限定?
0115102
2007/11/10(土) 00:11:15>>103さんと>>105さんのを比べて使い勝手が良い方を採用してみます。
皆さんありがとうございました
0116デフォルトの名無しさん
2007/11/10(土) 00:31:55オープンソースを参考にしようとしているのですが、探しても見つかりません。
オープンソースで何か良いソフトはないでしょうか?
0117デフォルトの名無しさん
2007/11/10(土) 00:38:460118デフォルトの名無しさん
2007/11/10(土) 00:45:46上のサイトのリスト6の
public boolean isEmpty() {
return queue.isEmpty();
}
この部分が何をしていて何のために必要か、まったくわからないのですが
誰か教えて下さい
0119デフォルトの名無しさん
2007/11/10(土) 00:48:38そのままだろw
0120デフォルトの名無しさん
2007/11/10(土) 01:01:01のリスト1
public boolean isEmpty() {
return queue.isEmpty();
}
がいいかも
>>119
まったくわかりません
そもそもなぜここに付け足してるかも
最初のenqueue,dequeueでqueueクラスは事足りてるのに
0121118
2007/11/10(土) 01:05:04private ArrayList queue = new ArrayList();
public void enqueue(String value) {
queue.add(value);
}
public String dequeue() {
String ret;
if (queue.isEmpty()) {
ret = null;
} else {
ret = (String)queue.get(0);
queue.remove(0);
}
return ret;
}
public boolean isEmpty() {
return queue.isEmpty();
}
}
0122デフォルトの名無しさん
2007/11/10(土) 01:06:06なぜ Queue に isEmpty() が必要か? それはそのインターフェースを設計した奴に聞け。
0123デフォルトの名無しさん
2007/11/10(土) 01:07:18空かどうかで条件分岐したい時だってあるだろ
dequeueで返ってきた値がnullかどうかチェックするよりよっぽど可視性があるし
0124118
2007/11/10(土) 01:07:43queue.add(value);
}
ArrayListにぶっこむ
public String dequeue() {
String ret;
if (queue.isEmpty()) {
ret = null;
} else {
ret = (String)queue.get(0);
queue.remove(0);
}
return ret;
}
retつー変数返す
retにはqueueが空ならnullぶっこんで、queueに何かはいってたら
その何かをぶっこむ。その何かはぶっこんだらArraylistから消しとく
0125118
2007/11/10(土) 01:12:22すいません
http://www.pc-view.net/article/55/1.html
のリスト1
がいいかも
>>123
public boolean isEmpty() {
↑そもそもこれクラス?
return queue.isEmpty();
queueを空にして返す?
}
根本的に何を書いてるかが理解できない
ググって見てisEmpty()調べてもこの使い方はわからない
リスト2:QueueClient.java
を見ると空かどうかという条件分岐が必要とは思えない
なぜついてるんだああああああうあああああ
0126デフォルトの名無しさん
2007/11/10(土) 01:23:14本当にenqueueとdequeueだけで事足りるかな?
この二つだけだと、取り出す操作をしない限り空かどうか分からない。
空でないときだけ先に何かをしてから取り出す、といったことはできなくなる。
0127デフォルトの名無しさん
2007/11/10(土) 01:26:07if( isXXX() ){}のように使われる。
英語の疑問文で読んだときに正しい場合true。
この場合isEmpty()だからそのオブジェクトがあらわすコレクションが空のときtrue。
>public boolean isEmpty() {
>↑そもそもこれクラス?
メソッドです
> return queue.isEmpty();
>queueを空にして返す?
内部的に使ってるArrayListが空であるかどうかを返す
>リスト2:QueueClient.java
>を見ると空かどうかという条件分岐が必要とは思えない
クラスってのは一般的に使われそうなケースを考えて振る舞いを記述するものであり、
そのときに必要なものだけ適当に書けばいいってもんじゃない。
後で誰かがそのクラスを使いたくなったときに必要なはずのメソッドがないためにまともに書けない、なんてことがあっちゃ困る。
0128デフォルトの名無しさん
2007/11/10(土) 01:26:58記事書いた奴に聞けよ。
0129デフォルトの名無しさん
2007/11/10(土) 05:59:31映像を出力じゃなく、静止画を出力する場合どうしたらいいでしょうか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25298&forum=12&2
ググリまくって一番有望な情報に辿り着けたと思いきや何を言ってるか90%くらい分かりません。
ちなみに卒業研究で使おうと思っているのですがプログラム専攻ではないので四月からJAVAを始めて未だにフレーム、リスナー系、スレッドくらいしか理解していません・・・
検索結果がほぼ分からない段階で無謀なのは分かっているのですがどうしても作りたいんです。
どなたかサンプルソースを書いてもらえないでしょうか??
「プログラムを実行したらカメラに写っている静止画をフレームに表示」のみでいいので・・・
それを自分なりに検索して理解して使いこなせるようになりたいと思います。
どなたかよろしくお願い致しますm(_ ___)m
0130デフォルトの名無しさん
2007/11/10(土) 06:14:010131デフォルトの名無しさん
2007/11/10(土) 06:46:48卒業研究はキャプチャした静止画を得るプログラムを作ることなのか、得られた静止画を使うことなのか?
プログラム専攻ではないということなので、静止画を使うことだと思うのだが、
慣れないプログラミングなんかで本来の研究が時間切れになるよりも、
自腹を切るなり研究費を使うなりして出来合いのものを探して使った方がいいんじゃないか?
そういうプログラムは商用プログラムとかならありそうだが。
一生懸命探せばフリーのものとかがあるかもしれないし。
0132デフォルトの名無しさん
2007/11/10(土) 07:57:53な に コ イ ツ
0133デフォルトの名無しさん
2007/11/10(土) 08:12:22自分はタブ使ってづらして書くんですが
改行すると、次の行の先頭に戻ってしまいます
どうやれば前行の先頭位置になりますか?
0134118
2007/11/10(土) 08:24:09ありがとうございます
たしかに今回の使用方法以外を考えると必要かも
>>127
詳しくありがとうございます
なんかわかってきました
>そのときに必要なものだけ適当に書けばいいってもんじゃない。
>後で誰かがそのクラスを使いたくなったときに必要なはずのメソッドがないために
>まともに書けない、なんてことがあっちゃ困る。
感動した。こんなこと本に書いてない。けど、これでjavaの理解が深まった気がした。
>>128
やっと私めの理解があなたに追いつきました。
たしかにその通りです。
0135デフォルトの名無しさん
2007/11/10(土) 08:35:02ソフトの使い方は板違い
terapadにオートインデントの機能があるならヘルプとかを参照にして有効にする
ないのならオートインデントのあるエディタや統合開発環境に移行
0136デフォルトの名無しさん
2007/11/10(土) 09:18:46まあググってみなよ。
そのページのキーワード、FrameGrabbingControlやBufferToImageあたりを加えてググれば、
それなりのコードが見つかるよ。とりあえずいくつか見つけたので、示してあげよう。
ttp://www.javareference.com/mvnforum/viewthread?thread=398
デバイス取得までの流れは、ここが詳しかった。初心者には冗長に感じるかもしれないけど。
ttp://www.javaworld.com/javaworld/jw-05-2001/jw-0504-jmf2.html
そういやJMFをアプレットで使おうとしたんだけど、これ、
クライアントのカメラをアプレットから使うためには、
exeのインストーラを各クライアントで実行しないとダメなのね。
メンドイ。
0137デフォルトの名無しさん
2007/11/10(土) 11:19:07�@テキストファイルを一行ずつ読み込みLinkedListに格納。
�AフレームにLinkedList内容とチェックボックスを表示。
�Bキーマクロでチェックボックスon off操作。(Onで維持、Offで削除)
�C別キーマクロでLinkedList内の行移動指定。
�C上記を反映させてテキスト出力。
�Bと�Cで詰まっていて、どうコードを書いて良いのかも分かりません……。
0138デフォルトの名無しさん
2007/11/10(土) 12:01:400139デフォルトの名無しさん
2007/11/10(土) 12:14:53はい、その通りです。
チェックボックスだけなら何とか分かるんですが……。
それにフォーカスの移動や行移動を加えるともう何が何だか……。
0140デフォルトの名無しさん
2007/11/10(土) 12:27:100列目にチェックボックス表示して、2列目にその行の内容。
確かボーダーを表示しない設定がJTableにあったから、それ使って行の高さも変更したら違和感はなくなるかと。
あとはActionMap取得してそれに各Actionを設定すればok。
0141デフォルトの名無しさん
2007/11/10(土) 12:28:270142デフォルトの名無しさん
2007/11/10(土) 13:40:08だいぶ実用的になってきた。とりあえず、エロサイトみててもカモフラージュできる
機能をつけた。
おもしろいよ。GUIプログラミング。もうちょっとGUI関係充実してくれないかな。。Java。
SwingHackっていう本よんでるんだけど、結構役立つよ。JavaのGUIも
今が力のいれどころだとおもうんだけどな〜。これですばらしいSwing拡張機能でもできたら
GUI関係もだいぶJavaが増えるような気がするんだけど。。Javaの技術者も5年前にくらべれば
格段に増えたろうし。。クライアントJavaの復権とかありそうだけどな。。
いや、質問じゃないんで聞き流してもらって結構です。ハイ。
0143デフォルトの名無しさん
2007/11/10(土) 13:41:55ところもあるんじゃないかな。GUIまで手を広げられればだいぶ仕事の選択の幅も増えるよね。
0144デフォルトの名無しさん
2007/11/10(土) 13:45:35IEにyahooオク専用の機能つけてくれとかいってきたから
「それは無理だ」っていったけど、自作ブラウザなら
それも可能。兄ちゃんに聞いてみてYahooオク専用のブラウザを
作ってあげようかな。
すれ違い失礼。awt/swingすれもちゃんとあるんだね。そっちに移動します。
0145デフォルトの名無しさん
2007/11/10(土) 14:29:33ありがとうございます。
テーブルを試して一度組んでみます。
0146デフォルトの名無しさん
2007/11/10(土) 15:11:12a,b,cに対してC言語で書くと
printf( "%d%d%d", a, b, c );
という風に並べて表示するようにしたいのですが
System.out.println( a + b + c );
とかくと17と表示されます。
暫定的に
System.out.println( a +""+ b +""+ c );
としてるのですが
もっとスマートなやり方ってありませんか?
0147デフォルトの名無しさん
2007/11/10(土) 15:14:370148デフォルトの名無しさん
2007/11/10(土) 15:15:020149デフォルトの名無しさん
2007/11/10(土) 15:24:010150デフォルトの名無しさん
2007/11/10(土) 15:30:410151デフォルトの名無しさん
2007/11/10(土) 15:39:24マジに System.out.printf ってあるんだ?!
うぉー今知ったよ!!!!
0152137
2007/11/10(土) 16:04:37表示させるテキストファイルに<br>が仕込んであるので、そこで改行するようにできないでしょうか。
0153デフォルトの名無しさん
2007/11/10(土) 16:06:060154デフォルトの名無しさん
2007/11/10(土) 16:15:52それをしたら枠の中で改行してしまいました。
改行に合わせて枠が広がるようにしたいんですけど、どこを弄ったらできるのか……。
0155デフォルトの名無しさん
2007/11/10(土) 18:31:30JScrollPaneにJTextArea貼ったようなTableCellRenderer作るってのはダメ??
0156デフォルトの名無しさん
2007/11/10(土) 18:47:370157デフォルトの名無しさん
2007/11/10(土) 19:13:30明示する以外の目的はない。これを見た目以外同じと表現するのはまぁかまわないだろう。
それ以外の例外は、throws 宣言していないと throw 出来ない、サブクラスでオーバーライド
する時に throw 出来る例外を勝手に追加できない、などの制約が出てくるので、見た目以外
同じというのは間違い。
0158デフォルトの名無しさん
2007/11/10(土) 19:15:000159デフォルトの名無しさん
2007/11/10(土) 19:15:58あやうくhttp://www5c.biglobe.ne.jp/~ecb/java/11_06.htmlの
ホームページにだまされるところでした。
0160デフォルトの名無しさん
2007/11/10(土) 19:25:40それはまさに >>157 の上 2 行の意図でそう書いていると思う。
0161デフォルトの名無しさん
2007/11/10(土) 19:52:37追加できるってことですか?
0162デフォルトの名無しさん
2007/11/10(土) 20:01:17スーパークラスで throws 宣言されている例外のサブクラス以外は、オーバーライド先で
throw できない (RuntimeException/Error除く)。
public class A{
public void hoge() throws IOException{…}
}
public class B extends A{
public void hoge() throws SocketException{…} // ←OK
}
public class C extends A{
public void hoge() throws SQLException{…} // ←コンパイルエラー
}
0163デフォルトの名無しさん
2007/11/10(土) 20:22:45あやうくhttp://www5c.biglobe.ne.jp/~ecb/java/11_05.htmlの
ホームページにだまされるところでした。
0164デフォルトの名無しさん
2007/11/10(土) 20:24:480165デフォルトの名無しさん
2007/11/10(土) 20:27:06べつにおかしなこと書いて無い気がするが
0166デフォルトの名無しさん
2007/11/10(土) 20:30:21AWT の Label クラスはそんなことでけまへん。
編集不可/スクロール不可の設定した TextArea 使うとか、GridLayout で Label を縦に並べるとか、
カスタムで作るとかしてください。
0167デフォルトの名無しさん
2007/11/10(土) 20:31:52これをみてもおかしくないというのか?
0168デフォルトの名無しさん
2007/11/10(土) 20:32:24解りました。ありがとうございます。
0169デフォルトの名無しさん
2007/11/10(土) 20:35:320170デフォルトの名無しさん
2007/11/10(土) 20:35:59>モーニング娘。の中で1番目にかわいいのは後藤真紀だと思います
言語の解説サイト作ってる人ってそういうのが多い気がする
0171デフォルトの名無しさん
2007/11/10(土) 20:50:290172デフォルトの名無しさん
2007/11/10(土) 21:17:52インタフェース Iterator
は手動でIteratorインターフェイスをタイピングしたものと同じものですか?
0173デフォルトの名無しさん
2007/11/10(土) 21:23:030174デフォルトの名無しさん
2007/11/10(土) 21:26:56>手動でIteratorインターフェイスをタイピングしたもの
って何?
interface OreOreIterator {
boolean hasNext();
Object next();
void remove();
}
みたいなやつのこと?
0175デフォルトの名無しさん
2007/11/10(土) 21:28:31それのことです
0176デフォルトの名無しさん
2007/11/10(土) 21:30:25とりあえずいえる事は、まったく互換性はないよ
0177デフォルトの名無しさん
2007/11/10(土) 21:51:59int returnArray[][][] = new int[copy.length][][];
for(int k=0; k<copy.length; k++){
returnArray[k] = new int[copy[k].length][];
for(int j=0; j<copy[k].length; j++){
returnArray[k][j] = new int[copy[j].length];
for(int i=0; i<copy[k][j].length; i++){
returnArray[k][j][i] = copy[k][j][i];
}
}
}
return returnArray;
}
三次元配列をコピーするメソッドを作ったのですが、うまく動きません。
どこが悪いのか教えてください。
0178デフォルトの名無しさん
2007/11/10(土) 21:52:182方向から行うにはどうすればいいですか?
0179177
2007/11/10(土) 21:57:05呼び出し方の方が悪かったようです。
ありがとうございました。
0180デフォルトの名無しさん
2007/11/10(土) 23:31:34EventQueueについて調べていたのですが、
API仕様を読んでもいまいち理解できず、実用例も見つからず、
普段から動いている別スレッドであるという事しか分かりませんでした。
EventQueueの使い方、もしくは実用例を教えてください。
0181デフォルトの名無しさん
2007/11/11(日) 02:38:36自分の場合、DefaultTableCellRendererの機能を使って、JEditorPaneに貼り付けたhtmlを表示させた。
JEditorPaneをgetPreferredSize()して、それをsetRowHeight()する。
>> Dimension d = JEditorPane.getPreferredSize();
>> JTable.setRowHeight(row, d.height);
0182デフォルトの名無しさん
2007/11/11(日) 03:04:130183デフォルトの名無しさん
2007/11/11(日) 03:20:13勝手に一番下までスクロールした状態になってしまうのですが
そうさせないような良い案があったら教えてください
0184デフォルトの名無しさん
2007/11/11(日) 03:39:37人に聞く前に自分で解決できる男になることだ
0185デフォルトの名無しさん
2007/11/11(日) 09:17:34消えろゆとり
0186185
2007/11/11(日) 09:20:37intとかpublicなどの用語の読み方が分らないのですが、
検索出来るサイト、あるいは専用の辞書などはあるのでしょうか。
よろしくお願い致します。
0187186
2007/11/11(日) 09:21:220188デフォルトの名無しさん
2007/11/11(日) 09:30:00さすがゆとり技w
0189デフォルトの名無しさん
2007/11/11(日) 09:35:36ありがとうございます。
早速試してみます。
0190デフォルトの名無しさん
2007/11/11(日) 09:56:130191デフォルトの名無しさん
2007/11/11(日) 11:22:12viewPortじゃね?
0192デフォルトの名無しさん
2007/11/11(日) 13:28:46appendした後で元に戻せばいいんじゃない
Point p = scrollPane.getViewport().getViewPosition();
大量のappend
scrollPane.getViewport().setViewPosition(p);
0193デフォルトの名無しさん
2007/11/11(日) 13:30:53そういうのはこっち向きかな
情報処理用語の読み方を確認するスレ
http://pc11.2ch.net/test/read.cgi/tech/1056173956/l50
0194デフォルトの名無しさん
2007/11/11(日) 13:51:59中学の英語からやり直せ。
0195デフォルトの名無しさん
2007/11/11(日) 13:53:29こんなものがあったのですね・・
早速試してみます、ありがとうございました
0196デフォルトの名無しさん
2007/11/11(日) 16:20:51intはintegerで調べる
あとは英和辞書で調べるがよろし
0197デフォルトの名無しさん
2007/11/11(日) 16:42:360198デフォルトの名無しさん
2007/11/11(日) 16:45:430199デフォルトの名無しさん
2007/11/11(日) 16:47:070200デフォルトの名無しさん
2007/11/11(日) 16:47:580201デフォルトの名無しさん
2007/11/11(日) 17:07:130202デフォルトの名無しさん
2007/11/11(日) 17:34:250203デフォルトの名無しさん
2007/11/11(日) 17:40:38int:イント
character:キャラクター
char:チャー
public:パブリック
0204デフォルトの名無しさん
2007/11/11(日) 17:48:17モームスって負の連鎖に陥ってるじゃん。
曲がよくない→売れない→良い人材が集まらない→さらに人気聚落
まさにハロカスパイラル
逆にAKBは好循環に入りつつあるよね。
曲もいいし、これから知名度もあがれば良い人材が集まるだろう。
あとはもう倍々ゲームですよ。
412 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:35:18 ID:YbBOdUMW0
つんくPはもう才能が枯渇して昔のように良い曲は作れない。
小室哲哉と同じ道を歩んでいる。
そもそも1アーティスト(アイドル)と1作曲家という1vs1体制っていうのはもう古いんだよな。
これは一人の作曲家に頼りきりだからそいつが落ち目になるとアーティストまで一緒に落ち目になる。
多くの作曲家を周りにはべらせて良い曲だけ採用するという浜崎方式が最も賢い。
AKBもこれを踏襲している。
413 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:35:57 ID:YbBOdUMW0
ここだけの話、AKBはまだ全然フルパワーを出してない。
本当に売りたいならゴールデンの歌番組にガンガン出るはずだろ。
CMだってほとんど見かけないしな。
414 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:36:30 ID:YbBOdUMW0
>>413
その通り。
秋元先生がまだ時期尚早と見て意図的に力を抑えてるんだよな。
AKBは10年計画のアイドルだし焦る必要はなにもない。焦っているのはモーヲタだけ。
415 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:37:08 ID:YbBOdUMW0
モー娘。はもう将来性が無いからな。
今や過去の栄光にしがみついて延命を図ってるだけのグループ。
AKBはまだこれからってかんじだ。
徐々に上り調子なのが素人の目にも明らかである。
0205デフォルトの名無しさん
2007/11/11(日) 18:14:280206デフォルトの名無しさん
2007/11/11(日) 18:22:400207デフォルトの名無しさん
2007/11/11(日) 18:23:460208デフォルトの名無しさん
2007/11/11(日) 18:25:440209デフォルトの名無しさん
2007/11/11(日) 18:31:04"ENUMeration" の略。 char と同じで変な風に略すからとても読みにくい。
だってさ〜
やっぱたくさんあるね。
けどエノムって・・・どうしたらoになるんだろw
0210デフォルトの名無しさん
2007/11/11(日) 18:37:320211デフォルトの名無しさん
2007/11/11(日) 18:47:48ArrayListだとかスレッドの事やよく使うクラスライブラリの説明なんかが
載ってるのってありますかね?
0212デフォルトの名無しさん
2007/11/11(日) 18:50:07質問ですなんが、
リクエストをまたがってのトランザクション制御はjavaで可能でしょうか?
Aさんが編集画面を開いているとき、Bさんはその編集画面を開けないような制御を
自前のテーブルフィールドの利用ではなく、oracleの行ロックを利用して行いたいです。
C/Sアプリなどでは、クライアントでコネクションを維持できるので、普通にできるのですが、
WEBシステムではその辺りは不可能なのでしょうか?
なにか、既存のライブラリがあったりしませんか?
既存ライブラリがない場合の善後策として考えたのが、
「コネクションプールを利用して、コネクションオブジェクトをセッションに保持するとC/Sアプリのように利用できないか?」です。
しかし、利用者が行ロックを取得した状態で、放置した場合、そのコネクションはどうなるのかが分かりません。
セッションは指定時間で無効状態になりますが、内部のオブジェクトはどのような挙動を示すのでしょうか?
javaは初めてなので、試してみようにも関連項目の設定などがよく分からない状況です。
どうかよろしくお願いします。
0213デフォルトの名無しさん
2007/11/11(日) 18:52:33行列の∞ノルムを計算するプログラムを教えてください
0214デフォルトの名無しさん
2007/11/11(日) 19:37:430216デフォルトの名無しさん
2007/11/11(日) 20:11:200217デフォルトの名無しさん
2007/11/11(日) 20:18:11セッションに保持できるのはシリアライズ可能なオブジェクトのみです。
java.sql.Connectionはjava.io.Serializableを実装していないので、無理。
JDBCドライバによっては、Connectionの実装クラスがSerializableを実装する可能性も
なくはないですが…期待しない方がいいでしょう。
残念ながら、自力で実装して下さい。
実装するなら、編集画面を開いたまま放置されるケースも忘れずに。
0218デフォルトの名無しさん
2007/11/11(日) 21:11:11http://www.hyuki.com/dp/dpinfo.html#AbstractClass
0219デフォルトの名無しさん
2007/11/11(日) 21:31:43ありがとうございます。
ちなみに、ドライバはojdbc14.jar を利用します。
可不可はそれのリファレンス見ればOKですか?
一般的にWEBで前述のような制御はどうやってるんでしょうか?
排他フラグを設けて自前でしかない?
0220デフォルトの名無しさん
2007/11/11(日) 21:49:47自前でするしかない。
そして、どう上手く実装できたにせよ、次は
編集画面を開いたままウィンドウを閉じたり、ブラウザの履歴戻ったりされる問題に直面するが、
大抵はいかのような「解決策」で逃げる。
・「ウィンドウを閉じるな、戻るな」とユーザに注意する。
それを強制するために、JavaScriptでエロサイトまがいの嫌な動作をするページを作る。
・「ウィンドウを閉じたり戻ったりした場合はサポート外」と仕様書に書いて逃げる。
・タイムアウト時間を設ける。比較的マシ。
0221デフォルトの名無しさん
2007/11/11(日) 22:07:58ありがとうございました。
それにしても、需要のありそうな基本機能なのに
まだライブラリ整備されていないとは・・・
やっぱり技術的に難しいのかな・・・
0222デフォルトの名無しさん
2007/11/11(日) 22:20:470223デフォルトの名無しさん
2007/11/11(日) 22:26:06Webアプリは楽観的ロックが主流だ
0224デフォルトの名無しさん
2007/11/11(日) 22:46:450225デフォルトの名無しさん
2007/11/11(日) 23:19:46専門学校の選択科目でJAVAの授業があって、そこでJAVAの勉強をしているのですが。
スーパークラスのメソッドを「this.」で呼び出すのと「super.」で呼び出すのとでは動作に違いはあるのでしょうか。
実際にやってみればいいのでしょうが、学校にも自宅にも環境を揃えて実行に耐えられるPCが無いので出来ずじまいなんです。
(学校のは開いている実習室が無いので座学のみですが)
どうかよろしくお願いします。
0226デフォルトの名無しさん
2007/11/11(日) 23:23:47サブクラスが将来そのメソッドをオーバーライドしたときに動きが変わる。
0227デフォルトの名無しさん
2007/11/11(日) 23:26:25class A {
void foo(){ System.out.println("A.foo"); }
}
class B extends A {
void foo() { System.out.println("B.foo"); }
void bar() { super.foo(); } // A.fooを呼ぶ
void baz() { this.foo(); } // B.fooを呼ぶ
}
0228デフォルトの名無しさん
2007/11/12(月) 00:19:500229デフォルトの名無しさん
2007/11/12(月) 00:26:16背景扱いってどういう意味?
0230デフォルトの名無しさん
2007/11/12(月) 05:54:26オーダーメイドで作るとなるとどれ位の価格になるのでしょうか?
Converting TrueType Font into EPS
ttp://vision.kuee.kyoto-u.ac.jp/~nob/doc/truetype/truetype.html
大体の相場が判る方がいらっしゃったら教えて頂けませんか。会社でも個人で
も、実現して頂けるなら、お金を払って良いと思っています。と言っても何十
万とかは出せませんが。
当方はJAVAを始めプログラミングには全く縁が無く、JDK6をインストールして
上記のサイトのソースをコピーしてコンパイルしようとした所でエラーが出て、
そこから全く訳が分からなくなりました。
正直に言ってプログラムを専業としているわけでも趣味とするわけでもないの
で、これ一つのために基礎からプログラミングを覚える時間と労力を費やすこ
とはできそうにないのです。
(技術系の掲示板に書き込むようなことではないかもしれませんので、スレ違
いであったら御指摘ください)
0231デフォルトの名無しさん
2007/11/12(月) 08:47:160232デフォルトの名無しさん
2007/11/12(月) 10:05:01後はうまく宿題にしたてて宿題スレに投げてみるとかw
0233デフォルトの名無しさん
2007/11/12(月) 12:26:08どういった感じで変わるのでしょうか。
>227
なるほど、納得です。ありがとうございました。
0234デフォルトの名無しさん
2007/11/12(月) 12:55:38その二つのレスが共存してるのが意味分からん
0235デフォルトの名無しさん
2007/11/12(月) 15:02:490236デフォルトの名無しさん
2007/11/12(月) 15:16:57ここ見てJavaを1から勉強してるんですが、
クラスメソッドとインスタンスメソッドの使い分けがいまいちピンとこないです。
誰かうまいこと教えてくださいませ
0237デフォルトの名無しさん
2007/11/12(月) 15:44:151.Mathクラスみたいな、オブジェクトを利用しない『ユーティリティクラス』のメソッド(Cなどの関数と同じ役割)
2.そのクラスのオブジェクトの生成に関する操作(Singletonなどのほか、Integer型などのvalueOfとかもこういう系統)
3.main(最初はオブジェクトは存在しないから当たり前)
オブジェクトを作らなくても使える代わりに、適切にオブジェクトを作ったほうが簡潔になることが多いから分かんなかったらインスタンスメソッド。
他にもいくつか使い道はあるけど、きちんと使い分けるにはデザインパターンを勉強すればいいと思う。
0238デフォルトの名無しさん
2007/11/12(月) 15:48:49237さんが既に説明してるけど、別の観点で。
インスタンスのメンバ変数にアクセスするようなメソッドはインスタン
スメソッドに、メンバ変数をアクセスしないものはクラスメソッドに。
最初はこういう使い分けだけ覚えてればOKだと思う。
0239デフォルトの名無しさん
2007/11/12(月) 15:57:50他のstaticメソッドからは呼ばれることのないprivateメソッドはどっちにする?
0240デフォルトの名無しさん
2007/11/12(月) 16:14:11ありがとうございます。
>>237さんの使い分けの説明ですが、なぜそう使い分ければOKなんですか?
あと関係ないですけど、変数宣言の型でなぜStringは大文字で、intは小文字で始まってるんでしょう?
何か意味があるんですか?
0241デフォルトの名無しさん
2007/11/12(月) 16:18:43Stringはクラスだけどintはクラスじゃないから
0242デフォルトの名無しさん
2007/11/12(月) 16:45:20白紙のフレームにボタンを設置し、それを押してボタンを消去してからPanelとLabelを表示させようとしているのですが、
真っ白のままになってしまいます。
さらに、フレームの端…ウィンドウの大きさを変える部分をクリックすると、なぜかPanelとLabelが表示されます。
解決するにはどうすればよいでしょうか?
0243デフォルトの名無しさん
2007/11/12(月) 17:11:111.Fileにバイナリデータを書き込み
2.同じFileをいったんcloseした後、再度開いて書き込んだデータを読み込み
3.同じFileを最後に削除
ということを試しているのですが、削除ができません。
2の読み込みの部分を、データのappendみたいなことをしてから、
channelをcloseしてファイルを削除することはできます。
何か足りないのでしょうか?書いてみたコードは下記の通りです。
public void example(){
byte[] bytes1 = {0x41, 0x42, 0x43};
File file1 = new File("C:/temp/test.txt");
RandomAccessFile raf1 = new RandomAccessFile(file1, "rw");
FileChannel ch1 = raf1.getChannel();
ByteBuffer buffer1 = ByteBuffer.wrap(bytes1);
ch1.write(buffer1);
ch1.close();
raf1.close();
File file2 = new File("C:/temp/test.txt");
RandomAccessFile raf2 = new RandomAccessFile(file2, "rw");
FileChannel ch2 = raf2.getChannel();
MappedByteBuffer buf = ch2.map(FileChannel.MapMode.READ_ONLY, 0, ch2.size());
byte[] data = new byte[(int)buf.capacity()];
buf.get(data);
buf = null;
ch2.close();
raf2.close();
file2.delete(); // data[0]〜data[2]に値は入っているが、deleteできない
}
0244デフォルトの名無しさん
2007/11/12(月) 17:27:58226さんの答えが良くわからなく、他にも問題があるのかと思ったからです。
メソッド名に気をつければ問題ない、「super.」を使ってスーパークラスのメソッドを呼び出すようにする。
と言うことでよろしいでしょうか。
0245デフォルトの名無しさん
2007/11/12(月) 17:31:350246デフォルトの名無しさん
2007/11/12(月) 18:04:27MappedByteBufferがガベージコレクトされるまでアンマップできないから閉じられない、んだったと思う
0247デフォルトの名無しさん
2007/11/12(月) 20:03:37相当、頭悪いな
superがthisがじゃなくて、どのクラスに定義したメソッドを実行したいかなんだよ。
thisはそのクラスが定義したメソッドまたはそのスーパークラスのメソッド
superだとスーパークラスのメソッドが実行されるだけ
ただし、2つ以上オーバーライドされてしまうと、親の親を呼び出す仕組みはない
0248248
2007/11/12(月) 20:06:15コンパイルした時にエラーになります。
どうしてでしょうか。
public class sample17 {
public static void main(String[] args) {
int i=args.length;
if(i==0) System.out.println("引数は0個です。");
else if(i%2==0)
System.out.println("因数の数は偶数です。");
else
System.out.println("引数の数は奇数です。");
}
}
C:\Source>javac sample17.java
sample17.java:9: \65373 は不正な文字です。
}
^
sample17.java:10: \65373 は不正な文字です。
}
^
sample17.java:11: ';' がありません。
^
エラー 3 個
0249デフォルトの名無しさん
2007/11/12(月) 20:09:390250243
2007/11/12(月) 20:09:43レスありがとうございます。
BugParadeに、こんな記述を見つけたんですが、コレですかねぇ。。。
ttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4715154
>State:Closed, will not be fixed
って、あーた。。。('A`)
とりあえずcommentにいくつかworkaroundになりそうなものがあるので
試してみます。。。
0252デフォルトの名無しさん
2007/11/12(月) 20:16:190253デフォルトの名無しさん
2007/11/12(月) 20:16:33コピペしていじんないでやってみたけど、普通に結果でたよ
0256デフォルトの名無しさん
2007/11/12(月) 20:35:24最近はJavaが必ず入ってることを前提として大丈夫なのかな?
0257248
2007/11/12(月) 20:41:37本にそれをダウンロードしろと書いてあったので…。
他のプログラムは普通に動くのですが、原因がわかりません。
超初心者なので、初歩的な部分を見落としてるかも知れません…。
0258デフォルトの名無しさん
2007/11/12(月) 20:44:17最後の}が全角じゃね?
0261248 ◆z8PaG7o8aU
2007/11/12(月) 20:49:070262デフォルトの名無しさん
2007/11/12(月) 20:50:35考えられるのは、
1.確認ミス。
2.テキストエディタの変更が保存されていない。
3.確認しているファイルとコンパイルしているファイルが異なる。
こんなもんかな。
0263デフォルトの名無しさん
2007/11/12(月) 21:02:58fillOvalで描いた円を二手に移動させるにはどうすれば良いですか?
________○→→→→→→○
□→→→→→→□
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄○→→→→→→○
(左の□は右の□の位置になったら消える)
(左の○は右の□が消えてから描画されて右の○まで動く)
こんな感じです
0264デフォルトの名無しさん
2007/11/12(月) 21:10:03それは透明の縦棒に□と○2つがくっついて表示非表示させるだけ
って考えていいなら作りやすいんじゃないかい
0265デフォルトの名無しさん
2007/11/12(月) 21:11:54KeyEvent.VK_DOWN
KeyEvent.VK_LEFT
KeyEvent.VK_RIGHT
上記の定数の数値って分かりますか?
0266デフォルトの名無しさん
2007/11/12(月) 21:14:450267デフォルトの名無しさん
2007/11/12(月) 21:19:17java初心者の俺が答えてみる
System.out.println("KeyEvent.VK_UP:" + KeyEvent.VK_UP);
System.out.println("KeyEvent.VK_DOWN:" + KeyEvent.VK_DOWN) ;
System.out.println("KeyEvent.VK_LEFT:" + KeyEvent.VK_LEFT) ;
System.out.println("KeyEvent.VK_RIGHT:" + KeyEvent.VK_RIGHT) ;
結果
KeyEvent.VK_UP:38
KeyEvent.VK_DOWN:40
KeyEvent.VK_LEFT:37
KeyEvent.VK_RIGHT:39
0268デフォルトの名無しさん
2007/11/12(月) 21:23:48数値で比較すんなよな、その定数で比較しとけよ
0269デフォルトの名無しさん
2007/11/12(月) 21:28:00ttp://gif2.animegif.net/gamc2/pict/20071112-21/2007-11-12_21-26-56-anime.gif
こういうのです><
0270248 ◆z8PaG7o8aU
2007/11/12(月) 21:29:10何度もアドバスありがとうございました。
もう一度最初から入力し直した所、うまく行きました。
原因がはっきりしないのですが、ひょっとしたら全角のスペースを
使っていたのかもしれません。
0271デフォルトの名無しさん
2007/11/12(月) 21:30:56だから透明な横の無限線は低速で上に動いてるんじゃねの?
表示しない点をFPSで管理して、□や○はそれを基準に描画すればいいじゃん。
0272デフォルトの名無しさん
2007/11/12(月) 21:37:320273デフォルトの名無しさん
2007/11/12(月) 21:41:55調べてみたら思いっきり載ってましたorz
低レベルな質問に答えて頂きありがとうございました
0274デフォルトの名無しさん
2007/11/12(月) 21:43:12イギリス人天才プログラマが運営する前代未聞の無料ブラウザゲーム、http://clickclickclick.com/
ただひたすらクリックし、国別の総クリック数を世界中で競い合う!
究極にバカバカしくそして意味がなく、ひたすら時間の無駄でなんの得にもならない、だがそれが(・∀・)イイ!
ライバルはハンガリー、そして台湾!! GAME2から参戦し、現在GAME27開催中!
VIPで発祥し現在2ch全土から結集したクリック兵達で日本チームは戦っている!
意味のない事に全力を傾ける、それが2ちゃんねるクオリティ!!
独自のクリックツール開発競争も熱く、各国のプログラマが全力で優秀な兵器開発をしている!!
日本の技術力の高さを世界に見せつけてやろうぜ!
プログラマ、Flashゲーム製作者、動画職人、AA職人、絵師、DJ、wiki編集blog編集者、データ分析者etcも募集中!
ツール放置参加もできるので、PCのスペックに自身のある奴、CPUに空きのある奴、時間が余ってる奴もぜひ参加してくれ!
本スレッド
【簡単多重】一番クリックした国が優勝【8砲門】
http://wwwww.2ch.net/test/read.cgi/news4vip/1194741194/l50
※落ちているときはここから1発検索
http://www.clickjapan.jp/find2ch.php
日本チームの有志によるまとめサイトポータル
http://www.clickjapan.jp/
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
0275デフォルトの名無しさん
2007/11/12(月) 21:57:13>>232さん
> まぁ、まずホームページのオーナーに聞くのが早いんじゃないか?
言われるまで気づきませんでした。よく探してみたらメールアドレスも掲載さ
れていましたので、ダメモトでメールを出してみます。
>>231さん
五万円が大体の相場なのでしょうか? JAVAプログラムを覚えるための労力と
時間を金銭に換算するなら、別に釣り合わない金額ではないです。個人的には。
ただ、上に書かせて頂きましたように、まずは制作者様に連絡を取ってみよう
と思いますので、依頼は制作者様の返事を待ってからで宜しいでしょうか?
(二股をかけるようで申し訳ない)
メール欄に書かれているアドレスは当分使えるのですよね? 依頼する事にな
った時は、どうかお願い致します。
0276デフォルトの名無しさん
2007/11/12(月) 22:18:23速度ベクトルっていうので検索してみます
0277デフォルトの名無しさん
2007/11/12(月) 22:31:58定期的に位置ベクトルに対して速度ベクトルを加算するの
その間隔を一定に保つことがたぶん>>271の言うFPS
0278デフォルトの名無しさん
2007/11/12(月) 22:50:340279デフォルトの名無しさん
2007/11/12(月) 23:09:42全角使ってるときだよ。全角スペースとか}の全角とか。
これは特定しやすいエラーだよ。
http://www.mclab.ics.ritsumei.ac.jp/lecture/java/tips004.html
0280デフォルトの名無しさん
2007/11/12(月) 23:13:39プログラムを作りました。(コピペです)
DELETEするプログラムを自前で追加したのですが、
DELETE対象のRowが存在しない場合の判断をどう行っていいかわかりません。
存在しない場合、"対象データがありません"とメッセージを出力したいのです。
SELECTの場合はexecuteQueryを実行して、ResultSetのnextメソッド?がfalseだったら、という判断で
で実現できたのですが、DELETEの場合、executeUpdateの戻り値にResultSetを設定できないようなので。
よろしくお願いします。
0281デフォルトの名無しさん
2007/11/12(月) 23:17:27executeUpdateは変更のあったレコード件数のはずだから
0が帰ってくれば消しに行ったけどなかったよって意味になる
0282デフォルトの名無しさん
2007/11/12(月) 23:25:35stmt.setInt(1, id);
int count = stmt.executeUpdate();
if(count == 0){
System.out.println("削除対象が存在しません");
}
0283デフォルトの名無しさん
2007/11/12(月) 23:39:03ありがとうございます。
API仕様のWEBドキュメントを見つけて
executeUpdateの戻り値はINTで行数カウントが
返ってくる事がわかりました。
executeUpdateはおまじない程度にしか思っていなかったのですが
java.sqlパッケージのPreparedStatementインタフェースのexecuteUpdateメソッドだって
理解を深めたらおのずと調べ方もわかりました。
ありがとうございました。
0284デフォルトの名無しさん
2007/11/12(月) 23:42:31iBatisとJDBC4に規格的な親和性がないのは悲しすぎる。
0285デフォルトの名無しさん
2007/11/13(火) 00:06:040286デフォルトの名無しさん
2007/11/13(火) 00:47:13工数的にはどのくらい差がありますか?それと技術者ってすぐにあつまりますかね?
0287デフォルトの名無しさん
2007/11/13(火) 00:49:020288デフォルトの名無しさん
2007/11/13(火) 01:30:39最初はJulius for SAPIにアクセスできるDLLを自分で作って・・とか考えていたんですが
どうも自分には難しくて挫折していました.
ttp://julius.sourceforge.jp/index.php?q=juliankit.html
で,いろいろと考えた結果↑以下のJulian記述文法音声認識実行キットをJavaから動かして,
その結果をJavaで処理できるのではないかと思い至りました.
が,ProcessBuilderでコマンドラインのプログラムを呼び出せるのは分かったんですが
継続的に処理を待ち続けて,プログラムの出力があるたびにJavaのほうで処理を受ける方法が
分からなくて悩んでおります.
Julian記述文法音声認識実行キットは
C:\>bin\julian.exe -C testmic.jconf
のような形で実行すると,最初数行システム起動処理が標準出力として出力され
その後,マイクでの音声入力を待ち,定義ファイルの内容にしたがって
音声入力があるたびに認識処理を行い,
<s> リンゴ を 3 個 ください </s>
といったような認識結果の出力を行います.
このときに,「リンゴ」と「3個」という認識結果をJavaで取得し,
apple()メソッドに3という引数を渡して呼び出し,その後また音声認識処理を待ち続ける
といったようなことをやりたいのですが
ProcessBuilderを利用してプログラムを実行した後,音声入力が行われるたびごとの
認識結果をJavaのプログラムで取得し続ける方法はありませんでしょうか?
ヒントなりとでも頂ければ幸いです.
よろしくお願いします.
0289デフォルトの名無しさん
2007/11/13(火) 01:39:180290デフォルトの名無しさん
2007/11/13(火) 01:55:24標準入力 System.in からそのプログラムが吐く文字列読み込むプログラム作って
C:\>bin\julian.exe -C testmic.jconf | java YourProgram
でも良いんじゃねーの。そのコマンドが一回ごとに終了してしまうならダメだけど。
0291デフォルトの名無しさん
2007/11/13(火) 10:20:28どうやっても JST (JVM のデフォルトタイムゾーン) でしか返って来ないんだが。
DateFormat 使って変換した文字列を %s で埋め込むしかないのかな。
0292デフォルトの名無しさん
2007/11/13(火) 10:31:080293デフォルトの名無しさん
2007/11/13(火) 10:35:460294デフォルトの名無しさん
2007/11/13(火) 10:39:36まずはSimpleDateFormatterのドキュメント嫁
0295デフォルトの名無しさん
2007/11/13(火) 10:48:09{
while(Toolkit.getDefaultToolkit().getSystemEventQueue().peekEvent() != null)
{
if(Toolkit.getDefaultToolkit().getSystemEventQueue().peekEvent().getID() == InvocationEvent.INVOCATION_DEFAULT)
break;
try{
Toolkit.getDefaultToolkit().getSystemEventQueue().getNextEvent();
}catch(InterruptedException ef){System.out.println(ef);}
}
}
結局上記の様にすることでKeyEventの溜まりすぎを防ぐことができました。
前スレでアドバイス下さった方、ありがとうございました。
0296デフォルトの名無しさん
2007/11/13(火) 10:54:47SimpleDateFormatter なんてクラスは標準 API にありませんね。java.text.* パッケージの
クラスのどれかと勘違いしてませんか? java.util.Formatter の事ですけど。
0297デフォルトの名無しさん
2007/11/13(火) 11:14:400298デフォルトの名無しさん
2007/11/13(火) 11:18:32TimeZone 指定した Calendar 使うんじゃダメなんか?
0299デフォルトの名無しさん
2007/11/13(火) 11:28:34ああ、勘違いしていたよ。
java.util.Formatterでは不可能。
ていうか使い方がおかしいのでAPIの所為にスンナ、ボケ
0300デフォルトの名無しさん
2007/11/13(火) 11:38:59( ゚Д゚) おお、Calendar を渡せることをすっかり忘れていました。どうもありがとうございます。
>>297,299
にほんにきてなんねんになりますか?
0301デフォルトの名無しさん
2007/11/13(火) 11:43:44executeUpdateのintの戻り値が削除された行数
0302デフォルトの名無しさん
2007/11/13(火) 11:46:44> byte、BigDecimal、および Calendar などの共通 Java タイプがサポートされます。
その後の概要の一番初めに Calendar を使った解説が…(−人
>>301
>>281-283
0303デフォルトの名無しさん
2007/11/13(火) 11:51:25敗者の上から目線の一種だね
0304デフォルトの名無しさん
2007/11/13(火) 11:59:530305デフォルトの名無しさん
2007/11/13(火) 12:14:06たぶんあなたがJavaをやっている年数よりは長いんじゃないw
0306デフォルトの名無しさん
2007/11/13(火) 12:16:420307デフォルトの名無しさん
2007/11/13(火) 12:41:25getKeyChar()で半角英数は取得できました
しかし全角の日本語を一度に2文字以上打ち込むと
打ち込んだ文字列の最後の文字しか取得できません
文字列全てを取得する方法はないでしょうか
0308デフォルトの名無しさん
2007/11/13(火) 12:42:39JTextFieldを使う
0309243
2007/11/13(火) 14:01:36delete前にSystem.gc()入れたら、
削除できるようになった。。。
channelをcloseしてからリネームして、
deleteOnExit()しろなんて方法もあるみたいなんですが、
VMを長期間稼働させる環境だとそれも使えないからなぁ。。。
deleteしたいファイルには、MappedByteBuffer使っちゃダメってことなんでしょうかね。
0310デフォルトの名無しさん
2007/11/13(火) 17:01:30この質問頼みます
0311デフォルトの名無しさん
2007/11/13(火) 17:59:17これまで動的変数(メソッド内でint i; などのように宣言した組み込み型の
変数)を多用していたのですが,これらの多くをクラスのメンバ変数に変更
したところ,処理が非常に遅くなってしまいました.
処理速度が落ちる解釈として,
(1)動的変数はレジスタに割り当てられるのに対し,メンバ変数はヒープ領域に取られるから.
(2)メンバ変数へのアクセスは「クラスへの参照→メンバへの参照」のように参照段階が増えるから.
を考えておりますが,実際にはどちらのほうが効いているのでしょうか?
あるいは重要な別の原因が考えられるようでしたら,お教えください.
最適化のための参考にさせていただきたいと考えております.
0312デフォルトの名無しさん
2007/11/13(火) 18:07:12変数をあちこちで使い回した為、ループがおかしくなっているとか。
0313デフォルトの名無しさん
2007/11/13(火) 18:10:36いえ,処理内容・結果とも変更前と変わらないことは確認済みです.
全く同じ処理を行ったときにパフォーマンスが低下する現象です.
0314デフォルトの名無しさん
2007/11/13(火) 18:21:16昔の話ですが…(最近の最適化では数値が違うかも)
ローカル変数からインスタンス変数やクラス変数に変えれば、遅くなる。差は2倍強。
ローカル変数でも最初の3個?はレジスタに割り振られるが、差は10%。
というのをどこかで見た気がします。
まあ、動作が変わらないってなら、巨大なベンチマークをしたということで…。
0315デフォルトの名無しさん
2007/11/13(火) 18:21:21一般には体感するほど遅くなることはないはず。
Profilerで調べてみることをお勧めします。
0316デフォルトの名無しさん
2007/11/13(火) 18:50:50どうやって変らない事が確認できるんだかしりたいですね
そもそも組み込み型(プライベート変数の事かい?)からメンバ変数に変更した経緯が意味解らん。
その上で
(1) 関係ない。
ヒープ領域を使うか否かは変数がプリミティブ型かオブジェクト型かの話
レジスタというのは意味不明だが、スタックのことを言っているとしても、それがパフォーマンスに体感的に低下する事はない
(2)メンバ変数へのアクセスは〜の影響もない
参照段階がどうこうってのは何を根拠に話しているんだ?
俺が知っているJavaの本では読んだ事もないし、聴いた事もない。
0317デフォルトの名無しさん
2007/11/13(火) 18:52:01あと、比較的大きなコード(1.2MB)というのは1つのクラスが・・・なのか?
もし、そうだとすれば、根本的に何もかもおかしいと思うが・・・
0318デフォルトの名無しさん
2007/11/13(火) 18:58:39(ああ、私は質問主じゃないですよ)
0319デフォルトの名無しさん
2007/11/13(火) 18:59:20ありえないだろ
0320デフォルトの名無しさん
2007/11/13(火) 18:59:57結果出るまで数日かかるようなよっぽどの数値解析アルゴリズムを、20 世紀の
化石 PC でも使って走らせてなければ、レジスタ使う使わない程度でそんな体感
分かるほど変わるわけないだろう。ヒープ使いまくりで GC とエクステンション
走りまくりとか、単なるバグとかの方がよっぽど濃厚。
レジスタやらインスタンス変数アクセスだと主張したいなら、せめてそう断定するに至った
プロファイラの結果くらい出せ。生半可が思い込みで始めるパフォーマンス論が一番危ない。
0321デフォルトの名無しさん
2007/11/13(火) 19:01:26でも線形解析程度でえれえ時間差ある
0322デフォルトの名無しさん
2007/11/13(火) 19:02:070323デフォルトの名無しさん
2007/11/13(火) 19:02:39組み込み型 = プリミティブ型
メンバ変数 = インスタンス変数
で良いのかな。
0324デフォルトの名無しさん
2007/11/13(火) 19:03:540325デフォルトの名無しさん
2007/11/13(火) 19:05:49C++ 上がりが多い職場ならどうか知らんけど
0326デフォルトの名無しさん
2007/11/13(火) 19:09:17組み込み型ってなにを何処に組み込むんだ?
動的変数ってのも矛盾してるだろ、動的だから変数じゃねーのか?w
0327デフォルトの名無しさん
2007/11/13(火) 19:12:34スレッド拘束で保ってたスレッドセーフが破られたに500ペリカ
きっとループの終わり頃に、別スレッドがiを0に設定していると予想w
0328デフォルトの名無しさん
2007/11/13(火) 19:14:23言語組み込み
作ったり消えたり
0329デフォルトの名無しさん
2007/11/13(火) 19:16:29Cでいうautoの事では?
0330デフォルトの名無しさん
2007/11/13(火) 19:18:25一応言っておくけど、処理結果が変わらない事とバグが混入してい無い事とはイコールじゃ無いよ。
後はマシン自体が遅くなってるとか。変更前の処理を今動かしてみて遅かったらそれ。
#ところで、最適化はまだ早いんじゃ無い?
0331311
2007/11/13(火) 19:18:42いま手が離せない状況ですので,とりあえず
曖昧な表現だけ訂正させていただきます.
>>317
もちろん複数のクラスの合計のサイズです.
変数の種類の表現については>>323さんのご推察の通りです.
混乱させる表現で申し訳ありません.
0332デフォルトの名無しさん
2007/11/13(火) 19:19:000333デフォルトの名無しさん
2007/11/13(火) 19:20:38全体で1.2MBって大きなプログラムなの?
0334デフォルトの名無しさん
2007/11/13(火) 19:20:56組み込み変数って聴いたことないし、わからない。
0335デフォルトの名無しさん
2007/11/13(火) 19:25:34嘘くせえええええええ
0336デフォルトの名無しさん
2007/11/13(火) 19:29:100337デフォルトの名無しさん
2007/11/13(火) 19:30:31と書いてあることから、
>メンバ変数
は、ラッパークラスであるとエスパー
0338デフォルトの名無しさん
2007/11/13(火) 19:35:26あとインスタンス変数を参照するより new でヒープ割り当てる方がよほど遅い。
ローカル変数 (スタック変数) からインスタンス変数へ切り替えたって事は
ループの奥底でこんな事になってんじゃないかと。
for(…){
while(…){
for(…){
for(…){
MyClass a = new MyClass(); // 元は int x, y, z, …
MyClass b = new MyClass();
MyClass c = new MyClass();
…
>>333
状況や分野によりけりだけど 2〜3 人が 1〜 2 ヶ月程度かけて書く量かな。
嫌 OO のコピペ厨なら 1 週間って所だが。
0339デフォルトの名無しさん
2007/11/13(火) 19:37:14プリミティブ型 : 組み込みの値型
Javaでは同じだけど、C#ではstringやobjectキーワードがあって
StringやObjectはプリミティブ型でない組み込み型だったりする
0340デフォルトの名無しさん
2007/11/13(火) 19:39:200341311
2007/11/13(火) 19:40:48ご指摘の「nestしたloopの底でのnew実行」という状況が
起きている可能性は充分考えられます.
実際の最適化の作業はもう少し先にやるつもりですが,
そのときの参考にさせていただきます.
どうもありがとうございます.
0342デフォルトの名無しさん
2007/11/13(火) 19:47:32一日ひとりで、202950文字〜676500文字打ち込むということになるな。
0343デフォルトの名無しさん
2007/11/13(火) 19:49:03まじで釣りって言ってくださいwww
0344デフォルトの名無しさん
2007/11/13(火) 19:52:34基本データ型ぐらいかな?
クラスはすべて言語仕様ではなく標準APIライブラリという位置づけだからね。
java.lang.Objectは微妙?
0345デフォルトの名無しさん
2007/11/13(火) 19:56:320346デフォルトの名無しさん
2007/11/13(火) 19:57:16java.langパッケージでfinalなクラスは組み込まれているといえない事もないし、そもそも定義できない
0347デフォルトの名無しさん
2007/11/13(火) 20:16:43いま手が離せないって言ってたのはどこ行ったんだか
なんでそんなミエミエの嘘つくのかねぇ
>>316
>そもそも組み込み型(プライベート変数の事かい?)からメンバ変数に変更した経緯が意味解らん。
オブジェクト指向とか聞いた事も無いんだろうさ
ソースをぐちゃぐちゃにした挙句どこが悪くなったのかわからなくなったってのが経緯
>>343
釣りじゃ無くて真性なんだろw
自分のケツもふけない奴が最適化とかw
0348デフォルトの名無しさん
2007/11/13(火) 20:19:460349デフォルトの名無しさん
2007/11/13(火) 20:22:21申し訳ありませんが、許してあげてください。
0350デフォルトの名無しさん
2007/11/13(火) 20:34:24パフォーマンス劣化について調べるにはまず、どこでどれくらいパフォーマンスが落ちているか、を調べるよね。
で、問題の場所を変更前ソースと比べたり、問題が発生する最小限のコードを書いたりして原因を探る。
原因は分ったけど、何故そうなるのか分らないって段階になって>>348の質問になると思う。
でも>>311は何をしたか、のみ書いていて、何が原因か、は触れていない。
>>341の書き込みを見るに、多分原因を突き止めていない。
何がどうなっているのか分らないままじゃ、掲示板に書き込んでも上手く説明する事すらできないと思うんだけど、>>311は今その状態。
0351デフォルトの名無しさん
2007/11/13(火) 20:44:270352デフォルトの名無しさん
2007/11/13(火) 20:57:140353デフォルトの名無しさん
2007/11/13(火) 20:59:34HotSpotってやつか?
0354デフォルトの名無しさん
2007/11/13(火) 21:02:480355デフォルトの名無しさん
2007/11/13(火) 21:07:460356デフォルトの名無しさん
2007/11/13(火) 21:19:520357デフォルトの名無しさん
2007/11/13(火) 21:20:34糞コード書いてもプログラムには影響ないと思う。
0358デフォルトの名無しさん
2007/11/13(火) 21:25:050359デフォルトの名無しさん
2007/11/13(火) 21:26:170360デフォルトの名無しさん
2007/11/13(火) 21:28:38少なくともHotSpotのアルゴリズムを考慮してまでコーディングするなんて聞いたことねーな。
0361デフォルトの名無しさん
2007/11/13(火) 21:30:010362デフォルトの名無しさん
2007/11/13(火) 21:31:50小手先の最適化は意味ないから普通に作れってことだな
0363デフォルトの名無しさん
2007/11/13(火) 21:34:430364デフォルトの名無しさん
2007/11/13(火) 21:42:43マ板がなかったころはもっと酷かった
0365デフォルトの名無しさん
2007/11/13(火) 21:47:220366デフォルトの名無しさん
2007/11/13(火) 21:59:06同意するけど「速く」な。
0367デフォルトの名無しさん
2007/11/13(火) 22:18:470368デフォルトの名無しさん
2007/11/13(火) 22:27:240369デフォルトの名無しさん
2007/11/13(火) 22:44:270370デフォルトの名無しさん
2007/11/13(火) 22:45:38Eclipseにもあるよ。
0371デフォルトの名無しさん
2007/11/13(火) 22:55:110372デフォルトの名無しさん
2007/11/13(火) 22:59:02選択されたファイルタイプに応じて拡張子を付けて保存ということをしたいんですが、
どのファイルタイプが選択されていたか調べる方法はありますか?
0373デフォルトの名無しさん
2007/11/13(火) 23:11:03ttp://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/JFileChooser.html#getFileFilter()
0374デフォルトの名無しさん
2007/11/13(火) 23:11:18どうすればいいですか?
0375デフォルトの名無しさん
2007/11/13(火) 23:12:04URLConnection.guessContentTypeFromStream() でいくつかのファイルタイプは分かる。
0376デフォルトの名無しさん
2007/11/13(火) 23:12:310377デフォルトの名無しさん
2007/11/13(火) 23:13:04HTML のリンクをたどれ。それ以外は無理。
0378デフォルトの名無しさん
2007/11/13(火) 23:15:47あるURL以下を全てリストしてくれるページを作る。
0379デフォルトの名無しさん
2007/11/13(火) 23:17:320380デフォルトの名無しさん
2007/11/13(火) 23:30:12現在、MyTableModel にてヘッダ行を定義しています。
JTable table = new JTable();
table.setModel(new MyTableModel());
とすれば、指定したヘッダは表示されます。
ここまでは良いのですが、単一選択のみを許可しようと次のコードを追加しました。
table.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
すると、ヘッダ行が「A、B、C」と指定しなかった場合のデフォルトになってしまいました。
この現象はどうして起こるのでしょうか?
回避方法等があればお願いします。
0381デフォルトの名無しさん
2007/11/13(火) 23:41:55まだ、実験ツールだっけ?
0382デフォルトの名無しさん
2007/11/13(火) 23:42:52直接、JTable の setSelectionMode(int) ではどうでしょう?
0383デフォルトの名無しさん
2007/11/13(火) 23:46:06コレステロールの溜まってる血管が見付かりやすいのが一番だ。
0384デフォルトの名無しさん
2007/11/13(火) 23:48:17試していますが、それでも一緒でした。
どうにも理解していないのがTableModelとColumnModelの関係です・・・orz
0385デフォルトの名無しさん
2007/11/14(水) 00:33:290386デフォルトの名無しさん
2007/11/14(水) 00:53:43長年愛用してるけど
最近はUMLも使えるし
最新の機能は自分でカスタマイズするしかないようだけど
IDEの性能としてもだいぶ追いついてきてる
0387デフォルトの名無しさん
2007/11/14(水) 00:56:29特に6.0はβ版だけど完成度高い
ただ、Eclipseよりもマシンスペック要求するんだよな
0388デフォルトの名無しさん
2007/11/14(水) 02:18:16自己レス
見つからないので作っちゃいました
0389デフォルトの名無しさん
2007/11/14(水) 02:35:46SQL 使うアプリ作ったョー (・∀・)
↓
でも入力値に予約語が入ってるとクエリーの SQL が壊れちゃう (・ω・` )
↓
入力値から予約語見つけてエスケープすれば良いか ヽ(´ー`)ノ
なんて事を >>385 がやらかしていないかお母さんは心配です。
0390デフォルトの名無しさん
2007/11/14(水) 02:54:09メソッド名にたまに予約語使ったのがあったんで
見つけたら別名に書き直すようにしようと思った訳です
0391デフォルトの名無しさん
2007/11/14(水) 09:36:05誰か知らない?
0392デフォルトの名無しさん
2007/11/14(水) 10:13:470393sage
2007/11/14(水) 12:02:210394デフォルトの名無しさん
2007/11/14(水) 12:03:09値渡しというものはどういう場面で使うものなのでしょうか?
0395デフォルトの名無しさん
2007/11/14(水) 12:04:580396デフォルトの名無しさん
2007/11/14(水) 12:14:49え?そうだったんですか?
ということは知らないうちにつかっていたんですね・・・
言葉と説明だけではいまいち理解ができなかったので
どういう場面でつかってるかわかれば多少理解できるかなと思ったのですが
まだわからないのでもう少しいろんなサイトまわってきます
0397デフォルトの名無しさん
2007/11/14(水) 12:27:17調べても無駄かと
調べるなら「参照渡し」「名前渡し」でぐぐるといいかもしれん
0398デフォルトの名無しさん
2007/11/14(水) 12:34:09どんな説明を受けたんだ?
調べるならばJavaのメモリモデルに関して調べるといい。
スタックとヒープの違いとそれぞれの使われ方、インスタンス変数とローカル変数がそれぞれどんな風にメモリにマッピングされるか、その辺りを調べてみるといい
深い話までは理解する必要はないけど、大雑把には理解しておくべき話
0399デフォルトの名無しさん
2007/11/14(水) 12:52:34参考になります。どうもありがとうございます。
早速教えていただいた単語を元に調べてみたいと思います。
0400デフォルトの名無しさん
2007/11/14(水) 13:04:52C++ の参照渡しなんてポインタ渡しのシンタックスシュガーでしかないし。てかどの言語の
参照渡しも結局はアドレスでやり取りしてんのを言語レベルで隠蔽してるだけじゃんと思うんだが。
0401デフォルトの名無しさん
2007/11/14(水) 13:11:49専門用語の定義にケチつけるなんて暇人だな、ぐらいにしか思えんが。
0402デフォルトの名無しさん
2007/11/14(水) 13:11:57・プリミティブ型はその値を、オブジェクト型はその参照の値(アドレスのようなもの)を、渡しているだけだから。
・ただしオブジェクト型の場合、中身を書き換えれば可変になる。(リストを渡して中身を追加みたいなことはできる。)
これだけ分かればそんなに深い話は分かんなくても理解できるだろ。
0403デフォルトの名無しさん
2007/11/14(水) 13:14:19結局のところそういうことだろーが、考え方が逆なんじゃね?
CやC++のポインタが異端で、コピーではなくメモリアドレスで関数に渡す方法を総じて参照渡しって言うんだろ。
そう考えると、ポインタはそれより一つ低レベルなところでの処理だな。
0404デフォルトの名無しさん
2007/11/14(水) 13:19:07電子回路を考えるのか?
0405デフォルトの名無しさん
2007/11/14(水) 13:25:09間違ってはいないと思うが、メモリモデルを理解できていないと理解しにくいと思われ
なんで呼び出し側の実引数が変らないの?
変った方が便利じゃん。
って話になる。
0406デフォルトの名無しさん
2007/11/14(水) 13:45:24DBにアクセスしてメッセージとりにいかなきゃあかんのよ。
で、そのときに当然例外飛んでくるんだけどさ、
これはどやってログに出力するの?
いま作ってるロガーでえらー出力させたら
無限にエラーになるよね?
プロはこういうときどうやってんの?
0407デフォルトの名無しさん
2007/11/14(水) 13:49:500408デフォルトの名無しさん
2007/11/14(水) 13:49:55log4j使え
研究とかで自前で作っているのであればソース嫁
実際問題、ログ出力時の例外処理は握りつぶすしかないだろうな
ログにかけようが書けまいが、アプリは実行できなきゃいけないだろ、通常は。
0409デフォルトの名無しさん
2007/11/14(水) 13:54:45結局行き着くところは、参照の値渡しを言語上どう書けるかでしかないんだよな。
Java でも C でも参照の参照 (ポインタのポインタ) 渡せば原理も出来ることも同じなんだし。
じゃあ何が違うのというと言語上どう書けるかという事にしか行き着かない。
問題は呼び出し先の結果がパラメータにどう反映されるか理解することでしょ。
どう暗黙的に動くか/書けるかじゃなくて。
といつもここら辺でもやもやして忘れることにしている。
0410デフォルトの名無しさん
2007/11/14(水) 13:57:52Exception eを取得できるんだったら、
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
String msg = sw.toString();
なんてやって、msgをログに吐いてやるとか。
0411デフォルトの名無しさん
2007/11/14(水) 14:03:17「DB 障害でメッセージが取得できませんでした: 参照できなかったメッセージコード %1$s」
みたいな固定メッセージ + SQLException のスタックトレース吐くくらいしか出来ることはないだろ。
昔、某メーカー製の独自糞フレームワークが一度 DB 系の障害起こすと無限ループ的に
ログ吐きまくり + パーティションフルになると今度は OutOfMemory でまくりという、まさにそれと同じこと
やってたよ。
0412406
2007/11/14(水) 14:10:12即レスありがとうです。
やぱし基本握りつぶしですね。
>>407-408
フォーマットのとこではつかうけど、DBアクセスまではしてくれないので・・・>log4j
0413406
2007/11/14(水) 14:15:01即レスありがとうです。
やはり基本握りつぶしですね。
>>407-408
内部では使うんですが、DBアクセスまではしてくれないので・・>>log4j
って、生log4jを直接呼べばおkってことですかね。
いろいろ解決っぽいです。ありがとうございました。
0414406
2007/11/14(水) 14:16:160415デフォルトの名無しさん
2007/11/14(水) 14:24:51log4jはJDBC経由でログ吐けるだろ
0416デフォルトの名無しさん
2007/11/14(水) 14:27:23それ DB にログを格納できるってだけじゃん。
任意のメッセージ取ってくるなんて機能ねーだろ。
0417デフォルトの名無しさん
2007/11/14(水) 14:30:59起動時に全部取得してキャッシュすりゃ解決じゃねーか
0418デフォルトの名無しさん
2007/11/14(水) 17:24:28いろいろwebを漁ってみた結果、
Tomcatはservlet containerを含むapplication server、
GlassFishはservlet container以外にもいろいろ付属したapplication server
という認識なんですがどうでしょうか。
あとJBossは内部にTomcatを含んでいるようですが、GlassFishもTomcatを含んでいるのでしょうか。それとも独自のservlet containerとapplication serverを持っているのでしょうか。
よろしくお願いします。
0419デフォルトの名無しさん
2007/11/14(水) 18:20:39作っているところが違うという事でいいか?
後は対応しているJavaEEの仕様が違う。
Tomcatは厳密に言えばAppサーバーといえないしな
0420デフォルトの名無しさん
2007/11/14(水) 18:25:250421デフォルトの名無しさん
2007/11/14(水) 18:32:470422デフォルトの名無しさん
2007/11/14(水) 18:43:21根拠は?JCPがそう規定してるのか?
0423デフォルトの名無しさん
2007/11/14(水) 19:00:49>違いも何も別のものだろ
>作っているところが違うという事でいいか?
作ってるところが違っても、同じ仕様を満たすなら、別物というほどでもないと思います。
>後は対応しているJavaEEの仕様が違う。
そのへんを詳しく。あるいは参考になるページを教えていただけますか。
>Tomcatは厳密に言えばAppサーバーといえないしな
どういった点でそう判断されましたか?
今のところ、アプリケーションサーバの厳密な定義はないと思いますし、Webを見る限りではTomcatはアプリケーションサーバーに分類されてると思います。
>>421
その定義だとJava以外の言語用のアプリケーションサーバーは存在できなくなります。
あえていうなら、J2EEアプリケーションサーバーでしょうか。
で、>>418の続きなんですか、GlassFishにはTomcatは含まれておらず、servlet containerもapplication serverも独自実装という理解でいいでしょうか。
GlassFishをダウンロードしてみたのですが、いまいち分かりませんでした。
0424デフォルトの名無しさん
2007/11/14(水) 19:13:36TomcatはApache Software Foundationで作られている。
GlassfishはJavaEE仕様完全準拠のフルスタック。
Tomcatは基本的にWebコンテナ+JNDIサービスのみ。
GlassfishにTomcatそのものがそのまま含まれているわけではない。
ただし、両者には共通するコードは多く含まれている。
両者ともオープンソースソフトウェアなので、コードの再利用が認められているからだ。
俺はTomcatは「アプリケーションサーバ」でいいと思うよ。
0425デフォルトの名無しさん
2007/11/14(水) 19:41:01JavaでPNGをロードするコードを探しています
PNGファイルをJavaで解析しているコードという意味で、Appletで読み込みをしたいという意味ではありません
というのも、iアプリでPNGを扱いたいのですが、元から入ってる画像ロードクラスではPNGが対応していないのです
なのでPNGのファイル構造を解析して1ドットずつ画像を取得しなければなりません
libpngのソースを移植するというのを最終手段としては考えていますが、もしJavaで書かれたコードがあれば教えていただけると幸いです
0426デフォルトの名無しさん
2007/11/14(水) 19:56:26そのSPIがPure Javaで出来てるなら、Open JDKで覗けるのかな?
0427デフォルトの名無しさん
2007/11/14(水) 20:31:42javapng
http://code.google.com/p/javapng/
PNGをdecodeして読み込むためのライブラリみたい
PNG encoder
http://www.objectplanet.com/pngencoder/
readじゃなくてwriteのほうだけど、ソースを読んでPNGの構造を理解する助けにはなる
かも
0428デフォルトの名無しさん
2007/11/14(水) 20:34:000429418
2007/11/14(水) 20:37:12どうもありがとうございます。
>GlassfishはJavaEE仕様完全準拠のフルスタック。
>Tomcatは基本的にWebコンテナ+JNDIサービスのみ。
こういう回答をまってました。
最近はservlet containerと言わずにweb containerというんですか?
>GlassfishにTomcatそのものがそのまま含まれているわけではない。
>ただし、両者には共通するコードは多く含まれている。
どのあたりが共通しているか、わかるようでしたら教えてください。
servlet container と web server のあたりはどうでしょうか?
# ダウンロードして中身をみても、よくわかんないんですよね。
# JBossはTomcat6を持ってきてると書いてあるから分かりやすいんですが。
0430デフォルトの名無しさん
2007/11/14(水) 21:02:37どこまで人任せ?
0431デフォルトの名無しさん
2007/11/14(水) 21:24:220432デフォルトの名無しさん
2007/11/14(水) 21:30:12無駄に偉そうだしwww
0433デフォルトの名無しさん
2007/11/14(水) 21:33:29そもそもJavaEEが何かってのを考えてごらん
Servlet/JSPはJavaEEを構成する一要素に過ぎない
とりわけGlassfishが実装しているJavaEE 5はServlet 2.5, JSP2.1の仕様に対応している
そのほか、EJB,JPA,JMS,JTA,JSTL,JSF,JAXP,JAX-RPC,JAX-WS,StAX,JavaMail,JAF等々の仕様をまとめてひとつのプラットフォームとして規定したのがJavaEE。
つまり、>>424が言っているとおり、
Servlet/JSPの仕様を満たしているのがTomcat
JavaEEの仕様を満たしているのがGlassfish
Tomcat6はServlet 2.5, JSP 2.1の仕様を満たしている
JavaEE5でもServletは2.5、JSPは2.1に対応している
じゃあServlet/JSPの仕様が共通なんだ、というのがわかるよね。
0434デフォルトの名無しさん
2007/11/14(水) 21:35:40初心者歓迎つっても質問の初心者は歓迎しませんよって感じだな。
何が分からないか分からない人のヒアリングの場ではない。
0435デフォルトの名無しさん
2007/11/14(水) 21:38:36うまいこといったなw
確かに質問が下手だと、いろいろな解釈ができてしまうから腹がたつ
0436デフォルトの名無しさん
2007/11/14(水) 21:45:09ありがとう
中身みてみますね
0437デフォルトの名無しさん
2007/11/14(水) 22:03:14>>429はそういうことを聞きたいんじゃないと思う。
どこが同じ仕様なのか聞きたいんじゃなくて
どの部分のコードが同じなのか聞きたいんだろ?
>>429
実装部分のAPIリファレンスをダウンロードしてみて、
org.apacheから始まるパッケージの部分はTomcatと同じコードが
含まれていると考えていい。jasperとかcatalinaとかあるから。
Servletコンテナとも、Webコンテナとも言うね。
どちらも指しているものはほぼ同じ。
Webコンテナといった場合の方が、Servlet処理系だけでなく
JSPコンテナやHTTPサーバを含んでいるという意味合いが強い。
0438418
2007/11/14(水) 22:10:22>つまり、>>424が言っているとおり、
>Servlet/JSPの仕様を満たしているのがTomcat
>JavaEEの仕様を満たしているのがGlassfish
これはわかりやすい説明。なるほど、合点が行きました。
ありがとうございました。
あと、「GlassFishはTomcatのコンテナとwebサーバーは使ってない」であってますか。
Tomcat, JBoss, GlassFishの性能を評価しなくちゃいけなくて、でもJBossはTomcat6を内部に持っているからTomcatと同じと見なせてテストを省略できるとして、
もしGlassFishがTomcatを使ってたらこれも省略できるかなーと思ってたんですが、そういうわけにもいかないですね。
結局、TomcatとGlassFishでどのコードが共通なのか分からずじまいです。
0439418
2007/11/14(水) 22:11:47>実装部分のAPIリファレンスをダウンロードしてみて、
>org.apacheから始まるパッケージの部分はTomcatと同じコードが
>含まれていると考えていい。jasperとかcatalinaとかあるから。
ははあ、そういう方法がありましたか。
これはいいヒントになります。ありがとうございました。
0440デフォルトの名無しさん
2007/11/14(水) 22:15:42>でもJBossはTomcat6を内部に持っているからTomcatと同じと見なせてテストを省略できるとして、
あるあ・・・・・・ねーよwwww
0441デフォルトの名無しさん
2007/11/14(水) 22:21:50しかも、ソースは2chかよwww
0442デフォルトの名無しさん
2007/11/14(水) 22:36:55Tomcat一択でいいだろ、素人ならBestよりBetterだ。
より完璧な環境より、ワークアラウンド情報が豊富な環境の方が運用しやすい。
0443デフォルトの名無しさん
2007/11/14(水) 22:47:02いろいろとググッたのですが
分からなかったので質問させて頂きます
JAVAからruntime.execでUnixコマンドを
実行した際に、
java.security〜 exception execute
と叱られます。
ポリシー設定ファイルは、readとwriteの指定のみですが
出来ればポリシー設定ファイルは変更せずに
Unixコマンドを実行したいのですが
何か方法はございますでしょうか?
宜しくお願い致します。
0444デフォルトの名無しさん
2007/11/14(水) 22:50:53Appletでやりたいのならあきらめろ。
0445デフォルトの名無しさん
2007/11/14(水) 22:56:080446デフォルトの名無しさん
2007/11/14(水) 23:01:27まあ、やれない方が自然だわな
shとかかませば出来るかしれんけど
Appletからじゃ出来るのは問題
0447デフォルトの名無しさん
2007/11/14(水) 23:04:06All パーミッション与えとけ。
0448デフォルトの名無しさん
2007/11/14(水) 23:08:530449デフォルトの名無しさん
2007/11/14(水) 23:19:09運用を考えたときの当然の悩みだと思うけど、何でポリシーへの追記まで制限すんの?
無理なやり方はセキュリティホールの温床になると思うんだけど。
0450443です
2007/11/14(水) 23:21:32このソースはサーブレットですが、
何か妙案ございますでしょうか?
ちなみに、processbuilderでも叱られました…
0451443です
2007/11/14(水) 23:23:52777権限のシェルでも同じ内容で
叱られてしまいました…
度々すみませんです。
0452デフォルトの名無しさん
2007/11/14(水) 23:30:210453443です
2007/11/14(水) 23:37:23運用面を含め調べてみます。
ありがとうございました。
0454デフォルトの名無しさん
2007/11/14(水) 23:43:280455デフォルトの名無しさん
2007/11/15(木) 00:20:35phpに受け取らせたいです。
どのように書けばいいか、教えて頂けませんでしょうか?
0456デフォルトの名無しさん
2007/11/15(木) 01:24:55それはphpの質問じゃないのか?
外部プログラムを実行してその結果を受け取るのは
そのプログラムがjavaプログラムであるかないかによらない
0457デフォルトの名無しさん
2007/11/15(木) 01:32:04sockを使ったプログラムを勉強中なのですが
上述のソースをEclipseで実行すると下記のようなエラーがでます
解決法を教えていただけませんか?
Exception in thread "Thread-0" java.lang.NullPointerException
at cc.ChatClient_GUI$Sender.checkAsyncExec(ChatClient_GUI.java:77)
at cc.ChatClient_GUI$Sender.run(ChatClient_GUI.java:63)
at java.lang.Thread.run(Unknown Source)
ちなみに鯖側のソースですが正常に動作します(telnetにて確認済み)
http://118.16.21.156/cs.java
0458デフォルトの名無しさん
2007/11/15(木) 01:38:25illustrator10でjavascriptを利用する際の質問はどのスレに行けばいいのでしょうか…?
それともここのスレでも大丈夫ですか…?
0459デフォルトの名無しさん
2007/11/15(木) 01:40:18Senderのdisplayに何も代入してないじゃん
0460デフォルトの名無しさん
2007/11/15(木) 01:53:44レスありがとうございます
Senderのコンストラクタに
this.app=app;
this.display=display;
と追加し133行目をnew Thread(new Sender(in,this,display)).start();
と書き換えてみましたがうまくいかないようです
ブレイクポイントをSender近辺に設定してデバッグ中ですがよくわからないです・・・
0461デフォルトの名無しさん
2007/11/15(木) 02:23:28多分どこも持って行くところがないと思う。
0462デフォルトの名無しさん
2007/11/15(木) 02:37:18ツールと言語の名前だけ聞けばWeb制作板で間違いないと思う。
というよりJavaとJavaScriptは全くの別物
とりあえず、『Illustrator JavaScript』でググレばいいと思う
色々情報載ってるよ
Illustratorという名前に惑わされず
普通にJavaScript勉強すればそのうちわかるんじゃとは思うが
とりあえず先にいったとおり
ここは『Java』スレであって『JavaScript』スレでないのでスレ違いです
0463デフォルトの名無しさん
2007/11/15(木) 03:56:38javaから同じくjavascriptの場合についても教えてください
お願いします
0464デフォルトの名無しさん
2007/11/15(木) 03:58:29オーナーの方の返事を待つ間、少しでも自分でやってみようと思います。
製作を他の方に依頼するのは頑張った後でも遅くはないと考え直しました。
それでコンパイルしようとすると、次の、
GlyphVector glyph = Font.createGlyphVector(
部分で以下のようなエラー情報が返って来ます。
>static でない メソッド createGlyphVector
>(java.awt.font.FontRenderContext,java.lang.String)
>を static コンテキストから参照することはできません。
>= Font.createGlyphVector(
> ^
Javaの道さんのところのFAQによると、(http://www.javaroad.jp/faq/faq_error1.htm#q7)
「明示的にオブジェクトを指定してメソッド、変数を参照すれば、エラーにはなりません」
とのことですが、この「明示的にオブジェクトを指定」をどのようにすれば良いのか判りません。
リンク先のサンプルをそのままコピーして当該部分に貼り付けたのですが駄目でした。
やり方を御存知の方がいらっしゃったら、どうか御教示ください。お願い致します。
環境は WindowsXP_SP2 及び JDK_1.6.0_03 です。
0465デフォルトの名無しさん
2007/11/15(木) 04:16:31Fontのインスタンスを作ってから呼べってこと。
Font font = new Font(...);
GlyphVector gv = font.createGlyphVector(...);
0466デフォルトの名無しさん
2007/11/15(木) 04:16:37URL クラスを使ってその PHP の URL からテキストでも XML でも何でもダウンロードしる。
>>464
Font font = new Font("Dialog", Font.PLAIN, 12); // ←グリフを取得したいフォント
GlyphVector glyph = font.getGlyphVector(...);
0467デフォルトの名無しさん
2007/11/15(木) 04:18:190468デフォルトの名無しさん
2007/11/15(木) 04:24:43javascriptも同じで
URLでコンテンツダウンロードするだけで値を参照できるかな
0469デフォルトの名無しさん
2007/11/15(木) 04:28:000470デフォルトの名無しさん
2007/11/15(木) 04:33:20何がしたいか分からん。PHP が作った HTML の中に入ってる文字を取り出したいならコンテンツ
ダウンロードして文字列解析しろ。HTML 内の JavaScript がはじき出す情報が欲しいなら難しい。
標準では無理。Mozilla の PINO か何か使え。
0471デフォルトの名無しさん
2007/11/15(木) 04:34:37大雑把に言うとメソッドを実行するには二つの方法があります。
1. オブジェクトからメソッドを実行する方法
2. クラスからメソッドを実行する方法
用語はともかく、二つの方法があるということを抑えればOKです。
それでなぜそのエラーが出るかというと
1の方法で実行しないといけないメソッドを2の方法で実行しているからです。
付け焼刃でどうにか実現でき・・・るかもしれませんが、
急がば回れで入門サイトを見て一から勉強したほうが早いかもしれないかもしれないかも
0472デフォルトの名無しさん
2007/11/15(木) 04:45:33さんきゅ
それが聞きたかった
やりたい事は参照それ以上は言う必要ないべ
PINOねPHPは無理そうだね
0473デフォルトの名無しさん
2007/11/15(木) 04:47:51>>230さんに指摘された通り、一部小文字を間違えて大文字で表記していました。スミマセン。
それで教えて頂いた方法を試しているのですが、この間違いのせいかイマイチ上手く行きません。
また、ごく一部をのみを掲載さしたのがマズかったかと思い、当該部分を前後を含めて書き込みたいと思います。
>>230のリンク先のサンプルから変更したのは、参照したいフォントをインストールされているものにしたのと、
クラス名を加えたくらいです。このままコンパイルすると、今度は「シンボルが見付けられない」と出ます。
教えて貰った方法でも色々と試してみますが、広い範囲を見て別のやり方が有れば宜しくお願いします。
import java.awt.Font;
import java.awt.Shape;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
import java.awt.geom.PathIterator;
import java.awt.geom.Rectangle2D;
import java.io.FileInputStream;
public class eps{
public static void main(String args[]){
FileInputStream fin = new FileInputStream( "MSgothic.ttf" ); //参照したいフォント
Font font = Font.createFont( Font.TRUETYPE_FONT, fin );
fin.close();
GlyphVector glyph
= font.CreateGlyphVector(
new FontRenderContext(new AffineTransform(), false, false),
"some text" //抽出したい文字列
);
}
}
0474デフォルトの名無しさん
2007/11/15(木) 04:52:10で良いんじゃないかと。
0475デフォルトの名無しさん
2007/11/15(木) 04:59:54上の「 = font.CreateGlyphVector( 」は大文字ではなく小文字で、「 = font.createGlyphVector( 」でした。
それで、そのままコンパイルしようと「キャッチかスロー宣言をしなければならない」とでるので、
Javaの道さんのサンプルを参照して、次のようにしました。
そうするとやっばり「シンボルが見付けられない」と出てきました。
import java.awt.Font;
import java.awt.Shape;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
import java.awt.geom.PathIterator;
import java.awt.geom.Rectangle2D;
import java.io.FileInputStream;
public class eps{
public static void main(String args[]){
try {
FileInputStream fin = new FileInputStream( "MSgothic.ttf" ); //参照したいフォント
Font font = Font.createFont( Font.TRUETYPE_FONT, fin );
fin.close();
} catch (java.io.IOException e) {
e.printStackTrace();
}
GlyphVector glyph
= font.createGlyphVector(
new FontRenderContext(new AffineTransform(), false, false),
"some text" //抽出したい文字列
);
}
}
0476デフォルトの名無しさん
2007/11/15(木) 05:02:49御迷惑ばかりかけて本当にスミマセン。
0477デフォルトの名無しさん
2007/11/15(木) 05:23:56import java.awt.font.*;
import java.awt.geom.*;
import java.io.*;
public class eps{
public static void main(String args[]){
try {
FileInputStream fin = new FileInputStream( "MSgothic.ttf" ); //参照したいフォント
Font font = Font.createFont( Font.TRUETYPE_FONT, fin );
fin.close();
GlyphVector glyph = font.createGlyphVector(
new FontRenderContext(new AffineTransform(), false, false),
"some text" //抽出したい文字列
);
} catch (Exception e) {
e.printStackTrace();
}
}
}
0478デフォルトの名無しさん
2007/11/15(木) 06:06:39元の部分をいじらなくても try とcatch で括るだけで何とかなるのですね。勉強になりました。
他にもワヤワヤになってしまった私の書き込みにレスを下さった皆様方に心から感謝します。
それで、今迄質問していたのはリンク先のソースの前半部分だけで、後半部分を付け足すとまた、
シンボルを見つけられません。
シンボル: 変数 glyph
場所 : eps の クラス
Shape outline = glyph.getOutline();
^
と出て来てコンパイルできません。前半部分と同じように
try {
●●●●●●
} catch (Exception e) {
e.printStackTrace();
}
で括れば良いのかと思って色々な部分に同文を挿入しているのですが、逆にエラー箇所が増えたりします。
教えて貰ってばかりで申し訳ないのですが、同じようなやり方でどこかを括れば良いのでしょうか?
今一度お知恵をお貸し下さい。お願い致します。(以下に二度に分けてサンプルを引用します)
0479デフォルトの名無しさん
2007/11/15(木) 06:07:28import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.io.*;
public class eps{
public static void main(String args[]){
try {
FileInputStream fin = new FileInputStream( "MSgothic.ttf" ); //参照したいフォント
Font font = Font.createFont( Font.TRUETYPE_FONT, fin );
fin.close();
GlyphVector glyph = font.createGlyphVector(
new FontRenderContext(new AffineTransform(), false, false),
"some text" //抽出したい文字列
);
} catch (Exception e) {
e.printStackTrace();
}
//↑サンプルの前半部分
0480デフォルトの名無しさん
2007/11/15(木) 06:09:06Shape outline = glyph.getOutline();
PathIterator iter = outline.getPathIterator(null);
int type;
float coords[] = new float[6]; //Postscript の newpath を発行
while (!iter.isDone()) {
type = iter.currentSegment(coords);
switch (type) {
case PathIterator.SEG_CLOSE : //Postscript の closepath を発行
case PathIterator.SEG_CUBICTO : //Postscript の curveto を発行
case PathIterator.SEG_LINETO : //Postscript の lineto を発行
case PathIterator.SEG_MOVETO : //Postscript の moveto を発行
case PathIterator.SEG_QUADTO : //2 次 B スプラインを Postscript の curveto に変換して発行
}
iter.next();
}
switch (iter.getWindingRule()) {
case PathIterator.WIND_EVEN_ODD : //Postscript の eofill を発行
break;
case PathIterator.WIND_NON_ZERO : //Postscript fill を発行
break;
default :
//エラー
break;
}
}
}
//↑サンプルの後半部分
0481デフォルトの名無しさん
2007/11/15(木) 06:14:560482デフォルトの名無しさん
2007/11/15(木) 06:16:06おまえのプログラムをデバッグするスレでも立ててそっちでやれ。
0483デフォルトの名無しさん
2007/11/15(木) 06:24:26本当に皆さんのお蔭です。ド素人の質問にこんなにも丁寧に答えて頂いて感激しました。
心から感謝いたします。本当に本当にありがとうございました。重ねて御礼申し上げます。
>>482さん、申し訳ありません。以後このような事がないように気を付けます。
0484デフォルトの名無しさん
2007/11/15(木) 13:06:59StreamTokenizerクラスのオブジェクトstがあるとして
st.wordChars(''',''');
とやってもまぁエラーになります。
ダブルクオートで囲ってもだめでした。
0485デフォルトの名無しさん
2007/11/15(木) 13:09:100486デフォルトの名無しさん
2007/11/15(木) 13:30:31ありがとうございます!
0487デフォルトの名無しさん
2007/11/15(木) 21:38:53では 意味がちがってくるのでしょうか?よろしくお願いします
0488デフォルトの名無しさん
2007/11/15(木) 21:48:30おいらはpublic static finalの出現順になるように統一してるよ。
ちなみにNetBeansのコード補完もこのスタイル。
psfi<半角スペース>と打つと、private static final intに変換される。
0489デフォルトの名無しさん
2007/11/15(木) 21:54:38早速の返答 さんきゅうです!
0490デフォルトの名無しさん
2007/11/15(木) 22:04:54最初からこの並びを意識した方がコードの共有には有利かもね
http://sdc.sun.co.jp/java/docs/j2se/1.5.0/ja/docs/ja/api/java/lang/reflect/Field.html#toGenericString()
0491デフォルトの名無しさん
2007/11/16(金) 00:30:21例えば、メソッドの修飾子なら、
ttp://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.4.3
にあるように、"it is customary, though not required"ではあるけれど、
複数の修飾子が出現する場合の順序が一応JLSで示されている。
くさってもJLSなので、JLSに書かれてあるのならJLSに合わせておくのが無難。
0492デフォルトの名無しさん
2007/11/16(金) 14:51:05newでインスタンスを作るのとcloneでインスタンスをつくるのとの
比較を交えて頭のチョット弱めの人でもわかる詳しい解説をよろしくおねがいできなかったでしょうか?
0493デフォルトの名無しさん
2007/11/16(金) 15:00:08clone() = コピー
0494デフォルトの名無しさん
2007/11/16(金) 15:15:37可変なデータを持つオブジェクトの中身が意図せず変わることを防ぐためにコピーするとか。(防衛的コピー)
あとcloneの代わりにstaticファクトリメソッドやコピーコンストラクタを使うこともある。
0495デフォルトの名無しさん
2007/11/16(金) 15:28:35newは中身空っぽの新しいオブジェクトを作る
cloneは元のオブジェクトと同じ中身のコピーを作る
newは自分が指定したクラスのオブジェクトを作る
cloneは元のオブジェクトと同じクラスのオブジェクトを作る
newは何もないときでも新しいオブジェクトを作れる
cloneはコピー元となるオブジェクトが必要
newはコンストラクタを呼び出す
cloneはコンストラクタを呼び出さない
newは予約語
cloneはメソッド名
0496デフォルトの名無しさん
2007/11/16(金) 16:25:16int配列の途中から最後までの部分配列を作る方法を教えてください。
0497デフォルトの名無しさん
2007/11/16(金) 16:29:400498デフォルトの名無しさん
2007/11/16(金) 16:30:180499デフォルトの名無しさん
2007/11/16(金) 16:42:440500デフォルトの名無しさん
2007/11/16(金) 20:24:40イメージとしては
http://up.mugitya.com/img/Lv.1_up40091.bmp.html
こんな感じです。
アニメーションをパネルに設置して、フレームに入れればいけるとは思うのですが、
パネルに設置する方法がいまいちよくわかりません。
どなたか教えていただけるとありがたいです。
説明分かりにくくて申し訳ないですが、よろしくお願いします。
0501デフォルトの名無しさん
2007/11/16(金) 20:47:49JSplitPane spane = new JSplitPane() ;
spane.setLeftComponent(Lpanel) ;
spane.setRightComponent(Rpanel) ;
// Lpanelにボタン類を配置してRpanelで描画するとか
0502デフォルトの名無しさん
2007/11/16(金) 20:51:38panel.add(animationCanvas);
0503デフォルトの名無しさん
2007/11/16(金) 20:53:31ありがとうございます。SplitPaneなるものがあるとは知りませんでした。
申し訳ありませんが、ついでにもう一ついいですか?
http://www.ipc.hokusei.ac.jp/~z00104/java/anim.html
の例2のぱらぱらアニメーションを作ったとして
これをSplitPaneの右に配置する方法を教えていただきたいのですが
0504デフォルトの名無しさん
2007/11/16(金) 21:06:060505デフォルトの名無しさん
2007/11/16(金) 21:12:06class PaintPanel extends JPanel {
public void paint(Graphics g) {
//描画したい処理
}} // PaintPanel Rpanel = new PaintPnel() ;
0506デフォルトの名無しさん
2007/11/16(金) 21:16:28あーなるほど、試してみます。
有難うございました。
0507デフォルトの名無しさん
2007/11/16(金) 21:23:15なんどもすみません、描画したい処理ってのは
init(){
からを描けばいいんですか?
0508デフォルトの名無しさん
2007/11/16(金) 23:08:06>>230のリンク先で公開されている
TrueTypeフォントのアウトラインを取得してEPS形式に変換するJAVAは、
掲示板の皆さんのお蔭でコンパイルできました。それで、その時、
「あれ? コンパイルはできたけどEPSファイルが出力されないぞ?」
と思い、EPSファイルでの保存は別なんだと遅ればせながら気付きました。
それでJAVAへの道さんでファイルの入出力を勉強しまして、
FileOutputStream fos = new FileOutputStream("test.eps");
BufferedWriter bw = new BufferedWriter(osw);
String msg = "%!PS-Adobe-2.0 EPSF-1.2\n%%BoundingBox: 0 0 20 20\ngsave\n\ngrestore\nshowpage";
のようにすればEPSファイルを出力できることが判りました。
そこで質問なのですが、出力したEPSファイルの中に、
変換されたアウトライン情報(>>479-480で得た情報)を書き込むためにはどうすれば良いのでしょうか?
JAVAへの道さんの言う「オブジェクトのシリアライズ」もしくは「パイプ入出力」のことかと思って、
色々と入出力のやり方を試しているのですが、いまいち上手く行きません。
質問ばかりで申し訳ないのですが、どうか御教示願います。
0509デフォルトの名無しさん
2007/11/16(金) 23:10:12public class InOut {
public static void main(String args[]){
System.out.println("作成したいファイルを入力してください");
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(str)));
pw.println("これから");
System.out.println("入力よろ");
pw.println(br.readLine());
}catch(IOException e){
System.out.println(e);
}
}
}
最近javaをはじめたのですがファイル出力するプログラムを作ったのですが、ファイルは作成されるけど
文字が出力されません。おかしい点を指摘して欲しいです!
よろしくおねがいします
0510デフォルトの名無しさん
2007/11/16(金) 23:12:14最後に pw.close();
0511デフォルトの名無しさん
2007/11/16(金) 23:17:58うあああーーーー!
そういう事でしたか。ありがとう^^
0512デフォルトの名無しさん
2007/11/16(金) 23:19:07まずEPSファイルの仕様を調べて、んでその仕様通りに書き込めばいいだろう
自動的にEPS形式で出力してくれるような超便利メソッドは無い
0513デフォルトの名無しさん
2007/11/17(土) 00:47:51どうもです。あの少し誤解が有るようですが、
>>479-480のクラスでTruTypeフォントのアウトラインを取得し、
それをEPS(PostScript)形式に変換しています。
その変換結果の外部ファイルへの出力(書き込み)の仕方がよく判らないのです。
最初は「拡張子の.classを.epsに書き換えればよいのかな?」と思っていたのですが全然違うようですし。
JAVAを勉強し初めて一週間もたたないので用語が適切かどうか判らないのですが、
「オブジェクトの実行結果を再利用したい」ということになるのでしょうか。
もしくは「メソッドの結果を出力したい」になるのかも。
ど素人なのでトンチンカンなことを言っていたらスミマセン。
0514デフォルトの名無しさん
2007/11/17(土) 00:53:53どこで変換してるの?
479-480 のサンプルコードでは、その部分がコメントで省略されてるように見えるが。
0515デフォルトの名無しさん
2007/11/17(土) 00:59:530516デフォルトの名無しさん
2007/11/17(土) 01:04:48そ、そうなんですか !?
確かにサイト上で公開されていたオリジナルのコードにはコメントが付いていませんが、
コメントを付けないと「';' がありません」というエラー表示が出て来てコンパイルできないので、
てっきり作者様のコメントの付け忘れかと・・・・。
ひょっとして私の素人考えでとんでもないミスをしているのでしょうか。
>>515
すみません。前に>>482さんに叱られたので短くするように努めたつもりなのですが・・・
お気に触ったなら申し訳ありません。
0517デフォルトの名無しさん
2007/11/17(土) 01:20:06君がコメントアウトした部分は実コードじゃなくて 「この処理は自分で考えろ」 という意味。
Postscript のフォーマット知らないでそのファイルを作るコード書けるわけないじゃん。
0518デフォルトの名無しさん
2007/11/17(土) 02:15:47そうだったのですか・・・。全く思いつきもしませんでした・・・・。
素人考えで作者様に無礼をしたのを始め、スレ汚しをしてまったことを皆様にお詫びします。
もっと勉強してから出直して来ます。御指導ありがとうございました。
0519デフォルトの名無しさん
2007/11/17(土) 05:58:46Windows Offline Installation, Multi-language
が、インストールできません。XPなのですが
data1.cabは壊れています。
ネットワークエラー、読み取りエラーの可能性があります。
みたいな事がでて中止になってしまいます。
何回もアンインストール、ダウンロードしてもダメなのですが
どうしたらよいのでしょうか?
0520デフォルトの名無しさん
2007/11/17(土) 06:34:48壊れていないものをダウンロードできるまでがんばる。
別のダウンロードアプリを試してみる。
お札を貼る。
0521デフォルトの名無しさん
2007/11/17(土) 07:10:47こういうことって結構あるんですか?
javaの開発ツールを何とかして使いたいのですが;
0522デフォルトの名無しさん
2007/11/17(土) 08:42:06基本から見直した方が良い。
実測96kbpsで途中で何度も回線ぶった切れてDLしたファイルでも問題なくインストール出来てるぞ。
0523デフォルトの名無しさん
2007/11/17(土) 09:05:56ダウンロードしたらファイルサイズくらい確かめろ。
0524デフォルトの名無しさん
2007/11/17(土) 09:40:18以下のファイルを消してみるとか。
以前同じ現象になった時これで直った。
0525デフォルトの名無しさん
2007/11/17(土) 12:26:53できれば標準ライブラリのみで行いたいです。
サーバー側にはPHPでアップロードしたファイルを移動するスクリプトのみ置いています。
0526デフォルトの名無しさん
2007/11/17(土) 12:36:04アプリケーションでやろうと思っているなら URLConnection クラス使って multipart/form-data 形式で
送ってください。
0527デフォルトの名無しさん
2007/11/17(土) 12:39:09>できれば標準ライブラリのみで行いたいです。
commons の HttpClient を使えば簡単なのに。
0528デフォルトの名無しさん
2007/11/17(土) 13:32:37アプリケーションでやろうと思っています。
単純に以下のようにやってみましたが結果は変わりませんでした。
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setDoOutput(true);
con.setRequestProperty("Content-Type", "multipart/form");
DataOutputStream out = new DataOutputStream(con.getOutputStream());
// ファイル書き込み
out.close();
この他にもContent-Disposition,name,filenameなども書き込んでみましたがだめでした。
もしよろしければ引き続きご教示ください。
>>527
そうなのですが、今回は自分で実装してみたかったんです。わがまま言って申し訳ありません。
0529デフォルトの名無しさん
2007/11/17(土) 13:37:16multipart/form-data の場合にどういふうにデータが送られるかわかってる?
RFCを読めとまでは言わないが、ちゃんと調べろよ。
0530デフォルトの名無しさん
2007/11/17(土) 14:44:250531530
2007/11/17(土) 14:45:100532521
2007/11/17(土) 15:36:33ファイルサイズも合っていましたが、ダメでした・・・
C:\Documents and Settings\ユーザ名\Local Settings\Temp
以下のファイル消してもインストールできませんでした;
頑張りまつ。
0533デフォルトの名無しさん
2007/11/17(土) 16:13:32Shift_JISと同じ感覚で、D800〜DFFFが検出されたら、無条件に次のcharとセットとしてよいのですか?
0534デフォルトの名無しさん
2007/11/17(土) 16:19:23そんなに気にするようなもんかね
0535デフォルトの名無しさん
2007/11/17(土) 16:37:330536デフォルトの名無しさん
2007/11/17(土) 16:48:55なるほど、後続文字にも領域指定があるんですね。
サロゲート・ペアのペアってなんだろうと思っていたんですが意味がわかりました。
全ての文字を上位サロゲートで比較し、真なら後続を下位サロゲートと比較、
そこで否を返したらIOExceptionでも投げた方がよさそうですね。
>そんなに気にするようなもんかね
Vistaで第四水準漢字が登場してるから準備はしとくべきかと。
0537デフォルトの名無しさん
2007/11/17(土) 16:51:49println側からみるとoutクラスとAPIで見る限りのっていたのですが。
どうなっているのですか?
詳しい方お願いします。
0538デフォルトの名無しさん
2007/11/17(土) 16:56:16out は System クラスのフィールドであり、そして out は println() メソッドを持っています。
0539デフォルトの名無しさん
2007/11/17(土) 16:59:59out は System クラスのフィールドで、println は PrintStream クラスのメソッドだ。
class System {
public static PrintStream out;
}
class PrintStream {
public void println(String s) { ...... }
}
みたいな感じ。
例えば
PrintStream x = System.out;
x.println("Hello");
のようなこともできる。
0540デフォルトの名無しさん
2007/11/17(土) 17:07:04そうしますと、A.B.CとなるとAクラス中にあるBクラスの中にあるCメソッドという考え方は
間違っているのですか?
0541デフォルトの名無しさん
2007/11/17(土) 17:14:02Aクラス内のBクラスのCメソッドかもしれないし、
AクラスのBフィールドのCメソッドかもしれないし、
AパッケージのBクラスのCメソッドかもしれないし、
変数AのBフィールドのCメソッドかもしれないし
場合による
0542デフォルトの名無しさん
2007/11/17(土) 17:36:530543デフォルトの名無しさん
2007/11/17(土) 17:38:06interfaceAの型に入れたClassBのインスタンスはinterfaceの中の
メソッドしかつかえませんか?
0544デフォルトの名無しさん
2007/11/17(土) 17:42:33基本はそう
ClassBにキャストすればClassBのメソッドを呼べないこともない
0545デフォルトの名無しさん
2007/11/17(土) 17:48:41とした時に 「メソッド isAssembleFrom(Class) は raw 型クラスに属しています。
総称型 Class<T> への参照はパラメータ化される必要があります。」 と警告が
出るのですが、これはどう直せば良いのでしょうか?
0546デフォルトの名無しさん
2007/11/17(土) 17:54:49どうしたらいいんでしょうか?
ファイルを編集して保存するとき、一旦テンポラリに保存してからリネームするようにして
安全性を向上させたいんですけど、そうするとファイルの属性が変わっちゃうのに気づいて
困っています。
OS依存になりそうなんで、 Java だけでは無理だったりしますか?
0547デフォルトの名無しさん
2007/11/17(土) 17:57:331. Java1.4 でコンパイルする (できるなら)
2. @SuppressWarnings("unchecked") (型信頼性の低下等)
3. 宣言等で総称型に対応させる。
0548デフォルトの名無しさん
2007/11/17(土) 18:00:58isAssignableFromだよね?
その書き方でその警告は出ないはずだがな
Class someClass = Some.class;
Class otherClass = Other.class;
someClass.isAssignableFrom(otherClass);
などとやってるのなら
Class<?> someClass = Some.class;
Class<?> otherClass = Other.class;
someClass.isAssignableFrom(otherClass);
とすればいいんじゃない
0549デフォルトの名無しさん
2007/11/17(土) 18:01:11shutDounNow()を使うしかないんでしょうか?
shutDown()だけでは終了しなかったので質問させてもらってます
0550デフォルトの名無しさん
2007/11/17(土) 18:05:52今のところJavaだけでは無理
ファイルのオーナーとかそういうものは扱えない
こういうのはどうだろう
(1) 現在のファイル内容をテンポラリにコピー
(2) ファイルに書き込み
(3) テンポラリ削除
2で失敗した場合
(3') テンポラリから元の内容をコピーし戻して復元
0551デフォルトの名無しさん
2007/11/17(土) 18:11:32shutdownは別に現在実行中のタスクをキャンセルしたりしないから
単に新規タスクの受付を停止して、現在実行中のタスクが終わるまで待ってからスレッドを片付けるだけ
shutdownNowは実行中のタスクもキャンセルさせる
0552デフォルトの名無しさん
2007/11/17(土) 18:14:53メソッド名間違えてました orz
それと Class 直接じゃなくて宣言された変数使ってました orz
<?> で良いんですか。Class クラス扱おうとするとこの警告ばかりでて困ってました。ありがとうございます。
0553デフォルトの名無しさん
2007/11/17(土) 18:17:57こういうPC関連の問題は、原因の切り分けが重要。
まずはインストールファイルがおかしいのか、PCがおかしいのかを特定しろ。
ダウンロードしたファイルを別のPCにインストールして、同じエラーが出たらファイルに原因、成功すればPCに原因がある。
もしPCが原因なら、ユーザーを切り替えて/新設してインストールしてみるとか、
JREのバージョンを最新にしてみるとかetc・・・。
0554デフォルトの名無しさん
2007/11/17(土) 18:32:12>>532にはOSクリーンインストールした方が早い気ガス。
0555デフォルトの名無しさん
2007/11/17(土) 18:33:09何とかインストールできました!
根気強くフォルダを変えながら
落とす→削除を繰り返したらできました。
原因はよくわかりません;
レスくれた方々ありがとうございました。
0556デフォルトの名無しさん
2007/11/17(土) 18:39:29クリーンインストールってインストールCD必要ですよね?
お金に余裕があるときに検討してみます。
0557デフォルトの名無しさん
2007/11/17(土) 18:49:52ありがとうございます。やっぱり Java では無理な感じですね。
元々安全性を向上させようってのがアプリや PC のクラッシュを視野に入れて
いるので、その方法だと 2 でそういう事態が発生した場合にやっぱりファイルが
壊れた状態になってしまいますんで、望んだ結果にはなりません。あと、 2 で
アプリが捕捉できる失敗した場合、 3' も失敗することが多いんじゃないかと思います。
0558デフォルトの名無しさん
2007/11/17(土) 18:55:06shutDownNow()しないと
上記のExecutorを生成したThreadが何時までも残って
待機ループがかかったままになっちゃうんだよね
やっぱりこれしかないのかな
0559デフォルトの名無しさん
2007/11/17(土) 18:56:10それならストリームを共有するなり読み込んだ変数を共有する方が早い
0560デフォルトの名無しさん
2007/11/17(土) 19:02:313' が失敗したら、元のバックアップがここに残ってるから手で復元してねっていうエラーメッセージを出すとか
Javaだけで出来るのはそれくらいじゃないかなぁ。
あとはNIO2を待つか、JNIを使うか…
0561デフォルトの名無しさん
2007/11/17(土) 19:18:18メーカー製でインストールCDないならHDDの別パーティションにデータ入ってるだろ。
それをCDに焼け。
お前さんはここよりwindows板行った方が良い。
0562デフォルトの名無しさん
2007/11/17(土) 19:24:020563デフォルトの名無しさん
2007/11/17(土) 19:27:450564デフォルトの名無しさん
2007/11/17(土) 19:38:56てか環境に問題ってのも所詮お前の伝聞推測だろ。
0565デフォルトの名無しさん
2007/11/17(土) 20:51:07<select name="month">
#for($i=1; $i <=12; $i++)
<option value="${i}">${i}</option>
#end
</select>
ということがしたいです。
0566デフォルトの名無しさん
2007/11/17(土) 20:57:280567デフォルトの名無しさん
2007/11/17(土) 21:01:38new byte[15]みたいなやんちゃをすればできそうだ。
Velocityは有限要素に対する繰り返し処理しかサポートしない方針だから
breakとかもたぶんないんだろうな。
0568デフォルトの名無しさん
2007/11/17(土) 21:05:16ありがとうございます。
velocityのテンプレートで new とかできましたっけ?
0569デフォルトの名無しさん
2007/11/17(土) 21:06:01任意回数ループ実現すんじゃないのか?
0570デフォルトの名無しさん
2007/11/17(土) 21:16:40[1..12]でいけるみたいだぞ。
0571デフォルトの名無しさん
2007/11/17(土) 21:27:37それだ!ちょーさんくす
0572デフォルトの名無しさん
2007/11/17(土) 22:13:02<servlet>
<servlet-name>service1</servlet-name>
<servlet-class>service1Servlet</servlet-class>
</servlet>
<servlet>
<servlet-name>service2</servlet-name>
<servlet-class>service2Servlet</servlet-class>
</servlet>
<servlet>
<servlet-name>service3</servlet-name>
<servlet-class>service3Servlet</servlet-class>
</servlet>
と書くのがめんどくさいので、なんかもっと簡単に書ける方法はありませんか。
たとえば正規表現使って
<servlet>
<servlet-name>service(.*)</servlet-name>
<servlet-class>service${1}Servlet</servlet-class>
</servlet>
とか。
0573デフォルトの名無しさん
2007/11/17(土) 22:25:140574デフォルトの名無しさん
2007/11/17(土) 22:30:500575デフォルトの名無しさん
2007/11/17(土) 22:32:36ループで文字列生成していくのが一般的です
0576デフォルトの名無しさん
2007/11/17(土) 22:39:34invokerつかやいいんでは?
0577572
2007/11/18(日) 00:04:19つまりweb.xmlにはそういう便利機能がないということでしょうか。
>>576
invokerは使うなと言われています。セキュリティ的によろしくないとか。
0578デフォルトの名無しさん
2007/11/18(日) 00:32:47書き並べる必要もないし、web.xmlにそんな機能はいらないでしょ。
0579デフォルトの名無しさん
2007/11/18(日) 10:51:470580デフォルトの名無しさん
2007/11/18(日) 15:30:57最初に取得して使いまわした方が良いのかどっちが良いんでしょうか?
使いまわしてると RMI レジストリや RMI サーバ再起動したり構成変わったときに
変更が反映されますか?
0581デフォルトの名無しさん
2007/11/18(日) 18:32:37どっちでも同じ
サーバが再起動してそれがクライアントに反映されるって意味が解らん。
インターフェイス周りは動的に変更できないし、鯖の処理が変っただけならば当然変るだろ?
だけど、シリアライズとかの問題もあるから普通は鯖を変えたらクライアントも再起動するんじゃないか?
0582デフォルトの名無しさん
2007/11/18(日) 19:01:39http://www.jbook.co.jp/p/p.aspx/2978901/s/~6b19cf0ce
勝った奴いる?
5章の後半で意味がわからなくなってきたんだけど、
最後までわかった奴いる?
かったひとおったら感想きかせて
0583デフォルトの名無しさん
2007/11/18(日) 19:15:18マルチ死ね。
0584デフォルトの名無しさん
2007/11/18(日) 19:16:51マルチ死ね。
0585デフォルトの名無しさん
2007/11/18(日) 19:24:48あーすみません、リモートオブジェクトのサーバが切り替わったり (同じインターフェースで
別サーバから rebind() されたり)、レジストリだけ死んでた時にクライアントからはどういう
動きになるんだろうと疑問に思った次第です。よくよく考えると聞きたかったのは結局↓です。
リモートオブジェクトの接続先ってクライアント側のインスタンスが固定的に持っているのか、
それともメソッド呼び出すたびにレジストリに接続先を問い合わせるのか、(前者のような気が
するけど) どっちなんでしょうか?
0586デフォルトの名無しさん
2007/11/18(日) 19:34:09前者。
変った事がクライアントで解るのであれば、再度レジストするというのはあると思う。
鯖が死んだ場合、クライアントではリモートオブジェクトの実行時に例外が発生する(試してみてくれ)。
したがって、例外をcatchしたならば代替鯖(あれば・・・だけど)へ再度投げなおすというのはクリティカルなシステムならば充分にある話。
どっちかといえば、フレームワークのような部分だけどRMIを用いた有名なフレームワークって聞いたことないな。
0587デフォルトの名無しさん
2007/11/18(日) 19:37:14ありがとう、イメージがわいた。
0588デフォルトの名無しさん
2007/11/18(日) 19:46:59これはガーベジコレクションが働いているのでしょうか
0589デフォルトの名無しさん
2007/11/18(日) 19:47:41複数のオブジェクトのどれかに notify() が来るまで待ちたいんですけど。
0590デフォルトの名無しさん
2007/11/18(日) 20:36:37java.util.cocurrent.CountDownLatch
0591デフォルトの名無しさん
2007/11/18(日) 21:10:45API リファレンス見てみましたけどそれって全部の通知が来るまで待ちませんか?
0592デフォルトの名無しさん
2007/11/18(日) 21:26:02// 並行処理するメソッド
void doThreadMethod() {
// 処理
latch.countDown();
}
// 監視スレッド
void doMultiThreadWorks() {
//すべてのスレッドのインスタンス変数で共有させる
CountDownLatch latch = new CountDownLatch(1);
// 各スレッドの起動
WorkerThread thread1 = new WorkerThread(latch);
WorkerThread thread2 = new WorkerThread(latch);
caunt.await(); // どれかが終了するまでブロック
}
0593デフォルトの名無しさん
2007/11/18(日) 21:29:260594デフォルトの名無しさん
2007/11/18(日) 21:30:29latch.await() ですorz
追記
各並行処理をさせているメソッドだけど、1つ目が終了しても処理は続行されるんで注意するべし
定期的に getCount() を呼んで他のスレッドが処理を終わらせたかをチェックするべし。
0595デフォルトの名無しさん
2007/11/18(日) 21:32:42それともLog4j等のAPIも含めての話か?
含めての話ならば使ってないシステムはウンコだろ
簡単なサンプルとかユーティリティでもない限り、ログを吐かずにどうやって開発するのか不明
0596デフォルトの名無しさん
2007/11/18(日) 21:33:33アッー
count 1 で作ったものを共有すればいいんですかー、ありがとうございます。
0597デフォルトの名無しさん
2007/11/18(日) 21:39:15システムは自作のアプリケーションです。
ぜひアドバイスお願いします。
0598デフォルトの名無しさん
2007/11/18(日) 21:43:322〜3のクラスで構成される程度のプログラムならイラネ
アプリケーションというくらいならばログくらい埋めて置くべき
てか、System.out.printlnと書くところをLoggerを使えばいいだけ
書く手間はほとんど変らない。
Loggerなら後で出力したくないならば設定できる。
後から消すとか面倒だろ?
Sysout変りに使う程度ならばJDKのLoggerで充分
0599デフォルトの名無しさん
2007/11/19(月) 01:42:34いままでほとんど炉がー使ってなかったけど、そんなに手軽なのか。
今度からprintlnの代わりに使うことを検討してみるわ。
0600デフォルトの名無しさん
2007/11/19(月) 01:48:15誰か教えてくれ
0601デフォルトの名無しさん
2007/11/19(月) 01:59:49ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/logging/Level.html#FINE
0602デフォルトの名無しさん
2007/11/19(月) 02:16:360603デフォルトの名無しさん
2007/11/19(月) 02:24:12XML処理で、生成したDocumentBuilderインスタンスを、処理負荷の低減のために
public class Hoge {
private static DocumentBuilder db = dbf.newDocumentBuilder();
...
public static Document getDocument(InputStream in) {
return db.parse(in);
}
}
みたいに全てのHogeインスタンス間で再利用したいのですが、Javadocには
「DocumentBuilderがスレッドセーフである保証はない」と書かれています。
ならば、スレッドごとにDocumentBuilderを生成して、個々のHogeインスタンスに
に外から差し込んでやれば良いということになりますが、Hogeクラスの利用者に、
内部でDOMを使っていることを意識させるようなコードにしたくありません。
Hogeインスタンス自身が、自分をアクセスするスレッドを識別して、
そのスレッドごとに一つだけDocumentBuilderインスタンスを生成するような
テクニックはないでしょうか。
#synchronizedを使う以外の方法で。
0604デフォルトの名無しさん
2007/11/19(月) 02:33:580606デフォルトの名無しさん
2007/11/19(月) 03:10:24ウェブカメラを使ったプログラムを作成したいのですが
(録画、メールで画像転送など)
Javaでは難しいでしょうか?
やはりCの方が無難でしょうか?
0607デフォルトの名無しさん
2007/11/19(月) 08:06:28JavaでもCでも難しい、以上
0608デフォルトの名無しさん
2007/11/19(月) 11:23:43モーション JPEG で流れてくるカメラならただ保存するだけじゃん。
0609デフォルトの名無しさん
2007/11/19(月) 12:12:24ストリーミングなんかもやりやすいです
0610デフォルトの名無しさん
2007/11/19(月) 14:07:140611デフォルトの名無しさん
2007/11/19(月) 15:22:47他の言語なら見つかるんだけど。
0612デフォルトの名無しさん
2007/11/19(月) 15:27:140613デフォルトの名無しさん
2007/11/19(月) 15:32:57難儀だが Eclipse のモデリングフレームワークでも調べてみたらどうだ。
0614デフォルトの名無しさん
2007/11/19(月) 15:33:370615デフォルトの名無しさん
2007/11/19(月) 15:34:48JasperReportsを使ってExcelを作成してるプログラムがあるんだけど、
1.セル幅を超えると値が切れてしまう。
2.セルの表示形式を「文字列」に設定したい。
ググってみてもヒットしない状態。。
方法知っている人いたら御教授おねがいします。
0616デフォルトの名無しさん
2007/11/19(月) 15:42:511で、「列幅を広げる」は最終手段。
2は値が数列「00052」みたいな場合、「52」ってなってしまうので。。。
先頭に「'」をつけるのは最終手段。。。
Javaもしくはjrxmlで設定可能な方法がわからん。。
0617デフォルトの名無しさん
2007/11/19(月) 16:11:43という記述にエラーが出ているのですが
何がわるいのでしょうか・・・。 javaの6.0を使っています。もうEnumeration
はサポートされていないのでしょうか?
0618デフォルトの名無しさん
2007/11/19(月) 16:14:20学校ならまだしも。
0619デフォルトの名無しさん
2007/11/19(月) 17:10:56変数名にenumを使ってるんじゃないの?
0620デフォルトの名無しさん
2007/11/19(月) 17:22:390621デフォルトの名無しさん
2007/11/19(月) 17:45:120622デフォルトの名無しさん
2007/11/19(月) 17:55:42残しておいて欲しくはあるね
0623デフォルトの名無しさん
2007/11/19(月) 18:05:240624デフォルトの名無しさん
2007/11/19(月) 18:11:360625デフォルトの名無しさん
2007/11/19(月) 18:12:200626デフォルトの名無しさん
2007/11/19(月) 18:17:05フローチャートを適当に UML っぽく書いときゃ良いんだよ。
0627デフォルトの名無しさん
2007/11/19(月) 18:22:370628611
2007/11/19(月) 18:23:51"を描画しなきゃいけないんだよ。
それでjavaから使えるライブラリがないか調べてたんだけど
java以外の言語ならいくつも見つかったんだけどjavaだけ見つからなくて聞いてみた。
eclipse周りか・・・あれeclipseに依存してなかったっけ?
とりあえず調べてみる。ありがとう。
0629デフォルトの名無しさん
2007/11/19(月) 18:24:21インストールし、Start.batを実行した後
http://localhost:8080/に繋げようとしたのですが
つなげることができません。
会社のPC等で
ポート8080があいていないと繋げることができないのでしょうか?
0630デフォルトの名無しさん
2007/11/19(月) 18:28:110631デフォルトの名無しさん
2007/11/19(月) 18:30:12まず logs の下の catalina.out を見ろ。失敗してるなら大抵そこに何か出てる。
そこが大丈夫そうならコマンドプロンプトから netstat -a と打ってローカルの 8080 で LISTEN してる
奴がいるか確認しろ。パーソナルファイアウォールとか入れてるなら一度気ってみれ。
0632デフォルトの名無しさん
2007/11/19(月) 18:40:37ありがとうございます。
8080はLISTENされてませんでした。
ウィルスバスターは自分の権限で切れないようになっていますので
管理者の方が戻ってきたら聞いてみようと思います。
0633デフォルトの名無しさん
2007/11/19(月) 21:45:25ありがとうございます
少し気が楽になりました
ちょっと調べてきます、
0634デフォルトの名無しさん
2007/11/19(月) 22:56:02Swingベースのグラフ描画ライブラリがいくつかあるので、それ使ってみたら?
JungとかJGraphとかあるよ。グラフって言っても、XYグラフじゃなくてグラフ理論のグラフね。
Jungはこの辺が参考になる。
ttp://www.techscore.com/tech/Others/Jung/index.html
EclipseベースでGEFとかUML2とか触るよりはとっつきやすいと思う。
0635デフォルトの名無しさん
2007/11/19(月) 23:00:40GEF使えばいいんじゃねーの
俺は使ったことないがな.
http://codezine.jp/a/article.aspx?aid=40
0636デフォルトの名無しさん
2007/11/19(月) 23:02:53http://updas.net/up/download/1195480783.zip/attatch
とりあえずアニメーションを別クラスで作って、メインクラスでaddしたいんですが
うまいこと行きません。
↑はとりあえず自分なりに描いてみたソースです。
稚拙なものですが、Passを入れておきました。javaです。
お手数ですがどうすればアニメーションが表示されるようになるか
ご教授お願いします。
0637628
2007/11/20(火) 00:26:43JGraph使ってみる。
0638デフォルトの名無しさん
2007/11/20(火) 01:27:16でもフローチャートくらいならJGraph使わなくても簡単に作れそうだな
0639デフォルトの名無しさん
2007/11/20(火) 11:18:06何したいのかよくわからんかった。Applet として作りたいのか、swing
使いたいのか。いろいろなところから切り貼りしてるの?
とりあえず、applet としては animation だけで動いているよ。
あと、animation なら swing.Timer が楽だと思う。
0640636
2007/11/20(火) 12:36:01最終的に、数値を入力さして、結果を計算するときと、数値が全部入力されてないとき
にアニメーションを数回動かしたいんです。(口が開いているのと閉じている絵です)
http://up.mugitya.com/img/Lv.1_up40590.jpg.html
色分けしてみました。
最終的にはJFrame(全体)に三つのJPanelを配置して身体に関するプログラムを作成したいんです。
その一部として、とりあえずJFrameにアニメーションをaddしたJPanelを配置してみたいんです。
説明が下手ですみません・・・
0641デフォルトの名無しさん
2007/11/20(火) 12:56:090642デフォルトの名無しさん
2007/11/20(火) 17:47:090643デフォルトの名無しさん
2007/11/20(火) 19:10:070644デフォルトの名無しさん
2007/11/20(火) 19:23:22Rectangle rectangle;
Image image;
void draw(){…}
}
たぶんこういうの
0645デフォルトの名無しさん
2007/11/20(火) 19:25:260646デフォルトの名無しさん
2007/11/20(火) 19:35:04>for(String s:wordList)
これかっこの中どういう意味?初歩的すぎてか調べにくくて
0647デフォルトの名無しさん
2007/11/20(火) 19:37:04http://www.atmarkit.co.jp/fjava/javatips/114java019.html
0648デフォルトの名無しさん
2007/11/20(火) 19:43:090649デフォルトの名無しさん
2007/11/20(火) 23:01:37上記のHogeSrv内でクラスDBAccessのインスタンスを作って、
そのメソッドsetAccountDataで
DBAccessクラスのprivate変数idとpasswordに
データベースから検索した値を格納するプログラムなのですが、
setAccountData内で呼び出しているsetId,setPasword
の直後ではちゃんとidとpassに値が格納されているのに、
setAccountData後にHogeSrv内でidとpassを呼び出すとnull
になってしまいます。
本当に色々試したのですが、どうしても分からないのでどこが悪いか、
どなたか教えてください。
0650デフォルトの名無しさん
2007/11/20(火) 23:11:17どうもとっつきにくいねこれ・・・
0651デフォルトの名無しさん
2007/11/20(火) 23:14:04最強に使いやすいじゃん
0652デフォルトの名無しさん
2007/11/20(火) 23:17:53自分はNetBeansに乗り換え中だけど。
0653デフォルトの名無しさん
2007/11/20(火) 23:22:06プラグインが充実してるってのが一番の理由。
nbはエディタ的には例外catchを今のtryブロックに埋め込むって動作がサポートされればなぁ。
0654デフォルトの名無しさん
2007/11/20(火) 23:23:55cd.setId(cd.getResults(1, 1));
cd.setPassword(cd.getResults(1, 2));
↓
this.setId(cd.getResults(1, 1));
this.setPassword(cd.getResults(1, 2));
じゃないの?
0655デフォルトの名無しさん
2007/11/20(火) 23:27:22ノシ
基本的にはEclipse使ってるけど,
たまにNetBeansも使う
0656649
2007/11/20(火) 23:33:06なるほど!ありがとうございます出来ました!!
何だかんだで今日のPM6時からやっていて
今までどうしても分からなかったので激しく助かりました!!
もう半泣きでしたが、これでやっと眠れます。
めんどくさい内容なのでスルーされるかと思いましたが、
ちゃんとしたレスをくれて本当にありがとうございました!
0657デフォルトの名無しさん
2007/11/20(火) 23:34:51網豆って何だよ。
0658デフォルトの名無しさん
2007/11/20(火) 23:51:396.0はサポート済
JavaEE関連だと確かにEclipseは色々充実。
でも、GUI周りとかはNetBeansは最強だし、TomcatやGlassFish使う分にはnbも充分機能する
何はともあれ6.0サイコー。
自分の中じゃ
NetBeans6.0 = Eclipse3.3 > Eclipse3.2 >>> NetBeans5.5 >>>>>>>> JBuilder
0659デフォルトの名無しさん
2007/11/21(水) 00:02:210660デフォルトの名無しさん
2007/11/21(水) 00:21:49Javaしか使わないならどっち使うかは個人の趣味かな。
0661デフォルトの名無しさん
2007/11/21(水) 00:46:39package ccc;
//import ccc.cns_other;
public class cns_main{
public static void main(String args[]){
cns_other cns = new cns_other();
}
}
このようにして、importのコメントアウトをはずして、newを使わずにcns_otherの
コンストラクタを呼び出す方法はあるのでしょうか?
0662デフォルトの名無しさん
2007/11/21(水) 00:50:42importと、newを使わずにコンストラクタを呼び出すことの間にどういう関係があると思ったの?
なんでnewを使いたくないの?
0663デフォルトの名無しさん
2007/11/21(水) 00:54:490664デフォルトの名無しさん
2007/11/21(水) 00:56:57importは使います。
0665デフォルトの名無しさん
2007/11/21(水) 01:01:53JMFで一つのカメラからキャプチャする事は可能なのですが
複数のカメラからキャプチャしようとすると失敗してしまいます。
現在は
Player player1 = Manager.createRealizedPlayer(new MediaLocator("vfw://0"));
Player player2 = Manager.createRealizedPlayer(new MediaLocator("vfw://0"));
このようにプレイヤーを生成して表示させています。
ediaLocatorの設定がおかしいのだとは思いますがなにかいい方法はありますでしょうか?
0666デフォルトの名無しさん
2007/11/21(水) 01:02:030667デフォルトの名無しさん
2007/11/21(水) 01:03:170668デフォルトの名無しさん
2007/11/21(水) 01:03:19むかしはVisualCafeとか使ったけどカスタマイズが今一むずかった
eclipsはもう少しデフォルト機能をふやしてもいいような気がするし
3.n(いくつだったか忘れた)位から使ってる
0669デフォルトの名無しさん
2007/11/21(水) 01:06:28やりたいことは、複数のカメラからキャプチャして録画を行いたいと思っています。
new MediaLocator("vfw://0")を二つ作ってしまうと
java.io.IOException: Could not connect to capture device
java.io.IOException: Could not connect to capture device
となってしまいます
0670デフォルトの名無しさん
2007/11/21(水) 01:11:30どうしてnewを使いたくないのか述べよ
0671デフォルトの名無しさん
2007/11/21(水) 01:13:110672デフォルトの名無しさん
2007/11/21(水) 01:17:12public class cns_other {
public cns_other() {
// なんかの処理
}
}
を次のように書き換える
public class cns_other {
public static void doSomething() {
// なんかの処理
}
}
で、mainは
cns_other.doSomething();
でnewをせずに、コンストラクタwが呼べる。
正解だったら俺スゲーwwww
0673デフォルトの名無しさん
2007/11/21(水) 01:18:370674デフォルトの名無しさん
2007/11/21(水) 01:25:150675デフォルトの名無しさん
2007/11/21(水) 01:28:25メタ情報にはそのクラスがどんなメソッドを持っているかなどが含まれる
それらのメタ情報を使い、静的なコードではなく動的な形でメソッド等を使用できる
例えば、nameというフィールドを見つけたならば、getNameというメソッドを探して取得するなど
0676デフォルトの名無しさん
2007/11/21(水) 01:32:09何が起こるの?
0677デフォルトの名無しさん
2007/11/21(水) 01:37:13使うのは特殊なフレームワークを実装する時など。
最近だとクラスのデータを呼び出される前にいじる時に使われる事が多い。
特定のメソッドの内容を書き換えてモックとして使用したり、デバック時にロギングを仕込んだり・・・
後は実行環境(ローカル)にないクラスだが、それをどっかから取得して使うとか。
何が起こるかって?
クラスがロードされるんだよ
0678デフォルトの名無しさん
2007/11/21(水) 01:38:010679デフォルトの名無しさん
2007/11/21(水) 01:39:260680デフォルトの名無しさん
2007/11/21(水) 01:39:540681デフォルトの名無しさん
2007/11/21(水) 01:42:52アンロードは必要なほどクラスが多いのか?
リロードはHotDeployとか幾つか試みがあるよ
だけど、Hogeをリロードすると既に生成されていたHogeのインスタンスをどうするか?って問題が出るから限定された状況でしか使用できない
0682デフォルトの名無しさん
2007/11/21(水) 01:44:070683デフォルトの名無しさん
2007/11/21(水) 01:44:10V2C使ってるけど糞重くて使えないとは思わない
0684デフォルトの名無しさん
2007/11/21(水) 01:45:52てめーの実装が糞だから
0685デフォルトの名無しさん
2007/11/21(水) 01:50:00クラスメソッドのテストしたいときに、クラスをロード直後の状態に戻したいことがあって
テストケースの中でJavassistを使ってクラスを生成することで代替している
そうするとクラスローダにテストで使ったクラスのごみが沢山できてしまう
0686デフォルトの名無しさん
2007/11/21(水) 12:09:42こちらで質問をさせてください。
(課題内容の方はこちらです。http://pc11.2ch.net/test/read.cgi/tech/1191108260/790)
条件に沿ってトーラスを二つ表示するプログラムを組んでいるのですが、
現在、Shape3Dのトーラスを使用して、二つ表示されるようになっています。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29893
これらをShape3Dのトーラスを使用せず、
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29892
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/95.java
これらのソースを使用して、トーラスを二つ描画したいのですが、どうすれば良いのでしょうか?
0687686
2007/11/21(水) 12:46:14ご迷惑をおかけしました。
0688デフォルトの名無しさん
2007/11/21(水) 13:48:49Integer.toString(int)
どっち派が多いんだぜ?
0689デフォルトの名無しさん
2007/11/21(水) 13:59:28参考までに。
public static String valueOf(int i)
> この表現は 1 つの引数を持つ Integer.toString メソッドによって返されるものとまったく同じです。
0690デフォルトの名無しさん
2007/11/21(水) 14:00:30Stringにしたいときはたいていprintxx系を使うときだから、ほとんど使わない。
強いて言えば下かな。
0691デフォルトの名無しさん
2007/11/21(水) 14:02:05hoge(""+a+b+c);
こういう場合って計算順序が
hoge(((""+a)+b)+c);
っていうように前方からみたいに決まっていますか?
文字列"123"としたいのですが、
計算順序が決まっていなくて環境によって"6"みたいになると困るので教えてください。
0692デフォルトの名無しさん
2007/11/21(水) 14:06:56+は左から結合していくと決まっているので安心して使ってくれ
0693デフォルトの名無しさん
2007/11/21(水) 15:08:33レスありがとうございます。
地道に全部括弧で括るのも読みづらくて仕方ないので安心しました。
0694デフォルトの名無しさん
2007/11/21(水) 15:12:590695デフォルトの名無しさん
2007/11/21(水) 15:41:07いきなりイベントなどでServerSocketのclose()メソッドを呼び出すとエラーになります。
どうすればちゃんと動くようになるのでしょうか?
0696デフォルトの名無しさん
2007/11/21(水) 15:49:33最新のJDKでも、WindowsのNFS依存の問題で、
java.io.File#canRead()と、canWrite()は
まともな値を返さないのね。。。
とりあえず、FISとFOSを使って回避したけど、
なんか気持ち悪いな。。。
0697デフォルトの名無しさん
2007/11/21(水) 15:50:580698デフォルトの名無しさん
2007/11/21(水) 16:02:16このエラーについて、ちょっと調べてみました・・・
プログラムをそのまま動かすことはできるのですが、SocketException が発生するので気持ち悪いです。
これを発生しないようにすることはできるのでしょうか?
0699デフォルトの名無しさん
2007/11/21(水) 16:06:15縦書きに出力するって言う問題でて詰まりです。
一応プログラム中で指定すれば縦表示は出来るのですが
与えられた〜が無理です。ヘルプお願いします。
0700デフォルトの名無しさん
2007/11/21(水) 16:09:27外からサーバソケットをクローズする前にフラグを立てれ。
IOException が発生した時にそのフラグが立っていれば 「正常終了」
private ServerSocket serverSocket = ...;
private boolean gracefulClose = false;
public void close(){
gracefulClose = true;
serverSocket.close();
}
public void run(){
try{
while(true){
Socket socket = serverSocket.accept();
…
}
} catch(IOException ex){
if(! gracefulClose){
throw ex;
}
}
return;
}
0701デフォルトの名無しさん
2007/11/21(水) 16:10:43日本語でおながいします。
0702デフォルトの名無しさん
2007/11/21(水) 16:11:52そりゃ単純に文字列の入力の問題なんじゃないの?
"標準入力 java"でググってみな。
0703デフォルトの名無しさん
2007/11/21(水) 16:15:56なるほど・・・
catchの中でthrowを使うのは初めてです。
ありがとうございました。
0704デフォルトの名無しさん
2007/11/21(水) 16:21:30学校では読み込めたものが家では読み込めなくなっていました。
Data A = new Data("test.txt",0);
↑こういう文字列で学校では普通に読み込んでました
バージョンチェックしたところ学校では1.6.0、家のパソコンは1.6.0_03でした。
わかる方いましたら宜しくお願いします。
0705デフォルトの名無しさん
2007/11/21(水) 16:22:12ServerSocket.close
> このソケットを閉じます。 現在 accept() でブロックされているすべてのスレッドが SocketException をスローします。
0706699
2007/11/21(水) 16:24:480707デフォルトの名無しさん
2007/11/21(水) 16:24:52コンソールには、どんなエラーなり例外なりが出てるか。
0708デフォルトの名無しさん
2007/11/21(水) 16:33:01カレントディレクトリに本当にそのファイルがあるのか?
System.out.println(new File("test.txt").exists());
で確認すれ。
0709デフォルトの名無しさん
2007/11/21(水) 16:34:48test1.java:9: シンボルを見つけられません。
シンボル: クラス Data
場所 : test1 の クラス
Data A = new Data("test.txt",0);
こんな感じです。
0710デフォルトの名無しさん
2007/11/21(水) 16:40:10trueと表示されました。
0711デフォルトの名無しさん
2007/11/21(水) 16:42:390712デフォルトの名無しさん
2007/11/21(水) 16:43:41その Data クラスとやらは学校から持ってきてんのか?
0713デフォルトの名無しさん
2007/11/21(水) 16:55:41Data.javaというファイルがないと無理って事ですね。
すいません、持ってきてないです。
明日学校で調べてみたいと思います。
しょうもない質問ですいません。
有難う御座いました。
0714デフォルトの名無しさん
2007/11/21(水) 17:35:57将来的にはWebで使っていきたい。
0715デフォルトの名無しさん
2007/11/21(水) 17:37:020716デフォルトの名無しさん
2007/11/21(水) 17:40:570717デフォルトの名無しさん
2007/11/21(水) 17:41:10スレ違い
0718デフォルトの名無しさん
2007/11/21(水) 17:42:440719デフォルトの名無しさん
2007/11/21(水) 17:57:420720デフォルトの名無しさん
2007/11/21(水) 18:29:53初心者大歓迎なんつっても中味はム板
0721デフォルトの名無しさん
2007/11/21(水) 19:14:35CとC++、どっちの言語がいいですかね。
(みんなC++はCを覚えてからって言うんですけど・・・)
0722デフォルトの名無しさん
2007/11/21(水) 19:19:28スレタイ
0723デフォルトの名無しさん
2007/11/21(水) 19:20:21http://pc11.2ch.net/test/read.cgi/tech/1193132235/
0724デフォルトの名無しさん
2007/11/21(水) 20:13:19本番は商用DBを考えてますが、CD一枚でデモできればと考えています。
0725デフォルトの名無しさん
2007/11/21(水) 20:27:05lengthはコードポイント単位ですよね。
0726デフォルトの名無しさん
2007/11/21(水) 20:29:430727デフォルトの名無しさん
2007/11/21(水) 20:48:28自分でもカウントできるけどcharAtを経由するのはコストが勿体無いお化け。
0728デフォルトの名無しさん
2007/11/21(水) 21:38:55H2
0729デフォルトの名無しさん
2007/11/21(水) 21:47:13> lengthはコードポイント単位
はコードユニット単位でした、すみません。
>>726
ありがとうございます。
文字列全体の長さが欲しいときは
str.codePointCount(0, str.length())
とするんですかね。
0730デフォルトの名無しさん
2007/11/21(水) 22:46:41気休めの薬。
Unicode 4.0 の補助文字のサポート Supplementary Char
ttp://www.javainthebox.net/laboratory/J2SE1.5/MiscAPI/SupplementaryChar/SupplementaryChar.html
0731デフォルトの名無しさん
2007/11/21(水) 23:44:06jp.co.foo.product01
jp.co.foo.product02
com.bar.*
上記のようなpackage構成で、product01とproduct02からcommon内の
classを使用したいがために、common内のclassをpublicにしてしまうと
com.barなpackageからも見えてしまうよね。
このような、管理上の理由で社内においてはpackageを分けたいけど、
社外には使わせたくない場合、何か定番なやり方ってあるものなのかしら。
0732デフォルトの名無しさん
2007/11/21(水) 23:50:48社外にJar(バイナリ)を提供しなければいいじゃん
ちなみに、勝手に使っても変更の可能性もありますし、保証しませんので自己責任でってのがEclipseのプラグインでの対応
一応、SE7の新機能の1つとしてパッケージのアクセス制御的なものは予定されているらしいが。
0733デフォルトの名無しさん
2007/11/22(木) 00:05:28すいません。説明足らずでした。
jp.co.foo.product01や02は、部品として売り物にしたいと
たくらんでいるのです。
(product01や02内のいくつかのclassをpublicにし、com.bar内から
好きに使用してもらいたいな、と)
生のclassを直接さわらせる以上、1つのpagkageにまとめるしかないんですね。
開発tool側で何とかできるか試行錯誤してみます。
ありがとうございました。
0734デフォルトの名無しさん
2007/11/22(木) 00:30:43String a;
double b,c;
double max = 0;
while(scanner.hasNext()){
a = scanner.next();
b = scanner.nextDouble();
c = scanner.nextDouble();
if(max < c / b){
maxman = a;
max = c/b;
}
}
sysout(maxman);
というコードなのですが、
John 100 100
Bill 100 200
みたいなコンソールの入力を受けて、前者/後者の数字の数が一番大きかった人を出力したいのですが、エラーっぽいのが出てうまくいきません。どうしたらいいんでしょうか?
0735デフォルトの名無しさん
2007/11/22(木) 00:36:04その内容をまずよく見ることだな
0736デフォルトの名無しさん
2007/11/22(木) 00:40:370737デフォルトの名無しさん
2007/11/22(木) 00:40:38要は実装をクローズにしたいならばMS系で実装しろ、ということだ
commonパッケージにどんな技術が詰め込まれているかはしらないが、
そのパッケージを利用しようとする奴らは、そんな製品買わずとも自分で作れるかオープンソースから拾ってこれるだろうな
0738デフォルトの名無しさん
2007/11/22(木) 00:42:120739デフォルトの名無しさん
2007/11/22(木) 00:42:52デバッグで一行ずつ進めていっても途中で止まる・・・
0740731,733
2007/11/22(木) 00:49:04> 要は実装をクローズにしたいならばMS系で実装しろ、ということだ
そういうことですよね。
たいしたものではないんですけど、保証できないものは
見せないにこしたことはないかな、と。
0741デフォルトの名無しさん
2007/11/22(木) 00:49:18それじゃ状況が伝わらない。
0742デフォルトの名無しさん
2007/11/22(木) 00:49:570743デフォルトの名無しさん
2007/11/22(木) 00:53:24パッケージプライベートにして new の代わりにリフレクション使って構築しろ。
インターフェースだけ公開しておけば良い。
0744デフォルトの名無しさん
2007/11/22(木) 00:53:32使う側の自己責任が原則
勝手に使うならば使っていいけどサポート対象外でいいんじゃね?
そんな独自フレームワーク使わされた事あるけど、問題あってもソースは開示しねーわ、バグだらけだわ、使いずらいわ、糞高いわ、最悪だった思い出
0745デフォルトの名無しさん
2007/11/22(木) 00:53:49要するにwhileから抜け出せなくて出力できないってことです・・・
よくわかんない質問ですいません
0746デフォルトの名無しさん
2007/11/22(木) 00:54:37CTRL+Z を押せ。
0747デフォルトの名無しさん
2007/11/22(木) 00:55:19リフレクション使って使用された時はどうするの?
言語仕様的に完全に隠蔽する事はできないんだよ
結局のところpublicだろうがなんだろうが、売るならばサポート対象はどこまでかを明確にするだけの話
0748デフォルトの名無しさん
2007/11/22(木) 00:58:43御高説どうも。
責任範囲の明確化を設計に反映するだけの話だが伝わらなかったのか?
0749デフォルトの名無しさん
2007/11/22(木) 00:59:46aがexitだったらbreakするとかどうにでもなるだろ……
0750デフォルトの名無しさん
2007/11/22(木) 01:17:14インターフェイスが責任の範囲なんて聞いたことがないが?
0751デフォルトの名無しさん
2007/11/22(木) 01:17:470752デフォルトの名無しさん
2007/11/22(木) 01:18:260753デフォルトの名無しさん
2007/11/22(木) 01:19:55この場合、「責任範囲の明確化を設計に反映」するには通常の手段ではアクセスできないような作りにする必要があると思う。
言語仕様で規定されているやり方で取得できるのなら「責任範囲の明確化を設計に反映」できていないんじゃないかな。
>>747に伝わらなかったのもしょうがないと思うよ。
0754デフォルトの名無しさん
2007/11/22(木) 01:35:28君はドキュメントにどの機能を使っていいか/悪いかの責任範囲記述したら
あとは全部 public のコンクリートクラスで提供するのかい? そんな馬鹿なことはしないだろう。
やって良いこと/悪いことはインターフェースに適切に反映されなければならない。
どうしても反映しきれない時にはべからず集で逃げるのだが、なるべくそれは避けるべき。
>>753
ドキュメントは 「リフレクション使った場合は保証せず」 というしごく常識的な一言で済む。
誰もインターフェースだけで責任範囲を明示するとは言っていない。
0755デフォルトの名無しさん
2007/11/22(木) 01:42:44また、画像をそのものと、画像から作ったImageiconではデータベースからの取り出しはどちらが速いですか。
0756デフォルトの名無しさん
2007/11/22(木) 01:43:07Reflection 使ってアクセス制限破るのは通常の手段とは言わないと思う。
0757デフォルトの名無しさん
2007/11/22(木) 01:57:47ImageIcon をそのまま保存
→ ObjectOutputStream 使ってシリアライズして得たバイナリを保存
画像そのものを保存
→ 元のファイルをのバイナリを読み込んで保存
→ プログラムで描画した結果なら ImageIO.write() でいったん PNG か何かでファイル化
データの汎用性考えたら一般的な画像ファイルの形式が良い。ImageIcon そのままじゃ
圧縮かかってるかも分からんし (やったことない)。あと数 kB 程度なら BYTEA 型で良いが
数十 kB 超えるようなら OID 型 (BLOB) 使ったほうがいい。
0758731,733
2007/11/22(木) 02:22:35あげていただいたkeywordで調べてみると、興味深い世界が広がっていました。
754さんの
> ドキュメントは 「リフレクション使った場合は保証せず」 というしごく常識的な一言で済む。
も、非常に魅力的です。
明日もうちょっと調べてみようと思います。
ではおやすみなさい。
0759デフォルトの名無しさん
2007/11/22(木) 02:22:40と書いたときの、<String, Integer>の部分は何と呼ばれてますか。
型名 = クラス名 + ???
0760デフォルトの名無しさん
2007/11/22(木) 02:30:35hash, element
key, value
generics
0761デフォルトの名無しさん
2007/11/22(木) 02:57:35Map<K,V>の「<K,V>」の部分、あるいはList<E>の「<E>」の部分のことを一般に何と呼んでいますか。
「keyとvalue」とか「要素」とかではなく、文法上あるいは言語仕様での呼び方です。
0762デフォルトの名無しさん
2007/11/22(木) 03:20:590763デフォルトの名無しさん
2007/11/22(木) 04:33:250764デフォルトの名無しさん
2007/11/22(木) 07:03:59だから念のため generics も書いておいたんだよ
0765デフォルトの名無しさん
2007/11/22(木) 13:21:540766デフォルトの名無しさん
2007/11/22(木) 13:24:28y = Math.sqrt(r*r - x*x);
0767デフォルトの名無しさん
2007/11/22(木) 13:25:140768デフォルトの名無しさん
2007/11/22(木) 13:26:24y = Math.random(Math.sqrt(r*r - x*x));
これでいいのかな
0769デフォルトの名無しさん
2007/11/22(木) 13:27:33x = r * Math.random();
y = Math.random(Math.sqrt(r*r - x*x));
こうですね
0770デフォルトの名無しさん
2007/11/22(木) 13:30:49ありがとうございました。
早速プログラム作ってきます。
0771デフォルトの名無しさん
2007/11/22(木) 13:31:57もっと素直にやった方がいいよ。
theta = 2*Math.PI*Math.random();
x = r*Math.cos(theta);
y = r*Math.sin(theta);
とか。
0772デフォルトの名無しさん
2007/11/22(木) 13:35:11>>767
0773デフォルトの名無しさん
2007/11/22(木) 13:36:53do{
x = r * Math.random();
y = r * Math.random();
}while(x * x + y * y > r * r);
とか
0774デフォルトの名無しさん
2007/11/22(木) 13:38:310775デフォルトの名無しさん
2007/11/22(木) 13:39:48do{
x = r - 2 *r * Math.random();
y = r - 2 * r * Math.random();
}while(x * x + y * y > r * r);
0776デフォルトの名無しさん
2007/11/22(木) 13:40:45a = r * Math.random();
x = a * Math.cos(theta);
y = a * Math.sin(theta);
0778デフォルトの名無しさん
2007/11/22(木) 13:45:240779デフォルトの名無しさん
2007/11/22(木) 14:00:33円の中心に近づくほど点の密度が高くなるぞ。
0780デフォルトの名無しさん
2007/11/22(木) 14:10:02どういう意味で一様かという問題だよね。(元々指定は無いが)
極座標で一様で、xy 座標では一様ではないな。
xy 座標で一様にするなら
>>775 的に (775 は円外だわな)
x = -r + 2*r*Math.random();
y = -r + 2*r*Math.random();
if( x*x+y*y<r*r )
do something;
という感じかな。
0781デフォルトの名無しさん
2007/11/22(木) 14:50:44a = r * Math.sqrt(Math.random());
x = a * Math.cos(theta);
y = a * Math.sin(theta);
で、一様にならない?
0782デフォルトの名無しさん
2007/11/22(木) 15:13:31>>779
0784デフォルトの名無しさん
2007/11/22(木) 17:26:18半径に対する位置で逆比にしたんですね
0785デフォルトの名無しさん
2007/11/22(木) 18:05:26<jsp:useBean id="Flag" class="java.lang.Boolean" scope="session" />
…
<%
try{
if(Flag!=true){
%>
って書くと「useBeanのクラス属性 java.lang.Boolean の値が無効です」というエラーが出るのですが、原因は何なのでしょうか?
サーブレットでは
HttpSession session=req.getSession();
session.setAttribute("Flag",true);
ServletContext sc=getServletContext();
RequestDispatcher rd=sc.getRequestDispatcher("/hoge.jsp");
rd.forward(req, res);
というような記述があり、サーブレットを介してこのページに来ると処理が変わるようにしたいのです。
0786デフォルトの名無しさん
2007/11/22(木) 18:11:29class の代わりに type にしたら良いんじゃないか。
あるいは <jsp:useBean>, スクリプトレットの代わりに JSTL 使って
↓のように書いたほうが良いんじゃないか。
<c:if test="${Flag}"> … </c:if>
0787デフォルトの名無しさん
2007/11/22(木) 18:54:28ありがとうございます、言われたあたりをググってみたのですが
Booleanは引数有りのコンストラクタだけが定義されてるからダメなのですね。
Boolean Flag=(Boolean)session.getAttribute("Flag");
if(!Flag){
…
これで何とか出来ることは出来たのですが、
typeの使い方がイマイチ分からず、単純にclassをtypeにすると
javax.servlet.ServletException: java.lang.InstantiationException: bean isLogin not found within scope
というエラーになってしまいます。
typeを使う場合ってどう書いたら良いのでしょうか?orz
0788デフォルトの名無しさん
2007/11/22(木) 19:18:02それで密度が一様になるのかい?
a = r√X
θ = 2πY
として、X:0から1, Y:0から1で積分したときに円の面積の公式と一致するかい?
0789デフォルトの名無しさん
2007/11/22(木) 19:28:240790デフォルトの名無しさん
2007/11/22(木) 19:36:11それいいね
0791デフォルトの名無しさん
2007/11/22(木) 20:28:040792デフォルトの名無しさん
2007/11/22(木) 21:24:21最低限LGPLをバイナリだけ留めればくっつけても大丈夫ですか?
0793デフォルトの名無しさん
2007/11/22(木) 22:03:46Apache License 2.0とGPLの組み合わせはアウトだが。
LGPLはどうなんだろうね。
0794デフォルトの名無しさん
2007/11/23(金) 00:47:38%USERPROFILE%\Local Settings\Application Data
↑のディレクトリの中に変なGUID名のディレクトリが作られてて
中を見るとJ2SDK5.0のインストーラみたいなのが入ってる。
うちの環境にはJDK6も入ってるけど、5系だけゴミ?があるので気になります。
これって削除しちゃっていいのかな?
0795デフォルトの名無しさん
2007/11/23(金) 01:05:36このページの
System.out.printf("%s!! %s %s!?%n", M00(L00), M00(L01), M00(L02));
の
%s!! %s %s!?%n
の部分が分かりません。
%はたぶん、エスケープ文字だとは思うのですが、
捜し方が悪いのかエスケープ文字\の事しか見つからずで、
なにかヒントだけでもあれば…
0796デフォルトの名無しさん
2007/11/23(金) 01:05:585.0アンインストールしたの?
Windowsのクリーンアップウィザードは使ったの?
削除してトラぶるくらいならば残しておいていいと思うが・・・
復元できる自信あるなら削除汁
0797デフォルトの名無しさん
2007/11/23(金) 01:08:04String.format() のドキュメント嫁
5.0で導入された拡張フォーマットという奴だ。
, M00(L00), M00(L01), M00(L02) の部分が文字列として%sに置き換わる
0798デフォルトの名無しさん
2007/11/23(金) 01:08:42http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Formatter.html#syntax
0799デフォルトの名無しさん
2007/11/23(金) 01:09:16削除するとアンインストールが出来なくなる
いらないんだったらアンインストールしてから(すでにしてるなら)
削除すれば問題ない
問題あるのはアンインストールしたのに
それらのファイルがなくならないJavaの仕様
0800デフォルトの名無しさん
2007/11/23(金) 01:37:37%sはsがたぶんストリングという事で、
ああ、!!と!?はふつうに文字なのか…
でnは改行と。
理解できました!ありがとやんした。
0801デフォルトの名無しさん
2007/11/23(金) 01:44:430802デフォルトの名無しさん
2007/11/23(金) 03:24:40JFileChooser filechooser = new JFileChooser();
filechooser.addChoosableFileFilter(new javax.swing.filechooser.FileFilter()
{
public boolean accept(File file) {
if(file.isDirectory()) return true;
return file.getName().toLowerCase().endsWith(".jpg");
}
public String getDescription() {
return "JPEGファイル(*.jpg)";
}
});
int selected = filechooser.showSaveDialog(filechooser);
if (selected == JFileChooser.APPROVE_OPTION){
File file = filechooser.getSelectedFile();
String fileName = file.getName();
int i = 0;
for(; i< fileName.length(); i++) {
if(".".equals(fileName.charAt(i))) break;
}
if(i == fileName.length()) {
File newFile = new File(fileName + ".jpg");
file.renameTo(newFile);
}
}
こんなコードを書いてみました。しかし、file.renameTo(newFile);の部分が常にfalseを返してファイルの名前を変更してくれません。
どうしたらよいでしょうか?
Win XP
javac 1.6.0
0803デフォルトの名無しさん
2007/11/23(金) 03:35:050804デフォルトの名無しさん
2007/11/23(金) 04:00:360805デフォルトの名無しさん
2007/11/23(金) 04:02:07メソッドの引数部分の評価される順序は左から右と決まっていますか?
例えば、
public class MethodArgOrder {
public static void main(String[] args) {
int i=0;
method(++i, ++i, i++, ++i, ++i);
}
static void method(int num1, int num2, int num3, int num4, int num5) {
System.out.format("%d, %d, %d, %d, %d%n", num1, num2, num3, num4, num5);
}
}
というようなプログラムを実行した場合、環境によらずに必ず
1, 2, 2, 4, 5
と出力されるんでしょうか?
0806802
2007/11/23(金) 04:07:22いいえ。ファイルは新規作成しています。
すいません。1行目の書き方が悪かったようなので1行目だけを下の文に脳内変換してください。
新しいファイル、例えばそのフォルダ内にはない「hoge」ファイルを作ろうとしたとき、そのファイルの拡張子が何も指定されていない場合は".jpg"にしたいと考えています。
0807デフォルトの名無しさん
2007/11/23(金) 04:09:01仮にそういう出力になったとしても、その書き方は自分を苦しめるだけ。
というか、そんなに気になるなら言語仕様読めよ。と。
0808デフォルトの名無しさん
2007/11/23(金) 04:18:29ちょっと前にも演算子の結合性に関して環境によらずうんぬんっていう質問があったな
評価順序が自分で分からないような書き方はするな
ワンライナー主義はどうしても詰めて書かざるをえない時以外は弊害でしかない
>>807の言うように言語仕様を手軽にwebで読めるんだから質問する前に読め
0809デフォルトの名無しさん
2007/11/23(金) 04:26:19言語仕様嫁ってそりゃそうだろうけど、なんだかなあ
0810デフォルトの名無しさん
2007/11/23(金) 04:34:06まあ、javaはある環境での評価順序が他の環境で異なる順序になったのでは、
マルチプラットホームの名が廃るので、その手のことに関しては、
ひとつの環境での結果は他の環境でも同じになるように仕様で明確になっている。
どちらにせよjavaを勉強している身ならば言語仕様嫁は基本だと思う。
0811デフォルトの名無しさん
2007/11/23(金) 04:37:15それとも参考書とかがそういう書き方なのか?
0812デフォルトの名無しさん
2007/11/23(金) 04:44:25存在しないfileをnewFileにリネームはできないと思うよ。
file.renameTo(newFile);じゃなくて単にfile = newFile;にして、
>>802のコード以降の部分でfileを生成すればいい。
File#renameToはファイルの名前を変更するメソッドであって、
Fileクラスのインスタンスがもつ抽象パス名を変更するメソッドではないと思う。
0813デフォルトの名無しさん
2007/11/23(金) 05:06:19file => "C:\hogehoge\foo" だとしたとき、
newFile => "foo.jpg"となるのでは?(だからrename失敗)
newFile = new File(file, filename + ".jpg"); でうまくいくかも
0814812
2007/11/23(金) 06:06:37既にfileが存在していているのなら、>>813でうまくいくと思う。
renameToに失敗したのはnewFileとfileが違うドライブのパスだからだと思う。
それとも、newFileが既に存在しているからか。
もしrenameToの時点でまだfileに対応するファイルが存在していないのなら、
>>813のようにnewFileを生成したあとで、fileにnewFileを代入して、
拡張子が付いていたfileともども、fileとしてファイルを作ればいいと思う。
0815デフォルトの名無しさん
2007/11/23(金) 06:17:180816デフォルトの名無しさん
2007/11/23(金) 10:49:31レス,txhです。アンインスコ済みだったので消しちゃいました。
ふぅ、やっとデフラグができるw
0817デフォルトの名無しさん
2007/11/23(金) 11:20:45>メソッドの引数部分の評価される順序は左から右と決まっていますか?
決まっている。
15.7.4 Argument Lists are Evaluated Left-to-Right
In a method or constructor invocation or class instance creation
expression, argument expressions may appear within the parentheses,
separated by commas. Each argument expression appears to be fully
evaluated before any part of any argument expression to its right.
0818デフォルトの名無しさん
2007/11/23(金) 14:52:51ありがとうございます。できました。
>>813,>>814の言われるとおりファイルパスが間違っていました。
以下のように書き換えたところできました。
File newFile = new File(file.getPath().substring(0, file.getPath().length() - 1 - i), fileName + ".jpg");
最後に質問にお答えいただいたみなさま本当にありがとうございました。
0819デフォルトの名無しさん
2007/11/23(金) 15:22:12出来たなら無駄足になるが、>>813 はうまくいかなくて、
new File(file.getParentFile(), filename + ".jpg"); にする必要がある。
ま、getParentFile は親ディレクトリが無いときなどに null になるので、
直で引数に埋め込むのはどうかと思うけど。
0820デフォルトの名無しさん
2007/11/23(金) 15:54:16なんとかならんのかな
0821デフォルトの名無しさん
2007/11/23(金) 15:58:11Design By Contractはプログラム設計の基本ルールだよ。
0822デフォルトの名無しさん
2007/11/23(金) 15:58:17他のnullチェックは減る気がする
0823デフォルトの名無しさん
2007/11/23(金) 16:17:34nullチェック処理しながらプログラム書くのと
どっちがいいの?
0824デフォルトの名無しさん
2007/11/23(金) 16:21:05すごく遅くなるよ
0825デフォルトの名無しさん
2007/11/23(金) 16:28:54運用する上で起こりえる例外がException
それが起こりえなければRuntimeExceptionだ。
(でもisParsableみたいなのが無くてNumberFormatException食らうのは困りもの)
0826デフォルトの名無しさん
2007/11/23(金) 17:20:36ファイルや DB、ホストみたいなシステム間 I/F はしゃーないけど
Java どうしの呼び合いならなるべく null 不許可 + assert の方向で設計しないか。
0827デフォルトの名無しさん
2007/11/23(金) 17:24:43別にassertは引数チェックだけに使うわけじゃないけど、事は足りるかなと。
0828デフォルトの名無しさん
2007/11/23(金) 17:24:530829デフォルトの名無しさん
2007/11/23(金) 17:29:41getFooList()みたいなメソッドで対象が無いときにnullを返す人が多い。
0要素のオブジェクトを返せば for (String s : bar.getFooList()) とか書けるのに。
0830デフォルトの名無しさん
2007/11/23(金) 17:30:050831デフォルトの名無しさん
2007/11/23(金) 17:30:340832デフォルトの名無しさん
2007/11/23(金) 17:31:120833デフォルトの名無しさん
2007/11/23(金) 17:32:25C#でいうとこのTryParseがあるべきなんだけど。
文字列整数化ってコスト高いと思うんだけど、サポートせんのかね?
0834デフォルトの名無しさん
2007/11/23(金) 17:33:38まあよく使うからあえてそうやってるんだろうけど
0835デフォルトの名無しさん
2007/11/23(金) 17:34:42用途から考えてパース処理はシステム間I/Fのはずなんだけどね。
0836デフォルトの名無しさん
2007/11/23(金) 17:37:59あらかじめ失敗したら0入れてくれっていうオプションで
Parseできないですよね絶対例外出ますよね
金融系の用途が多いからそういう設計になってるのかな
0837デフォルトの名無しさん
2007/11/23(金) 17:40:22if (result.succeed()) value = result.getValue();
無理矢理C#みたいにやるならこんな感じ?
出力引数欲しいね
0838デフォルトの名無しさん
2007/11/23(金) 17:44:42その仕様でもNumberFormatExceptionを囲うより効率が良さそうに思える。
0839デフォルトの名無しさん
2007/11/23(金) 17:48:55static void quick_sort(int[] d, int left, int right) {
if (left>=right) {
return;
}
int p = d[(left+right)/2];
int l = left, r = right, tmp;
while(l<=r) {
while(d[l] < p) { l++; }
while(d[r] > p) { r--; }
if (l<=r) {
tmp = d[l]; d[l] = d[r]; d[r] = tmp;
l++; r--;
}
}
quick_sort(d, left, r); // ピボットより左側をクイックソート
quick_sort(d, l, right); // ピボットより右側をクイックソート
}
このクイックソートが途中で止まります・・・何がおかしいでしょうか?
0840デフォルトの名無しさん
2007/11/23(金) 17:55:000841デフォルトの名無しさん
2007/11/23(金) 18:39:39内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファ
イルとして認識されていません。』と表示されるので環境変数PATHが間違えて
いるのかと思い確かめても間違えていないように思えます。参考にしている
本はJavaのe本という本でJDKのサンプルプログラムは機動します。拙い文章
ですがどなたか教えて下さい。
0842デフォルトの名無しさん
2007/11/23(金) 19:00:440843デフォルトの名無しさん
2007/11/23(金) 19:01:52バッチファイルの中でPATHを設定してないかい?
0844デフォルトの名無しさん
2007/11/23(金) 19:13:17サンプルプログラムが java コマンドで起動するなら、
それは(通常、パスは通ってる)システムにコピーされた java.exe で動いてるハズ。
間違えてないように思える、というのは思えるだけで気のせい。
落ち着いて一つ一つ確認していきましょう。
それでもダメなら、確認手順をここに晒して点検かね
0845デフォルトの名無しさん
2007/11/23(金) 19:33:11ご指摘ありがとうございます。後で試してみます。
0846デフォルトの名無しさん
2007/11/23(金) 19:58:070847デフォルトの名無しさん
2007/11/23(金) 20:00:172.javaインストールフォルダ\binにjavacが入ってない
俺は2だったけどな。一度マイコンピュータからクリックしていって
javaインストールフォルダのbinフォルダにjavacというファイルがあるかどうか調べたほうがいい。
0848デフォルトの名無しさん
2007/11/23(金) 20:55:04テキストエディッタにコピペ、ローカルに.htmlで保存して、ブラウザのお気に入りにリンクさせてみた。
リンク、検索機能を追加
http://www.google.co.jp/intl/ja/searchcode.html
<!-- SiteSearch Google -->
<center>
<form method=get action="http://www.google.co.jp/search">
<table bgcolor="#FFFFFF"><tr valign=top><td>
<a href="http://www.google.co.jp/">
<img src="http://www.google.com/logos/Logo_40wht.gif"
border="0" alt="Google" align="absmiddle"></a>
</td>
<td>
<input type=text name=q size=31 maxlength=255 value="">
<input type=hidden name=ie value=UTF-8>
<input type=hidden name=oe value=UTF-8>
<input type=hidden name=hl value="ja">
<input type=submit name=btnG value="Google 検索">
<font size=-1>
<input type=hidden name=domains value="http://java.sun.com/javase/ja/6/docs/ja/api/"><br>
<input type=radio name=sitesearch value=""> WWW を検索
<input type=radio name=sitesearch value="http://java.sun.com/javase/ja/6/docs/ja/api/" checked> http://java.sun.com/javase/ja/6/docs/ja/api/ を検索
</font>
</td></tr></table>
</form>
</center>
<!-- SiteSearch Google -->
0849デフォルトの名無しさん
2007/11/23(金) 22:09:55InternetExplorerではEUC-JPでちゃんと表示できるWEBページを、
Javaでbyte配列からEUC-JPでStringにすると、�@が文字化けしてしまいます。
これは何故なんでしょうか?また、どうすれば�@を表示できるでしょうか?
0850デフォルトの名無しさん
2007/11/23(金) 22:23:39そのeuc-jpなストリームをUTFにエンコードすればいい。
NIOで出来ると思う。
0851デフォルトの名無しさん
2007/11/23(金) 22:26:12http://www.ingrid.org/java/jserv/i18n/corruptedchar.html
ここ読めば解決するんじゃね?
何にしろ質問の内容があいまいで、たぶん誰も正確に答えられない
0852デフォルトの名無しさん
2007/11/23(金) 22:27:24化けるのは �@ が機種依存文字だから。
Java の EUC-JP は JIS X 0208 と JIS X 0212 をサポートしてるけど、
InternetExplorer の �@ は JIS X 0208 にも JIS X 0212 にも含まれない、いわゆるIBM拡張文字。
x-eucJP-Open だったら �@ も使えるはず。
0853デフォルトの名無しさん
2007/11/23(金) 22:37:3413区はNEC拡張じゃなかったか? どーでもいい話だけど。
0854デフォルトの名無しさん
2007/11/23(金) 22:37:35EUC-JP, EUC_JP_Solaris, EUC_JP_LINUXが試せるから、
それらのどこかで変換できれば儲けもの。
CP51932がCP932と互換してるから、そっちが指定できれば確実だけど。
0855デフォルトの名無しさん
2007/11/23(金) 22:43:19>>849はまず具体的に何をしてどうなったかをレスした方が良いよ。
0856デフォルトの名無しさん
2007/11/23(金) 22:45:17>>850
�@は普通のEUC-JPじゃないんですね。
>>852
"x-eucJP-Open"で表示できました。
0857デフォルトの名無しさん
2007/11/23(金) 22:45:33CP51932 って、Javaで使えたっけか?
0858デフォルトの名無しさん
2007/11/23(金) 22:46:100859デフォルトの名無しさん
2007/11/23(金) 22:50:12CP932だとIBMのコードページ932になるんじゃなかったか?
0860デフォルトの名無しさん
2007/11/23(金) 22:52:48文字集合と文字コードの扱いはVMの実装依存だから必ずしもそれで解決してるわけじゃないよ。
確実にやるには自前でやるしかない。
0861デフォルトの名無しさん
2007/11/23(金) 22:54:06じゃあWIndows-31Jで指定すれば安全か。
0862デフォルトの名無しさん
2007/11/23(金) 22:55:56そうなんだ。こら失態ですな。
0863デフォルトの名無しさん
2007/11/23(金) 22:58:05一貫性とかないみたいね。
x-IBM942 のエイリアスに cp942 があって、
windows-1250 のエイリアスには cp1250 がある、みたいに。
0864デフォルトの名無しさん
2007/11/23(金) 23:11:04UTF-8とUTF-16(BOMあり, BE, LE)は、言語レベルのサポート義務があるから
BOM周りの実装が疎かでも問題にならないUTF-8が最強。
DB用で最強な文字セットは別にあるかもだけど。
0865デフォルトの名無しさん
2007/11/23(金) 23:28:49サポートされているエンコーディング
1.4
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/intl/encoding.doc.html
5.0
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/intl/encoding.doc.html
6.0
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/intl/encoding.doc.html
0866デフォルトの名無しさん
2007/11/23(金) 23:30:16全てのJVMが、はこっち。
http://java.sun.com/javase/ja/6/docs/ja/api/java/nio/charset/Charset.html
0867デフォルトの名無しさん
2007/11/23(金) 23:55:28禿堂
0868デフォルトの名無しさん
2007/11/24(土) 00:15:200869デフォルトの名無しさん
2007/11/24(土) 00:16:370870デフォルトの名無しさん
2007/11/24(土) 00:23:080871デフォルトの名無しさん
2007/11/24(土) 00:25:15自動判別時の情報としては有用だけど、普通は指定するから情報は足りてる。
0872デフォルトの名無しさん
2007/11/24(土) 00:29:57バイトオーダという情報を含んでるんだぞ
0873デフォルトの名無しさん
2007/11/24(土) 00:31:40プッ
0874デフォルトの名無しさん
2007/11/24(土) 00:31:500875デフォルトの名無しさん
2007/11/24(土) 00:37:32http://wisdom.sakura.ne.jp/system/java/awt/Gjava8.html
ここにあるサンプルをhtmlに挿入してみたところ、
左上にXみたいなマークが出るだけで表示されません。
Eclipseで実行すると見れるのですがappletviewerで表示すると
「アプレットが初期化されていません。」と出ます。
どうしてでしょうか??
ちなみにブラウザはFireFoxでjre1.6です
0876デフォルトの名無しさん
2007/11/24(土) 00:38:44FE FF (16BE)
FF FE (16LE)
EF BB BF (UTF8)
そしてそれらの文字は出力上、無視するという動作をする
0877デフォルトの名無しさん
2007/11/24(土) 00:40:530878デフォルトの名無しさん
2007/11/24(土) 00:42:120879デフォルトの名無しさん
2007/11/24(土) 00:49:32<html>
<head>
<title>てすと</title>
</head>
<body>
<applet code="test.class" width="500" height="500">
</applet>
</body>
</html>
これだけです
0880デフォルトの名無しさん
2007/11/24(土) 00:55:47ちゃんとjavacでコンパイルした?
0881デフォルトの名無しさん
2007/11/24(土) 01:04:32書き忘れていたのですが、コマンドプロンプトから実行すると
java.lang.NoClassDefFoundErrorが出ます。
0882デフォルトの名無しさん
2007/11/24(土) 01:18:000883デフォルトの名無しさん
2007/11/24(土) 01:20:12プロンプトから実行というのは java.exe でしょうか?
public static void main(String) が無いクラスは起動しないですよ
ためしにもっと簡単なAppletをメモ帳で書いて、コンパイルし、
appletviewer で実行して、一連の流れを検証してみるのがお勧めです。
「アプレットが初期化されていません」は実行クラスの名前解決以前の問題ですので…
0884デフォルトの名無しさん
2007/11/24(土) 01:21:540885デフォルトの名無しさん
2007/11/24(土) 01:23:210886デフォルトの名無しさん
2007/11/24(土) 01:24:32継承元のクラスで定義されたメソッドの内容を
そのサブクラスのいくつかで、それぞれちょっと改変したい場合は何かいい方法ないでしょうか?
追加する場合にはsuperで済むのですが、追加ではなく改変ですし
その継承元のクラスで定義したメソッドでは、そのクラスの変数を使っているので
オーバーロードとかじゃうまくないかなぁ、と思いまして。
それでも元クラスではメソッドをabstractなどして、その変数はprotectedして
各サブクラスで定義する方法が一番ましなんでしょうか?
0887デフォルトの名無しさん
2007/11/24(土) 01:28:20改変される部分を別のメソッドにしとく。テンプレートメソッドってやつ。
protected にしたい変数への操作も、意味のある protected メソッドに
切り出しておいて、変数自体は private なままにしとくのがおすすめ。
0888デフォルトの名無しさん
2007/11/24(土) 01:28:21必要なフィールドの値はその引数で渡すか、protectedなアクセサを定義
0889デフォルトの名無しさん
2007/11/24(土) 01:30:37共通な部分だけ継承元のクラスに入れて
abstractにしておく
違う部分は継承してから
それぞれの方で定義しろ
0890デフォルトの名無しさん
2007/11/24(土) 01:30:45テンプレートメソッドですか、恥ずかしながら初めて知りました
ぐぐりつつもがんばってみます
ありがとうございました
0891デフォルトの名無しさん
2007/11/24(土) 01:31:000892デフォルトの名無しさん
2007/11/24(土) 01:32:100893デフォルトの名無しさん
2007/11/24(土) 01:34:18調べつつやってみます
皆さんありがとうございますm(__)m
0894矢印キーを押してもまったく反応しません。どうしたらいいですか?
2007/11/24(土) 01:36:14import java.awt.Graphics;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class Sample1 extends Applet
{
String str = "矢印キーを押してください";
public void init()
{
addKeyListener(new KeyAdapter()
{
public void KeyPressed(KeyEvent e)
{
int k = e.getKeyCode();
switch(k){
case KeyEvent.VK_UP: str = "上を押しました"; break;
case KeyEvent.VK_DOWN: str = "下を押しました"; break;
case KeyEvent.VK_LEFT: str = "左を押しました"; break;
case KeyEvent.VK_RIGHT: str = "右を押しました"; break;
default: str = "ちゃんと矢印キーを入力してください"; break;
}
repaint();
}
});
}
public void paint(Graphics g)
{
g.drawString(str,200,200);
}
}
0895875
2007/11/24(土) 01:37:26>>884
Eclipseで書いていて
packageを書いていたためにできなかったみたいです。
0896デフォルトの名無しさん
2007/11/24(土) 01:40:30俺のESP能力もまだまだ現役だな。
0897デフォルトの名無しさん
2007/11/24(土) 01:41:170898デフォルトの名無しさん
2007/11/24(土) 02:05:32>>894
KeyPressed→keyPressedじゃ無い?
0899デフォルトの名無しさん
2007/11/24(土) 02:36:04楽目的でAdapter使うとやるなぁ
Java5からのおまじない
ttp://www.atmarkit.co.jp/fjava/javatips/183java065.html
0900デフォルトの名無しさん
2007/11/24(土) 02:46:46ありがとうございました。
Kを小文字に変えたら矢印キーが反応するようになりました。
しかし、Kが大文字でもコンパイルが通ったのはなんでだろう?
0901デフォルトの名無しさん
2007/11/24(土) 02:52:09以下>>899にループ
0902デフォルトの名無しさん
2007/11/24(土) 05:05:09みんなは
@Override
ちゃんと書いてる?
0903デフォルトの名無しさん
2007/11/24(土) 05:39:17書いてます。
0904デフォルトの名無しさん
2007/11/24(土) 07:49:01@Override から書きはじめると、Eclipseがいい感じに補完してくれる。
0905デフォルトの名無しさん
2007/11/24(土) 08:38:210906デフォルトの名無しさん
2007/11/24(土) 10:20:40スーパークラスのメソッドをオーバーライドする時に使用する、これは基本。
で、
インターフェイスで定義されたメソッドや抽象クラスで定義された抽象メソッドをサブクラスで実装する場合、@Overrideを付ける派?付けない派?
俺は付ける派。
@Overrideのドキュメントを読む限りはつけないほうがいいと感じるかもしれないけど、仕様としてつけてもエラーとならないし、メソッドのオーバーライドとスーパークラスに実装があるかは別の概念だと思うから
結論は出さないって前提でどう思うよ?
0907デフォルトの名無しさん
2007/11/24(土) 10:29:230908デフォルトの名無しさん
2007/11/24(土) 10:34:011.6からだよね。1.5だと使えない。
どうせなら、@Implementを作ってほしかった。
0909デフォルトの名無しさん
2007/11/24(土) 11:04:21マウスのボタンを押しっぱなしにしてる間は定期的に処理を繰り返すというようなswing用の
ボタン型コンポーネント(例えばスクロールバーの上下ボタン)を作りたいのですが、単純に
mousePressed → 別スレッド起動
mouseReleased, mouseExited → スレッド停止フラグを立てる
という実装で問題ないでしょうか?
気になっているのは
(1)他にスレッドを停止させるべきイベントはないか
(2)スレッドが停止フラグ以外に確認するべき条件はないか
(3)もっとシンプルな方法を見落としてないか
の3点です
0910デフォルトの名無しさん
2007/11/24(土) 11:32:55結局のところOverrideとImplementsの違いって注釈的な表現は難しいんだよね。
確か、本質的な意味としては@OverrideOrImplements なんだけど今更変えられないしなぁって開発陣のBlogに書いてあった
あとこんなパターンがありえる
interface Foo {
void foo();
}
interface Bar extends Foo {
@Override
void foo();
}
0911デフォルトの名無しさん
2007/11/24(土) 11:51:08import java.util.*;
public class Ex1 {
public static void main(String[] args) {
Map<String,Object> map = new HashMap<String,Object>();
map.put("key1", "FOO");
map.put("key2", new Integer(123));
map.put("key3", new ArrayList<String>());
String val1 = (String)map.get("key1");
int val2 = (Integer)map.get("key2");
List<String> val3 = (List<String>)map.get("key3"); // warning: unchecked cast
}
}
これをコンパイルするとこんなwarningが出ます。
Ex1.java:10: warning: [unchecked] unchecked cast
found : java.lang.Object
required: java.util.List<java.lang.String>
List<String> val3 = (List<String>)map.get("key3");
^
1 warning
なぜでしょうか。StringやIntegerだとキャストできて、List<>だとできないのが謎です。
0912デフォルトの名無しさん
2007/11/24(土) 12:24:01自分では書いてないが、保存するときにeclipseが勝手に付けてくれる
0913デフォルトの名無しさん
2007/11/24(土) 12:27:22スレッドの代わりに javax.swing.Timer を使う手もある
0914デフォルトの名無しさん
2007/11/24(土) 12:41:44コンパイルしたら型パラメータ情報は無くなるから、
あるオブジェクトが List か Set かは判定できても、
List<String> か List<Integer> かを判定することは出来ない。
もしその map の "key3" に Set<String> が格納されていたら、
キャスト時に失敗して ClassCastException が発生するが、
List<Integer> が格納されてたとしても、それは判らないので、
(警告は出るものの) キャストは通ってしまう。
List の内容を変更しないのなら
List<?> val3 = (List<?>)map.get("key3");
とすればいいが、内容を変更する必要がある場合は、
@SuppressWarnings("unchecked") を付けて警告を黙らせるか、
新しい List に内容をコピーしてからいじくるしかない。
0915デフォルトの名無しさん
2007/11/24(土) 12:55:54List<String> val4 = (List<String>)val3;
これはOK?
0916デフォルトの名無しさん
2007/11/24(土) 12:57:37> @Override から書きはじめると、Eclipseがいい感じに補完してくれる。
NetBeansも6.0rc1からいい感じに補完してくれるようになった.
0917デフォルトの名無しさん
2007/11/24(土) 12:58:57スレッドを一つだけ常時起動しておき、
フラグを立ててそのスレッド内のループで関数を実行するかどうかを切り替えるようにするという手もある
0918デフォルトの名無しさん
2007/11/24(土) 13:02:26原因と対策は>914を参照
一般的に異なる型のKeyとValueをMapに保持させるのはいただけない。
結局の所、どのキーにはどんな型が入っていてと意識せざるを得ないからね。
Mapを使うのではなく、
class HogeValues {
private String key1;
private int key2;
private List<String> key3;
// ゲッター・セッター省略
}
というようなクラスを定義するべき。
キーが可変?
可変で、かつ不特定の型を格納するって時点でなんかがおかしいと思う
0919デフォルトの名無しさん
2007/11/24(土) 13:10:42Java6でOKならばSwingTimerは使わない方がいい。
変りにSwingWorker という並行処理専用のクラスを使用すると、スレッドをほとんど意識せずに裏方処理をさせられる。
class UpDownWorker extends SwingWorker {
@Override
public Object doInBackground() {
// ここに並行に処理をおこなう内容を記述
// ループさせながら順次アニメーションさせるなど
// このメソッドはEDTで実行されるので直接コンポーネントを操作してOK }
@Override
protected void done() {
// 処理が終わったときに呼ばれるメソッド
// ボタンをアクティブに戻すとか
}
}
使う側
UpDownWorker worker = new UpDownWorker();
worker.execute(); // ←処理が終了までブロックされずに、すぐ制御が戻る
ちなみにworkerからは実行結果を取得したり、例外が発生したらそれを検知したり、キャンセルをかけられたりと色々な機能があるよ。
0920デフォルトの名無しさん
2007/11/24(土) 13:19:57むり
List<?> val3 が List<String> と List<Integer> のどちらなのかは判定できない
0921デフォルトの名無しさん
2007/11/24(土) 13:22:31> // このメソッドはEDTで実行されるので直接コンポーネントを操作してOK }
ダウト
0922デフォルトの名無しさん
2007/11/24(土) 13:25:050923デフォルトの名無しさん
2007/11/24(土) 13:26:20にしときゃ良かったんでね?
0924デフォルトの名無しさん
2007/11/24(土) 13:26:53下位互換重視だからいたしかたあるめぇ
0925デフォルトの名無しさん
2007/11/24(土) 13:35:360926デフォルトの名無しさん
2007/11/24(土) 13:37:03そもそも別の機能だしな
0927デフォルトの名無しさん
2007/11/24(土) 13:45:420928デフォルトの名無しさん
2007/11/24(土) 13:54:31ついていけないなら使わなければいいだけ
0929909
2007/11/24(土) 14:29:25ありがとうございます.
気になっていたのは,なんらかの手違いで起動させたスレッドに終了命令を送れなくなって
裏スレッドを量産してしまう可能性がないかということでした.
とりあえずはTimerを使う方向で考えてみます.
0930デフォルトの名無しさん
2007/11/24(土) 14:40:40裏方処理なのに、EDTで実行される、とか書いてて違和感なかった?
0931デフォルトの名無しさん
2007/11/24(土) 15:13:13これをコマンドプロンプトみたいに表示文字数が表示可能領域を超えた場合、自動で下にスクロールしてくれる機能を付けたいのですがどうすればよいのでしょうか?
0932デフォルトの名無しさん
2007/11/24(土) 16:41:57文脈から考えてスクロールアウト実装したいって意味だよな・・・。
JScrollPaneが勝手にやってる気がするが具体的には何したいの?
0933デフォルトの名無しさん
2007/11/24(土) 17:01:43どっか別のところで落とせるとこがあったら教えてください
最悪、JDK 5.0ならなんでもいいです
現在、UdpFloodを起すためにPC上からUDPパケット(データ部は任意)を
送信するコードを組みました。
職場でこのコード動かした際、1秒間に1万パケットほどのパケットを
送出しておりましたが、自宅のノートPCでは2000パケット弱しか
送出できません。
(パケット条件として、IPアドレス、宛先ポート番号、データサイズ(64〜
1024byte)を変更しても速度に大きな変化はありませんでした。)
職場のPCと自宅のノートPCとの違いは職場のPCは3.2GhzのPen4、ノートPCは
dualcoreで1.4Ghz*2、ネットワークカードは職場がgiga対応カードに対し、
ノートPCは無線LAN用のカードです。
また無線LANを利用しております。
コードの内容はmainメソッドから
for(int i = 1;i < count + 1;i++)
My_DatagramSocket_Class.run(My_Data_Class.getData());
のようにパケット送をthreadで呼び出しております。
単位時間あたりのパケット送出量を増やしたいのですが、
非力なPCでも大量のパケットを送出するために有効な方法を
ご存じでしたらヒントで構いませんのでご教授いただけないでしょうか?
(Thread、プログラムとNICとの間のやり取りについてはブラックボックス
として認識しております)
0935デフォルトの名無しさん
2007/11/24(土) 17:14:09日本語サイトは何故か最新版が5.0
http://java.sun.com/j2se/1.5.0/ja/download.html
0936デフォルトの名無しさん
2007/11/24(土) 17:18:54http://java.sun.com/javase/ja/6/download.html
0937デフォルトの名無しさん
2007/11/24(土) 17:20:04教えてくれて�dクス
でもそのページのダウンロードから先がメンテ中なのですorz
せめてメンテがいつ終わるのかだけでも知りたいんだが。。。
0938デフォルトの名無しさん
2007/11/24(土) 17:25:17あれま、メンテ中だ
緊急に欲しいのか?
0939デフォルトの名無しさん
2007/11/24(土) 17:36:38http://www10.axfc.net/uploader/12/so/O_32790.exe.html
パスはjava5でおk
0940デフォルトの名無しさん
2007/11/24(土) 17:42:29今日やろうと思ってたことがあったんだけど、明日にするよ
でも欲しいときに手に入らないと余計に欲しくなるのが人の性ってやつで思わずカキコしてしまった次第
自分でも調べてみたんだけどサンのサイト以外で置いてるとこってなさげですね
きっと世界中で俺のようにJDK落とせなくてちょっと困ってるやつがいるんだろうな
0942デフォルトの名無しさん
2007/11/24(土) 17:54:25明日やろうと思ったらやらない
0943デフォルトの名無しさん
2007/11/24(土) 18:00:04今日という日は明日のための準備に使う
0944デフォルトの名無しさん
2007/11/24(土) 18:02:420945デフォルトの名無しさん
2007/11/24(土) 18:12:45有線LANに変えてみたら?
0946デフォルトの名無しさん
2007/11/24(土) 19:30:330947デフォルトの名無しさん
2007/11/24(土) 19:45:22>Listの内容を変更しないのなら
>List<?>val3=(List<?>)map.get("key3");
>とすればいいが、内容を変更する必要がある場合は、
>@SuppressWarnings("unchecked")を付けて警告を黙らせるか、
>新しいListに内容をコピーしてからいじくるしかない。
これはありがとうございました。実際のコードでは
void setList(List<String> list)
というのがあって、そこに
setList((List<String>map.get("key"));
とする必要があったので、List<?>では解決せず、結局は@SuppressWarnings("unchecked")をつけることにしました。
型パラメータの情報って、クラスファイルに保存されないんですね。Genericsってもっと賢いのかと思ってました。
>>918
>可変で、かつ不特定の型を格納するって時点でなんかがおかしいと思う
そうでしょうか。HttpRequestのgetAttribute()やsetAttribute()は、不特定の型を格納しますが、それもやっぱりおかしいですか。
任意の値をとる必要がある場面はそんなに珍しくないと思います。
0948デフォルトの名無しさん
2007/11/24(土) 20:04:18JDK欲しくてサイトいってるんですがオフラインという表示がでて落とせません。
これって私だけでしょうか・・・。
このサイトのJDK 6 update3 というところです
ttp://java.sun.com/javase/ja/6/download.html
0949デフォルトの名無しさん
2007/11/24(土) 20:04:34ParserできたものだけIntにする
っていう考え方だから仕方ない
0950デフォルトの名無しさん
2007/11/24(土) 20:05:1810個前のレスくら見ろ
0951デフォルトの名無しさん
2007/11/24(土) 20:06:05おかしいというよりは美しくない。
例えば、HttpRequestならば全てStringで格納されていて、引き出した後適切な型に変換する。
getAttibuteの例で言えばSessionに格納するならばなんらかのデータクラスで包んで管理する方が綺麗だと思わない?
それとも全てのケースにおいて型チェックして使うとか面倒な方が好きですか?
ある程度の規約は必要になるが、原則としては型チェック無しで使えるように設計する方がスマート
0952デフォルトの名無しさん
2007/11/24(土) 20:07:045.0なら少し前にうpされているから、それ使っとけ。
どうしても6でないとまずい理由なんてほとんどないだろ
0953デフォルトの名無しさん
2007/11/24(土) 20:08:40見つけましたー!板汚しすみませんでした!
もう半年ROMってきます!
うpしていただいた方ありがとうございます!
0954デフォルトの名無しさん
2007/11/24(土) 20:44:19mylibはわかるけど、なぜそのまえにorg`とかmeをつけるのかが
わかりません。
0955デフォルトの名無しさん
2007/11/24(土) 20:45:56org.954.mylib.Foo
俺が作ったmylibならば
org.955.mylib.Foo
と、区別がつくだろ?
※パッケージ名の先頭は数字ではNG
0956デフォルトの名無しさん
2007/11/24(土) 20:51:45そういうことならorgにも意味があるわけですよね。
それはどういうものですか?
ありがとうございました。
0957デフォルトの名無しさん
2007/11/24(土) 20:53:52net.2ch.pc11.tech1194442749.Foo
とでも考えろ
0958デフォルトの名無しさん
2007/11/24(土) 20:58:24ググれカス
0959デフォルトの名無しさん
2007/11/24(土) 21:00:160960デフォルトの名無しさん
2007/11/24(土) 21:01:440961デフォルトの名無しさん
2007/11/24(土) 21:08:390962デフォルトの名無しさん
2007/11/24(土) 21:11:480963デフォルトの名無しさん
2007/11/24(土) 21:16:540965デフォルトの名無しさん
2007/11/24(土) 21:55:250966デフォルトの名無しさん
2007/11/24(土) 23:10:41カスタムコンポーネントネタはどちらかというとAWT/Swingスレの方に投下して欲しい。
過疎ってて暇なんだ、今。
ついでに言うともっと具体的に何したいか説明できないと誰も答えようがないよ。
0967デフォルトの名無しさん
2007/11/24(土) 23:40:16ております。USBカメラから動画キャプチャを行い撮影ボタンを押すとその時の
静止画がJPEGで保存するところまでは作ったのですが、写真フレーム(gif)を
動画上に表示する方法がわかりません。API集の方も探してみたのですが、見つ
けることができませんでした。誰か方法について教えてもらえませんでしょうか??よろしくお願いします。
0968デフォルトの名無しさん
2007/11/24(土) 23:57:07カスタムコンポーネントだなw
>966が暇しているようだからそっちに投下した方がいいと思われ
ざっくり言えば透過処理したフレームを作成して上に描画するとか、幾つか方法はあると思う。
一番簡単なのは透過GIFをJLabelにアイコンで設定して重なりOKのレイアウトで配置する、って感じか?
0969デフォルトの名無しさん
2007/11/25(日) 00:10:23ありがとう。参考にさせていただきます。AWT/Swingスレでも
きいてみますね。
0970デフォルトの名無しさん
2007/11/25(日) 00:43:580971デフォルトの名無しさん
2007/11/25(日) 03:22:33クラス型(LinkedListとかも)に外部にアクセスしたい場合も
同じようにアクセサでやればいいんでしょうか?
なんか根本的に間違ってるような気がしますが、お願いします
0972デフォルトの名無しさん
2007/11/25(日) 03:34:26public List<String> getUserIdList(){
return Collections.unmodifiableList(userIds);
}
0973デフォルトの名無しさん
2007/11/25(日) 03:40:28メインメソッドを以下のようにして
public static void main(String[] args) {
char c = args[0].charAt(0);
System.out.println(c);
}
コマンドラインからのの引数に'*'(アスタリスク)だけを入れて実行すると、出力結果が
'.'(ドット)になってしまうんですが、なぜでしょうか?
引数にアスタリスク以外の文字を入れた場合、又はアスタリスクに続けてと他の文字を入れた場合は、
入力したアスタリスクが正しく表示されるのに、
アスタリスクだけを入れた場合のみドットになってしまいます。
どなたかよろしくお願いします。
0974デフォルトの名無しさん
2007/11/25(日) 03:40:30>getAttibuteの例で言えばSessionに格納するならばなんらかのデータクラスで包んで管理する方が綺麗だと思わない?
>それとも全てのケースにおいて型チェックして使うとか面倒な方が好きですか?
いちいち何らかのデータクラスで包む方がよっぽど面倒だけど。
つうかおまえはHttpRequestやSessionに格納するデータをいちいちラップしてるの?まじで?
もともとは「可変個かつ不特定の型のデータを格納する場面があるかどうか」という話だろ。そんな場面は実際にあります、HttpRequestがその例です、それで終わりじゃん。
wrapするほうが美しいというならServletの設計者にいってやれよ。どうせ標準仕様にはケチつける度胸ないだろうけど。
0975デフォルトの名無しさん
2007/11/25(日) 04:12:49コマンドラインのシェル上で * がどういう意味を持つかよく考えれ。
public static void main(String[] args){
for(String s: args) System.out.println(s);
}
0976デフォルトの名無しさん
2007/11/25(日) 04:33:510977デフォルトの名無しさん
2007/11/25(日) 04:40:44空気読めよ
0978デフォルトの名無しさん
2007/11/25(日) 04:58:390979デフォルトの名無しさん
2007/11/25(日) 05:01:430980デフォルトの名無しさん
2007/11/25(日) 05:06:330981デフォルトの名無しさん
2007/11/25(日) 05:07:550982デフォルトの名無しさん
2007/11/25(日) 05:42:380983デフォルトの名無しさん
2007/11/25(日) 07:02:310984デフォルトの名無しさん
2007/11/25(日) 07:08:180985デフォルトの名無しさん
2007/11/25(日) 09:16:030986デフォルトの名無しさん
2007/11/25(日) 11:00:35可能であればやり方を教えて頂きたいのですが・・。
0987デフォルトの名無しさん
2007/11/25(日) 11:08:21不可能だろ、常考。
ただ、透明で大きめなウィンドウを作成し、そこに文字やイメージを貼り付けて擬似的にフレーム外に表示させることは可能。
だけど、裏側のアイコンとかのクリックはできるか知らない。
フレームの形は作りこめば長方形以外にできるらしいけど。
0988デフォルトの名無しさん
2007/11/25(日) 11:09:590989デフォルトの名無しさん
2007/11/25(日) 11:16:06私もイレギュラーなことは承知していますが、低レベルなグラフィックAPIを
利用して何とかならないかと模索しています。
>>987
>ただ、透明で大きめなウィンドウを作成し、そこに文字やイメージを貼り付けて擬似的にフレーム外に表示させることは可能。
概要を簡単に教えてもらえますでしょうか?
私も透明ウィンドウは試してみましたが、文字も透けてしまうのです・・・。
0990デフォルトの名無しさん
2007/11/25(日) 11:39:31キーワードは提示したろ?
まずは「透明なフレーム Swing」あたりでググってこい
0991デフォルトの名無しさん
2007/11/25(日) 11:58:20Swingには何か使えそうなのがありますね。
Javaだけだと、てっきりこんな方法しかないのかと思ってました。
http://www.javainthebox.net/laboratory/GUI/TransFrame/TransFrame.html
Swingのヤツ試してみます。
0992デフォルトの名無しさん
2007/11/25(日) 12:02:47これだと負荷が厳しそうですが・・チョット試してみます。
0993デフォルトの名無しさん
2007/11/25(日) 12:05:390994デフォルトの名無しさん
2007/11/25(日) 12:07:120995デフォルトの名無しさん
2007/11/25(日) 12:34:240996995
2007/11/25(日) 12:37:57【初心者】Java質問・相談スレッド109【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1195961811/
0997デフォルトの名無しさん
2007/11/25(日) 12:38:45激しく乙です
0998デフォルトの名無しさん
2007/11/25(日) 12:42:45とかでごまかす。
0999デフォルトの名無しさん
2007/11/25(日) 12:49:311000デフォルトの名無しさん
2007/11/25(日) 12:50:0310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。