★★Java質問・相談スレッド169★★

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレッド
★★Java質問・相談スレッド168★★
http://toro.2ch.net/test/read.cgi/tech/1394896261/
2デフォルトの名無しさん:2014/05/17(土) 06:53:25.86 ID:+eO2eAc+
前スレの997だけど
waitForの仕様はWindowsのGetExitCodeProcessのコードを返すことではなくて
「プロセスの終了ステータスを返す」ことなので
その通りに実装されていないJavaのバグでしょ。
WindowsのGetExitCodeProcessの仕様を読むかぎり
単独で使用しちゃダメなAPIであることは明白だし
.NETはそんなbuggyな実装はしてない
3デフォルトの名無しさん:2014/05/17(土) 09:40:15.51 ID:tAKMljpY
馬鹿にはjava
4デフォルトの名無しさん:2014/05/17(土) 11:22:55.49 ID:j8jlYIFc
>>2
bugdatabase行って来れば?
普通の人はそれで困ってないんだろうし。
5デフォルトの名無しさん:2014/05/17(土) 11:38:40.60 ID:FdKktbj9
Javaのバグだとどうしようもないですね。
exeのほうを修正して値をファイルなど別の手段で返すしかないか・・・
6デフォルトの名無しさん:2014/05/17(土) 12:03:53.66 ID:k3Z9P0Ob
http://otn.oracle.co.jp/technology/global/jp/sdn/java/community/index.html

バグの調査・報告
Bug Database (英語)
Javaのバグ情報の検索、報告を行うことができます。

Web アドレス http://bugs.sun.com が正しいか確かめてください。
7デフォルトの名無しさん:2014/05/17(土) 12:21:11.66 ID:j8jlYIFc
bugdatabaseでぐぐればすぐに出てくるよ。
82:2014/05/17(土) 12:41:58.99 ID:bdAvlre6
これかな
https://bugs.openjdk.java.net/browse/JDK-8042019

