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

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

以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath

前スレッド
【初心者】Java質問・相談スレッド65【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1112950312

※注意※
1. 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。
2. 最近マルチ(他スレにも同じ質問を書く人)が増えております。
マルチは嫌われますので、絶対にやめましょう。
3. JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
2デフォルトの名無しさん:2005/04/30(土) 17:47:38
なにこのスレタイ
ふざけてるの?
3デフォルトの名無しさん:2005/04/30(土) 18:49:37
http://www.h6.dion.ne.jp/~b-rock/Prog/source/BFS.c
だれか↑のプログラムをjavaに書き換えてくれない?

うpろだはここね
http://49uper.com/up-s/index.php
4デフォルトの名無しさん:2005/04/30(土) 19:12:01
前スレの988です。
JDKを1.4から1.5に入れ替えてみたのですが結果は同じでした(泣
なにが悪いのかさっぱりです・・・。
54:2005/04/30(土) 20:08:48
と思いきやTomcatのバージョンを4.1に落としたら
無事インストールできました。
どうもありがとうございました。
6デフォルトの名無しさん:2005/04/30(土) 22:18:45
>>4
7デフォルトの名無しさん:2005/04/30(土) 23:58:08
String.formatを使おうとするとエラーが出てしまいます。
8デフォルトの名無しさん:2005/05/01(日) 00:21:51
>>3
はどこかの王族なのか?物凄い態度だな
9デフォルトの名無しさん:2005/05/01(日) 06:01:49
>>7
そうですか。
10デフォルトの名無しさん:2005/05/01(日) 06:33:26
前スレが埋まってからここを含めてネタスレが2つほど立ってるけど
いつになったら正式な Java質問・相談スレッド66 が立つんでしょう?
11デフォルトの名無しさん:2005/05/01(日) 15:47:14
スレが立ったよ。

【初心者】Java質問・相談スレッド66【大歓迎】
ttp://pc8.2ch.net/test/read.cgi/tech/1114858011/

じゃあこのスレは

ーーーーーーー 終 了 ーーーーーーーー
12デフォルトの名無しさん:2005/05/01(日) 16:09:16
>>11
そっちもネタスレでしょ?
書き込みがネタ質問ばっかり。
13デフォルトの名無しさん:2005/05/01(日) 16:37:12
>12
普通の質問投下して流れを修正すればいいべ。
144:2005/05/02(月) 02:14:21
>>6
うははw
あなたうまい事いいますね。
15デフォルトの名無しさん:2005/05/03(火) 18:02:35
javaを始めようと思っています。
なにか初心者で取っ付きやすい、おすすめの参考書などが
ありましたらお願いします。
16デフォルトの名無しさん:2005/05/03(火) 18:58:30
「おいらはJava」
神岡ともなり・昇天まさお共著 \2800
17デフォルトの名無しさん:2005/05/04(水) 05:50:18
>>15
ありますからお願いします。
18デフォルトの名無しさん:2005/05/05(木) 07:59:23
>>14
どこが。ベタやろ。
19デフォルトの名無しさん:2005/05/06(金) 15:50:49
Java初心者です。教えてくださいまし。

Javaのappletをロードしているときに、Flashみたいに
どの位ロードしているのかを、横のバーグラフみたいので
表示してやりたいのですけれど、どうすればいいのでしょう?
20デフォルトの名無しさん:2005/05/06(金) 15:53:21
>>19
できません
2119:2005/05/07(土) 21:25:26
>>20

しくしくしく(;-;)

あの"灰色"な画面をしばらく見ているのはいやだぁ。
色を変えるとか、別の画面をロードが終るまで切替えで
出すとかできないの?
22デフォルトの名無しさん:2005/05/07(土) 21:28:30
あの、湯気がたってるコーヒーマークが
くるくる回るとか、できないの?
(Java VMをいじるかして…)
23デフォルトの名無しさん:2005/05/07(土) 22:48:07
Flashだって最初のロードの後にデータをロードしてるだけ
そのロードにロード中のメッセージを書いてるだけ
Javaも同じ

本体を5KB以下におさえるべし
24デフォルトの名無しさん:2005/05/07(土) 23:28:30
>>19
自分の頭じゃこんなんしか思いつかないです。
LiveConnect使ってるからIEとネスケ以外じゃ動かないと思います。
詳しくは http://java.sun.com/products/plugin/1.3/docs/ja/jsobject.html を見てください。
誰かもっとスマートに書き直してください。

-- appletTest.java
import java.applet.Applet;
import netscape.javascript.JSObject;
public class AppletTest extends Applet {
public void init() {
JSObject win = JSObject.getWindow(this);
win.call("appletStart()", new Object[0]);
// ここ以降に通常処理
}
}
-- appletTest.html
<html><head>
<script type="text/javascript">
<!--
function appletStart() {
document.all.image.style.visibility = "hidden";
document.all.image.width = 0;
document.all.image.height = 0;
document.all.applet.style.visibility = "visible";
}
// -->
</script>
</head><body>
<img id="image" src="loading.jpg" width=400 height=400" alt="now loading...">
<applet id="applet" code=AppletTest.class width=400 height=400 MAYSCRIPT style="visibility:hidden;"></applet>
</body></html>
25宿題わかんない…:2005/05/07(土) 23:33:45
JAVAの宿題がわかんないのです。
誰か助けてくれませんか?
26デフォルトの名無しさん:2005/05/07(土) 23:42:22
>>25
スレ違い

★★ Java の宿題ここで答えます part51 ★★
http://pc8.2ch.net/test/read.cgi/tech/1112154540/
27デフォルトの名無しさん:2005/05/07(土) 23:47:46
>>25
必ずリンク先の >>1をよく読んで、質問文は分かりやすく書いてください。
それと「誘導されてきました」の一文を付け加えることをお勧めします。
28デフォルトの名無しさん:2005/05/08(日) 01:02:40
すいません。このプログラムでdataに0〜99の値を格納した後、
0〜99の値を順番に表示するようになるはずなんですけれども、
なぜか49までを表示した所でとまってしまいます、
どこがいけないのでしょうか?教えて下さい。

import java.io.*;
import java.util.LinkedList;

public class Queue {
public static void main(String args[]) {
int i;
LinkedList data;
data = new LinkedList();
for (i = 0; i < 100; i++) {
data.add(new Integer(i));
}
for (i = 0; i < data.size(); i++) {
System.out.println(data.getFirst());
data.removeFirst();
}
}
}
29デフォルトの名無しさん:2005/05/08(日) 01:06:56
http://ZE206204.ppp.dion.ne.jp/


おkwww
うはっwwwうはっwwwうはっwww
wwwwwwwwwwwwwうぇwwwうはっwww
うはっwww
wwwうぇwww
wwwwwwうぇwww
30デフォルトの名無しさん:2005/05/08(日) 01:28:57
>>28
1 data.size()はループの度に評価される。
2 data.removeFirst()でループの度に要素数は減っていく。

なんで、半分のところでループ条件にマッチしてしまう。

二つ目のforループの前に
int dataSize = data.size();
とでもして、forの条件を「i < dataSize」に変えてみ。
31デフォルトの名無しさん:2005/05/08(日) 01:37:23
>>30
解決できました。アリガd
32デフォルトの名無しさん:2005/05/08(日) 03:27:45
アプレットでタイピングソフトを作ろうと思っているのですが
なかなかはかどりません。何かよい参考書、URLがありましたら
教えていただけませんか?
3324:2005/05/08(日) 06:23:20
> win.call("appletStart()", new Object[0]);
win.call("appletStart", new Object[0]);

上じゃ動かない…ってかミスです。
34ぷりん:2005/05/08(日) 09:58:08
import java.applet.*;
import java.awt.*;
import java.util.*;

/*
<applet code="TopGum.class" width=300 height=100></applte>
*/

class Timeroo extends TimerTask
{
TopGum tg;

Timeroo(TopGum tg)
{
this.tg = tg;
}

public void run()
{
tg.i=+ 1;
tg.repaint();
}
}

35ぷりん:2005/05/08(日) 10:06:38
>>33の続き
public class TopGum extends Applet
{
int i = 0;

Timer timer = new Timer(true);

Timeroo to;

public void init()
{
to = new Timeroo(this);
timer.schedule(to,500,500);
}

public void paint(Graphics g)
{
g.drawString(String.valueOf(i),50,50);

if(i==10000)
{
String st = "もう限界…";
g.drawString(st,50,65);
timer.cancel();
}
}
}

一万までを表示させるアプレットを作りましたが、なぜか1まで表示して止まってしまいます。どこがいけないのでしょうか?
36デフォルトの名無しさん:2005/05/08(日) 10:13:34
×tg.i=+ 1;
○tg.i += 1;
37デフォルトの名無しさん:2005/05/08(日) 10:15:14
http://cw56.ade2.point.ne.jp/
wwwおkwwwうぇwwwwwwwwwwwwwww
おkwwwwwwwwwおkwwwっうぇwwwwwwwwwwww

っwww
っうぇ
おkwwwうぇwww
38ぷりん:2005/05/08(日) 10:16:57
ぅお〜〜〜!!
ありがとうございます。おかげでできました!
3919:2005/05/08(日) 13:36:00
>>24

早速コピーしてコンパイルしようとしたら、次のようなエラーが
でてしまいました。

appletTest.java:1: package netscape.javascript does not exist

そこで最新のjdk(1.5.0_02)にしたら、なななんと、Javaをロード
する時に、どれまでローディングするかを表示するようになりました。
しかも、大きなJavaマークが出て、光線が周りを回ります。

以前のような"灰色"な画面はでなくなったので、嬉しいっ!

# でも、エラーは消えませんでした。どのパッケージを追加
# すればいいのでしょう…??
40デフォルトの名無しさん:2005/05/08(日) 18:28:52
今日、本を買ってきて、
プログラミングの勉強はじめたのですが、
メモ帳でtabキーを押すと8文字インデントされてしまいます。
これを4文字タブにしたいのですが、どうすればいいのでしょうか?
あまりにも基本的なことですいません。
41デフォルトの名無しさん:2005/05/08(日) 18:49:28
いま勉強を始めたなら、メモ帳とか非効率なものを使わずNetBeansでも使いな。
42デフォルトの名無しさん:2005/05/08(日) 19:00:14
クラスの配列の作り方を教えてください。
43デフォルトの名無しさん:2005/05/08(日) 19:05:27
Class[] c = new Class[5];
44デフォルトの名無しさん ::2005/05/08(日) 20:06:34
JTableの任意のセルにプログラムからフォーカスを置くにはどうすればいいんですか?
だれか教えてください。
45デフォルトの名無しさん:2005/05/08(日) 20:12:03
継承のことで質問なんですが、
あるclassファイルを継承するにはそのソースと同じディレクトリにそのclassファイルを置けばいいんですよね?
何故かソースにその継承したいclassのソースを書かないとコンパイルできないんです。。
46デフォルトの名無しさん ::2005/05/08(日) 20:14:00
>>45
パッケージは指定してます?
47デフォルトの名無しさん:2005/05/08(日) 20:15:51
> あるclassファイルを継承するにはそのソースと同じディレクトリにそのclassファイルを置けばいいんですよね?
「classファイルを継承する」の定義から詳しく。

Java言語の継承とは全く関係ないよな?
48デフォルトの名無しさん:2005/05/08(日) 20:16:39
http://p6ea801.tkyoac00.ap.so-net.ne.jp/
うぇwwwおkwwwwうぇwwwうはっwwwwwwwww
wwwwwwっっうぇうはっwwwうはっwww
っうぇwwwwwwっうはっwww
wwwwww
49デフォルトの名無しさん:2005/05/08(日) 20:19:56
>>46指定してます
>>47もろjava言語の継承ですwあれ?スレ違い?
50デフォルトの名無しさん:2005/05/08(日) 20:23:31
>>46すいません、指定していませんでした。指定しないと駄目なんですかね?
51デフォルトの名無しさん:2005/05/08(日) 20:26:16
>>49
継承にかかわらずコンパイルに必要なクラスを実装しているclassファイル
もしくはソースファイルがコンパイラから参照可能な状態になっている
必要がある。詳しくはjavacのドキュメントを参照。
52デフォルトの名無しさん:2005/05/08(日) 20:27:13
>>47 例えばABC.classを継承したいならソースで class ABC2 extends ABC{・・・・・}と書くみたいなことです。
5324:2005/05/08(日) 20:28:21
>>39
コンパイルするにはCLASSPATHにplugin.jar もしくは jaws.jar のどちらかを追加してください。
54デフォルトの名無しさん:2005/05/08(日) 20:29:03
http://i219-164-52-43.s02.a043.ap.plala.or.jp/
うぇwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwっうはっwwwwwwwwwっうはっwww
wwwうぇwwwっwwwっうぇwwwwwwwwwwwwwww
55デフォルトの名無しさん ::2005/05/08(日) 20:36:46
>>47
指定していなくてももちろん大丈夫。
あとは、親クラスのファイルがどこにあるのかが問題。
子クラスと同じディレクトリ?
ちがうならクラスパスの設定が必要。
あとは、大文字小文字とか間違ってないですよね?
56デフォルトの名無しさん:2005/05/08(日) 20:43:28
>>49
> >>47もろjava言語の継承ですwあれ?スレ違い?
ネタにしか見えんので、このスレで構わん。

親クラスと継承するクラスが同じパッケージにないなら、同じディレクトリに置いたらダメ。
57デフォルトの名無しさん:2005/05/08(日) 20:55:26
ま、初心者はちゃんとEclipseなりNetBeansなり、IDE使えってことだ。
5840:2005/05/08(日) 21:21:48
すいません。
初めて、プログラミングの勉強始めたものですが、
とりあえず、今日買ってきた本1冊は、
本のとおり「メモ帳」で書いています。
どうしても8文字タブが気に入らないので設定を4文字にしたいのですが、
どうすればいいのでしょうか?
59デフォルトの名無しさん ::2005/05/08(日) 21:31:00
>>58
メモ帳はできるか不明です。
秀丸を使った方がいいですよ。
Vectorかあたりにあります。
60デフォルトの名無しさん:2005/05/08(日) 21:31:13
>>58
・Microsoftに抗議のメールを書いて、受け付けられるまで何年でも待つ。
・埒があかないので自分でメモ帳を作る。
・他のエディタを使う。
・Eclipse やら NetBeans やら JBuilder やらを使う。

どれでも好きなのをどうぞ。
61デフォルトの名無しさん:2005/05/08(日) 21:45:39
つうか、メモ帳でソース書いてjavacでコンパイルなんて、Javaに慣れてから勉強すれば済むこと。
おとなしくNetBeans入れて勉強しれ。
初心者にはEclipseより使いやすくていい。
文法エラーはエディタ上に表示されるからくだらん入力ミスで悩まされることもない。
おなじディレクトリにないと継承のコンパイルができないとか、バカな質問することもないし。
62デフォルトの名無しさん:2005/05/08(日) 22:02:58
メモ帳→EmEditor(free)→xyzzxywy??→geditな俺は変態ですか?
63デフォルトの名無しさん:2005/05/08(日) 22:06:48
>>28

import java.io.*;
import java.util.LinkedList;

public class Queue {
public static void main(String args[]) {
LinkedList data = new LinkedList();

for (int i = 0; i < 100; i++) {
data.add(new Integer(i));
}

for (Iterator i = data.itarator(); i.hasNext(); ) {
System.out.println(data.nextItem());
}

}
}
64デフォルトの名無しさん:2005/05/08(日) 22:41:49
QueueってインターフェースはコアAPIにあるから
あまりつかわんほうがええ
65デフォルトの名無しさん:2005/05/08(日) 22:50:32
>>64
1.5 から追加されてるね。
66デフォルトの名無しさん:2005/05/08(日) 23:28:55
みなさんってどうやってjavaの勉強しましたかぁ??
そこらへんに売っている本はjavaの基本的な事しか書いてないですよね?
でもjavaって実際、初めからあるclassのimportでつくっていきますよね?
おまけにclassもたくさんありますよね?
あの大量のclassから自分の使いたいクラスを探すのって・・・
みなさんはどうやって自分の使いたいclassを探し当てるんですか?
教えてくださぁ〜い
67デフォルトの名無しさん:2005/05/08(日) 23:40:13
生まれたときから使えた。
問題ない。

ま、Javaのクラスなんて、20個くらい知ってればあとは応用。
6840:2005/05/09(月) 00:43:06
>>59
>>61
>・他のエディタを使う。
>・Eclipse やら NetBeans やら JBuilder やらを使う。

メモ帳が使える代物じゃないということはわかりました。
本には上記のようなことが書いていないので、自分で調べた感じだと
秀丸は高機能エディタみたいな感じ?
NetBeans、JBuilderは開発環境とあるのですが、
これらにはエディタ機能+何かがついている感じ?
自分はSDKをダウンロードして
「エディタ(メモ帳)とDOS窓で命令」で勉強するものだと思っていたのですが、
netBeansとはどんなものなんでしょうか?
69デフォルトの名無しさん:2005/05/09(月) 00:58:38
単体でGUIが作れてコンパイルが出来てエラー行チェックができて、一行単位での実行ができて、
おまけにjarファイルのビルドが出来てしまうアプリケーションの事だよ>netbeans
70デフォルトの名無しさん:2005/05/09(月) 00:59:41
何かどころではない。
とりあえずhttp://www.netbeans.org/からダウンロードすれ
Tomcatとかもついてるから、サーブレット/JSPも簡単に勉強できる。

インストールして起動してカテゴリ「一般」の「Javaアプリケーション」プロジェクト作って「Java主クラス」とか作ればサンプルは入力できる。
実行は「ファイルを実行」で。
「Webアプリケーション」プロジェクト作ればJSPとかもすぐ動かせる。

使い方はこことか
ttp://www.netbeans.org/kb/using-netbeans/40/index_ja.html

メモ帳+DOS窓は、メモ帳+DOS窓の勉強が必要になったときにすればいい。
Javaの勉強には、IDE使うべき。
7140:2005/05/09(月) 01:23:41
8文字タブを4文字タブにしたいということから
話が発展してしまいましたが、、
自分はJAVAはおろか、プログラミング自体が始めてで、
、サーブレット/JSPが何かもわからない初心者でも
上のような機能満載(?)のツールを使っていいのでしょうか?
リンク先の
「IDE4.0の使用方法>>プロジェクトの設定>>IDEの基礎概念」
と見てみてもよくわからない用語がいっぱいでよく理解できないので、
もう一冊本を買ってこようと思います。
今持っているのは「JAVA言語プログラミングレッスン(上)」
なのですが、この本にはIDEのことは触れられていませんでした。
統合開発環境を使って勉強するJAVAのお勧めの本を教えてください。
72デフォルトの名無しさん:2005/05/09(月) 01:30:24
>>71
> 上のような機能満載(?)のツールを使っていいのでしょうか?
別に構わんのでは?
PCっつか、Windowsの使い方とかの勉強も一緒にしたいなら話は別だけど。

> 統合開発環境を使って勉強するJAVAのお勧めの本を教えてください。
使いこなす必要が無い(コンパイルして実行できれば良いだけ)なら本は要らないと思われ。
73デフォルトの名無しさん:2005/05/09(月) 01:34:42
初心者だからこそ機能満載が要るんだよ。
とりあえずダウンロードして、適当に使ってみれ。
使うメニューは「新規プロジェクト」「新規ファイル」「その他を実行 | xxxを実行」だけでいいから。
それと、その本はクラスのこととかも触れてないからJavaの勉強にはならんね。
Eclipseの本が何冊か出てたけど、勧めれるほどの本はなかった。
NetBeansの入門本はないね。3.6の本はあるけど、使い方違うし。
7440:2005/05/09(月) 03:28:42
親切にご指導ありがとうございます。
とりあえず、
統合開発環境とやらを導入してみます。

この板にかきらず、2chでは馬鹿にされる資格ですが、
自分は、秋の基本情報を取りたいので、
基本情報のJAVAの問題が解けるようになりたいんです。
クラスのこととかは「プログラミングレッスン(下)」の方に
なるはずで、こちらも買う予定です。
この本2冊で、試験問題はこなせるようになりますか?
スレ違いでごめんなさい。
75デフォルトの名無しさん:2005/05/09(月) 03:47:37
http://YahooBB219180178006.bbtec.net/
wwwwwwwwwwwwおkwww

wwwwうぇwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
っうぇ
っうぇうはっwwwwwwwww
7619:2005/05/09(月) 03:51:25
>>53

ありがと!!
コンパイルできました。

でも、起動すると次のようなエラーが出てJavascriptが動いているか
確認できません。(;-;)

java.security.AccessControlException: access denied (java.io.FilePermission backXXX.gif read)

appletviewerではアプレット動くのですけれど。。
77デフォルトの名無しさん:2005/05/09(月) 04:09:51
>>74
基本情報は、最初の目標としてはいいと思うよ。
資格をとるためじゃなくて、力をつけるために勉強するなら、かなりいい勉強になるし。
Javaの問題は知らないからなんとも。
78デフォルトの名無しさん:2005/05/09(月) 04:17:25
http://i60-42-162-17.s02.a043.ap.plala.or.jp/
wwwおkwww

っうぇwwwwwwwwwwwww
おkwwwwwwwwwっおkwwwっうぇおkwww
っwwwwwwwwwwwwwwwwwwwww
7919:2005/05/09(月) 04:27:07
やっぱり、javascriptの方もダメみたいです。(;-;)

appletviewerで動いたのは、JSObjectのところをコメントしてたからみたい…。コメントを外すと、appletviewerがJSObjectがないと叱ってきます。

Java/applet% javac -classpath /usr/local/jdk1.5.0_02/jre/lib/plugin.jar appletTest.java -Xlint:deprecation
Java/applet% appletviewer appletTest.html
java.lang.NoClassDefFoundError: netscape/javascript/JSObject
at appletTest.init(appletTest.java:10)
at sun.applet.AppletPanel.run(AppletPanel.java:373)
at java.lang.Thread.run(Thread.java:595)

JSObjectのところのコメントをつけてコンパイルしたものをブラウザから見ようと
思うと、java.io.FilePermissionでエラーになります。(appletviewerは動くのに)

java.security.AccessControlException: access denied (java.io.FilePermission backXXX.gif read)

うううううう…。(;_;)
8019:2005/05/09(月) 04:27:55
ソースはこんな感じですぅ。

import netscape.javascript.*;
import javax.swing.*;
import java.awt.*;
import java.net.*;
import java.awt.event.*;

public class appletTest extends JApplet {
public void init() {
JSObject win = JSObject.getWindow(this);
win.call("appletStart", new Object[0]);
// ここ以降に通常処理
getContentPane().add(new JLabel(
"Hello! Swing World",
new ImageIcon(getImage (getDocumentBase(), "back511.gif")),
JLabel.CENTER));
}
}

class WindowEventHandler extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
81デフォルトの名無しさん:2005/05/09(月) 04:45:41
で、JSObjectのあるjarは見れるようにしてんの?
8219:2005/05/09(月) 05:52:46
java.security.AccessControlException: access denied (java.io.FilePermission XXX read)
のエラーが出る時は、JSObjectの行はコメントしてあるので、関係ないと思います。
だから、問題は2つあるようです。

- アプレットを動かすときに、java.security.AccessControlException: access denied
で動かない。

- JSObjectを参照するとjava.lang.NoClassDefFoundError: netscape/javascript/JSObject
で動かない。

> で、JSObjectのあるjarは見れるようにしてんの?

ブラウザでappletで動かす時に、どうしていすればいいのでしょう?
83デフォルトの名無しさん:2005/05/09(月) 06:12:54
http://141-189-192.biwa.ne.jp/
おkwwwwwwwwwwwwwwwっっうぇっうはっwww
おkwwwwwwwwwwwwwwwっうぇおkwww
wwwうぇwwwおkwwwwおkwww

84デフォルトの名無しさん:2005/05/09(月) 06:31:02
http://p6222ed.kyotac00.ap.so-net.ne.jp/
おkwwwwwwwwwwwwwwwwwwwwwwwwwww
うぇwwwうぇwwwうぇwwwwwwwww

wwwwwwうぇwwwwwwっうぇwwwwっ
8519:2005/05/09(月) 08:05:29
> java.security.AccessControlException: access denied (java.io.FilePermission XXX read)
> のエラーが出る時は、JSObjectの行はコメントしてあるので、関係ないと思います。
> だから、問題は2つあるようです。
>
> - アプレットを動かすときに、java.security.AccessControlException: access denied
> で動かない。
>
> - JSObjectを参照するとjava.lang.NoClassDefFoundError: netscape/javascript/JSObject
> で動かない。

何だか分かりませんが、両方とも突然解決してしまいました。^-^;
どうして解決したのか、全然分かりません。(でも、リブートはしました)

でもjavascriptで指定しているイメージがでません。次のような「アクセス権はfalse」
というメッセージがでますけれど、これと関係しているのでしょうか?

liveconnect: アプレットのURLは http://xxxx.xxxxx.xxxx, アクセス権はfalseです。
liveconnect: JSObject::call: 名前=appletStart
liveconnect: アプレットのURLは http://xxxx.xxxxx.xxxx, アクセス権はfalseです。

# それともアプレットが小さ過ぎて、ロードが早く終ってしまい見えないだけなの
# でしょうか?
86デフォルトの名無しさん:2005/05/09(月) 08:23:28
http://60-56-144-98.eonet.ne.jp/

wwwwwwwwwwwwwwwっうぇwwwwおkwww
おkwwwっ
wwwwwwwおkwwwwwwwww
うぇwwwwwwっwwwwwwwwwwwwwwww
8719:2005/05/09(月) 10:33:25
> でもjavascriptで指定しているイメージがでません。次のような「アクセス権はfalse」
> というメッセージがでますけれど、これと関係しているのでしょうか?
>
> liveconnect: アプレットのURLは http://xxxx.xxxxx.xxxx, アクセス権はfalseです。
> liveconnect: JSObject::call: 名前=appletStart
> liveconnect: アプレットのURLは http://xxxx.xxxxx.xxxx, アクセス権はfalseです。

リブートして再度アクセスしましたら、Javascriptでイメージをロードしました。
先ほどは既にJavaがロードされていたため、Javascriptが動作する暇がなかった
ようです。

なぜ全て動作するようになったのか分かりませんが、今は全て動作しています。^-^
ありがとうございました。

88デフォルトの名無しさん:2005/05/09(月) 10:55:50
つうか、あげんなボケと。
山田の標的になるだろが。
あげるんなら、ネタスレも一緒にあげとけと。
89デフォルトの名無しさん:2005/05/09(月) 11:32:22
(´・ω・) カワイソス
90デフォルトの名無しさん:2005/05/09(月) 14:38:57
Charポインタ型からChar型に変換するにはどうすればいいんですか?
91デフォルトの名無しさん:2005/05/09(月) 14:43:49
ネタスレにふさわしいネタ質問でつね
92デフォルトの名無しさん:2005/05/09(月) 14:47:34
ごめんなさい;;
質問するスレ間違えました;;
逝ってきます。。
93デフォルトの名無しさん:2005/05/09(月) 18:28:28
リストhogelistに対してある処理をしたいんですが、その処理の手法が2種類あるとして
各手法を別々のクラスで実装して、簡単に使い分けられるようにしたいのですが、
どのように実装すべきでしょうか。

インターフェースSyuhouで抽象メソッドsyoriを宣言して、サブクラスSyuhou1と
Syuhou2で各々の手法を使ったsyoriを定義して、
Syuhou s1 = new Syuhou1();
Syuhou s2 = new Syuhou2();
hogelist2 = s1.syori(hogelist);

というのを考えてはいるのですが、できればインスタンスを作らずに、
Syuhou1.syori(hogelist)と、抽象クラスの静的メソッドとして実装したいのです。
でもそれでは手法1と手法2で処理を行うメソッドをsyoriと統一する意味がないのかなと…
94デフォルトの名無しさん:2005/05/09(月) 21:12:44
不順な目的をかなえる方法はない
静的メソッドでやるなら2つ作ればいいんじゃね
95デフォルトの名無しさん:2005/05/13(金) 01:03:17
>Syuhou1.syori(hogelist)
    ^
既にこの時点でインターフェースを実装した意味が全く無いのだが
ストラテジーパターンみたいな事がやりたいっぽく読めたんだが
なにか静的メソッドである必要性があるのか?
96ぷりん:2005/05/13(金) 20:20:49
今アプレットで、ウィンドウサイズを変えても中心に図形がくるようなものを作っています。
import java.applet.*;
import java.awt.*;

/*
<applet code="Diii" width=200 height=200></applet>
*/

public class Diii extends Applet
{
public void paint(Graphics g)
{
Dimension d = getSize();
int x = d.width / 2;
int y = d.height / 2;
int r = (int)((d.width < d.height) ? 0.4 * d.width : 0.4 * d.height);
g.setColor(Color.red);
g.drawOval(x-r
y-r
2*r
2*r);
}
}

これのDimension d = getSize();をペイントの中から外して、ペイントの前に入れるとDimensionが0になってしまいます、何故ですか?
97デフォルトの名無しさん:2005/05/15(日) 02:22:10
多分インスタンスの時点では、Appletが表示されて無い為
大きさが設定されてないのだと思う。
98させそ:2005/05/15(日) 11:46:36
画像1と画像2がぶつかったら、画像2が消えるようにしたいのですが、どのようにすればいいのですか?ずっと考えたのですがわかりません。画像1・2のサイズは50×50です。
99デフォルトの名無しさん:2005/05/15(日) 11:58:44
>>98
画像1と画像2がぶつかったことを判定したら、画像2を表示させないようにしたらいいです。
100デフォルトの名無しさん:2005/05/15(日) 13:02:17
JNIを使うプログラムを、jarファイルで他人に配布したいと考えています。

.so(.dll)ファイルと、.classファイルをまとめてjarに格納したいんですが、
LD_LIBRARY_PATHとか -Djava.library.pathをできるだけ設定せずに、配布先が
java -jar hogehoge.jar だけで共有ライブラリもリンクできるようにするスマートな
方法はありませんでしょうか?
101デフォルトの名無しさん:2005/05/15(日) 13:08:21
Windowsならカレントディレクトリ見てくれるけど、Linuxとかだと
ライブラリパス設定されてるところにおかないとだめだったような

インストーラがコピーしてくれるとか環境変数取得してなんかやるとか
102:2005/05/15(日) 15:18:18
import java.applet.*;
import java.awt.*;

/*
<applet code="ThreadH.class" width=100 height=100></applet>
*/
class Threadt extends Thread
{
ThreadH th = new ThreadH();

public void run()
{
try
{
while(true)
{
th.i += 1;
Thread.sleep(200);
th.repaint();
}
}
catch(InterruptedException ex){}
}
}

103:2005/05/15(日) 15:20:56
>>102の続き
public class ThreadH extends Applet
{
int i;

public void init()
{
i = 1;
Threadt tt = new Threadt();
tt.start();
}

public void paint(Graphics g)
{
g.drawString(String.valueOf(i)
50
50);
}
}

とやったのですが、アプレットを実行すると表示が1から進みません。どうしたらいいのでしょうか?
104デフォルトの名無しさん:2005/05/15(日) 15:26:48
面白いコードだな
インスタンスの図をかいてみるといいよ
105:2005/05/15(日) 15:49:48
import java.applet.*;
import java.awt.*;

/*
<applet code="ThreadH.class" width=100 height=100></applet>
*/

class Threadt extends Thread
{
ThreadH th;

Threadt(ThreadH th)
{
this.th = th;
}

public void run()
{
try
{
while(true)
{
th.i ++;
Thread.sleep(1000);
th.repaint();
}
}
catch(InterruptedException ex){}
}
}

106:2005/05/15(日) 15:50:32
public class ThreadH extends Applet
{
int i;

public void init()
{
i = 1;
Threadt tt = new Threadt(this);
tt.start();
}

public void paint(Graphics g)
{
g.drawString(String.valueOf(i)
50
50);
}
}

見直して直したら動いたのですが、表示される数字がたまに一つ飛んだりします。これはしょうがないのでしょうか?
107デフォルトの名無しさん:2005/05/15(日) 16:22:54
よーくコードみてごらん
iをカウントアップしてるタイミングと描画されるタイミングは並列だよ

1・repaintで描画を依頼
2・i++
3・描画

というタイミングがあるでしょ
108デフォルトの名無しさん ::2005/05/15(日) 17:09:48
簡単な質問でごめんなさい。
あるフォルダ以下を
別のフォルダにコピーするにはどうすればいいんでしょうか?
109デフォルトの名無しさん:2005/05/15(日) 17:15:53
110:2005/05/15(日) 22:22:10
>>107
カウントアップとrepaintを並列でやらずに、別々にやれば、表示が飛ぶことはなくなりますか?
111デフォルトの名無しさん:2005/05/15(日) 22:43:56
このスレッド分けてる方式だとrepaintは必ず並列になるよ

AppletをJAppletにしてSwingUtilities使えば楽チンだな
AWTベースにこだわるなら無理だが、もう10年前の話だしな>Applet
112デフォルトの名無しさん:2005/05/16(月) 10:43:01
JSPをTOMCATをつかってローカルホストで表示させたいのですが、うまくいきません。
javaの環境設定はできており、トムキャットもhttp://localhost:8080/にアクセスして、猫ちゃんのページに
ちゃんと飛べています。そしてTOMCATの中のwebappsの中にtestというJSPテキストをつくり、
拡張子をwarにしました。

そのあとにローカルホストのhttp://localhost:8080/testにアクセスしてみましたが、HTTPステータス 404 - /test
と表示されます。原因がわかるかた教えていただけたらうれしいです。
お願いいたします。
113デフォルトの名無しさん:2005/05/16(月) 10:50:01
>>112
Webアプリケーションのデプロイの方法が根本的に違うぞ。
ここで一から説明するのは気が遠くなりそうだから、入門書の
一冊でも買え。
114デフォルトの名無しさん:2005/05/16(月) 10:58:41
了解です。早速 本屋にいってきます!
115デフォルトの名無しさん:2005/05/16(月) 11:08:24
WEBデザイナー業だけでは食べていけないので、他に副業的なものを(もしくは
そちらを本業)しようと考えています。そのために、JAVAとMYSQLを
マスターすべきがんばっています。そこでJAVAに関してお伺いしたいのですが、SUNJAVA認定資格のSJC-PとDを取ろうと考えているのですが、デザイナーのフリーランスとして、この二つの資格をとり、少し実務をつめば、お仕事の案件のほうははいってくるでしょうか?
116デフォルトの名無しさん:2005/05/16(月) 11:28:33
>>115
その路線で資格をとるならSJC-Pと、DではなくWCだな。
資格よりも実務経験、実績が大切。ひとつひとつの仕事の完成度と信頼の積み重ねだよ。
117デフォルトの名無しさん:2005/05/16(月) 11:31:39
状況が詳しくわかりませんが、おそらく入ってこないです!
あなたがWEBデザイナーの技術があるのならば
資格よりも、さっさとjava・sqlでサイトなど構築できる技術をつけるべきです

一番重要なのは営業力!ここを重要視するべきです!
118デフォルトの名無しさん:2005/05/16(月) 11:56:31
>>114
ってか、NetBeans使って勉強すれば、JSPとかサーブレットのコンパイルとか動かし方で悩むことはなくなる。
119デフォルトの名無しさん:2005/05/16(月) 12:27:13
>>116,7 有り難うございます!
ではいちおうサーバーサイドまで(WCということなので)
覚えて、その後実務を重ねれば、まぁ案件はあるということですか?
WCにせよ、資格をとる暇があれば、実務を重ねたほうが良いのですか?
お客様に、資格があれば信用していただけると思ったのですが、
やはり資格の問題の中には、実務に不必要なものが多々あるのでしょうか?
120デフォルトの名無しさん:2005/05/16(月) 12:41:34
資格なんか気にする顧客はいないね。

というか、資格持ってますとか得意気に言ってしまったら
「資格しか売りがない使えないやつか」
ということがばれる。
121デフォルトの名無しさん:2005/05/16(月) 12:50:32
>>118
JSPとかサーブレットのコンパイルとか動かし方を知らないままでいいのか?って問題もあるけどな。
122デフォルトの名無しさん:2005/05/16(月) 12:55:13
>>119
資格なんかより、「実績」というものの重みの方ががはるかに大きいんだよ。
実績さえあれば資格そのものが不要なのがこの業界。
教員免許を持っていても人を教えたことがない、とか
運転免許を持っているだけのペーパードライバーの運転を信用できないのと似ている。

まあ、これから技術を勉強するのなら資格対策は有効だと思うけど。
とりあえず基礎・サーバサイドJava技術を一通り網羅できるから、
漏れや抜け落ちがある程度防げるという程度の意味でね。
123デフォルトの名無しさん:2005/05/16(月) 13:00:43
>>121
なにも動かせないよりはいい。
動かし慣れれば自然とわかる部分もあるし、ある程度余裕ができてからで充分。
必要になってから勉強すればいいと思われ。
124デフォルトの名無しさん:2005/05/17(火) 07:46:16
NetBeansよりEclipseの方が普及度、
将来性を考えると良いような気がする。
125デフォルトの名無しさん:2005/05/17(火) 07:55:27
将来性はどうかな。
Eclipseのいいところは普及度だけだからな。
126デフォルトの名無しさん:2005/05/17(火) 09:15:38
Eclipseのほうがプラグインが豊富。
デフォルトでCVSクライアント機能がついてるし。
操作性もいい。
NetBeansはキーボードだけで操作できることが少なくて不便だよ
127デフォルトの名無しさん:2005/05/17(火) 10:39:41
NetBeansにもCVSクライアント機能はついているが?
128デフォルトの名無しさん:2005/05/17(火) 12:13:05
>>126
デフォルトで、という話なら、NetBeansの方が有利だな。
EclipseはGUIデザイナにしろWebアプリサポートにしろ、プラグインの数は多いけど使い物になるもんがない。
129デフォルトの名無しさん:2005/05/17(火) 13:13:14
シェアの差はでかいよ。
例えば、商用プロダクトを導入するプロジェクトでアプリサーバ・開発環境などを選定する際に
IBMかBEAかで選択することがよくあるが、その場合、普段はEclipseを使っているから、
Eclipseを使えるエンジニアなら確保しやすいから
Eclipseベースで使える製品という理由でIBMが選択されるケースがよくある。
まあ、これこそがIBMがEclipseをタダでばらまいた戦略であり、ねらいなのだが。
富士通もEclipseベースの開発環境だし、SAPもしかり。
NetBeans使えても、そういう大規模プロジェクトに入ったときに商用製品に応用が利かない場合が多い。
130デフォルトの名無しさん:2005/05/17(火) 16:14:44
EclipseにこだわってへぼいGUIつくってたチームならみたことある
131デフォルトの名無しさん:2005/05/17(火) 19:46:32
WinXPにてTomcat5.5を導入し、インストール完了。
しかし、サービスを開始してもすぐに終了してしまいます。
イベントログを見ても、

「Apache Tomcat サービスは、正常に 開始 コントロールを送信しました。」
  ↓
「Apache Tomcat サービスは、実行中 状態に入りました。」
  ↓
「Apache Tomcat サービスは、停止 状態に入りました。」

を繰り返しています。

Nortonセンセも同居しているのですが、AntiVirusの設定で、javawとtomcat5は
すべて許可されています。

以前は動いていたのですが、JVMを1.4.2_08に入れ直した後、起動しなくなり、
Tomcat5も再度JVMのパス設定含めて入れ直しました。

何か見落としありますでしょうか。。。
132131:2005/05/17(火) 20:42:49
自己調査報告。
Eclipseので、Tomcatプラグイン動かしましたところ、
「このリリースの猫は、Java5.0以降でないとうごかねーぞ」みたいなメッセージが
コンソールにでますた。
なので、5.0.30に入れ替えたところ、動作しましたです。
以前動いていたのは、JVM5.0環境だったことを思い出しますた。。。(;´Д`)

回線切って、吊ってお詫び申し上げます。
133デフォルトの名無しさん:2005/05/17(火) 22:16:10
質問させてください
エクリスプがエディタみたいなもんだというのは分かったのですが
tomcatって何ですか?使い方が分かりません。説明サイトなどありましたら
教えてください。お願いします
134デフォルトの名無しさん:2005/05/17(火) 22:17:46
エクリスプじゃなくて
eclipseでした。すいません
135デフォルトの名無しさん:2005/05/17(火) 22:21:01
http://www.google.co.jp/search?hl=ja&q=tomcat&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
要はサーブレットコンテナといって、
サーブレットとかJSPを動かすときの土台(の一つ。他にも商用のWeblogicとかWebSphereとかある)。
136デフォルトの名無しさん:2005/05/18(水) 00:30:09
j2meのプログラムをブラウザで起動する方法を教えてください。
iアプリは理解しているんですけれど、ezアプリのほうがよくわからなくて。
137デフォルトの名無しさん:2005/05/18(水) 00:51:33
>136
普通にエミュのメニューから起動するだけじゃなかったっけ?
てか、ブラウザって何だ。
138デフォルトの名無しさん:2005/05/18(水) 01:46:34
Swingを使用したアプリを作っています。

JTextFieldに一度設定した文字列を、
実行時にイベントが発生した場合に書き換えたいのですが、再度setText(String)を呼び出しても
文字列が書き換わりません。

何か別の方法があるのでしょうか?

ご教授よろしくお願いします。
139デフォルトの名無しさん:2005/05/18(水) 02:15:29
138です。

自己解決しました。Eclipse3.0.2でVEを使っているのですが、

actionPerformedにsetText()を書いてイベントを発生させても
同時に立ち上がっている画面にはなぜか反映されませんでした。

mainから動かしたらOKでした。すいません。
140136:2005/05/20(金) 04:05:22
>>137
エミュレータでrunすれば動くんですが、
自分の携帯でアクセスして動かす方法がわからないんです。
docomoの方は成功しているんだけれど、KDDIの携帯からEZアプリを動かせないんです。
141デフォルトの名無しさん:2005/05/20(金) 05:12:45
そういう状況を解決するための質問が>>136というのが信じられん。
ま、auのサイトでも見れ。
142デフォルトの名無しさん:2005/05/22(日) 17:26:37
あるマシンで動くプログラムを別のマシンで動かすと,

java.io.InvalidClassException:
sun.awt.windows.WFontMetrics;
local class incompatible:
stream classdesc serialVersionUID = 6931762354969026072,
local class serialVersionUID = 6394466458583168202

というメッセージが出ます。
両マシンとも,j2sdk-1_4_2_06 がインストールされてますが,動かない方は
JBuilder も入ってます。

初心者で,何で違う sun.awt.windows.WFontMetrics が使われるのか
さっぱりわからないのですが,説明してもらえないでしょうか?

よろしくお願いします。
143デフォルトの名無しさん:2005/05/22(日) 17:42:01
朝げ
144デフォルトの名無しさん:2005/05/22(日) 17:47:47
DataInputStream din;
int line;

din = new DataInputStream(new FileInputStream("入力元ファイル"));
while((line = din.read()) != -1) {
; // バイナリ読み込み.
}

このようにして、指定された入力元ファイル(画像やmidiなどのバイナリ)を読み込むプログラムを作っています。
while文中で具体的なバイナリデータを取得し、それをそのままオブジェクトとして扱うには、どのようにすれば良いのでしょうか。
つまり、ファイルからのデータを配列にでも取得し、それをImageオブジェクトに変換して、画面に表示するようなことをやりたいのです。

現在は、やり方がわからないのでDataOutputStreamのwriteByteメソッドで、読んできたlineをそのまま他のファイルに書き込み、そこへ読みに行くようにしています。
このように中間ファイルを経由せず、直接表示する方法があれば、ご教授お願いします。m(_ _)m

よろしくお願いします。
145デフォルトの名無しさん:2005/05/22(日) 18:00:42
>>144
最初質問の意味がわからなかったが
何回かよんいるうちに理解できた
ByteArrayOutputStream使え
146デフォルトの名無しさん:2005/05/22(日) 18:12:15
Hey! You listen!
あなたが求める未来を
147デフォルトの名無しさん:2005/05/22(日) 18:14:51
JavaでLAN上の共有フォルダ内のファイルを参照したいのですが
方法ってないですか?
参照したいファイルがあるホストは何のサーバも立ってない状態で行いたいのですが
148デフォルトの名無しさん:2005/05/22(日) 18:15:09
>>998
So!
必ずたどりつけるはず
素敵な人生の始まり
思ってるより良くなるから
君のためにずっと歌いつづけるから
149デフォルトの名無しさん:2005/05/22(日) 18:16:39
>>147
>何のサーバも立ってない状態で行いたい
プログラム使う方法ではそういう状況はありえません
150デフォルトの名無しさん:2005/05/22(日) 18:28:59
>>147
new File("\\\\コンピュータ名\\フォルダの共有名\\ファイル名");
じゃだめ?
151デフォルトの名無しさん:2005/05/22(日) 18:34:00
java.net.NetworkInterface-->
NetworkInterface nc=NetworkInterface.getByName("hoge_machine_name");
・・・・
・・・・
・・・・



152デフォルトの名無しさん:2005/05/22(日) 18:51:42
>>142
自己レスです。
プログラムが古いバージョンでコンパイルされていることがわかりました。
動くマシンにはそのバージョンもインストールされていました。

失礼しました。
153デフォルトの名無しさん:2005/05/22(日) 19:06:06
Swingの新しいGUIコンポーネントを作ろうと思っているのですが、
これってLookAndFeelごとに描写クラスを定義しなくてはならないのでしょうか…。
しかしそうすると新たなLookAndFeelを適応しようとしたとき困るような。

LookAndFeelに依存しないように作る方法はありますでしょうか?
ご教示お願いします。
154デフォルトの名無しさん:2005/05/22(日) 19:13:07
UI作るんじゃなくてJComponentを継承して作るのだ
protectedなメソッドになってるのだけ注意してみればいい
特にpaint〜メソッド系だな

間違ってもpaintメソッドをいじってはいけない
155デフォルトの名無しさん:2005/05/22(日) 19:33:53
>>154
おお、JComponentのjavadocに色々載ってました!
有り難う御座いました。
156デフォルトの名無しさん:2005/05/22(日) 22:03:25
getClass()って特殊なメソッドですか?
自作のMyClassにgetClass()というメソッドが無くても
 MyClass mc = new Parser();
 xx = mc.getClass();
ってできますよね?
157デフォルトの名無しさん:2005/05/22(日) 22:03:52
getClass()って特殊なメソッドですか?
自作のMyClassにgetClass()というメソッドが無くても
 MyClass mc = new Parser();
 xx = mc.getClass();
ってできますよね?
158デフォルトの名無しさん:2005/05/22(日) 22:05:01
java.lang.Object
159デフォルトの名無しさん:2005/05/22(日) 22:05:14
java.lang.Object#getClass()
160デフォルトの名無しさん:2005/05/22(日) 22:05:27
普通にObjectが持ってるメソッド。
161デフォルトの名無しさん:2005/05/22(日) 22:09:16
>>158-160
スゴア!
13秒ごとに同じ内容のレスを…
162デフォルトの名無しさん:2005/05/22(日) 22:13:04
>>161
それをおまえが壊した
罪即斬!
163デフォルトの名無しさん:2005/05/22(日) 22:15:04
(゜д゜)ガーン
164デフォルトの名無しさん:2005/05/22(日) 23:06:08
DOM で新しい要素を作るには Document#createElement() を使えば良いが、
Document そのものを新規で作る場合はいちいち XML を解析しなきゃならんのけ?
165デフォルトの名無しさん:2005/05/22(日) 23:28:23
>>164
なんでそうおもう?
166デフォルトの名無しさん:2005/05/22(日) 23:35:06
DocumentBuilder#newDocument() があったな、すまん寝ぼけてた。
167デフォルトの名無しさん:2005/05/23(月) 00:57:40
みなさまこんばんわ。
すごい分かりにくい質問かもしれませんが、聞かせてください。
例えば以下のような内容なのですが、
 変数:性別「男」か「女」
  条件:性別が「男」の場合
    1.処理「朝起きる」
    2.処理「ご飯食べる」
    3.処理「男子トイレへ」
    4.処理「出勤」
  条件:性別が「女」の場合
    1.処理「朝起きる」
    2.処理「ご飯食べる」
    3.処理「女子トイレへ」
    4.処理「化粧する」
    5.処理「出勤」
このような場合性別による違いは3.4の処理だけで他は一緒ですが、
自分のイメージだとそのままIF文で上のような記述をしてしまいます。
これを上手くまとめれるようなやりかたはないでしょうか?
すごく分かりにくいですね・・・(´・ω・`)
  
168デフォルトの名無しさん:2005/05/23(月) 01:02:13
>>167
ごくごく普通に考えると
同じ処理は共通クラスに書いて
その他の処理はそれぞれこいつ継承したクラスにやらせるという方法
IF−ELSEがいやなら、コマンドパターンでしょうか?
169デフォルトの名無しさん:2005/05/23(月) 01:10:19
>IF−ELSEがいやなら、コマンドパターンでしょうか?

Stateパターンではないのか
170デフォルトの名無しさん:2005/05/23(月) 01:11:30
これで抽象
   1.処理「朝起きる」
    2.処理「ご飯食べる」
    3.処理「トイレへ」
    4.処理「準備する」
    5.処理「出勤」
171デフォルトの名無しさん:2005/05/23(月) 01:12:29
>>167
State Pattern
それ以上のヒントはね

教えてあげないよ
172デフォルトの名無しさん:2005/05/23(月) 01:19:43
>>168
>>169
>>170
>>171
レスありがとうございます!!
とりあえず、コマンドパターンとstate Pattern両方調べております!!
投げっぱなしジャーマン申し訳ないです・・・
173デフォルトの名無しさん:2005/05/23(月) 01:33:25
Template Methodパターンというのも調べてみよう。
174デフォルトの名無しさん:2005/05/23(月) 03:07:37
>>145
どうもありがとうございました、やってみます。
175デフォルトの名無しさん:2005/05/23(月) 04:06:47
つか、普通に男3、女34をifで切り替えりゃいいじゃん。
普通に考えりゃ男と女以外の条件が増えることもないだろうし。
この程度でTemplateMethodとかStateとかCommandとか使うのは、パターンの乱用かと。
パターンの勉強がしたいならそれでいいと思うけど。
176デフォルトの名無しさん:2005/05/23(月) 04:29:43
> 普通に考えりゃ
177デフォルトの名無しさん:2005/05/23(月) 07:16:00
そうしてメンテの工数が膨大になっていく・・
178デフォルトの名無しさん:2005/05/23(月) 10:33:09
増える予定のない条件や分岐に対応するほうが、メンテの工数が増える。
無用にクラスの数も増えるしね。

いまだにデザインパターン使えば単純にメンテしやすくなる思ってるやつがいるのが意外。
179デフォルトの名無しさん:2005/05/23(月) 11:30:31
それはメンテを必要としない小規模作り捨てプログラムの話。
君はそういうプログラム作る機会の方が多そうだね。
180デフォルトの名無しさん:2005/05/23(月) 11:34:25
Stateは使わないだろうな。 この程度のために書くの面倒だし。
処理の複雑さによってはTemplateぐらいは使うかも。
181デフォルトの名無しさん:2005/05/23(月) 11:35:53
>>179
だから、メンテを必要としない小規模作り捨てプログラムの場合にも
大規模と同じやり方をするのはバカだって話をしてるんだよ。
応用・融通・臨機応変・TPOという言葉を知らないのか?
182デフォルトの名無しさん:2005/05/23(月) 11:41:42
>>181
何一人でわき道逸れてんだかしらないけど、「最小工数でとにかく動かす方法」じゃなくて
「うまくまとめる方法」を話してるわけなんだが、空気読めてる?
183デフォルトの名無しさん:2005/05/23(月) 11:49:24
>>182
いつもパターンを乱用するのが最善のうまくまとめる方法なのか?
184デフォルトの名無しさん:2005/05/23(月) 11:50:28
>>182 は4、5年前のEJB厨を思い起こさせるな・・・
185デフォルトの名無しさん:2005/05/23(月) 11:57:29
なんか質問者の意図を無視して、自演してまで必死で揚げ足取ろうと
してる奴が居るんですけど、上げてもいいですかw
186デフォルトの名無しさん:2005/05/23(月) 12:04:18
"自演"の意味もわからないで、
"自演"と言えば煽れると思っている
恥ずかしい奴がいるスレは
ここですか?
187デフォルトの名無しさん:2005/05/23(月) 12:04:18
男女ならifのほうがうまくまとまるのでは
188デフォルトの名無しさん:2005/05/23(月) 12:06:59
>>186
バカ? 自己援護も自演
189デフォルトの名無しさん:2005/05/23(月) 12:07:26
> 自分のイメージだとそのままIF文で上のような記述をしてしまいます。
> これを上手くまとめれるようなやりかたはないでしょうか?

件の質問で作り捨てプログラムだと認識したなら読解能力を疑ったほうが良いと思うよ。
190デフォルトの名無しさん:2005/05/23(月) 12:11:58
パターンの乱用っつうか、まさにそのパターンを聞いてるのではないのけ?
パターンの適用が適切と思えるほどの大きさのサンプルをこんなとこに
持ってくるわけないし。
191デフォルトの名無しさん:2005/05/23(月) 12:12:18
これだけで作り捨てプログラムじゃないと理解できるやつはエスパーか質問者本人だと思う
192デフォルトの名無しさん:2005/05/23(月) 12:14:44
パターンを聞きたいなら直接そう聞けば誤解されずに済むのにね
193デフォルトの名無しさん:2005/05/23(月) 12:18:49
>>191
それ以前に男と女のクラス化をマジ要件と理解する方がトビ過ぎと思われる。
ポリモーフィズムの代表的な説明サンプルの一つだろ。
194デフォルトの名無しさん:2005/05/23(月) 12:23:15
質問の真意を汲み取るスキル
対客折衝にも必要
195デフォルトの名無しさん:2005/05/23(月) 12:26:04
JAX-RPCとJMSの違いを教えてください。
それから、両方ともトランザクション制御はできますか?
196デフォルトの名無しさん:2005/05/23(月) 13:04:02
>>194
ココで世迷言を垂れ流している輩は客では無い件
197デフォルトの名無しさん:2005/05/23(月) 13:10:14
確かにそうだけど、何事にも真摯に向き合って
行かなきゃだめだよ。
そんなんだから業務系は馬鹿にされるんだよ
198デフォルトの名無しさん:2005/05/23(月) 13:15:22
さっきから読解能力とか質問の真意とか言ってるのは>>167
199デフォルトの名無しさん:2005/05/23(月) 13:20:12
お願いします。
JAX-RPCとJMSの違いを教えてください。
それから、両方ともトランザクション制御はできますか?
200デフォルトの名無しさん:2005/05/23(月) 13:26:05
>>199
前者はWebサービスなどで用いられる、XMLデータのやりとりによる呼び出し。
後者はメッセージングによる呼び出し。
後者はトランザクション制御できない、というか非同期呼び出しを行いたい目的のために使う
201デフォルトの名無しさん:2005/05/23(月) 13:44:23
質問です。
JAVAで、ウィンドウズで動くGUIアプリを開発するにはどうしたらいいんでしょうか。
いろいろぐぐってみたんですがvisualcとかVB6とかで作る以外ない?ような気がしてきて
検索キーワードだけでもお願いします・・・
202デフォルトの名無しさん:2005/05/23(月) 13:44:43
現在の問題点はrepaint()の呼びのstaticに関することと
main()を抜けるとsの値がaに戻っていることを僕が
理解できていないことです。
「public static void main」 は変更しないで、
ab → 2秒後 → abc のように表示したいです。教えてください。
次にソースを書きます。
203デフォルトの名無しさん:2005/05/23(月) 13:45:17
import java.applet.Applet;
import java.awt.*;
public class str extends Applet {
 static String s = "a";
 public static void main(String[] args) {
  s += "b";
  repaint();
  try {
   Thread.sleep(2000);
   s += "c";
  } catch (Exception e) {
   s += "d";
  }
 }
 public void paint(Graphics g) {
  g.drawString(s, 10, 10);
 }
}
204デフォルトの名無しさん:2005/05/23(月) 13:56:54
>>201
JAVA Swing
205デフォルトの名無しさん:2005/05/23(月) 13:59:44
>>178
そりゃ使い慣れていなければメンテの工数は減るどころか逆に増えるだろうが
206デフォルトの名無しさん:2005/05/23(月) 14:24:39
>>202
前スレの方ですか?
とりあえず、アプレットの動きを理解してから考えましょう
アプレットとして起動するなら、main は必要ないですし実行もされません
207199:2005/05/23(月) 14:29:31
>> 200
ありがとうございます。
JMSはトランザクション制御できないのでしょうか?
非同期処理を行うのですが、スレッドとJMS全てまとめてトランザクションで括ることは不可能なのでしょうか・・・。orz
208デフォルトの名無しさん:2005/05/23(月) 14:30:00
>>202はいわゆるアプレットケーションという奴でも
つくろうとしているのだろうか
209デフォルトの名無しさん:2005/05/23(月) 14:30:34
java.util.concurrent

といえばコンカレント工学
210デフォルトの名無しさん:2005/05/23(月) 14:43:38
>>207
なんのための非同期処理なのか考えれ
211201:2005/05/23(月) 14:49:53
>>204
ありがとうございます!
とりあえず
ttp://www.javadrive.jp/tutorial/
とかいくつか発見できました。
netbeansというのが開発環境としてよさげなので、ついでにインストールしてみます。
212デフォルトの名無しさん:2005/05/23(月) 14:50:41
ついでといわれるかわいそうなNetBeans
JavadeGUIアプリ作るにはさけて通れない道
213デフォルトの名無しさん:2005/05/23(月) 15:04:21
EclipseにまともなGUIプラグインがフリーで出たらすぐさま不要になる存在だからなぁ
214デフォルトの名無しさん:2005/05/23(月) 15:12:35
でてないし、それ以外でもNetBeansのいいところは多い
得意な点や不得意なところとかお互いあるしそれはいいんじゃないかな
215デフォルトの名無しさん:2005/05/23(月) 15:15:45
>でてないし

出てるとは書いてない。>>213をもう一度よく読め

>それ以外でもNetBeansのいいところは多い

例えば?
216デフォルトの名無しさん:2005/05/23(月) 17:06:44
俺はEclipse2.0のころから使ってるけど、フル
インストールパッケージが用意されていないのはめんどくさいときがあるね。
標準配布だとプラグイン開発・Java(J2SE)開発・
RCP開発向けそれぞれのパッケージしか用意されていない。
だからJ2EE開発・GUIアプリ開発・モデル駆動開発はそれぞれ別途入れる必要が
ある。3.0になって標準のアップデートサイトに多少は登録されたけど、
WTP1.0が公開されたタイミングで全部入りインストーラみたいなのが
用意されてもいい気がする。
217デフォルトの名無しさん:2005/05/23(月) 17:10:06
NetBeansはJavac使ってるのが利点に働く場合も多いな
218デフォルトの名無しさん:2005/05/23(月) 17:16:06
すんません教えてください。
マウスイベントの勉強をしてまして
GIF画像をポインタにして線を描く という物を作ってるんですが

public void mouseDragged(MouseEvent e){
posX = e.getX();
posY = e.getY();
g.drawLine(posX, posY, e.getX(), e.getY());
repaint();
}
public void mouseMoved(MouseEvent e){
posX = e.getX();
posY = e.getY();
repaint();
}
(repaint の中身はdrawImage、posは現在位置)
ってな感じで作ってみたのですが
線は描けてもドラッグ中にGIFが付いてきてくれません
dragイベントの中でdrawLineとrepaintを共存させることはできないのでしょうか?
219デフォルトの名無しさん:2005/05/23(月) 19:20:21
J2SE 1.4 のライブラリ仕様に XPath って入ってる?
rt.jar 開けてみると org.w3c.dom.traversal や org.apache.xpath が入ってるんだけど
javadoc に記述がないから使って良いものかどうか判断つかないんだが、
「javadoc にない = 非標準」ってことで良いのかな?
220デフォルトの名無しさん:2005/05/23(月) 19:30:19
XPathが標準APIとしてはいったのは5.0から
それまではJXPath使うがよろし
221デフォルトの名無しさん:2005/05/23(月) 19:38:31
>>220
そーか、サンクス
何で入ってるんだろーとずっと考えていたんだが XSL で XPath 使うもんな。
222デフォルトの名無しさん:2005/05/23(月) 23:34:43
>172
亀だが敢えて言わせてくれ

「投げっぱなしジャーマン」とはよもやそなた某ゲームシナリオライター儲か。
223デフォルトの名無しさん:2005/05/23(月) 23:37:55
int[][] i = new int[8][8];

for(int j=0;j<8;j++)for(int k=0;k<8;k++){
i[j][k]=1;
}
とするのと
for(int j=0;j<64;j++){
i[j/8][j%8]=1;
}
のどっちが速いのだろう?
224デフォルトの名無しさん:2005/05/23(月) 23:58:19
@AWTの質問です
Swingを使わず、AWIのテキストフィールドでIMEモードの自動切り替えは可能でしょうか?
JDBCでMS-Accessと接続させるのですが、アプレット上でレコード一覧を表示させる場合
最も一般的な方法はどういったものでしょう。テーブルをそのまま持ってくるようなことは無理ですよね。
リストボックスに並べていくしかないのでしょうか?
よろしくお願いします。
225デフォルトの名無しさん:2005/05/24(火) 00:39:40
"Apacheがオープンソース版J2SEの開発プロジェクト「Harmony」を提案"
http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20050510/160560/


オープンソース団体Apache Software Foundation(ASF)はJava 2 Standard Edition(J2SE)の
オープンソース版開発を提案した。同団体のGeir Magnusson Jr.氏が米国時間5月6日,Incubator PMC
メンバーに向けたメーリング・リストで「Harmony」プロジェクトについて明らかにしたもの。

 同プロジェクトの目的は,J2SE 5の独立したインプリメンテーションを作成し,Apache License v2のもとで
利用可能にすること。コミュニティが開発するランタイム・モジュール(仮想マシンやクラス・ライブラリ)によ
って,ランタイム・コンポーネントを共有できるようにする。そのほか,モジュールの相互操作性を確保する
テスト・スイートも開発する。

 同プロジェクトの基本構造のブループリントはWebサイトで確認できる。

 「J2SEランタイム・プラットフォームのオープンソース版は明確なニーズがあり,現在,KaffeやClasspathな
ど多数の開発作業が進行している。また,GCJやIKVMのように,Javaバイトコードを実行する手段を提供す
るための取り組みも行われている。これらは健康的で多様な手法を可能にするが,数々の障壁が存在し,
より優れた能力の発揮を妨げている」(Magnusson Jr.氏)

 なお米メディアの報道(internetnews.com)によると,米Sun MicrosystemsはHarmonyプロジェクトを歓迎して
おり,「何らかのかたちで参加するかもしれない」(Sun社Java Software担当技術責任者のGraham Hamilton氏)と述べている。
226デフォルトの名無しさん:2005/05/24(火) 00:48:03
jspから***.classでつくったクラスを使うにはどうすればよいのでしょうか?
よろしくお願いします。
227デフォルトの名無しさん:2005/05/24(火) 01:23:13
>>223
カレントタイム直タイプで計測してみた(配列添え字2056)
うちのPCスペック:ペン4 jre1.5 メモリ512 実行スレッド優先順位MAX

前者:172
後者:248

以上、計測ってこんな感じでいいの?
228デフォルトの名無しさん:2005/05/24(火) 01:37:07
>>223,227
順次アクセスなので配列をでかくすればでかくするほど遅くなる。
しかしそれはpivot操作をつければだいたい速くなる。

ランダムアクセスだったら結果は異なっていたとおもうが。

229デフォルトの名無しさん:2005/05/24(火) 01:38:37
そもそも
後者は
添え字で j / 8, j % 8 という処理を行っているので
当然遅い。
230デフォルトの名無しさん:2005/05/24(火) 02:02:26
1次元配列にした方が速い
231デフォルトの名無しさん:2005/05/24(火) 02:48:01
>>226
WEB-INF/classesにほりこめ
232デフォルトの名無しさん:2005/05/24(火) 02:54:42
「すべての人のjavaプログラミング」の亀が動き回るプログラムを作っています。
キャベツの絵のあれです。
だれか亀を消すメソッドを教えてください。
233デフォルトの名無しさん:2005/05/24(火) 04:35:53
kame.clear();
234デフォルトの名無しさん:2005/05/24(火) 04:36:48
CPUの数を判別する方法を教えてください。
235デフォルトの名無しさん:2005/05/24(火) 06:58:23
>>234
PCのケースを開けて(以下略)
236デフォルトの名無しさん:2005/05/24(火) 07:00:27
指定したテキストファイルを読み込んで,構造体(クラス)に格納するには
どのようなクラスを使用して書けばいいでしょう?
具体的に言うと

食パン 150 安い
卵 100 とても安い
牛乳 250 高い
アイス 80 安い

のようなtxtファイルを読み込み,

public class shopping{
  char name;
  int kakaku;
  char yasusa;

のようなクラスに,それぞれ格納するという感じです.
237デフォルトの名無しさん:2005/05/24(火) 07:36:53
>>235
ケースを開けないで
238デフォルトの名無しさん:2005/05/24(火) 07:43:02
>>237
execを利用して、cat /proc/cpuinfo
239デフォルトの名無しさん:2005/05/24(火) 09:51:26
>>236
java.io
java.lang
などなどの中のさまざまなクラスです。
240デフォルトの名無しさん:2005/05/24(火) 09:55:27
>>236
処理の流れとしては
 読み込み → 解析 → 格納
となるよね
(読み込み・解析をどこでするかは適当に)

読み込みには java.io.Reader 関連で
解析は StringTokenizer とかが便利かもしれない

テキストファイルでのデータ管理なら、Properties や DOM について
調べてみるのもいいかもね
241デフォルトの名無しさん:2005/05/24(火) 10:09:46
>>237
購入時の注文書を確認して(以下略)
242デフォルトの名無しさん:2005/05/24(火) 12:31:42
引数に二つの文字を与えて、その間の文字を全て配列に格納する関数を作りたいです。
例えば Public String[] getBetweenChar(String startChar, String endChar)という関数に
引数("A","Z")を与えると、戻り値にA〜Zまで1文字づつの値が入ったString[]が戻される感じです。

この場合、入力された引数の文字をunicodeのint値に変更し、
forループの開始と終了条件に用いるとともに、その値を再びStringに変換し、
一時的にArryListに格納後、戻り値に渡せばいいのでしょうが、いまいち
文字の変換部分がどうやっていいのかわからないです。助けてください。
243デフォルトの名無しさん:2005/05/24(火) 12:37:45
HTを考えると、ソフトウェアとしてCPUの数を正確に数えるのは不可能だな。
やはりケースを開けて目視が確実。
244デフォルトの名無しさん:2005/05/24(火) 12:53:46
>>242
アルファベットに限定するなら、char とか文字コードだとかを
調べるといいと思う
245デフォルトの名無しさん:2005/05/24(火) 13:25:53
>>233
ワロス
246デフォルトの名無しさん:2005/05/24(火) 13:28:09
>>243
BIOSを覗けばわかるんちゃう?
JavaだけでBIOSを覗く方法知らないけど。
やっぱCがいるんかいな?

247デフォルトの名無しさん:2005/05/24(火) 13:28:52
>>242
Jakarta OROを使えばいい。
248242:2005/05/24(火) 14:11:01
>>244さん
参考になりました。ありがとうございます。
以下のようにしました。

public static String[] getBetweenChar(char startChar, char endChar) throws UnsupportedEncodingException{
List searchChar = new ArrayList();
int length = Character.getNumericValue(endChar) - Character.getNumericValue(startChar);
for(int i = 0 ; i < length ; i++){
searchChar.add(String.valueOf((char)(startChar + i)));
}

String[] retChar = new String[searchChar.size()];
for(int i = 0 ; i < searchChar.size() ; i++){
retChar[i] = searchChar.get(i).toString();
}
return retChar;
}
249デフォルトの名無しさん:2005/05/24(火) 14:20:53
なぜか 242 に癒された

疲れてるのかな…
250デフォルトの名無しさん:2005/05/24(火) 14:43:08
>>248
結果の文字列配列のサイズがlengthとしてわかるから、
はじめからそのサイズの文字列配列を用意してそれに入れていけば
ArrayList使わなくていいんじゃない?
251デフォルトの名無しさん:2005/05/24(火) 14:44:21
>>248
それだとendCharが結果に含まれない希ガス
252242:2005/05/24(火) 14:52:18
>>249さん
お疲れ様です。

>>250さん,>>251さん
たしかにその通りですね。[length + 1]のインデックスで
Srting配列を定義するように直します。
ありがとうございます。

カタカナも対象文字にするにはやっぱりunicodeですよね・・・
253デフォルトの名無しさん:2005/05/24(火) 15:04:33
>>249
チラシの裏へどうぞ
254242:2005/05/24(火) 15:26:19
Unicode版もできました。みなさんありがとうございます。
intにキャストするだけなんですね・・・拍子抜け(^^;

public static String[] getBetweenChar(char startChar, char endChar) throws UnsupportedEncodingException{
  List searchChar = new ArrayList();
  int length = (int)endChar - (int)startChar + 1;
  String[] retChar = new String[length];
  for(int i = 0 ; i < length ; i++){
    retChar[i] = (String.valueOf((char)((int)startChar + i)));
  }
  return retChar;
}
255デフォルトの名無しさん:2005/05/25(水) 23:36:54
tomcat5.5の設定はどうやったらいいのでしょうか?
jdk1.5.0_3
tomcat5.5.9です。
起動はできるのですが。exampleが表示されません。
環境変数は
JAVA_HOME  C:\Program Files\Java\jdk1.5.0_03
CATALINA_HOME  C:\Program Files\Apache Software Foundation\Tomcat5.5
PATH  C:\Program Files\Java\jdk1.5.0_03\bin
CLASSPATH  %JAVA_HOME%\jre\lib;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar;%CATALINA_HOME%\webapps\wl_jsp\WEB-INF\classes
です。
256デフォルトの名無しさん:2005/05/25(水) 23:49:06
>>242はたぶん女の子なんだと思う
257デフォルトの名無しさん:2005/05/25(水) 23:59:52
お、お、お、女!!!
258デフォルトの名無しさん:2005/05/26(木) 00:37:43
汎用的なグラフ構造を、StackOverflowErrorを出さずにシリアライズしたい。

1. 全ノードを管理するコレクションクラスを定義
2. コレクションクラスに独自のwriteObject/readObjectメソッドを定義

この方法は知っているのだが、このようなノード集合に被せる管理クラス
の用意無しに、ノードクラスのみでシリアライズできる方法はある?
259デフォルトの名無しさん:2005/05/26(木) 00:38:27
exampleはなくなったんじゃないの?と噂を無責任に書いてみる。
でも、CLASSPATHは設定しないほうがいいと思うな。
実際の開発じゃ必要ないし、影響範囲が広すぎてはまることがあるし。
コマンドラインでやるならantとかmaven使うだろうし、そういうの使えないならIDE使えばいい。
NetBeans4.0なら設定いらずでTomcat5.0使えるし、英語版でいいならNetBeans4.1がTomcat5.5.7がバンドルされてる。
260デフォルトの名無しさん:2005/05/26(木) 00:57:12
>255
単なる「example」ってずいぶん前からなくなってたような気が……
Tomcatに8080でアクセスできるようにしておいて、localhost:8080/でトップ開いて
そこからのリンク(jsp-samplesとかあったはず)たどってもダメかいな?
261デフォルトの名無しさん:2005/05/26(木) 01:02:04
スマソ
×jsp-samples
○jsp-examples
262デフォルトの名無しさん:2005/05/26(木) 01:05:21
ってーかweb.xmlかserver.xmlの設定じゃねーの
263デフォルトの名無しさん:2005/05/26(木) 09:46:41
トップから
jsp-examples
servlets-examples
両方リンクあるだろ
264デフォルトの名無しさん:2005/05/26(木) 22:25:49
NetBeans4.0 をインストールしたいのですが、
netbeans-4_0-bin-windows-ja.exe をダウンロードして起動すると、
「適切な JVM が見つかりませんでした。-is:javahome <JAVA HOME DIR> オプションを使用してプログラムを再び実行してください。」
とでてインストールを進めることができませんでした。
そこで、MS-DOSプロンプトから
netbeans-4_0-bin-windows-ja.exe -is:javahome "C:\Program Files\Java\jdk1.5.0"
と入力してもう一度実行したのですが、同じエラーが出てしまいました。
それから JDK を Update 3 にしたり、インストールする場所を
C:\Java\jdk1.5.0
に変えたりしてみたのですが、結果は同じでした。
どうすれば Netbeans4.0 をインストールできるのでしょうか?
265デフォルトの名無しさん:2005/05/26(木) 22:28:48
>>264
ホントにJDKインストールしたなのかなぁ
JREっぽいんだけどそのエラー

ちなみにコマンドで
>java -version
とかはできるの?
266デフォルトの名無しさん:2005/05/26(木) 22:29:15
Filewriter fw = new Filewriter("hoge.txt");
fw.write("hogehoge");
fw.close();

このように書いたとき、hoge.txtに最初に文字列があっても
hogehogeに書き換えられてしまいますが、
最初からhoge.txtの文字を消さずに
hogehogeを追加するにはどのような方法をとればいいのでしょうか?
よろしくお願いします。
267デフォルトの名無しさん:2005/05/26(木) 22:31:35
new FileWriter("hoge.txt", true)
268264:2005/05/26(木) 22:46:19
>>265
java -version はできました。
今は Update 3 から戻したのでこんな感じになりました。
>java version "1.5.0"
>Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
>Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)
269デフォルトの名無しさん:2005/05/26(木) 22:51:51
javacはある?
270デフォルトの名無しさん:2005/05/26(木) 22:55:28
いやだからさ、JREじゃないのか?と聞いているんだが・・・
その5.0でテキストエディタ使って開発できていたのか?できるのか?
271264:2005/05/26(木) 22:59:09
>>269-270
今まではテキストエディタで作っていたので前から javac はできました。
一応今もう一度試してみましたが javac は正常に動きました。
272デフォルトの名無しさん:2005/05/26(木) 23:07:37
わかった
「適切な JVM が見つかりませんでした。-is:javahome <JAVA HOME DIR> オプションを使用してプログラムを再び実行してください。」
>netbeans-4_0-bin-windows-ja.exe -is:javahome "C:\Program Files\Java\jdk1.5.0"
ではなく
netbeans-4_0-bin-windows-ja.exe -is:"C:\Program Files\Java\jdk1.5.0"
netbeans-4_0-bin-windows-ja.exe -is "C:\Program Files\Java\jdk1.5.0"
netbeans-4_0-bin-windows-ja.exe -is="C:\Program Files\Java\jdk1.5.0"
のどれか試せ
273264:2005/05/26(木) 23:17:56
>>272
3つ全部試してみましたが、だめでした。
274デフォルトの名無しさん:2005/05/26(木) 23:20:24
オプションに頼らずに環境変数書いてみたら
275デフォルトの名無しさん:2005/05/26(木) 23:21:25
>>264
JDK5.0対応しているの?NetBean4.0(日本語版?)
276デフォルトの名無しさん:2005/05/26(木) 23:24:36
NetBeans installer fails with "Suitable JVM cannot be found". Why?
The installer needs a full JDK installation to run.
If you get this error, you probably don't have the required JDK installed. Note that you need the full Java Development Kit (JDK). The installer won't run on Java Runtime Environment (JRE).
The workaround is to install the full JDK before installing NetBeans, or to install NetBeans bundled with the JDK. In case you have the JDK installed, but the installer fails to recognize it, try to run with the -is:javahome option.
Applies to: NetBeans 4.0, 4.1 ; Platforms: All ;

大きなお世話だが、その調子では今後NetBeansに関する疑問が出ても自己解決するまで時間がかかるだろう
Eclipseにしとけ つーかNetBeansって専用スレなかったか?

277264:2005/05/26(木) 23:25:49
環境変数は
JAVA_HOME C:\Program Files\Java\jdk1.5.0
Path C:\Program Files\Java\jdk1.5.0\bin
を設定してあります。
278デフォルトの名無しさん:2005/05/26(木) 23:27:50
JAVA_HOME C:\Program Files\Java\jdk1.5.0
Path C:\Program Files\Java\jdk1.5.0\bin
コレがさっきから臭い
これってJRE用でない?普通・・・

C:\Program Files\Java\jdk1.5.0\bin の中に たとえばjavac.exeはないだろう
279デフォルトの名無しさん:2005/05/26(木) 23:29:21
>>278 オイ.
280デフォルトの名無しさん:2005/05/26(木) 23:31:14
>>278
あるよ
281デフォルトの名無しさん:2005/05/26(木) 23:32:12
デマも飛び出して現場はさらに大混乱
282デフォルトの名無しさん:2005/05/26(木) 23:32:44
じゃぁいったいどうなっているんだ
javac.exeでPC内検索汁
283デフォルトの名無しさん:2005/05/26(木) 23:34:47
>>281
デフォルトインストール構成は、278の言うとおりだjavac.exeだよjava.exeじゃないよ
284デフォルトの名無しさん:2005/05/26(木) 23:37:08
最近、WindowsUpdateでJRE入れ替わったからなあ・・・
285264:2005/05/26(木) 23:40:39
自分の JDK には C:\Program Files\Java\jdk1.5.0\bin の中に
javac.exe が入っていました。
この JDK は ttp://java.sun.com/j2se/1.5.0/ja/download.html
からダウンロードしたものなので正式なものだと思うのですが・・・。
286デフォルトの名無しさん:2005/05/26(木) 23:41:32
>>264
JDK5.0対応しているの?NetBean4.0(日本語版?)
287デフォルトの名無しさん:2005/05/26(木) 23:41:48
めんどくさいときはjdkとnetbeans一緒になったやつで入れたらどうか
288デフォルトの名無しさん:2005/05/26(木) 23:42:14
イライラするなぁもう
289デフォルトの名無しさん:2005/05/26(木) 23:42:39
290デフォルトの名無しさん:2005/05/26(木) 23:43:15
>>288 おれはさっきからおまえにいらいらしてるよ。
291デフォルトの名無しさん:2005/05/26(木) 23:44:56
>>264
とりあえずデスクトップ壁紙画像見せろ
292デフォルトの名無しさん:2005/05/26(木) 23:45:34
>>264 マウス何使ってる?
293デフォルトの名無しさん:2005/05/26(木) 23:48:44
 /\
/! \  マウスがありません
 ̄ ̄ ̄ ̄
294デフォルトの名無しさん:2005/05/26(木) 23:51:58
無視すんなや
どうしても無視するのであれば
ぬるぽ
295264:2005/05/27(金) 00:22:55
>>286
NetBeans4.0 は JDK5.0 に対応しています。

>>276
そこは質問する前に一応読みました。

>>287
バンドルは前にインストールしようとしましたが、同じようなエラーが
出たと思います。
インストーラーを消してしまったので内容は確認できませんが・・・。
でも土日にバンドルをもう一度ダウンロードして試してみたいと思います。

明日早いのでもう寝たいと思います。
答えてくれた皆様どうもありがとうございました。
後日また質問したときもよろしくお願いします。
296デフォルトの名無しさん:2005/05/27(金) 00:59:58
バンドル版で問題でたのみたことあるな
ユーザー名に2バイト文字使っていたりするとデフォのディレクトリでダメとか
297デフォルトの名無しさん:2005/05/27(金) 07:24:07

Javaの基礎を一通りやったので、
JSP&Servletを勉強してみようと思います。

一点ご相談なのですが、
TECHNICAL MASTER はじめてのJSP&サーブレットプログラミング改訂版 Tomcat5+MySQL4対応 テクニカルマスターシリーズ
http://www.amazon.co.jp/exec/obidos/ASIN/479800734X/
これを購入しようと思ってます。

しかし、この本はTomcat5,MySQL4を使用してます。
ちまたの本をみると、Tomcat4で解説してるのが主流のようです。
Tomcat5で勉強することの弊害ってありますか?
現場でも、Tomcatを使う場合はTomcat4が主流なのでしょうか?
Tomcat4とTomcat5は大幅に変わっているそうなので、不安です。

298デフォルトの名無しさん:2005/05/27(金) 07:56:15
>>297
勉強しているうちに 5 が主流になるという予想。
299デフォルトの名無しさん:2005/05/27(金) 09:19:42
その本をみながらTomcat4で学習する、とトンデモを言ってみる
Tomcatの解説なんて、ぐーぐる先生でいくらでも集まるし
両方の違いも分かっていいと思った
300デフォルトの名無しさん:2005/05/27(金) 09:42:38
慣れないうちは本と同じ環境で書いたほうが余計な手間が少なくて済む
特に5になると設定ファイルの場所が変わるから。
4で勉強しておけば、5に移行するのは簡単だから安心して。

結論:Resinをつかえ
301デフォルトの名無しさん:2005/05/27(金) 10:13:34
netbeansを使ってるのですが、インストールしても勝手に日本語になってし
まいます。英語のまま使いたいのですが、何か方法はないのでしょうか?
302デフォルトの名無しさん:2005/05/27(金) 13:32:31
英語版をダウンロードする
303デフォルトの名無しさん:2005/05/27(金) 14:33:01
netBeans4.1というのが、一番新しいバージョンらしいのですが、実は3.6が
欲しいです。sun.comに行ってみて見たんですが、配信してません。どこかで、
手に入るでしょうか?
304デフォルトの名無しさん:2005/05/27(金) 14:48:54
NetBeansのサイトから直におとすがよろし
305255:2005/05/27(金) 15:49:29
>>262
そのweb.xmlとserver.xmlをTomcat5.5フォルダのどこかに作るんですよね?
306デフォルトの名無しさん:2005/05/27(金) 16:57:35
javaでuidの取得ってどうすれば出来ますか?
307デフォルトの名無しさん:2005/05/27(金) 17:01:34
uid? UserID?
308デフォルトの名無しさん:2005/05/27(金) 17:01:53
>>306
Java Preferences API
309255:2005/05/27(金) 18:50:22
JSP ExamplesとSevlet Exampleがどう表示されればいいんですか?

HTTPステータス 404-/jsp-examples/
type ステータスレポート
・・・

と出ました
310デフォルトの名無しさん:2005/05/27(金) 18:56:10
そういうインストールしてないってことじゃないの
トップも出ないんでしょ?
311デフォルトの名無しさん:2005/05/27(金) 21:52:38
Javaで一つ目の引数に生年月日(yyyy/mm/dd hh/mm/tt)
二つの目の引数に没年月日(yyyy/mm/dd hh/mm/tt)
二つ目の引数がnullの場合は現在の日付と時間を代入

これらを計算してして現在および没年の年齢をだしたいのですが
yyyy/mm/ddだけならなんとかできるのですが時間まで入ると
どうしてもうまいきません
教えてください
312デフォルトの名無しさん:2005/05/27(金) 22:04:09
>>305
そのレベルで悩むなら、まずNetBeans使ってサーブレット/JSPの勉強して、概要理解してから素のTomcatの設定試せば?
313デフォルトの名無しさん:2005/05/27(金) 23:12:23
>>311
Calendar birth = ...;
Calendar death = ...;
Calendar mover = (Calendar)birth.clone();
int yy = getDiff(Calendar.YEAR, mover, death);
int mm = getDiff(Calendar.MONTH, mover, death);
int dd = getDiff(Calendar.DAY_OF_MONTH, mover, death);
int h = getDiff(Calendar.HOUR_OF_DAY, mover, death);
int m = getDiff(Calendar.MINUTE, mover, death);
int s = getDiff(Calendar.SECOND, mover, death);
int ms = getDiff(Calendar.MILLISECOND, mover, death);

private static int getDiff(int field, Calendar mover, Calendar death){
  int d = 0;
  while(! mover.after(death)){
    d ++;
    mover.add(field, 1);
  }
  mover.add(field, -1);
  return d - 1;
}

DEATH: 2061/02/21 21:23:03.213
BIRTH: 1974/11/07 07:03:45.213
DIFF : 86/03/14 14:19:18.000
314デフォルトの名無しさん:2005/05/28(土) 00:41:12
>>313
おいおい
ちょっとそれはひどすぎないか?
315デフォルトの名無しさん:2005/05/28(土) 08:25:26
カレンダーは個人的には日付じゃなくて「日付データ計算機」
だと思っているので誕生日・死亡日ごとに用意するのを見てる
ともにょる。
1つ用意して、扱いたいDateをsetTimeしては必要なフィールドを
getするのが好み。

316デフォルトの名無しさん:2005/05/28(土) 08:34:59
>>314
ではスマートなコードをおながいします。
317デフォルトの名無しさん:2005/05/28(土) 09:14:53
Wikiに追加しておいた

+[[【初心者】Java質問・相談スレッド59【大歓迎】:http://pc5.2ch.net/test/read.cgi/tech/1103729175/]]
+[[【初心者】Java質問・相談スレッド60【大歓迎】:http://pc5.2ch.net/test/read.cgi/tech/1105691367/]]
+[[【初心者】Java質問・相談スレッド61【大歓迎】:http://pc5.2ch.net/test/read.cgi/tech/1107056382/]]
+[[【初心者】Java質問・相談スレッド62【大歓迎】:http://pc5.2ch.net/test/read.cgi/tech/1108389742/]]
+[[【初心者】Java質問・相談スレッド63【大歓迎】:http://pc8.2ch.net/test/read.cgi/tech/1110197411/]]
+[[【初心者】Java質問・相談スレッド64【大歓迎】:http://pc8.2ch.net/test/read.cgi/tech/1111644392/]]
+[[【初心者】Java質問・相談スレッド65【大歓迎】:http://pc8.2ch.net/test/read.cgi/tech/1112950312/]]
+[[【初心者歓迎】Java質問・相談スレッド65 Update 1(実質66?):http://pc8.2ch.net/test/read.cgi/tech/1114850497/]]
+[[【初心者】Java質問・相談スレッド66【大歓迎】(実質67?):http://pc8.2ch.net/test/read.cgi/tech/1114858011/]]
+[[【初心者】Java質問・相談スレッド66【大歓迎】(実質68?):http://pc8.2ch.net/test/read.cgi/tech/1116690777/]]
+[[【初心者】Java質問・相談スレッド67【大歓迎】(実質69?):http://pc8.2ch.net/test/read.cgi/tech/1116750427/]]

318デフォルトの名無しさん:2005/05/28(土) 09:26:39
>>316
public static void main(String[] args){
 DateFormat df =
  new SimpleDateFormat("yyyy/mm/dd hh/mm/tt");
 System.out.println(df.parse(args[0]));

 if(args[1] == null){
  System.out.println(new Date());
 } else{
  System.out.println(df.parse(args[1]));
 }
}
319デフォルトの名無しさん:2005/05/28(土) 10:02:57
>>318
ぬるぽ
320デフォルトの名無しさん:2005/05/28(土) 10:03:37
> if(args[1] == null){
321デフォルトの名無しさん:2005/05/28(土) 10:13:32
閏年計算の再発明をせず、閏年を考慮した年・月・日の日付の差を出そうと
思ったら >>313 のように Calendar の各フィールドを上からくるくる回すのが
一番手っ取り早いと思うが。期間計算は業務で使うので他に良い方法が
あったら教えてくれ。
322デフォルトの名無しさん:2005/05/28(土) 10:15:45
//これでどぅだろう。
 Date date = df.parse(args[1]);
 if(date == null)
  System.out.println(new Date());
 } else{
  System.out.println(date);
 }
323デフォルトの名無しさん:2005/05/28(土) 10:19:11
>>322
良いんじゃない

ってオイ!
324デフォルトの名無しさん:2005/05/28(土) 10:20:59
>>321
getTimeInMills()でlong型に変換してから計算する。
325デフォルトの名無しさん:2005/05/28(土) 10:24:09
>>324
それで >>313 と同じ結果出せるコード書いてみ。
326デフォルトの名無しさん:2005/05/28(土) 11:37:21
Calendar birth = ...;
Calendar death = ...;
Calendar mover = (Calendar)birth.clone();
int yy = getDiff(Calendar.YEAR, mover, death);
int mm = getDiff(Calendar.MONTH, mover, death);
int dd = getDiff(Calendar.DAY_OF_MONTH, mover, death);
int h = getDiff(Calendar.HOUR_OF_DAY, mover, death);
int m = getDiff(Calendar.MINUTE, mover, death);
int s = getDiff(Calendar.SECOND, mover, death);
int ms = getDiff(Calendar.MILLISECOND, mover, death);

private static int getDiff(int field, Calendar mover, Calendar death){
  int d = 0;
  while(! mover.after(death)){
    d ++;
    mover.add(field, 1);
  }
  mover.add(field, -1);
  return d - 1;
System.out.println("getTimeInMills()");
}
327デフォルトの名無しさん:2005/05/28(土) 13:18:10
SwingのJEditorPaneについての質問です。
ただ単に
editorPane.setText("<html><font size=7>あいうえお<a href=hoge.gif>かき</a></font>");
とすると"かき"が自動的に青になってアンダーラインが付いてくれるけど、
doc=new HTMLDocument();
editorPane.setDocument(doc);
editorPane.setText("<html><font size=7>あいうえお<a href=hoge.gif>かき</a></font>");
とすると、"かき"は黒のままで、アンダーラインも付かないみたいですね。
どなたか解決方法をご存じないでしょうか。HTMLDocumentをセットすることは必須です。
もしろん、自分で<font color="#0000ff">と<u>を入れるっていうのはなしで、あくまでも自動的に
青、アンダーラインにする方法です。
328デフォルトの名無しさん:2005/05/28(土) 13:52:30
なんか間違ってるだろうとそこはかとなく思うが
それより、もしろん に目を奪われる
329デフォルトの名無しさん:2005/05/28(土) 16:08:12
FileWriter fw = new FileWriter("hoge.txt",true);
fw.write("hogehoge");
fw.close();

このように書いているのですが、
新たに書き込む文字列"hogehoge"をテキストの一番下に書き込むのではなく、
一番上に追加したいのですがどうすればいいでしょうか?
よろしくお願いします。
330デフォルトの名無しさん:2005/05/28(土) 16:49:40
>>329

ファイルは挿入は出来ないんじゃないの。
素直に、あたらしいファイルを作るしか。
331デフォルトの名無しさん:2005/05/28(土) 18:06:08
>>311
みんな作ってるので、自分も作ってみた。

public static void main(String[] args) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH/mm/ss");
Date date1 = df.parse(args[0]);
Date date2 = (args.length >= 2)?df.parse(args[1]):new Date();
String str = (args.length >= 2)?"没":"現";
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(date2.getTime() - date1.getTime());
calendar.add(Calendar.YEAR, -1970);
System.out.println("生: "+df.format(date1));
System.out.println(str+": "+df.format(date2));
System.out.println("歳: "+df.format(calendar.getTime()));
}

このフォーマット(yyyy/mm/dd hh/mm/tt)だと引数は""で括らないと駄目だけど…
>>311さんがうまくいかないのはそのせいだったりして。
332デフォルトの名無しさん:2005/05/28(土) 18:50:28
>>329
ファイルは末尾に追加って言うのはあるんだけど
>>330の言うように原始的な方法しかないんだよ
333264:2005/05/28(土) 19:06:50
お久しぶりです。 >>264 です。

>>296 のアドバイスを受けてユーザー名に2バイト文字を使わないように変更したところ、
NetBeans のインストールに成功しました。
バンドル版でなくても同じ問題が起こるようですね。
>>296 に感謝。
334296:2005/05/28(土) 19:10:16
ちなみにJavaに限らずユーザー名に2バイト文字使うとおかしくなることが出る

MSOfficeでも細かいバグはこれで出てるくらいなので
最初のOSのセットアップ時ユーザー作成のところで
FEPはデフォでOFFにしてもらいたいなぁ

内部管理用と表示用が一緒になってるのはまずいんじゃないだろうかねぇ
335デフォルトの名無しさん:2005/05/28(土) 19:20:30
>>264
おれはこの問題を静観していたのだが
「C:\Program Files...」が原因なのかと思っていた
つまり「フォルダ名に空白が入るとダメ」っていう話
ユーザ名だったのか・・・ユーザ名に日本語なんて使ったことないので気付かなかったな
336デフォルトの名無しさん:2005/05/28(土) 19:22:19
空白は英語版でも存在するから大体単体テストの項目に入るよね。
Eclipseも空白はおーけーだけどマルチバイトの文字はNG
337デフォルトの名無しさん:2005/05/28(土) 19:27:34
なんかNBの開発現場が見えてくる
A「あれ?これってユーザ名がマルチバイトの場合ってどうなるの?」
B「あ、言われてみれば・・・まずいなコレ・・・ちょっとリーダに聞いてくるか」
C「うーん・・・まぁユーザ名にマルチバイト使う奴なんてめったにいないっしょ サポートで対応すればいい」
338デフォルトの名無しさん:2005/05/28(土) 19:50:26
プロジェクトの場所にも、日本語入るとだめだね。
339デフォルトの名無しさん:2005/05/28(土) 20:14:23
開発現場じゃ英語で会話がデフォだろ。
340デフォルトの名無しさん:2005/05/28(土) 20:19:13
>>339
頭固いよ
341336:2005/05/28(土) 20:21:41
いまEclipseのreadme読んだら制限事項からDBCS縛り消えてた。
すまん。
342デフォルトの名無しさん:2005/05/28(土) 22:08:40
でも、元々NetBeansが作られたのはチェコで、チェコ語にはマルチバイト文字が含まれているんだけどね。
343デフォルトの名無しさん:2005/05/28(土) 22:11:55
C「うーん・・・まぁいまさら作り変えるのは危険だ ユーザ名にマルチバイト使う奴なんてめったにいないっしょ サポートで対応すればいい」
344デフォルトの名無しさん:2005/05/28(土) 22:16:28
サポートってどこよ?w
345デフォルトの名無しさん:2005/05/28(土) 22:20:07
>>344
場所の話ではない

Webにバグ情報載せるとかそういうことも含めてのこと
346デフォルトの名無しさん:2005/05/28(土) 22:32:09
日本人が作ったヘタレフレームワークでもディレクトリのダブルバイトに未対応なんて糞は良くある。
347デフォルトの名無しさん:2005/05/28(土) 22:40:48
>>346
まぁ、相手が開発者だから「そういうものなんです」っていっとけばなんとかなるだよ
348デフォルトの名無しさん:2005/05/28(土) 22:53:45
新java言語入門シニア編終ったら何やるといいですかね?
349デフォルトの名無しさん:2005/05/28(土) 22:59:35
>>248
Servlet
350248:2005/05/28(土) 23:10:42
>>349
どういう意味ですか?
まだ足りてませんか?
351デフォルトの名無しさん:2005/05/28(土) 23:13:14
>>348-350 ワラタ.
352デフォルトの名無しさん:2005/05/29(日) 00:41:03
boolean bl = str.matches("*")

この正規表現ならどんな文字列もマッチするはずなのですが、
PatternSyntaxExceptionエラーが出てしまいます。

アスタリスクだけなら正規表現が間違ってるということもないと思うのですが、
どこがおかしいのでしょうか?
よろしくお願いします。
353デフォルトの名無しさん:2005/05/29(日) 00:43:16
間違ってる
.*
354デフォルトの名無しさん:2005/05/29(日) 00:45:25
>>352
正規表現とワイルドカードは違う。
355デフォルトの名無しさん:2005/05/29(日) 00:46:35
>>168-181
ヒント:リファクタリング
356デフォルトの名無しさん:2005/05/29(日) 00:50:18
>>352
* は正規表現では単なる量指定子。直前の文字が「0個以上」という意味を付加するものに
過ぎない。直前の文字が無ければ何の意味もないわな。

あらゆる文字ひとつにマッチする「.(ドット)」と組み合わせて「.*」ならば、何もない場合も含めて
あらゆるものにマッチする。「なんでもいいから0個以上」という意味になるから。
357352:2005/05/29(日) 00:53:35
>>354-356
ありがとうございました。
API DocumentのStringのメソッドを見てたんですが、
分からなくてPatternクラスの方を見たら正規表現一覧が載ってました。
スレ汚し申し訳ありませんでした。
358デフォルトの名無しさん:2005/05/29(日) 01:48:57
>>350
自分の作りたいソフトは?
ツールとか、ゲームとか。
何か作りたいという気持ちがないと
続かないと思うよ。
359348:2005/05/29(日) 12:16:57
携帯電話向けのゲーム作りたいっておもってます
360デフォルトの名無しさん:2005/05/29(日) 12:38:10
アイアプリ系か?
うちの会社来い
FOMA,au,voda全機種対応作業を一人でやっている奴を助けてあげてくれ
361デフォルトの名無しさん:2005/05/29(日) 15:26:29
高いぜー
362329:2005/05/29(日) 17:55:54
亀レスすいません。
>>332さん、新しいファイルを作るとは別のFileWriterで別のテキストを作成して
そこに書き込むということですか?
テンポラリなテキストなら作ってもいいんですが、
実際に書き込むファイルは一つにしたいんです・・・。

文字列をどんどんテキストの初めに追加していく方法、どなたかご存じないでしょうか?
よろしくお願いします。
363327:2005/05/29(日) 18:08:02
だれも答えてくれないんですね。(/_;)
でも、いいです。StyleSheetをHTMLDocumentに設定してやれば、
万事めでたし、ということがわかりました。しばしば話題になるCSS
ってやつのご利益を初めて知りました。
364デフォルトの名無しさん:2005/05/29(日) 18:26:30
>>326
泣くなよ
誰もそんなことまで突っ込んでやったことある人いないと思う
だから、答えようにも答えられないんだよ知らないんだから
365デフォルトの名無しさん:2005/05/29(日) 18:38:43
>>327
まず、今までのファイル内容をメモリに読み
必要な部分を書き出した後、追加する部分を書きだし
元のファイルの残りを書き出す
ってことじゃないかな
366デフォルトの名無しさん:2005/05/29(日) 18:48:48
>>365
その方法だとメモリいっぱいになっちゃう
File1があってその先頭にデータ入れたい場合
先にFile2を作って先頭に入れたいデータ書き込む
次にFile1を開いてFile2に追加書き込み
File1が不必要なら消せばいいんでないの?

>>329
>文字列をどんどんテキストの初めに追加していく方法、どなたかご存じないでしょうか? よろしくお願いします。
方法というか、こういう原始的方法しかないんだよ
物理的に考えてもそうでしょ?メモリに楽勝で入るデータなら365のやり方で十分
367167:2005/05/29(日) 19:39:50
>>167で質問したものですがAbstract Factoryを使うことになりました。
いろいろ答えてくださった方ありがとう。
今度はクラス図とシーケンス図ですよ・・・
もどう書いたらいいのやらで時代に取り残されたなぁ・・・・
368デフォルトの名無しさん:2005/05/29(日) 21:28:36
テンプレからは外れてないけど、最近のjdkって
classpathとか設定しなくても動くように改良されてないか?
生でjdk使う人は今時あんまりいないんだろうけど。
みんなEclipseかぶせてるだろうから。
369デフォルトの名無しさん:2005/05/29(日) 21:35:08
「らくらく突破Java」はどうですか?
370デフォルトの名無しさん:2005/05/29(日) 21:48:26
classpathは関係ないだろ
371デフォルトの名無しさん:2005/05/29(日) 22:58:33
>>368
昔からだよ
Java2からは動的な設定が推奨されてるだけだし
372デフォルトの名無しさん:2005/05/29(日) 23:14:03
どうも、canvasにイメージを貼って表示しているだけなのですが、何故かちらついてしまいます。どうにかなりませんか
373デフォルトの名無しさん:2005/05/29(日) 23:15:18
ダブルバッファリングについて勉強すべし
そして、ティアリングが気になったらフリップについて勉強すべし

Java特有の問題ではないよ
374デフォルトの名無しさん:2005/05/29(日) 23:21:24
>>373
CanvasのスタイルビットにSWT.NO_BACKGROUNDを〜とかいう事をするんですか?
375デフォルトの名無しさん:2005/05/29(日) 23:23:39
SWTかよ
376デフォルトの名無しさん:2005/05/29(日) 23:24:58
違います。
377デフォルトの名無しさん:2005/05/29(日) 23:26:54
俺の調べ方が悪いせいでこんな情報しかなかったのです
378デフォルトの名無しさん:2005/05/29(日) 23:39:26
jpgを表示してるだけなのです、特に動かしたりしているわけではないのですがちらつくのです。PCなら平気なのですが、手持ちのpalmで使うとちらついてしまうのです(涙
379デフォルトの名無しさん:2005/05/29(日) 23:40:21
しかも parm OS
380デフォルトの名無しさん:2005/05/29(日) 23:42:24
そーなんですよ
381デフォルトの名無しさん:2005/05/29(日) 23:46:41
palm上のJ2ME環境ってなにつかってんの?
382デフォルトの名無しさん:2005/05/29(日) 23:55:46
ザウルスのやつです、話が違っててすみません
383デフォルトの名無しさん:2005/05/30(月) 00:07:50
ザウルスかよ
384デフォルトの名無しさん:2005/05/30(月) 00:15:12
あいどーもすいません
385デフォルトの名無しさん:2005/05/30(月) 00:19:45
すいませんかよ
386デフォルトの名無しさん:2005/05/30(月) 00:27:43
一通り初心者向け参考書(独習JAVAなど)は読んだのですが、なんていうんでしょうか
中級者になるにはどうすればいいのかわかりません。日曜プログラマーなので、会社で先輩PGに聞くなんて環境でもないので・・・
とりあえずメモ帳とかつくってみようかなと思っていますが、なにかこれは押さえとけみたいなのをおしえて頂けるとありがたいです。
387デフォルトの名無しさん:2005/05/30(月) 00:30:06
>>385
申し訳ございません
388デフォルトの名無しさん:2005/05/30(月) 00:47:13
私以外のどの辺に問題がありそうですかね
389デフォルトの名無しさん:2005/05/30(月) 00:48:43
>>386
NetBeansダウンロードして、ちまちまいじくってみれば?
390デフォルトの名無しさん:2005/05/30(月) 02:05:05
解決しました、どうもありがとうございます。超つまんない事でした(笑
391デフォルトの名無しさん:2005/05/30(月) 02:19:29
みなさん、Javaは将来どうなると思いますか?
392デフォルトの名無しさん:2005/05/30(月) 02:29:13
>>391
どうにかなると思う。
393デフォルトの名無しさん:2005/05/30(月) 02:39:01
>>386
人様に利用される、見栄えのいいアプリケーションを作成したいなら、GUIの勉強を
することになるんでしょうね。
Swingの勉強をするなら、『Java GUI プログラミング』全3巻をおすすめします。
手取り足取りでわかりやすいだけでなく、実戦的な内容です。
また、『Java GUI コンポーネント完全制覇』も『Java GUI プログラミング』
を補完するような形で役に立つと思います。
394デフォルトの名無しさん:2005/05/30(月) 03:00:21
Swingアプリを手書きするのはアホらしいけどね。
395393:2005/05/30(月) 03:20:58
あ、なるほど、今どきはGUIをコードではなくて、グラフィカルに
作成するのが普通ですかね。ほとんどの人がそうしているのでしょうか。
自分はコードをガリガリ書く方です。昔はVBとかVisualCafeとか、
その手のソフトも使っていたけど、今はそういうソフトにお金かけるのが
いやになったので。
まあガリガリ書くのならSwingの勉強は必要でしょうね。
396デフォルトの名無しさん:2005/05/30(月) 03:27:48
NetBeans使えばタダ。
JBuilderの無償版使えばタダ。
Eclipse+VE使えばタダ。
397393:2005/05/30(月) 03:40:56
>>396
うほっ、そうなの。
Java歴7年なのに知らんかった(>_<。)。
398デフォルトの名無しさん:2005/05/30(月) 03:49:08
とりあえずNetBeans4.1落として適当にいじってみ。
英語版だけど、EJB作成とか無償ツールとは信じられないことができる。
Eclipseでも、プラグイン拾い集めれば強力なツールになる。
399デフォルトの名無しさん:2005/05/30(月) 06:32:25
NetBeans強要してるようだが、好きにさせてやれ
400デフォルトの名無しさん:2005/05/30(月) 07:19:38
NetBeans4.1の方が、最初にインストールしたときのビックリ度が高いかなぁと思って。
タダでこんだけできるの?みたいな。
401デフォルトの名無しさん:2005/05/30(月) 10:34:07
プロファイラはすげぇな
402デフォルトの名無しさん:2005/05/30(月) 13:10:13
>>392
C#が出ているのに?
C#が出るのでJavaは衰退するとまで言われていたのに?
403デフォルトの名無しさん:2005/05/30(月) 13:16:04
初心者で質問ですが、コマンドプロンプトから実行すると正常なのに、
eclipseだと無限ループになってしまいます。
なにかアドバイス頂けないでしょうか?
404デフォルトの名無しさん:2005/05/30(月) 13:30:07
>>402
Windowsでしか使えないじゃん
405デフォルトの名無しさん:2005/05/30(月) 13:45:57
>>404
MonoはLinuxで使えるけど
406デフォルトの名無しさん:2005/05/30(月) 13:46:53
>>394
> Swingアプリを手書きするのはアホらしいけどね。
工エェ(´д`)ェエ工
407393:2005/05/30(月) 13:50:24
初心者なんでよくわからないんですけど、
C#とJavaって関係あるんですか?
敵なんですか?
408デフォルトの名無しさん:2005/05/30(月) 13:56:35
Swingに詳しい香具師が初心者?
409デフォルトの名無しさん:2005/05/30(月) 13:57:39
>>407
C#はライセンス問題上、JavaをWindows専用に改造できないことに腹を立ててM$が作った似て非なる競合言語
410デフォルトの名無しさん:2005/05/30(月) 13:58:35
C#に興味がある香具師がいないっつーことか。このスレ
411393:2005/05/30(月) 13:58:52
Java歴7年の初心者ですが何か?
412デフォルトの名無しさん:2005/05/30(月) 17:44:35
>>393
iアプリの勝手サイト作ろうと思っているんですが、そんな香具師にも有効ですか?
この、『Java GUI プログラミング』全3巻というのは。
もちろん公開用アプリを作成するうえで、です。
413デフォルトの名無しさん:2005/05/30(月) 18:49:29
>>412
もし、あなたの家が本屋さんから遠くないのなら、本屋さんへ行って
その本を眺めてみるべきです。
判断を仰ぐことはそれからでも十分に遅くありません。
414デフォルトの名無しさん:2005/05/30(月) 18:50:28
>>405
MONOは使いものにならないんじゃなかったっけ
415393:2005/05/30(月) 18:50:47
へっ、iアプリ?どうなんでしょうかねえ。
携帯の場合、J2SEじゃなくてJ2MEじゃなかったっけ。
そもそもこの実行環境でSwingが使えるのかどうかすら
私は知りません。iアプリに詳しい人よろしく〜。
416デフォルトの名無しさん:2005/05/30(月) 18:51:37
>>402
そのレスが>>392へのレスとして機能してないように見えるのだが
417デフォルトの名無しさん:2005/05/30(月) 18:52:54
iアプリは確か、J2ME+CDCでGUI部分は独自のライブラリだったはず
418デフォルトの名無しさん:2005/05/30(月) 19:12:47
>>414
相当苦労してるようだよ
公開されている仕様とMSの実装が違うから
現実的な解をとるか仕様どおりをいくか

そして今後2.0とかどんどんバージョンアップするし様々なライブラリのことを考えると
事実上.NETというのはやはりWindows固定だよ
419デフォルトの名無しさん:2005/05/30(月) 19:50:25
>>405
「動くことになっている」と「使える」は違うよ。
420デフォルトの名無しさん:2005/05/30(月) 19:55:28
あるDBに接続してその中にある全てのテーブルの内容を
そのテーブル名、ヘッダ部分、データ部分も含めて
一つのCSVファイルとして書き出すにはどうすればいいのでしょうか?

データの中身だけなら何とかなると思いますが
すべてのテーブルやヘッダ部分などの取得の仕方がいまいちよくわかりません
教えてください
421デフォルトの名無しさん:2005/05/30(月) 19:57:10
素直に export / import 使え。
422デフォルトの名無しさん:2005/05/30(月) 20:21:44
>>421
たとえばJSPなんかであるボタンを押したときに
そのメソッドが呼ばれてCSVを作るってのがしたいのですが
423デフォルトの名無しさん:2005/05/30(月) 20:32:47
DatabaeMetadata ResultSetMetadataあたりつかえば
424デフォルトの名無しさん:2005/05/30(月) 21:03:43
正規表現で\@とか\.をエスケープさせようとすると
「エスケープシーケンスが無効ですって怒られるんですけど
どうすれば回避できるんですか?
425デフォルトの名無しさん:2005/05/30(月) 21:38:38
>>420
APIマニュアル読まない人って多いんだなぁ
JDBCは簡単に取得が出来るというのに
426デフォルトの名無しさん:2005/05/30(月) 21:58:07
>>424
あふぉ
\\@
427デフォルトの名無しさん:2005/05/30(月) 22:03:58
数字を指定して次のような「0001、0002、0050、0100、〜」
文字列をfor文で生成したいのですが、どのように生成するのでしょうか。
428デフォルトの名無しさん:2005/05/30(月) 22:05:33
sine
429412:2005/05/30(月) 22:26:56
実は近場にはろくな本屋が無くて・・・いつもamazonなんですよ。
J2SEと、J2MEは基本の文法(?)、switch文とかif文ですが、同じなんですか?
でしたらiアプリの中級者向けの本を買おうと思うのですが。
430デフォルトの名無しさん:2005/05/30(月) 22:40:57
じゃあ、まず>>412さんのやることは、JAVADOCを読むことです。
J2MEもJ2SEも簡単に(英文で)手に入るので読んでおけ。
それとJ2MEのサンプルとして「そらみ」っていうのがあるから
見てみてちょ
431393:2005/05/30(月) 23:31:58
>>412
恐れながら、「Javadocを読むことです。」では何のことかわからないと思います。
もし読んだとしても、ただビビってしまうだけでしょう。
それにあれは開発しながら参照するものだと思います。
本人の言う通りiアプリの本を買ってきて、学習するのが吉かと。
ただ中級者向けが最適かどうかは不明。
432デフォルトの名無しさん:2005/05/31(火) 00:02:47
>>431
うん!


ただ、J2MEとJ2SEの違いを知るためにはいいかななんて、ははは
433デフォルトの名無しさん:2005/05/31(火) 00:11:04
>>418
Window.Forms問題か。
さらにWinFXでも痛い目を見るわけか。

昔(2001年秋の頃)、某学生派遣バイト会社の営業が
これからはC#の時代でJavaは衰退するなんて
言っていたことを思い出す。彼は学生にVBやPHPを勧めてきて
Javaは型が厳しいからプログラミングしずらいなんて無能臭いことを
言っていた。C#もその型が厳しい言語にそっくりだということも忘れて。
さらにWindowsのシェアは90%以上だからJavaの必要性が無くなり
Windows専用でほどよく真価を発揮する(と思われる)C#が普及する
とも言い張っていた。けれども彼の目論見は見事に外れてしまったようだ。

WindowsやM$ Officeがシェアを独占しているから
その原理がプログラミング言語にも働くという短絡的で安直な
M$の宣伝文句に騙されていたというわけだ。

いくらOSのシェアが大きくてもサーバ市場でのシェアでは
M$は負けている。それが彼らにとっては盲点だったというわけだ。
その盲点に気づかず、「これからはC#、これからはC#」と何度も
宣伝していたが普及しなかった。

結局C#の仕事も少なくそれほど普及もしておらず
クライアントOSのシェアがいくら大きくてもUNIX系サーバOSのシェアと信頼性
には勝てなかったということだ。
434デフォルトの名無しさん:2005/05/31(火) 00:30:45
435デフォルトの名無しさん:2005/05/31(火) 02:48:35
例えばソートするのにかかる時間を計るようなプログラムを教えてください。
どういう方法かで大丈夫です
436デフォルトの名無しさん:2005/05/31(火) 02:55:49
ええっ、それってどれくらいの時間がかかるかを予測するプログラムってこと?
それとも実際にかかった時間を知らせるだけ?
437デフォルトの名無しさん:2005/05/31(火) 03:03:39
実際にかかった時間を知らせるだけです。お願いします
438デフォルトの名無しさん:2005/05/31(火) 03:12:51
>>437
こんな感じかな。

long startTime=new java.util.Date().getTime();
........
何がしかの処理
........
long endTime=new java.util.Date().getTime();
long time=endTime-startTime;
System.out.println("time= "+(double)time/1000.+"sec");
439デフォルトの名無しさん:2005/05/31(火) 03:19:18
いちいちDate作るくらいならSystem.currentTimeMillis()にしとけ
440デフォルトの名無しさん:2005/05/31(火) 03:25:09
ありがとうございました
441デフォルトの名無しさん:2005/05/31(火) 06:46:15
pathの環境変数を誤って設定してしまったので
設定変更する前に戻したいのですが、元のpathを
忘れてしまいました。

どうすればいいでしょうか?
442デフォルトの名無しさん:2005/05/31(火) 07:57:33
↓のようなプログラムがあります
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/479.txt
しかし、フレームのサイズは固定なのでこのように↓(実行結果)
http://nijibox.ohflip.com/futabafiles/001/src/sa23011.jpg
下の方が見えなくなってしまいます
(ちなみに画像が重なってますがそれは気にしなくていいです)
そこで、スクロールバーやページ切り替えボタンを付けるべきなのだと思いますが
付け方が全く分かりません どうか付けて下さい お願いしますorz
443デフォルトの名無しさん:2005/05/31(火) 09:25:22
new JScrollPane();
444デフォルトの名無しさん:2005/05/31(火) 09:31:13
今、通信プログラムのサーバ側に当たるプログラムを作成しています。
起動して、処理出来るようになったまでは良かったのですが、
外部からのコマンドで停止させれるようにしないといけないのです。
(Tomcatのように startup.sh で起動して shutdown.sh で止めるような感じで)

起動中のJAVAのプロセスを、外部から停止させる事は出来るのでしょうか?
445デフォルトの名無しさん:2005/05/31(火) 09:41:01
>>444 リモート操作用にポート一個開けば?
446デフォルトの名無しさん:2005/05/31(火) 09:42:10
>>444
通信プロトコルに停止コマンドを加えるか、
停止要求専用のポートを開いておくかすれば?

ちなみにTomcatは後者。
447デフォルトの名無しさん:2005/05/31(火) 09:47:54
なるほど、停止自体も通信で処理すればOKですね。
やってみます。
448412:2005/05/31(火) 10:25:33
やっぱり本買いますね。ITmediaの記事はその後に役立ちそうなのでブックマーク、と。

JAVADOCは見つかりもしませんでした。せっかく教えてもらったのにスイマセン・・・orz
449デフォルトの名無しさん:2005/05/31(火) 12:07:15
>>441
OSはなんぞや?
XPなら「システムの復元」でどうにかしな。

さもなきゃ、自力でパス探せ。
コマンドプロンプトを一切使う気が無いなら
pathなんで気にする必要も無いがな。
450デフォルトの名無しさん:2005/05/31(火) 13:10:52
iアプリだったらJavadocはあるぞ。
iアプリで検索しなよ。
Docomoのサイトでzipか何かでダウソできるぞ。
451デフォルトの名無しさん:2005/05/31(火) 13:11:27
CLDCで検索すればまずJavadoc一個は見つかる。

けれどもサンプルプログラムを見た方がわかりやすい
452デフォルトの名無しさん:2005/05/31(火) 15:10:26
まあまあ、みなさん、教育的配慮でわざとストレートに教えないのも大事なことだとは思いますが、
初心者が敷居をまたぐ前に、Javaってむつかすぃ〜、と思い込んでしまってはC#な人たちの思うつぼでは。
javadocで検索しても見つかりにくいでしょ。だって、javadocはAPIドキュメントそのものではなくて、
それを作成するコマンドなんだから。

>>412
あなたが御探しのページはここです。
J2SE API仕様
J2ME API仕様

これくらいストレートに教えてあげても良いでしょう。
これは412さんの長い長い悪戦苦闘の幕開けにすぎないのですから。
453452:2005/05/31(火) 15:12:33
>>412
このキーワードで検索すれば、一番上に来るのが、目的のページです。
でも、確かに本は必要です。
454デフォルトの名無しさん:2005/05/31(火) 16:11:19
GUIプログラミングはそんなに本が必要なのか。
適当にJavadocや解説サイト見てたらそこそこの見た目だけのGUIは作れると思うが。

Servlet+DBばかりやっててGUIはほとんど手をつけていない者の適当な意見だが。
455デフォルトの名無しさん:2005/05/31(火) 17:05:20
別に本は必要じゃねーよ
昔はGUIのほうが多かったけどな
Servletの資料ほとんどなかったし
456452:2005/05/31(火) 17:15:40
確かにWebの海には良い解説サイトがいっぱい有ります。しかし、悪いサイトも
いっぱいあるので、まずその中から良いものを見つけなければいけません。
一方、本として世に出ているものはすくなくても出版社がまともな内容だと認めて
いるはずなので、内容の信憑性は比較的高いでしょう。
それにブロードバンドの時代とはいえ、いちいち、サイト探しをしていては肝心の
勉強に集中しずらいと思います。
javadoc(API仕様)はソースコードの次に内容の濃い情報源ですが、どこで何を
使えば良いのかは最初はよくわからないでしょうね。だから、まず本を読んで、
勘所をつかむことは大事だと思うんです。一人で考えているだけでは、気づかない
ようなことも書かれていることが有ります。たとえば、JTableのセル編集中に
他のセルをクリックしたらどうなるか、とか、他のコンポーネントや他のフレームを
クリックしたらどうなるかとか。
また、独りよがりのGUIを作って、世に出しても、「なんだこの使いにくいソフトは。」
とそっぽを向かれるかもしれません。自分のソフトウェアにはタブペインと
スプリットペインとダイアログのどれがふさわしいか、javadocを読んだだけでは
わからないでしょう。
おそらく454さんは開発時に一番良く参照しているのはjavadocなのでしょう。
しかし、最初からそれができていたのだとしたら、天才かもしれませんよ。
もちろん、解説サイトもjavadocもJavaBrowserもみな強力な武器には違い有りません。
457デフォルトの名無しさん:2005/05/31(火) 17:21:12
javaで全角なのか半角なのか判断する方法を教えてください。
458デフォルトの名無しさん:2005/05/31(火) 17:31:41
独りよがりなGUIといえばVectorとかによく転がってるな。
Eclipseのようにプラグイン拡張できればもっと使いやすくなるのにってのが多い。
459デフォルトの名無しさん:2005/05/31(火) 17:38:16
ソフトウェアは利用者に叩かれて成長するものです。
そこがソフトウェアのメリットでもあります。
460デフォルトの名無しさん:2005/05/31(火) 17:45:49
Java は使いにくすぎるな。
この言語自体を好きなプログラマーっていないんじゃないのか?
もしこれが好きだと言うんであれば、そいつの世界は狭いと思われる。
461デフォルトの名無しさん:2005/05/31(火) 17:46:45
>>457
とりあえず実際にかな文字をソースコードにchar型で書いて
それをintやbyteに変換に表示して半角と全角とで比べてみよ
462412:2005/05/31(火) 17:50:41
JAVADOC見てきました。一応J2SEの方は入門書終らせているので
分かるものもチョコチョコありましたが・・・・

J2MEに特化した本買って勉強しようと思います。

SEの知識が役に立てば幸い、だけどサンプルプログラムみた限りでは
そこまで役に立つわけでもなさそう・・・・orz
463デフォルトの名無しさん:2005/05/31(火) 17:51:28
Java言語自体を好きなプログラマーがいないということは即ち、
C#言語自体を好きなプロブラマーもいないということになりそうなもんだが。
464デフォルトの名無しさん:2005/05/31(火) 17:57:32
>>412
心配しなくても、Javaの文法とか、Object指向の考え方とかは同じだよ。
J2SEでも、J2MEでも、どのみち新しいクラスやメソッドには毎日の
ようにお目にかかる訳だから問題ない。
って、慰めになってないか(笑)。
465デフォルトの名無しさん:2005/05/31(火) 17:58:38
>>457
半角アルファベットはBasic Latin つまり Unicode 0000〜007F、およびLatin-1
(Latin Extended A、Latin Extended Bにもアクセント付き文字がある)、そして
全角アルファベットはUnicodeFF00〜FFEF、全角ひらがなは3040〜309F、
全角カタカナは30A0〜30FF、半角カタカナはFF66〜FF9Fのあいだに入っている
ので、 それで判定できる。

http://www.unicode.org/charts/
466412:2005/05/31(火) 18:26:21
>>464
いや、かなり嬉しいですよ。いままでやってきたことが無駄にならないのだから。
無名内部クラスで投げ出しそうになったりしながら、やって来たわけで。

文学部学生だがガンバリマス
467デフォルトの名無しさん:2005/05/31(火) 18:40:56
>>412
うむ、がんばれ。
APIをこつこつと身につけるのだ。仕様については評判の良いiアプリの真似をすることも大事だ。
大きな声では言えないが、自分が仕様で迷ったときは、とりあえずMS Officeの仕様を真似ておく。
有る程度勉強が進んだら、デザインパターンやリファクタリングというテーマにも触れよう。
正直Javaは敷居が低いとは言えないけど、部屋の中は広くてきれいです。
468デフォルトの名無しさん:2005/05/31(火) 22:19:25
いや、広くてちらかってるよ。
部屋のなかにも壁があるし。
469デフォルトの名無しさん:2005/05/31(火) 22:32:59
ただまぁ、J2MEの世界はJavaらしいプログラミングをするのがホソロシク難しい世界だからなぁ……
とりあえずiアプリにせよボダにせよ、この板に専用スレがあるので、そっちものぞいてみるのがいいかも。
470デフォルトの名無しさん:2005/05/31(火) 22:39:00
>>468
だが、C++よりは綺麗だ。
C++の失敗を教訓にして生まれた言語だけはある
471デフォルトの名無しさん:2005/05/31(火) 22:39:46
>>469
メガアプリが登場し、さらに容量が増大することで徐々にJ2SEと同じようなプログラミング
スタイルができるようになっていくだろうよ。
472デフォルトの名無しさん:2005/05/31(火) 22:41:12
プログラムサイズの制限が厳しくて、あまりいっぱいクラスを
使えないとか、言う話は聞いたことが有る。
そうすると、結局昔のBasic(いいとこX-basic)みたいなブログラムに
なっちゃうのかな。
473デフォルトの名無しさん:2005/05/31(火) 22:47:27
>>472
せめてCと言ってくれ
474デフォルトの名無しさん:2005/05/31(火) 22:51:03
あ、そうか、すんまそん、自分の中ではCの存在感が
完全に消え失せていたので。
475デフォルトの名無しさん:2005/05/31(火) 22:55:53
でも、Cは消えたというよりは、JavaやC#に受け継がれたと
言うべきですよね。Cの文法はほぼそのままの形で受け継がれている。
476デフォルトの名無しさん:2005/05/31(火) 23:01:48
>>475
どうして別言語なのに受け継がれただのということにしたいんだ?
477デフォルトの名無しさん:2005/05/31(火) 23:40:18
Java自体も昔は遅くて使い物にならんかった。
#今でも遅くて使い物に、という突っ込みはナシな
ハードウェア性能の向上に従い実用に耐えられるものになっていった。
同様に、携帯Javaが使いづらいのも今だけだろうな。

>475
文法はインターフェイス。
統一しておいた方が使いやすい、つまりシェアを確保しやすい。
当時のCユーザの数を考えれば、Cライクな文法を採用するのも自然。
キーボードが未だに使いづらいQWERTY配列なのと同じ理屈。
タイピストを取り込むために、コンピュータのキーはQWERTY配列である方が都合が良かった。

「後継」を名乗れば既存言語のユーザを丸ごと掻っ攫えるというメリットもある。
どの言語とは言わんが某M$の(ry
478デフォルトの名無しさん:2005/06/01(水) 00:09:52
>>472
vodafoneのメガアプリはその名の通り1MBの容量まで使えるようになった。
これで一つのアプリにやっとのことで余裕でクラスを10個ほど作れる。
iアプリが出た当初は10kBの壁があり大変だった。
クラスで一つ継承するだけでかなり容量を食い
それ以上クラスを作るのは容易ではなかった。
しかも例外処理やコレクションを使うと重たくなる。
byteやshort, long,doubleを使うのはもってのほかで皆intで統一。
オブジェクト指向なんていっていられない
そんな世界でJavaらしくも無いところが多かった。
メガアプリになって容量が100倍になってもまだまだ、っていうところですな。

479デフォルトの名無しさん:2005/06/01(水) 00:11:20
477さんのおっしゃる通りです。
しかし、たとえ策略的な形でも、プログラマにとっては悪い話じゃないですよね。
実際自分もJavaを初めて勉強したとき、全く抵抗無く入れました。勉強が進むに
つれて抵抗が出てくる訳ですが(笑)。なんか違うぞ、みたいな。確かに、文法
以外は全く別ものというか、他人のそら似ですね。
最初はメインループが無いので、なんだか落ち着かなかったのを思い出します。
480デフォルトの名無しさん:2005/06/01(水) 00:11:36
>>477
Cライクな文法も増えるのが当然というより、
Cライクな文法が人間工学的、心理学的、生理的に読みやすいという
経験と知恵からCライクな文応が引き継がれるという自然な前進
だったのではないかと思われ。
481デフォルトの名無しさん:2005/06/01(水) 00:14:44
>>479
Cやってたときとくらべ、
なぜJavaはすぐにコンパイルエラーになるんだ!
って最初は思ったよ。配列の扱いもCとは微妙に異なり見慣れないもので困惑したものだ。
しかしあのコンパイルエラーの厳しさが後々ありがたいものになってきて
バグを極力減らし効率的な大規模開発をする上でとても重要なことだったとは
今となっては夢にも思わなかったよ。
482デフォルトの名無しさん:2005/06/01(水) 00:17:03
しかし、Javaがハードウェアで徹底的に普及するにはまだ時間がかかりそうやな。
リアルタイム処理がどうにかなれば。

ところでJava リアルタイム仕様ってのを知ってる香具師おる?
一体どういうものなんだかよくわからず気になるのだが。

483デフォルトの名無しさん:2005/06/01(水) 00:17:43
よくよく考えるとJavaが登場してからもう10年もたつのか。
速い脳
484デフォルトの名無しさん:2005/06/01(水) 00:48:56
>480
いや……Cの文法って変態的だってよく言われない?
漏れ自身はそこまでは思わんけど……
// まぁ、ことに変態呼ばわりされるのはポインタ周りの構文だからJava等には関係ない話ではあるが。
485デフォルトの名無しさん:2005/06/01(水) 00:53:54
>>481
禿胴。
cでもコンパイラオプションでかなり厳しくエラー出せるけど
ある程度の人数だと、厳しくすれば確実に開発効率落ちた。

だが、javaだと言語仕様がcより厳格なのと、コンパイラが甘やかさないので
不平不満があってもそれに従う他は無い。 結果、効率に繋がってる。

コンパイラは融通が利かないほうがいいな。
怪しい部分も黙って通されると、よけいにバグが発見しにくいだけ。
「俺に理解できるように書き直しやがれ」というスタンスであって欲しい。
486デフォルトの名無しさん:2005/06/01(水) 01:06:27
ポインタなつかすい。C言語学習の難所と言われていましたね。
でもあれのおかげでJavaのインスタンス名ってやつも理解しやすかったかも。
どっちもメモリ上の有る場所への参照っていう意味では同じだもんね。
487デフォルトの名無しさん:2005/06/01(水) 01:50:48
C厨の煽りに釣られる香具師共数十名
488デフォルトの名無しさん:2005/06/01(水) 02:51:03
>>482
「RTSJ」でググレ。拡張ランタイムのRI配ってる会社がある
から。

簡単にいえば、タスクの実行終了時限を決められる(その時点
までに終了させることが怪しくなった時点で例外投げる)API
があるJavaということっぽい。

リアルタイム処理って、10秒遅れで実行されるくらいなら
例外投げて停止するほうがマシというタスクをスケジュー
リングするってことということでしょうかね。
489デフォルトの名無しさん:2005/06/01(水) 03:01:21
前橋さんとかいう人が、Cのポインタは、扱う文法がイカレテ
イルだけで概念が難しいわけではないといっていたな。

文法の厳しさといえば、VB.NETとかの方がJavaより数段縛りが
厳しいと思うけどどうよ。
緩いのは型解決が実行時なのでキャスト不要であることと、チ
ェック例外が存在しないという二点だけかな。
490デフォルトの名無しさん:2005/06/01(水) 09:19:36
アセンブラから来た人間にとっては、Cのポインタには何の違和感もないな。
むしろ、妙に隠蔽されてて、何がどうなってるのかわからん VBはわかりづらく感じる。
Java は、「プリミティブ型以外は全部ポインタ」ということを最初に教えてもらえば、
それほど困らない。(知らないと悩む)
491デフォルトの名無しさん:2005/06/01(水) 11:19:50
質問です。
BufferedReaderクラスのreadLineメソッドについて。
このメソッドがファイルから改行を読み込んだ時、戻り値として
どんな値が返ってくるのか、誰か教えて〜。。。
492デフォルトの名無しさん:2005/06/01(水) 12:24:30
>>491
Javadocに書いてあるじゃナイカ。
493491:2005/06/01(水) 14:39:22
すみません、Javadocとはなんでしょうか?
初心者なのでよくわからないです…。
サンマイクロのリファレンスとは異なるものでしょうか?
494デフォルトの名無しさん:2005/06/01(水) 14:43:09
Sunのリファレンスのことですよ。

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/BufferedReader.html#readLine()

戻り値:
行の内容を含む文字列、ただし行の終端文字は含めない。ストリー
ムの終わりに達している場合は null
495491:2005/06/01(水) 14:53:36
>494
ありがとう、調べてみます!
496デフォルトの名無しさん:2005/06/01(水) 14:53:51
497デフォルトの名無しさん:2005/06/01(水) 15:04:37
もうjavadocって言い方止めた方がいいんじゃないかな。
同じ質問が繰り返される。不幸だ。
498デフォルトの名無しさん:2005/06/01(水) 15:24:01
世界中がドキュメントの事をjavadocと読んでるのだから、ここで止めても意味がない。
憶えろ。
499デフォルトの名無しさん:2005/06/01(水) 15:46:29
>>498
ウチではAPIリファレンスって言ってるけど。

っつか、javadoc って呼んでる人達って
自分で書いたソースから javadoc で生成したドキュメントと区別せんの?
500デフォルトの名無しさん:2005/06/01(水) 15:54:01
Sunが悪い。
javadocって響きがいいからむやみに使ってるんだろうけど。
Javaプログラマ獲得するのにプラスにはなってないだろうよ。
501デフォルトの名無しさん:2005/06/01(水) 15:57:19
フレームを開く
その中に小さな画像が何枚かポツンとある
クリックするとクリックした画像がフレームいっぱいに等比拡大する
もう一度クリックすると元に戻る

そんなプログラムを作ってください orz
502デフォルトの名無しさん:2005/06/01(水) 16:00:21
>>499
区別する必要ないっすよ。
「java.io.BufferedReaderのjavadoc」と言ったときに自分のクラスの
javadocのはずないから。

まー、「APIリファレンス」って言ったほうがわかり易そうですね。
503デフォルトの名無しさん:2005/06/01(水) 16:10:13
メソッドの質問して javadoc 見ろといわれたら、それが載ってるであろう
javadoc を探すだろ?
たしかに javadoc ≠ API リファレンスだが、なんの javadoc まで指定する
必要は無いはずなんだが
504デフォルトの名無しさん:2005/06/01(水) 16:13:17
10分も空いてるのに o..rz

>>501
宿題スレへどうぞ
http://pc8.2ch.net/test/read.cgi/tech/1112154540/
505デフォルトの名無しさん:2005/06/01(水) 19:14:33
>>503
でもさ、メソッド名はなんらかの手段でわかったが、
そのメソッドが入ってるクラスやパッケージがわからないときとか
どうするよ?です。
506デフォルトの名無しさん:2005/06/01(水) 19:34:21
>505
その場合、どのみち手も足も出ないわけだが。
507デフォルトの名無しさん:2005/06/01(水) 19:42:11
>>505
検索する。

ところで最近のIDEなら自分のソースからすぐにjavadoc引けるし、
APIを実装したソースへのジャンプも余裕だし、javadocの
全文検索もできるし、楽だよね。
508デフォルトの名無しさん:2005/06/01(水) 20:37:45
>>499
JavaDoc形式のAPIリファレンスだから。
509デフォルトの名無しさん:2005/06/01(水) 20:38:54
APIマニュアルよめとしかこのスレではでてきたことないな

まぁJavadocだと汎用過ぎるしな
510デフォルトの名無しさん:2005/06/01(水) 20:40:36
UNIXでは「マニュアルページ(Manページ)読め」全部片付く
(片付けようとしてた)。
511デフォルトの名無しさん:2005/06/01(水) 21:06:27
>>510
片付かない時は「ソース読め」だな。
512デフォルトの名無しさん:2005/06/01(水) 21:59:26
「今日は日が悪い」は桜金造
513デフォルトの名無しさん:2005/06/01(水) 22:55:43
パッケージをインポートするのと
クラスを継承するのでは、何が違うのでしょうか?
そもそも、クラスをわざわざ継承しなくても
パッケージをインポートすれば済む話のような気がします。
パッケージをインポートしないでクラスを継承する利点ってなんなのでしょうか?
514デフォルトの名無しさん:2005/06/01(水) 22:59:14
>>513
もっと色々勉強するべきことがあるはず
あまりにも広い範囲から教えないといけなくなるので
515デフォルトの名無しさん:2005/06/01(水) 23:10:06
>>513
その2つは目的も動作も何もかもが違うぞ。
比べること自体が信じられない。
おまえにセンスが皆無なのか、教えた人間の教え方がドヘタなのかのどちらかだろう。
516デフォルトの名無しさん:2005/06/01(水) 23:15:26
>>513
オブジェクツ嗜好は、
大人にゃ見えない 釈迦利器コロンブスなのさ
517デフォルトの名無しさん:2005/06/01(水) 23:20:43
>>516
お前古いなぁ
ひょっとして前世紀の生き残りか?
518デフォルトの名無しさん:2005/06/01(水) 23:23:14
ぅ〜〜〜わぉ
よーぅこそ〜〜ここへ〜♪

西武園で!西武園で!西武園で!
西武園で〜〜〜遊園地!
519デフォルトの名無しさん:2005/06/01(水) 23:24:03
>>517
いえ、T&NのANN信者です
520デフォルトの名無しさん:2005/06/02(木) 00:00:32
>>515
オレは、最高レベルの勉強体勢でやってるわけ。
勉強内容に間違いはないのさ。
つうかさぁ、オレは被害者なわけ。
それに、どんな勘違いしてたか公表すると、模倣するやつがいるから公表しない。
521デフォルトの名無しさん:2005/06/02(木) 00:03:50
513さんの言うことも全くナンセンスとは思えません。いやむしろ、面白いテーマかも。
継承を使う方がいい局面と、importを使う方(多分委譲のこと)が良い局面とが存在しますね。
よくよく調べてみると、自分はJFrameとJInternalFrameとJTableとPlainDocument位しか継承していないです。
継承は意外と使ってないですね。
たとえば、class MyTextArea extends JTextAreaっていうのを作って、
MyTextArea ta=new MyTextArea();
ta.selectAll();ってやってもいいし、
TextAreaHandlerとか言う何もextendsしないクラスを作って、そのstaticメソッドを使って、TextAreaHandler.selectAll(ta);
などとやっても良いわけです。
しかし、継承でなければできないことや、委譲でなければできないことがあるのも事実です。
522デフォルトの名無しさん:2005/06/02(木) 00:10:11
>>521
釣るなよ・・・・

importって、単にソースコード中で他のクラス名を記述するときに
パッケージ名を省略できるというだけだろ。
import宣言するかしないかで、何かができるようになったり、ならなかったりはしない。
523デフォルトの名無しさん:2005/06/02(木) 00:18:25
最高レベルの勉強体勢とやらが非常に気になってぐっすり眠れそうだ
524デフォルトの名無しさん:2005/06/02(木) 00:21:57
513が言ってるimportって、それによって使えるようになるクラスの
インスタンスに委譲(デリゲート)することによって、そのクラスを継承せずに
利用するってことじゃないの?善意に解釈し過ぎ?
525デフォルトの名無しさん:2005/06/02(木) 00:22:47
ZZZZZZzzz...
526デフォルトの名無しさん:2005/06/02(木) 00:25:56
>>524
513がもしそういう意味で書いているとしたら513=524としか信じられない。
527デフォルトの名無しさん:2005/06/02(木) 00:44:19
521=524なんですが。
それにしても520の発言、なんかわくわくさせる。
528デフォルトの名無しさん:2005/06/02(木) 01:27:43
>>520>>521も釣り
529デフォルトの名無しさん:2005/06/02(木) 01:54:26
なんでもかんでも釣りかよ。
530デフォルトの名無しさん:2005/06/02(木) 01:56:55
釣りにしか見えないくらいというか
釣りでなかったら相当痛いアホ発言だからだよ。
531デフォルトの名無しさん:2005/06/02(木) 02:04:42
会ったこともない相手にアホだのとよく言えるわ。
うぬぼれない方が良い。君に言えるのはその「アホ」
という言葉だけだろうよ。
存在感無し。
532デフォルトの名無しさん:2005/06/02(木) 02:14:08
マジレスすれば、>520は価格コムのパロだろ。
533デフォルトの名無しさん:2005/06/02(木) 02:24:04
perl とごっちゃになってるとか。
534デフォルトの名無しさん:2005/06/02(木) 03:25:56
再登場しない事を見ると、釣りなのかね。
手続き型的な思考にハマってしまった人なら実際にぶつかってもおかしくない問題な気はするけど。
つーか質問相談スレなのにいきなり批判レスから始まるのはどうかと思う。
例えどんなに釣りっぽくてもな。
絶対に釣られるのが嫌なら質問スレなんかにいないで一人でコード書いてろよ。
535デフォルトの名無しさん:2005/06/02(木) 03:48:04
初心者を呼び込んで馬鹿にするスレなのか、って思われるかも。
今の日本はどこ行っても寒いね。
536デフォルトの名無しさん:2005/06/02(木) 04:00:50
513みたいな初心者であることは別にどうでもいいけど
521=524みたいな技術的なウソや間違いは書くな。
537デフォルトの名無しさん:2005/06/02(木) 04:01:56
今日も来るかな、javadoc
538521=524:2005/06/02(木) 04:37:08
>536
で、ウソや間違いの部分を引用して、なぜ間違いなのか指摘してもらえますか。
まだ一度もそれを聞いていないので。まさか、全部とか言わないですよね。
全部なら、その内の一つについてご指摘御願いします。初心者なんでよろしく。
539デフォルトの名無しさん:2005/06/02(木) 06:30:17
importを使えば
java.lang.String[] str = new java.lang.String[2];

String[] str = new String[2];
といったように書くことが可能になります。
540521=524:2005/06/02(木) 06:35:19
>importって、単にソースコード中で他のクラス名を記述するときに
>パッケージ名を省略できるというだけだろ。

それは513も知ってて言ってるかもよ。
もちろん私も知ってます。

>import宣言するかしないかで、何かができるようになったり、ならなかったりはしない。

だったら、import宣言はいらないことになる。
委譲を行うときに利用される方のクラスをimportしても意味がないとでも言うのですか。
513はそういうことを言ってるかもしれませんよ。(そうであってほしい。)
513はその直後の発言で馬鹿にされて、嫌になってしまったのかも。そして520は他人の
おふざけであったかも。
推測の域を出ていないし、釣られているだけかもしれんが、つまらないことで、Java初心者が
挫折するのはつらい。長い目で見たら自分らの首を絞めているかもしれない。
せめて、質問者の発言の真意を問いただすくらいの心の広さが欲しいものだ。
「釣りだ」の一言で、片付ければ議論もしなくていいし、自分は釣られなかったから賢いと
優越感に浸れるかもしれんけど、初心者が上級者の想像を絶するような発言をしたからとて、
なんの不思議も無いでしょう。果たして「釣りだ」の一言で片付けられた真面目なとんでも質問が
いくつ有ったことやら。
2ちゃんねるでこんなこと言うだけ無駄なのか。
541521=524:2005/06/02(木) 06:41:00
>>539
ううっ、(/_;) 自分はこういう発言を待っていた。
もうみんな賢い振りをするのやめようよ。みんな初心者でいいじゃないか。
542デフォルトの名無しさん:2005/06/02(木) 07:02:56
継承を使えば、継承先のクラスでは継承元のクラスのメソッドに加え
冗長な機能を付加することが可能になります。

ところで、Stringはimportいらないんだよね?
543521=524:2005/06/02(木) 07:05:59
はっ、もしかしてこれが本物の釣り?
544デフォルトの名無しさん:2005/06/02(木) 07:24:56
いらないのではなくてデフォでimport済み
545デフォルトの名無しさん:2005/06/02(木) 07:36:55
>>543
釣りって何ですか?

参考:>>540-541
546521=524:2005/06/02(木) 07:46:43
539のことですが。
importがいらないのを知っていて、わざとこんなことを書いたのかと。
547デフォルトの名無しさん:2005/06/02(木) 07:50:52
java.langというパッケージは import はいらないが、import しても文法に反するわけではないし..
548デフォルトの名無しさん:2005/06/02(木) 07:54:43
いかにも
549デフォルトの名無しさん:2005/06/02(木) 12:56:25
やっぱり>>540みるかぎり>>521は釣りだな
具体的なimportがいらないことになる例があれからじゃわからん
550デフォルトの名無しさん:2005/06/02(木) 16:11:08
今まで手続き型しか知らなかったけど、ジャバ勉強してしばらくぼーっとしてたらわかるようになる。超オススメ
551デフォルトの名無しさん:2005/06/02(木) 16:24:20
今どきのプログラミングの初心者って、もしかして「手続き型って何」?
て感じなのかな。有る意味幸せかも。
552デフォルトの名無しさん:2005/06/02(木) 18:27:28
委譲を使えば、実行中に利用される側のクラスを切り替えられることが
可能になります。
553デフォルトの名無しさん:2005/06/02(木) 19:53:48
オブジェクト指向じゃないプログラムを知らないので、そこをさらにオブジェクト指向でと言われると、継承やパターンの乱用になったり
554デフォルトの名無しさん:2005/06/02(木) 19:59:39
>>452
> まあまあ、みなさん、教育的配慮でわざとストレートに教えないのも大事なことだとは思いますが、
> 初心者が敷居をまたぐ前に、Javaってむつかすぃ〜、と思い込んでしまってはC#な人たちの思うつぼでは。

JavaができなきゃC#に逃げたって結果は変わらんよ。
Javaには無い構造体や参照型、値型の扱い、delegateや属性、プリプロセッサ、get/set。
オブジェクト指向的に見ても杜撰で使い勝手もネーミングセンスも悪いフレームワーク、API群、
Javaとは似て被なる文法にプログラムの挙動。
これらによりJavaよりもっと面倒な場面に直面してC#も難しいと零す羽目になる。

555デフォルトの名無しさん:2005/06/02(木) 20:01:20
>>460
> Java は使いにくすぎるな。
> この言語自体を好きなプログラマーっていないんじゃないのか?
> もしこれが好きだと言うんであれば、そいつの世界は狭いと思われる。

では、藻前はどんな言語が好きなのだ?
藻前の心がどれだけ広いか判定してやろうか。
556デフォルトの名無しさん:2005/06/02(木) 20:04:45
>>484
C/C++の文法に変態的な構文が含まれていたからこそ
その部分がカットされて良いとこどりのJavaが生まれたのだろう。
さらに良いとこどりの言語みたいなのがあるみたいだが。D言語とか。
特徴に違いがありすぎるが。
557デフォルトの名無しさん:2005/06/02(木) 20:15:18
>555
わざわざ100レス前の釣りに引っかかるなよ。
いや、食いつきの悪い仕掛けを餌も付け替えず再投入するなよ、の方が妥当な突っ込みか?
558デフォルトの名無しさん:2005/06/02(木) 20:26:53
まったくの初心者だけど、例えばこのページをファイル→名前を付けてデスクトップに
保存するとファイルとアイコンがでる、アイコンを右クリック→編集で

DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0052)http://pc8.2ch.net/test/read.cgi/tech/1114850497/l50 -->
<HTML><HEAD><TITLE>【初心者歓迎】Java質問・相談スレッド65 Update 1</TITLE>
<META http-equiv=Content-Type content="text/html; charset=Shift_JIS">


と表示される、

これはJava言語ですか?
559デフォルトの名無しさん:2005/06/02(木) 20:38:44
>>558
そうだ。
560デフォルトの名無しさん:2005/06/02(木) 20:54:01
なるほど、するとホームページはJAVAで書かれてるわけだ、

昔はやったインベーダやパックマンもJAVAでつくれる?
561デフォルトの名無しさん:2005/06/02(木) 21:00:39
>>560
もちろん
562デフォルトの名無しさん:2005/06/02(木) 21:21:14
>>560
つうか、普通にJavaでつくったインベーダやパックマンが携帯で遊べるわけだが。
563デフォルトの名無しさん:2005/06/02(木) 21:24:51
jpgやgifやサウンド等のデータを1つのファイルにまとめて通信でそのデータを
取ってきてそのデータからイメージとかを使用したいのですが
パックファイルを行なうのに最低限必要なデータってどんなものがありますか?
CではしたことがあるのですがJAVAはポインタがないので
データが格納されてる開始のサイズとデータのサイズをもったりとかしないいけない
かなとか思ったりしてるんですがどんな方法があるのかどんな方法でどんな利点が
あるのか。教えてください。
564デフォルトの名無しさん:2005/06/02(木) 21:29:22
>>560
釣られてしまうのは嫌ですが、
あなたが貼ったのはhtml(Hyper Text Mailing List)という、SGMLから派生した言語です。
565デフォルトの名無しさん:2005/06/02(木) 21:31:17
>>563
JARにまとめることでいいのでは?
Cでのポインタを使わないプログラミング方法も知っているのであれば
そうムズいことないだろう。
566デフォルトの名無しさん:2005/06/02(木) 22:00:58
>>563
ポインタがあろうがなかろうが、データの持ち方によって開始位置とサイズは必要だと思うが。
567デフォルトの名無しさん:2005/06/02(木) 22:11:34
ポインタ使ってサイズとか知らないで使ってたのか

そのレベルだと自前で作りこむよりJarでまとめればいい
568デフォルトの名無しさん:2005/06/02(木) 22:17:36
君子 本を務む 本立ちて道生ずる
(立派な人は基本を大切にする、基本がなっていろんな道が生ずる、)

Java言語の基本がわからないので、さっぱりわからない。
569デフォルトの名無しさん:2005/06/02(木) 22:29:07
Java というより、コンピュータの基本な。
570デフォルトの名無しさん:2005/06/02(木) 22:33:52
>>568
きみこさんって有名なの?
その諺らしき1文は福沢諭吉か大隈重信のものっぽいが違うかな?
571デフォルトの名無しさん:2005/06/02(木) 23:07:32
>>564

ナンデヤネン(^_^)√☆ (^ ^;
572デフォルトの名無しさん:2005/06/02(木) 23:46:36
>>571
doctypeの指定がしてあるからです。
573デフォルトの名無しさん:2005/06/03(金) 00:00:08
Mailing Listはないだろ。
574デフォルトの名無しさん:2005/06/03(金) 00:09:43
>>573
お前のような器の小さい人間は出世しないぞ

あぁ、無職か。失礼。
575デフォルトの名無しさん:2005/06/03(金) 00:39:38
器の問題じゃないだろ。書いた本人は気づくかもしれんけど、教えられた方は
そのまま覚えてしまうかもしれないから指摘したんだよ。
適当に無職かとか言って、当たってたら精神的ダメージを与えられるとでも
思っているだろうけど、ちゃんと仕事有りますよ。それに今の時代、有能な人が
必ず仕事が有るとは限らないよ。有能すぎるが故に上司と意見が合わずに
首にされることだってあるんだ。安い給料で、簡単に言うこと聞く人間の方が雇
われるということもあるんだ。むやみに無職の人を馬鹿にするのはやめよう。
もう少し大人になろう。君が器うんぬんを述べてはいけない。
しかし、本当にネット弁慶が多いですね。現実世界ではらせぬ鬱憤をここでと
ばかりに。以下(ry
576デフォルトの名無しさん:2005/06/03(金) 00:44:44
ふだんからこうなのだが何か問題でも?
577デフォルトの名無しさん:2005/06/03(金) 00:52:32
そう言い返す人が多いが、本当だったら、日本はアメリカ以上のに嘩っ早い国になっている。
578デフォルトの名無しさん:2005/06/03(金) 00:53:35
>>575
教わった事をそのまま覚えればいいじゃないか。無能な奴は。
579デフォルトの名無しさん:2005/06/03(金) 00:54:10
訂正
喧嘩っ早い
580デフォルトの名無しさん:2005/06/03(金) 00:57:39
「無」と言う言葉に縁があるようだね。
発言内容も「無」だし。
581デフォルトの名無しさん:2005/06/03(金) 01:45:52
FUCk YOU
582デフォルトの名無しさん:2005/06/03(金) 01:46:18
FAQ U
583デフォルトの名無しさん:2005/06/03(金) 01:48:20
あらら、もう言うこと無くなっちゃったの?
やっぱりな
584デフォルトの名無しさん:2005/06/03(金) 01:51:53
バカとかアホとかFuck youとか、何も言えなくなってしまった者が
最後に吐く悲鳴のようなものだ。スレを無駄遣いしてしまった。
もう止めます。
585デフォルトの名無しさん:2005/06/03(金) 02:04:58

そして
無無

悟りへの禅
586デフォルトの名無しさん:2005/06/03(金) 02:05:16
あらら、もう言うこと無くなっちゃったの?
やっぱりな
587デフォルトの名無しさん:2005/06/03(金) 02:37:01
むいみー
588デフォルトの名無しさん:2005/06/03(金) 03:40:49
無=空=無自性=縁起=悟り
589デフォルトの名無しさん:2005/06/03(金) 04:36:54
色即是空
590デフォルトの名無しさん:2005/06/03(金) 08:09:41
ぬるぼ
591デフォルトの名無しさん:2005/06/03(金) 09:17:28
NullPointerExceptionが出たのですが
どこが悪いのでしょうか?
以下がソースの必要そうな部分です。

class Tes extends JFrame{

prvate Image bg;

public Tes(){
  bg = createImage(x,y);

中略

public void paint(Graphics g){
  bg.getGraphics().clearRect(0,0,x,y);
  bg.getGraphics().fillRect(0,0,x,y);
  g.drawImage(bg,0,0,this);
}
592デフォルトの名無しさん:2005/06/03(金) 09:54:31
で、そのエクセプションは、どの部分で出たのかね?
593591:2005/06/03(金) 11:16:32
paintの部分です。
594デフォルトの名無しさん:2005/06/03(金) 11:35:22
この行で発生した、という理解で正しい?
>public void paint(Graphics g){
だとすると自分にはお手上げ。
595デフォルトの名無しさん:2005/06/03(金) 11:36:28
paintのどこさ
596デフォルトの名無しさん:2005/06/03(金) 11:40:55
>>591

>>コンポーネントが表示不可能な場合は null を返す。
>>GraphicsEnvironment.isHeadless() が true を返す場合は常に null を返す

だってさ。JFrame#createImage(int, int) (= Component#createImage(x, y))
addNotify()してからだとイケるかも。
597591:2005/06/03(金) 12:17:42
  bg.getGraphics().clearRect(0,0,x,y);

よく数えてみたら
の部分でした。
598デフォルトの名無しさん:2005/06/03(金) 12:25:11
さらに
bgがnullなのか
getGraphicsがnullなのか
判断するために分けて書いてみそ

この程度なら問題ないが大量に描画するときとか
何度もgetGraphicsやるより一度取得してそれを変数に入れたほうが軽い

そもそも、画像を生成するのは任意のタイミングだろうからそこで
Imageを描画して、paintではdrawImageだけ入れるのが効率がいい

paintってのはウインドウの重なり具合とか再描画のタイミングで何度も呼ばれるからね
599591:2005/06/03(金) 13:01:06
どうやら
bg.getGraphics()
がnullのようです。

判っても対処の仕方が分かりません。
どうしたらよいのですか?
600デフォルトの名無しさん:2005/06/03(金) 13:22:38
インスタンス生成時でバッファ作成しているようなので基本的にはnullはこない
が、このJFrameの生成やpaintを意識して読んでいたり他の部分のソースがないとなんともいえない

601デフォルトの名無しさん:2005/06/03(金) 13:54:38
とりあえず、抜粋ではなくて、全ソースをのってけて。
602デフォルトの名無しさん:2005/06/03(金) 14:06:00
質問です。
(JAVA初心者ゆえ、言葉に間違いがありましたら申し訳ありません)

public class Buttontest extends JButton implements MouseListener {

といった「JButton」を継承したクラスを作成しております。

オーバーライドしたメソッド
paintComponent(Graphics g)にて

g.drawImage(img ,0, 0, this);
// 画像を描画、imgは取得済み

で、画面を出してみたところ、
何も画像が表示されませんでした。

ためしに
public class Buttontest extends JComponent implements MouseListener {

「JComponent」にしてみたら画像が表示できました。

「JButton」は「JComponent」から継承されたクラスなので
何か上書き(?)してしまっているのか?と考えました。

なぜ、「JButton」継承では画像が表示できず、
「JComponent」継承では表示ができたのでしょうか?

また、「JButton」にて画像表示する方法がありましたら教えてください。
603デフォルトの名無しさん:2005/06/03(金) 14:13:56
>>602
JButtonなら、標準の機能で画像の表示が可能です。paintComponent()のオーバライドは不要。
たとえばこんな感じ。

JButton button = new JButton();
button.setIcon(new ImageIcon("icon.gif"));

詳しくはこちらをどうぞ。
http://www.google.co.jp/search?hl=ja&q=Java+JButton+Icon&lr=lang_ja
604602:2005/06/03(金) 14:23:15
>>603
すみません、説明不足でした。

目的はオリジナルのボタンコンポーネントを作成したいので
paintComponent()内部で、ボタンの絵を描いています。
(浮いた状態の絵、凹んだ状態の絵を切り分ける等)

これら、四角形などを最終的には
drawImage()で表示でき、
クリックしたら凹んだ絵と入れ替えもできて、
見た目ボタンになっているのですが、
なぜか、指定の画像が表示できない状態です。
(602で書いているように JCompornentにしたら絵が何故か出た)

ありがとうございます。
605デフォルトの名無しさん:2005/06/03(金) 14:26:38
>>604
気になったのでJButtonのpaintComponentオーバーライドしてみたけど、
ふつうに自前の描画になったよ

メソッド名まちがえてるとかなんかない?
606デフォルトの名無しさん:2005/06/03(金) 14:43:57
>>604
へこんだ状態の絵
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/AbstractButton.html#setPressedIcon(javax.swing.Icon)

他にも様々な状態でのアイコンを設定できます。自作のクラスを作る前にAPIをよく見ましょう。
607602:2005/06/03(金) 16:59:13
描画の前にwaitForID()をしたところ
画像を表示する事ができました。

お騒がせしました。ありがとうございました。
608デフォルトの名無しさん:2005/06/03(金) 19:38:18
imageの大きさを見るのになんでimageobserverを渡してやらないといけないんですか?
609デフォルトの名無しさん:2005/06/03(金) 19:50:38
>>608
Imageの内容や幅はImageObserverが受け取る仕組みになっているから。
多分、JDK1.0の時代にHotJavaブラウザで動画GIFやプログレッシブJPEGを表示させたいあまりに、
Sunの技術者が間に合わせにこんな阿呆な仕様を考えたのだろう。
邪魔臭いならBufferedImageを使えばよい。
こっちはImageObserverを渡さなくていいから。
610デフォルトの名無しさん:2005/06/03(金) 20:43:25
簡単なゲームプログラムを紹介するスレが立てれば興味湧く人もいるかもしれないけど。
さっぱりわからん
611デフォルトの名無しさん:2005/06/03(金) 21:00:50
>>610さんは何が言いたいのでしょうか。
さっぱりわからん
612デフォルトの名無しさん:2005/06/03(金) 21:36:24
>>607
そういうおちだったか
Swingもなにも関係なかったな
JComponentでうまくいったのもたまたまだっただけと
613591:2005/06/03(金) 21:48:33
import java.awt.*;
import javax.swing.*;

class Draw extends Canvas{


  int x,y;
  Image bg;
  Graphics d;

  Draw(){
   x=300;y=300;
   d = bg.getGraphics();//ここで発生している
   bg = createImage(x,y);
   }

   public void paint(Graphics g){
    d.clearRect(0,0,x,y);
    d.fillRect(0,0,x,y);
    g.drawImage(bg,0,0,this);
  }
  public void update(Graphics g){paint(g);}
614続き:2005/06/03(金) 21:49:52

  public static void main(String[] args){
   JFrame fr = new JFrame();
   Draw dr = new Draw();
   fr.setBounds(10,10,300,300);
   fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   fr.getContentPane().add(dr);
   fr.show();
   }
}

一体どこが悪いのかさっぱりです。
あと、携帯からなんでタイプミスなどあるかもしれませんが
コンパイルは通ったので実際のは無いと思います。
615超初心者、:2005/06/03(金) 21:59:34
>>611
例えばビルゲイツでも最初はゲームプログラムを作って遊んだそうだから、そういう
のがないかなと思って、

自分ができるのは、枠と顔文字を表示する事ぐらい、
例えば
<html>
<head>
<(´・ω・`)ショボーン >
<title>【初心者歓迎】Java質問・相談スレッド65 Update 1</title>


</html>


超初心者用のすれはありませんか?
616デフォルトの名無しさん:2005/06/03(金) 22:00:22
まずSwingつかってるならCanvasのかわりにJCoponent使うべし

それにGraphicsは表示してるときとかバッファが確保されてるときしかつかえんぞ
617デフォルトの名無しさん:2005/06/03(金) 22:09:55
public class Vvvv extends Applet implements Runnable{
int x,y;
Image off,img;
Graphics og;
Thread th = null;

public void init(){
x=10; y=10;
Dimension d = getSize();
off = createImage(d.width,d.height);
og = off.getGraphics();
img = getImage(getDocumentBase(),"vvv.gif");
th = new Thread(this);
th.start();
}

public void paint(Graphics g){
og.fillRect(0,0,100,100);
og.drawImage(img,x,y,this);
g.drawImage(off,0,0,this);
}

public void run(){
while(true){
try{
x += 5;
if(x<100)
x=10;
repaint();
th.sleep(500);
} catch(InterruptedException e){}
}}}
618デフォルトの名無しさん:2005/06/03(金) 22:11:31
>>617です

アプレットビューアーで読み込み中に、例外が発生しました。とでて、実行されません。
どうすれば、直りますか?
619デフォルトの名無しさん:2005/06/03(金) 22:47:16
例外を発生させないようにすれば実行できると思うよ。
620デフォルトの名無しさん:2005/06/03(金) 23:09:11
>>617
javaコンソールは見てますか
621デフォルトの名無しさん:2005/06/03(金) 23:43:02
>>613

ぬるぽ発生原因の箇所を抜き出してみますた

class Draw {
 Image bg;
 Draw() {
  bg.getGraphics(); //ここで発生している
 }
 public static void main(String[] args){
  Draw dr = new Draw();
 }
}
622デフォルトの名無しさん:2005/06/03(金) 23:58:21
>>617
swingなら、実行は
appletviewer ファイル名じゃなくて
java ファイル名では。
623デフォルトの名無しさん:2005/06/04(土) 00:10:22
>>622
Swingはアプリでもアプレットでも使うものだが
624デフォルトの名無しさん:2005/06/04(土) 00:13:27
>>622 617のソースにmainメソッドがないのによくそういう発言が出来るなあ。
625デフォルトの名無しさん:2005/06/04(土) 00:16:59
//画面に文字を出力するコード
class Test01
{
public static void main(String args[])
{
System.out.println("ようこそJavaへ!");
System.out.println("Javaをはじめましょう!");
}
}

コンパイル成功するのに、実行すると失敗します。
626デフォルトの名無しさん:2005/06/04(土) 00:20:44
あっそう。
627デフォルトの名無しさん:2005/06/04(土) 00:21:11
publicなクラスじゃない
628デフォルトの名無しさん:2005/06/04(土) 00:24:02
真面目に教えて頂けませんか?ふざけないでください!!!
629デフォルトの名無しさん:2005/06/04(土) 00:27:04
偉そうですね。
630デフォルトの名無しさん:2005/06/04(土) 00:33:10
>628
深呼吸して>627を読んでから>628のコードをよーく見直してみよう。ほら何か見えてきた。
631デフォルトの名無しさん:2005/06/04(土) 00:33:41
C:\Documents and Settings\torao>copy con Test01.java
//画面に文字を出力するコード
class Test01
{
public static void main(String args[])
{
System.out.println("ようこそJavaへ!");
System.out.println("Javaをはじめましょう!");
}
} ^Z
1 個のファイルをコピーしました。

C:\Documents and Settings\torao>javac Test01.java

C:\Documents and Settings\torao>java Test01
ようこそJavaへ!
Javaをはじめましょう!

C:\Documents and Settings\torao>
632デフォルトの名無しさん:2005/06/04(土) 00:33:43
スマソ
×628のコード
○625のコード
633デフォルトの名無しさん:2005/06/04(土) 00:34:30
625ですけどもう自分で調べます。2ちゃんねらーで役に立たなかった
ただのごみですね。もうきません。
634デフォルトの名無しさん:2005/06/04(土) 00:34:42
public なクラスじゃないと main が実行できないと思ってる奴らって













635デフォルトの名無しさん:2005/06/04(土) 01:03:59
おそらく>>625
クラス名とファイル名とが一致していなくて
うまくいかねえんじゃねえの(ワラ

それか文字コードが糞なんだなw
実行するときに失敗したときのメッセージを
貼り付けなきゃ質問に答えにくいってことを
良く分かってない餓鬼だな>>625
636デフォルトの名無しさん:2005/06/04(土) 01:08:12
> それか文字コードが糞なんだなw
見当ハズレな指摘
637デフォルトの名無しさん:2005/06/04(土) 01:23:00
ファイル名が全角文字になってる
クラス名が全角文字になってる
どちらかに全角スペースが入ってるw

考えられそうなものw

638デフォルトの名無しさん:2005/06/04(土) 01:48:52
>>633
なるほど。きみの言わんとしている意味が、だいたい見当がつきました。
きみはこう言いたいのでしょう

イシャ逝ってくる!
639デフォルトの名無しさん:2005/06/04(土) 02:07:18
かわいそうだけど、プログラム以外のことに努力した方が良いかもね。
640デフォルトの名無しさん:2005/06/04(土) 02:19:43
ここで質問して解決しなかったことは俺は過去に2度しか無い。
こんなに役立つスレは無いぞ。それをゴミ呼ばわりするとは。
641デフォルトの名無しさん:2005/06/04(土) 02:24:02
あんな狂ったガキから年金もらいたくねーな
642デフォルトの名無しさん:2005/06/04(土) 02:28:16
>>640が何度ここで質問したのかが気になるわ。
643デフォルトの名無しさん:2005/06/04(土) 02:38:39
実は10回も質問してないかな(笑)。
ところでおまいら、英語圏のサイトって、やっぱすごいな。
どうにもわからなくて煮詰まったときは、Web全体ググると、
ですでに議論されて、解決方法も紹介されている場合が多い。
644デフォルトの名無しさん:2005/06/04(土) 03:10:20
3年で30回は回答してるが、自分の役に立ったことは無いな。確かにゴミスレだ
645デフォルトの名無しさん:2005/06/04(土) 03:19:53
そりはよほど高度な質問をしているのでは。
誰もわからんときは、完全に無視されたりする。
646デフォルトの名無しさん:2005/06/04(土) 03:20:55
あ、質問じゃなくて、解答ですか。失礼しますた。
647デフォルトの名無しさん:2005/06/04(土) 03:21:56
質問数十回、解答数百回。最初のころは解答側 5 人くらいで捌いてたな。
初心者無視スレや死滅スレの遥か前だが、知らんことも結構あって役に立った。
でも最近はここに来ること自体減ったな。
648デフォルトの名無しさん:2005/06/04(土) 03:22:35
そもそもゴミのような質問が多すぎなんだな。
どこかの大学の学生どもが
教えて君のように質問してくるんだろうけど

皆甘えん坊ばかり。しかも最近生意気な奴が多い。
なんでもかんでもただですぐに教えてくれると
勘違いしている。そして質問に答えてくれないと厨房臭いことを
いって愚痴を吐き捨てる。だたをこねた餓鬼としか言いようがない。

自分で問題解決する能力なんてありゃしない。
Googleの使い方も知らんバカも多そうだし。
実際、大学院に行ってもYahooやgoo以外の検索エンジンは
知らずGoogleを全く使ったことがないバカがいたけどな。
そんなバカな先輩の影響を受けて真似をして
居直る学生はアフォだ。
649デフォルトの名無しさん:2005/06/04(土) 03:22:37
>>644

ゴミスレが大好きなんですね。
650デフォルトの名無しさん:2005/06/04(土) 03:26:32
でも、まあ初心者歓迎と書かれているからには有る程度仕方が無いかと。
問題は、人間としての初心者まで来てしまうことかな。
651デフォルトの名無しさん:2005/06/04(土) 03:26:57
>>645
すべての面において素でそう言ってるならお前もバカだよ。
質問者の情報が少なければ少ないほど
曖昧になり質問に答えにくくなる。
何も情報も成しに、いきなり「教えてください」とか
エラーメッセージも例外メッセージもかかずに
いきなり「エラーがでましたどうすればいいですか」
「例外がでましたどうすればいいですか」
「動きませんどうすればいいですか」
「思うようにいきませんどうすればいいですか」

なんて抽象的で情報が少ないこと言われてもなあ。
ウンザリするだけ。OSやバージョン番号、どんなコードを書いたのかも
どんな動作手順をおこなったのかも書かずに
いきなりこんなことを言うヴァカ質問者が
多すぎてウンザリする。質問に答える側の立場になって
考える能力がない餓鬼どもが多すぎてウザイわ。


652デフォルトの名無しさん:2005/06/04(土) 03:27:28
最近は>>1が整備されたのと、宿題スレあるおかげでかなり平和になったと思う
653デフォルトの名無しさん:2005/06/04(土) 03:29:34
>>652
まだまだだな。

バカ質問者はメーリングリストでこんな質問したら
徹底的に叩かれるだろう質問を平気でやっている。
2chは匿名だから適当でもかまわないって態度が見え見えでウザイ
654デフォルトの名無しさん:2005/06/04(土) 03:31:37
じゃ初心者スレなんて来なけりゃ良いのに…
なぜか? それはお前が初心者しか相手にできない派遣だからだろ m9(^Д^)プギャー
655デフォルトの名無しさん:2005/06/04(土) 03:33:42
マ板でもみたのだが

この顔文字 --> m9(^Д^)

流行ってるのか。


バカにしかみえないぞ。
マ板だからバカ用顔文字ってことか
656デフォルトの名無しさん:2005/06/04(土) 03:35:52
m9(^Д^)プギャー
657デフォルトの名無しさん:2005/06/04(土) 03:38:29
>>654
「いやなら来なけりゃいい」
そういうことをいうお前は
はてはアフォ質問者の一人だな。

お前みたいに
「いやなら来なけりゃいい」
という消極的な態度をとるのではなく
スレッドを良いように改善するよう努めるほうが
効率的だ。そうは思わんか。

ムカつく奴がいたからといって
「嫌なら引っ越せばいい」なんてそう簡単に
引越しにかかる費用も考えずに
できるとでも思ってるのかと。

「嫌ならやめればいい」とかすぐに短絡的に
言う奴はいい加減な奴で責任感のかけらもない
奴が言う台詞だってことをキモに命じておくんだな。
よく悪徳セールスマンが使う台詞の一つだからな。
658デフォルトの名無しさん:2005/06/04(土) 03:38:39
すばらしい、651さんは千里眼をお持ちのようだ。
1の情報を100にも膨らませることができる。
それなら625の言いたいこともわかったのでは。
659デフォルトの名無しさん:2005/06/04(土) 03:42:58
>>658==>>625だとしたら
馬鹿を通り越して呆れるしかない
660デフォルトの名無しさん:2005/06/04(土) 03:47:53
> スレッドを良いように改善するよう努めるほうが
> 効率的だ。そうは思わんか。

アホか、初心者は入れ替わり立ち代り来るのにそんな作業は無駄。また明日も
空気の読めない初心者君が沸いてくる。まぁ偉大なる千里眼をお持ちの派遣が
そういう背景を無視して歴史を変えてくれることに期待しようw
fj 行けば? m9(^Д^)プギャー
661デフォルトの名無しさん:2005/06/04(土) 03:49:37
千里眼を持ってる割には的外れなときも有るのね。
文体が全然違うでしょ。それとも625にはそれくらいの芸当が
できると思われたかな。
大丈夫、よくするなんて考えなくても。
このスレのことより、性格をなんとかしないと、人から嫌われるよ。
662デフォルトの名無しさん:2005/06/04(土) 03:52:13
バカ は sage ない法則
663デフォルトの名無しさん:2005/06/04(土) 03:58:41
   |:::::::::::::::::::::::::::::::
   |" ̄ ゙゙̄`∩::::::::::::::::
   |,ノ   ヽ, ヽ:::::::::::::::::::::::::
   |●   ● i'゙ ゙゙゙̄`''、::::::::::::::::
   | (_●_)  ミノ   ヽ ヾつ::::::::::
   | ヽノ   ノ●   ● i::::::::::
   |{ヽ,__   ) ´ (_●_)`,ミ:::::::
   | ヽ   /   ヽノ ,ノ::::::>>657・・。
664デフォルトの名無しさん:2005/06/04(土) 04:04:15
本気でスレを良い空気に持って行こうとしてるなら >>657 のような
口調で書き込みはしないだろうな。

派遣の愚痴を書き殴らせるのも初心者スレに必要な隔離機能ですな。
665デフォルトの名無しさん:2005/06/04(土) 04:09:50
タイガーマスクのエンディングの歌をふと思い出した。
666デフォルトの名無しさん:2005/06/04(土) 04:10:09
>>660-
ここまで自作自演に必死になるお前の異常さに乾杯
667デフォルトの名無しさん:2005/06/04(土) 04:23:28
(・∀・)ニヤニヤ
668デフォルトの名無しさん:2005/06/04(土) 08:48:46
>>648
>大学院に行ってもYahooやgoo以外の検索エンジンは
>知らずGoogleを全く使ったことがないバカ
が気になった。
わいてるんではないだろうか?
669デフォルトの名無しさん:2005/06/04(土) 11:36:39
結局>>625はつりだったか
質問して20分立たないで撤退とは
どの掲示板でもさすがに無理
670デフォルトの名無しさん:2005/06/04(土) 11:59:08
マルチスマソ・・&・お聞きします。

たとえば、aという数列関数があったとして、
そのaの保持できる桁数をより増やしたいのですが、
どういうふうに記述したらいいでしょうか・・・

var a : Real ;

ではできないのでが・・・
よろしくおねがいします。
671デフォルトの名無しさん:2005/06/04(土) 13:28:26
>>670
氏ね
672デフォルトの名無しさん:2005/06/04(土) 13:37:11
>>670
Die!
673デフォルトの名無しさん:2005/06/04(土) 13:40:59
>>668
そんなバカが大繁殖しているのが悲しい。
しかもYahooは内部でGoogleを使っているから
Googleは要らないとまで主張するバカもいる。
そんな奴が情報系でしかも教授の息子ってんだから
聞いているだけでムカツきます。

今のYahooはGoogle使ってないだろと
674デフォルトの名無しさん:2005/06/04(土) 13:43:14
「教えて君」のほうが仕事上優秀な人が多い。
http://pc8.2ch.net/test/read.cgi/prog/1114814104/

このスレの>1を曲解したヴァカが大繁殖していそうな予感だな。
すぐに答えられることだけ聞けやと。
解らないことがあったらすぐに聞くといっても即答できる
内容でないものを聞いてくるバカがいる。
甘え杉
675デフォルトの名無しさん:2005/06/04(土) 13:46:28
やっぱり来ました。
676デフォルトの名無しさん:2005/06/04(土) 13:47:43
やっぱり来ました
677デフォルトの名無しさん:2005/06/04(土) 13:47:57
厨氏ね
678デフォルトの名無しさん:2005/06/04(土) 13:49:16























Fire
679デフォルトの名無しさん:2005/06/04(土) 14:02:02
すいません教えてください。
下のプログラムは1から入力した数までの合計を求めるプログラムなんですが
処理結果だけでなく途中経過まで出力されてしまいます。結果だけ出力するには
どうすればよいでしょうか。

import java.io.*;
public class ch2 {

public static void main(String[] args)throws IOException{

System.out.println("いくつまでの合計をもとめますか?");

BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

String str = br.readLine();
int x = Integer.parseInt(str);

int sum = 0;
for(int i=1; i<=x; i++){
sum += i; //

System.out.println("1から"+x+"までの合計は"+sum+"です");
}
}
}
680デフォルトの名無しさん:2005/06/04(土) 14:03:09

こんにちは。
SQLを20本10万件デタ−が入っているテーブルに発行するプログラムがあります。
そのプログラムを実行するとCPU使用率がかなり上がるので抑えたいと思っています。
現在SQLを一括で20本生成して一括実行、一括クローズしているのですが、
1本づつ生成、実行、クローズ、SQLのStringはnullで初期化をすればサーバーへの
負担は減るのでしょうか?
かなり微妙な話だと思うのですがご教授ください。
681680:2005/06/04(土) 14:03:56
↑デター → データです
すいません
682デフォルトの名無しさん:2005/06/04(土) 14:05:37
Google を使ったことあるのが自慢なのか?
なんか教授の息子にコンプレックス丸出しだな (w
683デフォルトの名無しさん:2005/06/04(土) 14:11:35
>>679
この行を for ループの外に出せばよいです。
> System.out.println("1から" + x + "までの合計は" + sum + "です");
684デフォルトの名無しさん:2005/06/04(土) 14:17:29
>>683
ありがとうございました!
初めての質問でとても緊張しましたが
丁寧におしえて貰えたのでよかった!
685デフォルトの名無しさん:2005/06/04(土) 14:23:35
>>681
デタ━━━(゚∀゚)━━━!!!!!
686デフォルトの名無しさん:2005/06/04(土) 14:26:04
>>682
残念ながらコンプレックス持たなくても
教授の息子は傲慢は奴が多いよ。
自分が偉いと思いこんでいて
親から教わったことはどんなに間違ったことでも
信じちゃう痛い香具師がいるんだってよ。
勘違いしている成り上がり零細企業の社長と同レベルな
香具師らだよ

687デフォルトの名無しさん:2005/06/04(土) 14:28:52
分かった分かった、お前はコンプレックスも偏見も持ってない。












(´,_ゝ`)プッ
688デフォルトの名無しさん:2005/06/04(土) 14:30:51
まあ教授の息子は
おぼっちゃまタイプが多くてろくな奴がいないのは
事実だな
689デフォルトの名無しさん:2005/06/04(土) 14:31:48
実は>>687は教授の息子で
それで変人扱いされていることにコンプレックスを感じているようですプ
690デフォルトの名無しさん:2005/06/04(土) 14:33:07
教授の息子は社会経験に乏しく
外の世界しゃ社会人の常識を知らないまま
親の後を継いでいく香具師が多いから
まさに彼にとっては知らぬが仏な世界が多いこと多いことw
691デフォルトの名無しさん:2005/06/04(土) 14:35:56
>>680
ええーと
そのSQLとはなんのことやら
すでにテーブルにデータがあるが
クエリを実行するつまり発行することで
データを取り出すということだね。

まあそりゃどんなクエリ書く
かによるわな。

副問い合わせを使わない。
Joinを使わない。
ORを使わない。
といったテクニックを心がければ
クエリも大分早くなるもんよ
692680:2005/06/04(土) 14:36:10
ご教授お願いします
693デフォルトの名無しさん:2005/06/04(土) 14:36:19
何か キモイ 低学歴が張り付いてんのな
694デフォルトの名無しさん:2005/06/04(土) 14:36:58
>>693
じゃ、教授、たのんだぞ
695680:2005/06/04(土) 14:38:03
SQLの実行時間が長いとサーバーに負担がかかるものなのでしょうか?
696デフォルトの名無しさん:2005/06/04(土) 14:40:18
>>695
クエリや設定による。

それと、ちゃんとデータソースは使ってるよな。

とりあえずどういうクエリなのか貼り付けてみろ。
697デフォルトの名無しさん:2005/06/04(土) 14:40:22
あれてるところすいません。
windows XP上でSystem.nanoTime()の実際の時間精度を知りたい
のですが、何かよい方法はあるでしょうか?>計測アルゴリズム
とか。その方法とか。

現在、PCを用いてリアルタイム制御・計測(そんなに厳密なリアル
タイム性は求めてません)をしようとしています。

これまで使用していたDate().getTime()に比べると格段によくなっ
ていると思うのですが、ご助言いただければありがたいです。
ちなみにgetTime()のときは15msecくらいしかできませんでした・・


698680:2005/06/04(土) 14:41:53
すいません、そりゃそうですね。
SQLはごく簡単なものです。

>現在SQLを一括で20本生成して一括実行、一括クローズしているのですが、
>1本づつ生成、実行、クローズ、SQLのStringはnullで初期化をすれば
>サーバーへの負担は減るのでしょうか?

上の点を知りたいのですが
699デフォルトの名無しさん:2005/06/04(土) 14:42:38
>>697
nanoTime()のソースコードは見た?
700デフォルトの名無しさん:2005/06/04(土) 14:42:49
さっきからつたない日本語で age ながら質問と解答してるのは同一人物?
701デフォルトの名無しさん:2005/06/04(土) 14:44:11
>>698
で、実行しているのは
SELECTなのかそれともINSERT,UPDATE
なのかどっち。

それかデータベースは何を使っているのか。

nullなんか使ったら逆に遅くなる
702デフォルトの名無しさん:2005/06/04(土) 14:44:45
教授の次男ですからw
703デフォルトの名無しさん:2005/06/04(土) 14:44:53
>>697
まだです。というか、そこまでのスキルはなくて・・・
精度がプラットフォームに依存するということだったので、
自分の環境でどのくらいの精度がでるのか実験で確認しよ
うとしているところでした。
704デフォルトの名無しさん:2005/06/04(土) 14:46:06
>>693が馬鹿な低学歴教授ですいません。
おかげで>>693の息子もバカになりまして。
>>693がバカになってしまったことについても
申し訳ありません。
705デフォルトの名無しさん:2005/06/04(土) 14:46:12
>>698
意味がよく分からん。20本の (Prepared)Statement を一括で生成し、実行、クローズしてるのを
一回ずつ生成、実行、クローズするという話か? それとも SQL の生成って文字列操作の話を
してるのか?
706デフォルトの名無しさん:2005/06/04(土) 14:47:27
つたないソースですが、現在はこれ(要約ですが)をループしてリアルタイム?で
回してます。

real_time_last = (double)System.nanoTime()/Math.pow(10, 9);//現在の時間の獲得

while(Math.abs(global_time -Math.abs(real_time -real_time_start)) <= delta_time*0.98){
//delta_timeはサンプル時間
real_time = (double)System.nanoTime()/Math.pow(10, 9);
}
707デフォルトの名無しさん:2005/06/04(土) 14:49:49

  低  学  歴

がよほど気に触ったらしいな (禿藁
いや隠さなくてもお前の文体や内容から滲み出てんだけどさ〜 ゲラ
708デフォルトの名無しさん:2005/06/04(土) 14:51:15
>>703
Eclipseを使えば
簡単にソースコードを見られると

エディタで
System.getNanoTime();
と入力して

.getNanoTime();の部分をマウスでダブルクリックして
F3キーを押してごらん
709680:2005/06/04(土) 14:52:27
>>705

>20本の (Prepared)Statement を一括で生成し、実行、クローズしてるのを
一回ずつ生成、実行、クローズするという話か?

そうです。
瞬間的にCPUがあがってしまうのを抑えるにはどちらが良いのでしょうか?
簡単なselectしか発行しません
710デフォルトの名無しさん:2005/06/04(土) 14:53:44
>>707
そういうレスを返すおまえさんのほうが
よほど気に障っているように見えるがw
粘着なところが特にw
711デフォルトの名無しさん:2005/06/04(土) 14:55:53
>>706


Math.pow(10.9)とか
delta_time * 0.98
なんてループの中で毎回
計算するよりループを実行する前に
あらかじめ計算を済ませてしまいたい
ところだが。

それともその冗長なコードは
ベンチマークのために
わざとそうしているのか?
712デフォルトの名無しさん:2005/06/04(土) 14:58:15
>>709
大して変わらん。SQL 発行の間に適当な sleep でも置くか CPU 増設しろ。
負荷は使用率の時間積分だ、実行時間が長くなれば負荷は変わらないが使用率は落ちる。
むしろ SQL 自体をチューニングするか DB のチューニングパラメータを変えろ。
713デフォルトの名無しさん:2005/06/04(土) 14:59:04
>>709
簡単なselectというけど
select * fromとするより
seleclt カラム名1,カラム名2 from
としたほうが早くなることを知っておるな?

一回ずつclose()するのは
効率が悪い。
ConnectionやPreparedStatementオブジェクトを
何度か再利用してみるといい。

データベースにはちゃんとインデックスをつけているか?
714680:2005/06/04(土) 15:00:50
>>712
少し気にしすぎていたようです。
SQL文見直してみます。ありがとうございました。
715デフォルトの名無しさん:2005/06/04(土) 15:02:00
>>710
そろそろ夕刊配達の時間だろ、こんなところで何やってんの? w
716デフォルトの名無しさん:2005/06/04(土) 15:03:56
Dateクラスのコード
 public long getTime() {

  return getTimeImpl();

 }



 private final long getTimeImpl() {

  if (cdate != null) {

   normalize();

   BaseCalendar cal = getCalendarSystem(cdate);

   fastTime = cal.getTime(cdate);

  }

  return fastTime;

 }



Systemクラスのコード
public static native long nanoTime();


これを見るとnanoTime()のほうがはやそうに見えるな。
717デフォルトの名無しさん:2005/06/04(土) 15:04:50
>>715
お前さんはそろそろコンビニでバイトだろ、
こんなところで何やってんの?w
718デフォルトの名無しさん:2005/06/04(土) 15:05:18
>>714
フィードバックは無しか厨房
719デフォルトの名無しさん:2005/06/04(土) 15:05:57
>>714はgive & takeも知らずtakeしかしないウザイ奴
720デフォルトの名無しさん:2005/06/04(土) 15:06:39
お聞きします。

たとえば、aという数列関数があったとして、
そのaの保持できる桁数をより増やしたいのですが、
どういうふうに記述したらいいでしょうか・・・

var a : Real ;

ではできないのでが・・・
721デフォルトの名無しさん:2005/06/04(土) 15:07:24
バカ は sage げない法則
722デフォルトの名無しさん:2005/06/04(土) 15:08:01
>>720
その言語は Java と関係があんの?
723デフォルトの名無しさん:2005/06/04(土) 15:09:47
>>718-719
これから見直すって言ってんのに、結果をあせりすぎの早漏厨
724デフォルトの名無しさん:2005/06/04(土) 15:11:39
フィードバックとか言ってみたいお年頃
725デフォルトの名無しさん:2005/06/04(土) 15:19:27
フィードバック制御
726デフォルトの名無しさん:2005/06/04(土) 16:08:32
>>686
おまいが傲慢って言うな。
笑いすぎて腹が痛い。
727デフォルトの名無しさん:2005/06/04(土) 16:18:41
nanoTimeは制度いいよ
ただ、ミリ単位に比べてマシンパワーを食いやすいのと
現在時刻を表すものではないことに注意
728デフォルトの名無しさん:2005/06/04(土) 16:56:52
>>727
Linux だと両方とも gettimeofday使ってるみたいだから変わらんかも。
Windows だと currentTimeMillis は GetSystemTimeAsFileTime、
nanoTime は QueryPerformanceCounter、みたい?
729デフォルトの名無しさん:2005/06/04(土) 17:15:59
マルチタスク OS でナノ秒まで精度上げてどうすんのさ。
730デフォルトの名無しさん:2005/06/04(土) 17:25:16
>>729
一応ナノまでAPI的には扱えるという程度だからええじゃないか
ミリじゃ足りなくて100マイクロあたりはほしいとかはよくあること

Windowsの実装見る限り大丈夫だし、ミリ秒*1000000という実装でもいい

いままではどの環境でもつかえるように最大公約数的に貧弱だったけど
1.4あたりからは環境によって協力になるが、そうでない環境でも一応動くという
方向にかわってきてるからね

現実的な線でいいじゃないか
731デフォルトの名無しさん:2005/06/04(土) 17:28:48
>>721
質問スレで質問者がageているのを見てそう思っているのなら、

質問に答えてやれよ。
732デフォルトの名無しさん:2005/06/04(土) 17:48:00
>>731
質問者じゃないよ。ただのバカだよ。
733デフォルトの名無しさん:2005/06/04(土) 17:52:22
>>731
質問っつーかネタだと思ったのでは?
マルチポストだし。
734デフォルトの名無しさん:2005/06/04(土) 18:09:46
ここネタスレだしな
735697 :2005/06/04(土) 18:51:58
エロい皆さん、いろいろとありがとうございました。

仕様上5msecくらいのループで回れば十分だったのですが、
いろいろ試してみたところ、windowsでも2msecくらいまで
いけました。

getTime() とは比べものにならないくらいいいですね。
736デフォルトの名無しさん:2005/06/04(土) 19:51:43
>>735
new Date().getTime() と System.currentTimeMillis() は
オブジェクト生成コスト考えなければ、
呼んでるネイティブメソッドは同じだったと思われ。
737デフォルトの名無しさん:2005/06/04(土) 20:16:19
ん?
System.currentTimeMillis()

nanoTime()
ってのは一緒なのですか?
738デフォルトの名無しさん:2005/06/04(土) 20:24:06
>>737
定義は違う。詳しくはAPIリファレンス参照。
>>728 曰く、Linux では最終的には同じネイティブメソッドが呼ばれるらしい。
739デフォルトの名無しさん:2005/06/04(土) 21:10:42
DB接続してSQLを実行しようとする下記のプログラムを書いたとき

ArrayList objAry = new ArrayList();
Connection db = null;
PreparedStatement ps ;
ResultSet rs

try {
//SQLの取得
DBmethod dbm = new DBmethod();
dbm.open(); //データベースオープン
String sql = dbm.getSQL(); //SQLを取得
ps = db.prepareStatement(sql); // 他のファイルからSQLを取得してResultSetに格納
rs = objPs.executeQuery(); //実行
・……

これを実行するとNullPointerExceptionになってしまいます
SQLを個別に見たところ特にnullがある箇所はなかったですのですが…

String sql = dbm.getSQL()まではシステムアウトでログが表示されているので
問題はdb.prepareStatement(sql);と思われますが、どうしても原因わかりません

またdbm.close()というクローズ処理でもNullPointerExceptionになってしまいます

何がわるいのか、どうぞご教授ください
740デフォルトの名無しさん:2005/06/04(土) 21:14:56
ガッ
741デフォルトの名無しさん:2005/06/04(土) 21:15:53
db.prepareStatement(sql); のdbってNULLのままだよねこの場所では・・・
742デフォルトの名無しさん:2005/06/04(土) 21:15:57
提案1.スタックトレースを晒す。
提案2.デバッガで NullPointerException にフックをかけ、発生時の変数の値を覗く。
743デフォルトの名無しさん:2005/06/04(土) 21:17:26
DBmethod dbm = new DBmethod();
dbm.open(); //データベースオープン
String sql = dbm.getSQL(); //SQLを取得
何かいろんなことをDBmethodにやらせているようだけど気持ち悪くない?
744デフォルトの名無しさん:2005/06/04(土) 21:28:35
>>741
Connection db = null; //初期化
ps = db.prepareStatement(sql); // 他のファイルからSQLを取得してResultSetに格納

この間に何かする必要があるのでしょうか?

ちなみにこのサイトを参考にしています
ttp://www.atmarkit.co.jp/fjava/rensai3/struts03/struts03_2.html
745デフォルトの名無しさん:2005/06/04(土) 21:33:21
>744

> // データベースへの接続を確立
> Context ctx=new InitialContext();
> DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/Struts");
> db=ds.getConnection();

 このコードを削った理由を教えて欲しいのだが。
つーか、NullPointerExceptionってどういうときに発生する例外か分かってるか?
746デフォルトの名無しさん:2005/06/04(土) 21:42:20
>>745
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/Struts");
db=ds.getConnection();

これはみてなかったです
というかココって何をしてるのでしょうか?
他のサイトとか参考に見てみるとない方が多かったので…
747デフォルトの名無しさん:2005/06/04(土) 21:42:36
>>745
>つーか、NullPointerExceptionってどういうときに発生する例外か分かってるか?
多分わかってないんだろうね>>744の発言でそれがわかる

748デフォルトの名無しさん:2005/06/04(土) 21:44:56
>>746
ま、まだ知らないことが多すぎる・・・
JDBCでプログラミングした例題からはじめたほうがいいと思う
749デフォルトの名無しさん:2005/06/04(土) 22:01:48
ぬるぽの意味が理解できないならJDBC以前の話じゃないのか?
データソースをJNDIで取得するのはJDBCとは関係ないし

>>744
db = null した直後に、そのdbにprepareStatement()させようとしている。
しかしdbはnul、nullはオブジェクトでもなんでもない空白なので
prepareStatement() なんてメソッドを実行できるわけがない。
よってぬるぽ。

その削った部分は、dbにデータベースへの接続オブジェクトを格納している。
削ったら接続しないんだから動くはずが無い。
750デフォルトの名無しさん:2005/06/04(土) 22:11:54
>>749
その言い方だと絶対になければいけないって解釈になってしまうぞ
別になくても動かそうと思えば動かせなかったっけ?
ないソースなんかも結構あったような気がするが
751デフォルトの名無しさん:2005/06/04(土) 22:18:27
>750
おいおい。
ContextからDataSource取ってきて、というのはサーバサイドの文脈で出てくるのが普通だから
必ずそれがなきゃいかんてわけじゃないが
それにしたって、どこかでConnectionを取ってくるなりしなきゃJDBCが使えるわきゃないだろ。
(昔ながらのClass.forName()してからDriver.getConnection()とか)
752デフォルトの名無しさん:2005/06/04(土) 22:21:05
>>751
そうだった
753超初心者、:2005/06/04(土) 22:23:18
難しすぎる、誰かインベーダーゲームのプログラム教えて、
754デフォルトの名無しさん:2005/06/04(土) 22:25:02
>>753 そのまえにどこから教えればいいのか教えれ。
パソコンの電源ボタンの位置から教える必要はあるのか?
755デフォルトの名無しさん:2005/06/04(土) 22:25:41
断る。
756デフォルトの名無しさん:2005/06/04(土) 22:30:44
>>753
System.out.println("インベーダーゲーム");
System.out.println("GAME START");
Thread.sleep(5000);
System.out.println("GAME OVER");
757デフォルトの名無しさん:2005/06/04(土) 22:33:33
>>754
では、それから教えてくれ
俺のパソコンの電源の位置はどこなのか?

あと立ち上げるの意味も
758デフォルトの名無しさん:2005/06/04(土) 22:41:03
Robert→ロバート
McQueen→マックイーン
George→ジョージ
Mike→マイク
Mikenako→三毛猫

このような英語およびローマ字の
日本語変換プログラムの作り方を教えてください
プロが作っても相当時間かかるのでしょうか?
759デフォルトの名無しさん:2005/06/04(土) 22:45:00
>>758
辞書作れば?
760デフォルトの名無しさん:2005/06/04(土) 22:50:17
>>757
じゃあ、まず部屋の写真を公開しろ
761デフォルトの名無しさん:2005/06/04(土) 23:02:20
>>756
ワラタ
762デフォルトの名無しさん:2005/06/04(土) 23:04:28
>>757
> >>754
> では、それから教えてくれ
> 俺のパソコンの電源の位置はどこなのか?

それはお前の目の前にある。
キーボード上のPowerキーを叩け。
763デフォルトの名無しさん:2005/06/04(土) 23:05:46
>>756
'class' または 'interface' がありません。
ってでてきます。お願いします。
764デフォルトの名無しさん:2005/06/04(土) 23:05:49
戦争だーーーーーーーーーーーーーーー
765デフォルトの名無しさん:2005/06/04(土) 23:11:31
搭載メモリ容量が1GBのとき、最大ヒープメモリサイズを
-Xmx2048mとしても実行
できてしまうのはなぜ?

スワップファイルを使っているから?
766デフォルトの名無しさん:2005/06/04(土) 23:25:34
うん
767デフォルトの名無しさん:2005/06/04(土) 23:26:02
あとは、細かいところいじるのが好きな人が説教してくれる
768デフォルトの名無しさん:2005/06/04(土) 23:37:50
宣戦布告だ
769デフォルトの名無しさん:2005/06/04(土) 23:46:39
javaのAudioデータってAppletクラスのplay以外で鳴らす方法無いのですか?
javaでゲームを作ろうとしているものです。
バッファに音を溜め込んで鳴らすみたいな事は出来ないのですか?
770デフォルトの名無しさん:2005/06/04(土) 23:52:10
JavaSoundはもう5年前からありますが
771デフォルトの名無しさん:2005/06/04(土) 23:57:55
>>761
いやいや、これはボトムアップ手法なんですよ。
772デフォルトの名無しさん:2005/06/04(土) 23:59:14
>>769
> javaのAudioデータってAppletクラスのplay以外で鳴らす方法無いのですか?
まずこんな疑問が出てくることがおかしいことに気付くことが重要。
773デフォルトの名無しさん:2005/06/05(日) 01:56:25
こんな簡単なコードが動きません。スペース押しても反応せず。


public void keyTyped(KeyEvent e) {
  if(e.getKeyCode()==KeyEvent.VK_SPACE) {
    System.out.println("you pushed space.");
    key = "space";
  }
System.out.println(String.valueOf(e.getKeyChar()));←これは出てくる
}
774デフォルトの名無しさん:2005/06/05(日) 01:59:11
デバックするか頭使って解決しよう
public void keyTyped(KeyEvent e) {
System.out.println(e.getKeyCode());//←コレを入れてスペース押したとき何が表示されるか調べれば解決したモ同然(モがおかしくてすいませんバグです)  
if(e.getKeyCode()==KeyEvent.VK_SPACE) {
    System.out.println("you pushed space.");
    key = "space";
  }
System.out.println(String.valueOf(e.getKeyChar()));←これは出てくる
}
775デフォルトの名無しさん:2005/06/05(日) 02:06:48
>>774
返信ありがとうございます。
どのボタンを押しても0が表示されました。
どうしてでしょうか・・・
776デフォルトの名無しさん:2005/06/05(日) 02:11:50
>>775
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/event/KeyEvent.html
>キープレスおよびキーリリースイベントに対しては、getKeyCode メソッドがイベントの keyCode を返します。
>キータイプイベントに対しては、getKeyCode メソッドが常に VK_UNDEFINED を返します。

となっているけど。
777デフォルトの名無しさん:2005/06/05(日) 08:42:11
初めまして。
検索エンジンを使用しても理解できないので質問します。

Javaプログラミングで何ができるのでしょうか?

よろしくお願いします。
778デフォルトの名無しさん:2005/06/05(日) 09:23:20
>>777
それは哲学的な質問だな
779デフォルトの名無しさん:2005/06/05(日) 09:44:16
純粋なJAVAではできないこと:
1.ネイティヴなアプリケーション
780デフォルトの名無しさん:2005/06/05(日) 09:51:05
JNIも立派に純粋なJavaの一部だ
781デフォルトの名無しさん:2005/06/05(日) 10:12:28
すいません、ちょぃと教えてください。
DOS窓でコンパイルするときは何のエラーもでないのですが、
eclipseでコンパイルすると下記の行で怒られます。(なぜ?)
どうしたらよいのでしょうか?

freq = dObj.valueOf(itr.next().toString()); // double to doubleで怒られる

変数
Double dObj = new Double("123.0");
freqもダブル
782デフォルトの名無しさん:2005/06/05(日) 10:16:23
>>781
Double.valueOf() は double 型じゃなくて Double 型を返す。

freq = Double.valueOf(...).doubleValue();
または
freq = Double.parseDouble(...);

としろ。DOS 窓だとうまく行く件は知らん。JDK5.0 でも使ってるのか?
783デフォルトの名無しさん:2005/06/05(日) 10:27:09
>>782
special トンクス!!
ご指摘のとおり、JDK5.0使ってます。

double 型と Double 型があるなんて知りませんでした・・orz

784デフォルトの名無しさん:2005/06/05(日) 10:27:35
あ、あげてしまった・・・吊ってきます
785デフォルトの名無しさん:2005/06/05(日) 10:33:19
さ、さげてしまった・・・吊ってきます
786デフォルトの名無しさん:2005/06/05(日) 10:41:46
>>784-785
名前変えないと同一人物だと思われマスク
787デフォルトの名無しさん:2005/06/05(日) 10:51:42
それが2chの醍醐味だと思われマスク
788781でつが:2005/06/05(日) 11:02:50
リクエストがありましたので、とりあえず再登場!!
785は私ではありませんので、念のため

それにしても、double 型 と Double 型 の違いが分からんとです。 oqz

789781でつが:2005/06/05(日) 11:31:26
リクエストがありましたので、とりあえず再登場!!
784, 785は私ではありませんので、念のため

それにしても、doubleclick と tripleclick の違いが分からんとです。 oqz
790デフォルトの名無しさん:2005/06/05(日) 12:12:36
>>788
プリミティブ型って知ってる?

>>789
doubleclickは、左右のボタンを同時に押さえること
tripleclickは、ホイールの前後と右ボタンを同時に覚えること
791デフォルトの名無しさん:2005/06/05(日) 12:15:32
まぁオートボクシング対応使え
792781でつが:2005/06/05(日) 12:28:19
>>790
テラサンクス!!
ここはエロくていい人ばかりですね。

クラス関係のことかなと感じてたのですが、いい勉強になりました>プリミティブ型...φ(´∀` );
793デフォルトの名無しさん:2005/06/05(日) 12:38:39
初めまして。
検索エンジンを使用しても理解できないので質問します。

Javaプログラミングで何ができるのでしょうか?

よろしくお願いします。

さっき質問したのにイキナリ無視か?
ここは、初心者掲示板なのだろう?
クライアントのことを考えて答えをだすのがあんたらの役目だ!
794デフォルトの名無しさん:2005/06/05(日) 12:44:18
>>793
ここに行くことをお勧めする
http://pc8.2ch.net/test/read.cgi/prog/1095596578/l50
795デフォルトの名無しさん:2005/06/05(日) 12:44:47
態度悪すぎ。答えるわけないだろう。ヴォケ。
796デフォルトの名無しさん:2005/06/05(日) 13:32:58
appletとawtでX*Yの

1  2
1| ̄| ̄|
2| ̄| ̄|
3| ̄| ̄|
4| ̄| ̄|
5| ̄| ̄|
  ̄ ̄
こういう板を表示するとして
マスの中をクリックすると、( x, y )( x=1,2,3,4,5, y=1,2 )
という情報をシステムが読み込んでくれるように、したいのですが
どうやったらいですか?
797デフォルトの名無しさん:2005/06/05(日) 14:04:49
GridLayoutに並べたコンポーネントから通知すれば良いんだろうけど、
通知先のシステムって誰?
798デフォルトの名無しさん:2005/06/05(日) 15:13:24
一枚のキャンバスにマスを描くなら、onClickのときにマウス座標から逆算だな。
799デフォルトの名無しさん:2005/06/05(日) 15:55:23
初めまして。
検索エンジンを使用しても理解できないので質問します。

Javaプログラミングで何ができるのでしょうか?

よろしくお願いします。

おい、おまえら、答えてくださいよ。
煽るしか脳がないのですか?ププ
800デフォルトの名無しさん:2005/06/05(日) 15:56:35
>>798
多分そういうやりかた俺もやると思うけど
もう少し頭使ったらかっこいいやり方できそう
マスが2x5以外のときでも対応できるようにとか・・・
801デフォルトの名無しさん:2005/06/05(日) 15:56:46
何ができるのかわからないほど脳が機能してないんですね
802デフォルトの名無しさん:2005/06/05(日) 16:00:19
>>799
Webアプリケーション
モバイルアプリケーション
デスクトップGUIアプリケーション
CUIアプリケーションができる

カテゴリで言えば
テキスト
マルチメディア
グラフィック
通信
ができる
803デフォルトの名無しさん:2005/06/05(日) 17:04:48
漏れは***のリアルタイム制御しようとしてる・・・・
804デフォルトの名無しさん:2005/06/05(日) 17:12:11
木村***のリアルタイム制御ってある意味すごいね
805デフォルトの名無しさん:2005/06/05(日) 17:40:25
>>799
お前もう初めましてじゃないだろ
806デフォルトの名無しさん:2005/06/05(日) 18:17:55
>>802
UIのないサーバーやバッチ処理はできないという理解でよろしいですか?
カテゴリでいえば、学術演算などはできないという理解でよろしいですか?
807デフォルトの名無しさん:2005/06/05(日) 18:18:12
>>805
うっせー
808デフォルトの名無しさん:2005/06/05(日) 18:18:50
>>806
いや,それもできる
809デフォルトの名無しさん:2005/06/05(日) 18:39:34
木村カエラのリアルタイム制御はできますか?
810デフォルトの名無しさん:2005/06/05(日) 18:45:10
out("HeyYouListen!あなたの求める未来をSo必ずたどりつけるはず素敵な人生の始まり思ってるより良くなるから君のためにずっと歌ってあげるから\n");
811デフォルトの名無しさん:2005/06/05(日) 18:45:34
他の言語と比べてできない事を言ったほうが早いだろ。

・ハードウェアを直接制御できない
 → デバイスドライバを開発できない
  → OS を開発できない
  → 計測機器やロボット等の制御ができない

・OS 固有の情報や機能を使えない
 → OLE などが使えない
  → Java アプリの中に Excel シート埋め込むようなアプリはできない
 → ファイルシステムの低レベルな機能が使えない
  → デフラグや fdisk、AntiVirus のようなシステムツールが開発できない
 → メモリに乗ってるデータをぶっ壊せない
 → ゴミ箱を空っぽにできない、デスクトップのテーマを変えられない、etc.

JNI や外部コマンド、追加ライブラリ使えば何でもありだからそれは抜きでな。
あと標準機能であるか、Pure Java で作れるか、Pure Java で作るのが現実的か
ってのは全部別問題だからよろしこ。
812デフォルトの名無しさん:2005/06/05(日) 18:46:34
なに、乗っかっちゃってるんだか・・・
>>811のお守り お花マーガレッツ!
813デフォルトの名無しさん:2005/06/05(日) 18:47:26
>>811
ようするになにもできないということですね。
814デフォルトの名無しさん:2005/06/05(日) 18:47:36

setArrで配列argsの要素を初期化後、要素を不変にしたいのですが
どうすればよいのでしょうか?

class A{
  private final String args[]= {null,null};
  void setArr(String s){
    for (int i = 0; i < 2; i++){
      args[i] = s;
    }
  }
}

ttp://www-6.ibm.com/jp/developerworks/java/030117/j_j-jtp1029.html

上記「finalフィールドの制限」の//Immutableの方を参考にしてみたのですが
getStates()メソッドのreturn文でEclipseが文句を言いやがります。

"ListからString[]には変換できません"とな。
そりゃそうなんだろうけど、どうすりゃいいのでしょうか?
815デフォルトの名無しさん:2005/06/05(日) 18:47:45
「中畑さん、今日の811はどうなんですか?」
816デフォルトの名無しさん:2005/06/05(日) 18:48:15
ウルセー
817デフォルトの名無しさん:2005/06/05(日) 18:53:12
>>815
「右肩が開く悪いクセがでちゃってますねぇ〜」
818デフォルトの名無しさん:2005/06/05(日) 18:53:53
マジレスすれば、811はなかなか(・∀・)イイ
819デフォルトの名無しさん:2005/06/05(日) 19:00:26
ハードウェアを弄るような部分はインターフェイスだけJava側に
用意してより低位の実装を呼び出す。(JNI)

火星探査機を動かしてるJavaもこんなかんじなんだろうな。
820デフォルトの名無しさん:2005/06/05(日) 19:00:33
まじめな答えを茶化す風潮に警鐘を鳴らしておきたい
821デフォルトの名無しさん:2005/06/05(日) 19:02:13
>>814
言ってる意味は理解できませんが、
キャストすればいいっていう場合じゃありませんね。
822デフォルトの名無しさん:2005/06/05(日) 19:03:19
>>814
そのサンプルコード間違ってる。
823デフォルトの名無しさん:2005/06/05(日) 19:05:36
送信しちまった。

http://www-106.ibm.com/developerworks/java/library/j-jtp1029.html
原文↑見るとString[]ではなくListを返していることがわかる。

はっきり言っておくと、配列をfinalにするというのは、
その配列型変数が「他の配列への参照に出来ない」だけであって、
要素を変更することは禁止できない。
824デフォルトの名無しさん:2005/06/05(日) 19:08:00
>>814
配列型を immutable にすることはできないので、Collections.unmonifiableList() で
不変な List として持っとけ。多分そのコードは書きかけでこう書きたかったのだろうと妄想。

List immutableList = Collections.unmodifieableList(Arrays.asList(args));
825デフォルトの名無しさん:2005/06/05(日) 19:11:39
>>820がもっと若ければ見どころのある若者といえたのだが
826デフォルトの名無しさん:2005/06/05(日) 19:15:30
   |:::::::::::::::::::::::::::::::
   |" ̄ ゙゙̄`∩::::::::::::::::
   |,ノ   ヽ, ヽ:::::::::::::::::::::::::
   |●   ● i'゙ ゙゙゙̄`''、::::::::::::::::
   | (_●_)  ミノ   ヽ ヾつ::::::::::
   | ヽノ   ノ●   ● i::::::::::
   |{ヽ,__   ) ´ (_●_)`,ミ:::::::
   | ヽ   /   ヽノ ,ノ::::::・・。
827820:2005/06/05(日) 19:15:50
もう82のオッサンです。
828デフォルトの名無しさん:2005/06/05(日) 19:17:48
>>818
おまえなんだろ
829デフォルトの名無しさん:2005/06/05(日) 19:19:56
質問させていただきます。

Cだと数値を表示する時に
printf(" %4d \n", hoge);
のようにして、表示桁数を4桁に揃える事ができますが、javaでのやり方がわかりません。
教えて下さい。
830デフォルトの名無しさん:2005/06/05(日) 19:20:58
>>821-824
ありがとうございます。
不変なリストが作りたかったんですよ。
サンプルコードが間違っていたんですね。
助かりました。

831デフォルトの名無しさん:2005/06/05(日) 19:22:39
832デフォルトの名無しさん:2005/06/05(日) 19:23:06
同じだろ?5.0なら
833デフォルトの名無しさん:2005/06/05(日) 19:24:48
>>829
NumberFormat nf = new DecimalFormat("0000");
System.out.println(nf.format(10));
834デフォルトの名無しさん:2005/06/05(日) 19:53:50
>>831>>833
ありがとうございました。
で、10が
0010   じゃなくて
  10   のように表示する方法はないでしょうか?
835デフォルトの名無しさん:2005/06/05(日) 20:05:21
>>834
MessageFormat mf = new MessageFormat("{0,choice,0#  {0,number,0}|10# {0,number,0}|100# {0,number,0}|1000<{0,number,0}}");
System.out.println(mf.format(new Object[]{new Integer(10)}));

超ベタ。自分で作れ。
または JDK 5.0 使え。
836デフォルトの名無しさん:2005/06/05(日) 20:10:06
ありがとうございました。
837デフォルトの名無しさん:2005/06/05(日) 20:11:17
>>834
NumberFormat nf = new DecimalFormat("####");
System.out.println(nf.format(10));
838デフォルトの名無しさん:2005/06/05(日) 20:14:17
>>837
C:\Documents and Settings\torao>copy con a.java
import java.text.*;
public class a{
public static void main(String[] args){
System.out.println(new DecimalFormat("####").format(10));
}
}
^Z
1 個のファイルをコピーしました。

C:\Documents and Settings\torao>javac a.java

C:\Documents and Settings\torao>java a
10

C:\Documents and Settings\torao>
839デフォルトの名無しさん:2005/06/05(日) 21:08:23
>>838
もし、だけど、せっかくだから名前欄にtoraoって書けよ
840デフォルトの名無しさん:2005/06/05(日) 21:33:11
>>839
消すの面倒なだけなんでオカマ居なく
841デフォルトの名無しさん:2005/06/05(日) 22:19:59
おまいらいいヤツばかりだな。
842デフォルトの名無しさん:2005/06/06(月) 14:38:17
すいません、ちょっと教えてください>超エロい人
以下のプログラムをループさせていくと、(int)(dt*1000.0) が 1035 を
超えた次のループで、1039 --> 1044 --> 1049 --> ...
となってしまいます。double形式ではちゃんとインクリメント
されているのですが、キャストするとなぜこのようになるのか、
原因を教えていただければとても助かります。

double dt;
dt = dt +0.005;
843デフォルトの名無しさん:2005/06/06(月) 14:45:28
不動小数点数 誤差 とかで google で調べると良いよ。
対策としては、
dt += 5 と、整数で管理して、使うときに 1000.0 で割ること。
(本当に割ると遅いので、普通は 0.001 を掛ける)
844デフォルトの名無しさん:2005/06/06(月) 17:04:15
>>843
ありがとうございますた。
さっそくお勉強してみます。
845デフォルトの名無しさん:2005/06/06(月) 17:24:59
>>843
それが解決になるのかわからんけどな
ほしいのが誤差ありの浮動小数点なのか誤差のない数値なのか分からん以上はな
846デフォルトの名無しさん:2005/06/06(月) 17:25:06
初めて勉強をしています。
そもそも環境設定がいまいち分からないのですが、
DOSでjavacというのを実行しても、
「javacは内部コマンド、外部コマンド操作可能なプログラム、またパッチファイルとして認識されません。」と出てしまうのですが、
これは環境が問題なのでしょうか?
847デフォルトの名無しさん:2005/06/06(月) 17:35:24
848デフォルトの名無しさん:2005/06/06(月) 20:04:56
たまには質問してもいい?

今オセロ風のゲーム作ってて、
実行すると時々おかしな動きをするんだ。
黒と白がいつのまにか入れ替わっててたり、
コンピュータの番で打てるはずなのにパスしたり、
それも決まって58〜60手目(最後の3手以降)で
起きるんだワ。

こんなときってどういうデバッグ手法を使うのがいい?
環境はJDKとLinuxです。
849デフォルトの名無しさん:2005/06/06(月) 20:07:08
ステップ実行とかいろいろとあるけど、ゲームの場合そう簡単にはいかないが
Java以外でゲーム自体のデバッグ作業をしたことがあるかどうか

決まっておきるなら手を入れるのは簡単だとおもうんだけどね
850デフォルトの名無しさん:2005/06/06(月) 20:32:36
>>848
eclipseでデバッグしてみては
851デフォルトの名無しさん:2005/06/06(月) 20:59:03
サーブレットの初期段階なんですけど。jdk1.5.0_03でTomcat5.5.9です。
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;

public class Hello extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {

PrintWriter out = response.getWriter();
out.println("<html><head><title>Hello</head></title><body>");
out.println("Hello");
out.println("</body></html>");

}
}
をコンパイルしようとすると、
Hello.java:2:パッケージjavax.servlet.httpは存在しません。
Hello.java:3:パッケージjavax.servletは存在しません……
エラー6個
と出ますなんででしょうか?
852デフォルトの名無しさん:2005/06/06(月) 21:14:38
>>849>>850さんありがとうございます
が、自己解決しました
なんと、オセロと言うゲームは
>黒と白がいつのまにか入れ替わっててたり、
>コンピュータの番で打てるはずなのにパスしたり、 それも決まって58〜60手目(最後の3手以降)で 起きるんだワ。
って言うゲームなんだワ
853デフォルトの名無しさん:2005/06/06(月) 21:16:16
釣られ気分でロケンロール

「ノンストップノンストップザミュ〜ジ〜ック」

「ドン・ストップだよねクスクス」

「クスクスはイカ天」
854デフォルトの名無しさん:2005/06/06(月) 21:25:34
>>851
クラスパスはとおってまんのか?
855デフォルトの名無しさん:2005/06/06(月) 21:28:30
>>854
おまへん
856デフォルトの名無しさん:2005/06/06(月) 21:29:39
「クラスがみつからんわぁボケェ」言われましたわぁ
857デフォルトの名無しさん:2005/06/06(月) 21:29:43
>>852
>>コンピュータの番で打てるはずなのにパス

ルール違反なんだが。
858デフォルトの名無しさん:2005/06/06(月) 21:31:08
>>857
不可読みしすぎ 明らかに詐欺師だアイツは>>848
859デフォルトの名無しさん:2005/06/06(月) 21:31:53
「クラスがみつからんわぁボケェ
はよ持って来い」言われましたわぁ
860デフォルトの名無しさん:2005/06/06(月) 21:32:46
「おかんの財布からクラスぱくってこい」言われましたわぁ
861デフォルトの名無しさん:2005/06/06(月) 21:33:58
ウチの母に Effective STL の本を見られたのだが、表紙だけを見て

「何これ、ルービックキューブ?」

('A`)
862デフォルトの名無しさん:2005/06/06(月) 21:40:31
辛気臭いことぬかしとらんではよクラスパスとおしたらんかい。
863デフォルトの名無しさん:2005/06/06(月) 21:46:05
鼻の穴からクラスパス突っ込んで
奥歯虫歯です
864デフォルトの名無しさん:2005/06/06(月) 22:01:05
私の読んでいる本には、
  『オブジェクト = インスタンス』
と書いてあるのですが、
  『ArrayListから取り出すと、Objectインスタンスになっているので
   元のインスタンスにキャストして利用しなければいけません』
とも書いてあります。
  
『Objectインスタンス <> インスタンス』ってことなのでしょうか。
それとも本が間違っているのでしょうか。
865デフォルトの名無しさん:2005/06/06(月) 22:03:07
>864

一般的な用語としての「オブジェクト」 != java.lang.Object型

ということでつ
866デフォルトの名無しさん:2005/06/06(月) 22:03:42
俺はそんなの気にしたことナス!
867デフォルトの名無しさん:2005/06/06(月) 22:04:29
全部NNOT NULLでいいじゃん
868848:2005/06/06(月) 22:06:32
な、なんと、ごはん食べてる間にレスがあるだけでなく
悪者にされてた!!

>>849
BASICで神経衰弱なら作った時ありますが、当時のデバッグはバグそうなところまるごと削除して作りなおしてたや。
BASICのTRONがあればいいのかも。

>>850
インストールが面倒そうで嫌いです。IDEは重そうなので
なんとか、JDKだけで解決したい。

>>852
なんのいやがらせなんですか?

>>857
正解!

>>858
違うって言ってるでしょうに。

869デフォルトの名無しさん:2005/06/06(月) 22:17:10
870デフォルトの名無しさん:2005/06/06(月) 22:20:11
現在、私は45代後半で、自営業を営んでおります。
Javaの素晴らしさに感動してしまい、今更ながらJavaをやろうかと
決心いたしました。
その私が他人に質問するのも気が引けるのですが、どうしてもJavaと
いうものを理解したいべく、皆様のお力をお借りできればかと存じます
■↓質問内容↓■
検索エンジンを使用しても理解できないので質問します。
Javaは何に使われているのか、という質問なのですが、
例えば、Javaではゲームも作れますよね?
それと、3D?とかも。
それ以外で、Javaが「応用」されているものはありますか?

(Javaで出来る事をとにかく全て書いてもらいたいです)
何卒。何卒。どうか、ご教授よろしくおねがいします。

871デフォルトの名無しさん:2005/06/06(月) 22:20:50
>>870
いい加減失せろ
872848:2005/06/06(月) 22:22:22
>>869
ありがとう!
試してみるます
873デフォルトの名無しさん:2005/06/06(月) 22:24:39
>>870
上の方で既に解決している。
それで理解できないようなら、お前は無駄に年だけくったと甚だ遺憾ではありますが、sageすまれることでしょう
874デフォルトの名無しさん:2005/06/06(月) 22:26:56
市販のソフトでもいいのですが
VB.NETのように.の後に使える文がでてくるような機能を持ったエディタはないのでしょうか?
文法エラーでいちいち参考書を見たりするのはめんどくさいです・・・・・
875デフォルトの名無しさん:2005/06/06(月) 22:28:05
余生をJavaで楽しもうとしている私を何だと思うのですか?
それとも私が嘘をついているとでも?
876デフォルトの名無しさん:2005/06/06(月) 22:28:26
>>874
Eclipse → [CTRL]+[SPACE]
他は知らん
877デフォルトの名無しさん:2005/06/06(月) 22:32:30
>>875
全部って幅広すぎ。火星探査機スピリットから銀行の業務システムまでとしか答えられない。
多分手放しでの無責任な丸投げ具合がこのあと叩かれると思う。
↓開始
878デフォルトの名無しさん:2005/06/06(月) 22:34:27
>>875の余生終了
879デフォルトの名無しさん:2005/06/06(月) 22:34:58
45代後半でご教授、かよ。ご教示って言葉ぐらい使えないとな
880デフォルトの名無しさん:2005/06/06(月) 22:42:12
>>879
ん?用法として間違いはないと思うが。
881デフォルトの名無しさん:2005/06/06(月) 22:42:16
ニツァンネル で誤字を突っ込む気にはならんがマルチはいただけねぇな、おっさん。
882デフォルトの名無しさん:2005/06/06(月) 22:57:47
>>875よ、おまえはJavaの他には何かプログラム言語を知っているのか?
883デフォルトの名無しさん:2005/06/06(月) 23:01:05
>>879
>45代後半
はスルーなのか?
884デフォルトの名無しさん:2005/06/06(月) 23:01:48
>>879
辞書持ってないの?
885デフォルトの名無しさん:2005/06/06(月) 23:03:07
正しい言い方は「ご教示ください」だぞ
886デフォルトの名無しさん:2005/06/06(月) 23:07:00
887デフォルトの名無しさん:2005/06/06(月) 23:11:57
888デフォルトの名無しさん:2005/06/06(月) 23:15:39
つーか、利用目的がわからないのにJavaの何に感動したのかが不可思議でならない。
コード書いたことも無いのにオブジェクト指向の美しさを見出したのか?
開発経験皆無なのにwrite onceの利点が理解できたのか?
そもそもコンピュータの知識が皆無の人間が、ソフトを見てJavaだと理解できるのか?

我々は875が何故このような不可思議な状態に至ったのかという
疑問を解決するため、875の故郷である群馬県に向かった。
「まだ日本にこんなところがあったのか…」
思わず口に出てしまった言葉を(略
889デフォルトの名無しさん:2005/06/07(火) 00:20:31
「なんかすごそう」程度じゃねーかな。
たぶん、読んだ何かでVBをベタ褒めしてたらVBやろうとしてそう。
890デフォルトの名無しさん:2005/06/07(火) 00:34:08
日経○○のバックナンバーでも読んだとか

EJB, XML の頃はすごかったもんなぁ。
891デフォルトの名無しさん:2005/06/07(火) 01:15:13
そりゃあ、Javaができるんじゃないか?
892デフォルトの名無しさん:2005/06/07(火) 01:16:34
つーか「45代後半」ってすげー微妙な表現だな。
もう少しで46になるのか。

で、45にもなってそれぐらいの事を自力で調べられないようなら
プログラミング以前に「パソコンできます」レベルを何とかしたほうがいいと
強く。 何卒。何卒。 言ってみるテスト。
893デフォルトの名無しさん:2005/06/07(火) 01:21:11
こうして 45 歳は華々しく 2ch デヴュー を飾ったのだった。

                   /\        /\
                   /:::::::ヽ____/::::::::ヽ、
                  丿 ::.__  .:::::::::::::  __  ::::ヽ_
                 / /。 ヽ_ヽv /: /。ヽ  ::::::ヽ
 ~~~~|  | |   |Ο    ./ / ̄ ̄√___丶  ̄ ̄\  ::::|      ■■
  \/  /  |  ~~|~~ ━━| .:::::::::: / / tーーー|ヽ    ...::::: ::|━━━━▼▼
  /\丿  |丿/ | ヽ   .| .:::::.  ..: |    |ヽ        .::|.      ●●
                | :::    | |⊂ニヽ| |      .:::::| \
              / /| :    | |  |:::T::::| !      .::| \ \
             / / \:    ト--^^^^^┤      丿 \\\
894デフォルトの名無しさん:2005/06/07(火) 02:05:59
余生をjavaで楽しむような事はよせ
895デフォルトの名無しさん:2005/06/07(火) 02:42:58
ちなみに intel 版 MacOS 出すって今ライブで言ってます。
PPC/Intel 両用のファットバイナリで解決だそうです。
896851:2005/06/07(火) 10:21:19
クラスパスは
.;%JAVA_HOME%\jre\lib;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar;%CATALINA_HOME%\webapps\wl_jsp\WEB-INF\classes
です。
897デフォルトの名無しさん:2005/06/07(火) 10:50:58
はじめましておはようございます。
先週からjavaの勉強を始めまして、そろそろ新しい事に挑戦しようと
思い動物占いを作ってそれをネット上に載せれるようになるまで作ろうと
思ってるんですが、参考になるサイト等探してもみつかりません。
ここで聞くような事ではないかもしれませんが
なんかいい案あったら教えてください。
898デフォルトの名無しさん:2005/06/07(火) 11:28:46
>>897
ここには二度と来ない
899デフォルトの名無しさん:2005/06/07(火) 12:17:02
>>897
FlashかJavaScriptかRubyにすれば?
900デフォルトの名無しさん:2005/06/07(火) 12:59:38
>>897
901デフォルトの名無しさん:2005/06/07(火) 14:02:31
>>896
どんな環境でコンパイルしてんの?
902デフォルトの名無しさん:2005/06/07(火) 14:51:18
JavaプログラムをNTサービス化するツール JavaService はJDK環境が必要でしょうか?
それともJREで動作可能でしょうか?
http://javaservice.objectweb.org/js_doc_frame.html
903デフォルトの名無しさん:2005/06/07(火) 18:22:06
2つのクラスでとあるint型のデータを共有したい。片方のクラスが値いじっ
たらもう一方でも値が変るように。クラスにint型をぶら下げて2つのクラ
スにセットするんじゃあまりにも芸が無いように思うのですがどうしたらい
いでしょうか?
904デフォルトの名無しさん:2005/06/07(火) 19:24:00
>>903
共有する変数を管理するクラスを作って両方のクラスから参照させる。
905デフォルトの名無しさん:2005/06/07(火) 19:29:13
>902
まずはそのサイトを隅々まで読むことから始めよう。
Requirementsの項は読んだか?

>903
一方のクラスが他方のクラスを丸ごとメンバとして持つような構成にする。
2つのクラスではなく、1つのクラスに統合する。
2つのクラスをメンバとして持つクラスを作り、データはそこに入れておく。
データは一方が保持、もう一方のクラスはそのデータを見に行くようにする。
906903:2005/06/07(火) 19:31:09
>>904
やはりそうなるのですか。
わかりました。
907デフォルトの名無しさん:2005/06/07(火) 22:59:10
public class ParentClass {
    protected static String name = "parent";
    
    public static void sayName() {
        System.out.println(name);
    }
}

public class ChildClass extends ParentClass {
    static {
        name = "child";
    }
}

上記のクラスを
ChildClass.sayName()
って呼ぶとparentって表示されますが、
new ChildClass();
してからChildClass.sayName()するとchildに変わります。
サブクラスをインスタンス化しないでスーパークラスの
クラス変数を書き換える事は出来ないっすか?
908デフォルトの名無しさん:2005/06/07(火) 23:07:12
staticってわかってる?
インスタンスについてくるものじゃないんだよ?
909デフォルトの名無しさん:2005/06/08(水) 00:41:06
下記のAとBの書き方のようにメソッドをクラスの外出しした場合と
中に入れたままの状態では、なにか違ってくるものってあるのでしょうか?


A
class{
 ・・・・
メソッド@
メソッドA
}

B
class{
 ・・・・・
}
メソッド@
メソッドA
910デフォルトの名無しさん:2005/06/08(水) 00:47:01
java.lang.ArithmeticException
を0割り以外の算術例外で発生させる方法ってある?
いや単なる好奇心なんだけど
言われると0割り以外やりかたわからんのよね

javadocでは「0割り等」って記述してあるから
なんかあるとは思うんだけど
911デフォルトの名無しさん:2005/06/08(水) 00:49:12
>>907

そうか、静的フィールドは静的に定まるから、
コンパイラの時点で解消されているため、
クラスがロードされないのだね。

(あてずっぽうに)
インスタンスを生成する代わりに、
クラスオブジェクトを生成してみる。

Class.forName("ChildClass");
912デフォルトの名無しさん:2005/06/08(水) 00:51:04
>>909
何の言語でつか?

>>910
不正な実数演算は NaN になるケースが多いから (√-1 等)、単に
仕様上の将来的なマージンを設けているだけと思われ。気になるなら
ArithmeticException でソース検索 (native で throw してたら知らんが)。
913デフォルトの名無しさん:2005/06/08(水) 00:58:21
>>907
インスタンスを生成しなくてもクラスがロードされれば良いわけだから
ChildClass.class.getName() とでもやれば良い。>>911 のように
Class.forName() でも良い。

へぇそういう動きするんだ〜って感じだが、これにハマるような設計には
お会いしたくないなw
914デフォルトの名無しさん:2005/06/08(水) 01:24:16
>909
クラスの概念が根本的に分かっていない。
クラスとは何か、メソッドとは何かを分かっていれば、クラスの外にメソッドを書くなんて突拍子も無い発想は生まれない。
複数のクラスが1つのプログラム内に登場する辺りまで、お手元の教科書を読み進めてください。
915デフォルトの名無しさん:2005/06/08(水) 01:30:17
>クラスの外にメソッドを書くなんて突拍子も無い発想は生まれない

C++ 知ってる人間ならあれが突拍子も無いようには見えないだろう。
まさか知らないなんて人間は居ないよねぇw
916デフォルトの名無しさん:2005/06/08(水) 02:17:00
>>910
throw new ArithmeticException("お好きなときにどうぞ");
917デフォルトの名無しさん:2005/06/08(水) 02:20:53
http://yamarou.at.infoseek.co.jp/javanawake/022.html

やまろうって人がnioの方が遅いねぇと嘆いているのは
NIOの方でなぜか最後にbyteの配列に変換するためにコピーをしちゃってるからということでいいですか?
つまり、パフォーマンス向上のためにNIOでDirectByteBufferに読み込んだのなら
byte配列にコピーなんてアホなことしないでByteBufferのまま扱えよという考えであってるでしょうか?
918デフォルトの名無しさん:2005/06/08(水) 03:18:48
> BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
> for (int i = 0; i < fileSize; i++) {
> out.write(new byte[1]);
> }
> out.close();
数M のテストファイル作るだけでこんな糞コード。

> byte[] data = new byte[in.available()];
> int size = in.read(data);
もうアホかと。バカが真似したらどうすんだか。
(続く)

10MB でプロファイラにかけてみるとバイト配列へのコピー云々以前に FileChannel#read が遅い。
もっとも、一番のボトルネックは OutputStream#write(w
919デフォルトの名無しさん:2005/06/08(水) 03:19:34
うおぇ区切る位置間違えた orz

100.0% - 11010 ms - 0 inv. etc.ReadTime.printTime
  26.4% - 2905 ms - 9671387 inv. java.io.BufferedOutputStream.write
  1.0% - 107 ms - 1 inv. etc.ReadTime.readUsingNIO
    0.3% - 35 ms - 1 inv. java.nio.channels.FileChannel.read
    0.2% - 23 ms - 1 inv. java.nio.ByteBuffer.get
    0.2% - 17 ms - 1 inv. java.nio.ByteBuffer.allocateDirect
    0.1% - 13 ms - 1 inv. java.io.FileInputStream.getChannel
    0.0% - 0 ms - 1 inv. java.nio.channels.FileChannel.size
    0.0% - 0 ms - 1 inv. java.io.FileInputStream.<init>
    0.0% - 0 ms - 1 inv. java.nio.channels.FileChannel.close
    0.0% - 0 ms - 1 inv. java.nio.ByteBuffer.flip
  0.4% - 40 ms - 1 inv. etc.ReadTime.readUsingIO
    0.2% - 24 ms - 1 inv. java.io.BufferedInputStream.read
    0.0% - 0 ms - 1 inv. java.io.FileInputStream.<init>
    0.0% - 0 ms - 1 inv. java.io.PrintStream.println
    0.0% - 0 ms - 1 inv. java.io.BufferedInputStream.available
    0.0% - 0 ms - 1 inv. java.lang.StringBuffer.<init>
    0.0% - 0 ms - 1 inv. java.lang.StringBuffer.append(int)
    0.0% - 0 ms - 1 inv. java.io.BufferedInputStream.<init>
    0.0% - 0 ms - 1 inv. java.lang.StringBuffer.append(java.lang.String)
920デフォルトの名無しさん:2005/06/08(水) 03:35:44
>>917
まず、ioとnioを比較してもファイルioだとそれほど差は出ない。nioのほうがちょっとだけ速い。
ファイル間コピーとかだとtransfarで一気に転送できるからね。

で、そのプログラムなんかへんだ。

1 たしかにByteBufferはそのまま使えよと思う。

2 まあbyte[]をとるメソッドとかに渡す場合を考えるにしても、ファイルサイズと同じサイズのバッファを
しかもallocateDirect()するかよ。allocateDirectは確保に時間がかかるので、その時間が無視できるような
用途、つまり一度バッファを確保したらそのバッファで繰り返し読み続ける、とかのときに使うもんだ。

3 そんな用途だったらMemoryMappedFileがあるだろ。一発でファイルサイズ分のByteBuffer(とみな
せるもの)が作れるじゃん。1と組み合わせたら、なんとそれだけで処理終わりだぞ?

4 だいたい根本的に、ioもnioも、read()メソッドはバッファ分読み込むという保証をしてないぞ。
「読める分だけ読んで、読めたバイト数を返す」んだから。そもそもそのプログラム、ちゃんと
最後までファイルを読んでいるかどうかも怪しいんじゃないか? read()した結果0バイト読みました、
ということもあるぞ。

5 確保してるバッファサイズも違うから読んでる量も違うじゃん。ioの方は「in.available()」だから、
そのときBufferedInputStreamにたまってるサイズ分だけ。nioのほうは「channel.size()」でまさしく
ファイルサイズ。ずいぶん不公平な測定だなおいww
921デフォルトの名無しさん:2005/06/08(水) 03:53:15
System.out.println("size="+size);
この結果ちゃんとみたのかな?
なぜか旧IOのほうだけ書いてあるのも不思議だけど
922デフォルトの名無しさん:2005/06/08(水) 04:49:34
swing って java 1.2 以降でしか使えないと思ってるのですが,
ソースをコンパイルし直したりしたら 1.1 でも使えるクラスもあるんでしょうか?

はっきりそう示した情報が見つからないのですが,いろんな情報を見てると
それを前提としたように見える情報があるのですが。

もしそうなら,1.1 で使えるクラスと使えないクラスを区別するための情報は
あるのでしょうか。ソースを見るしかないのでしょうか。
923デフォルトの名無しさん:2005/06/08(水) 04:54:33
>>922
JDK 1.1 の頃、Swing は Servlet などと同様に追加の拡張ライブラリとして Sun から
ダウンロードできた。この頃のはまだ com.sun.swing とかいうパッケージを使ってたような
気がするが、まぁ適当に調べてみろ。

http://java.sun.com/products/jfc/download.html
924デフォルトの名無しさん:2005/06/08(水) 06:41:12
>>922
target 1.1 って JDK1.1用のVMが理解できるようにバイトコードを生成するって話じゃないの?いや、よくしらないんだけどさ。
925907:2005/06/08(水) 08:14:45
レスありがとうございます。
質問の仕方が悪かったです。ごめんなさい。
やりたいことは、staticメソッドの動きを呼び出し元クラス
によって変えたいのです。

テンプレートパターンみたいにメソッドをオーバーライド
したいのですが、staticメソッドはできませんので。
>>908
はい、分かっている上でなんとか出来ないものかと。。。
スタックトレース見ると、ChildClass.sayName()
って書いてもParentClassのsayNameが呼ばれてるし
やっぱり無理っすかね?
926デフォルトの名無しさん:2005/06/08(水) 08:41:34
>>925
わかってないやん
927デフォルトの名無しさん:2005/06/08(水) 08:48:13
テンプレートパターンっていいたい年頃なんだよ。わかってやれよ。
928デフォルトの名無しさん:2005/06/08(水) 09:10:01
AppletクラスのgetDocumentBase()のように、
自分自身のファイルのパスを取得したいのですが、Appletではない
通常のアプリケーション(JFrameなどを使用した)などの場合は
どのようにすればいいのでしょうか?
929907:2005/06/08(水) 09:29:08
うむー、実行時にオブジェクトをバインドするから
テンプレートパターンは成り立つと理解してますが
そこが間違ってますか?

staticにしている時点で実行時バインドはない事は理解している
ので、例えば
サブクラスから親クラスのメソッドをコールしているのを
調べて、リフレクションで無理やり挙動を変える
みたいな方法でも良いのです(この例は出来なかったけど)

staticメソッドsayNameをコールしたときに
ParentClass.sayName() はparent
ChildClass.sayName() はchild
と出力されれば、どういう仕組みであろうが構わないです。

>>927
テンプレートパターンってそんなにかっこいい言葉か
特別な言葉なんですか?
930デフォルトの名無しさん:2005/06/08(水) 09:42:12
>>928
getClass().getResource("")
あなたのニーズにはこれでいいのでは

>>929
それができたとしてどんな時に使うの?
931デフォルトの名無しさん:2005/06/08(水) 11:43:16
>>929
class ParentClass{
static void sayName(){ System.out.println("parent");}
}

class ChildClass{
static void sayName(){ System.out.println("child");}
}

もちろんお薦めするつもりはないが。そもそもなんの役に立つのかわからん。
932デフォルトの名無しさん:2005/06/08(水) 12:03:32
>>929
テンプレートパターンっていう言葉をさりげなく使うところがかっこいいですね。
933デフォルトの名無しさん:2005/06/08(水) 13:32:01
>>929 は金属バットを箸にしてごはんを食べる人
934デフォルトの名無しさん:2005/06/08(水) 14:26:41
http://jwww.ed.noda.tus.ac.jp/j-takeda/blob.html
の課題をお願いします。611にあるのですがこうではなく、
出力形式の例
Grid Size = (5, 5)
*.**.
.**..
.....
*..*.
*.***
blobcount(3, 2) = 5
blobcount(3, 2) = 5
blobcount(1, 4) = 2
blobcount(5, 1) = 0
blobcount(5, 5) = 4

maxblob is 5

このような出力結果になるように
お願いします。
935デフォルトの名無しさん:2005/06/08(水) 14:31:13
東京理科大生の宿題でつか? センセに通報しても良いでつか?
936デフォルトの名無しさん:2005/06/08(水) 14:32:22
>>934
マルチ
937デフォルトの名無しさん:2005/06/08(水) 19:04:55
>●授業のページ●(東京理科大学内のみ)
さすがにマルチするような奴はレベルが高いな。
938デフォルトの名無しさん:2005/06/08(水) 19:10:00
同じ大学orz

レベル低いのは分かってたけど中にはこんな奴も・・・。
同じ大学の人間として謝ります。
939デフォルトの名無しさん:2005/06/08(水) 19:49:03
質問です。
まったくわかりません。助けてさい

東京理科大学と東大理IIIって別物なの?
940デフォルトの名無しさん:2005/06/08(水) 19:51:39
>>938
件のページは学内からしか見れないようだ。コピペよろ
あ、宿題じゃなくて通報先ねw
941デフォルトの名無しさん:2005/06/08(水) 20:05:00
画像からのblobの抽出なんて洒落た課題が出されてるのに、
学生サンの方はこのレベルか・・・
942デフォルトの名無しさん:2005/06/08(水) 20:19:54
GUIのレイアウトについて使いこなせるようになりたいんですけど
どっかいいページ紹介してくださいm(_ _)m
特にGridBagLayoutは使い勝手がよさげですけど
使い方が分からないので,そこを優しく教えてくれるページがあると
マジで助かります
943デフォルトの名無しさん:2005/06/08(水) 20:22:36
いきなり NetBean 薦める奴が出ると思うけど、とりあえず手書きで
レイアウト組めるようになってからの方が良いよ。GUI エディタは
知ってる人が楽をするためのツールだから。
944デフォルトの名無しさん:2005/06/08(水) 20:29:31
ページ、というか、あのこっぱずかしい本はどうなんだろう。
漏れ? ……絵買いして積んでるorz
945922:2005/06/08(水) 23:06:14
>>923
おぉ、ありがとうございます。
http://java.sun.com/products/archive/jfc/1.1.1/index.html
から取ってこれました。

古いマシンを持ってて、コンピュータの知識がない人むけに、プラットフォームフリー、
インストールフリーのツールを作ろうとして、JDK 1.1 でアプレット作ってるところです。
使うクラスのソースを抜き出して手直ししてコンパイルして、作ったアプレットと
一緒にアーカイブすれば、Swing も使えそうですね。

>>924
ごめんなさい、言われてる主旨がよくわかりません。
946デフォルトの名無しさん:2005/06/08(水) 23:23:25
ぶっちゃけると1.1時代のSwingはバグ多いし重いし機能少ない
947デフォルトの名無しさん:2005/06/08(水) 23:31:31
swing自体、な。
948デフォルトの名無しさん:2005/06/08(水) 23:40:03
プラットフォームフリー、 インストールフリーってなんじゃらほい
IE内蔵のJavaVM?
949デフォルトの名無しさん:2005/06/08(水) 23:43:33
>>948
"Hello,world"のコード。
950907:2005/06/08(水) 23:43:47
>>930
public class Environment {
    
    private static Properties Property = null;
    
    public static String getStringVal(String key) {
        load();
        return Property.getProperty(key);
    }
    
    public static int getIntVal(String key, int def) {
        load();
        String val = Property.getProperty(key);
        return NumberUtils.stringToInt(val, def);
    }
    
951デフォルトの名無しさん:2005/06/08(水) 23:44:03
    private static void load() {
        if (Property == null) {
            Property = new Properties();
            try {       
                Property.load(Environment.class.getResourceAsStream("/hoge.property"));
            } catch (IOException ie) {
                //Logなりてけとーに
            }           
        }
    }
}

こんな感じに環境設定値を簡単に取れるクラスを作った場合に
"/hoge.property"の部分をサブクラスから書き換えられれば
再利用可能なプロパティ読み取りクラスが出来ると考えたんです。

getStringValに引数を1つ増やしてファイル名も与えるのも
利用する方はかったるいし(クラスにしちゃえばコード補完できるから)。

みなさんは環境設定ファイルのアクセスクラスはどんな感じに作ってるんでしょうか。
インスタンス化を必要とするクラス?
この程度のクラス、ソースコードレベルで再利用出来れば良いと言えば
それまでですが。プロジェクト変わるとパッケージ名変わってめんどーだなーとか
って思ってしまった訳です。
952907:2005/06/08(水) 23:46:05
ごめんなさい、あげちゃった。
953デフォルトの名無しさん:2005/06/08(水) 23:48:28
>>942
NetBeansのGUIエディタにGridBagLayoutエディタがついてて、それをいろいろいじくってるとわかりやすい。
どういうコードが吐かれるか確認しながら使うと、コードの勉強にもちゃんとなるしな。
GUIエディタは勉強のためのツールだから、積極的に使え。
知ってる人が楽するためのツールなら、知らない人にも楽ができる。
954デフォルトの名無しさん:2005/06/08(水) 23:54:09
>知ってる人が楽するためのツールなら、知らない人にも楽ができる。

楽はできてもミニはつかないな。
俺ならまず、エディタで作ることを薦めるね

ところで次スレまだ〜
955デフォルトの名無しさん:2005/06/08(水) 23:57:33
コードを目で見て理解したと思える優等生なお方はエンジニア向いてないんだけどな。
956デフォルトの名無しさん:2005/06/09(木) 00:01:25
自分自身のファイル名を取得するのはどうすればいいのでしょうか?

String filename = File.class.getName();
とか、
String filename = FileVew.class.getName();
とかをやってみたんですが取得できません・・・。
どのようにすれば自分自身のファイル名を取得できるのでしょうか?
よろしくお願いします。
957デフォルトの名無しさん:2005/06/09(木) 00:03:42
>>956
自分自身のファイルは取れません。単品のクラスファイルかもしれないし JAR で
まとめられてるかも知れないし、ネットワーク上の別のサーバにあるかもしれないし。
あえて言うなら this.getClass().getName()。
958デフォルトの名無しさん:2005/06/09(木) 00:08:14
>>954
動き確認してから、手打ちすりゃいい。
目で見て実感したほうが身について忘れやすい。
エディタだけでやる方が時間かかるわりに身につきにくいよ。
959デフォルトの名無しさん:2005/06/09(木) 00:08:47
×忘れやすい
○忘れにくい
960930:2005/06/09(木) 00:10:50
>>956
>>930
正しくは>>956なんだけど
961デフォルトの名無しさん:2005/06/09(木) 00:10:55
そうゆう俺流のススメは無意味で不毛な論議
962956:2005/06/09(木) 00:12:51
取れないんですか・・・。
規則に乗っ取ったファイル名をつけてそこから
プログラムが自分の役割を判断するものを作ろうとしたんですが
だめぽそうですね・・・。

ありがとうございました。
963デフォルトの名無しさん:2005/06/09(木) 00:15:17
>>962
Class.forName("クラス名).newInstance()
Beans.instantiate(クラスローダー, "Bean名");
964デフォルトの名無しさん:2005/06/09(木) 00:15:44
ちょっと早かったかもしれませんが、次スレ立ててみました。
こんな感じでどうでしょう?
【初心者歓迎】Java質問・相談スレッド65 Update 2
http://pc8.2ch.net/test/read.cgi/tech/1118243553/
965デフォルトの名無しさん:2005/06/09(木) 00:18:11
966デフォルトの名無しさん:2005/06/09(木) 00:30:16
967デフォルトの名無しさん:2005/06/09(木) 00:31:26
>>964
重複してるな。ちゃんと削除依頼しとけよ。
968922:2005/06/09(木) 06:52:37
>>946
そうか、じゃあやっぱり AWT オンリーでがんばった方がいいんでしょうかね。

>>948
>プラットフォームフリー、 インストールフリーってなんじゃらほい
>IE内蔵のJavaVM?

ワープロくらいしか使わない職場とか、パソコンが普及しだしたころにとりあえず
買っちゃった個人の家とかにある、ネット接続してないかも知れない、ヘタしたら
Win98 とかのマシンで、ファイルのコピーすら、ままならないような人に、
CD 渡して、何とか CD のドライブ名だけは見つけてもらって、"x:hoge.html"を
実行すれば動くようなもので、Mac でも動くようなもの、です。
あと、たぶん対象者は持ってないと思うけど Linux とかでも動くもの。
まぁ、ほとんどの場合は IE内蔵VM ということになるでしょう。
969デフォルトの名無しさん:2005/06/09(木) 07:01:19
>>968
JDK1.5で開発して、(アプレットじゃなくアプリケーションで)
JREごと配布するとか
970デフォルトの名無しさん:2005/06/09(木) 07:29:19
>>968
CDにLinux(knoppixとかberryのような1 cd Linux)を入れて、
それにJREを予め追加しといて、自動起動させるとかどうでしょうか?
そうすればCDにOSが含まれるので、x86でCDDがあればどんなPCでも
動くのではないでしょうか?
データの保存にはUSBメモリやスマートメディア等が使えます。
971デフォルトの名無しさん:2005/06/09(木) 08:03:33
立った順番から判断して次スレはこれ?

【初心者】Java質問・相談スレッド66【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1116690777/
972デフォルトの名無しさん:2005/06/09(木) 09:18:46
   ☆ チン
 
         ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
           ヽ ___\(\・∀・)<  >>950-951へのレスまだー?
              \_/⊂ ⊂_)_ \_______
            / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
         |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|
         |           .|/
973デフォルトの名無しさん:2005/06/09(木) 09:22:30
テンpラパターン使っとけ
974デフォルトの名無しさん:2005/06/09(木) 09:40:57
975デフォルトの名無しさん:2005/06/09(木) 12:35:08
>>971
こっち↓の方が進んでる

【初心者】Java質問・相談スレッド67【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1116750427/
976922:2005/06/09(木) 22:09:19
>>969
プラットフォーム毎にインストール手順が違うのも気になるし、そもそもインストール
作業が必要になると、それだけトラブルのリスクが増すと思うので避けたいと
思うのですが。

>>970
マックが、、、

自分は開発のプロではないので、自分の知ってる環境しかわかりませんし、
後々、自分以外の、自分よりコンピュータに詳しくない人間にサポートを
引き継ぐことになると思うので、ワープロだけとか、WWW とメールだけとかしか
知らないオッチャンなんかに渡しても、できるだけトラブルのリスクが少なくなる
ようにしたいのです。
977デフォルトの名無しさん:2005/06/10(金) 07:12:33
>>976
>後々、自分以外の、自分よりコンピュータに詳しくない人間にサポートを
>引き継ぐことになると思う

いろいろ言いたいことはあるけど、
作る必要ないんじゃないか?
978デフォルトの名無しさん:2005/06/10(金) 17:41:46
プログラミング関連の話とは関係なくて申し訳ありませんが質問させてください。

現在、メインのアプリとしてJava Runtime Environment上で動作する
翻訳支援ソフトを使っています。(Sun 謹製、OS は Win2k)

こいつは、翻訳メモリが蓄積されるに従ってどんどん動作が重くなっていきます。
そこで、できれば動作を高速化したいのですが、このようなアプリケーションには

デュアルCPUまたはデュアルコアが効果的である
のか
単純に高クロック(OfficeProductivityが高い)CPUの方が効果的である
のかを教えて頂きたいのです。

Java Runtime EnvironmentがどのようにCPU能力を占有するかが分かっていないので、
Athlon64 X2でマシンを組もうかどうか迷っています。

できればSunの方にこっそり教えて頂きたいのですが...
979デフォルトの名無しさん:2005/06/10(金) 17:48:37
>>978
どっちもハズレ。
正解はメモリを大量に積む。
Javaで何かしようと思ったら最低1G積む覚悟は必要。
理想は2G。
980デフォルトの名無しさん:2005/06/10(金) 19:10:56
>>979
アプリによるだろうが
そういうあほな考え方って以前合ったな・・・と

例の1つのマシンにTomcatメモリ半分にして乗せてGC時間安定させました

というのを思い出した

>>978
そのアプリを作ったやつしかどのように重くしたかがわからんよ
長時間稼動させると重くするというコードが入ってるかもしれんし
普通はネックとなる場所をつぶしてリリースするもんだがな

作ってない人だったらメモリ使用量をチェックして頻繁に殿堂入りするようなfullGCがはしりまくっているかの
確認くらいしかできんかも
981デフォルトの名無しさん:2005/06/10(金) 21:18:01
1に計測2に計測
ボトルネックがわからずに妄想を続けるのは時間の無駄です
982デフォルトの名無しさん:2005/06/11(土) 00:04:58
>972
雑感だが
> getStringValに引数を1つ増やしてファイル名も与えるのも
> 利用する方はかったるいし(クラスにしちゃえばコード補完できるから)。
ここイミフメ。どのみちどこかで手書きする必要がある文字列じゃないのかそれは。

そもそも何でそんなにstaticにこだわるのか、インスタンス化を嫌がるのかが分からん。
>プロジェクト変わるとパッケージ名変わってめんどーだなーとか
これがその理由だと言われてもさっぱり分からんままなのだが、
それくらいファイル先頭の一行変えれば済むことじゃないのか?
Environmentを利用するクラスも作り置きのを使いたいということなら若干面倒かもしれんが
それだってエディタで一括置換とかできそうなもんだし、最後の手段として自分個人のパッケージ
(jp.gr.java_conf.hogeでもnet.sf.hogeでも好きなの使えばよろし)に放り込んでしまえば
その問題は解決じゃないか?
983922:2005/06/11(土) 00:28:43
>>977
> 作る必要ないんじゃないか?

そういわれても。。。仕事なんで。
984デフォルトの名無しさん:2005/06/11(土) 02:13:39
>>922
Microsoft VM for Javaを当てにしているのなら、それは間違いだ。
今後サポートされない上に、今のWindowsXPには標準で付いてないから。
将来「何で動かないの?」っていうトラブルを抱えるはず。
985922:2005/06/11(土) 07:22:51
>>984
「当てにしている」 というよりも、 「でも動く」 ようにしようと思ったんですが。

JDK 1.1 で作っておけばどこでも動くと思ったんですが、そうじゃないんですか?
不勉強で、将来動かなくなる理由がわかりません。
986デフォルトの名無しさん:2005/06/11(土) 08:49:10
>>985
いや、だから、そのJRE1.1(またはその相当品)がない環境があったらどうするの?
動かないでしょ?
JRE入れるしかないでしょ?
そしたら、結局はインストールメディアにJREを添付した方がいいでしょ?
どうせ添付するなら 1.1にこだわる必然性はないでしょ?
987907:2005/06/11(土) 10:11:40
>>982
レスありがとうございます。
>> 利用する方はかったるいし(クラスにしちゃえばコード補完できるから)。 
>ここイミフメ。どのみちどこかで手書きする必要がある文字列じゃないのかそれは。 
getStringVal("hoge.property", "foo")って設定値を取得する度に
"hoge.property"を書かなければ成らないのが面倒という事が言いたかったのです。
hoge.propertyを読み込んでいる専用のクラスがあれば、そのクラス名を
書いてgetStringVal("foo")で取れると。

>そもそも何でそんなにstaticにこだわるのか、インスタンス化を嫌がるのかが分からん。
そうですね、個人的な感覚なので意見が分かれる所だと思います。
私の場合は、環境変数は取り出し方がシンプルであればシンプルであるほど
扱いやすいと考えるので、staticで実装しています。

>>プロジェクト変わるとパッケージ名変わってめんどーだなーとか 
>これがその理由だと言われてもさっぱり分からんままなのだが、 
>それくらいファイル先頭の一行変えれば済むことじゃないのか?
その通りです。やはりここに落ち着きますか
(ソースコードレベルでの再利用)
988デフォルトの名無しさん:2005/06/11(土) 11:36:09
すなおにsingletonつかえよ
989デフォルトの名無しさん:2005/06/11(土) 12:24:42
>>987
名前を変数ではなく、 String を返す static なメソッドとして実装して、
子クラスでオーバライド。

907なら

protected static String name = "parent";

ではなく、

protected static String getName() { return "parent"; }
990989:2005/06/11(土) 12:27:08
すみません。勘違いでした。忘れてください。
991922:2005/06/11(土) 13:08:16
>>986
「どこでも動く」は言い過ぎましたが,今のところ 1.1 対応の VM が乗ってない
マシンを使ってる人は多くなく,新しい WinXP 使ってる人は,アプレット動かそうと
するとほとんど勝手にインストールしてくれる(ネット経由か,OSプレインストール
マシンならローカルにインストール情報を持ってると思うんですが)と思ったんです。

将来,デフォルトではVM のない環境が多数派になっても,アプレット使ってる Web サイトは
多いので,そのころには一般的な「パソコンの使い方」 の情報として,アプレットを
動かす方法は一般に流れるか,初心者でも困らないように環境が整えられてる
かなとと思うんですが。
992デフォルトの名無しさん:2005/06/11(土) 13:26:40
>>987
こんなんでも、まだダメなんでしょうか

public class Environment {
private static Properties Property = new Properties();

public static void load(String name) {
try {
Property.load(Environment.class.getResourceAsStream(name));
} catch (IOException ie) {
//Logなりてけとーに
}
}

public static String getStringVal(String key) {
return Property.getProperty(key);
}

public static int getIntVal(String key, int def) {
String val = Property.getProperty(key);
return NumberUtils.stringToInt(val, def);
}
}
993デフォルトの名無しさん:2005/06/11(土) 13:48:24
>>991
原理主義は聞き流せば良い。
994デフォルトの名無しさん:2005/06/11(土) 13:57:12
>>991
そこまで激しく不確定な要素をあてにしたくないな。
ちなみにMSのJVMはバグが多く、SunのJVMで動いたものが
MS謹製では動かなかったり、妙な挙動を示したことがあるので
俺なら絶対にやらないと思うが。

まあ自分がやりたいようにやってくれ。
995907:2005/06/11(土) 14:04:52
>>992
レスありがとう御座います。

それだと、何がロードされているも分からず、ロードされている
事も保障されず、マルチスレッド環境では悲惨な事に
なると思いますが、いかがでしょうか。
996922:2005/06/11(土) 15:34:07
>>993
>>994
いろいろご意見ありがとうございます。

自分はプログラミングのプロではなく,自分の業界のお客さんが便利に
使えそうな,簡単なツールを作って配ろうとしているところです。
なので,開発の知識に乏しく,すごく不安があったのですが,否定意見は
あるにしろなんとか一つの方法として成り立ちそうなので,そういう意味では
少し安心しました。

   何よりも類似スレが乱立する中,何とか1000までに一応の結論を得てよかった。。。
997デフォルトの名無しさん:2005/06/11(土) 17:38:52
>>995
ああ、もうギブ
普通に

public class Env0 {
public static final Properties PROPS = PropertiesFactory.create("Hoge");
}

とかやって、フィールド PROPS 経由で操作
(PropertiesFactory みたいなのは、commons に行けば転がっているだろう)

おおよそ?Properies はスレッドセーフっぽいし、
static final にしとけば、参照も他のスレッドから(コンストラクタが終わった状態で)見れるはず。

Java 1.5 からは スタティックフィールドもインポートできるはずだったから、
これで許して。。
998デフォルトの名無しさん:2005/06/11(土) 18:42:25
>>995 (907)
つうかstaticにした段階で継承とオーバーライドを使える範疇外になる(そういう言語仕様)なんだから、

staticをつかって継承やオーバーライドやコンポジションやらの利点はあきらめる。つまり
テンプレートメソッドパターンもあきらめる。

しかねえじゃん。言語仕様にいちゃもんつけたところで現実が変わるわけでも無し。
だいたい、そこまで苦労して実現したとしても、ソース上で省略できることって

Environment env = new Environment(); <--- このインスタンス化の一行
String prop1 = env.getXXXXX()
String prop2 = env.getYYYYYY()

の最初の一行だけなんだろ? この一行でそんなに環境変数取得が面倒になるか?
逆にこっちにすれば、Javaのオブジェクト指向機能のすべてが使えるのに。
999デフォルトの名無しさん:2005/06/11(土) 19:14:43
999
1000デフォルトの名無しさん:2005/06/11(土) 19:14:55
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。