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

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

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

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

【前スレ】
http://pc8.2ch.net/test/read.cgi/tech/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デフォルトの名無しさん:2006/01/26(木) 23:52:56
>>6
★★ Java の宿題ここで答えます Part 54 ★★
http://pc8.2ch.net/test/read.cgi/tech/1133778112/989
8デフォルトの名無しさん:2006/01/27(金) 01:14:07
6です有難うございました
9デフォルトの名無しさん:2006/01/27(金) 01:16:08
【 課題 】String型の数字101をint型に変える方法教えて下さい。
【 期限 】できるだけ早くお願いします
【 補足 】丸投げです。よろしく

10デフォルトの名無しさん:2006/01/27(金) 01:27:36
Integer#parseInt()
11デフォルトの名無しさん :2006/01/27(金) 06:11:05
【 課題 】アプレットを使用して入力した3桁の数字を一桁づつ分けてgif画像を並べて表示させるプログラムお願いします
【 期限 】出来るだけ早いとありがたいです。
【 補足 】183の場合 1の画像 8の画像 3の画像てな感じでお願いします。
12デフォルトの名無しさん:2006/01/27(金) 10:58:49
Javaの課題でJFrameを使い文字のスクロールを作れと言われました。
右側のある一定の場所から始まり、左側もある一定の場所まで行ったら、
右側の最初の位置に戻って文章を最初から描画したいのです。
どうやってもできないので、よろしくお願いします。
後流す文字は全角でお願いしますorz
期限が本日の放課後までなので、なるべく早くお願いしたいです・・
13デフォルトの名無しさん:2006/01/27(金) 11:02:12
>>11
8.gifとか言う名前なんか?

>>12
意味不明なのだすが
14デフォルトの名無しさん:2006/01/27(金) 11:14:04
こうじゃね?

  左の場所                   右の場所
                          ス
                    スジャータが
           スジャータが2時をお知らせ
  スジャータが2時をお知らせします
  ジャータが2時をお知らせします     ス
  が2時をお知らせします     スジャータ
15デフォルトの名無しさん:2006/01/27(金) 11:40:00
何その腹が立つ文字列
16デフォルトの名無しさん:2006/01/27(金) 11:46:06
スジャータナツカシスw
何となく解るからいんじゃね
1711: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文と配列のみで組むこと。

1912:2006/01/27(金) 13:25:02
>>14さんが説明してくださってる通りです。
わかりにくくてすいません;
後一文字ずつスクロールさせたいのでよろしくお願いします。
20デフォルトの名無しさん:2006/01/27(金) 13:37:47
>>17
並べてって何か指定されてる?
画像の大きさとか並べ方とか
21デフォルトの名無しさん:2006/01/27(金) 15:10:37
>>20
同じ大きさで画像横に3つ並べてです。
22デフォルトの名無しさん:2006/01/27(金) 16:25:59
■課題
(1)A店とB店のアイスの値段を入力して比較し、以下のように表示するプログラムを書け。
(画面表示例)
A店のアイス値段=○○○○
B店のアイス値段=○○○○
◇◇◇◇の方が△△△△より○○○円やすい。
(2)以下の仕様要求を実現するプログラムを書け。
仕様要求:0度から90度までのcos関数の値を画面に表示する。
(画面表示例)
x(度)    cosx

0 *****

1 *****

2 *****

: :

: :

90 *****
(下に続きます)
23デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/27(金) 17:31:36
>>20
バーボンハウスに捕まってた
今からやるわ
25デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/27(金) 18:04:19
25様>有難う御座います。はりきって直します。
28デフォルトの名無しさん:2006/01/27(金) 19:58:14
29デフォルトの名無しさん:2006/01/27(金) 20:37:54
>>27
なんか知らんがワロタ
30ganma: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デフォルトの名無しさん: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:2006/01/27(金) 22:28:12
35デフォルトの名無しさん:2006/01/27(金) 22:28:41
>>31
作ってみたんですがエラーは出ないのに実効ができません。すみませんですけど3*3も作ってくれませんか?
36デフォルトの名無しさん:2006/01/27(金) 22:46:20
>>35
>>33が作ってるがな
37デフォルトの名無しさん:2006/01/27(金) 22:49:01
と思ったが>>33つっこみどころ満載だった
38デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/27(金) 22:57:04
>>38
有難うございました。
40デフォルトの名無しさん:2006/01/27(金) 23:01:24
>>39
まて
g.drawImage(img[i][j],i*100,j*100+100,100,100,this);
のiとjを入れ替えれ
41デフォルトの名無しさん:2006/01/28(土) 13:44:18
【 課題 】「キーボードから入力して入力された文字をアスキーコードより変換し出力せよ」という問題がでました。
【 期限 】 29日昼
【 補足 】Integer.toString(int i, int radix)
      Integer.parseInt(String s, int radix)のどちらかを使うみたいです。
      入力文字数は3文字で出力はSystem.out.printlnでお願いします。


42デフォルトの名無しさん:2006/01/28(土) 14:17:10
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デフォルトの名無しさん:2006/01/28(土) 15:13:31

行列廚ウザス
47デフォルトの名無しさん:2006/01/28(土) 15:27:01
行列の宿題出すってことは間違いなく授業中に計算の方法の実現教わってるはずなんだよなぁ
なのになんでできないのかね?
10分くらいしか考えてないんだろ
48デフォルトの名無しさん:2006/01/28(土) 15:36:44
>>45
ここで相談して御覧よ

http://www.ntv.co.jp/horitsu/
49デフォルトの名無しさん:2006/01/28(土) 15:39:01
ワロシュw
50デフォルトの名無しさん:2006/01/28(土) 15:41:44
( ̄w ̄) ぷっ
51デフォルトの名無しさん:2006/01/28(土) 15:44:04
javaの実行の仕方ですが、classpathから実行するコマンドって何だったでしょうか?
5246:2006/01/28(土) 16:01:13
>47
別に質問者が自分で考えようが考えまいがそんなことはどうでもいい。

もうすでに答えを出しているのに、それに対して何のレスポンスもせず、
ただただ同じトーンで質問を投げてる、というのがすごく嫌。
53>>41: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;
}
}
5543: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デフォルトの名無しさん:2006/01/28(土) 18:07:56
>56
いくらなんでもそれは無理矢理過ぎ。
58デフォルトの名無しさん:2006/01/29(日) 13:11:17
どんどん書き込んでロ!!
59デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/29(日) 17:20:16
【 課題 】画像データに他のデータを埋め込むステガノグラフィをプログラミングせよ。
      ただし、画像は白黒のbmp画像で、埋め込むデータの容量はできるだけ大きくすること。
【 期限 】1月30日中にお願いします。
【 補足 】丸投げです、すいません。
      画像に他のデータを埋め込むプログラムは初めてで全くわかりません。
      難しいかもしれませんがよろしくお願いします。
66デフォルトの名無しさん:2006/01/29(日) 17:27:11
64様>はいそうです!4.は(5)と表記するのを間違えました…。済みません!!
ststemtimeクラスは設定されたときの時間をそのまま持っていればいいだけ
だと思います。時計としての機能〜というのは聞いてなかったので。

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

67デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/29(日) 20:35:56
>>66
様とかつけんでいいから「>>レス番号」という風にしてくれ。
69デフォルトの名無しさん:2006/01/29(日) 20:51:44
>60
タイマー針をマウスドラッグで動かせるようにするにはどうすればいいんだろ?
思い付かないなあ。
70javaです: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/29(日) 23:28:41
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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/30(月) 00:19:38
>>79
> public class MyPanel extends JPanel
>  public MyPanel(MyFrame myFrame) {
>   myPanel.add(bclear); //ここでmyPanelを使えるようにしたい(アクセサーを利用らしいです)

この myPanel は何者だろう
もし、このコンストラクタで生成するインスタンスならば、
add(bclear);
で問題ないのだが・・・
84デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/30(月) 00:25:33
>>78-82>>84で以上です。
長くなってしまいました・・・。
こちらの拙いソースに不備があればその点もおっしゃって頂ければ幸いです。
86行列厨の72:2006/01/30(月) 00:54:46
72だけど>>59で指摘されてはじめてスレ1からみたけど糞ワロタ
たしかにうざいかもしれんね
まぁ先生に言っといてくれw
8778:2006/01/30(月) 01:47:29
>>83
変数myPanelはMyFrame.javaで定義するようなっているので
どうにかしてMyPanel.java内で使用したいのですか・・・。
そのためにはアクセサーを組むようにすれば可能とは聞いたのですが
どうしてもわからずにこのスレで質問させていただいた次第です。
8883: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);・・・でいいんじゃない?
9083: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デフォルトの名無しさん:2006/01/30(月) 03:07:28
>>91
>>70 と同じ臭いがする(´・ω・`)
93デフォルトの名無しさん:2006/01/30(月) 03:15:08
91ですがRungeKutta法を使ってのプログラムです
94デフォルトの名無しさん: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
9665:2006/01/30(月) 06:00:16
>>67
返事遅れましたがありがとうございます!!
しっかり埋め込むことができました!!

元画像の容量をなるべく変えずに埋め込むことって可能でしょうか??
あつかましくてすいませんが何かアドバイスあったらお願いします!
97デフォルトの名無しさん:2006/01/30(月) 08:49:36
整数値ビット単位演算子の式で  data[62]&0xFF
というのが出て来たのですが、この"0xFF"が何を意味するのか判りません。
どなたかご存知でしたら教えて下さい。
98デフォルトの名無しさん:2006/01/30(月) 09:05:08
>>97
「0x〜」は16進数表示であることをあらわす。
16進数のFFは10進数で表現すると255。
2進数で表現すると11111111。

data[62]&0xFF は 「data[62]の下位8biitを取り出す」ことを意味する。
99デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/30(月) 12:47:04
>96
埋め込みデータを圧縮するとか?
>101
XMLデータも作れ、と言ってる?
いくらなんでもそれは。。
10378:2006/01/30(月) 13:07:24
動作しました。
レスくれた方々、ありがとうございます、並びに申し訳ありませんでした。
特に>>90のレスは大変タメになりました。
104デフォルトの名無しさん:2006/01/30(月) 14:00:12
テンプレ使えYO!
10559:2006/01/30(月) 16:01:08
59だけど、前スレ918は>>72なん?
だとしたら大学違うがナー
前スレ918と>>20は同じなら大学同じなんだが・・・
まぁもうこのスレにいねーかな、もう言っちゃったしまぁいいかw
106デフォルトの名無しさん:2006/01/30(月) 17:05:59
>>105は100%童貞
107デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/30(月) 17:29:05
>108
だーかーらー。
>71の返事は?

つか、>70のまんまコピペじゃん。
答えてもらえない場合、なんか工夫しようとは思わんのかね。
111デフォルトの名無しさん:2006/01/30(月) 18:43:28
>>109
君の馬鹿「レス」で他の人の「レス」が流されるのって迷惑なんだよね。が正解
2ch初心者は半年ROMってろクズ
あ、先生に言われたから単位取れなかった阿呆ですか?^^^

ってかこのスレsage基本ですか?
112デフォルトの名無しさん:2006/01/30(月) 18:46:13
>>111
同一人物と勘違いしたあほうですか・・・
113デフォルトの名無しさん:2006/01/30(月) 18:53:01
>>112
ですか?って聞いてんだから同一人物と思ったわけじゃない
あんたも言ってるでしょ?
>もし進め具合がほぼ一緒で同じ章を勉強してたとしたら
>同じような問題を宿題に出しても不思議じゃないよね?
ってな、別に>>111が同一人物じゃなくても当てはまるわけだ
俺叩いてる暇があったら親の肩でも叩いてろ
君の馬鹿「スレ」で他の人の「スレ」が流されるのって迷惑なんだよねwww
114113: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デフォルトの名無しさん:2006/01/30(月) 21:56:00
随分と荒れている。オレの課題やってもらえた後でよかった・・・。
もっとマッタリいきましょうよ。ねえ。
117デフォルトの名無しさん:2006/01/30(月) 21:56:51
11860:2006/01/30(月) 22:23:42
>>117とても凝ったプログラムを作っていただきありがとうございました!
119デフォルトの名無しさん:2006/01/30(月) 22:27:47
【課題】XMLファイルを操作するクラスを設計せよ。
【回答者】125

ヨロシク!
120デフォルトの名無しさん: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日ですが、できれば早めにお願いします
122120: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
123108: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 が図形上に求められたことになる
124108: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 が図形上に求められたことになる。
125108: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つ必要です。
126108: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 が図形上に求められたことになる。
127108:2006/01/30(月) 23:31:17
110さん。108です。
2chはじめてなんでよくわかんなくてすいません。
以上が調べたオイラー法とルンゲグッタ法の説明です。
128デフォルトの名無しさん: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番号が重複するというエラーが出てきます。最悪、そのサー
バ自体をリブートかければできるのですが、それはダメといわれているので、、、

続く
131130: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デフォルトの名無しさん:2006/01/31(火) 16:10:27
ステータス行に得点を表示させるにはどうしたらいいですか?
136デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/31(火) 17:21:55
>>22>>23です。
頂いたプログラム上手く行きました!有難う御座いました!
お礼と動作確認が送れてしまい申し訳有りませんでした…。
138デフォルトの名無しさん: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デフォルトの名無しさん:2006/01/31(火) 21:03:25
>136
26が「Z」という文字一文字だったら27進法なんじゃないの?
例に「ゼロ」への対応方法がないのでそのへんよく分かりません。

と書き込もうと思ったら>140さんが答え出した。
142デフォルトの名無しさん:2006/01/31(火) 21:07:15
>>139
従わないのは答えなくていいよね
143デフォルトの名無しさん:2006/01/31(火) 21:13:10
>142
いいんじゃないの?
テンプレ使わなくても答え貰える、と思われても困るし。
144デフォルトの名無しさん:2006/01/31(火) 21:16:02
隣のC言語宿題スレのテンプレはいろいろ書かねばならないけど、
このJava宿題スレのテンプレでは、【課題】の一つだけが必須で外は任意なのに
それすらもやはり面倒なのか。。。
145140:2006/01/31(火) 21:19:52
バグがあったorz
146141:2006/01/31(火) 21:21:37
>145
というより問題がおかしいと思う。
気にしなくていいと思うよー。
147140: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デフォルトの名無しさん: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 "ガッ";
}
}
149256:2006/01/31(火) 22:57:09
課題】JSPとサーブレットを使い下記の問題を解きなさい。
DBに接続する為にIDとパスワードを入力画面を作成。
入力後、「Select」ボタンを押下しテーブルの選択画面に進む。
テーブルを選択(vegetable)を選択し、「Select」ボタンを押下
し「テーブル名」と「vegetable(列名 No・Name・Money)」の表を
表示させる。
又「Back」ボタンを押下しIDとパスワードを入力画面に戻る
プログラムを作成せよ。
【期限】2月2日ですがなるべく早くお願いします
【補足】ほんとにわかりません。丸投げですいません。
150デフォルトの名無しさん:2006/01/31(火) 23:07:55
未来から来るとはよほど切羽詰ってるな。
151デフォルトの名無しさん:2006/01/31(火) 23:14:36
>121-122
ttp://www.wikiroom.com/java/index.php?SourcePost___#x18a7713
時間とセンスがないのでこれであきらめ。
HashMapにデータ持ってるから、工夫できる余地は色々あるよ。
152デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/01(水) 00:05:06
みなさ〜んテンプレに従わない輩は無視ですからね〜
154デフォルトの名無しさん:2006/02/01(水) 00:07:30
天ぷら!!
155152:2006/02/01(水) 00:20:45
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
追加です、行が多いんで。朝までにおねがいします。
156デフォルトの名無しさん:2006/02/01(水) 00:22:01
こいつまかせて寝る気だぞ
朝、呆然としてる>>152が楽しみだ
157デフォルトの名無しさん:2006/02/01(水) 00:23:36
逆に皆で書きまくってどれをコピペすればいいのか迷わせるのも手かと。
158デフォルトの名無しさん:2006/02/01(水) 00:29:01
でもみんな間違ってるみたいなw
159デフォルトの名無しさん:2006/02/01(水) 00:30:02
つーかこいつevent.*インポートして何したいんだろうな
160デフォルトの名無しさん:2006/02/01(水) 00:37:33
event.* = 画像が動く。
161デフォルトの名無しさん:2006/02/01(水) 04:17:31
>>156-160
せっかく課題を出してくれてる人を茶化してどうするんだ。
このスレの序列は

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

だ。勘違いも程ほどに。
162デフォルトの名無しさん:2006/02/01(水) 08:17:38
回答はボランティアだ。

勘違いも程々に
163デフォルトの名無しさん:2006/02/01(水) 10:26:38
>>140 ありがとうございました。StringBuilder クラスははじめてみたので、
StringBufferクラスに置き換えましたが…
164デフォルトの名無しさん:2006/02/01(水) 11:30:47
>>18です
課題提出が明後日なので
答えて頂ける方おりませんでしょうか?
自分もいろいろ考えたんですが全くわからないので
お願いします。
165デフォルトの名無しさん:2006/02/01(水) 12:32:52
>>161
別にこっちとしては問題なくてだらだらやってるだけでもいいから
出題者は最上位じゃない
気に入らなければやらない
特にテンプレに従わないのはやらない
166デフォルトの名無しさん:2006/02/01(水) 15:42:44
やっぱ2chってくだらない輩の集まりか。
働けボケが
167デフォルトの名無しさん:2006/02/01(水) 15:53:22
回答得られなかったからって・・( ´,_ゝ`)プッ
そのセリフそっくりそのまま返しますよ
ちなみに自分は大学生で試験期間ですがもう試験は終わりました
168デフォルトの名無しさん:2006/02/01(水) 16:53:49
【課題】DOMを使い
クラスの数
クラス当たりのメソッドの数
アクセス属性毎の数
属性の数
メソッドの行の数
メソッド毎のメソッド呼び出しの数
をXMLから取り出しテキストファイルに出力するプログラムを作成せよ。

【Ver】j2sdk1.4.2
【期限】2月2日午前中です 時間が無くてすいません
169デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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
もう完成してるようですが・・・・
174168:2006/02/01(水) 17:38:54
>>171さん
ありがとうございます。

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

言葉足らずで御免
175172: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デフォルトの名無しさん:2006/02/02(木) 00:16:10
>>178
System.out.print
System.out.println
181デフォルトの名無しさん:2006/02/02(木) 00:25:16
>>180
ハッ・・・・・ですよね、すっかり忘れていました。
どうもありがとうございました。
182デフォルトの名無しさん:2006/02/02(木) 00:55:57
あげ
183デフォルトの名無しさん:2006/02/02(木) 01:18:21
iアプリですが、どうか助けてください・・・
【 課題 】四則計算(電卓)
【 用語 】
【 期限 】すでにすぎてます・・・
【 Ver  】DOJA4.1
【 補足 】 丸投げです、四則計算は足し算、引き算のみで再現しなさいと条件が付いています
184121: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 に結果が書き込まれます。
188151:2006/02/02(木) 06:04:37
>184
ヴァージョンの指定がなかったので、JDK5.0使ってます。
もう今から外に出るので、自分でなんとかするか人に頼ってください。
189デフォルトの名無しさん:2006/02/02(木) 07:34:46
>>18
課題お願いします。
190168: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時頃からまた悩んでいます。
191168: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"/>
194177:2006/02/02(木) 10:46:27
早めにお願いします
195デフォルトの名無しさん:2006/02/02(木) 14:34:46
【 課題 】試験の点数(0〜100の整数値)を読み込んで平均を出すプログラム。
点数の入力の終わりは文字列”END”の入力で示す。
正常でない入力に対しては警告を出す。
【 期限 】できるだけ早くお願いします

初歩ですみませんがお願いします。
購入した入門書では最初に人数を入力する方法しか
載っていなかったので分かりませんでした。
すみませんが、教えてください。
196ザイン帝國軍帥・伯壬旭(小島露観):2006/02/02(木) 14:53:28
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デフォルトの名無しさん:2006/02/02(木) 17:11:23
199168: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が出来ます。しかし中を見ると同じ
:ソースコード
となります。
200195:2006/02/02(木) 17:23:30
>>198
有難うございました。とても助かりました。
201デフォルトの名無しさん:2006/02/02(木) 17:36:44
>>199
すみませんが、XMLファイルをここにコピペしてください。
202168: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デフォルトの名無しさん:2006/02/02(木) 18:05:59
>>197の1×2行列と3×3行列のかけ算ができないのは私だけでしょうか?
205168: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
206168:2006/02/02(木) 18:12:24
201デフォルトの名無しさんが抜けておりました。失礼しました。
207デフォルトの名無しさん:2006/02/02(木) 19:26:09
>>205
http://www.wikiroom.com/java/index.php?SourcePost___

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

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

>>レス番号

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

【 補足 】お手数ですが、どうぞよろしくお願い致します。
212168:2006/02/02(木) 20:33:48
207デフォルトの名無しさん本当に有り難うございました!!!
ソースファイル:
クラスの数:1
クラス名:AppletFrame
メソッドの数:2
publicメンバの数:2
メソッド名:startApplet
ステートメントの数:5
メソッド呼出の回数:8
メソッド名:processEvent
ステートメントの数:2
メソッド呼出の回数:2
無事私の方でも出ました。
ご協力いただいた皆様有り難うございました。
213デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/02(木) 21:16:37
>>197
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26983

・・・結果はこれで合ってるのか??
(0.3050 0.3660 0.3290)
216177:2006/02/02(木) 21:26:32
助けてください(〒_〒)
217デフォルトの名無しさん:2006/02/02(木) 21:52:56
課題】ある確立にしたがって、ランダムに記号が表示されるプログラムの作成
 (記号 全5種類【◎ ● ○ ▲ ☆ 】)

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

【 期限 】2月12日

【 補足 】面倒な設定で申し訳ございません。どうか宜しくお願い致します!
218デフォルトの名無しさん: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 ));
 }
}
219218: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

助かります!
どうもありがとうございました!
222256:2006/02/02(木) 23:00:24
>>176
遅くなりましたがご回答ありがとうございました。
何とかOKを頂けそうです。
223デフォルトの名無しさん:2006/02/03(金) 00:13:41
お、回答率が上がってきたぞ!
224209:2006/02/03(金) 00:25:46
>>210 様
ほんとに助かりました。
細かく教えていただいてありがとうございます。
225デフォルトの名無しさん:2006/02/03(金) 00:32:29
【 課題 】GUIをつかってボタンを押されたら入力された実数を1/2にするプログラム
【 期限 】今日(3日)です<(_ _)>

一旦プログラム内で512を与え、整数のみのプログラムを書いてみたのですが。(見よう見まねです)
入力された数を使うやり方と整数ではなく実数の範囲で計算するやり方が分かりません。
今の段階が下です。
どこをどう変えるかだけでもかまいません。丸投げ扱いでもかまいません。
お願いします。
226225: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: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: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();
};
});
}
}
// コメントや解説がなくて悪いが、以上。
230225: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デフォルトの名無しさん:2006/02/03(金) 05:02:15
グラフにグリッド入れようとしてるんですが、実数のため一部グリッドの数値が
5.9999....E120 とかいう表示になってしまいます。有効数字3桁で丸めたいの
ですが、倍精度浮動小数点をうまいこと四捨五入できるアルゴリズムって
ないでしょうか?
234デフォルトの名無しさん:2006/02/03(金) 07:27:59
BigDecimal使え
235デフォルトの名無しさん:2006/02/03(金) 07:56:01
分からないなら無理に答えてくれなくて結構です。
っていうか浮動小数点で扱ってるのに BigDecimal って アフォ ですか?
浮動小数点って何か分かってますか?
236デフォルトの名無しさん:2006/02/03(金) 08:02:54
たまに非宿題人が釣りに来るスレですかここは
業務系しかやったことない人間もいる。察してやれ。
237デフォルトの名無しさん:2006/02/03(金) 08:13:05
>>235
BigDecimal調べたんだろうな?
238デフォルトの名無しさん:2006/02/03(金) 08:37:02
オイオイ 308 桁の BigDecimal 扱わせる気か
239デフォルトの名無しさん:2006/02/03(金) 08:44:46
グリッド線引くだけだろ?どうせ、割り算して浮動小数点になっちゃったからって話と思われ。
240デフォルトの名無しさん:2006/02/03(金) 08:58:10
>>233 で出してる例だけでも e120 と出てるが
科学技術演算なら固定小数点で済ますのはちょっと無理がある
そういえば任意精度固定小数点のクラスはあるのに浮動小数点版はないのな
まぁ多言語も科学技術演算はほとんど別ライブラリか
241デフォルトの名無しさん:2006/02/03(金) 09:10:57
ちょっと強引だが Double.doubleToLongBits() で double のビットパターン取り出して
仮数部を自分で丸めてはどうか。実数を有効桁指定で丸めるのは C やってた頃に
よくやってた気がするんだが、もう忘れたw 俺も思い出したい。誰か知ってたらヨロ
242デフォルトの名無しさん:2006/02/03(金) 09:17:02
あれ、ここって宿題スレであってるよな?
243デフォルトの名無しさん:2006/02/03(金) 09:17:12
ん、IEEE 754 見たら仮数部は 2 のべき乗で入ってるのか。なんか大変そうw
244デフォルトの名無しさん:2006/02/03(金) 09:36:08
>>233
四捨五入でよければ、0.5を足して int にキャストをする(小数点以下切捨て)。
というのはどうでしょうか。
245244:2006/02/03(金) 09:37:39
有効数字3桁か・・・というか、質問スレじゃなかった_no
みんなゴメンね
246デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/03(金) 10:32:49
(´-`).。oO( 俺もBigDecimalにして丸めればいいと思うんだけど・・・ )
249デフォルトの名無しさん:2006/02/03(金) 10:39:44
非常に曖昧な質問で申し訳ないんですが、皆さんのお知恵を拝借したく質問させていただきます。

大学の期末課題で表計算プログラムを書けというものが出たのですが、ほかのセルに入っている式を
参照する機能がありそれを調べて計算しなおすのにトポロジカルソートを使うようにという事なのですが、ネット、本等で調べても
あまり良くわからず、困っています。何となくの実装の指針だけでも結構ですので教えていただけるとありがたいです。
250デフォルトの名無しさん: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
255249 :2006/02/03(金) 18:40:15
256デフォルトの名無しさん:2006/02/03(金) 19:26:02
>>253
まずはテンプレの必要性を理解してくれ
257249:2006/02/03(金) 19:46:24
ホントに場違いな質問で申し訳ないんですが…
テンプレとは何なんでしょうか?
258249:2006/02/03(金) 19:48:22
ホントに場違いな質問で申し訳ないんですが…
テンプレとは何なんでしょうか?
259デフォルトの名無しさん:2006/02/03(金) 19:49:41
260249: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デフォルトの名無しさん: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使ってるからそれ入れて。
263262:2006/02/03(金) 21:38:50
JDK5.0云々のやりとりって一度やってるのね。。忘れてたわw
264262: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/04(土) 00:12:32
初心者の俺でもわかる質問をお待ちしております。
他人の勉強は自分の勉強。
268デフォルトの名無しさん:2006/02/04(土) 00:13:52
>>266
encode何だ?
Shift-JISでもEUCでもマトモに読めないんだが・・・
269266: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)
のファイルが出てくるのでそこでダウンロードしてみてくれませんか?
270266: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行目を少し直すと無事使うことができました。
273260:2006/02/04(土) 13:12:30
>>271
私が今から書くことが果たして答えになっているかどうかはわかりませんが、

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

セル参照についてですがMathExpression内のReferenceというクラスで、定義・計算されています。
不十分でしたら随時お知らせください。お願いします。
274デフォルトの名無しさん:2006/02/04(土) 13:30:16
>273
正直な話、途中までできてるものをカスタマイズするという課題だと
動くものを提供してくれないと手が打ちづらいんだわ。
中途半端にモノをもらっても困る。

自分がもし>255のTechCalc.javaとMathExpression.javaだけ与えられて
>260の課題を解こうとしたときにできると思う?
275デフォルトの名無しさん:2006/02/04(土) 13:43:54
【課題】
インストラクション:

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



お願いします
276260:2006/02/04(土) 13:45:03
スミマセン…では明日学校に行くのでそのときにすべて載せます。
それまでお待ちいただければと思います。
277デフォルトの名無しさん:2006/02/04(土) 13:49:57
>>41
10進数を書いてもらったのですけど8進数で出力のやり方教えてもらえませんか?
278デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/04(土) 22:56:56
そんな変なもんねぇ
284デフォルトの名無しさん:2006/02/04(土) 23:14:39
>>282
awtとswingって何が違う?
っていうかこんな質問してダイジョウブ化俺?
285デフォルトの名無しさん:2006/02/04(土) 23:57:05
>>284
こっちは宿題スレ。宿題以外の質問は↓で

【初心者】Java質問・相談スレッド80【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1138455638/
286デフォルトの名無しさん: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
287286: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デフォルトの名無しさん: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("数字を入力してください");
}
}
289286:2006/02/05(日) 02:56:34
回答有難うございます。付け加えたところ
Bilingual.java:17: シンボルを見つけられません。
シンボル: クラス InputStreamReader
場所 : Bilingual の クラス
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
というエラーが出てしまいました。いろいろ試してみたのですがどこを直せば良いのでしょうか。
お願いします。
290デフォルトの名無しさん:2006/02/05(日) 03:10:13
>>289
import した?
291286:2006/02/05(日) 03:24:18
>>290
よく分からず下の3つimportで実行はできたのですが
import java.awt.*;
import java.awt.event.*;
import java.io.*;

>>286
の下から3行目で20が戻されて表示が20歳で出てしまいます。
age()を入れるのかと試したらループのような表示がでました。
すみません教えてください。
292286:2006/02/05(日) 03:32:21
すみません上で書いたようにage()いれてました^^;
ageいれたらできました。有難うございました。
importについてはこれで大丈夫でしょうか
293デフォルトの名無しさん:2006/02/05(日) 04:11:11
>>292
問題ない。

# 個人的な信念としてはクラス別にimportしてる
# どのクラスインポートしてるか分かるじゃん
294デフォルトの名無しさん:2006/02/05(日) 11:19:01
【課題】キーボードから、数値を2つ入力待ちをする間
10秒ごとに画面に * を出力するプログラムを作成。
2つの値が入力されたら、2つを足した値を画面に出力し終了する。

お願いします
295デフォルトの名無しさん:2006/02/05(日) 15:38:23
>>266
とりあえず、日本語みたいなところは文字化けしてんな
一応ソースは見れるようだ
296デフォルトの名無しさん:2006/02/05(日) 17:38:01
297デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/05(日) 22:03:06
>297
現状だとコンパイルエラーになっている
button.addActionListener(control);
を以下の5行で書き換える。
button.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.exit(0);
}
});
299297:2006/02/05(日) 22:16:50
>>298
なるほど、そのような使い方があるのですね。
まだ全然分からなくて助かりました。有難うございます。
300デフォルトの名無しさん: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

よろしくお願いします。
302301:2006/02/06(月) 07:19:36
さらに補足ですが、

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

の所で、2以下を入力するとまた入力画面に戻したいのですが、
こういう場合はfor文を使った方が良いのでしょうか?
303301:2006/02/06(月) 09:07:26
すいません、また補足です… 課題に2枚目がありましたorz(オンラインでPDFで配布されています。)
二つのクラスを用いてプログラムを書けとのことです。
入力するところまでをメインのクラスに、素数の計算を別のクラスでやるみたいで、
コンストラクターが混ざってくるみたいです。こうなってくるとお手上げ状態なので、
丸投げでよろしくお願いします。

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

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

      注意)最低でも二つのクラスを用いてプログラムを組むようにする事。
         クラスがひとつの場合はプログラムが正しく動作をしても評価をつけることが出来ません。
304デフォルトの名無しさん: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);
}
}
305304: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;
306304: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();
}
}
307304: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デフォルトの名無しさん:2006/02/06(月) 10:50:57
309301: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時まで
よろしくお願いします。
313007:2006/02/06(月) 18:31:38
問題
主人一人で頭を刈る小さな床屋がある。1時間当たり平均λ(人)の客がランダムに床屋に到着する。
1時間当たり平均μ(人)の指数サービスに従う。待合室は1人だけ入ることができる。満員のときは客
は帰ってしまう。

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

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


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

314デフォルトの名無しさん:2006/02/06(月) 18:32:08
>>313
マルチツね
315007:2006/02/06(月) 18:33:35
>>314
わかりますか!?おねがいします!
316デフォルトの名無しさん: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[ここ];
}
}
318317の続き: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デフォルトの名無しさん: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("コピーできません。");
}
}
}
320319:2006/02/06(月) 21:02:13
間違えた。319は>>316じゃなくて>>317
321>>300: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デフォルトの名無しさん: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( );
 }
}
323317:2006/02/06(月) 22:16:53
>>319-320
ありがとうございました
324317:2006/02/06(月) 22:24:32
何度もすいません
>>317-318の「ここ」って書いてあるところを穴埋めして欲しかったのですが・・・
できればでいいですのでよろしくお願いします
325デフォルトの名無しさん:2006/02/06(月) 22:54:47
326デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/06(月) 23:32:04
>>326
ありがとうございます。
正常に動作し、課題を提出することが出来ました
328デフォルトの名無しさん:2006/02/07(火) 00:22:21
【課題】
java JavaCopy a.txt b.txt
 とすれば,a.txtというファイルを b.txtにコピーする
 JavaCopyクラスを作成してください。
※コピーできるのは,テキストファイルだけでOK(バイナリファイルはコピーできなくても良いです。)
【期限】今週水曜日

お願いします
329デフォルトの名無しさん:2006/02/07(火) 00:46:54
>>328
>>317
同じ学校?
330デフォルトの名無しさん :2006/02/07(火) 08:40:08
【課題】
コマンドライン引数として2進数を1つ受け取りその値を10進数として
表示するプログラムを作成せよ。

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


【期限】
2月8日まで

お願いします。
331デフォルトの名無しさん:2006/02/07(火) 08:56:35
どなたか>>304-307もお願いします……(つд`)
332デフォルトの名無しさん:2006/02/07(火) 09:32:15
>331
画像用意してくれないとやる気起きないっすわー。
333デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/07(火) 10:01:14
>330
>209で既出。
>210に答えあり。
335デフォルトの名無しさん:2006/02/07(火) 10:43:03
>334
ログ読んでなくてすみません。
336デフォルトの名無しさん:2006/02/07(火) 13:20:14
【課題】
五目並べのプログラム。
マスは10×10。
禁じ手は考慮しない。
GUIで作成。