バグとして認識されているが直すつもりはないらしい
9デフォルトの名無しさん:2014/05/17(土) 12:45:35.09 ID:xn8Rp+3I
またwindowsの互換を壊すための実装の話か。
10デフォルトの名無しさん:2014/05/17(土) 14:10:54.61 ID:9pbAmHKW
booleanの初期値はfalseですよね。
あるプログラムで実行すると
if (flug==true) {

の中身が原因でヌルポが出ます。
フラグは触ってないので本来ならそのif文の中身は処理されないはずなんです。

booleanの宣言時にflug=false;にするとエラーは出ません。
初期値がtrueになる原因はどんな事が考えられますか?
11デフォルトの名無しさん:2014/05/17(土) 14:21:48.54 ID:ACFvUCnU
>>10
いや絶対何かしてるから
IDE用意して参照部洗い出してデバッガで追いなさいな
12デフォルトの名無しさん:2014/05/17(土) 14:33:17.69 ID:HvIgnxEv
booleanがBooleanになってるとか
13デフォルトの名無しさん:2014/05/17(土) 14:44:12.57 ID:9pbAmHKW
>>12
bingoでした!ありがとうございます。
trueじゃなくてnullになってました。
booleanとBooleanと別のものだとは知りませんでした。
14デフォルトの名無しさん:2014/05/17(土) 15:15:47.70 ID:c6NrBduT
前スレの質問で、クラスパスは、
java -cp で指定するか、
ユーザ環境変数、CLASSPATHに、絶対パスを設定する
c:\パス名\ファイル名.jar(.jarまで必要)


前スレの老人プログラマーには、
「スッキリわかる Java入門」
インプレス・ジャパン、2011を薦める

この本なら、20時間ほどで読めるし、
オブジェクト指向もみっちり勉強できる

自分が理解できない本やサイトに、こだわっても仕方がない
他人にわかりやすく説明できる人は、ごく一部。
自分がアホと思うより、まず説明を疑った方がよい
15デフォルトの名無しさん:2014/05/17(土) 15:33:33.97 ID:wNVhNSpm
お前には休養を勧める。
16デフォルトの名無しさん:2014/05/17(土) 16:28:59.52 ID:4kDFJ9I3
>ユーザ環境変数、CLASSPATHに、絶対パスを設定する

腐ったやり方をひとにすすめないで
17デフォルトの名無しさん:2014/05/17(土) 17:58:00.75 ID:EjI2tlSy
NIO2の非同期処理でtcpクライアントを書いています。
教えてほしいのですが、
readerのCompletionHandlerを設定した場合のreader.completed()が呼ばれるタイミングは、

(1)とりあえず読み込みは完了した。しかしサーバーから送信予定の全てのバッファを読み込んだとは限らない。
(2)サーバーから送信予定の全てのバッファを読み込んだ。もうサーバーからの送信はない。

どちらになるのでしょうか?
18デフォルトの名無しさん:2014/05/17(土) 18:03:09.98 ID:EjI2tlSy
17です。補足させてください。

通常のsocketアプリの場合、例えば受信イベントが発生し、そのデータを受信しても全てを受信し終わったとは限らないので
(一回の送信で全てを送信できるとは限らない)複数回に分けての受信を考慮しますが、
NIO2のCompletionHandlerも同じということでしょうか?
19デフォルトの名無しさん:2014/05/17(土) 18:59:52.45 ID:j8jlYIFc
それ(2)だと非同期使う必要なくね?
20デフォルトの名無しさん:2014/05/17(土) 19:45:09.65 ID:te2IP1pO
>>14
どれが老人なのか詳しく
21デフォルトの名無しさん:2014/05/17(土) 20:46:52.09 ID:4oMIeq9u
前スレ979とか、碌にレス返せないなら質問すんな
22デフォルトの名無しさん:2014/05/17(土) 20:51:42.72 ID:C3H8WJyw
androidのアプリを開発するためにJavaを学ぼうと思っています。
今までプログラムはCをメインに勉強していて、C言語でマイコンを扱うぐらいはできます。
Javaを学ぶのにあたり、よさげな参考書があれば教えてほしいです。
あくまで、androidアプリ開発が目的です。
23デフォルトの名無しさん:2014/05/17(土) 20:57:09.14 ID:4oMIeq9u
androidスレか本スレで聞けよ
24デフォルトの名無しさん:2014/05/17(土) 20:59:26.31 ID:C3H8WJyw
失礼しました。別スレに移動します。
25デフォルトの名無しさん:2014/05/17(土) 21:50:53.93 ID:EjI2tlSy
17です。
>>19
そうですよね、、、失礼しました。
26デフォルトの名無しさん:2014/05/18(日) 11:54:53.85 ID:0kvX68pZ
http://maguro.2ch.net/test/read.cgi/pc2nanmin/1372918692/145
  ↑ ↑ ↑ ↑ ↑ ↑
27デフォルトの名無しさん:2014/05/18(日) 13:48:24.09 ID:mYG0VEmj
tomcat + netbeans +maven でjsf 2を使いたいのですが、次の例外で落ちてしまいます。

>java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

クラスパスが通っていないのっだと思うのですが、
NetBeansでは自動的にmaven依存関係にクラスパスを通してくれないのですか?
28デフォルトの名無しさん:2014/05/18(日) 14:43:45.48 ID:itjJiC6J
どっかで見た質問
29デフォルトの名無しさん:2014/05/18(日) 14:46:59.76 ID:itjJiC6J
30デフォルトの名無しさん:2014/05/18(日) 15:01:20.94 ID:mYG0VEmj
ごめん、質問したこと自体忘れてた。

今気がついたんだけど、NetBeansの「Apache TomcatまたはTomEEログ」って
クリアした後にtomcatを再起動するとこれまでのログがすべて表示されるんだね

クリアの意味無いじゃん。MSのツールが神様に見えてくる
31デフォルトの名無しさん:2014/05/18(日) 15:20:15.61 ID:itjJiC6J
俺もこの質問わすれるから、MSのスレに行けよ
32デフォルトの名無しさん:2014/05/18(日) 17:37:02.43 ID:k3zpak/4
netbeans使ってるプロジェクトに遭遇したこねーわ
全部eclipse
33デフォルトの名無しさん:2014/05/18(日) 18:38:59.12 ID:8y/BVmmh
使っているやつが
JSF使いやすいが
動作がくそ重いって言ってた
34デフォルトの名無しさん:2014/05/18(日) 19:23:32.11 ID:WdyNhwqh
>>22
>>14
その後、Android用の本も買ってください
35デフォルトの名無しさん:2014/05/18(日) 19:26:27.43 ID:2DhOUcYa
>>33
いつ頃の話?
10年前とか?
36デフォルトの名無しさん:2014/05/18(日) 20:25:03.44 ID:ZUzVYIGO
>>32
プロジェクト単位でIDE決めるのか。
37デフォルトの名無しさん:2014/05/18(日) 23:39:29.72 ID:LJe2tmFV
javaのデモは政治的な理由でnetbeansだな。
俺もeclipseだから開けなくて面倒くさい。
38デフォルトの名無しさん:2014/05/19(月) 03:11:01.87 ID:/jZGUGua
Oracle JDK を Linuxで展開しようとしてもできなくなってるんだがどうなってるの?

>tar zxvf jdk-7u55-linux-x64.tar.gz

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

っていわれて解凍できないんだがなんのこれ?
39デフォルトの名無しさん:2014/05/19(月) 04:38:06.27 ID:mbE3Cq5f
ここで質問してるからにはダウンロード失敗の可能性は既に確認済みなんだろうな
40デフォルトの名無しさん:2014/05/19(月) 16:47:31.78 ID:9iJrVVoe
>>38
fileコマンドでファイルが本当に
tar.gzが確認して。
違っていたらファイル名を修正して
あとは本当のフォーマットに適合したことをする。
41デフォルトの名無しさん:2014/05/20(火) 02:12:49.06 ID:sR6X//Eh
>>39が答えを書いているようなものなのに
Oracleを疑っているのか
42デフォルトの名無しさん:2014/05/20(火) 10:44:32.70 ID:VbpADmch
エロい人教え下すん。

BufferStrategy.show() をする場合に、
Component.repaint(x, y, width, height) みたいな描画領域の指定の仕方ってありますか?
vram想定してるから無いのかな。

因みに、BufferStrategyを使う場合、そこに描画する素材もVolatileImageで用意しておかないと、
結局速度でないって話でおkですか?
43デフォルトの名無しさん:2014/05/20(火) 20:03:14.24 ID:dD/4piIP
>>42
repaint(x,y,w,h)相当があるかは知らないけど
バッファを入れ替えながら描画してるわけだし
あっても上書きできるのはビデオポインタの指してない古いバッファのような…
44>>42:2014/05/20(火) 20:58:49.17 ID:VbpADmch
>>43
レストンクス。

考えたらそりゃそうですね。サーセンした。
45デフォルトの名無しさん:2014/05/21(水) 19:20:10.09 ID:EfVqZmfA
http://www.dotup.org/uploda/www.dotup.org5074716.png

今日初めてプログラミングの勉強を始めたんだけど
しょっぱなから実行できなくて困った
お暇な方たすけてくらさい
46デフォルトの名無しさん:2014/05/21(水) 19:28:14.99 ID:ch5GrUDX
>>45
PrintTest.classが存在しない
47デフォルトの名無しさん:2014/05/21(水) 19:30:39.10 ID:hVvoZGVH
クラス名の大文字小文字が適当すぎだろ
48デフォルトの名無しさん:2014/05/21(水) 19:33:50.84 ID:EfVqZmfA
http://www.dotup.org/uploda/www.dotup.org5074741.png

こうなっちゃうんですよね、、、、
49デフォルトの名無しさん:2014/05/21(水) 19:45:24.03 ID:olVhIrQM
引数
string→String
50デフォルトの名無しさん:2014/05/21(水) 19:49:06.69 ID:ch5GrUDX
InputStreamReader
System.out.print
System.out.println

お前のエラーは全部構文エラーだから正しいエラー内容吐かないその糞ツール使うのやめて
eclipseっていう開発ツール使え
51デフォルトの名無しさん:2014/05/21(水) 19:50:24.60 ID:DoS8e0yv
*.classはソースコードではなくコンパイラの成果物でオブジェクトファイルの一種
何見て勉強してるのか知らないけどCPADじゃなくてNetBeansなりEclipseなり使おう
開発環境の構成なんて後回しにすべき
52デフォルトの名無しさん:2014/05/21(水) 19:50:34.12 ID:EfVqZmfA
>>49
うおお
よく見たら、、、!
ありがとうございます!
まだ実行はできなかったけどちょっと間違い全部さがしてみます
53デフォルトの名無しさん:2014/05/21(水) 19:59:24.16 ID:EfVqZmfA
>>50
了解です!あざっす!
ダウンロードします
>>51
学校のプリント見ながらやってます
プリントだけ渡してあとは勝手にやって、みたいな雰囲気なので悩んでました
CPAD勉強用にはいいよーって上の人に聞いたので聞いたままこれでやってたのですが
エクリプス使ってみます
54デフォルトの名無しさん:2014/05/22(木) 00:10:45.96 ID:USeJ699V
JavaMailを使って、Port:587(TLS)で動いてる
smtpサーバにサクっとアクセスしてメール送る方法ってありますか?

SpringベースでjavaMail使うメール送信処理作ってるんですが
TLSが有効にならなくて、調べてみたらjssecacertsをjreのlibに入れて
keytoolで登録処理しなきゃならんとかって情報は見つけたんですが
もっと手軽にTLS送信できないかと思いまして。。。
55デフォルトの名無しさん:2014/05/22(木) 00:19:44.49 ID:WnJxxNfY
>>54
Properties p=new Properties();
p.put("mail.smtp.starttls.enable", "true");
Session s=Session.getDefaultInstance(p);
MimeMessage m=new MimeMessage(s);
Transport.send(m);
だろ。JavaMailの仕様には無いので無保証で。
56デフォルトの名無しさん:2014/05/22(木) 00:32:39.89 ID:USeJ699V
>>55
ありがとうございます!
57デフォルトの名無しさん:2014/05/22(木) 01:00:58.42 ID:V78Bklda
JAVAを使ってsmtpサーバにサクっとアクセスしてメール送る方法ってありますか?

SpringベースでjavaMail使うメール送信処理作ってるんですがうまくいかなくて、
調べてみたらコンパイルとかクラスパスとかjreのインストゥールって情報は見つけたんですが
もっと手軽にmale送信できないかと思いまして。。。
58デフォルトの名無しさん:2014/05/22(木) 01:53:18.95 ID:8jlnLbV/
>>42
>VolatileImageで用意しておかないと
いらないよ。BufferdImageがやってくれる。
59>>42:2014/05/22(木) 10:15:47.11 ID:BRebVpjz
>>58
レスdです。最適化してくれるのですね。それでいってみます。
60デフォルトの名無しさん:2014/05/22(木) 23:13:57.99 ID:tilQOmwZ
画面にテキストボックスを貼り付けて、キーボードで入力した文字を
表示するようにしたのですが、keyPressedなどのイベントが発生しません。
(KeyListenerは実装済み)

 ・画面内をいろいろクリック       :イベントは発生しない
 ・「Alt」+「Tab」で他の画面に切り替える:イベントが発生する

JDKは1.5を使っています。こんな事ってあるのでしょうか?
61デフォルトの名無しさん:2014/05/22(木) 23:38:41.55 ID:u9TPsZ/m
>>59
>最適化してくれるのですね
ちがう。VolatileImageはBufferdImageがVRAM使ったりしなかった時代の過去のライブラリでImageとVolatileImageは古いAPIが残ってるだけ。
VolatileImageの機能はすでにBufferdImageに統合されてるからImageとVolatileImageを使わずにBufferdImageだけ使えばいい。
62>>42:2014/05/24(土) 12:48:43.56 ID:dJ0iejio
>>61
返事が遅くなりましたすいません。

丁寧に解説してくださってありがとうございます。
Javaは新旧の情報を複雑に感じてたので助かります。
63デフォルトの名無しさん:2014/05/24(土) 18:09:06.80 ID:QUPFogSN
↓の問題を自力で解けなく、解答もないので
 誰か代わりに作ってくれませんか?

OSはUbuntuを使用しており、NetBeans IDE7.4を使用しております
よろしくお願いします
64デフォルトの名無しさん:2014/05/24(土) 18:11:00.42 ID:QUPFogSN
以下に示すShapeクラスを継承させて変更しなさい(Shapeクラスがスーパークラス、Sphereクラスがサブクラスになる)。

Shapeクラスは中心座標(x, y, z)をインスタンス変数として持つ。インスタンス変数は全てdouble型で、アクセス修飾子はprivateとする。
Shapeクラスは2つのpublicなコンストラクタを持つ。一つ目のコンストラクタは引数を受け取らず、中心座標を(0.0, 0.0, 0.0)に設定する。
   二つ目のコンストラクタは中心座標の各変数を引数として受け取る。なお、一つ目のコンストラクタにはthisキーワードを使用して二つ目のコンストラクタを呼び出すようにしなさい。
Shapeクラスは三つの戻り値の無いpublicなメソッドを持つ。一つ目はshow()メソッドで、中心座標値を次のように表示する。

System.out.println("中心座標: (" + x + "," + y + "," + z + ")”);

二つ目はmove()メソッドで、三つのdouble型のパラメータを受け取り、それぞれの値を球体の中心の座標(x, y, z)それぞれに加算する。3つ目はscale()メソッドで、
   1つのdouble型のパラメータを受け取り、(ここでは便宜上)中心座標の各変数にそのパラメータを乗じる。
ShapeクラスをSphereクラスに継承させる。その際、Sphereクラスを以下のように変更する。
これまでSphereクラスに存在した中心座標を示す3つの変数とmove()メソッドはスーパークラスのものを利用するので削除する。
show()メソッドについては、スーパークラスのshow()メソッドを呼び出した後、半径のみを表示(System.out.println("半径:" + radius))するようにオーバーライドさせる。
scale()メソッドについては、(オーバーライドする形で)そのまま利用する。
半径を示す変数をprivateに、各メソッド、コンストラクタをpublicにする。
ShapeクラスとSphereクラスのオブジェクトを作成し、使用するmain()メソッドを有するShapeExクラスを作成しなさい。ただし、Shapeクラスの配列を宣言し、
    その配列要素にShapeクラスおよびSphereクラスのオブジェクトを与えるようにすること。また各メソッドを利用するようにしなさい
65デフォルトの名無しさん:2014/05/24(土) 18:36:40.52 ID:GVcULJpg
>>63
宿題は自分でやれ
66デフォルトの名無しさん:2014/05/24(土) 18:53:53.75 ID:QUPFogSN
>>65
お願いします
67デフォルトの名無しさん:2014/05/24(土) 18:56:03.49 ID:3XLilUh7
質問・相談ってのは最終的には自分でやることが前提なのだが
68デフォルトの名無しさん:2014/05/24(土) 18:56:10.62 ID:QUPFogSN
http://codepad.org/MRkLLWYy

とりあえずここまで作りました
69デフォルトの名無しさん:2014/05/24(土) 18:56:31.76 ID:5k74nlaX
70デフォルトの名無しさん:2014/05/24(土) 19:07:11.42 ID:QUPFogSN
>>69
ありがとうございます!
しかし半径が0.0とは何かおかしくないでしょうか
71デフォルトの名無しさん:2014/05/24(土) 19:13:11.25 ID:5k74nlaX
問題文に半径の指定はないけど
72デフォルトの名無しさん:2014/05/24(土) 19:14:54.04 ID:5k74nlaX
気になるならご自身で書き換えてはいかがか
73デフォルトの名無しさん:2014/05/24(土) 19:15:12.37 ID:QUPFogSN
>>71
http://codepad.org/qO9rmfmt

これを作ったのですが。
これに修正を加える感じです
74デフォルトの名無しさん:2014/05/24(土) 19:17:40.96 ID:t6SgnRXz
どんどん劣化していくのはなぜだ
75デフォルトの名無しさん:2014/05/24(土) 19:17:50.87 ID:5k74nlaX
そのコードは問題文を1ミリも反映してないけど
76デフォルトの名無しさん:2014/05/24(土) 19:30:58.31 ID:QUPFogSN
>>74
>>73のSphereクラスに>>64を追加していく感じです
77デフォルトの名無しさん:2014/05/24(土) 19:41:16.64 ID:ddWalMFK
>>76
先生はお前のクラスにこの宿題を出す前に、確実に継承と他態性について
説明し終わった上で、この宿題出したと思うぞ
78デフォルトの名無しさん:2014/05/24(土) 19:44:23.02 ID:QUPFogSN
>>77
そういった説明をされずぽんと出された課題をこなしていくスタンスなんです・・・
どうすればいいってこった・・
79デフォルトの名無しさん:2014/05/24(土) 19:48:09.22 ID:GVcULJpg
>>69を見て理解できないならお前には才能がない 諦めろ
他の授業で単位をとれ
80デフォルトの名無しさん:2014/05/24(土) 20:06:55.06 ID:QUPFogSN
>>79
そんな事言わず助けてください・・・・
81デフォルトの名無しさん:2014/05/24(土) 20:19:21.45 ID:ddWalMFK
>>78
いや絶対説明するだろ。授業でそれをせずに講師は何を授業するんだ。
普通、講師は解説して生徒に例題解かせて、質問受け付けてから満を持して授業の復習として宿題だすだろ。

オーバーライドの意味や、サブクラスから継承元のスーパークラスのメンバの呼び出し方や、
スーパークラス型の変数でサブクラスのインスタンスを受けてメソッドを実行しても、
ちゃんとサブクラスでオーバーライドした内容でメソッドが動く事とか、お前は忘れてるだけで、69のコード見て思い出すだろ?
ついでにその変数をサブクラス型にダウンキャストしたら例えばサブクラスで新規に追加したメンバも使えるとか
絶対教えてないとおかしい
82デフォルトの名無しさん:2014/05/24(土) 20:25:26.43 ID:5k74nlaX
大学ん時は予習前提だから知らん奴は自己責任だったけどな
予習時に分からなければそん時に聞きにこいと
83デフォルトの名無しさん:2014/05/24(土) 20:27:08.86 ID:i48CIzk6
だからなんでCPADなんだよ
実務で使うIDE教えろボケって言っとけ
84デフォルトの名無しさん:2014/05/24(土) 20:27:13.81 ID:QUPFogSN
>>81
そういったタイプの講義ではないのです
授業なんかしないで課題を出すのです
85デフォルトの名無しさん:2014/05/24(土) 20:29:04.55 ID:QUPFogSN
だめだできない
助けてください
86デフォルトの名無しさん:2014/05/24(土) 21:06:50.25 ID:QUPFogSN
半径どうしたらでるんでしょうか
87デフォルトの名無しさん:2014/05/24(土) 22:02:25.96 ID:LelSAbE4
排他制御についての質問です。

一つのスレッドで予約と案内の機能を作ります。
予約だけを先に処理しておき、予約が終わったら、waitします。

その後、案内の処理に移る必要があります。

synchronizedブロックを使わなければいけないのですが、
空のダミークラスを用意して、それを使えとのこと・・

これを理解するには、良いサイトはないですか?
88デフォルトの名無しさん:2014/05/24(土) 22:23:09.65 ID:56uKPv9K
>>87
良くわからないけど
java.util.concurrent.ArrayBlockingQueueのソースでも見たら?
89デフォルトの名無しさん:2014/05/24(土) 22:38:45.40 ID:QUPFogSN
うわぁぁ
やっぱりできないよー
90デフォルトの名無しさん:2014/05/24(土) 23:59:46.67 ID:3XLilUh7
>>87
> 一つのスレッドで予約と案内の機能を作ります。

スレッドが1つしかないなら排他処理なんか必要ない。
91デフォルトの名無しさん:2014/05/25(日) 00:04:59.56 ID:PdXrw9AK
排他制御について学べる良いサイトは知らんなあ
92デフォルトの名無しさん:2014/05/25(日) 00:48:52.84 ID:UIOwZZll
http://codepad.org/WIRDgCnW

これ↑が今私が書いているプログラムです

↓に手を加えるという問題なのですが
http://codepad.org/qO9rmfmt

最後の最後で詰まっています
93デフォルトの名無しさん:2014/05/25(日) 02:04:38.70 ID:PdXrw9AK
>>92
>>69を1行ずつ何やってる行なのか解読しながら嫁
94デフォルトの名無しさん:2014/05/25(日) 04:47:11.59 ID:mQ7FRJ95
>>69がバカすぎて笑える

>>65の問題は既に作られたSphereクラスをShapeクラスを新しく作ってそれを継承する形に作り直せって問題だぞ
95デフォルトの名無しさん:2014/05/25(日) 07:57:43.74 ID:Uk+PqKed
第三者が>>64に書かれた内容だけで、radiusに有効な値を与える定義や、>>94の解釈を導き出す事など不可能。
96デフォルトの名無しさん:2014/05/25(日) 08:01:17.03 ID:0D+OIiet
>>95
> これまでSphereクラスに存在した中心座標を示す3つの変数とmove()メソッドはスーパークラスのものを利用するので削除する。
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
97デフォルトの名無しさん:2014/05/25(日) 08:29:19.22 ID:Uk+PqKed
いや、お前は授業をちゃんと聞いてまず継承を理解しろ。
shapeを継承したsphereクラスのメンバを、今からオーバーライドしたり新規にメンバを追加していくってだけの話だろ。

問題の「これまで」って言葉の使い方に確かに多少の違和感はあるが、おかしな解釈してないか?
shapeと無関係に元々sphereが存在してたから「これまで」じゃなくて、
「shapeを継承してオーバーライドする前まで」という意味でしか捉えようが無いぞ。
98デフォルトの名無しさん:2014/05/25(日) 08:35:53.69 ID:0D+OIiet
>show()メソッドについては、スーパークラスのshow()メソッドを呼び出した後、半径のみを表示(System.out.println("半径:" + radius))するようにオーバーライドさせる。
>scale()メソッドについては、(オーバーライドする形で)そのまま利用する。
>半径を示す変数をprivateに、各メソッド、コンストラクタをpublicにする。

ここら辺を読めば確信持つだろ普通
Shapeクラスの定義についてあれほど詳しく書いてあったのにSphereクラスの定義があっさりしすぎだろ
気づけよここで
99デフォルトの名無しさん:2014/05/25(日) 08:57:33.46 ID:Uk+PqKed
??
>>96は、俺が>>95で書いた事に対しての反論だと思ったんだが違うのか?
主語も術語も省略して、単語とコピペだけで書いて真意を汲み取れとか、無理な話だぞ

せっかく解答してくれた>>69のコードに納得したのかどうかすら分からないぞ
100デフォルトの名無しさん:2014/05/25(日) 11:53:48.74 ID:+vK9X07T
原点移動はmoveってかsetCenterPointだのsetOriginだのの方がいいな
Shape自身の振る舞いと違うだろと大学の教授さまによろしく伝えてくれ
101デフォルトの名無しさん:2014/05/25(日) 14:33:02.04 ID:fgB99N7B
そもそもがさぁ・・・ここで宿題解いてくれって奴は何でプログラムの授業受けてんだ?
その宿題だって一過性の物じゃなくて今後もどんどん出されていくわけだろ
問題文の何がわからないかを単語でも何でも一つ一つ全部洗い出せよ
102デフォルトの名無しさん:2014/05/25(日) 14:47:24.33 ID:VqvYEKQd
先ずは友達を作れとww
103デフォルトの名無しさん:2014/05/25(日) 16:53:55.03 ID:gjrYoQsl
>>92

あのさ、授業のレクチャー無しでいきなり課題っていうのはさ、
わかっている奴にしか単位をやらないってことなんだぞ?
一回も出席しなくても試験だけパスしたら単位くれる授業ってことだぞ?
お前がやっていることはタダ乗りだ

お前みたいな奴には留年の呪いをかけてやる
104デフォルトの名無しさん:2014/05/25(日) 16:55:21.63 ID:myxTrwii
ドカタが説教w
105デフォルトの名無しさん:2014/05/27(火) 10:13:00.57 ID:nuCw3VVW
>>96
「これまで」から読み取ると今までの授業でSphereクラスを勉強してきたかこの宿題の前の部分で記述があるはず
その前提となる元のSphereクラスが>>64の段階で提示されていない以上は>>69は普通の回答だろ
106デフォルトの名無しさん:2014/05/28(水) 20:13:03.95 ID:v2SRhXXs
Compact ProfileとNative Packagingについて質問です。

・開発環境:JDK8/Netbeans/OSX
・Compact Profile:Compact1
・JavaFX使用
・Native Packaging:有効

この条件でappファイルを作ったのですが、
できあがったファイルは160MB以上あります。
どう考えてもCompact Profileが反映されていないようですが、
サイズを抑えるにはどうすればいいでしょうか?
107デフォルトの名無しさん:2014/05/28(水) 20:46:48.92 ID:3u6I4459
スレチ
108デフォルトの名無しさん:2014/05/29(木) 01:01:57.50 ID:faq1GAsP
>>106
エスパーすぎる
109デフォルトの名無しさん:2014/05/29(木) 05:55:20.33 ID:EDrO+8Bo
Java SE 7 Update 60 キター
110デフォルトの名無しさん:2014/05/29(木) 10:59:30.96 ID:1+PX4fUT
> 新しい機能のみでセキュリティに関する修正を含まないLimited Update
> Limited Updateには、20の倍数となる番号が割り当てられることになっています

いらんアップデートや
111デフォルトの名無しさん:2014/05/29(木) 11:03:56.63 ID:1+PX4fUT
Java? SE Development Kit 7 Update 60 Release Notes
http://www.oracle.com/technetwork/java/javase/7u60-relnotes-2200106.html

Java? SE Development Kit 7 Update 60 Bug Fixes
http://www.oracle.com/technetwork/java/javase/2col/7u60-bugfixes-2202029.html

これといった嬉しいバグフィクスは無いし
112デフォルトの名無しさん:2014/05/29(木) 11:07:30.59 ID:1+PX4fUT
一通りバグフィクスの一覧を眺めてみたが酷いバグが大量にあったんだな、本当酷い
113デフォルトの名無しさん:2014/05/29(木) 13:39:28.94 ID:HgW2Zdda
java7と8のJREはどう違いますか?
JRE7を入れていてJDKの8をインストールしたらJREも8になりますか?
114デフォルトの名無しさん:2014/05/29(木) 15:30:32.12 ID:agSkn24t
環境:windows 7 + JDK1.8.0_05 + Eclipse Juno Service Release 2 + Maven 3.0.4 + maven-jar-plugin 2.3.2

この環境でHelloWorldとそのテストのソースを用意し、pomに以下を足してpackageをしました([パッケージ名]は私のドメイン名が入るので置き換えました)。プロジェクト名はhellomavenです。

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<manifest>
<mainClass[パッケージ名].HelloWorld</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>

そしてコマンドプロンプトでtargetディレクトリに移動してから
java -jar hellomaven-0.0.1-SNAPSHOT.jar
を実行したのですが、
hellomaven-0.0.1-SNAPSHOT.jarにメイン・マニフェスト属性がありません
と言われて実行できません。jarを解凍してMANIFEST.MFを見てみたら、Manifest-Version、Archiver-Version、Created-By、Built-By、Build-Jdkが書かれているだけで、肝心のMain-Classが記載されていませんでした。なぜこうなってしまうのでしょうか?
115デフォルトの名無しさん:2014/05/29(木) 17:07:39.96 ID:1vfDNvKU
>>114
いろいろ環境違うけど、pluginだけは同じでMain-Class追記されたなぁ。
Eclipseなしとか、jar cvfで直接とか、切り分けてみたら?

Group Id: org.apache.maven.plugins
Artifact Id: maven-jar-plugin
Version: 2.3.2
116デフォルトの名無しさん:2014/05/29(木) 17:10:23.93 ID:1vfDNvKU
>>114
あと定番だけど、一度clean。
117デフォルトの名無しさん:2014/05/30(金) 08:25:49.67 ID:prVlFPNP
質問です。
下記のプログラムがエラーとなります。
原因わかりますでしょうか?

interface I1 { int i1(); }
interface I2 { int i2(); }
class C implements I1, I2 {
@Override public int i1() { return 100; }
@Override public int i2() { return 200; }
}

public class Main {
public static void main(String[] args) {
C c = new C();
set(c); // 引数の場合はI1とI2を実装したC型のオブジェクトを受け付ける。
get();
}

private static <T extends I1 &amp; I2> void set(T t) {
System.err.println(t.i1());
System.err.println(t.i2());
}

private static <T extends I1 &amp; I2> T get() {
C c = new C();
return c; //=> エラー!戻り値の場合は受け付けない。
}
}
118デフォルトの名無しさん:2014/05/30(金) 10:02:23.86 ID:G/54LlHQ
return c; //=> エラー!戻り値の場合は受け付けない。

return (T)c

キャストすれば一応動く。安全な使い方なのかは知らないけどさ。
119デフォルトの名無しさん:2014/05/30(金) 10:39:58.60 ID:DMbyHCOZ
>>117
private static <T extends I1 & I2> T get() のシグニチャ的には
例えば class D implements I1,I2 があったとすると
D d = Main.get(); がコンパイルエラーなしに通らないといかんのよ。
120デフォルトの名無しさん:2014/05/30(金) 10:49:35.99 ID:prVlFPNP
>>119
なるほど、それはわかりやすい!
解説ありがとうございます。
121デフォルトの名無しさん:2014/05/30(金) 11:58:29.55 ID:ym9IpIdz
javaでsocketのinputstreamのヘッダを除去するにはどうやるのがベストでしょうか?
122デフォルトの名無しさん:2014/05/30(金) 15:25:34.14 ID:Fe7jkPz6
inputstreamのremoveHeader呼べばいいよ
123デフォルトの名無しさん:2014/05/30(金) 16:30:29.30 ID:iquy0b+J
>javaでsocketのinputstreamのヘッダを除去

日本語でおk
124デフォルトの名無しさん:2014/05/30(金) 16:35:04.18 ID:ym9IpIdz
inputstreamを受けっとたバッファからヘッダを取り除くです
125デフォルトの名無しさん:2014/05/30(金) 16:39:15.98 ID:iquy0b+J
>受けっとたバッファから

日本語でおk
126デフォルトの名無しさん:2014/05/30(金) 16:45:49.38 ID:w1meFI8Z
なんで母国語の掲示板で質問しないの?
127デフォルトの名無しさん:2014/05/30(金) 17:08:08.65 ID:G/54LlHQ
通信してる先や受信データが何か判らんから、何のヘッダなのかも判らんが、
InputStreamが取れてるんだから、何らかのParserにそれを渡して取り除けばいいんでねーのん。

例えばhtmlを受信してるのなら、html parser を噛ませれば楽に扱えるよね。
もし自前のプロトコルで送受信してるのなら、受信したバイトデータをテキストに変換して自前で解析してみるとかさ。

という話ではなくて?
128デフォルトの名無しさん:2014/05/30(金) 17:10:29.04 ID:ym9IpIdz
>>127
そういう話です
removeするAPIあるかなぁとかみんなどうやってんだろうと持ったけど適当にパースしてる感じなんですね
129デフォルトの名無しさん:2014/05/30(金) 17:14:22.66 ID:G/54LlHQ
>>128
そうだよ。
130デフォルトの名無しさん:2014/05/30(金) 17:16:16.60 ID:ym9IpIdz
>>129
ありがとうございました
131デフォルトの名無しさん:2014/05/30(金) 17:17:42.69 ID:qoYBEuMa
アフォなんだろう
132デフォルトの名無しさん:2014/05/30(金) 18:03:18.77 ID:hSXVRS7S
>>121
もうお前には何も答えてやらんことにしたわ
133デフォルトの名無しさん:2014/05/30(金) 21:07:59.09 ID:/n/ZlpbO
今、String型の変数numberViewとbuttonNumberがあるとして
numberViewに"-0"という文字列が入っており、buttonNumberには"1"が入っているとします。
ここで

numberView = new StringBuffer(numberView).replace(1, 1, buttonNumber).toString();

という命令を実行したら
numberViewの中身は"-1"になって欲しいのですが、実際には"-10"になってしまいます。

StringBufferのreplaceメソッドは対象の文字列を、引数で指定された範囲を、引数で指定した文字列に置き換えるものだと思うので
上記の例だと「"-0"の2文字目から2文字目の範囲を"1"に置き換える」ので結果は"-1"になると思うのですが、違うのでしょうか?
134デフォルトの名無しさん:2014/05/30(金) 21:27:20.61 ID:cvQnbPzb
>>133
ねぇ、何で仕様も確認せずに2ちゃんで
駄レスを垂れ流してるの?荒らしなの?
135デフォルトの名無しさん:2014/05/30(金) 21:31:54.88 ID:rnugplsl
>>133
違う
JavaをはじめとしたC系言語のインデックスってのは
要素と要素の境目に振られた番号だとイメージすると理解しやすい。
たとえば"-0"のインデックスは [0]-[1]0[2] と考える。
replace(1, 1, "1")は[1]から[1]までの間にある文字を"1"で置き換える、
つまりこの場合、[1]から[1]の間にはもちろん文字がないので、
[1]の位置に"1"を挿入するという意味になるわけだ。
136デフォルトの名無しさん:2014/05/30(金) 21:48:43.56 ID:/n/ZlpbO
>>135
replace(1, 2, "1")で上手く行きました。ありがとうございました。
137デフォルトの名無しさん:2014/05/30(金) 23:51:59.03 ID:LjFIY5gc
InputStream#skip()は戻り値もちゃんと確認しような。
異常系でも末端到達でもないのに、指定量スキップしてくれないことが
まれによくある。
138デフォルトの名無しさん:2014/05/31(土) 23:11:35.54 ID:RCSrpgq6
>>108
ちょっと説明が足りませんでした。

Compact Profile(使う機能を絞ってJVMを軽量化するJava8の機能)と
Native Packaging(アプリ自体にJVMを含めるJava7の機能)を使って
部分的なJVMが含まれる実行ファイルを作ろうとしたのですが、
プログラム本体のclassファイルが数キロバイトにもかかわらず、
出力される実行ファイルが160MBもあり、あきらかにCompact Profileが
効いてないのでどうしたものかと途方にくれていた次第でした。
139デフォルトの名無しさん:2014/05/31(土) 23:16:53.52 ID:S66lgqUj
金さえあればExcelsior JETが使えるのにね
http://www.xlsoft.com/jp/products/jet/index.html
140114:2014/05/31(土) 23:26:22.83 ID:pA2WvDLJ
>>114ですが、解決しました。ありがとうございました。

pomで、以下のように書かなくてはならないのを
<project 〜>
<build>
内容
</build>
</project>
何故か以下のように書いていたのが原因でした
<project 〜>
内容
</project>
<build>
内容
</build>
141デフォルトの名無しさん:2014/06/03(火) 01:25:16.66 ID:tSzMhKYs
>>138
推測するに>>106は何か勘違いしてるからちょっと質問に答えてくれ。ややこしいからよく聞けよ。
javaはcross compile出来るようになっててbootstrapっていう仕組みでスタブ指定してSEの開発環境でMEのターゲット環境用のコンパイルが出来る。
けどjava ME/CDCがSEに統合されたからCDCのライブラリがSEのライブラリに含まれるようになってcompileにスタブが必要なくなったから利用するAPIセットを指定するだけになったわけ、
これがjavacのprofileオプション。ここまでは開発環境の話な。実行環境でcompact profileそのものを使うにはSE Enbeddedのライセンス契約して独自に構築する必要がある。
それかARM版java SEを使うしかないがこっちはfullset APIだからcompactも動くという事だけど第一にここらへんは理解してる?
native packagerは単にjavafxpackagerとantタスクを使ってjarオプション一発でjavafx起動する魔法のlauncherを持ったjarを作る機能+ネイティブラッパーなんだけど>>106読むとこれは判ってるよな?
第二にcompact profileとpackagerは別モンだって理解してる?
第三にpackager使ったら依存するAPIだけpackagingすると思ってない?そんな事しないぞ。jigsawスキップしたからまだJREのモジュール化はできない。

後一つある。実行ファイルが150MBじゃなくて160MBなんだよな?それ多分JDKのpublic JREをpackagingしてるからIDEの設定がおかしい。
JDKのpublic JREの再配布はバイナリライセンス違反。再配布は単独のJREしか許されてない。設定わからんならIDEスレ行ってみ。
Scene Builderは普通のJREをpackagingしてるから少なくともjavafxpackager自体はpackaging用JRE指定できると思う。
142デフォルトの名無しさん:2014/06/03(火) 10:56:45.56 ID:Tz6m7eQV
バイナリコードライセンス契約書って未だによく判らん
143デフォルトの名無しさん:2014/06/03(火) 11:34:35.20 ID:Vwp/shKr
文字列をソートする方法について質問させてください
たとえば英語、日本語、フランス語、スペイン語、韓国語などをソートする仕組みjavaには標準で備わっているのでしょうか?
144デフォルトの名無しさん:2014/06/03(火) 11:44:47.02 ID:Tz6m7eQV
java.text.Collator が用意されてるけど使った事ないす。

これの7.2読むさ参考になるす
http://books.google.co.jp/books?id=ne8pveby7pEC&printsec=frontcover&hl=ja#v=onepage&q&f=false
145デフォルトの名無しさん:2014/06/03(火) 12:29:13.40 ID:WJ3SciAJ
>>143
例えばリストに格納した文字列をsortで単純にソートする場合はUnicode順でソートされます。
分かりやすく言えば、半角記号&数字・大文字英字・小文字英字・日本語のような順でソートされます。
146デフォルトの名無しさん:2014/06/03(火) 14:05:05.20 ID:Vwp/shKr
>>144
ありがとうございます晩に読んでみます

>>145
日本でいう50音順
英語ならラテンアルファベット順 韓国語(ハングル)はどうなんだろう
その国ならではのソートにあわせてくれるのか気になったのです
Unicode順なら日本語、ラテンアルファベットは大丈夫ですね ありがとうございました
ハングルは難しいなぁ
147デフォルトの名無しさん:2014/06/04(水) 10:40:31.79 ID:g5VriG8B
javaって
int i;

とかってiは0で初期化されてましたっけ?
それとも
int i=0;
とする必要ありましたけk?
148デフォルトの名無しさん:2014/06/04(水) 10:47:30.10 ID:FIriE4+G
場所による。
149デフォルトの名無しさん:2014/06/04(水) 12:42:58.29 ID:Yjen/8++
インスタンス変数とかクラス変数は明示的に初期化しなければ
暗黙のうちに0とかnullとかfalseに初期化される。

ローカル変数は初期化せずに使おうとすると怒られる。
150デフォルトの名無しさん:2014/06/04(水) 15:22:37.67 ID:g5VriG8B
ややこしいな
151デフォルトの名無しさん:2014/06/04(水) 15:29:28.88 ID:czXJtgp2
馬鹿にはjava
152デフォルトの名無しさん:2014/06/04(水) 15:48:43.47 ID:6vR/bBzT
つまりjavaに詳しいらしいお前は物凄く馬鹿であると
153デフォルトの名無しさん:2014/06/04(水) 17:04:16.34 ID:bJYj9hq4
ただの自己紹介だろ
154デフォルトの名無しさん:2014/06/04(水) 20:54:34.49 ID:G8KBz5wU
プログラム終わってから変数初期値を確定させれば答えも瞬時に確定するんだろ?
関数プログラミングってそんなんなんだろ?

そう思っていた時期が私にもありました。
155デフォルトの名無しさん:2014/06/04(水) 23:45:18.20 ID:ZpUZWvA8
>インスタンス変数とかクラス変数
混乱するので、ちゃんとした呼び方使おう。
156デフォルトの名無しさん:2014/06/05(木) 02:30:08.52 ID:Z4iujIXS
>>155
混乱しないように、ちゃんと勉強した方がいいんじゃないか。
157デフォルトの名無しさん:2014/06/05(木) 06:37:44.06 ID:xl0HQEku
>>155
???
インスタンス変数とクラス変数という言葉で混乱なく理解している俺は何???
158デフォルトの名無しさん:2014/06/05(木) 10:08:44.93 ID:8drrUUJ2
俺も理解できてる。
たぶん>>155だけが混乱してると思う。
159デフォルトの名無しさん:2014/06/05(木) 12:30:24.91 ID:e2dHIRi8
言語仕様8.3.1.1あたりにも、正式な用語ではないけれど
クラス変数インスタンス変数と呼ばれることがある
と書いてあるからいいんじゃね?
正式なのはstatic fieldとnon-static field
160デフォルトの名無しさん:2014/06/05(木) 12:36:41.72 ID:7gEIVLyS
>>157
お前が理解したつもりになっても意味がないんだよ
他人と会話する際に用いる用語として適切かの観点で語れよ低脳
161デフォルトの名無しさん:2014/06/05(木) 13:10:42.54 ID:GltoMGwZ
>>147
どんな型の変数だろうが、フィールドは初期化しなくても暗黙の初期値で初期化される。ローカル変数は初期化せずに、その変数を使うコードを書いたらコンパイルエラーになる

>>149が何で暗黙の初期化について、わざわざインスタンス変数とそれ以外のケースに分けて考えてるのか意味不明。
ついでにフィールドはメンバ変数とも呼ばれるが、あるフィールド(もしくはメンバ変数)を「クラス変数」と呼んでいいのは、そいつがstaticで宣言されてる時だけだ。

public class hoge {
static Object objField;
public static void main(String[] args) {
Object objLocal;

System.out.println(objField); ←こいつはnullで初期化されてるからOK
System.out.println(objLocal); ←こいつは初期化されてないからコンパイルエラー
}
}
162デフォルトの名無しさん:2014/06/05(木) 13:14:18.31 ID:xl0HQEku
>>160
お前との会話は成り立たないということはわかった。それで十分だ。
163デフォルトの名無しさん:2014/06/05(木) 14:52:38.15 ID:NONZdB2Q
>>160
例えば何だったら理解できるのか書こうぜ。
164デフォルトの名無しさん:2014/06/05(木) 16:56:58.95 ID:Pu0yHHt1
A「プログラムの動きがおかしい!」
B「俺の開発環境ではうごいたぞ!」
A「お前の環境はどうでもいいから、
 まず仕様書見てつくったんだろうな!」
B「まず正しい仕様が何なのかしめせ!」

例えると こういう思考ですね
165デフォルトの名無しさん:2014/06/05(木) 18:30:08.82 ID:vSfFsY3j
馬鹿にはJAVA()
166デフォルトの名無しさん:2014/06/05(木) 18:34:44.10 ID:ntDMAWoY
自己紹介()
167デフォルトの名無しさん:2014/06/05(木) 19:55:47.12 ID:7EV+QdVp
いやーJAVAドカタってほんとに馬鹿が多いですね
168デフォルトの名無しさん:2014/06/05(木) 20:09:35.71 ID:IUsyx+mP
馬鹿には無理
169デフォルトの名無しさん:2014/06/05(木) 20:36:30.52 ID:tPel7Sel
インスタンス変数ってまぁフィールドで、クラス変数はstaticだよな
フィールドっていえばいいの?
メンバっていえばいいの?
この変は特に使い分けないといけない言葉でないと思うが
トランザクションとかだろ。その語が何を指してるのか理解してないと混乱するの
170デフォルトの名無しさん:2014/06/05(木) 20:39:57.79 ID:wOfZhsHl
使い分けが必用なのは「概要設計」「詳細設計」だな。
ユーザーやベンダーによって定義が全く異なるのに
誰も確認しようとしない魔法の言葉
171デフォルトの名無しさん:2014/06/06(金) 00:03:26.27 ID:sw92sUCG
>>169
「メンバ」だと、メソッドも含んでしまうだろが。
172デフォルトの名無しさん:2014/06/06(金) 00:07:23.94 ID:y1PJCjpf
メンバというとパッケージに対するクラスもメンバだぞ
173デフォルトの名無しさん:2014/06/06(金) 04:55:09.43 ID:RvYefeGh
>>155が混乱を巻き起こしたw
174デフォルトの名無しさん:2014/06/06(金) 07:10:08.12 ID:wWN7yBYl
>>161
なんでわざわざ>>149と同じことをお前が言ってるのか意味不明
175デフォルトの名無しさん:2014/06/06(金) 08:12:09.68 ID:VQeWDfyk
>>174
俺も同じこと思ったけど
無駄だろうから言うのやめてた
176デフォルトの名無しさん:2014/06/06(金) 08:20:43.48 ID:rl8v6V+s
こう単発IDばかりだとNGのしようがないな
177デフォルトの名無しさん:2014/06/06(金) 10:47:53.05 ID:knhATQp2
Javaのフィールドに相当するものを、PHPやC#なんかではプロパティって呼ぶが、
逆にJavaでプロパティというと、別物を指す。
ちょっとしたことでも、きちんとした呼び方で言うことは重要だ。
職業としてやっているならなおのこと。
178デフォルトの名無しさん:2014/06/06(金) 11:09:34.76 ID:A2qzTaTW
>>155みたいなやつを颯爽と真顔でスルーできないと掲示板を使うのは難しい。
179デフォルトの名無しさん:2014/06/06(金) 11:24:34.25 ID:BvDrvDh3
颯爽登場ネコサンダー
180デフォルトの名無しさん:2014/06/06(金) 20:41:55.68 ID:rnEr1irH
アニオタきもっ
181デフォルトの名無しさん:2014/06/06(金) 22:45:52.96 ID:RvYefeGh
どれがアニメネタなのかすら、わからないオレは何も感じなかった。
>>180は同族嫌悪なのかなー。
182デフォルトの名無しさん:2014/06/06(金) 23:58:42.17 ID:tIMAkTXK
class Java11 {
public static void main(String[] argn) {
int x=9;
System.out.println( "商=" +x/2+",余り="+x%2);
}
}
このときの
x/2+"
の「"」の役割を教えてください。
それ抜きだとエラーなるんですよねえ
183デフォルトの名無しさん:2014/06/07(土) 00:00:37.32 ID:y6RJGWR3
その式は下記のように分解されます " は文字列リテラルを表現するときに使います
"商="  +  x  /  2  +  ",余り="  +  x  %  2
184デフォルトの名無しさん:2014/06/07(土) 00:02:28.76 ID:aYQQ15PT
プロパティはメソッドの場合もあり、速度が遅いこともある
メンバ変数は、C++っぽいし、メンバという意味がわかりにくい

インスタンス変数・クラス変数は、
インスタンス・クラスを代入した変数と誤解されるかも

まぎれが無いのは、フィールドとメソッド。
staticなフィールド・メソッド
185デフォルトの名無しさん:2014/06/07(土) 01:31:13.73 ID:LkkD7Z/Z
>プロパティはメソッドの場合もあり
日本語でおk

>メンバという意味がわかりにくい
言語仕様書でも使われてる言葉なのに?

>インスタンス・クラスを代入した変数と誤解されるかも
言語仕様書に出てくる意味と違う意味でとらえる方が悪いんじゃね?

>まぎれが無いのは、フィールドとメソッド
これだけは同意してやろう
186デフォルトの名無しさん:2014/06/07(土) 04:10:28.45 ID:az7RJk9U
>>182
文字列はダブルクォーテーションで囲むのは知ってる?

>>183さんの言うとおりなんだけど、
"商="は文字列だけど、x/2は変数使っていて、計算もしてるよね。
"商=x/2"とすると、変数と認識されずに、計算もされず、文字列として扱う。
"文字列" + "文字列"とすると、文字列を連結させることができる。
"文字列" + 変数や値 + "文字列" とすると、
最終的に全部ひとつの文字列として扱えるわけ。
187デフォルトの名無しさん:2014/06/07(土) 04:55:21.77 ID:Wu0b3lqU
>>177
>Javaのフィールドに相当するものを、PHPやC#なんかではプロパティって呼ぶ

どうしてこう、息を吸って吐くようにウソをつくかなあ
188デフォルトの名無しさん:2014/06/07(土) 07:04:16.05 ID:JP62YGu/
javaドカタの分際で他の言語に手を広げたのがまちがい
189デフォルトの名無しさん:2014/06/07(土) 10:42:06.17 ID:/pmpL0OX
下らない質問だけど、
finalだけどstaticでないフィールドを定義する何か特別な意味ってあるの?
190デフォルトの名無しさん:2014/06/07(土) 10:48:18.94 ID:+qjp2fUr
>>189
コンストラクタで値を初期化する場合に使う
191デフォルトの名無しさん:2014/06/07(土) 10:49:04.42 ID:y6RJGWR3
インスタンスごとに固有のID値を割り振るとかあるだろ
192デフォルトの名無しさん:2014/06/07(土) 10:58:10.50 ID:zNC0wEdy
その変数が参照の場合、参照してるインスタンスが変わると困る場合に使う。

public class Hoge {
  public final Point location = new Point(); // setter, getterを省略する形としても使える。
}

void main() {
  Hoge hoge = new Hoge();
  hoge.location = new Point(100, 100); // エラー
  hoge.location.setLocation(100, 100); // 利用する側でnew Point()されるコストも同時に抑える事も可能な場合がある
  hoge.location.setLocation(new Point(100, 100)); // これやられちゃ意味無いけどね
}
193デフォルトの名無しさん:2014/06/07(土) 11:05:18.40 ID:/pmpL0OX
>>190
???

>>191
なるほど。

>>192
ふむふむ。

サンクス。
194デフォルトの名無しさん:2014/06/07(土) 12:07:48.80 ID:5g2gDtkQ
Javaで特定のプロセスが使ってるメモリの内容を参照する方法を解説してるような記事とかライブラリとかあったら教えて欲しいです。

とあるアプリの設定ファイルが暗号化されていて、メモリロード時に復号化されるようなのでそれを読み出したいです。
対象はWindowsXP〜8です。
195デフォルトの名無しさん:2014/06/07(土) 14:32:18.57 ID:zoYK0siI
>>194
まず合法なのかそれ
196デフォルトの名無しさん:2014/06/07(土) 14:53:20.53 ID:muTZYQRv
たかがプログラミングのママゴトが
法に反するということは無いだろう
197デフォルトの名無しさん:2014/06/07(土) 16:09:42.57 ID:IXz4A+UX
>>196
情況次第で違法。
198デフォルトの名無しさん:2014/06/07(土) 16:43:43.03 ID:5ns1HaJg
なんちゃってseが沸いてるな
199デフォルトの名無しさん:2014/06/07(土) 22:37:17.34 ID:4hE7tiPB
http://ideone.com/L1qT00

最近プログラミングを始めたのですが
while文が一回回るたびに関数をリセットしたいです
どうしたらよろしいでしょうか?
200デフォルトの名無しさん:2014/06/07(土) 22:58:47.68 ID:Ca6QwkVj
>>199
関数? 具体的にはどれのことを指しているのかな?
201デフォルトの名無しさん:2014/06/07(土) 23:17:56.49 ID:9GBf0cSU
それを言ったら>>197の書き込みも他人のコンピュータ経由で許可なく書き込んでて違法の状況の可能性とか。
202デフォルトの名無しさん:2014/06/07(土) 23:35:57.25 ID:R9un2BQl
Swing でScrollPaneの中にJPanelを入れてBoxLayoutを適用しています。

そのJPnelの中に外部からJPanelをaddしているのですが、どうもaddしてから表示されるまでに時間がかかるようです。スクロールすれば一瞬で出てくるのですが、この場合どうすればaddした直後に表示されるようになるのでしょうか
203デフォルトの名無しさん:2014/06/08(日) 00:09:14.36 ID:4bqrBYV1
スレチ
204デフォルトの名無しさん:2014/06/08(日) 01:06:10.82 ID:gEVulW3s
swingでコンポーネントをいじった時は
revalidateとかで良いんじゃなかったかな?
205デフォルトの名無しさん:2014/06/08(日) 01:26:55.75 ID:QGBaZlvM
>>204
即時反映されるようになりました。ありがとうございます!
206デフォルトの名無しさん:2014/06/08(日) 11:46:30.16 ID:BhquMHmB
>>202
追加する順番が正しかったら、
普通に表示される
207デフォルトの名無しさん:2014/06/08(日) 20:52:37.83 ID:wpb70JEh
>>200
変数のことです間違えてしまいました
返信が遅くなって申し訳ありません
基本的にaで始まる巻数をループするたびに代入したいです
今の状態ではループ一周目に一度代入されたまま変更されません
208デフォルトの名無しさん:2014/06/08(日) 21:21:51.55 ID:UQpq0lvz
>>207
例えば fire について説明すると、

ループの外で
int sfire = rand.nextInt(1000);
int fire = 500;
fire = fire + sfire;

ループの中で
int afire = fire;

とやってるけど、

ループの外を
int fire = 500;

ループの中を
int afire = fire + rand.nextInt(1000);

とやるべきじゃないの?

他の変数も同様で。
209デフォルトの名無しさん:2014/06/08(日) 22:53:09.57 ID:VwEgQJW4
適切な名前をつけるところからだな。
210デフォルトの名無しさん:2014/06/09(月) 18:53:34.60 ID:UQSlGZdQ
staticなメンバクラスは何の意味があるのでしょうか
それを内方してるクラスのインスタンス変数、インスタンスメソッドが使えないのであるなら
あらたにxxx.javaなどを作成しクラスを書くのとどう違うのでしょう?
わざわざ入れ子にする意味とは?
211デフォルトの名無しさん:2014/06/09(月) 19:12:52.81 ID:1/xOXOH7
>>210
privateなstatic inner classはどうよ?
212デフォルトの名無しさん:2014/06/09(月) 19:54:36.31 ID:UQSlGZdQ
>>211
なるほど
内包してるクラスからしか呼び出せないクラスというわけですね
ということは内包してるクラスに強く依存しているようなものを、privateでstaticなメンバクラスで宣言すればよいと。

わかりやすいアドバイスありがとうございました
当方経験が浅いためよい具体例は思い浮かびませんが、これからも精進します
213デフォルトの名無しさん:2014/06/10(火) 01:05:39.46 ID:RSZ4sfWX
ん?じゃあパブリックなstaticなネストされたクラスって意味ないん?
214デフォルトの名無しさん:2014/06/10(火) 01:08:32.80 ID:1alI4g2Q
そのクラスでしか使われないパブリックなAPIの一部として構造体定義が必要だった時に使う
215デフォルトの名無しさん:2014/06/10(火) 11:31:44.15 ID:RSZ4sfWX
>>214
スレの流れ的に
そのクラスでしか使われないならprivateでいいと思うんだけど違うのですかい?
そのためのアクセス修飾子なんじゃ……
深すぎてわからんww
216デフォルトの名無しさん:2014/06/10(火) 11:47:11.39 ID:FVaJYvLh
上にも構造体の話がでてるが、
winapiの関数に渡す構造体をイメージすればいいんだよ。
MyClass.myFunc()でしか利用されない引数用のクラスの場合publicにする必要があるでしょ。
217デフォルトの名無しさん:2014/06/10(火) 11:48:59.04 ID:FVaJYvLh
ちなみにそのクラスを継承・包含して拡張した場合、
その引数用のクラスを拡張してもいいんだよ。
218デフォルトの名無しさん:2014/06/12(木) 22:00:21.97 ID:yXoUlYv6
b == false と !b ってclassファイル見ると同じになるんだな
219デフォルトの名無しさん:2014/06/12(木) 22:03:26.48 ID:nNFXn9s+
同じにならないケースがあるとおもったのだろうか
220デフォルトの名無しさん:2014/06/12(木) 22:13:48.48 ID:yXoUlYv6
前者は比較演算子の演算結果が真かを確かめる式で
後者はブーリアン値を反転させてそれが真かを確かめる式じゃん
内部的には違うことやってそうって印象じゃん
221デフォルトの名無しさん:2014/06/12(木) 23:17:47.46 ID:brc+4GrV
Javaの++って、+=1と同じだからatomicじゃないんだっけ?
222デフォルトの名無しさん:2014/06/12(木) 23:24:00.66 ID:qa6CF3m/
別に+=1がatomicだったらいけない理由はないでしょ
atomicじゃない実装になってるだけ
バイトコード云々は無しな、そんなのVMから見ればソースコードに過ぎないんだから
223デフォルトの名無しさん:2014/06/13(金) 01:41:34.32 ID:Fao6L+M1
longな64bit値を複数スレッドから++すると、
atomic云々以前に上位ビットと下位ビットが繋がってるかどうかすらも怪しい
224デフォルトの名無しさん:2014/06/13(金) 04:34:45.05 ID:VqlJkvXb
>>222-223は会話のできないコミュ障
さすがJAVAドカタ
225デフォルトの名無しさん:2014/06/13(金) 17:07:13.53 ID:Rvs015/A
>>223
VMが64bit環境でも?
226デフォルトの名無しさん:2014/06/13(金) 17:08:01.38 ID:vn3SkpnT
atomicってなーに?
227デフォルトの名無しさん:2014/06/13(金) 18:10:09.18 ID:oZ4lKlO0
ファイルパス渡したら、
バイト型の配列にバイナリ格納して返してくれるようなライブラリないですか?
228デフォルトの名無しさん:2014/06/13(金) 18:20:24.98 ID:Td+MyNo7
>>225
仮想マシン仕様の話だから関係無い
229デフォルトの名無しさん:2014/06/13(金) 18:22:53.29 ID:vn3SkpnT
>>227
http://docs.oracle.com/javase/jp/7/api/java/nio/file/Files.html#readAllBytes%28java.nio.file.Path%29
readAllBytes
public static byte[] readAllBytes(Path path)
throws IOException
230デフォルトの名無しさん:2014/06/13(金) 18:24:09.77 ID:oZ4lKlO0
>>229
ありがとうございます。
JDKに元々あったんですね・・

次から確認するようにします。
231デフォルトの名無しさん:2014/06/13(金) 18:28:25.70 ID:vn3SkpnT
Java7からの新実装だがな
232デフォルトの名無しさん:2014/06/13(金) 18:43:24.02 ID:vn3SkpnT
っていうかFileInputStreamで自分で書いても大した量にならんだろ

public static byte[] readAllBytes(String name) throws IOException
{
File file = new File(name);
long size = file.length();
if (size > (long)Integer.MAX_VALUE) throw new Exception("無理");
byte[] buf = new byte[(int)size];
FileInputStream in = new FileInputStream(file);
in.read(buf);
in.close();
return buf;
}
233デフォルトの名無しさん:2014/06/13(金) 18:49:58.33 ID:Td+MyNo7
少なくとも3箇所の誤りがある
234デフォルトの名無しさん:2014/06/13(金) 19:35:40.46 ID:CdD4ngnJ
出来損ないの車輪を各自が作ることのリスク
に対する警鐘のつもりなのだろう
235デフォルトの名無しさん:2014/06/13(金) 21:35:14.86 ID:AJ/dd/iv
じゃあこんぐらいでどうですか

public static byte[] readAllBytes(String filename) throws IOException {
 ByteArrayOutputStream ret = new ByteArrayOutputStream();
 
 FileInputStream fis = new FileInputStream(filename);
 try {
  byte[] readBuf = new byte[1024 * 1024];
  int readSize;
  while ( (readSize = fis.read(readBuf)) > 0 )
   ret.write(readBuf, 0, readSize);
 }
 finally {
  try {
   fis.close();
  }
  catch ( Exception ex ) {
  }
 }  
 
 return ret.toByteArray();
}
236デフォルトの名無しさん:2014/06/13(金) 21:59:32.13 ID:8FdMcDDX
>>235
どうせならtry with resource使おうぜ
237デフォルトの名無しさん:2014/06/13(金) 22:18:53.04 ID:Fao6L+M1
メモリマップドファイルはなにゆえにこんな不人気なのん。
238デフォルトの名無しさん:2014/06/13(金) 22:36:50.93 ID:XU+Z68O7
そいやMappedByteBufferって明示的にクローズできるようになったん?
239デフォルトの名無しさん:2014/06/13(金) 23:39:58.19 ID:r+YZCOdG
>>235
>  return ret.toByteArray();

これってコスト高いんじゃないの?
240デフォルトの名無しさん:2014/06/13(金) 23:59:59.25 ID:snTEcrPb
IOに比べれば無視できる
アプリにはもっと無駄な処理はいくらでもある
241デフォルトの名無しさん:2014/06/14(土) 00:15:02.56 ID:M5mkw2W3
http://docs.oracle.com/javase/jp/7/api/java/nio/channels/FileChannel.html
http://docs.oracle.com/javase/jp/7/api/java/nio/MappedByteBuffer.html

これ面白いね、スレッドセーフにファイルアクセスが出来るとか知らなかった
242デフォルトの名無しさん:2014/06/14(土) 01:35:40.46 ID:3OhNEYZR
>>234
Wheel of bastards...w
243お勉強中・・・:2014/06/14(土) 02:40:19.59 ID:8AVRkcUh
引数の先頭に数字を渡すと”*”を"System.out.println"で半分のピラミッドが出力されるプログラム
なのですが、わかる人もいるかと思いますが実行結果

**
***
****
*****
となるようなプログラムを作れだそうです
単純に引数を複数いれれば作れるのですが、今回は引数[0]にいれる数字のみです
このとき、引数部分にはどういう処理をすればいいんでしょうか?

お勉強開始2週間がたとうとしています。。。
244デフォルトの名無しさん:2014/06/14(土) 02:46:14.11 ID:Dhxkjofs
まずどこまで出来ているのか
2重ループするだけだろ
245デフォルトの名無しさん:2014/06/14(土) 02:46:23.85 ID:s2jHUN8Z
>>243
うーん、まさかこういうレベルの人もいるとは、まあ始めたばかりということなのかもしれないが、チト衝撃……

>単純に引数を複数いれれば作れる

まさか、pyramid(int arg1, int arg2, int arg3, int arg4, int arg5)のつもり?

これはforループ使えってことだろうね。知ってる、forループ?
246デフォルトの名無しさん:2014/06/14(土) 02:47:50.95 ID:s2jHUN8Z
>>244
2重?そんな必要ないでしょ?
247デフォルトの名無しさん:2014/06/14(土) 02:58:45.37 ID:s2jHUN8Z
>>244
ああスマン、*を複数並べる処理にループ使うってことね。失礼した。
248デフォルトの名無しさん:2014/06/14(土) 03:02:41.73 ID:s2jHUN8Z
Perlだと
"*" x i
で行けちゃったりするので、アッサリ見逃してた (^^;
249デフォルトの名無しさん:2014/06/14(土) 03:52:06.72 ID:RGY3g82H
>>243
2週間か、カンバってね
できるようになると嬉しいよね
250デフォルトの名無しさん:2014/06/14(土) 03:59:49.49 ID:qfZWNteA
>>243
>プログラムを作れだそうです
オマエの日記のチラウラは要らんからもう二度と来るな。
ゴミレスでスレを汚すな。
251デフォルトの名無しさん:2014/06/14(土) 04:00:12.47 ID:RGY3g82H
まあ、”*”を n文字出力する関数を補助関数として作るのも勉強だね。 関数pyramid自体は一重ループで済むし。
でも、問題の意図は出力は”*”一文字づつにして、2重ループをさせることかな。
252デフォルトの名無しさん:2014/06/14(土) 05:02:39.96 ID:TQhBB8Q3
なんでこんなレベルの低い釣りに引っかかる奴がたくさんいるんだろうか
253デフォルトの名無しさん:2014/06/14(土) 05:12:08.69 ID:zoPyTV++
外側のforループで変化させる変数を内側のforループの範囲の指定に使うあたり
最初にプログラムを勉強しはじめた頃に感心した
254デフォルトの名無しさん:2014/06/14(土) 05:32:57.14 ID:zv7By3eS
>>252
そりゃ『自分でも答えられる質問がやっと来た!』からだよ
255デフォルトの名無しさん:2014/06/14(土) 09:05:22.71 ID:RGY3g82H
>>253
俺も、遥か昔を懐かしく思い出した
256デフォルトの名無しさん:2014/06/14(土) 10:05:39.88 ID:byyJ0LSm
え?これ関数の再帰呼び出しの宿題だろ?

public class Main {
  public static void pyramid(int count) {
    if (count > 1) {
      pyramid(count - 1);
    }
    final char[] text = new char[count];
    java.util.Arrays.fill(text, '*');
    System.out.println(text);
  }

  public static void main(String[] args) {
    pyramid(5);
  }
}
257デフォルトの名無しさん:2014/06/14(土) 10:16:37.21 ID:Ps/9LMZL
でた再帰厨w
258デフォルトの名無しさん:2014/06/14(土) 10:21:23.47 ID:byyJ0LSm
いや君らマジで大丈夫か?

> 今回は引数[0]にいれる数字のみです

これがある限り、どう考えても再帰だろ。
259デフォルトの名無しさん:2014/06/14(土) 10:26:26.22 ID:Ps/9LMZL
再帰はループで100%書き換えられるんだよw
再帰できるオレかっけぇ、じゃねーつうの。
260デフォルトの名無しさん:2014/06/14(土) 10:27:11.95 ID:gViTkWWV
意味不明
関数厨なら副作用に頼るなよ格好悪い
261260:2014/06/14(土) 10:27:59.29 ID:gViTkWWV
>>260>>256へのレス
262デフォルトの名無しさん:2014/06/14(土) 10:36:03.53 ID:byyJ0LSm
いやー楽しいな。学生気分を味わえたわ。
263デフォルトの名無しさん:2014/06/14(土) 10:37:43.26 ID:byyJ0LSm
ところでさ、>>253の意味が判らんのだが普通はこう書くだろ。
二重のforループはどこから沸いてきた話なんだ。

public class Main {
  public static void pyramid(int count) {
    final char[] text = new char[count];
    java.util.Arrays.fill(text, '*');
    System.out.println(text);
  }

  public static void main(String[] args) {
    for (int i = 1; i <= 5; i++) {
      pyramid(i);
    }
  }
}
264デフォルトの名無しさん:2014/06/14(土) 10:37:45.53 ID:96D4X5Yf
俺も再帰を使う所だとは思うけど
ドカタに再帰は無理。
(ドカタにとっての)わかりやすさ、メンテのしやすさが一番
http://ideone.com/bonWjq
265デフォルトの名無しさん:2014/06/14(土) 10:40:17.61 ID:byyJ0LSm
俺はパスしとくわwww
266デフォルトの名無しさん:2014/06/14(土) 10:40:47.66 ID:Ps/9LMZL
>>264
自分の書いたコードをよく見てモノ言えw
5じゃなくて、10000とかでどうなるか確かめてみろよ。
267デフォルトの名無しさん:2014/06/14(土) 10:43:40.71 ID:Ps/9LMZL
>>264
あ、ごめん256とは別人だった。
268デフォルトの名無しさん:2014/06/14(土) 10:46:50.72 ID:GPD7HECC
そいつはID出る前にJavaスレずっと荒らしてた基地外だろ
ドカタって煽ってる本人が一番の無能ドカタっていう間抜け
269デフォルトの名無しさん:2014/06/14(土) 11:15:14.49 ID:TFNhIpne
StringBuffur sb = new StringBuilder();
for (int i = 0; i < n; i++) {
 sb.append("* ");
 System.out.println(sb.toString());
}
これでok
270デフォルトの名無しさん:2014/06/14(土) 12:06:30.01 ID:AcX+8wRA
>>263
入門書のfor文のところで出てくる練習問題だからじゃないの?
271デフォルトの名無しさん:2014/06/14(土) 12:57:36.61 ID:xIv/Ew5+
>>243を見た>>253>>264のコードを思いついて
それ以外に無いと盲信してしまった所からだろ
それがわからない>>263はアスぺ
272デフォルトの名無しさん:2014/06/14(土) 13:40:08.75 ID:AcX+8wRA
意味が分からなくて数分悩んだが一行目の253は263の間違いか
273デフォルトの名無しさん:2014/06/14(土) 14:44:50.07 ID:yqYa9zPn
ネタに本物が釣れるってのは悲しい限りです
274デフォルトの名無しさん:2014/06/14(土) 15:24:22.83 ID:YWJ38MLX
宿題スレは墜ちちまったのかよ

「 引数[0] 」とか言ってるから、 >>243 はたぶん
String argv[]のint化かなんかで困ってるんだろ。

やっつけ仕事ならInteger#parseInt()が手っ取り早い。
NumberFormatException もちゃんとキャッチするんだぜ?
275デフォルトの名無しさん:2014/06/14(土) 15:47:20.61 ID:wxV3Ng6Q
>>274
何言ってるかわかんない
あ、おれが無知だからね
276デフォルトの名無しさん:2014/06/14(土) 15:50:59.93 ID:C6z9IpRD
onKeyDownによってSoundPoolを呼び出したいが、
どうすりゃいいのでしょうか、、、
277デフォルトの名無しさん:2014/06/14(土) 21:14:36.58 ID:2vPhgoUp
再帰って使わないなぁ
278お勉強中・・・:2014/06/14(土) 22:19:05.56 ID:8AVRkcUh
すげえ教えてくれるありがとう
答えも大事だけど、考え方も知りたい
むしろ答えよりもヒントがほしくていつも書き込んでます
まだまだ不慣れなので考え方から学びたいと思ってます
不快でしたら別スレに誘導してください・・・。

レスくれたみんなありがとう!
279デフォルトの名無しさん:2014/06/14(土) 23:27:18.94 ID:zv7By3eS
( ;∀;)イイハナシダナー
280デフォルトの名無しさん:2014/06/14(土) 23:29:08.52 ID:enlodnCz
で、どれが一番まっとうな答えなんだ?
281デフォルトの名無しさん:2014/06/14(土) 23:56:25.23 ID:EIu2iKen
Javaでは、再帰使っちゃダメ。
ただし、再帰(数学的帰納法)の考え方は、プログラミングの素養としては重要。
282デフォルトの名無しさん:2014/06/15(日) 00:02:24.87 ID:Am1bBFNe
データベースから値を取って画面に出すだけの簡単なお仕事に再帰など無用
283デフォルトの名無しさん:2014/06/15(日) 00:03:57.31 ID:iFMf2v8c
再帰が禁止されてるような仕事にプログラミングの素養なんていりません
284デフォルトの名無しさん:2014/06/15(日) 00:04:01.42 ID:lsm7nJe7
Javaで再帰使うのなんでダメ?
285デフォルトの名無しさん:2014/06/15(日) 00:06:57.25 ID:iFMf2v8c
>>284
必ずスタックオーバーフローで客の業務止めるアホがいて
対策(笑)で禁止される
286デフォルトの名無しさん:2014/06/15(日) 00:20:51.91 ID:QD8jtgNH
>>285
なん…だと…w
287デフォルトの名無しさん:2014/06/15(日) 00:46:50.07 ID:4DSyqA52
OOPで再帰ってなくない?
288デフォルトの名無しさん:2014/06/15(日) 00:57:05.39 ID:PQKQay8c
OOP のデザインパターンのうち
Composite パターンは本質的に再帰構造。
289デフォルトの名無しさん:2014/06/15(日) 01:32:06.74 ID:8zzeDi2X
>>282
つーか処理中にDBが絡む場合再帰なんか使ってると遅すぎてやってられんよな
290デフォルトの名無しさん:2014/06/15(日) 02:12:46.40 ID:wjE+lkrG
木構造アルゴリズムを取り扱う現代的な手法において記述に再帰を使うなとかありえないね、二色木とか、非再帰でどうする表現するつもりだ?
二色木やAVL木では、スタックオーバーフローは杞憂として考える必要はない
291デフォルトの名無しさん:2014/06/15(日) 02:44:55.73 ID:fYExPRjO
>>290
俺は再帰大好きだが
再帰を使わないと書けませんとか
言うんだったら君やばいぞ
292デフォルトの名無しさん:2014/06/15(日) 06:28:37.89 ID:+CLYcVt1
>>290
>木構造アルゴリズムを取り扱う現代的な手法において

そんなものはCジジイが作る
ドカタはそれを使うだけ
例えばソートを呼び出すことはあってもソートアルゴリズムをドカタが実装することは無い
293デフォルトの名無しさん:2014/06/15(日) 07:55:14.76 ID:wjE+lkrG
>>291
>再帰を使わないと書けませんとか言うんだったら君やばいぞ
再帰を使わない限り事実上実装できないものを >>290 に列挙しておいた
294デフォルトの名無しさん:2014/06/15(日) 08:04:32.19 ID:LQB6ven9
>書けませんとか言うんだったら君やばいぞ

>再帰を使わない限り事実上実装できないものを >>290 に列挙しておいた

つまり>>293はやばいということですね
295デフォルトの名無しさん:2014/06/15(日) 09:00:04.64 ID:iFMf2v8c
push/popをArrayListに機械的に置き換えるだけでループで実装できるよな
296デフォルトの名無しさん:2014/06/15(日) 09:28:58.04 ID:QD8jtgNH
>>295
そだね。>>290はQzっていう雑魚だから相手にしちゃいけないよ
297デフォルトの名無しさん:2014/06/15(日) 10:11:28.61 ID:Lw4vwD4O
>>296
おまいなかなか古株やなw
Qzのコテは乗っ取られたままなのか、
本人は新しいコテをつけたのかどうなのか、
古いコテはもう捨てたのかまだ使ってるのかはっきりしろQz
298デフォルトの名無しさん:2014/06/15(日) 10:11:38.90 ID:YTwiKE9C
つLinkedList
299デフォルトの名無しさん:2014/06/15(日) 12:02:43.42 ID:0d+HGqVx
えっ290はQなの?
確か末尾再帰でスレ荒らしまくったひと?
300デフォルトの名無しさん:2014/06/15(日) 12:12:04.89 ID:1BmvPqCn
javaドカタの分際でアルゴリズムとか生意気すぎw
301デフォルトの名無しさん:2014/06/15(日) 13:06:56.29 ID:WKOwGrXA
LinkedList は双方向再帰 (ドヤ
302デフォルトの名無しさん:2014/06/15(日) 14:35:49.90 ID:8A3SlPhE
馬鹿には無理
303デフォルトの名無しさん:2014/06/15(日) 14:55:59.39 ID:nfMQfJxh
末尾再帰の最適化
つまりアナルにゴーゴー、グリングリン回しちゃうことだな
304デフォルトの名無しさん:2014/06/15(日) 20:00:11.05 ID:QD8jtgNH
>>300
まあねえ、業務系のお仕事では、前のコードをコピペすることが奨励されてたりするし、
コピペしたくないなら仕事やめろと言われたりするし、ドカタという表現もマンざらでもないよねえ。
SIerは糞だよ。
305デフォルトの名無しさん:2014/06/15(日) 20:50:11.00 ID:wjE+lkrG
>>295
それが平衡ニ分木の場合は、保存するコンテキストの選定も下から上ってくるリンク先の更新手段も難しいのでは?
306デフォルトの名無しさん:2014/06/15(日) 21:14:53.64 ID:fYExPRjO
ID:wjE+lkrGはチューリングマシンから勉強し直しだな
307デフォルトの名無しさん:2014/06/15(日) 22:42:39.17 ID:wjE+lkrG
>>306
概念としてはプッシュダウンオートマトンで十分だと思うよ
308デフォルトの名無しさん:2014/06/15(日) 22:56:59.10 ID:/vUBIxR4
WINDOWS7 エクリプスで開発してます
------------------------------------------
import java.util.List;
class A {}
class B extends A {}
class Main {
public void addData(List<? extends B> list){ //問題点
list.add(new B());
}
}
------------------------------------------
なぜだかエラーになります。
Bクラスとそのサブクラスを追加できるはずですが。
extendsの代わりにsuperだと成功します。
309デフォルトの名無しさん:2014/06/15(日) 22:57:57.09 ID:lsm7nJe7
ピュアJavaで二分木とか作る価値なし!
310デフォルトの名無しさん:2014/06/15(日) 23:02:31.95 ID:lsm7nJe7
>>308
> List<? extends B> list
このextendsはlistの中身をBとして取り出せることが保障されてることを示すものであり
listの実体がBおよびBの派生物を追加できることは保障されてない

class C extends B
class D extends B
とあったとき
addData(new ArrayList<C>());
addData(new ArrayList<D>());
の両方ができる
受け取った側はCのリストかDのリストかは分からないから新しくリストにオブジェクトを追加はできない
でもCもDもBの派生物だからリストの中身をBとして扱うことはできる
311デフォルトの名無しさん:2014/06/15(日) 23:04:19.25 ID:iFMf2v8c
>>308
ワイルドカードのextends指定を使うとその?は読み取り用にしか使えなくなる
class C extends B { }があったとして
引数にList<C>が渡ってくるかもしれないだろ?
312デフォルトの名無しさん:2014/06/15(日) 23:05:59.89 ID:lsm7nJe7
逆に
>addData2( List<? super B> list )
とした場合は
リストにBの派生物を追加できることだけが保障されてる
しかしリストにはBとは無関係のオブジェクトが入ってる可能性があるからBとしえ取り出すことは補償されてない
例えば
addData2(new ArrayList<Object>());
という感じになる
ObjectのリストだからBとは無関係のオブジェクトが入ってる可能性もある
313デフォルトの名無しさん:2014/06/15(日) 23:11:11.93 ID:/vUBIxR4
>>310-312
素早いご返答有り難うございます。
不勉強で理解しにくい点もありますが、
要はextendsは取り出し専用って事ですね?
314デフォルトの名無しさん:2014/06/15(日) 23:14:06.40 ID:mrP6o9Cn
Javaのジェネリクスは型消去だからコード構文上制限されるだけなんだからね!
実際はプリミティブ以外なら何でも追加できるし取り出せるよ!
315デフォルトの名無しさん:2014/06/15(日) 23:14:36.02 ID:iFMf2v8c
>>308の場合はワイルドカードを使うんじゃなくてこうするのが正解
public <T extends B> void addData(List<T> list){
list.add(new B());
}
ワイルドカードって慣れててもクソ分かりにくい割に
それほど役に立つもんでもないから基本的に使わないくらいでもいいよ
316デフォルトの名無しさん:2014/06/15(日) 23:20:55.59 ID:/vUBIxR4
>>314
確かにジェネリクスは制約が多そうです。

>>315
その方が使いやすそうですね。参考になりました。
317315:2014/06/15(日) 23:25:47.62 ID:iFMf2v8c
訂正
>>315だと結局同じエラーで何の意味もないな
Class<T>を引数で受けてリフレクションでインスタンス作るしかないね
318デフォルトの名無しさん:2014/06/15(日) 23:32:22.31 ID:7f4nqpre
public void addData(List<B> list)
でいいじゃん
319デフォルトの名無しさん:2014/06/16(月) 01:42:50.87 ID:0uiiuKvI
ずっと、思ってることなんですが、
インターフェースって自分で作ることあまりないような・・

イベントとかスレッドのインターフェースはなるほどと思いましたが、
実際の現場とかでは、どうですか?
320デフォルトの名無しさん:2014/06/16(月) 02:05:10.04 ID:ngK+fObZ
>>319
アーキテクトやってたりすると作るよ。人にプログラムを書かせる仕事。
321デフォルトの名無しさん:2014/06/16(月) 02:08:38.12 ID:GYklYk+9
基本的に設計のためのものだから、コーディングしかしてなければ、自分で作る機会もあまりないだろう。
322デフォルトの名無しさん:2014/06/16(月) 19:06:04.76 ID:AT5uR0Uf
ミドルウェア開発担当だとありそうだな
323お勉強中・・・:2014/06/16(月) 21:53:01.01 ID:fMIuCusr
また私ですよ・・・。

実行時、ランダムである文字列を出力するプログラムを模索中です。

例)グー チョキ パー をランダムで出力したい。

Randum?
わかると思いますがジャンケンプログラムです・・・。
324デフォルトの名無しさん:2014/06/16(月) 22:11:26.70 ID:QMRHczEt
残念ながら現存のコンピュータではランダムを再現はできないんだよ・・・
325デフォルトの名無しさん:2014/06/16(月) 22:26:19.42 ID:p2mj7y3R
↑どうしようもないバカ
326デフォルトの名無しさん:2014/06/16(月) 22:51:49.37 ID:IILqrVHj
>模索中です。
ここはお前の日記じゃない
二度と来るなカス
327デフォルトの名無しさん:2014/06/16(月) 23:31:22.89 ID:PWdHrZzq
釣りって言った人(>>252)の気持ちが分かった!
328デフォルトの名無しさん:2014/06/17(火) 01:57:03.75 ID:Xcjn/snm
「java Randum」でググる→「次の検索結果を表示しています: java Random」→トップページを読む。

2chの該当板の該当スレに来れる奴が、これができない筈が無い訳で、つまり釣りって事で。
329デフォルトの名無しさん:2014/06/17(火) 15:29:06.41 ID:TkO0JFn+
ここでChoiceFormatの名前出てこないとか、なんなのおまいら
330デフォルトの名無しさん:2014/06/17(火) 16:53:01.71 ID:ShqAhhW9
出んわそんなもん
331デフォルトの名無しさん:2014/06/17(火) 21:00:09.71 ID:64qAhZME
>>323

if文とString型の変数とint型の変数とrandomメソッド
あとは、System.out.println。

これだけで出来る。

もう、ここで聞くようなレベルじゃない。
332デフォルトの名無しさん:2014/06/17(火) 21:04:12.94 ID:ftyX3K1T
>>323
それ考えてできないんだったらプログラマ諦めた方がいい
自分で考えよう
333デフォルトの名無しさん:2014/06/17(火) 21:17:27.96 ID:64qAhZME
>>331
訂正
String型の変数はいらなかった。
あと、int型の変数も使うパターンと使わないパターンで出来る。

最低限、if文とrandomメソッドとprintlnは必要だと思われる。
334デフォルトの名無しさん:2014/06/17(火) 21:31:07.57 ID:QeMZT5mA
>>323
public class Janken {
 public static void main(String[] args) {
  Janken janken = new Janken();
  for (int i = 0; i < 10; i++) {
   System.out.println(janken.getHand());
  }
 }

 Random random;
 List<String> hands;

 Janken() {
  random = new Random();
  hands = new ArrayList<String>();
  hands.add("ぐー");
  hands.add("ちょき");
  hands.add("ぱー");
 }

 String getHand() {
  return hands.get(random.nextInt(hands.size()));
 }
}
335デフォルトの名無しさん:2014/06/17(火) 22:40:42.65 ID:s625VLpb
javaドカタらしいコードですな
336デフォルトの名無しさん:2014/06/17(火) 22:43:47.46 ID:9KqmJDNd
>>323
もうお前学校辞めろよ
337デフォルトの名無しさん:2014/06/17(火) 22:45:39.47 ID:ll5yB3Gk
>>335
君ならどう書くの?
338デフォルトの名無しさん:2014/06/17(火) 22:49:15.16 ID:KLoAGEx3
ほっとけよ、煽るだけなんだから
339デフォルトの名無しさん:2014/06/17(火) 22:56:53.48 ID:4dHjdtYU
そうか?
ドカタにしてはまっとうな方じゃね

ドカタの特徴は
・staticと非staticの区別がついていない
・メソッド内でしか使わない変数もフィールドで定義
・コンストラクターで適切な「初期化」を行うという発想がない
・型や変数名がとにかく変
・メソッドが処理をまとめただけの物で
 何をするメソッドなのかわかりづらい
・依存する筈の情報があちこちに散乱して変更時の書き換えが多い
340デフォルトの名無しさん:2014/06/17(火) 23:07:16.01 ID:SEsgnWxl
ドカタらしいコードといえばこれ
void パラメータチェック() { モジュールのパラメータのチェックいろいろ; 入力ファイル読み込み(); }
void ファイル読み込み() { ファイルを読む; データ編集(); }
void データ編集() { データをいろいろいじくる; ファイル出力(); }
void ファイル出力() { ファイル出力; println("終了"); }
メソッドをラベルと勘違いしてるんだろうな
341デフォルトの名無しさん:2014/06/17(火) 23:20:10.53 ID:cHqOMmKc
>>339-340
俺めっちゃ当てはまる・・・しにたお('A`)

http://ideone.com/PgYNk6
342デフォルトの名無しさん:2014/06/17(火) 23:35:56.37 ID:zqNMW9Ik
これはドカタと言うより
どちらかというと「ブビ厨」
343デフォルトの名無しさん:2014/06/18(水) 00:49:32.76 ID:nM2aY7/z
>>340
処理自体がデータ構造という点で、画期的だな。
344デフォルトの名無しさん:2014/06/18(水) 02:23:10.80 ID:NWEEsWgw
ラムダ式の時代にいつまでもifやfor書きたがるPGってどうなのよ?

Format f = new ChoiceFormat("0#ぐー|1#ちょき|2#ぱー");
Random r = new Random();
System.out.println( f.format( r.nextInt(3) ) );
345デフォルトの名無しさん:2014/06/18(水) 03:36:45.41 ID:JQVNTRDp
>>340
全部voidのメソッドばっかりで再利用性がないって事でいいの?
346デフォルトの名無しさん:2014/06/18(水) 04:37:00.71 ID:DFxPJl2r
多くのアプリケーションの場合、Math.random() メソッドを使うほうが簡単です。
347デフォルトの名無しさん:2014/06/18(水) 08:15:04.89 ID:+Vfd/Stl
Javaでラムダ式とか言ってる馬鹿は死ぬか別の言語やればいいのに
まさかあのラムダ式と呼ぶのも恥ずかしい欠陥品で満足しちゃってる人なのかな
348デフォルトの名無しさん:2014/06/18(水) 08:22:24.33 ID:zcdIBwR7
プログラマになるためには攻撃手な姿勢を身につける必要がありますか?
349デフォルトの名無しさん:2014/06/18(水) 08:37:30.49 ID:jlRcRoOK
>>340
それguiのイベントと連動してる筈だが、controllerでねーねん。
350デフォルトの名無しさん:2014/06/18(水) 09:27:51.35 ID:Z3MwDhek
>>344
それラムダ関係ないじゃん。ラムダって言いたかっただけ?
351デフォルトの名無しさん:2014/06/18(水) 12:16:09.12 ID:JsUhK788
入λ門
352デフォルトの名無しさん:2014/06/18(水) 14:38:04.60 ID:UQwZDYEc
初心者入門の教科書だいたい理解できたけど次はどうしたら良いの?
いきなり大きいプログラムは作れないから
簡単なプログラム作って実力上げていきたいと思うんだけど
353デフォルトの名無しさん:2014/06/18(水) 16:35:09.62 ID:uL8qSsHI
自分で答え出してないか?
簡単なプログラム作って実力上げていけよ
354デフォルトの名無しさん:2014/06/18(水) 17:51:48.69 ID:UQwZDYEc
その簡単なプログラムの練習ができる参考書かWebサイトを探してるのです
355デフォルトの名無しさん:2014/06/18(水) 18:21:41.04 ID:LUJX2Il4
いきなり大きなプログラム作ればいいと思うんだよなー
結局大きいのを小さくバラしていく作業だから。
その過程のトライアンドエラーや調査で伸びる。

作りたいものがあるとか仕事だとかじゃないと
実力あがらんと思うしあげる必要もない
356デフォルトの名無しさん:2014/06/18(水) 18:31:02.29 ID:UQwZDYEc
そういうもんなんか
う〜ん
ちょっと考えてみるわ
357デフォルトの名無しさん:2014/06/18(水) 22:19:39.34 ID:Ls9SsycK
>>347
Javaのlambdaはコンビネータを記述できますか?
358デフォルトの名無しさん:2014/06/18(水) 22:23:49.62 ID:b95ka0Af
javaでAppleのアプリって作れますか?
359デフォルトの名無しさん:2014/06/18(水) 22:25:58.75 ID:LKK+fn8y
なんちゃってラムダ
なんちゃってタイプジェネリック
なんちゃって列挙

21世紀に入ってからのJAVAは本当に
C#の劣化版サルマネしかしてない
360デフォルトの名無しさん:2014/06/18(水) 22:28:31.53 ID:b95ka0Af
>>359
C#のどのへんがいいの?
361デフォルトの名無しさん:2014/06/18(水) 22:32:33.43 ID:R7ypH+vG
>>358
Appleによって動作環境が公式にサポートされているアプリという意味では作れない
普通のJavaアプリをMacの上で普通のJavaランタイムで動かすことは当然できる
でもJavaは想像以上に嫌われるから覚悟しとけよ
Javaはあくまでサーバーで使うもの
362デフォルトの名無しさん:2014/06/18(水) 22:33:33.38 ID:IPfuBIEm
>>360
ジェネリクス、LINQ、参照渡し、.NETライブラリ
363デフォルトの名無しさん:2014/06/18(水) 22:36:44.42 ID:v/GeEEns
言語仕様が似ててもフレームワークの立ち位置が真逆だから競合するような存在ではないと思うけど
.NETはWindows以外に普及させる気ゼロだし、逆にJavaはWindowsのクライアントサイドで使ってもらう気なんてないだろうし
364デフォルトの名無しさん:2014/06/18(水) 22:37:11.34 ID:0VAFFv3S
>>360
デリゲート、クロージャ
365デフォルトの名無しさん:2014/06/18(水) 22:40:01.83 ID:b95ka0Af
>>362
じゃあjavaやんないでC#やった方がいいの?java勉強しようと思ってたんだけど
366デフォルトの名無しさん:2014/06/18(水) 22:41:29.26 ID:IPfuBIEm
>>365
勝手にしろ
367デフォルトの名無しさん:2014/06/18(水) 22:57:40.71 ID:LUJX2Il4
>>365
どの分野のプログラムをやるかによる
クロスプラットフォームならJavaのほう進んでるがGUI作成はクソ
文法とかはC#のほうが奇麗でJavaが取り入れてる感じ
368デフォルトの名無しさん:2014/06/18(水) 22:59:16.91 ID:Ls9SsycK
いいかげんに ref を取り入れてほしい‥
369デフォルトの名無しさん:2014/06/18(水) 23:04:55.04 ID:1O65QTnb
>>368
無くてすげー困ることって例えば何?
370デフォルトの名無しさん:2014/06/18(水) 23:07:02.19 ID:0SeNOmY2
>>367
> 文法とかはC#のほうが奇麗
例えば?
371デフォルトの名無しさん:2014/06/18(水) 23:18:48.10 ID:2PBu93gM
うむ。
372 ◆QZaw55cn4c :2014/06/18(水) 23:22:02.46 ID:Ls9SsycK
>>297
コテじゃなくて‥あー、もうどーでもいいし‥
373デフォルトの名無しさん:2014/06/18(水) 23:25:58.97 ID:Ls9SsycK
>>369
http://peace.2ch.net/test/read.cgi/tech/1313183984/643
人のコードでごめん、二色木は一生理解できないと観念している
374デフォルトの名無しさん:2014/06/18(水) 23:28:18.50 ID:2sosk4ty
>>367
きれいか?
他の言語から見たら、JavaとC#なんか目くそ鼻くそくらいの違いだろ。
375デフォルトの名無しさん:2014/06/18(水) 23:37:22.44 ID:DFxPJl2r
プリミティブ型を扱えるコレクションを
376デフォルトの名無しさん:2014/06/18(水) 23:39:31.55 ID:0SeNOmY2
>>367
> GUI作成はクソ

GUI作成って何?
awtやswingを使うってこと?

具体的に何がクソなの?
377デフォルトの名無しさん:2014/06/19(木) 00:10:00.80 ID:uZNd6r+L
今からプログラミング始めるなら言語は何がいいの?
http://fox.2ch.net/test/read.cgi/poverty/1403102053/
378デフォルトの名無しさん:2014/06/19(木) 01:30:22.73 ID:uAArql+9
>>361
robovm
379デフォルトの名無しさん:2014/06/19(木) 08:07:50.96 ID:NpfPiivC
「速習Java Swingプログラミング」というタイトルの本(1999年発行)を人から貰った(読んでない)のですが、これは今読んでも使えますか?それとも時代の変化で全くの別物になってしまっているのでしょうか。
GUIの知識は全くありません。
380デフォルトの名無しさん:2014/06/19(木) 08:10:37.22 ID:6q/EJbCK
JavaでGUIアプリを作るなんてこと自体、もう完全に終わった分野
381デフォルトの名無しさん:2014/06/19(木) 08:19:02.02 ID:cJBIMdbh
>>376
Swingしか知らないけど、
文字が汚い。
見た目もネイティブと変わらないように勝手にやってくれたら最高。
382デフォルトの名無しさん:2014/06/19(木) 08:32:02.17 ID:cJBIMdbh
>>379
別物にはなってないと思うけど、
推奨されない機能とかは、今のバージョンだとあるかもね。
Javaできるなら、APIや検索で普通に作れると思う。

JavaのGUIなら、Swingの後に出てるんだけど、
Java FXとかJava FX2っていうのがあるよ。

本当はWindowsならC#とかで作って、
Macは知らないけど、Macに合った言語で作ってというのが、
今の流れらしい。
383デフォルトの名無しさん:2014/06/19(木) 13:04:55.74 ID:mhl3g+Gg
本当のMVCとかObserverパターンとかイベントドリブンとか再帰的レイアウトとか、
いろいろと設計の勉強になるぞSWINGアプリ開発は

ここんとこスマホ案件だなんだで、Webアプリしか書けないプログラマが
新しいこと覚えられなくてイラついているのは察してやれ。
384とんぼ ◆0ioouYq6qF8x :2014/06/19(木) 18:45:38.09 ID:8E4cwzqT
「2色木の実装」と「言語に参照機能があるかないか」に関係はない。私は考えてる。
385デフォルトの名無しさん:2014/06/19(木) 18:48:26.26 ID:EHpEAUer
Android用のアプリはjavaで開発するのがメインなんでしょ?
386デフォルトの名無しさん:2014/06/19(木) 18:59:03.92 ID:uJ3MSecm
自分の好きな言語でのアンドロ用コンパイラ自作すればアンドロアプリを好きな言語で作れるようになるよ
387デフォルトの名無しさん:2014/06/19(木) 19:10:24.41 ID:E0/N/APc
>>386
別に自作しなくてもarmのクロスコンパイルできれば動くでしょ。質問はメインかどうかだし。
>>385
ウェブアプリやゲームアプリ含めると、そうでもないかも? スマートフォン向けとして作るから。
388デフォルトの名無しさん:2014/06/19(木) 20:11:09.51 ID:cJBIMdbh
>>383
まぁ、なんでもやってみたほうがいいよね。

AndroidレベルでパソコンのGUIツール作れたらいいなぁ・・
FXはまだ試してないから、また試してみよ・・
389デフォルトの名無しさん:2014/06/20(金) 00:53:57.04 ID:rNGAsf/H
パッケージのjava.lang の lang ってどういう意味?
390デフォルトの名無しさん:2014/06/20(金) 01:00:30.66 ID:wxsds77Z
391デフォルトの名無しさん:2014/06/20(金) 01:07:57.55 ID:rNGAsf/H
>>390
だよね、ありがと
392デフォルトの名無しさん:2014/06/20(金) 17:45:32.17 ID:vd5puxva
PrintWriterで改行文字を含んだStringを出力しようとすると、
改行文字の前後で2度に分けて出力されます。

これを一度の出力で改行文字ごと出力したいのですがどうすれば良いですか?
393デフォルトの名無しさん:2014/06/20(金) 18:05:12.38 ID:3+DMBbj+
println()でなくappend()かprint()を使う、とエスパー
394デフォルトの名無しさん:2014/06/21(土) 02:48:02.56 ID:b0aXKruE
まずPrintWriterの使用をやめます
395デフォルトの名無しさん:2014/06/21(土) 06:36:40.96 ID:JZeVaIy8
>>392
意味不明

コードうp
396デフォルトの名無しさん:2014/06/21(土) 07:20:01.21 ID:EfmviY6O
こうだと予想

println("あいうえお\nかきくけこ")

彼が期待する結果:
あいうえお\nかきくけこ

現実:
あいうえお
かきくけこ
397デフォルトの名無しさん:2014/06/21(土) 07:53:24.08 ID:0zyJBNkq
違うだろ
バッファリングのタイミングがお気に召さなかったんだろ
398デフォルトの名無しさん:2014/06/21(土) 11:56:26.84 ID:EfmviY6O
ワロリンヌ・・・StringのtoLowerCase()とtoUpperCase()って全角のアルファベットも変換してくれやがんのな・・・
399デフォルトの名無しさん:2014/06/21(土) 18:56:22.68 ID:+wP9cOtK
すみません色々と言葉足らずだったみたいで


>>396のような感じになってほしいのですが、どのように実装したらいいでしょうか?
400デフォルトの名無しさん:2014/06/21(土) 19:26:15.82 ID:8F5XS3IM
401デフォルトの名無しさん:2014/06/21(土) 19:45:16.13 ID:IeGe7dkB
println("あいうえお\\nかきくけこ")

でいいのか?
402デフォルトの名無しさん:2014/06/21(土) 20:27:37.74 ID:+wP9cOtK
out = new PrintWriter(socket.getOutputStream());
out.print(msg);
out.flush();

msgの内容
あいうえお
かきくけこ

受け取り側
あいうえお
かきくけこ

こういう風に受け取り側で二度に分けられる事が困ります

受け取り側では一行で
あいうえお\nかきくけこ
のようにしたいです
403デフォルトの名無しさん:2014/06/21(土) 20:29:38.24 ID:W1ME8a8B
すみません色々と「後出し」だったみたいで
404デフォルトの名無しさん:2014/06/21(土) 20:42:21.96 ID:m/fZKRgt
>>402
改行コードを含んだまま改行せず表示、それは残念ながら絶対に無理なので諦めて下さい
405デフォルトの名無しさん:2014/06/21(土) 20:43:38.30 ID:+wP9cOtK
正規表現使って別の何かに置き換えて送るしかないですかね
406デフォルトの名無しさん:2014/06/21(土) 21:25:53.61 ID:HMVofyNm
改行あったら円マークつけろよ
あいうえお\\nかきくけこ
407デフォルトの名無しさん:2014/06/21(土) 21:30:58.78 ID:W1ME8a8B
ネットワークプログラミング勉強しろよ
408デフォルトの名無しさん:2014/06/21(土) 21:31:42.16 ID:v5uiY6Gs
\記号によるエスケープはソースコード上のリテラル文字列に使うもんなんだけど
409デフォルトの名無しさん:2014/06/21(土) 22:15:09.99 ID:Ze2yzdX0
javaでAppleのアプリ・ソフトって作れんの?
410デフォルトの名無しさん:2014/06/21(土) 22:16:57.60 ID:X/Kis1xK
>>402
まずオマエはTCP/IP通信の基礎が理解できていないから無理
素人らしくHTTPベースのWebサービスでも使っとけ
411デフォルトの名無しさん:2014/06/21(土) 22:29:18.45 ID:+wP9cOtK
>>410
これだけでそこまで分かってしまうものなんですね
出直してきます
412デフォルトの名無しさん:2014/06/21(土) 22:33:54.82 ID:X/Kis1xK
>>411
>>397は俺だが>>392の時点でそうだとわかったわ
413デフォルトの名無しさん:2014/06/21(土) 22:35:09.09 ID:g4ZlCd2F
俺も初めからそうだと気づいてた
414デフォルトの名無しさん:2014/06/21(土) 22:35:37.53 ID:AC3FvT0x
>>409
お前はAppleではないしAppleに就職する能力も持ってないから無理
415デフォルトの名無しさん:2014/06/21(土) 22:50:54.11 ID:hXu2BNo7
Swiftが出たからもうJavaに用はないよ
416デフォルトの名無しさん:2014/06/22(日) 00:26:50.23 ID:Ckui9ihd
SocketやめてDatagramSocket使うと幸せになれるかもだ
417デフォルトの名無しさん:2014/06/22(日) 00:51:28.27 ID:gXnjTF91
よーしパパ、ジャンボフレームにGIF画像突っ込んじゃうぞー
418デフォルトの名無しさん:2014/06/22(日) 13:14:46.00 ID:YR/9r/MY
>>402
PrintWriterは送信部分のコードであって、受け取り側じゃないよ。
困ってる受け取り側のコードを晒さない事には回答しようがないからね。
だから皆エスパーしてくれてるんだよ。
419デフォルトの名無しさん:2014/06/22(日) 14:01:48.34 ID:CnPIc+MX
try (FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis, "Shift_JIS");
BufferedReader br = new BufferedReader(isr)) {
}
これと
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "Shift_JIS"))) {
}
これ
下の書き方だと何がやばいですか?
420デフォルトの名無しさん:2014/06/22(日) 14:14:24.90 ID:TaqxR0c4
>>419
・BufferedReaderのコンストラクタで例外が投げられたらリソースリークする。
・InputStreamReaderのコンストラクタで例外が投げられたらリソースリークする。
・BufferedReaderのcloseメソッドがInputStreamReaderのcloseを呼び、
InputStreamReaderのcloseメソッドがFileInputStreamのcloseを呼ぶ、わけでなかったら
リソースリークする。

