[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 03/18 08:43 / Filesize : 244 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:53:34 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

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

前スレッド
【初心者】Java質問・相談スレッド113【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1204363011/

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

次スレは>>980あたりで。

313 名前:デフォルトの名無しさん [2008/04/14(月) 11:26:39 ]
文字列を1秒間隔で表示させるにはどうしたらいいですか?

314 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:07:45 ]
>>313
いいかげん自分でさがせよ。>>270 もお前だろ

315 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:09:06 ]
スレッドのスリープ
www.nextindex.net/java/thread/sleep.html

316 名前:デフォルトの名無しさん [2008/04/14(月) 13:04:35 ]
間隔を置いて1文字ずつを流したいのですが、何十秒間表示なしで、突然いっきに文字列が出ます。
どうしたらいいんでしょう。ソースはこれです。
public void paint(Graphics g) {
Font font = new Font(null, Font.PLAIN, 30);
g.setFont(font);
FontMetrics metrics = g.getFontMetrics(font);
String text = "Get down on your knees. Beg for your life!";
int margin = 30;
int cx = margin, cy = 100, mx = getWidth() - margin;

for(int i = 0; i < text.length(); i++) {
g.drawString(String.valueOf(text.charAt(i)), cx, cy);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
System.out.println(e);
}
cx += metrics.charWidth(text.charAt(i));
if (cx > mx) {
cx = margin;
cy += metrics.getHeight();

317 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 13:08:51 ]
>>316
paint内部で Thread.sleep してるから。

318 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:02:28 ]
>>316
天空の城ラピュタより。ムスカ全セリフ集(英訳版)か

319 名前:316 [2008/04/14(月) 14:16:05 ]
paint内にThead.sleepがダメいうことで、classをつくって、その中でsleepを定義してオブジェクトを作り、それをpaint内で呼び出して使おうとしましたが、うまくいきません。、Thread.sleepをどう使えばいいですか?
public class SleepT {
public void sleepii(){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
System.out.println(e);
}
}
SleepT s = new SleepT();

public void paint(Graphics g) {

Font font = new Font(null, Font.PLAIN, 30);
g.setFont(font);
FontMetrics metrics = g.getFontMetrics(font);
String text = "Get down on your knees. Beg for your life!";
int margin = 30;
int cx = margin, cy = 100, mx = getWidth() - margin;

for(int i = 0; i < text.length(); i++) {
g.drawString(String.valueOf(text.charAt(i)), cx, cy);
s.sleepii();
cx += metrics.charWidth(text.charAt(i));
if (cx > mx) {
cx = margin;
cy += metrics.getHeight();
}
}

320 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:21:43 ]
>>319
drawString した内容は、paint() をいったん抜けないと実際の画面に反映されない。

321 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 15:18:24 ]
そこはタイマーの出番だろう。
javax.swing.Timer
それと、drawStringするよりJLabel使った方が楽な気がする。



322 名前:デフォルトの名無しさん [2008/04/14(月) 15:26:32 ]
これでどう?

import java.awt.*;
public class Sample extends Panel implements Runnable{
public static void main(String[] args) {
Frame frame = new Frame();
Sample sample = new Sample();
frame.add(sample);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
new Thread(sample).start();
}
public Sample() {
setPreferredSize(new Dimension(200, 200));
}
private int x = 10, y = 10, count = 0;
private String text = "Get down on your knees. Beg for your life!";
@Override
public void paint(Graphics g) {
g.drawString(text.substring(0, count), x, y);
}
public void run() {
for(int i = 0; i < text.length(); i++){
repaint();
count++;
try { Thread.sleep(500); } catch (InterruptedException e) {}
}
}
}


323 名前:デフォルトの名無しさん [2008/04/14(月) 16:05:05 ]
Javaでライブラリを作るには、どうすればいいですか?


324 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 16:09:19 ]
jar でぐぐれ

325 名前:デフォルトの名無しさん [2008/04/14(月) 16:28:32 ]
javaで盗聴器を作りたいと思ったのですが違法ですか

326 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 16:34:52 ]
文字のたれ流しならpaint使わずアクティブレンダリングすれば良いんじゃない?

327 名前:デフォルトの名無しさん [2008/04/14(月) 17:56:43 ]
ねえ。僕正社員なんだけど、いつも請負先はなんらかのフレームワークとか
EJBつかわされるんだけど、派遣の求人見るとJSTL/JSP/サーブレットくらいの
職場があるんだけど、こういうところって本当にそれしか使わない?

EJB/Xdoclet/Hibernate/Struts/Spring使いたくないんです。

328 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 19:15:57 ]
派遣の求人担当なんてServletとEJBの違いどころか、Javaと組み込みCの違いもろくに解ってないぞ

