【初心者】Java質問・相談スレッド66【大歓迎】
ここjavaか、失礼
>>825 Listの<T> T[] toArray(T[] a)ですかね?
double d[] = m.getDoubleList().toArray(double[] d);
としてもトークンに構文エラーがあると言われますし、googleでtoArrayを調べても
引数はT[] aではなくObject[]だと書かれています…
>>824(831)
>(double[])とキャストしようとしても駄目でした
キャストするならこうする。↓
double d[] = (double[])(m.getDoubleList().toArray());
>>832 Object[]からdouble[]へのキャストはできないと言われるんですが
>>831 それ構文おかしいから
本当に検索したのか?
835 :
832:2005/05/18(水) 17:48:26
ごめん。プリミティブ型か・・・。
ん?
Σ( ̄□ ̄)
double の List ってそもそもなんやねん・・・。
ちょっと待って
Doubleかも
(m.getDoubleList()).toArray(Double[]);
じゃないの。
Double [] d0 = (Double[])m.getDoubleList().toArray();
double [] d = d0;
double [] d = new double[d0.length];
for (int i = 0, m = d0.length; i < m; i++) {
d[i] = d0[i].doubleValue();
}
こうしないといけないのかなあ?
申し訳ない。そのクラスのJavadocにdoubleて書いてたんだけど、Doubleの
間違いだったみたいです
Double[]でキャストすると例外が出る理由はわからないけど…
841 :
832:2005/05/18(水) 18:28:25
Double でいいんなら
Double d[] = (Double[])(m.getDoubleList().toArray());
> 例外が出る理由はわからないけど…
その例外が何かくらい書け。
だからtoArray(Object[])のほうだとなんd
Double d[] = (Double[])(m.getDoubleList().toArray(new Double[m.getDoubleList().size()]));
一人わざと通らない書き方を教えようとしてるやつがいる
845 :
デフォルトの名無しさん:2005/05/18(水) 19:44:05
匿名内部クラスにをスレッドを
書いたのですがそれのstartの
させ方はどうすればよいのですか?
>>845 好きにすればいい。
っつか、start() 出来ない理由がわからん。
とりあえず助詞をはっきりさせてくれないと、解釈できん。
>>840 toArray()は、List内の型に関係なく、Object[]を返す。
Double[]をObject[]にキャストしたものではなくて、new Object[]したものを返す。
で、Object[]はDouble[]にキャストできない。ダウンキャストになってないし、Object[]型はDouble型に
変換できない。
Object o = new Object();
Double d = (Double)o;
がエラーになるのと同じこと。
これが (Object[])new Double[]ってな、もともとDouble[]型だったものをObject[]にキャストした
ものだったら、Double[]型に戻せるわけだが、toArray()が返すのは new Object[]で作ったものだ。
new Double[]したものを返して欲しかったら、他の人が言ってるように引数付きのtoArray()で
newする型を指定してやらないといけない。
849 :
ぷ:2005/05/18(水) 23:13:05
サウンドを取得再生する方法を教えてくださいm(__)m
JavaSoundは調べたのかい?
JavaSounds
単にappletでauファイルをサーバーから取ってきて鳴らしたいだけだったら笑えるな。
853 :
デフォルトの名無しさん:2005/05/18(水) 23:54:51
JDK 1.4 使って XML + XSL から HTML 作っています。XSL の出力エンコーディングで
euc-jp を指定してやると (<xsl:output method="html" encoding="euc-jp" />) 出力される
HTML のダブルバイト文字がすべて dddd; のエンティティ表記になります。
Shift_JIS や utf-8 だとこんなことはないのですが、euc-jp で日本語を出すにはどうしたら
良いでしょうか?
どういうPG組んでるか?
ピグモン?
>>854 StreamSource xslsrc = new StreamSource(xslfile);
StreamSource xmlsrc = new StreamSource(xmlfile);
StreamResult htmlresult = new StreamResult(htmlfile);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(xslsrc);
transformer.transform(xmlsrc, htmlresult);
だがこういう意味じゃなくて? xslfile, xmlfile, htmlfile は File 型。
元の XSL ファイルは Shift_JIS、XML は utf-8 だす。
アナタ シャチョか?
シャチョさん
861 :
デフォルトの名無しさん:2005/05/19(木) 15:04:42
JAVA1.5では1.4のときと比べて
GUIのTextAreaの使い方変わってませんか?
そう思う理由は?
Javaでwebブラウザを作ろうと思うのですが、
HTMLの描画に関して、IEコンポーネントなどを
使うなんて事はできるんでしょうか?
>>863 Firefox+Javaでググリマクリスティ
シャチョか?
シャチョさんシャチョさん
>>864 ググってみましたが、特に関係ありそうな結果はでず・・・
どういうことなんでしょう?
>>867 おお、そこのデモにあるブラウザは確かにIEコンポーネントのようですね。
JDICパッケージならば使えるって事なのかな?
調べてみる事にします。
869 :
デフォルトの名無しさん:2005/05/19(木) 22:25:05
抽象クラスとインタフェースがイマイチよく理解できません。
分かりやすく教えてください。
違うクラスでも、呼べるメソッドが同じならもう一緒ってことにしとこうよ、というのがインターフェース。
同じくスーパークラスが同じだったら、もう同じってことにしとけるよね。スーパークラスはサブクラスで
置き換え可能だから。
じゃあ継承することが前提の、共通部分だけ実装した基礎クラスみたいなの作っちまって、サブクラスで
未実装のとこだけ実装させようってのが抽象クラス。抽象クラス自体はインターフェースみたいな役割も
もってる。
>>871 abstractは完全抽象クラスじゃなくてもいいんだ。やば、仕事でOOなんか使わないから忘れつつある。
873 :
デフォルトの名無しさん:2005/05/20(金) 00:38:51
switch文を使い、成績が5→「大変優秀」、4→「優秀」、3→「普通」、それ以外→「もっとがんばろう」
というメッセージを出すプログラムを作成しなさい。
さっぱりです、おねがいします。
switch(hoge)
case 5:
大変優秀
・・・略・・・
case 3:
普通
default:
もっとがんばろう
ってか、この問題が本当にさっぱりわかんないんだったらプログラム向いてないぞ
>>875 error:ツッコミどころが多すぎます。
Error:1
>>874 誘導有難うございます。
当方JAVA初心者で自宅のPCにJAVAを落としたのですが
いまいち使い方がわからなくて(学校のと違うため)かきこんでしまいました。
end:
switch(seiseki){
case 5:
System.out.println("大変優秀");
break end;
default:
switch(seiseki){
case 4:
System.out.println("優秀");
break end;
default:
switch(seiseki){
case 3:
System.out.println("普通");
break end;
default:
System.out.println("もっとばんがろう");
break end;
}
}
}
以下、文法規則すら違う>877の「学校のJava」と「自宅のJava」とは何なのかについて推察するスレ。
学校のJava = JavaScript
派遣のJava = JavaScript
JavaScriptのほうが難しい
Webにまともなリファレンスが少ないし、IDEの補間もないし、バグでほうだいだし
以下、C言語理解は優れるが日本語理解が乏しい
>>882が日本語を学ぶスレ
>>886 >学校のと違うため
っていうところじゃないか?
単にバージョンが違うか学内専用のJAVAなのかというだけだろ
889 :
デフォルトの名無しさん:2005/05/20(金) 12:45:30
java.lang.Longクラスを見ていたら、
JavadocにはlongValueというメソッドが記述されているのに、
PCにインストールした1.4.2_04にはそのメソッドが無い。
他にも相違するメソッドがちらほら。なんでだろ?
891 :
デフォルトの名無しさん:2005/05/20(金) 13:09:07
update()とかpaint()以外で g.drawString() するには
どうしたらいいですか?
CでWM_PAINT以外でTextOut()するならGetDC()でHDCが
得られますが、javaでは g を得る方法ってありますか?
public class _2ch extends Applet
{
public static void main(String[] args){
func();//ここでこのパネルのgを引数で渡す?
}
public void mygraph(){
g.drawString("2ch world!", 30, 30);//このgを得たい
}
}
public void mygraph(Graphics g){ 略 }
ってやればいいんじゃない?
そういう問題じゃない?
>>889 longValueってNumberで定義されてるし、ないってことはあるんか
getGraphics()
898 :
デフォルトの名無しさん:2005/05/20(金) 14:11:23
おおっもう少しです!!
import java.applet.*;
import java.awt.*;
public class _2ch extends Applet
{
public static void main(String[] args){
mygraph();//ここでこのパネルのgを引数で渡す?
}
public static void mygraph(){
Graphics g = Graphics.getGraphics();
g.drawString("2ch world!", 30, 30);//このgを得たい
}
}
899 :
デフォルトの名無しさん:2005/05/20(金) 14:12:19
出ましたっ!!
C:\WINDOWS\デスクトップ\新しいフォルダ>javac _2ch.java
_2ch.java:9: シンボルを解釈処理できません。
シンボル: メソッド getGraphics ()
位置 : java.awt.Graphics の クラス
Graphics g = Graphics.getGraphics();
^
エラー 1 個
アプレットのほうのGraphicsを取得しろよ・・・
901 :
デフォルトの名無しさん:2005/05/20(金) 14:33:55
うまくいかないでし。
import java.applet.*;
import java.awt.*;
public class _2ch extends Applet
{
public static void main(String[] args){
mygraph();//ここでこのパネルのgを引数で渡す?
}
public void mygraph(){
Graphics g = this.getGraphics();//thisはこのアプレット
g.drawString("2ch world!", 30, 30);
}
}
///static でない メソッド mygraph() を static コンテキストから参照できない
なんで main から呼び出そうとしているのか
というか、もっと考えようよ
アプレット以前の問題じゃないかい?
アプレットとアプリケーションの区別がついてないってか
適当なアプレットのソースを見た方が解決が早い。
_2ch ni = new _2ch();
ni.mygraph();
アプレットのプロジェクトが、急に起動しなくなりました。
sun.applet.AppletViewer at localhost:1304
Thread [main] (Suspended (exception NullPointerException))
TrueTypeFont.open() line: 246
TrueTypeFont.verify() line 368
TrueTypeFont.<init>(String, Object, int, boolean) line 153
FontManager$1.run() rine: 205
AccessController.doPrivileged(PrivilegedAction<T>) line not available [native method]
(以下略)
TrueTypeFontとか出てますが、プロジェクトでもExplorer上でも、
いじったりなどしていないし…なんでしょう?
907 :
デフォルトの名無しさん:2005/05/20(金) 16:34:26
>>775で動的なJNLPの動的な応答について、質問したものです。
前よりマシな方法があったので、レスしておきます。
>>777で書いたように、
1) ブラウザから呼出 → サーブレット → パラメータを処理してjnlpを返却
2) Java Web Startが起動
3) 受け取ったJNLPのhrefを属性を見て、Java Web StartがJNLPファイルをリクエスト
4) jarのダウンロードと、アプリケーションの実行
3)の、「href属性を見て、Java Web StartがJNLPファイルをリクエスト」してくる時に、
サーバー側で、1)と同じレスポンスができない事が問題でした。
1)で返すJNLPレスポンスで、href=""として返すようにしたところ、
3)のリクエストが来なくなり、1)で返したJNLPデータで起動するようになりました。
その代わり、アプリケーションマネージャには、ダウンロード済みのアプリケーションとして
表示されなくなりました。ローカルのJNLPファイルのキャッシュが作成されなくなりました。
(ダウンロードされるJARファイルはキャッシュされます)
>>775参考サイトのように、アプリケーションマネージャに、
同じアプリがたくさん表示されるよりはマシだと思います。
908 :
デフォルトの名無しさん:2005/05/20(金) 20:59:35
XMLEncoder encoder = new XMLEncoder(new FileOutputStream(file));
encoder.writeObject(this);
encoder.close();
でXMLでファイルに永続化しようとしたんですけど、ファイルには
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0_02" class="java.beans.XMLDecoder">
<object class="Config"/>
</java>
しか書かれません
どうすれば、インスタンスの情報をファイルに書き出せますか?
おまえら おかしすぎ わらってしまった Applet&main
お笑いの人?プロフェッショナルなボケですね
>>908 書き込もうとしてるオブジェクトはJavaBeans?
912 :
908:2005/05/20(金) 23:14:43
>>911 普通に作ったクラスです
JavaBeansとかじゃないとダメなんですか?
どうすればJavaBeansにできますか?
>>912 普通にクラス作っただけでもJavaBeansっちゃあJavaBeans。
>>911が何を聞きたいのかしらんけど、セッターゲッターでのプロパティを持つかどうかかな。
昔はJavaBeansっていったら、BeanDevelopmentKit(BDK)で使うものっていう解説が多かったな
java.beans.BeanInfo 使っているやついるのかな?いまでも
>>913 JavaBeansじゃないとXMLEncoderはきれいにまわらんよ
つまりせったーとげったー使ってるわけだが
916 :
908:2005/05/21(土) 00:06:09
セッターとゲッターをちゃんと作ってやれば、XMLで出力できるんですね
とりあえず、Eclipseで作ってみましたけど、まだ同じ結果でした
セッターとゲッターがちゃんと作られてるかみなおしてみます
getの後は大文字で・・・とかそういう決まりごとどっかにあったような・・・
それに反すると駄目だよね
>>908 ソース見せろ
918 :
908:2005/05/21(土) 00:26:38
まず短いコードでやってみな
920 :
908:2005/05/21(土) 01:32:58
多分判りました
セッターでセットした値でないと書き出されないみたいですね
なにを当たり前のことを・・・
Eclipseユーザだったら、EMF使うと気持ちいいんだけどね。
オブジェクトの永続化とか。いろいろプラグイン突っ込んでると
知らない間にインストールされてるし。
923 :
908:2005/05/21(土) 02:09:03
>>923 JavaBeansのコンストラクタは引数を持てなかったはず。
あとBetwixtでは駄目なの?
フォーマットを変えたくなった時とかでも、.betwixtを書き
替えるだけで済むし、なにより簡単。
925 :
924:2005/05/21(土) 02:42:40
今、ソース見た。
コンストラクタの中でセットした値って意味かorz
2行目は取り消しということで
927 :
デフォルトの名無しさん:2005/05/21(土) 03:00:19
>>924 Betwixtは知りませんでした
ググってみます
>>926 なるほどー
コンストラクタ内で値を設定すると
それと同じ値をセッターでセットしても書き出されないんですね
ありがとうございました
928 :
デフォルトの名無しさん:2005/05/21(土) 03:10:35
LinuxでMySQLに接続できません。
DriverManager.getConnection("jdbc:mysql://localhost/testdb?useUnicode=true",user,pass);
で↓こんな例外がでるのですが、、
Exception in thread "main" java.sql.SQLException: null, message from server: "Host 'localhost.localdomain' is not allowed to connect to this MySQL server"
これってどんなエラーか分かりますか?
DBもつくってあるのですが、、MySQLとコネクタの相性か?ともに最新で、次のものを使ってるのですが。
LinuxはFeradoCore2 MySQLは3.23.58-9.1、コネクタは3.2.0-alpha
だれか助けて〜
簡単に言うと
MySQLはユーザIDとパスワードの他に接続元のIPアドレスの3つの組で接続の許可・拒否している
MySQLのコマンドで
mysql>select * from mysql.user;
ってやてみたらわかる
その中の
Host,User,Passwdが一致していないと駄目だ
(ちなみにPasswdは暗号化されている)
そこに無ければlocalhostのユーザ追加してやれ