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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
さーじゃんじゃん質問しよう。
お前らとりあえずがんがってください
そして誰か教えてください。

関連スレ
初心者無視! Java相談室 その9
http://pc.2ch.net/test/read.cgi/tech/1021555964/
調べようとする優秀な奴は↑へどうぞ。

0002デフォルトの名無しさんNGNG
2
0003デフォルトの名無しさんNGNG
関連スレくらいリンク貼れや!!
0004デフォルトの名無しさんNGNG
だれかおしえろよヽ(`Д´)ノウワァァン


0005デフォルトの名無しさんNGNG
はじめてJavaを学ぶにあたって(過去にプログラム経験無し)
どの本を買うのが一番わかりやすい?
またわかりやすいサイトってないですか?
0006デフォルトの名無しさんNGNG
すんません。マジな質問です。
俺は少しいびつな勉強をさせられたせいか、文字ベースのJavaはだいたいわかってます。
がGUIはまったくできません。

最近、JDBCを文字ベースレベルで使えるようになりました。
さて、GUIをかぶせようとしたら、あんまりうまく動かないようなので、ショックを受けているのです。
俺自身まだGUIプログラムは書けないので、どこがどうと言えないのですが、サンプルを動かすと
妙にカクカクしているのです。スクロールするたびにチラチラ、チラチラ。
これは、サンプルが悪いのでしょうか?それとも、JavaのGUIってこんなものなのでしょうか?
0007デフォルトの名無しさんNGNG
SwingでDefault Focusを
当てるにはどうしたらよいのですか?
0008アマゾンリンク実験中NGNG
http://www.amazon.co.jp/exec/obidos/redirect?tag=omotinokanris-22&path=tg/browse/-/515820

アマゾンで、Javaのカテゴリーの中で、売れている順番でソートしてみました。
この中で、わかりやすそうなものを選べばいいと思います。
0009デフォルトの名無しさんNGNG
>>8
ありがとう!
8はなんていう本で勉強しました?
0010デフォルトの名無しさんNGNG
マジで質問なんですけど
プログラムを書こうとする時
どうゆう順で書いてるんですか?
まずクラスをいくつにするかとか変数をいつ宣言するかとか?

たとえば10このオブジェクトを作成して、それらを
配列に格納するアプリケーション(格納するオブジェクトはランダム)
だったら順番的に上から書いていけます?
DQNな質問すみません。
00118NGNG
私は、
Learn to Program with Java
http://www.amazon.co.jp/exec/obidos/ASIN/0072131896/omotinokanris-22

と

Java2 a beginner's guide
http://www.amazon.co.jp/exec/obidos/ASIN/0072127422/omotinokanris-22

という2冊で勉強中です。どちらも一長一短です。

本当は英語の本を紹介しようと思ったのですが、ここは日本語の掲示板なので、
>>8には日本語のカテゴリーからもってきたリンクを張りました。
0012デフォルトの名無しさんNGNG
>>11
なるほど、英語の本はむりっぽいですw。
いま独習Javaという本で勉強してるんですけど
書き方が難しい?のでインターフェイスとパッケージの
考え方で詰まってます。ちょっと本屋で見てみます
まじありがとうございました。
0013デフォルトの名無しさんNGNG
>>7
requestFocus()
0014デフォルトの名無しさんNGNG
JBuilderって分割表示はできないのでしょうか?

よくプログラムを書くときに、宣言部分などを上半分に表示しながら
下半分で入力などを行うのです。秀丸にはこの機能があるのですが、
JBuilder6には見当たりません。

また、ホイールマウスのホイールの回転で上下に移動できないのが
辛いです。

この問題を解決した人はおられませんか?
0015デフォルトの名無しさんNGNG
>>14
1.(分割表示)入力補完機能があるIDEで、分割が必要か?
 第一、一番上に宣言されているとも限らんが・・・
2.(マウス)JDK1.4にするか、それ用のプラグインをIBMから取ってくる。
0016デフォルトの名無しさんNGNG
>>7
一番最初にそのコンポーネントを追加。
0017デフォルトの名無しさんNGNG
>>6
文字ベースで勉強するのはいびつでも何でもないよ。
個人的にはすぐにGUIを教える本は信用してないし。
それよりも文法をきっちり勉強する方が大事。

で、GUIがちらちらするのは、マシンがのろいか、
ビデオカードがまずいか、コードの書き方がまずいか、
やっぱりJavaのGUIが腐ってるかのどれかです。
僕のアプリはそこそこ普通に使えるけど。
0018デフォルトの名無しさんNGNG
>>6
AWTじゃなくSwing使いなさい
AWTはチラチラする
0019デフォルトの名無しさんNGNG
こっちの1はエロくないな。
0020デフォルトの名無しさんNGNG
>>17-18 嘘教えるなよ。かわいそうに。
0021デフォルトの名無しさんNGNG
マジ質問なんだけど
パネルの上に3つのボタン、スクロールバーをつけて
ボタンを押せば対応した図形が出て
スクロールバーを変化させれば背景色が変る
アプレットを作ってみたんだけど、
スクロールバーを変化させると
図形が消えるんだけど図形を残したまま
背景色を変化させるには?
002218NGNG
>>20
あ?AWTがちらちらするのは事実だが?
もしかして、AWTのほうが動作軽いとか思ってる?
0023デフォルトの名無しさんNGNG
>>22
は? Swing を軽量コンポーネントとか言ってる人?
0024デフォルトの名無しさんNGNG
>スクロールバーを変化させると
コレの意味がわかんないんですが
「スクロールバーを動かすと」ってこと?
0025デフォルトの名無しさんNGNG
RGBImageFilter (だっけ?) 実装して repaint
002618NGNG
>>23
あのさぁー
AWTがちらつくっていうことしらないんですかぁ?
0027デフォルトの名無しさんNGNG
>>26
お前の作りがヘタレすぎ
0028デフォルトの名無しさんNGNG
>>24
そうです。

>>25
??やべーむじゅい
0029デフォルトの名無しさんNGNG
>>21

プログラム見ないとなんとも言えないが、
たぶん、背景色を書くときに、図形を消して(上書き)しまっているのでは?

図形を変えたときも、背景色を変えたときも、

・背景を描く。
・図形を書く。

の順番で描画するようになってる?
0030デフォルトの名無しさんNGNG
スクロールバー移動のイベント拾って setBackground, repaint のコンボ
003118NGNG
>>27
やっぱり、知らないじゃん
0032デフォルトの名無しさんNGNG
軽い軽くないとちらつきは関係ない。
double bufferで検索しろヘタレども。
0033デフォルトの名無しさんNGNG
ヘタレがチラつくスレはココですか?
0034デフォルトの名無しさんNGNG
>>29-30
sbいじった時もrepaint
すればいいのか。わかった気が汁。
もちっといじってみます。どうもです
003518NGNG
>>32
軽い軽くないとちらつきは関係あるとは
俺は一言も言ってないが?
わけわからんやつ(27,23,とその前)
に対して「おまえはどうせ、よくいる『AWTはSwingより軽い』と思っているやつか?」
の意味で言った
0036デフォルトの名無しさんNGNG
>>35
AWT使うと必ずちらつくわけじゃない。
ダブルバッファで検索しろヘタレ。
00377NGNG
>>13 >>16
ありがとうございます。
0038デフォルトの名無しさんNGNG
ダブルバッファリングも出来ん奴に軽い言われとる Swing って一体…
003918NGNG
>>36
はぁ?
TextAreaちらつくの知らないやつは引っ込んでろ
ダブルバッファでどうやってTextAreaのちらつき抑えるんだよ
もしかして、ちらつきを描画コンポのことだと思っているのだろうか?
0040デフォルトの名無しさんNGNG
>>39
別にちらつかないけど…
JDK1.1くらいを使ってるとか?
0041デフォルトの名無しさんNGNG
>>39
AWTはプラットフォームごとのコンポーネントを使うから
動作がプラットフォームごとに違うよ。

ちらつくってどのプラットフォームの話?Motif?
0042デフォルトの名無しさんNGNG
>>39
TextAreaちらついたことありませんが何か?
0043デフォルトの名無しさんNGNG
>>6がTextAreaのことだとなぜ思うんだろう。
004418NGNG
>>43
[スクロールするたびにチラチラ、チラチラ]
この部分読んだら、TextAreaだってわかるよ

0045デフォルトの名無しさんNGNG
確信した。>>39 の作りがヘタレ。
004618NGNG
確信した。>>45は経験不足。
0047デフォルトの名無しさんNGNG
>>44
ふーむ。ScrollPaneとかScrollBar+Panelという可能性はないんだろうか。
0048デフォルトの名無しさんNGNG
ま、結論としては>>18はネタと言うことで。

おい。もう初心者を惑わすようなネタはやめろよ >>18
0049デフォルトの名無しさんNGNG
まーまー和やかに逝きましょう。

そこで質問なんですけど。
インターフェイスっていうのは
メソッドを実装しないクラスってことでいーんでしょうか?

もし違ったら誰か解説お願いします。
0050デフォルトの名無しさんNGNG
setEnabled() ちゃんと使ってる? つかってねーんだろーな >>18
0051デフォルトの名無しさんNGNG
>>47
とりあえず>>6の言っている「サンプル」のソース
がどういうものか、わからないと・・・
0052デフォルトの名無しさんNGNG
>>49
そう「呼び出し規約」だけを定義したクラス (?)。
005347NGNG
>>51
そう。TextAreaと断言はできないよね。
0054デフォルトの名無しさんNGNG
>>50
setEnabled() ?
コレで何か変わるんですか?
マジです。煽りじゃないです。
0055デフォルトの名無しさんNGNG
18 はダブルバッファをぐぐってます。しばらくお待ちください。
0056デフォルトの名無しさんNGNG
ある程度C++を覚えたのでJAVAを始めようかと思っているのですが、
C++で使えてJAVAで使えないもの、逆にJAVAで使えてC++に無いものがあったら
教えて頂けませんか?
0057デフォルトの名無しさんNGNG
>>56
多すぎる。
0058デフォルトの名無しさんNGNG
>>49
abstractなクラスはどうなるんだろう・・・
0059デフォルトの名無しさんNGNG
>>56
具体的に聞いてくれ
これは出来ないんですか?とか
これは出来ますか?とか
0060デフォルトの名無しさんNGNG
インターフェースはクラスじゃねーよ。
0061デフォルトの名無しさんNGNG
>>49
インターフェイスってのは、クラスの型だけを定義した物と考えるべし。
型ってのは、外身と言い換えてもいいよ。

0062デフォルトの名無しさんNGNG
【C++ で使えて Java で使えないもの】
多重継承、inline 関数、プリプロセッサディレクティブ (マクロ)、
演算子オーバーロード、インラインアセンブリ、デストラクタ起動の
明示的なタイミング、テンプレート機能 (JDK1.5で対応?)、明示的な
ヒープの割り当てと開放

【Java で使えて C++ で使えないもの】(最近使ってないから間違ってるかも)
synchronized 構文、finally ブロック、クラス名からインスタンスの生成、
安全なダウンキャスト、オブジェクトシリアライゼイション、ラベル付き
ブロック抜け、notify/wait のシグナル

こんな感じ? ライブラリレベルになるとたくさんある。
ちなみに friend クラスや多重継承と同じことは inner クラス使えば
大抵出来る。
0063デフォルトの名無しさんNGNG
>>62
>明示的なヒープの割り当てと開放

使えないって言うとまるで欠点みたいに聞こえるが。

逆にC++で使えないものにGCが入ってないな。
0064デフォルトの名無しさんNGNG
祭りの予感ワショーイ
0065デフォルトの名無しさんNGNG
>>63
そうだな。思いついたままに書いたから。
0066デフォルトの名無しさんNGNG
C++に無いthread関係ってsynchronized, wait, notifyだけ?
そもそもC++に標準のthread機能ってあったっけ?
0067デフォルトの名無しさんNGNG
レスありがとうございます。
今、思いつくところでは
ポインタが無い代わりに参照みたいなものを使うのか?
テンプレートはあるのか?多重定義はあるのか?
メモリの割り当て、解放はどうするのか?
ストリング型はあるのか?
ってところです。
JAVAは知識もろくにないので、かなり馬鹿げた質問かもしれませんが
皆さん、よろしくお願いします。
0068デフォルトの名無しさんNGNG
>>66
ANSI C++ レベルの標準でスレッドという概念は無い。
POSIX とかあるけど、printf 等の標準関数はスレッドセーフでは
なかった (今のは知らん)。
0069初心者 ◆3UmwhFqY NGNG
>>61
なるほど。インターフェイスって
おかなくてもできるような気がするのは
漏れだけですか?別のクラスに
詰め込んじゃえば・・いってることDQNですか?
0070デフォルトの名無しさんNGNG
Javaでポインタを数値として演算することはできないし、
配列の型がポインタだったりもしないが、
Javaの参照はC++の「インスタンスへのポインタ」とほぼ
同じだと思って良い。
0071デフォルトの名無しさんNGNG
>>69
まぁ Java やってればいずれポリモーフィズムの概念を理解しなきゃ
いけない時がやってくる。そんときになんないとインターフェースの
存在価値なんて分からないかも。

# 類似で未実装部分をでっち上げる時にも使うが。
0072デフォルトの名無しさんNGNG
>>69
インターフェースはクラスより重要な概念だ。
ある程度大きなプログラムを設計したら、まずインターフェースが決まる。
クラスの内部表現はその後。

実装の継承は、最後にやる一種の最適化だと思ってよい。
あんまり重視しない方が良い。
0073デフォルトの名無しさんNGNG
>>69
利点その1:
大規模開発になると、クラスやメソッドの機能は決まっているけど、実装は
まだ出来ていない開発フェーズっていうのはあるのよ。そういうときに、
インターフェイスだけ定義しておいて実装を別の人に投げたりできるのよ。

利点その2:
ポリモルフィズムの基本概念です。こっちはOOPを勉強してくれ。
0074デフォルトの名無しさんNGNG
POSIX pthreadはC++じゃ使えないんじゃないかな…
だって、tryやthrowがどうなるか、どこにも定義ないでしょ。
処理系作成者も考慮してないと思う。
0075デフォルトの名無しさんNGNG
むしろ本読んだだけでインターフェースの利点を理解できるのは
よっぽどの C++ の経験者か、宗教関係者かのどっちか。
0076デフォルトの名無しさんNGNG
>>74
別に、使うだけならできるんじゃないの。
綺麗にラップしてあげないと管理が大変そうだけど。
0077初心者 ◆3UmwhFqY NGNG
>71-73
レスありがとうございます。
つまり初心者でも作れるようなプログラムなら
インタフェイスを使わなくても強引にできるけど
大きなプログラムになれば重要になってくるって
ことっすね。ゆっくり勉強していきます

ホンと勉強になるYO!
0078デフォルトの名無しさんNGNG
C++と一番違うのはライブラリだろ。
GUI, マルチメディア, セキュリティなどがJavaだと標準で入っている。
0079デフォルトの名無しさんNGNG
>>78
「Java」と言う言葉が
Java言語仕様、Java実行環境、APIライブラリ
の全てを指すのに対して、C++っていうのは
C++の言語仕様(とコンパイラ)だけだからねえ。
0080デフォルトの名無しさんNGNG
>>76
いやー難しいんじゃねえか?
例えば、STLってちゃんと同時アクセスをロックしてくれる?
スレッドの中でcatchしてない例外投げたら何が起る?
0081デフォルトの名無しさんNGNG
で正直
JavaとC++将来があるのはどっちよ?
0082デフォルトの名無しさんNGNG
>>79
で、ストリームは言語仕様?コンパイラ?
0083デフォルトの名無しさんNGNG
>>79
STLはANSI/ISO規格だぞ。
0084デフォルトの名無しさんNGNG
>>81
学校でどっち教えてるところが多いか見れば明らか。
授業でC++教えてるところは正直いってしらん。
0085 NGNG
【google 先生曰く】
授業 課題 Java ⇒ 5,720 件
授業 課題 C++ ⇒ 495 件
0086デフォルトの名無しさんNGNG
まあ学校で教えてるからってのは必ずしも将来に直結しないが、
現時点での需要としてはJavaということだろうね。
0087デフォルトの名無しさんNGNG
Java覚えとけば、とりあえず画面回りで困ることはないな。
0088デフォルトの名無しさんNGNG
画面のキャプチャーソフトJavaで書きたいんですが
どうすれば良いですか?
0089 NGNG
JNI しかない。
0090デフォルトの名無しさんNGNG
さっそく画面回りで困った(w
0091 NGNG
>>87-91 ジサクジエン (・∀・) デシタ!!
0092デフォルトの名無しさんNGNG
>>90
きみ、屁理屈ばっかりだね
0093デフォルトの名無しさんNGNG
画面回りで困ることは無いって事はなかろーが、少なくとも MFC や
Motif なんかに振り回される事は少なくなるな。
0094デフォルトの名無しさんNGNG
AWTのレイアウタは最悪でしょう。振り回され度No1。
0095デフォルトの名無しさんNGNG
>>92
やり込められて負け惜しんでる人ハケーン!
0096デフォルトの名無しさんNGNG
> レイアウタ
あんたどこの人?
0097デフォルトの名無しさんNGNG
俺的振り回され度
MFC >>>>>>>>>>>>>>>>>>>>>>>>>>> Motif >> AWT
0098デフォルトの名無しさんNGNG
>>94
そうか?コーディングでレイアウトを決定できるのは便利だと思うが。
へんな仕様のリソースファイル書かせられるよりまし。
0099デフォルトの名無しさんNGNG
>>98
今はGUIビルダでやるでしょ。
いずれにせよ、layoutManagerはマニュアルちょっと読めば使える。

VBみたいに、リサイズ全く考慮しない固定レイアウトしか知らないと
使いにくいと思うのかも。
0100デフォルトの名無しさんNGNG
>>88
http://amacre.site.ne.jp/Tuyano/Software/Capture.html
0101デフォルトの名無しさんNGNG
>>27 これはどういうことでしょうか?
コンストラクタの詳細
JPanel

public JPanel(LayoutManager layout,
boolean isDoubleBuffered)

指定されたレイアウトマネージャおよびバッファリング方式で新しい JPanel を作成します。

パラメータ:
layout - 使用する LayoutManagerisDoubleBuffered - boolean 値。true の場合、ダブルバッファリング方式で、追加メモリ空間を使用した高速でちらつきのない変更を行う
__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0102デフォルトの名無しさんNGNG
>>101
(゚д゚) ハァ?
AWT でダブルバッファも使えない ヘタレ の登場ですか。
0103デフォルトの名無しさんNGNG
>>101
恐ろしいまでの墓穴だな。
0104103NGNG
書きかけで送っちまった。
ダブルバッファリングのやり方くらい Java の入門書にも載ってるだろーが。
0105デフォルトの名無しさんNGNG
最近「【foo】○○スレ【bar】 」なスレタイ多いよね...
0106デフォルトの名無しさんNGNG
>>105
ニュー速のマネと思われ
0107デフォルトの名無しさんNGNG
最近聞きかじりの知識で書き込む痛い識者、多くね?
なんだろね。そろそろ VB ⇒ Java 移行組が知恵付け始めたのかな。
0108デフォルトの名無しさんNGNG
>>100
ハラショー!!
0109101NGNG
>>102-104
ソツレイスマスタ
「高速でちらつきのない」しか
読んだなかった
0110デフォルトの名無しさんNGNG
アプレットなんですけどお願いします。
classファイルと画像ファイルを同じディレクトリに入れたのに画像だけが表示されません。
ソースは<APPLET CODEBASE="/applet" CODE="xxx.class" WIDTH=200 HEIGHT=160></applet>です。
原因がさっぱりわからないのでどんな原因が考えられるか教えて下さい。
ちなみにローカルで実行すると画像も表示されます。
0111デフォルトの名無しさんNGNG
アプレットの灰色の部分は
色を変えることが出来ないのですか?
0112デフォルトの名無しさんNGNG
>>110
DOCUMENTBASEも同じディレクトリにしたら?
0113デフォルトの名無しさんNGNG
>>111
setBackground(color);
0114 NGNG
ジャバスクリプトについて質問です。
会社のLANにつながってる社内文書を見ようとネットスケープで開いたところ
リンク先がopen window〜とジャバスクリプトで書かれて?おり、
illegal URL method〜とエラーが出てしまいました。ネスケのバージョンは
4.05で同僚の4.7で見たところ見ることが出来ました。バージョンによって
見れないということがあるのでしょうか?わかりにくいですけどお願いします。
0115デフォルトの名無しさんNGNG
>111さん
やってみました。ダメみたいです。他に原因となりそうなもの
ありますか?
0116デフォルトの名無しさんNGNG
>>114
板違い。おまけに、JavaとJavaScriptは名前が似てるだけで別物。
0117114NGNG
よくスレ確認してませんでした。放置という事でお願いします。
0118デフォルトの名無しさんNGNG
117は放置プレイ好き
0119デフォルトの名無しさんNGNG
サーバサイドの開発でJNIを使う場面ってありますか?
0120デフォルトの名無しさんNGNG
>>119
やりたきゃやればよい。
普通に考えればJNIなんぞ使わなくても足りるだけのものはあると思うが。
0121デフォルトの名無しさんNGNG
>>120
NIS+使ってユーザ認証しなきゃならないんですが
JNI使わなくてもできますか?
0122デフォルトの名無しさんNGNG
javax.servlet.*以下の〜.classファイルを
逆コンパイルしたいんですけど、MOHCAを
使っても逆コンパイルできません。なにか良い
ツールはあるでしょうか?
0123デフォルトの名無しさんNGNG
>>121
RADIUSのクライアント用ライブラリとかあった気がする...
0124デフォルトの名無しさんNGNG
>>122
最近のclassファイルだと、JODEあたりじゃないの?
0125デフォルトの名無しさんNGNG

0126デフォルトの名無しさんNGNG
JAVAを始めたけど・・・・
まず、メソッドからわからん。
メソッドの呼び出し??

なにか、超初心者でもわかりやすい
サイトかなにかありますか?
0127デフォルトの名無しさんNGNG
>>126
好きなの選び〜や
http://www.google.com/search?num=100&hl=ja&safe=active&q=java+%93%FC%96%E5+%8A%EE%91b&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0128デフォルトの名無しさんNGNG
http://www.mars.dti.ne.jp/~torao/program/
0129デフォルトの名無しさんNGNG
ソース
import java.io.*;

public class AddSub {
public static void main(String[] args) {

double x=7.5;
double y=5.4;
double z;

z=x+y;
System.out.println("x+yは"+z+"です。");

z=x-y;
System.out.println("x-yは"+z+"です。");
}
}

実行結果
x+yは12.9です。
x-yは2.0999999999999996です。

x-yが2.0999999999999996になる理由と
x-yを2.1と表示する方法をおしえてください。

x-yが 2.0999999999999996になるのなら
x+yも12.9000000000000004になると思うのですが。
もしかして有効桁数17桁で18桁目の4が丸められてるのかな。
0130デフォルトの名無しさんNGNG
あちこちで同じこと聞くなヴォケ
0131デフォルトの名無しさんNGNG
>>130
あっちでスレ違いと言われたからです。
0132デフォルトの名無しさんNGNG
>>130
それってJAVA Fuck(www.hatena.org)にかいてなかったっけ?
0133デフォルトの名無しさんNGNG
>>131
根に持つなよ…
http://pc.2ch.net/test/read.cgi/tech/1021555964/96-113
みんなマジレスしてるじゃないか。
これ以上の答はどこで聞いても出てこないよ。
いったい何がわからんのかわからん。
0134デフォルトの名無しさんNGNG
>>129
もういっぺん説明を試みる。
> x+yは12.9です。
違う。「x+yを丸めた結果が12.9」だ。計算機の内部ではぴったり12.9じゃない。
> x-yは2.0999999999999996です。
>
> x-yが2.0999999999999996になる理由と
これを説明するのはもう秋田。
> x-yを2.1と表示する方法をおしえてください。
好きな桁で丸めるか、BigDecimalを使え。
> x-yが 2.0999999999999996になるのなら
> x+yも12.9000000000000004になると思うのですが。
> もしかして有効桁数17桁で18桁目の4が丸められてるのかな。
…まあ、そんなとこだ。10進17桁じゃなくて2進53桁だけどな。
0135デフォルトの名無しさんNGNG
Forte3.0CE使ってるですが、まちがえてCENTERに配置してあるjScrollPane1に
入れてしまったjPanel1を、NORTHに配置しなおす操作方法がわかりません。
教えてください。
0136デフォルトの名無しさんNGNG
消せばいいじゃん。
0137デフォルトの名無しさんNGNG
>>134
どうもありがとう御座います。
doubleがどのように数を扱っているかが
分かっていなかったから駄目だったんですね。

doubleのヘルプ
BigDecimalのヘルプ
頑張って読みます。

かなり数値演算の真理に近づいた気がする。

>>132
ナイスなページをありがとう!


0138デフォルトの名無しさんNGNG
今日、スレッドの勉強を始めました。
API仕様見てるのですが、
Timer クラスにおける例外、
IllegalStateException
というのを発生させてみたいのですが、どうやればいいのでしょうか。
タスクがすでにスケジュールされたか取り消された場合、またはタイマー が取り消された場合に発生すると書かれてあるのですが、
「タスクがすでにスケジュールされたか取り消された場合」、「タイマー が取り消された場合」
の両方の意味が分かりません。
再現の方法など教えていただきたいのですが。
よろしくお願いします。
0139135NGNG
>>136
コンポーネントを置いてしまってて、めんどくさい場合はどうしましょ?

そもそも、CENTERにJScrollPaneを置いた後でSOUTHとかNORTHとかにコンポーネント
配置する方法ってある?
0140138NGNG
改行失敗しますた。
すんません
0141138NGNG
ここで言う Timer クラスは、 java.util.Timer です。
たしか、他のパッケージにも同じ名前のがあったと書いてあったので、
念のため。
0142デフォルトの名無しさんNGNG
1.4から導尿されたPreference APIって実は使いにくくない?
0143デフォルトの名無しさんNGNG
携帯電話に保存した画像をPCにつないだ
ケーブルを使って保存し直すプログラムを
J-PHONEのJavaアプリで作りたいんですが
できるんでしょうか?板違い??
0144デフォルトの名無しさんNGNG
ウインドウズVSサンマイクロシステムズの係争の結果、XPから
Javaをサポートしなくなったって本当?
これからの主流は、C#ですか?
Javaはじめたばかりなんですが。。。。いまさらやってもなのかな〜(泣
マジレスおねがいします。
0145デフォルトの名無しさんNGNG
>>144
自社の独自拡張VMを搭載しなくなっただけでしょ?
VBとかだってランタイム必要なんだからそれと同じ感じで
使う人に落としてもらえばいいわけで。
使いたい人は使う、関係ない人はさっぱり知らない。
今までと対して変わらないような・・・
0146デフォルトの名無しさんNGNG
アプレットで書いた図形をプリントアウトしたいのですが
やり方がわかりません。とりあえずスクリーンショットで
ごまかしてます。ブラウザの印刷機能だと真っ黒で・・・
正しい方法をどうか教えてくださいよろしくお願いします。
0147デフォルトの名無しさんNGNG
>144さっそくありがとう。かわらないんだね・・
0148デフォルトの名無しさんNGNG
質問いいですか?
入力した英文字の大文字は小文字に、小文字は大文字に変換して
表示しようとしているのですがわからなくて詰まっています。
toLowerCase,toUpperCaseを使うとすべて小文字、大文字に
なってしまっています。うまい方法があれば教えて下さい。よろしく
お願いします。
0149デフォルトの名無しさんNGNG
初心者です。お願いします。
最近、「Java言語規定」というページを見つけて喜んでいたのですが、
このページは古いというようなことを言われました。1997年だし。
まあ、文法そのものはそんなに古くないと思うのですが、言葉遣いが
気になります。プリミティブ型なんて、周りで言ってる人いないし。
Sunの英語の標準訳のページってないでしょうか?
たとえば、inner classは、内部クラスというのがよいか
インナークラスがよいか、などです。
0150デフォルトの名無しさんNGNG
プリミティブのインナーも内部も言う。
0151デフォルトの名無しさんNGNG
プリミティブの
プリミティブも
0152デフォルトの名無しさんNGNG
"プログラミング言語Java" ピアソンエデゥケーション
の中の練習問題の模範解答ってどこかにありませんか?
0153デフォルトの名無しさんNGNG
>>148
一文字ずつ変えてくしかないんじゃ?

if( Character.isUpperCase( c ) )
 c = Character.toLowerCase( c );
else if( Character.isLowerCase( c ) )
 c = Character.toUpperCase( c );
0154デフォルトの名無しさんNGNG
>>149
標準訳って何?欲しけりゃ自分で訳せ。
内部クラスでもインナークラスでも
どっちでもいーと思うけど。
0155デフォルトの名無しさんNGNG
>>152
ピアソンエデゥケーションに直接聞いてください。
本に電話番号とか書いてあるでしょ?
0156デフォルトの名無しさんNGNG
>>155
そうですか。
その前にここで聞いていいですか?電話代掛かるし。
結構売れてる本のようなので、ここにも読んだことがある人が結構いると思いますので。
第3版なんですが、P102の3.11、
SortDoubleのセキュリティーホールをみつけなさい。
って問題の答えわかる人いませんかね?
0157デフォルトの名無しさんNGNG
>>153
ありがとうございます。
なんとなく先が見えてきました。

0158149NGNG
>>154
>標準訳って何?欲しけりゃ自分で訳せ。
ごもっとも。でも、資格試験とか受けたいしぃ。
0159デフォルトの名無しさんNGNG
>>158
SunのJava資格試験は答案用紙を使わない。
チェックボックスとラジオボタンの選択問題だから
気にしなくてヨシ
0160デフォルトの名無しさんNGNG
AIX で使える Java のプロファイラ (JVMPI 使う奴ね) って無いすか?
WebSphere を調べたいんだがリソースアナライザじゃ貧弱すぎて…
0161デフォルトの名無しさんNGNG
少し前に話題になってたけど、Javaの負の整数は
2の補数表現でよいのでしょうか。
0162デフォルトの名無しさんNGNG
以下のプログラムでボタンがふえませぬ
リサイズすると増えまする
なぜかわかる人いますか
再描画関係でしょうか?

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

/* <applet code="Test.class" width="300"height="300">
</applet>
*/

public class Test extends Applet implements ActionListener{
boolean bool = true;
public void init() {
Button but = (Button)add(new Button("2ch"));
but.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (bool) {
setBackground(Color.green);
this.bool = false;
}
else {
setBackground(Color.blue);
this.bool = true;
}
add( new Button("java"));
}
}
0163aNGNG
あの質問させていただいてもよろしいでしょうか?
ポートスキャンってなにでしょうか?
2CHで個人情報の特定とかできるんでしょうか?
0164デフォルトの名無しさんNGNG
>>163
板違いの上スレ違いだが、あんたのPCに鍵の掛かってないドアが
あるか一つ一つ調べること。意図的に開けとく事もあるけど、鍵かけ
忘れたドアから入って個人情報をいただく、という事はあるかも
知れん。ポートスキャンだけじゃ個人情報は取れん。
0165aNGNG
>164
ありがとうございます
こう言った質問はどこですれば良いんでしょうか?
0166デフォルトの名無しさんNGNG
初級ネット (ハックラ) 板イケ
0167デフォルトの名無しさんNGNG
初心者無視スレで無視されたので、初心者の質問内容だったと
悔い改め、こちらに質問させてもらいます(w

JavaWebStart 1.0.1_02を使ってます。Webページからシーム
レスに起動できるJavaアプリケーションの提供を考えてまして。
実際にテスト署名を使って動作も確認しました。

ところで、jarファイルに対する署名って、どこの公的機関から
何のタイプの署名を発行して貰えばよいんですか?日本ベリサ
インではIE用のAuthenticode対応Digital ID、Netscape用の
Object Signing対応Digital IDしか扱っていないようで。なん
となくこれらの署名は違うなと。

米国ベリサインでは、Sun Java Signing Digital IDってのが
あって、これじゃないかと思うんだけど、実際に署名を取得
したよ、知ってるよ、って人いたら、そこらへんの事情を教
えてください。

よろしくおながいします。
0168デフォルトの名無しさんNGNG
VeriSignでいいんじゃねーの?
http://java.sun.com/products/jdk/1.4/docs/tooldocs/solaris/keytool.html
0169デフォルトの名無しさんNGNG
/*
 <html>
  <applet code="Test.class" width="300" height="300"></applet>
 </html>
*/

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

public class Test extends Applet implements ActionListener {
    boolean bool = true;
    public void init() {
        Button but = (Button)add(new Button("2ch"));
        but.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e) {
        if (bool) {
            setBackground(Color.green);
            this.bool = false;
        }
        else {
            setBackground(Color.blue);
            this.bool = true;
        }
        add( new Button("java"));
        validate(); // hehehe
    }
}
0170162NGNG
>>169
レスありがとうございました
できました
0171デフォルトの名無しさんNGNG
>>124
> 最近のclassファイルだと、JODEあたりじゃないの?
JODE と JAD ってどっちのほうが評判いいんでしょう.
0172デフォルトの名無しさんNGNG
1.5から導入されるGeneric機能ってどうなんでしょうか・
C++のtempleteみたいなもんですか>
0173デフォルトの名無しさんNGNG
vector<Integer> a
みたいな
0174デフォルトの名無しさんNGNG
>>143
見るからに無理だと感じるのだが。
J-PHONEのJavaアプリに携帯端末そのもののメモリ扱うAPIも
本体につながったケーブル扱うAPIもないだろう?
0175デフォルトの名無しさんNGNG
>>174
今の仕様の携帯Javaだと、自分でサーバ立ててインターネット経由で
HTTPパケットで送信することしかできなそう。
0176デフォルトの名無しさんNGNG
プログラマー板で紹介されてたので載っけときます

Java的リンク
http://www.geocities.co.jp/SiliconValley/6064/java_link.html
0177デフォルトの名無しさんNGNG
>>176
いいね
0178デフォルトの名無しさんNGNG
>>176
すげぇ量だな。俺んち、トップページへリンクしてくれよ
0179デフォルトの名無しさんNGNG
初心者です。

動的メソッドと静的メソッドの使い分けがよくわかりません。
変数なら使い分ける必要があるけど、なんでメソッドをいちいち動的に割り当てるのでしょうか?
全部静的で問題ないような気がするんですけど。
0180デフォルトの名無しさんNGNG
>>179 Javaに静的メソッドはない。
Java使ってる限り動的束縛強制ギプスからはどうやっても
逃れられないのでそんな事悩む必要なし。

ポリモーフィズムについて勉強してから
C++スレにでも行ってごらん。
0181179NGNG
>>180
ええ、本には関数の前にstaticをつけると静的メソッドになるって
かかれていたんですけど。

ポリフォーフィズムはこれから勉強します。
0182デフォルトの名無しさんNGNG
>>179
メソッドってのは動的に割り当てたりするもんじゃない。
(というか、「動的メソッド」という言い方は普通使わない。)
0183180NGNG
>>181
お、そっちの「静的」か、
カンチガイすまナンダ。
つーか全部その「静的」メソッドだけでプログラミングすると実質的に
構造がC(C++でない)と変わらなくなる。
オブジェクト指向言語の意味がない。
(仕事でやると↓でヒーローになれる)
http://pc.2ch.net/test/read.cgi/prog/1021560641/l50

メソッドはあくまで「オブジェクト」の動作の定義ってのが
オブジェクト指向の前提。staticが例外。
0184181NGNG
>>183
つまりstaticなメソッドでも動くけど、暗黙の了解で使うなってことですか?
0185デフォルトの名無しさんNGNG
そうじゃない。
その本に書いてないの?
0186デフォルトの名無しさんNGNG
ダブルディスパッチってなんですか?
0187デフォルトの名無しさんNGNG
>>184
役割が違うので互いに単純に代替できるようなものではない。
必要性があるからこそJavaにも取り入れられたわけで
gotoほど忌み嫌われる存在ではない。
しかし使いどころが分からずに乱用すると困った事になるのも事実。
0188デフォルトの名無しさんNGNG
XMLファイルに登録してある内容を読んで、箇条書きのHTMLを作成したいんですが、XMLファイル
の読み方というのがよくわかってません。
今はnew BufferedInputStream(new FileInputStream("test.xml"))でループさせてstringに入れて
るんですが、これでいいんでしょうか? 他にやり方があったら教えてください。
0189デフォルトの名無しさんNGNG
XML読むなら最初はDOMを利用する方法がわかりやすくていいと思いますよ。
CrimsonとかXercesとかのソフトウェアはXMLドキュメントをObject化してくれます。
また、単純にHTML吐き出したいのならXSLTというソフトウェアを利用すると再利用性の高いコードがかけると思います。

see
http://xml.apache.org
0190デフォルトの名無しさんNGNG
>>184
ユーティリティなどのわざわざオブジェクトとしてインスタンス化する必要のないようなメソッドは静的メソッドとして実装するとコードとがシンプルになり、メモリが節約できます。
私はがんがんユーティリティを作るほうなので、静的メソッドを結構多用しますが、それによって、クラスの結合度などが高まってしまって失敗したりと一長一短です。
とりあえず静的メソッドのことは忘れて設計してはどうでしょうか。そのほうがオブジェクト指向に関する理解が早まると思います。
0191デフォルトの名無しさんNGNG
>>189
RESありがとうございます。

>XML読むなら最初はDOMを利用する方法がわかりやすくていいと思いますよ。
>CrimsonとかXercesとかのソフトウェアはXMLドキュメントをObject化してくれます。
まさしくそのDOMでできそうです。これから調べてみます。
シーケンシャルファイルとして読むなんて泥臭いこと、普通はしませんよね^^;。

>また、単純にHTML吐き出したいのならXSLTというソフトウェアを利用すると再利用性の高いコードがかけると思います。
XSLTはお客さんから「自分とこで保守できないのでNG」と言われましたw。

情報、ありがとうございました!
019299NGNG
-------風俗の総合商社・MTTどこでも-------

〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
  http://www.mttdocomo.jp/
-----女性アルバイト随時募集・高収入(日払い)月100万円可能-----
-----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募-----
http://www.mttdocomo.jp/
------------------------------------------------

0193デフォルトの名無しさんNGNG
>>191
中身をXSLT+XSLTプロセッサで作ろうが全部Javaで作ろうが、
顧客がメンテするのは元のXMLファイルだけだと思うのだが...
もしかして、191はJavaのソース込みで納品して、191の顧客は
そのソースをメンテするつもりだとでもいうのだろうか。
0194デフォルトの名無しさんNGNG
VAJでの
デバッグの方法がわかりません、
ステップでのやり方をだれか教えてください。
0195デフォルトの名無しさんNGNG
>>193
SIがプログラムだけを外注してんじゃないの。
そんでそのSIはXSLTが使えないと。
ありえなさそうでありえる話っぽいなぁ。
0196デフォルトの名無しさんNGNG
javaで書いたファイルを、exeファイルみたいに
ダブルクリックだけで起動するにはどうしたらいいんですか?
0197デフォルトの名無しさんNGNG
>>196
JARにする。JDKドキュメントの「JDKのツール」の項目に解説あるから嫁。
マニフェストファイルにMain-Classを登録するのがミソ。
0198196NGNG
>>197
ありがとうございます、勉強します
0199デフォルトの名無しさんNGNG
>>194
F5でステップイン、F6でステップオーバー、F7でステップアウト
でもVAJはサポート打ちきり、Studioに移行するから
あまりおぼえんでよい
0200 NGNG
swingでテキストが二つ並ぶような画面を作成中なのですが、
undoの処理で悩んでいます。
なにかヒントになるWeb,書籍など情報はありませんか??
0201デフォルトの名無しさんNGNG
Java1.2で、publicではないコンストラクタを持つクラスを
別のパッケージから、リフレクションのConstructerクラスのnewInstance(Object[])で生成しようとすると
IllegalExceptionが出て生成できないんですが、だめなんですか?
メソッドやフィールドはprivateでもリフレクションでうまくいったんですが。
0202 NGNG
JUnit対象のクラスやメソッドをテストする雛型を吐いてくれるツールってありますか?
eclipseあたりでできるとハッピーなのですが。
0203デフォルトの名無しさんNGNG
>>202
eclipseでできるよ。対象クラスを選択して右クリック。
new -> Java -> JUnit -> TestCase
あとは、テストしたいメソッドを選択して生成。
0204**********NGNG
>>201
できたぞ。
メソッドやフィールドと同じ方法で。
0205 NGNG
>>203
どうもです。
中身は勝手に作ってくれないの?w
0206デフォルトの名無しさんNGNG
>>200
JTextAreaつかってんなら、JFCのデモでいいんじゃん?
0207デフォルトの名無しさんNGNG
>>204
使用されるほうのクラスで、setAccessible(true)としないとだめなのかな。
0208**********NGNG
ソース上げ

import java.lang.reflect.*;

public class reflecttest{
public static void main(String args[]){
try{
Class cls =Class.forName("test");
Constructor con = cls.getDeclaredConstructor(null);
con.setAccessible(true);
Object o = con.newInstance(null);

}catch(Exception e){e.printStackTrace();}
}
}

public class test{
private test(){
System.out.println("キター");
}
}

これがしたいんでしょ?
0209デフォルトの名無しさんNGNG
今、書籍「独習Java」で勉強しているのですが、付属のCD-ROMを
なくしてしまいました。。。。。。
練習問題・章末問題の解答が。。。
どなたか、「独習Java」の解答(Win版)アップしてくださいぃぃ。
まじ困ってます。
0210デフォルトの名無しさんNGNG
>>209
もっかい買え
0211デフォルトの名無しさんNGNG
>>209
ってか独習Javaやめれば?
もっといい本あるよ。
0212デフォルトの名無しさんNGNG
publicとなにもつけないのとでは
何が違うのですか?
0213デフォルトの名無しさんNGNG
スコープ
0214デフォルトの名無しさんNGNG
ねーねーオブジェクト指向やポリモーフィズム
について詳しく書いてある本ってなんか
ないですかね?
0215デフォルトの名無しさんNGNG
>>214
Java Examples in a Nutshell
http://www.oreilly.com/catalog/jenut2/
で十分だと思う
0216デフォルトの名無しさんNGNG
スコープじゃないだろ、アクセス制御でしょ。
0217デフォルトの名無しさんNGNG
>>215
英語かい!
すみません、英語はきついな〜
0218デフォルトの名無しさんNGNG
>>217
日本語版あるでよ
0219デフォルトの名無しさんNGNG
>>218
まじっすか!ありがとう!
明日書店であさります。
0220209NGNG
もう一回買えって・・・(泣
もっといいのもあるみたいですが、せっかく買ったんで最後まで
やってみるつもりです。。。

ていうか、どなたか「独習Java」の問題の答えください・・・
まじ、困ってますぅぅぅぅ。。。(泣
0221デフォルトの名無しさんNGNG
>>220
問題書けば答えてくれるかも
0222デフォルトの名無しさんNGNG
以下のような文字コードを編集するには、どのようなツールを用いればよいのでしょうか。
( ????.preperties_ja というようなファイルでよく見かけます。 )

「\u5546\u54C1\u4E00\u89A7」

0223デフォルトの名無しさんNGNG
> ねーねーオブジェクト指向やポリモーフィズム
> について詳しく書いてある本ってなんか
> ないですかね?

「Javaの格言」 あたりはどうかな。アレに書いてあることをマネして、Java で一つアプリケーション
(Web アプリケーションはあまりよくないと思う。Swing とか GUI 使うやつがいいよ)作ってみると
もうマスターしたも同然。
0224デフォルトの名無しさんNGNG
多分 foo_ja.properties の形式だと思うが、JDK に付いている
native2ascii を使え。DOS 窓から以下を叩け。

native2ascii -reverse foo_ja.properties > bar_ja.properties

リダイレクト先間違えて既存ファイル消すなよ。
0225デフォルトの名無しさんNGNG
>223
たとえば
class Ex{
public static void main(String args[]){
int i=3,x=5,s=7;
System.out.println(i+x+s);
}
}
で書けるものを
class Ex{
int i,x,s;
}
class Ex2 extends Ex{
public static void main(String args[]){
Ex ex=new Ex();
ex.i=3;
ex.x=5;
ex.s=7;
System.out.println(ex.i+ex.x+ex.s);
}
}
で書くメリットがわからないんです。
ちなみに独習Javaはもってます。(7章で詰まりました)
アプレットや制御ステートメントは少しは理解してると思います。
その本で理解できるでしょうか?初心者なんですみません。
0226デフォルトの名無しさんNGNG
>>225
精進しまひょ
もっと複雑なものを考えるとか
UMLにしてみるとか
0227デフォルトの名無しさんNGNG
windows CE(PocketPC?)用のJDKってあるんでしょうか?
0228デフォルトの名無しさんNGNG
>>209
図書館に行けばあるかも。
0229デフォルトの名無しさんNGNG
>>225
あんがい、君みたいな人が多いのかもな。
おかげで、CやコボからJavaへは移行しやすいとか?
0230 NGNG
>>206
THX!
ついでにundo関連についての”考え方”が
書いてあるWebってありませんか?

JFCのデモのソースを読んだのですが難しすぎて・・・。
0231デフォルトの名無しさんNGNG
>>230
API Reference
googleにないの?
0232デフォルトの名無しさんNGNG
>>225
教習所のなかぐるぐる回ってるだけじゃ
車のありがたみが分からないのと一緒。
0233デフォルトの名無しさんNGNG
これからアプリを作ろうと思っているんですけど、ネタを振ってください。
独習Javaでまだ二日しかJava経験がありませんが。

あまり難しくないけど、いろいろな標準クラスを使うやつがいいです。
形ができたら公開しようと思います。
0234デフォルトの名無しさんNGNG
C++用のリファクタリングブラウザをお願い。
標準クラスだけでばっちり作れると思います
0235_NGNG
Robocodeで最強のロボ作れ
0236233NGNG
>>235
いまIBMのページを調べましたが、おもしろそうですね。
「高機能のロボット格闘シミュレーション・エンジンで、Javaプログラミング学習がずっと楽しくなる」
というのが気に入りました。

http://www-6.ibm.com/jp/developerworks/java/020329/j_j-robocode.html
0237デフォルトの名無しさんNGNG
がんばって、robocode スレを盛り上げてくれ。
0238デフォルトの名無しさんNGNG
[localhost:~/Documents/java_test] nao% cat test_034_pre_02.java
//
// while
//
public class test_034_pre_02 {
public static void main (String [] args) {
int i = 7;

while (--i > 0) {
System.out.println (i);
}
}
}
[localhost:~/Documents/java_test] nao% java test_034_pre_02
6
5
4
3
2
1

上記の前置デクリメントの場合、0を出力しないで終了するけれど、
後述の後置デクリメントだと、0まで出力するのはどうしてなの?

[localhost:~/Documents/java_test] nao% cat test_034_post_02.java
//
// while
//
public class test_034_post_02 {
public static void main (String [] args) {
int i = 7;

while (i-- > 0) {
System.out.println (i);
}
}
}
[localhost:~/Documents/java_test] nao% java test_034_post_02
6
5
4
3
2
1
0

Javaは初めてのプログラム言語で、初めてまだ3日目。。。
0239デフォルトの名無しさんNGNG
[localhost:~/Documents/java_test] nao% cat test_034_pre_02.java
//
// while
//
public class test_034_pre_02 {
public static void main (String [] args) {
int i = 7;

while (--i > 0) {
System.out.println (i);
}
}
}
[localhost:~/Documents/java_test] nao% java test_034_pre_02
6
5
4
3
2
1

上記の前置デクリメントの場合、0を出力しないで終了するけれど、
後述の後置デクリメントだと、0まで出力するのはどうしてなの?
0240デフォルトの名無しさんNGNG
[localhost:~/Documents/java_test] nao% cat test_034_post_02.java
//
// while
//
public class test_034_post_02 {
public static void main (String [] args) {
int i = 7;

while (i-- > 0) {
System.out.println (i);
}
}
}
[localhost:~/Documents/java_test] nao% java test_034_post_02
6
5
4
3
2
1
0

Javaは初めてのプログラム言語で、初めてまだ3日目。。。
0241デフォルトの名無しさんNGNG
三重カキコになってしまった。。。
ゴメン。。。
0242デフォルトの名無しさんNGNG
大馬鹿者の>>241を晒しあげ
0243242NGNG
>>241
--iはiに1を加算してからその値を返す。
i--はiを返した後にiに1を加算する。

それを理解すればなぜそうなるのか分かるでしょ。
0244243NGNG
加算じゃねー、減算だ。
0245デフォルトの名無しさんNGNG
ワラ
0246241NGNG
>>243レス、ありがとう。
デクリメント演算子の役割は本を読んで(一応)理解しているつもり
だけれど、疑問点は次の点なんです。
whileのループ変数に( i > 0 )の場合に、実行しろという文なのに、
後置デクリメントの場合、(i >=0)と書かれているのに、
System.out.printlnが0を出力するのはなぜなのかというのが、疑問。

もしかして、
While (i-- > 0) の時点では、i = 1だけれども、
System.out.printlnの時点では、i = 0となっていると理解すればいい
の?
0247241NGNG
自己レス、ゴメン。
理解できた。
0248TL使いNGNG
TurbolinuxServer6 で コンパイルとおるプログラムを
TurbolinuxServer7 で コンパイルしたらエラーになっちゃった。なんでだろ。

エラー内容は 入力された文字が全角記号だったら云々かんぬん
とかいう判定文にて 「unclosed character literal」とか言われちゃうの。
0249質問ですNGNG
JAVAで日付、時間をとりたいんですけど
明日の日付はどうすればいいのでしょうか。
本日の日付なら

java.util.Date currentTime = new java.util.Date();
calendar.setTime(currentTime);

こんな感じでとれたんですが・・・。
0250デフォルトの名無しさんNGNG
>>249
3600 * 24秒足す。
0251デフォルトの名無しさんNGNG
86400000000ns足す
0252質問ですNGNG
えーと・・・スーパーど初心者ですみません。
どのタイミングで足せばいいのでしょうか・・・。
お願いします。
0253デフォルトの名無しさんNGNG
日時処理はなるべく Calendar クラス使え。

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, +1);
0254質問ですNGNG
>>250サマ>>251サマ>>253サマ
できましたぁ〜ありがとうございます!

修行不足ですみません・・・。
0255デフォルトの名無しさんNGNG
すいません
どこに聞けばいいのかわからないので書きます
これってそんなに怖いんですか?
わかんない人はあけないでください
http://www.rental-web.com/~azuma/pha/medusa/Medusa.gif
0256デフォルトの名無しさんNGNG
>>255
巨大真っ白 (透明?) 画像。
つーか、半角のブラクラ判定スレへどうぞ。
0257デフォルトの名無しさんNGNG
>>256
んじゃ、いってきます ありgとです
0258デフォルトの名無しさんNGNG
JavaでFTPを扱うライブラリってありますか?
ソケットからゴリゴリ書くしかないんでしょうか。
0259デフォルトの名無しさんNGNG
>>258
http://www.google.com/search?num=100&hl=ja&safe=active&q=ftp+library+java&btnG=Google+%8C%9F%8D%F5&lr=
こんなに一杯
0260デフォルトの名無しさんNGNG
>>256
どうやって判断したんですか?
私のマシンのNetscapeにいれたら応答しなくなりましたよ
0261258NGNG
THX。日本語で探したのが悪かったみたいです。
0262デフォルトの名無しさんNGNG
FTP程度だったら ソケットからゴリゴリ(?)書いても
そんなに手間にならんと思うけど…

FTPでRandomAccessFileってできないかなぁ…
読み込みだけだったらすげー簡単だけど。
0263デフォルトの名無しさんNGNG
>>248
OSのlocale設定でも見直せば?
該当部分のソースも書かない、
エラーメッセージも全部書いてない、
では他に答えようが…
0264デフォルトの名無しさんNGNG
print文で疑問があります。

[localhost:~/Documents/java_test] nao% cat test_041.java
//
// return
//
public class test_041 {
public static void divide (double n1, double n2) {
if (n1 == 0) {
System.out.println ("Enter the number except 0.");
return;
}
else if (n2 == 0) {
System.out.println ("Enter the number except 0.");
return;
}
else {
System.out.print (n1 + " / " + n2);
System.out.print (" = ");
System.out.println (+ n1 / n2);
System.exit (0);
}
}

public static void main (String [] args) {
if (args.length == 2)
divide (Double.parseDouble (args [0]), Double.parseDouble (args[1]));
else {
System.out.println ("How to use : enter command number number");
System.exit (1);
}
}
}

このソースの中にあるdivide名のメソッド中にある
else {
System.out.print (n1 + " / " + n2);
System.out.print (" = ");
System.out.println (+ n1 / n2);
System.exit (0);
}

を

else {
System.out.println (n1 + " / " + n2 " = " + n1 / n2);
System.exit (0);
}

と書き換えると、コンパイル時にエラーが出てしまいます。
どうしてなのでしょうか?
0265デフォルトの名無しさんNGNG
>>260
ネスケ用の画像ブラクラか。俺 IE だから分かんなかった。
ヘッダ部で無駄に巨大なサイズ指定して OutOfMemory で無応答にさせるタイプかな。
実際、ダウンロードして Fireworks で開こうとしたらメモリ足らんと言われた。
ファイルサイズ的には 146 バイト。手元にバイナリエディタが無いので詳細は不明。
0266デフォルトの名無しさんNGNG
>>265
ご名答。Width と Height が 65535 に設定されてた。
G00D8YE NETSC4PE とか書いてあるしあほくさい。
0267デフォルトの名無しさんNGNG
double x=0.12345;
System.out.print(x);

の表示を小数点以下3桁にしたいんですけどどうやればいいんですか?
0268デフォルトの名無しさんNGNG
>>264
n2の後ろに+入れれ
0269デフォルトの名無しさんNGNG
>>267
NumberFormat nf = new DecimalFormat("0.000");
double x = 0.12345;
System.out.print(nf.format(x));
0270デフォルトの名無しさんNGNG
>>269
できた^^
ありがと。
0271264NGNG
>>268
ありがとう。コンパイルも正常にできた。
多謝多謝。
0272201NGNG
>>208
なんと、Java1.3なら大丈夫だった。Java1.2はできないらしい(?)
0273デフォルトの名無しさんNGNG
超初心者な質問ですいません。JAVAをインストールして、
その次のPATHを通すやり方がよくわかりません。
環境変数に何をどう書き込めばいいのか・・・
XPなのですが、JAVAの初心者向けのサイトなどないでしょうか?
0274デフォルトの名無しさんNGNG
www.hatena.org
0275(・J虫レ・)NGNG
1.
たとえばある座標をマウスリスナーとかで与えてやって
その座標によって図形を描画するようなメソッドを定義する場合

Public Graphics void Zukei(int x,int y.......)
{
//描画に関する処理
}

こんな感じでいいのかね?
0276デフォルトの名無しさんNGNG
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881359835/ref=br_lf_b_11/250-8473367-9419469
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797308036/ref=pd_bxgy_text_2/250-8473367-9419469
どっちのがお勧めですか?当方まったくの初心者。
0277デフォルトの名無しさんNGNG
>274
ありがとうございました。
0278デフォルトの名無しさんNGNG
ネタか?>>275
Public じゃなくて public
ところでその Graphics ってなんじゃ?
描画用グラフィックコンテキストのクラス名に見えるが
そこに書いてどうする気だ?
0279デフォルトの名無しさんNGNG
>>273
環境変数の加え方は分かってるん?
なら、インストールしたjavaの bin フォルダまでのパスを書く。
ex) C:\program files\j2sdk1.4.0\bin;
ドライブ名 コロン バックスラッシュ(\マーク) フォルダ名 ・・・ セミコロン
0280デフォルトの名無しさんNGNG
>>264
> System.out.println (+ n1 / n2);
この n1 の前の '+' って、なんか意味あるの?

勉強始めて間が無いので変な質問だったらスマソ。
0281デフォルトの名無しさんNGNG
Java勉強始めて間もないからかもしれんが、

「引数の引き渡し」

わかんねーよ。
おめーらもほんとに理解してんのか?
おれにわかりやすく教えれ!
0282デフォルトの名無しさんNGNG
System.out.println (n1 + " / " + n2 " = " + n1 / n2);
を
System.out.println (n1 + " / " + n2 " = " + (n1 / n2));
にすればいいんじゃネーノ?
0283デフォルトの名無しさんNGNG
引数って
anyMethod( 引数 );
って渡すだけだろ?何がわからんの?
0284デフォルトの名無しさんNGNG
>>282
残念だが違う

>>283
引き渡しなんだから
anyMethod( 引数1 - 引数2 ){ //...}
だと思う
0285284NGNG
はずかしい
x anyMethod( 引数1 - 引数2 ){ //...}
o anyMethod( 引数1 - 引数2 );
0286デフォルトの名無しさんNGNG
>>284-285
これってマジレス?
0287デフォルトの名無しさんNGNG
マゾレス
0288デフォルトの名無しさんNGNG
引数の値渡し/参照渡しと予想してみるテスト
0289デフォルトの名無しさんNGNG
参照の値渡しと参照渡しって違うの? と言ってみるテスト
0290デフォルトの名無しさんNGNG
>>289
それは一緒
0291デフォルトの名無しさんNGNG
Java Servlet + DBなんですが、

あれは問い合わせ1回ごとにコネクションを開始→問い合わせ→切断、するべきなんでしょうか。


すれ間違えたのでやりなおし投稿す。
0292デフォルトの名無しさんNGNG
>>290
でもさぁ、首藤さんとこの日記の 5/1 のところ読むと
http://www.shudo.net/diary/index.html
その2つは違うって書いてあるみたいだけど。
0293デフォルトの名無しさんNGNG
>>291
コネクションプール使え。
0294デフォルトの名無しさんNGNG
メソッドから、複数のパラメータを一度に受け取るにはどうすればいいんでしょうか。
具体的には、Showinfoメソッドから、情報を10個受け取りたいです。
0295デフォルトの名無しさんNGNG
>>294
10 個の getter が付いた Bean のインスタンス
0296デフォルトの名無しさんNGNG
もしくは Object[] info = new Object[10];
に情報全部込めて return info; とか。
0297デフォルトの名無しさんNGNG
/**
* ユーティリティメソッド
*/
Object[] showInfo( xxxx ){
 showInfo( xxxxx, new Object[10] );
}

/**
* Object[10] を使いまわししたいときはこっち
*/
Object[] showInfo( xxxx, Object[] info ){
 xxxxx;
 return info;
}

とか。JDKのソース見ればこーゆーのいっぱいあると思うけど。
0298デフォルトの名無しさんNGNG
return忘れた。
Object[] showInfo( xxxx ){
 return showInfo( xxxxx, new Object[10] );
}
だね。
0299デフォルトの名無しさんNGNG
>>294
その戻り値を格納するクラスを別途作成してリターンするのがいいと思います。
またはそのメソッドそのものをクラスとして実装して、情報を自分自身に格納しておくかですね。
0300デフォルトの名無しさんNGNG
参照渡しと参照の値渡しは違うだろ。

C++で言えば、参照渡しは
int i;
foo(i);
という呼び出しを
void foo(int &v)
で受ける場合。
参照の値渡しは
foo(&i);
を
void foo(int *p)
で受ける場合。
0301デフォルトの名無しさんNGNG
えーと、ちなみに Java で
void foo( Object bar ){ } を
foo( bar );
で呼び出すのはどっちなんですか?
参照渡し? 参照の値渡し?
0302デフォルトの名無しさんNGNG
>>300
それってポインタ渡してるだけでは?
C++の参照は値渡しできないのでは。
0303デフォルトの名無しさんNGNG
そのとおり
0304デフォルトの名無しさんNGNG
C++用語の「参照」は値渡しできないね。

ただ、Javaの参照型引数の渡し方は、C++で言えば「ポインタの値渡し」
に相当する。

つまり、Javaの「参照」は「値渡し」。
0305デフォルトの名無しさんNGNG
いやぁねぇ
頭がスパゲティになっちゃうわ。
0306デフォルトの名無しさんNGNG
ねかまきしょいage
0307デフォルトの名無しさんNGNG
なぜそれだけでネカマなんだ?(藁
0308デフォルトの名無しさんNGNG
>>305 みたいに「わざわざ女言葉つかって」しゃべる女はいない。
0309デフォルトの名無しさんNGNG
単なる表現だろ
別に女を演出したワケじゃないと思われ
0310デフォルトの名無しさんNGNG
>>305-309
このスレらしくなって来たね(W
0311デフォルトの名無しさんNGNG
>>309=ネカマ
0312(・J虫レ・)NGNG
>>278
要するに俺様としては

クラスA====
変数x,yを用いて図形を描くメソッド(ZUKEI)の定義

クラスB===
クラスAを継承して
マウスリスナーでXとYの座標を取得
ZUKEIメソッドに取得したXとYを放り込んで図形を描画

って感じにしたいんですよダンナ
0313デフォルトの名無しさんNGNG
「参照渡し」と「値渡し」の違いが・・・・・・かなり曖昧になってきた。。。

だれか、違いがわかりやすい例(ソース)あげてくれー!

いや、あげてください。。。
0314デフォルトの名無しさんNGNG
いや
0315デフォルトの名無しさんNGNG
>>313
引数の値を変更すると呼び出し側の変数の値も変わる:参照渡し
引数の値を変更しても呼び出し側の変数の値が変わらない:値渡し

厳密ではないけどこういうこと。
0316デフォルトの名無しさんNGNG
>>315
つまりどういうこと?
0317デフォルトの名無しさんNGNG
どのようなコーディングをしたら高速化できますか?
基礎レベルのことでもいいので教えてください。
0318313NGNG
>>315
即レスどうもっす。
それはわかってるんですが・・・そういうことでいいんですか?

参照渡し → 配列、オブジェクト(String以外)
値渡し  → プリミティブ型、Stringオフジェクト

でイイんすか?
0319デフォルトの名無しさんNGNG
>>317
ループ内の処理は必要最低限に。
0320デフォルトの名無しさんNGNG
>>317
何も書かなければ理論上最も早いです
0321デフォルトの名無しさんNGNG
>>317
そう、急ぐ事もあるまい。
「狭い日本そんなに急いでどこへ行く」
って事例もあることだし
0322デフォルトの名無しさんNGNG
どこへ行くの?
0323デフォルトの名無しさんNGNG
>>318 (315じゃないけど)

> 参照渡し → 配列、オブジェクト(String以外)
> 値渡し  → プリミティブ型、Stringオフジェクト

ちがうよ。Javaだとどっちも値渡し。

method(v) と呼び出して、
void method(Object x) { x = null; }
としたとき、変数vの値もnullになっちゃうのが参照渡し。
0324デフォルトの名無しさんNGNG
>>317
インスタンスを再利用する。
0325313&318NGNG
>>323
レスどうもです。
どっちも値渡しなんですか。。。うーん。。。
例を挙げていただいて、なんとなくわかっているのですが。。。

プリミティブ型は、必ず値渡しですよね?
配列・オフジェクト(Stringも)は、値渡し・参照渡しのどちらにもなる。。。ってことすか?

値渡しか、参照渡しかはどうやって見抜くんですか?
0326デフォルトの名無しさんNGNG
>317
http://www.asahi-net.or.jp/~dp8t-asm/java/tips/SpeedOptimizationByCodingIndex.html
0327デフォルトの名無しさんNGNG
>>325
Javaには参照渡しなんぞない(値渡ししかない)っつーに。
なんべん言えば分かるんじゃ。
0328デフォルトの名無しさんNGNG
「参照渡し」という言い方が悪いんだな、きっと。
英語で言えば「call by reference」つまり「参照呼び」だ。

・呼び出し側の実引数は変数(lvalue)に限る。
・呼び出された側の仮引数は、メソッドの実行中 実引数の別名となる。
 (別の名前で、同じ箱を参照する。)

これに対して「call by value」では、
・呼び出し側の実引数は変数に限らず、定数その他、任意の式で良い
・その値が、仮引数の箱(新たに作られる)にコピーされる。

Javaの場合はcall by valueしかない。
0329デフォルトの名無しさんNGNG
「参照渡し」だと変数という箱への参照を渡すんだよ。
参照型の値を渡すという意味じゃなくて。

参照型の「値を渡す」だけなら、ただの値渡し。
0330288NGNG
「値渡し」「参照渡し」って書くと言葉遊びを始める連中が来るかもと思って
かなり控えめにしてみたんだが、まさかこんなに釣れるとは (藁
0331デフォルトの名無しさんNGNG
そりゃ良かったな。
0332デフォルトの名無しさんNGNG
なんで言葉遊びなの?
(ほんとに違いがないと思ってるとか?)
0333デフォルトの名無しさんNGNG
>>288 は区別がついてないってことだろう。
0334デフォルトの名無しさんNGNG
288=313
0335デフォルトの名無しさんNGNG
privateフィールドとローカル変数はどういう風に
使い分けたらいいのでしょうか?

privateフィールドは、クラス内のみで参照でき、
そのクラス内にあるメソッドが参照できる。しか
し、ローカル変数はあるメソッド内のみでしか参
照できない、という理解のしかたでいいのでしょ
うか?
0336デフォルトの名無しさんNGNG
スコープだけじゃなく生存期間が違う。
0337335NGNG
>>336
このレスは漏れに向けてと考えていいのかな?

スコープの範囲が異なるというのは理解できたけれど、
生存期間が異なるということはどういうことを意味して
いるの?
生存期間というのは、ポイントを保持している期間が異
なるということなのかな?

Javaが初めての言語の上に、入門書を買ってきて、まだ
一週間しか経っていないので、手加減を宜しくお願いし
ます。
0338デフォルトの名無しさんNGNG
Java が 「値渡し」 であることは、
次のプログラムで確認で来るわけですよ、ね?
・・・違います?どなたか添削してください。

public class CallTest{

private int num = 0;
private int callNum = num; //ここで何が起こっているか?

private Obje obje = new Obje(0);
private Obje callObje = obje; //ここで何が起こっているか?

public static void main(String[] args){

CallTest test = new CallTest();
test.showValues();

}


public void showValues(){

num = 1; //参照渡しなら、callNumも変化するはず。
System.out.println("num = "+num);
System.out.println("callNum = "+callNum);

obje = new Obje(1); //参照渡しなら、callObjeも変化するはず。
System.out.println("obje.num = "+obje.getNum());
System.out.println("callObje.num = "+callObje.getNum());

}



}

class Obje{
int num;
public Obje(int n){
num = n;
}

public int getNum(){
return num;
}

}
0339デフォルトの名無しさんNGNG
ゲームを作るのにアクセサメソッドは必要?
0340デフォルトの名無しさんNGNG
>>338
自分でコンパイルしてみた?
0341デフォルトの名無しさんNGNG
>>339
「アクセサメソッド」・・・?
それってつおい?
0342デフォルトの名無しさんNGNG
>>340
はい。
出力結果が、順に、
num = 1
callNum = 0
obje.num = 1
callObje = 0
と、なりますので、フィールドでのcallNum と、callObje の生成は、
値渡しが行われたからだと考えたのですが。

どこかで勘違いしてますか?
0343デフォルトの名無しさんNGNG
>337
メソッド内のローカル変数はメソッドの実行中だけ値を保持する
それに対してフィールドはクラスが存在する間中、値を保持する
privateだから外からは見えないけどちゃんと中で保持してるわけだ
0344338NGNG
「字下げ」が出来てなくて読みにくくてすみません。
関係ない話で済みませんが、
「字下げ」を表現するには、書き込みのときに
半角スペースを全角にしてるのでしょうか?
0345デフォルトの名無しさんNGNG
>>339
必要と思えば使う。思わなければ使わない。
0346335NGNG
>>343
なるほど。わかりました。
ありがとうございます。
0347338NGNG
ひょっとして、「渡す」というのはメソッドの引数のことですか?
だとしたら自分の書いたのは的外れでした。
processValues というメソッドを書き加えたので見てくれませんか。
public class CallTest2{

private int num = 0;

private Obje obje = new Obje(0);

public static void main(String[] args){

CallTest2 test = new CallTest2();
test.showValues();

}

public void showValues(){

System.out.println("num = "+num);
System.out.println("obje.num = "+obje.getNum());

processValues(num,obje); //ここで、何を渡しているか?(値?参照?)

System.out.println("num = "+num); //0 なら「値渡し」、1 なら「参照渡し」
System.out.println("obje.num = "+obje.getNum()); //0 なら「値渡し」、1 なら「参照渡し」

}

public void processValues(int n,Obje o){

n = 1;
o = new Obje(1);

System.out.println("n = "+n);
System.out.println("o.getNum() = "+o.getNum());

}


}

class Obje{
int num;
public Obje(int n){
num = n;
}

public int getNum(){
return num;
}

}
0348デフォルトの名無しさんNGNG
>341
格言読んでろ
0349339NGNG
アクセサメソッドって用語集とかにないね・・・
0350デフォルトの名無しさんNGNG
>>338
Javaが値渡しであることは当然なんだけど、以下の書き方見ると、
誤解があるみたいね。

>private Obje obje = new Obje(0);
>private Obje callObje = obje; //ここで何が起こっているか?

代入がしているのは、右の変数の値を取り出して、左の変数に入れること
だけ。新しいオブジェクトを生成したりしません。
で、objeには、new Obje(0)で生成されたオブジェクトの参照が入っている。
この参照をcallObjeに代入しているだけだよ。だから、objeもcallObjeも
同じオブジェクトを指しているんだ。
0351デフォルトの名無しさんNGNG
すまん、お前らだれかabstractクラスの
意味を教えてください。お願いします。
できれば実例も加えてくれると神です。
0352デフォルトの名無しさんNGNG
>>351
実装が派生クラスにゆだねられているクラス。
0353デフォルトの名無しさんNGNG
>>351
まずabstractクラスはインスタンス化できない。
またメソッドをabstract修飾子をつけて宣言させることで、子クラスにその実装を強制させることができる。
俺はインスタンス化させたくない基底クラスの定義とかに使うが・・。
0354デフォルトの名無しさんNGNG
>>353
良いこと聞いた。忘れてたよ。
無理に基本クラスに純仮想関数置かなくて良いんだ。
0355デフォルトの名無しさんNGNG
>>351
今月のJavaWorld読め。
0356デフォルトの名無しさんNGNG
学校の宿題やってたら、
(↓プログラムの一部)
public void remove(Object element){
if(next==null){
}else if(next.body.equals(element)){
if(next.next==null){
next=null;
}else{
next=next.next;
}
}else{
next.remove(element);
}
}

でコンパイルは通ったのですが、実行するとjava.lang.NullPointerException
というエラーがでました。
そこで下のように、3行目にreturn;を加えるとエラーが出なくなりました。
なぜでしょうか?必要ないように感じるのですが…
「next==nullのとき、何もしない」って書くにはなぜreturnが必要なのでしょうか?
多分 return を理解してないように思うので説明お願いします。

public void remove(Object element){
if(next==null){
return;
}else if(next.body.equals(element)){
if(next.next==null){
next=null;
}else{
next=next.next;
}
}else{
next.remove(element);
}
}
0357デフォルトの名無しさんNGNG
>>356
returnは関係ないだろうな。
コードからjava.lang.NullPointerExceptionが予測されるのは、
}else if(next.body.equals(element)){の部分のnext.bodyがnullの
場合だ。
多分、再度試したときには、これがnullじゃなかったんだろう。
エラーが出たときは、それが発生した行数もチェックして、どこが
おかしいか確かめたほうがいいよ。
0358デフォルトの名無しさんNGNG
return 文は、メソッドの実行を終了させて、呼び出し元に戻ります。
if 文の中であっても、return 文は、メソッドの実行を終了させて、呼び出し元に戻ります。

0359デフォルトの名無しさんNGNG
>>356
NullPointerExceptionは、どの行で出たんだ?
0360デフォルトの名無しさんNGNG
なるほど
どうも、next.bodyがnullの時があったようです。
0361デフォルトの名無しさんNGNG
auのezplusとJーPHONEのJ-アプリって
どっちがおもしろいだろう?
0362デフォルトの名無しさんNGNG
>>352>>353>>355
ほんとうにありがと。ぼう参考書からの抜粋なんだけど
avstract class Shape{
void display(){
}}

class Circle extends Shape{
void display(){
System.out.println("Circle");
}}

class Rectangle extends Shape{
void display(){
System.out.println("Rectangle");
}}

class Triangle extends Shape{
void display(){
System.out.println("Triangle");
}}

class AbstractClassDemo{
public static void main(String args[]){
Shape s=new Circle();
s.display();
s=new Rectangle();
s.display();
s=new Triangle();
s.display();
}}
このアブストラクトクラスにはなんの意味があるの?
abstractをけしてコンパイルしてみたんだけど
出来るんだよね。どうしてもこの概念が理解できない。
とりあえず今月のJavaWorldをよんでみるけど。。
0363デフォルトの名無しさんNGNG
Jもauも中々クセがあるからどっちも面白いかも。
魅力的な面で言えばJなのかなぁ。どうなんでしょう?
0364デフォルトの名無しさんNGNG
>>362
基底クラスのShapeをインスタンス化させたくないってこと。
0365デフォルトの名無しさんNGNG
>>362

ええと、
avstract ってのは単なるタイプミスね。
(今度からはきちんとコピー&ペーストしましょう)

abstract なクラス Shape を消してもエラーが出ない、というのは、どうだろう。
これを確認してくれ。

Shape クラスの宣言がソース中にある状態でコンパイルしたときに出来たクラスファイル

  Shape.class

が、まだ存在している状態で、ソース上から

  abstract class Shape{
    void display(){
  }}

を削除(コメントアウト)してコンパイルしていませんか?

class Circle extends Shape{ ......

なんかの行をコンパイルするときに、コンパイラは extend 元の Shape クラスを探しに行く
わけだけど、既に Shape.class というファイルが存在していると、コンパイラはソース中に
Shape クラスの宣言がなければそれを使うよ。

コンパイルする前に、すべての .class ファイルを削除する癖をつけると、
良いと思うんだけど。
0366364NGNG
>>365
ちがう。よく意図を読んでやれ。abstract修飾子を消したってことを362はいいたんだと思う。
0367365NGNG
>>366

なるほど。たしかに。

この例が、abstract メソッドを含んでいないので、ちょっとわかりにくいかも。

http://www.gimlay.org/~javafaq/

この Java FAQ なんかをみると、abstract メソッドを含む abstract クラスの
例が載ってるので、そっちのほうがわかりやすいかも。
0368デフォルトの名無しさんNGNG
>>364−367
マジでありがとう。2chでこんなやさしくされると
涙出るよ。ちょっと行ってみます。
0369ダメプログラマのダメっぷりNGNG
tryブロックの中でreturnで戻った時もfinallyブロックのコードが
実行されることを昨日知って愕然とした・・・
0370デフォルトの名無しさんNGNG
やさしいね、みんな
0371368NGNG
みてきました。
つまりメソッドだけそのクラスにおいといて
実装を別のクラスで出来るからプログラムが
汎用的になるってことかな?
違う気がする・・
インスタンス化させたくないクラスおくことの
意味がいまいち解らない・・

>>365
このfaqまじでいい!
ありがとです。
0372デフォルトの名無しさんNGNG
「どんな抜け方をしても絶対実行される」ときに使うのがfinally
だからな。Cとかだとこれがないん、でロックしたまま忘れてリター
ンしちゃったりlongjumpが使いにくかったりする。
0373デフォルトの名無しさんNGNG
テストの点数を順位付けする30行くらいの
すごい簡単なプログラムを組んで見たんだけど
なんかきたないものになっちゃって、
ここにいる上級者の人達はどれくらいスマートに
書けるのか手本見せてもらってもいい?
0374デフォルトの名無しさんNGNG
>>373
言語不問でやった方がどろどろしておもしろそう。
スレ立てて>>1に仕様書いてみんなでやればいいじゃん。
0375デフォルトの名無しさんNGNG
スレ立てたらたたかれるだけだと思うが。
0376デフォルトの名無しさんNGNG
>>374 ソートってこと?
awkとsortコマンド組み合わせると1〜2行で書ける気がする。
0377デフォルトの名無しさんNGNG
ソースのっけたら誰か採点してくれる?
>>376
forしか使ってない。。。

上級者が俺の同じ出力を出すのに
何行くらいで出来るのか見てみたい
0378デフォルトの名無しさんNGNG
>>373
BASICでいいなら100行以内に収めて魅せるぜ?
0379デフォルトの名無しさんNGNG
とりあえず、データの形式だしてみ。
0380デフォルトの名無しさんNGNG
66,56,78,55,88,90,56,76,73,58の十人の点数(前から学籍番号1〜10)から
学籍番号|1 2 3 4 5 6 7 8 9 10
--------------------------------------------
点数   |66 56 78 55 88 90 56 76 73 58
順位    | 6 8 3 10 2 1 8 4 5 7
このように出力させるプログラム。
ちなみにおれは}をちゃんと1つに付き1つ改行して
31行だった。forだけで20行切れるつわものはいますか?
0381デフォルトの名無しさんNGNG
あれ?表示おかしくなっちった。とりあえず
public class Juni{
public static void main(String args[]){
int array[]=new int[9];
int array2[]={66,56,78,55,88,90,56,76,73,58};
System.out.print("学籍番号 |");
for(int j=1;j<=10;j++){
System.out.print(j+" ");
}
System.out.println(" ");
System.out.print("------------------------------------------------");
System.out.println(" ");
System.out.print("点数   |");
for(int k=0;k<10;k++){
System.out.print(array2[k]+" ");
}
System.out.println(" ");
System.out.print("順位   |");
int count=1;
for(int s=0;s<array2.length;s++){
for(int i=0;i<array2.length;i++){
if(array2[s]<array2[i])
count++;
}
if(count==10)
System.out.print(count+" ");
else
System.out.print(count+" ");
count=1;
}
}
}
ちなみにJava歴1週間です。だれか一番きれいに書けるか、
そしてその人はJava歴何年か教えてちょーだい。
長い分になってすまん
0382デフォルトの名無しさんNGNG
ここを再利用するとか。

csvからhtml表生成最強言語は?
http://pc.2ch.net/test/read.cgi/tech/1021596367/
0383デフォルトの名無しさんNGNG
public class Juni{
public static void main(String args[]){
int array[]=new int[9];
int array2[]={66,56,78,55,88,90,56,76,73,58};
System.out.print("学籍番号 |");
for(int j=1;j<=10;j++)
System.out.println(j+" ");
System.out.println("------------------------------------------------ ");
System.out.print("点数   |");
for(int k=0;k<10;k++)
System.out.println(array2[k]+" ");
System.out.print("順位   |");
int count=1;
for(int s=0;s<array2.length;s++){
for(int i=0;i<array2.length;i++){
if(array2[s]<array2[i])
count++;
}
System.out.print(count+" ");
count=1;
}
}
}
0384デフォルトの名無しさんNGNG
なるほど。forには{いらないんだ。
始めて知った。w参考になったよ>>383
23行。おれほんと無駄の多い人間だったんだな。

なんかこれとまったく違う書き方で
あっと言わせる書き方できるひといないっすか?
sort?とか使って。
0385デフォルトの名無しさんNGNG
public class Juni{public static void main(String args[]){int array[]=new int[9];int array2[]={66,56,78,55,88,90,56,76,73,58};
System.out.print("学籍番号 |");for(int j=1;j<=10;j++)System.out.println(j+"");System.out.println("------------------------------------------------ ");
System.out.print("点数   |");for(int k=0;k<10;k++)System.out.println(array2[k]+" ");System.out.print("順位   |");int count=1;for(int s=0;s<array2.length;s++){
for(int i=0;i<array2.length;i++){if(array2[s]<array2[i])count++;}System.out.print(count+" ");count=1;}}}
0386デフォルトの名無しさんNGNG
if(count==10)
の部分がないとたぶん微妙にずれるぞ。
0387デフォルトの名無しさんNGNG
>>386
あれ?幅違ってたの?あれ。
じゃ\tでごまかす。
0388デフォルトの名無しさんNGNG
public class Test {
 public static void main(String[] args) {
  System.out.println("学籍番号| 1 2 3 4 5 6 7 8 9 10");
  System.out.println("----------------------------------------");
  System.out.println("点数  | 66 56 78 55 88 90 56 76 73 58");
  System.out.println("順位  | 6 8 3 10 2 1 8 4 5 7");
 }
}
データ固定じゃつまらない。
もっと一般的な問題にしようよ。
0389デフォルトの名無しさんNGNG
おお、これは幻の配列指向プログラミングではないか!
0390デフォルトの名無しさんNGNG
>>388
・゚・(ノД`)・゚・。
そんなことしなくても。。
じゃー誰か問題出してくり。簡単なんだけど
工夫したらすごいかっこよくなる奴。
0391デフォルトの名無しさんNGNG
一般的にやろうと思って Student クラス導入したりコンパレータ書いたりしてたら70行超えてしまった。
0392デフォルトの名無しさんNGNG
>>391
見せてほすい。
相当見やすいんだろうな。
0393デフォルトの名無しさんNGNG
C#スレかとオモッタ。
0394デフォルトの名無しさんNGNG
いや、別に点数ソートでも良いんじゃない?