329 名前:デフォルトの名無しさん [2008/04/14(月) 19:18:31 ]
(;´д`)

330 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:08:37 ]
>>328
求人に応募すると、真っ先に技術シートとかスキルシートの記入を頼まれるんだが、
あの馬鹿しか記入できない仕組みやフォーマットは一体何?

それと変な適性検査を受けさせられて鬱になったこともある。
 1, 2, 4, 5, 7, ....  続く数字は? とか変な図形パターンのやつ
ふざけんじゃねー! 小学生の知能テストかよ!

別な会社で不意打ちの経済学・金融学の試験を満点解答したら蹴られた。
ふざけんじゃねー! 馬鹿しか採用しないのかよ!!!!!

331 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:14:26 ]
そりゃ単にあんたが向こうの要求するスキルを持ってなかっただけだろ。



332 名前:330 mailto:sage [2008/04/14(月) 20:30:31 ]
>>331
アセンブラ、C、C++、FORTRAN、Java少々、etc... 要求分析〜パッケージの製品マスタまで
携わったし、汎用機以外はオールラウンダーだよ。マネジメントは管理会計もOK。

333 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:34:27 ]
>>332
>>331

334 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:34:45 ]
どれも中途半端でしたということだな。

335 名前:330 mailto:sage [2008/04/14(月) 20:44:23 ]
中途半端ではないぞ。 後継の指導もしたし、どちらかと言えばやり終えたという感じだな。

しかし、一つ極めたら次へ、それも極めたら次へ・・・ これの繰り返し。
あれこれ極めたら出ていかなくてはならないような「技術畑のしきたり」が気に入らない。
発注側のプロパー社員をコントロールして何が困るのかよ!
醜い位意識ばかり持ちやがって > 技術者会社&派遣会社

336 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:46:01 ]
ぐちはプログラマ板でどうぞ。ここはプログラム板、質問スレ。

337 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:51:00 ]
人間性に問題があっただけだろう。よくあること

スレ違いスマソ

338 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:53:32 ]
落とした会社が何を考えたかよく分かる書き込みだな。スキル以前の問題ようだ。

339 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:58:50 ]
質問というか一年前に初めてこの業界に入ってずっとVB6.0で開発してきたんですけど
来月からJAVAで開発をする事になりました。

VBは言語的に簡単と言われてますけどJAVAはどんなもんなんでしょうか??

340 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:12:48 ]
BasicPlayer API使って音楽をループするにはどうすればいいのでしょうか?

341 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:39:04 ]
>>339
適当な本1冊買って読んでから質問においで



342 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:49:04 ]
>>341
了解しました!!

343 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:49:40 ]
そこで引き下がるな
食いついていけ

344 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:59:42 ]
>>343
いえいえ JAVAの知識は皆無に等しいのでちと勉強してからまた来ます!!

スレ汚し失礼しました・・。

345 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:31:06 ]
>>339
俺もVB出身で勉強中だけどJavaは大人の言語って感じだな。VBは小学生言葉。

346 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:53:42 ]
JavaはVBの後継です

347 名前:デフォルトの名無しさん [2008/04/15(火) 01:31:19 ]
Windowsで作ったjarをLinux(Fedora 8)へ持っていって動かした所,
ボタンのフォントが崩れてしまいました.
英字表記だと崩れず日本語表記だと崩れます.
JForm.Textにも同じ表示をしているのですが,こちらは崩れません.
WindowsではJDK6 Update5で作りました.
SystemのPropertyでは共にuser.language=jaになっています.
FontのFamilyも共にDialogでした.

他に何を調べるべきでしょうか?

348 名前:デフォルトの名無しさん [2008/04/15(火) 01:50:42 ]
Linuxのフォントの設定をした?


349 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 01:58:14 ]
JForm.Text て何だ?

350 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 04:17:29 ]
証明書でよくある「フィンガープリント」って何をハッシュ化したもの?
Certificate#getEncoded()?

351 名前:デフォルトの名無しさん [2008/04/15(火) 12:32:44 ]
1個の窓に2つの画像をランダムに表示するソースですが、下記のところでシンボルを解決できないとエラーが出ます。なぜだかわかりません。
public MoleAttack(String title){
Mole moles = new Mole();
moles.setNoneImage(noneImage);
moles.setMoleImage(moleImage);
moles.setPreferredSize(size);
moles.setBorder(new LineBorder(new Color(0,0,0)));
getContentPane().add(moles);
rand = new Random(System.currentTimeMillis());
timer = new javax.swing.Timer(300, this);
timer.start();
}
public void actionPerformed(ActionEvent e) {
if (rand.nextInt(2) == 0) return;
if(moles.getState() == Mole.STATE_NONE) //ここで、シンボルを解決できないと出る
moles.setState(Mole.STATE_MOLE);  // この部分も同上
}
}
class Mole extends JComponent {
public static final int STATE_NONE = 0;
public static final int STATE_MOLE = 1;
private Image none, mole;
private int state = STATE_NONE;
public void setNoneImage(Image image) {
this.none = image;
if (state == STATE_NONE) repaint();
}
public void setMoleImage(Image image) {
this.mole = image; if (state == STATE_MOLE) repaint(); }
public void setState(int state){
this.state = state; repaint(); }
public int getState() { return state; } }



352 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 12:39:02 ]
初心者すぎてスマヌ

int i;
double d;

@i += d; ←コンパイルおk

Ai = i + d;   ←コンパイルエラー


Aの場合はコンパイルエラーになるのは分かるんだけど
なぜに@の場合だとエラーにならないの?



353 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 13:14:55 ]
>>352
i += d は、
i = i + d じゃなくて
i = (type of i)(i + d) と同じって言語仕様で決まってるから。

354 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 13:19:57 ]
ソース見てると
import java.awt.*;の*;を使わずに
クラス名をいちいち書き出しているソースがありますけど、
そうすると何かいいことあるんですか?

355 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 13:23:40 ]
>>354
その後に import java.util.*; して、 List 使おうとしても曖昧とか言われない。

356 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 13:27:20 ]
>>354
IDE無しでもソース見ただけで使用してるクラスが一目瞭然。

357 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:12:13 ]
良くwebサイトとか見てると自動相互リンクとか言って登録するとき
相手側のページにリンクされてるかどうか調べに行くのとかあるんですけど、
あれってjavaで実装できます?

358 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:55:31 ]
>>353
ありがとうございます
勉強になります

359 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 16:27:16 ]
>>357
HTTPを理解してればjavascriptでもできるぞ

360 名前:418 [2008/04/15(火) 18:41:00 ]
今日アルゴリズムの授業が始まり、初日からこんな課題が出されました。
ユークリッドのアルゴリズム」のプログラム(Euclid.java)について、
次の問に答えよ。
#プログラムリスト↓
class Euclid {
public static int gcd(int u, int v){
int t;
while(u > 0){
if(u < v){
t = u; u = v; v = t;}
u = u - v;}
return v;}
public static void main(String args[]){
int u = 100;
int v = 25;
System.out.println("u="+u);
System.out.println("v="+v);
System.out.println("gcd="+gcd(u,v));
}}
1-1)メソッド gcd を次のように変更せよ。
(変更点) 変数 u, v の変化がわかるように、途中経過を画面に表示させる。
1-2)メソッド gcd を次のように変更せよ(二つの変更点を同時に満たすように変更
せよ)。
(変更点1)教科書に述べられているように、% (余りを求める演算子)を利用
したものにアルゴリズムを改良する。
(変更点2)変数 u, v の変化がわかるように、途中経過を画面に表示させる。
変更後のgcdメソッドのプログラムと、gcd(1455,987)を実行させたときの実行
結果を示せ。
明後日が提出日なので、解答するのに大変困っています。
分かる人がいましたら、是非教えてください。

361 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:42:47 ]
質問よろしくお願いいたします。

Javaをダウンロードしたのですが、インストール終了後に確認すると、
Java Plug in???? とメッセージが出て使えません。
osはXPです。

よろしくご教示ください。



362 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:46:52 ]
>>360
宿題は宿題スレでどぞ。つか未来人間なら結果解るだろw
>>361
確認って何?

363 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:59:19 ]
>362
インストール後に、ちゃんとインストールされているか確認できる画面。
ちゃんとインストールされていれば、絵が出てくるみたいな。

364 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:13:09 ]
そんなのあったのか

365 名前:デフォルトの名無しさん [2008/04/15(火) 19:23:37 ]
どうしてIDE使わないの?

366 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:27:18 ]
ブラウザを全部閉じてやりなおしてみるとか。

IDE て、Eclipse なんかは別に JDK が必要なじゃなかったか?
というかアプレットが動かしたいだけの人が紛れ込んだのかもしれないし。

367 名前:デフォルトの名無しさん [2008/04/15(火) 19:32:41 ]
サーブレットにて、異なる2つのJPEG画像をバイナリで取得し、
JavaMailに添付したいのですが、
なぜか同じ画像が2つメールに添付されてしまいます。
(2つ目に添付した画像×2)
ただし、ファイル名は「image1.jpg」「image2.jpg」で添付されており、
同じにはなりませんでした。

ソース(その1)
protected void doPost(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {

  ImageDataHandler clsDataHandler;
  ImageDataHandler clsDataHandler_2;
  private byte[] bufImage_1 = new byte[1024];
  private byte[] bufImage_2 = new byte[1024];

  try{
   bufImage_1に1つ目の画像情報をセット  
   bufImage_2に2つ目の画像情報をセット
   
   /*** メール送信処理 ***/
   // 1枚目の添付
   clsDataHandler = new GazouDataHandler();
   clsDataHandler.attached.write(bufImage_1);
   // 2枚目の添付  
   clsDataHandler_2 = new GazouDataHandler();
   clsDataHandler_2.attached.write(bufImage_2);
   // メール送信
   SendMail(clsDataHandler,clsDataHandler_2);
   clsDataHandler.attached.close();
   clsDataHandler_2.attached.close();
 }

368 名前:367 mailto:sage [2008/04/15(火) 19:38:57 ]
ソース(その2)
 /* メールの送信 */
 public void SendMail(GazouDataHandler clsDataHandler,
            GazouDataHandler clsDataHandler_2){
  try {
   〜省略〜
  
   /** 1つ目のボディパートを作成 **/
   MimeBodyPart mbp1 = new MimeBodyPart();
   // メールの内容を指定
   mbp1.setText("テスト\n", "iso-2022-jp");
   /** 2つ目のボディパートを作成 **/
   MimeBodyPart mbp2 = new MimeBodyPart();
   // 添付するファイル名を指定
   mbp2.setDataHandler(new DataHandler(clsDataHandler));
   mbp2.setFileName("image1.jpg");
   /** 3つ目のボディパートを作成 **/
   MimeBodyPart mbp3 = new MimeBodyPart();
   // 添付するファイル名を指定
   mbp3.setDataHandler(new DataHandler(clsDataHandler_2));
   mbp3.setFileName("image2.jpg");
   
   〜省略〜
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

369 名前:367 mailto:sage [2008/04/15(火) 19:40:02 ]
/**
* 添付ファイルクラス
*/
class ImageDataHandler implements DataSource{
 ByteArrayOutputStream attached = new ByteArrayOutputStream();

 public String getContentType() {
  return "image/JPEG";
 }
 public InputStream getInputStream() throws IOException {
  return new ByteArrayInputStream(attached.toByteArray());
 }
 public String getName() {
  return "";
 }
 public OutputStream getOutputStream() throws IOException {
  return attached;
 }
}

アドバイスしていただけると助かります。
よろしくお願いします。

370 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:59:02 ]
>>367
えるもタン乙

371 名前:デフォルトの名無しさん [2008/04/15(火) 20:39:47 ]
>>360の教科書の内容なんてしらねーよw
class Euclid {
public static int gcd(int u, int v){
System.out.println("アルゴリズムを開始\tu:" + u + "\tv:" + v);
while(u > 0){
if(u < v){
// ややこしいのでtの宣言を移動した
int t = u; u = v; v = t;
System.out.println("u < v のため値を交換\tu:" + u + "\tv:" + v);
}
u = u - v;
System.out.println("u -= v を実行\t\tu:" + u + "\tv:" + v);
}
System.out.println("u <= 0 のため終了\tu:" + u + "\tv:" + v);
return v;
}

public static void main(String args[]){
int u = 1455;
int v = 987;
System.out.println("u="+u);
System.out.println("v="+v);
System.out.println("gcd="+gcd(u,v));
}
}



372 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 21:35:07 ]
>>368
でパートをどういう風に追加しているのか見ないと分からん

373 名前:367、368 mailto:sage [2008/04/15(火) 21:45:27 ]
>>372
パートを追加するところです↓

// 複数のボディを格納するマルチパートオブジェクトを生成
Multipart mp = new MimeMultipart();
// 1つ目のボディパートを追加
mp.addBodyPart(mbp1);
// 2つ目のボディパートを追加
mp.addBodyPart(mbp2);
// 3つ目のボディパートを追加
mp.addBodyPart(mbp3);

どこか間違っているでしょうか?

374 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:52:03 ]
>>367
>bufImage_1に1つ目の画像情報をセット 
が間違ってんでねーの

375 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:10:28 ]
>>373
さっさとmixiに帰りな

376 名前:デフォルトの名無しさん [2008/04/16(水) 00:43:18 ]
すいません。
ご質問なのですが、お絵かきBBSなどyahooオークションの残り時間などの時間表示。
お絵かきチャットなどのJavaがエラーをしていて、コントロールパネルのアプリケーション追加と削除で消して。
再びJavaのサイトから無料DLしたのですがいっこうに治らないのですが、
なんとかなりませんでしょうか?

エラーメッセージ:同じプロセスで実行中のいくつかの Java 仮想マシンによってラーが発生しました。

詳細おねがいいたします;;

377 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:56:57 ]
[ツール]-[インターネットオプション]-[詳細設定] で、使わないJava バージョンのチェックを外す。

378 名前:デフォルトの名無しさん [2008/04/16(水) 01:14:43 ]
Java(SUN)
<applet>に JRE 1.6.0_05を使用(再起動が必要)

にチェックついていて、ほかにJavaはないんですが・・・
やはり治りません・・すみません><
再起動もしてみたのですが・・

スパイウェア関係かとおもいスキャンしたけど検出されず・・。
ほかに可能性はなににあるのでしょうか・・無知ですみません;;


379 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:36:34 ]
板違い
ここはプログラミングする人のための板です
Windows板のIE関連のスレとかへ

380 名前:デフォルトの名無しさん [2008/04/16(水) 01:41:11 ]
わかりましたー。いってみますー。お世話になりましたー

381 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:43:03 ]
数年前のjava本でスレッドを勉強中なんですが、今もロックにはPOSIXのように
排他制御のmutexは実装されていないで、同期のsynchronizedを使うんでしょうか。



382 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:51:26 ]
むしろあらゆるオブジェクトがmutexとして使えるのがJavaじゃね?

383 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:57:53 ]
java.util.concurrent

384 名前:381 mailto:sage [2008/04/16(水) 02:02:59 ]
>>382
それがJavaのクラス設計なんですね。

ああくそー、C/C++の手ぐせが抜けない・・・ orz

385 名前:381 mailto:sage [2008/04/16(水) 02:13:45 ]
>>383
thx!
これならC/C++の手ぐせで使えそうだ。
しかしJavaってまだまだ発展中?

386 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:34:30 ]
次のバージョンでも大き目の言語仕様の追加がある予定だしね
標準ライブラリもどんどん肥大化中だ

387 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:38:37 ]
JCP に移管されてから肥大化が酷くなった。俺も俺もとレイプされまくり。

388 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:47:50 ]
標準ライブラリだけでいまどきのブラウザつくれるほどのAPIが揃ってるからな。
何もなかった1.1が懐かしい。

389 名前:デフォルトの名無しさん [2008/04/16(水) 10:38:50 ]
エクリプスを使っています。

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

と打ったところ、コンパイラーさんから
「インポートされたjavax.servletは見つかりません」とのご忠告。
そこで、「構成および実行」の「クラスパス」で
「外部jarの追加」「servlet-api.jar」を選択。

としたのですが、効果なし。
どうしたらいいんでしょうか?お願いします。

390 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:51:00 ]
>>389
プロジェクト右クリックしてプロパティ-ビルドパス-ライブラリで外部JARついか

391 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 11:08:22 ]
>>390
どんだけやさしいんですか!ありがとうございます!



392 名前:デフォルトの名無しさん [2008/04/16(水) 14:51:45 ]
C/C++より洗練され簡素化されたJavaの流儀を覚えるべきだね
Cは低レベルでしか使われなくなるだろうし

393 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:28:48 ]
質問です、
バイト配列byte[]からBufferedImage型に変換するにはどのような方法をとればいいのでしょうか。
さんざんググりましたが、BufferedImage→byte[]への変換は出てきますが、byte[]→BufferedImageは全く出てきません。

よろしくお願いします。

394 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:40:39 ]
どう変換したいのかわからんけど
byte[] b = .....
BufferedImage image = ImageIO.read(new ByteArrayInputStream(b));

395 名前:デフォルトの名無しさん [2008/04/16(水) 17:14:30 ]
現在、大学でJAVAの基礎を勉強しています。
参考書を買おうと思い調べたところ、結城浩さんの「JAVA言語プログラミングレッスン」が良さそうだと思い
本屋に行ってみたのですが、値段が高くて躊躇しています。
「JAVA言語プログラミングレッスン」は改訂第二版が最新らしいのですが、近所のブックオフに無印のもの(1999年初版発行のもの)がありました。
10年近く前のものだと、内容的に役に立たないでしょうか?



396 名前:418 [2008/04/16(水) 17:30:45 ]
今はこの問題が解けなくて困っています。
「エラトステネスのふるい」のプログラム(Prime.java)を、途中経過が分かるよう
次のように改良せよ。具体的には、以下のようにプログラムを改造せよ。

2の倍数をふるいにかけた直後の配列aの状態を画面に表示、
3の倍数をふるいにかけた直後の配列aの状態を画面に表示、
4の倍数をふるいにかけた直後の配列aの状態を画面に表示、

N/2 の倍数をふるいにかけた直後の配列aの状態を画面に表示
改造後のプログラムと、実行結果を示せ(N=30程度で良い)。正しく動いている
という説明も述べよ。
class Prime {
   public static void main(String args[]){
        int N = 1000;
int i,j;
int a[] = new int[N+1];
for(a[1]=0,i=2;i<=N;i++){
a[i] = 1;}
for(i=2;i<=N/2;i++){
for(j=2;j<=N/i;j++){
a[i*j] = 0;
}}for(i=1;i<=N;i++){
if(a[i] > 0) {
System.out.print(i+" ");}}
System.out.println();}}
わかる人がいましたら教えて下さい。

397 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:07:43 ]
>>395
その講義さえしのげればよいなら旧版でもおk
今後どんどんJavaを使う予定なら頑張って新版を買った方が結局得だとおもう

>>396
スレチ

398 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:46:07 ]
>>395
あれが高いだと?
赤本の値段見て出直して来い

399 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:57:54 ]
>>398
その場しのぎの学生には十分高いだろ。

400 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:08:57 ]
本なんてなくとも海外のサイトなら情報は充実してるけど日本人は英語読めないの多いからな
日本のサイトはというと説明が下手なとこばかりな上に
ほとんどがアフィリエイト目的で一度作ったら放置が多くていやになっちゃうね
俺が学生向けに何か作ってやりたいけどまだまだそんな知識はないから残念だ

401 名前:デフォルトの名無しさん [2008/04/16(水) 20:00:33 ]
洋書コーナーいけば少し安く同程度のが手に入るけどね
殆どは翻訳だし原書で見たほうが翻訳者の間違いとかも無くていい



402 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 20:32:15 ]
海外のサイトはとくにjavaでゲーム作ろうってサイトが多くていいな。
desktop javaにしか興味ない人間にはSwingとゲームはちょうど良い。

403 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 20:46:12 ]
残念ながら日本では英語を読める人が少ない。

404 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 21:04:44 ]
>>403
まったくだ。
Javaのホムペを立ち上げても、頓挫したり飽きたりして放置プレイが多い。
日本のサイトに絞ってググっても、似たような糞ホムペしかヒットしない。

405 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:36:31 ]
おすすめ海外サイトを是非

406 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:46:45 ]
俺も知りたい

407 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:46:58 ]
>>395
新人研修で同じ本使ったよ。
ヤフオクとかアマゾンで買えば?

408 名前:デフォルトの名無しさん [2008/04/17(木) 00:25:33 ]
話ぶった切ってごめん
Java Mozilla Parser のAPI Document ってどこで手に入る?

409 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 01:58:10 ]
NTTデータが作ったintra-martってフレームワークは使いやすい?
これからの開発で使わされるんだけど、企業が作成したフレームワークって当りだったためしが無くて。

410 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 01:59:37 ]
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!

411 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 02:15:38 ]
厭なことがあるとメディアに用意してもらった
ネタに託して怒りをぶちまける奴



412 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 07:39:06 ]
>>409
比較的に使いやすい類のフレームワークとは思う
でも、詳細設計のやり方次第で最悪になることが多い

413 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:47:40 ]
Java でナノ秒精度の日時を保持するのってどうすんの?

414 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:52:12 ]
>>413
ナノ秒精度に基づく制御はできないが、保持なら変数に代入するだけだから簡単じゃね?

415 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:59:18 ]
double同士の比較をしたいのですが
javaFAQには単純にa > bとかはだめでa - b > -1.0E-6
のようにしないとだめと書いてありました
これ単純にする方法ないのでしょうか?

416 名前:415 mailto:sage [2008/04/17(木) 18:05:27 ]
あ、比較する時に有効桁数もチェックしたいのです。

417 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 18:16:02 ]
十分単純だと思うけどな
たかだか10文字かそこら増えるだけじゃないか

418 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 18:40:14 ]
if(sign.equals('-')){
  // くそバグ
}

419 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:18:31 ]
Javaの最新版をダウンロードしたいんですが
「エラー。お使いのオペレーティングシステムに推奨されたバージョンの
Java がインストールされていません。
インストールされている Java のバージョンは Version 5.0 Update 6 です。
下のボタンをクリックして、お使いのオペレーティングシステムに
推奨された Java をインストールしてください」
そして推奨されたJavaをインストールするために下のボタンを押すと
また「」の文章が出ます。以後、繰り返しになってしまいます。
正直パソコンのスキルが、あまりないのでどうすればいいのかわかりません。
最新版をインストールしたいのでご指導お願いします。

420 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:52:59 ]
>>415見て思ったのですが、なんでa>bが駄目なんですか?

421 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:03:01 ]
>if(sign.equals('-')){
('-')
('-')
('-')
('-')
('-')

顔文字に見えて嫌いだ




422 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:52:08 ]
Javaのおすすめ海外サイトをそろそろ教えてください

423 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:57:10 ]
俺もまだ知りたいです

424 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:08:14 ]
>>419
いったいどこから何をダウンロードしようとしているんだ?
最新版を使いたいなら、既にインストールしてある 5.0 Update 6 はア
ンインストールしちゃっていいよ。


425 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:09:24 ]
>>420
>>415はaやbの有効桁数が指定されている時の話だから単純にaがbより大きいかどうかならa>bでいいよ。

426 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:18:02 ]
最近のコーダーは機械イプシロンもしらんのか。

427 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:31:16 ]
>>422
java.sun.com/javase/technologies/index.jsp

428 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:35:39 ]
aのもつビットパターンで表現される数とbのそれとを
正確に比較するって意味で使うならa>bでいいけどね

429 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:39:22 ]
あたりまえ

430 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 03:43:59 ]
最近のコーダーは機械イプシロンもしらんのか。

431 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 05:53:16 ]
マジレスしちゃうと、コーダーが知ってる必要はないわな。



432 名前:デフォルトの名無しさん [2008/04/18(金) 09:17:13 ]
JavaとDelphiってどっちが易しいでしょうか?

433 名前:デフォルトの名無しさん [2008/04/18(金) 09:21:15 ]
java

434 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 09:23:06 ]
Forth77

435 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:41:11 ]
ForthRAN77
/HELLO {(Hello, World!\n) ((A)) 6 WRITE STOP} PROGRAM HELLO

436 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:51:24 ]
>>416
有効桁数 = 絶対値((a + b)/(a - b)/2)
で、友好桁数にならないか。

437 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 14:09:53 ]
有効数字ってアルゴリズムから静的に決定するもんじゃないのか。

438 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 14:42:42 ]
FileChannelを使ってファイルからintの値を取り出そうとしているのですが
具体的な方法がわかりません
FileChannel channel = new FileInputStream("hoge.hoge").getChannel();
ByteBuffer bb = ByteBuffer.allocate(4);
channel.read(bb, seekpoint);
IntBuffer ib = bb.asIntBuffer();
ib.get();
これじゃ取り出せないのですがどうすればいいのでしょう?

439 名前:デフォルトの名無しさん [2008/04/18(金) 14:54:26 ]
質問です。
javaサーバーサイド(Servlet,JSP)までで、
mysqlデータベースをからめ、Eclipseで構築、
またはViで構築したいのですが、いい本ありますか?
私はCENT OSでサーバーを作っているので、その中に
組み入れたいのですが.....
板違いならここに聞けばいいよって教えてください。
よろしくお願いします。
まずは環境を作りたいです。


440 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:01:02 ]
>>438
readしたぶんだけByteBufferのpositionが進むからでは?
readした後flipすればいいんじゃないかなたぶん

441 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:14:00 ]
>>440
readでも進むんですね・・・
ありがとうございました



442 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 20:36:26 ]
javaはchdir(カレントの変更)はできないんですか?

443 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 20:48:48 ]
>>442
できない。昔の mac にはカレントディレクトリって概念がなかったから。

444 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 20:53:56 ]
そうですか。

445 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 21:29:39 ]
質問なんですが
入力された文字が数値なら次の処理に行き
文字列だったら数字が入力されるまで繰り返す
っていうプログラムを例外処理を使わないで
作るにはどうすれば良いのでしょうか?

446 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 21:43:48 ]
>>445
if文とfor文で作る

447 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 22:19:36 ]
質問です。
時計を作成し、テキストフィールドに表示させるようにしたのですが、
時計が表示されているテキストフィールドに文字を入力する事が出来てしまいます。
テキストフィールドにキーボードからの入力が行われず、
時計の表示のみを行うにはどの様にしたら良いのでしょうか?

448 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 22:31:15 ]
swingについて質問です。
ボタンを押すことで、画面構成を変化させるようなプログラムを作りたいのですが、
ActionListenerから呼ばれるメソッド内でコンポーネントをaddしても反映されなくて困っています。
以下のような感じを考えているのですが、「ボタンを押すことによってコンポーネントの構成を変える」
というのはどのようにすればよいのでしょうか?

import java.applet.Applet;
import java.awt.event.*;
import javax.swing.*;

public class Test extends Applet implements ActionListener{
JButton go=new JButton("開始"); // 開始用ボタン
JLabel label=new JLabel("変化反映");

/** 初期化ルーチン */
public void init(){
go.addActionListener(this);
this.add(go);
//this.add(label); //ここに書くと表示される
}

/** ボタンを押されたときの処理 */
public void actionPerformed(ActionEvent e) {
if(e.getSource()==go){
this.remove(go);
this.add(label);//ここで追加しても反映されない
this.repaint();
}
}
}



449 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:12:21 ]
>>445
do{
str = input; // 何らかの入力処理
}while( !数値かどうか(str) );

450 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:29:21 ]
>>448
add()やremove()をした後にはvalidate()を呼ぶ必要があるらしい。
詳しくはjavadocのContainer#add()あたりを参照。

451 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 00:16:50 ]
>>449
ごめんなさい
その数値かどうかって判定が分からないです



452 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 00:24:10 ]
普通は Integer.parseInt() で例外発生するかどうか。
めんどくさいが丁寧に最良パフォーマンスで実装するなら

boolean digit = true;
for(int i=0; i<str.length(); i++){
  if(! Character.isDigit(str.charAt(i))){
    digit = false;
    break;
  }
}

例外より遅いかもしれないが楽して正規表現使うなら (符号無視)

if(str.matches("\\d+")){
  // 数字
}

453 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 00:26:30 ]
Character.isDigitは全角数字や漢数字、デヴァーナーガリ数字などにも
trueを返すから使い方によっては要注意。


454 名前:448 mailto:sage [2008/04/19(土) 00:29:00 ]
>>450
意図したとおりの動作ができました。ありがとうございます。

455 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 07:13:28 ]
数値かの判定?
正規表現でいいじゃねーか

456 名前:デフォルトの名無しさん [2008/04/19(土) 11:37:48 ]
配列とループの質問なんですけど、

簡単に例えると、
配列: int[] i = {1,5,4,3,2,8,4,6,1,5,7,9,3};
があって要素番号を1から順にループしていって
最初の5が出た時に表示などの処理、
2回目の5が出た時にループも終了ってのはどうすればいいですか?

457 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:45:32 ]
>>456
やりたいことを書いた方が良いレス付くと思うぞ。
表示するならタイマーか何かで要素を取得するルーチンにwait置かないとだめだろうし。

458 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:50:26 ]
>>447 お願いします

459 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:02:45 ]
>>458
setEditable(false)


460 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:04:03 ]
ついでにsetBackground(SystemColor.text)

461 名前:デフォルトの名無しさん [2008/04/19(土) 12:05:46 ]
deebuu.com/nsoku-area/
これの県名部分を
今の食べ物表示に改造してくれ・・・・・。頼む!



462 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:07:31 ]
>>461
JavaScriptはスレ違い。


463 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:11:24 ]
>>456
int[] array = {1,5,4,3,2,8,4,6,1,5,7,9,3};
int count = 0

for (int i=0; i<13; i++) {
if (array[i] == 5) {
if (count == 0) {
System.out.println("5");
count++;
}
else break;
}
}

464 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:15:50 ]
テキストファイルから数字を読みだすクラスを教えてください。
Stringとして読む方法ならわかります。

465 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:17:25 ]
>>464
バイナリじゃなくてテキストなら、
Stringとして読んだ後で数値に変換する。
変換方法はちょっと前のやりとり参照。


466 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:18:38 ]
>>462
(´;ω;`)ウッ…

467 名前:464 mailto:sage [2008/04/19(土) 12:37:48 ]
解決しまつた

読み出し結果 = Integer.parseInt(line.replaceAll("[^0-9]","")

468 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:48:54 ]
>>459 ありがとうございます!

469 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 20:00:08 ]
以下のコードを実行すると、fillRoundRecの残像(?)が残ってしまいます。

Image img; // オフスクリーンイメージ
Graphics g_off; // グラフィックオブジェクト
int miss_count = 255;
// オフスクリーンバッファ作成
img = createImage(640, 480);
g_off = img.getGraphics();
// 描画領域の塗りつぶし
miss_count += 4;
if (miss_count > 255)
{
miss_count = 255;
}

if(miss_count != 255)
{
g_off.setColor(new Color(255, miss_count, miss_count,128));
g_off.fillRoundRect(10, 57, wx - 10 * 2, 28, 20, 20);
}

残像とは、うすいピンク色の物体のことです。
デバッグしたところ、g_off.fillRoundRectが実行されていないときに残像が表示されてしまいます。
この残像を消す方法を教えていただけないでしょうか?

470 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 20:52:23 ]
Vectorに入れたストリングオブジェクトからメソッドを参照しても見つからないと出ます・・・
Vector ve = new Vector();
String s = new String("One Two Three Four Five Six Seven");
ve.addElement(s);
int len = ve.elementAt(0).length();
String substring = ve.elementAt(0).substring(len - 10, len); // 末尾の10文字を抜き出す
System.out.println(substring);

Vectorに入れると何か変わってしまうんですか?

471 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 20:58:29 ]
>>470
elementAtの返値はObject型になってるのでキャストすること。
つーか、JDK1.4で学習するのは推奨しないが……




472 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:02:58 ]
(String)(ve.elementAt(0)).substring(len - 10, len);

え〜っと こういうことじゃないですよね……
Object型からの変換ってどうしたらいいんですか?

473 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:05:19 ]
そういうことですよ


474 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:13:37 ]
>>473
無理です><

475 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:16:41 ]
>>472
括弧の位置微妙に変じゃない?

476 名前:474 mailto:sage [2008/04/19(土) 21:24:14 ]
わからない……

教えてくだせorz 

477 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:41:48 ]
Object o = ve.elementAt(0);
String s = (String)o;
s.substring...

と段階を追って書けばいいんじゃない?


478 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:57:02 ]
System.out は final フィールドなのに
System.setOut(PrintStream) を呼んだ後は
値が変わるようなのですが、
こんなことが可能なのでしょうか?


479 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:58:48 ]
>>470
int len の行もキャストが必要。と言うか、操作するなら取り出しましょう。

List<String> list = new ArrayList<String>();
String str = "One Two Three Four Five Six Seven";
list.add(str);
String ret = list.get(0);
int len = ret.length();
if (len >= 10) { ret = ret.substring(len - 10); }
System.out.println(ret);

480 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:10:34 ]
>>478
nativeで実現されてるからできる。

481 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:13:05 ]
>>478
フィールドへの参照はfinalだけど、OutputStreamの中の状態とかは変化できる
大雑把に言えばこんな感じになっていると考えればOK
class System {
  final OutputStream out;
  void setOut(OutputStream out) {
    this.out.setOutputStream(out);
  }
}



482 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:14:46 ]
finalはバイトコードレベルではただのフラグだな。
コンパイラが代入されたり継承されたりしないように尊重してるだけで、
バイトコードレベルでの代入自体は実はできるってことじゃないの?



483 名前:474 mailto:sage [2008/04/19(土) 23:48:16 ]
>>471
いまさらですがJDKについてkwsk

回答してくださった方ありがとうございます。参考にさせていただきます。


484 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:57:01 ]
>>469
これを描画する前に真っ白の同じ形のものを描画すればOKでした。
おさわがせしました。

485 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:13:36 ]
はじめまして、かなり初歩的な質問なんですが、
NetBeansで
jTextFieldに配列を使って名前を付けるにはどうすればよいのでしょうか??

for (int i=1 ; i<=10 ; i++) {
jTextField1[i] = new javax.swing.JTextField();
}

みたいなことをやりたいのですが、やり方がわかりません...
どなたかご教授お願いいたします。