理屈としてはこうなるけど、実際にはやばくないと思うよ。
421デフォルトの名無しさん:2014/06/22(日) 14:16:05.70 ID:Cvja/8tc
下の書き方でもクラス側の仕様で勝手に全部閉じてくれるのでやばくはない
422デフォルトの名無しさん:2014/06/22(日) 15:25:41.99 ID:R6m2qV6z
JSTLで書いたコードなんですが
何故かエラーが吐くんですが原因わかりませんか?
上から別々のコードなんですが

<c:set var="nam" value="${param.name}">

<c:choose test="${param.num le 50}">クエリ情報は50以下です。</c:choose>

<c:forEach begin="1" end="5">こまねち<br /></c:forEach>

<c:forEach items="${nam}" varStatus="status"> ${status.number}.${val} <br /> </c:forEach>
423デフォルトの名無しさん:2014/06/22(日) 15:48:13.76 ID:h8mHZ8/o
原因を特定したいのなら何故エラーメッセージのほうは掲示しない
424デフォルトの名無しさん:2014/06/22(日) 17:07:29.82 ID:R6m2qV6z
>>423
errorとしかでないです
425デフォルトの名無しさん:2014/06/22(日) 17:30:02.95 ID:w1IIx2/3
最近エスパー系の質問がすげー多いなw
人手不足で無理やり現場に突っ込まれた初心者増えてんだろうか
426デフォルトの名無しさん:2014/06/22(日) 17:43:47.87 ID:Ky4Dz8PJ
問:プログラムを作りましたがデバッグできません
答:???
427デフォルトの名無しさん:2014/06/22(日) 17:55:51.86 ID:E1jRCSo6
ノンブロッキングIO例で検索すると以下のようなコードがありがちです
実際に動かすと通信の無いアイドル時に
whileのみを回り続けCPU使用率が無駄に上がります
かといってwhileの最後にsleepを入れると
通信が有る時の応答時間が低下します
応答時間を落とさずアイドル時のCPU負荷を落とすのはどうするのが
良いでしょうか?

