元のスレッド 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50


★★ Java の宿題ここで答えます Part 55 ★★
1 名前:デフォルトの名無しさん[sage]:2006/01/26(木) 22:23:29
【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/1133778112/

2 名前:デフォルトの名無しさん []:2006/01/26(木) 22:30:33
一応、こっちにも書いておきます

【マウスで絵を描く】
【 課題 】画面分割>>980みたいな感じ、コンボボックスを右、左でマウスで
      絵をかけるようにするコンボボックスは2つ用意し線の太さ、色を
      変更する
【 期限 】来週土曜
【 補足 】とにかく、エラーがなく上で書いたことができればOKです。
      色は3色くらい、線の太さも3種類くらいでお願いします


3 名前:デフォルトの名無しさん []:2006/01/26(木) 22:32:12
一応、こっちにも書いておきます

【マウスで絵を描く】
【 課題 】フレームを2つに分割(前レスの>>980みたいな感じ)コンボボックスを右、左でマウスで
      絵をかけるようにするコンボボックスは2つ用意し線の太さ、色を
      変更する
【 期限 】来週土曜
【 補足 】とにかく、エラーがなく上で書いたことができればOKです。
      色は3色くらい、線の太さも3種類くらいでお願いします


4 名前:デフォルトの名無しさん []:2006/01/26(木) 22:43:11
>>1
スレ立てどうもです!

5 名前:デフォルトの名無しさん []:2006/01/26(木) 22:44:17

何故「丸投げ」が好ましいのかと言うと、人のソースを読んで
それに修正を加えるのは、一から書くのより数倍大変になるのですね。
だから、少しでも自分でプログラムを書いてそれから出そうとするのは
余計なお節介どころか、絶対やって欲しくないお節介になってしまうのです。


6 名前:デフォルトの名無しさん []:2006/01/26(木) 23:26:06
【 課題 】キーボードより入力したstrを8進数のアスキーコードに変換する方法を教えて下さい
【 期限 】明日
【 補足 】丸投げ


7 名前:デフォルトの名無しさん[sage]:2006/01/26(木) 23:52:56
>>6
★★ Java の宿題ここで答えます Part 54 ★★
http://pc8.2ch.net/test/read.cgi/tech/1133778112/989

8 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 01:14:07
6です有難うございました


9 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 01:16:08
【 課題 】String型の数字101をint型に変える方法教えて下さい。
【 期限 】できるだけ早くお願いします
【 補足 】丸投げです。よろしく



10 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 01:27:36
Integer#parseInt()

11 名前:デフォルトの名無しさん []:2006/01/27(金) 06:11:05
【 課題 】アプレットを使用して入力した3桁の数字を一桁づつ分けてgif画像を並べて表示させるプログラムお願いします
【 期限 】出来るだけ早いとありがたいです。
【 補足 】183の場合 1の画像 8の画像 3の画像てな感じでお願いします。

12 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 10:58:49
Javaの課題でJFrameを使い文字のスクロールを作れと言われました。
右側のある一定の場所から始まり、左側もある一定の場所まで行ったら、
右側の最初の位置に戻って文章を最初から描画したいのです。
どうやってもできないので、よろしくお願いします。
後流す文字は全角でお願いしますorz
期限が本日の放課後までなので、なるべく早くお願いしたいです・・


13 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 11:02:12
>>11
8.gifとか言う名前なんか?

>>12
意味不明なのだすが

14 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 11:14:04
こうじゃね?

  左の場所                   右の場所
                          ス
                    スジャータが
           スジャータが2時をお知らせ
  スジャータが2時をお知らせします
  ジャータが2時をお知らせします     ス
  が2時をお知らせします     スジャータ


15 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 11:40:00
何その腹が立つ文字列

16 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 11:46:06
スジャータナツカシスw
何となく解るからいんじゃね

17 名前:11 []:2006/01/27(金) 12:26:06
>>13
そうです。数字.gifです。8の場8.gifですね説明不足ですみません

18 名前:デフォルトの名無しさん []:2006/01/27(金) 12:52:41
次の行列計算をjavaで組みなさい。

        0.3 0.5 0.2  3     
(1.0、0)( 0.4 0.3 0.3 )  ※3は3乗
        0.2 0.3 0.5 

for文と配列のみで組むこと。



19 名前:12[sage]:2006/01/27(金) 13:25:02
>>14さんが説明してくださってる通りです。
わかりにくくてすいません;
後一文字ずつスクロールさせたいのでよろしくお願いします。

20 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 13:37:47
>>17
並べてって何か指定されてる?
画像の大きさとか並べ方とか

21 名前:デフォルトの名無しさん []:2006/01/27(金) 15:10:37
>>20
同じ大きさで画像横に3つ並べてです。

22 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 16:25:59
■課題
(1)A店とB店のアイスの値段を入力して比較し、以下のように表示するプログラムを書け。
(画面表示例)
A店のアイス値段=○○○○
B店のアイス値段=○○○○
◇◇◇◇の方が△△△△より○○○円やすい。
(2)以下の仕様要求を実現するプログラムを書け。
仕様要求:0度から90度までのcos関数の値を画面に表示する。
(画面表示例)
x(度)    cosx

0 *****

1 *****

2 *****

: :

: :

90 *****
(下に続きます)

23 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 16:27:40
(3)以下の仕様要求を実現するプログラムを書け。
仕様要求:”textfile.txt”から検索したい文字列の出現場所(行番号、列番号)をすべて
”dataout.txt”に記録する。
ただし、検索したい文字列はコマンドラインから与えるものとする。
実行コマンドの例:
Z:¥(ファイル名)>java kadai10 textfile.txt 偏差値
実行結果はdataout.txtを開いて確認する。
(4) 以下の仕様要求にしたがって、systemtimeクラスを設計して、
これを用いた時間を設定と表示するプログラムを書け。
(仕様要求)
class systemtime {フィールド変数(初期値:時=-1、分=-1、秒=-1)
時間設定メソッド(設定値をチェック、不備の場合は変更しない。(エラーメッセージを表示))
時間表示メソッド(正しく設定された場合、「**時**分**秒です。」と表示する。
正しく設定されていない場合、「正しく設定されていません。」と表示する。)
}public class kadai4{public static void main(String args[])
{インスタンス生成
時間を設定
設定時間を表示}}
4.以下の仕様要求にしたがって、systemtimeクラスを設計して、
これを用いた時間を設定と表示するプログラムを書け。
(使用要求)
class systemtime {フィールド変数(初期値:時=-1、分=-1、秒=-1)
コンストラクタ(設定値をチェック、不備の場合は変更しない。(エラーメッセージを表示))
時間表示メソッド(正しく設定された場合、「**時**分**秒です。」と表示する。
正しく設定されていない場合、「正しく設定されていません。」と表示する。)
}public class kadai4{
public static void main(String args[]){
インスタンス生成、コンストラクタで初期化
設定時間を表示}}
■期限 1/30
■補足 丸投げです。申し訳有りませんが宜しくお願いします。

24 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 17:31:36
>>20
バーボンハウスに捕まってた
今からやるわ

25 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 17:43:30
>>22
(1)前スレッド779
http://pc8.2ch.net/test/read.cgi/tech/1133778112/779
これは値段が決め打ち。
入力するようにしたければ前スレ780を参考に入力部分を追加すればOK。
http://pc8.2ch.net/test/read.cgi/tech/1133778112/780

26 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 17:58:38
>>21
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Sample extends Applet implements ActionListener{
TextField text;
Image img[] = new Image[3];
boolean ch=false;
public void init(){
setLayout(null);
text = new TextField();
text.addActionListener(this);
add(text);
text.setBounds(10,20,200,20);
}
public void paint(Graphics g){
if(ch==true){
for(int i=0;i<3;i++)
g.drawImage(img[i],i*100,100,100,100,this);
}
}
public void actionPerformed(ActionEvent e){
if(text.getText().equals("")==false){
String str = text.getText();
for(int i=0;i<3;i++)
img[i] = getImage(getDocumentBase(),str.charAt(i)+".gif");
ch=true;
text.setText(null);
repaint();
}
}
}

27 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 18:04:19
25様>有難う御座います。はりきって直します。

28 名前:デフォルトの名無しさん []:2006/01/27(金) 19:58:14
http://pc8.2ch.net/test/read.cgi/tech/1119356753/l50

29 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 20:37:54
>>27
なんか知らんがワロタ

30 名前:ganma []:2006/01/27(金) 21:20:18
http://redmax034.run.buttobi.net/index.html

これを作ってください!お願いします。
【 期限 】1/30


31 名前:デフォルトの名無しさん []:2006/01/27(金) 21:52:34
>>26
有難うございました
一つ質問なのですが3*3の9文字にする時はどのようにいじったらよろしいのですか?


32 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 22:03:32
>>31
iとjでも使ってfor文2重にして座標指定でもしてちょ

33 名前:デフォルトの名無しさん []:2006/01/27(金) 22:27:39
>>31
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Sample extends Applet implements ActionListener{
TextField text;
Image img[][] = new Image[3][3];
boolean ch=false;
public void init(){
setLayout(null);
text = new TextField();
text.addActionListener(this);
add(text);
text.setBounds(10,20,200,20);
}
public void paint(Graphics g){
if(ch==true){
for(int i=1;i<4;i++)
for(int j=1;j<4;j++)
g.drawImage(img[i][j],i*100,j*100,100,100,this);
} }
public void actionPerformed(ActionEvent e){
if(text.getText().equals("")==false){
String str = text.getText();
for(int i=1;i<4;i++)
for(int j=1;j<4;j++)
img[i][j] = getImage(getDocumentBase(),str.charAt(i)+".gif");
ch=true;
text.setText(null);
repaint();
} } }

34 名前:前スレ944[sage]:2006/01/27(金) 22:28:12
>>前スレ980
>>2-3
>>30
何度も同じこと書くなって・・・
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26905
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26906
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26907

35 名前:デフォルトの名無しさん []:2006/01/27(金) 22:28:41
>>31
作ってみたんですがエラーは出ないのに実効ができません。すみませんですけど3*3も作ってくれませんか?

36 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 22:46:20
>>35
>>33が作ってるがな

37 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 22:49:01
と思ったが>>33つっこみどころ満載だった

38 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 22:52:52
>>35
public class Sample extends Applet implements ActionListener{
TextField text;
Image img[][] = new Image[3][3];
boolean ch=false;
public void init(){
setLayout(null);
text = new TextField();
text.addActionListener(this);
add(text);
text.setBounds(10,20,200,20);
}
public void paint(Graphics g){
if(ch==true){
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
g.drawImage(img[i][j],i*100,j*100+100,100,100,this);
}
}
public void actionPerformed(ActionEvent e){
if(text.getText().equals("")==false){
String str = text.getText();
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
img[i][j] = getImage(getDocumentBase(),str.charAt(i*3+j)+".gif");
ch=true;
text.setText(null);
repaint();
}
}
}

39 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 22:57:04
>>38
有難うございました。


40 名前:デフォルトの名無しさん[sage]:2006/01/27(金) 23:01:24
>>39
まて
g.drawImage(img[i][j],i*100,j*100+100,100,100,this);
のiとjを入れ替えれ

41 名前:デフォルトの名無しさん[sage]:2006/01/28(土) 13:44:18
【 課題 】「キーボードから入力して入力された文字をアスキーコードより変換し出力せよ」という問題がでました。
【 期限 】 29日昼
【 補足 】Integer.toString(int i, int radix)
      Integer.parseInt(String s, int radix)のどちらかを使うみたいです。
      入力文字数は3文字で出力はSystem.out.printlnでお願いします。




42 名前:デフォルトの名無しさん[sage]:2006/01/28(土) 14:17:10
>>23
まず(3)だけ
http://sourcepost.sytes.net/sourcepost/sourcedownload.aspx?source_id=26919

43 名前:デフォルトの名無しさん []:2006/01/28(土) 14:21:32
>41
// ASCIIDemo.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @see ttp://www.shibu.jp/cppreference/ascii.html
*/
public class ASCIIDemo {
public static void main(String[] args) {
System.out.println( "exitを入力すると終了." );
while( true ) {
System.out.print( "> " );
try {
BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );
String line = br.readLine();
if( line.equals( "exit" ) ) System.exit( 0 );
else if( line.length() != 1 ) throw new IllegalArgumentException( "入力文字は1文字で:" + line );
else {
int ascii = new Character(line.toCharArray()[0]).hashCode();
if( ascii > 127 ) throw new IllegalArgumentException( "ASCIIコードがありません:" + line );
else System.out.println( ascii );
}
} catch( IOException ioe ) {
ioe.printStackTrace();
} catch( IllegalArgumentException iae ) {
System.err.println( iae.getMessage() );
}
}
}
}

44 名前:デフォルトの名無しさん []:2006/01/28(土) 14:44:02
行列の
(1.0)(0.6 0.4)3
(0.7 0.3) を計算し、”解は(○.△)です。”と
          出力するプログラムを作成しなさい。
                ○と△は計算結果です。
               (3は3乗するって意味です。)
【期限】30日
【補足】forと配列を使って作成して下さい。
    出力はSystem.out.printlnでお願いします。
どうかよろしくお願いしますm(_ _)m


45 名前:デフォルトの名無しさん []:2006/01/28(土) 14:47:10
44です。行列の部分が見にくかったので修正します(_ _;)
   
  (1.0)(0.6 0.4)3
       (0.7 0.3)
どうかよろしくお願いしますm(_ _)m

46 名前:デフォルトの名無しさん[sage]:2006/01/28(土) 15:13:31

行列廚ウザス

47 名前:デフォルトの名無しさん[sage]:2006/01/28(土) 15:27:01
行列の宿題出すってことは間違いなく授業中に計算の方法の実現教わってるはずなんだよなぁ
なのになんでできないのかね?
10分くらいしか考えてないんだろ

48 名前:デフォルトの名無しさん []:2006/01/28(土) 15:36:44
>>45
ここで相談して御覧よ

http://www.ntv.co.jp/horitsu/

49 名前:デフォルトの名無しさん[sage]:2006/01/28(土) 15:39:01
ワロシュw

50 名前:デフォルトの名無しさん []:2006/01/28(土) 15:41:44
( ̄w ̄) ぷっ

51 名前:デフォルトの名無しさん []:2006/01/28(土) 15:44:04
javaの実行の仕方ですが、classpathから実行するコマンドって何だったでしょうか?

52 名前:46[sage]:2006/01/28(土) 16:01:13
>47
別に質問者が自分で考えようが考えまいがそんなことはどうでもいい。

もうすでに答えを出しているのに、それに対して何のレスポンスもせず、
ただただ同じトーンで質問を投げてる、というのがすごく嫌。

53 名前:>>41[sage]:2006/01/28(土) 16:22:45
>>43
それ変換の方向が逆ではないかい?

// A.java
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class A {
public static void main(String[] args) {
String str = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for(;;)
try {
System.out.print("ASCII値を入力してください> ");
str = br.readLine();
if ("".equals(str)) break; // 空の入力(改行のみ)で終了
int i = Integer.parseInt(str);
if ((i < 0) || (i > 127)) {
System.out.println("入力値(" + i + ")は適切なASCII値ではありません");
continue;
}
System.out.println(i + " -> " + (char) i);
} catch (NumberFormatException e) {
System.out.println("入力文字列(" + str + ")は数値ではありません");
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 逆だとしたらこんな感じか?

54 名前:デフォルトの名無しさん []:2006/01/28(土) 16:39:34
>>44
行列知らないけどWikipediaの公式参考に作ってみた
展開が間違ってたら直してくれ

public class Gyoretsu
{
public static void main(String[] args) {
double[] v = {1.0, 0.0};
double[][] m = {{0.6, 0.7}, {0.4, 0.3}};
for (int i = 0; i < 3; i++) v = calc(v, m);
System.out.println("解は(" + v[0] + " " + v[1] + ")です。");
}
private static double[] calc(double[] v, double[][] m) {
double[] r = new double[2];
r[0] = v[0] * m[0][0] + v[1] * m[0][1];
r[1] = v[0] * m[1][0] + v[1] * m[1][1];
return r;
}
}


55 名前:43[sage]:2006/01/28(土) 17:07:39
>53
>41をよく読んだらそうですね。。

56 名前:デフォルトの名無しさん []:2006/01/28(土) 17:14:18
実行してみたら誤差が出るのでintで書き直してみた
全然汎用的じゃないけど

public class Gyoretsu
{
public static void main(String[] args) {
int[] v = {1, 0};
int[][] m = {{6, 7}, {4, 3}};
for (int i = 0; i < 3; i++) v = calc(v, m);
System.out.println("解は(" + (v[0] * 0.001) + " " + (v[1] * 0.001) + ")です。");
}
private static int[] calc(int[] v, int[][] m) {
int[] r = new int[2];
r[0] = v[0] * m[0][0] + v[1] * m[0][1];
r[1] = v[0] * m[1][0] + v[1] * m[1][1];
return r;
}
}


57 名前:デフォルトの名無しさん[sage]:2006/01/28(土) 18:07:56
>56
いくらなんでもそれは無理矢理過ぎ。

58 名前:デフォルトの名無しさん []:2006/01/29(日) 13:11:17
どんどん書き込んでロ!!

59 名前:デフォルトの名無しさん[sage]:2006/01/29(日) 13:53:25
>>前スレ918からの行列房は大学特定したww
先生言っとくわwwww

60 名前:デフォルトの名無しさん []:2006/01/29(日) 14:50:18
【 課題 】現在の時刻を24時間時計(短針が1日で一周する時計) で表示するプログラム clock.java を作成する.
      針は時針,分針,秒針,タイマー針の4本とする.
      タイマー針はマウスドラッグで動かせるものとし,設定時間(初期値は12:00にする)になったらアラーム表示をさせる.
【 期限 】1/31ですが、できるだけ早めにお願いいたします
【 補足 】24時間時計についてはこちらをご参照ください:http://www.imskk.com/24h/top.html
      また、こちらのプログラムを利用していただければ、大きく手間が省けると思います。
      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26927

61 名前:デフォルトの名無しさん []:2006/01/29(日) 15:48:57
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;

/**
* 22の課題1.<br>
* Shopは前回のShopを使う.
*/
public class Kadai22_1 {
public static void main(String[] args) throws Exception {
Shop[] shops = new Shop[] { new Shop("A", 0), new Shop("B", 0) };
for (int i = 0; i < shops.length; i++) inputShopData(shops[i]);
printComp(shops);
}

private static void inputShopData(Shop shop) throws Exception {
System.out.print(shop.getName() + "店のアイス値段=");
String icePrice = new BufferedReader(new InputStreamReader(System.in)).readLine();
shop.setIcePrice(Integer.parseInt(icePrice));
}

private static 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()) + "円安い。");
}
}

62 名前:デフォルトの名無しさん []:2006/01/29(日) 15:53:00
/**
* 22の課題2.
*/
public class Kadai22_2 {
public static void main(String[] args) {
for (int i = 0; i <= 90; i++)
System.out.println(i + "\t" + Math.cos(i));
}
}

63 名前:デフォルトの名無しさん []:2006/01/29(日) 16:01:17
import java.io.*;
import java.util.ArrayList;
/**
* 23の課題3
*/
public class Kadai23_3 {
public static void main(String[] args) throws Exception {
// args = new String[] { "textfile.txt", "偏差値" };
String textfile = args[0];
String keyword = args[1];
String dataout = "dataout.txt";

BufferedReader br = new BufferedReader(new FileReader(textfile));
BufferedWriter bw = new BufferedWriter(new FileWriter(dataout));
String s = null;
for (int i = 1; (s = br.readLine()) != null; i++) {
ArrayList list = new ArrayList(0);
searchIndexes(s, 0, keyword, list);
for (int j = 0; j < list.size(); j++) bw.write("行番号=" + i + "\t列番号="+ (((Integer) list.get(j)).intValue() + 1) + "\r\n");
}
br.close();
bw.close();
}
private static void searchIndexes(String target, int fromIndex,String keyword, ArrayList list) {
int index = target.indexOf(keyword, fromIndex);
if (index != -1) {
list.add(new Integer(index));
searchIndexes(target, ++index, keyword, list);
}
}
}


64 名前:デフォルトの名無しさん []:2006/01/29(日) 16:33:51
>23
課題4と課題(4)は別物として作るの?
それとも、一つでいいの?
あと、このsystemtimeクラスって1秒毎に秒数が自動でアップするような、
時計としての機能も要る?
それとも、設定されたときの時間をそのまま持っていればいいだけ?
あと、
>時間表示メソッド(正しく設定された場合、「**時**分**秒です。」と表示する。
>正しく設定されていない場合、「正しく設定されていません。」と表示する。)
ここで「正しく設定された場合」って、現在の設定時刻をチェックすればいいだけ?
つまり、
×正しく設定された場合
○正しく設定されている場合
でいいかな?

65 名前:デフォルトの名無しさん[sage]:2006/01/29(日) 17:20:16
【 課題 】画像データに他のデータを埋め込むステガノグラフィをプログラミングせよ。
      ただし、画像は白黒のbmp画像で、埋め込むデータの容量はできるだけ大きくすること。
【 期限 】1月30日中にお願いします。
【 補足 】丸投げです、すいません。
      画像に他のデータを埋め込むプログラムは初めてで全くわかりません。
      難しいかもしれませんがよろしくお願いします。

66 名前:デフォルトの名無しさん[sage]:2006/01/29(日) 17:27:11
64様>はいそうです!4.は(5)と表記するのを間違えました…。済みません!!
ststemtimeクラスは設定されたときの時間をそのまま持っていればいいだけ
だと思います。時計としての機能〜というのは聞いてなかったので。

>○正しく設定されている場合。こっちで良いと思われます。
済みません;お手数かけます;



67 名前:デフォルトの名無しさん[sage]:2006/01/29(日) 18:38:06
>65
// SteganographDemo.java
import java.io.*;
public class SteganographDemo {
public static void main(String[] args) {
if( args.length != 2 ) usage();
else if( !args[0].endsWith( ".bmp" ) ) usage();
File bmpFile = new File( args[0] ); File inpFile = new File( args[1] );
FileInputStream fis = null; FileOutputStream fos = null;
try {
fos = new FileOutputStream( bmpFile, true );
fis = new FileInputStream( inpFile );
fos.write( "here".getBytes() );
for( int i; (i=fis.read()) != -1; ) fos.write( i );
System.out.println( "埋め込み完了..." );
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch( IOException ioe ) {
ioe.printStackTrace();
} finally {
try {
if( fos != null ) fos.close();
if( fis != null ) fis.close();
} catch( IOException ioe ) {}}
}
public static void usage() {
System.err.println( "java SteganographDemo [bmp画像] [埋め込みデータ]" ); System.exit(0);
}
}
ひどく単純。後ろにくっつけるだけ。
取り出すときは「here」という文字列を手掛かりにすればいいようにしてみました(※取り出す機能はありません)。
ファイル偽装って昔流行ったよね、なにもかも懐かしい。

68 名前:デフォルトの名無しさん[sage]:2006/01/29(日) 20:35:56
>>66
様とかつけんでいいから「>>レス番号」という風にしてくれ。

69 名前:デフォルトの名無しさん[sage]:2006/01/29(日) 20:51:44
>60
タイマー針をマウスドラッグで動かせるようにするにはどうすればいいんだろ?
思い付かないなあ。

70 名前:javaです []:2006/01/29(日) 21:04:40
■振り子の振動をオイラー法で解くプログラムを作成し、次の計算を行え。
ただし、振り子の長さ は123cmとし、g=9.8 、初期角速度を w=0rad/sとする。
@初期振幅 θ=0.01rad、刻み幅 hをT/10、T/20、T/100として5周期分の振幅波形をそれぞれ計算し、
理論と比較することで誤差を評価せよ。ただし、Tは周期である。
A刻み幅 をT/100として、初期振幅 θと計算周期T”関係を考察せよ。
B@をルンゲクッタ法で計算し、オイラー法と比較せよ。

■期限 2/05
■補足 丸投げです。何もわからないんで宜しくお願いします。


71 名前:デフォルトの名無しさん[sage]:2006/01/29(日) 21:43:27
>70
オイラー法とルンゲクッタ法についてのフォローは無しかよ。

72 名前:デフォルトの名無しさん []:2006/01/29(日) 23:18:07
【 課題 】2行2列の行列 9/4 1 の20乗をもとめよ(1回かけるごとに値を画面に表示)
-9/2 -2

【 期限 】今から3時間以内であるとたすかります



73 名前:デフォルトの名無しさん[sage]:2006/01/29(日) 23:28:41
>>72
>>59

74 名前:デフォルトの名無しさん []:2006/01/29(日) 23:30:05
23の課題4。これでいいのか?
import java.text.DecimalFormat;
public class Systemtime23_4 {
private int hh = -1;
private int mm = -1;
private int ss = -1;
public void setTime(int theHh, int theMm, int theSs) {
try {
this.validate(theHh, theMm, theSs);
this.hh = theHh;
this.mm = theMm;
this.ss = theSs;
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
public void printTime() {
try {
this.validate(this.hh, this.mm, this.ss);
DecimalFormat df = new DecimalFormat("00");
System.out.println(df.format(this.hh) + "時" + df.format(this.mm)+ "分" + df.format(this.ss) + "秒です。");
} catch (Exception e) {
System.err.println("正しく設定されていません。");
}
}
private void validate(int theHh, int theMm, int theSs) throws Exception {
if (theHh < 0 || theHh >= 24) throw new Exception(theHh + "は正しい時ではありません。");
if (theMm < 0 || theMm >= 60) throw new Exception(theMm + "は正しい分ではありません。");
if (theSs < 0 || theSs >= 60) throw new Exception(theSs + "は正しい秒ではありません。");
}
}

75 名前:デフォルトの名無しさん []:2006/01/29(日) 23:32:50
23の課題4のエントリポイント。

public class Kadai23_4 {
public Kadai23_4() {
}

public static void main(String[] args) {
Systemtime23_4 st = new Systemtime23_4();
st.setTime(2, 0, 40);
st.printTime();
}
}

76 名前:デフォルトの名無しさん []:2006/01/29(日) 23:36:48
23の課題5。これでいいのか?
import java.text.DecimalFormat;
public class Systemtime23_5 {
private int hh = -1;
private int mm = -1;
private int ss = -1;

public Systemtime23_5(int theHh, int theMm, int theSs) {
try {
this.validate(theHh, theMm, theSs);
this.hh = theHh;
this.mm = theMm;
this.ss = theSs;
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
public void printTime() {
try {
this.validate(this.hh, this.mm, this.ss);
DecimalFormat df = new DecimalFormat("00");
System.out.println(df.format(this.hh) + "時" + df.format(this.mm)+ "分" + df.format(this.ss) + "秒です。");
} catch (Exception e) {
System.err.println("正しく設定されていません。");
}
}
private void validate(int theHh, int theMm, int theSs) throws Exception {
if (theHh < 0 || theHh >= 24) throw new Exception(theHh + "は正しい時ではありません。");
if (theMm < 0 || theMm >= 60) throw new Exception(theMm + "は正しい分ではありません。");
if (theSs < 0 || theSs >= 60) throw new Exception(theSs + "は正しい秒ではありません。");
}
}

77 名前:デフォルトの名無しさん []:2006/01/29(日) 23:37:52
23の課題5のエントリポイント。

public class Kadai23_5 {
public static void main(String[] args) {
Systemtime23_5 st = new Systemtime23_5(12, 50, 33);
st.printTime();
}
}


78 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 00:03:25
課題:マウス操作で絵を描けるプログラム(筆の色が切り替えられ、ドラッグで線を引ける)を作成せよ。
期限:本日まで
補足:基本的な部分は完成したのですが、変数の受け渡しに四苦八苦しています。
以下に元のソースを記述致しますので、どなたか宜しければ補完をお願いします。

/* MyPanel.java */
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

import javax.swing.JButton;
import javax.swing.JPanel;

79 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 00:06:53
public class MyPanel extends JPanel
implements MouseMotionListener, ActionListener
{
 private MyFrame myFrame;
 int red,green,blue;
 JButton bclear = new JButton("clear");
 JButton bred = new JButton("red");
 JButton bgreen = new JButton("green");
 JButton bblue = new JButton("blue");
 public MyPanel(MyFrame myFrame)
 {
  super();
  this.myFrame = myFrame;
  myPanel.add(bclear); //ここでmyPanelを使えるようにしたい(アクセサーを利用らしいです)
  myPanel.add(bred);
  myPanel.add(bgreen);
  myPanel.add(bblue);
  bclear.addActionListener(this);
  bred.addActionListener(this);
  bgreen.addActionListener(this);
  bblue.addActionListener(this);
  
  addMouseMotionListener(this);
  setPreferredSize(new Dimension(640, 480));
 }

80 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 00:13:48

 public void paintComponent(Graphics g)
 {
  super.paintComponents(g);
  setBackground(Color.white);
 }

 public void mouseMoved(MouseEvent e) {}
 public void mouseDragged(MouseEvent e){
  Graphics g = getGraphics();
  int x = e.getX();
  int y = e.getY();
  Color color = new Color(red,green,blue);
  g.setColor(color);
  g.drawLine(x,y,x,y);
  g.dispose();
 }

81 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 00:16:26

 public void actionPerformed(ActionEvent e) {
  if(e.getSource() == bclear){
   repaint();
  }
  if(e.getSource() == bred){
   Graphics g = getGraphics();
   red = 255;
   green = 0;
   blue = 0;
  }
  if(e.getSource() == bgreen){
   Graphics g = getGraphics();
   red = 0;
   green = 255;
   blue = 0;
  }
  if(e.getSource() == bblue){
   Graphics g = getGraphics();
   red = 0;
   green = 0;
   blue = 255;
  }
 }
}

82 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 00:18:10
/* MyFrame.java */
import java.awt.*;

import javax.swing.*;

class MyFrame extends JFrame
{
 private MyPanel myPanel;
 public MyFrame()
 {
  super();
  myPanel = new MyPanel(this);
  FlowLayout flow = new FlowLayout();
  myPanel.setLayout(flow);
  getContentPane().add(myPanel);
 }
}

83 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 00:19:38
>>79
> public class MyPanel extends JPanel
>  public MyPanel(MyFrame myFrame) {
>   myPanel.add(bclear); //ここでmyPanelを使えるようにしたい(アクセサーを利用らしいです)

この myPanel は何者だろう
もし、このコンストラクタで生成するインスタンスならば、
add(bclear);
で問題ないのだが・・・

84 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 00:20:19
/* MyFrameApp.java */
class MyFrameApp{
 public static void main(String[] args) {
  MyFrame x = new MyFrame();
  x.setSize(300, 300);
  x.setLocation(10, 10);
  x.setVisible(true);
 }
}

85 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 00:25:33
>>78-82>>84で以上です。
長くなってしまいました・・・。
こちらの拙いソースに不備があればその点もおっしゃって頂ければ幸いです。

86 名前:行列厨の72 []:2006/01/30(月) 00:54:46
72だけど>>59で指摘されてはじめてスレ1からみたけど糞ワロタ
たしかにうざいかもしれんね
まぁ先生に言っといてくれw


87 名前:78[sage]:2006/01/30(月) 01:47:29
>>83
変数myPanelはMyFrame.javaで定義するようなっているので
どうにかしてMyPanel.java内で使用したいのですか・・・。
そのためにはアクセサーを組むようにすれば可能とは聞いたのですが
どうしてもわからずにこのスレで質問させていただいた次第です。

88 名前:83[sage]:2006/01/30(月) 02:02:06
>>87
お願いですから、>>83 で書いた内容を実践してみてください_no

89 名前:デフォルトの名無しさん []:2006/01/30(月) 02:31:39
>>87
>myPanel.add(bclear); //ここでmyPanelを使えるようにしたい(アクセサーを利用らしいです)
>myPanel.add(bred);
>myPanel.add(bgreen);
>myPanel.add(bblue);
ここでやりたいことって、
MyPanel上にbclear,bred,bgreen,bblueボタンを追加したい。
ってことでしょ?
だとしたら>>83が言うようにadd(bclear);・・・でいいんじゃない?

90 名前:83[sage]:2006/01/30(月) 02:33:53
思い直して追記。
# このあたりの感覚は、理解するまでに多少時間がかかるかもしれませんが…

仮に、MyFrame に getMyPanel という
MyFrame の myPanel を取ってくるメソッドを作ったとします。
このメソッドを MyPanel のコンストラクタから呼び出すと、
MyFrame の myPanel には、まだ何も入っていないので、当然 null が返されます。
# myPanel = new MyPanel(this); ←ココの右辺を解決中なので

91 名前:デフォルトの名無しさん []:2006/01/30(月) 03:02:34
連立常微分方程式を使ったr=10,l=0.1,c=0.001,q=0.1の時のr*dq/dt+l*d^2q/dt^2+q/cのプログラムを教えていただけませんか?


92 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 03:07:28
>>91
>>70 と同じ臭いがする(´・ω・`)

93 名前:デフォルトの名無しさん []:2006/01/30(月) 03:15:08
91ですがRungeKutta法を使ってのプログラムです


94 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 03:25:47
>>93
RungeKutta 法のアルゴリズム(計算手順書)が分かれば、誰かやってくれるかも。
# 少なくても僕は調べる気にはなれませんでした。ごめんよ。

95 名前:デフォルトの名無しさん []:2006/01/30(月) 05:32:33
課題:JAVAアプレットでクイズを制作せよ

下のタイトルソースと問題1ソース、問題2ソースをひとつにまとめたいのですが、
どうすればいいのでしょうか?
タイトルソースで表示される、「言語問題」をクリックすると問題1が、「非言語
問題」をクリックすると問題2が始まるようにしたいです。
そして最後の「結果」ウインドウの了解ボタンをおすと、タイトルに戻ってくるよう
にしたいのです。だれか助けてください。お願いします。

タイトルソース:http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26943
問題1ソース:http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26944
問題2ソース:http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26945

96 名前:65[sage]:2006/01/30(月) 06:00:16
>>67
返事遅れましたがありがとうございます!!
しっかり埋め込むことができました!!

元画像の容量をなるべく変えずに埋め込むことって可能でしょうか??
あつかましくてすいませんが何かアドバイスあったらお願いします!

97 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 08:49:36
整数値ビット単位演算子の式で  data[62]&0xFF
というのが出て来たのですが、この"0xFF"が何を意味するのか判りません。
どなたかご存知でしたら教えて下さい。

98 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 09:05:08
>>97
「0x〜」は16進数表示であることをあらわす。
16進数のFFは10進数で表現すると255。
2進数で表現すると11111111。

data[62]&0xFF は 「data[62]の下位8biitを取り出す」ことを意味する。

99 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 09:24:48
>>98
そういうことでしたか!
いやー謎が解けました。ありがとうございました。

100 名前:タカベガス []:2006/01/30(月) 09:42:18
[課題]下記の学籍番号1番から20番までの計20名の学生の成績を、
得点の高いものから順に並べ替えるプログラムを作成しなさい。
ただし、得点データは左から順に学籍番号の1,2,3・・・番の成績である。
「 85,40,89,72,84,53,23,68,78,94,16,54,81,68,30,70,48,65,80,87 」

・学籍番号8番と、14番の成績は同一の68点である。プログラムによって
並べ替えられた際に、上位に表示されている68点はいずれの学生の成績であるか
明確に説明しなさい。

[期限]・・・2月3日です。

・・・といった内容の課題です。正直、全然わかりません(--;)
よろしくお願いします

101 名前:デフォルトの名無しさん []:2006/01/30(月) 12:39:20
XML,XSLの宿題ですが、OKですか?
よければお願いします。

26の医療XMLデータを選択リストで選択すると、
ポップアップウインドウでそのデータが表示される
プログラムを作成せよ。です。
ファイル名はa,bなどで結構です。

よろしくお願いします!

102 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 12:47:04
>96
埋め込みデータを圧縮するとか?
>101
XMLデータも作れ、と言ってる?
いくらなんでもそれは。。

103 名前:78[sage]:2006/01/30(月) 13:07:24
動作しました。
レスくれた方々、ありがとうございます、並びに申し訳ありませんでした。
特に>>90のレスは大変タメになりました。

104 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 14:00:12
テンプレ使えYO!

105 名前:59[sage]:2006/01/30(月) 16:01:08
59だけど、前スレ918は>>72なん?
だとしたら大学違うがナー
前スレ918と>>20は同じなら大学同じなんだが・・・
まぁもうこのスレにいねーかな、もう言っちゃったしまぁいいかw

106 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 17:05:59
>>105は100%童貞

107 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 17:08:09
姉貴をからかって遊んでいたら、
ついに姉貴がキレて、手当たり次第に物を投げつけてきた。
でも、芯から心の優しい姉貴は、命中すると痛い物を投げるのは、意識的に避けているようだった。
最初は縫いぐるみや、枕を投げつけてきたが、もう投げるものが無くなってしまった。
それでも怒りの収まらない姉貴は、Tシャツを脱いで投げつけ、ジーンズを脱いで投げつけ、
ブラを外して投げつけ、最後にはぱんつを脱いでは投げつけ……。
そして投げるものが一切無くなったとき、姉貴はうつむいたままこう嗚咽した。
「抱きしめてよ!!弟なら!姉を抱きしめてよ!!」
漏れは姉貴に歩み寄りそっと抱きしめる。

思いっきり投げられた。

108 名前:デフォルトの名無しさん []:2006/01/30(月) 17:20:04
■振り子の振動をオイラー法で解くプログラムを作成し、次の計算を行え。
ただし、振り子の長さ は123cmとし、g=9.8 、初期角速度を w=0rad/sとする。
@初期振幅 θ=0.01rad、刻み幅 hをT/10、T/20、T/100として5周期分の振幅波形をそれぞれ計算し、
理論と比較することで誤差を評価せよ。ただし、Tは周期である。
A刻み幅 をT/100として、初期振幅 θと計算周期T”関係を考察せよ。
B@をルンゲクッタ法で計算し、オイラー法と比較せよ。

■期限 2/05
■補足 丸投げです。何もわからないんで宜しくお願いします。

109 名前:デフォルトの名無しさん []:2006/01/30(月) 17:27:35
>>105
つーかさ、多分宿題ってテキストとかからでしょ?
もし進め具合がほぼ一緒で同じ章を勉強してたとしたら
同じような問題を宿題に出しても不思議じゃないよね?
君が同一人物と勘違いするのは勝手だけど
君の馬鹿スレで他の人のスレが流されるのって迷惑なんだよね。

110 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 17:29:05
>108
だーかーらー。
>71の返事は?

つか、>70のまんまコピペじゃん。
答えてもらえない場合、なんか工夫しようとは思わんのかね。

111 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 18:43:28
>>109
君の馬鹿「レス」で他の人の「レス」が流されるのって迷惑なんだよね。が正解
2ch初心者は半年ROMってろクズ
あ、先生に言われたから単位取れなかった阿呆ですか?^^^

ってかこのスレsage基本ですか?

112 名前:デフォルトの名無しさん []:2006/01/30(月) 18:46:13
>>111
同一人物と勘違いしたあほうですか・・・


113 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 18:53:01
>>112
ですか?って聞いてんだから同一人物と思ったわけじゃない
あんたも言ってるでしょ?
>もし進め具合がほぼ一緒で同じ章を勉強してたとしたら
>同じような問題を宿題に出しても不思議じゃないよね?
ってな、別に>>111が同一人物じゃなくても当てはまるわけだ
俺叩いてる暇があったら親の肩でも叩いてろ
君の馬鹿「スレ」で他の人の「スレ」が流されるのって迷惑なんだよねwww

114 名前:113[sage]:2006/01/30(月) 18:54:49
>>111のとこ>>109の間違いだし。
俺 必 死 ダ ナ

115 名前:デフォルトの名無しさん []:2006/01/30(月) 18:56:34
import java.util.Arrays;
public class これはは100さんへの回答です {
public static void main(String[] args) {
これはは100さんへの回答です 自分自身 = new これはは100さんへの回答です();
自分自身.並べ替えてください();
}
public void 並べ替えてください(){
int[] 学生情報全体点数 = {85,40,89,72,84,53,23,68,78,94,16,54,81,68,30,70,48,65,80,87};
学生情報[] 学生情報全体 = new 学生情報[20];
for(int 連番 = 0;連番<学生情報全体.length;連番++){
学生情報 学生情報個人 = new 学生情報();
学生情報個人.学生番号 = 連番;
学生情報個人.成績 = 学生情報全体点数[連番];
学生情報全体[連番] = 学生情報個人;
}
Arrays.sort(学生情報全体, new 生徒を並べ替えたい());

for(int 連番 = 0;連番<学生情報全体.length;連番++){
System.out.println("学籍番号"+(学生情報全体[連番].学生番号+1));
System.out.println("成績"+学生情報全体[連番].成績);
}
}
public class 生徒を並べ替えたい implements java.util.Comparator{
public int compare(Object キャストオブジェクト1, Object キャストオブジェクト2){
return ((学生情報)キャストオブジェクト2).成績 - ((学生情報)キャストオブジェクト1).成績;
}
}
public class 学生情報 {
public int 学生番号 = 0;
public int 成績 = 0;
}
}

116 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 21:56:00
随分と荒れている。オレの課題やってもらえた後でよかった・・・。
もっとマッタリいきましょうよ。ねえ。

117 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 21:56:51
>>60
24時間時計
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1#gcf66de6

118 名前:60 []:2006/01/30(月) 22:23:42
>>117とても凝ったプログラムを作っていただきありがとうございました!

119 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 22:27:47
【課題】XMLファイルを操作するクラスを設計せよ。
【回答者】125

ヨロシク!

120 名前:デフォルトの名無しさん[sage]:2006/01/30(月) 22:31:43
>>119
かわいそす;;
誰か教えてあげて!

121 名前:デフォルトの名無しさん []:2006/01/30(月) 22:49:40
【 課題 】次の表は小さい会社4つを入社年、男女別に分けたものである。
この表を見やすいグラフで表せ。棒グラフ、折れ線グラフなど、形式は自由とする。
    新人    若手     中堅   ベテラン   合計
   男 女 計  男 女 計 男 女 計  男 女 計 男 女 計
A社  95 10 105 85 10 95 98 8 106 77 6 83 355 34 389
B社 56 16 72 44 19 63 66 25 91 86 24 110 252 84 336
C社  28 13 41 31 18 49 25 16 41 0 0 0 84 47 131
D社 105 13 118 73 6 79 141 18 159 0 0 0 319 37 356
計  284 52 336 233 53 286 330 67 397 163 30 193 1010 202 1212
【 期限 】2月1日ですが、できれば早めにお願いします

122 名前:120 []:2006/01/30(月) 22:59:07
>>121表が見にくくてすみません。半角スペース2つ以上は無視されるんですかね?
    新人    若手     中堅   ベテラン   合計
   男 女 計  男 女 計 男 女 計  男 女 計 男 女 計
A社  95 10 105 85 10 95 98 8 106 77 6 83 355 34 389
B社 56 16 72 44 19 63 66 25 91 86 24 110 252 84 336
C社  28 13 41 31 18 49 25 16 41 0 0 0 84 47 131
D社 105 13 118 73 6 79 141 18 159 0 0 0 319 37 356
計  284 52 336 233 53 286 330 67 397 163 30 193 1010 202 1212

123 名前:108 []:2006/01/30(月) 23:19:57
オイラー法:
導関数 dy/dx=f(x,y)=k が与えられているとき、関数 yを求めることを目的とします。
例えば、y3の値は、位置x2におけるy2の値が前回計算で求められてあり、
位置x2における傾き k は与えられた導関数dy/dxから計算できるので、
刻み幅h を傾き k に乗算することにより、
y2をこれに加えて、y3の値とする。以下同様の手順を限界まで繰り返す。
[ y3の値 = 位置x2におけるy2の値 + 位置x2における傾き k * 刻み幅h ] 
この手順において、x0におけるy0の値を初期値として与える必要がある。
初期値を与えれば、全てのxに対してyの値が算出可能である。
なお、初期条件の個数としては、1階の微分方程式では1つ。2階の微分方程式では2つ必要です。
計算手順:

1.x1=x0+h, y1=y0+k0・h
2.x2=x1+h, y2=y1+k1・h
3.x3=x2+h, y3=y2+k2・h
  ・・・
N.xn+1=xn+h, yn+1=yn+kn・h

   ただし、 kn は下式にて求める。
   kn=k1
ここで、

k1=f(xn,yn)
   の計算を行う。

必要回数にて、計算を終了する。

算出された(x1,y1),(x2,y2),(x3,y3),(x4,y4),,,(xi,yi),,,(xn,yn)を
平面上にプロットすると図形が描かれる。
こうして解としての関数 y が図形上に求められたことになる

124 名前:108 []:2006/01/30(月) 23:24:26

計算手順:

1.x1=x0+h, y1=y0+k0・h
2.x2=x1+h, y2=y1+k1・h
3.x3=x2+h, y3=y2+k2・h
  ・・・
N.xn+1=xn+h, yn+1=yn+kn・h

   ただし、調整する傾き kn は下式にて求める。
   kn=(k1+2k2+2k3+k4)/6
   ここで、

   k1=f(xn+0/1,yn+000/1)
   k2=f(xn+h/2,yn+kn1/2)
   k3=f(xn+h/2,yn+kn2/2)
   k4=f(xn+h/1,yn+kn3/1)
   の計算を付加的に行う必要がある。
   
必要回数にて、計算を終了する。

算出された(x1,y1),(x2,y2),(x3,y3),(x4,y4),,,(xi,yi),,,(xn,yn)を
平面上にプロットすると図形が描かれる。
こうして解としての関数 y が図形上に求められたことになる。

125 名前:108 []:2006/01/30(月) 23:25:49
ルンゲ・クッタ法:

導関数 dy/dx=f(x,y) が与えられているとき、関数 yを求めることを目的とします。
ルンゲ・クッタ法の基本的な、大きい手順は、オイラー法と同じですが、
オイラー法に較べて、傾きの求め方を調整・工夫します。
すなわち、例えば、y3の値は、位置x2におけるy2の値が前回計算で求められてあり、
位置x2における傾きは与えられた導関数dy/dxから 調整した 傾き k を算出することとするので、
刻み幅 h を調整した傾き k に乗算することにより、
y2をこれに加えて、y3の値とする。以下同様の手順を限界まで繰り返す。
[ y3の値 = 位置x2におけるy2の値 + 位置x2における調整した傾き k * 刻み幅h ] 
この手順において、x0におけるy0の値を初期値として与える必要がある。
初期値を与えれば、全てのxに対してyの値が算出可能である。
なお、初期条件の個数としては、1階の微分方程式では1つ。2階の微分方程式では2つ必要です。


126 名前:108 []:2006/01/30(月) 23:27:45

計算手順:

1.x1=x0+h, y1=y0+k0・h
2.x2=x1+h, y2=y1+k1・h
3.x3=x2+h, y3=y2+k2・h
  ・・・
N.xn+1=xn+h, yn+1=yn+kn・h

ただし、調整する傾き kn は下式にて求める。 kn=(k1+2k2+2k3+k4)/6
ここで、
  k1=f(xn+0/1,yn+000/1)
   k2=f(xn+h/2,yn+kn1/2)
   k3=f(xn+h/2,yn+kn2/2)
   k4=f(xn+h/1,yn+kn3/1)
   の計算を付加的に行う必要がある。
   
必要回数にて、計算を終了する。

算出された(x1,y1),(x2,y2),(x3,y3),(x4,y4),,,(xi,yi),,,(xn,yn)を
平面上にプロットすると図形が描かれる。
こうして解としての関数 y が図形上に求められたことになる。

127 名前:108 []:2006/01/30(月) 23:31:17
110さん。108です。
2chはじめてなんでよくわかんなくてすいません。
以上が調べたオイラー法とルンゲグッタ法の説明です。


128 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 00:40:59
プログラマーの多くが数学にコンプレックスを抱いていることへの皮肉かこの野郎!

129 名前:デフォルトの名無しさん []:2006/01/31(火) 10:25:53
class VarTest{
int number;

static void methodA(int a,VarTest b){
a=10;
b.number=100;
}
public static void main(String[] args){
int a=0;
VarTest b=new VarTest();
b.number=0;
methodA(a,b);
System.out.println("a:"+a+",b.number:"+b.number);
}
}
を実行し、なぜそのような出力結果が得られるか論ぜよ。

実行結果はa=0,b.number=100です。
多分スタックとかヒープとかそんな感じのことだと思うのですがわかりません。
お願いします。

130 名前:デフォルトの名無しさん []:2006/01/31(火) 10:54:25

java初心者です。課題をやっていただきといと思います。お願いします。できれば1/30中がよいのですが、2/1までにお願いできたらと思います。

@あるサーバを起動したときにサーバソケットを作成し、クライアントからの接続待ちをするメソッドを
 呼び出す。
Aサーバを停止するときにサーバソケットをクローズし、終了するメソッドを呼び出す。
Bサーバの起動、停止をするメソッドは同一クラス。しかし、javaアプリ(mainがあるやつ)ではなく
 メソッドのみで記述。これはLinuxで/etc/init.d/サーバd stopなどのコマンドを行うときに呼び出すの
 で
Cクライアントからの接続は一度に4人までとする。(認証など)処理中に5人目以降のクライアントが接
 続要求した場合、その要求を破棄する
D接続したあとの認証などの処理をこちらで用意しているので、記述する箇所を明記してほしい

という課題をお願いしたいです。

今自分でやってできなかったところは、サーバの停止時にサーバソケットを閉じる部分で、閉じることが
できず、次にサーバを立ち上げたとき、port番号が重複するというエラーが出てきます。最悪、そのサー
バ自体をリブートかければできるのですが、それはダメといわれているので、、、

続く


131 名前:130 []:2006/01/31(火) 10:54:58
ちなみに私のソースですが、サーバソケットの接続待ちをする部分が、
try{
while(true)
socket = serverSocket.accept();
new ServerSocketThread(socket).start();//ServerSocketThreadクラスで認証処理や、クライアントの
     接続要求を受け入れるかを判断しています。
}catch(Exception e){
e.printStackTrace();
}finally{
if(serverSocket!= null){
try{
serverSocekt.close();
}catch(IOException){
e1.printStackTrace();
}
}

のようになっていて、while(true)を抜けない限り終了できません(これは私が作ったのではなく、ひきつ
いだので容易にかえられず、、、)。フラグを入れたり、サーバ停止メソッドのなかで、serversocketを
閉じるメソッドを呼び出したりしたのですが、まったくダメでした。また、サーバ停止メソッドで
Systemo.exit()を呼び出してもできません(プロセスが違うから?)他にもシングルトンなども試したのですが、ダメでした。

分かる方いらっしゃいましたらお願いします。


132 名前:デフォルトの名無しさん []:2006/01/31(火) 12:05:22
テンプレ使えッつっとるだろうがボケナス童貞

133 名前:デフォルトの名無しさん []:2006/01/31(火) 13:02:50
>>129
private boolean runFlag;
private synchronized void setRunFlag (boolean bool) {
  runFlag = bool;
}
private synchronized boolean isRun () {
  return runFlag;
}
public void start (int port) {
  setRunFlag(true);
  ServerSocket ss = new ServerSocket(port);
  ss.setSoTimeout(1000);
  while(isRun()) {
    try {
      Socket socket = ss.accept();
      new ServerSocketThread(socket).start();
    } catch (SocketTimeoutException ex) {
      // nop
    } catch (Exception ex) {
      // operation
    }
  }
  try {
    ss.clese;
  } catch (Exception ex) {
    // operation
  }
}
public void stop () {
  setRunFlag(false);
}

134 名前:デフォルトの名無しさん []:2006/01/31(火) 13:19:24
>133
ごめん、意味がわからんない・・

135 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 16:10:27
ステータス行に得点を表示させるにはどうしたらいいですか?

136 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 17:13:15
【 課題 】「0〜9」により構成される10進数を「A〜Z」により構成される26進数に変換するメソッドを
作成せよ、引数としてintを受け取り返り値としてStringを返すものとする。変換例をいかに示す
1->A
2->B
26->Z
27->AA
28->AB

【期限】2006/02/08までにお願いします。


137 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 17:21:55
>>22>>23です。
頂いたプログラム上手く行きました!有難う御座いました!
お礼と動作確認が送れてしまい申し訳有りませんでした…。

138 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 18:20:28
>>129
「Java 参照渡し 値渡し」でぐぐるといいかも。
ttp://wisdom.sakura.ne.jp/programming/java/java23.html

139 名前:デフォルトの名無しさん []:2006/01/31(火) 19:52:05
テンプレも使えないヤツばかりになってきたな。

140 名前:デフォルトの名無しさん []:2006/01/31(火) 20:43:44
>>136
public static String convert(int n) {
 if (n <= 0) {
  return "";
 }
 n--;
 StringBuilder sb = new StringBuilder();
 do {
  sb.append(c[n%26]);
  n = n/26;
 } while(n > 0);
 return sb.toString();
}

141 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 21:03:25
>136
26が「Z」という文字一文字だったら27進法なんじゃないの?
例に「ゼロ」への対応方法がないのでそのへんよく分かりません。

と書き込もうと思ったら>140さんが答え出した。

142 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 21:07:15
>>139
従わないのは答えなくていいよね

143 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 21:13:10
>142
いいんじゃないの?
テンプレ使わなくても答え貰える、と思われても困るし。

144 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 21:16:02
隣のC言語宿題スレのテンプレはいろいろ書かねばならないけど、
このJava宿題スレのテンプレでは、【課題】の一つだけが必須で外は任意なのに
それすらもやはり面倒なのか。。。

145 名前:140 []:2006/01/31(火) 21:19:52
バグがあったorz

146 名前:141[sage]:2006/01/31(火) 21:21:37
>145
というより問題がおかしいと思う。
気にしなくていいと思うよー。

147 名前:140 []:2006/01/31(火) 21:35:20
バグ修正しました。

private static char[] c = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
public static String convert(int n) {
 if (n <= 0) {
  return "";
 }
 StringBuilder sb = new StringBuilder();
 do {
  n--;
  sb.insert(0, c[n%26]);
  n = n/26;
 } while(n > 0);
 return sb.toString();
}

148 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 22:25:16
public static String convert(int n){
if(n <= 0){
return "ぬるぽっ";
}
switch(n){
case 1:retrun "A";break;
case 2:retrun "B";break;
case 3:retrun "C";break;
case 4:retrun "D";break;
(中略)
case 2147483645:retrun "FXSHRXU";break;
case 2147483646:retrun "FXSHRXV";break;
case 2147483647:retrun "FXSHRXW";break;
default:return "ガッ";
}
}

149 名前:256 []:2006/01/31(火) 22:57:09
課題】JSPとサーブレットを使い下記の問題を解きなさい。
DBに接続する為にIDとパスワードを入力画面を作成。
入力後、「Select」ボタンを押下しテーブルの選択画面に進む。
テーブルを選択(vegetable)を選択し、「Select」ボタンを押下
し「テーブル名」と「vegetable(列名 No・Name・Money)」の表を
表示させる。
又「Back」ボタンを押下しIDとパスワードを入力画面に戻る
プログラムを作成せよ。
【期限】2月2日ですがなるべく早くお願いします
【補足】ほんとにわかりません。丸投げですいません。

150 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 23:07:55
未来から来るとはよほど切羽詰ってるな。

151 名前:デフォルトの名無しさん[sage]:2006/01/31(火) 23:14:36
>121-122
ttp://www.wikiroom.com/java/index.php?SourcePost___#x18a7713
時間とセンスがないのでこれであきらめ。
HashMapにデータ持ってるから、工夫できる余地は色々あるよ。

152 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 00:04:32
public class rei12 extends Applet implements Runnable {
Thread th = null;
int x;
Image img;
public void init() {
img = getImage(getDocumentBase(),"img1.jpg");
}
public void start() {
if (th == null) {
th = new Thread(this);
th.start();
}
}
public void run() {
for (x=0; x<400; x=x+10) {
repaint();
try {
th.sleep(100); }
catch(InterruptedException e){}
}
}
public void paint(Graphics g) {
g.drawImage(img,x,10,this);
}
画像を左右にはね返させたいんですが。おねがいします。



153 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 00:05:06
みなさ〜んテンプレに従わない輩は無視ですからね〜

154 名前:デフォルトの名無しさん []:2006/02/01(水) 00:07:30
天ぷら!!

155 名前:152[sage]:2006/02/01(水) 00:20:45
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
追加です、行が多いんで。朝までにおねがいします。

156 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 00:22:01
こいつまかせて寝る気だぞ
朝、呆然としてる>>152が楽しみだ

157 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 00:23:36
逆に皆で書きまくってどれをコピペすればいいのか迷わせるのも手かと。

158 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 00:29:01
でもみんな間違ってるみたいなw

159 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 00:30:02
つーかこいつevent.*インポートして何したいんだろうな

160 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 00:37:33
event.* = 画像が動く。

161 名前:デフォルトの名無しさん []:2006/02/01(水) 04:17:31
>>156-160
せっかく課題を出してくれてる人を茶化してどうするんだ。
このスレの序列は

課題を出す人 >>>>> 回答プログラムを書く人 >>>>
コードを書かずに薀蓄だけの人 >>>> 傍観者

だ。勘違いも程ほどに。


162 名前:デフォルトの名無しさん []:2006/02/01(水) 08:17:38
回答はボランティアだ。

勘違いも程々に

163 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 10:26:38
>>140 ありがとうございました。StringBuilder クラスははじめてみたので、
StringBufferクラスに置き換えましたが…

164 名前:デフォルトの名無しさん []:2006/02/01(水) 11:30:47
>>18です
課題提出が明後日なので
答えて頂ける方おりませんでしょうか?
自分もいろいろ考えたんですが全くわからないので
お願いします。

165 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 12:32:52
>>161
別にこっちとしては問題なくてだらだらやってるだけでもいいから
出題者は最上位じゃない
気に入らなければやらない
特にテンプレに従わないのはやらない

166 名前:デフォルトの名無しさん []:2006/02/01(水) 15:42:44
やっぱ2chってくだらない輩の集まりか。
働けボケが

167 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 15:53:22
回答得られなかったからって・・( ´,_ゝ`)プッ
そのセリフそっくりそのまま返しますよ
ちなみに自分は大学生で試験期間ですがもう試験は終わりました

168 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 16:53:49
【課題】DOMを使い
クラスの数
クラス当たりのメソッドの数
アクセス属性毎の数
属性の数
メソッドの行の数
メソッド毎のメソッド呼び出しの数
をXMLから取り出しテキストファイルに出力するプログラムを作成せよ。

【Ver】j2sdk1.4.2
【期限】2月2日午前中です 時間が無くてすいません

169 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 17:09:37
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class reidai14 extends Applet implements Runnable,KeyListener,ActionListener {
Thread th = null;
int x=10, y=200, vx=10, vy=10, xl=65, yl=65;
int px=300, py=500, vpx=10, pl=64;
int xmin=0, xmax=600, ymin=0, ymax=500;
int sleep_time = 128;
int n=2;
Button bt1,bt2;
Image img;
public void init() {
img = getImage(getDocumentBase(),"img1.jpg");
bt1 = new Button("スタート");
bt2 = new Button("ストップ");
add(bt1);
add(bt2);
bt1.addActionListener(this);
bt2.addActionListener(this);
requestFocus();
addKeyListener(this);
}
public void start() {
if (th == null) {
th = new Thread(this);
th.start();
}
}  前半


170 名前:デフォルトの名無しさん []:2006/02/01(水) 17:12:07
>>168
問題の意味がいまいち不明なのですが・・・・
ソースコードから、XML要素を取り出すとはどういう事ですか?



171 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 17:17:03
public void run() {
while (th != null) {
if(n == 1) {
if (x <= xmin || x >= xmax-xl) vx = -vx;
if (y <= ymin ) vy = -vy;
if (y >= ymax-yl) {
if( px-xl < x && px+pl > x ) vy = -vy;
}
x = x+vx;
y = y+vy;
if(y > ymax+100) th = null;
repaint();
}
try {
th.sleep(sleep_time);
}
catch(InterruptedException e){}
}
}
public void paint(Graphics g) {
g.setColor(Color.black);
g.drawLine(xmin,ymin,xmin,ymax);
g.drawLine(xmin,ymin,xmax,ymin);
g.drawLine(xmax,ymin,xmax,ymax);
g.setColor(Color.red);
g.drawLine(px,py,px+pl,py);
g.drawImage(img,x,y,this);
}
 つづきです


172 名前:デフォルトの名無しさん[sage]:2006/02/01(水) 17:21:37
public void stop( ) {
if (th != null) {
th = null;
}
}
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_RIGHT : px=px+vpx; if(px > xmax-pl) px=xmax-pl; break;
case KeyEvent.VK_LEFT : px=px-vpx; if(px < xmin) px=xmin; break;
}
repaint();
}
public void keyReleased(KeyEvent e) { }
public void keyTyped(KeyEvent e) { }
public void actionPerformed(ActionEvent e) {
if(e.getSource() == bt1) n=1;
else n=2;
requestFocus();
}
}
スタートボタンを押すと,600×500 ピクセル上のあちこちに,画像が
20回だけ表示される。画像の表示間隔は最初の 5回が 900ミリ秒,10回
までが800ミリ秒,15回までが 700ミリ秒,20回までが 600ミリ秒とし,
画像が表示されている間にその画像の上をマウスでクリックすると得点が
加算され,ステータス行に現在の得点を表示する。ゲームが終わったら
「ゲームオーバー,あなたの得点は〜点です」という表示が画面上に
されて終わりになるようなゲームを作成せよ。
今週までです、全然わからないのでおねがい。


173 名前:デフォルトの名無しさん []:2006/02/01(水) 17:35:11
>>172
もう完成してるようですが・・・・


174 名前:168[sage]:2006/02/01(水) 17:38:54
>>171さん
ありがとうございます。

あらかじめJavaのソースを(何でもよい)をJavaMLをつかいXMLに変換をしています。
そのXMLからクラスの数etcを取り出す

言葉足らずで御免

175 名前:172[sage]:2006/02/01(水) 17:41:24
これを改造するんです。おねがいします。

176 名前:ザイン帝國軍帥・伯壬旭(小島露観) []:2006/02/01(水) 22:33:31
>>149
http://www.wikiroom.com/java/index.php?SourcePost___

ここに回答を貼りました。環境はTomcatとMySQLです。
MySQLの使用database名は「homework」です。JSTLを使用してます。
構成は以下の通りです。

WEBアプリのルートディレクトリ
  WEB-INF
    lib ― jstl.jar と standard.jar(JSTLのJarファイル)
    jsp ― start.jsp と tablelist.jsp と table.jsp
    web.xml

177 名前:デフォルトの名無しさん []:2006/02/01(水) 23:52:46
String[] que=int String[]{"問1","問2","問3","問4","問5"};
String[] ans=int String[]{"選1","選2","選3","選4","選5"};

●メニューの「書込」によって上(qus・ans)のデータをレコードに保存し、
「読込」によってレコードに保存↑したデータを表示せよ。

MIDP2.0 J2ME

明日の昼までです。宜しくお願いします。時間がなくてすみません(>_<")

178 名前:デフォルトの名無しさん []:2006/02/02(木) 00:13:26
宿題ではないのですが・・・独学でJavaをやり始めた者です。
九九表を作りたいのですが
12345
246810
・・・・
という風に作りたいのにどうしても




と縦に並んでしまいます。
基本中の基本なのでしょうが本当に分からないのでどなたか教えてください。
お願いします。

179 名前:デフォルトの名無しさん []:2006/02/02(木) 00:15:03
http://winnie.kuis.kyoto-u.ac.jp/~okuno/Lecture/04/DataStructure/java/Knapsack.html

このプログラムってどう思う?

素直な意見をきかせてくれ。



180 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 00:16:10
>>178
System.out.print
System.out.println

181 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 00:25:16
>>180
ハッ・・・・・ですよね、すっかり忘れていました。
どうもありがとうございました。

182 名前:デフォルトの名無しさん []:2006/02/02(木) 00:55:57
あげ

183 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 01:18:21
iアプリですが、どうか助けてください・・・
【 課題 】四則計算(電卓)
【 用語 】
【 期限 】すでにすぎてます・・・
【 Ver  】DOJA4.1
【 補足 】 丸投げです、四則計算は足し算、引き算のみで再現しなさいと条件が付いています


184 名前:121 []:2006/02/02(木) 03:17:51
>>121です。
返答が遅くなって申し訳ございません。
>>151ありがとうございました。
しかし、
private LinkedHashMap<Data, Integer>() distribution = new LinkedHashMap<Data, Integer>();
のところに”<identifier>がありません”というエラーが出てしまいます。
お手数ですが、別の方でも構いませんので、正しく直せる方、よろしくお願いいたします。

185 名前:デフォルトの名無しさん []:2006/02/02(木) 03:28:48
【 課題 】「歩く」がテーマの、いくつかのキーフレームを中割法で内挿して作る
キーフレームアニメーションを作れ。アニメーションの
ボタン操作などでスピードを変化できるようにすること
【 期限 】2月3日
【 補足 】はっきり言って課題の意味すら良く分かりません。よろしくお願いします

186 名前:ザイン帝國軍帥・伯壬旭(小島露観) []:2006/02/02(木) 05:01:58
>>168
http://www.wikiroom.com/java/index.php?SourcePost___

ここに回答を貼りました。


187 名前:ザイン帝國軍帥・伯壬旭(小島露観) []:2006/02/02(木) 05:04:18
>>168
プログラム引数で読み込みXMLファイル名を指定してください。
実行すると、output.txt に結果が書き込まれます。

188 名前:151[sage]:2006/02/02(木) 06:04:37
>184
ヴァージョンの指定がなかったので、JDK5.0使ってます。
もう今から外に出るので、自分でなんとかするか人に頼ってください。

189 名前:デフォルトの名無しさん []:2006/02/02(木) 07:34:46
>>18
課題お願いします。

190 名前:168[sage]:2006/02/02(木) 07:38:42
ザイン帝國軍帥・伯壬旭(小島露観)様ありがとうございます。
一晩中やっていましたがどうにもならずにおりました。

>プログラム引数で読み込みXMLファイル名を指定してください。
コマンドプロンプトで
java HW114 test.xml
の入力で大丈夫ですよね?

出力されたtxtには
:ソースコード
とのみ出力されています。

XMLファイルにはclassとかはあります。(以下XMLの最初の方のみ出してます)
<?xml version="1.0" encoding="UTF-8" ?>
- <java-source-program xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F:\javaML\xml\javaml-2.xsd">
- <java-class-file name="C:/test/sample.java">
<import module="java.io.*" />
- <class name="sample" id="Lsample;" idkind="type">

6時頃からまた悩んでいます。

191 名前:168[sage]:2006/02/02(木) 07:41:41
190ですが、訂正を
>java HW114 test.xml

java HW114 sample.xml
の入力間違いです。

192 名前:デフォルトの名無しさん []:2006/02/02(木) 10:32:31
>>190
http://www.wikiroom.com/java/index.php?SourcePost___

少し修正したので、もう一度試してみてください。

193 名前:デフォルトの名無しさん []:2006/02/02(木) 10:36:34
JavaMLのPDFにあった、このサンプルでテストしたら成功したのですが。。。

<?xml version="1.0" encoding="UTF-8"?>
<java-source-program name="FirstApplet.java">
<import module="java.applet.*"/>
<import module="java.awt.*"/>
<class name="FirstApplet" visibility="public">
<superclass class="Applet"/>
<method name="paint" visibility="public" id="meth-15">
<type name="void" primitive="true"/>

194 名前:177 []:2006/02/02(木) 10:46:27
早めにお願いします


195 名前:デフォルトの名無しさん[age]:2006/02/02(木) 14:34:46
【 課題 】試験の点数(0〜100の整数値)を読み込んで平均を出すプログラム。
点数の入力の終わりは文字列”END”の入力で示す。
正常でない入力に対しては警告を出す。
【 期限 】できるだけ早くお願いします

初歩ですみませんがお願いします。
購入した入門書では最初に人数を入力する方法しか
載っていなかったので分かりませんでした。
すみませんが、教えてください。

196 名前:ザイン帝國軍帥・伯壬旭(小島露観) []:2006/02/02(木) 14:53:28
>>172
http://www.wikiroom.com/java/index.php?SourcePost___

ここに貼りま

197 名前:デフォルトの名無しさん []:2006/02/02(木) 16:23:01
次の行列計算をjavaで組みなさい。

        0.3 0.5 0.2  3     
(1.0、0)( 0.4 0.3 0.3 )  ※3は3乗
        0.2 0.3 0.5 

for文と配列のみで組むこと。


198 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 17:11:23
>>195
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26981

199 名前:168[sage]:2006/02/02(木) 17:20:42
私の方では未だ同じ状態です。もう時間を過ぎていますが、最後までやりたいと思いますのでお時間頂けたらと思います。

193さんが出来ていますので、私のJavaMLの設定が問題かと考えています。
http://paginas.fe.up.pt/~aaguiar/javaml/javaml-2.0-RC5.zip
をダウンロードし、jikes.exeと
cygwinのcygwin1.dllをクラスパスのある同じフォルダに入れて、そのフォルダの中でjikes.exe +ux FirstTest.java
を行い、出来たXMLファイルをコマンドプロンプトから
java HW114 FirstTest.java.xml
と行い、output.txtが出来ます。しかし中を見ると同じ
:ソースコード
となります。

200 名前:195 []:2006/02/02(木) 17:23:30
>>198
有難うございました。とても助かりました。

201 名前:デフォルトの名無しさん []:2006/02/02(木) 17:36:44
>>199
すみませんが、XMLファイルをここにコピペしてください。


202 名前:168[sage]:2006/02/02(木) 17:37:51
上はこれを参照して行いました。
http://samurai.pose.jp/java/archives/2004/12/javaml.php


で午後からもう一つやってみたのがこちら(こちらの方が古いようですが)から
http://www.badros.com/greg/JavaML/javaml-for-jikes-1.12.tar.gz
#でもこの中のbadros-javaml-www9.pdfと193さんのXMLが違うようです。

jikes-xmlの設定が必要な様ですがよくわかっていません。以下jikes-xml
#!/bin/sh -
CLASSPATH=$CLASSPATH:/usr/lib/netscape/java/classes/java40.jar:/usr/lib/netscape/473/netscape/java/classes/java40.jar:.; export CLASSPATH
# +ulx is needed to get column information
# +ux for no column information
# +c for comment
JIKES_PATH=$HOME/jikes-1.12/src/jikes
#exec $JIKES_PATH -nowrite +c +B +ulx "$@"
exec $JIKES_PATH -nowrite +B +ux "$@"

また別にjava40.jarが必要なのか?

203 名前:デフォルトの名無しさん []:2006/02/02(木) 17:43:39
>>202
よろしければソースコードを変換した「XMLファイル」をここにコピペしてください。
それで試してみます。

204 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 18:05:59
>>197の1×2行列と3×3行列のかけ算ができないのは私だけでしょうか?

205 名前:168[sage]:2006/02/02(木) 18:10:24
203デフォルトの名無しさん有り難うございます。
小さいのでもこのまま貼り付けると大きいと怒られたので、下記にてお願いします。
http://www.wikiroom.com/java/index.php?plugin=attach&pcmd=open&file=AppletFrame.java.xml&refer=%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1

206 名前:168[sage]:2006/02/02(木) 18:12:24
201デフォルトの名無しさんが抜けておりました。失礼しました。

207 名前:デフォルトの名無しさん []:2006/02/02(木) 19:26:09
>>205
http://www.wikiroom.com/java/index.php?SourcePost___

少し修正したので、もう一度試してみてください。



208 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 20:03:27
>>168
人にレス返すときは

>>レス番号

という風に書いてくれ。読みにくい。

209 名前:デフォルトの名無しさん []:2006/02/02(木) 20:17:14
【 課題 】コマンドライン引数として2進数を1つ受け取って
      その値を10進数として表示するプログラム、Sample1.javaを作成しなさい。
      なお、try、catchのブロックを付け加え、例外処理も行うこと。
【 期限 】2月6日までにお願いします。
【 補足 】切羽詰ってます。丸投げですいませんがお願いします。

210 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 20:27:39
>209
// BinaryToDecimal.java
public class BinaryToDecimal {
public static void main(String[] args) {
if( args.length != 1 ) {
System.out.println( "使いかた:java BinaryToDecimal [2進数]" );
return;
}
try {
int binary = Integer.parseInt( args[0], 2 );
System.out.println( binary );
} catch( NumberFormatException nfe ) {
System.out.println( "2進数ではありません:" + args[0] );
}
}
}

211 名前:デフォルトの名無しさん []:2006/02/02(木) 20:27:46
【課題 】入力した7つの数値から最大と最小の値を除いた後、
     平均値を求めるプログラムを作成しなさい

 7つの数値にはコマンドライン関数を用いること。

【 期限 】2月12日

【 補足 】お手数ですが、どうぞよろしくお願い致します。

212 名前:168[sage]:2006/02/02(木) 20:33:48
207デフォルトの名無しさん本当に有り難うございました!!!
ソースファイル:
クラスの数:1
クラス名:AppletFrame
メソッドの数:2
publicメンバの数:2
メソッド名:startApplet
ステートメントの数:5
メソッド呼出の回数:8
メソッド名:processEvent
ステートメントの数:2
メソッド呼出の回数:2
無事私の方でも出ました。
ご協力いただいた皆様有り難うございました。

213 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 20:40:02
>211
// AverageDemo.java
import java.util.Arrays;
public class AverageDemo {
public static void main(String[] args) {
if( args.length != 7 ) {
System.out.println( "使いかた:java AverageDemo [数値1] [数値2] ... [数値7]" );
return;
}
double[] numbers = new double[7];
boolean isError = false;
for( int i=0; i<numbers.length; i++ ) {
try {
numbers[i] = Double.parseDouble( args[i] );
} catch( NumberFormatException nfe ) {
System.out.println( "数値ではありません:" + args[i] + "(第" + (i+1) + "引数)" );
isError = true;
}
}
if( isError ) return;
Arrays.sort( numbers );
System.out.println( "最小値:" + numbers[0] );
System.out.println( "最大値:" + numbers[numbers.length-1] );
double sum = 0;
System.out.println( "上記を除いた" );
for( int i=1; i<numbers.length-1; i++ ) {
System.out.println( "・" + numbers[i] );
sum += numbers[i];
}
System.out.println( "の平均は " + (sum/(numbers.length-2)) + " です。" );
}
}

214 名前:デフォルトの名無しさん []:2006/02/02(木) 20:43:31
>>213

ご回答頂いてありがとうございます!!


215 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 21:16:37
>>197
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26983

・・・結果はこれで合ってるのか??
(0.3050 0.3660 0.3290)

216 名前:177 []:2006/02/02(木) 21:26:32
助けてください(〒_〒)

217 名前:デフォルトの名無しさん []:2006/02/02(木) 21:52:56
課題】ある確立にしたがって、ランダムに記号が表示されるプログラムの作成
 (記号 全5種類【◎ ● ○ ▲ ☆ 】)

◎...10% 
●・・・50%
○・・・20%
▲・・・13%
☆・・・7%  の確立で設定されています

【 期限 】2月12日

【 補足 】面倒な設定で申し訳ございません。どうか宜しくお願い致します!

218 名前:デフォルトの名無しさん[sage]:2006/02/02(木) 22:11:11
>217

package net._2ch.tech;
import java.util.Random;

public class _217 {
 private static final String hoge = "◎◎◎◎◎◎◎◎◎◎●●●●●●●●●●●●●●●●●●●\\
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○\\
○○▲▲▲▲▲▲▲▲▲▲▲▲▲☆☆☆☆☆☆☆";
 private static final Random rnd = new Random( );
 public static void main( final String args[] ){
  final int n = rnd.nextInt( hoge.length( ));
  System.out.println( hoge.substring( n, n + 1 ));
 }
}

219 名前:218[sage]:2006/02/02(木) 22:12:10
あ、コピペミスった。
2個所ある \\改行 は消しといて。

220 名前:デフォルトの名無しさん []:2006/02/02(木) 22:27:03
 

>>204
すいません、打ちかた間違えました


       0.3 0.5 0.2  3     
(1 0 0)( 0.4 0.3 0.3 )  ※3は3乗
        0.2 0.3 0.5 

1×3行列と3×3行列の掛け算です、すいません。

221 名前:デフォルトの名無しさん []:2006/02/02(木) 22:34:12
>>219

助かります!
どうもありがとうございました!

222 名前:256 []:2006/02/02(木) 23:00:24
>>176
遅くなりましたがご回答ありがとうございました。
何とかOKを頂けそうです。

223 名前:デフォルトの名無しさん []:2006/02/03(金) 00:13:41
お、回答率が上がってきたぞ!

224 名前:209 []:2006/02/03(金) 00:25:46
>>210 様
ほんとに助かりました。
細かく教えていただいてありがとうございます。


225 名前:デフォルトの名無しさん[age]:2006/02/03(金) 00:32:29
【 課題 】GUIをつかってボタンを押されたら入力された実数を1/2にするプログラム
【 期限 】今日(3日)です<(_ _)>

一旦プログラム内で512を与え、整数のみのプログラムを書いてみたのですが。(見よう見まねです)
入力された数を使うやり方と整数ではなく実数の範囲で計算するやり方が分かりません。
今の段階が下です。
どこをどう変えるかだけでもかまいません。丸投げ扱いでもかまいません。
お願いします。

226 名前:225[age]:2006/02/03(金) 00:34:06
import java.awt.*;
import java.awt.event.*;
public class GUITest implements ActionListener{
public static void main(String args[]){
GUITest test=new GUITest();
}
private TextField field=null;
private GUITest()
{
Frame window=new Frame("GUIからの入力");
Button button=new Button("1/2倍にします");
button.addActionListener(this);
window.add("North",button);
field=new TextField("512");
window.add("Center",field);
window.setSize(200,100);
window.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String d=null,s=null;
s=field.getText();
try{
int i=Integer.parseInt(s);
d=Integer.toString(i/2);
}catch(NumberFormatException nfe){
d="入力は変換できません";
}
field.setText(d);
}
}


227 名前:デフォルトの名無しさん []:2006/02/03(金) 00:35:24
【課題提示用テンプレ】
【 課題 】1.Webブラウザを動作させているクライアントのOS
(Windows、Mac、UNIX)を判定して画面に表示するのと、
マウスポインタをMENUのどれかに重ねると、文字が大きくなったり、
文字色や背景が変わったりするもの。
【 期限 】提出期限、平成18年2月15日(16日のAM0:00
【 Ver  】希望なし
【 補足 】OSの判定はできました。しかしマウスオーバーの箇所で画像は大きくできるのですが
問題は文字なので文字を大きくする事ができません。
      よろしくお願いします。




228 名前:>>225-226[sage]:2006/02/03(金) 01:01:25
>>225-226
丸投げ扱いにさせてもらった。

// GUI225.java
package p225;

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

public class GUI225 extends JFrame {
private JTextField txtNumber = new JTextField(10);
private JTextArea taOutput = new JTextArea();

private void btnActionPerformed() {
try {
String numstr = txtNumber.getText();
double half = Double.parseDouble(numstr) /2;
taOutput.append(numstr + "の半分は" + half + "\n");
} catch(NumberFormatException e) {
taOutput.append("数値を入力してください" + "\n");
}
}
private void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());

JPanel jPanel1 = new JPanel(new FlowLayout());
//続く

229 名前:>>225-226[sage]:2006/02/03(金) 01:03:58
JButton btn = new JButton("半分にする");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
btnActionPerformed();
}
});

jPanel1.add(txtNumber);
jPanel1.add(btn);

JScrollPane jScrollPane1 = new JScrollPane(taOutput);

add(jPanel1, BorderLayout.NORTH);
add(jScrollPane1, BorderLayout.CENTER);

Dimension dim = getToolkit().getScreenSize();
setBounds((dim.width-400)/2, (dim.height-300)/2, 400, 300);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new GUI225().createAndShowGUI();
};
});
}
}
// コメントや解説がなくて悪いが、以上。


230 名前:225 []:2006/02/03(金) 01:55:53
>>228-229
ありがとうございます、とても参考になりました。

231 名前:デフォルトの名無しさん []:2006/02/03(金) 03:50:41
>>227
>>マウスポインタをMENUのどれかに重ねると

MENUとは具体的に何を指すのか教えてください。


232 名前:デフォルトの名無しさん []:2006/02/03(金) 03:54:17
>>216
>>177
モバイルの方はやってる人が少ないのでは。。。残念ですが。。。

233 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 05:02:15
グラフにグリッド入れようとしてるんですが、実数のため一部グリッドの数値が
5.9999....E120 とかいう表示になってしまいます。有効数字3桁で丸めたいの
ですが、倍精度浮動小数点をうまいこと四捨五入できるアルゴリズムって
ないでしょうか?

234 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 07:27:59
BigDecimal使え

235 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 07:56:01
分からないなら無理に答えてくれなくて結構です。
っていうか浮動小数点で扱ってるのに BigDecimal って アフォ ですか?
浮動小数点って何か分かってますか?

236 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 08:02:54
たまに非宿題人が釣りに来るスレですかここは
業務系しかやったことない人間もいる。察してやれ。

237 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 08:13:05
>>235
BigDecimal調べたんだろうな?

238 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 08:37:02
オイオイ 308 桁の BigDecimal 扱わせる気か

239 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 08:44:46
グリッド線引くだけだろ?どうせ、割り算して浮動小数点になっちゃったからって話と思われ。

240 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 08:58:10
>>233 で出してる例だけでも e120 と出てるが
科学技術演算なら固定小数点で済ますのはちょっと無理がある
そういえば任意精度固定小数点のクラスはあるのに浮動小数点版はないのな
まぁ多言語も科学技術演算はほとんど別ライブラリか

241 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 09:10:57
ちょっと強引だが Double.doubleToLongBits() で double のビットパターン取り出して
仮数部を自分で丸めてはどうか。実数を有効桁指定で丸めるのは C やってた頃に
よくやってた気がするんだが、もう忘れたw 俺も思い出したい。誰か知ってたらヨロ

242 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 09:17:02
あれ、ここって宿題スレであってるよな?

243 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 09:17:12
ん、IEEE 754 見たら仮数部は 2 のべき乗で入ってるのか。なんか大変そうw

244 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 09:36:08
>>233
四捨五入でよければ、0.5を足して int にキャストをする(小数点以下切捨て)。
というのはどうでしょうか。

245 名前:244[sage]:2006/02/03(金) 09:37:39
有効数字3桁か・・・というか、質問スレじゃなかった_no
みんなゴメンね

246 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 10:24:25
ちょっとベタだが、算術で仮数部と指数部に分解。
実数値 f、仮数部 a、指数部 b とする。

f = 0 の時は特殊解として省略。b が発散する。

f = a×10^b  ここで b は整数、1≦a<10 とする
両辺の対数を取って log f = b + log a → b = log f - log a
0≦log a<1 より、log f≦log f - log a<1 + log f → floor(log f) = floor(log f - log a)
b は整数より floor b = b
従って b = floor(log f)、a = f ÷ 10^b

後は仮数部 a を 1000 倍して四捨五入して元に戻せば有効数字 3 桁で丸めの
誤差を消せるだろう。まぁ有効数字 3 桁程度なら log 使っても影響はないだろうし。
だがまた double 型に戻すと丸めで同じことになるかもしれないので、このまま
仮数と指数に分けた状態でグリッドに乗せてやるのが良い。

247 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 10:28:17
間違えた

×log f≦log f - log a<1 + log f → floor(log f) = floor(log f - log a)
○log f≧log f - log a>-1+log f → ceil(log f) = ceil(log f - log a)、ceil b = b = ceil(log f)

だな。

248 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 10:32:49
(´-`).。oO( 俺もBigDecimalにして丸めればいいと思うんだけど・・・ )

249 名前:デフォルトの名無しさん []:2006/02/03(金) 10:39:44
非常に曖昧な質問で申し訳ないんですが、皆さんのお知恵を拝借したく質問させていただきます。

大学の期末課題で表計算プログラムを書けというものが出たのですが、ほかのセルに入っている式を
参照する機能がありそれを調べて計算しなおすのにトポロジカルソートを使うようにという事なのですが、ネット、本等で調べても
あまり良くわからず、困っています。何となくの実装の指針だけでも結構ですので教えていただけるとありがたいです。

250 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 10:43:50
>>249
テンプレで書いて丸投げするか、質問スレ行ったら?

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

251 名前:デフォルトの名無しさん []:2006/02/03(金) 17:26:44
【 課題 】逆行列を求め、その逆行列とほかの行列の掛け算をするプログラムを作成しなさい。
【 期限 】できれば今日中でお願いします。
【 補足 】つくっていただけるとなんでもよいのですが、下のような感じにしていただけると大変助かります。

import java.awt.*;
import java.awt.event.*;

class aiu
{
public static void main(String [] args)
{
double a[][] = {正方行列の宣言}


double b[][] = {正方行列の宣言}
       
       //逆行列を求める。
static void inv(double a[][])
{
逆行列をもとめる
        }

       //求めた逆行列とほかの行列の掛け算をする。
static void kakezan(double a[][], double b[][])
{
行列の掛け算をする。
        }


よろしくおねがいします

252 名前:デフォルトの名無しさん []:2006/02/03(金) 17:35:28
上のやつではいけてませんね。すいませんこちらでよろしくおねがいします。

【 課題 】逆行列を求め、その逆行列とほかの行列の掛け算をするプログラムを作成しなさい。
【 期限 】できれば今日中でお願いします。
【 補足 】つくっていただけるとなんでもよいのですが、下のような感じにしていただけると大変助かります。

class aiu
{
public static void main(String [] args)
{
double a[][] = {正方行列の宣言}
double b[][] = {正方行列の宣言}
gyaku(a)
kake(a,b)
}
//逆行列を求める。
static void gyaku(double a[][])
{
逆行列をもとめる
        }
//求めた逆行列とほかの行列の掛け算をする。
static void kake(double a[][], double b[][])
{
行列の掛け算をする。
        }

よろしくおねがいします

253 名前:?デフォルトの名無しさん []:2006/02/03(金) 18:23:06
249です。以下に主だった2つのjavaファイルをのせます。TechCalc.javaは表計算のウィンドウを作る
もので、MathExpression.javaは表に入力された式を解析し計算するものです。

今回わからないのは、主に、TechCalc内のrefreshメソッドの改善とそれに付随するメソッドの作成です。
この表計算のプログラミングには、通常のExcel同様、セルの参照機能があります。
なのである表が書き換えられたときにそれを参照しているセルの計算結果も変更したいのですが、そのときにこのままのやり方ですとあまりに手間がかかってしまいます。
そこで、教授曰くトポロジカルソートなるものを使えとのことなんですが、どうにも理解できません。多少の変更、実際にそのまま実装できるか等はあまり気にしません。
自分で理解して書き直すつもりですので、ある程度の指針だけでも示していただければと思います。
可読性の乏しいプログラムですが、よろしくお願いします。



254 名前:デフォルトの名無しさん []:2006/02/03(金) 18:30:17
http://www.ihot.jp/?heichan

255 名前:249 []:2006/02/03(金) 18:40:15
TechCalc.java
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26988
MathExpression.java
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26989

256 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 19:26:02
>>253
まずはテンプレの必要性を理解してくれ

257 名前:249 []:2006/02/03(金) 19:46:24
ホントに場違いな質問で申し訳ないんですが…
テンプレとは何なんでしょうか?

258 名前:249 []:2006/02/03(金) 19:48:22
ホントに場違いな質問で申し訳ないんですが…
テンプレとは何なんでしょうか?

259 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 19:49:41
>>257
>>258

>>1

260 名前:249 []:2006/02/03(金) 20:46:44
【 課題 】
以下の機能を実現しなさい。
・セルに数式が入力され、その数式が計算可能な場合には表に計算結果を記載すること。
・入力された数式に文法上の誤りがあった場合には、エラーがあった旨を分かりやすく表示し、表のセルには「?」と表示すること。誤った入力の内容を保持し、メニュー直下の入力覧を用いて修正できるような仕組みは優秀なユーザインタフェイスです。
エラーメッセージは、GUIを拡張して、エラーメッセージを表示するエラー表示領域に出力するとよいでしょうね。標準エラー出力を使っても構いません(ショボイですが)。エラーが発生するごとにメッセージウィンドウを表示する方法も考えられますが、欝陶しいでしょうね。
・文法的に正しい数式が入力されたが、その数式が空のセルを参照したために評価時にエラーが発生する場合には、その数式の入力を許し、表には「?」と記載して下さい。赤くなくて構いません。
・入力された数式が文法的には正しいけれども、その数式が循環的な参照を含んでいて評価できないことがあります。その場合には、その数式の入力を許し、表には「?」と記載して下さい。赤くなくて構いません。
・セルの数式が直接的にあるいは間接的にそのセル自身を参照することを自己参照します。
・自己参照しているセルを直接的にあるいは間接的に参照するセルは循環的な参照を含んでいます。
・セルに数式が入力され、その数式が計算可能な場合には、その数式を直接的にあるいは間接的に参照するセルのうち計算可能なものすべてについて、
必要であれば再計算をして、正しい計算結果を表に記載すること。
・自己参照をするセルの数式が更新され、その結果、そのセルの自己参照がなくなった場合には、そのセルの計算結果を表に記載すること。
さらに、自己参照がなくなったセルを直接的あるいは間接的に参照するセル(「?」となっているはず)のうち計算可能なものすべてについて、再計算して正しい計算結果をセルに記載してください。
・十分に実用的な速度で計算できるように工夫してください。
【期限】今週中希望です
【補足】>>253


261 名前:デフォルトの名無しさん []:2006/02/03(金) 21:08:05
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26990
上のプログラムは棒グラフを表示するものなのですが、27行目の
private LinkedHashMap<Data, Integer>() distribution = new LinkedHashMap<Data, Integer>();
のところに”<identifier>がありません”というエラーが出てしまいます。
お手数ですが、正しく直せる方、よろしくお願いいたします。

262 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 21:17:53
>251-252
ttp://www.wikiroom.com/java/index.php?SourcePost____#le5d83b4
>252
>下のような感じ
は無視してます。

>261
それ俺が>121-122の返事として
ttp://www.wikiroom.com/java/index.php?SourcePost___#x18a7713
に貼ったやつじゃん。JDK5.0使ってるからそれ入れて。

263 名前:262[sage]:2006/02/03(金) 21:38:50
JDK5.0云々のやりとりって一度やってるのね。。忘れてたわw

264 名前:262[sage]:2006/02/03(金) 21:49:35
(1) private LinkedHashMap<Data, Integer> distribution = new LinkedHashMap<Data, Integer>();
→private LinkedHashMap distribution = new LinkedHashMap();

(2) init()メソッド内のdistribution.put()第2引数の整数
→new Integer()でくるむ。
例)distribution.put( new Data(COMPANY_A, TERM_NEW, false), new Integer(95) );

(3) int width = distribution.get(key) * 2;
→int width = ((Integer)distribution.get(key)).intValue() * 2;

今度からはバージョンの指定してくれ。

265 名前:デフォルトの名無しさん[sage]:2006/02/03(金) 22:07:45
そですねぇ。5.0 (1.5) から文法も変わってることですし。
JDK のバージョンは割と必須項目かも…?

266 名前:デフォルトの名無しさん []:2006/02/04(土) 00:07:14
【 課題 】UmiServerを変更し,燃料タンクの座標を重心とした一辺20の正三角形内に船が入ったとき,
      燃料タンクの取得とするプログラムを作成しなさい.
      また、同様にUmiServerを変更し,座標(0,0)-(10,10)の正方形内に入ったとき,
      最も近くの燃料タンクの半径50以内に移動するプログラムを作成しなさい.
      さらに同様にUmiServerを変更し,サーバの入出力を全てファイルにログ出力するプログラムを作成しなさい.
【 期限 】2月9日
【 補足 】ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26994
ここに元となるUmiserverがありますのでよろしくお願いします。

267 名前:デフォルトの名無しさん[age]:2006/02/04(土) 00:12:32
初心者の俺でもわかる質問をお待ちしております。
他人の勉強は自分の勉強。

268 名前:デフォルトの名無しさん[sage]:2006/02/04(土) 00:13:52
>>266
encode何だ?
Shift-JISでもEUCでもマトモに読めないんだが・・・

269 名前:266 []:2006/02/04(土) 00:54:25
>>268
すんません、ちょっとめんどくさいのですが
ttp://49uper.com/up-s/index.php?mode=list
ここのファイル一覧で表示させれば
109462.zip  UmiServer  3kb  nanasida  2006.02.04(00:51)
のファイルが出てくるのでそこでダウンロードしてみてくれませんか?


270 名前:266 []:2006/02/04(土) 00:58:42
ttp://49uper.com/
たびたびすんません、ここです。

271 名前:デフォルトの名無しさん []:2006/02/04(土) 03:52:21
>>260
できれば、数式の文法について(セル指定の構文など)
教えてくだされ
ソースから読み取るのは、かなり辛いです。。。


272 名前:>251-252 []:2006/02/04(土) 12:58:40
>>262
ありがとうございます。
Matrix.javaの15行目を少し直すと無事使うことができました。

273 名前:260 []:2006/02/04(土) 13:12:30
>>271
私が今から書くことが果たして答えになっているかどうかはわかりませんが、

あとこれのほかに、Parse.javaというものがあります。これは式を、解析して
MathExpression.java内のどこで計算すればよいのかをわかるようにします。
そして、解析した引数の数によって、そして関数なのか演算子による演算なのかのよって
各々のevaluateメソッドによって振り分けられその場所場所で計算します。

セル参照についてですがMathExpression内のReferenceというクラスで、定義・計算されています。
不十分でしたら随時お知らせください。お願いします。

274 名前:デフォルトの名無しさん[sage]:2006/02/04(土) 13:30:16
>273
正直な話、途中までできてるものをカスタマイズするという課題だと
動くものを提供してくれないと手が打ちづらいんだわ。
中途半端にモノをもらっても困る。

自分がもし>255のTechCalc.javaとMathExpression.javaだけ与えられて
>260の課題を解こうとしたときにできると思う?

275 名前:デフォルトの名無しさん[sage]:2006/02/04(土) 13:43:54
【課題】
インストラクション:

ダイヤル式金庫クラスを作成。(開けるコードも)
コンストラクタ
金庫の中身の金額,開く右回転左回転のパターンの配列
メソッド (public)
「金庫ドアノブ」引数なし,戻り値,中身の金額
「ダイヤルを右に回しn目盛へ」引数,int n;何目盛にあわす
「ダイヤルを左に回しn目盛へ」引数,int n;何目盛にあわす
フィールド (private)
中身の金額
金庫が開く右回転,左回転のパターンの配列
現在の位置とどのステップまで進んだかの状態



お願いします

276 名前:260 []:2006/02/04(土) 13:45:03
スミマセン…では明日学校に行くのでそのときにすべて載せます。
それまでお待ちいただければと思います。

277 名前:デフォルトの名無しさん []:2006/02/04(土) 13:49:57
>>41
10進数を書いてもらったのですけど8進数で出力のやり方教えてもらえませんか?

278 名前:デフォルトの名無しさん[sage]:2006/02/04(土) 14:14:46
System.out.printf("%o",9);


279 名前:デフォルトの名無しさん []:2006/02/04(土) 14:31:46
>>278さん
すみませんよくわかりませんどこに入れたらいいんですか?

280 名前:デフォルトの名無しさん []:2006/02/04(土) 14:42:09
>>277自己解決しました

281 名前:デフォルトの名無しさん[sage]:2006/02/04(土) 17:58:14
>275
ttp://www.wikiroom.com/java/index.php?SourcePost____#n317855e
綺麗なソースじゃないけど。
動作報告よろしく。

282 名前:デフォルトの名無しさん []:2006/02/04(土) 22:56:23
java.awt.swing って何ですか?API見てもわかんネイっす。

283 名前:デフォルトの名無しさん[sage]:2006/02/04(土) 22:56:56
そんな変なもんねぇ

284 名前:デフォルトの名無しさん[sage]:2006/02/04(土) 23:14:39
>>282
awtとswingって何が違う?
っていうかこんな質問してダイジョウブ化俺?

285 名前:デフォルトの名無しさん[sage]:2006/02/04(土) 23:57:05
>>284
こっちは宿題スレ。宿題以外の質問は↓で

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


286 名前:デフォルトの名無しさん[age]:2006/02/05(日) 01:02:36
【 課題 】Bilingalクラスを修正し、コンストラクタで年齢を指定して
      インスタンスを作れるように書き換えなさい。
      さらにクラスの動作をテストするmainメソッドを追加し、
      動作を確認しなさい。
【 期限 】2月5日(ギリギリですみません)
【 補足 】与えられているソースを下は貼ります。
      課せられている実行結果は以下です
[実行結果]
年齢は15歳
Age is 15 years old
こう見えても疲れまんねん
I am tired even if I am seen this way

287 名前:286[age]:2006/02/05(日) 01:04:37
interface Japanese{
public void 走る();
public int 年齢();
}
interface English{
public void run();
public int age();
}
class Bilingual implements Japanese,English{
public void 走る(){
System.out.println("こう見えても疲れまんねん");
}
public int 年齢(){
return age();
}
public void run(){
System.out.println("I am tired even if I am seen this way");
}
public int age(){
return 20;
}
}

288 名前:デフォルトの名無しさん[sage]:2006/02/05(日) 01:47:36
>286
Bilingal内に以下を付け加えたらよろし。

int age;
public Bilingual(int old){
this.age = old;
}
public static void main(String[] args) throws IOException {
try {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("年齢を入力してください");
int num = Integer.parseInt(buf.readLine());
Bilingual bil = new Bilingual(num);
System.out.println("年齢は" + bil.年齢() + "歳");
System.out.println("Age is " + bil.age() + "years old.");
bil.走る();
bil.run();
} catch (NumberFormatException e) {
System.out.println("数字を入力してください");
}
}

289 名前:286[age]:2006/02/05(日) 02:56:34
回答有難うございます。付け加えたところ
Bilingual.java:17: シンボルを見つけられません。
シンボル: クラス InputStreamReader
場所 : Bilingual の クラス
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
というエラーが出てしまいました。いろいろ試してみたのですがどこを直せば良いのでしょうか。
お願いします。

290 名前:デフォルトの名無しさん[sage]:2006/02/05(日) 03:10:13
>>289
import した?

291 名前:286[age]:2006/02/05(日) 03:24:18
>>290
よく分からず下の3つimportで実行はできたのですが
import java.awt.*;
import java.awt.event.*;
import java.io.*;

>>286
の下から3行目で20が戻されて表示が20歳で出てしまいます。
age()を入れるのかと試したらループのような表示がでました。
すみません教えてください。

292 名前:286[age]:2006/02/05(日) 03:32:21
すみません上で書いたようにage()いれてました^^;
ageいれたらできました。有難うございました。
importについてはこれで大丈夫でしょうか

293 名前:デフォルトの名無しさん[sage]:2006/02/05(日) 04:11:11
>>292
問題ない。

# 個人的な信念としてはクラス別にimportしてる
# どのクラスインポートしてるか分かるじゃん

294 名前:デフォルトの名無しさん[sage]:2006/02/05(日) 11:19:01
【課題】キーボードから、数値を2つ入力待ちをする間
10秒ごとに画面に * を出力するプログラムを作成。
2つの値が入力されたら、2つを足した値を画面に出力し終了する。

お願いします

295 名前:デフォルトの名無しさん []:2006/02/05(日) 15:38:23
>>266
とりあえず、日本語みたいなところは文字化けしてんな
一応ソースは見れるようだ

296 名前:デフォルトの名無しさん[sage]:2006/02/05(日) 17:38:01
>294
ttp://www.wikiroom.com/java/index.php?SourcePost____#q7634fc4

297 名前:デフォルトの名無しさん[age]:2006/02/05(日) 21:53:47
【 課題 】以下のMyFrame2を修正し「終了」ボタンを押すと終了するようにしなさい。
import java.awt.*;
import java.awt.event.*;
public class MyFrame2 extends Frame{
static public void main(String args[]){
Frame window=new MyFrame2();
window.setSize(300,120);
window.setVisible(true);
}
public void paint(Graphics g){
g.setColor(Color.blue);
g.setFont(g.getFont().deriveFont(Font.PLAIN,50.0f));
g.drawString("Hello World",10,80);
}
public MyFrame2(){
Control control=new Control();
addWindowListener(control);
Button button=new Button("終了");
button.addActionListener(control);
add("South",button);
}
class Control extends WindowAdapter{
public void windowClosed(WindowEvent e){
System.exit(0);
}
public void windowClosing(WindowEvent e){
dispose();
}
}
}
おねがします。

298 名前:デフォルトの名無しさん[sage]:2006/02/05(日) 22:03:06
>297
現状だとコンパイルエラーになっている
button.addActionListener(control);
を以下の5行で書き換える。
button.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.exit(0);
}
});

299 名前:297 []:2006/02/05(日) 22:16:50
>>298
なるほど、そのような使い方があるのですね。
まだ全然分からなくて助かりました。有難うございます。

300 名前:デフォルトの名無しさん[sage]:2006/02/06(月) 00:10:39
【課題】
キーボードから1行づつ文字を入力する
1行入力したら別のスレッドでa.txtというファイルにその1行を書き出す
プログラム実行中はファイルをひらきっぱなし
と いうプログラムを作成
余裕がある人は,配列やvectorなしで,連続に書き出された場合でも正しく
スレッドが起動され,正しく順番どおりに書き出されるようにすること

お願いします

301 名前:デフォルトの名無しさん []:2006/02/06(月) 07:16:31
【 課題 】入力した数値の素数を求めるプログラムを組みなさい。例えば100と入力した場合、2〜97、10000と入力した場合、2〜9973と
      すべて表示されるようにすること。
【 期限 】2月7日
【 Ver  】1.4、1.5
【 補足 】一応、途中まで組んではみたのですが、素数の最初である「2」が表示されません。
      ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27003

よろしくお願いします。

302 名前:301 []:2006/02/06(月) 07:19:36
さらに補足ですが、

if (inputNum <= 2) {
System.out.print("2以上の数値を入力してください。");

の所で、2以下を入力するとまた入力画面に戻したいのですが、
こういう場合はfor文を使った方が良いのでしょうか?

303 名前:301 []:2006/02/06(月) 09:07:26
すいません、また補足です… 課題に2枚目がありましたorz(オンラインでPDFで配布されています。)
二つのクラスを用いてプログラムを書けとのことです。
入力するところまでをメインのクラスに、素数の計算を別のクラスでやるみたいで、
コンストラクターが混ざってくるみたいです。こうなってくるとお手上げ状態なので、
丸投げでよろしくお願いします。

一応、課題を書き直しておきます。

【 課題 】入力した数値の素数を求めるプログラムを組みなさい。
      例えば100と入力した場合、2〜97、10000と入力した場合、2〜9973と
      すべて表示されるようにすること。
      
      (※)課題にはここで、素数の例が書かれています。

      注意)最低でも二つのクラスを用いてプログラムを組むようにする事。
         クラスがひとつの場合はプログラムが正しく動作をしても評価をつけることが出来ません。

304 名前:デフォルトの名無しさん[sage]:2006/02/06(月) 10:34:04
【課題】画像ファイルを複数読み込み、Timerクラスを用いて画像のアニメーション表示を行う以下のプログラムを完成せよ。

/* AnimeFrame.java */
import java.awt.*;
import javax.swing.*;

class AnimeFrame extends JFrame
{
private AnimePanel animePanel;
public AnimeFrame()
{
super();
Toolkit tk = Toolkit.getDefaultToolkit();
Image[] images = new Image[10];
for (int i = 0; i < 10; i++)
{
images[i] = tk.getImage("anime" + i + ".gif");
}
AnimePanel animePanel = new AnimePanel(images);
FlowLayout flow = new FlowLayout();
animePanel.setLayout(flow);
getContentPane().add(animePanel);
}
}

305 名前:304[sage]:2006/02/06(月) 10:40:25
/* AnimePanel.java */
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
import javax.swing.Timer;

public class AnimePanel extends JPanel
implements ActionListener
{
private Image[] images;
private Timer timer;
public int x,y;
private int joutai = 0;


306 名前:304[sage]:2006/02/06(月) 10:42:07

public AnimePanel(Image[] images)
{
super();
setBackground(Color.white);
setPreferredSize(new Dimension(640, 480));

this.images = images;
timer = new Timer(2000, this);
timer.start();
}

public void paintComponent(Graphics g)
{
super.paintComponents(g);
if(joutai < 10){
g.drawImage(images[joutai], x, y, this);
joutai++;
}
}

public void actionPerformed(ActionEvent e) {
repaint();
}
}

307 名前:304[sage]:2006/02/06(月) 10:43:38
/* AnimeFrameApp.java */
class AnimeFrameApp{
public static void main(String[] args) {
AnimeFrame x = new AnimeFrame();
x.setSize(200, 300);
x.setLocation(10, 10);
x.setVisible(true);
}
}




以上です。おながいします……。

308 名前:デフォルトの名無しさん[sage]:2006/02/06(月) 10:50:57
>301
http://www.wikiroom.com/java/index.php?SourcePost____#content_1_0

309 名前:301 []:2006/02/06(月) 14:13:42
>>308
ありがとうございます。こういう風に記述すれば良いのですね。

310 名前:デフォルトの名無しさん []:2006/02/06(月) 17:05:40
【課題】プログラムのデッドロックを回避する方法を考えてください

class DedLocka
{
DedLockb b;
public synchronized void fn1(int c)
{
System.out.println("fn1"+c);
try { Thread.sleep(1000); } catch(Exception e) {}
if(c == 1) b.fn2(0);
}
}
---------------------------------------------
続く




311 名前:デフォルトの名無しさん []:2006/02/06(月) 17:06:51
----------------------------------------------------------
class DedLockb
{
DedLocka a;
public synchronized void fn2(int c)
{
System.out.println("fn2"+c);
try { Thread.sleep(1000); } catch(Exception e) {}
if(c == 1) a.fn1(0);
} }
class Th1 extends Thread {
DedLocka obj;
public Th1(DedLocka c) { obj = c; }
public void run() { obj.fn1(1); }
}
class Th2 extends Thread
{
DedLockb obj;
public Th2(DedLockb c) { obj = c; }
public void run() { obj.fn2(1); }
}
class test {
public static void main(String av[])
{
DedLocka a = new DedLocka();
DedLockb b = new DedLockb();
a.b = b;
b.a = a;
Th1 t1 = new Th1(a); Th2 t2 = new Th2(b);
t1.start(); t2.start();
}}


312 名前:デフォルトの名無しさん []:2006/02/06(月) 17:10:06
【課題】デッドロックを起こすコードを書きなさい。
【期限】2月7日17時まで
よろしくお願いします。

313 名前:007 []:2006/02/06(月) 18:31:38
問題
主人一人で頭を刈る小さな床屋がある。1時間当たり平均λ(人)の客がランダムに床屋に到着する。
1時間当たり平均μ(人)の指数サービスに従う。待合室は1人だけ入ることができる。満員のときは客
は帰ってしまう。

@この待ち行列系はケンドールの記号で表すとどのような系か?
 
Aλ=0.8、μ=1のとき、この床屋で客が待たされる確率を計算せよ。

Bこの床屋には平均何人の客がいることになるか計算せよ。


プログラムじゃないけどこの問題を解いてください。
お願い!助けて!!!! 留年がかかってます!



314 名前:デフォルトの名無しさん[sage]:2006/02/06(月) 18:32:08
>>313
マルチツね

315 名前:007 []:2006/02/06(月) 18:33:35
>>314
わかりますか!?おねがいします!

316 名前:デフォルトの名無しさん[sage]:2006/02/06(月) 19:11:30
>>313
いや、ここJAVAの宿題やるところだから別行けよ
てか>>314のはマルチポストでぐぐって意味が分かったらもう来るな

317 名前:デフォルトの名無しさん []:2006/02/06(月) 20:42:59
【問題】
コマンドラインで指定したファイルをコピーするプログラムを作成しなさい。
・コピー元ファイル名およびコピー先ファイル名は必須項目である。
・指定する順序はどちらでもよい。
【期限】2月8日まで
「ここ」と書いてある場所がわかりません。よろしくお願いします。
import java.io.*;
public class Ec{
public static void main(String[] args){
BufferedWriter bw=null;
BufferedReader br=null;
String in="";
String out="";
String line;

for(int i=0;i<args.length;i++){
if(args[i].equals(args(ここ)){
in=args[ここ];
}else if(args[i].equals(args[ここ])){
out =args[ここ];
}
}


318 名前:317の続き []:2006/02/06(月) 20:43:51
if(ここ){
System.out.println("Usage:");
System.out.println("-iコピー元ファイル名");
System.out.println("-oコピー先ファイル名");
System.exit(1);
}
try{
br=new BufferedReader(new ここ(in));
bw=new BufferedWriter(new ここ(out));
while((line=br.ここ)!=null){
bw.write(line);
bw.ここ;
}
}catch(FileNotFoundException fnfe){
System.out.println("指定したファイルは存在しません");
}catch(IOException ioe){
System.out.println("ファイル乳sh靴緑エラー"+ioe);
}finally{
try{
if(br !=null){br.close();}
if(bw !=null){bw.close();}
}catch(Exception e){
}}}}

319 名前:デフォルトの名無しさん[sage]:2006/02/06(月) 21:00:44
>>316
import java.io.*;
class A017 {
public static void main(String[] args) {
if (args.length < 2) {
System.out.println("パラメーターを入力してください。 [コピー元] [コピー先]");
return;
}
try {
InputStream in = new FileInputStream(args[0]);
OutputStream out = new FileOutputStream(args[1]);
try {
byte[] buff = new byte[4096];
int f = 0;
while ((f = in.read(buff)) != -1) {
out.write(buff, 0, f);
}
} finally {
in.close();
out.close();
}
} catch (FileNotFoundException fie) {
System.out.println("ファイルが見つかりません。");
} catch(IOException ie) {
System.out.println("コピーできません。");
}
}
}

320 名前:319[sage]:2006/02/06(月) 21:02:13
間違えた。319は>>316じゃなくて>>317

321 名前:>>300[sage]:2006/02/06(月) 21:47:18
>>300 同期なしの超シンプル版。close()してない。
// HW300.java
import java.io.*;
public class HW300 extends Thread {
private static final String PATH = "a.txt";
private String data;
private static PrintWriter pw;
HW300(String str) { data = str; }

public void run() {
if (pw == null) {
try { pw = new PrintWriter(new FileWriter(new File(PATH))); }
catch (IOException e) { e.printStackTrace(); }
}
pw.println(data); pw.flush();
}
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
for (String str = null; (str = br.readLine()) != null;) {
if ("".equals(str)) break;
new HW300(str).start();
} }
catch (IOException e) { e.printStackTrace(); }
}
}
// Writerってスレッドセーフ? 教えて!偉い人!!

322 名前:デフォルトの名無しさん[sage]:2006/02/06(月) 22:05:52
>300 題意は満たすはず。多分。

package net._2ch.tech;
import java.io.*;

public class _300 {
 private static PrintWriter writer;

 private static class Cuckoo implements Runnable {
  private final String toWrite;
  Cuckoo( final String s ) {
   this.toWrite = s;
  }
  public void run( ) {
   writer.println( toWrite );
  }
 }

 public static void main( final String args[] ) throws Exception {
  final BufferedReader br = new BufferedReader( new InputStreamReader( System.in ));
  writer = new PrintWriter( new FileWriter( "a.tst" ));
  while( true ) {
   final String s = br.readLine( );
   if( s == null ) break;
   final Thread th = new Thread( new Cuckoo( s ));
   th.start( );
   th.join( );
  }
  br.close( );
  writer.close( );
 }
}

323 名前:317[sage]:2006/02/06(月) 22:16:53
>>319-320
ありがとうございました

324 名前:317[sage]:2006/02/06(月) 22:24:32
何度もすいません
>>317-318の「ここ」って書いてあるところを穴埋めして欲しかったのですが・・・
できればでいいですのでよろしくお願いします

325 名前:デフォルトの名無しさん []:2006/02/06(月) 22:54:47
【課題】
http://i.yimg.jp/images/main13.gifをmain13.gifという名前でファイルに保存するプログラムを作成


お願いします。
ちなみにhttp://i.yimg.jp/images/main13.gifはyahooのtopのやつです

326 名前:デフォルトの名無しさん[sage]:2006/02/06(月) 23:11:41
>325

package net._2ch.tech;
import java.io.*;
import java.nio.channels.*;
import java.net.*;

public class _325 {
 public static void main( final String args[] ) throws Exception {
  final URLConnection srcURL = new URL( "http://i.yimg.jp/images/main13.gif" ).openConnection( );
  final int len = srcURL.getContentLength( );
  final FileChannel dst = new FileOutputStream( "main13.gif" ).getChannel( );
  final InputStream is = srcURL.getInputStream( );
  final ReadableByteChannel src = Channels.newChannel( is );
  dst.transferFrom( src, 0, len );
  src.close( );
  dst.close( );
 }
}


327 名前:デフォルトの名無しさん[sage]:2006/02/06(月) 23:32:04
>>326
ありがとうございます。
正常に動作し、課題を提出することが出来ました

328 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 00:22:21
【課題】
java JavaCopy a.txt b.txt
 とすれば,a.txtというファイルを b.txtにコピーする
 JavaCopyクラスを作成してください。
※コピーできるのは,テキストファイルだけでOK(バイナリファイルはコピーできなくても良いです。)
【期限】今週水曜日

お願いします

329 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 00:46:54
>>328
>>317
同じ学校?

330 名前:デフォルトの名無しさん []:2006/02/07(火) 08:40:08
【課題】
コマンドライン引数として2進数を1つ受け取りその値を10進数として
表示するプログラムを作成せよ。

正の2進数のみを考慮すればよい


【期限】
2月8日まで

お願いします。

331 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 08:56:35
どなたか>>304-307もお願いします……(つд`)

332 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 09:32:15
>331
画像用意してくれないとやる気起きないっすわー。

333 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 09:59:07
>328
import java.io.*;
public class JavaCopy {
public static void main(String[] args){
if( args.length != 2 ) {
System.out.println( "使いかた:java JavaCopy [入力ファイル名] [出力ファイル名]" ); return;
}
BufferedReader br = null; BufferedWriter bw = null;
try {
if( !new File(args[0]).exists() ) {
System.out.println( "コピー元のファイルが存在しません。" ); return;
}
if( new File(args[1]).exists() ) {
System.out.println( "コピー先のファイルは既に存在しています。\n上書きしますか?[Y/n]" );
BufferedReader keyInput = new BufferedReader( new InputStreamReader(System.in) );
if( !keyInput.readLine().equals("Y") ) return;
}
br = new BufferedReader( new FileReader(args[0]) );
bw = new BufferedWriter( new FileWriter(args[1]) );
for( String line; (line=br.readLine()) != null; ) {
bw.append( line + "\n" ); bw.flush();
} System.out.println( "コピーしました。" );
} catch( FileNotFoundException fnfe ) {
fnfe.printStackTrace();
} catch( IOException ioe ) {
ioe.printStackTrace();
} finally {
try {
if( bw != null ) bw.close();
if( br != null ) br.close();
} catch( IOException ioe ) {}
}}}

334 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 10:01:14
>330
>209で既出。
>210に答えあり。

335 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 10:43:03
>334
ログ読んでなくてすみません。

336 名前:デフォルトの名無しさん []:2006/02/07(火) 13:20:14
【課題】
五目並べのプログラム。
マスは10×10。
禁じ手は考慮しない。
GUIで作成。

【期限】今週水曜日

お願いします。


337 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 13:23:41
>>336
> GUIで作成。
少しばかりの恐怖を感じた

338 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 14:26:11
>>337
グリッド10,10で
ボタン100個並べればいいんでない?

339 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 14:27:11
J++で作ってみよーかな

340 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 14:44:43
J++って何??

341 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 14:49:23
>>340
M$が改造しまくって、挙句にjava非互換の烙印を押された悪魔です

342 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 15:10:15
>>341
非互換ってことはJavaのソース使えないの?
まさかVMで動かないとか・・・

343 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 15:26:51
>>342
そういえばJ#とか、javaVMじゃないからjava互換じゃないんだよなぁ

344 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 15:31:49
何よJ#って・・・・M$もうダメポ

345 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 15:33:25
JavaじゃないけどM$次あたりC*とか♭とかCΩとか出してきたりして・・・・

346 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 18:27:34
見た目Javaなのにjavaxパッケージの使えないJ#キモい

347 名前:syosinsya []:2006/02/07(火) 22:01:42
すいません
教えてください
大変困っています。

サーバサイドプログラミングで、
サーバ側のWEBアプリから、クライアントのEXEを起動しようと試みています。

環境
サーバ
OS:windows
アプリ:WEBアプリ(Struts)
ブラウザ:IE6

クライアント
OS:windows
アプリ:.NETアプリ(EXEファイル)

処理としては、クライアントからWEBアプリ(Struts)にアクセスして、
Aというリンク文字列をクリックすると、ローカルにインストールしてある
.NETで開発したEXEを起動するといったものです。

クライアントの、EXEパスは絶対パスでOKです。

サーバのWEBアプリから、アクセスしてきたクライアントのEXEを起動はできますでしょうか?
どのようにすればよいでしょうか?

できれば、JAVAで制御しようと思っているのですが、
JAVAで無理であれば、JavaScript・VBScriptの何れかでも結構です。

ご教授いただきたいのですが、よろしくお願いします。

348 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 22:02:53
つ [ClickOnce]?

349 名前:デフォルトの名無しさん[sage]:2006/02/07(火) 22:10:27
>336
ttp://www.wikiroom.com/java/index.php?SourcePost____#c8f5b85e
JDK5.0使ってます。
時間ないのでテストが不十分です。

350 名前:デフォルトの名無しさん []:2006/02/08(水) 04:02:44
申し訳ないですがお願いいたします・・・・・
JAVAアプレットにて動作させるという課題なのですが、
プログラミングが苦手で、正直どうしていいかわかりません。。。
課題としては、
リアルタイム処理時計表示付き電卓(四則演算のみでよい)
じゃんけんゲーム(プレイヤー VS CPU)
ストップウオッチ(停止・開始・リセットボタンが必要)
の3つなのですが、最低限の表示でいいので、極力簡単なソースで
お願いできないでしょうか?
身勝手な丸投げですが、よろしくお願いいたします・・・・


351 名前:デフォルトの名無しさん []:2006/02/08(水) 04:08:52
補足いたしますと、
osはwindows
コンパイラは、LSIコンパイラです。
実行すると、JAVAアプレット画面が開き、そこから操作が出来る物を
作成しろとの事です。。
大変申し訳ないのですが、よろしくお願いいたします。
期限はほとんどありません・・・


352 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 06:07:12
>350-351
>1のテンプレ使え。
じゃないと誰も答えてくれません。
じゃんけんは昔作った。wikiにあるはず。

353 名前:デフォルトの名無しさん []:2006/02/08(水) 09:37:21
>>352
【 課題 】@ジャンケンゲーム。
      A時計表示機能付き電卓。
      Bストップウオッチ
【 用語 】なし
【 期限 】来週水曜日(2/15)
【 Ver  】なし
【 補足 】JAVAアプレットにて表示・動作するものを作成。
      osはwindows
      @時刻は秒まで表示しリアルタイムで更新。計算機能は四則演算のみ
      Aスタート・ストップ・リセットの機能を有したアプレット。計測単位は1/10秒単位まで
      Bコンピューター対戦型で、あいこの判定もできるもの。

こんな感じです。。。よろしくお願いいたします・・・


354 名前:デフォルトの名無しさん []:2006/02/08(水) 10:53:21
複数のbinaryFileをある条件で書き換え連結し一つの
binaryfile(matome)を作るプログラムを作っています。
どう組むかの案として以下の2つがあります。
案1 binaryfileを書き換える度に、binaryfile(matome)に書き込む。
案2 書き換えた複数のbinaryfileをbyte配列にまとめておき最終的に
  binaryfile(matome)に書き込むようにする。
この二つを考えているのですが、できればスタンダードな方法を取りたい
どの案がいいと思いますか、どっちでもよいという意見でも
いいので教えてください。



355 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 10:57:00
>>354

>>1
宿題以外は↓で

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

356 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 10:57:02
>>354
>できればスタンダードな方法を取りたい

binaryfile(matome)なんてファイルは「作らない」

これがスタンダード


357 名前:354 []:2006/02/08(水) 11:05:17
>>356
意味不明

358 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 11:12:46
>>355
(整合性をとる必要のある)冗長はデータは作らない。
是、プログラミングの常識ね。

逆に、どうして binaryfile(matome) なるものが必要なのか、
合理的に説明できるか?

単純に複数の binaryfile があるだけで事足りるのでは?


359 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 11:17:23
>>356-358
続きはhttp://pc8.2ch.net/test/read.cgi/tech/1138455638/728-



360 名前:デフォルトの名無しさん []:2006/02/08(水) 15:54:44
【 課題 】ユーザーDBから引数で渡された値をキーにし、ユーザーの全情報を取得するSELECT文を記述してください。(丸投げできなくてすいません)

【 補足 】MST_USER(ユーザテーブル)引数user,pass

【期限】2月9日9時まで

自分なりには
strSQL ="SELECT * FROM MST_USER WHERE USER_ID =" + user.id + " and USER_PASSWORD =" + pass + ";";
だと思っていたのですが動かないのでお助けください。

361 名前:デフォルトの名無しさん []:2006/02/08(水) 16:26:06
>>360
";"が不要なのでは?
エラーログを見てみては?

362 名前:360 []:2006/02/08(水) 16:59:58
こんな感じです
Exception in thread "main" java.lang.NullPointerException
at DBC.S_User(DBC.java:185)
at Log.login(Log.java:35)
at DBSAMPLE19.getLOG(DBSAMPLE19.java:78)
at DBSAMPLE19main(DBSAMPLE19.java:29)

363 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 17:03:26
>>360,>>362
userって何クラスなのよ? user.idと書いてるのを見るとStringじゃないだろうし。


364 名前:デフォルトの名無しさん []:2006/02/08(水) 17:13:21
>>362
DBC.javaの185行目にnullを参照してる所があるのでは?


365 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 22:02:19
【 課題 】1〜10の整数のコマンドライン引数を受け取り、それと等しい英語を表示するプログラム。
受け取った引数の数も表示しなさい。引数がない場合、1〜10以外の整数の場合はエラーメッセージを出力してプログラムを終了しなさい。
英語の文字列はString型配列に格納。
【 期限 】2月9日中
【 補足 】丸投げです。よろしくお願いします。



366 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 22:30:06
>>365
public class Number{

static String num[] = {"one","two","three","four","five","six","seven","eight","nine","ten"};

public static void main(String args[]){

if(args.length > 0){
try{
for(int i = 0; i < args.length; i++){
int n = Integer.parseInt(args[i]);
if(n >= 1 && n <= 10) System.out.println("引数:" + n);
System.out.println("単語:" + num[n - 1]);
}
}catch(Exception e){
System.out.println("不正な引数です。");
System.exit(-1);
}
}
}
}

367 名前:360 []:2006/02/08(水) 22:31:57
>>364
え〜っと185行目が
strSQL ="SELECT * FROM MST_USER WHERE USER_ID =" + user.id + " and USER_PASSWORD =" + pass + ";";
です。


368 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 22:37:48
>>360
その user か、user.id か、 pass のどれかに null が入っているんじゃねーの?


369 名前:デフォルトの名無しさん[sage]:2006/02/08(水) 22:52:27
>353
ストップウォッチだけ自分が書いたことなかったのでやってみた。
ttp://www.wikiroom.com/java/index.php?SourcePost_____#r0200876
JDK5.0です。動作報告よろしく。

デジタル時計と電卓はこのスレでは頻出。
私はいまさらやる気は出ませんでした。

370 名前:360 []:2006/02/08(水) 23:35:23
>>364>>368
指摘の通りなおしていったらSQL文は通りましたありがとうございます。

次の問題で、取得した値でユーザーを作成。とあるのですが、
while(result.next())
{
// 取ってきたデータを取得

/*JavaAPIを使用し、取得した値を変数に格納*/

iUser_Id=result.getInt("USER_ID");
strUser_Name=result.getString("USER_NAME");
iUser_Pass=result.getInt("USER_PASSWORD");

// ユーザーを作成
//問6 取得した値でユーザーを作成


user.id=iUser_Id;
user.name=strUser_Name;
user.password=iUser_Pass;

}
sta.close();

return user;

こんな感じで当ているのでしょうか?前回のが通ったあとにここら辺でエラーが出ました。



371 名前:デフォルトの名無しさん []:2006/02/09(木) 00:27:56
[1] 授業単元:プログラミング
[2] 問題文 テーブル「A1」「A2」「A3」に登録されているデータを奇数・偶数に分けて、昇順・降順にソートし、
奇数は昇順の配列で「B」テーブルに、偶数は降順の配列で「C」テーブルに格納する。
ただし、main関数より下位関数にパラメータを渡す場合は、共通の構造体に格納し、その構造体のポインタを渡すようにする。
下位関数よりさらに下位の関数にパラメータを渡す場合はこの限りではない。
[3] 環境
[3.1] OS:winXP
[3.2] コンパイラ名とバージョン: BCC
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限:2006/02/10
[5] その他の制限:使用可能なのはstdio.hくらいです。

現状としては、ソートをしてB・Cの配列に格納するということはできてます。ですが、まだ構造体の扱いになれていないので、パラメーターを一つの構造体にまとめて構造体に対するポインタを
渡すという方法がいまいちわかりません。
大変申し訳ありませんが、どなたかご教授いただけませんでしょうか?

コンパイルエラーがでてしまいますが、書きかけのソースを書きのURLにアップさせていただきました。

http://proxy.f2.ymdb.yahoofs.jp/bc/74d693f8/bc/41d4/datasort.c.c?bcVQh6DBKw9.VknJ

デバッグライトの挿入のしすぎで少し醜いかと思われますが、ご容赦くださいペコリ(o_ _)o))


372 名前:デフォルトの名無しさん[sage]:2006/02/09(木) 00:42:01
>>371
マルチ乙
# いや、C++宿題スレの誤爆なのだろうけどw

373 名前:365[sage]:2006/02/09(木) 02:00:45
動作確認したところ、num.java:1:クラスNumberはpublicであり、ファイルNumber.javaで宣言しなければなりません。
と表示されました。

374 名前:デフォルトの名無しさん[sage]:2006/02/09(木) 02:18:34
>>373
それぐらいの動作確認、サルでもできるだろ
日 本 語 が 読 め な い の か

375 名前:デフォルトの名無しさん[sage]:2006/02/09(木) 02:54:51
>>365(>>373)
>>366のソースをNumber.javaに保存してコンパイル

376 名前:365[sage]:2006/02/09(木) 03:00:18
>>374
いや、本当に申し訳ありません。動作確認をということで適当なファイルにぶちこんで試して脊髄反射で報告を投稿していました。

>>375
わざわざ、そんなところまで教えていただきありがとうございます。

377 名前:デフォルトの名無しさん[sage]:2006/02/09(木) 03:06:09
>>376
( ´Д`) こんなところにもう一人の俺が・・・

378 名前:デフォルトの名無しさん []:2006/02/09(木) 13:29:59
>>370
userのインスタンス(例 User user = new User() )が作られていますか?
nullであった場合同様の例外が↓で発生します
user.id=iUser_Id;


379 名前:365[sage]:2006/02/09(木) 13:33:56
改めて動作報告をします。
確認してみたところエラーは出ないのですが、引数がない、範囲外の引数が入力された時エラーメッセージが出力されないままプログラムが終了しました。

380 名前:デフォルトの名無しさん []:2006/02/09(木) 15:19:38
【課題】
タイマーの表示する数字(0〜9の10種類)は画像ファイルを用いること(Webのアクセスカウンターで利用する画像などを流用してもよいが著作権には注意すること)
タイマーの動作は100msec以下の桁で表示してカウントダウンすること(スレッドの動作タイミングなどを確かめながら、なるべく正確に表示されるか調整すること)
上記の指定条件以外の動作や見た目は各自の自由にしてよい(ウィンドウの形や大きさ、GUIパーツの利用など見た目やユーザインタフェースのほか、カウンターがゼロになった際の動作についてなどは自由!)
ソースコードの中身について
アプリケーションの動作や操作方法に関する説明をコメント(//)として記述すること
他人がプログラムの処理内容を解釈し易いよう、随所にコメントで注釈を書くこと

【期限】
できるだけ早くお願いします

381 名前:デフォルトの名無しさん[sage]:2006/02/09(木) 20:22:36
>380
画像くれ。探すのめんどくさい。

ってゆーかそもそも何をするプログラムを作るのかって書いてなくね?

382 名前:デフォルトの名無しさん []:2006/02/09(木) 23:35:09
dasd

383 名前:デフォルトの名無しさん []:2006/02/09(木) 23:36:32
【課題】sql操作
【補足】sql操作でuserを返したいのですがNullPointになってしまいます。おかしな部分がありましたら直していただきたいです。
/*引数:id:IDpass:パスワード戻り値:なし*/
public User Select_User(int id,int pass){
User user = new User();
// sql文格納文字列
String strSQL = "";
try{
// ステートメントを生成
Statement sta = connect.createStatement();
// SQL文を生成
//ユーザーDBから引数で渡された値をキーにし、ユーザーの全情報を取得するSELECT文を記述してください。*/
strSQL ="SELECT * FROM USER WHERE USER_ID =" + id + " and USER_PASSWORD =" + pass;
ResultSet result = sta.executeQuery(strSQL);
while(result.next()){
// 取ってきたデータを取得
//JavaAPIを使用し、取得した値を変数に格納
iUser_Id=result.getInt("USER_ID");
strUser_Name=result.getString("USER_NAME");
iUser_Pass=result.getInt("USER_PASSWORD");
strUser_Name = DbStringTrim(strUser_Name);
//取得した値でユーザーを作成。
user.id=iUser_Id;
user.name=strUser_Name;
user.password=iUser_Pass;
}
sta.close();
return user;
}catch(SQLException sqle){
System.out.println("ユーザーの取得に失敗。");
return null;
}}

384 名前:デフォルトの名無しさん []:2006/02/10(金) 01:49:40
【 課題 】コマンドラインから読み込んだCSVを次の出力イメージのようなXMLに変換し出力させよ。
【 期限 】来週月曜日(2/13)
【 補足 】変換過程で合計(金額の3行目以下の合計)と残金(金額の2行目から合計を引いたもの)を出力するみたい。

入力
suitou.csv
摘要,金額,備考
元金,5000,
飲食費,560,ジュース、パン
交通費,450,電車
以下省略

出力イメージ
suitou.xml
<出納>
<項目>
<摘要>元金</摘要><金額>5000</金額><備考 />
</項目>
<項目>
<摘要>飲食費</摘要><金額>560</金額><備考>ジュース、パン</備考>
</項目>
<項目>
<摘要>交通費</摘要><金額>450</金額><備考>電車</備考>
</項目>
途中省略
<項目>
<摘要>合計</摘要><金額>4750</金額><備考 />
</項目>
<項目>
<摘要>残金</摘要><金額>250</金額><備考 />
</項目>
</出納>

385 名前:デフォルトの名無しさん []:2006/02/10(金) 02:24:12
>>384

http://www.jx-gluck.jp/D3pF/D3p011.html

作るのめんどいから、↑を参考にしれ。

386 名前:384[sage]:2006/02/10(金) 02:28:53
>>385
そんなこと言わないでYoヽ(`Д´)ノウワーン
でも参考先は[java csv xml]をキーにググったときにも引っかからなかったからありがとう。
また試してみる。

387 名前:教えて下さい []:2006/02/10(金) 08:28:22
Download the Square.java and SquareTester.java files.

Complete the Square class by implementing it as specified by the documentation provided. Run the SquareTester class to test your Square class

388 名前:デフォルトの名無しさん[sage]:2006/02/10(金) 10:19:08
>>387
まずは、英語教育スレ(あるかわからんが)に逝け

389 名前:384[sage]:2006/02/10(金) 10:37:27
>>386
だめっぽい。たすけて。おねがい。(´・ω・`)

390 名前:デフォルトの名無しさん[sage]:2006/02/10(金) 12:11:55
>>389
あきらめたらそこで試合終了ですよ

391 名前:デフォルトの名無しさん []:2006/02/11(土) 01:53:46
>>389 Suitou.java
public class Suitou {
private String tekiyou = "";
private String kingaku = "";
private String bikou = "";
public String getBikou() {
return bikou;
}
public void setBikou(String bikou) {
this.bikou = bikou;
}
public String getKingaku() {
return kingaku;
}
public void setKingaku(String kingaku) {
this.kingaku = kingaku;
}
public String getTekiyou() {
return tekiyou;
}
public void setTekiyou(String tekiyou) {
this.tekiyou = tekiyou;
}
}


392 名前:デフォルトの名無しさん []:2006/02/11(土) 02:15:18
>>389 Kadai384.java -1

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.util.ArrayList;

import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSOutput;
import org.w3c.dom.ls.LSSerializer;

import com.sun.org.apache.xerces.internal.dom.DOMImplementationImpl;

public class Kadai384 {

public static void main(String[] args) throws Exception {
toXml(toSuitous(args[0]));
}


393 名前:デフォルトの名無しさん []:2006/02/11(土) 02:17:33
>>389 Kadai384.java -2
private static void toXml(Suitou[] suitous) throws Exception {
Suitou head = suitous[0];
DOMImplementation domImpl = new DOMImplementationImpl();
DOMImplementationLS domImplLS = (DOMImplementationLS) domImpl.getFeature("LS", "3.0");
Document doc = domImpl.createDocument(null, "出納", null);
Element suiElem = doc.getDocumentElement();
for (int i = 1; i < suitous.length; i++) {
suiElem.appendChild(doc.createTextNode("\n"));
Element koElem = doc.createElement("項目");
koElem.appendChild(doc.createTextNode("\n"));
suiElem.appendChild(koElem);
Element tekiElem = doc.createElement(head.getTekiyou());
tekiElem.appendChild(doc.createTextNode(suitous[i].getTekiyou()));
koElem.appendChild(tekiElem);
Element kinElem = doc.createElement(head.getKingaku());
kinElem.appendChild(doc.createTextNode(suitous[i].getKingaku()));
koElem.appendChild(kinElem);
Element biElem = doc.createElement(head.getBikou());
biElem.appendChild(doc.createTextNode(suitous[i].getBikou()));
koElem.appendChild(biElem);
koElem.appendChild(doc.createTextNode("\n"));
}
suiElem.appendChild(doc.createTextNode("\n"));
LSOutput lsOutput = domImplLS.createLSOutput();
LSSerializer lsSerializer = domImplLS.createLSSerializer();
FileOutputStream fos;
fos = new FileOutputStream("suitou.xml");
lsOutput.setByteStream(fos);
lsSerializer.write(doc, lsOutput);
fos.close();
}

394 名前:デフォルトの名無しさん []:2006/02/11(土) 02:18:33
>>389 Kadai384.java -3
private static Suitou[] toSuitous(String csv) throws Exception {
BufferedReader br = new BufferedReader(new FileReader(csv));
ArrayList list = new ArrayList();
String s = null;
while ((s = br.readLine()) != null) {
String[] l = s.split(",");
Suitou suitou = new Suitou();
suitou.setTekiyou(l[0]);
suitou.setKingaku(l[1]);
if (l.length > 2)
suitou.setBikou(l[2]);

list.add(suitou);
}

return (Suitou[]) list.toArray(new Suitou[list.size()]);
}
}

395 名前:391 []:2006/02/11(土) 02:27:47
しまった、合計と残金を忘れてた。


396 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 08:49:34
【課題】

彼女をつくれ

【期限】2月14日

【Ver 】1.4

全然出来なくて困ってます
以前にも質問しましたが、期限が短すぎるという事で駄目でした。
どなたかよろしくお願いします


397 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 08:54:12
Ver1.4かあ、1.5なら楽にできるんだが、残念。

398 名前:384[sage]:2006/02/11(土) 10:34:35
>>391-395
ありがとう。感激。(*・w・)

今まで単一ファイルのものしかやってなかったんだけど、これコンパイルどうやるの。

399 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 12:23:39
>>398
Kadai384.javaの方をコンパイルすれば勝手にSuitou.javaもコンパイルされる


400 名前:384[sage]:2006/02/11(土) 13:41:01
>>399
ありがとう。

コンパイルしてからKadai384.classやSuitou.classと同じディレクトリにsuitou.csvをおいて
java Kadai384 suitou.csv
と打ったら、以下のエラーっぽいのが出た。
Exception in thread "main" org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An i
nvalid or illegal XML character is specified.
at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.createElement
(Unknown Source)
at Kadai384.toXml(Kadai384.java:33)
at Kadai384.main(Kadai384.java:18)

そういえば、コンパイルするときにも以下のものが。意味がわからなかった。
K:\java\suitoujava>javac Kadai384.java
注: Kadai384.java の操作は、未チェックまたは安全ではありません。
注: 詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてくださ
い。

K:\java\suitoujava>javac -Xlint:unchecked Kadai384.java
Kadai384.java:67: 警告: [unchecked] raw 型 java.util.ArrayList のメンバとしての
add(E) への無検査呼び出しです。
list.add(suitou);
^
Kadai384.java:70: 警告: [unchecked] raw 型 java.util.ArrayList のメンバとしての
<T>toArray(T[]) への無検査呼び出しです。
return (Suitou[]) list.toArray(new Suitou[list.size()]);
^
警告 2 個

401 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 13:53:34
>>400
入力しているXMLは本当にXMLか?

402 名前:384[sage]:2006/02/11(土) 14:02:35
>>401
入力はcsv。>>384に書いたとおりの。suitou.csvってファイル名。

403 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 14:04:29
ああ、出力がxmlなのか

404 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 14:14:38
>>400
とりあえず、「無検査呼び出しです」でぐぐれば?
オウム返しの質問じゃ、答える側がかわいそうです。

そんなことは分かってるよっ、というなら、話は別ですがね。

405 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 14:17:58
>>400
例外が発生したのは入力データ(suitou.csv)のエンコードのせいだと思う

コンパイル時の警告はJava2 5.0 TigerのArrayやList等でジェネリクスに
よる明示的な型指定がされてないよって言ってるだけだと思う

406 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 14:26:40

バージョンの記入は必須にしようよ。
5.0云々のやりとりは流石にもう飽きた。

407 名前:405[sage]:2006/02/11(土) 14:28:02
>>400
この行を→BufferedReader br = new BufferedReader(new FileReader(csv));

String encoding="EUC-JP"; // ここはsuitou.csvのエンコーディングにあわせる
FileInputStream fis = new FileInputStream(csv);
BufferedReader br = new BufferedReader(new InputStreamReader(fis, encoding));

に変えてみれ。


408 名前:384[sage]:2006/02/11(土) 14:32:24
>>404
おっしゃるとおりググって、
javac -source 1.4 -Xlint:unchecked Kadai384.java
と入力したら、問題ありませんでした。コードのバージョンが違うみたいですね。
知りませんでした。

>>405
suitou.csvの文字コードを「UTF-8 CR+LF」から「SJis CR+LF」にかえたら
うまくいき、suitou.xmlが出力されました。(suitou.xmlの文字コードは「UTF-8 LF」になってます。どうしてだろ。)

>>391-395
ありがとう

409 名前:384[sage]:2006/02/11(土) 14:36:57
>>408
間違えました。
誤:suitou.xmlの文字コードは「UTF-8 LF」になってます。
正:suitou.xmlの文字コードは「UTF-8N LF」になってます。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・↑

410 名前:405[sage]:2006/02/11(土) 14:56:20
>>408
suitou.xmlの文字コードを変えたかったら
この行の後に→lsOutput.setByteStream(fos);
lsOutput.setEncoding("Shift_JIS"); // Shift_JISにしたい場合
を入れればいい

JavaのioのデフォルトエンコーディングはUnicodeだべ?

411 名前:デフォルトの名無しさん []:2006/02/11(土) 15:03:28
91ですがプラグラムを作れる方お願いできないでしょうか?

412 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 15:12:32
シュッ・シュッって何の音ですか?

413 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 15:25:01
>>411
> 連立常微分方程式を使ったr=10,l=0.1,c=0.001,q=0.1の時の
> r*dq/dt+l*d^2q/dt^2+q/cのプログラムを教えていただけませんか?

dt≒Δtとおくと
r*dq/dt+l*d^2q/dt^2+q/c=0
⇔ r*Δq/Δt+l*Δ(Δq/Δt)/Δt+q/c=0
⇔ 0+0+0.1/0.001=0
となるんだが…

414 名前:デフォルトの名無しさん []:2006/02/11(土) 15:28:15
ルンゲクッタを使ってどのようにすればいいのかが分かりません

415 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 15:43:49
プログラムとかいうレベルじゃないな

416 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 15:46:11
>>414
っ[諦めろ]

417 名前:デフォルトの名無しさん []:2006/02/11(土) 15:53:44
分からないのでお願いします


418 名前:デフォルトの名無しさん []:2006/02/11(土) 19:29:12
IEの画面名に //http:xxxxx画面名 MicroXXXXXって表示されます。なんで?

419 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 19:34:09
>>418
何の話?

420 名前:デフォルトの名無しさん []:2006/02/11(土) 19:42:46
インターネットエクスプローラのはなしじゃね?

421 名前:391 []:2006/02/11(土) 19:51:30
>>384 Suitou.java
public class Suitou {
private String tekiyou = null;
private String kingaku = null;
private String bikou = null;
public Suitou() {
}
public Suitou(String tekiyou, String kingaku, String bikou) {
this.tekiyou = tekiyou;
this.kingaku = kingaku;
this.bikou = bikou;
}
public String getBikou() {
return bikou;
}
public void setBikou(String bikou) {
this.bikou = bikou;
}
public String getKingaku() {
return kingaku;
}
public void setKingaku(String kingaku) {
this.kingaku = kingaku;
}
public String getTekiyou() {
return tekiyou;
}
public void setTekiyou(String tekiyou) {
this.tekiyou = tekiyou;
}
}

422 名前:391 []:2006/02/11(土) 19:53:47
>>384 Kadai384.java -1

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSOutput;
import org.w3c.dom.ls.LSSerializer;
import com.sun.org.apache.xerces.internal.dom.DOMImplementationImpl;
public class Kadai384 {
public static void main(String[] args) throws Exception {
Suitou[] suitous = toSuitous(args[0]);
int gankin = sumGankin(suitous, "元金");
int shuppi = sumShuppi(suitous, "費");
suitous = addSuitou(suitous, new Suitou("合計", String.valueOf(shuppi),
null));
suitous = addSuitou(suitous, new Suitou("残金", String.valueOf(gankin
- shuppi), null));
toXml(suitous);
}

423 名前:391 []:2006/02/11(土) 19:54:47
>>384 Kadai384.java -2
private static Suitou[] addSuitou(Suitou[] suitous, Suitou suitou) {
List<Suitou> list = new ArrayList<Suitou>(Arrays.asList(suitous));
list.add(suitou);
return (Suitou[]) list.toArray(new Suitou[list.size()]);
}
private static int sumGankin(Suitou[] suitous, String tekiyou) {
int gankin = 0;
for (int k = 0; k < suitous.length; k++)
if (suitous[k].getTekiyou().equals(tekiyou))
gankin += Integer.parseInt(suitous[k].getKingaku());
return gankin;
}
private static int sumShuppi(Suitou[] suitous, String endWithOfTekiyou) {
int shuppi = 0;
for (int m = 0; m < suitous.length; m++)
if (suitous[m].getTekiyou().endsWith(endWithOfTekiyou))
shuppi += Integer.parseInt(suitous[m].getKingaku());
return shuppi;
}

424 名前:391 []:2006/02/11(土) 19:59:28
>>384 Kadai384.java -3
private static void toXml(Suitou[] suitous) throws Exception {
Suitou head = suitous[0];
DOMImplementation domImpl = new DOMImplementationImpl();
DOMImplementationLS domImplLS = (DOMImplementationLS) domImpl.getFeature("LS", "3.0");
Document doc = domImpl.createDocument(null, "出納", null);
Element suiElem = doc.getDocumentElement();
for (int i = 1; i < suitous.length; i++) {
suiElem.appendChild(doc.createTextNode("\n"));
Element koElem = doc.createElement("項目");
koElem.appendChild(doc.createTextNode("\n"));
suiElem.appendChild(koElem);
Element tekiElem = doc.createElement(head.getTekiyou());
tekiElem.appendChild(doc.createTextNode(suitous[i].getTekiyou()));
koElem.appendChild(tekiElem);
Element kinElem = doc.createElement(head.getKingaku());
kinElem.appendChild(doc.createTextNode(suitous[i].getKingaku()));
koElem.appendChild(kinElem);
Element biElem = doc.createElement(head.getBikou());
biElem.appendChild(doc.createTextNode(suitous[i].getBikou()));
koElem.appendChild(biElem);
koElem.appendChild(doc.createTextNode("\n"));
}
suiElem.appendChild(doc.createTextNode("\n"));
LSOutput lsOutput = domImplLS.createLSOutput();
LSSerializer lsSerializer = domImplLS.createLSSerializer();
FileOutputStream fos = new FileOutputStream("suitou.xml");
lsOutput.setByteStream(fos);
lsOutput.setEncoding("Shift_JIS");
lsSerializer.write(doc, lsOutput);
fos.close();
}

425 名前:391 []:2006/02/11(土) 20:01:03
>>384 Kadai384.java -4
private static Suitou[] toSuitous(String csv) throws Exception {
BufferedReader br = new BufferedReader(new FileReader(csv));
ArrayList<Suitou> list = new ArrayList<Suitou>();
String s = null;
while ((s = br.readLine()) != null) {
String[] l = s.split(",");
Suitou suitou = new Suitou();
switch (l.length) {
case 3:
suitou.setBikou(l[2]);
case 2:
suitou.setKingaku(l[1]);
case 1:
suitou.setTekiyou(l[0]);
}
list.add(suitou);
}
return (Suitou[]) list.toArray(new Suitou[list.size()]);
}
}

426 名前:384[sage]:2006/02/11(土) 22:00:33
>>421-425(>>391)
合計と残金の出力の分も作ってくれてありがとう。(なおかつ、コードを5.0にしてくれて)
XSLでごりごりやってたけど、こっちのほうがきれいで良いです。

もうそろそろ寝れそうです。目が痛いや。
ただ、実行してみると合計の値と残額の値とが逆に出力されます。
>>422のshuppiとgoukeiの部分に問題があるのかと思い、
いろいろ書き換えてみたけれど、ソースの意味がわからないので…orz
今のところ根本的には解決できていません。(表示だけなら何度かできています。)

427 名前:384[sage]:2006/02/11(土) 22:08:48
>>426
また間違えた。
誤:表示だけなら何度かできています。
正:表示だけなら何とかできています。
・・・・・・・・・・・・・・・・↑

428 名前:391 []:2006/02/11(土) 22:18:57
>>426
>【 補足 】変換過程で合計(金額の3行目以下の合計)と残金(金額の2行目から合計を引いたもの)を出力するみたい。
これって、
合計=出費の全額
残金=元金-合計
って意味じゃないの?

429 名前:384[sage]:2006/02/11(土) 22:42:03
>>428>>391
長い間お付き合いありがとうございます。もうしばらくお付き合いお願いします。
>合計=出費の全額
>残金=元金-合計
確かに、そのとおりです。
いま、もう一度>>421-425までのソースを新たにファイルを作り実行しましたが、
出力されるsuitou.xmlでは合計、残金ともに違ってました。
以下に入力ファイルと出力ファイルの内容を記します。

430 名前:384[sage]:2006/02/11(土) 22:44:26
入力ファイル名:suitou.csv
文字コード:Shift_Jis

摘要,金額,備考
元金,5000,
飲食費,560,ジュース、パン
交通費,450,電車
振込,2180,
手数料,70,
貯金,1000,

431 名前:384[sage]:2006/02/11(土) 22:45:36
出力ファイル名:suitou.xml
文字コード:Shift_Jis

<?xml version="1.0" encoding="Shift_JIS"?>
<出納>
<項目>
<摘要>元金</摘要><金額>5000</金額><備考/>
</項目>
<項目>
<摘要>飲食費</摘要><金額>560</金額><備考>ジュース、パン</備考>
</項目>
<項目>
<摘要>交通費</摘要><金額>450</金額><備考>電車</備考>
</項目>
<項目>
<摘要>振込</摘要><金額>2180</金額><備考/>
</項目>
<項目>
<摘要>手数料</摘要><金額>70</金額><備考/>
</項目>
<項目>
<摘要>貯金</摘要><金額>1000</金額><備考/>
</項目>
<項目>
<摘要>合計</摘要><金額>1010</金額><備考/>
</項目>
<項目>
<摘要>残金</摘要><金額>3990</金額><備考/>
</項目>
</出納>

432 名前:391 []:2006/02/11(土) 23:03:21
なるほど。
適用=××費ならば出費
で見てたけど、そうじゃないのね。了解。
ところで、CSVの中にある貯金って出費扱いでいいの?
んでもって、3行目以降は全て出費扱いでOK?
それとも、3行目以降に入金と出費が混在する?
混在するなら入金と出費の判別が必要だから、
何かしらルール(+−とか▲とか)が必要になるよ。

433 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 23:09:17
つかrelaxer使えよ。

434 名前:384[sage]:2006/02/11(土) 23:27:18
>>432
>>384などでの説明が足らず誤解させてしまってすみません。
この場合、csvファイルの3行目以降はすべて出費扱いでお願いします。

435 名前:デフォルトの名無しさん[sage]:2006/02/11(土) 23:29:01
【 課題 】音楽曲のダウンロードサービス用の画面インタフェース作成
【 期限 】2月13日
【 補足 】丸投げです。
画面サイズ240x320 
顧客情報として
名前(ローマ字表記)、メールアドレス、会員番号(数字5桁)
を画面上の英数字ボタンで入力する。
ダウンロードサービス対象曲は3つ以上のカテゴリーでそれぞれ20曲とする。
ダウンロードしたい曲の指定は画面上のボタンで操作する。
サービス利用の確認画面を用意する。
操作の取り消し機能は必要ない。

436 名前:391 []:2006/02/12(日) 00:06:42
>>434
じゃあ、Kadai384.javaをこんな風に書き換えて。

int shuppi = sumShuppi(suitous, "費");

// int shuppi = sumShuppi(suitous, "費");
にするか、削除して。
で、

private static int sumShuppi(Suitou[] suitous) {
int shuppi = 0;
for (int m = 2; m < suitous.length; m++)
shuppi += Integer.parseInt(suitous[m].getKingaku());

return shuppi;
}
を追加して。
あと、
private static int sumShuppi(Suitou[] suitous, String endWithOfTekiyou)
を削除するか、コメントアウトするか、前に、
@SuppressWarnings("unused")
を追加して。
駄目だったらKadai384.javaをもう一度貼るから言って。

437 名前:391 []:2006/02/12(日) 00:09:55
あ、抜けてた。
int shuppi = sumShuppi(suitous);
を追加して。

438 名前:384[sage]:2006/02/12(日) 00:44:29
>>436-437(>>391)
うまくいきました。入力ファイルを変えても、合計も残金もぴったり合いました。
>>391何度も時間を割いてくれて本当にありがとう。

これでようやく眠れます。二日分寝てきますね。
では風呂に入ってきます。

439 名前:デフォルトの名無しさん[sage]:2006/02/12(日) 00:46:08
>>435
はぁ?

440 名前:デフォルトの名無しさん[sage]:2006/02/12(日) 01:54:20
>435
途中までやった。眠ぃので寝ます。
ttp://www.wikiroom.com/java/index.php?SourcePost_____#ecdc9277

441 名前:435[sage]:2006/02/12(日) 07:47:14
>>440
お時間あればお願いします。わざわざすみません。

442 名前:デフォルトの名無しさん[sage]:2006/02/12(日) 13:04:33
重ね重ね誠に恐縮ですがお願いします。

【問題】
コマンドラインで指定したファイルをコピーするプログラムを作成しなさい。
・コピー元ファイル名およびコピー先ファイル名は必須項目である。
・指定する順序はどちらでもよい。
【補足】
?の穴埋めです。実は>>317-318で同じ事を質問し>>319-320さんが答えてくれましたが、
学校のほうで「穴埋めでなければ不可である」ときました。
本当に困っています。どうかよろしくお願いします。
【期限】
2月13日までです。

import java.io.*;
public class Ecopy{
public static void main(String[] args){
BufferedWriter bw=null;
BufferedReader br=null;
String in="";
String out="";
String line;

for(int i=0;i<args.length;i++){
if(args[i].equals( ? )){
in=args[ ? ];
}else if(args[i].equals( ? )){
out =args[ ? ];
}
}

443 名前:442の続きです[sage]:2006/02/12(日) 13:05:20
if( ? ){
System.out.println("Usage:");
System.out.println("-iコピー元ファイル名");
System.out.println("-oコピー先ファイル名");
System.exit(1);
}
try{
br=new BufferedReader(new ? (in));
bw=new BufferedWriter(new ? (out));
while((line=br.readLine())!=null){
bw.write(line);
bw. ? ();
}
}catch( ? ){
System.out.println("指定したファイルは存在しません");
}catch(IOException ioe){
System.out.println("ファイル入力エラー"+ioe);
} ? {
try{
if(br !=null){br.close();}
if(bw !=null){bw.close();}
}catch(Exception e){
}
}
}}

444 名前:デフォルトの名無しさん[sage]:2006/02/12(日) 13:25:16
>442
一度やろうとしたけど意味が分からなかったところがあってやめた記憶があります。
>317のときは
for(int i=0;i<args.length;i++){
if(args[i].equals(args(ここ)){
in=args[ここ];
}else if(args[i].equals(args[ここ])){
out =args[ここ];
}
}
って書いてあるから意味が分からなかった。
>442だと
for(int i=0;i<args.length;i++){
if(args[i].equals( ? )){
in=args[ ? ];
}else if(args[i].equals( ? )){
out =args[ ? ];
}
}
に直ってるからなんとかできそうかも。ちょっと待て。

445 名前:デフォルトの名無しさん[sage]:2006/02/12(日) 13:30:12
>>444
ゾロ目おめ
俺は諦めた

446 名前:444[sage]:2006/02/12(日) 13:33:16
>442-443
// Ecopy.java
import java.io.*;
public class Ecopy {
public static void main(String[] args) {
BufferedWriter bw = null;
BufferedReader br = null;
String in = "";
String out = "";
String line;
for (int i = 0; i < args.length; i++) {
if (args[i].equals("-i")) {
in = args[i + 1];
} else if (args[i].equals("-o")) {
out = args[i + 1];
}
}
if (in.length() == 0 || out.length() == 0) {
System.out.println("Usage:");
System.out.println("-i コピー元ファイル名");
System.out.println("-o コピー先ファイル名");
System.exit(1);
}
try {
br = new BufferedReader(new FileReader(in));
bw = new BufferedWriter(new FileWriter(out));
while ((line = br.readLine()) != null) {
bw.write(line + "\n");
bw.flush();
}
} catch (FileNotFoundException fnfe) {
System.out.println("指定したファイルは存在しません");

447 名前:444[sage]:2006/02/12(日) 13:35:22
>442-443
つづき
} catch (IOException ioe) {
System.out.println("ファイル入力エラー" + ioe);
} finally {
try {
if (br != null) br.close();
if (bw != null) bw.close();
} catch (Exception e) {}
}
}
}

嫌だったところがあったので穴埋めじゃないところも2箇所いじりました。
1)
System.out.println("-i コピー元ファイル名");
System.out.println("-o コピー先ファイル名");
→オプションとファイル名の間に半角スペースを入れた。
2)
bw.write(line + "\n");
→改行するようにした。

448 名前:441-442[sage]:2006/02/12(日) 14:30:40
>>444
御早い返事で大変助かりました。
前回は半端に自分で埋めてしまった所があって問題だったのですね。気をつけます。
何はともあれ、本当に感謝の言葉もありません。
それでも、文面のみの粗野ながらも感謝の言葉をば

本当にありがとうございました。


449 名前:デフォルトの名無しさん[sage]:2006/02/12(日) 20:28:48
【 課題 】
BM法を用いて、文字列の出現位置をすべて表示するプログラムを作りなさい。
なお、出現位置を保持するために、「ArrayList」を使用しなさい。

【 期限 】2月13日 10時

期限まであまり無いですが、よろしくお願いします。

450 名前:デフォルトの名無しさん []:2006/02/12(日) 20:43:50
ここには専門学生しかおらんのか



451 名前:デフォルトの名無しさん[sage]:2006/02/12(日) 21:24:40
大学は既に春休みだな

452 名前:デフォルトの名無しさん[sage]:2006/02/12(日) 22:01:03
オレはここ1年間春休みだよ

453 名前:デフォルトの名無しさん[sage]:2006/02/13(月) 22:22:09
>>449
http://www.pc-view.net/Solution/040120/page74.html

454 名前:デフォルトの名無しさん[sage]:2006/02/13(月) 22:23:32
>>449
残念だ、日曜日に見ていれば作ったかも知れなかったが・・・

455 名前:デフォルトの名無しさん[sage]:2006/02/14(火) 00:54:58
>>449
の課題を書き込んだ者です。

提出期限もあったので、課題は中途半端な状態で提出しました。
しかし、今後のためにも、是非理解したいので、ご教授お願いできますか?

提出したものは、
↓のような感じです。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27101

入力データをそのまま掲示板に貼り付けるわけにはいかないので、
↓のようなサンプルのCSVでお願いします。
http://www.post.japanpost.jp/zipcode/dl/kogaki/lzh/ken_all.lzh


456 名前:デフォルトの名無しさん[sage]:2006/02/14(火) 11:48:27
>>445
修正Verを貼ってみました
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27107
複数回探索するために、探索開始インデックスを引数に追加してます。
また、元のソースの
while (txt.charAt(pt) == pat.charAt(pp)) {
if (pp == 0)
//return pt; // 探索成功
pp--;
pt--; //////*(A)*///////
}
pt += skip[txt.charAt(pt)]; //////*(B)*///////
部分一致したが完全一致ではなかった場合、
(A)の部分で変化したptを(B)の部分でも利用しているため、判定に余計な時間がかかる可能性があります。
(BM法の仕様から外れてしまう)
そこで完全一致判定のところで別の変数を使っています。


457 名前:デフォルトの名無しさん[sage]:2006/02/14(火) 12:28:54
>>456
ご返答ありがとうございます。

自宅に帰ってから、しっかり理解したいと思います。

本当にありがとうございました。

458 名前:デフォルトの名無しさん []:2006/02/19(日) 16:27:35
春休みだから人来ないのかな
でもCの宿題スレは進んでるし…

459 名前:名無し子 []:2006/02/19(日) 16:28:58
だれかけしてください。
昨日も書いたけど消してもらえないし
自分の昔作ったホムペなんですがIDやパスワードを再発行してもらおうとしましたが
本人確認を出せと言われるし
私は消して欲しいだけなのです
ネットのゴミなので恥ずかしいし
もう過去は消したくて・・・
どなたか知識のある方お願いします。

昔のライコスで作ってあります。
登録情報も覚えていなくてメアドも変わっていてどうにもなりません
掲示板などは何とか消せました。

お願いします!!!!!

http://tama_kyuusoku.at.infoseek.co.jp/


460 名前:デフォルトの名無しさん[sage]:2006/02/20(月) 03:48:19
【課題】画像データを読み込み、各画素値を一画素ずつ表示せよ。
    表示の順番は画像の一番左上から右下にかけて、横順と縦順の2通り作成せよ。
【期限】2月21日(火)朝10時まで

丸投げです、すいません。
画像を扱うプログラミングは初めてなので全くわかりません。
よろしくお願いします。

461 名前:デフォルトの名無しさん []:2006/02/20(月) 16:05:07
【 課題 】成績の悪い生徒にメッセージを送るプログラムを組みなさい。
      teacher, teaching assistant, low grade exception の三つのクラスを用いて、以下の仕様のプログラムを組みなさい。
      
      ・Teacherクラスがメインクラスとする。
      ・成績の悪い生徒に送られるメッセージは疑似メッセージとして、JOptionPane.showMessageDialogを利用し出力する事。詳しくはサンプルアウトプットを参照。
      ・TeachingAssistantクラスは、生徒の成績を一括して付ける事。
      ・Teacherクラスは、付けられた成績を受けて、それをLowGradeExceptionに流す事。
      ・LowGradeExceptionクラスは、出力する情報をまとめて、Teacherクラスに戻す事。
      ・student name を入力する項目で、exit が入力された場合、終了させる事。
      ・try,catch,throwing Exceptionの練習課題なので、これらが使われていない場合は採点されない。
      ・クラスが三つ以下、getメソッドが使われていない場合も採点されない。

      サンプル入力、出力の結果。
      ttp://www.imgup.org/iup166180.jpg.html
      ttp://www.imgup.org/iup166181.jpg.html

【 期限 】2月22日
【 Ver  】1.4〜1.5
【 補足 】自分で書いたソースです。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27166
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27167
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27168

よろしくお願いします。

462 名前:デフォルトの名無しさん[sage]:2006/02/20(月) 16:05:37
【課題】右に一秒10ピクセル動き、はねかえるゴール(1.jpg)にボール(2.jpg)
を入れるゲームを作れ。ただし、ボールはゴールを外れてx=0になったらボール
は再び元の位置に戻る。ピクセルは800×800ボールの速さは自由とする。
スタートボタンも作れ。
【期限】2月22日まで
俺も丸投げです。結構自由なのでお任せします、おね願いします。

463 名前:461 []:2006/02/21(火) 14:48:34
課題内容の補足が授業であったので、しておきます。

先生、助手、点数が悪かった人用のエクセプションという3つのクラスを作り、
先生のクラスで、助手を雇い(雇った助手はインスタンスメソッドで生成されます。)
、助手が生徒の名前、生徒の点数を出します。
また、生徒の名前を入力する時に、exitと入力すると終了するようにします。
そして、助手は所詮助手なので、コースの名前、セクション番号を決める事は出来ないので、
先生のクラスでこの二つを入力して、助手の暮らすに受け渡すという方法を使うそうです。
また、先生のクラスで宿題の名前、赤点設定点(LowGrade)を入力し、これも助手のクラスに流すそうです。
生徒の点数が、赤点より低かった場合、点数が悪かった人用のエクセプションにthrowされ、
それを先生のクラスが受けて、ttp://www.imgup.org/iup166181.jpg.html のような出力をするそうです。

昨日からずっとやっているのですが、いまだにごちゃごちゃで分かりません…。

464 名前:デフォルトの名無しさん[sage]:2006/02/21(火) 15:53:36
>>461
getメソッドってどのクラスのメソッド?

465 名前:461 []:2006/02/21(火) 16:04:07
>>464
レスありがとうございます。
ゲットは、先生クラス、点数が悪かった人用のエクセプションクラスで使うみたいです。

//先生クラス

while(!done){ //すべてが終わったらここに行く
try{
done = teachinAssistant.grade();
}catch (LGE lge){
studentName = lge.getStuName(){
}



//点数が悪かった人用のエクセプション(LowGradeException) クラス

Class LGE extends Exception{
private String name;

public String getStuName(){
return name;
}

という風にするらしいです。

466 名前:デフォルトの名無しさん[sage]:2006/02/21(火) 22:19:26
>>461
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1662.txt

467 名前:461 []:2006/02/22(水) 01:35:49
>>466
ありがとうございます。
cutoff scoreに50、Enter scoreに49と入力しても、もう一度、

Enter student name; type 'exit' if done:

を訪ねてきて、JOptionPane.showMessageDialogに飛ばないのですが、
どのようにすれば良いのでしょうか?

468 名前:デフォルトの名無しさん[sage]:2006/02/22(水) 02:28:48
>>467
入力の度にチェックするの?
全部入力が終わってexitを入力されたらまとめてダイアログ出すようにしてあるけども

とりあえず1回の入力毎にチェック(TeachingAssistクラスのみ編集)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1663.txt

469 名前:461 []:2006/02/22(水) 02:37:27
>>468
コンパイルをしてみたのですが、
Enter score: の後に出る、Enter student name; type 'exit' if done: で
exitと入力をし、点数が赤点以上、赤点以下でもその場で終わってしまいます。


470 名前:461 []:2006/02/22(水) 02:39:38
つまり、赤点以上ならそれでOKなのですが、
赤点以下なら、JOptionPane.showMessageDialogが表示されないと
おかしいはずなのに、赤点以上同様その場で終わってしまいます。

寝不足で日本語がおかしくて申し訳ありません・・・。

471 名前:461 []:2006/02/22(水) 03:01:08
コンパイル環境を、JBuilderからEclipseに変更したら出来ました…orz
ご迷惑をおかけして申し訳ありませんでした。ありがとうございました。

しかしながら、どのように練習?をすればこんなに綺麗なソースを書けるようになるのでしょうか?
自分の書いたソースと、466さんの書いたソースの明解度の違いに驚きました。

472 名前:デフォルトの名無しさん[sage]:2006/02/23(木) 09:28:42
【 課題 】swingを使用した画面出力
      ・登録用配列を作り数値を確認用に使う(例、String[] listData = {"1", "2"〜"10"};)
      ・色配列を作っておき(例、String[] colorData = {"aka","midori", "ao", "kuro"};など)
また、リストからクリックした色(文字)を履歴に追加する
      ・履歴配列で今までの履歴を見る(arrayでもいいです。)
      ・画面の順番
       1・開始画面(入力用リスト(数値入力)・確認用ボタン(リストに入力されていた数値が登録されていたらトップページへ))
       2・トップページ(ボタン(色画面へ)・ボタン2(履歴へ))
       3・色画面(リスト(色数件)・ボタン(履歴に追加+トップに戻る))
       4・履歴画面(リスト(色画面で追加された今までの色を表示)・ボタン(トップページに戻る))

【 期限 】2月28日
【 補足 】すいませんが丸投げです。

473 名前:デフォルトの名無しさん []:2006/02/23(木) 13:37:53
出題する時は上げてください。。。

474 名前:デフォルトの名無しさん []:2006/02/23(木) 17:28:06
そこも初心者か( ´ー`)フゥー...

475 名前:デフォルトの名無しさん []:2006/02/27(月) 14:33:50
【 課題 】
次のコードは自然数nを初期設定し、数列1/1*1,1/2*2,,,,,,,,,1/k*k,,,,,,,,,,,,,1/n*nの
値及びπ^2との比を、k=nまで500おきに1行ずつ表示するプログラムである。空欄を埋めよ。

public class sum {
public static void main(String[] args) {
int n = 10000;
int k, skip = 500;
(   @   )
double sum = 0.0;
for(k=1; k<=n; k++){
sum = sum + 1.0/(k*k);
if(  A  )
( B ) r = Math.( C )*Math. ( D )/sum;
system.out.print("k="+k+"\t: "+sum);
System.out.println("\t"+r);
}
}
}
}

<<実行結果>>
◎_n=_10000_までの和_◎

k=100 : ...........
【 期限 】3/2
【 補足 】お願いします。

476 名前:デフォルトの名無しさん []:2006/02/27(月) 21:02:19
>>475
@System.out.println("◎_n=_10000_までの和_◎");
An%skip == 0
Bdouble
CD PI
あとAの右に{がいるかな

477 名前:おし []:2006/02/27(月) 23:40:33
次の問の解答がわかりません。教えてください

次のクラスが定義されている時

package exercise;

public class Point {
private int x, y;
int getX() {return x;}
public int getY() {return y;}
public Point(int x0, int y0){
x = x0;
y = y0;
}
}

1、次のクラスの中にアクセス制限に違反しているメソッド呼び出しはどれか?

package question;
import exercise.Point;

public class Q1{
static void main(String[] args){
Point p = new Point(3, 4);
System.out.println(p.getX());
          System.out.println(p.getY());
}
}



478 名前:おし []:2006/02/27(月) 23:41:54
2、下のmoveXメソッドの定義はアクセス制限に違反しているか否かか答えよ

package execise;

class Point3D extends Point {
private int z;
int getZ() {return z;}
void moveX(int dx){ x += dx;}
Point3D(int x0, int y0){
super(x0, y0);
}
}

3、下のクラス定義の中で、アクセス制限に違反しているメソッドの定義を答えよ

package question;
import exercise.Point;

public class ColorPoint extends Point{
private String color;
public String getColor() {return color;}
public int xpos() {return getX(); }
public int ypos() {return getY(); }
public ColorPoint(int x0, int y0, String c) {
super(x0, y0);
color = c;
}
}


479 名前:デフォルトの名無しさん[sage]:2006/02/27(月) 23:42:07
コンパイルして試してみればいいのに

480 名前:デフォルトの名無しさん[sage]:2006/02/28(火) 00:12:49
>>477
1、次のクラスの中にアクセス制限に違反しているメソッド呼び出しはどれか?
  
  System.out.println(p.getX());

2、下のmoveXメソッドの定義はアクセス制限に違反しているか否かか答えよ

  違反している (xがprivate)

3、下のクラス定義の中で、アクセス制限に違反しているメソッドの定義を答えよ

  public int xpos() {return getX(); }

どの設問も [ x ]絡みのアクセス装飾子の問題ですね

public , protected , デフォルト , private の関係をもう一度復習してみてください



481 名前:おし []:2006/02/28(火) 00:31:48
>>479 コンパイルができなかった…
>>480 ありがとうございます

482 名前:デフォルトの名無しさん []:2006/02/28(火) 15:32:22
【課題】ArrayListの内容をString配列とVectorに追加し画面に出力する
【 期限 】3/2
【補足】ArrayListの中身は、
list.No(1,2,3・・・10)
list.Id(100,200.300・・・1000)
list.color(青、赤、緑・・・などの10色)

すいませんがお願いいたします。


483 名前:デフォルトの名無しさん []:2006/02/28(火) 19:00:23
以下のプログラムを実行すると、どんな文字列を入力してもCancelと表示され、OKと表示されることはなかった。なぜであるか理由を考え、yesと入力したらOKと表示されるようにプログラムを修正せよ

String text = javax.swing.JOptionPane.showInputDialog(null);
if (text != "yes")
System.out.println("Cancel");
else
System.out.println("OK");

System.exit(0);


484 名前:デフォルトの名無しさん []:2006/02/28(火) 19:02:59
指定された位置に指定された大きさで三角形を描くdrawPolygonメソッドを書き次のプログラムが正しく動くようにせよ。drawPolygonメソッドの引数は順にx座標、y座標、三角形の辺の長さである。

public class Exercise1{
public void run(){
drawPolygon(50, 200, 100);
drawPolygon(150, 200, 100);

//ここにdrawPolygonメソッドの定義を書く//

public static void main(String[] args){
Exercise1 ex1 = new Exercise1();
ex1.run();
}
}
}


ヒント:drawPolygonの定義は次のようになる。
Public void drawPolygon(int x, int y, int length){
ここを埋める
}



485 名前:デフォルトの名無しさん []:2006/02/28(火) 19:03:58
次のプログラムは誤っている。どこが誤っているか指摘せよ。

String[] s = new String[3];
s[0] = “Delphi”;


486 名前:デフォルトの名無しさん []:2006/02/28(火) 19:06:00
コマンド行引数で与えられた2つの数の間で四則演算を行うプログラムCalc.javaを書け。例えば、

java Calc 4 – 3

とコマンド行引数を与えて実行すると、4 - 3 の計算結果を表示するようにせよ。演算の種類は加減乗除の4種類でよい。

ヒント: 問題文の例ではargs[0]の値は“4”、args[1]の値は“−”、args[2]の値は”3“となる。すべて文字列なので、Integer.parseIntを使ってint型の値に変更しなければならない。




487 名前:デフォルトの名無しさん []:2006/02/28(火) 19:07:01
次のプログラムは誤りを含む。誤りを指摘せよ。

public class Point{
public int x;
public int y;

public static void scale(int s){
x *= s;
y *= s;
}

public static void scale(Point p, int s){
p.x *= s;
p.y *= s;
}
}



488 名前:デフォルトの名無しさん[sage]:2006/02/28(火) 19:10:42
>>483
> if (text != "yes")
textと"yes"が違うインスタンスなので、常に正だから

>>484 >>485
シラネ

>>486
switch()でゴリゴリかけるのでパス

>>487
xとyはインスタンス変数なのにscale(int)では(ry


489 名前:前半 []:2006/02/28(火) 19:12:33
下のRectクラスはPointクラス利用して定義されているが、継承機能は利用されていない。Rectクラスの定義を修正し、継承機能を利用できるように書き直せ。具体的には、RectクラスからupperLeftフィールドを削除し、代わりにPointクラスを継承するようにすればよい。

/* Point.java に保存
 */
public class Point {
public int x, y;
public Point(int x0, int y0){
x = x0;
y = y0;
}
}

/* Rect.javaに保存
*/
public Point upperLeft; //左上隅の座標
public int width;
public int height;


490 名前:後半 []:2006/02/28(火) 19:13:42
上の問題の続きのプログラム


public Rect (int x0, int y0, int w, int h){
upperLeft = new Point(x0, y0);
width = w;
height = h;
}

public Point getLowerRight() { // 右下隅の座標を返す
return new Point(upperLeft.x + wodth,
upperLeft.y + height);
}

public static void main (String[] args) {
Rect r = new Rect(5, 10, 15, 20);
Point p = r.getLowerRight();
System.out.println(p.x + “ “ + p.y);
}
}



491 名前:後半 []:2006/02/28(火) 19:17:25
>>485 問題間違えた

次のプログラムは誤っている。どこが誤っているか指摘せよ。

String[] s = new String[3];
s[3] = “Delphi”;

492 名前:デフォルトの名無しさん []:2006/02/28(火) 19:39:39
あのですね
なんかよく分からないんですがJAVAが実行できなくなってしまったんですが。
どうすればいいんでしょうか。コンパイルはできるんですけど。

493 名前:デフォルトの名無しさん []:2006/02/28(火) 19:50:04
どうすればいいんでしょうか!

494 名前:デフォルトの名無しさん[sage]:2006/02/28(火) 19:50:14
>>492
1 PC投げる


495 名前:デフォルトの名無しさん []:2006/02/28(火) 19:55:15
ッアーー!

496 名前:デフォルトの名無しさん []:2006/02/28(火) 20:20:20
>>491

String[] s = new String[3];
で確保されるのは、
s[0],s[1],s[2]

497 名前:デフォルトの名無しさん[sage]:2006/02/28(火) 21:47:27
>>491
ダブルクォートが全角

498 名前:デフォルトの名無しさん []:2006/02/28(火) 21:54:13
>>489

public class Rect extends Point{
public int width;
public int height;

public Rect (int x0, int y0, int w, int h){
x = x0;
y = y0;
width = w;
height = h;
}

public Point getLowerRight() { // 右下隅の座標を返す
return new Point(x + width, y + height);
}

public static void main (String[] args){
Rect r = new Rect(5, 10, 15, 20);
Point p = r.getLowerRight();
System.out.println(p.x + " " + p.y);
}
}


499 名前:デフォルトの名無しさん []:2006/02/28(火) 22:09:07
>>486
public class Calc{
public static void main(String args[]){
if(args.length != 3) System.out.println("コマンドライン引数の数が不正です");
else calc(args);
}

static void calc(String args[]){
int a, b, r;
try{
a = Integer.parseInt(args[0]);
b = Integer.parseInt(args[2]);
if(args[1].equals("+")){
r = a + b;
}else if(args[1].equals("-")){
r = a - b;
}else if(args[1].equals("*")){
r = a * b;
}else if(args[1].equals("/")){
r = a / b;
}else{
System.out.println("不正な演算子です");
return;
}
System.out.println(r);
}catch(Exception e){
System.out.println("数値の入力が不正です");
}
}
}

500 名前: []:2006/03/01(水) 14:09:06
>>499
実行できました

501 名前:デフォルトの名無しさん []:2006/03/01(水) 14:10:27
単語単位でファイルの内容を読むときに便利なように、java.util.StringTokenizerというクラスが標準で用意されている。このクラスを使って、単語単位でファイルの内容を読み取って、読み取った単語を画面に表示するプログラムを書け。

502 名前:デフォルトの名無しさん[sage]:2006/03/01(水) 16:09:41
使えって言ってるんだから使えば

503 名前:デフォルトの名無しさん[sage]:2006/03/01(水) 16:29:35
>482
問題の意味がわからない

なんでString配列とVectorの二つに追加するの?
何をどう追加するの?
list.Noって何?メソッド?変数?型は?
list.Id,list.colorも同様
()の中に値があるが引数なの?青とか赤とか""で囲まれてないけどStringじゃないの?
色って何?色自体を表示するの?色の名前を表示するの?

てことで意味不明

504 名前:デフォルトの名無しさん[sage]:2006/03/01(水) 21:35:51
>500
ホントにかけ算も実行できたのかと。

505 名前:デフォルトの名無しさん[sage]:2006/03/01(水) 22:22:15
>>501
StringToken.java

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class StringToken {
    public static void main(String[] args) {
        String str = "";
        try {
            BufferedReader br = new BufferedReader(new FileReader("token.txt"));
            while( (str = br.readLine()) != null) {
                StringTokenizer st = new StringTokenizer(str);
             while (st.hasMoreTokens()) {
             System.out.println(st.nextToken());
             }                
            }                        
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}



506 名前:デフォルトの名無しさん[sage]:2006/03/02(木) 00:22:33
該当スレが分からない・・・。どこで聞いたらいいでしょう?

mysql-connector-java-3.0.8-stable-bin.jarというファイルが欲しいのですが、mySQLのサイトで無いように思われます。
どなたか、保管しているサイトを知っておりましたら、誘導をお願いします。

507 名前:デフォルトの名無しさん []:2006/03/02(木) 02:29:55
【課題】
(1)下は実行列X(配列名x)実ベクトルy、z(配列名y、z)
が与えられたときに、ベクトルXy−zを計算してベクトルw(配列名w)に
格納するメソッドの一部である。(  )を埋めよ。

public static void Xy_mns_z(
double[][]x, double[]y, double[]z, double[]w ) {
double wj;
int m=x.length;
int n=x[0].length;
for(  1  )
wj=(  2  )
for(  3  )
(    4    )
w[j]=wj;
}
}

(2)ベクトルy=Ax−bを計算するために(1)のメソッドをmainで呼び出すときの
文を書け。ただしy、A、x、bとする。
【期限】
3/2
【補足】
お願いします。

508 名前:507 []:2006/03/02(木) 02:31:28
あっ・・・配列名とかを大文字で書いちゃいました。すいません小文字でした・・・

509 名前:507 []:2006/03/02(木) 02:32:31
あー・・・違う・・・そうじゃなくて半角と全角のことです。
まじですいません。

510 名前:デフォルトの名無しさん[sage]:2006/03/02(木) 06:42:22
>>507 適当に書いたので、間違いあるかも

(1)

public static void Xy_mns_z(
  double[][] x, double[] y, double[] z, double[] w){ 

  double wj; 
  int m=x.length; 
  int n=x[0].length;
        
  for(int j=0;j<m;j++){ 
    wj = -z[j]; 
    for(int i=0;i<n;i++) 
      wj += x[j][i]*y[i];           
    w[j] = wj; 
  } 


(2)
    
Xy_mns_z(A,x,b,y);


511 名前:デフォルトの名無しさん[sage]:2006/03/02(木) 10:44:00
>>506
>mysql-connector-java-3.0.8-stable-bin.jar
確かにそのバージョンにこだわるのであればMySQLのサイトに無いですねぇ

ただ、単純にJDBCドライバを使われるのであればリリースされている
3.1.12とかのバージョンじゃダメなんですかね?

外してたらすみません。

512 名前:デフォルトの名無しさん[sage]:2006/03/02(木) 10:51:03
>>501
ゴメソ br.close();抜けてた。適当に入れておいて

513 名前:デフォルトの名無しさん[sage]:2006/03/02(木) 20:13:30
>511
あ、なるほど。調べてみましたら、同じ効力のファイルのようです。
こちらをダウンロードしてみることにします。
ありがとうございました。

514 名前:507 []:2006/03/02(木) 23:44:54
>>510
(1)、それと同じ回答あるんだけど完全に不正解とされてるんだよね・・・
もしかしたらx[0].length→y.length かもしれない。
誰か分かりそうな人いませんか?お願いします・・・
あと、(2)については理解できました。ありがとうございます。

515 名前:デフォルトの名無しさん []:2006/03/02(木) 23:56:46
【課題】
import java.io.*;
public class Approx {
public static void main (String[] args) {
int i, n=1000000, k=0; double x, y, ds, ap; PrintWriter fo; long tb, te;
try {
fo=new PrintWriter(
new BufferedWriter(
new FileWriter(
args[0])));
tb=System.currentTimeMillis();
for (i=0; i<n; i++) {
x=2*Math.random()-1;
y=2*Math.random()-1;
if ((x-1)*(y-1)>1) k++;
}
te=System.currentTimeMillis();
long dm=te-tb;
ds=dm/1000.0;
ap=4.0*k/n;
fo.println(ds+"秒\n"+"近似値 ="+ap);
fo.close();
}
catch(Exception e) {
System.out.println("書き込みエラー: "+e);
}}}
(1)dmでは何を計算しているか。
(2)apを次式で計算した場合の格値とその理由を説明せよ。
(i)ap=k/n*4.0;
(ii)ap=4*k/n;
【期限】過ぎてます・・・

516 名前:デフォルトの名無しさん[sage]:2006/03/03(金) 00:27:05
>>515

(1)dmでは何を計算しているか。
forループ部分の処理時間(ミリ秒)の計算結果を格納している

(2)
2)apを次式で計算した場合の格値とその理由を説明せよ。
(i)ap=k/n*4.0;
 →0.0 理由:k/nの計算結果がint型の結果となるためその後0*4.0で結果は0.0

(ii)ap=4*k/n;
 →1.0 理由:上記に似ているが、4*kの結果がint型で/nの結果もint型になるため結果は1で
   apがdouble型のため暗黙のキャストで1.0

ってこんなんじゃだめ?

517 名前:515 []:2006/03/03(金) 00:31:57
>>516
なるほど・・・
dmの単位はミリ秒だということまで!ありがとう!
(2)の計算結果も実際実行させてみたらそうなってました〜。
本当にありがとうございました。

518 名前:デフォルトの名無しさん []:2006/03/03(金) 00:34:12
漢字を2進数で表示させたいのですが、どうすればいいのでしょうか??


519 名前:デフォルトの名無しさん[sage]:2006/03/03(金) 00:38:12
>>518
http://pc8.2ch.net/test/read.cgi/tech/1140878286/356-357

520 名前:デフォルトの名無しさん []:2006/03/03(金) 01:08:43
>>519さん
ありがとうございます!

521 名前:デフォルトの名無しさん[sage]:2006/03/03(金) 08:52:34
【課題】
地球温暖化による温度上昇を2010年より10年ごとにもとめよ
また、それぞれどのような影響が出るかとどのように対処するかを出力せよ。
【期限】
やばくなるまえに
【補足】
どこの地域の温度でもいいです。

522 名前:デフォルトの名無しさん []:2006/03/03(金) 09:42:49
JAVAて一文字何バイトですか?至急返答願います

523 名前:デフォルトの名無しさん[sage]:2006/03/03(金) 10:41:57
JAVA → UTF-8 →一文字1バイト

524 名前:デフォルトの名無しさん[sage]:2006/03/03(金) 12:37:47
今日から1MB

525 名前:デフォルトの名無しさん []:2006/03/03(金) 13:33:30
タスクトレイに格納する方法を教えてください

526 名前:デフォルトの名無しさん[sage]:2006/03/03(金) 15:04:00
>>523
日本語使うと2バイトになるだろ。
場合によっては4バイトになる。

527 名前:デフォルトの名無しさん []:2006/03/03(金) 21:05:05
>>526
1文字ったってchar型なら2バイトじゃない?違ったらスマソ
まぁ、当の522は聞き逃げ厨な様だが

528 名前:デフォルトの名無しさん[sage]:2006/03/04(土) 00:00:14
Javaってユニだから半角だろうが全角だろうが1文字2バイトだろ?

529 名前:デフォルトの名無しさん []:2006/03/04(土) 00:05:56
Javaを始めてまだまだ初心者です。宜しくお願い申します。

【課題】
起動されると文字入力待ちとなる。
何らかの文字列が入力され、Enterが押されたら
入力された文字列を画面上に表示し、再度文字入力待ちとなる。
入力された文字が「q」 一文字の場合は画面には表示せず終了する。

public class WaitingAgain {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try{
String line = reader.readLine();
System.out.println(line);
if (line = reader.readLine() equals('q')) {
System.out.println();
}
} catch (IOException e) {
System.out.println(e);
}
}
}
}




530 名前:529 []:2006/03/04(土) 00:10:44
期限はまだ何とか大丈夫ですが、これよりも少々複雑なプログラム課題が
5つ程残っていまして、他にも課題があるため少々焦っている次第です。
上のソースがうまく改行されずに見にくく申し訳ありません。

531 名前:デフォルトの名無しさん[sage]:2006/03/04(土) 00:31:56
>529
import java.io.*;
public class WaitingAgain {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
try{
while(!(line = reader.readLine()).equals("q")){
System.out.println(line);
}
} catch (IOException e) {
System.out.println(e);
}
}
}

532 名前:デフォルトの名無しさん []:2006/03/04(土) 17:15:04
【 課題 】ユーザーに文章を入力させ、以下の3つ条件を選択させ、条件に当てはまるように文章をコンバートしなさい。
      また、文章を入力する画面で、「quit」と入力したらプログラムを終了させるようにしなさい。
      
      Eggy : 母音(a,i,u,e,o)が入力されたら、その前に egg と表示。例:dog → deggog
      Ava : 入力した単語の最初の文字を最後に移動し、ava と表示。例:I like a dog → Iava ikelava aava ogdava
      Shift: String N のポジションに文字列をずらします。例:Nが3の場合。 dog → fqi

出力例: http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1678.txt

【 期限 】3/6
【 Ver  】1.4

よろしくお願いします。

533 名前:デフォルトの名無しさん []:2006/03/05(日) 00:30:32
>>532
正直俺も勉強しながら作ったんでソースは汚いけど、とりあえず仕様通りには動いたyp
参考にならなかったらスマソ

conv.java(main)
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27257

Ava.java
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27254
Conversion.java
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27251
Eggy.java
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27255
Shift.java
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27256



534 名前:533[sage]:2006/03/05(日) 00:35:56
>>532
ぁ…
Ava Eggy Shift の StringTokenizer をprivateにするの忘れてた…



535 名前:デフォルトの名無しさん []:2006/03/05(日) 00:39:01
Javaで減色処理を行う良い方法は何かありませんか?
フルカラーを64色ぐらいまで落としたいのですが。

536 名前:デフォルトの名無しさん[sage]:2006/03/05(日) 05:46:19
64色にするとなんかいいことあるのかと

537 名前:532 []:2006/03/05(日) 14:27:03
>>533
533さん、ありがとうございました。
ちょっと出力で質問があるのですが、

何番で文章をコンバートしますか?
3

あなたの文章は、

文章を何行ずらすか、選択してください。(ASCII表参照):2
出力された文字

文章(英語のみ)を〜

といった風に出力されてしまうのですが、3を選んだ場合は、
「文章を何行ずらすか、選択してください。(ASCII表参照):」を入力した後に
「あなたの文章は、」 が来るようにしたいのですが、どうすれば良いのでしょうか?

538 名前:デフォルトの名無しさん[sage これぐらい自分で処理してほしいんだけど]:2006/03/05(日) 14:51:50
>537
>533ではないが。
conv.javaの

System.out.println("あなたの文章は");
AL = con.getData();

を入れ換えて、

AL = con.getData();
System.out.println("あなたの文章は");
にする。

539 名前:532 []:2006/03/05(日) 16:00:41
>>538
ありがとうございました。

540 名前:デフォルトの名無しさん []:2006/03/07(火) 16:43:31
宿題ではないですが
テキストを読み込んで
'▼'の次の行から'▲'の前の行までをString[]に入れるにはどうすればよいのでしょうか?
いろいろやってみたのですが型変換がうまくできません

541 名前:デフォルトの名無しさん[sage]:2006/03/07(火) 16:49:00
それでわかるかボケw
ソースコピペしる。

542 名前:デフォルトの名無しさん []:2006/03/08(水) 12:37:34
【 課題 】
1.すでに存在する文字列(strings)を大文字から小文字に変換するプログラムを製作しなさい。
ヒント: ‘A’(65) は ‘a’ (97) ‘Z’(90)は ‘z’(122)(※()内はアスキー表番号)

2.利用者に入力させたstr1 と str2があり、もし同じ文字(String)なら「Yes」、違うなら「No」と出力されるプログラムを製作しなさい。

【 期限 】3月8日 午後7時

よろしくお願いします。

543 名前:デフォルトの名無しさん[sage]:2006/03/08(水) 13:23:55
>>542

課題1

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Kadai1 {

public static void main(String[] args) {
try {
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
System.out.print("文字を入力してください : ");
String str = input.readLine();
System.out.println("入力した文字は : " + str);

System.out.println("大文字から小文字に変換させます・・・");

int length = str.length();



544 名前:課題1の続き[sage]:2006/03/08(水) 13:24:29
StringBuffer sBuf = new StringBuffer();

for (int i = 0; i < length; i++) {
char c = str.charAt(i);
if (c >= 'A' && c <= 'Z') {
char castChar = (char)(c + 32);
sBuf.append(castChar);
}else{
sBuf.append(c);
}
}

System.out.println("変換しました : " + sBuf);
} catch (Exception e) {
e.printStackTrace();
}

}

}


545 名前:課題2[sage]:2006/03/08(水) 13:29:57
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Kadai2 {

public static void main(String[] args) {
try {
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
String str1 = null;
String str2 = null;
for (;;) {
System.out.print("文字1を入力してください : ");
str1 = input.readLine();
if (str1.equals("") == false) {
break;
}
}


546 名前:課題2の続き[sage]:2006/03/08(水) 13:30:30
for (;;) {
System.out.print("文字2を入力してください : ");
str2 = input.readLine();
if (str2.equals("") == false) {
break;
}
}

System.out.println(str1.equals(str2) ? "Yes" : "No");

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

}

}


547 名前:デフォルトの名無しさん[sage]:2006/03/08(水) 14:27:29
>>546
toLowerCase、str1.equal(str2) 使った方が分かりやすくね?

548 名前:デフォルトの名無しさん[sage]:2006/03/08(水) 14:29:35
547だが、str1.equals(str2)は使ってたな… スマソ

549 名前:コード書いた人[sage]:2006/03/08(水) 14:31:51
>>547

1.すでに存在する文字列(strings)を大文字から小文字に変換するプログラムを製作しなさい。
ヒント: ‘A’(65) は ‘a’ (97) ‘Z’(90)は ‘z’(122)(※()内はアスキー表番号)

問題でアスキー表番号を提示してるってことは、それを使うことを期待している問題かなぁと思って。

550 名前:デフォルトの名無しさん[sage]:2006/03/08(水) 14:46:57
>>549
なるほどな。でしゃばってスマン。

551 名前:コード書いた人[sage]:2006/03/08(水) 14:50:21
いや、普通はtoLowerCase使うよな。
標準APIでわざわざ用意してくれるんだから。

>>542は先生に、「toLowerCaseメソッドを使ったほうが簡単じゃないですか?(`Д´)」
って聞いてみて。課題提出するときにでも

552 名前:デフォルトの名無しさん[sage]:2006/03/08(水) 16:07:49
先生はC言語の延長としてJavaを使ってるだけと予想

553 名前:デフォルトの名無しさん[sage]:2006/03/09(木) 23:11:18
フィボナッチの数列なんですが

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

int index = 0;
int[] i = new int[20];
i[0] = 0;
i[1] = 1;

do{
System.out.println(i[index+1]);
i[index+2] = i[index] + i[index+1];
index++;
}while(index <= 14);
}
}
こういうのでも問題ないですか?

554 名前:デフォルトの名無しさん[sage]:2006/03/09(木) 23:32:26
クラスの名前は大文字から
配列の初期化でなぜ20?

555 名前:デフォルトの名無しさん []:2006/03/10(金) 01:40:25
>>553
個人的には、表示しつつ数列を求めるのではなく、
@数列を求める
A求めた数列を表示する
と分けるのが好きです。
# 2度も走査できないような、長い数列の場合は別ですが。

こんな感じです:
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27274

556 名前:デフォルトの名無しさん []:2006/03/11(土) 04:18:50
【 課題 】
指定された間隔で指定された回数httpリクエストを送信する機能を持った
httpクライアントプログラムを作りなさい。



よろしくお願いします。

557 名前:デフォルトの名無しさん[sage]:2006/03/11(土) 04:20:41
F5ツール作成依頼か
舐められたもんだ

558 名前:デフォルトの名無しさん []:2006/03/11(土) 05:07:41
F5ツールとは、Dos攻撃のツールという意味ですが?
そういう意図ではないのですが、あまりにバカバカしい質問だったでしょうか?
プログラミングは超初心者で全然駄目なので、このような問題でも
私にとっては難解です。すいません。

559 名前:デフォルトの名無しさん[sage]:2006/03/11(土) 05:14:01
httpリクエストの文字列は全部て入力なんかね

560 名前:デフォルトの名無しさん []:2006/03/11(土) 05:20:12
はい、その通りです

561 名前:デフォルトの名無しさん[sage]:2006/03/11(土) 14:04:13
馬鹿は馬鹿のままが一番だよ

562 名前:デフォルトの名無しさん[sage]:2006/03/12(日) 01:32:01
>>555
N=0の時

563 名前:デフォルトの名無しさん[sage]:2006/03/12(日) 01:37:21
>>522
Stringオブジェクトのサイズ?

564 名前:デフォルトの名無しさん[sage]:2006/03/12(日) 02:06:48
なんか宿題ない?
暇なんだけど

565 名前:デフォルトの名無しさん[sage]:2006/03/12(日) 04:18:39
春休みだから宿題もないんだろう

566 名前:デフォルトの名無しさん []:2006/03/12(日) 05:44:09
>>564
 >>556に答えていただければ嬉しいのですが、、

567 名前:デフォルトの名無しさん[sage]:2006/03/12(日) 08:03:50
>>566
べつにそれって宿題じゃ無いんでしょ?
正直>>556の様な宿題を出す学校なら品位を疑う。

568 名前:デフォルトの名無しさん[sage]:2006/03/12(日) 12:37:25
>>566
宿題の出題者を恨みなさい。
あなたを疑うことと、ものを提示することどちらが悪か。
悪に加担する可能性がある以上、
どうしても必要に駆られるならあなたが作るしかないじゃない。

569 名前:デフォルトの名無しさん[sage]:2006/03/12(日) 18:16:41
public class class12 {
public static void main(String[] args) {
float sum = 0;
for(int index = 0; index < 10; index++){
float weightarray[] = new float[10];
float weight = (float)(Math.random() * 9 + 1);
weightarray[index] = weight;
System.out.println("岩石" + (index+1) + "の重さは" + weightarray[index] + "です。");
sum = sum + weightarray[index];
}
System.out.println("岩石の合計の重さは" + sum + "です。");
}
}

これをオブジェクトを作成する方法に書き換えるにはどうしたらいいの?

570 名前:デフォルトの名無しさん[sage]:2006/03/12(日) 19:45:34
>>569
質問の意図がイマイチ汲み取れないんだが…

こんなんでいいってこと?
単純に他のクラスで書いただけなんだが


public class Class12 {
public static void main(String[] args) {
Rock R = new Rock();
System.out.println("岩石の合計の重さは" + R.getSum() + "です。");
}
}

class Rock {
public float getSum() {
float sum = 0;
for(int index = 0; index < 10; index++){
float weightarray[] = new float[10];
float weight = (float)(Math.random() * 9 + 1);
weightarray[index] = weight;
System.out.println("岩石" + (index+1) + "の重さは" + weightarray[index] + "です。");
sum += weightarray[index];
}
return sum;
}
}

571 名前:デフォルトの名無しさん[sage]:2006/03/12(日) 22:46:33
>>569 >>570
Rock クラスを2つに割って、こんな感じでどうかな?
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27297

572 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 03:36:19
【 課題 】データグラムを使ったネットワークプログラミング。異なったマシーンで動く2つのプログラム(例えばプログラムAがプログラムBにある文字列を送り、プログラムBがそれに対して文字列で返答する)を構成するアプリケーションを作りなさい。文字列は自由。
【 期限 】今週末まで。なるべく早くできれば助かります。
【 補足 】たぶん簡単なメッセンジャーのような物を作れと言われてるんだと思います。
よろしくお願いします。

573 名前:デフォルトの名無しさん []:2006/03/14(火) 16:23:16
少々頭が混乱してきて困っています。宜しくお願い申します。
【 課題 】
起動すると文字入力待ち状態に→※ファイル名入力(恐らく同じディレクトリ内のもの)→
ファイルの内容が表示される(→適切に表示されれば、また文字入力待ちに)→

要求したファイルが無い場合、「ファイル○○○がありません」と表示
ファイルがあっても読み込みできない場合、「ファイル○○○が読み込めません」と表示
※"q"が入力されると、プログラム自体が終了

【期限】まだ大丈夫ですがこれ以外に幾つか残っておりまして、
    内容的にこれ等ができないと先に進めない状況です。

【補足】例外について、ファイル自体が無い場合はFileNotFoundExceptionが
あるのに、読み込みができない場合のものはないのか?というか、今使っている
参考書でさがしても見当たらない…という感じです。

574 名前:573 []:2006/03/14(火) 16:31:21
import java.io.*;

public class DisplayOfFiles2 {
public static void main(String[] args) {
System.out.println("ファイル名を入力してください");
String filename = args[line];
try {
BufferedReader reader = new BufferedReader(new FileReader(filename));
String line;
while (!(line = reader.readLine()).equals("q")) {
System.out.println(line);
}
reader.close();
} catch (FileNotFoundException e) {
System.out.println("指定されたファイル" + filename + "がありません" + e);
} catch (IOException e) {
System.out.println("IOエラー:" + e);
}
}
}

575 名前:573 []:2006/03/14(火) 16:33:36
これまでコンパイルを試みた中でエラーは複数ありましたが、
今のところ一つです。その中で、6行目のString〜args[]のところの
「シンボルを見つけられません。」といったエラーは出続けています。

お手数をおかけしますが、宜しくお願いします。

576 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 16:50:15
String filename = args[line];

の line ってどこで定義している?

577 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 17:25:13
【課題】1〜100の整数範囲から乱数を重複なく10個を発生させ、それをrandom.txt
    に書き出す。さらに、random.txtを読み込み、配列を用いて小さい順に並べ替えて
    order.txtとして書き出す。
【期限】明日の夕方くらいまで
【補足】丸投げです。お手数ですがよろしくお願いします。

578 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 18:40:12
// >>577
// JDK5使用 適当です、確認お願いします。
import java.io.*;
import java.util.*;
public class T55_577 {
  public static void main(String[] args) throws IOException {
    // 生成
    int[] random = new int[100];
    for (int i = 0; i < 100; i++) random[i] = i + 1;
    for (int i = 0; i < 100; i++) {
      int j = (int) (Math.random() * 100);
      int k = random[j];
      random[j] = random[i];
      random[i] = k;
    }
    // 出力
    PrintWriter out = new PrintWriter("random.txt");
    for(int i=0; i<10; i++) out.println(random[i]);
    out.close();
    // 入力
    int[] order = new int[10];
    Scanner in = new Scanner(new File("random.txt"));
    for(int i=0; i<10; i++) order[i] = in.nextInt();
    in.close();
    // ソート
    Arrays.sort(order);
    // 出力
    out = new PrintWriter("order.txt");
    for(int i=0; i<10; i++) out.println(order[i]);
    out.close();
  }
}

579 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 18:48:06
メソッドわけしたほうが・・・

580 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 18:59:19
>>573
適当です、動作確認お願いします。

import java.io.*;
public class T55_573 {
  public static void main(String[] args) throws IOException {
    System.out.println("ファイル名を入力してください");
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    String line;
    while ((line = in.readLine()) != null) {
      if (line.equals("q")) break;
      File file = new File(line);
      if (file.exists()) {
        try {
          BufferedReader fileReader = new BufferedReader(new FileReader(file));
          while ((line = fileReader.readLine()) != null) System.out.println(line);
          fileReader.close();
        } catch (IOException ioe) {
          System.out.println("指定されたファイル" + file + "が読み込めません");
        }
      } else {
        System.out.println("指定されたファイル" + file + "がありません");
      }
    }
    in.close();
  }
}

>>579 マンドクサw 出題された用件を満たせば良いのさww

581 名前:577[sage]:2006/03/14(火) 19:10:33
>>578
まずは作成ありがとうございます。
しかしコンパイルできませんでした。jdk1.3.1_17を使用しているからでしょうか。
全くの無知で申し訳ありません。。



582 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 19:13:38
jdk1.3はちょっとありえないんじゃね?
せめて1.4入れてきて

583 名前:577[sage]:2006/03/14(火) 20:01:24
動作確認しました。
本当にありがとうございました。

584 名前:573 []:2006/03/14(火) 20:09:57
>>580
コンパイルは成功し、正常に実行されました。
ただ、気になったのですが、「ファイルが読み込めません」と表示され得る場合は
どういったミス入力等が考えられるのでしょうか(とりあえず適当に打ってみても
「〜ファイルがありません」ばかりなので)。

585 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 20:40:51
>>584
たとえば読み込もうとしたファイルがロックされてる場合とか…

よくわからずに作っているので、ロックしようとしたファイルの内容が消えるかもしれません。
適当なファイルで試してください。

import java.io.*;
import java.nio.channels.*;
public class T55_573_LockTest {
public static void main(String[] args) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
FileLock lock = null;
while (true) {
if (lock == null) {
System.out.println("ロックするファイル名を入力してください");
String line = in.readLine();
if (line.equals("q")) break;
FileChannel channel = new FileOutputStream(line, true).getChannel();
lock = channel.lock();
} else {
System.out.println("改行でロック解除");
in.readLine();
lock.release();
lock.channel().close();
lock = null;
System.out.println("ロック解除しました");
}
}
}
}

586 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 21:22:41
java.io.Fileクラスには、boolean delete() メソッドが存在し、ディレクトリを削除することができる。
しかし、このメソッドは、ディレクトリ内にファイルがあると削除することができない。
ではディレクトリ内にファイルが存在していても、ディレクトリを削除するにはどうしたらいいでしょう?

こんなことも判らんプログラマです。

587 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 21:35:52
>>586
ディレクトリ内にあるファイルをすべて削除すれば良いじゃない…と適当なことを言ってみる

public static boolean delete(File file) {
  if (file.isDirectory())
    for (File f : file.listFiles()) delete(f);
  return file.delete();
}

588 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 21:43:49
>>587
なるほど。
大いに納得致しました。逝ってきます。

589 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 22:17:00
【積年の】旦那にしてる密かな仕返し【恨みじゃー】
http://human5.2ch.net/test/read.cgi/ms/1141694640/

8 名前:可愛い奥様[] 投稿日:2006/03/07(火) 11:05:23 ID:8dtluKkp
夫の歯ブラシで洗面所の排水溝掃除。
洗面所をビショビショに汚した罰だ。

20 名前:可愛い奥様[age] 投稿日:2006/03/08(水) 00:40:17 ID:pRrk6A21
前に頭きた時あって
1度だけ歯ブラシで肛門カキカキしちゃった

22 名前:可愛い奥様[] 投稿日:2006/03/08(水) 01:27:12 ID:gU5mHc7J
よかった。どこのお宅も同じようなことしてて。

24 名前:可愛い奥様[] 投稿日:2006/03/08(水) 01:36:35 ID:SSSFsTqE
そうそう、ヘンなモノはダンナのお皿へ直行だよね。

41 名前:可愛い奥様[] 投稿日:2006/03/08(水) 11:55:18 ID:sjj+/60Q
見てるだけで気が晴れるな!
皆さん、頑張ってね!

42 名前:可愛い奥様[sage] 投稿日:2006/03/08(水) 20:33:51 ID:Ju2N1s7+
年金分割が楽しみじゃのう

63 名前:可愛い奥様[] 投稿日:2006/03/10(金) 08:55:20 ID:qLfJYpJR
家族で密かにはぶっている。

男性は肉体が汚く、精神が美しい傾向がある。(気に入らない相手に肉体的攻撃を加える⇒精神的攻撃も加える男は猛者)
女は肉体が美しく、精神が汚い傾向がある。(気に入らない相手に精神的攻撃を加える⇒肉体的攻撃も加える女は猛者)
女は隠れて悪事をする。気に入らない女子を便所でボコったり、便器舐めさせたり、男の友人を使ってレイプ、仲間外れにしたり。陰口、嫉妬。
女は対人関係において、この汚い性格を隠そうとするため、外面が非常によくなる。(猫かぶり)
男性諸君は外面に騙されないように気を付けて下さい。

590 名前:デフォルトの名無しさん[sage]:2006/03/14(火) 23:38:27
>>578
>>580
センスを疑う
面倒なら回答しなければいい
回答するならそれなりにきちんとした回答せよ

591 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 00:03:48
>>590
じゃあてめー一人でヤッテロ禿

592 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 00:13:40
>>591
どうした
まともな回答できないから暴言か


593 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 00:16:36
>>592
お前がまともな解答した所見たこと無いんだけど?
てめーのセンスなんて所詮自己満足のオナニーだろ

594 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 00:21:01
>>593
あなたは、私をどのように特定しているの?
なんの根拠もなしに「お前がまともな解答した所見たこと無いんだけど?」発言ですか
ほんと、ナンセンスですよ、あなたは。


595 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 00:24:05
特定して無いからまともな回答見たこと無いって言ってるんだ
そんなにセンスがあるという自負があるなら固定になって回答してみろよチキン

596 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 00:39:46
>>572
データグラムを使った簡単なメッセンジャーのようなものを作ってみた。
動作確認と報告よろしく。
使い方わからんかったら言ってくれ。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27311

597 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 02:23:16
>>596
ありがとうございます。
"クラス T55_572 は public であり、ファイル T55_572.java で宣言しなければなりません。
"というエラーが出ました。
新しくクラスファイルと作らないといけないんでしょうか?

598 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 09:40:22
>>596
やるじゃん

599 名前:まだまだビギナ []:2006/03/15(水) 14:08:49
既出のものと似ていますが、よろしくお願いします。
【課題】:カレントディレクトリ内のファイル内容表示
【期限】とりあえず大丈夫です

import java.io.*;

public class ShowFile1 {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("文字ファイル:exp05.txt");
System.exit(0);
}
String filename = args[0];
try{
BufferedReader reader = new BufferedReader(new FileReader(exp05.txt));
String line;
While ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (FileNotFoundException e) {
System.out.println("exp05.txtが見つかりません。");
} catch (IOException ioe) {
System.out.println("exp05.txtが読み込めません。");
}
}
}
【補足】参考書を見ながらやったのですが、
何故か、13行目「';'がありません。」というエラーが出ました。

600 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 14:12:52
>>599
While のWが大文字

whileが正解

601 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 14:17:50
While → while

602 名前:まだまだビギナ []:2006/03/15(水) 14:23:19
>>600
小さな所まで発見して頂いてありがとうございます。
確かに。前後のが大文字でつい…かと思われます。
ただ、コンパイルがこれで通ると思ったのですが、11行目で
「シンボルを見つけられません。」シンボル:変数exp05
というエラーが出てしまいました。実はこの類のエラー、
以前も違う課題でずっとでてて、未だに意味が分かりません。
(そもそも、シンボルというのは変数の別称か?と思っていたりで)

603 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 14:27:56
exp05.txtを"で囲んでない

604 名前:まだまだビギナ []:2006/03/15(水) 14:49:07
>>600,>>601,>>603
たびたび指摘下さりありがとうございます。おかげでコンパイル出来ました。
ただ、「たびたび」で何とも恐縮なのですが、コンパイル後実行したところ、
「文字ファイル:〜」と表示されってしまい、ファイル内容の表示は失敗しました。

これは根本的にソースの構成が問題なのでしょうか?それとも、
実行時の問題も考えられますでしょうか?

605 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 14:56:09
「文字ファイル:〜」と表示されってしまい

↑この続きが見たい。

606 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 14:57:42
>>604
System.exit(0);
これって何の為にあるの?


607 名前:デフォルトの名無しさん[sage]:2006/03/15(水) 14:58:35
わかった。
実行時のVMに引数が与えられていない。

java ShowFile1 exp05.txt

このとき、ShowFile1.classがあるフォルダにexp05.txtを用意してあげてな。

608 名前:606[sage]:2006/03/15(水) 14:59:01
あと、
String filename = args[0];
これも。

609 名前:普通に考えるとこうだな[sage]:2006/03/15(水) 15:02:01
BufferedReader reader = new BufferedReader(new FileReader(exp05.txt));



BufferedReader reader = new BufferedReader(new FileReader(filename));

610 名前:まだまだビギナ []:2006/03/15(水) 15:19:43
>>605
printlnの引数がそのまま表示されてしまってたんです。
>>607
ジャストミートでしたぁっ!m(__)m
>>606
まだまだ、みようみまねでやっていて・・・
606の辺りは、「引数が何も指定されなかったときのエラー表示です。」
とテキストに書いてありましたが。
608の辺りは「引数の文字列を変数に代入しています。」となっています。
勿論、filenameをexp05に直してコンパイルしたわけですが。
自分が今使っているテキストの場合、分かりやすくさらっと書いてある
説明書きが自分には「何を言いたいんだか分からない」と思う箇所が
ぼちぼちあります。ま、他のもあたってみようかなと思います。

611 名前:606[sage]:2006/03/15(水) 15:29:26
>>610
いや…俺が言いたかったのは

BufferedReader reader = new BufferedReader(new FileReader("exp05.txt"));

の様に直接ソース内でファイル名を指定するなら
>>606>>608 も要らないんじゃないかと思ってね。

まぁ、出来たなら良かった。


612 名前:デフォルトの名無しさん []:2006/03/15(水) 23:30:53
サーブレットと配列が得意な人っていますか?


613 名前:デフォルトの名無しさん[sage]:2006/03/16(木) 01:15:29
>>612
throw new YourQuestion ();

614 名前:デフォルトの名無しさん[sage]:2006/03/16(木) 01:22:41
try {
>>612
>>613
} catch (RuntimeException e) {
System.err.println("配列が得意ってなんだよー");
throw e;
}


615 名前:デフォルトの名無しさん []:2006/03/16(木) 11:51:09
【 課題 】
クライアントとサーバーの間に中継サーバーとして配置し、
データをそのまま中継するだけのサーバーを作りなさい。


616 名前:デフォルトの名無しさん []:2006/03/16(木) 12:45:42
株、為替の自動売買システムを開発中!
参加者キボンヌ!金持ちになろう!


★★★自動売買ソフトを作ろうぜ★★★ Part3
http://live19.2ch.net/test/read.cgi/stock/1141718486/l50


617 名前:http://www.vector.co.jp/soft/win95/util/se072729.html[http://www.microsoft.com/japan/windowsxp/64bit/default.mspx]:2006/03/18(土) 19:42:42
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?


618 名前:デフォルトの名無しさん []:2006/03/20(月) 20:20:53
明後日期限なんですが、
1.ローカルでオープンしているポートを画面に一覧表示させる
2.ポートに対する一般名称を「ポート番号(名称)」も表示するように修正する
3.ファイルにも一覧を出力する(2.で修正した一覧であること。ファイル名は任意)

以上お願いします


619 名前:さくら []:2006/03/20(月) 22:54:07
【 課題 】(1)〜(5)の演算を実行したあとの変数i,d,bの値を求めなさい。
      ただし、int i=1;double d=1.0;boolean b=fales;と初期化されている。

【 回答 】
 (1) i+=3; → i=( )
(2) d++;          → d=( )
(3) b=(1.0!=1.0);         → b( )
(4) d=( (1.0<-1.0 ? 1.0 : -1.0); →d( )
(5)i<<=1; →i( )

よろしくお願い致します。

620 名前:デフォルトの名無しさん []:2006/03/20(月) 23:08:09
http://hp25.0zero.jp/540/alcana

621 名前:デフォルトの名無しさん[sage]:2006/03/20(月) 23:13:55
>>619
わかんないなら実行すりゃいいだろ、釣りか?

622 名前:デフォルトの名無しさん[sage]:2006/03/20(月) 23:54:50
つられてたまるか

(1) i = 4
(2) d = 2.0
(3) b = false
(4) d = -1.0
(5) i = 8

623 名前:774 []:2006/03/21(火) 00:10:53
int a = -1/5;
ってやったらaに0が入るのは何でですか?
俺の考えだと、
1.-1/5は-0.2
2.int/intだからintにキャスト
3.(int)-0.2だから-1
4.aに-1が入る

どこで間違えてる?

商が求まる時点で整数になってるとか?

624 名前:デフォルトの名無しさん []:2006/03/21(火) 00:13:07
↑774は気にしないでください

625 名前:デフォルトの名無しさん[sage]:2006/03/21(火) 01:07:21
intにキャストするときって
その数字以下で最大の整数にするんじゃなくて、
数字部分で切捨てじゃなかったっけ?

626 名前:623 []:2006/03/21(火) 01:14:12
おっしゃる通りです。
すいませんでした。

627 名前:デフォルトの名無しさん[sage]:2006/03/21(火) 08:06:46
どうしても-1にしたけりゃ-0.5足してからキャストね

628 名前:デフォルトの名無しさん []:2006/03/21(火) 08:08:29
吸ってんじゃねーよ

629 名前:デフォルトの名無しさん []:2006/03/21(火) 08:20:23
↑きみは短絡的って言われてるでしょ

630 名前:デフォルトの名無しさん[sage]:2006/03/21(火) 08:46:28
0.5は四捨五入だった
この場合は-1足してからキャスト

631 名前:デフォルトの名無しさん []:2006/03/23(木) 01:44:45
【課題】
プログラムに引数で与えられたファイル名でファイルのコピーを行う
例)exp01 コピー元ファイル名 コピー先ファイル名
指定したコピー元ファイルが無い場合は
「指定されたコピー元ファイル〇〇〇がありません」
指定したコピー元ファイルがあるが、読み込み不可の場合は
「指定されたコピー元ファイル〇〇〇が読み込めません」
と画面に表示し例外を投げて終了。
指定したコピー先ファイルがすでに存在する場合は、
「指定されたコピー先ファイル〇〇〇が存在します」
と画面に表示し例外を投げて終了。
【期限】:まだ一応大丈夫です。
【補足】最初は課題文を読んでも、何をすればよいのか分かりませんでした
(今でも同じような感じですが)。例外が3つにも及ぶので、ここまでくると
ソースが複雑になりそうで、今の自分の力ではとても負えないなという印象が
正直なところ。そもそも、参考書でFileReaderやWriterのところは目を通したのですが
「ファイルのコピーってできるの?」という風な疑問です。
皆さんの的確且つ有効なアドバイスを頂けると有難いです。

632 名前:デフォルトの名無しさん[sage]:2006/03/23(木) 02:02:04
>>631
> 「ファイルのコピーってできるの?」という風な疑問です。
コピー元ファイルから一定量ずつ読みだしてはコピー先に書きだしていく
というのを残りがなくなるまで繰り返すとコピーになるよ。



633 名前:デフォルトの名無しさん[sage]:2006/03/23(木) 03:42:07
>>631
// 引数が無い場合の処理などは入れてません。
// 動作確認お願いします。

import java.io.*;
import java.nio.channels.*;

public class T55_631 {
public static void main(String[] args) throws IOException {
File src = new File(args[0]);
File dst = new File(args[1]);
if (!src.exists()) {
System.out.println("指定されたコピー元ファイル "+src+" がありません");
throw new IOException();
}
if (!src.canRead()) {
System.out.println("指定されたコピー元ファイル "+src+" が読み込めません");
throw new IOException();
}
if (dst.exists()) {
System.out.println("指定されたコピー先ファイル "+dst+" が存在します");
throw new IOException();
}
FileChannel in = new FileInputStream(src).getChannel();
FileChannel out = new FileOutputStream(dst).getChannel();
in.transferTo(0, src.length(), out);
in.close();
out.close();
}
}

634 名前:631 []:2006/03/23(木) 13:22:33
>>632
なるほど、確かにそれならば。流石、視点が違いますね。
では、例えばFileCopyといった感じのメソッドはないのですね・・・

>>633
おぉ、なんだか凄いものができてますね。ちなみに、
import宣言の2行目はどういう意味なのでしょうか?
あと、Fileクラスのとこの変数src、dstは任意のものですか?

635 名前:デフォルトの名無しさん[sage]:2006/03/23(木) 15:40:16
【 課題 】ランダムに数値が格納されているファイルを読み込み、そのデータを並び替え(昇順)を行う。
       並び替えたデータを別のファイルに書き込む。
 *数値例 7989
       98851
       47986
        ・・・
【 期限 】本日中です。申し訳ありません。
【 補足 】並び替え方法は、2種類より選択可能とする。1つはバブルソートで行い、もう一つはバブルソート以外の方法で行う。

よろしくおねがいします。

636 名前:デフォルトの名無しさん[sage]:2006/03/23(木) 18:19:32
【課題】CellCountVisitor.javaに適切なメソッドを入力し、TableTest2.htmlの出力
結果が出るようにせよ
http://read.kir.jp/file/read41186.lzh
【期限】明日のお昼
【補足】Acceptor Visitor Table TableData TableEntry TableTest2 
CellCountVisitorをjavacで実行
TableTestとColorVisitorの自力で出来ましたが
TableTest2の、テーブルのセル数 = 0 これがTableTest2.htmlのようにカウン
トさせて表示させることが出来ません。
よろしくお願いします。



637 名前:デフォルトの名無しさん []:2006/03/23(木) 19:09:47
さあ、はやく回答するがいい!

638 名前:636[sage]:2006/03/23(木) 20:18:19
補足です。
テーブルのセル数は色の着いた部分のみを数えます

639 名前:631 []:2006/03/24(金) 00:18:52
>>633
import宣言の2行目については、先ほど、
version1.4以降の拡張された要件云々であることが一応分かりました。
少しお騒がせしましてすいません。

追加の質問で恐縮なのですが…、文字入力待ちの処理のためのソースは
BufferedReader reader = new BufferedReader(new InputStreamReader(Syatem.in));
を使えばよいと思うのですが、複数行入力できるようにするには
どうすればよいでしょうか?一つのキーとしてループさせればよいかもしれない
というアドバイスは違うところから頂いているのですが、それだとその都度複数行可能かなと
思ってしまいます。
何度もご迷惑をおかけします。申し訳ありません…

640 名前:デフォルトの名無しさん []:2006/03/24(金) 00:19:59
少しは考えろ

641 名前:デフォルトの名無しさん []:2006/03/24(金) 07:30:17
>>639

class SuperReader {

private BufferedReader in;

SuperReader(BufferedReader br) {
this.br = br;
}

String[] readSuper(int n) {
String[] s = new String[n];
for (int i = 0; i < n; i++) {
s[i] = br.readLine();
}
}

}

642 名前:774 []:2006/03/24(金) 07:46:31
【日韓・野球】「ホームラン記録等には八百長疑惑もある王貞治(ワン・ジョンチ)、監督として成功」…韓国紙 ★4 [03/21]
http://news18.2ch.net/test/read.cgi/news4plus/1143149170/

643 名前:デフォルトの名無しさん []:2006/03/24(金) 10:43:14
>>642
スレ違いながら、改めて韓国人への怒りが増した今日この頃であった。。。
韓国人は心底腐ってる

644 名前:636[sage]:2006/03/24(金) 13:27:31
自己解決しました

645 名前:普通に考えるとこうだな[sage]:2006/03/24(金) 19:12:49
高卒は知的障害者 PART 2
http://life7.2ch.net/test/read.cgi/live/1143191543/

646 名前:532 []:2006/03/26(日) 02:36:03
【 課題 】前回の課題>>532 を元に、GUIで同じ結果が得られるプログラムを製作しなさい。
      ただし、以下の条件に当てはまるように製作する事。

      1.最低でもJTextFieldを1つ、JButtonを4つ使用する事。
      2.使用者が文章入力欄を空白のままで、JButtonを押した場合、
       エラーメッセージを表示する事。(ヒント:JOptionPane)
3.終了ボタン(前回のquit)を製作し、それを押すと「お疲れ様でした。」
       と表示されるようにする事。(ヒント:JOptionPane)

【 期限 】3月27日
【 補足 】>>532の説明で、Shiftの所を勘違いしていて、普通よりも1つ多くシフトしていた為、
      前回の課題の解答と出力例の画像を先生に頂いたので、あげておきます。
      課題の解答:ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1710.txt
出力例1:ttp://www.nigauri.sakura.ne.jp/src/up4720.jpg.html
      出力例2:ttp://www.nigauri.sakura.ne.jp/src/up4721.jpg.html

途中までソースは書いた事は書いたのですが、他人のソースを読んでそれを修正する、というのは
一から書くよりもしんどいから辞めた方が良い と他のスレでアドバイスを頂いたので、
丸投げでよろしくお願いします。

647 名前:532 []:2006/03/26(日) 14:19:26
夜中から今までやって、終盤まで組み終わりましたが、
2.をどうしても組むことが出来ません。
先生にメールを送って聞いたところ、エラーメッセージを表示ではなく、
JTextFieldが空欄の状態でボタンを押した時に何も起きなければ良い と言われました。
JTextFieldに何か文字が書かれている時にボタンが押されたら、通常のコンバート処理を行え との事です。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27391

00120: の所に、try-catchの文を挿入してみたのですがどうしても上手くいきません。
それ以外はきちんと動いていると思うのですが、最終的に書きかけのソースを表示してしまい、
申し訳ありません。

648 名前:デフォルトの名無しさん[sage]:2006/03/26(日) 17:00:47
空だったら何もしない、という処理を>>532に追加して、
それをGUIから呼ぶだけだろ?
なにが難しい?


649 名前:532 []:2006/03/26(日) 17:11:31
>>648
空だったら何もしない、という処理の組み方がわからないんです…orz

650 名前:デフォルトの名無しさん[sage]:2006/03/26(日) 17:12:26
文字列変換するオブジェクトを作る→できてる(教員から提示有り)
GUIのオブジェクトを作る→できてる

イベントに応じてGUIオブジェクトが文字列変換オブジェクトを呼ぶ



651 名前:532 []:2006/03/26(日) 17:18:31
>>650
と仰いますと、エラーを検出するコードを書かないで、
このままの状態でも問題ないのでしょうか?

652 名前:デフォルトの名無しさん[sage]:2006/03/26(日) 21:07:59
>>649
考え方のヒントなんだけど、
temp(inputLine1.getText() が返す値)と ""(空白文字列) を equals() で比較してみる
というような分岐処理を入れてみたら、どうなると思う?



653 名前:デフォルトの名無しさん[sage]:2006/03/26(日) 21:19:57
どうでもいいけど、>>646の先生の回答で
各文字列変換メソッドがpublic staticで書かれていてるんだ…

なんかJAVAというよりVBのコード見てるみたい。
変換用のクラス使ってGUIの出力にあわせて継承すればいいのに

654 名前:533[sage]:2006/03/27(月) 01:15:51
前回1回作ってみて、まぁ一度乗りかかった船なので
反省を活かしつつGUI用にちょこっと作り変えてみた。

GUI部分はほぼ532さんのを使用

参考にならなかったらスマソ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1713.zip


655 名前:573 []:2006/03/27(月) 14:29:19
以前お世話になった者です。度々お手数ですが宜しくお願い致します。
【課題】
起動後、入力待ちとなる。複数行入力可能。
画面から1文字 w が入力されると出力先ファイル名(恐らく課題の上では
.txtファイルでいいのではないかと思いますが)を聞くメッセージを表示し、
入力されたファイル名にてファイルに書き出し処理をして終了する。
ただし、以下の条件を満たすように。

ファイル名入力時に未入力でEnterされた場合はファイルに書かず処理を終了する。

入力されたファイル名のファイルが既にある場合、その旨メッセージを表示して
別のファイル名入力を待つ。

【期限】今月中
【補足】これと同じ問題で条件が更に付け加えられたバージョンがあるのですが、
それは今の自分には難しすぎるので、とりあえず上記でお願い致します。
最近卒業式等で落ち着きませんでしたが、自分なりにソース作ってみました。以下に↓


656 名前:573 []:2006/03/27(月) 14:37:46
import java.io.*;
import java.util.*;

public class kadai9 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String line = reader.readLine();
if((line = reader.readLine()).equals("w")) {
break;
System.out.println("ファイル名を入力して下さい");
}
}
String filename = args[0];
try {
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
String line;
while ((line = reader.readLine()) != null) {
writer.println(line);
if("filename".exists()) {
System.out.println("ファイル名:"+filename+"は既に存在します。");
}
}
writer.close();
} catch (IOException e) {
System.out.println(e);
}
}
}

657 名前:573 []:2006/03/27(月) 14:38:33
今の所、21行目で「シンボルを見つけられません」ということで、
「シンボル:メソッドexists()」といったエラーが出ています。
ただ、コレクションがいまいちよく分からないためその箇所に自信がなく、
21のエラーをクリアしたとしても、次はコレクションで引っかかるのでは
という気がしますが・・・
長くなり&読みにくく、ごめんなさい。

658 名前:デフォルトの名無しさん [sage]:2006/03/27(月) 14:48:26
【課題】キーボードから3つの数字を入力し、
整数化して小さい順に表示するプログラム。
【補足】ホントに初歩的なことですいません;一応分かるととこまで
記載します。
public class CondNest {

public static void main(String[] args) {
int x, y, z;

x = Integer.parseInt(args[0]);
y = Integer.parseInt(args[1]);
z = Integer.parseInt(args[2]);


659 名前:デフォルトの名無しさん[sage]:2006/03/27(月) 16:01:01
public class CondNest { 

    public static void main(String[] args) { 
        int x, y, z; 
        
        x = Integer.parseInt(args[0]); 
        y = Integer.parseInt(args[1]); 
        z = Integer.parseInt(args[2]); 
        int []a = new int[]{x,y,z};
        java.util.Arrays.sort(a);
        System.out.println(a[0]+" "+a[1]+" "+a[2]);
    }
}


660 名前:デフォルトの名無しさん[sage]:2006/03/27(月) 16:31:08
>>657
exitsts()ってなんだよ

661 名前:デフォルトの名無しさん[sage]:2006/03/27(月) 16:34:55
イギッツッツ?

662 名前:デフォルトの名無しさん[sage]:2006/03/27(月) 16:58:11
>>656, 657
まず、おかしいのここ。
if("filename".exists()) {

663 名前:662[sage]:2006/03/27(月) 17:02:25
String.exists()
っていうインスタンス・メソッドは無いよ
と言われているのと同じ。

664 名前:658[sage]:2006/03/27(月) 17:42:26
無事実行することできました。
ありがとうございました^^

665 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 00:21:50
>>655-657
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27401

666 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 05:53:06
お前らの学校で使ってるJavaの教科書って何よ?

うちのゼミは、
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797331828/qid=1143492545/sr=8-2/ref=sr_8_xs_ap_i2_xgl14/503-7217263-6442334
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797331836/qid=1143492587/sr=1-3/ref=sr_1_10_3/503-7217263-6442334
ttp://www.amazon.co.jp/exec/obidos/ASIN/477412222X/ref=pd_sim_dp_2/503-7217263-6442334
を使っているよ。

667 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 07:26:31
儲かった?

668 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 11:49:53
二回に分けて投稿します!!
【 課題 】
class A {
protected int x = 0; // x の初期値を 0 とする。

void f(int y) {
x = 2 * y; // y を 2 倍した値を x に代入
}
void g(int z) {
f(z + 1); // z に 1 足した数を引数に渡して f() を呼び出す。
}
}

class B extends A {
void f(int y) {
x = 3 * y; // y を 3 倍した値を x に代入
}
}
―――――――――――――――――――――――――
A a = new A();
B b = new B();

a.g(2);
b.g(2);



669 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 11:50:38
続きです!!

Q1.上のコードを実行した直後、変数 a のインスタンス変数 x の値はいくつになっているでしょうか。また、x がその値になるまでの間、a が参照するインスタンスに対して、どのクラスのどのメソッドが呼び出されたかを順に示してください。

インスタンス変数 x の値: x =
呼び出されるメソッド(呼び出される順に)
1:
2:

Q2.上のコードを実行した直後、変数 b のインスタンス変数 x の値はいくつになっているでしょうか。また、x がその値になるまでの間、b が参照するインスタンスに対して、どのクラスのどのメソッドが呼び出されたかを順に示してください。

インスタンス変数 x の値: x =
呼び出されるメソッド(呼び出される順に)
1:
2:

【 期限 】明日には郵送で贈らなければいけないので早めだと嬉しいです。
【 補足 】丸投げです。まったくわからないので力を貸してください;長くて申し訳ないです;

670 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 13:47:07
すいません。スレ違いなんですけど、
swingでコンポーネントのフォーカスをロストすることができます?

671 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 13:48:48
Q1
x = 6
1: a#g(2)
2: a#f(3)

Q2
x = 9
1: a#g(2)
2: b#f(3)

672 名前:デフォルトの名無しさん []:2006/03/28(火) 13:50:04
>>670
うん
スレ違いだから死んで

673 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 13:51:45
>>670
Java低速GUI Swing 4
http://pc8.2ch.net/test/read.cgi/tech/1140533866/

674 名前:655 []:2006/03/28(火) 13:52:37
みなさん、ありがとうございます。
>>665
どうも、わざわざすいません。ありがとうございます。
分からないところ一部ありますが、参考にさせて頂きます。

675 名前:670[sage]:2006/03/28(火) 13:55:50
自己解決しました。
おまいらほんとに使えませんな(プグラ

676 名前:デフォルトの名無しさん []:2006/03/28(火) 15:47:57
296 名前:670[sage] 投稿日:2006/03/28(火) 13:54:43
自己解決しました。
おまいらほんとに使えませんな(プグラ

297 名前:670[sage] 投稿日:2006/03/28(火) 13:55:18
誤爆スマソ


超絶バカ発見w

677 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 16:27:23
>>671
ありがとうございます!!
本当に早くて嬉しいです!!

678 名前:デフォルトの名無しさん []:2006/03/28(火) 16:56:02
Java低速GUI Swing 4
http://pc8.2ch.net/test/read.cgi/tech/1140533866/296

296 名前:670[sage] 投稿日:2006/03/28(火) 13:54:43
自己解決しました。
おまいらほんとに使えませんな(プグラ

Java低速GUI Swing 4
http://pc8.2ch.net/test/read.cgi/tech/1140533866/297

297 名前:670[sage] 投稿日:2006/03/28(火) 13:55:18
誤爆スマソ

Java低速GUI Swing 4
http://pc8.2ch.net/test/read.cgi/tech/1140533866/298

298 名前:デフォルトの名無しさん[sage] 投稿日:2006/03/28(火) 14:50:42
偉そうな誤爆、か・・・
新機軸だね



ワロ

679 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 17:11:46
>>670はまだいるのかな?

680 名前:デフォルトの名無しさん[sage]:2006/03/28(火) 17:16:17
いますよ〜

681 名前:532[sage]:2006/03/29(水) 14:15:03
>>654
レスが遅れて申し訳ありません。
作って頂いたソースですが大変参考になりました。
533さんのソースを元に、自分で書いたソースに少し味付けし、提出する事が出来ました。
本当にありがとうございました。

682 名前:デフォルトの名無しさん []:2006/03/30(木) 10:31:41
【 課題 】アレイ(並列)のプログラムを組みなさい。

ホテルに泊まっている客の情報を元に、以下の情報を出力せよ。
     
・何人の客が現在泊まっているか。   
・客の平均年齢(doubleを使用して小数点まで求めよ)
・一番年を取っている客の名前と名字
・一番若い客の名前と名字
・18歳以下の客の数 
・55歳以上の客の数
・使用者が入力した文字が名字の頭文字である客の数
(例, aと入力したら akagi, aoki などの名字の人がピックアップされ、それの合計数を出力する。)

<採点条件※これらのメソッドを必ず含ませる事。>

・すべての客の平均年齢を求めるメソッド
・一番年を取っている客の名前と名字を求めるメソッド
・一番若い客の名前と名字を求めるメソッド
・18歳以下の客の数を求めるメソッド
・55歳以上の客の数を求めるメソッド
・使用者が入力した文字が名字の頭文字である客の数を求めるメソッド
・プログラムを走らせた時、客の情報は毎回違う情報にする事。(異なる名前、年、合計宿泊客数など)
・最低でも一人の客はかならず並列リストに含まれている事。
・src.zip(客のリストクラス(Person.java)、並列クラス(A5Arrays.java)、メインクラス(Main.java))をダウンロードし、
 その中に含まれているメインクラス(Main.java)にコースを追加してプログラムを動くようにする事。
 → ttp://n.limber.jp/n/fWC1aihFb パスは java です。
      
【 期限 】3月31日

丸投げですが、よろしくお願いします。

683 名前:デフォルトの名無しさん []:2006/03/30(木) 15:48:12
【 課題 】
複数のインターフェースを宣言し、それらを様々なクラスに実装する次のようなアプリケーションを作成せよ。
まず、インターフェースAntiLockBrakes、CruiseControl、PowerSteeringで、自動車のオプション機能を宣言する。
各インターフェースにはインターフェースと同じ名前のメソッドを1つだけ宣言する。
Model1、Model2、Model3クラスは、抽象クラスAutoを拡張する。
Model1オブジェクトでは、パワーステアリングを使用できる。
Model2オブジェクトではABSとクルーズコントロールを使用できる。
これらのクラスをインスタンス化し、メソッドの動作をテストせよ。

【 期限 】3月31日まで

長い上に丸投げで期限も短くて申し訳ありませんが、皆さんのお力を是非お貸しください。

684 名前:デフォルトの名無しさん[sage]:2006/03/30(木) 16:40:17
>>682
鉄アレイのプログラムかと思った。
並列? それはシリアルと呼ぶのではないか?
アレイといったら配列のことだと思うのだが。

685 名前:デフォルトの名無しさん[sage]:2006/03/30(木) 16:42:37
>>682
簡単じゃねえか。Personクラスにそれぞれ必要な情報とgetter/setterメソッド追加して
ホテルに相当するクラスに何人止まっているかをPerson[]で調べる。
Person[]よりもList<Person>のほうがええかな。

686 名前:デフォルトの名無しさん []:2006/03/30(木) 16:44:41
>>683
> 【 課題 】
> 複数のインターフェースを宣言し、それらを様々なクラスに実装する次のようなアプリケーションを作成せよ。
> まず、インターフェースAntiLockBrakes、CruiseControl、PowerSteeringで、自動車のオプション機能を宣言する。

なんか凄い見覚えがあるな。富士ソフトABCの研修課題か?
そのネタ実は、「独習Java」にすべての答えが載っているぞ。
簡単だからやってみ。
あの会社は研修に毎年「独習Java」を使っているらしいからな。

富士ソフトABCに入社するなんてご愁傷様だが。


687 名前:デフォルトの名無しさん []:2006/03/30(木) 17:05:50
>>684
よく問題を読んだら配列でしたorz

>>685
というと、どんな風に組めば良いのでしょうか?

688 名前:デフォルトの名無しさん[sage]:2006/03/30(木) 17:56:22
>>683
ttp://www.google.com/search?hl=ja&lr=lang_ja&ie=SJIS&oe=SJIS&num=100&q=AntiLockBrakes+CruiseControl+PowerSteering

689 名前:デフォルトの名無しさん[sage]:2006/03/30(木) 18:20:07
あべし入社カワイソス

690 名前:683 []:2006/03/30(木) 18:54:45
>>686
いや、違いますけど、そんな有名な問題なんですかね?
しかし、教えてくださってありがとうございます。

>>688
vぬをんヴおwんじsbjh
マジリスペクトです。ありがとうございます。


みなさん親切ですね。
ホントピンチだったので、助かりました。
お世話になりました。

691 名前:682[sage]:2006/03/30(木) 18:56:03
自己解決しました。

692 名前:655 []:2006/03/30(木) 19:48:47
No.655と同じ課題についてですが、エラー続きで困っています。
”エラー続き”といっても、ようやく、あと一つか二つと思っていたのです。
しかし新たに(下のソースの)下の辺りののexists()メソッドの箇所の
変数についてエラーが出てしまいました。

講師への質問で昼過ぎに返答が来て「色々と問題箇所があるので時間がありません。
ファイルを添付するので参考にして下さい」といった思いもしない感じの返事が来ました。
課題欄に事情を連ねるのもなんですが、時間ないといっても、下のソースと大体同じものを
3,4日程前に別の質問の為に添付しており(勿論”エラー続き”のように、手直しを継続中なので
部分的には都度違いますが)、講師の人は既に知っていたはずなので、もし全体的に修正の必要ありなら
その時点で指摘して欲しかったという状況です。
【期限】
今月中(でも1日までなら大丈夫です)。技術研修はまだ始まらないので幾分か猶予がありますが、
式&初期研修の関係で地方に遠征するので、そもそもネットに接続可な環境あるかという
不安材料あり。
【補足】
もしかしたら全体的に変えなければならないのか否か自分には分かりませんが、
何とか今のものを手直しする形で完成できればと思う次第です。
No.655と同じ内容で別問題として、入力行数&各行文字数を任意に設定して
その制限を超えた場合にメッセージ表示と共にその文削除する問題があります。
それに関して参考になる書籍やサイト等、もしご存知な場合も宜しくお願い
できないでしょうか。

693 名前:655 []:2006/03/30(木) 19:53:32
import java.io.*;
import java.util.*;
import java.io.File;

public class ShortEditor {
public static void main(String[] args) {
ArrayList list = new ArrayList();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while (true) {
line = reader.readLine();
if(line.equals("w")) {
break;
}
list.add(line);
}
改行エラーが出たので2つに分けさせて頂きます。
見にくくなり申し訳ありません。

694 名前:655 []:2006/03/30(木) 19:54:50
String filename = args[0];
try {
File file = new File(filename);
while (true) {
System.out.println("ファイル名を入力して下さい");
filename = reader.readLine();
if (filename.equals("")) {
return;
}
}
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
while ((line = reader.readLine()) != null) {
writer.println(line);
}
writer.close();
} catch (IOException e) {
if (file.exists()) {
System.out.println(filename + "は既に存在します。");
}
}
}
}
何分お手数をおかけしますが、宜しくお願い申します。

695 名前:デフォルトの名無しさん[sage]:2006/03/30(木) 20:32:15
>>694
>>665のじゃ仕様を満たしてないのか?

696 名前:682 []:2006/03/31(金) 00:32:51
>>691
誰ですか…。自己解決していません…orz

697 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 03:27:44
>>693
なんだこのヒドいソースは・・・

698 名前:682 []:2006/03/31(金) 08:22:46
>>685さんのアドバイスを元に組んでみたのですが、うまく動きません…。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27415
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27414

何がいけないのでしょうか?

699 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 09:59:13
>>698
>メインクラス(Main.java)にコース (??) を追加してプログラムを動くように

なんでPersonをいじってるんだ。 触る必要は皆無。 むしろ触るな。
平均年齢とかの情報を個人に持たせてどうする。 どんなPersonだそりゃ。

「必ず含ませる事」になってる最低7個のメソッドをMainに書くだけだ。
平均年齢ならこんな幹事
public int getAverage(Person[] persons) {
 int total = 0;
 for (int i=0; i < persons.length; i++) {
  total += persons[i].getAge();
 }
 return total / persons.length;
}

700 名前:699[sage]:2006/03/31(金) 10:01:28
あー平均年齢ってdouble出せっての忘れてた。 まあ雰囲気を判れ

701 名前:682 []:2006/03/31(金) 10:35:17
>>700
レスありがとうございます。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27416

のように書いてみました。名字と名前を求める時はどのようにすれば良いのでしょうか?
また、return で結果を出力するにはどうすれば良いのでしょうか?

初心者で申し訳ありませんorz

702 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 11:00:46
>>691
どうせならどう事故解決できたのかかけばいいのに

703 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 11:44:14
>>702
>>696見ろよ

704 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 13:03:15
>>701
Personクラスを見てみな。 コンストラクタで lastName firstName age を渡してるだろ。
取り出すのは、getLast() getFirst() でいける。

返り血を出力するには
System.out.println("Avarage age is " + myPeople.aAge); とかを
System.out.println("Avarage age is " + getAverage(myPeople));
にすりゃいいんだよ。


705 名前:655 []:2006/03/31(金) 13:22:32
>>697
では、最初から、一から書き直したほうがよいですか?
どうでしょうか?

706 名前:682 []:2006/03/31(金) 13:44:07
>>704
ありがとうございます。出力は出来ました。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27418

しかし、

・一番年を取っている客の名前と名字
・一番若い客の名前と名字
・18歳以下の客の数 
・55歳以上の客の数
・使用者が入力した文字が名字の頭文字である客の数

の部分がまったく動きません…orz

707 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 13:52:49
>>705
Java始めたばっかりだから間違ってたら許してくれ(697じゃない)
>>693
1行目にimport java.io.*;って書いてるから3行目のimport java.io.File;っていらないと思うんだが。
>>694
1行目のString filename = args[0];は何を意味してるの?ファイル名与えて実行すんの?
それでファイル名取得してもあとで「ファイル名を入力してください」ってあるから意味なくね?

講師が「色々と問題箇所があるので時間がありません。」といったのはそのへんだと思うよ
あと「ファイルを添付するので参考にして下さい」ってあるけど見てみたの?

708 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 14:24:09
>>706
そりゃ動かねーよ。 そういうふうに条件判断するように書かなきゃ。
まだ実装途中なのかと思った。
考え方のサンプルとしてこんな幹事

public static int getOldestAge(Person[] myPeople) {
 int oldestAge = -1; // 有り得ない最低値をセットしといて
 for (int i=0; i <myPeople.length; i++){
  int age = myPeople[i].getAge(); // いらんけど見やすくなるので今回だけ
  if (age > oldestAge) {
    // Personの年齢がoldestより多ければoldestをその年齢で更新
    oldestAge = age;
  }
 }
 return oldestAge;
}

入力関係はまずはググれ。いくらでも出てくる。

709 名前:708[sage]:2006/03/31(金) 14:33:06
・・・って最小/最大の年齢じゃなくて、その氏名がほしいのか。 面倒な。
Comparatorでソートしちゃえば早いんだけど、しょーがねーから書いてみる。
さっきのメソッドで拾った年齢のPersonを、配列から探し出して返す。
いなけりゃnullだ。 同じ配列を渡せば通常は居ないはずはないが、一応nullチェックはするように。

public static final Person getPersonByAge(Person[] persons, int age) {
 for (int i=0; i < persons.length; i++) {
  if (persons[i].getAge() == age) {
   return persons[i];
  }
 }
 return null;
}
で、こっから帰ってきたPersonから getLast() getFirst() で氏名を取得しろ。

710 名前:708[sage]:2006/03/31(金) 14:36:23
>>708を書き直したほうが早かったかも orz
まーいいや

711 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 14:48:05
文句をだらだら言いながらもきちんとソースを書いてやってる>>708に愛を感じる。

712 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 14:52:52
なんでfinal宣言してんの?

713 名前:708[sage]:2006/03/31(金) 15:06:18
>なんでfinal
クセ。 つかstaticメソッドを継承することって有り得ないでしょ?

714 名前:デフォルトの名無しさん[sage]:2006/03/31(金) 15:21:46
>つかstaticメソッドを継承することって有り得ないでしょ?
継承されるぞ。
絶対変更されるわけには行かないという
変数・メソッド以外はfinal宣言は避けるべき。

715 名前:708[sage]:2006/03/31(金) 15:31:35
>>714
継承じゃなくてオーバーライドだった or2 =3
で、そうだね、その通りだと思う。 俺もstatic以外でのfinal宣言には気を使ってる。
effective java でもそんな事書いてあった希ガス。
個人的にはstaticをfinal宣言しないのは気持ち悪いけど・・・ クセだから直そう。
スレ違い失礼


716 名前:デフォルトの名無しさん []:2006/03/31(金) 22:08:02
今、7つのブルーの丸がランダムに散らばるJavaを書いていて、
ここから、大きさもランダムで、色もスクリーンの幅で変わるような
プログラムを書かなくちゃいけないのですが、さっぱりわかりません。。。
あと7つの丸は全部、スクリーンの1辺でもいいので当たらなければなりません。
ちょっと説明不足かもしれないんですけど、だれか教えてくれるかた居ますでしょうか?
ifとかelse ifとか難しいよぉ。。。

717 名前:デフォルトの名無しさん []:2006/03/31(金) 22:25:19
>>1を嫁

718 名前:デフォルトの名無しさん []:2006/03/31(金) 22:43:28
まったくだ!プンプン

719 名前:682 []:2006/03/32(土) 13:26:06
>>708
色々やったのですが、どうしても上手くいきません…。
点数は引かれてしまうのですが、提出日を月曜日にしてもらいました。
自分で組んでみたのですが、Oldest age は常に101のままで、
名前も[La5.Person;@1add2ddと表示されるだけです。

720 名前:682 []:2006/03/32(土) 16:26:37
今現在、こんな感じです。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27432

721 名前:デフォルトの名無しさん[sage]:2006/03/32(土) 16:33:49
>>708
もう答え全部書いてやれよ、、、
かなりの初心者だぞ>682
getLast() getFirst() で氏名を取得 を違うクラスから取得してやがる

722 名前:デフォルトの名無しさん[sage]:2006/03/32(土) 17:11:09
今って学生は春休みじゃないの?
宿題ってもしかして会社の研修課題?なんか怖いな

723 名前:682 []:2006/03/32(土) 17:27:21
>>721
orz

>>722
大学のゼミの課題です。春休み関係なくやっています。

724 名前:デフォルトの名無しさん []:2006/03/32(土) 17:44:38
そもそも何でMainクラスのメソッドが全部クラスメソッドなんだ?

725 名前:682 []:2006/03/32(土) 17:52:03
>>724
???どういう意味でしょうか?

726 名前:デフォルトの名無しさん []:2006/03/32(土) 19:40:09
>>725
724では無いが、あなたのソースは手続き志向プログラミングだよ ってこと
オブジェクト指向プログラミングを少しは勉強したらどうかと。

727 名前:デフォルトの名無しさん []:2006/03/32(土) 19:40:40
実は、たったの24時間で、
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
あなたの今後のネット収益を倍増するスキルがあります。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
それを知りたい方は、他にいませんか?

アフィリエイトを使わずにホームページとEメールだけで3,000万以上稼いだ
インターネット・マーケッターの宮川さんが、

巨大な現金の山を作り出す門外不出の一生涯使えるノウハウを
下記のサイトで公開しています。

その内容をお知りになりたい方は、下記をクリックしてください。

【たったの24時間で あなたの今後のネット収益を倍増するスキルとは? 】
http://infostore.jp/dp.do?af=moneyclick&ip=successpreneur&pd=01


728 名前:682 []:2006/03/32(土) 20:35:45
>>726
オブジェクト指向は、全機能は言語の仕様として備わっているから、
後は命令文だけ書けば良い といった感じで認識しているのですが、
こんな感じで良いのでしょうか?
例えば、ラジオの作り方は知らないけどラジオの操作方法は知っているから、
スイッチをつける、消す、ボリュームをあげる、下げる等々の操作は可能。

プログラムの方は、
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27433

まで書いて、

Total guests are 196
Avarage age is 49.392857142857146
Oldest guest name is Nathan Spencer and this guest age is 98
Youngest guest name is Ryan Quaid and this guest age is 14
Minor(Under 18) guests have 14
Senior(Over 55) guests have 98
Typed initial people have

といった感じで出力されるようになりましたが、18歳以下の人数、55歳以上の人数、
入力したアルファベットが頭文字の人の人数はどのように求めたら良いのでしょうか?


729 名前:デフォルトの名無しさん []:2006/03/32(土) 20:59:37
>>728
それ先生に教わったのか?
だったらその先生に馬鹿って言っておいて

730 名前:デフォルトの名無しさん []:2006/03/32(土) 21:04:54
>>728
Java以前だな

現実世界で
ある部屋に見知らぬ人間達と一緒に居てその中の人間の18歳以下の人数,55歳以上の人数
任意の頭文字を持つ人の人数を調べる時はお前はどうするよ?

731 名前:デフォルトの名無しさん[sage]:2006/03/32(土) 21:14:28
先生がCしかやったことないんじゃないかな

732 名前:デフォルトの名無しさん []:2006/03/32(土) 21:41:30
使う側のオブジェクト指向としてはあってる気がするけど、
作る側としての考え方が欠如しとる気がする。

733 名前:682 []:2006/03/32(土) 22:02:03
>>729
オブジェクト指向は習っていません。
いきなりJavaの基本から習い始めました。

>>730
現実世界でなら、直接聞くと思います。

734 名前:デフォルトの名無しさん []:2006/03/32(土) 22:11:19
>>682
オブジェクト指向のカプセル化としての考え方はそれでいいけど
他にも色々あるでしょ。継承やら多態性やら。

JAVAを学習していくなら、例え話のラジオを作る側にならなくちゃ
別にツールとして使用するだけの話ならAPI使えれば十分かも知れないが

735 名前:デフォルトの名無しさん[sage]:2006/03/32(土) 22:11:55
Javaの世界でも直接聞けばいいじゃん

736 名前:682 []:2006/03/32(土) 22:22:10
>>734
というと、オブジェクト指向をきちんと学ばないと、
Javaは完璧にマスター出来ないという事でしょうか?

>>735
言うなれば、日本語で聞くか、Java言語で聞くかとの違いですよね。
例えば、18歳以下を聞くメソッドですが、

public static int getMinor(Person[] myPeople) {
int minorTotal = 0;
for (int i = 0; i < myPeople.length; i++) {
if (myPeople[i].getAge() < 18) {
minorTotal = myPeople[i].getAge();

}
}
return minorTotal;
}

とあり、最初の変数(トータル人数用)は0に設定しておいて、
次のループ等で18歳以下の人を探したのですが、
minorTotal = myPeople[i].getAge(); のままでは、一番若い客の年齢を求めるのと変わりません。
Javaから現実世界にスイッチしますが、若い客の年齢を求めた後は、それを数えるだけですよね。
Javaに戻って、この場合、もう一度for文を持ってきて数えた結果を出力すれば良いのでしょうか?

737 名前:デフォルトの名無しさん[sage]:2006/03/32(土) 22:37:40
>>736
そのコードしか見てないけど、こんな感じじゃ駄目なのかな?

for (int i = 0; i < myPeople.length; i++) {
if (myPeople[i].getAge() <= 18) { //18歳以下だから18を含める
++minorTotal; //18歳以下でif文を通過したので、人数を一人増やす
}

738 名前:734 []:2006/03/32(土) 22:56:10
>>682
「JAVAを完璧にマスターする」というのであれば
オブジェクト指向を学ぶことは避けて通れない道でしょう。
ゴリゴリ手続き指向でも書けなくはないけど
結果的にJAVAを使うメリットが少なくなるかと。

勉強すると目からウロコがあるかもよ

739 名前:デフォルトの名無しさん[sage]:2006/03/32(土) 23:23:15
>682
やってみた。
ttp://www.wikiroom.com/java/index.php?SourcePost_____#sd0e1d21

>all
空気読めなくてスマソ。

740 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 00:05:52
staticメソッドはオーバーライドされないよ
継承関係がFoo extends Booでstaticメソッドが次のような定義なら
Foo.bar(){Aと出力}
Boo.bar(){Bと出力}

Foo.bar();はAと出力されるし
Boo.bar();はBと出力される
また、
Foo hoge = new Boo();
hoge.bar();はAと出力される

741 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 00:11:44
間違えた
Boo extends Foo
これだ

742 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 00:29:01
739ですでに解決済みかも知れないけど
とりあえず作ってみた。

staticメソッドゴリゴリなのが気になったから結局書き換えちゃったyp
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1716.zip


743 名前:682 []:2006/04/02(日) 05:40:23
>>737
自分のコードに加えてみます。

>>738
オブジェクト指向を学ぶには、書籍を購入した方が良いのでしょうか?
学校のゼミでは、先生がプリントしてきたJavaの基礎のようなシートで勉強しています。


>>739
ありがとうございます。
ソースをコピーしてコンパイルしてみたのですが、
"Main.java": 総称型は -source 1.2 でサポートされていません (総称型を使用可能にするには、-source 1.5 を試してください) at line 87, column 21
と出てしまいます。何がいけないのでしょうか?ちなみに、コンパイラはJBuilder 2005の無料版を使用しています。

>>739
ありがとうございます。
こちらも、"Main.java": 総称型は -source 1.2 でサポートされていません (総称型を使用可能にするには、-source 1.5 を試してください)
と表示されてエラーがおきてしまいますorz

744 名前:682 []:2006/04/02(日) 05:49:15
ArrayList<Person> result = new ArrayList<Person>();

を、JBuilder 2005がサポートしていないのでしょうか?

745 名前:739[sage]:2006/04/02(日) 07:51:15
>682にバージョンに付いて何も書いてないのが悪い。
テンプレにバージョンがある理由が分かった?

ちなみにJBuilder 2005はコンパイラとは言わない。IDE。
とりあえずメッセージで言われたことをやってくれ。
意味が分からなかったら調べる。調べ方分からなかったらIDE使うな。

746 名前:682 []:2006/04/02(日) 09:10:10
>>745
調べて見たら、JBuilderではなくてJava自体にバージョンがあるんですね。
739さんの組んだコードはバージョン1.5で動くようになっているんですか?
また、このコードをバージョン1.4で動くようにするにはどうすれば良いのでしょうか?
ここ数日の間、質問ばかりで申し訳ありません・・・。

747 名前:682 []:2006/04/02(日) 14:37:31
>>745
Javaのバージョンを1.5にしたら動きました。

なので先生に電話をして、バージョン1.5でも良いか?と訪ねたら、
1.4でないと駄目だと言われてしまいましたorz

748 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 15:03:36
学生が「1.5にしてもいいか?」と聞いてきたら
先生はピンと来るね「1.5用のコードもらったんだろうな」って。

バレてるよ

749 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 15:39:56
javascript:(function(){var messageTextArea = document.getElementsByTagName(
'textarea')[0]; var sp = '&' + 'nbsp;'; var tab = sp + sp + sp + sp;
var original = messageTextArea.value; var replaced = original.replace(
/^[ \t]+/mg, function(matchstr){return matchstr.replace(/\t/g, tab).replace(
/\s/g, sp);}); messageTextArea.value = replaced; if (confirm(
'Post OK?\n\n\n(Original)\n' + original + '\n\n(Replaced)\n' + replaced)) {
document.forms[0].submit.click(); }})();

750 名前:742[sage]:2006/04/02(日) 16:02:52
>>682
742のソースは1.4のコンパイラで動くよ。
あなたのコードとはかなり違うけど

751 名前:o(^-^)o[( -_-)]:2006/04/02(日) 16:18:15
このスレ観てる先生へ
宿題はこのスレに投下するのが手っ取り早いよ

752 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 16:25:02
先生が投下すんのかよ

753 名前:682 []:2006/04/02(日) 16:43:14
>>748
え、そんなもんなんですか・・・(((( ;゚Д゚))))

>>750
ありがとうございます。
739さん、742さんは数十分でこのコードを書いたみたいですが、
いったいどういう勉強・練習をすればこんな風にJavaを扱えるようになるのでしょうか?
僕は去年の9月から、ゼミの先生にこれからやるならJavaが良いと言われてやり始めたのですが、
コンピュータも大学に入るまでは、インターネットをする程度でゼミの授業の最初の頃は用語が全然分からなくて、
とりあえずコンピュータに慣れろ、と先生に言われてここ1年は週刊アスキーを購読しています。

754 名前:682 []:2006/04/02(日) 16:44:26
これからやるなら=これからプログラミングを勉強するなら

755 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 17:14:39
>>753
せっかく高い授業料払って大学に行っているのだから、
大学の教授にも聞いといたほうがいいんでないかい?

756 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 17:19:00
授業料をまだ一回も払ってない漏れは誰に聞けばよかですか?

757 名前:IE6でも動くようになりました[sage]:2006/04/02(日) 17:22:58
javascript:(function(){var messageTextArea=document.getElementsByTagName(
'textarea')[0];var sp='&'+'nbsp;';var tab=sp+sp+sp+sp;var original=
messageTextArea.value;var replaced=original.replace(/^[ \t]+/mg,function(
matchstr){return matchstr.replace(/\t/g,tab).replace(/ /g,sp);});
messageTextArea.value=replaced;if(confirm('Post OK?\n\n\n(Original)\n'+original
+'\n\n(Replaced)\n'+replaced)){document.forms[0].submit.click();}})();


758 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 17:55:51
javascriptはスレ違いっていってるだろ

759 名前:デフォルトの名無しさん[sage]:2006/04/02(日) 18:25:50
あ〜ぁ、やっちゃった(笑

760 名前:デフォルトの名無しさん []:2006/04/02(日) 23:25:42
>>682
http://read.kir.jp/file/read42414.zip

761 名前:デフォルトの名無しさん []:2006/04/03(月) 01:06:04
注意点:
•更新通知付きの MVC を使用しています。
•char は文字を表す型です。
•図におけるクラスの配置位置や順序はテキストで使った図とは異なります。
•キーコードはキーボードのキーの位置を表す整数値です。38 は 'a' のキーを表します。

テキストエディタの機能
•文書に文字を入力・削除できます。
•表示エリアをマウスでクリックしてカーソルを移動できます。
•複数の表示エリアに同じ文書を表示できます。
クラス図
次の図はテキストエディタで使用するクラスの構造をあらわしています。
ttp://up.87op.com/getfile.php?fid=21885&iid=4&DL=UK
各クラスの説明は次の通りです。
TextArea
テキストデータを表示します。
•getCharPosition(x, y) は、座標 (x, y) にテキストの何番目の文字が表示されているかを返します。
•setCursor(pos) は、テキストの pos 番目の文字の手前にカーソルを表示します。
InputManager
キーとマウスの入力を処理します。
•cursor は、テキストの何番目の文字の手前にカーソルがあるかを記憶しています。マウスでカーソルを移動した時に設定されます。
•keyTyped(keyCode) は、キーが押されると OS から呼び出されるメソッドです。keyCode には押されたキーに対応するキーコードが渡されます。
•mouseClicked(x, y) は、マウスがクリックされた時に OS から呼び出されるメソッドです。x, y にはクリックされた時のマウスカーソルの座標位置が渡されます。


762 名前:デフォルトの名無しさん []:2006/04/03(月) 01:06:57
Text
テキストデータを管理します。
•insertCharAt(pos, c) は、テキストの pos 番目の文字の手前に文字 c を挿入します。
•deleteCharAt(pos, c) は、テキストの pos 番目の文字を削除します。
•getText() は、テキストを文字列の形で返します。
TextChangeSpeaker
TextChangeListener を管理します。
•addListener(listener) は、listener を登録します。
•removeListener(listener) は、listener の登録を削除します。
•fireTextChanged() は、登録された TextChangeListener の textChanged() を呼び出します。
TextChangeListener
テキストの変更の通知を受け取ります。
•textChanged() は、テキストが変更されたときに呼び出されます。
シーケンス図
次の図は表示エリアに "Jva" が表示されている時に、マウスで2文字目の位置(座標は (34, 5))をクリックしてカーソルを移動し、
その位置で「a」のキー(キーコードは38)を押して文字 'a' を入力して、表示エリアに "Java" が表示されるまでの時の処理の流れをあらわしています。
ttp://up.87op.com/getfile.php?fid=21886&iid=4&DL=UK



763 名前:デフォルトの名無しさん []:2006/04/03(月) 01:07:42
Q1.テキストエディタのクラスで、MVC のモデル、ビュー、コントローラに対応する具体的なクラスはどれでしょう? それぞれ一つずつ答えてください。
モデル:
ビュー:
コントローラ:

Q2. InputManager の mouseClicked() メソッドの実装を Java で記述してください。
TextArea のインスタンスは InputManager のインスタンス変数 textArea で参照できるものとします。
textArea にはあらかじめ適切なインスタンスが代入済みであるとします。
public void mouseClicked(int x, int y) {
/* この下にコードを書きます */

}
Q3. 上の説明にはテキストをどのメソッドで表示するか記述がありません。表示処理のコードを記述する (具体的な表示処理を行う) のにもっとも適切なメソッドはどれでしょう。どのクラスのどのメソッドという形で答えてください。


丸投げです。すみません;
どなたか助けてください・・・;

764 名前:デフォルトの名無しさん[age]:2006/04/03(月) 02:40:33
分割します!
@のアプリケーション DrawingApp の描画メソッドはポリモーフィズムを利用して図形クラスの追加に対して変更が必要ない構造になっています。
図形クラスのインスタンスを生成するコードについてもアプリケーションコードの変更が必要ない構造にするために、Lesson 1 で学習したファクトリークラスを利用することを考えます。
次のソースコードを見て設問に答えてください。

class DrawingApp {
/* 図形の配列 */
Shape[] shapes = new Shape[10];

/* 指定した名前に対応する図形を指定位置の配列要素に設定する。 */
public void setShape(String name, int index) {
shapes[index] = [ 空欄1 ];
}

/* 描画領域に図形を表示するメソッド */
public void paint(Graphics g) {
for (int i=0; i < 10; i++) {
shapes[i].draw(g);
}
}
}



765 名前:デフォルトの名無しさん[age]:2006/04/03(月) 02:41:06
class ShapeFactory {

/* 名前に対応する図形クラスのインスタンスを返す。 */
static Shape create(String name) {
if (name.equals("rectangle")) {
return new Rectangle();
} else if ([空欄2]) {
[空欄3];
} else {
// 知らない名前の図形に対しては null を返す。
return null;
}
}

}

@
class ButtonFactory {
static Button create() {
return new Button();
}
}

○ソースコードの [空欄1] に当てはまるコードを答えてください。
○ShapeFactory は引数に渡した文字列が "circle" の時、Circle クラスのインスタンスを返すものとします。ソースコードの [空欄2] と [空欄3] にあてはまるコードを答えてください。
空欄2 :
空欄3 :
丸投げします。
大学のゼミの課題です。期限はできるだけ早いと嬉しいです。
どうぞよろしくお願いします

766 名前:デフォルトの名無しさん []:2006/04/03(月) 04:34:37
( ゚Д゚)ネムヒー
>>764
1. ShapeFactory.create(name)
2. name.equals("circle")
3. return new Circle()

767 名前:デフォルトの名無しさん []:2006/04/03(月) 04:51:55
(n `д‘)ηマダネムイワァ
>>761

Q1.
モデル: Text
ビュー:TextChangeListener
コントローラ:InputManager

Q2.
textArea.setCursor(getCharPosition(x, y));

Q3.
TextChangedListener#textChanged()

768 名前:デフォルトの名無しさん []:2006/04/03(月) 04:54:28
まちがいた
Q2.
textArea.setCursor(textArea.getCharPosition(x, y));


769 名前:682 []:2006/04/03(月) 05:21:19
>>755
訪ねても、自分で調べろ。俺が学生の時は全部自分で調べたと、
課題をやりながらプログラムは覚えていく というタイプの先生で、
自転車の練習じゃないんだから… と毎回思います。

とりあえず、742さんから頂いたソースを元に書き換えて提出する予定です。
本当にありがとうございました。

>>760


770 名前:デフォルトの名無しさん[age]:2006/04/03(月) 07:11:10
>>766
ありがとうございます!!
助かりました!!

771 名前:デフォルトの名無しさん[sage]:2006/04/03(月) 09:17:58
>>758
Bookmarkletじゃないの


772 名前:デフォルトの名無しさん[sage]:2006/04/03(月) 14:27:01
swingにて計算機を作成しなさい。
@足し算・引き算・掛け算・割り算ができる。
A桁数は10桁まで。(それ以上だったら警告)

JDKのバージョンは問わず

773 名前:デフォルトの名無しさん[sage]:2006/04/03(月) 14:41:20
ここの下のほうの電卓を参考にしとけ (コピれ)
ttp://jubilo.cis.ibaraki.ac.jp/~isemba/PROGRAM/JAVA/java.shtml

774 名前:デフォルトの名無しさん []:2006/04/03(月) 17:14:51
テンプレ読めない阿呆は質問するなよ

775 名前:デフォルトの名無しさん []:2006/04/05(水) 00:00:09
めちゃめちゃ初心者の質問ですいません。独習Javaで勉強してるんですが
以下のStringToIntの例を,perseInt()メソッドを使う形に書き換えなさいという
問題です。馬鹿みたいな問題なんだと思いますが、どなたか教えてください。

class StringToInt {
public static void main(String args[]) {
String s = "234";
int i = Integer.valueOf(s).intValue();
System.out.println("Integer.valueOf(s).intValue()" + i);
}
}

776 名前:デフォルトの名無しさん[sage]:2006/04/05(水) 00:08:26
>>775
perseIntで間違いないか?

777 名前:デフォルトの名無しさん[sage]:2006/04/05(水) 00:29:33
独習Javaに解答付いてないのか

778 名前:775 []:2006/04/05(水) 00:30:01
>>776さん
parseInt()の間違いでした

779 名前:デフォルトの名無しさん[sage]:2006/04/05(水) 00:39:16
class StringToInt {
public static void main(String args[]) {
String s = "234";
int i = Integer.parseInt(s);
System.out.println("Integer.parseInt(s)" + i);
}
}

780 名前:775[sage]:2006/04/05(水) 00:58:40
>>779さん
ありがとうございました
助かりました。

781 名前:デフォルトの名無しさん []:2006/04/05(水) 12:58:32
>>775
二度と来るなよ

782 名前:デフォルトの名無しさん []:2006/04/05(水) 23:28:10
それなんて独習できない本?

783 名前:デフォルトの名無しさん[sage]:2006/04/06(木) 00:37:26
独習Javaがウンコってことがよく分かった

784 名前:775[sage]:2006/04/06(木) 04:29:31
また来ました
c言語学んでc++言語を勉強しようと思ったけど
class,メソッド,カプセル化,継承,オーバーロード等を学ぶのに
メモリ関係をある程度まかせられるGCなjavaでと
思い勉強中で、ちなみに独習Javaはそうウンコでは
無いと思う。俺が質問した内容と知識がウンコだっただけです。

785 名前:デフォルトの名無しさん []:2006/04/06(木) 08:25:57
どう考えてもウンコだ
一人のウンコな馬鹿の役にもたたないんだから

786 名前:デフォルトの名無しさん[sage]:2006/04/06(木) 08:40:12
糞の役にも立たないとはまさにこのこと

787 名前:デフォルトの名無しさん[sage]:2006/04/06(木) 09:41:57
まずはメソッドの命名規約から勉強してこい

788 名前:788[sage]:2006/04/07(金) 22:47:08
//java que10
//九九の演算処理を行ってください。
//九九の処理結果
//1から9までの好きな数値を入力してください。
//[入力1から9]
//cace1:[入力数値]の2倍を取得する。
//case2:1〜9っていいましたよね? 最初からやり直しです。
//上記で取得した処理結果に1から[入力数値]番目までを掛ける。

お願いします。。。。。。

789 名前:デフォルトの名無しさん[sage]:2006/04/07(金) 22:56:49
母国語でおk

790 名前:788[sage]:2006/04/07(金) 23:19:48
//1
public class hogehoge{
public static void main(String[] args){
hoge();
}
public static void hoge(){
for(int x=1;x<=9;x++)
{
for(int y=1;y<=9;y++)
{
System.out.print(x*y+" ");
}
System.out.println("");
}
}
}
System.out.println(g);
System.out.println(b);
}
public static int sum(int k)
{
k=k*2;
return k;
}
public static int sum2(int k1)
{
k1=k1*k1;
return k1;
}
}


791 名前:788[sage]:2006/04/07(金) 23:20:22
//9

import java.io.*
public class nibai
{
public static void main(String[] args) throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String s1=br.readLine();
String s2=br.readLine();
int i1=Integer.parseInt(s1);
int i2=Integer.parseInt(s2);

int g,b;
g=sum(i1);
b=sum2(i2);

792 名前:788[sage]:2006/04/07(金) 23:21:37
//3
//前に作成した二つのクラスの処理を呼び出し、九九の計算を出力した後、それらに入力した数値を1〜[1〜9までの入力]を掛ける処理をおこなえ。
//尚、それ以外の数値が入力されたときはエラーとし、処理を終了させる。(new で生成)

//九九の演算処理を行ってください。
//九九の処理結果
//1から9までの好きな数値を入力してください。
//[入力1から9]
//cace1:[入力数値]の2倍を取得する。
//case2:1〜9っていいましたよね? 最初からやり直しです。
//上記で取得した処理結果に1から[入力数値]番目までを掛ける。



793 名前:デフォルトの名無しさん []:2006/04/07(金) 23:54:34
ボタンの上の文字を上下反転させなさい

794 名前:デフォルトの名無しさん []:2006/04/08(土) 03:17:39
あげ

795 名前:デフォルトの名無しさん[sage]:2006/04/08(土) 10:29:19
>788,790-792
>793
何をしてほしいのかさっぱり分からん。
>1嫁。

796 名前:デフォルトの名無しさん[sage]:2006/04/08(土) 19:06:55
788はmixiJavaコミュで質問してコメントなしの放置で
こっちで質問ですか
なによりもまずインデントとることから始めろ
>>1嫁以前の問題だろ

797 名前:デフォルトの名無しさん[sage]:2006/04/08(土) 21:36:38
>>788
なぁ、お前さんよ
最初にこの質問をmixiに持ってきて、「お願いします!」と言ったきりで
こちらに誘導されたら知らんぷりで、お礼やお詫びの一つもないんか?

おにょれ学校で一体何を教わってきたんだ?

798 名前:デフォルトの名無しさん[sage]:2006/04/08(土) 22:27:33
>788
ようはやりたいことはこういうことか。

import java.io.*;
public class A788 {
public static void main(String[] args) throws IOException { ex1(); ex2(); }
public static void ex1() {
System.out.println("九九の演算処理を行ってください。");
for (int x = 1; x <= 9; x++) for (int y = 1; y <= 9; y++) printMul(x, y);
}
public static void ex2() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
System.out.println("1から9までの好きな数値を入力してください。");
try {
int n = Integer.parseInt(br.readLine());
if (n < 1 || 9 < n) throw new Exception();
printMul(n, 2);
} catch (Exception ex) {
System.out.println("1〜9っていいましたよね? 最初からやり直しです。");
}
}
}
public static void printMul(int x, int y) { System.out.println(x + " * " + y + " = " + (x * y)); }
}

799 名前:デフォルトの名無しさん []:2006/04/09(日) 01:21:44
ある文字列を作成して、それをテキストファイルに書き出したいのです。
どうすればよいのでしょうか?

800 名前:デフォルトの名無しさん[sage]:2006/04/09(日) 02:00:15
今すぐパソコンを飲み込め

801 名前:デフォルトの名無しさん[sage]:2006/04/09(日) 03:28:40
「ある文字列」の作成の仕方がわからなかったら、
広辞苑をランダムにぺらぺらめくって適当な文字を拾い出すといいよ。
テキストには鉛筆かシャーペンで書き出すんだ。 HBかFが使いやすい。

802 名前:682 []:2006/04/09(日) 07:45:13
前回の課題は無事に提出出来たのですが、前回の応用でさらに課題を出されましたorz

【 課題 】前回の課題(>>682)を元に、ソートのプログラムを組みなさい。
      ホテルに泊まっている客の情報を元に、以下の情報を出力せよ。

      ・何人の客が泊まっているか。
      ・泊まっている客の名字をアルファベット順(A〜Z)に並び替え、名字、名前、年齢を出力。
      ・泊まっている客を年齢の若い順に並び替え、名字、名前を表示を出力。

【 期限 】4/10
【 Ver  】1.4
【 補足 】・a6_src.zipの中に配列クラス、Personクラスがあるのでそれを使いプログラムを組むこと。
        ttp://n.limber.jp/n/qMVSA5iF8 パスはかけていません。
      ・それぞれのソートは別々のメソッドを使い実行すること。
      ・プログラムを動かす時、毎回客のリストが変わるようにすること。
      ・最低でも1つのアレイオブジェクトがソートメソッドに入るようにすること。

よろしくお願いします。具体的な出力例は、a6_src.zipに入っています。

803 名前:デフォルトの名無しさん[sage]:2006/04/09(日) 09:44:36
>>801
頭、大丈夫?


804 名前:742 []:2006/04/09(日) 11:30:11
>>802
とりあえず作ってみた。外してたらゴメソ

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1720.zip

805 名前:742[sage]:2006/04/09(日) 11:40:11
ぁ…ごめん。
コメントで//匿名クラス じゃなくて //無名インナークラス だった。脳内変換よろしく。

806 名前:682 []:2006/04/09(日) 12:09:54
>>804
今回もありがとうございます。
ですが、前回のA5Arrays.java ではなく ttp://n.limber.jp/n/qMVSA5iF8 の中にある
A6Arrays.java を使って組む課題です。どうか、よろしくお願いします…orz

807 名前:742[sage]:2006/04/09(日) 13:43:22
>>806
そっか。getPersonArray( ) の実装が若干変わってたのね。
でも、戻り値がPerson[]だから
Person[] myPeople = A5Arrays.getPersonArray(); を
Person[] myPeople = A6Arrays.getPersonArray(); に
変更すれば動くよ。

ちなみに2回目のPrint文、地味にミスがあったから直したのを上げなおしておきますた
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1721.zip

808 名前:デフォルトの名無しさん[sage]:2006/04/09(日) 14:31:36
やさしいな

809 名前:682 []:2006/04/09(日) 15:03:45
>>807
ありがとうございます。
本当に何とお礼を言って良いのやら…


810 名前:742[sage]:2006/04/09(日) 17:16:33
>>809
いえいえ。どういたしまして。
今回のように、A5Arrays から A6Arrays で氏名・年齢が重複しないように 
実装が変更されていても、getPersonArray() が同じく Person [] でデータ返すので
問題なく動くというのは、オブジェクト指向開発のメリットの1つだと思いますょ。

私も実務、開発経験が無いのでいい勉強にさせてもらってます。

811 名前:デフォルトの名無しさん []:2006/04/10(月) 15:26:05
どうしても分からないのでよろしくお願いします。

Javaの配列について、以下の問に答えよ。

・int型の要素を50個持つ配列(配列名arr)を作るためのJavaの命令を書け。

・配列arrの値を全て0に初期化するための命令を,for文を用いて書け。

・配列arrの要素を全て画面に表示するための命令を,for文を用いて書け。

・配列arrの7番目の要素の値を-1に書き換えるためのJavaの命令を書け。


812 名前:デフォルトの名無しさん[sage]:2006/04/10(月) 15:35:10
>>811
>>316

813 名前:デフォルトの名無しさん[sage]:2006/04/10(月) 15:36:04
>>811
スレ違い(失笑)

814 名前:デフォルトの名無しさん[sage]:2006/04/10(月) 17:16:54
>>799
おまえはまずHalloJavaWorldからだ

815 名前:デフォルトの名無しさん[sage]:2006/04/10(月) 17:34:46
>>814
おまえは中学生から

816 名前:デフォルトの名無しさん[sage]:2006/04/10(月) 19:38:15
>>811
public class Res811 {
public static void main(String[] args) {
// int型の要素を50個持つ配列(配列名arr)を作る
int[] arr = new int[50];
// 配列arrの値を全て0に初期化する
for(int i = 0; i < arr.length; i++) {
arr[i] = 0;
}
// 配列arrの要素を全て画面に表示する
for(int i = 0; i < arr.length; i++) {
System.out.println("arr[" + i + "] = " + arr[i]);
}
// 配列arrの7番目の要素の値を-1に書き換える
arr[7] = -1;
}
}

817 名前:811[sage]:2006/04/10(月) 21:56:16
お願いしてこんなこと言うのはなんですが
その解答のどの辺がオブジェクト指向ですか?

818 名前:デフォルトの名無しさん[sage]:2006/04/10(月) 22:01:53
なんだコイツ

819 名前:デフォルトの名無しさん[sage]:2006/04/10(月) 22:08:59
>>817
それが言いたいだけで質問したんだろ?
宿題じゃないんだろ?

820 名前:デフォルトの名無しさん[sage]:2006/04/11(火) 00:43:44
>>811
釣りじゃないと仮定した上でマジレス
オブジェクトを作成するほどの処理じゃない。

821 名前:デフォルトの名無しさん[sage]:2006/04/11(火) 01:11:40
おそらくC言語厨の仕業だろ

822 名前:デフォルトの名無しさん []:2006/04/11(火) 07:16:44
>>817
配列がオブジェクト

823 名前:811[sage]:2006/04/11(火) 07:45:10
ジャバで実装してればオブジェクト指向なノリだな
>配列がオブジェクト
って


824 名前:682 []:2006/04/11(火) 08:49:51
>>810
742さんにご報告です。課題5の宿題が帰ってきました。
結果は、重複があるので-5点でした。(25/30)

public int getOldestAge(Person [] myPeople){
int max = 0;

//get Oldest Age
for (int i = 0; i < myPeople.length; i++) {
if (myPeople[i].getAge() > myPeople[max].getAge()) {
max = i;
}

}
//return to Oldest Age
return max;
}

このように書けば、わざわざ別のメソッドで名前を求める必要はないし、アレイリストもいらない。
出力する所で、myPeople[i].getFirst()、myPeople[i].getLast(),myPeople[i].getAge()
で根こそぎ持って行けると言われましたorz YoungAgeの場合は、OldAgeの客のメソッドを逆に書けば良いと言われました。

あと、課題6ですが、先生に見せたところ前回の課題(>>682)を元にとは言ったが、そのまま流用をするわけではない。
また、こんな高度なソートは使う必要はない。もっとシンプルなソートを使え。と言われました…。
先生曰く、バブルソートでソートをするのがこの課題の目的らしいです。742さんのソート方法はもっと上のクラスで習うらしいですが、
自分で書いた事になっているので、「ええ、そうなんですか?!」としか言えませんでした…orz

一応、課題6を先生に言われた通りに書き換え、バブルソートの記述するところまでのソースです。
ttp://n.limber.jp/n/ay76lsiF6 自分でもやってはいるのですが、結構ハードです…。
バブルソートについて分からない場合は ttp://lecture.ecc.u-tokyo.ac.jp/~ueda/cp05/prog9.html を見ろとの事でした。

ご迷惑をおかけして申し訳ありません。

825 名前:742[sage]:2006/04/11(火) 10:32:21
>>824

>>結果は、重複があるので-5点でした。(25/30)
あらま、残念でしたね。
ちなみにその5点、どうしても取り返したいと思うなら先生に
「最高年齢が2人いる場合、このメソッドでどう取得すればいいのですか?」
と聞いてみるといいよ。

結局最高年齢のindexを取得しても同じ年齢の人が他にもいるかどうかを
走査して取得しなくちゃいけないなら、どんどんスパゲティプログラムになると思うけどな。


826 名前:682 []:2006/04/11(火) 11:43:32
>>825
次の授業の時にきいてみます。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27500
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27501

課題6ですが、どうしてもソートが出来ません…
おそらく、名前を並べるところはセレクションソート、年齢の若い順から並べる時は
バブルソートを使うのだと思うのですが、何度くんでもエラーになりますorz

827 名前:742 []:2006/04/11(火) 12:08:45
>>826
ん?よく分からないけどセレクションソート使うの?

バブルソートってソートアルゴリズムだから年齢とか名前の比較入れ替えは全部
1つのアルゴリズム内に入れちゃえばいいと思うんだけど。

他のメソッドにも若干手入れてるけど ここから 〜 ここまでを
PersonsUtilにコピーすれば動くはず。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27502

828 名前:デフォルトの名無しさん[sage]:2006/04/11(火) 12:47:01
>>817
プログラム始めたばかりなんで間違ってたらごめんなさいね
public class Res817 {
private int[] arr;
public Res817(int max) {
arr = new int[max];
}
public void setArr(int value, int num) {
arr[num] = value;
}
public void arrDisplay() {
for(int i = 0; i < arr.length; i++) {
System.out.println("arr[" + i + "] = " + arr[i]);
}
}
public static void main(String[] args) {
int max = 50;
Res817 data = new Res817(max);
for(int i = 0; i < max; i++) {
data.setArr(0, i);
}
data.arrDisplay();
data.setArr(-1, 6);
data.arrDisplay();
}
}

829 名前:682 []:2006/04/11(火) 12:55:22
>>827
レスありがとうございます。
基本的なソートらしく、どちらかをセレクション、バブルソートでソートするようにしないと、駄目みたいです…。
今、学校で昼飯も食べずに、プログラミングをやりつつ新入生の声をきいています…orz

830 名前:742 []:2006/04/11(火) 13:41:57
>>829
なるほど。どっちかを使わないといけないのね。
どっちも実装したから好きに使って。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27503

しかし、プログラミングをしつつ新入生の声を聞くって…まるで聖徳太子だな(´∀`)

831 名前:682 []:2006/04/11(火) 13:53:22
>>830
ありがとうございます。
いえ、声は外から聞こえてくるんですorz
画面に向かってJbuilderいじりつつ2chを見ているなんて、はたから見たら怪しい人ですね。

しかしながら、自由自在にJavaを操っているようですが742さんはどのようにJavaを勉強されたのですか?

832 名前:742[sage]:2006/04/11(火) 14:09:55
>>831
>>Jbuilderいじりつつ2chを見ているなんて、はたから見たら怪しい人ですね
うはっっwおっっっk

別に自由自在には、まだまだ操れません。まだまだヒヨっ子です
APIとか見つつトライ&エラーでやってます

どのように勉強したかと聞かれても(´ё`)
SJC-P取るのに基礎から独学で勉強した位かなぁ。

基礎を満遍なく学ぶという意味ではいい資格ですょ

833 名前:682 []:2006/04/11(火) 14:37:59
>>832
なるほど、資格対策の勉強で得た知識なのですね。

いただいたソースをプログラムに組み込んでみたのですが、
出力時、名字のアルファベット順にソートしたセクションと、
年齢の順でソートしたセクションとで、名前、年齢、総合人数の数が違うのですが、
これはいったい何がいけないのでしょうか…orz

834 名前:682 []:2006/04/11(火) 14:44:37
このような感じで出力されています。

There are 31 guests.

Guests sorted by last name:

ここはアルファベット順に出力されています。

There are 28 guests.

Guests sorted by age:

↑のリストとは異なった名前の人らがソートされています。

835 名前:デフォルトの名無しさん[sage]:2006/04/11(火) 14:45:00
オレなんてSJC-P持ってるけどここの宿題全然わかんねーぜwwww

836 名前:デフォルトの名無しさん[sage]:2006/04/11(火) 14:49:01
あの試験、ありえない問題ばっかりじゃねーかよw

837 名前:742 []:2006/04/11(火) 14:57:46
>>834
Main.javaの中段あたりで

//新しいデータでソートをする?

myPeople = A6Arrays.getPersonArray();
の部分で myPeople に新しい配列をセットしなおしているので
データは変わりますよ。

>>802の要件で
・プログラムを動かす時、毎回客のリストが変わるようにすること。
を見てソートメソッドごとに客のリストを変えるのかと思ってた。

中段部分を
/*
myPeople=null;

//新しいデータでソートをする?

myPeople = A6Arrays.getPersonArray();

pu.setPerson(myPeople);
*/
と、コメントアウトすれば同じデータで
氏名と年齢別のソートメソッドを実行出来ます。

>>836
そう、人呼んで人間コンパイラー試験

838 名前:682 []:2006/04/11(火) 15:09:03
>>837
うわぁ、ありがとうございます。
自分でも、//新しいデータでソートをする? というところが怪しいと思って、
myPeople = A6Arrays.getPersonArray(); だけ削除したのですが、
エラーになって???状態でした…orz

これでやっと、お昼ご飯を食べに行くことが出来ます。
本当にありがとうございました。また、結果が帰ってきたらこのスレに書き込もうと思います。

839 名前:742 []:2006/04/11(火) 16:03:44
>>838
意気揚々に飯食いに行った所ゴメソ
かなり重要なミスに気づいた
・ソートがLastNameじゃなくFirstNameで行っていた
・バブルソートアルゴリズムが違ったっっっっっっっw

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1725.zip

840 名前:デフォルトの名無しさん[sage]:2006/04/11(火) 19:05:18
【 課題 】
mとnの2数を入力し(m≦n)、その間の数値を表示せよ。
数と数の間は半角3文字分のスペースを空ける。一行20文字までとし、20文字を超えると改行する。
ただし数の途中で改行が入るような場合は次の行から開始する。
例:
93 94 95 96
97 98 99 100
101 102 103
104 105 106


【 期限 】できれば本日24時までに
【 補足 】丸投げです。お願いします

841 名前:デフォルトの名無しさん []:2006/04/11(火) 22:19:12
>>840 センスないコードだけど多分動く。
import java.io.*;
class Main {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] s = new String[2];
int m = 0, n = 0;
try {
s = br.readLine().split(" ", 2);
m = Integer.parseInt(s[0]); n = Integer.parseInt(s[1]);
if (m <= n) {
int l = 0, j = 0;
System.out.println("01234567890123456789");
for (int i = m; i <= n; i++) {
if (i < 10) {
j = 4;
} else if (i < 100) {
j = 5;
} else if (i < 1000) {
j = 6;
}
l += j;
if (l > 20) {
l = j;
System.out.println();
}
System.out.print(i + "[[[");
}
}
} catch (Exception e) {
e.printStackTrace();
} } }

842 名前:デフォルトの名無しさん[sage]:2006/04/12(水) 01:37:50
【 課題 】UPnPでルータを検出し、ポートを開けるプログラム。
【 期限 】今週木曜
【 Ver  】5.0
【 補足 】完全に自作でもいいが、cyberlink for java等を使って実装しても良い。

843 名前:デフォルトの名無しさん[sage]:2006/04/12(水) 07:24:42
【 課題 】 オンラインのレストラン予約システム(javaRest)を作りなさい。
客は、1)本日のメニューをリクエストできること
2)予約をできること
3)予約をキャンセルできること(予約した客のみ)
4)特定の日にレストランで無料の席を尋ねることができること
5)レストランからメッセージをダウンロードできること(デイリースペシャル)

システムはデータグラムソケットを使用したサーバーと複数のクライアントから成り立っていること。

クライアントの機能として、 1)サーバーに接続しサービスを使用するためにIPアドレスを有効なユーザの名前として登録できること
2)サービスからユーザを削除できること(例:ログオフコマンドを実行するために回線を切るとき)
3)必要な情報(本日のメニューのリクエスト、予約、予約のキャンセル、特定の日の無料の席を尋ねる、
デイリースペシャルについてのリクエスト)を指定しているサーバーにメッセージを送る
4)サーバーからレストランが特定の日は満席になったことを非同期でメッセージを受け表示できること。
第2の緊急のメッセージは満席のレストランにちょうどキャンセルがあり、空席ができたことを知らせる(誰かがキャンセルをした時)
この仕様はマルチスレッドの使用が必要になる。


844 名前:843[sage]:2006/04/12(水) 07:25:30
サーバーの機能として、 1)全てのオンライン登録された参加者と彼らのアドレスの記録(何らかの形で)を残すこと
2)新しい参加者登録を許可し、アクティブな参加者リストに加えることができること
3)記録から削除するためにクライアントからの要求を受け入れることができること(始めに登録されたコンピュータからのログオフオンリー)
4)以下のフォーマットで複数の行からなるテキストファイルから予約を読みとること
最初のラインは、
javaRest <Total Number of Seats >
続いて1行か複数行の
javaRest <day.month.year> < reserved seats> <Customer Name>
5)メッセージを送り、要求を実行する
(特定の日の無料の席を知らせる、席の予約、予約のキャンセル(予約しているクライアントのみ)、デイリースペシャルと本日のメニューの送信)
6)同時に(並行して)複数のクライアント接続を扱うこと
7)予約システムで利用できる席のリストを正しく維持すること

【 期限 】4月14日

大きな課題でしかも丸投げですが、どうぞよろしくお願いします。

845 名前:843[sage]:2006/04/12(水) 07:59:10
クライアントとして、
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27505
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27506

サーバーとして、
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27507
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27508
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27509

らの例のソースコードを渡されました。
これを元に出来たらお願いします。

846 名前:デフォルトの名無しさん []:2006/04/12(水) 11:47:28
>>843
4)特定の日にレストランで無料の席を尋ねることができること

無料の席って、空席と英訳間違ってるとかというオチは無い?
その他の要件見ても有料の席という記述もないし、空席の問い合わせも無いし

847 名前:843[sage]:2006/04/12(水) 14:40:52
>>846
無料の席であっていると思います。
free places(seats)であって、seats availableではなかったので。
とりあえず原文のほうもあげておきますね。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27511
よろしくお願いします。

848 名前:yamutya []:2006/04/12(水) 17:45:05
テキストファイルの書式整形化プログラムの作成しなければいけないのですが、
書式整形化というのが今ひとつよくわからないので、よかったら教えてください。

849 名前:デフォルトの名無しさん []:2006/04/12(水) 17:47:29
>>1見て死ね

850 名前:840[sage]:2006/04/12(水) 18:09:13
>>841
やってみたけど動きませんでした…

851 名前:デフォルトの名無しさん []:2006/04/12(水) 18:13:45
引数つけでもダメなのか?

852 名前:デフォルトの名無しさん[sage]:2006/04/12(水) 18:20:11
>>850
実行時にmとn指定した?

853 名前:デフォルトの名無しさん[sage]:2006/04/12(水) 18:20:35
引数二つを入力するんですよね?
それはやってみましたが…

854 名前:デフォルトの名無しさん []:2006/04/12(水) 18:24:11
本当だな動かないな

855 名前:デフォルトの名無しさん[sage]:2006/04/12(水) 18:27:14
じゃ、オレが作ったヤツ
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27514

856 名前:840[sage]:2006/04/12(水) 18:30:44
>>855
ありがとうございます!できました

857 名前:デフォルトの名無しさん []:2006/04/12(水) 21:05:43
>>841は起動してからスペースで区切って数字入力なのね。
>>855を見て数学の勉強をしようと思った。

858 名前:デフォルトの名無しさん []:2006/04/12(水) 22:48:53
>>855
これだとlog10の引数が100の時はdigit = 2になるけど101の場合はdigit = 3になるけど良いのかい?

859 名前:855[sage]:2006/04/12(水) 23:02:10
誰か突っ込むと思ってた
- int digits = (int)Math.ceil(Math.log10((double)i));
+ int digits = (int)Math.floor(Math.log10((double)i)) + 1;

860 名前:デフォルトの名無しさん []:2006/04/12(水) 23:07:12
あれだな
ここで答え聞く奴に満点取らせて自堕落になるのを防ぐために
態と間違えて自分で気付かせようとした親心だったんだよな
良い奴だな

861 名前:デフォルトの名無しさん[sage]:2006/04/12(水) 23:47:52
>>840
俺もやってみた

class Main {
public static void main(String[] args) {
java.util.Scanner in = new java.util.Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
System.out.println("01234567890123456789");
int pos = 0;
for(int i=n; i<=m; i++) {
int length = intLength(i);
if (pos + length > 20) {
System.out.println();
pos = 0;
}
if (pos != 0) System.out.print("___");
System.out.print(i);
pos += length + 3;
}
}

private static int intLength(int i) {
int j = i < 0 ? 1 : 0;
do {
i /= 10;
j++;
} while (i != 0);
return j;
}
}

862 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 00:02:04
大げさに解くのなら、区間を表すオブジェクトと
区間オブジェクトの文字列表現を生成する
オブジェクトを導入してみる


863 名前:682 []:2006/04/13(木) 06:45:18
>>839
LastNameの所は自分で修正したのですが、バブルソートアルゴリズムは修正せずに提出していまいましたorz
とりあえず、結果が帰ってくるのを待っています。この調子だと金曜辺りにまた課題が来そうですね…

先生のカリキュラムとしては、Javaの基礎を学んだ後にデータストラクチャを学びつつ、
実際に商業用として売れる・配布出来るレベルのアプリケーションを作れるようになるのが目的らしいです。
しかもグループワークとかではなく、単独でペイントソフト(フォトショップのような大それた物ではなくWindows付属のペイントレベル)を
最終的に作って、Vector等で配布するというプロジェクトをやるそうです。後、就職先を外資系の会社も視野に入れて、現在のJavaの課題からも分かるように、
すべて英語を使ってコメントや記述をしろと言っています。だから、教科書もうちのゼミだけ洋書ですorz

864 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 07:50:10
英語ダメ?
今から自分に制限設けるのはもったいないよ


865 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 12:18:35
いい先生だな、としか思えないんだが?オレのときなんて完全放置だったぞ

866 名前:yamutya []:2006/04/13(木) 14:11:36
【 課題 】テキストファイルの書式整形化プログラムを作成せよ
【 用語 】
【 期限 】4月18日
【 Ver  】J2SE
【 補足 】条件   WindowsXP/2K
   入力   コマンド・ラインで指定したファイル。
      出力   コマンド・ラインで指定したファイル。
      その他  [TAB]は指定された間隔の、半角空白文字に置き換える。
           行番号、各頁ヘッダはコマンド・ラインで指定が出来ること。
初めてだったので失礼しました。よろしくお願いします。


867 名前:デフォルトの名無しさん []:2006/04/13(木) 14:38:34
二分探索の実行過程・実行ステップ数を調べるプログラムを作りたい。
テキストp.52〜p.54に載っている順序配列のプログラム(orderedArray.java)を参考
に、ひな形プログラム中の次の各メソッドを完成させよ。完成すると、二分探索の様
子を表示しながら探索を実行してくれるようになる。
1-1:配列の内容を表示するメソッドを完成させよ。
・課題2
1-2:配列にランダムな値を大小順に代入して初期化するメソッドを完成させよ。
・課題3[記入内容非公開]
1-3:二分探索を実行するメソッドを完成させよ。
・課題4
1-4:mainメソッドを完成させ、ソート過程を表示しながら選択ソートを実行するよう
にせよ。
・課題5
1-5:作成したプログラムが正しく選択ソートを実行していることが分かる
  実行結果を示し、正しく動作していることを説明せよ。
・課題6
1-6:考察・感想・デバッグ履歴を述べよ。
ひな形プログラムは以下↓のWebページに掲載してあります。
http://edu.kankyo-u.ac.jp/InfSys/class2006/Programming3/20060410/BinarySearch.java
余裕のある人は、配列の大きさによって二分探索にかかるステップ数の平均が
どのように変化するか、調べてみよ。
どうしても分からないので、よろしくお願いします。期限は18日までなので、どうかお願いします。

868 名前:682 []:2006/04/13(木) 14:57:18
>>864
英語力は、英検2級・TOEIC600点クラスなのでたいした事ないです。
どちらかというと、話す方が好きです。

>>865
先生はカリフォルニア大学のバークレイという米国では有名?な大学院でコンピュータの博士号を取ったらしく、
理系の人ですが、英語の先生よりも英語が出来ると思いますorz 部屋に行くと、日本語のコンピュータ系の本は数冊しかなく、
ほとんど洋書ですね。大学院を卒業後、(米国の)現場で働いていたらしく会社が何を必要としているか、が分かっていらっしゃる先生です。

大学在学中に即戦力になる人材を育成するのが目的らしく、将来はそっち系で働きたい人や、興味のある人はゼミに参加するのですが、
難しいので辞めていく人が多いです。教科書は、Java: How To Programという1万円近い洋書を使用しています。
英語も重要な科目(通常、理系の学科では英語は重視していないです。)だから、コンピュータを勉強するだけではなく、
同時にコンピュータ系で使われる英単語も覚えられるという事で洋書を採用しているみたいです。
アメリカの大学は死ぬほど大変。それを日本の大学生にも体験してもらいたいから、このゼミは難しい。
辞めたいならいつでも辞めてもかまわん。といつもおっしゃっていますが、このゼミを修了した人は就職した時、
研修の指導員よりもコンピュータについて詳しいらしく、そういう理由もあり、だいたいの人は食いついて頑張っていますが、
2年目をクリア出来るかどうか、微妙な所です。

869 名前:742[sage]:2006/04/13(木) 15:01:04
>>863
うっはっっw間に合わなかったか…南無。
LastNameの方はいいとしてバブルソートは久々だったもんで、
腐ったセレクションソートみたいな内容にだったと思う。

目標立ってていいゼミだな。ガンガレ

870 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 15:03:05
>>868
>英語力は、英検2級・TOEIC600点クラス
大したことねーなぁ・・・もうちょっと英語勉強したほうがいいよ。

871 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 15:24:13
すばらしいゼミなのにひどい受講程度ですね
このスレで聞くくらいだから課題を
乗り切れればいいとしか思ってないんでしょ?

872 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 15:26:05
程度じゃなくて態度の誤り

873 名前:デフォルトの名無しさん []:2006/04/13(木) 15:29:24
もちけつ

874 名前:デフォルトの名無しさん []:2006/04/13(木) 15:41:13
>>867
鳥取環境大学乙

875 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 15:55:49
そんなにいい先生なのにここで宿題聞いてちゃダメだよ・・・もったいねぇ
宿題スレは「将来必要ないけど単位取らないと卒業できねーんだよ!だから教えろ」って人が主だと思う

876 名前:682 []:2006/04/13(木) 16:00:05
>>869
ありがとうございます。結果が来たら連絡します。

>>870
そうですね… 教科書を読む時も辞書を片手に読んでいて難しいです。

>>871
それを言われると耳が痛いです…orz
自分でもやるだけやっているのですが、コンピュータを本格的にさわり始めたのが
大学に入ってからなのでコンピュータの基礎を覚えながら、Javaもやっています。
新しい課題が1週間ごとに出るのでWebでも色々と調べたりしているのですがハードです。
コンピュータが得意な人はこのJavaゼミをすっとばして、すでにソフトウェアの製作に入っています。

本当、自分で頑張らないといけないとは思っているのですが課題が出されるペースが早いのでつらいです。
質問をする前に自分でもコードを組んでいる事は組んでいるのですが、いつも出力例とは違った出力、
またはエラーを起こしてしまうのでどうしてもダメな時はこのスレで聞いています。
その謝った出力をするコードを書くのにも半日は費やしているので、このスレの皆さんが課題のコードを
数時間で書いてしまうのには驚きです。

877 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 17:58:41
言い訳乙

878 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 18:31:39
ゼミなら友達に聞くのが一番だよ、いないの?

879 名前:デフォルトの名無しさん[ichiei333@hotmail.com]:2006/04/13(木) 21:21:53
宜しく御願いします。
【課題提示用テンプレ】
【 課題 】
● 次のような形で Dog と PetDog を再定義せよ.
– Dog
● String name, public void say(String s), public void bark()
を持つ
● say(文字列)は,「文字列+"だワン!"」を出力
● bark()は,自分の名前+"だワン!"を出力(sayを使う)
– PetDog extends Dog
● String owner, public void bark() を持つ
● bark() は,Dog のbark() に加えて,owner+"だワン!"を出
力(sayを使う)

【 補足 】JAVAであれば問題ないので丸投げしますので宜しく御願いします。



880 名前:デフォルトの名無しさん []:2006/04/13(木) 21:33:11
再定義って何かね

881 名前:デフォルトの名無しさん []:2006/04/13(木) 21:34:28
class Dog{
private String name;

public Dog(String name){
this.name = name;
}

public void say(String s){
System.out.println(s + "だワン!");
}

public void bark(){
say(name);
}
}

class PetDog extends Dog
{
String owner;

public PetDog(String name, String owner)
{
super(name);
this.owner = owner;
}

public void bark(){
super.bark();
say(owner);
}

}

882 名前:デフォルトの名無しさん[ichiei333@hotmail.com]:2006/04/13(木) 22:03:42
宜しくです。
[課題]
課題
● コマンドラインにファイル名を2つ指定して,最初の
ファイルを2番目のファイル名にコピーするプログラ
ムを書け。
– クラス名はFileCopy とせよ。
● java -cp . FileCopy file1 file2
で file1 を file2 にコピーする。
– file2の存在チェックはしなくて良い。
– file1が開けなかった場合,”file1 not found” というエ
ラーメッセージを出力して(file1には実際に指定したファ
イル名が入る)停止するようにせよ。

[期限]明日までに欲しいです。
[他に]丸投げで構いません、JAVAであれば

883 名前:デフォルトの名無しさん []:2006/04/13(木) 22:45:19
>>882
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27517

テキストファイルは化けるかも
ディレクトリ無いところにコピーしようとするとエラー
多分大きすぎるファイルはコピーできないetc..

884 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 23:02:25
>>882
import java.io.*;
import java.nio.channels.FileChannel;

public class FileCopy {
public static void main(String[] args) {
if (args.length == 2) {
copy(new File(args[0]), new File(args[1]));
} else {
System.out.println("引数でファイル名を二つ指定してください");
}
}

public static final void copy(File src, File dst) {
FileChannel in = null;
FileChannel out = null;
try {
if (src.exists()) {
in = new FileInputStream(src).getChannel();
out = new FileOutputStream(dst).getChannel();
in.transferTo(0, src.length(), out);
} else {
System.out.println(src + " not found");
}
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
try { if (in != null) in.close(); } catch (IOException ioe) {}
try { if (out != null) out.close(); } catch (IOException ioe) {}
}
}
}

885 名前:デフォルトの名無しさん []:2006/04/13(木) 23:19:09
・課題1
二分探索の実行過程・実行ステップ数を調べるプログラムを作りたい。
テキストp.52〜p.54に載っている順序配列のプログラム(orderedArray.java)を参考
に、ひな形プログラム中の次の各メソッドを完成させよ。完成すると、二分探索の様
子を表示しながら探索を実行してくれるようになる。
1-1:配列の内容を表示するメソッドを完成させよ。
・課題2
1-2:配列にランダムな値を大小順に代入して初期化するメソッドを完成させよ。
・課題3
1-3:二分探索を実行するメソッドを完成させよ。
・課題4
1-4:mainメソッドを完成させ、ソート過程を表示しながら選択ソートを実行するよう
にせよ。
・課題5
1-5:作成したプログラムが正しく選択ソートを実行していることが分かる
  実行結果を示し、正しく動作していることを説明せよ。
まじたのむ。わからん。

886 名前:デフォルトの名無しさん[sage]:2006/04/13(木) 23:22:22
>テキストp.52〜p.54に載っている〜
何のテキストなんだよ

887 名前:デフォルトの名無しさん []:2006/04/13(木) 23:23:55
>>885

鳥取環境大学乙
せめて雛形のプログラムを貼る位の事しろ

888 名前:デフォルトの名無しさん []:2006/04/13(木) 23:24:51
鳥取環境大学に通報しますた

889 名前:デフォルトの名無しさん []:2006/04/14(金) 12:14:20
>>855

雛形プログラムって↓コレ

class BinarySearch {
//比較回数を覚えておくための変数
static intcompare = 0;
static void showArray(int a[], int N)
{
//1-1:配列の内容を表示するメソッド
//動作:N個の要素を持つ配列aの要素を全て画面に表示する
//例: a[0]=10, a[1]=30, a[2]=20の場合
// showArray(a,3)を実行すると画面に
// 10 30 20
// と表示される。
//★以降を適切に埋めよ
}
static void initArray(int a[], int N)
{
//1-2:配列にランダムな値を大小順に代入するメソッド
//動作:N個の要素を持つ配列aに対し、ランダムな数を大小順に入れる
//ヒント:次のようにして乱数を使えば1〜Nまでの範囲の数をランダムに1つ作れる
//int n;
//n = (int)(java.lang.Math.random()*(N-1)) + 1;
//ヒント:値が大小順になるようにするには、a[i]の値が必ずa[i-1]の値より
//大きくなるようにすればよい。
//★以降を適切に埋めよ
int i;
a[0] = 1;
}


890 名前:デフォルトの名無しさん []:2006/04/14(金) 12:18:45
static int find(int a[], int N, int d)
{
inti;
//1-3:二分探索を実行するメソッド
//動作:二分探索の過程を表示しながら、
//N個の要素を持つ配列aに値dが入っているかどうかを調べる
//値dが見つかったときは値の入っていた場所の添え字を返し、
//値dが見つからなかったときは-1を返す。
/*
二分探索の手順:
変数lは探索範囲の左端の添え字、変数rは探索範囲の右端の添え字を
表す。
0.探索に要した比較回数compareを0に初期化
1.探索範囲の真ん中の添え字cを求める
2.探索範囲を表示(例:a[0]〜a[10]を探索中)
3.a[c]の値と探索したい値dを比較
探索に要した比較回数compareを1増やす
3-1. a[c]とdの値が一致した場合
値を発見したので、その値が入っていた場所の添え字cを返す
3-2. a[c]とdの値が一致しなかった場合
3-2-1. 探索範囲が残っていない場合(l > rになった場合)
値が見つからなかったので-1を返す
3-2-2. a[c]がdより小さかった場合
dはa[c]よりも右の方にあることが判明したので、
探索範囲をa[c+1]〜a[r]に絞り込む
3-2-3. a[c]がdより大きかった場合
dはa[c]よりも左の方にあることが判明したので、
探索範囲をa[l]〜a[c-1]に絞り込む
4. 2.に戻る


891 名前:デフォルトの名無しさん []:2006/04/14(金) 12:19:17
*/
//★以降を適切に埋めよ
intl = 0;
intr = N-1;
intc;
}
public static void main(String args[])
{
//1-4:上で作ったメソッドを用いて、探索過程を表示しながら二分探索を実行
//手順は次のようになる。
/*
1.要素を(20個もつ)整数型配列aを宣言
2.整数型変数Nに配列aの要素数を保存
3.initArrayメソッドを用いて配列aを初期化
4.showArrayメソッドを用いて配列aの内容を表示
5.整数型変数dに配列aに入っている値を代入(例:a[N/3])
6.findメソッドを使って配列aの中にdが入っているか探索
7.値dが見つかった場所の添え字を表示
8.二分探索にかかった比較回数compareを表示
9.整数型変数dに配列aに入っていない(かもしれない)値を代入(例:(a[0]+a[N-1])/2)
10.findメソッドを使って配列aの中にdが入っているか探索
11.値dが見つかった場所の添え字を表示
12.二分探索にかかった比較回数compareを表示
*/
//★以降を適切に埋めよ
intN;
}
}

892 名前:デフォルトの名無しさん []:2006/04/14(金) 16:25:48
課題
1.String型の引数を1つ持ち、その文字列を2進数表記だと解釈して、
valueの値をコンストラクタしなさい。
2.valueの値を2進数表記の文字列に変換して返すメゾッドにしなさい。
3.Binary型の引数を1つ持ち、valueの値に引数の値を加算(減算、乗算、除算)
を加えなさい。
下のプログラムを使って下さい。
[期限]4月16日まででお願いします。授業の課題なんですが、誰か教えて下さい。

public class TestBinary {
public static void main(String[] arg){
Binary b1 = new Binary(10);
System.out.println(b1.getValue());
/*機能1
Binary b2 = new Binary("10");
System.out.println(b2.getValue());
機能2
System.out.println(b1.toSting());
System.out.println(b2.toSting());
機能3
b1.add(b2)
System.out.println(b1);
b1.sub(b2)
System.out.println(b1);
b1.mul(b2)
System.out.println(b1);
b1.div(b2)
System.out.println(b1); */
}
}

893 名前:デフォルトの名無しさん[sage]:2006/04/14(金) 19:37:19
>892
// Binary.java
public class Binary {
private int value;
public Binary(int i) {
this.value = i;
}
public Binary(String string) {
this.value = Integer.parseInt( string, 2 );
}
public int getValue() {
return this.value;
}
public String toString() {
return Integer.toString( this.value, 2 );
}
public void add(Binary b2) {
this.value += b2.getValue();
}
public void sub(Binary b2) {
this.value -= b2.getValue();
}
public void mul(Binary b2) {
this.value *= b2.getValue();
}
public void div(Binary b2) {
this.value /= b2.getValue();
}
}

894 名前:843[sage]:2006/04/14(金) 20:00:00
無料の席ではなく空席でしたorz

895 名前:デフォルトの名無しさん[sage]:2006/04/14(金) 20:21:23
今頃かよ

896 名前:843[sage]:2006/04/14(金) 20:28:53
>>895
すいませんorz
指摘されてから先生にメールしてみました。
さっき返事がやっと来たので遅くなりました。

897 名前:682 []:2006/04/15(土) 15:07:16
>>869
課題6ですが、先生が忙しい為、まだ結果が帰ってきません。
来週には帰ってくるだろうと思われます。
先生が忙しいのとは関係なしに課題7が出されてやっていますが、
何がなにやら分かりません…。例によってエラーばかりですが、もう少し自分でやってみます。

このゼミも5月の最初で終るので、上級レベルが始まる前に、日本語のJavaの本を買って、
基礎から勉強しなおしてみようと思っています。

>>878
僕は情報系の学科ではないのでゼミの友人とはあまり話しません。
休み時間とかゲーム、アニメの話をしているのでついていけませんorz

898 名前:デフォルトの名無しさん[sage]:2006/04/15(土) 17:41:57
まだゼミとか言ってんのかよ

899 名前:843[sage]:2006/04/15(土) 17:59:47
提出期限を1週間延ばしてもらったので、どうにかお願いできないでしょうか?

900 名前:デフォルトの名無しさん []:2006/04/15(土) 23:37:01
【 課題 】Webサーバの作成
問題文
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1741.txt
プログラム
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1742.txt
【 用語 】特にないと思います
【 期限 】できれば明日いっぱいまでに・・・
【 Ver  】なんでもいいです
【 補足 】丸投げ+ヒントも全部記入なのですこし問題文が長いかもしれません。
よろしくお願いいたします。

901 名前:900 []:2006/04/15(土) 23:40:26
すみません!拡張子を間違えました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1742.txt

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1742.zip

902 名前:デフォルトの名無しさん[sage]:2006/04/16(日) 13:37:09
【 課題 】
問題文はこちらにあげています
http://2sen.dip.jp:6740/cgi-bin/upgun/up1/source/up0806.txt
【 用語 】ないと思いますが、ありましたら聞いてください。
【 期限 】急ですが、火曜昼13時くらいまでにお願いします
【 Ver  】何でも大丈夫です。
【 補足 】すみません、丸投げです。
何かと制約が多いかもしれませんが、よろしくお願いします。
あと返答・動作報告は若干遅れるかもしれませんが、
火曜14時頃までには必ずしますのでご了承ください。

903 名前:846[sage]:2006/04/16(日) 15:05:39
>>843
途中まで作ったけど来週忙しいから
作ったところまでアップしておくよ。
参考になればどうぞ。

ちなみに通信関係の部分は手つかず(´д`)
実装したのは
・空席の照会
・予約の追加・削除
・javaRest.txtの入出力
ってぐらい。
もしかしてスレッドセーフじゃなかったらごめん

あとの通信部分は、メッセージオブジェクトを作って
サーバークライアント間で通信すれば出来るんじゃない?

ヘボヘボなソースでスマソ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1743.zip

904 名前:デフォルトの名無しさん[sage]:2006/04/16(日) 17:48:18
>>902
問題文中の”図”って何?

905 名前:846[sage]:2006/04/16(日) 19:15:31
>>903
どうもありがとうございます!!!!
助かりました!

906 名前:897 []:2006/04/16(日) 19:32:45
【 課題 】入出力のプログラムを組みなさい。

      インプットファイルに含まれるダブルのそれぞれ数値を読み込み、新しい数値に計算をし以下の条件の下で出力しなさい。
      新しい数値の求め方:現在のダブルの数値1 * 0.25 ※もし、マイナスになった場合は *-1 でポジティブナンバーにする。
      インプットファイル:ttp://n.limber.jp/n/KOVr8wiF4     

      ・インプットファイルに含まれるダブルの数値の数(ダブルの数値が225個ある場合、225と出力。)
      ・インプットファイルに含まれるダブルの数値を足した数(ダブルの数値が2個で、その数が2.5と1.2の場合、3.7)
・インプットファイルに含まれるダブルの数値の平均(3.7 / 2 をする。)
      ・インプットファイルに含まれるダブルの数値を上記計算式で計算した後の数値を足した数(2.5と1.2の場合、0.925) 
      ・インプットファイルに含まれるダブルの数値を上記計算式で計算した後の数値の平均(2.5と1.2の場合、0.4625)

出力例:ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1744.txt

      プログラムを組む時の条件:
      ・JFileChooserオブジェクトを使う事。
      ・もし、読み込んだファイルがインプットファイル以外の場合、エラーメッセージを表示し終了させる事。
      ・もし、出力するファイルが指定されていない場合、またはすでに出力されている場合、エラーメッセージを表示し、
       処理を続けるか、キャンセルするかをユーザーに求める事。

【 期限 】4/17
【 Ver  】1.4

色々やったのですが、どうしても上手く行きません…orz
丸投げでよろしくお願いします。

907 名前:902[sage]:2006/04/16(日) 21:29:42
>>904
図は下のです。
説明文に付け加えがありましたので、この図に追加しておきました。
http://2sen.dip.jp:6740/cgi-bin/upgun/up1/source/up0817.gif

908 名前:900 []:2006/04/16(日) 23:49:49
どなたか>>900わかるかたいらっしゃいませんか?
お願いいたします。

909 名前:デフォルトの名無しさん[sage]:2006/04/17(月) 01:23:58
>>900
404やん

910 名前:900 []:2006/04/17(月) 02:20:22
>>909
>>901で修正したものを使ってください。
間違えてすみません。

911 名前:デフォルトの名無しさん[sage]:2006/04/17(月) 04:26:29
>>910
ああ・・ほんとだ
ちゃんと見てなかったごめん

912 名前:897 []:2006/04/17(月) 09:30:08
一応、自分で途中まで組んだファイルなのですが、
読み込んだファイルのそれぞれのダブル値は出力する事が出来るのですが、
それぞれのダブル値を足した結果を出力するにはどういう風にすれば良いのでしょうか?

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27540

913 名前:897 []:2006/04/17(月) 09:36:13
ファイルではありませんorz
途中まで組んだソースです。

914 名前:デフォルトの名無しさん[sage]:2006/04/17(月) 10:42:48
ほとんど出来てるよーな。
最初のほうで double sumDouble = 0; としておいて、
inputDouble = dis.readDouble();の後に次の行を追加。
sumDouble += inputDouble;

後は自力でできるな。

915 名前:897 []:2006/04/17(月) 11:14:17
>>914
ありがとうございます。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27541
のようになりました。

新しいダブルの数値を求めるセクションを作る場合、
新しくwhile文を作って、その中で
if (newInputDouble < 0){
newInputDouble *=(0.1);
という処理を行って出力する、といったやり方をするのでしょうか?

916 名前:デフォルトの名無しさん[sage]:2006/04/17(月) 11:33:45
新しくwhile作ったら、また1からファイル読み直さなくちゃいけないじゃん。
while内部に追加してOK。

917 名前:897 []:2006/04/17(月) 13:01:44
>>916
ありがとうございます。
サンプルアウトプットのように出力されるようになりました。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27542

さらにこの結果をファイルとして、出力し、
すでにファイルが出力されている、上書きをする場合エラーメッセージを表示、
出力の処理後、ユーザーにプログラムを使い続けるか、やめるかを
訪ねるようにしないといけないのすが、これはどのようにすれば良いのでしょうか?

918 名前:デフォルトの名無しさん[sage]:2006/04/17(月) 13:58:52
>>900
適当かもしれんがこれで要求は満たしてるはず
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1748.zip

919 名前:900 []:2006/04/17(月) 16:18:09
>>918
ありがとうございます。動きました。
適当だなんてとんでもないです。

920 名前:デフォルトの名無しさん []:2006/04/17(月) 22:22:46
課題2
初期化された配列が与えられている場合,その配列の要素の中で最大の数と最小の数の両方を表 示するプログラムを作りなさい. ここで,配列を初期化するとは,

int[] data = {31, 41, 59, 26, 53, 58}
のようにすることを言う.配列の初期値のデータと個数は,各自自由に決めてかまわない.ただし,個数が変わっても,プログラムを一切変更する必要がないように,プログラムを作成すること.

お願いします。

921 名前:デフォルトの名無しさん[sage]:2006/04/17(月) 22:33:49
int[] data = {1,2,3,4,5,6,7,8,9,10};
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int i=0; i < data.length; i++) {
int d = data[i];
if (min > d) {
min =d;
}
if (max < d) {
max = d;
}
}
System.out.println ("MAX = " + max + " : MIN = " + min);

いま適当に書いたから動作確認ナシ

922 名前:デフォルトの名無しさん []:2006/04/17(月) 22:41:49
>>921
どうもありがとう。
助かりました。

923 名前:902 []:2006/04/18(火) 13:45:03
すみません、どなたか>>902が出来ていませんでしょうか?

924 名前:682兼897 []:2006/04/18(火) 13:52:43
>>869
課題の結果が帰ってきました。
バブルソートの所以外は完璧で28点でした。

課題の7で、
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27549
のソースで新しい計算結果のファイルのアウトプットをするのですが、
出力先に同じファイルがあり、それを選んだ場合、上書きをしますか?
という選択をさせ、キャンセルをした場合はまた出力先を選ぶ画面に戻り、
OKを押した場合は上書き保存されるようにしたいのですが、
どのようにすれば良いのでしょうか?

925 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 15:02:58
>>923
今からやっても間に合いそうならやるけど?

926 名前:925[sage]:2006/04/18(火) 15:24:36
・・・って問題文をみたら、不確定要素が多すぎて手を付けられないカンジ。
Commandで入力をハンドルするのか? Editorじゃなくて?
普通はCommandをインターフェースにして、それぞれの実装クラスつくると思うけど。

927 名前:デフォルトの名無しさん []:2006/04/18(火) 15:59:43
漏れもチャレンジしようと思ったけど
InputIFのinput()の戻り値がdoubleである意味が分らなくて諦めた

928 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 16:55:30
【 課題 】正の整数とその逆数とを1つの配列要素とする配列がある。
配列要素は最大30である。
1)この配列の要素を作るプログラムを書け。
2)この配列から最小の整数を見つけるプログラムを書け。
つまり、[(a1 , 1/a1),(a2 , 1/a2),(a3 , 1/a3),・・・(ai , 1/ai)]の中から最小のaiを見つける。
【 期限 】今日中に
【 補足 】ヒントとして、以下のプログラムの不等号を逆にすればいいという風なことを言われました
public class Example{
public static int findMaximum (int[] a){
int result = a[0];
for(int i = 1; i < a.length; ++i)
if(a[i] > result)
result = a[i];
return result;
}
}

よろしくお願いします

929 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 17:09:30
>つまり、[(a1 , 1/a1),(a2 , 1/a2),(a3 , 1/a3),・・・(ai , 1/ai)]の中から最小のaiを見つける。
ってどういうこと?
正の整数の中で最小のもの、逆数の中で最小のものって意味じゃなくて?

930 名前:928[sage]:2006/04/18(火) 17:27:24
正の整数のうち最小のものを求める、ってことです

931 名前:デフォルトの名無しさん []:2006/04/18(火) 17:57:03
意味不明

932 名前:897 []:2006/04/18(火) 18:01:55
課題7のファイルアウトプット、どなたかお願いします…orz

status = chooser.showSaveDialog(null);
if (chooser.getSelectedFile().exists()){
int answer = JOptionPane.showConfirmDialog(
chooser,
"Do you want to over write?",
"check to over write",
JOptionPane.YES_NO_OPTION
);
if (answer == JOptionPane.YES_OPTION){
chooser.getSelectedFile();
}else{
chooser.getSelectedFile();}
}else{
System.out.println("Must select output file.");
System.exit(0);
}

これだと、まったく違う出力ファイルが作られてしまいます…orz

933 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 18:04:00
>927
全く同じ感想を持った・・


934 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 18:40:35
>>932
ファイルへの書き込みは?

935 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 18:43:21
ああ、ごめん、ちゃんと見てなかったわ

936 名前:902[sage]:2006/04/18(火) 19:15:39
上の問題文のプログラムを何週間かかけてGUIに仕立てていくらしいのですが、
もしよろしければ、やっていただいた部分だけでも構いませんので
参考にしたいので上げていただければ助かります。

937 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 19:29:50
>>932 試してないけど多分これでOK
while(chooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION){
if (!chooser.getSelectedFile().exists() ||
(JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(
chooser,
"Do you want to over write?",
"check to over write",
JOptionPane.YES_NO_OPTION )) ){
//ファイルに出力する処理
break;
}
}


938 名前:928[sage]:2006/04/18(火) 20:41:21
すいません読解力不足でした
>>929の通りです、お願いします

939 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 21:18:13
>>928は元の問題を全て晒したほうがいいと思うぞ。
意味不明すぎでエスパーに来て貰わないと。
もし、元の課題が928のとうりなら課題を出したやつ窓から放りなげろ。

940 名前:デフォルトの名無しさん []:2006/04/18(火) 21:22:04
仕様書ってどれだけ大事かよく分るスレ

941 名前:928[sage]:2006/04/18(火) 21:24:42
>>939
これで問題文の通りでした
一応確かめてみたのですが自分で考えろと投げられてしまって。
(2)はどうもよくわからないのでとりあえず(1)だけでも解いておきたいのですが…

942 名前:デフォルトの名無しさん []:2006/04/18(火) 21:40:48
class A{
private int a;
private double inva;

public A(int a){
if (a <= 0)
throw new IllegalArgumentException();
this.a = a;
inva = 1/(double)a;
}

こんなクラスを配列にするってことか?

public static A[] createA(int num){
A[] a = new A[num];
Random random = new Random();
int rnd;
for (int i = 0; i < a.length; i++){
rnd = random.nextInt();
if (rnd <= 0)
i--;
else
a[i] = new A(rnd);
}

return a;
}

943 名前:デフォルトの名無しさん []:2006/04/18(火) 21:42:44
>>929
これの通りならaiの最小のものと最大のものを探せばいいだけだな

944 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 21:59:55
>正の整数とその逆数とを1つの配列要素とする配列がある。
きっとここが重要なんだよ

945 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 22:11:52
>>936
あれ、書かれてるクラス以外は作っちゃダメなんかね?
内部クラスとか、例外とかも。
指定された通りに作ると、素敵に酷いモノが出来そうなんだが。

946 名前:デフォルトの名無しさん[sage]:2006/04/18(火) 22:35:52
>>945
同感
クラス構成の条件が邪魔だ
自由に作って良いなら楽でいいんだが


947 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 00:06:57
>>928
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27550

948 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 00:33:49
>>928はおそらく4月から学校でJavaをやり始めてまだ講義も1、2回程度しか受けてないと思われる
例外投げるどころかクラスというのも教わってないんじゃないかな?
>>947のをそのまま提出しちゃっていいのかな?

949 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 00:53:37
ぶっちゃけ>>928と同じことをやってるんだが、これは一応1年間Javaをやった上で出された。
そもそもの問題文の意味がわからなかったのはどうしようもなかったが…

因みに自分は配列とかを使って全部メインメソッド内でおさめてしまった。
携帯からなんで+自分も未提出なのでソース貼れずごめん。

950 名前:デフォルトの名無しさん []:2006/04/19(水) 01:03:49
【課題提示用テンプレ】
【 課題 】タイマーの作成
【 用語 】
【 期限 】20日木曜日まで
【 補足 】学会などで使うタイマーです。
画面いっぱいに残り時間(または経過時間)が表示されるものがいいらしい。。
お願いします!


951 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 01:18:41
高橋メソッドでいいんじゃね?
ttp://lab.ajibit.com/pukiwiki.php?Flash%2F%B9%E2%B6%B6%A5%E1%A5%BD%A5%C3%A5%C9%A5%DE%A5%B7%A1%BC%A5%F3

952 名前:897 []:2006/04/19(水) 01:49:46
>>937
ありがとうございます。
ですが、保存先を指定するところが2回、出てしまいます。
あと、保存先を指定する所でキャンセルを押した場合、
「終了しますか?」という質問を出して、YESにしたら終了し、
NOを押したらそのまま保存先を指定する所を続けたいのですが
どうすれば良いのでしょうか…
ここだけで数時間迷っています。


953 名前:936[sage]:2006/04/19(水) 01:52:06
今日の講義で拡張要求が出ましたので改めてお願いします。
整理の意味も入れて、改めてテンプレから作り直すことにします。

【 課題 】
問題文(>>902と同じです)
ttp://2sen.dip.jp:6740/cgi-bin/upgun/up1/source/up0806.txt
問題文欠落部分(>>908と同じです)
ttp://2sen.dip.jp:6740/cgi-bin/upgun/up1/source/up0817.gif
拡張要求分
ttp://2sen.dip.jp:6740/cgi-bin/upgun/up1/source/up0866.txt

【 用語 】ないと思いますが、ありましたら聞いてください。
【 期限 】来週月曜終日までにお願いします。
【 Ver  】何でも大丈夫です。
【 補足 】懲りずに丸投げです。

クラス構成の条件については
今は作成者の方々に自由にお任せしますのでぜひお願いします。

954 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 02:14:08
>>950
まさにこんなのじゃないの?
http://www.mpi-sb.mpg.de/~hitoshi/otherprojects/timerclock/index-j.shtml

955 名前:897 []:2006/04/19(水) 06:44:32
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27551

一応、完成したことはしたのですが読み込んだファイルを出力する時に、
上書きしようとするとエラーになってしまいます...orz
どうすればエラーを起こさずに出力されるのでしょうか?

956 名前:897 []:2006/04/19(水) 07:08:41
上の意味ですが、読みこんだファイルを、
読みこんだファイルに上書きしようとすると、エラーを起こすという意味です。
例えば、1というファイルを読みこんで2というファイルで出力をし、
また1を読みこんで2に上書きをしても問題はないのですが、
1を読み込んで、1に上書きをするとエラー出力され、1のデータファイルが
からっぽになってしまいます。


957 名前:897 []:2006/04/19(水) 08:10:12
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27552

すいません、こちらのソースでしたorz

958 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 08:49:04
その数字コテ意味ないよ、問題文がある所のレス番号にするとかしてくれないかな
>>897をたどっても雑談書いてあるだけだしその先の>>682はアレイ(並列)のプログラムとか書いてあるしさ
同じ人が毎週宿題持ってくるのは普通のことだから、レス本文に書く程度でいいと思う

959 名前:デフォルトの名無しさん []:2006/04/19(水) 09:17:56
>>958
すいませんでした。
問題文自体は、>>906に書いてあります。

これの最後の方にある課題の補足ですが、読み込んだファイルを元に
新しく計算した数値の情報をファイルとして出力しないといけないのですが、
出力する時にファイル名を決めるのですが、すでに同じ名前のファイルがある場合、
上書きするか?と訪ねて「NO」を選択したら「終了するか?」と訪ねて「NO」を選んだ場合は、処理続行で
また出力ファイルの選択画面に戻り、「YES」を選んだ場合は終了させるようにします。
上書き処理に戻りますが、「YES」を選択したら現在あるファイルが上書きされます。
もし、その時、同じ名前のファイルがない場合は普通に出力されます。
>>957にあるように自分で組んでみたのですが、>>956にある通り、

読みこんだファイルに上書きしようとすると、エラーを起こします。
例えば、1という名前のファイルを読みこんで2というファイル名で出力をし、
また1を読みこんで2に上書きをしても問題はないのですが、
1を読み込んで、1に上書きをするとエラー出力され、1のデータがからっぽになってしまいます。
あと、ここの計算セクションの「ファイルはexistしているか」、「ファイルが出力出来ない場合はSystem.outputでエラー文を出す」
という部分が定かではないです。

長文になりましたが、よろしくお願いします。これ以上の混乱を避ける為、数字コテははずしました。

960 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 09:25:40
大学行ってもこれじゃあ無駄だよね
コミュニケーションの講義受講したほうがよほどJAVA学習に役立つよ

961 名前:937[sage]:2006/04/19(水) 10:03:10
>>897
>保存先を指定するところが2回、出てしまいます。
試してみたけどちゃんとなってるよ。どうやったんだ?

>1を読み込んで、1に上書きをするとエラー出力
読み込みファイルを閉じないで書き込んでるからじゃね?
後、>957のソースだと、1回目にダイアログで指定した保存先のみ有効で、2回目以降は無視されてるぞ。
こんな感じか。
outputloop: while(true){
switch(chooser.showSaveDialog(null)){
case JFileChooser.APPROVE_OPTION:
if (!chooser.getSelectedFile().exists() ||
(JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(
chooser, "Do you want to over write?",
"check to over write",
JOptionPane.YES_NO_OPTION )) ){
//ファイルに出力する処理
break outputloop;
}
case JFileChooser.CANCEL_OPTION:
if(JOptionPane.OK_OPTION != JOptionPane.showConfirmDialog(chooser,
"Do you want to continue?",
"Warning",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE) ){
break outputloop;
}
break;
}
}


962 名前:健二 []:2006/04/19(水) 10:21:12
フィボナッチ数列、fib(0)=1,fib(1)=1,fib(n)=fib(n-1)+fib(n-2) N>=2、の
フィボナッチ数をnが0から100まで示すプログラムの続きを作れというもの
どうかけばいいかわかりません。誰か教えてください。system.out.println("fib(+i+)="+a);
を使うとの条件もあります。
public class Fibonacci{
  public static void main (String arg[]){
long a=0: // aにフィボナッチ数をいれる

    このあと?

   }

963 名前:デフォルトの名無しさん []:2006/04/19(水) 10:36:05
>>962
>>1読んで来い

964 名前:デフォルトの名無しさん []:2006/04/19(水) 10:42:57
>>961
レス、ありがとうございます。

>保存先を指定するところが2回、出てしまいます。
ですが、自分のソースに加えると二回でてしまいます…。

>読み込みファイルを閉じないで書き込んでるからじゃね?
とありますが、どのようにやれば良いのでしょうか?

961さんのソースを加えて実行しても、
同じファイルを読みこみ、同じファイル名で保存をすると、

Number of values read: 0
Sum of original values: 0.0
Average of original values: NaN
Sum of new values:0.0
Average of new values: NaN

と出力されます。

965 名前:937[sage]:2006/04/19(水) 12:34:58
>957のソースから、
1.//Error message for selecting an output file. から//calculate section を削除
2.dos = new DataOutputStream(new FileOutputStream(outFile)); を削除
3.dos.writeDouble(newInputDouble); を削除
4.//output の次の行に dis.close(); を追加
5.さらにその次に>961を追加
6.//ファイルに出力する処理 の次の行からファイルに出力する処理を書く。

これで駄目なら入力するファイルの内容が正しいか疑え。

966 名前:健二 []:2006/04/19(水) 14:55:51
>962の課題は上記ですべてです。上記のプログラム以降を完成しろというものです。
誰か、教えてください。

967 名前:デフォルトの名無しさん []:2006/04/19(水) 15:03:41
失せろ

968 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 15:54:53
>>936
InputIFの戻り値がdoubleである意味を教えてくれ。
入力されたコマンドはStringなんだから、これじゃ拾えないぜ。
コマンドの判定は別でやって、数値入力だけはこれ使えってか?

ここがわからないと手の付けようがない。

969 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 16:05:10
>966
longじゃ駄目だろ。100まで届かない。問題作成者に確認しろ。

970 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 16:05:17
クラスの構成条件も勝手にやっていいってことだからインターフェースも勝手に作ればいいんじゃね?

971 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 16:05:25
>>968
そういうことなんじゃねーの?
戻り値doubleってのがおかしいよな
まあ全て数字で入力させて
Double.parseDouble()で変換していくという手もあるが・・

せめてStringが戻ってくるのが筋のような気もする

972 名前:デフォルトの名無しさん []:2006/04/19(水) 16:06:15
>>966
日本語の勉強して来い
>>1の通りのテンプレを使って書け>>962も間違ってる所を直してな

973 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 16:29:29
>>962
このあと?って何だよ、何も作ってないじゃないか

974 名前:デフォルトの名無しさん []:2006/04/19(水) 16:33:31
public static long fib(int n){
if (n == 0 || n == 1)
return 1;
else
return fib(n-1) + fib(n-2);
}

975 名前:健二 []:2006/04/19(水) 17:28:46
>969 >966
80まででした。すみません。

976 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 17:37:42
これであってるはず。
long f_2 = 0;
long f_1 = 0;
long f_0 = 1;
for(int i=0;i<=80;++i){
System.out.println("fib("+i+")="+f_0);
f_2 = f_1;
f_1 = f_0;
f_0 += f_2;
}


977 名前:健二 []:2006/04/19(水) 17:43:10
>976
さっそくありがとうございます。
でも、aにフィボナッチ数をいれるためには
f_0=aとおきかえればいいんですか?
すみません、初歩的で

978 名前:デフォルトの名無しさん []:2006/04/19(水) 18:29:19
以下のURLのpdfファイルの一番最後の課題宜しくです。
http://www.makino.ecei.tohoku.ac.jp/~aito/java/2.pdf

979 名前:デフォルトの名無しさん []:2006/04/19(水) 18:34:32
お前バカだろ

980 名前:デフォルトの名無しさん []:2006/04/19(水) 18:38:50
牧野研究室の学部生乙

981 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 19:01:23
プログラミング演習Bをとってる学生、だな

982 名前:デフォルトの名無しさん []:2006/04/19(水) 19:11:50
通報しますた

983 名前:デフォルトの名無しさん []:2006/04/19(水) 19:58:54
課題:コマンドライン引数に負の値が含まれている場合に、独自の例外を生成するプログラムを作れ。

途中まで作ったのがありますので、それを元にお願いできますでしょうか?

import java.util.*;
class Kadai{
publicstatic voidmain(String args[]){a();}
static void a(){try{b();}
catch(Exception e){e.printStackTrace();}
}
static void b() throws ExceptionA{
try{c();}
catch(ExceptionB e){e.printStackTrace();}
}
static void c() throws ExceptionA,ExceptionB{
int a = Integer.ParseInt(args[0]);
if(a < 0){throw new ExceptionA("We have a -");}
else{throw new ExceptionB("We have a +");}
}}
class ExceptionA extends Exception{
public ExceptionA(String message){super(message);}
}
class ExceptionB extends Exception{
public ExceptionB(String message){super(message);}
}


よろしくお願いいたします。

984 名前:デフォルトの名無しさん []:2006/04/19(水) 20:37:34
i-appliというかjava全般のことですが、
変数を宣言すると、メモリのスタック領域に
アドレスが書き込まれますよね。

たしか、一律 4byte だったと思うんですが、
( intだと 4byte * 4byte ? )
これって、配列変数を宣言した場合も
同じなんでしょうか。

つまり、配列の先頭アドレスだけじゃなくて、
全要素分、アドレスがスタックに取られるんでしょうか。


985 名前:デフォルトの名無しさん []:2006/04/19(水) 20:37:46
ゲット


986 名前:デフォルトの名無しさん []:2006/04/19(水) 20:38:18
ゲット

987 名前:デフォルトの名無しさん []:2006/04/19(水) 20:38:56
ゲット

988 名前:デフォルトの名無しさん []:2006/04/19(水) 20:40:01
m8 (+_+) 9m gets

989 名前:デフォルトの名無しさん []:2006/04/19(水) 20:42:49
990ゲット

990 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 20:43:00
あなたのWebコンテンツをHTML4.01Strictに従うように変換するために
使用することができるウェブページテーブル形式アプローチについて
述べているのはどれですか?

A.スペースとリターンで<PRE>タグを使用しているHTMLテーブルをフォーマットする
B.フレームでウェブページを構造化するためにHTMLテーブルを使用する
C.テーブルヘッダーとコラムを作成するためにHTMLタグの代わりにCSSを使用する
D.表にされたテキストをフォーマットするために<PRE>タグの代わりにHTMLテーブルタグを使用する


991 名前:デフォルトの名無しさん []:2006/04/19(水) 20:43:28
990ゲット

992 名前:デフォルトの名無しさん []:2006/04/19(水) 20:45:22
ダメか、1000を目指す

993 名前:デフォルトの名無しさん []:2006/04/19(水) 20:46:46
ゲット

994 名前:デフォルトの名無しさん []:2006/04/19(水) 20:47:16
ゲット

995 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 21:03:51
>>978
東北大学ゆうやたら川島教授やろ

996 名前:デフォルトの名無しさん []:2006/04/19(水) 21:17:23
もうすぐ1000

997 名前:デフォルトの名無しさん []:2006/04/19(水) 21:18:12
997

998 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 21:51:37
★★ Java の宿題ここで答えます Part 56 ★★
http://pc8.2ch.net/test/read.cgi/tech/1145447187/

999 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 22:30:50
1000ドゾー↓

1000 名前:デフォルトの名無しさん[sage]:2006/04/19(水) 22:33:05
1000げっとーーーーーー!!

1001 名前:1001 []:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

429 KB
全部 最新50
DAT2HTML 0.33dp Converted.
inserted by FC2 system