【期限】今週水曜日

お願いします。
337デフォルトの名無しさん:2006/02/07(火) 13:23:41
>>336
> GUIで作成。
少しばかりの恐怖を感じた
338デフォルトの名無しさん:2006/02/07(火) 14:26:11
>>337
グリッド10,10で
ボタン100個並べればいいんでない?
339デフォルトの名無しさん:2006/02/07(火) 14:27:11
J++で作ってみよーかな
340デフォルトの名無しさん:2006/02/07(火) 14:44:43
J++って何??
341デフォルトの名無しさん:2006/02/07(火) 14:49:23
>>340
M$が改造しまくって、挙句にjava非互換の烙印を押された悪魔です
342デフォルトの名無しさん:2006/02/07(火) 15:10:15
>>341
非互換ってことはJavaのソース使えないの?
まさかVMで動かないとか・・・
343デフォルトの名無しさん:2006/02/07(火) 15:26:51
>>342
そういえばJ#とか、javaVMじゃないからjava互換じゃないんだよなぁ
344デフォルトの名無しさん:2006/02/07(火) 15:31:49
何よJ#って・・・・M$もうダメポ
345デフォルトの名無しさん:2006/02/07(火) 15:33:25
JavaじゃないけどM$次あたりC*とか♭とかCΩとか出してきたりして・・・・
346デフォルトの名無しさん:2006/02/07(火) 18:27:34
見た目Javaなのにjavaxパッケージの使えないJ#キモい
347syosinsya: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デフォルトの名無しさん:2006/02/07(火) 22:02:53
つ [ClickOnce]?
349デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/08(水) 10:57:00
>>354

>>1
宿題以外は↓で

【初心者】Java質問・相談スレッド80【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1138455638/
356デフォルトの名無しさん:2006/02/08(水) 10:57:02
>>354
>できればスタンダードな方法を取りたい

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

これがスタンダード
357354:2006/02/08(水) 11:05:17
>>356
意味不明
358デフォルトの名無しさん:2006/02/08(水) 11:12:46
>>355
(整合性をとる必要のある)冗長はデータは作らない。
是、プログラミングの常識ね。

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

単純に複数の binaryfile があるだけで事足りるのでは?
359デフォルトの名無しさん:2006/02/08(水) 11:17:23
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
";"が不要なのでは?
エラーログを見てみては?
362360: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/08(水) 22:02:19
【 課題 】1〜10の整数のコマンドライン引数を受け取り、それと等しい英語を表示するプログラム。
受け取った引数の数も表示しなさい。引数がない場合、1〜10以外の整数の場合はエラーメッセージを出力してプログラムを終了しなさい。
英語の文字列はString型配列に格納。
【 期限 】2月9日中
【 補足 】丸投げです。よろしくお願いします。

366デフォルトの名無しさん: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);
}
}
}
}
367360:2006/02/08(水) 22:31:57
>>364
え〜っと185行目が
strSQL ="SELECT * FROM MST_USER WHERE USER_ID =" + user.id + " and USER_PASSWORD =" + pass + ";";
です。
368デフォルトの名無しさん:2006/02/08(水) 22:37:48
>>360
その user か、user.id か、 pass のどれかに null が入っているんじゃねーの?
369デフォルトの名無しさん:2006/02/08(水) 22:52:27
>353
ストップウォッチだけ自分が書いたことなかったのでやってみた。
ttp://www.wikiroom.com/java/index.php?SourcePost_____#r0200876
JDK5.0です。動作報告よろしく。

デジタル時計と電卓はこのスレでは頻出。
私はいまさらやる気は出ませんでした。
370360: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デフォルトの名無しさん:2006/02/09(木) 00:42:01
>>371
マルチ乙
# いや、C++宿題スレの誤爆なのだろうけどw
373365:2006/02/09(木) 02:00:45
動作確認したところ、num.java:1:クラスNumberはpublicであり、ファイルNumber.javaで宣言しなければなりません。
と表示されました。
374デフォルトの名無しさん:2006/02/09(木) 02:18:34
>>373
それぐらいの動作確認、サルでもできるだろ
日 本 語 が 読 め な い の か
375デフォルトの名無しさん:2006/02/09(木) 02:54:51
>>365(>>373)
>>366のソースをNumber.javaに保存してコンパイル
376365:2006/02/09(木) 03:00:18
>>374
いや、本当に申し訳ありません。動作確認をということで適当なファイルにぶちこんで試して脊髄反射で報告を投稿していました。