486 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:17:02 ]
>>483
今まではオブジェクトが何でも入れられたので、
取り出される要素の型が特定できない
そこでとりあえず、出した要素の型は全部Object型ということにして、プログラマにキャストをさせるようにしていた

ところがJDK1.5からはジェネリクスなる仕組みが用意され、格納できる型が固定できるようになった
こんな感じ

Vector<String> ve = new Vector<String>();

これでveにはStringしか入れられなくなる

ve.add("hoge");
ve.add(new Integer(1)); //エラー

格納できる型が指定できるのだから、取り出す型も自然に決まってくるので
キャストの必要がなくなる。ジェネリクスでぐぐってみては
あと蛇足だが、今ならVectorの他にLinkedListやArrayListが用意されている。違いは同期化の有無

487 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:21:14 ]
>>486
1.5になってからもはやVectorを使わないような そんなことない?

488 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:25:31 ]
System.outがfinalなのにセットできるのは昔の名残だ。

489 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:45:33 ]
古いAPIがListではなくVectorを返しやがるみたいなときに
使わざるを得ないことはあるな。


490 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:46:08 ]
それはListで受けられるだろう。
引数がVectorだとListのままじゃ渡せないが。


491 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 02:30:08 ]
FocusLostでフォーカスを失ったときに、
失う前に元々フォーカスがあったところを調べるのってどうすればいいんでしょうか?



492 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 02:35:03 ]
 最近拾ったスクリーンセイバーがリモートネットワーク 72.5.124.55 ポート80に 
アクセスしようとしていたのでセキュリティーソフトでアクセス禁止にしたのですが、
jabaの何か、としか私には解りませんでした、ここの人たちに聞けば親切に教えて
くれるという事で尋ねてみました。
 素人の私でも解る説明で教えてください。

493 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 02:39:28 ]
void focusLost(FocusEvent e) {
Component lostFrom = e.getComponent();
Component gainedBy = e.getOppositeComponent();
}

か?


494 名前:491 mailto:sage [2008/04/20(日) 04:43:55 ]
493さんありがとうございます!!なるほど!
これで、元々フォーカスのあったコンポーネント(jTextField)に入力されている値を取得したいのですが、
lostForm.getText();
だとエラーになるんですが、これじゃ駄目なんでしょうか??
何度もすいません。ご教授お願いいたします。

495 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 11:55:14 ]
>>494
if (lostFrom == myTextField) {
String s = myTextField.getText();
}

==は同じオブジェクトを指してるかどうか型違っても==


496 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 11:56:37 ]
編集しかけで送信してしまった。

==は同じオブジェクトを指してるかどうかの判定だから、型違っても使える。


497 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:03:17 ]
JTextFieldが複数あって、どれでも処理が同じ場合は
いちいち==で比較するより
if (lostFrom instanceof JTextField) {
JTextField tf = (JTextField)lostFrom;
String s = tf.getText();
}
のほうがいいだろうな


498 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:15:00 ]
>>497
これはよくない気がする

499 名前:デフォルトの名無しさん [2008/04/20(日) 12:41:16 ]
Javaのパッケージで定義されているクラスの中身って見れます??
例えば
java.awt
クラス Label
のメソッドgetText()がどういう処理してるのかとか

500 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:43:58 ]
ソースコード付いてるだろ

501 名前:  [2008/04/20(日) 12:46:41 ]
Eclipseとか使ってたらF3で一発だよ。



502 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:48:09 ]
Java ディレクトリに入ってる src.zip の中を見れ

503 名前:デフォルトの名無しさん [2008/04/20(日) 13:04:18 ]
あっ...ほんとだ
>>500-502
迅速な解答どもです

じゃあ、iアプリの
com.nttdocomo.ui
クラス Label
とか見れます?
探したけどdojaディレクトリの中探したけど見当たらん。。。

504 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 14:45:35 ]
プロプラな部分のソースを付けるわけないだろ

505 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 14:46:35 ]
MIDPならPhoneMEのソースが使えるがPhoneMEのMIDPは2.1だな。

506 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 15:30:18 ]
Graphicsクラスで文字にアンチエイリアスをかけるにはどうすればいいのでしょうか?
Graphics2Dクラスじゃないとできないのでしょうか?

507 名前:デフォルトの名無しさん [2008/04/20(日) 15:41:36 ]
Javaで2次元ベクトルを要素とする動的2次元配列
を作るにはどうしたらいいでしょうか?

配列はArrayListで作ってみたんですが、エラーが意味不明。。
あとdouble2つを持った2次元ベクトルクラスって標準ライブラリには無いんでしょうか?

508 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:08:21 ]
java.awt.geom.Point2D.Doubleとか。



509 名前:デフォルトの名無しさん [2008/04/20(日) 17:15:25 ]
>>504
やっぱ非公開か。ありがとう。

510 名前:491 mailto:sage [2008/04/20(日) 17:35:11 ]
>>495-497
早速のご回答ありがとうございます

if (lostFrom == myTextField) {
String s = myTextField.getText();
}

これって、元々テキストが入ってたテキストフィールドが「myTextField」ってことですよね??
だと、for文で全てのテキストフィールドを一致するか調べて探すっていう形になるんでしょうか?


511 名前:507 [2008/04/20(日) 18:01:18 ]
>>508
ありがとうございます。求めてたのはそれです、、が
java.awt.geom.Point2D.Double foo = new java.awt.geom.Point2D.Double();
はO.Kなんですが、
Point2D.Double foo = new Point2D.Double();
と書くとPoint2Dパッケージがないと言われるのですが、そういうものなのでしょうか??

あと、このクラスに限らず、ArrayListの2次元配列に入れたものを取り出すとき
bar = data.get(1).get(2).x;
等とやると、java.lang.Object クラスに変数xなんてない、
と言われるのですが、どうしたらいいのでしょうか?



512 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:22:54 ]
>>510
ずらずら書くのもループで回すのも構成次第でしょう。

>>511
冒頭に
import java.awt.geom.Point2D.Double;
と書けばよいのでは?


513 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:23:43 ]
漏れた。
JDK1.4までのArrayList#getの返値はObject型なのでキャストが必要。


514 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:50:11 ]
ArrayList の現在の要素数を取得するにはどうすれば良いのでしょうか?
ArrayList.size で取得できるかと思ったのですが、以下のエラーが出てしまいます

「size は java.util.ArrayList で private アクセスされます。」

515 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:07:38 ]
>>511
importも分からずにCollectionとは恐れ入った
もう一回勉強した本を読み返すことをおすすめする

516 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:08:05 ]
>>514
privateだからアクセスできません

517 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:12:56 ]
>>514
メソッドとフィールドに関して勉強して来い

518 名前:514 mailto:sage [2008/04/20(日) 19:23:24 ]
>>516-517
レスありがとうございます
すいません、質問の仕方が変でしたね。

質問する時は最低限やったことを書くべきだと思ったので
size が private でアクセスできないことを確認した旨を書きました。

聞きたかったことは ArrayList の現在の要素数を取得方法です
動的にサイズが変化するので要素数の取得をするべきではないのでしょうか?

519 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:33:05 ]
質問です。
あるJavasprictを改造中なのですが、フォルダの構成上、ファイルまでのパスをURL指定にしたいのですが、
以下の記述をどのように修正すればよいのでしょうか?

downloadDir : '../ファイル名.php?img=フォルダ名/'

520 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:37:11 ]
>>1

521 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:37:47 ]
>>518
sizeメソッドを呼ぶ。



522 名前:514 mailto:sage [2008/04/20(日) 19:40:44 ]
>>521
ありがとうございます!

523 名前:478 mailto:sage [2008/04/20(日) 21:26:36 ]
勉強になりました。ありがとうございます。


524 名前:510 mailto:sage [2008/04/20(日) 23:00:53 ]
なるほど。ありがとうございました。

525 名前:デフォルトの名無しさん [2008/04/20(日) 23:49:12 ]
javaのソースの中にたまに「class名#メソッド」
な記載があるのを見るのですが、これって何でしょうか。

staticだったら「class名.メソッド」だろうし
staticじゃなかったら「インスタンス名.メソッド」かな
と思っていますがそれ以外の何かがあるのでしょうか


526 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:51:57 ]
>>525
インスタンスメソッドを示すときのお約束。
言語的にはそういう書き方はできない。


527 名前:デフォルトの名無しさん [2008/04/21(月) 00:00:20 ]
>>526
ありがとうございます!!

528 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:06:00 ]
jTextFieldを複数用意していて、
それを全てクリアしたいのですがどういう方法でやればいいのでしょうか?
for (int i=1 ; i<=100 ; i++) {
myTextField[i].setText("");
}
のようにやればできるのですが、
テキストフィールドの変数名に配列を使わないでやるには一つづつsetTextしていくしかないんでしょうか?
それだとあまりにも面倒なもので...
もし良い案をご存じでしたらお願いします。


529 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:12:47 ]
>>528
思いつかないこともないですが、もっと面倒くさいです。
たとえば、getComponents() メソッドで属するコンポーネントを全て獲得し、
forで一つ一つJTextFieldかどうかを確認し、JTextFieldならクリアする…という方法があると思います。

530 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:27:58 ]
>>526
嘘をおしえるな。


531 名前:デフォルトの名無しさん [2008/04/21(月) 00:28:09 ]
ユークリッドの互除法を用いて、
与えられた2つの整数の最大公約数を出力するJavaのプログラムを示せ。


java GCD 45 18    ←入力

9 ←出力


この問題どなたか分かりますか?



532 名前:デフォルトの名無しさん [2008/04/21(月) 00:40:15 ]
>>492です、>>493>>529の皆さん、ありがとうございました。
おかげさまで、スクリーンセイバーの件は解決できました。
 興味が出てきたのでジャバの勉強もしてみようと思います、
これからいろいろと質問とか疑問に思った事を相談に来ると思うので、
その時は宜しくお願いします。

☆⌒(*^-゜)v Thanks!!

533 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:46:04 ]
>>531
まず、ユークリッドの互除法でぐぐってみてはどうだろうか
一番上にWikipediaが来て、

1. 入力を m, n (m ≧ n) とする。
2. n = 0 なら、 m を出力してアルゴリズムを終了する。
3. n が m を割り切るなら、 n を出力してアルゴリズムを終了する。
4. m を n で割った余りを新たに m とし、更に m と n を取り替えて 3. に戻る。

こんな解説が載ってるわけだが

534 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:40:55 ]
ループ文を break で抜けるように
メソッドを抜ける方法はありますか?

public void hoge(int i)
{
if (i > 3){
System.out.println("nothing to do");
//ここでメソッド抜けたい
}
fuga();
}

535 名前:  mailto:sage [2008/04/21(月) 01:42:05 ]
return;
と書けばいいよ。

536 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:47:09 ]
返り値が void でも return が使えたんですね、知りませんでした。
ありがとうございます

537 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:41:56 ]
javaの初めからあるクラスで、エクステンズしてもいいクラスと
いけないクラスの区別のつけ方と、
クラスのオーバーライドしてもいいメソッドの区別の仕方を
おしえてください。
オーバーライドしてもいいメソッドやクラスは正常に動作するという意味です。

538 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:40:07 ]
自宅では問題ないいのだけれど、出先(友人宅や学校など)でJava Runtime Environment
が入ってないPCでJavaアプリを使いたいのですが、USBやリムーバブルHDでJRE環境を
持ち歩くにはどうすればイイでしょうか?持ち歩いている人なんていないのでしょうか?


539 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:35:32 ]
>>537
アクセス制限に引っかかることがなく、かつ final ではない場合、クラスの継承およびメソッドのオーバーライドが可能。

意味が分からなければ、実際にやれば分かる。コンパイルエラーになるから。

540 名前:デフォルトの名無しさん [2008/04/21(月) 21:36:57 ]
postlet.com/
このアプレットでは日本語ファイルの送信時に、文字化けが発生するので
ソースのUploadThread.javaの265行目のfile.getName()をUTF−8にエンコードするようにしてリコンパイルしました。
(コンパイルは通り、アプレットは生成されました。)

これをtomcat/struts環境で利用するとエラーが発生します。

オリジナルのアプレットは正常に動くのですが、リコンパイルしたものではエラーが発生する状況です。
この状態の回避方法を教えて下さい。

このアプレットで日本語ファイル名のファイルを文字化けなく送信したいです。

541 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:39:09 ]
ログ読もうよ。TOMCAT_HOME/logs/stdout.log あたりになんか
吐き出されてるんじゃないの。



542 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:42:07 ]
>>538
pc11.2ch.net/test/read.cgi/software/1196692396/l50
portableapps.com/node/1141
thingamablog.sourceforge.net/phpBB2/viewtopic.php?t=16

USB に JRE を積んで、それを叩くバッチファイルを作ればいい
みたい。詳しくはリンク先で確認してちょ。

543 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:51:27 ]
>>536
m9(^Д^)プギャー

544 名前:デフォルトの名無しさん [2008/04/21(月) 21:57:15 ]
double x = 1010.101ってのを整数部と小数部に分けたいんだけど
整数部はMath.floor(x);でいいんだけど、
小数部はどうしたらいいのか分からないっす・・・
小数部 = x - Math.floor(x)ってやると0.100999999999ってなっちゃうんです。

545 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:02:42 ]
>>544
> ってやると0.100999999999ってなっちゃうんです。
doubleの数値を10進の文字列Stringに変換してから小数点で
トリミングして切り出せばいい。

546 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:09:50 ]
今日からjavaやってみようと思う、コマンドの1つも知らない俺に優しいサイト&本ある?
ポケット辞書みたいなのあったらありがたいんだけど

547 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:18:03 ]
>>546
java.sun.com/docs/books/tutorial/index.html

>>544
整数部: x / 1.0
小数部: x % 1.0
文字列として正確に出力したいなら >>545

548 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:23:38 ]
おー、調べるまで知らなかったけど、Javaにはfrac()ってないのか。

549 名前:デフォルトの名無しさん [2008/04/21(月) 22:34:28 ]
>>545 String seisu = String.valueOf((int)整数);
String bin = String.valueOf(1010.101);
String ss = "0." + sh.substring((int)seisu.length() + 1,
(int)bin.length());
小数部 = Double.parseDouble(ss);
みたいにやったらできました。ありがとうございました。

550 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:39:36 ]
APIみながらコード書いてたらファイアフォックスのタブがもの凄い数になるんだけど
プロのみなさんはAPIとか見ないの?

551 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:56:03 ]
>>550
見るよ



552 名前:デフォルトの名無しさん [2008/04/22(火) 00:53:20 ]
コンストラクターとは何の為に存在するのでしょうか?

553 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:57:32 ]
インスタンス生成時に処理を行いたいから

554 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:57:31 ]
>>551
いちいち見ながら書いてたら時間がすぐに経ちませんか?
といっても覚えられるものでも無いでしょうけどw

俺が遅いだけだと思うけどコード書くのって時間かかるものなのかな

555 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 03:35:38 ]
やってるうちに「この手のメソッドはこのへんのクラスにありそうだな……」で
引数の順序とかだけ確認する感じになる。慣れとセンスが大事。

556 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:39:57 ]
intからshortに変換するにはどのようにしたらいいでしょうか?

int i = 5;
short s;

s = (short)i;

ではeclipseに怒られてしまいます。

557 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:43:59 ]
>>556
本当に?エラーメッセージは?

558 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:46:51 ]
>>557
すみません。怒られませんでした。

559 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:17:40 ]
JDK 1.6
Security.getAlgorithms("SecretKey") で得られる共通鍵ファクトリの名前が "ACTORY.DES" とかに
なってて先頭の "F" が抜けてるような気がするんだけど、これは直せなくなったバグの類なのかね。

560 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:19:55 ]
JEditorPane editor = new JEditorPane();
JScrollPane scroll = new JScrollPane(editor);
JTabbedPane tabbed = new JTabbedPane();
tabbed.addTab("title",scroll);
Container container = getContentPane();
container.add(scroll);

と書いた後で、editorを取得するにはどうすればよいですか。
getSelectedComponent()あたりを使ったが、editor取得まで
たどり着けません。

561 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:27:17 ]
>>560
メンバフィールドで参照しとけば?




562 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:32:37 ]
>>561
ありがとうございます。
確かにおっしゃる通りだと思いますが、
将来的にタブ数を増減できるようにするつもりで、
動的に扱えればと考えていました。

563 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:13:24 ]
>>554
IDEがAPIドキュメントの必要な部分をポップアップしてくれる

564 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:38:01 ]
テキストフィールド内に
文字が入力された場合とされなかった場合とで
処理の内容を変えたいのですが
テキストフィールド内に文字が入力されているかどうかを
判定できる方法があれば教えてください。

565 名前:デフォルトの名無しさん [2008/04/23(水) 00:32:06 ]
getText()

566 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:53:26 ]
まあgetText()して正規表現?

567 名前:デフォルトの名無しさん [2008/04/23(水) 00:58:52 ]
可変長配列を使うと<identifierがありません>とエラーが出ます。なぜなんでしょうか?
class FallPane{
Vector<AbstractFallBall> balls;  //エラー部分

public FallPane() { //コンストラクタ
balls = new Vector<AbstractFallBall>(); //エラー部分
}

568 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 01:28:08 ]
エラーがでますではなく、出力されたエラーメッセージをコピペ汁

569 名前:デフォルトの名無しさん [2008/04/23(水) 04:40:46 ]
パッケージ名に「core」ってよく見るんだけど、どんなクラスを入れるの?
ビジネスロジックのあるクラス?なんか重要っぽいという事しかわかんね。


570 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 04:58:12 ]
フレームワークのutilsじゃなくてcoreな部分

571 名前:567 [2008/04/23(水) 08:58:18 ]
567です。
エラーメッセージはこうです。
Fall.java:83: <identifier> がありません。
private Vector<AbstractFallBall> balls;
------------^(この矢印は山形カギ括弧を指しています。) 
Fall.java:89: '(' または '[' がありません。
balls = new Vector<AbstractFallBall>();
----------------^

公開されているサンプルプログラムをそのまま実行しても
こうなります。
なぜなのかわかりません。
java環境のバージョンは1.4.2で
pcはmacです。



572 名前:567 [2008/04/23(水) 09:01:28 ]
>>571のエラー部分の矢印が、ずれてますが
2つとも、Vectorの次の山形カギ括弧を指しています。

573 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:28:51 ]
>>571
公開してるサンプルプログラムは 1.5以上必要で、
君の jdk のバージョンが 1.4.2 だから、コンパイルできない。

574 名前:567 [2008/04/23(水) 10:09:12 ]
VectorやArrayListなどの可変長配列は使えるんで、
オブジェクトの型を記述する<>の部分がjdk1.5じゃないとダメってことですね。
今のPCでは1.5にヴァージョンUPできないので、
その代わりとなるjdk1.4.2でも可能なコードってありますか?
<>の部分をはずして使うと

Fall.java:143: 互換性のない型
検出値 : java.lang.Object
期待値 : AbstractFallBall
AbstractFallBall ball = balls.get(i);
とエラーが出ます。

575 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 10:25:03 ]
>>574
> AbstractFallBall ball = balls.get(i);
AbstractFallBall ball = (AbstractFallBall)balls.get(i);
みたいに、全部明示的にキャストするとか。

576 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:05:24 ]
タイムゾーンの "Asia/Tokyo" みたいな 「地域/都市名」 表記って ISO かどっかで標準化されてんの? それとも Java 独自?

577 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:23:43 ]
>>569
これだっ!っていうクラス

