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

このエントリーをはてなブックマークに追加
247デフォルトの名無しさん
>>245
>全ての色の全ての部位(6×4=24種類)をペイントで用意はしました

「リソースの無い丸投げには興味ありません。
仕様、リソース、テスト環境のある丸投げだけこのスレに来なさい!」

ハルヒ厨とか言わずに少しマターリしようぜ?
248217:2007/02/02(金) 15:52:07
package untitled3;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JComboBox;
import java.awt.*;
import javax.swing.JLabel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextArea;
import javax.swing.JEditorPane;
import javax.swing.event.AncestorEvent;
import javax.swing.event.AncestorListener;

public class Frame1 extends JFrame {
String a[] = {"黒", "白", "灰", "赤", "緑", "茶", };
String b[] = {"黒", "白", "灰", "赤", "緑", "茶", };
String c[] = {"黒", "白", "灰", "赤", "緑", "茶", };
String d[] = {"黒", "白", "灰", "赤", "緑", "茶", };
JPanel contentPane;
JComboBox jComboBox1 = new JComboBox(a);
JComboBox jComboBox2 = new JComboBox(b);
JComboBox jComboBox3 = new JComboBox(c);
JComboBox jComboBox4 = new JComboBox(d);
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
249217:2007/02/02(金) 15:54:04
public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}

private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(400, 300));
setTitle("フレーム タイトル");
jComboBox2.setBounds(new Rectangle(19, 114, 85, 19));
jComboBox1.setBounds(new Rectangle(18, 49, 86, 19));
jComboBox1.addActionListener(new Frame1_jComboBox1_actionAdapter(this));
jComboBox3.setBounds(new Rectangle(20, 177, 85, 20));
jComboBox4.setBounds(new Rectangle(21, 241, 85, 20));
jLabel1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
jLabel1.setText("アウター");
jLabel1.setBounds(new Rectangle(20, 20, 70, 19));
jLabel2.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
jLabel2.setText("インナー");
jLabel2.setBounds(new Rectangle(20, 81, 67, 20));
jLabel3.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
jLabel3.setText("ズボン");
jLabel3.setBounds(new Rectangle(22, 148, 49, 19));
jLabel4.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
250217:2007/02/02(金) 15:55:25
jLabel4.setText("靴");
jLabel4.setBounds(new Rectangle(24, 213, 52, 20));
contentPane.setFont(new java.awt.Font("Dialog", Font.PLAIN, 6));
contentPane.add(jComboBox3);
contentPane.add(jComboBox1, null);
contentPane.add(jComboBox4);
contentPane.add(jLabel1);
contentPane.add(jLabel4);
contentPane.add(jLabel3);
contentPane.add(jComboBox2, null);
contentPane.add(jLabel2);
}

public void jComboBox1_actionPerformed(ActionEvent e) {
}
}

class Frame1_jComboBox1_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_jComboBox1_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
adaptee.jComboBox1_actionPerformed(e);
}
}
251217:2007/02/02(金) 15:59:47
長くなってすみません、とりあえず途中まで出来ているのはこんな感じです・・・
っていってもフレームの中にコンボボックスが4つあるだけって感じなのですが

それと補足で、JBuilderを使ってプログラム作成しています。