>>375
わざわざ、そんなところまで教えていただきありがとうございます。
377デフォルトの名無しさん: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;
379365:2006/02/09(木) 13:33:56
改めて動作報告をします。
確認してみたところエラーは出ないのですが、引数がない、範囲外の引数が入力された時エラーメッセージが出力されないままプログラムが終了しました。
380デフォルトの名無しさん:2006/02/09(木) 15:19:38
【課題】
タイマーの表示する数字(0〜9の10種類)は画像ファイルを用いること(Webのアクセスカウンターで利用する画像などを流用してもよいが著作権には注意すること)
タイマーの動作は100msec以下の桁で表示してカウントダウンすること(スレッドの動作タイミングなどを確かめながら、なるべく正確に表示されるか調整すること)
上記の指定条件以外の動作や見た目は各自の自由にしてよい(ウィンドウの形や大きさ、GUIパーツの利用など見た目やユーザインタフェースのほか、カウンターがゼロになった際の動作についてなどは自由!)
ソースコードの中身について
アプリケーションの動作や操作方法に関する説明をコメント(//)として記述すること
他人がプログラムの処理内容を解釈し易いよう、随所にコメントで注釈を書くこと

【期限】
できるだけ早くお願いします
381デフォルトの名無しさん: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

作るのめんどいから、↑を参考にしれ。
386384: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デフォルトの名無しさん:2006/02/10(金) 10:19:08
>>387
まずは、英語教育スレ(あるかわからんが)に逝け
389384:2006/02/10(金) 10:37:27
>>386
だめっぽい。たすけて。おねがい。(´・ω・`)
390デフォルトの名無しさん: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()]);
}
}
395391:2006/02/11(土) 02:27:47
しまった、合計と残金を忘れてた。
396デフォルトの名無しさん:2006/02/11(土) 08:49:34
【課題】

彼女をつくれ

【期限】2月14日

【Ver 】1.4

全然出来なくて困ってます
以前にも質問しましたが、期限が短すぎるという事で駄目でした。
どなたかよろしくお願いします
397デフォルトの名無しさん:2006/02/11(土) 08:54:12
Ver1.4かあ、1.5なら楽にできるんだが、残念。
398384:2006/02/11(土) 10:34:35
>>391-395
ありがとう。感激。(*・w・)

今まで単一ファイルのものしかやってなかったんだけど、これコンパイルどうやるの。
399デフォルトの名無しさん:2006/02/11(土) 12:23:39
>>398
Kadai384.javaの方をコンパイルすれば勝手にSuitou.javaもコンパイルされる
400384: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デフォルトの名無しさん:2006/02/11(土) 13:53:34
>>400
入力しているXMLは本当にXMLか?
402384:2006/02/11(土) 14:02:35
>>401
入力はcsv。>>384に書いたとおりの。suitou.csvってファイル名。
403デフォルトの名無しさん:2006/02/11(土) 14:04:29
ああ、出力がxmlなのか
404デフォルトの名無しさん:2006/02/11(土) 14:14:38
>>400
とりあえず、「無検査呼び出しです」でぐぐれば?
オウム返しの質問じゃ、答える側がかわいそうです。

そんなことは分かってるよっ、というなら、話は別ですがね。
405デフォルトの名無しさん:2006/02/11(土) 14:17:58
>>400
例外が発生したのは入力データ(suitou.csv)のエンコードのせいだと思う

コンパイル時の警告はJava2 5.0 TigerのArrayやList等でジェネリクスに
よる明示的な型指定がされてないよって言ってるだけだと思う
406デフォルトの名無しさん:2006/02/11(土) 14:26:40

バージョンの記入は必須にしようよ。
5.0云々のやりとりは流石にもう飽きた。
407405: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));

に変えてみれ。
408384: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
ありがとう
409384:2006/02/11(土) 14:36:57
>>408
間違えました。
誤:suitou.xmlの文字コードは「UTF-8 LF」になってます。
正:suitou.xmlの文字コードは「UTF-8N LF」になってます。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・↑
410405: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デフォルトの名無しさん:2006/02/11(土) 15:12:32
シュッ・シュッって何の音ですか?
413デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/11(土) 15:43:49
プログラムとかいうレベルじゃないな
416デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/11(土) 19:34:09
>>418
何の話?
420デフォルトの名無しさん:2006/02/11(土) 19:42:46
インターネットエクスプローラのはなしじゃね?
421391: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;
}
}
422391: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);
}
423391: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;
}
424391: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();
}
425391: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()]);
}
}
426384:2006/02/11(土) 22:00:33
>>421-425(>>391)
合計と残金の出力の分も作ってくれてありがとう。(なおかつ、コードを5.0にしてくれて)
XSLでごりごりやってたけど、こっちのほうがきれいで良いです。

もうそろそろ寝れそうです。目が痛いや。
ただ、実行してみると合計の値と残額の値とが逆に出力されます。
>>422のshuppiとgoukeiの部分に問題があるのかと思い、
いろいろ書き換えてみたけれど、ソースの意味がわからないので…orz
今のところ根本的には解決できていません。(表示だけなら何度かできています。)
427384:2006/02/11(土) 22:08:48
>>426
また間違えた。
誤:表示だけなら何度かできています。
正:表示だけなら何とかできています。
・・・・・・・・・・・・・・・・↑
428391:2006/02/11(土) 22:18:57
>>426
>【 補足 】変換過程で合計(金額の3行目以下の合計)と残金(金額の2行目から合計を引いたもの)を出力するみたい。
これって、
合計=出費の全額
残金=元金-合計
って意味じゃないの?
429384:2006/02/11(土) 22:42:03
>>428>>391
長い間お付き合いありがとうございます。もうしばらくお付き合いお願いします。
>合計=出費の全額
>残金=元金-合計
確かに、そのとおりです。
いま、もう一度>>421-425までのソースを新たにファイルを作り実行しましたが、
出力されるsuitou.xmlでは合計、残金ともに違ってました。
以下に入力ファイルと出力ファイルの内容を記します。
430384:2006/02/11(土) 22:44:26
入力ファイル名:suitou.csv
文字コード:Shift_Jis

摘要,金額,備考
元金,5000,
飲食費,560,ジュース、パン
交通費,450,電車
振込,2180,
手数料,70,
貯金,1000,
431384: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</金額><備考/>
</項目>
</出納>
432391:2006/02/11(土) 23:03:21
なるほど。
適用=××費ならば出費
で見てたけど、そうじゃないのね。了解。
ところで、CSVの中にある貯金って出費扱いでいいの?
んでもって、3行目以降は全て出費扱いでOK?
それとも、3行目以降に入金と出費が混在する?
混在するなら入金と出費の判別が必要だから、
何かしらルール(+−とか▲とか)が必要になるよ。
433デフォルトの名無しさん:2006/02/11(土) 23:09:17
つかrelaxer使えよ。
434384:2006/02/11(土) 23:27:18
>>432
>>384などでの説明が足らず誤解させてしまってすみません。
この場合、csvファイルの3行目以降はすべて出費扱いでお願いします。
435デフォルトの名無しさん:2006/02/11(土) 23:29:01
【 課題 】音楽曲のダウンロードサービス用の画面インタフェース作成
【 期限 】2月13日
【 補足 】丸投げです。
画面サイズ240x320 
顧客情報として
名前(ローマ字表記)、メールアドレス、会員番号(数字5桁)
を画面上の英数字ボタンで入力する。
ダウンロードサービス対象曲は3つ以上のカテゴリーでそれぞれ20曲とする。
ダウンロードしたい曲の指定は画面上のボタンで操作する。
サービス利用の確認画面を用意する。
操作の取り消し機能は必要ない。
436391: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をもう一度貼るから言って。
437391:2006/02/12(日) 00:09:55
あ、抜けてた。
int shuppi = sumShuppi(suitous);
を追加して。
438384:2006/02/12(日) 00:44:29
>>436-437(>>391)
うまくいきました。入力ファイルを変えても、合計も残金もぴったり合いました。
>>391何度も時間を割いてくれて本当にありがとう。

これでようやく眠れます。二日分寝てきますね。
では風呂に入ってきます。
439デフォルトの名無しさん:2006/02/12(日) 00:46:08
>>435
はぁ?
440デフォルトの名無しさん:2006/02/12(日) 01:54:20
>435
途中までやった。眠ぃので寝ます。
ttp://www.wikiroom.com/java/index.php?SourcePost_____#ecdc9277
441435:2006/02/12(日) 07:47:14
>>440
お時間あればお願いします。わざわざすみません。
442デフォルトの名無しさん: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[ ? ];
}
}
443442の続きです: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/12(日) 13:30:12
>>444
ゾロ目おめ
俺は諦めた
446444: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("指定したファイルは存在しません");
447444: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");
→改行するようにした。
448441-442:2006/02/12(日) 14:30:40
>>444
御早い返事で大変助かりました。
前回は半端に自分で埋めてしまった所があって問題だったのですね。気をつけます。
何はともあれ、本当に感謝の言葉もありません。
それでも、文面のみの粗野ながらも感謝の言葉をば

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

【 期限 】2月13日 10時

期限まであまり無いですが、よろしくお願いします。
450デフォルトの名無しさん:2006/02/12(日) 20:43:50
ここには専門学生しかおらんのか

451デフォルトの名無しさん:2006/02/12(日) 21:24:40
大学は既に春休みだな
452デフォルトの名無しさん:2006/02/12(日) 22:01:03
オレはここ1年間春休みだよ
453デフォルトの名無しさん:2006/02/13(月) 22:22:09
454デフォルトの名無しさん:2006/02/13(月) 22:23:32
>>449
残念だ、日曜日に見ていれば作ったかも知れなかったが・・・
455デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/20(月) 16:05:37
【課題】右に一秒10ピクセル動き、はねかえるゴール(1.jpg)にボール(2.jpg)
を入れるゲームを作れ。ただし、ボールはゴールを外れてx=0になったらボール
は再び元の位置に戻る。ピクセルは800×800ボールの速さは自由とする。
スタートボタンも作れ。
【期限】2月22日まで
俺も丸投げです。結構自由なのでお任せします、おね願いします。
463461:2006/02/21(火) 14:48:34
課題内容の補足が授業であったので、しておきます。

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

昨日からずっとやっているのですが、いまだにごちゃごちゃで分かりません…。
464デフォルトの名無しさん:2006/02/21(火) 15:53:36
>>461
getメソッドってどのクラスのメソッド?
465461: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デフォルトの名無しさん:2006/02/21(火) 22:19:26
467461:2006/02/22(水) 01:35:49
>>466
ありがとうございます。
cutoff scoreに50、Enter scoreに49と入力しても、もう一度、

Enter student name; type 'exit' if done:

を訪ねてきて、JOptionPane.showMessageDialogに飛ばないのですが、
どのようにすれば良いのでしょうか?
468デフォルトの名無しさん:2006/02/22(水) 02:28:48
>>467
入力の度にチェックするの?
全部入力が終わってexitを入力されたらまとめてダイアログ出すようにしてあるけども

とりあえず1回の入力毎にチェック(TeachingAssistクラスのみ編集)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1663.txt
469461:2006/02/22(水) 02:37:27
>>468
コンパイルをしてみたのですが、
Enter score: の後に出る、Enter student name; type 'exit' if done: で
exitと入力をし、点数が赤点以上、赤点以下でもその場で終わってしまいます。
470461:2006/02/22(水) 02:39:38
つまり、赤点以上ならそれでOKなのですが、
赤点以下なら、JOptionPane.showMessageDialogが表示されないと
おかしいはずなのに、赤点以上同様その場で終わってしまいます。

寝不足で日本語がおかしくて申し訳ありません・・・。
471461:2006/02/22(水) 03:01:08
コンパイル環境を、JBuilderからEclipseに変更したら出来ました…orz
ご迷惑をおかけして申し訳ありませんでした。ありがとうございました。

しかしながら、どのように練習?をすればこんなに綺麗なソースを書けるようになるのでしょうか?
自分の書いたソースと、466さんの書いたソースの明解度の違いに驚きました。
472デフォルトの名無しさん: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デフォルトの名無しさん:2006/02/27(月) 23:42:07
コンパイルして試してみればいいのに
480デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/01(水) 16:09:41
使えって言ってるんだから使えば
503デフォルトの名無しさん:2006/03/01(水) 16:29:35
>482
問題の意味がわからない

なんでString配列とVectorの二つに追加するの?
何をどう追加するの?
list.Noって何?メソッド?変数?型は?
list.Id,list.colorも同様
()の中に値があるが引数なの?青とか赤とか""で囲まれてないけどStringじゃないの?
色って何?色自体を表示するの?色の名前を表示するの?

てことで意味不明
504デフォルトの名無しさん:2006/03/01(水) 21:35:51
>500
ホントにかけ算も実行できたのかと。
505デフォルトの名無しさん: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デフォルトの名無しさん: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
【補足】
お願いします。
508507:2006/03/02(木) 02:31:28
あっ・・・配列名とかを大文字で書いちゃいました。すいません小文字でした・・・
509507:2006/03/02(木) 02:32:31
あー・・・違う・・・そうじゃなくて半角と全角のことです。
まじですいません。
510デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/02(木) 10:44:00
>>506
>mysql-connector-java-3.0.8-stable-bin.jar
確かにそのバージョンにこだわるのであればMySQLのサイトに無いですねぇ

ただ、単純にJDBCドライバを使われるのであればリリースされている
3.1.12とかのバージョンじゃダメなんですかね?

外してたらすみません。
512デフォルトの名無しさん:2006/03/02(木) 10:51:03
>>501
ゴメソ br.close();抜けてた。適当に入れておいて
513デフォルトの名無しさん:2006/03/02(木) 20:13:30
>511
あ、なるほど。調べてみましたら、同じ効力のファイルのようです。
こちらをダウンロードしてみることにします。
ありがとうございました。
514507: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デフォルトの名無しさん: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

ってこんなんじゃだめ?
517515:2006/03/03(金) 00:31:57
>>516
なるほど・・・
dmの単位はミリ秒だということまで!ありがとう!
(2)の計算結果も実際実行させてみたらそうなってました〜。
本当にありがとうございました。
518デフォルトの名無しさん:2006/03/03(金) 00:34:12
漢字を2進数で表示させたいのですが、どうすればいいのでしょうか??
519デフォルトの名無しさん:2006/03/03(金) 00:38:12
520デフォルトの名無しさん:2006/03/03(金) 01:08:43
>>519さん
ありがとうございます!
521デフォルトの名無しさん:2006/03/03(金) 08:52:34
【課題】
地球温暖化による温度上昇を2010年より10年ごとにもとめよ
また、それぞれどのような影響が出るかとどのように対処するかを出力せよ。
【期限】
やばくなるまえに
【補足】
どこの地域の温度でもいいです。
522デフォルトの名無しさん:2006/03/03(金) 09:42:49
JAVAて一文字何バイトですか?至急返答願います
523デフォルトの名無しさん:2006/03/03(金) 10:41:57
JAVA → UTF-8 →一文字1バイト
524デフォルトの名無しさん:2006/03/03(金) 12:37:47
今日から1MB
525デフォルトの名無しさん:2006/03/03(金) 13:33:30
タスクトレイに格納する方法を教えてください
526デフォルトの名無しさん:2006/03/03(金) 15:04:00
>>523
日本語使うと2バイトになるだろ。
場合によっては4バイトになる。
527デフォルトの名無しさん:2006/03/03(金) 21:05:05
>>526
1文字ったってchar型なら2バイトじゃない?違ったらスマソ
まぁ、当の522は聞き逃げ厨な様だが
528デフォルトの名無しさん: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);
}
}
}
}


530529:2006/03/04(土) 00:10:44
期限はまだ何とか大丈夫ですが、これよりも少々複雑なプログラム課題が
5つ程残っていまして、他にも課題があるため少々焦っている次第です。
上のソースがうまく改行されずに見にくく申し訳ありません。
531デフォルトの名無しさん: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
534533:2006/03/05(日) 00:35:56
>>532
ぁ…
Ava Eggy Shift の StringTokenizer をprivateにするの忘れてた…

535デフォルトの名無しさん:2006/03/05(日) 00:39:01
Javaで減色処理を行う良い方法は何かありませんか?
フルカラーを64色ぐらいまで落としたいのですが。
536デフォルトの名無しさん:2006/03/05(日) 05:46:19
64色にするとなんかいいことあるのかと
537532:2006/03/05(日) 14:27:03
>>533
533さん、ありがとうございました。
ちょっと出力で質問があるのですが、

何番で文章をコンバートしますか?
3

あなたの文章は、

文章を何行ずらすか、選択してください。(ASCII表参照):2
出力された文字

文章(英語のみ)を〜

といった風に出力されてしまうのですが、3を選んだ場合は、
「文章を何行ずらすか、選択してください。(ASCII表参照):」を入力した後に
「あなたの文章は、」 が来るようにしたいのですが、どうすれば良いのでしょうか?
538デフォルトの名無しさん:2006/03/05(日) 14:51:50
>537
>533ではないが。
conv.javaの

System.out.println("あなたの文章は");
AL = con.getData();

を入れ換えて、

AL = con.getData();
System.out.println("あなたの文章は");
にする。
539532:2006/03/05(日) 16:00:41
>>538
ありがとうございました。
540デフォルトの名無しさん:2006/03/07(火) 16:43:31
宿題ではないですが
テキストを読み込んで
'▼'の次の行から'▲'の前の行までをString[]に入れるにはどうすればよいのでしょうか?
いろいろやってみたのですが型変換がうまくできません
541デフォルトの名無しさん: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デフォルトの名無しさん: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の続き: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: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の続き: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デフォルトの名無しさん:2006/03/08(水) 14:27:29
>>546
toLowerCase、str1.equal(str2) 使った方が分かりやすくね?
548デフォルトの名無しさん:2006/03/08(水) 14:29:35
547だが、str1.equals(str2)は使ってたな… スマソ
549コード書いた人:2006/03/08(水) 14:31:51
>>547

1.すでに存在する文字列(strings)を大文字から小文字に変換するプログラムを製作しなさい。
ヒント: ‘A’(65) は ‘a’ (97) ‘Z’(90)は ‘z’(122)(※()内はアスキー表番号)

問題でアスキー表番号を提示してるってことは、それを使うことを期待している問題かなぁと思って。
550デフォルトの名無しさん:2006/03/08(水) 14:46:57
>>549
なるほどな。でしゃばってスマン。
551コード書いた人:2006/03/08(水) 14:50:21
いや、普通はtoLowerCase使うよな。
標準APIでわざわざ用意してくれるんだから。

>>542は先生に、「toLowerCaseメソッドを使ったほうが簡単じゃないですか?(`Д´)」
って聞いてみて。課題提出するときにでも
552デフォルトの名無しさん:2006/03/08(水) 16:07:49
先生はC言語の延長としてJavaを使ってるだけと予想
553デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/11(土) 04:20:41
F5ツール作成依頼か
舐められたもんだ
558デフォルトの名無しさん:2006/03/11(土) 05:07:41
F5ツールとは、Dos攻撃のツールという意味ですが?
そういう意図ではないのですが、あまりにバカバカしい質問だったでしょうか?
プログラミングは超初心者で全然駄目なので、このような問題でも
私にとっては難解です。すいません。
559デフォルトの名無しさん:2006/03/11(土) 05:14:01
httpリクエストの文字列は全部て入力なんかね
560デフォルトの名無しさん:2006/03/11(土) 05:20:12
はい、その通りです
561デフォルトの名無しさん:2006/03/11(土) 14:04:13
馬鹿は馬鹿のままが一番だよ
562デフォルトの名無しさん:2006/03/12(日) 01:32:01
>>555
N=0の時
563デフォルトの名無しさん:2006/03/12(日) 01:37:21
>>522
Stringオブジェクトのサイズ?
564デフォルトの名無しさん:2006/03/12(日) 02:06:48
なんか宿題ない?
暇なんだけど
565デフォルトの名無しさん:2006/03/12(日) 04:18:39
春休みだから宿題もないんだろう
566デフォルトの名無しさん:2006/03/12(日) 05:44:09
>>564
 >>556に答えていただければ嬉しいのですが、、
567デフォルトの名無しさん:2006/03/12(日) 08:03:50
>>566
べつにそれって宿題じゃ無いんでしょ?
正直>>556の様な宿題を出す学校なら品位を疑う。
568デフォルトの名無しさん:2006/03/12(日) 12:37:25
>>566
宿題の出題者を恨みなさい。
あなたを疑うことと、ものを提示することどちらが悪か。
悪に加担する可能性がある以上、
どうしても必要に駆られるならあなたが作るしかないじゃない。
569デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/12(日) 22:46:33
>>569 >>570
Rock クラスを2つに割って、こんな感じでどうかな?
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27297
572デフォルトの名無しさん:2006/03/14(火) 03:36:19
【 課題 】データグラムを使ったネットワークプログラミング。異なったマシーンで動く2つのプログラム(例えばプログラムAがプログラムBにある文字列を送り、プログラムBがそれに対して文字列で返答する)を構成するアプリケーションを作りなさい。文字列は自由。
【 期限 】今週末まで。なるべく早くできれば助かります。
【 補足 】たぶん簡単なメッセンジャーのような物を作れと言われてるんだと思います。
よろしくお願いします。
573デフォルトの名無しさん:2006/03/14(火) 16:23:16
少々頭が混乱してきて困っています。宜しくお願い申します。
【 課題 】
起動すると文字入力待ち状態に→※ファイル名入力(恐らく同じディレクトリ内のもの)→
ファイルの内容が表示される(→適切に表示されれば、また文字入力待ちに)→

要求したファイルが無い場合、「ファイル○○○がありません」と表示
ファイルがあっても読み込みできない場合、「ファイル○○○が読み込めません」と表示
※"q"が入力されると、プログラム自体が終了

【期限】まだ大丈夫ですがこれ以外に幾つか残っておりまして、
    内容的にこれ等ができないと先に進めない状況です。

【補足】例外について、ファイル自体が無い場合はFileNotFoundExceptionが
あるのに、読み込みができない場合のものはないのか?というか、今使っている
参考書でさがしても見当たらない…という感じです。
574573: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);
}
}
}
575573:2006/03/14(火) 16:33:36
これまでコンパイルを試みた中でエラーは複数ありましたが、
今のところ一つです。その中で、6行目のString〜args[]のところの
「シンボルを見つけられません。」といったエラーは出続けています。

