1 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 15:05:35.48 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 (p)ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド158★★ toro.2ch.net/test/read.cgi/tech/1353647661/
44 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 19:47:01.45 ] doubleやint等の数値をファイルに書き込む時、みなさんどうやってます? 文字にして書き込む・obj以外で実現出来ますか?
45 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 19:56:01.43 ] よく分からないんだけど他にも色々ありますよ!
46 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 19:57:58.02 ] >>44 バイナリ
47 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 20:07:16.31 ] >>46 できないでしょ double は
48 名前:40 mailto:sage [2013/01/25(金) 20:08:41.37 ] >>43 大事な所を誤魔化してるからわかりづらいじゃんか。説明変わってるし。 /var/log/ /usr/local/apache/log/ みたいなのがあって、その下の log.err log.out log.2013-01-25 を処理して削除するようなイメージかな? 最初の説明だとあるディレクトリがあって、elem が "Java" の時に listFiles() を一回、 "C" の時に listFiles() を一回... となるけど、後の説明だと /hoge/piyo, /hoge/foo/bar, /hoge/baka/aho に対して一回ずつ listFiles すれば、「毎回ディレクトリ内の全ファイルを走査」 しなくていいだろ。 結局 listFiles() 使ってそのディレクトリのファイル一覧持ってきて、 各ファイルに対して名前をチェックして削除するようにすればいいんじゃないか? FilenameFilter を引数にして listFiles() を呼び出してもいいし。
49 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 20:09:27.01 ] 文字にして書き込むのが簡単です
50 名前:40 mailto:sage [2013/01/25(金) 20:10:08.36 ] つづき - 例えば.. String absolutePath = "/hoge/piyo" File directory = new FIle(absolutePath); String baseName = // 正規表現か何かで /hoge/piyo を piyo だけに直す。 File[] files = directory.listFiles(); for (File file : files) { if (file.getName.startsWith(baseName)) { file.delete(); } } これでダメなら自分で途中まで書いたコードを ideone にでも貼り付けて。 あと /hoge/baka/aho とか書かないほうがいいな。実社会でもアドバイス仰ぐときにそんなふざけないだろ。
51 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 20:13:09.10 ] >文字にして書き込む・obj以外で実現出来ますか? ってようするにバイナリデータに変換したいってことだろ byte b[] = new byte[4] ByteBuffer.putInt(1) ByteBuffer.get(b); bを書き込む
52 名前: ◆hXdaSRcZuYwp [2013/01/25(金) 20:27:26.57 ] オーバーロードについて教えてください。 このように書いたときvoid Method(Kobun kobun)が呼ばれることは保証されますか? 教えてくださいお願いします。 interface Oyabun { } class Kobun implements Oyabun { } void Method(Oyabun oyabun) { } void Method(Kobun kobun) { } Oyabun oyabun = new Kobun(); Method((Kobun)oyabun);
53 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 20:30:53.67 ] はい
54 名前: ◆hXdaSRcZuYwp [2013/01/25(金) 20:38:36.86 ] >>53 そうですか安心しましたそして解決しました。ありがとうございました。
55 名前:36 [2013/01/25(金) 21:05:51.83 ] >>50 arrayは処理対象ファイルのリストです。 arrayの要素/hoge/piyo等はファイルです。 /hoge/の下にpiyo, piyo.java, piyo.c, piyo.txt, boo, pee, /hoge/foo/等多くのファイル・ディレクトリがあります。
56 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 21:43:52.32 ] >>46 >>49 >>51 ありがとうございました 実数のバイナリ書込みは手間がかかりそうですね
57 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 21:50:36.39 ] >>56 static longdoubleToRawLongBits(double value) IEEE 754 浮動小数点の「ダブルフォーマット (double format)」ビットレイアウトに従って、非数 (NaN) 値を保持する、指定された浮動小数点値の表現を返します。 使うといいよ
58 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 00:52:32.81 ] Javaでdoubleを保存するのにバイナリ形式を 使う奴は100%ジジイ。
59 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 00:57:22.07 ] 爺じゃないけど知識不足でそうしてる人がここにいますが。
60 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 01:01:46.73 ] >>58-59 荒らすな雑魚ども
61 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 01:53:11.09 ] と、zakoインターフェースをインプルメンツした子が申しております。
62 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 02:56:09.30 ] 自己解決しませんでした
63 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 06:10:06.19 ] >>57 ありがとうございます 参考にさせて頂きます
64 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 09:29:54.50 ] あなたとJAVA →なんで大文字?
65 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 12:58:06.80 ] 画像の表示が出来ません。(abc.jpg) 使用ソフトは「NetBeans」です。 もちろん画像ファイルは同じフォルダに入れてます。 内容は次に書き込みます。 「行が長すぎます」の警告が出たので、 後半部分(閉じる部分 Closingなど)は削ってます。
66 名前:65の内容 mailto:sage [2013/01/26(土) 12:59:28.43 ] import java.awt.*; import java.awt.event.*; public class test extends Frame { Image i = getToolkit().getImage("abc.jpg"); public static void main(String[] args) { Frame f = new Frame(); f.setSize(300,200); f.setVisible(true); f.addWindowListener(new Ada());} public void paint(Graphics g){ g.drawImage(i,50,35,this);}
67 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 14:42:57.74 ] >>66 Frame f = new Frame(); じゃなくて new Test(); だろ。 そうしないと Image への参照を持たせて paint() をオーバーライドした意味ない。
68 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 14:54:47.43 ] ソース読むとき 頭の中でどうやって整理して理解してるん?
69 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 14:58:51.08 ] ツリー型で。
70 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 15:07:58.91 ] 馬鹿には無理
71 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 15:26:27.72 ] >>67 >Frame f = new Frame(); じゃなくて new Test(); だろ。 new Frame();をnew Test()に変更しても失敗します。 全体をnew Test();に変更したら、下記の「f.」部分がエラーになります。 また書き直しました。 「さすけのプログラミング入門 JAVA 画像表示」 のサイトを丸移しです。 フレームは起動しますが画像は出ません。
72 名前:71 mailto:sage [2013/01/26(土) 15:29:44.45 ] 上記サイトの「AWTを使用しての画像を表示」を引用してます。 import java.awt.*; import java.awt.event.*; public class Frametest extends Frame{ Image pi=getToolkit().getImage("abc.jpg"); public static void main(String[] args) { Frametest f = new Frametest(); f.setSize(200, 100); f.setVisible(true); f.addWindowListener(new Ada());} public void paint(Graphics g) {g.drawImage(pi,50,35,this); 以下略
73 名前:67 mailto:sage [2013/01/26(土) 15:58:55.89 ] 自分の環境だとそのまま動いたよ。 画像ファイルの置き場所が違うかもよ。 src 以下じゃなくて、プロジェクトディレクトリの直下だよ。 imgur.com/6O5aL5C
74 名前:71 mailto:sage [2013/01/26(土) 16:21:41.69 ] >>73 ありがとうございました。プロジェクト直下で無事表示されました。 今までは「Frametest.java」と同フォルダに入れてました。
75 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 19:00:15.60 ] URL resUrl = クラス名.class.getResource("res/"); Image image = getToolKit().getImage(resUrl.getPth()+"image.jpg"); みたいにしたほうがいいんじゃないの? フォルダにまとめないならgetResource("")で。
76 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 00:09:22.09 ] お聞きしたいのですが class A{ int n; A(int x){ n=x; } int getN(){ return n; } } class B extends A{ int k; B(int x){ k=x; } int getK(){ return k; } } 以下メインクラスメインメソッド A abc=new B(5); int tmp=abc.getK();
77 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 00:13:09.69 ] 上の続きです Aクラスを継承したBクラスのインスタンスをAクラス型に代入して abc.getK()でBクラスのgetK()メソッドを実行したいのですが、可能なのでしょうか? また上と同じような書き方でabc.getN()とすればAクラスのgetN()メソッドを実行できるのでしょうか? javaが複雑で頭がいたいです。どうか教えていただけますでしょうか。
78 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 00:16:47.71 ] あなたには無理なので諦めましょう
79 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 00:23:36.60 ] 実行して確認すれば済むだろ
80 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 09:19:01.09 ] Javaが複雑って、Javaのせいにするなよ・・・ どう考えても君の思考回路とソースの書き方のせいだと思うぞ。割とマジで。
81 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 11:16:12.86 ] >>77 Aクラスには引数をとるコンストラクタしかないから BクラスのコンストラクタでAクラスのコンストラクタを呼ぶ必要がある。 B(int x){ super(x); k=x; } >Aクラスを継承したBクラスのインスタンスをAクラス型に代入して >abc.getK()でBクラスのgetK()メソッドを実行したいのですが、可能なのでしょうか? キャストすればできるよ。 tmp = ((B)abc).getK() >また上と同じような書き方でabc.getN()とすればAクラスのgetN()メソッドを実行できるのでしょうか? できるよ。
82 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 12:14:33.30 ] Javaやると必要なプログラムは自分で作るんじゃなくてどっかから探してくるっていう姿勢がついてよくないと思うわ
83 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 13:09:47.12 ] 馬鹿になるプログラミング言語
84 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 13:19:13.75 ] >>77 Aクラスに存在しないメソッドをAクラスの変数に代入した インスタンスから実行することは不可能です。
85 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 13:19:41.79 ] 初めての言語はjavaなら馬鹿にはならないが、C++から移行すると馬鹿化してC++には戻り難くなる
86 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 13:42:33.97 ] >>82 プログラミング自体が目的と化しているよくない傾向がみえる
87 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 14:51:23.84 ] >>82 車輪の再発明イクナイ
88 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 15:36:15.63 ] できることが制限されるだけ 再発明ヨクナイとか言ってツクールでクソゲー作ってろよ
89 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 16:09:06.59 ] >>88 こういう雑魚は相手にするなよ
90 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 18:02:15.85 ] お前が一番初めに相手にしてる件
91 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 23:10:11.36 ] お前だろ
92 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 23:19:16.17 ] JavaでGUI作るならAWT Swing SWT どれがいい?
93 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 23:19:48.77 ] JavaならHTMLが唯一の選択肢だよ どれも間違い
94 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 23:30:10.45 ] SWTとawt。 Swing使うときはすぐに実装したいとか小規模のときにしか使ってないな 資料少ないが、javascriptが弄れるんでSWTはかなーり使われてるよん
95 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 23:59:12.09 ] SWTってマルチプラットフォーム対応?
96 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 00:03:35.63 ] はい
97 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 01:40:11.61 ] じゃあSWT覚えます
98 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 01:46:36.72 ] SWTってもしかしてプラットフォームごとにコンパイルしないといけないの?
99 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 02:26:32.26 ] クロスプラットフォームだから当然。 でもここまで何だかんだ使われてるのは「Javaなのに」っていう用途以外でもJavaが使われてる証拠だな
100 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 10:45:34.05 ] そういう意味ならC++だってクロスプラットフォームになっちゃうだろ 真のJava信者なら1バイナリでどこでも動くというJavaの崇高な理念に反するものは使用してはならない
101 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 10:57:00.28 ] そうですか、頑張ってくださいね
102 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 11:14:20.86 ] >>100 Androidは?
103 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 11:20:29.20 ] >>102 Javaじゃないよあれ OracleはJavaの互換性を壊すクソ海賊版だと言ってるし GoogleもJavaじゃなくてJava言語だと言ってるし
104 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 11:32:51.09 ] >>103 おら来る 所詮インタプリタでえらそーにねぇ ポインタ位使えるようにしろよ
105 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 11:36:11.64 ] 公式JVMはAndroidのDalvikより遥かに性能いいよ
106 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 11:42:19.13 ] ふーん... マルチプラットホームっていうけど、鯖以外で、 業務用アプリのターゲットとしてwin 以外に何があるの? クソまっくなんか企業は使わないでしょ? linaxは...さらに ま、流れはデスクトップ、ノートからタブレットに移行するから、 気がついたらほとんど全部Androidって事になっちゃうんじゃないのかなぁ
107 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 12:14:37.99 ] もともと鯖専用なんだから0から0になるだけだよ