1 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 18:21:51 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド116【歓迎】 pc11.2ch.net/test/read.cgi/tech/1213347130/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
2 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 18:22:34 ] **** 関連スレッド案内 **** ■ AWT と Swing は -- Java低速GUI Swing 7 ttp://pc11.2ch.net/test/read.cgi/tech/1204155623/l50 ■ SWT は -- Java 高速GUI SWT 3 ttp://pc11.2ch.net/test/read.cgi/tech/1164877399/l50 ■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は -- iモード携帯電話用Java(iアプリ) Part18 ttp://pc11.2ch.net/test/read.cgi/tech/1214192372/l50 ■ DoCoMo 以外は -- CLDC+MIDP+携帯電話用Javaスレッド part 8 ttp://pc11.2ch.net/test/read.cgi/tech/1206017034/l50 ■ 課題・宿題は -- ★★ Java の宿題ここで答えます Part 65 ★★ ttp://pc11.2ch.net/test/read.cgi/tech/1212085079/l50 **** 開発環境が必要の場合は **** ■ J2SE 1.4.0 ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/index.html ■ J2SE 5.0 (1.5.0) ttp://java.sun.com/j2se/1.5.0/ja/ ■ Java SE 6 ttp://java.sun.com/javase/ja/6/ **** 実行環境だけが必要の場合は **** ■ Java ソフトウェアのダウンロード ttp://www.java.com/ja/
3 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 18:23:11 ] すまんスレタイ微妙に失敗しちまった
4 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 18:25:29 ] あーしかもテンプレの前スレの所も変えてねえ マジでゴメン
5 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 18:57:34 ] 乙 同期に失敗したか・・・・・
6 名前:デフォルトの名無しさん [2008/08/11(月) 02:00:42 ] プロパティファイルについての質問です。 プロパティファイルを読み込んでくれるファイル位置と優先順序はどうなっているんでしょうか? warパッケージやearパッケージの際にパッケージにプロパティファイルを含めずあとで入れ替えられるようにするにはどうすればいいんでしょうか
7 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 07:17:12 ] 1. 入れ替えてbuildする 2. 入れ替える必要があるならば最初から外部ファイルにする
8 名前:デフォルトの名無しさん [2008/08/11(月) 10:23:54 ] javaで積分するにはどうやってやるんですか?
9 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 10:36:14 ] 親のクラスであるメソッドをsynchronizedしていても、そのクラスを拡張したクラスでオーバーライドしてsynchronizedしていなければ同期化されないのでしょうか? class Parent { public synchronized void method(){ } } class Child extends Parent{ public void method(){ // ここが同期されるか } }
10 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 10:37:24 ] 自分で試したら?
11 名前:デフォルトの名無しさん [2008/08/11(月) 11:14:25 ] 2つのabstractクラスがあります。ClassAとListAとします。 ListAは以下のようになっています。 public abstract ListA<E extends ClassA> implements List<E> { ... } ClassAにはそのクラスが扱うデータの名前を返すabstractメソッドがあります。 public abstract String getObjectName(); このメソッドが返す値は静的な値ですがstaticメソッドはabstractに出来ないので、 普通のクラスメソッドになっています。 public class ClassB extends ClassA { ... public String getObjectName () { return "obj b"; } } ClassAとListAの具象クラスは常にペアで使われます。 public class ListB extends ListA<ClassB> { ... } ここで質問なんですが、ListAの内部でもClassAのgetObjectName()で返される値を 使いたいのですが、今はListAでも同じ名前のabstractメソッドgetObjectNameを定義し、 ListBで全く同じ値を返すように実装しています。 public class ListB extends ListA<ClassB> { .... public String getObjectName () { return "obj b"; } } 同じメソッドを2箇所で定義しなきゃいけないのがなんとなく気持ち悪いです。 誰かもっと綺麗なやり方を教えてくれませんか?
12 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 11:22:53 ] IOExceptionの例外が発生した場合、getMessageでエラーの内容を 知ることができるわけですが、これをエラーコードという形で 取得することはできないでしょうか。 やりたいことは、xxxの例外だったら、zzzの作業を実行したいという感じです。
13 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 11:31:00 ] >>6 クラスパスの順で探すから、クラスパスを何とかすれば何とかなるんじゃないかね。 >>12 IOExceptionのサブクラスが定義してあるものじゃないと区別できないと思う。
14 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 12:06:50 ] >>11 たかだか文字列の取得なら、リストも中身も、継承つかわずに、 objectTypeをフィールドにして、基底クラス(Aのほう)が持つべき。 (振る舞いの違いがそこだけなら、完全に無駄な継承) その際、リストと中身が類似じフィールドを持つのは、 要件によっては仕方ない。 フィールドの決定(生成時or登録時)がバラバラにならないように留意する。 階層がもっと増えて、リストなのか、中身なのかを意識せずに アクセスしたいなら、getObjectName()をインタフェとして切り出す。 (コンポジットパターン。実装が簡潔になるわけではない) >>12 IOEが出た段階で遡って区別するのは、だいたい無理じゃね?
15 名前:11 mailto:sage [2008/08/11(月) 12:46:46 ] >>14 基底クラスでprotected String objectName; と定義しても、 public class ClassB extends ClassA { public String getObjectName () { return "obj b"; } } public class ListB extends ListA<ClassB> { public String getObjectName () { return "obj b"; } } が public class ClassB extends ClassA { public ClassB () { objectName = "obj b"; } } public class ListB extends ListA<ClassB> { public ListB () { objectName = "obj b"; } } になるだけで、大した違いはないように思えます。 振る舞いの違いはそれ以外にも沢山あるので継承は必須です。 > その際、リストと中身が類似じフィールドを持つのは、 > 要件によっては仕方ない。 が答えって事ですかね。
16 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 13:54:49 ] JAVAを初めて勉強するのにどんな本があるでしょうか? 定番というか一般的に人気のある本などを教えて頂けませんか? レベルや用途別に分けて貰えると尚助かります。
17 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 14:08:23 ] ***Javaのオススメ入門書*** 『創るJava』 3.0 pc11.2ch.net/test/read.cgi/tech/1190032149/
18 名前:デフォルトの名無しさん [2008/08/11(月) 14:36:56 ] >>16 ホームページは簡潔にまとまってるから十分だし、本は要らないじゃないの。
19 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 14:45:12 ] ファイルの終端に到達するまでデータを読み込むループを 書いているのですが、java.io.EOFExceptionでループを抜けてしまいます。 読み込みに使っているのは、ObjectInputStreamのreadObjectで、 この戻り値がnullであるときにループを抜けたいのですが、 先の例外が出て、希望どおりになりません。 どうしたらよいでしょうか。
20 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 14:50:48 ] writeObjectでnullを書き込んでいれば、readObjectでnullが戻ります そうでなければnullは戻りません
21 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 15:10:04 ] 確かに充実してるし、ホームページでいいんじぇね?
22 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 15:10:26 ] >>20 writeObjectのnull書き込みが、終了の目印になっているようですね。 無事うまくいきました。ありがとうございます。
23 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 15:38:28 ] >>11 getObjectNameという名前をつけていながら実体はgetSubClassNameなんだな。 Listのほうはjavaのジェネリックはerasureだからうまい方法はないね。 ジェネリックではなく実際の型かObjectが必要になる。 多態性は魅力的だろうけどセオリーとは反対に、 クラスの属性で分類してcase文並べるほうがシンプルになるケースもあるから ある手法で手詰まりなら別の手段をあたってみるのもいいと思うよ。
24 名前:14 mailto:sage [2008/08/11(月) 16:26:09 ] >>15 んっと、提示されたAとBのgetメソッドの違いは、 「振る舞いの違い(=継承で書き換えるべきもの)」 ではないということを言いたかった。 プロパティとして持たせてあげれば、Bのgetメソッドはいらない。 そのプロパティを設定するのは、静的ならコンストラクタ内になる。 まあ、一番キミが聞きたいとこからはずれてるので、気にしなくていいが、 class A { private String ob="obj a"; //デフォルト public String getObjectName(){ //ゲッタ return ob; } protected void setObjectName(String name){//セッタ this.ob=name; } } class B extend A{ B(){ super(); setObjectName("obj b"); //静的ならここ書く。 } } 今回はどうせBを作る需要があるということなので、こんな感じ。 ただgetObjectName()の戻りを変えたいだけなら、setObjectNameを 公開するか、コンストラクタ引数にする。それだけのためのクラスは不要。
25 名前:11 mailto:sage [2008/08/11(月) 18:29:07 ] >>23 ,24 解説どうも。 なぜabstractメソッドにしたかというと、子クラスを実装する開発者にobjectNameを セットするのを強制させたかったからです。 もちろんabstractメソッドを使わずに、親クラスでobjectNameをチェックしてnullだったら RuntimeExceptionを投げるとかでもいいんですが。 Listの件、うまい方法はないってのは了解です。
26 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 20:36:38 ] ファイル名が適切でない(例えばWindowsでは\など)かどうか判断するにはどうすればよいでしょう。 自分で実装するしかないのでしょうか?
27 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:23:42 ] JSFの条件分岐処理がうまく行きません。 localhost:8080/test/index.jsf から、 テキストボックスに、"root"と入力して、ボタンを押したら、 result.jspで、"こんにちわ、rootさん!"と表示されて、 テキストボックスに、"root"以外の文字列を入力して、ボタンを押したら、 index.jspで、"文字を入力してください。"と表示したいです。 ・構成は、下記配置です。 /test/build/classes/jp/co/pkg/Interface.class /test/build/classes/jp/co/pkg/Test.class /test/WebContent/WEB-INF/lib/jsf-api.jar /test/WebContent/WEB-INF/lib/jsf-impl.jar /test/WebContent/WEB-INF/lib/jstl-1.2.jar /test/WebContent/WEB-INF/faces-config.xml /test/WebContent/WEB-INF/web.xml /test/WebContent/WEB-INF/index.jsp /test/WebContent/WEB-INF/result.jsp
28 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:23:52 ] だめな文字でファイル作成しようとしたときのstacktrace確認するとFileOutputStream#open(NativeMethod)でエラー起きてるから、特にそういう機能はないみたいですね。 すみません。自己解決です。
29 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:24:19 ] <%--index.jsp--%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="java.sun.com/jsf/html " prefix="h"%> <%@ taglib uri="java.sun.com/jsf/core " prefix="f"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "www.w3.org/TR/html4/loose.dtd "> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <div> <f:view> <h:form> <h:outputText value="お名前は?" binding="#{Test.text}" /><br /> <h:inputText binding="#{Test.field}" /><br /> <h:commandButton binding="#{Test.button}" action="#{Test.getButton_action}" /> </h:form> </f:view> </div> </body> </html>
30 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:24:53 ] <%--result.jsp--%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="java.sun.com/jsf/html " prefix="h"%> <%@ taglib uri="java.sun.com/jsf/core " prefix="f"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "www.w3.org/TR/html4/loose.dtd "> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <div> <f:view> <h:form> <h:outputText value="#{Test.text}" /> </h:form> </f:view> </div> </body> </html>
31 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:27:13 ] //Test.java package jp.co.pkg; import javax.faces.component.html.HtmlCommandButton; import javax.faces.component.html.HtmlOutputText; import javax.faces.component.html.HtmlInputText; import jp.co.pkg.Interface; public class Test implements Interface { private HtmlCommandButton button; private HtmlOutputText text; private HtmlInputText field; public void setButton(HtmlCommandButton button){ button.setValue(login_button); this.button = button; } public void setText(HtmlOutputText text){ this.text = text; } public void setField(HtmlInputText field){ this.field = field; } public HtmlCommandButton getButton(){ return this.button; } public HtmlOutputText getText(){ return this.text; } public HtmlInputText getField(){ return this.field; } public String getButton_action(){ String str = (String)this.field.getValue(); if(str.equals("root")){ text.setValue("こんにちわ、" + str + "さん!"); return "true"; }else{ text.setValue("文字を入力してください。"); return "false"; } } }
32 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:27:47 ] //Interface.java package jp.co.pkg; public interface Interface { public static final String login_button = "ログイン"; }
33 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:31:05 ] <!--faces-config.xml--> <?xml version="1.0" encoding="UTF-8"?> <faces-config xmlns="java.sun.com/xml/ns/javaee " xmlns:xsi="www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation="java.sun.com/xml/ns/javaee java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd " version="1.2"> <managed-bean> <managed-bean-name>Test</managed-bean-name> <managed-bean-class>jp.co.root.Test</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> <navigation-rule> <from-view-id>./index.jsp</from-view-id> <navigation-case> <from-outcome>true</from-outcome> <to-view-id>./result.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>false</from-outcome> <to-view-id>./index.jsp</to-view-id> </navigation-case> </navigation-rule> </faces-config>
34 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:32:17 ] <!--web.xml--> <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="www.w3.org/2001/XMLSchema-instance " xmlns="java.sun.com/xml/ns/javaee " xmlns:web="java.sun.com/xml/ns/javaee/web-app_2_5.xsd " xsi:schemaLocation="java.sun.com/xml/ns/javaee java.sun.com/xml/ns/javaee/web-app_2_5.xsd " id="WebApp_ID" version="2.5"> <display-name>test</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> </web-app>
35 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:34:04 ] 以上です。よろしくおねがいします。
36 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 23:06:23 ] うpろだ使えカス
37 名前:デフォルトの名無しさん [2008/08/11(月) 23:07:08 ] JPanel部分に、C++のソフトがはきだしたグラフを貼り付けて表示する、 ということはできるでしょうか? グラフをX-Window上に描画・表示するソフトはroot(C++ソース)というものです。 www-jlc.kek.jp/subg/offl/lib/docs/rootstarter/main.html
38 名前:デフォルトの名無しさん [2008/08/11(月) 23:56:59 ] すいません 入力が数字の場合と文字の場合とで処理を分けたいのですがそういう関数ってありますか?
39 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:07:32 ] match("\\d*")
40 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:12:51 ] >>39 ありがとうございます
41 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:59:00 ] awt が重量コンポーネントに対して swing が軽量コンポーネントと呼ばれますが swing は awt を継承している(包括している)と思うのですが・・・ 何が軽量なのでしょうか
42 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 01:27:01 ] ネイティブコードが少ない
43 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 01:52:49 ] >>41 Swingの解説を読めばまっさきに書いてあると思うんだが……。
44 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 02:13:46 ] OSのリソースを使わないという意味で軽量だな 処理の重さや、継承によるコード量とかじゃない 描画はネイティブじゃないぶんだけ遅い
45 名前:デフォルトの名無しさん [2008/08/12(火) 02:18:02 ] 描画が速いとかいってる奴がいるけど、英語の解説をちゃんと読んだことあるか?
46 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 02:33:25 ] またその話っすか
47 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 02:42:22 ] >>44 ほらほら、お呼びだぞww
48 名前:デフォルトの名無しさん [2008/08/12(火) 09:23:38 ] javaで積分するにはどうやってやるんですか?
49 名前:デフォルトの名無しさん [2008/08/12(火) 09:40:05 ] それよりも微分はどうやるんでしょうか?
50 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 09:42:33 ] 夏厨ばっかだなw
51 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 10:07:20 ] おまえに聞いてない
52 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 10:34:47 ] appletに関する質問なのですが ・JDK1.2以降のAPIが使えない(java.util.jarやjavax.*が使えない) ・applet格納jarとは別の.auファイルをまとめたjarなりzipなりがある ・アーカイブは後付で読み込む(起動後に読み込むものが決まる) という状態で、外部アーカイブ内の.auファイルから音声オブジェクトを作成する方法ってありますでしょうか? 自分で考えた限りでは2通りのアプローチかなと思ったのですが他に何かいい方法があるかなと思いまして… 1)読み込んだアーカイブをclasspathに追加する classpathに追加できればApplet#getAudioClip(URL)で読み込めるが、追加方法がわからない (System.setProperty()でjava.class.pathをsetしても意味がないらしい) 2)sun.audio.AudioStreamを使う ZipInputStream→ZipEntry→byte[]→ByteArrayInputStream→AudioStreamで 読み込み&再生には成功したが非公開APIなので互換性の心配がある
53 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 11:01:01 ] >>47 44は「遅い」って書いてあるように俺には読めるんだが
54 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 11:42:20 ] 以下のパディングで、全角を半角2文字分として処理させる手段はあるでしょうか。 System.out.format("%3s_", "あ"); 結果: あ_ ※スペースが前に2つ入ってしまう。これを1つにしたい。
55 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 12:11:29 BE:104062526-2BP(2)] >>48-49 数値微分、数値積分だったらできる。 差分法、区分求積法、リーマン積分、台形公式、シンプソンの三分の一則、ロンバーグ積分でググれ。 というか数値計算や数値解析の本読め。 ただし連続関数の微分、積分は一筋縄ではいかない。 正規表現が必要になってくる。
56 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 12:32:17 ] 正規表現はいらないだろw なにいってんだこいつは。
57 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 13:00:45 ] >>55 そこに書いてないようだけど、数値微分はどうやるの?
58 名前:デフォルトの名無しさん [2008/08/12(火) 13:26:14 ] JavaMailで質問です。 プログラム内でPDFを作成して添付ファイルとして送りたいのですが、 作成したPDFをファイルシステムに保存したくありません。 今はこんな感じでやってます。 //PDFファイルを一時ファイルとして書き出し File tmpFile = File.createTempFile("foo", ".pdf"); //PDFをOutputStreamに書き出す独自クラス report.renderPDF(new FileOutputStream(tmpFile)); MimeBodyPart attachedPart = new MimeBodyPart(); attachedPart.setFileName("filename.pdf"); attachedPart.setDataHandler(new DataHandler(new FileDataSource(tmpFile))); File.createTempFile を使わずに添付ファイルを送るいい方法はありますか?
59 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 13:29:55 ] Thread.sleepとwaitって何が違うんですか?
60 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 13:35:25 ] waitはnotifyされたときに起きる
61 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 13:38:22 ] >>58 FileOutputStreamの代わりにByteArrayOutputStream使って FileDataSourceの代わりにDataSourceの自前の実装を使えばいいんじゃない
62 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 13:53:35 ] main()の戻り値を返す方法はありませんか Cならreturnで戻せるのですが・・・
63 名前:58 mailto:sage [2008/08/12(火) 13:55:46 ] >>61 ありがとうございます。やっぱり自前で何かやらないとダメですか…
64 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 14:12:11 ] >>62 System#exit(int)
65 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 14:15:48 ] >>64 thx
66 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 14:36:14 ] 正規表現でパスワードをチェックしたいのですが、 半角数字、アルファベット大文字、小文字が混在していることを 条件にする方法がわかりません。
67 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 15:07:12 ] >>66 無理に正規表現にするのはどうかと思うが・・・これでどう (?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])
68 名前:66 mailto:sage [2008/08/12(火) 15:39:38 ] 私も最初にその方法で確認したのですがだめでした String str = "Hoge0123"; System.out.println(str.matches("(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])")); falseになります。
69 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 15:56:47 ] 定数の扱い方について教えてください。 クラスの中にprivate finalをたくさん定義するのはよい方法なのでしょか。 C言語では、ヘッダーファイルに定数をまとめたりしますが、 javaではどうなのでしょうか。
70 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 16:00:23 ] >>68 それだけだとゼロ文字にしかマッチしない (?= ) は1文字も食わないから
71 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 16:02:20 ] >>69 よい方法 少なくともコード中にマジックナンバを書くよりは 用途によってはenumを使え
72 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 16:19:23 ] >>71 レスありがとうございます。 ただ、あまりにも定数が増えてくるといいますか、 どこまで定数として定義したらよいかの判断が難しいです。 たとえば、"ファイルの読み込みに失敗しました。"という文字列が コード上で一回しか出てこないのなら、定数にする必要もないのかなと思います。
73 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 16:28:58 ] >>72 文字列は国際化を考えてResourceBundleに入れるのが望ましい・・・けどまぁ面倒いよな お好きにどうぞ
74 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 16:57:37 ] >>55 入門編の地雷じゃないヤツを教えて。
75 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 18:40:37 ] >>56 sin(x)をcos(x)に log(x^2)を2x/x^2 = 2/x と表示するにはなにかしら正規表現が必要 >>57 差分法と書いてあるだろう >>74 地雷? 意味がわからない。 まずは数値計算の本を読め。 『Javaによるアルゴリズム事典』でも読め。
76 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 20:06:50 ] >>75 正規表現って何か知ってる?
77 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 21:44:16 ] せいきひょうげんだと……?
78 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 22:05:38 ] もしかしてノーマライズのこといってる?
79 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 22:06:50 ] ワロタww
80 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 22:07:22 ] Regular representationだろ
81 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 22:54:25 ] regular expressionだろ
82 名前:デフォルトの名無しさん [2008/08/13(水) 00:35:19 ] >>75 どうせ独学でしょ。sin[x]をcos[x]にするとかいってて、全然分かってないようだしw
83 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 00:38:50 ] >>78 いや? 約分という正規化もしたいけどそれとは別に。 正確には文字列処理というべきだったか。 正規表現というから唐突過ぎたみたいだ。 だが合成関数など複雑な数式になると微分するときに正規表現も必要になるんじゃないのかって言いたかった。
84 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 00:40:33 ] >>82 何が? あと、それだと配列になるぞ。 数値微分だったら簡単にできるだろ。 それとは別の、連続関数の微分のことを言ってるんだが。
85 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 00:41:53 ] 正規表現という用語は文字列のマッチング用パターンを指すのでややこしいから別の用語を使ってくださいお願いします
86 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 00:47:29 ] MatheticaだったかMATLABだったか忘れたけど y = diff(sin(x)) と入力すると y = cos(x) と表示してくれる言語があった気がする
87 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 01:04:46 ] 結局、ただの夏いやつだったんだよ・・・
88 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 01:08:25 ] >>83 SICPの Symbolic Differentiation みたいなのをやりたいということかな? Schemeみたいに簡単にはいかないよ。自分で構文解析する必要がある。 構文解析してS式なり、構文木作ってしまえば、Schemeと大差は無いよ。
89 名前:デフォルトの名無しさん [2008/08/13(水) 01:16:50 ] >>84 配列とか言ってるようだけど、独学だとしても最低限mathmaticaぐらいは使えるようになってくれ。 それとその数値微分だと、入力が10^-12なら出力は10^-6の半分程度の精度しかないんじゃないか?
90 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 01:19:57 ] >>89 javaスレだぞ・・・
91 名前:デフォルトの名無しさん [2008/08/13(水) 01:23:00 ] 数値計算はjavaでやるのが一番面倒がないね。ライブラリもそろってるし。 javaは、予約語だらけとかの他の複雑な言語に比べて簡単だからアルゴに集中できるけどね。
92 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 01:44:06 ] >>88-89 そういえばMATLABを思い出したよ >>86 は symbolic(x); y = diff(sin(x),x) と入力すると y = cos(x) になるやつだったかな。 SchemeとMathematicaは良く知らないがMATLABはよく触っていたから覚えている。 Javaで同じことができるライブラリをどこかで見つけたが有料だったので 諦めた記憶がある。どこのサイトだったかまでは覚えていない。
93 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 02:55:25 ] >>91 アルゴリズムをアルゴと略す奴は、MZユーザではないだろうな。 気持ち悪い略し方だ。アルクワリズミが草葉の陰で泣いてるぞ。
94 名前:デフォルトの名無しさん [2008/08/13(水) 03:07:34 ] 流れをきって質問です・・・ Java自体が始めてまだ数ヶ月なのですが、ウィンドウアプリケーションを初めて作ってみました。 そこで、たとえば3秒ごとにウィンドウに今の時間を更新して表示するプログラムを作りたいのですが、いままでならスレッドで for(;;){ min=calender.get(Calendar.MINUTE); System.out.println(min); Thread.sleep(3000); } と書いたスレッドを実行させておけばよかったのですが、ウィンドウ型になるとどうしていいかわからなくなってしまいました・・・ 説明が下手で申し訳ないですが、 「3秒ごとに今の時間を取得してそれをウィンドウに表示させる」 というプログラムを作りたいです
95 名前:デフォルトの名無しさん [2008/08/13(水) 03:15:15 ] 正規表現とか使ってシンボリックに微分をやったり数値計算するよりも、その結果を数学の自然表記にする方が難しいんだけどね。 積分や分数を教科書どおりにウインドに表示するとか。
96 名前:デフォルトの名無しさん [2008/08/13(水) 03:25:44 ] >>93 アルコイズミとか出してきて、おまえのほうがキモイ
97 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 09:33:54 ] >>94 1.時刻表示ができる窓を作る。 2.時刻を更新するメソッドを書く。 3.2を定期的に呼ぶスレッドを書く。 4.3のスレッドの生成と実行を書く。 だいたいこんな感じ。
98 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 10:03:16 ] >>96 アルゴリズムの語源になった人だぞ < アルクワリズミ
99 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 10:15:49 ] すみません、>>52 なのですが アプローチがそもそも間違っているとかこういう質問はこのスレへ行くのがいいとか そういった感じのことでもよいのでよろしくお願いします…… >>94 >>97 さんの内容でいけると思いますが、表示をJTextBoxなどのswingコンポーネントでやる場合は SwingUtilities.invokeLater()を使わないと表示処理が正しく行われないので注意してください。。 (swingコンポーネントの大半のメソッドは、イベントディスパッチスレッド以外から呼んではいけないという決まりがある) homepage3.nifty.com/satoshis/java/swingtips/swing.html
100 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 10:44:55 ] >>95 texとか知らないのか
101 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 10:50:35 ] そのTeXという言語を作る仕事がものすごく難しい
102 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 10:58:59 ] >>101 その難しいは、個人の能力が低い場合だろ・・・
103 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 10:59:28 ] >>101 技術的に難しいという意味じゃねーじゃん
104 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 11:40:43 ] >>101 そりゃ言語を作るのは、並大抵の難易度じゃないだろう。 けど、そういう話?
105 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 11:46:01 ] 5.0から追加されたイグゼキュタって、時間を戻すと止まりませんか? 指定した遅延後に実行されるだけだと思うのですが、 どうもIO周りでブロックされているような気がします。 これだとNTPで時間を戻された時とかに使えないような? public class TestA implements Callable { private ScheduledFuture<?> future; private ScheduledThreadPoolExecutor pool = (ScheduledThreadPoolExecutor)Executors.newScheduledThreadPool(1); public static void main(String[] argv) { new TestA().start(); } public void start() { future = pool.schedule(this, 1, TimeUnit.MILLISECONDS); } private void run_() { System.out.println(sdf.format(new Date()) + ": running"); // !!!これがないと止まらないで動く ScheduledFuture<?> future2 = pool.schedule(new Runnable() { // 再スケジュール用のタスクセット public void run() { if (future.isDone()) { try { future.get(); future = pool.schedule(TestA.this, 1, TimeUnit.MILLISECONDS); // ユーザタスクの再スケジューリング } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } } } }, 0, TimeUnit.MILLISECONDS); } public Object call() throws Exception { run_(); return future; } }
106 名前:デフォルトの名無しさん [2008/08/13(水) 12:59:59 ] >>97 レスありがとうございます。 その、表示する窓についてですが、時間を更新する3秒ごとに描画し直さなくてはならず、 g.drawString(時間) も3秒ごとに実行させる必要があると思っています。このdrawStringもスレッドに組み込むのでしょうか? 質問が悪く、初歩的で申し訳ないです
107 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 13:02:33 ] >>104 そういう話だった Yacc/flexで言語作っている奴のコードを見ていたら くそやばかった記憶がある。あれは並大抵の努力じゃ実現できないものだと思った。
108 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 13:20:33 ] >>106 描画はpaintもしくはpaintComponentでする スレッドは3秒ごとにrepaintを呼ぶ
109 名前:デフォルトの名無しさん [2008/08/13(水) 13:42:27 ] >>102-104 ひまなんでしょww
110 名前:デフォルトの名無しさん [2008/08/13(水) 13:51:43 ] >>107 努力してるのかどうかよりも、何がくそやばかったのか分からないんだけど
111 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 15:35:45 ] くそやばかったかどうかよりbison/flexでもyacc/lexでもない件 ていうかjavaスレなんだからどうせなら標準でjavaを吐くパーザジェネレータの話をしようぜ
112 名前:デフォルトの名無しさん [2008/08/13(水) 17:06:24 ] 質問です。 最近Javaをはじめたのですが 配列を今勉強していて、 ArrayListに突っ込み、それを拡張する方法はわかったのですが 例えば int[] num_array = new int[5]; とかやった場合に num_arrayの大きさ自体を変える事は出来ないのでしょうか?
113 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 17:07:49 ] できない 新しく大きな配列を作って中身を移すしかない
114 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 19:14:22 ] >>112 新規に大きな配列を作って中身をコピーする時に、 使っているのがJDK6以降ならjava.util.ArraysクラスにcopyOfというメソッドがあって、 num_array = java.util.Arrays.copyOf(num_array, 10); // サイズ10の配列を新たに作って中身をコピーしたものを返す みたいにできるのでちょっと便利。 元のnum_array自体を拡張するのではなく、サイズが変更されたコピーを返すところに注意。 配列は固定長であることに変わりはないので。 JDK5以前なら配列の作成とコピーのコードを自分で書かないといけない。
115 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 19:41:06 ] >150 使い方が色々間違っているような気がする あとstdはどこに変数宣言あるんだ? future.get(); も激しくデットロックの香り
116 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 21:14:07 ] >>115 縮めてみた。 import java.util.*; import java.util.concurrent.*; import java.text.SimpleDateFormat; public class TestA implements Callable<Object> { private ScheduledFuture<?> future; private ScheduledThreadPoolExecutor pool = (ScheduledThreadPoolExecutor)Executors.newScheduledThreadPool(1); public static void main(String[] argv) {new TestA().start();} public void start() {future = pool.schedule(this, 1, TimeUnit.MILLISECONDS);} public Object call() throws Exception { System.out.println(sdf.format(new Date()) + ": running"); ScheduledFuture<?> future2 = pool.schedule(this, 1, TimeUnit.MILLISECONDS); return future; } SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" , Locale.JAPAN); } 遅延を0にすればとまらないのだから、デッドロックと言うことは無いだろう。 時刻に達したら制止が外れるようなので、 1,2秒さかのぼった程度なら、問題にならないだろうけど、 夏時間とかはどうなるだろ。 また、時計を巻き戻して、処理が止まってから、時計を戻してみた。 すると、1分間ほど経ってから処理が再開した。
117 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 23:45:02 ] ThreadGroupのactiveCount()でグループに属するスレッドの数が取得できないのですが これは仕様ですか? // スレッドグループツリーの作成 ThreadGroup g1 = new ThreadGroup("g1"); Thread t1 = new Thread(g1, "t1"); Thread t2 = new Thread(g1, "t2"); ThreadGroup g2 = new ThreadGroup(g1, "g2"); ThreadGroup g3 = new ThreadGroup(g1, "g3"); Thread t3 = new Thread(g2, "t3"); ThreadGroup g4 = new ThreadGroup(g2, "g4"); Thread t4 = new Thread(g4, "t4"); // g1スレッドグループに含まれるスレッドの数 System.out.println("g1.activeCount() = " + g1.activeCount()); 上記のプログラムを実行すると g1.activeCount() = 0 と表示されます。 参考書を見ると g1.activeCount() = 4 と表示されるとなっています ご教授お願いします
118 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 23:47:41 ] startしていないthreadはカウントされない
119 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 23:48:33 ] >>118 ありがとうございます もう一度試してみます
120 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 00:07:48 ] 宣伝しにきたよ。 ■■みんなでサイトつくろうぜwwwwwwww■■ 「お前ら一緒にサイト作ろうぜwwwww」 「2ちゃん越えるサイト作ろうぜww」 「仕事無いんだ・・・・・・」 「やろうぜ!」 「みんなでサイトつくろうぜwwwww」 gacco.o0o0.jp/ ex14.vip2ch.com/test/read.cgi/part4vip/1218612197/ 今日トップ絵作ったんだぜ! 興味沸いたらきてください!
121 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 00:09:23 ] みんなでサイトつくろうぜwwwwwwwwww みんなで本気でつくる気です。 がんばりましょう。 サイトのイメージはSNS×学校みたいな感じ。 サイトデザイン(案) ttp://www36.atwiki.jp/vipvipschool?cmd=upload&act=open&pageid=12&file=title.jpg ttp://www36.atwiki.jp/vipvipschool?cmd=upload&act=open&pageid=12&file=viploader744102.jpg ttp://www.vipper.org/vip900611.png 技術を持ってる人はパー速へ! ttp://ex14.vip2ch.com/test/read.cgi/part4vip/1218612197/ wiki: vipでサイトつくろーぜ ttp://www26.atwiki.jp/netschool/ 詳細はwiki参照
122 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 00:15:41 ] 宣伝しにきたよ。 ■■みんなでサイトつくろうぜwwwwwwww■■ 「お前ら一緒にサイト作ろうぜwwwww」 「2ちゃん越えるサイト作ろうぜww」 「仕事無いんだ・・・・・・」 「やろうぜ!」 「みんなでサイトつくろうぜwwwww」 gacco.o0o0.jp/ ex14.vip2ch.com/test/read.cgi/part4vip/1218612197/ 今日トップ絵作ったんだぜ! 興味沸いたらきてください!
123 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 00:16:29 ] >>120 あれ。。俺がいる。 ホントすまなかった。
124 名前:デフォルトの名無しさん [2008/08/14(木) 01:54:38 ] 相変わらずキモイな C#と同じくどんどん糞スレになってくれ
125 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 03:01:18 ] 掲示板を作ってるのですが、書き込んだ日時としてデータベースに Calendar#getTimeInMillis()で取れる値を入れて、 そのlong値を取得して何月何日何時何分何秒に書き込んだか表示したいのですが、 Calendar cal=Calendar.getInstance(); System.out.println(cal.get(Calendar.YEAR)); cal.setTimeInMillis(//データベースから取得したlong値); System.out.println(cal.get(Calendar.YEAR)); で比較すると後者のprintlnで表示される値が何を入れても常に1970になります。 setTimeInMillisをAPIドキュメントで見ると >Calendar の現在時刻を、指定された long 値から設定します。 と書いてあるのでこれで良いかと思ったのですが、これはどこを間違っているのでしょうか??
126 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 03:24:21 ] >>125 データベースから取得したlong値は正しい値で取得されている? 秒単位でなくてミリ秒単位だからだいたい 31500000000 より小さい値なら1970年になる。
127 名前:デフォルトの名無しさん [2008/08/14(木) 03:39:42 ] アクセス修飾子について質問です。 protected: 同一クラスのインスタンス、またはそのクラスを継承したクラスのインスタンスからアクセス可能。 なし(デフォルト): そのインスタンス、または同一パッケージに所属するクラスのインスタンスからアクセス可能。 となっていますが、メンバが「なし(デフォルト)」の場合には、異なるパッケージに存在するサブクラスの インスタンスからは、アクセスすることができないのですか?
128 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 03:42:45 ] うん
129 名前:デフォルトの名無しさん [2008/08/14(木) 03:48:49 ] では、アクセス就職子の序列が public > なし(デフォルト) > protected > private となっている参考書は間違いなのですか? 「protected」の場合にアクセスできるものに 「なし(デフォルト)」の場合にアクセスできないので。
130 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 03:49:10 ] >>127 protectedは同一パッケージ内のクラスからもアクセス可能。
131 名前:デフォルトの名無しさん [2008/08/14(木) 03:50:59 ] protectedの説明が > 同一クラスのインスタンス、またはそのクラスを継承したクラスのインスタンスからアクセス可能。 になっているのなら、その参考書の説明は間違い。
132 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 03:53:18 ] あー逆だ public > protected >> なし(デフォルト) private が正しい。 protectedの方が公開の範囲が広い。
133 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 03:58:09 ] public > protected >> なし(デフォルト) private は、 public > protected > なし(デフォルト)> private ね。だから、 > となっている参考書は間違いなのですか? は間違いで正しい。 まとめると、 > となっていますが、メンバが「なし(デフォルト)」の場合には、異なるパッケージに存在するサブクラスの > インスタンスからは、アクセスすることができないのですか? は正しい。 > public > なし(デフォルト) > protected > private > となっている参考書は間違いなのですか? も正しい。つまり間違ってる。
134 名前:デフォルトの名無しさん [2008/08/14(木) 04:13:16 ] >>130-133 了解です! ありがとうございます!
135 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 04:22:01 ] そんな糞参考書は窓から投げておk
136 名前:デフォルトの名無しさん [2008/08/14(木) 05:11:35 ] 糞はおまえw
137 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 06:24:30 ] 会話が成り立っていない
138 名前:105 mailto:sage [2008/08/14(木) 10:10:40 ] >>115 書き込みが入りきるよう縮めていたら消していました。 使い方おかしいですか? やりたいのはその都度実行する遅延を計算しなおしたいのです。 ここでは止まるのを確認するのに1msで常にやってます。 >>116 printlnでIOがブロック?と書きましたが違ったようです。 ↓のように、止まるのは遅延を待機しているのではないかと。 ただその遅延が指定したものでなく、 おっしゃるように戻した時間が経過して戻す以前の時間+遅延になると動くようです。 もしかしたら遅延を指定しているにも関わらず、 内部で時刻を取得し直して計算しているのかとも思うのですが。 スレッド [pool-1-thread-1] (中断中) Unsafe.park(boolean, long) 行: 使用不可 [ネイティブ・メソッド] LockSupport.parkNanos(long) 行: 使用不可 AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long) 行: 使用不可 DelayQueue<E>.take() 行: 使用不可 ScheduledThreadPoolExecutor$DelayedWorkQueue.take() 行: 使用不可 ScheduledThreadPoolExecutor$DelayedWorkQueue.take() 行: 使用不可 ScheduledThreadPoolExecutor(ThreadPoolExecutor).getTask() 行: 使用不可 ThreadPoolExecutor$Worker.run() 行: 使用不可 Thread.run() 行: 使用不可
139 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 10:52:28 ] どなたか>>52 (>>99 )をお願いします… 何か質問の仕方マズかったでしょうか
140 名前:デフォルトの名無しさん [2008/08/14(木) 12:35:08 ] やっぱ"Ruby"ですよ!
141 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 13:04:24 ] >>139 1.2以前でっていう限定がきつい。 古すぎてだれも答えられないと思う。
142 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 13:10:54 ] >>141 初心者の宿題出なければ、appletを作っているやつ自体いないのでは
143 名前:デフォルトの名無しさん [2008/08/14(木) 13:43:41 ] ■■みんなでサイトつくろうぜwwwwwwwwwwwwwwww■■ 「お前ら一緒にサイト作ろうぜwwwwwwwwww」 「2ちゃん越えるサイト作ろうぜwwww」 「仕事無いんだ・・・・・・」 「やろうぜ!」 「みんなでサイトつくろうぜwwwwwwwwww」 gacco.o0o0.jp/ yutori.2ch.net/test/read.cgi/news4vip/1218673130/ ex14.vip2ch.com/test/read.cgi/part4vip/1218612197/ 興味沸いたらきてください! ======================!! 人材募集中 !!====================== ■プログラムを組んでくれる人 *サーバー側 言語はRubyかPerlの予定ですが、Perlが有力候補。 ・チャット 定期的にクライアントから着信があり、それに対して更新されたチャットのメッセージを返信する程度の能力。じゃなくて機能。 通信するときのフォーマットは未定。 ・ログイン・アカウント管理 ログイン認証、各アカウントの点数などの管理。データベースは未定。 ・お絵描き 未定。とりあえず鯖に負担がかからない程度にたまに画像を送信してあげるって感じで *クライアント側 はっきり言って俺もわからね。Ajaxだとかflashだとかjavaだとか。 ■機能提案(正しくは人材ではなく、意見?) 「こんな機能があったら良い!」「こうするともっと楽しくなる!」などの意見募集中。 挨拶とか気にせずスレにどんどん書き込んでくれればおk ■デザイン サイトのデザインを考えてくれる人、作ってくれる人募集中。 できればphotoshop illustrator使える人(プロジェクト共有しやすいので)
144 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 14:09:09 ] >>139 1) java.util.zip 使って外部アーカイブを読める自前の URLStreamHandler 作って、 URL.setURLStreamHandlerFactory してみるとか…… セキュリティマネージャに怒られてダメかもしれんが。 2) 1.1レベルでは互換性の高そうな標準API使う方法だと 1)のアプローチぐらいしかないので、それがダメなら 外部jar使うの諦めるか、互換性諦めるか、音出す事を諦めるか選ぶしかないと思うぞ。
145 名前:デフォルトの名無しさん [2008/08/14(木) 14:20:42 ] たぶんwebで公開のappletじゃないと思うけど、Class.getResouceAsInputStream()とかかな。 javaのデスクトップは、アプレットに適したライブラリが全くなかった他の技術に先を越されたけど、それを補うように進化してきたから、1.2以前だといろいろ出来るわけじゃないよ。
146 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 15:47:14 ] 回答ありがとうございます! >>141 ,142,145 うーんやっぱ今時Appletでしかも1.1縛りなあたりがネックですよねぇ。 自分としては1.2以降のAPI使いたいんですが、MRJに対応しなくてはならない事情があるものでして。 無理そうなら環境によって動作切り替える方向で進めてみようと思います。 >>144 なるほど、URLStreamHandlerは今まで全く見てませんでした。 URL指定をメモリ内のByteArrayInputStreamにリダイレクトできればあるいは、のような感じですね。 光明が見えたような気がしてきました。この方向で色々トライしてみます。
147 名前:デフォルトの名無しさん [2008/08/14(木) 16:47:01 ] ライブラリは進化してきたといってるのに、自作しちゃう人がまた一人・・
148 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 16:54:55 ] 実行中にアプリから、あるインスタンスがどこから参照されているかを確認する術はあるでしょうか?
149 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 17:08:10 ] プロファイラで辿れない?
150 名前:デフォルトの名無しさん [2008/08/14(木) 17:28:42 ] このままライブラリ、というか、部品化が進んでいったら、 やがてプログラマが必要なくなるのではなかろうか? 部品をちょちょいと選択すればプログラムができてしまわないだろうか? そのとき、元プログラマの人は、どうやって食っていくのだろうか?
151 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 17:35:50 ] >>149 稼動サーバーでのみリークが発生するようで、アプリ内で何とかしろといわれているので、 JDTとか見たんですけどまったく理解できずに断念です。 やはりツールを使用しないと無理ですかね・・・
152 名前:デフォルトの名無しさん [2008/08/14(木) 17:50:19 ] 日頃の勉強と技術力しだいだなw
153 名前:デフォルトの名無しさん [2008/08/14(木) 18:06:26 ] Swingにベクタ画像(psとかeps)なんかを表示するものはありますか? 探しても見つからなかったので… ない場合、何らかの形でJPanel辺りに貼り付けて表示する方法はあるのでしょうか?
154 名前:デフォルトの名無しさん [2008/08/14(木) 18:07:30 ] 2chで質問するほどだなんて、ひでー職場だな。
155 名前:デフォルトの名無しさん [2008/08/14(木) 18:12:13 ] >>154 俺の職場、それしかなかったけど。。 色々掲示板みてると俺のいた職場がよほどくそだったことがよくわかる。 ここで揶揄されてることが俺の職場ではまさにデフォルトだった。 ろくに経験もないうちから研修(実務にまったく役に立たない)と称して独力(上司は単なる営業社員)でつくらされて 現場にいっても俺みたいなど素人がもう一人。。できるわけねえだろ。。
156 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 18:47:47 ] >>110 そりゃあソースコードが複雑で読みにくいという
157 名前:デフォルトの名無しさん [2008/08/14(木) 19:56:43 ] みんなそれでやってきたんだし、おまえの技術力が低いだけじゃね?
158 名前:デフォルトの名無しさん [2008/08/14(木) 19:58:43 ] >>155 おまえが糞だってことが良く分かった
159 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:09:30 ] 匿名メソッドのメリットがいまいち分からないのですが、 コーディング量が少し減ることと、 そのメソッドへ他からアクセスできないこと以外で 何かメリットってあるのでしょうか? よろしくお願いします。
160 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:10:15 ] 匿名メソッドなんてあったっけ?
161 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:15:04 ] 匿名クラスでした、すみません
162 名前:デフォルトの名無しさん [2008/08/14(木) 20:42:09 ] >>155 それは職場が糞なんじゃなくて、お前が糞なんじゃないの? なんかお前にはVBの方が向いてるような・・・
163 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:46:24 ] そういう話はマ板でどうぞ
164 名前:デフォルトの名無しさん [2008/08/14(木) 21:44:18 ] 相変わらず、糞だらけのスレですね(^^
165 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 22:40:07 ] >>159 ・いちいち名前を考えずに済む ・普通の内部クラスは書く場所と使う場所が離れていてわかりにくい
166 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 23:53:02 ] fileChooserを利用して、選択したクラスファイルを取得したいのですが File file = fileChooser.getSelectedFile(); Class cls = file.getClass(); これではうまくできません。 どのようにすれば良いか、どなたか教えてくれませんか?
167 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 00:32:35 ] クラスファイルをロードしたいってことか? class MyClassLoader extends ClassLoader { public Class<?> loadClassfile(File file) throws いろいろ { byte[] data = new byte[(int)file.length()]; FileInputStream in = new FileInputStream(file); new DataInputStream(in).readFully(data); in.close(); Class<?> cls = defineClass(null, data, 0, data.length); resolveClass(cls); return cls; } } という独自クラスローダを作って、 Class<?> cls = new MyClassLoader().loadClassfile(file); でどうよ
168 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 00:50:39 ] >>167 クラスを取得してコンストラクタの分析などをリフレクションを用いて実現させたいんです。 File file = fileChooser.getSelectedFile(); Class cls = Class.forName(file.toString()); とかも試したんですけどうまくいきませんでした… なにぶん初心者なもので、根本的なことが間違ってる気がしてならないですorz
169 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 01:44:09 ] >>168 Class.forNameで渡すのはFileとかのクラスファイルの場所ではなくてクラス名そのもの。 クラスファイルをクラスパスの通っているところから参照できる場所に置いておけばクラス名から探してくれる。 クラス名がfoo.bar.Hogeならクラスパスの通っているところのサブディレクトリとしてfoo、その下にbarという ディレクトリがあって、その中にHoge.classがあればClass.forName("foo.bar.Hoge")でClassインスタンスが得られる。 クラスパスとは無関係にクラスをロードしたいのならURLClassLoaderを使うのが楽かも。 URLClassLoaderでぐぐればサンプルはいくらでもある。
170 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 04:09:03 ] >>167 readFully(data); を使うのは単に趣味ですか? read(data);とどう違うのかAPI Docs上から分からないんですがご存知でしょうか。
171 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 04:57:34 ] readは指定したバイト数全部を読み込むことは保証されていない 1バイトでも読めれば、読み込めたバイト数を返す readFullyは指定したバイト数全部読み込む 読み込めなければEOFException
172 名前:デフォルトの名無しさん [2008/08/15(金) 05:35:43 ] 秒妙な違いですけど、引数がFileなのでreadFullyはやらないほうがいいのでは? 間違ってはないけど、そこで使うのはDataInputの設計目的と微妙に違うような…
173 名前:デフォルトの名無しさん [2008/08/15(金) 09:19:21 ] いつも来ていた糞野郎は死んだか?
174 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 10:29:51 ] Thread.currentThread().getStackTrace()でスタック情報が取得できますが、引数インスタンスは取得できません。 引数インスタンスを取得する方法はあるでしょうか?
175 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 10:39:16 ] >>174 caller の引数に触りたいって話ならデバッガ使えば?
176 名前:デフォルトの名無しさん [2008/08/15(金) 14:05:49 ] 糞はドブに流れていってしまったが?
177 名前:デフォルトの名無しさん [2008/08/15(金) 19:18:11 ] テストについて質問です。 値を返すメソッドなら期待される値と実際の値を比較しますが、 値を返さないメソッドはどのようにテストをすればいいのでしょう。 DBに書き込むメソッドとかなら書き込まれた値をチェックできますが、 例えば以下のようなものです。 ・メールを送信するメソッド ・コンソールに文字を出力するメソッド
178 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 19:46:12 ] mainって普通プログラムの中でどういう部分を書くものなのでしょうか? staticだから長いプログラムを書くと面倒になる部分が多いので mainでは自分のクラスのコンストラクタをnewするくらいにしか使わなくて、 そのコンストラクタの方で色々書くようにしているのですが、どうなんでしょう?
179 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 19:49:06 ] テストの基本は事前条件と事後条件が正しいことを確認すること ・メールを送信するメソッド メールを送信するクラスが正しく呼び出されたかをチェックする ・コンソールに文字を出力するメソッド これは難しいのでやらない やる場合は、特定の文字を出力するメソッドのテストとしておいて、 Writerはsetterで設定できるようにしておく どちらにせよコード中にSystem.outがあるのはウンコ
180 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 19:51:46 ] >178 いわゆるエントリポイントってやつだから、外部から起動する時に必要な範囲の処理を行うのが正しい なので、コンストラクタの方で色々やっているのは正しいよ。 mainに書くべき処理といえば、後はプログラムの実行引数のチェックやデフォルト値の設定。 バグで落ちたときにどうするかの処理とか、そんな感じだろうな
181 名前:177 mailto:sage [2008/08/15(金) 20:12:33 ] >>179 > メールを送信するクラスが正しく呼び出されたかをチェックする これ、もうちょい詳しく解説してくれるとうれしいです。 > Writerはsetterで設定できるようにしておく なるほど。それなら結構簡単にテストできそうですね。
182 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 20:22:42 ] >>177 テストアドレスに送信して、受信して、その内容をチェックすれば良いだけでは
183 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 21:40:47 ] >>181 方法は幾つかあるけど、インターフェイスをきってテスト用のオブジェクト(モック)でテストを実行する。 モックなんで実際にはメールを投げずに内部的なステータスを変化させるだけ テストとしてはステータスが変わった(目的のメソッドが実行された)ことを確認する 完全にJavaMailを使っている箇所などをテストする場合は面倒だけど、EasyMockなんかを利用するしかない。 単体テストで再帰的にやるならばこんな感じ。 後は本当に動くかどうかは開発中は動作確認レベルで済ませてシステムテストでやる
184 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 22:20:58 ] ネットワークプログラミングを勉強中なのですが、 サーバ側 public static void main(String[] args){ ServerSocket ss=new ServerSocket(7777); Socket sock=ss.accept(); BufferedReader br=new BufferedReader(new InputStreamReader(sock.getInputStream())); System.out.println(br.readLine()); br.close(); sock.close(); ss.close(); } クライアント側 public static void main(String[] args){ Socket sock=new Sock(コンピュータ名,7777); BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(sock.getOutputStream)); bw.write(br.readLine()); bw.close(); br.close(); sock.close(); } この二つを実行するとサーバ側で何も表示されません。 クライアント側のBufferedReaderの件を全部消してbw.write("hoge"); とかに直すと、ちゃんとサーバ側のPCでhogeと表示されるのですが、 何がいけないのでしょうか?
185 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 22:23:09 ] closeしちゃダメだろ
186 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 23:50:37 ] JNIを使ってJavaの引数にクラスを指定し、 C側でクラス内のString型のフィールドにデータを入れようと以下のようなプログラムを書きました。 そしたら半角カナに濁点の文字が文字化けしてしまいました。 こういった場合どのように対処したらいいのでしょうか、ご教授ください! C側↓ JNIEXPORT jlong JNICALL Java_Test(JNIEnv *env, jclass, jobject obj){ jclass cs = env->GetObjectClass(obj); jfieldID fid = env->GetFieldID(cs,"strParam" , "Ljava/lang/String;"); env->SetObjectField(obj, fid, env->NewStringUTF("サブキー"); return 0; } java側↓ HogeClass hoge = new HogeClass(); Main.Test(hoge); System.out.println( new String( hoge.strParam.getBytes("iso-8859-1"), "MS932") );
187 名前:もう泣きそう mailto:sage [2008/08/16(土) 01:30:05 ] UNIXの環境変数受け渡しについて 教えて下さい。 シェルスクリプトで設定した環境変数は、JAVA(jarのクラス)側で 読み取れると思いますが、その逆は可能なのでしょうか? 以下を想定しています。 もし可能なら、メソッド名とかを教えて下さい。 ----------------------------------------- #!/bin/bash export AAA=a.txt java classA -xm=512m・・・ echo KEKKA1=$KEKKA1 ←これが可能でしょうか? echo KEKKA2=$KEKKA2 ←これが可能でしょうか? ----------------------------------------- public void class cassA { String aaa = system.getenv("AAA"); String kekka1 = "data1"; ←これを返したいのです。 String kekka2 = "data2"; ←これを返したいのです。 (設定するロジックというかメソッド名・・・) } JAVA側の変数をシェルで読み取れれば良いのですが、 もし可能なら、メソッド名とか簡単でもいいのでサンプル例等を 教えて下さい。 もう泣きそうです・・(;-;)
188 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 01:38:01 ] 何か良くわからんけどファイルに書き出せば良いじゃん でシェルで読み込めば
189 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 02:03:52 ] >>187 通常、子プロセスは親プロセスの環境変数を変えられない。
190 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 05:21:40 ] JDBC での Oracle との連携を勉強しようとしていたら Oracle のサイトに Java関連の Tips が大量に合って助かったのですが 逆に .NET でのサンプルが皆無だったので気になりました Oracle と Java って何か深い繋がりがあるのでしょうか? それとも Oracle が Java を一方的に支持してる感じ?
191 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 07:40:40 ] >>186 半角かな以外は化けないか確認した? 半角英数はともかく、漢字は化けると思うが。 > env->SetObjectField(obj, fid, env->NewStringUTF("サブキー"); これ UTF-8 渡してるのか? VisualC++ とかなら env->NewString(L"サブキー", 5) とかした方が。 > new String( hoge.strParam.getBytes("iso-8859-1"), "MS932") これやると確実に化けるんじゃね?
192 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 08:49:08 ] >186 JNI を使ってJavaクラスのパラメータをいじる方法は良く分からんですが、 半角カナというのは、どの文字符号化方式で定義されているものを使うのですかね。 String 内部は UTF-16 (char) 配列です。
193 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 09:43:02 ] a
194 名前:デフォルトの名無しさん [2008/08/16(土) 11:03:24 ] interfaceは多重に継承できるんですけど、もしスーパー・インタフェイスと メソッド名やシグニチャがかぶったら継承できないんですか。 特に他の人が使ったインタフェイスで、 戻り値がかぶったり、戻り値がlongとかだったらどうするのでしょうか。 どうやって回避するんでしょうか?
195 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 11:27:09 ] >>194 シグニチャ同じで戻り値型違うのは無理。 シグニチャ同じで戻り値型同じなら実装できるけど、 各interface が別々の振る舞いを期待してる場合は無理。 メソッド名付ける時点で被らないように気をつけるぐらいしかないね。
196 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 11:30:12 ] >>194 インターフェースはそもそもシグネチャしか定義しない(定数定義もあるけどここでは無視)ので、多重定義になっても問題はない。 何故なら、同じ名前、同じ引数、同じ返り値を持っている、ということ以外の情報は定義されないから。 実装側で、同じシグネチャなのに異なるインターフェースでアクセスされると違う動作をしなければならない、ということであれば、それは設計が間違っている。
197 名前:デフォルトの名無しさん [2008/08/16(土) 11:38:24 ] >>196 そういう問題じゃなくて、AppendableとStringBuffer.appendのような話をしてるんですけど… それもjdk1.4以前だとどうやって回避してたんでしょうか。
198 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 11:41:59 ] > AppendableとStringBuffer.appendのような話 このケースって、なんか問題あんの?
199 名前:デフォルトの名無しさん [2008/08/16(土) 11:48:01 ] jdk1.4以前
200 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 11:49:53 ] 1.4以前は Appendableないから問題ないよ。
201 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 12:02:47 ] >>197 何が疑問なのかわからん。その例ってインターフェースの多重継承とは何の関係もないじゃん。 一応書いとくけど、インターフェースの多重継承って、 interfece SuperInterfaceA { int hoge(int x); } interface SuperInterfaceB { int hoge(int x); } interface SubInterface extends SuperInterfaceA, SuperInterfaceB {} というものだぞ。
202 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 12:25:23 ] >194 こんなのでどうさ。 ttp://www.y-adagio.com/public/standards/tr_javalang2/interfaces.doc.html#40247
203 名前:デフォルトの名無しさん [2008/08/16(土) 12:50:00 ] classと同じでinterfaceをextends出来るけど、継承」の意味が少し違うようですね。 本当は、自作のインタフェイス interface My_interface{ My_interface append(My_interface); } 例えば引数assertチェックありで、 class StringBufferも引数My_interfaceに参加させたいんですけど、 class StringBufferは当然他人が作ったライブラリなので、My_interfaceを実装できません。 今のところifで分岐してるんですけど、こういうときは、どうやれば自作インタフェイスにくわえられるんでしょうか。
204 名前:デフォルトの名無しさん [2008/08/16(土) 12:52:20 ] 例えば引数assertチェックありとかの実装で。
205 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 12:58:17 ] アダプタパターン
206 名前:デフォルトの名無しさん [2008/08/16(土) 13:45:32 ] アダプタよりもデコレータ・パタンかな
207 名前:デフォルトの名無しさん [2008/08/16(土) 13:47:28 ] >>200 例えばで出してみたんですけど、分かりませんか? 自作したインタフェイスの話しなんですけど・・・
208 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 13:53:32 ] なんかでラップすりゃいいじゃん
209 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 14:15:28 ] >>203 まず、Javaでは原則として既存のクラスやインターフェースに手を加えることはできない。 該当のクラスがfinalでなければ、サブクラスを作ってそこでimplementsする手はある。 該当のクラスがfinalであれば、自作のクラスでラップするしかない。
210 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 16:38:08 ] Listのキャストはエレメントを個別にキャストするしかありませんか?
211 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 16:38:53 ] generics 使えば?
212 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 16:47:37 ] どうするんですか? (List<MyClass>)list のようなキャストが失敗します。
213 名前:デフォルトの名無しさん [2008/08/16(土) 16:54:48 ] 自作したインタフェイスを使ってライブラリ作ってんるんですけど、 そこに他人が作ったクラスも参加させるのはどうするんでしょうか? とういことなんですけど、これだけじゃ何言ってるかわからないと思いませんか。
214 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 16:57:22 ] >>213 共有ライブラリとかプラグインとかリフレクションの世界のことかと思った。
215 名前:デフォルトの名無しさん [2008/08/16(土) 18:33:05 ] class MyBig extends BigDecimal { MyBig(String v){super(v);} public MyBig abs(){return this;} } BigDecima.abs()をオーバライドしたいのですが、1.4以前ではどうやるんでしょうか。 negate()と同じく、メソッド名に意味があるので名前を変更できないので何かよい方法はないでしょうか?
216 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 18:54:57 ] eclipse の JDT を使ってみようと思ってるんですが,eclipse 上で, import org.eclipse.jdt.core.dom.*; などど打っても org.eclipse が見つかりませんというエラーが出てしまいます. どうすれば解決できますか?
217 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 19:09:49 ] >>215 1.4 だと covariant return typeが使えないから public BigDecimal abs()で我慢。 もしくはextends BigDecimalを諦める。
218 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 19:43:52 ] finalで参照型変数を宣言した場合、 それはどこを参照するかを固定するという認識で合ってますでしょうか? その場合、参照先のインスタンスの属性をsetter等を用いて変更されないようにするというのは 不可能なのでしょうか?
219 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 20:09:15 ] >>213 SPIのことじゃない?
220 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 20:37:33 ] >>218 Immutable な拡張クラス作って属性変更できないようにするとか 不可能じゃないけど変更されないようにできる便利な言語機能はない。
221 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 20:40:07 ] >>218 setterを作らない
222 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 21:36:26 ] Java を使って組み込み系のソフトウェア(携帯アプリ除く)を作成することはできますか?
223 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 21:48:51 ] CDC JavaTVetc
224 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 23:41:22 ] >>216 自己解決しました. プロジェクトをプラグインプロジェクトに変更して,プラグイン依存関係を解決したらO.K.でした.
225 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 00:25:07 ] >212 キャストは動的。ジェネリクスは静的かつ、型情報は消滅。 >218 変更させたくないインスタンスは委譲でも使って隠匿すべし。
226 名前:94 mailto:sage [2008/08/17(日) 01:12:31 ] 94です。だいぶ前で皆さん忘れておられると思いますが、この擦れの方のおかげであの質問は解決しました。 遅くなりましたが、応えてくださった97さんや99さんなど、皆さんありがとうございます。 ・・・すいません。それだけです。
227 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 01:27:37 ] どうせならどのように解決したかを書いてくれると、後から読む人のためになって良い
228 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 12:55:58 ] スタンドアロンのJavaアプリで、HTMLのクリッカブルマップのようなことは、可能でしょうか? 具体的には、フォーム上に日本地図の画像があって、 各県をクリックすると、ポップアップウィンドウが表示される、 みたいな感じなんですが。
229 名前:デフォルトの名無しさん [2008/08/17(日) 13:00:47 ] 非常に簡単
230 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 19:59:57 ] このスレには親切な人が多いですね。たまにマ版と間違えてるような変な人もいますが・・・・
231 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 20:34:20 ] マと何か区別しなきゃいけないのか?
232 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 21:23:11 ] >>231 愚痴を書き込むスレではないだろ
233 名前:186 mailto:sage [2008/08/17(日) 21:28:01 ] なんとか解決したっぽいです。 初心者なので、UNICODEとUTF8の違いとかいまいちピンときませんが、 イメージは「UNICODEがIDとしたらUTF8はIDをUTF8という形式で表現したデータ」ということでしょうか? 間違ってましたら指摘してくださいorz で、UTF8での受け渡しを止めてUNICODEでの受け渡しをするようにしました C側↓ JNIEXPORT jlong JNICALL Java_Test(JNIEnv *env, jclass, jobject obj){ jclass cs = env->GetObjectClass(obj); jfieldID fid = env->GetFieldID(cs,"strParam" , "Ljava/lang/String;"); const char* cc = "サブキー"; int unicodeLength = MultiByteToWideChar(CP_ACP, 0, cc, strlen(cc), NULL, 0); WCHAR* unicodeBuffer = new WCHAR[unicodeLength]; MultiByteToWideChar(CP_ACP, 0, messagetmp, strlen(messagetmp), unicodeBuffer, unicodeLength); jstring strj = env->NewString((jchar *)unicodeBuffer,unicodeLength); env->SetObjectField(obj, fidsData, strj); return 0; } java側↓ HogeClass hoge = new HogeClass(); Main.Test(hoge); System.out.println( hoge.strParam ); ちゃんと表示できてるみたいです。 しばらくはまってたのですが、「sizeof」で文字サイズを取得してたのですが、 マルチバイト?では使えなくて「MultiByteToWideChar」を使用しないといけないということですね。今までjava言語しか触ったことないのでしたorz もっと簡単な方法ありましたら是非ご教授くださいm(__)m
234 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 21:41:51 ] >>233 wchar_t wcstr[] = L"サブキー"; jstring strj = env->NewString((jchar *)wcstr, sizeof(wcstr) / sizeof(wchar_t)); Windows環境っぽいので wchar_t が UTF-16 きめうち。 テストしてないので動かなかったらごめん。 あと new WCHAR[unicodeLength] したのに delete しなくていいんか?
235 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 22:02:02 ] >>233 いくら夏とはいえ、ちょっと見にコンパイルを通らないコードを貼るやつって、何がしたいんだろうな・・・
236 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 22:12:35 ] 初心者ってのはそういうもんさ
237 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 22:24:06 ] おい、おまいらJavaでアップロードされたファイルのヘッダ検査を行なうjarはないですか? 教えてください。お願いします。
238 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 22:27:44 ] 調子のんな
239 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 22:33:02 ] やっぱC#スレの方がいいわ
240 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 23:14:57 ] javaのvmって sun と ibm と hp の3種類?
241 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 00:00:16 ] Swingを使ってGUIを書いています。 所謂非矩形ウィンドウを作りたいと思い、検索してみたところ、 1. Mac限定の方法(背景色を透過色に設定?) 2. ウィンドウの下をキャプチャして疑似透過 の二つがあるらしい、ということを知りましたが、1番は問題外、 また、最前面に表示するような仕様のため、2番では背景と矛盾が 生じない為の頻繁な更新による負荷がやや重めになってしまいます。 もし他に方法がありましたら、参考URL等を教えてください。 #具体的には、Officeに出てくるうるさいイルカみたいな感じで、 #画像を枠無しで表示したいと考えています #SWTだとRegionとやらで実装できるようなのですが...
242 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 00:06:32 ] jdk7を待った方がいいんじゃないかな? https://jdk6.dev.java.net/6u10ea.html 確かこれでShapeを使った非矩形ウィンドウが作れたはず・・
243 名前:デフォルトの名無しさん [2008/08/18(月) 00:29:07 ] 修飾子の読み方を教えて下さい Gooleしても見つかりません
244 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 00:31:38 ] そりゃ見つからないわ
245 名前:241 mailto:sage [2008/08/18(月) 00:32:08 ] おぉ。どうもありがとうございます。 AWTUtilitiesとやらで非矩形や透過ウィンドウが実装出来るようになるのですね。 とりあえずはBeta使って仮実装したり、他の方法も色々工夫したりしてみながら のんびりと正式版のリリースを待つことにします。 素早いご返答、ありがとうございました。
246 名前:243 [2008/08/18(月) 00:38:37 ] Googleの間違いでした ほんと修飾子って何て読むんですか?
247 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 00:51:09 ] おもしろい回答できないわ。 「しゅうしょくし」だよ。
248 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 00:51:29 ] jdbcのPreparedStatementなんですが、 setLongに高いインデックス(10くらい)を指定すると、 executeUpdateでエラーが発生するようです。 要は、INSERT INTO文のVALUESに指定できる?の数に制限が あるということなのですが、この問題にはどう対処したらよいでしょうか。
249 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 00:51:51 ] 「しゅうしょくし」 ってか流石にこれはガチで小学生でも分かるから、 そういう意味ではなくvolatileとかstrictfpとかの読み方を聞いてるのか?
250 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 01:01:29 ] 特殊なデザインのウインドウは、はっきり言って使いづらいからやめて欲しい
251 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 01:04:32 ] しゅうしょくしがしょくしゅにしか見えないんだが・・・
252 名前:243 mailto:sage [2008/08/18(月) 01:10:03 ] >>247 >>249 ガチで有難うございます ほんと何て読むか解らなくて… 年は40なんですが、趣味でプログラムでも始めてみようかと思い 創るJavaって本を買いまして、暇暇に読んでます もちろん仕事はプログラムとは あまり関係ありません ただ、知識は無いと 指示が出来ないんですよね…
253 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 02:14:27 ] >252 ttp://www.okapiproject.com/java/java_ref/index.html
254 名前:デフォルトの名無しさん [2008/08/18(月) 09:39:00 ] >>252 ではオジサン相手に手取り足取り教えてやろうか。
255 名前:デフォルトの名無しさん [2008/08/18(月) 09:41:55 ] むしろ中途半端な知識で指示される方が迷惑
256 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 09:48:07 ] >>252 老婆心ながら 読むだけじゃだめだぞ
257 名前:デフォルトの名無しさん [2008/08/18(月) 11:54:15 ] Javaなんかネットの勉強サイトで十分しょw
258 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 11:56:17 ] じゃう゛ぁ♪じゃう゛ぁ♪ じゃう゛ぁじゃう゛ぁジンジンジーン♪
259 名前:デフォルトの名無しさん [2008/08/18(月) 12:07:08 ] ConcurrentSkipListSetってクラスつかったら プログラムを実行するたびに 同じ要素が何個も一つにセットに入ったり、一つだけ入ったりしたんだけど。 なぜですか? TreeSetにしても同じような症状でした。 でもCopyOnWriteArraySetにしたら同じ要素は一つしかありませんでした。 どうしてかおしえてください。
260 名前:デフォルトの名無しさん [2008/08/18(月) 12:50:32 ] 初心者の質問ですいませんが教えてください javaにはオペレーターは無いはずですが なぜStringクラスだけ+=が使えたりするんでしょうか どなたかおしえてください
261 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 12:51:46 ] 組み込み
262 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 13:42:50 ] Instrumentを変更してMIDIを再生したいのですが、現在使用可能なSynthesizerがcom.sun.media.sound.MixerSynthだけで、そのSynthesizerでloadInstrument()してもIllegalArgumentExceptionを投げられてしまいます。 ソースを読んでみると、MixerSynthの親の抽象クラス「AbstractPlayer」にて、型のチェックでHeadspaceInstrumentの子クラスじゃないと読み込めないようにしてあるようなのです。 さらにそのHeadspaceInstrumentというのはデフォルトアクセスで、どうしようもないのです。 どのようにすればInstrumentを追加・変更できるのでしょうか?
263 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 14:01:48 ] >>259 日本語で
264 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 15:17:26 ] >>260 > javaにはオペレーターは無いはずですが Javaにはオペレータが結構あります。 Stringクラスだけでなくintでも+=が使えます。 クラス型に対するオペレータでも=や==はStringクラス以外でも使えます。
265 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 15:56:23 ] javaってcみたいにコアダンプ(メモリダンプ)できないのでしょうか。 cの場合ログから解析が難しい場合はその段階でkill -SEGVでメモリダンプしてデバッガでメモリの情報を調査するという方法があり それをjavaでもやりたいと思っているのですが。 eclipseで接続できないところなので、そこでダンプを取って持ち帰ってeclipseで確認したいと思っていますが、 cのようにいかないですかね???
266 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 16:19:55 ] java vmのコアダンプを追いかける・・・言ってみただけ
267 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 16:45:23 ] class Oya{ public void show() throws Exception{ System.out.println("oya"); } } class Ko extends Oya{ public void show(){ System.out.println("ko"); } } public class Cui{ public static void main(String args[]){ Ko a=new Ko(); Oya b=new Ko(); a.show(); b.show(); } } これでb.showでエラーが出るのが理解出来ません。 bはサブクラスでオーバーライドされた方のメソッドを呼び出しているので やっていることはa.show()と同じ気がするのですが、何ででしょう?
268 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 16:47:40 ] >>265 VisualVM とか jhat を調べてみるといいかも
269 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 16:52:39 ] >>262 www.jsresources.org/faq_midi.html#create_soundbank
270 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 16:56:53 ] >>267 Oya#show は Exception を投げると宣言しているので、 main の b.show() が投げる Exception をどうにかする必要がある (実際には投げられないのだとしても、宣言してる以上、処理しないとだめ)
271 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:09:06 ] >>270 これって親のメソッドが仮に例外投げないとしたらコンパイルが通って b.showの実行結果は「ko」になりますよね。 Oya#showはKo#showで消されているため例外投げる部分が無いものになる気がするんです。 素直にKo#showを使ったa.showは例外処理必要無いのに、 なんでOyaの参照で間接的にKo#showを使うと例外処理が必要になるんでしょう?
272 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:21:08 ] >>271 b は Oya だと宣言してるし。
273 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:24:36 ] javaの勉強中でEclipseを使ってプログラムを作り、JSP→クラスの遷移はできるのですが、html→クラスの遷移ができません。 内容はどちらもボタンを押すとデータの送信などは行わず遷移するだけなので、どちらも同じ記述をしているのですがhtml→クラスがうまくいきません。 JSP→クラスの設定はweb.xmlで記述しているのでhtmlだとweb.xmlが読み込まれないのが原因なのではないかと思っているのですが、web.xmlが使えないとなると解決方法がわかりません。 どうすればよいのでしょうか。
274 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:25:47 ] >>272 そのOyaの関数がKoの関数になってるからってことを疑問にしてるんでしょ。
275 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:28:50 ] >>271 b が Oya 型だから b.show は単純に Oya#show の宣言を見る Oya b = new Oya(); のときと Oya b = new Ko(); のときで b.show のエラーの有無が変わってはかなわんし (b は同じ Oya 型。単に初期値が違うだけ) もし Oya b = null; とか Oya b = hoge(); とか Oya b = x < 10 ? new Oya() : new Ko(); とかだったらどうするよ
276 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:43:48 ] >>272 ,>>275 レスありがとうございます。 宣言はスーパークラスの方を見て中身はサブクラスを見てる感じなんですね。 オーバーライドで引数とか全部一緒だからそんなことも出来るのか。
277 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:45:55 ] >bはサブクラスでオーバーライドされた方のメソッドを呼び出しているので というのが分かるのは 275 が書いたように実行時なんだな。 コンパイル時は宣言した型でしか見てないんだな。
278 名前:デフォルトの名無しさん [2008/08/18(月) 19:39:27 ] >>264 > >>260 > > javaにはオペレーターは無いはずですが > Javaにはオペレータが結構あります。 > Stringクラスだけでなくintでも+=が使えます。 > クラス型に対するオペレータでも=や==はStringクラス以外でも使えます。 例えば public AnyClass{ int n; String s; public AnyClass() { n = 0; s = null; } public AnyClass(int num,String str) { n = num; s = str; } } みたいなクラスがあったとして 下記のような動作させるにはどうすれば良いのでしょう AnyClass obj1 = new AnyClass(10,"ab"); AnyClass obj2 = new AnyClass(1,"c"); AnyClass obj3 = new AnyClass(); obj3 = obj1 + obj2;
279 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 19:56:30 ] >>278 演算子の多重定義はサポートしてないから無理。
280 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 22:19:35 ] >278 public AnyClass plus(AnyClass other)
281 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 22:21:10 ] >>280 演算子のオーバーロードがしたいって言ってるんじゃないの?
282 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 23:04:54 ] >>260 × Javaにはオペレータは無い。 ○ Javaにはオペレータのオーバーロードはできない。 で、Stringには連結オペレータが予め用意されている、と。 なぜ連結オペレータが用意されているかは設計者にでも聞いてくれ。
283 名前:x [2008/08/18(月) 23:28:03 ] 初めまして。最後のdrawLineでintを使えないといわれてしまいます。 分かる方いらっしゃいますか? よろしくお願いします。 import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; import java.awt.Font; import java.math.*; /** * @param args */ public class applet5no1 extends Applet { public void paint(Graphics g) { int x1,y1,sec; sec = 30; x1= 6*sec; g.drawLine (100, 100,100+70*Math.cos(60 * Math.PI/180) , 100-70* Math.sin(60 * Math.PI/180)); } }
284 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 23:31:43 ] intが使えないから適切な型に変換しろってこと
285 名前:x [2008/08/18(月) 23:33:27 ] すいません。具体的にはどうするかわかりますか?
286 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 23:43:49 ] >>283 sinとかcosの結果はdouble型 drawLineの引数はint型 なので型が合わない intに変換しる
287 名前:x [2008/08/18(月) 23:45:02 ] ありがとうございます。助かりました
288 名前:x [2008/08/18(月) 23:59:08 ] 先ほどのものです。 いろいろ試したのですが、どうしてもうまくいきません。 具体的にどうすればいいか教えてもらえませんか?
289 名前:x [2008/08/19(火) 00:13:44 ] いろいろ試したというのは嘘で、試そうにもやり方が全く分からないので、手取り足取り教えてくれませんか。 いろいろ試したのなら、どう試したけれど、どううまくいかなかったが書けるはずなのに、 それができないから嘘がばれると思ったので正直に書きました。
290 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 00:15:58 ] お前馬鹿だろ リファレンス見るとかググるとか思いつかないのか そんなことだと永久に2chに聞きに来るつもりか?
291 名前:x [2008/08/19(火) 00:20:42 ] リファレンスってなんですか?どこにあるのか分かりませんし、見方が分かりません。 ググろうにも何をキーワードにすればいいか全然思いつきません。 ここは初心者にきびしいネットワークですね。
292 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 00:22:10 ] >>291 君がゆとり杉なのかもね。
293 名前:デフォルトの名無しさん [2008/08/19(火) 00:33:40 ] 実は趣味でプログラムしてます。今42歳でニーとですす。
294 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 00:35:30 ] >>291 java.sun.com からJava SEのリンクを辿っていけばそのうちに辿りつけますよ。 画面左上はパッケージのリスト、左下にクラスのリスト、右がメインビューワとなっております。 防御スクリーンを展開したままフェイザーと光子魚雷の準備を抜かりなきようお願いもうしあげます。
295 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 00:36:09 ] >>293 名前のxが抜けてる抜けてる
296 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 00:48:39 ] >>291 ・貴方が書いている言語はきっと“Java” ・二人も“変換”しろと言っている いくら考えても無いところからキーワードを思いついたりしないだろうな、すでに書いてあるのに……
297 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 00:56:37 ] 初心者 【人々】 (1) ・「覚えよう」と言う意思の無い人。 ・こう言う人は、永遠の初心者。 (2) ・全てをチャラにできる魔法の言葉。 ・質問をする時にこの言葉さえつければ、何を聞いても良いと勘違いしている方がいらっしゃる。 ・「初心者なら、そういう難しい事は考えずにまずは基本を覚えなさい。」と、言いたくなる事がある。 でも、お客さんだしそんな事は言えないしなぁ・・・。 某辞典から いや誰とは言わないけどね
298 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 00:57:21 ] Sun SPOTの話題はどこに持ってけばいいんでしょ?
299 名前:デフォルトの名無しさん [2008/08/19(火) 00:59:36 ] 初心者なんですけど、ジャヴァってなんですか?アップレットとどう違うんですか?
300 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 01:04:25 ] >>299 じゃう゛ぁ(java)は今をときめくニューウェーブ、時代の最先端を行く今注目のプログラミング言語です。 アプレットはIEやFF上で動作するJavaプラグインを用いた実行形態の一種です(?) Applet/JAppletクラスを用いて作成します。 通常のJavaアプリはApplet/JAppletクラスを使いません。
301 名前:デフォルトの名無しさん [2008/08/19(火) 01:18:53 ] アプレットでフラッシュみたいのはやんないんですか? 何でみんなフラッシュ使うんでしょうか。 初心者なんですけど、フラッシュの方が最先端な気がします。
302 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 01:23:00 ] スレの無駄だからそろそろ初心者ごっこはやめろ 誰も本気で釣られんよ
303 名前:デフォルトの名無しさん [2008/08/19(火) 01:28:02 ] 初心者だからって馬鹿にしないで下さい!
304 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 09:41:23 ] ActionScriptも多少触ったけど、言語仕様がルーズ(型の扱いとか)なのと 根っこのトコの動作が見えにくいのとでなんかやり辛いんだよなぁ マルチスレッドが普通にできないのもめんどい グラフィックやサウンド系の扱いが手軽なのと、プラットフォームの普及度から言うと よっぽど複雑な処理やるんでもなければFlashでやるのがいいでしょうね
305 名前:デフォルトの名無しさん [2008/08/19(火) 10:00:45 ] アプレット技術はそのままで、ブラウザ埋め込みレットとしてアプレットを拡張すればいいんじゃないかと思う。 それこそアプレット・アプリケーション・フレームワークが整備されればいいのかな。スウィングと同じように。
306 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 10:20:26 ] javaのpipeってLinuxのmkfifoでできる名前付きパイプを実現するものでしょうか?
307 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 10:32:26 ] java.nio.channels.Pipe の事なら、そもそもプロセス間通信できなかったような
308 名前:デフォルトの名無しさん [2008/08/19(火) 16:34:14 ] アプレットをいろいろといじっているのですが、ボタンを付けることについて質問です。 ボタンを押されるたびに、たとえば"A"という文字を表示するxとy座標を変えて行きたいのですが、 public void actionPerformed(ActionEvent e){ if(e.getSource() == btn){; x+=20; y+=20; repaint(); } } とすれば、g.drawpaint("A",x,y)がリペイントされて、ボタンを押されるたびにx,yが20ずつずれて表示されると思っていたのですが 最初に押したときはxとyが20ずつ動いたのですが連続してボタンを押しても変わることはありませんでした。 押すたびにずれるようにするにはどうすればいいでしょうか? よろしくお願いします。
309 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 16:39:47 ] きっと何処かで毎回xとyを0にしてるんだな
310 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 17:03:31 ] 最初にボタンを押したときは動くのでx,yがリセットされていることは無いと思うのですが、 class MyFrame extends Frame implements ActionListener{ Button btn; int x = 50,y=50; public MyFrame(String title){ setTitle(title); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } public void paint(Graphics g){ btn = new Button("ボタン"); btn.addActionListener(this); add(btn); btn.setBounds(120,200,90,30); g.drawString("A",x,y); } public void actionPerformed(ActionEvent e){ if(e.getSource() == btn){ x=x+20; y=y+20; repaint(); } } } これはフレームになっていますが、基本的にかんな感じです。
311 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 17:06:57 ] なんでpaintのたびにボタンが増えてるの・・?
312 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 17:32:02 ] すいません。ボタンが増えてました・・・paintから出したら上手く動きました。 有難うございました。
313 名前:デフォルトの名無しさん [2008/08/19(火) 17:59:23 ] Object.classって何?
314 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 18:13:30 ] >>313 Object クラスを表す Class クラスのリテラル new Object().getClass() と同値
315 名前:デフォルトの名無しさん [2008/08/19(火) 18:52:33 ] >>314 dクス
316 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 19:08:49 ] メモ帳から、改行やスペースを含む文字列を読み込んで、char型の配列に入れるというものを作りたいのですが、うまくいきません。 String型の配列に入れる事は出来たのですが、Char 型に変換することができませんでした。以下は私のソースプログラムです。 public class Main{ public static void main(String[] args){ List<String[]> list =new ArrayList<String[]>(); String cell[]=new String[1000]; try{ FileReader fr =new FileReader("test.txt"); BufferdReader bf =new BufferedReader(fr); String st =null; while((st= bf.readLine())!=null){ String[] line=st.split(""); list.add(line);} for(String[] values: list){ for(String value: values){cell[i]=value;i=i+1;}} }catch(IOException e){}}}
317 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 19:37:16 ] >316 Stringオブジェクトからcharを取り出す方法があれば良いのかな > char java.lang.String.charAt(int index) それから、BufferedReader を使うと改行が消えるのでご注意あれ。
318 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 19:39:19 ] String.toCharArray()っていうそのまんまなメソッドもあるよ!
319 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 21:19:33 ] BufferedReader#read(char[] cbuf, int off, int len)じゃイカンのか
320 名前:316 mailto:sage [2008/08/19(火) 21:23:12 ] ありがとうございます。アドバイスを踏まえ以下のように改良したのですが、 1行しか読み込むことができません。バッファを使っているせいかとも思ったのですが、バッファを消すとエラーになってしまいます。 public class Main{ public static void main(String[] args){ List<String[]> list =new ArrayList<String[]>(); Char cell[]=new Char[1000]; try{ FileReader fr =new FileReader("test.txt"); BufferdReader bf =new BufferedReader(fr); String st =bf.readLine(); for(int i=0;i<100;i++){ cell[i]=st.charAT(i); System.out.print(cell[i]);} }catch(IOException e){}}}
321 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 22:15:13 ] readLineを1回しか呼んでないような気がするが
322 名前:320 mailto:sage [2008/08/19(火) 22:48:51 ] >>321 確かに・・そうですね・・ でも、どうすればいいでしょう・・;;
323 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 23:23:47 ] ファイル全体を1個のchar配列にすればいいのか?これでどう? BufferedReader reader = new BufferedReader(new FileReader("test.txt")); StringBuffer buffer = new StringBuffer(); int c; while ((c = reader.read()) != -1) { buffer.append((char) c); } reader.close(); char[] array = buffer.toString().toCharArray();
324 名前:320 mailto:sage [2008/08/19(火) 23:39:07 ] >>323 一文字ずつを一つ一つの配列に入れたいです。100文字あったら100個の配列に入れるようなイメージです。 ソースプログラムありがとうございます。書いてある事はある程度理解できたのですが、分からないところもありました。 System.out.print(array); と加えたのですが、何も表示されず(´・ω・`)という顔をしてしまいました。 何を出力すれば良かったのでしょうか
325 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 23:42:03 ] 配列はそのままprintlnしても中身は出ない System.out.println(Arrays.toString(array));
326 名前:325 mailto:sage [2008/08/19(火) 23:48:01 ] って、ウソでした 試してみたら普通に出たorz test.txtの中身がないとか?
327 名前:320 mailto:sage [2008/08/20(水) 00:00:25 ] 何故かうまくいきません・・ よろしければソースを丸ごとコピペしたいので、貼り付けて貰えませんか? 一番最初の宣言からです。
328 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 00:15:03 ] >>327 どーぞ rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/403.zip
329 名前:320 mailto:sage [2008/08/20(水) 00:31:02 ] >>328 ありがとうございます。できました! とても助かりました。 宣言のところで、いつもchar array []としていたのですが、char [] arrayも同じなんですね。
330 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 00:34:33 ] >>329 というより、後者が推奨。
331 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 00:40:09 ] >main(String[] args) その割にはmainはちゃんと後者で書いてるのね。 いちおうこれでもいけるけど main(String args[])
332 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 01:01:49 ] 二次元配列なら3通りの書き方ができるよ int[][] array; int[] array[]; int array[][];
333 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 01:34:30 ] JARファイルの中にあるJARファイルにクラスパスを通すことって可能でしょうか・・
334 名前:デフォルトの名無しさん [2008/08/20(水) 01:51:38 ] cloneの実装の仕方について教えてください。 A-B-C のように継承関係にある場合CloneableをAにつけてそのあとどうすればいいんでしょうか? public Object cloneをAに実装し、それをB、Cでもオーバーライドする?
335 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 01:58:35 ] >>334 class A implements Coneable { @Override public Object clone() { try { return super.clone(); } catch (CloneNotSupportedException e) { ポイントはAでsuper.clone();をしっかり呼ぶこと、浅いコピーでいいならこれだけでよい。
336 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 02:19:55 ] てかObject#clone()は仕様上シャローコピーだろ。
337 名前:デフォルトの名無しさん [2008/08/20(水) 02:46:02 ] ディープコピーがしたいのです。 クラスBとCはどうすればいいのでしょうか?
338 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 02:55:57 ] >>337 class A implements Cloneable { public Object clone() { try { A a = (A) super.clone(); // ディープコピーのための追加ロジック return a; B C にもディープコピーのための追加ロジックが必要なら同じようclone()をoverrideして super.clone() をよび、それから追加ロジック。 必要ないならそのまま継承すればいい。
339 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 12:11:55 ] 以前このスレッドでjavaの初心者(レベル2)向けの本として javaの教科書(SJC-P対応)的な本と、Effective Javaという本を紹介してもらいました。 教科書的な本は読み終わりましたので、次のステップに向かいたいと思います。 何か良い本があれば教えていただきたいので、よろしくお願いします。 僕の考えている弱点、問題意識としては 1:コレクションやマルチスレッド処理の仕組みはわかるが、実際の使い道がイメージできない。 →実践的なプログラムのサンプルが読みたい。 2:英語直訳のような長文は苦手で頭に入らない。 →なるべく簡潔な日本語で、図を用いて説明してもらえると有難い。 という二点があります。
340 名前:デフォルトの名無しさん [2008/08/20(水) 12:20:37 ] ConcurrentSkipListSetっていう名前のクラスをつかったら プログラムを実行するたびに、セットは同じ要素は一つしか入らないはずなのに、 同じ要素が何個も一つにセットに入ったり、一つだけ入ったりしたんだけど。 なぜですか? TreeSetにしても同じような症状でした。 でもCopyOnWriteArraySetにしたら同じ要素は一つしかありませんでした。 どうしてかおしえてください。
341 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 12:22:49 ] >>340 再現する具体的な例を。
342 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 12:25:53 ] >>341 再現する例はコードが長くなるので出せません。
343 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 12:27:27 ] じゃうp
344 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 12:47:19 ] 秘密のコードなので出せません。
345 名前:デフォルトの名無しさん [2008/08/20(水) 12:49:05 ] >>339 実践的なコードはWebでたくさんあるし、しかも説明つきだから自分の足使ったら?
346 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:00:13 ] >>345 残念ながら、現在、諸事情であまりパソコンをいじれる状態にないのです。 それから、本に線を引いたりして叩き込まないと頭に入らないタイプでして。
347 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:03:01 ] >>345 じゃあ諦めろ
348 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:04:16 ] >>347 キレやすい若者ですね。
349 名前:デフォルトの名無しさん [2008/08/20(水) 13:10:13 ] >>339 結局君は、わがままな教えて君とかわりないが?
350 名前:デフォルトの名無しさん [2008/08/20(水) 13:12:15 ] >>346 平日の昼間っからパソコンいじってて、それも2ちゃんやってるし、嘘はいけないだろ。ニート君は金払って学校いけよw
351 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:19:23 ] 自分が何が欲しいかを具体的にわかっている場合はwebが有効なのですが 初心者の毛が生えたレベルでは必要な知識のイメージが漠然としているため あまり有効ではありません。 マックに行きたい人と、何か食べ物が食べたい人では、どちらが早く目的地にたどり着き 満足する食事を得られるかということを考えてみればわかると思います。 またwebでは目次のようなものがないか、あっても未整理である場合が多く見受けられますし 索引が利用できないのも大きなデメリットでしょう。 さらにはチェックやマークが出来ないため、再度読み直した際の効率が非常に悪い。 もっと言えば、いちいちスクロール、クリックするのが非常にめんどいという欠点もあります。 ちょっとした知識だけを得ればいい中級以上の方とちがい、全体を系統立てて学びたい初心者には 大きなストレスとなるでしょう。 なんでもwebという考え方には同意できません。 >>349 最初からわがままな教えて君のつもりですけど。 >>350 いや、正直言って無職だけどさ、パソコンあるのが実家でね。行ったり来たりなわけ。
352 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:22:06 ] お前は一体プログラムで何を作りたいんだ? まず目的を示してそこに向かう手段のために 本を買うわけだろ?
353 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:23:35 ] public class A implements Serializable { private static final Logger logger = Logger.getLogger(Aclass); } このクラスをシリアライズするとloggerもシリアライズされるでしょうか? loggerをデシリアライズするのはまずいと思うので、transientをつけるべきでしょうか?
354 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:30:33 ] >>352 無職だから就職のために必要な最低限の知識が欲しい。 創りたいものは漠としている。 現実的ではないかもしれないが、最終的にはひきこもり向けの学習支援アプリを創りたい。 理系科目を、直感的に操作して学習できるようなアプリがいい。 セカンドライフ的な要素も付け足してオンライン予備校にしたい。
355 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:32:18 ] >>339 ,345 こういう奴はキモイんだよな。なんつーか虫唾が走るっつーかwwwこういう奴はどうしたらいい?
356 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:35:48 ] >>355 俺向けにチェックやマークができて再読に向いていて、 自分の欠点を把握、補強できるJAVA学習支援アプリ創ったらいいと思うよ! ほら、行った行った。
357 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:59:40 ] >>351 うええ。 今、実家にいて、 目の前のハコで調べられることを、調べないで、 初心者にはムリ!!! とかいってんのか。 それなら、初心者とかじゃなくて、無能ってことじゃね?
358 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:03:11 ] >>357 調べられることは調べてんよ。 でも本のほうが効率いい。 webは再読に向かない。 早く教えろよ。
359 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:06:13 ] >>358 きみにはデザインパターンが不足してると思うから、 Java言語で学ぶデザインパターン入門 を買うといいよ。
360 名前:デフォルトの名無しさん [2008/08/20(水) 14:13:56 ] >>351 君の相手をするのが面倒くさい オジサンは酒飲んで黙ってろ
361 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:16:35 ] >>359 うわー、ありがとうございます。 早速カートに入れてきました。 公式ページも見てきましたが、僕の知らないことばかりで、非常に読むのが楽しみです。
362 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:16:55 ] >>359 それよりも、こいつのような30代ニートにはコミュニケーションスキルの方が先だと思うw
363 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:21:28 ] >>362 まだ二十代だよ。 しゃべったらボロが出るけど、しゃべらないで笑ってるからいい人扱いだぜ。 おまえらマジ役にたたねーから、俺、いつか初心者向けのJAVA学習サイト作るわ。 webはマルチスレッド、書籍はシングルスレッド。 おまえらだっていきなりwebで学んだわけじゃねーくせに。 ペッペッ!
364 名前:デフォルトの名無しさん [2008/08/20(水) 14:22:24 ] Java言語で学ぶデザインパターン入門 とかも知らないところを見ると、PCすら使えない無能な教えて君だな。きもすぎる
365 名前:デフォルトの名無しさん [2008/08/20(水) 14:24:32 ] あれだろ 無職で実家とか言って、「面接20社受けて全部落ちました。Orz」とかの無能ニートじゃねーの?(笑) 素直にJavaを教えてる学校いった方がいいよw
366 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:27:34 ] >>361 >>363 まあ、まずは俺のチンコしゃぶれよ
367 名前:デフォルトの名無しさん [2008/08/20(水) 14:38:41 ] >しゃべったらボロが出るけど、しゃべらないで笑ってるからいい人扱いだぜ。 ん?十分ボロが出てるみたいだけど、どういうこと?
368 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:46:44 ] >>365 ブルジョワプログラマーめが。 大学の奨学金もまだまだあるのに専門行けっかよ。 それに勉強は本読んだほうが早い。 >>366 throws IOExceptionだ。 サンプル集はwebにはあるが書籍はあんまり無いな。 >>367 リアルではしゃべらないで笑ってんだよ。 俺がいると職場がなごやかになるんだぜ。 webだとボロが出るよ。俺はものの考え方がおかしいからな。 今日は>>359 さんみたいな聖人に出会えたからいいや。
369 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:49:08 ] >>363 それ、単なるのけ者だよ。 まともなヤツは快活だからな。
370 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:51:15 ] >>368 本を読めば何とかなるって、 ヤセレばキレイになるって幻想と一緒じゃね?
371 名前:デフォルトの名無しさん [2008/08/20(水) 14:53:22 ] 質問です。 ハードウエアでいうIRQみたいなのをJAVAで実装するにはどうすればいいでしょうか? 複数のI/OコンポーネントとGUIから構成されるソフトを作っているのですが、今の実装だと 全てのクラスに中核モジュールへのレファレンスを持たせて、その内部状態をI/Oイベントがあると *I/Oモジュールから*変更させるように作っているのですが、これだと中核モジュールを変えたときに 広がる波紋が大きそうな気がして心配です。 ですから、各I/Oモジュールが何かのイベントを探知すると中核モジュールにイベントを投げて 中核モジュールのみが自らを操作するようにしたいのですが、その方法がよくわかりません。 (中核モジュールにI/Oモジュールでイベントがあったことを探知させる方法が分かりません) ExceptionをI/OやGUIモジュールから中核モジュールに投げる方法もあるかな、と思ったのですが、 例外は例外用にとっておきたいと思います。 ご教授お願いします。
372 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:55:54 ] 無能力者なのに就職活動もしないで、まったく下地の無いプログラミングに時間を割いている時点で、 バカとしか判定しようが無いな。
373 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 15:01:32 ] >>371 「I/Oコンポーネント」と「I/Oモジュール」、「I/Oイベント」の関係がわからないな。 オブジェクト間のやり取りが変わるような部分を書き換えれば、影響するのは当たり前じゃね? イベントでもメソッドの呼び出しでも変わらないだろ。
374 名前:デフォルトの名無しさん [2008/08/20(水) 15:07:07 ] >>372 一見、大学の奨学金もらって頑張ってるようだけど、就職活動もしないで実家にひきこもってるただの無職ニートだろ。 自尊心が高いだけの単なるナルシストなんじゃね?
375 名前:デフォルトの名無しさん [2008/08/20(水) 15:12:06 ] なんかここでも夏の虫が沸いてるのか?
376 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 15:15:29 ] >>373 よく考えてみたら、確かにまったく変わりませんね。 さらに考えてみたらちょっとデザインを変えるだけでまったく 解決できる問題だということも分かりました。 ありがとうございます。
377 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 15:17:35 ] ゲームばっか遣ってる無職ニートよりはましだと思うけど。
378 名前:デフォルトの名無しさん [2008/08/20(水) 15:20:14 ] >>368 Javaを教えてる講座など申し込んで短気集中か、今の時代ならHPの方も良くまとまってるページが多いですよ。 結局は、字を読むなら本と同じですし。 変に本の方に権威を立てて過信してませんか? MSのC#とかも初心者教育に力を入れてるし、MSDNのWeb一つでまとまってるのでお勧めです!
379 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 15:22:05 ] >>374 モラトリアム黴ってやつだな。
380 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 15:26:52 ] >>372 >>374 ペッペッ! 一時期ちゃんと働いてたっつの。 >>378 そうですねー。 無職ですから、コストパフォーマンスを考えると、どうしても講座をうける気にはなれないんです。 でも、webはお金もかからないですし、もうちょっと柔軟に考えてみるようにします。 ちょくちょく実家に来るようにしますかね。
381 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 15:27:01 ] >>378 間違ったこと書いてる本だって、一杯、出版されてるしな。 入門書なんか、見た目が派手なだけで完成してないサンプルとか、 本当にタイトルだけ奇抜なんてことも多いしな。
382 名前:デフォルトの名無しさん [2008/08/20(水) 15:32:50 ] 大学の奨学金が嘘じゃないってことよりも、学歴が三流以下の大学じゃその辺で寝てるニートとたいしてかわりないだろ。それも「ペッペッ! 」とかキモイし、こいつはリアルでキモイんだろうな
383 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 15:34:33 ] >>380 まずは、俺のチンコしゃぶれよ。
384 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 15:47:41 ] >>382 俺がリアルでキモかろうがキモくなかろうが、どうでもいいことだと思うんだが。 問題は今キモいことだけだろ。 なんでリアルまで心配してくれるんだ。 人間、学歴は関係ないよな。 俺はろくな努力もしないでマーチより上の国立大学に受かったために 無駄にプライドは高いんだが、実力は無いし、社会的なスキルはほとんどない。 でも、プログラマにはそういうやつも割といるって聞いたぜ。 あんたの同僚にもいるだろうよ。 >>383 そういうのは実装してないんだわ。
385 名前:デフォルトの名無しさん [2008/08/20(水) 15:50:15 ] 俺はろくな努力もしないでマーチより上の国立大学に受かっ
386 名前:デフォルトの名無しさん [2008/08/20(水) 15:53:56 ] >>384 きみ、もうキモイから消えてくれないか? 大学受かったかよりも、その大学を卒業(満了)できたのかが社会では重要なんだけど。 それも君のように無能で無職なものにとってそんな肩書きは正しく「豚に真珠」じゃないか?
387 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 15:55:22 ] >>384 Javaなんか勉強するよりC#の方がMSがバックにいるし将来の為にいいよ。 そうだ!大学院目指したらどうだろう?
388 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 16:11:48 ] デザインパターンで雁字搦めにry
389 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 16:16:33 ] また夏厨か。くどいな。
390 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 16:39:58 ] >>387 ありがとうございます。 C#はJAVAの下地があったほうがわかりやすいみたいですね。 もう少しJAVAがわかるようになったら浮気するか考えてみたいと思います。 院は嫌です。僕の大学だけかもしれませんが、院に行った友人の話によると 出世争い、研究室の私物化、ゴマすり、お粗末な博士論文など、あまり魅力的に思えません。 時間も金もないですし。 せっかくアドバイスもらってのに、スイマセン。
391 名前:デフォルトの名無しさん [2008/08/20(水) 16:41:33 ] 思うんだけど、こういう人が次々とWebでJavaの説明ページ作ってんじゃないのか? それなら本なんか頼りにするよりも、間違えやすいところとかコツとかあるわけだし、手っ取り早く習得できると思うんだけど…
392 名前:デフォルトの名無しさん [2008/08/20(水) 16:43:34 ] おまえら、くそJavaなんかやめちまえ!プログラム言語は 総じてマイクロソフトの製品じゃないとだめだ!PHPもPerlもくそ! Javaはもちろん一番くそ! おまえらにお勧めの言語はAccessVBAだ。
393 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 16:47:54 ] プログラミングとかはGPLが最高らしいよ。 Microsoftはコピーライトだから駄目らしい。 あと、楽しみが人間として一番高度らしいから、楽しみでプログラミングしている奴が 最強らしいよ。
394 名前:デフォルトの名無しさん [2008/08/20(水) 16:48:12 ] だいたい、プログラムのすれでも、Javaスレの連中とC#スレの連中を比べると 教養の差がわかる。
395 名前:デフォルトの名無しさん [2008/08/20(水) 16:49:00 ] だから、楽しみでAccessVBAしろ!
396 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 16:49:25 ] >>395 accessVBAはコピーレフトじゃないだろ。
397 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 16:52:25 ] >>390 そういうお前は、ひきこもり兼ニートじゃないの? お前の魅力に関係なく、無職より院生のほうがましw
398 名前:デフォルトの名無しさん [2008/08/20(水) 16:54:00 ] すごいですね!どこの大学卒業したんですか?やっぱり高学歴でお勉強も出来るともてるでしょ♪
399 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 16:54:54 ] 自作板とかPC関連の板ってスルーできないやつ多いよね
400 名前:デフォルトの名無しさん [2008/08/20(水) 17:00:00 ] 教養の差は確かにあるけど、作るプログラムとはあまり関係ないだろ。 ソフトで言えばJavaよりVB(旧VB)の方が使いやすくて便利なのが多いんだけど…
401 名前:デフォルトの名無しさん [2008/08/20(水) 17:15:22 ] マーチ以上の大学で援助金ももらってるとか言う嘘つきって2chによくいるよねw あまりパソコン触れないとかいいつつも、2chだけは欠かさずチャックしてるしww
402 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 17:17:24 ] >>392 何言ってんだよ。鼻くそはオマエ
403 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 17:21:55 ] フォルダを削除するコードは、以下の感じでよろしいでしょうか。 File filelist[] = folder.listFiles(); for (int i = 0; i < filelist.length; i++) { filelist[i].delete(); } folder.delete();
404 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 17:25:04 ] >>400 vbのselectは入力のチェックとか楽チンだった。
405 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 17:29:29 ] 高学歴をうたってはいたが、都合いいことばかり言うカス・ニートと同じだったか・・
406 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 17:33:40 ] >>401 俺がパソコンを触れないのは、パソコンのある実家とそれ以外を行き来してるからだ。 前にさりげなく匂わしてるあるはずだが。 実家に来たら三十秒に一回ペースでにちゃんねるとチェックしているが、チャックはしてない。
407 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 17:38:23 ] >>406 オマエ、12時から張り付いてるぞ。 >>339 >339 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/20(水) 12:11:55
408 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 17:39:04 ] 一生駅と公園の往復でもしてろ
409 名前:デフォルトの名無しさん [2008/08/20(水) 18:13:12 ] >>406 君はオープンソースに触れるとフリーの世界がなんとなく分かるんじゃないか? ジャバもオープンソースだけど、君は英語ぐらい読めるんだろうから、 java.sun.com, java.net辺りから探って無料の英語の教科書を読んでみな。 それと早く自分用のパソコンぐらい買え。
410 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 18:27:47 ] 心理学科とかの文系で、いくら探しても「職がないからジャヴァしてます」ってところじゃないの? なんか自分の学歴を自慢してるようだけど、何の勉強してきたんだろうねw
411 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 18:41:22 ] おまえら何でそんな表面に釣られてうだうだ言ってんのさ? 実家に行かなきゃPC無いような初学者なら 買うのは本じゃなくて、まずPCでしょ?ボロくて良いからさ いくら本読んだところで畳水練だよ?
412 名前:デフォルトの名無しさん [2008/08/20(水) 18:49:45 ] 高学歴に嫉妬する低学歴のレスの集まりですね。わかります。
413 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 18:52:29 ] PropertiesからMapに変換する一番簡単な方法を教えてください
414 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 19:00:07 ] Properties#entrySet()がそのままmapなのだけど、よくやるのはこんな感じ。 TreeMap<Object, Object> map = new TreeMap<Object, Object>(System.getProperties());
415 名前:デフォルトの名無しさん [2008/08/20(水) 19:14:11 ] >>412 そうじゃないのよ。質問なくてヒマだから相手してるだけww
416 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 19:37:15 ] 相手するのが馬鹿っぽいとは気付けないんですね、わかります
417 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 19:47:47 ] >>416 つつけばドタバタ踊るんだから、それなりに面白いよ
418 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 20:16:32 ] >>409 ありがとうございます。早速のぞいてみました。 英語は珍しい単語以外はわかりそうです。 あとは根気があれば・・・って感じですね。 >>417 レスがつくのって楽しいですよね。 レスがつく時のわくわく感に訴えるアプリが作れたらおもしろいですよね。
419 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 21:01:24 ] 別人のようだけど、惨めたらしさは変わんないよな。 ★★ Java の宿題ここで答えます Part 65 ★★ pc11.2ch.net/test/read.cgi/tech/1212085079/830 830 名前:デフォルトの名無しさん[] 投稿日:2008/08/15(金) 08:54:52 javaって難しくない? mild7070.livedoor.biz/
420 名前:デフォルトの名無しさん [2008/08/20(水) 21:34:55 ] そいつは、もともとキモイからニートなんじゃんww
421 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 21:36:56 ] >>419 貼ったから見てやったけど、バイトなんてしちゃだめだろ。 やっぱひきこもって自宅で勉強しないとさあ。 わかってないよね、こいつ。 だいたい、「世の中、裏狙い」って・・・ ITドカタに甘い汁があると思ってんのかよw
422 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 21:55:59 ] >>418 ほら、呼んでるぞ!
423 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 22:05:26 ] っていうか、このスレの常連、やんでるわ。マジで。
424 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 22:07:54 ] >>422 ちゃんとレスしただろ。
425 名前:デフォルトの名無しさん [2008/08/20(水) 22:16:20 ] 次の高級な質問をどうぞ
426 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 22:47:48 ] ぬるぽ
427 名前:デフォルトの名無しさん [2008/08/20(水) 23:03:56 ] ぬるぽ
428 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 23:24:27 ] ぬるぽ
429 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 23:50:12 ] Effective Javaってカス本だと思うんですが 玄人の人はどう思いますか。
430 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:08:38 ] >>424 せっかく時間が有り余ってるんだから、Javaなんてやらずに関数型言語やったほうがいい。 それからOO言語に移行したほうが、プログラミングの筋が良くなる。
431 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:16:08 ] >>430 死滅したツールなんか覚えてもな・・・
432 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:17:38 ] Effective Javaってカス本だと思う方がもっとカス
433 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:20:27 ] カスだと思うのは自由だが、誰にとって?なぜ?を語らぬ限りは まともな返答は返ってこないだろう
434 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:21:32 ] そもそも、java2とか、その前を対象に書かれてるんだっけ?
435 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:22:02 ] >>432 内容はいいんだが、翻訳がカスだから、カス。 中級者は読み飛ばせるから気にならないだろうが、みっちり読みこなしていくと日本語のひどさに苛立つ。 多分、英語版のほうが読みやすい。
436 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:26:55 ] 英語版を読んだとしても、まだ問題がある。 この本は「JAVA哲学」を徒然と書き綴ったものであるため 内容が前後左右にぶれてしまっている印象がある。 また、読み手をあまり意識していないので、話が抽象的になりすぎて 具体的なイメージをつかみにくい。文章がくどい。 玄人の方は読み飛ばしていると思うが 「あれ、ここ、こんなに説明いらなかったんじゃないの?」っていう部分が多かったんじゃないですか? 違いますか?
437 名前:デフォルトの名無しさん [2008/08/21(木) 00:47:53 ] JAVA初心者です。 現在、あるWebアプリケーションの開発を開始しておりますが 下記の箇所で躓いております。 ◆任意のパスワードを生成するメソッド ・英字(大文字、小文字)、記号、数字でランダムの組合せ (使用不可の文字は後からでも修正できる) ・文字数は10文字で固定 上記のように製造したいのですが、知識不足の為 先に進めておりません。 是非皆さんの知恵をお貸し下さい。
438 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:49:37 ] 質問です。 JavaにZIP形式の圧縮ファイル読み込みのStreamクラスがありますが、 パスワードが付いたファイルを読み込むにはどうしたらいいのでしょうかm(__)m
439 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:51:08 ] >>437 何に行き詰まってるのかわかりませんが、乱数使えばいいと思います。
440 名前:デフォルトの名無しさん [2008/08/21(木) 00:55:07 ] >>438 自作するしかありません
441 名前:437 [2008/08/21(木) 01:22:28 ] >>439 さん 返答ありがとうございます。 乱数ですか、調べてみます。 質問に不備がありすみません。 任意のパスワードを生成するメソッドの組み方自体にも躓いております…
442 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 01:31:40 ] >>441 特に強度や安全性を気にしないなら、こんな感じでいいんじゃないか String s = "ABCDEFG............xyz!#$%&'0123456789"; // 使ってよい文字のリスト Random r = new Random(); char[] password = new char[10]; for(int i = 0; i < 10; i++) { password[i] = s.charAt(r.nextInt(s.length()); }
443 名前:437 [2008/08/21(木) 01:47:50 ] >>442 さん ありがとうございます! 参考にさせて頂きます。
444 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 08:22:38 ] 別にいいっちゃいいけど一応暗号用乱数使ったほうがいいよ。
445 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 10:11:16 ] RMIのサーバー側は2つのリモートコールがほぼ同時に発生した場合並列処理になるのでしょうか? それとも1つずつの処理になり、後のものは先の終了を待つまで呼ばれないのでしょうか?
446 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 10:12:22 ] Randomをnewしてそのまま使ってはだめ
447 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 12:56:02 ] 来年からプログラマとして働くことになったのですが JavaってSwingとかのGuiアプリケーションの知識身に付けて実務で使われることってありますか? それは完全に役に立たないって事は無いとは思いますが費用対効果として JSP/サーブレットとかをずっとやってた方が役に立つのかなと疑問に思いました。
448 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 13:09:45 ] >>447 就職先の業務内容次第じゃね? どんな部所に配属されるかにもよる。 分からないなら好きな方やっとけばいいと思う。
449 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 13:13:26 ] >>447 ぶっちゃけ、Javaを使うかどうかもわからないんじゃないの?
450 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 13:35:48 ] >>448-449 すいません、レスありがとうございます。 一応研修期間中にSJC-P取得があるみたいなのでJavaは使うと思われます。 なんか市販のソフトって大概exeで、JavaのGuiアプリって使われてるのか疑問だったのです。 なんかいまいち業界事情がPCショップとかで売られてるソフトのイメージでしか判断出来ない感じあるのですが、 そのレス内容から判断すると一応使われる技術と考えてOKでしょうか。
451 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 14:12:26 ] >>450 一応言っとくけど、exeってのはWindowsで「しか」使えない実行ファイル形式だからね。(wineとかは例外) 携帯アプリならJavaでGUI操作するんじゃね。(場合/キャリア/気分に依存する)
452 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 14:28:19 ] >>445 JavaDoc の「Java RMI の仕様」の「3.2 リモートメソッド呼び出しにおけるスレッドの使用法」 を読む限り、呼び出される側は並列処理になり得ると書いてある。 なのでスレッドセーフになるようにすべきだそうだ。
453 名前:デフォルトの名無しさん [2008/08/21(木) 14:28:47 ] SUNはデスクトップに力を入れる方針だし、これからはSwingでしょ。
454 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 14:41:10 ] >>451 ,453 そっかぁ、exeがwin依存なのは知ってたのですが、 winユーザが大半だから利益追求が絡む企業での実務では使われないものかと思ってました。 WIN32APIとか.NETと比べてJavaの方が整備されてて好きなので swingの需要があるようで良かったです。 残りの一年こっちをやろうと思います、ありがとうございました!
455 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 15:43:16 ] いやswingの需要は無いよ
456 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 15:45:19 ] >>455 お前が使えないだけじゃね?
457 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 15:50:19 ] それよりWindowsプログラマならVisualC++をマスターするほうが よっぽど役に立つよ
458 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 16:00:40 ] >>457 まあ、Javaなら後からでも覚えられるし、VCは使いづらいし覚えなくちゃいけないことも多いからな・・・
459 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 18:43:59 ] ま、俺は、SwingGUIアプリでOracleと接続したやつ作ったけど、 役に立たなかったなあ。なぜかというと、SwingGUIがあまりにももっさりしていたから。だいぶ昔の話だけど。
460 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 18:45:10 ] Swingやるなら、JavaFXとかAppletとか極めれ。東京都の中で必要としているところが10箇所くらいあるから。
461 名前:デフォルトの名無しさん [2008/08/21(木) 18:47:28 ] ___ / ⌒ ⌒\ / (⌒) (⌒) \ でも、個人的にはVCの方がすきなんだお! / ///(__人__)/// \ | u. `Y⌒y'´ | \ ゙ー ′ ,/ /⌒ヽ ー‐ ィヽ / rー'ゝ 〆ヽ /,ノヾ ,> ヾ_ノ,| | ヽ〆 |´ |
462 名前:デフォルトの名無しさん [2008/08/21(木) 18:49:45 ] / ̄ ̄\ / _ノ \ | ( ●)(●) . | (__人__) Awtって必要ないだろ… | ` ⌒´ノ 常識的に考えて… . | } . ヽ } ヽ ノ \ / く \ \ | \ \ \ | |ヽ、二⌒)、 \
463 名前:デフォルトの名無しさん [2008/08/21(木) 19:41:26 ] 複数のスレッドをwaitさせて特定のスレッドのみnotifyで再開させたいのですが ランダムで再開というのを見ると特定のスレッドのみ再開させるというのは不可能なんでしょうか または他のメソッドで上記に似たような事をできないでしょうか まだまだ初心者なので変なことを聞いているようであればすいません ご教授よろしくお願いします
464 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 20:11:38 ] notifyAllで全部のスレッドを起こす 起きたスレッドは、呼ばれたのが自分じゃなかったら、waitで二度寝する
465 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 21:00:50 ] getKeyCodeで0を返すショートカットボタンなどは、 javaからどのボタンが押されたか判定することはできないのでしょうか?
466 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 22:45:22 ] 意味不明。 Webなのか?Swingなのか?
467 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 23:03:20 ] byte a=5; byte b=6; byte c=a+b; これって3行目がc=5+6なら通るのになんでエラーになるんでしょうか? 大きいintの値を小さいbyteに入れようとするから普通は一行目からエラー だけれども、それだと面倒だからコンパイラが親切で自動でキャストしてくれるから 一二行目はエラーにならないみたいな話を本で見たので、それが行われないって話だと思うのですが、 byte+byteはint以下の数値を扱う式はintとして評価される、というルールから intになるので自動でキャストしてくれそうだと思ったのですが。
468 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 23:06:40 ] >>467 byte a=5; byte b=6; byte c; c=a+b; ってやってみたら? 変数の初期化部分で変数は使えないんだと思う。
469 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 23:11:29 ] int -> byteは縮小だから、byte a = 5; が通る方が特殊と考えれ うろ覚えだが、byte a = 999999; とかだとコンパイルエラーにならなかったか?
470 名前:デフォルトの名無しさん [2008/08/21(木) 23:23:54 ] >>468 コンパイルできないけどorz
471 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 23:28:26 ] >>470 二項数値昇格で int型の値に昇格されるはずだから、 >>468 がコンパイルできたら言語仕様に反する。
472 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 23:37:41 ] もう少し考えろよw
473 名前:468 mailto:sage [2008/08/21(木) 23:42:38 ] おれ涙目w byte a=5; byte b=6; byte c; c = (byte)(a+b); でどうだ。 今回はコンパイルも通った(gcjだけど)から、大丈夫だ。
474 名前:デフォルトの名無しさん [2008/08/21(木) 23:43:39 ] コンパイルが通るコードが前提だろ!
475 名前:468 mailto:sage [2008/08/21(木) 23:48:57 ] byte a=5; byte b=6; byte c = (byte)(a+b); なんだ、これでもうまくいくのか。 流石だなJava.
476 名前:467 mailto:sage [2008/08/21(木) 23:50:32 ] レスありがとうございます。 手元の本で関連がありそうな所を漁ると、 (1) 「char(数値を格納した)、short、byteのint以下の範囲の数値を格納する型は、 たとえその型の範囲内の数値でもその式を評価すると全てintになる。」 (例) byte a=1; byte b=2; a+b ←byteの範囲内でもint型 (2) 「short,char,byteのint以下の範囲の数値を格納する型に数値を格納する際、 数値はint型として評価されるが簡略化のためキャストを行わなくても コンパイラが自動的にキャストする」 (例) byte a=1; ←コンパイラが自動で(byte)1としてくれるので有効。 この二つの記述があり、それを踏まえてbyte a=1+2は(2)により有効なのですが、 これが467で書いたように変数で行うとコンパイラの自動キャストが働かないのが謎なのです。 もちろん>>473 の方が書いてくれたように自分で明示的にキャストすれば通るのですが。
477 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 23:56:16 ] >>476 リテラルをキャストするのと、変数をキャストするのは意味が違うんじゃないの?
478 名前:デフォルトの名無しさん [2008/08/21(木) 23:58:42 ] 少しはググれよ
479 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:01:04 ] 自動的に変換が効くのは定数のときのみ java.sun.com/docs/books/jls/third_edition/html/conversions.html#190806
480 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:05:52 ] >>478 これは少しググって見つけるの難しいだろw
481 名前:デフォルトの名無しさん [2008/08/22(金) 00:10:25 ] byte b; b = (byte)200; System.out.print(b); とすると-56と表示されるんですがなぜその値なのでしょうか? それから、longをfloatに型変換するのがなぜ拡大変換なのですか? 二つともビットは同じだと思うんですが・・・。
482 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:14:27 ] >>477 ,479 なるほど、ありがとうございます! 自動的な変換は制限があったのですか、、byteとかはストリームからの読み取りとかでは使ってましたが こういう数値を足したりするのをbyteではあまりやらないので勉強になりました。 お世話になりました。
483 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:15:41 ] >>481 2の補数表現。 long より float の方が表現できる値の範囲が広いから。 あとビット数はfloat32bitでlongが64bit
484 名前:デフォルトの名無しさん [2008/08/22(金) 00:18:48 ] Vista java インストールできない、.java形式で保存できない どうすればいい? 一応インストールはしたつもり
485 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:20:34 ] インストールできないのにインストールしたつもり??
486 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:20:42 ] >>481 intは32ビット。byteが16ビット。入りきらないのはちょんぎっちゃう。 32ケタあった1と0の組み合わせが無理やり16ケタにちょんぎられちゃうわけだから 変な数になっちゃう。
487 名前:デフォルトの名無しさん [2008/08/22(金) 00:29:03 ] 485さん 確実にインストールはできています。しかし コマンドプロンプトで java -versionで バージョン確認はできるのですが、javacは表示されません。
488 名前:デフォルトの名無しさん [2008/08/22(金) 00:31:08 ] いつクビになるかいつもビクビクするよね。
489 名前:482 mailto:sage [2008/08/22(金) 00:33:30 ] お世話になったので寝る前に自分からも。 >>481 Javaではダウンキャストの際に単純に上回るビットを左から削除するだけ。 200は内部的には00000000 00000000 00000000 11001000で byteにキャストすると下8桁の11001000だけが残る。 この値は単純に見ると200だがbyteは符号付きの型なので 一番左の1bitを+-の判定に使う。 そのためこの値は二の補数で表現された-56という数と解釈される。 (全ビットを0と1反転させた後1加えると56になる。) ちなみにbyteの格納範囲は-127〜127。
490 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:36:25 ] sdkを入れてないとか、sdkにパスが通ってないとか
491 名前:デフォルトの名無しさん [2008/08/22(金) 00:41:29 ] set path + Enterで 表示されるのが 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 d:\java>set path Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\In tel\DMIX;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\ Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\ DLLShared\;C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\Common Files\Sony Shared\FeliCaLibrary;C:\Program Files\Edy\Edy Library;C: \Program Files\Java\jre1.6.0_07\bin PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC d:\java>
492 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:48:25 ] C:\Program Files\Java\jdk1.6.0_07\bin というフォルダはないかな?そこにパスを通せ。
493 名前:デフォルトの名無しさん [2008/08/22(金) 00:53:36 ] C:\Program Files\Java\jre1.6.0_07\binというフォルダは確かに存在します。 パスを通すとは?491で表示した、set Pathで表示されたら問題ないはずではないのですか?
494 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:54:37 ] よく目を凝らして jre jdk
495 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:55:34 ] >>493 jreじゃなくてjdk。 jreはJava Runtime Enviroment jdkはJava Development Kit
496 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:59:01 ] みんな優しいな
497 名前:デフォルトの名無しさん [2008/08/22(金) 01:02:17 ] >>494 、>>495 環境変数のJAVA_HOMEをjre → jdkに変更をすればいいですか?
498 名前:デフォルトの名無しさん [2008/08/22(金) 01:17:33 ] それともインストール自体が間違っていたのですか?
499 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 01:17:39 ] >>497 そのjdkのフォルダがあるなら、ね。 なかったら、Java SE Development Kit (通称JDK)をインストールする必要がある。
500 名前:デフォルトの名無しさん [2008/08/22(金) 01:20:51 ] インストールしたのが java.sun.com/javase/ja/6/download.html の JDK 6 Update 7をダウンロードしました。
501 名前:デフォルトの名無しさん [2008/08/22(金) 01:23:08 ] これはFAQだな。 本の初めのほうに書いてある。
502 名前:デフォルトの名無しさん [2008/08/22(金) 01:25:48 ] ちなみに会社だとXPで何も問題なくできるのに、自宅のVistaではかなりてこずっています。
503 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 01:32:37 ] >>500 JavaはC言語とかと違ってコンパイルすると中間コードが生成される。 これは君が普段使うソフトの形式であるexeと違ってコンピュータは直接実行出来ない。 これを動かすのに必要なのがJRE。 Javaで開発されたソフトを使うにはユーザはこれを入れなければならない。 逆に、ユーザは自分の環境に合ったJREを入れることで、exeと違ってMacだろうがLinuxだろうが実行出来る。 JDKっていうのは、君が書いたソースコードを中間コードにするためのもの。 javacってのはこのJDKに含まれるコマンド。
504 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 01:34:00 ] update10がRCなのか。でたら久しぶりにJDKをあげるかな
505 名前:デフォルトの名無しさん [2008/08/22(金) 01:40:03 ] とりあえず自分のインストールあったJavaをすべてアンインストールしたら 無事コンパイルと実行ができました。HelloWorldが表示されました。 JDK 6 Update 3とJDK 6 Update 5がインストールされてたからおかしくなっていたのですかね?
506 名前:デフォルトの名無しさん [2008/08/22(金) 01:56:55 ] w=( x==y? a : x==z? b : c ); Javaだと評価順についてはどういうカッコの付け方になるんでしょうか。
507 名前:437 [2008/08/22(金) 02:15:47 ] 任意の文字列でパスワードを作るメソッド String s = "ABCDEFG............xyz!#$%&'0123456789"; // 使ってよい文字のリスト Random r = new Random(); char[] password = new char[10]; for(int i = 0; i < 10; i++) { password[i] = s.charAt(r.nextInt(s.length()); } 使ってよい文字に条件を付けたいのですが、 英字大文字、英字小文字、数字、記号の各文字種を、 必ず一文字は結果に出せるようにしたいです。 例:An?)9j1aQ0 各文字種ごとに変数を作る事になると思いますが、 その先の記述をどうしたら良いかで悩んでおります。 各文字種を配列に入れてからシャッフルするとか、ですかね? 大変お手数ですが、皆さんの知恵をお借りしたいです。 宜しくお願いいたします。
508 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 02:32:36 ] >>507 1. 最初に各文字種をパスワードに1文字ずつ追加する。 2. 不足文字数分をパスワードに追加する。 3. パスワードをシャッフル。
509 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 07:41:21 ] >>463 CountDownLatch でも使え。
510 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 08:36:55 ] >>480 ぐぐるまでもなく、言語仕様読めば解決。 要するに読んでないだけ。 >>507 それJavaとか関係ない段階の質問だと思うんだけど。
511 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 10:59:22 ] >>510 スレタイ読める? ていうかお前のレスの方がスレ違いなんだよカス
512 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 11:08:32 ] >>511 こんなバカが回答ほしがってるのかw 寝言は>>1 ぐらい読んでから言えクズw
513 名前:デフォルトの名無しさん [2008/08/22(金) 11:14:33 ] いろんなスレで暗号・パスワード聞いている奴いるからそいつだろ。 こういうカスが作ったゴミ暗号なんか、どうせ作ってもすぐ解読されるからほっとけ。
514 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 11:15:47 ] >507 ランダムで生成し、生成した文字列に対して文字種ごとに存在をチェックすればOK 全種類が入ってなければ再生成。 この手の乱数による抽出では出現率の偏りに注意しましょう。 まあ、全種類が必ず入ってる時点である種の偏りがあるわけだが...
515 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 11:16:17 ] >>511 こういう煽りたいだけの奴は放置しろよ
516 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 14:23:11 ] すごく単純な質問ですみません コマンドプロンプトでひらがな入力をするには、どうすればいいのでしょうか
517 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 14:29:07 ] スレ違い
518 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 14:29:11 ] すみません、自己解決しましたOrz 昔は、こうやって変換してたんですね
519 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:52:40 ] そういえばいつからだろうか日本語入力切り替えにalt押さなくなったのは・・・。
520 名前:デフォルトの名無しさん [2008/08/22(金) 17:55:52 ] すみません。相談です。 僕は、人見知りの臆病者なんですが、性欲は人一倍あります。 いつも暇があるとエロいことばかり考えてしまいます。見てはいけないと思いつつも エロサイトをしょっちゅうのぞいてしまいます。余計、エロくなります。。 職場でも町でも、女の人と顔があうと絶対エロいにやけ顔になってしまいます。 職場の人から「うわ〜、○○さん、いやらしい顔してる〜」とかいわれて、しょっちゅう胃がいたくなります。 まじめな顔をしようと思ってもにやけ顔になってしまいます。。 ほんとに苦痛でしょうがないです。どうしたらいいでしょうか?
521 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:57:20 ] >>520 Javaをやればいいと思う。
522 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:57:29 ] switchステートメント使ったプログラム見たとき便利だなぁと思ったんですが 講義中に「これあんまり使わない」みたいな事を言われました。 その先生だけかもしれませんが、なぜでしょうか? 構文が気持ち悪いとか、if使えばいいから とかしか思いつかないんですが。 まさか「これ(お前ら程度のレベルでは)あんまり使わない」って事だったんですかね。
523 名前:520 [2008/08/22(金) 17:59:23 ] いっそのこと女性がこの世からいなくなればいいとさえ思ってしまいます。
524 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 18:03:25 ] はいはい
525 名前:520 [2008/08/22(金) 18:04:15 ] 皆さんは、エロイ事とか想像しないんですか?
526 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 18:04:21 ] >>522 オブジェクト指向を極めればswitchなど使わなくなる
527 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 18:08:06 ] >>522 一般論としては「使わないほうがいい」ということはない。 その言葉の前にいろいろ前提がなかったかな? クラスの説明中ならswitchより多態(ポリモーフィズム)をということかもしれない。
528 名前:520 [2008/08/22(金) 18:08:27 ] このままでは、セクハラの指導をうけなければなりません。それこそ一社中の恥になってしまいます。 また、どうしても見てしまうので、指導を受けたからといって治るものでもありません。 どうしたらいいんでしょうか?
529 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 18:38:24 ] >>522 その先生の意図はわからんけど、switchが適切な場面で必ずswitchを使 うようにしても、ifに比べたら頻度はものすごく少ないと思う。
530 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 19:46:31 ] >>528 悩んだらソープへ行け!って偉い人が言ってた。 >>522 絶対使うなってわけじゃないが、今後分岐が増えていく予定がすこしでもあるなら switch 以外の方法を使ったほうが保守性が高いので。
531 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:04:55 ] えー、switchの方が保守性は高そうだけどな。 あるCの入門書で、continueの説明に「めったに使われない」と書いてあって、 釈然としなかった経験がある。 初学者に教える時に、教師個人の余計な感想は邪魔かも。
532 名前:522 mailto:sage [2008/08/22(金) 20:14:56 ] なるほど。もしかするとその先生の主観が入った意見だったのかもしれません。 また次の講義で質問してみますね。 >>528 朝起きていっぺんぬいてから出勤するっていう人の書き込みをみたことがあります。 その人によると、明鏡止水だそうです。
533 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:18:31 ] >>522 古いバージョンだと、switchの判定式に整数しか使えなかったから その名残では
534 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:54:47 ] >>533 いつのまにか整数以外が 使えるようになったのかと思っちゃったじゃないか。 java.sun.com/docs/books/jls/third_edition/html/statements.html#14.11 ひょっとしてenumのことか?
535 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:08:01 ] Stringのswitchは7で導入予定なんだよな? ほしいー
536 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:34:42 ] >>531 switchを使ってる場合、例えば、 switch (obj.type) { case A: 処理a(obj); break; case B: 処理b(obj); break; } こうなるが、typeの種類が増えると、obj.typeで判定している部分をかたっぱしから直してまわらんといかん。 typeで分類する代わりにクラスで分類し、各処理をオーバーライドしたメソッドで定義すると、そもそもswitch等で分岐する必要がなくなる。 obj.処理(); だけでおk。種類が増えたときも、呼び出し側はほとんど変更する必要がない。 オブジェクト指向言語の最大の利点は、「お前は誰だ」と確認するためのifやswitchを書かなくて済むようになること。
537 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:35:29 ] Stringのswitchが有効なケースってあんまりなくね? enum使えば解決じゃない?
538 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:48:55 ] ジャバザハット
539 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:08:02 ] enum 導入のおかげでたまにはswitchを思い出すようになりました
540 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:16:19 ] 今Windows上で二つのシステムがあって、 C++クライアント −DCOM→ MTS(スレッド管理・トランザクション管理) → SQLServer or MSMQ と C#クライアント -.NETリモーティング→ 独自サーバ → SQLServer or MSMQ というシステムがあるのですが、これをクライアント以外Javaに置き換えたいです。 どのようなアプリケーションが代用になるのでしょうか?また、クライアントだけ Windows上のC++ or C#とした場合、サーバのJavaとの接続はできるのでしょうか?
541 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:25:09 ] String の switch は main() に渡されたオプションの解析とかに使えそう
542 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:45:34 ] そうそう。そんな感じで使いたい。 それってやるとしたらequalsの展開になるのかな? それとも個数によっちゃTreeMapかなんかで実装するのかな わくわくだわー
543 名前:481 [2008/08/22(金) 23:05:51 ] 返事遅くなってすみません。 >>483 >>486 >>489 みなさん、ありがとうございました。
544 名前:デフォルトの名無しさん [2008/08/22(金) 23:24:38 ] 皆さんに質問です。 ここにいらっしゃるのは殆どがJAVAをある程度学ばれている方だと思いますが、 これまで培ってきたJAVA関連の知識や技術が3日後には全て消え失せるとします。 もう一度初めから学び直さなければなりません。 あなたに与えられた期間は半年です。 半年経てばJAVAプログラマの新入社員として働いていかなければなりません。 ただ、今のあなたが3日後のあなたに一つだけ残せるものがあります。 それは今のあなたの考えるJAVA学習の方法論です。 どう勉強するべきかどの本で勉強するべきか・・・。 その半年間の予定表を立てて下さい。 では私はもうこれで寝ますので3日後くらいまでにはご回答をお願いします。
545 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:31:25 ] 言語仕様を確認して、ライブラリリファレンスを確認して、実際にモノを作ってみる 半年もあればだいたい大丈夫だろ やる気さえあれば ← これ1番重要
546 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:45:57 ] Javaなんて簡単すぎて半年もいらん
547 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:50:22 ] オブジェクト指向の方法論とかの知識も 全く無い状況からだとすれば、仕様を覚えてから使えるようになるまでには ある程度かかるだろうとは思う
548 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:50:31 ] 簡単すぎて半年もいらん(笑)
549 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:52:33 ] >>544 まあ、数年放置してるといつのまにかバージョンが上がったり、 使ってたメソッドが推奨されないメソッドに認定されてたりするから、 似たような状況はたまにあるね。 勉強?要らない要らない。 せっかく忘れたんだから他の言語勉強する。
550 名前:デフォルトの名無しさん [2008/08/23(土) 01:11:44 ] 今日は大漁だwww(でも雑魚ばっかw)
551 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 01:40:12 ] >>544 Java関連の知識って、どこまでよ? フレームワーク?イディオム?ライブラリの知識?言語仕様? それともオブジェクト指向って何?って所まで消えるのか? 変数って何ですか?、とか、インターネットってどういう仕組み?とか コンピュータって何ですか?まで行っちゃうとか そこが分からないと答えようがない
552 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 01:53:34 ] コンピュータって何ですか?まで行っちゃったら 多分この業界で仕事しようと思わないとおもわれ
553 名前:デフォルトの名無しさん [2008/08/23(土) 03:36:09 ] 544は 魔法使い
554 名前:540 mailto:sage [2008/08/23(土) 05:58:25 ] すみません。 ここには下流工程の人しかいないですよね 板違いでした
555 名前:デフォルトの名無しさん [2008/08/23(土) 07:15:48 ] はいそうです。どうせどこで聞いても答えてもらえないでしょうが もうここには決して来ないで下さい。
556 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 07:24:31 ] >>540 「付けたし付けたしで今まで頑張ってました」って感じだなw
557 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 07:29:59 ] スルー白
558 名前:540 mailto:sage [2008/08/23(土) 07:31:49 ] 答えられないなら黙ってろって 数十万の顧客抱えてるから今すぐJavaに移行なんて無理だから、試してみただけだしw
559 名前:デフォルトの名無しさん [2008/08/23(土) 07:39:53 ] SAXを用いてXML文書から文字列を取得する勉強をしています。 イベントハンドラで "<" を含む文字列を取得しようとしているのですが "<" がタグ開始の文字列として認識されてしまいエラーが発生してしまいます。 どなたか解決法をご存知でしたらご教授下さい。お願いします。
560 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 07:42:38 ] >>558 では、顧問料いくら出せるんですか?
561 名前:デフォルトの名無しさん [2008/08/23(土) 07:44:48 ] >>558 もう君の自慢話しはいいからwwさっさと消えてくれないか?
562 名前:デフォルトの名無しさん [2008/08/23(土) 07:49:11 ] >Windows上のC++ or C#とした場合、サーバのJavaとの接続はできるのでしょうか? 質問が抽象的すぎてイマイチ分かり辛いんですけど、WindowsならMS製品で固めた方がいいですよ。
563 名前:デフォルトの名無しさん [2008/08/23(土) 08:05:37 ] >>540みたいな生意気な奴は相手にすんなよ。その辺の雑魚と大して変わらないからw
564 名前:デフォルトの名無しさん [2008/08/23(土) 08:19:13 ] 540、血圧上がってますよ? w書いててわらってもうたw
565 名前:564 [2008/08/23(土) 08:21:57 ] >>540 みてみたけどたいしたことじゃないなw HTTPも知らないのか540はw
566 名前:540 mailto:sage [2008/08/23(土) 08:25:46 ] う〜ん、まじめにmixiとかAmazonとかじゃなくて、数秒遅れたら致命傷になるような システム作ってる奴いるか?今のシステムに不満はないんだけど、OSがWindowsって ところだけは、顧客は拒否反応示すからさ。 ロジックは簡単だから、Javaはよくしらないけど、定番のアプリケーションサーバ とデータベースとMQでシステムをリプレイス出来たら、そういう顧客にも有効かと 思ってさ。
567 名前:540 mailto:sage [2008/08/23(土) 08:26:44 ] >>565 Webサービスだよね?あれだと遅すぎて駄目なんだわ
568 名前:デフォルトの名無しさん [2008/08/23(土) 08:27:29 ] 彼は病院にお帰りなったそうですOrrz
569 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 08:41:53 ] >>566 それならwindows一筋で頑張ってください
570 名前:970 [2008/08/23(土) 08:43:59 ] >>567 そしたらプロトコルなに使ってるの?
571 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 08:48:27 ] パフォーマンスを重視したいのか改造コストを低く抑えたいのかわからんな。 クライアントはどのくらいいじっていいのよ? いっそDCOM−CORBAブリッジでも使うかい。
572 名前:540 mailto:sage [2008/08/23(土) 08:51:26 ] >>570 登りは.NetRemotingで下り(配信)はTCP/UDP直だよ 昔はDCOMだったけど それにしても、Webサービスは遅すぎる。発注だそうと思ったときにはもう 相場変わってるっちゅうの LANで計測しても、独自プロトコルの10倍以上通信してるからな
573 名前:970 [2008/08/23(土) 08:52:25 ] ちょっと見てみたけどクライアントとjavaで通信できそうな気が。
574 名前:デフォルトの名無しさん [2008/08/23(土) 08:53:01 ] 全部TCP/UDPにしたらいいと思うよ。
575 名前:970 [2008/08/23(土) 08:54:29 ] 独自プロトコルって、危ない気がするけどいいの? なんか大切なデータ送ってそうだけど。
576 名前:540 mailto:sage [2008/08/23(土) 08:54:43 ] >>571 ありがとうございます。 開発コストは考えてません。営業がそれなりの金額で売ってきてくれるので。 重視してるのは、クライアント(C#)-サーバ(Javaサーブレット)で今までの パフォーマンスが出るのかですね。 で、それにともなってJavaの混沌としているアプリケーションサーバとデータベース とその他諸々からどれを選択していいのかと
577 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:02:00 ] クライアントサーバー間はLAN/WANの類なのかインターネットなのか、 インターネットだとCOM+やCORBAやRMI(IIOP)はプロトコル的にきつい気もするが。
578 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:23:32 ] HTTPが遅いってどゆこと、通信って一往復だよね? 毎回コネクション張るのが問題?
579 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:27:17 ] >>544 マ板でやれ
580 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:55:16 ] そらHTTP自体がオーバーヘッド比較的でかいし、 その上でWebサービスとか使えば遅いわな。
581 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:13:10 ] >>580 うーん。わかんね。ヘッダーとかがあるからってこと? 自分でTCPで通信するのとそんなに大差あるのかな? HTTPサーバーが遅いってこと? それなら自分で作ったHTTPサーバーが例えばIISのパフォーマンスを 超えられるの?
582 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:19:30 ] >>559 そもそもXML文書のタグ以外に<>を含めてはダメだろ。 &lt;か&gt;に書き換えるべきじゃね。
583 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:25:07 ] >>566 >数秒遅れたら致命傷 まず初めに専用回線を引くべきじゃね? OS関係無いと思うし、そんな性能を求められるところってほいほいリプレイスしない方がいいと思う。
584 名前:559 [2008/08/23(土) 10:42:44 ] >>582 解決できました。ありがとうございます。助かりました。
585 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:43:26 ] 540はろくに知識がないため大失敗する悪寒
586 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:06:29 ] >>585 多分、実際は無職なので問題ない。
587 名前:デフォルトの名無しさん [2008/08/23(土) 12:03:30 ] OutOfMemoryを捕まえたいんですけど、 GUIの部品使うと別スレッドが色々たってるみたいで try〜catch で拾えないんですけど、 どうにもならないんですかね?
588 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 12:57:48 ] >>587 Thread#setDefaultUncaughtExceptionHandler Thread#setUncaughtExceptionHandler で捕まえるとか。
589 名前:587 mailto:sage [2008/08/23(土) 13:50:14 ] おお、こういうのあるんですね。 ありがとうございました。
590 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 14:28:44 ] CLDCにもThread#setDefaultUncaughtExceptionHandler Thread#setUncaughtExceptionHandler がほしいぜ。
591 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 14:33:41 ] javaの暗号・復号化でJCEなるものがあることがわかったのですが、 ファイルを読み込みバイト配列で一括変換しているせいかメモリ不足に陥ってしまいます。 元ファイルをInputStreamに出力ファイルをOutputStreamにと ダイレクトに暗号化する方法ってないのでしょうか。 8kbyteといった固定単位でファイルを読み込み、暗号化して暗号化後のサイズとデータを書き込みことで、メモリ不足を引き起こさず暗号・復号化は出来そうですが・・
592 名前:591 mailto:sage [2008/08/23(土) 14:54:36 ] 自己解決しました FileInputStreamにCipherInputStreamをラップしたら出来ました。 m(__)m
593 名前:デフォルトの名無しさん [2008/08/23(土) 16:06:43 ] だから>>540 はアホだって言っておいただろ。見て分からなかったんなら、お前ら鈍いな。 TCP/UDPってなんだよwボロでてんだよww それもTCP遅いって、確かにTCPとUDPを上回る通信はあるけど、 こいつはMS一筋でよっぽど世の中知らない奴だと思わない? お前はもう来るな
594 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 16:34:06 ] うさんくさい奴だったな
595 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 16:40:47 ] WebアプリやTCPを使って発注すると、(相場が変わるとか何とかの理由で)遅いって、どういう業界というかどの職種でそんなことが起こるんですか?
596 名前:デフォルトの名無しさん [2008/08/23(土) 17:07:43 ] あ でも最近の証券会社やFXの会社の発注少し遅いよね
597 名前:デフォルトの名無しさん [2008/08/23(土) 18:33:25 ] そんなコンマ1秒を争う世界とか限界に挑戦するような世界はwindowsでやってくれw
598 名前:デフォルトの名無しさん [2008/08/23(土) 18:52:28 ] pc11.2ch.net/test/read.cgi/tech/1150286189/l50 現世代Java。 話題としてこっちじゃないか?
599 名前:デフォルトの名無しさん [2008/08/23(土) 18:59:29 ] CABOSをダウンロードしたのですが開いたら 「JAVAソフトウェアがロードできません」と出ました JAVAのサイトに行ってダウンロードすると「JAVAのバージョン確認」と出るだけで 何も状況が変わりません 誰かいいアドバイスをください
600 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:06:00 ] tmp == "(" tmp.charAt(0)=="(".charAt(0) tmp.length()=="(".length() が上からfalse.true.trueとなるんだがバグかなんか?
601 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:08:38 ] ん? 正しい動作だわ、そりゃ 詳しく知りたきゃ、equalsでググれ
602 名前:デフォルトの名無しさん [2008/08/23(土) 19:08:49 ] 激安ノートパソコンでJAVA勉強できますか?
603 名前:599 [2008/08/23(土) 19:13:45 ] HELP
604 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:18:06 ] 今年最大の夏を感じるな
605 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:18:21 ] 520=599
606 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:19:45 ] >>602 JDKの動作要件を満たしていればできる。
607 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:20:24 ] >>602 高性能PCじゃないとeclipse動かないよ
608 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:50:59 ] >>600 仕事で1年間Javaを使って開発してる奴にこの前 if( strHoge == "true" ) で 同じにならないんだけど って質問来た時はマジで、はぁぁお前1年間Java使っといてそれはないだろう!って思ったよ。 それ以降、漏れはそいつのこなす仕事は何一つ信用しなくなったよ・・orz 1年間Java使ってましたっていう自己申告じゃなく、ホントに1年間開発してたんだよ・・どんなソース書いていたんだか・・
609 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 20:29:19 ] HTTPはパフォーマンス(応答性)優先のプロトコルじゃないからな。 あまり細かいこと考えずに作ると、 プロキシの検索が走ったり Expect-100で一往復待ったり 設定によってはKeepAlive使わずに毎回接続したり その上でWebサービスとなると SOAPエンコードでかなりサイズが膨れ上がり XMLのシリアライズ、デシリアライズ等々割と重い処理が入る
610 名前:デフォルトの名無しさん [2008/08/23(土) 21:07:22 ] あなたのそれは、そんなに凄いアプリ(システム)なんですか?
611 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:11:16 ] もう相手にするなよ。どうせ何も作れずに知ったか知識並べてるようなニーとだし、そういうやつは2chによくいるだろw 最近の夏だと大ほらふきが出没しているから、たぶんそいつだろうw それと嘘はだめだ。一生信用されない。
612 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:15:10 ] >>580 =>>609 だが 俺は単に横槍っていうかHTTPとWebサービスの一般的な話してるだけで 元のやつととは全然関係ないんだが、それでもこれは俺が突っ込まれてるのか??
613 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:23:26 ] それじゃ、そんなに凄いシステムなんですか?
614 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:30:32 ] 意味が分かりません><
615 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:47:33 ] >>551 コンピュータって何ですかレベルだとしたらどうでしょう? 無理でしょうか? パソコンを使って遊ぶことが出来る(YouTube見たり、共有ソフトでファイル集めたり、 集めたファイルを扱ったり・・・でもフォルダなら分るけどディレクトリだと難しく感じるレベル)けど、 仕組みはさっぱり分らないというレベル。 HTTPってそう言えば何の略?みたいなレベルだとして。 情報系の大学の学部を出てるわけでも、専門学校を出てるわけでもなく、 普通の私立の文科系を卒業してる程度の人間だと仮定すると絶望的???
616 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:07:09 ] 「JAVAプログラマの新入社員」程度なら無理じゃないでしょ ゼロから初めて半年でも
617 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:11:11 ] >>615 まあ、あくまで一例だが、 知っている情報系の中小企業だと、Excelしか使ったことの無い文系の新卒でも、3ヶ月で基本情報処理技術者が取れるように訓練される。 無論、当人の努力も大事だし、実際の試験で落第したなら、合格するまで昇給をストップされる。
618 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:44:48 ] IBMへ行った先輩の話だと、文系も理系もなく新人研修でしごかれるらしいな C言語は2日で終わってC++を1週間、Java、Web、DBと容赦なく進むスケジュール表を事前に渡されるので 研修開始までに独習して一通りマスターしておくのが普通らしいな
619 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:45:31 ] String#equalsはjavaで真っ先に覚える部類だろ。 基本情報処理技術者って落ちる奴居るのか?
620 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:51:41 ] リフレクションに関する質問です。 interface Hoge {} class HogeImpl implements Hoge{} 現在Hoge.classのみがあって(Hogeのインスタンスは存在しない)、HogeImplがHogeを継承しているかどうかを調べる方法はあるのでしょうか? Hogeのインスタンスが存在しているのであれば Hoge.class.isInstance(hogeImplInstance); で確認できるのですが、Classのみでの確認手段が分かりませんでした。 newInstanceでインスタンス作って確認するしかないのでしょうか?
621 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:00:00 ] 今ちょっと見ただけだけどisAssignableFromとかあるじゃん
622 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:00:06 ] HogeImpl.class.getInterfaces てかClassのJavaDoc読んだ? あと、それを確認しなければならない状態があるのかよ。 Hoge hoge = new HogeImpl(); と書けばコンパイルエラーになるだろ、implしてなければ
623 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:00:34 ] >>620 Class#isAssignableFrom(Class)
624 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:06:25 ] >>619 統計発表されてるだろ
625 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:11:03 ] あったんですね。迅速な回答ありがとうございます。 >>622 一通り読んだつもりだったのですが読み落としてました。 本当に申し訳ないです。
626 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:05:43 ] >>618 C言語2日って、それならやらない方がマシじゃねかw こんな連中しかいないからWacsなんていう糞フレームワークしか作れないんだな(ワラ
627 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:14:21 ] >C言語は2日で終わってC++を1週間 どう考えても無謀だしな。
628 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:22:57 ] いいかげん嘘つきの相手なんかすん
629 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 01:50:13 ] 以下のURLのような、図をプログラムで解析するようなプログラミングの問題で www.i.u-tokyo.ac.jp/edu/course/ci/pdf/2007_8_ci_practice_all.pdf (沢山ある、それぞれの頂点が辺で結ばれていたり、いなかったりする) 私は、2次元配列を用いて、cell[結合元の番号][結合先の番号]=0or1のようにして表して解こうとしたのですが、 なかなかうまくいきません。このような問題の本流というか、良いやり方はどのようなものでしょうか? また、上記urlの問題の最後の方にある頂点から別の頂点への距離を求めるものがあるのですが、 私には遺伝的アルゴリズムを用いた手法しか思い浮かびません。しかし、大学院入試のプログラミング問題程度で そのようなものが要求されるのは考えにくいので、私が何か見落としている気がします。 問題の解釈すら違うかもしれません。どのようなレスでもいいので、お願い致します。
630 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 02:18:34 ] >>629 すまん。 まったくわからん。 ただ、おれにわかるのはスレ違いということくらい。
631 名前:デフォルトの名無しさん [2008/08/24(日) 02:32:43 ] 良いやり方というのは特にありません たぶんお勉強にこだわりすぎなんじゃないですか?
632 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 02:36:29 ] >>629 Q2-1はつながってる先を順に調べて、ツリー状に調べてゆくってことかな? Q4は、 辺を追加していく順序に就いて悩んでいるのだろうけど、 冒頭に、「N は変えるが同じ頂点対の並びを利用する. その場合, N 番目以降の頂点対は無視する.」ってあるから、 G3は単にファイル上の登場順にN番目までの辺で出来たグラフ。 残りもその順で追加して行くだけでは?
633 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 03:21:50 ] IBM Javaで暗号化してSun Javaで復号化すると IBM Javaのクラスが見つかりませんとエラーが発生しました。 java.lang.ClassNotFoundException: com.ibm.crypto.provider.DESKey 暗号化キーは、シリアライズ化してあったものをObjectInputStreamでよみこもうとした時に上記エラーが発生しました。 回避策わかる方いますでしょうかm(__)m
634 名前:633 mailto:sage [2008/08/24(日) 03:58:06 ] Objectをシリアライズせず、キーのデータのみ受け渡しすれば 異なるVM間で復号化できましたm(__)m
635 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 04:01:35 ] VM実装依存のクラスつかってりゃClassNotFoundExceptionでるだろ。馬鹿か?
636 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 11:27:14 ] RMIのリモートオブジェクトに対して、new Socket().isConnected()に当たるようなコネクションの確認はできるでしょうか?
637 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 17:21:29 ] javac <ファイル名>.java は出来たのですが、 その次にファイルを実行出来ません。 どうすればいいでしょうか?
638 名前:デフォルトの名無しさん [2008/08/24(日) 17:41:14 ] wisdom.sakura.ne.jp/ ここでどぞ
639 名前:デフォルトの名無しさん [2008/08/24(日) 18:53:41 ] JavaEEのパフォーマンスチューニングの相談もここでOKですか?
640 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 19:17:26 ] 同じバージョンのJREをつんだ違うOSで、同じbeanをシリアライズしたバイトデータの中身はまったく同じなのでしょうか?
641 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 19:25:32 ] バージョン違えばそりゃ違うんじゃね?
642 名前:デフォルトの名無しさん [2008/08/24(日) 23:39:58 ] Javaの勉強を最近始めた超初心者です。 勉強してる中でパッケージの内容からどうしても先に勧めません。 あるプログラムの頭にpackage パッケージ名;と打ち込んだのですが、 "予想されたパッケージと一致しません"と言われうまく起動してくれません。 どういった名前を付ければ予想されたパッケージになるのでしょうか。。 教えてください。。
643 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 00:15:44 ] >>642 パッケージが「package foo;」だったら、そのソースファイルはfooディ レクトリの中にある必要がある、のが原因かもしれない。
644 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 03:22:20 ] 画像をFlowLayoutパネルに流したいのですが FlowPanel.add(Image)は対応していないのでImageIconを作って画像を入れようと色々やっているのですが上手く行きません。 Toolkit tk = Toolkit.getDefaultToolkit(); Image img = tk.getImage("C:\\~~.jpg"); ImageIcon icon = new ImageIcon(img); JLabel label = new JLabel(icon); こんな感じでラベルをつくってレイアウトに流し込んでいるのですが・・・
645 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 04:17:07 ] >>644 ImageIconには画像ファイルのパスを引数にとるコンストラクタがあるから ファイルから画像を読み込んでJLabelのアイコンに設定するならImageを作らなくても JLabel label = new JLabel(new ImageIcon("C:\\~~.jpg")); でいけるよ
646 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:07:06 ] もう頭パニック助けて・・・ 下記のコードでdをcのListに値を入れるのってどうやればいいんですか? import java.util.*; public class bbb{ public static void main(String [] args){ List <aaa> c = null; aaa d = null; d.setNo(1); d.setName("test"); c.add(d); System.out.println(c.get(0).getNo()); System.out.println(c.get(0).getName()); } } class aaa { int no; String name; public aaa(){ } public int getNo(){ return no;} public void setNo(int newNo){no = newNo;} public String getName(){return name;} public void setName(String newName){ name = newName;} }
647 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:14:35 ] >>646 List <aaa> c = new ArrayList<aaa>(); aaa d = new aaa();
648 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:28:06 ] >>647 new 試したけどいまいち書き方がわかりませんでした。 ありがとうございました。
649 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:38:27 ] 現在Javaで動画を扱おうと試行錯誤していますが、いまいちできるかどうかもわからない状態です。 機能的には、デスクトップをプログラムでキャプチャしてそのままAVIなどの動画に変換して出力したいのですが、 Java言語ではどのようにすれば可能なんでしょうか?
650 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:40:49 ] >>649 Vectorから適当なスクリーンキャプチャをダウンロード・インストールして、 Javaサイドから定期的に呼び出す。 というのではいけませんか?
651 名前:デフォルトの名無しさん [2008/08/25(月) 16:45:13 ] JAIについて質問です。 JAI入門書のサンプルプログラムをコンパイルすると下のようなエラーが出ます。 パッケージ javax.media.jai は存在しません。 JAIもJDKのPathの設定のようなものがいるのでしょうか?
652 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:47:47 ] >>651 要るんだと思いますよ。
653 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 17:28:36 ] >>651 ですが どう設定すればいいか教えてください。おねがいします
654 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 17:44:14 ] >>653 入門書なら設定の仕方とかは書いていると思いますよ。 もし書いていないならその本は捨てても構わないと思いますよ。
655 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 19:36:02 ] オプションパッケージはインスコするかバンドルするかってちゃんとjavadocに書いてあるだろうがjavadoc嫁。 それにオプションパッケージのreadmeにも書いてある。 JMFのインストーラ版なら決め打ちで勝手にパス通すが。
656 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 22:04:55 ] 一週間くらい前に、デザインパターン入門の本を教えてくれた人、マジありがとうございます。 いい本ですね。
657 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 22:24:13 ] どのあたりがいい本なのか書かないと
658 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 22:31:38 ] そもそもどの本だ?
659 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 22:32:54 ] 文章が読みやすい 例が簡潔でわかりやすい 細かいフォローもばっちり デザインパターンをそれぞれ関係づけてあって覚えやすい 基礎から実践に近づくために必要な知識が効率的に吸収できます。
660 名前:デフォルトの名無しさん [2008/08/25(月) 22:42:54 ] 教えてくれた人にだけわかればいいから質問してくんなよ。ケッ。
661 名前:デフォルトの名無しさん [2008/08/26(火) 00:16:44 ] その本を超えるようなホームページを作ってください!
662 名前:泣きそうです mailto:sage [2008/08/26(火) 13:35:45 ] 下記のXMLで、key1とval1を出力したいのですが、 取得の仕方がイマイチ分かりません。 いろいろ試したのですが、コンパイルとかエラーになって・・・ どなたか、取得の仕方を教えて下さい。 -----------[testXml.xml]------------------------------------ <?xml version="1.0" encoding="UTF-8"?> <config> <ptn1_data1> <element key="a1" val="a01"/> <element key="a2" val="a02"/> </ptn1_data1> <ptn2_data2> <element key="x1" val="x01"/> <element key="x2" val="x02"/> </ptn2_data2> </config> --------------------------------------------------------
663 名前:泣きそう mailto:sage [2008/08/26(火) 13:47:24 ] import java.io.*; import javax.xml.parsers.*; import org.w3c.dom.*; class testXml { public static void main(String args[]) throws Exception { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new FileInputStream("testXml.xml")); Element root = doc.getDocumentElement(); walk(root); }
664 名前:泣きそう mailto:sage [2008/08/26(火) 13:49:43 ] public static void walk(Node n) { for(Node ch = n.getFirstChild(); ch != null; ch = ch.getNextSibling()){ if(ch.getNodeType() == Node.ELEMENT_NODE){ System.out.println("ELEMENT_NODE:"+ch.getNodeName()); walk(ch); } else if(ch.getNodeType() == Node.TEXT_NODE && ch.getNodeValue().trim().length() != 0){ System.out.println(" TEXT_NODE:"+ch.getNodeValue()); } else { System.out.println( ・・・・key1を出力したいです); System.out.println( ・・・・valを出力したいです); } } } }
665 名前:泣きそう mailto:sage [2008/08/26(火) 13:50:39 ] 長く書いてしまってごめんなさい。 けど、どなたか教えて下さい。 お願いします
666 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 14:18:49 ] >>662 Document doc = db.parse(in); NodeList l = doc.getElementsByTagName("element"); if (null == l) { System.out.println("タグ element はありません。"); } else { System.out.printf("タグ element は %d 個あります。\n", l.getLength()); for (int i = 0; i < l.getLength(); ++i) { NamedNodeMap n = l.item(i).getAttributes(); System.out.printf("\t[key=%s],[val=%s]\n" , n.getNamedItem("key").getNodeValue() , n.getNamedItem("val").getNodeValue()); } }
667 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 14:43:34 ] それ以前にxmlの設計が腐ってる。 xmlスレ行って出直して来い。
668 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 15:30:04 ] >662 コンパイルエラー ttp://javafaq.jp/S172.html
669 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 00:15:27 ] >>662 普通はこんなかんじ。 indexはいらんかも。 <config> <ptn_data index="1"> 略 </ptn_data> <ptn_data index="2"> 略 </ptn_data> </config>
670 名前:デフォルトの名無しさん [2008/08/27(水) 07:37:12 ] すいませんが教えてください。 自分で作った実行ファイルがあります(文字コードMS932)→Test.class これをbatファイル(文字コードEUC-JP)で実行します。 batファイルの中身は java Test 日本語パラメータ で、batファイル自体は文字コードEUC-JPです。 この場合引数で受け取った"日本語パラメータ"という文字列を プログラム内ではMS932として、文字化けせず"日本語パラメータ"として処理を行いたいのですが どうすればいいでしょうか? まず、batファイルをダンプして"日本語パラメータ"という文字列を見た場合と args[0]をarg[0].getBytes()してダンプ出力した結果が違うのです。 ためしにarg[0].getBytes("EUC-JP")してもこれもまた上とはまた違った結果になります。 もう、引数で渡されてきた時点でデータが壊れているのでしょうか?
671 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 07:59:53 ] >>670 コマンドラインはプラットフォームのデフォルトエンコーディングで扱 われると思う。batファイルとか書いてあるってことはWindowsかね。で あれば、コマンドラインはms932で書かないと化ける。 ところで「実行ファイルの文字コードがms932」ってどういう意味?
672 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 08:02:34 ] >>670 echo 日本語パラメータ だけの内容のbatファイルをEUC-JPで作成して試してみ? たぶん引数の前、コマンドラインシェルが解釈した段階で化けてると思うぞ。
673 名前:デフォルトの名無しさん [2008/08/27(水) 11:33:28 ] 一旦バイトコードに変換してから処理したいんですが 文字化けを起こして出来ません。 PrintWriter out = response.getWriter(); //String val = request.getParameter("kanji"); //byte[] byteData = val.getBytes("Shift_JIS"); //val = new String(byteData, "Shift_JIS"); out.print(val); コメントアウトを外すと文字化けを起こします。 表示先は文字コードはShift_JISであっている筈なんですが・・・ 単純に両方Shift_JISをピンポイントで指定してるのに なぜ化けるのでしょうか?バイトコードへ変換して戻す処理の中で何かデータの欠損でも起きているのでしょうか?
674 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:30:06 ] SJIS外の文字は入ってないの?
675 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:43:56 ] >673 1. response の PrintWriterオブジェクトの文字コードは何なのかしら? 2. request は正しい文字コードで入力を読み取ってるかしら? 3. 674 のように Shift_JIS外の文字は入ってないかしら? 4. response で出力した先の文字コードは 1 と同じかしら?
676 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:35:15 ] 行き詰まっているので質問させて下さい。 データベースに日付を管理するresettime・・・というテーブルがあります。 そのテーブルにはtimeというdate型のカラムがあり2008-08-27という値が格納されています。 んでソースです。 public void checkDate() { Date now = new Date();//今日の日付 String sqlIndex = "select * from resettime"; try { db.connect();//データベースに接続する ResultSet rs = db.executeQuery(sqlIndex);//Statementのと同じ機能 rs.next(); if(now.after(rs.getDate("time")//今日の日付のはず)) { //※問題の箇所 String[] sql = new String[2]; sql[0] = "delete from popularmovieinfunnymoviechannel"; sql[1] = "update resettimeinfunnymoviechannel set time = '"+now+"'"; db.addBatch(sql); db.executeBatch();//Statementのと同じ機能 } } catch(SQLException e) { } finally { db.disConnect();//データベースを切断する } } 問題の箇所がtrueとなってしまい上手くいきません。バグっぽい箇所が在ればご教授下さい jreは6_7です。
677 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:38:43 ] nowは今日の日付に加えて現在の時刻も入ってるはず そのDBのdate型が時刻を格納してないなら00:00:00になるはず 今日の現在時刻と今日の00:00:00を比較したらどうなるかというと・・・
678 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:43:11 ] RMiの呼ばれる実装クラスにて、要求先のIPアドレスを取得する方法はあるでしょうか? 引数で情報を渡すはなしでお願いします。
679 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:51:05 ] >>673 request.setCharacterEncodingでSHIFT_JISを有効にする。 あと、Tomcat5.0以降のバージョンでGetの処理すると、 デフォルトの動作でsetCharacterEncodingが無効になるから注意。 server.xmlの変更で対処して。そのあたりはググれば出てくる。
680 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:55:34 ] >>677 nowをjava.sql.Date()のインスタンスにしてもtrueになるんですけど・・・ jre変えてみまッス。
681 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:05:40 ] >>680 java.sql.Dateも一緒 Javadoc見てみ、時間をミリ秒で表すって書いてある java.sun.com/javase/ja/6/docs/ja/api/java/sql/Date.html
682 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:20:08 ] 結局データーベースから取ったDateとDateインスタンスは比較しても無駄って事ですか?
683 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:24:51 ] >>682 java より先に小学生レベルの時刻の概念から学んだ方がいい
684 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:28:50 ] >683 あいそうします。ありがとうございました。
685 名前:デフォルトの名無しさん [2008/08/27(水) 16:55:15 ] 時間・時刻を比較したいのか
686 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 17:11:31 ] afterとbeforeの動作を誤解してるとかじゃないよね? nowが現在の時刻なんだから、それよりもafterな時刻なんて 存在しない……だから、”問題の箇所”は常にtrueになって当たり前。
687 名前:686 mailto:sage [2008/08/27(水) 17:13:43 ] 「それよりもafter」って変だったorz 現在の時刻よりも、未来の時刻は存在しないから ”問題の箇所”は常にtrueって言いたかった……
688 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:01:43 ] >>686 もしjava.sql.Date型同士のインスタンスを比較するとして両方のインスタンスが 同年同一日ならafterでもfalseが帰る。
689 名前:680 mailto:sage [2008/08/27(水) 21:20:11 ] >681 nowの方の日にちを調整することで解決させました。 このまま行ってたら大きな誤解を持ったまま行くところでした。thx。
690 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:30:00 ] Component component = new JScrollPane(new JPanel()); JTabbedPane jtp = new JTabbedPane(); jtp.addTab(component); のように書いた時に、後々componentを取得する方法はあるで しょうか。 ご教授お願いします。
691 名前:690 mailto:sage [2008/08/27(水) 21:40:35 ] すみません。690ですが 取得したいのはcomponentではなくて、 スクロールペインの中のJPanelでした。 宜しくお願いします。
692 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:16:21 ] Strtusについて質問です。 public void setGoods(ArrayList<String> goods){ this.goods = goods;} public void setNumber(ArrayList<String> number){ this.number = number;} このようにしてBeanに格納したArrayListを、 <logic:iterate id="name" name="Bean"> <bean:write name="name" property="number" />: <bean:write name="name" property="goods" /><br> </logic:iterate> 上記のJSPで出力しようとしてもエラーが出ます。 <logic:iterate id="name" name="Bean" property="number"> <bean:write name="name" /> </logic:iterate> <logic:iterate id="name" name="Bean" property="goods"> <bean:write name="name" /> </logic:iterate> こういった書式だと値の表示は可能ですが、当然出力位置が変ってしまいます。 number1:goods1 number2:goods2 number3:goods3 最終的にこういう表示をさせるにはどういった書き方をすればいいでしょうか。
693 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 23:17:58 ] >>691 ((JScrollPane)component).getViewport().getView()
694 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 01:24:16 ] >>693 ありがとうございます。 お陰で無事解決しました。
695 名前:688 mailto:sage [2008/08/28(木) 09:17:37 ] ごめ、嘘ブッコイタ。
696 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 10:11:00 ] >>678 java.rmi.server.RemoteServer.getClientHost() でガマンしろ。
697 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:33:18 ] まったくの初心者です。よろしくお願いします。 Javaの勉強をしようと思い 「JDK 6 Update 7」をダウンロードしてインストールしてみました。 環境変数を設定した後に、バージョンが正しいか確認してみたのですが、 C:\>java -version java version "1.4.2_03" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02) Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode) と表示さてれました。 ただし、 C:\WINDOWS\system32>java -version java version "1.6.0_07" Java(TM) SE Runtime Environment (build 1.6.0_07-b06) Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing) だと、きちんと「JDK 6 Update 7」がインストールされているぽいのですが・・・ これってちゃんとインストールされた状態になったのでしょうか?
698 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:36:50 ] すでにインストールされてたっぽい JRE 1.4.2_03 は特に使わないなら削除してしまえ あと javac -version も
699 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:45:50 ] >>698 レスありがとうございます。 C:\>javac -version javac version "1.6.0_07" C:\WINDOWS\system32>javac -version javac version "1.6.0_07" でした。 1.4.2_3の削除についてですが、 プログラムの追加と削除に無く、 レジストリ内も検索してみたのですがそれらしいのが無いため どこから削除すればよいでしょうか?
700 名前:692 mailto:sage [2008/08/28(木) 11:54:23 ] 自己解決しました。 ありがとうございました。
701 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:55:18 ] >>699 環境変数の PATH を確認する。 恐らく "C:\jdk1.4.2_03\bin" みたいなのが含まれているはず。
702 名前:デフォルトの名無しさん [2008/08/28(木) 15:08:43 ] デザインパターンの本を買った人へ。 貴方のほらふきの癖を治せば、少しは友達が増えると思います。
703 名前:デフォルトの名無しさん [2008/08/28(木) 16:32:37 ] javaでゲームのようなものを作っているのですが、(GUIです)質問させていただきます。 ゲームを起動すると ログイン画面→どのゲームを選ぶかの選択画面→ゲームの画面 と画面を入れ替えていきたいのですが、どうやって処理すればいいでしょうか? やはりカードレイアウトを使うしかないのでしょうか?画面の切り替えには・・・
704 名前:デフォルトの名無しさん [2008/08/28(木) 16:50:41 ] 質問させてください。 while文を回して配列に格納した多くのデータを、 終了後にファイルに出力するにはどうするのが一番効率的でしょうか? ファイルの入出力がよくわからなくて…よろしくお願いします。
705 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:06:04 ] Ubuntuなら update-alternativeっていうコマンドでやる。 PATHには入ってないんじゃないかな? javaのパスを直接指定する人も珍しいだろうし。 とりあえず気休めだが、 JAVA_HOMEをいじっておけ。
706 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:58:51 ] >>704 効率なんか気にせず作ってみる だいたい気にするほど遅くないことが多い 実際に気になるほど遅かったらそのときに訊くといい
707 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 18:01:26 ] >>703 古いコンポーネントをremoveして新しいコンポーネントをaddすることもできるよ
708 名前:704 mailto:sage [2008/08/28(木) 18:50:07 ] >>706 ありがとうございます。とりあえず作ってみます。
709 名前:デフォルトの名無しさん [2008/08/28(木) 19:30:56 ] >>707 ありがとうございます。removeで取り除くことを忘れてました。。 カードレイアウトとどちらが良いんでしょう・・・
710 名前:デフォルトの名無しさん [2008/08/28(木) 19:32:27 ] >>707 ありがとうございます。removeで取り除くことを忘れてました。。 カードレイアウトとどちらが良いんでしょう・・・カードは重くなりそうな印象で
711 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 19:35:01 ] 二重・・・すいませんov2
712 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 23:13:00 ] >>710 印象で選択するのは危険。 実測してみればいい。
713 名前:デフォルトの名無しさん [2008/08/28(木) 23:39:43 ] 他のスレで話題に上がってて気になったんで質問。 Javaでチャット機能作る場合は一人に1スレッド設計しか無理なの? サーバからのメッセージも随時受け取らないとダメだし
714 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 00:06:32 ] 一人の何に1スレッドを当てるの?
715 名前:デフォルトの名無しさん [2008/08/29(金) 00:55:57 ] スレッドは常にwhileで受信の準備をしてるんじゃない?
716 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 01:31:12 ] 非同期
717 名前:デフォルトの名無しさん [2008/08/29(金) 01:43:05 ] genericsについて質問です。 Parentクラスを継承するChildクラスを定義して下記コードを記述しました。 List<? extends Parent> list = new ArrayList<Child>(); list.add(new Parent()); 上記コードでコンパイルエラーが出ます。 型を見るとadd()の引数がnullになってました。 きっとadd()しちゃいけないから引数の型がnullなんでしょうけど、 理由がよくわかりません。教えてくだしあ。
718 名前:717 mailto:sage [2008/08/29(金) 01:53:34 ] すんまそん。コードの2行目は list.add(new Parent()); じゃなくて list.add(new Child()); でした。どっちにしろ結果は同じなんですけどね。
719 名前:デフォルトの名無しさん [2008/08/29(金) 02:02:59 ] >型を見るとadd()の引数がnullになってました。 ?
720 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:21:38 ] >717 何度書いたか分からんが、ジェネリクスは静的解決、キャストは動的解決。 List<? extends Parent> という宣言を書いたからオカシイ。 そもそも、宣言部分の代入式のほうで、<Child> としているではないですか。 何故、List<Child> と書かないのですか?
721 名前:717 mailto:sage [2008/08/29(金) 03:26:41 ] >>719 Eclipseでの話となりますが・・・ 「list.」までを入力するとメソッド一覧が出てきますよね? そこでaddの定義を見ると、add(null arg0)となっているんです。 addをCTRL+左クリックで表示されるクラスファイルエディターでも確認できます。
722 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:38:10 ] なんでジェネリックス入れてRTTI入れなかったんだっけ? VMの実装が複雑になるから?
723 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:53:44 ] それがJavaだから。
724 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 04:10:33 ] >>717 List<? extends Parent> には、Parent を継承したクラス Child1 や Child2 などを用いた List<Child1> や List<Child2> などが代入されているかもしれない。 これらが同時に安全に add できるものは、 どんな型にもキャストできる null しかない。
725 名前:デフォルトの名無しさん [2008/08/29(金) 09:03:12 ] デュアルコアのCPUが2スレッドを同時に処理するJavaプログラムを動かすとします。 この場合1コアあたり1スレッドなんていう動作になるんでしょうか? もしそうだとすればnコアでn未満のスレッドを動かしたときどうなるのか非常に気になりますが。
726 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 10:10:19 ] >>725 Sun の Java VM であればネイティブスレッドなので 1 コア 1 スレッドで動くことができる。 というか、1 コアが 1 スレッドしか動かせないと思ってないか?Intel だって Hyper Threading で 1 コア 2 スレッド動かせるし、Sun の Niagara 3 にいたっては 1 コア 16 スレッド(1 CPU 16 コアなので全体で 256 スレッド)動くぞ? > もしそうだとすればnコアでn未満のスレッドを動かしたときどうなるのか非常に気になりますが。 別に気にならないだろ。普通に動くだけだが、何か変な妄想してないか? 空いてるコアは別の仕事するだけだ。
727 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 10:22:07 ] 従来のシングルコアで10スレッド動かしたら 1コア当たり何スレッドの処理をするんだろうか? Javaプログラムだと5スレッドかもしれないし、100スレッドかもしれない しかし、これだと処理されないスレッドが発生し、さらに 他のスレッドも待ち状態のままになり、見かけ上ではフリーズしたのと同じだ これを回避するためにPentium4のHT技術が開発されたんだな Intelすげえという電波ですねわかりません
728 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 14:55:48 ] コア数よりスレッド数が多い場合は見かけ上ではあるがOSがタイマー割り込みで実現する。 シングルCPU時代のスレッドは基本的に待機スレッド。 ビジースレッドの並列処理で処理効率をあげるような手法はマルチじゃないと意味はないが、 基本的にIOやイベント待ちでスレッドは止まっているものだ。 それからHTは微妙でビジースレッドの並列処理向きじゃないんだよな。
729 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 15:13:40 ] 新規質問。 Servlet 作ってて困っているのだけど、 スレッドID ってスレッドが動いてる時に突然変更されることってありえる?
730 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 15:17:10 ] >>729 ない ってJavadocに書いてあるよ
731 名前:デフォルトの名無しさん [2008/08/29(金) 16:00:09 ] intelがjava bytecodeとclassesを直接読み取っちゃうCPU命令を実装してくれればいい。
732 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 20:56:38 ] >>731 死屍累々ってほどでもないが、すでにそういうチップは作られていて全く普及して無い。picojavaとか。 そもそも Java の byte code 自体がハードで実装するには不向きな内容だし。 昨今は実行時プロファイリングでホットスポットを解消するほうが実行速度が上がるし。
733 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:24:02 ] intelのfloatや超越関数とかの機械語は、ibmやsunから見ればハードでの実装は不向きな内容であって、 それこそsin[x]なんかはソフトウェア(ライブラリ)で実装するもんだろうな。 つまり、java bytecodeはハードでは不向きという考えは古い考えじゃないの? 君みたいなゴミにとってはこれぐらいの話しすらついて来れないんだろうけどww
734 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:26:14 ] jvmとjavaはもともとは家電(ハード)組み込みの設計だったしなぁ
735 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:53:26 ] >>>732 おまえはどこに行っても相手にされないし無能なやつだな
736 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:41:58 ] テキストファイルのエンコーディングが予めわかっていない場合 どうやって適切なエンコーディングで読むのでしょうか? Javaのライブラリを使用すれば、自動的に適切なエンコーディングで読んでくれるものがあるのでしょうか?
737 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:47:19 ] 教授目指してみようかな。 それは結構面白いかも知れない。 戦国時代に生まれたかった。 そして戦場で野垂れ死にしたかった。
738 名前:デフォルトの名無しさん [2008/08/30(土) 00:14:47 ] 先生にも2つのタイプがあってな、1つは研究者で教えるのが仕事じゃなくて技術の追求が仕事で、もう1つは教えるのが仕事の教師でどちらかといえば過去・既存技術に精通していて教えたり話したりするのが好きで上手な人。 聞きかじった最先端の雑記を偉そうに語るのは、先生じゃなくても無能なサルでも出来るけど、お前のタイプはどっちだ?
739 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:27:33 ] MITの教授になりたい。
740 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:29:47 ] >>736 不可能です。 あきらめてあてずっぽやるか、人間さまに直接おたずねください。
741 名前:デフォルトの名無しさん [2008/08/30(土) 00:39:06 ] 少なくとも、最新技術を追いかけるのは最先端のオナニー・ショウを見てるようなものでしかないよ。 それよか、過去の技術や発明・基盤技術をちゃんと知ってるかどうかじゃないの? 大学でやってんならなおさらPCの歴史とかPCがたとどって来た道を知らないとねぇ。 ハードよりなら制御とか組み込みだし、ソフトよりならアルゴ・ライブラリとかコンパイラじゃないの? すくなくとも、intelの機械語sin[x]は実際はハード内部でデコードしてハード・ロジックのライブラリを呼び出してるだけだしw まずは自分用のCコンパイラを作れるかじゃないかな?
742 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:42:41 ] >>741 針が太すぎて、ブランコ代わりに腰掛けられるよ・・・
743 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:43:36 ] 先端オナニーですね、分かります。
744 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:46:00 ] じゃう゛ぁとともにあらんことを。
745 名前:717 mailto:sage [2008/08/30(土) 00:55:29 ] >>720 それだけじゃ>>724 みたいな結論にたどり着けないっすよ先輩。 理解してる人しか理解できないヒントというか何というか。 >何故、List<Child> と書かないのですか? Genericsの勉強中に、クラス間に継承関係があっても List<Base> = new ArrayList<Child>(); のような事はできませんが、 <? extends Base>を使えば可能、という記述を見つけたので 試していただけです。で、add()ができないのは何故かと。 >>724 仮に可能であれば、 Child hoge = list.get(0); とした時にChild1やChild2を返してしまいClassCastExceptionが発生するため危険、 という事でいいですか? List<? extends Base>#get()の返り値の型をBase型として返せば いいような気もしますが、それもやはり不都合があるんでしょうか。
746 名前:デフォルトの名無しさん [2008/08/30(土) 01:02:26 ] ジャヴァーは、言語仕様や文法よりも「ライブラリ☆命」なんですが・・・
747 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 01:35:25 ] >>745 List<? extends Parent> list = new ArrayList<Child1>(); list.add(new Child1()); list.add(new Child2()); // ←ココ
748 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 02:02:49 ] >>745 >List<? extends Base>#get()の返り値の型をBase型として返せば List<? extends Base> list = new ArrayList<Child>(); を例えば List<Child> childList = new ArrayList<Child>(); List<? extends Base> list = childList; としてみましょう。 list.add(new Base()); が実行された場合、list.get() は Base インスタンスを返せるでしょうが、 childList.get() は Child のインスタンスを返せる(返すことを保証できる)でしょうか。
749 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 10:08:37 ] >>743 SFCの『ラブクエスト』を思い出した。 「先っちょ、先っちょ、気持ち良い!」
750 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 10:43:44 ] >>733 コプロセッサって知ってるか? >>735 そうだな。オマエくらいしか相手にしてくれなくて人生寂しいよ。 でもオマエがこうやってレスしてくれて、マジな話ちょっとうれしかった。 無視されるのが一番辛い。煽りでもなんでも、反応してもらえてサンキュ。
751 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 12:18:08 ] ぬるぽ
752 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 12:36:16 ] KeyTypedの中でgetKeyCharを使って入力をコンソールに表示しようとしても0としか表示されません。 getKeyCharなら、アルファベットキーは表示されるのですが、矢印キーの時は何も表示されません。 どうしてでしょうか?
753 名前:デフォルトの名無しさん [2008/08/30(土) 15:32:44 ] JScrollPaneのJTableについて質問です。 例えば、あるボタンを押したらJScrollPaneがJTableの1行分だけ 下または上にスクロールする、というようなことは可能でしょうか。 JTable内で選択されている行を、そのボタンを押せば自動的に ひとつ次or前の行に選択を移動させるようにしようと考えているのですが、 ScrollPaneに表示されている行内の終わりからボタンでさらに選択を奥に移動させると、 選択行は変わりますが、スクロールはしてくれないので、どうしたものかと悩んでいます。
754 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 15:42:13 ] >>752 > KeyTypedの中でgetKeyCharを使って入力をコンソールに表示しようとしても0としか表示されません。 のgetKeyCharはgetKeyCodeの書き間違い? なら、 > KEY_TYPED イベントの場合、keyCode は VK_UNDEFINED なのでVK_UNDEFINED(=0)が返る。 矢印キーなどのキーコードが取りたければ、 keyTypedでなくkeyPressedやkeyReleasedでイベントを捕まえる。
755 名前:752 mailto:sage [2008/08/30(土) 15:50:11 ] >>754 その通りCharじゃなくてCodeでした。
756 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 16:12:37 ] >>753 これは使えないかな? ttp://java-house.jp/ml/archive/j-h-b/021677.html
757 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 16:58:51 ] String str = "ABCDE"; という文字列があって、この文字列を逆にして表示させたいです。 最終的に、System.out.println(str); で、画面には EDCBA と表示させたいです。 文字列を引数にとって、それを反転して返すメソッドがあるのは 分かったのですが、そういうのを使わないで、配列やforをうまく使って 自力で反転させたいのです。 charAt(int index)やfor辺りで試行錯誤したのですが、どうも辿り着きません。 方法を教えてもらえませんでしょうか?
758 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:03:41 ] >>757 無駄なコードを書くことに、うまい方法なんて無いのでは?
759 名前:デフォルトの名無しさん [2008/08/30(土) 17:06:24 ] >>749 >>750 >>751 ぬるぽ ぬるぽ ぬるぽ ぬるぽ
760 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:06:38 ] >745 申し訳ありません。724 や 748 の話を良く聞いてください。 お詫びに、関係しそうな記事を置いていきます。 Javaの理論と実践: Generics、了解! ttp://www.ibm.com/developerworks/jp/java/library/j-jtp01255/index.html
761 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:13:23 ] >>756 どうもありがとうございます。その先に記述されているのをヒントとして、 ほぼ完成というところまでたどり着けました。 ただ、スクロールバーの▼・▲のボタンや、バーで移動させた際に、 その移動をさせたことを検出させて、かつ移動した距離を知りたいのですが、 どうにか知る術はないものでしょうか?たびたびすいません。
762 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:17:03 ] >757 Stringオブジェクトは、作成後、状態を変更できません。 ということは、反転した Stringオブジェクトを作成する時点で、 既に反転した状態を持つ「何か」を用意する必要があります。 「何か」は、char配列でも良いですが、単に追加するだけなら java.lang.StringBuilder/Buffer が良いと思います。
763 名前:デフォルトの名無しさん [2008/08/30(土) 17:19:30 ] www.apple.com/jp/mac/ このページの最上部のメニューバーみたいなのをウェブサイトに実装したいのでですが 何かオススメのスクリプトありませんか? カテゴリ(ジャンル)が20個ぐらいありそれを1つのページに表示させたいです。
764 名前:デフォルトの名無しさん [2008/08/30(土) 17:57:51 ] 相変わらずひねくれてる奴多いな。 >>757 はそりゃアルゴリズムの問題でjavaとはあまり関係ないない。 str2=new StringBuffer().append(str).reverse().toString(); これがjava流。良くAPIを読むとサロゲートはreverseしないとかがまたいい!
765 名前:757 mailto:sage [2008/08/30(土) 18:13:46 ] >>758 確かにうまくはないですね、言い方が悪くてすいません。 ただ、専用のメソッドを使うより、他のやり方を考えたら プログラムの理解度も高まるかなーと思いまして。まだ初心者なんです。 >>762 配列を反転する方法がわからなかったので、 結局配列もStringBuilder/Bufferも使わないアナログなやり方で完成しました(´・ω・`) ありがとうございます。 >>764 ひねくれものですかね?ヽ(´ー`)ノ
766 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 18:46:46 ] >>765 理解したいなら、reverseのソース読むべきじゃね?
767 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 18:53:12 BE:511027586-2BP(5957)] ボタンを押すと定められた波形・音程で音が鳴る、という簡単なアプレットをMac OS X上で作りました。 当然Mac上では問題なく動くのですが、Windowsではうまく動きません。 音意外の部分は問題ない挙動なのですが、どうにも音だけが出ません。(サンプルレート8000、ビットレート16、モノラル) Javaのバージョンも最新です。 何か心当たりのある方、教えて頂けると助かります。お願いします。
768 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:15:02 ] テーブルで常に一行だけしか選択できないようにする方法ってあります?
769 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:32:00 ] >>702 じゃあ、これから正直になりますので、友達になってください。
770 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:45:00 ] >>768 APIドキュメント見てもいないのか? JTable#setSelectionMode 辺りを探れ
771 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:49:13 ] >>765 どんな方法にしろ、目的を達成するプログラムが書けたのならOKだ。 後は 766 の言うように他の同じことをするプログラムを見て、違いを観察するんだ。 自分で書き、他人のを読み、違いを吸収して次に生かせばいい。
772 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 20:29:55 ] >>761 AdjustmentListenerは? scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener(){ int oldValue = 0; public void adjustmentValueChanged(AdjustmentEvent e){ if(e.getValueIsAdjusting()) return; System.out.println("Adjusted: " + (oldValue - e.getValue())); oldValue = e.getValue(); } }); とかで
773 名前:デフォルトの名無しさん [2008/08/30(土) 21:00:41 ] java初心者です。お聞きしたいことがあります。 javaからPHPにバイナリデータを渡したいのですがデータの中に0x00が 含まれていると2byteの0x5c,0x30に置き換わってしまいます。 どなたかご教授おねがいします。 String postParams = "p1="; byte[] byteBuf new byte[1024]; OutputStream oStream = null; : con = (HttpConnection)Connector.open("localhost/xxx.php ", Connector.READ_WRITE, true); con.setRequestMethod(HttpConnection.POST); con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); oStream = con.openOutputStream(); oStream.write(postParams.getBytes()); oStream.write(byteBuf); //←ここのDATAに0x00が含まれていると oStream.close(); con.connect(); :
774 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 22:45:54 ] >>773 >byte[] byteBuf new byte[1024]; コンパイル通ってるコード? byteBufに実際は何を入れてるのか。
775 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 22:54:34 ] HTTP POST でベタにバイナリなんて送れたっけ?
776 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 23:00:20 ] JTableでアクティブな行は青色になりますよよね? それに加えて行の中でクリックしたセルだけ青い囲みがかかるんですけど このセルの囲いをなくすことってどうやったらできるんでしょうか? 検索してもちょっとわからないので、、、ご教授ください。
777 名前:デフォルトの名無しさん [2008/08/30(土) 23:02:31 ] >>772 おお、ありがとうございますm(_ _)m 無事にできました。
778 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 23:12:07 ] >>776 setCellSelectionEnabled(boolean)とかなかったっけ?
779 名前:デフォルトの名無しさん [2008/08/30(土) 23:16:39 ] >774,775さん 上記例では部分抜き出しで書きましたがコンパイルは通ってます。 データは仮に [0xff,0x10,0x00,0xff]だとしたらPHPで受け取って そのまま送り返して調べた結果では、 [0xff,0x10,0x5c,0x30,0xff]となってます。 画像データなども送りたいと考えているのですが。 宜しくお願いします。
780 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 23:55:40 ] データの持ち方について質問です。 プリミティブ型はスタックにデータを持ってて、ヒープ領域は使わないと認識してますが合ってますでしょうか。 それと、プリミティブ型の配列はヒープ領域を使ってて、要素0のデータへのアドレスをスタックに格納して、ヒープ領域では連続した領域に格納されているという認識で合ってますでしょうか。 あと、オブジェクト型の配列でも同様に、ヒープ領域では連続した領域に保持されているのでしょうか?
781 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 00:04:13 ] >>778 うーむ、それだとセルのみ選択したときに色がつくようになっちゃうんですよね・・・。 逆のことをしたいんですが、何かないでしょうかね。
782 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 00:11:39 ] >>779 >byte[] byteBuf new byte[1024]; なんて、コンパイル通る訳無いだろ。 コンパイルも通らないコードなんか載せられても何も答えられんわ
783 名前:デフォルトの名無しさん [2008/08/31(日) 02:01:47 ] >>780 jvm.dllの実装上の問題です。普通はそのように実装するんですけど、あなたにピッタシのAPIはByteBuffer.allocateDirectですかね。
784 名前:デフォルトの名無しさん [2008/08/31(日) 02:42:37 ] >>782 さん あああ!、申し訳ないです。'='←書くの抜けてました。 プログラム上ではちゃんと書いてます>< byte[] byteBuf = new byte[1024]; 何度もすみません。
785 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 03:11:15 ] >>779 コード 0x00 (NUL) が 0x5C 0x30 (\0) に変換される、と。 773 では、Content-Type に application/x-www-form-urlencoded を指定しています。 この指定自体は、form を送信する際の一般的な設定だと思います。 しかし、この指定によって、クライアントかサーバか、どちらか分かりませんが、 変換が行われてると、私は思います。 つ【パケットキャプチャ】かな?
786 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 03:33:00 ] >>781 TableCellRenderer を見れ。
787 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 03:40:28 ] >>779 >そのまま送り返して調べた結果では、 PHP が受け取ったモノをチェックしろよ。 送り返して調べたって、送り返す時にヘマしてたら分かんなくなるだろ。
788 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 10:26:08 ] www12.plala.or.jp/ksp/wave/beating/ これの真ん中あたりにあるアプレット動く? うちのXPだとIEでもFirefoxでも動かん。
789 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 11:31:32 ] x-www-form-urlencodedの意味を考えろってことで。
790 名前:デフォルトの名無しさん [2008/08/31(日) 11:34:44 ] >785,787さん PHP側では <?php $p1 = isset($_REQUEST['p1']) ? $_REQUEST['p1']: ''; $p2 = isset($_REQUEST['p2']) ? $_REQUEST['p2']: ''; if ( $p1 ){ echo ($p1); } ?> としているのですが。 PHP側でも調べてみます。
791 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 11:43:07 ] >>773 お前の書いたsetRequestMethodとsetRequestPropertyを一万回読み返せ BASE64でエンコード/デコードするか、URLにエンコードするか、 Content-Typeをimage/jpegにするか、バラバラすぎる。 あと受け側がどう処理するかによって異なる。
792 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 13:31:24 ] 酷い流れデツネ
793 名前:717 mailto:sage [2008/08/31(日) 15:31:20 ] >>747 >>748 すんません。 実際に返されるインスタンスの型が問題であって 返り値の型をBaseクラスにしても全然解決になってないですね。 質問に答えてくださった先輩方ありがとう。
794 名前:デフォルトの名無しさん [2008/08/31(日) 15:39:43 ] JPanel上でImageIOつかいたい どうしたら良い?
795 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 16:04:53 ] というかHTTPすらろくに理解してないんじゃないのか? x-www-form-urlencodedでバイナリ送るとか吹いたぞw
796 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 16:13:39 ] ホームページのフォームからJava servletでMySQLに複数の名前と番号のセットを 入力したいのですが参考になるホームページが見つかりません。 参考になるサイトやブログを教えていただけないでしょうか。
797 名前:デフォルトの名無しさん [2008/08/31(日) 16:38:00 ] 795のように書けばあたかも知ってるように見えるが大概は知らない場合が多い
798 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 16:55:19 ] コンソールで入力した文字列から、特定の文字が何文字含まれているか 表示するプログラムを作りたいのですが(例えば「javaprogram」と入力したら 「aは3個含まれています」と表示されるような感じです。 どうすればできるでしょうか?相当考えたのですが… 何の構文やメソッドを使うのか…どうかヒントをば…
799 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:00:25 ] >>798 ヒント:配列
800 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:13:04 ] String#indexOf
801 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:41:51 ] >>794 BufferedImage と ImageIcon の合わせ技。
802 名前:デフォルトの名無しさん [2008/08/31(日) 17:44:52 ] BufferedImage bi = jPanel1.getComponent(0).getGraphicsConfiguration() .createCompatibleImage(10,10); これでいいのかな
803 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:48:50 ] >>796 1個のデータは登録できるのか? できてないなら、無理すんな。 まずは単一で考えなよ
804 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:50:12 ] >>798 ・char[] にしてまわす ・StrigBufferにしてまわす どちらでも好きな方を
805 名前:デフォルトの名無しさん [2008/08/31(日) 18:54:53 ] または、特定の文字をすべて削除した文字列を作って長さを比べる 自分も質問なんだけど、テキストエリアの後ろに画像を入れるにはどうしたら良いのかな。
806 名前:デフォルトの名無しさん [2008/08/31(日) 18:59:19 ] 正確にはJScrollPaneだった・・
807 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 18:59:44 ] HTMLDocument使うとか、画像に対応したDocumentとViewを作ればいいんでない?
808 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 19:00:48 ] ん?やりたいことがいまいち分からない・・ 背景に画像? JScrollPaneのViewportに画像描画してJTextAreaを透明にってこと?
809 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 19:27:46 ] >>786 すんません、調べてみたんですがどうしてもわからない・・・ CellRendererの中にクリックでアクティブになったセルに関する設定項目が見つからないっす。 説明が下手なんですが、わかりやすく言うと、クリックされたセルのある行は薄青になりますよね? それとは別に、その薄青の行の中でクリックしたセルだけボーダーラインが太くなりますよね。 あの太いボーダラインをなくしたいんです。 setRowSelectionIntervalを利用すると行が薄青になるだけなので、テーブルのMouseListenerに 1 int rowIndex = jTable.getSelectedRow(); 2 jTable.removeRowSelectionInterval(rowIndex, rowIndex); 3 jTable.setRowSelectionInterval(rowIndex, rowIndex); とやってみたのですが、これだと2の部分では薄青だけ消えて、太いボーダーラインが残ってしまいます。 どうすりゃ消えるんでしょうか、、、
810 名前:デフォルトの名無しさん [2008/08/31(日) 19:48:48 ] >> vewportでやってみたのですが、イメージがやけに暗く表示されてしまいました。 バッファしてる間に暗くなるとかあるのかな・・・
811 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 19:56:39 ] ないない。 もうちょっと詳細を教えてくれないと何とも言えないよ
812 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:00:09 ] すいません。 出かけ先にいるので帰って見直してみます。 ありがとうございました。
813 名前:796 [2008/08/31(日) 20:12:47 ] >>803 単一では出来ます。 ttp://www.atmarkit.co.jp/flinux/rensai/mysql09/mysql09b.html を参考にコンパイル、MySQLの設定及びデータベースとテーブルも設定しております。 問題は、同じようなデータがありそれを複数同時に入力できないところです。
814 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:21:40 ] >>813 最大10件とかならば、name-1, value-1 のように固定でHTMLに埋めてしまえ 完全可変にするならば、動的にJavaScriptでinputを作っていけばいい
815 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:23:18 ] >>805 Swingの話かHTMLの話か解らない SwingだったらTextAreaとLabelを配置したパネルを作って、それを配置する方が楽だし、再利用しやすい形になると思う
816 名前:796 [2008/08/31(日) 20:52:25 ] >>814 すみません説明不足がありました。 仰るとおりHTMLのフォームはname[1],name[2]...のようにフォームに番号を付けています。 servletの方ではこれをループでMySQLに入力するようにしています。 また、名前(漢字)と数字なので先にループで配列に入力するといった方法も出来ませんでした。 JavaScriptによる入力ですが技術的に難しいです。
817 名前:796 [2008/08/31(日) 21:02:33 ] 肝心なことを忘れてました。 もし、フォームに名前はあっても番号はない場合は登録せず 次のフォームを読み取らせ、ループは名前が無くなったら出るというシステムです。 長々となってしまいまして申し訳ありません。
818 名前:デフォルトの名無しさん [2008/08/31(日) 21:05:26 ] ネイティブ言語や .NET 言語で実現できることは、Java でも実現できますか?
819 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:06:14 ] 無理。
820 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:08:23 ] こんな感じでできるだろ for(int i = 1; i < n; i++) { getParameter("name[" + i + "]"); getParameter("value[" + i + "]"); }
821 名前:796 [2008/08/31(日) 21:13:43 ] >>820 データは取得できるとは思うのですが、 データを保存またはMySQLに連続して登録するときはどのようにすればよろしいでしょうか。
822 名前:デフォルトの名無しさん [2008/08/31(日) 21:24:00 ] >>821 Valuesをつなげるか、何回もUpdateとかInsertする
823 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:42:17 ] beginTransaction(); for(int i = 1; i < n; i++) { getParameter("name[" + i + "]"); getParameter("value[" + i + "]"); insertOrUpdate(data); } commit();
824 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 22:37:08 ] テーブルでソートを行うために setAutoCreateRowSorter(true)を使っているのですが、 ソートを一時的に無効にしたい場合が生じました。 setAutoCreateRowSorter(false)ではだめなようなので、 setRowSorter(null)を使っているのですが、 このような方法でよいものでしょうか。
825 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 22:47:13 ] >824 APIドキュメントは読みましたか? そこに書いてありませんか?
826 名前:798 mailto:sage [2008/08/31(日) 23:05:53 ] >>799 >>800 >>804 ヒントありがとうございます。 ヒントを頼りにここまではできたのですが、 hisazin-up.dyndns.org/up/src/75650.java 文字列を入力するとwhile文が無限ループになります。 無限になるのはわかるんですが、何を入れれば無限がとめられるのかわかりません。 もうこれ以上しぼっても何にも出てこないので、どうか何が足りないのか指摘をお願いしますorz
827 名前:デフォルトの名無しさん [2008/08/31(日) 23:06:51 ] >>819 実現な無理なことって何? ※中間言語を介しているのでネイティブより遅いってのはナシ
828 名前:デフォルトの名無しさん [2008/08/31(日) 23:08:16 ] × 実現な無理 ○ 実現が無理
829 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:08:28 ] while(!(s = br.readLine()).equals("end")){ ..... } こうして、読み込みと同時にループ判定ってのをJavaではよく使うよ。
830 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:15:12 ] てかループの最後でreadLineしなきゃダメだろ、冷静に考えろ
831 名前:798 mailto:sage [2008/08/31(日) 23:22:32 ] >>829 >>830 もうほんとありがとうございます。どっちのパターンでもできました。 未熟ですいません。途中泣きそうになってました。 教えていただいた知識はありがたく吸収させて頂いて、 完全体への糧とさせて頂きます。
832 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:23:39 ] アグモン進化〜〜〜!
833 名前:デフォルトの名無しさん [2008/08/31(日) 23:24:47 ] javaの文字処理は、 while (r.ready()) {} がセオリーなんだけど・・・ アホな奴が書いた説明を読んだんじゃないの?
834 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:34:27 ] セオリー(笑)と言い切る根拠示したら?
835 名前:798 mailto:sage [2008/08/31(日) 23:34:28 ] >>832 ちょww >>833 独学でやってるんですが、教科書にはその書き方はのってなかったですね。 でもちょっとした応用ですよね。気付かない自分の無力としておきます。 ありがとうございます。
836 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:37:55 ] VB上がりの人は、rubyかperlの方からやっるといいよ。
837 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:39:14 ] >833 言いたいことは解るが、その場合は while(r.ready()) { System.out.println("文字列を入力して下さい"); String s = r.readLine(); if(s.equals("end")) break; // 以下同様 } と書かなくてはならないだろ。 そこまでちゃんと説明しないのはあまりにも無責任。 ついでにいえば、r.ready()がfalseになることは基本的にないからな、標準入力からとっているわけだし。
838 名前:デフォルトの名無しさん [2008/08/31(日) 23:40:12 ] >>795 こいつには「友達はいないだろうな」と感じるのは、俺だけなのかな・・・
839 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:43:04 ] たぶんMSDNのVBの記事ののりで、いつまでもお子ちゃまのままなのか、もともと糞まみれのまま生活してるとかじゃないか?
840 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:44:18 ] だなw
841 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:45:40 ] ぬるぽ
842 名前:デフォルトの名無しさん [2008/08/31(日) 23:52:42 ] >>805 です。帰ってきました。 具体的には JPanel panel = new GraphicPanel("image.jpg"); JTextArea area1 = new JTextArea(); JTextArea area2 = new JTextArea(); area1.setOpaque(false); area2.setOpaque(false); JScrollPane scrollA = new JScrollPane(area1); JScrollPane scrollB = new JScrollPane(area2); scrollA.getViewport().setOpaque(false); scrollB.getViewport().setOpaque(false); panel.setLayout(new GridLayout(2,1)); panel.add(scrollA); panel.add(scrollB); という形でやっているのですが・・ GraphicPanel()は、別クラスでイメージ名を渡すとそれがパネルの背景になります。
843 名前:デフォルトの名無しさん [2008/08/31(日) 23:56:03 ] >>834 >>837 流れを見ると、君が勉強不足なだけのようだけど?
844 名前:デフォルトの名無しさん [2008/08/31(日) 23:59:56 ] >>837 はかなり問題発言だと思うけど、このスレ的には放置でいいの?
845 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:01:36 ] ITドカタ出身のカスみたいだし、ほっとけばいいんじゃない?
846 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:03:55 ] >>841 ,844,845 だなw
847 名前:805 mailto:sage [2008/09/01(月) 00:06:48 ] どうやらJScrollPanelの透明化が出来てないようです。。
848 名前:805 mailto:sage [2008/09/01(月) 00:13:08 ] setOpaque getViewport().setOpaque どちらもやると透明になりました!!すれ汚しすいませんでした。
849 名前:デフォルトの名無しさん [2008/09/01(月) 00:15:32 ] そうだ!大学や専門学校でVBとかC#を教えればいいんじゃんか! VBの方が使ってる人多いし、VBアプリもいっぱいあるじゃん。 高校ではBASIC教えてんだから、何で大学とかでVBを教えないんだよ。オレ頭いい〜
850 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:19:54 ] >>805 これ参考になるかな? ttp://terai.xrea.jp/Swing/CentredBackgroundBorder.html >>809 使ってるのはDefaultTableCellRendererだよな? だとしたらgetTableCellRendererComponenメソッドをオーバーライドして、 super.getTableCellRendererComponenで取ってきたComponentを JLabel(もしくはJComponent)でキャストしてやつを setBorder(null)にすればうまく行く様な気がする。
851 名前:デフォルトの名無しさん [2008/09/01(月) 00:37:46 ] ジャヴァ最高! サン最高! アムロ最高!
852 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:45:04 ] 以下でchannelを閉じるときにFileOutputStreamって自動的に閉じますよね? FindBugsさんに怒られて不安になってしまいますた。 FileNotFoudExceptionとIOExceptionはメソッド単位で投げてます。 clearしているstreamは引数で与えているByteBufferです。 File file = new File(fileName); FileChannel channel = null; try { channel = new FileOutputStream(file).getChannel(); channel.write(stream); } finally { // 事後処理 stream.clear(); if (null != channel) { channel.close(); } }
853 名前:デフォルトの名無しさん [2008/09/01(月) 00:52:09 ] javaで開発してる人の半分以上はwindowsであるという事実がある。 しかしjvm runtimeも.net runtimeもほぼ同じことが出来るのに、なぜこれほどまでにMSは嫌われるのかが謎だな。 さらにwindowsのvb, c#で簡単なこと(例えばメディア・プレーヤ系とか)をわざわざjavaでやるのもまたなんとも香ばしい。 今の時代の主流OO言語風に言えば、.netで作ったライブラリをjvmから呼び出せば済むことなんじゃないの?
854 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 01:03:19 ] dot net と jvm bytecode が相互にアクセスして相互に運用が出来るライブラリとかはもう誰かが作ってるよ。 どっかにあったような…海外だったかな?
855 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 01:30:28 ] >>853 効率だけで物事を選ぶわけじゃないからだろ。
856 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 01:39:28 ] >>841 ガッ
857 名前:デフォルトの名無しさん [2008/09/01(月) 01:45:30 ] 俺のサーバPC(インテルCPUじゃないの)でiphone使えたりmp4再生できても意味ないからな・・・ それよりも、それらコーディックの類は特許の塊でもあるから、jvmで実装するよりもそういうのは特許に関心があるMSに任せといて、 それらメディア系のファイル使うときは、dotnetやjavaのライブラリAPIでアクセスできれば十分じゃないの? h.264みたいな最先端の技術はさすがに専用のデコーダ兼表示端末(インテルPCとかかな)ないと実用じゃないだろうけど、 そうじゃなければ、昔からあるシェルのパイプ機能に毛が生えたのでいいよ。 特許がどうとか言うと、ライセンスとか裁判とかジャスラックとかウザイだろw どうせおまえなんか法学部出身なわけでもなければ民事裁判やったことないんだろうしww
858 名前:デフォルトの名無しさん [2008/09/01(月) 01:53:59 ] iniファイルでプロパティ設定するのは骨が折れるから、プロパティ設定辺りはいまどきはGUIでサクッとやりたいなと思うけど。 Javaがデスクトップとかメディアに進出もいいけど、どうせ特許の壁にぶつかるし、出来ても所詮はネイティブであって、携帯電話でそのデコーダ(コーディック)が動くわけでもないし、 今必要なのは、swingみたいにコンポーネントやbeansを作ってくれればいいでない? java/jvmの管理とかマネジメント充実も一通り終わったから、そろそろデスクトップのUIとかの方かなと思う。
859 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 02:42:31 ] 夏休みは終わったらしいぞ
860 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 03:35:07 ] すれ違い
861 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 08:04:21 ] どなたか >833 の解説をお願いします。 reader.ready() は「次の読み込みがブロックされるかどうか」だけとの事ですので、例えば以下の場合には正常に動作しない場合もあるかと思います。(※クライアントからデータが未送信の場合) Socket s = serverSocket.accept(); BufferedReader reader = new BufferedReader(new InputStreamReader(s.getInputStream())); while(reader.ready()) {/* 処理 */} また、StringReader#ready() は常に true を返したりもします。 このような危険性がありながらなお ready() がセオリーとされる理由を御教示頂けないでしょうか
862 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 10:30:33 ] それよか、.NetとJVMを結びつけるライブラリとかほんとにあんの?
863 名前:デフォルトの名無しさん [2008/09/01(月) 10:44:40 ] >>861 たぶん君は、ストリームのことを大学で教えてもらえなかった哀れな人なんだろう。 まずstdinを(line!=null) ?とかでナル・チェックするのはマズイことを知れ。
864 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 12:13:46 ] >863 お返事ありがとうございます。 独学なので更に哀れな知識量しかなく、色々間違っているかと思います。 もう少々お付き合い下さい。すみません。 > stdinを(line!=null) ?とかでナル・チェックするのはマズイことを知れ。 との事ですが、その前に疑問を整理させて下さい。 元々の疑問は、「文字処理は ready()がセオリー」との発言でした。これは標準入力に限らず、Reader 系全般に当てはまるかと思います。 ここで、敢えて ready() をセオリーと言っていた事がよく分かりませんでした。 Reader#ready() は、「次の読み込みがブロックされるかどうか」を返す訳ですから、入力が無い == ブロックされる == false となり、例えば標準入力であれば、起動直後の入力が無い場合には BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); while (r.ready()) {/* 処理 */} としてもループ内に入ることなく抜けてしまい、期待した動作はしないかと思います。 同様に、Socket から文字列を読み込む場合でも、通信状態に応じて、データパケットが届く前に ready() が実行される事もあるかと思います。 であるのに、ready() をセオリーとする理由がよく分からず、質問した次第です。 (ファイルからの入力に限定するのであれば、ready() がセオリーでも理解はできるのですが) 頭の悪い質問で申し訳ありませんが、回答をよろしくお願いします。 あと、stdin を null チェックするのはまずい、という理由もよく分かりませんでした。 System.in は null を返さない、とかそういう単純な理由ではありませんよね? 宜しければ一緒に教えて頂けないでしょうか
865 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 14:04:51 ] 俺は Reader#ready() 使ったことないのでセオリーとは思ってない。 stdin だろがなんだろが BufferedReader#readLine() だったら EOF->null だから当然チェックする。 >>833 >>863 の説明に期待するかw で、Reader#ready() は「ブロックされるかどうか」じゃなく「ブロックされないかどうか」だ。 false だからといってブロックするとは限らないし、入力が無いとも言えない。
866 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 14:47:41 ] JTableからJScrollPaneって取得できますか。 JTableのsetVisibleだとテーブルを非表示にできないようなので、 JScrollPaneのsetVisibleを呼びたいのですが。
867 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 14:50:33 ] getParentで取得してチェック
868 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 14:55:54 ] インタフェースにあるクラス(インタフェースじゃない)を継承させることってできますか?
869 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 15:05:05 ] むり
870 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:04:35 ] >>867 thx!
871 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:41:30 ] 基本データ型のうちなぜString型だけ先頭が大文字なのでしょうか? これだとラップクラスと同じになりますよね。
872 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:54:09 ] Stringは基本データ型ではありません java.langパッケージに属するクラスです
873 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:54:35 ] >>871 Stringは基本データ型じゃないだろ。
874 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:59:34 ] これだからCをやってないやつはだめなんだよな
875 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 17:09:00 ] ではchar型も基本データ型ではありませんね
876 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 17:12:20 ] どうしてそう思いますか?
877 名前:871 mailto:sage [2008/09/01(月) 17:23:02 ] すみません何か大きな勘違いをしてました Stringはどう見ても基本データ型じゃないです
878 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:15:43 ] byteからintに符号なしでキャストしたいときはどうするんですか?
879 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:18:02 ] (int)Math.abs()
880 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:30:24 ] >>879 言い方が悪かったです (byte)0xff が-1でなく255になるようにしたいです
881 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:33:24 ] byte b;があったとして b&0xFF ってすりゃいいよ。
882 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:36:32 ] (int) ((byte) 0x80) // 0xffffff80 = -128 ((int) ((byte) 0x80)) & 0xff // 0x80 = 128
883 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:41:32 ] 解決しました。ありがとうございます
884 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:01:57 ] > 865 返答ありがとうございました。 ひとまず、ready() の件はセオリーとは言えない、と認識して納得しました。 > で、Reader#ready() は「ブロックされるかどうか」じゃなく「ブロックされないかどうか」だ。 確かにその通りでした。大ボケこいてました。ご指摘ありがとうございます。 お騒がせしました。
885 名前:デフォルトの名無しさん [2008/09/01(月) 20:17:22 ] APIもちゃんと読んでもいなければ、ソースも読んでないんだろうな。 たとえば、java.io.Ready.read():Iのソース見たことないだろw お前のようにいつまでも妄想してようじゃ上達しないんじゃない。 それなら、いつready()を使うんだろう?
886 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:21:34 ] >>884 ready()とストリームついて知りたかったら、難しい解説本読むか、ちゃんと学校いけよw 2chでお手軽に聞くようなお手軽独学厨房にはもったいなくて教えてやんないww
887 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:25:17 ] >>885 java.io.Ready.read・・・
888 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:32:57 ] すみません 知識が浅いもので不快にさせてしまいましたら申し訳ありません 一応、判らないなりに、SunのJAVA5実装はReaderからStreamDecoder経由してio_util_md.c までは辿っています。 これ以上どこを見るといいのか教えて頂けますか よろしくお願いします
889 名前:デフォルトの名無しさん [2008/09/01(月) 20:33:29 ] ストリームも知らないなら別にナムル・チェックいいでない? どうせargs[k]とかやってる程度の人だろうしww
890 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:39:34 ] >>885 よっぽどのアホだな・・・
891 名前:デフォルトの名無しさん [2008/09/01(月) 20:41:23 ] あじゃぱー
892 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:41:34 ] >>889 日本語でおk
893 名前:デフォルトの名無しさん [2008/09/01(月) 20:46:29 ] >>888 そこまでソース追いかけても分からないならタコでしょw Reader.read():Iが何でnativeでなくてnew char[1]なのかで十分分かると思うけど・・・ もしセンスがあればだけど、多分君はお勉強はできるけど・・・あんまし・・・ってタイプでしょうか? というよりも、それならいつready()を使うわけ?
894 名前:デフォルトの名無しさん [2008/09/01(月) 20:49:54 ] 東大の教授になりたかった・・・
895 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:51:40 ] >>893 バカには一生わかんねーよ
896 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:52:54 ] >>894 共産党に入れ
897 名前:デフォルトの名無しさん [2008/09/01(月) 20:57:20 ] >>895 なんみょう〜 なんみょう〜 なんみょう〜
898 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:59:49 ] まずJavaの本読むより、「バカの壁」を読んでからじゃね?
899 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:01:12 ] ListってCでいうとこのstructみたいなもんすか?
900 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:09:26 ] >>899 リストはCでもつかうだろ。
901 名前:デフォルトの名無しさん [2008/09/01(月) 21:38:21 ] ready()なんか使う奴こそ糞だな! 一生ナンミョウ〜やってろよww
902 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:49:04 ] >>901 いや、使う用件はあるだろ。
903 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:52:35 ] ready?
904 名前:デフォルトの名無しさん [2008/09/01(月) 21:54:11 ] ストリームわかんねーの奴は「Cが難しすぎてJAVAに逃げてきました」って程度だろ。そういう奴はJAVAも無理無理。VBAかVBぐらい丁度いいよw
905 名前:デフォルトの名無しさん [2008/09/01(月) 21:56:58 ] ストリームもそうだけど、スレッドも分からない奴がいたよな。 スレッド・セーフがどうとかこうとか適当な妄想を言ってたけど、アレはC#のスレだったか?
906 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:57:22 ] >>833 はまったくの嘘だから気にしなくていいよ
907 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:05:57 ] StringBufferクラスの必要性をご教授ください。 Stringだけで十分だと思うのですが・・・
908 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:10:59 ] それなら、char[]で間に合うから、Stringも必要ないね
909 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:11:55 ] StringBuilderで間に合うから、StringBufferは要らないね。
910 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:18:08 ] ここは一応 初心者歓迎 となってるのを忘れてないか?
911 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:24:49 ] うん歓迎してるぜ。
912 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:28:42 ] 充分にヒントになっているかと思うが?
913 名前:デフォルトの名無しさん [2008/09/01(月) 22:34:35 ] >>908 悪いがそれは違うな。もう一度JAVAのオブジェクト指向プログラミングの技法とやらから初めて、一からやり直したらどうだろか?
914 名前:デフォルトの名無しさん [2008/09/01(月) 22:38:00 ] >>907 StringBufferはreverse()するとき良く使いますw
915 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:39:56 ] Stringクラスは代入するたびに新しいStringオブジェクトを作るので、 メモリ的にも処理速度的もコストが高いんよ。 例えば、aとbとcの文字列を連結する場合に以下のような処理があったとすると -------------------- String buffer = a; buffer += b; buffer +=c; -------------------- StringBuffer buffer = new StringBuffer(a); buffer.append(b); buffer.append(c); -------------------- Stringでは、 += bをしている処理は a に b の文字列を連結してる のではなく、 aとbを連結したStringオブジェクトを新しく作ってる。 同様に +=c の処理でも 新しいStringオブジェクトを作ってる。 一方StringBufferでは、 .append(b) では 文字列を連結しているので 新しいStringBufferオブジェクトは作っていない。 つまり、新しいオブジェクトを作っていない(newしていない)分 メモリも速度も節約できるということ。
916 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:45:57 ] >>906 答えられもしないくせに適当なこと言うな
917 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:46:22 ] >>915 文字列の操作を行う場合は、って前提が抜けてなければ完璧な回答だったのにな
918 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:54:39 ] まぁ今はコンパイルする時点で文字列の結合はStringBuffer#append()に置き換えてくれるから単純な結合は無視しちゃっていいけどね
919 名前:デフォルトの名無しさん [2008/09/01(月) 22:56:28 ] 0と1を反転させる方法を教えてください。 かっこいい方法は無いですか?
920 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:00:00 ] 文字列の0と1なのか別のモノの0と1なのかくらい示せ
921 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:01:09 ] かっこいい方法…俺には無理だ
922 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:01:30 ] アセンブラの頃は良く XOR したな…
923 名前:デフォルトの名無しさん [2008/09/01(月) 23:03:47 ] int型でお願いします。
924 名前:デフォルトの名無しさん [2008/09/01(月) 23:09:04 ] >>915 そんな数十行にもわたって書くことじゃないと思うけど、お前が噂のニートだろ?それに友達も一人もいない自宅警備員で、実際は、プログラムも作ったことない無能だろww
925 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:15:03 ] おー、こわい、こわいw
926 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:17:44 ] > 893 ひとまず、標準入力の件に関しては java ReaderClass < data.txt といったデータの与え方をした場合の事なのではないかと理解しました。 確かに、この場合には間違いなく ready() の使い所と思います。 この理解は間違っているでしょうか?
927 名前:デフォルトの名無しさん [2008/09/01(月) 23:18:52 ] >>915 の性格はキモイ説明サイトと同類だな。 もう、そういうサイトはいっぱいあるし、一見丁寧に説明しているようでどうでもいいところが長いだけだし、その程度の説明じゃ人は来ないだろうけどww たとえば、x=1; new StringBuffer(x)とかだと、その説明の効率的の指摘からすれば、逆に非効率になるんじゃないの? 知ったかぶっりの雑学知識を披露したのは、わからないでもないんだけどねぇ・・・それじゃ文系のITジャーナリストと同じムジナだな・・・
928 名前:デフォルトの名無しさん [2008/09/01(月) 23:23:01 ] 文系といえば、確かにALL ABOUTの記事かいてるのはキモイ奴の多いよな。 「どこにも就職できなかったけど、All Aboutで拾ってもらいました!!」て感じのオーラが強いって言うか… 早稲田みたいなところの心理学科卒業で、All Aboutで「アロマがどうとかは心理的に〜」とか専門術語を使って妄想記事かいてるのは吹いたww >>915 は結局それと同じムジナ。もう無理しないで死んでいいよ。
929 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:24:08 ] >>919 !
930 名前:デフォルトの名無しさん [2008/09/01(月) 23:25:14 ] >>929 それはboolean
931 名前:デフォルトの名無しさん [2008/09/01(月) 23:29:51 ] 妄想ならせめて旧帝大レベルじゃないとだめだろ。といっても、この前の東工大の学生は、左手腕に刺青みたいな模様をさらけ出してて、危ないやっちゃなと思ったけど、東工大は旧帝レベルだから少しは聞いてやったw その話の真意よりも、たぶん自宅警備員候補だろうし、人生苦労する奴なんだろうなと思った。
932 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:30:17 ] >>926 そんな場合だからといってready()を使う必要なんてないよ。 10年ぐらいJava触ってて一度もready()を使ったことないけど、「入力が なければ他の処理をする」という感じの疑似マルチスレッドぐらいしか 用途が思い付かない。で、そういうときは素直にマルチスレッドにする。
933 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:32:10 ] 雑談したいなら他行け。 >>926 そうか? 標準入力を使うのは、その元が手入力だろうがファイルだろうがttyだろうがとにかく 何かが送られてくるのを受けたいだけだからだろう。 ファイルからだから ready を使うとか考えるのは違うんじゃないか。
934 名前:デフォルトの名無しさん [2008/09/01(月) 23:35:41 ] つまり、>>915 の説明はString/StringBufferの違いを本質的に指摘してないってことですね。実はそんな風に思ってましたがスッキリしました!
935 名前:デフォルトの名無しさん [2008/09/01(月) 23:39:39 ] 文系のITジャーナリストってのは、堀江豚と友達だったメガネで蝶ネクタイの30代ぐらいでキモイ奴か? あいつは正に素早く死んで欲しい。いつもおれは、寝る前には必ず神棚で手を合わせて「早く死んでくれって」祈ってるぐらいだし。
936 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:41:15 ] それそろすれ違い
937 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:55:54 ] >932, 933 リダイレクトで渡せば EOF が取れないだろうから ready() の出番・・・と思ったのですが、書き込んでから試したらきちんと EOF になりました(阿呆です) 何か根本的に道を間違えているようです。 標準入力 + ready() というキーワードにこだわり過ぎているのでしょうか。 (その辺りを離れて単純に ready() の使い道を考えるのであれば、932 さんの仰るような nio っぽい使い方が一番の使い所であるような気がします。)
938 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:03:55 ] Stringをだな。阿呆みたいに+=で連結しまくってるコードがあったんだ。 あんまりにもあんまりだと思って、StringBufferで書き換えてみたんだ。 でもベンチマークを取ってみると、1msも変わらなくてだな。 そのメソッドのほんの数行、DBをアクセスしてる部分が、処理時間の99% 以上を持っていってたんだ……。
939 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:15:58 ] つまりStringBufferの利用価値は自己満足が大半ってことですね?
940 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:18:38 ] それで結局StringとStringBufferの違いは何?
941 名前:デフォルトの名無しさん [2008/09/02(火) 00:19:36 ] Bufferって付いてるか付いてないか
942 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:20:07 ] 確かによほど下手なことせん限り大差ないよな。でも演算途中でnew,new,new....ってのは気持ち悪い・・・
943 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:22:33 ] もう夏は終わったんだぜ?
944 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:23:20 ] でたでたでた。
945 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:23:47 ] ちなみにStringBufferとStringBuilderとかHashTableとHashMapとかだと 実際の所どの程度速度に影響するもの?
946 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:33:23 ] >>916 夏の終わりの駆け込みかと思ってたけど、オマエ、本気なんじゃないのか?
947 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:34:48 ] >>926 間違ってるな。
948 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:36:48 ] >>945 そいつらへのアクセスが処理の多くを占めてたら、それなりに効いてくるんじゃないか? 特にマルチコア/マルチCPUだと、synchronizedの部分でメモリの同期化が行われるから、それなりに馬鹿にならないコストがかかるような気がする。 とは言え、Java7あたりだと、JITコンパイラが不要なロックを省略するような最適化をぶちかましてくれるらしいからな……。
949 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:36:50 ] >>945 それは自分でやってみれば分かる事じゃん・・・
950 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 01:19:11 ] String:不変オブジェクト StringBuffer:可変オブジェクト っていう教科書にありそうなのではどうだw
951 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 03:03:11 ] >>945 今となっては多分そんなには変わらない。
952 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 03:14:15 ] まだやってんのか。違いは、効率じゃないんだよね。
953 名前:デフォルトの名無しさん [2008/09/02(火) 03:27:17 ] ぼくらはreadyなんかなくても幸せ!
954 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 09:35:52 ] RandomAccessFileは、ソースを見てもnativeばかりですが、 実際(実装上)のところ多少はバッファがきいているから、BufferedInputStreamと同じように考えてよいのでしょうか。 他に気になるところはありますか?
955 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 09:39:19 ] EclipseってJavaでできてるみたいですが Eclipseはexeにするのに何使ってるんですかね?
956 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 10:48:08 ] >>954 どうしてバッファされていると期待できるのかが理解できない。 ソースは見てないけど、バッファされないと思うぞ。バッファリングと ランダムアクセスは相性悪いから。
957 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 10:53:37 ] いや、逆にバッファされていないと考える方がおかしいんだけど… 問題はバッファされているか・いないかじゃなくて、実用上問題ないかどうかだと思うが? それと、ランダムアクセスとバッファが相性悪いのはどの辺りに根拠があるの?
958 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 11:07:42 ] 相性とかそういうレベルの話でVMが作られてたら笑えるw
959 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 11:09:37 ] いつも通り>>956 の思い込みが根拠じゃね?
960 名前:デフォルトの名無しさん [2008/09/02(火) 11:17:54 ] >>958 そろそろ死んだ方がいいんじゃないか?人生疲れただろ。
961 名前:デフォルトの名無しさん [2008/09/02(火) 11:21:53 ] そうだよな…なんで俺は生きてるんだろう…
962 名前:デフォルトの名無しさん [2008/09/02(火) 13:09:56 ] ぼくらはEclipseなんかなくても幸せ!
963 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 16:01:00 ] ローカルでグラフィック描画する時は Graphics gr = img.getGraphics(); gr.drawLine(x1,y1,x2,y2); gr.dispose(); と毎回設定して廃棄しますが グローバルで Graphics gr = img.getGraphics(); としておいて、ローカルで gr.drawLine(x1,y1,x2,y2); だけで、ずっとgrを使いまわしてはだめですか?
964 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 16:23:10 ] いいよ ずっと同じimgに描画するのなら
965 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 16:26:23 ] そうですか
966 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 17:39:54 ] ぼくはJCPADだよ! みんな何使ってるの?
967 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 17:42:07 ] eclipse
968 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 17:43:36 ] 今JCPADからEclipseに変えたとこ 閉じるのがいいね
969 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 23:22:31 ] 30過ぎてJava覚えてJavaの資格とったらプログラマーの就職先見つかりまつか?
970 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 23:27:10 ] ちょっとの学歴あれば30ならまだ余裕で就けるよ
971 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:00:03 ] >>969 おでも三十で就職目指してます。 お互い頑張りましょう。
972 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:06:21 ] 2つの別のクラスで同じ値を共有したいと思っています ClassA、ClassBはループさせていて常に結果を出力しています。 ClassA{ if(hoge>0) ClassF.setX(true); else ClassF.setX(false); } ClassB{ test.setEnable(ClassF.getX()); } ClassF{ static boolean f; static void setX(boolean bl){ f = bl; } static boolean getX(){ return f; } } こんな感じのプログラムを書いたんですが、ClassBに反映されません どこが間違っているんでしょうか? それとも、別のクラスで同じ値を共有するのは無理なのでしょうか?
973 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:19:08 ] もうちょっと意図が分かるように書けよ。 ClassBに反映されないってどういう意味だ? test.SetEnabledで思った値が取れてないってことか? こんな擬似コードじゃ分からんけど、 もしループとやらが複数スレッドで同時に回し続けてるって意味なら、 ClassF.fへのアクセスを同期化する必要がある。 volatileにするかメソッドにsynchronizedつける。
974 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:19:34 ] >>972 別スレッドならsynchronizedかvolatile必須だぞ。 要素が1個かつJava5.0以上なら、AtomicBoolean等でもいい。
975 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:24:53 ] 大量のUDPパケットを受信して、処理したいんですが、 どうしても、幾つかのパケットを取りこぼします。 何か、効率良く処理できる方法はありませんか?
976 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:32:18 ] >>973-974 ありがとうございます。 volatile static boolean f; で望み度通りの結果を出すことができました。
977 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:37:50 ] >>975 どーやってんだ
978 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:44:18 ] >>976 変数が1個ならそれでいいけど、複数個ある場合はちゃんと同期取らないと変更途中のデータが読み出される可能性があるぞ。 詳しくは、マルチスレッドプログラミングに関する本を読んどけ。
979 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:46:00 ] >>975 UDPならパケットが取れないことがあるのは前提じゃないのか
980 名前:975 [2008/09/03(水) 00:46:50 ] DatagramSocketを使って、普通にポートを開いて受信しています。
981 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 01:26:19 ] >>979 答えは、UDPを使わないってことだな・・・
982 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 01:56:38 ] >>980 効率良くポートを開いて効率良く受信しろ
983 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 02:23:25 ] 動的なキャストはどうやるんでしょうか? windows95/98のプラットフォーム向けのアプリなんでjdk1.2相当なんですが。 よろしくお願いします。
984 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 02:26:08 ] 動的キャストは、 Object obj; ... val=(???)obj ですが、???がコンパイル時未定の時のキャストです。
985 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 03:03:37 ] で、それに何の意味があるの? ???が未定なのにキャストした後でどうやって使うわけ?
986 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 03:15:12 ] >>984 valの型にキャスト
987 名前:デフォルトの名無しさん [2008/09/03(水) 03:34:55 ] jdk1.5にある、val.getClass().cast(obj) といった方が早いですね。これを1.2でやるにはどういうコードになるんでしょうか。
988 名前:デフォルトの名無しさん [2008/09/03(水) 03:46:03 ] 最近プログラムを勉強しはじめてわからないことだらけなのですが キャストとパースの違いがよくわかりません どなたか教えてください
989 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 04:35:02 ] >>987 >>985 >>986 は無視かい・・・ Class#cast() は >public T cast(Object obj) { >if (obj != null && !isInstance(obj)) >throw new ClassCastException(); >return (T) obj; >} となってるから generic が無いと無理なんだと思っとけ。 それよりもこれを使うようなのは相当面相なプログラムだと思うが、 これを使わないですむようにするほうが後々の為になると思うぞ。
990 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 04:49:15 ] 無視というより、val=val.getClass().cast(obj) 程度で分かりませんでしたか。 使わないで済むように方法を探したんですけど、後々のためというより、ももともとターゲットが古くてこれしかないので聞いてるんですが? 知らないなら無理に御答えにならなくて結構ですけど、あなたはだいぶ妄想好きなんですねw 他に良い施策はありませんか?
991 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 04:59:34 ] >>984 val=(???)objのあと、valをどう使うつもりなの? 型が決まっていなければvalのメソッドとかを呼び出すコードもvalを他のクラスに渡すコードも書けないんじゃない? というかval自体の型はval=(???)objの前でどう宣言しているの? objになりうるクラス共通にインタフェースを実装させて、そのインタフェースにキャストするとか、 全体のクラス設計を見直した方がいいと思う。
992 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:01:45 ] 単なるキチガイだったのか……
993 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:03:36 ] >>990 お前の問題だから自分で捜せ そんな態度じゃまともな人のレスも付かないよ
994 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:07:05 ] そう思うんだけど、このスレの態度の方が酷くない。正しく真正糞スレだと思うが?
995 名前:デフォルトの名無しさん [2008/09/03(水) 05:09:42 ] 次スレ?
996 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:13:02 ] >>991 あなたは、答えらず、それにたいした能力もないのに、そんなに人の庭が好きなんですか? その設計とやらを知って、あなたは手伝ってくれるんですかねw 一つ忠告しておけば、首突っ込むのは程ほどにした方がいいですよ。
997 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:16:24 ] >>998 が>>988 に答えてやって>>999 は次スレ立てて誘導>>1000 は俺が踏む
998 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 06:02:25 ] ジェネリクスは静的処理... コンパイル時に決定できない型は、キャストするのも代入するのも不可能也。 パース...parse...castに似ている部分もあるのか... 【初心者】Java質問・相談スレッド119【歓迎】 pc11.2ch.net/test/read.cgi/tech/1220388885/
999 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 07:51:27 ] 999
1000 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 07:53:53 ] 1000get!
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。