class Data {
 int tensuu;  // 0〜100点
 int gakuseki; // 正の整数
}

class Junni {
 int[] getJunni(final Data[] data) {
  // dataと同じ長さの配列に順位を入れて返す。
 }
}
基準は短さ?
んー、7行スレみたいだな。まあいいや。
0395デフォルトの名無しさんNGNG
class Junni {
 int[] getJunni(final Data[] data) {
  int[] hindo = new int[100], junni = new int[data.length];
  for (int i = 0; i < data.length; i++) {
   hindo[data[i].tensuu]++;
  }
  for (int i = data.length - 1; i > 0; i--) {
   hindo[i - 1] += hindo[i];
  }
  for (int i = data.length - 1; i > 0; i--) {
   junni[i] = hindo[data[i].tensuu];
  }
  return junni;
 }
}
0396デフォルトの名無しさんNGNG
import java.util.*;
class Student { int id; int score; int rank; }
class Rank {
  static void setRank(Student[] studentArr) {
    List studentList = Arrays.asList(studentArr);
    MyComparator comparator = new MyComparator();
    comparator.sortBy = "score";
    Collections.sort(studentList, comparator);
    Collections.reverse(studentList);
    int oldScore = Integer.MAX_VALUE, rank = 1, oldRank = 1;
    for (Iterator i=studentList.iterator(); i.hasNext(); rank++) {
      Student s = (Student)i.next();
      oldRank = s.rank = s.score != oldScore ? rank : oldRank;
      oldScore = s.score;
    }
    comparator.sortBy = "id";
    Collections.sort(studentList, comparator);
  }
  static class MyComparator implements Comparator {
    String sortBy;
    public int compare(Object o1, Object o2) {
      Student s1 = (Student)o1; Student s2 = (Student)o2;
      return sortBy.equals("score")
        ? (s1.score<s2.score ? -1 : (s1.score==s2.score ? 0 : 1))
        : (s1.id<s2.id ? -1 : (s1.id==s2.id ? 0 : 1));
    }
    public boolean equals(Object obj) { return this == obj; }
  }
}
public class Main {
  public static String spc(int cnt, int i) {
    StringBuffer sb = new StringBuffer("" + i);
    while (sb.length() < cnt) sb.insert(0, " ");
    return sb.toString();
  }
  public static void main(String[] argv) {
    int[] scoreArr ={66,56,78,55,88,90,56,76,73,58,100,100};
    Student[] studentArr = new Student[scoreArr.length];
    for (int i=0; i<studentArr.length; i++) {
      studentArr[i] = new Student();
      studentArr[i].id = i+1;
      studentArr[i].score = scoreArr[i];
    }
    Rank.setRank(studentArr);
    String ln = System.getProperty("line.separator");
    System.out.print("学籍番号");
    for (int i=0; i<studentArr.length; i++) System.out.print(spc(3, studentArr[i].id) + " ");
    System.out.print(ln + "点数  ");
    for (int i=0; i<studentArr.length; i++) System.out.print(spc(3, studentArr[i].score) + " ");
    System.out.print(ln + "順位  ");
    for (int i=0; i<studentArr.length; i++) System.out.print(spc(3, studentArr[i].rank) + " ");
    System.out.println("");
  }
}
0397デフォルトの名無しさんNGNG
perl使用
http://pc.2ch.net/test/read.cgi/tech/1021817147/380
0398デフォルトの名無しさんNGNG
やべえ。すげえ
0399デフォルトの名無しさんNGNG
たったいまjavaの本を読み始めたばかりのひよっこです。
さっそく最初のプログラムをじっこうしてみたら