while(selector.select() > 0) {
 for(Iterator it = selector.selectedKeys().iterator(); it.hasNext();) {
  SelectionKey key = (SelectionKey) it.next();
  it.remove();
  if(key.isAcceptable()) {
   :
  }
  else if(key.isReadable()) {
   :
  }
 }
}
428デフォルトの名無しさん:2014/06/22(日) 18:03:17.43 ID:1f0cB3nj
selectってブロックしなかったっけか?
429デフォルトの名無しさん:2014/06/22(日) 22:48:54.93 ID:HIuTFTmh
ノンブロッキングでselectする意味がわからない
430デフォルトの名無しさん:2014/06/22(日) 23:07:13.71 ID:JWPLD+R/
質問です。リストのイテレータiterAの位置を保持したまま、
iterAの次の位置(と言っても、next()直後なら今の位置と言っても良いのでしょうが)からの
イテレータiterBを作りたいのですが、どうすれば良いでしょうか?

Objectクラスにはclone()がありますが、Iteratorはインタフェースなため、見つかりません。

やりたいことは…List<MyClass>のインスタンスの要素を先頭から[obj1, obj2, obj3, ...]としたとき、
2重ループにしてMyClassのメソッドmethod(MyClass other)を他の要素に対して呼びたいのですが
obj1.method(obj2)を呼んだ後には、逆のobj2.method(obj1)は呼びたくないのです。片方で済ませたい。
431デフォルトの名無しさん:2014/06/22(日) 23:15:53.41 ID:Cvja/8tc
要素の間に何らかの比較基準が定義できるなら
if (x < y) x.method(y);
が簡単
なんかないの?
432デフォルトの名無しさん:2014/06/23(月) 00:56:09.28 ID:n6D/hu4n
>>430
イテレータを最初に配列やArrayListに突っ込んでからループさせればいいだけだと思うが
433デフォルトの名無しさん:2014/06/23(月) 08:27:27.51 ID:HYQ5O4pr
二重ループで順列の添字ペア(i,j)を求めてからリストに添字アクセス。
件数が多いならArrayListに詰め込み直してでもやる価値はある。

