【初心者】Java質問・相談スレッド87【大歓迎】

このエントリーをはてなブックマークに追加
1名無し募集中。。。
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下の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 を使え。

前スレッド
【初心者】Java質問・相談スレッド86【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1149260440/


/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/

次スレは>>980あたりで。
2デフォルトの名無しさん:2006/07/01(土) 02:35:20
どうも。
今、実験がてらカードゲーム(ババ抜き)のGUIを作っています。

そこで質問なのですが、カードの内容(ArrayList)が更新されたら
毎回手持ちのカード(JLabelに画像を代入)を表示しなおしと言うコードを書いているのですが
JPanelごとrepaintせずにカードの画像を全部消して、再度並べる場合
どのようにメソッドを使い分けるべきでしょうか?

今は
・forループで全部の画像をresize(0,0)してremoveAll( )
・ArrayListからカードを取り除く
・forループで画像をrisize(48, 64)してrepaint( )
という事をしています。

他にもっとましなやり方とかあったりするのでしょうか?
そもそもJLabel以外で軽い画像の表示方法があったりするのでしょうか?
ご教示お願いします。
3デフォルトの名無しさん:2006/07/01(土) 02:59:50
>>2
あれこれ考える前にdouble Bufferとかオフラインイメージって単語でググって来い
4デフォルトの名無しさん:2006/07/01(土) 03:06:06
>>3
おまえは見当はずれなレスする前にあれこれ考えろ。
5デフォルトの名無しさん:2006/07/01(土) 03:29:07
>>3
ダブルバッファってちがくね?
6デフォルトの名無しさん:2006/07/01(土) 03:45:20
そうかな?
どういう風な事がしたいかにもよるけど・・・。
72:2006/07/01(土) 04:20:42
レスありがとうございます。
とりあえず出来る限り軽いGUIを作る勉強をしているので・・・軽い方法を教えていただければと
いう状態です・・・。

JPanelには、敵(コンピューター)のカードと自分の手持ちのカードのJLabel[ ]画像を
置いているのですが、コンピューターのカードを書き直さず自分の手持ちのカードのみを
消して書き直すという事を目指しています。
後々、実際にゲームを走らせる時には全部同時書き換えと言う手法でもいいとは思うのですが、
とりあえず今は勉強がてらJPanel上の一部の画像を消して再表示させる方法を探しています。
軽い方法をご存知の方が居られれば教えていただければ助かります。
8デフォルトの名無しさん:2006/07/01(土) 08:30:08
認証サイトへのアクセスについて質問します。
認証サイトの中のデータを取り出すにはどうしたらよいでしょうか?
下の図のように、1のURLにパスデータを送ると2のデータまでは取れるのですが
3に接続するにはどうしたらよいでしょうか?


1. パス入力画面 ← 1のURLにpostデータを送ると2が取れる

     ↓

2. 次の画面

     ↓

3. 2のデータ内容 ← 3のURLにpostデータを送っても許可がないと言われる
9デフォルトの名無しさん:2006/07/01(土) 08:42:38
3訂正
var hasPermission = false;
になって、データの中味が見れないです。
10デフォルトの名無しさん:2006/07/01(土) 08:47:18
>>9
それもしかしてJavaScriptじゃないよね?
JavaScriptならこちらへ http://pc5.2ch.net/hp/
1110:2006/07/01(土) 08:49:05
128:2006/07/01(土) 08:56:30
Web側はJavaScript、今作ってる接続ソフトはJava・・・
どっちで聞けばいいんでしょうか?

3の詳細
今のところはjsをURLConnectionで取得していますが
データの中味がない?var gPInfo = {}; 状態になってます
13デフォルトの名無しさん:2006/07/01(土) 09:29:32
WinXpでこんなソフトを考えてますが、可能でしょうか?

LPT1を監視して、他のアプリケーションが印刷ジョブを流したら、
そのデータを読み取りたいです。印刷は行います。
14デフォルトの名無しさん:2006/07/01(土) 14:46:39
プログラム書くのは何のソフトがいいですか?
15デフォルトの名無しさん:2006/07/01(土) 15:17:21
メモ帳
16デフォルトの名無しさん:2006/07/01(土) 15:50:52
kitakore
17デフォルトの名無しさん:2006/07/01(土) 16:24:11
in for whichあたり覚えた初心者ですが、文表示するプログラムで
何か入力するとそれに対応された箇所が変更されるようにするにはどうすればいいですか?
コマンドプロンプトで1っていれたらこの文、2って入れたらこの文出すみたいな。
18デフォルトの名無しさん:2006/07/01(土) 16:25:34
if
19デフォルトの名無しさん:2006/07/01(土) 17:11:25
public class top {
 public static void main(String[] args) throws Exception {
  new top().method();
 }
 public void method() throws Exception {
  //1
  top.inner obj = (top.inner)top.inner.class.newInstance();
  
  //2
  //top.inner obj = new top.inner();
  obj.method();
 }
 private static class inner {
  public void method() {
   System.out.println("inner method");
  }
 }
}
このコードをコンパイルすると正常に通るのですが、
実行させると、下記の例外が発生しました。
java.lang.IllegalAccessException: Class top can not access a member of class top$inner with modifiers "private"

でも、上のコードで//1をコメントにして、//2の方(通常のnewを使うほう)
を有効にして実行すると正常に実行されました。

引数なしコンストラクタを持ってたら、
new するのも newInstanceするのも同じと思ってたんですが、
実は全然違うものなのですが?
2019 :2006/07/01(土) 17:12:10
あっ、環境は
OS:Windows XPで
java version "1.4.2_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b
Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
です。
21デフォルトの名無しさん:2006/07/01(土) 17:32:04
>>19
なぜ、わざわざReflect使う?
innerはprivateだからtopクラスからはアクセスできても、Classクラスからはアクセスできないだけだと思うけど。
22名無し募集中。。。:2006/07/01(土) 17:38:42
>>19
API嫁

newInstance

例外:
IllegalAccessException - クラスまたはその null コンストラクタにアクセスできない場合
InstantiationException - この Class が abstract クラス、インタフェース、配列クラス、プリミティブ型、または void を表す場合、クラスが null コンストラクタを保持しない場合、あるいはインスタンスの生成がほかの理由で失敗した場合
ExceptionInInitializerError - このメソッドによる初期化が失敗した場合
SecurityException - 新規インスタンスを生成するアクセス権がない場合


innerの引数無しコンストラクタが無い
23デフォルトの名無しさん:2006/07/01(土) 17:41:03
>22
アクセスできないのと、無いのとは異なると思いますが。
24デフォルトの名無しさん:2006/07/01(土) 17:45:15
>>19
理由は他の人が書いてるからいいとして。どこでそういうコーディングスタイルを身に着けたの?
・main()のnew。よく例題でそう書いてあるけどさ、インスタンスはちゃんと受け取ったほうがいい。
 top t = new top();
 t.method();
・クラス名は大文字で始める。インナークラスでも同じ。
・throws Exceptionは議論のあるところ。まあ勉強中なら好きにしていいけど。
・リフレクションは余分な例外を発生させるから代替手段がある限りは使わない。
25名無し募集中。。。:2006/07/01(土) 17:46:49
>>23
無いものにはアクセスできないと思うんだが?
実際引数無しコンストラクタ書けば例外消えるんだけど?
26デフォルトの名無しさん:2006/07/01(土) 17:47:19
>>22
あるだろ
2726:2006/07/01(土) 17:50:28
すまん、見間違えだった
2826:2006/07/01(土) 17:51:48
すまん27はまちがい
29名無し募集中。。。:2006/07/01(土) 17:52:08
やべー俺も勘違いしてた気がする
30デフォルトの名無しさん:2006/07/01(土) 17:54:26
>>25
Java 5.0だとコンストラクタがなくても、例外は発生しないぞ。

C:\scratchpad>java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)

C:\scratchpad>java -cp . top
inner method
31名無し募集中。。。:2006/07/01(土) 17:59:06
>>30
俺もマイナーバージョンが違うがJava5.0なんだが
変更でもあったのかね
32デフォルトの名無しさん:2006/07/01(土) 18:01:05
D:\Java>javap top.inner -private
Compiled from "top.java"
class top$inner extends java.lang.Object{
private top$inner();
public void method();
}
コンストラクタはあるようです。(ただし、private)
33デフォルトの名無しさん:2006/07/01(土) 18:02:59
コンストラクタが無いときの例外

C:\scratchpad>java -cp . Top
Exception in thread "main" java.lang.InstantiationException: Top$inner
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at Top.method(Top.java:8)
at Top.main(Top.java:3)
34デフォルトの名無しさん:2006/07/01(土) 18:03:21
>>30-31
おれ1.5.0_07だけど例外発生するよ
3534:2006/07/01(土) 18:04:14
Exception in thread "main" java.lang.IllegalAccessException: Class top can not a
ccess a member of class top$inner with modifiers "private"
3619 :2006/07/01(土) 18:05:19
>実際引数無しコンストラクタ書けば例外消えるんだけど?
あぁ、ホントですね。コンストラクタを定義してないときは
勝手に引数なしコンストラクタが定義されるもんだと思ってました。

>>21
なぜ、というか単に興味ですので、
実際にどこかで使う予定があるというわでは無いんです。

3719 :2006/07/01(土) 18:07:25
おっと、時間差で・・・
>>33
>コンストラクタはあるようです。(ただし、private)
あぁ、そういうことなんですね。

3817:2006/07/01(土) 18:07:28
どなたか教えてもらえないでしょうか?
39デフォルトの名無しさん:2006/07/01(土) 18:12:39
4030:2006/07/01(土) 18:18:09
> Java 5.0だとコンストラクタがなくても、例外は発生しないぞ。
スマン、Eclipseでコンパイルしていた。 javac でコンパイルしたら例外がスローされた。
4119 :2006/07/01(土) 18:18:56
蛇足ですが、これがeclipseの環境だと
コンストラクタを書かなくても実行できるんですよね。
で、33さんの見て試してみたら、Eclipseでコンパイルされたクラスは
Compiled from "top.java"
class top$inner extends java.lang.Object{
top$inner();
public void method();
}
とprivateではありませんでした。微妙に動きが違うのね。
42デフォルトの名無しさん:2006/07/01(土) 18:24:16
javacでコンパイル すると:
C:\>javap top.inner -private
Compiled from "top.java"
class top$inner extends java.lang.Object{
private top$inner();
public void method();
}

Eclipseでコンパイルすると:
C:\>javap top.inner -private
Compiled from "top.java"
class top$inner extends java.lang.Object{
top$inner();
public void method();
}

privateだったコンストラクタがデフォルトアクセスになっている。

結局 >>21 が、正しい。
4342:2006/07/01(土) 18:25:37
うげ。
44デフォルトの名無しさん:2006/07/01(土) 18:28:14
>>41
もし本当にそうなら、Eclipse のコンパイラが言語仕様に反してるだけだと思うが。

http://www.y-adagio.com/public/standards/tr_javalang2/classes.doc.html#16823
> 8.8.7 デフォルトコンストラクタ
> クラスが public 宣言されていれば,デフォルトコンストラクタは,
> 暗黙にアクセス修飾子public(6.6)を与えられる。クラスが protected宣言されていれば,
> デフォルトコンストラクタは,暗黙にアクセス修飾子protected (6.6)を与えられる。
> クラスが private宣言されていれば,デフォルトコンストラクタは,
> 暗黙にアクセス修飾子private (6.6)を与えられる。
> そうでなければ,デフォルトコンストラクタは,アクセス修飾子が示されないデフォルトアクセスをもつ。
45名無し募集中。。。:2006/07/01(土) 18:32:09
ややこしいねぇ
46初心者 1/2:2006/07/01(土) 18:33:09
http://java.sun.com/products/archive/j2se/1.4.1_07/のどっちか
Windows Platform - Java(TM) 2 SDK, Standard Edition 1.4.1_07
Windows (all languages, including English), English j2sdk-1_4_1_07-windows-i586.exe 36.31 MB

環境は下のほうだけにbin追加。java実行出力成功。

http://tomcat.apache.org/download-41.cgi
Binary 4.1.31 exe DLインストール完了。
スタート→プログラム→アパッチトムキャット→スタートトムキャット
としたら、以下のようになってるんですが、これは実行中ではなくてトムキャット起動してる
んですか?右下のタスクには表示されてませんが・・。
47初心者 2/2:2006/07/01(土) 18:34:06
2006/07/01 18:23:58 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1をポートhttp-8080で初期化します
サービス Tomcat-Standalone を起動します
Apache Tomcat/4.1.31
2006/07/01 18:24:08 org.apache.struts.util.PropertyMessageResources <init>
情報: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=tru
e
2006/07/01 18:24:08 org.apache.struts.util.PropertyMessageResources <init>
情報: Initializing, config='org.apache.struts.action.ActionResources', returnNul
l=true
2006/07/01 18:24:12 org.apache.struts.util.PropertyMessageResources <init>
情報: Initializing, config='org.apache.webapp.admin.ApplicationResources', retur
nNull=true
2006/07/01 18:24:25 org.apache.coyote.http11.Http11Protocol start
情報: Coyote HTTP/1.1をポート http-8080 で起動します
2006/07/01 18:24:26 org.apache.jk.common.ChannelSocket init
情報: JK2: ajp13 listening on /0.0.0.0:8009
2006/07/01 18:24:27 org.apache.jk.server.JkMain start
情報: Jk running ID=0 time=10/541 config=C:\Tomcat4.1\conf\jk2.properties
48初心者:2006/07/01(土) 18:36:46
てか

プロセッサ(CPU)
インテル セレロン 500MHz
メモリ
126MB RAM