578 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:44:50 ]
>>576
RFC2445、らしい。

579 名前:567 [2008/04/23(水) 15:11:58 ]
575さん、ありがとう。
解決しました。キャストすればよかったですね。


580 名前:デフォルトの名無しさん [2008/04/23(水) 15:16:58 ]
キャストは明示的にやる癖つけた方がいいね

581 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:18:06 ]
他人が見ることを前提に作らなきゃな



582 名前:デフォルトの名無しさん [2008/04/23(水) 16:01:35 ]
JavaMailでsetFlagsがサーバー側に保存されません。
(接続部分省略)
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);

//メッセージ数表示
System.out.println(folder.getMessageCount());

//適当なメッセージを取得
Message msg = folder.getMessage(2000);
System.out.println(msg.getSubject());

//フラグを変更
Flags flag = new Flags(Flags.Flag.SEEN);
msg.setFlags(flag, true);

//フラグの立っているメッセージを取得
Message[] msgs = folder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), true));
for(int i=0; i<msgs.length; i++) System.out.println(msgs[i].getSubject());

//再び総数と、未読数を取得
System.out.println(folder.getMessageCount());
System.out.println(folder.getUnreadMessageCount());

folder.close(false);
store.close();

これで、実行すると未読数の数は減ります。
で、取得するメッセージを変えても、以前の物にフラグが立っていない状態です。

583 名前:582 [2008/04/23(水) 16:05:37 ]
DELETEのフラグをたてて
folder.close(true);
にすると削除されます。

やりたいことは、メールを削除しないで、処理していないメールのみを受信することです。
プロトコルはPOP3です。

削除フラグだけたててfalseのままcloseも試したけどリセットされてる感じです。

サーバーから削除しないで、新しいメールのみと受信はどうすればいいのでしょうか?
お願いいたします。

584 名前:582 [2008/04/23(水) 17:48:08 ]
もしかしてPOP3では不可能で
ttp://www.mew.org/~kazu/sut/2002-1st/12.html
ここにあるように一回前の受信のUIDをサーバーと見比べて受信するのでしょうか?
上のサイトにはリストを保持、ってあるけど、最後のUIDだけあればいけそうですね。

微妙にJAVAの話題じゃなくなってきたけど・・・
「メールをサーバ側に残す」
はこんな感じで実現してるんでしょうか?

585 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:44:49 ]
質問です!!!!
try{
System.out.println("文字を入力してください");
BufferedReader br = new BufferedReader(
new InputStreamReader( System.in ) );
String str = br.readLine();

System.out.println(str+"をファイルに出力します");
FileWriter fw = new FileWriter( "test.txt" );
fw.write( str, 0, str.length() );
fw.close();
}
catch( IOException e ){
System.out.println(e);
}
これで実行して文字を打ち込んでもファイルに出力されないんですがどこがおかしいですか?

586 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:56:53 ]
>>585です
ちゃんと出力されてました
すいませんもう二度と書き込みませんのでどうか許してください

587 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 19:10:03 ]
>>578
サンキュー
該当の RFC、ナナメ読みしただけではどこが該当してるんか分からんかったが
参考文献に定義ソースと思しきデータの場所見つけたので張っとくわ。
ftp://elsie.nci.nih.gov/pub/tzdata2008b.tar.gz

588 名前:デフォルトの名無しさん [2008/04/23(水) 21:04:20 ]
Javaアプリケーション上から別のDOSで動くアプリケーションを呼び出したいのですが
どうすればよいのでしょうか?
Robotクラスでも何とかできるのですが、DOSアプリなので表示の必要は無く、
見た目上はJavaアプリケーションしか走ってない状態がいいのですが、方法がわかりません・・・。
よろしくお願いします。

589 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:08:40 ]
>>588
ProcessBuilder

590 名前:デフォルトの名無しさん [2008/04/23(水) 21:15:27 ]
>>589
おおありがとうございます!でけますた!!

591 名前:588 mailto:sage [2008/04/23(水) 21:43:42 ]
>>589
あまりにも感謝の気持ちが強いのでお礼の気持ちでうp
image.i-bbs.sijex.net/bbs/mini/1208006729394o.jpg
blog67.fc2.com/r/rakuen2/file/20080328_009.jpg
g003.garon.jp/gdb/Go/yK/E4/Gb/Jf/Uf/B3/LT/Wp/Y5/x8/F1C6.jpg




592 名前:589 mailto:sage [2008/04/23(水) 21:45:04 ]
なぜ、女なんだ

593 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:47:00 ]
グロ貼んな

594 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:39:15 ]
うpじゃねーし

595 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:35:55 ]
近所の猫も飼い主に捕れたてのネズミをプレゼントしようとしてたな

596 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:45:17 ]
>>540ですけど下の様なエラーが出ます。

javax.servlet.ServletException: Processing of multipart/form-data request failed. Stream ended unexpectedly
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:194)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:405)

commons-fileupload-1.1.1.jarだったのをcommons-fileupload-1.2.1.jarに変更してみてからは上のも含め下の様なエラーが出ることもありました。

javax.servlet.ServletException: Header section has more than 10240 bytes (maybe it is not properly terminated)
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:194)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:405)


javax.servlet.ServletException: Stream ended unexpectedly
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:194)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:405)

この状況を改善するにはどうしたらいいでしょうか・・・

597 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:08:02 ]
>>586
絶対に許さない。絶対にだ。

598 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 03:40:32 ]
>>582-584
その通り。POP3では既読/未読の区別はない。


599 名前:デフォルトの名無しさん [2008/04/24(木) 11:10:18 ]
wicket.ApplicationPagesがimportできないのは…なぜ!?

ちなみにwicketのversionは1.2.7です。
参考サイトはversion1.1.1を使ってるから名称が変わってるのかな?;
誰か教えてください><

600 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:13:56 ]
バージョンのせいにしたいならバージョン入れなおして
試せよ

601 名前:デフォルトの名無しさん [2008/04/24(木) 11:20:11 ]
だってversion1.1.1が見つからなかったんだもん〜♪



602 名前:デフォルトの名無しさん [2008/04/24(木) 11:39:25 ]
javaからMySQLに接続し、データベースを操作するプログラムを作っています。

System.out.println("商品コードを入力してください。(5文字)");
System.out.print("商品コード:");
String str=br.readLine();

このstrの頭が全角スペースや半角スペース、未入力のときに例外処理(「未入力です」と出力など・・)を行う記述を教えてください。


603 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:42:46 ]
if (str.startsWith(" ") || str.startsWith(" ") || str.length() == 0) { System.out.println("未入力です"); }

604 名前:デフォルトの名無しさん [2008/04/24(木) 11:48:44 ]
>>603
できました!
ありがとうございます!!

605 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 12:47:55 ]
>>603
startsWithが先頭。
ということは最後の文字を弾くには・・?

606 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 13:48:14 ]
endsWith

607 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:51:20 ]
>>602です
strにコードを入力させ、そのコードの情報を出力するプログラムなのですが


String str=br.readLine();
String sql = "select * from kadai where コード='"+str+"'";
ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();

while(rs10.next()){

// コードデータを取得
String a = rs.getString("コード");
String b = rs.getString("名前");
String c = rs.getString("電話番号");

// データの表示
System.out.println("コード :"+a);
System.out.println("名前  :"+b );
System.out.println("電話番号:"+c );
}


ここで入力したコードに該当するコードがなかった場合、「コードは存在しません」と出力させる記述をお教えください。
ExcuteUpdateならintにして0か1で返ってきたのですがExcuteQueryだとできなくて・・

608 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:53:52 ]
jar実行ファイルで起動するアプリを作ってるんだけど、わからない事があるので質問します。

antでコンパイルとjar作成をしてるんだけど、jarの中にLogback用設定ファイルを置きたい。

設定ファイルはクラスパスが通ってる場所に置けばいいらしいが、どこに置けばいいですか?
あるいは、MANIFEST.MFのクラスパス属性にこう書けば良いよってのがあれば教えてください。

609 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:15:25 ]
>>607
先にResultSetの件数を調べて、0件なら該当無しとすればいいかと
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26815&forum=12&5

課題乙w

610 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:17:34 ]
>>607
正しいやり方というか、標準的なやり方ではないかもしれんが

int count=0;
while(rs10.next()){
    // 処理...
     count++;
}
if(count<1) {
    System.out.println("コードは存在しません");
}

とでもしたら?

611 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:30:15 ]
>>610
できた!
あ〜そんな手が・・



612 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:36:37 ]
>>608
普通は出来ないような気がするけど、FatJarとかなら出来るんでないかな?

613 名前:608 mailto:sage [2008/04/25(金) 11:44:06 ]
>>612
なるほど、もしかしたら設定ファイルじゃなくて、jarに突っ込んだLogbackのjarが見れてないのかも知れません><

FatJar試してみます!ありがとうございました。

614 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:51:05 ]
実際のところ「Write Once, Run Everywhere」ってホントなのですか?
環境依存とかないのですか?

615 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:00:08 ]
PC 程度以上ならどれでも動くよう作りこむことは出来る。
ただし実行環境や DB なんかのミドルウェア依存のコード書けば依存するに決まっている。
動かねぇと言ってる奴の大概はテメェのバグとどっからが環境依存かを分かってない無知。

616 名前:608 mailto:sage [2008/04/25(金) 12:00:53 ]
>>612
早速試してみたところ、いともあっさりと出来ました!
改めてありがとうございます!

617 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:13:03 ]
>>614
各JVMでの、微妙な挙動の違いがトラブルの元になったりする
だから、どうしてもプラットフォームごとに動作試験をすることが欠かせない場合もある

そのことを指して(場合によっては皮肉を込めて)
Write Once, Test Anywhere
と言われることもある

618 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 13:08:49 ]
>>615
>>617
なるほど。参考になりました。

619 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 15:36:32 ]
テキストファイルを読み出すときに、指定した文字コードで化ける文字が含まれてたら
例外にしたいんだけどどうすればええんじゃ。

620 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 21:07:17 ]
>>619
java.nio.charset.CharsetDecoder#onUnmappableCharacter(CodingErrorAction)
java.nio.charset.CharsetDecoder#onMalformedInput(CodingErrorAction)

621 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 23:30:29 ]
>>619
可能です。
以上。
はい次の方。



622 名前:デフォルトの名無しさん [2008/04/25(金) 23:49:00 ]
SDKのインストールに関して質問させてください

SDKのインストールの途中、以下のエラーメッセージが出てしまいました
「このインストールに必要なキャビネット ファイル
'st160000.cab'は壊れているため使用できません。
ネットワークエラーまたはCD-ROMからの読み取りエラーが発生したか、
このパッケージに問題がある可能性があります」

以下のページ(英語)で同じ症状が出てるようなのですが、よくわかりませんでした…
forums.java.net/jive/thread.jspa?messageID=254470

行き詰まってしまいました。何かヒントを教えていただきたいです
よろしくお願いいたします

623 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 00:39:54 ]
同じJNLPファイルをwww.java.com/ja/でダウンロードした実行環境で実行した結果
二台のPC中、片方だけ「could not create the java virtual machine」というエラーが出るのですが

何度か再インストールを試してみたり開発環境をつっこんでみたり、ぐぐって見たりもしたのですが
大体再インストールで直っている例が多く、具体的に何か弄ったり手動で消すような項目も見当たらず
行き詰っています。
何かしら糸口でも構わないので教えていただけないでしょうか。

624 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 00:42:15 ]
>>622
可能ならブラウザのキャッシュを消してから、
ダウンロードし直し。

625 名前:デフォルトの名無しさん [2008/04/26(土) 01:28:14 ]
eclipseの参照検索のソース見たいんですが、ソースzip内のどこら辺か知ってる人いたら教えてください
出来れば主要クラス、仕組がざっくりと分かるサイトなんかも・・・

626 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 03:09:02 ]
Javaで一般に使ってスピードが速い変数はどれですか?
intは整数のみだし doubleは64bitで大きいし
floatが適していますかね?
でもあまりfloat使ってるの見かけないような。

627 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 04:41:46 ]
そんなの気にしない

628 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 05:29:27 ]
>>626
実数型のfloatよりも整数型のint方が圧倒的に速い。

しかし、現実には>>627の言うとおり。
そんなのを気にするほど神経を使うのなら、
そもそもJavaを選択することが間違っていると言える。
Cかアセンブラでも使っておけ。

629 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 10:40:13 ]
>>626
まず原則としては>>627>>628の言う通り。
あと、一般的には、CPUで直接計算可能なdoubleの方がfloatより速い。
(もちろん例外はある)

630 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 10:52:03 ]
Intel CPU とか、小数は 80-bit で double より大きいだろ・・・。

631 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 10:56:35 ]
>>629
float がCPUで直接計算できないとでも?



632 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:04:37 ]
>>626
言語としてのJavaからはint演算とfloat演算でどっちが速いとか遅いとかは一切言えない。

本番の実行環境と実際に使用するコード(マイクロベンチではなく)で速度比較するのが一番手っ取り早い。
詳しく知りたいならJITコンパイラのコード読んでみるとか、
そこまで元気がないなら、前スレ906の
> デバッグ版のJDKだと -XX:+PrintOptoAssembly オプション付きで起動すれば
> 出力できるらしいって d.hatena.ne.jp/kkawa/20080330 に書いてある。
でJIT後のアセンブリコード比較してみるとか。

633 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:12:52 ]
みなさんいろいろなご意見ありがとう。
VBではintよりdoubleが一番速いとききました(32bitだから?)。

Cへの流用も考えているので
整数ならint、実数ならdoubleを使うことにします。
Cではfloatよりdoubleが速いんですよね。

634 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:33:12 ]
VBはlongが速いだろ

635 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:33:48 ]
> Cではfloatよりdoubleが速いんですよね。
そんなんCPUの世代が変わっただけで逆転したり、
コンパイラの最適化が変わっただけで逆転したりするよ。

636 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 12:55:18 ]
使用型での2倍以下のの速度差を気にしてる初心者は
得てして100倍遅いアルゴリズムをどうどう使ったりしてるから注意

637 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 16:49:12 ]
>>623
iTunes classpath

638 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 18:21:35 ]
JRE5と6を両方インストールして
firefoxがJavaアプレットを実行するのは5
・・・という設定にするにはどうしたらいいですか

<JRE5>/bin/javacpl.exe でfirefoxのアプレットタグサポートをONにし
<JRE6>/bin/javacpl.exe ではOFFにする、
という方法を試みましたが、6で実行されてしまうようです
(OSはWindows Vista)

639 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 18:28:03 ]
>>638
Javaコントロールパネル->Java->Javaアプレットのランタイム設定でできない?

640 名前:638 mailto:sage [2008/04/26(土) 19:03:35 ]
>>639
その設定項目はパラメータの設定しかできないと思ってたんですが
有効/無効や優先順位も設定できたんですか?
もしそうであれば、設定方法を教えていただきたいです

それとも、パラメータでそういう設定ができるとか・・・?

641 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 19:46:02 ]
複数のJREがインストールされてたらチェックボックスでどれかえらべるだろ。



642 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 19:56:41 ]
32bit環境では例えばエクセルのVBAなどは常にIntegerよりはLongを使ったほうがいいってこと?

643 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 20:31:11 ]
>>642
VBAのスレで聞け。相手してくれる暇人がいるかどうかは知らんが。

644 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 02:19:56 ]
>>642
聞くな。測定しろ。

645 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 02:35:53 ]
だーから分かんねーならレスするなってんだよ

646 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 11:25:47 ]
お前が答えろ

647 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 16:13:55 ]
double の 小数点下2桁以下を切り捨てて
String に変換するにはどうすれば良いですか?

648 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 16:16:23 ]
NumberFormat

649 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 19:58:03 ]
そういえば昔初心者禁止を銘打った上級者スレがあった希ガス

650 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 20:00:44 ]
>>46
> 昔々、時は J2EE やら C#/.NET の登場やらでム板も大変盛り上がっていた頃のお話。
> それまで質問者の多数を占めていた 「自分で分析してキーワードで答えにたどり着ける」 層に
> 代わって 「動きませんできません」 系のニューエイジ層が増え始めた (ようは今の質問レベルに落ちた)。
> 業を煮やした誰かが 「初心者無視スレ」 を立ち上げたが程なく過疎。以後本スレの避難所として
> 細々と 1〜2 年 (くらいだったか?) 続いて終幕。ちょうど死滅スレ乱立時代の頃のお話。


やばい。懐かしすぎる。死滅スレ乱立懐かしい。DocletやEJBスレもあって懐かしかったあの頃w
あの頃は凄かった。あの頃の彼らをたまに見かけるのが笑える。
いまだに同じ文体でマ板のJava系スレでJava叩いて.NET奨めるレスを見かけることがあるw

651 名前:638 mailto:sage [2008/04/28(月) 00:10:38 ]
>>641
ウィンドウ内のどこにもチェックボックスが見当たりません・・・
解決の糸口が見えてきたような気がするのでいろいろ試してみます
ありがとうございます



652 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 04:34:29 ]
>>648
ありがとうございます

653 名前:623 mailto:sage [2008/04/28(月) 14:55:15 ]
色々とアンインストールしたりしながら試してみたところ
カスペルスキーをアンインストールしたら
could not create the java virtual machineが出なくなりました。
保護の一時停止しても駄目でアンインストールすると出なくなるんですが
もうセキ板行ったほうがいい気もするんですが何かご存知の方居ましたら教えてください

654 名前:デフォルトの名無しさん [2008/04/28(月) 17:33:30 ]
中小企業勤務の者なのですが、ここで質問をさせてください。
会社の簡単な経理システムをJavaで組もうと思っているのですが、
実際にアプリケーションとして使う場合、どのような形で配布をすれば良いのでしょうか?

会社のシステムは、

WindowsXP機 2台
Windows2003 Server機 1台
WindowsVista機 4台
MacOS X Tiger機 2台
MacOS X Leopard機 3台

です。それぞれで使えるようにとJavaで組もうと思っています。

655 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:36:29 ]
ダブルクリッカブルjarで十分

656 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:37:22 ]
アプレット

657 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:43:44 ]
JavaWebStart

658 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:44:42 ]
レスありがとうございます。
とりあえず組んでみて、jarにするかアプレットにするかアンケートをとってみます。

659 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:52:32 ]
JavaでのGUI開発にはNetBeansだな

660 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:10:04 ]
NetBeans使いってなんでEclipseに敵対意識持ってるの?

661 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:18:28 ]
>>658
鯖使えるならアプレットよりJavaWebStartの方が良いよ。
てかアプレットはやめときな。



662 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:22:20 ]
>>658
jar→(利点)普通のアプリとして組める。(欠点)配布やバージョンアップが面倒。
アプレット→(利点)配布やバージョンアップが楽。(欠点)アプレット特有の制限(ファイルアクセスとか)が付く。
JavaWebStart→(利点)普通のアプリとして組める。配布やバージョンアップが楽。(欠点)情報が少な過ぎ。

663 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:28:19 ]
>>660
GUIアプリを作るならNetBeansの方が便利だからじゃ?

664 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:46:16 ]
>(欠点)情報が少な過ぎ。
JDKのjavadocにあるドキュメントで十分だと思うんだけど、他になんかいる?

665 名前:デフォルトの名無しさん [2008/04/28(月) 18:52:57 ]
654ですが、再び質問です。

Javaのアプリケーションで入力した内容を、ワード形式、エクセル形式で出力をし、その中身を
www.legal.co.jp/products/mamoru/images/11.gif このような感じにする事は可能なのでしょうか?

