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


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

くだすれJava(超初心者用) その2



1 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 11:54:09 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、  
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。  
Java使いが優しくコメントを返しますが、  
お礼はJavaの布教と初心者の救済をお願いします。  

Java SunのHome Page  
www.java.com/ja/

前スレ

くだすれJava(超初心者用)
pc10.2ch.net/test/read.cgi/tech/1126470659/l50


771 名前:デフォルトの名無しさん [2008/04/03(木) 07:58:31 ]
Tomcatプロジェクトでmyweb/hoge.jspを作成したところ、
Tomcatのトップ画面(localhost:8081/)は表示されますが、
localhost:8081/myweb/hoge.jspが表示されません。

一体どうしたらいいでしょうか。

772 名前:デフォルトの名無しさん [2008/04/03(木) 09:24:04 ]
すみません単なるミスでした

773 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 11:27:27 ]
>>768
引数や例外の説明、他コンストラクタとの違い、各プロパティのデフォルト値などを書く
引数なし、例外もなし、他のコンストラクタもなし、とかなら、まぁ書くことがないかも・・・

setterやgetterは、そのset/getする値の意味や、取り得る値の範囲を説明する必要があると思う

774 名前:デフォルトの名無しさん [2008/04/03(木) 19:45:23 ]
3年くらい前に自分で書いたJavaプログラムなのですが、
今となってはソースがなかなか読めません。
そして動いてくれません。
記憶によると四角形が二つ表示されて画面を適当に動き回り、
その二つが重なった時だけその旨が画面に表示されるという
プログラムだったはずです。
誰かデバッグしてもらえませんでしょうか?
ソースコードは以下にアップしました。
ダウンロードのパスワードはありません。
www.uploda.net/cgi/uploader2/index.php?file_id=0000053786.zip

775 名前:774 mailto:sage [2008/04/03(木) 19:51:36 ]
すみません。デバッグしてくれなんて虫がよ過ぎでした。
デバッグのための方針を教えて頂けたら幸いです。
どうかよろしくお願いします。

