トップページ⇒tech
1001コメント364KB

【初心者】Java質問・相談スレ�F【大歓迎】

■ このスレッドは過去ログ倉庫に格納されています
0001秩父りおNGNG
JAVA初心者の方はこちらのスレで質問をしましょう。そして誰か教えてあげてください。

なお、ソースを貼るときには、半角空白が消える仕様のため、タブ1つを全角空白2つに
置換してから投稿しましょう。わからないときはどこがどうわからないのか?、動かな
いときはどこがどう動かないのか?なぜそう判断したのか、エラーメッセージや結果な
どと一緒にお書き下さい。雑誌や宿題などの疑問を質問するときは出展を明記したほう
が解決が早いです。

関連情報は >>2-10 あたりにあります。 (一部 dat落ちやHTML化待ち)


JavaScriptの質問はWeb製作板へどうぞ。
web制作管理
http://pc.2ch.net/hp/

パソコンの基本操作に関しては、PC初心者板や、各OS板などで質問しましょう。
パソコン初心者@2ch掲示板
http://pc.2ch.net/pcqa/

上級者の方で教える技術が無い方は下記スレでダベりましょう。
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/


基本的にsage進行でおねがいします。また煽り厨は放置でお願いします。
http://pc.2ch.net/tech/kako/1026/10266/1026601774.html
0232228NGNG
変な人に当たっちゃったなあ・・
もういいです。さようならー
0233デフォルトの名無しさんNGNG
開発しるならJDKを落としる!
0234デフォルトの名無しさんNGNG
謙虚さのかけらもないバカはさっさと死ねよ>>232
0235デフォルトの名無しさんNGNG
荒れてるなぁ…
0236デフォルトの名無しさんNGNG
>>229はへんなひとで、>>228は無知なひとだけど
>>231はへんなひとではないとおもう
言葉づかいは乱雑ですけれど

乱雑な言葉づかいがいやならば、2ちゃんねるなどで質問をされるより
Java Houseというメーリングリストがあるのでそちらをご利用なさっては
いかがでしょうか

>>228
SDKはJREをも含んでいるので、SDKをインストールすれば
JREをインストールする必要ありません。

あと>>232のような人が読んで不快になるような言動は
質問をするときはつつしまれたほうが
貴方自身にとって有意義な回答が得られるかとおもいますよ
0237デフォルトの名無しさんNGNG
>>236
お人好し、死ぬべきだ。
0238デフォルトの名無しさんNGNG
>>237
タイトル読めるか?
0239デフォルトの名無しさんNGNG
>>237
>>236はお人好しに見えるが
じつはJavaHouseの荒廃を企む悪人かもしれないと
好意的に解釈してみるテスト。
0240デフォルトの名無しさんNGNG
>>238
初心者と素人とバカはちがうだろう。
0241デフォルトの名無しさんNGNG
「大歓迎」ってのはからかって遊ぶためでしょ?
0242デフォルトの名無しさんNGNG
じゃ俺も>>237はひろみちゅたんであると仮定してみるテスト
0243デフォルトの名無しさんNGNG
だいあもんどかきたいんだけどどこがちがうかわかりません。
おしえてください。

import java.applet.Applet;
import java.awt.Graphics;
import java.lang.Math;

public class rei extends Applet {
public void paint(Graphics g) {
int k,j,x1,y1,x2,y2,r=100;
double rd=3.14159/180;
for (k=0; k<=14; k++) {
x1=(int)(r*Math.cos(k*22.5*rd)+100);
y1=(int)(r*Math.sin(k*22.5*rd)+100);
for(j=k+1; j<=15; j++) {
x2=(int)(r*Math.cos(k*22.5*rd)+100);
y2=(int)(r*Math.sin(k*22.5*rd)+100);
g.drawLine(x1,y1,x2,y2);
}}}}
0244デフォルトの名無しさんNGNG
228が言ってる「1.41の深刻なバグ」とは何なんでしょうか?
JavaHouseにもそんなの上ってなかったんですが、どこかで報告されてるの?
0245デフォルトの名無しさんNGNG
一部のビデオカードでOSを巻き込んで落ちるとか。
0246244NGNG
>>245
ありがと。Swing使わなければ大丈夫ですね。
0247デフォルトの名無しさんNGNG
>>243 体が1秒以上、ソースを見ることを拒否いたしました。
0248デフォルトの名無しさんNGNG
JAVAアプレットで後からGUIコンポーネントのボタンを追加したのですが
なぜかボタンをつけた後、キー入力がきかなくなってしまいました。

