★★ Java の宿題ここで答えます Part 54 ★★

このエントリーをはてなブックマークに追加
1 

【Java宿題スレッド基本ルール・五箇条の御誓文】
1:問題文は自己省略せずに、直接全部貼り付けてください。
2:課題の「丸投げ」が最も好ましい提示法です。なるべく丸投げしてください。
3:数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
4:課題&宿題関連の質問はOKですが、それ以外の一般的な質問は禁止です。
5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。

【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、解答希望日があれば書きます
【 Ver  】希望するJavaバージョンがあれば書きます
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)

【回答プログラムの掲載場所】
Java質問スレWiki  http://www.wikiroom.com/java/
ソースポストネット  http://sourcepost.sytes.net/

【前スレ】
http://pc8.2ch.net/test/read.cgi/tech/1123639475/l50
2デフォルトの名無しさん:2005/12/05(月) 19:23:57
2get禁止
3デフォルトの名無しさん:2005/12/05(月) 19:30:38
3卓郎っす
4 :2005/12/05(月) 19:32:44
何故、丸投げが好ましいのかと言うと、人のソースを読んで
それに修正を加えるのは、一から書くのより数倍大変になるのですね。
だから、少しでも自分でプログラムを書いてそれから出そうとするのは
余計なお節介どころか、絶対やって欲しくないお節介になってしまうのですね。
5デフォルトの名無しさん:2005/12/05(月) 19:32:45
>>3
なんでだよ!
6 :2005/12/05(月) 19:37:10
>>1
乙。
何時の間にか、このスレもパート54までになったのか。
宿敵、永遠のライバルC、C++の宿題スレとついに並んだぞ。
さらにJAVAを盛り上げて、このまま追い越したいね。
回答者も増えたし、がんばろう。
7デフォルトの名無しさん:2005/12/05(月) 19:46:24
>>6
その先には一体何が待ち受けているのであろうか。
幸福か、絶望か。
それとも..
8デフォルトの名無しさん:2005/12/05(月) 19:52:52
スレ立て乙
この1のテンプレはシンプルかつ分かりやすくていい
9デフォルトの名無しさん:2005/12/05(月) 20:00:59
>6
スレ番の付け方がおかしいだけ。
確か1.4の次に50になった記憶がある。
10デフォルトの名無しさん:2005/12/06(火) 02:08:59
>>1
11デフォルトの名無しさん:2005/12/06(火) 03:41:09
【 課題 】字句解析・構文木
課題.1
-41 * 53 + (5 + 91) / (23 - (7 + 11))
などのような整数の加減乗除を記述した文字列から
数値や演算子を取り出し、木構造を生成する。

課題.2
上記課題.1で生成された木構造からデータを取り出し、
木構造の表示を行った上で計算結果を表示する。
出力例
calc: -41 * 53 + (5 + 91) / (23 - (7 + 11))
L[L[L[0]R[41]-]R[53]*]R[L[L[5]R[91]+]R[L[23]R[L[7]R[11]+]-]/]+
result: -2154

備考
データの入力は標準入力から一行のみとする。
便宜上数値は 32bit 符号付整数のみを扱う。
割り算で商が整数で表せない場合は商の少数以下を切り捨てる。
木構造は二分木を用い、ノードに演算子、左項をノードの左の子ノード
右項をノードの右の子ノードとして表現する。項が数値の場合は葉になる

演算子は + - * / の 4 種のみ、優先順位は 「()」 > 「* /」 > 「+ -」。
同じ順位のものが連続する場合は左、もしくは右から評価する。
(どちらからでも良いが、作成したプログラム中ではどちらかに統一すること)

【 期限 】提出日 12月9日 
【 Ver.  】1.4.2
【 補足 】丸投げです。すみません。
こちらのサイトにうpして頂けるとあり難いです。
ttp://www.wikiroom.com/java/
12デフォルトの名無しさん:2005/12/06(火) 06:51:16
>>11
最近Pascalスレで似たような問題を見たので移植してみた
ttp://www.wikiroom.com/java/index.php?%BB%FA%B6%E7%B2%F2%C0%CF%A1%A6%B9%BD%CA%B8%CC%DA

()に対応していないのと、優先順位がおかしいので直さないといけない

また式は右から評価されているようです

-3-3
を実行すると
-(3-3)
と解釈されるらしく
0
になる

-10+3
だと
-(10+3)
と解釈されて
-13
13デフォルトの名無しさん:2005/12/06(火) 08:31:10
【 課題 】jeg画像を読み込み、縦横のピクセル数を取得し、指定ピクセル(今回は画像の中央)での
      RGB値を得るプログラム。RGB値は0〜255の範囲で返すこと。
【 期限 】12月7日朝まで 
【 Ver. 】1.5
【 補足 】お願いします。
14デフォルトの名無しさん:2005/12/06(火) 09:30:49
JPEGライブラリの使用とか著作権とか気にしなくていい?
15デフォルトの名無しさん:2005/12/06(火) 09:54:01
>>13
とっても手抜き、動作確認お願いします。
引数で画像ファイルを指定してください。

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class T54_13 {
public static void main(String[] args) throws IOException {
BufferedImage image = ImageIO.read(new File(args[0]));
int x = image.getWidth()/2;
int y = image.getHeight()/2;
int rgb = image.getRGB(x, y);
int r = (rgb >> 16) & 0xFF;
int g = (rgb >> 8) & 0xFF;
int b = rgb & 0xFF;
System.out.println("FILE(\""+args[0]+"\")");
System.out.println("SIZE("+image.getWidth()+","+image.getHeight()+")");
System.out.println("POS ("+x+","+y+")");
System.out.println("RGB ("+r+","+g+","+b+")");
}
}
16デフォルトの名無しさん:2005/12/06(火) 10:07:21
>>12
JPEGライブラリ、画像は何でもいいです。


17デフォルトの名無しさん:2005/12/06(火) 10:07:58
すいません!
>>12ではなく、>>14です!
18デフォルトの名無しさん:2005/12/06(火) 10:12:42
>>15
動作確認しました。アプレットでFILEを開かなくて、img = getImage(getCodeBase(),"test.jpg")として読み込んでアプレットで読み込んだ画像を表示出来るようにできますか?
また、このプログラムにColorModel cm = ColorModel.getRGBdefault();を入れ、RGBの値を得ることは出来ますか?
忙しい中、注文多くてすいません。
19デフォルトの名無しさん:2005/12/06(火) 13:07:30
どうでもいいけど、テンプレで【課題】が<必須>って当たり前のような気がするが。
課題が書いてなきゃどうしようもないしw
20デフォルトの名無しさん:2005/12/06(火) 13:31:02
 課題 】Canavs上で描いた絵、文字をJPEGファイルで保存できるようにする。
【 期限 】提出日 12月8日 
【 Ver  】Eclipse SDK 3.1.1 j2SDK1.4.2
【 補足 】プログラムを始めて一ヶ月ほどのものです
      丸投げですが、宜しくお願いします。
21デフォルトの名無しさん:2005/12/06(火) 13:35:35
>>19
すいませんでした。教授に口で問題を言われて、プリントが無いんです。
でも、>>15のプログラムでいいのですが、アプレットで画像を表示しないといけないんです。
アプレットビュアーを用いて読み込んだ画像を表示するプログラムをお願いします。
プリントが無いので、問題文を提示できないので申し訳無いですが。

>>13も自分なりに課題を書いてみたので、伝わりにくくてすいません。
22デフォルトの名無しさん:2005/12/06(火) 13:58:33
ZipOutputStreamを使ってファイルを出力しています。
zip内に含めるファイルのファイル名に全角文字を使うと文字化けが起きてしまいます。
解決方法がわからずこの場を借りて質問させていただきました。
もしよろしければアドバイス等おねがいいたします。
23デフォルトの名無しさん:2005/12/06(火) 14:29:08
C 使ってから Java 浸かってみるとやっぱり Java って「ぬるま湯」だよなぁ
24デフォルトの名無しさん:2005/12/06(火) 14:30:16
>>22
ここは宿題スレだから
質問はこのあたりでどうぞ
http://pc8.2ch.net/test/read.cgi/tech/1133087049/
25デフォルトの名無しさん:2005/12/06(火) 21:11:07
26デフォルトの名無しさん:2005/12/06(火) 22:11:42
前スレ>>995
Bmp2Jpeg.java:52: シンボルを解決できません。
シンボル: メソッド add (Bmp2JpegCanvas)
場所 : java.awt.Container の クラス
getContentPane().add(canvas);
^
Bmp2Jpeg.java:109: Canvas の Canvas(javax.swing.JFrame) は () に適用できません。
Bmp2JpegCanvas(String f, int w, int h){
^
Bmp2Jpeg.java:118: シンボルを解決できません。
シンボル: メソッド addMouseListener (Bmp2JpegCanvas.Listener_MouseClick)
場所 : Bmp2JpegCanvas の クラス
addMouseListener(listener_MouseClick);
^
Bmp2Jpeg.java:119: シンボルを解決できません。
シンボル: メソッド addMouseMotionListener (Bmp2JpegCanvas.Listener_MouseMotion)
場所 : Bmp2JpegCanvas の クラス
addMouseMotionListener(listener_MouseMotion);
^
2726:2005/12/06(火) 22:12:13
Bmp2Jpeg.java:135: シンボルを解決できません。
シンボル: メソッド drawImage (java.awt.image.BufferedImage,int,int,Bmp2JpegCanvas)
場所 : java.awt.Graphics2D の クラス
g2.drawImage(bi, 0, 0, this);
^
Bmp2Jpeg.java:147: シンボルを解決できません。
シンボル: メソッド repaint ()
場所 : Bmp2JpegCanvas.Listener_MouseMotion の クラス
repaint();
^
Bmp2Jpeg.java:164: シンボルを解決できません。
シンボル: メソッド repaint ()
場所 : Bmp2JpegCanvas.Listener_MouseClick の クラス
repaint();
^
Bmp2Jpeg.java:166: シンボルを解決できません。
シンボル: メソッド getSize ()
場所 : Bmp2JpegCanvas.Listener_MouseClick の クラス
Dimension d = getSize();
Bmp2Jpeg.java:169: シンボルを解決できません。
シンボル: メソッド repaint ()
場所 : Bmp2JpegCanvas.Listener_MouseClick の クラス
repaint();

俺のヴァージョン古いだけかもしれないです。すません
28デフォルトの名無しさん:2005/12/06(火) 22:14:34
どのバージョン使ってるの?
2926:2005/12/06(火) 22:18:01
CPad for Java2 SDK version 2.31です
30デフォルトの名無しさん:2005/12/06(火) 22:24:17
CPad for Java2 SDK は使ったことないけど統合環境だろうから
そいつのバージョンに依存するとは思えないんだよね

SDK は 1.4.2_10 ですか?
3126:2005/12/06(火) 22:28:02
j2sdk1.4.2_08です
32デフォルトの名無しさん:2005/12/06(火) 22:34:19
ちなみにうちは

1.4.2_06

1.5.0_02

どちらでも動いている

あと、import の個別に書いてある行をまとめて * で省略したらだめだよ。
3326:2005/12/06(火) 22:35:49
はい、もうちょっと自分で粘ってがんばってみます
スレ汚しすいませんでした。
34デフォルトの名無しさん:2005/12/06(火) 23:53:04
処理終了後のcnt1,cnt2の内容を記述せよ。

開始
⇒@ 0→cnt1
⇒A 0→cnt2
⇒B 0→x
⇒C x+1→x
⇒D xが10より大きいときに終了、xが10以下のときEへ
⇒ETA(x)が0より小さいときにGへ、0より大きいときにFへ、0と等しいときにBとCの間へ
⇒Fcnt1+1→cnt1、BとCの間へ
⇒Gcnt2+1→cnt2、BとCの間へ
表TAの要素
TA(1) 4
TA(2) −2
TA(3) 6
TA(4) 0
TA(5) 0
TA(6) 3
TA(7) 4
TA(8) 15
TA(9) 0
TA(10)−3

この流れ図をJavaのプログラムに書き直せというのなんですが、流れ図が見にくいと思いますが明日の朝までなのでよろしくお願いします。
35デフォルトの名無しさん:2005/12/07(水) 00:07:09
無条件ジャンプしか出来ないアセンブラみたいな流れ図だな
Javaで作る意味なし
36デフォルトの名無しさん:2005/12/07(水) 00:08:20
流れ図の通りに一行づつ作る必要があるの?
それとも等価ならifとかforとかwhileとか何使ってもいいの?
37デフォルトの名無しさん:2005/12/07(水) 00:10:14
>>36
ifとforを使ったのでお願いします。
38デフォルトの名無しさん:2005/12/07(水) 00:27:05
>>34
public class Hoge{
  int TA[] = {0, 4, -2, 6, 0, 0, 3, 4, 15, 0, -3}; // TA[0] はダミー

  static public void main(String[] args){
    int cnt1 = 0;
    int cnt2 = 0;
    for(int x = 1; x <= 10; x++){
      if(TA[x] > 0) cnt1++;
      else if(TA[x] < 0) cnt2++;
    }
    System.out.println("cnt1 = " + cnt1 + ", cnt2 = " + cnt2);
  }
}
39デフォルトの名無しさん:2005/12/07(水) 02:49:03
>>13の訂正です
【 課題 】test.jeg画像を読み込み、縦横のピクセル数を取得し、指定ピクセル(今回は画像の中央)での
      RGB値を得るプログラム。RGB値は0〜255の範囲で返すこと。読み込んだ画像をアプレットで表示すること。
【 期限 】12月7日朝まで 
【 Ver. 】1.5
お願いします。
40デフォルトの名無しさん:2005/12/07(水) 06:17:09
>>38ありがとうございました!!
41デフォルトの名無しさん:2005/12/07(水) 10:20:19
【 課題 】5×5の座標をfor文を使い、(1,1)〜(5,5)まで25個を表示しなさい
【 Ver. 】1.5
42987:2005/12/07(水) 10:58:43
前スレ987なのですが、
http://page.freett.com/kb100000/4.txt

ttp://www.wikiroom.com/java/index.php?HW972%20Wig%20MovingObject
さんの一番上のプログラムだけでダブルバッファリングしたものとしてないもの
あるのでしょうか・・?宜しくお願いします。。PM:14:40くらいまでです・・。
43デフォルトの名無しさん:2005/12/07(水) 11:12:44
【課題】Canvasクラスを使い、図形を描画するプログラムを作成。(図形は何でも良い。)
その時、レイアウトを用いて、Canvasクラスの上部にLabelクラスを配置し、
描画した絵のタイトルを記述すること。

【期限】12月7日午前中
【補足】しつこくすみません!丸投げで申し訳ありません。どうかお願い致します。
44デフォルトの名無しさん:2005/12/07(水) 12:21:23
>>42

宿題スレPart53(ダブルバッファリング Wig.java のみ修正UP) >>972
↑ダブルバッファリングしたもの

宿題スレPart53(3個に対応 Wig.java のみ修正UP) >>972
↑上と同じだがダブルバッファリングしていないもの

宿題スレPart53(Wig MovingObject) >>972
↑後半の MovingObject.java が上の2つにも必要
45デフォルトの名無しさん:2005/12/07(水) 12:22:07
>>43

>>25 がそれと似たようなもんだから改造汁
4643 :2005/12/07(水) 13:57:48
ありがとうございます!
47921:2005/12/07(水) 15:08:26
名前: 921
E-mail:
内容:
全スレ953の人ですが、もうお手上げ状態です。
小数点ボタンの処理がどうもわかりません。
期限が明日なんでどなたかお願いします。
使ってる変数はi,j,l,m,M,k,sです(iとjは演算子、lは格納、 kは表示)。
小数点を表示させるためにString sを使ってます。
http://j-apartment.net/03/kokugo/files/img-box/img20051207150402.txt
48デフォルトの名無しさん:2005/12/07(水) 16:04:39
>iとjは演算子、lは格納、 kは表示
('A`)
49デフォルトの名無しさん:2005/12/07(水) 16:09:36
【課題】ファイル中の,特定の文字列が含まれる行だけ抜き出して表示するような文字列検索
プログラムSearchStringを作ってください.
表示する行には,その行が何行目なのかも一緒に表示してください.最初の行は1行目とします.
検索する文字列とファイル名は引数で与えること.
myfile(という名前のファイル)から"tion"という文字列を含む行を検索する場合,
以下のように実行します.
以下の結果は30行目と43行目にtionを含む行があったことを示しています.
$ java SearchString tion myfile
30:your question is ..
43:reputation ...
$
ヒント: 文字列中から文字列を検索するにはStringクラスのindexOf(String)メソッドを使うと
簡単です.
indexOfで返される「インデックス」とは,a.indexOf(b)で「bがaの何文字目から始まるか」と
いう値のことです.
"ABCD".indexOf("AB") == 0 になります (0文字目から始まるので)

【期限】期限12月12日

丸投げですがよろしくお願いします。
50デフォルトの名無しさん:2005/12/07(水) 16:12:18
>>48ではないけれど、人に見せるならもう少し変数名をわかりやすくしてください
無駄なコメントが多くて必要なコメントが足りていません
51デフォルトの名無しさん:2005/12/07(水) 16:13:53
さあ、はやく回答するがよい!
52デフォルトの名無しさん:2005/12/07(水) 16:45:40
>>49
かなり手抜きです、動作確認お願いします。

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class SearchString {
public static void main(String[] args) throws IOException {
String searchText = args[0];
Scanner reader = new Scanner(new File(args[1]));
for(int lineNumber=1; reader.hasNextLine(); lineNumber++) {
String lineText = reader.nextLine();
if (lineText.indexOf(searchText) != -1) System.out.printf("%d:%s\n", lineNumber, lineText);
}
}
}
5320:2005/12/07(水) 17:25:54
御回答ありがとうございます。
54ラムネ:2005/12/07(水) 18:14:38
△△△△*       
△△△***      
△△*****
△*******
*********
△△△△*
△△△△*

このプログラムおねがいします、結果がこうなるように
55ラムネ:2005/12/07(水) 18:18:50
    *       
   ***      
  *****
    *        
   ***      
  *****
    *       
   ***      
  *****
    *
    *
あとこれもよろしくお願いします^^
期限が明日までなんでよろしくお願いします
56デフォルトの名無しさん:2005/12/07(水) 18:20:34
>>54-55
意味不明なんですが…
57デフォルトの名無しさん:2005/12/07(水) 18:49:35
>>47変更箇所のみ(丸めはコレじゃ意味ないのでやってない)
public class GUI extends JFrame {
int c=1;
boolean sc;
double l=0;//intから変更ね
/*----------------------------------------------------*/
private JButton getBf() {
public void actionPerformed(java.awt.event.ActionEvent e) {
c=1;
sc=false;
}
/*----------------------------------------------------*/
public void number(double a){//intから変更ね
if(sc){
l=l+(a/c);
c *=10;
}else{
l=l*10+a;
}
/*----------------------------------------------------*/
public void enzan(){
c=1;
sc=false;
/*----------------------------------------------------*/
private JButton getBt() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if(!sc){
c*=10;
sc=true;
}

/*----------------------------------------------------*/
58ラムネ:2005/12/07(水) 18:51:11
まじっすか・・・
トレース結果をがこうなるようにってゆう問題です・・
59デフォルトの名無しさん:2005/12/07(水) 18:52:00
>>54
import java.io.*;
public class PrintGraph{
public static void main(String[] args) throws IOException
{
System.out.println("△△△△*");
System.out.println("△△△***");
System.out.println("△△*****");
System.out.println("△*******");
System.out.println("*********");
System.out.println("△△△△*");
System.out.println("△△△△*");
}
}
60ラムネ:2005/12/07(水) 19:10:33
確かにできますねwありがとうございます^^けど、今から打つ擬似言語
がヒントなんでそれじゃだめだと・・
ww
61デフォルトの名無しさん:2005/12/07(水) 19:12:20
小出しにするのうざい、市ね。
62ラムネ:2005/12/07(水) 19:13:15
申し訳ありませんわるぎはないんです・・・初心者なもんで・・
63デフォルトの名無しさん:2005/12/07(水) 19:13:33
既知外が北野か?
64ラムネ:2005/12/07(水) 19:21:14
■i=1;?;i+
■j=1;?;j++
■・"△"表示(改行なし)
 ■
 
 ■k=1;?;k++
"*"表示(改行なし)
 ■
 改行


■ i=1;?;j+1
■j=1;?;j++
”△”表示(改行なし)
■・*表示(改行あり)
擬似で書くとこんな感じです・・・
?のところがわからないとこです・・
よろしくお願いします〜
65デフォルトの名無しさん:2005/12/07(水) 19:23:09
最も重要な条件を後から追加するような奴には誰も答えんよ
66ラムネ:2005/12/07(水) 19:24:57
本当にもうしわけありません・・
擬似言語しらないかたもいるかとおもいまして・・
67デフォルトの名無しさん:2005/12/07(水) 19:38:24
>質問者
お願いだからテンプレ使ってよ。
作った意味がない。
68デフォルトの名無しさん:2005/12/07(水) 19:43:44
てか、擬似言語知ってようが知ってなかろうが、課題は全文書けよ
69デフォルトの名無しさん:2005/12/07(水) 19:46:37
こいつ小出しの最高記録を狙ってるのかもな。
あと、何回追加するか見物だな。
70ラムネ:2005/12/07(水) 19:50:08
課題 "△","*"を使用して木を作成
出力結果
△△△△*       
△△△***      
△△*****
△*******
*********
△△△△*
△△△△*
ヒント
■i=1;?;i+
 ■j=1;?;j++
 ■・"△"表示(改行なし)

 ■k=1;?;k++
  "*"表示(改行なし)
 ■
 改行


■ i=1;?;j+1
■j=1;?;j++
”△”表示(改行なし)
■・*表示(改行あり)
擬似で書くとこんな感じです・・・
?のところがわからないとこです・・
提出日12月8日 木曜日です。
よくわからず書き込んでもうしわけありませんでした・・
以後気おつけます

71デフォルトの名無しさん:2005/12/07(水) 19:57:38
72デフォルトの名無しさん:2005/12/07(水) 20:03:21
>>70
i<=5
j+i<=5
k<i*2
i<=2
j<=4

終了
73デフォルトの名無しさん:2005/12/07(水) 20:14:17
【課題】白地の中に黒で塗りつぶされた四角形のJPG画像を読み込み、四角形の四つ角の座標(x1,y1),(x2,y2),(x3,y3),(x4,y4)を求めなさい。
JPG画像のサイズは240×320に近いサイズの物を使用すること。
【期限】12月8日
【補足】お願いします。
74ラムネ:2005/12/07(水) 20:29:18
デフォルトの名無しさん さんほんとありがとうございます〜
75デフォルトの名無しさん:2005/12/07(水) 20:35:31
>>73
四角形は■だけ?◆とか台形とかも有り?
76ラムネ:2005/12/07(水) 20:35:36
課題 "△","*"を使用してツリーを作成しなさい
出力結果
*      
   ***      
  *****
    *        
   ***      
  *****
    *       
   ***      
  *****
    *
    *
前の問題(70)を参考に答えなさい。
【期限】12月8日
よろしくお願いします〜
77デフォルトの名無しさん:2005/12/07(水) 20:44:48
【課題】コンピュータと対戦するオセロゲームを作成しなさい。途中結果も保存できるようにし、
プログラムにできるだけ多く注釈をつけなさい。なお、Applicationで実装すること。
【期限】12月15日
【補足】丸投げです。よろしくお願いします
78デフォルトの名無しさん:2005/12/07(水) 20:45:48
>>77
オセロのソースなら探せばいくらでも見つかると思うが……
79デフォルトの名無しさん:2005/12/07(水) 20:46:59
>>75
基本は■だけです。可能であれば◆の四つ角もと言われています!
80デフォルトの名無しさん:2005/12/07(水) 20:47:22
>>78
Applicationで実装するというのと注釈がわからないんです
81デフォルトの名無しさん:2005/12/07(水) 21:07:34
オセロは簡単そうに見えて実は思考が難しい
821/2:2005/12/07(水) 21:42:00
>>73
取得できるのは■だけです。 image.jpgファイルを同じディレクトリに置いてください。
動作確認よろしくお願いします。

import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class T54_73 {
public static void main(String[] args) throws Exception {
BufferedImage image = ImageIO.read(new File("image.jpg"));
System.out.printf("width:%d height:%d%n", image.getWidth(), image.getHeight());
segmentation(image);
Point firstPoint = getFirstPoint(image);
if (firstPoint == null) throw new Exception("四角が見つかりませんでした");
Point secondPoint = getSecondPoint(image, firstPoint);
Point thirdPoint = getThirdPoint(image, firstPoint);
Point fourthPoint = getFourthPoint(secondPoint, thirdPoint);
System.out.printf("(%d,%d)(%d,%d)%n(%d,%d)(%d,%d)", firstPoint.x, firstPoint.y, secondPoint.x, secondPoint.y, thirdPoint.x, thirdPoint.y, fourthPoint.x, fourthPoint.y);
}
// 二値化
static void segmentation(BufferedImage image) {
for(int y=0; y<image.getHeight(); y++) {
for(int x=0; x<image.getWidth(); x++) {
int rgb = image.getRGB(x, y);
int r = (rgb >> 16) & 0xFF;
int g = (rgb >> 8) & 0xFF;
int b = rgb & 0xFF;
image.setRGB(x, y, (r+g+b) < 384 ? 0xFF000000 : 0xFFFFFFFF);
}
}
}
832/2:2005/12/07(水) 21:42:31
// 左上から走査して最初(左上)のポイントを探す
static Point getFirstPoint(BufferedImage image) {
for(int y=0; y<image.getHeight(); y++)
for(int x=0; x<image.getWidth(); x++)
if (image.getRGB(x, y) == 0xFF000000) return new Point(x, y);
return null;
}

// 最初のポイントから横に走査して二つ目(右上)のポイントを探す
static Point getSecondPoint(BufferedImage image, Point firstPoint) {
int x=0;
for (x=firstPoint.x; x<image.getWidth(); x++)
if (image.getRGB(x, firstPoint.y) != 0xFF000000) break;
return new Point(x, firstPoint.y);
}

// 最初のポイントから縦に走査して三つ目(左下)のポイントを探す
static Point getThirdPoint(BufferedImage image, Point firstPoint) {
int y=0;
for (y=firstPoint.y; y<image.getHeight(); y++)
if (image.getRGB(firstPoint.x, y) != 0xFF000000) break;
return new Point(firstPoint.x, y);
}

// 二つ目と三つ目のポイントから四つ目(右下)のポイントを割り出す
static Point getFourthPoint(Point secondPoint, Point thirdPoint) {
return new Point(secondPoint.x, thirdPoint.y);
}
}

かなり適当なつくり…
84デフォルトの名無しさん:2005/12/07(水) 21:58:33
マウスイベントで画像をドラッグして、放すと画像が消えるようにするには
どうすればいいですか?
85ラムネ:2005/12/07(水) 22:14:10
訂正
出力結果
    *      
   ***      
  *****
    *     
でした・・申し訳ありません   
   ***      
  *****
    *       
   ***      
  *****
    *
    *  
86ラムネ:2005/12/07(水) 22:15:31
訂正
出力結果
    *      
   ***      
  *****
    *       
   ***      
  *****
    *       
   ***      
  *****
    *
    *  
でした・・申し訳ありません 
87デフォルトの名無しさん:2005/12/07(水) 22:19:55
>>82
全然適当じゃーないです!
俺からみれば完璧です!ありがとうございます!!
88デフォルトの名無しさん:2005/12/07(水) 22:42:45
>>76
public class a{public static void main(String[] args){for(int a=1;a<=3;a++){for(int b=1;b<=3;b++){for(int c=1;c+b<4;c++)System.out.print("△");for(int c=1;c<b*2;c++)
System.out.print("*");System.out.println();}}for(int a=1;a<=2;a++){for(int b=1;b<=2;b++)System.out.print("△");System.out.println("*");}}}

お前なんかこれで十分だ
89ラムネ:2005/12/07(水) 22:52:51
デフォルトの名無しさん まじでありがとうございます^^
90デフォルトの名無しさん:2005/12/08(木) 01:26:08
【 課題 】チェックボックスグループを使って、1問10点の簡単な3択のクイズを10問。
      プッシュボタンで回答を送信すると、成績が表示されるようにしなさい。
【 期限 】12/8
【 Ver  】1.4.2までで
【 補足 】問題は超簡単、てきとうでいいです。
91デフォルトの名無しさん:2005/12/08(木) 01:28:35
せめて問題と選択肢と答えくらいそっちで用意しろよ
92デフォルトの名無しさん:2005/12/08(木) 01:32:35
>89
基本的に全員デフォルトの名無しなんだから、レス番号くらい入れろよ
93デフォルトの名無しさん:2005/12/08(木) 01:37:26
>>91
すいません。問題はまだ考えてませんでした。
問題1 1+1は? 選択肢 「1」「2」「3」
問題2 1+3は? 選択肢 「4」「2」「3」
問題3 1+4は? 選択肢 「5」「2」「3」
問題4 1+5は? 選択肢 「6」「2」「3」
問題5 1+6は? 選択肢 「7」「2」「3」
問題61+7は? 選択肢 「8」「2」「3」
問題7 1+8は? 選択肢 「9」「2」「3」
問題8 1+9は? 選択肢 「10」「2」「3」
問題9 1+10は? 選択肢 「11」「2」「3」
問題10 1+11は? 選択肢 「12」「2」「3」
とりあえずこんなもんでいいです。
よろしくお願いします。
94デフォルトの名無しさん:2005/12/08(木) 11:06:18
【 課題 】数当てゲームのプログラム

【 期限 】12月12日
【 Ver  】1.5
【 補足 】
プログラム側が考えてた4つの数字当てます。
ユーザー側が数字を入力して、プログラム側が用意した数字と適合する数字と
同じ数字があれば「同」異なれば「異」で表現してください。
4つとも数字が同じであれば、終了してください

数字の重複は、可能であれば「重複無し」でお願いします。

ex: 3641(ユーザー入力) → 6542(プログラム側) = 2同 2異

わかりにくい説明で、申し訳ありません。
どうぞよろしくお願いします。 
95デフォルトの名無しさん:2005/12/08(木) 11:41:18
ex: 3641(ユーザー入力) → 1463(プログラム側) = 4同

この場合でも終了していいの?
96デフォルトの名無しさん:2005/12/08(木) 12:31:52
単純交換法でプログラムを作成しているのですが
まだ途中ではありますがjavacしたあと実行しようとするとエラーが出ます
どうすればいいのでしょうか?プログラムは下記のとおりです
class Tankoukan /*交換法*/
{
public static void main(String args[]) {
int a[] = {23, 33, 12, 3, 52, 4 };
int i,j,x,y,z; System.out.println("ソート前:");
for(i = 0; i < a.length; i++) {
System.out.print(a[i] + ", ");
}
System.out.println();
/* ソートプログラム */
for(i = a.length; i > 0; i--)
{
x= i;
y= i-1;
if (a[x] < a[y])
{
z = a[x];
a[x]= a[y];
a[y]= z;
}
}
System.out.println("ソート後:");
for(i = 0; i < a.length; i++) {
System.out.print(a[i] + ", ");
}
System.out.println();
}
}
97デフォルトの名無しさん:2005/12/08(木) 13:10:54
i<a.lengthってやってるくせに
i=a.lengthっておかしいとは思わないかい?
98デフォルトの名無しさん:2005/12/08(木) 15:10:10
【 課題 】*を1秒に1個ずつ表示させていくプログラムを作りなさい。
【 期限 】12月10日までに
【 補足 】Timerを使うのだと思うのですが、何をどうやってもエラーが出てしまいます。なので丸投げですがよろしくお願いします。
99デフォルトの名無しさん:2005/12/08(木) 19:26:50
>>95さま

ご記載のパターンでも終了できます
同じ数字が4つ含まれていれば終了しろ、との指示でした。
順番は問いません。

どうぞよろしくお願い致します!
100デフォルトの名無しさん:2005/12/08(木) 20:55:45
>98
課題内容の終了条件は?

public class T54_98 {

/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException {
int count = 0;

while(true && count < 10){
System.out.println("*");
Thread.sleep(1000);
count++;
}
}

}
101デフォルトの名無しさん:2005/12/08(木) 22:49:41
>94
// NumberGuess.java
import java.io.*;
import java.util.*;
public class NumberGuess {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>(10);
for( int i=0; i<10; i++ ) list.add( i );
Collections.shuffle( list );
StringBuilder builder = new StringBuilder();
for( int j=0; j<4; j++ ) builder.append( list.remove(0) );
String answer = builder.toString();
BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );
boolean isCorrectInput = false;
int inputNum = 0, correct = 0;
102101:2005/12/08(木) 22:50:31
>94(つづき)
do {
correct = 0;
System.out.print( "4桁のすべて数字の異なる整数を入力してください > " );
try {
String line = br.readLine();
if( line.length() != 4 ) throw new IllegalArgumentException();
inputNum = Integer.parseInt( line );
TreeSet<Character> set = new TreeSet<Character>();
for( int i=0; i<line.length(); i++ ) set.add( line.charAt( i ) );
if( set.size() != line.length() ) throw new IllegalArgumentException();
isCorrectInput = true;
for( int j=0; j<line.length(); j++ ) {
if( set.contains( answer.charAt( j ) ) ) correct++;
}
System.out.println( correct + "同" + (4-correct) + "異" );
} catch( NumberFormatException nfe ) {
} catch( IOException ioe ) {
} catch( IllegalArgumentException iae ) {}
} while( !isCorrectInput || correct != 4 );
System.out.println( "答え:" + answer );
}
}
103デフォルトの名無しさん:2005/12/08(木) 22:54:02
明日までの宿題なのですが、2つの画像を交互に5行10列をifでやらないといけ
ないんです。おねがいします。
104101:2005/12/08(木) 23:02:01
>103
>67
日本語書け。
105103:2005/12/08(木) 23:14:10
if ( 1%2 == 0 )
g.drawImage(img1〜〜〜)
}
g.drawImage(img2〜〜〜)
ここからがわからないです。条件と式をどう入れればいいの?

106デフォルトの名無しさん:2005/12/08(木) 23:19:27
>>101さま


助かりました!ありがとうございました!
107デフォルトの名無しさん:2005/12/08(木) 23:28:01
>>103,105
前提条件等を何も知らない人が>>103 >>105を見ても何を言いたいのか分からないと思うが。
108103:2005/12/08(木) 23:40:44
import java.applet.*;
import java.awt.*;
public class rei5 extends Applet {
Image imgs1,imgs2;
public void init( ) {
imgs1 = getImage(getDocumentBase(),"img1.jpg");
imgs2 = getImage(getDocumentBase(),"img2.jpg");
}
public void paint( Graphics g ) {
int i;
for ( i=1; i<=10; i++ ) {
if ( i%2 == 0 )
g.drawImage( imgs1, i*70, 10, this );
else
g.drawImage( imgs2, i*70, 10, this );
}
}
}
ここからどうしたら、img1とimg2を交互に5行10列に表示できますか?
109デフォルトの名無しさん:2005/12/08(木) 23:58:50
>>108
これで良いのか?
public void paint(Graphics g) {
for (int row = 1; row <= 5; row++) {
for (int column = 1; column <= 10; column++) {
Image img = column % 2 == 0 ? imgs1 : imgs2;
g.drawImage(img, column * 70, row * 70, this);
}
}
}
110103:2005/12/09(金) 00:08:17
ifを使うって言われたんですけど、columnってのも出たことないんで。
すみません。 
2行目のはじめはimg2次はimg1とならないといけないんです。
111デフォルトの名無しさん:2005/12/09(金) 03:09:06
>>103
>columnってのも出たことないんで。

出たことないからどうなの? 使っちゃダメなの? 変数名は何か指定されてるの?
112デフォルトの名無しさん:2005/12/09(金) 03:51:48
すげぇな 変数使わずにforまわせってか・・・
113デフォルトの名無しさん:2005/12/09(金) 11:06:12
カラムって用語を何かで聞きかじってごっちゃになってるんかね
114103:2005/12/09(金) 12:39:22
シンボルが解決できないとでるんですが。img1:img2のところで。
115デフォルトの名無しさん:2005/12/09(金) 14:39:03
>114
>109の内容は>108のpaint()部分だけ書いてるだけでそ
116デフォルトの名無しさん:2005/12/09(金) 14:40:57
連レスすまんが、>109のcolumn % 2のところを
(row + column) % 2に変えたら>103の通りになると思う。
117103:2005/12/09(金) 16:34:21
116さんのとうりにやってもシンボルが解決できないとでたので、imgs1:imgs2
としたら成功しました!!ありがとうございました。
118デフォルトの名無しさん:2005/12/09(金) 18:37:43
行列くらい習ってないのか? と思ったが、情報処理しかやってない学校なら普通なのかな
119デフォルトの名無しさん:2005/12/11(日) 02:51:49
【 課題 】Appletでグラフィックス用の関数を用いて、クリスマスツリーとクリスマスリースの絵を描け。
【 期限 】12日
【 Ver  】1.4
お願いします

120デフォルトの名無しさん:2005/12/11(日) 04:00:56
俺は実装する気ないけど、画像ファイル読み込みはありなの?
それとも・・・
121デフォルトの名無しさん:2005/12/11(日) 04:04:22
行列のできる法律相談所
122デフォルトの名無しさん:2005/12/11(日) 07:09:59
クリスマスリースってなんですか?
123デフォルトの名無しさん:2005/12/11(日) 13:03:20
>>122
クリスマスに無縁な人?
家に飾らないの?
かわいそう・・・
124119:2005/12/11(日) 13:29:47
>>120
なしです。
塗りつぶした三角形を使ったり円を使ったり・・・
そういうことをして絵を描けということみたいです。
125デフォルトの名無しさん:2005/12/11(日) 19:42:00
126デフォルトの名無しさん:2005/12/11(日) 21:01:01
法律のできる行列相談所
127デフォルトの名無しさん:2005/12/12(月) 05:59:09
課題というわけでもないのですが、行き詰まったのでよろしくおねがいします

【 課題 】次のようなコンストラクタを下記のmainメソッドから呼んでやります
このときTest abとTest cdができるわけですが、ab.equals(cd)とするとfalseが返ってくるのはなぜでしょうか
また、この比較ではどの部分が比較対象になっているのでしょうか

class Test{
 static int FIRST=0;
 static int SECOND=1;
 static int THIRD=2;
 final String str;

 Test(String s){
  this.str = s;
 }
 Test(int i){
  this.str = Integer.toString(i);
  this.FIRST = i;
  this.SECOND = i;
  this.THIRD = i;
}

String[] op = {"FIRST", "SECOND", "THIRD"};
 for (int i = 0; i < op.length; i++) {
  Test ab = new Test(op[i]);
   for (int j = 0; j < op.length; j++) {
    if (i == j) {
     Test cd = new Test(op[j]);
      if(ab.equals(cd)) System.out.println("true");
      else System.out.println("false");
  *閉じ括弧略
128デフォルトの名無しさん:2005/12/12(月) 06:35:36
Testクラスのequals()はObjectクラスのequals()を呼んでいる。
Objectクラスのequals()は二つのオブジェクトのidentityを比較するため
同一のオブジェクトを比較するとき以外にtrueを返さない。
(この場合ならab.equals(ab)はtrueを返す)

これを回避するためにはTestクラスにequals()を実装する必要がある。
例えば二つのオブジェクトのstrが同じときtrueを返したいなら

public boolean equals(Test t) {
  if(this.str == t.str) {
    return true;
  } else {
    return false;
  }
}
129デフォルトの名無しさん:2005/12/12(月) 06:37:32
アホかおれは。。。

public boolean equals(Test t) {
  if(this.str.equals(t.str)) {     !!
    return true;
  } else {
    return false;
  }
}
130デフォルトの名無しさん:2005/12/12(月) 07:57:41
そんな実装したら混乱するだけだと思う
131127:2005/12/12(月) 09:48:43
>>128
詳しい解説どうもありがとうございました!

2つのメンバ変数比べてみても同じなのにab.equals(cd)がtrue返ってこなくて
よくわからなくなってました。
同じ内容でも異なっちゃうんですねー・・・
132デフォルトの名無しさん:2005/12/12(月) 13:05:17
【課題】 

 二つの正整数の最大公約数を求めるためのユークリッドの互除法も,再帰呼び出しをしない方法と再帰呼び出しによる方法のニ通りで計算することができる.

 ユークリッド(Euclid)の互除法とは二つの正の整数の最大公約数(Greatest Common Divider, 略してGCD)を求めるための算法として,古くからよく知られたアルゴリズムである.
 この方法は互除という名の示すとおり,除数(割る数)と被除数(割られる数)の役割を剰余(余り)によって交互に入れ換え,剰余がゼロになるまで除算を繰り返す.剰余がゼロになったときの割り切った数(除数)が二数のGCDとなる.

もう少し具体的に手順を書くと次のようになる:

|Step 0. (初期設定) 二つの正の整数 aと b の値を入力する.
|Step 1. (剰余計算) a を b で割った余りを r とする.
|Step 2. (停止判定) もし r がゼロならば終了.このときのb の値が求める値である.そうでなければ次のStepへ進む.
|Step 3. (更新) a の値を b, b の値を r におきかえ,Step 1へ戻る.

 上のn!のプログラム例を参考にして,ユークリッドの互除法の非再帰版と再帰版の二つのメソッドを定義し,両方で最大公約数を計算して出力するプログラムを作成せよ. ただし,次の条件を満たしていること.
 1. 非再帰版,再帰版ともに二つの正整数を引数にもつ独立したメソッドとして作ること.
 2. データの入力方法は,下の例のように,一度に2つとも与える形式にすること.
 3. 結果の出力の仕方は必ずしも下の通りでなくともよい(独自に工夫してよい)が,必ず非再帰版と再帰版の両方で計算した結果を出力すること.

[結果]
(コマンドプロンプト側の表示)

  2つの正の整数値を入力して下さい(スペースで区切る): xxxxxxxx xxxxxxx

===== 非再帰呼び出し版=====
     最大公約数は xxxxx

===== 再帰呼び出し版=====
     gcd(xxxxxxxx,xxxxxxx) = xxxxx
133デフォルトの名無しさん:2005/12/12(月) 13:17:13
>>52
ありがとうございます。
しかし、下から4行目のprintfでエラーになります。
134デフォルトの名無しさん:2005/12/12(月) 13:33:06
【 課題 】 あるテキストファイルを入力し、別の名前で同じ内容を出力するプログラムを作成せよ。
       ただし、ファイルはネットワーク経由で入力を行い、出力も同様にネットワークを使用すること。
       入力するファイルは複数の中から選択できるようにするものとする。

【 期限 】 12月18日付近
【 Ver  】 1.5
【 補足 】 サーバーを使う使わないは自由みたいです。HTTPやFTPからダウンロードして、アップロードでも可能みたいです。
        JAVAはいじりだして半年ほどなのですが、ネットワークが全く分からないです。
       助けてください;;お願いします。
       
135デフォルトの名無しさん:2005/12/12(月) 13:58:56
【 課題 】 キーボードより入力した数字が1の時に赤。2の時に緑。3の時に青の
       10×10ピクセルのそれぞれの色を出力させ12が入力されたら
       赤緑 て感じに横に並べて出力させるプログラムを作成お願いします。
【 期限 】 12月17日午後8時まで
【 Ver  】 1.4
【 補足 】 一様数字が一桁の時はできるのですが二桁以上の時の処理のやり方が分かりません
       この部分だけでもいいので教えて下さい。
136101:2005/12/12(月) 19:16:35
>135
×一様
○一応

String string = "12";
for( int i=0; i<string.length(); i++ ) {
int num = string.charAt( i ) - 48;
someMethod( num );
}
48の意味がわからなかったら
String str = "123";
for( int i=0; i<str.length(); i++ ) {
int num = Integer.parseInt( str.substring( i, i+1 ) );
someMethod( num );
}
でもOK.
137デフォルトの名無しさん:2005/12/12(月) 19:30:40
>132
import java.io.*;
import java.util.*;
public class T54_132 {
public static void main(String[] args) throws IOException {
try{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("2つの正の整数値を入力して下さい(スペースで区切る): ");
Scanner sc = new Scanner(buf.readLine());
int num1 = sc.nextInt();
int num2 = sc.nextInt();
System.out.println();
System.out.println("==== 非再帰版 ====");
System.out.println("   最大公約数は " + euclid(num1, num2));
System.out.println();
System.out.println("==== 再帰版 ====");
System.out.println("   gcd(" + num1 + ", " + num2 + ") = " + reflexiveEuclid(num1, num2));
}catch(Exception e){
System.out.println("正しい形式で入力してください");
}
}
138137:2005/12/12(月) 19:31:13
続き
private static int reflexiveEuclid(int num1, int num2) {
int remainder;
if((remainder = num1 % num2) != 0)
return reflexiveEuclid(num2, remainder);
else
return num2;
}
private static int euclid(int num1, int num2) {
int remainder;
while((remainder = num1 % num2) != 0){
num1 = num2;
num2 = remainder;
}
return num2;
}
}
139デフォルトの名無しさん:2005/12/12(月) 20:50:39
へぇ。そっちの再帰って初めてかも。
ふつう recursive じゃない?
140デフォルトの名無しさん:2005/12/12(月) 21:27:59
ああ、俺バカだからgoo辞書で調べたんだが、意味違ったかもな。
なんだかアホさを露呈したようで痛いorz
141デフォルトの名無しさん:2005/12/12(月) 23:32:41
>>137-138
ありがとうございます!
142デフォルトの名無しさん:2005/12/13(火) 02:15:24
課題 データファイルを読み込んでその座標を通る線を作成しなさい。
また線の太さも変えれるようにしなさい。データファイルは、
x1 y1 z1
x2 y2 z2
・・・・
のように座標が入っていて空白で区切られています。
期限 12/15日までに Ver 1.5.0_06
○投げです。お願いします。
java始めたばかりなので全然わかりません(><)
143デフォルトの名無しさん:2005/12/13(火) 02:26:56
>142
俺実装する気はないんだけどちょっと疑問。

データファイルの中身の書式見ると点が3つ以上のときもあるっぽいんだけど、
それは全部の点の組み合わせを通るように線引くの?
4点ある場合だと1-2, 1-3, 1-4, 2-3, 2-4, 3-4みたいに引くのか
1-2, 2-3, 3-4, 4-1みたいに四角形になるように線引くのかどっち?
144142:2005/12/13(火) 03:54:46
>>143説明がわかりずらくてすいません。
(x1,y1,z1)→(x2,y2,z2)→(x3,y3,z3)→(・・・)→(xn,yn,zn)
みたいに直線を引いてくようです。この説明でOKでしょうか?
145デフォルトの名無しさん:2005/12/13(火) 04:23:53
スプラインとかベジエとか使うのかと思ったよ
146デフォルトの名無しさん:2005/12/13(火) 07:03:01
アメリカの大学に通っている者です。
宿題がどうしてもわからないのでここに載せたいと思うんですがいいでしょうか?
ただし課題をそのまま載せるのなら英文になってしまうのですが・・・。
147デフォルトの名無しさん:2005/12/13(火) 07:09:22
行数が短ければ大丈夫だろ
長いときはうpろだ使うべし
148デフォルトの名無しさん:2005/12/13(火) 07:17:09
>147
行数はかなり長いです。
うpろだとはなんですか?
初心者ですいません。
149デフォルトの名無しさん:2005/12/13(火) 07:34:34
http://page.freett.com/kb100000/34.txt
実験3,4がわかりません・・。よりろしお願いします。12/13。
150デフォルトの名無しさん:2005/12/13(火) 08:21:08
146の者です。
【課題】うpろだにアップしました。
    http://www.uploda.org/ ファイル番号260170
【期限】12月15日
【Ver.】NETBEANS4.1

どなたでもかまいません。よろしくお願いします。
151デフォルトの名無しさん:2005/12/13(火) 09:51:59
>>150
ワードファイルだと、ウイルスの危険があるので誰も開きません・・・
つまり、誰も回答しません・・・・
テキストファイルにした方がいいのではないでしょうか?
152デフォルトの名無しさん:2005/12/13(火) 09:53:34
開いてしまった・・・
153デフォルトの名無しさん:2005/12/13(火) 09:54:23
一応AVGでウィルス反応なし
154デフォルトの名無しさん:2005/12/13(火) 10:03:29
>>151-153
.txtにコピペしてアップしておきました。少々見にくいかもしれません。
ファイル番号は260187です。
知識が足らずすいませんでした。
よろしくお願いします。
155デフォルトの名無しさん:2005/12/13(火) 10:24:46
>>150
travel clerk向けのユーザインタフェースがわからんのだけど・・・
顧客向けのユーザインタフェースだけ作っておけばいいのかねぇ
156デフォルトの名無しさん:2005/12/13(火) 10:38:53
>>155
飛行機のチケット購入(予約)するシステムなので顧客向けのシステムでOKです。
157デフォルトの名無しさん:2005/12/13(火) 12:54:02
【 課題 】キーボードから、数値を2つ入力待ちをする間
10秒ごとに画面に * を出力するプログラムを作成。
2つの値が入力されたら、2つを足した値を画面に出力し終了する。


お願いします
158デフォルトの名無しさん:2005/12/13(火) 13:03:33
>>157
動作確認よろしく

import java.util.*;
public class T54_Q157 {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new TimerTask() { public void run() { System.out.println("*"); }}, 10000, 10000);
Scanner scanner = new Scanner(System.in);
int inputA = scanner.nextInt();
int inputB = scanner.nextInt();
System.out.println(inputA + inputB);
}
}
159デフォルトの名無しさん:2005/12/13(火) 16:34:55

【課題】
課題5で作成した住所録管理システムのユーザインタフェースに機能を追加して、個人データの追加や削除の操作ができるようにしなさい。ただし、機能の実現にあたっては、プログラムが以下の構造を持つように注意しなさい。なお、デモプログラムが解答例からアクセスできる。

(1) クラスAddressの定義

このプログラムは、氏名と住所、電話番号が記録されている個人データを管理する。住所録リスト中の個人データは次のクラスAddressで定義する。
class Address {
private String name; /* 氏名 */
private String address; /* 住所 */
private String phone; /* 電話番号 */

public Address(String name, String address, String phone) { ... } /* コンストラクタ */
public int setName(String name) { ... } /* 氏名を変更 */
public int setAddress(String address) { ...} /* 住所を変更 */
public int setPhone(String phone) { ... } /* 電話番号を変更 */
public String getName() { ... } /* 氏名を取得 */
public String getAddress() { ... } /* 住所を取得 */
public String getPhone() { ... } /* 電話番号を取得 */
}
Addressの各メソッドは次に示す値を返す。

setName 0 正常終了したとき
setAddress 0 正常終了したとき
setPhone 0 正常終了したとき
-1 電話番号に数字とハイフン以外を使用したとき
getName 住所録中の名前
getAddress 住所録中の住所
getPhone 住所録中の電話番号
160159問題の続き:2005/12/13(火) 16:35:53
(2) クラスAddressBookの構造

AddressBookは、住所録のリストをもつ。住所録リストは、各個人データのHashtable(ハッシュテーブル)として定義されている(HashtableのAPIについてはドキュメントを参照すること)。AddressBookは、次のクラスで表される。ただし、privateなメソッドは追加しても良い。

import java.util.Hashtable;

class AddressBook {
Hashtable book; /* 住所録 */

public AddressBook() { ... } /* 住所録を初期化し、空の住所録を作る */
public int insert(String name, String address, String phone) { ... } /* 個人データの登録 */
public int remove(String name) { ... } /* 個人データの削除 */
public int changeAddress(String oldname, String newname, String newaddress, String newphone) { ... } /* 個人データを変更 */
public Address getAddress(String name) { ... } /* nameで指定された個人データを返す */
public Address[] getAddress() { ... } /* 全個人データの一覧を返す */
}
AddressBookの各メソッドは次に示す値を返す。

insert 0 正常終了したとき
-1 電話番号で数字とハイフン以外を使用した場合とき
-2 住所録リストにある氏名で再び個人データを登録したとき
remove 0 正常終了したとき
-3 住所録リストにない氏名が指定されたとき
changeAddress 0 正常終了したとき
-1 電話番号に数字とハイフン以外を使用した場合とき
-2 住所録リストにある氏名で新しい個人データを登録したとき
-3 住所録リストにない氏名が指定されたとき
getAddress(String name) null 住所録リストにない氏名が指定されたとき
null以外 nameで指定された個人データ
getAddress() null 住所録が空の時
null以外 住所録にある全ての個人データの配列
161159問題の続き2:2005/12/13(火) 16:36:45
3. 注意事項

AddressBookクラスでは、System.out.printlnなどの入出力関数を使用してはならない。エラーメッセージの出力は、各関数の返す値を見て、課題5で作成したユーザインタフェースで行う。
電話番号は数字と"-"(ハイフン)のみを使用する。カッコ"("や")"などは使用しないこと。

【期限】12月19日
【ver】1.4
【補足】awtアプレットでの作成をお願いします

162デフォルトの名無しさん:2005/12/13(火) 17:01:27
150の問題もお願いします。m(_ _)m
【課題】うpろだに再アップしました。
    http://www.uploda.org/ ファイル番号260452
【期限】12月15日
【Ver.】NETBEANS4.1
163159:2005/12/13(火) 18:52:33
元となるプログラムのUP忘れてました。すいません。
http://www.uploda.org/ ファイル番号260576
このユーザインターフェースを元にやります。読みにくいプログラムですいません
164デフォルトの名無しさん:2005/12/13(火) 18:53:44
>>163
受信パスが分からない
165159:2005/12/13(火) 18:55:00
あ、受信パスは123です
度々スレ汚し申し訳ないです
166デフォルトの名無しさん:2005/12/13(火) 18:57:15
>>165
半角と全角は区別しないと駄目だぞ

>>163の受信パス=123
167159:2005/12/13(火) 18:58:17
すいません。半角の123です。
>>166訂正ありがとうございます
168デフォルトの名無しさん:2005/12/13(火) 21:05:28
釣りっぽ
169デフォルトの名無しさん:2005/12/13(火) 23:51:57
明日の夕方までに提出しないといけない課題です。
よろしくお願いします

課題1 文字列をくりかえし入力して,
最後に「ん」がつく単語が入力されたら終了するプログラムを書きましょう.
ちゃんと「しりとり」になっているかのチェックは不要.

出力例
単語: あたま
単語: まりも
単語: もんげん
あなたの負け!

ヒント: 文字列の最後の文字を得るためには,
length()で長さを求めてsubstring()を使う

課題2
文字列を入力して,逆順に表示するプログラムをつくりましょう.

出力例
文字列を入力してください: That is a orange.
逆順にすると,
.egnaro a si tahT です.

ヒント:
文字列の長さを length() で求めて,
右端から左端に向かって1 文字づつ表示する.

問題はこんな感じです。

170デフォルトの名無しさん:2005/12/13(火) 23:59:52
http://page.freett.com/kb100000/3d.txt
明日14:00くらいまでです、宜しくお願いします。
171デフォルトの名無しさん:2005/12/14(水) 00:58:11
>169
課題1
import java.io.*;
public class T54_169_1 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
while(true){
System.out.print("単語: ");
String str = buf.readLine();
int i = str.length() - 1;
if(str.substring(i).equals("ん") || str.substring(i).equals("ン"))
break;
}
System.out.println("あなたの負け!");
}
}

課題2
import java.io.*;
public class T54_169_2 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("文字列を入力してください");
String str = buf.readLine();
System.out.println("逆順にすると");
for(int i = str.length() - 1; i >= 0; i--)
System.out.print(str.charAt(i));
System.out.println(" です");
}
}
172デフォルトの名無しさん:2005/12/14(水) 01:14:12
ヒントには沿わないけど、シンプルな回答

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (reader.readLine().matches(".*[^んン]$"));
System.out.println("あなたの負け!");


文字列の反転
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
StringBuffer buffer = new StringBuffer(reader.readLine());
System.out.println(buffer.reverse());

173デフォルトの名無しさん:2005/12/14(水) 01:56:52
【課題】

自然数aを入力し,平方根√aの近似値を以下の漸化式で求める.
Xn+1=Xn-(Xn^2-a)/(2Xn)
ただし,初期値X0はαとし,|Xn+1-Xn|<10^-5を満足した時点
におけるXn+1を答とすること.

擬似言語とJavaで記述する.
Javaについてはその実行結果も貼り付けること.
(Javaの先頭にはコメントで擬似言語の変数とJavaの変数の対応を記述すること)

【期限】12月19日
【Ver 】1.4

全然わからなくて困ってます
どなたかよろしくお願いします
174デフォルトの名無しさん:2005/12/14(水) 03:12:30
>>173
これ漸化式あってる?
175デフォルトの名無しさん:2005/12/14(水) 03:28:50
>>173
import java.io.*;
import java.lang.Math;
class SquareRoot {
public static void main(String[] args) {
try {
System.out.println("数値を入力してください");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String number = reader.readLine();
double a = Double.parseDouble(number);
double alpha = a / 2.0; // とりあえず入力値の2倍をαとする
double x0 = alpha;
double x1;
while (true) {
x1 = x0 - (x0 * x0 - a) / (2.0 * x0);
if (Math.abs(x1 - x0) < 1.0e-5) {
break;
}
x0 = x1;
}
System.out.printf("平方根: %f %n", x1);
}
catch (Exception e) {
System.out.println("エラー");
}
}
}
176デフォルトの名無しさん:2005/12/14(水) 04:25:04
追加なのですが、これもお願いします・・。
http://page.freett.com/kb100000/J3DApp.java
177142:2005/12/14(水) 05:47:06
すいません、自己解決しました。少しでも気にかけてくださった方、
ありがとうございましたm(_ _)m
178デフォルトの名無しさん:2005/12/14(水) 06:30:34
ソースポストネットってよく落ちるのでしょうか?
似たような問題を見つけて解答レスがついてたのに、
昨晩から全くつながらない・・・

179デフォルトの名無しさん:2005/12/14(水) 16:09:36
>>171,172
ありがとうございました!!!!
本当に助かりました!
180デフォルトの名無しさん:2005/12/14(水) 17:09:45
162です。
やはり課題が英文でバージョンがNETBEANSではだめなんですかねぇ・・・。
すいません。愚痴っぽくなってしまいました。
181デフォルトの名無しさん:2005/12/14(水) 17:51:47
【 課題 】野球の長打率を求めるGUIプログラムを作成せよ。
【 用語 】長打率 = 塁打数 / 打数
【 期限 】12/15
【 Ver  】1.4
【 補足 】塁打数(1塁、2塁、3塁、ホームラン)と打数を入力する画面を作り、
      JButtonで作成したボタンを押すと、画面上に長打率が表示されるプログラムです。
      長打率はJLabelで出力表示せよとの事です。

一応、GUI部分は適当ですが、作ってみました。
ttp://sund1.sakura.ne.jp/uploader/source/up0340.jpg
後は、入力した数値を計算して、SLGと書いてあるところに出力するだけなのですが、
詰まってしまったので、よろしくお願い致します。
182181:2005/12/14(水) 18:00:53
183デフォルトの名無しさん:2005/12/14(水) 19:36:46
>>174
自然数aを入力し,平方根√aの近似値を以下の漸化式で求める.
X_n+1=X_n-(X_n^2-a)/(2X_n)
ただし,初期値X0はαとし,|X_n+1-X_n|<10^-5を満足した時点
におけるX_n+1を答とすること.

これで間違いないと思います
若干見やすくしたつもりです

>>175
ありがとうございます

質問なんですけど、擬似言語の変数は
a:入力値
xn:各段階の近似値x
dis:X_n-X_n+1の値
にしたんですがJavaとの変数の対応がわからないので教えてください
例)ninzuー人数
184デフォルトの名無しさん:2005/12/14(水) 19:59:39
>>183
a → 入力値 
alpha → 初期値α
x0、x1 →各段階の近似値
|X_n+1-X_n| → Math.abs(x1 - x0)
185デフォルトの名無しさん:2005/12/14(水) 20:03:28
>>183
a → 入力値 
alpha → 初期値α
x0 →X_n
x1 → X_n+1
Math.abs(x1 - x0) → |X_n+1-X_n|

こうだすまん
186デフォルトの名無しさん:2005/12/14(水) 21:45:15
>>185

ありがとうございました
無事課題も提出できそうです><
187デフォルトの名無しさん:2005/12/14(水) 21:53:12
【 課題 】4桁の数を読み込みそのあいだに加減乗除の演算をはさんで,結果が10になるものを見つけよ.
【 期限 】12/19
【 Ver  】1.4
補足 0で割らないようにプログラム上注意すること.
もしそのような組合せが見つかったら,たとえば4*9/3-2=10のように表示せよ.
可能な組合せすべてを表示した方がよい.見つからなければ,`失敗''と表示せよ.

難問らしいです。丸投げで申し訳ありませんがお願いします。
188デフォルトの名無しさん:2005/12/14(水) 23:31:33
>>187
全ての演算子を使わなくてはだめ、とか制約ある?
(1/3)*5*6とかもOK?
189デフォルトの名無しさん:2005/12/14(水) 23:40:39
16/2+2 とかもあり?
190デフォルトの名無しさん:2005/12/14(水) 23:55:22
【 課題 】(1) 1から50までの整数を保有する配列を作る
       (2) これを乱数を用いてでたらめな順に並べ替える
      (3) でたらめに並んでいる1から50までの整数を小さい順に
         並べ替える。並べ替えの方法はシェルソートとする。

【 期限 】12/16 午後1時ごろまで
【 補足 】申し訳ありませんが丸投げでお願いします。
191187:2005/12/14(水) 23:59:14
>>188
>>189
全ての演算子を使わなければいけないというのはありません。
カッコはOKです(あった方が難しいらしいですが)

それぞれの数字の間に演算子を入れなければいけないので
16/2+2はなしです。
お願いします。
192デフォルトの名無しさん:2005/12/15(木) 05:34:54
http://www.amazon.co.jp/exec/obidos/ASIN/4797324198/
第12章 アルゴリズムで遊ぶ〜テンパズルに挑戦
4つの数字で10を作る
どのように解くか方針を立てる
逆ポーランド記法について
逆ポーランド記法を用いたアプローチ
193デフォルトの名無しさん:2005/12/15(木) 06:35:15
http://www.uploda.org/file/uporg262003.txt.html pass up
【 課題 】白と黒の二色だけだけど、後一色追加したい(黒をクリックしたら追加した色になるようにしたい)
194デフォルトの名無しさん:2005/12/15(木) 12:36:26
【 課題 】
身長(m)を入力し標準体重の範囲を表示する。
身長がマイナスの値なら、処理を中止し、
プラスなら処理を繰り返すプログラムを作成しなさい。

尚、標準体重の範囲は身長(m)*身長(m)*18.5以上、
身長(m)*身長(m)*25未満とする。

【 期限 】12月19日
【 Ver  】特になし
【 補足 】While文、Double.parseDoubleを使う。
      丸投げです。宜しくお願いします。
195デフォルトの名無しさん:2005/12/15(木) 12:38:39
【 課題 】
身長(m)と体重(kg)を入力しBMI値を表示する。
身長がマイナスの値なら、処理を中止し、
プラスなら処理を繰り返すプログラムを作成しなさい。

尚、BMI=体重÷(身長(m)×身長(m))とする

【 期限 】12月19日
【 Ver  】特になし
【 補足 】While文、Double.parseDoubleを使う。
      丸投げです。初心者です。
      ご協力宜しくお願いします。
196デフォルトの名無しさん:2005/12/15(木) 12:40:44
【 課題 】
身長(m)と体重(kg)を入力しBMI値と判定結果を表示する。
身長がマイナスの値なら、処理を中止し、
プラスなら処理を繰り返すプログラムを作成しなさい。

BMI値         判定
18.5未満       やせ
18.5以上25未満    普通
25以上30未満     肥満
30以上        高度肥満

【 期限 】12月19日
【 Ver  】特になし
【 補足 】While文、Double.parseDoubleを使う。
      丸投げです。初心者です。
      ご協力宜しくお願いします。
197デフォルトの名無しさん:2005/12/15(木) 12:49:28
>194-196

身長はcmでなくmであらわします。
170cmではなく1.7m
宜しくお願いします。
198159:2005/12/15(木) 15:19:19
どなたかやって頂けないでしょうか・・・
199デフォルトの名無しさん:2005/12/15(木) 17:11:07
public static void main(String[] args) throws IOException {
System.out.println("身長を入力してください");
BufferedReader hbr = new BufferedReader(new InputStreamReader(System.in));
String sh = hbr.readLine();
System.out.println("体重を入力してください");
BufferedReader wbr = new BufferedReader(new InputStreamReader(System.in));
String sw = wbr.readLine();
double[] difine ={18.5,25,30};
String[] comment ={"やせ","普通","肥満","高度肥満"};
String ans =null;
double h =Double.parseDouble(sh);
double w =Double.parseDouble(sw);
double bmi=w/(h*h);
if(bmi < 0){return;}
int i=0;
while(i < comment.length){
if(i == 0){
if(bmi< difine[0]){ans = comment[0];break;}
}else if(i == comment.length-1){
if(bmi>= difine[i-1]){ans = comment[i];break;}
}else{
if(bmi >= difine[i-1] && bmi < difine[i]){ans = comment[i];break;}
}
i++;
}
System.out.println("BMI値:"+bmi);
System.out.println("結果判定:"+ans);
}
200159:2005/12/15(木) 22:43:55
自己解決しました。ありがとうございました
201デフォルトの名無しさん:2005/12/15(木) 23:05:23
アプレットを作っていたらクラスファイルにApplet$1.classのような
$マークがついたクラスファイルが生成されました。
これって何ですか?
202デフォルトの名無しさん:2005/12/15(木) 23:08:25
>>201
無名インナークラス(無名内部クラス)でググれ
203デフォルトの名無しさん:2005/12/16(金) 00:48:19
理解できないならInnerClass使うな
204196の者です。:2005/12/16(金) 07:11:17
>199さん

作って頂いて本当にありがとうございました。
ご丁寧にありがとうございます。

194.195.196のそれぞれが課題でして、
194、195の問題にまだ苦戦しています。
どなたか教えていただけないでしょうか?
宜しくお願いいたします。
205デフォルトの名無しさん:2005/12/16(金) 08:53:15
206205:2005/12/16(金) 09:14:44
>>205はシェルソートではなかったので訂正↓
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26493
207190:2005/12/16(金) 13:37:35
>>205-206
本当にありがとうございます ご苦労様でした
208デフォルトの名無しさん:2005/12/16(金) 14:40:16
>199さん

ありがとうございます。一回入力してみたのですが、
身長をマイナスに入れても、体重まで入力してしまうので、駄目でした。
ご丁寧に作っていただいてありがとうございます。
身長をマイナスにいれると終了するプログラムをどなたか、
教えていただけないでしょうか?
宜しくお願いします。
209デフォルトの名無しさん:2005/12/16(金) 14:59:03
【 課題 】
Webのフォームから送信された情報をxmlファイルとして生成するサーブレットを作成せよ。
登録する情報は、名前、性別、の2つを必須とし、誕生日は任意とする。
生成すべきxmlは
<user>
<name value="名前" />
<sex value="男" />
<birthday value="1995-12-21" />
</user>
のようにする。
【 期限 】 12月19日です。
【 Ver.  】 特になし
【 補足 】 情報を追加するときは、別のファイル(名前は適用でよい)にしなければなりません。
よろしくお願いします。
210デフォルトの名無しさん:2005/12/16(金) 19:53:12
>208
四行目のString sh = hbr.readLine(); の後に
double h =Double.parseDouble(sh);
if(h < 0.0)
 throws new IOException();
を入れれば良いと思うが。
211Mb:2005/12/17(土) 00:09:26
>>209
ファイル名の指定方法とファイルの生成場所を指定しる。
うっかり //WINDOWS/system32 とかの下に作っちまっても困るだろう?
212209:2005/12/17(土) 00:43:31
>>211
ありがとうございます。
ファイル名は、 user001.xml から連番で。
サーブレットは
$CATALINA_HOME/webapps/kadai/
以下においていますので、
$CATALINA_HOME/webapps/kadai/data/
に目的のxmlファイルを生成するように御願いします。
213デフォルトの名無しさん:2005/12/17(土) 15:59:10
おねがいします
【 課題 】
ファイルに記録してある10個の小数データを読み込んで、照準にソートし、その結果を同じファイルへ書き込むプログラムを作成する。
データが記録してあるファイルはdata.txtとし、ファイル名はプログラム実行時に指定する。
処理で必要な3つの機能は別ファイルTool.javaとして作成し、以下のメソッドとする。
ソートのアルゴリズムは交換法とする。
データ:98.1 55.7 36.4 87.6 42.5 12.8 94.9 69.0 73.3 21.2

1、ファイルからデータを読み込むメソッドをDataRead()とする
2、ファイルからデータを書き込むメソッドをDataWrite()とする
3、配列のデータを昇順にソートするメソッドをDataSort()とする
4、コンストラクタで1、2で必要なファイル名を指定する。

【 補足 】
double型から文字列に変換する際にString (変数) = Double.toString(変数)
逆はdouble (変数) = Double.parseDouble(変数)
を使わないといけないです
よろしくお願いします
214デフォルトの名無しさん:2005/12/17(土) 19:18:37
>>213
読み込むファイルは、213に書いてあるような
数値データが半角スペースで区切られている形式でOK?
あとメソッド名の先頭は大文字のままでいい?(DataRead()→dataRead())
215213:2005/12/17(土) 20:01:24
98.1
55.7
(下につづく)
のような形でお願いします

メソッド名は何でもかまわないです
216デフォルトの名無しさん:2005/12/17(土) 21:57:34
こんなスレは認められないよ。
誰も答え教えるな。
217デフォルトの名無しさん:2005/12/17(土) 23:50:47
>>211
おお、Mbたんが戻ってきてくれた。
常連が皆消えてしまうから、ここは寂しいよ。
あの小島もどこへ行ったんだ。
218デフォルトの名無しさん:2005/12/18(日) 03:00:18
>>216
学校の先生ですか?
219デフォルトの名無しさん:2005/12/18(日) 03:34:04
>>216
N村先生2ちゃんねらだったんですね。
220デフォルトの名無しさん:2005/12/18(日) 03:35:02
>>216
m9(^д^)ぷぎゃー
221デフォルトの名無しさん:2005/12/18(日) 08:53:27
これからのプログラマは自分で考え込むんじゃなくて
いかに仲間を増やして協力を求めるかが重要だからな
222デフォルトの名無しさん:2005/12/18(日) 09:00:42
>>216
色んな課題がでてきて、自分で考えるのも実になるんで重宝してる
223デフォルトの名無しさん:2005/12/18(日) 10:36:27
いや、真面目に考えてだ。
一人の人は苦心して自力で課題をこなす。もう一人はこのスレに
コピペされたプログラムで苦労せずに課題をこなす。
しかも、後者の方が点数が高いケースも多い。理不尽だよな。
それに協力してどうするのか。
224デフォルトの名無しさん:2005/12/18(日) 10:53:57
ランダムに "(名詞)とは(動詞)する(名詞)である" という文を作って,
maxim.txt というファイルに書き出すプログラムを作ってください.
文を10個作ったら終わるようにしてください.

例:りんごとは食べる帽子である.
  やかんとは寝るコップである.
  プリンとは食べる魚である.
  ....(以下省略)

(名詞),(動詞)の部分はファイルから取得します.名詞や動詞の候補をそれぞ
れ meishi.txt, doushi.txt というファイルに書いておきます.ファイルの
フォーマットは,1行に1語です.それぞれのファイルは100行以内と仮定して
かまいません.

meishi.txtの例
りんご
やかん

doushi.txtの例
食べる
寝る
叩く

ヒント0: 段階的詳細化を忘れないように.
ヒント1: 最初に名詞を String[] meishi, 動詞を String[] doushi という
Stringの配列に覚えましょう.
ヒント2: 配列から無作為に名詞を取り出すには,名詞の個数を m とすると,
乱数で 0 〜 m-1 までの整数を作って,その値を meishi の添字として使いま
す.名詞や動詞の個数は,ファイルの行数を数えて取得してください.

・・・という課題なんですがちんぷんかんぷんです。
火曜までです。よろしくお願いします!
225デフォルトの名無しさん:2005/12/18(日) 10:56:00
自力でこなした奴は身につくだろう。それは将来役に立つだろう。
苦労せずにこなしても身にはつかないだろうが、
それで将来泣きを見ても知ったこっちゃないだろう。
だが聞き上手は才能というのも事実だろう。

要するに課題の点数で人生すべてが決まるわけじゃないだろう。
やるだけ時間のムダな課題も多いんじゃないの?
226デフォルトの名無しさん:2005/12/18(日) 12:43:18
227デフォルトの名無しさん:2005/12/18(日) 18:26:04
>>213

http://sourcepost.sytes.net/sourcepost/sourcedownload.aspx?source_id=26512
上記ソースを「Console.java」という名前で保存→ javac Console.java。

データファイルの仕様は、>>215にあるように数値を改行で区切って10個並べたもの(でないとエラーになる)
データファイルはConsole.class、Tool.classと同じディレクトリにおくこと。
228213:2005/12/18(日) 18:41:30
>>227
動作しました
ありがとうございます
229デフォルトの名無しさん:2005/12/18(日) 19:19:39
>>226
ありがとうございました!明日早速学校で動かしてみます!
230デフォルトの名無しさん:2005/12/18(日) 22:41:14
メモリの保護とメモリの共有はなぜ両立しないんですか?

あと、オーバレイは何でマルチプログラミングを実現するにはのぞましくないんですか?
231デフォルトの名無しさん:2005/12/18(日) 22:51:35
【 課題 】
キーボードから一次方程式(形はa*X+b=cもしくはa*X-b=cに限定してよい)を入力し、解を表示させる。
【 期限 】 12月19日です。
【 Ver.  】 特になし
【 補足 】ソースは出来るだけシンプルに。クラスとか使うかもしれません。
おねがいしやす!!
232デフォルトの名無しさん:2005/12/18(日) 23:10:43
>231
import java.io.*;
import java.util.*;
public class T54_231 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("一次方程式を入力してください");
StringTokenizer token = new StringTokenizer(buf.readLine(), "*X+=");
int a = Integer.parseInt(token.nextToken());
int b = Integer.parseInt(token.nextToken());
int c = Integer.parseInt(token.nextToken());
System.out.println("X = " + (c - b) / (double) a);
}
}
233231:2005/12/18(日) 23:33:26
>232
動作確認しました。ありがとうございます。
234231:2005/12/19(月) 00:20:19
あの、ついででなんですが、どうしてutilパッケージを使う必要があるんですか?>232様
235デフォルトの名無しさん:2005/12/19(月) 00:35:27
java.util.StringTokenizer;
使ってるからな。
236デフォルトの名無しさん:2005/12/19(月) 02:38:15
【 課題 】マウスが通過した点に選択された色が表示される簡単なお絵かきプログラムを作成せよ。
描画色はRGBの混合比率をスクロールバーで変更可能なカラーバーによって行うものとする。
筆の太さも変更できるようにせよ。
【 期限 】12月19日
【 Ver  】1.4
【 補足 】MouseListenerを用いて作ってください。
よろしくお願いします。
237232:2005/12/19(月) 02:54:53
今気付いたけど232のソースのa,b,cはdoubleの方がいいねorz
238デフォルトの名無しさん:2005/12/19(月) 08:33:18
>210さん

ありがとうございます。今日学校で動かしてみようと思います。
ご丁寧にありがとうございました。
また、機会があれば宜しくお願いします。
239デフォルトの名無しさん:2005/12/19(月) 13:37:35
なんで家に実行環境がないんだ、パソコン持ってるんなら
作ってオケよ
240デフォルトの名無しさん:2005/12/19(月) 15:01:12
どなたか>>236をお願いします。
241デフォルトの名無しさん:2005/12/19(月) 16:57:34
>>239
結構大変じゃないか?っていうか普通の工業高校生もそんな自由に家でパソコン使えないぞ
242デフォルトの名無しさん:2005/12/19(月) 19:15:22
2ちゃんは出来るのにか。
243デフォルトの名無しさん:2005/12/19(月) 20:57:32
課題@
正の整数値xyを入力し、「プログラム中に掛け算の演算子*を用いずに」、
xとy掛け算を行うプログラムを作りなさい。
お願いします!!教えてください。
244デフォルトの名無しさん:2005/12/19(月) 21:06:56
実はもうひとつ課題があって、明日までに提出しなくてはいけないんです。
課題A
次の2005年12月のカレンダーを表示するプログラムを完成しなさい。

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

int i, date;

System.out.println("2005年12月");

for (i = 1; i <= 4; i++){

}
for(date = 1; date <=31; date++){


if( ){
}
}
System.out.println();
}
}


こんな課題なんですが・・・もしよければ教えてください。
よろしくお願いします。

245デフォルトの名無しさん:2005/12/19(月) 21:39:54
>>243
//たしざんだけでやってみる
import java.io.*;

public class Multiply {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String number1 = reader.readLine();
int x = Integer.parseInt(number1, 10);

String number2 = reader.readLine();
int y = Integer.parseInt(number2, 10);

int sum = 0;
for (int i = 0; i < y; i++) {
sum += x;
}
System.out.println("\n" + x + " * " + y + " = " + sum);
}
catch (IOException e) {
System.out.println("Error");
}

}
}
246デフォルトの名無しさん:2005/12/19(月) 22:09:16
>>244
class Cal0512 {
public static void main(String args[]){

int i, date;

System.out.println("2005年12月");

System.out.println(" 日 月 火 水 木 金 土");
int width = 4;
for (i = 1; i <= 4; i++){
for (int j = 0; j < width; j++) {
System.out.print(" ");
}
}
for(date = 1; date <=31; date++){
int ketasuu = Integer.toString(date).length();
for (int n = 0; n < (width - ketasuu); n++) {
System.out.print(" ");
}
System.out.print(Integer.toString(date));
if (((date + 4) % 7) == 0) {
System.out.println();
}
}
System.out.println();
}
}
247デフォルトの名無しさん:2005/12/19(月) 23:34:03
課題@、Aとも、どちらもありがとうございます!!
明日朝がんばって学校でやります。
ほんと助かります!!
ありがとうございました!!
248デフォルトの名無しさん:2005/12/20(火) 05:42:13
>>243
//わりざんだけでやってみる
import java.io.*;

public class Multiply {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String number1 = reader.readLine();
int x = Integer.parseInt(number1, 10);

String number2 = reader.readLine();
int y = Integer.parseInt(number2, 10);

System.out.println("\n" + x + " * " + y + " = " + x / 1 / y);
}
catch (IOException e) {
System.out.println("Error");
}

}
}
249デフォルトの名無しさん:2005/12/20(火) 09:08:00
よろしくお願いします
【課題】以下のメンバ変数をコンストラクタ利用してを実装する
【備考】メンバ変数の修飾子は変更不可  メンバ変数の追加は可
public class Test{
 public final static int ONE;
 public final static int TWO;

//コンストラクタ
Test(String s){
 //実装する
}


とりあえずコンストラクタを
Test(String s){
 this.str = s;
}
として、順番は違いますが、メンバ変数の方を
 private static String str;
 public final static int ONE = Integer.parseInt(str);
 public final static int TWO = Integer.parseInt(str);
などとしてみましたが java.lang.ExceptionInitializerErrorなどを吐いてお手上げです・・・
final宣言されてるのにコンストラクタからの数値を代入する方法はないでしょうか?
250デフォルトの名無しさん:2005/12/20(火) 09:23:28
標準入力から文字列を入力させる
文字列に含まれるアルファベット大文字N個、小文字N個
というように表示したい

String型で先頭から1文字ずつチェックする方法ってどんなものがりますか
251デフォルトの名無しさん:2005/12/20(火) 10:00:10
>248
それできないっしょwwww
intで割り算してるから0でるし、x/(1/y)ってしないとだめじゃないか?

って、これ釣り?
252デフォルトの名無しさん:2005/12/20(火) 10:08:57
>>250
import java.io.*;
import java.util.regex.*;
public class Check {
 public static void main(String[] args) {
  System.out.print("Enter String:");
  BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  String inputString="";
  try {
   inputString = reader.readLine();
  } catch (IOException e) {
   System.out.println("入力エラー:"+e);
  }
  Pattern small = Pattern.compile("[a-z]");
  Matcher matcher = small.matcher(inputString);
  Pattern large = Pattern.compile("[A-Z]");
  Matcher matcher2 = large.matcher(inputString);

  int cnt = 0;
  while(matcher.find())
   cnt++;
  System.out.println("small = "+cnt);
  cnt = 0;
  while(matcher2.find())
   cnt++;
  System.out.println("large = "+cnt);
 }
}
汚くてごめん・・・
253デフォルトの名無しさん:2005/12/20(火) 11:10:32
>>249
我思うにそれかなり不可能。
というかそれができたらstatic finalの意味が消失する。

staticフィールドは「クラス」が最初にvmに読み込まれる一回で
コンストラクタ等や他のstaticメソッドと同列に生成される。
そこでfinalがついてるならそれは既に「定数」であって、
インスタンスを生成する役割のコンストラクタで初期化するようなものではない。

方法があるなら当方かなり勉強不足。
分かる人か、その課題を出した教授に聞いてみたい。
254249:2005/12/20(火) 11:19:43
やっぱり何かおかしいですね・・・
どうもお時間とらせてしまいました
ありがとうございます
255デフォルトの名無しさん:2005/12/20(火) 11:21:00
>>254
不可能です、っていう答えを聞きたかったのかもしれないし、
まぁがんばれや。
256デフォルトの名無しさん:2005/12/20(火) 16:08:39
【 課題 】自機をキーボードの上下左右キーで操作し、画面内を跳ね返る玉を避け続けるゲームを作れ。
【 期限 】12/21
【 Ver  】1.4.2
【 補足 】自機の見た目は四角など何でもかまいません。
      自機と玉に判定があって、玉に自機が触れるとアウトというゲームです。
      お暇な方いらっしゃいましたら、宜しくお願いします。
257デフォルトの名無しさん:2005/12/20(火) 18:06:57
>>252
ありがとう
正規表現を使ってできるのか
char[]に移して一文字ずつチェック、とかいうのを考えたんだけど、そっちの方がよさそうですね
258デフォルトの名無しさん:2005/12/20(火) 23:48:03
>>249
少し頑張ってみたがだめだった……orz
リフレクションでは、finalを無視できないな。
あとは動的クラスロードとかでできないかなぁ。
まったく別のTestクラスにすりかえてしまうとか。
誰か頑張れ。

import java.lang.reflect.Field;

class Test {
public static final int ONE = 0;
public static final int TWO = 0;

public Test(final String s) throws IllegalArgumentException,
IllegalAccessException {
final Class c = this.getClass();

final Field[] fieldArray = c.getFields();
for (int i = 0; i < fieldArray.length; i++) {
final Field f = fieldArray[i];

f.setInt(this, Integer.parseInt(s));
}
}

public static void main(final String args[])
throws IllegalArgumentException, IllegalAccessException {
new Test("123");
}
}
259デフォルトの名無しさん:2005/12/21(水) 00:23:04
>>249
こんなのムリだぁ
public class Test {
private static String string;
public final static int ONE;
public final static int TWO;
static {
ONE = 1;
TWO = 2;
}

//コンストラクタ
Test(String s){
string = s;
}
public static void main(String[] args) {
Test t = new Test("");
System.out.println("ONE=" + t.ONE + " " + "TWO=" +t.TWO);
}
}
260デフォルトの名無しさん:2005/12/21(水) 01:25:48
【 課題 】 JAVAアプレットを用いて4択クイズを製作せよ。
【 補足 】自分である程度は作ったのですが、問題(需要、消極など)
      が表示されないのと、正解、不正解のコメントが表示されま
      ません。どうか手ほどきの方お願いいたします。期限は明日
      の18時までです。

      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26535
261デフォルトの名無しさん:2005/12/21(水) 04:16:19
>>260
見栄えとかあんまし考えずにやったけど
機能的には満たされてると思う
ttp://itaro.kir.jp/cgi-bin/up/src/ita0037.zip
262260:2005/12/21(水) 04:52:04
>261さん
動作確認しました!動きました、有難うございます!
あと、上のソースで「次へ」ボタンを押した際、同じようなソース内容で
別のクラス「Toi2」を呼び出すにはどうすればよいのでしょうか?
小出しな質問で申し訳ありません。よろしければ教えていただけますか?
263デフォルトの名無しさん:2005/12/21(水) 05:03:06
【課題】このソースのメソッドをつかってa=5 b=2のときの答えをもとめよ.
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26542
【期限】本日9時まで
【補足】あとはmainメソッド内で単純にこのメソッドを呼び出すだけなのですが、
なぜかエラーが出てしまいます.メソッドの呼び出し方を教えてください。
264デフォルトの名無しさん:2005/12/21(水) 05:56:34
>264
たぶん、呼び出し方が間違ってるか、例外を処理してないかのどっちかだね。

呼び出し方はstaticなメソッドだから「クラス名.(ドット)メソッド名()」ね。

で、factorial(int)もcombination(int, int)もExceptionをthrowするから、
それの例外処理を呼び出し元のメソッドでしてやらなきゃいけない。

たぶん、この二つのどっちかで引っかかってると思うから、ちゃんとやればできるはず。
265デフォルトの名無しさん:2005/12/21(水) 05:57:52
なんで自己レスしてんだorz
>263ね・・・
266264:2005/12/21(水) 05:59:31
うわ、眠くてちゃんとソース見てなかったよ・・・
同じクラスにmainあるのかorz

じゃあ、エラー出るのは例外処理のほうだな・・・

連レススマソorz
267263:2005/12/21(水) 06:22:21
>>264
できました!ありがとう!
例外処理で囲ってやればよかったんですね
268デフォルトの名無しさん:2005/12/21(水) 07:36:38
【課題】
問題の式(単語)+(単語)=(単語)を3行(各単語のみ)で入力し、
例:
  ONE
 +TWO
=THREE
という計算を満たす各アルファベットに入る一桁の数字を求める。
【期限】
12月21日午後16時
【補足】
全てのアルファベットは異なる値を持つ。また0にはならない。
解なしの場合は「解なし」と表示する。

どこから手をつけて良いのか分かりません。
どなたかよろしくお願いします。
269デフォルトの名無しさん:2005/12/21(水) 09:12:33
http://page.freett.com/kb100000/CalcServer.java
http://page.freett.com/kb100000/CalcClient.java
バイナリデータで送受信するように付録のプログラムを改造しないさいという問題で、

テキストデータの読み込みと書き込みではBufferedReaderとBufferedWriterが使われる。
InputStreamReader isr = new InputStreamReader(s.getInputStream());
BufferedReader reader = new BufferedReader(isr);

OutputStreamWriter osw = new OutputStreamWriter(s.getOutputStream());
BufferedWriter writer = new BufferedWriter(osw);
PrintWriter out = new PrintWiter(writer);

バイナリデータの読み込みと書き込みではDataInputStreamとDataOutputStreamが使われる。
DataInputStream dis = new DataInputStream(s.getInputStream());

DataOutputStream dos = new DataOutputStream(s.getOutputStream());

また、テキストではreadLine(), println()などのメソッドを使うが、バイナリではreadInt(), writeInt()などのメソッドを使う。

続きます・・
270デフォルトの名無しさん:2005/12/21(水) 09:15:00
という説明なのですが、
サーバーはこんな感じ(少しエラーが出る)らしいのですが、クライアントのほうはどうなのでしょうか・・、宜しくお願いします
import java.io.*;
import java.net.*;
import java.util.*;
class CalcServer2 {
public static void main(String args[]) {
try { Socket s = ss.accept();
DataInputStream dis = new DataInputStream(s.getInputStream());
int x = dis.readInt();
int y = dis.readInt();
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeInt(x+y);
dos.flush();
s.close(); }
} catch(Exception e) {e.printStackTrace();}}
それと、付録のサーバをマルチスレッドにせよ。という問題で、
問題は以下のような感じです。複数のクライアントを処理するサーバを作成するにはスレッドを用いる。Runnableインターフェースを実装したクラスHandlerにクライアントごとの処理を行わせる。
宜しくお願いします。
class Handler implements Runnable {
Socket s;
Handler(Socket s) {
this.s = s;}
public void run() {
try { 第1行を除いたサーバのループの内容
} catch(Exception e) {e.printStackTrace();}}}
元のサーバのループは以下のようになる。
while(true) { Socket s = ss.accept();
Thread t = new Thread(new Handler(s));
t.start();}
271デフォルトの名無しさん:2005/12/21(水) 09:19:05
>>262
Toi1アプレットを表示させてるHTMLに Toi2を表示するHTMLへのリンクを書いとけば?
そうすりゃJavaは関係ない
272269,270:2005/12/21(水) 09:37:35
今日で最後なので、本当に宜しくお願いします。
http://page.freett.com/kb100000/cl.txtっす
273デフォルトの名無しさん:2005/12/21(水) 10:32:51
import java.io.*;
import java.net.*;
import java.util.*;
class CalcServer2 {
public static void main(String args[]) {
try {
Socket s = ss.accept();
DataInputStream dis = new DataInputStream(s.getInputStream());
int x = dis.readInt();
int y = dis.readInt();
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeInt(x+y);
dos.flush();
s.close();
}catch(Exception e) {e.printStackTrace();}
}}
サーバのほうはあとエラーこれだけです。クライアントのほうどなたかお願いします・・。
http://page.freett.com/kb100000/CalcClient.java
{期限}pm12:20くらいまでです
274デフォルトの名無しさん:2005/12/21(水) 10:33:56
間違えた、エラーこれです・・。
シンボル: 変数 ss
場所 : CalcServer2 の クラス
Socket s = ss.accept();
275デフォルトの名無しさん:2005/12/21(水) 14:18:00
【課題】
キーボードから、数値を2つ入力待ちをする間、2秒ごとに画面に * を出力するプログラムを作成。
2つの値が入力されたら、2つを足した値を画面に出力し終了する。

下記のような感じでやればいいと思うのですが、*を表示させるのと、
2この数字を打つと終了させるという方法がわかりません
import java.io.*;
class Sample extends Thread
{ public synchronized void run(){
try{
Thread.sleep(2000);
System.out.println("*");}
catch(InterruptedException e){}
} } }

class j4_2
{public static void main(String args[]) throws IOException
{int i;
System.out.println("整数を2つ入力してください");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
Sample Sample1 = new Sample();
Sample1.start();
String str1 = br.readLine();
String str2 = br.readLine();
int sum=0;
sum += Integer.parseInt(str1);
sum += Integer.parseInt(str2);
for( i=0; i<1; i++)
{
System.out.println("二つの数値の合計値は"+ sum +"です")
}  }
>>275
なんか>>157-158で見たことあるような課題だな

import java.util.*;
public class T54_Q275 {
public static void main(String[] args) {
Timer timer = new Timer(true);
timer.schedule(new TimerTask() { public void run() { System.out.println("*"); }}, 2000, 2000);
Scanner scanner = new Scanner(System.in);
int inputA = scanner.nextInt();
int inputB = scanner.nextInt();
System.out.println(inputA + inputB);
}
}
277デフォルトの名無しさん:2005/12/21(水) 20:43:34
>268
>どこから手をつけて良いのか分かりません。
コード書いてる時間がちょっとないので、俺ならこう組むという考え方だけ。
1. 3単語が何種類の文字で構成されているか把握する。
2. 各文字に1から9までの数字を割り当てる。
3. 実際に計算してみる。
4. うまく答えが出れば出力。ダメなら次(2で違うパターンを試す)。
  ONE
+ TWO
=THREE
はあり得ないから、そういうのを早めに検出できるようにしてみるのもいいかも。
2781/2:2005/12/21(水) 21:51:17
【 課題 】 引数、パラメータ、戻り値を使用して
SubTestクラスでフィールド変数を使用せずに修正する。
また、SubTestクラスのshow()で行っている出力はfor文を使用する。

class Test {
public static void main(String[] args) {
SubTest st = new SubTest();
st.set();
st.show();
}
}
class SubTest {
private Testdata td[] = null;
protected void set(){
td = new Testdata[3];
td[0] = new Testdata();
td[1] = new Testdata();
td[2] = new Testdata();
td[0].s = "あいうえお";
td[0].i = 1;
td[1].s = "かきくけこ";
td[1].i = 2;
td[2].s = "さしすせそ";
td[2].i = 3;
}
2792/2:2005/12/21(水) 21:52:54
protected void show(){
System.out.println(td[0].s);
System.out.println(td[0].i);
System.out.println(td[1].s);
System.out.println(td[1].i);
System.out.println(td[2].s);
System.out.println(td[2].i);
}
}
class Testdata{
public String s;
public int i;
public Testdata(){
s = "";
i = 0;
}
}
【 期限 】明日まで
【 Ver  】1.4
【 補足 】丸投げです。どなたかよろしくお願いします。
280デフォルトの名無しさん:2005/12/21(水) 23:35:58
【 課題 】 現在の時刻を24時間時計(短針が1日で一周する時計) で表示するプログラムを作成せよ。
針は時針、分針、秒針、タイマー針の4本とする。タイマー針はマウスのドラッグで動かせるものとし、
設定時間(初期値は12:00にする)になったら「時間です。」というメッセージを
画面上のどこかに表示させなさい。
【 期限 】 12/23
【 Ver.  】1.4
【 補足 】 24時間時計とはこういうものです。http://www.imskk.com/images/tc_image.jpg
どなたかお願いします。
281デフォルトの名無しさん:2005/12/22(木) 00:02:34
>>278
class Test {
public static void main(String[] args) {
SubTest st = new SubTest();
Testdata[] td = st.set();
st.show(td);
}
}
class SubTest {
protected Testdata[] set(){
Testdata td[] = new Testdata[3];
td[0] = new Testdata();
td[1] = new Testdata();
td[2] = new Testdata();
td[0].s = "あいうえお";
td[0].i = 1;
td[1].s = "かきくけこ";
td[1].i = 2;
td[2].s = "さしすせそ";
td[2].i = 3;
return td;
}
protected void show(Testdata td[]){
for(int i = 0; i < td.length; i++) {
System.out.println(td[i].s);
System.out.println(td[i].i);
}
}
}
Testdataは同じ
282275:2005/12/22(木) 00:16:59
>>276
その文で実行してみましたが、2個数字を打った後も*が表示され終わることが出来ません
それに習ってない文が何個かあるのでばれてしまいます。。。
283デフォルトの名無しさん:2005/12/22(木) 00:25:20
>>249
ちょっと強引かもしれないけど。

public class Case249 {
 public static final int ONE;
 public static final int TWO;

 private static int ONE_DUMMY;
 private static int TWO_DUMMY;

 public Case249() {
  // コンストラクタでダミーを初期化
  ONE_DUMMY = 100;
  TWO_DUMMY = 200;
 }

 static {
  // new メッセージ送信
  new Case249();
 }

 static {
  // blank final の初期化
  ONE = ONE_DUMMY;
  TWO = TWO_DUMMY;
 }

 public static void main(String[] args) {
  System.out.println(new Case249().TWO);
 }
}
284デフォルトの名無しさん:2005/12/22(木) 00:29:04

書いてみたものの、コンストラクタで実装
というのとはちょっと違うかも。
285デフォルトの名無しさん:2005/12/22(木) 05:30:01
【 課題 】GUIを用いて画像処理を行うプログラムを作成せよ。
内容は以下の通り。
1.ウィンドウ内に「画像表示部・ボタン」を作る。
2.ボタンは「読み込み・エッジ検出・平滑化・鮮鋭化」の4つ。
3.「読み込み」ボタンを押すと”FileDialog”により
グラフィックファイルを選択し、画像表示部にその画像を表示する。
4.「エッジ検出・平滑化・鮮鋭化」ボタンを押すと、
現在表示されている画像に対して
それぞれに応じた処理がされた画像が画像表示部に表示される。

【 期限 】12月24日ですが、26日でもかまいません。
【 補足 】「保存機能」は必要ないです。上では処理は3種類ありますが、
お時間がなければ1つでもかまいません。
ウィンドウのレイアウト、およびグラフィックファイルを読み込んで
表示するところまでは出来るんですが、その後の処理を行う部分がわかりません。
どなたかよろしくお願いします。
286デフォルトの名無しさん:2005/12/22(木) 06:52:24
>>285
画像処理アルゴリズムの指定はないのか
287278:2005/12/22(木) 07:39:50
>>281
確認しました。ありがとうございます!
288デフォルトの名無しさん:2005/12/22(木) 07:53:16
【 課題 】
コマンドライン引数より取得した文字列が
数字なら「true」を、
文字なら「false」を返す
プログラムを作成。
【 補足 】
1文字ではなく、文字列全部が数字の場合のみ「true」です。
おねがいします!
289デフォルトの名無しさん:2005/12/22(木) 08:21:18
>288
import java.io.*;
public class T54_288 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String str = buf.readLine();
if(str.matches("[a-zA-Z]*"))
System.out.println("true");
else if(str.matches("[0-9]*"))
System.out.println(("false"));
}
}
290289:2005/12/22(木) 08:22:47
>288
わり、trueとfalse逆だった。

import java.io.*;
public class T54_288 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String str = buf.readLine();
if(str.matches("[a-zA-Z]*"))
System.out.println("false");
else if(str.matches("[0-9]*"))
System.out.println(("true"));
}
}
291デフォルトの名無しさん:2005/12/22(木) 11:32:16
2.1が数字ならDoubleを使うってことで・・。

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

try{
//@SuppressWarnings("unused")
//double d = Double.parseDouble(args[0]);
//System.out.print(true);

@SuppressWarnings("unused")
int a = Integer.parseInt(args[0]);
System.out.print(true);

}catch (NumberFormatException e) {
System.out.print(false);
}
}
}
292デフォルトの名無しさん:2005/12/22(木) 16:51:44
大変ぶしつけなお願いなんですけど。。。
javaでクリスマスカードをできれば4つ作っていただけませんか?
簡単なものでよいです。
ソースを貼っていただければ幸いです。
293デフォルトの名無しさん:2005/12/22(木) 17:00:02
ただ漠然とクリスマスカードといわれても・・・
もう少し詳しく要求仕様を書かないとどうしようもないよ。
294デフォルトの名無しさん:2005/12/22(木) 17:00:36
課題:Javaで、年賀状を作成せよ。

どなたか助けてください!留年しちゃう!!
295デフォルトの名無しさん:2005/12/22(木) 17:02:03
卒業証書もJavaでつくっとけよ。
296292:2005/12/22(木) 17:03:49
>>293
@メリークリスマスという文字が入っている
A円などの図形がカラフルに表示されている
Bボタンあり
いろいろ注文つけてすみません!

297デフォルトの名無しさん:2005/12/22(木) 17:14:58
年賀状にボタンあり ?
298デフォルトの名無しさん:2005/12/22(木) 17:16:15
> Bボタンあり

ボタンを押すと何が起きるの?
299292:2005/12/22(木) 17:26:10
ボタンを押すと文字の色が変わる・図形が現れるなどでお願いします!
300デフォルトの名無しさん:2005/12/22(木) 19:32:06
300000000000000000000000000000000000000000ゲット
301288:2005/12/22(木) 20:58:43
>>289-291
ありがとうございます!
本当に助かりました。
302285:2005/12/22(木) 22:24:15
>>286さん
返事遅くなってすいません。
それなら特に細かい指定はございません。が、よろしければ
エッジ…オペレータ{0,1,0,1,-4,1,0,1,0}
平滑化…3×3領域の中央値(メディアンフィルタ)
鮮鋭化…オペレータ{-1,-1,-1,-1,9,-1,-1,-1,-1}
で、作成して頂けるとありがたいです。
303デフォルトの名無しさん:2005/12/22(木) 22:29:05
>>285
エッジ抽出部分だけちょっと作ってみた、まだユーザインタフェースはむちゃくちゃだが

左が元画像で右が画像処理後、こんな出力結果が得られればいいのかね
ttp://itaro.kir.jp/cgi-bin/up5/src/ita0064.png
304303:2005/12/22(木) 22:30:44
>>302
よくわからんのでSobel オペレータでやっちまったよ
305285:2005/12/22(木) 22:51:45
>>303さん
Sobelでも全然かまいません。
それにしてもすごい出来ですね!理想の出力結果です!
306303:2005/12/22(木) 23:01:50
>>305
いや、Cマガジンの記事みてサル真似しただけ
307デフォルトの名無しさん:2005/12/22(木) 23:12:32
302>>
そこまで、できて、指定されているなら後は簡単じゃねぇか。
もう1個サイズの同じバッファを用意して、入力画像の左上から右下までループさせて、
各ピクセルを指定のオペレータで処理(これは単なる足し算と掛け算)して、出力バッファの
方に1ピクセルづつ出力していく。1つ出来れば、後はオペレータの係数がかわるだけだから、 
クラス1つ作って、オペレータを引数などで与えればいいんじゃねぇ?
308デフォルトの名無しさん:2005/12/22(木) 23:18:59
ちなみに、アンドウ・リドゥ機能を実装したければ、アンドゥバッファとリドゥバッファ(共に
スタック)を用意して、画像を処理するごとに元の画像をアンドゥバッファにプッシュ。
アンドゥしたければ、アンドゥバッファから前の画像をポップし、現在の画像をリドゥバッファに
プッシュ。って、以前、俺は一つのバッファでやって馬鹿たけど、二つ用意するとプログラムすっきり。
309285:2005/12/22(木) 23:41:28
>>303さん
いえいえ、それでも私にとって十分ありがたいです。
よければ、そちらのコードを教えていただけないでしょうか?
>>307さん
おっしゃるとおりです。自分も最初はそう考えていて出来ると思って
いたのですが、いざやってみるとピクセルの取得や受け渡し、処理が
思ったようにいかず行き詰ってしまったんです…。
なんともお恥ずかしい限りです。
>>308さん
なるほど、あると非常に便利な機能ですね!プログラムが一段落したら
308さんのアドバイスに従って挑戦したいと思います。
310デフォルトの名無しさん:2005/12/22(木) 23:50:09
ちなみに、Javaのどのクラスを用いて画像の読み込み・表示に成功したのでしょうか?
311285:2005/12/23(金) 00:18:00
>>310
読み込みは「Toolkit」、表示は「Canvas」であってると思います。
312303:2005/12/23(金) 01:48:56
>>309
まだまだ未完成だけど
とりあえず、ソースうpするわ、参考になるかどうかわからんけど・・・
ttp://itaro.kir.jp/cgi-bin/up/src/ita0039.zip
313285:2005/12/23(金) 02:14:29
>>312さん
わざわざ作業途中なのにうpしてもらって本当にありがとうございます!
自分にとっては十分参考になるので勉強させていただきます。
314デフォルトの名無しさん:2005/12/23(金) 11:48:18
【課題】

彼女をつくれ

【期限】12月24日

【Ver 】1.4

全然出来なくて困ってます
どなたかよろしくお願いします
315デフォルトの名無しさん:2005/12/23(金) 14:16:31
>>314
クールなユーザインターフェースにするとかか、
円のインスタンスを大量に持つのがいいんじゃないか?
完成したら街でデモして…
316デフォルトの名無しさん:2005/12/23(金) 14:18:54
>>315
お前にはこの課題は無理なようだ。
あきらめろ
317303:2005/12/23(金) 14:19:02
>>313
途中だけどいつ終わるかわからんので続きうp、
ボタン操作にした、機能はエッジ抽出だけだけど
ttp://itaro.kir.jp/cgi-bin/up/src/ita0040.zip
318デフォルトの名無しさん:2005/12/23(金) 14:35:13
【 課題 】
入力文字列を暗号化して暗号文ファイルに保存する。
その際、入力文字列が既に登録されているものと一致した場合に
告知するJavaプログラムを作成せよ。
保存された暗号文からの元の文字列の復元・解読不能にする事。

【 Ver  】tiger 
【 補足 】
平文での保存・マッチングの部分は出来たんですが、
暗号化がさっぱりです。
319デフォルトの名無しさん:2005/12/23(金) 14:48:42
>>318
復元・解読が「困難」ならなんとかなるけど、「不可能」は
無理かもね。
例えば、適当な乱数を発生させて鍵として記憶しておいて、
平文にビット毎に xor かけてやれば解読は困難になるけど、
暗号文から鍵長を求められてしらみ潰しで鍵を探索されちゃうと、
平文に日本語で意味のある単語が入っているとか言う知識で解かれちゃう。
しかも一致するかどうかを調べるんだから、情報を欠落させるわけにも
行かないし。
320デフォルトの名無しさん:2005/12/23(金) 14:54:42
md5でいんでね?一致するかは再度暗号化して、保存されたものと
比較すればNP。
321デフォルトの名無しさん:2005/12/23(金) 14:55:43
訂正。
ソースコードを読まれても復元・解読不可に…という要件も追加。

入力文字列と鍵が揃わないと、暗号化文字列がワカラナイように
すれば良いのかなと思います。

文字列(秘密鍵?)+鍵(公開鍵?) →(暗号化)→ 暗号文(公開可能)

って事でしょうか…

「解読不可能」とかの強度については、
どんな暗号でも一応時間さえあれば解けないものは無い、との事で
もちろんすぐに解析して解けるようなのはダメだけど、
原理さえしっかりしてればいいらしいです。
322デフォルトの名無しさん:2005/12/23(金) 15:09:54
md5..調べてみました。正にコレっぽいです。

java.security.MessageDigestというクラスを使って入力をハッシュに
変換する関数でも噛ませれば良さそうですね。

使い方とか調べてみます。
323デフォルトの名無しさん:2005/12/23(金) 16:00:24
md5 は異なることは主張できても一致しているかはわからないよ。
理論上指数関数的に一致する物があるもの。
特定の入力と md5 が同じ別の入力を作るのは依然困難だけど、
md5 の値が一致する異なる入力を作る方法は去年開発されているし。
324285:2005/12/23(金) 16:50:42
>>317さん
どんどん理想形になっていてすばらしいです。
本当にありがとうございます!
325デフォルトの名無しさん:2005/12/23(金) 16:59:22
なんとか完成させることができました。
ご協力ありがとうございました。

>>323
MD5…脆弱らしいですね…ニュースとかで確認しました。
そこ突っ込まれると何か嫌なので、SHA-512を使うことにしました。
MessageDigest.getInstance("MD5")を"SHA-512"に換えただけですが。
326デフォルトの名無しさん:2005/12/23(金) 16:59:25
>>322
メッセージダイジェストはこの課題には当てはまりません・・・
標準APIの中に、データを暗号化するクラスがあります。
それを使ってください。
キーが同じなら暗号データは同じなので、それを照合すれば
文字列のマッチングもできます
327デフォルトの名無しさん:2005/12/23(金) 17:15:24
>>326
暗号化というよりはセキュアなパスワード認証の課題で、
暗号文の復元は目的としないのでメッセージダイジェストで十分そうです。
328デフォルトの名無しさん:2005/12/23(金) 17:33:15
だからメッセージダイジェストは多対一対応だから、複数ヒットすることが
保証されているんだよ。必ず異なる平文でヒットするんだよ。
一方向性ハッシュ関数はその別の平文を求めることが困難なだけ。
長い数をある数で割って余りだけ保存しておくような物。

一致することを保証するなら、必ず平文と同じ長さ以上の暗号文が生成できないとだめ。
329303:2005/12/23(金) 19:25:35
>>324
ttp://itaro.kir.jp/cgi-bin/up/src/ita0041.zip

エッジは Sovelオペレータ
平滑化は 加重平均平滑化 マスク{1,1,1, 1,4,1, 1,1,1}
鮮鋭化は マスク{-1,-1,-1 ,-1,9,-1, -1,-1,-1}

一部仕様は満たしてないけどここまでできた、動作確認頼む
330285:2005/12/23(金) 19:38:53
>>329さん
動作確認できました!もう大満足の出来です!
お時間かけて作ってもらい、本当にありがとうごさいました!
331デフォルトの名無しさん:2005/12/23(金) 19:51:51
【 課題 】JTreeにルートノードだけ追加し、ノードを右クリックで選択したときポップアップメニューで
      ”新規作成””削除””名前の変更””コピー””切り取り””貼付け”を表示させる。
      メニューの機能を実装する。

      ”新規作成”を選択した場合フォルダかファイルを選択できるようにする。
      ダイアログを表示させ、入力した名前をノードの名前として表示させる。

      ”名前を変更”を選択した場合、ダイアログを表示させ元々の名前を表示させる。

      コピー、もしくは切り取りして貼付けした場合、もう一度コピー、切り取りされるまで
      何度も貼付けができるものとする。

      ルートノードは切り取り、削除できないようにする。

      ファイルには新規作成できないものとする。
      
      


【 期限 】12/26(月)

【 Ver  】1.4.2_09

新規作成でファイルとフォルダを作成する部分がよくわからないのとコピーしたあと貼付けするときに
なぜか二度連続できません。
よろしくおねがいします。
332デフォルトの名無しさん:2005/12/23(金) 21:02:35
326>>
課題でどこまでやるのかわからんし、キーも入力させ暗号化したものを復号化するなら、
メッセージダイジェスト必要じゃねぇ??
そうしないと正しく復号化できたかわからん。
例えば、平文のハッシュを計算して、平文を暗号化した暗号文の後に、そのハッシュを付加して
保存、復号時には、末尾のハッシュを取り除いた部分を入力されたキーで復号化。
で、そのハッシュを求め、末尾にハッシュと一致したら、キーが正しい
333デフォルトの名無しさん:2005/12/23(金) 21:04:07
まぁ、もちろん、正しく復号できたか判定するのは、ハッシュじゃなくて、
固定IDを埋め込む方法もあるが
334デフォルトの名無しさん:2005/12/23(金) 21:37:07
さあ、はやく回答するがいい!
335デフォルトの名無しさん:2005/12/23(金) 21:53:21
だが断る。

〜終了〜
336314:2005/12/24(土) 12:23:14
やっぱりjavaでは無理なんだ。

うわーーーーん。
337デフォルトの名無しさん:2005/12/24(土) 12:42:54
Javaの仕事してると彼女できたりするけどね
338デフォルトの名無しさん:2005/12/24(土) 12:46:36
>>336
みんなJavaで彼女作ったぜ
ここでたのんでもそれは>>314の彼女にはならないってことだな
339デフォルトの名無しさん:2005/12/24(土) 13:06:45
>>337
詳しく。
340デフォルトの名無しさん:2005/12/24(土) 15:02:06
【課題】下のAAみたいなテニスをつくる(四角がラケット・丸がボール)
右側はキーボードの上、下
左側はキーボードのe、x
でラケットを上下させよ
但し、appletで実装せよ
【期限】1月7日まで
【補足】
ラケットに当たらず右か左の外に出たら初めからリスタート
コートの大きさの指定やボールの速さの指定はありません。
ボールは初めは常に右のコート外から左に斜め45度下向きに出てくるように。
得点やゲームの終了条件は特に必要ありません。
よろしくお願いします

              □
     o
341デフォルトの名無しさん:2005/12/24(土) 16:05:30
【 課題 】@Java・C++・XMLなどの文字がデータベースへ入っています。
      それの値を取得して、ラジオボタン又はチェックボックス
      として並べて表示させるプログラムを書きなさい。
      Aりんご・みかん・ばななには、値が設定されています。
      その値を昇順に並べて表示しなさい。
      

【 用語 】 特になし
【 期限 】12月26日
【 Ver  】特になし
【 補足 】意味不明な質問、本当に申し訳ないのですが助けてほしいです。
      JSPで実装するらしいのですが。。。
      データベースに値が追加されていくことも考えて作成しろと言われま
      したがさっぱりです。
342デフォルトの名無しさん:2005/12/24(土) 17:12:30
さっきからプログラムを実行しようとしたら

Exception in thread "main" java.lang.NoClassDefFoundError: クラス名

と表示されて実行できません。どのプログラムでも同じです。
コンパイルは通るのに実行できません。
つい先日まで普通に実行出来たのに急にこんな風になっちゃいました。
スレ違いかもしれませんがこれじゃあ課題が出来ません。
考えられる原因を教えてください。お願いします(´;ω;`)
343デフォルトの名無しさん:2005/12/24(土) 17:30:40
>342
>1のwikiのFAQ
344342:2005/12/24(土) 17:37:10
>>343
おおお!!出来ましたありがとうござういました!!
345デフォルトの名無しさん:2005/12/24(土) 18:18:04
>341
認識されてはいるようですが課題(特に2番)が意味不明です。
(1)
データベースは何を用いればいいですか?
(2)について
値とはなんですか?
どこに設定されていますか?
実装/表示はJSPでするのですか?
346314:2005/12/24(土) 19:01:08
結局、期限に間に合いませんでした。
頼りにならない連中です。

本当にありがとうございました!!!
347デフォルトの名無しさん:2005/12/24(土) 19:27:32
どんまい。でもまだ今日は終わっていないぞ。
348デフォルトの名無しさん:2005/12/24(土) 19:32:26
>>346
あほけ、前日に質問する奴があるか( ^ω^)
349デフォルトの名無しさん:2005/12/24(土) 19:39:25
>>346
 (; ^ω^)<ニ万ぽっきりですよおにいさん
 /ヽσ/ヽσ
 )  )
350デフォルトの名無しさん:2005/12/24(土) 19:46:20
びじんきょくのぽんびきがあらわれた
351デフォルトの名無しさん:2005/12/24(土) 22:00:53
>350
         \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   そんな餌で俺様が釣られクマ――
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ
352デフォルトの名無しさん:2005/12/24(土) 22:20:26
これはひどい。
353デフォルトの名無しさん:2005/12/24(土) 22:34:27
【 課題 】 JAVAアプレットを用いて4択クイズを製作せよ。
【 補足 】先日製作したToi1クラスとToi2クラスをひとつにまとめて
      ランダムに20回表示させろという課題です。

      ・反対語を答える問題と、同義語を答える問題をランダムに20問
      表示させ、終了するということなのですが、どのように多分岐させれば
      いいのか分かりません・・・。
      また、その20問の成績を表示するページもできれば付けろ、とのこと
      なのですが、全く検討がつかない有様です。どうか助けてください!期限は26日月曜日です。
      Toi1
      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26578
      Toi2
      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26579
354デフォルトの名無しさん:2005/12/24(土) 23:47:50
>>353
反対語の問題を10問連続解かせたあと、反対語の問題を10問連続で解かせるのか
そのへんがわからん
355デフォルトの名無しさん:2005/12/25(日) 00:10:46
>>345
ほんとうにもうしわけありません。
たぶんJDBCを使うのでしょう。
データベースはオラクル・もしくはMySQLです。
実装・表示はJSPです。
356354:2005/12/25(日) 00:15:02
>>354はまちがい(^ω^;)

反対語の問題を10問連続で解かせたあと、同義語の問題を10問連続で解かせるのか?

と聞きたかった・・・
357デフォルトの名無しさん:2005/12/25(日) 00:56:12
ランダムに20問表示させ
358デフォルトの名無しさん:2005/12/25(日) 00:57:38
>>356
何でそんな質問が出てくるんだ?
359353:2005/12/25(日) 02:34:32
>>>354さん
説明不足&間違いでですいません〜。反対語と同義語の問題をごちゃ混ぜにランダムで
20問、という意味です
360デフォルトの名無しさん:2005/12/25(日) 07:36:59
>>353
Toi1とToi2の、mondai[]の中身をひとまとめにすればいいんじゃないの?
361275:2005/12/26(月) 02:29:03
Aクラスのrunメソッドを直接呼び出すとエラーメッセージを
表示する。(インナークラスを使用して,runメソッドをもう1つ…)
※Aクラスは必ずThreadクラスを継承する形でスレッドを使うこと!

class A extends Thread {
public void run() { // 呼び出し不能 と表示
System.out.println(“実行中”);
}
}

class Program {
public static void main(String ar[]) {
A a = new A();
a.run();
a.start();
}
}


実行結果:
呼び出し不能
実行中

お願いします
362デフォルトの名無しさん:2005/12/26(月) 03:35:01
@10時間10分10秒は秒にすると何秒か?
A50000秒は時間分秒に変換して表示するとどうなるか?
この2件、よろしくお願いいたします!!
363デフォルトの名無しさん:2005/12/26(月) 10:27:49
@36610秒
A13時間53分20秒
364デフォルトの名無しさん:2005/12/26(月) 11:46:40
算数のしくだいか?
365デフォルトの名無しさん:2005/12/26(月) 15:24:13
ペイントで画像をjpg保存して、それを携帯の写メで撮影し、その写メをまたPCにjpgで取り込み、
JAVAで、元のペイントの画像を読み込んでも補正しなくて、写メを読み込んでペイントで作成した画像のように色を補正したいのですが、どうすればいいですか?

写メと元画像を見分け、色の明るさや輝度を補正する様な感じで、写メだけを元画像に色を近づけたいです。
簡単なプログラムでも、サイトでも助言でもお願いします。
366デフォルトの名無しさん:2005/12/26(月) 16:57:14
助言

日本語の勉強が咲きじゃないかな
367デフォルトの名無しさん:2005/12/26(月) 18:15:38
日本語普通でしょ〜w

366が読解能力ナシだなww
俺は意味分かるしw
368353:2005/12/26(月) 18:16:47
上の書き込みの訂正版です。
【 課題 】 JAVAアプレットを用いて4択クイズを製作せよ。
【 補足 】先日製作したToi1クラスとToi2クラスをひとつにまとめて
      ランダムに10回表示させろという課題です。

      条件1:反対語を答える問題と、同義語を答える問題をランダムに10問
         表示させ、終了する
      条件2:同じ問題が2回出てはいけない
      また、その10問の成績を表示するページもできれば付けろ、とのこと
      なのですが、全く検討がつかない有様です。どうか助けてください!
      Toi1
      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26578
      Toi2
      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26579
369デフォルトの名無しさん:2005/12/26(月) 18:20:56
>>367
m9(^д^)ぷぎゃー
370デフォルトの名無しさん:2005/12/26(月) 19:26:10
>>365
わかるけど、繰り返しが多すぎ。複雑にしすぎ。駄文余文だ
なんて縦読みなんだ(。_。)メガネメガネ
諦めろとマジレス
あなたの知性知識意識能力知能では_でしょうよ。
371デフォルトの名無しさん:2005/12/26(月) 19:53:14
>>365
>>285の宿題のプログラムみたいな画像処理を独自に作るしかないんでね?
372デフォルトの名無しさん:2005/12/26(月) 20:06:30
>>365は難しいよなぁ。
まず解像度が違うんじゃないの?
きっちり垂直に撮れるとも思えないし。
二つの画像が重ならないなら比較しようもないような。
373デフォルトの名無しさん:2005/12/26(月) 22:47:57
>>368
こまかい仕様は勝手にこっちで考えて作ってみた
動作確認よろ
ttp://itaro.kir.jp/cgi-bin/up/src/ita0044.zip
374デフォルトの名無しさん:2005/12/26(月) 22:48:51
【課題】
5,7行目のSystem.out.println〜を1つの文にまとめよ。
(クラス分けはしなくてよい。)

public class T54_288 {
public static void main(String[] args) {
try{
double d = Double.parseDouble(args[0]);
System.out.print(true);
}catch (NumberFormatException e) {
System.out.print(false);
}
}
}
【 補足 】
>>288で答えてもらった解答ですが追加課題が出ました。
どなたかよろしくお願いします。
375デフォルトの名無しさん:2005/12/26(月) 23:01:25
>>374
こういうやりかたはダメ?

public class T54_288 {
public static void main(String[] args) {
boolean b = false;
try{
double d = Double.parseDouble(args[0]);
b = true;
}catch (NumberFormatException e) {
b = false;
}
finally {
System.out.print(b);
}
}
}
376デフォルトの名無しさん:2005/12/26(月) 23:56:09
ところでなんで学校ではAppletで教えるのだろう
377353:2005/12/27(火) 08:04:57
>>368さん
動作確認したところ、ちゃんと動きました。有難うございます!
あと、こっちで勝手に問題を増やしたところ、例外エラーが出てしまうのですが
どうすれば解決できるでしょうか?
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26594
実際にアプレットを実行したところ、途中でコンソールにArreyIndexOutOfBoundsException
と表示されて、アプレットが上手く動きません。よろしければ、教えてください。
378デフォルトの名無しさん:2005/12/27(火) 08:59:48
【課題】
実数を無限(メモリーが可能な限り)に
計算出来る電卓プログラムを作れ
【Ver 】1.4
【 補足 】BigDecimalを使ってください。
379デフォルトの名無しさん:2005/12/27(火) 11:01:59
>>377
static String[] seikaiText = {"正解です",
"正解です",
"正解です",
"正解です"};

というふうに要素を増やす、あるいは

static String seikaiText = "正解です";
    :
    :
kakunin.setText(seikaiText);

という形に直す
380デフォルトの名無しさん:2005/12/27(火) 21:30:21
>>378
1/3 = 0.3333333333333333333333333333333333333333333333333333333→無限に表示
ってこと?
381デフォルトの名無しさん:2005/12/27(火) 21:50:37
>376
大昔JavaといえばAppletだった頃のなごりだと思われ。
382デフォルトの名無しさん:2005/12/27(火) 22:20:24
【 課題 】個数を入力したら自動的に合計金額を計算。ただし,個数に数字以外の文字列を入力した場合は,赤文字に変更して間違い個所がわかるようにする。(詳しくはhttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1356.txt)
【 用語 】一応onCharge 《あれば必須》
【 期限 】明日の朝。
【 Ver  】
【 補足 】java始めて6日のものです…。とにかく動きません。http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1356.txtでソースを表示して間違い箇所の指摘をお願いします
383デフォルトの名無しさん:2005/12/27(火) 22:46:33
>>382
スレ違い
384353:2005/12/28(水) 07:43:55
問題数を一定以上増やすと、アプレット実行中にまたもエラーが出てしまうのですが、なにが
いけないのでしょうか?だれか御教授願います。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26598
385デフォルトの名無しさん:2005/12/28(水) 08:35:49
エラーの意味を理解する気が無いのがいけないんじゃないかな?
386デフォルトの名無しさん:2005/12/28(水) 09:03:38
>>384
kakomon.add(0, new HashSet<Integer>());
kakomon.add(1, new HashSet<Integer>());
kakomon.add(2, new HashSet<Integer>());
kakomon.add(3, new HashSet<Integer>());

これらを



for (int i = 0; i < mondai.length; i++) {
kakomon.add(new HashSet<Integer>());
}

こう変更する
387デフォルトの名無しさん:2005/12/28(水) 16:52:22
カンマ区切りでコマンドライン引数から与えられた数列を利用して合計値を求めるプログラムを以下の仕様に基づき作成せよ。

1、起動クラス mainメソッド:合計計算クラスを使い、引数の数列を合算する
2、合計計算クラス execメソッド:calcメソッドを使い数列を合計し、OutputAnswerクラスを使って結果を出力する
calcメソッド:数列の合計を計算する
3、計算結果出力クラス answerメンバ:計算結果、setAnswerメソッド:計算結果をanswerにセットする
displayメソッド:計算結果を画面表示する

お願いします。
388デフォルトの名無しさん:2005/12/28(水) 17:11:28
(コマンド)
calc 1, 2, 3, 4, 5
(出力)
15
ってことでいいの?
389387:2005/12/28(水) 18:02:40
>>388
そうです!クラスのへんがよく分からないので作成できません
390デフォルトの名無しさん:2005/12/28(水) 18:32:15
391387:2005/12/28(水) 18:54:03
はや!めっちゃ助かります!本当ありがとう
392387:2005/12/29(木) 18:56:15
すいません再度お聞きしたいんですが

以下の追加仕様をプログラムに組み込め
1、outputanswerクラスにfileWriterメソッドを盛り込みファイル出力出切る様にせよ。

2、与えられた配列から最大値を算出するプログラムも盛り込め。その際の出力先は画面とファイルとする。

3、クラスが増えてきたので
(1)、BootStrapクラス、OutputAnswerクラス
(2)、Calcクラス、CalcSumクラス、CalcMaxクラス
というふうにパッケージ化せよ。

注、合計計算クラスと最大値計算クラスは計算クラスの子クラスとする。

っていう課題の内容がさっぱりわかりません。一応参考書通りにプログラム組んでコンパイル出来たのですが計算結果を出力したファイルがどこにもみあたらず困惑しています。
393387:2005/12/29(木) 19:08:48
書き忘れました!合計計算クラスで出力された計算結果と最大値計算クラスで出力された計算結果は別々のファイルで出力されるようにする。との事です。
度々のお願いで恐縮なのですが解ける方お願いします
394デフォルトの名無しさん:2005/12/29(木) 19:12:18
後出しはアウト
死ね
395デフォルトの名無しさん:2005/12/29(木) 20:26:46
public String[] InputNgWord() {
try {
FileReader fr = new FileReader("word.txt");
BufferedReader br = new BufferedReader(fr);
String ngword[] = new String[1000];
int i = 0;
try {
while((ngword[i] = br.readLine()) != null) {
System.out.println(ngword[i]);
i++;
}
br.close();
fr.close();
//return ngword;@
} catch(IOException e) {
System.out.println("err"+e);
}
//return ngword;A
} catch(FileNotFoundException f) {
System.out.println("ファイルがありません"+f);
}
//return ngword;B
}

String型配列ngwordをすべて返したいんですが@〜Bのどこに入れてもエラーが出ます
どうすれば上手く配列のすべての要素を返却できるのでしょうか?
396デフォルトの名無しさん:2005/12/29(木) 21:22:35
>>395
ngwordをtryブロックの外で宣言しなきゃならん
397デフォルトの名無しさん:2005/12/29(木) 21:50:59
>>396
サンクス。助かりました。
ちなみになぜtryの外で宣言しないとだめなんですか?
398デフォルトの名無しさん:2005/12/29(木) 22:20:33
tryブロック内で宣言した変数は、スコープがtryブロック内となる。
そのため、3の位置では変数ngwordが見つからないためエラーになる。
また、1や2の位置では値を返さないフローが発生するから
それもコンパイルエラーになってしまう。
399デフォルトの名無しさん:2005/12/29(木) 23:00:24
>>398
try内部で宣言した変数がローカルな有効範囲になることは知りませんでした
じゃあtryの中にやたらと変数やメソッドを宣言しない方がいいし、
この場合はint iもtryの外で宣言した方がいいと言うことですね?
400デフォルトの名無しさん:2005/12/29(木) 23:09:08
int i はブロック内部でいいだろう
401デフォルトの名無しさん:2005/12/29(木) 23:21:25
勘違いしてました。int i;は1つ目のtryのなかでの宣言だから、1つめのtryを
catchするまでの範囲で使えました。
仮に変数iをBの部分で使おうと思ったら(実際は使わないが)int i;はtryの外で
宣言しなければいけませんよね?
402デフォルトの名無しさん:2005/12/29(木) 23:29:07
そーゆーこった。例えは悪いがな。
403デフォルトの名無しさん:2005/12/29(木) 23:31:09
{ } で囲まれた範囲の変数スコープについておさらいした方がいいな
404デフォルトの名無しさん:2005/12/29(木) 23:34:08
>>402-403
ありがとうございました。
if(){}
for(){}
とかでもいろいろやって、変数の有効範囲を調べてみます。
お世話になりました
405デフォルトの名無しさん:2005/12/30(金) 00:23:35
いずれにしてもスレ違いだ
406デフォルトの名無しさん:2005/12/30(金) 01:10:46
恋人はいつもすれ違いだ
407デフォルトの名無しさん:2005/12/30(金) 01:35:31
【 課題 】
↓ExpressionCalculator.java
http://ame.dip.jp/upload/1135/873922.java

ExpressionCalculator.javaをもとに以下の二つの問題を解きなさい。
1. 数式を入力すると、二分木を作成し、表示するプログラムをつくりなさい
2. 1のプログラムを改造し、二分木をもとに前置式、中置式、後置式を作成し、表示するプログラムをつくりなさい

【 補足 】ceateTreeメソッド内をいろいろいじったのですが、
数値を2分木の左右に振り分ける作業に苦戦しています。
お助けを。。
408デフォルトの名無しさん:2005/12/30(金) 01:49:48
俺はお前の恋人になった覚えは無いが
409デフォルトの名無しさん:2005/12/30(金) 02:07:14
>>407
そこのリンクもうダウンロード出来ないけど、かなり古くね?

ExpressionCalculator.java ならとりあえずここにあった。
http://www.crew.sfc.keio.ac.jp/lectures/2004f_dsap/kadai.html

↓以下の解答者は上記を参照するように。
410デフォルトの名無しさん:2005/12/30(金) 10:10:43
そもそも宿題を出した教授とか先生にここのURLさらした方がはやくね?
411デフォルトの名無しさん:2005/12/30(金) 10:29:39
そうそう。どうせ、バレバレだから、さらそうがさらすまいが、
丸写しは不合格だし。
412デフォルトの名無しさん:2005/12/31(土) 08:49:18
こんなマイナースレ、誰も知らないから無問題。
特に講師たちは。
413講師:2005/12/31(土) 10:08:14
認めんぞ
こんなスレは
414デフォルトの名無しさん:2005/12/31(土) 13:30:45
>>412
だから、講師らにURLを晒せと言っている
415デフォルトの名無しさん:2005/12/31(土) 14:01:10
あんたも暇ねぇ。年の瀬だってのに。実家に顔出すのも大事だにょ〜ん。
416デフォルトの名無しさん:2005/12/31(土) 14:06:00
お次の方、宿題の質問どうぞ↓
417デフォルトの名無しさん:2005/12/31(土) 14:35:47
これ本番ですか?
418デフォルトの名無しさん:2005/12/31(土) 15:50:30
本番行為は厳禁です。
419デフォルトの名無しさん:2005/12/31(土) 16:29:22
【課題提示用テンプレ】
【 課題 】 オブジェクト指向による、1000までの素数を表示するプログラムを作れ。
【 用語 】 素数:1以外の正の整数で、1とその数以外に約数を持たない数。 例)2,3,5,7,11,13,17・・・
【 期限 】 過ぎてます・・・。早めに出さないといけません。
【 補足 】 オブジェクト指向の考えがよくわからないので、どう作ればいいか困ってます。
        よろしくお願いします。
420デフォルトの名無しさん:2005/12/31(土) 17:25:34
オブジェクト指向によるの意図がよくわからんが、こんなんでいいのか?

class Test {
public static void main(String[] args) {
Int[] num = new Int[1000];
for (int i = 1; i <= 1000; i++) {
num[i-1] = new Int(i);
}
for (int i = 0; i < 1000; i++) {
if(num[i].isPrimeNumber()) {
System.out.println(num[i].getNumber());
}
}
}
}
421デフォルトの名無しさん:2005/12/31(土) 17:26:57
class Int {
private int n;

Int(int n) {
this.n = n;
}
int getNumber() {return n;}

boolean isPrimeNumber() {
if (n <= 1) {
return false;
}
for (int i = 2; i < n; i++) {
if (n%i == 0) {
return false;
}
}
return true;
}
}
422デフォルトの名無しさん:2005/12/31(土) 17:39:42
import java.io.*;
public class Prime {
public static void main(String[] args){
Number n = new Number(1);
while(n.nextTo(1000)) if(n.isPrime()) System.out.print(n.out());
}
}

class Number {
private int n;

Number(int n){
this.n = n;
}

String out(){
return Integer.toString(this.n) + " ";
}

boolean nextTo(int n){
if(++this.n > n) return false;
return true;
}

boolean isPrime(){
if(this.n <= 1) return false;
for(int i = 2; i < this.n; i++)
if(this.n % i == 0) return false;
return true;
}
}
423デフォルトの名無しさん:2005/12/31(土) 17:48:55
お約束だけど、
for(int i = 2; i * i <= this.n; i++)
の方がいいね。
424デフォルトの名無しさん:2005/12/31(土) 17:57:50
ミュータブルなNumberキモイ
425デフォルトの名無しさん:2005/12/31(土) 18:10:31
気持ちの問題
426419:2005/12/31(土) 18:18:27
>>420-422
ありがとうございます。
参考にさせていただきます。
427デフォルトの名無しさん:2006/01/02(月) 00:20:55
って言うか>>419の問題ってそこまで面倒臭くやらなくても、これで十分じゃないか?

public class Sosu {
public static void main(String[] args){
for(int i=2; i<=1000; i++){
if(getSosu(i)==true){
System.out.print(i+", ");
}
}
}
static boolean getSosu(int i){
for(int j=i-1;j>1;j--){
if(i%j==0){
return false;
}
}
return true;
}
}
428デフォルトの名無しさん:2006/01/02(月) 01:41:50
「オブジェクト指向による」の意図がよくわからんからなぁ
429デフォルトの名無しさん:2006/01/02(月) 01:43:09
とりあえず >>427 が不合格であることだけは確実
430デフォルトの名無しさん:2006/01/02(月) 11:56:45
オブジェクト指向にこだわるならこんな感じ?
import java.io.*;
public class Prime {
public static void main(String[] args){
Numbers n = new Numbers(1, 1000);
n.foreach(new AbstructNumberTester() {
public void perform(int n){
if(isValid(n)) System.out.println(n);
}
public boolean isValid(int n){
if(n <= 1) return false;
for(int i = 2; i * i <= n; i++) if(n % i == 0) return false;
return true;
}
});
}
}
abstract class AbstructNumberTester {
abstract void perform(int n);
abstract boolean isValid(int n);
}
class Numbers {
private int[] n;
Numbers(int a, int z){
n = new int[z - a + 1];
for(int i = a; i <= z; i++) n[i - a] = i;
}
void foreach(AbstructNumberTester t){
for(int i = 0; i < n.length; i++) t.perform(n[i]);
}
}
431デフォルトの名無しさん:2006/01/02(月) 17:46:06
オブジェクト指向による、って書いてあるだけなんだから、Java使ってりゃ別にいいんじゃね?
後はそれまでにどんな授業内容を受けてきたかによるだろ。
特に「何を使え」って指定がないなら>>427のが正しく動くか見てないけど、これで十分な気が。
たとえばアブストラクトクラスを使えとか、インターフェースを使えとか、
オブジェクト指向の特徴を上手く使ってとか、そう言う指定があるなら別だけどさ。
432デフォルトの名無しさん:2006/01/02(月) 19:51:34
>>431>>427 ですか?
433デフォルトの名無しさん:2006/01/02(月) 22:00:58
ぶっちゃけ、プリミティブ型を使わないロジックさえ書ければオブジェクト指向だ
434デフォルトの名無しさん:2006/01/03(火) 11:07:09
オブジェクト指向を全く理解してない奴が紛れ込んでる。
435デフォルトの名無しさん:2006/01/03(火) 12:27:17
オブジェクトを使って問題解決するのがオブジェクト指向でしょ
つまり、プリミティブ型を使わなければオブジェクト指向だ
何か間違えてるか?
436デフォルトの名無しさん:2006/01/03(火) 12:57:52
つーかよ
おまいらオブジェクト指向云々とかいう前に
プログラムの効率の悪さをなんとかしろよ
素数ってのは、自分より小さい素数で割り切れなきゃ素数なんだよ
2からi-1まで全部回してるやつはアホだろ
437デフォルトの名無しさん:2006/01/03(火) 13:02:28
というか、この問題を出題した先生もオブジェクト指向をりかいしていなかったりして。
大学の先生とかでも最新の技術に疎い人は多いよ。
438デフォルトの名無しさん:2006/01/03(火) 13:17:59
開拓することに意味があるわけで、開拓し終わった土地を、
誰がどう使おうが興味ないでしょ。
439デフォルトの名無しさん:2006/01/03(火) 13:27:13
最近Java始めたばっかり何ですが、メソッドやフィールド変数は
クラス(オブジェクト)に属するってのはわかったのですが、
+などの算術演算子やforなどの制御文ってどのクラスに属するのですか?
440デフォルトの名無しさん:2006/01/03(火) 13:27:28
間違えました
441デフォルトの名無しさん:2006/01/03(火) 13:46:30
許さん
442デフォルトの名無しさん:2006/01/03(火) 13:49:42
Class class = String.class
の.classってなに?

プロパティ?
443デフォルトの名無しさん:2006/01/03(火) 14:02:43
俺もそれ不思議に思った
さらに言うと、その例で言う String ってのは何者になるの?
Classのインスタンスではないし
444デフォルトの名無しさん:2006/01/03(火) 14:22:51
>>443

StringクラスのString。
クラス名.classでClassクラスのインスタンスがもってこれる
445デフォルトの名無しさん:2006/01/03(火) 14:29:19
StringクラスのStringってのはわかるんだけど、
Stringって何かのインスタンス?ってこと
446デフォルトの名無しさん:2006/01/03(火) 14:36:40
要はクラスはオブジェクトなのかってことが知りたいな
Smalltalkとかだとクラスもオブジェクトなんだけど
447デフォルトの名無しさん:2006/01/03(火) 14:51:52
Stringはクラス名
たとえばStringをメタレベルで扱いたいなら
まずはClassオブジェクトを取得して
リフレクションAPIで操作すればいいよ
メソッドでもインスタンス変数でも識別子でも取得できる
448デフォルトの名無しさん:2006/01/03(火) 15:00:02
そうかクラスはオブジェクトではないんだな。
クラス名.classでそのクラスを表すClassクラスのオブジェクトを取得できるというだけか。
449デフォルトの名無しさん:2006/01/03(火) 15:02:45
SUNももうちっと違う名前にしてくれればいいのに・・・
450デフォルトの名無しさん:2006/01/03(火) 15:05:14
まあそういうことだね
Smalltalkのように動的にクラスを拡張できる言語とは違うから
Classオブジェクトで静的にメタ情報にアクセスってことで
とりあえずは間に合う
設計思想の違いだからこれは仕方ないことだね
451デフォルトの名無しさん:2006/01/03(火) 15:16:10
Javaの場合はコンパイル時にこれらの情報が決定するから
実行時に動的にメソッドを追加するなど
SmalltalkやObjective-Cのような技は使えない
これは実行効率や保守性とのトレードオフだから
Javaが悪いって訳じゃない
使えなくても言語仕様やデザパタなどで実質的な代替は行える
言語そのものが趣味ならともかく普通は言語は手段だしな
しかしどうしても動的な言語がすきならJavaは向いてないな
科目の選択間違えてるかもよ
452デフォルトの名無しさん:2006/01/03(火) 15:29:14
そんで結局.classは何なの?
453デフォルトの名無しさん:2006/01/03(火) 15:42:34
454デフォルトの名無しさん:2006/01/03(火) 15:49:57
>>453
さんくす

455デフォルトの名無しさん:2006/01/03(火) 17:25:05
今、eclipce環境でUSB接続Bluetoothアダプタを用いたプログラム書いてるんだが
ちゃんと関連jarも追加して,デバイス検索のためのクラス使ってもそこでエラーくるんだが

こういうデバイスをプログラムに関連付けるにはどうしたらいいんですか?

456デフォルトの名無しさん:2006/01/03(火) 21:36:58
>439-455
スレ違い
457デフォルトの名無しさん:2006/01/03(火) 23:57:45
今ごろ419
public class Test3 {
public static void main(String[] args) {
for (int i = 2; i < 1000; i++) {
Number n = new Number(i);
if (n.isPrime()) {
System.out.println(n);
}}}}
class Number {
private int n;
Number(int n) {
this.n = n;
}
public boolean isPrime() {
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}}
return true;
}
public String toString() {
return String.valueOf(n);
}}
458デフォルトの名無しさん:2006/01/04(水) 16:13:31
【課題】
http://49uper.com:8080/html/img-s/103432.zip
これを元にして,
・デュークを哲学者に変える
・スパゲッティをよそった皿とフォークを加えて、もっと分かりやすいプログラムにする
459デフォルトの名無しさん:2006/01/04(水) 20:34:45
んじゃおれも>>419。速度重視。
public class PrimeCalc {
private int[] primes;
private int ix;
public static void main(String[] args) {
int max = 0;
try { max = Integer.parseInt(args[0]); } catch (Exception e) { System.err.println("Usage: PrimeCalc <num>"); }
PrimeCalc calc = new PrimeCalc();
calc.calculate(max);
System.out.println(calc);
}
public void calculate(int max) {
ix = 0;
if (max < 2) return;
primes = new int[max];
for (int i = 2; i <= max; i++) { if (isPrime(i)) { primes[ix] = i; ix++; } }
}
public String toString() {
if (primes == null) return "";
StringBuffer sb = new StringBuffer();
for (int i = 0; i < ix; i++) { sb.append(primes[i]).append(" "); }
return sb.toString();
}
private boolean isPrime(int i) {
for (int j = 1; j < ix; j++) { if (i % primes[j] == 0) return false; }
return true;
}
}
460459:2006/01/04(水) 20:50:41
手入れてるうちにバグはいってた。。j=0ね。

private boolean isPrime(int i) {
for (int j = 0; j < ix; j++) { if (i % primes[j] == 0) return false; }
return true;
}
461デフォルトの名無しさん:2006/01/04(水) 23:24:39
【課題】
1.発生させる乱数点の個数と試行回数はこの順にファイルからint型で入力し,Scannerクラスで読込むこと.cf.pp.300-3
  例)  10000  10
なお,成分間のセパレータ(区切り)には上の例のように空白を用いよ. (補足:提出されたレポートはこちらで用意した入力ファイルを用いてチェックするのでメールに入力ファイルを添付しないこと.)
 2. 入力ファイル名,出力ファイル名はこの順にコマンドラインの第一,第二引数で渡すこととする. ファイルのオープンに失敗した時は その旨をメッセージすることは勿論,コマンドラインでの使用法も画面に出力せよ.cf. pp. 306-7
 3.乱数点の x,y 座標はともに区間 [-1, 1)内に一様にとられるようにすること. また単位円内に入った乱数点の個数をカウントすること.
 4. データをファイルから入力する部分,乱数点を生成する部分,近似値を画面出力する部分,近似値をファイル出力する部分はそれぞれ独立したメソッドとして作ること.
 5. 試行回数分の平均近似値と厳密値πを比較し,その差を求めよ. なお,平均を求めるにあたっては毎回の近似値を全部配列にとっておくのは無駄である.そうしない方法を考えよ.
 6. 各自で与えたデータとそれによる計算結果が下の結果になるように出力せよ.なお,ファイルへの出力内容は画面出力と全く同じであること.

[コマンドプロンプト側の表示]
発生させた乱数点の個数 = xxxxxx
試行回数 = xx
    1回目のπの近似値 = x.xxxxxx

【補足】
お願いします。
     ・・・ ・・・ ・・・
     ・・・ ・・・ ・・・
   xx回目のπの近似値 = x.xxxxxx
 ----------------------------------
 xx回試行の平均近似値 = x.xxxxxx
         πの厳密値 = x.xxxxxx
            その差 = x.xxxxxx

462デフォルトの名無しさん:2006/01/05(木) 01:47:00
>>461
モンテカルロ法ですな
463デフォルトの名無しさん:2006/01/05(木) 01:56:37
一様乱数による円周率のシミュレーション(java 版)
ttp://case.f7.ems.okayama-u.ac.jp/statedu/java/piest.html
464デフォルトの名無しさん:2006/01/05(木) 07:40:49
>>459
アルゴリズ厶の解説くらい書け
ここはおまえのオナ二ーする場所ではない
465デフォルトの名無しさん:2006/01/05(木) 08:11:26
でもいつもと違う場所でやってみると新鮮な快感があるよね。
466デフォルトの名無しさん:2006/01/05(木) 12:19:22
いつもは右手だけど左手+ローション試したときは凄かった
彼女にしてもらうのとも違う快感
467デフォルトの名無しさん:2006/01/05(木) 17:47:38
お願いします!
【 課題 】ウインドウ内に画像を表示して、その画像の、ある座標にカーソルを当てると文字が表示される。
【 用語 】?
【 期限 】提出期限過ぎてます…
【 Ver  】5.0
【 補足 】作成するウインドウのタイトルは「3年B組」、画像ファイル名は「Zeninsyuugou.gif」、座標に表示される文字は「ひろし君」でお願いします。
今日中になんとかなりますでしょうか?
どうか宜しくお願いいたします!
468植松のパクリ(1):2006/01/05(木) 17:53:45
植松のパクリ(1)
作曲:植松伸夫 曲名:山の向こうに
http://www.ffplanet.com/ff7/musiche/07-Other_Side_of_Mountain.mid
FF2のフィールド音楽
http://hkeigon.hp.infoseek.co.jp/midi_mp3/ff2main.mid
469459:2006/01/05(木) 19:00:11
>>464
解説かぁ
「素数は自身より小さい素数で割り切れない数」ということを利用して
既に算出した素数を配列primesに保存しておき
判定演算の分母に使うことでループ回数を節約している
また、偶数は2を除いて素数じゃないが
primesの先頭は2なのでループせずに抜けるので都合もいい
こんなところでどう?
470デフォルトの名無しさん:2006/01/05(木) 20:25:49
>>467
300x300の真ん中の部分にマウスを持ってくると
JToolTipで"ひろし君"と表示するようにしてみた。

import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class AlbumViewTest {
Image image;
public static void main(String[] args) {
JFrame frame = new JFrame("3年B組");
frame.getContentPane().add(new AlbumView("ひろし君", "Zeninsyuugou.gif"));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300); //イメージの大きさにする
frame.setVisible(true);
}
}
class AlbumView extends JComponent {
Image image;
public AlbumView(String s, String img) {
setToolTipText(s);
image = Toolkit.getDefaultToolkit().getImage(img);
}
public String getToolTipText(MouseEvent e) {
int x = e.getX(); int y = e.getY();
if ((100 < x && x < 200) && (100 < y && y < 200)) return getToolTipText();
else return null;
}
public void paintComponent(Graphics g) {
if (image != null) g.drawImage(image, 0, 0, this);
}
}
471デフォルトの名無しさん:2006/01/05(木) 21:16:07
ひとし の方が都合が良いのですが
お願いします
472467:2006/01/05(木) 21:48:10
>>470
ありがとうございます!
ただ伝え忘れてた事がありまして、画像サイズは480,480なんです。
それと、座標の数字さえ変えれば、他の人の名前も表示できるようになっていないといけないんです。
なので真ん中に表示ではなく、座標を書き換えるだけでいいプログラムに改良できませんか?
わがまま申し訳ありません。

>>471
ひとし でもなんでもOKです。(ひとし君はいないので後で書き換えますけど)
473デフォルトの名無しさん:2006/01/05(木) 22:20:39
474デフォルトの名無しさん:2006/01/05(木) 23:13:36
>>472 直してみた。こんな感じでどうかな。
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*;
public class AlbumViewTest {
public static void main(String[] args) {
Image img = Toolkit.getDefaultToolkit().getImage("ZeninSyuugou.gif");
AlbumView view = new AlbumView(null);
view.addMateInfo(new MateInfo("ひろし", new Rectangle(0, 0, 50, 50)));
view.addMateInfo(new MateInfo("さくら", new Rectangle(100, 100, 50, 50)));
JFrame frame = new JFrame("3年B組"); frame.getContentPane().add(view);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(480, 480); frame.setVisible(true);
} }
class AlbumView extends JComponent {
private java.util.List mates = new ArrayList(); private Image image;
public AlbumView(Image img) { image = img; setToolTipText("dummy"); }
public String getToolTipText(MouseEvent e) {
int x = e.getX(); int y = e.getY();
Iterator it = mates.iterator(); while (it.hasNext()) {
MateInfo mate = (MateInfo)it.next();
if (mate.isSelected(x, y)) return mate.getName();
}
return null;
}
public void addMateInfo(MateInfo info) { if (info != null) mates.add(info); }
public void paintComponent(Graphics g) {
if (image != null) g.drawImage(image, 0, 0, this);
} }
class MateInfo { private Rectangle rect; private String name;
public MateInfo(String n, Rectangle r) { name = n; rect = r; }
public String getName() { return name; }
public boolean isSelected(int x, int y) { return rect.contains(x, y); }
475デフォルトの名無しさん:2006/01/05(木) 23:15:32
>>474の以下のところミス。訂正。

AlbumView view = new AlbumView(img);
476デフォルトの名無しさん:2006/01/06(金) 09:19:05
【課題】
身長(センチメートルでなくメートルで計算)を入力し、
標準体重を出しなさい。
身長がマイナスの値なら、処理を終了。
プラスなら処理を繰り返すプログラムを作成しなさい。

適正体重の範囲は、身長×身長×17.5以上〜身長×身長×24未満とする。

よろしくお願いします。
477デフォルトの名無しさん:2006/01/06(金) 09:20:48
>476
2行目 標準体重ではなく、適正体重の間違いでした。
478デフォルトの名無しさん:2006/01/06(金) 09:34:59
>>476
動作確認よろしく

public class T54_476 {
public static void main(String[] args) {
java.util.Scanner in = new java.util.Scanner(System.in);
while(true) {
System.out.println("身長を入力してください。");
System.out.print(">");
double height = in.nextDouble();
if (height < 0) break;
System.out.printf("適正体重は%.2fkg以上〜%.2fkg未満です。%n%n", height * height * 17.5, height * height * 24);
}
}
}
479デフォルトの名無しさん:2006/01/06(金) 11:13:09
【 課題 】 JAVAアプレットを用いて4択クイズを製作せよ。
【 Ver  】j2sdk1.4.2_09 jre5.0 eclipse3.1
【 補足 】TopクラスとToiRondomクラスを作って、それをHTML形式で
      実行せよとのことなのですが、HTMLファイルでのリンクの
      設定が分かりません

      TOP http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26674
ToiRondom http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26675

Topを実行して、言語問題のボタンをクリックしたら、ToiRondom
が実行されるように、HTMLでリンク設定したいのですが・・・
      また、問題を20問解き終わった後は、またTopの画面に戻るように、
      リンクを設定したいのです。
      どうかよろしくお願いします。
480デフォルトの名無しさん:2006/01/06(金) 19:26:00
>>479
HTMLファイルでのリンクってこんなじゃないのか?

<hteml>
<head><title>初期画面</title></head>
<body>
<a href="4択クイズ.html">4択クイズ</a>
</body>
<html>
481デフォルトの名無しさん:2006/01/06(金) 22:38:04
【 課題 】
2005年11月のカレンダーのみを出力させよ。
誕生日の数字(1日)を特に強調 (背景が緑)せよ。

【 期限 】提出期限 2006年1月10日朝
【 Ver  】1.4.2 J2SE SDK
【 補足 】特にありません。お願いします。。。
482デフォルトの名無しさん:2006/01/06(金) 22:42:49
【 課題 】
2005年11月のカレンダーのみを出力させよ。
誕生日の数字(1日)を特に強調 (背景が緑)せよ。

【 期限 】提出期限 2006年1月10日朝
【 Ver  】1.4.2 J2SE SDK
【 補足 】すみません、補足です。
@アプレットを用いよ
A土曜日は青色、日曜日・休日は赤色で。
B曜日の順番は日月火水木金土で。
483デフォルトの名無しさん:2006/01/06(金) 23:38:34
ttp://www.comp.metro-u.ac.jp/%7Etake/II/IIkadai.html

本当に簡単なものでいいのでお願いします。
なにか入力すると大吉とかでるようなものがいいです。
484デフォルトの名無しさん:2006/01/07(土) 10:50:25
【 課題 】
アプレットビューワーで自分の名前を入力すると
カレンダーを出力させるプログラムを作成せよ
【 期限 】提出期限 2006年1月16日朝
【 補足 】カレンダー部分はできてるので
名前入力を認識する部分を教えてもらいたいです
485デフォルトの名無しさん:2006/01/07(土) 11:36:05
なんだってこうアプレットばっかりなんだ
アプレットのやつはやる気しねー
486デフォルトの名無しさん:2006/01/07(土) 12:04:03
禿
487デフォルトの名無しさん:2006/01/07(土) 13:07:13
>>485 それを見越して先生はアプレットの問題出してたりしてw
488デフォルトの名無しさん:2006/01/07(土) 13:09:57
>484
名前を入力することとカレンダーを表示することに何か関係があるの?
489デフォルトの名無しさん:2006/01/07(土) 13:16:13
>>488
名前をパスワードの代わりにして、正しかったらカレンダーの画面、
間違っていたら「名前が正しくありません」というかんじにするだけで、
意味はあまりない・・・
490デフォルトの名無しさん:2006/01/07(土) 13:58:23
名前の認識なんて、ただのequals比較でいいじゃん
491デフォルトの名無しさん:2006/01/07(土) 14:14:47
>>490
それのやりかたとかがあまりよくわからない。
492デフォルトの名無しさん:2006/01/07(土) 15:00:42
String inputName = getUserInputName();

final String validName = "正しい名前";

if (validName.equals(inputName)) {
//正しい場合
} else {
//正しくない場合
}
493デフォルトの名無しさん:2006/01/07(土) 15:05:25
名前入力を認識する部分 って具体的には何をしたいの?
(何をしないといけないの?)
494デフォルトの名無しさん:2006/01/07(土) 18:50:21
自然数 N が与えられたとき、
1 から N までの数字を N 個並べる組み合わせをすべて
列挙するプログラムは Java で書くとどうなりますか?

例えば N = 3 のとき
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
となるようにです。
よろしくおながいします。
495デフォルトの名無しさん:2006/01/07(土) 21:15:22
>>494
意味不明
もしかしてN=9が最大かな?
496デフォルトの名無しさん:2006/01/07(土) 22:56:23
>494
// NumberDisplayDemo.java
import java.util.ArrayList;

public class NumberDisplayDemo {
public static void main(String[] args) {
int number = 3;
StringBuffer buffer;
ArrayList<Integer> list = new ArrayList<Integer>();
for( int i=0; i<factorial(number); i++ ) {
for( int k=0; k<number; k++ ) list.add(k);
buffer = new StringBuffer();
for( int j=0; j<number; j++ ) {
buffer.append( " " + (list.remove( (i/factorial(number-(j+1)))%(number-j) )+1) );
}
System.out.println(buffer);
buffer = null;
}
}

private static int factorial(int num) {
if( num <= 1 ) return 1;
else return num * factorial(num-1);
}
}
497デフォルトの名無しさん:2006/01/07(土) 23:34:34
>>494
先こされたか。
こっちはintの配列をチェックと結果格納の一石二鳥アルゴリズムでやってみた。
public class UnitGen {
private static int N;
private static int[] r;
public static void main(String[] args) {
try {N = Integer.parseInt(args[0]);if (N < 1) throw new Exception();}
catch (Exception e) {System.err.println("Usage:UnitGen <N>");System.exit(1);}
r = new int[N]; calc(0);
}
private static void calc(int c) {
for (int n = 1; n <= N; n++) {
if (check(c, n)) continue;
int t = c + 1; r[c] = n; if (c < N - 1) calc(t); else print(); r[c] = 0;
}
}
private static void print() {
for (int i = 0; i < N; i++) System.out.print(r[i]); System.out.println("");
}
private static boolean check(int c, int n) {
for (int i = 0; i < c; i++) if (n == r[i]) return true; return false;
}
}
498デフォルトの名無しさん:2006/01/08(日) 01:57:22
作成した複数のJAVAアプリケーション(例えばhellowolrd.java,helloworld2.java)を
タブやボタンを使って、それを押すとプログラムが開始されるメニューを作成してくださいっていう課題なんですけど、よくわかりません。
誰か教えてください・・。
499デフォルトの名無しさん:2006/01/08(日) 02:12:15
>>494 微妙なのができた
public class Test {
public static void main(String[] args) {Test test = new Test(4);}
int size; MyList list;
private Test6NList(int size) {this.size = size;list = new MyList(size);test(0);}
private void test(int x) {
if (x == size) {return;}
for (int i = 1; i <= size; i++) {
if (isSet(x, i)) {continue;}
list.set(x, i);
if (x == size -1) {System.out.println(list);}
test(x + 1);
}}
private boolean isSet(int x, int i) {
for (int j = 0; j < x; j++) {if (list.get(j) == i) {return true;}}
return false;
}
class MyList {
ArrayList<Integer> list;
MyList(int size) {
list = new ArrayList<Integer>(size);for (int i = 0; i < size; i++) {list.add(null);}}
Integer set(int x, Integer i) {return list.set(x, i);}
Integer get(int x) {return list.get(x);}
public String toString() {
StringBuffer sb = new StringBuffer();
Iterator<Integer> itr = list.iterator();
while (itr.hasNext()) {
sb.append(" ");
sb.append(itr.next());
}
return sb.substring(1).toString();
}}}
500デフォルトの名無しさん:2006/01/08(日) 02:21:33
>>494
http://www.gulf.or.jp/~damayan/algo/PermEnum.javaをベースに
いじってみた。でも速度は>>497の方が速いな。

public class PermEnum {
static private int N, k; static private int[] n, c;
public static void main(String[] args) {
try { N = Integer.parseInt(args[0]); if (N < 1) throw new Exception(); }
catch (Exception e) { System.err.println("Usage:UnitGen <N>"); System.exit(1); }
n = new int[N]; for (int i = 0; i < N; i++) n[i] = i + 1;
c = new int[N + 1]; for (int i = 0; i <= N; i++) c[i] = i;
k = 1;
for (k = 1; k < N; ) {
int x = 0; if ((k & 1) != 0) x = c[k];
int tmp = n[k]; n[k] = n[x]; n[x] = tmp;
for (k = 1; c[k] == 0; ) c[k] = k++; c[k]--;
for (int i = 0; i < N; i++) System.out.print(n[i]); System.out.println("");
} } }
501デフォルトの名無しさん:2006/01/08(日) 02:22:48
>>498 言ってることがよく分かんないんだけど
JavaのGUIのボタンを押すと、GUI上にhelloworldとかの出力結果を表示する」であってる?
502デフォルトの名無しさん:2006/01/08(日) 02:25:43
>>498
単にリスナーから作ったプログラムのmain()を呼ぶだけじゃないの?
503デフォルトの名無しさん:2006/01/08(日) 03:30:55
504デフォルトの名無しさん:2006/01/08(日) 06:58:01
502さんの言ってるようなことだと思います。
よろしくお願いします。
505fumiko:2006/01/08(日) 15:09:22
課題:クリスマスカードまたは年賀状をJavaのアプレットとして作成しなさい.
期限:1/10の昼まで
Ver.:最新版でお願いします。
補足:丸投げです。
   このような感じにしたててくれるとうれしいです。→http://user.ecc.u-tokyo.ac.jp/~t40312/
   ↓で説明されている程度の技術で作った簡単なものでかまわないのでよろしくお願いします。
   http://lecture.ecc.u-tokyo.ac.jp/~tamai/prog/2005/2005-9/
506デフォルトの名無しさん:2006/01/08(日) 18:58:35
>>505
おまえ後輩か……。俺も一年の時同じ授業とったよ。
507デフォルトの名無しさん:2006/01/08(日) 20:31:41
ていうか「↓で説明されている【程度】の技術で作った【簡単な】もの」ってどうよ。
なら自分でやれば?
508デフォルトの名無しさん:2006/01/08(日) 21:33:28
509fumiko:2006/01/08(日) 21:56:49
>507
気に障ったようならすいません。
ここで教えてくださる方々の視点から見ての言い方をさせてもらいました。
私にとっては決して簡単なものではありませんが、JAVAプログラミングをかなりやってる方にとっては大学の授業の内容は限られた技術しか使ってないと思うので、こういう言い方になったまでです。
言い方が教えを請う立場のものでなかったことを深くお詫びいたしますm(__)m

>506
先輩ですか!?自力で出来ましたか?私は12月くらいからついていけなくなっていてキツいです。。
510デフォルトの名無しさん:2006/01/08(日) 21:58:08
>>507
気持ちはわかるけど
まぁ、そう突っかかんなさんな
ここは一つ茶でもドウゾ( ・∀・)っ旦
511デフォルトの名無しさん:2006/01/08(日) 23:17:10
>>509
俺は授業出ないで課題だけメールで出して最後のテストは時間半分で終わって優だったよ。
てゆか、大学名は愚かどの授業か特定できるような書き方するなよ。
ズルしてること通報されちゃうよ?
512デフォルトの名無しさん:2006/01/08(日) 23:35:39
>>511
そういや去年の6月頃にうちの大学でバレちゃったのがいたな…
513デフォルトの名無しさん:2006/01/09(月) 02:45:27
【 課題 】 いくつかのキーフレームを用いて、簡単な「歩く」アニメーションを作成せよ。
      また、ボタン操作などによって速さを変化できるようにせよ。
【 期限 】1月9日
【 Ver  】1.4
【 補足 】よろしくお願いします。
514デフォルトの名無しさん:2006/01/09(月) 08:48:52
>>508
ありがとうございます。
なんか自分は考え方から違ってたようです・・。
また何かあったらよろしくお願いします。
515デフォルトの名無しさん:2006/01/09(月) 10:55:32
連投すいません

>>508
メニューから選ぶプログラムの中にウィンドウを表示する物もあるんですが、
そのウィンドウを閉じるとメニューのウィンドウも一緒に閉じてしまいます。
メニューのウィンドウは残すようにするにはどうすればいいんでしょうか?
説明不足ですいません・・。
516デフォルトの名無しさん:2006/01/09(月) 15:28:22
TextFieldに文字を打ち込んだ後(パスワードみたいな感じ)に、
すでに作られたアプレットを表示する方法ってどうやるんですか?
public class Password extends Applet
{
    テキストフィールド;

public void paint(Graphics g)
{
:
:
:
}
}
の真ん中に作ってあるやつを表示したいのですが。
Swingは使わないです。
v 1.4.2
517デフォルトの名無しさん:2006/01/09(月) 15:28:40
【 課題 】 JAVAアプレットを用いて4択クイズを製作せよ。
【 Ver  】j2sdk1.4.2_09 jre5.0 eclipse3.1
【 補足 】TopクラスとToiRondomクラスを作って、それをHTML形式で
      実行せよとのことなのですが、HTMLファイルでのリンクの
      設定が分かりません

      TOP http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26674
      ToiRondom http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26675

Topを実行して、言語問題のボタンをクリックしたら、ToiRondom
が実行されるように、HTMLでリンク設定したいのですが・・・
また、問題を20問解き終わった後は、またTopの画面に戻るように、
リンクを設定したいのです。
HTMLドキュメントを自分なりに作ったのですが、読み込みに失敗してしまいます・・・
どうかよろしくお願いします。
518デフォルトの名無しさん:2006/01/09(月) 15:35:13
>>515
とりあえずRuntime.exec使うようにしてみた
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26734

参考ページ(一番下のサンプルを参考にすると良いかも)
ttp://www.02.246.ne.jp/~torutk/javahow2/exec.html
519デフォルトの名無しさん:2006/01/09(月) 19:20:58
【 課題 】少数つき、数字の桁数チェック
引数: 数値・ 小数点以上の最大桁数・ 小数点以下の最大桁数
戻り値: boolean
【 期限 】1/13
【 Ver  】1.3

引数で渡された数値の桁数が指定された桁数に
合ってるかのチェック関数です。
520デフォルトの名無しさん:2006/01/09(月) 19:49:12
>>519
boolean figureCheck(int n, int z, int d){
if(z <= 0 || d <= 0) return false;
for(int i = 0; i < z; i++){
n /= 10;
}
return (n == 0);
}
521デフォルトの名無しさん:2006/01/09(月) 19:55:57
課題:ポートをスキャンするプログラムを作りなさい。
java PortScan IPadress port
期限:1月11日

お願いします。
522519:2006/01/09(月) 20:05:26
すいません、間違えました。
桁数に有ってるかではなく、
桁数内かでした・・


123.56、3、2 と渡された場合は、true

123.56、2、2 と渡された場合は、
小数点以上が3桁なので1桁多くなりfalseとかです・・

たびたび、申し訳ないです。
523デフォルトの名無しさん:2006/01/09(月) 20:45:10
課題提示用テンプレ】
【 課題 】
自分で自己再帰性のある図形 (フラクタル図形) を考えるか,本などで調べて,そのフラクタル図形を描画するプログラムを書きなさい.
自分で考えた図形の方が評価が高い.
プログラムは再帰で書き,再帰の回数の指定をチョイスで出来るようにすること.
クラス Applet を継承して作ること.
この課題は,再帰とイベント処理の理解度を確認するためのものである
クラスは Problem5,ソースコード名は Problem5.java,HTMLファイルは Problem5.html とすること
【 期限 】提出日 1月14日 
【 Ver.  】1.4.2
【 補足 】丸投げですみません。よろしくお願いします。
こちらのサイトにupして頂けるとあり難いです。
ttp://www.wikiroom.com/java/

524デフォルトの名無しさん:2006/01/09(月) 21:27:59
【 課題 】アプレット上でテキストフィールドにパスワードを入力して
Enterを押して正しかったら画面を切り替えてスケジュールを表示せよ。
もし間違いだった場合は「パスワードが違います。」と表示し、
さらに3回連続で間違えた場合アプレットを強制終了するように設定せよ。
【 期限 】2006年1月13日(金)
【 Ver  】J2SE 1.4.2
【 補足 】スケジュールだけは作れたので、その前後をお願いします。
Swingは使用禁止です。お願いします。
525デフォルトの名無しさん:2006/01/09(月) 22:25:27
無茶ゆーたらいかん
526デフォルトの名無しさん:2006/01/09(月) 22:29:41
>>524
前にも見た気がするよ
527デフォルトの名無しさん:2006/01/09(月) 23:28:33
問題まとめました。課題5と6です。あすまで。
http://page.freett.com/kb100000/m.lzh
メルアドまで送っていただけると本当にありがたいです。
528デフォルトの名無しさん:2006/01/10(火) 02:11:24
>>522
こんなんでおk?

public class Test{
public static void main(String args[]){
System.out.println(checkDecimal(123.56, 3, 2));
System.out.println(checkDecimal(123.56, 2, 2));
}

public static boolean checkDecimal(double d, int m, int n){
// 小数を文字列表現に
String str = Double.toString(d);
// 小数点の位置を取得
int p = str.indexOf('.');
// 整数部分の桁数を取得
int a = p;
// 小数点以下の桁数を取得
int b = str.substring(p + 1).length();

System.out.println(d + "の整数部分は" + a + "桁,小数部分は" + b +"桁.");
return (a <= m && b <= n);

}
}
529デフォルトの名無しさん:2006/01/10(火) 02:16:03
>>521
課題出した奴殴っていいよ
課題としておかしいと言っておけ
530デフォルトの名無しさん:2006/01/10(火) 03:07:04
>>527
RMI はよくしらないが、眠れなくて暇だし、問題が良心的なので、脳内ヒント

(課題5) グループからメンバーを離脱
グループへメンバーを参加させる join メソッドが定義されているので、
対照的にメソッドを書く。 名前は leave くらいかな?
プロトコルの仕様は、Remote インタフェースを継承した Group インタフェースに書かれているので、
ここにメソッドを追加する。さらに、サーバ GroupServer で新しく加えたメソッドの実装を行う。

このままだと、誰が呼び出すのか?という話になるので、
クライアントのメインメソッドを編集して、サーバの新規メソッドを呼び出すようにし、
動作を確認することまでやるのが模範的だろう?

ちょいちょいとメンバーを追加し、ちょいちょいとメンバーを外す。
サーバ側で、その様子が標準出力にでるのを確認。

(続く)
531530:2006/01/10(火) 03:07:43
(続き)

(課題6) グループサーバのメンバーの永続化
親切にも?、メンバを保存・読み取るための write メソッドと read メソッドが
GroupServer クラスに用意されているので、これをそのまま使えばいいのでは?
ただし、誰が呼び出すのかという問題はある。

(方法1)RMI とは関係なく、GroupServerにサンプル的なメインメソッドを新しく作って、
 いくつかメンバーの追加後 read メソッドや write メソッドを呼び出すか、
(方法2)あるいは、RMI 経由でクライアントから呼び出すという方法が考えられる。

この問題を出した人は後者を求めているのかな?
後者の場合は、課題5と同じように、
Group インタフェースを拡張し、read メソッドや write メソッドを追加する。
(この際、RemoteException を投げる宣言が必要と思われ。RMIよくしらないけど。
 実装の方の GroupServer における同メソッドには別に必要ないと思う)

そして、課題5と同様、クライアントのメインメソッドを編集して、
サーバの新規メソッドを呼び出し、動作を確認することまでやる。

ちょいちょいとメンバーを追加し、write メソッドを発行。
read メソッドの動作確認もやるのが模範的だろうが、
読み込んだメンバの確認とか、どうやるんだろうなw

以上、あくまでも暇つぶしの脳内変換なので、動かなくても知らんがなw
532530:2006/01/10(火) 03:11:01
自己レス

>クライアントのメインメソッドを編集して
よく考えたら、別に新しいクライアント用クラス作ればいいんだな。
533530:2006/01/10(火) 03:18:21
そして良く見ると、Member クラスは equals メソッドが定義されているのに、
hashCode が定義してない。
サーバ側で HashSet あたりを用いていたら、OUT だが(何が)、
LinkedList は hashCode は使ってないだろうからギリギリセーフ?(何が)
534476の者です:2006/01/10(火) 15:13:26
>478さん

動作確認できました。
書き込みが遅れてしまって本当に申し訳ありません。
ご丁寧にありがとうございました。
また、機会があれば宜しくお願いします。
535デフォルトの名無しさん:2006/01/10(火) 15:19:44
【 課題 】
身長(m)と体重(kg)を入力しBMI値を表示させなさい。
身長がマイナスの値なら、処理を中止。
プラスなら処理を繰り返すプログラムを作成しなさい。

尚、BMI=体重÷(身長(m)×身長(m))とする

【 Ver  】特になし
【 補足 】途中まで作ってみたのですが、動作確認は出来るものの、
      身長がマイナスの値なら、処理を中止し、
      プラスなら処理を繰り返すというのが、出来ません。
      下に作ったのをのせておきますので、
      宜しくお願いいたします。

import java.io.*;
public class Sample1{
public static void main(String args[]) throws IOException {
double height, weight, bmi;
BufferedReader data = new BufferedReader(new InputStreamReader(System.in));
System.out.println("身長を入力してください>");
height = Double.parseDouble(data.readLine());
System.out.println("体重を入力してください>");
weight = Double.parseDouble(data.readLine());
bmi = weight/(height*height);
System.out.println("あなたのBMIは," + bmi + "です.");
}
}
536デフォルトの名無しさん:2006/01/10(火) 15:29:09
>>535
import java.io.*;
public class Sample1{
public static void main(String args[]) throws IOException {
double height, weight, bmi;
boolean flag = true;
do{
BufferedReader data = new BufferedReader(new InputStreamReader(System.in));
System.out.println("身長を入力してください>");
height = Double.parseDouble(data.readLine());
System.out.println("体重を入力してください>");
weight = Double.parseDouble(data.readLine());

if(height < 0 || weight < 0){
System.out.print("不正な値です.");
flag = false;
}
else{
bmi = weight/(height*height);
System.out.println("あなたのBMIは," + bmi + "です.");
}
}while(flag);
}
}
537デフォルトの名無しさん :2006/01/10(火) 16:16:37
【 課題 】
1対1でチャットができるサーバプログラムをマルチスレッドを用いて
作成しなさい.クライアントプログラムは T0.java とし,
クライアントからの入力コマンドに応じて次のような動作をおこなうこと.
独自の機能を追加してもよい.
その場合,追加機能の内容に応じて基本評価に加点する.
プログラムの説明,およびソースコードと実行結果画面を提出する.

クライアントからの送信文字(一文字コマンド)
q:切断
d:現在日時の送信
f:ファイル(サーバ側:index.html)の内容を送信
g:3秒毎に10回「Hello!」を送信
【 補足 】
下にコマンドされた動作だけでいいのでお願いします。
17:50くらいまで
538デフォルトの名無しさん:2006/01/10(火) 16:38:29
【 課題 】
http://www.crdc.gifu-u.ac.jp/edsoftol/thermograph/html/samo_zyouhou.html
にあるような色と温度の関係はどのようにプログラミングしたらよいでしょうか?
ちなみに最小温度は0℃で最高温度は100℃です。
○RGBの値はどのように変化させたらよいか?
○swicth文以外ではどのような方法があるか?
よろしくお願いします。
539デフォルトの名無しさん:2006/01/10(火) 18:31:09
540デフォルトの名無しさん:2006/01/10(火) 20:06:43
【 課題 】音楽に合わせてボタンを押すことにより、曲のテンポ(速さ)を測定するプログラムを書きなさい
【 期限 】期限は特にないのですがなるべく早い方がいいです。
【 補足 】丸投げですすいません
541デフォルトの名無しさん:2006/01/10(火) 20:53:43
>>530-533
どうも親切にありがとうございます。
知識不足でよくわからないのですが、問5は
public void join(Member m) throws RemoteException {
list.add(m);
System.out.println(m);
System.out.println(list.size());
}
public void leave(Member m) throws RemoteException {
list.remove(m);
System.out.println(m);
System.out.println(list.size());
}
って感じに繋げてGroupClient.javaの最後に
group.join(m);
group.leave(m);
ってやればいいんですかね?
>プロトコルの仕様は、Remote インタフェースを継承した Group インタフェースに書かれているので、ここにメソッドを追加する。
というのがよくわかりません・・。
問6はGroupServer.javaの、list.add(m);とSystem.out.println(m);の間の行にread、
m = (Member)ois.readObject();と}の間にwriteをいれるだけと教わりました。
readとwriteはただ単に、readObject();とwriteObject();って書けばいいんですかね・・。
542デフォルトの名無しさん:2006/01/10(火) 21:55:57
543デフォルトの名無しさん:2006/01/10(火) 22:03:40
>>538
RGBではだめ。まずHSBを理解しる。
ColorクラスにはHSBでのAPIがあるので、色相を変化させれば良い。
544521:2006/01/10(火) 22:07:24
期限が迫っているのでよろしく御願いします。
545デフォルトの名無しさん:2006/01/10(火) 22:47:34
>>538
HSBのサンプル作ってみた。
546デフォルトの名無しさん:2006/01/10(火) 22:48:27
547541:2006/01/10(火) 22:54:07
もしかしてread、writeってこんな風に複雑にやるんですかね。。。
http://tokyo.cool.ne.jp/hharuki/java/51io.html
548デフォルトの名無しさん:2006/01/10(火) 23:19:07
【 課題 】ファイルダイアログを開いて音楽ファイルを選択し再生するプログラム。
      音楽の再生ボタンと停止ボタンを作ること。
【 期限 】1/12までに
【 補足 】 丸投げです。細かい仕様は問いません。
549デフォルトの名無しさん:2006/01/10(火) 23:33:21
550デフォルトの名無しさん:2006/01/10(火) 23:56:21
>>544
ポートスキャンなんてすべきでない
と回答しなさい
551デフォルトの名無しさん:2006/01/11(水) 00:00:34
【 課題 】System.out.print()はprint()関数を呼び出していますが
      そのprint()関数は一体何処で定義されていますか?
      分かりやすく説明しなさい。
【 期限 】明朝
【 補足 】問題の意味が分からないので調べているのですが
      以前分からないままで、間に合いそうにありません
      これからはもっと勉強するつもりですので、今回はどうかお願いします
552551:2006/01/11(水) 00:01:18
日付が変わってしまいました
明朝と言うのは、今日の朝の事です
553デフォルトの名無しさん:2006/01/11(水) 00:22:31
>>552
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/System.html
ここに記述されるフィールド out のよこっちょに記述されてるクラス
554デフォルトの名無しさん:2006/01/11(水) 00:41:14
>>541
プロトコル定義、いまならお得 read, write メソッド付き:
public interface Group extends Remote {

 void join(Member m) throws RemoteException;
 void leave(Member m) throws RemoteException;
 void write() throws RemoteException;
 void read() throws RemoteException;

}


クライアント定義 leave 用:
public class GroupClientToLeave {

(中略) group.leave(m); (後略)


クライアント定義 write 用、及び、read用

(前略) group.write(); (後略) および
(前略) group.read(); (後略)
なお、引数から Member インスタンスの生成はいらない


あとは4種類のクライアントをいろいろ起動して遊ぶ。脳内記述にて保証はしない。

>問6はGroupServer.javaの、list.add(m);とSystem.out.println(m);の間の行にread、
>m = (Member)ois.readObject();と}の間にwriteをいれるだけと教わりました。
わけわかめ
555551:2006/01/11(水) 00:44:19
>>553
有難うございます
でも、意味が理解できないのですが…
556521:2006/01/11(水) 00:45:13
>>550
ポートスキャンは犯罪ではないですよ?
ちゃんとしたセキュリティの授業も兼ねてるんですよ。
御願いします。提出が迫ってますのでm(__)m
557デフォルトの名無しさん:2006/01/11(水) 00:50:51
>>556
だれも犯罪とは言っていない
すべきかどうかを話している

ポートスキャンしないと空きポートがわからないとか言っている
ネットワーク管理者がいたら首にしていいよ
558544:2006/01/11(水) 00:52:34
補足
>あとは4種類のクライアントをいろいろ起動して遊ぶ。

GroupClient クラスのほかに、
GroupClientToLeave, GroupClientToWrite, GroupClientToRead クラスを作って、
それぞれに public static void main(String[]) メソッドを定義する。
サーバを立ち上げたら、
これらの4つのクラスを(必要に応じて引数をつけて)起動することを繰り返すって意味。

なぜか改行が一杯はいっちゃった(これが言いたかった
559デフォルトの名無しさん:2006/01/11(水) 00:53:33
544 じゃなくて 554 だった orz
560デフォルトの名無しさん:2006/01/11(水) 01:05:02
>>555
>そのprint()関数は一体何処で定義されていますか?
Java の標準ライブラリ(という名称でいいのか?)に含まれている
java.io.PrintStream クラスにおいて print() メソッド群が定義されている。

「定義」という言葉の使い方が、
宣言を意味しているのか実装を意味しているのか曖昧だが、
どちらにせよ、PrintStream クラスにて記述されている。
具体的に内容を見たいなら、JDKについてくる src.zip の中身を見てみればよい。

ここでのポイントはおそらく、
>分かりやすく説明しなさい。
だな。これ以上どうやって分かりやすくすればいいのだ orz
そういった意味では、俺も問題の意味がわからん
561デフォルトの名無しさん:2006/01/11(水) 01:07:08
>>555
PrintStreamっていうクラスでprintメソッドが定義されてて、
Systemクラスはoutって名前のPrintStreamクラスのオブジェクトを持ってる
562デフォルトの名無しさん:2006/01/11(水) 01:17:10
>>548
多分できてると思う
どこにupすればいいか分からんかった
ttp://smzk55.hp.infoseek.co.jp/MidiPlayerApp.zip
563デフォルトの名無しさん:2006/01/11(水) 01:31:31
>>521
ひどいソースでちゃんと動いてるのかも分からんけどそれでもよかったら
ttp://smzk55.hp.infoseek.co.jp/PortScan.java
564デフォルトの名無しさん:2006/01/11(水) 01:34:49
>>521
まずはこんな感じだろ
あとは自分でやれ

import java.net.*;
public class PortScan {
public static void main(String[] args) {
if (args.length != 2) usage(); String ip = args[0]; int p = 0;
try { p = Integer.parseInt(args[1]); } catch (Exception ex) { usage(); }
try { Socket s = new Socket(ip, p); System.out.println("Port " + p +" is usable."); s.close(); }
catch (UnknownHostException ex) { usage(); }
catch (ConnectException ex) {}
catch (Exception ex) { ex.printStackTrace(); usage(); }
}
public static void usage() { System.err.println("PortScan <host> <port>"); System.exit(1); }
}
565548:2006/01/11(水) 02:09:09
>>562
ありがとうございます。
ですが、MIDIファイルを再生しようとすると以下のメッセージが出て音が出ません。何故でしょうか・・・・

javax.sound.midi.MidiUnavailableException: MIDI OUT transmitter not available
at com.sun.media.sound.AbstractMidiDevice.createTransmitter(AbstractMidi
Device.java:444)
at com.sun.media.sound.AbstractMidiDevice.getTransmitter(AbstractMidiDev
ice.java:299)
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:451)
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:348)
at MidiPlayer.play(MidiPlayer.java:29)
at MyFrame.run(MyFrame.java:109)
at java.lang.Thread.run(Thread.java:595)
Exception in thread "Thread-3" java.lang.NullPointerException
at MidiPlayer.getMicrosecondLength(MidiPlayer.java:23)
at MyFrame.run(MyFrame.java:117)
at java.lang.Thread.run(Thread.java:595)
566デフォルトの名無しさん:2006/01/11(水) 02:46:36
>>565
Ver1.5で試してみて
1.5でそれだったら、申し訳ないけど分からない
567538:2006/01/11(水) 05:05:41
>>545
ありがとうございます。自分もがんばってみます
568デフォルトの名無しさん:2006/01/11(水) 08:09:31
【 課題 】URL先のブロック崩しをアレンジ
【 期限 】1/12
【 補足 】ブロック崩しのアレンジの課題です。
アレンジ内容は「背景色にグラデーションを付ける、玉のLifeを増やす、ブロックを2回当てないと崩れないように、画面のサイズ変更」の4つをお願いします。
自分では内容がサッパリなので一部だけでもいいので、やってくださる方お願いします・・・orz

http://www.katch.ne.jp/~mh524-1997/java/sample/block/block.html
569568:2006/01/11(水) 10:06:37
現在自分でも試行中ですが本当に切羽詰まっている為
やって下さる方はメールお願いします。
謝礼として少ないですがウェブマネー2000円分を差し上げます。
570デフォルトの名無しさん:2006/01/11(水) 12:25:49
やったよ
571デフォルトの名無しさん:2006/01/11(水) 12:39:39
>>569
謝礼云々って、、、しかも2000円かよw
572568:2006/01/11(水) 13:40:01
>>570
えと、出来たのであればがメールくれませんか?
>>571
すいません、本当に切羽詰まってるんでorz
モノで釣るって感じで大変申し訳ないです。
573548:2006/01/11(水) 15:16:11
>>566
学校のPCではちゃんと再生されました。ありがとうございました。
574デフォルトの名無しさん:2006/01/11(水) 23:23:59
【 課題 】自動販売機を作りなさい。
【 用語 】レポートはすべて英語で表示しないといけませんが日本語でも構いません
【 期限 】1/27
【 Ver  】特になし
【 補足 】丸投げです。英語の授業で出た宿題でよく意味が分からなかったのですが
      どうも自動販売機をプログラミングで作れ。といってるみたいです。
      たとえば実行結果で
      
      お金をいれてください。
      50円が入りました。
      合計50円です。
      100円が入りました。
      合計120円です。
      ENTERを押しました。
      商品を選んでください(コーラ120円、お茶100円)
      コーラを押しました。
      コーラと10円玉3枚出てきました。
      ありがとうございました。

      こんな感じで作ってくれればいいと思います。
      謝礼として上の方と同じく銀行振り込みで千円ほど(
      口座を教えれない場合はウェブマネー)差し上げます。
      できればメール欄にアドレスを入れてるのでこちらにメール
      くれれば幸いです。
575デフォルトの名無しさん:2006/01/12(木) 02:22:26
576デフォルトの名無しさん:2006/01/12(木) 06:39:03
コインメックとのインターフェースは?
577デフォルトの名無しさん:2006/01/12(木) 10:39:21
何か簡単なゲームのソースはありませんか?
578デフォルトの名無しさん:2006/01/12(木) 11:20:26
http://www.crew.sfc.keio.ac.jp/~turkey/pacman2003/dev/level-4.htm
に載っているLevel4_4のソースをソケット通信を利用して
サーバとクライアント?で動かしたいんですが…よくわかりません
サーバとクライアントのソースを作ってもらえるとうれしです。
579デフォルトの名無しさん:2006/01/12(木) 11:25:38
>>578
パックマンをネット対応にする意味がよくわかりません
580デフォルトの名無しさん:2006/01/12(木) 11:27:13
おれ、オバケ1やりたい!!
という人が出てくるんじゃ?w
581578:2006/01/12(木) 11:32:22
>>579
そうゆう宿題がでちゃったんですよ。
あくまでもパックマンではないのですが似たようなものをネット対応で動かすように作ってこいということなんです。
582535です。:2006/01/12(木) 12:17:48
>536さん
書き込みが遅くなってしまって申し訳ありません。
無事動きました。ありがとうございました。
また、何かありましたら宜しくお願いします。
583デフォルトの名無しさん:2006/01/12(木) 12:27:15
【 課題 】
身長(m)と体重(kg)を入力しBMI値と判定結果を表示する。
身長がマイナスの値なら、処理を中止し、
プラスなら処理を繰り返すプログラムを作成しなさい。

BMI値         判定
17.5未満       やせ
17.5以上24未満    普通
24以上30未満     肥満
30以上        高度肥満

【 Ver  】特になし
【 補足 】途中まで作ってみたのですが、
計算をすると、なぜかやせ型とでてきます。
  下に途中までのをのせておきますので、
  宜しくお願いします。
584デフォルトの名無しさん:2006/01/12(木) 12:29:13
>583の補足の続き1
import java.io.*;
public class Sample10{
public static void main(String args[]) throws IOException {
double height, weight, bmi;
boolean flag = true;
do{
BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
System.out.println("身長を入力してください>");
height = Double.parseDouble(d.readLine());
if(height < 0){
System.out.print("身長が不正の値のため、判断できません。");
flag = false;
}
else{
System.out.println("体重を入力してください>");
weight = Double.parseDouble(d.readLine());
bmi = weight/(height*height);
}
585デフォルトの名無しさん:2006/01/12(木) 12:29:50
>584の続き

}while(flag);
if((bmi > 17.5)){
System.out.println("あなたのBMIは," + bmi + "です。やせ型ですねw");
}
else if((bmi <17.5) && (bmi > 24)){
System.out.println("あなたのBMIは," + bmi + "です。標準体型ですね。");
}
else if((bmi <24) && (bmi > 30)){
System.out.println("あなたのBMIは," + bmi + "です。肥満型ですね。");
}
else{
System.out.println("あなたのBMIは," + bmi + "です。高度肥満ですね。");
}
}
}

宜しくお願いします。
586デフォルトの名無しさん:2006/01/12(木) 12:39:13
身長をcmで入力したんじゃないの?w
587デフォルトの名無しさん:2006/01/12(木) 12:40:01
3m以上の身長入力したら、「そういう人はいません」というコメント発するようにしたら?
588デフォルトの名無しさん:2006/01/12(木) 12:42:06
>586さん、587さん

いえ、身長はメートルで入れています。
どんな値を入れても、BMIは○○です。やせ型ですねwってでてくるんです。
うまく機能していないので、どこかおかしいところがあるのかなぁと、
思って質問してみました。
589デフォルトの名無しさん:2006/01/12(木) 13:04:51
bmi算出式?はわからんが、
if文の前に無条件にbmiをprintしてみればどこが悪いかわかるでしょ。
590デフォルトの名無しさん:2006/01/12(木) 14:41:54
>>583
if (bmi < 17.5) {...}
else if (bmi < 24) {...}
else if (bmi < 30) {...}
else {...}

>>586-589
ネタだよな?
591デフォルトの名無しさん:2006/01/12(木) 16:47:42
ワロタwww
いきなり判定式で17.5より大きい人判定すんなよw
592デフォルトの名無しさん:2006/01/12(木) 19:49:03
593デフォルトの名無しさん:2006/01/12(木) 22:04:03
>575
気になるところがあったので直した。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26807

謝礼は荒れそうなのでやめないか。
594デフォルトの名無しさん:2006/01/13(金) 12:37:47
Javaスレで質問したんですけど宿題スレに池といわれた
のでこちらで質問させていただきます。

学校の課題でタイピングを製作することとなり私の仕事
として入力部分で画面に表示されている、したらその文字を変換する処理を任せられ
たのですが、どうもいまいち入力文字との比較処理
等が分からず、一回プロトタイプとして作ってみたい
とは思っているのですが・・・
595デフォルトの名無しさん:2006/01/13(金) 15:44:49
【 課題 】http://www.math.meiji.ac.jp/~mk/labo/java/vortex.java
・ここにあるソースファイルをコンパイルして実行できるようにしたい。
 WinのCPad for javaで実行しようとしたけどできませんでした。
・さまざまなNに対して数値的に求めてその数値を出力したい。

【 用語 】渦運動
【 期限 】1月14日
【 Ver  】
【 補足 】http://www.math.meiji.ac.jp/~mk/labo/java/uzu.html
596595:2006/01/13(金) 16:08:39
実行にはjavaアプレットで実行したいです。
597595:2006/01/13(金) 16:28:03
課題内容を補足すると・・・
渦運動を視覚的に表示する機能はいらないので(あればより良いのですが)このソースを利用して渦運動の様子を数値的に出すようにしたいです。
渦群(N個)の数値を入力してそのときの運動を数値的に出力する課題です。

598デフォルトの名無しさん:2006/01/13(金) 18:02:38
【 課題 】以下のURLのJAVAを外部js形式に変換せよ。
       http://www16.big.or.jp/~ogura1/java_scr/star_bg.html
      なおCGI内HPで動作するものとする。

【 期限 】1/14 15:30
599デフォルトの名無しさん:2006/01/13(金) 18:03:42
最近回答率が悪くて申し訳ない。
去年はほとんど回答が返ってきたのだけど。。。
600デフォルトの名無しさん:2006/01/13(金) 18:50:23
【 課題 】
引数として与えられたdouble型の配列の中からk番目に小さい値を見つけ出す
serchメソッドを作成したい。以下の仕様を満たすこと。

・serchメソッドはDoubleSerchクラス内のstaticメソッドとして定義する。
・serchメソッドの引数はdouble型配列dataとint型k
・返す値が存在しない場合はDouble.NaNを返す
・配列中のデータの順番は変更しても構わない
・計算量はO(logN)

またアルゴリズムについての説明と計算量がO(logN)であることも示す。
601デフォルトの名無しさん:2006/01/13(金) 19:30:53
>>598
JavaScriptはスレ違いだよ。
602デフォルトの名無しさん:2006/01/13(金) 20:25:53
>>600

DoubleSerch.java
http://sourcepost.sytes.net/sourcepost/sourcedownload.aspx?source_id=26826

テスト用のクラス
http://sourcepost.sytes.net/sourcepost/sourcedownload.aspx?source_id=26827
問題の意味がよくわからん。
O(logN)って二分探索の計算量だけど、この問題は二分探索使う必要ないような気が。
(たとえば「doubleの配列dataと、double数値vを引数にとり、dataの要素のうちvと等しい数or最もvに近い数を返す関数を作成せよ」とかだったら納得がいく。)
上で使ってるクイックソートの計算量はO(N(logN))
#serch は searchが正しいような気がするが、そのままにしておいた。
603600:2006/01/13(金) 20:40:13
>>602
ありがとうございます。serchはタイプミスです申し訳ありません。
私もその方法で一度提出しましたが配列を先にソートした場合ソートの計算量も
メソッドに含まれるため仕様を満たせないといわれました。
その後、二分探索木を使おうと考えましたがそれも計算量がO(N logN)となり駄目でした。
604デフォルトの名無しさん:2006/01/13(金) 20:45:39
>>603
>私もその方法で一度提出しましたが配列を先にソートした場合ソートの計算量も
>メソッドに含まれるため仕様を満たせないといわれました。

先にそれを言ってくれorz

605デフォルトの名無しさん:2006/01/13(金) 23:38:46
【 課題 】オセロ(リバーシ)のアルゴリズムを遺伝的アルゴリズムで強化せよ。
【 用語 】遺伝的アルゴリズム:
http://ja.wikipedia.org/wiki/%E9%81%BA%E4%BC%9D%E7%9A%84%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0
【 期限 】1月16日
【 Ver  】eclipse3.1
【 補足 】http://javagame.main.jp/othello/othello10.htmlにあるアプリケーションの盤面評価方法を遺伝的アルゴリズムで優れたものにすることを勧められた

是非お願いします。
606デフォルトの名無しさん:2006/01/14(土) 00:39:12
>>599
みんな自分の卒論が忙しいんじゃね?
607デフォルトの名無しさん:2006/01/14(土) 01:55:25
こんな勉強やっててどんな職業につくの?
収入よいの?
608デフォルトの名無しさん:2006/01/14(土) 01:58:18
>>600
k回ヒープを構築するんじゃダメ?
609デフォルトの名無しさん:2006/01/14(土) 02:33:02
>>607
殺人的な残業と低賃金のPG&SE業がアナタを手ぐすね引いて待っている
610600:2006/01/14(土) 10:24:14
>>608
詳しく教えてもらえませんか?
ヒープは未習なので調べてみましたがNlogNになってしまうような気がしました。
611デフォルトの名無しさん:2006/01/14(土) 14:33:28
なんで配列なん?
612デフォルトの名無しさん:2006/01/14(土) 14:45:04
>>603
はて?二分探索法の計算量はO(log2n)だけど?
613デフォルトの名無しさん:2006/01/14(土) 14:48:50
二分探索法と二分探索木は違う訳だが
614デフォルトの名無しさん:2006/01/14(土) 16:32:10
配列の中身の順序はばらばらなのだろうか。
中身が分からなければ k 番目なんて分からないだろうに、
中身をチェックするだけで O(N) になってしまわない?
とんちかなにかかな
615デフォルトの名無しさん:2006/01/14(土) 17:07:00
っつーかばらばらじゃないとしたら既に並んでるって事だろ
その場合k番目はO(1)で分かってしまう
616デフォルトの名無しさん:2006/01/14(土) 18:06:55
【 課題 】Java時計+付加機能
【 期限 】06/01/17
【 Ver  】j2sdk1.4.2
【 補足 】
ソース:http://www.geocities.jp/fezz45/Clock.txt
素材一式:http://ranobe.sakuratan.com/up/src/up81963.zip
・背景の設定(差し替え)
・ボタン選択によって、右時計の表示時間変更
・日本との時差を表示
・アラームを鳴らす(時報とタイマー)

初心者で多少問題を解消して作成してたのですが諸事情で、
上の機能を実装する前に作成時間が無くなってしまいました。
機能の詳細は、zipに纏めてうpしました。
617デフォルトの名無しさん:2006/01/14(土) 18:07:58
何卒お願いします。
618デフォルトの名無しさん:2006/01/14(土) 18:26:01
>>600
O(logN)って異様に計算量が少ないけど、この部分ほんとにあってるのか?
619デフォルトの名無しさん:2006/01/14(土) 18:27:26
できたよ
620デフォルトの名無しさん:2006/01/14(土) 18:36:31
できたのなら教えてくれ寝れなくなるから
621600:2006/01/14(土) 19:33:16
>>614
>中身をチェックするだけで O(N) になってしまわない?
私もそう思います。

>>615
配列の中身はランダムです。

>>618
あっています。

>>619
是非アルゴリズムだけでもいいので教えてください。
622デフォルトの名無しさん:2006/01/14(土) 19:38:36
【 課題 】 証券会社の管理システム
【 期限 】06/01/20
【 Ver  】j2sdk1.5
【 補足 】
顧客からユーザーID、パスワード、取引形態、金額を入力してもらい処理を行なう。
顧客が行なえる操作は買い、売り、余力確認の3つ。
毎回取引時にユーザーID、パスワード、余力情報をファイルに吐き出し保存。また次回起動時にファイルを読み込み対応したID、パスの余力情報を表示
さらに今までの取引履歴を毎回ファイルとして出力する。
なお初回時の余力は100万とする。

例えば
余力100万→買い30万→余力70万→売り25万→余力95万のような感じです。
↑      ↑  
初期値   ユーザ入力

例外として余力マイナスは認められないのでエラーメッセージ表示。
そのほかおかしな値を入力されたものも全てエラー表示でお願いします。

ファイル入出力のへんが全くわからないのでどなたか教えてください。
623622:2006/01/14(土) 19:41:47
あとID、パスが異なる場合もエラー通知をお願いします
624デフォルトの名無しさん:2006/01/14(土) 21:36:45
【 課題 】引数として未ソートdouble型の配列(array)と
int型の値(k)が与えられたとき、
配列arrayの中でk番目に小さい値を返すメソッドを作成せよ。
・k番目に小さい値が存在しない場合はDouble.NaNを返す。
・配列中のデータの順番は変更してもよい。
・このメソッドの計算量はO(logN)とし、(Nは配列の長さ)
計算量がO(logN)であることを示せ。
・配列を先にソートした場合、ソートの計算量もメソッドに含まれるので、仕様を満たせない。
【 用語 】Double.NaN : double型の非数
【 期限 】提出期限 : 1/17
【 Ver  】なし
【 補足 】バイナリツリーに配列中の要素を順番に放り込んで、
間順走査して目的の値を見つけようと考えましたが、
これでは計算量がオーバーしているようです。
何か良い方法があればいいんですけれど…
625デフォルトの名無しさん:2006/01/14(土) 21:51:50
>>624>>600
立命?
626デフォルトの名無しさん:2006/01/14(土) 22:05:11
627624:2006/01/14(土) 22:10:27
>>600
世間は広いようで狭い、とはこのことですか…
僅か数レス先も調べられないとは…
スレ汚しすまん

やはりうまく行きそうなアルゴリズムは思いつきませんね
628デフォルトの名無しさん:2006/01/14(土) 22:20:28
つか、アルゴリズムとかなら数学スレ(板?)の方がいんじゃね?
ここJavaスレだし。
629デフォルトの名無しさん:2006/01/14(土) 22:28:42
大きさ N のヒープ構造にデータを追加する、あるいは最小のデータを取り出す作業には、log(N) の時間を要します。
K番目に小さいデータを取り出す作業には,log(N) + log(N-1) + … + log(N - K + 1)の時間を要します。
log(N) + log(N-1) + … + log(N - K + 1) ≦ K * log(N)
Kは定数なのでオーダーはO(log(N))ということになります。
630デフォルトの名無しさん:2006/01/14(土) 22:42:44
>>629
ヒープに追加する計算量がメソッドに含まれるので仕様を満たせない
631デフォルトの名無しさん:2006/01/14(土) 22:58:04
ていうかここに出てる計算量以下でやることできるのか
>>600
回答が出たらスレにフィードバックしてくれよ
632デフォルトの名無しさん:2006/01/15(日) 01:26:56
>622-623
確認です。
GUIじゃなくてコンソールアプリでいいですか?
ユーザIDとパスワードの管理のしかたについての仕様の指示はありますか?
(ファイルで管理する、ソース直書きでいい、とか)
買いのときは余力を引き算して、売りのときは余力を足し算すればいいんですか?
633622:2006/01/15(日) 02:13:11
GUIじゃなくてコマンドプロンプトで起動させるやつでOKです!
IDとパスの管理はファイルでお願いします!
買いのときは余力を引き算して、売りのときは余力を足し算でOKです!
どうかよろしくお願いします。


634デフォルトの名無しさん:2006/01/15(日) 03:09:06
>>630
追加の作業がo(LogN)で、取り出す作業もo(LogN)なら、
Oはo*2にしてしまえば良いではないか

あれ、ちがう?
635デフォルトの名無しさん:2006/01/15(日) 03:14:02
あ、ソートには追加の作業を繰り返さなきゃいけないから、だめだな。
失敬した
636ラムネ:2006/01/15(日) 11:19:32
【 課題 】
  要素数が6つの配列を用意し、それぞれに任意の整数を
  入力する。その中の最小値、最大値を探索し表示する。
【 用語 】

【 期限 】提出期限 : 1/17
【 Ver  】なし
【 補足 】擬似言語
最大値6つの配列定義
最大値←Integer.MIN_VALE
最小値←Integer.MAX_VALE
■i=0;i<要素数;I++
配列[i]←入力された値

■i=0;i<要素数;I++
△配列[i]>最大値
 ・最大値←配列[i]

 △配列[i]<最小値
 ・最小値←配列[i]


・最大値と最小値の表示

JAVAの書き方があんまりわからなくて・・よろしくお願いします。


637デフォルトの名無しさん:2006/01/15(日) 11:28:20
>636
任意の整数の入力方法はなんですか?
コマンドライン引数?System.inでその都度入力させる?
638デフォルトの名無しさん:2006/01/15(日) 12:08:04
ttp://www.ie.reitaku-u.ac.jp/~tak/sinfII/sinfB04.txt

ここのグラフパネルにグラフを書くのってどうすればいいんでしょうか?
639デフォルトの名無しさん:2006/01/15(日) 13:12:23
>636
System.inでその都度入力ならこれね。

import java.io.*;
public class T54_636 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
int[] element = new int[6];
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
for(int i = 0; i < 6; i++){
System.out.print("数値を入力してください:");
element[i] = Integer.parseInt(buf.readLine());
}
for(int i = 0; i < 6; i++){
if(element[i] > max)
max = element[i];
if(element[i] < min)
min = element[i];
}
System.out.println("最大値は" + max);
System.out.println("最小値は" + min);
}
}
640ラムネ:2006/01/15(日) 13:18:43
ありがとうございます。
返事遅れてすいません・・・
指定がないので、どちらでもいいとおもいます。
641ラムネ:2006/01/15(日) 13:25:38
あと2問ほどあるんですがいいですか?
642255:2006/01/15(日) 14:19:12
宿題ではないのですが、JAVA相談スレでこちらを指定されたので、すみません。。

質問です!!
現在JAVAで、4つの数字を四則演算を使い10にするゲームを作っています。
4つの数字をランダムメソッドで生成して、その4つの数字が10になるかを確かめて、10になる数字であれば、rabelに貼り付け、四則演算+−×÷記号はチョイスで選択する形にしました。
しかし、イベント処理で答え合わせの際、チョイスで選んだ四則演算が、答え合わせの式に使えません;_; 
この問題で行き詰っています。
どなたか、良いアイディアをいただけないでしょうか??
また、参考になるプログラム等ありましたら、教えてください!!
ご教授お願い致します。
643632:2006/01/15(日) 14:20:03
>622
ttp://www.wikiroom.com/java/index.php?SourcePost__#b21645dd
置いときます。
>さらに今までの取引履歴を毎回ファイルとして出力する。
今のところこれやってません。
気が向いたらやるかもしれません。
644デフォルトの名無しさん:2006/01/15(日) 14:49:13
>>642
×rabel
○label
英語の勉強もしましょう。
645デフォルトの名無しさん:2006/01/15(日) 15:01:50
【 課題 】
サイズが横ドット250、縦ドット100であり、タイトルが「アダプタークラスの利用例」のフレームを
表示するプログラムProblemAdapter.javaを作成せよ。
ただし、マウスがフレームの内側に入るとフレームタイトルを「マウスがフレーム内に入りました」と変更すること。
また、フレームの右上のクローズボタン”×”でプログラムを終了すること。
【 期限 】1月16日
【 Ver  】無いです
【 補足 】
簡単な課題だそうですが作成できませんでした…。[;´д`]
どなたか宜しくお願いします。
646デフォルトの名無しさん:2006/01/15(日) 15:34:26
>>645
「フレーム」がJFrame なら、これで。

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

public class ProblemAdapter {
private static JFrame frame;
public static void main(String[] args) {
frame = new JFrame();
frame.setTitle("アダプタークラスの利用例");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(250, 100);
frame.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
frame.setTitle("マウスがフレーム内に入りました");
}
});
frame.setVisible(true);
}
}
647デフォルトの名無しさん:2006/01/15(日) 15:46:56
>>645
「フレーム」が Frame なら、これで。

import java.awt.Frame;
import java.awt.event.*;
public class ProblemAdapter {
private static Frame frame;
public static void main(String[] args) {
frame = new Frame();
frame.setSize(250, 100);
frame.setTitle("アダプタークラスの利用例");
frame.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
frame.setTitle("マウスがフレーム内に入りました");
}
});
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setVisible(true);
}
}
648デフォルトの名無しさん:2006/01/15(日) 15:54:39
>>646
即レス感謝です!
テキストと照らし合わせて勉強してみます
ありがとう
649デフォルトの名無しさん:2006/01/15(日) 15:56:18
>>642
行き詰まってるというんなら途中まで自分で作ってんだろ?
だったらそのソースを貼れ。
650ラムネ:2006/01/15(日) 16:33:08
 課題 】 6つの任意の配列を用意する。(入力によって)
      それを、昇順、降順にならびかえて、それぞれ出力する。
【 期限 】1月17日
【 Ver  】特になし
【 補足 】 なし
System.inでOKです。
651デフォルトの名無しさん:2006/01/15(日) 19:50:50
>>650
配列を6つ用意するのか要素数が6の配列を用意するのか
652デフォルトの名無しさん:2006/01/15(日) 22:08:42
【課題】
誕生日を入力するとランダムで大吉、吉、凶と表示するプログラムをお願いします
【期限】1月17日

ttp://www.comp.metro-u.ac.jp/%7Etake/II/IIkadai.html

本当に簡単なものでいいのでお願いします。
653デフォルトの名無しさん:2006/01/15(日) 22:39:35
え・・ランダムなのに誕生日要求するのか?
654デフォルトの名無しさん:2006/01/15(日) 23:16:51
>652 エラー処理は手抜きなので適宜修正ること。

import java.util.*;
import java.text.*;
import java.io.*;

public class Saitama {
 private static final String results[] = new String[]{ "大凶", "凶", "吉", "中吉", "大吉" };

 public static void main( final String args[] ) throws Exception {
  System.out.println( "誕生年月日いれろやゴルァ " );
  final String birthday = new BufferedReader( new InputStreamReader( System.in )).readLine( );
  final Date d = DateFormat.getDateInstance( ).parse( birthday );
  final Calendar cal = Calendar.getInstance( );
  cal.setTime( d );

  final Random randomizer = new Random( cal.get( Calendar.SECOND ));
  System.out.print( "てめぇの運勢は" );
  System.out.print( results[ randomizer.nextInt( results.length )]);
  System.out.println( "だ" );
 }
}
655デフォルトの名無しさん:2006/01/15(日) 23:58:07
【課題】
tomcatが入っていて重いですが。課題2の(2)のサーブレットの問題をお願いします。
【期限】1月17日

http://big.freett.com/kb100000/web.lzh
656622:2006/01/16(月) 02:24:49
>>643
回答ありがとうございます!!
こんなに短期間でやってもらって本当に助かります。本当にありがとう!
取引履歴をファイル出力するというところについてですが、643氏に書いてもらったソースを参考に自分でも頑張ってみたいと思います!
俺の宿題なのに643氏の貴重な時間を割いてもらって大変申し訳ない&本当に助かりました
ありがとう
657 ◆wOb0EU3GSI :2006/01/16(月) 04:51:24
>>655
// GreetingServlet.java
package net.2ch.pc8.665;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class GreetingServlet extends HttpServlet {
public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("Shift_JIS");
response.setContentType("text/html;charset=Shift_JIS");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>こんにちは!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>ようこそ<h1>");
out.println("こんにちは「" + request.getParameter("name") + "」さん");
out.println("<a href=\"/www/greeting.html\">戻る</a>");
out.println("</body>");
out.println("</html>");
out.close();
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
658 ◆wOb0EU3GSI :2006/01/16(月) 04:52:52
>>655 (>>675のつづき)
<!-- greeting.html -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>入力画面</title>
</head>
<body>
<h1>入力のページ</h1>
名前を入力して「送信」ボタンを押してください
<form action="/www/GreetingServlet" method="post">
<input type="text" name="name" />
<input type="submit" value="送信">
</form>
</body>
</html>
659 ◆wOb0EU3GSI :2006/01/16(月) 04:56:43
>>655 (>>657-658のつづき)
<!-- web.xml -->
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>GreetingServlet</servlet-name>
<servlet-class>net.2ch.pc8.665.GreetingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GreetingServlet</servlet-name>
<url-pattern>/GreetingServlet</url-pattern>
</servlet-mapping>
</web-app>

パッケージ名のところで655と665を間違えたw
htmlを見ればわかるけど配備先はwwwにしてあるので適当に直してくれ。
660デフォルトの名無しさん:2006/01/16(月) 10:36:26
>>653
なんか入力するようにしろといわれたんで…別に誕生日でなくてもいいんですけども

>>654
ありがとうございます!
661デフォルトの名無しさん:2006/01/16(月) 13:29:34
問45:Stringオブジェクトstr1とstr2の文字列を比較する場合、正しいものはどれか。

a. str1 == str2

b. str1.equals(str2)

c. str1 = str2

d. equals(str1, str2)
662デフォルトの名無しさん:2006/01/16(月) 15:32:32
"ActionEvent e"と"ActionEvent ae"


この違いがよくわかりません
そもそもeとはなんなんでしょうか?
663デフォルトの名無しさん:2006/01/16(月) 15:41:20
>>662
そのeとかaeってのはただの変数名だよ
int a;
int ae;
とかと同じ。別になんでもいい。
てか、スレ違い
664ラムネ:2006/01/16(月) 17:45:04
課題 】 6つの任意の配列を用意する。(入力によって)
      それを、昇順、降順にならびかえて、それぞれ出力する。
【 期限 】1月17日
【 Ver  】特になし
【 補足 】 なし
System.inでOKです。
返事おくれました、すいません
要素数が6の配列でおねがいします。
665デフォルトの名無しさん:2006/01/16(月) 17:59:40
課題 】 2次元配列を用意する。(初期化)
     国語  数学  歴史   英語
 瀬戸先生 86  76  81  98
 小川先生 96  87  100 83
 桂田先生 83  99  92  77
 3人の先生の合計点と平均点を求め、両方を表示する。(平均点は浮動小数点形式)
 (ヒント 合計点と平均点を格納する配列がそれぞれ必要である)
【 期限 】1月17日
【 Ver  】特になし
【 補足 】

よろしくお願いします。
666デフォルトの名無しさん:2006/01/16(月) 18:08:30
>>664
import java.io.*;
class J2ch02{
public static void main(String arg[])throws IOException{
int num1[],num2[];
num1 = new int[6];num2 = new int[6];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("6つの数値入力");
for(int i=0;i<6;i++){
String str = br.readLine();
num1[i] = Integer.parseInt(str);num2[i] = Integer.parseInt(str);
}
for(int i=0;i<5;i++)
for(int j=0;j<5-i;j++){
if(num1[j]>num1[j+1]){
int a = num1[j];
num1[j] = num1[j+1];
num1[j+1] = a;
}
if(num2[j]<num2[j+1]){
int a = num2[j];
num2[j] = num2[j+1];
num2[j+1] = a;
}
}
System.out.println("昇順");
for(int i=0;i<6;i++)System.out.print(num1[i]+" ");
System.out.println("\n降順");
for(int i=0;i<6;i++)System.out.print(num2[i]+" ");
}
}
667デフォルトの名無しさん:2006/01/16(月) 18:11:05
>>664
こんなんでいいか?

import java.io.*;
public class Sort {
public static void main(String[] args) throws IOException{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
int[] sort=new int[6];
for(int i=0; i<sort.length; i++){
System.out.print("数値入力["+(i+1)+"]:");
sort[i] = Integer.parseInt(buf.readLine());
}
// 昇順
for(int i=0; i<sort.length; i++){
for(int j=i+1; j<sort.length; j++){
if(sort[i]>sort[j]){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}
}
}
for(int i=0; i<sort.length; i++){
System.out.print(sort[i]+", ");
}
System.out.println();
668デフォルトの名無しさん:2006/01/16(月) 18:14:29
>>664
こんなんでいいか?(改行多いとか言われたから中括弧まとめた)

import java.io.*;
public class Sort {
public static void main(String[] args) throws IOException{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
int[] sort=new int[6];
for(int i=0; i<sort.length; i++){
System.out.print("数値入力["+(i+1)+"]:");
sort[i] = Integer.parseInt(buf.readLine());
}
// 昇順
for(int i=0; i<sort.length; i++){
for(int j=i+1; j<sort.length; j++){
if(sort[i]>sort[j]){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}}}
for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", ");
}
System.out.println();
// 降順
for(int i=0, j=sort.length-1; i<sort.length/2; i++,j--){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}
for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", ");
}}}
669デフォルトの名無しさん:2006/01/16(月) 18:16:50
// 降順
for(int i=0, j=sort.length-1; i<sort.length/2; i++,j--){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}
for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", ");
}
}
}
670デフォルトの名無しさん:2006/01/16(月) 18:20:19
>>665
class example{
public static void main(String args[]){
int score[][] = {{86,76,81,98},{96,87,100,83},{83,99,92,77}};
int kei[] = {0,0,0};
double heikin[] = {0.0,0.0,0.0};
for(int i=0;i<3;i++){
for(int j=0;j<4;j++)
kei[i] += score[i][j];
heikin[i] = (double)kei[i]/4.0;
}
for(int i=0;i<3;i++)
System.out.println(kei[i]+" "+heikin[i]);
}
}
671デフォルトの名無しさん:2006/01/16(月) 18:18:41
同じもの連投すまん。>>668の方で。
672デフォルトの名無しさん:2006/01/16(月) 18:39:13
>>665
class Two_ch {
public static void main(String args[]) {
int score[][] = { { 86, 76, 81, 98 },
{ 96, 87, 100, 83 },
{ 83, 99, 92, 77 } };
int sum[] = new int[3];
double ave[] = new double[3];
for (int i=0; i<score.length; i++) {
for (int j=0; j<score[i].length; j++){
sum[i] += score[i][j];
}
ave[i] = sum[i]/4.0;
}
for (int i = 0; i < 3; i++){
switch(i){
case 0:
System.out.print("瀬戸先生 ");
break;
case 1:
System.out.print("小川先生 ");
break;
case 2:
System.out.print("桂田先生 ");
break;
default:
}
System.out.println("合計:"+sum[i] + "点 / 平均:" + ave[i]+"点");
}
}
}
673デフォルトの名無しさん:2006/01/16(月) 20:19:42
668 さん
ありがとうございます〜。
674デフォルトの名無しさん:2006/01/16(月) 20:42:01
672
ありがとうございます^^。
675デフォルトの名無しさん :2006/01/16(月) 20:56:38
【 課題 】逆ポーランド記法で表現された数式を計算するプログラムを作成したい。
      
      数式の処理にはスタックを使用し、スタックの実装は連結リストを使う。
      使う演算子は + - * / の4つとする。
      数値、演算子は空白で区切られているものとする。
      プロンプトを表示しキーの入力を受け付け、1つの数式を1行で入力する。
      数式が間違っている時はエラーを表示し、計算途中の結果を破棄した上でプロンプトを表示してキー入力状態に戻す。
      プロンプトで”exit”と入力したらプログラムを終了する。

【 期限 】1/19
【 Ver  】特になし
【 補足 】実行例は下記のような感じだそうです。

入力:22 3 * 8 3 + / 3.2 +
計算結果:9.2
入力:5 / 7
数値が足りません。再入力してください。
入力:10 b +
間違ったデータが入力されました。再入力してください。
入力:4 12 ++
間違ったデータが入力されました。再入力してください。
入力:exit


どなたか宜しくお願いします。
676662:2006/01/16(月) 21:01:20
>>663
ありがとうございます
677655:2006/01/16(月) 21:35:19
>>657-659
ありがとうございます
678デフォルトの名無しさん:2006/01/16(月) 23:08:35
679632:2006/01/16(月) 23:12:34
>622
やってなかった
>さらに今までの取引履歴を毎回ファイルとして出力する。
をやって、wikiのページを更新しました。
680675:2006/01/16(月) 23:29:43
>>678
感謝します。助かりました。
本当に有難う御座いました。
681デフォルトの名無しさん:2006/01/16(月) 23:51:10
【 課題 】簡単なBlackJackアプレット作成
【 用語 】BlackJackはトランプのやつです。
【 期限 】18、19までにお願いします。
【 補足 】2人対戦でお願いします。
      カードのイラストは無しでも有りでもかまいません。
      どの柄のいくつの数字か分かれば結構です。
682デフォルトの名無しさん :2006/01/17(火) 00:47:55
683682:2006/01/17(火) 00:51:41
アドレスだけ書いちゃった。
681のブラックジャックのソースの載ってるページです
684デフォルトの名無しさん:2006/01/17(火) 00:56:28
この規模のプログラム丸投げで書けって依頼も酷くないか・・
685デフォルトの名無しさん :2006/01/17(火) 01:34:01
まあ丸投げが基本ルールだし
それ以前にブラックジャックとかなら
検索すれば引っかかりそうなものだが
686デフォルトの名無しさん:2006/01/17(火) 04:14:10
お願いします。

【課題】
ユニフィケーション(単一化)アルゴリズムを実装し,
本例を参考にして独自の簡単な問合せシステムを実現せよ.
例えば,知識として,次のような述語が与えられたとする.

is(dog, mammal), is(cat, mammal), is(mouse, mammal),
is(lizard, reptilian), is(snake, reptilian)
is(bird, mammal), is(chicken, bird) , is(X,Y) AND is(Y,Z)
が与えられたとする.

このとき,次の問合せ is(dog, mammal) には true を返し,
is(lizard, mammal) には false を返す.
問合せ is(chicken, bird) と is(chicken, mammal) に対しては,
共に true を返す.また,問合せ is(X, mammal) (Xは変数)に対して,
dog, cat mouse を列挙する.
さらに,問合せ is(mammal, X) により種類を答える.
例えば,問合せ is(dog, X) に対して,mammal と返す.

十分な知識が事前に与えられていない場合、知識の追加・削除をする機能を実装せよ。

以上の機能を満たすアプレットとアプリケーションを実装せよ.

【ver.】1.4.2
【期限】1月18日
【補足】丸投げですがよろしくお願いします。
687デフォルトの名無しさん:2006/01/17(火) 04:19:30
意味不明
688デフォルトの名無しさん:2006/01/17(火) 04:42:51
>>681
悪いことは言わない
遊んでないで授業ページを理解することを進めるベキだ
689デフォルトの名無しさん:2006/01/17(火) 05:07:22
>>686
birdってmammalなのか?
690デフォルトの名無しさん:2006/01/17(火) 05:58:47
>>686

> また,問合せ is(X, mammal) (Xは変数)に対して,dog, cat mouse を列挙する.

ん? birdは含めないのか?
691デフォルトの名無しさん:2006/01/17(火) 06:04:53
>>686
あと
> is(X,Y) AND is(Y,Z)
って is(X,Y) AND is(Y,X) の間違いじゃないのか。
692デフォルトの名無しさん:2006/01/17(火) 07:20:09
>>686
『Javaによる知能プログラミング入門』の第三章にあるRuleBaseSystemでいいんじゃね?
尼っ ttp://www.amazon.co.jp/exec/obidos/ASIN/4339023876/
693デフォルトの名無しさん:2006/01/17(火) 12:48:47
>>654
コンパイルしてエラーはなかったんですが、なぜか読み込んでくれません。。。

Warning: Temporarily overwriting system property at user's request: key: http.proxyPort old value: 80 new value: 8080
Warning: Temporarily overwriting system property at user's request: key: http.proxyHost old value: new value: pine
java.lang.ClassCastException
at sun.applet.AppletPanel.createApplet(AppletPanel.java:619)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:548)
at sun.applet.AppletPanel.run(AppletPanel.java:299)
at java.lang.Thread.run(Thread.java:552)

とかでてきます
694デフォルトの名無しさん:2006/01/17(火) 12:59:14
import の部分はあれでいいんでしょうか?
695デフォルトの名無しさん:2006/01/17(火) 13:26:17
【 課題 】
任意の文字列を読み込んで、中央の文字を堺に、その前後を入れ替えるプログラムを作成せよ。
文字列の最大長さは255文字とせよ。もし、文字列の長さが奇数の場合は、中央の文字は、移動させずにそのままとすること。
入力した文字の長さが、最初に偶数か奇数か判断すると良い。
【 期限 】1月23日(月)
【 Ver  】windouws xp
【 補足 】途中まであります。
#include 〈stdio.h )
main()
{
int i,j,k,1;
char ins[256],outs[256];
printf(“input string:“) ;
  scanf(“%s”,ins) ;
1=strlen(ins) ;

丸投げすみません!
お願いします。
696デフォルトの名無しさん:2006/01/17(火) 13:30:25
>>695
C言語の課題はスレ違い。
697デフォルトの名無しさん:2006/01/17(火) 13:31:14
>>695
スレ違いと思われ
ここはJava宿スレだよ
698デフォルトの名無しさん:2006/01/17(火) 13:53:52
>>695
C/C++の宿題を片付けます 57代目
http://pc8.2ch.net/test/read.cgi/tech/1136768567/
699デフォルトの名無しさん:2006/01/17(火) 15:21:54
>>695
よし、これを先生に出して来い。

import java.io.*;
public class TwoCh_695 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
while (true) {
System.out.print("文字列入力:");
StringBuffer sb = new StringBuffer(buf.readLine());
// 空ENTERで終了
if(sb.equals("")){
System.out.print("処理終了");
break;
}
// 文字列長255以上で戻る
if (sb.length() > 255) {
System.out.println("文字列が長すぎます");
continue;
}
// 前後交換
for(int i=0,j=sb.length()-1; i<sb.length()/2; i++,j--) {
sb.insert(j,sb.charAt(i));
sb.delete(i,i+1);
sb.insert(i,sb.charAt(j));
sb.delete(j+1,j+2);
}
System.out.println(sb);
}
}
}
700デフォルトの名無しさん:2006/01/17(火) 17:30:07
なんつーか、char[] にして入れ換えた方が楽なのでは?
ついでに言えば、奇数か偶数かなどということは、調べる必要なし。
こういうメソッド作ればよい。

static public String rev(String s) {
 char[] cs = s.toCharArray();
 for (int i = 0, j = cs.length - 1; i < j; ++i, --j) {
  char tmp = cs[i];
  cs[i] = cs[j];
  cs[j] = tmp;
 }
 return new String(cs);
}
701695:2006/01/17(火) 22:30:12
すみません!全く申し訳ないです!
これじゃなかったんですか・・・。
あと、プログラムありがとうございます。
けど、あれ、多分難しいプログラムですよね??
一番基本のプログラムしかやってないんで、本当に申し訳ないのですが
使えないのです・・・(>_<)
教えてもらったスレにもう一度書き込みます。
本当にありがとうございました!!
702デフォルトの名無しさん:2006/01/17(火) 22:50:02
【 課題 】Javaによる時計を作成せよ。その際、時間などのデータを活用した付加機能を加えよ。
【 期限 】1月19日午前
【 Ver  】J2SDK1.4.2
【 補足 】616ですが無理やり時間を作って作成したのですが上手く行かないorz
ラジオボタン実装途中のソース
ttp://www.geocities.jp/fezz45/Clock9.txt
付加機能を加える前のソース
ttp://www.geocities.jp/fezz45/Clock8.txt
 加えたい機能
1.ラジオボタンをフローレイアウト化
2.右時計を選択したラジオボタンの国の時間に変更
3.タイマー機能(30秒,1分)
4.アラーム機能
5.アプレット対応.verと未対応.ver
6.背景画像の設定

1,2,5番の機能だけでも十分です。
どうかよろしくお願いします。
703デフォルトの名無しさん:2006/01/18(水) 16:39:56
【 課題 】jpeg形式のカラー画像ファイルを読み込んで、
それを白黒2値画像に変換して表示するプログラムを作りなさい。
【 期限 】1月19日午後

どうかよろしくお願いします。
704デフォルトの名無しさん:2006/01/18(水) 16:54:44
【 課題 】java appletでロボットの移動軌跡を表示せよ。入力されるファイルの形は
move(x,y)で座標がtxt形式で与えられる。
(例)move(2,3)
move(3,5)
move(4,7)
move(4,8)
【 期限 】特になし。
705デフォルトの名無しさん:2006/01/18(水) 16:57:34
【 課題 】逆ポーランド記法で表現された数式を計算するプログラムを制作したい。以下の使用を満たすプログラムを作成しよ。
     ・mainメソッドを制作するクラス名はReport3Cとする
     ・数式の処理にはスタックを利用する
     ・数式を使える演算子は四足演算の4つの演算子(+ - * /)とする
     ・数値および演算子は空白で区切られているで区切られているものとする
     ・プロンプトを表示してキーの入力を受け付け1つの数式を1行で入力する
     ・数式に間違いがある場合にはエラーの表示し計算途中の結果を放棄した上でプロンプトを表示し
      キー入力状態に戻る
     ・プロンプトで"exit"と入力したらプログラムを終了する。"exit"の文字列の大文字・小文字は区別しない・大文字小文字を区別しないで一致してるかどうか比較するには
      equalsIgnoreCaseメソッドを使うとよい

【 期限 】今週の土曜日
 
丸なげです。お願いします。
706JAVA3D素人:2006/01/18(水) 20:05:00
【 課題 】透明の立方体を作成し、その立方体のなかに球をいれる、JAVA3Dプログラムを作成せよ。
      マウスで視点移動可能を忘れずに。
【 期限 】1月20日
【 Ver  】JAVA3Dです。
【 補足 】丸なげです。おねがいします。
707704:2006/01/18(水) 21:46:49
自己解決しました
もし今やってくださってる方いたらすみません
708632:2006/01/18(水) 22:51:19
>705
既出。
709デフォルトの名無しさん:2006/01/18(水) 22:51:31
710デフォルトの名無しさん:2006/01/18(水) 23:33:10
【 課題 】既存のアプレットに開始と停止ボタンを追加しなさい。
     なお、停止とは一時停止の事であり、停止を押した後に開始を
      押した場合、停止を押したところからはじまるようにしなさい
【 期限 】1月20日
【 Ver  】JAVA3Dです。
【 補足 】丸なげです。おねがいします
711デフォルトの名無しさん:2006/01/18(水) 23:34:43
>>710
既存のアプレットとやらがないと何も出来ない
712551:2006/01/18(水) 23:36:43
非常に遅レスですが>>560さん、>>561さん有難うございました

同じ問題の事でしつこくすいませんが、一つ質問があります
「PrintStreamクラス」という名称を習っていないのですが
この言葉を使わずに説明することはできますか?


そして、もう一つお願いします
【 課題 】int a[]={4,10,6,10,7,22,10,8,13,21,12,10,16}という配列から、10だけを抜き取って
       左に詰めて表示するプログラムを作成
【 期限 】明日昼
【 補足 】if continueを使います(a[i]!=10が真の時はcontinue)
       実行すると
       a[13]={4,10,6,10,7,22,10,8,13,21,12,10,16}
       a[10]={4,6,8,7,22,8,13,21,12,16}
       という風になる様です
713デフォルトの名無しさん :2006/01/18(水) 23:40:09
>705
せめてレス読むぐらいの努力しやがれ
714デフォルトの名無しさん:2006/01/18(水) 23:42:07
>711

すいません、初心者なので、ボタンをつけるだけならどんなアプレットにも後から
ついかできるのかとおもってまいました。
やっぱり、アプレットがないとどにもならないんでしょうか?
アプレット自体は、開いたらオブジェクトが動いてるいるという単純なものなのですが。
715デフォルトの名無しさん:2006/01/18(水) 23:52:05
>>714
初心者なのに、見せてもいないものを単純と評価しますか。
自分でできそうじゃね?
716デフォルトの名無しさん:2006/01/18(水) 23:54:35
>>715

そうですね。単にオブジェクトが動いて、最後までいったら止まるだけだったので、
簡単なのかと思いました。すいませんでした。
717デフォルトの名無しさん:2006/01/19(木) 00:52:41
【質問】
「JFrame frm = new JFrame("Hello GUI World");」の「JFrame("  ")」は
class JFrameの( A )となるfrmを生成する( B )である。

カッコの中に入る言葉を教えて下さい
どうかよろしくお願いします。
718デフォルトの名無しさん:2006/01/19(木) 00:59:01
>>717
A:インスタンス
B:メソッド
719デフォルトの名無しさん:2006/01/19(木) 00:59:16
A インスタンス
B コンストラクタ
720デフォルトの名無しさん:2006/01/19(木) 00:59:39
>>718
> >>717
> A:インスタンス
> B:メソッド
または
B:コンストラクタ
721デフォルトの名無しさん:2006/01/19(木) 01:14:37
>>712
>この言葉を使わずに説明することはできますか?
そもそも、その言葉を調べるための問題と思われ

>そして、もう一つお願いします
>【 課題 】
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26860
素直に書くと、「a[i]==10が真の時はcontinue」になると思うが、
書き間違いじゃないのか?
722デフォルトの名無しさん:2006/01/19(木) 01:46:41
>>706
透明の立方体に玉を入れると言うのは、ただ球体を表示するのと
同じだと思うのですが・・・(立方体が見えないのだから)
内容をもう少し説明してくだされ
723712:2006/01/19(木) 01:59:21
>>721
回答有難うございます
習った範囲で、自分の言葉で表現しなさいと言われました

もう一つの方は、a[i]!=10と書いてありました
自作プリントなので、もしかしたら書き間違えかもしれません
答えを頂けて嬉しいのですが、まだ私にはレベルが高い様で、分からないところが…
ちなみに、
1
22
333
を表示しろ、位の内容をやっています
724デフォルトの名無しさん:2006/01/19(木) 02:15:22
System.out.plintlnを習ったぐらいのレベルか?
725デフォルトの名無しさん:2006/01/19(木) 02:17:21
>>724
あんたは・・・・いやよそう
726デフォルトの名無しさん:2006/01/19(木) 02:18:38
>>724
×plintln
○println

お前のレベルはよくわかったよ
727デフォルトの名無しさん:2006/01/19(木) 02:42:58
>>723
いいことを教えよう
System.exit(0);
困った時の魔法の合言葉だ
728デフォルトの名無しさん:2006/01/19(木) 03:05:59
授業中に友達のプログラムにこっそり
System.exit(0); を書いたりした
そいつは実行できないって言ってかなり悩んでた
729デフォルトの名無しさん:2006/01/19(木) 03:30:45
public static void main(String arg[])
{
System.exit(0);//ここに書くんだ!合言葉を!できれば他人の
・・・・・・・・・・・・
}
730703:2006/01/19(木) 05:50:38
自己解決いたしました。お手数をおかけしました。
731デフォルトの名無しさん:2006/01/19(木) 07:52:41
>>703
誰もお手数おかけしてくれなかったわけで
732703:2006/01/19(木) 12:00:40
>>731
せめてお前がやってやれ
733703:2006/01/19(木) 12:03:46
×やれ
○くれ
734JAVA3D素人:2006/01/19(木) 15:19:18
>>722
説明が不十分ですいませんでした。半透明って事です。
軽く色のついた立方体です。お願いします。
735デフォルトの名無しさん:2006/01/19(木) 16:59:04
烈しくスレ違いな気がするんですが
phpのisset()
に相当するような
変数や配列の要素の有無をbooleanで返してくれるような魔法はないでしょうか。
736デフォルトの名無しさん:2006/01/19(木) 17:03:12
テクマクマヤコン
737デフォルトの名無しさん:2006/01/19(木) 17:03:33
すみません、やはり烈しくスレ違いでした。
↓逝ってきます。
http://pc8.2ch.net/test/read.cgi/tech/1136960593/l50
738デフォルトの名無しさん:2006/01/19(木) 17:20:25
>>712
つか、その問題を>>723並の知識でやろうとしたらかなり面倒だった。
前提条件が少なすぎるし。
別に配列を作ってそこに格納する必要があるのか、int[]aの配列をいじってやる必要があるのかがまず不明。
if(a[i]!=10)の時にcontinueって事は、if(a[i]==10)の時にはその10を配列aから削ってやる必要があるのか?
しかしただ削るだけではその配列の要素数自体は縮まらない。
単にいくつ含まれているかをカウントして表示すれば良いだけなら、
処理が行なわれるごとにa.lengthから-1していけば良いのだろうが。
でも削った所に何を入れるかも問題だし。番兵として適当な数を入れるのか、違う方法を取るのか。
配列a自体から10を削り取るプログラムを組んで、一応完成はしているが、
簡単なプログラムのみ使おうとしたせいでやたらややこしいことになっているし。

a[10]={4,6,8,7,22,8,13,21,12,16} ←ってか、これも間違ってるだろ。
a[9]={4,6,7,22,8,13,21,12,16} こうだべ。

問題が間違ってるのか、君が写した内容が間違ってるのかは知らんが、
>>723並の知識でこのプログラムは作れない。
739デフォルトの名無しさん:2006/01/19(木) 17:55:59
ん、要素数じゃなかったっけ。
740デフォルトの名無しさん:2006/01/19(木) 18:38:40
十個あるように見えるけど。
741デフォルトの名無しさん:2006/01/19(木) 18:41:59
a[13]={4,10,6,10,7,22,10,8,13,21,12,10,16}
a[10]={4,6,8,7,22,8,13,21,12,16}
      ↑ここの8はどこから沸いて出てきたんだ?って話だろ。
742デフォルトの名無しさん:2006/01/19(木) 18:53:39
謎の8....コワス..
743デフォルトの名無しさん:2006/01/19(木) 19:02:06
>>718-720
皆同じ時間にサンクスコ!!
744721:2006/01/19(木) 21:32:06
>>723

(問題:>551)
>習った範囲で、自分の言葉で表現しなさいと言われました
「習った範囲」が分からんが・・・

文 System.out.print() より、次のことがいえる:
・クラス 'System' には、クラス変数 'out' が存在する
・クラス変数 'out' が示すオブジェクトには、関数 print() が存在する
従って、print() が定義されている場所は、
System.out が示すオブジェクトの、クラス定義内である。

(問題:>712)
>もう一つの方は、a[i]!=10と書いてありました
><略>
>1
>22
>333
>を表示しろ、位の内容をやっています
ということは、こんな感じでいいってことか?
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26867

実は、問題の解釈が間違っていて、
a[4]={10,10,10,10} だったとかは?
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26868
745デフォルトの名無しさん:2006/01/20(金) 12:07:01
【 課題 】適当な数字をいくつか入力すると、それらの標準偏差を
      計算して表示するjavaプログラムを作成せよ
      データの個数に上限はないものとする
【 期限 】1月25日(水)まで

完全に迷子になってしまっています。
 本当に丸投げで申し訳ありませんが、どうぞよろしくです。

746デフォルトの名無しさん:2006/01/20(金) 12:58:19
【 課題 】1 本人確認をさせるプログラムを作る
      名前をキーボードから入力する。プログラム内では、予め自分の名前を
      if文の中で照合するようにしておく。名前が一致すれば2に進む。
      間違っていれば、再入力を要求させる。
      2 本人ならば、誕生日のカレンダー(2005年)を出力させる。
【 期限 】今日の4時までです;;
【 補足 】カレンダー作成は出来たんですが、それまでの過程が出来ず
      困っています。よろしくお願いします。
747デフォルトの名無しさん:2006/01/20(金) 13:32:41
>>746
名前が一致したらループから抜け出す
import java.io.*;
class Sample{
public static void main(String srgs[])throws IOException{
String name="田中太郎";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true){
System.out.print("名前を入れて:");
if(name.equals(br.readLine()))break;
}
}
}
748デフォルトの名無しさん:2006/01/20(金) 13:53:48
749デフォルトの名無しさん:2006/01/20(金) 14:00:22
>>747
すいません、説明不足でした;;
java appletを使わないといけないんです;;
750デフォルトの名無しさん:2006/01/20(金) 14:05:17
>>745
public class StandardDeviation {
public static void main(String[] args) {
double[] data = new double[args.length];
try {
System.out.print("Data:");
for (int i = 0; i < args.length; i++) {
data[i] = Double.parseDouble(args[i]);
System.out.print(" " + data[i]);
}
System.out.println("¥nSD: " + SD(data));
} catch (Exception ex) { usage(); }
}
public static double SD(double[] data) {
if (data == null) return 0.0;
int count = data.length; if (count == 0) return 0.0;
double x = 0.0, am = 0.0, sm = 0.0;
for (int i = 0; i < count; i++) {
x = data[i] - am;
am += x / (i + 1);
sm += i * x * x / (i + 1);
}
return Math.sqrt(sm / (count - 1));
}
static void usage() {System.err.println("Usage: StandardDeviation num ..."); System.exit(1);}
}
751デフォルトの名無しさん:2006/01/20(金) 14:28:34
>>749
ボタン押したら判定
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Sample extends Applet implements ActionListener{
String name = "田中太郎";
Button botan = new Button("OK");
TextField text = new TextField();
public void init(){
setLayout(new GridLayout(5,1));
add(text);
add(botan);
botan.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(name.equals(text.getText()))
text.setText("一致");
else
text.setText("不一致");
}
}
752デフォルトの名無しさん:2006/01/20(金) 14:46:12
import java.awt.Frame;
import com.sun.j3d.utils.universe.*;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import java.io.*;
import java.util.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.geometry.*;
import javax.media.j3d.TransparencyAttributes;
import javax.media.j3d.BranchGroup;

753上の続き:2006/01/20(金) 14:48:48
public class Orb2 extends Applet {
public Orb2() {
Canvas3D canvas = new Canvas3D( null );
SimpleUniverse universe = new SimpleUniverse( canvas );
setLayout( new BorderLayout() );
add( universe.getCanvas(),"Center" );
BranchGroup root=new BranchGroup();
Background background = new Background(
new Color3f( 0.4f, 0.6f, 0.8f ) );
BoundingSphere bounds = new BoundingSphere(
new Point3d( 0.0,0.0,0.0 ),100.0 );
background.setApplicationBounds( bounds );
root.addChild( background );
DirectionalLight light = new DirectionalLight();
light.setDirection( new Vector3f( -0.3f, -0.5f, -1.0f ) );
light.setInfluencingBounds( bounds );
root.addChild( light );
Appearance appearance = new Appearance();
Material mt = new Material(
new Color3f( 0.3f, 0.126f, 0.181f ),
new Color3f( 0.3f, 0.126f, 0.181f ),
new Color3f( 0.3f, 0.126f, 0.181f ),
new Color3f( 0.3f, 0.126f, 0.181f ),
0.0f );
754上の続き:2006/01/20(金) 14:49:20
appearance.setMaterial( mt );
Primitive primitive = new Sphere( 0.1f );
primitive.setAppearance( appearance );
root.addChild( primitive );
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph( root );
}

public static void main( String[] args ) {
new MainFrame( new Orb2(), 512, 512 );
}
}
この球のプログラムをマウスドラッグにより回転させる球
プログラムに変更せよ。 1月21日までにお願いします。
755デフォルトの名無しさん:2006/01/20(金) 14:52:53
>>751
何度もすいません;;自分で作ったカレンダーとの組み合わせ方が
わからず詰まっています。
これがそのカレンダーです↓

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

public class Calender extends Applet
{
public void paint(Graphics g)
{
int x=50,y=50;


g.drawLine(45,45,185,45);
g.drawLine(45,65,185,65);
g.drawLine(45,85,185,85);
g.drawLine(45,105,185,105);
g.drawLine(45,125,185,125);
g.drawLine(45,145,185,145);
756上の続き:2006/01/20(金) 14:54:48
g.drawLine(45,45,45,145);
g.drawLine(185,45,185,145);

g.drawString("21",70,120);

g.setColor(Color.red);
g.drawString("日",x,40);
g.drawString("6",x,80);
g.drawString("13",x,100);
g.drawString("20",x,120);
g.drawString("27",x,140);

g.drawString("土",170,40);
g.drawString("5",170,60);
g.drawString("12",170,80);
g.drawString("19",170,100);
g.drawString("26",170,120);

g.drawString("2005年11月",80,25);
g.drawString("月",70,40);
g.drawString("火",90,40);
g.drawString("水",110,40);
g.drawString("木",130,40);
g.drawString("金",150,40);
757上の続き:2006/01/20(金) 14:56:36
g.drawString("1",90,60);
g.drawString("2",110,60);
g.drawString("3",130,60);
g.drawString("4",150,60);

g.drawString("7",70,80);
g.drawString("8",90,80);
g.drawString("9",110,80);
g.drawString("10",130,80);
g.drawString("11",150,80);

g.drawString("14",70,100);
g.drawString("15",90,100);
g.drawString("16",110,100);
g.drawString("17",130,100);
g.drawString("18",150,100);

g.drawString("22",90,120);
g.drawString("23",110,120);
g.drawString("24",130,120);
g.drawString("25",150,120);

g.drawString("28",70,140);
g.drawString("29",90,140);
g.drawString("30",110,140);

}
}
758デフォルトの名無しさん:2006/01/20(金) 15:00:49
すごいカレンダーだ。思わず涙した。
759デフォルトの名無しさん:2006/01/20(金) 15:05:02
>>755
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Sample extends Applet implements ActionListener{
String name = "田中太郎";
Button botan = new Button("OK");
TextField text = new TextField();
boolean ch=false;
public void init(){
setLayout(null);
add(text);text.setBounds(20,150,100,20);
add(botan);botan.setBounds(125,150,40,20);
botan.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(name.equals(text.getText()))
ch = true;
else{
text.setText("不一致");
ch =false;
}
repaint();
}
public void paint(Graphics g){
if(ch==true){ここにカレンダーつっこめ}
}
}
}
760デフォルトの名無しさん:2006/01/20(金) 15:05:30
まだ初心者なんです・・・
ここやり方しか思い付きませんでした^^;
761デフォルトの名無しさん:2006/01/20(金) 15:10:48
2年ぶりに泣いた
762デフォルトの名無しさん:2006/01/20(金) 15:15:22
あ、悪い>>759は最後の「 } 」1つ余分だわ
763デフォルトの名無しさん:2006/01/20(金) 15:15:56
>>759
できました;;
時間が迫ってたので助かりました
ありがとうございました^^
764デフォルトの名無しさん:2006/01/20(金) 18:39:35
>>754
最初に,
import com.sun.j3d.utils.behaviors.mouse.*; // 追加

後半部に,
appearance.setMaterial( mt );
Primitive primitive = new Sphere( 0.1f );
primitive.setAppearance( appearance );
// root.addChild( primitive ); 削除
TransformGroup tg = new TransformGroup(); // 追加
tg.addChild( primitive ); // 追加
root.addChild(tg); // 追加
// マウス操作部分
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); // 追加
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); // 追加
MouseRotate rotat = new MouseRotate(tg); // 追加
rotat.setSchedulingBounds(bounds); // 追加
tg.addChild(rotat); // 追加
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph( root );
765初心者:2006/01/21(土) 00:18:24
【 課題1 】番号,身長の組を多数入力し、身長の度数分布表を作って出力。分布は
10cmきざみのグループで数え、180以上,150未満はそれぞれ1グループに
する。入力のストッパは番号が0とする。
 (入力例)       (出力例)
1001 167    ―149 0
1002 170 150―159 0
1003 164 160―169 2
1005 182 170―179 1
   0   0 180―    1
【 課題2 】1山くずしゲーム,コンピュータ側が任意の自然数を乱数として
設定し(これを石の数とする),対局者とコンピュータとで交互に1個ないし2個
の石を取り続ける。最後の石を取った方が勝ち。このゲームでコンピュータ側が
最強になるようなアルゴリズムをつくれ。
なおコンピュータ側から
"石の残り××個です。何個とりますか?"
"石の残り××個です。私は×個とります"
などのメッセージを表示しながら,決着がつくまで進めること。

問題は2つともPAD図で描き、さらにJavaに変換して実行させよ
PADに関して:変数名にはできるだけそのデータの内容を表す日本語
を用いること。変数名とその説明を書き添えること。
Javaに関して:プログラムの先頭にコメントとして、PAD図の変数とプログラム
言語の変数の対応を記述すること。例えば
/* ninzu--人数 total--合計 */のように。
【 期限 】1月27日
【 Ver  】1.4
766初心者:2006/01/21(土) 00:19:40
【 補足 】PADについて
参考:学生番号と点数の組を多数入力し(ストッパは学生番号=0),全体の 
学生数と50点以上の点数を持つ学生数を出力する
変数リスト
総人数,合格数,番号,点数

総人数←0
合格数←0
 |           |―条件 50以上 ― 処理 合格数←合格数+1
入力 番号,点数   |
 |           |―処理 総人数←総人数+1 
前判定 番号≠0  ―|
 |           |―入力 番号,点数
出力 総人数,合格数
(カウンタ型は i=1 to 10のように)
PAD図についてはこんな感じでよろしくお願いします 
767デフォルトの名無しさん:2006/01/21(土) 02:47:53
課題2の方は最早Javaの問題がどうとかじゃなくて、
そのゲームの必ず勝てるやり方ってのを考えなきゃどうしようもないな。

っつか、取れる石の数が最大二個ってどうなのよ。普通三個じゃね?
自然数を乱数としてって言っても、最低でもいくつ以上ってのはあるだろうし。
1〜3個じゃ対決にもならん。
768デフォルトの名無しさん:2006/01/21(土) 03:42:22
>>764
マウス回転できました。本当助かりました。ありがとうございます。

あとこの球をアプレット上の数字指定で、その数字だけ球が増える
ようにと言われました。座標はペイントで準備してあります。

こちらの課題1月22日までにお願いします。何度も申し訳ありません。
769デフォルトの名無しさん:2006/01/21(土) 10:49:26
>>767
最大2個だから課題にできるわけよ。楽勝だから。
要は最終盤で3個残るように調整すればいいんだろ。
770デフォルトの名無しさん:2006/01/21(土) 11:19:16
>765
課題1
ttp://www.wikiroom.com/java/index.php?SourcePost__#gc305ffb
PAD図って初耳なんだけど有名なの?
771770:2006/01/21(土) 21:35:01
772デフォルトの名無しさん:2006/01/21(土) 23:39:07
【 課題 】
1.A店とB店のアイスの値段を比較して、以下のように表示する。
A店のアイスの値段=****
B店のアイスの値段=****
○店の方が○店より○円安い。

2.while文を使って、以下の使用要求を実現せよ。
使用要求/キーボードから数人分成績を入力し、その内の最大値を表示する。
(ただし終了記号は666)
1人目のデータ=***
2人目のデータ=***

データの入力数=***
最大値=

3.配列を使って、以下の使用要求を実現せよ。
使用要求/キーボードから数人分成績を入力し、その内の最大値を表示する。
(ただし終了記号は-1)

4.配列を使って、以下の使用要求を実現せよ。
使用要求/キーボードから数人分成績を入力し、それを降順に並べ替えて画面に表示する。
(ただし終了記号は-1)

5.以下の使用要求を実現せよ。
使用要求/キーボードから名前と成績を入力して、その名前と成績を表示する。
ただし、成績表示の部分について以下のように次のメソッドを作成する。
public static void hyouji(String namae,int seiseki)
【 期限 】1/23
【 補足 】本当に簡単なプログラムだとは思うのですが、詰めが出来ず困っています。
丸投げ済みません。
773デフォルトの名無しさん:2006/01/22(日) 02:16:29
>>772
配列適当な値でnewしていい?
てかそうしないと配列でそれを実現する方法が俺には思いつかない
774デフォルトの名無しさん:2006/01/22(日) 02:35:12
それよりも、
java.util.ArrayListに値をaddしていき、
全部入ったらtoArray()で配列にしちゃえばよくないっすか?
775デフォルトの名無しさん:2006/01/22(日) 03:00:00
ああ・・・そのclass知らないw
776デフォルトの名無しさん:2006/01/22(日) 04:17:39
んじゃArrayListのサンプルっちゅーことで。
public static void main(String[] args) throws IOException {
// TODO 自動生成されたメソッド・スタブ
ArrayList list = new ArrayList();

String s = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (!(s = br.readLine()).equals("666"))
list.add(s);
String[] sa = (String[]) list.toArray(new String[list.size()]);

for (int i = 0; i < sa.length; i++)
System.out.println(i + 1 + "番目の入力:" + sa[i]);
}
777デフォルトの名無しさん:2006/01/22(日) 04:23:55
問題出したやつこないからやる気でねぇw
てかもう酔っちゃったw
778デフォルトの名無しさん:2006/01/22(日) 05:57:15
ありゃま。
んじゃーとりあえず772の課題1。
public class Shop implements Comparable {
public Shop(String theName, int theIcePrice) {
this.name = theName;
this.icePrice = theIcePrice;
}
private String name;
private int icePrice;
public int getIcePrice() {return icePrice;}
public void setIcePrice(int icePrice) {this.icePrice = icePrice;}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public int compareTo(Object theShop) {
Shop shop = (Shop) theShop;
if (this.icePrice < shop.icePrice)
return -1;
else if (this.icePrice == shop.icePrice)
return 0;
else
return 1;
}
}
779デフォルトの名無しさん:2006/01/22(日) 05:58:17
772の課題1の続き
import java.util.Arrays;

public class Kadai772_1 {
public static void main(String[] args) {
Shop[] shops = new Shop[] { new Shop("A", 100), new Shop("B", 105) };

new Kadai772_1().printComp(shops);
}

private void printComp(Shop[] shops) {
for (int i = 0; i < shops.length; i++)
System.out.println(shops[i].getName() + "店のアイスの値段="
+ shops[i].getIcePrice());

Arrays.sort(shops);
Shop min = shops[0];
Shop max = shops[shops.length - 1];
System.out.println(min.getName() + "店の方が" + max.getName() + "店より"
+ (max.getIcePrice() - min.getIcePrice()) + "円安い。");
}
}
780デフォルトの名無しさん:2006/01/22(日) 06:38:28
772の課題2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.TreeSet;

public class Kadai772_2 {
public static void main(String[] args) throws Exception {
TreeSet ts = new TreeSet();
int data = 0;
int count = 1;
while ((data = inputData(count)) != 666) {
ts.add(new Integer(data));
count++;
}
Integer[] datas = (Integer[]) ts.toArray(new Integer[ts.size()]);

System.out.println("データの入力数=" + datas.length);
System.out.println("最大値=" + datas[datas.length - 1]);
}

private static int inputData(int count) throws IOException {
System.out.print(count + "人目のデータ=");
String data = new BufferedReader(new InputStreamReader(System.in))
.readLine();

return Integer.parseInt(data);
}
}
781デフォルトの名無しさん:2006/01/22(日) 06:49:37
772の課題3
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.TreeSet;

public class Kadai772_3 {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
TreeSet ts = new TreeSet();
int data = 0;
int count = 1;
while ((data = inputData(count)) != -1) {
ts.add(new Integer(data));
count++;
}
Integer[] datas = (Integer[]) ts.toArray(new Integer[ts.size()]);

System.out.println("最大値=" + datas[datas.length - 1]);
}

private static int inputData(int count) throws IOException {
System.out.print(count + "人目の成績=");
String data = new BufferedReader(new InputStreamReader(System.in))
.readLine();

return Integer.parseInt(data);
}
}
782デフォルトの名無しさん:2006/01/22(日) 07:00:00
772の課題4
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.TreeSet;

public class Kadai772_4 {
public static void main(String[] args) throws Exception {
TreeSet ts = new TreeSet();
int data = 0;
int count = 1;
while ((data = inputData(count)) != -1) {
ts.add(new Integer(data));
count++;
}
Integer[] datas = (Integer[]) ts.toArray(new Integer[ts.size()]);

for (int i = datas.length - 1; i >= 0; i--)
System.out.println(datas[i]);
}

private static int inputData(int count) throws IOException {
System.out.print(count + "人目の成績=");
String data = new BufferedReader(new InputStreamReader(System.in))
.readLine();

return Integer.parseInt(data);
}
}
783デフォルトの名無しさん:2006/01/22(日) 07:41:57
772の課題5
public class Person {
private String namae;

private int seiseki;

public Person(String theNamae, int theSeiseki) {
this.namae = theNamae;
this.seiseki = theSeiseki;
}

public String getNamae() {
return namae;
}

public void setNamae(String namae) {
this.namae = namae;
}

public int getSeiseki() {
return seiseki;
}

public void setSeiseki(int seiseki) {
this.seiseki = seiseki;
}

}
784デフォルトの名無しさん:2006/01/22(日) 07:45:44
772の課題5の続き
import java.io.*;
import java.util.ArrayList;
public class Kadai772_5 {
public static void main(String[] args) throws IOException {
ArrayList list = new ArrayList();
Person person = null;
while ((person = inputPerson()) != null)
list.add(person);
for (int i = 0; i < list.size(); i++) {
Person outPerson = (Person) list.get(i);
hyouji(outPerson.getNamae(), outPerson.getSeiseki());
}
}
public static void hyouji(String namae, int seiseki) {
System.out.println("名前=" + namae + "\t成績=" + seiseki);
}
private static Person inputPerson() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("名前を入力してください[終了=enter]:");
String namae = br.readLine();
if (namae.length() < 1)
return null;
System.out.print(namae + "さんの成績を入力してください[終了=enter]:");
String seiseki = br.readLine();
if (seiseki.length() < 1)
return null;
return new Person(namae, Integer.parseInt(seiseki));
}
}
785デフォルトの名無しさん:2006/01/22(日) 09:01:02
【 課題 】ディレクトリーをパラメーターとして受け取って、そのディレクトリー内のファイル一覧をList形式で応答するユーティリティークラスを作成しなさい
【 Ver  】J2se1.4

よろしくお願いします。何かサンプルがあるページの紹介でもいいです。
786デフォルトの名無しさん:2006/01/22(日) 10:15:38
クラスの設計方法を教えてくれorz
なにをクラスに
なにをメソッドに
なにをフィールドに
すればいいんじゃぁぁぁぁぁぁぁぁぁぁぁぁ
787デフォルトの名無しさん:2006/01/22(日) 10:38:08
>>786
推薦図書/必読書のためのスレッド PART28
http://pc8.2ch.net/test/read.cgi/tech/1133629787/
788デフォルトの名無しさん:2006/01/22(日) 11:37:33
>785
> List形式で応答
っていう意味がわかりません。
treeコマンドみたいなもん?
コンソールアプリでいい?
789デフォルトの名無しさん:2006/01/22(日) 12:14:09
772です。>777様、友人宅で書き込ませて頂いたもので返信出来ず済みませんでした。
お待ち頂いていたのに本当に申し訳有りません。
>778、779、780、781、782、783、784様回答有難う御座います。
これで卒業出来そうです(泣)助かりました…。コマンドプロントが
手元にないので実効結果がまだ出ていないのですが、出来次第お知らせに上がります。
790765:2006/01/22(日) 12:36:01
>>770様ありがとうございました。

すいませんがどなたかPAD図も教えてくださいませ
791デフォルトの名無しさん:2006/01/22(日) 12:54:50
【 課題 】次の機能を実装するクラスを設計せよ。ただしクラスは複数あってよい。
・IDとPASSWORDを入力すると、DBを参照しログイン可能かチェック
・ログインしたユーザは自分のパラメータを見ることができる
・ログインしたユーザは自分のパラメータを変更することができる
・DBに存在するカラム:ID,PASSWORD,名前,住所,得意科目

ユーザークラスとDBにアクセスするクラスがあればいいのかな・・・・・・?
792デフォルトの名無しさん:2006/01/22(日) 15:03:21
>>785
一応サンプル作った。Windows なら C ドライブ直下が読めるはず。
あとは javadoc で java.io.File を読むなりなんなり。

import java.io.File;
import java.util.*;
public class W_54_785 {
public static List getChildFileList(File dir) {
List result = new ArrayList();
File[] children = dir.listFiles();
for (int i = 0; i < children.length; i++) {
File child = children[i];
if (child.isFile()) {
result.add(child);
}
}
return result;
}
public static void main(String[] args) {
List filelist = W_54_785.getChildFileList(File.listRoots()[1]);
for (Iterator iter = filelist.iterator(); iter.hasNext();) {
System.out.println(iter.next());
}
}
}
793デフォルトの名無しさん:2006/01/23(月) 02:08:45
【 課題 】3つのテキストボックスにそれぞれ年・月・日を入力し,
      ボタンを押すと, 4つ目のテキストボックスにその日の曜日が表示されるページをHTMLとJavaScriptを用いて作成しなさい
【 期限 】1月26日(水)
【 補足 】丸なげです。どうかお願い致します。




794デフォルトの名無しさん:2006/01/23(月) 02:25:24
>>793
どちらも見つからなかったので、質問のほうから引用。受け付けてたらゴメン
>JavaScriptの質問は、ここでは受け付けていません。
>Web製作板をご利用ください。http://pc5.2ch.net/hp/
795デフォルトの名無しさん:2006/01/23(月) 03:33:41
>>793
Javaは使っちゃいけないのかな。
796デフォルトの名無しさん:2006/01/23(月) 07:46:04
質問です。
ここに10個の数字があります。
33 35 36 37 38 39 48 52 75 79
7桁の重複しない組み合わせをすべて出力しなさい。
例)33 35 36 37 38 39 48
33 35 36 37 38 39 52
33 35 36 37 38 39 75
33 35 36 37 38 39 79
33 35 36 37 38 48 52




ってどうやってプログラム組めばいいですか?

俺の頭の中では、むりぽ。


797デフォルトの名無しさん:2006/01/23(月) 11:35:35
772です。前回は有り難う御座いました。
実行してみたのですが、1と5がうまくいかずエラ―が出てしまいます。
1のエラ―がjava:28:‘class'または‘interface'がありません。
import java.util.Array;
エラ―1個と表示されていて、5のエラ―がjava:28:‘class'または‘interface'がありません。
import java.util.Array;
java:34:‘class'または‘interface'がありません。
import java.util.ArrayList;
エラ―2個と表示されます。
申し訳有りませんが、どこをどう直せば動くかご指摘頂けると嬉しいです。
798デフォルトの名無しさん:2006/01/23(月) 13:57:33
>>797
エスパーです。もしかしてだけど、1ファイルにまとめてないだろうな。
課題1: >>778 は Shop.java に、>>779 は Kadai772_1.java に保存する。
課題5: >>783 は Person.java に、>>784 は Kadai772_5.java に保存する。
的外れだったらすまそ。

799デフォルトの名無しさん:2006/01/23(月) 14:07:38
【 課題 】スタックを利用して簡単な数式を計算するプログラムを作成せよ。以下に示すプログラムの流れのように数値、演算子は1個ずつ
       順番に入力するようにせよ。


【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、解答希望日があれば書きます
【 Ver  】希望するJavaバージョンがあれば書きます
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)
800デフォルトの名無しさん:2006/01/23(月) 14:08:08
ごめんなさい。ミスです。もう一回書きます。
801デフォルトの名無しさん:2006/01/23(月) 14:25:01
【 課題 】スタックを利用して簡単な数式を計算するプログラムを作成せよ。
      以下に示すプログラムの流れのように数値、演算子は1個ずつ
      順番に入力するようにせよ。
      
      1.(イ)現在のスタックの状態を表示する
         
        (ロ)プロンプトを表示し、キーの入力を受け付ける
         
        (ハ)入力されたデータの種類に従って以下のいずれかの処理を実行する
           (A)数値が入力されていた場合、スタックにその数値を積む。
           (B)演算子が入力されていた場合、スタックから数値を2個取り出し、
              演算子に対応した計算を実行して結果をスタックに積む。
           (C)誤ったデータが入力されていた場合、エラーを表示して再入力を求める。
           (D)=が入力されていた場合は処理を中断して2.へすすむ。
      
      2.計算結果を表示する。スタックに積み残した数値がある場合にはメッセージを表示する。


【 期限 】25日までです。
【 補足 】逆ポーランド記法を使ってやるらしいのですが全然わかりません。
       丸投げですが、お願いします。
       あと、>>678のソースはもう見れないんでしょうか?参考にしたいです。
802デフォルトの名無しさん:2006/01/23(月) 14:45:55
import java.awt.Frame;
import com.sun.j3d.utils.universe.*;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import java.io.*;
import java.util.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.geometry.*;
import javax.media.j3d.TransparencyAttributes;
import javax.media.j3d.BranchGroup;
import com.sun.j3d.utils.behaviors.mouse.*;
public class ATS extends Applet {
public ATS() {
803上の続き:2006/01/23(月) 14:46:47
Canvas3D canvas = new Canvas3D( null );
SimpleUniverse universe = new SimpleUniverse( canvas );
setLayout( new BorderLayout() );
add( universe.getCanvas(),"Center" );
BranchGroup root=new BranchGroup();
Background background = new Background(
new Color3f( 1.0f, 1.0f, 1.0f ) );
BoundingSphere bounds = new BoundingSphere(
new Point3d( 0.0,0.0,0.0 ),100.0 );
background.setApplicationBounds( bounds );
root.addChild( background );
DirectionalLight light = new DirectionalLight();
light.setDirection( new Vector3f( -0.3f, -0.5f, -1.0f ) );
light.setInfluencingBounds( bounds );
root.addChild( light );
Appearance appearance = new Appearance();

Material mt = new Material(
new Color3f( 1.0f, 0.3f, 0.5f ),
new Color3f( 1.0f, 0.3f, 0.5f ),
new Color3f( 1.0f, 0.3f, 0.5f ),
new Color3f( 1.0f, 0.3f, 0.5f ),
0.0f );
804上の続き:2006/01/23(月) 14:51:05
appearance.setMaterial( mt );
Primitive primitive = new Sphere( 0.1f );
primitive.setAppearance( appearance );
//root.addChild( primitive );
TransformGroup tg = new TransformGroup();
tg.addChild( primitive );
root.addChild(tg);

// マウス操作部分
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
MouseRotate rotat = new MouseRotate(tg);
rotat.setSchedulingBounds(bounds);
tg.addChild(rotat);

universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph( root );
}
public static void main( String[] args ) {
new MainFrame( new ATS(), 512, 512 );
}
}
805上の続き:2006/01/23(月) 14:55:22
上記の球のプログラムに
アプレット中のボタンを作成して、
ボタンを押すごとに、球が増えるプログラムを作成せよ。

1月24日までにお願いします。
806デフォルトの名無しさん:2006/01/23(月) 15:52:52
>>796
↓の「PermEnum.java」を参考にする。
 ttp://www.gulf.or.jp/〜damayan/algo/permcomb.html
807>>801 ◆wOb0EU3GSI :2006/01/23(月) 19:20:07
>>801
--[PolishCalculator.java]--
package yaoi801;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PolishCalculator {
static SimpleStack simpleStack = new SimpleStack();
public static void main(String[] args) {
for (;;) {
System.out.print("> ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
str = br.readLine();
parse(str);
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
System.out.println("入力値が不正です. 整数値または +, -, *, / を入力してください.");
continue;
} catch (OperationException e) {
System.out.println("エラー:スタックの要素数が不足しているか、または0除算が発生しました");
System.out.println("指示された操作(" + str + ")を実行できません");
System.out.println("終了します");
System.exit(2); // 異常終了
}
System.out.println(simpleStack.toString());
}
}
808>>801 ◆wOb0EU3GSI :2006/01/23(月) 19:21:38
private static void parse(String s) throws OperationException {
if ("+".equals(s)) {
simpleStack.operate(OpType.ADD);
} else if ("-".equals(s)) {
simpleStack.operate(OpType.SUB);
} else if ("*".equals(s)) {
simpleStack.operate(OpType.MUL);
} else if ("/".equals(s)) {
simpleStack.operate(OpType.DIV);
} else if ("=".equals(s)) {
simpleStack.show();
} else if (".".equals(s)) {
simpleStack.end();
} else {
int i = Integer.parseInt(s);
simpleStack.eatnum(i);
}
}
}

--[OpType.java]--
package com.jane.ch2.polish;
public enum OpType {
ADD, SUB, MUL, DIV
}
809>>801 ◆wOb0EU3GSI :2006/01/23(月) 19:24:36
//>>808
//おっと OpType.java のパッケージ名を間違えた。

--[OpType.java]--
package yaoi801;
public enum OpType {
ADD, SUB, MUL, DIV
}

//まだつづきがあります
810>>801 ◆wOb0EU3GSI :2006/01/23(月) 19:26:55
--[SimpleStack.java]--
package yaoi801;
import java.util.ArrayList;
import java.util.List;

public class SimpleStack {
List<Integer> stack = new ArrayList<Integer>();
public void push(int val) {
stack.add(val);
}
public int pop() throws EmptyException {
if (stack.isEmpty()) throw new EmptyException();
int idx = stack.size() - 1;
int ret = stack.get(idx);
stack.remove(idx);
return ret;
}

public boolean isEmpty() {
return (stack.size() == 0);
}

public void operate(OpType type) throws OperationException {
int a, b, result = 0;
try {
a = pop();
b = pop();
switch (type) {
811>>801 ◆wOb0EU3GSI :2006/01/23(月) 19:27:58
case ADD:
result = b + a;
break;
case SUB:
result = b - a;
break;
case MUL:
result = b * a;
break;
case DIV:
if (a == 0) throw new OperationException(new Exception("Division by Zero"));
result = b / a;
break;
default:
}
push(result);
} catch (EmptyException e) {
throw new OperationException(e);
}
}

public void eatnum(int val) {
push(val);
}

public void show() throws OperationException {
int a;
try {
a = pop();
System.out.println("計算結果は" + a + "です");
812>>801 ◆wOb0EU3GSI :2006/01/23(月) 19:32:12
if (!isEmpty()) System.out.println("注意:スタックに残りがあります!");
System.out.println("----\n処理を終了します\n");
System.exit(0);
} catch (EmptyException e) {
throw new OperationException(e);
}
}

public void end() {
System.out.println("処理を終了します");
System.exit(1); // ユーザ依頼による終了
}

public String toString() {
StringBuilder strbld = new StringBuilder();
strbld.append("[ ");
for (Integer i : stack) {
strbld.append(i + " ");
}
strbld.append("]");
return strbld.toString();
}
}

--[EmptyException.java]--
package yaoi801;
public class EmptyException extends Exception {
EmptyException(){
super();
}
}
//つづく
813>>801 ◆wOb0EU3GSI :2006/01/23(月) 19:35:21
--[OperationException.java]--
package yaoi801;
public class OperationException extends Exception {
public OperationException(Exception e) {
super(e);
}
}

// ここまで
// はっきりいって例外クラスが冗長
814デフォルトの名無しさん:2006/01/23(月) 20:10:36
【 課題 】半角カタカナの文字列をローマ字(ヘボン式)に変換するクラスを作成する。
【 用語 】無し
【 期限 】無し
【 Ver  】無し
【 補足 】例えば、「シュクダイスレッド」は「syukudaisureddo」に変換します。
Java初心者で取っ掛かり方も良く分からないので、宜しくお願いします。
815デフォルトの名無しさん:2006/01/23(月) 20:59:38
↓これお願いします

java でsingletonを実装する際にやらなければならないことを
3項目挙げよ
816デフォルトの名無しさん:2006/01/23(月) 21:15:45
>815
Singletonクラスの場合。
1. コンストラクタをprivateに。private Singleton(/**/) { /*...*/ }
2. 自分自身をstaticでフィールドに持つ。private static Singleton self = new Singleton(/**/);
3. 2のフィールドを公開するメソッドを実装する。public static Singleton getInstance() { return self; }
ソースは試してません。メッセージ欄に直打ちです。
817>>814:2006/01/23(月) 21:21:55
import java.io.*;

public class test {
    
    public static void main(String[] args) { 
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
        String str = null;
        
        System.out.print("半角カナの文章を入力 > ");
        try { 
            str = br.readLine(); 
            str = translate(str); 
        }catch(IOException e){
            e.printStackTrace();
        }
        
        System.out.println(str);
    }
    
//つづく
818>>814:2006/01/23(月) 21:23:37
private static String translate(String kana){
    Kana[] k = Kana.values();
    StringBuilder str = new StringBuilder(kana);
    int index;
    for(int i=Kana.ガ.ordinal();i<=Kana.ォ.ordinal();i++){
        while((index=str.indexOf(k[i].kana)) != -1){
        str.replace(index,index+k[i].kana.length(),k[i].yomi);
        }
    }
    for(int i=Kana.ャ.ordinal();i<=Kana.ョ.ordinal();i++){
        while((index=str.indexOf(k[i].kana)) != -1){
        str.replace(index-1,index+k[i].kana.length(),k[i].yomi);
        }
    }
    while((index=str.indexOf(Kana.ッ.kana)) != -1){
        str.deleteCharAt(index);
        str.insert(index,str.charAt(index));
    }
    return str.toString();
}
//つづく
819>>814:2006/01/23(月) 21:26:13
private static enum Kana{
ガ("ga"),ギ("gi"),グ("gu"),ゲ("ge"),ゴ("go"),ザ("za"),ジ("ji"),ズ("zu"),ゼ("ze"),ゾ("zo"),
ダ("da"),ヂ("di"),ヅ("du"),デ("de"),ド("do"),バ("ba"),ビ("bi"),ブ("bu"),ベ("be"),ボ("bo"),
パ("pa"),ピ("pi"),プ("pu"),ペ("pe"),ポ("po"),ヴ("vu"),

ア("a"),イ("i"),ウ("u"),エ("e"),オ("o"),カ("ka"),キ("ki"),ク("ku"),ケ("ke"),コ("ko"),
サ("sa"),シ("si"),ス("su"),セ("se"),ソ("so"),タ("ta"),チ("ti"),ツ("tsu"),テ("te"),ト("to"),
ナ("na"),ニ("ni"),ヌ("nu"),ネ("ne"),ノ("no"),ハ("ha"),ヒ("hi"),フ("fu"),ヘ("he"),ホ("ho"),
マ("ma"),ミ("mi"),ム("mu"),メ("me"),モ("mo"),ヤ("ya"),ユ("yu"),ヨ("yo"),
ラ("ra"),リ("ri"),ル("ru"),レ("re"),ロ("ro"),ワ("wa"),ヲ("wo"),ン("n"),

ァ("a"),ィ("i"),ゥ("u"),ェ("e"),ォ("o"),ャ("ya"),ュ("yu"),ョ("yo"),ッ("");
    
public final String kana;
public final String yomi;

private Kana(String yomi){
    this.kana = this.name();
    this.yomi = yomi;
}
}

}
//おわり。やばい。超ダサい
820818に間違いがありますたorz:2006/01/23(月) 21:38:19
private static String translate(String kana){
    Kana[] k = Kana.values();
    StringBuilder str = new StringBuilder(kana);
    int index;

    for(int i=Kana.ガ.ordinal();i<=Kana.ン.ordinal();i++){
    while((index=str.indexOf(k[i].kana)) != -1){
        str.replace(index,index+k[i].kana.length(),k[i].yomi);
    }}
    
    for(int i=Kana.ァ.ordinal();i<=Kana.ョ.ordinal();i++){
    while((index=str.indexOf(k[i].kana)) != -1){
        str.replace(index-1,index+k[i].kana.length(),k[i].yomi);
    }}
        
    while((index=str.indexOf(Kana.ッ.kana)) != -1){
    str.deleteCharAt(index);
    str.insert(index,str.charAt(index));
    }
    
    return str.toString();
}
821814:2006/01/23(月) 22:01:15
>>820
ありがとうございます。
Eclipseにコードを貼り付けると、下のようなエラーが表示されます。
どこを修正すれば良いのでしょうか?

記述リソースフォルダーロケーション
Kana[] は解決できないか、型ではありません。Test.javaTest/src/test行 35
Kana は解決できません。Test.javaTest/src/test行 35
StringBuilder は解決できないか、型ではありません。Test.javaTest/src/test行 36
Kana は解決できません。Test.javaTest/src/test行 39
Kana は解決できません。Test.javaTest/src/test行 44
Kana は解決できません。Test.javaTest/src/test行 49
enum はフィールド Test.Kana について解決できません (あるいは有効な型ではありません)。Test.javaTest/src/test行 57
構文エラーがあります。";" を挿入して FieldDeclaration を完了してください。Test.javaTest/src/test行 57
トークン ")" に構文エラーがあります。このトークンを削除してください。Test.javaTest/src/test行 58
トークンに構文エラーがあります。構成の位置が間違っています。Test.javaTest/src/test行 68
構文エラーがあります。")" を挿入して Expression を完了してください。Test.javaTest/src/test行 68
構文エラーがあります。"}" を挿入して Block を完了してください。Test.javaTest/src/test行 68
メソッドの戻りの型がありません。Test.javaTest/src/test行 73
メソッド name() は型 Test で未定義です。Test.javaTest/src/test行 74
トークン "}" に構文エラーがあります。このトークンを削除してください。Test.javaTest/src/test行 79
822814:2006/01/23(月) 22:19:13
仕事上での宿題なのですが、答えて頂いて申し訳ありませんが、
話に進展があり下記のようになりました。

まず下記のコードがあります。

public class Kana2Roma {
// 全カタカナ<-->ローマ字変換テーブル
private static final String Kana2RomaTbl[][] = {
{"ガ", "GA"},{"ギ", "GI"},{"グ", "GU"},{"ゲ", "GE"},{"ゴ", "GO"},
{"ザ", "ZA"},{"ジ", "JI"},{"ズ", "ZU"},{"ゼ", "ZE"},{"ゾ", "ZO"},
{"ダ", "DA"},{"ヂ", "JI"},{"ヅ", "ZU"},{"デ", "DE"},{"ド", "DO"},
{"バ", "BA"},{"ビ", "BI"},{"ブ", "BU"},{"ベ", "BE"},{"ボ", "BO"},
{"パ", "PA"},{"ピ", "PI"},{"プ", "PU"},{"ペ", "PE"}, {"ポ", "PO"},
{"キャ", "KYA"},{"キュ", "KYU"},{"キョ", "KYO"},
{"シャ", "SHA"},{"シュ", "SHU"},{"ショ", "SHO"},
{"チャ", "CHA"},{"チュ", "CHU"},{"チョ", "CHO"},{"チェ", "CHE"},
{"ニャ", "NYA"},{"ニュ", "NYU"},{"ニョ", "NYO"},
{"ヒャ", "HYA"},{"ヒュ", "HYU"},{"ヒョ", "HYO"},
{"ミャ", "MYA"},{"ミュ", "MYU"},{"ミョ", "MYO"},
{"リャ", "RYA"},{"リュ", "RYU"},{"リョ", "RYO"},
{"ギャ", "GYA"},{"ギュ", "GYU"},{"ギョ", "GYO"},
{"ジャ", "JA"},{"ジュ", "JU"},{"ジョ", "JO"},
{"ビャ", "BYA"}, {"ビュ", "BYU"},{"ビョ", "BYO"},
{"ピャ", "PYA"},{"ピュ", "PYU"},{"ピョ", "PYO"},

続く
823814:2006/01/23(月) 22:19:55
{"ア", "A"},{"イ", "I"},{"ウ", "U"},{"エ", "E"},{"オ", "O"},
{"カ", "KA"},{"キ", "KI"},{"ク", "KU"},{"ケ", "KE"},{"コ", "KO"},
{"サ", "SA"},{"シ", "SHI"},{"ス", "SU"},{"セ", "SE"},{"ソ", "SO"},
{"タ", "TA"},{"チ", "CHI"},{"ツ", "TSU"},{"テ", "TE"},{"ト", "TO"},
{"ナ", "NA"},{"ニ", "NI"},{"ヌ", "NU"},{"ネ", "NE"},{"ノ", "NO"},
{"ハ", "HA"},{"ヒ", "HI"},{"フ", "FU"},{"ヘ", "HE"},{"ホ", "HO"},
{"マ", "MA"},{"ミ", "MI"},{"ム", "MU"},{"メ", "ME"},{"モ", "MO"},
{"ヤ", "YA"},{"ユ", "YU"},{"ヨ", "YO"},
{"ラ", "RA"},{"リ", "RI"},{"ル", "RU"},{"レ", "RE"},{"ロ", "RO"},
{"ワ", "WA"},{"ヰ", "I"},{"ヱ", "E"},{"ヲ", "O"},
{"ン", "N"},
{"ァ", "A"},{"ィ", "I"},{"ゥ", "U"},{"ェ", "E"},{"ォ", "O"}
};

続く
824814:2006/01/23(月) 22:21:05
public static String convert(String kana) throws IllegalArgumentException {
String str = "";
for (int i = 0, j = 0; i < kana.length(); i++) {
Character c = new Character(kana.substring(i, i + 1).charAt(0));
if (c.compareTo(new Character((char)0x30a1)) >= 0
&& c.compareTo(new Character((char)0x30fc)) <= 0) {
for (j = 0; j < Kana2RomaTbl.length; j++) {

if (kana.substring(i).startsWith(Kana2RomaTbl[j][0])) {
str = str + Kana2RomaTbl[j][1];
i += Kana2RomaTbl[j][0].length() - 1;
break;
}
}
if (j >= Kana2RomaTbl.length) {
str = str + kana.substring(i, i + 1);
}
} else {
str = str + kana.substring(i, i + 1);
}
}
return str;
}
}

続く
825814:2006/01/23(月) 22:25:25
半角カタカナではなく、全角カタカナでした。

上のコードだと例えば"キッカワ"を変換する場合、一字ずつのループ処理だと、
"ッ"の判別する場合、次の"カワ"の"K"を取得し、"ッ"→"K"と変換しなければならないので、
次のJavaScriptのような取得方法が良いのではないかという事です。

続く
826デフォルトの名無しさん:2006/01/23(月) 22:26:10
function installHebonConversion() {
function HebonMap() {
this.map = {};
}
HebonMap.prototype = {
add : function(key, value) {
this.map[key] = value;
},
get : function(key) {
var value = this.map[key];
return value? value : null;
},
getHebon : function(s, index) {
var h = null;
var c = null;
if (index + 1 < s.length) {
c = s.substring(index, index + 2);
h = this.get(c);
}
if (h == null && index < s.length) {
c = s.substring(index, index + 1);
h = this.get(c);
}
return {c : c, h : h};
}
};

続く
827814:2006/01/23(月) 22:28:08
hebonMap = new HebonMap();

hebonMap.add("ア", "A");
hebonMap.add("イ", "I");
hebonMap.add("ウ", "U");
hebonMap.add("エ", "E");
hebonMap.add("オ", "O");

hebonMap.add("カ", "KA");
hebonMap.add("キ", "KI");
hebonMap.add("ク" "KU");
hebonMap.add("ケ", "KE");
hebonMap.add("コ", "KO");
以下、全てのカナとローマ字が続く

続く
828814:2006/01/23(月) 22:29:46
function toHebon(s) {
var hebon = "";
var lastHebon = "";
var lastChar = "";
var i = 0;
while (i < s.length) {
var hr = hebonMap.getHebon(s, i);
if (hr.c == "っ") {
var nextHr = hebonMap.getHebon(s, i + 1);
if (nextHr.h != null) {
if (nextHr.h.indexOf("CH") == 0) {
hr.h = "T";
} else {
hr.h = nextHr.h.substring(0, 1);
}
}
} else if (hr.c == "ん") {
var nextHr = hebonMap.getHebon(s, i + 1);
if (nextHr.h != null && (nextHr.h.indexOf("B") == 0
|| nextHr.h.indexOf("M") == 0
|| nextHr.h.indexOf("P") == 0) ) {
hr.h = "M";
} else {
hr.h = "N";
}
} else if (hr.c == "ー") {
hr.h = "";
}

続く
829814:2006/01/23(月) 22:30:50
if (hr.h != null) {
if (lastHebon != null) {
var htest = lastHebon + hr.h;
if (htest.length > 2) {
htest = htest.substring(htest.length - 2);
}
if (htest == "AA" || htest == "II" || htest == "UU" || htest == "EE" || htest == "OO" || htest == "OU") {
hr.h = "";
}
}
hebon += hr.h;
} else {
hebon += hr.c;
}
lastHebon = hr.h;
lastChar = hr.c;
i += hr.c.length;
}
return hebon;
}
String.prototype.toHebon = function() {
return toHebon(this);
}
}
installHebonConversion();

以上、非常に読みづらいと思いますが、宜しくお願いします。
830デフォルトの名無しさん:2006/01/23(月) 22:33:41
>817-820氏ではないですが。
もし俺が>817-820氏だったらけっこうヘコみます。
JDK5.0はダメだと指定しろと。
>822-829では結局何をお願いされたのかよくわかりません。。
あと、仕事上での宿題ってそれは"宿題"じゃなくて"仕事"じゃないの?
831814:2006/01/23(月) 22:33:49
828のひらがなは間違いで、カタカナに読み替えて下さい。
832814:2006/01/23(月) 22:37:07
>>830
820氏には大変申し訳ない事をしたと反省しています。

Javaの勉強中で、業務上で問題になっている箇所を
考えてみるという課題を出されました。
私が作業者というわけではありません。
833デフォルトの名無しさん:2006/01/23(月) 22:54:24
>798様
797です。仰る通りです申し訳有りません…。
本当に右も左も分かっていないですね(汗)
これは別々に保存すれば良いのでしょうか?
コマンドプロント上で実行する時に1ファイルを
実行することかした事がなかったのでついまとめてしまったのですが…。
834830:2006/01/23(月) 22:58:48
if (kana.substring(i).startsWith(Kana2RomaTbl[j][0])) {
に対応するelse if で
} else if ( kana.charAt(i) == 'ッ' ) {
for( int k=0; k<Kana2RomaTbl.length; k++ ) {
if( kana.substring(i+1).startsWith(Kana2RomaTbl[k][0]) ) {
str += Kana2RomaTbl[k][1].charAt(0);
i++;
break;
}
}
とか足しとけばいいんじゃないの?

元のソースの時点で「ピュ」とかちゃんと変換できません。
「ピ」より「ピュ」のほうが後に評価されるようになってる。
startsWith()使ってるからKana2RomaTblでカタカナ2文字の奴は上位に持ってこないとダメ。
835814:2006/01/23(月) 23:05:40
>>834
なるほど。試してまたレスします。

ピュの変換は確かにその通りですね。
指摘ありがとうございます。
836814:2006/01/23(月) 23:33:49
>>834
変換できました。ありがとうございます。

しかし、試している途中で、促音や長音を考慮していない事に気付きました。
下記のように変換したいのですが、どのようなif文を追加すれば良いのでしょうか?

促音子音を重ねて示します。
(例)服部 (ハットリ) HATTORI   吉川(キッカワ)KIKKAWA 

チ(CHI)、チャ(CHA)、チュ(CHU)、チョ(CHO)音に限り、その前に T を加えます。
(例)発地(ホッチ) HOTCHI   八丁(ハッチョウ) HATCHO

その他はCを重ねて示します
HOCCHI HACCHO

長音ヘボン式では長音を表記しません
(例)河野(コウノ) KONO   大野(オオノ)ONO
日向(ヒュウガ) HYUGA   中馬(チュウマ) CHUMA

宜しくお願いします。
837796:2006/01/23(月) 23:37:19
>>806
サンクス、参考にしてみるよ。。
838デフォルトの名無しさん:2006/01/24(火) 00:21:56
>833
はい。 それは別々にそれを保存します。
そして、それぞれがコンパイルされます。
次に、2のjavaファイルになります、そして、さらに、コンパイラは2のクラス
が問題1のためのファイルであると生成します。
そのうえ、同様に2のjavaファイルになります、そして、さらに、コンパイラは2
のクラスが問題5のためのファイルであると生成します。
あなたがKadai772_1の公共の静的なvoicメイン(結ぶ)を実行すると、問題1は計算
されるでしょう。
そして、Kadai772_5は公共の静的なvoicメイン(結ぶ)のそばで問題5について計
算するでしょう。
%java Kadai772_1のようにコマンドラインにそれを置いてください。
(Powered by BizLingo)
839デフォルトの名無しさん:2006/01/24(火) 00:23:20
>>833
はい。別々に保存します。
そしてそれぞれをコンパイルします。
すると課題1のためにそれは2つのjavaファイルとなり
さらにコンパイラは2つのclassファイルを生成します。
また課題5のためにも同様に2つのjavaファイルとなり
さらにコンパイラは2つのclassファイルを生成します。
あなたはKadai772_1のpublic static voic main(String)
を実行したら課題1の計算が行われるでしょう。
そしてKadai772_5がpublic static voic main(String)に
よって課題5は計算するでしょう。
コマンド行に% java Kadai772_1のように入れなさい。
(BizLingoによって動かされます。)
840デフォルトの名無しさん:2006/01/24(火) 00:38:25
>>833
課題1の実行方法を示します。
次の手順で実行してください。
(1) >>778 を Shop.java に保存します。
(2) (>>779 を Kadai772_1.java に保存します。
 ※(1)と(2)で作る2つのファイルは、同じじディレクトリに置きましょう。
(3) Shop.java をコンパイルします。
  % javac Shop.java
   → Shop.class ができます。
(4) Kadai772_1.java をコンパイルします
 % javac Kadai772_1.java
  → Kadai772_1.class ができます。
(5) Kadai772_1 を実行します。
 % java Kadai772_1
  →次のような出力が得られる筈です。
    A店のアイスの値段=100
    B店のアイスの値段=105
    A店の方がB店より5円安い。

javac や java の実行にあたりクラスパス等は適切に設定済みであるものとします。

課題5についても同様です。
(1) >>783 を Person.java に保存。
(2) >>784 を Kadai772_5.java に保存。
(3) % javac Person.java
(4) % javac Kadai772_5.java
(5) % java Kadai772_5
これで動くと思います。
// 作成者じゃないけどさ。
841デフォルトの名無しさん:2006/01/24(火) 09:14:10
>836
一つだけヒントをあげよう。

・長音かどうかを判別するには形態素解析が必要である。
例: *ツウ*シン(通信) → 長音( *TSU*SHIN )
   ニガ*ツウ*マレ(二月生まれ) → 非長音 ( NIGA*TSUU*MARE )
842841:2006/01/24(火) 09:16:38
当たり前だけど、それに付随して辞書も要るので念の為。
843801:2006/01/24(火) 13:23:21
>>807
ありがとうございます。
これらのjavaファイルを実行するには、作業フォルダにパッケージ名と同じフォルダを作って
その中にそれらのjavaファイルを全部置いて、コンパイル、実行するんですよね?
コンパイルするとエラーが出るのですが、これはソース中の問題なのでしょうか。
844 ◆wOb0EU3GSI :2006/01/24(火) 13:59:21
>>843
Java2 5.0を使ってますか?
1.4だとコンパイルエラーになるはずだと思いますよ。
総称と列挙型を使ってるから。
845デフォルトの名無しさん:2006/01/24(火) 14:05:02
今、50.使ってるやつなんかいんのかよ
846843:2006/01/24(火) 14:20:08
>>844
ご丁寧にありがとうございます。やってみます。
847デフォルトの名無しさん:2006/01/24(火) 15:18:19
sunのjava5.0をダウンロードしてインストールしようとしたら使用許諾書みたいなのがでてきました
90日以内に領収書がどうたらこうたらと書いてありました
気にせずインストールしたのですがお金を払わなければいけないのでしょうか??
848デフォルトの名無しさん:2006/01/24(火) 15:19:26
ageてしまった・・・
849デフォルトの名無しさん:2006/01/24(火) 15:36:12
(´-`).。oO(こいつ一体何インスコしたんだろう・・・)
850デフォルトの名無しさん:2006/01/24(火) 15:44:13
>>849
やっぱりお金払わないといけないのでしょうか?
851843:2006/01/24(火) 17:25:24
>>844
5.0でやってみたらうまくいきました。本当にありがとうございました。助かりました。
あと、>>847, >>848, >>850は私ではありません。
ちゃんとうまくいきました。
852デフォルトの名無しさん:2006/01/24(火) 19:46:48
全くわかりません(; ;)31までです。お願いします。
以下です↓

アルファベットの出現頻度を調べるプログラムFreqを作りましょう.

引数で指定したファイルを読み込んで,A〜Zまでのそれぞれのアルファベットが何回出現したかを表示してください.

% java Freq foo.txt (foo.txtというファイルから調べる)
A ... 10
B ... 4
C ... 9
...
Z ... 5
%

/usr/share/dict/words というファイルに英語の単語が1行1語で載っています.このファイルを指定した場合の実行結果を添付してください.

ヒント
それぞれのアルファベット(A〜Z)の数をカウントするために,26の要素を持つint型の配列を用います.
Aの数は配列の0番目,Bの数は配列の1番目...に格納します.
配列の添字として"A"なら0,"B"なら1...という値を計算する必要があります.それには次の方法が使えます.
String abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int n = abc.indexOf("C"); // n = 2 が得られる

文字列を1文字づつに分解するには,Stringクラスのsubstringメソッドが使えます.
大文字小文字を区別せずにカウントするには,読み込んできた行を一度大文字(あるいは小文字)に変換しておくと良いでしょう.このためにはStringクラスのtoUpperCase()(やtoLowerCase())メソッドが使えます.
ソースプログラム,プログラムの解説,実行結果,感想,難易度を書いて下さい.

853デフォルトの名無しさん:2006/01/24(火) 19:51:11
もういっちょうあります(; ;)誰か心優しい方、よろしくお願いします。
以下です↓

ファイル中の,特定の文字列が含まれる行だけ抜き出して表示するような
文字列検索プログラムSearchStringを作ってください.

表示する行には,その行が何行目なのかも一緒に表示してください.
最初の行は1行目とします.
検索する文字列とファイル名は引数で与えること.

myfile(という名前のファイル)から"tion"という文字列を含む行を
検索する場合,
以下のように実行します.
以下の結果は30行目と43行目にtionを含む行があったことを示しています.

$ java SearchString tion myfile
30:your question is ..
43:reputation ...
$

実は,UNIX には同様の処理を行うコマンド(fgrep)が既に存在します.上記の例を fgrep コマンドで実行するにはコマンドラインから fgrep -n tion myfile と入力して下さい.

ソースプログラム,プログラムの解説,実行結果,感想,難易度を書いて下さい.

ヒント: 文字列中から文字列を検索するにはStringクラスのindexOf(String)メソッドを使うと簡単です.

indexOfで返される「インデックス」とは,a.indexOf(b)で「bがaの何文字目から始まるか」という値のことです.
"ABCD".indexOf("AB") == 0 になります (0文字目から始まるので)
854デフォルトの名無しさん:2006/01/24(火) 20:05:11
package net._2ch.tech;

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

public class Freq {
 public static void main( final String args[] ) throws Exception {
  final List l = Arrays.asList( new String[]{"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","X","Y","Z" } );
  final Map m = new HashMap( );
  {
   final Iterator it = l.iterator( );
   while( it.hasNext( )) { m.put( it.next( ), "" ); }
  }
  final BufferedReader rd = new BufferedReader( new FileReader( args[0] ));
  while( true ){
   final String s = rd.readLine( );
   if( s == null ) break;
   final Iterator it = l.iterator( );
   while( it.hasNext( )) {
    final String key = (String)it.next( );
    m.put( key, m.get( key ) + s.replaceAll( "[^"+key + key.toLowerCase( )+"]", "" ));
   }
  }
  rd.close( );
  final Iterator it = l.iterator( );
  while( it.hasNext( )) {
   final String key = (String)it.next( );
   System.out.println( key + "..." + ((String)m.get( key )).length( )/key.length( ));
  }
 }
}
855デフォルトの名無しさん:2006/01/24(火) 20:05:57
833です。838、839、840様有難う御座いました!
何とか動かせそうです。お世話になりました。
856デフォルトの名無しさん:2006/01/24(火) 20:06:01
>854 は >>852
857デフォルトの名無しさん:2006/01/24(火) 20:28:45
 課題 】2つの数字を入力し、加算・減算・乗算・除算・を行うプログラム作成
大きく入力されたほうから計算するようにする。(例あ=7、A=9の場合9から計算する)
除算については浮動小数点形式で表示。
main()メソッドとCalcクラスにわけて行う。
calcにはaddメソッド、subメソッド、mulメソッド、divメソッド作成。
【 用語 】特に無し
【 期限 】1月25日
【 Ver  】特に無し
【 補足 】宜しくお願いします。


858デフォルトの名無しさん:2006/01/24(火) 20:37:22
課題 】要素数が6つの任意の整数を入力する。(入力によって)
それぞれ昇順、降順に並び替え、出力する。
main()メソッドとchangeクラスにわけて行う。
changeクラスにはsyoujyunメソッドとkoujyunメソッド作成。
【 用語 】特に無し
【 期限 】1月25日
【 Ver  】特に無し
【 補足 】こちらも、宜しくお願いします。
859デフォルトの名無しさん:2006/01/24(火) 20:39:10
858です。追加です。
2つに分けてないやつが下のやつです。よろしくお願いします。
import java.io.*;
public class Sort {
public static void main(String[] args) throws IOException{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
int[] sort=new int[6];
for(int i=0; i<sort.length; i++){
System.out.print("数値入力["+(i+1)+"]:");
sort[i] = Integer.parseInt(buf.readLine());
}
// 昇順
for(int i=0; i<sort.length; i++){
for(int j=i+1; j<sort.length; j++){
if(sort[i]>sort[j]){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}}}
for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", ");
}
System.out.println();
// 降順
for(int i=0, j=sort.length-1; i<sort.length/2; i++,j--){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}
for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", ");
}}}
860デフォルトの名無しさん:2006/01/24(火) 22:06:33
行列の
         {0.6 4.0}5
     {1.0}{0.7 0.3}
を計算するプログラムを教えてください!     
   {0.6 4.0}5
   {0.7 0.3}  
  は5乗するって意味です!
  期限:1月27日
よろしくお願いします!    
861デフォルトの名無しさん:2006/01/24(火) 22:09:54
860です!配列とforを使って作ってください(><)
お願いします!
862デフォルトの名無しさん:2006/01/24(火) 22:13:47
860です!配列とforを使って作ってください(><)
お願いします!
863デフォルトの名無しさん:2006/01/24(火) 22:14:47
860です!配列とforを使って作ってください(><)
お願いします!
864>>858-859:2006/01/24(火) 22:26:12
>>858-859
syoujyunとkoujyunはクラスメソッドでもいい?
こんな感じになった。

// Sort.java
package ch2_858;
import java.io.*;
public class Sort {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
int[] sort=new int[6];
for(int i=0; i<sort.length; i++){
System.out.print("数値入力["+(i+1)+"]:");
sort[i] = Integer.parseInt(buf.readLine());
}
Change.syoujyun(sort);
Change.koujyun(sort);
}
}
// つづく
865>>858-859:2006/01/24(火) 22:27:46
// Change.java
package ch2_858;
public class Change {
public static void syoujyun(int[] sort) { // 昇順
for(int i=0; i<sort.length; i++){
for(int j=i+1; j<sort.length; j++){
if(sort[i]>sort[j]){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}}}
for(int i=0; i<sort.length; i++){
System.out.print(sort[i]+", ");
}
System.out.println();
}
public static void koujyun (int[] sort) { // 降順
for(int i=0, j=sort.length-1; i<sort.length/2; i++,j--){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}
for(int i=0; i<sort.length; i++){
System.out.print(sort[i]+", ");
}}}
}
// 以上
866デフォルトの名無しさん:2006/01/24(火) 23:05:31
>860
ttp://www.wikiroom.com/java/index.php?SourcePost__#p36dc362
JDK5.0の機能をつかってるのでそれより前のバージョンだと動きません。
867デフォルトの名無しさん:2006/01/24(火) 23:20:21
864さんありがとうございます
868デフォルトの名無しさん:2006/01/24(火) 23:29:16
 課題 】2つの数字を入力し、加算・減算・乗算・除算・を行うプログラム作成
大きく入力されたほうから計算するようにする。(例あ=7、A=9の場合9から計算する)
除算については浮動小数点形式で表示。
main()メソッドとCalcクラスにわけて行う。
calcにはaddメソッド、subメソッド、mulメソッド、divメソッド作成。
【 用語 】特に無し
【 期限 】1月25日
【 Ver  】特に無し
【 補足 】
これなんですが、
ヒント インスタンス生成
っての抜かしてました・・すいません。
宜しくお願いします。
869マイト:2006/01/24(火) 23:53:46
http://www.hamq.jp/stdB.cfm?i=mad034&pn=6
この状態でマウスイベントを使えるようにするには
どうすればいいですか
870765:2006/01/25(水) 00:21:57
頑張って課題1のPADを作成し
PADの変数を
身←身長
体←体重
総←総人数(身長のグループ)
にしたのですが>>770さんのソース(Java)との変数の関係が
わからないのでをどなたか教えてください。

後、いくら考えても課題2の山くずしゲームのPAD図がわからないので
できればどなたか教えてください
871デフォルトの名無しさん:2006/01/25(水) 00:36:05
860です!>866さんありがとうございました!
でも(^_^;)僕には難しいので、累乗の部分を

{0.6 4.0} {0.6 4.0} {0.6 4.0} {0.6 4.0} {0.6 4.0}
{0.7 0.3} {0.7 0.3} {0.7 0.3} {0.7 0.3} {0.7 0.3}

の計算(つまり{0.6 4.0}を5回乗算)したものに{1.0}を乗算して
(   {0.7 0.3} )

解を出力するプログラム(配列とforを使って)を作って欲しいで
す(_ _;)すみませんがどうかお願いしますm(_ _;)m
【期限】1月27日
872デフォルトの名無しさん:2006/01/25(水) 00:39:15
[871の修正]860です!>866さんありがとうございました!
でも(^_^;)僕には難しいので、累乗の部分を

{0.6 4.0} {0.6 4.0} {0.6 4.0} {0.6 4.0} {0.6 4.0}
{0.7 0.3} {0.7 0.3} {0.7 0.3} {0.7 0.3} {0.7 0.3}

の計算(つまり{0.6 4.0}を5回乗算)したものに{1.0}を乗算して
   (   {0.7 0.3}     )

解を出力するプログラム(配列とforを使って)を作って欲しいで
す(_ _;)すみませんがどうかお願いしますm(_ _;)m
【期限】1月27日
873デフォルトの名無しさん:2006/01/25(水) 01:16:35
とりあえず少し落ち着いたらどうだろう。
874デフォルトの名無しさん:2006/01/25(水) 13:46:52
【課題】yahooのソースをinternal.hemlという名前でファイルに保存するプログラムを作成

一個前の課題で画面に出力するやつはできたのですがファイルに保存するやりかたがわかりません。
一個前の画面に出力するプログラムを載せておきます


import java.net.*;
import java.io.*;

class j10_1
{

public static void main(String args[])
{
try
{
Socket socket =
new Socket("www.kcg.edu", 80);
BufferedReader brin =
new BufferedReader(
new InputStreamReader(
socket.getInputStream()));
PrintWriter pwout =
new PrintWriter(
socket.getOutputStream(), true);
----------------------------------------------------------------------
続く
875デフォルトの名無しさん:2006/01/25(水) 13:48:24
----------------------------------------------------------------------
pwout.println("GET /index.html HTTP/1.0");
pwout.println();
String buf;
while( (buf = brin.readLine()) != null)
{
System.out.println(buf);
}
pwout.close();
brin.close();
socket.close();
}
catch(IOException e)
{
}
}
}

876デフォルトの名無しさん :2006/01/25(水) 14:43:41
ノードA,Bに対する初期確率ベクトル、推移確率行列が次のように与えられたとき、
3年後、5年後の確率を求めるプログラムをjavaで組みなさい。

初期確率ベクトル
q(0)={1,0}
推移確率行列
   A  B
P= {0.6 0.4}
{0.7 0.3}

877デフォルトの名無しさん:2006/01/25(水) 14:44:21
ノードA,Bに対する初期確率ベクトル、推移確率行列が次のように与えられたとき、
3年後、5年後の確率を求めるプログラムをjavaで組みなさい。

初期確率ベクトル
q(0)={1,0}
推移確率行列
   A  B
P= {0.6 0.4}
{0.7 0.3}
878デフォルトの名無しさん:2006/01/25(水) 14:50:51
【 課題 】以下のdouble型の配列
      [32.1, 4.5, 80.2, 0.1, 8.88, 70.4, 12.3, -2, 70.5, 50.6]
      の二番目に大きい値と二番目に小さい値を求めて入れ換えを行い、
      全ての配列を出力するプログラムを作成しなさい。
【 期限 】今日の夜までには回答が欲しいです。
【 Ver  】1.4
【 補足 】丸投げです。お願いします。
879デフォルトの名無しさん:2006/01/25(水) 14:58:57
* CSV文字列をStringの配列へ変換する。
* カンマで要素を区切る。
* ダブルクォートで括られている場合はカンマを含んでも1要素として扱う。
* 2連続のダブルクォートが現れた場合は1つのダブルクォートに置き換える。

* @param csvString CSV文字列。
* @return 各要素ごとに格納された配列。

public static String[] toStringArray(String csvString) {
// TODO: ここに処理を実装する。
return null;
}

まだ習い始めたばっかりです。
宜しくお願いします。
880デフォルトの名無しさん:2006/01/25(水) 15:20:57
【課題】
サーバで計算させてクライアントでは数値の入力と出力のみ行うプログラムを作成
※足し算をサーバで行う(1つのPCでOK)
クライアントはサーバ名を入力(localhost)し,キーボードから数値を2つ入力して,サーバに2つの数値を送信する。(ポート番号12335)
サーバは2つの数値を受け取るとその2つを足し算し結果をクライアントに返す。
クライアントは計算結果を受け取り,画面に出力する。


まったくわかりません。。。お願いします
881デフォルトの名無しさん:2006/01/25(水) 15:26:14
>>878
適当。

public class C878 {
public static void main(String[] args) {
double[] num =
{ 32.1, 4.5, 80.2, 0.1, 8.88, 70.4, 12.3, -2, 70.5, 50.6 };
int ch1 = 0, ch2 = 0;

for (int i = 0; i < num.length; i++) {
int lank = 1; //数値の順位 lank
for (int j = 0; j < num.length; j++) {
if (num[i] < num[j]) { // num[i]よりnum[j]が大きかった場合にlankが下がる
lank++;
}
}
if (lank == 2) { // lankが2位の時の添字をch1に入れる
ch1 = i;
} else if (lank == num.length - 1) { // lankが後ろから2番目のものも同様に
ch2 = i;
}
}
double ch3 = num[ch1]; // 交換
num[ch1] = num[ch2];
num[ch2] = ch3;
for (int i = 0; i < num.length; i++) { // 表示
System.out.print(num[i] + ", ");
}
}
}
882デフォルトの名無しさん:2006/01/25(水) 15:38:14
キーボードから単語を読み取り、その単語の何番目に文字'a'が含まれている
か判定するコードを作成してください。
このコードを実行すると、以下のように出力されるようにしてください。
-----------------------------------------------------------------------------------------------------------
Z:> java [作成したプログラム名]
文字列を入力してください [Returnキー]
Car [Returnキー]
Carには文字aが含まれます。aは1番目にあります。
-----------------------------------------------------------------------------------------------------------
(ヒント:Stringクラスと、StringクラスのindexOfメソッドを使います).

今すぐ教えていただきたいです!!!!基礎もまだわからずです。
おねがいします。
883デフォルトの名無しさん:2006/01/25(水) 16:03:14
>>882
aが含まれない場合の出力はないのか?
884デフォルトの名無しさん:2006/01/25(水) 16:11:34
ないです。お願いします!
885デフォルトの名無しさん:2006/01/25(水) 16:10:01
>>882
こんなんでいいのか?

import java.io.*;
public class java {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("文字列を入力してください");
String s = br.readLine();
int num=s.indexOf("a"); // 文字列sの何番目にaがあるかを判定。なかった場合戻り値は-1。
if(num>=0){
System.out.print(s+"には文字aが含まれます。aは"+num+"番目にあります。");
}
else{
System.out.print(s+"には文字aが含まれていません。");
}
}
}
886デフォルトの名無しさん:2006/01/25(水) 16:14:32
ないのか。
んじゃ、if文消してくれ。それくらいはわかるだろ。
887デフォルトの名無しさん:2006/01/25(水) 16:21:16
>>885
ありがとうございます!本当にありがとう!実行できました。
あと何問かあるんですけどいいですか?
888デフォルトの名無しさん:2006/01/25(水) 16:33:29
実は仕事中だから時間があればな。
俺はプログラマなのに実はプログラミング歴三ヶ月だから、答えられないものは答えられん。
889デフォルトの名無しさん:2006/01/25(水) 16:34:31
キーボードから2つの整数を読み取り、その和を出力するコードを作成して
ください。
このコードを実行すると、以下のように出力されるようにしてください。
----------------------------------------------------------------------------------------------------------
Z.> java [作成したプログラム名]
整数を2つ入力してください
5 [Return キー]
10 [Return キー]
5と10の和は 15 です。
----------------------------------------------------------------------------------------------------------
(ヒント:Mathクラスを使います)


おおおお願いします!!!かなり急ぎです!!
890デフォルトの名無しさん:2006/01/25(水) 16:37:19
三ヶ月でそんなにできるようになったんですか!?
まじ尊敬します!!
891デフォルトの名無しさん:2006/01/25(水) 16:39:25
頑張れ>>888!!
Mathクラスときたぞ!?
ぜんっぜん意味わからん
892デフォルトの名無しさん:2006/01/25(水) 16:41:28
>>889
初歩すぎるだろ。後で理解しとこうな。

import java.io.*;
public class java {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("整数を2つ入力してください");
int a = Integer.parseInt(br.readLine());
int b = Integer.parseInt(br.readLine());
System.out.print(a+"と"+b+"の和は "+(a+b)+" です。");
}
}
893デフォルトの名無しさん:2006/01/25(水) 16:42:43
なにやってんだ!
Mathクラスを使うんだ!
誰もIntegerとparseInt()使えなんて言ってない!
894デフォルトの名無しさん:2006/01/25(水) 16:42:51
あ、すまん。Mathクラスなんて使ってないわ。
895デフォルトの名無しさん:2006/01/25(水) 16:43:16
そうですか でもありがとうございます!>>891のおかげで
1問救われました!
本当ありがとうございました お仕事お疲れさまです!
896デフォルトの名無しさん:2006/01/25(水) 16:44:29
ってゆーかMathクラスを使ってどうやるのかむしろ教えてください
897デフォルトの名無しさん:2006/01/25(水) 16:47:28
>>895
もうわかったから無駄なレスしないで下さい。邪魔です。
898デフォルトの名無しさん:2006/01/25(水) 16:47:48
891は仕事してないよ
899デフォルトの名無しさん:2006/01/25(水) 16:49:54
絶対にMathクラスじゃなくてIntegerクラスの間違いだと思うんだがな。
900デフォルトの名無しさん:2006/01/25(水) 16:56:23
numは表示の時に+1しないとまずいと思われ
901デフォルトの名無しさん:2006/01/25(水) 16:56:52
【 課題 】キーボードから入力された2つの数値で四則演算を行うプログラムを作成せよ。
       ただし、クラスの継承を用い、なるたけ効率的なプログラムを組むようにすること。
【 期限 】今日中にお願いします
【 Ver  】1.4
【 補足 】丸投げです
902デフォルトの名無しさん:2006/01/25(水) 16:58:02
>>900
例題の通り↓にやったからいいんじゃないか?
>Carには文字aが含まれます。aは1番目にあります。
903デフォルトの名無しさん:2006/01/25(水) 17:00:00
ありゃ、例題があったのね。スレ汚しスマン
904デフォルトの名無しさん:2006/01/25(水) 17:01:52
>>901
よくわからん。
2つの数値を入力したら四則演算全ての値を表示するのか?
たとえば1→2と入力したら
「和は3 差は-1 積は2 商は0.5」 と言った感じで入力した順に計算して表示されるようにすんの?
905デフォルトの名無しさん:2006/01/25(水) 17:07:40
>>901
入出力の例くらいないとわからない。
906デフォルトの名無しさん:2006/01/25(水) 17:09:26
>>904
説明不足ですみません
おっしゃるとおりです
2つの数値を入力したら
「和は○、差は○、積は○、商は○」のように四則演算全ての計算を順番に表示するプログラムです
あと、0除算や数値以外の入力に対するエラー処理も含めるように言っていました
主に口頭での説明だったので説明不足になってすみません
907デフォルトの名無しさん:2006/01/25(水) 17:11:10
てゆーか何クラス継承せいっちゅーねん
908デフォルトの名無しさん:2006/01/25(水) 17:13:00
クラス継承してやるような問題か?
909デフォルトの名無しさん:2006/01/25(水) 17:14:00
あと、計算結果は小数点以下も含むのか。
もしくは数値入力も少数を含むのか、など。
910デフォルトの名無しさん:2006/01/25(水) 17:19:16
とりあえずJFrameでも継承しとくか
911デフォルトの名無しさん:2006/01/25(水) 17:21:25
Thread継承して計算を平行してやるか?
912901:2006/01/25(水) 17:21:59
ほんとに説明不足ですみません・・・。ごめんなさい
クラスの継承を習ったばかりなので使えと言ったのだと思います
ほんとに効率的なのかどうかはわかりません
数値入力も計算結果も整数でお願いします
913デフォルトの名無しさん:2006/01/25(水) 17:24:19
問題・下記のプログラムにより「Doja」から「MIDP」へ移植せよ!

〜Doja〜
[ public void readQA(){ // ------------------------------- 問題文をリソースから読み込み
int d;
try {
InputStream is = Connector.openInputStream("resource:///QAin03.txt");//問題と解答
InputStreamReader isd = new InputStreamReader(is,"SJIS");
BufferedReader br=new BufferedReader(isd);
String s;
for (d = 0; d <10; d++){
if ((s=br.readLine()) ==null) break;
 ques[d]=s;
if(s.length() == 19)le[d] = le[d] + s.length() / 19;
 else le[d] = le[d] + s.length() / 19 + 1;
if ((s=br.readLine()) ==null) break;
 ames[d][0]=s;
if ((s=br.readLine()) ==null) break;
 ames[d][1]=s;
if ((s=br.readLine()) ==null) break;
 ames[d][2]=s;
}for (d = 0; d <10; d++){
 if ((s=br.readLine()) == null) break;
  ans[d]=Integer.parseInt(s);
 }is.close();
}catch (IOException e) {
}
}
です。教えてください・・・ToT
914デフォルトの名無しさん:2006/01/25(水) 17:25:47
↑ 
MIDPの場合はBufferedReader使えないので、他の方法はありますか?
915デフォルトの名無しさん:2006/01/25(水) 17:33:23
>>901のってポリモルフィズムでも使えって事なんかね。
916デフォルトの名無しさん:2006/01/25(水) 17:52:41
import java.awt.*;
import java.io.*;
import javax.swing.*;
class Sample extends JFrame{
public static void main(String srgs[])throws IOException{
Sample frame = new Sample("Sample");
frame.setBounds(20,10,480,320);
frame.setVisible(true);
int x,y;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("整数1個め:");
x = Integer.parseInt(br.readLine());
System.out.print("整数2個め:");
y = Integer.parseInt(br.readLine());
System.out.println("和:"+(x+y)+"\n差:"+(x-y)+"\n積:"+(x*y)+"\n商:"+((double)x/y));
}
public Sample(String title){
super(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

は〜いJFrame継承したよ〜
917デフォルトの名無しさん:2006/01/25(水) 18:04:25
java3dでファイル操作をしたいのですが、いまいちわかりません。
座標(x,y,z)を入力したメモ帳を用意して、その座標に球を置くという
ものです。で最終的には、座標を1万と作り、その座標に球(1万個)
を置きたいのですが…。誰か教えてください。
918デフォルトの名無しさん:2006/01/25(水) 18:23:42
ノードA,Bに対する初期確率ベクトル、推移確率行列が次のように与えられたとき、
3年後、5年後の確率を求めるプログラムをjavaで組みなさい。

初期確率ベクトル
q(0)={1,0}
推移確率行列
  A  B
 0.6 0.4
P= { }   ※Pは2×2の行列です。
   0.7 0.3
 
です。期限は2月5日です。
なんかfor文と配列使ってやるらしいのですが
全くわからないのでお願いします。

919デフォルトの名無しさん:2006/01/25(水) 18:24:25
推移確率うんちゃらなんて知らぬ
920デフォルトの名無しさん:2006/01/25(水) 18:26:43
>>901
かなり適当。
商がどうにもおかしいからdouble変換したらArithmeticExceptionが機能しないでやんの。
仕方ないから、無意味な式が一つ入ってる。

import java.io.*;
public class java {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
int a=0,b=0;
try{
System.out.print("数値入力[1] : ");
a = Integer.parseInt(br.readLine());
System.out.print("数値入力[2] : ");
b = Integer.parseInt(br.readLine());
}catch(NumberFormatException e){
System.out.print("不正な文字が入力されました");
System.exit(0);
}
Calc[] c = new Calc[4];
c[0] = new Plus();
c[1] = new Minus();
c[2] = new Mul();
c[3] = new Div();
for(int i = 0; i<c.length; i++){
c[i].getCalc(a,b);
}
}
}
921デフォルトの名無しさん:2006/01/25(水) 18:26:46
918です。ちょっと行列が見にくいので修正します。

     A   B
    0.6 0.4
P= {          }
    0.7 0.3 

922デフォルトの名無しさん:2006/01/25(水) 18:29:08
>>920の続き
abstract class Calc{
void getCalc(int a, int b){

}
}
class Plus extends Calc{
void getCalc(int a, int b){
System.out.print("和は"+(a+b)+", ");
}
}
class Minus extends Calc{
void getCalc(int a, int b){
System.out.print("差は"+(a-b)+", ");
}
}
class Mul extends Calc{
void getCalc(int a, int b){
System.out.print("積は"+(a*b)+", ");
}
}
class Div extends Calc{
void getCalc(int a, int b){
try{
int x = a/b;
System.out.print("商は"+((double)a/b)+", ");
}catch(ArithmeticException en){
System.out.print("0除算例外");
}
}
}
923デフォルトの名無しさん:2006/01/25(水) 18:29:46
abstractは別に入れなくても良い。
924デフォルトの名無しさん:2006/01/25(水) 18:33:30
やるならこうだった。失礼。

abstract class Calc{
abstract void getCalc(int a, int b);
}
925デフォルトの名無しさん:2006/01/25(水) 18:37:40
918です。ちょっとわかりにくいので
この行列の掛け算をできるソースお願いできますか?

      
       0.6 0.4   3
 {1.0}{         }   ※3は3乗という意味。
       0.7 0.3 
926デフォルトの名無しさん:2006/01/25(水) 18:38:11
>>816
ありがとうございました
927デフォルトの名無しさん:2006/01/25(水) 18:49:22
↓これお願いします

javaをつかってインスタンスを作る方法を3通り述べよ
928デフォルトの名無しさん:2006/01/25(水) 19:04:18
>>927
1. new を使う
2. clone()メソッドを使う
3. リフレクションAPIを使う
929>>880:2006/01/25(水) 19:35:54
>>880
// Client.java
package P880;

import java.net.Socket;
import java.io.*;

public class Client {
private static final int PORT = 12335;

public static void main(String[] args) {
int a, b, c;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
DataInputStream dis;
DataOutputStream dos;
Socket s = null;

if (args.length != 1) {
System.err.println("ホスト名を入力してください");
System.err.println("Usage: java Client ホスト名");
System.err.println("終了します");
System.exit(1);
}
do {
try {
a = readNumber(br);
b = readNumber(br);
s = new Socket(args[0], PORT);
dis = new DataInputStream(s.getInputStream());
dos = new DataOutputStream(s.getOutputStream());
//つづく
930>>880:2006/01/25(水) 19:40:45
>>880 つづき
dos.writeInt(a);
dos.writeInt(b);
c = dis.readInt();
System.out.println("計算結果は" + c + "です");
} catch(Exception e) {
System.err.println("なんかエラーだって(・∀・)");
} finally {
try {
if (s != null) s.close();
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
}
}
} while(isUserWillingToContinue(br));
try {
if (s != null) s.close();
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
}
System.out.println("終了します");
}
private static boolean isUserWillingToContinue(BufferedReader br) {
String str;
System.out.print("続けますか?(y/n) > ");
try {
str = br.readLine();
if (str != null && str.toUpperCase().equals("Y")) return true;
} catch(IOException e) {
// つづく
931>>880:2006/01/25(水) 19:42:54
>>880
System.err.println("なんかエラーっぽい");
e.printStackTrace();
return false;
}
return false;
}
private static int readNumber(BufferedReader br) throws IOException, NumberFormatException {
System.out.print("数値を入力してください> ");
return Integer.parseInt(br.readLine());
}
}
// ここまで Client.Java

// Server.java
package P880;

import java.net.Socket;
import java.net.ServerSocket;
import java.io.*;

public class Server {
public static final int PORT = 12335;
public static void main(String[] args) {
ServerSocket ss = null;
Socket s = null;
try {
ss = new ServerSocket(PORT);
for (;;) {
s = ss.accept();
new ServerThread(s).start();
//つづく
932>>880:2006/01/25(水) 19:44:36
>>880
}
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
} finally {
if (s != null) {
try {
s.close();
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
}
}
}
}
}
class ServerThread extends Thread {
private Socket s = null;
ServerThread(Socket s) {
this.s = s;
}
public void run() {
DataInputStream is = null;
DataOutputStream os = null;
int a, b, c;
try {
is = new DataInputStream(s.getInputStream());
os = new DataOutputStream(s.getOutputStream());
a = is.readInt();
b = is.readInt();
//つづく
933>>880:2006/01/25(水) 19:50:37
>>880
c = a + b;
os.writeInt(c);
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
} finally {
try {
if (is != null) is.close();
if (os != null) os.close();
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
}
}
}
}
//ここまでServer.java

コンパイル
$ javac Client.java
$ javac Server.java

サーバーの実行
$ java P880.Server

クライアントの実行
$ java P880.Client localhost

サーバーの終了方法はプロセスのキルで行う。(Ctrl-Cを入力する、など)
//以上
934デフォルトの名無しさん :2006/01/25(水) 20:00:43
917の問題はどうですか?
935デフォルトの名無しさん:2006/01/25(水) 20:02:31
間違えますた。
<<913 の問題はどうですか???
936デフォルトの名無しさん:2006/01/25(水) 20:04:52
>934
”マルチポストは氏ね”
以上が解答だ。
937901:2006/01/25(水) 20:49:00
>>920
ありがとうございました。ちゃんと動作しました
938866:2006/01/25(水) 21:22:02
今日はえらく盛況ですな。新規の書き込みが71件もある。
> 質問者
テンプレ使ってください。作った意味がないので。
^^^^^^^^^^^^^^^^^^

> 回答者の方々
自分の整理の意味も兼ねて、やり残しリスト貼っておきます。
>869
>870
>871=>872
>874-875
>879
>913(マルチ?)
>917
>876=>877=>918=>921=>925(とりあえず>925に答えれば良い)

で、>925。
>866を参考にしてmainメソッド変えて動かせませんか?
939デフォルトの名無しさん:2006/01/25(水) 21:53:25
>874-875
// j10_2.java
import java.io.*;
import java.net.URL;
class j10_2 {
public static void main(String args[]) {
BufferedWriter bw = null;
BufferedReader br = null;
try {
File outputFile = new File("internal.html");
if( !outputFile.createNewFile() ) {
throw new IOException( "出力ファイルの作成に失敗しました。ファイルがもうあるとかかも。" );
}
bw = new BufferedWriter( new FileWriter(outputFile) );
URL url = new URL( "ttp://www.yahoo.com/index.html" ); // URLの頭にhつけて。
br = new BufferedReader( new InputStreamReader( url.openStream() ) );
for( String buf; (buf=br.readLine()) != null; ) {
bw.append( buf + "\n" );
bw.flush();
}
System.out.println( outputFile.getName() + "に出力しました。" );
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if( br != null ) br.close();
if( bw != null ) bw.close();
} catch( IOException ioe ) {}
}
}
}
940878:2006/01/25(水) 22:07:11
>>881
ありがとうございます。
実行したらうまくいきました。
941デフォルトの名無しさん:2006/01/25(水) 22:45:45
>>879
もうすこし条件を教えてほしい
たとえば次の場合はどういう結果になればいいの?
(1) ダブルクォートが閉じていないとき
例1:a,"b,c
(2) ダブルクォートとカンマが入れ子になっているとき
例2:"ab,c"d
(3) ダブルクォートが三つ以上連続しているとき
例3-1:""",
例3-2:""","
942マイト:2006/01/25(水) 22:52:47
課題<金曜まで>

パネル2つ
右にコンボボックス、左のほうではマウスイベントを使えるようにする

お願いします
943デフォルトの名無しさん:2006/01/25(水) 22:58:50
>942
テンプレ使ってください。
^^^^^^^^^^^^^^^^^^
944デフォルトの名無しさん:2006/01/25(水) 23:45:19
945デフォルトの名無しさん:2006/01/26(木) 11:34:23
>>941
すみません、問題にこれしか書いていないのでその条件下でどうなればいいか判らないです。
申し訳ありません。
946941:2006/01/26(木) 12:16:23
>>945
じゃあそのへんは好きに解釈していいのかな。
だとすると、ほいっ ttp://www.wakhok.ac.jp/~tomoharu/Java/csv/
947デフォルトの名無しさん:2006/01/26(木) 12:41:09
てすと
948デフォルトの名無しさん:2006/01/26(木) 13:06:15
テステス
949デフォルトの名無しさん:2006/01/26(木) 13:24:01
test
950デフォルトの名無しさん:2006/01/26(木) 13:24:46
testing
951デフォルトの名無しさん:2006/01/26(木) 13:25:18
test
952デフォルトの名無しさん:2006/01/26(木) 13:25:49
テスツ
953デフォルトの名無しさん:2006/01/26(木) 13:38:48
test
954デフォルトの名無しさん:2006/01/26(木) 14:22:53
1000
955デフォルトの名無しさん:2006/01/26(木) 16:42:14
【 課題 】
レポートの作成方法

EightQueen.java.doc を参考に各自の環境でプログラムをコンパイル、実行できるようにしてください。
コンパイルが成功して答えが出力される事を確認したら、次の改造を行ってください。
1、プログラムの動作を理解してください。
2、答えの出力に失敗した表示が行われていますが、この行が表示されないようにしてください。
3、4x4マスの答えが出力されているプログラムを8x8マスの答えが出力できるように改造してください。
4、プログラム中の変数の説明で /* ? */ と書かれている場所がありますので、この変数の意味を表す文書をこのコメントの中に記入してください。
5、プログラムがパズルを解く仕組みを解説してください。

【 期限 】1/27
【 補足 】3まではなんとか出来たけどその後がさっぱり・・・当方経済学部なので何がなにやらさっぱりです。
956たすけt:2006/01/26(木) 16:43:33
突然ですが、誰か宿題お願いできますでしょうか。
アドバイスとかでも構いません
【 課題 】入力ファイル名をキーボードから入力し、入力ファイルに出現する平仮名(あ〜ん)の出現頻度..出現回数又は出
現する割合を求めて表示するプログラムを作成せよ。入力ファイルに平仮名以外の文字が含まれている場合、それ
らの文字は無視してよい。
=例=
入力ファイル
ぃぃいうううんん
出力結果
あ:0
ぃ:2
い:1
ぅ:0
う:3
 ・
 ・
 ・
ん:2
【 期限 】1月30
957& ◆YKECQrA4w2 :2006/01/26(木) 16:44:12
【 補足 】途中までの経過報告
import java.io.*;
class count{
public static void main(String[] args){
try{
FileReader fr = new FileReader(args[0]);
int a[];
a = new int[81];//あ〜ん までの82個を作成
int c;//データの文字
while((c = fr.read()) != -1){
if(12354<= c){//この辺りからわかりません;;
if(c<= 12435){
a[c-12354] = a[c-12354]+1;
}
}
}
fr.close();
}catch(Exception e){}
}
}
958デフォルトの名無しさん:2006/01/26(木) 16:44:40
>>955
ぶっとばしていい?
EightQueen.java.docがわかんねーよ
959955:2006/01/26(木) 16:50:30
>>958
すいません、今うpろだにあげて来ました
http://www.vipper.net/vip4197.doc.html
960デフォルトの名無しさん:2006/01/26(木) 16:54:47
皆さんVIPPERが来ましたよ!m9っ`・ω・´)
961955:2006/01/26(木) 17:01:12
VIPPERじゃないです。たまに覗いたりはしますが。

卒業がかかってるのです・・・就職も決まってます。
ホント誰か助けてください・・・
962デフォルトの名無しさん:2006/01/26(木) 18:18:20
國學院大學乙
t***8576って学籍番号?
963デフォルトの名無しさん:2006/01/26(木) 20:18:25
test
964デフォルトの名無しさん:2006/01/26(木) 20:25:39
test
965デフォルトの名無しさん:2006/01/26(木) 20:28:34
test
966マイト:2006/01/26(木) 20:33:00
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26885

の実行の仕方がわかりません…
馬鹿でカスですいません、一度氏ぬんで、氏ぬ前に教えてください。
967デフォルトの名無しさん:2006/01/26(木) 20:37:10
test
968デフォルトの名無しさん:2006/01/26(木) 20:51:55
test
969デフォルトの名無しさん:2006/01/26(木) 20:53:52
test
970デフォルトの名無しさん:2006/01/26(木) 20:54:19
>>966
なにがわからんのかわからん
ふつうに実行できるが
971デフォルトの名無しさん:2006/01/26(木) 20:54:51
test
972デフォルトの名無しさん:2006/01/26(木) 20:56:54
test
973デフォルトの名無しさん:2006/01/26(木) 20:57:24
test
974デフォルトの名無しさん:2006/01/26(木) 21:03:39
>956-957
なにかと使えそうなのでwikiに出しておきます。
ttp://www.wikiroom.com/java/index.php?SourcePost___#oc2276ef
975デフォルトの名無しさん:2006/01/26(木) 21:05:27
新スレたててくるー。
976975:2006/01/26(木) 21:10:38
「新このホストでは、しばらくスレッドが立てられません。 またの機会にどうぞ。。。」
鬱。。
977デフォルトの名無しさん:2006/01/26(木) 21:15:30
ぎゃははー。
978デフォルトの名無しさん:2006/01/26(木) 21:16:01
ほあっ。
979956:2006/01/26(木) 21:30:32
実行できました
ありがとうございます
980デフォルトの名無しさん:2006/01/26(木) 21:44:56
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26885
を改造しマウスで絵がかけるようにし
またコンボボックスが選択されたらたいな処理はどうすればいいですか
981デフォルトの名無しさん:2006/01/26(木) 21:53:54
>980
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26885
って>942に対する>944氏の答えなんだけど...
課題がどのように出題されたのか分からんから>1読んでテンプレ使え。
日本語もちゃんと書け。
982デフォルトの名無しさん :2006/01/26(木) 22:10:02
【 課題 】キーボードより入力したstrを8進数のアスキーコードに変換する方法を教えて下さい
【 期限 】明日
【 補足 】
983デフォルトの名無しさん:2006/01/26(木) 22:10:21
test
984デフォルトの名無しさん:2006/01/26(木) 22:16:23
ttest
985デフォルトの名無しさん:2006/01/26(木) 22:20:32
test
986デフォルトの名無しさん:2006/01/26(木) 22:21:20
【マウスで絵を描く】
【 課題 】画面分割>>980みたいな感じ、コンボボックスを右、左でマウスで
      絵をかけるようにするコンボボックスは2つ用意し線の太さ、色を
      変更する
【 期限 】来週土曜
【 補足 】とにかく、エラーがなく上で書いたことができればOKです。
      色は3色くらい、線の太さも3種類くらいでお願いします
987デフォルトの名無しさん:2006/01/26(木) 22:22:46
画面をクリックしたらその場所に絵が表示されるJavaScriptってありますか?
調べたけれど見つからなかったので・・・・。
1週間後提出の課題で使おうと思っているのですが。
988デフォルトの名無しさん:2006/01/26(木) 22:24:35
989デフォルトの名無しさん:2006/01/26(木) 23:36:25
990デフォルトの名無しさん:2006/01/27(金) 01:05:15
test
991デフォルトの名無しさん:2006/01/27(金) 01:19:33
test
992デフォルトの名無しさん:2006/01/27(金) 01:20:08
test
993デフォルトの名無しさん:2006/01/27(金) 01:25:31
test
994デフォルトの名無しさん:2006/01/27(金) 01:31:43
994
995デフォルトの名無しさん:2006/01/27(金) 01:32:16
995
996デフォルトの名無しさん:2006/01/27(金) 01:32:47
996
997デフォルトの名無しさん:2006/01/27(金) 01:36:53
997
998デフォルトの名無しさん:2006/01/27(金) 01:37:52
998
999999:2006/01/27(金) 01:38:27
999
1000デフォルトの名無しさん:2006/01/27(金) 01:39:24
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。