[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/09 23:39 / Filesize : 54 KB / Number-of Response : 212
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:54:45 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
 【初心者】Java質問・相談スレッド118【歓迎】
pc11.2ch.net/test/read.cgi/tech/1218360111/
次スレは>>990あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/

175 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 00:36:37 ]
それは目的と手段を間違えている

176 名前:デフォルトの名無しさん [2008/09/08(月) 01:12:45 ]
UbuntuでJavaできないんですけど。。。
ちなみに8.04です

177 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 01:40:29 ]
int []a=new int[5];
a[ZERO]=0:
a[ONE]=1;

こんな感じで配列を定数で置き換えたいときってどういう方法がメジャでしょうか?
interface NUM{int ZERO=0;int ONE=1;…}
class Hoge implements NUM{}

class Hoge{
private final int ZERO=0;
private final int ONE=1;
…}

enum NUM{ZERO,ONE,…}

int []a=new int[5];
a[NUM.ZERO.ordinal()]=7;


列挙で扱いたい気がするけれど、javaの場合整数値と直接結びつかないから
ordinalを呼ばないといけないし、理由は忘れましたがordinalを使うようなやり方は
止めるべきという話を以前見聞きした気がします。

178 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 03:03:20 ]
なんでそんなことしたいの??


179 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 04:10:47 ]
良く分からんが、とりあえず、EnumMap

180 名前:デフォルトの名無しさん [2008/09/08(月) 06:08:38 ]
普通に
final int ZEEL=-1;

181 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 06:35:01 ]
>>176
Synaptic で JRE 入れれば動くはず。
あとは gcj とかぶってないか確認しろ。

182 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 11:55:39 ]
>>177
ZEROでa[0]にアクセス、ONEでa[1]にアクセス、…てことなら、
配列そのものをクラスに包んでアクセサ作るのが言語的に”メジャ”っぽいと思う。
class Foo {
enum Num { ZERO, ONE, … };
private int[] a = new int[〜];
int get(Num num) {
switch(num) {
case ZERO: return a[0];
case ONE: return a[1];
:
}}
void set(Num num, int value) {
switch(num) {
case ZERO: a[0]=value;
case ONE: a[1]=value;
:
}}}

183 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 15:04:00 ]
なんでスイッチ…




184 名前:182 mailto:sage [2008/09/08(月) 16:36:16 ]
すまん、EnumMap使ったことないもんだから。
こう?
class Foo {
enum Num { ZERO, ONE, … };
private Map<Num,Integer> a = new EnumMap<Num,Integer>(Num.class);
int get(Num num) { return (a.containsKey(num) ? a.get(num) : 0); }
void set(Num num, int value) { a.put(num, value); }
}

185 名前:デフォルトの名無しさん [2008/09/08(月) 17:11:39 ]
効率悪い

186 名前:167 [2008/09/08(月) 17:35:46 ]
enum Mum
{
ZERO
{
public int getValue()
{
return 0;
}
}
,
ONE
{
public int getValue()
{
return 1;
}
}
,
;

public abstract int getValue();
}


187 名前:186 [2008/09/08(月) 17:36:37 ]
ごめそ167というのは間違い。

188 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 17:53:16 ]
>>185
効率を心配するほどのもの?

189 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 17:54:07 ]
www.atmarkit.co.jp/fjava/rensai2/javaent02/javaent02.html
ここ見て勉強しているのですけど、
メモリを使用するタイミングはどのタイミングなのでしょうか?
変数やメソッドの呼び出しなどがあったときにメモリを消費しているのか、
それとも変数やメソッドを呼ばなくても、定義してるだけで消費するのか。
どちらなのでしょう?
後者なら継承を繰り返すたびにメモリ使用量の多いプログラムになると思うので、
前者だとは思うのですが。

190 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:40:44 ]
なんで素人がやたらメモリとか気にするわけ?


191 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:47:36 ]
参照してる記事がメモリうんぬんと書いてるから、気になったんだろうな。
全く気にしないのも問題だが、それで勉強してるレベルなら、まだ早いよ。

192 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:50:08 ]
>>190
素人だからこそ気にするべきなんだろ
そんなのもわからない阿呆はやめちまえ

193 名前:デフォルトの名無しさん [2008/09/08(月) 18:52:44 ]
メモリもそうだけど、配列アクセスの方がCPUに大きく影響するよ。
あまり記事になってないけど、arr[k]は範囲チェックが必ず入るから、arr[k]を一回アクセスするだけで、
JVM内では(隠れて) if (0<=k && k<arr.length) が呼び出されてる。

だからメモリを気にしながら設計するのも大事だけど、byte[1000*32]とか良く作るんだし、配列アクセスの方を気にしたほうがいいよ。



