[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 03/12 09:33 / Filesize : 268 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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という言語を作る仕事がものすごく難しい






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef