【初心者】Java質問・相談スレッド103【大歓迎】 at TECH
[2ch|▼Menu]
[前50を表示]
750:デフォルトの名無しさん
07/07/19 10:52:11
ぬるぽ

751:デフォルトの名無しさん
07/07/19 10:52:42
class fuckArr
{
static String str[] = new String[5];
str[0] = new String("myGOD");


public static void main(String[] args)
{
System.out.println(str[0]);
}
}

752:デフォルトの名無しさん
07/07/19 10:54:30
>>747
str[0] = "myGOD";がある場所はコンストラクタやフィールド、メソッド、内部クラスの定義しか書けない場所。

753:745
07/07/19 11:08:51
>749-752
レスthx
単純に式文がかけない場所なんですね


754:デフォルトの名無しさん
07/07/19 13:54:28
Java sound apiを利用してWebアプリケーションを構築したいと考えているのですが
例えばページ上でボタンを押したら録音が始まり10秒間録音してユーザーのローカルにファイルとして保存するようなJSPは
構築可能でしょうか?

頭でなかなかイメージできないので、可能か不可能かも分かりません
具体的な解説を付け加えてもらえれば、なお助かります

755:デフォルトの名無しさん
07/07/19 14:05:41
ファイルの内容を一行消したい場合は何を使えば良いのでしょうか?

756:デフォルトの名無しさん
07/07/19 14:20:30
>>754
無理というかJSPにする意味が分からんというか。
そういうのはJWSにした方が良いよ。

757:デフォルトの名無しさん
07/07/19 14:37:26
>>756
JWSとJSPはサーバサイドかクライアントサイドかの差だけだと思っていたので、
サーバ側の自分が負担できればと思っていたのですが・・・
またもしJSPであれば、クライアント側はJRE等が必要なくて済むかと・・・

つまり先述の例であれば、JWSの方が良い理由があるということでしょうか?

758:デフォルトの名無しさん
07/07/19 14:53:09
サーバサイドのプログラムでクライアントの音声デバイスにはアクセスできない。
サーバにくっついてるマイクの音だけしか拾えない。

759:デフォルトの名無しさん
07/07/19 14:55:58
Javaを理解するためにはアルゴリズムを勉強したほうがいいでしょうか?

760:デフォルトの名無しさん
07/07/19 15:06:23
>>757
サーバー側で動くもの作ったことある?
というかどういう風に動いてるか知ってる?

根本的なところから勉強した方が良い気がする。

761:デフォルトの名無しさん
07/07/19 15:07:03
>>759
Javaに限らずそれはしたほうがいい

762:デフォルトの名無しさん
07/07/19 15:37:59
RMIでできるべ

763:デフォルトの名無しさん
07/07/19 15:39:19
サーバ側のミキサーにアクセスするだけの話
だからそれほど難しい話ではない

764:デフォルトの名無しさん
07/07/19 15:44:09
>>761
ありがとうございます。
ちなみにビギナー向けでいい本ご存知ですか?

765:デフォルトの名無しさん
07/07/19 15:55:10
>>764
アルゴリズムの勉強は言語(Javaでもいい)の基礎が出来ていて多少書けることが前提
「アルゴリズム」とか「データ構造」でぐぐればネットでも勉強できる
これはC言語だけどアルゴリズムの考え方自体は同じだから参考になると思う
URLリンク(www.geocities.jp)
Javaで説明されてる本も出版されてるみたいだけど読んだことは無い

766:デフォルトの名無しさん
07/07/19 16:08:57
>>765
そうですか。自分はJavaの勉強に行き詰っている状態なのでちょっと厳しいかもしれません
ネットでも勉強出来るんですね?ありがとうございました

767:デフォルトの名無しさん
07/07/19 16:22:07
基本的なアルゴリズムが身につくと応用力が付く
ネットで見たりするソースに隠れたものを理解できるようになる
そうなるとどんどん力が付くよ。

最初はやはり本で少し学んだ方がいいかもしれない
それほど高く無い値段で出回ってる。

768:デフォルトの名無しさん
07/07/19 16:35:37
本日の部下との会話

俺:newってどういう意味?

部下:
          ____   
       / \  /\ キリッ
.     / (ー)  (ー)\      
    /   ⌒(__人__)⌒ \  あたらしく作るということです 
    |      |r┬-|    |      
     \     `ー'´   /      
    ノ            \
  /´               ヽ              
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


俺:newって単語の意味だけで想像して言っただろ?

部下:はい(´Д`;)ヾ

769:デフォルトの名無しさん
07/07/19 17:00:11
苦労してるな

770:デフォルトの名無しさん
07/07/19 17:03:28
>>765
フヒヒ 横からいいHPハケーン!

771:デフォルトの名無しさん
07/07/19 17:50:23
>>763
クライアント側のミキサーにアクセスしようとしてるんだと思うが?

772:デフォルトの名無しさん
07/07/19 17:58:17
だったらそれでもいいだろ
難しく考えすぎ

773:デフォルトの名無しさん
07/07/19 18:16:19
盗聴のような真似ができるから今問題になってるね

774:755
07/07/19 19:00:25
どなたか(´;ω;`)

775:デフォルトの名無しさん
07/07/19 19:03:44
読み込んだあと該当箇所のエスケープシーケンスを消す
そのあと保存

776:デフォルトの名無しさん
07/07/19 19:04:45
1行ずつよみこんで新たなファイルに書き込む。該当行はスキップ。

777:デフォルトの名無しさん
07/07/19 20:23:58
特定の文字列に対して正規表現がマッチしている、みたいなのはできたのですが、
正規表現を指定してそれにマッチする文字列をランダムで作成する、みたいなことってできないでしょうか。
仕事なんでできないとだめなんですが、ご意見いただけないでしょうか。

778:デフォルトの名無しさん
07/07/19 21:10:16
>>777
ランダムで文字列を作成して、正規表現にマッチしていればループを抜ける

779:デフォルトの名無しさん
07/07/19 21:17:15
正規表現を逆解析して、適切なテストデータを流すDBからデータとってくるとかかな
むかーし、そんな感じのテストツール作ろうかと考えたこともあった。

780:デフォルトの名無しさん
07/07/19 21:30:12
正規表現の逆なんて正規表現でのマッチングよりも難しいんじゃないか?
適当に使用する文字を絞り込んでから778の言うようにランダムに作成してマッチングかけるのが手っ取り早そうだ

仕事なんで出来ないとダメってのは何かおかしいと思うぞ
出来ないものは出来ないと言うべきだ

781:デフォルトの名無しさん
07/07/19 21:38:22
>>778
最初それで考えたんだが、文字数だとかが絡んだりするとそう簡単にはいかんことに気付き断念

>>780
普通はそうなんだろうが、そうもいかない会社はいくらでもあるのよ。

とりあえず対応できそうな構文のみでいってみるか・・・

782:デフォルトの名無しさん
07/07/19 21:43:34
>>781
だいたい何の用途で使うんだ?
正規表現って言ってもどこまで対応するかによってとんでもなく面倒だぜ

783:754・757
07/07/19 21:51:25
>>758
なるほど、これでだいぶ理解できました
ありがとうございます
>>760
全くの初心者です
今日、早速本を買ってきました
これから勉強していこうと思います
ありがとうございました。

784:デフォルトの名無しさん
07/07/19 22:27:57
>>774
特にAPIは無いんじゃないの?


785:デフォルトの名無しさん
07/07/19 22:32:00
>>781
1.
ある表現から固定の決まったシーケンスを出すようにする
[a-z]* なら aaa
[0-9]* なら 000
2.
あるシーケンスの正規表現マッチングを崩さないような変更を行うメソッドを
いろいろ(対応する正規表現分だけ)用意する
例:
[a-z]* の aaa を aab にするとか、 aaにするとか。

3.
1.に対して2.を適当な回数適用する

どう?
まぁできあがる表現に偏りはできると思うがね。
ランダムの定義が曖昧だしこれでいいよな?
1.のシードをある程度余分に作っておけばそれなりにばらけるかもしれないし。

786:デフォルトの名無しさん
07/07/19 22:57:47
こういうときこそSnobolですよ、奥さん。
自然言語マッチ用言語の本領発揮!

787:デフォルトの名無しさん
07/07/19 23:07:05
>>781
まずは対応できる正規表現のパターンを絞り込む事が重要だな
絞り込んじまえばたいしたことはないと思うが、全てに対応しろといったら1プロジェクトだろう

788:デフォルトの名無しさん
07/07/19 23:52:46
1.4のプログラムを1.5のGenericsを使った記述に変更してますが、
よく分かりません。

例えば、配列の偶数要素をキー、奇数要素を値とするMapを生成するメソッド
public static Map arr2map(Object[] arr)
のMapをGenericsを使った記述にする場合、

(1)public static Map<Object,Object> arr2map(Object[] arr)
(2)public static Map<?, ?> arr2map(Object[] arr)
(3)public static <K, V> Map<K, V> arr2map(Object[] arr)

などが考えられますが、どれがいいものでしょうか。
なにか、ガイドラインとなる書籍、URL等ありましたら教えてください。


789:デフォルトの名無しさん
07/07/20 00:00:27
>>788
言っている意味も考えられる選択肢もワカラネ
そもそもObject[]の時点で終わってるのでGenericsに対応しない方がいいんじゃね?

キーの型がKey、値の型がValueであるならば
public static Map<Key, Vaue> arr2map(Object[] arr)
が正しい。
キーも値も決まってないならば、
public static Map<Object, Object> arr2map(Object[] arr)
となるけど、それならば
public static Map arr2map(Object[] arr)
のままでいいんじゃね?ww


790:デフォルトの名無しさん
07/07/20 00:03:01
総称型使ってClassCastExceptionを起こすのはナンセンス

791:デフォルトの名無しさん
07/07/20 00:14:43
>>788
Map<? extend foo, ? extend bar>かMap<K, V>だろうねぇ。

けど、>配列の偶数要素をキー、奇数要素を値とする
なんて非OOなレコードの持ち方が変。
keyとvalueのペアを持つエントリクラス作ってそれを持っておくだろ。

static Map arr2map(Object[])なんて変換関数用意するんじゃなくて初めからmapやsetで持ってkeyだけ・valueだけ詰めた配列返すメソッド用意する。
とか、こういう設計の方が自然。


792:デフォルトの名無しさん
07/07/20 00:18:16
>>789みたいな非OOな考え方ができない奴も居るし、ループ回す時複雑だし・・・

793:788
07/07/20 00:37:15
>>789-792

引数のObject[]が非非OOな持ち方なので、無理に総称型
使う必要は無い(ClassCastExceptionに起こしかねない)と
いうことですね。

設計考え直してみます。
ありがとう。


794:デフォルトの名無しさん
07/07/20 00:45:13
>非非OOな持ち方なので、無理に総称型
使う必要は無い(ClassCastExceptionに起こしかねない)
いや、違う自分の良いように考えすぎ。
アプローチ間違ってますよってだけ。
キャストで例外出すってのはまた別の話。

795:デフォルトの名無しさん
07/07/20 00:58:01
>>788
俺だったら、こんな感じかなぁ

/** 今後はこっち使ってください */
public static <K, V> Map<K,V> arr2map(Object[] arr, Class<K> keyType, Class<V> valueType) {
  Map<K,V> map = new HashMap<K,V>();
  for(int i = 0; i < arr.length - 1; i+=2){
    map.put(keyType.cast(arr[i]), valueType(arr[i+1]));
  }
  return map;
}

/** 互換性のため */
@Deprecated
public static Map<?, ?> arr2map(Object arr) {
  return arr2map(arr, Object.class, Object.class);
}

796:デフォルトの名無しさん
07/07/20 00:59:06
×    map.put(keyType.cast(arr[i]), valueType(arr[i+1]));
○    map.put(keyType.cast(arr[i]), valueType.cast(arr[i+1]));

× public static Map<?, ?> arr2map(Object arr) {
○ public static Map<?, ?> arr2map(Object[] arr) {

797:デフォルトの名無しさん
07/07/20 01:21:25
String.format("%02X", byte) の逆をやるにはどうするのが普通なんですかね。
つまり文字列"00"からは0x00、"79"からは0x79、"80"からは-0x80、
"81"からは-0x79、"FF"からは-0x01のbyte値を生成したいんです。

798:デフォルトの名無しさん
07/07/20 01:25:58
int val = (byte)Integer.parseInt(str, 16);

799:797
07/07/20 01:43:51
>>798
なるほど! ありがとうございます。

800:デフォルトの名無しさん
07/07/20 06:16:29
>>739
遅レスだが、ソケットを閉じる

801:755
07/07/20 10:32:14
レスくれた方どうも有難う御座います。
ググっても適当なメソッドや関数が見つからないと思ったら本当に無いんですか・・・
凄く冗長な気がしますが大人しくファイル二つの間でコピーし合う事にします

802:デフォルトの名無しさん
07/07/20 10:41:05
for( int i = 0; i < 10; i++ ) {
int j = i;
}

こんな風にループ内で変数の宣言していると、回るたびに変数分のメモリを消費していく?
int型の4バイト(?)づつ浪費することになる?

803:デフォルトの名無しさん
07/07/20 10:42:22
>>802
intはオブジェクトじゃないからならない。

804:デフォルトの名無しさん
07/07/20 10:54:28
>>803
オブジェクトだとどんどん消費するってことですか?

class Hoge {

public static void main( String[] args ) {
while( 1 ) {
xxx();
}
}

public void xxx() {
// ここでオブジェクトの宣言
}

上のようにやればxxx()が終了した時点でオブジェクトのメモリは解放?されると思ってるんですが合ってますか?

805:デフォルトの名無しさん
07/07/20 10:58:38
オブジェクトは xxx が終了した時点で
ガベージコレクタによってメモリを開放される条件を満たすようになるが、
実際にメモリが開放されるのはそれ以降でガベージコレクタが実際に走った時。

806:デフォルトの名無しさん
07/07/20 10:58:56
xxx() が終わった時点で参照が外れてGCの対象にはなるが、
その後いつメモリが開放されるかどうかはGCまかせ。

807:デフォルトの名無しさん
07/07/20 11:20:42
レスありがとうございます。

ループ内でオブジェクトを宣言する場合は>>804のやり方で大丈夫でしょうか?
メモリ周りを気にしています。
一番いいのはループ内でオブジェクトは宣言しないことですよね・・・

軽くGCを調べたら「GCはマルチスレッドで動く」ってあったので期待したい。

808:デフォルトの名無しさん
07/07/20 12:14:44
>>807
変数宣言は、できるだけスコープを小さくした方がいい。
この場合なら、ループ内で変数宣言した方がいい。
変数のスコープが小さいときは、
最適化されて変数がレジスタのみ使用し、スタックメモリを消費しなくなる。
オブジェクトの生成はそういうわけにはいかず、
newの度にヒープを消費することになる。

809:デフォルトの名無しさん
07/07/20 12:47:38
いまどきはエスケープ解析されて、スタックに詰まれる。

810:デフォルトの名無しさん
07/07/20 13:46:12
メモり周りをシビアに使いたいなら Java じゃない方がいいんじゃないかなあ

811:デフォルトの名無しさん
07/07/20 14:10:46
でも管理は楽

812:デフォルトの名無しさん
07/07/20 15:19:29
レジスタにのっけるかどうかのアルゴリズムって5.0のままだっけ?6で変わらなかった?

813:デフォルトの名無しさん
07/07/20 15:20:37
>>812
レジスタにのっけるかどうかのアルゴリズム自体が 6.0 で追加されたんじゃなかったか?

814:デフォルトの名無しさん
07/07/20 16:08:12
JDBCリクエストをラップして、
DB の多重化を簡易的に行えるライブラリはありませんでしょうか。

例えば、アプリケーション層のノードが二つ(A,Bとします)
DBノードも二つ(X,Y とします)あるとすれば、

A,B ともラッパー経由で更新していれば X,Y に格納されており、
もし JDBC リクエストで X が落ちたら、Y のみに要求する、と言う形です。

この例であれば X への更新をプールして、X が復活したのを検出したら
流していってくれると最高ですが、この部分は X を復帰させる手続きと
して手動でやれということでも構いません。


815:814
07/07/20 16:15:52
C-JDBC, Sequoia あたりはそうなんですかね…
いまいち、一般的に使われているかどうかが分かりません。

816:デフォルトの名無しさん
07/07/20 16:43:41

フォントの実際の大きさを求めるにはどうすればいいのでしょうか。

 JFrameにJTextAreaを乗せてデータを表示していましたが、一部の文字の色を
変える為に、JTextAreaからJTextPaneへ変更しました。しかし、JTextPaneでは
JTextAreaのように行数と列数を指定できません。それはJTextPaneのフォント
サイズが可変な為だと思います。けれでも私のプログラムのフォントは等幅で
大きさは全て等しく、色が一意でないだけなので、一文字の実際の高さと幅が分
かれば列数、行数ともに算出可能なはずです。そうすれば
setPreferredSize(Dimension d)を使って出来上がりです。

 そこで調べてみたところ、FontMetricsクラスを使えば期待する動作が行えそう
です。FontMetricsは抽象クラスなので、Graphics.getFontMetrics(Font f)を使
ってインスタンスを生成しなければいけませんが、そのGraphicsクラスを使う方
法が分かりません。Canvs.paint(Graphics g)を使えばできますが、それだけの為
にCanvasクラスを使うのは違う気がしました。

817:デフォルトの名無しさん
07/07/20 17:12:03
>>816
使用するフォントを実際に指定できているわけだから
そのフォントを表すFontクラスのインスタンスは得ることができるよね?
そしたらあとはJComponent#getFontMetrics(Font)でFontMetricsのインスタンスを得ればいいじゃない

818:デフォルトの名無しさん
07/07/20 20:51:39
質問です。

OutputStream out = new OutputStream();
DataOutputStream dout = new DataOutputStream(out);
という風にDataOutputStreamを作って、

dout.close(); を行うと、
out.close()も勝手にやってくれるのでしょうか?

819:デフォルトの名無しさん
07/07/20 20:57:47
JavaDocを見なさいって。基本中の基本。
見るのはFilterOutputStreamの方だというヒントは教えとく。

820:デフォルトの名無しさん
07/07/20 20:59:40
>>818
> dout.close(); を行うと、
> out.close()も勝手にやってくれるのでしょうか?
一応やってくれるけど、
例外食らった場合は out.close() してない可能性もある。

821:デフォルトの名無しさん
07/07/20 21:10:51
javaってどんなところに使われてるの?

822:818
07/07/20 21:10:58
>>819
>>820
ありがとうございます。

823:デフォルトの名無しさん
07/07/20 21:13:54
>>821
国防

824:デフォルトの名無しさん
07/07/21 00:42:06
>>821
火星

825:デフォルトの名無しさん
07/07/21 01:01:23
参考書とりあえずやったんですけど、どうすればいいですか?
後はAPIっていうのを見ながらやるんですか?

826:デフォルトの名無しさん
07/07/21 01:04:09
>>126は具体的にどのように実装するのか教えていただけませんか。

827:デフォルトの名無しさん
07/07/21 01:43:16
>>825
何か作りたいから Java 勉強したんじゃないの?

828:デフォルトの名無しさん
07/07/21 03:09:46
>>825
やったのは単なる入門書で文法を学んだだけじゃないの?
参考書ってのは何かを作るときに参照するものだよ

特に作りたいものがないならばゲームでも作ってみるのがいいんじゃね
GUI関連は業務じゃ使う機会少ないけど、デザインパターンとか設計力を鍛えるには一番だとばっちゃんが言ってたよ


829:デフォルトの名無しさん
07/07/21 03:53:11
>>825
この辺りで宿題解いてみるのもいいと思うよ。
★★ Java の宿題ここで答えます Part 62 ★★
スレリンク(tech板:1-100番)

830:825
07/07/21 12:52:27
>>828
>>829
ありがとうございます。参考になりました。

831:788
07/07/21 14:44:46
>>795-796
レス遅くなりましたが、
これ使わせてもらいます。
ありがとう。


832:デフォルトの名無しさん
07/07/21 15:22:58
サーブレットを覚えたてです、家でも勉強しようと思って、tomcatをインストールしたのですが
どうしてもindexに繋がりません、過去に習ってた時の学校では自分でインストールできたのに
スタートさせてもアイコンはミドリの▲になるのに、右クリックをするとストップStopではなくStartが押せる状態になっています

Tomcatは5.5、Javaは1.5
OSは2000XPでも2000Proでもどちらも同じ現象でダメでした
XPのファイアーウォールを無効にしても無理でした
環境設定のPathは教室でインストールした時に、テキストファイルで貰っていたのをコピペしなおしても無理でした
これ以上どう足掻いていいのか分かりません

833:デフォルトの名無しさん
07/07/21 15:29:56
//A
class Hoge{
static void piyo(){}
public static void main(String[] arg){
piyo();
}

//B
class Hoge{
Hoge(){
piyo();
}
void piyo(){}
public static void main(String[] arg){
new Hoge();
}

Aのように書かずBのように書けば、piyoメソッドにstatic修飾子をつけなくてもよくなりますよね
こう書くことになにか問題はありますか?

834:デフォルトの名無しさん
07/07/21 15:57:32
>>833
修飾子についての理解が不十分
staticをつけたメソッドはインスタンス化しないでも使えるが、
Bのpiyoメソッドはインスタンス化しないと使えない。

835:デフォルトの名無しさん
07/07/21 17:36:23
>>832
Eclipse上?
今のTomcatなんてインストーラーに従ってインストールするだけだろ?

836:デフォルトの名無しさん
07/07/21 17:37:18
ちなみに環境変数のPathだのCLASS_PATHは下手にいじるなよ

837:デフォルトの名無しさん
07/07/21 18:05:10
>>834
うまく言えんけど、おそらく833は
「mainメソッドで呼ぶ」という理由だけでstatic修飾子をつけるのはおかしいのでは?
と考えた結果思いついたんじゃないか?
833への答えは持ってないけど、834の答えが的外れな気がしたんで口出し
834のであってたらすまん

838:デフォルトの名無しさん
07/07/21 18:20:47
>>833
たしかにAもBもpiyo()が実行されるという一点では同じなんだけど、
piyo()は本当にコンストラクタ内で処理すべき機能なのか考えるべき。
AとBではpiyo()やHogeクラスの意味合いが異なってくる。
piyo()が単にstaticメソッドから呼ばれるだけの下請け的存在ならAで十分だし、
Hogeをインスタンス化する必要がありかつpiyo()がインスタンス生成段階で必要な処理ならB。
class Hoge{
void piyo(){}
public static void main(String[] arg){
Hoge h = new Hoge();
h.piyo();
}
}
こう書くのが適切な場合だってある。
何を実現するためにどうクラス設計をするかを考えてpiyo()の立ち位置を決めておくれ。

839:デフォルトの名無しさん
07/07/21 18:24:31
優等生的回答

class Hoge{
public static void main(String[] arg){
Hoge hoge = new Hoge();
hoge.piyo();
}
void piyo(){}
}


840:デフォルトの名無しさん
07/07/21 18:42:46
newってのが何者かを勉強するといいと思う
単純にfor文とif文を駆使したプログラム入門ならば、全部staticでnewは配列作るときくらいしか使わないでOK
クラスとか勉強する段階でnewを覚えるべきだが

841:デフォルトの名無しさん
07/07/21 19:07:22
>>832
URLリンク(localhost:8080)

でだめだったのかい?

URLリンク(localhost:8080)

ではどうだい?


842:デフォルトの名無しさん
07/07/21 19:13:53
>>835
私もそう思ってたのでびっくりです
>>836
CLASSPATHを作ってservlet-api.jar;.の位置を入れました
↑は自分で打ったけど、パソコンに入れたのは成功した教室のPCからのコピペなんで間違いはないと思います
>>841
そこ自体がダメです
タスクのアイコンがスタート状態になってても、ストップできずスタートがあるということは、スタートできてないんだと思う



843:デフォルトの名無しさん
07/07/21 19:21:23
>>842
CLASS_PATHを消せ
次にコマンドプロンプトからjava -version を打ってversionを確認せよ
その上で再インストールして来い
スタートできないならばログも嫁

844:デフォルトの名無しさん
07/07/21 19:29:52
>>843
おかげで使えるようになりました
ありがとうございました

前に入れたバージョンが残っててそっちを設定してたっぽい
ゴメンナサイ
私は、恥かしい間抜けです


845:デフォルトの名無しさん
07/07/21 21:23:30
                            ,===,====、
                            _.||___|_____||_
..                        / /||___|^ l
..    答えろ ぶち殺すぞ!>  (・ω・`)//||   |口| ||ω・` )
.                   ./(^(^ .//||...||   |口| |⊂ )
.                    /   //  ||...||   |口| ||し      新スレです
. あ?てめぇどこ中だよ>(    )//....  ||...||   |口| ||        楽しく使ってね
               /(^(^ //  ....  .||...||   |口| ||        仲良く使ってね
       ""    :::'' |/   |/ '' "  :::  ⌒  :: ⌒⌒⌒ :: ""  `
       :: ,, ::::: ,, ; ̄ ̄ ̄  "、 :::: " ,,

846:デフォルトの名無しさん
07/07/21 22:10:34
サーブレット書いてるんだけど、

doGetとdoPostあるじゃん。
どちらか一方に処理全部書いて、もう一方にはdoPost()かdoGet書けば
いいだけなんだろうけど。
これでいいのか?

てゆうか、分けて書くことってあるの?

847:デフォルトの名無しさん
07/07/21 22:18:16
>これでいいのか?
いい。

>てゆうか、分けて書くことってあるの?
使い方による。

848:デフォルトの名無しさん
07/07/21 22:41:17
例えばリクエストにGetを許可しないケース

849:デフォルトの名無しさん
07/07/21 23:00:41
初心者です。javaのGUIアプリケーションってデザイン的によくないイメージがあるのですが、
見た目にこった実装ってできるのでしょうか?
例えば、ウィンドウを3D間隔で操作できるとか、swingコンポーネント等でも
デザインが柔軟に変更できるとか。OS依存でも構わないです。(できればWindows)
その他なんでもよいのですが、おもしろいデザインにするための技術情報など教えていただきたいです。



850:デフォルトの名無しさん
07/07/21 23:04:51
LookAndFeel(ようはスキン)を自作することはできる。
Swing synthでぐぐってみたら?

851:デフォルトの名無しさん
07/07/21 23:06:04
>>849
やろうと思えば3Dだろうとなんだろうと可能だが、簡単に出来るわけじゃない
単純に派手なUIが欲しいってのならば方向性は違うだろうね

Eclipseで使われているSWTなんかを使えば簡単にWindows風のUIも可能
Swingだって6.0で大幅にパフォーマンスも向上しているから捨てたもんじゃない
ただし、作るにはそれなりのセンスと時間が必要

852:デフォルトの名無しさん
07/07/21 23:26:17
>>850
htmlとcssみたいな関係なのでしょうか?調べてみますm(__)m

>>851
javaを勉強し始めてから早一年経ちましたが、人の作ったライブラリを呼び出すだけの人になってますorz
ちなみに最近netbeansを使ってGUIの作成ってやってみたのですが、VBチックで楽だなぁと思ったのですが
同じようなものなのかな? SWTなるもの調べてみますm(__)m


853:デフォルトの名無しさん
07/07/21 23:54:31
>>852
SwingなりSWTはツールを使わずに習得した方がいい
自然とOOPでの設計力が付くぞ

854:デフォルトの名無しさん
07/07/21 23:54:58
programming base .javaとか言うのを学校で使って
家でもちょっとやりたいと思ってるのですが、
家では開けず、あぁーなんかダウソしないといかんのかぁー。となっとります。
ほんとに初歩の初歩の質問で申し訳ないのですがどなたか教えて頂けるとありがたいです。
えー、ちなみに void on Idle とか使ってた奴です。(何だこの説明。。。

855:デフォルトの名無しさん
07/07/21 23:57:39
JRE Version 6 Update 2 のインストーラーで質問。
URLリンク(www.java.com)
↑ここから辿ってダウンロードできる jre-6u2-windows-i586-p-s.exe と
URLリンク(java.sun.com)
↑ここの「Java Runtime Environment (JRE) 6u2」のダウンロードから辿って
ダウンロードできる jre-6u2-windows-i586-p.exe の違いが分かる人いますか?
両方ダウンロードするとどちらも 14,566,808 バイトだけど、バイナリ比較すると一致しない…

856:デフォルトの名無しさん
07/07/22 00:15:19
>>853
ですね。。正直今の段階だと自動生成されたソースが何をやっているのか分からない状態です。
GUI開発が熟練してからツール使うことにします^^;


857:デフォルトの名無しさん
07/07/22 01:12:13
>>854が釣りかエスパーか判断できないので誰か支援頼むw

>>856
まあ、netbeansの吐くコードは汚いね。

いまさらSWT使う利点なんてないよ。
5.0/6のVMは早いし、SwingのSystemLnFもネイティブコードの呼び出し増えて見栄えもかなり近いし。
普通に使う分にはVMのメモリを多めに取ればSwingもSWTもたいして速度変わらん。
それに今時Swingで十分な速度でない環境だとjavaそのものが遅いし。
ここら辺のおかげでnetbeansがかなり使えるようになった。

SWTはjava風じゃないところがあるからまずはjavaを覚えた方が良い。

858:デフォルトの名無しさん
07/07/22 01:49:52
これを応えられるほどの凄腕エスパーは世界に3人といないだろう

859:デフォルトの名無しさん
07/07/22 02:55:56
SWTって自分でメッセージループ回してるところがWindouzuっぽくて嫌だ

860:デフォルトの名無しさん
07/07/22 09:19:55
ちゃんと授業を聞いている学校のクラスメートだったら分かるんだろうな

861:816
07/07/22 14:51:24
>>817
おお、うまくいきました。
Graphicsクラスからしか取得できないと思っていました。
ありがとうございました。

862:デフォルトの名無しさん
07/07/22 15:01:53

JFlexとJacでちょっとしたもの作ろうとおもってるんだけど、
ビルドをeclipse上で自動化したい場合ってどうすればいいの?

863:デフォルトの名無しさん
07/07/22 15:03:05
×jac
○jay

864:862
07/07/22 17:47:46
申し訳ございません。
eclipseのスレがありましたのであちらで質問します。
ありがとうございました。

865:デフォルトの名無しさん
07/07/22 20:10:02
英語と日本語が混ざった長文をテキストエリアなどに表示される場合、
正確に一画面文の文字数をカウントすることをご教授願います。
フォントサイズから一画面の文字数を数える場合、
英文が入るを正確にカウントできません


866:デフォルトの名無しさん
07/07/22 20:14:06
できるよ。
文字数を読むメソッドがある


867:デフォルトの名無しさん
07/07/23 02:05:51
>>846
通常、POSTとGETは使い分けるよ。使う目的も違うし、HTTPにおけるパラメータの
送信方法も異なってくる。また、Tomcatの場合はHttpServletRequestのsetCharacterEncodingは
GETパラメータには利かない。(※いくつかの設定は存在する)

Servletを学習するなら、同時にHTTPについて学習するのはすごく有意義だし、Web上に色々参考に
なる記事が沢山落ちてるから、まずはPOSTとGETは具体的に何が違うのかを学習すると良いと思うよ。

868:デフォルトの名無しさん
07/07/23 09:13:08
ちょっとでも、お役に立てれば。

URLリンク(www.yukinko-net.jp)

869:デフォルトの名無しさん
07/07/23 12:23:50
Rhinoの質問いいですか。
Rhinoでコマンドライン用のスクリプトを書こうとしているのですが、
コマンドライン引数の取り方が分かりません。
RubyでいうところのARGVです。
Rhino argv で検索しても C のソースしか引っかからないし。
どなたかお願いします。

870:デフォルトの名無しさん
07/07/23 12:32:59
args

871:デフォルトの名無しさん
07/07/23 12:57:16
>>869
RhinoはJavaによるJavascriptの実装だから、実装内容に関わるような話ならこのスレかもしれないが、
単なるスクリプトプログラミングについてここで聞くのはスレ違い。
ある言語について質問する時に、その言語の処理系が何で実装されているかに関わらず、
普通はその言語のスレで質問するだろ?

872:デフォルトの名無しさん
07/07/23 12:57:53
>>870
argsは定義されていないようです。

print(args); //=> ReferenceError: "args" is not defined.

Rhinoは1.6R5です。

873:デフォルトの名無しさん
07/07/23 13:01:36
>>871
JavaScript一般の話ではなく、あくまでRhino固有の話なので、JavaScript関連のスレではなくここで質問しました。
Rhino専用のスレはないし、RhinoはJava6から標準装備ですし、ここが一番適切ではないでしょうか。

874:デフォルトの名無しさん
07/07/23 13:39:30
>>871
JavaScriptのスレでこんなもんわかるやついるわけないだろ。Javaスレ行けっていわれるのがオチ。

875:デフォルトの名無しさん
07/07/23 13:53:57
>>874
じゃあお前が答えてやれよ
俺はRhinoは嫌いだ

>>869
arguments

876:デフォルトの名無しさん
07/07/23 14:07:55
>>869
jrunscript で実行してるなら arguments で取れるはず。

そうでない場合は、自前でScriptEngineにセットしないとダメなんじゃね?
scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE).put("arguments", args);

877:デフォルトの名無しさん
07/07/23 14:26:41
>>875,876
argumentsでとってこれました。ありがとうございました。
ちなみにこういった情報はどこで見つけるものなんでしょうか。

878:デフォルトの名無しさん
07/07/23 14:30:03
>>877
URLリンク(java.sun.com)

879:デフォルトの名無しさん
07/07/23 15:59:42
>>874
呼んだ?
おまえら少しはEcma Scriptスレに顔出して上げてください。
ネタがないんで普段は実装と仕様の差異の話で盛り上がっとりますよ。

SpiderMonkyが人気ないからRhinoで持ちきりなんだが・・・。
java6のRhino劣化品。いらない子。

>>878
それmozillaのdocの劣化コピペだからmozillaの開発者向けサイトかRhinoのdocに全部書いてある。


880:デフォルトの名無しさん
07/07/23 16:28:58
>>879
一応別のツールだから劣化コピペとは言い切れないんじゃね?

Rhino のツールでは -l でスクリプト言語指定したりできないっしょ。

881:デフォルトの名無しさん
07/07/23 18:51:12
いやjdk6に入ってるjs.jarはスループット優先でRhinoの機能かなりとっぱらってサイズ減らしてるんだよ。
さらにコンパイラ省かれてるから一切最適化されてない純粋なインタープリタで動いてる。

Rhinoのドキュメントに組み込みガイドがあって
そこにスループット優先でビルドする手順が書かれてるんだけどそれと同じ事してる。+JavaAdaptorが劣化。

jrunscriptはそのRhinoのScripting APIに従った純粋なラッパー。

Rhinoの殆どの実装クラスがjavax.script.*じゃなくてcom.sun.*にあるから自分でJSオブジェクト実装とかクラスシャッターでセキュリティ制限とかできない問題もある。
ecmaスレで詳しい話題が出てるよ。

882:デフォルトの名無しさん
07/07/23 20:26:28
>>881
javax.script は Rhino とは別物だよ。
で、jrunscript と org.mozilla.javascript.tools.shell も別物。
だから jrunscript の、より詳しいドキュメントとして mozilla のドキュメント読めというのはダメ。

883:デフォルトの名無しさん
07/07/23 23:29:23
>>869はjrunscriptとはいってないだろ。
Rhino1.6R5と言っただけ。Rhinoがjavaの実装で6から標準装備だからこっち来たと。

>>876が勝手にjrunscriptと言い出しただけだろ。だからecmaスレ行けって。

884:デフォルトの名無しさん
07/07/23 23:37:36
>>883
俺は >>879 にレスつけただけなんだが。なんで >>869 の話が出てくるんだ?

885:デフォルトの名無しさん
07/07/24 01:27:16
Rhinoってなに?


886:デフォルトの名無しさん
07/07/24 01:39:57
どっかの誰かさんが作ったjavaのライブラリ

887:デフォルトの名無しさん
07/07/24 02:51:47
>>884おまえ上の流れくらい読めよ。馬鹿だろ?

888:デフォルトの名無しさん
07/07/24 02:53:20
jdbcのドライバのロードを static { } 内に記述して一度だけ実行するようにしたいんだけど、
これって可能なんでしょうか。コードは以下のような感じ。

class Hoge {

static {
try {
Class.forName("org.postgresql.Driver");


889:デフォルトの名無しさん
07/07/24 03:00:58
誤爆

class Hoge {
  static {
    try {
      Class.forName("org.postgresql.Driver");
    } catch (ClassNotFoundException e) {
      throw new InternalError(e.getMessage());
  }

  public static Connection open() {
    Connection conn = DriverManager.getConnection("foo", "bar", "baz);
    return conn;
  }

  // 以下略
}

コンパイルエラーは以下。
[javac] シンボル: 変数 DriverManager
[javac] 場所 : Hoge の クラス
[javac] Connection conn = DriverManager.getConnection("foo", "bar", "baz");
[javac] ^
[javac] エラー 1 個


890:デフォルトの名無しさん
07/07/24 03:06:50
静的初期化子の中のcatch節の終了の}が無い

891:デフォルトの名無しさん
07/07/24 03:07:07
>>889のソースコード、改めてみるとなかなかひどい抜けがあるけど勘弁してくれ。

クラスパスが通ってないのかなと思って servlet-api.jar にも classpath を通してみて
HttpServlet を継承しただけのコードを書いてみたけど、こちらは問題なかった。
ビルドに用いている ant の build.xml のクラスパスの部分は以下。lib/ 内には
postgresql.jar が配置されている。

<target name="compile">
<mkdir dir="${bin.dir}" />
<javac srcdir="${src.dir}" destdir="${bin.dir}">
<classpath>
<!-- <fileset dir="lib">
<include name="*.jar" />
</fileset>-->
<pathelement location="lib/postgresql.jar" />
<pathelement location="/usr/share/tomcat5.5/common/lib/servlet-api.jar" />
</classpath>
</javac>
</target>



892:デフォルトの名無しさん
07/07/24 03:13:33
>>890
取り急ぎ書いたんで抜けた。すまん。他にも "baz" の終わりの " が抜けたりしてる。
手元のコードはちゃんとしてるから大丈夫。

893:デフォルトの名無しさん
07/07/24 03:17:47
そして>>889にはったエラーメッセージに肝心のエラーメッセージがはってないな。
DriverManagerに対して

「シンボルを見つけられません。」

というメッセージです。

894:888
07/07/24 03:20:11
解決しますた。

DriverManagerってずっと postgresql.jar の中にあるクラスと思ってたら java.sql.DriverManager
だったのな。。。

895:デフォルトの名無しさん
07/07/24 03:21:33
>>892
import java.sql.DriverManager;してる?

896:デフォルトの名無しさん
07/07/24 03:23:38
遅かったorz 解決して何より
まあシンボルが見つからないエラーは完全名を指定できていないミスが多いからね

897:デフォルトの名無しさん
07/07/24 03:23:59
まさに今同じミスをやらかして修正に追われていた。
Eclipseの補完機能に頼りすぎておんなじ名前のメソッド入った
パッケージがこんがらがるとこういうことになる。

898:デフォルトの名無しさん
07/07/24 04:14:49
設計時に使うパッケージは大方分かってるからワイルドカードでインポートして
クラス名が被るのは限定名でアクセスしてあとから「インポートの編集」すると混乱が減るよ。

899:デフォルトの名無しさん
07/07/24 06:42:38
インポートのワイルドカード嫌う人おおいみたいだけどなんで?
コンパイル遅くなるから?
実行時にも遅くなる?
import *;
ができないからどっちもどっち?


900:デフォルトの名無しさん
07/07/24 07:30:15
importの意味を知っていれば実行時に遅くなるなんて台詞は出てこないはずだぞ。

901:デフォルトの名無しさん
07/07/24 07:44:01
>>899
importは「このクラスはこいつらに依存してますぜ」というある意味クラスの設計情報みたい
なもの。仕様変更やデバッグするときに鬼のようにimport hoge.*;とか書かれまくっていきな
りプログラム中でクラスが使用されているとどのクラス追いかけたらいいのかわからなくなる。
でっかいシステムなら尚のこと。
俺の場合作る手間より直す手間を減らすため、かなぁ。

902:デフォルトの名無しさん
07/07/24 10:00:23
importなんて久しく意識してないな。eclipseが勝手に完全名書いてくれるからねえ

903:デフォルトの名無しさん
07/07/24 10:03:03
import hoge.* でもIDEのサポートでどのパッケージはわかるから別に困らんし、
使うオブジェクト全部をimportで指定するのは面度だが、
これもIDEのサポートでさほど手間でもない。
どっちでもいい気がするが、プロジェクトのやり方に合わせるのが基地。

904:デフォルトの名無しさん
07/07/24 10:16:44
入門向け書籍でサンプルコードを1行でも削るために使用されてるだけじゃね?>import の *


905:デフォルトの名無しさん
07/07/24 10:31:57
importで*を使うと実行速度が低下するって聞いたんだけど本当?

906:デフォルトの名無しさん
07/07/24 10:37:36
>>905
>>900

907:デフォルトの名無しさん
07/07/24 10:51:50
遅くならないの?

908:デフォルトの名無しさん
07/07/24 10:54:42
コンパイル時に解決されるのに、実行時に影響があるわけが

909:デフォルトの名無しさん
07/07/24 11:04:52
あーそうだね
やっとわかった
ごめんね

910:デフォルトの名無しさん
07/07/24 16:56:27
けど無駄なリンクが発生するから要らないリンク時間がかからない?javaって動的リンクだし。
まあ、無駄なアクセスがあればの話だけど。

911:デフォルトの名無しさん
07/07/24 17:00:45
全然分かってないじゃないか

912:デフォルトの名無しさん
07/07/24 17:02:19
importじゃなくabbreviateとかそんな予約語だったほうが良かったのかな

913:デフォルトの名無しさん
07/07/24 18:12:23
>>910
hoge.Hegeクラスを参照しているソースファイル中で、
import hoge.*;
とやった場合と、
import hoge.Hege;
とやった場合でコンパイル後のclassファイル中のHegeクラスの名前の指定の相違点を確認。

914:デフォルトの名無しさん
07/07/24 19:33:39
import a.*;
import b.*;

とかなってるときに、
パッケージ b 内にしかなかったクラスの名前と同じクラスをパッケージ a に追加すると、
追加したところとは異なるところからコンパイルエラーが発生してびびる
もっとも、たまたまシグネチャが合ってエラーが発生しなかったらと思うともっと心配かも

915:デフォルトの名無しさん
07/07/24 19:38:57
無駄なリンクが発生するので、たぶん
要らないリンクに時間が掛かります(コンパイルに)

916:デフォルトの名無しさん
07/07/24 19:56:13
クラスサイズが大きくなるってのは?

917:デフォルトの名無しさん
07/07/24 20:11:12
ならないよ
コンパイラの名前解決時に影響するだけ
コンパイル後はまったく一緒、クラスファイルにはフルネームで格納される

918:デフォルトの名無しさん
07/07/24 20:15:09
>>915-916
無駄なリンクなんて発生しねえしサイズも大きくならねえよ
importは単にこのクラスもしくはパッケージからクラス定義を拾ってこいっていうコンパイラへの指令
コンパイラの実装次第でワイルドカードを使った時のクラス検索の効率に差が出るかもしれんが

919:デフォルトの名無しさん
07/07/24 23:06:32
import * ワロタ
どこの都市伝説だよw

920:デフォルトの名無しさん
07/07/24 23:43:08
import *;

永遠に compile oh what a night in jamaica!

921:デフォルトの名無しさん
07/07/24 23:43:17
すべてのパッケージからクラスを探し出すのか

922:デフォルトの名無しさん
07/07/25 00:11:46
結局クラスパス上になければコンパイルエラーだし
クラスパス上にあるなら import *; でも探すことはできるはず。
importってコンパイルを手助けしてあげるためにあるのか?
>>901の意味合いももちろんわかるけど。

923:デフォルトの名無しさん
07/07/25 00:15:11
Javaのバージョンを変えてリコンパイルし直すと、ソースいじってないのにファイルサイズ増えるよね。
これってバージョンがあがってリンク先が増えたからだと思ってた。
富○通正社員の俺
協力会社の新人に笑われたorz


924:デフォルトの名無しさん
07/07/25 00:18:12
大丈夫落ち込むほどYOUの会社の評価は高くない。

925:デフォルトの名無しさん
07/07/25 03:05:55
そしてなにより板の空気をよめない
923は最悪


926:デフォルトの名無しさん
07/07/25 03:39:37
いろんな苦労の末に入ったばっかりなんじゃないかなー

927:デフォルトの名無しさん
07/07/25 08:37:36
Rhinoって何て読む?
アール日野?

928:デフォルトの名無しさん
07/07/25 08:39:34
サイさんは英語でなんと言うのでしょう赤坂?

929:デフォルトの名無しさん
07/07/25 09:27:12
>>923
落ち目だからな・・・。

930:デフォルトの名無しさん
07/07/25 12:52:40
J2EEとJavaは何が違うんですか?

931:デフォルトの名無しさん
07/07/25 12:56:24
>>930
それは関西と大阪は何が違うかという質問に近い。

932:デフォルトの名無しさん
07/07/25 13:03:05
>>931いやいやいやw

関西と関西弁の違い、と思う

933:デフォルトの名無しさん
07/07/25 13:25:59
日本人と関西人の違いだろ
企業と企業広報の違いでも有るかな

934:デフォルトの名無しさん
07/07/25 20:57:24
Javaで動画や音声のストリーミングって出来ますか?
動画はともかく、ねとらじとかをJavaから利用できないかな?

935:デフォルトの名無しさん
07/07/25 21:05:11
やろうと思えばできる、やるかどうかは別だが

936:デフォルトの名無しさん
07/07/25 21:06:21
>>930
ファミコンとディスクシステムのような関係

937:デフォルトの名無しさん
07/07/25 21:36:59
>>934
さがせばストリーミングライブラリがいくらでもある。

J2EEの名称はもう使われてないな。

938:デフォルトの名無しさん
07/07/26 00:41:29
JAVAアプレットのプログラムを作ってるんですが
Mainのプログラムから描画の処理のところだけ切り出して
別のクラスにかきだしたいのですがいくらやってもうまくいきません
どうすればいいですか?
どなたか教えて下さい


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

5055日前に更新/271 KB
担当:undef