Exception in thread "main" java.lang.NoClassDefError: 〜

みたいのがでてきちゃいました。
mainメソッドがない、みたいな意味かと思うんですけど
どうしたらいいんでしゃうか?
0400デフォルトの名無しさんNGNG
>>399
歯を磨いてオナニーしてから寝る。
0401399NGNG
>>400
オナニーしてからシャワー浴びてもいい?
0402デフォルトの名無しさんNGNG
>>399
たぶん、クラスパスの設定
その段階だと手っ取り早いのはコマンドラインで
set CLASSPATH=
と打って、クラスパスをはずす。
0403デフォルトの名無しさんNGNG
>>401
それだけは教えられない。
0404デフォルトの名無しさんNGNG
set CLASSPATH=.;を追加しなさい
これを知ったときは
初めて、肛門オナニーを覚えた時のようだ
0405399NGNG
>>402
クラスパスって??
0406デフォルトの名無しさんNGNG
>>404
SET CLASSPATH=%CLASSPATH%;.;
の方が良くない?
0407デフォルトの名無しさんNGNG
>>405
Java で使う *.class ファイルを探すディレクトリ/JAR ファイルの事。
実行しようとしたクラスがクラスパス上に無かったため ClassNoDefFound...
となった。
0408399NGNG
>>404,406,407
できました。ありがとうございます。