どなたかわかる方、本当によろしくお願いしますm(_ _)m
252デフォルトの名無しさん:2007/02/02(金) 16:43:48
>>217みたいにせっかくもらったレス(>>247)を無視する奴って時々出てくるな。
なんでそんな事するんだろう?
印象悪くするだけで何もメリット無いと思うんだが。
253デフォルトの名無しさん:2007/02/02(金) 16:53:35
>>247
ここに鶴屋厨がいますよw
254デフォルトの名無しさん:2007/02/02(金) 17:06:27
プログラムなら書いてやるが、絵はてめーで用意しろ。
めんどくせーし
255デフォルトの名無しさん:2007/02/02(金) 17:24:37
>>217はアホだから無視していいよ。
長いソースを晒す場合のアップローダの意義も分からず、
質問者が用意して当然の画像等も出さない真正アホ。
256デフォルトの名無しさん:2007/02/02(金) 17:36:57
前から思ってたけど
『丸投げ』の意味がわかってない依頼者が多いね
257デフォルトの名無しさん:2007/02/02(金) 17:38:34
ここのルールがわかってないのにちゃっかり利用しようとする奴が多い
258デフォルトの名無しさん:2007/02/02(金) 17:41:29
♪ ∧,_∧
   (´・ω・`) ))   金曜日が終わる〜
 (( ( つ ヽ、    明日は土曜日〜
   〉 とノ )))
  (__ノ^(_)
259デフォルトの名無しさん:2007/02/02(金) 17:55:26
豆座流豆群まだぁ−?
260デフォルトの名無しさん:2007/02/02(金) 19:23:39
♪ ∧,_∧
   (´・ω・`) ))   今日は念願の期間限定プッチンプリンを食べるぞ
 (( ( つ ヽ、    ・・・400gがこんなにあるとは^^;
   〉 とノ )))
  (__ノ^(_)
261109:2007/02/02(金) 20:53:25
>>109です 再投稿します
【 課題 】@横並びの3つの画像を下にスクロールさせる
      Aスクロールをストップさせるボタンを画像の下につける
【 期限 】2月5日(月)
【 Ver  】1.4.2
【 補足 】
画像の名前は Slot A.jpg Slot B.jpg Slot C.jpg でお願いします。
もう期限がギリギリなので、期限内になにとぞよろしくお願いします。
本当にお願いします。
262デフォルトの名無しさん:2007/02/02(金) 21:31:50
テンプレは前の方が簡潔で良かったんじゃね?
必須要項も一つで済んだし
昔の回答者の方がいろいろ優しかった希ガス

263デフォルトの名無しさん:2007/02/02(金) 22:06:32
>>262
昔は今のような複雑な仕様の問題が少なかったのではないだろうか?
前のテンプレだと最近の課題に対応できてないような気がする。
264デフォルトの名無しさん:2007/02/02(金) 22:13:45
>261
';,(´ε`)ブッ
期限のびたの?
2日あれば自分でデキルンじゃない?
265ワッショイ:2007/02/02(金) 22:19:15
♪ ∧,_∧  ♪ ∧,_∧     ♪ ∧,_∧   ♪ ∧,_∧  
   (´・ω・`) ))   (´・ω・`) ))      (´・ω・`) ))     (´・ω・`) ))  
 (( ( つ ヽ、  (( ( つ ヽ、     (( ( つ ヽ、   (( ( つ ヽ、 
   〉 とノ )))    〉 とノ )))       〉 とノ )))     〉 とノ )))
  (__ノ^(_)    (__ノ^(_)       (__ノ^(_)     (__ノ^(_) 
266デフォルトの名無しさん:2007/02/02(金) 22:24:34
>>261
マルチたん頑張れ

>>109を書く労力をプログラミングに費やしていれば・・・・
267デフォルトの名無しさん:2007/02/02(金) 22:27:18
>>266
何、マルチだと
前スレのルーレットソース修正して貼ってやろうかと思ったけど、やーめた
268デフォルトの名無しさん:2007/02/02(金) 23:13:30
>>262
依頼者には簡潔でよかったかもしれんが回答者側には詳細を最初から要求している今のテンプレの方がいいと思う。
とはいえきちんと守られているわけではない現状では後付質問やエスパーが不要ではないが。
形式的にテンプレが守られていたとしても仕様が不明瞭なものがあるくらいなのにこの程度のテンプレは埋めてもらっても悪くなかろうて。
269デフォルトの名無しさん:2007/02/03(土) 00:28:23
マルチや期限切れでない宿題はないのか
静かな良い週末だ
270デフォルトの名無しさん:2007/02/03(土) 00:53:30
そういや数年前、やたら精力的に回答して
スレをソースコードで埋め尽くしてた常連がいたな。
271230:2007/02/03(土) 06:41:36
>>243,246
ありがとうございました。
お二人の書いてくれたソースをもとに動くようになり無事に提出する事ができました。
272261:2007/02/03(土) 07:44:03
ちょっと待ってください
マルチじゃないです。ここしか来てません
273デフォルトの名無しさん:2007/02/03(土) 09:22:28
274デフォルトの名無しさん:2007/02/03(土) 11:28:16
>273 ・・・⊂ミ⊃^ω^ )⊃ アウアウ!!
275261:2007/02/03(土) 11:51:24
>>273
だから266か他の人が書き込んだんでしょ
そんなに人を陥れたいんですか?
私はマルチではありません。どうか宿題をお願いします。
276267:2007/02/03(土) 12:13:13
>>275
ここは2chだぞ
個人を特定できるIDが付与されるなら信用はできるけど
何にも証拠がないので、本物か偽者か見分けるのが難しい
ゆえに、今回はスルーするわ
277261 ◆nWITnzJLKI :2007/02/03(土) 12:27:26
>>276
「今回は」ってことは、もう一回投稿したら
やってもらえますかね?
(同じ内容をあんまり投稿すると邪魔に思われそうなので、これで最後にします)

【 課題 】@横並びの3つの画像を下にスクロールさせる
      Aスクロールをストップさせるボタンを画像の下につける
【 期限 】2月5日(月)
【 GUI  】制限なし
【 Ver  】1.4.2

マルチはスルーされるのは知ってました。
だから2chでは誰が見るか分からないのに、そんな危険な橋は渡りません。
278768:2007/02/03(土) 12:27:48
>>275
感じ悪いレスだな。

もし>>275の言うように本当に他人が書き込んだとしても、>>273にはそれがわからないわけだ。
単にマルチしていると誤解してるだけで、陥れようとかそういう意図は273には無かったかもしれない。
にもかかわらず「そんなに人を陥れたいんですか?」と決めつけてしまうのはどうかと思う。

もうひとつ。
陥れるも何も、そもそも宿題は自分でやるべき事だろう。
他人にやってもらえなくなったからって、それについて文句をつけるのは間違いだ。
他人が自分の為に動いて当然って考えが見えてどうにも不愉快。
279278:2007/02/03(土) 12:30:20
おっと、>>278の名前欄は無視してくれ。

>「今回は」ってことは、もう一回投稿したら やってもらえますかね?
他人が自分の為に動いて当然って考えが見えてどうにも不愉快。
280デフォルトの名無しさん:2007/02/03(土) 12:31:51
要はできないんですね(プッ
281261 ◆nWITnzJLKI :2007/02/03(土) 12:33:39
>>278 ごめんなさい
273だけじゃなくて見てる人全体に言ったつもりでした。
それと陥れるというのは、やってもらえないからだけではなく、
自分が発言していないことを発言したと誤解されたくなかっただけです。
282デフォルトの名無しさん:2007/02/03(土) 12:54:54
パチスロ課題からの最終完成ソース
前スレ364氏に感謝汁して改良するといいよ^^
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28984
283261 ◆nWITnzJLKI :2007/02/03(土) 13:25:00
>>282
ありがとうございました。自分なりにやってみます。
でもよろしければ、どなたかお願いします。
たぶん僕にはできませんから。
284デフォルトの名無しさん:2007/02/03(土) 14:06:13
プログラマーもやめたほうがいいよ。にんげんも病めた方がいいお=^∀^)
285デフォルトの名無しさん:2007/02/03(土) 19:42:25
ここに宿題書くと他スレに書き込まれてマルチ扱いされるでFA?
286デフォルトの名無しさん:2007/02/03(土) 20:38:17
怖かったらトリでもつけて質問すれば?
287デフォルトの名無しさん:2007/02/04(日) 00:07:01
261がマルチだろうとマルチを騙られたにしても真実は関係ない。
実際に存在するレスから各回答者が判断するだけだ。
マルチでも構わんっていう回答者だっているかもしれんしな。
依頼者は少しでもリスクを減らしたいならトリップを付けるべき。
288デフォルトの名無しさん:2007/02/04(日) 00:50:38
トリップ推奨とかどんどんC/C++宿題スレと似てくるなあ。
まあ、向こうの方が歴史あるからな。
289デフォルトの名無しさん:2007/02/04(日) 02:37:57
言語は違え、宿題スレは宿題スレだから、似た傾向になるのは仕方ないかも。
窮屈な方向に進むのは褒められたことではないけど。
290デフォルトの名無しさん:2007/02/04(日) 21:52:34
>>283
>たぶん僕にはできませんから。

普通こういう場合って、単位落としていいんじゃないかと思うが・・・
態度によっては・・・、とした場合も態度も最悪だしなぁ・・・・
291デフォルトの名無しさん:2007/02/05(月) 06:08:30
292あぁ、無情:2007/02/05(月) 11:57:27
>>291
解凍してもバイナリファイル1つだけだったよ・・・
293デフォルトの名無しさん:2007/02/05(月) 14:50:08
【 課題 】JAVAアプレットをアプリケーションでも動かす
【 形態 】Javaアプリケーション(main()で開始)/2. Applet
【 GUI  】1. AWT Swing
【 期限 】2月7日
【 Ver  】java version "1.5.0_06"
【 補足 】前に質問した者ですが、アプリケーションを作るまではできたのですが起動まではしてくれません
      すいませんがお願いします
294デフォルトの名無しさん:2007/02/05(月) 14:50:48
重ねてすいませんソース貼り付け忘れました
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29178
295デフォルトの名無しさん:2007/02/05(月) 15:52:56
>>293
何で投げっぱなし・・・
どう悪いから起動しないとかかいといたほうがいいだろ・・・
って、そんな気が利くほどのヤツなら自分でエラー見ながら出来てるか・・・
296デフォルトの名無しさん:2007/02/05(月) 22:14:25
【 課題 】http://a-draw.com/uploader/src/up13802.txt
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】2/8
【 Ver  】1.4.2
297デフォルトの名無しさん:2007/02/06(火) 00:37:48
>>296
中央値って57.61になる?
298デフォルトの名無しさん:2007/02/06(火) 00:51:42
>>296
public class A {
public static void main(String[] args) throws java.io.IOException {
java.io.BufferedReader in = null;
try {
in = new java.io.BufferedReader(new java.io.FileReader("(ファイル)"));
int n = Integer.parseInt(in.readLine());
double[] a = new double[n];
double min = Double.MAX_VALUE, max = Double.MIN_VALUE, mean = 0.0, var = 0.0;
for (int i = 0; i < n; i++) {
a[i] = Double.parseDouble(in.readLine());
if (a[i] < min) min = a[i];
if (a[i] > max) max = a[i];
mean += a[i] / n;
var += a[i] * a[i] / n;
}
var -= mean * mean;
java.util.Arrays.sort(a);
double med = n % 2 == 0 ? (a[n / 2 - 1] + a[n / 2]) / 2 : a[n / 2];
System.out.println("最小値 " + min);
System.out.println("最大値 " + max);
System.out.println("平均値 " + mean);
System.out.println("中央値 " + med);
System.out.println("分散 " + var);
} finally {
if (in != null) in.close();
}
}
}
299デフォルトの名無しさん:2007/02/06(火) 00:52:50
>>297
たぶんならない。56.77になった。
300296:2007/02/06(火) 01:01:10
無事実行できました。ありがとうございました。
301デフォルトの名無しさん:2007/02/06(火) 01:09:02
>>299
それも含めて引っかけか?
302デフォルトの名無しさん:2007/02/06(火) 01:19:55
>>301
かもね。直接ソートしてみたけど、やっぱり56.77が中央値っぽい。
誤りかどうか判断の最終責任はプログラムを受け入れる依頼者にってことで。

実行例があるとプログラムを作りやすいけど、
それに誤りが含まれてるとプログラミングと違うところで悩んでしまう。
303デフォルトの名無しさん:2007/02/06(火) 01:31:27
>>296
すまん。ソース間違ってる。
double min = Double.MAX_VALUE, max = Double.MIN_VALUE, mean = 0.0, var = 0.0;
は、
double min = Double.MAX_VALUE, max = -Double.MAX_VALUE, mean = 0.0, var = 0.0;
だ。例のファイルは正数ばっかりだから答が誤ってるわけではないけど。
負数が入ったデータだとバグが丸分かりになる。
304デフォルトの名無しさん:2007/02/06(火) 01:34:54
>>303
>負数が入ったデータだと
負数ばかりが入ったデータだと
305デフォルトの名無しさん:2007/02/06(火) 03:12:32
はじめまして。

【 課題 】ユーザから与えられたクエリーをクエリー文字列に変換し、3つのサーチエンジン(goo,excite、BIGLOBE)に
検索をかけ、それぞれのヒット数を表示するプログラム。
【 形態 】スレッドを使用したいのですが・・・。面倒なら結構です。
【 GUI  】2. Swing(レイアウトは適当で結構です)
【 期限 】2月7日昼1時まで
【 Ver  】1.4.2

どうぞ宜しくお願いします。
306デフォルトの名無しさん:2007/02/06(火) 03:23:51
>>305
補足資料として、もう一度自分で調べなおしてみた結果は公開しないの?
307デフォルトの名無しさん:2007/02/06(火) 03:24:53
ちょ、おま、さっきのあっちでの質問はその前振りか!?
それとも同じ課題出された奴らか・・・
やっぱ、丸投げより自分で考えてるあっちのヤツを応援したいから、こっちはスルーすることにしよう
308305:2007/02/06(火) 03:35:41
>>306
えっと、書き込むのは今回が初めてなので・・・307の言うとおり、
どうやら私と同じ問題を出されたようですね。
>>307
私も自分で考えてぐぐったりしているのですが、どうも思いつかず
こちらに書き込ませて頂きました。
甘えて申し訳ありません!

309幼女コゼット(3ちゃい):2007/02/06(火) 09:37:33
仕事ならまだしも、その他でVer1.4.2使う(学ぶ)のはいかがなものなんでしょう?
SE6.0正式リリースされて数ヶ月経つのに・・・
という事で、1.4.2以下はパス
310デフォルトの名無しさん:2007/02/06(火) 11:38:11
【 課題 】JformattedTextFieldを利用し、時計の形態で入力できるようにする
【 形態 】1. Javaアプリケーション
【 GUI 】2. Swing
【 期限 】2月8日
【 Ver  】java version "1.5.0_06"
【 補足 】課題の説明が上手く出来ず申し訳ないです。下記のソースで補足します
311デフォルトの名無しさん:2007/02/06(火) 11:39:07
import java.util.Date;
import java.text.SimpleDateFormat;
import javax.swing.Box;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;

public class FormatClock {
public static void main(String[] args) throws Exception {
Box form = Box.createVerticalBox();
//@
JFormattedTextField birthdayField = new JFormattedTextField(new SimpleDateFormat("HH:mm:ss"));
birthdayField.setValue(new Date());
form.add(birthdayField);
//A
JFormattedTextField phoneField = new JFormattedTextField(new MaskFormatter("##:##:##"));
phoneField.setValue("12:34:56");
form.add(phoneField);

JFrame frame = new JFrame("FormatClock");
frame.getContentPane().add(form);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

@とAを両立させたいのですがどのようにすればいいのでしょうか?
312デフォルトの名無しさん:2007/02/06(火) 15:55:27
>>310-311
@とAを両立したいとは、片方の時間が修正されたら、
もう片方の時間も同じにしたいということなのかな?
何をどう両立したいのか詳しく書かないと誰もやってくれないよ
313デフォルトの名無しさん:2007/02/06(火) 15:55:54
>>310
機種依存文字使うなよー

// (1)
JFormattedTextField birthdayField = new JFormattedTextField(new SimpleDateFormat("HH:mm:ss"));
new MaskFormatter("##:##:##").install(birthdayField); <== コレ
birthdayField.setValue(new Date());
form.add(birthdayField);
314313:2007/02/06(火) 15:57:33
あ、そーいう解釈もあったな >>312
とりあえず、
・ 入力値はHH:mm:ssに限定
・ キーは数字のみ受け付ける
という点を両立させてみた。
315デフォルトの名無しさん:2007/02/06(火) 16:20:11
>>312
すいません、確かに見直すと意味分からないですね…

@では入力できる数字の範囲が時計に準じてる(秒だったら0〜59)機能と
Aの字数制限が設定されている機能を併せたモノを作りたい、という意味です


>>313
>"##:##:##"
のことでしょうか?
これはMaskFormatterクラスの任意の有効な数字を指定する#を使いましたので
文字化けではないです
316デフォルトの名無しさん:2007/02/06(火) 16:59:49
多分@とかAの事を言ってるんだと思うぞ。>機種依存文字
317デフォルトの名無しさん:2007/02/06(火) 17:05:55
そうなんですか
@とAは場所を示すためだけに付けたのですが、普通にコメントにしておけば良かったです
すみません
318デフォルトの名無しさん:2007/02/06(火) 17:36:38
@やAはUnicodeに入っているからJavaで正しく扱えば問題は起きない
Javaは動いている環境デフォルトの文字コード→Unicodeへのマッピングをちゃんと持っている
仕事で使うときは、Windows-31Jとかを活用するんだよー
機種依存文字という名称は問題を正しく表していないので気をつけて〜

未だ、機種依存文字が・・・、と言ってるJava技術者は気をつけてね♥

# フォントにグリフが無いのはまた別の問題ね
# V2C使ってるオレは勝ち組!
319デフォルトの名無しさん:2007/02/06(火) 18:16:03
>>318
お前は馬鹿か?このスレで使われてる文字セットは何なのか言ってみろ
320デフォルトの名無しさん:2007/02/06(火) 18:21:01
>>310
んで、どーなのよ?
>>313 の方法とは違うのか? だったら説明しろ
321デフォルトの名無しさん:2007/02/06(火) 18:30:23
>>318
多分Java関係無くて、BBSで使うなって事だと思うぞ。>機種依存文字使うなよー

後、>>313の 「<== コレ 」も意図が伝わってないような気がする。
多分「ここに注目!」とか「こうすれば両立できる!」って事だと思うが。
>>310は理解してるのかな?
322デフォルトの名無しさん:2007/02/06(火) 20:14:50
>>320
すいません>>321さんの言うように勘違いしていました

>>313の部分を追加してみたのですが、変化が無いようです
2のように入力時に2桁ずつしか入力出来ないようにしたいのですが…

何度もすいません
323デフォルトの名無しさん:2007/02/07(水) 05:49:50
>>319
Shift_JISといいつつWindows-31Jだと思う。
ちなみに、MacOSXでもWindowsでも、このスレの丸数字は普通に見えるよ。
SafariでもFirefoxでも大丈夫。

今、丸数字が見れない環境って何だろ?
324デフォルトの名無しさん:2007/02/07(水) 10:41:15
>>323
ネクストPC アッー!!
325デフォルトの名無しさん:2007/02/07(水) 13:52:42
326デフォルトの名無しさん:2007/02/07(水) 14:43:46
>>325
そんな感じです!

あとWindowsの「日付と時刻のプロパティ」の時計のように
25時や63分のような数字を入力できない(キーを押しても表示されない)
ようにしたいのです

本当に説明下手ですいません
327デフォルトの名無しさん:2007/02/07(水) 16:13:39
どんどん仕様が加えられていくな。
性質の悪いクライアントに当たった感じだ。
328デフォルトの名無しさん:2007/02/07(水) 16:34:13
>>315の説明を解りやすくしようと思って書いたのですが…逆効果でしたかね…
329デフォルトの名無しさん:2007/02/07(水) 17:02:45
>>328
仕様変更でなく最初からそういう機能が必要だったのなら
最初に依頼する時に分かりやすく説明してくれていればよかったけどね
一番いいのは問題文を自分で解釈して説明せずに原文のまま出すことだけど
330デフォルトの名無しさん:2007/02/07(水) 17:12:31
口頭で伝えられたのでこんな解りにくい説明になってしまいましたが、もうちょっと推敲するべきでした
みなさんを混乱させてしまい申し訳ないです
331デフォルトの名無しさん:2007/02/07(水) 17:27:58
よく知らないんだがざっくり作ってみた。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29182
正規表現のフィルターって無かったっけ?
どうも無駄な事をしてる気がする……。
332あい:2007/02/07(水) 17:28:40
>>323
漢字Talk
333デフォルトの名無しさん:2007/02/07(水) 17:52:25
>>331
こ、これです!!
ありがとうございます!

付き合って下さった皆様方、本当にありがとうございました
そしてご迷惑をおかけしました
334デフォルトの名無しさん:2007/02/08(木) 23:01:05
【 課題 】txtファイルに書かれた値(商品コード、工場コード)を読み取る→
      その値からデータベースを検索→
      結果をcsvファイルで出力。
      
      txtファイル読み込みクラス、CSVファイル出力クラス、DB接続クラス、DB検索クラスは
      それぞれ別ファイルで作成する。
     
      [資料]
/*------DBテーブル構成-------------*/
      ★商品テーブル
      *商品コード   *商品
       01      テレビ
       02      ラジオ
       03      掃除機
       04      洗濯機
       05      冷蔵庫

      ★生産工場
      *工場コード  *工場名
       11     東京
       12     神奈川
       13     埼玉
       14     千葉
       15     茨城
【 形態 】1.Javaアプリケーション(main()で開始)
【 GUI  】4・制限なし
【 期限 】2月14日・午前10時
【 Ver  】1.5.0_09
【 補足 】課題内容の説明が不十分ですが、よろしくお願いいたします。
335デフォルトの名無しさん:2007/02/09(金) 05:54:27
> 334
>【 補足 】課題内容の説明が不十分ですが、よろしくお願いいたします。
不十分だと思う課題の説明をこの【 補足 】の項でしてくれよ。。。
「よろしくお願いいたします」とかどーでもいーからさー。。
336デフォルトの名無しさん:2007/02/09(金) 09:38:27
del パス名

で指定したファイルを削除するプログラムってどう作ればいいですか??
337デフォルトの名無しさん:2007/02/09(金) 09:47:42
>>336
【初心者】Java質問・相談スレッド97【大歓迎】
http://pc10.2ch.net/test/read.cgi/tech/1170391493/367

367 名前:デフォルトの名無しさん[] 投稿日:2007/02/09(金) 09:36:26
del パス名

でディレクトリ削除するプログラムってどうつくる?



マルチ死ね
338デフォルトの名無しさん:2007/02/09(金) 10:15:58
>>334
足りない情報を確認してみようか

1. DBを使うと書いているが、DBの種類(*1)はなんでもいいのか?
2. txtファイルに書かれた値(商品コード、工場コード)の形式(値区切り)は何か?
3. 2の値は各1種類以内なのか複数あるのか?

*1 一部DBには、属性名にバイト文字(日本語)が使えない場合がある
339334:2007/02/09(金) 11:07:11
>335
>338
ご指摘ありがとうございます。
1、DBはAccessを使用
2、値区切りは「行区切り」
3、各値は1種類
です。
340デフォルトの名無しさん:2007/02/09(金) 13:24:14
【 課題 】魚眼画像を平面画像(平面透視投影画像)に変換せよ。
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】2. Swing
【 期限 】提出期限2/13なので12日位、11日だとかなり助かります。。
【 Ver  】java version "1.5.0_06"  
【 補足 】丸投げです。。だいぶ厳しいのでよろしくお願いします。。
341338:2007/02/09(金) 13:46:39
>>339
>1、DBはAccessを使用
( ゚д゚ )!? Access95買って以来VerUpしてないな・・・パスだなこりゃ
342デフォルトの名無しさん:2007/02/09(金) 13:57:07
>>340
これは画像処理専門にしている方じゃないと厳しいね
Java画像処理専門技術者はかなり少ないと思うよ
前スレでも同じ内容上がっていたけど、みんな素通りだったから今回も無理じゃない
343デフォルトの名無しさん:2007/02/09(金) 14:31:48
>>340
魚眼画像のサンプルと、画像変換の式(魚眼→平面画像の座標変換式)を提示すれば、
回答される期待値は上昇すると思われ。変換式はまさにテンプレの用語欄で説明するべきこと。
344デフォルトの名無しさん:2007/02/09(金) 15:39:40
C++でのソースはあるのですがjavaに書き換えれません・・・。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29187
魚眼画像
http://image-search.yahoo.co.jp/detail?p=%e9%ad%9a%e7%9c%bc&cop=&ib=4
345デフォルトの名無しさん:2007/02/09(金) 17:53:50
>>344
これOpenCV?
そのまんまじゃ書き換えられないから、Canvasとかに書き出してGraphics取り出せば。
java2dとかでググってみて。
346デフォルトの名無しさん:2007/02/09(金) 19:31:04
宜しくお願いします

【 課題 】プログラムを変更し、「write ファイル名」とクライアントから入力すると
指定されたファイルにstatコマンドの出力と同じ内容を出力するようプログラムを作成せよ

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】2/11(日) 18時
【 Ver  】1.5.0_10
【 補足 】プログラム:
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29189

clientProcクラスのrunメソッドをいじればできると思います
変更点のみ教えて頂ければ幸いです、馬鹿でごめんなさい
347デフォルトの名無しさん:2007/02/09(金) 20:16:08
>>346
全部書くの面倒だからヒントだけ。

st.nextToken() をもう一回やると "write" の次の単語が取り出せるので、
それに対して stat を行う。

stat が Linux の stat コマンドのことだとすると、Runtime.exec() で
stat コマンドを実行してしまった方が楽だ。あとはその出力を拾って
out.print() に渡すだけ。
348デフォルトの名無しさん:2007/02/09(金) 21:12:19
【 課題 】繰り返し二乗法
【 形態 】1. Javaアプリケーション(main()で開始)/
【 期限 】2/11
【 Ver  】java version "1.5.0_10"
【 用語 】
例)325^30(mod 23)の計算。

30を2進数表示   30=11110(2)
325^2,325^4,325^8,325^16を計算
325^2 =105625 ≡9  
325^4 ≡92 =81 ≡12
325^8 ≡122 =144 ≡6
325^16 ≡62 =36 ≡13

325^30mod23を計算
325^30 =325^16×325^8×325^4×325^2
≡13×6×12×9
=78×108
≡9×16
=144
≡6

【 補足 】用語にあるような動作をして結果を出力するプログラムを書けというのが課題です。
      宜しくお願いします。
349あぁ、無情:2007/02/10(土) 00:54:32
期限         レス番号
---------------------------
2/11         >>348
2/12         >>340
2/14         >>335
350間違えた:2007/02/10(土) 00:55:44
期限         レス番号
---------------------------
2/11         >>348
2/12         >>340
2/14         >>334
351デフォルトの名無しさん:2007/02/10(土) 02:25:54
>>348
public class A {
public static void main(String[] args) {
long n = 325;
long e = 30;
long m = 23;
System.out.println(n + "^" + e + "(mod " + m + ") = " + java.math.BigInteger.valueOf(n).modPow(java.math.BigInteger.valueOf(e), java.math.BigInteger.valueOf(m)));
/*System.out.println(n + "^" + e + "(mod " + m + ") = " + modPow(n, e, m));*/
}
/*private static long modPow(long n, long e, long m) {
long p = n % m;
long q = 1;
while (e > 0) {
if (e % 2 != 0) {
q *= p;
q %= m;
}
e /= 2;
p *= p;
p %= m;
}
return q;
}*/
}
例示された325の冪乗計算の途中がおかしいような。結果は合っているけど。
325^a(mod m) = ((325^(a/2)(mod m))^2)(mod m)を利用。例えば、23を法として、325≡3、325^2≡3*3≡9、325^4≡9*9≡12、...
ビットが立ってる桁も順番に掛け算するたびにmodを求めている。
352デフォルトの名無しさん:2007/02/10(土) 04:16:45
>>347
ありがとうございます、少し考えてみます。
353デフォルトの名無しさん:2007/02/10(土) 21:21:44
【 課題 】五目並べの盤面とPASSボタン、RESETボタンを作成せよ。(ボタンはSwingを使って作成すること)
【 形態 】2. Applet
【 GUI  】2. Swing
【 期限 】2007/02/11
【 Ver  】java version "1.5.0_04"
【 補足 】盤面はできているのですがマウスをボタンのところに持っていかないとボタンが表示しません。
      できればアプレットを立ち上げたと同時にボタンも表示したいです。
      途中までのソースを>>353に貼ります。
354353:2007/02/10(土) 21:24:00
間違いました354と355と356に貼ります
/*
<applet code="Gomoku_swing_2.class" width=400 height=380>
</applet>
*/

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

public class Gomoku_swing_2 extends JApplet implements MouseListener,ActionListener{

int n = 8; //盤面のマス目
int num = 9; //石を置く場所のマス目
int stone[] = new int[81]; //石の状況(0:黒、1:白、2:なし)
int square = 16; //マス目の幅
int turn; //順番(0:黒、1:白)
int margin = 120; //端まで行かないように余裕をとる
int delt = 5; //余白
int rad = 10; //石の直径
int num_b; //黒石の数
int num_w; //白石の数
boolean place; //石が置けるかどうか
boolean flag; //ゲームが終了かどうか
int you; //ユーザーの石(0:黒、1:白)
boolean win = false; //前のゲームは勝ちかどうか

Dimension d; //表示領域

Container cnt = getContentPane();
JButton BT[] = new JButton[2];
355353:2007/02/10(土) 21:24:33
public void init(){
int i,j;

d = getSize();

for(i=0;i<81;i++){
stone[i]=2;
}

stone[0] = 0;
stone[8] = 1;
stone[72]= 1;
stone[80]= 0;

//ボタンを配置
BT[0] = new JButton("PASS");
BT[1] = new JButton("RESET");
cnt.setLayout(new BorderLayout());
cnt.add(BT[0],BorderLayout.SOUTH);
cnt.add(BT[1],BorderLayout.NORTH);
BT[0].addActionListener(this);
BT[1].addActionListener(this);


addMouseListener(this);
}
356353:2007/02/10(土) 21:25:59
public void paint(Graphics g){

int i,j;//カウンタ
int k; //マスの番号
int xx,yy;//マスの座標

//バックを黒に塗る
g.setColor(Color.red);
g.fillRect(0,0,d.width,d.height);

//盤面の描画
g.setColor(Color.white);
g.fillRect(margin,margin,n*square,n*square);

g.setColor(Color.black);
for(i=0;i<num;i++){
g.drawLine(i*square+margin,margin,i*square+margin,n*square+margin);
g.drawLine(margin,i*square+margin,n*square+margin,i*square+margin);
}
357353:2007/02/10(土) 21:28:08
//石の描画
for(i=0;i<num;i++){
yy = i * square + margin;
for(j=0;j<num;j++){
xx = j * square + margin;
k = i * num + j;
if(stone[k] == 0){
g.setColor(Color.black);
g.fillOval(xx-delt,yy-delt,rad,rad);
}
if(stone[k] == 1){
g.setColor(Color.white);
g.fillOval(xx-delt,yy-delt,rad,rad);
}
}
}
}
}
358デフォルトの名無しさん:2007/02/10(土) 21:47:06
>353-357
init()でボタンを描画した後に、paint(Graphics)で背景を赤で上書きしてるから、
ボタンが見えなくなっているのが原因。
対症療法的でいいのなら
g.setColor(Color.red);
g.fillRect(0, 0, d.width, d.height);
の後ろに
BT[0].paintImmediately(0, 0, BT[0].getWidth(), BT[0].getHeight());
BT[1].paintImmediately(0, 0, BT[1].getWidth(), BT[1].getHeight());
と書けばいい。

できればコンパイルできることを確認してからソースを貼ってくれ。
長くなりそうならうpろだ使えば良いし。
359353:2007/02/10(土) 22:05:39
>>358さま
ありがとうございます。
そして申し訳ございませんでした。
360353:2007/02/10(土) 22:13:28
>>358さま
ところで対症療法的と書きましたが、本来は別の方法を使うのですか?
361358:2007/02/10(土) 22:25:53
>360
paintImmediately()ってあくまでも簡易的なやり方だと個人的には思ってて
ちゃんとやるなら設計から見直した方が良いでしょ、ってこと。
今回のだと、背景を描画してからボタンを描画すればわざわざ緊急描画する必要ないし。
362デフォルトの名無しさん:2007/02/11(日) 00:13:55
>>345
CV・・・ですね!アドバイスありがたなのですが・・・わかんないっす↓
363348:2007/02/11(日) 00:27:19
>>351
解答ありがとうございます。
ただ私事で申し訳ないのですが、親類が交通事故に遭いドタドタしてしまって動作が確認できていません。
提出期限も延ばしていただいたので、明日確認したいと思っています

あと少し気になったのですが、コメントアウトになっているのはどういう意味なんでしょうか?
364デフォルトの名無しさん:2007/02/11(日) 03:27:57
>>363
もちろんシャレ。
コメントアウトしている部分(二つ目のprintlnとmodPowメソッド)の方が本質部分。

コメントアウトされていない一つ目のprintlnの方は、答え合わせ用に入れてある。
課題に必要ではないと思うのでこっちは消して、コメントアウトされた方を復活して。

課題では求められていなさそうなのでBigInteger#modPowと違って負の指数には非対応。
365デフォルトの名無しさん:2007/02/11(日) 05:53:32
【 課題 】WEB住所録
【 形態 】WEBアプリケーション
【 期限 】2/15
【 Ver 】java version "1.5.0_10"
【 用語 】
JSP、サーブレット、JAVAビーンズをつかって、住所、氏名、電話番号を登録できるWEB住所録を作成せよ
【補足 】サーバーはトムキャットを使いますが、
どんなサーバーでも動く簡単なもので結構です。
よろしくお願いします
366デフォルトの名無しさん:2007/02/11(日) 09:49:36
>365
2点確認したいことが。
1. 住所録というからには登録だけじゃなくて、その情報を閲覧できた方がいいんだけど
そこまでは求められてますか?
2. データベースは使わなくていいの?
367デフォルトの名無しさん:2007/02/11(日) 14:11:38
>>365
ちょっと待てw
tomcatはサーブレットコンテナとかのインフラだろうがサーバーはどうせapacheだろ。
そこら辺の曖昧性を解決した上で訳の分からん事言い出す前に>>366を埋めろw

#ところで最近cern httpd見ないね最近のNCSA基いapacheは高速でセキュアなの?
368レ・ミゼラブル放送日:2007/02/11(日) 14:16:32
期限         レス番号
---------------------------
2/12         >>340 (C++版サンプルソースあり)
2/14         >>334 (Access95はあるが、CD-ROMどっかいった)
2/15         >>365 (>366氏がハリキッテおります)
369デフォルトの名無しさん:2007/02/11(日) 14:22:21
>>367
www      パソコン
----------------------
cern httpd  ネクスト PC
apache    IBM PC
IIS       アップル PC
370365:2007/02/11(日) 16:18:29
>>366
閲覧もお願いします。
データベースは使わなくて結構です。
本当に簡単なものでいいので…
>>367
スイマセン…少し勘違いしてました
371デフォルトの名無しさん:2007/02/11(日) 19:35:32
初心者すぎてすれ違いかもしれませんが、お願いします
【 課題 】
/* 誕生日ごとの正座を表示する */

import java.io.*;

public class Horoscope2 {
public static void main(String[] args) throws IOException{
BufferedReader r =
new BufferedReader(new InputStreamReader(System.in));

System.out.println("何月生まれですか?");
String s1 = r.readLine();
int month = Integer.parseInt(s1); /* 月 */


System.out.println("何日生まれですか?");
String s2 = r.readLine();
int day = Integer.parseInt(s2); /* 日 */

switch(month){ /* 生まれた月をチェックする */
case 1:
if(day >=1 && day <=19){ /* 生まれた日をチェックする */
System.out.println("あなたの星座は山羊座です。");
System.out.println("Personality.YAGI");
}
else{
System.out.println("あなたの星座は水瓶座です。");
System.out.println("Personality.MIZUGAME");
}
break;
372デフォルトの名無しさん:2007/02/11(日) 19:36:49
続き
以下case12まで省略
case12;
if(day >=1 && day <=19){ /* 生まれた日をチェックする */
System.out.println("あなたの星座は山羊座です。");
System.out.println("Personality.YAGI");
}
else{
System.out.println("あなたの星座は水瓶座です。");
System.out.println("Personality.MIZUGAME");
}
break;
のようなプログラムのとき実行した時
「Personality.******」の部分に文章が表示されるように
するため

class Personality{
static String ****** = "文章"; ←case1に対応
以下省略
static String ****** = "文章"; ←case12に対応
   }
のようなPersonalityのクラスにまとめて簡単にして
文章を呼び出そうとしたんですが
実際実行すると
「Personality.******」と表示されて
本当は「文章」させたかったのにうまく出来なくて??困っています
わかりにくくてすみません
というか私自身何もわからないので・・・
373デフォルトの名無しさん:2007/02/11(日) 20:23:34
>>396
ああ、IBM-PCがまともになった揚げ句ネクストが経営不振になった訳ね・・・

何かNeXT-cubeの上でWWWじゃなくてwww走らせたくなってきたじゃねーかバーローw

#Stay hungry, stay foolish.
374デフォルトの名無しさん:2007/02/11(日) 21:18:36
371
○ System.out.println(Personality.MIZUGAME);
× System.out.println("Personality.MIZUGAME");
↑ダブルクォートはいらない。
あと>>1を参考に環境を書きましょう。
375sage:2007/02/11(日) 21:27:24
>>374
環境はeclipeでした、以後気をつけます。
どうもありがとうございました。
376デフォルトの名無しさん:2007/02/11(日) 23:02:36
テンプレ無視するやつは放っておこうよ
質問スレとの棲み分けもあるし
377デフォルトの名無しさん:2007/02/11(日) 23:07:52
378デフォルトの名無しさん:2007/02/12(月) 00:15:37
期限         レス番号
---------------------------
2/12         >>340
2/14         >>334

>>373
新一 = コナンなんだぜwww
379365:2007/02/12(月) 00:43:00
>>377
ありがとうございます!
少し質問なんですが、このWEBアプリケーションを実行するフォルダの構造はどのようにすればいいのでしょうか?
ほとんど理解してなくてすみません・・・
380デフォルトの名無しさん:2007/02/12(月) 02:39:07
>>364
動作確認させて頂きました、ありがとうございます
ただ、値を大きくして実行すると(4〜5桁以上)正確な答えが出力されないのは何故なんでしょうか?
多分longintの範囲内に収まってると思うのですが…
プログラム11行目のqが1のままreturnされてしまうみたいです
無知で申し訳ありません
381デフォルトの名無しさん:2007/02/12(月) 03:18:18
>>380
どういう値を使うと誤答する?
n = 1234567;
e = 8901234;
m = 5678901;
とかでも問題なかったけど。
382デフォルトの名無しさん:2007/02/12(月) 03:48:04
q*=p;とp*=p;でオーバーフローの可能性があり、pとqは上限をmで抑えられている。
longは18桁までのあり得る整数を全て表現できたと記憶してるので、
mが9桁までなら計算の途中でオーバーフローはしないと思う。
383377:2007/02/12(月) 07:36:04
>379
Tomcat入れてるんだったらサンプルアプリを参考にすれば?
申し訳ないがそこまで面倒見れない。
384デフォルトの名無しさん:2007/02/12(月) 11:37:51
自分の環境にtomcat入れてるのとは違うかもしれないからフォロー入れとくとIT厨な奴らがそこらへんで自身満々に解説してるからググってみれば?

IBMかどっかもapach+tomcatでwebアプリ環境構築の解説をしてた気がする。
385365:2007/02/12(月) 20:59:34
調子に乗ってすみません。
自分のPCにトムキャット入っていないので今日学校で実行してきました。
本当にありがとうございました
386デフォルトの名無しさん:2007/02/13(火) 00:28:56
期限         レス番号
---------------------------
2/14         >>334
387デフォルトの名無しさん:2007/02/13(火) 01:51:03
次のプログラムがあります これにEMPLOYEEクラスを定義して以下の実行結果になるようにしてください。DESCRIPTIONメソッドはSTATICメソッドです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
this is program enployee date . have fun!
no :1
name :tanaka
no :0
name :no name
no :5
name :yamada
388デフォルトの名無しさん:2007/02/13(火) 01:52:06

下記に追加して完成しなさい。
class Person{
public static void main(String args[]{
Employee.description();
system.out.println();
Employee emp1= new Employee(1, "tanaka");
emp1.print();
System.out.println();
Employee emp2 = new Employee();
emp2.print();
System.out.println();
emp2.changeDate(5, "yamada")
emp2.print();
}}
class Employee{
private int no;
private String name;
static void description(){
【 形態 】1. Javaアプリケーション
【 GUI  】GUIではありません。
【 期限 】今日の朝15時までです。
【 Ver  】java version "1.5.0_04"
【 用語 】なしです。
【 補足 】いま調べながら、勉強しています。よろしくおねがいします。
389デフォルトの名無しさん:2007/02/13(火) 02:05:18
>>387-388
Employeeを↓に変更する。
class Employee {
private int no;
private String name;

//デフォルトコンストラクタ
Employee() {
this.no = 0;
this.name = "no name";
}
//コンストラクタ
Employee(int pNo, String pName) {
this.no = pNo;
this.name = pName;
}
static void description() {
System.out.print("this is program enployee date . have fun!");
}
void changeDate(int pNo, String pName) {
this.no = pNo;
this.name = pName;
}
void print() {
System.out.println("no :" + this.no);
System.out.print("name :" + this.name);
}
}
390デフォルトの名無しさん:2007/02/13(火) 03:35:41
>>389ありがとうございました!!
391387:2007/02/13(火) 10:26:43

課題:コマンドプロンプトの
コマンド:dir、cd、del、mkdir、ren、type、exit
上記を実行できるプログラムを作成せよ。

一応作ってみたんですが、まったくうまくいきません・・・

お手本等作っていただけたら幸いです。
期限は今日の夕方。

JAVAで、main()で始まります。




392デフォルトの名無しさん:2007/02/13(火) 11:19:16
Runtime.getRuntime().exec("dir")
Runtime.getRuntime().exec("cd")
Runtime.getRuntime().exec("del")
(略
393387:2007/02/13(火) 11:21:53
Runtimeですか

情報ありがとうございます。
394387:2007/02/13(火) 11:45:04
391ですが、java.io.IOException: CreateProcess: dir error=2
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:67)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at java.lang.Runtime.exec(Runtime.java:428)
at java.lang.Runtime.exec(Runtime.java:364)
at java.lang.Runtime.exec(Runtime.java:326)
at pack.pack2.hghghghg.main(hghghghg.java:22)
Exception in thread "main"
このエラーはどういった意味でしょうか。
395デフォルトの名無しさん:2007/02/13(火) 12:02:18
【 課題 】3次元グラフの表示
【 形態 】1. Javaアプリケーション
【 GUI  】Java3D
【 期限 】明日14日の昼13時まで
【 Ver  】java version "1.4.2"(Mac)
【 用語 】-
【 補足 】
java3dは1.4以上で動作なので
macである必要は無いと思います。
以下の様なのをもっと分かり易くしてくれると有り難いです。
http://www.toyama-mpu.ac.jp/la/math/java3d/index.html
396デフォルトの名無しさん:2007/02/13(火) 13:06:38
>>394
dirは内部コマンドなため、Runtimeでは直接実行できないので、
cmd /c dir
のように実行する必要あり。

397デフォルトの名無しさん:2007/02/13(火) 13:17:35
>>387
頭を使った形跡が見えないしょーもない質問だったからネタで答えたら、本気でやったのか。
dir とか del とかは cmd.exe 組み込みだからファイルとしては存在しねーよ。
"cmd /c dir" とかやっとけ。 つーかこれ、javaの話じゃねーけどな。

で、恐らくその課題は、こーいうことをやれと言っているのではない。
やっることjava殆ど関係ねーし
398デフォルトの名無しさん:2007/02/13(火) 13:44:14
>>391
いまこそjdk6の真価が問われる時!

つrhino

てかjrunscriptでtype以外実装済み。
こう言うことを環境非依存で手軽にする為のscripting framework apiだ
作法に従ってエンジン呼び出しちまいなYO!

#マジレスするとテンプレ埋めてから頭使え
399デフォルトの名無しさん:2007/02/13(火) 14:00:16
勉強がてらマジでscripting+rhinoで書いてやろうかと思ったが夕方までなのね・・・orz

#LiveConnectでコマンド実装してJSCompiler通してmainでスクリプトエンジン取得してdefineClass()しちゃダメかね?w
400デフォルトの名無しさん:2007/02/13(火) 14:04:53
ま、アレだ。
Fileクラスのjavadocでも読めと。
401デフォルトの名無しさん:2007/02/13(火) 14:10:36
質問スレみたいな流れだな
最近
402デフォルトの名無しさん:2007/02/13(火) 15:02:45
だったら少なくともテンプレを無視するやつは相手にするなよ
精々質問スレへの誘導くらいにしておかないといくらでもつけあがるぞ
403デフォルトの名無しさん:2007/02/13(火) 20:49:25
>>397
exitが入ってる段階で、それは使うのかな、と思ったけどな。
>>402
それは質問スレに迷惑が・・・・・
404デフォルトの名無しさん:2007/02/13(火) 23:28:58
>>403
>>397じゃないが俺も始めはそう思ったがコマンド実行って時点で少なくとも
インタプリタ書く訳だからそのインタプリタの後始末やって
System#exit(int)呼び出せって事だと解釈したけど。

cmd呼び出したんじゃwin以外無視になる。
Javaやってそれは幼稚過ぎる。

最近どうも講師が馬鹿なのか生徒が話理解出来てないだけなのか
判断出来ないレスが多くてどうも書きたいと思うコードがないな。不明点が多過ぎる。

exitなんてコマンドがあるからアプレットじゃないのは分かるが・・・
405デフォルトの名無しさん:2007/02/14(水) 00:22:30
>>404
いや、しかし、dirって、思いっきりwindowsじゃ・・・・
あと、exitは、思うにJavaのexitではないと思う・・・
問題のはじめに「コマンドプロンプトの」って付いてるし

講師のレベルに関して疑問がある点については同意。
その講師に合わせられるかが問題かもw
406デフォルトの名無しさん:2007/02/14(水) 00:26:11
なんでみんなそんなに親切なんだ
407長文スマソ:2007/02/14(水) 01:17:40
>>405
>dir、cd、del、mkdir、ren、type、exit
がメインで”コマンドプロンプト”はそれに掛かる説明的な修飾だと思った。
それかDOS窓で実行出来るって前提が暗示されててCUIで書けって事かと。

>上記を実行できるプログラムを作成せよ。
の部分は同じ動作をしろって解釈したな。
でなきゃバッチやシェルスクリプト書けば良いだけだし。

だって、普段鯖側がどうとか言ってるくせに鯖すら用意しねえ専門講師がUnix系コマンドが直に出てくるとは思えんし、

winはOSがいい加減なマウント・アンマウントを内部でやってるだけなのにlinux教えるとマウントUZEE!とか言う生徒にunixの話は分からんだろうし。

つーか専門なんてマイコンが高くて手が出せなかった時代の遺物だぞ?あの時代ならBASIC+アセンブリだから技術も(ry)

>dir、cd、del、mkdir、ren、type、exit
この程度ならIO習ってりゃjava.io.Fileのjavadoc読みながら出来るから>>391が本当にさわりしか習ってないならプロセス呼び出し、
次段階のIOの締め位まで習ってるなら自分で入力拾えって事でFAだろうな。

まあ、RPNの話じゃないから言語インタプリタ実装は絶対にないだろう。
ここまで情報がないと消去法しかない訳でw

生徒から見れば仕様も実装も自分でやるからその為にはまず、
お前の頭ん中見せろ!って思うだろうな講師に。そうやって現実を知って絶望してる奴も居るだろうし。

PLとweb関係の講師は酷いの多いぞ。
408デフォルトの名無しさん:2007/02/14(水) 15:44:17

長い言い訳にしか見えんが・・・

>>407も教師向きではないな・・・
昔の自慢話をするタイプ

まぁ、ともかく・・・
exitをFileで実現する方法・・・オレに教えてください><
409デフォルトの名無しさん:2007/02/14(水) 16:58:17
new java.io.File("cmd.exe"){void exit(){try{new ProcessBuilder(getName(),"/k","exit").start().waitFor();}catch(Exception e){}}}.exit();
410デフォルトの名無しさん:2007/02/14(水) 17:36:50
つーかさ、コマンドを実行しろって課題なの?
同じ動作をjavaで実現しろって課題なの?
411デフォルトの名無しさん:2007/02/14(水) 18:04:28
>>410
> 実行できるプログラムを作成せよ
ってことだから字義通りなら実行できればそれでいいと採れる。
でもまあ同じ動作をするものをWindowsのコマンドを使わずにJavaで実現しろってことだろうね。
del *.*の代わりにjava del *.*とするとか。
dir、del、mkdir、ren、type
に関してはFileクラスで何とかなりそうだけど、
cd、exit
はシェルをJavaで作って、その上で動作するコマンドとして実装しないとだめな気が。
> java SimpleCmd
$ cd hoge
$ del *.*
$ exit
>
みたいな。
どっちにしても、テンプレも埋めてないし、期限も切れてるし、議論もそろそろ収束させるべきかと。
412411:2007/02/14(水) 18:13:13
typeはFileというよりストリームだね、使うのは。
413デフォルトの名無しさん:2007/02/14(水) 23:32:22
>>411
WSHが屑だからって何故かJavaで実装しちゃった代替シェルがあったな・・・

て言うか質問者が投げっ放しで放置プレイかますから一向に話が進まないし
まだ宿題の時期じゃないから投下されたネタで話すしかないよなぁ
414デフォルトの名無しさん:2007/02/15(木) 01:43:29
【 課題 】

以下のような賭をすることを考えます.

開始時の所持金をA円とします.
目標とする金額をB円とします.
さいころを投げて偶数の場合は1円を獲得,奇数の場合は1円を失います.
所持金が目標額のB円に到達すれば賭は終了,
また所持金が0になった場合は破産で終了とします.
数学的な考察をすると,この賭の期待値はA円となります.
つまり,何回もこの賭を続けていると,成功したり破産したりしますが,
平均すると元の所持金しか得られないということです.

また,勝ち負けまでに投げるさいころの回数の平均は,(B-A)×Aとなります.

たとえば,開始時の所持金をA=8円,目標額をB=10円とすると,
勝つ確率は8割,1ゲームあたり平均すると(10-8)×8=16回,
さいころを投げることになります.

このことは,賭をしても儲からない,ことを意味していますね.

このことを確かめるプログラムを作成しなさい.
415414:2007/02/15(木) 01:44:04
条件
メソッド
以下のメソッドを作成すること.

void startGame() ゲームを開始し,指定回数繰り返す
void doOneGame() 破産,目標額に達するまでの1ゲームを実行する
int getNumber() キーボードから数値を読み込むメソッド
int rollDice() さいころをふるメソッド
void main() main


先頭部分
プログラムの先頭部分は以下のようにすること.
先頭のコメント部分は指示に応じて書き換えること.

/*
プログラムの簡単な説明を記述する
作成者指名および作成日付を書く
*/
import java.io.*;
public class MoneyGame {
// 変数を宣言,クラス全体で有効,オブジェクトの状態を表す
int targetMoney; // 目標額
int currentMoney; // 現在の所持金
int startMoney; // 最初の所持金
int totalGame; // ゲームの回数
int totalDice; // 全体で何回さいころをなげたか
int totalWin; // 勝ったゲーム数
BufferedReader br; // キーボードからの入力用

void startGame(){
416414:2007/02/15(木) 01:44:43
入出力例
入力および出力例は以下を参考にすること.

$ java MoneyGame
さいころゲームスタート
目標額を入力==> 10
最初の所持金を入力==> 8
何回繰り返しますか==> 1000
◎◎2回で目標額を達成しました!!
◎◎2回で目標額を達成しました!!
◎◎4回で目標額を達成しました!!
◎◎4回で目標額を達成しました!!
●●18回で破産しました!!
◎◎18回で目標額を達成しました!!
◎◎20回で目標額を達成しました!!



1ゲームあたりさいころを投げた回数の平均:16.562
勝利した割合:0.789
417414:2007/02/15(木) 01:49:34
プログラムの書き方
インデントに注意すること.
わかりやすいコメントを書くこと.
入力のエラーなどをチェックし,適切なメッセージを出力すること.
たとえば負の数は入力できない,最初の所持金と目標額の大小関係など.
プログラムを使う人の立場になって,工夫すること.たとえば,
メッセージをわかりやすく興味を引くようにする.
入力値が間違っていたらすぐ終了しないで,適切な値が入力されるまで,
入力受付を繰り返す.
終了時に,もう一度ゲームするかを問い合わせる.


【 形態 】 Javaアプリケーション

【 期限 】2/20
【 Ver  】javac 1.5.0_10
【 補足 】最早何から手を付けていいのかさえわかりません(´・ω・`)

418デフォルトの名無しさん:2007/02/15(木) 02:03:14
一応javaの課題なのですが、ここがスレ違いでしたら申し訳ないです。
すれ立てるまでもない質問・Java質問スレッドと迷ったのですが。
差し支えなければしかるべきところを教えてください。

【 課題 】
大学のある学科の授業時間割のクラス図を作れ。ただし次の要求条件を満たすものとする。
(a) この学科は複数の学年から構成されている
(b) 祝祭日以外の月曜から金曜の一日は時限に分割される。
(c) 各学年にはその学期に行うべき授業科目が決まっている。
(d) 各授業科目には担当の教官が決まっている。
(e) 各授業にはそれを受講する学生の人数に合った大きさの教室を割り当てる必要がある。
(f) 教官によっては何らかの都合で授業を行えない時限があらかじめわかっているので、
それと競合しないように時間割を組まなければならない。
(g) プログラミング実習を行う授業は計算機室で行う。したがってこの種の授業は競合してはならない。
【 期限 】2月15日夜
よろしくお願いします。
419デフォルトの名無しさん:2007/02/15(木) 02:19:02
>>418
これは、Java自体関係ないぞ
クラス図 = UMLあたりだろ
板違い
420デフォルトの名無しさん:2007/02/15(木) 02:22:50
>>419
どうもです
UMLで検索します
421デフォルトの名無しさん:2007/02/15(木) 16:47:27
>>414
その課題決定的に間違ってるのは事象が賭けじゃなくて日本の富くじって事だな。

賭け(パチンコやカジノ)は元々期待値が変動するかルール理解してプレイすれば操作可能だ。

しかも課題は長期的に見れば所持金が±0になるのを証明しろって問題なのに実際にやってることはただのシミュレート。

更にPL関係なく中学の証明の問題。
これここでやる事じゃないと思うんだけど・・・Javaで実装しろって課題なら何でもありなの?>>all

#因みに日本の宝くじの期待値は常に掛け金の48%固定だから。証明も糞もなかったりする。
422デフォルトの名無しさん:2007/02/15(木) 17:10:55
>>421
このことを証明しなさいとは言っていないわけで、
モンテカルロ法で確かめてみなさいってことでは?
>>417の注意書きからすると数学の証明でなく、
プログラムを書くことを主な目的にしている気がする。
Javaでしか実装できない問題というのはあまり思いつかないので、
Javaで書けという課題は基本的にJavaの課題と言ってもいいんじゃないかな。
もちろん、やるやらないは自由だし、何をもってJavaの課題とするかは個人の判断だと思う。
アップローダにあげればよさそうな長文を何レスにもわたって書いている段階で俺はパスしているが。
423デフォルトの名無しさん:2007/02/15(木) 17:49:26
>>422
同意
424デフォルトの名無しさん:2007/02/15(木) 18:15:27
>>422
なるほど、逆にJavaじゃ物理乱数吐けないもんな。

>>414
>>何から手を付けていいのかさえわかりません
課題に乱数というキーワード・やってる事が明らかにシミュレートと来たらモンテカルロ法しかないぞ。

1)ユーザーがとんでもない繰り返し回数入力しないように制限を設ける。この場合はMT法だとウマーw

2)制限を設けずに準乱数を使う

のどちらかだと講師感激だなw
どっちにしてもうpろだ使おうぜ?

#知り合いとカルドセプト・サーガのバグの話で上位ビットとろうが下位ビットとろうが
疑似乱数なんて所詮残化式って言い放ったら揉めた・・・
425デフォルトの名無しさん:2007/02/15(木) 19:38:59
>>424
漸化式
426デフォルトの名無しさん:2007/02/15(木) 19:49:37
何か間違えたのかと思ったらzanになってたのねw一発で変換できなかったのでzen・ka・sikiて打ったつもりだった・・・
427デフォルトの名無しさん:2007/02/16(金) 10:07:33
428デフォルトの名無しさん:2007/02/18(日) 03:14:53
会社の研修で課題を出されており、困っています。
どなたか、教えていただけると有難いです。

[課題]
入力した整数値をもとに1から入力した値の合計を求めて出力するプログラムを作成

*整数値以外(文字含)を入力した場合はメッセージを出力し、再度、整数値の入力を求めること。
*合計の出力の後に処理を終了するかメッセージを表示し、入力を求めること。
(「1」が入力されたら処理を終了し、「1」以外が入力されたら再度、整数値の入力を求めること。)
*入力される整数値は、6ケタまでとする。それ以上は、エラーメッセージを表示し、再度入力を求めること。

という上記課題を、会社の研修で渡されました。
try〜catchを使わず、mainメソッドのみでソースをつくることは可能でしょうか?
私、Javaの研修を始めて2週間程度でして、全然わかっていません・・・。
何をどうすればどうなるかも良く分からないので、出来れば詳しい解説等教えていただけると幸いです。
宜しく御願いします。
429レ・ミゼラブル放送日:2007/02/18(日) 03:22:41
ここは、ソフトウェア開発に携わらないけど
単位の関係上しかたがなく履修した学生専用(嘘)です。

それ以外(特に仕事上)の方は、会社や自分のためになりません。
自力で頑張りましょう。
(クグってもわからないと事を質問スレで聞くことは何の問題もありません)
430デフォルトの名無しさん:2007/02/18(日) 03:36:29
431デフォルトの名無しさん:2007/02/18(日) 03:40:25
>>430
マルチなのか、429を見て行ったのか微妙だが、そのまま貼り付けてるから99%マルチ乙
しかし、くぐってもわからないことを質問スレで聞いても良いとはあるけど、全てかよ
Javaの解説サイトなんて山ほどあるだろうに
432デフォルトの名無しさん:2007/02/18(日) 04:10:26
研修の仕方に問題があるのか、研修を受ける人間の頭に問題があるのか。
どちらだとしても理解できない旨を素直に講師に告げるべき。
理解させるための研修なんだから、まともな研修プログラムならちゃんと対応してくれる。
2ちゃんねるで俄仕込みの情報をもらって研修で格好付けようとしても>>428も会社も誰も得をしない。
433デフォルトの名無しさん:2007/02/18(日) 14:26:01
428です。
すいませんでした。趣旨違いだったようです。
やはり、自力でということなんですね・・・

会社の研修は、講師がいません・・・
DVDの必要なところを見た後、今回の課題を渡されました。
プログラムを始めて学ぶ初心者ですが、研修には疑問を持つばかりです・・・
お忙しいところ、すいませんでした。
434デフォルトの名無しさん:2007/02/18(日) 14:30:10
俺なら時給2000円くらいで雇われてやるのに
435デフォルトの名無しさん:2007/02/18(日) 17:16:25
>>433
履修の選択を間違ったにせよ必修だったにせよ、イヤイヤやってる学生ならいざ知らず、
これからプログラミングで食ってく気なら、ある程度のことは自力で解決できる力を養っておいた方がいいよ。
研修ビデオだけから学習するんじゃなく、書籍を読んだりネット検索したり、自分から積極的に知識を仕入れて技術を磨かないと。
それとも主業務は別のところにあってプログラミングはメインじゃないのかな。それだとちょっと同情するかも。
436デフォルトの名無しさん:2007/02/18(日) 22:14:48
428&433です。
一応、書籍の購入し、ネットでも自習は行っています。
ただ、今回の課題のみどうしても分からず、つい書込みをしてしまいました。
すいませんでした。

研修終了後の業務は、開発になるのか別の業務なのかは決まっていません・・・
研修は2月一杯で終了予定です・・・
437デフォルトの名無しさん:2007/02/18(日) 22:27:45
428さんへ
僕もわかりません。

438デフォルトの名無しさん:2007/02/18(日) 23:02:12
割と良くあるのかもしれないがいい加減な会社だな
439デフォルトの名無しさん:2007/02/18(日) 23:34:55
DVDで研修・・・ありえねー、発声練習ビデオじゃないんだから(^ω^;)
うちが初めて入社した会社は、研修期間約5ヶ月ありましたよ。
メインはJavaだけど、その他にHTML・CSS・JavaScript・SQLなどを研修したな〜
Javaも単体・アプレット・JSP・Servlet・フレームワーク(Struts)などがあった。



まぁ、これだけやっても初めての業務にはあまり役に立たなかったんだけどね><
3キャリア対応携帯サイト開発だったので・・・
440デフォルトの名無しさん:2007/02/18(日) 23:58:29
428です。
DVDは、誰が見てもこれで覚えろと言うのは無理だとよく言います・・・
本社にあったのを、コピーして送ってもらった物だったみたいです・・・

・・・かなりいい加減な会社と言えるのでしょうか?・・・
441デフォルトの名無しさん:2007/02/19(月) 00:13:37
>>440
ここで勉強した方が良いかもね(^ω^;)

ttp://www.hellohiro.com/ 基本から応用まで
ttp://www.javadrive.jp/ 各種入門
ttp://www.atmarkit.co.jp/fjava/index.html IT全般にもグッレィート
ttp://www.javainthebox.net/index.html 最新情報・JavaOneレポートコンテンツ最高〜
442デフォルトの名無しさん:2007/02/19(月) 12:03:16
>>441
428&440です。
ありがとうございます。
紹介していただいたサイト等を見ながら独学でがんばってみます。

もし私などが、質問等をしたい場合にはどの板に書き込みをすればよいのでしょうか?
443デフォルトの名無しさん:2007/02/19(月) 12:29:13
>>442
質問スレがあるんだから質問スレに行け
http://pc10.2ch.net/test/read.cgi/tech/1171787388/l50
444デフォルトの名無しさん:2007/02/19(月) 14:47:53
428です。
すいませんでした。
何か質問したいことがあったら、質問スレに行きます。
どうもありがとうございました。
445デフォルトの名無しさん:2007/02/19(月) 16:24:09
>>444
どんな質問が来るか、wktkしながら待ってるよ。
入社したヤツに一律最低限覚えさせたい頭の無い上が決めた研修なんだろうな。

応対を見ている限りどう見ても、開発より接客向き。
ただ、開発現場の苦労は知っておいて欲しい。
それだけは学んでいただければ研修の意味はあったと・・・・
446デフォルトの名無しさん:2007/02/19(月) 17:53:39
>441@ITのJavaTipsがいいね
447デフォルトの名無しさん:2007/02/19(月) 18:03:58
wikiつくろうかな
448デフォルトの名無しさん:2007/02/20(火) 04:55:33
いつの間にか雰囲気がスレタイの「Java の宿題ここで答えます」から
「プロにならない方の Java の宿題ここで答えます」になりつつある。。。
いゃ、良いことだと思うけどね
449デフォルトの名無しさん:2007/02/20(火) 12:24:55
>>447
何の話だ?
450デフォルトの名無しさん:2007/02/20(火) 20:51:18
提出期限は2/28です。お願いします、まったく分かりません。

問題数は?
_(数字をキーボードから入力できるように)
問題番号1
5×6=?(1〜9のランダムな数字の掛け算)
答えは?
30(数字をキーボードから入力できるように)
正解
問題番号2
1×9=?
8(数字をキーボードから入力できるように)
間違い
 ・
 ・
 ・
 ・
問題の個数は_個です。
  正しかったのは 〜個です
  正解率は〜%でした。    というプログラムです。
451デフォルトの名無しさん:2007/02/20(火) 22:25:08
>>450
ルール無視は回答無視の刑
452デフォルトの名無しさん:2007/02/20(火) 22:59:47
>>450
潔く諦めろ。

ちゃんと読めるか? もし読めないならなおのことスッパリ諦めなさい。
453デフォルトの名無しさん:2007/02/20(火) 23:00:18
>>1読め
454デフォルトの名無しさん:2007/02/21(水) 01:23:01
「ルール無視は回答無視の刑」だって〜笑える
自分の力でやったわ。あんたの力をかりなくて本当に良かったわ〜
455デフォルトの名無しさん:2007/02/21(水) 02:14:36
>>454
これからも自力でやった方がいいよ
456デフォルトの名無しさん:2007/02/21(水) 02:29:49
454は、>1読まない = 説明もろくに読まないで、文句を言う低レベル人間でFA
457デフォルトの名無しさん:2007/02/21(水) 03:30:57
正しくは
能力不足につき回答不能のときは解答無視の刑
です
458デフォルトの名無しさん:2007/02/21(水) 05:26:28
最近このスレ馬鹿ばっかだねw

一遍、さらしてみる?(AAry
459デフォルトの名無しさん:2007/02/21(水) 06:32:14
それじゃまるで以前は賢かったみたいじゃないか
460デフォルトの名無しさん:2007/02/21(水) 10:19:06
このスレ、閉鎖でいいんじゃねw
461幼女コゼット(3ちゃい):2007/02/21(水) 10:26:48
さらに正しくは、
1. プログラム能力不足につき解答不能で回答無視
2. プログラム能力はあるが、アホくさいので回答無視
3. プログラム能力はあるが、>1無視は回答しない ←今回は、コレに該当

プログラムで飯食う方は、ここ利用しないし、して欲しくもない。
現状、しかたがなく単位履修した学生のためにあるような感じになっている。
この前に現れた、初代スレ立て主の主旨とだいぶ変わってきてるし、閉鎖でいいと思うだが・・・
462デフォルトの名無しさん:2007/02/21(水) 10:53:52
閉鎖、閉鎖!!
463デフォルトの名無しさん:2007/02/21(水) 10:54:55
初代スレ立て主の主旨とか
スレ立てただけで支配者気取りかよ
464デフォルトの名無しさん:2007/02/21(水) 11:04:19
>>463
あなたは何に怒ってるんでしょうか?
この前現れた初代スレ立て主の書き込み見てきましたが、
支配者気取りな書き込みなんてしていませんよ。
465デフォルトの名無しさん:2007/02/21(水) 11:17:03
呆れてるんだお
スレ立て人間の主旨と違うから閉鎖とかいう発想にw
466デフォルトの名無しさん:2007/02/21(水) 11:21:49
スレ立てた人の主旨なんてどうでもいいけど、
実際、学生春休みだから宿題投稿ない時点で、閉鎖状態なのがワロス
467デフォルトの名無しさん:2007/02/21(水) 11:30:05
>>465
発想は、個人それぞれ
その発想に対する意見も、個人それぞれ

ループするので、この話題は終了にしないか
468デフォルトの名無しさん:2007/02/21(水) 13:12:07
そもそも宿題をやってあげること自体が本人のためにならないんじゃないか?

と、正論を書いてみるテスト。
469デフォルトの名無しさん:2007/02/21(水) 14:34:20
最近このスレ需要と供給が一致してないよ。
というよりターゲット層外してるというか。
勿論需要は回答者ね。

ゲームとサーバーサイドはこの板苦手じゃね?
特にJavaでゲームは普通やらんし、Javaでサーバーサイドって職グラマだろうし。

JavaゲーってたらCPだろうけどJ2MEになるしな・・・
最近は良く同人連中がCPに流れてるけど元は
ツクールかNスク・吉里吉里使ってた連中だから専門外だし。
需要も供給もズレてるね。


>>1無視と情報小出しは止めようぜ?
後は丸投げと投げっぱなしの違いが理解出来る奴だけレスしろって
そろそろテンプレ入れた方がよくね?

それか神がかったエスパー常駐の必要があると思うんだがw
470デフォルトの名無しさん:2007/02/21(水) 15:01:54
なーなー誰か過去ログ全部保存してるやついね?
勉強したいんだが
471デフォルトの名無しさん:2007/02/21(水) 19:02:12
閉鎖の声が上がっていますが、閉鎖しないで下さい。
私は、何度かこのスレで質問したことがあり、
そのおかげで自力では解決できなかった問題も解決できました。
初心者の場合は、プログラミングに悩むことも多いと思います。
みなさんの高い能力で彼らの後押しをしてあげて下さい。

472デフォルトの名無しさん:2007/02/21(水) 19:04:43
そんな自作自演には乗りません
473幼女コゼット(3ちゃい):2007/02/21(水) 19:52:39
>>469
ゲームは苦手(そもそも作る事がないから知識ゼロ)だが、
サーバーサイドは、問題ないお
J2MEも、3D系以外はなんとかできるお
474デフォルトの名無しさん:2007/02/21(水) 20:09:42
Java の宿題ここで答えます
改め
変態回答者がズバリ言うわよ
475レ・ミゼラブル放送日:2007/02/21(水) 20:19:08
>>474
変態1号ですw
世界名作劇場 レ・ミゼラブル 少女コゼットを よ ろ し く !!
476475:2007/02/21(水) 20:19:52
今日は放送日ではありません
477デフォルトの名無しさん:2007/02/21(水) 21:46:35
>>471
そういう用途なら初心者質問スレでいいんじゃない?
このスレが無くなれば、そういう受け皿にもなるよ・・・
丸投げするヤツは、排除されるだろうけど
478デフォルトの名無しさん:2007/02/22(木) 04:12:05
>>470
●持ってるから落とせないことはないけど、数が多すぎて面倒。
みみずん検索あたりで探せない?
それでどうしても抜けてるとこがあるなら補完してもいいよ。
479デフォルトの名無しさん:2007/02/22(木) 12:46:07
>>478
わかた、探してくるよ
480デフォルトの名無しさん:2007/02/22(木) 20:17:05
突然すみません。お願いしたいものがあります

【 課題 】Javaなどを用いて、クーンズ(coons)の1次曲面を表現せよ
【 形態 】Javaアプリケーション(曲面が表現できてれば何でもいいらしいです
【 期限 】今週中。どんなに遅くとも週明けまでです
【 Ver  】実行できませんでした
【 用語 】クーンズのパッチ:クーンズが考案した自由曲面の表現方法の一種。パッチの連続で曲面全体を表現するもの。
【 補足 】
曲面も線もまったく任意で何でもいいらしいです。
一例を画像でうpしときます。こんな感じの曲面をjavaで表現したいのですが、どうにもうまくいきません


ttp://www.rupan.net/uploader/download/1172142893.jpg
481デフォルトの名無しさん:2007/02/22(木) 20:21:33
coonsでググって一番上のサイト
ttp://www.herbykatz.com/
482デフォルトの名無しさん:2007/02/22(木) 20:21:58
「パッチ」って何よ?
483デフォルトの名無しさん:2007/02/22(木) 20:27:22
平面の最小単位のことです
484デフォルトの名無しさん:2007/02/22(木) 20:30:45
単に任意の微小な平面を敷きつめて曲面を近似するという話なのかと
思ったのだが、最小ってことは何か必然的に決まってくる計算が可能
なんだよね。
485デフォルトの名無しさん:2007/02/22(木) 20:40:40
そこまで厳密なものではないです

曲面のような近似でも充分だと思います
486デフォルトの名無しさん:2007/02/22(木) 21:38:19
CADか
487デフォルトの名無しさん:2007/02/23(金) 00:04:09
NURBSとかBezieでいいじゃん
488470:2007/02/23(金) 02:59:27
>>478
質問スレは一杯出てくるけど
宿題スレは全然出てこないなぁ・・
プログラム技術の中で「java」「宿題」「丸投げ」
とかで検索してみたんだけど何か間違ってるかな?
489デフォルトの名無しさん:2007/02/23(金) 07:31:40
一度も検索をせずに「みみずん検索」と言った。
今では反省している。

http://logarchive.web.fc2.com/tech/java_homework/index.html
……というわけでサルベージできたログだけアップしてみた。
#50より前は行方不明。
490デフォルトの名無しさん:2007/02/23(金) 09:56:37
そういや前にサーブレットをj2meでビルドしようとした奴がいたが世の中にはEnhydraMEって言うものがあったりするんだよな・・・

モバイルXMLはもう実現したも同然だな。
491デフォルトの名無しさん:2007/02/23(金) 15:38:21
【 課題 】日付、商品番号、単価、数量を入力し金額(TAX込み)
      を出力させるプログラムを作れ。
【 形態 】1
【 GUI  】2
【 期限 】3月3日まで。
【 Ver  】 java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode)

設計書も書かなければいけないのでだいぶきびしい状態です。
(設計書のほうも全然かけていませんが…)
なのでみなさまのお力をお借りできたら幸いです。
492デフォルトの名無しさん:2007/02/23(金) 16:47:14
モバイルXML繋がりで、SVG Basic はどうなるんだろう・・・
493470:2007/02/23(金) 23:06:01
>>489
あーありがとー
質問スレのほうもまとめたんだね

大半は消えちゃってるかぁ
残念
494デフォルトの名無しさん:2007/02/23(金) 23:44:10
【 課題 】追加書きされていて、ローテーションされているファイル(file,file1,file2)
      を最新情報から10件づつ表示するプログラムを作れ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】2007/2/27 10時
【 Ver  】 java version "1.3.1_19"
495デフォルトの名無しさん:2007/02/24(土) 03:20:37
>>491
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29229
本来は設計ができてから実装するべきものだけど。
入力データ書式や税計算の仕方、表示の仕方等いろいろ不明なので超適当に。
税金は合計価格に一律5%かかる。1円以下は切り捨て。変えたければSlip#imposeTax()を。
日付は2007/2/24のような書式。変えたければ"yyyy/MM/dd"を。
単価や数量はlongで持ってるからあまり大きい桁は入れないように。
496デフォルトの名無しさん:2007/02/24(土) 03:54:41
>>492
JSR-226がMIDP2.1に取り込まれたよ
497デフォルトの名無しさん:2007/02/24(土) 04:09:37
なあ思ったんだけどテンプレの Verてプログラムを動かすために必要なランタイムのヴァージョンだよな?

どう見てもテメーらの実行環境書いてるだけだと思うんだが。勘違いしてるのか?

【requirements】の方が曖昧性を解決できないか?

副作用として必須ランタイムverだけじゃなくて必須ライブラリやその他必須要件もここにぶち込む事が出来ると思うが。
最低、要求するランタイムverだけ埋めれば良いんだし。
498デフォルトの名無しさん:2007/02/24(土) 21:40:26
>>497
そんなことが分かるヤツは自分でクリアしてるっつーのw
499デフォルトの名無しさん:2007/02/25(日) 16:05:53
【 課題 】Appletの領域内(500×500)の色を塗りなさい
【 形態 】2. Applet
【 GUI  】2. Swing
【 期限 】2007/02/26
【 Ver  】java version "1.5.0_04"
【 用語 】
【 補足 】以下にソースを貼ります。うまく画面の描画ができません。

/*<applet code="Paint_exe.class" width=500 height=500>
</applet>*/

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

public class Paint_exe extends JApplet {
public void init(){
Container cnt = getContentPane();
JComponentEx2 jc = new JComponentEx2();
cnt.setLayout(new FlowLayout());
cnt.add(jc);
}
}
class JComponentEx2 extends JComponent {
public JComponentEx2(){
}
public void paintComponent(Graphics g){
g.setColor(Color.red);
g.fillRect(0,0,500,500);
}
}
500デフォルトの名無しさん:2007/02/25(日) 20:17:21
>>499
JComponentEx2に↓のメソッドを追加
public Dimension getPreferredSize(){
return new Dimension(500, 500);
}
あとpaintComponent(Graphics g)の先頭でsuper.paintComponent(g);を呼び出したほうが無難
501デフォルトの名無しさん:2007/02/26(月) 04:13:15
【 課題 】プログラム中の穴を埋め実行出来るようにする
【 形態 】1. Javaアプリケーション
【 GUI  】1. AWT
【 期限 】出来るだけ今日(月曜)中
【 Ver  】java version "1.5.0"
【 補足 】JAVAで簡単なエディタを作成する問題です
      穴埋め問題のアイウエオカキとBは答えを見て埋めましたがエラーが出て実行出来ません
      実行出来るようにしないといけないのですがお手上げ状態です

問題全文
1.上記プログラムをパッケージ化したい。パッケージはmytoolパッケージのサブパッケージでmyEditorとしたい。
プログラムの1行目にどのように指定をすればよいか。また、コンパイル、実行はどのように行えばよいか。コマンドを記述せよ。
プログラム:
コンパイル:
実行:
2.BにはFileNewメニューに新規作成というイベント処理を追加しなければならない。以下の仕様でプログラムを記述せよ。
 @FileNewメニューが選択されたら、テキストエリアの内容をクリアする。
 Aエディタ最下のラベルに"NewFile"と記述する。

1は手付かずです
2は27〜32行目に回答を丸写ししました

ソースです
http://www.uploda.org/uporg707719.txt
502デフォルトの名無しさん:2007/02/26(月) 06:46:24
>>501
ヒントあげるよ。徹夜でフレームワーク書いてたんで生き抜きにやった。

ソースが酷かったんでリファクタリングしたんでそのままは使えない。

まあ、テキストの模範回答コピペしてばれるよりマシだと思う。
正直ソース見てどこが虫食いか解らなかったw

ttp://www.uploda.org/uporg707778.jar.html
MyEditor.jarに改名して

javaw -jar MyEditor.jar

で実行可能になってる。詳細はソースとマニフェスト読んでくれ。
報告よろ
503デフォルトの名無しさん:2007/02/26(月) 10:03:49
マルチの濡れ衣着せられたけど単位取ったぜクズめら・・・!
てめーら全員チンポ取れちまえ!
ボンバヘッ!
504デフォルトの名無しさん:2007/02/26(月) 10:40:56
厨のくせにちゃんとsageてるじゃないか。
えらいなぁ。












晒し上げw
505デフォルトの名無しさん:2007/02/26(月) 11:12:36
480です
結局自分でやったぜ

このスレ住人口だけ達者で案外使えねー!www
ボンバヘッ!
506デフォルトの名無しさん:2007/02/26(月) 11:14:40
>>480
俺が貴様のソースを吟味してやるよ
ソースだせやソース
507デフォルトの名無しさん:2007/02/26(月) 11:27:42
>>505
よくやった、これからも自分の力でやりましょう。
なので、二度とここには来ないでくださいね(・∀・)
508デフォルトの名無しさん:2007/02/26(月) 11:30:34
1匹ほど害虫が沸いているな。まだ夏には早いだろうに・・・
あっ、今年は温暖だったから早く出てきてしまったのねw
509デフォルトの名無しさん:2007/02/26(月) 11:36:18
啓蟄は3月6日だっけ?
510デフォルトの名無しさん:2007/02/26(月) 16:32:33
>>501
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29231
課題1を含めて、コンパイルに通るようにはした。修正部分は//<<<を行末に入れてる。
起動と課題2の動作は確認したが、面倒だから動作チェックはしていない。
課題1は1行目を見れ。
コンパイルは、ソースファイルをカレントディレクトリに置いた状態なら、
javac -d . Test2.java
その後の実行は、
java -cp . mytool.myEditor.Test2

大量のコンパイルエラーは一気に解消しようとせず最初に出たエラーから一つずつ地道に潰していけば最後には無くなる。
変な分かち書きや{}のアンバランス等、ケアレスミスが多いので、
その辺りをサポートしてくれるソースエディタを使うとかプログラミング環境を改善したほうがいいかもしれん。
511510:2007/02/26(月) 16:36:39
> 面倒だから動作チェックはしていない
プログラム全体の、って意味ね。
512510:2007/02/26(月) 16:41:13
すまん、Uぷするときにコピーをミスった。
最後の}がないや。102行目にクラス定義を閉じる}を入れておいて。
513デフォルトの名無しさん:2007/02/26(月) 16:48:42
>>502
書き方が変で回答が見難かったですね、申し訳ありませんでした

早速実行させて頂いたのですが完璧です
出題されたソースを直して提出しないといけないので流石にそのままは使えませんが参考にさせて頂きます

お忙しいところ態々ありがとうございました
無事終わったらまた報告に参ります


http://www.uploda.org/uporg708026.txt.html
必要ないとは思いますが>>501のソースを書き直してみました
少しは見やすくなっていればいいのですが…
514501:2007/02/26(月) 17:10:38
>>511-512
書かれた通りコンパイルしてみたら実行出来ました

順番で遅くなってしまうと思いますが、ソースを見て勉強させて頂きます
お手数をお掛け致しました、ありがとうございました
515デフォルトの名無しさん:2007/02/26(月) 17:17:30
>>510
俺のリファクタリング前と同じだ。
元ソースコード読破・バグフィックス・仕様実装・テスト・リファクタリング・テスト・非jarでの実行・ビルド・jarでの実行の全てを試してるから>>510のソースも問題ないと思うよ。

>>513
回答から丸移しするときのタイポが殆どだから移す前に落ち着け。

コンパイル方法なんて正直、利用するコンパイラ・ビルドツール・IDEで違うから別として
スタンドアロンアプリを実行する方法は>>502>>510で網羅されてるからjavacのマニュアル読んで確認すればおk。

#リファクタリングする時無名クラスをファクトリ挟むか内部クラスに持ってくるかが一番悩んだw
516デフォルトの名無しさん:2007/02/26(月) 19:45:37
【 課題 】軸の周りの回転によって各面の回転状況がわかるように色づけをする。さらに、
TGを加えて回転を行えるようにする。2つの軸の回転を重ねるとどうなるかを試してみる。
【 形態 】2. Applet
【 期限 】2月26日9:00
【 補足 】
HelloUniverseに縦回転を加えるというものです。急で申し訳ありませんが、
どうぞよろしくお願いいたします。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29232
517デフォルトの名無しさん:2007/02/27(火) 01:52:50
↑時間の表示が悪いですね
正確には21:00でした、申し訳ないです
518デフォルトの名無しさん:2007/02/27(火) 20:25:37
516はもう時間終了?
519デフォルトの名無しさん:2007/02/27(火) 20:29:20
上見るとあと30分だけど本人現れるのか?これ
520デフォルトの名無しさん:2007/02/27(火) 20:45:24
2/26だからオワタんじゃない?
521デフォルトの名無しさん:2007/02/27(火) 20:51:12
間違えました....2/27です...
なんどもなんども申し訳ないです...
522デフォルトの名無しさん:2007/02/27(火) 23:00:46
もうすでに取り込んでくださっている方がいらっしゃたら
繰り返して悪いのですが
どなたか>>516をお願いできないでしょうか?
523デフォルトの名無しさん:2007/02/27(火) 23:15:32
>>516
正直Java3dはやったことがないけど適当にいじってみよう
524デフォルトの名無しさん:2007/02/27(火) 23:35:22
>>523
ありがとうございます
お手数かけます
525デフォルトの名無しさん:2007/02/28(水) 00:05:35
終電ギブアップ
とりあえず参考ページ
ttp://www.javadrive.jp/java3d/
526デフォルトの名無しさん:2007/02/28(水) 00:17:37
>>525
IDがないのでわかりませんが
>>523の方ならありがとうございました
引き続きやってみます
527デフォルトの名無しさん:2007/02/28(水) 00:28:02
>>523 >>525
やっとできました、
何度もすみません、ありがとうございました
528デフォルトの名無しさん:2007/03/04(日) 22:48:45
どうしてもつくれないアルゴリズムがあるので助けてください
1円〜999円のお買い物をするときに
はらう硬貨の枚数とお釣りの硬貨の枚数の和が最小になる払いかたで
払う金額と持っている硬貨枚数がいかなるときでも対応できるアルゴリズムがわかりません
1000円札は1枚は持っています

硬貨は1.5.10.50.100.500です。お札は1000のみです

すみませんマジお願いします
529デフォルトの名無しさん:2007/03/04(日) 23:08:11
>>528
質問なら質問スレへ行け、と書こうとしたが、質問スレから来たのか。
本当にJavaプログラミングの宿題なら、>>1を読んでテンプレを埋めろ。
質問を見る限りアルゴリズムを知りたいということでJavaと関係なさそうだが。
アルゴリズムが知りたいということなら、動的計画法を最初のキーワードにして調べていけ。
530デフォルトの名無しさん:2007/03/04(日) 23:28:51
汚しスマソ
アルゴリズムはむりそうなので全探索します
531デフォルトの名無しさん:2007/03/05(月) 00:47:09
全探索だってアルゴリズムだ
探索空間が小さいなら全探索でも悪くない選択
532デフォルトの名無しさん:2007/03/05(月) 20:04:35
課題)以下の質問
質問1)
テキストファイルに書かれた数字を配列にいれるにはどうすればいいの?
hoge.txtは以下のとおり

12
34
56
78

ってかいてあって、java hoge.txtと実行すると
配列aa[0]〜aa[3]に上から順に数字が入るようにしたい。教えて

質問2)
配列に入った数値a[0]=12, a[1]=34, a[2]=56, a[3]=78を
nag.txtに順番に
12
34
56
78
と書き込みをしたい。どうすればできるの。一つでもいいから誰か教えて

形態)コマンドプロンプトからの単なるcui
533デフォルトの名無しさん:2007/03/05(月) 20:32:24
マルチだ−w
534デフォルトの名無しさん:2007/03/05(月) 20:50:13
いちおう質問スレでこちらへ行けと言われて、そのあとこっちに書いてるからマルチじゃないと思うけど
テンプレに従ってないからこっちでは回答したくないな
535デフォルトの名無しさん:2007/03/05(月) 21:01:26
import java.io.*;

public class Q532_1{
public static void main(String args[]) {
String aa[] = new String[4];

BufferedReader in = null;
try {
if(in == null)
in = new BufferedReader(new FileReader(args[0]));

String s;
int i = 0;
while((s = in.readLine()) != null) {
aa[i] = s;
i++;
}
} catch(Exception e){
} finally { try {in.close();} catch(Exception e) {}}
}
}
536デフォルトの名無しさん:2007/03/05(月) 21:15:20
というかいちいちマルチとか騒ぐ奴が馬鹿。
なぜマルチがダメなのか教えてテンプレ埋めろと言えば良いだけ。

マルチマルチ言ってる奴は本人もなぜマルチがダメなのか分かってない。とにかくテンプレ埋めて出直せ
537デフォルトの名無しさん:2007/03/05(月) 21:51:19
>>535
> ってかいてあって、java hoge.txtと実行すると
を満たしてない。 package hoge; class txt {} しないと。
538(^ω^):2007/03/05(月) 21:53:04
>>536
では、なぜマルチはいけないのですか?
代表して説明してください。
539デフォルトの名無しさん:2007/03/05(月) 21:56:15
yahoo知恵袋や教えて!gooに
類似した質問がいっぱいある
540(^ω^):2007/03/05(月) 22:00:09
ここにマルチする方々も納得できる内容で
536氏自身の言葉でお願いします。
541デフォルトの名無しさん:2007/03/05(月) 22:19:44
542デフォルトの名無しさん:2007/03/05(月) 22:27:45
マルチプルタイタンパー
543(^ω^):2007/03/05(月) 22:42:02
>>541 (^ω^;) < マルチはマルチでも、商法の方ですか
544(^・ω・^):2007/03/06(火) 00:16:10
>543
はい、私はボブです。
545デフォルトの名無しさん:2007/03/06(火) 02:15:30
>>537
初質に任した方がよくない?

>>538
ゆとり乙
546デフォルトの名無しさん:2007/03/06(火) 10:42:43
>>545
536氏以外、釣られちゃダメですよ^^; アッー!
547デフォルトの名無しさん:2007/03/06(火) 12:55:32
536=545ですが何か?
じゃあ全力で!釣られてみるかwwww

まあ、古典的な例はここか
ttp://www.cgh.ed.jp/netiquette/rfc1855j.html#3_1_3

後ここも嫁
ttp://stakasaki.at.webry.info/200512/article_4.html
ttp://stakasaki.at.webry.info/200512/article_3.html

つっこみどころもあるが無駄とFLAMEと鯖への負荷を防ぐためだ。
マルチポストとクロスポストの違いを考えるのが一番良いだろ。

ゆとり以前の問題だな。RFC1855なんて10年ぶりだぞ、下らん。
548デフォルトの名無しさん:2007/03/06(火) 14:11:33
【 課題 】チャートにそってGUIのJavaアプリケーションをデザインし、
      仕様通りに動くようにせよ。
      チャート:ttp://up.rgr.jp/src/up8958.jpg

      仕様:JMenuBarのOpenを選択した時、テキストファイルを読み込み、JList objectに文字を出力させる。
         ※読み込むテキストファイルは何が書かれていても問題ありません。
         JTextAreaに文字を入力し、「追加」ボタンを押したら、JList objectにその文字が追加される。
JList objectにある文字を選んで、「削除」ボタンを押したら、JList objectから文字が削除される。
         JMenuBarのSaveを選択した時、現在のJList objectにある文字を保存出来るようにする。
         JMenuBarのExitを選択した時、プログラムを終了させる。
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】2. Swing
【 期限 】3月7日
【 Ver  】java version "1.5.0_11"
【 補足 】EclipseのVisual Editorを使用してデザインをする。
      先週の金曜からやっているのですが、デザインとプログラムが上手くいかず
      まったく先へ進みません。途中までやった書いたソースでエラーなしで動く物を置いておきますが、
      丸投げでよろしくお願いします。ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29240
549548:2007/03/06(火) 15:50:37
548です。デザインの方はどうにかなりました。
回答者の方にデザインまでさせるわけにはいかないので、
このデザインを使ってよろしくお願いします。
実際のプログラムは書いていません。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29241
550デフォルトの名無しさん:2007/03/06(火) 17:44:53
>>548
>チャート:ttp://up.rgr.jp/src/up8958.jpg
が見れんかったから仕様部分を読んでテキトーに作成。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29242
551デフォルトの名無しさん:2007/03/06(火) 17:47:25
と思ったら今見れるな。503エラー出てたんだが。
552548:2007/03/06(火) 18:21:52
>>550
550さん、ありがとうございます。
JTextArea、JButton、JListの動作は確認したのですが、
JMenuBarのOpenとSaveが動作しませんでした。(自分のPCでしか動かしていないのですが)
テキストファイルを開いても読み込まれず、同じく保存をしても出力されませんでした。
553デフォルトの名無しさん:2007/03/06(火) 18:48:46
>>552
おおスマン。
actionPerformed内の chooser.getSelectedFile().getName() の.getName()を消してくれ。

chooser.getSelectedFile().getName()));

chooser.getSelectedFile()));

2カ所あるから2カ所とも修正すればちゃんと動くはず。
554548:2007/03/06(火) 18:54:59
>>553
動作確認しました。
本当にありがとうございました。
555デフォルトの名無しさん:2007/03/06(火) 19:10:39
【 課題 】タイピングプログラム(英文のみ)の作成。
      文章を隔行表示し、その行の一段下の空白行にカーソル(*などの記号であれば何でも可)を表示。
      カーソル上の文字を正しく打つとカーソルは右に移動、間違えたときは移動せず。
      表示行の右端にてenterキーを押すことで下の空白行に移動する。1ページ分終了で次ページへ。
      2分間でタイムアウトし、打鍵にかかった時間、打った単語数、打った文字数、1秒あたり打った単語
数、1秒あたり打った文字数、キーを押した合計回数、正解率を表示する。 
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】3月11日
【 Ver  】java version "1.5.0_09"
【 補足 】たとえば次のような画面になります。
-----------------------------------------------------------------------------------------
You must be surprised to receive this unexpected letter from me.
*
This is the first time that I have written to you. I represent ABC Electronics Co., Ltd.,

You'll be surprised to get a letter from a stranger.

------------------------------------------------------------------------------------------
文章を隔行表示し、一文字正確に打鍵するとカーソルが右に移動し、行末enterキーで次の空白行です。
 テキストは外部からの読み込み方式で実行時にテキストファイルを指定する形となります。
 上記の仕様を満たしていれば、ウィンドウの形式等は自由とのことです。
丸投げでよろしくお願いします。
556デフォルトの名無しさん:2007/03/07(水) 00:23:50
>>555
これはコンソールアプリでなくGUIを使うということでいいのかな?
もしそうだとすると、GUIは何を使うか指定する必要がある。
557555:2007/03/07(水) 00:42:14
>>556
GUIについての説明不足でした。大変申し訳ありません。
補足させていただきます。
【 GUI  】基本的にはAWTおよびSwingでお願いします。
説明不足で申し訳ありませんでした。よろしくお願いします。
また、何か不備があればご指摘ください。
558555 期日が変更になりました。:2007/03/07(水) 02:24:50
連書きスレ消費すみません。
【課題提示用テンプレ】 の内容に変更がありましたので、報告させていただきます。
教官が日付を勘違いしており、11日は休日であるため、

【 期限 】3月12日

に変更になりました。もし、すでに取り組まれている方がいらっしゃいましたら大変ご迷惑をお掛けしました。
引き続きよろしくお願いします。
559デフォルトの名無しさん:2007/03/07(水) 08:04:59
ここで宿題を聞いてる人は、プログラマよりもSE、ANの方が適してそう。
仕様を丁寧に書いて、回答者の方々がそれを製作し、納入(提出)するといった流れなので。
お前等、情報と一緒に経営学を勉強して、中小企業診断士の資格取ったらいいぞ。

スレ汚しスマソ
560デフォルトの名無しさん:2007/03/07(水) 08:31:15
ANってアナリスト?
561デフォルトの名無しさん:2007/03/07(水) 14:40:49
>>560
なんか卑猥な響き
562デフォルトの名無しさん:2007/03/07(水) 18:15:22
似非Eになるのがオチ
563デフォルトの名無しさん:2007/03/07(水) 22:38:29
>>550
【 課題 】タイピングプログラム(英文のみ)の作成。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】AWTおよびSwing
【 期限 】
【 Ver  】java version "1.6.0"
【 補足 】>>550さんの問題を解きながらJavaプログラムの勉強をしています。
プログラムは一応完成したのですがかなり汚く見苦しいです。
そして、いろいろと不具合が出ています・・・
たとえば
1.スペースキーを押すとスタートボタンが押されたことになる
(マウスクリックしたときだけ動作するようにしたい)
2.float型を表示しようとしたとき、なぜか小数点以下の数字が0から動かない。


今後の勉強のために「ここの部分がだめだめだねぇ〜、○○の勉強をもっとしたほうがいいよ」など
ご教授お願いします or2

下にソースコードを置いた場所のurlを乗せます。main()はQ555.javaにあります。
使い方は同じフォルダにText0.txt, Text1.txt, Text2.txt, Text3.txt・・・・
を置いてください。ファイルを順に読んでいきます。
そして下のStartボタンを押したらスタートします。

ttp://yoshitake052.web.fc2.com/JavaLink/Q/Q555.zip

長文失礼しました
564デフォルトの名無しさん:2007/03/07(水) 23:40:40
>>563
とりあえずこっちで動作確認しようとしたらこんなエラーが。
解消の指摘お願いします。

Q555.java:8: Q555 は同名のパッケージと競合します。
public class Q555 extends Applet implements Runnable, ActionListener, KeyListene
r {
^
Q555.java:18: Infor にアクセスできません。
クラスファイル .\Infor.class は不正です。
クラスファイルのバージョン 50.0 は不正です。47.0 であるべきです。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
Infor infor;
^
エラー 2 個
565563:2007/03/07(水) 23:53:19
>>563
Javaのヴァージョンが1.4以下ではありませんか?
今ちょっと調べてみるとそのエラーは1.5以上のバージョンを入れると解消されるみたいです・・・
念のため私のversionと同じ1.6.0を入れて見てくださいm(。_。;))m ペコペコ…
566564:2007/03/08(木) 00:25:02
>>565
java version "1.6.0"を入れたのですがjavac Q555.javaを実行すると次のようなエラーが出ますね…。

Q555.java:21: シンボルを見つけられません。
シンボル: クラス Typing
場所 : Q555 の クラス
Typing typing;
^
Q555.java:54: シンボルを見つけられません。
シンボル: クラス Typing
場所 : Q555 の クラス
typing = new Typing();
^
エラー 2 個

実行の仕方を示してもらえませんか?
私自体Javaを勉強中なのでなんともいえませんが、数字の問題はやはり型のせいかと思います。
double型などを試してみてはどうでしょうか。具体的なアドバイスが出来なくてすみません。
567563:2007/03/08(木) 00:38:28
>>564
>Q555.java:21: シンボルを見つけられません。
シンボル: クラス Typing
これはTypingクラスが見つけられないことを示しています。
ダウンロードしたファイルの中にTyping.javaはありませんか?
ありましたらそれをコンパイルした後にQ555.javaをコンパイルしてQ555.classを実行してみてください
568564:2007/03/08(木) 01:01:45
動きました。どっちが答える側か分からないですね…orz
自分のところでは小文字でtyping.javaとなっていたので、気づきませんでした。
正解率のところですが、float型をint型で割っているためではないでしょうか。
569563:2007/03/08(木) 01:23:18
float 正解率;
int タイプした数;
int 正解した数;
正解率 = (float)(正解した数/タイプした数);

正解率を見てみるとこのようにキャストしている・・・
でもこれってワイドニング変換で大丈夫なのでは?と・・・
思っていたのですが・・・
これが原因でした。下のようにキャストをしなおすと治りました^^
>正解率 = (float)(正解した数/タイプした数);
正解率 = (float)正解した数/(float)タイプした数;
>>564さんありがとうございます
570563:2007/03/08(木) 01:38:26
今分かっているだけの不具合部分の
1.スペースキーを押すとスタートボタンが押されたことになる
(マウスクリックしたときだけ動作するようにしたい)
は「フォーカスのやり方がおかしいのでは?」と自分で思っているので
ちょっとフォーカスについて勉強しようと思うのですが・・・
いいホームページが見つかりません(/へ;)しくしく..
フォーカスの実装部分を詳しく載せているサイトをご存知の方は教えてはいただけないでしょうか?
571デフォルトの名無しさん:2007/03/08(木) 01:40:46
>>563
アプレットビューアじゃうごかね・・・

AWTにSwingコンポーネント使うのは潜在的によくない。あとSwingの描画モデル破壊しまくってる。

コンパイル済みのだと問題ないんだけど、自力でビルドし
試してみたら俺はクラスロード時にInforクラスが見つけられないんだけどなんでだろう?

ところでSwing慣れてる連中に聞きたいんだけどUI委譲モデルに従わず、かつ自分の子コンポーネントを完璧に自力で描画するなら
praintとかupdateをsuper.XXX呼ばずにpaintComponetを使わずにオーバーライドして良いんだっけ?
572564:2007/03/08(木) 01:44:15
>>563
あとは仕様にのっとれば、タイムアウトの後、結果表示という流れと思われます。
そのあたりをつめていただければ大丈夫かと思われます。
573563:2007/03/08(木) 01:55:22
>>571
アプレットヴューアでは動きましたよ?
htmlファイルを作って実行されましたでしょうか?
ちなみにQ555.htmlファイルを作った場合の実行コマンドは下のようになります。

appletviewer Q555.html

それとも・・・
htmlファイルを作ってコマンド形式での起動ではなく
Internet Explorerなどで起動しようとしてますか?
その場合は・・・たしかに起動はしますが動きませんね・・・
次のようなエラーがでますね・・・
java.security.AccessControlException: access denied (java.io.FilePermission Text0.txt read)
ファイルの読み込みに失敗していますね・・・
アプレットとアプリケーションでのファイルの読み込みが違うからかな?
ごめんなさい or2
574563:2007/03/08(木) 02:15:10
>> 571
>Swingの描画モデル破壊しまくってる。
描画モデルの破壊が起きないようにAWTに統一しました^^
見た目はちょっと悪くなってしまいましたが・・・
ttp://yoshitake052.web.fc2.com/JavaLink/Q/Q555.zip
↑改正版

>AWTにSwingコンポーネント使うのは潜在的によくない
Swingを使用するのはこれが初めてだったので知りませんでしたor2
ありがとうございます^^
他にSwingやAWTを使用するにあたって注意することなどはありますか?
575デフォルトの名無しさん:2007/03/08(木) 19:01:13
>>571
> ところでSwing慣れてる連中に聞きたいんだけどUI委譲モデルに従わず、かつ自分の子コンポーネントを完璧に自力で描画するなら
> praintとかupdateをsuper.XXX呼ばずにpaintComponetを使わずにオーバーライドして良いんだっけ?

日本語でおk
もうちょいわかりやすく言ってくれ
576デフォルトの名無しさん:2007/03/08(木) 21:17:21
どこが問題?こう言うこと?

>praintとかupdateをsuper.XXX呼ばずに>paintComponetを使わずにオーバーライドして良いんだっけ?

praintとかupdateをsuper.praintやsuper.update等関連するSwingの描画メソッド呼ばずに、かつpaintComponetを使わず、praintとかupdateをオーバーライドして中で自分の子コンポーネント面倒見れば良いんだっけ?
577563:2007/03/08(木) 23:54:27
>>550
結果を新しいフレームに表示させるようにした。
そして・・・プログラムはますます見苦しくなった・・・
ttp://yoshitake052.web.fc2.com/JavaLink/Q/Q555.zip
578デフォルトの名無しさん:2007/03/09(金) 01:00:25
>>577
一応sageたほうがよいかと…
579デフォルトの名無しさん:2007/03/09(金) 01:03:58
Javaアプリケーションなのになんでアプレット使うんだろう
両方で動作するようにしたいのか?
580デフォルトの名無しさん:2007/03/09(金) 01:40:40
プログラムがプリミティブすぎる・・
581デフォルトの名無しさん:2007/03/09(金) 02:42:20
>>579
学習中ということだし、アプレットから入った初学者じゃないのかね?
まだアプレットしか作ったことないとか。
582デフォルトの名無しさん:2007/03/09(金) 03:56:45
すまんすまん。577ではFrameを使ってるね。
ということは、
> 【 形態 】1. Javaアプリケーション(main()で開始)
を見落としてるか、勘違いしてるか。
まあ、アプレット→アプリケーションはその逆より難しくないから、いいのかも。
583582:2007/03/09(金) 04:01:14
というか、今ソース見たら、ちゃんとアプリケーションとアプレット両対応になってたw
584デフォルトの名無しさん:2007/03/09(金) 11:48:46
元々両対応で行くつもりっだったんじゃない?
アプリケーション側の初期化処理が不完全くさかったし・・・破棄コードも見当たらないしね。

なぜか意味なくtransientついた変数あるのにシリアライズID付けてなかったり、いわゆるアクティブレンダリングはしてなかったり、イベントハンドラで処理してたり、
ゲームっぽい組み方は出来てんのに
javaの作法が出来てない所をみると他言語経験者じゃない?

C/C++とjavaの両方教える所あるよ
585563:2007/03/09(金) 19:51:57
>>584
C、C++、VRMLを少しだけかじっていました・・・
>アプリケーション側の初期化処理が不完全くさかったし・・・破棄コードも見当たらないしね。
>なぜか意味なくtransientついた変数あるのにシリアライズID付けてなかったり、いわゆるアクティブレンダリングはしてなかったり、イベントハンドラで処理してたり、
何を言っているのかまだ私には分かりませんor2
明日あたりにこのあたりを中心に勉強をしてみようと思います
>javaの作法
今ちょっと検索をかけてみたらJavaの本や10万以上もする授業や別の掲示板での質問くらいしかひっかかりませんでしたor2
作法について書かれているホームページや良い書籍を紹介してもらえないでしょうか?
出来ればホームページの紹介を優先的に・・・

>>581
実際に組んだプログラムはアプレットを4〜5個(簡単なものも含め)つくり、
アプリケーションは・・・これが始めて・・・ですね
初めて取り組むのには難しすぎたのかな?
ちょっと反省しています or2 でしゃばったまねをしてすいません

>>580
>プログラムがプリミティブすぎる・・
これってプリミティブ型(?=intなど基本データ?)の使いすぎってことかな?
まだまだ知識が足りないもので・・・
今日の深夜あたりにList,Set,Map,Iteratorインタフェースについて勉強をしてこのプログラムをよりよくしていくつもりです

>>579
はい

>>578
sageって・・・あまり書き込むなってことですか?

長文失礼しました
586デフォルトの名無しさん:2007/03/09(金) 19:54:52
>>585
>sageって・・・あまり書き込むなってことですか?

スレをあげないでという事だと思いますよ。
587デフォルトの名無しさん:2007/03/09(金) 21:10:20
>>585
メールアドレス欄に"sage"と入れて書き込む。

大丈夫、その素地ならこのスレの大抵の住人より地力はあるはず。
揚げ足取りにはめげないで頑張って。
588デフォルトの名無しさん:2007/03/10(土) 01:46:57
【 課題 】以下のようなCSVファイル(下記参照)を用意し、ファイルを読み込んでyyyymmdd.txtというファイルに5科目合計を求め、合計点の降順にソートして出力しなさい。
1.ファイル読み込み時にエラーチェックをする。
(a)入力された点数が数値かどうか(b)入力された点数が0から100点の範囲内か(c)ファイルIOエラー(入力ファイルオープンエラー、出力ファイル書き込みエラー等)
2.java.ioパッケージ丸ごとのインポートは行なわず必要なクラスのみインポートする
3.人数や科目が増えた場合にもコード修正なしに実行可能にするArrayListを使用
4.わかりやすいコメントを下記の要領で記述
(a)ヘッダコメント(b)各クラスヘッダコメント(c)各メソッドコメント
----------(参照)CSVファイル-- ----(yyyymmdd.txt)--------------
名前,国語,数学,社会,理科,英語 ⇒ 順位 名前   国語  数学  社会  理科  英語   合計    
山田一朗80,80,78,60,75    出⇒ 1  山田一郎    80   80   78   60   75    373
山田次郎40,12,50,37,89    力⇒ 2  山田四郎    85   95   65   57   58    360
山田三郎60,38,45,68,40    例⇒ 3  山田五郎    90   95   55   45   72    357
山田四郎85,95,65,57,58    で⇒ 4  山田三郎    60   38   45   68   40    251
山田五郎90,95,55,45,72    す⇒ 5  山田次郎    40   12   50   37   89    228
                  科目合計         355   320   293   267   334   1569

【 形態 】Javaアプリケーション(main()で開始)
【 GUI  】コマンドプロンプトで表示します
【 期限 】解答希望日:3月11日(日) 20時まででお願いいたします。
【 Ver  】java version "1.5.0_05"
【 補足 】課題丸投げです。申し訳ありません。
      色々資料見て自力で何とか頑張ったのですがわかりませんでした。
      本当にすいませんがよろしくお願いします。
589デフォルトの名無しさん:2007/03/10(土) 05:18:33
590デフォルトの名無しさん:2007/03/10(土) 13:40:12
588です!
589さんありがとうございます!!
わざわざやって頂いて本当に申し訳ないんですが、コンパイルする時にどれを実行していいのかわかりません!
JAVA初心者なもので、できたらで良いのですがもう少し簡単に1つのメモ帳にまとめて書けたりできますでしょうか?
やってもらった分際で本当にすいません!!
591デフォルトの名無しさん:2007/03/10(土) 14:20:09
>>590
一応必要な情報は全部入ってるはずなんやけどな・・・

jarは実行可能なので
java -jar hogehoge.jar 読むファイル 結果ファイル
で実行できるし、
jarを展開したらソースが入ってるからそれからコンパイルし直したり修正も出来る。
メインクラスは、展開したらでてくるMANIFESTにかかれているよ。

時間はあるからガン( ゚д゚)ガレ〜
クラスは三つ出てくるけど、必要なのは二つ。一つはテストクラス。
592デフォルトの名無しさん:2007/03/10(土) 14:21:51
593デフォルトの名無しさん:2007/03/10(土) 21:39:44
もうjdk6のjavadoc日本語版リリースされてるよ
594デフォルトの名無しさん:2007/03/11(日) 00:32:12
590です!591、592さんありがとうございます!
jarファイルは展開できました!
コマンドプロンプトでMainとResultの2つをコンパイルすればいいということでしょうか?
javac Main.javaでコンパイルしたところエラーが6個出てしましました・・・。
後javac Result.javaでコンパイル通りましたが実行でjava Resultでいんでしょうか?
NOClassDefFoundError:Result〜というエラーがでてしました。
無知すぎて本当にすいません!!
595デフォルトの名無しさん:2007/03/11(日) 13:02:28
>>593
>【 Ver  】java version "1.5.0_05"
だから。
jarくらいなら大丈夫だけどね。

>>594
間違いです。
教科書の索引の「パッケージ」「クラスパス」あたりを調べてみましょう。
コンパイル対象のクラス2つは合っているはず。
あと、マニフェストファイルも覗いてみましょう、と
596デフォルトの名無しさん:2007/03/11(日) 17:45:14
>>595

次は、
「MANIFEST.MFをダブルクリックすると、開くアプリケーションがないと
怒られました」
かな。
597563:2007/03/12(月) 00:45:23
>>550
今こんな感じで進めて行ってますがこんな感じでいいですか?
ttp://yoshitake052.web.fc2.com/JavaLink/Q/Q555.zip
素人制作のためソースコードがかなり汚くなっていますが・・・

それと、仕様書では行末でEnterキーを押すことにより次の行に移るようにせよとのことですが・・・
これを実際にやってみたのですが見にくく分かりにくかったので次のように変えました。
行末には勝手に'↓'を付け加えるようにして、'↓'にきたらEnterキーを押すことにより次の行に移るように変えました。
この仕様が不満でしたら書き込みお願いしますor2
598563:2007/03/12(月) 00:57:50
書き忘れ
もし、'↓'を透明にしたいのでしたら下の行をTypingクラスの96行と97行の間に付け加えてください。
if(st.charAt(i-sNumSum) == '↓')graphics.setColor(new Color(0, 0, 0, 0));
599555:2007/03/12(月) 03:34:10
>>597
お疲れ様です。
仕様を満たして作成していただき、本当にどうもありがとうございました。
>>564では具体的なアドバイスが出来ていなくてすみません。
行末の記号につきましては現状のままで結構です。
欲を言えば、小数部分は小数点以下2桁が望ましいかと思います。
もし、お時間がございましたら、各クラスの大まかな役割を示したreadmeファイルを付けていただけるとありがたいです。
あと、各プログラムのJAVAファイル(Q555,Typing,Infor1,Infor2)等を一つにまとめるには、単に一つのJAVAファイルにコピペすればよろしいのでしょうか?
最後に色々と注文をつけてしまい申し訳ありません。
レポ作成等がありますので、次に書き込めるのは13日になってしまうと思われますが、上の注文に関しては12日までということはありませんので、よろしくお願いします。
600563:2007/03/12(月) 13:27:36
>>555
>欲を言えば、小数部分は小数点以下2桁が望ましいかと思います。
実装しました
>各クラスの大まかな役割
Q555: フレームを作ったりボタン、Typingクラス、Inforクラス等を置いたりしてるだけ。ここにmain()あり。
Typing: このクラスはキー入力やファイルの読み込み文字の表示などをさせている。
Infor: タイピングの情報を受け取ってそれを計算して表示させるだけ。
Infor2: Inforを継承させて結果の表示にバーを表示しないようにしただけ。
>各プログラムのJAVAファイル(Q555,Typing,Infor1,Infor2)等を一つにまとめるには、単に一つのJAVAファイルにコピペすればよろしいのでしょうか?
説明するのはめんどくさいので1つのファイルにまとめました。(ちなみにただ単純にコピペしただけではエラーが出るはずです)
でもこれってまとめてもいいものなの?分けたほうが分かりやすくていいのでは?
ttp://yoshitake052.web.fc2.com/JavaLink/Q/Q555_2.zip
601デフォルトの名無しさん:2007/03/12(月) 18:14:33
見るに耐えない
602デフォルトの名無しさん:2007/03/12(月) 19:44:28
うぜーーーーーーーーー
603555:2007/03/13(火) 01:22:26
>>600(563)様
期限までに作成してくださり、本当にありがとうございました。
また、細かい仕様にも満たしていただけ、素晴らしいものになっていると思います。
こちらで確かに動作を確認いたしました。

度々の質問で恐縮なのですが、打鍵時間を色々変更して計測せよと言われたので、
打鍵時間を2分から変更したいのですが、その場合、
public final int limitTime = 120;をpublic final int limitTime = 180;
等に変更しても打鍵時間が120分のまま変わりませんでした。
他に変更すべき点ございますでしょうか。
最後に色々to
質問させていただくというのは大変申し訳ないと思いますが、よろしくお願いします。
604555:2007/03/13(火) 01:24:09
>>603
120分→120秒です。スレ消費スミマセンでした。
605デフォルトの名無しさん:2007/03/13(火) 01:36:03
定数、変数があっちゃこっちゃに散らばってるからそうなるんだよ
マジックナンバー使いまくりなのもよくないかと
606555:2007/03/13(火) 01:44:24
>>605
アドバイス通り、protected final int restTime = 120;
のほうも変更してみたところ、打鍵時間を変更することができました。
どうもありがとうございました。
607563:2007/03/13(火) 03:47:08
>>555
もう解決しちゃってるみたいだけど・・・
打鍵時間はマジックナンバーにならないようにしました。
あと下にテキストフィールドとボタンを追加しました。
テキストフィールドに数字を入力してボタンを押すと時間が変更できる仕様にしました。
ttp://yoshitake052.web.fc2.com/JavaLink/Q/Q555_2.zip

>>605
マジックナンバーという言葉を初めて知りましたor2
次からはそのようなことが起こらないように作っていきたいと思います
ご指摘ありがとうございます
608デフォルトの名無しさん:2007/03/13(火) 10:30:12
そろそろor2をNGワードにしようと思う
妙な自己主張はやめてくれ
609563:2007/03/13(火) 12:54:00
>>608
不快にさせて申し訳ありません
次からはNGワードを使わないようにします
610デフォルトの名無しさん:2007/03/13(火) 17:07:53
>>609
むしろ逆
お前はどんどん使え
そうしたらお前のレスを読まなくて済むからな
611デフォルトの名無しさん:2007/03/16(金) 15:53:32
【 課題 】下記の出力するテキストファイルのファイル名を日付表示にする。⇒text.txtを現在日付(2007036.txt)
public class Writedown {
public static void fileWrite(ArrayList<ArrayList<String>> WriteArrayList) {
try {
File txt = new File("text.txt"); /*出力するファイル*/
BufferedWriter bw = new BufferedWriter(new FileWriter(txt));/*追記モード*/
for(int i = 0; i < WriteArrayList.size(); i++){
ArrayList<String> list = WriteArrayList.get(i);
if(i == 0){
bw.write((list.size() - 3));
}
for(int j = 0; j < list.size(); j++){
if(j > 0){
bw.write("\t");
}
if(list.get(j).toString().equals("名前")){
list.remove(j);
list.add(j,"名前");
}
}
bw.close();
} catch (IOException e) {
System.out.println("ファイルオープンエラー");
}
}
}
【 期限 】解答希望日:3/17(日)23時
【 Ver  】java version "1.5"
【 補足 】課題丸投げです。長々とすいません!
612デフォルトの名無しさん:2007/03/16(金) 16:26:23
File txt = new File("text.txt");

File txt = new File(new SimpleDateFormat("yyyyMMdd.'txt'").format(new Date()));
613デフォルトの名無しさん:2007/03/18(日) 13:13:07
611です。
612さんありがとうございます。
後はimport java.text.DateFormat;とimport java.text.SimpleDateFormat;を追加すればよいですか?
614デフォルトの名無しさん:2007/03/19(月) 02:46:46
sage推奨?
615デフォルトの名無しさん:2007/03/19(月) 04:57:04
大昔は知らないが最近のスレの>>1近辺でsage推奨の注意書きがあったことはなかったと思う。
だから別にsage推奨とかではないとは思うが、あがっていてもいいことはあまりない気がする。
スレ順位に関係なく、見てる人間はそれなりにチェックしてるだろうから、
ageて注意を促そうとすることはあまり効果がないと思われ。
まあ、自分のレスはsageるけど、ageられていても俺は特に気にはしないが。
616デフォルトの名無しさん:2007/03/20(火) 21:40:28
【 課題 】Iteratorを使い、文字列をリストに詰め替え、最後に文字列(”Winter”)を追加せよ。

�ArrayList array=new ArrayList();�
��
��array.add("Spring");
��array.add("Summer");
��array.add("Autumn");
��
��ArrayList array2=new ArrayList();�
��
��for(Iterator it=array.iterator();it.hasNext();){
���String str=(String)it.next();
���System.out.println("array:"+str);
���array2.add(it);������
���System.out.println("array2:"+str);


【 期限 】3月22日
【 Ver  】java version "1.4"
【 補足 】リストの詰め替えまでは理解出来たのですが、詰め替え後にリストの最後に
文字列を追加する処理の記述がわかりませんでした。
617デフォルトの名無しさん:2007/03/20(火) 22:05:49
最後に
array2.add("Winter");
618デフォルトの名無しさん:2007/03/21(水) 00:54:51
課題の内容も意味不明だが

List array=new ArrayList();

// init array is sniped

List array2=new ArrayList();

for(Iterator it=array.iterator();it.hasNext();){
array2.add(it.next());
}
array2.add("Winter");

で最後に"Winter"が追加されるが、それでいいのか?
詰め替えって標準語なのか?
619デフォルトの名無しさん:2007/03/22(木) 05:15:05
詰め替えは標準語だろう。
でも、このコンテクストで使って、やりたいことを伝えているかとなると微妙だな。
詰め替えるって元の場所から取り出して別の場所に入れ直すってイメージがあるから、
array2にaddするだけじゃなくarrayの方からremoveしないといけないんじゃないか?
課題の意図としては多分リストの要素をコピーするって意味だろうとは思うけど。
620デフォルトの名無しさん:2007/03/22(木) 06:45:33
何故かスタックをせっせと詰め換えてるデュークが頭過った・・・org

まあ期限が今日だからドボンか・・・
621デフォルトの名無しさん:2007/03/22(木) 18:52:23
でも、まぁ、ある程度理解しているなら完全にダメという訳でもあるまい。
622デフォルトの名無しさん:2007/03/22(木) 19:10:10
理解してて>>616はないだろ。

ブロッキングキューを必死こいてpopしようとして悩んでるデュークが頭の中に・・・

誰だ変なもんインスタンス化したのはw

ブロッキングキューはあってもリングキューないよね。特殊過ぎるか。
623デフォルトの名無しさん:2007/03/23(金) 01:37:37
>>619の解釈が正しいとすれば
>Iteratorを使い、文字列をリストに詰め替え
ってのは高度だよな(moveだとすれば)
どうやってやればいいかわからん
624デフォルトの名無しさん:2007/03/23(金) 01:59:18
詰め換えってんだからビューやミラーでは無いわな。
しかし、「文字列をリストに詰め替え」
そのソース文字列が例文に何処にも無いんだが・・・
リテラルがいきなり出てきてるのは例文だから?

Iteratorがコピー元とコピー先を持ってれば良い?

今まさにこの>Iteratorを使い、文字列をリストに詰め替え
をxmlに対し可能にするAPI作ってるがこのIteratorの事をCrawlerって呼んでる。

xmlをフラットに走査してビューを作れるんだぜ?

 さ あ 、 講 師 が 馬 鹿 か 俺 ら が 馬 鹿 か ! ?
625デフォルトの名無しさん:2007/03/23(金) 05:45:02
>>623
Iteratorを使っての要素の移動だとすればこうじゃね。
for (Iterator it = array.iterator(); it.hasNext(); ) {
Object o = it.next();
it.remove();
array2.add(o);
}
array2.add("Winter");
626625:2007/03/23(金) 05:50:18
for文の中身はこれの方がすっきりするね。徹夜で頭が働いてないや。
array2.add(it.next());
it.remove();
627デフォルトの名無しさん:2007/03/25(日) 20:35:37
【 課題 】Zipファイルの中にあるJavaコードを書き換えて、
      以下の仕様通りに動作するJava GUIプログラムを完成させよ。
      1.Startボタンをクリックした時に、JPanel内のオブジェクトを動作させ、
       ボタンの表示を「Stop」に変更させよ。また、Stopボタンをクリックした時に、
       JPanel内のオブジェクトの動作を停止させ、ボタンの表示を「Start」にするようにせよ。
      2.JPanel内のオブジェクト(ボール)がJPanelの壁にぶつかった時、跳ね返るようにせよ。
      3.JFrameのタイトル部分に日付(時計)を表示させよ。※毎秒、時間が経つように設定せよ。
      4.JPanel内のオブジェクト(ボール)はスレッドを使用し、別々に
       動作するようにせよ。※sleepメソッドを使用する。
      5.動作の途中結果をコンソール画面に表示させよ。
       ※例えばプログラムの反復処理が200の場合、20毎にその結果を表示させる。
       また、反復処理の回数と途中処理チェックをユーザーが設定出来るようせよ。
      6.オブジェクト(ボール)の数をユーザーが設定出来るようにせよ。
      7.スレッドの動作ステータスをプログレスバーを使用し、
       どれくらいで処理が終わるのかユーザーに分かるようにせよ。
      
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】2. Swing
【 期限 】3/27
【 Ver  】1.5.0_11
【 補足 】仕様の通りに組むのですが、自分でGUIのデザインだけは終わらせておきました。
      処理サンプル図を見ていただけたら、分かり安いと思われます。
      GUIデザイン、処理サンプル図:ttp://www.uploda.org/uporg746765.jpg.html
      GUI完成Zipファイル:ttp://www.uploda.org/uporg746763.zip.html
      配布されたZipファイル:ttp://www.uploda.org/uporg746759.zip.html

丸投げでよろしくお願いします。
628デフォルトの名無しさん:2007/03/25(日) 22:03:25
4,5,6,7は見た目以上の試練だな。
ソースコード読んだらオフスクリーン管理自分でやってゲームループ回した方がすっきりしそうだ。
描画フローは一本化したいなぁ・・・。
629627:2007/03/26(月) 04:54:23
>>628
取り組んで頂いてありがとうございます。


アップロードしたファイルが流れてしまったみたいなので、
普通のWebスペースにアップロードし直しておきました。

GUIデザイン、処理サンプル図:ttp://www.geocities.jp/colt_ps/as4.jpg
GUI完成Zipファイル:ttp://www.geocities.jp/colt_ps/ic5_guikansei.zip
配布されたZipファイル:ttp://www.geocities.jp/colt_ps/ic5.zip
630627:2007/03/26(月) 22:22:41
627です。
もし、途中まででも良いので終わらせているのであれば、
そのコードを戴けないでしょうか?
628さんの言う通り、4以降やっていないのでも大丈夫です。
631デフォルトの名無しさん:2007/03/26(月) 22:37:00
気が向いたらやってやるかな・・
632627:2007/03/26(月) 22:47:33
>>631
ありがとうございます。
自分でもやってはいるのですが、GUIでのプログラムに慣れておらず、
試行錯誤しているうちに、ひとつの終わらないまま提出期日が迫っているので…。
633デフォルトの名無しさん:2007/03/26(月) 23:10:05
visual editorか・・
634627:2007/03/27(火) 00:15:22
>>633
はい。Visual Editorを使用しています。
635デフォルトの名無しさん:2007/03/27(火) 03:08:54
反復処理とは一体何を指すのか?
636デフォルトの名無しさん:2007/03/27(火) 04:06:07
>>627
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29284
眠い、限界
雑な作りだが一応動くはず
反復処理回数の意味がわからなかったので描画回数にした
637627:2007/03/27(火) 05:15:19
>>635
イタレーションの事です。分かりにくくて申し訳ありません。

>>636
ありがとうございます。早速、提出しようと思います。
本当にありがとうございました。
638デフォルトの名無しさん:2007/03/27(火) 10:19:20
>>637
あーiterationのことか。
じゃあ間違ってるかな。
要するに各スレッドのiterationの合計が反復回数なわけだ?

まあもう提出してしまったみたいだからいいか
639デフォルトの名無しさん:2007/03/27(火) 19:29:03
宿題スレなんてあるなんて凄いです。

問1
パラメータから得た値をnとして、2のn乗を求めて表示してください。
nの上限は62として、63以上が入るとメッセージを表示するようにしてください。
int型だと2の30乗までになってしまいます。

って問題なんですけど

640デフォルトの名無しさん:2007/03/27(火) 19:29:53
>>639
>>1
641デフォルトの名無しさん:2007/03/27(火) 19:30:10
import java.io.*;
public class kadai13{
public static void main(String[]args)throws IOException{

@

int i=1;
long a=2;
while(i<myAnswer){
a*=2;
i++;
}
if(myAnswer<=62){
System.out.println("2の"+myAnswer+"乗は"+a+"です。");
}else if(myAnswer>=63){
System.out.println("2の2乗までしか計算できないよ。");
}
}
}


この@のところに
int a=Imterger.parse Int(args[0])
ってのを使って解かなければならないんですが
分かる方教えてください。
642デフォルトの名無しさん:2007/03/27(火) 19:30:55
>640
改行多いっていわれたので2分割しました。
643デフォルトの名無しさん:2007/03/27(火) 19:32:44
644デフォルトの名無しさん:2007/03/27(火) 19:34:43
>>642
誰が改行多いって言ったの?
645デフォルトの名無しさん:2007/03/27(火) 19:38:28
POSTしたcgiにだろw
646デフォルトの名無しさん:2007/03/27(火) 19:38:59
>>644
ブラウザです。
書き込もうとしたら改行多いから書き込めないっていわれました。

で、すぐ2分割した方を書き込もうとおもったら
連投はできない。しばらくたってから。みたいなこと言われたんで
まってたらその間に違う人が書き込んでしまったんです。
647デフォルトの名無しさん:2007/03/27(火) 19:43:22
>>646
質問スレじゃないんだからテンプレ使えと、、、、わかれよそんぐらい
648デフォルトの名無しさん:2007/03/27(火) 20:21:11
>>639
public class kadai13 {
public static void main(String[] args) {
try {
int a = Integer.parseInt(args[0]);
if(a <= 62) {
System.out.println("2の" + a +"乗は"+ Math.pow(2, a) +"です。");
}
else System.out.println("2の2乗までしか計算できないよ。");
}catch (NumberFormatException e) {
System.err.println("数字を渡せ!");
}
}
}
649デフォルトの名無しさん:2007/03/27(火) 20:46:33
650デフォルトの名無しさん:2007/03/30(金) 09:43:36
【 課題 】入力された複数の数値(数列)の合計値を計算する
【 形態 】Javaアプリケーション(main()で開始)
【 GUI  】制限なし
【 期限 】3月30日一杯
【 Ver  】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】クラス図を以下に記します。

BootStrap 起動クラス

public static void main(args[]) mainメソッド:合計計算クラスを使い、
引数の数列を合算する

CalcSum 合計計算クラス

public void exec (String seq)

private int calc (String seq) execメソッド:calcメソッドを使って数列を合計し、
OutputAnswerクラスを使って結果を出力する
calcメソッド:数列の合計を計算する

OutputAnswer 計算結果出力クラス
private int answer answerメンバ:計算結果
public void setAnswer(int answer)
public void display() setAnswerメソッド:計算結果をanswerにセットする
displayメソッド:計算結果を画面表示する

急な質問ですみません。
651デフォルトの名無しさん:2007/03/30(金) 10:23:30
ジャバでさ、コマンドライン引数で取得したargs[0]ってString型じゃん?それをintにしたいんだけどどうしたらいいかね?
652デフォルトの名無しさん:2007/03/30(金) 10:30:59
英字の名称がカタカナなのと全角なのは流石だな。
高校の頃に固有名詞くらい正式に書けるようになれって言われなかったか。

何はともあれスレ違い乙
653デフォルトの名無しさん:2007/03/30(金) 10:44:02
>>650
import java.util.StringTokenizer;
class BootStrap {
  public static void main(String[] args){
    StringBuffer seqBuf = new StringBuffer();
    for(int i = 0; i < args.length; i++){
      seqBuf.append(args[i] + " ");
    }
    CalcSum calcSum = new CalcSum();
    calcSum.exec(seqBuf.toString());
  }
}
class CalcSum {
  public void exec (String seq){
  OutputAnswer outputAnswer = new OutputAnswer();
  outputAnswer.setAnswer(calc(seq));
  outputAnswer.display();
  }
  private int calc (String seq){
  StringTokenizer stringTokenizer= new StringTokenizer(seq);
  int sum = 0;
  while(stringTokenizer.hasMoreTokens()){
    sum += Integer.parseInt(stringTokenizer.nextToken());
  }
  return sum;
  }
}
class OutputAnswer {
  private int answer;
  public void setAnswer(int answer){this.answer = answer;}
  public void display(){System.out.println(answer);}
}
654デフォルトの名無しさん:2007/03/30(金) 10:44:14
655650:2007/03/30(金) 11:59:25
>>653さん
早速のレスありがとうございます。
コンパイルして実行してみると入力とは関係無しに出力され結果が0になってしまいます。
どうすれば解決するでしょうか?

656デフォルトの名無しさん:2007/04/02(月) 07:44:22
【 課題 】 http://www.uploda.org/uporg758735.txt
3問ありますorz
【 形態 】Javaアプリケーション
【 GUI  】AWTのみ
【 期限 】4/4まで
【 Ver  】java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

【 補足 】タートルグラフィックスの問題です。
java初心者で、期限に間に合わなそうなので依頼しにきました。
厚かましくも3問もありますが、よろしくお願いします!
657デフォルトの名無しさん:2007/04/02(月) 09:32:24
>>651 Integer.parseInt(args[0]);
658デフォルトの名無しさん:2007/04/02(月) 12:12:13
>>656
>java初心者で、期限に間に合わなそう
画面に点を打てて数学関数使える言語なら何でも出来るぞ。
精もない言い訳してる暇があったら高校やり直せ。
ゆとり世代じゃなけりゃ中学で基礎は習ってる。

入力を何処から拾うかと、亀をどう描くかと亀の移動速度が無いように見えるけど?

>>657
初質でとうに解決済みだから見てないと思う。
659デフォルトの名無しさん:2007/04/02(月) 13:44:31
講師が居るおまいらが羨ましい。漏れは4ヶ月javaやってるが先生はずっと参考書。
一人でやってみて気付いたが、教えてくれる人が居るって恵まれてるよ。
660デフォルトの名無しさん:2007/04/02(月) 16:35:15
丸投げは何も教えてない件について。
それに気づくのは本人じゃなくて後に就職した先の先輩や上司・・・
しかも、講義の内容を理解してないからここで投げるという。

専門生オソロシスw

>>659
このスレでタダで専門と同じ勉強が出来るじゃないか?
661デフォルトの名無しさん:2007/04/02(月) 18:59:23
ここは教育機関じゃないし
そんな人間をそれに気づく前に就職させた側に問題がある
フィルターをかける手間を惜しんでリスクを背負うことを選択した結果だ
採用担当と配置後の直接の職場とは違うだろうから使えなくて上司が泣くのはかわいそうだが
そういうのは採用担当に使えんやつは採るなってねじこむしかないな
662デフォルトの名無しさん:2007/04/02(月) 19:09:39
>>656
> Turtle は整数の座標でしか動けない。
とか
> 亀の色を変えるのは,亀のkameColor 変数に代入します。線の色を変えるのには,
> setColor メソッドを使います。
とかを見てると、整数座標系で動くタートルグラフィックスのライブラリが出題者から示されていて、
それを使ってプログラムを組めっていうことのように思えるんだけど。
もしそうなら、そのライブラリも提供してくれないと。
それとも、そういう風にタートルグラフィックスシステムも作れっていうことかな?
でも、タートル色はフィールドへの代入で線色はセッターメソッドを使うとか、いやーんな仕様だね。
663デフォルトの名無しさん:2007/04/02(月) 20:00:57
とりあえず質問者は亀さんグラフィックスライブラリをどっかにあげるべし。
指定されてる奴があるだろ?
(kameColorでググるとそれらしいのが見つかるが)
664659:2007/04/02(月) 20:33:52
でも先生が居たらいたで、漏れも出された課題をこういう所で丸投げしてるんだろうなぁ。
665デフォルトの名無しさん:2007/04/02(月) 21:51:47
ほんと一瞬だな。javadocは概要ページとサブパッケージ指定しようぜ?

ttp://www.graco.c.u-tokyo.ac.jp/~masuhara/classes/cp1-2003/resources/api/index.html

バイナリが見つからなかった。
666デフォルトの名無しさん:2007/04/02(月) 22:06:35
タートルグラフィックスライブラリあったよ
ttp://bakkers.gr.jp/javabook/download.html

kameColor・タートルしかヒントないのに俺の方が先にライブラリ晒すって質問者ドンだけ無能なんだ?

さあ、ドキュメントもライブラリも揃った。
あとは誰かガンガレ!
667デフォルトの名無しさん:2007/04/03(火) 05:34:11
【 課題 】Javaアプレットを使用し、ゲームを作りなさい。
      ゲームの詳細・仕様は配布したイメージファイルを参考にしなさい。
      配布イメージ:ttp://www20.tok2.com/home/sweatslip/cgi-bin/uploader/src/ss0218.jpg
【 形態 】2. Applet
【 GUI  】4. 制限なし
【 期限 】4月5日
【 Ver  】1.5.0_11
【 補足 】特にありません。丸投げでよろしくお願いします。
668デフォルトの名無しさん:2007/04/03(火) 07:14:15
>>656
ライブラリのひどいソースを見て真面目にやる気が無くなった。
補足質問に対する依頼者の回答がまだないから本当にこれでいいのかどうかも分からないし。
とりあえず問題Aだけ、いい加減に書いた。B、Cはやる気ないから誰かよろしく。
入力は問題の入力仕様に従ったファイルをコマンドライン引数で指定。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29300
669656:2007/04/03(火) 07:25:15
色々と不備があり、大変申し訳ありません…
問題文に補足などがあったのも見落としていて、
ご迷惑おかけしました。
ライブラリは>>666ので合っています。
今後質問するときは不備がないよう気をつけます。
問題文の補足を加えたものを再度UPしましたので、
よろしくお願いします。。。
http://www.uploda.org/uporg760045.txt

>>668
不備だらけの中、解答してくださって本当にありがとうございます。
参考にさせていただきます!
670668:2007/04/03(火) 07:38:19
ごめん。視野角の定義を勘違いしていたみたい。

望遠鏡を覗いたときの中心から星の角度をθとすると,θ<φのときにだけ望遠鏡から見えるとする。

ってなってた。

//* このθが視野角φの半角より小さければ視野に収まっている
* このθが視野角φより小さければ視野に収まっている

//if (φ / 2 > Math.acos((sx[i] * tx + sy[i] * ty) / (Math.hypot(sx[i], sy[i]) * Math.hypot(tx, ty)))) {
if (φ > Math.acos((sx[i] * tx + sy[i] * ty) / (Math.hypot(sx[i], sy[i]) * Math.hypot(tx, ty)))) {

//double angle = Math.atan2(ty, tx) - φ / 2;
double angle = Math.atan2(ty, tx) - φ;

//angle = Math.atan2(ty, tx) + φ / 2;
angle = Math.atan2(ty, tx) + φ;

の4ヶ所を修正して
671デフォルトの名無しさん:2007/04/03(火) 07:50:43
データの読み込み方法が補足のやり方とは違っちゃってるね。
BufferedReader + StringTokenizerを使う場合は、、
Scanner#nextDoubleの代わりにDouble.parseDouble(st.nextToken())、
Scanner#nextIntの代わりにInteger.parseInt(st.nextToken())でいけるんじゃないかな。
672656:2007/04/03(火) 10:16:03
>>670-671
何度もありがとうございます!
助かります!
673デフォルトの名無しさん:2007/04/03(火) 12:28:19
>>667
授業で何やってんの?
サーバとの通信?それともアプレット作るだけ?
アカウントの認証は本当に処理しなきゃいけない?てかベーシック認証?

1)鯖と通信するのか?
2)するならどのような方法で行うのか?
3)なんか資料や必要な物が他にあるだろ?
4)あんなでっち上げ画像なんの役にも立たんから抜けてる所は自分で補完しろ。

#アプレットやろうと思ったら環境ナス・・・
674667:2007/04/03(火) 16:36:43
>>673
授業では前期の方でJavaの基礎をやった後、簡単なアプレットを作って、
最後の課題で本格的なアプレットを作れといった流れです。
リサーチもかねて、簡単なコンセプトを配布されただけで後は自分で調べろといった感じです。
本格的な認証は必要ないと思います。ただ、ユーザーのデータベースにあるIDとパスが通れば、
ログインさせる流れです。

1)サーバーと通信します。
2)仮想サーバーを作って、そこにユーザーがアクセスするという形です。
 アパッチで仮想サーバーを自分のPCに作っています。実際にWebには公開しないと思うので、ひとつのマシンでやり取りを完結します。
 つまり、多数ブラウザを開いて一人で複数アカウントを作ってログインして、きちんと動作していれば大丈夫です。
3)資料、画像は自分で図書館や書店で調べろ・用意しろと言われました…。他に必要な物があるなら自分で補完しろとの事です。
4)どうしてもアプレットで無理なら、サーブレットでやっても良いとの事です。
675デフォルトの名無しさん:2007/04/03(火) 17:16:55
>>674
>3)資料、画像は自分で図書館や書店で調べろ・用意しろと言われました…。

なら言われた通りに不足分埋めてテンプレの【 補足 】を埋めろ。

>Javaアプレットを使用し、ゲームを作りなさい。
>ゲームの詳細・仕様は配布したイメージファイルを参考にしなさい。
だけじゃ不足してる。その不足分を補完するのが【 補足 】だ。
補完するのはお前の仕事だ。

>【 補足 】特にありません。丸投げでよろしくお願いします。

じゃないだろ。
何で足りん分は自分で考えて自分で用意しろって前提で課題が出てるか分かるか?

#ちょっと待て最近、使えねSEとそいつのせいで仕事出来ねぇPGの図になってるぞ。

丸投げの定義を>>1~のテンプレに追加した方がよくね?
ループしてるぞこの話。
676667:2007/04/03(火) 18:12:22
>>675
分かりました。補足・素材を用意して出直してきます。
少々お待ちください。
677デフォルトの名無しさん:2007/04/03(火) 18:56:45
>>656
面倒だしmainメソッドをどんどん大きくしていった。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29301
問題Aについて補足のようにBufferedReaderとStringTokenizerを使ったファイルの読み込みかたに>>668を修正。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29302
それと問題B。亀の速度制御の変更とかは定数をいじるなりspeedの値の増加アルゴリズムを変えるなり。

問題Cは亀の最初の移動方向をどうするかが指定されていない。出題ミス?
って尋ねてるけど、別にやるなんて言ってないわよ。勘違いしないでよね!
678656:2007/04/03(火) 19:36:16
>>677
ありがとうございます!
自分で解こうとしても、半日かけても1問も解けなかったりするのですが
ここの人たちは仕事早いしツンデレだったり、ホントすごいです!

問題Cの最初の移動方向は好きなように設定して
良いかと思います。
問題の指示通り動けば良いみたいなので。


問題文流れてしまったようなので別のうpロダに再うp
したので、どなたか問題Cをお願いします。。。
http://up.spawn.jp/file/up13102.txt
679デフォルトの名無しさん:2007/04/04(水) 00:50:56
>>678
なんか誰もやってないっぽいんでいまさらながら見てみたけど。。
ライブラリいらね・・あまりに糞過ぎる
これは確かにやる気が失せる
ってか俺はもう投げた
680677:2007/04/04(水) 01:21:32
>>678
つんでれうんぬんは置いておいて、実際のところ問題Cまで手を出す暇はない。
「示しなさい」のところの簡単な手がかりを出しとく。でも、今はこれが精一杯。
正しくやろうとすると、例えば、内部判定の場合、
判定する点からの線分と辺とが重なってたり頂点を通ってたりする場合を考えないといけないとか、
いろいろ特別な場合について考慮しないといけないんだけど。がんばってくれ。

Q. 亀が檻の中にいるのかいないのか求める計算方法を外積を使って示しなさい。
A.
檻の辺がとる最大X座標は限定されているので
亀の位置からX軸に平行で檻の頂点のX座標の最大値よりも大きいX座標をもつ点までの線分を考え
その線分と檻の各辺との交点が奇数個であれば内部、偶数個であれば外部と判定する
交点があるかどうかの判定は
亀から線分の端点へのベクトルをA
亀から檻の辺の両端点へのベクトルをB、C
外積A×Bと外積A×Cの符号が異なれば交点をもつと判断する

Q. 亀が檻にぶつかったときに,次にどの方向に動くのか求める計算方法を示しなさい。
A.
檻の頂点がとる座標の最大最小値は限定されているので
現在の亀の位置から亀の移動方向で確実に檻の外にある点までの線分を考える
この線分と檻の各辺との交点をそれぞれ問題Bの亀の軌跡とハードルの交点を求める方法で求める
もし線分が2辺と交わるのなら、それは檻の角でぶつかったことになる
この場合は亀の移動方向を180度回転させる(移動方向ベクトルの符号を反転させる)
さもなければ亀は檻内部にいるので1辺との交点しかないはず
その辺がX軸の正の方向となす角をα
ぶつかる前の亀の移動方向とX軸の正の方向とのなす角をθ
衝突後の亀の移動方向とX軸の正の方向とのなす角は 2 * α - θ となる
681665=666:2007/04/04(水) 02:01:27
まあ、ミニミニ衝突判定ライブラリを書かなきゃいけないからね。
あのクソ亀公使って・・・あれはやる気なくす。

javadoc見て酷い設計だと思ったが。
ソースコード見て絶句した。

あの本、素人向けでライブラリ作るんじゃなくて
既存ライブラリ使う所から始めるんだってさ。
682デフォルトの名無しさん:2007/04/05(木) 00:46:10
恐いものみたさに見てしまった
683デフォルトの名無しさん:2007/04/05(木) 07:12:38

それはjava宿題スレに晒されたタートルグラフィックスライブラリである・・・。

ライブラリの出来の酷さに見ただけでやる気を無くす回答者が続出した。

警告しよう決して怖いもの見たさに見てはいけない・・・。

 〜D Q N な カ メ さ ん〜
   D Q K 3 -そして伝説へ-

ttp://bakkers.gr.jp/javabook/download.html
684デフォルトの名無しさん:2007/04/13(金) 00:15:46
【 課題 】ttp://www.uploda.org/uporg772084.txt.html
【 形態 】1. Javaアプリケーション
【 GUI  】4. 制限なし
【 期限 】4/16
【 Ver  】java version "1.5.0_06"
【 補足 】恥ずかしながら丸投げです。
       お願いします。
685デフォルトの名無しさん:2007/04/13(金) 12:47:56
以前同じような問題を解いた
686デフォルトの名無しさん:2007/04/13(金) 13:39:39
>>684
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29319
「////////// filename」でそれぞれのファイルに分けてくれ。
デバッグしてないから動かなくても知らん。エラーメッセージも一貫性がないぜ。
長方形の指定方法が指定されてない&「4つの属性でボード上の長方形を識別できるものと考える」
なんて書かれてるから、操作対象の長方形は幅、高さ、左上隅のx、y座標で指定するようにしてる。
浮動小数使うと指定が面倒になるので、長方形の座標やサイズはintにしてる。
687デフォルトの名無しさん:2007/04/13(金) 20:48:36
>>686
有難うございます!助かりました。
大いに参考にさせてもらいます!
688デフォルトの名無しさん:2007/04/13(金) 22:18:48
【 課題 】1.レベル1(直線発生アルゴリズム)
直線式を用いて(100,100)から(600,300)の2次元座標点を結ぶ直線と、(100,100)から(300,600)の点を結ぶ直線を描画する。直線の色は視覚可能な色であれば任意とする。JavaのPolylineなど直線描画関数を使用しない。

2.レベル2(3次元デプスキューイング・アルゴリズム)
 (100,100,0)から(600,300,100)の3次元座標点を結ぶ直線を描画する際、z値の座標値を輝度と見なしてz=0の点の輝度を0(最小値)、z=100の点の輝度を255(最大値)として描画する。直線の色は視覚可能な色であれば任意とする。

【 形態 】2. Applet

【 期限 】4月26日

【 補足 】1はたぶん
package Ex1;

import java.applet.Applet;
import java.awt.Graphics;

public class level1 extends Applet {

public void paint(Graphics g) {
g.drawLine(100, 100, 600, 300);

g.drawLine(100, 100, 300, 600);
}

}

だと思うのですがどうでしょうか?
2はまったくわかりません
689デフォルトの名無しさん:2007/04/13(金) 22:27:12
>>688
drawLine使っていいの?
690デフォルトの名無しさん:2007/04/13(金) 22:30:28
>>689
それがよくわからんのです。
使わないとしたら、どのようにすれば?
直線式というのが気になりますよね。
691デフォルトの名無しさん:2007/04/13(金) 22:30:47
>>688
drowLineってここで言ってる直線描画関数なんじゃ?
y=ax+bみたいな式を作ってしてループでぐりぐりまわしてちまちま点を打っていけ
ととれるんだけど…
692デフォルトの名無しさん:2007/04/13(金) 22:32:36
>>691
なるほど。
そういう用語とか調べてはいるのですが、よくわからないもので。
forを使うのですか?
693デフォルトの名無しさん:2007/04/13(金) 22:47:34
drawLine等を使わないとなると、
for文で回して1ピクセルごとに直線の座標を計算して点を打っていくんだが、
残念なことにGraphicsには点を打つメソッドがない。
幅と高さが1の四角形の中を塗りつぶす等で代用するか、
画像バッファとして配列等を用意して、それに画素値を入れて行き、
最後にバッファの内容を画像として表示するかのどちらかだな。
Imageを使う手法は習ってる?

あと、問題2の方の座標系は左上が原点でX,Y座標が右、下方向で、
Z座標が画面に垂直な方向ということでいいの?
694デフォルトの名無しさん:2007/04/13(金) 22:57:00
>>693
丁寧にありがとうございます。
たぶん一番初めの問題なので、それほど高度なことはしないと思います。
Imageを使う手法わかりません。

問い2はそうであると思います。
695デフォルトの名無しさん:2007/04/13(金) 23:39:27
>>688
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29321
とりあえず、問題1の方。こんな感じでいいかい?
要は、(x1,y1)から(x2,y2)までの線分が通るピクセル(x,y)が
y = y1 + (y2 - y1) / (x2 - x1) * x
とか
x = x1 + (x2 - x1) / (y2 - y1) * y
の直線の式を満たすから、xかyを1づつ変化させて、
もう一方の座標を求めてそのピクセルを塗ればいい。
問題2はこれの応用だ。自分でやるかい?
696デフォルトの名無しさん:2007/04/14(土) 00:53:01
すまん。プログラムを見れば分かると思うけど、直線の式は、
y = y1 + (y2 - y1) / (x2 - x1) * (x - x1)
x = x1 + (x2 - x1) / (y2 - y1) * (y - y1)
の間違いね。
697デフォルトの名無しさん:2007/04/14(土) 20:04:52
なんで大学とかって基礎(if文だのfor文だの)一通り教えたらGUIに走るのかな。

そんなのは必要になったときに自習でなんとかなるんだから、もっとOOPを教えるべき。
698デフォルトの名無しさん:2007/04/14(土) 20:42:52
そりゃ見た目派手で眺める分には楽しいし、
数字の羅列や意味の分からないプログラミング理論を教えられるより、
プログラムによって計算機に何かさせているという実感が沸くからじゃないかね。
もちろん、今後こっち方面で仕事したいとかいう人間は、
GUIが必要になったときに自習で何とかして、OOPとかの基本を教えられるべき人間なんだろうけど。
そういう人間ばかりじゃないと思うから。
699デフォルトの名無しさん:2007/04/14(土) 20:47:29
>>688
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29324
問題2。基本は問題1と同じ。
X,Y座標のついでにZ座標も求めて、その値に応じてピクセルの色を設定するだけ。
700デフォルトの名無しさん:2007/04/14(土) 21:26:39
本当に必要なのはOOPなんかじゃない論理的な思考だよ。
どんなことも論理的に考え、論理的に理解出来る姿勢。
ある事を知っているということは重要じゃない。

↑にはもちろん、知らない事があったら
ブチ切れるより前に自分で調べるという姿勢も含みます。
701デフォルトの名無しさん:2007/04/14(土) 23:55:17
まあ>>688はCGの授業らしいからグラフィクス関係が出てこないと看板に偽りありだけどね
702デフォルトの名無しさん:2007/04/15(日) 00:00:33
やる気のある奴ならOOPくらい自習で何とかなるよ。
しかし抽象的概念が先っていうのはやる気でねぇよ。
703デフォルトの名無しさん:2007/04/16(月) 12:06:55
【 課題 】一定の幅と高さをもつボードがある。図のようにボード上には左上隅を原点とする座標
系(x 座標、y 座標)が定義されているとする。この時、つぎの条件を満たすように二
辺の長さとボード左上の位置を表す座標をもつ長方形をボード上に配置するプログラ
ムを作成せよ。座標系の単位はピクセル。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】4月17日13時ぐらいまで
【 補足 】自分でやってもどうしてもわからなかったので丸投げです
      期限が近くてごめんなさい・・・
      でも一応自分でも今努力中です
      補足には続きがあります
      
704デフォルトの名無しさん:2007/04/16(月) 12:09:27
703の補足の続き  

1) 配置に関する以下の操作を行うことができる。各操作の名前は以下の通りである。
a) 幅、高さ、左上の位置(x座標、y座標)を与えて長方形を作成する。create
b) 長方形R を指定して、Rを現在位置から指定したx方向の距離x0,y方向の距
離y0b だけ移動する。move
c) 長方形R を指定して、指定した幅の倍率mx(>1)で幅を、高さの倍率my(>1)で
高さをそれぞれ拡大する。倍率は有限小数で与えるものとする。expand
d) 長方形R を指定して、指定した幅の倍率mx(0<mx<1)で幅を高さの倍率
my(0<my<1)で高さをそれぞれ縮小する。倍率は有限小数で与えるものとする。
shrink
e) 長方形R を指定して削除する。delete
f) ボード上の長方形をすべて削除する。deleteAll
g) 2 つの長方形R1 とR2 を指定し、R1 とR2 の重なり部分を抽出し、新たな長方
形R3 として配置する。intersect
(2) その他に次の操作を行うことができる。
a) ボードの状態を表示する。displayBoard
ここで「ボードの状態を表示する」とはボード上にあるすべての長方形の属性(幅、
高さ、x 座標、y 座標)を表示するということ。
b) 配置に関する操作を終了する。 exit
(3) ユーザはキーボード(標準入力)から(1)の操作名と必要なデータを入力し、プ
ログラムが結果のボード上のデータ(どの位置にどの長方形が配置されている
か)を標準出力に出力する。このプログラムは以下のように使用することができ
る。
a) ユーザは起動時にボードの大きさ(幅と高さ)を設定する。
b) 起動すると、操作一覧が表示される。
c) ユーザは操作を選択し、要求されるデータを入力する。
d) 操作の実行が終了すると、操作一覧に戻り、exit が実行されるまで操作を選
択することができる。

さらに続きます
705デフォルトの名無しさん:2007/04/16(月) 12:11:03
704の続き

(6) クラス構成に関する条件:
RectangleEditor:mainメソッドをもつクラス
Rectangle:長方形のクラス
Board:長方形を配置するボードのクラス
Command: ユーザからの入力を受け取り、長方形に対する操作を呼び出し、ボー
ドの状態を更新するクラス
標準入力からの入力ならびに標準出力への出力クラスをInput およびOutputと
して、それぞれ以下のインターフェースを実装する。
public interface InputIF {
public abstract double input();
}
public interface OutputIF {
public abstract void write(Board b);
public abstract void write(String s);
}
10 20 30 40 50 60
10
20
30
40
50
60

だそうです・・・この1.2.3.6を今回はやるそうです
よろしくお願いします
706デフォルトの名無しさん:2007/04/16(月) 14:01:55
>>703
>>686を見ろ
707デフォルトの名無しさん:2007/04/16(月) 16:17:09
>>706
同志がいたんですね・・・ご指摘ありがとうございます
708688:2007/04/17(火) 00:39:27
>>699
遅れましたが、ありがとうございました。

if (Math.abs(dx) > Math.abs(dy)) {
for (int x = x1; x != x2; x += sx) {
double y = y1 + (double) dy / dx * (x - x1);
setPixel(g, x, y);
}
} else {
for (int y = y1; y != y2; y += sy) {
double x = x1 + (double) dx / dy * (y - y1);
setPixel(g, x, y);
}

と途中にあったのですが、これが点をひとつずつずらしていっているという作業なのですか?
今までforはfor(int a=0;a<10;a++)のような簡単のものしか扱った事しかないので、
理解に苦しんでいます、
709デフォルトの名無しさん:2007/04/17(火) 01:50:19
>>708
sx(sy)はx1>x2(y1>y2)なら-1、x1<x2(y1<y2)なら1が入ってるから、
x(y)がx1(y1)から始まればx(y)座標を1ずつ変化させて、
最終的にx2(y2)に到達してx!=x2(y!=y2)が不成立となりループが終了する。
710688:2007/04/17(火) 11:52:43
>>709
1の問題を自分なりにわかりやすく解いてみたのですが、線が点線のようになってしまいます。
なにが足りないのでしょうか?
package Ex1;
import java.applet.Applet;
import java.awt.Graphics;
public class level1 extends Applet {
public void paint(Graphics g) {
drawLine1(g, 100, 100, 600, 300);
drawLine2(g, 100, 100, 300, 600);
}
private void drawLine1(Graphics g, int x1, int y1, int x2, int y2) {
for (int y = y1; y < y2; y += 1) {
double x = x1 + (double) (x2 - x1) / (y2 - y1) * (y - y1);
setPixel(g, x, y);
}
}
private void drawLine2(Graphics g, int x1, int y1, int x2, int y2) {
for (int x = x1; x < x2; x += 1) {
double y = y1 + (double) (y2 - y1) / (x2 - x1) * (x - x1);
setPixel(g, x, y);
}
}
private void setPixel(Graphics g, double x, double y) {
g.fillRect((int) x, (int) y, 1, 1);
}
}
711デフォルトの名無しさん:2007/04/17(火) 16:19:34
【 課題 】以下のプログラムを作成せよ。
(1)スタックと演算子順位を使った構文解析により、中置記法の式を後置記法に変換するプログラム。
(オペランドはa〜zの一文字とする)
(2)中置記法の式を後置記法に変換し、スタックを使ってその後置記法の式を計算するプログラム。
(オペランドは整数または実数)

後置記法に変換するアルゴリズム:
 初期設定:スタックに'$'だけを積む
 以下を繰り返す
(1)次の入力記号aiを読む(入力記号がなかったら'$'を読んだことにする)
(2)aiがオペランドなら、それをそのまま出力
(3)aiが'('なら、それをスタックに積む
(4)aiが')'なら、最初に出てくる'('までスタックから降ろす(オペレーターは出力する)
(5)aiが'$'なら、'$'までをスタックから降ろし(オペレーターは出力する)、処理を終了
(6)その他の場合(aiはオペレーター。そのときスタックのトップがbであるとする)
 bがオペレーターでありprec(b)>=prec(ai)である間(precは演算子順位を返す関数)
 bをスタックから下ろして出力する。
 bがオペレーターでないか(bは'('か'$')、prec(b)<prec(ai)なら、aiをスタックに積む

 prec(+)=prec(-)=1
 prec(*)=prec(/)=2

問題の例:
中置記法 a*b+c → 後置記法 ab*c+
中置記法 d-(e+f*g) → 後置記法 defg*+-

【 形態 】1. Javaアプリケーション
【 期限 】4/20(金) 23:00まで
【 Ver  】java version "1.6.0_01"

丸投げですがよろしくお願いします。
712デフォルトの名無しさん:2007/04/17(火) 16:53:07
>>710
惜しい!
drawLine1はy軸を基準に1ドットずつ描画してるだろう。
だけど、引数をみるとx軸の線の方がy軸より長い。
だからdrawLine1はy軸が1増えるたびに、x軸の一定距離の描画をすっぽかしている。
もう答えは分かるだろう。
713688:2007/04/17(火) 20:22:28
>>712
むむ。。。
ならばこういうことでしょうか?
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29327
714712:2007/04/17(火) 22:58:02
>>713
課題はクリアしてるし、これで提出しても最低でも良(優良可不可)、学校によっては優をとってもおかしくないと思う。
でも、線は太くなるだろう。
まだ時間があるなら極めるも良し、このまま寝るも良し。

ただ、さっきのソースの方が今回のソースより惜しかった。
715688:2007/04/17(火) 23:29:18
>>714
ありがとうございます。
とりあえず他の授業のレポートも残っているので、これで切り上げます。
色々とありがとうございました
716デフォルトの名無しさん:2007/04/19(木) 00:00:17
1,2,3,…,nの和・積を表示されるプログラムを作りたいのですが、わかりません。教えて下さい。
たとえば7を入力すると、
1+2+3+4+5+6+7=28
1*2*3*4*5*6*7=5040
という風になります。

【形態】CPad for Java2 SDK
【期限】4月24日午後0時
【補足】計算はできているのですが、1+2+3+…1*2*3*,の部分ができない状態です。
717デフォルトの名無しさん:2007/04/19(木) 00:02:02
718デフォルトの名無しさん:2007/04/19(木) 00:06:33
??
719デフォルトの名無しさん:2007/04/19(木) 00:47:44
>>718
>>1を1文ずつ良く読め。テンプレに従って書け。」ということ
守らないとスルーされるから(−人
720デフォルトの名無しさん:2007/04/19(木) 01:09:49
>>711
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29329
//////////--**++**-- "ファイル名"
で各ファイルに分解してくれ。
設計せずにてきとーに書いたので、かなりいい加減なコードだ。
正しい入力にはたぶん正しく応答すると思うが、
誤り処理の仕様が書かれてなかったので、誤った入力は無視したり例外を投げたりてきとー。
中置記法の式の与え方も書いていなかったので、コマンドライン引数で与える形にした。
(1)の実行はjava InfixNotationTranslator "a*b+c"みたいに。
(2)の実行はjava Calc 1.5+3/2みたいに。
空白文字は無視するし、複数のコマンドライン引数に分けて与えると空白を挿入して連結する。
字句解析器に渡す入力はReaderにしてるので、
入力がファイルとかコンソールとかなら今のStringReaderをそういう入力にすれ。
721デフォルトの名無しさん:2007/04/19(木) 01:34:01
>>716
またおまえか
722688:2007/04/19(木) 21:49:43
【 課題 】
1.レベル1(スクロールバーによる回転)
直線が互いに直行するメッシュ図(碁盤の目の模様)を描画し、スクロールバーにより、メッシュを360度回転せよ。
メッシュは2次元図形でよい。またメッシュの色や数(>4)は任意とする。

2.レベル2(3次元メッシュ)
 メッシュを3次元で描画し、3軸のスクロールバーを用いて3次元で回転する。回転中心はメッシュの中央とする。

3.レベル3(デプスキュー)
 課題2において、z軸の値を輝度(色)と見なしz値が遠方を輝度が弱く、手前を強い映像を描画し、これを3軸のスクロールバーで回転せよ。メッシュは細かくするのが好ましい。

4.レベル4(透視変換)
 課題3のメッシュに透視変換(z値でx、y軸を除算)を加えて描画せよ。

【 形態 】2. Applet

【 期限 】4月3日

【 補足 】
スクロールバーは作れたのですが、メッシュがいまいちわかりません。
直線を組み合わせて作るだろうということはわかるのですが。。。
723デフォルトの名無しさん:2007/04/19(木) 23:41:44
>>722
1本の直線の描き方は分かってきたんだから、
メッシュは線分を複数描けばすむじゃないか。
ところで、これも標準のAPIを使わず自前の直線描画メソッドを使うの?
回転したときの線分の両端の座標の計算はJavaの宿題じゃなくて数学の宿題だな。
座標変換の式を質問者が補足で説明した方がいい。
なんにせよ、しめきりまで少なくともまだ1年近くあるんだし、もう少し自分でがんばれw
724デフォルトの名無しさん:2007/04/20(金) 00:01:11
>>723
あれ?AffineTransform使わないの?
725688:2007/04/20(金) 01:12:56
>>723
ちょww
5月3日ですorz
直線をforループで等間隔に並べていけばおkってことですか?
APIとは?
726デフォルトの名無しさん:2007/04/20(金) 01:34:51
>>724
前回の出題レベルを見るにAffineTransformは使っちゃいけないんじゃないか?
それに3次元に対応できないし。座標変換は自分で書けってことだと思うが、どうよ?>>722
Java3Dとかでも使っていいってこととは思わないんで。

>>725
> 直線をforループで等間隔に並べていけばおkってことですか?
原理的にはそう。
「標準のAPIを使わず自前の直線描画メソッドを使うの?」って聞いたのは、
drawLineとかのJavaで最初から用意されている直線描画用のメソッドは使ってもいいのかどうかってこと。
前回は点を打って直線にするメソッドを自前で作ったから。

標準で用意されたどのメソッドまで許されるのかとかは、AffineTransformは使えないの?とかも含め、
どの程度の縛りがあるのかは授業を受けている人間でないと分からない。
727デフォルトの名無しさん:2007/04/20(金) 12:32:06
>>722
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29330
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29331
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29332
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29333
とりあえず動きそうなものを作ったが正しいかどうか知らんよ。
3,4はアプレットのサイズを大きくすると環境によっては結構重いかも。

1,2では直線描画のメソッドdrawLineは単にGraphicsクラスのdrawLineを呼び出しているだけなので、
もし使用不可なら以前の課題で作成した2次元での線分描画メソッドに変更のこと。

2以降の3次元内での回転は、z=0平面内にメッシュがある最初の状態から始めて、
x軸周りの回転、y軸周りの回転、z軸周りの回転の順序で行った時の状態を表示する。
だから、たとえばy軸周りに90度回した状態でx軸周りに回転すれば、
見かけはz軸周りに回転しているように見えるので注意。

Level1.javaからLevel4.javaまで全てを同時にコンパイルすると、
Point3クラスが重複するって怒られるので、別々にコンパイルのこと。
どれも同じバイトコードを生成するので、コンパイル後のクラスファイルが上書きされるのは問題ないはず。
728688:2007/04/20(金) 20:52:39
>>726
drawlineは前回のものを使うそうです。

それとlength = (width > height ? height : width) / 3;
の?って始めてみたのですが、どういう意味があるのですか?
729デフォルトの名無しさん:2007/04/20(金) 21:15:45
>>728
三項演算子
条件式?値1:値2
条件式の評価結果がtrueなら値1、falseなら値2を返す
値の代わりに処理も記述可能(複雑な処理だと可読性が下がるのであまりお勧めしない)

if〜elseを一行にまとめたようなものとでも思ってくれい
730デフォルトの名無しさん:2007/04/22(日) 00:04:57
【 課題 】
int型の要素を持つsourceを0,2,4,6,....16,18で初期化しint型の配列要素aliasを宣言し、sourceと同じ配列要素を確保する。
aliasにsourceを代入する。 int型の配列変数targetを宣言し、sourceと同じ配列要素数を確保する。
sourceのそれぞれの要素をtargetの要素に繰り返し文によりコピーする。
aliasのそれぞれの要素を10倍する(10倍したものをaliasに代入)しsourceの要素、targetの要素をそれぞれ表示


【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】提出期限は月曜です。
【 補足 】 プログラムは作って、コンパイルは出来るように なったんですが、表示が上手くできません
class FirstClass04{
public static void main(String args[]) {
int source[]={0,2,4,6,8,10,12,14,16,18};
int alias[]= new int[10];
alias=source;
int target[]=new int[10];
for(int i=0; i<10; i++) {
target[i]=source[i]; }
for(int j=0; j<10; j++) {
alias[ j]=alias[ j]*10; }
System.out.println("sourceの要素");
for(int g=0; g<10; g++) {
System.out.println("source[ j]"); }
System.out.println("targetの要素");
for(int k=0; k<10; k++) {
System.out.println("target[i]");
}}}


731デフォルトの名無しさん:2007/04/22(日) 00:32:21
System.out.println("source["+j+"]="+source[j]);
面倒だから読んでないんだがjでいいのか?
732デフォルトの名無しさん:2007/04/22(日) 01:54:43
>>730
System.out.printlnで表示するときに""で囲むのは囲まれたものを文字そのものとして表示するとき
変数の内容を表示するときは""で囲わずそのまま書く

public class FirstClass04 {
public static void main(String[] args) {
int[] source = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18};
int[] alias = new int[source.length];
alias = source;
int[] target = new int[source.length];
for (int i = 0; i < source.length; i++) target[i] = source[i];
for (int j = 0; j < alias.length; j++) alias[j] = alias[j] * 10;
System.out.println("sourceの要素");
for (int g = 0; g < source.length; g++) System.out.println(source[g]);
System.out.println("targetの要素");
for(int k = 0; k < target.length; k++) System.out.println(target[k]);
}
}
733デフォルトの名無しさん:2007/04/22(日) 14:24:38
【 課題 】オセロの盤面を作成せよ《必須》
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】2. Swing
【 期限 】2007/4/22
【 Ver  】java version "1.5.0_10"
【 補足 】以下のソースのプログラムを起動したときにオセロの盤面が表示されません。
      フレームを最大化などにすると、ようやく表示されます。
      コンポーネントの作成順序が間違っているのでしょうか?
734733:2007/04/22(日) 14:29:18
以下がコンポーネントを作成しているメソッドになります。

public void init_view(){

cnt = getContentPane();
cnt.setLayout(new BorderLayout());
JPanel jp[] = new JPanel[2];
jp[0] = new JPanel(new GridLayout(8,8));
jp[1] = new JPanel(new FlowLayout());
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
jl[i][j] = new JLabel();
jl[i][j].setBorder(new LineBorder(Color.black,3));
jp[0].add(jl[i][j]);
}
}
jb[0] = new JButton("PASS");
jb[1] = new JButton("EXIT");
jb[2] = new JButton("RESET");
jp[1].add(jb[0]);
jp[1].add(jb[1]);
jp[1].add(jb[2]);
jp[0].setBackground(Color.green);
jp[1].setBackground(Color.black);
cnt.add(jp[0],BorderLayout.CENTER);
cnt.add(jp[1],BorderLayout.SOUTH);
}
735デフォルトの名無しさん:2007/04/22(日) 16:54:23
>>733
setBounds
736デフォルトの名無しさん:2007/04/22(日) 18:39:45
【 課題 】 複素数のクラス(Complex)を考える.複素数は「もの」として考えると,
実部の値と虚部の値という性質を持つ必要があり,実部や虚部の値を取り出す機
能が最低限必要である.

コンストラクタ:
実部と虚部を引数として初期化

フィールド:
実部の値及び虚部の値を持つために,realNum 及び imagNum を用意

メソッド:
toString()メソッドは,「2.3+4.2i」等と表示を行うためのメソッド(詳細は次週)
getReal()メソッドは,複素数の実部の値を返す
getImaginary()メソッドは,複素数の虚部の値を返す

以下の SecondClass01.java を完成して,実行しなさい.

【形態】1. Javaアプリケーション(main()で開始)
【 期限 】2007/4/23まで


737デフォルトの名無しさん:2007/04/22(日) 18:41:04
これが問題です。
class SecondClass01{
public static void main(String args[]){
Complex complex01 = new Complex(2.5, 4);
Complex complex02 = new Complex(4, -2);
System.out.println("The first complex = " + complex01);
System.out.println("The second complex = " + complex02);
System.out.println("Re(" + complex01 + ") = " + complex01.getReal());
System.out.println("Im(" + complex01 + ") = " + complex01.getImaginary());
}}
class Complex {
double realPart;
double imagPart;
public Complex(double r, double i){
realPart = r;
imagPart = i;}
public double getReal(){
// ここを完成させる}
public double getImaginary(){
// ここを完成させる }
public String toString(){
StringBuffer sb = new StringBuffer().append(realPart);
if (imagPart >= 0.0)
sb.append('+');
return sb.append(imagPart).append('i').toString();
}}
738デフォルトの名無しさん:2007/04/22(日) 18:47:22
732の方ありがとうございました。
【 課題 】
730と同じ問題で、実行後どうしてそのような表示結果が得られるかを
変数の参照方法などに注意して詳しく説明しなさい.
【 期限 】明日までです
739デフォルトの名無しさん:2007/04/22(日) 19:18:25
ソースを一行ずつみていって、メモリへの格納内容を見ていけばいいんじゃない?
740デフォルトの名無しさん:2007/04/22(日) 19:21:17
>>736-737
そこまで提示されて何故自力でやろうとしないのか...
741733:2007/04/22(日) 19:54:51
>>735
setBoundsでもうまく行きません。
お願いします。今日中にやらないと間に合いません。
742デフォルトの名無しさん:2007/04/22(日) 20:37:21
今日中?朝マックまで12時間はあるだろ?
743デフォルトの名無しさん:2007/04/22(日) 21:51:10
>>741
普通に描画されるぞ?
744デフォルトの名無しさん:2007/04/22(日) 22:19:46
>>733の言ってる事って、ウインドウ出るけど描画されない
(うちだとされる時もある)って事?
それ、俺もあるわw
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29336
原因分かる方俺にも教えてって事で。

>>736
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29338
これでいいの?いいのか?w
2つ目の複素数を出力しないのも気になったんでそれも追加w
745デフォルトの名無しさん:2007/04/22(日) 22:53:02
>>744
setVisibleを最後にもってきたらちゃんと表示された
746デフォルトの名無しさん:2007/04/22(日) 23:32:44
そりゃそうだろうな
747デフォルトの名無しさん:2007/04/23(月) 01:35:43
激しくすれ違いなんだが、

次の2の補数表現で表された2進数を10進数を直せ。
0111 1111 1111 1111 1111 1101 0011 0011
748デフォルトの名無しさん:2007/04/23(月) 01:47:41
>>747
2147482931
749デフォルトの名無しさん:2007/04/23(月) 02:03:40
>>748
1111 1111 1111 1111 1111 1101 0011 0011
750デフォルトの名無しさん:2007/04/23(月) 03:09:17
>>747
最上位ビットが0ってのが,いまいち解せんのですが
33ビットの二進数だと考えて、つまり

   1 0111 1111 1111 1111 1111 1101 0011 0011
  ↑
 ここに符号があって、値部分を32ビットで表現してる

ものだと解釈すれば、それを10進数で表現したものは
   -2147484365
になると思います。

一方、>>749さんのように解釈し、「2の補数なので符
号ビット部分は1だけど、>>747では符号ビットを除い
て示した(ただしつい最上位ビットも0と書いてしまった)
のだと見れば、それを10進数で表現したものは
    -717
じゃないでしょうか。

しかし、ここはJavaスレですし、Javaらしく「intは符号
付き32ビット」と考えれば>>747の数値は正の値という
ことになり >>748にあるように、10進数での表現は
   2147482931
だと思います。
751デフォルトの名無しさん:2007/04/23(月) 13:16:07
どれが正解かわかんねw
752デフォルトの名無しさん:2007/04/23(月) 19:37:09
>>751
まあ問題文の日本語の助詞からして狂ってるから
分かるわけないな。
753デフォルトの名無しさん:2007/04/23(月) 22:27:31
重い課題投下してもいいでしょうか・・・

【 課題 】フレーム上で画像を選択して読み込み、その画像を閾値(しきいち)をつかって二値化するプログラムを作成せよ。
まずフレームのメニューから画像を読み込み、さらにメニューから閾値を入力するダイアログを表示させる。
そのなかに用意したテキストボックスに閾値を入力して決定すると、あらたなフレームに二値化された画像が表示される。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ(フレームを使う)
【 期限 】4月25日(水)午後5:30迄
【 Ver  】java version "1.5.0_11"
【 用語 】
●閾値(しきいち)
閾値というのは各画素の明るさをあらわす一定の基準値であり、
画像の各画素値が0〜255の濃度で表されるため、これを閾値の範囲として定める。

●二値化
二値化とはこの場合前述の閾値を使って、画像を黒と白の二つの値に変換することである。
例えば閾値100であるならば濃度値100以上は黒それ以下は白というように。
※モノクロ画像に変換するということではない。

【 補足 】全然わかりづらいと思うので、ペイントで書いてみました。
http://www.uploda.org/uporg785109.png
たくさん数式が必要なんでしょうけどわかりません;
プログラム上でRGBにマスク?をかけてモノクロ画像にしてから濃度値を取り、
二値処理を行うってことでいいんでしょうか。全然的外れなこと言ってたらごめんなさい;
ここまでの少ない情報量で作れるかたいらっしゃらないでしょうか?
どうかよろしくお願いします。
754デフォルトの名無しさん:2007/04/23(月) 22:58:34
RGBから明るさへはjava.awt.Color.RGBtoHSBで変換できるので、
そこからB成分だけ貰えばいい。
755デフォルトの名無しさん:2007/04/23(月) 22:59:29
訂正 →HSB表現に変換できるので

UI作るのめんどうなのでヒントだけ。
756デフォルトの名無しさん:2007/04/23(月) 23:01:36
>>755
ありがとうございます。
自分でも頑張ってみます。
757デフォルトの名無しさん:2007/04/24(火) 06:52:02
>>756
いやここは俺がやるわ
758デフォルトの名無しさん:2007/04/24(火) 06:52:46
>>757
いーや、俺がやるね!
759デフォルトの名無しさん:2007/04/24(火) 06:53:15
>>758
いやいや、俺が
760デフォルトの名無しさん:2007/04/24(火) 06:53:22
>>758
どうぞどうぞ
761デフォルトの名無しさん:2007/04/24(火) 06:53:24
>>758
いやいや、俺の方が
762デフォルトの名無しさん:2007/04/24(火) 06:53:50
じゃあ俺がやるよ!!!
763デフォルトの名無しさん:2007/04/24(火) 06:53:50
>>761
ここは俺がいくよ
764デフォルトの名無しさん:2007/04/24(火) 06:54:17
・・・俺もやろうかな
765デフォルトの名無しさん:2007/04/24(火) 06:54:49
>>764
どうぞどうぞ
766デフォルトの名無しさん:2007/04/24(火) 06:55:03
>>764
どうぞどうぞ
767デフォルトの名無しさん:2007/04/24(火) 06:55:12
>>764
どうぞどうぞ
768デフォルトの名無しさん:2007/04/24(火) 06:55:20
>>764
どうぞどうぞ!
769デフォルトの名無しさん:2007/04/24(火) 06:55:33
>>764
どうぞどうぞ
770デフォルトの名無しさん:2007/04/24(火) 06:55:59
>>764
どうぞどうぞ
771デフォルトの名無しさん:2007/04/24(火) 06:56:19
>>764
どうぞどうぞ
772デフォルトの名無しさん:2007/04/24(火) 06:56:29
>>764
どうぞどうぞ
773デフォルトの名無しさん:2007/04/24(火) 06:56:56
>>764
どうぞどうぞ
774デフォルトの名無しさん:2007/04/24(火) 06:57:57
>>764
どうぞどうぞ
775デフォルトの名無しさん:2007/04/24(火) 07:19:04
>>764
どうぞどうぞ
776デフォルトの名無しさん:2007/04/24(火) 07:48:59
>>764
どうぞどうぞ
777デフォルトの名無しさん:2007/04/24(火) 10:03:05
>>764
どうぞどうぞ
778デフォルトの名無しさん:2007/04/24(火) 10:16:25
>>764
どうぞどうぞ
779デフォルトの名無しさん:2007/04/24(火) 10:34:36
>>753
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29345
「明るさ」がHSBの明度なのかHLS等の輝度なのか分からないので、
ソースはHSBの方で書いておいて、その下に輝度での明るさの計算をコメントアウトしてある。
どちらでもお好きなように。極端な画像でなければ差はあまりないと思うが。
HSBの明度は>>754のやり方でもいいけど、単にRGBのうちの最大値が明度になるので、
明度だけ求めるのなら、RGBの3値の大きさを比較する式だけですむ。
閾値で変なものを入れたらてきとーに値を設定する。
明るさが閾値以下なら黒、閾値より大きければ白。
見えている全てのフレームを閉じると終了。
エラーとかは気にしないてきとーな造り。
780753:2007/04/24(火) 18:39:48
>>779
うおおおおおおおおおおおおおっ!!!!!!!
ありがとうございます!!!動作確認しました!
すげええええ!今感動でちょっと泣いてますマジで。
完璧です。
てきとーだなんてとんでもない。
細かいとこに気遣いを感じるプログラムですよ!
俺のプログラムなんて元画像の大きさに合わせてフレームの大きさ変えることすら出来ないんですもん。
俺の説明不足なのにコメントまでつけていただいて・・・

さっき帰宅したものですから、
お返事が遅れてしまって申し訳ありませんでした。
本当にありがとうございました。恩に着ます;;
781デフォルトの名無しさん:2007/04/24(火) 21:24:10
流れ嫁よ糞が
782753:2007/04/24(火) 22:15:30
>>757からの流れには、俺もこれはもうだめかな・・と思ったね。
プログラム板あなどりがたし。
783デフォルトの名無しさん:2007/04/24(火) 22:17:07
朝の10時から暇な奴だな
784デフォルトの名無しさん:2007/04/24(火) 22:47:08
鈴木高弘は火曜晩は暇なのか?
毎週火曜日晩になると無茶な暴れ方をするな。
785688:2007/04/25(水) 00:22:03
>>727
亀レスですが、g.drawlineつかってよいそうです
うpしてもらったのを参考に自分なりに作り直しているのですが、直接座標指定(100とか200)
してしまうと回転はしなくなってしまうのですか?
回転しなくてあせってます泣
786688:2007/04/25(水) 01:08:04
逆に数値を指定しないと、画面にメッシュが表示されません。。。
787デフォルトの名無しさん:2007/04/25(水) 03:18:24
作り直したものも示さずに誰が答えられるんだ?
お前の頭の中はオープンソースなのか?
ソースを出したからといって答えてくれるとも限らんが
例えばLevel1
public void paint(Graphics g) {
Point p1 = rotateZ(50, 200);
Point p2 = rotateZ(250, 200);
drawLine(g, p1.x, p1.y, p2.x, p2.y);//(50,200)-(250,200)を回転した線
p1 = rotateZ(100, 50);
p2 = rotateZ(100, 250);
drawLine(g, p1.x, p1.y, p2.x, p2.y);//(100,50)-(100,250)を回転した線
}
アプレットのサイズは線が見える程度はないと当然見えんよ
788デフォルトの名無しさん:2007/04/25(水) 23:50:56
この問題昔やったな・・・。
789688:2007/04/26(木) 00:52:20
>>787
なんとかできました。
ありがとうございます。

参考にしながらlevel3まで来たのですが、少々複雑になってきたので、g.drawlineを使った場合
を教えていただけないでしょうか?
790デフォルトの名無しさん:2007/04/26(木) 03:34:49
>>789
せっかく直線描画ルーチンを実装したのに、面倒な方向が好きなやつだね。
Level3,4をどうしてもGraphics#drawLineで描画したいっていうのなら、
zL,zHを、z<=zLで黒(最小輝度)、z>=zHで白(最大輝度)になるようなz座標の値として、
Foo3CanvasやFoo4Canvasの
private void drawLine(Graphics g, int x1, int y1, int z1, int x2, int y2, int z2)
の中身を、
点(x1,y1,z1)と点(x2,y2,z2)を通る直線と、平面z=zLとの交点(Px,Py,zL)、平面z=zHとの交点(Qx,Qy,zH)を求めて、
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(new GradientPaint(Px, Py, Color.black, Qx, Qy, Color.white));
g2.drawLine(x1, y1, x2, y2);
で線分を描画するようにすれば、できるような気がする。
z=zLやz=zHに平行な直線の時は交点が求められないけれど、
このときは直線全体が同じz座標の値だから、その値に応じた色をsetColorして単一色の線分を描くだけ。
これで、setPixelとsetLuminanceが不要になる他は変更せずにすむ。
z座標と各点の色との対応関係はGradientPaintによるグラデーション描画の実装に依存するけれど。

まあsetPixel内でfillRectでピクセルを塗るかわりに、
Graphics#drawLineで一点だけの直線を引いてもGraphics#drawLineを使ったことにはなるね。
791688:2007/04/26(木) 10:40:47
>>790
詳しくありがとうございます。
まだイロイロと聞きたいことあり、聞きたいのですが、ここに自分の晒すと
同じ学校のほかの生徒がコピペしてしまうかもしれないので、もしよかったらメールで教えていただけませんか?
[email protected]
792デフォルトの名無しさん:2007/04/27(金) 08:21:15
>>791
アダルトサイトに登録しておいた。

っていうのはジョークとして、おまいの専属家庭教師になれと?


お  断  り  だ  。
793688:2007/04/27(金) 09:03:50
>>792
そうですか。。
せめて、うpしたのを添削してほしかったわけですが。。。
794デフォルトの名無しさん:2007/04/27(金) 09:06:01
>>793
ネタじゃなかったのか。馬鹿だなお前さん。
795デフォルトの名無しさん:2007/04/27(金) 10:11:31
>>793
添削って、、、それをするのが学校だろw
796デフォルトの名無しさん:2007/04/27(金) 14:26:27
池戸さん怒るぞ
797デフォルトの名無しさん:2007/04/27(金) 14:55:11
>>796
  ( ^ω^) …
  (⊃⊂)







⊂(^ω^)⊃ セフセフ!!
 ミ⊃⊂彡
798デフォルトの名無しさん:2007/04/27(金) 15:48:13
法政…?いやまさかな
799デフォルトの名無しさん:2007/04/27(金) 19:56:56
>>791
ここに投げたこと自体はまあアレなんだが、
出てきたものを自分なりに咀嚼して再構築しようとしているのはいいことだと思って付き合っただけで、
ひとが晒したソースを自分が参照するのはよしとするが、
自分のソースがひとに参照されるのは気に入らんなどという二重基準な方針には付き合わんよ。
このスレはソースが出てくれば幸運、アフターサービスはレアケースくらいの感じだ。
せっかく学校に授業料を払ってるんだから疑問は先生に聞いて解決しる。
800デフォルトの名無しさん:2007/04/27(金) 20:20:58
【 課題 】
フィボナッチの数列は以下の漸化式で表される。
f1 = 1, f2 = 1
fi = fi-1 + fi-2 (i >= 3)
f1 から f10 を計算し表示せよ。さらにその和を求めよ。
またプログラム作成にはWhile 文を使え。

【 形態 】1. Javaアプリケーション(main()で開始)    
【 GUI  】4. 制限なし
【 期限 】 2007/04/29 PM01:00 まで
【 Ver  】java version "1.5.0_11"
【 用語 】特になし
【 補足 】丸投げです。よろしくお願いします。
801デフォルトの名無しさん:2007/04/27(金) 20:54:42
>>800
public class Fibonacci{
public static void main(String[] args){
int[] f=new int[11];
int i,sum;
sum=0;
i=1;
while(i<=10){
if(i>=3){
f[i]=f[i-1]+f[i-2];
}else{
f[i]=1;
}
System.out.println("f(" + i + ")=" + f[i]);
sum+=f[i];
i++;
}
System.out.println("フィボナッチ数の合計 = " + sum);
}
}
802デフォルトの名無しさん:2007/04/27(金) 21:28:13
>>801
こんなに早くありがとうございます。
非常に助かりました。
803デフォルトの名無しさん:2007/04/29(日) 05:26:18
【 課題 】リマソンの描画
【 形態 】Applet
【 GUI  】制限なし
【 期限 】来週の月曜日まで
【 Ver  】java version "1.6.0"
【 補足 】丸投げです。静止画でいいんでよろしくお願いします。
804デフォルトの名無しさん:2007/04/29(日) 07:15:31
r=b+acosθ
* a=bのとき「カージオイド」

これ数1じゃないか?
805デフォルトの名無しさん:2007/04/29(日) 09:58:42
【 課題 】重複しない配列を作れ
【 形態 】Javaアプリケーション(main()で開始
【 GUI  】制限
【 期限 】火曜日
【 Ver  】
【 補足 】
※要素が重複しない一つの配列を作れではありません。
要素が重複しないn!個の配列を列挙する問題です。
たとえば要素数が3なら
{1,2,3},{1,3,2},{2,1,3},{2,3,1},{3,1,2},{3,2,1}
を表示したいわけです。nは比較的小さな数(n<8くらいまで)で計算量が膨大にならない程度でかまわいません。
806デフォルトの名無しさん:2007/04/29(日) 15:40:14
>>803
r=b+a*cosθ :a=100,b=50のグラフを表示するApplet
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29352
Applet初体験&数学苦手なんで変なところや間違いが有っても許して
807デフォルトの名無しさん:2007/04/29(日) 18:23:21
>>805
圧縮したので少しパスタ
public class Main {
public static void main(String[] args) {
int n = 4; //要素数.設定方法は任す
int[] a = new int[n];
for (int i=0; i<n; i++) a[i] = i+1;
while (true) {
System.out.print("{ ");
for (int i=0; i<n; i++) System.out.print(a[i]+" ");
System.out.println("}");
int k=n-2, l=n-1, w;
while (k>=0 && a[k]>a[k+1]) k--;
if (k<0) break;
while (a[k]>a[l]) l--;
w = a[k]; a[k] = a[l]; a[l] = w;
l=n;
while (++k<--l) {
w = a[k]; a[k] = a[l]; a[l] = w;
}
}
}
}
808デフォルトの名無しさん:2007/04/29(日) 21:33:16
                        , '"´    ̄` 、 /Z
      ___,. --- .             / /   イ i  ヽ   ヾイ
   ,.-‐'´   ,   ヽ.          .' 〃 /||!|. l   .い
.  /亅  ノ /     ト、         i i./|/  !ハl i| | iト′
  { {  / 〈.   /  ! \_ ,r┐  | ルfホ.  l!≦小!  ! リ
.  ヽヽ ヽ ___、__,⊥  }  |i ヽ_l  l | tリ ,   {tリ !  !v
   ヽゝ{__     _/   !!  `ヽ.| l、  r‐‐、 `゜ | /ノ
     `¨ぃこヱ孑'         ぃ| !ヽ._  ノ  ,..|v'´ ぱんち
        `ー―---‐、¬¬-、_  / ,'ー-、_、Z¨´_}}|(う、
              冫こ__ラーV /|   } } ̄ !厂フ′
809805:2007/04/30(月) 02:30:27
>>807
ありがとうございました。こんな質問にも答えてくださって感謝です。
810デフォルトの名無しさん:2007/04/30(月) 19:57:59
【 課題 】class SquareCode {
public int area(String tmpWidth, String tmpHeight){
int width = Integer.parseInt(tmpWidth);
int height = Integer.parseInt(tmpHeight);
int answer = width * height;
return answer;
}
}

上記のSquareCodeクラスを継承して、更にarea()メソッドをオーバーライドした
TriangleCodeクラスを定義して下さい。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】5月1日
【 Ver  】java -version"1.4.2"
【 補足 】諸事情により動作確認は明日の夜になりそうです。
811デフォルトの名無しさん:2007/04/30(月) 20:06:52
                    ,. --―…、
                  /    /:. \
                ./    /::::::::::. ヽ
                ‘ー--一'´ \:::::::.  ',
                        ヽ:::::.  !
            /⌒丶   ,. .-.''.´ . .',::::  |` 丶、
           /    !:::::..\/ . . . . . \.L__ l. . . \
           |   |――/. /、 . . . . . . .ヽ . ヽ . . . .ヽ
           |   j  /. ./ \.ヽ . . . . .'., . . . . . . .',
           |   /  |. . l   \_. . . . ',. . . . . . ..|
           |  /   |:.._l     ´\ . . . . !. . . . . . .|
           l   /   .|´.l _     ,r7jヽ,. .:.r ‐、 . . ...|
           |_,ノ    |. .!イト、    弋:ソ!. ..|  〉 . .:.|
                 |.小 ヾ'    , , , |:!. |! イ. . . ..|
                 |. |..ハ'''        |リ!.|l . !. . . . |
                 |. | |. ヽ、,-_ _ -' ''|.!ヽ.|:.. . . .|
                 |. | |! . . ._ -'     |l  ヽ:.:. . .|
                 |._| > ''         |!   ', . ...|
            __r‐'7 ̄!.               !:. .:.|
       ,r=―フ/  |  |     _ ,, --      !:. .:.|
      /__/   |   l  l  _. - '          /l. . .|
  _r''厂\     !   ! l ''            / !i . !
 //     \    |   !:人              /  i i:リ
./|    ヽ_        ヽ!个‐'           /    i i
| .!       \    __/l /             /
∨\       /   /_l /            /
. |  \rへ _/ヽー '   ∨          /
812デフォルトの名無しさん:2007/04/30(月) 20:51:48
>>810
コード見ても何したいのかさっぱりわかんねw
Triangleだと引数足りないからオーバーライドは無理じゃね?w
813デフォルトの名無しさん:2007/04/30(月) 21:06:15
>>812
簡単に高さ×底辺/2で三角形の面積を出すように、再定義するだけなら、ひきすうは十分でない?
?な所も有るけど気にするだけ無駄ですよ。
>>810
public class TriangleCode extends SquareCode{
public int area(String tmpWidth, String tmpHeight){ 
int width = Integer.parseInt(tmpWidth); 
int height = Integer.parseInt(tmpHeight); 
int answer = width * height/2; 
return answer; 


814潮吹きたい人この指留まれ〜♪:2007/04/30(月) 21:58:47
all-inone-eclipse でjava練習中ですが
for 文で無限ループになりました。
eclipseでデバッグではなく実行で走っていますが
アプリをどうやって終わらせてるのでしょうか?
eclipse自体はキー入力とかできますが
これってアプリ単独で終了はできないですか?
eclipseごと終了ですか?
今動いていますが、javaw.exeのメモリが増えていますが
だれか〜〜 おせ〜て
おせ〜〜てくれくれ君です
返事が早いか、どこかで異常終了するのが早いか
寝てしまうかか。。。
815デフォルトの名無しさん:2007/04/30(月) 22:27:13
開発やめたら早いよ
816デフォルトの名無しさん:2007/04/30(月) 22:36:53
>>814
コンソールを表示しているペインに赤い×印のボタンはないかね?
817デフォルトの名無しさん:2007/04/30(月) 22:52:17
スレ違いなやつを相手にするなって
精々誘導するぐらいにしとかないとノイズが増えるぞ
818デフォルトの名無しさん:2007/04/30(月) 23:00:09
【 課題 】2進数を10進数に変換するプログラムを作れ。 
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】4. 制限なし
       《GUIの課題の場合必ず選択》
【 期限 】期限ナシ。
【 補足 】Java初心者の自分でやってみようと思った課題です。
      とりあえず、1101と具体的な数字を10進数に直そうと思いました。
      自分なりに作ってみました。ですが、実行してみると、733になってしまいました。
      ドコが問題でしょうか?どなたか、初心者に優しい解説をヨロシクお願いします。

public static void main(String[] args) {

String x = "1101";       //2進数を文字列として入力
int a[] = new int [4];     //配列は4つ
double y = 0;


for(char i=0; i<4; i++){
   a[i] = x.charAt(i);    //配列a[i]に一つずつ2進数の各位を代入する

   y = (double)(y + a[i]*(Math.pow(2, (3-i))));

}

    System.out.println(y);

}
819潮吹きたい人この指留まれ〜♪:2007/04/30(月) 23:06:13
814です
放置していたらwindowsが重くなって制御できなくなってきたので
eclipseごと落しました。

>>815,816 さんありがとうございます
なにしろポンコツプログラマですので。JAVAできるかな。。。
>コンソールを表示しているペインに赤い×印のボタンはないかね?
ありがとうございます。
再実行させて、×押すとアプリが終了しました。

for ループ内でprint文入れてましたから、Ctrl+C相当なのですね

では、と言うわけで print 文コメント化して実行させましたら
X入力がききません。またwindowsXPがめっちゃ重くなって
javaw.exe がcpu 食っていますが。。。
これはどうやってとめるんだろうか。。。
教えてくれくれ君ですが
教えて〜〜〜
820デフォルトの名無しさん:2007/04/30(月) 23:27:18
a[i]に入ってるのはchar(文字コード)であって数値ではない。

関係ないけど、一度ずつしか使ってないし配列に入れる意味ないよ。
821デフォルトの名無しさん:2007/04/30(月) 23:28:49
>>818
いろいろ直したいプログラムですが、とりあえずドコが問題かといえば

   a[i] = x.charAt(i);    //配列a[i]に一つずつ2進数の各位を代入する

この行です。このであなたがやりたいと思っていることは、たぶん

   a[i] = x.charAt(i) - '0';

という処理だと思います。
822デフォルトの名無しさん:2007/04/30(月) 23:34:37
>>813
どうせ変な問題だし回答も変な方がいいんじゃまいか?
public class TriangleCode extends SquareCode {
public int area(String tmpWidth, String tmpHeight) {
return super.area(tmpWidth, tmpHeight) / 2;
}
}
とか
823デフォルトの名無しさん:2007/04/30(月) 23:36:48
【 課題 】
ガソリン使用量や走行距離に着目して, 自動車の振る舞いを模倣するクラス Car をプログラミングせよ. Carが主たる機能(メソッド)は以下の通りである.
● int fuel(int x) 自動車にあるxリットルの燃料を給油を 試みることができる. タンクの量は有限(簡単のためタンク容量は30リットルに固定)なので, 実際に給油できるのはxリットル以下で, その量が返り値として得られる.
● int odometer() 自動車にその時点での走行距離(キロメートル)を問い合わせることができる.
● void efficiency(int x) 自動車の燃費を設定することができる(xキロメートル/リットル). 燃費は正整数の値を必ずインスタンス毎に設定すること.
● int drive(int x) 自動車をxキロメートル運転することを試みる. 燃料残量によって実際に運転できる距離は変わる. 実際に運転できた距離は返り値として返される.
【 形態 】1. Javaアプリケーション(main()で開始)/
【 GUI  】1. AWTのみ/2. Swing/3. SWT/4. 制限なし/ 5. その他(明記すること)
       《GUIの課題の場合必ず選択》
【 期限 】5月3日までにお願いします。
【 Ver  】java version "1.4.2_12"
824デフォルトの名無しさん:2007/04/30(月) 23:37:40
Carクラスのmainメソッドは以下のような内容にして, このクラスの振る舞いが正しいか否かの動作チェックをせよ.

// Carクラスの振る舞いのテスト
public static void main(String[] args) {
Car sedan=new Car();
Car wagon=new Car();
sedan.efficiency(20); // セダンならリッター20キロ
wagon.efficiency(9); // ワゴンは9キロしか走れない

sedan.fuel(50); // 双方,50リットル給油しようと試みるが,実際には30しか入らない
wagon.fuel(50);

sedan.drive(100); // 100キロ走ろうとする
System.out.println(sedan.odometer()); // 実際,走れた距離を表示
sedan.drive(200); // 200キロ走ろうとする
System.out.println(sedan.odometer()); // 実際,走れた距離を表示

wagon.drive(100); // 100キロ走ろうとする
System.out.println(sedan.odometer()); // 実際,走れた距離を表示
wagon.drive(200); // 200キロ走ろうとする
System.out.println(sedan.odometer()); // 実際,走れた距離を表示
}

よろしくお願いします。
825810:2007/04/30(月) 23:39:10
>>812-813 >>822
早い回答をありがとうございます。
826デフォルトの名無しさん:2007/04/30(月) 23:43:45
>>820
ご回答ありがとうございます。
確かに一度しか使っていないので配列使う必要ないですね。
配列を使わない場合、

     y = (double)(y + x.charAt(i)*(Math.pow(2, (3-i))));

みたいに書けば、配列必要ないですね。非常に勉強になりました。ありがとうございます。
ただ、この場合も結果は733になってしまいますが・・・
charをintに変えるには、

(int)(x.charAt(i))

みたいにするんですか?実行してみても結果は変わらなかったのですが・・・
文字列を数字として認識させるにはどうしたらいいのでしょうか?

>>821
ご回答ありがとうございます。
突っ込みどころ満載のプログラムですよね・・・orz
確かに、821さんのようにプログラムを書き換えると正しい答えが出ました。
非常に勉強になります。ありがとうございます。
ただ、

  a[i] = x.charAt(i) - '0'

の意味が分からないのですが、どういう意味でしょうか?
「xのi番目の数から0を引いた数をa[i]に代入する」
といった意味でしょうか?

かなりの初心者なモノで、質問ばかりで申し訳ないです。
827デフォルトの名無しさん:2007/04/30(月) 23:51:51
>>826
どちらかというと質問スレ向けっぽい気もするけど

a[i] = x.charAt(i) - '0';
は各文字コードと'0'との差を取る意味
javaで使ってる文字コードは'0','1','2'...の順序に並んでいるので
数字と'0'との差を取ると数になる

(int)(x.charAt(i)) は文字コードをint型に変換しているだけなので'0'が0になるわけではない

a[i] = Character.getNumericValue(x.charAt(i));
てのもあるのでAPIドキュメントを見てみるのもいい
828デフォルトの名無しさん:2007/04/30(月) 23:56:10
>>827
ご回答ありがとうございました。
何となくですが、分かったかもしれないです。
非常に助かりました。ありがとうございます。


スレ違いで申し訳ないです。
でも、非常に勉強になりました。
ありがとうございました。
829827:2007/04/30(月) 23:58:54
ごめん
a[i] = Character.digit(x.charAt(i), 10);
でもいいや

>>828
ソースがほとんどできあがっていて
思い通りに動かない原因が特定できないくらいなら
質問スレで聞いても十分だと思う
そのときは宿題とか課題とかは伏せておいたほうが無難かも
830デフォルトの名無しさん:2007/05/01(火) 00:06:06
>>829
分かりました。
これからは、質問スレで聞いてみようと思います。
本当にお手上げな学校の課題が出た場合は、
こちらのスレも利用するかもしれないので、
その際はヨロシクお願いします。

ありがとうございました。
831wwww:2007/05/01(火) 00:32:02
仮想化とは対象物を不完全ながらもその性質や姿を模倣し現出させることだ。
対して抽象化は、対象物のある特徴的な側面を抽出し概念化することだ。
仮想化で抽象化の技術が使われることはあるだろうが、その逆は考え難い。
コンピュータを使い、扇風機やコタツを抽象化することはできても、仮想化する
ことはできないのだ。少なくとも今の技術では無理だ。コンピュータがその姿形
を変えることはできないのだから。コンピュータが仮想化できるものは、コンピュー
タそのものが直接扱うものだけだ。例えば、仮想メモリ、仮想ネットワーク、仮想
マシン、仮想キーボードといったものだ。

抽象化した結果表現されるものは、設計者が想定した概念やイメージだ。しかし、
実在するものそのものではなく、人が考えたものであるために、このイメージは
非常に脆く、不安定だ。外部からの影響をもろに受け、形を変え易い。個々人が
持つイメージの些細な相違から認識のずれが生じ易い。扇風機の使い方は人に
よって異なることはないが、人がイメージしたものは、その生成から、破棄に至る
まで、非常に不安定な状態になり易い。それを防ぐには、イメージそのものをなる
べく強固なものにし、インターフェースに一貫性と整合性をもたせ、外因による影響
を受けに難くく、壊れ難くするための技術を見につけ、理解を深めておくしかない。
832デフォルトの名無しさん:2007/05/01(火) 01:13:19
>>823
public class Car{
final int fullFuel=30;
private int tank=0,mileage=0,run=0;

public int fuel(int x){
int empty=fullFuel-tank;
if(empty>x){tank+=x;return x;}
tank=fullFuel;return empty;
}

public int odometer(){return run;}

public void efficiency(int x){mileage=x;}

public int drive(int x){
int ad=tank*mileage;
if(ad>x){tank=tank-x/mileage;run+=x;return x;}
tank=0;run+=ad;return ad;
}
}
833潮吹きたい人この指留まれ〜♪:2007/05/01(火) 09:33:51
>>817
すまません、どこかに誘導してください〜〜♪
ちなみに、タスクマネジャーからjavaw.exeの
プライオリティを下げると、
eclipseの操作がなんとかできますね。。。
834デフォルトの名無しさん:2007/05/01(火) 10:18:24
天国に行ってこい!
835潮吹きたい人この指留まれ〜♪:2007/05/01(火) 10:41:19
塩吹いて〜♪ あ、極楽極楽www ねっちょりちんぽが欲しい〜〜www
836デフォルトの名無しさん:2007/05/01(火) 10:45:33
売ってるよ
837初心者:2007/05/02(水) 15:46:57
【 課題 】一文字入力し、大文字A〜Zならば”大文字”と、小文字a〜zならば”小文字”と表示させよ。
【 形態 】Javaアプリケーション
【 GUI  】制限なし
【 期限 】明日
【 Ver  】コンソールでjava -version1.4.1_03
【 
838デフォルトの名無しさん:2007/05/02(水) 16:05:59
public class test{
public static void main(String[] args){
int c=0;
try{
java.io.InputStreamReader r = new java.io.InputStreamReader(System.in);
c = r.read();
}catch(java.io.IOException e){}
if('a'<=c&&c<='z')System.out.println("小文字です");
else if('A'<=c&&c<='Z')System.out.println("大文字です");
}
}
839初心者:2007/05/02(水) 16:45:24
838ありがとうございました。
質問なのですが、一回実行して終わるのではなく何回も実行できるようにするには
どうすればよいのでしょうか??

a
小文字

大文字

のように続けてしたいのですが。
840デフォルトの名無しさん:2007/05/02(水) 16:55:51
while(true)
841子羊:2007/05/02(水) 19:44:43
【 課題 】二つの数字x,yをキーボードから入力し、最大公約数とxからyの合計を求める。
【 形態 】Javaアプリケーション
【 GUI  】なし
【 期限 】明後日
【 Ver  】1.5.0_11
【 補足 】丸投げでお願いします。
842デフォルトの名無しさん:2007/05/02(水) 22:12:03
public class Max {
843サブリミナル・キッドやっちゃん:2007/05/02(水) 22:25:44
class GCDTest {
public static int gcd(int n,int m){
int r=n%m;
if(r==0) return m;
else return gcd(m,r);
}

public static int kaijo(int n,int m) {
int s;
int i1;
for (i1 = 1; n <= m; i1++)
s *= (double)i1;

return s;
}

public static void main(String[] args){
BufferedReader r =
new BufferedReader(new InputStreamReader(System.in)
int x=Integer.parseInt(r.readLine());
int y=Integer.parseInt(r.readLine());
System.out.println(x+"と"+y+"の最大公約数は"+gcd(x,y)+"です");
System.out.println(x+"から"+y+"の合計は"+kaijo(x,y)+"です");
}
}
844サブリミナル・キッドやっちゃん:2007/05/02(水) 22:29:50

class MaxXYAndXYGCD {
public static int gcd(int n,int m){
int r=n%m;
if(r==0) return m;
else return gcd(m,r);
}

public static int kaijo(int n,int m) {
int s;
int i1;
for (i1 = 1; n <= m; i1++)
s *= i1;
return s;
}

public static void main(String[] args){
BufferedReader r =
new BufferedReader(new InputStreamReader(System.in)
int x=Integer.parseInt(r.readLine());
int y=Integer.parseInt(r.readLine());
System.out.println(x+"と"+y+"の最大公約数は"+gcd(x,y)+"です");
System.out.println(x+"から"+y+"の合計は"+kaijo(x,y)+"です");
}
}

>>841
845デフォルトの名無しさん:2007/05/02(水) 22:32:14
846デフォルトの名無しさん:2007/05/02(水) 22:35:03
>>845
おお!俺間違ってた。適当やっちゃったよー
847子羊:2007/05/03(木) 22:01:26
841の問題で最大公約数と合計を別のソースでプログラムするにはどういった事をすればよいでしょうか??
848デフォルトの名無しさん:2007/05/03(木) 22:54:08
つ【検索しる】
849子羊:2007/05/04(金) 08:20:24
【 課題 】4桁以内の正の整数を二つ以上入力し、入力された数の最大値、最小値を求め、さらに何件目
      の入力かを表示させよ。ただし5桁以上もしくは負の数が入力されたら終了とする。
【 形態 】Javaアプリケーション
【 GUI  】なし
【 期限 】明後日
【 Ver  】1.4.0_03
【 補足 】丸投げでお願いします。 連続で申し訳ないです・・
850デフォルトの名無しさん:2007/05/04(金) 17:00:11
851デフォルトの名無しさん:2007/05/04(金) 19:18:36
【 課題 】ttp://www.uploda.org/uporg797526.txt
【 形態 】2. Applet
【 GUI  】4. 制限なし
【 期限 】5/7
【 Ver  】1.6.0_01
【 補足 】丸投げでお願いします。#現在作成中です。。
      読みにくいテキストで申し訳ありません。よろしくお願いします。
852851:2007/05/04(金) 23:07:43
【 補足 】後々の追加で申し訳ないです。。
      長方形には条件がつきます。。


(1) 長方形とボードに色をつける。
" ボードの色はwhite とする。
" 長方形の色として指定できる色は以下の通りである。
- red
- blue
- yellow
- gray
(2) 長方形に対する配置の機能の内intersect を以下のように拡張する。
" 重なり部分の色を以下の規則でマージして、色を決定する。
- 色の組み合わせが同じであればgray とする。
- 色の組み合わせが yellow とblue ならば、green とする。
- 色の組み合わせが red とyellow ならば、orange とする。
- 色の組み合わせが red とblue ならば、magenta とする。
- その他の場合は cyan とする。
(3) 長方形は色が異なってもボード上で同じ幅、高さ、位置をもつ場合は同一の長方形とみなす。
853デフォルトの名無しさん:2007/05/04(金) 23:35:49
【 課題 】キーボードから数値を入力します。入力された数値が奇数であるならば、
      奇数です。と表示し、処理を終了します。
      偶数であるならば入力された数値から100までの偶数の合計を求めよ。
【 形態 】Javaアプリケーション
【 GUI  】なし
【 期限 】明後日
【 Ver  】1.4.0_03
【 補足 】丸投です。

854デフォルトの名無しさん:2007/05/05(土) 00:39:55
>>851
5時間ももたないところにうpされてもな
855デフォルトの名無しさん:2007/05/05(土) 00:40:29
856851:2007/05/05(土) 00:50:26
失礼いたしました。。

【 課題 】ttp://www.dotup.org/uploda/www.dotup.org6746.txt
【 形態 】2. Applet
【 GUI  】4. 制限なし
【 期限 】5/7
【 Ver  】1.6.0_01
【 補足 】丸投げでお願いします。#現在作成中です。。
      読みにくいテキストで申し訳ありません。あらためてよろしくお願いします。
857デフォルトの名無しさん:2007/05/05(土) 01:59:18
待ってる間にじっくり考えても終わってるだろ
858デフォルトの名無しさん:2007/05/05(土) 09:08:41
>>856
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29364
////////// "ファイル名" で分割すること。
上段のTextFieldは幅、高さ、x、yで、残り2つはコマンドに応じて必要なもの(x0,y0とかmx,my)。
下段はintersect用の2つ目の四角を指定。
マウスで四角をクリックするたびに、上段の数字が下段に送られ、上段にクリックしたもののサイズと位置が入る。
つまり2つの四角を順にクリックすれば2つを指定できる。

今回のは、前回のやつを色付き対応に拡張するのはやらずに、アプレットを作るだけでいいということ?
とりあえず前回のBoardとRectangleを色付き対応にしている。
859851:2007/05/05(土) 12:24:22
>>858
す、すごい・・・。
今回は色付き対応させ、アプレットを作るといった形です。
説明不足で申し訳ないです。。わざわざコメントまでつけて頂いて。。
本当にありがとうございました。
860デフォルトの名無しさん:2007/05/05(土) 19:09:11
【 課題 】ソフトウェア作成の課題で、マルチスレッドゲームを作っています。
      内容は同一PC内で動く通信ゲームで、Javaアプレットを使用して
      サーバープログラムとクライアントプログラムそれぞれが通信し、
      サーバー起動後、クライアント(最高4人まで)がログインするとそれぞれ違った図形でゲーム画面に表示され、
      ドラッグ&ドロップで行き来できるという内容です。(対戦するといったようなゲーム性はありません。)

      起動画面です:ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/6.jpg

      もともとのソースは海外の様々なWebサイトから拾ってきた物で、それらを改造して作っているのですが、
      自分にとって初の大きなプログラムなので、エラー数が多く分けが分からない状態になっています。
      その中で一番の問題は、起動画像を見てもらえると分かると思うのですが、プレイヤーを起動した時、
      赤い長方形(Red Rectangle)と、緑の円(Green Circle)はどの窓でも普通に表示されているのですが、
      黄色の円(Yellow Circle)と青の角丸長方形(Blue Rounded Rectangle)だけ、自身の形と他の窓での形が違います。
      ここを修正しようと3〜4時間、コードを調べているのですがいっこうに修正する事が出来ません。
      他のエラー部分も修正しないといけないのですが、とりあえずこの部分だけでも修正してくださる方、よろしくお願いします。

      ソースです。:
      プレイヤー:ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/3.txt
      シェイプドロウ:ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/5.txt
      サーバー:ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/4.txt
【 形態 】1. Javaアプリケーション
【 GUI  】4. 制限なし
【 期限 】5月7日まで
【 Ver  】java version "1.5.0_11"
861860:2007/05/05(土) 19:39:39
jarファイルで起動サンプルを作ったので、公開しておきます。

ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/7.zip
862デフォルトの名無しさん:2007/05/05(土) 22:38:41
【 課題 】ttp://nijibox.ohflip.com/futabafiles/001/src/sa15141.txt
【 形態 】Javaアプリケーション
【 GUI  】制限なし
【 期限 】5/7
【 Ver  】1.5.0_11
【 補足 】配列、制御構文まで習いました。よろしくお願いします。
863デフォルトの名無しさん:2007/05/05(土) 23:12:13
【 課題 】http://nijibox.ohflip.com/futabafiles/001/src/sa15172.txt
【 形態 】1. Javaアプリケーション
【 GUI  】4. 制限なし
【 期限 】5/7
【 Ver  】java version "1.4.2"
【 補足 】丸投げです。宜しくお願いします。
864デフォルトの名無しさん:2007/05/05(土) 23:51:19
865デフォルトの名無しさん:2007/05/05(土) 23:56:01
メインHDDが8ケ月以内に故障するらしいのですが、どうしたらいいですか?
866デフォルトの名無しさん:2007/05/05(土) 23:56:33
問おう、ttp://nijibox.ohflip.com/futabafiles/001/src/sa15141.txtの何処が仕様か!?
総理、納得のいく回答をお願いします。

さて、専門の課題って仕様とか言って実装の断片を箇条書きにして
最後に謎の出力結果を張り付けるだけの
イミフが多いよね。どうしろと?

>・その値は配列の初期化時に与えられるものとする。
その初期化方法とタイミングを考えるのがお前だろ糞講師。

>>862
1)得点の最小値と最大値。
2)score[]をどのタイミングでどうやって初期化するのか。(受験者の点数を何処から取って来るかに関係)

が、最低限決まってないとどうしようもない。
よろしく。
2)はプログラムの使用方法左右するんでそこら辺も考慮。

受験者数が可変とか言ってんのにその得点がハードコーディングってのは考え難いよね?
なんか俺間違ってる?
867デフォルトの名無しさん:2007/05/05(土) 23:59:55
862出ちゃったのね・・・orz
868デフォルトの名無しさん:2007/05/06(日) 00:41:56
869デフォルトの名無しさん:2007/05/06(日) 00:59:09
>>864
ありがとうございます。
参考にさせてもらいました。
870デフォルトの名無しさん:2007/05/06(日) 07:06:42
【 課題 】
下記は九九を計算するプログラムの製作途中のものである。
コンパイルは正常終了するが実行時にエラーが出ることが分かっている。
このプログラムの問題点を指摘し、正しく修正すること。
なお、修正箇所は必要最小限にすること。

public class Calc99{
public static void main(String[] args){
String[][] cell = new String[9][];
for(int j = 1; j <= 9; j++){
for(int i = 1; i <= 9; i++){
cell[j][i] = " " + Integer.toString(j * i);
}
}
for(int j = 1; j <= 9; j++){
for(int i = 1; i <= 9; i++){
System.out.print(cell[j][i]);
}
System.out.println();
}
}
}

【 形態 】 Javaアプリケーション
【 期限 】 5/6 17:00
【 Ver 】 特になし
【 補足 】
連休前に出されたのですが今まで放っぽってました。
5/7 10:00 からの授業で提出しますので今日中に解答頂けると有難いです。
871デフォルトの名無しさん:2007/05/06(日) 08:39:10
>>868
回答ありがとうございます。
872デフォルトの名無しさん:2007/05/06(日) 10:55:58
>>870
3行目
String[][] cell = new String[9][];

String[][] cell = new String[10][10];
873デフォルトの名無しさん:2007/05/06(日) 11:02:14
クラス名がC99に見えたぜ
874■■■質問@■■■:2007/05/06(日) 19:11:15
【 課題 】
1: // ドルと円の換算プログラム
2:
3: import java. io. * ;
4:
5: public class dollyen {
6: public static void main( String arg[] ) throws IOException {
7: BufferedReader keyln = new BufferedReader (
8: new InputStreamReader ( System.in ) ) ;
9: double r = 112.0, d, y;
10:
11: System. out. print ( “ ドルの金額(終了は 0)> “ ) ;
12:
13: d = new Double( keyln. readLine() ). doubleValue() ;
14: while ( d > 0.0 ) {
15: y = r * d ;
16: System. out. println( d + “ ドルは ” + y + “ 円です “ ) ;
17: System. out. print( “ ドルの金額(終了は 0) > “ ) ;
18: d = new Double( keyln. readLine() ) .doubleValue() ;
19: }
20:
21: } }
875■■■質問A■■■:2007/05/06(日) 19:11:51
《実行結果》
C : \jp>javac dollyen. java

C : \jp>java dollyen
ドルの金額(終了は 0 ) > 100
100.0 ドルは11200.0円です
ドルの金額(終了は 0) > 50
50.0 ドルは5600.0円です
ドルの金額(終了は 0) > 0

C : \jp>

《問題》
上記のプログラムを温度摂氏(C)を入力して
華氏(F)を出力するものに変更しなさい。
C  0 100
F 32 212

【 形態 】多分Javaアプリケーションです
【 GUI 】?
【 期限 】火曜日まででお願いします(><)
【 Ver  】?
【 補足 】○投げですすいません。宜しくお願い致しますm(__)m
876デフォルトの名無しさん:2007/05/06(日) 19:31:13
>>875
摂氏--華氏の換算式
877■■■質問■■■:2007/05/06(日) 19:47:47
>>876
レス有り難うございます。
華氏→摂氏の換算式は C=(F-32)x5/9 です!
878デフォルトの名無しさん:2007/05/06(日) 20:41:24
>>875
↓行頭の全角スペースは半角に直すこと。

import java.io.*;

public class dollyen {
 public static void main(String[] args) throws IOException {
  BufferedReader keyln =
   new BufferedReader(new InputStreamReader(System.in));
  
  double f, c;
  
  System.out.print("温度摂氏(終了は0)> ");
  f = new Double(keyln.readLine()).doubleValue();
  
  while (f > 0.0) {
   c = (f - 32) * 5 / 9;
   System.out.println("華氏(F)" + c + "度です。");
   System.out.print("温度摂氏(終了は0)> ");
   f = new Double(keyln.readLine()).doubleValue();
  }
 }
}
879878:2007/05/06(日) 20:44:41
>>878の間違えて摂氏と華氏(fとc)が逆だった。
まぁ式直すだけだから自分で直してくれ。
880■■■質問■■■:2007/05/06(日) 21:07:59
>>878さん有り難うございます!!<(__)>
fとcを入れ替えるのは、
c = (f - 32) * 5 / 9;のところだけ
でおkですか!?
881デフォルトの名無しさん:2007/05/06(日) 22:42:25
>>868
863です。問題なく動作いたしました。ありがとうございました。
882デフォルトの名無しさん:2007/05/06(日) 23:01:52
【 課題 】
俗に「Javaにはポインタは存在しない」と云われているが、
実行時に NullPointerException が発生することがあるのはなぜか?
50字以内で説明せよ。

【 期限 】月曜日中
【 補足 】色々語ることが多すぎて50字に収まりません(><)
883デフォルトの名無しさん:2007/05/06(日) 23:08:31
逃れられると思うなよ
>>882ガッ
884デフォルトの名無しさん:2007/05/06(日) 23:12:03
>>882
Javaの言語仕様でポインタが扱えないだけで内部の実装ではポインタを使ってるから。

で良いんじゃない?
う〜ん、説明も何もソースコード公開されてるんだが。

>色々語ることが多すぎて50字に収まりません(><)
根本的に突っ込み所のある課題だから仕方ない。
たぶんお前さんは間違ってない。
885デフォルトの名無しさん:2007/05/06(日) 23:22:38
【課題】
例えばコマンドプロントにjava 154 54 12 250
と入力したら
250
154
54
12と出力されるプログラムを記述せよ。

class big{public static void main(String[] args){
int a = 0;int b = args.length-1;
a=Integer.parseInt(args[a]);b=Integer.parseInt(args[b]);
String tmp;
while(a<b){
tmp=args[a];
args[a]=args[b];
args[a]=tmp;
a++; b--;
for(int i=0; i< args.length; i++)
System.out.println("大きい順に並びます");
System.out.println(""+args[ i ]+""); } } }
【 形態 】 Javaアプリケーション
【 期限 】 5/7 9:00まで
【 Ver 】 特になし
【 補足 】 連休前に出題され書いてみたのですが正しく動作されなくて全く分かりません。急ですがお願いします。
886デフォルトの名無しさん:2007/05/06(日) 23:31:23
>>885
なにこれ
課題は引数を降順にしろってことだよな
で、おまいさんのプログラムを修正しろってことか?
それともそれ無視していいのか?
887デフォルトの名無しさん:2007/05/06(日) 23:35:20
>>886
すみません。修正して貰えませんか。
888デフォルトの名無しさん:2007/05/06(日) 23:54:45
>>887
修正する部分のほうが修正されていない部分よりも圧倒的に多くなる気がする。
それは修正というべきものなのか疑問だ。

class big{
public static void main(String[] args){
java.util.Arrays.sort(args, new java.util.Comparator<String>() {
public int compare(String o1, String o2) {
return Integer.valueOf(o1).compareTo(Integer.valueOf(o2));
}
});
System.out.println("大きい順に並びます");
for(String arg : args) System.out.println(arg);
}
}
java 154 54 12 250と入力しても動かないけどな。
java big 154 54 12 250
889デフォルトの名無しさん:2007/05/06(日) 23:57:49
>>882
NullPointerExceptionってのは単に例外のクラス名がそういう名前のだけ。
自分で発生させることもできるし。
throw new NullPointerException("ぬるぽ");
890デフォルトの名無しさん:2007/05/07(月) 00:02:34
>>890
catch (NullPointerException e) {
System.err.println("ガッ");
}
891デフォルトの名無しさん:2007/05/07(月) 00:03:25
自己撞着orz...
892デフォルトの名無しさん:2007/05/07(月) 00:03:53
逃れられると思うなよ
>>889ガッ
893デフォルトの名無しさん:2007/05/07(月) 00:16:19
>>887
元のをできるだけ残してみた。でも構成からして違うし。
class big{
public static void main(String[] args){
String tmp;
for(int i=0; i<args.length; i++){
for (int j=i; j<args.length; j++){
if (Integer.parseInt(args[i]) < Integer.parseInt(args[j])) {
tmp=args[i];
args[i]=args[j];
args[j]=tmp;
}
}
}
System.out.println("大きい順に並びます");
for(int i=0; i< args.length; i++) System.out.println(""+args[ i ]+"");
}
}
154てクラス名はさすがに使えないからjava 154 54 12 250で実行ネタは難しいな。
894デフォルトの名無しさん:2007/05/07(月) 00:22:21
>>888
大きい順か。
× return Integer.valueOf(o1).compareTo(Integer.valueOf(o2));
○ return -Integer.valueOf(o1).compareTo(Integer.valueOf(o2));
895デフォルトの名無しさん:2007/05/07(月) 00:27:14
>>888
>>893
レス有難う御座います!!ホント助かりました!!
896デフォルトの名無しさん:2007/05/07(月) 04:41:27
【 課題 】
CSVファイルからのデータ検索ページを作成しなさい。
また、HTMLファイルのフォームから送られてきた文字列を検索の条件に使用し、結果をJSPを使い<table>で出力しなさい。
なお検索結果が

 一戸建て,2LDK,東京都
 一戸建て,2LDK,埼玉県

であるならば、

 一戸建て,2LDK,東京都
 -,-,埼玉県

と表示しなさい。


[使用するCSV]
一戸建て,2LDK,東京都
一戸建て,2LDK,埼玉県
一戸建て,3LDK,埼玉県
マンション,3K,北海道
マンション,4K,大阪府

【 形態 】1.
【 GUI  】4. 制限なし
【 期限 】5月8日までによろしくお願いします
【 Ver  】java version "1.5.0_11"
【 補足 】
ttp://www.iis.u-tokyo.ac.jp/~susaki/envinfo/jsp_csvfile.html#form_reg
↑を参考にCSVの検索はなんとかなりそうなんですが、検索結果の置換(?)がまったくわかりません。。。

よろしくお願いします。。。。
897デフォルトの名無しさん:2007/05/07(月) 18:42:32
>>896
前行の結果を持っていて、前行と同じだったら"-"を出力させるようにすればいいんじゃないかな?
898デフォルトの名無しさん:2007/05/07(月) 20:24:42
899のん:2007/05/08(火) 14:55:21
【 課題 】ファイルを読み取り、各タブ文字をスペース文字に変換し、その出力を別のファイルに書き込むアプリケーションを作成せよ
(入出力 バッファ付き文字アプリケーション)
【 形態 】Javaアプリケーション(main()で開始
【 GUI  】制限
【 期限 】明日
【 Ver  】
【 補足 】

なにとぞよろしくお願いいたします。
宿題です。できません。
2ちゃんの方々の力を少し分けてください。
900デフォルトの名無しさん:2007/05/08(火) 14:59:19
>>898
もうちょいkwsk
901デフォルトの名無しさん:2007/05/08(火) 15:31:33
アンカーミス
>>899
902デフォルトの名無しさん:2007/05/08(火) 16:12:47
>>899
import java.io.*;
public class Expand {
public static void main(String[] args) throws IOException {
if (args.length != 2) { System.err.println("java Expand infile outfile"); return; }
int expand = 8; // TAB width
BufferedReader in = null;
BufferedWriter out = null;
try {
in = new BufferedReader(new FileReader(args[0]));
out = new BufferedWriter(new FileWriter(args[1]));
String s;
while ((s = in.readLine()) != null) {
StringBuilder sb = new StringBuilder(s);
int index = 0;
while ((index = sb.indexOf("\t", index)) != -1) {
sb.setCharAt(index, ' ');
for (int i = index % expand + 1; i < expand; i++) sb.insert(index, ' ');
}
out.write(sb.toString());
out.newLine();
}
} finally {
if (in != null) in.close();
if (out != null) out.close();
}
}
}
903デフォルトの名無しさん:2007/05/08(火) 16:26:27
あー、expandコマンドを作れって意味にとったけど、
もし単純にタブ1文字ををスペース1文字にに置き換えるだけという意味だったなら、
int expand = 1; // TAB width
にすれば動作的にはそうなる。無駄処理がいっぱいあることにはなるが。
904デフォルトの名無しさん:2007/05/08(火) 16:43:19
もし>>903の意味なら、>>902の外側のwhileループ内の、
StringBuilder sb = new StringBuilder(s);
int index = 0;
while ((index = sb.indexOf("\t", index)) != -1) {
sb.setCharAt(index, ' ');
for (int i = index % expand + 1; i < expand; i++) sb.insert(index, ' ');
}
を取っ払って、次の2行を、
out.write(s.replace('\t', ' '));
out.newLine();
に。
905デフォルトの名無しさん:2007/05/08(火) 17:49:41
各タブ文字って書いてあるけど垂直タブは?
906デフォルトの名無しさん:2007/05/08(火) 18:01:23
普通に考えりゃ各タブ文字って各種のタブ文字って意味じゃなく
ファイルに現れた各々のタブ文字についてって意味だろw
907デフォルトの名無しさん:2007/05/08(火) 18:46:30
ハードタブからソフトタブに書き換えろ。

って言えばほかに解釈のしようが無いのにね。
言葉を知らんのは不便だなぁ。
908デフォルトの名無しさん:2007/05/08(火) 21:45:15
【 課題 】球を跳ねさせる
【 形態 】Applet
【 GUI  】制限なし
【 期限 】来週の月曜日まで
【 Ver  】java version "1.6.0"
【 補足 】http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3956.txt
球の動きであるルンゲクッタ法は既にできています。
そこで、地面と壁があると考え(別に描かなくてもいいです)
球の動きに跳ねる動作を加えて欲しいです。
地面に当たれば跳ねて、壁にあたれば跳ね返るという具合に。
よろしくお願いします。
909デフォルトの名無しさん:2007/05/08(火) 22:33:50
Java・・・いつのまに1.6なんて出やがった
気づかなかったよママン(´・ω・`)
910デフォルトの名無しさん:2007/05/09(水) 00:12:04
【 課題 】立方体を定義し、
スクロールバーを用いてXY平面上の45度の軸の周りを回転する映像を描画する
【 形態 】Applet

【 期限 】木曜日まで
【 Ver  】わかりません
【 補足 】立方体とを回転させることまではできたのですが、45度傾かせることができません。
よろしくお願いします
911デフォルトの名無しさん:2007/05/09(水) 00:29:46
>>910

>【 Ver  】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》

>立方体を定義し
既存ライブラリの有無。

>スクロールバー
スライダーじゃなくて?

>回転する映像を描画する
正四面体モデリングしてアニメつけてavi吐いてJMFで描画!俺って頭イイ!!

さて、今のままじゃ永遠に回答は来ないわな。
912デフォルトの名無しさん:2007/05/09(水) 00:31:55
【 課題 】複数の口座による預金、引き出し等。
【 形態 】1. Javaアプリケーション
【 期限 】木曜日まで
【 Ver  】1.5.0
【 補足 】丸投げでお願いします。問題文は
      http://www.uploda.org/uporg802811.rtf.html
      にuploadしてあります。
      よろしくお願いします。
913デフォルトの名無しさん:2007/05/09(水) 00:40:34
>>912です。
アカウントクラスの問題のところで最初の変数がnextCustIDとなっていますが
実際はnextAcctNoです。失礼しました。
914デフォルトの名無しさん:2007/05/09(水) 00:44:41
>>911
すいません。
再度。

【 課題 】
スクロールバーを用いてXY平面上の45度の軸を中心に回転する立方体を描画する

【 Ver  】1.5.0

スクロールバーを動かすと立方体が回転します。
回転の中心は立方体の中心です。

わかりずらくてすいません。
915デフォルトの名無しさん:2007/05/09(水) 04:08:54
>>908
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29374
元のソースをできるだけ残してるけれど、アニメーション部分は総書き直し。
元のままだと何も描画されずに応答も無くなっただろ?
paintの中で無限ループするなんて無茶しやがってw
x=xmin,x=xmax,y=yminに障壁があるものとしている。
水平方向は等速直線運動だから問題ないが、
鉛直方向は等加速度直線運動だから本当はこの方法では誤差が出てくる。
タイムスライスが小さいのでy=ymin丁度の時点の速度が得られているかもしれないが、
y<yminが得られた時は誤差が蓄積していく。とはいえ、そうだとしても長時間動かさないと、
このパラメータなら気にならないとは思う。
916デフォルトの名無しさん:2007/05/09(水) 16:35:58
C/C++スレにあるようなうpロダの需要ってある?
あるなら作ろうと思うんだが。
ソースポストネット、手軽に投稿できるのはいいんだがログがずっと残るから
ひょんな事からばれてパアという事になりかねん気がしてきた。
917デフォルトの名無しさん:2007/05/09(水) 18:18:55

【 形態 】1. Javaアプリケーション(main()で開始)    
【 GUI  】4. 制限なし
【 期限 】 2007/05/10 AM9:00 まで
【 Ver  】java version "1.5.0_11"
【 用語 】特になし
【 補足 】丸投げです。よろしくお願いします。

微分方程式
d^2y/dt^2-μ(1-y^2)dy/dt+y=0, 0≦t≦10

y(0)=2,dy/dt(0)=0,μ=1として上の微分方程式
を数値的に解き、dy/dt(t)をグラフ表示しなさい。
また、分かりやすく説明しなさい。

918デフォルトの名無しさん:2007/05/09(水) 18:27:41

【 形態 】1. Javaアプリケーション(main()で開始)    
【 GUI  】4. 制限なし
【 期限 】 2007/04/29 PM01:00 まで
【 Ver  】java version "1.5.0_11"
【 用語 】特になし
【 補足 】丸投げです。よろしくお願いします。

微分方程式
d^2y/dt^2-μ(1-y^2)dy/dt+y=0, 0≦t≦10
を考える。
y(0)=2, dy/dt(0)=0,μ=1として微分方程式を数値的に解き、
dy/dt(t)をグラフ表示しなさい。また、分かりやすく説明しなさい。

919デフォルトの名無しさん:2007/05/09(水) 20:42:02
物理のお勉強ですか?
微分・積分とはまた、これぞ高校生!って内容だな。
ナツカシス
920デフォルトの名無しさん:2007/05/09(水) 20:55:54
>>912です。課題を上げなおしました。
http://www.uploda.org/uporg803605.rtf.html
921デフォルトの名無しさん:2007/05/09(水) 21:41:03
【 課題 】文字列の最初の10文字と最後の10文字とを表示するプログラム
【 形態 】Javaアプリケーション
【 GUI  】制限なし
【 期限 】今日
【 Ver  】
【 補足 】 最初の10文字までの方まではできましたが最後の10文字がわからないです

class 10Chars{
public static void main(String args[]){
String s ="One Two Three Four Five Six Seven";
String substring = s.substring(0,10);
System,out,println(substring);
}
}
922デフォルトの名無しさん:2007/05/09(水) 21:43:35
>>921
ヒント: String.length() メソッド
923デフォルトの名無しさん:2007/05/09(水) 22:37:40
>>921
最初の10文字までの方もできてないじゃん
コンパイル通らねえ
そんなお前にはこれでいいだろう
public class Chars10 {
public static void main(String[] args) {
String s ="One Two Three Four Five Six Seven";
String substring = s.substring(0,10);
System.out.println(substring);
while (s.length() > 10) s = s.substring(1);
System.out.println(s);
}
}
924921:2007/05/09(水) 23:09:48
>>922 >>923
ありがとうございました
925デフォルトの名無しさん:2007/05/10(木) 00:34:30
ネットワークプログラミングが課題で出たのですが解りません。
誰か助けて頂けないでしょうか。

問1 次を実行した結果を書きなさい
サーバー1

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

#define PORT 8427

int main(int argc, char* argv[]){
struct sockaddr_in server;
struct sockaddr_in client;
int s_wait;
int s_connect;
int client_len;
unsigned char* client_addr;
char buf[128];
926デフォルトの名無しさん:2007/05/10(木) 00:35:16
bzero((char *)&server, sizeof(server));
server.sin_addr.s_addr = htonl(INADDR_ANY);
server.sin_family = AF_INET;
server.sin_port = PORT;


if((s_wait = socket(AF_INET, SOCK_STREAM, 0)) == -1){
fprintf(stderr, "サーバへのソケットが生成できません。 \n");
exit(1);
}

if(bind(s_wait, (struct sockaddr*)&server, sizeof(server)) == -1){
fprintf(stderr, "ソケットにサーバを設定できませんでした。 \n");
exit(1);
}
927デフォルトの名無しさん:2007/05/10(木) 00:35:46
if((listen(s_wait, 5)) == -1) {
fprintf(stderr, "待ち行列が設定できません。 \n");
exit(1);
}

client_len = sizeof(client);
if((s_connect = accept(s_wait, (struct sockaddr *)&client, &client_len)) < 0) {
fprintf(stderr, "サーバに接続を要求できません。 \n");
exit(1);
}




if((close(s_wait)) == -1) {
fprintf(stderr, "ソケットディスクリプタをクローズできません。 \n");
exit(1);
}


client_addr = (unsigned char*)&(client.sin_addr.s_addr);
printf("connected to %d.%d.%d.%d.",
client_addr[0], client_addr[1], client_addr[2], client_addr[3]);
928デフォルトの名無しさん:2007/05/10(木) 00:36:14
>>925-927
だが言語が違う
929デフォルトの名無しさん:2007/05/10(木) 00:36:16
sprintf(buf, "HELLO, %d.%d.%d.%d!.",
client_addr[0], client_addr[1], client_addr[2], client_addr[3]);
if((write(s_connect, buf, strlen(buf))) == -1) {
fprintf(stderr, "ソケットへデータを書き込めません。 \n");
exit(1);
}

if((close(s_connect)) == -1) {
fprintf(stderr, "ソケットディスクリプタをクローズできません。 \n");
exit(1);
}
}
930デフォルトの名無しさん:2007/05/10(木) 00:53:09
>>928
すいませんでした
cにいけばいいですか?
931デフォルトの名無しさん:2007/05/10(木) 05:45:44
>>930
授業中寝過ぎだろw
932デフォルトの名無しさん:2007/05/10(木) 09:45:38
【 課題 】1、 計算機イプシロンを求めるプログラムを組め。
@ 倍精度(double)
A 単精度

【 形態 】1. Javaアプリケーション
【 期限 】来週の木曜日
【 Ver  】1.5.0
【 補足 】お願いします。
933デフォルトの名無しさん:2007/05/10(木) 14:21:55
>>932
float ef = 1; while (ef + 1 > 1) ef /= 2; ef *= 2;
double ed = 1; while (ed + 1 > 1) ed /= 2; ed *= 2;
System.out.println("float: " + ef + ", double: " + ed);
System.out.println("1.0f: " + Integer.toHexString(Float.floatToRawIntBits(1)));
System.out.println("1.0f + eps: " + Integer.toHexString(Float.floatToRawIntBits(1 + ef)));
System.out.println("1.0: " + Long.toHexString(Double.doubleToRawLongBits(1)));
System.out.println("1.0 + eps: " + Long.toHexString(Double.doubleToRawLongBits(1 + ed)));
System.out.println("float: " + (float)StrictMath.pow(2, -23) + ", double: " + StrictMath.pow(2, -52));
934デフォルトの名無しさん:2007/05/10(木) 21:00:53
【 課題 】http://www.csync.net/service/file/view.cgi?id=1178798337

【 形態 】1. applet
【 期限 】来週の木曜日
【 Ver  】1.5.0
【 補足 】よろしくお願いします。初心者でもわかりやすいようにしていただけるとありがたいです。
935デフォルトの名無しさん:2007/05/10(木) 23:31:02
【 課題 】インターネット時代の暗号技術―噂の公開鍵を作ってみよう―
【 形態 】 Javaアプリケーション(main()で開始)
【 GUI 】制限なし
【 期限 】5月末まで
【 用語 】平分:元データ、人間が(第三者も)読むことが出来る
      暗号文:第三者に解読不可能な形式に変換されたデータ
      暗号化:平分を暗号化する処理
      複合化:暗号文を平分に変換する処理
      鍵:暗号化、複合化に必要なパラメタ
【 補足 】
公開鍵のしくみ
1番簡単な例だとインターネットを用いて商業活動などを行うとき、たとえばクレジットカードの
番号が知れ渡って悪用される危険を犯したい人はいません。
しかし本や航空券の購入などには便利です。普通、家や金庫の鍵は、所有者や所有者が開けることを許した人が鍵を持ちます。
その場合、不屈性された鍵を普通は直接手渡します。ところがインターネットではそのようなことは出来ません。
そこで考えられたのが閉める鍵と開ける鍵を別々にするという方法です。
そのように分けると閉めるための鍵はネット上で誰でも使えるようにしておいて開けるための鍵は自分だけが知っていればいいわけです。
暗号のための鍵をインターネットでやり取りするという矛盾を抱えるひつようがなくなります。

A氏の秘密鍵は1234,公開鍵はABCD, B社の秘密鍵は6789,公開鍵はVXYZ
A氏がB社から物を買う。→他の人には知られないよう自分のクレジットカードの番号を送りたい。
(1) A氏はB社の公開鍵VXYZを使って自分のクレジットカードの番号を暗号にしてB社にメールで送る。
(2) 受け取ったB社は自社の秘密鍵(非公開)6789で複合化します。
(3) 誤ってコレが悪意のあるCさんに誤送されたりクラッキングされてもB社の公開鍵では
複合化できないのでB社の秘密鍵が漏れない限り安全


*今回の課題*
上記のアルゴリズムに従って公開鍵と秘密鍵を生成するプログラムを作って生成してください(きちんと関数わけすること)
これらの鍵を使って暗号化、複合化を行うプログラムも作って結果を確認してください。
暗号化と複合化は同じ関数で引数が異なるだけというのはアルゴリズムを見ればわかると思います。(なるべくコメントをつけておくこと)
936デフォルトの名無しさん:2007/05/11(金) 00:28:47
>>935
無茶しやがって・・・(AA略
937デフォルトの名無しさん:2007/05/11(金) 00:35:53
>>935
まぁなんだ・・・
うん、がんばれ
938デフォルトの名無しさん:2007/05/11(金) 00:42:46
>>935
特許庁→RSA暗号技術ゲッツ→Javaで書く→タイホーwww
939デフォルトの名無しさん:2007/05/11(金) 01:28:38
つーか、こんな問題出す奴は馬鹿にも程があるな。
940デフォルトの名無しさん:2007/05/11(金) 04:15:29
>>935
public class HogeCode {
private static java.util.Random r = new java.util.Random();
public static byte[] generateKey() {
byte b; do { b = (byte)r.nextInt(); } while (b == -128);
return new byte[]{b, (byte)(-b)};
}
public static byte code(byte text, byte key) {
return (byte)(text + key);
}
public static void main(String[] args) {
byte[] key = HogeCode.generateKey();
System.out.printf("公開鍵: %d, 秘密鍵: %d%n", key[0], key[1]);
byte[] 元の文 = "Hogeほげ".getBytes();
byte[] 暗号文 = new byte[元の文.length];
byte[] 復号文 = new byte[元の文.length];
System.out.print("元の文: "); for (byte b : 元の文) System.out.print(b + ","); System.out.println("\"" + new String(元の文) + "\"");
for (int i = 0; i < 元の文.length; i++) 暗号文[i] = HogeCode.code(元の文[i], key[0]); // 公開鍵で暗号化
System.out.print("暗号文: "); for (byte b : 暗号文) System.out.print(b + ","); System.out.println("\"" + new String(暗号文) + "\"");
for (int i = 0; i < 暗号文.length; i++) 復号文[i] = HogeCode.code(暗号文[i], key[1]); // 秘密鍵で復号化
System.out.print("復号文: "); for (byte b : 復号文) System.out.print(b + ","); System.out.println("\"" + new String(復号文) + "\"");
for (int i = 0; i < 暗号文.length; i++) 復号文[i] = HogeCode.code(暗号文[i], key[0]); // 公開鍵で復号化
System.out.print("公開鍵で復号: "); for (byte b : 復号文) System.out.print(b + ","); System.out.println("\"" + new String(復号文) + "\"");
}
}
941デフォルトの名無しさん:2007/05/11(金) 04:25:24
あとは公開鍵や暗号文から秘密鍵や平文を知るのが難しいアルゴリズムをいかに見つけるかだが
それは商売のネタになるくらいなのでがんばってくれ
942デフォルトの名無しさん:2007/05/11(金) 06:11:11
>>940
間違ってはないがそういう問題じゃないよな暗号化って、むしろ>>941
だからメチャクチャなんだよな>>935の課題って。

ところでそろそろ次スレだね
943デフォルトの名無しさん:2007/05/11(金) 06:16:24
いや、たぶん
> 上記のアルゴリズムに従って
ってあるくらいでアルゴリズムは提示されていて
それを質問者が出していないだけだと思ったんだが
単に既にあるアルゴリズムの実装とそのテストが課題だと思う
>>940はもちろんシャレだよ
944デフォルトの名無しさん:2007/05/11(金) 06:26:07
>単に既にあるアルゴリズムの実装とそのテスト
それこそ、もしかしたら本当に>>398だなw
アメリカなんかじゃ保護されたアルゴリズムは輸出制限掛かってたくらいなのに。
945デフォルトの名無しさん:2007/05/11(金) 06:29:08
ミスった。

>既にあるアルゴリズムの実装とそのテスト
てぶぶんは同意だからそれがないとどうしようもないなぁ。

あと、>>938だね
946デフォルトの名無しさん
普通にRSAじゃないのかな。
実装するのにシンプルでパブリックドメインで。