トップページ⇒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
0159デフォルトの名無しさんNGNG
Java質問相談スレ�F と11があるがなにか違うの?
ただの重複にしては両方伸びてるような
0160デフォルトの名無しさんNGNG
11 が本スレ。こっちはただの重複。
細かいことを気にしない人が多い模様。
0161デフォルトの名無しさんNGNG
>>160
そっか アリガトン
0162デフォルトの名無しさんNGNG
JFrameでsetLocation(0,0)とすると、一発目にウインドウ表示させたときはちゃんと画面右上に表示されるんですけど、
同じウィンドウもう一つ表示させるとちょっと右にずれます。3個目を表示させるとまた右上に戻ります。

windowsでやれば正しく表示されるのですが、Linuxだとこうなってしまいます。
Linuxでも正しく表示させるにはどうしたらよいのでしょう?ちなみにvine2.1です。
0163デフォルトの名無しさんNGNG
とおりすがりだけど、

さんざんでかいこといっていた>>157が
5分後にライブラリを提示した>>158を
無視するのはどうかとおもう。
0164デフォルトの名無しさんNGNG
最新版使え。じゃだめ?
0165デフォルトの名無しさんNGNG
電卓をJAVAで作りたいんですけど、参考になるようなソース教えてください
0166デフォルトの名無しさんNGNG
>>165
http://www.google.com/search?hl=ja&ie=Shift_JIS&q=java+swing+%93d%91%EC&lr=lang_ja
0167デフォルトの名無しさんNGNG
>>165
そんなの10分でできる(藁
0168デフォルトの名無しさんNGNG
そのうち9分はSun One Studioが立ち上がるのを待つ時間。
0169デフォルトの名無しさんNGNG
オブジェクト・クラスをロックする、アンロックするって簡単に
言うとどういうことなんでしょうか?
0170デフォルトの名無しさんNGNG
>>169
ヨクワカランが、同期の話か?マルチスレッド Java synchronizedあたりでググレ。
0171デフォルトの名無しさんNGNG
>>170
クラスのアンロックだからstaticなメソッドって言う制約がいると思われ。クラスの
0172デフォルトの名無しさんNGNG
最近の度が過ぎた厨どもは
卒論におわれる大学生どもだと思われ(禿藁
0173 NGNG
せっかくなんで質問します。
Java Appletでスロットゲームを作ってるのですが、
3つのドラムをそれぞれ独立して動かしたいのですが、
どうすればいいでしょうか?
後、WAVEとかの音声を流したいのですが、どうすればいいでしょうか?
0174デフォルトの名無しさんNGNG
スレッド
AudioClip
0175デフォルトの名無しさんNGNG
>>174
結局3つのドラムは動作の同期ととらないとイカンと思うから、
スレッド分けないほうがいいと思うけどね。

0176デフォルトの名無しさんNGNG
>>175
?管理するクラス作れば?
それにJavaで同期って簡単だと思われ。
0177デフォルトの名無しさんNGNG
javaでIP取得できますか?
ローカルのIPはできるんですが
自分のリモートホストが取得できません。
javaメッセンジャの作者もなんかサイトからひっこ抜いてるみたいです。
http://www15.u-page.so-net.ne.jp/jk9/masanori/
↑java メッセンジャ
0178デフォルトの名無しさんNGNG
http://www.rsch.tuis.ac.jp/~mizutani/online/software-basic/inetaddress.html
環境依存っぽい。
0179177NGNG
レスありがとうございます。
そのページも参照しました。いろいろ試してみましたが、無理でした。
0180デフォルトの名無しさんNGNG
>>177
127.0.0.01
0181しろうとNGNG
せっかくなんで質問します。 検索条件を選択して、「検索」ボタンを押すと
DBから引っ張ってDBの項目を表示する簡単なプログラムなのですが、
javalangNullPointerというエラーが1回目の検索に必ず出ます。
無視してもう一回「検索」ボタンを押せば、表示されます。
また、検索ボタンを連打するとたまにでます。
この原因は何が考えられますか?
0182デフォルトの名無しさんNGNG
>>181
インスタンスへの参照がセットされていない変数に対して何か操作を行った。
0183デフォルトの名無しさんNGNG
バイト単位で文字を切り出す方法を教えてください。
0184デフォルトの名無しさんNGNG
>>183
String#getBytes()

後は煮るなり焼くなり。
0185デフォルトの名無しさんNGNG
よくCollectionのちゅーとりあるサイトにいくと

Set set = new HashSet();
もしくは
List list = new ArrayList();
みたいなのを見かけるんですけど、なんでわざわざインタフェースにインスタンスを割
りあてるんでしょうか?

0186デフォルトの名無しさんNGNG
まぁインターフェースの範囲で完結できるものについてはインターフェースを
使うっつー慣例というか方針というか好みだな。あとで ArrayList を Vector
に換えたくなっても new してるところだけで済むし。
0187デフォルトの名無しさんNGNG
じゃあObject object = new HashSet()にしたほうがいいんじゃないですか?
0188デフォルトの名無しさんNGNG
interface じゃないし、インタフェイスが異なるし。
0189デフォルトの名無しさんNGNG
>>187
その参照どうやって使うつもりよ(ワラ
0190デフォルトの名無しさんNGNG
new InputStreamReader( System.in )
てなかんじで、実行時に、 "java *** < file"
でファイルを読み込ませてるんですが、もし "java ***"
というふうに入力ファイルを指定されなかった場合にも処理をしたいのですが、どうしたらよいのでしょう?
0191デフォルトの名無しさんNGNG
>>190
何をどう処理したいのかまったく分かりません。
0192デフォルトの名無しさんNGNG
>>190
FileReader使えよ。
0193デフォルトの名無しさんNGNG
>192,191
FileReader使いました!どうも!
0194デフォルトの名無しさんNGNG
>>190

ファイルのリダイレクトだろっ。
でも、もしもファイルが指定されなかったらblockingで一生待ち続けて
しまうから、それの回避方法を知りたかったんだと思うぜよ。
0195デフォルトの名無しさんNGNG
>>194
寝てな。
0196デフォルトの名無しさんNGNG
データベースから年、月、日のデータを取得して
くっつけて"20020101"みたいな表示にしたいのですが、
データ型が数値型なので、そのままくっつけると
"200211"になってしまいます。
なにかうまい方法はありませんか。
0197デフォルトの名無しさんNGNG
>>196
java.text.DecimalFormatを使用すれ。

下の方が早いけど。
if (mm < 10) mmStr = "0" + mm;
0198196NGNG
なるほど。
確かに下の方が楽そうですね。
ありがとう。
勉強になりますた。
01992行NGNG
>>196
Object[] args = {new Integer(yy), new Integer(mm), new Integer(dd)};
String dt = MessageFormat.format("{0,number,0000}{1,number,00}{2,number,00}", args);
0200デフォルトの名無しさんNGNG
>>196
1行
Integer.toString(yy*10000+mm*100+dd)
0201デフォルトの名無しさんNGNG
200の続き。
200で挙げたのが恐らく一番効率良いけど、
DB側でフォーマットするのもありじゃない?
0202196NGNG
こんなに色々方法があったとは。。。
>199の方法はぜんぜん知らなかったし、
>200の方法は思いつかなかったっす。

>DB側でフォーマットするのもありじゃない?

やり方のわからん厨です。ていうか、新米プログラマーです。(スマソ
0203デフォルトの名無しさんNGNG
Integer.toString(yy*10000+mm*100+dd)
だめじゃん
0204デフォルトの名無しさんNGNG
統合しました。


【統合】Java開発環境スレ

  http://pc3.2ch.net/test/read.cgi/tech/1038118138/
0205 NGNG
もしもし、ちょっと質問なんですよ。

レルムのロールって、ログインした後でもServlet内で取得できるんですか?
ロール毎に画面を変えたいのですけど。
0206ダイナミックコンポジッションNGNG
XNap の文字化け対策 http://xnap.sourceforge.net

UNICODEのファイル名をJavaで引っこ抜くと、濁点のついた文字等が
3バイトコードになってしまうのですが、2バイトコードとして扱うには
どういった仕組みが必要になりますか。

宜しくご教授お願いいたします。

例
がぎぐげご -> か゛き゛く゛け゛こ゛
0207デフォルトの名無しさんNGNG
>>206
自力で置換。
0208ダイナミックコンポジッションNGNG
このソースの使い道、ありますでしょうか。

public static void doSomethingPerCharacter(String string) {
BreakIterator boundary = BreakIterator.getCharacterInstance();
boundary.setText(string);
int start = boundary.first();
for (int end = boundary.next(); end != BreakIterator.DONE;
start = end, end = boundary.next()) {
String c = String.substring(start, end);
doSomething(c);
}
}
0209ダイナミックコンポジッションNGNG
public static String raw2String(String raw, String encoding)
throws UnsupportedEncodingException {

return (new String(raw.getBytes("8859_1"), encoding));
}
0210デフォルトの名無しさんNGNG
あるでしょ。
なにするのかシランケド。
0211デフォルトの名無しさんNGNG
>>210
3バイトコードを2バイトコードに変換したいのです。
どいうったアルゴリズムをとれば問題を回避できるか、、、
0212デフォルトの名無しさんNGNG
行きは、UNICODEのファイル名をJavaで認識する際に
1文字ずつ区切って取り出す処理をかまして、バイトコードの長さを見る
そこで3バイトの長さのものだけを変換テーブルの処理にかける
そろった文字列をストリングに格納してISO-8859-1のバイトデーターとして
クライアントに送信するのはどうでしょうか。
帰りは、ISO-8859-1の生をそのまま表示(Shift-JIS表示)で
文字列をそのままUNICODEに照らし合わせれば、サーバーのファイル名と一致する、、、
はたしてそうなるでしょうか、、、
変換テーブルという処理がツギハギ的であまり美しくないということも。

すべて妄想の域をでません。どなたか助け舟を宜しくお願いします。
0213デフォルトの名無しさんNGNG
自分はaddKeyListenerを使ってキー入力するアプレットを作ったのですが、
キー入力の部分をクラスに分ける作業がうまくいきません。
initメソッドでキー入力クラスのコンストラクタに引数としてthisを渡し、
コンストラクタの中では
public KeyInput(Applet app)
{
  addKeyListener(this);
  if(app!=null){app.requestFocus();}
}
と記述したのですが、シンボルを解決できないというエラーが出ます。
どうか、皆さんのお力を貸してください。
それから、クラス名の後にimplements KeyListenerと記述しているのですが、
これでいいのでしょうか?
0214デフォルトの名無しさんNGNG
>>213
public KeyInput(Applet app)に戻り値の型がない。
というかこれはもしかしてclassかい?
0215213NGNG
>>214
いえ、コンストラクタです。
クラスのほうは、
class KeyInput implements KeyListener
{
  static protected boolean key_up,key_down,key_left,key_right,key_shot;
  private Graphics off_g;

  public KeyInput(Applet app)
  {
    addKeyListener(this);
    if(app!=null){app.requestFocus();}
  }    
〜〜〜
という感じになっています.             
0216214NGNG
もしかして、implemntsするメソッドをaddKeyListener()と思ってない?
addKeyListener()メソッドは、Appletが持っているメソッドなので、
app.addKeyListener(this);
と書かないと、
this.addKeyListener(this);
と書いた事になる。
当然KeyInputにaddListener()は存在しない(もしかして有るの?)ので、
メソッド名の解決が出来ずにコンパイルエラーになるのが原因かと。
0217213NGNG
>>216
コンパイラ通りました!!感動しました!ありがとうございました!
0218事務系プログラマNGNG
おまえらインプリメンツをどういう時に使うか
具体的に教えてください。
0219デフォルトの名無しさんNGNG
>>218
あ?実装のことか?プログラムを書くこと実装するという。
0220事務系プログラマNGNG
>>219
んあー
うそこくでねー
0221事務系プログラマNGNG
聞き方が悪かったかー
インターフェイスの使い道が分からないんでゲロ
何に使うの?誰か教えレ
0222厨房NGNG
コンパイルされた.classファイルから元のソースファイル.javaに戻すことってできますでしょうか。
0223デフォルトの名無しさんNGNG
>>222
デコンパイラあったと思うけど。
0224デフォルトの名無しさんNGNG
>>221
あるクラスにあるインターフェースがあることを保証したいとき。
0225デフォルトの名無しさんNGNG
>>223
ありがとうございます。
0226デフォルトの名無しさんNGNG
ごめんなさい。
とても馬鹿な質問です。
JDKって一体どれをダウンロードすればよろしいのでしょうか?
英語だらけの上にダウンロードページにも同じようなものがたくさんあるので、全くわかりません。
0227デフォルトの名無しさんNGNG
>>226
「Japanese」「日本語版」って文字を探して、それを押せ
0228デフォルトの名無しさんNGNG
すいません。便乗で2点質問なんですが、

・Javaで開発するために落としてくるファイルは、
http://java.sun.com/j2se/1.4.1/ja/download.html
ここの〜JREは不用で、〜SDKだけを落とせば良いんですか?

・あと、ここを見ると、
http://www.sekine-lab.ei.tuat.ac.jp/~kanamaru/Programming/winfree.html
1.41には深刻なバグがあると書かれているんですが、
1.40を落とした方がいいんでしょうか?

開発環境を使う予定のOSはWindows98SEです。
0229デフォルトの名無しさんNGNG
>>228
JREだけでいいっす。
0230228NGNG
>>229
>JREだけでいいっす。

そうなんですか?
じゃあSDKは何の為のものなんですか?
今両方ダウンロードしてきたんですが、
EXEファイルなので実行するのが恐いです。
0231デフォルトの名無しさんNGNG
>>230
>EXEファイルなので実行するのが恐いです。

プログラムとかほざく前に今使ってるOSとかもうちょっと基礎的なスキル上げろや。
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って意識する必要あるんでつか?
■ このスレッドは過去ログ倉庫に格納されています