ところで、これってプログラム実行毎にやらなきゃなんですか?
0409デフォルトの名無しさんNGNG
mainのあるクラス名を打っていない
という罠
0410デフォルトの名無しさんNGNG
java Hoge.class
と.classまで書いちゃったとか。
0411デフォルトの名無しさんNGNG
>>408
オナニーする前に、
http://java-house.jp/ml/archive/j-h-b/021880.html#body
これを120回繰り返して読め。
0412デフォルトの名無しさんNGNG
C言語から、今Javaで仕事するようになった者ですが。

変数にアンダースコア"_"がついてるのは、何か意味があるんですか?
特別な意味がありそうなんだけど、基準が見えません。
職場の先輩に聞いても、はっきりした答えが返ってきませんでした。

_data_、とか変数名の前後にこれをつける理由ちゅうか基準を知りたいです。
よろしくお願いします。
0413デフォルトの名無しさんNGNG
>>412
アンダースコア使うと動きが変わる/属性が変わる等の機能的な
規約とかはない。あるとしたらプロジェクトの命名規約とか
個人的な命名規約とかそんな所。
0414デフォルトの名無しさんNGNG
>>413
機能的に変わることがないのはわかるんですが、規約的にどういう意味があるのかな?
って思うんですよ。

たとえばC言語の標準ライブラリのヘッダファイルだと、アンダースコアが2つ前後に
ついてるのはライブラリ内部処理用っぽい気がするんですけど、本当にそうなのか
確証がなくって。
0415デフォルトの名無しさんNGNG
メンバ変数なんかにつけてんじゃない?
0416デフォルトの名無しさんNGNG
>>414
まぁ C だとそういうのもあるが、Java はアクセススコープがしっかり
しているから "__" とかやんなくても良い。俺はめったに使わない。
0417デフォルトの名無しさんNGNG
Java Coding StandardのNaming Conventions

http://gee.cs.oswego.edu/dl/html/javaCodingStd.html#secName
0418デフォルトの名無しさんNGNG
_value  という表記は、
static 属性のフィールドでしょう、多分。
自分はこれがあるとすごく見通しが良くなる気がするので自発的にやってるが。
0419デフォルトの名無しさんNGNG
クラスフィールドやインスタンスフィールドは、宣言の位置が遠いことが
おおいから、クラスフィールドやインスタンスフィールドである事がすぐ
分かるようにしとくため、ということかと。

インスタンスフィールドにはローカルな命名則つかうくらいならthis
つけとくほうがよいかと思うけど。
クラスフィールドはどうしよう。クラス名.フィールドかな。
0420デフォルトの名無しさんNGNG
this つけたら、this.thisVal みたいになっちゃうんじゃない?

ってそういうことじゃない?
0421デフォルトの名無しさんNGNG
>>420
this.value って意味だと思われ
0422デフォルトの名無しさんNGNG
肛門オナニーってどうよ
0423デフォルトの名無しさんNGNG
>>422=404 ですか?

とか言ってみる。
0424デフォルトの名無しさんNGNG
>>422
肛門から射精します
0425デフォルトの名無しさんNGNG
Writing Robust Java Code(日本語訳)
http://www.alles.or.jp/~torutk/oojava/codingStandard/index.html
0426デフォルトの名無しさんNGNG
プログラムが実行される
順番を教えてくれ
0427デフォルトの名無しさんNGNG
>>426
static public void main
0428デフォルトの名無しさんNGNG
NT認証を行うためのクラスってありますか?
0429デフォルトの名無しさんNGNG
コマンドラインから適当に入力した文字で特定文字だけ表示させる方法を教えてください。
0430デフォルトの名無しさんNGNG
>>429
いや、勝手にフィルタリングすればよかろう。
0431デフォルトの名無しさんNGNG
初心者ってプログラムが下手なだけならわかるんだけど
なぜ皆そろいもそろって日本語が下手なんだろう?
0432デフォルトの名無しさんNGNG
>>431
日本語出来る奴はプログラミング言語なんてあっさり覚えますから。
才能が無くても普通の人は本を読んだり試行錯誤したりしながら大きくなる。
少なくともこんな犯罪者まで出る掲示板には来ない。
0433429NGNG
>>430
フィルタリングですね。検索して調べてみます。ありがとうございます。
>>431
ごめんなさい。
やりたいことを的確に表現できないんで曖昧な書き込みしかできませんでした。
0434デフォルトの名無しさんNGNG
自分のプロセスが使ってるメモリ使用量ってわかるんでしょうか?
VMのメモリ使用量が分かればいいと思うんですが・・。
外部のそういうツールを使わないと無理でしょうか?
0435429NGNG
やりたいのは

「こんにちわ/ありがとう/ごめんなさい」とコマンドラインから入力して
ありがとう だけ表示させる方法です。

これフィルタリング使えばできそうですか?
0436デフォルトの名無しさんNGNG
StringTokenizer(スペル間違ってそうだが)使えばできるんでない?
0437新車NGNG
ファイルから読み出して行数を引数で指定して戻り値をStringで
受け取るようなメソッドって存在しないんですか?
while分を使って文字ごとにreadしていくしかないんですか?
0438デフォルトの名無しさんNGNG
>>437
それしかないです。
0439デフォルトの名無しさんNGNG
ねえよ。
0440デフォルトの名無しさんNGNG
かぶった。ごめんちょ
0441デフォルトの名無しさんNGNG
>>435
入力する文字列は毎回同じなのか違うのか。
出力を選ぶ条件は何なのだ。