お手数をおかけしますが、宜しくお願いします。
576デフォルトの名無しさん:2006/03/14(火) 16:50:15
String filename = args[line];

の line ってどこで定義している?
577デフォルトの名無しさん:2006/03/14(火) 17:25:13
【課題】1〜100の整数範囲から乱数を重複なく10個を発生させ、それをrandom.txt
    に書き出す。さらに、random.txtを読み込み、配列を用いて小さい順に並べ替えて
    order.txtとして書き出す。
【期限】明日の夕方くらいまで
【補足】丸投げです。お手数ですがよろしくお願いします。
578デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/14(火) 18:48:06
メソッドわけしたほうが・・・
580デフォルトの名無しさん: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
581577:2006/03/14(火) 19:10:33
>>578
まずは作成ありがとうございます。
しかしコンパイルできませんでした。jdk1.3.1_17を使用しているからでしょうか。
全くの無知で申し訳ありません。。

582デフォルトの名無しさん:2006/03/14(火) 19:13:38
jdk1.3はちょっとありえないんじゃね?
せめて1.4入れてきて
583577:2006/03/14(火) 20:01:24
動作確認しました。
本当にありがとうございました。
584573:2006/03/14(火) 20:09:57
>>580
コンパイルは成功し、正常に実行されました。
ただ、気になったのですが、「ファイルが読み込めません」と表示され得る場合は
どういったミス入力等が考えられるのでしょうか(とりあえず適当に打ってみても
「〜ファイルがありません」ばかりなので)。
585デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/14(火) 21:22:41
java.io.Fileクラスには、boolean delete() メソッドが存在し、ディレクトリを削除することができる。
しかし、このメソッドは、ディレクトリ内にファイルがあると削除することができない。
ではディレクトリ内にファイルが存在していても、ディレクトリを削除するにはどうしたらいいでしょう?

こんなことも判らんプログラマです。
587デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/14(火) 21:43:49
>>587
なるほど。
大いに納得致しました。逝ってきます。
589デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/14(火) 23:38:27
>>578
>>580
センスを疑う
面倒なら回答しなければいい
回答するならそれなりにきちんとした回答せよ
591デフォルトの名無しさん:2006/03/15(水) 00:03:48
>>590
じゃあてめー一人でヤッテロ禿
592デフォルトの名無しさん:2006/03/15(水) 00:13:40
>>591
どうした
まともな回答できないから暴言か
593デフォルトの名無しさん:2006/03/15(水) 00:16:36
>>592
お前がまともな解答した所見たこと無いんだけど?
てめーのセンスなんて所詮自己満足のオナニーだろ
594デフォルトの名無しさん:2006/03/15(水) 00:21:01
>>593
あなたは、私をどのように特定しているの?
なんの根拠もなしに「お前がまともな解答した所見たこと無いんだけど?」発言ですか
ほんと、ナンセンスですよ、あなたは。
595デフォルトの名無しさん:2006/03/15(水) 00:24:05
特定して無いからまともな回答見たこと無いって言ってるんだ
そんなにセンスがあるという自負があるなら固定になって回答してみろよチキン
596デフォルトの名無しさん:2006/03/15(水) 00:39:46
>>572
データグラムを使った簡単なメッセンジャーのようなものを作ってみた。
動作確認と報告よろしく。
使い方わからんかったら言ってくれ。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27311
597デフォルトの名無しさん:2006/03/15(水) 02:23:16
>>596
ありがとうございます。
"クラス T55_572 は public であり、ファイル T55_572.java で宣言しなければなりません。
"というエラーが出ました。
新しくクラスファイルと作らないといけないんでしょうか?
598デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/15(水) 14:12:52
>>599
While のWが大文字

whileが正解
601デフォルトの名無しさん:2006/03/15(水) 14:17:50
While → while
602まだまだビギナ:2006/03/15(水) 14:23:19
>>600
小さな所まで発見して頂いてありがとうございます。
確かに。前後のが大文字でつい…かと思われます。
ただ、コンパイルがこれで通ると思ったのですが、11行目で
「シンボルを見つけられません。」シンボル:変数exp05
というエラーが出てしまいました。実はこの類のエラー、
以前も違う課題でずっとでてて、未だに意味が分かりません。
(そもそも、シンボルというのは変数の別称か?と思っていたりで)
603デフォルトの名無しさん:2006/03/15(水) 14:27:56
exp05.txtを"で囲んでない
604まだまだビギナ:2006/03/15(水) 14:49:07
>>600,>>601,>>603
たびたび指摘下さりありがとうございます。おかげでコンパイル出来ました。
ただ、「たびたび」で何とも恐縮なのですが、コンパイル後実行したところ、
「文字ファイル:〜」と表示されってしまい、ファイル内容の表示は失敗しました。

これは根本的にソースの構成が問題なのでしょうか?それとも、
実行時の問題も考えられますでしょうか?
605デフォルトの名無しさん:2006/03/15(水) 14:56:09
「文字ファイル:〜」と表示されってしまい

↑この続きが見たい。
606デフォルトの名無しさん:2006/03/15(水) 14:57:42
>>604
System.exit(0);
これって何の為にあるの?
607デフォルトの名無しさん:2006/03/15(水) 14:58:35
わかった。
実行時のVMに引数が与えられていない。

java ShowFile1 exp05.txt

このとき、ShowFile1.classがあるフォルダにexp05.txtを用意してあげてな。
608606:2006/03/15(水) 14:59:01
あと、
String filename = args[0];
これも。
609普通に考えるとこうだな: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に直してコンパイルしたわけですが。
自分が今使っているテキストの場合、分かりやすくさらっと書いてある
説明書きが自分には「何を言いたいんだか分からない」と思う箇所が
ぼちぼちあります。ま、他のもあたってみようかなと思います。
611606: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デフォルトの名無しさん:2006/03/16(木) 01:15:29
>>612
throw new YourQuestion ();
614デフォルトの名無しさん: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
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
621デフォルトの名無しさん:2006/03/20(月) 23:13:55
>>619
わかんないなら実行すりゃいいだろ、釣りか?
622デフォルトの名無しさん:2006/03/20(月) 23:54:50
つられてたまるか

(1) i = 4
(2) d = 2.0
(3) b = false
(4) d = -1.0
(5) i = 8
623774: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デフォルトの名無しさん:2006/03/21(火) 01:07:21
intにキャストするときって
その数字以下で最大の整数にするんじゃなくて、
数字部分で切捨てじゃなかったっけ?
626623:2006/03/21(火) 01:14:12
おっしゃる通りです。
すいませんでした。
627デフォルトの名無しさん:2006/03/21(火) 08:06:46
どうしても-1にしたけりゃ-0.5足してからキャストね
628デフォルトの名無しさん:2006/03/21(火) 08:08:29
吸ってんじゃねーよ
629デフォルトの名無しさん:2006/03/21(火) 08:20:23
↑きみは短絡的って言われてるでしょ
630デフォルトの名無しさん:2006/03/21(火) 08:46:28
0.5は四捨五入だった
この場合は-1足してからキャスト
631デフォルトの名無しさん:2006/03/23(木) 01:44:45
【課題】
プログラムに引数で与えられたファイル名でファイルのコピーを行う
例)exp01 コピー元ファイル名 コピー先ファイル名
指定したコピー元ファイルが無い場合は
「指定されたコピー元ファイル〇〇〇がありません」
指定したコピー元ファイルがあるが、読み込み不可の場合は
「指定されたコピー元ファイル〇〇〇が読み込めません」
と画面に表示し例外を投げて終了。
指定したコピー先ファイルがすでに存在する場合は、
「指定されたコピー先ファイル〇〇〇が存在します」
と画面に表示し例外を投げて終了。
【期限】:まだ一応大丈夫です。
【補足】最初は課題文を読んでも、何をすればよいのか分かりませんでした
(今でも同じような感じですが)。例外が3つにも及ぶので、ここまでくると
ソースが複雑になりそうで、今の自分の力ではとても負えないなという印象が
正直なところ。そもそも、参考書でFileReaderやWriterのところは目を通したのですが
「ファイルのコピーってできるの?」という風な疑問です。
皆さんの的確且つ有効なアドバイスを頂けると有難いです。
632デフォルトの名無しさん:2006/03/23(木) 02:02:04
>>631
> 「ファイルのコピーってできるの?」という風な疑問です。
コピー元ファイルから一定量ずつ読みだしてはコピー先に書きだしていく
というのを残りがなくなるまで繰り返すとコピーになるよ。

633デフォルトの名無しさん: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();
}
}
634631:2006/03/23(木) 13:22:33
>>632
なるほど、確かにそれならば。流石、視点が違いますね。
では、例えばFileCopyといった感じのメソッドはないのですね・・・

>>633
おぉ、なんだか凄いものができてますね。ちなみに、
import宣言の2行目はどういう意味なのでしょうか?
あと、Fileクラスのとこの変数src、dstは任意のものですか?
635デフォルトの名無しさん:2006/03/23(木) 15:40:16
【 課題 】ランダムに数値が格納されているファイルを読み込み、そのデータを並び替え(昇順)を行う。
       並び替えたデータを別のファイルに書き込む。
 *数値例 7989
       98851
       47986
        ・・・
【 期限 】本日中です。申し訳ありません。
【 補足 】並び替え方法は、2種類より選択可能とする。1つはバブルソートで行い、もう一つはバブルソート以外の方法で行う。

よろしくおねがいします。
636デフォルトの名無しさん: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
さあ、はやく回答するがいい!
638636:2006/03/23(木) 20:18:19
補足です。
テーブルのセル数は色の着いた部分のみを数えます
639631: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();
}
}

}
642774: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
スレ違いながら、改めて韓国人への怒りが増した今日この頃であった。。。
韓国人は心底腐ってる
644636:2006/03/24(金) 13:27:31
自己解決しました
645普通に考えるとこうだな:2006/03/24(金) 19:12:49
高卒は知的障害者 PART 2
http://life7.2ch.net/test/read.cgi/live/1143191543/
646532: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

途中までソースは書いた事は書いたのですが、他人のソースを読んでそれを修正する、というのは
一から書くよりもしんどいから辞めた方が良い と他のスレでアドバイスを頂いたので、
丸投げでよろしくお願いします。
647532:2006/03/26(日) 14:19:26
夜中から今までやって、終盤まで組み終わりましたが、
2.をどうしても組むことが出来ません。
先生にメールを送って聞いたところ、エラーメッセージを表示ではなく、
JTextFieldが空欄の状態でボタンを押した時に何も起きなければ良い と言われました。
JTextFieldに何か文字が書かれている時にボタンが押されたら、通常のコンバート処理を行え との事です。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27391

00120: の所に、try-catchの文を挿入してみたのですがどうしても上手くいきません。
それ以外はきちんと動いていると思うのですが、最終的に書きかけのソースを表示してしまい、
申し訳ありません。
648デフォルトの名無しさん:2006/03/26(日) 17:00:47
空だったら何もしない、という処理を>>532に追加して、
それをGUIから呼ぶだけだろ?
なにが難しい?
649532:2006/03/26(日) 17:11:31
>>648
空だったら何もしない、という処理の組み方がわからないんです…orz
650デフォルトの名無しさん:2006/03/26(日) 17:12:26
文字列変換するオブジェクトを作る→できてる(教員から提示有り)
GUIのオブジェクトを作る→できてる

イベントに応じてGUIオブジェクトが文字列変換オブジェクトを呼ぶ

651532:2006/03/26(日) 17:18:31
>>650
と仰いますと、エラーを検出するコードを書かないで、
このままの状態でも問題ないのでしょうか?
652デフォルトの名無しさん:2006/03/26(日) 21:07:59
>>649
考え方のヒントなんだけど、
temp(inputLine1.getText() が返す値)と ""(空白文字列) を equals() で比較してみる
というような分岐処理を入れてみたら、どうなると思う?

653デフォルトの名無しさん:2006/03/26(日) 21:19:57
どうでもいいけど、>>646の先生の回答で
各文字列変換メソッドがpublic staticで書かれていてるんだ…

なんかJAVAというよりVBのコード見てるみたい。
変換用のクラス使ってGUIの出力にあわせて継承すればいいのに
654533:2006/03/27(月) 01:15:51
前回1回作ってみて、まぁ一度乗りかかった船なので
反省を活かしつつGUI用にちょこっと作り変えてみた。

GUI部分はほぼ532さんのを使用

参考にならなかったらスマソ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1713.zip
655573:2006/03/27(月) 14:29:19
以前お世話になった者です。度々お手数ですが宜しくお願い致します。
【課題】
起動後、入力待ちとなる。複数行入力可能。
画面から1文字 w が入力されると出力先ファイル名(恐らく課題の上では
.txtファイルでいいのではないかと思いますが)を聞くメッセージを表示し、
入力されたファイル名にてファイルに書き出し処理をして終了する。
ただし、以下の条件を満たすように。

ファイル名入力時に未入力でEnterされた場合はファイルに書かず処理を終了する。

入力されたファイル名のファイルが既にある場合、その旨メッセージを表示して
別のファイル名入力を待つ。

