【初心者】Java質問・相談スレッド87【大歓迎】
1 :
名無し募集中。。。 :
2006/06/30(金) 23:49:04
2 :
デフォルトの名無しさん :2006/07/01(土) 02:35:20
どうも。 今、実験がてらカードゲーム(ババ抜き)のGUIを作っています。 そこで質問なのですが、カードの内容(ArrayList)が更新されたら 毎回手持ちのカード(JLabelに画像を代入)を表示しなおしと言うコードを書いているのですが JPanelごとrepaintせずにカードの画像を全部消して、再度並べる場合 どのようにメソッドを使い分けるべきでしょうか? 今は ・forループで全部の画像をresize(0,0)してremoveAll( ) ・ArrayListからカードを取り除く ・forループで画像をrisize(48, 64)してrepaint( ) という事をしています。 他にもっとましなやり方とかあったりするのでしょうか? そもそもJLabel以外で軽い画像の表示方法があったりするのでしょうか? ご教示お願いします。
>>2 あれこれ考える前にdouble Bufferとかオフラインイメージって単語でググって来い
>>3 おまえは見当はずれなレスする前にあれこれ考えろ。
5 :
デフォルトの名無しさん :2006/07/01(土) 03:29:07
そうかな? どういう風な事がしたいかにもよるけど・・・。
7 :
2 :2006/07/01(土) 04:20:42
レスありがとうございます。 とりあえず出来る限り軽いGUIを作る勉強をしているので・・・軽い方法を教えていただければと いう状態です・・・。 JPanelには、敵(コンピューター)のカードと自分の手持ちのカードのJLabel[ ]画像を 置いているのですが、コンピューターのカードを書き直さず自分の手持ちのカードのみを 消して書き直すという事を目指しています。 後々、実際にゲームを走らせる時には全部同時書き換えと言う手法でもいいとは思うのですが、 とりあえず今は勉強がてらJPanel上の一部の画像を消して再表示させる方法を探しています。 軽い方法をご存知の方が居られれば教えていただければ助かります。
認証サイトへのアクセスについて質問します。 認証サイトの中のデータを取り出すにはどうしたらよいでしょうか? 下の図のように、1のURLにパスデータを送ると2のデータまでは取れるのですが 3に接続するにはどうしたらよいでしょうか? 1. パス入力画面 ← 1のURLにpostデータを送ると2が取れる ↓ 2. 次の画面 ↓ 3. 2のデータ内容 ← 3のURLにpostデータを送っても許可がないと言われる
3訂正 var hasPermission = false; になって、データの中味が見れないです。
11 :
10 :2006/07/01(土) 08:49:05
12 :
8 :2006/07/01(土) 08:56:30
Web側はJavaScript、今作ってる接続ソフトはJava・・・ どっちで聞けばいいんでしょうか? 3の詳細 今のところはjsをURLConnectionで取得していますが データの中味がない?var gPInfo = {}; 状態になってます
WinXpでこんなソフトを考えてますが、可能でしょうか? LPT1を監視して、他のアプリケーションが印刷ジョブを流したら、 そのデータを読み取りたいです。印刷は行います。
プログラム書くのは何のソフトがいいですか?
メモ帳
kitakore
in for whichあたり覚えた初心者ですが、文表示するプログラムで 何か入力するとそれに対応された箇所が変更されるようにするにはどうすればいいですか? コマンドプロンプトで1っていれたらこの文、2って入れたらこの文出すみたいな。
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するのも同じと思ってたんですが、 実は全然違うものなのですが?
20 :
19 :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) です。
>>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の引数無しコンストラクタが無い
>22 アクセスできないのと、無いのとは異なると思いますが。
>>19 理由は他の人が書いてるからいいとして。どこでそういうコーディングスタイルを身に着けたの?
・main()のnew。よく例題でそう書いてあるけどさ、インスタンスはちゃんと受け取ったほうがいい。
top t = new top();
t.method();
・クラス名は大文字で始める。インナークラスでも同じ。
・throws Exceptionは議論のあるところ。まあ勉強中なら好きにしていいけど。
・リフレクションは余分な例外を発生させるから代替手段がある限りは使わない。
25 :
名無し募集中。。。 :2006/07/01(土) 17:46:49
>>23 無いものにはアクセスできないと思うんだが?
実際引数無しコンストラクタ書けば例外消えるんだけど?
27 :
26 :2006/07/01(土) 17:50:28
すまん、見間違えだった
28 :
26 :2006/07/01(土) 17:51:48
すまん27はまちがい
29 :
名無し募集中。。。 :2006/07/01(土) 17:52:08
やべー俺も勘違いしてた気がする
>>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なんだが
変更でもあったのかね
D:\Java>javap top.inner -private Compiled from "top.java" class top$inner extends java.lang.Object{ private top$inner(); public void method(); } コンストラクタはあるようです。(ただし、private)
コンストラクタが無いときの例外 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)
35 :
34 :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"
36 :
19 :2006/07/01(土) 18:05:19
>実際引数無しコンストラクタ書けば例外消えるんだけど?
あぁ、ホントですね。コンストラクタを定義してないときは
勝手に引数なしコンストラクタが定義されるもんだと思ってました。
>>21 なぜ、というか単に興味ですので、
実際にどこかで使う予定があるというわでは無いんです。
37 :
19 :2006/07/01(土) 18:07:25
おっと、時間差で・・・
>>33 >コンストラクタはあるようです。(ただし、private)
あぁ、そういうことなんですね。
38 :
17 :2006/07/01(土) 18:07:28
どなたか教えてもらえないでしょうか?
40 :
30 :2006/07/01(土) 18:18:09
> Java 5.0だとコンストラクタがなくても、例外は発生しないぞ。 スマン、Eclipseでコンパイルしていた。 javac でコンパイルしたら例外がスローされた。
41 :
19 :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ではありませんでした。微妙に動きが違うのね。
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 が、正しい。
43 :
42 :2006/07/01(土) 18:25:37
うげ。
>>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
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 の環境でこういうことやるのは無謀? クノーピクスってやつ使えないかな・・。
49 :
17 :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 こういうの設定しなくちゃだめなんですね。
>コマンドプロンプトでOOが入力されたら 入力でもコマンドライン引数と、プログラムの途中で入力するのでは違うんだが。
53 :
初心者 :2006/07/01(土) 18:55:18
>>53 システム環境変数はOSのユーザー(アカウント)全員
ユーザーのほうは自分だけに影響する(他のユーザーアカウントには関係ない)
55 :
初心者 :2006/07/01(土) 19:12:24
>>54 ありがとうございます。
Tomcatのクラスパス以外全部設定したのですが、
やっぱり47のところで止まってしまいます。
56 :
初心者 :2006/07/01(土) 19:17:43
57 :
初心者 :2006/07/01(土) 19:25:12
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
>>60 ここはお前の日記帳じゃないんだからつまらんことをいちいち書くな。
昨日、この一つ前で、メッセージを送るときに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
>>63 掲示板を作って公開。どんどん書いてやるよw
>>62 readLineは改行文字を読むまでブロックするだろ。
printする文字列には改行文字がついてないからそこでとまってるんでは。
writeをPrintWriterにしてprintlnを使うか自分でつけろ。
>>65 うお、動きました。
お世話になりました。
あるインスタンスの持っているメソッド名を取得したり、Stringで動的に実行するにはどうすればよいですか?
68 :
初心者 :2006/07/01(土) 20:36:18
プログラマーって簡単な知識だけでは成り立たないの? 複雑な知識は使わないまたーりな職場がいいよね。 にしてもOKwebのデータベースの技術者とかが駄目なのは初心者の俺でもわかる。 「Ctrl+F」で検索してると固まって強制終了だし、 書き込んだ内容が「" target="_blank">」とかついたりめちゃめちゃになってるし。 上場してるくせにもう駄目だねこの企業。ちなみに俺が働いてるわけじゃないよwまだ高厨ですw
>>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 を調べるべし。
72 :
名無し募集中。。。 :2006/07/01(土) 22:54:52
73 :
デフォルトの名無しさん :2006/07/02(日) 00:42:37
>>73 >>1 を読んでくれ。スレ違いだから。
クロスサイトスクリプティング(XSS)というワザを使うと
第三者である利用者がそのようなスクリプトを仕込むことは可能。
それでも、XSS対策をしていない管理者は糾弾されるべきだが。
>>74 うう、スレ違いでしたか…ゴメンなさいでした。
でも親切に答えてくれてありがとう。
うーん、なるほど、管理人が犯人というのも早急なわけか…
76 :
初心者 :2006/07/02(日) 02:35:07
>>72 企業によりけりでしょ。
どーせいくなら比較的売れてて複雑なことやってないとこいく。
マ板deGO!
イクリプス3・2の日本語化ができねええ。 初心者にお勧めのjavaの本があれば教えていただけませんでしょうか?
>>78 3.2の日本語化は、pleiadesでおk。
80 :
デフォルトの名無しさん :2006/07/02(日) 02:57:21
>>76 現実を知るのは大学でてから就職するまでまだ4年以上あるから
それまで人生を謳歌しなさいw
最近プログラムをはじめた者ですが ログってデバックですか?
>76 君はプログラマと言う職業を何も知らない プログラマ=技術者であるから、簡単な処理だけしか組みませんって訳にはいかないぞ それにパッケージ製品を開発してて売れてる会社なんてPGは他に委託してる
>>76 大手がいいよ。比較的楽
難しいことは派遣社員に回しとけ
85 :
デフォルトの名無しさん :2006/07/02(日) 08:52:21
写メのうpのしかた教えて下さい
写メをPCに取り込む jpgなどに変換 ラベルに貼り付ける
<<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
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(); } }
「全然動きません」じゃ、まともなレスはつかないよ。
>>93 > ぜんぜん動きません。
だけじゃ何が悪いのか良くわからないんだけど。
jtest.java の import doSomething; は要らない…他はわからん。
>>94 それにしても、doSomethingにjtestとは、ひどいクラス名だね。
その本の名前をさらしてくれない?
publicなクラスは、「クラス名」と「ファイル名」がおなじでないといけないよ。 だから、1つのファイルに2つのpublicなクラスを入れるのは無理なんだよ。
99 :
デフォルトの名無しさん :2006/07/02(日) 17:15:13
コンパイラについて質問なんですが CはBCC、VBはVB2005EEと簡単に無料コンパイラが手に入るのですが Javaは元から確か無料でしたよね?なんていう奴を使えばよかったんでしたっけ?汗
>99 gcj, jikes, kaffe
103 :
93,94 :2006/07/02(日) 17:22:00
>>95 >>96 >>97 私も何が悪いのか分からないのです。
翔泳社「Javaプログラミング辞典」p.292
タイマーでキーが押されるまで”>”を表示するプログラムだそうです。
>私も何が悪いのか分からないのです。 何が悪いのか分からんのは分かったから どう悪いのか書けってんだ、がー
105 :
93,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
タイマーでキーが押されるまで”>”を表示するプログラムだそうです。
SDKはJAVAの開発環境を作るソフトでEclipseってのは何なんでしょうか? GUIで扱える開発環境ツールって事かな CでいうBCCとBCC Devみたいな・・・
>>105 コンパイルエラーが残ってるんじゃん。
赤い×が左側に表示されてない? クリックしてみろ。
108 :
93,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".」
というダイアログが出現します。
なんかJavaはexeが作れるのが当たり前みたいに言われたのですがどうするんですか? Sunの普通のJDKでも作れるよとか言われました。方法を教えてください。
>>108 落ちつけ。 今は、警告(黄色いヤツ)は気にしなくてもOK。
Eclipseを再起動して最初からやり直せ。
import doSomething; を消すだけで動くようになるはず。
C:\Javawork\test.txt にあるファイルを読み込んで 一行ずつ出力して 行の途中に"ABC"と言う文字列があったら"XYZ"に 置換してファイルを読み終わったら 保存するようにしたいんだけどどうしたらいいの?
112 :
デフォルトの名無しさん :2006/07/02(日) 18:03:13
質問者のレベルが小学生みたいだな
114 :
93,94 :2006/07/02(日) 18:11:12
おぉぉぉぉぉぉっ!できましたぁ!!
>>95 >>96 >>97 >>107 >>110 みなさん、こんなフニャチンな質問につきあってくれてありがとうございます!
import doSomething; を消したら動きました。
本当にありがとうございます。
>>115 それは外部ツールだろw 確かにあれは使いやすくていいな。
知ったかぶり君の生兵法は心の中でニヤニヤして無視しとくが一番。
>>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 の最大値って幾つだと思う?
つうかその答え提出すんのか?
121 :
118 :2006/07/03(月) 00:21:57
>>119 さん
1000まで掛けると、とんでもない数字になりますよね…。
intの最大値は…確か2147483647ですよね…?
intの部分をlongにしても答えが出せないんですよ…。
longでも出せない数字…って事ですよね…?
>>120 さん
はい。明日に提出します。
122 :
初心者 :2006/07/03(月) 00:28:34
答え:無理
1000なら紙一枚で入るんじゃないかな。
125 :
初心者 :2006/07/03(月) 00:47:57
大手ってどこでしょ。 エキサイトとかのブログは好きだけど。
127 :
118 :2006/07/03(月) 00:57:35
BigDecimal型っすか…。 これ以上だともうサッパリ分からないんですよ…。 お手上げ状態です…。 色々と調べてみてもどう記述したらいいものなのか…。 初心者ですいません…。
>>118 初心者であることを恥じる必要はないが
「初心者だからわからない」と言っちゃうところは恥じるべきだ。
いろんなHPを検索したのですが分からないので教えてください。 インターフェースって処理内容は書かず抽象メソッドのみですよね 中身自体はクラスで書くので存在自体必要ないように思えるのですが・・・ 一つのインターフェースをいろいろなクラスに実装させても結局同じ処理を それぞれ実装させたクラスに書かないといけないですよね?
130 :
デフォルトの名無しさん :2006/07/03(月) 01:12:35
>>129 検索しても分らないなら説明しても分らないと思うぞ
同じ処理を実装するかは設計次第だろ
ではどうゆう時に使用するのでしょう? このクラスにはこのメソッドが必ず含まれています。 程度しか分からないと思うのですが。
132 :
デフォルトの名無しさん :2006/07/03(月) 01:25:29
使う必然性が見つからないのなら使わなくても良い 使いたいと思えるときになったら納得できるはず
それが分かれば十分じゃん。 どう実装されてるかは実装者に任せるやり方だろ。 ListとかMapとかのJavaDocを見てこいやさ。
>>129 > 一つのインターフェースをいろいろなクラスに実装させても結局同じ処理を
>それぞれ実装させたクラスに書かないといけないですよね?
ここが違う。
同じ処理ではない。
同じように見える処理であればいい。
たとえば、「何かしらのデータを取ってくる」というメソッドなら
そのデータはテキストファイルから取ってきてもいいし、
データベースから取ってきてもかまわない。
クラスによって違っていても全然かまわない。
135 :
デフォルトの名無しさん :2006/07/03(月) 02:01:45
public void test(String str) { } この(String str)がどういう動きをしているかが分かりません、このメソッドの引数はどういう意味ですか?
中身が何もないんだから何もしていないんじゃないか?
137 :
135 :2006/07/03(月) 02:20:32
失礼しました、質問が曖昧でした。 初心者向けの書籍などで最初によくpublic static void main(String[] args)というのを見ます。 引数を与えられてこのメソッドが実行された場合String型のargsという値に入れられると認識しているのですが メインメソッドではないpublic void test(String str)の場合はString型のstrという値はどのような使い方があるのでしょうか? 他のクラスからこのtestメソッドが呼び出された場合、strが存在する意味が分かりません Javaをやり始めたばかりで質問自体も上手くかけないのですが、よろしくお願いします
>>137 他のクラスからtestメソッドにString型を引数として与えてるんじゃないの?
>>137 その部分だけでは確かなことはわかりませんが、予想されることは、
なんらかの継承(extend や implements )を行っていて、
具象クラスではそのメソッドを実装しなければならなかったが、
そのクラスではたまたま、「何もすることがなかった」
という可能性はありますね。
PGって何が楽しくてPGなんてやってんの?w 糞奴隷シネや。
何が楽しくて人間やってんの?w
専業トレーダーでお金儲けてることです。
まあ、本当に儲かってる奴は、他人の悪口なぞわざわざ言わないもんだが。
144 :
デフォルトの名無しさん :2006/07/03(月) 05:57:47
JScrollPaneにJTextAreaを埋め込んだものを、 テキストの表示がいっぱいになったら自動的に表示を一番下の部分まで 持ってこさせるようにするにはどうしたら良いのでしょうか。
ちょっとすれ違いかもしれませんがお願いします 人事管理システムの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でのアクティブレンダリングの意義というか利点とは何なのでしょうか? 今のところ再描画の強制のみと理解しているのですが・・・・ よろしくお願いします。
チョンは竹島で海流調査。 チャンコロは尖閣諸島で海洋調査。 アルかニダの連携プレー。 日本どうするヘタレるか? ってエンコリではこの件結構静かなのね。
148 :
147 :2006/07/03(月) 11:14:33
誤爆。すまん。
ダブルバッファリングの恩恵を受けられないjvm環境でも動作する。
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に准ずる。
ただ単に、アイテムの保持に配列を使ってるだけのこと。
このへんもググればドバドバ出てくる。 その程度なら聞くより調べたほうが早い。
>>145 RPGをやったことあるかね?
キャラクターにはHPやらMPやらアイテムやらひっついてる。
それをクラスで表現してあげる。
簡単な人事管理だ。攻撃を受けたらHPを減算しなきゃならんし、
ある程度経験を積んだらレベルを上げなきゃならん。
ファイルIOとかArrayとかは
>>153 の書いてるとおりいくらでもある。
初心者です。質問です。 MP3等の音声データをJAVAで扱いたいのですが WinやMacのデスクトップで表示される[再生時間]を JAVAで取得するにはどーすればよいのでしょうか? よろしくお願いいたします。
157 :
デフォルトの名無しさん :2006/07/03(月) 16:08:23
どんなエラーか分からんのでは回答しようが無い
どんなエラーかどうかもわからないのに答えられるわけがありません。
>>156 エスパー回答すると、} が抜けてるよ!
>>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 というエラーメッセージが出てきてしまいます。 学校のネットワーク内では実行できましたが、 別のところへアクセスしようとするとタイムアウトしてしまいます。 どうしたら解決できるでしょうか。
162 :
156 :2006/07/03(月) 16:48:55
すいません…エラーの内容は シンボルを解釈処理できません。というのが出てきます
>>162 エラー出力そのままコピペしろよ。
コンパイル時のエラーか実行時のエラーかもわからんし。
>>162 俺のESPがimport忘れと告げている
168 :
161 :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ではどのように表記すれば良いのでしょうか?
>>169 5.0 以降であれば java.util.Formatter とか java.io.PrintStream#printf() が使える。
171 :
169 :2006/07/03(月) 18:34:53
>>170 ありがとうございます。それらを調べてみます。
172 :
デフォルトの名無しさん :2006/07/03(月) 18:39:38
173 :
デフォルトの名無しさん :2006/07/03(月) 19:03:56
自分でパッケージを作る方法と、作ったパッケージを使う方法を教えていただけませんか。 参照方法がわからないんです。
フォルダ(ディレクトリ)作ってそれを指定としか、、、
175 :
デフォルトの名無しさん :2006/07/03(月) 19:48:36
指定の仕方がわからないんです。 javacの時に”パッケージが存在しません”と出てしまいます。
>>175 どこで実行すれば良いのかな?ちょっとは考えよう。
やべーようやくクラス間でのメソッド呼び出しとか理解できたんだけど めっちゃ面白くなってきた、何か作りたいけど最初は何がいいのかな みなさんは最初は何を作ったりしてましたか?
子供
寒い質問してまともにレスしてもらえると思ってるところが
アニメーションgifについて質問です。
コンストラクタでフォーム表示時に
もとからgif画像が表示されるようにしておけば
ちゃんとアニメーションで表示されるのですが、
ファイルオープンダイアログなどからgif画像を読み込んで
ラベルにアイコンとして表示しても、
パネルに表示しても静止画でしか表示されません。
javaはアニメーションgifには完全には対応していないのでしょうか。
それともアニメーションで表示するには特別な方法があるのでしょうか。
>>177 石取りゲームとか。学校の課題で。
>>169 なぜおなじprintfで調べなかったのだろうか・・・
183 :
デフォルトの名無しさん :2006/07/04(火) 02:22:58
getAttributeで取り出したセッション情報を別の変数に入れて、 その変数を変更したら、元のセッション情報まで変わってしまうのですが、 どうすればいいですか?
別の変数に入れるときに、ただの代入でなくコピーしろ。
185 :
デフォルトの名無しさん :2006/07/04(火) 07:15:12
時給1000円でJava教えてくれるヒトを募集します 場所 所沢(池袋・高田馬場から直通) よろしくおねがいします i−want−to−study−java@hotmail.co.jp (メールアドレスは半角に直して送信してください)
>>181 俺はヒットアンドブロー作ってる。
石取りゲームもそうだけど、
こういった単純なゲームは練習に最適ね。
187 :
デフォルトの名無しさん :2006/07/04(火) 08:24:54
漠然とした質問ですが WindowsXP SP2とJ2MEやSEを用いて Bluetoothの電波強度(RSSI)を取得することって可能でしょうか?
189 :
デフォルトの名無しさん :2006/07/04(火) 13:23:28
参考書が糞過ぎて学習できん
190 :
デフォルトの名無しさん :2006/07/04(火) 14:35:21
どなたか解決策をご教授願えませんでしょうか? ノベルゲームなんですけど、Eclipse上では問題無く実行出来るのです。 しかし、JARファイルを作成すると「シナリオファイルが見つかりません」 というエラーが出てしまいます。JARファイル作成時にはちゃんと シナリオファイルもチェックしているのですが。 どうしたら解決出来るのでしょうか?
>>190 ヒマだからエスパー募集に応えてみるか。
jar ファイルとか自作のパッケージツリーの中にあるファイルの読み込む時は
ClassLoader#getResource とか ClassLoader#getResourceAsStream とか使うのが常套手段だけど
知らずに File とか使って読み込もうとしてるとか、
実は jar ファイルの中にシナリオファイルがない、とか。
エスパー以外には無理 シナリオファイルが見つかりませんというところで例外握りつぶしてるのを追ってみればいいだけでは?
193 :
デフォルトの名無しさん :2006/07/04(火) 15:59:55
クラス名を指定してインスタンスを行いたいのですがどうやればいいのでしょうか?
>>193 Class.forName(classname).newInstance();
Class.forName(classname).getConstructor(parameterTypes).newInstance(parameters);
サンクスです 早速やってみます
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
199 :
197 :2006/07/04(火) 17:14:29
HttpSessionを永続セッションにするという時点で 使い方を間違ってる。 Servletコンテナはそういう使われかたを想定していないから いろいろ困ると思うよ。 ブラウザの「閉じる」だけだと対策不十分だし。
引数無しのコンストラクタって どんな時に使うの?
引数がいらないとき
Java のソースコードを DOM ツリーに変換するライブラリがあったら教えてください。 できれば、文法拡張に対応しているのを。 OpenJava ってのが一番イメージに近いのですが、Java5 未対応でして。・゚・(ノД`)・゚・。
セッションタイムアウトなしのシステムにかかわったのがばれたら一生笑われそうだな
>>197 一ついいこと教えてあげよう
クライアントがシャットダウンするとIEではイベント発生しないからどうしようもないぞ
凄い初歩的な質問で恐縮ですが、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(" "); } } }
>>156 ・全てのファイルの package 宣言を消す
or
・全てのファイルを cell という名称のフォルダに突っ込んで、javac cell/*.java
>>208 ありがとうございます、確かに==でしたね。
ここ直してもprivate static void part1の開始が不正ですとか
12288は不正な文字ですってエラーが6個出てきたりしました・・
ローカル環境で動いていたプログラム(メソッド)をサーバーに搭載したら、エラーが出るようになりました。 クライアントでは使えてもサーブレットでは使えないプログラムというのはあるのでしょうか?
213 :
デフォルトの名無しさん :2006/07/04(火) 23:38:24
>>210 ちゃんとインデントしてる?
初歩だよ。
12288は全角空白だ。
ああ、全角文字入れてるのが不味いんですね。 なんとか 式の開始が不正です。 private static void part1(int[][] b){ ^ だけになりましたが、これはどうすればいいんでしょうか?publicにしてみたり voidをintにしてみたstatic消してみたりしても直らないです
218 :
204 :2006/07/05(水) 00:16:02
>>204 キャンセル。別のところで聞きますわ……。
>>217 class追加するんですか?よくわからないです・・
{と}がちゃんと対応してない。
>>214 の言うようにインデントすればわかると思うよ。
221 :
219 :2006/07/05(水) 02:34:19
インデントしてみても色々入れ替えてみても良くわからないです・・ 才能ないなぁ・・
>>221 取り敢えず、やろうと思っているソース全部、
見せてみた方が話早いよ。
もしくは、もっと短いソースのものから試していった方が良い。
では迷惑承知で全部はってみます。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(" "); } }; }; }
224 :
222 :2006/07/05(水) 03:43:33
>>223 おっ、来たね。
じゃ、ちょっと試してみるね。
他の方が先に教えてくれるかもだけど。
225 :
222 :2006/07/05(水) 03:49:23
まず、「シンボルを見つけられません。変数b」っていう感じのエラーだけれども、 メソッド内で定義された変数--ローカル変数--は そのメソッド内だけで有効、という決まりがある。
226 :
222 :2006/07/05(水) 04:01:55
>>223 あと、入力っていうけど
この場合の入力は、実行時のコマンドパラメータ入力っていう意味だけど良いのかな?
実行時は、
java Test 1
という感じにする。
あと、Double を使う必要はない様子だし、
例の比較式のところは int 扱いだから、int に統一してみる。
>>225 への対処は、メソッドの外、クラスの変数として定義すればいい。
取り敢えずね。(クラス変数、インスタンス変数という区別があるけれども。)
227 :
222 :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(" "); } }; }; }
228 :
222 :2006/07/05(水) 04:03:38
↑取り敢えずコンパイルできて、さっきの方法で動くと思う。
229 :
222 :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(" "); } }; }; } ではでは。
丁寧にありがとうございます、共通してる文字はメソッドの外で定義すればいいんですね。 ちゃんとうごきました
ちょっと教え方がまずかったんじゃないか? こんな教え方したら、グローバル変数マンセーな頭になってしまうぞ。
>>231 うん、まずは動かないとと思って。
オブジェクト指向の考えに基づく
クラス関連設計の手法みたいなのは後々学んでくれればと。
自分で設計したクラスのインスタンスを作って使う段階になれば
学んで行くんじゃないかなとは思ったけど…
どの参考書使っているのかな…
>>230 さん
231さんの言うことはいずれ理解できるようになってね。
これが理解でき、回避できれば、
オブジェクト指向的プログラム設計ができるようになると思うよ。
…ってやや投げっぱなしジャーマン…
おやすみ。
233 :
230 :2006/07/05(水) 04:43:12
グローバル変数ばっか使うと不味いんですか? 後目標は実行する際java Test の後に入れる数字によって 違うパターンの配列を表示できるようにしたいんですが、 ヒントというか方向性教えてください・・何からいじり始めればいいのかわかりません^^;
mv Call.java ../src でパーミッションがありませんとエラーがでます。 どうしたらよいでしょうか
>>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
なにこの初心者を装った荒し
241 :
デフォルトの名無しさん :2006/07/05(水) 11:59:58
341 :マジレスさん :2006/05/12(金) 12:09:31 ID:F2rS3Gcw 竹石圭佑ってウチの学校の野郎だ…ちょくちょく名前聞いたことある ホモとかゲイだったってウワサ聞いたけど、女好きでもあったのか? じゃあ女にフラれて自棄になって男に手を出したとか それともどっちでもよかったんか? 頭おかしかったんか素なのか、、 つうかそんな奴の友達とか側近もホモ野郎なんだろうか、やっぱ
〉235 rm Call.java と入力すればOK
おまいら! ひどすぎだぞ。238はこれからJAVAを学んでそのフィルタリングを 解除しようとしているんじゃないかwwww!
とりあえず、Java とフィルタリングが関係してるか調べてから出直してくれ。
<identifer>がありませんってエラーは何が原因なんでしょうか?
>>245 エラー出力そのままコピペすれば、ある程度は答えられる
247 :
245 :2006/07/05(水) 16:52:35
aa.java:32: <identifier> がありません。 public static int part2(byte){ ^ aa.java:55: ')' がありません。 } ^ エラー 2 個 よろしくおねがいします
>>245 原因はいろいろ。具体的には、クラス名、変数名、メソッド名を間違えてるとか、
括弧の閉じ忘れとかセミコロン付け忘れたとかピリオド付け忘れたとか。
他にもあると思うけど。
>>247 32行目のは仮引数名を定義してないから怒られてるだけ。
55行目はわからん。
素人だが、Generics(スペルは解らん)の指定がないのと、)がたりないとかと思われる。
>>250 Generics関係ないよ。
>>249 が指摘している通り、メソッド宣言で引数の
構文が間違ってるだけだ。
仮引数名の定義ってどうやるんですか?
254 :
デフォルトの名無しさん :2006/07/05(水) 18:34:18
>>253 うぜぇ死ね
それぐらい自分で調べろハゲ
名前は知ってるのに実体はしらない不思議なやつだなw
>>253 参考書あるなら参考書の内容を順に学んで行こう。
ググれば Java 講座みたいなものは見つかる。
文法的な定義については、一々質問しないこと。
こういう場は変則的、例外的な事態についての質問をするのが相応しい。
257 :
デフォルトの名無しさん :2006/07/05(水) 20:13:42
class ○○ extends Vector ってVectorの使い方しますか?
0、1,2の3つの数字の中からランダムで選択ってメソッドはどうつくればいいんでしょうか? とりあえずググって探してみたんですが、 0.0 以上で、1.0 より小さい正の符号の付いた double 値を返す とかしか見つからなかったです。
なんでドキュメントを調べずに 同じことやってるサイトだけ探すんだ? 不思議だ…
>>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>
>>260 そりゃ、同様の事例を検索って方法に普遍的な早さがあるからだろう。
API仕様を漁るにしても、該当するクラスが検討ついてなかったら時間がかかる。
何かやろうとして、そのクラスの使い方をあまりよく覚えてなかった時や
他人のソースを見てよくわからんものが出てきたときなんかは、真っ先に
API仕様を参照しようという頭は働くが、全く真っさらな状態から始める
場合はとりあえず同様の事例を検索するだろう?(あからさまにJFCの
パッケージと合致するような話だと、そっちを辿る方が早いと判断するが)
>>262 それはXMLを根本から意識しなおせと怒られてるんだよ。
だって、HTMLで言えば<head>や<body>と単なるTextが同等の階層に
存在するのっておかしいだろ?
俺の言ってることがわからんなら、適当にXMLの入門書1冊買ってきて
通読した方がいいよ。
んで、本題の方だけど、俺はJavaでのXMLの扱いは不慣れだから
具体的なことはあまり言えんが、XML/Javaについて書いてるWebページを
チョロチョロ眺めてみた感じだと、小手先のテクニックを使わなくても
ちゃんと出力できてるみたいだから、出力の仕方に問題があるんジャマイカ?
>>263 いやいや、サイト検索してdouble取得するのは分かった。
同じクラスもしくはそこから手繰れるクラスのマニュアル見れは
int取得する方法もちゃんとある。
なのにそれが見つけられんということに対して言ってるんだよ。
(int)(random() * 3) こういうのがぱっと思いつかないのならセンスなし。逝ってよし。
それ何を期待したソースだよ。
import static java.lang.Math.random; してあるんじゃね?
いやいやそういう問題ではないと思うのだよ。
270 :
デフォルトの名無しさん :2006/07/06(木) 03:14:15
すいません質問させてください { }の数はあっているんですが、 最初の{と最後の}にカーソルをあわせても太い黒の{ }にならないんです。 これってうまく認識されてないってことでしょうか? 何度コンパイルしてもエラーがでるんでこれが原因だと思うんですが・・・ ちなみにつかってるソフトは秀丸です。 回答よろしくおねがいします
" の閉じ忘れとか、 ( の閉じ忘れとか、 別の閉じ忘れで変になってる可能性が。
273 :
デフォルトの名無しさん :2006/07/06(木) 03:34:22
>>271 、
>>272 すみませんありがとうございました。
黒く反転はされないんですがコンパイルできました。
深夜にありがとうございました
classファイルから中のプログラムの文字列を見ることってできますか? あったら方法おしえてください
275 :
デフォルトの名無しさん :2006/07/06(木) 06:44:08
抽象杉 デコンパイル?それとも
バイナリエディタ
よくわからないけど、.javaのファイル作ってコンパイル実行してたらいつのまにできてた ファイル名は同名の拡張子がclassのファイルです。 メモ帳でひらいてみたら意味不明な文字化けしかみれませんでした
>>276 ありがとうございます。ためしにstirlingってバイナリエディタ落としてそれで開いてみたけど
まだ文字化けのままでした・・.javaの方のファイル間違って消してしまって
残ってるのは.classファイルだけなのでなんとかjava言語でかいてあるプログラムの
中身を見たいのですが
279 :
デフォルトの名無しさん :2006/07/06(木) 07:19:04
jad あとは自分で調べろ
>>278 間違って消したからって、
なんで.classファイルの中身を見る必要があるの?
.javaのファイル作ったなら中身は知っているはずでしょ?
1から作りなおせって言ってるぞこいつ。
282 :
デフォルトの名無しさん :2006/07/06(木) 07:22:26
バカは1から作り直せば?
283 :
デフォルトの名無しさん :2006/07/06(木) 07:24:01
間違って消しちゃったんだってw どうせ他人の作ったクラスでもぱくったんだろ 難読化されてたら諦めろ
まちがって消したっていってるのにね。想像力豊かだね。
285 :
デフォルトの名無しさん :2006/07/06(木) 07:26:54
言ってる事全て真に受ける人は振り込め詐欺にご注意を
286 :
デフォルトの名無しさん :2006/07/06(木) 07:28:01
文章から察するにどうせしょぼいプログラムなんだから 1から作り直せよw
別にclassからソースをというなら普通にそう書くだろう。 間違って消したと言う言い訳なんて必要ないじゃん。
288 :
デフォルトの名無しさん :2006/07/06(木) 07:32:31
どうでもいいから終了
で、コンパイル実行してたら いつの間にかclassファイルができてたレベルでしょ? 自演擁護ご苦労さんw。
まあ、とりあえず)の付け忘れには気をつけようということだな。
少しでも情報をと思ったんですが言い訳って意味が・・・.javaの副産物っぽいから これだけあるって通常は考えられないから一応いっておいたんですが。 とりあえず無理だからやり直すしかないってことですか?
ちょっと頭がやられちゃってる人いますね。自演擁護って・・・ID制にすればいいのに。
293 :
デフォルトの名無しさん :2006/07/06(木) 07:42:04
確かにやられてるね意味不明のエクスキューズ
294 :
デフォルトの名無しさん :2006/07/06(木) 07:42:39
自演にしては面白くない。自演のレベルも落ちたものよのう。
ちょっと、ごめん。
>>277 それは.javaをコンパイルしたら
.javaのファイルの数と一致しない数の
classファイルができてたってことかな?
(匿名クラスとかのclassファイルかなと思ったり)
>>264 そりゃ何を怒られてるかの意味くらいは分かるが、ignoreable な空白も入れられないとなりゃ
出来ないってことになるでしょ。つか <head> や <body> の例えはおかしいべ。それを言うなら
<html> でしょ。
で、変換処理は以下と同じ (本当は複数行に分けてるが)。API リファレンス見ても
TransformerFactory や Transformer にはそれらしきオプションも無かった。
TransformerFactory().newInstance().newTransformer().transform(new DOMSource(dom), new StreamSource(file));
>>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>
マックスミニ法で三目並べで絶対負けないコンピューターを作りたいんですが そのメソッド教えていただけないでしょうか?
301 :
デフォルトの名無しさん :2006/07/06(木) 18:05:17
死ね
もしかして、サーブレットプログラムの途中でFileオブジェクトを作り出すのって不可能ですか?
CとJavaで、初心者が学びやすいのはどちらでしょうか? 最初に学ぶのはどちらがいいのでしょう…? またCとJavaは数学的な要素(計算など)がどちらも必要になってくるのでしょうか。 返信お願い致します。
>>303 Javaにしておきなさいな
数学的な要素などは通常のプログラムにはほとんどありません
高校数学程度の、いわゆる常識程度の知識で十分です
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
Javaでテトリスって作れますかー?
307 :
デフォルトの名無しさん :2006/07/06(木) 21:16:18
>>304 お恥ずかしいながら、数学は苦手で、割り算程度ぐらいしか
できませんでして…。でも、ないと聞いて安心しました。
レスありがとうございました。
311 :
デフォルトの名無しさん :2006/07/06(木) 22:05:22
すいません、javaについてなんですが。 エクセルのデータをCSVで保存してそのデータをjavaから呼び出して 二次元配列に格納したいんだがどうにもいろいろやってもできないんです。 だれかやり方教えてくれませんか?
>>311 いろいろやってを書いてみそ。話はそれからだ。
StringのindexOfメソッドを使って 指定文字が文字列の何文字目に登場するかを 返すメソッドを作りたいんだけど 定義するメソッドの仮引数はint型のみで大丈夫ですか?
意味わからん
315 :
デフォルトの名無しさん :2006/07/06(木) 22:49:01
久々にJAVAをインストールしようと思ったが HPがないwww j2sdk1.4だけどもう古いのですかね・・・・ 最新SDKはどこでインストすればいいのでしょうか?;; 読んでる本は[やさしいJAVA]ですが厳しい状況です^^
学習用なら1.4がいいと思われ まず基本をマスターしてからじゃないと最新使っても意味がない むしろ一部の文法変わってるから混乱するだけ あと「やさしいJava」は定番の本だから問題ない
317 :
316 :2006/07/06(木) 23:02:17
何電波飛ばしてんだ俺
318 :
デフォルトの名無しさん :2006/07/06(木) 23:05:49
319 :
デフォルトの名無しさん :2006/07/06(木) 23:54:04
文字を文字コード?に変換するにはどうすればいいんですか?
>>319 java.lang.String#getBytes(encoding) とか、
java.io.OutputStreamWriter 使うとか、
java.nio.charset.CharsetEncoder 使うとか、
他にもいろいろ。
int型に''で囲んで入れればよい
すいません、オブジェクト思考等にお詳しい皆さんにご相談させてください 実現したい機能が 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以外にもこんなデザインパターンに該当するからそれが良いのでは?等 お聞かせ願えたら嬉しいです。
324 :
323 :2006/07/07(金) 03:26:47
>>323 4
A, B, Cで共通する抽出して抽象クラス1つを定義。異なる機能は
具象クラス3つの中で実装。メインスレッド中での振る舞いの記述は
全て抽象クラスにて。
指定した文字が文字列の中に何回登場するかを 調べるメソッドってありますか?
String文字列の内容をHEX表示するにはどうすればよいのでしょうか?
>>327 元の文字列がどういったものなのか分からないと答えようがありません。
もしや一文字づつ char の値を出したいとか?
char* str=文字列; char c=指定文字; int n=0; for(;*str;*str++,n+=(*str==c)); まぁ適当
Javaでは String str=文字列; char c=指定文字; int n=0; for(int i = 0; i < s.length(); i++) { if(c == str.charAt(i)) { n++; } }
indexOf() 使った方が速そうな気が…
>>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;
}
こうですか!? わかりません。
>>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);
}
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
試せよ
>337 断じて。
大抵変わらないだろうけど 現在スコープ内の変数はレジスタに乗り易い利点がある
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 コーディングにかかる時間をどれぐらいに見積もっているのか聞いてみたい。
>>341 それはないと思う。
しかしいくらstatic final intとはいえ、hoge.lengthよりlen = hoge.lengthとしたほうが速いみたいな
>>344 なぜ、「ないと思う」のですか。
測定してみましたか。
javapしてみましたか。
>346 コンパイラが出力したコードに違いがあれば、VM依存になるかもしれないが、 コードに差がなければ、VMに依存しようがないね。
>>347 んじゃ処理系依存
……どうでも良いが、コンパイラが生成するコードに差がないなら、VM に依存するんでないかい?
逆?
>>337 コンパイル時に最適化されて差は無いに3万ゼリー
>>348 2つのコードのうちどっちが速いかといっているのに
コンパイル後のコードに差がないならVMに依存するとか処理系に依存するとか
どういう思考回路の持ち主ですか?
もっとわかりやすくいうと、同じコードなのに実行速度が
VMやら処理系に依存して変わるとお思いですか?
351 :
デフォルトの名無しさん :2006/07/08(土) 00:56:39
>>350 言い方が変だな。
VMやら処理系に依存して変わるのは当然。それを問うのはおかしい。
言うなら、コードの問題なのにどうして土台を処理系に移しているのかだろ。
WebアクセスをJavaで制御したいんだけど最も簡単なロジックってどんなのがある?
354 :
デフォルトの名無しさん :2006/07/08(土) 02:25:24
javaでthisを使う必要があるのはどういうときですか? どういうコードだと、thisを使わないと弊害がでるんでしょうか??
>>354 class Foo {
int bar;
void hoge() {
String bar;
bar = "abc";
this.bar = 1;
}
}
>>354 その this キーワードってどこで学んだの?
しかしなぁ、入門書じゃ全部
>>355 みたいな例を乗せてるけど、俺は絶対
それやらないな。クラスフィールド以外で変数の前に何かくっついてるのが
どうも性に合わない。
逆に自己クラス内でインスタンスメソッドを使う場合、メソッドの前に
何もくっついてないのが返って気持ち悪いから、必要が無くても前に
thisをつけるようにしてるな。
>>358 だから、なんでわざわざ自分で作ってるのかって言ってるのだが。
意味わかる?
>>359 他にスマートな実装方法があるならそれを教えてください。
System.getProperty("line.separator")に変わる定数って無いのでしょうか? File.separatorのような感じで使いたいのですが。
363 :
デフォルトの名無しさん :2006/07/08(土) 13:10:28
『診断くん』の様に一回外に出る事なく、ルーターにぶら下がっている自機のグローバルIPをjavaで取得する方法はありますでしょうか。
HTTP で 2ch に fusianasan で書き込みし、 後で名前欄を参照。
365 :
355 :2006/07/08(土) 13:35:33
>>357 class Foo {
final int bar;
Foo (int bar) {
this.bar = bar;
}
}
こうしたら、何となく気持ちが分かってもらえると思う。
なんかgetter,setterって何?って感じだな
>>366 手間を惜しむなよ。
public class Foo {
privale int bar;
public void setBar(int bar) {
this.bar = bar;
}
public int getBar() {
return this. bar;
}
}
property_public int bar; って書くと、setBar, getBar を生成してくれるマクロなら書いたことがある。 あまり使わないけど。
まあ、今は Eclipse が生成してくれるし。
370 :
357 :2006/07/08(土) 14:29:43
>>365 何のつもりなのか知らんが、全然わからん。名前を衝突させといて
平気でいられる神経がわからん。this.barとかってのも気持ち悪い。
そんなことをするぐらいなら、仮引数をinputtedBarにする。
単純な代入しかしないなら紛れるようなこともそうそう起こらないから、
長くても所在のわかる名前を付ける。安易な変数名の衝突はバグの元。
inputted(笑)
俺はNetBeans使いだけどね
>>360 Integer.toHexString
371(笑)
375 :
355 :2006/07/08(土) 14:54:40
inputted って何だよw 俺がするなら _bar にするけどな。 というか、関連性のある(というか意味的に同じものである)2つの変数に、 なぜあえて異なる名前をつけようとするのか。 むやみに名前を増やすと、バグの温床になるよ。
その通り。むやみに同じ名前を使う方が100万倍マシ。
Delphiのレコード型の様なユーザーが定義する変数を作って、その変数を色々なクラスから読み書きしたいのですがどのようにしたらよいのでしょうか よろしくお願いします
Delphiのレコード型ってどんなのだよわかんねーよ。
家の本にはCの構造体やVBのユーザー定義型変数と同じとは書いてあるのですが…
380 :
367 :2006/07/08(土) 15:10:21
インスタンスフィールドの参照に this をつけるのは、 パラメータを含むメソッドローカルの変数と区別するため。 (名前がバッティングしてるかどうかは関係ない。) で、どうせ this を必ずつけることにするなら、 setter のパラメータなんかは、 同じ名前にしたほうが、わかりやすい。
>>379 Cの構造体なら、メソッドなしのclassでいんでね。
VBのユーザー定義変数はますますわからん。
>>379 >Cの構造体
public なフィールドだけを持つクラスを作れば、
ほぼ、それに該当するものになるよ。
struct A {
int a;
}
とほぼ等価な Java のコードは、
public class A {
public int a;
}
となる。
まあ、個人的な勉強や実験のためならどう書いてもかまわないが、
業務用のコードなどで他人にみせる機会があるのであれば、
>>367 のような書き方にしろと文句を言う奴が出てくるかもしれない。
メソッド無しの class で良いと思うけど、クラスは参照で渡されるから注意ね。 Delphi のレコード型は、代入で値がコピーされてたと思ったけど。
384 :
377 :2006/07/08(土) 15:21:17
ありがとうございます それを宣言した以外のclassから読み書きするにはどうすればよいのでしょうか
構造体を無理に作らなくても ふつうにBeans作っとけばJITコンパイラあたりが フィールドに直接アクセスできそうなときにそうしてくれるんでない?
>>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) );」 に近い。
>>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で受信したクラスのデータ量を調べる方法ってありませんか?
>>388 一旦ByteArrayOutputStreamに書き込んで調べたら?
390 :
デフォルトの名無しさん :2006/07/08(土) 17:34:51
JAVAお勧めのエディター教えて下さい フリー・シェアお勧めの1本を定番・こだわりの1本をお願いします^^ 尚ベクターで「HC_Editor」がヒットしましたがこれって有名なんでしょうか
CPAD
vi
MSWORD
edlin
395 :
デフォルトの名無しさん :2006/07/08(土) 17:43:36
ご親切にありがとうございます 友達に聞いたらMSWORDが有名と聞きました 今から買ってきます 皆さんありがとう^^
そこに落ち着くかよ!っといちおうつっこむ
397 :
デフォルトの名無しさん :2006/07/08(土) 17:51:28
友達に良く聞いたらオフィスWORDじゃなくてWORDパットで十分だそうです 393の適切なご意見を勘違いするところでした 初心者なんで今後ともよろしくです^^
まあ、友達は選んだ方がいいよと助言しとく
さっぶい自演だこと
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); }
RoboCode厨キタ━━━━━━(゚∀゚)━━━━━━ !!
402 :
デフォルトの名無しさん :2006/07/08(土) 18:06:36
結局比べてCPAD にしますた^^
>>373 Integer.toHexStringを使うと、0x10未満の物の頭に0付けるのめんどくさくない?
('\t'が9じゃなく09になるように)
>>400 >このようにwhileが動いている最中は他のイベントは発動しないのでしょうか?
発動するよ〜
ひょっとしてケツから当たってない?
405 :
デフォルトの名無しさん :2006/07/08(土) 19:15:08
>>404 よく観察したらその通りです。
移動するときは車体が目標に向いてないとおかしいはずなのに
後ろ向きに動いてるときもあります。
謎だ…
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
>>405 Robocodeは前進も後進も等価だから、敵の位置によってはケツ向けて走る方が回転が速い
ShortTurnは、それを踏まえて最小回転角度を返す関数だ
これ以上はスレ違いだから、あとは考えてくれ
>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 む・・・・難しい
すごいのは分かるのですが
英語だらけで使いこなせないですー
ありがとございますー
個人認証サイトを手作り中なんだけど、StrutsとTapestryどっちがお勧め?
>>411 つAll-In-One Eclipse
>>412 単純に認証するだけなら、 Apache の設定で十分だと思うんだけど・・・・。
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にしなければならないのでしょうか? そのほか何かありますか?
そういうのはResourceBandleクラスがやってくれます。 国際化などのキーワードと一緒にぐぐってみてください。 native2asciiなども良いキーワードになるかと思います。
419 :
デフォルトの名無しさん :2006/07/09(日) 00:10:38
420 :
デフォルトの名無しさん :2006/07/09(日) 00:43:14
JAVAはDIRECTX使える?
421 :
デフォルトの名無しさん :2006/07/09(日) 00:45:50
どっかに WEB上でBASICみたいなスクリプト動かせる アプレットないですか LINEとかCIRCLEで線とか簡単に引きたいのですが。
>420 JNI経由ならDirectXだろうがなんだろうが動かせる まあJNI使うくらいならCでネイティブプログラミングやれよって感じだが
Java3DってDirectXをラップしてなかったっけ。だから間接的にでいいなら使えるはず。
424 :
デフォルトの名無しさん :2006/07/09(日) 10:52:26
>>418 ResourceBandleというのは、あくまでもPGMで扱いたい文字などを
外部ファイルに定義しておいてそのロケールにあった、文字を採用してくれる
機能ですね。画面の表示文字を切り替えるなど。
プログラムで行う、ファイルI/Oのときの文字コードの指定はUTF-8でOKですか?
中国ロケールの時は中国語をファイルに出力でき、日本ロケールのときは@や
なども表示できるのでしょうか。XMLやJSPもShift_JISでなく、UTF-8?
また、ソースファイルの保存時の文字コードも気をつける必要はあるのでしょうか?
>>424 3つも?があるが、自分で何か検証したのか?
まさか、中国語OSマシン入れてませんとかいわないよな。
>>420 Java2Dは実装としてDirectX使ってるかけどな
JNIだとわりとオーバーヘッドが大きいからまとめてコマンドだすようにすればおけ
427 :
デフォルトの名無しさん :2006/07/09(日) 13:25:57
>>425 いや、検証以前に、一般論として決まり事があるものと考えていたので。
自分で試せる事はまず自分で試してみても良いんじゃないか?
429 :
デフォルトの名無しさん :2006/07/09(日) 14:52:28
宿題答えますのほうでも聞いたんだすけど JAVAの未来というか今度みたいのを教えてください。 宿題のほうでググれって言われたのでググりましたが、どうも古かったりしてよくわからないので お願いします。
>>424 ResourceBandleが使うのはJavaの内部文字コードだ。
.propertiesファイルnative2asciiは調べたか?
あとファイルに出力時の文字コードなんてデフォルトがOS依存だろ。
それを統一したいってのなら、それはお前が決めることだ。
UTF-8でいいですか?じゃねーよ。馬鹿か。
マスタングでぐぐれ
>>429 Javaは来年無くなります。で、いいか?、他の未来が良いか?
夏厨イパーイ。
>>429 それ以前に、ネットでの調べ方から見直せ。
学校の課題をやるのに、真っ先にGoogleでの人海戦術を
考えること自体が愚かだ。
435 :
デフォルトの名無しさん :2006/07/09(日) 16:57:46
Servletでエクセルで書いた表を表示できますか?
いつまでも、 ResourceBandleとか言ってんじゃねえ。気持悪いだろ。 ResourceBundleだ。
>>435 POI使えば可能だがお勧めはしないな
複雑な計算が入ってた場合処理できるかわからんし
438 :
デフォルトの名無しさん :2006/07/09(日) 18:45:21
POI-HSSFよりJExcelAPIの方がシンプルでお勧め。 細部の実装は甘いがなーー もう少しするとExcelファイルがXMLに変わって 更に出来の良いAPIが出回る筈。
290 名前:名無しさん@お腹いっぱい。 :2006/02/27(月) 11:41:23 竹石圭佑って他人に色々迷惑かけてんだな。確かコイツの親は中国人だったろ。中学ん時に噂あった。 やっぱ在日って最低だ。近いうちテレビ報道されるような犯罪起こすんじゃないか?性犯罪とか
ラップしたメソッドって大学の講義のテキストに出てきましたが ラップとは何でしょうか?
>>440 問題:プリミティブ型をオブジェクトと見なし利用するために用いられるものは?
「ぐぐると、ラップクラスとラッパークラスはほぼ同数……」 「つか、ラッパークラスの方は単に『ラッパー』って言うことの方が多いぞ」 「ならラッパーでぐぐれば」 「はいオチの見えることをしない」 こんなのあった。
サランラップだよ。ぺろんと上に巻くあれ。 環境対策版のラップはきりにくくてほんと困る。
ラッパーとは :アーティスト :ミュージシャン ラップをする人。
ラッパー int a = 100; Integer b = new Integer(a); int c = b.intValue();
445はボケきれてないな。
449 :
デフォルトの名無しさん :2006/07/09(日) 22:01:28
jarの作り方教えれ
>>449 普通の圧縮ソフトで zip 圧縮 ⇒ 拡張子を jar にする。
>>448 おまえがそういうレスするから滑ったみたいな印象になる
ホントはみんな爆笑してるっての
>>451 うそ???
>>450 いい加減なこと教えるなや。
それだけじゃダメだろ。
Manifestファイルについても教えてあげないと不足。
jar -cvf *.java > abc.jar
BufferedReaderでファイルを読み込んだ時に readLine()した後に 改行文字を入れたいのですが、 OSに左右されないようにするにはどのようにしたらいいですか?
それじゃ〜、じゃぁ〜さぁ、jarにしてくれるアーカイバを探せば良くね?
456 :
デフォルトの名無しさん :2006/07/09(日) 22:16:15
ネットビーンズで作れないのかね? jar。
457 :
デフォルトの名無しさん :2006/07/09(日) 22:17:58
>>456 むしろなにもせずにmainとクラスパス設定がされるjarができあがる親切さはすばらしい
何がむしろなんだ?NetBeansは当たり前に素晴らしいじゃないか。 たまにエディタがバグるのが玉に瑕だけどね。
460 :
デフォルトの名無しさん :2006/07/09(日) 22:33:45
net beansで作るにはどう設定すればいいの?
何も考えずにF9あたりでコンパイルしてdistにもぐる
>>467 そこ参考にするのやめろ。そのアプリケーションは欠陥品。
試しに、Jarファイルを起動した後、窓を閉じてからそのファイルを消そうとしてみろ。
サンプルによってsetDefaultCloseOperationがあったりなかったりしてるな。
ある画像の一部を切り取って新たな画像として保存するというのはjavaでできるでしょうか? 知っている方、だれか教えてくださいませんか。
どうも、拡張子が二文字のファイルでFile#renameTo()がうまく動かなくて困っています。 new File("test/test.n3").renameTo(new File("test/test.bak")); とやると、変更に失敗してfalseが返ってきてしまうのです。 ちなみに、元のファイルが拡張子3文字なら成功します。 何かご存知の方はいませんか。
474 :
デフォルトの名無しさん :2006/07/10(月) 23:37:38
>>472 そもそも ファイルtest.n3が出来て無いんじゃないか
476 :
デフォルトの名無しさん :2006/07/11(火) 00:41:46
普通に出来るけど
>>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")));
}
おおう、お馬鹿なことしてるな System.out.println("rename:"+n3.renameTo(bak));
サーブレットプログラムがパソコンで動かせて、携帯電話で動かせない場合、 処理の重さを考えなければ、何が原因になるでしょうか? どなたがご教授ください。
>>480 そもそも、携帯電話のVM上で動作するServletコンテナがあるのか?
そもそも、携帯電話をサーバにする必要があるのか?
483 :
デフォルトの名無しさん :2006/07/11(火) 01:42:08
全世界からアクセスされる携帯電話オソロシス
MEで動かそうとしてるのか 携帯からアクセスしようとしているのか この冒険はわくわくするな
プログラムの構成について質問です! 最初に思いついた構成を1とし、下に例を書きます。 後から思いついた構成を2とし、1の下に例を書きます。 ググッてみると2の構成例が見つからなく、 「こういうやり方って変?それともどっか問題がある?」 と思った次第です。プログラムの作成経験がほとんどないのでご指導ください! お題 「数分おきに流れるバッチ処理を、ブラウザから制御できるプログラムを作成」 構成1 ブラウザから設定変更要求→DBの値を変更(JSP,Servlet等を使う) バッチ処理起動→DBの値を取得→バッチ処理(↑とは独立したプログラム) という風に、設定変更用プログラム(servlet)とバッチ処理プログラム を別々のアプリケーションとして作成し、DBを介して実現してます。 構成2 Servletのinit()メソッドでバッチ処理を行うクラスのインスタンスを作成(設定はDBから読み込む)します。 ブラウザから設定変更要求→Servlet内でグローバル変数の値を変更(同時にDBもUPDATE) バッチ処理起動→変数の値を参照→バッチ処理 構成2では、設定変更用プログラムとバッチプログラムは一つのアプリケーションで構成されてます。 構成2の方が、なんとなく良さ気に思えるのですがどうなんでしょうか? ご教授願います!
たいてい「数分おきに流れるバッチ処理を、ブラウザから制御できるプログラムを作成」という お題だと、すでにバッチ処理をする部分は存在しているという前提のことが多いから 構成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かどうか確認しなきゃならん
489 :
472 :2006/07/11(火) 06:09:17
別口で使っていたライブラリが、開いたストリームをcloseしないのが原因でした。 お騒がせしました。
バッチ処理 古くさい
>>480 すいません、意味のわからない質問をしてました。
サーバに、パソコンからならアクセスできるのに、携帯電話からではアクセスできないとき、
原因はいったい何が考えられるでしょうか。
・ 携帯のブラウザが、そのhtmlを解釈できない ・ サーブレット側でuser-agentを見てはじいてる ・ 金を払っていない
・携帯電話会社のゲートウェイとかプロクシがそのサイトへの接続を認めていない
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
本嫁
>>495 いつも思うんだけど、なんでこういう時ってさ、その先生に聞こうとは思わないんだろ?
金払って行ってるんだから、授業後に先生に質問し倒すぐらいでないと元取れないと思うんだが
自分が学生の頃は、お前からの質問はもう受付んとウザがられる程質問厨だったが
それでも先生ってリアクションがあると嬉しいもんだよ?もちろん訊ねる態度によるけどね
498 :
デフォルトの名無しさん :2006/07/11(火) 12:10:37
>>495 その課題、5,000円でやってやるよw
>>486 ありがとうございます。
他にも色々機能を追加するかもしれないので、
「Servletが落ちるとバッチ処理も止まってしまう」
というのが後々問題になるかもしれません。
構成1の方が無難そうです。ありがとうございました!
>>502 どっちも仕事でやった
金が有るならプロセス管理ツールを使って構成1
そうでなくてもatコマンドで起動するようなプロセス監視ジョブを作ると良い
小規模でクリティカルでない物なら構成2でも実現は可能(こういう言い回しで解るかな?)
構成1の最大のメリットはバッチプロセスの異常ががサーブレットに影響を与えない事だ
構成2だと
>>486 の言うとおりバッチこけるとサービスダウン
ちなみに各社アプリケーションサーバのアプリケーション構築ガイド読むと構成2にはするなと書いてある
構成2の仕組みを使ったのは他チームの開発案件で見事トラぶり、運用後の改修で構成1に変わった
Firstクラスで String a = "3"; String = b ="5";を設定して それを引数としてSecondクラスでpublic String tset(a,b) {}でaとbを取得しようと思ってるのですが うまくいきません、助けてください・・・
>>504 なんかエスパーきぼんな内容だな
ちょっとソースをUpするか何がうまく行ってないか教えてくれ
まさか、Secondクラスにまんまpublic String tset(a,b) {}って書いてあってコンパイル通りませんじゃなかろうな
xx = "ソフト".replace("ソフト", "ソフト"); 文字列置換なのですが、上記"ソ"のような駄目文字を含むときはどのように行うのですか?
508 :
デフォルトの名無しさん :2006/07/11(火) 13:30:48
駄目文字って何?
>>508 すいません、表現が悪かったです。0x5C を含む全角文字を置換するにはです。
511 :
デフォルトの名無しさん :2006/07/11(火) 13:45:20
最近はエスパーが必要になるケースが増えてきたな。
テレポーテーショ〜ン 心の翼が〜 テレポーテーショ〜ん 今時を飛ぶ〜 私〜だけが〜私の恋を〜 あぁ〜未確認〜♪
コードが間違ってた・・・みんな忘れてくれorz
javaのコードの実行過程に対して理解があっているか教えてください a.javaというソースがあったとして javac a.java とするとa.classという「バイトコード」にコンパイルされる java a とするとaがメモリに読み込まれて実行される 昔のjavaではバイトコードのまま、それをインタプリタが解釈することで コードを実行していたが、最近のHotSpotと呼ばれる方式?では メモリに読み込まれたバイトコードのうち、必要になった部分から 順次JITコンパイラによって「ネイティブコード」に変換されてOSにより実行される。 また、このとき変換されたネイティブコードはキャッシュされて次回からは それが利用される。 しかし、たとえ全てのバイトコードがネイティブコードに変換されて 実行速度が向上しても、OSを再起動してしまえばそれらのキャッシュは 消去され、無効になる。 これでOKでしょうか?
>>516 実行過程というか実行操作はJavaの規定外だから処理系に依存します
バイトコードをどうやって実行するかも同様
つまり処理系を指定して質問しないと答えようがない
519 :
516 :2006/07/11(火) 17:26:49
>>495 マジレスするとSJC-Pの勉強するのが一番の近道
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くらいかと。
何で自分で計測しようと思わないの?
10秒差か
>>504 引数にaとbを渡してる時点で返さなくてもaとbを知ってるんじゃないの?
それともaとbを設定したいの?
そもそも返り値StringでどうやってStringを2つ返すの?ListやMapじゃダメなのか?
JavaはVBと同レベルだから仕方ない
>>521 そりゃオーダーの考え方からすりゃ同値だからどうでもいい話。
…と言いたいところだが、replaceメソッドは新たなStringオブジェクトを
生成する分だけ高コストだから、それを避けてるという意味では後者の方が
普通に速いだろうな。
>>526 それ、無知を自白してるようなものだからやめとけよ。
俺は忙しくて試す時間がねぇんだよwww 2chに何度も書き込んでるお前ら暇なんだろ?wwww 代わりに試せよwwwwww こうですか?わかりません!
>>521 そのへんのコストを考えるんだったらreplaceAllをやめた方がいい。
このメソッドはかなり遅いぞ。
>>529 もうちょっとリアルっぽい理由で攻めてもいいと思うよ。
A「どうやって計測するんですか?」
B「つSystem.nanoTime()」
A「そんなメソッドないと言われます><」
B「つcurrentTimeMillis()」
C「1.5使えよ。」
A「currentTimeMillis()って現在の時間を出すだけじゃないですか」
B「いや、だからぁ…」
D「夏廚発生。」
…とかとか。
>>531 確かに遅そうだな。
ソースみたら、そのメソッド呼ぶたびに、Pattern生成してMatcher生成して
String生成して…って。
自分で先頭から逐一各文字を比較して条件にはまったら置きかえ処理する方が
圧倒的に速くなる希ガス。
yahooメールに自動ログインするプログラムをjavaで作りたよ
うむ、ホントに○国人っぽくて良いかもw
○ = {"三"," 韓"," 中"};
DLLのような機構をマルチプラットフォームで実装するにはどうしたらいいですか?
>>541 「DLLのような機構」だけでは具体的に何をしたいのかイマイチ分からんが、
動的にクラスファイル読み込みたいだけなら
JARClassLoader 使って jar ファイル読み込んでも良いし、
手の込んだ事をやりたいなら自作の ClassLoader 作るとかすれば良い。
それで行けそうです ありがとう
ダイナミックな結合こそJavaの得意な分野だろ・・・
545 :
デフォルトの名無しさん :2006/07/12(水) 23:11:44
得意っつーか、それが全て、みたいな。
546 :
デフォルトの名無しさん :2006/07/13(木) 01:32:46
外注に出したときに、Javaプログラムのコピペ部分を検出するツールって ありますかね? 保守性が悪くなるから、受け入れ前に指摘して直させたいのですが。
同じように見えても今後の保守を考えて冗長的に書かないといけないこともあるからなんともいえん だが、受け入れレビューするならコードをたしょうおってみればすぐ質がわかると思うけど
548 :
デフォルトの名無しさん :2006/07/13(木) 14:38:32
エクスプローラのようなディレクトリの一覧をWEBの画面に 表示できるようなライブラリやツールってあってもよいかと思いますが、 ゴリゴリやるしかないのでしょうか。 よくある、apacheやjakartaのダウンロードサイトのディレクトリ操作のような イメージをWEBサーバー入れずにやろうと思ってます。
applet使えば一発
550 :
デフォルトの名無しさん :2006/07/13(木) 15:05:00
FILEBANKのゲストではダウンロードできるんだけど、シェアでダウンロード しようとすると下のほうに「ページでエラーが発生」が出て ダウンロードできない。ダブルクリックすると ライン28 「オブジェクトでサポートされていないプロパティまたはメゾットです」と 出るのですがどうすれば。。。。
>>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
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は何の値ですか?
プログラミングって半角じゃない文字だとダメなんですね。
変数は全角でも問題ない
初心者はスペースを全角で打つからこまる
>>558 String str = "日 月 火 水 木 金 土";
↑こういう時に" "の中の空白を全角にするのはOK?NG?
一般的なコーディング規約的にはどうなのかね
>>559 そんなところを規定するコーディング規約なんてあるのか?
>>559 何をやりたいか知らんが配列とかを使っとけと先に言っておく
>>562 ちゃんと文章読めよ
何かをしたいわけじゃなだろ
あり か なし かを聞いてるだけだろ
文字列の内容なんてコードじゃないだろ。 規約なんてあるほうがオカシイ。
なんか、月ごとのカレンダーの曜日タイトル部分のような気が。。。
>>559 OKだけど、もしその文字列を後でどこかにそのまま表示するというのであれば
フォントに気を付けないと文字ごとに幅が違っちゃったりしてエディタで
見ているのと全然違ってズレまくると思う。
568 :
デフォルトの名無しさん :2006/07/13(木) 19:58:22
>>555 itは「それ」っていう意味だよ。
サムはアムロと離婚した奴だよ。
571 :
デフォルトの名無しさん :2006/07/13(木) 22:47:11
だれか真面目に555を。
アムロって結局結婚してないはずでは?
>>555 N\__ -─- _/~| _ _
| ´ Y | hri | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ((_(_(_(_)_)_)/ とヽ ) < sum は実数、itは整数の値よ。
| (`(0 , 0)'|)| / ¬ \___________
\ゝ_ ー ノ ′_/ /
/⌒\`V/ ̄ ̄ __/
/ / ^ ) ̄
>>555 なんか簡単すぎて逆にうまく説明できないな。
見たまんまの数値が入ってるとかでいいんじゃね?
itはともかくsumは別に問題ないと思うぞ。
itは何番目で50000を超えたかの数字じゃないの?
itはイテレートの意なんだろうが プリミティブに使うのは違うな
578 :
デフォルトの名無しさん :2006/07/14(金) 02:47:59
どうせ書くなら、こんな感じが好きだな。 int index = 0; double sum = 0; while(sum < 500.0){ sum += data[index++]; }
クラス名も全角で無問題
しかも、全角(2バイト文字)の空白は半角の空白(0x20)と同様排除される。
>>580 全角空白は Character#isJavaIdentifierStart() でも
Character#isJavaIdentifierPart() でも false 返すから、
そもそも識別子に使用できない。
582 :
デフォルトの名無しさん :2006/07/14(金) 06:25:59
javaさん、もう僕は駄目みたいです ハフマン木を用いた暗号化でさくらんじょうたいです
583 :
デフォルトの名無しさん :2006/07/14(金) 10:25:37
印刷をする時に強制的にモノクロ印刷にしたいのですがPageAttributes.ColorTypeを使うみたい なのですがリファレンスを読んでもどう使っていいのかわかりません。 すみませんが教えていただけないでしょうか、よろしくお願いします
>>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
だそうだ。使ってみてよかったらレポートキボンヌ
PageAttributes#setColor()を使って pageAttributes.setColor(PageAttributes.ColorType.MONOCHROME); みたいに設定すればいいんじゃないか?
Ant で使う build.xml の DTD かスキーマってどこかにない?
>>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の引数がおかしいみたいなんですが原因がわかりません。
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のみでアプリを作る時の画像読み込みメソッドって、 何を使えばいいのでしょうか・・・?
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 ありがとうございます
無事に画像を読み込んで表示させる事ができました^^
>>589 getPrintJobの引数のthisは何なのかな?
getToolkitを直に呼び出しているところをみると少なくともWindowだとは思うが
この引数はFrameでないといけないので
「引数がおかしい」というのならこれがFrameまたはそのサブクラスでないということかなかな?
EJB3は確かに簡単だが、実務で使えるようになるのは果たしていつのことやら・・・
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のどちらが入りますか?
600 :
デフォルトの名無しさん :2006/07/14(金) 23:25:43
>>598 と、お前のように迷う人間が出てくるんだから、ツベコベ言わず初期化せよ。
601 :
デフォルトの名無しさん :2006/07/14(金) 23:27:13
どうもありがとう
PrintJobっていつの印刷APIの話してるんだよ
>>602 obsoleteになっているわけでもないし問題ないのではなかろか。
実は対象のシステムが古めかしいバージョンしか搭載していないのかもしれず。
とりあえずSE1.5.0_07でも
>>589 で生成したPrintJobインスタンスからgetしたグラフィックコンテクストで
ちゃんと印刷できたよ。
604 :
546 :2006/07/15(土) 00:32:25
>>547 もちろん、数十Kstep程度なら全部読みますけどね。数百K、数メガにも
なるとすべてを読むのは厳しいんですよ。それだけをやって良いのなら
数メガでもやりますけど。
自分がやりたいのは、そういう膨大な中からある程度ツールでコピペの
あたりをつけて、実際にその周辺を読んで、読みやすさを考慮して、など
の理由がみあたるものはスルーで、そうでなく、無意味(というかある意味
意図的だとは思うが)に規模が増えるのを何とかしたいんですよね。
(前者は保守性という意味でも良いと思うけど、後者は明らかに保守性は
下がるので。JTestを通すのを必須としているので、そういう意味での
品質はある程度担保しています)
ということで、良いツールがあれば(有償でも構いません)教えていただけると
幸いです。
>>604 grepでコアになるクラス・メソッド・変数を検索するってのはどうよ?
WindowsならNoEditorに付属のgrepツールが使いやすいと個人的には思ってる。
Statement s = c.createStatement(〜); s.execute(SQL文1); ResultSet rs1 = s.getResultSet(); s.execute(SQL文2); ResultSet rs2 = s.getResultSet(); とした場合にrs1を閉じさせない方法ってある? Statementを複数作るしかない?
そらfetchすることができなくなるからな
609 :
匿名 :2006/07/15(土) 18:46:00
java のことで質問です。インターフェースのメリットと利用目的、そして特徴はなんですか? 教えてください_(_|_)_
610 :
デフォルトの名無しさん :2006/07/15(土) 18:49:24
>>609 その質問秋田
このスレの上のレスとグーグル使って分らなければ諦めろ
612 :
デフォルトの名無しさん :2006/07/16(日) 01:23:14
エクリプスでJARを作るやり方教えて
エクスポート
614 :
デフォルトの名無しさん :2006/07/16(日) 07:27:37
615 :
デフォルトの名無しさん :2006/07/16(日) 09:32:26
515を"000515"のような0を埋めた文字型に変更する方法ありませんか?
>>615 String.format("%06d", 515)
>>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))
とやってもコンパイルできません。
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) というエラーです。何かご存知でしたらアドバイスください
623 :
デフォルトの名無しさん :2006/07/16(日) 11:21:45
ありがとうございます。 それで解決しました
>>623 それは重畳。ちなみに、1.5ならautoboxingが効くので
>>618 のようにしなくても大丈夫
>>614 RDFGravityのjnlpにはoffline-allowed要素が含まれてるのでオフラインで起動可能
というか実際に試してみればできるかどうかわかるのではなかろか
javaから実行ファイルって作れる?
627 :
デフォルトの名無しさん :2006/07/16(日) 13:42:38
628 :
デフォルトの名無しさん :2006/07/16(日) 13:47:04
interfaceって暗黙的にfinal public staticがつくみたいだけど interfaceにデータを定義してやれば メモリには一つ分しか確保しなくて interfaceを継承した複数のクラスで 定数を使えるということですか?
親クラスがprivateでアクセスできません。 protectに修正すべきですか?
>>628 >interfaceって暗黙的にfinal public staticがつくみたいだけど
→interfaceに宣言した変数って暗黙的にfinal public staticがつくみたいだけど
という意味ならその通り。
通常のクラスに宣言されたfinal public staticの変数と同じ。
>>629 privateなクラスを継承するって発想がダメダメだな
632 :
デフォルトの名無しさん :2006/07/16(日) 14:08:18
親クラスはprivateでsuperを使う方が 普通の発想だと思うが
635 :
デフォルトの名無しさん :2006/07/16(日) 14:36:30
お前ら、言葉は正しく使ってください。 クラスがprivateとか意味不明です。 innerクラスですか? privateコンストラクタですか? 不変オブジェクトですか?
>>635 private classとできるのはinnerクラスですかだけだと思うが
>>633 サブクラスからは、親クラスのprivateメンバにアクセスできませんよ。
IDパス認証→残高照会のページ→残高出力 こんなかんじで銀行のサイトから残高のデータを 取りたいんですができますか?教えてください。
URLConnection + HTML パース
javacのコンパイルエラーメッセージを日本語から英語に切り替えたいんですが なんかオプションとかありますか。 環境変数$LANGでは切り替えられませんでした。 環境:WindowsXP & Linux, JDK1.4 & 1.5, コマンドライン
>>640 javac -J-Duser.language=en Hogehoge.java
642 :
589 :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);
643 :
640 :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の掛け算はどうすればいいのですか?
645 :
644 :2006/07/17(月) 12:15:46
しかも java.util.Vector の addElement(java.lang.Object) は (double) に適用できません。 とかも言われたんですが、Vectorってdoubleもはいりますよね?
>>644 Vectorに入るのはオブジェクト型なんでDouble型にラップしないとダメなはず
プリミティブなdouble型は配列に入れとかなきゃ…。
//もう少しソースを描いたほうが何がしたいかわかりやすいと思う。
boolean[1][10000]とboolean[10000][1]で消費メモリの違うJavaって・・・
Java以外で消費メモリがどうなるか調べてみての発言か?
>>644 doubleの掛け算は*演算子でいいはずだけど。
もし、Doubleクラスのインスタンスの掛け算なら、
new Double(1.0).doubleValue() * new Double(2.0).doubleValue()
みたいにdoubleValue()でdouble値を求めてそれを使って掛け算しないと。
651 :
644 :2006/07/17(月) 12:47:55
>>646 ありがとうございます。
あと、掛け算ができないのはVectorから出してきたObjectをそのまま使ってたからかもしれません。
Objectをdoubleに変換するのはどうすればいいんでしょうか?
653 :
デフォルトの名無しさん :2006/07/17(月) 12:53:30
654 :
644 :2006/07/17(月) 12:55:15
ググッてわからないから聞いてるのに・・・
>>649 まずVectorにdoubleが入るという勘違いをしている人にはそれを正しておかないと、
今まで通らなかったものがautoboxingでいきなりコンパイル通っちゃうのはある意味危ない気がする。
将来どうなるかは別として今のところはautoboxingは単なるsyntax sugarなんだから、
何が糖衣にくるまれているか理解しておいた方がいいと思う。
((Double)vector.elementAt(index1)).doubleValue() * ((Double)vector.elementAt(index2)).doubleValue()
657 :
デフォルトの名無しさん :2006/07/17(月) 12:57:34
>>653 要素10000の配列オブジェクトをひとつ持つ配列オブジェクトと
要素1の配列オブジェクトを10000持つ配列オブジェクトとの違い
オブジェクトって言葉が要な
662 :
デフォルトの名無しさん :2006/07/17(月) 13:31:55
てか、Vectorがナントカって言ってるやつ。 悪いことは言わんから、その本は今すぐ捨ててしまえ。 この程度の質問をするやつだから、Vectorは必要があって 使ってるんじゃなくて、単に本が古すぎるんだろう。 せめてJ2SE v1.4以降に対応した本を買え。
SwingっていまだにVectorだった気が… そいやVectorはCollectionフレームワークじゃないからダメって記事をたまに見る お前試しにListで受けてみろって思う
まだVectorを使いまくりだよ。やばい?
別に。
666 :
デフォルトの名無しさん :2006/07/17(月) 15:41:10
>>664 必要性を認識して使ってるのなら全然問題ない。
ただ教科書に載ってたから、ぐらいの認識なら、ただパフォーマンスを
劣化させてるだけ。
じゃあどうしろって言うんだよッ!
VectorとArrayListの違いを理解して使い分けろ
そういうことだ。
適切なcapacityを渡すことができればの話だがな
めんどいから全部Vectorにしといてもいいよ 100件程度のリストに構造の違いなんて大差ない それ以上はDBにほうりこむわけだしな
672 :
デフォルトの名無しさん :2006/07/17(月) 16:05:31
doubleの掛け算は精度落ちするので ふつうはやらない
逆数を取って割り算にすればいいんだよ
>>655 危険なのは承知だがコンパイルが通るのが今の仕様だ
ループの中でボクシングしまくりで遅くなったりメモリ使用量が圧迫するようだったら
そのとき説明してあげればいい、と最近は考えるようになってきた
今まではコンパイルエラーでまくりだったりラッパークラスの意味がわかるかどうかは敷居が高すぎ
EODってのはそういうものかと
誰だって昔アセンブラ&BASIC時代、言語の隅々まで理解していたわけじゃないだろう
もちろん仕事で使う場合は別な
今JAVAを勉強しているのですが、「ボタンを押すたびにボールを画面外まで飛ばして消す」という操作を、アプレットではなく普通のアプリケーションとして実行させたいのですが上手くいきません。 ソースとしては、Frameクラスをextendsさせて、ActionListenerとRunnableのインターフェースを実装させてます。 ボタンを押すことでThreadを生成させて、一回はボールを飛ばして消すことが出来るのですが、二回目以降いくらボタンを押してもピクリとも動きません。 調べてみたら「Threadは一度しか実行されない」ということらしいのですが、 アプレットなら、例えばシューティングゲームのようにボタンを押すたびに(もしくはキーやマウスを押すたびになど)何度もThreadを生成させられてるように思うのですが、どうなんでしょうか・・・。
簡単に説明すると、オブジェクト毎にスレッド作るんじゃなくて ゲーム本体が一つのスレッドで、画面描画やI/Oコントロールの別スレッドと協調動作するってイメージかな
>>676 何を勘違いしているのか知らないが
アプレットだろうとなかろうとThreadでの処理は一度しか実行されない。
679 :
デフォルトの名無しさん :2006/07/17(月) 20:44:40
時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) よろしくおねがいします i−want−to−study−java@hotmail.co.jp 教える対象は超初心者です。 専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
>>668 > VectorとArrayListの違いを理解して使い分けろ
ありがとう。勉強してみます。
>>671 > めんどいから全部Vectorにしといてもいいよ
> 100件程度のリストに構造の違いなんて大差ない
> それ以上はDBにほうりこむわけだしな
1000件以上をVectorに貯めるとダメですか?
ArrayListだったら1000件以上を貯めても平気ですか?
一昔前のPCなら体感できるかもしれないって程度の差はあるだろうな マルチスレッドとかで大量に同一処理を裁かない限り違いは分からない
javaサーブレットについて教えてください。 画面にてデータを指定して サーブレット側でそのデータに基づいてファイルを作成する、 といったプログラムを作成しているのですが サーブレット側からクライアントのPCに 直接ファイルを作成することは可能でしょうか。 セキュリティについては、プログラムを使用するPCは限定されるので 何か設定することで可能になるならそうしたいです。
>>682 > サーブレット側からクライアントのPCに
> 直接ファイルを作成することは可能でしょうか。
ここが良くわからない。
ブラウザを通さずに直接サーブレットが
任意のフォルダに保存するってことか?
ブラウザ使わず独自のクライアント使えばいいじゃん
684 :
682 :2006/07/17(月) 21:09:45
補足です。 ブラウザはIEをつかわなければいけないです。
補足するまでもなく無理だと気づけるだろ。 どこまで馬鹿なんだコイツ
>>682 できるよ。
制限付だけど。
全部ここで解説するのはメンドイので「署名付き applet」で適当にぐぐって。
ちなみに、サーブレットでファイルを生成したものをappletでクライアント側に渡す感じになるかな。
appletでファイルを生成しても構わない設計ならその方が鯖側は処理が楽かもね。
アプレットでファイル保存する時の保存先を聞く時に マイドキュメントが最初に表示されようにするには 以下の方法でいいですか? JFileChooser jFile = new JFileChooser(System.getProperty("user.name")); jFile.setDialogType(JFileChooser.SAVE_DIALOG);
だからそれは独自クライアントを作ってんじゃん
ブラウザがIE以外ならエラーとしたいんですが どうしたらいいですか
690 :
682 :2006/07/17(月) 21:43:54
ありがとうございます。しらべてみますね。
692 :
デフォルトの名無しさん :2006/07/17(月) 23:52:23
構造体は無い?
構造体もどき 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(); }
えらい不便な言語ですね。
どーしてもオーバーライドの規則が分からないので質問させてください。 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; } }
697 :
696 :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が呼び出されるように思えるのですが‥。
calcはオーバーライドじゃなくてオーバーロード。 子は親子両方を引数にとるメソッドを持っているが親は子を引数に持つメソッドを持っていない。
>>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);が呼び出される。
700 :
696 :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はオーバーライドできていないからこんなことになるんですか?
701 :
696 :2006/07/18(火) 08:03:14
あっごめんなさい!一旦熟考します。
702 :
696 :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は無いのかね?
ねーよ。お勧めできんがbreakでラベルに飛ばす
705 :
デフォルトの名無しさん :2006/07/18(火) 11:35:34
>>696 「引数の型」の4文字を1万回書け。
話はそれからだ。
706 :
2285 :2006/07/18(火) 12:52:28
どなたかお答えいただけるとありがたく思います。 現在、フリーで作っているホームページをYahooのようなユーザー登録もできるような物にしたいのですが、あのような機能(プラグラム)は何で作っているのでしょうか教えていただけませんか??? 色々調べてみたのですが、cookieなどを使用するのでは・・・というところまでしか分かりませんでした。 Yahooの用に、ユーザー登録ができて、住所、名前などを入力してもらい専用IDとパスワードを使って入ることができるという項目を作れたらと思います。 どのような種類のプログラムがよくて、プログラムコードはどのようなものなのか、教えていただけるとありがたく思います。 そのような事が書いてあるホームページを知っている方はそのページのURLなど教えて下さい。 どうかお願いいたします。
>>703 何か例外が出たのを利用して先に飛ばす場合は try 〜 catch を使う。
ループから抜けるなら break で抜ける。
この2つがあれば goto は不要だと思うが、あってもなお必要に
なることがあるならぜひ教えてくれ。
710 :
デフォルトの名無しさん :2006/07/18(火) 18:51:37
Java にパソコンの電源を切るメソッドなんてないよね? C++ か何かで書いてRuntimeか何かで呼び出さないといけないのですかね?
711 :
sage :2006/07/18(火) 18:52:27
goto HELLみたいなちょっとした悪戯を入れることはできるね。
713 :
デフォルトの名無しさん :2006/07/18(火) 19:47:26
テキストフィールドに数値(何桁でもよい)しか入力させたくないので JFormattedTextFieldとNumberFormatを使いました。 これだと確かに数値しか入力できなくなるようになったのですが、 英文字とかを入れてフォーカスが離れたときに、以前入力された数値が入ってしまいます。 これだと困るのでブランク(何も入力しなくてもよい)も許可するようにしたいのですが どうしたらよいですか?
>>713 AbstractFormatterFactoryとAbstractFormatterの部分見てみた?
自分で実装すればいくらでも自由にできるよ
業務系だと無理やり0にするとかもわりと多い
もちろん入力自体を抑えるのも大事
715 :
デフォルトの名無しさん :2006/07/18(火) 20:50:30
>>714 見てみました。
AbstractFormatterを自分で実装すればいいんですね。
ありがとうございました。
>>706 サーバ側に登録したデータを保持する必要があって普通はDB使う
ということがわかってれば言語は何でもいい。
717 :
デフォルトの名無しさん :2006/07/19(水) 01:36:37
ArrayListで、下のような感じで比較しようとしてもうまくいかないんですが、 配列なんかの比較は無理なんでしょうか? sData[0]=1; sData[1]=2; sData[2]=3; if(list.contains(sData)) {
>>717 APIドキュメント嫁。
equals()メソッドによる比較という仕様になっている。
equals()メソッドがどのような動作をするのか考えれば判るはず。
>>717 配列とArrayListの区別がついてるのかもあやしいけど、配列を比較するなら
java.util.Arrays という便利クラスがあるので、それを調べてみて。
ところで、Javaには集合演算をするクラスはありますか。
和集合と差集合を取りたいんですけど。
startDateからendDateまでの営業日数を計算するロジックがどうしても思いつきません(´・ω・`) 皆さんのお力をお貸し願いたいのですが(´・ω・`)
小学生でもできるぞw
サーバーサイドのプログラミング+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を指定してます。 宜しくお願いします。
>>722 >次にtest.jspで、先ほど作成したStateful Session Bean を呼び出し、値を取得したいのですが呼び出し方が分かりません。
つ javax.ejb.Handle、javax.ejb.EJBObject#getHandle()
それ以前に、ViewであるJSPで直接EJBを呼び出そうとは、言語道断な設計だな。。。
>JBOSS4.0.4を使用して、JSPの中にjava 5.0独自の構文を書くとエラーになってしまいます。 JSPコンパイラに何が使われているか?だな。
>>722 サーバサイドプログラミングの初心者なら、今のEJBは忘れていいよ。
EJB3になったら消えてなくなる技術だから。
今はそれよりも、サーブレットとJSPだけしっかりと勉強することをお薦めする。
その意味では、JBossじゃなくてTomcat使った方が簡単でいい。
>>725 みたいなレスって余計なお世話だよな。
知りたいことに答えずに「そんなモノやめろ」だもんな。
仕事で必要に迫られて勉強しているのかも知れないだろ。
この時期にわざわざEJB2.xならその可能性が高い。
そんな…冷たい言い方しなくたって…
728 :
デフォルトの名無しさん :2006/07/19(水) 12:53:33
>>726 お前のレスは必要かw
社会人がこんなバカな質問する時点で
>>719 >ところで、Javaには集合演算をするクラスはありますか。
>和集合と差集合を取りたいんですけど。
Set<E>#addAll(Collection<? extends E> c)
Set<E>#removeAll(Collection<? extends E> c)
EnumSetとEnumMapは必須知識だな
JavaでRSSを扱いたいんだけど、そういうのを解説してるサイトってありますか? できれば、RSS生成か、RSSリーダーの作り方みたいなサイトがいいのですが・・・ いきなりですみませんが、よろしくお願いします
JavaがわからないのかRSSがわからないのかネットワークプログラムがわからないのかどれだ
>>723-728 ありがとうございます。ちなみに学生です^^;
せっかく勉強するなら最近話題?のEJB3.0を使ってみたいなと思った次第です><
JSPではEJBを呼び出さないものなのでしょうか?
Servlet側で一度、HttpSessionに格納して使用するのが一般的なのでしょうか?
すいません、EJBの役割がいまいちよくわからなくて(Entitiy Beanはわかるのですが)
JSPにコントローラの役割をさせるなということだろう
>>720 ヒント:ミリ秒
他の方法もあるかも知れんが、これが一番わずらわしく無くていい
Strutsのコントローラは失敗だったな
>>736 ただの日数だったらそれでいいが
営業日数だから一日ずつその会社の営業日かどうか
判定していくしかなかろう。
おっと、盲点だった。営業日なのか。
startDate と endDate は、日数のうちに含まれるのか……とかの境界条件があいまいだなぁ 地道に1日ずつ判定していったほうが早いような希ガス
営業日ってのは会社次第だから一般的な解はないだろなぁ。 休日もあるし。 週*2 で土日を削るぐらいか。
「土日以外」とか簡単明確な定義がないなら、DBやファイルに休日を定義して一日ずつループで回すしかない。 会社都合の休日も入ってくるし、突発的に営業停止とか食らったらそれは営業日から抜かなきゃならん。 銀行の取引とかだとこれに「26時」とかいう日跨ぎ時刻が絡んでくるからさらに面倒臭い。
>>742 javaだけって事ではないんだが、そろそろ24時以降も標準で使えるようにならんかなぁ・・・
一部使える関数とかあるのかもしれないんだけど。
いやー、例えば 「7月20日26時の締結」 と 「7月21日2時の締結」 が 業務的に同じ意味とは限らんからこうなってるってこともあるし。 まぁ逆に銀行とかはそのへんの仕様がホスト時代からしっかりしてるから、 面倒なだけでよく考えればあまり難しくはない。
基本的にはその会社独自のカレンダーを作る。 正月やお盆にいつ休みにするか創立記念日は休みとか。 1年分とか2年分とか手作業で休みを登録してもらう。
春分・秋分の日もあるしな。
Calendar を継承した俺様カレンダーを作成するべき?
ぐれかれ+営業日計算メソッドで十分よ まあクラス実装してもいいけど
749 :
720 :2006/07/20(木) 11:44:13
なんとか実装できました(´Д`; 開始日から終了日の日数計算して、 その期間ぐるぐる回してCalendarで土日判定して、 祝日マスタから祝日とってきて、土日と重なってるのカウントして、 土日祝日の日数算出して、 日数から土日祝日の日数を引く。 地道に計算するしかないみたいですね(´・ω・`) 祝日は無理としても土日引いた日数くらいは パッと計算できるメソッドでも用意されてるかなと思ったんですけどね(´・ω・`) ともかく皆さんありがとうでした。
日曜日が休みなのは宗教的理由だ! ってな話になるので無い
751 :
デフォルトの名無しさん :2006/07/20(木) 12:59:28
イスラームは金曜日だからな
テキストファイルを読み込んで テキストの先頭から解析していくのに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"); }
753 :
752 :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){ の違いはなんでしょう?
>>754 どこもおかしくない。正しい
String args[]とString[] argsは同じことではあるが
できればString[] argsを使うことをおすすめする
もしおかしいと思うのならどうおかしいかを書くべきだ。 提示されたコード片は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
>>752 ヒント1:FileReader はファイルの文字エンコードを知らない
ヒント2:InputStreamReader のコンストラクタでは文字コード指定ができる
>>757 classloaderがドライバを見つけられていないわけだから、
実行時のクラスパスを見直してみてわ?
もしくは
>Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // ←2005 バージョンに変更
ここを見直すか。
>>759 これこれ、いい加減なことを言っちゃいかん。
それならClassNotFoundExceptionが発生するはず。
>>757 ドライバは%JAVA_HOME%jre\lib\extなんて場所に置いちゃいかん。
アプリのWEB-INF/libに置いてみろ。
>>757 no suitable driver なら、データベースのURLが間違ってる可能性がある。
どう書いてる?
762 :
デフォルトの名無しさん :2006/07/20(木) 23:15:45
JAVAを用いて以下のようなシステムを作りたいのですが可能でしょうか? googleなどの検索エンジンにおいてキーワードを入力して検索し、 検索結果のサイトの50〜1000件のページをアーカイブして、テキストファイルを作成する。
>>762 もちろん可能。どのへんが無理っぽいと思った?
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
769 :
757 :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";
771 :
757 :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
>>771 それは、ホストのアドレスかホスト名が違う。
もしくは、DBMSの設定で外部からの接続を受け付けないようになっている。(アプリのコードではなく、DBの設定の問題)
773 :
766 :2006/07/21(金) 12:02:20
JAVAでDBしたいんだが配布の時に問題があるから もし、DBをインスコしないと使え無いなら プログラムで全てやる必要がある
java初心者です。下記のような処理の似たメソッドをまとめる方法って無いですか? void a() { p(); while (条件) {x();}} q(); } void b() { p(); while (条件) {y();}} q(); } void c() { p(); while (条件) {z();}} q(); }
void nullpo(intとかなんか a) { p(); switch (a) { case xをあらわすなんとか: x(); case yをあらわすなんとか: y(); case zをあらわすなんとか: z(); } q(); } ↓次のお前のセリフは、テンプレートメソッドと言うッ!
>>773 HSQLDBとかPointBaseとかをアプリに同梱すれば?
>>773 cloudscapeを調べると幸せになれるかも
今はMSDEとか2005はインストールするとTCP/IPのネットワークライブラリが有効化されるのか?
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);
>>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
マジレスかよ
>>781 sp.parse(new File("hoge.xml"), df1);ならどうなりますか?
確認のためにファイルに書き出したときに変換していませんか、または変換を忘れていませんか?
785 :
757 :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側で書いていますが、ココは大丈夫でしょうか?
>>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();
}
>気になる点としては、SQLServer認証でログインする時表示される >サーバー名が"localhost\SQLEXPRESS"と\マークが入っているので >private final String serverName= "localhost\\SQLEXPRESS"; >とjava側で書いていますが、ココは大丈夫でしょうか? これだよ。自分でわかってんじゃん。 「ホスト名」ってヒントもらってるんだから。
788 :
757 :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";
これでもやっぱりダメです。
それとも何か根本的に違ってますか?
>>788 なぜ"localhost"を試さない?
同一マシン上でDBは動いてるんだろ?
その前に混在モードにしてないだろ インストール時にSECURITYMODE=SQLを指定しておかないとログインできないぞ
>>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]);
}
にするとか。
792 :
757 :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でログイン出来てるしなぁ・・・
打つ手が無くなったよ・・・
793 :
757 :2006/07/21(金) 15:50:38
さっきの書き込みの後、ポートの設定でどうやるんだろ? って思ってSQLServerでのポート番号の確認の仕方を検索して 見つけてみるとインストールの初期値1433になってなーい。 1433に設定したら繋がりました!イヤッホオオオオウウ!! マジで感謝だお!
シューティングゲームを作ったのですが アプレットビューワーでは動くのにブラウザ上では 敵が出てきた瞬間に止まってしまいます。 ビューワーで動いてブラウザ上で動かないエラーをおしえてください。
>>794 ブラウザ上で止まってしまった時のエラーメッセージは?
>>794 >>794 あなたの頭の中を透視できるエスパー・超能力者はこのスレにはいないと思います。
よって、問題を見て欲しいのならなるべく多くの情報を書き込んでください。
でないと何がどうなってどういう結果が出るのか誰にもわかりません。
例
・JAVAの種類(SE・MEとか)、バージョン
・動かないプラウザの名称
・WEBサーバにどういう風にファイルを入れているか(プログラムと画像データその他が一緒の
ディレクトリに入れていないとか)
・アプレットを入れているHTMLのソース
・JAVAソースコード
・その他思いつく限りの情報
・・・私の超能力によると、おそらく敵の運動パターン・出現位置は別のテキストファイルに記述してあり
敵が出現するごとにJAVAプログラムがそれをロード、解析し動かす。というものなのだがそのテキストファイル
が無いのでロードできず止まってしまうのではないか。・・・ではないかと思うのですが。
例外処理を導入しIOエラー等がでたらそれを知らせる警告を出すなどをしたほうがバグ取りや保守改良が
しやすいのでおすすめですよ。
とここまで書いて質問者が希望する答えが
>ビューワーで動いてブラウザ上で動かないエラー
なのに気づいたorz
797 :
平安京 :2006/07/21(金) 16:54:45
最新プラグイン入れたらなぜか動きました! もうひとつ質問です エラーメッセージはIE6.0でどうやって表示するんですか? さっきは表示されませんでした
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とかが入っておらず起動できず。 何か、これを試せ、という事があれば教えていただければと思います。 宜しくお願いします。
>797 if Sun JVM, tool -> Java console
>>798 TomcatでJSPを動かすにはJREではだめで、JDKが必要。
JDKなら、1.4でも5.0でも動く。
Tomcat5.5にもstartup.batあるよ?zipの方使ってみたら?
>>798 > 本当は1.5.0_06でTomcatを動かせればいいんですが、
> Tomcat5.5にはstartup.batとかが入っておらず起動できず。
入ってるよ。よく見れ。
>>800 Tomcat5.5ならJREでOKだよん
803 :
798 :2006/07/21(金) 17:59:21
zipで5.5のセット一通りを解凍したところ、無事起動しました。 迅速なレスありがとうございました。
複数の文字列をファイルに出力する処理で ・StringBuilder等に文字列を追加していって最後に出力 ・文字列を各々出力(BufferedWriter使用) のどっちがいい?
どのくらい文字列があるかによるな
>>804 スレッドが異常停止するタイミングを考えるんだ。
BufferedWriterのがいいに決まってる、大抵の場合。
>>804 BufferedWriter でいいんじゃない?
>>804 その文字列をappendしていった途中経過が要求される場合に限っては
当然前者の方が優位。
単純にファイル出力したいだけなら、後者の方がいい。
見た感じ、大量の文字列を扱いたいと考えてるように思えるが、それだと
StringBuilderのキャパシティの更新コストが大量に発生する可能性が
ある。
それに冷静に見れば、前者にしろ後者にしろ出力する分の文字列
インスタンスを生成するトータルコストは変わらん。
だから、途中経過が要求されないなら、StringBuilderを生成する
意義が全くない。
そもそも件数が多いと無駄にメモリ食うだけ。
812 :
765 :2006/07/21(金) 23:17:03
765です。再度の質問すみません。 「googleなどの検索エンジンにおいてキーワードを入力して検索し、 検索結果のサイトの50〜1000件のページをアーカイブして、テキストファイルを作成する。 」 というシステムを作成したいのですが、 プログラムの流れを教えていただけないでしょうか。 google APIを利用する場合、しない場合どちらでも結構です。 よろしくお願いします。
検索結果画面で50〜1000なのか、検索結果画面に出てきたリンク全てを50〜1000なのかどっち?
814 :
765 :2006/07/22(土) 00:07:57
すみません、検索結果の上から50件程度から1000件程度です。
それなら普通に取得すればいいのでは? Googleって基本全部GETで遷移できるでしょ
あの
817 :
デフォルトの名無しさん :2006/07/22(土) 04:04:01
ちょっと相談に乗ってくんろ。 JavaでXMLドキュメントを扱いたいんだけどJAXPを使うか直接DOM/SAXを扱うか悩んでる。 結論はないんかもしれんがどっちがいいってのを理由をつけてよろ。
あるクラスAでprivateな変数とその変数を参照するアクセサを定義していて、 mainでそのクラスAのオブジェクトと、 別のクラスBのオブジェクトを生成したあとに、 クラスBのオブジェクトの関数内から先ほど作成したクラスAのオブジェクトのアクセサから privateな変数を参照するにはどうしたらいいですか?
オブジェクト名はmainに書かれてるのでクラスBからは オブジェクト名を使ってアクセサを実行することができないのでどうすればいいのかと。
>>819 Bのメソッド使うときに引数で渡すとか、ずっと使いたいなら
Bコンストラクタで渡してインスタンス変数に入れとくとか。
ちと補足:Aの参照を渡すって事ね
ぬるぽで落ちました。
>>818 今、どれぐらいの力量なのか知らんが、文法を一通り勉強したなら、
次は UML・デザインパターンのような設計の見通しを立てる勉強もしろよ。
デザインパターンの本に載ってるようなソースを何度も眺めていたなら、
そんな質問もほとんど湧いてこないはずだ。
変数をグローバル変数にすればいい。アクセサも必要ないまじオススメ^^
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' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
はい
>>827 JDKのが必要。JREのはなくても動く。
c:\Program Files\Java\jdk1.5.0_07\bin
831 :
デフォルトの名無しさん :2006/07/22(土) 19:43:07
833 :
デフォルトの名無しさん :2006/07/22(土) 19:50:55
827です。 ありがとうございました。 これでやっとjavaをはじめられそうです。
先が思いやられますね
>>833 少ないかもしれんが多くの人間が通った道だ。がんばれ。
836 :
デフォルトの名無しさん :2006/07/22(土) 20:02:44
>>836 FireFoxとかだと見れるのか!!?
Sleipnir使ってるけどここ数ヶ月真っ白。
>>838 Firefoxでは見られる。
Sleipnirは事実上IEプラグインじゃん。
MSは氏ねって事だろw
SunはアンチMSw
サーバーと通信するアプレットを作ってるんですが、困ったことが起きたので質問させてください。 アプレットはHTMLファイルに埋め込んでます。 サーバー(Javaで作ったもの)とhttpサーバーとを起動させた状態で、ブラウザのアドレス欄に localhost/****.html と入力するとアプレットはちゃんとサーバーと通信してくれるんですが、自分のIPアドレスを使って 123.456.789.000/****.html と入力するとAccessControlExceptionが発生してしまいます。 なぜでしょうか…よろしくお願いします。
845 :
843 :2006/07/22(土) 21:25:10
WindowsXP J2SE1.5
次のプログラムは何を行うプログラムか.簡単に説明しなさい.また, 結果を得るまでに,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
war fileって ウォーファイル?ワーファイル?
>>848 日本では「わー」が主流。
米国では「うぉー」が主流。
ちなみに、earは
日本では「あー」が主流。
米国では「いやー」が主流。
>>849 やはりそうか。。。
最近日系企業に行ってわーわーいってるからなんのことかわからなかったよ・・
>>836 ん?漏れのIE6は表示されてるぞ?
ただ、Scriptエラーはでてるな。
じゃあjarもじゃあじゃなく他の読み方があるのかな
STAR WARS だけはなぜかちゃんとスターウォーズなんだよね。不思議。
warやearは普通の英単語だろ jarって単語あったっけ?
>>852 ,854
日米ともに「じゃー」だよ。
jarは日本語では瓶とか壺とか。
Eclipseではビルドパスに設定されるjarファイルは瓶のアイコンでしょ?
おお!
あいやー!
aaaa bbb ccc ddddd って書いて保存したあと メモ帳で開くと文字化けします。
( ゚,_・・゚)ブブブッ
????????? マジだすげー!!どうなってるんだろう
逆参照可能なMapクラスってありますか? つまりvalueからkeyを参照するためのものです。 hash機構が使われないのであれば意味が無いのですが
おまえはあほか。
おまえよりちょっとマシな程度。
逆参照可能な Map クラスを作っちゃえばいいじゃない
Map を2つ用意すればいい。
>>862 valueをkeyに、keyをvalueにしたMapを用意すればすむ
Map.EntryをIteratorでぐるぐる回して valueを調べていくしか無いんジャマイカ。
標準で無いならMap2つ持つほうが良いようだね
>>867 valueの重複ができなくてもいいのならね
nullとか持てるし意外とコスト高かも
SAXを使ったプログラムを、大容量のXMLファイルを引数にしてコンソール上で実行すると以下のような表示が出て、 処理が終了してしまいます。 「パーサは、アプリケーションによって設定されたエンティティの拡張制限"64,000" に達しました。」 これを回避して大容量のXMLファイルを扱えるようにするにはどうすればよいのですか。ご教示ください。
そのアプリケーションのパーサのエンティティの拡張制限の設定を変える
-DentityExpansionLimit=100000000
875 :
872 :2006/07/23(日) 04:05:12
>>873 , 874
ありがとうございます。
私もネットで調べて874さんの方法にたどり着き、先輩に提案したのですが、
「その方法ではだめ、ほかにも方法があるから自分で調べてくれ」と言われました。
しかし、いくら調べても同じようなページにばかり行き着いて途方にくれています。
ほかの方法はありませんか。お願いします。
>>862 逆参照というからには、もちろんkeyとvalueは1対1対応なんだろうな?
高パフォーマンス志向ならMap2つ。
低メモリ志向ならkeyとvalueの情報を持つ構造体的オブジェクトのList。
1対1対応じゃないなら地道にMapの中身をイテレートして検索するしかない。
>>875 その先輩の頭の中は分からないから「ほかの方法」とやらが何をもって他の方法なのかが不明。
System.setProperty("entityExpansionLimit", "-1")
をプログラム中で追加するのは他の方法にはならないのか。
いっそのことエンティティの展開制限のないparserに切り替えればいいのでは?
その先輩とやらの求めるイメージを知らずにはいくら調べても意味がないと思うよ。
聞いてみるべし。
何でその方法ではだめなのか理由があるはずだから、 まずそれを聞いてみることをお勧めする。 その逆をやればいいわけだから。 もし理由が理不尽なんだったら、その先輩を締め上げてもよろしい。
879 :
デフォルトの名無しさん :2006/07/23(日) 14:18:02
JTextAreaで、何色かの文字を混合させたいのですが、どうしたらよいでしょうか。
>>879 JTextAreaでは部分的に文字色を変えることはできなかったと思う。
替わりにJTextPaneを使ってみるのはどうか
>> 877
>>878 大変参考になりました。ありがとうございました。
お勧めーーな本を教えて下さい
やさしいMaja
って、そんな本で学習してたらこっちまで 妙な髪形にしたくなっちまったじゃねーかよ この野郎!(ベシッ)
Maja魂
マヤ? マハ? マジャ?
TomcatでJSPをローカル表示する際の質問なのですが、 英語は問題ないものの、日本語が???になってしまい、 ネットで見つけたサンプル日本語化文章を試してもエラーが出てしまいます。 なお、疑わしい事として、現在Tomcat5.5を使っているのですが、 前のTomcat5.0が46MBあるのに対して、今の5.5は22.5MBしかないため、 何かしら足りないせいで誤作動を起こしているのか?とも思うのですが、 DLページの5.5関連物は全て落として上書きしていると思うので、 原因が分からず詰まっております。 このような場合、どういった事を試せば良いでしょうか?
>>889 自分も初心者なので詳しくはわかりませんが
エンコードの設定とかではないでしょうか?
>>889 OSとJSPのソースコードの保存文字エンコーディングと
pageディレクティブの設定と
JSPコンパイラのjavaEncodingの設定。
話しは、これらを晒してからだ。
c++では++iとi++では++iを使えという鉄則があります i++は内部的には以下のようになっていて++iより遅いというのです int old = i; ++i; return old; javaでも同じですか?
鉄則とか遅いとか断言したかったら汗くらい読めよハゲ
>>892 単純に
i++;とか++iとかやるときは同じバイトコードみたいだけど。
どちらも、iinc
895 :
892 :2006/07/25(火) 10:48:38
>>893 ハゲっていうなよちくしょお
これから汗読んでやるよちくしょお
896 :
892 :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++も最適化がかかり同じものとして 扱われるということですね 間違ってたら指摘して下さい・・・
>>896 その実験の意義は何だ?
単にi++単独と++i単独とが最適化で同一化してしまうことを再確認しただけだろ。
そんなの、実験しなくても普通にわかると思うが。
敢えて突っ込んで結論を書くなら、「i++は++iよりも遅くはない」ってところか。
それと、この件の言い出しっぺは実際何を比較したかったのかが
イマイチよくわからんな。
果たして
>>896 のようなi++単独と++i単独の単純比較をしたかったのか?
この両者はプロセスは違うが、演算結果は等価なんだから、こんな
ごく単純なコンテキストでは、コンパイラが最適化して同一化して
しまうというオチは火を見るより明らかと思うが。
こんなのすら最適化できないコンパイラって、はっきり言ってアフォだろ。
>>892 のようなことを書いているが、その話は
data[i++]=xxx;
data[++i]=xxx;
のような、プロセスによって演算結果に影響が及ぶ非可換なコンテキストで
発生する話だろ。非可換なものに対してこちらを使えとか意味がわからん。
結局、効率の良い方に載せるために前プロセスを置いた結果、
全体的なパフォーマンスには何ら変化無し、あるいはかえって低速化という
オチすら見え隠れする。
そんな細かいのを気にするよりは、とあるメソッドで無駄にインスタンスが
生成されてないかどうかを探す方がよほど有意義。
898 :
デフォルトの名無しさん :2006/07/25(火) 11:59:13
なげーよ
>>892 分かってないな、おまい。
C++ で ++i を使えというのは、
++ 演算子がオーバーロードされてる場合に
++i と i++ で ++i の方が速い実装になってる場合が多いという話から、
とりあえず ++i にしとけば何も考えなくてすむよという話だ。
int とかそういうものだと ++i も i++ も今のコンパイラなら変わらんが、
オーバーロードされてるかどうかで前後変える必要も無いので
++i で統一しよう、と。
当然、++i と i++ とで意味が変わる文脈では
使い分ける必要があるがな。
ただ、最近はそういう文脈自体を避ける傾向にある。
Java でどうなるか。
それは以上を把握していれば分かる筈。
最近Java初めて、このまえJavaの鉄則ってやつ読んだんだが、 Javaコンパイラが全然最適化しないってのは本当なの? 上を見る限りではi++も++iも同じになってるみたいだけど
全然は言い過ぎだな。 バイトコードへの最適化なので、文法的な最適化ぐらいしかできないから c系のようにCPUに合わせて最適化した汗を吐く訳じゃないが 上で出たような++i/i++とか、String結合でStringBuilderを使うような最適化はしてくれる。 そのかわりjavaの場合は、jvm側での実行時最適化に重点が置かれている訳だが。
最近のJavaでは、最適化は実行時に行うのがイイのでは
>>902 >>String結合
それはやってくれないから自分でせにゃならんものの代表例じゃなかったか?
>>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();
最近のコンパイラは構文糖の処理とかなんだかんだと頑張ってくれてるからなあ
aaaというフォルダの中に a001.txt,a002.txt,a003.txt・・・aXXX.txt b001.csv,b002.csv,b003.csv・・・bXXX.csv て入ってて、.txtファイルだけの一覧がほしい場合はどうやるんですか? Fileクラスを使うのはわかったんですが、いまいち具体的な記述方法がわかりません。 教えてください。
>>907 Filterじゃ、Filterを使うんじゃ
listの public String[] list(FilenameFilter filter) のことですか?
>>907 String[] list = file.list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
});
>>906 構文糖ってやっと判ったよ。
文法砂糖の事か orz
913 :
907 :2006/07/25(火) 17:34:26
うまくできました 百万の感謝を
914 :
デフォルトの名無しさん :2006/07/25(火) 19:37:05
java3Dでコンターを作りたいのですが誰か教えてください. お願いします.
>>905 あのな、冷静に考えろ。
それは最適化してませんという意味だぞ。
そのプロセスでどれだけ無駄なインスタンス生成が起こってるか考えれ。
1.4から固定長なら変数が含まれていてもプラスをつかってひとつの文で連結するほうが早いんだよな。
>>917 お前はJFCのソースを半年ROMってろ。
919 :
デフォルトの名無しさん :2006/07/25(火) 20:17:56
HttpServletResponse.setStatus(205)って何のときに使用するんだ?
>>915 リテラル2つを除けば、無駄になるのはStringBuilderのインスタンス1つだけだと思うが。
AbstractStringBuilder#expandCapacity(int)でchar配列作り直すのはノーカンな。
実際、この場合文字列は16文字以下だからそんなことは起きないし。
どうも915(=904?)は見当違いの解釈をしているような気がする。
>>902 は
「String結合でStringBuilderを使うような最適化」と言ってる。
これって、
>>905 みたいに、+で文字列結合するコードをStringBuilderで置き換えることを
指してるわけだろう?なら十分じゃないか。
もちろんjadが吐いた
>>905 のコード以上の最適化は可能だが、
>>902 がそこまでの意図を込めて言及しているとは思えない。
書くのがめんどいからもう放っておこうかと思ったが。
>>921 今は最適化の話だよな。
無駄になるのが1つだけと書いてあるが、それはコンテキストとして
O(2n)以上の無駄になるって脳内変換できてるか?
単発の最適化の話をしてるつもりはサラサラないぞ。
>>922 いえ、
>>902 から一貫して、あなたのいう「単発の最適化」の話です。
システム全体での最適化の話をしているのなら、別の文脈でどうぞ。
>>923 別の文脈でって、
>>905 のソースそのままのみじゃ、ナノ秒の差。
そんな土台で話して意味がないだろ。
こういう話をするなら、最低限n回繰り返すループを前提にして然り。
925 :
デフォルトの名無しさん :2006/07/25(火) 20:53:51
最適化廚うぜ
JFC を JDK のコアライブラリと勘違いしてる馬鹿が混じってるようですが
> そのプロセスでどれだけ無駄なインスタンス生成が起こってるか考えれ。 そのプロセスだけ、と限定してるのはお前。知ったかで風向きが悪くなったからって 勝手に話を広げんな。
>>927 俺の目にはあのプロセスでO(2n)以上の無駄が発生する可能性大という
メッセージしか浮き上がってこなかったのでな。
局所的な目にしか持ってないお前に合わせてやれなくて残念だった。
あほ あのコードだけでどうグローバルに最適化すんだよ。どうインスタンスを減らすんだよ。 でて来てんのはあのコードだけだろ。
>>928 一人だけずれてることにいい加減気づけ。
>>928 そうだな。日本語の怪しい莫迦はすっこんでてくれ。
つーかな、お前ら。普段、 String str = "xxx"; str += "xxx"; が1回ずつ実行されるプロセスを問題視するのか、そんなわけないだろ? O(n)とかO(n^2)とかのループに乗ってこそ、話が重要になってくるんだろ。 お前らは1文が何を実行してるか知ってるだけで満足して、それがどう 影響してくるかまで考え切れてないだけだろ 勝手に話を広げてるって、お前が何を重要視すべきかとらえ切れて なかったことの負け惜しみにしか聞こえないぞ。 実際、s += "xxx"; がn回ループされたら2n個の無駄が発生するのは事実だろ。 違うか? Javaは楽だからって、そんな辺りも考慮できない頭のやつしか集まってないのか?
話の趣旨を理解する能力のない莫迦が必死に言い訳。 哀れだな。
>>932 ナノ秒ほどの効果しかない最適化して「速くなったぜ!」とふんぞり返ってるのを見て
「アホか!そんなの意味無いわ!」と言いたくなる気持ちはよく分かる。
実際、システム全体の最適化で注力すべきはこんなところじゃない。
ただ、ここまででレスしてる人達は、そういう話はちゃんと分かってるよ。
それを分かった上で、
「javacは、String連結をStringBuilderに置き換えるくらいの最適化はするよ」と
いう話をしてたんだ。
こんなのシステム全体の最適化にとっては大して重要な話じゃないが、
そんなことはみんな分かった上でそういう話をしていたの。
キミが怒るような大それた話をしていたんじゃない。
だから、そんなに怒る必要はないよ。安心して。
はいはい、了解。 今現在ここは、1文1文に神経を通わすことができず、正しいことを 言われると莫迦とか勝手に話広げてるとか日本語怪しいとか 本筋とは程遠い中傷を吐くことしかできない頭のやつしか存在 しないことは把握した。
>>String連結をStringBuilderに置き換えるくらいの最適化はするよ それ、最適化じゃないからね。単に+演算子を置き変えてるだけ。
二回も勝利宣言しなくてもいいよ、みんな分かってるからw
あんたが周りとは違う視点を持っているのはよくわかったから、はやく消えてくれよ
>>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();
どうも、このグダグダ話を引き伸ばしたい御仁がいるようだが 引きどころでも逃したのか?w
942 :
デフォルトの名無しさん :2006/07/25(火) 21:51:59
>>941 安心しろ、俺は
>>940 と別人だ。
俺は
>>940 のような脳内変換がデフォルトでできずに、何から何まで
手取り足取り懇切丁寧に解説してもらわないとダメな努力の足りん
連中が多いことに失望してるわけだがな。
ぐだスレにでも行ってくれ くだスレには行かないようにな
できない→今はやってない
946 :
デフォルトの名無しさん :2006/07/25(火) 21:54:51
俺は頭悪いから >O(2n)以上の無駄 ってのが分らないんだが誰か説明してちょんまげ
あのねぇ…端から見ている人間から一言言わせてもらおう。 どっちのアプローチも、すごい参考になったよ! 煽る人ももっと具象で煽ろうよ。
948 :
デフォルトの名無しさん :2006/07/25(火) 21:57:08
>>943 そのレスって何の意味があるの?
何の意味も価値も無いお前の愚痴をここに書かれても困るわけだが^^;
>>946 呼び出し回数×2に比例する。オーダーと読む。
正確な数式まで行かなくとも大まかな増減量を察するために使う表記。
他は知らんけど物理学の世界では割と頻繁に出てくる。最初に始めたのは
物理学者。ガモフだったかな? 失念した。
>>946 やる気があるなら、アルゴリズム論絡みの分野も勉強汁。
コレクションの気持ちがよくわかるようになると思うぞ。
952 :
デフォルトの名無しさん :2006/07/25(火) 22:02:14
記号そのものじゃなくて 2ってどこから出てきたんだ?
>>952 Stringインスタンスも1つ無駄に発生してるから。
別にO(n)でもよかったんだけど、StringBuilderしか無駄が発生してないと
思ってるやつがいるから、敢えて強調するために書いてみた。
O(2n)ってバカだな
955 :
デフォルトの名無しさん :2006/07/25(火) 22:04:15
そもそもオーダー記法なら O(2n)じゃなくてO(n)って書くだろ しったかで使うと恥ずかしいな
はいはい、重箱の隅をつつくことにしか脳がない連中乙。
一人浮いてるなw
958 :
デフォルトの名無しさん :2006/07/25(火) 22:08:52
>>953 どの文だとStringとStringBuilderの無駄が出てるのか教えてください
>>940 にその文ある?
てか、マジで小物が多いんだな。 ナノ秒の差でアホ喜びしたり、O(2n)って書いただけでうれしそうに叩いたり。 そんなんだから大局的な見方ができんのだろうな。
使い方間違えてるの指摘したら 重箱の隅をつつくだとよw 他人の間違いは嬉々として指摘するのに 自分の間違いを指摘されると逆切れするか絶対に認めないタイプかw
古いJavaコンパイラで文字列の+結合した場合はどんなコード吐く?
>>958 Stringが不変オブジェクトであるところから復習汁。
それを理解してれば、StringBufferのソースを見なくても
s = new StringBuilder().append(s).append(i).toString();
が「これ、無駄ゴミ出すんじゃねーよ、ヴォケ」って叫んでるのが
聞こえてくるよ。
>>960 あのさあ、O(2n)って間違いじゃないんだぜ?
シッタカはお前だよ
もう一回大学からやり直してこい。
964 :
デフォルトの名無しさん :2006/07/25(火) 22:14:23
>>959 煽りじゃなく
> s = new StringBuilder().append(s).append(i).toString();
ここでStringBuilderとtoString()で2つの無駄があるって事であってる?
>>963 もし本当なら俺の論文書き直さないといけないので詳しく
最終生成物の String は無駄には数えないだろう。 てか、そんなところに着目して StringBuilder 内のバッファは数えないのかよ。
>965 書き直したいなら、書き直してもいいけど。 O(n)とo(n)の区別までする気ある?
>>965 別に直さなくてもいいと思うよ。O(2n)=O(n)だから。
等価と間違いを履き違えてるシッタカが潜伏してる訳だが。
>>959 お前が、何の話しをしているのかが見えてないだけじゃ。
for (int i = 0; i < hoge.getSize(); i++) ... を for (int i = 0, size = hoge.getSize(); i < size; i++) ... のように最適化してくれたっけ?
>>967 じゃあ単純に訪ねる。
>>940 の2つ目のソースと3つ目のソースではそれぞれ
Stringインスタンスはいくつ生成される?
>>965 オーダー表記の目的を考えればどちらも正しいから安心しる。
O(2n) は O(n) よりちょっと詳述的ってだけの話。
いやO(2n)って表現使ってる論文見たこと無いんだが oとOを書き間違えたとか言うなよ
>>974 いや違うなo(2n)なら分るがO(2n)など聞いた事も食べたことも無い
お前ら大丈夫か? 「見聞きしたことない」と「間違いである」とは天と地の差があるぞ。
だからO(2n)の論文の一つでも提示してくれればいいじゃん
情報数理はきちんと修学したわけではないので知らんが、物理の世界は区別してないよ。 つっても 10 年前の事だから忘れてるだけかもしれんが。
981 :
デフォルトの名無しさん :2006/07/25(火) 22:29:09
>>966 おー分ってきた
最後にStringBuilderとtoStringというかStringって
結局同じものが生成されるんですか?
テンプレはこのままでイイの?
>>973 また脳内前提かよ。
誰もループさせた場合の話なんかしてないっつーの。
>>981 StringBuilderとtoStringを並べるな。
面倒くさいから、StringBuilderのソース嫁とだけ言っておく。
ファイルはSunのサイトからDLできる。自分で探せ。
あと用語はきちんと勉強汁。
>>985 さっきからこの御仁は。
「最後に言われっぱなしで終わるの嫌だー」って顔真っ赤にしてはっきり言えよw
>>950 ランダウの記号というくらいだからランダウだろう。
>>987 俺は解析学の授業で「ランダウの記号」、アルゴリズム論の授業で
「オーダー記法」って習ったから、情報科的にはオーダーって呼び方の
方がメジャーなんだとばかり思ってたのだが、そうでもないの?
990 :
982 :2006/07/25(火) 22:41:39
じゃ、このまま建てtryします
> StringBuilderのソース嫁 どうなってるの? 最終文字列が無駄になるってのがどうにも理解できないんだが。 それともStringBuilderをひとつで使いまわした場合に限り無駄にならないか?
992 :
デフォルトの名無しさん :2006/07/25(火) 22:42:39
>>984 >StringBuilderとtoStringを並べるな。
これは何かのルールでも有るの?
見てみたけど結局charの配列が出来るって事で同じではないのかな?
>>987 そうだそうだ、ロシア→ガモフと連想したらもうランダウが浮かんでこなくなった。
さすがに大分ブランクあるからなぁ。
995 :
982 :2006/07/25(火) 22:44:14
>>940 が親切にも詳細解説書いてくれたのに、
まだ脳内変換発言が出てくるって、進歩がないにも程があるだろ。
横レスすまんが StringBuilderとStringが同じ無駄じゃないと 2nにはならないから結局同じ無駄が出来るんだろ それぞれが違う無駄ならO(m+n)か mとnに大きな差があればO(m)かO(n)になるわけだし
自己弁護してて楽しい?
>>940 はいくらなんでも比較対象が極端じゃねーか?
StringBuilderでの最適化くらいの話でそんなとこまで言うか普通?
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。