どうしてもイテレータにこだわりたいならListIterator二組作ってギッコンバッタン。
434デフォルトの名無しさん:2014/06/23(月) 20:43:53.03 ID:mkNaLLcy
ありがとうございました。結局 >>431 さんのを参考に少し変形して

for(MyClass obj : obj_list) {
 boolean foundSelf = false;
 for(MyClass other : obj_list) {
  if(other == obj) {
   foundSelf = true;
  } else if(foundSelf) {
   obj.method(other);
  }
 }
}

という形にしました。
435デフォルトの名無しさん:2014/06/24(火) 19:40:32.40 ID:p5Rma9E1
どうしてそんな糞コードになった…
436デフォルトの名無しさん:2014/06/24(火) 21:41:12.34 ID:eebeaZch
cronでシェルからJavaを起動するバッチを作成したいのですが、
mainメソッドの中に処理を書くのか、Thread(Executor)を使った方が良いのか
どちらが良いのでしょうか?
同時にmainメソッドが呼ばれた場合は別スレッドになるのでしょうか?
437デフォルトの名無しさん:2014/06/24(火) 22:04:55.01 ID:DyCbKPJJ
ちょっと何言ってるかわからない
438デフォルトの名無しさん:2014/06/24(火) 22:08:50.29 ID:olRYDACn
>>436
そもそもvmが違うのでは。
439デフォルトの名無しさん:2014/06/24(火) 22:30:05.11 ID:eebeaZch
>>438
ありがとうございます。
440デフォルトの名無しさん:2014/06/30(月) 04:30:24.04 ID:7Jb2eK+d
eclipse+mavenで開発をしているのですが、pom.xmlの依存関係>追加で、"グループID、アーティファクトID、またはsha1接頭部またはパターン(*)の入力(E)"に
idの一部を入れて検索しても、"'hoge'の結果(0)"と出るだけで、何も出てきません。(junit、hamcrest、mockitoで試しました。)
このようなことになる原因としてはどのようなことが考えられるでしょうか?

環境はwinodws7 + Eclipse Juno Service Release 2 + Maven 3.0.4です
441デフォルトの名無しさん:2014/06/30(月) 21:40:54.35 ID:PfFIn4o2
>>436
バッチの質問なのか、Javaの質問なのか、
意味がわからん。

Javaでプログラム書きます。

cronで定期的にJavaのプログラム立ち上げます。

これで完結するじゃん。

バッチの中身はそのままJavaコマンド書けばいいわけだし。
442デフォルトの名無しさん:2014/06/30(月) 21:46:06.42 ID:PfFIn4o2
>>436

>>mainメソッドの中に処理を書くのか、Thread(Executor)を使った方が良いのか
Threadが必要なプログラムなら必要だし、
いらないプログラムなら、Threadはいらない。
どんなプログラム書こうとしてるの?

>>同時にmainメソッドが呼ばれた場合は別スレッドになるのでしょうか?
つまり、同時に同じプログラムが立ち上がるということ?
別々に同じプログラムのメインメソッドが立ち上がるよね。

別スレッドってなんだい?
メインメソッドの事を指してる?

エスパー杉
443デフォルトの名無しさん:2014/06/30(月) 21:47:24.69 ID:2qaQZZZr
mainかThreadかっつってんだから
シェル→C→(JNI)→Java
と呼び出すときのJavaのエントリーポイントをどうすべきか
きいてるんだろ
444デフォルトの名無しさん:2014/06/30(月) 21:50:04.82 ID:PfFIn4o2
>>443
バカか
>>cronでシェルからJavaを起動するバッチを作成したいのですが、
バッチを作りたいって言ってるのにスレッドがどうのこうのいってんだよ
445デフォルトの名無しさん:2014/06/30(月) 22:19:03.92 ID:/lxtWTqv
本人がなぜか納得してんだからいいだろ
446デフォルトの名無しさん:2014/06/30(月) 22:29:43.51 ID:xodEAYl1
cronでjavaを起動するツールの話かと思ってけど、まあいいかな、いいよな
447デフォルトの名無しさん:2014/07/01(火) 08:14:29.23 ID:RSTmOvHv
何度javaを起動しても、同じvmに接続されると思ってたんだろ。
448デフォルトの名無しさん:2014/07/01(火) 11:25:08.94 ID:nJV9wVNd
public Counter {
public static void main(String[] args) {
int a = 0;
while(a < 5){
System.out.println(++a);
}
}
}

このような形のものを

public Counter {
public void count(int a){
System.out.println(++a);
}
public static void main(String[] args) {
Counter A = new Counter();
int a = 0;
while(a < 5){
A.count(a));
}
}
}

このような形に変えたいのですが
下のものを実行すると1が表示され続けてしまいます
どういう風に記述すれば上と同じように動作してくれるでしょうか
449デフォルトの名無しさん:2014/07/01(火) 12:31:32.10 ID:H66U5r1j
cunt(int[] param) // paramは要素数1の配列
450デフォルトの名無しさん:2014/07/01(火) 12:37:49.85 ID:OoZ2DZwm
>>448
「java 引数 参照渡し」で検索汁
451448:2014/07/01(火) 19:37:52.39 ID:KlFm4Rco
ありがとうございます
思い通りにできるようになりました
452デフォルトの名無しさん:2014/07/01(火) 20:09:51.90 ID:E4+mhFAM
>>448
コードはもっと分かりやすい書き方するようにしたほうがいいよ。
短いコードだから、落ち着いてゆっくり順番に見ていくといい。

public Counter {
public void count(int a){
//まず、仮引数はaで、何の値が来るかはわからない。
System.out.println(++a);
//それにa++ということは、+1して画面に出力している。
}
public static void main(String[] args) {
//Counterクラスのインスタンスを作り、Aという変数に参照させている
Counter A = new Counter();
//int型のaという変数を宣言し、0を代入している。
int a = 0;
//while文でaが5よりも小さい場合はtrue
while(a < 5){
//Aが参照しているインスタンスのメソッドを呼び出し、引数にはa
A.count(a));

}
}
}

メインメソッドのaという変数の値は0で何度回しても0のまま。

わかったって書き込みがあったけど、
こういうプログラムって通常はwhile文の中でa++するほうが多いと思う。

今回の場合は、countメソッドの仮引数を++していたけど、
メインメソッドの中のaは++されていないということが問題だったってこと。
453デフォルトの名無しさん:2014/07/01(火) 20:11:12.66 ID:E4+mhFAM
454デフォルトの名無しさん:2014/07/01(火) 20:16:46.48 ID:2SUA8Re2
何でいきなりコーディングのお作法解説が始まんの?
455デフォルトの名無しさん:2014/07/01(火) 20:40:00.27 ID:ju0YDCxu
ドカタのくせに先輩面したいから
456桃白白 ◆9Jro6YFwm650 :2014/07/01(火) 20:46:26.22 ID:zDJRF/6W
>>455
親方、桃白白もドカタになりたいです……。
457デフォルトの名無しさん:2014/07/01(火) 20:48:38.77 ID:hffwk9eZ
なら俺もドカタ向けにアドバイスしてやろう。
ドカタはstaticというか非staticが理解できないんだから
Counterの中のmainでnew Counterするなどもってのほか。
メインは専用のクラスにしろ。

class Counter {
 public void ドカタ作業() {
 }
}

class Program {
 public static void main(String... args) {
  Counter c = new Counter();
  c.ドカタ作業();
 }
}
458436:2014/07/01(火) 21:32:51.34 ID:PIgwHICt
>>442
>>447 の通り同じvmだと思っていました。

サーブレットだと同じ画面が複数スレッドからアクセスされるので、
main実行時も同じvmでスレッド単位で実行されるのか、
もしくは1つのスレッドで1回目のmainが終わるまで2回目が待機するのか
どちらかの想定で質問していました。

質問がわかりづらくて申し訳ありません。
459デフォルトの名無しさん:2014/07/01(火) 23:45:25.25 ID:15sL5j63
いままでプログラミングなんてやったことないのですが少し案があってAndroidアプリが作りたいのですがオススメの入門書などありますか?
460デフォルトの名無しさん:2014/07/01(火) 23:47:45.95 ID:peRBr/7X
来たー、後だし
461デフォルトの名無しさん:2014/07/02(水) 00:33:22.84 ID:SktLeQv9
>>459
これなんてどうだ?

http://www.amazon.co.jp/gp/aw/d/4830948140
人的資源管理入門
462デフォルトの名無しさん:2014/07/02(水) 00:42:48.44 ID:s+/bZ0N3
>>457
c#で知った口でしょ君は。
463デフォルトの名無しさん:2014/07/02(水) 22:36:28.08 ID:W0U0qWXe
今までjava触ったことなかった荒らしがjava勉強し始めてから
急に荒らしやめて先輩面しだしたアホだよそいつw
464デフォルトの名無しさん:2014/07/03(木) 01:27:42.91 ID:+uXM4PGD
ドカタドカタ言ってる暇があれば
勉強しろよ