【期限】今月中
【補足】これと同じ問題で条件が更に付け加えられたバージョンがあるのですが、
それは今の自分には難しすぎるので、とりあえず上記でお願い致します。
最近卒業式等で落ち着きませんでしたが、自分なりにソース作ってみました。以下に↓
656573: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);
}
}
}
657573:2006/03/27(月) 14:38:33
今の所、21行目で「シンボルを見つけられません」ということで、
「シンボル:メソッドexists()」といったエラーが出ています。
ただ、コレクションがいまいちよく分からないためその箇所に自信がなく、
21のエラーをクリアしたとしても、次はコレクションで引っかかるのでは
という気がしますが・・・
長くなり&読みにくく、ごめんなさい。
658デフォルトの名無しさん :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デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/27(月) 16:31:08
>>657
exitsts()ってなんだよ
661デフォルトの名無しさん:2006/03/27(月) 16:34:55
イギッツッツ?
662デフォルトの名無しさん:2006/03/27(月) 16:58:11
>>656, 657
まず、おかしいのここ。
if("filename".exists()) {
663662:2006/03/27(月) 17:02:25
String.exists()
っていうインスタンス・メソッドは無いよ
と言われているのと同じ。
664658:2006/03/27(月) 17:42:26
無事実行することできました。
ありがとうございました^^
665デフォルトの名無しさん:2006/03/28(火) 00:21:50
666デフォルトの名無しさん:2006/03/28(火) 05:53:06
667デフォルトの名無しさん:2006/03/28(火) 07:26:31
儲かった?
668デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/28(火) 13:47:07
すいません。スレ違いなんですけど、
swingでコンポーネントのフォーカスをロストすることができます?
671デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/28(火) 13:51:45
674655:2006/03/28(火) 13:52:37
みなさん、ありがとうございます。
>>665
どうも、わざわざすいません。ありがとうございます。
分からないところ一部ありますが、参考にさせて頂きます。
675670: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/28(火) 17:11:46
>>670はまだいるのかな?
680デフォルトの名無しさん:2006/03/28(火) 17:16:17
いますよ〜
681532: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デフォルトの名無しさん:2006/03/30(木) 16:40:17
>>682
鉄アレイのプログラムかと思った。
並列? それはシリアルと呼ぶのではないか?
アレイといったら配列のことだと思うのだが。
685デフォルトの名無しさん: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デフォルトの名無しさん:2006/03/30(木) 17:56:22
689デフォルトの名無しさん:2006/03/30(木) 18:20:07
あべし入社カワイソス
690683:2006/03/30(木) 18:54:45
>>686
いや、違いますけど、そんな有名な問題なんですかね?
しかし、教えてくださってありがとうございます。

>>688
vぬをんヴおwんじsbjh
マジリスペクトです。ありがとうございます。


みなさん親切ですね。
ホントピンチだったので、助かりました。
お世話になりました。
691682:2006/03/30(木) 18:56:03
自己解決しました。
692655:2006/03/30(木) 19:48:47
No.655と同じ課題についてですが、エラー続きで困っています。
”エラー続き”といっても、ようやく、あと一つか二つと思っていたのです。
しかし新たに(下のソースの)下の辺りののexists()メソッドの箇所の
変数についてエラーが出てしまいました。

講師への質問で昼過ぎに返答が来て「色々と問題箇所があるので時間がありません。
ファイルを添付するので参考にして下さい」といった思いもしない感じの返事が来ました。
課題欄に事情を連ねるのもなんですが、時間ないといっても、下のソースと大体同じものを
3,4日程前に別の質問の為に添付しており(勿論”エラー続き”のように、手直しを継続中なので
部分的には都度違いますが)、講師の人は既に知っていたはずなので、もし全体的に修正の必要ありなら
その時点で指摘して欲しかったという状況です。
【期限】
今月中(でも1日までなら大丈夫です)。技術研修はまだ始まらないので幾分か猶予がありますが、
式&初期研修の関係で地方に遠征するので、そもそもネットに接続可な環境あるかという
不安材料あり。
【補足】
もしかしたら全体的に変えなければならないのか否か自分には分かりませんが、
何とか今のものを手直しする形で完成できればと思う次第です。
No.655と同じ内容で別問題として、入力行数&各行文字数を任意に設定して
その制限を超えた場合にメッセージ表示と共にその文削除する問題があります。
それに関して参考になる書籍やサイト等、もしご存知な場合も宜しくお願い
できないでしょうか。
693655: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つに分けさせて頂きます。
見にくくなり申し訳ありません。
694655: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デフォルトの名無しさん:2006/03/30(木) 20:32:15
>>694
>>665のじゃ仕様を満たしてないのか?
696682:2006/03/31(金) 00:32:51
>>691
誰ですか…。自己解決していません…orz
697デフォルトの名無しさん:2006/03/31(金) 03:27:44
>>693
なんだこのヒドいソースは・・・
698682: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デフォルトの名無しさん: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;
}
700699:2006/03/31(金) 10:01:28
あー平均年齢ってdouble出せっての忘れてた。 まあ雰囲気を判れ
701682:2006/03/31(金) 10:35:17
>>700
レスありがとうございます。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27416

のように書いてみました。名字と名前を求める時はどのようにすれば良いのでしょうか?
また、return で結果を出力するにはどうすれば良いのでしょうか?

初心者で申し訳ありませんorz
702デフォルトの名無しさん:2006/03/31(金) 11:00:46
>>691
どうせならどう事故解決できたのかかけばいいのに
703デフォルトの名無しさん:2006/03/31(金) 11:44:14
>>702
>>696見ろよ
704デフォルトの名無しさん: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));
にすりゃいいんだよ。
705655:2006/03/31(金) 13:22:32
>>697
では、最初から、一から書き直したほうがよいですか?
どうでしょうか?
706682:2006/03/31(金) 13:44:07
>>704
ありがとうございます。出力は出来ました。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27418

しかし、

・一番年を取っている客の名前と名字
・一番若い客の名前と名字
・18歳以下の客の数 
・55歳以上の客の数
・使用者が入力した文字が名字の頭文字である客の数

の部分がまったく動きません…orz
707デフォルトの名無しさん: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デフォルトの名無しさん: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;
}

入力関係はまずはググれ。いくらでも出てくる。
709708: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() で氏名を取得しろ。
710708:2006/03/31(金) 14:36:23
>>708を書き直したほうが早かったかも orz
まーいいや
711デフォルトの名無しさん:2006/03/31(金) 14:48:05
文句をだらだら言いながらもきちんとソースを書いてやってる>>708に愛を感じる。
712デフォルトの名無しさん:2006/03/31(金) 14:52:52
なんでfinal宣言してんの?
713708:2006/03/31(金) 15:06:18
>なんでfinal
クセ。 つかstaticメソッドを継承することって有り得ないでしょ?
714デフォルトの名無しさん:2006/03/31(金) 15:21:46
>つかstaticメソッドを継承することって有り得ないでしょ?
継承されるぞ。
絶対変更されるわけには行かないという
変数・メソッド以外はfinal宣言は避けるべき。
715708: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
まったくだ!プンプン
719682:2006/03/32(土) 13:26:06
>>708
色々やったのですが、どうしても上手くいきません…。
点数は引かれてしまうのですが、提出日を月曜日にしてもらいました。
自分で組んでみたのですが、Oldest age は常に101のままで、
名前も[La5.Person;@1add2ddと表示されるだけです。
720682:2006/03/32(土) 16:26:37
721デフォルトの名無しさん:2006/03/32(土) 16:33:49
>>708
もう答え全部書いてやれよ、、、
かなりの初心者だぞ>682
getLast() getFirst() で氏名を取得 を違うクラスから取得してやがる
722デフォルトの名無しさん:2006/03/32(土) 17:11:09
今って学生は春休みじゃないの?
宿題ってもしかして会社の研修課題?なんか怖いな
723682:2006/03/32(土) 17:27:21
>>721
orz

>>722
大学のゼミの課題です。春休み関係なくやっています。
724デフォルトの名無しさん:2006/03/32(土) 17:44:38
そもそも何でMainクラスのメソッドが全部クラスメソッドなんだ?
725682: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
728682: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デフォルトの名無しさん:2006/03/32(土) 21:14:28
先生がCしかやったことないんじゃないかな
732デフォルトの名無しさん:2006/03/32(土) 21:41:30
使う側のオブジェクト指向としてはあってる気がするけど、
作る側としての考え方が欠如しとる気がする。
733682:2006/03/32(土) 22:02:03
>>729
オブジェクト指向は習っていません。
いきなりJavaの基本から習い始めました。

>>730
現実世界でなら、直接聞くと思います。
734デフォルトの名無しさん:2006/03/32(土) 22:11:19
>>682
オブジェクト指向のカプセル化としての考え方はそれでいいけど
他にも色々あるでしょ。継承やら多態性やら。

JAVAを学習していくなら、例え話のラジオを作る側にならなくちゃ
別にツールとして使用するだけの話ならAPI使えれば十分かも知れないが
735デフォルトの名無しさん:2006/03/32(土) 22:11:55
Javaの世界でも直接聞けばいいじゃん
736682: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デフォルトの名無しさん: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文を通過したので、人数を一人増やす
}
738734:2006/03/32(土) 22:56:10
>>682
「JAVAを完璧にマスターする」というのであれば
オブジェクト指向を学ぶことは避けて通れない道でしょう。
ゴリゴリ手続き指向でも書けなくはないけど
結果的にJAVAを使うメリットが少なくなるかと。

勉強すると目からウロコがあるかもよ
739デフォルトの名無しさん:2006/03/32(土) 23:23:15
>682
やってみた。
ttp://www.wikiroom.com/java/index.php?SourcePost_____#sd0e1d21

>all
空気読めなくてスマソ。
740デフォルトの名無しさん: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デフォルトの名無しさん:2006/04/02(日) 00:11:44
間違えた
Boo extends Foo
これだ
742デフォルトの名無しさん:2006/04/02(日) 00:29:01
739ですでに解決済みかも知れないけど
とりあえず作ってみた。

staticメソッドゴリゴリなのが気になったから結局書き換えちゃったyp
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1716.zip
743682: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
744682:2006/04/02(日) 05:49:15
ArrayList<Person> result = new ArrayList<Person>();

を、JBuilder 2005がサポートしていないのでしょうか?
745739:2006/04/02(日) 07:51:15
>682にバージョンに付いて何も書いてないのが悪い。
テンプレにバージョンがある理由が分かった?

ちなみにJBuilder 2005はコンパイラとは言わない。IDE。
とりあえずメッセージで言われたことをやってくれ。
意味が分からなかったら調べる。調べ方分からなかったらIDE使うな。
746682:2006/04/02(日) 09:10:10
>>745
調べて見たら、JBuilderではなくてJava自体にバージョンがあるんですね。
739さんの組んだコードはバージョン1.5で動くようになっているんですか?
また、このコードをバージョン1.4で動くようにするにはどうすれば良いのでしょうか?
ここ数日の間、質問ばかりで申し訳ありません・・・。
747682:2006/04/02(日) 14:37:31
>>745
Javaのバージョンを1.5にしたら動きました。

なので先生に電話をして、バージョン1.5でも良いか?と訪ねたら、
1.4でないと駄目だと言われてしまいましたorz
748デフォルトの名無しさん:2006/04/02(日) 15:03:36
学生が「1.5にしてもいいか?」と聞いてきたら
先生はピンと来るね「1.5用のコードもらったんだろうな」って。

バレてるよ
749デフォルトの名無しさん: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(); }})();
750742:2006/04/02(日) 16:02:52
>>682
742のソースは1.4のコンパイラで動くよ。
あなたのコードとはかなり違うけど
751o(^-^)o:2006/04/02(日) 16:18:15
このスレ観てる先生へ
宿題はこのスレに投下するのが手っ取り早いよ
752デフォルトの名無しさん:2006/04/02(日) 16:25:02
先生が投下すんのかよ
753682:2006/04/02(日) 16:43:14
>>748
え、そんなもんなんですか・・・(((( ;゚Д゚))))

>>750
ありがとうございます。
739さん、742さんは数十分でこのコードを書いたみたいですが、
いったいどういう勉強・練習をすればこんな風にJavaを扱えるようになるのでしょうか?
僕は去年の9月から、ゼミの先生にこれからやるならJavaが良いと言われてやり始めたのですが、
コンピュータも大学に入るまでは、インターネットをする程度でゼミの授業の最初の頃は用語が全然分からなくて、
とりあえずコンピュータに慣れろ、と先生に言われてここ1年は週刊アスキーを購読しています。
754682:2006/04/02(日) 16:44:26
これからやるなら=これからプログラミングを勉強するなら
755デフォルトの名無しさん:2006/04/02(日) 17:14:39
>>753
せっかく高い授業料払って大学に行っているのだから、
大学の教授にも聞いといたほうがいいんでないかい?
756デフォルトの名無しさん:2006/04/02(日) 17:19:00
授業料をまだ一回も払ってない漏れは誰に聞けばよかですか?
757IE6でも動くようになりました: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デフォルトの名無しさん:2006/04/02(日) 17:55:51
javascriptはスレ違いっていってるだろ
759デフォルトの名無しさん:2006/04/02(日) 18:25:50
あ〜ぁ、やっちゃった(笑
760デフォルトの名無しさん:2006/04/02(日) 23:25:42
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デフォルトの名無しさん: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デフォルトの名無しさん: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));
769682:2006/04/03(月) 05:21:19
>>755
訪ねても、自分で調べろ。俺が学生の時は全部自分で調べたと、
課題をやりながらプログラムは覚えていく というタイプの先生で、
自転車の練習じゃないんだから… と毎回思います。

とりあえず、742さんから頂いたソースを元に書き換えて提出する予定です。
本当にありがとうございました。

>>760
770デフォルトの名無しさん:2006/04/03(月) 07:11:10
>>766
ありがとうございます!!
助かりました!!
771デフォルトの名無しさん:2006/04/03(月) 09:17:58
>>758
Bookmarkletじゃないの
772デフォルトの名無しさん:2006/04/03(月) 14:27:01
swingにて計算機を作成しなさい。
@足し算・引き算・掛け算・割り算ができる。
A桁数は10桁まで。(それ以上だったら警告)

JDKのバージョンは問わず
773デフォルトの名無しさん: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デフォルトの名無しさん:2006/04/05(水) 00:08:26
>>775
perseIntで間違いないか?
777デフォルトの名無しさん:2006/04/05(水) 00:29:33
独習Javaに解答付いてないのか
778775:2006/04/05(水) 00:30:01
>>776さん
parseInt()の間違いでした
779デフォルトの名無しさん: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);
}
}
780775:2006/04/05(水) 00:58:40
>>779さん
ありがとうございました
助かりました。
781デフォルトの名無しさん:2006/04/05(水) 12:58:32
>>775
二度と来るなよ
782デフォルトの名無しさん:2006/04/05(水) 23:28:10
それなんて独習できない本?
783デフォルトの名無しさん:2006/04/06(木) 00:37:26
独習Javaがウンコってことがよく分かった
784775:2006/04/06(木) 04:29:31
また来ました
c言語学んでc++言語を勉強しようと思ったけど
class,メソッド,カプセル化,継承,オーバーロード等を学ぶのに
メモリ関係をある程度まかせられるGCなjavaでと
思い勉強中で、ちなみに独習Javaはそうウンコでは
無いと思う。俺が質問した内容と知識がウンコだっただけです。
785デフォルトの名無しさん:2006/04/06(木) 08:25:57
どう考えてもウンコだ
一人のウンコな馬鹿の役にもたたないんだから
786デフォルトの名無しさん:2006/04/06(木) 08:40:12
糞の役にも立たないとはまさにこのこと
787デフォルトの名無しさん:2006/04/06(木) 09:41:57
まずはメソッドの命名規約から勉強してこい
788788:2006/04/07(金) 22:47:08
//java que10
//九九の演算処理を行ってください。
//九九の処理結果
//1から9までの好きな数値を入力してください。
//[入力1から9]
//cace1:[入力数値]の2倍を取得する。
//case2:1〜9っていいましたよね? 最初からやり直しです。
//上記で取得した処理結果に1から[入力数値]番目までを掛ける。

お願いします。。。。。。
789デフォルトの名無しさん:2006/04/07(金) 22:56:49
母国語でおk
790788: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;
}
}
791788: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);
792788: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デフォルトの名無しさん:2006/04/08(土) 10:29:19
>788,790-792
>793
何をしてほしいのかさっぱり分からん。
>1嫁。
796デフォルトの名無しさん:2006/04/08(土) 19:06:55
788はmixiJavaコミュで質問してコメントなしの放置で
こっちで質問ですか
なによりもまずインデントとることから始めろ
>>1嫁以前の問題だろ
797デフォルトの名無しさん:2006/04/08(土) 21:36:38
>>788
なぁ、お前さんよ
最初にこの質問をmixiに持ってきて、「お願いします!」と言ったきりで
こちらに誘導されたら知らんぷりで、お礼やお詫びの一つもないんか?

おにょれ学校で一体何を教わってきたんだ?
798デフォルトの名無しさん: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デフォルトの名無しさん:2006/04/09(日) 02:00:15
今すぐパソコンを飲み込め
801デフォルトの名無しさん:2006/04/09(日) 03:28:40
「ある文字列」の作成の仕方がわからなかったら、
広辞苑をランダムにぺらぺらめくって適当な文字を拾い出すといいよ。
テキストには鉛筆かシャーペンで書き出すんだ。 HBかFが使いやすい。
802682: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デフォルトの名無しさん:2006/04/09(日) 09:44:36
>>801
頭、大丈夫?
804742:2006/04/09(日) 11:30:11
>>802
とりあえず作ってみた。外してたらゴメソ

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1720.zip
805742:2006/04/09(日) 11:40:11
ぁ…ごめん。
コメントで//匿名クラス じゃなくて //無名インナークラス だった。脳内変換よろしく。
806682:2006/04/09(日) 12:09:54
>>804
今回もありがとうございます。
ですが、前回のA5Arrays.java ではなく ttp://n.limber.jp/n/qMVSA5iF8 の中にある
A6Arrays.java を使って組む課題です。どうか、よろしくお願いします…orz
807742: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デフォルトの名無しさん:2006/04/09(日) 14:31:36
やさしいな
809682:2006/04/09(日) 15:03:45
>>807
ありがとうございます。
本当に何とお礼を言って良いのやら…
810742: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デフォルトの名無しさん:2006/04/10(月) 15:35:10
813デフォルトの名無しさん:2006/04/10(月) 15:36:04
>>811
スレ違い(失笑)
814デフォルトの名無しさん:2006/04/10(月) 17:16:54
>>799
おまえはまずHalloJavaWorldからだ
815デフォルトの名無しさん:2006/04/10(月) 17:34:46
>>814
おまえは中学生から
816デフォルトの名無しさん: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;
}
}
817811:2006/04/10(月) 21:56:16
お願いしてこんなこと言うのはなんですが
その解答のどの辺がオブジェクト指向ですか?
818デフォルトの名無しさん:2006/04/10(月) 22:01:53
なんだコイツ
819デフォルトの名無しさん:2006/04/10(月) 22:08:59
>>817
それが言いたいだけで質問したんだろ?
宿題じゃないんだろ?
820デフォルトの名無しさん:2006/04/11(火) 00:43:44
>>811
釣りじゃないと仮定した上でマジレス
オブジェクトを作成するほどの処理じゃない。
821デフォルトの名無しさん:2006/04/11(火) 01:11:40
おそらくC言語厨の仕業だろ
822デフォルトの名無しさん:2006/04/11(火) 07:16:44
>>817
配列がオブジェクト
823811:2006/04/11(火) 07:45:10
ジャバで実装してればオブジェクト指向なノリだな
>配列がオブジェクト
って
824682: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 を見ろとの事でした。

ご迷惑をおかけして申し訳ありません。
825742:2006/04/11(火) 10:32:21
>>824

>>結果は、重複があるので-5点でした。(25/30)
あらま、残念でしたね。
ちなみにその5点、どうしても取り返したいと思うなら先生に
「最高年齢が2人いる場合、このメソッドでどう取得すればいいのですか?」
と聞いてみるといいよ。

結局最高年齢のindexを取得しても同じ年齢の人が他にもいるかどうかを
走査して取得しなくちゃいけないなら、どんどんスパゲティプログラムになると思うけどな。
826682: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
827742:2006/04/11(火) 12:08:45
>>826
ん?よく分からないけどセレクションソート使うの?

バブルソートってソートアルゴリズムだから年齢とか名前の比較入れ替えは全部
1つのアルゴリズム内に入れちゃえばいいと思うんだけど。

他のメソッドにも若干手入れてるけど ここから 〜 ここまでを
PersonsUtilにコピーすれば動くはず。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27502
828デフォルトの名無しさん: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();
}
}
829682:2006/04/11(火) 12:55:22
>>827
レスありがとうございます。
基本的なソートらしく、どちらかをセレクション、バブルソートでソートするようにしないと、駄目みたいです…。
今、学校で昼飯も食べずに、プログラミングをやりつつ新入生の声をきいています…orz
830742:2006/04/11(火) 13:41:57
>>829
なるほど。どっちかを使わないといけないのね。
どっちも実装したから好きに使って。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27503

しかし、プログラミングをしつつ新入生の声を聞くって…まるで聖徳太子だな(´∀`)
831682:2006/04/11(火) 13:53:22
>>830
ありがとうございます。
いえ、声は外から聞こえてくるんですorz
画面に向かってJbuilderいじりつつ2chを見ているなんて、はたから見たら怪しい人ですね。

しかしながら、自由自在にJavaを操っているようですが742さんはどのようにJavaを勉強されたのですか?
832742:2006/04/11(火) 14:09:55
>>831
>>Jbuilderいじりつつ2chを見ているなんて、はたから見たら怪しい人ですね
うはっっwおっっっk

別に自由自在には、まだまだ操れません。まだまだヒヨっ子です
APIとか見つつトライ&エラーでやってます

どのように勉強したかと聞かれても(´ё`)
SJC-P取るのに基礎から独学で勉強した位かなぁ。

基礎を満遍なく学ぶという意味ではいい資格ですょ
833682:2006/04/11(火) 14:37:59
>>832
なるほど、資格対策の勉強で得た知識なのですね。

いただいたソースをプログラムに組み込んでみたのですが、
出力時、名字のアルファベット順にソートしたセクションと、
年齢の順でソートしたセクションとで、名前、年齢、総合人数の数が違うのですが、
これはいったい何がいけないのでしょうか…orz
834682:2006/04/11(火) 14:44:37
このような感じで出力されています。

There are 31 guests.

Guests sorted by last name:

ここはアルファベット順に出力されています。

There are 28 guests.

Guests sorted by age:

↑のリストとは異なった名前の人らがソートされています。
835デフォルトの名無しさん:2006/04/11(火) 14:45:00
オレなんてSJC-P持ってるけどここの宿題全然わかんねーぜwwww
836デフォルトの名無しさん:2006/04/11(火) 14:49:01
あの試験、ありえない問題ばっかりじゃねーかよw
837742:2006/04/11(火) 14:57:46
>>834
Main.javaの中段あたりで

//新しいデータでソートをする?

myPeople = A6Arrays.getPersonArray();
の部分で myPeople に新しい配列をセットしなおしているので
データは変わりますよ。

>>802の要件で
・プログラムを動かす時、毎回客のリストが変わるようにすること。
を見てソートメソッドごとに客のリストを変えるのかと思ってた。

中段部分を
/*
myPeople=null;

//新しいデータでソートをする?

myPeople = A6Arrays.getPersonArray();

pu.setPerson(myPeople);
*/
と、コメントアウトすれば同じデータで
氏名と年齢別のソートメソッドを実行出来ます。

>>836
そう、人呼んで人間コンパイラー試験
838682:2006/04/11(火) 15:09:03
>>837
うわぁ、ありがとうございます。
自分でも、//新しいデータでソートをする? というところが怪しいと思って、
myPeople = A6Arrays.getPersonArray(); だけ削除したのですが、
エラーになって???状態でした…orz

これでやっと、お昼ご飯を食べに行くことが出来ます。
本当にありがとうございました。また、結果が帰ってきたらこのスレに書き込もうと思います。
839742:2006/04/11(火) 16:03:44
>>838
意気揚々に飯食いに行った所ゴメソ
かなり重要なミスに気づいた
・ソートがLastNameじゃなくFirstNameで行っていた
・バブルソートアルゴリズムが違ったっっっっっっっw

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1725.zip
840デフォルトの名無しさん: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デフォルトの名無しさん:2006/04/12(水) 01:37:50
【 課題 】UPnPでルータを検出し、ポートを開けるプログラム。
【 期限 】今週木曜
【 Ver  】5.0
【 補足 】完全に自作でもいいが、cyberlink for java等を使って実装しても良い。
843デフォルトの名無しさん:2006/04/12(水) 07:24:42
【 課題 】 オンラインのレストラン予約システム(javaRest)を作りなさい。
客は、1)本日のメニューをリクエストできること
2)予約をできること
3)予約をキャンセルできること(予約した客のみ)
4)特定の日にレストランで無料の席を尋ねることができること
5)レストランからメッセージをダウンロードできること(デイリースペシャル)

システムはデータグラムソケットを使用したサーバーと複数のクライアントから成り立っていること。

クライアントの機能として、 1)サーバーに接続しサービスを使用するためにIPアドレスを有効なユーザの名前として登録できること
2)サービスからユーザを削除できること(例:ログオフコマンドを実行するために回線を切るとき)
3)必要な情報(本日のメニューのリクエスト、予約、予約のキャンセル、特定の日の無料の席を尋ねる、
デイリースペシャルについてのリクエスト)を指定しているサーバーにメッセージを送る
4)サーバーからレストランが特定の日は満席になったことを非同期でメッセージを受け表示できること。
第2の緊急のメッセージは満席のレストランにちょうどキャンセルがあり、空席ができたことを知らせる(誰かがキャンセルをした時)
この仕様はマルチスレッドの使用が必要になる。
844843: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日

大きな課題でしかも丸投げですが、どうぞよろしくお願いします。
845843:2006/04/12(水) 07:59:10
846デフォルトの名無しさん:2006/04/12(水) 11:47:28
>>843
4)特定の日にレストランで無料の席を尋ねることができること

無料の席って、空席と英訳間違ってるとかというオチは無い?
その他の要件見ても有料の席という記述もないし、空席の問い合わせも無いし
847843:2006/04/12(水) 14:40:52
>>846
無料の席であっていると思います。
free places(seats)であって、seats availableではなかったので。
とりあえず原文のほうもあげておきますね。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27511
よろしくお願いします。
848yamutya:2006/04/12(水) 17:45:05
テキストファイルの書式整形化プログラムの作成しなければいけないのですが、
書式整形化というのが今ひとつよくわからないので、よかったら教えてください。
849デフォルトの名無しさん:2006/04/12(水) 17:47:29
>>1見て死ね
850840:2006/04/12(水) 18:09:13
>>841
やってみたけど動きませんでした…
851デフォルトの名無しさん:2006/04/12(水) 18:13:45
引数つけでもダメなのか?
852デフォルトの名無しさん:2006/04/12(水) 18:20:11
>>850
実行時にmとn指定した?
853デフォルトの名無しさん:2006/04/12(水) 18:20:35
引数二つを入力するんですよね?
それはやってみましたが…
854デフォルトの名無しさん:2006/04/12(水) 18:24:11
本当だな動かないな
855デフォルトの名無しさん:2006/04/12(水) 18:27:14
856840: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になるけど良いのかい?
859855: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/04/13(木) 00:02:04
大げさに解くのなら、区間を表すオブジェクトと
区間オブジェクトの文字列表現を生成する
オブジェクトを導入してみる
863682:2006/04/13(木) 06:45:18
>>839
LastNameの所は自分で修正したのですが、バブルソートアルゴリズムは修正せずに提出していまいましたorz
とりあえず、結果が帰ってくるのを待っています。この調子だと金曜辺りにまた課題が来そうですね…

先生のカリキュラムとしては、Javaの基礎を学んだ後にデータストラクチャを学びつつ、
実際に商業用として売れる・配布出来るレベルのアプリケーションを作れるようになるのが目的らしいです。
しかもグループワークとかではなく、単独でペイントソフト(フォトショップのような大それた物ではなくWindows付属のペイントレベル)を
最終的に作って、Vector等で配布するというプロジェクトをやるそうです。後、就職先を外資系の会社も視野に入れて、現在のJavaの課題からも分かるように、
すべて英語を使ってコメントや記述をしろと言っています。だから、教科書もうちのゼミだけ洋書ですorz
864デフォルトの名無しさん:2006/04/13(木) 07:50:10
英語ダメ?
今から自分に制限設けるのはもったいないよ
865デフォルトの名無しさん:2006/04/13(木) 12:18:35
いい先生だな、としか思えないんだが?オレのときなんて完全放置だったぞ
866yamutya: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日までなので、どうかお願いします。
868682:2006/04/13(木) 14:57:18
>>864
英語力は、英検2級・TOEIC600点クラスなのでたいした事ないです。
どちらかというと、話す方が好きです。

>>865
先生はカリフォルニア大学のバークレイという米国では有名?な大学院でコンピュータの博士号を取ったらしく、
理系の人ですが、英語の先生よりも英語が出来ると思いますorz 部屋に行くと、日本語のコンピュータ系の本は数冊しかなく、
ほとんど洋書ですね。大学院を卒業後、(米国の)現場で働いていたらしく会社が何を必要としているか、が分かっていらっしゃる先生です。

大学在学中に即戦力になる人材を育成するのが目的らしく、将来はそっち系で働きたい人や、興味のある人はゼミに参加するのですが、
難しいので辞めていく人が多いです。教科書は、Java: How To Programという1万円近い洋書を使用しています。
英語も重要な科目(通常、理系の学科では英語は重視していないです。)だから、コンピュータを勉強するだけではなく、
同時にコンピュータ系で使われる英単語も覚えられるという事で洋書を採用しているみたいです。
アメリカの大学は死ぬほど大変。それを日本の大学生にも体験してもらいたいから、このゼミは難しい。
辞めたいならいつでも辞めてもかまわん。といつもおっしゃっていますが、このゼミを修了した人は就職した時、
研修の指導員よりもコンピュータについて詳しいらしく、そういう理由もあり、だいたいの人は食いついて頑張っていますが、
2年目をクリア出来るかどうか、微妙な所です。
869742:2006/04/13(木) 15:01:04
>>863
うっはっっw間に合わなかったか…南無。
LastNameの方はいいとしてバブルソートは久々だったもんで、
腐ったセレクションソートみたいな内容にだったと思う。

目標立ってていいゼミだな。ガンガレ
870デフォルトの名無しさん:2006/04/13(木) 15:03:05
>>868
>英語力は、英検2級・TOEIC600点クラス
大したことねーなぁ・・・もうちょっと英語勉強したほうがいいよ。
871デフォルトの名無しさん:2006/04/13(木) 15:24:13
すばらしいゼミなのにひどい受講程度ですね
このスレで聞くくらいだから課題を
乗り切れればいいとしか思ってないんでしょ?
872デフォルトの名無しさん:2006/04/13(木) 15:26:05
程度じゃなくて態度の誤り
873デフォルトの名無しさん:2006/04/13(木) 15:29:24
もちけつ
874デフォルトの名無しさん:2006/04/13(木) 15:41:13
>>867
鳥取環境大学乙
875デフォルトの名無しさん:2006/04/13(木) 15:55:49
そんなにいい先生なのにここで宿題聞いてちゃダメだよ・・・もったいねぇ
宿題スレは「将来必要ないけど単位取らないと卒業できねーんだよ!だから教えろ」って人が主だと思う
876682:2006/04/13(木) 16:00:05
>>869
ありがとうございます。結果が来たら連絡します。

>>870
そうですね… 教科書を読む時も辞書を片手に読んでいて難しいです。

>>871
それを言われると耳が痛いです…orz
自分でもやるだけやっているのですが、コンピュータを本格的にさわり始めたのが
大学に入ってからなのでコンピュータの基礎を覚えながら、Javaもやっています。
新しい課題が1週間ごとに出るのでWebでも色々と調べたりしているのですがハードです。
コンピュータが得意な人はこのJavaゼミをすっとばして、すでにソフトウェアの製作に入っています。

本当、自分で頑張らないといけないとは思っているのですが課題が出されるペースが早いのでつらいです。
質問をする前に自分でもコードを組んでいる事は組んでいるのですが、いつも出力例とは違った出力、
またはエラーを起こしてしまうのでどうしてもダメな時はこのスレで聞いています。
その謝った出力をするコードを書くのにも半日は費やしているので、このスレの皆さんが課題のコードを
数時間で書いてしまうのには驚きです。
877デフォルトの名無しさん:2006/04/13(木) 17:58:41
言い訳乙
878デフォルトの名無しさん:2006/04/13(木) 18:31:39
ゼミなら友達に聞くのが一番だよ、いないの?
879デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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();
}
}
894843:2006/04/14(金) 20:00:00
無料の席ではなく空席でしたorz
895デフォルトの名無しさん:2006/04/14(金) 20:21:23
今頃かよ
896843:2006/04/14(金) 20:28:53
>>895
すいませんorz
指摘されてから先生にメールしてみました。
さっき返事がやっと来たので遅くなりました。
897682:2006/04/15(土) 15:07:16
>>869
課題6ですが、先生が忙しい為、まだ結果が帰ってきません。
来週には帰ってくるだろうと思われます。
先生が忙しいのとは関係なしに課題7が出されてやっていますが、
何がなにやら分かりません…。例によってエラーばかりですが、もう少し自分でやってみます。

このゼミも5月の最初で終るので、上級レベルが始まる前に、日本語のJavaの本を買って、
基礎から勉強しなおしてみようと思っています。

>>878
僕は情報系の学科ではないのでゼミの友人とはあまり話しません。
休み時間とかゲーム、アニメの話をしているのでついていけませんorz
898デフォルトの名無しさん:2006/04/15(土) 17:41:57
まだゼミとか言ってんのかよ
899843: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  】なんでもいいです
【 補足 】丸投げ+ヒントも全部記入なのですこし問題文が長いかもしれません。
よろしくお願いいたします。
901900:2006/04/15(土) 23:40:26
902デフォルトの名無しさん:2006/04/16(日) 13:37:09
【 課題 】
問題文はこちらにあげています
http://2sen.dip.jp:6740/cgi-bin/upgun/up1/source/up0806.txt
【 用語 】ないと思いますが、ありましたら聞いてください。
【 期限 】急ですが、火曜昼13時くらいまでにお願いします
【 Ver  】何でも大丈夫です。
【 補足 】すみません、丸投げです。
何かと制約が多いかもしれませんが、よろしくお願いします。
あと返答・動作報告は若干遅れるかもしれませんが、
火曜14時頃までには必ずしますのでご了承ください。
903846:2006/04/16(日) 15:05:39
>>843
途中まで作ったけど来週忙しいから
作ったところまでアップしておくよ。
参考になればどうぞ。

ちなみに通信関係の部分は手つかず(´д`)
実装したのは
・空席の照会
・予約の追加・削除
・javaRest.txtの入出力
ってぐらい。
もしかしてスレッドセーフじゃなかったらごめん

あとの通信部分は、メッセージオブジェクトを作って
サーバークライアント間で通信すれば出来るんじゃない?

ヘボヘボなソースでスマソ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1743.zip
904デフォルトの名無しさん:2006/04/16(日) 17:48:18
>>902
問題文中の”図”って何?
905846:2006/04/16(日) 19:15:31
>>903
どうもありがとうございます!!!!
助かりました!
906897: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
丸投げでよろしくお願いします。
907902:2006/04/16(日) 21:29:42
>>904
図は下のです。
説明文に付け加えがありましたので、この図に追加しておきました。
http://2sen.dip.jp:6740/cgi-bin/upgun/up1/source/up0817.gif
908900:2006/04/16(日) 23:49:49
どなたか>>900わかるかたいらっしゃいませんか?
お願いいたします。
909デフォルトの名無しさん:2006/04/17(月) 01:23:58
>>900
404やん
910900:2006/04/17(月) 02:20:22
>>909
>>901で修正したものを使ってください。
間違えてすみません。
911デフォルトの名無しさん:2006/04/17(月) 04:26:29
>>910
ああ・・ほんとだ
ちゃんと見てなかったごめん
912897:2006/04/17(月) 09:30:08
一応、自分で途中まで組んだファイルなのですが、
読み込んだファイルのそれぞれのダブル値は出力する事が出来るのですが、
それぞれのダブル値を足した結果を出力するにはどういう風にすれば良いのでしょうか?

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27540
913897:2006/04/17(月) 09:36:13
ファイルではありませんorz
途中まで組んだソースです。
914デフォルトの名無しさん:2006/04/17(月) 10:42:48
ほとんど出来てるよーな。
最初のほうで double sumDouble = 0; としておいて、
inputDouble = dis.readDouble();の後に次の行を追加。
sumDouble += inputDouble;

後は自力でできるな。
915897: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デフォルトの名無しさん:2006/04/17(月) 11:33:45
新しくwhile作ったら、また1からファイル読み直さなくちゃいけないじゃん。
while内部に追加してOK。
917897:2006/04/17(月) 13:01:44
>>916
ありがとうございます。
サンプルアウトプットのように出力されるようになりました。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27542

さらにこの結果をファイルとして、出力し、
すでにファイルが出力されている、上書きをする場合エラーメッセージを表示、
出力の処理後、ユーザーにプログラムを使い続けるか、やめるかを
訪ねるようにしないといけないのすが、これはどのようにすれば良いのでしょうか?
918デフォルトの名無しさん:2006/04/17(月) 13:58:52
>>900
適当かもしれんがこれで要求は満たしてるはず
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1748.zip
919900:2006/04/17(月) 16:18:09
>>918
ありがとうございます。動きました。
適当だなんてとんでもないです。
920デフォルトの名無しさん:2006/04/17(月) 22:22:46
課題2
初期化された配列が与えられている場合,その配列の要素の中で最大の数と最小の数の両方を表 示するプログラムを作りなさい. ここで,配列を初期化するとは,

int[] data = {31, 41, 59, 26, 53, 58}
のようにすることを言う.配列の初期値のデータと個数は,各自自由に決めてかまわない.ただし,個数が変わっても,プログラムを一切変更する必要がないように,プログラムを作成すること.

お願いします。
921デフォルトの名無しさん: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
どうもありがとう。
助かりました。
923902:2006/04/18(火) 13:45:03
すみません、どなたか>>902が出来ていませんでしょうか?
924682兼897:2006/04/18(火) 13:52:43
>>869
課題の結果が帰ってきました。
バブルソートの所以外は完璧で28点でした。

課題の7で、
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27549
のソースで新しい計算結果のファイルのアウトプットをするのですが、
出力先に同じファイルがあり、それを選んだ場合、上書きをしますか?
という選択をさせ、キャンセルをした場合はまた出力先を選ぶ画面に戻り、
OKを押した場合は上書き保存されるようにしたいのですが、
どのようにすれば良いのでしょうか?
925デフォルトの名無しさん:2006/04/18(火) 15:02:58
>>923
今からやっても間に合いそうならやるけど?
926925:2006/04/18(火) 15:24:36
・・・って問題文をみたら、不確定要素が多すぎて手を付けられないカンジ。
Commandで入力をハンドルするのか? Editorじゃなくて?
普通はCommandをインターフェースにして、それぞれの実装クラスつくると思うけど。
927デフォルトの名無しさん:2006/04/18(火) 15:59:43
漏れもチャレンジしようと思ったけど
InputIFのinput()の戻り値がdoubleである意味が分らなくて諦めた
928デフォルトの名無しさん: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デフォルトの名無しさん:2006/04/18(火) 17:09:30
>つまり、[(a1 , 1/a1),(a2 , 1/a2),(a3 , 1/a3),・・・(ai , 1/ai)]の中から最小のaiを見つける。
ってどういうこと?
正の整数の中で最小のもの、逆数の中で最小のものって意味じゃなくて?
930928:2006/04/18(火) 17:27:24
正の整数のうち最小のものを求める、ってことです
931デフォルトの名無しさん:2006/04/18(火) 17:57:03
意味不明
932897: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デフォルトの名無しさん:2006/04/18(火) 18:04:00
>927
全く同じ感想を持った・・
934デフォルトの名無しさん:2006/04/18(火) 18:40:35
>>932
ファイルへの書き込みは?
935デフォルトの名無しさん:2006/04/18(火) 18:43:21
ああ、ごめん、ちゃんと見てなかったわ
936902:2006/04/18(火) 19:15:39
上の問題文のプログラムを何週間かかけてGUIに仕立てていくらしいのですが、
もしよろしければ、やっていただいた部分だけでも構いませんので
参考にしたいので上げていただければ助かります。
937デフォルトの名無しさん: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;
}
}
938928:2006/04/18(火) 20:41:21
すいません読解力不足でした
>>929の通りです、お願いします
939デフォルトの名無しさん:2006/04/18(火) 21:18:13
>>928は元の問題を全て晒したほうがいいと思うぞ。
意味不明すぎでエスパーに来て貰わないと。
もし、元の課題が928のとうりなら課題を出したやつ窓から放りなげろ。
940デフォルトの名無しさん:2006/04/18(火) 21:22:04
仕様書ってどれだけ大事かよく分るスレ
941928: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デフォルトの名無しさん:2006/04/18(火) 21:59:55
>正の整数とその逆数とを1つの配列要素とする配列がある。
きっとここが重要なんだよ
945デフォルトの名無しさん:2006/04/18(火) 22:11:52
>>936
あれ、書かれてるクラス以外は作っちゃダメなんかね?
内部クラスとか、例外とかも。
指定された通りに作ると、素敵に酷いモノが出来そうなんだが。
946デフォルトの名無しさん:2006/04/18(火) 22:35:52
>>945
同感
クラス構成の条件が邪魔だ
自由に作って良いなら楽でいいんだが
947デフォルトの名無しさん:2006/04/19(水) 00:06:57
948デフォルトの名無しさん:2006/04/19(水) 00:33:49
>>928はおそらく4月から学校でJavaをやり始めてまだ講義も1、2回程度しか受けてないと思われる
例外投げるどころかクラスというのも教わってないんじゃないかな?
>>947のをそのまま提出しちゃっていいのかな?
949デフォルトの名無しさん:2006/04/19(水) 00:53:37
ぶっちゃけ>>928と同じことをやってるんだが、これは一応1年間Javaをやった上で出された。
そもそもの問題文の意味がわからなかったのはどうしようもなかったが…

因みに自分は配列とかを使って全部メインメソッド内でおさめてしまった。
携帯からなんで+自分も未提出なのでソース貼れずごめん。
950デフォルトの名無しさん:2006/04/19(水) 01:03:49
【課題提示用テンプレ】
【 課題 】タイマーの作成
【 用語 】
【 期限 】20日木曜日まで
【 補足 】学会などで使うタイマーです。
画面いっぱいに残り時間(または経過時間)が表示されるものがいいらしい。。
お願いします!
951デフォルトの名無しさん:2006/04/19(水) 01:18:41
952897:2006/04/19(水) 01:49:46
>>937
ありがとうございます。
ですが、保存先を指定するところが2回、出てしまいます。
あと、保存先を指定する所でキャンセルを押した場合、
「終了しますか?」という質問を出して、YESにしたら終了し、
NOを押したらそのまま保存先を指定する所を続けたいのですが
どうすれば良いのでしょうか…
ここだけで数時間迷っています。
953936: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デフォルトの名無しさん:2006/04/19(水) 02:14:08
955897:2006/04/19(水) 06:44:32
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27551

一応、完成したことはしたのですが読み込んだファイルを出力する時に、
上書きしようとするとエラーになってしまいます...orz
どうすればエラーを起こさずに出力されるのでしょうか?
956897:2006/04/19(水) 07:08:41
上の意味ですが、読みこんだファイルを、
読みこんだファイルに上書きしようとすると、エラーを起こすという意味です。
例えば、1というファイルを読みこんで2というファイルで出力をし、
また1を読みこんで2に上書きをしても問題はないのですが、
1を読み込んで、1に上書きをするとエラー出力され、1のデータファイルが
からっぽになってしまいます。
957897:2006/04/19(水) 08:10:12
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27552

すいません、こちらのソースでしたorz
958デフォルトの名無しさん: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デフォルトの名無しさん:2006/04/19(水) 09:25:40
大学行ってもこれじゃあ無駄だよね
コミュニケーションの講義受講したほうがよほどJAVA学習に役立つよ
961937: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

と出力されます。
965937: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デフォルトの名無しさん:2006/04/19(水) 15:54:53
>>936
InputIFの戻り値がdoubleである意味を教えてくれ。
入力されたコマンドはStringなんだから、これじゃ拾えないぜ。
コマンドの判定は別でやって、数値入力だけはこれ使えってか?

ここがわからないと手の付けようがない。
969デフォルトの名無しさん:2006/04/19(水) 16:05:10
>966
longじゃ駄目だろ。100まで届かない。問題作成者に確認しろ。
970デフォルトの名無しさん:2006/04/19(水) 16:05:17
クラスの構成条件も勝手にやっていいってことだからインターフェースも勝手に作ればいいんじゃね?
971デフォルトの名無しさん:2006/04/19(水) 16:05:25
>>968
そういうことなんじゃねーの?
戻り値doubleってのがおかしいよな
まあ全て数字で入力させて
Double.parseDouble()で変換していくという手もあるが・・

せめてStringが戻ってくるのが筋のような気もする
972デフォルトの名無しさん:2006/04/19(水) 16:06:15
>>966
日本語の勉強して来い
>>1の通りのテンプレを使って書け>>962も間違ってる所を直してな
973デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2006/04/19(水) 21:03:51
>>978
東北大学ゆうやたら川島教授やろ
996デフォルトの名無しさん:2006/04/19(水) 21:17:23
もうすぐ1000
997デフォルトの名無しさん:2006/04/19(水) 21:18:12
997
998デフォルトの名無しさん:2006/04/19(水) 21:51:37
★★ Java の宿題ここで答えます Part 56 ★★
http://pc8.2ch.net/test/read.cgi/tech/1145447187/
999デフォルトの名無しさん:2006/04/19(水) 22:30:50
1000ドゾー↓
1000デフォルトの名無しさん:2006/04/19(水) 22:33:05
1000げっとーーーーーー!!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。