666 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:54:51 ]
WordprocessingMLとSpreedsheetMLを利用すればおk。

667 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:55:10 ]
>>665
ブラクラ

668 名前:デフォルトの名無しさん [2008/04/28(月) 18:59:02 ]
>>666
ありがとうございます。調べてみます。

669 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 19:02:23 ]
Apache POIでもできるね

670 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 19:45:06 ]
Open Office

671 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 23:36:46 ]
GUIのプログラム作ってて
別クラスにリスナー登録して、イベントを処理させてるんだけど
ついついメインのウィンドウやらコンポーネントやらを
やたらとstatic化してしまうんだけど、なんかすっきりしない。。
GUIのデザパタとか、設計のしかたってみんなどうしてるの?




672 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 23:43:27 ]
それぞれが独立して使えるように作る

673 名前:622 mailto:sage [2008/04/28(月) 23:51:59 ]
>>624
ブラウザのキャッシュを消してからダウンロードし直してみましたが
PCの調子自体が悪くうまくいきませんでした
ですが別のPCを借りられたので、そちらにインストールできました
これから少しずつ勉強します
どうもありがとうございました

674 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 01:10:23 ]
>>671
メインは、イベントソースとなる子を作る際に自分自身への参照を渡しておく。
new Clild(this);

コンポーネントは、それを受け取ってリスナに渡し、このリスナを登録する。
public Child(Parent parent){
Listner listner = new Listner(parent)
addListner(listner);
}

自分はいつもこんな感じだけど、もっと良い方法があるような気がする。

675 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 10:44:42 ]
子は親に依存しないように作るのが理想

676 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 11:22:36 ]
>>674
this(親)そのものを渡すのではなく、Observerとして渡す
無理に親からObserverを引き剥がしても、無駄に複雑になるだけだから親の実装インターフェイスとしてObserverを定義するのが一般的。
そうすることで、子の親への依存関係が薄くなる。

677 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 11:48:18 ]
Buttonが特定の親からしか使えなかったらおかしいでしょ
それと一緒

678 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:09:17 ]
来月からPGとして入社予定で一からjavaを勉強しているものです。
とりあえず基礎の基礎からはじめてみたのですが、
文章の出力のところでわからないことがあるので質問させていただきます。

class Char2 {
public static void main(String[] args) {
char a = 'み';
char b = 'ん';
char c = 'な';
String d = "のピースイッツオーライ!";
int e = 3;

System.out.println(a);
System.out.println(a + b + c + d);
System.out.print(a + b + c + e + "つ食べる。");

}
}

こういうプログラムを組んだのですが、
出力結果が、

c:\java>java Char2

37244のピースイッツオーライ!
37247つ食べる。
c:\java>

こうなってしまいます。
なぜcharで宣言した変数が結合させると数値になってしまうのでしょうか?
よろしくお願いします。


679 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:14:27 ]
37244と37247の差にわろたw

680 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:43:49 ]
吹いたw
charじゃなくてStringを使えばいい
'な'じゃなくて"な"

681 名前:674 mailto:sage [2008/04/29(火) 12:45:37 ]
>>676
参考にしますアリガト



682 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:47:55 ]
charは文字コードを表せる範囲の「整数」を格納する型です。
(現実には1文字1charの関係は破綻してるのだけど)

整数としては
a = 12415
b = 12435
c = 12394
という量になります。

文字列なら、1文字であっても
String a = "み";
のように文字列で扱う方が自然なことが多いです。

System.out.printlnは
System.out.println(char)とSystem.out.println(String)(他にも)があって
前者は受け取ったcharの表す文字をプリントするので、aだけを渡した
ものは文字として表示できてますが、それ以外は a + b ...などが整数
の加算として行われてしまうので、期待通りになってないわけです。


683 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:48:57 ]
>677
あるボタンは特定の親に依存するのは別にありかと思う。
だが、親のある機能を実行するためのボタン(やメニュー)が複数ある事はよくある。
なので間接的に親を参照するってのが妥当。

684 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:52:05 ]
a + b + c + dはこうなる
int tmp = 'み'; // tmp == 12415
tmp += 'ん'; // tmp == 24850
tmp += 'な'; // tmp == 37244
String tmp2 = new StringBuilder().append(tmp).append("のピースイッツおーらい!").toString();
System.out.println(tmp2);
こうすればコンパイラを騙せる
"" + a + b + c + d

685 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:54:33 ]
>678
ポイントはprintメソッドの引数が色々(int char String)あって、演算子(+)の優先順位とかから選択されているってこと。
cahrを+でつなげると整数として加算されるけど、Stringと+でつなげた場合は文字列として結合される。

基本的には考えなければどの型になるか解らないような書き方をする方がよくないので、680が正解。
でも、学習の段階ではある程度の仕組みを覚えなければならないのも事実やね。

結論だけ言えば、
System.out.println(a); は aをcharとして認識。
System.out.println(a + b + c + d); は加算した整数として認識。
直、(char)(a + b + c + d) だと話も変わる
System.out.print(a + b + c + e + "つ食べる。");
これは、(a + b + c + e) + "つ食べる。" と考える。

686 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:05:09 ]
>>680,682,684,685
皆さんレスありがとうございます。
ちょっとまだ学習していないの単語が出てきていて完全には理解できていないのですが、
・charで変数に格納されるのは、文字を表す「数値である」。
・計算した場合それは数値とみなされ、以後文字ではなくなる。(変数の中身は文字を表す機能は持ったまま)
・そのまま出力した場合は文字になる。
・ややこしいので一文字でも基本的にはStringを使ったほうがいい。
と言うことでよろしいのでしょうか?

687 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:20:18 ]
>charで変数に格納されるのは、文字を表す「数値である」。
文字ではあるが、intの下位互換として振舞うので注意しなくてはならない。

>計算した場合それは数値とみなされ、以後文字ではなくなる。(変数の中身は文字を表す機能は持ったまま)
計算した場合は数値とみなされるが、文字となるかどうかはその結果を格納する変数次第。
例えば、
int r = a + b + c;
とすれば整数だし、
char r = a + b + c;
とすれば文字(ただし、このままだとコンパイルエラー)

>ややこしいので一文字でも基本的にはStringを使ったほうがいい。
こればかりはケースバイケースだが、混乱するうちはそう思ってOK

688 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:24:36 ]
・charで変数に格納されるのは、文字を表す「数値である」。
半分正解。このあたりは色々いじくってみないと分からないと思う。
・計算した場合それは数値とみなされ、以後文字ではなくなる。
No。計算しようがしまいが、数値には変わりない。
だから、文字にint型の定数を加算して、文字に戻すということもできる(やりにくいような仕組みにはなっているけど)。
余談だが、この場合「計算」というより、「加算」とか「算術演算」という方がいい。計算は意味が色々あるから。
・(変数の中身は文字を表す機能は持ったまま)
No。byte、short、charの加算はint型に直されてから加算される。これはJavaの仕様。
・そのまま出力した場合は文字になる。
Yes
・ややこしいので一文字でも基本的にはStringを使ったほうがいい。
結論としてはYes
ややこしいかどうかではなく、状況に応じて「み」「ん」「な」などを文字として扱うか、文字列として扱うかを、プログラマが判断して選ぶ。

689 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:30:06 ]
さすが簡単な質問には親切だな>ぽまいら

690 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:33:24 ]
だって久し振りの休日なんだもん

691 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:35:13 ]
>>687,688
ありがとうございます。
なんとなく感覚でですが理解できました。
とりあえずこのまま進めてみます。

今読んでるJava絵本を早く消化したいので(笑)

しかしやっぱり中々奥が深いですね、、、
PC用のプログラミングは初めてなので中々難しいです。
またわからないことがあったら聞きに来るかもしれません。
そのときはまたよろしくお願いします。



692 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:39:31 ]
難しい質問はたいていの場合情報が少なくて回答しようがないか、長くなるから回答するのがタルイんだよ。

693 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 14:46:29 ]
時刻ではなく、時間を保持するクラスって何を使えばいいんでしょうか?

694 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 14:50:36 ]
> 時刻ではなく、時間を保持する


695 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 14:54:10 ]
longでミリ秒を保持するってことで回答になっているのか?

696 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:01:59 ]
>>632
debug版JDK(Windows x86 1.6.0_10)落としたけど、
Could not create the Java virtual machine.
Unrecognized VM option '+PrintOptoAssembly'
って出る。x86じゃ無理?ボスケテ

697 名前:693 mailto:sage [2008/04/29(火) 15:14:01 ]
動画の時間のようなmm:ssってやつを手軽に扱いたいのです・・・

698 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:15:58 ]
>>675
既婚者のコメントみたいで意味深だなぁw

699 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:19:44 ]
管理したい一番細かい単位(秒とか)で持って、
表示にSimpeDateFormatを使う。


700 名前:693 mailto:sage [2008/04/29(火) 15:21:16 ]
>>699
それでやってみます。

701 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:22:13 ]
あ、もしかしてSimpleDateFormatってDateしか整形できない??




702 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:25:28 ]
ミリ秒を渡せばいいぽいな。


703 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:30:02 ]
>>696
-server ついてないとか?

704 名前:696 mailto:sage [2008/04/29(火) 15:55:42 ]
単純に落とすファイルまちがえてたorz
betaじゃだめなのか

705 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 21:33:30 ]
>>671
こんなの見つけた。
oshiete1.goo.ne.jp/qa3092604.html

706 名前:671 mailto:sage [2008/04/29(火) 23:50:05 ]
Mediatorパターンっていいな
作り変えてみるわ

みんなありがと


707 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:35:05 ]
C#のGraphics.MesureStringに相当するコードってJavaにありますか?
あれば教えてください。


708 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:45:54 ]
FontMetrics のこと?

709 名前:707 mailto:sage [2008/04/30(水) 17:56:02 ]
FontMetricsで計れました。ありがとうございます。

710 名前:デフォルトの名無しさん [2008/05/01(木) 00:37:18 ]
jdkってzipで配布してないの?
sunのサイト見たけどexeしか見つけられなかった

711 名前:デフォルトの名無しさん [2008/05/01(木) 00:57:37 ]
string k = "00" + Integer.toString( i );

eclipseで開発しておりまして、上記のように書き文字列の頭に00を付け足す事は
成功しましたが、空白を付け足すことができません

string k = " " + Integer.toString( i );

こう書くと、出力される文字列に空白のスペースが付与されないのですが
どうすれば解決しますか?




712 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 01:03:21 ]
付くだろ糞ヴォケ

713 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 01:35:51 ]
>>711
まさか、HTMLでやってて、ブラウザが空白を省略したなんてオチじゃないよね。

714 名前:711 [2008/05/01(木) 02:01:13 ]
>>713
そのまさか、かもしれない。今やってるのJSPだし。
<%@ page trimDirectiveWhitespaces="true" %>とかいじってたよorz...

715 名前:711 [2008/05/01(木) 02:04:59 ]
<pre></pre>のタグで挟んだら思い通りに出来ました。
解決までに4時間\(^o^)/

716 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 02:08:46 ]
回線切って首つって死ねば良いと思うよ。

717 名前:デフォルトの名無しさん [2008/05/01(木) 12:00:14 ]
誰か質問に答えてください

クラスの中のstaticで定義された変数って
Cでいうグローバル変数じゃない?
Cではさんざんグローバル変数嫌われてたけど、
何でJAVAでは認められてるの?

718 名前:717 [2008/05/01(木) 12:00:41 ]
すみません、追加です

お願いします、誰か教えてください

719 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:08:21 ]
static変数を使うか使わないかは自由。
当然使わない方が好ましいけど、final として定数のように使うことは便利だから用意されている。

720 名前:デフォルトの名無しさん [2008/05/01(木) 12:10:42 ]
>>719
なるほど、ありがとうございます

721 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:10:59 ]
もちろんpublic staticな変数はグローバル変数的な使い方もできる
一般的に乱用は好ましくない

ただ例えばprivateで修飾すればアクセスを制限できる
getter、setterメソッドを追加してやればアクセスを制御できる
こういう点で単なるグローバル変数とは違う



722 名前:デフォルトの名無しさん [2008/05/01(木) 12:12:25 ]
>>721
ありがとうございます

723 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:33:01 ]
クラスファイルが大きくなってきて
ガベージコレクトか最適化か分からないけどカクカクするようになってきました。

そこでクラスファイル中で初期化だけに使う関数を消したいんだけど無理?
ゲームの実行中は初期化に使う関数をガベージコレクトの対象から外したいのです。

724 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:33:58 ]
メソッドはGCの対象にはならん。
クラスを分割して小さくしろ

725 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 13:34:22 ]
クラスを分割してもクラスローダを分割しないと回収されないよ
でも効果は薄そうな気がする
とりあえず本当にGCが原因なのか確認しる
-verbose:gc オプション付けて実行すればログが出るから
jconsole を使ってもいいし

726 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 14:55:22 ]
DatagramPacket に設定できるデータの最大サイズってどこでわかるナリか?

727 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 15:07:38 ]
どっちかといえばNICとかOS側の制約な気がする

728 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 15:32:10 ]
それどっかから取れないナリか? ネイティブでもペイロード長分からないんだっけ?

729 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 15:41:21 ]
jspでフォームに入力されたメールアドレスが正しく無い場合
入力欄の下に”メールアドレスが正しくありません”と表示させたいのですが

どのように実装するのが良いでしょうか?
似たページを複数作るのは手間が掛かりすぎます。


730 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 15:45:41 ]
JSTL でも使え

731 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 16:01:00 ]
>>728
取り方はわかんないなぁ。
どうせイーサだし、1500以下じゃだめなんかな?
PPPoEとか考えてるともっと小さくないとだめだろうけど。

>>729
JavaScriptでチェックしたら?



732 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:13:26 ]
Jad と連携させて .class のソースビューワみたいなのを作ってるんですが
そもそも、.NET における Reflector みたいなソフトって
Java にはあるんでしょうか?
よろしくお願いします

733 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:25:49 ]
Refactorってのは知らんけど、あんたさんが作っているのはJadclipseってEclipseプラグインであるぞ

734 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:39:54 ]
Java Native Interfaceはこのスレで質問しても大丈夫ですか?

jchar型の変数にunicodeを代入したいんですがどうしても方法がわかりませんでした。

char型→jchar型の変換は見つけたのですが、char型[]をjchar型にする方法が知りたいです。

8bit(aなど)のものは問題ないのですが16bit("あ"など)がどうしても格納できません。

java神の降臨を願います。


735 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:51:15 ]
めんどくせーので Java 側で byte[] ⇔ char[] 変換メソッド作ってそれを JNI から呼んでる。

736 名前:デフォルトの名無しさん [2008/05/01(木) 23:49:04 ]
メソッドの定義でこのようなのがあったのですが
public static <T extends Comparable<T>> void sort(List<T> list)

<T extends Comparable<T>> の部分がよくわかりません…。
この部分では何がどう定義されているのでしょうか?
(T というクラスが Comparable<T> を継承してる???)

Java Generics関連らしいのですが
単純に文法的な記述の意味がわからず困っています

737 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:13:35 ]
> (T というクラスが Comparable<T> を継承してる???)
そんな感じ。

738 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:17:02 ]
『TってのはComparable<T>を実装したTだ』って宣言

739 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:20:52 ]
String extends Comparable<String>とかな。

genericsの導入でComparable#compareToなんかもObjectではなく
特定の型を取れるようになったためにこうなる。


740 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:21:28 ]
implementsですた。


741 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:08:33 ]
iアプリを勉強しようと思うけどどれをDLすればいいですか?
ttp://www.nttdocomo.co.jp/service/imode/make/content/iappli/tool/index.html
あとこれもどれなのかわかりません。
ttp://www.eclipse.org/downloads/



742 名前:736 mailto:sage [2008/05/02(金) 01:10:34 ]
>>737-740
レスありがとうございます。

まだわからない所があるので、もう少し相手してもらえると助かります。

ドキュメントによると Comparable は インターフェースですよね。
インターフェースは継承ではなく実装するものだと理解してましたが
この場合はなぜ継承されているんでしょうか?

743 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:26:39 ]
インターフェースも継承できる。
使いたいなら実装する必要があるだけ。



744 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:27:21 ]
補足 この場合の使うというのはインスタンスを作るということに近い。