良いコードをひねり出す事に集中しろ
465デフォルトの名無しさん:2014/07/03(木) 19:11:58.89 ID:cXWcwOau
>>464
視野を広く持つんだ
綺麗なコードを書くことは大事なことだが、
ドカタで終わりたくないならもっと大事なことも沢山ある

もう取り返しのつかない歳になってそれに気がついた
画面に向かって過ぎ去った俺の人生
466デフォルトの名無しさん:2014/07/03(木) 19:20:24.89 ID:hP9T/wsr
ドカタがきれいなコード書くとか
何の冗談か
467桃白白 ◆9Jro6YFwm650 :2014/07/03(木) 19:47:27.87 ID:gqLdubbD
>>466
それには桃白白も同意せざるを得ません(切実)
468デフォルトの名無しさん:2014/07/03(木) 23:03:10.24 ID:Kr3pxeCu
オブジェクト指向ではコンストラクタは引数によって作るオブジェクトを変えるべきでないとの話を
前に聞いたんですが、そんな事可能なのでしょうか?
ttps://www.ogis-ri.co.jp/otc/hiroba/technical/DesignPatternsWithExample/chapter04.html
このサイトの図4だと、Factory MethodデザインパターンのCreator役を抽象クラスのFileSaverFactory
にして、Productを使うメソッドの引数にそれを継承したクラスのオブジェクトを入れ、それに対応したConcreteProductを作る事によって
if文がいらなくなるとの話ですが
そのFileSaverFactoryを実装したクラスを選ぶときにif文が必要になる気がするのですが
469デフォルトの名無しさん:2014/07/03(木) 23:04:12.50 ID:Kr3pxeCu
オブジェクト指向ではコンストラクタは引数によって作るオブジェクトを変えるべきでないとの話を
前に聞いたんですが、そんな事可能なのでしょうか?
ttps://www.ogis-ri.co.jp/otc/hiroba/technical/DesignPatternsWithExample/chapter04.html
このサイトの図4だと、Factory MethodデザインパターンのCreator役を抽象クラスのFileSaverFactory
にして、Productを使うメソッドの引数にそれを継承したクラスのオブジェクトを入れ、それに対応したConcreteProductを作る事によって
if文がいらなくなるとの話ですが
そのFileSaverFactoryを実装したクラスを選ぶときにif文が必要になる気がするのですが
470デフォルトの名無しさん:2014/07/03(木) 23:22:23.38 ID:2Ze3kKMg
>>468
>FileSaverFactoryを実装したクラスを選ぶときにif文が必要になる気がするのですが
それはそれで構わない。目的は使われる側のクラスに手を入れることなく
使う側が使われる側のクラスの動作(どのクラスをnewするか)を変えること。
「制御の反転」ってやつだ
471デフォルトの名無しさん:2014/07/03(木) 23:33:28.79 ID:cXWcwOau
結局そうやって依存関係を作る処理が上に上にと押し上げられて、
全部mainで構築するようになり
Spring導入すれば一緒じゃんと気がついて
デザインパターンとか殆ど使わなくなるのであった
472デフォルトの名無しさん:2014/07/04(金) 00:02:03.79 ID:Yh/yxnBh
>>470
ありがとうございました!
if文ばかりに目が行ってました。
制御の反転について色々調べてみます!
最後に連投申し訳ないです。
473デフォルトの名無しさん:2014/07/04(金) 01:15:51.97 ID:EISMk0Az
サーブレットでファイルアップロードすると自動でリサイズする機能を作ってるんですが
リサイズ部分は public static reize(){...} といったstaticメソッドを
実装したUtilクラスにしています。

複数ユーザが同時アップロードした場合に、staticメソッドで
このような処理をやるのは問題ないでしょうか?
接続(セッション)毎にリサイズ用のクラスのインスタンスを作って
その中で処理したほうが安全でしょうか?
474デフォルトの名無しさん:2014/07/04(金) 07:50:55.17 ID:AqR4CHdL
静的フィールドを弄ってなければ問題ない
とはいえメソッドの中で呼び出してるライブラリの静的メソッドがスレッドセーフじゃなかったりするとダメなので
自分では静的フィールド弄ってないからって一概に安全とはいえないし
インスタンス作ったからって解決するものではない
475デフォルトの名無しさん:2014/07/04(金) 08:27:58.71 ID:ttZK3FSy
>>474
ありがとうございます!
静的フィールドはいじってませんが、ライブラリ周り確認してみます。
476デフォルトの名無しさん:2014/07/04(金) 18:32:25.72 ID:yPfgnHiW
>サーブレットでファイルアップロードすると自動でリサイズする機能を作ってるんですが

JAVAドカタ()は日本語もマトモに書けないのか
477デフォルトの名無しさん:2014/07/04(金) 18:41:43.87 ID:Pz9wKx/D
正解はどちらもスレチ
478デフォルトの名無しさん:2014/07/04(金) 18:44:42.16 ID:EmdwVScw
Commonクラス
Constantクラス
Utilクラス
これらはドカタの三種の神器
479デフォルトの名無しさん:2014/07/04(金) 18:54:22.73 ID:NI7i0VVs
>>477
これは確かに正解、模範解答だ
480デフォルトの名無しさん:2014/07/05(土) 10:41:44.43 ID:74coCuSB
定数クラス禁止なら定数は何処に置けばええんや
481デフォルトの名無しさん:2014/07/05(土) 11:42:59.22 ID:cHZc6D0G
インターフェース
482デフォルトの名無しさん:2014/07/05(土) 12:47:37.41 ID:JhP849Ig
リソース
483デフォルトの名無しさん:2014/07/05(土) 12:48:25.30 ID:JhP849Ig
リソース名が定数だったてへぺろ
484デフォルトの名無しさん:2014/07/05(土) 13:03:11.72 ID:NtccjB+F
netbeansのGUIビルダーを使ってみようとして
JFrameコンテナを追加したのですが
デザイン領域でずっとloading...になっています
原因がわからないので教えていただけないでしょうか
にちゃんねるは慣れていないのでスレチだったら教えて下さい
485デフォルトの名無しさん:2014/07/05(土) 13:06:42.03 ID:6PKoBQqR
スレ違いというよりそういうことがしたいならJavaを使うのが間違い
C#とかQtとか行け
486デフォルトの名無しさん:2014/07/05(土) 15:05:47.68 ID:B/oyjxcn
PCスペック足りないかnetbeansが糞なんだろ
487デフォルトの名無しさん:2014/07/05(土) 22:08:26.18 ID:NtccjB+F
ありがとうございます
専ブラを作りたくてGUIを勉強しようと思ったのですが
JAVA以外できないので諦めます
488デフォルトの名無しさん:2014/07/06(日) 09:46:16.27 ID:6HIamfN5
>>487
勿体無いなあ。
作りたい物作れて、ついでに新言語も学べる動機なんてしょっ中は無いぞ。
489デフォルトの名無しさん:2014/07/06(日) 09:54:29.66 ID:hgECHsHs
>>484
ほんとうならバグだろ、報告したら
490デフォルトの名無しさん:2014/07/06(日) 10:02:07.93 ID:5z9UYEB8
Java系のGUIビルダー使ってるとあまりにも酷すぎて報告する気にもならんよな
491デフォルトの名無しさん:2014/07/06(日) 10:11:31.88 ID:CXh2w/Ih
そこで商用ですよ
492デフォルトの名無しさん:2014/07/06(日) 10:28:05.93 ID:vmnGRyri
JavaFXなんだろう、Oracle的には
493デフォルトの名無しさん:2014/07/06(日) 10:43:06.49 ID:h47gFyyv
494デフォルトの名無しさん:2014/07/06(日) 13:30:35.06 ID:44uzW0/n
http://www.dotup.org/uploda/www.dotup.org5170915.png

いつまでもロード…
無理だったら専ブラ開発には何言語がいいんでしょうか
ただC#はちょっと嫌です
495デフォルトの名無しさん:2014/07/06(日) 13:42:59.23 ID:A02EYrAf
普通にLayout使って書けばいいだろ。
496デフォルトの名無しさん:2014/07/06(日) 13:46:19.52 ID:7aYDsBfY
提示された情報との差分を見出して試して見ればいいじゃない。

とりあえずココから日本語版dlしてみれば?
https://ja.netbeans.org/
497デフォルトの名無しさん:2014/07/06(日) 16:49:03.43 ID:44uzW0/n
とりあえず再インストールしています
498デフォルトの名無しさん:2014/07/06(日) 16:58:52.37 ID:44uzW0/n
まさか治るとは
回答有難う御座いました
またまた質問で申し訳ないのですが
専ブラを作るとなると
どのような書籍/ホームページを見ればいいのでしょうか
499デフォルトの名無しさん:2014/07/06(日) 17:06:15.47 ID:5z9UYEB8
C#とかDelphiとかならオープンソースのがあるだろ?
それ移植するだけだよ
500デフォルトの名無しさん:2014/07/06(日) 17:09:43.21 ID:hcqFkKqd
専ブラ作者って金もらえないんじゃねえの
501デフォルトの名無しさん:2014/07/06(日) 17:12:49.27 ID:7aYDsBfY
専ブラう云々はスレチ。

その程度を自力で解決できないのなら、正直先が見得てると思うぞ。
とりあえずココ読んで自力を付けなさいな。
http://www.google.co.jp/intl/ja/insidesearch/tipstricks/

で、結論だがココを読めばいい。
http://monazilla.org/index.php?c=6-20
502デフォルトの名無しさん:2014/07/06(日) 17:13:44.41 ID:hcqFkKqd
専ブラのスレもあるしな

monazilla Part 6
http://peace.2ch.net/test/read.cgi/tech/1224449899/
503デフォルトの名無しさん:2014/07/06(日) 19:41:29.59 ID:/0mEGvp2
Java知識度クイズ

三つ合ってたら初心者それ以下で初心者以下
全部合ってたら普通

コネクション・プールとは、あらかじめいくつかの接続を[ (ア) ]しておくためのしくみである。 アプリケーションが使用し終わった接続は破棄されるのではなく[ (ア) ]に戻され再利用される。
MySQLへの接続文字列は、「jdbc:[ (イ) ]//localhost/mydb?[ (ウ) ]=UTF-8」のように記述する。
有効な接続数を[ (エ) ]してしまうと、それだけユーザが空きを待たなければならない可能性が高くなる。逆にあまりに、[ (オ) ] してしまうと、コネクション・プーリングを行うための消費リソースは大きくなる
504デフォルトの名無しさん:2014/07/06(日) 19:57:31.11 ID:A02EYrAf
偏ってんな。
宿題やってくれってことか。
505デフォルトの名無しさん:2014/07/06(日) 20:16:48.83 ID:vRnOb6AM
イとウはプログラミングと関係ないだろ
J2EE製品のマニュアル読んで製品の設定ファイルに書くだけの内容なんだから
506デフォルトの名無しさん:2014/07/06(日) 20:37:52.14 ID:i+AgAHb+
問題からして馬鹿w
507デフォルトの名無しさん:2014/07/06(日) 20:58:16.39 ID:/vnH+UtR
最近はJava1.4で止まってる連中が多くて嫌だよな
>>503とかJava知識かんけーねーし
508デフォルトの名無しさん:2014/07/06(日) 21:12:56.45 ID:/0mEGvp2
ふぁああ
ふぁああ

すんませんすんませんw
予備校で教えているのですが酔っ払って調子にのってましたw
509デフォルトの名無しさん:2014/07/07(月) 00:14:17.35 ID:qiNukDCf
猿でも解決できそうなくだらない質問してる時点で専ブラどころかメモ帳が関の山
他人のソースすら読めないレベルだろ
510デフォルトの名無しさん:2014/07/07(月) 00:15:59.53 ID:qiNukDCf
教えてる奴もそいつから学ぶ奴も馬鹿なのがプログラム教えてる学校
511デフォルトの名無しさん:2014/07/07(月) 00:56:48.89 ID:wO4tUsgh
やっとSmatraが現実味を帯びてきたな。永かった。AparapiとRootbeerはいつになるやら
512デフォルトの名無しさん:2014/07/07(月) 20:36:23.53 ID:coJo6050
>511
何だそれらは 誤爆か?
513デフォルトの名無しさん:2014/07/07(月) 21:26:49.79 ID:JjPRPxz5
>>512って仕事できなさそう
514デフォルトの名無しさん:2014/07/07(月) 21:35:23.22 ID:Vj5xi55m
まぁSmatraも関心ない人はJava関連のプロジェクトだなんて知らんだろ
http://openjdk.java.net/projects/sumatra/
515デフォルトの名無しさん:2014/07/08(火) 01:02:06.36 ID:1KS2URmS
Javaで、プリンターのデバイスドライバを作ることはできますか?
セントロニクスなんですけど
516デフォルトの名無しさん:2014/07/08(火) 01:32:38.39 ID:XlmOifB2
JNIだかでネイティブAPI使えるんだから何でも作れるんじゃね?しらんけど
517デフォルトの名無しさん:2014/07/08(火) 02:18:10.26 ID:raPHsXvx
本当にjavaドカタは馬鹿だなw
518デフォルトの名無しさん:2014/07/08(火) 06:40:31.96 ID:P6whpC+s
>>516は確かにバカ土方だが、逆にC/C++からJavaを呼ぶことも可能なのでできなくはない
C/C++だけで作るより余計に難しくて手間かかるだけだろうけど
519デフォルトの名無しさん:2014/07/08(火) 13:25:56.89 ID:ZCtmXZZs
ドライバってOS寄りの質問だよね
ここでやるのはスレチというかイタチじゃね
520デフォルトの名無しさん:2014/07/08(火) 13:32:52.25 ID:hxSm+BQN
バカでかいユーティリティソフトをドライバと言うプリンタメーカー
521デフォルトの名無しさん:2014/07/08(火) 13:36:09.77 ID:XlmOifB2
XLSoftのExcelsior JETを使えばJavaでドライバ開発可能やろ?
522デフォルトの名無しさん:2014/07/08(火) 13:46:23.79 ID:+noH6p2u
無理
523デフォルトの名無しさん:2014/07/08(火) 14:09:21.59 ID:52v62ISJ
ステマ
524デフォルトの名無しさん:2014/07/08(火) 14:53:43.51 ID:DfFItBLh
すみません、質問させて下さい。
ttp://www3.pf-x.net/~chopper/home2/Java/java36.html
こちらのサイトにあるコードを参考にさせて頂き、ゲームにアクティブレンダリングを導入しようと思ったのですが、
この場合どのようにして、オフスクリーン用のグラフィックオブジェクトに書き込めばよいのでしょうか。
暫く考えていたのですがわからなかったので、ご教授いただけると幸いですm(_)m
525デフォルトの名無しさん:2014/07/08(火) 15:17:51.13 ID:nw0aRkq1
gameOffDraw()がその内容みたいだけど。
526デフォルトの名無しさん:2014/07/08(火) 15:40:43.58 ID:DfFItBLh
>>525
そうなのですが、オフスクリーン用のバッファに書き込む用のグラフィックオブジェクトです。
527デフォルトの名無しさん:2014/07/08(火) 17:06:19.72 ID:PUyerOr8
gameOffDraw()の内容(こんな簡易なコード)を見て分からんのなら絶望的だから諦メロン
528デフォルトの名無しさん:2014/07/08(火) 18:12:44.16 ID:nw0aRkq1
Charaクラスのソースが提示されてないから判らないって話かな。
import文も見当たらないしコンパイル通ってないコードかもね。

とりあえずchara.draw(off)メソッドの中身は、普通にoff.drawImage()使ってる筈だよ。

http://docs.oracle.com/javase/jp/7/api/java/awt/Graphics.html

「java Graphics」で検索すると色々な使い方が判るよ。
529デフォルトの名無しさん:2014/07/08(火) 18:16:13.60 ID:DfFItBLh
>>528
わざわざ、ありがとうございます!
Graphicsには色々な描画方法があるんですね。
530デフォルトの名無しさん:2014/07/08(火) 18:19:07.61 ID:nw0aRkq1
ここも一通り目を通しておくのがいいと思います。
http://docs.oracle.com/javase/jp/7/technotes/guides/2d/index.html
531デフォルトの名無しさん:2014/07/08(火) 18:49:23.54 ID:PUyerOr8
>>524のサイトの他のページとか読んでないんじゃねーの
http://www3.pf-x.net/~chopper/home2/Java/java35.html
532デフォルトの名無しさん:2014/07/08(火) 23:12:20.58 ID:yzjfp0Zg
>>519
やっぱだめなんですね
CかASMなんですね
わかりました
アセンブラの仕様、プログラム例は平成初期のトランジスタ技術スペシャルの本に載っているのですが
MS-DOSの時代のものなので、かなり勉強が必要かなと
古いプリンターなので、Win8などはサポーとしていないのです
パラレルをUSBに変換するケーブルが売っているのですが
とりあえず勉強のためなんです
失敗したら基板を壊しそうw
ほか、みなさんありがとう
533デフォルトの名無しさん:2014/07/08(火) 23:27:16.19 ID:w5EkuvqN
>>532
DOS時代の本なんか投げ捨てろ 害にしかならん
534デフォルトの名無しさん:2014/07/09(水) 00:50:36.91 ID:1+/UVbmN
Windowsを捨ててLinuxやればいいんじゃね
535デフォルトの名無しさん:2014/07/09(水) 06:27:54.40 ID:WGGRmOhV
javaを最近はじめたのですが
C++のmakefileに相当するのがbuild.xml
なのでしょうか?
build.xmlを手で編集するのが標準スタイルなのでしょうか?
それともeclispseかなにかで自動生成できるのでしょうか
536デフォルトの名無しさん:2014/07/09(水) 07:19:43.56 ID:l1PGYIog
eclipseの本一冊本買って読めよ
537デフォルトの名無しさん:2014/07/09(水) 10:29:24.31 ID:Uj/pBvlL
make に相当するのが ant
makefile に相当するのが build.xml
もちろんツールで生成しても手で編集してもよい
538デフォルトの名無しさん:2014/07/09(水) 11:01:24.53 ID:WGGRmOhV
普段はC++とRacket使ってます
やもえない事情でJavaをいじらないといけなくなったのですが
emacsに慣れてる人向けには
emacs-eclim使うと一番よかったりしますか?
(まだ未完成で使い物にならないとかないですよね)

Javaってどんなメリットのある言語なのでしょうか
539デフォルトの名無しさん:2014/07/09(水) 11:11:53.32 ID:NdFKxCKY
>>535
antは細かくできるけど、流れを任せたいなら、maven便利。
540デフォルトの名無しさん:2014/07/09(水) 11:47:07.24 ID:WGGRmOhV
ちなみに
Gradle
ってどうなんでしょう
541デフォルトの名無しさん:2014/07/09(水) 12:35:06.78 ID:/i7G7/Jc
レスを無視して好きにすれば
542デフォルトの名無しさん:2014/07/09(水) 12:41:55.15 ID:zjFkJ2Wk
Javaでなにもかもできるわけじゃないんだな
まだまだ万能じゃないんだ
543デフォルトの名無しさん:2014/07/09(水) 12:46:16.54 ID:Uj/pBvlL
むしろCで出来ることを切り捨てまくることで
移植性や安全性を高めている
544デフォルトの名無しさん:2014/07/09(水) 13:45:36.98 ID:NdFKxCKY
>>542
アセンブラ最初から万能だよ。ちょーオススメ。生産性の高い高級言語なんて使わないほうがいいよ。
545デフォルトの名無しさん:2014/07/09(水) 19:20:42.00 ID:WW3wU6vs
>>1-1000
スレチ
546デフォルトの名無しさん:2014/07/09(水) 19:22:35.44 ID:WW3wU6vs
>>542
何でも出来るよ
547デフォルトの名無しさん:2014/07/09(水) 19:33:12.82 ID:Cql6MStx
>>545
他人は言われなき言いがかりは気にしなきゃいいだけなんだが、
自認している奴は言い逃れようもない、まさしく呪詛
548デフォルトの名無しさん:2014/07/09(水) 23:32:06.70 ID:6LMuMalC
大学教授が1.4使ってたから笑ったらマジオコされた(;ω;)
549デフォルトの名無しさん:2014/07/10(木) 01:12:43.53 ID:2AuBR2TX
古代遺蹟の保守行くと1.3とかザラ
550デフォルトの名無しさん:2014/07/10(木) 01:58:45.11 ID:qJclGRzX
rhinoとかソースは5.0だけど1.2時代からの全ての互換コード含むから1.2時代の事情知らないと読めないぜ。15年分のgit logすごいぞ。

>>540
ant: xmlに疲れた/比較的自由
maven: 巨大でよく失敗して失敗したら自分ではどうにもできん獣/巨大なプロジェクトに依存関係たっぷりだと最強
gradle: プログラマブルなビルドツール/どうにでもなる
551デフォルトの名無しさん:2014/07/10(木) 02:11:46.83 ID:PKMDmrfy
gitって15年以上前からあるのか
すごいな
552デフォルトの名無しさん:2014/07/10(木) 02:50:43.92 ID:TS6BiSIc
Java + Ruby で何でもできる
特にRubyは日本語対応もよく、濁点・半濁点を別に1文字で数える、
変態的なUTF8-MACにも対応している
例、ビ = ヒ + 濁点

また配列で集合演算もできる

A(1,2,3), B(3,4)の時、集合の積・和・差を、
A & B = 3
A + B = (1,2,3,4)、または重複ありの(1,2,3,3,4)
A - B = (1,2)
553デフォルトの名無しさん:2014/07/10(木) 02:59:47.70 ID:85r49aHw
>ビ = ヒ + 濁点

ただのUnicodeの正規化に見えるんだが
むしろこれができない言語・フレームワークを教えて欲しいものだ
554デフォルトの名無しさん:2014/07/10(木) 03:11:04.11 ID:7P2xNRac
オブジェクトごとに画面に描画したい場合、
オブジェクトの機能として描画機能をそれぞれ持たせるのか
それともJFrameクラスにだけ描画機能を持たせて、他のオブジェクトからJFrameに描画内容を
渡したほうがいいのかで迷う
555デフォルトの名無しさん:2014/07/10(木) 04:33:42.56 ID:qz545p15
swingつかったくそアプリなんか誰も使わないから好きにすればいいじゃん
556デフォルトの名無しさん:2014/07/10(木) 06:41:31.07 ID:c0ZbepsZ
v2c
557デフォルトの名無しさん:2014/07/10(木) 10:38:38.25 ID:oAPFJoU5
>>550
rhinoのソースをそんなに読み込んでいるあなたはもしや、
rhinoの最適化版をgithubに上げているあの人?
558デフォルトの名無しさん:2014/07/10(木) 10:39:40.06 ID:oAPFJoU5
>>540
俺はmavenが大嫌いだからant+ivy使ってるけど
覚えること少ないから楽だよ
559デフォルトの名無しさん:2014/07/10(木) 10:52:47.54 ID:CFIMeLHR
maven人気ないな。そんな難しいかな。
560デフォルトの名無しさん:2014/07/10(木) 11:31:29.52 ID:hxz0tbWN
>>554
普通にmvc(mvp)で作ればいいんでねーの。
561デフォルトの名無しさん:2014/07/10(木) 11:53:06.87 ID:oAPFJoU5
>>559
便利なのは確かだが、極めて簡単な事をするために込み入った設定を求められる(ことがある)のが嫌
562デフォルトの名無しさん:2014/07/10(木) 17:43:14.15 ID:sd7wkZb9
>>549
当時のイメージだと、
1.2から実用的って感じだね。
1.1なら物足りない、1.3なら申し分ないというか。
563デフォルトの名無しさん:2014/07/10(木) 21:23:20.73 ID:x+cIOyaa
質問です

