【初心者】Java質問・相談スレッド115【歓迎】 at TECH
[2ch|▼Menu]
1:Javaが初心者
08/05/12 03:05:27
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    URLリンク(pc11.2ch.net)
Webプログラミング URLリンク(pc11.2ch.net)
をご利用下さい。

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

前スレッド
【初心者】Java質問・相談スレッド114【大歓迎】
スレリンク(tech板)
次スレは>>990あたりで。

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

2:Javaが初心者
08/05/12 03:06:45
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。


3:Javaが初心者
08/05/12 03:07:10
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 7
スレリンク(tech板)l50
■ SWT は --
Java 高速GUI SWT 3
スレリンク(tech板)l50

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part16
スレリンク(tech板)l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 7
スレリンク(tech板)l50

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 64 ★★
スレリンク(tech板)l50

**** 開発環境が必要の場合は ****
■ J2SE 1.4.0
URLリンク(sdc.sun.co.jp)
■ J2SE 5.0 (1.5.0)
URLリンク(java.sun.com)
■ Java SE 6
URLリンク(java.sun.com)

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
URLリンク(www.java.com)

4:デフォルトの名無しさん
08/05/12 03:39:10
>>1


5:デフォルトの名無しさん
08/05/12 03:55:12
>>1
おつ


6:デフォルトの名無しさん
08/05/12 04:36:14
javaを勉強するなかで、私はまずjavaで簡単なゲームを作ることにしました。
アプレットを作る方法を勉強すればいいと思うのですが、
javaでできるのはアプリケーションとかサーブレットとかもあるがそれはしないつもりなのか?と突っ込まれました

まだ全然よくわからないのですが、アプリケーション用のjavaとかサーブレット用のjavaとかがあるわけではないですよね
アプレットを作るプログラムの基本を学んでいけば、その応用でアプリケーションやサーブレットにも対応していけると予想しているのですが
この考え方で問題ないでしょうか?

いろんな本やサイト見ても、そもそもjavaで出来るのはこれこれで、それはこういうものだっていう説明は中々見つかりません
いきなりプログラムの書き方について(クラスとかメソッドとか)ってのが多くてこの疑問がなかなか解決しなくて困っています

7:デフォルトの名無しさん
08/05/12 05:08:40
JDKのドキュメント見てわからないなら何見ても一緒
Sunの米国サイトに行っても概要は分かるはず
jakartaなども覗いて見るといいだろう

8:デフォルトの名無しさん
08/05/12 10:29:10
>6 javaにはたくさんのクラス、メソッドがあり全てを覚えきって
使いこなすには今生では無理。java.utilパッケージを使いこなすのは必須事項だけど
javaで何がやりたいか?(サーブレット、アプレット,swing etc)を決めて
それのエキスパートになるのが良いと思うよ。

9:デフォルトの名無しさん
08/05/12 10:52:16
String[] allTokens = line.split(" ");
for (String token : allTokens)
この意味を教えてください。

10:デフォルトの名無しさん
08/05/12 11:11:42
age

11:デフォルトの名無しさん
08/05/12 11:40:03
>>1乙です。
早速質問お願いします。

import java.util.regex.*;

public class TestRegex {
public static void main(String[] args) {
Pattern pattern;
Matcher matcher;
/* パターンマッチ */
System.out.println("<パターンマッチ>");
pattern = Pattern.compile("[^0-9a-zA-Z]+");
matcher = pattern.matcher(args[0]);
boolean b = matcher.matches();
System.out.println("match =[" + b +"] CD=[" + args[0] + "]");
}
}

実行時コマンド java TestRegex "a"
結果はtrueを期待していたのですが、falseになります。

なぜでしょうか?

12:11
08/05/12 11:44:10
すいません、自己解決しました。
falseで合ってますね、失礼しました。

13:デフォルトの名無しさん
08/05/12 11:49:53
>>9
jdk5以降のjavadocの新機能の章、拡張for文のところを嫁

14:デフォルトの名無しさん
08/05/12 12:14:42
>>13
thx

15:デフォルトの名無しさん
08/05/12 14:29:49
>>6
ただ漫然とエキスパート目指してもその類の人間はごまんと居る
君のように何が出来るのかを考え大枠を作り出す能力こそが非常に重要


16:デフォルトの名無しさん
08/05/12 16:51:17
javaでUSBバスパワーのON/OFFや
電圧制御などはできますか?
USB扇風機をプログラムで制御できないものかと考えたのですが・・・

17:デフォルトの名無しさん
08/05/12 17:13:13
JavaUSB


18:デフォルトの名無しさん
08/05/12 17:40:55
>>17
kwsk

19:デフォルトの名無しさん
08/05/12 18:06:54
>>18
ぐぐれ

20:デフォルトの名無しさん
08/05/12 19:10:38
質問なんですがjavaにもMSDNライブラリみたいなサイトってあります?

21:デフォルトの名無しさん
08/05/12 20:03:27
sunのページが山ほどあるだろ

22:デフォルトの名無しさん
08/05/12 20:05:05
>>19
ありがとうございます。
色々検討してみます。


23:デフォルトの名無しさん
08/05/12 20:10:18
>>21
あ なるほど・・ありです!

24:デフォルトの名無しさん
08/05/12 20:20:15
import java.util.Scanner;
class Les4_1{
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
int y;
do{
System.out.println("整数を入力してください");
int x = stdIn.nextInt();

if(x == 0){
System.out.println("入力された値は0です。");
}
else if(x <0){
System.out.println("入力された値は正です。");
}
else{
System.out.println("入力された値は負です。"); }

System.out.println("もう一度? YES=1 NO=2");
y = stdIn.nextInt();
}while(y == 1);
}
}
・・・というような参考書に載っていた読み込んだ整数値の符号を判定するプログラムを
作っていたのですが、utilのパッケージ、Les4_1のクラスでシンボルを解決できない、
というエラーが出てしまいます。

一行目をimport java.io.*;に変えるとutilのパッケージのエラーが消えました。
開発環境はJ2SE SDKです。長くなりましたが、どうか回答お願いします。

25:デフォルトの名無しさん
08/05/12 20:23:25
何の回答?

26:24
08/05/12 20:30:28
>>25
すみません、言葉足らずのようでした。
どうしたら解決できるのでしょうか?
プログラムとしては間違っていないようなのですが・・

URLリンク(www.javadrive.jp)
こちらのサイトのサンプルプログラムでも同じようなエラーが出てしまいました。

27:デフォルトの名無しさん
08/05/12 20:44:53
正常に動くようだけど?ただし不等号が逆

28:デフォルトの名無しさん
08/05/12 20:46:46
java.util.Scanner
Since:
1.5

29:24
08/05/12 20:50:28
>>27
気付きませんでした。ありがとうございます。

>>28
今使ってるのが1.4.2でした・・・。
新しいバージョンのでやり直してみます。ありがとうございます。


30:デフォルトの名無しさん
08/05/12 21:33:21
質問です

ArrayList型の変数に格納されてる値をString型の変数に代入して行きたいのですが
C言語の配列だと最後に\0が格納されていて、終端の判断が出来るのですが
ArrayListにもその様な終端の判断が出来る要素ってありますか?

また無かったら、どの様にして終端を判断するのか教えてください

31:デフォルトの名無しさん
08/05/12 21:39:29
size()


32:デフォルトの名無しさん
08/05/12 21:43:35
ArrayListの長さならsize()
Stringの長さならlength()





33:デフォルトの名無しさん
08/05/12 21:55:13
>>31-32
ありがとうございます

34:デフォルトの名無しさん
08/05/13 00:18:55
javaを勉強してる学生です。
win+ECLIPSEでやってるのですが、ECLIPSEがちょっと重たい。
いいツールないですか?オススメあったら教えてください。

私、普段macなんですが、macでjavaを勉強しようと思ったらどういう環境がいいですかね?やっぱりECLIPSEですか?OS10.5です。

35:デフォルトの名無しさん
08/05/13 00:24:47
vim + Makefile は軽いよ! 当然ながら。

36:デフォルトの名無しさん
08/05/13 00:54:31
>>34
個人的な意見だが、MacOSXのSWTはやたら遅いので、
MacでやるならNetBeansのほうがサクサク動いてお勧め。

37:デフォルトの名無しさん
08/05/13 01:17:39
>>35,36
vimは先生が使うなって言ってたんです。
なんでかわかりませんが。

MacだとNetBeansですか。。
ちょっとチャレンジしてみます!

38:デフォルトの名無しさん
08/05/13 01:21:57
vim 使いの俺に対する挑戦か・・・その先生はw
まあ、初心者には敷居高いわな。

39:デフォルトの名無しさん
08/05/13 01:24:26
>>38

にゃはは。敷居が高いって言ってました。うちの先生。
NetBeansでいろいろしてからvimにチャレンジしてみます!

40:デフォルトの名無しさん
08/05/13 01:45:06
プログラムでも何でもないんだけど
良いスレ見つからなかったので
簡単な質問させて下さい。

私はローテクアニオタゲーマーでブロック崩しとか
好きなんですけど、JAVAのブロック崩しって
マウス操作がおもくそ引っ掛かりませんか?
ノートだろうがハイスペックデスクトップだろうが
同じような頻度で同じように引っ掛かって
ちゃんと操作してるのにカーソルが動かなくて
玉をロストってのがめっさムカつきます。
これってJAVAゲーの仕様なんですか?
どうしようもないことなんですか?
それ以外は作り手さんが色々な工夫を
し易いみたいで面白いんですが、アレだけは
本当に嫌なんです。どうにかなりませんか?

41:デフォルトの名無しさん
08/05/13 02:08:06
>>40
板違い
ここはプログラミングするひとの板です
そのゲームプログラムを>>40が改造してもっとよくしたいとかなら
>>40が作成したソースを示すことで相談に乗れる人もいるでしょう

42:デフォルトの名無しさん
08/05/13 02:34:37
作り手の質の問題だよね
そんなひどい品質のゲームを出すこと自体センスを疑う

43:デフォルトの名無しさん
08/05/13 04:48:09
Integerの配列のデータをintの配列のデータに入れようとしたらエラーがでます。
(int)でIntegerの配列のデータをキャストしようとしたんですが無理でした。
なんで?

44:デフォルトの名無しさん
08/05/13 04:54:57
43です。
自己解決しました。
Integer-int変換なんだから自動で処理してほしいですね

45:デフォルトの名無しさん
08/05/13 06:15:08
>>44
Integer[] i = ...;
int[] j = ...;
j[0] = i[0];
みたいにIntegerとintの間ならauto-boxing, auto-unboxingしてくれるはずだが?
どんな代入を行おうとしたんだ?

46:デフォルトの名無しさん
08/05/13 06:19:35
使ってるのが1.4以下だったならこの言語仕様はないから真面目に変換を書かないとだめだが

47:デフォルトの名無しさん
08/05/13 07:17:12
>>45
DataTableがInteger型です。
int [ ] DataOfSocialStudies= new int [ DataTable[2].length ] ;
for(int i=0;i<DataOfSocialStudies.length;i++){
DataOfSocialStudies[i]= DataTable[2][i].intValue(); ←この部分
}

ぷらっとフォームを確認したらJDK1.4だったんでJavaHotSpotClient VM1.6
ってのにしたんですけどエラーは変わらず出ました・・・


48:デフォルトの名無しさん
08/05/13 07:33:13
JDK1.6入れろよ

49:デフォルトの名無しさん
08/05/13 16:11:23
>>47
>ぷらっとフォームを確認したら
PCショップか。

50:デフォルトの名無しさん
08/05/13 21:04:29
あれはぷらっとホーム

昔、営団がホームドアを導入したとき、Home Doorと英表記してたのを思い出した。


51:デフォルトの名無しさん
08/05/13 21:09:54
swingスレか迷ったのですが、
コマンドプロンプトを起動+コマンド入力→実行
をJavaプログラム内から行いたいのですが、こういうのは可能なのでしょうか?

52:デフォルトの名無しさん
08/05/13 21:20:05
Runtimeクラスを調べてごらーん

53:デフォルトの名無しさん
08/05/13 22:14:05
Web系の仕事をしてまもない若輩者です。

最近、上司の教えにより、ようやくsyncronized構文を使ったサーブレットを作成する事が
理解できるようになりました。スレッドについては他にThreadクラス、Runnableインターフェイス等あるみたいなんですが、
とりあえずsyncronizedを覚えてといわれたので上記2つは勉強しておりません。

Web系開発をするにあたり上記2つ(Threadクラス、Runnableインターフェイス)は
必要でしょうか?

よろしくお願いします。

54:デフォルトの名無しさん
08/05/13 22:47:42
もしかしてResultSetってクエリの結果をオブジェクト内に保持しているんじゃなくて
getXxx()する度にDBに結果を取りに行ってるんですか?

55:デフォルトの名無しさん
08/05/13 22:54:58
1レコード取得するたびにRDBMのカーソルが動くと思っておけばいいんでない?


56:デフォルトの名無しさん
08/05/13 23:04:16
どうせでっかいがちがちのフレームワーク使うことになると思うよ。

57:デフォルトの名無しさん
08/05/13 23:04:50
>>53

58:53
08/05/13 23:08:17
>>57
なんですか!?なにかおかしかったですか??

せっかくスレッドの本を1冊かったので、もし必要ならやっとこうかなとおもったんです。

だから、教えてくれればありがたいんですが。。



59:デフォルトの名無しさん
08/05/13 23:11:55
>>53
お前にはまだ早いというのが上司の判断だろう

60:デフォルトの名無しさん
08/05/13 23:18:55
            ____
         __,,/  _, ----`ヽ
        / _     ___   、\
       / /   i      \   \\
       ,'./       i  ヽ:.   ヽ:.:.. ヽ.ヽ
      ,'/    / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ
       |i .i i  .i /  ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
       |i .i l  :N_, -弋 \弌弋ナ:}:.:}
      |i∧ ', :{ ,ィjモト \  イjミトイイV
       .|  :メヽ.', `ozZ}      izN。ハ::{
        |  :ヾ_! ゝ "゙゙    '  `゙ ハ.:',
      |  :.:_イ .:.ヽ.   (二フ , イ :.:.:!:.ヽ
      / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\
      / ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
    / .{. ',ヾ、ヽi .:.:.{ /(^`  |.:.:.:.//: : :.}: . ヽ.
   / /  ) ヽ ヾ、ヽ:.ハ ヤ{   ∧/.-‐'": : |:.:. i ',
  ./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、  : : : l:.:.: .ハ ',
  { /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
  V | .:.:/:.:|_,ィ' ̄  ヽ三{ `ー-ノ : イ : : :/:.:i.:{  リ
    ヽ:.:{、.:.V     : : ヘ     : : {: : :/:.::∧|
     ヽ! )人    : : :人      : : : / \!
      "  ヽ : : : : :/イ{     :.ノ: : : :.\
          \__///: :\______/: : : : : : : ヽ
           / //: : :|;|: : : : : : i: : : __: : : : ',
             / 、 {;{   |;|   . : i/. : : : : : :|
          / `Y;{. . . .|;|. : : : /i: : : : : : : : :l

なんですか!?なにかおかしかったですか??

せっかくスレッドの本を1冊かったので、もし必要ならやっとこうかなとおもったんです。

61:デフォルトの名無しさん
08/05/13 23:24:02
>>58
状況がよく分からんが・・・・・

そもそも、synchronizedを使うということは、
マルチスレッドが絡んでる領域だろう

一般論としてマルチスレッドプログラミングは、概念を理解した上で行わないと危険
しくじると簡単にデータの整合性を破壊したり、パフォーマンスを劣化させてしまう
おまけにバグが再現しにくいので修正も簡単じゃないことがある

62:デフォルトの名無しさん
08/05/13 23:26:04
単なる釣りだろ

63:デフォルトの名無しさん
08/05/13 23:26:34
まあJavaでWebならデフォでマルチスレッドだからな

64:デフォルトの名無しさん
08/05/13 23:33:53
サマータイムになったらどうすればいいの?おしえてちょ

65:デフォルトの名無しさん
08/05/13 23:40:51
何がしたいの?

66:デフォルトの名無しさん
08/05/13 23:55:28
質問です

Javaアプリケーションで起動したときに
フレームの上半分にあらかじめ指定していたファイルから
画像を読み込み表示するというプログラムを
作りたいのですがどう作れば良いのでしょうか?

調べてもAppletに関することばかりで困ってます

67:デフォルトの名無しさん
08/05/13 23:58:48
appletで出来るのなら
親をJFrameにすれば?

68:デフォルトの名無しさん
08/05/14 00:00:39
フレームにAppletを貼ったあとinitとstartを呼び出すのも忘れずに。

69:デフォルトの名無しさん
08/05/14 00:14:30
>>67
いえ
Appletでも出来ないんです


70:デフォルトの名無しさん
08/05/14 00:16:26
ということはここでアプリケーションに関する情報を得たとしても作れないってことだ
素直に宿題スレへ行け

71:デフォルトの名無しさん
08/05/14 00:25:08
申し訳ありませんでした
もう少し勉強してきます

72:デフォルトの名無しさん
08/05/14 00:26:03
>>69
で、どこまで調べた?

73:デフォルトの名無しさん
08/05/14 00:32:19
そういや>>68っていう手があったな。
アプレットなんてもう何年も使ってないから忘れてた。

74:51
08/05/14 00:44:12
>>52
すいません、寝ちゃって返事が遅くなってしまいました!><
ちゃんと引数まで付けて実行出来るとは、正にやりたかったことです!
おかげさまで非常に助かりました、本当にありがとうございます!!

75:デフォルトの名無しさん
08/05/14 00:58:52
ぐぐればすぐ出てきそうなもんだろうに…<<66

76:デフォルトの名無しさん
08/05/14 01:02:34
宿題スレから誘導されて来ました。
乱数を利用して0〜53の値をランダムで配列に格納するプログラムなんですけど、
永久ループになってしまいます。値は一意です。
どなたか助けてくださいm(_ _)m


public class XXX {
public static void main(String[] args) {
/* 変数宣言 */
int[] card = new int[53];
int nn, num;
boolean frg = false; // 配列との比較用フラグ

/* 乱数の発生と格納 */
nn = 0;

while (nn != 52) {
num = (int)(Math.random() * 54);

for (int i = 0; i < nn; i++){

if (num == card[i]) {
frg = true;
break;
}
}

if (frg == false) {
card[nn] = num;
nn++;
}

77:デフォルトの名無しさん
08/05/14 01:03:02

/* 結果の表示 */
String buf;

for (int i = 0; i < card.length; i++){
buf = " " + card[i];
buf = buf.substring(buf.length() - 4);
System.out.println(buf);

if (i % 10 == 0){
System.out.println();
}
}
}

78:デフォルトの名無しさん
08/05/14 01:14:05
>>76
while (nn != 52) {
num = (int)(Math.random() * 54);

for (int i = 0; i < nn; i++){

if (num == card[i]) {
System.out.println("num=" + num);
frg = true;
break;
}
}
でやってみたらどう?

79:デフォルトの名無しさん
08/05/14 01:34:33
>>78
やってみました、
num = で、1〜53までのランダム整数が永久ループで表示され続けます。
フラグ初期値falseがどんな数値でもtrueになってしまっているようで、
それでいてnnが加算されないのが永久ループの原因のようです。
うう、どうしてかわからない・・・。

80:デフォルトの名無しさん
08/05/14 01:37:22
シャッフルって普通こう書くんでは?

public static void shuffle(int[] array) {
shuffle(array, array.length);
}

private static void shuffle(int[] array, int size) {
if (size == 1) return;
int swapIndex = random.nextInt(size - 1);
int temp = array[size - 1];
array[size - 1] = array[swapIndex];
array[swapIndex] = temp;
shuffle(array, size - 1);
}

81:デフォルトの名無しさん
08/05/14 01:44:02
>>80
すません、まだJAVAならいたてのど素人なので
そこらへんは・・・

(int)(Math.random(x + 1))で、0〜Xまでの数値のランダムというのを
ネットで発見したのでそれを使ってやろうと考えています。

82:80
08/05/14 02:05:54
誤: int swapIndex = random.nextInt(size - 1);
正: int swapIndex = random.nextInt(size);

死にたい。

>>81
if (frg == false) {
card[nn] = num;
nn++;
} else frg = false;

ってしてみたら?
あとフラグの綴りはflagです。

buf = buf.substring(buf.length() - 4);

は何やってるのかわかりません。
if(frg == false)はif(!frg)でいいじゃん

83:53
08/05/14 02:08:44
たびたびすみません。>>53です。みなさん、レスありがとうございました。

上司からデッドロックとかスレッドの概要はおしえてもらいました。データの整合性
とか同期とかも教えてもらいました。

スレッドクラスとかランナブルインターフェイスというのは、スレッドを専門にあつかうクラスであるみたいですが、
Webアプリやるならsyncronizedだけでいいといわれました。でも、せっかく本を買ったので
必要ならやってみたいとおもったりしたわけです。

概念的なものは理解したつもりです。後はクラスの使い方だとおもうんです。
ですから、それを勉強しといたほうが得なのか、Webアプリには必要ないのかを聞きたいんですが…

ぜんぜん、つりではなく、まじめな質問なので、よろしくお願いします。
具体的には、WebアプリでThreadクラスやらRuunableインターフェイスを使う事があるのかないのかを聞きたいです。

どうか、よろしくお願いします。

84:53
08/05/14 02:10:08
上司の物言いが軽かったので、真偽のほどをおしえてもらいたいんです。

すみませんが、軽く答えていただければいいのでよろしくお願いします。

85:デフォルトの名無しさん
08/05/14 02:15:59
その辺のめんどくさいことはアプリケーションサーバがやってくれるので、
意識しなくてよいはずです。
そのためのアプリケーションサーバですから。
せっかく本を買ったのなら、アプリケーションサーバのベンダの人達は、
こんなめんどくさいことやってるんだなあ、と考えながら読みましょう。

86:デフォルトの名無しさん
08/05/14 02:17:01
明示的に使う使わないに関わらずjava技術者ならスレッド全般の知識はあって当然
目先のことに囚われて勉強しなくていいやなんて思っているなら死んだ方がまし

87:53
08/05/14 02:26:06
>>85
まいど!やんなくていいですか。ありがとうございます。
せっかく買ったのでやってみようとおもいます。ありがとうございました。

>>86
スレッドってそんな大事なんですね。あちきは、単なる1部分くらいにおもってました。
じゃあ、やってみます。

みなさん、回答どうもありがとうございました。多謝です。

88:デフォルトの名無しさん
08/05/14 02:30:21
>>82
あーっ、なるほど。漸くわかりました。
一度既出の値が出たときにフラグがtrueになるのがそのままtrueのまま続いてしまっていたんですね。
どうもありがとうございます。精進します。


>buf = buf.substring(buf.length() - 4);

すいません、説明不足でした。表示する内容を右揃えする制約があったので、
substringを利用して右揃えをする部分ですこれ。

89:デフォルトの名無しさん
08/05/14 03:45:49

◆6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
URLリンク(system-trading.jp)

5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
  デモトレードの優勝者には賞金三百万円がプレゼントされます。


▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
URLリンク(www.fx-gp.com)

▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円

90:デフォルトの名無しさん
08/05/14 05:35:57
すみません、別のプロジェクト内のクラスのインスタンスを作ることって可能なんでしょうか?
教科書にスタックの考え方を再現したJAVAプロジェクトと、前置記法のアルゴリズムを再現したJAVAプログラムがあり、
そのうち前置記法のプロジェクトが当然のようにスタックのプロジェクト内のクラスのインスタンスを作っているのですが。
エクリプス上でその部分に赤線が引かれており、実行してもエラーが出ます。
また、別のクラスを呼び出すために「Javaのビルド・パス>プロジェクト」と「プロジェクト参照」の設定」とやらも試してみたのですが、
そうすると赤線部分はなくなったのですが、実行しても何も起こりません。
前置記法のプログラムの最初にはimport java.io.*; とあるのですがそれが関係しているのでしょうか?


91:デフォルトの名無しさん
08/05/14 07:06:40
すいません。初歩の初歩でつまずきました。。。
実行すると
Exception in thread "main" java.lang.NoClassDefFoundError:
↑はwikiで解決するんですが、
at java.net.URLClassloader$1.run(Unknown Sourse)
at ・・・
at ・・・
と、at何とかが7個出てくるんですがあれはなんでしょうか?
教えてください。

92:デフォルトの名無しさん
08/05/14 11:42:50
エラー

93:デフォルトの名無しさん
08/05/14 14:25:20
>>91
スタックトレース
例外が投げられた時点でどういうメソッドが呼ばれていたのかの情報
下の行のメソッドが上の行のメソッドを呼んでいることを表す
その場合は例外は一番上のjava.net.URLClassloader$1クラスのrunメソッドで投げられた

94:デフォルトの名無しさん
08/05/14 16:23:05
2006年atex1003第XX回「hoge」(piyopiyo).avi

↑のようなファイル名のファイルが大量に入ったディレクリを引数に指定して、
中のファイル名を第XX回「hoge」.aviにしたいと考え以下のようなものを書いたのですが、
renameToの返却値がfalseになってダメです。
どうしたらちゃんとリネーム出来るのでしょうか?orz
public static void main(String [] args)
{
File dir=new File(args[0]);
String[] str=dir.list();
for(int i=0;i<str.length;i++)
{
File file=new File(args[0]+str[i]);
String newfile=new cui().toRenStr(str[i]);
System.out.print(file.renameTo(new File(args[0]+"/"+newfile)));
}
}

public String toRenStr(String str)
{
Pattern pattern = Pattern.compile(".*第");
Matcher matcher = pattern.matcher(str);
String renstr = matcher.replaceAll("第");
pattern = Pattern.compile("」.*");
matcher = pattern.matcher(renstr);
renstr = matcher.replaceAll("」.avi");
System.out.println(renstr);
return renstr;
}
}

95:デフォルトの名無しさん
08/05/14 17:01:05
>>94
renameTo()を呼ぶ前に、file.getName()とnew File(args[0]+"/"+newfile).getName()
を表示して確認。



96:デフォルトの名無しさん
08/05/14 20:11:53
質問です。
左右マウスホイールって使えないんですかね?
(一般的にはチルトホイールという?)
少し調べたんですけど、全然出てこないですね。

97:デフォルトの名無しさん
08/05/14 20:51:21
JavaでWebサーバを作成中で、POSTリクエストの受付を可能にしようとしています。
POSTのHTTPリクエストは
「ヘッダ部複数行」
 1空行
「データ部1行」なので、
BufferedReader br = new BufferedReader
(new input StreamReader(socket.getInputStream()));
でHTTPリクエストを取得。そのあとに
while(br.readLine() != (""){
}
String data = br.readLine();
とやれば、データ部をdataに入れられると思ったのですが、
データ部の後ろには改行コードのCRLFがないため、readLineで1行読み込む
ことができないようです。同様にread()でもうまくいきません。

どうにかしてデータ部を取得することはできないでしょうか?

98:デフォルトの名無しさん
08/05/14 21:09:43
>>97
たいていの場合はヘッダにデータ部の長さが入っているので、そのぶん
だけ読めばよろしい。

他、気になるところ:
・HTMLからのフォームPOSTでも、データがMIMEで送られることがあるので、データが1行とは限らない
・データがバイナリのこともあるので、基本的にReader類は使ってはダメ
・chunked-encodingのこともあるので、以下略


99:デフォルトの名無しさん
08/05/14 21:27:47
private InputStream is;
private InputStreamReader in;
これらを使って文字列を読んでるんですが、ファイルが終端に達したかを調べる方法ってありますか?


100:デフォルトの名無しさん
08/05/14 21:32:32
>>99
readメソッドの戻り値がー1

101:デフォルトの名無しさん
08/05/14 21:40:13
>>100
ありがとうございます

102:デフォルトの名無しさん
08/05/14 22:50:49
スレチかもしれませんが教えてください。
いまSQL Serverとjavaを繋げる勉強をしています。
INSERTした時間を後で取り出し
after()メソッドで比べたいのですが、そういった処理は可能ですか?
もし可能なら詳しく教えてください。


103:デフォルトの名無しさん
08/05/14 23:01:01
System.currentTimeMillis() または System.nanoTime()

104:デフォルトの名無しさん
08/05/15 00:19:56
ガベージコレクションは必要なくなったオブジェクトを自動的に開放してくださるそうですが、ストリームも自動開放してくれるのでしょうか?

また、どのタイミングでしてくれるのですか?

105:デフォルトの名無しさん
08/05/15 00:25:52
しません。

106:デフォルトの名無しさん
08/05/15 00:27:08
忘れてた。ファイナライザでクローズしちゃだめだよ

107:デフォルトの名無しさん
08/05/15 00:30:16
ストリームくらいちゃんと閉じろ、馬鹿者

108:デフォルトの名無しさん
08/05/15 00:33:55
void hoge() {
InputStream input = null;
try {
  // 略
} finally
  input.close();
  input = null;   // ←
}
}
これが必要か?って話ならばイラネ


109:デフォルトの名無しさん
08/05/15 05:30:00
無駄にnull突っ込むのはC#でもよく見かけるんだが、何でこんなに
流行しちゃったの?何か歴史的背景とかあんの?

110:デフォルトの名無しさん
08/05/15 08:45:43
>>103
ちょっと難しそうですけど、ありがとうございました。

111:デフォルトの名無しさん
08/05/15 09:38:05
>>109
nullを入れたほうがGCの取りこぼしが少ないとか、即座にGCされるから効率的だとか、そういう勝手な思い込みから

112:デフォルトの名無しさん
08/05/15 11:19:31
input.close();
input = null;
 System.gc();

しても実際3行目でメモリ解放するかはGCの実装依存なんだよね。

113:デフォルトの名無しさん
08/05/15 11:47:37
バグの原因になるからだよ
処理しないでそのまま流してしまうコードを書くおっちょこちょいが多すぎて
コンパイラがデフォでnullを入れてないコードをコンパイルするときにエラーをはくようになった



114:デフォルトの名無しさん
08/05/15 12:46:18
何言ってんだ?

115:デフォルトの名無しさん
08/05/15 14:52:45
public class A {
 public static void main(String args[]){
  static int i = 0; // int i = 0;ならエラーにならないのはなぜですか?

116:デフォルトの名無しさん
08/05/15 15:10:35
>>115
ローカル変数には static つけられないって言語仕様で決まってるから。

117:デフォルトの名無しさん
08/05/15 15:21:37
public class A {
 static int i = 0;
 public static void main(String args[]){
これならいいんですね。

118:デフォルトの名無しさん
08/05/15 17:27:21
>>117
それだとiはローカル変数ではなくなる。
staticはインスタンスでなくクラスに属する変数であるという意味だから、
クラスやインスタンス個別でなくスレッドごとに存在しているローカル変数に付けると
意味不明になってしまう。単に、>>115でstaticを外したように書けば、
ローカル変数iとして使えるし、コンパイルも通るはず。
それともクラス変数にしようとして書く場所を間違っただけ?

119:デフォルトの名無しさん
08/05/15 17:37:44
型の静的変換について質問です。
とあるObject型のobj、Sting型のstrがあるとして

((String)obj).charAt(0);
str.charAt(0):
この二つでは、静的変換が入る上のほうが実行速度にペナルティーがあるのでしょうか?

以前やっていたCではペナルティがなかったと思うのですが、Javaだと「静的型変換に失敗した」という例外を投げてくれるようなので、おそらくなかでチェック機構が働いており、ペナルティがあるかなと思っているのですが

120:デフォルトの名無しさん
08/05/15 17:48:19
>>119
コードや実行環境によるとしか言えない。

例えばループ内で obj が再代入されないなら
JITコンパイラが String tmp = (String)obj; みたいなコードを
ループ外部に作成して、ループ内部では tmp.charAt(0) に変換、
みたいな事をする可能性はある。

121:デフォルトの名無しさん
08/05/15 17:49:55
>>119
あと、(String)obj は動的(実行時)型変換だよ。

静的(コンパイル時)型変換じゃない。

122:デフォルトの名無しさん
08/05/15 17:58:49
>>120-121
なるほど、最適化されるということは、裏を返せば型変換にはペナルティがあるってことですね。

>あと、(String)obj は動的(実行時)型変換だよ。
たしかに。書き方がCと同じだからって、同じものだとは限らないわけですね。
Javaには静的型変換はないようで。

ありがとうございました。

123:デフォルトの名無しさん
08/05/15 18:15:56
>>118
ありがとうございます。
int変数のiが5なのかを判定したくて
if(i == 5){
と書いてみたのですが、そのif以前にiが初期化されていなかったらiがnullかもしれないから
if(i != null && i == 5){
と書かなくてはならないのか調べたくて
int i;
if(i == 5){
とするとコンパイルできなかったから、
static int i;
if(i == 5){
と書きましたが、これもコンパイル不能でしたが、コンパイラがstaticを
解釈できていないようなメッセージを出しているみたいだったので質問させていただきました。

124:デフォルトの名無しさん
08/05/15 18:17:38
>>123
int型が null になる事はない

125:デフォルトの名無しさん
08/05/15 18:21:49
>>124
そうですね。nullになりませんが、プリミティプの数値型は0で暗黙の初期化がされるらしいので
int i;
を書いてから、初期化を書かずに
if(i == 0){
を実行して真となることを確認したいのですが、そのようなソースは書けませんか?

126:デフォルトの名無しさん
08/05/15 18:23:40
>>125
ローカル変数は暗黙の初期化はされない。

127:デフォルトの名無しさん
08/05/15 18:24:46
>>125
書けません。
必ずローカル変数はその値を参照する前に初期化されていることが求められています。
そして、ローカル変数は初期化を省略した際のデフォルト値のようなものはないので、
自分で初期化しなければなりません。

128:デフォルトの名無しさん
08/05/15 18:27:37
>>125
int i;
と書いただけではiの値は確定していないので必ず初期化が必要。
iに値を代入するのがそんなに面倒?

129:デフォルトの名無しさん
08/05/15 18:29:52
public class A {
 static int i;
 public static void main(String args[]){
これならiは暗黙の初期化で0ですね。
ありがとうございました。

130:デフォルトの名無しさん
08/05/15 18:36:28
なにがやりたいのかわからん
ローカル変数とクラス変数では全然意味が違う
暗黙の初期化をしたいがためにローカルなものをフィールドに出したら
プログラムそのものの動作が変わってしまうだろ

131:デフォルトの名無しさん
08/05/15 19:15:37
暗黙の初期化なんて百害あって一利ぐらいだわ。
一般的なJavaプログラミングには必要ない。

むしろプリミティブ型の値範囲と精度に注目して欲しい。

132:デフォルトの名無しさん
08/05/15 19:58:21
なんか、Seasar2っていうのがいいらしい。

おもしろかったらやってみたいんだけど、
家計がしんどいので2000円の本買うのためらってる。

Seasar2っておもしろい??

133:デフォルトの名無しさん
08/05/15 20:13:25
まず働いて2000円の本位買える家計環境にしよう

134:132
08/05/15 20:50:48
>>133
働いています><; 一人暮らしでバイクのローンもあるから厳しいんです><;

原付にしときゃよかった><;

Seasarのスレがあったのでみたら、閉店するそうなので
やめます><;

135:デフォルトの名無しさん
08/05/15 21:03:04
2,000円の本を買うのためらうくらいならネットで調べろ

136:デフォルトの名無しさん
08/05/15 21:05:57
JSPでDBとやり取りするドライバ(のようなもの?)のクラスを作っているのですが、判らないことがあります。
ResultSet.nextをコールしないとSQLExceptionがスローされるようなのですが、なぜExceptionになるのでしょうか?

statement.excute(SQL文)でSQLのカーソルをSQL文に対応するレコードに移し、
statement.getResultSet()でカーソルの指し示すレコードをResultSetとして渡す。
で、ResultSet.getString()なりなんなりでSQLの中身を取り出す。

複数のレコードを取り出すならばResultSet.next()を使うのが自然だと思うのですが、単独のレコードが期待される場合は使う必要がないのではないでしょうか?
excuteじゃなくてexcuteQueryだと違うんでしょうか?

137:デフォルトの名無しさん
08/05/15 21:15:23
なぜExceptionの詳細を書かないんでしょうか?
stacktraceくらい張ったらどうでしょうか?

138:デフォルトの名無しさん
08/05/15 22:24:48
>>136
ResultSet のカーソルは、初期状態では最初の行の前に位置付けられています。
メソッド next の最初の呼び出しによって、最初の行が現在の行になります。
2 番目の呼び出しによって 2 行目が現在の行になり、以降同様に続きます。

139:デフォルトの名無しさん
08/05/15 22:29:52
>>136
URLリンク(java.sun.com)
> A ResultSet object maintains a cursor pointing to its current row of data.
> Initially the cursor is positioned *before the first row*.

日本語版は誤訳だから気をつけろ


140:136
08/05/15 22:49:57
英語苦手なんでアレなんですが…

ResultSetのカーソル位置が最初0で、受け取ったデータは1から始まるって事でしょうか?

141:デフォルトの名無しさん
08/05/15 22:54:57
そう

142:デフォルトの名無しさん
08/05/15 23:02:39
把握しました。ありがとうございます。

<チラ裏>
言えない…ResultSetが単体のレコードを格納すると思ってたなんて言えない…
</チラ裏>

143:デフォルトの名無しさん
08/05/16 01:09:02
Cursorとかいう名前だったらよかったのにな。


144:デフォルトの名無しさん
08/05/16 08:31:41
>>140
可能です。
以上。
↓次の方どうぞ

145:デフォルトの名無しさん
08/05/16 08:35:28

質問です、文字列からColorクラスに変換することってできないでしょうか?つまり、
String colorname = "red";
のような色名を表す文字列を使って、setBackgroundやsetColorなどのメソッドの引数をつくる方法はないでしょうか?
色名を全部並べてif文とかで条件分岐をすればできるですが、それだととてもコードが長くなってしまうので・・・


146:デフォルトの名無しさん
08/05/16 08:38:52
>>145
java.awt.Color#getColor(String)

147:145
08/05/16 09:11:22
>>146
レスありがとうございます。やってみたのですが、たとえば
Color color;
color.getColor("red");
というふうにすると、コンパイルはできるのですが、ちゃんと色が出ませんでした。
redをblueやcyanに変えてみても、同じ黒っぽい色しか出ません。
どうしてなんでしょうか?



148:デフォルトの名無しさん
08/05/16 09:17:15
APIリファレンスすら読まないから。

149:145
08/05/16 09:29:15
一応読んではいるのですが・・・

150:デフォルトの名無しさん
08/05/16 10:16:27
質問です

2次元の配列データを、csvファイルにして(デスクトップなどに)出力したいのですが、どのような方法があるでしょうか。


151:デフォルトの名無しさん
08/05/16 10:29:14
自前でやるのが面倒なら commons-csv なりなんなり使え。

152:150
08/05/16 10:32:28
すみません、自前でできる方法をお願いします。

153:デフォルトの名無しさん
08/05/16 10:43:36
>>147
使い方としては、
Color color = Color.getColor("red");
だけど、ドキュメントを見るとシステムプロパティがどうとか書いてあっ
てよくわからんね。


154:デフォルトの名無しさん
08/05/16 10:49:05
>>152
自前でやるんなら、自分でCSV書き出すプログラム書くだけだよ。

155:デフォルトの名無しさん
08/05/16 11:40:26
>>152
for(data[] row : array){
for(data cell :row){
data.toString()と","をファイル出力
}}

156:デフォルトの名無しさん
08/05/16 12:41:17
>153
それはダメ。
その実体は new Color(int, int, int, int) の引数を結合した数値の文字列表現。
> 指定されたプロパティが見つからない場合、
> ***または整数値として解析できなかった場合***、null が返されます。

>145 の言う「名前から色」というのは、どこかで対応表を持つ必要があるから、
公開ライブラリには向かない、と私は思う。
要は、Map<String, Color> か何かで専門クラスを作りましょう、と。

157:デフォルトの名無しさん
08/05/16 12:45:53
>>145
javax.swing.txt.html.StyleSheet#stringToColor(String) とか?

158:デフォルトの名無しさん
08/05/16 12:47:53
>>155
改行してない。

159:デフォルトの名無しさん
08/05/16 18:00:57
アプレット初めて半年の初心者なんですが、
JToggleButton();で押下時のボタン色を変えるシンプルな方法はありますか?

メソッドをネットで検索しても見つかりませんでしたので、
JToggleButton();を継承して、オーバーライドしたクラスを作ったんですが、
ボタンのイベントの"actionPerformed()"が、使用されるアプリのほうが
自分より早く呼ばれてしまう為、旨くいきませんでした・・・

160:デフォルトの名無しさん
08/05/16 18:05:23
こんな感じで作りました。

public class IToggleButton extends JButton implements ActionListener
{
private boolean isSelected = false;

IToggleButton(String str){
super(str);
addActionListener(this);
if (this.isSelected) setBackground(Color.pink);
else setBackground(null);
}

public void actionPerformed ( ActionEvent e ) {
isSelected = isSelected?false:true;
if (isSelected) setBackground(Color.pink);
else setBackground(null);
}

public void setSelected(boolean selected){
this.isSelected = selected;
if (this.isSelected) setBackground(Color.pink);
else setBackground(null);
}

public boolean isSelected() {
    return(this.isSelected);
}
}

161:デフォルトの名無しさん
08/05/16 19:55:47
プログラミング初心者が最初に行き着く
プログラム言語のスレはココですか?

162:デフォルトの名無しさん
08/05/16 20:40:20
いえいえ、アッセンブラ〜やCを長年経験した上での質問です・・・

163:デフォルトの名無しさん
08/05/16 22:35:26
若い女のプロ意識に脱帽編…

若い女の営業スマイル。よく出せるなと思っていました。
コンビニやスーパーでも俺みたいなきもいおっさんによくこうも
にこやかな営業スマイルだせるなと感心しておりました。

こないだ、パチンコ屋に行きました。そこは町の中心部にあり自宅から
4,50分のところです。そこは、衣装もエロチックでミニスカートにスリットなる
切れ目が入っていて、店員さんもなかなかの魅力的な娘が多いです。
それも楽しみにときどきそこの店に行きます。

あまりでないので、自動販売機のところで一服してるとかわいい娘が
コーヒーを配っています。あまりこの店までこれないので、ついミニスカートのスリットから見える
太ももを凝視して興奮してしまいました。かなり長い間エロい目つきで見てたはずです。

相手に気づかれました。さすがに、とってもいやな顔されるだろうとおもっていました。
最初はたしかにちょっといやな顔をしましたが、すぐにあのにこやかな営業スマイルにもどりました。

これはびっくりしました。いくら店員とはいえ、俺みたいなもてないブサ男に
この場面で営業スマイルとは・・・

恐れ入りました。パチンコ屋のあの店員。

164:163
08/05/16 22:36:08
すまん。誤爆った。リロードされたら、プログラム板だった。すまそ。

165:デフォルトの名無しさん
08/05/16 22:39:49
クライアントの変更要求や追加要求に嫌な顔をして見せる奴は、パチ屋の
女性店員よりプロ意識が低いと言いたいわけですね?わかりますw

166:デフォルトの名無しさん
08/05/16 22:54:26
基礎からのJava
URLリンク(www.7andy.jp)

やさしく学ぶ Sun認定Javaプログラマ
URLリンク(www.7andy.jp)

この2つでどっちを買うか迷ってるんだけどどっちがオススメ?
もしくは他にオススメある?
一応研修でざっと習って「やさしいJAVA」ってのも貰った
基本をきっちり押さえつつも実践的な練習もできる本が欲しい
他のSUN認定の分厚いのや外人が書いた翻訳された本は見にく過ぎて無理だった
とりあえず逆引きの本は1冊買った
誰か助けて

167:デフォルトの名無しさん
08/05/16 23:12:15
>>166
「実践的な練習」がどのレベルを指してるのか分かんない。
1.実用的なプログラムを、とりあえず動くレベルで書けるようになりたい。
2.動けばいいレベルなら既に書けるから、より良いコーディングを学びたい。

1なら言語本(Javaそのものを説明してる類の本)はやさしいJava1冊で十分。
それよりも実際に何か書いてみる方に注力して、書きながらその都度必要
な情報を検索する、それでもみつからないなら本を探して買うってやり方の
方が経済的だし効率いい。
言語本を何冊も買うのは意味ないし、言語本を2冊読む時間があるなら1
冊だけ読んでもう1冊読む分の時間で実際にコード書く方が効率いい。
あと、1のレベルに達してない人が2を求めるのは非効率。先ずは1から。

もし2ならJavaの鉄則とJavaの格言は良い本だよ。読みやすいしね。


168:デフォルトの名無しさん
08/05/16 23:27:34
>>167
こんな時間にどうもありがとう!
明日その2冊を立ち読みしてみる


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4034日前に更新/277 KB
担当:undef