どうやらボタンがキーイベントを勝手に奪っているようなのですが
ボタンとキー入力を両立させたい場合、どんな処理をしたらいいでしょうか?
0249デフォルトの名無しさんNGNG
んなわけない
0250248NGNG
簡易バージョンを作って試してみてもダメでした。

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class Key_Button extends Applet implements KeyListener{
String keyname;//表示用の「keyname」変数
Button rstbt = new Button("リセット");//ボタン用意
Bset freset = new Bset();
public void init()
{
addKeyListener(this);// キー入力にアプレット自身が対応
requestFocus();//フォーカスもらっとけ
keyname = "";//keynameの中身を空にしておく
add(rstbt);//ボタンを画面にセット
}

public void paint(Graphics g)//描画関数呼び出し
{
g.drawString(keyname+"が押されたよ",50,25);//何が押されたか表示
}

public void keyTyped(KeyEvent e){}
0251248NGNG

public void keyPressed(KeyEvent e)//キーが押された時の処理
{
switch(e.getKeyCode())
{
case KeyEvent.VK_UP:keyname = "上";break;//breakは下まで抜ける命令
case KeyEvent.VK_DOWN:keyname = "下";break;
case KeyEvent.VK_RIGHT:keyname = "右";break;
case KeyEvent.VK_LEFT:keyname = "左";break;
default:keyname = "違";//それ以外のキー
}
repaint();
}

public void keyReleased(KeyEvent e){} // 離されたときは何もしない

class Bset implements ActionListener{
public void actionPerformed(ActionEvent e){
if (e.getSource() == rstbt) keyname = "消";
repaint();
}
}
}
0252248NGNG
あ、今とっさに気がついて
アクションイベントをeからaにしてみましたけどダメでした。

class Bset implements ActionListener{
public void actionPerformed(ActionEvent a){
if (a.getSource() == rstbt) keyname = "消";
repaint();
}
}
0253248NGNG
さらに修正(汗)まことにスマンカッタ
public void init()
{
addKeyListener(this);// キー入力にアプレット自身が対応
requestFocus();//フォーカスもらっとけ
keyname = "";//keynameの中身を空にしておく
add(rstbt);//ボタンを画面にセット
rstbt.addActionListener(freset);//●この行入れ忘れ
}