java.lang パッケージ パッケージの「lang」ってなんの略ですか?
564デフォルトの名無しさん:2014/07/10(木) 21:33:41.76 ID:7FgIzYt2
荒らすなボケ
565デフォルトの名無しさん:2014/07/10(木) 21:46:12.07 ID:bpoMXDJZ
566デフォルトの名無しさん:2014/07/10(木) 22:02:34.44 ID:x+cIOyaa
>>565
ありがとうございます
そういやプログラミング言語も言語ですよね……(他言語(英語とか)対応のほうかと)
567デフォルトの名無しさん:2014/07/11(金) 21:07:44.97 ID:ZKA5MhpY
staticな変数の容量はどれくらいありますか?
いくらでも突っ込めますか?
568デフォルトの名無しさん:2014/07/11(金) 21:14:36.78 ID:Ea7Wy8FV
JVMでの設定やパソコンのスペック次第でいくらでも
569デフォルトの名無しさん:2014/07/11(金) 21:28:30.61 ID:ZKA5MhpY
RAMが512MBだとしてもhddが32gbとかあれば、32gb分使おうと思えば使えるんですか?
570デフォルトの名無しさん:2014/07/11(金) 21:30:35.25 ID:RBdyVA/D
1クラス65536個までだったかな。インスタンス変数との取り合い。
571デフォルトの名無しさん:2014/07/11(金) 23:45:43.56 ID:HTaRUZHV
なんでJAVAドカタって、会話のキャッチボールができないの?
572デフォルトの名無しさん:2014/07/11(金) 23:57:01.14 ID:z75hqRQ4
>>567
もう一度基礎からやり直せ
573デフォルトの名無しさん:2014/07/11(金) 23:59:08.43 ID:d+7+GmaH
>>571
お ま え が い う な !
574デフォルトの名無しさん:2014/07/12(土) 00:05:08.93 ID:M/MgpNc5
ワロタ
575デフォルトの名無しさん:2014/07/12(土) 00:05:46.75 ID:gbbYDdYt
static変数1個あたりで一番容量があるのはdoubleあたりか?
576デフォルトの名無しさん:2014/07/12(土) 00:31:33.20 ID:DU/9NdND
>>569
staticはHDD関係なくて、
実行時の問題だから、メモリの話になる。

メモリが512MBしかないのに、1GB占有しようとしても無理だよな?
そんなことしたら、
ガーベッジコレクションしても、
メモリの容量が足りない時に例外が発生する。
577デフォルトの名無しさん:2014/07/12(土) 00:32:54.26 ID:DU/9NdND
>>575
そんなわけないだろう。
578デフォルトの名無しさん:2014/07/12(土) 01:20:23.11 ID:MAiTSOwQ
>>576
swapは?
579デフォルトの名無しさん:2014/07/12(土) 01:59:43.31 ID:+Nt4iEa/
>>569
java関係なしに主記憶装置と外部記憶装置の違いを理解しなきゃ。
VMはソースコードの出現順にメモリに置こうとするから上から順にレジスタにあるかもしれないしメモリの再配置も許されてる
580デフォルトの名無しさん:2014/07/12(土) 02:43:00.43 ID:dA72Nhto
>>569
そのとおり。
>>576はともかく>>579はコミュ障なので相手にしなくてよい
581デフォルトの名無しさん:2014/07/12(土) 07:45:44.23 ID:LaymN89h
以下のようなことをネットで見つけましたが、真実でしょうか?
真実だとしたらどの程度ですか?

・eclipse は重い
・eclipse は、よく「落ちる」。例えば一日に10回ほど落ちるか、
 ハングアップする?
・eclipseはメモリを大量に消費するので、JVMのメモリオプションを
 変更したり、起動中にGCを手動で行う必要が有る。
582デフォルトの名無しさん:2014/07/12(土) 09:48:10.97 ID:uQaOo2aV
>>581
開発環境というのはそんなもん
VisualStudioの品質が異常なだけで、他のにあのレベルを期待してはいけない
583デフォルトの名無しさん:2014/07/12(土) 09:50:36.64 ID:oEGjHdIz
> eclipse は、よく「落ちる」。例えば一日に10回ほど落ちるか、
> ハングアップする?

これ不思議なんだけどね、実務で使ってた時の話だが、
使えない奴ほどこれの回数が多い。
普通にできる奴はこんな現象は出なかった。
一体どんな使い方すればそうなるのか未だに不明だ。
584デフォルトの名無しさん:2014/07/12(土) 10:00:08.38 ID:LaymN89h
>>583
また印象操作ですかね。
都合の悪い情報が出ると、使う側のレベルの問題にしてしまう。
585デフォルトの名無しさん:2014/07/12(土) 10:19:04.82 ID:GEPvnRyB
まあ無意識のレベルで地雷原を避けられるかどうかというのも能力の内なので
586デフォルトの名無しさん:2014/07/12(土) 10:23:56.37 ID:oEGjHdIz
>>584
は?経験則を騙ったら印象操作とか、お前何様だよ、消えろカス。
587デフォルトの名無しさん:2014/07/12(土) 11:16:31.14 ID:DTfCC2oH
>>581
おまけにマルチ
588デフォルトの名無しさん:2014/07/12(土) 12:09:21.36 ID:MAiTSOwQ
>>569
ちなみに32bitOSだと、アドレスの長さの問題で仮想メモリでも4GBが限界の場合がある。
589デフォルトの名無しさん:2014/07/12(土) 12:25:01.59 ID:8KoEgeZq
その前に、
プロセス制限もある。
Windowsは、2GB
Linuxは、大抵3GB
590デフォルトの名無しさん:2014/07/12(土) 16:28:33.38 ID:LaymN89h
>>586
かつてWindows95/98/Me 時代、経験豊富な人は OS を落ちさせずに使うことが
出来ると主張する人がいた。
 「落ちる事をしなくなるから」
だそうな。

しかし、上記OSを落ちさせず使えるマジシャンのような人が優れたエンジニア
であったわけではなかろう。
591桃白白 ◆9Jro6YFwm650 :2014/07/12(土) 16:36:08.16 ID:h0xXQ1TW
>>590
OSじゃなくてEclipseの話だよ?(すっとぼけ)
592デフォルトの名無しさん:2014/07/12(土) 16:36:55.66 ID:BpPYI8oX
優れてると思うよ?

自分が何をしたか細かいところまで具体的に覚えていて、
自分の行動を分析して反省できる人にはそれが可能になるんだ。

後先考えずにエイヤーと手を動かしてる人は学習おそい気がする…
593デフォルトの名無しさん:2014/07/12(土) 16:48:50.05 ID:LaymN89h
>>592
コーディング能力や設計力ではなく、OSを落とさなく操作する技術
に長けているだけ。ただし、本当に落とさないで済んでいるか客観的
に判断は出来ないがね。ずっと監視でもしない限り。
594デフォルトの名無しさん:2014/07/12(土) 17:02:04.61 ID:/MFQssgb
ID:LaymN89h
こいつ、他のスレで「俺が調査した限りJavaはC++で同じプログラムを書くのに比べて100-1000倍くらいメモリを消費するクソ言語」的なことを言い続けている、
自称「最高と称されたこともあるプログラマー」で、ろくにスキルもなく思い込みでJavaを批判することに命を掛けてるみたいだから相手しないほうがいいよ
http://hissi.org/read.php/tech/20140712/TGF5bU44OWg.html
595デフォルトの名無しさん:2014/07/12(土) 17:03:08.09 ID:+xNMZ2CU
あー殺したいわー
596デフォルトの名無しさん:2014/07/12(土) 17:04:18.49 ID:+xNMZ2CU
>>593
お前調子のってんなよ
597デフォルトの名無しさん:2014/07/12(土) 17:22:09.57 ID:LaymN89h
>>595-596
脅迫ですか。
598デフォルトの名無しさん:2014/07/12(土) 17:24:15.14 ID:LaymN89h
だから、日本のソフト産業のレベルが低いままなんだよ・・・。

どんなに信じ難いことであっても、本当のことを言っている人を
攻撃してしまう。挙句の果てには殺す、調子にのるなの脅迫・・・。
599デフォルトの名無しさん:2014/07/12(土) 17:29:23.18 ID:n3XbHCoy
お薬増やしておきますね
600デフォルトの名無しさん:2014/07/12(土) 17:32:36.72 ID:0xRxyXif
煽って遊んでるだけの暇人なんだから相手すんなよ。。。
601デフォルトの名無しさん:2014/07/12(土) 17:52:42.63 ID:fUFHNcCA
今JSPで郵便番号検索する物作ってるんですが
ハイフンがどう頑張っても判定されないっす
これはダメかもわからんね
602デフォルトの名無しさん:2014/07/12(土) 17:59:02.21 ID:fA2/dbQs
そうなんだ
大変だね
お疲れ様
603デフォルトの名無しさん:2014/07/12(土) 18:00:52.34 ID:4TUef3KK
>>598
お前みたいにろくに調査検証せず思い込みで物事を決めつける奴ばかりだから日本のソフトウェア産業のレベルが低いんだろw
604デフォルトの名無しさん:2014/07/12(土) 19:43:03.25 ID:+xNMZ2CU
>>598
いやほんとお前殺したいわ。
605デフォルトの名無しさん:2014/07/12(土) 19:59:13.83 ID:lvXU8pXl
Tomcat7,Xを使ってます
/Hello
というコンテキストパスに対して
hello.jspを呼び出したいんですが、
HelloServletをつくってdispatch.forwardしたらできるのですが
web.xmlに直接jspを書いて解決とかできないですか?試行錯誤してみたのですができなくて
606デフォルトの名無しさん:2014/07/12(土) 20:08:44.65 ID:fUFHNcCA
なんでこんな争っているの?
名言を残そう

争いは、同レベル同士でしか起きない・・・
607デフォルトの名無しさん:2014/07/12(土) 20:25:07.17 ID:+xNMZ2CU
そもそも同じレベルで何が悪いのか議論されてないぞ低脳。
608デフォルトの名無しさん:2014/07/12(土) 22:56:40.27 ID:9R4AdJHD
jspって、まだ使われてたの?
609デフォルトの名無しさん:2014/07/12(土) 22:59:59.00 ID:zInuZ5bc
>>605
web.xmlが間違ってる
610デフォルトの名無しさん:2014/07/12(土) 23:02:52.64 ID:uQaOo2aV
まだもクソもドカタワールドでは最強だよ
COBOL以上の量の負の遺産が現在進行形で増殖し続けている
この先20年は客を人質に取って保守で食えるレベル
611デフォルトの名無しさん:2014/07/12(土) 23:03:17.57 ID:bYbbILg6
>>604
そうか、オイラは殺されそうになったら正当防衛でお前を殴り倒してKO
してやるよ。かかって来いよ馬鹿なくせに。
612デフォルトの名無しさん:2014/07/12(土) 23:05:48.12 ID:bYbbILg6
>>604
そしてあんたは、刑務所に入って前科者。
こっちは正当防衛の被害者だ。
613デフォルトの名無しさん:2014/07/12(土) 23:52:59.69 ID:F7N6yMU/
レンタルサーバにJavaVM入れてservlet動かしてみています。
そのサーバ上のHTML→JavaScript→ajaxでservletへリクエスト
という経路で通信した際に、
servlet上でjavax.servlet.ServletRequestクラスの
getRemoteHost()、getRemoteAddress()を実行して
接続クライアントのIPアドレスを取得しようとしても、
何故かレンタルサーバのアドレスが取得されるのですが、
これを接続クライアントのIPアドレスを取得するにはどうすればよいでしょうか?
614デフォルトの名無しさん:2014/07/12(土) 23:58:05.03 ID:fA2/dbQs
レンタルサーバーに制限や制約が無いのだとしたら
615デフォルトの名無しさん:2014/07/13(日) 01:42:28.82 ID:AMg7hLHI
>>611
住所、氏名、年齢、顔を晒してからほざけよ低脳。
616デフォルトの名無しさん:2014/07/13(日) 03:20:01.52 ID:VobM7p/g
ArrayList 変数名 = new ArrayList();でリストを生成するときに
変数名を変数にすることは可能ですか?

例)
String tmp = "A"ならば
ArrayList tmp = new ArrayList(); //Aという名のリスト作成

String a = "B"ならば
ArrayList tmp = new ArrayList(); //Bという名のリスト作成
617デフォルトの名無しさん:2014/07/13(日) 03:34:33.23 ID:wXzl0618
JAVA()ドカタってどうして日本語がマトモに使えないの?
618デフォルトの名無しさん:2014/07/13(日) 03:46:48.76 ID:0byi4ePk
>>613
リバースプロキシ挟まってるんじゃね
619デフォルトの名無しさん:2014/07/13(日) 03:47:12.29 ID:oywTPTFh
>>616
Javaは変数名は必ずどこかで宣言されていけなければダメなのでそういうことはできない。
どうしてもやりたいならMapとかを使えばできる。

Map<List> lists = new HashMap<List>();

String tmp = "a";
lists.put(tmp, new ArrayList()); // リスト1、"a"がキー

tmp = "b";
lists.put(tmp, new ArrayList()); // リスト2、"b"がキー

lists.get("a"); // リスト1が取り出せる
lists.get("b"); // リスト2が取り出せる
620デフォルトの名無しさん:2014/07/13(日) 13:06:01.06 ID:KsdTgAOO
>>618
ありがとうございます!ドンピシャでした。

nginx挟んでたんですが、location定義の部分に
 proxy_set_header X-Forwarded-Host $host;
 proxy_set_header X-Forwarded-Server $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
を追加したところ、無事にクライアント側のIPアドレス取得出来ました。
621デフォルトの名無しさん:2014/07/13(日) 14:21:02.87 ID:a2kOw7WT
同一ファイル内に親クラスと子クラスとその他のクラスがあったとして、
親クラスの一部の変数を子クラスのみアクセスできるようにしたいのですが、そのようなアクセス修飾子はないようなのです。
protectedを使ってパッケージに分ければできそうなのですがパッケージ化する以外に方法は無いのでしょうか?
初歩的な質問ですみません。
622デフォルトの名無しさん:2014/07/13(日) 14:53:25.28 ID:pH0i5vaW
「その他のクラス」を全てstaticな内部クラスにして「子クラス」は通常の内部クラスにする
そうすれば親クラスの変数にアクセスできるのは「子クラス」だけ
623デフォルトの名無しさん:2014/07/13(日) 14:56:33.70 ID:H4Lk4XuZ
1ファイルに複数のクラスを書くのを止めろ
(内部クラスと匿名クラスは除く)
624デフォルトの名無しさん:2014/07/13(日) 15:31:22.56 ID:K5eijfLH
>>619
そもそも何を質問しているのか分からない日本語に対して
よく答えられるね。それで相手が答えとして納得するなら
凄いもんだが。
625デフォルトの名無しさん:2014/07/13(日) 15:36:32.73 ID:46XRvPGV
質問の意図は分かるが
(eval使わずに)それが可能な言語があるかは知らないな
626デフォルトの名無しさん:2014/07/13(日) 16:20:00.55 ID:K5eijfLH
>>625

>>619 の回答だと、単に文字列をキーにしてリストを取り出せるような
「文字列を添え字にした配列(perlなどではハッシュとも言うが)」
を作る方法を示しただけ。

ところが、>>616だと、
 「文字列がAならば、Aという名のリストを作成」
となっている。

ここで:

・「取り出す」のと「作成」するのは全く異なる。
>>616の後半の例を見ると、質問者は、
 「文字列の値をクラス名とするオブジェクトを作成したい」
 のではないか、と思える。

つまり、String tmp; に対し、

"tmp" *pTmp = new "tmp";

見たいな事がしたいのではと。
627デフォルトの名無しさん:2014/07/13(日) 16:21:53.64 ID:K5eijfLH
最後は、ちょっと書き間違えたので訂正させて。

String tmp; に対し、tmp == "Cxxx" の場合、

Cxxx *pXxx = new Cxxx;

見たいな事がしたいのではと。
628デフォルトの名無しさん:2014/07/13(日) 16:39:35.67 ID:oywTPTFh
>>626-627は最高のプログラマかよ
むしろクラスを外からしてnewするのは簡単だっつーの。
http://www.syboos.jp/java/doc/create-object-instance-from-string.html
またしてもJavaをろくに理解せず批判していることが判明してしまったなw
629デフォルトの名無しさん:2014/07/13(日) 16:43:47.30 ID:K5eijfLH
>>628
というか、まず>>616の質問の意味を解釈するところからはじめただけじゃん。

まあ>>628みたいな方法があるのは知らなかったが。
630デフォルトの名無しさん:2014/07/13(日) 16:44:17.63 ID:oywTPTFh
>>628は「クラスを外からして」ではなく「クラス名を変数で指定して」の間違いね。

しかし、ずいぶん上から目線で書き込む割には本当に初心者レベルの知識しかないから驚くよなあ。
631デフォルトの名無しさん:2014/07/13(日) 16:45:06.27 ID:K5eijfLH
>>628
何を批判しているといいたいのか知らんが、Javaがメモリ大食いな事を
断定するのに>>628のような知識は必要ない。
632デフォルトの名無しさん:2014/07/13(日) 16:46:12.10 ID:K5eijfLH
>>630
Java独自のそんな仕様知りませんでしたよ。
すみませんね。
633デフォルトの名無しさん:2014/07/13(日) 16:47:17.30 ID:oywTPTFh
>>629
だって普通に考えれば、>>616は「new ArrayList()」と書いているのだからArrayListのインスタンスを作りたいのだろうし、
「変数名を変数にする」というのを解釈したら「宣言する変数名を変数で与える」ということだろ。例示されたコードからも。

>>625
少なくともPHPだったら$name = "a"; $$name = "data"; で、$a = "data"; 相当になるよ。
634デフォルトの名無しさん:2014/07/13(日) 16:50:52.05 ID:K5eijfLH
>>633
なるほど。
635デフォルトの名無しさん:2014/07/13(日) 16:54:37.21 ID:46XRvPGV
>>633
PHPってすげえな
さすがスクリプト言語
636デフォルトの名無しさん:2014/07/13(日) 16:56:32.23 ID:K5eijfLH
すると、>>616 は:

String tmp = "A"ならば
ArrayList A = new ArrayList(); //Aという名のリスト作成

String tmp = "B"ならば
ArrayList B = new ArrayList(); //Bという名のリスト作成

ってことだったという事か。
637デフォルトの名無しさん:2014/07/13(日) 17:03:08.41 ID:K5eijfLH
質問内容の類推能力の高さには、いやはや感服しましたよ。
ID:oywTPTFh

は凄い。すばらしい。言葉の天才!
638デフォルトの名無しさん:2014/07/13(日) 17:12:30.15 ID:pH0i5vaW
いや普通にそう思うでしょ
「変数名を変数にする」って言ってんだから

俺もリフレクションを真っ先に考えたけど
リフレクションは変数名そのものを自由に指定する技術ではないから
結局事前に変数名を宣言しておく制限は回避できないと思って黙ってただけだよ

俺と同じように無理だと理解して黙ってた人は多いだろうよ
639デフォルトの名無しさん:2014/07/13(日) 17:14:26.30 ID:pH0i5vaW
いや、Javassist使って実行時にバイトコードを書き換えれば変数名を動的に指定することもできるだろ
640デフォルトの名無しさん:2014/07/13(日) 17:24:47.60 ID:46XRvPGV
ローカル変数ってバイトコードに残るんだっけ?
641デフォルトの名無しさん:2014/07/13(日) 17:34:12.78 ID:oalHtyrt
ただ、質問者は、きっとそういう複雑なことをしたいんじゃないだろうて。

本当は、
 「結局、何がやりたいのか」
ということを聞くのが大切。
642デフォルトの名無しさん:2014/07/13(日) 17:38:55.01 ID:oalHtyrt
>>638
>いや普通にそう思うでしょ
>「変数名を変数にする」って言ってんだから

もし、普段あなたが質問の意図を読む天才で無いのだとしたら、これが
 「集合智」
の一種だと思う。人間の脳はランダム性を積極的に利用している事もあって、
考える人数が多いと誰かが正しい解釈に気づく。

一人一人はめったにUFOを見ることは無いが、世界中ともなると結構な人数
の人がUFOを見る。天才じゃなくとも、一人だと天才にしか思いつかない
アイデアを、世界中のどこかの凡人が思いつく事が有る。それは、
人数が多いから。
643デフォルトの名無しさん:2014/07/13(日) 17:44:41.67 ID:oalHtyrt
それか、>>633 の最後に書かれた:

>少なくともPHPだったら$name = "a"; $$name = "data"; で、$a = "data"; 相当になるよ。

という予備知識が、>>616 の質問の意図を読むのに役立った可能性が有る。

こういうことは、C/C++ や旧来の言語では出来なかったし、>>616 の質問者
がやりたいようなことは、古くからのプログラマにはやりたいとさえ思わな
い。なので、多くの人には >>616 の質問の意図の解釈はとても困難だった
と思う。
644デフォルトの名無しさん:2014/07/13(日) 17:50:21.59 ID:46XRvPGV
質問者は単純に変数の概念の理解が足りてないだけかと思うけど
645デフォルトの名無しさん:2014/07/13(日) 18:03:01.19 ID:oywTPTFh
>>643
自分が解釈できなかったのを特殊ケースということにする言い訳を長々とすんなよ。だれも興味ないぞ。
つーか、そういうのはCだったらマクロで良くあるケースだろ。自分のしょぼいプログラミング経験をもとに、「古くからのプログラマはやりたいと思わない」だの「多くの人には困難」だの笑わせんなよw
646デフォルトの名無しさん:2014/07/13(日) 18:06:19.77 ID:oalHtyrt
>>645
>そういうのはCだったらマクロで良くあるケースだろ。

マクロで出来るのは、コンパイル時に決定できる静的なものに限られる。

String tmp; の内容で、変数名を決定するようなことはマクロには出来ない。

もしかして、そういう基本的なことも理解してませんか?
647デフォルトの名無しさん:2014/07/13(日) 18:08:44.02 ID:oalHtyrt
>>645
>自分が解釈できなかったのを特殊ケースということにする言い訳を長々とすんなよ

誰もそんなこと言って無いでしょ。むしろ、phpなど新しいスクリプト言語
を知らない多くのC/C++プログラマには、>>616 は、質問の真意さえ掴めなか
ったのが普通なのではないか、と思っただけ。
648デフォルトの名無しさん:2014/07/13(日) 18:31:20.78 ID:+KF+C7Al
俺もプログラミング覚えたてのころは>>616のようなこと考えたことあるよ
649デフォルトの名無しさん:2014/07/13(日) 19:55:23.65 ID:H4Lk4XuZ
動的コンパイルという方法があるけど>>616のやりたいこととは違う気がするな
650デフォルトの名無しさん:2014/07/13(日) 20:06:40.00 ID:lBs81a5f
素直に>>619凄い
>>616が言いたい事はなんとなく分かるんだけど、ここまで噛み砕いて分かりやすく解説できるのは凄い
651デフォルトの名無しさん:2014/07/13(日) 21:48:14.25 ID:dL7ExxbV
もしかして夏休みに突入してる?
652デフォルトの名無しさん:2014/07/13(日) 22:19:19.70 ID:oalHtyrt
というか、>>616 の質問って、ArrayList が質問の本質を分かりにくくし
ているよね。もし、このスレでの「質問の意味」の「解釈」が正しければ、
ArrayList は全く無関係で、CMyClass のような一般的なオブジェクトで
良いことになる。なので、質問としては次のように書けることになる:

------------------------------------------------------------------
CMyClass 変数名 = new CMyClass(); でオブジェクトを生成するときに
変数名を変数で変える事はは可能ですか?

例)
String tmp; に対し、

tmp == "a" なら:
CMyClass a = new CMyClass(); // 変数名 a でリスト作成

tmp == "b" なら:
CMyClass b = new CMyClass(); // 変数名 b でリスト作成
------------------------------------------------------------------
653デフォルトの名無しさん:2014/07/13(日) 22:35:18.57 ID:oalHtyrt
>>650
>ここまで噛み砕いて分かりやすく解説できるのは凄い

>>619は、「解説」してるわけじゃないでしょ。
>>619 なりに >>616 の質問者の意図を読み取り、それなりの解決策を
示している。「そういうことはできない」というのが>>619の結論。
654デフォルトの名無しさん:2014/07/13(日) 22:39:16.98 ID:oalHtyrt
すまん。
「変数名を変数で変える事はは可能ですか?」
というのもまた正しく表現できて無いね。

正しくは:
「ある文字列変数に入っている文字列の値を変数名にすることは可能です
 か?」
という位かな。
655デフォルトの名無しさん:2014/07/13(日) 22:54:18.87 ID:i1AGG7+J
いい加減な質問でも、問い返すまでもなく
想像力を働かせて相手の意図を正確に把握し、
自分の考えを明晰に説明する

そんな奴はプログラマじゃねえとっとと営業SEにでもなっちまえ
656デフォルトの名無しさん:2014/07/13(日) 23:27:40.73 ID:M5JlFtG6
データベースから情報を取得し、web上で表示するプログラムを組んでいるのですが
どうもREPLACEの使用方法が間違っているのか上手く動きません。
正確には実行しても起動はするのですが、処理が上手にされない感じです。
一見して得におかしな部分はないと思うのですが・・・
657デフォルトの名無しさん:2014/07/13(日) 23:34:26.64 ID:FC7ksFsu
jspはjavaコードを書いて評価というかコンパイルして実行してるな。

phpのも使ったことあるけど、ああいうの含めメタプログラミングとかは、わかるようにコメントしておく方が大変。
ツールとかフレームワーク以外では使わない。
658デフォルトの名無しさん:2014/07/13(日) 23:36:00.42 ID:a2kOw7WT
>>622, >>623
ありがとうございました。
少し長くなってコードを追うのが大変だなと感じてきていましたので、とりあえず小分けにしてみようと思います。
659デフォルトの名無しさん:2014/07/13(日) 23:36:25.47 ID:t9Dc1s+z
デバッグできません、と言われても、
アホとしか言えません
660デフォルトの名無しさん:2014/07/13(日) 23:41:50.79 ID:M5JlFtG6
>>657
今全文確認してる所です・・・
>>659
実行自体はするのですが想定外の動きを見せます
661デフォルトの名無しさん:2014/07/13(日) 23:43:44.84 ID:t9Dc1s+z
>>660
つぶやきかよ
662デフォルトの名無しさん:2014/07/13(日) 23:46:03.55 ID:46XRvPGV
愚痴るスレ
663デフォルトの名無しさん:2014/07/13(日) 23:46:09.43 ID:M5JlFtG6
>>661
皆様のお声を聞くと何か見つかるかもと
藁にもすがるような思いでして(^-^)/
664デフォルトの名無しさん:2014/07/13(日) 23:47:27.45 ID:M5JlFtG6
話は変わりますがUbuntuOSを使っている方はいますか?
665デフォルトの名無しさん:2014/07/13(日) 23:53:36.95 ID:i1AGG7+J
>>664
まだ何も解決してないのにいきなり違うこと始めるとかw

使い物にならないPGの典型や…
666デフォルトの名無しさん:2014/07/13(日) 23:54:49.57 ID:M5JlFtG6
>>655
いえいえ
私Ubuntu上で作業していますのでまぁ関連している事です
667デフォルトの名無しさん:2014/07/14(月) 00:00:13.89 ID:5kCgHU1d
なんの具体的な話を切り出してこないので
スレタイの質問や相談にすら相当しないただの雑談・愚痴
668デフォルトの名無しさん:2014/07/14(月) 00:06:09.86 ID:6Rp9SH6K
>>619呼んでるぞ
669デフォルトの名無しさん:2014/07/14(月) 00:10:10.08 ID:n4kA1gB9
ほんとに雑談したいだけだなw
670デフォルトの名無しさん:2014/07/14(月) 00:11:10.29 ID:IJfuG6Dx
C言語のframa-Cみたいなツールって
javaにはないのでしょうか
671デフォルトの名無しさん:2014/07/14(月) 00:49:26.36 ID:+IY+3dGc
checkstyleとかPMDとかFindbugsとか診断ツールならいろいろあるぞ。
JenkinsCIスレの方が詳しいかも
672デフォルトの名無しさん:2014/07/14(月) 22:50:27.86 ID:kVP5lF+/
Javaコードを追跡してたら、すぐinterfaceでどこで生まれたか分からん追跡不能なオブジェクト
継承してるクラスを列挙したら何十個あるんだよ?結局interfaceで何してんのかサッパリ。
確実な追跡するには全コードを理解しろってか?
多重継承禁止とが威張り腐ってる癖に実際は多重継承を推奨している。
XBASIC>>>>>>Java≧NBASIC
くらいの言語だわ
673デフォルトの名無しさん:2014/07/14(月) 23:20:16.64 ID:dSALf4+f
インスタンスのクラスを調べればいいだけでは?
674デフォルトの名無しさん:2014/07/14(月) 23:29:22.48 ID:CAqp/yg2
>>672
Java理解できてませんて一言で済む内容なのに
675デフォルトの名無しさん:2014/07/14(月) 23:41:23.59 ID:CC89DLAU
上から下にしか読めない人にオブジェクト指向は難しい。
676デフォルトの名無しさん:2014/07/14(月) 23:44:00.50 ID:WKcCH9Dc
ウォーターフォール
677デフォルトの名無しさん:2014/07/14(月) 23:45:58.03 ID:CAqp/yg2
>>675
そこが単なる構造化と、オブジェクト志向との間の違いだわな
678デフォルトの名無しさん:2014/07/14(月) 23:55:13.88 ID:GmuhO9Ae
コボラー上司に
イベント処理をフローチャートで書けって言われて困惑したわ。
それってOSとかランタイムから書くのか
679デフォルトの名無しさん:2014/07/14(月) 23:59:58.28 ID:WKcCH9Dc
UMLで書いてあげれば
680デフォルトの名無しさん:2014/07/15(火) 00:04:23.42 ID:lKUmATD6
>>677
どの道mainから読めば同じだろ。
cの構造体に関数ポインタ入れてるのと何が違うのかと。
681デフォルトの名無しさん:2014/07/15(火) 00:10:20.90 ID:A8lRUmjc
実装を意識せずに利用出来る、がinterfaceの存在意義でもあるのだが
ドキュメント揃ってない社内お手製ライブラリだとそれが厳しかったり
682デフォルトの名無しさん:2014/07/15(火) 00:43:51.21 ID:KtjRxeCE
>>672
私は駆け出しのプログラマです、まで読んだ
683デフォルトの名無しさん:2014/07/15(火) 00:51:04.57 ID:KtjRxeCE
>>672

次の行の
> Javaに限定されるわけでは無いオブジェクト指向の基本的概念であるインタフェースというものが理解できません
も読んだ
684デフォルトの名無しさん:2014/07/15(火) 01:05:21.17 ID:M5bxEcze
>オブジェクト指向の基本的概念であるインタフェース

こういう狂った思想を持つのはJAVA()ドカタのみ
オブジェクト指向とインターフェースは関係ない
685デフォルトの名無しさん:2014/07/15(火) 01:59:08.60 ID:5fft4dh2
ドカタドカタって煽っている人が
オブジェクト指向を理解してないということが明らかにwww
686デフォルトの名無しさん:2014/07/15(火) 04:57:35.17 ID:0DItX3Mt
>>684
君にはガッカリだよ
687デフォルトの名無しさん:2014/07/15(火) 07:04:05.03 ID:QvL8psPf
静的型でオブジェクト指向を実装する際の見苦しい辻褄合わせ=インターフェース
688デフォルトの名無しさん:2014/07/15(火) 07:42:43.03 ID:M0sjTyJo
interfaceは狂ってるよ。言語仕様が法律というjavaだから起こる
689デフォルトの名無しさん:2014/07/15(火) 07:47:29.97 ID:rNvnrAj8
どのクラスが別の実装が必要になるかどうかなんて後々になってみないと分からないんだから
事前にインターフェース用意するとか無理

クラスもimplementできるようにしてほしい。
たとえば
class Hoge {
void cry() {...}
void call() {...}
}
とかあったら
class Hage implements Hoge
ってやったらHogeをcryとcallをメンバにもつインターフェースとして扱えるように

元から必要なぶんだけインターフェース用意できるプログラマとかエスパーだろ
690デフォルトの名無しさん:2014/07/15(火) 07:56:13.90 ID:FH1psuhM
段階的改善
691デフォルトの名無しさん:2014/07/15(火) 07:58:48.97 ID:eu9x/n5K
設計段階で必要なインターフェースは洗い出せるし、
仕様変更が起きたらインターフェースに変更が必要になるのは仕方のないことだし。
692デフォルトの名無しさん:2014/07/15(火) 08:08:11.31 ID:2/gmyJuH
インタフェースが無いオブジェクト指向言語なんていくらでもあるのに
何言ってんの
693デフォルトの名無しさん:2014/07/15(火) 08:10:56.31 ID:FH1psuhM
菱形継承の曖昧さを回避するための単一継承だっけ?
694デフォルトの名無しさん:2014/07/15(火) 08:14:30.97 ID:QvL8psPf
むしろ継承がいらない
695デフォルトの名無しさん:2014/07/15(火) 08:57:29.14 ID:ribqwKnc
>>689
設計しろよ。
696デフォルトの名無しさん:2014/07/15(火) 11:05:10.08 ID:qRBV7kbl
>>692
単一継承の言語なら結局似たような「縛り」は持っている。
697デフォルトの名無しさん:2014/07/15(火) 11:06:12.03 ID:H4Hb/YUy
委譲を楽に書ける言語仕様カモーン、という泣き言なら理解してやってもいい
698デフォルトの名無しさん:2014/07/15(火) 19:17:42.24 ID:Ce5rAlne
C++様がやはり偉大なことがよくわかった
699デフォルトの名無しさん:2014/07/15(火) 21:04:57.58 ID:9VKpzEO8
別に事前に100%正解を出す必要はないでしょ
実装無しで設計が完璧にこなせるなんて、それは予言に近い
ウォーターフォールの理想論を極めた感じ
十分事前設計可能な程度の小さな規模だとか
既に熟知してる分野だったら、コード書かなくてもインターフェース分かるかもしれんけど

リファクタリングでボトムアップ的に導き出したインターフェースの方が
あとからメンテしやすいことだってよくある

>>689
>クラスもimplementできるようにしてほしい
意味がわからん
IDEにもよると思うけど、インターフェース抽出なんて30秒くらいでできるだろ
700デフォルトの名無しさん:2014/07/15(火) 21:40:06.72 ID:rNvnrAj8
>>699
クラスを使ってるほうもインターフェースにしなきゃいけないじゃない
単純作業でも変更が広範囲に及ぶから結構しんどい

クラスをnewするところを除いて、どこも変更せずに
こっそり中身を入れ替えたいんだ…
701デフォルトの名無しさん:2014/07/15(火) 23:36:36.93 ID:QvL8psPf
Scala使えよ
構造的部分型があるからインターフェースなんか要らないぞ
702デフォルトの名無しさん:2014/07/16(水) 01:00:21.44 ID:BpcA+H0e
interfaceにメソッド実装できるようにならなかっけ?
703デフォルトの名無しさん:2014/07/16(水) 01:22:39.57 ID:EjWtDZsn
http://www.javainthebox.net/blog/index.html
このページクソ重いw
CPUもメモリ使用量も半端ない。
704デフォルトの名無しさん:2014/07/16(水) 01:27:44.59 ID:1+vjbdzg
そう、それなら見なければいいじゃない
705デフォルトの名無しさん:2014/07/16(水) 01:29:27.24 ID:khPWngR+
>>701
言いたいことはよく分かるぞ。最近はやっとこっちのほうが主流だからな。
けど、javaスレでstructural typeな言語使えって言われても・・・nominal type嫌いならなんでjavaスレに居るんだよ。
706デフォルトの名無しさん:2014/07/16(水) 09:21:17.73 ID:Up7cIJ0h
すんごい基本的な事かもしれんけど・・・

class testClassA{

private byte[] data;

void main(){

testClassB b = new testClassB();
data = b.getData();
b = null;
}
}

class testClassB{

private byte[] data1;
private byte[] data2;

byte[] getData(){
data1 = new byte[32];
data2 = new byte[32];
return data1;
}
}

↑の動作でb=null;した後ガベージコレクションが発生してもtestClassAのdataの中身は保持したままになってるって事でOK?
で、testClassBの中のdata1はメモリ上に残ったままになるけど、data2は他からの参照が無いって事で
ガベージコレクションで解放されるんかな?
教えてプリーズ!
707デフォルトの名無しさん:2014/07/16(水) 11:43:10.69 ID:moRTR2el
yes
708デフォルトの名無しさん:2014/07/16(水) 20:14:49.82 ID:zFDtk9Ip
コンストラクタからは呼び出してはいけないメソッドがあって
どっかのバカが、やらかしちゃったんで、それを探し出したいんですけど、
たとえばこんなの
class Unko {
 Unko() {
  foo(); // アフォが追加したコード
 }
 void foo() {
  assert なんとかかとか : "ゴルァ!コンストラクタから呼んじゃダメぽ!";
  本来の処理...
 }
}

この「なんとかかとか」に使えるスマートなコードを教えてくだしゃあ
709デフォルトの名無しさん:2014/07/16(水) 20:26:04.32 ID:/PqeR20C
>>708
assert !new Exception().getStackTrace()[1].getMethodName().equals("<init>");
710デフォルトの名無しさん:2014/07/16(水) 22:15:52.91 ID:EBYMe1aA
assertを埋め込まなきゃいけないメソッドが分かってるんだったら
そのクラスのコンストラクタ見りゃいいだけだろ
何やってんだ
711デフォルトの名無しさん:2014/07/16(水) 22:30:56.09 ID:G80bT3bq
>>710
継承が多くて探すの面倒ってことかと思った。
本質的には初期化が終わってるフラグを持って、そのフラグが立ってなかったら例外でいいと思った。
712デフォルトの名無しさん:2014/07/17(木) 04:43:45.86 ID:JRQOC2Yb
Java SE 8 update11 キター
713デフォルトの名無しさん:2014/07/17(木) 16:40:49.64 ID:pL1XllHI
1:if (Date1 < Date3 && Date2 > Date3) { res = "ok";}
2:if (Date1 < Date3 || Date2 > Date3) { res = "ok";}
ORが||だと1と2で同じブーリアンになるよね?
714デフォルトの名無しさん:2014/07/17(木) 17:11:29.18 ID:WQQLKIr2
不等号反転かつ全体の真偽値反転してるとかならともかく、
なんで同じになると思うんだ?
715デフォルトの名無しさん:2014/07/17(木) 17:47:38.49 ID:pL1XllHI
ただしDate1>Date3>Date2が条件

実際にに書いて同じになったから
716デフォルトの名無しさん:2014/07/17(木) 17:52:12.47 ID:ePEJRQuJ
そもそも何だこの質問?
717デフォルトの名無しさん:2014/07/17(木) 17:54:19.08 ID:aUrLvZEm
Javaの勉強始めましたがいきなりつまづいています。可能ならば教えて下さい。

class hoge {
...
}
があってhogeのインスタンスを作るのに
hoge aaa = new hoge()
というように、なぜhogeを2回も書かないといけないのですか?
718デフォルトの名無しさん:2014/07/17(木) 17:56:02.81 ID:CLQb5Mz9
C#ならvarがあるよ
javaはちと遅れてるね
719デフォルトの名無しさん:2014/07/17(木) 17:56:08.82 ID:pL1XllHI
普通に1で書くんだろうけど2でも同じになったから聞いてみただけ
||と|の違いだと気づいたけど合ってるよね
720デフォルトの名無しさん:2014/07/17(木) 17:59:31.95 ID:ePEJRQuJ
>>717
違う場合があるから
List<String> list = new ArrayList<>();
721デフォルトの名無しさん:2014/07/17(木) 18:02:57.10 ID:aUrLvZEm
717の続き
aaa = hoge()
や、せめて
aaa = new hoge()
って書かない(書かせない)理由が知りたいのです。

fugaってクラスもあったとして
fuga aaa = new hoge()
は当然エラーですよね
722デフォルトの名無しさん:2014/07/17(木) 18:12:11.16 ID:aUrLvZEm
>>720

ありがとうございます。
そういう生成もあるのですね。
723デフォルトの名無しさん:2014/07/17(木) 18:42:12.11 ID:pL1XllHI
new hoge()はhogeクラスのコンストラクタを呼んでるからだと思う
724デフォルトの名無しさん:2014/07/17(木) 19:23:13.26 ID:f9EwQ7K8
>>717
入れ物と中身で2回。
725デフォルトの名無しさん:2014/07/17(木) 21:19:42.68 ID:ZpRdyoCC
>>721
変数の型指定が変数宣言を兼ねてるから…
C#を使えば幸せになれる
726デフォルトの名無しさん:2014/07/17(木) 22:31:38.00 ID:hkW+Gp84
>>717
わけて考えろ。
1. hoge aaa;
2. new hoge();

1行目でhogeのインスタンスを格納(厳密にいうと参照)するためのaaaって変数を宣言してる。
2行目でhogeのインスタンスを作ってる。
これらを1行で書くと、
hoge aaa = new hoge();
となって、意味的には、hogeのインスタンスを格納するaaaって変数を作って、
そこに新しいhogeのインスタンスを作って代入してる。
727デフォルトの名無しさん:2014/07/17(木) 22:46:16.93 ID:FPE851Be
newが必要なのは参照を返すからかなぁ…

c++だとfuga aaa;でインスタンスが作れるよね。
初期化時の引数指定する場合はfuga aaa(arg1, arg2...);
728デフォルトの名無しさん:2014/07/17(木) 23:39:14.55 ID:uiWC/AQm
>>726
仰ることは分かります。
=new hoge()って書いてるんだから、aaaはhoge型と型推論してもいいんじゃない?記述が助長じゃない?と感じたんですよ。
生ビールを頼んだらジョッキに入れてくるのが当然でしょ? 湯呑みに入れてくる奴いないよね、って感じです
729デフォルトの名無しさん:2014/07/17(木) 23:53:03.49 ID:l9SOFkYr
Cやったことあるなら宣言部分けると意味わからんからで納得しそうだな。

「宣言部分けて友達とかに噂されると恥ずかしいし・・・」
730デフォルトの名無しさん:2014/07/17(木) 23:56:30.56 ID:l9SOFkYr
ああ、ガチなのか実際の型と宣言時の型が同じとは限らんよ
731デフォルトの名無しさん:2014/07/17(木) 23:58:34.91 ID:bU4NL8pp
まあそれを言い出したら型推論の方が汎用性は高いんだけどな
732デフォルトの名無しさん:2014/07/18(金) 00:22:33.50 ID:97CjBc8L
>>728
冗長性を排した言語を使えばいいよ。
長年使ってるからかも知れないけど、この程度の冗長性が丁度よいんだよ。
糖衣構文増やしてるのもあまり好きじゃない。
733デフォルトの名無しさん:2014/07/18(金) 00:31:22.02 ID:Qdsh15su
Javaも十分糖衣構文増やしてると思うけどね
誕生以後の拡張はほとんど全部糖衣構文だろ
734デフォルトの名無しさん:2014/07/18(金) 01:10:39.75 ID:97CjBc8L
>>733
うん、だからそれが嫌だなーって思ってるということ。
IteratorとかAPI増える方が好み。
仕事だと合わせて使うけど。

// 個人の感想であり、生産性を保証するものではありません。
735デフォルトの名無しさん:2014/07/18(金) 01:51:28.34 ID:v/tAoeoG
>>727
でもc++だとどこにインスタンスができるかいちいち把握しないといかんからなあ‥そういや c# と同じく auto が最近追加されたね
736デフォルトの名無しさん:2014/07/18(金) 02:09:39.50 ID:g4xH9Z8R
>>720
わざわざこういう書き方をするメリットは?

ArrayListの例だと、ArrayListがほぼListの実装でしかないから、そういう書き方をしてもあまり問題ないだろうけど、
List<String> list = new LinkedList<>()ととしてしまうと、Stack系のメソッドが漏れなく使えなくなる。
737デフォルトの名無しさん:2014/07/18(金) 02:48:18.47 ID:Vxw6ROqH
>>736
LinkedListを使うけどListのメソッドしか使わないことを明示する
738デフォルトの名無しさん:2014/07/18(金) 03:01:22.73 ID:9lilrWED
protectedなメンバでListのメソッド以外の操作されたくないときとかあるんじゃね
739デフォルトの名無しさん:2014/07/18(金) 03:57:24.91 ID:97CjBc8L
>>736
後で挿入が多くなって遅くなった時、最初だけLinkedListに書き換えれるだけで済む。
つまり依存が少ない。
740デフォルトの名無しさん:2014/07/18(金) 07:08:36.94 ID:Qdsh15su
ならそもそも型について何も書かない型推論が一番依存が少ないことになるよね
フィールドや引数なら誰が触るかわからないからともかく、ローカル変数なら例えば「getとaddを持つ任意の型」と見なせる
741デフォルトの名無しさん:2014/07/18(金) 07:42:25.13 ID:NkZsmPC5
その手の型推論はどこでうっかりLinkedListに成り下がるかわかったもんじゃないので
依存が少ないとは言えないんじゃね?
742デフォルトの名無しさん:2014/07/18(金) 07:45:40.48 ID:97CjBc8L
>>740
それを言うならローカル変数なら目の届く範囲だから依存しても構わないだろ。
Javaの中での書き方の話ししているのであって、型推論とかスレチ。
743デフォルトの名無しさん:2014/07/18(金) 09:03:29.59 ID:xlBjlAy7
newしたら普通はfreeやdeleteが伴う訳だがgcが解決してくれる。
javaではクラスのインスタンスは全て参照だから必ずnewが利用される。
プリミティブな変数はその限りではないのでいちいちnewはしないが、javaの配列は配列オブジェクトなのでnewが必要。

みたいな?
744デフォルトの名無しさん:2014/07/18(金) 12:18:19.99 ID:ZU8CSXrI
トランプがようわからん
簡潔にどういう感じになってんだ?

http://sasuke.main.jp/toranpu.html
745デフォルトの名無しさん:2014/07/18(金) 12:26:02.11 ID:QuIJUfIo
それぞれのカードがどの場所にどういう順序で並んでいるかをデータ化するだけ
746デフォルトの名無しさん:2014/07/18(金) 12:37:37.83 ID:ZU8CSXrI
ああ、理解できた
ありがとうございました
なんか変に難しく考えてました
747デフォルトの名無しさん:2014/07/18(金) 13:23:40.77 ID:ZU8CSXrI
でもこれって同じ札が何度も出る可能性あるよな?
この場合どうしたらいいんだ?

一度出たものをどこかの配列に格納して
それを比べるってのは検討ついたがどう書けばいいんだ
そういうクラスってもうあるのか?
748デフォルトの名無しさん
>>747
すいません
並び替えの表記ミスで同じ数字が出てただけでした。
ほんとすいません