の環境でこういうことやるのは無謀?
クノーピクスってやつ使えないかな・・。
4917:2006/07/01(土) 18:43:41
ああ、if(コマンドプロンプトでOOが入力されたら){Print以下略

ってやるんですね!()内の部分のコマンド教えてもらえないでしょうか・・
50初心者:2006/07/01(土) 18:50:43
トムキャット起動するためには、

SET JAVA_HOME=C:\j2sdk1.4.2_02
SET J2EE_HOME=C:\j2sdkee1.3.1
SET CATALINA_HOME=C:\Apache Group\Tomcat 4.1

こういうの設定しなくちゃだめなんですね。
51デフォルトの名無しさん:2006/07/01(土) 18:52:06
>>50
J2EE_HOMEは不要。
52デフォルトの名無しさん:2006/07/01(土) 18:53:03
>コマンドプロンプトでOOが入力されたら
入力でもコマンドライン引数と、プログラムの途中で入力するのでは違うんだが。
53初心者:2006/07/01(土) 18:55:18
>>51
はい、知ってます。
てか、参考書にはwin2000もシステム環境変数を変更するって書いてあるのに
http://www.hellohiro.com/appli.htmではユーザーのほうってなってる・・。

JAVAでこれだけ
JAVA_HOME C:\j2sdk1.4.1_02
PATH %JAVA_HOME%\bin
CLASSPATH .;%JAVA_HOME%\lib\tools.jar

TOMCATとあわせて、6つ設定するんすね。
54デフォルトの名無しさん:2006/07/01(土) 18:58:54
>>53
システム環境変数はOSのユーザー(アカウント)全員
ユーザーのほうは自分だけに影響する(他のユーザーアカウントには関係ない)
55初心者:2006/07/01(土) 19:12:24
>>54
ありがとうございます。
Tomcatのクラスパス以外全部設定したのですが、
やっぱり47のところで止まってしまいます。
56初心者:2006/07/01(土) 19:17:43
間違えました。
クラスパスを.;%JAVA_HOME%\lib\tools.jar;C:\Tomcat4.1\common\lib\servlet-api.jarと設定し
http://localhost:8080/を開いたらトムキャットのページが表示されました
57初心者:2006/07/01(土) 19:25:12
トムキャットのクラスパスを設定したつもりなのに
http://www.hellohiro.com/servlet.htm
でエラー6個でてしまいました。なぜでしょうか?
とりあえずクラスパス設定しなおしてみます。
58デフォルトの名無しさん:2006/07/01(土) 19:27:54
>>57
    JAVA+JSP+Struts+Tomcat    Part2
http://pc8.2ch.net/test/read.cgi/tech/1130051405/
59初心者:2006/07/01(土) 19:34:33
%CATALINA_HOME%common\lib\servlet.jar
となっていたので
%CATALINA_HOME%\common\lib\servlet.jar
としたらエラー消えました。
60初心者:2006/07/01(土) 19:37:30
トムキャット起動して
http://localhost:8080/examples/servlet/HelloWorldServlet 
を表示させるとこまでやりました。
61デフォルトの名無しさん:2006/07/01(土) 19:54:36
>>60
ここはお前の日記帳じゃないんだからつまらんことをいちいち書くな。
62デフォルトの名無しさん:2006/07/01(土) 19:56:13
昨日、この一つ前で、メッセージを送るときにflush()が必要だと教えてもらいましたが、使い方がわかってないのか、
//Client側
while(true) {
System.out.print(">");
String send = stdin.readLine();//キーボードからの入力を渡す
if (send.equals("exit"))break;//exitが入力されればSocketが閉じられる。

writer.print(send);
writer.flush();
String reply = reader.readLine();
System.out.println(reply);
}
//Server
while(true){
String echo = reader.readLine();
if (echo == null || echo.equals("exit"))break;//exitが入力されればこのクライアントとの接続を終わる。
else{//そうでなければErrorという文字列を返す
echo = "Error!!";
writer.print(echo);
writer.flush();
}
というのを作ろうとしてるんですが、Clientから文字列を入力したところで固まってしまいます;使い方がまずいんでしょうか・・
63初心者:2006/07/01(土) 19:58:15
http://www.hellohiro.com/servlet.htm
このページに書いてあることは全部できた。次なにやるべき?
自分でも探そう。
64デフォルトの名無しさん:2006/07/01(土) 20:03:14
>>63
掲示板を作って公開。どんどん書いてやるよw
65デフォルトの名無しさん:2006/07/01(土) 20:14:04
>>62
readLineは改行文字を読むまでブロックするだろ。
printする文字列には改行文字がついてないからそこでとまってるんでは。
writeをPrintWriterにしてprintlnを使うか自分でつけろ。
66デフォルトの名無しさん:2006/07/01(土) 20:25:55
>>65
うお、動きました。
お世話になりました。
67デフォルトの名無しさん:2006/07/01(土) 20:31:14
あるインスタンスの持っているメソッド名を取得したり、Stringで動的に実行するにはどうすればよいですか?
68初心者:2006/07/01(土) 20:36:18
プログラマーって簡単な知識だけでは成り立たないの?
複雑な知識は使わないまたーりな職場がいいよね。
にしてもOKwebのデータベースの技術者とかが駄目なのは初心者の俺でもわかる。
「Ctrl+F」で検索してると固まって強制終了だし、
書き込んだ内容が「" target="_blank">​」とかついたりめちゃめちゃになってるし。
上場してるくせにもう駄目だねこの企業。ちなみに俺が働いてるわけじゃないよwまだ高厨ですw
69デフォルトの名無しさん:2006/07/01(土) 20:38:49
70デフォルトの名無しさん:2006/07/01(土) 20:44:57
>>67
説明を簡単にするために、メソッドには引数がないものとして・・・・

  SameClass instance = new SameClass();
  Method methods[] = instance.getClass().getMethods();
  for ( int i = 0; methods.length < i ; ++i ) {
   String name = methods[i].getName(); // メソッド名を取得したり
   instance.getClass().getMethod( name, null ).invoke( instance, null ); // Stringで動的に実行する
  }

後は、Method クラスや invoke() メソッドの JavaDoc を調べるべし。
71デフォルトの名無しさん:2006/07/01(土) 20:52:34
>>69-70
ありがとうございます!標準で用意されていたんですね。
72名無し募集中。。。:2006/07/01(土) 22:54:52
>>68
プログラマとマターリの職場って真逆だぞ
73デフォルトの名無しさん:2006/07/02(日) 00:42:37
こんにちはです。
プログラムとはサッパリ縁のない者なのですが、掲示板に仕掛けられた罠について聞きたい事が…


エンジョイコリア掲示板(管理人に意見を言うスレ)
http://bbs.enjoykorea.jp/tbbs/read.php?board_id=teconomy&nid=1569842

>tokuteiajia 06-11 19:48
> 日本人がスレ建てすると自動的に<script language=javascript> initGoTop(); </script> が表示され
>jap4cmwa_rotaの名前で特定のコメントが表示されますがそのような操作が出来るのは
>「管理人しかいない」と思いますがどの様な理由でそうされてるのでしょうか?
>管理人はココのコメント欄に詳しく理由を記入してください。

その6/11頃のスレ表示覧。確かに日本人側(赤いマーク)には、一つ漏らさずスクリプトによる書き込みと思しきものが。
http://bbs.enjoykorea.jp/tbbs/list.php?board_id=teconomy&page=1500


という事があったのですが、
これって確かに管理人以外にはできない事なのでしょうか?
それとも利用者が勝手にスクリプト発動しこむ事も可能?
管理人にねじ込んだ物か、悩んでます。
74デフォルトの名無しさん:2006/07/02(日) 00:47:49
>>73
>>1を読んでくれ。スレ違いだから。

クロスサイトスクリプティング(XSS)というワザを使うと
第三者である利用者がそのようなスクリプトを仕込むことは可能。
それでも、XSS対策をしていない管理者は糾弾されるべきだが。
75デフォルトの名無しさん:2006/07/02(日) 01:07:55
>>74
うう、スレ違いでしたか…ゴメンなさいでした。
でも親切に答えてくれてありがとう。
うーん、なるほど、管理人が犯人というのも早急なわけか…
76初心者:2006/07/02(日) 02:35:07
>>72
企業によりけりでしょ。
どーせいくなら比較的売れてて複雑なことやってないとこいく。
77デフォルトの名無しさん:2006/07/02(日) 02:36:19
マ板deGO!
78デフォルトの名無しさん:2006/07/02(日) 02:49:23
イクリプス3・2の日本語化ができねええ。

初心者にお勧めのjavaの本があれば教えていただけませんでしょうか?
79デフォルトの名無しさん:2006/07/02(日) 02:51:39
>>78
3.2の日本語化は、pleiadesでおk。
80デフォルトの名無しさん:2006/07/02(日) 02:57:21
>>76
現実を知るのは大学でてから就職するまでまだ4年以上あるから
それまで人生を謳歌しなさいw
81デフォルトの名無しさん:2006/07/02(日) 03:45:24
>>41-44
これかな。
http://bugs.eclipse.org/bugs/show_bug.cgi?id=117758
昨日公開された3.2では直ってるらしい。
82デフォルトの名無しさん:2006/07/02(日) 04:34:33
最近プログラムをはじめた者ですが

ログってデバックですか?
83デフォルトの名無しさん:2006/07/02(日) 08:42:00
>76
君はプログラマと言う職業を何も知らない
プログラマ=技術者であるから、簡単な処理だけしか組みませんって訳にはいかないぞ
それにパッケージ製品を開発してて売れてる会社なんてPGは他に委託してる
84デフォルトの名無しさん:2006/07/02(日) 08:51:20
>>76
大手がいいよ。比較的楽
難しいことは派遣社員に回しとけ
85デフォルトの名無しさん:2006/07/02(日) 08:52:21
写メのうpのしかた教えて下さい
86デフォルトの名無しさん:2006/07/02(日) 08:55:06
写メをPCに取り込む
jpgなどに変換
ラベルに貼り付ける
87デフォルトの名無しさん:2006/07/02(日) 09:17:23
<<78ありがとう!

アルゴリズムの勉強に適した本とかないですかね
88デフォルトの名無しさん:2006/07/02(日) 11:05:38
GUI上でImageIconなり何らかの画像をアニメーション状態で移動させたいのですが
何かシンプルでいい例が載っているホームページをご存知の方いらっしゃいますか?
教えていただけると助かります。
Applet関係のものは何個かあったのですが・・・。
89デフォルトの名無しさん:2006/07/02(日) 11:21:22
>>88
Swing paintComponent でぐぐりなおしてみれ
90デフォルトの名無しさん:2006/07/02(日) 11:51:26
>>41
Eclipse 3.2 なら、ちゃんとIllegalAccessExceptionがスローされたよ。
91デフォルトの名無しさん:2006/07/02(日) 12:02:59
92デフォルトの名無しさん:2006/07/02(日) 12:28:54
>>89
了解しました。行ってきます。
93デフォルトの名無しさん:2006/07/02(日) 16:37:53
とあるJavaの本にあった例を完全に写して実行してみたのですが、全然動きません。
何が違うのか教えてください。
ソースファイルは2つで、2つとも同じフォルダにあります。 eclipse3.1を使っています。

//----------doSomething.java----------
import java.util.*;

public class doSomething {
Timer timer;
int delay = 1000;

public void start() {
timer = new Timer();
TimerTask tt = new TimerTask() {
public void run() {
System.out.print(">");
}
};
timer.schedule(tt, delay, delay);
}

public void stop() {
timer.cancel();
}
}

//----------jtest.java----------
94デフォルトの名無しさん:2006/07/02(日) 16:38:31
//----------jtest.java----------
import java.io.*;
import java.util.*;
import doSomething;

public class jtest {
public static void main(String[] args) throws IOException {
doSomething d = new doSomething();
d.start();
System.out.println("[Enter]キーを押してください.");
int b = System.in.read();
d.stop();
}
}
95デフォルトの名無しさん:2006/07/02(日) 16:45:41
「全然動きません」じゃ、まともなレスはつかないよ。
96デフォルトの名無しさん:2006/07/02(日) 16:46:07
>>93
> ぜんぜん動きません。
だけじゃ何が悪いのか良くわからないんだけど。

jtest.java の import doSomething; は要らない…他はわからん。
97デフォルトの名無しさん:2006/07/02(日) 16:50:00
>>94
それにしても、doSomethingにjtestとは、ひどいクラス名だね。
その本の名前をさらしてくれない?
98デフォルトの名無しさん:2006/07/02(日) 16:52:54
publicなクラスは、「クラス名」と「ファイル名」がおなじでないといけないよ。
だから、1つのファイルに2つのpublicなクラスを入れるのは無理なんだよ。
99デフォルトの名無しさん:2006/07/02(日) 17:15:13
コンパイラについて質問なんですが
CはBCC、VBはVB2005EEと簡単に無料コンパイラが手に入るのですが
Javaは元から確か無料でしたよね?なんていう奴を使えばよかったんでしたっけ?汗
100デフォルトの名無しさん:2006/07/02(日) 17:17:37
>99
gcj, jikes, kaffe
101デフォルトの名無しさん:2006/07/02(日) 17:18:59
102デフォルトの名無しさん:2006/07/02(日) 17:21:11
>>101
あ、SDKでしたね、どもです。
>>100
それはなんですか?
10393,94:2006/07/02(日) 17:22:00
>>95
>>96
>>97
私も何が悪いのか分からないのです。
翔泳社「Javaプログラミング辞典」p.292
タイマーでキーが押されるまで”>”を表示するプログラムだそうです。
104デフォルトの名無しさん:2006/07/02(日) 17:27:18
>私も何が悪いのか分からないのです。
何が悪いのか分からんのは分かったから
どう悪いのか書けってんだ、がー
10593,94:2006/07/02(日) 17:28:50
↑訂正

Exception in thread "main" java.lang.Error: Unresolved compilation problem:

at jtest.main(jtest.java:11)

というメッセージが出ます。
jtest.java:11とは
public static void main(String[] args) throws IOException {
のことです。


>>95
>>96
>>97
私も何が悪いのか分からないのです。
翔泳社「Javaプログラミング辞典」p.292
タイマーでキーが押されるまで”>”を表示するプログラムだそうです。
106デフォルトの名無しさん:2006/07/02(日) 17:30:09
SDKはJAVAの開発環境を作るソフトでEclipseってのは何なんでしょうか?
GUIで扱える開発環境ツールって事かな

CでいうBCCとBCC Devみたいな・・・
107デフォルトの名無しさん:2006/07/02(日) 17:31:46
>>105
コンパイルエラーが残ってるんじゃん。
赤い×が左側に表示されてない? クリックしてみろ。
10893,94:2006/07/02(日) 17:40:31
>>107
赤い×は、jtest.javaの「import doSomething;」を消すように指示されます。
消してみたら新たに
「import java.util.*; 」「int b = System.in.read(); 」
に警告マークが出現して・・・もう泥沼です。
コンパイルすると
「an internal error coccurred during:"Launching".」
というダイアログが出現します。
109デフォルトの名無しさん:2006/07/02(日) 17:41:52
なんかJavaはexeが作れるのが当たり前みたいに言われたのですがどうするんですか?
Sunの普通のJDKでも作れるよとか言われました。方法を教えてください。
110デフォルトの名無しさん:2006/07/02(日) 17:46:31
>>108
落ちつけ。 今は、警告(黄色いヤツ)は気にしなくてもOK。
Eclipseを再起動して最初からやり直せ。

import doSomething; を消すだけで動くようになるはず。
111デフォルトの名無しさん:2006/07/02(日) 17:51:23
C:\Javawork\test.txt
にあるファイルを読み込んで
一行ずつ出力して
行の途中に"ABC"と言う文字列があったら"XYZ"に
置換してファイルを読み終わったら
保存するようにしたいんだけどどうしたらいいの?
112デフォルトの名無しさん:2006/07/02(日) 18:03:13
質問者のレベルが小学生みたいだな
113デフォルトの名無しさん:2006/07/02(日) 18:06:00
>>111
で、ボクはどこまでできるのかな?
11493,94:2006/07/02(日) 18:11:12
おぉぉぉぉぉぉっ!できましたぁ!!
>>95
>>96
>>97
>>107
>>110
みなさん、こんなフニャチンな質問につきあってくれてありがとうございます!
import doSomething; を消したら動きました。
本当にありがとうございます。
115デフォルトの名無しさん:2006/07/02(日) 18:47:28
>>109
自分はexewrap使ってる。
116デフォルトの名無しさん:2006/07/02(日) 18:52:20
>>115
それは外部ツールだろw 確かにあれは使いやすくていいな。

知ったかぶり君の生兵法は心の中でニヤニヤして無視しとくが一番。
117デフォルトの名無しさん:2006/07/02(日) 23:09:44
>>106
そんぐらい調べたらわかることだろ。
というかそれは質問なのか?独り言か?
118デフォルトの名無しさん:2006/07/02(日) 23:48:45
すいません。java超初心者です。
『1から1000まで掛けた答えを出しなさい』という問題が分かりません…。

『1から1000まで足した答えを出しなさい』という問題は…
public class test3 {
public static void main (String args []) {
int i = 1;
int answer = 0;
while( i <= 1000 ){
answer = answer + i;
i++;
}
System.out.println("答え=" + answer);
}
}

↑にて答えを出せましたが、これを+→*にしても答えが出せません…。
よろしくお願い致します。
119デフォルトの名無しさん:2006/07/03(月) 00:03:18
1からnまでの整数を掛けるとどれぐらいの数になると思う?
int の最大値って幾つだと思う?
120デフォルトの名無しさん:2006/07/03(月) 00:07:42
つうかその答え提出すんのか?
121118:2006/07/03(月) 00:21:57
>>119さん
1000まで掛けると、とんでもない数字になりますよね…。
intの最大値は…確か2147483647ですよね…?
intの部分をlongにしても答えが出せないんですよ…。
longでも出せない数字…って事ですよね…?

>>120さん
はい。明日に提出します。
122初心者:2006/07/03(月) 00:28:34
答え:無理
123デフォルトの名無しさん:2006/07/03(月) 00:32:14
>>121
BigDecimal型を使いましょう
124デフォルトの名無しさん:2006/07/03(月) 00:34:38
1000なら紙一枚で入るんじゃないかな。
125初心者:2006/07/03(月) 00:47:57
大手ってどこでしょ。
エキサイトとかのブログは好きだけど。
126デフォルトの名無しさん:2006/07/03(月) 00:53:45
>>125
板違い。つづきはマ板で。
127118:2006/07/03(月) 00:57:35
BigDecimal型っすか…。
これ以上だともうサッパリ分からないんですよ…。
お手上げ状態です…。
色々と調べてみてもどう記述したらいいものなのか…。

初心者ですいません…。
128デフォルトの名無しさん:2006/07/03(月) 01:03:28
>>118
初心者であることを恥じる必要はないが
「初心者だからわからない」と言っちゃうところは恥じるべきだ。
129デフォルトの名無しさん:2006/07/03(月) 01:07:54
いろんなHPを検索したのですが分からないので教えてください。

インターフェースって処理内容は書かず抽象メソッドのみですよね
中身自体はクラスで書くので存在自体必要ないように思えるのですが・・・
一つのインターフェースをいろいろなクラスに実装させても結局同じ処理を
それぞれ実装させたクラスに書かないといけないですよね?
130デフォルトの名無しさん:2006/07/03(月) 01:12:35
>>129
検索しても分らないなら説明しても分らないと思うぞ
同じ処理を実装するかは設計次第だろ
131デフォルトの名無しさん:2006/07/03(月) 01:21:13
ではどうゆう時に使用するのでしょう?

このクラスにはこのメソッドが必ず含まれています。

程度しか分からないと思うのですが。
132デフォルトの名無しさん:2006/07/03(月) 01:25:29
使う必然性が見つからないのなら使わなくても良い
使いたいと思えるときになったら納得できるはず
133デフォルトの名無しさん:2006/07/03(月) 01:25:48
それが分かれば十分じゃん。
どう実装されてるかは実装者に任せるやり方だろ。
ListとかMapとかのJavaDocを見てこいやさ。
134デフォルトの名無しさん:2006/07/03(月) 01:34:13
>>129
> 一つのインターフェースをいろいろなクラスに実装させても結局同じ処理を
>それぞれ実装させたクラスに書かないといけないですよね?

ここが違う。
同じ処理ではない。
同じように見える処理であればいい。
たとえば、「何かしらのデータを取ってくる」というメソッドなら
そのデータはテキストファイルから取ってきてもいいし、
データベースから取ってきてもかまわない。
クラスによって違っていても全然かまわない。
135デフォルトの名無しさん:2006/07/03(月) 02:01:45
public void test(String str) {
}

この(String str)がどういう動きをしているかが分かりません、このメソッドの引数はどういう意味ですか?
136デフォルトの名無しさん:2006/07/03(月) 02:06:38
中身が何もないんだから何もしていないんじゃないか?
137135:2006/07/03(月) 02:20:32
失礼しました、質問が曖昧でした。
初心者向けの書籍などで最初によくpublic static void main(String[] args)というのを見ます。
引数を与えられてこのメソッドが実行された場合String型のargsという値に入れられると認識しているのですが

メインメソッドではないpublic void test(String str)の場合はString型のstrという値はどのような使い方があるのでしょうか?
他のクラスからこのtestメソッドが呼び出された場合、strが存在する意味が分かりません

Javaをやり始めたばかりで質問自体も上手くかけないのですが、よろしくお願いします

138デフォルトの名無しさん:2006/07/03(月) 02:26:49
>>137
他のクラスからtestメソッドにString型を引数として与えてるんじゃないの?
139デフォルトの名無しさん:2006/07/03(月) 02:39:50
>>137
その部分だけでは確かなことはわかりませんが、予想されることは、
なんらかの継承(extend や implements )を行っていて、
具象クラスではそのメソッドを実装しなければならなかったが、
そのクラスではたまたま、「何もすることがなかった」
という可能性はありますね。
140デフォルトの名無しさん:2006/07/03(月) 03:22:36
PGって何が楽しくてPGなんてやってんの?w
糞奴隷シネや。
141デフォルトの名無しさん:2006/07/03(月) 03:26:06
何が楽しくて人間やってんの?w
142デフォルトの名無しさん:2006/07/03(月) 03:32:03
専業トレーダーでお金儲けてることです。
143デフォルトの名無しさん:2006/07/03(月) 04:12:22
まあ、本当に儲かってる奴は、他人の悪口なぞわざわざ言わないもんだが。
144デフォルトの名無しさん:2006/07/03(月) 05:57:47
JScrollPaneにJTextAreaを埋め込んだものを、
テキストの表示がいっぱいになったら自動的に表示を一番下の部分まで
持ってこさせるようにするにはどうしたら良いのでしょうか。
145デフォルトの名無しさん:2006/07/03(月) 09:52:58
ちょっとすれ違いかもしれませんがお願いします

人事管理システムのDB1〜4段階まであり、1段階目はjavaのみでDB設計
人事情報をDOSプロントから一覧表示登録、変更、削除する。(課題は1段階目まで
メモリテープル上に登録された情報をコンソールから入力し、メモリ上に登録し、一人分の人事情報登録をくり
返すことで複数の情報を登録、メモリ上に登録された情報をコンソールで指定したファイルに書き込める(常に新規作成する)
人事商法をコンソールで指定したファイルから読み込める、その他DBに登録する再の存在しない場合のエラー、入力時に未入力、重複だった場合のエラー処理
ECLIPSEを使っての課題です
javaは一応情報系専門学校の1.2年でやってますが本当に基本的なことだけ
WEBアプリ(DB)の課題もやったが正直教科書みながらだったんでほぼ初心者です。
(将来プログラマーになるつもりはなかったんですが情報系専門の経理ということもありなぜか
授業にorz)
上の課題を作成する上で参考にできそうなお勧めの参考書やHPなどがありましたらよろしくお願いします。
本屋などをみても似たようなテキストはあるのですがどれもWEB関係の本でしたので多少参考にはなった
のですがファイルの入出力、arrayリストなどで困っています。

146デフォルトの名無しさん:2006/07/03(月) 11:02:45
ちょっと質問です。
アニメーションでのアクティブレンダリングではダブルバッファリングを使うとの事ですが、
最近のSwingはダブルバッファリングを使うと言う話を読みました。

となると、Swingでのアクティブレンダリングの意義というか利点とは何なのでしょうか?
今のところ再描画の強制のみと理解しているのですが・・・・
よろしくお願いします。
147デフォルトの名無しさん:2006/07/03(月) 11:13:47
チョンは竹島で海流調査。
チャンコロは尖閣諸島で海洋調査。
アルかニダの連携プレー。
日本どうするヘタレるか?


ってエンコリではこの件結構静かなのね。
148147:2006/07/03(月) 11:14:33
誤爆。すまん。
149デフォルトの名無しさん:2006/07/03(月) 11:23:36
ダブルバッファリングの恩恵を受けられないjvm環境でも動作する。
150デフォルトの名無しさん:2006/07/03(月) 11:23:50
>>146
そういうことだと思う。
2Dゲーム分野では使うかもね。
ぐぐったらでてきた。↓
ttp://homepage1.nifty.com/algafield/JavaGUIFaq19j.html#four5
151デフォルトの名無しさん:2006/07/03(月) 11:33:17
>>150
おお!
どうもありがとうございます!
152デフォルトの名無しさん:2006/07/03(月) 12:51:17
画面の大きさをまったく変えずにスクロールバーをつけるのはどうすればいいんでしょうか?
スクロールバーをつけてるんですが、画面の大きさも変わってしまいます
153デフォルトの名無しさん:2006/07/03(月) 14:32:08
>>145
質問が漠然とし過ぎててよくわからんが、ファイル入出力はgoogleで死ぬほど見つかる。
arrayリストってのは、java.util.ArrayListのことか?
これはjava.util.Listインターフェースを実装したもので、動作はjava.util.Listに准ずる。
ただ単に、アイテムの保持に配列を使ってるだけのこと。
このへんもググればドバドバ出てくる。 その程度なら聞くより調べたほうが早い。
154デフォルトの名無しさん:2006/07/03(月) 14:43:16
>>145
RPGをやったことあるかね?
キャラクターにはHPやらMPやらアイテムやらひっついてる。
それをクラスで表現してあげる。
簡単な人事管理だ。攻撃を受けたらHPを減算しなきゃならんし、
ある程度経験を積んだらレベルを上げなきゃならん。
ファイルIOとかArrayとかは>>153の書いてるとおりいくらでもある。
155デフォルトの名無しさん:2006/07/03(月) 15:39:56
初心者です。質問です。

MP3等の音声データをJAVAで扱いたいのですが
WinやMacのデスクトップで表示される[再生時間]を
JAVAで取得するにはどーすればよいのでしょうか?

よろしくお願いいたします。
156デフォルトの名無しさん:2006/07/03(月) 16:01:59
http://www.gihyo.co.jp/books/support.php/4-7741-2177-0
このページの下にあるサンプルファイルの
第2章 基本
 ・Cell.java
 ・CellG.java
 ・CellK.java
 ・CellV.java
を動かしたいのですがエラーが出てしまいます
どうしればエラーを無くせるか教えてください
157デフォルトの名無しさん:2006/07/03(月) 16:08:23
どんなエラーか分からんのでは回答しようが無い
158デフォルトの名無しさん:2006/07/03(月) 16:08:51
どんなエラーかどうかもわからないのに答えられるわけがありません。
159デフォルトの名無しさん:2006/07/03(月) 16:19:00
>>156
エスパー回答すると、} が抜けてるよ!
160デフォルトの名無しさん:2006/07/03(月) 16:19:32
>>144
ヒント:JTextArea.addCaretListener メソッド
(定義元:JTextComponent.addCaretListener)
>>152
スクロール・バーを付けた分、ウィンドウ内の描画領域の大きさが変わるという意味?
>>155
Java Media Framework API を使う。
161デフォルトの名無しさん:2006/07/03(月) 16:44:04
現在、学校の課題でjavaプログラムを作っているものです。

String urlName="ホームページのURL";
try{
File file1 = new File(ファイル名);
FileOutputStream outFile = new FileOutputStream(file1);
BufferedOutputStream outBuffer = new BufferedOutputStream(outFile);
URL urlConn=new URL(urlName);
BufferedInputStream inS = new BufferedInputStream(urlConn.openStream());
int line;
while((line=inS.read())!=-1){
outBuffer.write(line);
}
inS.close();
outBuffer.close();
}catch(Exception e){
e.printStackTrace();
}
}
}

といったようなプログラムでウェブ上から画像を取得しようと考えているのですが、
コンパイルして実行すると

java.net.ConnectException: Connection timed out: connect

というエラーメッセージが出てきてしまいます。
学校のネットワーク内では実行できましたが、
別のところへアクセスしようとするとタイムアウトしてしまいます。
どうしたら解決できるでしょうか。
162156:2006/07/03(月) 16:48:55
すいません…エラーの内容は
シンボルを解釈処理できません。というのが出てきます
163デフォルトの名無しさん:2006/07/03(月) 16:54:49
>>162
エラー出力そのままコピペしろよ。
コンパイル時のエラーか実行時のエラーかもわからんし。
164デフォルトの名無しさん:2006/07/03(月) 17:02:07
>>161
内で動くならFWとかの問題かもね
165デフォルトの名無しさん:2006/07/03(月) 17:11:45
>>162
>>1
166エスパー志願:2006/07/03(月) 17:25:14
>>162
全角スペースが入っている。
167デフォルトの名無しさん:2006/07/03(月) 17:51:25
>>162
俺のESPがimport忘れと告げている
168161:2006/07/03(月) 18:22:22
System.setProperty("http.proxyHost", "proxy.ise.shibaura-it.ac.jp");
System.setProperty("http.proxyPort", "10080");

この2文を追加することで解決しました。
ありがとうございました。
169デフォルトの名無しさん:2006/07/03(月) 18:27:09
C言語では
print("%5d",x);
のように書いて表示桁数を指定できますが、
JAVAではどのように表記すれば良いのでしょうか?
170デフォルトの名無しさん:2006/07/03(月) 18:31:34
>>169
5.0 以降であれば java.util.Formatter とか java.io.PrintStream#printf() が使える。
171169:2006/07/03(月) 18:34:53
>>170
ありがとうございます。それらを調べてみます。
172デフォルトの名無しさん:2006/07/03(月) 18:39:38
>>168
http://www.ise.shibaura-it.ac.jp/
芝浦工業大学工学部情報工学科の学生乙
173デフォルトの名無しさん:2006/07/03(月) 19:03:56
自分でパッケージを作る方法と、作ったパッケージを使う方法を教えていただけませんか。
参照方法がわからないんです。
174デフォルトの名無しさん:2006/07/03(月) 19:30:52
フォルダ(ディレクトリ)作ってそれを指定としか、、、
175デフォルトの名無しさん:2006/07/03(月) 19:48:36
指定の仕方がわからないんです。
javacの時に”パッケージが存在しません”と出てしまいます。
176デフォルトの名無しさん:2006/07/03(月) 19:58:38
>>175
どこで実行すれば良いのかな?ちょっとは考えよう。
177デフォルトの名無しさん:2006/07/03(月) 20:15:37
やべーようやくクラス間でのメソッド呼び出しとか理解できたんだけど
めっちゃ面白くなってきた、何か作りたいけど最初は何がいいのかな
みなさんは最初は何を作ったりしてましたか?
178デフォルトの名無しさん:2006/07/03(月) 21:29:15
子供
179デフォルトの名無しさん:2006/07/03(月) 21:34:44
>>178
正直つまらん。
180デフォルトの名無しさん:2006/07/03(月) 21:41:09
寒い質問してまともにレスしてもらえると思ってるところが
181デフォルトの名無しさん:2006/07/03(月) 21:58:33
アニメーションgifについて質問です。

コンストラクタでフォーム表示時に
もとからgif画像が表示されるようにしておけば
ちゃんとアニメーションで表示されるのですが、
ファイルオープンダイアログなどからgif画像を読み込んで
ラベルにアイコンとして表示しても、
パネルに表示しても静止画でしか表示されません。

javaはアニメーションgifには完全には対応していないのでしょうか。
それともアニメーションで表示するには特別な方法があるのでしょうか。


>>177
石取りゲームとか。学校の課題で。
182デフォルトの名無しさん:2006/07/03(月) 23:52:42
>>169
なぜおなじprintfで調べなかったのだろうか・・・
183デフォルトの名無しさん:2006/07/04(火) 02:22:58
getAttributeで取り出したセッション情報を別の変数に入れて、
その変数を変更したら、元のセッション情報まで変わってしまうのですが、
どうすればいいですか?
184デフォルトの名無しさん:2006/07/04(火) 02:30:34
別の変数に入れるときに、ただの代入でなくコピーしろ。
185デフォルトの名無しさん:2006/07/04(火) 07:15:12
時給1000円でJava教えてくれるヒトを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i−want−to−study−java@hotmail.co.jp
(メールアドレスは半角に直して送信してください)
186デフォルトの名無しさん:2006/07/04(火) 07:54:12
>>181
俺はヒットアンドブロー作ってる。
石取りゲームもそうだけど、
こういった単純なゲームは練習に最適ね。
187デフォルトの名無しさん:2006/07/04(火) 08:24:54
>>144だけど、
方法はないのかなぁ、、
188デフォルトの名無しさん:2006/07/04(火) 09:36:38
漠然とした質問ですが
WindowsXP SP2とJ2MEやSEを用いて
Bluetoothの電波強度(RSSI)を取得することって可能でしょうか?
189デフォルトの名無しさん:2006/07/04(火) 13:23:28
参考書が糞過ぎて学習できん
190デフォルトの名無しさん:2006/07/04(火) 14:35:21
どなたか解決策をご教授願えませんでしょうか?

ノベルゲームなんですけど、Eclipse上では問題無く実行出来るのです。

しかし、JARファイルを作成すると「シナリオファイルが見つかりません」
というエラーが出てしまいます。JARファイル作成時にはちゃんと
シナリオファイルもチェックしているのですが。

どうしたら解決出来るのでしょうか?
191デフォルトの名無しさん:2006/07/04(火) 14:57:31
>>190
ヒマだからエスパー募集に応えてみるか。

jar ファイルとか自作のパッケージツリーの中にあるファイルの読み込む時は
ClassLoader#getResource とか ClassLoader#getResourceAsStream とか使うのが常套手段だけど
知らずに File とか使って読み込もうとしてるとか、

実は jar ファイルの中にシナリオファイルがない、とか。
192デフォルトの名無しさん:2006/07/04(火) 15:29:57
エスパー以外には無理
シナリオファイルが見つかりませんというところで例外握りつぶしてるのを追ってみればいいだけでは?
193デフォルトの名無しさん:2006/07/04(火) 15:59:55
クラス名を指定してインスタンスを行いたいのですがどうやればいいのでしょうか?
194デフォルトの名無しさん:2006/07/04(火) 16:08:35
>>193
Class.forName(classname).newInstance();
Class.forName(classname).getConstructor(parameterTypes).newInstance(parameters);
195デフォルトの名無しさん:2006/07/04(火) 16:23:15
サンクスです
早速やってみます
196デフォルトの名無しさん:2006/07/04(火) 16:23:56
>>193
new クラス名();
197デフォルトの名無しさん:2006/07/04(火) 17:10:27
ちょっとスレちがいな気もしますが、ご存知の方いましたら教えてください m(_ _"m)ペコリ
strutsでwebアプリを作成するのですが、諸般の事情によりsessionの
タイムアウトを設定できません(永続セッションにします)
なので、セッション領域の解放もれを回避する為に、JavaScriptの
onUnloadを使用して、セッションをinvalidする仕組みを考えて
いるのですが、思ったような動作をしてくれていません。
仕組みとしては、以下のようなscriptを考えています(ブラウザはIE6.0SP2以降限定です)。
function exitForm(){
if(event.clientX <= -8000 && event.clientY <= -9000 || event.clientX >= 32700 && event.clientY >= 32700) {
//ブラウザ閉じられたときの処理(テスト用にalert)
alert("exitForm");
}
}
<BODY onUnload="exitForm()">

↑のscriptをhtmlで試したところ、×ボタンによる画面クローズで
正常にalert出力されたのですが、Tomcat上にJSP化して配置してから
実行したところ、クローズ時のalertが出力されません。
event.clientXとevent.clientYの判定分をはずして試してみても、
結果は同じ(alert出ない)でした。
私の開発&実行環境は以下の通りです。
Windows XP SP2
IE6.0 SP2
Tomcat 5.0.30

よろしくお願いします
198デフォルトの名無しさん:2006/07/04(火) 17:10:57
199197:2006/07/04(火) 17:14:29
>>198
すみません、サンクスです
200デフォルトの名無しさん:2006/07/04(火) 18:11:06
HttpSessionを永続セッションにするという時点で
使い方を間違ってる。
Servletコンテナはそういう使われかたを想定していないから
いろいろ困ると思うよ。
ブラウザの「閉じる」だけだと対策不十分だし。
201デフォルトの名無しさん:2006/07/04(火) 19:49:16
引数無しのコンストラクタって
どんな時に使うの?
202デフォルトの名無しさん:2006/07/04(火) 19:53:16
>>201
引数が無い時
203デフォルトの名無しさん:2006/07/04(火) 19:53:21
引数がいらないとき
204デフォルトの名無しさん:2006/07/04(火) 20:30:56
Java のソースコードを DOM ツリーに変換するライブラリがあったら教えてください。
できれば、文法拡張に対応しているのを。

OpenJava ってのが一番イメージに近いのですが、Java5 未対応でして。・゚・(ノД`)・゚・。
205デフォルトの名無しさん:2006/07/04(火) 20:51:28
セッションタイムアウトなしのシステムにかかわったのがばれたら一生笑われそうだな
206デフォルトの名無しさん:2006/07/04(火) 22:31:11
>>197
一ついいこと教えてあげよう
クライアントがシャットダウンするとIEではイベント発生しないからどうしようもないぞ
207デフォルトの名無しさん:2006/07/04(火) 23:01:41
凄い初歩的な質問で恐縮ですが、CPでファイル名 1っていれたら {O,5,5},
{5,5,5},
{5,5,5},ってのを表示するプログラム書きたいんですがエラーでて、
どうなおせばいいのかわかりません。お願いします
public static void main(String[] args) {
double a = Double.parseDouble(args[0]);
 //コマンドプロンプトで1を入力したら
if(a = 1){
//↓の配列を表示したい
int [][] arr={
{O,5,5},
{5,5,5},
{5,5,5},
};
part1(arr);
}
private static void part1(int[][] b){
for (int i = 0;i < b.length; i++) {
System.out.print("|");
for (int j = 0; j<b[i].length; j++) {
System.out.print(b[i][j] + "|");
}
System.out.println(" ");
  }
  }
 }
208デフォルトの名無しさん:2006/07/04(火) 23:08:28
>>207
>>if(a = 1){
読めません
209デフォルトの名無しさん:2006/07/04(火) 23:13:09
>>156
・全てのファイルの package 宣言を消す

or

・全てのファイルを cell という名称のフォルダに突っ込んで、javac cell/*.java
210デフォルトの名無しさん:2006/07/04(火) 23:34:15
>>208
ありがとうございます、確かに==でしたね。
ここ直してもprivate static void part1の開始が不正ですとか
12288は不正な文字ですってエラーが6個出てきたりしました・・
211デフォルトの名無しさん:2006/07/04(火) 23:35:06
ローカル環境で動いていたプログラム(メソッド)をサーバーに搭載したら、エラーが出るようになりました。
クライアントでは使えてもサーブレットでは使えないプログラムというのはあるのでしょうか?
212デフォルトの名無しさん:2006/07/04(火) 23:36:13
>>210
志村。文字コード。
213デフォルトの名無しさん:2006/07/04(火) 23:38:24
>>211
ある
214デフォルトの名無しさん:2006/07/04(火) 23:44:19
>>210
ちゃんとインデントしてる?
初歩だよ。
215デフォルトの名無しさん:2006/07/04(火) 23:49:40
12288は全角空白だ。
216デフォルトの名無しさん:2006/07/05(水) 00:09:48
ああ、全角文字入れてるのが不味いんですね。
なんとか
式の開始が不正です。
private static void part1(int[][] b){
    ^
だけになりましたが、これはどうすればいいんでしょうか?publicにしてみたり
voidをintにしてみたstatic消してみたりしても直らないです
217デフォルトの名無しさん:2006/07/05(水) 00:12:19
>>216
志村。class。
218204:2006/07/05(水) 00:16:02
>>204 キャンセル。別のところで聞きますわ……。
219デフォルトの名無しさん:2006/07/05(水) 00:28:55
>>217
class追加するんですか?よくわからないです・・
220デフォルトの名無しさん:2006/07/05(水) 01:44:47
{と}がちゃんと対応してない。
>>214の言うようにインデントすればわかると思うよ。
221219:2006/07/05(水) 02:34:19
インデントしてみても色々入れ替えてみても良くわからないです・・
才能ないなぁ・・
222デフォルトの名無しさん:2006/07/05(水) 02:39:02
>>221
取り敢えず、やろうと思っているソース全部、
見せてみた方が話早いよ。
もしくは、もっと短いソースのものから試していった方が良い。
223デフォルトの名無しさん:2006/07/05(水) 03:37:43
では迷惑承知で全部はってみます。1入力したらintの中身を表示するって奴です
public class Test{
public static void main(String[] args) {
double b = Double.parseDouble(args[0]);
int [][] arr={
{5,5,5},
{5,5,5},
{5,5,5},
};
part1(arr);
}
public static void part1(int[][] a){
if(b == 1){
for (int i = 0;i < a.length; i++) {
System.out.print("|");
for (int j = 0; j<a[i].length; j++) {
System.out.print(a[i][j] + "|");
}
System.out.println(" ");
}
};
};
}
224222:2006/07/05(水) 03:43:33
>>223
おっ、来たね。
じゃ、ちょっと試してみるね。
他の方が先に教えてくれるかもだけど。
225222:2006/07/05(水) 03:49:23
まず、「シンボルを見つけられません。変数b」っていう感じのエラーだけれども、
メソッド内で定義された変数--ローカル変数--は
そのメソッド内だけで有効、という決まりがある。
226222:2006/07/05(水) 04:01:55
>>223
あと、入力っていうけど
この場合の入力は、実行時のコマンドパラメータ入力っていう意味だけど良いのかな?
実行時は、
java Test 1
という感じにする。
あと、Double を使う必要はない様子だし、
例の比較式のところは int 扱いだから、int に統一してみる。
>>225への対処は、メソッドの外、クラスの変数として定義すればいい。
取り敢えずね。(クラス変数、インスタンス変数という区別があるけれども。)
227222:2006/07/05(水) 04:02:55
public class Test{

private static int b;

public static void main(String[] args) {
b = Integer.parseInt(args[0]);
int [][] arr={
{5,5,5},
{5,5,5},
{5,5,5},
};
part1(arr);
System.out.println("Test process ended.");
}

public static void part1(int[][] a){
if(b == 1){
for (int i = 0;i < a.length; i++) {
System.out.print("|");
for (int j = 0; j<a[i].length; j++) {
System.out.print(a[i][j] + "|");
}
System.out.println(" ");
}
};
};
}
228222:2006/07/05(水) 04:03:38
↑取り敢えずコンパイルできて、さっきの方法で動くと思う。
229222:2006/07/05(水) 04:08:44
あ、余計なメッセージ行が入ってしまった。
main メソッドで受け取って加工した int b を part1 に渡すと綺麗かな。

public class Test{

public static void main(String[] args) {
int b = Integer.parseInt(args[0]);
int [][] arr={
{5,5,5},
{5,5,5},
{5,5,5},
};
part1(arr, b);
}

public static void part1(int[][] a, int b){
if(b == 1){
for (int i = 0;i < a.length; i++) {
System.out.print("|");
for (int j = 0; j<a[i].length; j++) {
System.out.print(a[i][j] + "|");
}
System.out.println(" ");
}
};
};
}

ではでは。
230デフォルトの名無しさん:2006/07/05(水) 04:08:57
丁寧にありがとうございます、共通してる文字はメソッドの外で定義すればいいんですね。
ちゃんとうごきました
231デフォルトの名無しさん:2006/07/05(水) 04:15:31
ちょっと教え方がまずかったんじゃないか?
こんな教え方したら、グローバル変数マンセーな頭になってしまうぞ。
232デフォルトの名無しさん:2006/07/05(水) 04:33:16
>>231
うん、まずは動かないとと思って。
オブジェクト指向の考えに基づく
クラス関連設計の手法みたいなのは後々学んでくれればと。
自分で設計したクラスのインスタンスを作って使う段階になれば
学んで行くんじゃないかなとは思ったけど…
どの参考書使っているのかな…

>>230さん
231さんの言うことはいずれ理解できるようになってね。
これが理解でき、回避できれば、
オブジェクト指向的プログラム設計ができるようになると思うよ。
…ってやや投げっぱなしジャーマン…
おやすみ。
233230:2006/07/05(水) 04:43:12
グローバル変数ばっか使うと不味いんですか?
後目標は実行する際java Test の後に入れる数字によって
違うパターンの配列を表示できるようにしたいんですが、
ヒントというか方向性教えてください・・何からいじり始めればいいのかわかりません^^;
234デフォルトの名無しさん:2006/07/05(水) 04:44:22
あ、すみません。書いてる間に1行目にたいする返信が・・
本はttp://www.hyuki.com/jb/の上巻です
235デフォルトの名無しさん:2006/07/05(水) 07:48:41
mv Call.java ../src
でパーミッションがありませんとエラーがでます。
どうしたらよいでしょうか
236デフォルトの名無しさん:2006/07/05(水) 08:37:07
>>235>>156
そのエラーの文でググろう。
「Linux コマンド」とかでも調べた方が良い。
それは Java の範囲じゃない。
237デフォルトの名無しさん:2006/07/05(水) 10:03:55
>>185
北海道に住んでいるから行けないや
首都圏はいろいろなハナシがあっていいね
238学生さん:2006/07/05(水) 10:09:54
先輩方質問です・・・。
いま学校の授業でPC使っているのですが、インターネット開くのに色々とフィルタリングかかっているんどえすよね・・。
学校のなのでしょうがないのですが、これってなにか裏技すれば解除できたりとかあるのでしょうか?
ちなみにマイコンピュータはPC室で全リンクしているような感じです。
239デフォルトの名無しさん:2006/07/05(水) 10:48:01
なにこの初心者を装った荒し
240デフォルトの名無しさん:2006/07/05(水) 11:48:42
>>238
良いからまずルールを守る事を覚えろ
241デフォルトの名無しさん:2006/07/05(水) 11:59:58
341 :マジレスさん :2006/05/12(金) 12:09:31 ID:F2rS3Gcw

 竹石圭佑ってウチの学校の野郎だ…ちょくちょく名前聞いたことある
ホモとかゲイだったってウワサ聞いたけど、女好きでもあったのか?
じゃあ女にフラれて自棄になって男に手を出したとか
それともどっちでもよかったんか?
頭おかしかったんか素なのか、、
つうかそんな奴の友達とか側近もホモ野郎なんだろうか、やっぱ

242デフォルトの名無しさん:2006/07/05(水) 12:00:12
〉235
rm Call.java
と入力すればOK
243仕様書無しさん:2006/07/05(水) 12:14:34
おまいら!
ひどすぎだぞ。238はこれからJAVAを学んでそのフィルタリングを
解除しようとしているんじゃないかwwww!
244デフォルトの名無しさん:2006/07/05(水) 12:59:25
とりあえず、Java とフィルタリングが関係してるか調べてから出直してくれ。
245デフォルトの名無しさん:2006/07/05(水) 16:43:54
<identifer>がありませんってエラーは何が原因なんでしょうか?
246デフォルトの名無しさん:2006/07/05(水) 16:51:32
>>245
エラー出力そのままコピペすれば、ある程度は答えられる
247245:2006/07/05(水) 16:52:35
aa.java:32: <identifier> がありません。
public static int part2(byte){
^
aa.java:55: ')' がありません。
}
^
エラー 2 個

よろしくおねがいします
248デフォルトの名無しさん:2006/07/05(水) 16:53:09
>>245
原因はいろいろ。具体的には、クラス名、変数名、メソッド名を間違えてるとか、
括弧の閉じ忘れとかセミコロン付け忘れたとかピリオド付け忘れたとか。
他にもあると思うけど。
249デフォルトの名無しさん:2006/07/05(水) 16:55:26
>>247
32行目のは仮引数名を定義してないから怒られてるだけ。

55行目はわからん。
250デフォルトの名無しさん:2006/07/05(水) 16:56:02
素人だが、Generics(スペルは解らん)の指定がないのと、)がたりないとかと思われる。
251デフォルトの名無しさん:2006/07/05(水) 18:12:38
>>250
Generics関係ないよ。>>249が指摘している通り、メソッド宣言で引数の
構文が間違ってるだけだ。
252デフォルトの名無しさん:2006/07/05(水) 18:14:13
このスレで一番ひどいのは>>242だろ。
253デフォルトの名無しさん:2006/07/05(水) 18:15:25
仮引数名の定義ってどうやるんですか?
254デフォルトの名無しさん:2006/07/05(水) 18:34:18
>>253
うぜぇ死ね

それぐらい自分で調べろハゲ
255デフォルトの名無しさん:2006/07/05(水) 18:41:22
名前は知ってるのに実体はしらない不思議なやつだなw
256デフォルトの名無しさん:2006/07/05(水) 18:50:41
>>253
参考書あるなら参考書の内容を順に学んで行こう。
ググれば Java 講座みたいなものは見つかる。
文法的な定義については、一々質問しないこと。
こういう場は変則的、例外的な事態についての質問をするのが相応しい。
257デフォルトの名無しさん:2006/07/05(水) 20:13:42
class ○○ extends Vector

ってVectorの使い方しますか?
258デフォルトの名無しさん:2006/07/05(水) 20:35:45
0、1,2の3つの数字の中からランダムで選択ってメソッドはどうつくればいいんでしょうか?
とりあえずググって探してみたんですが、
0.0 以上で、1.0 より小さい正の符号の付いた double 値を返す
とかしか見つからなかったです。
259デフォルトの名無しさん:2006/07/05(水) 20:37:40
260デフォルトの名無しさん:2006/07/05(水) 22:32:00
なんでドキュメントを調べずに
同じことやってるサイトだけ探すんだ?
不思議だ…
261デフォルトの名無しさん:2006/07/05(水) 23:08:40
>>257
するよ。オブジェクトの責任がそのコレクションに準ずるものだと
思えたら特に遠慮無く。
虎も猫ってことで。
262デフォルトの名無しさん:2006/07/05(水) 23:14:28
自前で DOM を組み立てて XML 出力したんだけど、

<?xml version="1.0" encoding="UTF-8"?><a>
<b>hoge</b>
</a>

のように XML 宣言の所と documentElement がくっついてしまった。せっかく
中のインデントをそろえたのに見栄えが悪いので

doc.insertBefore(doc.createTextNode("\n"), doc.getDocumentElement());

と documentElement の前に改行のテキストノードを挿入しようとしたら
今度は例外になってしまった。

org.w3c.dom.DOMException: HIEARUCHY_REQUEST_ERR: 許可されていない場所にノードを挿入しようとしました。

どうやったらこういう出力を得られるの?

<?xml version="1.0" encoding="UTF-8"?>
<a>
<b>hoge</b>
</a>
263デフォルトの名無しさん:2006/07/05(水) 23:26:31
>>260
そりゃ、同様の事例を検索って方法に普遍的な早さがあるからだろう。
API仕様を漁るにしても、該当するクラスが検討ついてなかったら時間がかかる。

何かやろうとして、そのクラスの使い方をあまりよく覚えてなかった時や
他人のソースを見てよくわからんものが出てきたときなんかは、真っ先に
API仕様を参照しようという頭は働くが、全く真っさらな状態から始める
場合はとりあえず同様の事例を検索するだろう?(あからさまにJFCの
パッケージと合致するような話だと、そっちを辿る方が早いと判断するが)

264デフォルトの名無しさん:2006/07/06(木) 00:21:45
>>262
それはXMLを根本から意識しなおせと怒られてるんだよ。
だって、HTMLで言えば<head>や<body>と単なるTextが同等の階層に
存在するのっておかしいだろ?
俺の言ってることがわからんなら、適当にXMLの入門書1冊買ってきて
通読した方がいいよ。

んで、本題の方だけど、俺はJavaでのXMLの扱いは不慣れだから
具体的なことはあまり言えんが、XML/Javaについて書いてるWebページを
チョロチョロ眺めてみた感じだと、小手先のテクニックを使わなくても
ちゃんと出力できてるみたいだから、出力の仕方に問題があるんジャマイカ?
265デフォルトの名無しさん:2006/07/06(木) 00:40:49
>>263
いやいや、サイト検索してdouble取得するのは分かった。
同じクラスもしくはそこから手繰れるクラスのマニュアル見れは
int取得する方法もちゃんとある。
なのにそれが見つけられんということに対して言ってるんだよ。
266デフォルトの名無しさん:2006/07/06(木) 00:52:00
(int)(random() * 3)
こういうのがぱっと思いつかないのならセンスなし。逝ってよし。
267デフォルトの名無しさん:2006/07/06(木) 01:34:55
それ何を期待したソースだよ。
268デフォルトの名無しさん:2006/07/06(木) 01:39:04
import static java.lang.Math.random;
してあるんじゃね?
269デフォルトの名無しさん:2006/07/06(木) 02:48:44
いやいやそういう問題ではないと思うのだよ。
270デフォルトの名無しさん:2006/07/06(木) 03:14:15
すいません質問させてください
{ }の数はあっているんですが、
最初の{と最後の}にカーソルをあわせても太い黒の{ }にならないんです。
これってうまく認識されてないってことでしょうか?
何度コンパイルしてもエラーがでるんでこれが原因だと思うんですが・・・
ちなみにつかってるソフトは秀丸です。
回答よろしくおねがいします
271デフォルトの名無しさん:2006/07/06(木) 03:21:38
>>270
どういうコンパイルのエラー?
272デフォルトの名無しさん:2006/07/06(木) 03:21:40
" の閉じ忘れとか、
( の閉じ忘れとか、
別の閉じ忘れで変になってる可能性が。
273デフォルトの名無しさん:2006/07/06(木) 03:34:22
>>271>>272
すみませんありがとうございました。
黒く反転はされないんですがコンパイルできました。
深夜にありがとうございました
274デフォルトの名無しさん:2006/07/06(木) 06:27:23
classファイルから中のプログラムの文字列を見ることってできますか?
あったら方法おしえてください
275デフォルトの名無しさん:2006/07/06(木) 06:44:08
抽象杉
デコンパイル?それとも
276デフォルトの名無しさん:2006/07/06(木) 06:49:32
バイナリエディタ
277デフォルトの名無しさん:2006/07/06(木) 07:06:42
よくわからないけど、.javaのファイル作ってコンパイル実行してたらいつのまにできてた
ファイル名は同名の拡張子がclassのファイルです。
メモ帳でひらいてみたら意味不明な文字化けしかみれませんでした
278デフォルトの名無しさん:2006/07/06(木) 07:11:12
>>276
ありがとうございます。ためしにstirlingってバイナリエディタ落としてそれで開いてみたけど
まだ文字化けのままでした・・.javaの方のファイル間違って消してしまって
残ってるのは.classファイルだけなのでなんとかjava言語でかいてあるプログラムの
中身を見たいのですが
279デフォルトの名無しさん:2006/07/06(木) 07:19:04
jad

あとは自分で調べろ
280デフォルトの名無しさん:2006/07/06(木) 07:19:37
>>278
間違って消したからって、
なんで.classファイルの中身を見る必要があるの?
.javaのファイル作ったなら中身は知っているはずでしょ?
281デフォルトの名無しさん:2006/07/06(木) 07:21:21
1から作りなおせって言ってるぞこいつ。
282デフォルトの名無しさん:2006/07/06(木) 07:22:26
バカは1から作り直せば?
283デフォルトの名無しさん:2006/07/06(木) 07:24:01
間違って消しちゃったんだってw
どうせ他人の作ったクラスでもぱくったんだろ
難読化されてたら諦めろ
284デフォルトの名無しさん:2006/07/06(木) 07:25:48
まちがって消したっていってるのにね。想像力豊かだね。
285デフォルトの名無しさん:2006/07/06(木) 07:26:54
言ってる事全て真に受ける人は振り込め詐欺にご注意を
286デフォルトの名無しさん:2006/07/06(木) 07:28:01
文章から察するにどうせしょぼいプログラムなんだから
1から作り直せよw
287デフォルトの名無しさん:2006/07/06(木) 07:29:40
別にclassからソースをというなら普通にそう書くだろう。
間違って消したと言う言い訳なんて必要ないじゃん。
288デフォルトの名無しさん:2006/07/06(木) 07:32:31
どうでもいいから終了
289デフォルトの名無しさん:2006/07/06(木) 07:32:42
で、コンパイル実行してたら
いつの間にかclassファイルができてたレベルでしょ?
自演擁護ご苦労さんw。
290デフォルトの名無しさん:2006/07/06(木) 07:34:20
まあ、とりあえず)の付け忘れには気をつけようということだな。
291デフォルトの名無しさん:2006/07/06(木) 07:36:47
少しでも情報をと思ったんですが言い訳って意味が・・・.javaの副産物っぽいから
これだけあるって通常は考えられないから一応いっておいたんですが。
とりあえず無理だからやり直すしかないってことですか?
292デフォルトの名無しさん:2006/07/06(木) 07:38:10
ちょっと頭がやられちゃってる人いますね。自演擁護って・・・ID制にすればいいのに。
293デフォルトの名無しさん:2006/07/06(木) 07:42:04
確かにやられてるね意味不明のエクスキューズ
294デフォルトの名無しさん:2006/07/06(木) 07:42:39
>>291
>>279が見えないのか?
jadに関する質問はスレ違いだと予め言っておく
295デフォルトの名無しさん:2006/07/06(木) 07:46:39
自演にしては面白くない。自演のレベルも落ちたものよのう。
296デフォルトの名無しさん:2006/07/06(木) 07:51:42
ちょっと、ごめん。
>>277
それは.javaをコンパイルしたら
.javaのファイルの数と一致しない数の
classファイルができてたってことかな?
(匿名クラスとかのclassファイルかなと思ったり)
297デフォルトの名無しさん:2006/07/06(木) 11:52:02
>>264
そりゃ何を怒られてるかの意味くらいは分かるが、ignoreable な空白も入れられないとなりゃ
出来ないってことになるでしょ。つか <head> や <body> の例えはおかしいべ。それを言うなら
<html> でしょ。

で、変換処理は以下と同じ (本当は複数行に分けてるが)。API リファレンス見ても
TransformerFactory や Transformer にはそれらしきオプションも無かった。

TransformerFactory().newInstance().newTransformer().transform(new DOMSource(dom), new StreamSource(file));
298デフォルトの名無しさん:2006/07/06(木) 12:41:53
>>262
JDOM使え。
JDOMで作ったDocumentオブジェクトに対して以下のようにすると、
整ったXMLを出力してくれる。
new XMLOutputter(Format.getPrettyFormat()).output(document, out);

JDOMの使い方は、ググるかこの辺を見れば分かるだろう。
ttp://www.jdom.org/
ttp://www.ncfreak.com/magazine/No.003/xom.html
299デフォルトの名無しさん:2006/07/06(木) 13:37:38
>>298
SI なんでなかなかそういうわけにも行かないが、ありがとう。もしかして Java 標準
API では出来ないのかな? まぁ現実的な問題があるわけじゃないからこのままでも
良いちゃ良いんだけど。インデント付け程度の整形なら要素のネスト数分だけ空白文字
くっ付けりゃ良いから、再帰で簡単に出来るんだが。

<?xml-stylesheet?> みたいな PI とかどうなるんかと思ったら、これはちゃんと入るのな。
しかも尻に改行付きでw

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="a.xsl"?>
<a>
  <b>hoge</b>
</a>
300デフォルトの名無しさん:2006/07/06(木) 18:02:52
マックスミニ法で三目並べで絶対負けないコンピューターを作りたいんですが
そのメソッド教えていただけないでしょうか?
301デフォルトの名無しさん:2006/07/06(木) 18:05:17
死ね
302デフォルトの名無しさん:2006/07/06(木) 19:22:38
もしかして、サーブレットプログラムの途中でFileオブジェクトを作り出すのって不可能ですか?
303デフォルトの名無しさん:2006/07/06(木) 20:03:38
CとJavaで、初心者が学びやすいのはどちらでしょうか?
最初に学ぶのはどちらがいいのでしょう…?
またCとJavaは数学的な要素(計算など)がどちらも必要になってくるのでしょうか。
返信お願い致します。
304デフォルトの名無しさん:2006/07/06(木) 20:25:13
>>303
Javaにしておきなさいな
数学的な要素などは通常のプログラムにはほとんどありません
高校数学程度の、いわゆる常識程度の知識で十分です
305デフォルトの名無しさん:2006/07/06(木) 21:02:18
javamailでサブミッションポートを使いたいんですが・・
public class test {
public static void main(String[] args) {
Properties objPrp=new Properties();
objPrp.put("mail.smtp.host","aaa.com");
objPrp.put("mail.host","aaa.com");
Session session=Session.getDefaultInstance(objPrp,null);
MimeMessage objMsg=new MimeMessage(session);
try {
objMsg.setRecipients(Message.RecipientType.TO,"[email protected]");
InternetAddress objFrm=new InternetAddress("[email protected]","aaa");
objMsg.setFrom(objFrm);
objMsg.setSubject("メールテスト","ISO-2022-JP");
objMsg.setText("こんにちは","ISO-2022-JP");
Transport.send(objMsg);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
objPrp.putでaaa.com:587とかしても無理で、javamail portとか色々探っても見つかりませんでしたorz
306デフォルトの名無しさん:2006/07/06(木) 21:06:56
Javaでテトリスって作れますかー?
307デフォルトの名無しさん:2006/07/06(木) 21:16:18
>>304
お恥ずかしいながら、数学は苦手で、割り算程度ぐらいしか
できませんでして…。でも、ないと聞いて安心しました。
レスありがとうございました。
308デフォルトの名無しさん:2006/07/06(木) 21:19:59
309デフォルトの名無しさん:2006/07/06(木) 21:24:12
>>308
thanks a lot!
310デフォルトの名無しさん:2006/07/06(木) 21:56:22
>>305
javamailは使ったことがないので検討はずれのレスかもしれないが…

この↓の解説をみるかぎり、サブミッションポートは送信時にSMTP認証が必要
サブミッションポート
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060323/233135/

305に記述されているコードにはSMTP認証のコードがないけど…
あと送信時に使用するポート番号は 587 みたい。
311デフォルトの名無しさん:2006/07/06(木) 22:05:22
すいません、javaについてなんですが。
エクセルのデータをCSVで保存してそのデータをjavaから呼び出して
二次元配列に格納したいんだがどうにもいろいろやってもできないんです。
だれかやり方教えてくれませんか?
312デフォルトの名無しさん:2006/07/06(木) 22:16:25
>>311
いろいろやってを書いてみそ。話はそれからだ。
313デフォルトの名無しさん:2006/07/06(木) 22:41:02
StringのindexOfメソッドを使って
指定文字が文字列の何文字目に登場するかを
返すメソッドを作りたいんだけど
定義するメソッドの仮引数はint型のみで大丈夫ですか?
314デフォルトの名無しさん:2006/07/06(木) 22:45:26
意味わからん
315デフォルトの名無しさん:2006/07/06(木) 22:49:01
久々にJAVAをインストールしようと思ったが
HPがないwww
j2sdk1.4だけどもう古いのですかね・・・・
最新SDKはどこでインストすればいいのでしょうか?;;
読んでる本は[やさしいJAVA]ですが厳しい状況です^^
316デフォルトの名無しさん:2006/07/06(木) 22:59:45
学習用なら1.4がいいと思われ
まず基本をマスターしてからじゃないと最新使っても意味がない
むしろ一部の文法変わってるから混乱するだけ

あと「やさしいJava」は定番の本だから問題ない
317316:2006/07/06(木) 23:02:17
何電波飛ばしてんだ俺
318デフォルトの名無しさん:2006/07/06(木) 23:05:49
>>316

ありがと^^b
319デフォルトの名無しさん:2006/07/06(木) 23:54:04
文字を文字コード?に変換するにはどうすればいいんですか?
320デフォルトの名無しさん:2006/07/06(木) 23:59:32
>>319
java.lang.String#getBytes(encoding) とか、
java.io.OutputStreamWriter 使うとか、
java.nio.charset.CharsetEncoder 使うとか、

他にもいろいろ。
321デフォルトの名無しさん:2006/07/07(金) 00:00:54
int型に''で囲んで入れればよい
322デフォルトの名無しさん:2006/07/07(金) 00:04:58
>>320-321
やってみる、ありがと。
323デフォルトの名無しさん:2006/07/07(金) 03:11:36
すいません、オブジェクト思考等にお詳しい皆さんにご相談させてください

実現したい機能が A,B,Cと3つあります。
そこで3つの機能をどう提供しようかと考えたところいくつか思いつきました

1.クラス1内にPublicなメソッドxを作り、メソッドx内にてIF文を記述しA,B,Cそれぞれを記述する。

2.クラス1内にPublicなメソッドx、y、zを用意し呼びわけをしてもらう。

3.クラスを3つ用意しそれぞれのクラスを呼び分けてもらう。

もちろんA,B,C内で似たような機能はなんらかの形で共通化はします。
また、1で実現しているように呼ばれるメソッドの引数にはA,B,Cを特定させる
キーワードも存在するのも前提です。

自分だったら1,2,3のどれにするとか
1,2,3以外にもこんなデザインパターンに該当するからそれが良いのでは?等
お聞かせ願えたら嬉しいです。
324323:2006/07/07(金) 03:26:47
例がまだイマイチだったので追加します。
4.strategyパターンを使う。
参考 http://www.techscore.com/tech/DesignPattern/Strategy.html

よろしくお願いします。
325デフォルトの名無しさん:2006/07/07(金) 03:44:57
>>323
4
A, B, Cで共通する抽出して抽象クラス1つを定義。異なる機能は
具象クラス3つの中で実装。メインスレッド中での振る舞いの記述は
全て抽象クラスにて。
326デフォルトの名無しさん:2006/07/07(金) 09:18:46
指定した文字が文字列の中に何回登場するかを
調べるメソッドってありますか?
327デフォルトの名無しさん:2006/07/07(金) 09:49:31
String文字列の内容をHEX表示するにはどうすればよいのでしょうか?
328デフォルトの名無しさん:2006/07/07(金) 10:59:02
>>327
toHexString でググれ
329デフォルトの名無しさん:2006/07/07(金) 11:37:00
>>327
元の文字列がどういったものなのか分からないと答えようがありません。
もしや一文字づつ char の値を出したいとか?
330デフォルトの名無しさん:2006/07/07(金) 19:54:24
char* str=文字列;
char c=指定文字;
int n=0;
for(;*str;*str++,n+=(*str==c));


まぁ適当
331デフォルトの名無しさん:2006/07/07(金) 20:05:58
>>330
ちょ、それC言語w
332デフォルトの名無しさん:2006/07/07(金) 20:13:35
Javaでは
String str=文字列;
char c=指定文字;
int n=0;
for(int i = 0; i < s.length(); i++) {
  if(c == str.charAt(i)) {
    n++;
  }
}
333デフォルトの名無しさん:2006/07/07(金) 20:25:59
indexOf() 使った方が速そうな気が…
334デフォルトの名無しさん:2006/07/07(金) 20:51:57
>>333
static int count(String s, char c) {
int n = 0;
for (int p = 0; (p = s.indexOf(c, p) + 1) != 0; n++);
return n;
}
こうですか!? わかりません。
335デフォルトの名無しさん:2006/07/07(金) 20:55:25
>>327
public static void main(String[] args) throws UnsupportedEncodingException {
System.out.println(toHexString("0123あいう"));
System.out.println(toHexString("0123あいう", "UTF8"));
}


private static final char[] hex = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
public static String toHexString(String s) {
return toHexString(s.getBytes());
}

public static String toHexString(String s, String charsetName)
throws UnsupportedEncodingException {
return toHexString(s.getBytes(charsetName));
}

public static String toHexString(byte[] b) {
char[] cs = new char[b.length * 2];
for (int i = 0; i < b.length; i++) {
cs[i * 2] = hex[(b[i] >> 4) & 0xF];
cs[i * 2 + 1] = hex[(b[i] >> 0) & 0xF];
}
return new String(cs);
}
336デフォルトの名無しさん:2006/07/07(金) 22:22:32
>>335
なんでわざわざ自分で作ってるんだ?
337デフォルトの名無しさん:2006/07/07(金) 22:35:15
for(int i = 0; i < 100; i++)
{
String s = ...... ;
}

よりも

String s;
for(int i = 0; i < 100; i++)
{
s = ...... ;
}

の方が変数宣言がない分、早かったりしますか?

338デフォルトの名無しさん:2006/07/07(金) 22:35:49
試せよ
339デフォルトの名無しさん:2006/07/07(金) 22:40:54
>337
断じて。
340デフォルトの名無しさん:2006/07/07(金) 22:43:43
大抵変わらないだろうけど
現在スコープ内の変数はレジスタに乗り易い利点がある
341デフォルトの名無しさん:2006/07/07(金) 22:49:05
>>340
逆に上の方が早いってことですか?
342☆さぉり☆:2006/07/07(金) 22:50:35
すみません、JAVAのブロック崩しのプログラム教えていただきたいのですが><
343デフォルトの名無しさん:2006/07/07(金) 22:52:46
>>342
738 名前:デフォルトの名無しさん[sage] 投稿日:2006/06/15(木) 18:31:25
ブロック崩しなのですが、
【 課題 】ブロック崩しアプレットを作成しなさい。
ボールのサイズは10、ラケットサイズは任意、画面サイズは500×400とする。
画面上部ニブロック、スタートボタンを配置する。
現在のスコア、ハイスコア、残りボール数を表示する。
アップレットを起動するとボールを任意の位置に表示する。
マウスの移動と左右キーでラケットを左右に動かせる。
ボールは上、左右の壁に当たると跳ね返る。ブロックに当たった場合、
ブロックが消え、ポイントが加算される。
スタートボタンでゲームスタート。ボールがラケットより下に行くと
ボールはロスとされる。ボールがロストした場合、三個まで新たにボール
が出る。三個のボールをロストした場合、gameoverと表示する。
【 用語 】とくになし
【 期限 】6月17日正午まで
【 Ver  】とくになし
【 補足 】出来れば今日中にお願いしたいです。よろしくお願いします。

740 名前:デフォルトの名無しさん[sage] 投稿日:2006/06/15(木) 21:21:00
>>738
コーディングにかかる時間をどれぐらいに見積もっているのか聞いてみたい。
344デフォルトの名無しさん:2006/07/07(金) 22:53:57
>>341
それはないと思う。
しかしいくらstatic final intとはいえ、hoge.lengthよりlen = hoge.lengthとしたほうが速いみたいな
345デフォルトの名無しさん:2006/07/07(金) 22:55:31
>>344
なぜ、「ないと思う」のですか。
測定してみましたか。
javapしてみましたか。
346デフォルトの名無しさん:2006/07/07(金) 23:10:05
>>345
VM 依存
347デフォルトの名無しさん:2006/07/07(金) 23:25:26
>346
コンパイラが出力したコードに違いがあれば、VM依存になるかもしれないが、
コードに差がなければ、VMに依存しようがないね。
348デフォルトの名無しさん:2006/07/07(金) 23:36:07
>>347
んじゃ処理系依存


……どうでも良いが、コンパイラが生成するコードに差がないなら、VM に依存するんでないかい?
逆?
349デフォルトの名無しさん:2006/07/08(土) 00:39:23
>>337
コンパイル時に最適化されて差は無いに3万ゼリー
350デフォルトの名無しさん:2006/07/08(土) 00:53:37
>>348
2つのコードのうちどっちが速いかといっているのに
コンパイル後のコードに差がないならVMに依存するとか処理系に依存するとか
どういう思考回路の持ち主ですか?

もっとわかりやすくいうと、同じコードなのに実行速度が
VMやら処理系に依存して変わるとお思いですか?
351デフォルトの名無しさん:2006/07/08(土) 00:56:39
>>350
前者と後者は一緒じゃないだろ
352デフォルトの名無しさん:2006/07/08(土) 00:57:48
>>350
言い方が変だな。
VMやら処理系に依存して変わるのは当然。それを問うのはおかしい。
言うなら、コードの問題なのにどうして土台を処理系に移しているのかだろ。
353デフォルトの名無しさん:2006/07/08(土) 01:49:17
WebアクセスをJavaで制御したいんだけど最も簡単なロジックってどんなのがある?
354デフォルトの名無しさん:2006/07/08(土) 02:25:24
javaでthisを使う必要があるのはどういうときですか?
どういうコードだと、thisを使わないと弊害がでるんでしょうか??

355デフォルトの名無しさん:2006/07/08(土) 02:29:40
>>354
class Foo {
    int bar;
    void hoge() {
        String bar;
        bar = "abc";
        this.bar = 1;
    }
}
356デフォルトの名無しさん:2006/07/08(土) 02:30:52
>>354
その this キーワードってどこで学んだの?
357デフォルトの名無しさん:2006/07/08(土) 03:27:12
しかしなぁ、入門書じゃ全部>>355みたいな例を乗せてるけど、俺は絶対
それやらないな。クラスフィールド以外で変数の前に何かくっついてるのが
どうも性に合わない。

逆に自己クラス内でインスタンスメソッドを使う場合、メソッドの前に
何もくっついてないのが返って気持ち悪いから、必要が無くても前に
thisをつけるようにしてるな。
358デフォルトの名無しさん:2006/07/08(土) 05:26:08
>>336
もっと良い方法ありますかね?
359デフォルトの名無しさん:2006/07/08(土) 06:14:47
>>358
だから、なんでわざわざ自分で作ってるのかって言ってるのだが。
意味わかる?
360デフォルトの名無しさん:2006/07/08(土) 06:55:27
>>359
他にスマートな実装方法があるならそれを教えてください。
361デフォルトの名無しさん:2006/07/08(土) 07:23:36
>>360
もう書いてあるが。
362デフォルトの名無しさん:2006/07/08(土) 11:41:27
System.getProperty("line.separator")に変わる定数って無いのでしょうか?
File.separatorのような感じで使いたいのですが。
363デフォルトの名無しさん:2006/07/08(土) 13:10:28
『診断くん』の様に一回外に出る事なく、ルーターにぶら下がっている自機のグローバルIPをjavaで取得する方法はありますでしょうか。
364デフォルトの名無しさん:2006/07/08(土) 13:33:14
HTTP で 2ch に fusianasan で書き込みし、
後で名前欄を参照。

365355:2006/07/08(土) 13:35:33
>>357
class Foo {
    final int bar;
    Foo (int bar) {
        this.bar = bar;
    }
}

こうしたら、何となく気持ちが分かってもらえると思う。
366デフォルトの名無しさん:2006/07/08(土) 13:38:11
なんかgetter,setterって何?って感じだな
367デフォルトの名無しさん:2006/07/08(土) 13:42:37
>>366
手間を惜しむなよ。

public class Foo {
  privale int bar;

  public void setBar(int bar) {
    this.bar = bar;
  }
  public int getBar() {
    return this. bar;
  }
}
368デフォルトの名無しさん:2006/07/08(土) 13:51:06
property_public int bar;

って書くと、setBar, getBar を生成してくれるマクロなら書いたことがある。
あまり使わないけど。
369デフォルトの名無しさん:2006/07/08(土) 14:01:31
まあ、今は Eclipse が生成してくれるし。
370357:2006/07/08(土) 14:29:43
>>365
何のつもりなのか知らんが、全然わからん。名前を衝突させといて
平気でいられる神経がわからん。this.barとかってのも気持ち悪い。

そんなことをするぐらいなら、仮引数をinputtedBarにする。
単純な代入しかしないなら紛れるようなこともそうそう起こらないから、
長くても所在のわかる名前を付ける。安易な変数名の衝突はバグの元。
371デフォルトの名無しさん:2006/07/08(土) 14:31:34
inputted(笑)
372デフォルトの名無しさん:2006/07/08(土) 14:32:41
俺はNetBeans使いだけどね
373デフォルトの名無しさん:2006/07/08(土) 14:33:29
>>360
Integer.toHexString
374デフォルトの名無しさん:2006/07/08(土) 14:44:47
371(笑)
375355:2006/07/08(土) 14:54:40
inputted って何だよw
俺がするなら _bar にするけどな。


というか、関連性のある(というか意味的に同じものである)2つの変数に、
なぜあえて異なる名前をつけようとするのか。

むやみに名前を増やすと、バグの温床になるよ。
376デフォルトの名無しさん:2006/07/08(土) 14:58:31
その通り。むやみに同じ名前を使う方が100万倍マシ。
377デフォルトの名無しさん:2006/07/08(土) 15:02:53
Delphiのレコード型の様なユーザーが定義する変数を作って、その変数を色々なクラスから読み書きしたいのですがどのようにしたらよいのでしょうか

よろしくお願いします
378デフォルトの名無しさん:2006/07/08(土) 15:06:19
Delphiのレコード型ってどんなのだよわかんねーよ。
379デフォルトの名無しさん:2006/07/08(土) 15:08:57
家の本にはCの構造体やVBのユーザー定義型変数と同じとは書いてあるのですが…
380367:2006/07/08(土) 15:10:21
インスタンスフィールドの参照に this をつけるのは、
パラメータを含むメソッドローカルの変数と区別するため。
(名前がバッティングしてるかどうかは関係ない。)

で、どうせ this を必ずつけることにするなら、 setter のパラメータなんかは、
同じ名前にしたほうが、わかりやすい。
381デフォルトの名無しさん:2006/07/08(土) 15:12:45
>>379
Cの構造体なら、メソッドなしのclassでいんでね。
VBのユーザー定義変数はますますわからん。
382デフォルトの名無しさん:2006/07/08(土) 15:16:52
>>379
>Cの構造体
public なフィールドだけを持つクラスを作れば、
ほぼ、それに該当するものになるよ。

struct A {
 int a;
}

とほぼ等価な Java のコードは、

public class A {
 public int a;
}

となる。
まあ、個人的な勉強や実験のためならどう書いてもかまわないが、
業務用のコードなどで他人にみせる機会があるのであれば、
>>367
のような書き方にしろと文句を言う奴が出てくるかもしれない。
383デフォルトの名無しさん:2006/07/08(土) 15:17:46
メソッド無しの class で良いと思うけど、クラスは参照で渡されるから注意ね。
Delphi のレコード型は、代入で値がコピーされてたと思ったけど。
384377:2006/07/08(土) 15:21:17
ありがとうございます

それを宣言した以外のclassから読み書きするにはどうすればよいのでしょうか
385デフォルトの名無しさん:2006/07/08(土) 15:26:02
構造体を無理に作らなくても
ふつうにBeans作っとけばJITコンパイラあたりが
フィールドに直接アクセスできそうなときにそうしてくれるんでない?
386デフォルトの名無しさん:2006/07/08(土) 15:48:52
>>384
>>382
の宣言を前提にすると、

 struct A v;
 v.a = 10;

に該当する Java の記述は、


 A v = new A();
 v.a = 10;

ただ、自分は、「 v.a = 10;」みたいなコードは Javaではここ数年書いたことが無い。

ちなみに、Java で 「A v;」とだけ宣言すると、 C言語においては、
「struct A *v;」といった記述に対応する意味しかない、
「A v = new A();」の意味は、
むしろ、「struct A *v = (struct A)malloc( sizeof(struct A) );」 に近い。

387デフォルトの名無しさん:2006/07/08(土) 15:50:14
>>386
×むしろ、「struct A *v = (struct A)malloc( sizeof(struct A) );」 に近い。
○むしろ、「struct A *v = (struct A *)malloc( sizeof(struct A) );」 に近い。
388デフォルトの名無しさん:2006/07/08(土) 16:01:44
ObjectInputStreamで受信したクラスのデータ量を調べる方法ってありませんか?
389デフォルトの名無しさん:2006/07/08(土) 16:42:23
>>388
一旦ByteArrayOutputStreamに書き込んで調べたら?
390デフォルトの名無しさん:2006/07/08(土) 17:34:51
JAVAお勧めのエディター教えて下さい
フリー・シェアお勧めの1本を定番・こだわりの1本をお願いします^^
尚ベクターで「HC_Editor」がヒットしましたがこれって有名なんでしょうか
391デフォルトの名無しさん:2006/07/08(土) 17:37:00
CPAD
392デフォルトの名無しさん:2006/07/08(土) 17:37:55
vi
393デフォルトの名無しさん:2006/07/08(土) 17:40:18
MSWORD
394デフォルトの名無しさん:2006/07/08(土) 17:41:53
edlin
395デフォルトの名無しさん:2006/07/08(土) 17:43:36
ご親切にありがとうございます
友達に聞いたらMSWORDが有名と聞きました
今から買ってきます
皆さんありがとう^^
396デフォルトの名無しさん:2006/07/08(土) 17:47:22
そこに落ち着くかよ!っといちおうつっこむ
397デフォルトの名無しさん:2006/07/08(土) 17:51:28
友達に良く聞いたらオフィスWORDじゃなくてWORDパットで十分だそうです
393の適切なご意見を勘違いするところでした
初心者なんで今後ともよろしくです^^
398デフォルトの名無しさん:2006/07/08(土) 17:53:28
まあ、友達は選んだ方がいいよと助言しとく
399デフォルトの名無しさん:2006/07/08(土) 17:54:54
さっぶい自演だこと
400デフォルトの名無しさん:2006/07/08(土) 17:55:56
RoboCodeというゲームのプログラミングなのですが、
以下のようなコードで特定の位置へ移動している途中に敵とぶつかったために
引っかかってしまって動けないことをonHitRobotで回避しようと思ったのですが
どうもonHitRobotイベントが発動しないようで
このようにwhileが動いている最中は他のイベントは発動しないのでしょうか?

■移動コード
double sx,sy,theta,degree,d;
// ターゲットの位置(T)の設定
double tx = 760;
double ty = 50;
// 現在のロボットの位置(S)の設定
sx = getX();
sy = getY();

while(sx != tx && sy != ty){

// ロボットをTの方向へ向ける
theta = calcDegree(sx, sy, tx, ty);
ShortTurn shortTurn = new ShortTurn(theta - getHeading());
degree = shortTurn.getDegree();
this.turnRight(degree);
// ロボットをTへ移動する
d = calcDistance(sx, sy, tx, ty);
this.ahead(d * shortTurn.getDirection());
// 現在のロボットの位置(S)の再設定
sx = getX();
sy = getY();}
■onHitRobotイベント
public void onHitRobot() {
ahead(-100);
}
401デフォルトの名無しさん:2006/07/08(土) 17:58:35
RoboCode厨キタ━━━━━━(゚∀゚)━━━━━━ !!
402デフォルトの名無しさん:2006/07/08(土) 18:06:36
結局比べてCPAD にしますた^^
403デフォルトの名無しさん:2006/07/08(土) 19:05:45
>>373
Integer.toHexStringを使うと、0x10未満の物の頭に0付けるのめんどくさくない?
('\t'が9じゃなく09になるように)
404デフォルトの名無しさん:2006/07/08(土) 19:11:14
>>400
>このようにwhileが動いている最中は他のイベントは発動しないのでしょうか?

発動するよ〜
ひょっとしてケツから当たってない?
405デフォルトの名無しさん:2006/07/08(土) 19:15:08
>>404
よく観察したらその通りです。
移動するときは車体が目標に向いてないとおかしいはずなのに
後ろ向きに動いてるときもあります。
謎だ…
406デフォルトの名無しさん:2006/07/08(土) 19:17:25
Java5 にすれば prinf が使えるから、 %02X とかすればいいんでね?

public class Sample {
  public static void main(String[] args) {
    for ( int i = 0; i < 0x100; ++i ) {
      System.out.printf( "%02X ", i );
      if ( ((i+1)%0x10) == 0 ) {
        System.out.println("");
      }
    }
  }

}

--------実行結果 ----
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
407デフォルトの名無しさん:2006/07/08(土) 19:21:35
>>403
何のためのFormatterだよ
408デフォルトの名無しさん:2006/07/08(土) 19:22:06
>>405
Robocodeは前進も後進も等価だから、敵の位置によってはケツ向けて走る方が回転が速い
ShortTurnは、それを踏まえて最小回転角度を返す関数だ

これ以上はスレ違いだから、あとは考えてくれ
409デフォルトの名無しさん:2006/07/08(土) 19:24:47
>402
つEclipse
410デフォルトの名無しさん:2006/07/08(土) 20:46:26
Tomcatで動かしているservletのdebugをしようと思ってremoteからJPDAで繋いだんだけれど
NetBeansでもJDeveloperでも何にも表示されない。
繋いだら実行中のスレッド一覧とかがでるのかと思ってたんだけど…
Thread, classやmethodにbreakpointかけても止まらないんだけど、なんででしょう?
411デフォルトの名無しさん:2006/07/08(土) 21:46:51
>>409
む・・・・難しい
すごいのは分かるのですが
英語だらけで使いこなせないですー
ありがとございますー
412デフォルトの名無しさん:2006/07/08(土) 22:04:03
個人認証サイトを手作り中なんだけど、StrutsとTapestryどっちがお勧め?
413デフォルトの名無しさん:2006/07/08(土) 22:04:51
>>411
つAll-In-One Eclipse
414デフォルトの名無しさん:2006/07/08(土) 22:29:48
>>412
単純に認証するだけなら、 Apache の設定で十分だと思うんだけど・・・・。
415デフォルトの名無しさん:2006/07/08(土) 23:01:15
System.exit(0)で
ブラウザを閉じるようにしたのですが
セキュティーエラーになってしまいます。
416デフォルトの名無しさん:2006/07/08(土) 23:05:21
>>413
これはこれは どうもご親切に^^落としてみます
417デフォルトの名無しさん:2006/07/08(土) 23:31:29
JavaアプリケーションやWEBアプリケーションを、各国語に対応したいのですが、
何が注意すべき点はありますか?英語、中国語とかハングルのOSでも稼動できるようにしたいです。
少なくとも、ファイルI/Oなどでの文字コードはShift_JISでなくてUTF-8にすべきでしょうか?
またソースファイルの保存形式もUTF-8にしなければならないのでしょうか?
そのほか何かありますか?
418デフォルトの名無しさん:2006/07/08(土) 23:59:00
そういうのはResourceBandleクラスがやってくれます。
国際化などのキーワードと一緒にぐぐってみてください。
native2asciiなども良いキーワードになるかと思います。
419デフォルトの名無しさん:2006/07/09(日) 00:10:38
http://pc8.2ch.net/test/read.cgi/tech/1152279462/
こちらでJava初心者が質問してるぞ。
わたしMD5とか暗号化とかは、したことない。^^;
420デフォルトの名無しさん:2006/07/09(日) 00:43:14
JAVAはDIRECTX使える?
421デフォルトの名無しさん:2006/07/09(日) 00:45:50
どっかに
WEB上でBASICみたいなスクリプト動かせる
アプレットないですか
LINEとかCIRCLEで線とか簡単に引きたいのですが。
422デフォルトの名無しさん:2006/07/09(日) 03:22:24
>420
JNI経由ならDirectXだろうがなんだろうが動かせる

まあJNI使うくらいならCでネイティブプログラミングやれよって感じだが
423デフォルトの名無しさん:2006/07/09(日) 03:33:17
Java3DってDirectXをラップしてなかったっけ。だから間接的にでいいなら使えるはず。
424デフォルトの名無しさん:2006/07/09(日) 10:52:26
>>418
ResourceBandleというのは、あくまでもPGMで扱いたい文字などを
外部ファイルに定義しておいてそのロケールにあった、文字を採用してくれる
機能ですね。画面の表示文字を切り替えるなど。
プログラムで行う、ファイルI/Oのときの文字コードの指定はUTF-8でOKですか?
中国ロケールの時は中国語をファイルに出力でき、日本ロケールのときは@や
なども表示できるのでしょうか。XMLやJSPもShift_JISでなく、UTF-8?
また、ソースファイルの保存時の文字コードも気をつける必要はあるのでしょうか?
425デフォルトの名無しさん:2006/07/09(日) 11:23:58
>>424
3つも?があるが、自分で何か検証したのか?
まさか、中国語OSマシン入れてませんとかいわないよな。
426デフォルトの名無しさん:2006/07/09(日) 12:07:16
>>420
Java2Dは実装としてDirectX使ってるかけどな
JNIだとわりとオーバーヘッドが大きいからまとめてコマンドだすようにすればおけ
427デフォルトの名無しさん:2006/07/09(日) 13:25:57
>>425
いや、検証以前に、一般論として決まり事があるものと考えていたので。
428デフォルトの名無しさん:2006/07/09(日) 14:04:30
自分で試せる事はまず自分で試してみても良いんじゃないか?
429デフォルトの名無しさん:2006/07/09(日) 14:52:28
宿題答えますのほうでも聞いたんだすけど
JAVAの未来というか今度みたいのを教えてください。
宿題のほうでググれって言われたのでググりましたが、どうも古かったりしてよくわからないので
お願いします。
430デフォルトの名無しさん:2006/07/09(日) 14:53:56
>>424
ResourceBandleが使うのはJavaの内部文字コードだ。
.propertiesファイルnative2asciiは調べたか?

あとファイルに出力時の文字コードなんてデフォルトがOS依存だろ。
それを統一したいってのなら、それはお前が決めることだ。
UTF-8でいいですか?じゃねーよ。馬鹿か。
431デフォルトの名無しさん:2006/07/09(日) 15:00:21
マスタングでぐぐれ
432デフォルトの名無しさん:2006/07/09(日) 15:02:20
>>429
Javaは来年無くなります。で、いいか?、他の未来が良いか?
夏厨イパーイ。
433デフォルトの名無しさん:2006/07/09(日) 15:51:20
>>429
Dolphinって知ってる?
434デフォルトの名無しさん:2006/07/09(日) 16:24:37
>>429
それ以前に、ネットでの調べ方から見直せ。
学校の課題をやるのに、真っ先にGoogleでの人海戦術を
考えること自体が愚かだ。
435デフォルトの名無しさん:2006/07/09(日) 16:57:46
Servletでエクセルで書いた表を表示できますか?
436デフォルトの名無しさん:2006/07/09(日) 17:01:01
いつまでも、 ResourceBandleとか言ってんじゃねえ。気持悪いだろ。
ResourceBundleだ。
437デフォルトの名無しさん:2006/07/09(日) 17:25:48
>>435
POI使えば可能だがお勧めはしないな
複雑な計算が入ってた場合処理できるかわからんし
438デフォルトの名無しさん:2006/07/09(日) 18:45:21
POI-HSSFよりJExcelAPIの方がシンプルでお勧め。
細部の実装は甘いがなーー

もう少しするとExcelファイルがXMLに変わって
更に出来の良いAPIが出回る筈。
439デフォルトの名無しさん:2006/07/09(日) 18:53:21
290 名前:名無しさん@お腹いっぱい。 :2006/02/27(月) 11:41:23

竹石圭佑って他人に色々迷惑かけてんだな。確かコイツの親は中国人だったろ。中学ん時に噂あった。
やっぱ在日って最低だ。近いうちテレビ報道されるような犯罪起こすんじゃないか?性犯罪とか
440デフォルトの名無しさん:2006/07/09(日) 20:11:59
ラップしたメソッドって大学の講義のテキストに出てきましたが
ラップとは何でしょうか?
441デフォルトの名無しさん:2006/07/09(日) 20:24:42
442デフォルトの名無しさん:2006/07/09(日) 20:36:07
>>440
問題:プリミティブ型をオブジェクトと見なし利用するために用いられるものは?
443デフォルトの名無しさん:2006/07/09(日) 20:50:07
「ぐぐると、ラップクラスとラッパークラスはほぼ同数……」
「つか、ラッパークラスの方は単に『ラッパー』って言うことの方が多いぞ」
「ならラッパーでぐぐれば」
「はいオチの見えることをしない」

こんなのあった。
444デフォルトの名無しさん:2006/07/09(日) 20:57:20
445デフォルトの名無しさん:2006/07/09(日) 21:02:58
サランラップだよ。ぺろんと上に巻くあれ。
環境対策版のラップはきりにくくてほんと困る。
446デフォルトの名無しさん:2006/07/09(日) 21:49:07
ラッパーとは

:アーティスト :ミュージシャン

ラップをする人。
447デフォルトの名無しさん:2006/07/09(日) 21:51:21
ラッパー
int a = 100;
Integer b = new Integer(a);
int c = b.intValue();
448デフォルトの名無しさん:2006/07/09(日) 21:58:43
445はボケきれてないな。
449デフォルトの名無しさん:2006/07/09(日) 22:01:28
jarの作り方教えれ
450デフォルトの名無しさん:2006/07/09(日) 22:02:38
>>449
普通の圧縮ソフトで zip 圧縮 ⇒ 拡張子を jar にする。
451デフォルトの名無しさん:2006/07/09(日) 22:02:51
>>448
おまえがそういうレスするから滑ったみたいな印象になる
ホントはみんな爆笑してるっての
452デフォルトの名無しさん:2006/07/09(日) 22:06:39
>>451
うそ???

>>450
いい加減なこと教えるなや。
それだけじゃダメだろ。
Manifestファイルについても教えてあげないと不足。
453デフォルトの名無しさん:2006/07/09(日) 22:12:12
jar -cvf *.java > abc.jar
454デフォルトの名無しさん:2006/07/09(日) 22:13:50
BufferedReaderでファイルを読み込んだ時に
readLine()した後に
改行文字を入れたいのですが、
OSに左右されないようにするにはどのようにしたらいいですか?
455デフォルトの名無しさん:2006/07/09(日) 22:13:51
それじゃ〜、じゃぁ〜さぁ、jarにしてくれるアーカイバを探せば良くね?
456デフォルトの名無しさん:2006/07/09(日) 22:16:15
ネットビーンズで作れないのかね?
jar。
457デフォルトの名無しさん:2006/07/09(日) 22:17:58
変なのがいるぞーwww
http://pc8.2ch.net/test/read.cgi/hack/1148626368/
458デフォルトの名無しさん:2006/07/09(日) 22:24:46
>>456
むしろなにもせずにmainとクラスパス設定がされるjarができあがる親切さはすばらしい
459デフォルトの名無しさん:2006/07/09(日) 22:26:56
何がむしろなんだ?NetBeansは当たり前に素晴らしいじゃないか。
たまにエディタがバグるのが玉に瑕だけどね。
460デフォルトの名無しさん:2006/07/09(日) 22:33:45
net beansで作るにはどう設定すればいいの?
461デフォルトの名無しさん:2006/07/09(日) 22:35:00
何も考えずにF9あたりでコンパイルしてdistにもぐる
462デフォルトの名無しさん:2006/07/09(日) 22:36:49
463デフォルトの名無しさん:2006/07/09(日) 22:37:39
464デフォルトの名無しさん:2006/07/09(日) 22:38:50
>>451
>>448は普通に滑ってるわけだが。
こんなので爆笑できるとは、実に幸せなやつだな。
465デフォルトの名無しさん:2006/07/09(日) 22:40:25
466デフォルトの名無しさん:2006/07/09(日) 22:57:25
467デフォルトの名無しさん:2006/07/09(日) 23:33:24
質問させてください。
今テキストを読み込めるツールを作りたくて色々勉強しているんですが
下記のサンプル2を試しに実行してみた所
ウィンドウのサイズを大きくするとスクロールがスムーズにいかなくなります。
一体何処が原因なんでしょうか?何処を改善すればスムーズにいくようになるんでしょうか?

http://samurai.pose.jp/java/swing_sample/
468デフォルトの名無しさん:2006/07/09(日) 23:52:13
>>467
そこ参考にするのやめろ。そのアプリケーションは欠陥品。
試しに、Jarファイルを起動した後、窓を閉じてからそのファイルを消そうとしてみろ。
469デフォルトの名無しさん:2006/07/10(月) 02:23:09
サンプルによってsetDefaultCloseOperationがあったりなかったりしてるな。
470デフォルトの名無しさん:2006/07/10(月) 11:28:44
>>461
distにもぐるとは?
471デフォルトの名無しさん:2006/07/10(月) 21:52:48
ある画像の一部を切り取って新たな画像として保存するというのはjavaでできるでしょうか?
知っている方、だれか教えてくださいませんか。
472デフォルトの名無しさん:2006/07/10(月) 22:14:35
どうも、拡張子が二文字のファイルでFile#renameTo()がうまく動かなくて困っています。

new File("test/test.n3").renameTo(new File("test/test.bak"));
とやると、変更に失敗してfalseが返ってきてしまうのです。
ちなみに、元のファイルが拡張子3文字なら成功します。

何かご存知の方はいませんか。
473デフォルトの名無しさん:2006/07/10(月) 22:52:51
>>471
できる
474デフォルトの名無しさん:2006/07/10(月) 23:37:38
>>472
そもそも ファイルtest.n3が出来て無いんじゃないか
475デフォルトの名無しさん:2006/07/11(火) 00:35:18
>>474
存在します。
476デフォルトの名無しさん:2006/07/11(火) 00:41:46
普通に出来るけど
477デフォルトの名無しさん:2006/07/11(火) 00:42:10
>>472
public static void main(String[] args) throws Exception {
File n3 = new File("test.n3");
File bak = new File("test.bak");
if (!n3.exists()) {
System.out.println("create:"+n3.createNewFile());
Thread.sleep(1000);
}
if (bak.exists()) {
System.out.println("delete:"+bak.delete());
Thread.sleep(1000);
}
System.out.println("rename:"+n3.renameTo(new File("test.bak")));
}
478デフォルトの名無しさん:2006/07/11(火) 00:42:56
おおう、お馬鹿なことしてるな
System.out.println("rename:"+n3.renameTo(bak));
479デフォルトの名無しさん:2006/07/11(火) 01:12:26
>>472
APIぐらい読めよ。色々書いてるぞ。
480デフォルトの名無しさん:2006/07/11(火) 01:26:29
 サーブレットプログラムがパソコンで動かせて、携帯電話で動かせない場合、
処理の重さを考えなければ、何が原因になるでしょうか?
 どなたがご教授ください。
481デフォルトの名無しさん:2006/07/11(火) 01:31:43
>>480
???
482デフォルトの名無しさん:2006/07/11(火) 01:32:31
>>480
そもそも、携帯電話のVM上で動作するServletコンテナがあるのか?
そもそも、携帯電話をサーバにする必要があるのか?
483デフォルトの名無しさん:2006/07/11(火) 01:42:08
全世界からアクセスされる携帯電話オソロシス
484デフォルトの名無しさん:2006/07/11(火) 01:59:16
MEで動かそうとしてるのか
携帯からアクセスしようとしているのか
この冒険はわくわくするな
485デフォルトの名無しさん:2006/07/11(火) 02:18:10
プログラムの構成について質問です!
最初に思いついた構成を1とし、下に例を書きます。
後から思いついた構成を2とし、1の下に例を書きます。
ググッてみると2の構成例が見つからなく、
「こういうやり方って変?それともどっか問題がある?」
と思った次第です。プログラムの作成経験がほとんどないのでご指導ください!

お題
「数分おきに流れるバッチ処理を、ブラウザから制御できるプログラムを作成」

構成1
ブラウザから設定変更要求→DBの値を変更(JSP,Servlet等を使う)
バッチ処理起動→DBの値を取得→バッチ処理(↑とは独立したプログラム)

という風に、設定変更用プログラム(servlet)とバッチ処理プログラム
を別々のアプリケーションとして作成し、DBを介して実現してます。

構成2
Servletのinit()メソッドでバッチ処理を行うクラスのインスタンスを作成(設定はDBから読み込む)します。
ブラウザから設定変更要求→Servlet内でグローバル変数の値を変更(同時にDBもUPDATE)
バッチ処理起動→変数の値を参照→バッチ処理
構成2では、設定変更用プログラムとバッチプログラムは一つのアプリケーションで構成されてます。

構成2の方が、なんとなく良さ気に思えるのですがどうなんでしょうか?
ご教授願います!
486デフォルトの名無しさん:2006/07/11(火) 02:57:01
たいてい「数分おきに流れるバッチ処理を、ブラウザから制御できるプログラムを作成」という
お題だと、すでにバッチ処理をする部分は存在しているという前提のことが多いから
構成1になることが多いんじゃないかな。同時に作るなら構成2でもいいと思う。
ただ構成2ではServletが落ちるとバッチ処理も止まってしまうという問題はあるか。
487デフォルトの名無しさん:2006/07/11(火) 04:45:18
フィールドにprivateを使用した場合の質問です
private String test;と記述して実行して問題が無かったのですが
様々なサンプルを見てみるとprivate String test="";となっていることがほとんどでした
自分が=""を抜かして書いた事で予想されるデメリットとは何でしょうか?
488デフォルトの名無しさん:2006/07/11(火) 04:46:40
nullかどうか確認しなきゃならん
489472:2006/07/11(火) 06:09:17
別口で使っていたライブラリが、開いたストリームをcloseしないのが原因でした。
お騒がせしました。
490デフォルトの名無しさん:2006/07/11(火) 09:11:37
バッチ処理
古くさい
491デフォルトの名無しさん:2006/07/11(火) 09:49:09
>>480
 すいません、意味のわからない質問をしてました。
 サーバに、パソコンからならアクセスできるのに、携帯電話からではアクセスできないとき、
原因はいったい何が考えられるでしょうか。
492デフォルトの名無しさん:2006/07/11(火) 10:19:38
・ 携帯のブラウザが、そのhtmlを解釈できない
・ サーブレット側でuser-agentを見てはじいてる
・ 金を払っていない
493デフォルトの名無しさん:2006/07/11(火) 11:04:13
・携帯電話会社のゲートウェイとかプロクシがそのサイトへの接続を認めていない
494デフォルトの名無しさん:2006/07/11(火) 11:25:28
今あるプログラムを知識がない人に実行ファイルとして渡すにはどうすればよいのでしょうか?
GUIアプリじゃないので、exeを起動すればdos画面みたいなのが開いて実行されるような感じで
495デフォルトの名無しさん:2006/07/11(火) 11:48:09
授業でJavaを習い始めたのですが、序盤の変数などは理解できたのですが
覚え始めで、色々な物を覚えないといけなかったのでフィールドとコンストラクタを理解せずに進めてしまい
大事な部分を理解せずに進めた為に、フィールドとコンストラクタが必要な宿題が解けません
この二つがどのような動きをするのか、分かりやすく説明してもらえないでしょうか?
496デフォルトの名無しさん:2006/07/11(火) 11:58:02
本嫁
497デフォルトの名無しさん:2006/07/11(火) 11:58:43
>>495
いつも思うんだけど、なんでこういう時ってさ、その先生に聞こうとは思わないんだろ?
金払って行ってるんだから、授業後に先生に質問し倒すぐらいでないと元取れないと思うんだが
自分が学生の頃は、お前からの質問はもう受付んとウザがられる程質問厨だったが
それでも先生ってリアクションがあると嬉しいもんだよ?もちろん訊ねる態度によるけどね
498デフォルトの名無しさん:2006/07/11(火) 12:10:37
質問なのですが
ttp://www.h6.dion.ne.jp/~pyrotech/001.htm#で
サブウィンドウを開くとき同じサブウィンドウに表示せず
違うサブウィンドウに表示させる方法ってありますか?
あとサブウィンドウに印刷ボタンをつけたいのですが
どのようにすればいいでしょうか?
どなたかよろしくお願いします
499デフォルトの名無しさん:2006/07/11(火) 12:22:51
>>498
板違い。帰れ。
500デフォルトの名無しさん:2006/07/11(火) 12:24:00
>>495
その課題、5,000円でやってやるよw
501デフォルトの名無しさん:2006/07/11(火) 12:25:32
502デフォルトの名無しさん:2006/07/11(火) 12:46:54
>>486
ありがとうございます。
他にも色々機能を追加するかもしれないので、
「Servletが落ちるとバッチ処理も止まってしまう」
というのが後々問題になるかもしれません。
構成1の方が無難そうです。ありがとうございました!
503デフォルトの名無しさん:2006/07/11(火) 12:55:33
>>502
どっちも仕事でやった
金が有るならプロセス管理ツールを使って構成1
そうでなくてもatコマンドで起動するようなプロセス監視ジョブを作ると良い
小規模でクリティカルでない物なら構成2でも実現は可能(こういう言い回しで解るかな?)

構成1の最大のメリットはバッチプロセスの異常ががサーブレットに影響を与えない事だ
構成2だと>>486の言うとおりバッチこけるとサービスダウン

ちなみに各社アプリケーションサーバのアプリケーション構築ガイド読むと構成2にはするなと書いてある
構成2の仕組みを使ったのは他チームの開発案件で見事トラぶり、運用後の改修で構成1に変わった
504デフォルトの名無しさん:2006/07/11(火) 13:05:01
Firstクラスで String a = "3"; String = b ="5";を設定して
それを引数としてSecondクラスでpublic String tset(a,b) {}でaとbを取得しようと思ってるのですが
うまくいきません、助けてください・・・
505デフォルトの名無しさん:2006/07/11(火) 13:11:53
>>504
なんかエスパーきぼんな内容だな
ちょっとソースをUpするか何がうまく行ってないか教えてくれ

まさか、Secondクラスにまんまpublic String tset(a,b) {}って書いてあってコンパイル通りませんじゃなかろうな
506デフォルトの名無しさん:2006/07/11(火) 13:22:38
>>504
つ(精神科医)
507デフォルトの名無しさん:2006/07/11(火) 13:25:28
xx = "ソフト".replace("ソフト", "ソフト");
文字列置換なのですが、上記"ソ"のような駄目文字を含むときはどのように行うのですか?
508デフォルトの名無しさん:2006/07/11(火) 13:30:48
駄目文字って何?
509デフォルトの名無しさん:2006/07/11(火) 13:32:44
>>507
つ(精神科医)
510デフォルトの名無しさん:2006/07/11(火) 13:38:24
>>508
すいません、表現が悪かったです。0x5C を含む全角文字を置換するにはです。
511デフォルトの名無しさん:2006/07/11(火) 13:45:20
最近はエスパーが必要になるケースが増えてきたな。
512デフォルトの名無しさん:2006/07/11(火) 13:56:18
テレポーテーショ〜ン 心の翼が〜
テレポーテーショ〜ん 今時を飛ぶ〜
私〜だけが〜私の恋を〜 あぁ〜未確認〜♪
513デフォルトの名無しさん:2006/07/11(火) 13:59:16
コードが間違ってた・・・みんな忘れてくれorz
514デフォルトの名無しさん:2006/07/11(火) 14:13:24
>>1-513
つ(精神科医)
515デフォルトの名無しさん:2006/07/11(火) 14:52:44
>>512
魔美乙
516デフォルトの名無しさん:2006/07/11(火) 16:00:18
javaのコードの実行過程に対して理解があっているか教えてください

a.javaというソースがあったとして
javac a.java
とするとa.classという「バイトコード」にコンパイルされる
java a
とするとaがメモリに読み込まれて実行される
昔のjavaではバイトコードのまま、それをインタプリタが解釈することで
コードを実行していたが、最近のHotSpotと呼ばれる方式?では
メモリに読み込まれたバイトコードのうち、必要になった部分から
順次JITコンパイラによって「ネイティブコード」に変換されてOSにより実行される。
また、このとき変換されたネイティブコードはキャッシュされて次回からは
それが利用される。
しかし、たとえ全てのバイトコードがネイティブコードに変換されて
実行速度が向上しても、OSを再起動してしまえばそれらのキャッシュは
消去され、無効になる。

これでOKでしょうか?
517デフォルトの名無しさん:2006/07/11(火) 16:24:46
>>516
つ(精神科医)
518デフォルトの名無しさん:2006/07/11(火) 16:29:46
>>516
実行過程というか実行操作はJavaの規定外だから処理系に依存します
バイトコードをどうやって実行するかも同様

つまり処理系を指定して質問しないと答えようがない
519516:2006/07/11(火) 17:26:49
>>517
精神科いってもjavaの処方箋出ないからどこがまずいか教えてけれ

>>518
win32とSunのjavacでは>>516で合ってる?
520デフォルトの名無しさん:2006/07/11(火) 17:29:55
>>495
マジレスするとSJC-Pの勉強するのが一番の近道
521デフォルトの名無しさん:2006/07/11(火) 21:17:26
100万件くらいの件数で改行をスペースに変換処理するのですが
String str = null;
String line = System.getProperty("line.separator");
for (i = 0 ; i < 1000000; i++) {
str = 変換する値;
str = str.replaceAll(line, " ")
}

String str = null;
String line = System.getProperty("line.separator");
for (i = 0 ; i < 1000000; i++) {
str = 変換する値;
if (str.indexOf(line) != -1) {
str = str.replaceAll(line, " ");
}
}
はどちらが早いですか?
ちなみに改行はない可能性のほうがはるかに高い。
文字列のlengthはばらばらです。
10かもしれないし1000かもしれない。
平均100くらいかと。
522デフォルトの名無しさん:2006/07/11(火) 21:31:44
何で自分で計測しようと思わないの?
523デフォルトの名無しさん:2006/07/11(火) 21:31:54
>>521 測れば? なぜ他人に訊くの?
524デフォルトの名無しさん:2006/07/11(火) 21:38:04
10秒差か
525デフォルトの名無しさん:2006/07/11(火) 22:13:11
>>504
引数にaとbを渡してる時点で返さなくてもaとbを知ってるんじゃないの?
それともaとbを設定したいの?
そもそも返り値StringでどうやってStringを2つ返すの?ListやMapじゃダメなのか?
526デフォルトの名無しさん:2006/07/11(火) 22:13:55
JavaはVBと同レベルだから仕方ない
527デフォルトの名無しさん:2006/07/11(火) 22:27:09
>>521
そりゃオーダーの考え方からすりゃ同値だからどうでもいい話。
…と言いたいところだが、replaceメソッドは新たなStringオブジェクトを
生成する分だけ高コストだから、それを避けてるという意味では後者の方が
普通に速いだろうな。
528デフォルトの名無しさん:2006/07/11(火) 22:28:34
>>526
それ、無知を自白してるようなものだからやめとけよ。
529デフォルトの名無しさん:2006/07/11(火) 22:30:52
俺は忙しくて試す時間がねぇんだよwww
2chに何度も書き込んでるお前ら暇なんだろ?wwww
代わりに試せよwwwwww


こうですか?わかりません!
530デフォルトの名無しさん:2006/07/11(火) 22:54:06
531デフォルトの名無しさん:2006/07/11(火) 23:02:07
>>521
そのへんのコストを考えるんだったらreplaceAllをやめた方がいい。
このメソッドはかなり遅いぞ。
532デフォルトの名無しさん:2006/07/11(火) 23:13:23
>>529
もうちょっとリアルっぽい理由で攻めてもいいと思うよ。
A「どうやって計測するんですか?」
B「つSystem.nanoTime()」
A「そんなメソッドないと言われます><」
B「つcurrentTimeMillis()」
C「1.5使えよ。」
A「currentTimeMillis()って現在の時間を出すだけじゃないですか」
B「いや、だからぁ…」
D「夏廚発生。」
…とかとか。
533デフォルトの名無しさん:2006/07/11(火) 23:15:40
>>531
確かに遅そうだな。
ソースみたら、そのメソッド呼ぶたびに、Pattern生成してMatcher生成して
String生成して…って。
自分で先頭から逐一各文字を比較して条件にはまったら置きかえ処理する方が
圧倒的に速くなる希ガス。
534デフォルトの名無しさん:2006/07/11(火) 23:19:14
>>1-533
つ(精神科医)
535デフォルトの名無しさん:2006/07/11(火) 23:29:31
>>1-534
~~■P_(´ー ` )コーヒーどぞ
536デフォルトの名無しさん:2006/07/12(水) 15:44:05
yahooメールに自動ログインするプログラムをjavaで作りたよ
537デフォルトの名無しさん:2006/07/12(水) 16:06:41
>>536
つ(医)
538デフォルトの名無しさん:2006/07/12(水) 16:09:07
>>536
日本語でどうぞ
539デフォルトの名無しさん:2006/07/12(水) 16:20:05
うむ、ホントに○国人っぽくて良いかもw
540デフォルトの名無しさん:2006/07/12(水) 16:34:15
○ = {"三"," 韓"," 中"};
541デフォルトの名無しさん:2006/07/12(水) 21:14:51
DLLのような機構をマルチプラットフォームで実装するにはどうしたらいいですか?
542デフォルトの名無しさん:2006/07/12(水) 21:17:58
>>541
「DLLのような機構」だけでは具体的に何をしたいのかイマイチ分からんが、
動的にクラスファイル読み込みたいだけなら
JARClassLoader 使って jar ファイル読み込んでも良いし、
手の込んだ事をやりたいなら自作の ClassLoader 作るとかすれば良い。
543デフォルトの名無しさん:2006/07/12(水) 22:10:57
それで行けそうです
ありがとう
544デフォルトの名無しさん:2006/07/12(水) 22:39:01
ダイナミックな結合こそJavaの得意な分野だろ・・・
545デフォルトの名無しさん:2006/07/12(水) 23:11:44
得意っつーか、それが全て、みたいな。
546デフォルトの名無しさん:2006/07/13(木) 01:32:46
外注に出したときに、Javaプログラムのコピペ部分を検出するツールって
ありますかね?

保守性が悪くなるから、受け入れ前に指摘して直させたいのですが。
547デフォルトの名無しさん:2006/07/13(木) 01:54:44
同じように見えても今後の保守を考えて冗長的に書かないといけないこともあるからなんともいえん
だが、受け入れレビューするならコードをたしょうおってみればすぐ質がわかると思うけど
548デフォルトの名無しさん:2006/07/13(木) 14:38:32
エクスプローラのようなディレクトリの一覧をWEBの画面に
表示できるようなライブラリやツールってあってもよいかと思いますが、
ゴリゴリやるしかないのでしょうか。

よくある、apacheやjakartaのダウンロードサイトのディレクトリ操作のような
イメージをWEBサーバー入れずにやろうと思ってます。
549デフォルトの名無しさん:2006/07/13(木) 14:41:53
applet使えば一発
550デフォルトの名無しさん:2006/07/13(木) 15:05:00
FILEBANKのゲストではダウンロードできるんだけど、シェアでダウンロード
しようとすると下のほうに「ページでエラーが発生」が出て
ダウンロードできない。ダブルクリックすると

ライン28
「オブジェクトでサポートされていないプロパティまたはメゾットです」と
出るのですがどうすれば。。。。
551デフォルトの名無しさん:2006/07/13(木) 15:09:22
552デフォルトの名無しさん:2006/07/13(木) 15:09:40
>>550
残念ながらここはFILEBANKのサポートスレではありません
553デフォルトの名無しさん:2006/07/13(木) 15:52:58
atai[l] = -5.0 + 10.0 * Math.random();
って文は、要素数lにー5以上5未満の値を入れるってことでいいんですか?

554デフォルトの名無しさん:2006/07/13(木) 17:03:10
>>>553
いい。以上。
555デフォルトの名無しさん:2006/07/13(木) 18:13:16
public static void main(String argv[]) {
int it;
double data[] = new double[1000];

for (int i=0; i<1000; i++) {
data[i] = 10.0 + 90.0 * Math.random();
}
double sum = 0.0;
for (it=0; sum<5000.0; it++) {
sum += data[it];
}
System.out.println("sum = "+sum);
System.out.println("it = "+it);
}
}

sumとitは何の値ですか?
556デフォルトの名無しさん:2006/07/13(木) 18:14:49
プログラミングって半角じゃない文字だとダメなんですね。
557デフォルトの名無しさん:2006/07/13(木) 18:15:44
変数は全角でも問題ない
558デフォルトの名無しさん:2006/07/13(木) 18:18:19
初心者はスペースを全角で打つからこまる
559デフォルトの名無しさん:2006/07/13(木) 18:22:39
>>558

String str = "日 月 火 水 木 金 土";

 ↑こういう時に" "の中の空白を全角にするのはOK?NG?
   一般的なコーディング規約的にはどうなのかね
560デフォルトの名無しさん:2006/07/13(木) 18:27:54
>>559
OK
561デフォルトの名無しさん:2006/07/13(木) 18:33:12
>>559
そんなところを規定するコーディング規約なんてあるのか?
562デフォルトの名無しさん:2006/07/13(木) 18:46:04
>>559
何をやりたいか知らんが配列とかを使っとけと先に言っておく
563デフォルトの名無しさん:2006/07/13(木) 18:49:41
>>562
ちゃんと文章読めよ
何かをしたいわけじゃなだろ
あり か なし かを聞いてるだけだろ
564デフォルトの名無しさん:2006/07/13(木) 18:56:31
文字列の内容なんてコードじゃないだろ。
規約なんてあるほうがオカシイ。
565デフォルトの名無しさん:2006/07/13(木) 18:56:53
なんか、月ごとのカレンダーの曜日タイトル部分のような気が。。。
566デフォルトの名無しさん:2006/07/13(木) 18:58:45
>>565
シーッ!
567デフォルトの名無しさん:2006/07/13(木) 19:12:57
>>559
OKだけど、もしその文字列を後でどこかにそのまま表示するというのであれば
フォントに気を付けないと文字ごとに幅が違っちゃったりしてエディタで
見ているのと全然違ってズレまくると思う。
568デフォルトの名無しさん:2006/07/13(木) 19:58:22
>>563
んなこと聞く方が悪いんだよ。
569デフォルトの名無しさん:2006/07/13(木) 20:36:44
>>555
itは「それ」っていう意味だよ。
サムはアムロと離婚した奴だよ。
570デフォルトの名無しさん:2006/07/13(木) 22:37:37
>>569
それはsam
571デフォルトの名無しさん:2006/07/13(木) 22:47:11
だれか真面目に555を。
572デフォルトの名無しさん:2006/07/13(木) 22:50:17
アムロって結局結婚してないはずでは?
573デフォルトの名無しさん:2006/07/13(木) 22:57:15
>>555
    N\__ -─-  _/~|  _  _
    |  ´       Y  | hri |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     |  ((_(_(_(_)_)_)/  とヽ )   < sum は実数、itは整数の値よ。
     | (`(0 , 0)'|)|   / ¬     \___________
      \ゝ_ ー ノ ′_/  /
     /⌒\`V/ ̄ ̄  __/
    /  /   ^   ) ̄

574デフォルトの名無しさん:2006/07/13(木) 23:01:29
>>555
なんか簡単すぎて逆にうまく説明できないな。
見たまんまの数値が入ってるとかでいいんじゃね?
575デフォルトの名無しさん:2006/07/13(木) 23:30:41
itはともかくsumは別に問題ないと思うぞ。
576デフォルトの名無しさん:2006/07/13(木) 23:37:03
itは何番目で50000を超えたかの数字じゃないの?
577デフォルトの名無しさん:2006/07/13(木) 23:54:25
itはイテレートの意なんだろうが
プリミティブに使うのは違うな
578デフォルトの名無しさん:2006/07/14(金) 02:47:59
どうせ書くなら、こんな感じが好きだな。

int index = 0;
double sum = 0;
while(sum < 500.0){
sum += data[index++];
}
579デフォルトの名無しさん:2006/07/14(金) 03:31:13
クラス名も全角で無問題
580デフォルトの名無しさん:2006/07/14(金) 03:40:49
しかも、全角(2バイト文字)の空白は半角の空白(0x20)と同様排除される。
581デフォルトの名無しさん:2006/07/14(金) 03:52:06
>>580
全角空白は Character#isJavaIdentifierStart() でも
Character#isJavaIdentifierPart() でも false 返すから、
そもそも識別子に使用できない。
582デフォルトの名無しさん:2006/07/14(金) 06:25:59
javaさん、もう僕は駄目みたいです
ハフマン木を用いた暗号化でさくらんじょうたいです
583デフォルトの名無しさん:2006/07/14(金) 10:25:37
印刷をする時に強制的にモノクロ印刷にしたいのですがPageAttributes.ColorTypeを使うみたい
なのですがリファレンスを読んでもどう使っていいのかわかりません。

すみませんが教えていただけないでしょうか、よろしくお願いします
584デフォルトの名無しさん:2006/07/14(金) 10:39:16
>>546
これなんかどう?
ttp://pmd.sourceforge.net/
> PMD scans Java source code and looks for potential problems like:
> - Possible bugs - empty try/catch/finally/switch statements
> - Dead code - unused local variables, parameters and private methods
> - Suboptimal code - wasteful String/StringBuffer usage
> - Overcomplicated expressions - unnecessary if statements, for loops that could be while loops
> - Duplicate code - copied/pasted code means copied/pasted bugs

だそうだ。使ってみてよかったらレポートキボンヌ
585デフォルトの名無しさん:2006/07/14(金) 16:02:09
PageAttributes#setColor()を使って
pageAttributes.setColor(PageAttributes.ColorType.MONOCHROME);
みたいに設定すればいいんじゃないか?
586デフォルトの名無しさん:2006/07/14(金) 16:03:13
Ant で使う build.xml の DTD かスキーマってどこかにない?
587デフォルトの名無しさん:2006/07/14(金) 16:03:34
588デフォルトの名無しさん:2006/07/14(金) 16:15:37
>>586
AntstructureタスクでAntに吐かせるのはダメ?
589デフォルトの名無しさん:2006/07/14(金) 16:16:39
PageAttributes pageParam = new PageAttributes();
JobAttributes jobParam = new JobAttributes();
pageParam.setColor(PageAttributes.ColorType.MONOCHROME);
PrintJob prJob = getToolkit().getPrintJob(this, "Print Table", jobParam, pageParam);

としたのですがgetPrintJobの引数がおかしいみたいなんですが原因がわかりません。
590デフォルトの名無しさん:2006/07/14(金) 16:23:14
290 名前:名無しさん@お腹いっぱい。 :2006/02/27(月) 11:41:23

竹石圭佑って他人に色々迷惑かけてんだな。確かコイツの親は中国人だったろ。中学ん時に噂あった。
やっぱ在日って最低だ。近いうちテレビ報道されるような犯罪起こすんじゃないか?性犯罪とか
591デフォルトの名無しさん:2006/07/14(金) 17:32:47
質問させてください

今、awtの勉強をしていて、
画像の取り扱いで悩んでいます
とにかく、画像をLabelに表示したいのですが、
画像の読み込み方がわからないのです・・・
本にはgetImageを使うとあるのですが、
この方法はappletを作る時の方法ですよね・・・

image = ((new java.applet.Applet()).getImage(getClass().getResource("test.png")))
なんてのも試したんですけど、やっぱりエラーが出ました_| ̄|○

準awtのみでアプリを作る時の画像読み込みメソッドって、
何を使えばいいのでしょうか・・・?
592デフォルトの名無しさん:2006/07/14(金) 18:04:15
Toolkit.getImageとMediaTrackerを使うんだが、こんな感じ

URL url = new URL(getCodeBase(), "sample.jpg");
Image image = Toolkit.getDefaultToolkit().getImage(url);

MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image, id);
593デフォルトの名無しさん:2006/07/14(金) 18:28:56
>>592
ありがとうございます
無事に画像を読み込んで表示させる事ができました^^
594デフォルトの名無しさん:2006/07/14(金) 19:51:31
>>589
getPrintJobの引数のthisは何なのかな?
getToolkitを直に呼び出しているところをみると少なくともWindowだとは思うが
この引数はFrameでないといけないので
「引数がおかしい」というのならこれがFrameまたはそのサブクラスでないということかなかな?
595デフォルトの名無しさん:2006/07/14(金) 21:40:30
EJB3は確かに簡単だが、実務で使えるようになるのは果たしていつのことやら・・・
596デフォルトの名無しさん:2006/07/14(金) 22:52:59
XMLとJavaBeansの相互変換で一番スタンダードなライブラリって何になりますか?
597デフォルトの名無しさん:2006/07/14(金) 23:03:55
SSL通信について初心者ですがよろしくお願いします。
TomcatとAxisでWebサービスのサーバを構築しました。

環境は、
サーバ:
・windows XP
・Axis 1.1
・Tomcat 4.1
・下記のCAの証明書をcacertsファイルにインポート済み

クライアント:
・windows 2000
・フリーソフトeasyCertで作成したCAのクライアント証明書を導入
・サーバで作成したルート証明書をcacertsにインポート
Webサービスのプログラムはjavaで作成し、そのWDSLで出力したスタブでクライアントプログラムを作成。
エンドポイントのURLを「https」にしてSSL通信(クライアント認証を行う)したいのですが、実行するとエラーがでてしまいます。

(エラー内容)
AxisFault
faultCode:{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString:java.net.SocketException:Default SSL context init failed:failed to decrypt safe contents entryCOM.rsa.jsafe.SunJSSE_cs:Could not perform unpadding :invalid pad byte.
(以下省略)

どうやら、クライアント証明書もしくはキーストア情報が怪しいようなのですが、原因がわかりません。
当方、本件についてかなり初心者ですので、なにかアドバイスがございましたら、どうぞよろしくお願い致します。
598デフォルトの名無しさん:2006/07/14(金) 23:22:08
boolean型って何も初期値をしていしないと
trueとfalseのどちらが入りますか?
599デフォルトの名無しさん:2006/07/14(金) 23:23:39
>>598
false

http://www.y-adagio.com/public/standards/tr_javalang2/typesValues.doc.html#96595
> 型 boolean については,デフォルト値は false とする。
600デフォルトの名無しさん:2006/07/14(金) 23:25:43
>>598
と、お前のように迷う人間が出てくるんだから、ツベコベ言わず初期化せよ。
601デフォルトの名無しさん:2006/07/14(金) 23:27:13
どうもありがとう
602デフォルトの名無しさん:2006/07/14(金) 23:38:40
PrintJobっていつの印刷APIの話してるんだよ
603デフォルトの名無しさん:2006/07/15(土) 00:06:51
>>602
obsoleteになっているわけでもないし問題ないのではなかろか。
実は対象のシステムが古めかしいバージョンしか搭載していないのかもしれず。
とりあえずSE1.5.0_07でも>>589で生成したPrintJobインスタンスからgetしたグラフィックコンテクストで
ちゃんと印刷できたよ。
604546:2006/07/15(土) 00:32:25
>>547
もちろん、数十Kstep程度なら全部読みますけどね。数百K、数メガにも
なるとすべてを読むのは厳しいんですよ。それだけをやって良いのなら
数メガでもやりますけど。

自分がやりたいのは、そういう膨大な中からある程度ツールでコピペの
あたりをつけて、実際にその周辺を読んで、読みやすさを考慮して、など
の理由がみあたるものはスルーで、そうでなく、無意味(というかある意味
意図的だとは思うが)に規模が増えるのを何とかしたいんですよね。
(前者は保守性という意味でも良いと思うけど、後者は明らかに保守性は
下がるので。JTestを通すのを必須としているので、そういう意味での
品質はある程度担保しています)


ということで、良いツールがあれば(有償でも構いません)教えていただけると
幸いです。
605デフォルトの名無しさん:2006/07/15(土) 01:07:38
>>604
grepでコアになるクラス・メソッド・変数を検索するってのはどうよ?
WindowsならNoEditorに付属のgrepツールが使いやすいと個人的には思ってる。
606デフォルトの名無しさん:2006/07/15(土) 09:20:01
>>603
使えるけど制限が多いよ
607デフォルトの名無しさん:2006/07/15(土) 18:08:46
Statement s = c.createStatement(〜);
s.execute(SQL文1);
ResultSet rs1 = s.getResultSet();
s.execute(SQL文2);
ResultSet rs2 = s.getResultSet();

とした場合にrs1を閉じさせない方法ってある?
Statementを複数作るしかない?
608デフォルトの名無しさん:2006/07/15(土) 18:34:21
そらfetchすることができなくなるからな
609匿名:2006/07/15(土) 18:46:00
java のことで質問です。インターフェースのメリットと利用目的、そして特徴はなんですか?
教えてください_(_|_)_
610デフォルトの名無しさん:2006/07/15(土) 18:49:24
>>609
その質問秋田
このスレの上のレスとグーグル使って分らなければ諦めろ
611デフォルトの名無しさん:2006/07/15(土) 19:21:55
612デフォルトの名無しさん:2006/07/16(日) 01:23:14
エクリプスでJARを作るやり方教えて
613デフォルトの名無しさん:2006/07/16(日) 01:32:57
エクスポート
614デフォルトの名無しさん:2006/07/16(日) 07:27:37
JNLP で配布されている Java アプリケーションを
ローカルにおいて使うことはできますか?
ネットにつながっていない環境で使いたいもので。
http://semweb.salzburgresearch.at/apps/rdf-gravity/download.html
これなんですが。
615デフォルトの名無しさん:2006/07/16(日) 09:32:26
515を"000515"のような0を埋めた文字型に変更する方法ありませんか?
616デフォルトの名無しさん:2006/07/16(日) 10:45:28
>>615
String.format("%06d", 515)
617デフォルトの名無しさん:2006/07/16(日) 11:10:19
>>615
もしTigerよりバージョンが前ならStringでなくStringBufferを返すけど
new java.text.DecimalFormat("000000").format(515)
618デフォルトの名無しさん:2006/07/16(日) 11:12:03
>>616
コンパイルできないんですが・・・
String.formatはオブジェクトを取るみたいなので
String.format("%06d", new Integer(515))
とやってもコンパイルできません。
619デフォルトの名無しさん:2006/07/16(日) 11:14:10
>>617
まちがい
String返してた
620デフォルトの名無しさん:2006/07/16(日) 11:14:22
JDK1.5.0使ってます。

すいません。EclipseだとエラーになるんですがJDKだとコンパイルできました。
ちょっと調べてみます。
621デフォルトの名無しさん:2006/07/16(日) 11:16:43
ちなみに
The method format(String, Object[]) in the type String is not applicable for the arguments (String, int)
というエラーです。何かご存知でしたらアドバイスください
622デフォルトの名無しさん:2006/07/16(日) 11:20:19
>>620
eclipse使いでないのでよくわからないが
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1990337
とかが原因なのかな?
623デフォルトの名無しさん:2006/07/16(日) 11:21:45
ありがとうございます。
それで解決しました
624デフォルトの名無しさん:2006/07/16(日) 11:34:21
>>623
それは重畳。ちなみに、1.5ならautoboxingが効くので>>618のようにしなくても大丈夫
625デフォルトの名無しさん:2006/07/16(日) 11:50:19
>>614
RDFGravityのjnlpにはoffline-allowed要素が含まれてるのでオフラインで起動可能
というか実際に試してみればできるかどうかわかるのではなかろか
626デフォルトの名無しさん:2006/07/16(日) 13:35:30
javaから実行ファイルって作れる?
627デフォルトの名無しさん:2006/07/16(日) 13:42:38
>>626
ログよめ
628デフォルトの名無しさん:2006/07/16(日) 13:47:04
interfaceって暗黙的にfinal public staticがつくみたいだけど
interfaceにデータを定義してやれば
メモリには一つ分しか確保しなくて
interfaceを継承した複数のクラスで
定数を使えるということですか?
629デフォルトの名無しさん:2006/07/16(日) 13:52:40
親クラスがprivateでアクセスできません。
protectに修正すべきですか?
630デフォルトの名無しさん:2006/07/16(日) 14:04:12
>>628
>interfaceって暗黙的にfinal public staticがつくみたいだけど
→interfaceに宣言した変数って暗黙的にfinal public staticがつくみたいだけど
という意味ならその通り。
通常のクラスに宣言されたfinal public staticの変数と同じ。
631デフォルトの名無しさん:2006/07/16(日) 14:05:13
>>629
privateなクラスを継承するって発想がダメダメだな
632デフォルトの名無しさん:2006/07/16(日) 14:08:18
>>630
ありがとう
633デフォルトの名無しさん:2006/07/16(日) 14:25:12
親クラスはprivateでsuperを使う方が
普通の発想だと思うが
634デフォルトの名無しさん:2006/07/16(日) 14:32:12
>>633
???
635デフォルトの名無しさん:2006/07/16(日) 14:36:30
お前ら、言葉は正しく使ってください。
クラスがprivateとか意味不明です。
innerクラスですか? privateコンストラクタですか? 不変オブジェクトですか?
636デフォルトの名無しさん:2006/07/16(日) 14:38:10
>>635
private classとできるのはinnerクラスですかだけだと思うが
637デフォルトの名無しさん:2006/07/16(日) 14:45:24
>>633
サブクラスからは、親クラスのprivateメンバにアクセスできませんよ。
638デフォルトの名無しさん:2006/07/17(月) 03:07:06
IDパス認証→残高照会のページ→残高出力

こんなかんじで銀行のサイトから残高のデータを
取りたいんですができますか?教えてください。


639デフォルトの名無しさん:2006/07/17(月) 03:10:19
URLConnection + HTML パース
640デフォルトの名無しさん:2006/07/17(月) 06:45:00
javacのコンパイルエラーメッセージを日本語から英語に切り替えたいんですが
なんかオプションとかありますか。
環境変数$LANGでは切り替えられませんでした。
環境:WindowsXP & Linux, JDK1.4 & 1.5, コマンドライン
641デフォルトの名無しさん:2006/07/17(月) 08:59:29
>>640
javac -J-Duser.language=en Hogehoge.java
642589:2006/07/17(月) 10:16:16
答えてくださった方ありがとうございます。
594さんのおっしゃるとおりFrameの引数がおかしいようでしたが断念しました。

モノクロにできそうなのがPrintJobしか見つからなかったのでこの方法でやろう
としたのですが古い印刷方法だったのですね。

結局この方法でモノクロにしました。
private PrinterJob pjob = PrinterJob.getPrinterJob();
PrintRequestAttributeSet pas = new HashPrintRequestAttributeSet();
pas.add(Chromaticity.MONOCHROME);
pjob.print(pas);
643640:2006/07/17(月) 11:02:20
>>641
>javac -J-Duser.language=en Hogehoge.java
ちょーさんきゅー
644デフォルトの名無しさん:2006/07/17(月) 12:09:16
演算子* は java.lang.Object,double に適用できません

ってエラーが出るのですが、doubleの掛け算はどうすればいいのですか?
645644:2006/07/17(月) 12:15:46
しかも
java.util.Vector の addElement(java.lang.Object) は (double) に適用できません。
とかも言われたんですが、Vectorってdoubleもはいりますよね?
646デフォルトの名無しさん:2006/07/17(月) 12:22:16
>>644
Vectorに入るのはオブジェクト型なんでDouble型にラップしないとダメなはず
プリミティブなdouble型は配列に入れとかなきゃ…。

//もう少しソースを描いたほうが何がしたいかわかりやすいと思う。
647デフォルトの名無しさん:2006/07/17(月) 12:26:54
boolean[1][10000]とboolean[10000][1]で消費メモリの違うJavaって・・・
648デフォルトの名無しさん:2006/07/17(月) 12:46:39
Java以外で消費メモリがどうなるか調べてみての発言か?
649デフォルトの名無しさん:2006/07/17(月) 12:47:22
>>647
ちゃんと理解していれば当たり前の話だろ

>>645
Javaのバージョンが古いせい
650デフォルトの名無しさん:2006/07/17(月) 12:47:38
>>644
doubleの掛け算は*演算子でいいはずだけど。
もし、Doubleクラスのインスタンスの掛け算なら、
new Double(1.0).doubleValue() * new Double(2.0).doubleValue()
みたいにdoubleValue()でdouble値を求めてそれを使って掛け算しないと。
651644:2006/07/17(月) 12:47:55
>>646
ありがとうございます。
あと、掛け算ができないのはVectorから出してきたObjectをそのまま使ってたからかもしれません。
Objectをdoubleに変換するのはどうすればいいんでしょうか?
652デフォルトの名無しさん:2006/07/17(月) 12:53:28
>>651
それくらいはぐぐれ
653デフォルトの名無しさん:2006/07/17(月) 12:53:30
>>647
なんでなの?
初心者にも優しく教えて
654644:2006/07/17(月) 12:55:15
ググッてわからないから聞いてるのに・・・
655デフォルトの名無しさん:2006/07/17(月) 12:55:30
>>649
まずVectorにdoubleが入るという勘違いをしている人にはそれを正しておかないと、
今まで通らなかったものがautoboxingでいきなりコンパイル通っちゃうのはある意味危ない気がする。
将来どうなるかは別として今のところはautoboxingは単なるsyntax sugarなんだから、
何が糖衣にくるまれているか理解しておいた方がいいと思う。
656デフォルトの名無しさん:2006/07/17(月) 12:56:57
((Double)vector.elementAt(index1)).doubleValue() * ((Double)vector.elementAt(index2)).doubleValue()
657デフォルトの名無しさん:2006/07/17(月) 12:57:34
>>654
だったら教えても分らないから教えない
658デフォルトの名無しさん:2006/07/17(月) 12:59:21
>>654
>>644
Vectorから出したオブジェクトはDoubleでキャストでもしてろ
659デフォルトの名無しさん:2006/07/17(月) 13:00:36
>>658
>>644でなく>>650
660デフォルトの名無しさん:2006/07/17(月) 13:04:51
>>658
○ >>634でなく>>655
× >>644でなく>>650
661デフォルトの名無しさん:2006/07/17(月) 13:12:57
>>653
要素10000の配列オブジェクトをひとつ持つ配列オブジェクトと
要素1の配列オブジェクトを10000持つ配列オブジェクトとの違い
オブジェクトって言葉が要な
662デフォルトの名無しさん:2006/07/17(月) 13:31:55
てか、Vectorがナントカって言ってるやつ。
悪いことは言わんから、その本は今すぐ捨ててしまえ。

この程度の質問をするやつだから、Vectorは必要があって
使ってるんじゃなくて、単に本が古すぎるんだろう。
せめてJ2SE v1.4以降に対応した本を買え。
663デフォルトの名無しさん:2006/07/17(月) 13:54:31
SwingっていまだにVectorだった気が…

そいやVectorはCollectionフレームワークじゃないからダメって記事をたまに見る
お前試しにListで受けてみろって思う
664デフォルトの名無しさん:2006/07/17(月) 14:04:15
まだVectorを使いまくりだよ。やばい?
665デフォルトの名無しさん:2006/07/17(月) 14:26:40
別に。
666デフォルトの名無しさん:2006/07/17(月) 15:41:10
>>664
必要性を認識して使ってるのなら全然問題ない。
ただ教科書に載ってたから、ぐらいの認識なら、ただパフォーマンスを
劣化させてるだけ。
667デフォルトの名無しさん:2006/07/17(月) 15:44:51
じゃあどうしろって言うんだよッ!
668デフォルトの名無しさん:2006/07/17(月) 15:46:05
VectorとArrayListの違いを理解して使い分けろ
669デフォルトの名無しさん:2006/07/17(月) 15:48:31
そういうことだ。
670デフォルトの名無しさん:2006/07/17(月) 15:55:27
適切なcapacityを渡すことができればの話だがな
671デフォルトの名無しさん:2006/07/17(月) 15:57:06
めんどいから全部Vectorにしといてもいいよ
100件程度のリストに構造の違いなんて大差ない
それ以上はDBにほうりこむわけだしな
672デフォルトの名無しさん:2006/07/17(月) 16:05:31
スレ違い臭いですが助けていただきたく
現在Tomcat+eclipseでリモートデバッグを行おうとして下記サイト
ttp://eclipsewiki.net/eclipse/?%A5%EA%A5%E2%A1%BC%A5%C8%A5%C7%A5%D0%A5%C3%A5%B0
を参考にしていたのですが、Tomcat起動時に"-Xdebugが見つかりません"というメッセージが出て失敗してしまいます。
どうやら"-Xdebug"をファイル名として認識しているようなのですが、何が原因なのか皆目検討もつかず困っています。

【OS】WinXPPro
【Tomcat】4.1.31
【catalina.batへ追加した定義】set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=18081
673デフォルトの名無しさん:2006/07/17(月) 17:08:20
doubleの掛け算は精度落ちするので
ふつうはやらない
674デフォルトの名無しさん:2006/07/17(月) 17:29:40
逆数を取って割り算にすればいいんだよ
675デフォルトの名無しさん:2006/07/17(月) 17:30:25
>>655
危険なのは承知だがコンパイルが通るのが今の仕様だ

ループの中でボクシングしまくりで遅くなったりメモリ使用量が圧迫するようだったら
そのとき説明してあげればいい、と最近は考えるようになってきた

今まではコンパイルエラーでまくりだったりラッパークラスの意味がわかるかどうかは敷居が高すぎ

EODってのはそういうものかと
誰だって昔アセンブラ&BASIC時代、言語の隅々まで理解していたわけじゃないだろう

もちろん仕事で使う場合は別な
676デフォルトの名無しさん:2006/07/17(月) 17:46:51
今JAVAを勉強しているのですが、「ボタンを押すたびにボールを画面外まで飛ばして消す」という操作を、アプレットではなく普通のアプリケーションとして実行させたいのですが上手くいきません。

ソースとしては、Frameクラスをextendsさせて、ActionListenerとRunnableのインターフェースを実装させてます。

ボタンを押すことでThreadを生成させて、一回はボールを飛ばして消すことが出来るのですが、二回目以降いくらボタンを押してもピクリとも動きません。
調べてみたら「Threadは一度しか実行されない」ということらしいのですが、
アプレットなら、例えばシューティングゲームのようにボタンを押すたびに(もしくはキーやマウスを押すたびになど)何度もThreadを生成させられてるように思うのですが、どうなんでしょうか・・・。
677デフォルトの名無しさん:2006/07/17(月) 18:09:23
簡単に説明すると、オブジェクト毎にスレッド作るんじゃなくて
ゲーム本体が一つのスレッドで、画面描画やI/Oコントロールの別スレッドと協調動作するってイメージかな
678デフォルトの名無しさん:2006/07/17(月) 20:14:52
>>676
何を勘違いしているのか知らないが
アプレットだろうとなかろうとThreadでの処理は一度しか実行されない。
679デフォルトの名無しさん:2006/07/17(月) 20:44:40
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i−want−to−study−java@hotmail.co.jp
教える対象は超初心者です。

専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
680デフォルトの名無しさん:2006/07/17(月) 20:46:14
>>668
> VectorとArrayListの違いを理解して使い分けろ

ありがとう。勉強してみます。

>>671
> めんどいから全部Vectorにしといてもいいよ
> 100件程度のリストに構造の違いなんて大差ない
> それ以上はDBにほうりこむわけだしな

1000件以上をVectorに貯めるとダメですか?
ArrayListだったら1000件以上を貯めても平気ですか?

681デフォルトの名無しさん:2006/07/17(月) 20:50:21
一昔前のPCなら体感できるかもしれないって程度の差はあるだろうな
マルチスレッドとかで大量に同一処理を裁かない限り違いは分からない
682デフォルトの名無しさん:2006/07/17(月) 20:54:22
javaサーブレットについて教えてください。

画面にてデータを指定して
サーブレット側でそのデータに基づいてファイルを作成する、
といったプログラムを作成しているのですが

サーブレット側からクライアントのPCに
直接ファイルを作成することは可能でしょうか。
セキュリティについては、プログラムを使用するPCは限定されるので
何か設定することで可能になるならそうしたいです。
683デフォルトの名無しさん:2006/07/17(月) 21:07:12
>>682
> サーブレット側からクライアントのPCに
> 直接ファイルを作成することは可能でしょうか。
ここが良くわからない。
ブラウザを通さずに直接サーブレットが
任意のフォルダに保存するってことか?

ブラウザ使わず独自のクライアント使えばいいじゃん
684682:2006/07/17(月) 21:09:45
補足です。
ブラウザはIEをつかわなければいけないです。
685デフォルトの名無しさん:2006/07/17(月) 21:17:19
補足するまでもなく無理だと気づけるだろ。
どこまで馬鹿なんだコイツ
686デフォルトの名無しさん:2006/07/17(月) 21:34:02
>>682
できるよ。
制限付だけど。

全部ここで解説するのはメンドイので「署名付き applet」で適当にぐぐって。
ちなみに、サーブレットでファイルを生成したものをappletでクライアント側に渡す感じになるかな。
appletでファイルを生成しても構わない設計ならその方が鯖側は処理が楽かもね。
687デフォルトの名無しさん:2006/07/17(月) 21:38:55
アプレットでファイル保存する時の保存先を聞く時に
マイドキュメントが最初に表示されようにするには
以下の方法でいいですか?

JFileChooser jFile = new JFileChooser(System.getProperty("user.name"));
jFile.setDialogType(JFileChooser.SAVE_DIALOG);
688デフォルトの名無しさん:2006/07/17(月) 21:39:00
だからそれは独自クライアントを作ってんじゃん
689デフォルトの名無しさん:2006/07/17(月) 21:40:02
ブラウザがIE以外ならエラーとしたいんですが
どうしたらいいですか
690682:2006/07/17(月) 21:43:54
ありがとうございます。しらべてみますね。
691デフォルトの名無しさん:2006/07/17(月) 21:44:07
>>689
User-Agentを見る
692デフォルトの名無しさん:2006/07/17(月) 23:52:23
構造体は無い?
693デフォルトの名無しさん:2006/07/18(火) 00:06:07
構造体もどき
class Struct{
private String s = new String();
private int i = new int();
private char c = new char();
private double d new double();
private long l = new long();
}
694デフォルトの名無しさん:2006/07/18(火) 00:11:12
695デフォルトの名無しさん:2006/07/18(火) 03:11:02
えらい不便な言語ですね。
696デフォルトの名無しさん:2006/07/18(火) 05:32:53
どーしてもオーバーライドの規則が分からないので質問させてください。
class OverrideOya {
public void retMsg() {
System.out.println("親のメッセージ");
}
public int calc(OverrideOya obj){
return 5;
}
}
class OverrideKo extends OverrideOya {
public void retMsg() {
System.out.println("子供のメッセージ");
}
public int calc(OverrideKo obj){
return 500;
}
}
697696:2006/07/18(火) 05:34:08
class OverrideDemo {
public static void main(String[] args) {

OverrideKo obj_ko = new OverrideKo();
OverrideOya obj = obj_ko;
obj.retMsg(); //(1)
System.out.println( obj.calc(obj) ); //(2)

obj_ko.retMsg(); //(3)
System.out.println( obj_ko.calc(obj_ko) ); //(4)

System.out.println( obj.calc(obj_ko) ); //(5)
System.out.println( obj_ko.calc(obj) ); //(6)
}
}
式(1)、(3)ともに,OverrideKoクラスのretMsgが呼び出されます。それはよく分かります。
しかし式(2)ではOverrideOyaクラスの、式(4)ではOverrideKoクラスのcalcが呼び出される理由がよく分かりません。
今、変数objには,OverrideKoクラスのインスタンスが入っているのだから、
式(2)においてもOverrideKoクラスのcalcが呼び出されるように思えるのですが‥。
698デフォルトの名無しさん:2006/07/18(火) 07:26:54
calcはオーバーライドじゃなくてオーバーロード。
子は親子両方を引数にとるメソッドを持っているが親は子を引数に持つメソッドを持っていない。
699デフォルトの名無しさん:2006/07/18(火) 07:55:23
>>697-698
ヒント:引数の型が違うとオーバーロード。

式(2)のobjはOverrideOya型なので使えるメソッドは
public void retMsg(); //実体はOverrideKoのインスタンスなのでオーバーライドされている。
public int calc(OverrideOya obj); //オーバーライドされていない。
の2つ。(インスタンスにはpublic int calc(OverrideKo obj);もあるのだが、OverrideOya型に入ってるので見えない。)

式(4)のobj_koはOverrideKo型。使えるメソッドは
public void retMsg(); //オーバーライド済み
public int calc(OverrideOya obj); //引数 OverrideOya
public int calc(OverrideKo obj); //引数 OverrideKo
の3つ。コンパイラによってより適切な引数のメソッドが呼び出される。
obj_koはOverrideKo型だから、引数がOverrideKo型に一番近いpublic int calc(OverrideKo obj);が呼び出される。
700696:2006/07/18(火) 08:02:29
うーん。obj = new OverrideKo();という部分がよく分かっていません。

今,obj.calc(obj);と呼び出したとき,
 public int calc(OverrideOya obj) //親クラス
public int calc(OverrideKo obj) //子クラス
という二つのメソッドのどちらかが呼ばれるわけですよね。
obj.retMsg();
と呼び出したときは,子クラスのメソッドが呼び出されたのから考えると,
obj.calc(obj)においても,子クラスのメソッドが呼び出されそうなものなのですが‥。
calcはオーバーライドできていないからこんなことになるんですか?
701696:2006/07/18(火) 08:03:14
あっごめんなさい!一旦熟考します。
702696:2006/07/18(火) 08:16:10
OverrideKo obj_ko = new OverrideKo();
の時点では,obj_koで使えるメソッドは
public void retMsg(); //オーバーライド済み
public int calc(OverrideOya obj);
public int calc(OverrideKo obj); 
の三つ。これに対して下式
OverrideOya obj = obj_ko;
を適用すると,obj使えるメソッドは
public void retMsg(); //オーバーライド済み
public int calc(OverrideOya obj);
と二つに減ってしまう。ただしretMsg();は,子のものを使う。

という考え方になるんでしょうか。retMsg()だけ子のものになってしまうのが
慣れないと気持ち悪い感じですが…
703デフォルトの名無しさん:2006/07/18(火) 10:17:01
gotoは無いのかね?
704デフォルトの名無しさん:2006/07/18(火) 10:20:21
ねーよ。お勧めできんがbreakでラベルに飛ばす
705デフォルトの名無しさん:2006/07/18(火) 11:35:34
>>696
「引数の型」の4文字を1万回書け。
話はそれからだ。
7062285:2006/07/18(火) 12:52:28
どなたかお答えいただけるとありがたく思います。

現在、フリーで作っているホームページをYahooのようなユーザー登録もできるような物にしたいのですが、あのような機能(プラグラム)は何で作っているのでしょうか教えていただけませんか???

色々調べてみたのですが、cookieなどを使用するのでは・・・というところまでしか分かりませんでした。

Yahooの用に、ユーザー登録ができて、住所、名前などを入力してもらい専用IDとパスワードを使って入ることができるという項目を作れたらと思います。

どのような種類のプログラムがよくて、プログラムコードはどのようなものなのか、教えていただけるとありがたく思います。

そのような事が書いてあるホームページを知っている方はそのページのURLなど教えて下さい。

どうかお願いいたします。
707デフォルトの名無しさん:2006/07/18(火) 13:13:27
708デフォルトの名無しさん:2006/07/18(火) 15:32:22
>>703
何か例外が出たのを利用して先に飛ばす場合は try 〜 catch を使う。
ループから抜けるなら break で抜ける。

この2つがあれば goto は不要だと思うが、あってもなお必要に
なることがあるならぜひ教えてくれ。
709デフォルトの名無しさん:2006/07/18(火) 15:33:31
>>706
PHP
710デフォルトの名無しさん:2006/07/18(火) 18:51:37
Java にパソコンの電源を切るメソッドなんてないよね?
C++ か何かで書いてRuntimeか何かで呼び出さないといけないのですかね?
711sage:2006/07/18(火) 18:52:27
goto HELLみたいなちょっとした悪戯を入れることはできるね。
712デフォルトの名無しさん:2006/07/18(火) 19:44:57
>>710
JNI使う手もあるかも。
713デフォルトの名無しさん:2006/07/18(火) 19:47:26
テキストフィールドに数値(何桁でもよい)しか入力させたくないので
JFormattedTextFieldとNumberFormatを使いました。
これだと確かに数値しか入力できなくなるようになったのですが、
英文字とかを入れてフォーカスが離れたときに、以前入力された数値が入ってしまいます。
これだと困るのでブランク(何も入力しなくてもよい)も許可するようにしたいのですが
どうしたらよいですか?
714デフォルトの名無しさん:2006/07/18(火) 19:58:35
>>713
AbstractFormatterFactoryとAbstractFormatterの部分見てみた?
自分で実装すればいくらでも自由にできるよ

業務系だと無理やり0にするとかもわりと多い
もちろん入力自体を抑えるのも大事
715デフォルトの名無しさん:2006/07/18(火) 20:50:30
>>714
見てみました。
AbstractFormatterを自分で実装すればいいんですね。
ありがとうございました。
716デフォルトの名無しさん:2006/07/18(火) 21:19:51
>>706
サーバ側に登録したデータを保持する必要があって普通はDB使う
ということがわかってれば言語は何でもいい。
717デフォルトの名無しさん:2006/07/19(水) 01:36:37
ArrayListで、下のような感じで比較しようとしてもうまくいかないんですが、
配列なんかの比較は無理なんでしょうか?

sData[0]=1;
sData[1]=2;
sData[2]=3;
if(list.contains(sData)) {
718デフォルトの名無しさん:2006/07/19(水) 02:08:50
>>717
APIドキュメント嫁。
equals()メソッドによる比較という仕様になっている。
equals()メソッドがどのような動作をするのか考えれば判るはず。
719デフォルトの名無しさん:2006/07/19(水) 08:29:04
>>717
配列とArrayListの区別がついてるのかもあやしいけど、配列を比較するなら
java.util.Arrays という便利クラスがあるので、それを調べてみて。

ところで、Javaには集合演算をするクラスはありますか。
和集合と差集合を取りたいんですけど。
720デフォルトの名無しさん:2006/07/19(水) 09:55:13
startDateからendDateまでの営業日数を計算するロジックがどうしても思いつきません(´・ω・`)
皆さんのお力をお貸し願いたいのですが(´・ω・`)
721デフォルトの名無しさん:2006/07/19(水) 10:27:54
小学生でもできるぞw
722デフォルトの名無しさん:2006/07/19(水) 10:58:53
サーバーサイドのプログラミング+EJBを同時に勉強し始めたのですが
色々な技術が出てきて頭がこんがらがってる初心者です。というか難しいorz

セッションが有効な間データを保持し、Servlet、JSP間のデータ受渡しを実現するには
HttpSessionのgetAttribute,setAttributeを使用することは分かったのですが
EJBのStateful Session Beanを使って、HttpSessionのような使い方は出来ないのでしょうか?

試しにServlet内で↓のように
InitialContext ctx = new InitialContext();
TestStatefulSession bean = (TestStatefulSession)ctx.lookup("Test/TestStatefulSessionBean/remote");
bean.setData("test");
として、データを作成して、test.jspを呼び出します。
ServletContext sContext = getServletContext();
sContext.getRequestDispatcher("/test.jsp").forward(request, response);

次にtest.jspで、先ほど作成したStateful Session Bean を呼び出し、値を取得したいのですが呼び出し方が分かりません。
Stateful Session Beanとはなんぞや?で調べると↑のような使い方が出来そうな気がしたのですが(汗)

それともう一点質問です。
JBOSS4.0.4を使用して、JSPの中にjava 5.0独自の構文を書くとエラーになってしまいます。
特別な設定は必要なのでしょうか?
ちなみに、JAVA_HOMEは jdk1.5.0_06を指定してます。

宜しくお願いします。
723デフォルトの名無しさん:2006/07/19(水) 11:05:49
>>722
>次にtest.jspで、先ほど作成したStateful Session Bean を呼び出し、値を取得したいのですが呼び出し方が分かりません。
つ javax.ejb.Handle、javax.ejb.EJBObject#getHandle()

それ以前に、ViewであるJSPで直接EJBを呼び出そうとは、言語道断な設計だな。。。
724デフォルトの名無しさん:2006/07/19(水) 11:07:10
>JBOSS4.0.4を使用して、JSPの中にjava 5.0独自の構文を書くとエラーになってしまいます。
JSPコンパイラに何が使われているか?だな。
725デフォルトの名無しさん:2006/07/19(水) 12:02:28
>>722
サーバサイドプログラミングの初心者なら、今のEJBは忘れていいよ。
EJB3になったら消えてなくなる技術だから。
今はそれよりも、サーブレットとJSPだけしっかりと勉強することをお薦めする。
その意味では、JBossじゃなくてTomcat使った方が簡単でいい。
726デフォルトの名無しさん:2006/07/19(水) 12:12:59
>>725みたいなレスって余計なお世話だよな。
知りたいことに答えずに「そんなモノやめろ」だもんな。

仕事で必要に迫られて勉強しているのかも知れないだろ。
この時期にわざわざEJB2.xならその可能性が高い。
727デフォルトの名無しさん:2006/07/19(水) 12:24:28
そんな…冷たい言い方しなくたって…
728デフォルトの名無しさん:2006/07/19(水) 12:53:33
>>726
お前のレスは必要かw
社会人がこんなバカな質問する時点で
729デフォルトの名無しさん:2006/07/19(水) 13:22:36
>>719
>ところで、Javaには集合演算をするクラスはありますか。
>和集合と差集合を取りたいんですけど。

Set<E>#addAll(Collection<? extends E> c)
Set<E>#removeAll(Collection<? extends E> c)
730デフォルトの名無しさん:2006/07/19(水) 13:35:56
EnumSetとEnumMapは必須知識だな
731デフォルトの名無しさん:2006/07/19(水) 14:24:56
JavaでRSSを扱いたいんだけど、そういうのを解説してるサイトってありますか?
できれば、RSS生成か、RSSリーダーの作り方みたいなサイトがいいのですが・・・
いきなりですみませんが、よろしくお願いします
732デフォルトの名無しさん:2006/07/19(水) 14:29:34
JavaがわからないのかRSSがわからないのかネットワークプログラムがわからないのかどれだ
733デフォルトの名無しさん:2006/07/19(水) 14:30:05
734デフォルトの名無しさん:2006/07/19(水) 17:33:21
>>723-728
ありがとうございます。ちなみに学生です^^;
せっかく勉強するなら最近話題?のEJB3.0を使ってみたいなと思った次第です><
JSPではEJBを呼び出さないものなのでしょうか?
Servlet側で一度、HttpSessionに格納して使用するのが一般的なのでしょうか?
すいません、EJBの役割がいまいちよくわからなくて(Entitiy Beanはわかるのですが)
735デフォルトの名無しさん:2006/07/19(水) 17:56:44
JSPにコントローラの役割をさせるなということだろう
736デフォルトの名無しさん:2006/07/20(木) 00:56:29
>>720
ヒント:ミリ秒

他の方法もあるかも知れんが、これが一番わずらわしく無くていい
737デフォルトの名無しさん:2006/07/20(木) 01:00:07
Strutsのコントローラは失敗だったな
738デフォルトの名無しさん:2006/07/20(木) 01:03:26
>>736
ただの日数だったらそれでいいが
営業日数だから一日ずつその会社の営業日かどうか
判定していくしかなかろう。
739デフォルトの名無しさん:2006/07/20(木) 01:09:16
おっと、盲点だった。営業日なのか。
740デフォルトの名無しさん:2006/07/20(木) 02:20:44
startDate と endDate は、日数のうちに含まれるのか……とかの境界条件があいまいだなぁ
地道に1日ずつ判定していったほうが早いような希ガス
741デフォルトの名無しさん:2006/07/20(木) 09:19:49
営業日ってのは会社次第だから一般的な解はないだろなぁ。 休日もあるし。
週*2 で土日を削るぐらいか。
742デフォルトの名無しさん:2006/07/20(木) 09:40:08
「土日以外」とか簡単明確な定義がないなら、DBやファイルに休日を定義して一日ずつループで回すしかない。
会社都合の休日も入ってくるし、突発的に営業停止とか食らったらそれは営業日から抜かなきゃならん。
銀行の取引とかだとこれに「26時」とかいう日跨ぎ時刻が絡んでくるからさらに面倒臭い。
743デフォルトの名無しさん:2006/07/20(木) 09:47:34
>>742
javaだけって事ではないんだが、そろそろ24時以降も標準で使えるようにならんかなぁ・・・
一部使える関数とかあるのかもしれないんだけど。
744デフォルトの名無しさん:2006/07/20(木) 09:55:37
いやー、例えば 「7月20日26時の締結」 と 「7月21日2時の締結」 が
業務的に同じ意味とは限らんからこうなってるってこともあるし。
まぁ逆に銀行とかはそのへんの仕様がホスト時代からしっかりしてるから、
面倒なだけでよく考えればあまり難しくはない。
745デフォルトの名無しさん:2006/07/20(木) 10:03:31
基本的にはその会社独自のカレンダーを作る。
正月やお盆にいつ休みにするか創立記念日は休みとか。
1年分とか2年分とか手作業で休みを登録してもらう。
746デフォルトの名無しさん:2006/07/20(木) 10:04:31
春分・秋分の日もあるしな。
747デフォルトの名無しさん:2006/07/20(木) 10:32:54
Calendar を継承した俺様カレンダーを作成するべき?
748デフォルトの名無しさん:2006/07/20(木) 11:25:38
ぐれかれ+営業日計算メソッドで十分よ
まあクラス実装してもいいけど
749720:2006/07/20(木) 11:44:13
なんとか実装できました(´Д`;

開始日から終了日の日数計算して、
その期間ぐるぐる回してCalendarで土日判定して、
祝日マスタから祝日とってきて、土日と重なってるのカウントして、
土日祝日の日数算出して、
日数から土日祝日の日数を引く。

地道に計算するしかないみたいですね(´・ω・`)
祝日は無理としても土日引いた日数くらいは
パッと計算できるメソッドでも用意されてるかなと思ったんですけどね(´・ω・`)

ともかく皆さんありがとうでした。
750デフォルトの名無しさん:2006/07/20(木) 12:43:27
日曜日が休みなのは宗教的理由だ!
ってな話になるので無い
751デフォルトの名無しさん:2006/07/20(木) 12:59:28
イスラームは金曜日だからな
752デフォルトの名無しさん:2006/07/20(木) 15:42:03
テキストファイルを読み込んで
テキストの先頭から解析していくのにstartsWithを使用してるんだけど、
なんでかヌルポってくる。原因がわからない('A';)
eclipseのコンソールにはちゃんとでるんですけど、
何が原因なんでしょうか?

d = new BufferedReader(new FileReader(file));
while ((str = d.readLine()) != null) {
 if (str.startsWith("&event")) {
  System.out.println("aruyo");
 } else {
  System.out.println("naiyo");
 }
753752:2006/07/20(木) 15:48:12
失礼、ヌルポではなくて、startsWith("中身")
が見つからないって帰ってくる。でした。
読み込むファイルには存在するんですけど、
naiyoしか返してくれない・・・(´・ω・)
754デフォルトの名無しさん:2006/07/20(木) 16:12:11
public static void main(String[] args){
double s=0;
for(int i=1;i<=10;i++){
s+=1/i;
System.out.println(i+":"+s);
}
}


どこがおかしいですか?
それと
public static void main(String args[]){
public static void main(String[] args){
の違いはなんでしょう?
755デフォルトの名無しさん:2006/07/20(木) 16:23:13
>>754
どこもおかしくない。正しい

String args[]とString[] argsは同じことではあるが
できればString[] argsを使うことをおすすめする
756デフォルトの名無しさん:2006/07/20(木) 16:36:11
もしおかしいと思うのならどうおかしいかを書くべきだ。
提示されたコード片はJavaのメソッドとして問題ないからだ。
もし、そういったことが分からない輩であるのなら、
s+=1/i;

s+=1/(double)i;
にすると幸せになれる場合もある。

JLSでの書法が基本的に
String[] args
なのでそれに合わせておいても損はない。
757デフォルトの名無しさん:2006/07/20(木) 19:11:38
設定を色々試しているのだけど、SQLServer2005とTomcat5.5を使用したJDBC接続が出来ないです・・・
Microsoft SQL Server 2005 JDBC Driver Version 1.0 sqljdbc.jarファイルを置いた場所は
2ヶ所 %JAVA_HOME%jre\lib\ext & %CATALINA_HOME%\common\lib

接続テストのサンプルコードはサポートページにある物でとほぼ同じです。
ttp://support.microsoft.com/?scid=kb;ja;313100

EclipseプロジェクトエクスプローラーのJREシステムライブラリーに合わせて少し変更
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // ←2005 バージョンに変更
Eclipse上から実行すると↓のようになりました。
エラーログ:java.sql.SQLException: No suitable driver

サンプルコードの一番最初に確認の為に
import com.microsoft.sqlserver.jdbc.SQLServerDriver;
として、インポート出来たのでEclipseには追加出来てるみたいなのかな?
何か心当たりがあればアドバイスお願いします。


環境:Windows2000SP4, SQLServer2005Express, Tomcat5.5, Eclipse3.2(WTP), jdk1.5.0_06
758デフォルトの名無しさん:2006/07/20(木) 21:01:55
>>752
ヒント1:FileReader はファイルの文字エンコードを知らない
ヒント2:InputStreamReader のコンストラクタでは文字コード指定ができる
759デフォルトの名無しさん:2006/07/20(木) 21:15:41
>>757
classloaderがドライバを見つけられていないわけだから、
実行時のクラスパスを見直してみてわ?
もしくは
>Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // ←2005 バージョンに変更
ここを見直すか。
760デフォルトの名無しさん:2006/07/20(木) 22:12:25
>>759
これこれ、いい加減なことを言っちゃいかん。
それならClassNotFoundExceptionが発生するはず。

>>757
ドライバは%JAVA_HOME%jre\lib\extなんて場所に置いちゃいかん。
アプリのWEB-INF/libに置いてみろ。
761デフォルトの名無しさん:2006/07/20(木) 22:40:01
>>757
no suitable driver なら、データベースのURLが間違ってる可能性がある。
どう書いてる?
762デフォルトの名無しさん:2006/07/20(木) 23:15:45
JAVAを用いて以下のようなシステムを作りたいのですが可能でしょうか?

googleなどの検索エンジンにおいてキーワードを入力して検索し、
検索結果のサイトの50〜1000件のページをアーカイブして、テキストファイルを作成する。

763デフォルトの名無しさん:2006/07/20(木) 23:37:21
>>762
もちろん可能。どのへんが無理っぽいと思った?
764デフォルトの名無しさん:2006/07/20(木) 23:40:51
google API
765デフォルトの名無しさん:2006/07/21(金) 00:42:30
>>763
すみません、ほとんど素人なもので。
どの程度のことがJAVAで可能なのかわかってないんです。
>>764
google APIですね。早速調べてみします。

お二方レスありがとうございます。
766デフォルトの名無しさん:2006/07/21(金) 05:32:48
DBをインスコしてないPCでDBを使ったEXEを動作させる事は可能か?
767デフォルトの名無しさん:2006/07/21(金) 09:22:16
>>766
exeなのでスレ違いということでFA
768デフォルトの名無しさん:2006/07/21(金) 09:29:43
>>765
google API使わなくてもできるけどね

>>766
javaの質問か?
769757:2006/07/21(金) 09:50:34
>>759 >>760 >>761
アプリのWEB-INF/libという場所は、プロジェクト名が"web"の場合だと
Eclipseのワークスペースの\workspace\web\WebContent\WEB-INF\lib
にJDBC Driverのsqljdbc.jarファイルを置くんですよね?

ManagementStudioExpress(SSMSE)のSQL Server認証のログイン画面で
サーバー名:AA1\SQLEXPRESS ← * AA1はインストールしたコンピューター名
となっているのでデータベースのURLを
private final String serverName= "localhost";でダメだったので
private final String serverName= "AA1\\SQLEXPRESS";に変更してもダメでした。
エラーログ:java.sql.SQLException: No suitable driver

検索していると似たような事例があったんですけど
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19567&forum=12
Eclipseのjavaアプリケーションで実行する時にもxmlファイルを書き換える必要があるんですか?

urlの設定部分だけ切り取ると今はこうなっています
private final String url = "jdbc:microsoft:sqlserver://";
private final String serverName= "AA1\\SQLEXPRESS";
private final String portNumber = "1433";
private final String databaseName= "db1";
770デフォルトの名無しさん:2006/07/21(金) 11:06:57
>>769
@ITの奴は、Tomcatが管理するJNDIデータソースを使ってるから。
そうでなくてJDBCのコネクションを直に使用するのなら、必要ない。
この辺参考にして、正しいURL指定してみたら?
ttp://msdn2.microsoft.com/en-us/library/ms378428.aspx
SQL Serverは使ったこと無いのでよく分からないけど。
771757:2006/07/21(金) 11:27:44
>>770
JDBCドライバーHelpを見ていたのですが
最初の接続urlがSQLServer2005で変更になっていました(ノД`)タハー
そのページも全部読んでみます。
private final String url = "jdbc:microsoft:sqlserver://"; ← SQLServer2000
private final String url = "jdbc:sqlserver://"; ← SQLServer2005

でもまだエラーが出ちゃって
com.microsoft.sqlserver.jdbc.SQLServerException: ホスト に TCP/IP 接続できませんでした。
java.net.ConnectException: Connection refused: connect

いま接続のトラブルシューティングを見ながら調べているところです。
ttp://msdn2.microsoft.com/ja-JP/library/ms378845.aspx
772デフォルトの名無しさん:2006/07/21(金) 11:38:24
>>771
それは、ホストのアドレスかホスト名が違う。
もしくは、DBMSの設定で外部からの接続を受け付けないようになっている。(アプリのコードではなく、DBの設定の問題)
773766:2006/07/21(金) 12:02:20
JAVAでDBしたいんだが配布の時に問題があるから
もし、DBをインスコしないと使え無いなら
プログラムで全てやる必要がある
774デフォルトの名無しさん:2006/07/21(金) 12:05:50
java初心者です。下記のような処理の似たメソッドをまとめる方法って無いですか?

void a() {
p();
while (条件) {x();}}
q();
}

void b() {
p();
while (条件) {y();}}
q();
}

void c() {
p();
while (条件) {z();}}
q();
}
775デフォルトの名無しさん:2006/07/21(金) 12:12:14
void nullpo(intとかなんか a)
{
p();
switch (a) {
case xをあらわすなんとか: x();
case yをあらわすなんとか: y();
case zをあらわすなんとか: z();
}
q();
}
↓次のお前のセリフは、テンプレートメソッドと言うッ!
776デフォルトの名無しさん:2006/07/21(金) 12:14:27
777デフォルトの名無しさん:2006/07/21(金) 12:27:22
>>773
HSQLDBとかPointBaseとかをアプリに同梱すれば?
778デフォルトの名無しさん:2006/07/21(金) 12:28:13
>>775-776
ありがとうございます!助かりました!
779デフォルトの名無しさん:2006/07/21(金) 12:28:32
>>773
cloudscapeを調べると幸せになれるかも
780デフォルトの名無しさん:2006/07/21(金) 13:14:46
今はMSDEとか2005はインストールするとTCP/IPのネットワークライブラリが有効化されるのか?
781デフォルトの名無しさん:2006/07/21(金) 13:37:36
SAXのDefaultHandlerを用いてXMLファイルを解析しているのですが、
characters()で文字データを読み込んだ場合に、改行コードCR+LFがLFのみに変換されます (ファイルに書き込んで確認しました)
この変換をしないためには、どのような方法があるでしょうか?

現在のコード:
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();

DefaultHandler1 df1 = new DefaultHandler1(); //DefaultHandler1はDefaultHandlerを継承したクラス
sp.parse(new FileInputStream("hoge.xml"), df1);
782デフォルトの名無しさん:2006/07/21(金) 13:46:41
>>775はちょっと微妙じゃないか?
aが不正な値だったとしてもキャッチしてくれるものが何もないぞ。

俺だったらこう書くが。

public class SomeClass{
public void methodA(){
this.exe(new Command(){
public void execute(){System.out.println("This is x()");}
}
);
}
public void methodB(){
this.exe(new Command(){
public void execute(){System.out.println("This is y()");}
}
);
}
public void exe(Command command){
methodP();
command.execute();
methodQ();
}
interface Command{
public void execute();
}
}
783デフォルトの名無しさん:2006/07/21(金) 14:01:39
マジレスかよ
784デフォルトの名無しさん:2006/07/21(金) 14:10:15
>>781
sp.parse(new File("hoge.xml"), df1);ならどうなりますか?
確認のためにファイルに書き出したときに変換していませんか、または変換を忘れていませんか?
785757:2006/07/21(金) 14:17:38
>>780
ヘルプを見るとセキュリティの関係で初期設定だとほとんど無効化してるみたい。

>>772
SQLServer2005ネットワークの構成のプロトコル
共有メモリ・名前付きパイプ・TCP/IP・VIAすべて有効に設定
SQLServerやSQLServerBrowser等、選択できるものはすべて有効化して
そしてOSごと再起動してサービス開始を確認しましたが、ダメでした・・・

com.microsoft.sqlserver.jdbc.SQLServerException: ホスト に TCP/IP 接続できませんでした。
java.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)

気になる点としては、SQLServer認証でログインする時表示される
サーバー名が"localhost\SQLEXPRESS"と\マークが入っているので
private final String serverName= "localhost\\SQLEXPRESS";
とjava側で書いていますが、ココは大丈夫でしょうか?
786デフォルトの名無しさん:2006/07/21(金) 14:35:59
>>784
>sp.parse(new File("hoge.xml"), df1);ならどうなりますか?
状況変わらずです

ファイルに書き出すコード(DefaultHandler1の中から):
BufferedWriter bf = null;
public void startDocument(){
 bf = new BufferedWriter(new FileWriter("check.txt"));
}
public void characters(char ch[], int st, int len){
 bf.write(ch, st, len);
}
public void endDocument(){
 bf.close();
}
787デフォルトの名無しさん:2006/07/21(金) 14:37:13
>気になる点としては、SQLServer認証でログインする時表示される
>サーバー名が"localhost\SQLEXPRESS"と\マークが入っているので
>private final String serverName= "localhost\\SQLEXPRESS";
>とjava側で書いていますが、ココは大丈夫でしょうか?

これだよ。自分でわかってんじゃん。
「ホスト名」ってヒントもらってるんだから。
788757:2006/07/21(金) 15:03:16
>>787
クエリでSELECT HOST_NAME() from emp を実行するとマシン名のAA1を返してきました。
private final String serverName= "AA1";
private final String serverName= "AA1\\SQLEXPRESS";
private final String serverName= "SQLEXPRESS";
これでもやっぱりダメです。

それとも何か根本的に違ってますか?
789デフォルトの名無しさん:2006/07/21(金) 15:11:23
>>788
なぜ"localhost"を試さない?
同一マシン上でDBは動いてるんだろ?
790デフォルトの名無しさん:2006/07/21(金) 15:17:32
その前に混在モードにしてないだろ
インストール時にSECURITYMODE=SQLを指定しておかないとログインできないぞ
791デフォルトの名無しさん:2006/07/21(金) 15:25:18
>>786
とりあえずLFになることが分かってるのなら
bf.write(ch, st, len);

for (int i = 0; i < len; i++) {
if (ch[i + st] == '\n') bf.newLine();
else bf.write(ch[i + st]);
}
にするとか。
792757:2006/07/21(金) 15:32:27
>>789 >>790
そそ、同一マシン上でDB動いてる。
private final String serverName= "localhost";
private final String serverName= "localhost\\SQLEXPRESS";
private final String serverName= "127.0.0.1\\SQLEXPRESS";
private final String serverName= "127.0.0.1";
でもダメだった。
ポートも初期設定のままで、指定とか変更してないなんだけど。

インストール時にWindows認証とSQLServer認証の混合モードに設定してる。
SSMSEにSQLServer認証でsaでログイン出来てるしなぁ・・・
打つ手が無くなったよ・・・
793757:2006/07/21(金) 15:50:38
さっきの書き込みの後、ポートの設定でどうやるんだろ?
って思ってSQLServerでのポート番号の確認の仕方を検索して
見つけてみるとインストールの初期値1433になってなーい。
1433に設定したら繋がりました!イヤッホオオオオウウ!!
マジで感謝だお!
794デフォルトの名無しさん:2006/07/21(金) 15:56:13
シューティングゲームを作ったのですが
アプレットビューワーでは動くのにブラウザ上では
敵が出てきた瞬間に止まってしまいます。
ビューワーで動いてブラウザ上で動かないエラーをおしえてください。
795デフォルトの名無しさん:2006/07/21(金) 16:15:14
>>794
ブラウザ上で止まってしまった時のエラーメッセージは?
796デフォルトの名無しさん:2006/07/21(金) 16:17:46
>>794
>>794
あなたの頭の中を透視できるエスパー・超能力者はこのスレにはいないと思います。
よって、問題を見て欲しいのならなるべく多くの情報を書き込んでください。
でないと何がどうなってどういう結果が出るのか誰にもわかりません。

・JAVAの種類(SE・MEとか)、バージョン
・動かないプラウザの名称
・WEBサーバにどういう風にファイルを入れているか(プログラムと画像データその他が一緒の
  ディレクトリに入れていないとか)
・アプレットを入れているHTMLのソース
・JAVAソースコード
・その他思いつく限りの情報

・・・私の超能力によると、おそらく敵の運動パターン・出現位置は別のテキストファイルに記述してあり
敵が出現するごとにJAVAプログラムがそれをロード、解析し動かす。というものなのだがそのテキストファイル
が無いのでロードできず止まってしまうのではないか。・・・ではないかと思うのですが。

例外処理を導入しIOエラー等がでたらそれを知らせる警告を出すなどをしたほうがバグ取りや保守改良が
しやすいのでおすすめですよ。

とここまで書いて質問者が希望する答えが
>ビューワーで動いてブラウザ上で動かないエラー
なのに気づいたorz
797平安京:2006/07/21(金) 16:54:45
最新プラグイン入れたらなぜか動きました!
もうひとつ質問です
エラーメッセージはIE6.0でどうやって表示するんですか?
さっきは表示されませんでした
798デフォルトの名無しさん:2006/07/21(金) 17:18:21
Tomcat5.0を正常に動かすため、jre1.5.0_06から
j2re1.4.2_10に、javaのバージョンを変えたいのですが、
(jspが上手く動作しないため)
コマンドプロンプトでjava -versionを打つと、
1.5.0_06のままで、プログラムの追加と削除にも1.4.2しか出てきません。
どうすれば1.4.2に戻せるでしょうか。

本当は1.5.0_06でTomcatを動かせればいいんですが、
Tomcat5.5にはstartup.batとかが入っておらず起動できず。

何か、これを試せ、という事があれば教えていただければと思います。
宜しくお願いします。
799デフォルトの名無しさん:2006/07/21(金) 17:22:15
>797
if Sun JVM,
tool -> Java console
800デフォルトの名無しさん:2006/07/21(金) 17:29:13
>>798
TomcatでJSPを動かすにはJREではだめで、JDKが必要。
JDKなら、1.4でも5.0でも動く。
Tomcat5.5にもstartup.batあるよ?zipの方使ってみたら?
801デフォルトの名無しさん:2006/07/21(金) 17:32:34
802デフォルトの名無しさん:2006/07/21(金) 17:41:47
>>798
> 本当は1.5.0_06でTomcatを動かせればいいんですが、
> Tomcat5.5にはstartup.batとかが入っておらず起動できず。

入ってるよ。よく見れ。

>>800
Tomcat5.5ならJREでOKだよん
803798:2006/07/21(金) 17:59:21
zipで5.5のセット一通りを解凍したところ、無事起動しました。
迅速なレスありがとうございました。
804デフォルトの名無しさん:2006/07/21(金) 19:16:10
複数の文字列をファイルに出力する処理で
・StringBuilder等に文字列を追加していって最後に出力
・文字列を各々出力(BufferedWriter使用)
のどっちがいい?
805デフォルトの名無しさん:2006/07/21(金) 19:19:09
どのくらい文字列があるかによるな
806デフォルトの名無しさん:2006/07/21(金) 19:29:11
>>804
スレッドが異常停止するタイミングを考えるんだ。
807デフォルトの名無しさん:2006/07/21(金) 19:56:10
BufferedWriterのがいいに決まってる、大抵の場合。
808デフォルトの名無しさん:2006/07/21(金) 20:19:17
>>804
BufferedWriter でいいんじゃない?

809デフォルトの名無しさん:2006/07/21(金) 20:56:02
>>773
ApacheDerby
810デフォルトの名無しさん:2006/07/21(金) 21:53:39
>>804
その文字列をappendしていった途中経過が要求される場合に限っては
当然前者の方が優位。
単純にファイル出力したいだけなら、後者の方がいい。

見た感じ、大量の文字列を扱いたいと考えてるように思えるが、それだと
StringBuilderのキャパシティの更新コストが大量に発生する可能性が
ある。
それに冷静に見れば、前者にしろ後者にしろ出力する分の文字列
インスタンスを生成するトータルコストは変わらん。
だから、途中経過が要求されないなら、StringBuilderを生成する
意義が全くない。

811デフォルトの名無しさん:2006/07/21(金) 22:49:11
そもそも件数が多いと無駄にメモリ食うだけ。
812765:2006/07/21(金) 23:17:03
765です。再度の質問すみません。

「googleなどの検索エンジンにおいてキーワードを入力して検索し、
検索結果のサイトの50〜1000件のページをアーカイブして、テキストファイルを作成する。 」

というシステムを作成したいのですが、
プログラムの流れを教えていただけないでしょうか。
google APIを利用する場合、しない場合どちらでも結構です。

よろしくお願いします。




813デフォルトの名無しさん:2006/07/21(金) 23:24:07
検索結果画面で50〜1000なのか、検索結果画面に出てきたリンク全てを50〜1000なのかどっち?
814765:2006/07/22(土) 00:07:57
すみません、検索結果の上から50件程度から1000件程度です。
815デフォルトの名無しさん:2006/07/22(土) 00:09:20
それなら普通に取得すればいいのでは?
Googleって基本全部GETで遷移できるでしょ
816 ◆T.CxvhQZS2 :2006/07/22(土) 03:35:33
あの
817デフォルトの名無しさん:2006/07/22(土) 04:04:01
ちょっと相談に乗ってくんろ。
JavaでXMLドキュメントを扱いたいんだけどJAXPを使うか直接DOM/SAXを扱うか悩んでる。
結論はないんかもしれんがどっちがいいってのを理由をつけてよろ。
818デフォルトの名無しさん:2006/07/22(土) 05:21:39
あるクラスAでprivateな変数とその変数を参照するアクセサを定義していて、
mainでそのクラスAのオブジェクトと、
別のクラスBのオブジェクトを生成したあとに、
クラスBのオブジェクトの関数内から先ほど作成したクラスAのオブジェクトのアクセサから
privateな変数を参照するにはどうしたらいいですか?
819デフォルトの名無しさん:2006/07/22(土) 05:26:10
オブジェクト名はmainに書かれてるのでクラスBからは
オブジェクト名を使ってアクセサを実行することができないのでどうすればいいのかと。
820デフォルトの名無しさん:2006/07/22(土) 07:02:59
>>819
Bのメソッド使うときに引数で渡すとか、ずっと使いたいなら
Bコンストラクタで渡してインスタンス変数に入れとくとか。
821デフォルトの名無しさん:2006/07/22(土) 07:04:38
ちと補足:Aの参照を渡すって事ね
822デフォルトの名無しさん:2006/07/22(土) 11:56:44
ぬるぽで落ちました。

823デフォルトの名無しさん:2006/07/22(土) 13:17:23
>>818
今、どれぐらいの力量なのか知らんが、文法を一通り勉強したなら、
次は UML・デザインパターンのような設計の見通しを立てる勉強もしろよ。
デザインパターンの本に載ってるようなソースを何度も眺めていたなら、
そんな質問もほとんど湧いてこないはずだ。
824デフォルトの名無しさん:2006/07/22(土) 14:56:27
変数をグローバル変数にすればいい。アクセサも必要ないまじオススメ^^
825デフォルトの名無しさん:2006/07/22(土) 17:36:59
>>824
初心者 Perler 逝ってよし
826デフォルトの名無しさん:2006/07/22(土) 19:02:59
Perlってグローバル変数を多用するんですか
827デフォルトの名無しさん:2006/07/22(土) 19:22:57
java初心者です。
というかまだはじめられないのですが・・・。

javaをダウンロードしたら、「JDK」じゃなくjavaのファイル内には「jre1.5.0_07」というのが入ってるんですが、環境pathの設定は
「c:\Program Files\Java\jre1.5.0_07\bin」でよいのでしょうか?
それとも「JDK」というのもいるのでしょうか?

いつまでたっても、実行時に↓が出ます。

『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
828デフォルトの名無しさん:2006/07/22(土) 19:26:31
はい
829デフォルトの名無しさん:2006/07/22(土) 19:28:11
>>827
JDKのが必要。JREのはなくても動く。
c:\Program Files\Java\jdk1.5.0_07\bin
830デフォルトの名無しさん:2006/07/22(土) 19:31:11
>>827
よくない。
c:\Program Files\Java\jre1.5.0_07\binにはjavaの実行環境が入ってるだけ。
そのフォルダにはjavacがないのは見れば分かると思うが。path通す意味ない。
http://java.sun.com/j2se/1.5.0/ja/download.html
からJDKをダウンロードして、JREでなくJDKをインストールしたフォルダの中のbinにpathを通す。
831デフォルトの名無しさん:2006/07/22(土) 19:43:07
832デフォルトの名無しさん:2006/07/22(土) 19:46:20
833デフォルトの名無しさん:2006/07/22(土) 19:50:55
827です。
ありがとうございました。

これでやっとjavaをはじめられそうです。
834デフォルトの名無しさん:2006/07/22(土) 19:53:11
先が思いやられますね
835デフォルトの名無しさん:2006/07/22(土) 19:55:35
>>833
少ないかもしれんが多くの人間が通った道だ。がんばれ。
836デフォルトの名無しさん:2006/07/22(土) 20:02:44
ttp://java.sun.com/j2se/1.5.0/ja/download.html
IEだとココが真っ白なワケをおしえてください
837デフォルトの名無しさん:2006/07/22(土) 20:05:41
>>836
ホントだ!すげー!
838デフォルトの名無しさん:2006/07/22(土) 20:11:24
>>836
FireFoxとかだと見れるのか!!?
Sleipnir使ってるけどここ数ヶ月真っ白。
839デフォルトの名無しさん:2006/07/22(土) 20:16:32
>>838
Firefoxでは見られる。
Sleipnirは事実上IEプラグインじゃん。
840デフォルトの名無しさん:2006/07/22(土) 20:16:57
>>836
なんでだろ、Operaは読めた。
841デフォルトの名無しさん:2006/07/22(土) 20:23:49
MSは氏ねって事だろw
842デフォルトの名無しさん:2006/07/22(土) 20:26:38
SunはアンチMSw
843デフォルトの名無しさん:2006/07/22(土) 20:44:02
サーバーと通信するアプレットを作ってるんですが、困ったことが起きたので質問させてください。
アプレットはHTMLファイルに埋め込んでます。
サーバー(Javaで作ったもの)とhttpサーバーとを起動させた状態で、ブラウザのアドレス欄に
localhost/****.html
と入力するとアプレットはちゃんとサーバーと通信してくれるんですが、自分のIPアドレスを使って
123.456.789.000/****.html
と入力するとAccessControlExceptionが発生してしまいます。
なぜでしょうか…よろしくお願いします。
844デフォルトの名無しさん:2006/07/22(土) 21:19:59
>>843
OSやバージョンは何だ
845843:2006/07/22(土) 21:25:10
WindowsXP
J2SE1.5
846デフォルトの名無しさん:2006/07/22(土) 21:56:19
次のプログラムは何を行うプログラムか.簡単に説明しなさい.また,
結果を得るまでに,A[k]==aの比較が行われた回数を書きなさい.

A=new Array(3, 8, 19, 20, 22, 24, 45);
i=0;
j=A.length-1;
a=19;
k=Math.floor((i+j)/2);
while(i<=j){
if(A[k] == a){
break;
}
else if(A[k] > a){
j = k - 1;
}
else{
i = k + 1;
}
k = Math.floor((i+j)/2);
}
if(i>j) k=-1;
document.write(a," ",k);

お願いします答え教えてくださいm(__)m
847デフォルトの名無しさん:2006/07/22(土) 22:00:41
>>846
スレ違い。
848デフォルトの名無しさん:2006/07/22(土) 22:27:17
war fileって
ウォーファイル?ワーファイル?
849デフォルトの名無しさん:2006/07/22(土) 22:32:09
>>848
日本では「わー」が主流。
米国では「うぉー」が主流。

ちなみに、earは
日本では「あー」が主流。
米国では「いやー」が主流。
850デフォルトの名無しさん:2006/07/22(土) 22:37:50
>>849
やはりそうか。。。
最近日系企業に行ってわーわーいってるからなんのことかわからなかったよ・・
851デフォルトの名無しさん:2006/07/22(土) 23:10:08
>>836
ん?漏れのIE6は表示されてるぞ?
ただ、Scriptエラーはでてるな。
852デフォルトの名無しさん:2006/07/22(土) 23:27:45
じゃあjarもじゃあじゃなく他の読み方があるのかな
853デフォルトの名無しさん:2006/07/22(土) 23:27:55
STAR WARS だけはなぜかちゃんとスターウォーズなんだよね。不思議。
854デフォルトの名無しさん:2006/07/22(土) 23:28:59
warやearは普通の英単語だろ
jarって単語あったっけ?
855デフォルトの名無しさん:2006/07/22(土) 23:36:33
>>852,854
日米ともに「じゃー」だよ。
jarは日本語では瓶とか壺とか。

Eclipseではビルドパスに設定されるjarファイルは瓶のアイコンでしょ?
856デフォルトの名無しさん:2006/07/22(土) 23:51:13
おお!
857デフォルトの名無しさん:2006/07/23(日) 00:08:49
あいやー!
858デフォルトの名無しさん:2006/07/23(日) 00:17:51
aaaa bbb ccc ddddd
って書いて保存したあと
メモ帳で開くと文字化けします。

859デフォルトの名無しさん:2006/07/23(日) 00:18:04
( ゚,_・・゚)ブブブッ
860デフォルトの名無しさん:2006/07/23(日) 01:17:22
?????????
マジだすげー!!どうなってるんだろう
861デフォルトの名無しさん:2006/07/23(日) 01:19:40
862デフォルトの名無しさん:2006/07/23(日) 01:48:57
逆参照可能なMapクラスってありますか?
つまりvalueからkeyを参照するためのものです。
hash機構が使われないのであれば意味が無いのですが
863デフォルトの名無しさん:2006/07/23(日) 02:09:47
おまえはあほか。
864デフォルトの名無しさん:2006/07/23(日) 02:16:01
おまえよりちょっとマシな程度。
865デフォルトの名無しさん:2006/07/23(日) 02:29:43
逆参照可能な Map クラスを作っちゃえばいいじゃない
866デフォルトの名無しさん:2006/07/23(日) 02:30:59
Map を2つ用意すればいい。
867デフォルトの名無しさん:2006/07/23(日) 02:32:25
>>862
valueをkeyに、keyをvalueにしたMapを用意すればすむ
868デフォルトの名無しさん:2006/07/23(日) 02:35:47
Map.EntryをIteratorでぐるぐる回して
valueを調べていくしか無いんジャマイカ。
869デフォルトの名無しさん:2006/07/23(日) 02:43:30
標準で無いならMap2つ持つほうが良いようだね
870デフォルトの名無しさん:2006/07/23(日) 02:48:30
>>867
valueの重複ができなくてもいいのならね
871デフォルトの名無しさん:2006/07/23(日) 03:00:58
nullとか持てるし意外とコスト高かも
872デフォルトの名無しさん:2006/07/23(日) 03:15:25
SAXを使ったプログラムを、大容量のXMLファイルを引数にしてコンソール上で実行すると以下のような表示が出て、
処理が終了してしまいます。
「パーサは、アプリケーションによって設定されたエンティティの拡張制限"64,000" に達しました。」

これを回避して大容量のXMLファイルを扱えるようにするにはどうすればよいのですか。ご教示ください。
873デフォルトの名無しさん:2006/07/23(日) 03:34:33
そのアプリケーションのパーサのエンティティの拡張制限の設定を変える
874デフォルトの名無しさん:2006/07/23(日) 03:43:26
-DentityExpansionLimit=100000000
875872:2006/07/23(日) 04:05:12
>>873, 874
ありがとうございます。

私もネットで調べて874さんの方法にたどり着き、先輩に提案したのですが、
「その方法ではだめ、ほかにも方法があるから自分で調べてくれ」と言われました。
しかし、いくら調べても同じようなページにばかり行き着いて途方にくれています。
ほかの方法はありませんか。お願いします。
876デフォルトの名無しさん:2006/07/23(日) 06:50:59
>>862
逆参照というからには、もちろんkeyとvalueは1対1対応なんだろうな?
高パフォーマンス志向ならMap2つ。
低メモリ志向ならkeyとvalueの情報を持つ構造体的オブジェクトのList。

1対1対応じゃないなら地道にMapの中身をイテレートして検索するしかない。
877デフォルトの名無しさん:2006/07/23(日) 12:42:50
>>875
その先輩の頭の中は分からないから「ほかの方法」とやらが何をもって他の方法なのかが不明。
System.setProperty("entityExpansionLimit", "-1")
をプログラム中で追加するのは他の方法にはならないのか。
いっそのことエンティティの展開制限のないparserに切り替えればいいのでは?
その先輩とやらの求めるイメージを知らずにはいくら調べても意味がないと思うよ。
聞いてみるべし。
878デフォルトの名無しさん:2006/07/23(日) 13:10:51
何でその方法ではだめなのか理由があるはずだから、
まずそれを聞いてみることをお勧めする。
その逆をやればいいわけだから。
もし理由が理不尽なんだったら、その先輩を締め上げてもよろしい。
879デフォルトの名無しさん:2006/07/23(日) 14:18:02
JTextAreaで、何色かの文字を混合させたいのですが、どうしたらよいでしょうか。
880デフォルトの名無しさん:2006/07/23(日) 14:35:06
>>879
JTextAreaでは部分的に文字色を変えることはできなかったと思う。
替わりにJTextPaneを使ってみるのはどうか
881デフォルトの名無しさん:2006/07/23(日) 15:51:50
>> 877 >>878
大変参考になりました。ありがとうございました。
882デフォルトの名無しさん:2006/07/24(月) 05:29:34
>>881
し、締め上げるのか…?
883デフォルトの名無しさん:2006/07/24(月) 05:52:31
お勧めーーな本を教えて下さい
884デフォルトの名無しさん:2006/07/24(月) 06:39:01
やさしいMaja
885デフォルトの名無しさん:2006/07/24(月) 06:53:11
って、そんな本で学習してたらこっちまで
妙な髪形にしたくなっちまったじゃねーかよ この野郎!(ベシッ)
886デフォルトの名無しさん:2006/07/24(月) 07:05:23
Maja魂
887デフォルトの名無しさん:2006/07/24(月) 08:26:54
マヤ? マハ? マジャ?
888デフォルトの名無しさん:2006/07/24(月) 09:36:27
>>887
http://www.digitalhome-yoshimoto.com/blog/archives/0822maja.jpg

>>883
文法を一通りやったなら、これだな。
http://www.amazon.co.jp/gp/product/4797327030/503-7295059-4599152?v=glance&n=465392&s=gateway
ただ、こいつはデザインパターンを主題に掲げてるが、3割ぐらいは解説がイマイチ。
まあそれだけ使われにくいパターンだってことかもしれんが。
テーマであるデザインパターンより、諸処に織り込まれてる補題がリッチで、
オブジェクト指向脳を形成するのにかなり役立つと思われ。
889デフォルトの名無しさん:2006/07/24(月) 17:12:41
TomcatでJSPをローカル表示する際の質問なのですが、
英語は問題ないものの、日本語が???になってしまい、
ネットで見つけたサンプル日本語化文章を試してもエラーが出てしまいます。

なお、疑わしい事として、現在Tomcat5.5を使っているのですが、
前のTomcat5.0が46MBあるのに対して、今の5.5は22.5MBしかないため、
何かしら足りないせいで誤作動を起こしているのか?とも思うのですが、
DLページの5.5関連物は全て落として上書きしていると思うので、
原因が分からず詰まっております。

このような場合、どういった事を試せば良いでしょうか?
890デフォルトの名無しさん:2006/07/24(月) 17:17:52
>>889
自分も初心者なので詳しくはわかりませんが
エンコードの設定とかではないでしょうか?
891デフォルトの名無しさん:2006/07/24(月) 17:25:39
>>889
OSとJSPのソースコードの保存文字エンコーディングと
pageディレクティブの設定と
JSPコンパイラのjavaEncodingの設定。

話しは、これらを晒してからだ。
892デフォルトの名無しさん:2006/07/25(火) 10:34:46
c++では++iとi++では++iを使えという鉄則があります
i++は内部的には以下のようになっていて++iより遅いというのです
int old = i;
++i;
return old;

javaでも同じですか?
893デフォルトの名無しさん:2006/07/25(火) 10:41:23
鉄則とか遅いとか断言したかったら汗くらい読めよハゲ
894デフォルトの名無しさん:2006/07/25(火) 10:45:06
>>892
単純に
i++;とか++iとかやるときは同じバイトコードみたいだけど。
どちらも、iinc
895892:2006/07/25(火) 10:48:38
>>893
ハゲっていうなよちくしょお
これから汗読んでやるよちくしょお
896892:2006/07/25(火) 11:00:18
以下のコードを書いてみた
public class Test {
static i = 0;
public static void main(String[] argv) {
preinc();
postinc();
}

public void preinc() { ++i; }
public void postinc() { i++: }
}

でjavac Test.java
javap -c Test
したらどっちも一緒だった
jad Test.classしたら両方ともi++に直されていた

ということでjavaでは++iもi++も最適化がかかり同じものとして
扱われるということですね
間違ってたら指摘して下さい・・・
897デフォルトの名無しさん:2006/07/25(火) 11:46:18
>>896
その実験の意義は何だ?
単にi++単独と++i単独とが最適化で同一化してしまうことを再確認しただけだろ。
そんなの、実験しなくても普通にわかると思うが。
敢えて突っ込んで結論を書くなら、「i++は++iよりも遅くはない」ってところか。

それと、この件の言い出しっぺは実際何を比較したかったのかが
イマイチよくわからんな。
果たして>>896のようなi++単独と++i単独の単純比較をしたかったのか?
この両者はプロセスは違うが、演算結果は等価なんだから、こんな
ごく単純なコンテキストでは、コンパイラが最適化して同一化して
しまうというオチは火を見るより明らかと思うが。
こんなのすら最適化できないコンパイラって、はっきり言ってアフォだろ。

>>892のようなことを書いているが、その話は

  data[i++]=xxx;
  data[++i]=xxx;

のような、プロセスによって演算結果に影響が及ぶ非可換なコンテキストで
発生する話だろ。非可換なものに対してこちらを使えとか意味がわからん。
結局、効率の良い方に載せるために前プロセスを置いた結果、
全体的なパフォーマンスには何ら変化無し、あるいはかえって低速化という
オチすら見え隠れする。

そんな細かいのを気にするよりは、とあるメソッドで無駄にインスタンスが
生成されてないかどうかを探す方がよほど有意義。
898デフォルトの名無しさん:2006/07/25(火) 11:59:13
なげーよ
899デフォルトの名無しさん:2006/07/25(火) 12:04:03
>>898
並のプログラムよりは短けーよ
900デフォルトの名無しさん:2006/07/25(火) 12:51:44
>>892
分かってないな、おまい。
C++ で ++i を使えというのは、
++ 演算子がオーバーロードされてる場合に
++i と i++ で ++i の方が速い実装になってる場合が多いという話から、
とりあえず ++i にしとけば何も考えなくてすむよという話だ。
int とかそういうものだと ++i も i++ も今のコンパイラなら変わらんが、
オーバーロードされてるかどうかで前後変える必要も無いので
++i で統一しよう、と。

当然、++i と i++ とで意味が変わる文脈では
使い分ける必要があるがな。
ただ、最近はそういう文脈自体を避ける傾向にある。

Java でどうなるか。
それは以上を把握していれば分かる筈。
901デフォルトの名無しさん:2006/07/25(火) 13:34:44
最近Java初めて、このまえJavaの鉄則ってやつ読んだんだが、
Javaコンパイラが全然最適化しないってのは本当なの?
上を見る限りではi++も++iも同じになってるみたいだけど
902デフォルトの名無しさん:2006/07/25(火) 13:51:38
全然は言い過ぎだな。
バイトコードへの最適化なので、文法的な最適化ぐらいしかできないから
c系のようにCPUに合わせて最適化した汗を吐く訳じゃないが
上で出たような++i/i++とか、String結合でStringBuilderを使うような最適化はしてくれる。

そのかわりjavaの場合は、jvm側での実行時最適化に重点が置かれている訳だが。
903デフォルトの名無しさん:2006/07/25(火) 13:52:36
最近のJavaでは、最適化は実行時に行うのがイイのでは
904デフォルトの名無しさん:2006/07/25(火) 15:50:17
>>902
>>String結合
それはやってくれないから自分でせにゃならんものの代表例じゃなかったか?
905デフォルトの名無しさん:2006/07/25(火) 16:19:20
>>904
やってくれるみたいよ。jdk1.5.0_07で、

String t = "a" + "b" + "c" + "d" + "e";
t += "e" + "f" + "g";

これをjavacした後でjadしたらこうなった。

String s = "abcde";
s = (new StringBuilder()).append(s).append("efg").toString();
906デフォルトの名無しさん:2006/07/25(火) 16:39:25
最近のコンパイラは構文糖の処理とかなんだかんだと頑張ってくれてるからなあ
907デフォルトの名無しさん:2006/07/25(火) 16:48:50
aaaというフォルダの中に
 a001.txt,a002.txt,a003.txt・・・aXXX.txt
 b001.csv,b002.csv,b003.csv・・・bXXX.csv
て入ってて、.txtファイルだけの一覧がほしい場合はどうやるんですか?

Fileクラスを使うのはわかったんですが、いまいち具体的な記述方法がわかりません。
教えてください。
908デフォルトの名無しさん:2006/07/25(火) 16:50:24
>>907
Filterじゃ、Filterを使うんじゃ
909デフォルトの名無しさん:2006/07/25(火) 16:51:30
listの
public String[] list(FilenameFilter filter)

のことですか?
910デフォルトの名無しさん:2006/07/25(火) 17:24:34
>>909
その通り
911デフォルトの名無しさん:2006/07/25(火) 17:27:59
>>907
String[] list = file.list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
});
912デフォルトの名無しさん:2006/07/25(火) 17:32:31
>>906
構文糖ってやっと判ったよ。
文法砂糖の事か orz
913907:2006/07/25(火) 17:34:26
うまくできました
百万の感謝を
914デフォルトの名無しさん:2006/07/25(火) 19:37:05
java3Dでコンターを作りたいのですが誰か教えてください.
お願いします.
915デフォルトの名無しさん:2006/07/25(火) 20:02:28
>>905
あのな、冷静に考えろ。
それは最適化してませんという意味だぞ。
そのプロセスでどれだけ無駄なインスタンス生成が起こってるか考えれ。
916デフォルトの名無しさん:2006/07/25(火) 20:08:06
1.4から固定長なら変数が含まれていてもプラスをつかってひとつの文で連結するほうが早いんだよな。
917デフォルトの名無しさん:2006/07/25(火) 20:08:38
>>915
1つだけだろ。
918デフォルトの名無しさん:2006/07/25(火) 20:11:54
>>917
お前はJFCのソースを半年ROMってろ。
919デフォルトの名無しさん:2006/07/25(火) 20:17:56
HttpServletResponse.setStatus(205)って何のときに使用するんだ?
920デフォルトの名無しさん:2006/07/25(火) 20:18:46
>>918
マジで言ってるなら解説頼む
921デフォルトの名無しさん:2006/07/25(火) 20:34:46
>>915
リテラル2つを除けば、無駄になるのはStringBuilderのインスタンス1つだけだと思うが。
AbstractStringBuilder#expandCapacity(int)でchar配列作り直すのはノーカンな。
実際、この場合文字列は16文字以下だからそんなことは起きないし。

どうも915(=904?)は見当違いの解釈をしているような気がする。
>>902
「String結合でStringBuilderを使うような最適化」と言ってる。
これって、>>905みたいに、+で文字列結合するコードをStringBuilderで置き換えることを
指してるわけだろう?なら十分じゃないか。
もちろんjadが吐いた>>905のコード以上の最適化は可能だが、
>>902がそこまでの意図を込めて言及しているとは思えない。
922デフォルトの名無しさん:2006/07/25(火) 20:45:01
書くのがめんどいからもう放っておこうかと思ったが。

>>921
今は最適化の話だよな。
無駄になるのが1つだけと書いてあるが、それはコンテキストとして
O(2n)以上の無駄になるって脳内変換できてるか?
単発の最適化の話をしてるつもりはサラサラないぞ。
923デフォルトの名無しさん:2006/07/25(火) 20:49:23
>>922
いえ、>>902から一貫して、あなたのいう「単発の最適化」の話です。
システム全体での最適化の話をしているのなら、別の文脈でどうぞ。
924デフォルトの名無しさん:2006/07/25(火) 20:53:46
>>923
別の文脈でって、>>905のソースそのままのみじゃ、ナノ秒の差。
そんな土台で話して意味がないだろ。
こういう話をするなら、最低限n回繰り返すループを前提にして然り。
925デフォルトの名無しさん:2006/07/25(火) 20:53:51
最適化廚うぜ
926デフォルトの名無しさん:2006/07/25(火) 20:58:12
JFC を JDK のコアライブラリと勘違いしてる馬鹿が混じってるようですが
927デフォルトの名無しさん:2006/07/25(火) 21:03:17
> そのプロセスでどれだけ無駄なインスタンス生成が起こってるか考えれ。

そのプロセスだけ、と限定してるのはお前。知ったかで風向きが悪くなったからって
勝手に話を広げんな。
928デフォルトの名無しさん:2006/07/25(火) 21:06:47
>>927
俺の目にはあのプロセスでO(2n)以上の無駄が発生する可能性大という
メッセージしか浮き上がってこなかったのでな。
局所的な目にしか持ってないお前に合わせてやれなくて残念だった。
929デフォルトの名無しさん:2006/07/25(火) 21:11:50
あほ
あのコードだけでどうグローバルに最適化すんだよ。どうインスタンスを減らすんだよ。
でて来てんのはあのコードだけだろ。
930デフォルトの名無しさん:2006/07/25(火) 21:12:49
>>928
一人だけずれてることにいい加減気づけ。
931デフォルトの名無しさん:2006/07/25(火) 21:14:40
>>928
そうだな。日本語の怪しい莫迦はすっこんでてくれ。
932デフォルトの名無しさん:2006/07/25(火) 21:19:24
つーかな、お前ら。普段、

  String str = "xxx";
  str += "xxx";

が1回ずつ実行されるプロセスを問題視するのか、そんなわけないだろ?
O(n)とかO(n^2)とかのループに乗ってこそ、話が重要になってくるんだろ。
お前らは1文が何を実行してるか知ってるだけで満足して、それがどう
影響してくるかまで考え切れてないだけだろ
勝手に話を広げてるって、お前が何を重要視すべきかとらえ切れて
なかったことの負け惜しみにしか聞こえないぞ。
実際、s += "xxx"; がn回ループされたら2n個の無駄が発生するのは事実だろ。
違うか?

Javaは楽だからって、そんな辺りも考慮できない頭のやつしか集まってないのか?
933デフォルトの名無しさん:2006/07/25(火) 21:23:57
話の趣旨を理解する能力のない莫迦が必死に言い訳。
哀れだな。
934デフォルトの名無しさん:2006/07/25(火) 21:25:18
>>932
周りを馬鹿認定して勝利宣言 (プッ
935デフォルトの名無しさん:2006/07/25(火) 21:26:25
>>932
ナノ秒ほどの効果しかない最適化して「速くなったぜ!」とふんぞり返ってるのを見て
「アホか!そんなの意味無いわ!」と言いたくなる気持ちはよく分かる。
実際、システム全体の最適化で注力すべきはこんなところじゃない。

ただ、ここまででレスしてる人達は、そういう話はちゃんと分かってるよ。
それを分かった上で、
「javacは、String連結をStringBuilderに置き換えるくらいの最適化はするよ」と
いう話をしてたんだ。
こんなのシステム全体の最適化にとっては大して重要な話じゃないが、
そんなことはみんな分かった上でそういう話をしていたの。

キミが怒るような大それた話をしていたんじゃない。
だから、そんなに怒る必要はないよ。安心して。
936デフォルトの名無しさん:2006/07/25(火) 21:28:09
はいはい、了解。

今現在ここは、1文1文に神経を通わすことができず、正しいことを
言われると莫迦とか勝手に話広げてるとか日本語怪しいとか
本筋とは程遠い中傷を吐くことしかできない頭のやつしか存在
しないことは把握した。
937デフォルトの名無しさん:2006/07/25(火) 21:29:31
>>String連結をStringBuilderに置き換えるくらいの最適化はするよ
それ、最適化じゃないからね。単に+演算子を置き変えてるだけ。
938デフォルトの名無しさん:2006/07/25(火) 21:34:45
二回も勝利宣言しなくてもいいよ、みんな分かってるからw
939デフォルトの名無しさん:2006/07/25(火) 21:42:14
あんたが周りとは違う視点を持っているのはよくわかったから、はやく消えてくれよ
940デフォルトの名無しさん:2006/07/25(火) 21:43:57
>>915がこう書いていたら、皆さんどう反応していただろうか?

>>905
それはそうだが、行レベルではやってくれるけど、こういう場合だと意味ないじゃん?
String s = "";
for(int i = 0; i < 100; i++){
 s += i;
}

件の最適化でStringBuilderに置き換えてもこうなるわけで。
String s = "";
for(int i = 0; i < 100; i++){
 s = new StringBuilder().append(s).append(i).toString();
}
ループの数だけStringBuilderが無駄にできてしまう。

これが自動でこう最適化されてくれればいいんだが。
String s = "";
StringBuilder sb = new StringBuilder();
for(int i = 0; i < 100; i++){
 sb.append(i);
}
s = sb.toString();
941デフォルトの名無しさん:2006/07/25(火) 21:46:37
どうも、このグダグダ話を引き伸ばしたい御仁がいるようだが
引きどころでも逃したのか?w
942デフォルトの名無しさん:2006/07/25(火) 21:51:59
943デフォルトの名無しさん:2006/07/25(火) 21:52:02
>>941
安心しろ、俺は>>940と別人だ。
俺は>>940のような脳内変換がデフォルトでできずに、何から何まで
手取り足取り懇切丁寧に解説してもらわないとダメな努力の足りん
連中が多いことに失望してるわけだがな。
944デフォルトの名無しさん:2006/07/25(火) 21:53:38
ぐだスレにでも行ってくれ
くだスレには行かないようにな
945デフォルトの名無しさん:2006/07/25(火) 21:54:36
できない→今はやってない
946デフォルトの名無しさん:2006/07/25(火) 21:54:51
俺は頭悪いから
>O(2n)以上の無駄
ってのが分らないんだが誰か説明してちょんまげ
947デフォルトの名無しさん:2006/07/25(火) 21:55:14
あのねぇ…端から見ている人間から一言言わせてもらおう。



どっちのアプローチも、すごい参考になったよ!

煽る人ももっと具象で煽ろうよ。
948デフォルトの名無しさん:2006/07/25(火) 21:57:08
>>943
そのレスって何の意味があるの?
何の意味も価値も無いお前の愚痴をここに書かれても困るわけだが^^;
949デフォルトの名無しさん:2006/07/25(火) 21:57:53
>>946
オーダー記法でググレ
950デフォルトの名無しさん:2006/07/25(火) 22:00:13
>>946
呼び出し回数×2に比例する。オーダーと読む。
正確な数式まで行かなくとも大まかな増減量を察するために使う表記。
他は知らんけど物理学の世界では割と頻繁に出てくる。最初に始めたのは
物理学者。ガモフだったかな? 失念した。
951デフォルトの名無しさん:2006/07/25(火) 22:00:58
>>946
やる気があるなら、アルゴリズム論絡みの分野も勉強汁。
コレクションの気持ちがよくわかるようになると思うぞ。
952デフォルトの名無しさん:2006/07/25(火) 22:02:14
記号そのものじゃなくて
2ってどこから出てきたんだ?
953デフォルトの名無しさん:2006/07/25(火) 22:03:54
>>952
Stringインスタンスも1つ無駄に発生してるから。
別にO(n)でもよかったんだけど、StringBuilderしか無駄が発生してないと
思ってるやつがいるから、敢えて強調するために書いてみた。
954デフォルトの名無しさん:2006/07/25(火) 22:04:06
O(2n)ってバカだな
955デフォルトの名無しさん:2006/07/25(火) 22:04:15
そもそもオーダー記法なら
O(2n)じゃなくてO(n)って書くだろ
しったかで使うと恥ずかしいな
956デフォルトの名無しさん:2006/07/25(火) 22:05:50
はいはい、重箱の隅をつつくことにしか脳がない連中乙。
957デフォルトの名無しさん:2006/07/25(火) 22:08:07
一人浮いてるなw
958デフォルトの名無しさん:2006/07/25(火) 22:08:52
>>953
どの文だとStringとStringBuilderの無駄が出てるのか教えてください
>>940にその文ある?
959デフォルトの名無しさん:2006/07/25(火) 22:09:23
てか、マジで小物が多いんだな。
ナノ秒の差でアホ喜びしたり、O(2n)って書いただけでうれしそうに叩いたり。
そんなんだから大局的な見方ができんのだろうな。
960デフォルトの名無しさん:2006/07/25(火) 22:10:27
使い方間違えてるの指摘したら
重箱の隅をつつくだとよw
他人の間違いは嬉々として指摘するのに
自分の間違いを指摘されると逆切れするか絶対に認めないタイプかw
961デフォルトの名無しさん:2006/07/25(火) 22:12:17
古いJavaコンパイラで文字列の+結合した場合はどんなコード吐く?
962デフォルトの名無しさん:2006/07/25(火) 22:13:04
>>958
Stringが不変オブジェクトであるところから復習汁。
それを理解してれば、StringBufferのソースを見なくても
s = new StringBuilder().append(s).append(i).toString();
が「これ、無駄ゴミ出すんじゃねーよ、ヴォケ」って叫んでるのが
聞こえてくるよ。
963デフォルトの名無しさん:2006/07/25(火) 22:14:01
>>960
あのさあ、O(2n)って間違いじゃないんだぜ?
シッタカはお前だよ
もう一回大学からやり直してこい。
964デフォルトの名無しさん:2006/07/25(火) 22:14:23
>>959
煽りじゃなく

> s = new StringBuilder().append(s).append(i).toString();
ここでStringBuilderとtoString()で2つの無駄があるって事であってる?
965デフォルトの名無しさん:2006/07/25(火) 22:15:31
>>963
もし本当なら俺の論文書き直さないといけないので詳しく
966デフォルトの名無しさん:2006/07/25(火) 22:16:17
>>964
そゆこと。
967デフォルトの名無しさん:2006/07/25(火) 22:16:59
最終生成物の String は無駄には数えないだろう。
てか、そんなところに着目して StringBuilder 内のバッファは数えないのかよ。
968デフォルトの名無しさん:2006/07/25(火) 22:17:22
>965
書き直したいなら、書き直してもいいけど。
O(n)とo(n)の区別までする気ある?
969デフォルトの名無しさん:2006/07/25(火) 22:17:34
>>965
別に直さなくてもいいと思うよ。O(2n)=O(n)だから。
等価と間違いを履き違えてるシッタカが潜伏してる訳だが。
970デフォルトの名無しさん:2006/07/25(火) 22:17:41
>>959
お前が、何の話しをしているのかが見えてないだけじゃ。
971デフォルトの名無しさん:2006/07/25(火) 22:18:39
for (int i = 0; i < hoge.getSize(); i++) ...

for (int i = 0, size = hoge.getSize(); i < size; i++) ...
のように最適化してくれたっけ?
972デフォルトの名無しさん:2006/07/25(火) 22:18:44
973デフォルトの名無しさん:2006/07/25(火) 22:19:22
>>967
じゃあ単純に訪ねる。
>>940の2つ目のソースと3つ目のソースではそれぞれ
Stringインスタンスはいくつ生成される?
974デフォルトの名無しさん:2006/07/25(火) 22:19:40
>>965
オーダー表記の目的を考えればどちらも正しいから安心しる。
O(2n) は O(n) よりちょっと詳述的ってだけの話。
975デフォルトの名無しさん:2006/07/25(火) 22:20:47
いやO(2n)って表現使ってる論文見たこと無いんだが
oとOを書き間違えたとか言うなよ
976デフォルトの名無しさん:2006/07/25(火) 22:21:51
>>974
いや違うなo(2n)なら分るがO(2n)など聞いた事も食べたことも無い
977デフォルトの名無しさん:2006/07/25(火) 22:22:49
お前ら大丈夫か?
「見聞きしたことない」と「間違いである」とは天と地の差があるぞ。
978デフォルトの名無しさん:2006/07/25(火) 22:24:27
だからO(2n)の論文の一つでも提示してくれればいいじゃん
979デフォルトの名無しさん:2006/07/25(火) 22:26:19
>>978の脳内では論文=定義集らしいな。
980デフォルトの名無しさん:2006/07/25(火) 22:27:37
情報数理はきちんと修学したわけではないので知らんが、物理の世界は区別してないよ。
つっても 10 年前の事だから忘れてるだけかもしれんが。
981デフォルトの名無しさん:2006/07/25(火) 22:29:09
>>966
おー分ってきた
最後にStringBuilderとtoStringというかStringって
結局同じものが生成されるんですか?
982デフォルトの名無しさん:2006/07/25(火) 22:30:00
テンプレはこのままでイイの?
983デフォルトの名無しさん:2006/07/25(火) 22:31:26
>>973
また脳内前提かよ。
誰もループさせた場合の話なんかしてないっつーの。
984デフォルトの名無しさん:2006/07/25(火) 22:32:50
>>981
StringBuilderとtoStringを並べるな。
面倒くさいから、StringBuilderのソース嫁とだけ言っておく。
ファイルはSunのサイトからDLできる。自分で探せ。
あと用語はきちんと勉強汁。
985デフォルトの名無しさん:2006/07/25(火) 22:34:36
>>983って真性だな。
986デフォルトの名無しさん:2006/07/25(火) 22:37:03
>>985
さっきからこの御仁は。
「最後に言われっぱなしで終わるの嫌だー」って顔真っ赤にしてはっきり言えよw
987デフォルトの名無しさん:2006/07/25(火) 22:38:00
>>950
ランダウの記号というくらいだからランダウだろう。
988デフォルトの名無しさん:2006/07/25(火) 22:38:26
989デフォルトの名無しさん:2006/07/25(火) 22:40:34
>>987
俺は解析学の授業で「ランダウの記号」、アルゴリズム論の授業で
「オーダー記法」って習ったから、情報科的にはオーダーって呼び方の
方がメジャーなんだとばかり思ってたのだが、そうでもないの?
990982:2006/07/25(火) 22:41:39
じゃ、このまま建てtryします
991デフォルトの名無しさん:2006/07/25(火) 22:41:47
> StringBuilderのソース嫁
どうなってるの?
最終文字列が無駄になるってのがどうにも理解できないんだが。
それともStringBuilderをひとつで使いまわした場合に限り無駄にならないか?
992デフォルトの名無しさん:2006/07/25(火) 22:42:39
>>984
>StringBuilderとtoStringを並べるな。
これは何かのルールでも有るの?

見てみたけど結局charの配列が出来るって事で同じではないのかな?
993デフォルトの名無しさん:2006/07/25(火) 22:43:09
>>991
ソースを読んだ上で、>>973の問題を解け。
そんなに難しい問題じゃない。
994デフォルトの名無しさん:2006/07/25(火) 22:43:38
>>987
そうだそうだ、ロシア→ガモフと連想したらもうランダウが浮かんでこなくなった。
さすがに大分ブランクあるからなぁ。
995982:2006/07/25(火) 22:44:14
次スレ
【初心者】Java質問・相談スレッド88【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1153834996/
996デフォルトの名無しさん:2006/07/25(火) 22:44:48
つか>>940の話かよ…

997デフォルトの名無しさん:2006/07/25(火) 22:46:53
>>940が親切にも詳細解説書いてくれたのに、
まだ脳内変換発言が出てくるって、進歩がないにも程があるだろ。
998デフォルトの名無しさん:2006/07/25(火) 22:47:34
横レスすまんが
StringBuilderとStringが同じ無駄じゃないと
2nにはならないから結局同じ無駄が出来るんだろ
それぞれが違う無駄ならO(m+n)か
mとnに大きな差があればO(m)かO(n)になるわけだし
999デフォルトの名無しさん:2006/07/25(火) 22:47:46
自己弁護してて楽しい?
1000デフォルトの名無しさん:2006/07/25(火) 22:48:34
>>940はいくらなんでも比較対象が極端じゃねーか?
StringBuilderでの最適化くらいの話でそんなとこまで言うか普通?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。