745 名前:736 mailto:sage [2008/05/02(金) 02:28:32 ]
>>743-744
う〜ん、よりわからなくなってきました。(´〜` ;)
もう一度インターフェースについて勉強しなおしてきます

746 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 02:32:18 ]
>>733
レスありがとうございます
Jadclipseを実際に使用したところ
自分が欲しい機能を概ね満たしていたので良かったです
ありがとうございます

747 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 08:58:45 ]
Servletの話で恐縮ですが
<input type="text" name="group[1].line[10].name" value="hoge">
といったように名前のついたパラメータをサーブレット側で
取得しているのですが現在は1と10のところをループカウンタで
まわして取得しているのですがあまり処理速くありません。
美しくそして速く処理できるアルゴリズムというか方法は
ありませんでしょうか?

748 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 11:46:07 ]
>>742
>インターフェースは継承ではなく実装するものだと理解してましたが

インターフェースを継承したインターフェースを作ることができるよ

public interface Foo extends Comparable<Foo> {
 ...
}

749 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 11:50:08 ]
>>742
extends と implements を特に区別する意味がないっつーか。
T がクラスなのかインターフェイスなのかはわからんし。

750 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 11:59:26 ]
>>747
なにをどうすると、処理が速くないんだ?
ループさせるのが普通だろ

751 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 13:50:11 ]
配列を書くとき、
A[] a=A[10];
A a[]=A[10];
文法間違ってるかもしれないけど、
四角の場所の違いはどのような考えがあるんですか?



752 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 13:56:36 ]
C 風かそうでないか

753 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:02:12 ]
A[] a → Java スタイル
A a[] → C/C++ スタイル
A []a → 変態

754 名前:デフォルトの名無しさん [2008/05/02(金) 19:56:39 ]
SimpleDateFormat がうまくいきません。

SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
sdf.parse("Wed, 30 Apr 2008 13:16:59 +0900");

これでうまくいきそうなんですけど
java.text.ParseException: Unparseable date: "Wed, 30 Apr 2008 13:16:59 +0900"
うまくいきません。
どこが間違ってるのでしょうか?お願いいたします。


755 名前:734 mailto:sage [2008/05/02(金) 20:03:25 ]
>>735
どしてもC側で処理を完結させたいのです。
仕方なくwindows.hを使ったSHIFT-JIS→UNICODE変換を行うことにしたのですが。
UNIXではwindows.hが使えないので困っています。
iconvを使った変換方法があるらしいのですが、iconvってUNIXのコマンドですよね。
C言語内で使用する参考サイトなど教えていただけないでしょうか。


756 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:12:13 ]
>>754
そのままだと解析のロケールが日本なのでコンストラクタかなんかで Locale.US あたりを設定する。

>>755
プリプロセッサで差し替えるなりモジュール化設計するなりしときゃいいじゃん。

757 名前:754 [2008/05/02(金) 21:37:29 ]
>>756
サンクス!
うまくいきました。

758 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:19:50 ]
JAVA基礎の本を一通り終え、次のステップに移りたいと思っています。
どんなことを勉強したらいいでしょうか?おすすめを教えてください。

例;GUIアプリ、JSP、サーブレットとか

759 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:27:08 ]
自分が欲しいものを作る。

760 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 02:40:35 ]
コンポーネントにフォーカスを設定するのってどうすればいいんでしょうか?
どこかのサイトでみたのですが、
// TextBox1 にフォーカスを設定する
this.textBox1.Focus();

// Button1 にフォーカスを設定して、成功した場合はその旨を表示する
if (this.button1.Focus()) {
MessageBox.Show("Button1 がフォーカスの取得に成功しました");
}
これってあってますかね?このとおりやってみてもエラーなんです...

761 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:04:40 ]
それなんていう言語?




762 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:07:37 ]
>>760 はスレタイ 100 回読み直して腹を切って死ぬべき

763 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:07:56 ]
ん〜javaって書いてあったんですけどやっぱ間違いですよね。。。
あの、、どなたかやり方教えていただけませんでしょうか?

764 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:12:38 ]
MessageBoxつー名前が出てくる時点でMSの言語っぽい気配が濃厚なので、
たぶん.Netの何かじゃない?


765 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:17:04 ]
とりあえずjava.awt.Component#requestFocusとisFocusOwnerを調べよ。


766 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:17:08 ]
もしかしてJ#とか?

767 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 04:07:25 ]
同じような質問なんですが、Enterキーを押したときに
そのフォームに記入されている値をチェックし、
次のフォームに移動(TABを押したように)したいんですがどうやればいいんでしょうか?


768 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 04:15:30 ]
Web 作成か WebProg 板逝け

769 名前:767 mailto:sage [2008/05/03(土) 04:19:44 ]
transferFocusでできました。すいませんありがとうございました。

770 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 04:24:28 ]
3次元ベクトルを扱いたいのですが、Vector3Dクラスですと値がintのみになってしまいます
doubleも扱える3次元ベクトルクラスは無いのでしょうか?

771 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 09:41:24 ]
>>770
org.apache.commons.math.geometry.Vector3D でも使えば?



772 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 11:57:36 ]
Java3Dのjavax.vecmath.Vector3fやVector3dを使えばいいはずだが、
Vector3Dとは何ぞや。


773 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 12:52:31 ]
>>771
>>772

javax.vecmath.Vector3dで目的のものが出来ました。
私が見ていたVector3Dはnttdocomoの特殊なものだったようです。

774 名前:デフォルトの名無しさん [2008/05/03(土) 13:14:16 ]
NetBeansで.jarファイル(Javaアプリケーション実行ファイル)として出力するにはどうすれば良いのでしょうか?

775 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 14:54:02 ]
>>774
NetBeansスレへ

776 名前:デフォルトの名無しさん [2008/05/03(土) 14:56:19 ]
d.hatena.ne.jp/javastudy/

こういうことになりかねますか?

777 名前:デフォルトの名無しさん [2008/05/03(土) 15:25:34 ]
はじめまして。
自宅にネットがつながっていないのですが、javaがつかいたいんです。
ネットカフェに来てUSBにダウンロードをして自宅で使用したいのですが、やり方がわかりません。
どなたか教えていただけませんか?

778 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 15:45:17 ]
大嘘つきはふしあなしてからにしろ

779 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 16:19:13 ]
ネカフェに1日行かなければ1ヶ月ネットが使えるよw

780 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 16:48:24 ]
おまいら ADSL すらまだ使えない田舎や離島のことも配慮しろよ。

781 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 16:53:04 ]
そんな田舎にはネカフェなんかないだろ



782 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 16:57:08 ]
そこまで田舎じゃなくてもブロードバンドが普及しない離れ小島状態はけっこうある。
そうかと思えば基地局遠すぎて利得損失が大きいからADSLはダメで
いきなり光が来ることもある。

783 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 17:01:11 ]
街まで出てネカフェという状況も想像できないゆとり

784 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 17:37:06 ]
>>780,782,783
だったら777に手取り足取り教えてやれよ

785 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 17:46:52 ]
今JAVAの勉強中で置換をやっているんですが、先頭の文字だけ置換するのはどうやったらいいのでしょうか。
charAt(0)で取得すると変数は"先頭の文字"としてじゃなくて1つの文字とみなされ他の文字まで置換されて困っています。


786 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 18:13:55 ]
ゆとりの逆切れ炸裂

787 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 18:16:47 ]
意味不明
先頭文字置換なら、charAtで取得して、replaceFirstでOK

もしくは、他の置換とかもあることが多いので、StringBuilderに格納してすべての置換処理を行い、toStringで置換後のStringを取得する。
StringBuilderの方が、文字列操作のクラスだけあって、色々やりやすいメソッドが多い

788 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 18:20:58 ]
>>785
String s = "hoge";

t = "m" + s.substring(1);
とか
u = s.replaceFirst(".", "m");
とか


789 名前:デフォルトの名無しさん [2008/05/03(土) 19:16:29 ]
50枚ぐらいのJPanel(その上にも色々なコンポーネントを乗せて10)
見たのですが、CardLayoutで切り替えしているのですがどうも重たいです。
このぐらいの量だとベースのパネルにJPanel をくっつけて削除
した方がいいのですかね?その時に気をつけなければならないことは何ですか?
教えてください。宜しくお願いします。

790 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:22:19 ]
CardLayoutで50枚ってユーザは全部使うの?
使用頻度の低いPanelは開かれたときに初期化するなど工夫すればいいと思う。

そもそも、CardLayoutを勘違いして使っていると思うぞ。
例えばRPGでオープニング画面とフィールド画面と戦闘画面と町の画面をCardLayoutで切り替えるとかやっているんじゃね?

791 名前:デフォルトの名無しさん [2008/05/03(土) 19:31:13 ]
>>790
どうもです。
作成して初期化するっていう感じでいいですかね?
作成するときにどれだけかかるかにもよりますが・・・
一応50枚のパネルは共通のインターフェース使っているので、
よく使う物は最初にロードしておいて定数ぽく使って、後は生成するというパターンが
いいですかね?baseのパネルから貼り付けたりremoveしたりでOKですかね?

ちょっと勢い余ってかなりの量のコードを組んでしまったので・・・Javaでこれだけ組むのは
初めてです。
なんだかグラフィックのリソースを食いまくっていて他に影響が出そうです



792 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:41:14 ]
Java以前に、50枚切り替えとか常識的に考えて設計がおかしいだろ

どういう手段を実現したいのかではなくて、どういう目的を実現したいかを説明してみ

793 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:45:10 ]
業務アプリとか作ったことないのか…

794 名前:790 mailto:sage [2008/05/03(土) 19:45:29 ]
>>791
作成して初期化するって意味が解らん
新しい画面を表示するときにnewした所で一瞬
792も言っているが、まずは何をしたいかを説明した方がいい

795 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:46:17 ]
>>787>>788
有難うございました。本を見ながらなんとか出来ました。結城さんもうすこし分かりやすく書いてよ・・
StringBuilderとかまだ分からない言葉もありましたが助かりました。

796 名前:デフォルトの名無しさん [2008/05/03(土) 19:53:13 ]
>>792
詳しいことは省きますがあるアプリケーションを作っていて本当に様々な
操作をするのに50枚いるのですが、メニュー画面から親JPanelは50枚以上かな・・・
その上にももちろんJPanel載っています。そしてメニュー画面のボタンを押すと切り替えていっています。
そしてデータなどの入力・編集・印刷処理などをさせています。今現実的にうまくは動いているのですが、
ただ重たくて・・・できるだけ簡単に改造できればと思っています。
プログラムをロードするときに全部作っていてCardLayoutでばんばん貼り付けていました。
それをmediatorパターンで中央管理していたのですが・・・おそらくそこでJPanelを生成するクラスを作って
管理すればいいですかね?


797 名前:デフォルトの名無しさん [2008/05/03(土) 19:58:27 ]
>>793
その通りですw
言語処理系でプログラムをやっていたんですが急に業務用のアプリを速攻で作りましたw
Windowを使ってプログラムを書くのは初めてです。

>>794
インスタンスを作るという意味ですinit()やexit()をcallしています。
インスタンスを作ってあるものを。今はCardLayoutで切り替えて共通のインターフェースでinit()で
データの初期化やロードをしたりexit()メソッドを呼んだりしています。

798 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 20:55:24 ]
>>793
確かに業務アプリには糞設計のGUIが散見されるな

799 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 20:56:32 ]
m9(^Д^)

800 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 20:59:10 ]
>>796
重くなっている原因がJPanelの数って話は推測ですか、実測した結果ですか?
また、起動パラメータやJavaのバージョンをあげるなど、ソースに手を入れずに出来る対策はされましたか?

ちなみにSwingであれば、大雑把に1.4から5.0にすると2倍、5.0から6にすると1.5倍くらいのパフォーマンスアップが見込めます。
起動時のヒープ確保量のデフォルトも大きくなっています。

801 名前:デフォルトの名無しさん [2008/05/03(土) 22:09:01 ]
>>800
どうもです。
残念ながら推測です。ただグラフィックの資源を食いつぶしているのではないかと
感覚的にしかつかんでいません。今5.0 を使っていますが、6.0にするとそれだけの
パフォーマンスがアップするんですか・・・ちょっと考えて見ます。
実行時のパラメータはメモリ関係の方はかなりあげています。

もうかなりの人間が使っているのでソースはいじりたくないですからね。
何せ、今回GUIでWindow自体の開発は初めてでデザインパターンやJavaの本を短期間で
読みあさりどんどん書いていってしまったのでここに相談させていただきました




802 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:10:10 ]
>>798
質問している人間ではなく50枚も作るのかと言っている人間じゃないのか(笑)

803 名前:デフォルトの名無しさん [2008/05/03(土) 22:19:58 ]
教えてください、今ホームページを作っていてHTMLのsubmitボタンを押したときの
時間を取得するのは可能ですか?
昔本呼んだswingかなんかの処理ではたしかイベント処理があったと思うんが
HTMLのボタンでもイベント処理とかできるんですか?
初心者なんで可笑しなこと聞いてたらすみません

804 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:22:49 ]
Javaは関係なさそうな・・・
フォームとJavaScriptでいけるんじゃね?

805 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:11:19 ]
>>804
すいません、今Javaを習っていて
web3構築を使ってホームページを提出しなきゃいけなくて
どーしても押された時間によって処理したいことがあって
ちなみにJavaScriptはまったく分かりません
swingもまだ習ってないんですけど
たしか昔本で読んだことがあって



806 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:14:20 ]
>>805
Submitを押された時間ではなくて、Servletでリクエストを処理した時の時間ではダメなのか?
多少の誤差は出るが、十分な気がするけど。
むしろ、クライアント側の時刻なんて各マシンの時刻だから信用できるものでもないし。

807 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:14:33 ]
よくわからんけど課題って習ったことを使えばできることなんじゃないの?


808 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:15:23 ]
>>806
>Servletでリクエストを処理した時の時間ではダメなのか?
そういう方法もあるんですね、十分だと思います
ていうかDateクラスで得られる時間って
自分のパソコンに設定されている時間だってことに気付かされました
ありがとうございました
>>807
ショッピングサイトならなんとか作れそうなんですけど
落ちこぼれなんで、皆と違うものをと思ったんですけど
自分で調べろ的な学校だし
大人しくショッピングサイトのほうがいいかもしれません

809 名前:デフォルトの名無しさん [2008/05/04(日) 01:51:50 ]
例えばArrayListなどのインスタンスを、メソッドに引数として渡し、
メソッドの中で、そのインスタンスに対して操作を行うことは、
Javaのマナー的に、やらない方がいいのでしょうか?

810 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:55:56 ]
モジュール結合度が上がる (共有結合になる) のであまり良くはない。
まぁクラス内に閉じていて private 宣言されているようなユーティリティメソッドとかなら良いんじゃないの。

811 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 02:37:03 ]
ケースバイケース
禁忌ではない



812 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 04:19:14 ]
むしろ、弄られないことを想定している場合は
(そのメソッドが継承できるように公開されている場合は)
呼び出し側でコピーを作って渡すべき

813 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 05:13:28 ]
操作を行うって書いてあんじゃん。
それにコピーなんか作らなくても Collections#unmodifiableList() で十分。

814 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 08:00:49 ]
>>812
呼び出し側でコピー作るのか?
普通は呼ばれた方(コンストラクタ等)でコピーを作るんじゃね?
ArrayList(Collection col) とかそうだろ?

815 名前:809 mailto:sage [2008/05/04(日) 17:29:19 ]
>>810
>>811
どうもありがとうございます。
禁忌じゃないけど、あまり良くないという感じでしょうか。
ケースバイケースで考えてみます。

816 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:45:08 ]
>>814
コンストラクタでコピーするのは、
生成されたインスタンスが内部に保持するフィールドを防御するためで、目的が違う。

それにコンストラクタは、明示的にクラスを指定しなければいけないから
何をするべきかは、ドキュメントをみて決定していいと思う。

>>813
unmodifiable〜で十分なのは、ごもっともで

817 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:56:07 ]
>>815
むしろ、何が行われるかをドキュメントに書くことが重要
外見は同じでも、

/** ソートしたリストを返す。元のリストはそのまま */
List sort(List list)

/** 引数の list を破壊的にソートした後、そのリスト自身を返す */
List sort(List list)

の2つじゃ、使う側のどきどき感が違う

818 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 19:19:44 ]
ドキュメントは重要は同意
設計の方針としては、どんな使われ方しても自分のバグにならないように保守的にするのが良い。
コンストラクタの中でのコピーはそういう観点でもある。

819 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:11:25 ]
>>818
でもそれを徹底し過ぎると、メモリを無駄に馬鹿食いする危険性も。
Objectに変更可否フラグがあれば良かったのかもしれんが……。


820 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:13:37 ]
たいしてつかわねーよw

821 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:05:10 ]
>>819 それがドキュメントであり、設計なのでは?
シャローかディープのコピーでも違いがあると思うけど。



822 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:51:52 ]
そんなふうに色々考えているうちに、頭のCPUがフル稼働して、自分が何に悩んでいるかすら忘れ、結局は一番簡単で手抜きの設計に落ち着くわけです

823 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 00:13:50 ]
まさにYAGNIの原則。


824 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:24:07 ]
防御コピーは徹底しろ。それが嫌な奴はオブジェクト指向言語など使うな。
どうせ、「オブジェクトを作ると遅くなる」とか言い出すのだろうし。

825 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:29:29 ]
極論バカが来ました

826 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:42:13 ]
防御コピーが極論か。
オブジェクト指向がこの世に出てから半世紀近く経っているのにな。

827 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:50:24 ]
オブジェクト指向覚えたての社会人 2 年目かよw
でも経験少ないから適材適所のような程度問題が判断できないんだよな。

828 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 03:09:17 ]
全てのオブジェクトをイミュータブルにしてしまえばいいんだよ
停止し結晶化した世界は美しいぜ

829 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 03:11:13 ]
吟遊詩人が現れた

830 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 04:22:00 ]
>>828
それ何てErlang? まぁErlangだとI18N/L10Nが絶望的なので、実用を考えるなら
Scalaでありとあらゆるオブジェクトをvalで宣言するのが良さげ。

831 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 09:24:54 ]
[問題]与えられた9個の変数(int型)の中から最大値と最小値を求め、表示しろ。
[解1]3つのメソッドを作る
void setData(int...data){// ここでmaxとminを求める}
int getMax() {}
int getMin() {}
// こんな単純な問題でメソッドを3つも使う必要があるのか?

[解2]変数maxとminを持った内部クラスを作る
class Data {
int max;
int min;
}
Data getData (int...oneDatas) {// 最大値、最小値を求めDataクラスに格納して返す}
// なんか気持ち悪い。

先輩方はこのような宿題を出されたら、どのように解答したらいいと思いますか?



832 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 09:57:32 ]
どういう状況で出された問題なのか解らないのではっきりとは言えないが、解答として間違っていないとは思われ。
クラスという概念になれるっていう場面ならば、解1の方が良いと思う。
だけど、setDataでmaxとminを求めるのではなく、フィールドに変数を格納しておき、getMax, getMinで最大(最小)を求める方が良い。

解2の方は内部クラスとして定義しているだけならば、本質は解1と何も変わらん。
1つのメソッドで2つ以上の値を返す時には普通に使う。

833 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 09:58:48 ]
表示しろだろ?
素直にそのままやろうぜー
max(int ...data)とmin(int ...data)を作っておいてそれを利用して普通に出力かな
2回も走査しないといけないじゃないか!って気持ち悪い場合は、これくらいのロジックだしその場で書く。

これくらいで新たなクラスやら、その結果専用のクラスを作るのはどうかと思う。

834 名前:832 mailto:sage [2008/05/05(月) 10:01:00 ]
補足。
解1でフィールドに保持しておくと、メモリ使用の点、最大最小を求めるコスト的な点ではデメリット。
だが、そのクラスに「平均値を取得するメソッドを追加しろ」という仕様変更に強いのがメリット。
全ての処理をsetDataでやっている場合、まったく異なる性質のメソッドを追加しているのにもかかわらず、最大最小を求めるメソッドがデグレを起こす可能性があるからね。

835 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 10:09:41 ]
APIの使い方の話題なのか、for文とif文レベルの話題なのか、832の書くようなクラス設計の話題なのか、問題文に記述するべきだな。

836 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 11:19:13 ]
>>831
本題には無関係だが、dataは複数形で、単数形はdatumだ。
(dataを単数扱いすることもあるらしいが、どちらにしろdatasにはならない)

837 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 17:27:12 ]
アプレットが初期化されていませんって言うのはいったい何のエラーなんですか?

あとアプレットをhtmlに組み込むのって<body>の中に何か書く必要ありますか?

838 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 17:44:42 ]
アプレットが初期化できていないってエラーだ。
www.google.co.jp/search?q=java+%E3%82%A2%E3%83%97%E3%83%AC%E3%83%83%E3%83%88+%E5%85%A5%E9%96%80

839 名前:デフォルトの名無しさん [2008/05/05(月) 20:40:18 ]
すんません、メソッドについて質問させてください。

Aクラス
・メンバ変数ふたつ(static)
・メソッド(実行すると引数をもとに計算してメンバ変数の内容を書き換えるメソッド)

適当なクラスファイルでAクラスのインスタンスを生成して、
メソッドに引数を渡して処理をし、その次の行にAクラスのメンバ変数ふたつを呼び出したところ、
変数はどちらも初期値のままでした。なにがいけないのか全くわかりません。
どなたか教えていただけませんか。

メソッドは戻り値はなく、メンバ変数を書き換えるだけなのでvoid宣言してありreturnは書いてません。

840 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:46:27 ]
>>839
書き換えてないからでしょう

841 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:01:26 ]
>>840
どうして書き換えられていないのか心当たりになるようなケースありますか?



842 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:04:37 ]
まずはコードを貼るんだ

843 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:06:00 ]
とにかく問題のコードを書いてくれ

844 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:11:16 ]
開始時刻と終了時刻を入力して経過時間とともに表示するプログラムです。

package XXXXXX;

public class ex134{
/* クラスフィールド */
public static int hh, mm;

public int subTime(int h1,int m1,int h2,int m2){
mm = h2 * 60 + m2;
mm = mm - (h1 * 60 + m1);

/* 終了時刻が翌日であるケースの修正 */
if (mm < 0){
mm = 24 * 60 + mm;
}

hh = mm / 60;
mm = mm % 60;
}
}

845 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:15:01 ]
import XXXXXX.*;

public class XXXXXX{
public static void main(String[] args){
/* 変数 */
String buf;

/* インスタンス生成 */
KeyIn key = new KeyIn();
ex133 ex = new ex133();

/* 時刻の入力 */
//入力文省略

/* 経過時間の計算と表示 */
//省略

ex.subTime(h1, m1, h2, m2);

buf = " " + ex.hh;
buf = buf.substring(buf.length() - 2);
System.out.print("経過時間 " + buf + " 時 ");

buf = " " + ex.mm;
buf = buf.substring(buf.length() - 2);
System.out.println(buf + " 分");
}
}

846 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:17:14 ]
すいません、貼り付けた直後に自己解決しました。
インスタンス生成するとこのクラスファイル名を間違えていました。
voidもintになってた!本当にすいません。

847 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:34:45 ]
これもカーニハンの言うテディベアの話と同じ原理なんだろうか

848 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:39:32 ]
マーフィーの法則w

849 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:07:38 ]
>>832,834
わかりやすい説明ありがとうございます

>>833
getMin(int...datum)、getMax(int...datum)の二つのメソッドを作って提出したいと思います。
ありがとうございます。

>>835
問題のレベルとしてはif文、for文を正しく使うレベルだと思います。
しかし、授業ではメソッドやクラスを使うところまでは学んだので、これを使って問題を解いてみようと考えてみたら上手にメソッド分けが出来なくて・・・

>>836
英語の勉強をがんばりますXD

850 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:23:25 ]
必要のないところにオブジェクト指向的なプログラミングをするのは
不必要な複雑さを導入するだけ

851 名前:デフォルトの名無しさん [2008/05/05(月) 22:31:45 ]
JSPでFormから入力された文字列をInteger.parseInt()で
int型の数字にして利用しているのですが、例外処理の書き方が判りません。

Integer.parseInt()に"12345q"とか入った時点でエラー吐いて止まってしまいます。
どのように回避すれば良いのでしょうか?



852 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:31:50 ]
parseIntで発生する例外をcatchするか、charにばらして1文字づつチェックするか、正規表現で数値かどうかをチェックするか、好きにしろ

853 名前:デフォルトの名無しさん [2008/05/06(火) 00:22:03 ]
Java SEのダウンロードページにアクセスできません
このままでは仕事が出来ないので誰かインストーラうpしてください><><<<

854 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:33:37 ]
またかよ・・・
バージョンの指定はないな。
ほれ
sakuratan.ddo.jp/uploader/source/date80855.zip

855 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:59:50 ]
(;゚д゚)ァ....
本当に聞いてくれるとは思わなかった。ありがとう。
とはいうものの、今更バージョン違うなんて言い辛いorz

856 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 01:38:35 ]
applis.servehttp.com/ の 00013292.exe
パスはjdk6

857 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 03:46:59 ]
journal.mycom.co.jp/column/java/023/index.html
を参考に勉強していたのですが
下のコードがバイトコンパイルを通らず困っています
バージョンを変えないといけないのでしょうか?

$javac GenericClass.java
GenericClass.java:1: '{' がありません。
public class GenericClass<E> {
^
GenericClass.java:3: '}' がありません。
}
^
エラー 2 個

環境は以下の通りです
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode)

858 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 03:54:22 ]
本当に1.6のjavac使ってるか?
javac -version
で確認してみろ。
1.4とか出てきたならば、pathを確認してみるべし。

859 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 04:11:38 ]
…間違ってました。orz

パスを確認したら1.4 を呼んでました。
ちなみに 1.4 では javac -version が用意されてないようです

860 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 16:26:41 ]
>>859
javac -J-version

861 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:07:30 ]
linkedlistで最後の要素を追加、削除するときは、その処理を実行するたびに先頭からたどっていくのでしょうか?
それとも前回参照した値からたどっていくのでしょうか?



862 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:40:15 ]
一般的な実装であれば最後に追加するのに先頭からどうこうすることはない。
気になるならば、ソース読んでみたら?

863 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:50:01 ]
実装軽く読んだけど、まあ少なくとも線形探索はやってない感じ

864 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:18:53 ]
www.kab-studio.biz/Programing/JavaA2Z/Word/00000319.html
↑を読むと
ただし、LinkedListクラスの要素を取得する場合、インデックスナンバーから直接取得することはできず、
先頭に当たる要素からリンクをたどって数えていき取得することになる。
そのため、データの取得はArrayListクラスよりも遅い。

という風に書いてあったんですけど、先頭から削除しても、最後尾から削除してもすべての要素を削除するのに
かかる時間に違いがなかったので質問させていただきました。

で更にぐぐってみたら
www.stackasterisk.jp/tech/java/collection02_02.jsp
↑に
削除する要素が後半だったら、最後尾から探索するって書いてあったんで理解しました

865 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:26:17 ]
先頭と最後尾へのアクセスに特化させて効率をよくしたのがLinkedListなんだよ
基本的なデータ構造なんだから覚えておけ

866 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:30:23 ]
バカが現れた。

867 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:51:16 ]
いやいや、釣りだろw

868 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:56:03 ]
彼は僕達には理解できないLinkedListの真理に到達したに違いない

869 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:06:28 ]
あぁ、まりちゃんね。

870 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:35:31 ]
VMが落ちると出力されるコアダンプについてですが、
ファイルを見ても何がなんだかさっぱり分かりません?_?

最低限、コアファイルから分かる情報は拾えるようにしたいのですが
コアダンプについて詳細に解説してるサイトを教えてくださいm(__)m
できれば日本語のサイトが良いです。

871 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:50:16 ]
コアダンプというのは、簡単にいえば、プログラムが動いていたときの
そのプログラムが使っていたメモリの状態をファイルに落としたもの。
落ちたプログラムをデバッガにかけるときに、死んだときの状況を再現する
ためにコアダンプを与えることが出来る。単体ではあまり意味はない。

デバッガとかgdbとかdbxという単語とペアでぐぐればいいと思う。




872 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 21:11:46 ]
ありがとうございます。
コアダンプ単体では意味がないのですね。
教えていただいた単語も含めぐぐってみます。

873 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 01:19:20 ]
wavを再生する際の音量を調節するにはどうすればいいのでしょうか?
調べては見ましたがどうもそれっぽいのが出てこず・・・

www.google.com/search?q=java+%E9%9F%B3%E9%87%8F%E3%80%80wav&hl=ja&lr=&client=opera&rls=ja&hs=wF5&start=20&sa=N

874 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 06:03:01 ]
[form.jsp]の入力フォームに入力された値をtxtファイルに書き出したいのですが、うまくいきません。
エラー無く[form_ok.jsp]に移動はしてくれるのですが、data.txtがどこにもつくられません。
どこをどう直すべきでしょうか。(改行が多すぎるとエラーが出たので、妙な改行になっています。すみません。)

[form.jsp]
<form action="form_ok.jsp" method="post">
<input type="text" name="data"><input type="submit" value="送信">
</form>

[form_ok.jsp]
<jsp:useBean class="form.form" id="mail" scope="session"/>
<html><head></head>
<%
String data = request.getParameter("data");
form.main(data);
%>
<body>(以下略)

[form.java]
package form; import java.io.*;
public class Mail {
public static void main(String data) throws IOException {
try{
FileOutputStream fos = new FileOutputStream("data.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932");
BufferedWriter bw = new BufferedWriter(osw);
bw.write(data);
bw.close(); osw.close(); fos.close();
}
catch(Exception e){ e.printStackTrace();}
}
}

875 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 10:44:23 ]
long型を使って19桁までの計算はできましたが、20桁以上の計算のやり方がわかりません。
具体的に言うと12345678901234567890*12345みたいな計算です。
お願いします。


876 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 10:49:06 ]
BigDecimal

877 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 12:40:27 ]
整数だけでいいなら BigInteger

878 名前:875 mailto:sage [2008/05/07(水) 13:46:56 ]
>>876-877
レスサンクスです。
それらについて検索して、色々やってみます。

879 名前:デフォルトの名無しさん [2008/05/07(水) 19:17:43 ]
プログラミング学びたいんだけどC、C++、JAVAどれから始めればいい?あとなんかいい本ある?

880 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 19:26:50 ]
>>879
初心者のためのプログラミング言語ガイド Part8
pc11.2ch.net/test/read.cgi/tech/1208186034/

目的を書いた方がいいよ
何のためにプログラミングを学ぶのか、具体的に何を作りたいのか

881 名前:デフォルトの名無しさん [2008/05/07(水) 20:17:39 ]
就活で使いたいんだよねー
今年学部で就活してみてIT技術の大切さが分かったから院でまた就活するときに使えるように
ITコンサルいきたいって思ってるんだけどなにがいいかな?多分企業によっても違うんだろうけど、一番使い勝手がいいのは何?



882 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 20:27:39 ]
こうやってまた学校が屑を押し付けてくるのか

883 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 20:34:05 ]
Cは、その選択肢の基礎になる。
Cができれば、UNIXのカーネルも読めるし。

884 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 21:51:57 ]
Cができればカーネルが読める、
英語ができればカーネルさんと話せる

885 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 22:01:46 ]
javax.swing.tree.DefaultTreeModelの仕様について質問です。

DefaultMutableTreeNode n1 = new DefaultMutableTreeNode();
DefaultTreeModel t = new DefaultTreeModel(n1);
System.out.println(t.getRoot()); => null

なぜnullが出るのでしょうか?
コンストラクタはrootを要求しています。
なのでn1がrootとして取得出来ると思うのですが、
どうすればn1がrootとして取得出来るようになるのでしょうか?
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/tree/DefaultTreeModel.html

886 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 22:15:00 ]
追記です。
加えて
System.out.println(t.getRoot()==null); => false
になります。
nullではないと言ってるのにnullが出るのはなぜでしょうか・・

887 名前:デフォルトの名無しさん [2008/05/07(水) 22:35:55 ]
ファイルの書き込みをFileWriterでやるのはうまく出来たのですが
書き込むときにまっさらにして書き込みたい時はどうするのでしょうか?

ループの中で一行のテキストを書き込んでるのですが、追記じゃなくて、その時書き込んだものだけが残るようにしたいです。

File file = new File("path");
file.delete();
FileWriter fw = new FileWriter(file);
fw.write("書き込むテキスト");

とかやってみたけど、ファイルサイズ0になってしまいました。

お願いします

888 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 22:49:49 ]
closeしろ

889 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:40:15 ]
>>885-886
> DefaultMutableTreeNode には、ユーザオブジェクトへの参照、つまりユーザが独自に定義するオブジェクトへの参照も格納できます。
> DefaultMutableTreeNode に toString() を指定してその文字列表現を要求すると、そのユーザオブジェクトの文字列表現を返します。
を踏まえたうえで
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/tree/DefaultMutableTreeNode.html#toString()
こいつが呼ばれているからだと思う


890 名前:超初心者 mailto:sage [2008/05/08(木) 00:08:55 ]
すみません。
.jadファイルと.jarファイルをアップして、
携帯でDLして、正常に起動できるようにしたいのですが、
どうすれば、いいでしょうか?
とりあえず、2つのサーバーの内、一つのサーバーでは、
アップしたデータが携帯で正常に起動する事が出来たのですが、
もう一つのサーバーでは、ミスマッチと表示され、起動できませんでした。
.jarファイルは、URL認証がOKのサーバーじゃないと無理なのでしょうか?
ちなみに、.htaccessに.jadと.jarのmime-typeは、追加しています。
すみませんが、どなたかご教授お願い致します。m(__)m


891 名前:デフォルトの名無しさん [2008/05/08(木) 08:52:56 ]
お邪魔します。同じく超初心者です。 課題でハングマンをいう文字当てゲームのプログラムを書いてる所なんですが、 なにやらもうにっちもさっちもいきません。 見本の一部がこんな感じです。
Word: _ _ _ _ _ _ _ _ _ _ _ _ _ _
Misses:
Guess a letter: a

Word: _ _ _ _ _ _ _ A _ _ _ A _ _
Misses:
Guess a letter: e

Word: _ _ _ _ _ _ _ A _ _ _ A _ E
Misses:
インプットされた文字をcharにストアしてanswerと照らし合わせて‥ みたいなとこですでに行き詰まってます。
for (int i = 0; i <= answer.length; i++) {
if (answer.charAt(i) == input) {
System.out.prin(input);
} else if (answer.charAt(i) !=input) {
System.out.print("_");
} } }
前に予想した文字もプリントしようとすると際限なく長くなっていっちゃうんですが‥‥
しかも答えはランダムに選ばれるので答えの文字数は不明です。 どんなループに入れたらいいんでしょうか?
それと予想された文字を正誤順番問わず繋げてストリングにストアしろという ヒントも出してもらったんですが‥
課題の目的としては、Boolean method, while loop, text processing、 あたりの知識を理解しろということみたいです。
かなり適当な説明ですが、なにかしらご教示いただけるととっても助かります。



892 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 09:02:33 ]
>>889
どうしてそうなるの?
getRootでなんでそんなものを呼び出すのか分からない。
理由がないだろ

893 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 10:23:27 ]
tomcat + データベースでjava.util.Dateを扱うときなんですけど。
データベースからrs.getDate()メソッドで日付を取り出したとします。
jsp側でDateのインスタンスを生成しデータベースから取り出したDateと生成した
Dateをequials()で比較するんですけど上手くいきません。
何かおかしいところがあったらご教授下さい。

894 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 10:30:07 ]
>>892
getRootの戻り値になっているDefaultMutableTreeNodeオブジェクトのtoStringが呼び出されて
いるのであってgetRootが直接手を下しているわけではないってことでわ?

895 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 10:44:15 ]
>>893
> データベースからrs.getDate()メソッドで日付を取り出したとします。
こっちはjava.sql.Dateで
> jsp側でDateのインスタンスを生成しデータベースから取り出したDateと生成した
こっちはjava.util.Dateになってて違うオブジェクトを比較しようとしてない?

896 名前:895 mailto:sage [2008/05/08(木) 10:50:01 ]
そうかも・・・・早速修正してみます。助言ありがとうございます。

897 名前:893 mailto:sage [2008/05/08(木) 14:35:20 ]
どうしても上手くいかないのでjava.sql.Dateの日にちを拾得したインスタンスを
Stringとして扱うことで解決させました。

898 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 15:23:58 ]
>>895
equals()で比較している限りtrueになるので、それはない。
Date date = new Date();
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
System.out.println(sqlDate.equals(date)); // trueになる
System.out.println(date.equals(sqlDate)); // trueになる

>>895
日付以外のフィールド(時分秒)が一致していないのが原因じゃない?

899 名前:893 mailto:sage [2008/05/08(木) 16:57:14 ]
>>898 sql.Dateへのコンストラクターdate.getTime()を
System.currentTimeMillis()で行っていたのが原因かもしれません。

900 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 18:00:45 ]
JavaのGCには、以下の3つの種類があることを知りました。
www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_2.html
・SerialGC
・ParallelGC
・ConcurrentGC

java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/gc-ergonomics.html
によると、Server VM (java -server)では ParallelGCが使われるようですが、
-XX: オプションをつけない場合、どのタイプのGCが使われる使われるのでしょうか?
server VM だけでなく、いまどきのJVMでは、常にデフォルトでは ParallelGC?

java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/server-class.html
によると、Java は自分が動いているOS、メモリ量から、server VM か client VMかを
自動で切り替えるようですが、GCの種類もそうなのかなと思って質問しました。

901 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 18:26:52 ]
ConcurrentGCじゃなかったけ?
ParallelGCは-XXオプションつけないとならない



902 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 19:27:43 ]
JavaMailでアラビア語などの日本語や英語以外の文字の
メールを送るにはどうしたらいいでしょうか?

903 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 19:36:47 ]
ISO-8859-6などのアラビア語を扱える文字コードを指定すればいいんじゃね
メーラもそれに対応してないと読めないと思うけど

904 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 19:49:37 ]
UTF-8の文字列で送っちゃうのはだめなのかな。

UTF-8 か >>902 さんのほうかどうかはともかく、メールのヘッダで
Content-Type: text/plain; charset="UTF=8"
と指定しておくのはわすれないように。


昔の日本の電子メールのとき(MIME 関連のヘッダをつけなくとも生JISにしておけばメーラで読めた)
のように、アラビア語圏の世界では、メールのボディの文字列をISO-8859-6 にしておけば、
ヘッダにMIME 関連のものをつけなくても読めるのだろうか。
いまどきはアラビア語圏といえども、たいていの人は Outlook とか ThunderBird(MIME 対応メーラ)なのかな。


905 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 20:27:48 ]
>>903, >>904
ありがとうございます。

本文に日本語も混ぜたいのでUTF-8で試してみたいと思います。

906 名前:デフォルトの名無しさん [2008/05/08(木) 21:20:12 ]
コントロールパネルに数行に渡ってjavaのluntime updateなたいなのが
あるけど消していいの?
それぞれ144MBくらいのやつ。

907 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 21:22:38 ]
>>906
一番バージョンの大きいのが一つ入っていれば良い。

908 名前:デフォルトの名無しさん [2008/05/08(木) 21:25:20 ]
ありがとう。消したら、ウインドウズに設定してる??
みたいな表示が出て、ホントは消えないような感じがしたわw

909 名前:初心者 [2008/05/08(木) 22:17:10 ]
まじで素人な質問なんだけどコマンドプロンプトでディレクトリを移動したいんだけど指定されたパスが見つかりませんになっちゃうんだけどどうしたらいいの?

910 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 22:56:12 ]
まず質問に適切なスレを見つけたらいいと思うよ

911 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:40:56 ]
Aクラスを継承したB01〜B20クラスがあります。
このB01〜B20クラスは、B01とB05, B09とB15の
ような感じで、2つのクラスをセットで使います。

このときに、
B01とB02の場合は、100
B01とB03の場合は、150


B19とB19の場合は、200
B19とB20の場合は、120

みたいに、クラスの全ての組み合わせで
決まった値を持ってくるようにしたいんだけど、
どうやるのがスマートなんでしょう?



912 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:55:27 ]
それだけの情報だと、

Aのstaticフィールドに「Aのサブクラス2つ」(からなるオブジェクト)
をキーにしたMapを持つ

くらいか。
2つの組み合わせを別途クラスとして定義するほうがいいかもな。

AやBに具体性があるともうちっとよい助言が得られるかも。


913 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 01:08:14 ]
クラス名を連結させてハッシュ関数に放り込むとか・・・・・?

914 名前:902 mailto:sage [2008/05/09(金) 09:35:29 ]
下記のようなソースでアラビア語を送ってみました。
OutlookExpressでは正常に表示できたのですが
Beckyでは■になってしまいました。ただその文章をIEのテキストエリアに
貼り付けるとアラビア語が復活するのでBecky側の問題かもしれません。

プログラムとしては下記でよいものでしょうか?

mimeMessage.setFrom(new InternetAddress(this.fromAddr,"", "utf-8"));
mimeMessage.setRecipients(Message.RecipientType.TO, this.toAddr);
mimeMessage.setSubject(this.subject, "utf-8");
mimeMessage.setContent(this.text, "text/plain; charset=utf-8");
mimeMessage.setHeader("Content-Transfer-Encoding", "8bit");
mimeMessage.setSentDate(new Date());


915 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 09:46:43 ]
JAVA初心者です。
ファイルの保存をするために、下のようなメソッドを書きました。

FileDialog fd = new FileDialog(this, "Save", FileDialog.SAVE);
PrintStream ps;
FileOutputStream fos;

public void save(){
fd.show();
String filename = sd.getFile();
if(filename == null) return;

fos = new FileOutputStream(filename);
ps = new PrintStream(fos);
ps.print(display.getText());
ps.close();
fos.close();
}

これをactionPerformedメソッドでボタン押下時に呼び出すようにしています。
保存ダイアログはちゃんと開くし、保存もできるのですが、場所の指定ができません。
違うフォルダを指定しても、javaファイルが置いてあるところと同じ場所に保存されてしまいます。
なぜなのでしょうか?
JAVAを勉強し始めたばかりなので、トンチンカンなこと書いてたらすみません。




916 名前:915 mailto:sage [2008/05/09(金) 09:51:28 ]
すみません、saveメソッド内2行目は
String filename = sd.getFile(); ではなく、
String filename = fd.getFile(); です。

917 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 10:50:56 ]
>>915,916
試してないから違うかもシレンけど、
getFile()じゃなくてgetDirectory()じゃないの?

あと、JDK5以降だったら、showじゃなくてsetVisible使うんじゃなかったっけ。

918 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 11:02:17 ]
>>911
それだけだと、「B01〜B20はインスタンスでいいんじゃないの?」って気がする。

919 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 11:37:06 ]
showじゃなくてsetVisibleつかうのは1.4以降

920 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 11:47:35 ]
よろしくおねがいします。

Simpleformatクラスを使用して、
Timestamp型をString型("yyyy'/'M'/'d' 'H':'m':'s"形式)にしたのですが、
このStringをTimestamp型に再変換するにはどうすれば良いでしょうか?

921 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 13:27:28 ]
>>920
SimpleDateFormatでパースして、得られたDateを
Date#getTimeして、Timestampのコンストラクタに与えたらどうだろうか。



922 名前:900 mailto:sage [2008/05/09(金) 14:36:32 ]
>>901
レスどうもありがとうございます。

java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf
の P14 には、

java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/server-class.html
において Server VM が選択された場合はデフォルトで Parallel Collector が使われ、
それ以外のケースは Serial Collector がデフォルトになるとありました。

923 名前:920 mailto:sage [2008/05/09(金) 14:45:09 ]
>>921
それで行けました!ありがとうございます!

924 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 14:51:06 ]
>>919
FileDialogというかDialogやWindowに関しては1.4ではshowは非推奨メソッドではない。
deprecatedになってsetVisibleを使用しろとされたのは1.5から。
Componentは1.1からshowは非推奨だったので、
非推奨になるのが遅かったのはトップレベルウインドウ特有の何か事情があったんじゃないかと思う。

925 名前:915 mailto:sage [2008/05/09(金) 17:15:00 ]
>>917,919,924
レスありがとうございます。
getFileをgetDirectoryにしてみたり、showをsetVisibleにしてみたりしましたがやはりだめなようです。
ファイルの保存自体はできているのですが・・・・・・、なぜなんでしょうかね・・・


926 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:31:31 ]
>>925
File file = new File(fd.getDirectory(), fd.getFile());
fos = new FileOutputStream(file);

927 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:33:55 ]
>>925
FileDialogやめてJFileChooser使ってみれば?

928 名前:デフォルトの名無しさん [2008/05/09(金) 17:53:06 ]
プログラムを動かすとブラウザでホームページを表示できるようにしたいんですけど、どんな感じで書けばいいですか?誰かお願いします!

929 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:55:20 ]
Desktop クラス使え

930 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:59:43 ]
>>928
java.awt.Desktop.getDesktop().browse(new java.net.URI("www.google.co.jp/"));

931 名前:デフォルトの名無しさん [2008/05/09(金) 19:09:47 ]
>>929
>>930
ありがとうございますm(_ _)m



932 名前:デフォルトの名無しさん [2008/05/09(金) 23:31:12 ]
<T> XXX<T> hoge(XXX<T> xxx){...}

という関数があったときに、返り値の型の
<T> XXX<T>

はどういう意味があるのでしょう?

933 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 23:34:56 ]
Tという名前の型引数を使いますよ

934 名前:デフォルトの名無しさん [2008/05/09(金) 23:41:23 ]
>>933
Tの型は、
hoge(new XXX<YYY>());
と書いたときに決まっているのでは?

<T> XXX<T> hoge(XXX<T> xxx){...}
と、
XXX<T> hoge(XXX<T> xxx){...}
が同じということでしょうか?

935 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 23:47:29 ]
ジェネリクスは型だけじゃなくてメソッドでも使えるんだよ

936 名前:デフォルトの名無しさん [2008/05/09(金) 23:52:36 ]
template<typename T> XXX<T> hoge(XXX<T> xxx){...}
ということですか、納得です。

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

937 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:00:33 ]
うむ
精進しろよ

938 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:05:07 ]
そんな感じ
C++の化け物テンプレートほどの威力は無いが・・・・

939 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:07:49 ]
っていうか並べて比べるのもおこがましい程度

940 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:20:44 ]
そもそも比較すること自体が間違ってる。

941 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:24:56 ]
templateはわかめみたいにふえていくからなあ



942 名前:デフォルトの名無しさん [2008/05/10(土) 01:08:02 ]
>>934
ごめん
その方法で生成した任意の型の出力が可能ってことでいいのかな

943 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 09:16:29 ]
テンプレートパターンというのを知らない池沼がいるから困るwwww

944 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 09:20:46 ]
久しぶり

945 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 10:13:22 ]
今からでもランタイムサポートできないのかな

946 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 10:26:18 ]
やりたきゃ自分でVMを実装するんだな
言語名はJava++ みたいな感じでwww

947 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 10:51:58 ]
ジェネリクスがキャスト挿入のシンタックスシュガーだというのは
実装次第じゃなくて言語仕様で決まってることなの?

948 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 10:58:08 ]
決まってる。

949 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:13:24 ]
ttp://www.objectclub.jp/technicaldoc/java/java_gene
ここの「JavaへのGenerics導入の方針」参照。


950 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:17:50 ]
java7っていつ出るの?

951 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:19:20 ]
来年。(予定は未定)



952 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:25:58 ]
もうjava5以前のクソ仕様な部分はすべて後方互換性無視して
作り替えて欲しい。java5以降は神だが、それ以前はめちゃくちゃ。

953 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:49:15 ]
import java.security.SecurityException;
import java.io.IOException;
import java.io.File;
public class Sample{
public static void main(String[] args){
File f = new File("c:/test.txt");
try{
if(f.exeists()){
System.out.println("ファイルは存在します。");
if(f.canRead()){
System.out.println("ファイルは存在し、かつ、ファイルは読込めます。");
if(f.setReadOnly(){
System.out.println("ファイルを読取専用にしました。");
if(f.delete()==false){
System.out.println("ファイルを削除できません。");
}else{ System.out.println("ファイルを削除しました。"); }
}else{ System.out.println("ファイルを読取専用にできません。"); }
}else{ System.out.println("ファイルは読込めません。"); }
}else{ System.out.println("ファイルは存在しません。"); }
}catch(IOException e){ System.out.println(e);
}catch(SecurityException e){ System.out.println(e);
}
}
}


954 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:50:07 ]
ファイル操作関連で、2点質問があります。
使用OSは、Windows xp Pro SP2で、c:/test.txtを作成後、上記プログラム実行時、ファイルを削除できないようにしたいですが、どうもうまくいきません。
ファイル作成時、ファイルのプロパティで、読み取り専用チェックボックスにチェックを入れてみた後、削除ができてしまうのも、なぜなのか、ちょっとわからないです。
読取専用なのに、削除ができることが、おかしいと思うのですが、ちがいますか。
Windowsの場合は、どうやったら、削除できなくすることができるのでしょうか。
それと、ファイルの読込み権限について教えてほしいです。
ファイルは存在し、かつ、フィルが読込めない時(権限がない場合)、プログラム実行時、ファイルが読込めないようにするには、どうすればよいでしょうか。
よろしくおねがいします。

955 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:02:16 ]
>>950
JavaOne2008の時点では来年夏予定。

956 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:08:53 ]
ファイルに対する読み取り専用ってのは、
(ファイルを存在させたままで)内容を変えることが出来ないということ。


957 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:19:00 ]
>>954
それ、Javaの質問なんか?

958 名前:915 mailto:sage [2008/05/10(土) 13:47:35 ]
>>926
できました!ありがとうございます。
Fileクラスというのを使えば良かったのですね。
ちゃんと指定した場所に保存する事が出来ました。
どうもお騒がせしてすみませんでした。

959 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 20:01:14 ]
画像データを byte配列に持ってて、ある位置に○を描画したり、
他画像を貼り付けたりするのってどうやるのでしょうか。。。

960 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 21:05:08 ]
byte配列を画像データに展開して、○を描画したり他画像を貼り付けてから、byte配列に戻す

961 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 21:35:45 ]
>959
1.画像データを読み込んで表示するプログラムの作り方を覚える
2.○とか簡単な図形を表示するプログラムの(ry
3.表示した画像と図形を画像データに変換するプログラムの(ry



962 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 23:13:17 ]
>>960-961
トンクスです!
なんとなく、何から始めればよいか分かった気がします!

963 名前:962 mailto:sage [2008/05/10(土) 23:41:42 ]
簡単な例ですが出来ました!

BufferedImage srcImage = ImageIO.read(new File("src.gif"));
Graphics2D graph = readImage.createGraphics();
graph.setPaint(Color.BLACK);
graph.draw(new Ellipse2D.Double(100 100, 100 , 100));
ImageIO.write(srcImage, "gif", new File(workdir + "dest.gif"));

964 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 00:01:19 ]
こんにちは。以下のソースをコンパイルすると、”Test.java の操作は、未チェックまたは安全ではありません。 注:詳細については, -Xlint:unchecked オプションを指定して再コンパイルして下さい。”
という警告(無検査キャスト)がでるのですが、ソースを書き換えて警告が出ないようにする方法はないのでしょうか?
javac -source 1.4でコンパイルするか、@SuppressWarnings("unchecked") を頭に付けると出なくはなるのですが…。

public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{
req.setCharacterEncoding("Windows-31J");
int index = Integer.parseInt(req.getParameter("test"));
res.setContentType("text/html;charset=Windows-31J");
PrintWriter pw = res.getWriter();

//この辺でhtmlの前半生成・この直後まで削ると警告は出ない

HttpSession session = req.getSession();
ArrayList<String> list = (ArrayList<String>)session.getAttribute("testArray");

//これ以降を削っても警告が出る
if(list == null){
list = new ArrayList<String>();
}
list.add(testValues[index]); //testValues[]はインスタンス変数で宣言済み
//この辺でhtml生成
session.setAttribute("testArray",list);
//この辺で</body></html>生成
}

965 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 00:07:47 ]
>>964
無理。
@SuppressWarnings("unchecked") を ArrayList<String> list に付けるしかない。

966 名前:964 mailto:sage [2008/05/11(日) 00:25:34 ]
>>965
ありがとうございます。
session.getAttribute()の戻り値がObject型だから、
Stringにキャストできるかどうかわからない…のかと思ったのですが、
それで合ってるのでしょうか?

967 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 00:31:41 ]
>>964
「@SuppressWarnings("unchecked") を頭に付ける」が正しい
1.4互換のソースとあわせて使う場合は仕方なし。

どうしても気持ち悪いっていうならば、@SuppressWarningsを許可するUtilクラスなんかを作成しておくのはあり。
@SuppressWarnings("unchecked")
public class SessionUtil {
  public List<String> getAttributeList(HttpSession sesstion, String key) {
    return (List<String>) session.getAttribute(key);
  }
}

968 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 00:33:26 ]
>>966
それで正しいよ。
静的なレベルではどんな型か解らない。
ただ、仕様としてList<String> 以外はありえない。
Tigerの拡張で、静的にList<String> 以外はいれられない/取得できないって制限をかけることが可能になった

969 名前:964 mailto:sage [2008/05/11(日) 00:54:16 ]
>>967>>968
ありがとうございます。
getAttributeで得たものを変数に格納しようとすると、
必ず出てしまう警告だということですね。
何か落ち着きませんが…次からは@SuppressWarningsを許可するクラスを作って対応しようと思います。

970 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 02:23:50 ]
JSPでカレンダーを作ってます。
今月は問題なく表示できましたが、
先月、次月という2つのボタンを配置してボタンを押してそれぞれ表示させようと思うのですがどうすればいいのでしょう。
現在は先月、次月のボタンを配置したところまではやりましたが実行してボタンを押してみると、
先月はうまくいきましたが次月を押すと、先月と同じ動きをします。
リクエストパラメータを使う?とかなんとか聞いたのですがよくわかりません。



971 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 02:50:42 ]
>>954
ファイルそのものじゃなくて、そのファイルがあるディレクトリを読み
取り専用にすればいいじゃないかな。





972 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 03:09:50 ]
>>970
リクエストパラメータを使って何月のカレンダーを表示するかをサーバに渡せばいい。
わからなかったらリクエストパラメータとJSPでぐぐってから質問しろ

973 名前:970 mailto:sage [2008/05/11(日) 11:03:33 ]
>>970
すいません。

>リクエストパラメータを使って何月のカレンダーを表示するかをサーバに渡せばいい。

これがググってもわからなかったので質問させてもらったんですが。

<form method="post" action="calendar.jsp?year=<%=intYear%>&month=<%=intMonth-1%>">
<input type="submit" value="先月">
<b><%=intYear%>年<%=intMonth%>月</b>
<form method="post" action="calendar.jsp?year=<%=intYear%>&month=<%=intMonth+1%>">
<input type="submit" value="次月>
</form>

今はこんな状態です。一体どこにどうリクエストパラメータをつかうのかがよくわかりません。

974 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:33:47 ]
>973
Java以前の話だ。
「HTTP POST GET パラメータ HTML FORM 」あたりのキーワードで調べろ

975 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:04:06 ]
swingの勉強中なのですが、ImageIconクラスを使った画像の読み込みで
画像が表示されません。
自分でやってみてもダメだったので本に付属のソースをインポートしてやってみたのですがやはり表示されませんでした。
下記が本のソースで、画像ファイルstream.jpgはjavaファイルと同じディレクトリ(pkggui/以下)にインポートしてあります。
本のソースで表示されないあたり画像ファイルの置き場所が間違っているような気がするのですが、どうしたら良いのか教えてください。

public class ImageLabel01 extends JFrame {

  public static void main(String[] args) {
    ImageLabel01 w = new ImageLabel01( "Imagelabel01" );
    w.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    w.setSize( 350, 250 );
    w.setVisible( true );
  }
  public ImageLabel01( String title ){
    super( title );
    JLabel panel = new JLabel( new ImageIcon( "stream.jpg" ) );
    getContentPane().add( panel );
  }
}


976 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:26:37 ]
Javaファイル(ソース)ではなく、クラスファイルと同じ場所に配置しているか?

977 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:40:55 ]
>>976
そっちか!!と思ったのですが、
eclipseがbin/pkggui以下に勝手に置いてくれてたっぽくて今見たらありましたorz

ちょっとどうしても分からないので自分の状態が分かるよう
作業画面と実行画面をSSにしてみました。
こんな感じなのですが、どうでしょうか?orz
roo.moo.jp/hoge.jpg

978 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:51:47 ]
ファイル名だけど、pkggui/sample.jpg じゃね?
java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/ImageIcon.html#ImageIcon(java.lang.String)


979 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:22:30 ]
>>978
アドバイスありがとうございます!
今絶対パス指定したり色々やってみたのですが、どうやらここでのファイル名はカレントディレクトリとして
プロジェクトのディレクトリを参照しているらしく、そこにファイルを置くか./bin/stream.jpgとすることで解決出来ました!

以前、ImageIO.read(getClass().getResource(image))で描画処理をした時は
imageに使うファイルはパッケージ以下に入れてファイル名だけを記述して行う形でOKだったため
参照しているディレクトリが同様かと思い勘違いしました><;

980 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:42:11 ]
>>975
new ImageIcon(getClass().getResource("stream.jpg")) とすればいいと思う

981 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 17:47:16 ]
入社して業務でJavaを使うので一から学びたいのですが、良い書籍などあれば教えていただけないでしょうか?
オブジェクト指向についての解説もあれば尚良いのですが



982 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 17:51:20 ]
>>981
他の言語の経験は?

983 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 17:54:24 ]
入門程度ならやさしいjava以外ならなんでも良いんじゃない。

984 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 17:57:18 ]
SJC-Pの問題集をやるのもあり
2ヶ月もあれば大雑把に概要は学べるだろ

985 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:02:41 ]
今だとどんな本があるんだろか、と思って調べたら柴田望洋氏が何か書いてるな
明解C言語は良かったが、Javaはどうなんだろ

いずれにしても、古いものは避けたほうがいい
JDK5.0以降に対応しているもの

986 名前:981 mailto:sage [2008/05/11(日) 18:30:04 ]
すみません、経験書いていませんでしたね
学校でC++、Java、VBについては一応習いましたがあまり真面目でなかったことと、
卒業してから遊び呆けて全く書かなくなっていたツケが回って現在は忘れまくって酷い有様です。
先ほどちょっとJavaで四則演算のみの計算機作ろうと思ったら変数宣言の仕方までわからない状態でした。
Dim x as Integerって確かVBの方ですよね・・・なんでこれで通らないのかと悩んでみたり
まぁ一応一度は習っていた経験は再習得には役立つと思うのですが、流石に変数宣言の仕方も忘れているようでは
何も知らないものと考えて一からと思っています。

Java以外の言語についても同様の状態です。
一応WhileやFor、If等は覚えていますが関数は殆ど忘れてます。
ちょっと上で挙げて頂いた本について調べてみます。

987 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:35:48 ]
こういうレスを見るたびに悲しくなる

988 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:39:52 ]
卒業して1ヶ月くらいプログラミングから離れていただけで知識が混濁するようではこの先やっていけないんじゃないか?

989 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:40:13 ]
何しに学校行ってたんだ?時間の無駄はよくないよ

990 名前:981 mailto:sage [2008/05/11(日) 18:43:34 ]
自分には適正が無いという事かもしれません・・・が、悔やんでも仕方ないのでこれからはしっかり勉強して能力を維持していかなくてはと決意を新たに頑張りたいところです

991 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:43:52 ]
あれだろ?
レポート提出週は演習室で宴会みたいに大騒ぎしてたやつだろ
んでレポートはDQNグループの中で一番頭いいやつのコピー
レポート提出は考察とかを自分でまとめただけ



992 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:45:06 ]
テストは過去ウラヤマシス
けど、前年度と違う教授や、問題変わってたら落としてやがったwww
あれは腹痛くなるまで笑ったぜww


993 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:46:26 ]
>>990
とにかく書店行って入門書を斜め読みしてみ
一度とにかくやったことがあるなら、メタ的な知識はあるはず

994 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:48:05 ]
適正がないと自分で判断したなら辞めるのは正しいよ
こんな糞業界、適正でもないとやってられん

995 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:49:56 ]
今学校でVBとかもやるんだな
ちょっとびっくり

996 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:51:19 ]
かたやDelphi、かたやScheme いろいろやるみたいですね

997 名前:981 mailto:sage [2008/05/11(日) 18:54:24 ]
>991
不真面目とはいえ提出物はちゃんと自分で仕上げていましたよ
悲しいかな当時学んだ内容が脳に定着してくれなかった訳ですがそれは卒業後のだらけだけが原因ではなく、
学生当時の勉強への力の入れ方が足りなかったのもあったのだろうという事ですorz

>993
そうですね、そうしてみます。ただ定期圏内にあまり大きな本屋が無いのが残念ですが・・・

998 名前:デフォルトの名無しさん [2008/05/11(日) 18:57:59 ]
無闇にCの作法が混ざりこんできてるのが感じられるなあ
かえって混乱が起きてるようにも感じるが


999 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 19:07:35 ]
おれ、ハカーになれるかも知れない・・・

1000 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 19:08:39 ]
1000 なら Java 死滅

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。








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

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

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