これでボタンはきくようになったけど、やっぱりキーは反応しませんでした
0254デフォルトの名無しさんNGNG
そのやりかたでは無理だす
0255デフォルトの名無しさんNGNG
4 階調と16 階調で量子化する際には,X0<X1<X2<X3<X4,
Y0,Y1,Y2,Y3 をどうしたらいいのですか?教えてください。お願いします。
0256デフォルトの名無しさんNGNG
  ∧ ∧     ┌────────
  ( ´ー`)   < シラネーヨ
   \  (    └───/|────
    \ \_____/./
      \       /
        ∪∪ ̄∪∪
0257デフォルトの名無しさんNGNG
>>256
ならレスすんな低脳
0258JPS ◆M0LaMzf5rY NGNG
JBuilderをダウソしたんですが、JavaSDKのV1.3ってJAVA2なんですか?
Java1と2って意識する必要あるんでつか?
0259デフォルトの名無しさんNGNG
yes
実装が違います
0260デフォルトの名無しさんNGNG
  ∧ ∧    ┌────────
  ( ´ー`)   < シラネーヨ
   \  (    └───/|────
    \ \_____/./
      \       /
        ∪∪ ̄∪∪
0261デフォルトの名無しさんNGNG
ここは重複スレなんで、
質問は↓へお願いします。

【初心者】Java質問・相談スレ12【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1037407642/
0262JPS ◆M0LaMzf5rY NGNG
みんなはJava2やってるの?
実装違うんだったら、両方覚えないとだめなんでつか?
0263デフォルトの名無しさんNGNG
  ∧ ∧    ┌────────
  ( ´ー`)   < シラネーヨ
   \  (    └───/|────
    \ \_____/./
      \       /
        ∪∪ ̄∪∪
0264デフォルトの名無しさんNGNG
シラネーヨって、ずいぶん懐かしいな。
0265デフォルトの名無しさんNGNG
>>262
Java2でいいよ
0266デフォルトの名無しさんNGNG
>>262
jdk1.1 レベルに対応したもの(MSJVM用Appletとか)を
作りたいとかでなければ Java2 だけでいーんじゃないかなぁ。
0267デフォルトの名無しさんNGNG
javacでコンパイルできません。
「コマンド名かファイル名が間違っている」と言われますが、
確認しても間違っていない場合、どのような原因が考えられますか?
0268デフォルトの名無しさんNGNG
パスが通ってない
0269祐樹NGNG
JTreeについての質問です!!各ノードのアイコンを意識的に変えたいのですが
よくわかりません。一応DefaultTreeCellRendererで開いている枝と閉じている枝
、葉の区別はできるのですが、自分の指定したものを別で変えたいと思っています。
恐れ入りますが、ご存知の方ご教授お願いします!
0270デフォルトの名無しさんNGNG
>>269
http://java.sun.com/j2se/1.3/ja/docs/ja/api/javax/swing/JTree.html

JTree を使用して複合ノード (たとえば、グラフィックアイコンおよびテキストの両方を持つ
ノード) を表示するには、TreeCellRenderer をサブクラス化し、
setCellRenderer(javax.swing.tree.TreeCellRenderer) を使用してツリーにそれを使用する
ことを指示します。複合ノードを編集するには、TreeCellEditor をサブクラス化し、
setCellEditor(javax.swing.tree.TreeCellEditor) を使用します。


こうだろうと思ったらもろに説明がありました。
DefaultがあるならCustomも当然できるはずなわけで。
0271祐樹NGNG
ありがとうございます。
早速、試したいと思います。
0272デフォルトの名無しさんNGNG
Stringの内容を、先頭から一文字ずつasciiコードに変換してint[]に詰めたいのですが、
ascii、ord系のメソッドはないものでしょうか。
0273デフォルトの名無しさんNGNG
>>272
asciiコード:7bit
int:32bit

割と不思議。

String#getBytes()じゃ君は満足しないだろうしなぁ。
0274デフォルトの名無しさんNGNG
>>272
UTF-16からASCIIへ変換するって、どう変換が必要なのか
小一時間....

もしStringに\u0080以上が含まれていないなら、
array[i] = str.charAt(i);
0275272NGNG
すいません!豪快にボケかましました!・゚・(ノД`)・゚・。

半角の文字列のASCIIを取り出したいっていう意味だったんでつ・・・。
(任意の文字列をTCPPacketで射出するモノを書いてました)
charAtでマンマ出てきますね。ショボーン
0276デフォルトの名無しさんNGNG
javaでゲーム作りたいんだけどアプレットのgraphicsオブジェクト(だっけ?)
はめちゃ重。MFCのGDIくらい重くて画面ジャンジャン書き換えるのは無理でした。
そこでDirectXみたいに高速描画できるクラスとかのセットを教えてください
0277デフォルトの名無しさんNGNG
JDBCについて質問

MySQLと通信するためには、最初に
Class.forName("org.gjt.mm.mysql.Driver");
とクラスをロードしますが、なぜ import してはだめなのでしょうか。

importしてgetConnectionしてみたら例外吐いて死んでしまいましたが
なぜそうなるのか理由がいまひとつよくわかりません。
0278デフォルトの名無しさんNGNG
>>277
システムへの JDBC ドライバの登録は、そのドライバ自身のクラスがロード
されたときに行われる。クラスのロードは import しただけでは行われない。
new などでクラスを直接参照する、forName() で参照するなどが行われて
初めてロードされる (この JDBC ドライバのやり方はハゲしく糞だと思うが)。
0279デフォルトの名無しさんNGNG
>>278
(゚∀゚)サンクスコ
そういうわけだったのね。大人の事情なのかな
0280276NGNG
だれか〜
よろ
0281デフォルトの名無しさんNGNG
>>276
SWT使ってろ。
いっとくがAWTとは使い方違うからな。
0282デフォルトの名無しさんNGNG
>>276
良く知らんけど OpenGL ほとんど直叩きできるような API セットがあったよ。
アルカイダとか何とかいう 3D ゲームで使ってた。
0283デフォルトの名無しさんNGNG
Arkanae だった

http://arkanae.tuxfamily.org/en/
0284デフォルトの名無しさんNGNG
>>278
別にクソだとは思わないが。
遅延ローディングのこと考慮してるか?
0285デフォルトの名無しさんNGNG
>>284
ところでDriverManagerなんだけど

setLoginTimeout
データベースに接続しようとしているときに、ドライバが待つことのできる最長の時間を秒数で設定します。

getLoginTimeout
データベースにログインしているときに、ドライバが待つことのできる最長の時間を秒数で取得します。

ログイン中のタイムアウト時間とログイントライ時のタイムアウト時間
いったいどっちなんだYO
0286デフォルトの名無しさんNGNG
>>284 素人の素朴な疑問なんだけど
なんで例外で落ちるの?
getConnectionする瞬間にJDBCクラス確定してロードしても
いいんじゃないの?
0287デフォルトの名無しさんNGNG
何がインポートされたかわからない ってことか
0288デフォルトの名無しさんNGNG
JAVAメールで以下の文章を送信すると

山�アです。
18〜24の恋人募集中
     ↓
山燭任后
18殖横瓦領・擁臀乎

こうなってしまいます。
どうしたら良いですか??

"〜"については
Cp943Cで読み込むことでなんとかなりました。
0289デフォルトの名無しさんNGNG
ユニコードってやつかいな?
0290デフォルトの名無しさんNGNG
あーもう
日付が9時間ずれるのなんとかならんかな
同じコードなのにWindowsだと0時で
Linuxだと9時ってなんだよ!
ロケールがどっちにどう間違ってるんだろう・・・
混乱してきたね
0291デフォルトの名無しさんNGNG
JDIまたはJPDAについて分かりやすい解説のあるHPを教えてください。
検索エンジンでは、なかなかないです。
0292デフォルトの名無しさんNGNG
>>290
System.out.println(new GregorianCalendar());
であたりを付け、

Calendar.setTimeZone(TimeZone value)
で設定してはどう?
0293デフォルトの名無しさんNGNG
>>276
VolatileImage関係を使えばどうか
0294290NGNG
>>292
調べた結果、Linuxマシンは
GMT時刻にニホンの時間を設定してました
0295デフォルトの名無しさんNGNG
>>284
考慮してるよ。まぁいわゆるエセファクトリ形式になっているのはありがたいのだが…

・でもなぜソレが Class#forName() なわけ?
・DriverManager.loadDriver(String beanName) とかにしなかった理由は?
・Driver サブクラスが static イニシャライザの中で自身を登録するのが美しいか?
・JDBC が出た頃は既に Java Beans 構想は完成してたろ?

というわけ。JDBC 1.0 の頃の API リファレンス見ると設計者自体から香ばしい
香りがプンプンだったし。
0296288NGNG
>>289
JISじゃなくてユニコードで送れってことですか??
msg.setContent(message,"text/plain; charset=\"UTF-7\"");
としたらUnsupportedEncodingException出ちゃった。あんぽ・・・・。
0297デフォルトの名無しさんNGNG
>>296
>UTF-7
WIndowsNT暗いじゃないの?
0298288NGNG
>>297
そうなんですか?対応していないメーラーがあるとかなんとか。。。
Shift_JISだと化けないで送れるんだけどなぁ・・・。
0299デフォルトの名無しさんNGNG
質問です
〜ソース〜
double hoge[][];
int tekitou,tekitou2;
for(int i=0;i<3;i++){
hoge =new double[tekitou][tekitou2];
↑ここでhoge[i]みたいな、繰り返すたびに別にnewで作りたいんですが
どうすればいいんでしょうか?
}

hoge[i] =new double[tekitou][tekitou2]
みたいな書き方をしてみると一応コンパイルは通るのですが実行でエラーでした
こういう場合の対応として何かいい方法とかありませんでしょうか?
よろしくお願いします
0300デフォルトの名無しさんNGNG
>>299
>hoge[i] =new double[tekitou][tekitou2]

次数おかしくないか?
0301デフォルトの名無しさんNGNG
いままで普通に[]を多様してたんですが、
要素数が不定の配列を扱う場合、ArrayList等を使った方が・・・いや、使うべきなんでしょうか。

perlみたいに大きさが可変な配列があったら嬉しいんですが、ほんの小〜さなものを扱うのにも
importしてnew ArrayListしないといけないのがチョットとか思いまして。
0302デフォルトの名無しさんNGNG
>>301
書き方が悪かったです
たとえばfor文の
i=0のとき
hoge0 =new hoge[tekitou][tekitou2]
i=1のとき
hoge1 =new hoge[tekitou][tekitou2]
みたいに、まわすたび別の配列を作りたいってことです
わかりづらくてすみません
0303302NGNG
>>302
すみません
レス相手間違えました>>300さんです
0304JB7チュートリアルNGNG
はじめまして、つい先日JBuilder7 personalを落とし、
JAVAの世界に飛び込んだばかりの初心者です。
早速ですがヘルプのチュートリアルにある「FirstApplet」で質問です。

C:\JBuilder7\samples\Tutorials\FirstApplet\classes

↑ここにある「GoodEveningApplet.html」をIE+MicrosoftVMという環境で
IEの「開く」からHTMLページを開いて実行すると灰色のまま何も表示されま
せん。 しかしエクスプローラからHTMLファイルをダブルクリックして開く
とちゃんと動きます。

また、チュートリアル通りに自分で作った「FirstApplet」の場合、
「IEの開く」でも「エクスプローラーからHTMLファイルをダブルクリック」
でも灰色のまま何も表示されません。

モジラやOperaで実行した場合は問題無く動作します。
何故こういう現象が起こるのかを知りたいです。

ちなみにIEの「ツール」「インターネットオプション」「セキュリティ」
の設定を「JAVA 低」にしてもダメでした。
宜しくお願い致します。(^^;
0305JB7チュートリアルNGNG
肝心なこと書き忘れました(汗
私の環境は windows98SE + IE6 SP1 です。

IEでもjava1.4.1plug-inを使うと正常に実行出来ました。
同じ現象が起こる方、この原因がお解りになる方が
いらっしゃいましたら情報をお願い致します。
0306デフォルトの名無しさんNGNG
>>305
IEのJavaは1.1.8相当。
0307デフォルトの名無しさんNGNG
>>305
IEのJavaは1.1.8相当。
0308304 JB7チュートリアルNGNG
>>306

チュートリアルではIEのJAVAは1.1.5という設定で書かれて
いました、このせいで動かない部分が出ちゃったってこと
ですね(^^; 動作しない原因が解ってホッとしました、
ありがとうございました〜!

IEの対応JAVAが変わったせいで使えなくなってしまうとは
ちょっと恐いな・・w
0309デフォルトの名無しさんNGNG
>>308
じゃあやめれば?
0310デフォルトの名無しさんNGNG
>>307
実は 1.1.4 相当だが。
0311デフォルトの名無しさんNGNG
>>299
コレクションつかったら?
0312デフォルトの名無しさんNGNG
date型で引き算ってできないでしょうか?
たとえば2002年12月8日-2002年11月10日=28みたいな
やっぱりintに変換して計算するしかないのでしょうか?
0313デフォルトの名無しさんNGNG
>>312
longにして引き算してまたDate
0314312NGNG
dateをlongに変換するにはどうしたらいいんですか?
longになるのは戻り値がミリ秒で帰ってくるのしかないのですが。
0315デフォルトの名無しさんNGNG
servletではなく、
classから、JSPをdispatchするってことはできるのでしょうか?
0316デフォルトの名無しさんNGNG
>>314
ミリ秒にして引き算してまたDate
0317299NGNG
>>311
ちょっとそれについて調べてみたんですが使い方がいまいちよくつかめませんでした
「こんなふうに使える」というのを教えてもらえたらすごく助かります
以下が私のしたいことです

forでまわすたびに2次元配列の変数を新しいもので宣言したい
forの繰り返し回数はファイルで読んでいるのでわからない。
もし3回だとしたら
array1 ,array2, array3みたいにforを抜けた後でも残しておきたい

以上です。よろしくお願いします
0318デフォルトの名無しさんNGNG
おまえらWEBのポストのときに
%88%A5%8F
とかなっているときに、元の文字に戻すやり方を教えてください。
おながいします。
0319デフォルトの名無しさんNGNG
>>318
%dd

のddを16進10進変換するだけです。
0320デフォルトの名無しさんNGNG
>>318
%dd

のddを16進10進変換するだけです。
0321デフォルトの名無しさんNGNG
>>318
URLDecoder使えよ
0322デフォルトの名無しさんNGNG
>>318

URLデコードしてくれるコンポーネントまたは関数があるはず。
URLデコードで検索すればこういうコンポまたは関数の使い方とか
コンポまたは関数を配布してるサイトが見つかるっぽい。

JAVAのことは全然知らないけど。(ぉぃ

あと319-320は相手にしないほうがいいかも知れない。
0323デフォルトの名無しさんNGNG
>>317
double[][] hoge;
ArrayList lst = new ArrayList( LOOP_COUNT )
for(int i=0; i < LOOP_COUNT; i++){
 hoge = new double[ ... ][ ... ];
 ...
 lst.add(hoge);
}
こんな感じで、
要素にアクセスしたいときは、
hoge = (double[][])lst.get(アクセスしたい要素のindex);
こんなかんじかのう・・・。

君の言うとることが今ひとつ伝わらない。
>>302なんかを読むとかなり勘違いしているように思われる。
素直に3次元にしてみるのが一番手っ取り早いのではないか?

リストを使ってみたがこれがわからんと言うのは無しで
0324デフォルトの名無しさんNGNG
わかってない人間が3次元配列なんか使うと
ひどい目にあうのでやめといた方がいいかと。
0325デフォルトの名無しさんNGNG
>>323
レスありがとうございます。
ArrayListを調べてます。ありがとうございました。
0326デフォルトの名無しさんNGNG
ちょっとまてオマイラー。日付引き算できるクラスあるやろー。
おもちゃにしてないで、ちゃんと教えてやんなよ。
0327デフォルトの名無しさんNGNG
っていうか、すでに初心者の相談スレは13が立ってるのに
未だに7に書き込みがある時点で何かが間違っているような
0328デフォルトの名無しさんNGNG
7がまだ300台なのになんで13があるんだ?
ちなみに今日は13日の金曜日だ。
0329318NGNG
レス有難うございました。
結局1.4のURLDecoderのソースをコピーして貼り付けて使うことにしました。
0330デフォルトの名無しさんNGNG
>URLデコードしてくれるコンポーネントまたは関数があるはず。
>URLデコードで検索すればこういうコンポまたは関数の使い方とか
>コンポまたは関数を配布してるサイトが見つかるっぽい。

>JAVAのことは全然知らないけど。(ぉぃ

>あと319-320は相手にしないほうがいいかも知れない。

ライブラリ厨晒しage
0331デフォルトの名無しさんNGNG
>>330
最近の子ってURLデコードもできないのか・・・他人事とはいえ鬱だ。
■ このスレッドは過去ログ倉庫に格納されています