何を入力しても「ありがとう」と表示するプログラムでも良いのか?
0442デフォルトの名無しさんNGNG
>>435
ちゃんと正確に伝わるように書かないと、>>441みたいに突っ込まれちゃうよ(w
0443429NGNG
>>441
入力文字列は毎回違うようにしたいです。
出力を選ぶ条件は、途中で「出力したい番号を選んでください」みたいに
表示させて2を選ぶと「ありがとう」が表示されるようにしたいです。
0444デフォルトの名無しさんNGNG
>>443
ええと、いままでは1行にまとまった文字列の途中から、一部を
抜き出すんだと皆 思い込んでいたんだが、そうじゃなくて、

「1. こんにちは
 2. ありがとう
 3. さようなら
 番号は?」

とか表示して、「2」と入れたら

「ありがとう」

と表示する、とこういう事だったノカ実は?
0445デフォルトの名無しさんNGNG
>>444
もうちょっとやさしく。
相手は「こんにちわ」とか書いてる子供なんだから。

あと、入力の話はどうなった?
0446デフォルトの名無しさんNGNG
あきらめてどっかいっちゃったかな。
0447デフォルトの名無しさんNGNG
import java.io.*;
public class Thankyou {
  public static void main(String[] argv) {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    String str = null;
    while (true) {
      try {
        str = in.readLine();
      } catch (IOException e) {
        e.printStackTrace();
        break;
      }
      if (str != null && str.equals("こんにちは")) {
        System.out.println(str);
      }
      if (str == null || str.equals("quit")) {
        break;
      }
    }
  }
}
あたしはてっきりこういうことかと。
0448429NGNG
>>444
一行で「こんにちわ/ありがとう/ごめんなさい」をコマンドラインから
入力(文字列の間に/で区切って)後、何個目?と表示して「3」と入れたら

「ごめんなさい」

と表示する感じです。

>>446
頑張っていました・・・
0449デフォルトの名無しさんNGNG
public class KonNichiWa{

 public static void main(String[] args){
  if(args[0].equals("1"))
   System.out.println("こんにちは");
  else if(args[0].equals("2"))
   System.out.println("ありがとう");
  else if(args[0].equals("3"))
   System.out.println("さようなら");
 }
}
0450デフォルトの名無しさんNGNG
>>448
わかった。
1行入力は良いな? BufferedReader#readLineあたりを使う。
String line = reader.readLine();
とか。

次はbeginを0にしといて、
end = line.indexOf('/', begin);
で1文字ずつ'/'の位置を探す。

endが負なら'/'がbegin以後に無いと言うことなので、
line.substring(begin) で文字列が切り出せる。

endが0以上なら、
line.substring(begin, end)で次の'/'の前までを切り出せる。
begin = end + 1; としてこれを繰り返す。
0451429NGNG
>>445
中学の宿題で明日提出期限なんです。
いくら考えてもわかりませんでした。。。
0452デフォルトの名無しさんNGNG
StringTokenizer 使え
0453デフォルトの名無しさんNGNG
StringTokenizer t = new StringTokenizer(line,"/");
0454452,453NGNG
>>429
思いっきり前に出てるじゃんか。
StringTokenizer
0455デフォルトの名無しさんNGNG
もっとがんがん質問せいやー。
真剣な質問ならこたえたるでー。(寝てなければ)
0456デフォルトの名無しさんNGNG
>>429
せっかく436で答えが出てるのになんで、
>いくら考えてもわかりませんでした。。。
なんて答えが返ってくるのかと問い詰めたい。
0457429NGNG
みなさま、ありがとうございます。
StringTokenizerを使って解決できました。

朝からネットでいろいろ検索してもわからなかったです。
StringTokenizerを使うというのは常識なのでしょうか・・・
0458デフォルトの名無しさんNGNG
問題=特定の文字列で区切られた値を取り出したい
StringTokenizerの機能=特定の区切り文字でトークン(それ以上分解できない最小の単語に)分解する。
問題はStringTokenizerによって解決できるだろ?
0459デフォルトの名無しさんNGNG
>>429
罰として449のをコピペして提出しる。
0460>>435NGNG
とりあえず435は
教えてくれたみんなにありがとうと表示したらどうなんだ?
0461デフォルトの名無しさんNGNG
>>460
429=435=457じゃねーのか?
0462デフォルトの名無しさん NGNG
増毛したいのか?
0463デフォルトの名無しさんNGNG
AのスレッドでZクラスのインスタンスを生成したら
Aのスレッドの一部になるの?
BのスレッドにZのインスタンスの参照渡して
そのインスタンスを操作したらAのスレッドとして動作するの?
0464デフォルトの名無しさんNGNG
マジ最近薄くなってきたんだよね
これって職業病?
0465デフォルトの名無しさんNGNG
スレッドは、処理の流れのことです。

A スレッドでZクラスのインスタンスを作成しようとすると、
その処理は A スレッドで行われます。

A スレッドで作成したインスタンスを B スレッドに渡す、というのは、
両方のスレッドからアクセスできる変数に入れる、ということでしょうか。
0466デフォルトの名無しさんNGNG
Action Listenerを外部クラスで定義した。
ボタンにaddActionListenerして、
ボタンが押されるとActionListenerが
呼ばれるのは良いんだけど
ボタンと一緒に配置してるテキストフィールドとか
チェックボックスの値をActionListener側から
参照する方法はあるんですか?
0467466NGNG
age忘れた
0468デフォルトの名無しさんNGNG
>>466
いろいろなやり方があるよ。
でも、簡単なのは内部無名クラスとして定義することだね。
0469466NGNG
>>468
そうですね。
いくつかサンプルは全部内部無名クラスですね
でも、anyclass$1.classみたいなのが出来るのを
出来るだけ避けたいので外部クラスで処理してみたいです。
0470デフォルトの名無しさんNGNG
>>466
単に、anyclass$1.classみたいなのが出来るのを避けるためであれば、
元クラスの方にボタンクリックで実行したいメソッドを用意しておき、
ActionListenerクラスでは、コンストラクタで元クラスのthisを受け
取るようにして、actionPerformedでは、その元クラスのメソッドを
呼び出す、なんていう方法でいいんじゃないの。
0471466NGNG
>>470
そうですね。そうでいいんだと思います。
ちょっとわからないんですが、
>ActionListenerクラスでは、コンストラクタで元クラスのthisを受け
っていうのはどうやるんですか?
0472デフォルトの名無しさんNGNG
>>466
ActionListenerをaddするためにnewしてるよね。
例えば、ActionListenerクラスをHogeListener、元クラスをMotoClass
とすると、HogeListenerのコンストラクタを
public HogeListener(MotoClass moto){
this.moto = moto;
}
とかする。当然、HogeListenerにはMotoClass moto;っていうフィールド
があるのが前提。
で、MotoClassの中で、addActionListenerしているところで、
hogeButton.addActionListener(new HogeListener(this));
等とするわけさ。
0473デフォルトの名無しさんNGNG
>>466
言い忘れたけど、単に元クラスにimplements ActionListenerして
元クラスにactionPerformedを定義すれば、anyclass$1.classみた
いなのはできないけど、それは分ってやってるんだよね。
0474466NGNG
>>472
ありがとう
できました。
>>473
あ!本当ですね。
ただ、ソースの見栄え的に
明確にMVCを分離するには
ActionListenerは別クラスに
定義すべきだと思いました。


0475デフォルトの名無しさんNGNG
同じ機能を、ボタンや、メニューItemや、ツールバー上のボタンに
割り当てたいときは、Actionを使うと楽だよ。
0476デフォルトの名無しさんNGNG
>475
あっ、楽だね〜。
setEnabled したら全部に適応されるし。
0477デフォルトの名無しさんNGNG
背景スクロールはどんな感じで実装すれば良いですか?
0478デフォルトの名無しさんNGNG
JavaでCDを再生する方法無いでしょうか?
AudioSystemクラスでは再生できないようなのですが。
JNIを使うというのはナシで。
0479デフォルトの名無しさんNGNG
>477
画面クリアの変わりに背景画像drawImageすればよいんでない?

>478
PureJavaでは無理。
JSDLでも使いませう。
ttp://www.libsdl.org/intro.jp/whatcanitdo.html
0480デフォルトの名無しさんNGNG
指定したクラスがロードしているネイティブな外部プログラム(DLL等)を
ファイル名で知りたいんですが可能でしょうか?
外部のツールでかまわないのですが。
0481デフォルトの名無しさんNGNG
Java勉強したいんですけど、教科書何にすればいいでしょう?
演習があって、やさしい(学術書や専門書じみたやつでない)やつが
いいんですけど。
0482481NGNG
ああ、私書ける言語はありません。
0483デフォルトの名無しさんNGNG
>>481
ザ・Javaはクソなので注意。
まぁ、あの地味な表紙じゃ買わないか。
0484デフォルトの名無しさんNGNG
>>481
入門ソフトウェアシリーズの
Java言語が初心者にも見やすい。
が必ずもう一冊買うはめになる罠
0485477NGNG
>479
それは1枚絵にしろということですか?
0486デフォルトの名無しさんNGNG
JAVAってゲームパッドは使えないの?
0487デフォルトの名無しさんNGNG
>>486
ホストOS側で工夫しないと無理。
0488デフォルトの名無しさんNGNG
>486
標準のAPIだけでは無理。

PureJavaでなくてよければ↓
DirectInputとかのラッパー
ttp://www.hardcode.de/jxinput/
Java3DのInputDeviceとしても使えるらしい。

あと、JavaGameProfileにも入力用のAPIが入るらしい。
0489デフォルトの名無しさんNGNG
>>488
JavaGameProfile
http://jcp.org/jsr/detail/134.jsp
0490デフォルトの名無しさんNGNG
thisについて質問です。
よく
drawImage(img,0,0,this);とかaddActionListener(this);
と色々なところで使われますが、一体このthisは何者なんでしょうか?
その都度に必要なインスタンスの参照を渡すという解釈でよろしいのでしょうか?
0491デフォルトの名無しさんNGNG
サブクラスで拡張し、そのインスタンスをスーパークラスのオブジェクトにした場合
拡張した部分は有効なのでしょうか?
また、有効ではない場合、スーパークラスからまたサブクラスのオブジェクトに
戻すと元のサブクラスだったときに設定してあった変数の中身などは
有効になのでしょうか?
0492デフォルトの名無しさんNGNG
>>490
× その都度に必要なインスタンス
○ カレントオブジェクト
0493デフォルトの名無しさんNGNG
>>491
>スーパークラスからまたサブクラスのオブジェクトに戻す
キャストするってこと?
0494デフォルトの名無しさんNGNG
>>491
public class Parent{
}

public class Child extends Parent{
public void showMessage(){
System.out.println("OK");
}
}

public class ExtendsTest{
public static void main(String[] args){
Parent child = new Child();
((Child)child).showMessage();
}
}
0495デフォルトの名無しさんNGNG
>>494
試してみました。分っかりました!
スーパークラスのインスタンスになってる時はダメで、
また元に戻せば有効になるんですね!
ありがとうございました!!

>>492
ちなみにカレントオブジェクトってどういうのですか?
クソ素人野郎なので分からないことばかりですみません。

>>493
そのとおりです。
0496デフォルトの名無しさんNGNG
>>495
カレントオブジェクト:そのキーワード(this)が実行されているオブジェクト。
簡単に言うなら、その"this"という単語から、外に向かって
最初に行き着いたクラス(から作られたインスタンス)

だから、490の例でいえば、そのカレントクラスは前者:ImageObserver
後者:ActionListener を実装しているから、そのような扱いが出来るってこと。

で、thisの使い方は、ここで説明した「カレントオブジェクトの参照」の他に
もう一つあるのでちゃんと調べておくと良いです。
0497デフォルトの名無しさんNGNG
>495

class Parent{
public void showMessage(){
System.out.println("BAD");
}
}

class Child extends Parent{
public void showMessage(){
System.out.println("OK");
}
}

public class ExtendsTest{
public static void main(String[] args){
Parent child = new Child();
child.showMessage();
}
}
0498デフォルトの名無しさんNGNG
490より>>496さんへ
 なんとなくですが、わかりました。
 どうもありがとうです。
0499デフォルトの名無しさんNGNG
SUNの所にあるチュートリアルを読んでSwingを勉強しているのですが、
以下のコードがよく分からないので質問します。

//コード
JButton convertTemp;
...
convertTemp.addActionListener(this);←ココが分かりません。
...
public void actionPerformed(ActionEvent event) {
...
}
//終わり

convertTemp.addActionListener(this);を実行するとなぜactionPerformed
を呼び出して実行するのでしょうか?

addActionListenerのプロトタイプは
addActionListener(ActionListener l)となっています。

「this」というのは、オブジェクト自身のことですよね?なぜ明示的にactionPerformedを
呼び出していないのに、それが実行されるのですか?

http://java.sun.com/docs/books/tutorial/uiswing/mini/thirdexample.html
0500デフォルトの名無しさんNGNG
>>499
>なぜ明示的にactionPerformedを
>呼び出していないのに、それが実行されるのですか?
この場合、actionPerformedを呼び出すのは、JVMのイベントディスパッチ
スレッド。つまり、ボタンが押されたら自動的に呼び出されるという
こと。
また、このクラスは、implements ActionListenerと定義されていて、
public void actionPerformed(ActionEvent event) を定義しているの
で、立派にActionListenerとして働くことができる。
0501499NGNG
>>500
どうもです。
うーむ、オブジェクト指向の基礎が抜けているので、もう一度復習してみます。
それとイベント関連のメカニズム、スレッドが分かってないんでそれも勉強します。
ありがとうございやした。
0502デフォルトの名無しさんNGNG
public class A{
...
}

public class B{
...
}

public class Main{
...
}

のようなプログラムをコンパイルするためには
イチイチソースを3つに分けて
javac A.java
javac B.java
javac C.java
のようにコンパイルしなくてはならないのですか?
0503デフォルトの名無しさんNGNG
やってみりゃすぐわかるだろうが。
0504デフォルトの名無しさんNGNG
やってみたんですが、
Main.java
をコンパイルするとpublicなclassやinterfaceは
A.java B.javaのように定義しろって言われました。
ですが、AというクラスでクラスBのインスタンスを生成し、
クラスBではクラスA型の変数を宣言しているので
切り離すことが出来ないんで、どうしたらいいんだろうと思いまして。。。
0505デフォルトの名無しさんNGNG
>>502は、あれだ。自分の時間を節約するためなら
他人の時間を平気で浪費しても罪悪感をもたないタイプだ。
0506デフォルトの名無しさんNGNG
切り離すことができないって、実際に分けてやってみたのか?

0507デフォルトの名無しさんNGNG
実際に分けてやってみました。
もう一度やってみます。
0508デフォルトの名無しさんNGNG
クラス定義ファイルを分けたから
インスタンス化できないなんてことはない
文法がおかしいだけだろ
0509デフォルトの名無しさんNGNG
おっしゃる通り文法ミスでした。。。
コンパイルできました。
申し訳ありませんでした。
ありがとうございました。
0510   NGNG

質問ですが、

br は BufferedReader のクラス変数
str は String のクラス変数

であってますでしょうか?インスタンス変数ではないんでしょうか?

import java.io.*;

class Sample
{
....public static void main(String srgs[]) throws IOException
....{
........System.out.println("整数を入力して下さい。");

........BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
........String str = br.readLine();
........int num = Integer.parseInt(str);
........System.out.println(num + "が入力されました。");
....}
}
0511デフォルトの名無しさんNGNG
>>502
その前に main()にしれ
0512デフォルトの名無しさんNGNG
>>511
ハァ?
0513デフォルトの名無しさんNGNG
String srgs[]
0514デフォルトの名無しさんNGNG
>>513
ハァ?
0515デフォルトの名無しさんNGNG
ここは初心者が集まるスレなんですね?
0516デフォルトの名無しさんNGNG
>510
ローカル変数です。
0517デフォルトの名無しさんNGNG
>>511はあれだ、ちっとだけ Java を覚えて Main クラスを作るときに main(String srgs[]) にしたいんだな。
0518   NGNG
>>516
クラスか、インスタンスか、と聞いて、ローカルと答えるのはなぜ?
0519   NGNG
っていうか ローカルなら自クラス内で宣言しなきゃいけないと思うんだけど?
0520デフォルトの名無しさんNGNG
どちらも違います。
0521   NGNG
>>520
んじゃ なんですか?
0522デフォルトの名無しさんNGNG










スレが腐ってるから馬鹿しか いないぞ 質問者!!!!!










 
0523   510NGNG
あっわかった。

br は BufferedReader のクラス変数
str は String のクラス変数

じゃなくて

br は BufferedReaderクラス の変数
str は Stringクラス の変数

でした。ありがとうございました。
0524デフォルトの名無しさんNGNG
>>510
あ?くろーとさんはうちじゃおことわりだよ!
0525デフォルトの名無しさんNGNG

よし、次
0526デフォルトの名無しさんNGNG
Cd = Cd
Ad = As
な感じのAlphaCompositeが欲しい。
おまいら こんな時どうしますか。
0527422NGNG
私は、「フウリン」と申します。
現在クソスレを立てる仲間を集めています。
目的は家庭用ゲーム板にクソスレを立てまくることです。
その数に限りはなく、同時に立てたいのです。
一応目標は、150を目指しています。
そこで相談なのですが、クソスレを立てる仲間を募集しています。
現在、15名近くしかいなくて、同時に150立てるには絶望的です。
必ず一人一個というルールでやるので、150人ほしいのです。(規制くらわないために)
もし私の目的に応じてくれる方がいたら助かります。
では、最後に立てる状況までについて説明します。
1  まず、このコピペをさまざまな所に貼ってください。
2  そして、決行時間5月30日の午前0時、つまり夜の12時に家庭用ゲーム板にクソスレを1個立ててください。
   それで終了です。
なお、このレスに対する返答は要りません。
皆が、各自の意思で行ってください。
必ずあなたと同じ考えを持ち、クソスレを立ててくれる方は現れます。
やってはいけないことも、皆でやれば怖くありません。
一緒に家庭用ゲーム板を破壊しましょう!
では、5月30日の午前0時から祭りが始まることを祈りつつ、私、「フウリン」の話を終わらせていただきます。
みなさん、よろしくお願いいたします。



0528デフォルトの名無しさん NGNG
廃れた参照とはなんでしょうか?
0529仕様書無しさんNGNG
>>510
br は BufferedReaderクラスのインスタンスもしくはオブジェクト
str は Stringクラスのインスタンスもしくはオブジェクト

と普通は言うと思うぞ
もしくは

br、strはmainメソッドのローカル変数

だ。細かいようだが言葉は正しく使わないとあとで泣きを見ることになる
0530デフォルトの名無しさんNGNG
さらに細かいこと言うぞ。
参照変数の事を「オブジェクト」と呼ぶと痛い目に遭うぞ。

Vector v = new Vector();
Data d = new Data();
d.setA(1);
v.add(d);
d.setA(2);
v.add(d);
  ↓
javaは値渡しであることだけ頭に入れとくと、
「Aが”1”と”2”のDataオブジェクトを追加したはずなのに、
 Aが”2”のDataオブジェクトが二つ入ってる!」
と言うことになる。

俺は意地でも「〜オブジェクトへの参照」と呼ぶようにしている。
0531デフォルトの名無しさんNGNG
分かりにくいな。
Dataオブジェクトは”A”というメンバを持つと思ってくれ。
0532   510NGNG
>>529 >>530
詳しい説明感謝です。その辺の説明を編集して本にはさんでおきます。

そういう意味で解釈しているんですけど、本に書いてある言葉が間違っているのかな?と質問させていただきました。

本に間違った説明があることってよくありますからね。
0533HOENGNG
>>531
メンバはC/C++系の呼び名と思われ

JavaはプリミティブTypeを除けば「ポインタ(Refference型)」しかないわけだから
オブジェクトは参照に決まっている。だから  >>530 の
>>俺は意地でも「〜オブジェクトへの参照」と呼ぶようにしている。
は正しい。

C++でいえば
BufferedReder *br = new BufferedReader();
と書くところを、クラスオブジェクトはReffer型しかないにきまっているJavaは わざわざ * をつかわないだけ。

BufferedReader br = new BufferedReader()
brはBufferdReaderクラスのインスタンスオブジェクト。
0534HOENGNG

C/C++
ポインタ dから参照するときに d->setA(1);

Java
実体から参照するときは d.x

何度も言うがJavaはプリミティブ型を除けばポインタ(参照)しかない。
わからなければ また質問しれ 管理age
0535デフォルトの名無しさんNGNG
いつもお世話になっています。また、質問をさせてください。

よく、
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
のようなコードを見かけます。ところが、最後にin.close();をしている本と
していない本があります。一般に、ファイルを開く場合なら、私の知る限り100%
closeしているのに、System.inのときは、たいていの教科書がcloseしていない
のです。
今のところ、動作に問題はないのですが、不安です。
System.inの場合もcloseした方がよいのでしょうか、それとも不要なのでしょうか?

よろしくお願いします。
0536デフォルトの名無しさんNGNG
不要。
使わないなら明示的に閉じてよし。
0537535NGNG
>>536
やはりそうなのですか。ありがとうございます。
安心して寝れます。
0538デフォルトの名無しさんNGNG
インスタンスオブジェクト?
0539デフォルトの名無しさんNGNG
すみませんほんとDQNな質問なんですけど
バッファってなんですか?
0540デフォルトの名無しさんNGNG
>>535を読んで、俺も不思議に思った。
>>536が「不要」と言い切る理由は、System.inは別に閉じる必要がないということ?
今見たら、結城さんの本ではたしかにcloseしてるんだよね。
彼は几帳面ということなのかもね。

あと関連して、普通の本では、バッファ付きのWriterでもあんまりフラッシュして
ないような気がするけど、closeするときにフラッシュされると考えてよいのかな?

横からスマソだけど、教えてください。
0541デフォルトの名無しさんNGNG
>>529, 530

「細かいようだが言葉は正しく使わないとあとで泣きを見ることになる」
「と呼ぶと痛い目に遭うぞ。 」

実際に泣いたり、痛い目にあうことは無いと思うけど、この台詞は
鋭く正しいことを言っていると思います。

人に何かを聞いたりするときに、自分の質問の仕方を細かく注意されたときは、
そこに重要な「自分が理解していない何か」があることがあります。

以下長文。しつこく説明されたい人用。

 int a = 5;
 int b = a;

このとき、b には、a に入っていた値 (5) がコピーして入れられます。
この後、a の中に入っている値を変更しても、b の中身は変化しません。

 StringBuffer sb1 = new StringBuffer("abc");
 StringBuffer sb2 = sb1;

ここではもともと sb1 に入っていた「 StringBuffer オブジェクトへの参照 」がコピーされて
sb2 に代入されます。コピーされたのはオブジェクトではなく、オブジェクトへの参照です。

この時点で、sb1 と sb2 は、同じオブジェクトを参照します。

 sb2.append("def");

この処理は厳密に言えば、sb2 の中身を変更しているのではなく、sb2 の中身である
「 StringBuffer オブジェクトへの参照 」を利用して、参照されている先のオブジェクトそのもの
を変更しているのです。

 sb1 = null;

このようにすると、sb1 の「中身を書き換える」ことになります。
もともと sb1 が指していた StringBuffer オブジェクトそのものにはなんの影響も与えません。
単に、
 「sb1 はもともと指していた StringBuffer オブジェクトを指すのをやめた、参照するのをやめた」
ということです。

sb1 はあのオブジェクトを参照するのを止めましたが、まだあのオブジェクトを参照している
参照型変数がありました。 sb2 です。

 sb2 = new StringBuffer("another string");

こうすると、sb2 に入っていた(あの)「 StringBuffer オブジェクトへの参照 」は上書きされ、
別な「 StringBuffer オブジェクトへの参照 」が代入されます。

こうなると、sb1 も sb2 も最初の(あの)オブジェクトを参照するのをやめたわけですから、
(あの)オブジェクトに含まれていた "abcdef" という文字列を取り出すことは出来ません。
どの参照型変数も参照していない(あの)オブジェクトは、(そのうち)ガベージコレクトされます。
0542541NGNG
(続き。惰性で書いてしまったので、・・。)

もう使わないとはっきりしたオブジェクトがあれば、それを参照しないように、null を代入し、
ガベージコレクトの対象になるようにするべきです。使わないのにいつまでも参照を保持している
とき、その参照を「廃れた参照」と言います。メモリリークの1つです。

例えば Vector クラスでは、remove 系メソッドが呼ばれた際には、削除する要素以降の要素を
前に詰めて要素数のカウンタを減らすだけではなく、いらなくなった要素部分に null を代入し、
廃れた参照を保持しないようにしています。その部分には、

  /* to let gc do its work */
 // Let gc do its work

のようなコメントがあります。

Vector に 100 の要素を追加し、99 の要素を remove すると、内部の配列のサイズは 100 のまま
で、最初の要素以外は全て null で埋められます。null ばかりの長い配列を保持させておくのも、
メモリリークと言えます。このような場合は、trimToSize() を呼ぶとよいでしょう。
0543HOENGNG

>>535
ガーベジコレクタというのを知っているな?これはオブジェクトのメモリ領域を開放する際、
そのオブジェクトのファイナライザ(Ffinalizer)が呼び出されるというものだ。
C++でいうところの、デストラクタに当たる。(コンストラクタの逆だな)
しかし、Javaのfinalizerはいつ実行されるかわからないのだ。

「じゃあ、close()しなくてもいいんだ?」

そうじゃない。
メモリをたくさん積んでいる状態ではなかなかガーベジコレクタが起動しないからfinalizerが
動く前に一度にオープンするファイルの数を超えてしまうかもしれない、、、
用意されているfinalizerを当てにしないで明示的にclose()する*必要*があるのだ。
誰かがかたづけてくれるからと言って闇雲に捨ててばかりではいけないのだ。
0544HOENGNG
>> 536
> 不要。
> 使わないなら明示的に閉じてよし。

JVMは以下を意識して実装することを推奨している。
ファイナライザの中でthisをstaticなフィールドに代入してしまうとガーベジコレクタの対象外となる。
よっていつまでたっても close()されない。だからメモリは解放されずにずっとそのままだ。
ちゃんとclose()してね 
0545デフォルトの名無しさんNGNG
>>539 ちったあ自分で検索汁!
http://yougo.ascii24.com/gh/05/000542.html
0546デフォルトの名無しさんNGNG
>>545
スマソ。助かりました。
0547初心者厨NGNG
すみません、java script質問スレでjavaスレに逝けと言われました。
どなたかご存知でしたら教えて下さい。

爆裂拳さんのブロック崩しアプレットが
local: *****class not found
というエラーが出て動いてくれません。
昨日までは何事もなく動いてくれていたのですが、
本日SSI懐石を仕込んだ直後からエラーが出てしまい、
懐石タグを削除しても戻ってくれません。
同じフォルダに、必要なアプレット類は総てアップしてあります。
また、昨日までは何事もなく動いていたという事で混乱しております。

すみませんが、ご指導よろしくお願いします。
0548デフォルトの名無しさんNGNG
>536
自分で開いたストリームは責任もって閉じるべきだけれども、
よそから渡されたやつは勝手に閉じるべきではないと思う也。

自分もSystem.inをcloseしてるコードにはお目にかかったことが無い
0549デフォルトの名無しさんNGNG
俺はSystem.outもclose()してますが何か?
0550デフォルトの名無しさんNGNG
>543 はこれで良いの?
0551デフォルトの名無しさんNGNG
アプレットを作ったのですが
ローカルでは問題無く動くのに、サーバにアップすると
「アプレットは初期化されていません」というメッセージで止まってしまいます。
何か特別なディレクトリに入れなければならない。とか
パーミッションはこれで無ければならない。とか
気をつけなければならない事があるのでしょうか?
ご教授お願いします。
0552デフォルトの名無しさんNGNG
たった今からJava始めたいので
何からすればいいですか?
Win厨房ですけどよろしくです
0553540NGNG
>>548
そんな気がする。好みもあるかもしれんけど。たとえば、以下のコードで//を取ると実行時に例外になるね。
import java.io.*;

class StreamTest
{
public static void main(String[] args) throws IOException
{
System.out.print("Input : ");
BufferedReader br =
new BufferedReader (new InputStreamReader(System.in));
String str = br.readLine();
System.out.println(str);
// br.close();
System.out.print("Input : ");
br =
new BufferedReader (new InputStreamReader(System.in));
str = br.readLine();
System.out.println(str);
}
}
0554デフォルトの名無しさんNGNG
>>551
解決しました。
内部クラスを作っていたのを忘れてました。
厨房すぎてごめんなさい。
>>552
何でもいいんじゃないですか?とりあえず今の情勢としては
Applet=Flash登場により影をひそめる
Servelet=そこそこ人気
てとこでしょうか。
0555540NGNG
>>553で言いたかったことは、標準入出力はそのままにしておいた方が、
簡単そうという程度のことね。

あと、誰か、「クローズでフラッシュもされる」に確信が持てる話してくれませんか。
0556デフォルトの名無しさんNGNG
>>555
Writerでは、「closeはflushしてから」とAPIドキュメントにある。
BufferedWriterのソースを見ても、ちゃんとflushBufferしてから
closeしている。
OutputStreamでは、FilterOutputStreamのcloseでflushされる。
BufferedOutputStreamでは、flushはちゃんとflushBufferされるよう
オーバーライドされている。
まあ、気になるならソース読んでみれば。
0557デフォルトの名無しさんNGNG
まえにStringTokenizerの話が出ていて
そのプログラムを作ってみようと思ったんですが
String msg=”おはよう、こんにちは、こんばんは”
とあって
String Tokenizer=new String Tokenizer(msg,",");
としたあとに
コマンドライン引数として3と入力したらこんばんはと
出るようするためにはどうしたらいいんですか?
import java.util.*;

class TokenA{
public static void main(String args[]){
String msg="おはようございます/こんにちは/こんばんは";
StringTokenizer st=new StringTokenizer(msg,"/");
System.out.println(msg);
int i=Integer.parseInt(args[0]);
このあとがわからないんです。ヒントだけでもお願いします。
すいません
  
0558デフォルトの名無しさんNGNG
int idx = 0;
String str;
while (st.hasMoreTokens()) {
  str = st.nextToken();
  if (idx == i) {
    System.out.println(str);
  }
  idx++;
}

番号に該当するメッセージがない(=不正な番号の入力)を検出したいなら、
フラグとか使って、 while を抜けた後にcheckとか。

まあ、凡庸な方法ですわ。

(ここで使ってるのは、0,1,2 というインデックスなので、1,2,3にしたければ、
手直しが必要。あと、コンパイルしてCheckしてないので、うち間違い勘弁)
0559デフォルトの名無しさんNGNG
>>558
こんな時間にどうもです。さすがですね。
イフの条件をまちがってました。
ありがとうございました。
0560デフォルトの名無しさんNGNG
>>541-542
> しつこく説明されたい人用

っっていうかお前がシツコイ!
0561デフォルトの名無しさんNGNG
>>546
ネタじゃないのか
0562デフォルトの名無しさんNGNG
>>556
えーと、ソースってどこにあるんすか?
ドキュンですみませんが、教えてくれませんか?
お願いします。
0563デフォルトの名無しさんNGNG
>>562
JDKについてくるsrc.jarを解凍すれ。
0564デフォルトの名無しさんNGNG
ついてないよママン
0565デフォルトの名無しさんNGNG
ブラウザとかでよく表示されている「毎秒何バイトで通信してます」と言うのは
どこの値を計算しているのでしょうか?
java.net.Socketを眺めてみましたが、
バッファがどうのと言うのがそれなんでしょうか?
0566デフォルトの名無しさんNGNG
>>565
ブラウザの中身は知らんけど、単に読み込んだデータの量を積算してるだけ
じゃないの。それで1秒ごとに計算すればいい。

0567HOENGNG
>>547

>>551
終わって鱈ごめん。init()での処理が完了していないのかも
変数の初期化エラー、画像などのロードエラー、などが考えられる。
よくあるのは画像ファイルの大文字小文字の問題。UNIXサーバーは区別するからね(Javaもだけど)
よくある解決策としてinit()内部を処理後とのmethodに分けて、原因を追及すべし。
newしているオブジェクトなどのコンストラクタなどにも目を配るべし。

>>555
プログレスバーの作り方を参考にするとよいです。
転送データをどういった単位(項目)でわり算するかと言うだけですが勉強になると思います。
0568デフォルトの名無しさんNGNG
>>566
1秒ごとに計算していたらもったいない。
0569566NGNG
>>568
じゃ、どうするの。
0570デフォルトの名無しさんNGNG
JDK で Win アプリつくりたいんですが。
0571デフォルトの名無しさんNGNG
勝手に作れ。
0572デフォルトの名無しさんNGNG
class Rei{
public static void max(int a,int b){
if(a>b)
System.out.println(a);
else if(a==b)
System.out.println("a=b");
else
System.out.println(b);
}
public static void main(String args[]){
int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);

max(a,b);
}
}
これが実行できない理由は何?
たぶんstaticがいけないんだと思うけど・・・
えー・・・初心者です。
0573デフォルトの名無しさんNGNG
>>572
punlic class?

あと、どう動かないのか書きなされ。
0574デフォルトの名無しさんNGNG
>>573
本当に申し訳ございません。
コマンドライン引数を入力してないだけでした
きよつけます・・・
0575デフォルトの名無しさんNGNG
>>574
>きよつけます・・・

日本語くらいsytaxerror出すのやめてくれ。
0576HOENGNG
public static void main()
{
.....System.out.println("HOE") ; // ......をいれるとインデントされて読みやすくなるなり
}
0577デフォルトの名無しさんNGNG
>>576
普通全角スペース入れないか?
public static void main(String[] args){
 System.out.println("HOI");
}

コピペする場合は
 全角スペース -> TAB
 全角スペース -> 8個のスペース
 (スペースの個数はお好みでどーぞ)
で置換するとかで。
0578デフォルトの名無しさんNGNG
Java アプレットの上にマウスカーソルがあるとき
カーソルのアイコンを自分の作成したアイコンに変更できますか?
0579デフォルトの名無しさんNGNG
j2sdk1.4
jikes1.15
この環境でjikesでコンパイルしようとすると
jarファイルが不正ですみたいなエラーが出る。
これは設定がおかしいの?
もしかして今のjikesだとj2sdk1.4はコンパイルできない?
0580HOENGNG
>>577
そらそうだよね^^; 
0581デフォルトの名無しさんNGNG
>578
Component.setCursor(Cursor)かな?
JDK1.1で使えるかは知らないけど

>579
rt.jarにクラスパス通ってる?
0582デフォルトの名無しさんNGNG
>>575
おいらも
きよつけよ〜っと
0583デフォルトの名無しさんNGNG
つまらん
0584デフォルトの名無しさん NGNG
pocketpcで動くpersonal Javaアプリを作りたいのですけど、
personal Javaについてのお勧め日本語サイトはあるでしょうか?
0585デフォルトの名無しさんNGNG
カタカナの単語をアイウエオ順に並べたいんですけど
どうやったらいいんでしょうか?
アイデアだけでよいので。。。
0586デフォルトの名無しさんNGNG
>>585
Arrays.sort(Object[] array, java.util.Comparetor c)
0587デフォルトの名無しさんNGNG
×Comparetor -> ○Comparator
0588デフォルトの名無しさんNGNG
比較は、多分 stringA.compre(stringB) でイケルと思うけど…
全角カタカナと半角カタカナ混じってなければ…
あ、濁点付きのカタカナとか半濁音符付きカタカナって
どーなってたかな…
0589デフォルトの名無しさんNGNG
また間違った…
stringA.compre(stringB) -> stringA.compareTo(stringB)
0590デフォルトの名無しさんNGNG
おちけつ!!
0591DQNNGNG
http://www.miraihakusho.jp/reo/
0592デフォルトの名無しさんNGNG
今日Java始めたんだが、JavaってVBでいうelseifみたいのはないの?
if … {
 …;
} else {
  if … {
   …;
  } else {
   …;
  }
}

こういうのしか無理?
0593デフォルトの名無しさんNGNG
if(…) {

}
else if(…) {

}
else {

}
とすれば擬似的にelseifを表現できる。
0594デフォルトの名無しさんNGNG
擬似的?
0595デフォルトの名無しさんNGNG
みなさん、開発ソフトは何でしょう?
某ファンなんでJBuilderを買おうかと思うんですけど、マイナーでしょうか?
メジャーは何でしょう?
0596デフォルトの名無しさんNGNG
>>595
上の方を読め・・・
0597デフォルトの名無しさんNGNG
ほらネタスレだから。。
0598デフォルトの名無しさんNGNG
>>593
そういう書き方もできるんだ。
ObjectPascalのelse ifみたいなものだね。
ありがと。

>>595
ちなみに漏れはSDK。
コンソールでちょっと作れるようになったら、JBuilderにするつもりですよ。
0599デフォルトの名無しさんNGNG
SDKっつーか、JDKだと思うけど、どうなんだろ?

あと、JDKとかって開発ソフトっていうのか?
使用しているエディタのほうがそれに近いと思うんだけど
0600デフォルトの名無しさんNGNG
それはちがう
0601デフォルトの名無しさんNGNG
俺は Eclipse だ。もう JDK + エディタには戻れん。
0602デフォルトの名無しさんNGNG
Eclipseって何すか?
0603デフォルトの名無しさんNGNG
>>602
http://www.eclipse.org/
0604デフォルトの名無しさんNGNG
Eclipseって辞書索くと
eatと同じ意味みたいだな
0605?NGNG
JAVA+UNIXでJAVAからシェルのコマンドを実行してその戻り値を取りたいのですが。
どうしたら出来ますかね?教えてください。
0606デフォルトの名無しさんNGNG
java class < shell.sh
で出来ないかね?
0607デフォルトの名無しさんNGNG
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Runtime.html#exec(java.lang.String[], java.lang.String[], java.io.File)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Process.html#exitValue()
0608607NGNG
しまった、コピペ中に書き込んでしまった。
やる気なくした... 寝よ。
0609605NGNG
>>606
それは、シェルからJAVAを呼んでいませんか?
JAVAのクラスのコードの中でシェルをコールしたあげたいんです。

Perlとかだとsystemコマンドとか。
VBとかだったら、COMのオブジェクト作ってexecuteとか?できたような。

そんなのを求めているのですが。どうでしょう。
0610605NGNG
それです!!
ども、ありがとございます。

0611デフォルトの名無しさんNGNG
>>605
607が途中まで答を書き込んでいるんだよね。
0612デフォルトの名無しさんNGNG
サーバーサイドJAVAをやろうとTOMCATを入れようとしているのですが、
DOS窓で「startup.bat」を実行しても、新しい窓が一瞬で閉じてしまいます。
JAVA_HOMEやTOMCAT_HOMEなどの環境設定はしてあります。ブラウザに
http://localhost:8080/と打っても猫の画面まで逝けません。
どなたかご教授お願いします。
0613デフォルトの名無しさんNGNG
Tomcat のバージョンは?
0614612 ◆h.mc2Fv. NGNG
>>613
jakarta-tomcat-3.2.3
です
0615デフォルトの名無しさんNGNG
何だろ?
環境変数を 8.3 で書いてないとかかな。
0616612 ◆h.mc2Fv. NGNG
>>615
「環境変数を8.3」とはどうゆうことでしょうか??(汗
0617デフォルトの名無しさんNGNG
>>616
同じ現象で悩んだような気がする。
PATH or CLASSPATH の設定ミスだったような。。。
0618ma,NGNG
>>616
ファイル名.拡張子
0619612 ◆h.mc2Fv. NGNG
PATH     %JAVA_HOME%\bin;%PATH%
JAVA_HOME  c:\jdk1.3.1
TOMCAT_HOME c:\jakarta-tomcat-3.2.3
CLASSPATH  c:\jakarta-tomcat-3.2.3\lib\ant.jar;
       c:\jakarta-tomcat-3.2.3\lib\jasper.jar;
c:\jakarta-tomcat-3.2.3\lib\jaxp.jar;
c:\jakarta-tomcat-3.2.3\lib\parser.jar;
c:\jakarta-tomcat-3.2.3\lib\servlet.jar;
c:\jakarta-tomcat-3.2.3\lib\webserver.jar;
c:\jdk1.3.1\lib\dt.jar;
c:\jdk1.3.1\lib\htmlconverter.jar;
c:\jdk1.3.1\lib\tools.jar

以上を、Administratorのユーザー環境変数の所に設定してあります。
0620デフォルトの名無しさんNGNG
c:\jakart~1.3

みたいな書き方で書いたらどうかな?
0621612 ◆h.mc2Fv. NGNG
>>620
すいません、言ってる意味が私には理解できません。
もう少しわかり易くご説明願えないでしょうか?;
0622デフォルトの名無しさんNGNG
つまり DOS の 8.3 のファイル(ディレクトリ)形式で書くわけだ。

 dir /x

で確認できる。
0623デフォルトの名無しさんNGNG
tomcatよく知らんけど、あんなにCLASSPATHを設定せにゃならんもんなの?
0624デフォルトの名無しさんNGNG
必要なし。
0625612 ◆h.mc2Fv. NGNG
はい、確かに必要ないと思います。
どうやれば動くのかわからずに足して逝っただけです。
ちなみに言い忘れていましたが当方Windows2000の環境です。
0626デフォルトの名無しさんNGNG
漏れのマシンにはJavaプラグインの1.3.1と1.4の両方が入ってるんだけど
(コントロールパネルに両方のバージョンのがある)、
アプレット立ち上げると、プラグインの1.3.1で起動します。
どっちのバージョンで立ち上がるかってのはどーやって決まるんでしょうか。
0627612 ◆h.mc2Fv. NGNG
できました!
TOMCATのzipファイルをLhaplusではなく、
Lhacaで解凍したらできました。
・・・・・・・お騒がせしました・・・・・ペコリ
0628デフォルトの名無しさんNGNG
>>627
なんだそりゃ。
0629デフォルトの名無しさんNGNG
>>627
どうして、その行為に出たのかの経緯が知りたい。
0630お願いします!NGNG
誰か>>448 のソース上げていただけませんか?
StringTokenizerを使うのはわかっているんですが、動くものを書くことが
できません。勉強不足は承知の上です。
優しい方お願いします。
0631デフォルトの名無しさんNGNG
初心者すぎて誰も相手にしてくれないか・・・悲しい
0632デフォルトの名無しさんNGNG
>>630
まだいますか?
0633デフォルトの名無しさんNGNG
>>630
すみません、>448を見て思ったんですけど
コマンドラインから入力し、なにかを表示させたあと
コマンドラインにまた数値を入れる方法ってどうするんですか?
0634633NGNG
>> 630
ってのは気にしないでください
まちがえた
0635630NGNG
はい、います・・・
中学生ができた問題を3日考えてもできないので、
恥を忍んで書き込みしました。放置プレーされるほどレベル低いのかと落ち込んでいました。
レスありがとう
0636デフォルトの名無しさんNGNG
>>635
おれも初心者でここで昨日やり方聞いたんだけど
>>558さんが教えてくれたやり方じゃ駄目なの?
0637デフォルトの名無しさんNGNG
>>636
問題はエラー処理と一番最初の入力項目を増やした時なんです。
項目3つだとIF文繋げて強引にできるのですが、スマートで汎用性のある処理にしたいのです。
0638デフォルトの名無しさんNGNG
>>633
その辺のことは、データの入出力に関することだから、
ストリームの勉強を一通りすべし。

一応 double 型の返り値を生成するメソッドを載せるので参考までに。
多分、動く・・・ハズ。

double inputNumber(){
 double number;
 BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in));
 System.out.flush();
 try{
  String str = keyin.readLine();
  double number = new Double(str).doubleValue();
 }catch(IOException e){
  System.out.println(e);
 }
 return number;
}
0639デフォルトの名無しさんNGNG
>>638
サンクス。いまからもう一度ストリーム関係
勉強しなおしてきます。
0640638NGNG
>>633
ちゃんと前レス読んでなかったが、改めて読んでみたら、
この場合は別に数値化しなくても、
Stringクラスのままで、equalメソッドを使った方が簡単。

>>630
せっかく途中までやったのなら、未完成でも自分で考えたのを晒した方が良いよ。
どうせ恥じかくのは一緒なんだから。
0641558NGNG
今なら私が教えてあげる特典つき。
0642デフォルトの名無しさんNGNG
import java.io.IOException;
import java.util.NoSuchElementException;
import java.util.StringTokenizer;

public class StringTokenizerSample {

public static void main( String[] args ) {

String message = new String( "おはよう/こんにちは/こんばんわ" );
byte[] inputBytes = new byte[1];
StringTokenizer tokenizer = new StringTokenizer( message , "/" );

System.out.println( message );
System.out.println( "どの部分を表示するか選んでください(1-3)" );
try {
System.in.read( inputBytes );
}
catch( IOException e ) {
System.out.println( e.getMessage() );
System.exit( 1 );
}
String inputString = new String( inputBytes );
int inputValue = 0;
try {
inputValue = Integer.decode( inputString ).intValue();
}
catch( NumberFormatException e ) {
System.out.println( e.getMessage() );
System.exit( 1 );
}

String outputValue;
try {
for( int i = 1; true; i++ ) {
outputValue = tokenizer.nextToken();
if( i == inputValue ) {
System.out.println( outputValue );
}
}
}
catch( NoSuchElementException e ) {
}

System.exit( 0 );
}
}
0643642NGNG
とりあえず書いてみた
これで一応動く
0644558NGNG
とはいったものの、これをどうしろって・・・。

まあ、いま一生懸命みてますよ。みてますとも。(笑)>>642
0645558NGNG
まず、これは非常に良くないです。

String message = new String( "おはよう/こんにちは/こんばんわ" );

こう書くべきです。

String message = "おはよう/こんにちは/こんばんわ";

理由は、

http://java-house.jp/ml/

この辺とかから自力で探してね。
0646デフォルトの名無しさんNGNG
>>643
まじすげえよ。あなたおれのなかじゃ神だ。
おれもくれくらい出来るまで頑張ろうと思う
きっかけになったありがとう。
0647642NGNG
>すでに別のメールで説明したように,new String("wahaha") というコンスト
>ラクタの役目を一口で言えば,「intern()の逆操作」であるからです.
>
>つまり,前者は,intern済のものを,未internに戻してから,再びinternする
>という,論理的に意味がない操作をおこなっています.意味があるとしたら,
>その副作用に基づく,GCシステムに対する負荷試験ぐらいでしょうね.
>
>しかし,後者はこれだけなら論理的に矛盾のないコードです.

ってとこだね。なるほど。勉強になったよ

なんとなく、コンストラクタを呼んだ方がいかにもnewしてるって感じで
そっちのほうがいいかなと思ってやっただけでした。
0648デフォルトの名無しさんNGNG
ちょっとまって
>630=>642
なの?
0649642NGNG
いや、漏れは>630の参考になればと思って書いただけです。
っていうか、書いてる間に>632-641くらい進んでてビクーリ
0650558NGNG
あと、カウンタとか、個数とか、そういう数を表す場合は、int を使うのが普通だと思います。
0651642NGNG
???
それはどこのこと?
0652558NGNG
なんでbyteが出てきたのかがよくわからなかったです。
0653デフォルトの名無しさんNGNG
import java.io.*;
import java.util.*;
public class StringTokenizerSample {
  static BufferedReader keyin;
  static int inputNumber(){
    int number = 0;
    if (keyin == null) {
      keyin = new BufferedReader(new InputStreamReader(System.in));
    }
    String str = null;
    boolean valid;
    do {
      valid = true;
      try{
        str = keyin.readLine();
      }catch(IOException e){
        e.printStackTrace();
        System.exit(1);
      }
      try {
        number = Integer.parseInt(str);
      } catch (NumberFormatException e) {
        System.out.println("正の整数を入力してください");
        valid = false;
      }
    } while (!valid);
    return number;
  }
  public static void main( String[] args ) {
    String message = "おはよう/こんにちは/こんばんわ";
    StringTokenizer tokenizer = new StringTokenizer( message , "/" );
    String[] messages = new String[3];
    int idx = 0;
    while (tokenizer.hasMoreTokens()) {
      messages[idx++] = tokenizer.nextToken();
    }
    System.out.println( message );
    System.out.println( "どの部分を表示するか選んでください(1-3)" );
    int inputNumber = inputNumber();
    inputNumber--;
    try {
      System.out.println(messages[inputNumber]);
    } catch(IndexOutOfBoundsException e ) {
      System.out.println("それは無いよ");
    }
  }
}
0654642NGNG
InputStreamで読み込むにはbyte配列以外は無理だと思ったから。
もしかすると漏れの知らない方法があるのかもしれないけど、
少なくともInputStreamにはそういうメソッドはないっぽい。
0655558NGNG
とりあえず今日はここまで。

何をやっているのかじっくり解析して、コメントとかをかくとよいかも。
がんばればもっときれいになる。ほんとうは、

 String message = "おはよう/こんにちは/こんばんわ";

の部分を変更して、もっと種類を増やしたりしたときに、
ソースコード中に直に書かれてしまっている 3 という数を、
(こういうのを「マジックナンバー」と言う)
書き直さなきゃならない、と言う部分も、直したいところ。

そのためには、文字列をばらした後で、いったん Vector とか、
ArrayListなんかに入れてやって、要素数を取得して、
その大きさを配列のサイズにしたり、

 どの部分を表示するか選んでください(1-3)

の表示に使ったりする。

とにかく、いろんな(まともな)人のソースを読むよろし。
がんば。
0656デフォルトの名無しさんNGNG
あ、そうか。
最初の文字列をだーっと1文字ずつスキャンして、'/' が
出てきた回数+1が、要素の数かぁ。。。

という手もあるなぁ。
0657642NGNG
つーか、漏れは別にレクチュアしてもらいたいわけではなく・・・
割と適当に書いたコードなんでツッコミどころはあるだろうけど、
それより>630が理解できたかどうかのほうが問題だと思う。

あと、InputStreamから値を読み込むときにbyte配列を使うのは
常套手段だと思うので知っとかないとマズイと思うよ
0658540 == 555NGNG
思いっきり、遅レスで、すまそ。

>>563
さんきゅー。解凍できた。
なんか、MFCで苦闘していた日々を思い出しながら、ソースながめてみた。

>>556
うーん、そういうことなら、結局、closeの前にflushはいらないということだよね。
closeのコード内でフラッシュしてるので。
とにかく、勉強になった。ありがとう。
0659630NGNG
レス遅れてすみませんです。
枕を涙で濡らして寝ていました・・・
相当勉強になりました。本当にありがとうございます。
これからも宜しくお願いします!!
0660HOENGNG

久しぶりの良スレの予感・・・
ガンバロウ!
0661デフォルトの名無しさんNGNG
StringTokenizer tokenizer = new StringTokenizer( message , "/" );
String[] messages = new String[tokenizer.countTokens()];
0662あのうNGNG
drawStringのときとSystem.outo.printlnを使って文字や変数を表示するときに
小数点以下2桁まで表示させるときにはどうすればいいんですか?
0663デフォルトの名無しさんNGNG
>>152
>>156

doSort() の実装の中で、ソートしたあとに、ソート済みの情報で、
super.sort(情報) してしまえば、metrix はクリアされちゃうし・・・。
doSort() の2回目の呼び出しは、黙って return してしまえ。
これで、0回の probe, compare, swap で、ソート可能。(笑)
0664デフォルトの名無しさんNGNG
>>662
java.text.DecimalFormatを使えば?
0665デフォルトの名無しさんNGNG
package abc;
public abstract class A{
...
}

____________________________

package abc;
public abstract class B{
public final A method(..){
...
}
}

のようなプログラムでA.javaはコンパイルできたのですが
B.javaをコンパイルしようとすると、
クラスabc.Aが見つかりませんといわれてしまいました。
で、両方とものソースのパッケージ宣言を外して再度コンパイルすると、
エラーは出ませんでした。
僕のパッケージ宣言の仕方がまずいのでしょうか?
0666デフォルトの名無しさんNGNG
>>665
作業ディレクトリに問題があるかも
0667デフォルトの名無しさんNGNG
>>666
即レスどうもありがとうございます。
問題があるとは具体的には、どう直したらいいんでしょうか?
0668デフォルトの名無しさんNGNG
>>667

# pwd
/home/2ch

# ls
abc test.java test.class

# javac abc/A.java
って感じか?

0669デフォルトの名無しさんNGNG
C:\foo> mkdir abc
C:\foo> move A.java abc
C:\foo> move B.java abc
C:\foo> javac abc\A.java
C:\foo> javac abc\B.java
0670デフォルトの名無しさんNGNG
>>668
>>669
Windowsなので>>669のようにやってみました。
ディレクトリ作成までは出来たのですが、moveコマンドが効かないっす。
C:\foo> move A.java C:\foo\abc
のようにしてもダメです。
って、これに関してはスレ違いですか?
0671デフォルトの名無しさんNGNG
>>670
mvだと思われ

>>668
スーパーユーザーで動かさない方が良いよ
0672デフォルトの名無しさんNGNG
>>669
abcディレクトリに二つのファイルをコピーしました。
んで、
C:\foo> javac abc\A.java
C:\foo> javac abc\B.java
とコンパイルするとやはり同じエラーが出てしまいます。。。
0673デフォルトの名無しさんNGNG
>>672
エラーメッセージをコピぺしろ
0674デフォルトの名無しさんNGNG
abc\A.java:10: クラス abc.A が見つかりません。
protected abstract void thread(A a);
0675デフォルトの名無しさんNGNG
>>674
thread(A a);
↓
method(A a);
0676 ◆VB6.V49. NGNG
VS6Pro持ってますがVBとDevしか使った事ありません
VB6はもうだめなので、Javaを始めようと思います
VJでアプレットの作成をしたいですが、どこから手をつけましょうか?
MSDNのVJはJavaの基本解説が不親切
おすすめサイトを教えてください〜
最初がアプレットは邪道ですか?
0677デフォルトの名無しさんNGNG
VJが邪道
0678デフォルトの名無しさんNGNG
すいません、とっても低レヴェルな質問なのですが、

class suretsu{
 public static void main(String arg[]){
  int i, j;
  int A[7]; //この行
  int B[6]; //この行

  for (i = 0; i < 7; i++){
   B[i] = i;
  }
  for (j = 0;j < 8; j++){
   A[j] = A[j - 1] + B[j - 1];
  }
 }
}

コンパイルしようとすると']'がありませんとのエラーが出ます。
どうしてですか?
0679 ◆VB6.V49. NGNG
>>677
そう言わないでお願いします
アプレットはVJに依存しないですよね?<わかって言ってるか不明
ActiveXにはウンザ‐リなのでアプレット!!
Javaは全く初めてなので、どこが有名サイトなんだろ…
0680デフォルトの名無しさんNGNG
int[] A = new int[7];
0681デフォルトの名無しさんNGNG
>>680
あぁ、そっか、基礎を忘れてました。
ありがとうございます。
0682途中参加NGNG
>>655 その書き方だと ・・・/こんにちわ//こんばんわの場合、空欄部分を無視しちゃいます。
空欄認識させる方法を伝授してください。
0683678NGNG
すいません、>>680さんの通りに直したら、他のエラーが出ます。
Exception in thread "main" java. long.ArrayIndexOutOfBoundException at suretsu main(suretsu.java:8)
がエラー文です。
どういう意味ですか?
0684デフォルトの名無しさんNGNG
ArrayIndexOutOfBoundException です。
0685デフォルトの名無しさんNGNG
それは単純に配列インデックスに不正な値を突っ込んでるだけだ

int[] hoge = new int[5];

hoge[5] = 1;

とかやってると出る。
0686678NGNG
>>685
つまり、
Int[] hoge = new int[5];
と書くと、0〜5のインデックスではなく、要素が5個ということで、0〜4がインデックスということですね。
了解です。
ありがとうございました。
0687デフォルトの名無しさんNGNG
JAVAでインターフェイスを自分で作る時って
どんな設計の時なのでしょうか??
自分で作るクラスやメソッドはわかるのですが、
インターフェイスを作った事がありません。
作って実装した事がある方、そのソフト設計というか、
つくりを教えていただければと思います
0688デフォルトの名無しさんNGNG
初心者です。
JSPで、Excelファイルを吐き出すプログラムを作っています。
Contenttypeでエクセルを指定してるのですが、吐き出すファイル名が指定できません。

出力するエクセルファイルの名前を指定する方法はありますか?
0689デフォルトの名無しさんNGNG
下記プログラムで、なぜFontオブジェクトの初期化と変数soundの初期化が必要なのか
教えてください。

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

public class Graph extends Applet implements Runnable{
Thread kick;int loop=0;Font f;AudioClip sound;
int data[][]={{200,100,400,80},{150,120,50,200},
{180,150,300,150},{200,220,400,50}};

public void init(){
f=new Font("Helvetica",Font.BOLD,30);
sound = getAudioClip(getDocumentBase(),"sounds/cowbell.au");}
public void start(){
if(kick==null){
kick=new Thread(this);
kick.start();}
}
public void run(){
while (true){
if(++loop>=4) loop=0;
repaint();
try{
Thread.sleep(5000);
}catch(InterruptedException e){
}}
}
public void paint(Graphics g){
sound.play();
     g.setFont(f);
     g.setColor(Color.black);
g.drawString("A",5,80);
g.setColor(Color.yellow);
g.fill3DRect(35,60,data[loop][0],20,false);
     g.setColor(Color.black);
g.drawString("B",5,130);
g.setColor(Color.blue);
g.fill3DRect(35,110,data[loop][1],20,false);
     g.setColor(Color.black);
g.drawString("C",5,180);
g.setColor(Color.orange);
g.fill3DRect(35,160,data[loop][2],20,false);
     g.setColor(Color.black);
g.drawString("D",5,230);
g.setColor(Color.green);
g.fill3DRect(35,210,data[loop][3],20,false);
}
public void stop(){
if(kick !=null){
kick.stop();
kick=null;
}}
}
0690デフォルトの名無しさんNGNG
あなたは初期化しないの?
0691デフォルトの名無しさんNGNG
init()で行っているのは初期化ではないのか…
うーむ… 奥が深い…
0692デフォルトの名無しさんNGNG
>>687
JDKのソースでも見てください。
Collection API の java.util.List と
java.util.ArrayList, java.util.LinkedList とか、

もっと簡単なのってーと
java.util.Collections の sort(List list, Comparator c) や
java.util.Arrays の sort(List list, Comparator c) と
java.util.Comparator の関係とか。
0693678NGNG
う
 ん
   こ
      な
          げ
               ま
                     く
                            り
と表示したいのですが、どこが間違えてますか?
コンパイルできるのですが、何も表示されません!
教えてください。m(__)m

class unko{
 public static void main(String arg[]){
  int i, j, k, l;
  int A[] = new int[8];
  int B[] = new int[7];

  for (i = 0; i < 7; i++){
   B[i] = i + 1;
  }
  for (j = 0; j < 8; j++){
   if (j == 0){
    A[j] = j;
   }else{
    A[j] = A[j - 1] + B[j - 1];
   }
  }
  for (k = 0; j < 8; k++){
   if (k != 0){
    for (l = 0; l < A[k]; l++){
     System.out.print(" ");
   } }
   switch (k) {
    case 0 : System.out.println("う");
     break;
    case 1 : System.out.println("ん");
     break;
    case 2 : System.out.println("こ");
     break;
    case 3 : System.out.println("な");
     break;
    case 4 : System.out.println("げ");
     break;
    case 5 : System.out.println("ま");
     break;
    case 6 : System.out.println("く");
     break;
    case 7 : System.out.println("り");
     break;
   }
  }
 }
}
0694デフォルトの名無しさんNGNG
単純なタイプミス
バグ取りくらい自分でやれ
0695デフォルトの名無しさんNGNG
ところで、配列 B は本当に必要ですか?
0696デフォルトの名無しさんNGNG
> どこが間違えてますか?

いくら初心者スレとはいえ、良いのかこれは?
0697デフォルトの名無しさんNGNG
>>695
それ言い出したら A だって要らんだろ。
0698デフォルトの名無しさんNGNG
ネタも大歓迎なんだからいーんじゃない?質問するのは。
0699デフォルトの名無しさんNGNG
っつか、 switch(k)も(以下略)
0700デフォルトの名無しさんNGNG
っつか、このプログラム自体(以下略)
0701デフォルトの名無しさんNGNG
いや、 >>693 の存在自体(以下略)
0702デフォルトの名無しさんNGNG
>>676
とりあえず、j2sdkをインストロールしろ
そして、
javax.swing.JAppletを継承したクラスを作れ
0703デフォルトの名無しさんNGNG
>676
http://java.sun.com/
0704デフォルトの名無しさんNGNG
初心者です。

JAVAアプレットのソースをもらって、htmlファイルに組み込もうとしたのですが、
ある特定のクラスファイルだけftp転送中にエラーが生じます。
ちなみにerrno=13なのですが、どうしてなのでしょうか?

スレ違いだったらごめんなさい。
よろしくお願いします。
0705デフォルトの名無しさんNGNG
>>704
EACCES かな? FTP ソフトがそのファイルの読み込みに失敗してると
思われ。ディスクエラーの可能性が高いから、スキャンディスク走ら
せてもう一度コンパイル & FTP 転送をやってみれ。
0706HOENGNG

>>704
$つきのふぁいるとかない?外部クラスも使ってるでしょ?
とにかくJarで固めよう
0707デフォルトの名無しさんNGNG
JFileChooserを使って画像読みこんでJPanelにdrawImage()するとなぜか
JFileChooserのダイアログがあった部分の画像が切り取られてしまうんですが
おまえらどうにかなりませんか?
0708デフォルトの名無しさんNGNG
うるせーバカ
0709デフォルトの名無しさんNGNG
JAVAでフライトシュミレーターって作れるんですか?
0710デフォルトの名無しさんNGNG
>>709
JAVAでっっっ1!
作れないものなどっっっ!!!!
ないっっっっっ!!!!!!!!!
0711デフォルトの名無しさんNGNG
それはネタなのか…
0712デフォルトの名無しさんNGNG
>707
updateで変な事してるとかかなぁ
もしくはgetGraphicsで描いてたりとか

それだけじゃわからんちん
0713JBUILDER6NGNG
JBUILEDER6ってコードのフォーマットできないんですか?
0714678NGNG
>>694
ありがとうございます。
まだ見つからないけど、頑張ります!

>>695
別に System.out.printlnだけで書いてもいいのですが、
何となく、初項1、項差1の等差数列B[n]を階差数列に持つA[n]という数列を使ってみました。
0715デフォルトの名無しさんNGNG
>>707
>>JPanelにdrawImage()するとなぜか
ということは、JPanelを継承したクラスで、paintメソッドで描いている訳
じゃないの?
画像を自動で再描画するには、paintメソッドで描くようにした方がいいよ。
0716704NGNG
>>705,706
レスありがとうございます!
とりあえずスキャンディスクはしてみたのですが、やっぱり同じエラーになります。
当方アプレットに関しては全く知識がなく、ただhtmlソースに貼り付ければ動くと言われたので、
コンパイルとかもよくわからず・・・すみません。

$つきのファイルばっかりです。でもついているのでも転送できたのもありました。
Jarで固める、とのこと、調べて見ます。ありがとうございました。



0717デフォルトの名無しさんNGNG
使ってる FTP ソフト晒せ。
0718デフォルトの名無しさんNGNG
JAVAのことさっぱりわかりませんが、課題で
人工無能の対話するものを作らなくてはなりません。
どなたかソース(?)教えてください。(もしくは公開しているHP)
言葉をかえるだけでいい!みたいなのありますか?
0719デフォルトの名無しさんNGNG
>>718
この書き込みをそのまま提出して君の人工無能っぷりを見せ付けてやれ。
0720718NGNG
>>719
それですむなら、そうしたいよ。
0721デフォルトの名無しさんNGNG
>>718-720
ワロタ
0722ぐぐる信者NGNG
>>718
http://www.google.com/
0723デフォルトの名無しさんNGNG
>>718
探してみたのか?
Java がさっぱり分からないのは授業をさぼっていたからじゃないのか?
そもそも課題ではプログラムを作るように指定されていたのか?
0724718NGNG
いろいろキーワードかえてさがしたんですけど
ソースのってるのがみつかんないんです。
授業きいてたんですけど、高度すぎて、ついていけません。
課題はプログラムをつくるんです。
0725デフォルトの名無しさんNGNG
一発で見つかっちゃったよ。
0726718NGNG
>>725
ほんとですか!?ぜひ教えてください!
0727デフォルトの名無しさんNGNG
>>715

paintComponent() じゃなくて?
0728デフォルトの名無しさんNGNG
来月から Java ぷるぐらまになります。
よろぴこ。
0729デフォルトの名無しさんNGNG
どこが質問・相談なんだ?
0730795NGNG
>>729
ヨロプク
0731HOENGNG

>>716
java -jar cvf hoge.jar *.class

アプレット実行ファイル名がhoge.javaだったら、hoge.classが作成されるよね?
classファイルの中には $ マーク付きのファイルもたくさんあると思う。
一つにまとめると、転送サイズも小さくなるよ。問題の解決にはならないと思うけど。

あと、HTMLへのアプレットの記述も書いてほしいな。念のため。
画像ファイルなどがあればそれらの画像ファイル名は転送後、ちゃんと大文字小文字は
ソースファイル指定の文字になっているかどうかを確認してみて。

classファイルはバイナリでFTP転送しないとダメだからね。

ローカルで動くんだから、後もう一息!がんばってね
0732HOENGNG

>>718
PerlとかCGIだったら理解しやすいかも。
Web裏技 というページに昔人工無能イチロー君があったけど(今はないかも)

処理のプロセスはみれば何となく分かると思うよ。
0733デフォルトの名無しさんNGNG
>java -jar cvf …

と

>jar cvf …

って何が違うの?
0734HOENGNG

>>733
あ、ごめん まちがえた

jar -cvf.....だ 混乱させちゃったかも。ゴメン
0735デフォルトの名無しさんNGNG
>718
これ提出すれ

public class Kadai {
  public static void main( String[] args ) {
    System.out.println( "私は無能です" );
  }
}
0736デフォルトの名無しさんNGNG
質問
実行結果を下記のように出すにはどうすればいいの?

A:\>java Histogram 56 25 67 88 100 61 55 67 76 56

ヒストグラム
0- 9|
10- 19|
20- 29|*
30- 39|
40- 49|
50- 59|***
60- 69|***
70- 79|*
80- 89|*
90- 99|
100- |*
最低点:25
最高点:100
平均点:65.1
0737デフォルトの名無しさんNGNG
jarつくるときってマニフェストファイル書かなくていいの?
いろいろ悩んでできなくて、マニフェストかいたら1発だった
という経験があるんだけど。
0738デフォルトの名無しさんNGNG
>>736
回答
そういう動作をするプログラムを書く。
0739デフォルトの名無しさんNGNG
>736

public class Histogram {
  public static void main( String[] args ) {
    System.out.println( "ヒストグラム\n0- 9|\n10- 19|\n20- 29|*\n30- 39|\n40- 49|\n50- 59|***\n60- 69|***\n70- 79|*\n80- 89|*\n90- 99|\n100- |*\n最低点:25\n最高点:100\n平均点:65.1" );
  }
}
0740HOENGNG

>>737
jarで固めるだけだったらいらないと思うな。(タブン
Beanなのかを示す場合に Java-Bean: True を記述する必要があったと思うけど。


0741デフォルトの名無しさんNGNG

>>739
オオイニワラタ
0742HOENGNG

main(String[] args) に入ってきた引数を数える。
(args.length とかで要素の数を求められますよね)

その要素がどの項目に割り当てられるべきかを条件分岐する。
(別にif文をたくさん並べても可能だし、もっとスマートに書くこともできますよ)

該当した場合、それぞれ用意しておいた各項目ごとのint型変数をインクリメントする

各項目の変数を args.length の分だけ 頭から System.out.println する

最低点
初期の値を0にして、その変数の値よりも比べる要素の方が小さい場合にのみ代入
する という条件分岐を 要素の数 args.length だけ行います。

最高点
最低点の逆です

平均点
一番簡単です。 要素を片っ端から順番に足していって args.lengthの数でわり算します。
0でわり算してしまうことに注意する必要があります。

Mathを使うことでもっと上手に求められることも覚えた方がよいかもしれません。

言葉足りない部分 みなさんのフォローお願いします
0743デフォルトの名無しさんNGNG
これを、ちょっと美しめに書くとしたら、みなさんならどんなふうに
クラス分けしますか?(mainメソッドの中で全部やるのも可能だけど)

histogram クラスに、データを追加していって、最後に、
自分で自分を表示すれ、てな風に呼びますか?

それと、平均、最高、最低などの値を求めることが出来る
データのあつまりって、なんと呼べばいいんでしょう?

0744デフォルトの名無しさんNGNG
途中参加するから意味不明なのか?俺は。

>これを、
どれを?
>データのあつまりって、なんと呼べばいいんでしょう?
データベース
0745707NGNG
色々やってたら解決しました。サンキュ
0746デフォルトの名無しさんNGNG
>>743
美しいはともかく、クラス分けするほどのプログラムだろうか。
まあ、分けようと思えば分けられないこともないんだろうが。
0747デフォルトの名無しさんNGNG
エクセルでやればいいじゃん。
0748736NGNG
ヒントをありがとうございます。
{56 25 67 88 100 61 55 67 76 56}の数字は例なので、
他の数字でも動くプログラムを書きたいのです。
よろしくお願いしますm(_ _)m



0749 ◆J2SE/.yE NGNG
>748
なぁ。
どうすれば出来るかもうちょっと自分で考えて見ろ。
望む結果出力を得るには、どうゆう処理と計算が必要か。

何がわかって何がわからないのかを列挙して、
わからない部分だけを質問し直せ。
0750デフォルトの名無しさんNGNG
なーんにもわかってないんじゃないの?(w
プログラムなんてホントはやりたくないとか・・。
0751デフォルトの名無しさんNGNG
ショートカットを作りたいんですが。
myJMenuItem.setAccelerator(KeyStroke.getKeyStroke('s'));
としたら、メニューでアイテムの横に
Unknown KeyCode :0x0 と表示されます。
誰か教えてください。
0752デフォルトの名無しさんNGNG
>748
課題の答え書いてもらおうとしてるだろ?

授業でもらったプリントをもう一回見なおせ!
0753僕も初心者君NGNG
public class Histogram {
public static void main( String[] args ) {
int sum = 0;
int high = 0,low = 100;
double ave = 0;
String Title = "ヒストグラム",Saikou = "最高点:",
Saitei = "最低点:",Heikin = "平均点:";
String[] Item = {" 0 - 9|"," 10 - 19|"," 20 - 29|",
" 30 - 39|"," 40 - 49|"," 50 - 59|",
" 60 - 69|"," 70 - 79|"," 80 - 89|",
" 90 - 99|","100 - |"};
int[] num = new int[11];
StringBuffer[] Asterisk = new StringBuffer[11];
for (int i = 0;i < num.length;i++){
num[i] = 0;
Asterisk[i] = new StringBuffer();
}

try{
int InputNum;
for (int i = 0;i < args.length;i++){
InputNum = Integer.parseInt(args[i]);
Asterisk[InputNum / 10].append('*');
sum += InputNum;
if(InputNum > high)high = InputNum;
if(InputNum < low)low = InputNum;
}
ave = (double)sum / (double)args.length;
}
catch(Exception e){
e.printStackTrace();
}
System.out.println(Title);
for (int i = 0;i < Item.length;i++){
System.out.println(Item[i] + Asterisk[i]);
}
System.out.println(Saitei + (low));
System.out.println(Saikou + (high));
System.out.println(Heikin + (ave));
}
}
0754僕も初心者君NGNG
>753
突っ込みどころ満載でしょうが、748氏の求める仕様をとりあえず満たすプログラムを書いてみました。
初心者なのでこんなのでも1時間半ぐらいかかってしまいました。
>>736
平均点が、キリの悪い場合は小数以下も何桁も続いてしまいます。
Cみたいに%3.1fとか桁数を合わす方法をまだ知りません。その辺はまた調べようと思います。
オープン系に行きたい2年目汎用男でした。ウザかったらごめんなさい。
0755僕も初心者君NGNG
Javaって例外が分かりやすくてよいですね。
0756 ◆J2SE/.yE NGNG
>>751
とりあえず、's' を 'S' にしてみる。
それでダメなら getKeyStroke(KeyEvent.VK_S,0) にしてみる。

>>753
答え書くなよ…。
てか、748=736 が
Asterisk[InputNum / 10].append('*');
を理解できるんだろうか…。
0757HOENGNG

大変お疲れさまでした  
きっと748さんも感激してくれることと思います。

あしたあたりさっそく次の問題で、「グラフを縦に」したいとか言っちゃったりして ^^;
0758751NGNG
>>756
2番目の方法でメニューアイテムの右にSと表示される
ようになったんですが、反応ありません。何でですか?
0759デフォルトの名無しさんNGNG
>>756
748 が 「こういう風に書いたのですが、上手くいきません」 だったならともかく、
742 のヒントを見ていないかのようなレスだからなあ。
彼は答えをそのままコピーするくらいしかできないんじゃないかね。
何のために学校に行っているのだか。
0760 ◆J2SE/.yE NGNG
>>758
そんなこと言われても…。
これでもだめ?

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

public class MTest extends JFrame{
public static void main(String[] argv) {
MTest insta=new MTest();
insta.pack();
insta.setVisible(true);
}
public MTest(){
setJMenuBar(new MBar());
}

class MBar extends JMenuBar implements ActionListener{
MBar(){
JMenuItem item=new JMenuItem("えすぼたん");
item.addActionListener(this);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,0));
JMenu mn=new JMenu("めぬー");
mn.add(item);
add(mn);
}
public void actionPerformed(ActionEvent evt){
System.out.println(evt.toString()+" ::: "+System.currentTimeMillis());
}
}
}
0761751NGNG
>>760
それ、できました。
うーん。何が違うのだろうか?
ちなみに私のはポップアップメニューなんですが
関係ないですよね?
0762デフォルトの名無しさんNGNG
このスレにいる人ってまさかJavaマンセな人じゃないでしょうね?
0763 ◆J2SE/.yE NGNG
>>761
setAccelerator() は、内部で
registerKeyboardAction() を WHEN_IN_FOCUSED_WINDOW で呼ぶことで、
ショートカットキーを登録します。
つまり、その JMenuItem を含むウィンドウにフォーカスがないと効かないわけですな。
ポップアップメニューは別ウィンドウとして扱われるので、ダメなわけです。はい。
0764デフォルトの名無しさんNGNG
public class Histogram{
private int[] values = null;
private int[] dist = new int[11];
private int sum = 0;
private int max = 0;
private int min = 0;
private double ave = 0.0;
Histogram(int[] arr){
if(arr == null || arr.length == 0)return;
values = (int[])arr.clone();
min = 100;
max = 0;
for(int i = 0; i < values.length; i++){
if(values[i] < 0 || 100 < values[i])throw new IllegalArgumentException("不正な点数が含まれています:" + values[i]);
if(min > values[i])min = values[i];
if(max < values[i])max = values[i];
sum += values[i];
dist[(values[i] / 10)]++;
}
ave = (double)sum / values.length;
}
void show(){
System.out.println("ヒストグラム");
for(int i = 0; i <= 10; i++){
StringBuffer buf = new StringBuffer();
if(i < 10)buf.append(i).append('-').append(i + 9);
else buf.append("100-");
buf.append('|');
for(int j = 0; j < dist[i]; j++)buf.append('*');
System.out.println(buf);
}
System.out.println("最低点:" + min);
System.out.println("最高点:" + max);
System.out.println("平均点:" + ave);
}
public static void main(String[] args){
if(args.length == 0){
System.out.println("数字(0−100)を入力してくだちい");
return;
}
int[] arr = new int[args.length];
for(int i = 0; i < args.length; i++){
try{
arr[i] = Integer.parseInt(args[i]);
if(arr[i] < 0 || 100 < arr[i]){
System.out.println(args[i]+"は範囲外ですよ");
}
}catch(NumberFormatException e){
System.out.println(args[i]+"は数字じゃないよ");
return;
}
}
Histogram hist = new Histogram(arr);
hist.show();
}
}
0765764NGNG
自分で考えました
>759さん採点してくだちい
0766751NGNG
>>763
ありがとうございます。
まだよくわかりません。
ポップアップだとショートカットつけられないんですか?
0767デフォルトの名無しさんNGNG
つけれるでぃしょ。
0768デフォルトの名無しさんNGNG
>>751
Action使うとよいよ。
0769初心者NGNG
byte a;
int b = 258;
a = (byte)b;
でaが2となる理由を分かりやすく教えてください。
お願いします。
0770デフォルトの名無しさんNGNG
>>769
00000000000000000000000100000010 = 258(32bits)
            ↓
00000010 = 2(8bits)
0771デフォルトの名無しさんNGNG
>>769
258を2進数で表現して(32bit)、その下8bitを取ってみ。
0772デフォルトの名無しさんNGNG
>>769 さんに便乗
b = 160;
のように 256 より下のとき、マイナスになりますがなぜですか?
0773デフォルトの名無しさんNGNG
正確には127から255のようですね。
>>770-771 さんの様に考えると、>>772 は
1010 0000
になりますよね。で、これが-96になるのがわかりません。
0774デフォルトの名無しさんNGNG
>>772
補数表現
http://www.google.co.jp/search?q=%95%E2%90%94&hl=ja&lr=
0775デフォルトの名無しさんNGNG
>>772,773
javaのbyteは符号付。javaで符号なしの整数型はcharのみ。
0776デフォルトの名無しさんNGNG
>>774
おぉ、これが2の補数ってやつですね。
1010 0000 を反転して+1
0110 0000 で96
なるほど。サンクス。
0777デフォルトの名無しさんNGNG


みんな今日もお仕事なのね。
0778デフォルトの名無しさんNGNG
Webサーバや独自プロトコルなどのソケット通信系xスレッドを使った
ソースを読んでみたいのですが、なにかオススメのオープンソースプロジェクトなど
あったら教えて下さい。

0779デフォルトの名無しさんNGNG
IPメッセンジャーfor JAVA
0780JAVA勉強中NGNG
スレッドについての質問です。

 wait()メソッドは、synchronizedメソッド/ブロックを実行中のスレッドは、
取得しているオブジェクトロックを解放してから、何をしている(待っている)
んですか?

 notify()メソッドは、synchronizedメソッド/ブロックを実行中のスレッドが、
そのオブジェクトロック解放を待っているスレッドに対して、「もうすぐ、
オブジェクトロックを解放するよ。ちよっと待ってて。」みたいなメッセージを
送るんですか?

 もし後者(notify()メソッド)がそうなら、wait()メソッドは、オブジェクト
ロックを解放して、このnotify()メソッドのこの通知を待っているんですか?

長くなってスイマセン。
0781780NGNG
訂正・・・

1行目「実行中のスレッドは、・・・」
            ↓
   「実行中のスレッドが、・・・」
0782デフォルトの名無しさんNGNG
アプレットでliveconnectを使いたいんですが
moz3_0.zipはどこで手に入れればいいんでしょか。

netscape3なんて持ってないですよ・・(;´Д`)
0783デフォルトの名無しさんNGNG
>>780

いまいち日本語がわからん。
書き直せ。

「wait() がやってること」=「notify() の通知を待つ」というのは、
だいたい正しいと思うぞ。

0784780NGNG
>>783
レスどうもです。
説明下手でごめんなさい。・゚・(ノД`)・゚・。

「wait()が待っているもの」=「notify()の通知」ってことでいいんですね。
0785デフォルトの名無しさんNGNG
wait() になったことが無いので、wait() のきもちはわからんが、w
notify(), notifyAll() で起こされるまで待っているのは機能の1つ。

あと、割り込まれるか、待ち時間が過ぎる、というのもある。
0786デフォルトの名無しさんNGNG
便乗質問ですが・・
wait(1000)とした後、notify()されたら1秒待たずに
復帰するんですかね?
0787質問っすNGNG
スレッドを使ったアプリでスレッド内部からログ出力を行う際に、
ログクラス内のキューにログ内容を溜めてから、
内部のスレッドで順次ログ出力するような機構が一般的でしょうか?
そのまま出力しちゃうとメインのスレッドがWriteされるまで
待たされますよね?
0788デフォルトの名無しさんNGNG
>>787
サーバサイドみたいに多数のスレッドがログを吐きまくるシステムではそれが
基本なはずなんだけどねぇ... 出来てないフレームワークが多いんだよねぇ...
WACs とか ServletWorks とか...
0789デフォルトの名無しさんNGNG
>notify()メソッドは、synchronizedメソッド/ブロックを実行中のスレッドが、
>そのオブジェクトロック解放を待っているスレッドに対して、「もうすぐ、
>オブジェクトロックを解放するよ。ちよっと待ってて。」みたいなメッセージを
>送るんですか?

notfiy()をコールしたオブジェクトでwaitしていたスレッドのうちの一つの
スレッドのステータスを「実行可能」に変更するのです。

JVMは、「実行可能」状態のスレッドから一つ(CPUの数とスレッドスケジューラの
実装にもよるけど)を選んで、CPUの実行剣を付与するわけです。
0790789NGNG
実行権ね。

だから、notify()コールしたからといって、直ちにwait()していたスレッドが
動き出すとは保証されないのよ。
wait()していたスレッド以外に一つも「実行可能」な状態のスレッドがなければ、
直ちにwait()スレッドが動き出すのが道理だけど、少なくとも「notify()をコール
したスレッド」は「実行可能」な状態のスレッド(しかもその時点で実行中の
スレッド)だったわけで。
0791流れ無視だけどNGNG
スピンロックかけといて「なんでCPU利用率100%なんじゃー」と騒ぐ人は
大体>>789-790みたいな話がわかってないんだよな。
0792789NGNG
>>787
メンドウくさけりゃ、非常にバッファのデカイBufferedOutputStream
モドキをつくるとか。メモリをバッファに使いさせすればけっきょく
実行時性能は変わらんわけで。

JDK1.4でメモリマップドファイル使ってみるとどうだろね。
バッファサイズの制御や、read/writeの最適化がしやすくていいん
じゃない?
0793デフォルトの名無しさんNGNG
>>792
1.4 は Logging API があると思われ
0794789NGNG
>>793
そうだった(藁
0795789NGNG
>>786
もしどのスレッドからもnotify()コールされなかったとしても、1秒
(スケジューラの実装によるけど厳密には「1秒たった後でスレッドの
ステータスチェックのロジックが動作したとき」だね)たつと「実行
可能」に戻るだけです。
0796デフォルトの名無しさんNGNG
ネタはマ板か
http://pc.2ch.net/test/read.cgi/tech/1021817147/
でシル!!
0797789NGNG
>>796
SJC-PレベルのJava言語初心者向け話題だけど・・・
0798デフォルトの名無しさんNGNG
>796
思い切った誤爆だな(w
0799796NGNG
スマソ
http://pc.2ch.net/test/read.cgi/tech/1021555964/
に書き込むつもりだった。
鬱だし脳。
0800デフォルトの名無しさんNGNG
HttpURLConnectionを使いたいんですけど、
なんでコイツはabstractなんですか?
どーやって使えばいいかサッパリ( ゚д゚)

抽象クラスは、サブクラスを定義して使うもんですよね
で、その抽象クラスの参照型変数に、サブクラスのインスタンスを参照させると。
間違ってます?

それでHttpURLConnectionですが、ttp://ash.jp/java/java_http.htm これの下の方を見ると、
URL urlObj;
HttpURLConnection urlCon;
urlCon = (HttpURLConnection)urlObj.openConnection();
と、URL.openConnection()を参照させてますけど、
URL.openConnection()はURLConnection型でそれも抽象クラス・・・
HttpURLConnection.disconnect()はabstructメソッドなのに平気で呼び出してるし・・・

いったいどーゆー原理なんですか?教えてください
0801 ◆J2SE/.yE NGNG
>>800
>で、その抽象クラスの参照型変数に、サブクラスのインスタンスを参照させると。
>間違ってます?

間違ってない。
てか、これが理解できていてるなら、下のプログラムも理解できるだろ??

>抽象クラスは、サブクラスを定義して使うもんですよね

そう。abstractクラスは、インスタンスを作れない。
今回の場合の urlObj.openConnection() は、
URLConnection のサブクラスの HttpURLConnection の、さらにサブクラスの
インスタンス(への参照)を返している。
ところが、urlObj.openConnection() は、戻り値が URLConnection(参照型)なので、
このままだと、disconnect() は使えない。
なので、わざわざ HttpURLConnection にキャストして、HttpURLConnection(参照型)に
入れているわけだ。
これでいいか?
0802こんにゃく計画NGNG
 趣味でJavaプログラムを組んでいるものですが、
わからないことがありまして、質問させていただきます。

 現在作成しております、プログラムでは、
日付および時刻の情報を保持するためにjava.util.Dateを
利用しています。

そのプログラム内で、Dateに対する同じ操作を
何度も行っている部分がいくつかありますので、
Dateを継承したクラス(DateEx)を作成して、
まとめてしまおうと思いましたが、
あるひとつの機能が問題にぶつかりました。

・問題の機能
「DateExのコンストラクタで、日付を表すString(yyyy/MM/dd形式)を
渡して、その値でDateExを初期化する、
日付が解析できない場合はParseExceptionをthrowする」
というものです。

・発生した問題
Dateを継承しているDateExのコンストラクタの最初に
superを呼び出さなくてはならないため、
文字列を解析するタイミングがなくなってしまう


Dateを包含する形でDateExを作成すれば問題ないのですが、
DateExはDateのサブクラスである必要がありますので、
今回はその方法がつかえませんでした。

現状は、DateExにstatic関数を定義し、その関数を使って
文字列からDateExを作成していますが、
初期化する際にミリ秒ならばコンストラクタなのに、
文字列はstatic関数で作成なので
直感的ではない気がしています。

まとめ:
�@DateExはDateの継承クラスである必要がある。
�ADateExはコンストラクタで文字列を渡して初期化する機能が必要。
�BDateを包含したり、static関数は使いたくない

この条件を満たすクラスを作成するのは
無理でしょうか(設計ミス?)

よろしくお願いします。
0803こんにゃく計画NGNG
 長すぎました(大汗


最後のまとめ部分書いておきます

まとめ:
�@DateExはDateの継承クラスである必要がある。
�ADateExはコンストラクタで文字列を渡して初期化する機能が必要。
�BDateを包含したり、static関数は使いたくない

この条件を満たすクラスを作成するのは
無理でしょうか(設計ミス?)

よろしくお願いします。
0804デフォルトの名無しさんNGNG
Date を内包してなおかつ Date を継承するのも出来るし (Wrapper つうか Adapter つうか):

public class DateEx extends Date{
  private Date date = null;
  …
  public long getYear(){ return date.getYear();}
  public long getTime(){ return date.getTime();}

String を long に変換する static メソッド作って、その返値をスーパークラスの
コンストラクタに渡すことも出来る:

public DateExt(String dt){
  super(parseDate(dt));
}
private static long parseDate(String dt) throws ParseException{
  DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
  return df.parse(dt).getTime();  // あってるかな?
}
0805名無しさん@お腹いっぱい。NGNG
TOMCATをサーバにインストールして起動したら

%CPU %MEM VSZ RSS TT STAT COMMAND
0.0 6.8 102988 17644 con S+ /usr/local/jdk1.3.1/bin/i386/

こんな状態に・・・ひゃくめがっすよ・・・
これが普通なのかな?サーバ管理者の方、教えて!
0806デフォルトの名無しさんNGNG
>>805
普通だが 100 MB 全部使い切ってるわけではないし。
数字が気になるなら起動シェルを修正して使用メモリ制限すれば? (-Xmx だったかな)
0807名無しさん@お腹いっぱい。NGNG
905ですが・・・

ヒープしているわけだから、使い切ってるでしょ。
他のプロセスは使えないんだから。

で、使用メモリの制限とはなにかいな?っと。

ありがとう。もー手探りでさ、なにが正しいのかわかんないよ。
0808デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/tech/1002160815/398
0809デフォルトの名無しさんNGNG
EJBにて、Bean管理による2相コミットやろうとしてるんですが、
コンテナ管理にすべきですか?
わたしゃー、Bean管理にするとコーディングが面倒くさいし、
複数Beanにまたがるトランザクションの複雑さを考えると
コンテナ任せにした方が良いんでわないかと言うておるんですが・・。
聞いてくれないしぃー。。
0810800NGNG
>>801
なるほど、合点がいきました
URL.openConnection()の返り値がURLConnection型なので、
URLConnectionのインスタンスを作るのかと思ってました
どうもありがとうございました
0811デフォルトの名無しさんNGNG
はい、質問ですよ〜
文字処理に関係するクラスはなんでしょうか?
0812デフォルトの名無しさんNGNG
>>811
java.util.regex.Pattern
0813デフォルトの名無しさんNGNG
>>812
それって1.4じゃないっすよね?
0814デフォルトの名無しさんNGNG
>>813
1.4です。
0815デフォルトの名無しさんNGNG
>文字処理に関係するクラス
なにがしたいんだよ
0816デフォルトの名無しさんNGNG
>>809
聞いてくれないじゃどうしようもないんじゃないの?
0817デフォルトの名無しさんNGNG
あるフォーマット(汚い)で入力した文字列をあるフォーマット(きれい)に書き換えたいのです。
0818デフォルトの名無しさんNGNG
JButtonに関する質問が2つあります。
1)JButton の大きさを調節したいのですが、
どのようにすればいいのでしょうか?

Component からsetSizeメソッドを継承しているので
てっきりこれで大丈夫なのだと思ったのですが、
まったく大きさが変わりません。

2)JButton に画像を表示したいのですが、
二つの画像で一つのテキストを(横並びで)挟むような
デザインにしたいのです。
コンストラクタでの設定では左に画像、
右にテキストという表示しか出来ませんし、
HTMLを使用しても、IMGタグは使えないです。

よろしくお願いいたします。
0819こんにゃく計画NGNG
>>804

 教えていただいた方法で、難なくできました、

 もっと勉強する必要があることを痛感しました(汗。

ありがとうございます。
0820デフォルトの名無しさんNGNG
>>818
1)JButtonを置くものにsetLayout
2)JButton("<html><body><img src=\"a.jpg\">anytext<img src=\"b.jpg\"></body></html>");
0821デフォルトの名無しさんNGNG
>>818
1)はsetMinimumSize(Dimension)かな
0822デフォルトの名無しさんNGNG
前までできていたはずなんですが、自作クラスが読み込めなくなってしまいました。
ServerクラスをClientクラスで呼び出すのですが、Server.javaをコンパイルした後にClient.javaをコンパイルすると以下のエラーがでます。

client.java:33: シンボルを解釈処理できません。
シンボル: クラス Server
位置 : Client の クラス
Server server;
^

どのようにすれば元に戻るのか、わかる人は教えてもらえませんか?
0823デフォルトの名無しさんNGNG
>>822

パス
0824逝って良しの1NGNG
何で仕事では誰も使ってないクライアントサイド・GUI系の
質問ばっか来るんですか?
0825デフォルトの名無しさんNGNG
趣味でやってるからだろ。
0826デフォルトの名無しさんNGNG
初心者用の書籍が必ずGUIをいじらすからでは?
0827デフォルトの名無しさんNGNG
>>824
PC で気軽に作れるから。
0828デフォルトの名無しさんNGNG
>>826
それはやはり,GUIのことを書かないと(プログラム)初心者がよって来ないからからかな
Java初心者,オブジェクト指向初心者には,GUI関連の項目はウザいだけなんだが

クライアントサイドなのは...趣味でやってるからです
0829デフォルトの名無しさんNGNG
>>824-828
いま作ってるGUI/クライアント系ソフトウェアは
ひょっとして誰も使ってくれないってことかな?
投資した10数万はどこへ逝く・・・・・・・
0830デフォルトの名無しさんNGNG
初めてバイトでやった仕事がクライアントサイドのjavaプログラムだったんですが
これって稀なんですか?
0831デフォルトの名無しさんNGNG
あの。
sunのサイトなんかにあるAPIリファレンスって、
JDKにはついてこないのでしょうか。
探したけど見つかりませんでした。
インターネット常時接続ではないので困ってます。
一括ダウンロードの方法とかありましたら、教えて下さい。

すみません。下がってるので、あげます。
0832デフォルトの名無しさんNGNG

すいません プログラムの処理を5秒止める方法を教えて頂けませんか?

class Testmes
{
  public static void main(String args[])
  {
    System.out.print("こ");
  //5秒止める
    System.out.print("ん");
  //5秒止める
    System.out.print("に");
  //5秒止める
    System.out.print("ち");
  //5秒止める
    System.out.print("は");
  }
}
0833デフォルトの名無しさんNGNG
オブジェクトが破棄されたとき finalize() が呼ばれますが、
先にプログラムが終了した場合には finalize() は呼ばれないんでしょうか?

// 実験プログラムを作っても呼ばれませんでしたので確認。
0834デフォルトの名無しさんNGNG
新米プログラマ:「クソッ!」
私:「どうしたんだい?」
新米プログラマ:「Johnson(>>832)のやつが、調べもせずに変な質問をし
てくるんだ」
私:「それは困ったな。Johnson(>>832)は回線切って首つって氏んだほう
がいいね」
0835デフォルトの名無しさんNGNG
>>832
http://www.google.com/search?hl=ja&ie=UTF8&oe=UTF8&q=sleep%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%80%80java&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0836デフォルトの名無しさんNGNG
>>832
Thread.sleep(5000);

>>833
はい、そういう仕様です。
0837デフォルトの名無しさんNGNG
>>834 は、Sleep(int); を使ったプログラムを書いたことがないんだろうなぁ。
0838832NGNG
>>836
Thread.sleep(5000);  って書けばよかったのか。 ありがとうございました。
0839デフォルトの名無しさんNGNG
>>834は、>>832のプログラムを完成させることができないだろうね。
0840デフォルトの名無しさんNGNG
>>831
http://java.sun.com/j2se/1.4/ja/download.html
或いは
http://java.sun.com/j2se/1.3/ja/download.html
0841822NGNG
>>823
カレントフォルダのパスって何?
0842名無しNGNG
RS6000というunixにWebsphereというウエブサーバが
乗ったアプリサーバーとAS/400という計算用サーバで
構成されているWEBシステムのメンテをポイ投げされ
て1週間後、AS/400の修理をしました。
それ以来、method not foundというエラーが出てしまい
全く解決できておりません。
JAVAが全くわからないものでどうしたらよいものかと。
ちなみにプログラムは全くいじってません。
よろしくお願いします。
0843デフォルトの名無しさんNGNG
JCheckBoxで、チェックされた時のイベントを拾うにはどうしたらいいでしょうか?
0844デフォルトの名無しさんNGNG
ここの質問ひどいな
0845デフォルトの名無しさんNGNG
>>844
お前の質問が一番ひどい
0846デフォルトの名無しさんNGNG
>>843
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/javax/swing/AbstractButton.html#addItemListener(java.awt.event.ItemListener)
0847デフォルトの名無しさんNGNG
>>843
http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JComboBox.html
0848831NGNG
>>840
ありがとうございます。さっそくダウンロードしてみます。

下の方の「ここの質問ひどいな」は、俺なんかを指してるんだと思うけど、
ちゃんと教えてくれる人がいるのが、うれしいっす。
0849デフォルトの名無しさんNGNG
>>848
初心者の質問を理解できない無知がほえているだけだ。
0850デフォルトの名無しさんNGNG
Javaのソースコードを読みたいんですが、
Javanoクラスライブラリと、Tomcatの
ソースコードのどちらが良いでしょうか?
0851844NGNG
>>849
それはちがうYO
0852デフォルトの名無しさんNGNG
プログラムド素人ですが最初に学ぶ言語としてJAVAを選択したいと思います。
http://www.amazon.co.jp/exec/obidos/ASIN/4797314451/qid=1023108002/br=1-2/ref=br_lf_b_2
/250-2302319-8394618
アマゾンで調べたらこの本がいかにもサイコーって感じィになってるんですが独学で学ぶにあたり
この本はオススメなんでしょうか?これにするか書店で平積みになってる下の本を買うか迷ってます。

http://www.amazon.co.jp/exec/obidos/ASIN/4797318570/qid=1023108394/sr=1-29/ref=sr_1_2_29/250-2302319-8394618
0853デフォルトの名無しさんNGNG
>>852
前者のページの「あわせて買いたい」がどうしてその組み合わせに
なるのか...
0854デフォルトの名無しさんNGNG
>>853
「あわせて買いたい」は、「あわせて買うといいですよ」 という意味ではなく 「あわせて買ってくれ」 という意味です。
0855デフォルトの名無しさんNGNG
>>842
そんなシステム使ってるんなら出入りしてるIBMの人間がいるだろ。
そいつにきけ。
0856デフォルトの名無しさんNGNG
>>842

RS6000というUNIXは無い。AIXの間違いだろ。
そういう間違い、結構恥ずかしいぞ(w
0857デフォルトの名無しさんNGNG
>>842

ちなみに言うとWebsphereというウェブサーバも無い。
WebSphere Application Serverというアプリケーション・サーバはあるが。
0858デフォルトの名無しさんNGNG
ageてまでイジめることなかろうに。
0859デフォルトの名無しさんNGNG
すごく初歩的なんですが、以下のプログラムの実行結果が「-56」になるのはなぜですか?
int型の200という値をbyte型(-128〜127)に変換しようとしてるのですが、、、

class hoge{
public static void main(String args[]){
byte b;
int i = 200;
b = (byte)i;
System.out.println(+ b);
}
}
0860デフォルトの名無しさんNGNG
最近初心者スレでしか煽れない連中が増えてきたな
VB やってた頃のトラウマか?
0861デフォルトの名無しさんNGNG
えーと、オマエモナ。
0862デフォルトの名無しさんNGNG
>>859
200がbyteの範囲外ということを知っているのに、なぜあえてbyte型に
キャストしたいのかを書いたほうがいいのではないかと思う。もし単に
言語仕様を知りたいだけなら素直にそうかいたほうがいい。ちなみに
既出なので検索してみるのもよし。
0863デフォルトの名無しさんNGNG
>>859
「補数」でこのスレをさかのぼれ。つい最近その話は出た。

>>860
厨房隔離スレで息巻いてる連中、増えたな。
0864デフォルトの名無しさんNGNG
携帯JAVAスレで書き込もうかと思ったのですが、寂れてますし、
推薦図書スレはPart4の初っ端から荒れてるので(;´Д`)
こちらで質問させて下さいです。

この間Java対応携帯(auのA3012CA)に機種変したこともあり、
携帯Javaプログラミングに興味が出てきたので、
Javaの基礎から携帯Javaプログラミングを勉強したいと思っています。

それでまず手始めにamazonで検索してみました。
http://www.amazon.co.jp/exec/obidos/ASIN/4839906351/ref=sr_aps_d_1_1/250-4679237-7501868
しかなさげ、と思ったのですが、Java初心者にはつらい感じです。

Java初心者が携帯(特にau)Javaプログラミングを始めるに当たり、
(・∀・)イイ!! 本はありませんでしょうか?

スキルレベルとしては、VBとDelphiはそこそこ出来ます。
エディタなどの環境はWebで情報漁って一通りそろえた(はず)です。
0865デフォルトの名無しさんNGNG
初心者に乏しい知識をひけらかすのは正直、気持ちいい
0866デフォルトの名無しさんNGNG
Javaでスレッドプログラミング。おもしろいねぇ。
Javaなんかつまんねって思ってたがそうでもないと思った。
0867859NGNG
あれま、おもいっきり既出でしたね。板汚しスマソ
0868751NGNG
751ですが・・・。
できん!わからん!Action??
どーしたらポップアップにショートカットつけられるんだ!!
誰か教えてください…。
0869デフォルトの名無しさんNGNG
日本語を喋れ
0870デフォルトの名無しさんNGNG
>>868
たぶん
's'のコーテーションをダブルにするっぽい
0871751NGNG
>>870
ダメでした。
こないだいただいたサンプルコードで、
メニューだと大丈夫で、ポップアップメニューだとダメであることが
わかったんです。その後Actionを使えという
アドバイスをいただいたのですが、マニュアル読んでもよくわからず
困っております…。どなたか助けてください…。
0872デフォルトの名無しさんNGNG
>>751
もういっかい整理して
やったことすべてをかきたまえ
0873デフォルトの名無しさんNGNG
Session管理について暑くあつーーーくかたってくれるかたいませんか?
コピペでもいいです。できれば、500文字以上
0874デフォルトの名無しさんNGNG
JAVAを勉強するのに、参考になるサイトを教えてください
0875デフォルトの名無しさんNGNG
>>1 のリンク先の、さらに 2〜6 辺りのリンク先を見れ。
0876 ◆J2SE/.yE NGNG
>>871
メインのフレームの適当なコンポーネントで
registerKeyboardAction(ActionListener anAction, String aCommand, KeyStroke aKeyStroke, int aCondition)
を呼べばいいんだってば。
aCondition=WHEN_IN_FOCUSED_WINDOW で。

Action は使っても使わなくてもいい。
0877デフォルトの名無しさんNGNG
http://java.sun.com/docs/books/tutorial/
0878デフォルトの名無しさんNGNG
J2SDK 1.4.0 の API ドキュメントの
日本語版はまだ無いのでしょうか?
j2sdk-1_4_0-beta-doc-ja.zip 落としたら英語だったし……。
0879デフォルトの名無しさんNGNG
>>878
まだっぽい。しばらくは 1.3 の日本語 API ドキュメントと併用すべし
0880878NGNG
http://pc.2ch.net/test/read.cgi/tech/1021555964/6
に書いてあったよぉ〜。!。・゚・(ノД`)・゚・。
0881デフォルトの名無しさんNGNG
JAVAでEXCELを動かせますか?
VBみたいに動かしたいです。
0882デフォルトの名無しさんNGNG
COM ブリッジとか言うの無かったっけ? それで出来るかも (詳しくは知らん)。
0883デフォルトの名無しさんNGNG
>>864
俺と同じような人が居るのでかきこ
携帯JAVAの本はあまり出てないみたいだね
普通のJAVA本でもいいと思うけど他の人はどんなの読んでるんだろうね
携帯だとMIDPだよね、リファレンス見るしかないような気がしてきた
AUだとWEBなんかもあまりないし Iモードのページは結構あるのに
0884デフォルトの名無しさんNGNG
>>864
そこに載ってる本は多分古いのであなたの携帯ではダメかもしれない
tp://www.amazon.co.jp/exec/obidos/search-handle-form/ref=br_ncs_/250-1990486-5306667
これの下のやつはちょっと新しい、買うんだったらこっちのほうがいいかも
でも高い
0885afoNGNG
あの〜くだらない質問だと思います。
でも、ホンキで解らないので質問させてください。
環境はvine2.5をインストール「すべて」、j2sdk1.4.0、j2re1.4.0のRPMをインストールしました。

さて、
/usr/local/test/test.java /usr/local/test/test.class
という2つファイルがあります。

カレントディレクトリが/usr/local/testの場合、
# java test
と、打てば実行されるのですが、

絶対パスの場合
# java /usr/local/test/test
と、打った場合
>Exception in thread "main" java.lang.NoClassDefFoundError: /usr/local/test/test
と、出てしまいます。

なぜ、絶対パスだと上手くいかないのですか?
ちなみに
# javac /usr/local/test/test.java
は上手く行きます。

みなさん、お忙しいと存じますが、何卒よろしくお願いいたします。

また、PATHについてですが、以下の通りです。
export JAVA_HOME=/usr/java/j2sdk
export PATH=$PATH:/usr/java/j2sdk1.4.0/bin:/usr/java/j2re1.4.0/bin:
export CLASSPATH=.:/usr/java/j2sdk1.4.0/lib/tools.jar:/usr/java/j2sdk1.4.0/lib:/usr/java/j2re1.4.0/lib
0886デフォルトの名無しさんNGNG
>>885
javaまでフルパスで書いてみたら?
0887デフォルトの名無しさんNGNG
>>885
javaのパラメータはパスを指定するのですか?
man java
0888デフォルトの名無しさんNGNG
>>885
環境変数CLASSPATHに/usr/local/testを追加せよ。
javaの第一引数はファイルでなくパッケージとクラス名をしていする。
0889864NGNG
レスthx!

>>883
正直、趣味の部分も多分に含まれてるので、
iモードじゃだめぽ…
それにJavaは全くのトーシロなので、
>リファレンス見るしかない
のは避けたい…

>>884
>そこに載ってる本は多分古いのであなたの携帯ではダメかもしれない
あ、確かに出版はこの携帯出る前だ。指摘ありがと。

>tp://www.amazon.co.jp/exec/obidos/search-handle-form/ref=br_ncs_/250-1990486-5306667
見られない罠…
>ブラウザのバグ?
とか言われた(;´Д`)
ISBNだけで構わないので教えていただけませんでしょうか?
0890デフォルトの名無しさんNGNG
新米プログラマ:「クソッ!」
私:「どうしたんだい?」
新米プログラマ:「Johnson(>>834)は馬鹿だから、sleep()メソッドが使えな
いんだ」
私:「それは困ったな。Johnson(>>834)は回線切って首つって氏んだほう
がいいね」
0891デフォルトの名無しさんNGNG
サーブレットでURL変数を受け取る形で作られたPGはURL変数が送信されてこないとエラーになるのでしょうか?
また、URLパラメータが存在するかの処理はどのように行えばよいのでしょうか?
エラーで判別するやり方はしたくありません。
宜しくお願いします。

サーブレットAというものを作成しました。
サーブレットの呼び出し方は
「https://xxx.xxx.xxx.xxx/servlet/A?aaa=0&bbb="2"」
のようにパラメータを2つ送信します。
サーブレットAはdoPost,doGet処理を行った後、次のようなプログラムが走ります。

Enumeration enum = req.getParameterNames();
Hashtable hash = new Hashtable();
while (enum.hasMoreElements()) {
   String paramName = (String)enum.nextElement();
   hash.put(paramName, req.getParameter(paramName));
}
このプログラムを走らせると、次の呼び出し方法の時、エラーが返ってくるのでしょうか?
「https://xxx.xxx.xxx.xxx/servlet/A」(パラメータなし)

また、エラーになってしまうという場合は、サーブレットAが起動した時にURL変数が送信されてきているかのチェックをしたいのですが、どのようにすれば良いのでしょうか?
0892デフォルトの名無しさんNGNG
>891
やってみればいいじゃん。
0893デフォルトの名無しさんNGNG
      ワフールワッショイ!!
     \\  ワフールワッショイ!! //
 +   + \\ ワフールワッショイ!!/+
                            +
.   +   ###  ###  ###  +
      ( ´∀`∩(´∀`∩)( ´ー`)
 +  (( (つ   ノ(つ  丿(つ  つ ))  +
       ヽ  ( ノ ( ノ  ) ) )
       (_)し' し(_) (_)_)
0894デフォルトの名無しさんNGNG
>>981 (分かりにくい日本語だな)
エラーが返るって Exception が発生することか?
Exception は発生しません。パラメータが指定されてるかどうかは

if(request.getParameter("hoge") == null){
  ...
}

で判定できる。参考書のコピペで済まさないでもうちょっと自分で考えれ。
0895891NGNG
>>894
ありがとうございます。
Exceptionが発生しない事は分かりました。

String result = (String)hash.get("A");
↑のプログラムではURL変数をresultへセットしています。
hashの内容がNullの場合、上記PGはExceptionを返すのでしょうか。

たびたびすみませんが、宜しくお願いします。
0896デフォルトの名無しさんNGNG
>>895
発生しないよ。nullポインタが返されるだけ。
0897デフォルトの名無しさんNGNG
>>895
あのなぁ、それくらいのことは API リファレンスに書いてあるよ。
0898デフォルトの名無しさんNGNG
>>895
どうでもいいが健全な知識を得るなら健全な用語から。
0899afoNGNG
>>886-889
THXです。
なるほど、第一引数はクラスを意味してるんですね。

CLASSPATHに/usr/local/testを追加したところ、どこからでも
# java test
で実行できるようになりました。

ありがとうございました。
0900デフォルトの名無しさんNGNG
タカラとギコ猫の件をくわしく知りたいのですが、
どこに行けばいいですか?
0901デフォルトの名無しさんNGNG
なぜそれをここに書くのか。
0902デフォルトの名無しさんNGNG
>>900
http://www.2ch.org/
0903900NGNG
しまった誤爆った。
スレ汚しスマソ。

>>902
thx!
0904768NGNG
>>751
setAccelerator( KeyStroke.getKeyStroke("S") )
でできまっせ。
大文字にしなきゃだめ。
ちなみに "shift S" とかにしたら、
Shift-S って表示されるよん。
0905デフォルトの名無しさんNGNG
しまった、>>902にかかれたURLクリックしたの二回目だよ。
http://www.zdnet.co.jp/news/0206/03/nj00_giko.html
> 確かに、タカラは軽率だった。
>ギコ猫を商品化するという大胆な発想は、
>さすが玩具メーカーというべきだが、もう少し、
>上手いやり方があったように思える。
>ひろゆき氏を「ギコ猫商品化プロジェクト」の
>スーパーバイザーに迎えるとか……。
0906デフォルトの名無しさんNGNG
だからスレ違いだって。
0907Cプログラマ(Java初心者)NGNG
JavaのString変数って最大値(バイト数)ってあるんですか?
Cだとサイズ指定無って考えられないので…
0908デフォルトの名無しさんNGNG
>>907
一応無制限だが、UTF-8 化して 65,535 バイト (?) 以上の文字列は
シリアライズできないので注意。
0909Cプログラマ(Java初心者)NGNG
即レスありがとうございます!
0910デフォルトの名無しさんNGNG
>>907
とりあえずわざわざ制限を設けてはいない。メモリ量とか int の範囲に制限されるとかってのはおいといて。
必要な分だけ自動的に確保/解放してくれます。
0911デフォルトの名無しさんNGNG
>メモリ量とか int の範囲に制限されるとかってのはおいといて。
制限してるじゃんアフォよ
0912デフォルトの名無しさんNGNG
>>891
とりあえずお前はサーブレットなんぞいじる前に
コマンドラインからのプログラムでもやってなさいってこった。

PGってなによって一瞬思っちまった。
0913afoNGNG
LANの中のプライベートアドレスのマシンで、
hoge.classというプログラムを動かしています。

wwwサーバに接続し、こちら側のIPをGETで、
フォームに送信したいのです。
そこで、ためしにIPを取れるかのテストのために

public class hoge {
public static void main(String[] args){
try{
Socket s = new Socket("hoge.jp", 80);
System.out.println(s.getLocalAddress());
}catch (Exception e){}
}
}

このようなプログラムを動かしてみました。
結果はこのように、プライベートアドレスが出力されました。
> /192.168.1.2

さて、皆さんにお聞きしたいのは、どのようにすれば、
グローバルアドレスを取ってくれば良いのでしょうか?

初歩的な質問だと思いますが、
よろしくお願いします。
0914デフォルトの名無しさんNGNG
NATの向こう側だろうなぁ。
サーバー側CGIで環境変数見れば。
0915デフォルトの名無しさんNGNG
>>913
1.ルータに訊く。
2.実際にどこかに接続して調べてもらう(例えばREMOTE_ADDRを返すようなCGIを作るとか)。
0916デフォルトの名無しさんNGNG
>>913
なんつうでたらめなプロトコルだ...
0917デフォルトの名無しさんNGNG
>>913
traceroute www.yahoo.co.jp の出力をキャプチャする。
(Max Hop 1 で良いか?)
0918デフォルトの名無しさんNGNG
>>917
無理やった...
0919デフォルトの名無しさんNGNG
>>913
こっちから送るんじゃなくて、向こうで取得せれ。REMOTE_ADDR を取得
するとか、X-Forwarded-For を取得するとか。
0920デフォルトの名無しさんNGNG
サーバー側でみるのもproxy経由だと限界あるしね。
やっぱ、ルータにきけば? 環境依存だけど。
0921デフォルトの名無しさんNGNG
>>913
IPなどわざわざ送信しなくても、wwwサーバ側で取得出来るものだと思うのだけれど?
0922afoNGNG
>>914-921
レスありがとうございます。

うーん、私の環境のプログラム中では、グローバルアドレスが取れないつーことですね。
迂回するCGIでも作ってみます。

あと、ルータに聞くというのは、どんな感じなのでしょう?
プログラム中でルータを扱えるんでしょうか?
説明して頂くのが面倒なら、もう少し、キーワードみたいなものを教えて頂けると、
検索するのに大変助かります。

>>916
すみません、ひどいプログラムかもしれません。
できれば、ダメな点を教えていただければ嬉しいです。
0923デフォルトの名無しさんNGNG
>922
ルータによっては例えば動作ログを送ってくれるものもある。
ルータによっては例えばtelnetで接続すると応答を返してくれるものもある。
詳しくはお使いのルータの開発元にお問い合わせ下さい(答えてくれるかどうか判らんけど)。
0924883=884NGNG
>>889
ISBNてなに? リンク見れないんなら MIDP で検索すればいい
でも上で書いたやつはJAVAの基本がわかってる人向けだから
JAVAの本も買わなきゃいけないかも
プログラムできるなら入門の次ぐらいがいいと思うけど
889サンはどんなものを作るの
俺もなんか作りたいなと思ってるんだけど889サンとすごく似てるな気がする
なんか情報交換とかしない?
0925つーかNGNG
1 Hop のルーターの向こう側がグローバルアドレスなんて保障はどこにもない。
それから HTTP 勉強する気がないなら URLConnection クラス使っとけ。
0926デフォルトの名無しさんNGNG
とりあえず
http://www.google.co.jp/search?hl=ja&q=ISBN+%96%7B&lr=
すらできない奴とは組みたくないと思われ
0927デフォルトの名無しさんNGNG
強そうだ、この>>925と組んだら?
0928学生初心者NGNG
Windows XPからjavaのサポートがなくなったと聞いたんですが、以前のバージョンで
市販されているソフトで独学するのに何か不具合等あるんですか?
しょうもない質問ですみません
0929デフォルトの名無しさんNGNG
>>928
MSのJavaはいまだに1.1.3だから時代遅れアプレットにしか使えない。
本格的なJavaの勉強にはどのみちSunのJDKが必要になるから、
最初から付いてるぁどうかなんて関係ないよ。

ともかくOSが何でもまずはJDK 1.4をゲットすれ。
http://java.sun.com/j2se/1.4/ja/download.html
0930学生初心者NGNG
≫929
親切な方ありがとうございます。さっそくやってみます。
0931初心者見習NGNG
結局javaって人気なのか?javaで開発してある有名なソフトとかってあるの?
0932デフォルトの名無しさんNGNG
>>931
iアプリ や applet は、みんな JAVA ですがなにか?
0933デフォルトの名無しさんNGNG
>>931
それを聞いてどうするつもりなんだろう?

仮に、emacs が Java で作られているって聞いたら
彼は「自分も Java を使えば emacs が作れる」とか思うのだろうか?

( emacs は Java じゃないです。念のため。 )
0934デフォルトの名無しさんNGNG
>>931
ない。以上。

0935900NGNG
>>931
JBuilder
0936人気かどうかを知りたいんだよ!NGNG
>>933
そんなことを言ってどうするつもりなんだろう?

   〜略〜

(936 は 931 じゃないです。念のため。)
0937デフォルトの名無しさんNGNG
>>931
一応マジレスしておくが、Javaで作られた
いわゆる「デスクトップアプリ」(店で見かけるパッケージソフト)は
これくらいしかないと思う。
http://www.borland.co.jp/jbuilder/
http://www.justsystem.co.jp/justarks/

Javaでのデスクトップアプリなんてもう誰も真面目に取り組んでないよ。
Javaはアプリサーバでの内部処理とかの(簡単にいうとCGIの高度なやつ)
サーバサイドに完全に追いやられたってわけ。

だからそういうサーバサイドの開発に携わるんじゃなかったら
Javaなんか勉強しても無駄無駄。
デスクトップアプリに興味があるんだったらC#でもやってな。
0938デフォルトの名無しさんNGNG
デスクトップアプリ=店で見かけるパッケージ

ですか?おめでたいですね。
0939デフォルトの名無しさんNGNG
>>938 じゃないけど、単体切り売りで PC ショップに売ってるような
製品は Java なんてほとんど無い。でかいシステムを後ろに持った
フロントエンドとしては結構使われている。
0940デフォルトの名無しさんNGNG
java で
@@
@@
@@
@@
と出力するアルゴリズムはどんなのが良いでしょう?教えてください
0941デフォルトの名無しさんNGNG
上 間違いです
@@
--@@
----@@
------@@
です -−はスペースです
0942デフォルトの名無しさんNGNG
ループ (ってアルゴリズムか?)
0943デフォルトの名無しさんNGNG
>>941
System.out.println("@@");
System.out.println("--@@");
System.out.println("----@@");
System.out.println("------@@");
0944デフォルトの名無しさんNGNG
>>940
アルゴリズムと言語は関係ないと思われ
0945デフォルトの名無しさんNGNG
すいません、解決したんで(^^;
0946デフォルトの名無しさんNGNG
>>943は、for(;;) を知らないんだろうな。
0947デフォルトの名無しさんNGNG
そうそう、forでやりたかった>>946
0948デフォルトの名無しさんNGNG
当然、わざと使わないで書いたんだと思うが。
0949デフォルトの名無しさんNGNG
class Ex073 {
public static void main(String args[]){
for(int i = 0; i < 5; i++){
for(int j = 0; j < 20; j++){
if (i == j){
System.out.print("@");
} else if ( i + j == 10) {
System.out.print("@");
} else {
System.out.print(" ");
}
if ( i == j) { //break条件
System.out.print("\n");
break;
}

}
}
}
}
これで@がV字にでるはずじゃないんですか?
0950デフォルトの名無しさんNGNG
解決したんじゃなかったのか?
0951デフォルトの名無しさんNGNG
また詰まった!
0952デフォルトの名無しさんNGNG
System.out.println("@@\n--@@\n----@@\n------@@");
0953デフォルトの名無しさんNGNG
>943
ずばり最適解。
ま、ループ思いつかね−やつはこの回答もできねーな。
0954デフォルトの名無しさんNGNG
てかなんでソース書くとインデントがぐちゃぐちゃになるん?
0955デフォルトの名無しさんNGNG
モナー板でも行って来い
0956デフォルトの名無しさんNGNG
>>954
おまえのPGとしての人生は今終わった
0957デフォルトの名無しさんNGNG
>>948
必死だな(w
0958デフォルトの名無しさんNGNG
>>956
2ちゃんねるの仕様を知らないとPGになれないのか?
0959948NGNG
俺は 943 じゃないんだが、いかにもループを使った回答をほしいところに
わざと 943 みたいな回答を出した、と読んだんだが。

まあ、どう思われようがかまわんが。
0960デフォルトの名無しさんNGNG
System.out.print("\n");は実行環境に依存するコードなので止めたほうがいい
>>949
@
-@
--@
---@
----@
\nが改行復帰として機能するなら上のように表示されるはず
なぜV字になるのか簡潔に説明してみろ
0961デフォルトの名無しさんNGNG
>>959
まぁ自作自演厨の言うことだ。大目に見てやってくれ。
0962デフォルトの名無しさんNGNG
そろそろ次スレを用意ですか。
0963943NGNG
>>961
自作自演あつかいかよ!
940の説明不足を遠まわしに指摘しただけなのに・・・(´・ω・`)
0964デフォルトの名無しさんNGNG
家帰って気が向いたら次スレ立てとく。
パート 10 で体裁は今までどおりにするぞ。
0965デフォルトの名無しさんNGNG
>>943 = >>959 = >>961
このスレで自慰するなよ
0966デフォルトの名無しさんNGNG
困った坊やだ。
0967デフォルトの名無しさんNGNG
本家自演の登場です
0968デフォルトの名無しさんNGNG
本家自演のご登場です
0969943=963NGNG
>>965
違うというのに・・・もーいーや
自演で自慰でいいからもうレスしないで下さい
0970デフォルトの名無しさんNGNG
新スレ立てるの?
古巣に戻って、Java相談室を使えばいいんじゃない?
似たようなスレが並立すると、混乱してしまう。
0971デフォルトの名無しさんNGNG
全部同じスレだから混乱はしないと思うが。
0972デフォルトの名無しさんNGNG
初心者用のスレが欲しいです
0973デフォルトの名無しさんNGNG
ここのスレ名に「初心者」って書いてあるの読めなかった?
0974デフォルトの名無しさんNGNG
>>949
class Ex073 {
  public static void main(String args[]){

    int h = 4;
    int n = 0;

    for(int i = 0; i < h; i++)
    {

      for(int j =0; j < n; j++)
      {
        System.out.print(" ");
      }
      
      System.out.print("@");
      
      for(int j =0; j < (h-n-1)*2; j++)
      {
        System.out.print(" ");
      }
      System.out.print("@");
      for(int j =0; j < n; j++)
      {
        System.out.print(" ");
      }

      n++;
      System.out.println(" ");

    }
  }
}
//これで@がV字にでるはずじゃないんですか?
0975デフォルトの名無しさんNGNG
>>973


>>962 >>970-972

0976デフォルトの名無しさんNGNG
初心者無視スレは、あっちはあっちで マターリ やってるようだから
別スレにしてしまってもよかろう。
0977あっちの1NGNG
ごめん
できこごろだったんだ・・・・
0978デフォルトの名無しさんNGNG
あ、エロい1さんだ (w
0979デフォルトの名無しさんNGNG
次スレかどうかの瀬戸際のようですが、質問させてください。

Swingでウインドウプログラムを作りはじめた(本見ながらです)初心者です。
そのなかで、packというメソッドがよく使われているのですが、いまいち
意味がわかりません。ヘルプを見ても、???。

そもそも必要なものなのでしょうか?何のやくに立っているのでしょうか?
どなたか教えて下さい。
よろしくお願いいたします。
0980デフォルトの名無しさんNGNG
残念ながら新スレできてました。
0981デフォルトの名無しさんNGNG
>>979
わからないならつかわなくていい。
0982新スレの1NGNG
新規質問は下記へ

【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/
0983新スレの1NGNG
>>979
http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JPopupMenu.html
0984デフォルトの名無しさんNGNG
>>981
分からないなら答えなくていい。
0985デフォルトの名無しさんNGNG
>>984
正直、わからないならつかわなくていいものですよ。
0986デフォルトの名無しさんNGNG
うんこしながらオナーニする方法を教えてください
0987デフォルトの名無しさんNGNG
スレ違いです。
0988デフォルトの名無しさんNGNG
コソーリ1000を目指します
ジャーマしないデネ
0989デフォルトの名無しさんNGNG
989
0990デフォルトの名無しさんNGNG
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50
0991デフォルトの名無しさんNGNG
1000ゲットー
0992デフォルトの名無しさんNGNG
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50
0993デフォルトの名無しさんNGNG
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50
0994デフォルトの名無しさんNGNG
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50
0995デフォルトの名無しさんNGNG
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50

0996デフォルトの名無しさんNGNG

【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50

0997 NGNG

【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50


0998 NGNG

【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50



0999デフォルトの名無しさんNGNG

【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50





1000新スレの1NGNG
次スレは↓

【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/l50


10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。