194 名前:デフォルトの名無しさん [2008/09/08(月) 18:56:34 ]
メモリの方は、PCだけの人は気にならないんだろうけど、携帯とかアプレットとかあるし。
アプレットはまだ携帯とか小型端末じゃみれないけど、そういう小型機器はメモリが極小64kbとかだから、
メモリの方も気にしなければいけない。

195 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:58:28 ]
性能に頼ってプログラミングしている気でいる現代の若者を見てると
おじさん悲しくなってくるよ

196 名前:189 mailto:sage [2008/09/08(月) 19:01:45 ]
みなさんレスありがとうございます。
それで結局のところどちらなのでしょう・・?
おかしな質問だとは自覚しているのですが、気になって仕方がありません。
どうかよろしくお願いします。

>>193
配列って使うんですか?
コレクションフレームワークのほうが高機能なので配列よりそちらを使うようなことを書いてましたが。

197 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:12:53 ]
素人が気にし出すとろくなことにならんよ
ちゃんと理解出来ないんだから勘違いの嵐

198 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:15:53 ]
>>196
変数やメソッドの種類と、JVMによる。

199 名前:189 mailto:sage [2008/09/08(月) 19:37:23 ]
>>197
そうは言いますが、素人向けの説明でメモリの話が出てきてるのだから、
やはり重要だと思うのですが・・・
たとえ今は理解できないとしても、ステップとして踏んでおくべきだというのが私の考えです。
書籍やWebからの情報でも、100%ちゃんとした説明できる人のほうが少ないと思うので、
勘違いがあるのは当然だと思います。
そういうのは後々間違いに気づいていくので、
はじめの段階では特に問題視する必要はないと思います。

お答えいただけないようなので別のとこで質問しなおしたいと思います。
というわけで質問しめます。

200 名前:デフォルトの名無しさん [2008/09/08(月) 19:43:46 ]
配列はね、CharBufferとかでよく使うよ。
素人向けの解説だとStringBuilderとかなのかもしれないけど…
初心者の壁を越えられるかどうかは、java.nioの解説やAPIを熟読して理解できたかどうかだろうけど、ネイティブのファイル・アクセスとメモリ(ポインタなど)は難しいからな…

201 名前:デフォルトの名無しさん [2008/09/08(月) 19:47:18 ]
>お答えいただけないようなので別のとこで質問しなおしたいと思います。 

こういうのは生意気だし、「ばくちゃん、まだ身の程をわかってません!」って感じww

202 名前:189 mailto:sage [2008/09/08(月) 19:50:30 ]
>>200
ありがとうございます。
あとでそのクラスを調べてみます。

>>201
私は自分のことを客観的に見ることができるんです。
あなたとは違うんです。

203 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:00:03 ]
なんだ釣りか



204 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:01:09 ]
スレに張り付いてまでいちいち煽るくらいなら
少しのヒントを出すぐらいすれば
まだ自分の優位性をアピールできるだろうに。
気持ち悪いやつだ

205 名前:189 mailto:sage [2008/09/08(月) 20:17:22 ]
>>203
ちょっと生意気な閉め方したら食いついてくる人がいると思って、
最近はやりだったから言ってみたかったんです。すみません。
変な質問だとは自覚してましたが、本当に聞きたかったことなので、
またで直します。

206 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:33:24 ]
質問をお願いします.

java.awt.event.KeyEvent
を使用してキーの同時押しを持ってきたいのですが、
スペース 押下時に、 上 と 左 の同時押し(結果的に3つ)
を取ろうとすると、 KeyEvent.VK_UP と KeyEvent.VK_LEFT が帰ってきません。

順番を逆にし、上左押下時のスペースは持ってこれます。

他の組み合わせ(スペース + 上右、下左、下右)はどれも正常に動作します。


KeyEventについて詳しくないのですが、これはどういうことなのでしょうか?

207 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:38:38 ]
コーディングが悪いんでないの?
if文の順番が変とか。
ソース晒してみ

208 名前:206 mailto:sage [2008/09/08(月) 20:39:22 ]
すみません訂正です

>順番を逆にし、上左押下時のスペースは持ってこれます。
これも KeyEvent.VK_SPACE がもってこれません

209 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:39:24 ]
>>206
pc11.2ch.net/test/read.cgi/tech/1204155623/640

210 名前:206 mailto:sage [2008/09/08(月) 20:51:54 ]
>>209
なるほど、ありがとうございました。
スレ違ったようですみません

>>207
おかげさまで原因がわかりました
ありがとうございました。

211 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:57:03 ]
>>205
ここにはもう来ないで欲しい






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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