776 名前:774 mailto:sage [2008/04/03(木) 20:00:38 ]
ほんとすみません。方針をわざわざ教えてもらうなんてそれでも虫がよ過ぎですよね。
上の発言はなかったことにしてください。
スレ汚しすみません(´;ω;`)

777 名前:774 ◆RnrYWCN3sM mailto:sage [2008/04/03(木) 20:37:05 ]
と思ったけどやっぱり方針だけでも良いんで教えてください。
それと念のため鶏もつけときます。

778 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:24:21 ]
Point pts[] = new Point[4];
this.pts[0].x = x;


779 名前:774 ♦RnrYWCN3sM mailto:sage [2008/04/04(金) 00:26:34 ]
なかなか返答がないので締め切らせて頂きます。
わざわざすみませんでした。



780 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 07:02:38 ]
横からすみませんが、
new Point[4]←これがPointの実体では無いで良いのかな?

781 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 08:35:52 ]
私も横ですが。
オブジェクト配列の初期化忘れは、よくある間違いの1つ。
箱を用意するだけでは、中身は null のまま。

782 名前:デフォルトの名無しさん [2008/04/04(金) 13:04:54 ]
最近プログラミングをはじめたものです。
C言語の関数とその定義の関係、
javaのクラスとオブジェクト.メソッドの関係が似てるような気がしてならないのですが、
間違っていますか?

783 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 13:10:51 ]
間違ってます

784 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 13:12:38 ]
気のせい

785 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 13:55:14 ]
似てるか似てないかなんて主観だからねえ

786 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:58:32 ]
System.out.println(args.length);
で配列数を示す際、*が含まれてるとなぜか本来の数の前に*の数がくっついてしまうようです。
例えば、argsがaと*と1と*の場合は4になるはずが24になります。
これはなぜでしょうか?
また、これを回避するためにはif文で振り分けなければならないのでしょうか?

787 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:01:55 ]
>>786
* を含めたとき、args の中に何が入っているか確認してごらんなさいな。

for(String arg: args) System.out.println(arg);

788 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:14:57 ]
コマンドラインのワイルドカードを解釈せずに引き渡してくれるシェルを使えばいいんじゃね

789 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:18:23 ]
カレントディレクトリにあるフォルダが全て出てきました・・・
この*をワイルドカードの役割ではなく文字としての*と
認識させるためにはどうすればいいのでしょうか?



790 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:21:45 ]
"*" でどうかな

791 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:23:22 ]
>>789
windowsのコマンドプロンプトなら*でなく"*"とすると*そのものが渡せる
linuxのシェルとかでも同様のエスケープの仕方がシェルごとにある

792 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:41:52 ]
解決しました。
皆さん丁寧にありがとうございました。

793 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:13:49 ]
質問です。
double型を使うと値が整数の時も.0が付きますが、それをなくすにはどうすればいいでしょうか?
4なら4と表示され、4.56なら4.56と普通に表示する感じです。
int型に変換したりするのが良いのかと思いますが、
値に小数点があるか否かは分からないとすると、どう振り分ければ良いのでしょうか?

794 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:27:06 ]
つString#format

795 名前:デフォルトの名無しさん [2008/04/04(金) 23:13:05 ]
ナンでサーブレットはthrowsが必要ですか

796 名前:デフォルトの名無しさん [2008/04/05(土) 08:48:23 ]
ttp://itpro.nikkeibp.co.jp/members/NSW/ITBASIC/20050617/162923/

関数と、メソッドは似ている。
関数(メソッド)の呼び出し先が、public function ・・・・って定義されてますし。
このfunctionは紛れもない関数の定義だと思います。

しかし、JAVAでは関数を呼び出す場合、メソッド(関数)の前に、クラスを格納したオブジェクトを付けて、
クラスを指定しないといけない・・・と。

思うわけです。

797 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 11:04:15 ]
class MyClass { public void func() { ... } } このfunc (※インスタンスメソッド)は
static void func(MyClass this) { ... }
こういうstaticメソッドと同じようなもので,thisには常に現在のインスタンスが渡される
staticメソッドは本当にただの関数で,呼び出すときに前に付けるクラス名はただの飾り

798 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:45:16 ]
>>795
別に要らないよ
例外を自分でcatchするなら

799 名前:デフォルトの名無しさん [2008/04/06(日) 13:58:41 ]
ウインド開いた時にアラートで
「好き?」
「嫌い?」
を10回繰り返したいんですけどどのようなソースにすればいいんでしょうか?
お願いしゃーす!!



800 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 14:47:08 ]
アラートってことはもしかしてJavaScript?そうならスレ違い

801 名前:デフォルトの名無しさん [2008/04/06(日) 17:19:43 ]
教えてください。

RMIでウェブアプリのようにセッション管理は出来ますでしょうか?

よろしくお願いします。

802 名前:デフォルトの名無しさん [2008/04/07(月) 20:22:06 ]
>>800
すまない。
ちょっとJavaScriptに行ってきます。

803 名前:デフォルトの名無しさん [2008/04/07(月) 21:05:01 ]
Tomcat6.0にMYSQLのJDBCドライバ入れたんですが、この後どうしたらいいでしょうか。

804 名前:デフォルトの名無しさん [2008/04/07(月) 21:15:13 ]
質問・相談スレッドから来ました。
オブジェクトをコンストラクタを使って初期化しつつ配列にする方法が
わかりません。
もしかしてそんなこと出来ないんでしょうか?
新しいクラスを作ったりする必要があるんでしょうか?
どうかよろしくお願いします。

805 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 22:07:41 ]
>>804
public class Hoge {
public Hoge(String name) { /* コンストラクタで何らかの初期化 */ }
private static final String[] names = {"aaa", "bbb", "ccc", "ddd", "eee"};
public static void main(String[] args) {
Hoge[] hoges = new Hoge[names.length]; // 配列の宣言と生成
for (int i = 0; i < hoges.length; ++i) {
hoges[i] = new Hoge(names[i]); // 要素ごとにインスタンスを生成し代入
}}}/* end of for, main, class */
こんな感じの宣言から代入までのコードを一行にまとめたい、ということでしょうか?

806 名前:デフォルトの名無しさん [2008/04/07(月) 23:58:03 ]
質問です。 以下のカスタマイズを行いたいのです。
フィールド変数の追加:private User u;
コンストラクタの修正
 引数の追加:User型
 処理の追加:フィールド変数に引数で受け取ったオブジェクトを代入する
以下カスタマイズ前のソースです。

class Reference extends JFrame{
JLabel lblId;
//フィールド中略
public Reference(String title){
super(title);
cnt=this.getContentPane();
cnt.setLayout(null);

フィールドにprivate User u;
コンストラクタの引数にUser user;を追加するのは分かるのですが
「フィールド変数に引数で受け取ったオブジェクトを代入する」 が上手くいきません。

Userは同パッケージ内の別クラスです。
古いコードですし、お手数をおかけ致しますがよろしくお願い致します


807 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 00:42:47 ]
>>804
Hoge[] hoges = {new Hoge("aaa") , new Hoge("bbb"), new Hoge("ccc")};
みたいな事をやりたいの?新しいクラスってどういう事?

808 名前:デフォルトの名無しさん [2008/04/08(火) 00:58:24 ]
>>807
みたいな事とはどんなことですか?

809 名前:807 mailto:sage [2008/04/08(火) 01:22:55 ]
どんなこともコードのままなんだけど。
>>808はどう思うの?ちょっとコード書いてみて。



810 名前:デフォルトの名無しさん [2008/04/08(火) 01:49:02 ]
>>809
どう思うって何についてですか?
何のコードを書けばいいですか?

811 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 02:09:48 ]
>何のコードを書けばいいですか?
>>804の質問に対する>>810なりの答え」をJavaで書けばいい。

812 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 03:25:47 ]
「私はあなたに質問する方法がわかりません。何語で話せば
私の質問を理解してもらえますか」と聞かれたら普通「あなた
言葉わかる?」と聞かれてるので、馬鹿にされてんだと思うんだ
ろうがここではそう思わない能天気なおバカちゃまが多いんだろうな

813 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 08:13:25 ]
横から失礼。
かなり錯綜したから、質問者は自分のレス番号を明確にしないと答えを貰えないと思う。

814 名前:デフォルトの名無しさん [2008/04/08(火) 08:28:29 ]
>>806
こういうこと?

class Reference extends JFrame{
  JLabel lblId;
  private User user;
  //フィールド中略
  public Reference(String title){
    super(title);
    cnt=this.getContentPane();
    cnt.setLayout(null);
  }
  public Referecne(String title, User user) {
    this(title);
    this.user = user;

815 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 11:19:39 ]
自分のホムペのお気に入り用アイコンを、ランダムでチェンジさせたいんですが
よそからコピってきた画像ランダム表示のスクリプトを書き換えてもうまくいきません。
↓こんな感じなんですが、おかしな箇所をご指摘いただけるとありがたいです。

<SCRIPT language="JavaScript">
<ico = new Array();
ico[0] = "icon01.ico";
ico[1] = "icon02.ico";
ico[2] = "icon03.ico";
n = Math.floor(Math.random()*img.length);
document.write("<link rel="Shortcut Icon" href='"+ico[n]+">");
>
</SCRIPT>

816 名前:デフォルトの名無しさん [2008/04/08(火) 12:05:03 ]
>>815
スレ違い

× img.length
○ ico.length

817 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:53:23 ]
いや板違い
>Javascript は Web 制作板、CGI は Web プログラミング板へ。

818 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:07:59 ]
板違いでしたか・・・失礼しました。
>>816ありがとうございました!

819 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:41:16 ]
アノテーションでdefaultにnullを設定したい場合ってあると思うんだけど、
そういう時ってどうしてる?とりあえずNullObjectみたいなのを定義するのが普通?



820 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 20:57:23 ]
質問です。
ある命令を実行した時から別のある命令が実行される時までの所要時間を計測することはできますか?
日付を出して差から求めるっていうのが正確かと思いますが、時間を計る専用メソッドはありますか?

821 名前:デフォルトの名無しさん [2008/04/09(水) 21:06:17 ]
>>820
import org.apache.commons.lang.time.StopWatch;

StopWatch clock = new StopWatch();
clock.start();
...
clock.stop();
System.out.println(clock.getTime() + "ms");
clock.reset();

clock.start();
...


822 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:08:08 ]
>>821
素早い回答ありがとうございます。
今から試してみようと思います。

823 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:17:56 ]
>>822
ライブラリが分からなくて出来ないに1000ガバス。

普通に↓でいいだろ。

import java.util.Date;

public class Main {
public static void main(String[] args) {
long start = new Date().getTime();
  //ここに処理を書く
System.out.println("time:" + (new Date().getTime()-start) + "ms");
}
}

824 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 22:17:26 ]
>>823
回答ありがとうございます。
getTimeで時間を取得すると1207746884155などといった数字になったのですが、
これはどう見ればいいのでしょうか?
何度もすみませんがよろしくお願いします。

825 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 22:23:04 ]
>>824
javadocぐらい見れるようになろうぜ
java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Date.html#getTime()

826 名前:デフォルトの名無しさん [2008/04/10(木) 03:52:53 ]
package packagename;と書いたらそのファイルはpackagenameフォルダに入れないといけないの?

827 名前:826 [2008/04/10(木) 04:21:19 ]
自己解決しましたv(^-^)

828 名前:デフォルトの名無しさん [2008/04/10(木) 11:14:17 ]
プログラムの実務の為の練習するのに良い本やサイトないですか?

829 名前:デフォルトの名無しさん [2008/04/10(木) 11:23:10 ]
>>828

Javaの入門サイト
www.nextindex.net/java/index.html

Javaで学ぶデザインパターン
www.amazon.co.jp/Java%E8%A8%80%E8%AA%9E%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E5%85%A5%E9%96%80-%E7%B5%90%E5%9F%8E-%E6%B5%A9/dp/4797316462




830 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 12:12:44 ]
>>828
「実務」って何?というかどういう方向?それによって違うし、
どの程度経験があったり使ったことあるかでも話が全然違う。

831 名前:デフォルトの名無しさん [2008/04/10(木) 12:36:40 ]
ほんと基礎って感じです!練習問題的な。
SJC-Pの資格は取ったんですけど、プログラムの仕方みたいなのは全然わからなくて!

832 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 12:50:30 ]
役に立たない資格だな・・・

833 名前:デフォルトの名無しさん [2008/04/10(木) 17:33:29 ]
助けてくだしあ><
jdk-6u5-windows-i586-p.exeをインストールして
システム環境変数の末尾に;C:\Program Files\Java\jdk1.6.0_05\binと書いたんですが

set pathの結果が
C:\>set path
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Ju
stsystem\JSLIB32;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program
Files\QuickTime\QTSystem\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
てなってjavacが通らないんです

quicktimeがclasspathをどうにかしてたんでアンインストールして現在はclasspathが無い状態です
システム環境変数を編集してみてもquicktimeは無いのにsetPathで出てきます

834 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:05:45 ]
再起動したらできますた
すまそんw

835 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:09:14 ]
ちょwwwwwwwwwww
個人情報出すなよwwwwwwwwwwwwwwwwwwwwwwww
やばすぎwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

>Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Ju
>stsystem\JSLIB32;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program
>Files\QuickTime\QTSystem\
>PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

やろうと思えば今すぐにでもお前のPCに侵入できる状態なんだが・・・

836 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:14:12 ]
これは酷いww

今すぐ>>834-835の削除依頼出してこい。

837 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:20:40 ]
おお、なんかすごいのあるな。
今から侵入を試みてみる。ちょっと待ってて。

838 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:23:51 ]
>>831
初めは簡単なプログラムやアプリを軽く書ける練習すると良いのではないだろうか?
これしかない!という本は無いと思うから、本屋で自分と波長が合う簡単な本を
買って一冊踏破すれば。慣れたらもっとセンスを研く本を買うと良いと思う。

839 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 09:37:28 ]
すみません、助けてください。
ApacheTomcatが起動できません。
ConfigureTomcatからStartさせようと思うのですが、
スタートできません。
バージョンは5.5.26でインストールは問題なく終了しました。
OSはXPです。
なんとか起動まで導いてください。
お願いします。



840 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 10:09:39 ]
スレ違い

841 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 10:26:59 ]
JAVAでMSDNにあたる資料は、
java.sun.com/j2se/1.5.0/ja/docs/ja/api/
これでしょうか?

もう少し見やすいものはないものでしょうか……?

842 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 12:53:34 ]
どういうものを求めてる?
どのへんが見づらいの?

843 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 12:56:44 ]
継承メンバ一覧は冗談かと思うよな

844 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 13:52:58 ]
質問!
0.0以上1.0未満の整数値をランダムに生成して表示するプログラムを作ってます。

import java.util.Random;

class ex0209 {

public static void main(String[] args) {
Random rand = new Random();

double lucky = rand.nextDouble(1);

System.out.println("0.0以上1.0未満の実数値:" + lucky);
}
}

上記のようにすると
ex0209.java:8: nextDouble() (java.util.Random 内) を (int) に適用できません
double lucky = rand.nextDouble(1);
^
エラー 1 個
というメッセージが出てきます。
1を1.0に変えても同じでした。
どうすればいいのでしょうか。

845 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:30:11 ]
>>844
宿題?ちゃんと API を見ろ。引数いらん。
ついでにずいぶんいらん変数が多いなぁ。つーか変数いらん。
まぁできえばいいかな。

846 名前:デフォルトの名無しさん [2008/04/12(土) 14:42:06 ]
>0.0以上1.0未満の整数値をランダムに生成して表示するプログラムを作ってます。
ランダムも何も、0だけ表示しとけばいいだろwww


847 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 16:34:11 ]
今GUIプログラミングをしているのですが、
キーの押下に反応するメソッドはありますか?
例えばaを押したらすぐにキーコードかaが表示される感じです。

848 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:00:16 ]
>>845
API見たら確かにのってた。アホな事聞いてすんません。
Javaは趣味でやってます。今使ってる入門書に答えが載ってなかったんで。



849 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:14:42 ]
KeyListener.keyPress(KeyEvent e)内で、上の\と下の\を区別たいのですが、
e.getKeyCode() では同じ値(92)で区別できず、
e.getKeyLocation() でも同じ値(1)で区別できませんでした。
どうすれば区別できるのでしょうか?



850 名前:849 mailto:sage [2008/04/12(土) 17:17:55 ]
自己解決しました。
スレ汚しすみませんでした。

851 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:22:54 ]
>>842
検索できないのが痛いです。
索引でいちいち探すのも面倒ですし……。
求めているものはMSDNそのまんまって感じです。

もしかして検索どこかにあるのかな……?

852 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:29:52 ]
実用上googleで不満ないけどな
たまに逆引きが欲しい時があるとか?
それなら簡単な逆引きツールを作るのも勉強になって良いぞ

853 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:45:55 ]
site:java.sun.com/j2se/1.5.0/ja/docs/ja/api/ つけて Google で検索すりゃいい。

854 名前:844 mailto:sage [2008/04/12(土) 17:52:17 ]
もう一つ質問よろしいでしょうか!
-1.0以上1.0未満の実数値をランダムに生成して表示するプログラムを作ってます。

import java.util.Random;

class ex0209_1 {

public static void main(String[] args) {
Random rand = new Random();

double minus = -(rand.nextDouble()) - 0.1;
double plus = rand.nextDouble();

System.out.println("-1.0以上1.0未満の実数値:" + (minus + plus));
}
}

コンパイルできて実行も出来るのですが、実数値が出力される事も手伝って
確認が難しいです。おかしいところがあったら教えていただきたいのですが。

855 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:57:21 ]
なんの確認が難しいんだよ。日本語書け。

856 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:00:22 ]
>>854
Java 初心者だけではなくプログラミングも初心者だね。
そりゃおかしいよ。-1.1 から 1 の乱数。なんで唐突に
-0.1 なんか入れるの?

中身はその路線なら

System.out.println("-1.0以上1.0未満の実数値:" + (2*(new Random().nextDouble())-1));

で十分。

乱数たくさん発生して区画に分けて統計を取って確認する
という練習問題でもしてみたら?

857 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:01:49 ]
nextDouble() が0.0以上1.0未満ってわかってるんだから
そこから先は不等号式を解く作業

858 名前:844 mailto:sage [2008/04/12(土) 18:18:17 ]
>>855
実行結果の確認がという意味です。説明不足でゴメンナサイ。
>>856
はい、一週間前に始めたばかりです。
凄いスマートに出来るんですね。
>>857
>不等号式を解く作業
そういう方法もあるんですね。しかし変数についてまでしか勉強してないので
理解できないです。すんません。

色々アドバイスしてくれてありがとうございました。

859 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:13:55 ]
>>847への回答よろしくお願いします。



860 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:17:34 ]
>>852
>>853
Googleでちょっと不便だけどできました。
ありがとうございました。

861 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 01:41:21 ]
>>856
日本語も初心者だと思うぞ


862 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:02:54 ]
キーボードから読み込んだ三つの整数値の中央値を求めて表示するプログラムです。

import java.util.Scanner;

class ex0313 {

public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);

System.out.print("整数a:"); int a = stdIn.nextInt();
System.out.print("整数b:"); int b = stdIn.nextInt();
System.out.print("整数c:"); int c = stdIn.nextInt();

int mid = a;
if (a > b) {
if (b > c)
mid = b;
else if (c < a)
mid = c;
} else {
if (a > c)
mid = a;
else if (c > b)
mid = b;
else
mid = c;
}

System.out.println("中央値は" + mid + "です。");
}
}


863 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:05:29 ]
で、何?

864 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:05:35 ]
>>862のように作り、正常に動作したのですが、見た目がすっきりしていないような気がします。
何か余計な事をしているところがあったら指摘していただきたいのです。よろしくお願いします。

865 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:10:03 ]
配列にしてソートして真ん中の要素を表示すればいいけど、
3要素に特化するというのであれば別にそれでもいいんじゃない? とは思う。

866 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:30:00 ]
>>865
ありがとうございます。このままでも特に問題は無いのですね。

>配列にしてソートして真ん中の要素を表示すればいいけど
ごめんなさい意味が分かりません。理解できるように勉強頑張ります...。

867 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 09:28:30 ]
>>859
> >>847への回答よろしくお願いします。
import javax.swing.*;
public class Jpanel extends JFrame {
static String img;
public static void main(String[] args) {
if (args.length < 1) {
System.out.println ("Usage: java Jpanel image-file(jpg, png, gif file)");
System.exit(1);
}
img = args[0];
Jpanel jpanel = new Jpanel("Test JPanel");
jpanel.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
jpanel.setSize( 640, 480 );
jpanel.setVisible( true );
}
private Jpanel (String title) {
super(title);
getContentPane().add(new JScrollPane( new JLabel(new ImageIcon(img))));
}
}
あ、JPanel()を使って無いな。だけど、getContentPane()がJPanel()のようなものだから。

868 名前:867 mailto:sage [2008/04/14(月) 09:32:18 ]
誤爆した

869 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 11:59:39 ]
>>847 ついでに
コンポーネントは内部にイベント処理を持っているので、それを書き換える例。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Jpanel extends JFrame {
public static void main(String[] args) {
Jpanel jpanel = new Jpanel("Test JFrame");
jpanel.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
jpanel.setSize( 640, 480 );
jpanel.setVisible( true );
}
private Jpanel (String title) {
super(title);
enableEvents( AWTEvent.KEY_EVENT_MASK );
}
protected void processKeyEvent(KeyEvent e) {
int id = e.getID();
if(id == KeyEvent.KEY_PRESSED) {
int code = e.getKeyCode();
if(code == KeyEvent.VK_A)
System.out.print("A ");
else
System.out.print(code + " ");
}
}
}
JFrameのキーイベントを書き換え。



870 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:00:34 ]
>>865
> 配列にしてソートして真ん中の要素を表示

{小さい値の集合} ≦ 中央値 ≦ {大きい値の集合}

となる中央値を求めるので、上記の{集合}の部分を
木構造で作ってトーナメント的に更新して入れ替えていけばいい。
{小さい〜}は大きい値が勝つようにして、
{大きい〜}は小さい値が勝つようにする。

良い例が無いか探してみたら↓に Java のコードもあるっぽい。
www.cs.sunysb.edu/~algorith/files/median.shtml

871 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:16:12 ]
>>870
865 さんはそんな難しい事言おうとしていたのかな。汎用性と実用性から
考えれば配列に入れて java.util.Arrays の sort 使って真ん中抜いて終わり。
プログラミングの観点からはそういのに慣れるのはいいと思うけど。

アルゴリズムの勉強をしたいならそれはまた別の問題だわな。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<302KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef