★★ Java の宿題ここで答えます Part 57 ★★
【Java宿題スレッド基本ルール・五箇条の御誓文】
1:問題文は自己省略せずに、直接全部貼り付けてください。
2:課題の「丸投げ」が最も好ましい提示法です。なるべく丸投げしてください。
3:数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
4:課題&宿題関連の質問はOKですが、それ以外の一般的な質問は禁止です。
5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。
【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、解答希望日があれば書きます
【 Ver 】希望するJavaバージョンがあれば書きます
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
丸投げでない場合は、途中までのソースとその経過報告、
質問点、疑問点を書きます(なるべく丸投げにしてください)
【回答プログラムの掲載場所】
Java質問スレWiki
http://www.wikiroom.com/java/ ソースポストネット
http://sourcepost.sytes.net/ 【前スレ】
http://pc8.2ch.net/test/read.cgi/tech/1145447187/
4 :
前スレ972 :2006/07/07(金) 22:53:25
5 :
☆さぉり☆ :2006/07/07(金) 22:54:31
すみません、JAVAのブロック崩しのプログラムがほしんです…
7 :
デフォルトの名無しさん :2006/07/09(日) 01:24:22
テストに、JAVAの歴史と今後みたいなことを書くんですけど どんなことを書けばいいのでしょうか?特に、今度ってのが困ります。 それと、JAVAの特長ってのも書くんですけどどのようなことをかけばいいんですか? やっぱり、バイトコードとか、ハードに依存性があるとかですか?
ぐぐったら山ほど出てくるでしょ
13 :
12 :2006/07/09(日) 17:55:49
14 :
12 :2006/07/09(日) 18:05:25
Member.javaをちょっと変更して実現してしまったのですごく気になるよ 本当はそのままでもできる課題だったりするのかも すまない、javaはまったく初心者だ
【 課題 】英文で書かれたtextファイルがある。 そのファイルに対するThorndikeTableをつくり、結果を印字せよ。2段組印字をする。 ただし、印字用のLaTeXコードは無視する。 例) frequency word 9996 software←新しい単語が出る度に検出、最終的に数が多いものからソートする ・ ・ ・ ・ ・ ・ 56 engineering 注意: 1)件のファイルは、デバッグでは使用できない。 2)複数形の語は単数形の語として集計する。また過去形、過去分詞は現在形として集計する。 文頭のために大文字表示されている文字は、小文字表示に直して処理すること。 数字だけの語は対象外とする。 【 期限 】7/11 10:00まで 【 補足 】丸投げです。よろしくお願いします
17 :
12 :2006/07/09(日) 20:55:00
18 :
デフォルトの名無しさん :2006/07/09(日) 21:09:42
【 課題 】新しいウインドウ上でドラッグをすると線が描写できるプログラムを作成せよ。 【 用語 】 【 期限 】できるだけはやくおねがいします
>>17 ConcreteMember を MemberFactory くらいにして
createNormalMember や createGoldMember をこしらえてみると
クライアントコードが幾分わかりやすくなる気がする。
>>19 MemberFactory よりも RootMember とか ExecutiveMember の方が面白いかも。
会員番号が 7002 からになるのも納得できるし。
22 :
デフォルトの名無しさん :2006/07/09(日) 21:57:34
>>21 ありがとうございます
コマンドプロンプトでコンパイルしたらこんなエラーがでたんですがどうしたらいいんでしょうか?
Exception in thread "main" java.lang.NoClassDefFoundError: Res18 (wrong name: th
read57_res18/Res18)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
23 :
デフォルトの名無しさん :2006/07/09(日) 22:05:56
ファイル名がRes18じゃないじゃないの
packageがthread57_res18になってるから配置を確認
>>22 それコンパイルでエラーが出たんじゃなくて実行エラーじゃないの?
thread57_res18っていうディレクトリ掘ってそこにできたクラスファイルふたつをいれて
java thread57_res18.Res18
って実行汁
それか、パッケージ作ってないなら package thread57_res18; を丸々削除
27 :
デフォルトの名無しさん :2006/07/09(日) 22:19:16
ありがとうございます。
>>26 さんのいうとおりにしてみたらできました!
で、申し訳ないんですが、線っていうかお絵かきみたいなプログラムをつくるらしいんですよ^^;
すいません説明不足でしたね・・・
できたらお絵かきのプログラムもつくっていただけたらうれしいです
28 :
デフォルトの名無しさん :2006/07/09(日) 22:32:26
スルー確定
>>27 お前
「お絵かきソフトを作れ」
ってだけで誰か作ってくれると思うのかい
30 :
27ではないけど :2006/07/09(日) 23:12:26
こんばんわ、最近「クラスの基本」を習った初級者です。早速ですが課題で「下記のプログラムソースが上手く動く用にソースコードを付け足しなさい。」をお願いします。(*最後のガソリン量にはaddGas(10.0)が加算される。) class Car{ nt num; double gas; void setNum(int n) { num = n; System.out.println("ナンバーを" + num + "にしました。"); } void setGas(double g){ gas = g; System.out.println("ガソリン量を" + gas + "にしました。"); System.out.println("この車は満タンで40リットル入ります。"); } void show(){ System.out.println("車のナンバーは" + num + "です。"); System.out.println("ガソリン量は" + gas + "です。"); }} class Exam1{ public static void main(String args[]){ Car car1 = new Car(); Car car2 = new Car(); car1.setNum(1234); car1.setGas(20.5); car2.setNum(5678); car2.setGas(30.8); car1.addGas(10.0); car2.addGas(10.0); car1.show(); car2.show(); }}
31 :
名無し募集中。。。 :2006/07/09(日) 23:13:37
32 :
27ではないけど :2006/07/09(日) 23:17:46
テンプレが足りませんでした。 提出期限、明日正午 希望するjavaバージョン1.5.0_07 補足はありません。
33 :
デフォルトの名無しさん :2006/07/09(日) 23:30:05
【 課題 】 異なる濃度g/lと量lの食塩水が入った容器が2つある。2番目の容器の食塩水 の半分を1番目に移したとき、2つの容器内の濃度と量を計算して表示し、さらに 「濃いほうの濃度は、・・・g/lです」と表示しなさい。ただし、フィールド :容器内の濃度、容器内の量 メソッド:容器への食塩水の追加操作(追加濃 度と量を引数) 容器からの食塩水の取り出し(取り出し量を引数、取り出し 濃度を戻り値) 容器内の濃度と量の表示とする「食塩水容器」のクラスを定義し、要素数2の オブジェクト配列を使いプログラムを作りなさい。最初の濃度と量はキーボ ードから入力する。 丸投げです。お願いします。
34 :
名無し募集中。。。 :2006/07/09(日) 23:35:36
>>32 void addGas(double gas){
this.gas += gas;
}
35 :
27ではないけど :2006/07/10(月) 00:02:23
>>34 ありがとうございます。
自分のフィールドを示すthis.でgasを指定すればよかったのですか。
勉強になりました。
36 :
12 :2006/07/10(月) 02:34:15
>>16 完全な回答が得られなかったみたいなので…
>>38 難しいんではなくてやたら手間がかかって面倒くさそうだね
単語の語形変化の辞書をどこまで用意すればいいのか際限ないや
これ数日でやるような課題じゃないな
42 :
デフォルトの名無しさん :2006/07/10(月) 16:16:10
[課題] 1.以下の定積分を台形則を用いて数値計算しなさい。ただし 積分区間の分割数は100以上とする。 ∫e^(x^2)dx (0≦f(x)≦2)(e(自然対数)のxの2乗 乗です) 2.コンストラクタを用いて分割数と積分区間が自由に指定できる、 以下の定積分を台形則を用いて数値計算するクラスを作成しなさい。 ただしa,bは実数とする。 ∫e^(x^2)dx (a≦f(x)≦b) [用語] コンストラクタ・・・オブジェクト指向言語で作成したプログラム において、データとそれを操作するための手続きを一体化した 「オブジェクト」の生成時に呼び出される特殊な関数。 オブジェクトが扱うデータの初期化などをここで行なう。 台形則・・・面積を台形で近似し求める計算方法である。 台形の面積を求めるだけなので比較的簡単に積分値を求めることが 可能である。 [期限]7/17 できるだけ早いほうが助かります。 問題丸投げですが、よろしくお願いします。
import java.lang.StrictMath; class C42Trapezoidal{ double a; //区間開始 double b; //区間終了 int n; //分割数 public C42Trapezoidal(double a,double b,int n){ this.a = a; this.b = b; this.n = n; } public double getFx(double x){ return StrictMath.pow(StrictMath.E,x*x); } public double getTrapezoidal(){ double sum =(getFx(a)+getFx(b))/2; for(int i=1;i<n;++i){ sum += getFx((b-a)*i/n+a); } return sum*(b-a)/n; } } public class C42{ public static void main(String[] args) { System.out.println("[0-2] "+new C42Trapezoidal(0,2,100).getTrapezoidal()); } }
無駄にいろいろ付けて遅れてしまったorz
>>38 Ruby on Rails が当該処理を行うためのメソッドをもっているので
ソースからそのへんを抜き出してきて jruby で処理すれ
47 :
sage :2006/07/10(月) 20:34:52
>43,44 ありがとうございます! 試してみますね〜
動作には関係ないけれどjavadocで見直していたら
>>44 の140行目あたりのコメントが変になってた
被積分関数の上限でなくて被積分関数だね
getBのコメントをコピペしたのが丸わかりだorz
[課題] 2つのボールが300×400の範囲内を反射するアプレットを作成しなさい。 お願いします
>>49 p://www.mm2d.net/applet-howto/howto-06.shtml
p://www.mm2d.net/applet-howto/howto-07.shtml
google(2つのボール アプレット)
脊髄反射でお願いすることばかり覚えずに少しは検索エンジンの使い方も覚えなさいということだ
>>41 二週間ほどの余裕はあったんですけどもう何が何やらさっぱり分からなくて…
複数形がsとes、過去形がedのみとして他は無視するとして
この場合だけでもお願いできませんでしょうか
52 :
デフォルトの名無しさん :2006/07/11(火) 16:10:53
【 課題 】ウインドウ上に円を描き、円の外からドラッグをはじめ、 ドラッグ中に円に入ったとき、円を四角形に変えるプログラムを作成しなさい 【 期限 】できれば今日中におねがいします ドラッグ中に円に入ったとき円を四角形に変える というところのプログラムのかきかたがよくわかりませんでした。 まるなげですが、よろしくおねがいします。
>>51 あんまりきれいじゃないけど、こんなかんじ
public static String toPresentForm(String word) {
String ieAfterConsonant = "(\\w*[^aeiou])ie(d|s)";
String thirdPersonSingular = "(\\w*)(es|s)";
String normalPastForm = "(\\w*)ed";
if (word.matches(ieAfterConsonant)) {
return word.replaceFirst(ieAfterConsonant, "$1y");
} elseif (word.matches(thirdPersonSingular)) {
return word.replaceFirst(thirdPersonSingular, "$1");
} else if (word.matches(normalPastForm)) {
return word.replaceFirst(normalPastForm, "$1");
}
return word;
}
>>53 正規表現がまずかった
String ieAfterConsonant = "^(\\w*[^aeiou])ie(d|s)$";
String thirdPersonSingular = "^(\\w*)(es|s)$";
String normalPastForm = "^(\\w*)ed$";
あと思いつく改良としては正規表現と置換文字列は配列にしとくとか
56 :
デフォルトの名無しさん :2006/07/11(火) 18:03:25
>>54 ありがとうございます。これをもとにもう一回勉強してきます
>>58 鬱陶しい・・何回目だよその質問
1.source.zipをどっかに展開
2.eclipse3.1起動
3.任意のプロジェクトにcellパッケージを新規作成
4.パッケージエクスプローラーからcellパッケージを選択→右クリック→インポート→ファイルシステムから
1で展開したsourceの中のどっちか目的のフォルダを参照
60 :
59 :2006/07/11(火) 21:22:22
あ、途中で書き込んだ まあここまで書いたらわかるだろ
>>55 先生! thisとかisとかhasとかが大変なことに
この課題は真面目にやろうとすれば形態素解析とかまでやらざるを得ない
例えば過去分詞に見えて実は形容詞として使われているとかあるし
それが面倒だからといってあまりにも機械的すぎるとthisみたいな
基本的な単語でさえおかしなことになってしまう
よく使われるものほど不規則であることが多いし
多分肝心なのは出題者の意図を汲み取ることだと思う
本当にThorndike Tableを出力するプログラムを作らせたいのか
それともテキストを一定の基本単位に分割して簡単な変形をするフィルタに通し
その出現頻度をカウントしてさらにソートする
という一連の手続きをコーディングできるかどうかをみたいだけなのか
それとも他に注目したいものがあるのか
そのあたり次第でどこまで手を抜くのかが決まってくる
出題意図を推測できないのなら出題者に直接問い質すべきだったと思う
>>61 複数形や三人称単数は適当だった。不規則動詞は考慮外。
処理のサンプルってことで勘弁してほしい。
質問者が孤独かつ出題者に質問にいけないシャイボーイならば、
よくわからないまま変に気の利いたプログラムを提出すると後できっとひどい目に遭うので
頑張ったけどまぬけな出力結果がでる程度でお茶を濁すことをおすすめしたい
【 課題 】引数として指定した英単語を辞書式にソートする プログラムを作成せよ。 【 用語 】特になし 【 期限 】7月12日(水) 【 Ver 】特になし 【 補足 】丸投げです。お願いします。
>>63 import java.util.Arrays;
public class WordSorter {
public static void main(String[] args) {
Arrays.sort(args);
for (String arg : args) {
System.out.println(arg);
}
}
}
>>63 もし大文字と小文字の区別をつけたくないのなら
import java.util.Arrays;
import java.util.Comparator;
public class IgnoreCaseWordSorter {
public static void main(String[] args) {
Arrays.sort(args, new Comparator<String>() {
public int compare(String s1, String s2) {
return s1.compareToIgnoreCase(s2);
}
});
for (String arg : args) {
System.out.println(arg);
}
}
}
66 :
デフォルトの名無しさん :2006/07/12(水) 09:29:32
>>63 先生に喜ばれそうなのなら
public class Homework {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
int p = i;
for (int j = i; j < args.length; j++) {
if (args[j].compareTo(args[p]) < 0) {
p = j;
}
}
String s = args[i];
args[i] = args[p];
args[p] = s;
}
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}
>>60 ありがとうございました。でもできればその後のことも教えてください。
超初心者がこんな所にくるなとお思いでしょうがどうぞよろしくお願いします
>>67 つーか、わざわざ
>>60 が書いてくれた手順をやってみたのか?
見た目とカンで見当つかないか? 少しでも頭使ってみたか?
実行ボタンとかメニューとか見えないか? 盲目か?
俺は使ってないからわからないんだが Eclipseのアクセシビリティのサポート状況って今どうなってるんだ? 視覚障害者はEclipseコミュニティでは無視なのか
>>67 本当にわからんのかよ('A`)
5.パッケージエクスプローラからcellパッケージを選んで右クリック→実行→構成および実行
6.Javaアプリケーションのツリー表示におそらく最初から選択されてるCellというのがあるのを確認
無ければJavaアプリケーションをダブルクリックで出てくると思う
7.メインタブでメイン・クラスがcell.Cellとなっているのを確認し、引数タブのプログラム引数に引数を指定する
8.最下部ボタン「実行」をクリック
71 :
◆ccqXAQxUxI :2006/07/12(水) 15:31:09
[課題] 1.任意の関数を台形則を用いて数値計算をするクラスを作成しなさい.ただし,以下の仕様を満足するものとする. a.分割数と積分区間は自由に指定可能 b.クラスは以下で与えられるクラスNumericallntegrationを継承 public abstract class Numericallntegration{ protected integration func;//被積分関数はfunc protected double minIntegration; //数値積分の下限 protected double maxIntegration; //数値積分の上限 protected int partitons; //分割数 public Numericallntegration(integrand f){ func = f; minIntegration = 0.0; maxIntegration = 1.0; partions = 100; } public abstract double integration(); } public interface integrand{ public double getValue(double x);//関数の値を返す関数 } 2.作成したクラスを使い以下の関数を積分するプログラムを作成しなさい.分割数は100以上とする. ∫Σ(1/n^x)dx (積分範囲は2〜3、Σはn=1から10000) 3.1で作成したクラスを継承して,数値積分を別スレッドで行うクラスを作成しなさい.ただし以下の仕様を満足するものであるとする. a.与えた秒数毎に進捗状況(何パーセント計算が終了したか)を経過時間と 共に表示する.指定しない場合1秒毎の状況を表示.(publicメソッドを使用) b.計算の途中でも数値積分の値はpublicメソッドを用いて,安全に別スレッドから取り出すことができる. [期限]7/21(金) 今週末くらいに解答頂けるとありがたいです。 [補足]問題丸投げです。 >44で頂いた解答を改良すれば何とかなると思いいじってみましたが,今回の2の問題をうまく表現できませんでした。
72 :
デフォルトの名無しさん :2006/07/12(水) 15:40:28
>71 すみません、sage方わからずトリップついてしまいした。。
>>71 sageはメール欄
2 はこれで
integrand ex2 = new integrand() {
public double getValue(double x) {
double result = 0.0;
for (int i = 1; i <= 10000; i++) {
result += 1.0 / Math.pow(i, x);
}
return result;
}
};
スレッドは習ってるの?
>73 ありがとうございます マルチスレッドを学習することがメインらしいのですが あまりスレッドに関して講義で触れられなかったので 独習してるのですが、まだ基礎部分しかつかめてないという感じです。
>>74 44 を変更するなら、こんな感じかな。
ループ変数をフィールドに移して、ループ内をsynchronizedにした。
public double integrate() {
div = (b - a) / ndiv;
value = integrand.func(a) + integrand.func(b);
for (progress = 1; progress < ndiv; progress++) {
innerLoop();
}
return getValue();
}
private int progress = 0;
private double value;
private double div;
public double getProgress() {
return (double)progress / ndiv * 100;
}
public double getValue() {
return value * div / 2.0;
}
private synchronized void innerLoop() {
value += 2.0 * integrand.func(a + progress * div);
}
で、表示 private static void print(final TrapezoidalRule rule) { System.out.println("被積分関数 : " + rule.getIntegrand()); System.out.println("分割数 : " + rule.getNdiv()); System.out.println("積分区間 : " + rule.getA() + " 〜 " + rule.getB()); new Thread(new Runnable() { public void run() { rule.integrate(); } }).start(); Thread.yield(); for (;;) { synchronized(rule) { double progress = rule.getProgress(); if (progress < 100) { System.out.printf("積分値(%02.2f%%) : %f\n", progress, rule.getValue()); } else { break; } } try { Thread.sleep(1000); } catch (InterruptedException e) { } } System.out.println("積分値 : " + rule.getValue()); }
実害はほとんど無いと思うけど progress++ は innerLoop 内に移した方がよかったかな
【 課題 】 //BeansTestServlet.java import java.io.*; import javax.servlet.http.*; import javax.servlet.*; import beans.*; public class BeansTestServlet extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException{ res.setContentType("text/html;charset=MS932"); req.setCharacterEncoding("MS932"); PrintWriter out = res.getWriter(); TestBeans tb = new TestBeans(); out.println("<html>"); out.println("<body>"); tb.n1 = 10; tb.n2 = 5; out.println("</body>"); out.println("</html>"); } }
80 :
デフォルトの名無しさん :2006/07/12(水) 21:31:47
37,39の方ありがとうございました。
81 :
79 :2006/07/12(水) 21:33:06
続き //TestBeans.java package beans; public class TestBeans{ public int n1; public int n2; public int tasu(){ return n1 + n2; } } 丸投げです。 こいつを動かしたいのですが、Beansの設定(TestBeans.classの配置ディレクトリ?)が悪いらしく 「パッケージbeansは存在しません」と出力され、BeansTestServletがコンパイルできません 特殊な設定は無しに動くらしいのですが、 ご存知の方、ご教授願います
お前が動かしたいだけであって 課題でもなんでもないような気がするが・・
83 :
79 :2006/07/12(水) 22:09:52
よく見たらout.println(tb.tasu());が抜けてた
>>82 課題です
というか、次回(明日)Beansの課題を出すので
このソースを実行確認してくるように、との事で黒板を板書したものです
アルゴリズムというより実行環境の問題かも知れないので
ここで聞くのはスレ違いでしたでしょうか?
>>83 現在どんなフォルダ構成でどんなファイル配置になってるの?
85 :
79 :2006/07/12(水) 22:22:02
課題であることを建前に、単に私が私のために動かしたいだけであることは確かでしたね(ノ∀`) もう少し自分なりに調べて、原因追求してみたいと思います 失礼しましたm(_ _)m
折角聞いてんのに・・
87 :
79 :2006/07/12(水) 22:34:07
>>84 >>86 わざわざありがとうございます
ファイル構成は、
C:\jv99\WEB-INF\classesとなっていて
jv99がコンテンツフォルダ、classesに実行classを格納しています
ちなみに、C:\j2sdk1.4.1_02直下にはbeansフォルダが存在しなかったので
それを作ってコンパイルしたBeansのclassを入れてコンパイルしてもダメでした
C:\j2sdk1.4.1_02\java\beansに入れても同じくダメでした
要するにclasspathがよくわかってないのかね beansディレクトリは、環境変数classpathで指定された場所に配置する BeansTestServlet.javaがあるディレクトリ内にbeansディレクトリを作成して そこにTestBeans.javaを置けばコンパイルできるんじゃない?
>73,75~78 返答ありがとうございます! 元の方が誤差が多少ありそうな感じがしますね といっても関数が手計算でもぱっとできるものではないので 確証がもてませんが・・ 色々試してみますね
90 :
デフォルトの名無しさん :2006/07/13(木) 13:37:41
初心者です。丸投げですがよろしくお願いします。(期限)本日中にお願いします。(javaバージョン)jdk1.5.0_06(補足なし) (課題)最初に人数を入力し、入力した人数分だけの名前、それに応じた数学、英語の点数を入力し以下の最終実行例の様に各項目が 表示されるようにプログラムを組みなさい。(ただし、入力した名前とそれに対応した数学英語の点数は例文の14行目以降の結果項目に対応するようにしなさい) 何人分の点数を入力しますか?(3を入力) 1人目のデータ 名前:(Satoを入力)数学:(53を入力)英語:(22を入力) 1人目のデータ 名前:(Tanakaを入力)数学:(22を入力)英語:(89を入力) 1人目のデータ 名前:(Yamadaを入力)数学:(53を入力)英語:(67を入力) 数学の最高点をとった人 Satoさん(数学:53 英語:22) Yamadaさん(数学:53 英語:67) 英語の最高点をとった人 Tanakaさん(数学:22 英語:89) 数学の点数が平均点(42.666666666666664)以上の人 Satoさん(数学:53 英語:22) Yamadaさん(数学:53 英語:67) 英語の点数の平均点(59.33333333333336)以上の人 Satoさん(数学:53 英語:22) Yamadaさん(数学:53 英語:67) 2科目とも平均点以上の人 Yamadaさん(数学:53 英語:67) 1科目でも40点未満の人 Satoさん(数学:53 英語:22) Tanakaさん(数学:22 英語:89)
91 :
すみません :2006/07/13(木) 13:39:51
補足ですが、(〜を入力)はその単語、数字を入力した場合の結果を表示するということです。
92 :
すみません :2006/07/13(木) 14:30:55
もうひとつ補足です、すみません >例文の14行目以降の結果項目に対応するようにしなさい) とありますが 元の文は 1人目のデータ 名前:(Satoを入力) 数学:(53を入力) 英語:(22を入力) 1人目のデータ 名前:(Tanakaを入力) 数学:(22を入力) 英語:(89を入力) 1人目のデータ 名前:(Yamadaを入力) 数学:(53を入力) 英語:(67を入力) という風に1項目づつ入力していく形式です。 投稿の際に、改行が多かったので縮めました。
>>90 今やってる。 少し待て。
とりあえず仕様は満たすけど
科目が変動する場合まで考慮したほうがいいのか?
94 :
すみません :2006/07/13(木) 15:48:12
科目が変動する場合は考慮しないでいいです。 ありがとうございます。
95 :
93 :2006/07/13(木) 16:11:30
96 :
すみません :2006/07/13(木) 16:23:53
本当にありがとうございます。 大変助かりました。 作っていただいたソースコードも丁寧で、勉強になりました。
97 :
デフォルトの名無しさん :2006/07/13(木) 16:40:44
double hensa = 0.0; for (int i=0; i<1000; i++) { hensa += (data[i] - heikin) * (data[i] - heikin); } hensa /= 1000.0; System.out.println("hensa = "+hensa); このプログラムの意味を誰か教えてくれないでしょうか。
98 :
93 :2006/07/13(木) 16:40:54
>>96 後半の結果表示部分は、ひたすらfor〜が続いてて意図的にダサく作ってある。
各ループで違うのはif文の判断のみだから、ここらをイカす感じに直せばコードは半分になるし
場合によっちゃ点数が上がるかもしらんぞ。
100 :
デフォルトの名無しさん :2006/07/13(木) 19:29:32
【課題】1、N人数分の名前とそれぞれの数学と英語のテストの点数を入力するプログラムを作成せよ。 例えば3を最初に入力すると三人分の英語と数学の点数を入力して表示させるってやつです 2、1のプログラムを元に科目ごとの平均点および最高点を求めるプログラムを作成せよ 【期限】7月14日の午前中 どうかよろしくお願いします
>>97 分散。
平均値からどのくらいはなれているかを調べるやつ
sumは何の値を格納していますか?
public static void main(String args[]) {
double data[] = new double[1000];
for (int i=0; i<1000; i++) {
data[i] = 5.0 + 15.0 * Math.random();
}
double sum = 0.0;
for (int i=0; i<1000; i++) {
sum += data[i];
}
if (sum > 12500.0) {
System.out.println("sum > 12500");
} else {
System.out.println("sum <= 12500");
}
System.out.println("sum = "+sum);
}
}
お願いします。
103 :
名無し募集中。。。 :2006/07/13(木) 21:14:57
同じ課題を聞く馬鹿が2人もこのスレもいるのか その学校も哀れだな
今に始まったことじゃありませn
>>70 あのすいません、そこまでは分かったのですが引数ってのがわかりません。
なんどもウザイでしょうが誰か教えていただければうれしいです。
実行したらプログラムを打ち込める画面が開かれるのでしょうか?
106 :
デフォルトの名無しさん :2006/07/14(金) 01:44:17
【 課題 】複数の画像を一定時間毎に切り替える(スライドショー) 【 期限 】7/16 【 補足 】丸投げですが、よろしくお願いします。
>>108 ありがとうございました。
本当に助かりました・・・
ソースも参考にさせていただきます!
110 :
デフォルトの名無しさん :2006/07/15(土) 16:47:47
【 課題 】入力した数値の平均、分散、標準偏差を求めるプログラム 【 用語 】特にないです 【 期限 】7/17 【 Ver 】特にないです 【 補足 】よろしくお願いします
>>110 import java.io.*;
public class Res110 {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String s;
int n = 0;
double m1 = 0, m2 = 0;
try {
while ((s = r.readLine()) != null) {
for (String t : s.split("[\\s,]")) {
double d = Double.parseDouble(t);
m1 += d;
m2 += d * d;
n++;
}
}
} catch (NumberFormatException e) {
} finally {
r.close();
}
System.out.println("入力された数値の個数 " + n);
if (n > 0) {
m1 /= n;
m2 /= n;
System.out.println("平均 " + m1);
System.out.println("分散 " + (m2 - m1 * m1));
System.out.println("標準偏差 " + Math.sqrt(m2 - m1 * m1));
}
}
}
112 :
デフォルトの名無しさん :2006/07/16(日) 00:06:05
【 課題 】 int[] st={3,2,4,3}; int[] hst={2,2,1,1}; hst[i]=初期値 + (lv+5*st[i])/125; lvが1上がるとpが増え(上昇値は下の表参照)、pをhst[i]だけ消費してst[i]が1上がるというルールです。 if(lv>6)p=p+2; if(lv>22)p=p+3; if(lv>48)p=p+4; if(lv>80)p=p+5; if(lv>130)p=p+6; if(lv>175)p=p+7; 実行時引数として、lv,x,yを与えて int[] st={x,y,a,b};になるまで振って a+bが最大になる振り方を探すアルゴリズムをお願いします さらにめんどくさいことに あるlvになるまではlvが1上がる度にst[0]が毎回1増え、st[1]は50%の確率で1上がります。 lvが一定まで上がるとlvが1上がる度にst[2]が毎回1増え、st[0]は50%の確率で1上がります。 このあるlvというのも変動させてください 【 補足 】 課題ではなくてネトゲのステータスの最良の振り方をプログラミングで計算して出そうと考えました
113 :
デフォルトの名無しさん :2006/07/16(日) 00:30:00
>>111 110です
本当にありがとうございます
申し訳ないのですが、もう1つお願いできないでしょうか・・
【 課題 】
先ほどの課題の延長なのですが、
入力した数値の平均、分散、標準偏差を求め、その求めた数値をエクセルに
書き込む(表示する)ようにするプログラムを作成せよ
申し訳ないのですが、よろしければお願いします
>>113 それ java でやるの? csv 形式で書き出せというんじゃなくて?
>>113 csvで書き出すなら以下を
>>111 のmainのケツに追加
csvファイル名はコマンドライン引数で指定
if (args.length > 0) {
PrintWriter w = null;
try {
w = new PrintWriter(new BufferedWriter(new FileWriter(args[0])));
w.println("\"入力された数値の個数\"," + n);
w.println("\"平均\"," + m1);
w.println("\"分散\"," + (m2 - m1 * m1));
w.println("\"標準偏差\"," + Math.sqrt(m2 - m1 * m1));
} finally {
w.close();
}
}
平均、分散、標準偏差の書き出し部分は標準出力への書き出しと同じく if (n > 0) { }で囲っておいた方がいいかもね なくてもエラーにはならないけど
117 :
デフォルトの名無しさん :2006/07/16(日) 14:38:48
>>114 >>115 >>116 csvで大丈夫だと思います 本当にありがとうございます
ほとんど参考にさせてもらって以下のように作りました
import java.io.*;
public class Res888 {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String s;
int n = 0;
double m1 = 0, m2 = 0;
PrintWriter w = null;
try {
while ((s = r.readLine()) != null) {
for (String t : s.split("[\\s,]")) {
double d = Double.parseDouble(t);
m1 += d;
m2 += d * d;
n++;
}
}
} catch (NumberFormatException e) {
} finally {
r.close();
}
118 :
デフォルトの名無しさん :2006/07/16(日) 14:42:20
117の続きです System.out.println("入力された数値の個数 " + n); if (n > 0) { m1 /= n; m2 /= n; System.out.println("平均 " + m1); System.out.println("分散 " + (m2 - m1 * m1)); System.out.println("標準偏差 " + Math.sqrt(m2 - m1 * m1)); try { w = new PrintWriter(new BufferedWriter(new FileWriter( args[0] ))); w.println("\"入力された数値の個数\"," + n); w.println("\"平均\",\"" + Double.toString( m1 ) +"\"" ); w.println("\"分散\",\"" + Double.toString ( (m2 - m1 * m1) ) + "\"" ); w.println("\"標準偏差\",\"" + Double.toString( Math.sqrt(m2 - m1 * m1) ) + "\"" ); } finally { w.close(); } } } }
119 :
デフォルトの名無しさん :2006/07/16(日) 16:59:27
【 課題 】コマンド行引数で指定したディレクトリの、全てのサブ ディレクトリとファイルを、JTree を用いて表示せよ。 【 期限 】7月20日まで よろしくお願いします
>>106 そんなこと言わずに引数とプログラム打ち込むところ教えていただけないでしょうか
これに卒業懸かってるんでおねがいします
122 :
デフォルトの名無しさん :2006/07/16(日) 19:42:04
自業自得
卒論に関係してるならなおさら教えれん
卒業ってことは大学?4年生? 情報系大学4年でこのレベル?
125 :
でほるとの名無しちゃん :2006/07/16(日) 21:37:06
>>125 AffineTransform のアンカーポイントを指定するところで
イメージの縦横を2で割ればいいんじゃないの
127 :
でほるとの名無しちゃん :2006/07/16(日) 22:13:34
>>126 xform.rotate(theta, image.getWidth(this)/2, image.getHeight(this)/2);
にしてみてもなんかうまくいかないです
>>125 つっこみどころの多いプログラムだけど、とりあえず
public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) {
if (infoflags == java.awt.image.ImageObserver.ALLBITS) {
double theta = Math.toRadians(90);
xform = new AffineTransform();
xform.rotate(theta, width/2, height/2);
repaint();
return false;
}
return true;
}
というメソッドを加えてみて。DrawImageのコンストラクタでは
まだイメージは読み込まれていない状態なので幅や高さの情報は使えないのじゃよ
上のメソッドを加えただけでは無駄の多いプログラムだけどいちおう動くはず
129 :
128 :2006/07/16(日) 22:25:32
Toolkit#getImageは全ての情報を読み終えたImageを生成するわけではない ということを覚えておいたほうがいい
130 :
でほるとの名無しちゃん :2006/07/16(日) 22:31:07
>>128 たしかに動きました。
でもわからないことが増えた。
imageUpdateの中で回転操作してるみたいだけど、
じゃあDrawImageの中には何を書いておけばいいんですか??
回転操作が重複したままでもOK??
トリッキーなソースに見えるのは俺だけだろうか
132 :
でほるとの名無しちゃん :2006/07/16(日) 23:05:32
ToolkitのgetImageは情報をすべて読み終えたイメージを作成しないから 読み終えてないイメージの幅や高さを取得できず、 imageUpdateで画像の読み込みを順次追っていって、 情報をすべて読み終えるまでひたすら回転処理を繰り返しまくり、 最終的にイメージ読み終えた段階で意図したとおりの回転処理が残ってるように するコード、みたいなものになる気がするんですが、 この解釈はハズレですか?
133 :
121 :2006/07/16(日) 23:27:29
そうじゃなくて単位がやばいんです
134 :
128 :2006/07/16(日) 23:50:48
>>130 重複してても無駄になるだけでOK
>>131 うむ、そのとおり。とりあえず動けばいいやと、えいやっで作ったので
>>132 ImageObserber#imageUpdateはImageが情報を取得している間に、
ある特定の情報が使えるようになった時点で呼ばれるメソッド。
幅の情報が分かったとか、高さの情報が分かったとか。
で、infoflagsがImageObserver.ALLBITSとして呼ばれたら全ての情報がそろったということ。
したがって、imageUpdate内での回転操作はImageを読み終えた段階で1回だけ行われる。
で、repaintで再描画させれば回転した画像がpaintによって描画させる仕組み。
なんにせよ、imageUpdateを追加しただけでは無駄が多いプログラムであることは間違いない。
普通にJFrameを継承したクラスの paintで処理したらあかんのかいな
136 :
128 :2006/07/17(月) 00:13:50
137 :
128 :2006/07/17(月) 00:17:37
>>136 あー、JFrameではなくComponentを継承してるけどね。でも、JFrameならpaintComponentで処理した方が。
あと、setBoundsの引数を自分の用意した画像に合わせて変えてるので注意して。100が400に。
138 :
128 :2006/07/17(月) 00:26:11
>>136 補足。回転操作のパラメータ設定をコンストラクタからpaintに移しただけで
なぜうまくいくかというと、Imageが情報を読み込んでいくにつれて再描画が
行われてpaintが呼び出されるから。Imageが全ての情報を読み込んだ時点で
描画が完成する。
139 :
でほるとの名無しちゃん :2006/07/17(月) 09:50:44
回転した画像を表示するだけじゃなくて、 実は回転後の画像をjpgファイルとしてImageIOかなにか使って画像ファイルに したいんだけど、その場合はどうすればいい?
140 :
128 :2006/07/17(月) 10:20:09
コンストラクタ中の g2d.drawImage(image, xform, null); は paint(g2d); の方が描画処理をpaintに集中させる意味からいいかも。
142 :
でほるとの名無しちゃん :2006/07/17(月) 10:56:44
DrawImage.java:15: シンボルを解決できません。 シンボル: メソッド setPreferredSize (java.awt.Dimension) 場所 : DrawImage の クラス component.setPreferredSize(new Dimension(100, 100)); ^ エラー 1 個 こんなエラーでちゃうよ。
143 :
デフォルトの名無しさん :2006/07/17(月) 11:32:52
チョットは自分で考えろハゲ
>>142 >>1 嫁ヨー。テンプレ守れ。
>【 Ver 】希望するJavaバージョンがあれば書きます
>>142 のバージョンって1.4以下じゃないのか?それならそうと書けということだ。
component.setPreferredSize(new Dimension(100, 100));
を消して、
public Dimension getPreferredSize() {
return new Dimension(100, 100);
}
っていうメソッドを咥えろ。
>>143 このスレに頼る人間に考えろという言葉は無駄だ
やりたくもないが必修単位だから仕方がないとかなんとかだろうから
とっとと単位でもくれてやって
そのかわり社会に出たら二度とプログラミングに関わらないようにさせるのが世界のためだ
【 課題 】コンピュータ思考クラスを作成しコンピュータと対戦する三目並べを作れ よろしくお願いします。
147 :
デフォルトの名無しさん :2006/07/17(月) 12:58:10
ハイハイスルースルー
148 :
デフォルトの名無しさん :2006/07/17(月) 18:43:59
【課題】 ■■■ ■■ ■ って表示するプログラムを作成する。 下図のようなものなら ■ ■■ ■■■ public static void main(String args[]){ for (int x=1; x<=3; x++){ for (int y=1; y<=x; y++){ System.out.print("■"); } System.out.println(); } } と自分ではできるのですが 課題のような記述の仕方が分かりません よろしくお願いします。
>>148 public static void main(String[] args){
for (int y = 0; y < 3; y++) {
for (int x = 0; x < y; x++) {
System.out.print(" ");
}
for (int x = y; x < 3; x++) {
System.out.print("■");
}
System.out.println();
}
}
ただしコンソールのフォントが等幅前提
System.out.print(" ")の文字列の中身はいわゆる全角空白ですぜ
150 :
148 :2006/07/17(月) 19:06:52
151 :
デフォルトの名無しさん :2006/07/17(月) 20:43:03
時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) よろしくおねがいします i−want−to−study−java@hotmail.co.jp 専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
監禁されてSPAMメール送信の手伝いさせられそうだな
153 :
デフォルトの名無しさん :2006/07/17(月) 20:53:14
>151 場所は君の自宅?
154 :
デフォルトの名無しさん :2006/07/17(月) 23:32:56
【課題】 今年のカレンダーを作成しなさい 【実行例】 1月 日月火水木金土 1 2 3 4 5 6 7 8 91011121314 15161718192021 22232425262728 293031 以下12月迄 よろしくお願いします。
155 :
デフォルトの名無しさん :2006/07/17(月) 23:45:25
>>154 ★★ Java の宿題ここで答えます Part 56 ★★
http://pc8.2ch.net/test/read.cgi/tech/1145447187/882 882 名前:デフォルトの名無しさん[sage] 投稿日:2006/06/29(木) 21:29:07
【 課題 】
今年2006年のカレンダーを表示するプログラムを作成してください。
目安は20〜30行です。
【 用語 】なし
【 期限 】なし
【 Ver 】どれでも
【 補足 】以下のようにコマンドプロンプトで月ごとに縦に表示させてください
1月
日 月 火 水 木 金 土
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
・
・
・
・
156 :
デフォルトの名無しさん :2006/07/18(火) 03:33:12
>>153 専門学校の自習室の質問受付係みたいなバイトだそうだ
157 :
デフォルトの名無しさん :2006/07/18(火) 03:38:09
158 :
デフォルトの名無しさん :2006/07/18(火) 08:37:49
じゃあ学校名を
時給1000円だったら時間の無駄
161 :
デフォルトの名無しさん :2006/07/18(火) 11:10:07
【 課題 】サンプルプログラムを改良して英単語の入力練習をする簡易タイプ練習ソフトをつくること。 動作は、1.タイプ練習する単語を文字型配列に記憶(5文字以上の単語を10個以上) 2.配列から選んだ単語を一つ画面に表示してキーボードから入力を受け付ける。3.キーボードから入力された文字列と単語を比較し、正解/不正解を表示する。4.上記2,3の動作を繰り返して行い、通算の正解率を表示して終了 【 用語 】if文とfor文を使うこと 【 期限 】7月24日 サンプルは後ではりつけます。分からないので教えてください。お願いします。
162 :
デフォルトの名無しさん :2006/07/18(火) 11:19:52
161です。長いので、二部に分けます。すみません。サンプルは、 import java.io.*; public class Input{ //キーボードから文字を入力するメソッド(変更不要) String str=""; //キーボードから文字を入力するための準備 BufferedReader myReader=new BufferedReader( new InputStreamReader(System.in),1); //キーボードから文字入力開始 try{ str=myReader.readLine(); } catch (IOException e){ } //文字入力終了 return str; }
163 :
デフォルトの名無しさん :2006/07/18(火) 11:28:07
//プログラム本体(ここの中身を改良する) public static void main (String args[]){ String name=""; String tenki=""; System. out. println("あなたの名前を入力してください"); //inputを実行して文字入力 name=input(); System.out.println("今日の天気を入力してください"); //inputを実行して文字入力 tenki=input(); if(tenki.equals("here")){ System.out.println(name+"さん、晴れてよかったですね。"); }else{ System.out.println(name+"さん、晴れなくて残念ですね。"); } } }長くなってすみません。どうかお願いします。
>162-163 せめてコンパイルエラーにならないソースを載せてくれ。
165 :
164 :2006/07/18(火) 11:58:07
>162-163 できたからもう貼るわ。main()の部分だけ。 public static void main(String args[]) { String[] questions = { "aaaaa", "bbbbb", "ccccc", "ddddd", "eeeee", "fffff", "ggggg", "hhhhh", "iiiii", "JJJJJ", }; int questionCount = (int)(Math.random() * questions.length); int correct = 0; System.out.println( questionCount + "問出題します。" ); ArrayList<String> questionList = new ArrayList<String>(); for( String question : questions ) questionList.add(question); Collections.shuffle(questionList); for( int i=0; i<questionCount; i++ ) { System.out.print( "第" + (i+1) + "問:" ); String nowQuestion = questionList.get(i); System.out.println( nowQuestion ); String input = input(); if( nowQuestion.equals(input) ) { System.out.println( "正解!!" ); correct++; } else { System.out.println( "不正解..." ); } } System.out.println( questionCount + "問中、" + correct + "問正解しました。" ); System.out.printf( "正解率 %.1f%%", (correct*100.0/questionCount) ); } import java.util.*; を忘れないように。 JDK5.0じゃないとダメ。
166 :
デフォルトの名無しさん :2006/07/18(火) 12:13:39
どうもありがとうございます。助かります。
167 :
でほるとの名無しちゃん :2006/07/18(火) 14:44:14
余白無しって、、、どういうjpgがいいの?
169 :
デフォルトの名無しさん :2006/07/18(火) 14:57:22
【課題】 1.API仕様書でHashMapクラスの使い方を調べ、以下のプログラムHashSearch.javaを完成させよ。ただしプログラムの動作は、整数値をキーとして、整数値のデータを検索するものである。(例:学生番号をキーとして試験の点数を検索する) 2.上記課題1のプログラムを、整数値をキーとして氏名と電話番号を検索するプログラムに変更せよ。 この場合、キー、氏名、電話番号をフィールドとして持つクラスを作成し、 そのインスタンス(オブジェクト)をHashMapに格納する。 3.上記課題2のプログラムに対して、全データをキーの順あるいは逆順に表示する機能を加えよ。(ヒント:HashMapと似たような名前のクラスを使うと簡単にできる。) 4.「構造体(氏名、受付番号)を要素とする待ち行列のプログラムを連結リストを用いて作成し、enqueue, dequeueの操作ができることを確認せよ。」をJavaで作成せよ。キューを実現するクラスQueueを作成し、そのメソッドとして enqueue, dequeueを実装すること。 長いので2つに分けます。
170 :
169 :2006/07/18(火) 15:02:22
【ソースコード】 import java.io.*; import java.util.*; public class HashSearch { public static void main(String[] args) {HashMap table = new HashMap(); Integer key, data; while (true) { System.out.println("操作を選んで(1:insert 2:delete 3:search 4:print 9:exit) :"); BufferedReader br =new BufferedReader(new InputStreamReader(System.in)); try { int select = Integer.parseInt(br.readLine()); switch (select) { case 1 : System.out.println("キーとデータを入れて下さい:"); key = Integer.valueOf(br.readLine()); data = Integer.valueOf(br.readLine()); // ここに登録するコードを書くこと。 break; case 2 :System.out.println("削除するキーを入れてください:"); key = Integer.valueOf(br.readLine()); // ここに削除するコードを書くこと。 break; case 3 : System.out.println("検索するキーを入れてください:");key = Integer.valueOf(br.readLine());System.out.print("data = "); // ここにデータを検索し表示するコードを書くこと。 break; case 4 : // ここに全データを表示するコードを書くこと。 break; case 9 : System.exit(1); default :System.out.println("select error\n"); break;}} catch (Exception e) {System.err.println("error:" + e); }}}}どうかよろしくお願いします。
171 :
でほるとの名無しちゃん :2006/07/18(火) 15:09:28
>>171 90度回転するんだから高さと幅は入れ替えないとだめよ
>>171 >画像の端っこではなく画像のど真ん中を基準に回すこと
なんだったらそれで間違ってないじゃん
非正方形の画像を回転させたときに
回転前の画像はあって回転後の画像がない部分をクリップしたら
ど真ん中基準で回してないことになるよ
しかも元の課題では
>任意の角度に回転させて
じゃん。90度倍数の回転でないときはどうすんの?
174 :
でほるとの名無しちゃん :2006/07/18(火) 16:59:47
ひとまず今のところ90度ごとの回転しか使わないので
高さと幅をいれかえてみたのですが、
高さと幅を入れ替えて回転させてみても、なんか変。
上と右に黒い余白。なぜ?
>>173 なるほど90度回転以外の場合だと面倒くさそうですな・・・。
ひとまず90度回転をクリアしたい。
Imageインスタンスを画像ファイルに変換するのってどうするんですかね? ImageIO.write()で第一引数にもってこれるのってBufferedImageじゃないですか。 だったらなんとかしてImageをBufferedImageに直せないかと思って調べたりしたんですが駄目なんですね。 いいアイデアあったら教えてください。
177 :
でほるとの名無しちゃん :2006/07/18(火) 17:30:40
>>176 PixelGrabberでいいんじゃね
180 :
でほるとの名無しちゃん :2006/07/18(火) 17:53:30
元画像の中心にあわせて回転していいんじゃないの??
あー usage: java ImageToBufferedImage input_file copied_file rotated_file ね
183 :
でほるとの名無しちゃん :2006/07/18(火) 21:01:37
>>181 その理屈で
xform2.translate(image.getWidth(null), image.getHeight(null));
xform2.rotate(Math.toRadians(180));
こんな感じに180回転も試してみた。
するとやっぱり黒い余白が・・・あきらめるしかない?
いいかげん鬱陶しい
185 :
デフォルトの名無しさん :2006/07/18(火) 22:15:50
次のコードはどこが間違っていますか?誤りがあれば指摘してください。 class SampleP2 { public static void main(String args[]) { char ch; ch = 3.14; System.out.println("変数chの値は" + ch + "です。"); } } です。お願いします。
>ch = 3.14;
間違いも何も・・ 間違えることができる場所がほとんど無いじゃん
じゃあ漏れは敢えて >char ch;
>>183 いちど折り紙と糸と画鋲を使ってくるくる回してみることを勧める
>>190 width2とheight2をprivateにしてねえorz
144です。ありがとうございます。試してみます
>>181
見れん つかいくらなんでもpdfってどうよ
一瞬見れた 多分専修大学
197 :
デフォルトの名無しさん :2006/07/19(水) 17:54:41
専修大学じゃしょうがねぇな。
しょうがないのか 何かあったっけ
何で消えてるんだ。
専修大学だからじゃね
じゃあしょうがないか。
個人情報丸分かりとかだったんじゃね?あたまわりぃwwww
専修大学だからじゃね
204 :
アフォルトの名無しさん :2006/07/20(木) 00:01:21
【 課題 】JPG等の入力画像を拡大、縮小して画像ファイルに出力できるようなプログラムを作りなさい 丸無げということでよろ。
205 :
デフォルトの名無しさん :2006/07/20(木) 00:21:21
>205 >125も>204もHNをデフォルトから微妙に変えているという点から 同一人物ではないかという判断をした俺様がいますよ。
名前なんて見てなかった
208 :
アフォルトの名無しさん :2006/07/20(木) 09:42:18
>208 >184
>208 >184>184>184>184>184 double sx = 0.5, sy = 0.5; BufferedImage bufferedImage = new BufferedImage((int)(image.getHeight(null) * sx), (int)(image.getWidth(null) * sy), BufferedImage.TYPE_INT_RGB); Graphics2D g = bufferedImage.createGraphics(); AffineTransform xform = new AffineTransform(); xform.scale(sx, sy); xform.translate(image.getHeight(null), 0); xform.rotate(Math.toRadians(90));
丸投げです、分かる方いらしたらお願いします。 1. 四則計算が可能な電卓機能 2. 数字ボタンをクリックするとその値が入力 3. 入力および出力可能な数は5 桁以上とする 4. 数字10 個のボタン以外に、「+」「− 」「 アーボタン「C」が存在し、以下の図のように配置すること 789+ 456- 123* 0=c/ 5. 計算できる数は2 個まででよい 例)2 + 3 は計算可能だが 2 + 3 + 4 は計算できなくてよい 6. 小数を入力することができなくてもよい 7、配列変数と繰り返し処理を使用すること
212 :
アフォルトの名無しさん :2006/07/20(木) 13:15:53
>210 真っ黒。
>212 おまえtranslateしてrotateしたあとにscaleしてるだろ ばかにつけるくすりはねえな
【 課題 】キーボードから10個の数字を入力する。 隣同士の足し算をし、以下の例のように1の位の数字を次の行に出力し、 最後に残った数字を出力する。 (例) 数字を入力してください。 2359318473 2 3 5 9 3 1 8 4 7 3 5 8 4 2 4 9 2 1 0 3 2 6 6 3 1 3 1 (以下略 最後に残った数字は 2 です。 【 期限 】明日の昼まで 【 補足 】丸投げです。よろしくお願いします。
>>215 例の答って合ってます?
1になっちゃうんだけど(^^;;;
こっちのコードが間違ってるのかなあ
import java.io.*;
public class NumberPyramid {
public static void main(String[] args) throws IOException {
System.out.println("数字を入力してください。");
String str = new BufferedReader(new InputStreamReader(System.in)).readLine();
int[] val = new int[str.length()];
for (int i = 0; i < val.length; i++) {
val[i] = Integer.parseInt(String.valueOf(str.charAt(i)));
}
System.out.println();
for (int j = 0; j < val.length; j++) {
for (int i = 0; i < j; i++) {
System.out.print(' ');
}
for (int i = 0; i < val.length - j - 1; i++) {
System.out.print(val[i]);
System.out.print(' ');
val[i] += val[i + 1];
if (val[i] >= 10) val[i] -= 10;
}
System.out.println(val[val.length - j - 1]);
}
System.out.println();
System.out.println("最後に残った数字は " + val[0] + " です。");
}
}
入力文字列のチェックとかいろいろやってないので注意。
217 :
デフォルトの名無しさん :2006/07/20(木) 17:53:26
あー被った足し合わせた所を%10とする以外同じなので却下
218 :
215 :2006/07/20(木) 18:17:09
>>216 動作確認したところ正常に動きました。
ありがとうございました。
例に関しては問題の通りに書いたんですけど…
例が間違ってたみたいですね。
219 :
アフォルトの名無しさん :2006/07/21(金) 10:16:38
>>219 そりゃ真っ黒で当たり前だ
もしそれで画像が出てたら神
お前は何も描かないで絵が出てくる魔法の画用紙でも持ってますか
一を聞いて十を知れなんて思わないが九教えたら後の一くらいは自分で分かってほしいものだ
何も考えずにただ漫然とコピーするしかできないばかものはもうここに来なくてよろしい
うるさいうるさいうるさい!あほの子のことなんてもう何とも思ってないんだから! プログラミング使えない平民を使い魔にするなんて、あんた、感謝しなさいよね。 貴族にこんなことされるなんて、普通は一生ないんだから! 宿題を頼みすぎるのはあまり頭に良くないんだゾ!ずっきゅ〜ん
( ゚д゚ )!?
(≡゚∀゚≡)イイニャン
225 :
デフォルトの名無しさん :2006/07/22(土) 12:01:43
スレ違いだけど、
>>225 このキーボード、どこの?
227 :
デフォルトの名無しさん :2006/07/22(土) 16:12:11
プログラム1 整数 in, n, r , stop r←random(99) 「0から99までの数を1つ考えたので、当ててください。」を印刷する in←-1 n←1 in ≠rの間、 | nと「回目の挑戦です。」を印刷する |「0から99までの数を入力してください:」を改行なしで印刷する | in←input() | もしin=rならば | | 「当たり!」を印刷する | を実行し、そうでなくもしin<rならば | |「もっと大きい数です。」を印刷する | を実行し、そうでなければ | |「もっと小さい数です。」を印刷する | を実行する | n←n+1 を繰り返す 課題1、プログラム1は、数当てゲームを一度するプログラムです。(このプログラムを実行するときは、画面右下の「変数表示画面」を小さくして正解が見えないようにしてください)このプログラムを変更して、正解したときのメッセージを、 一回目で当てた時、2〜3回目で当てた時、4〜6回目で当てた時、7回目以降で当てた時で、それぞれ異なる表示をするプログラムにしてください。 さらに、可能であれば、数を7回入力しても当てられないときは「正解は??です。」と表示して終了するようにプログラムを変更してください。(??は正解の数字です。)プログラムの説明も詳しく書いてください。 課題2 プログラム1は、数当てゲームを一度するプログラムです。(このプログラムを実行するときは、画面右下の「変数表示画面」を小さくして正解が見えないようにしてください)このプログラムを変更して、まだ当たっていなくても、 早い回数で当たったように思わせるインチキ数当てゲームにしてください。できるだけ自然に見せる選出工夫してみてください。 プログラムの説明だけではなく、どのように自然に見せる演出をしたかも詳しく書いてください。 大学問題です。 分かる方いたらお願いします。
228 :
デフォルトの名無しさん :2006/07/22(土) 16:18:34
>>227 >>1 嫁テンプレ使え
おまえこないだの専門学校の講師で自分で問題考えただろw
専修大学なんんじゃね
>>225 なにが一流品だヽ(`Д´)ノ
>javac
'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
の糞大学が・・・○| ̄|_
>>227 そもそもJavaの話ではないじゃないか
【課題1】 通常プログラムカウンタはプログラムの実行にしたがって一定の大きさだけ増えていく. しかし,時に,プログラムカウンタに直前の値とは大きく異なる値がセットされる 時がある.それはどんな時か? 【課題2】次のプログラムは何を行うプログラムか.簡単に説明しなさい.また, 結果を得るまでに,A[k]==aの比較が行われた回数を書きなさい. A=new Array(3, 8, 19, 20, 22, 24, 45); i=0; j=A.length-1; a=19; k=Math.floor((i+j)/2); while(i<=j){ if(A[k] == a){ break; } else if(A[k] > a){ j = k - 1; } else{ i = k + 1; } k = Math.floor((i+j)/2); } if(i>j) k=-1; document.write(a," ",k); 【期限】24日までにお願いします
235 :
デフォルトの名無しさん :2006/07/22(土) 22:11:39
Javaじゃねーだろカス
236 :
234 :2006/07/22(土) 22:33:20
すみません無知で これがなんなのかすら分からないもので・・・
237 :
デフォルトの名無しさん :2006/07/22(土) 22:58:21
パスの通ってない大学なんてあるのか? 学校のパソコンは環境変数いじれんかもしれんのに。
241 :
デフォルトの名無しさん :2006/07/23(日) 11:58:41
あるに決まってんだろ そもそも設定ぐらい自分で出来ないのはバカ
>>232 俺の大学はjdkのフォルダや中身にアクセスしようとすると、
「アクセスが拒否されました」って出て使えないから、お前のとこはまだましだぞw
俺はいつも自分のノーパソでコンパイルしている。
>>242 それって何のためにjdkが入ってるんだ?
ディスクの肥やし?
244 :
242 :2006/07/23(日) 13:48:06
>>243 わからん。何回言っても直してもらえんし。
他にEclipseやBorland C/C++が入ってるが同じようにアクセスが拒否されて使えん。
ちなみにVisualStudioはデバッグする権限がないとでる。
どこの糞大学? うちはシステム管理者が常にいて、 そこに直接言いに行ったら 簡単なものならその場で直してもらえるよ
>>242 ユーザが個別にインストールしとけってことだ。
そのほうがjdkのバージョンも管理しやすいという親心。
管理しやすいってw ユーザが個別にインストールする状況なんて管理者にとっては悪夢だ
229さん、失礼しました。よろしくお願いします。
【 課題 】プログラム1 このプログラムは数当てゲームを一度するプログラムです。
public class Kazuate {
public static void main(String[] args) throws java.io.IOException {
java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
int in, n, r , stop;
r = (int)(Math.random() * 100);
System.out.println("0から99までの数を1つ考えたので、当ててください。");
in = -1;
n = 1;
while (in != r) {
System.out.println(n + "回目の挑戦です。");
System.out.print("0から99までの数を入力してください:");
in = Integer.parseInt(br.readLine());
if (in == r)
System.out.println("当たり!");
else if (in < r)
System.out.println("もっと大きい数です。");
else
System.out.println("もっと小さい数です。");
n++;
}
br.close();
}
}
課題1 このプログラムを変更して、正解したときのメッセージを、一回目で当てた時、2〜3回目で当てた時、4〜6回目で当てた時、7回目以降で当てた時で、
それぞれ異なる表示をするプログラムにしてください。さらに、可能であれば、数を7回入力しても当てられないときは「正解は??です。」と表示して
終了するようにプログラムを変更してください(??は正解の数字です)。プログラムの説明も詳しく書いてください。
課題2 このプログラムを変更して、まだ当たっていなくても、早い回数で当たったように思わせるインチキ数当てゲームにしてください。
できるだけ自然に見せる選出工夫してみてください。プログラムの説明だけではなく、どのように自然に見せる演出をしたかも詳しく書いてください。
【 補足 】↑は
http://www.sun.com/java/ ここにあるソフトで行うプログラムです
すみませんむちむちで 【課題】次のプログラムは何を行うプログラムか.簡単に説明しなさい.また, 結果を得るまでに,A[k]==aの比較が行われた回数を書きなさい. public class binarysearch{ public static void main(String args[]){ int A[]={3,8,19,20,22,24,45}; int i=0; int j=A.length-1; int a=19; int k=(int)Math.floor((i+j)/2); while(i<=j){ if(A[k]==a){ break; } else if(A[k]>a){ j=k-1; } else { i=k+1; } k=(int)Math.floor((i+j)/2); } if(i>j)k=-1; System.out.println(a+" "+k); } } 【期限】24日までにお願いします
251 :
デフォルトの名無しさん :2006/07/23(日) 18:30:17
252 :
249 :2006/07/23(日) 18:53:00
すみませんむちむちで レスがなんなのかすら分からなかったもので・・・ 2分以内で探索してくれるから2分探索なんですね!
253 :
デフォルトの名無しさん :2006/07/23(日) 18:56:40
4点
>>250 ありがとうございます。
せっかく答を頂いたのですがsourcepost.sytes.netは現在ディスクぱんぱんエラーで
必要なモジュールをロードできず、ソースを表示できないようです。
ASPが復帰したら確認してみます。
255 :
242 :2006/07/23(日) 20:19:44
>>245 ウラヤマシス。
俺の行ってるみかん大学は・・・orz
いきなりで申し訳ないんですけど。 JavaでRSSリーダーを作る事になったんですが、 なんかいいサンプルコードないですか? いろいろ探してみたんですが、パーサくらいしか無いもので・・・ よろしくお願いします
>256 Jena
258 :
256 :2006/07/24(月) 00:16:04
260 :
256 :2006/07/24(月) 00:25:36
>>259 JDKいるんですか?
そこのHPにはいると書いてない気がするんですが
261 :
256 :2006/07/24(月) 00:35:09
あ、SDKは入れてます。 バージョンが違うから動かないとか?
262 :
256 :2006/07/24(月) 00:40:50
ごめん。俺が悪かったです PATHの所間違えてた。。。 動いてたのはCpad for Java使ってたからだ・・・ スレ汚しスマンです
263 :
256 :2006/07/24(月) 04:25:27
【課題】Javaを用いてRSSリーダーを作成 読み取ったRSSの更新日時の新しい順に並びかえるプログラムの作成 【期限】26日 【Ver】j2sdk 1.4.2 【補足】Jenaをいろいろ見てみたんですが、よく分かりません・・・ ほぼ丸投げですが、よろしくお願いします。
264 :
264 :2006/07/24(月) 13:17:31
超初心者です。よろしくお願いします。 (Ver) J2SE JDK5.0 Update 7 (Instructions) NewYorkLottery is your chance to win millions of dollars! All you have to do is pick five different numbers from 1 to 50 and one MEGA number from 1 to 25 and match them to the numbers drawn. Write a NewYorkLottery Simulator Program in modular form. This program should utilize at least one other method outside of main to generate these numbers. Remember the five numbers from 1 to 50 must be different! The MEGA number can be the same as one of the five numbers. (Example Output) NewYorkLottery Simulator This Week’s Winning Numbers Are: 153972348MEGA number 21
>>265 ヒマだから、俺の堪忍袋の緒の強度の範囲で少しだけ付き合ってやる。
まず、何がわかんねーんだ?
「プログラム引数」の意味か? 簡単にいうとプログラムに与えるパラメータだ。 ググれ。
Eclipseでの実行の仕方か? だったらこのスレに優しいヤツがいたから書いてある。
リンク先サイトのプログラムに関する質問は、本に書いてあるはずだ。
ここで聞く前にその本を読め。
コマンドライン引数でググった方がいいかもな
>>263 仕様がはっきりしてないのでよく分からないが、複数のRSSを読み取ってその更新日時をソートすると決め付け。
コマンドライン引数でRSSのURLリスト(1行1URL)の入ったファイル名を指定。
もし更新日時の情報がない場合は更新日時は遠未来とみなしてソートしている。つまり新しい順なので先頭にくる。
RSSパーザには
ttp://informa.sourceforge.net/ を使った。使い方はそんなに難しくないのでドキュメントを参照汁。
libのうちinforma.jar、jdom.jar、commons-logging.jarにクラスパスが通っていれば、下のコードは通ると思う。
import java.io.*;
import java.net.URL;
import java.util.*;
import de.nava.informa.core.ChannelIF;
import de.nava.informa.impl.basic.ChannelBuilder;
import de.nava.informa.parsers.FeedParser;
public class RSSReader {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new FileReader(args[0]));
ArrayList infos = new ArrayList();
String str;
while ((str = br.readLine()) != null) {
URL url = new URL(str);
ChannelIF channel = FeedParser.parse(new ChannelBuilder(), url);
infos.add(new Info(url, channel.getTitle(), channel.getPubDate()));
}
br.close();
Collections.sort(infos);
Collections.reverse(infos);
for (int i = 0; i < infos.size(); i++) {
Info info = (Info)infos.get(i);
System.out.println(info.getUrl() + " : " + info.getTitle() + " : " + info.getDate());
}
}
static class Info implements Comparable { private URL url; private String title; private Date date; Info(URL url, String title, Date date) { this.url = url; this.title = title; this.date = date; } public int compareTo(Object o) { if (date == null) if (((Info)o).getDate() == null) return 0; else return 1; return (((Info)o).getDate() == null) ? -1 : date.compareTo(((Info)o).getDate()); } public URL getUrl() { return url; } public String getTitle() { return title; } public Date getDate() { return date; } } } バージョン1.5で-source 1.4を使ってコンパイルして確認したので、もし駄目なら適当に直してくれ。 Infoがstaticなのはmainから呼んでいるためなのでRSSReaderのインスタンスを作ってそこから参照するならstaticは不要。 エラーハンドリングちょーてきとーなので、URLからのデータ取得で時間切れとかでも途中でプログラムが止まる。 テストするなら最初のうちはローカルファイルに落としたRSSファイル群に対して行った方がよいかもしれぬ。 あまりテストしていないので扱えないRSSとかあるのかもしれず。 もし、課題が一つのRSS内のitemの更新日時のソートであるのなら、 ChannelIF#getItems()でItemのCollectionを取得して各要素に対してItemIF#getDate()で日付を取得するがよかろう。 課題の意図がつかめないので、もしXMLの扱いとかの練習であったのなら地道にRSSのパーザを書くしかないが。
270 :
デフォルトの名無しさん :2006/07/24(月) 21:25:41
>>264 翻訳の課題だな?
ニューヨークくじで億万長者キタコレ
1〜50から五つの数字、そして1〜25から一つのメガナンバーを選ぶだけでおK
五つの数字はダブっちゃだめだぜ。メガナンバーはどれでもいいぜ。
今週の当選番号は・・・
15 39 7 23 48
そして注目のメガナンバーは・・・ 21!
これだけ分かれば十分だな。
>>266 実行するときのプログラム引数の値が分からないのです。何を入れたらいいのか・・・
本を見ても実行画面も実行の仕方も書いてないんです。なので引数とどこに実行したいプログラムを
打ち込めばいいか教えていただけるとうれしいです。
>>273 時間は腐るほどあったんだからちゃんとソースを読め
java Cell [-tcj] 実行したいプログラム名
275 :
デフォルトの名無しさん :2006/07/25(火) 11:35:18
こんな程度のやつに [-tcj] なんて表記がわかるとは思えんな。
276 :
デフォルトの名無しさん :2006/07/25(火) 12:28:08
【課題】8クイーン問題を解く。位置も表示 【期限】なるべくはやく よろしくおねがいします。レポート終わらない
278 :
256 :2006/07/25(火) 13:09:29
>>268 丁寧にありがとうございます。
仕様の方はそれでいいと思います。
コンパイルは上手く行き、動かそうとしたのですが・・・
Exception in thread "main" java.lang.NoClassDefFoundError: RSSReader
こんなエラーが出ました。
これはどうすればいいのでしょうか?
ほんと、聞いてばかりですみません・・・
279 :
デフォルトの名無しさん :2006/07/25(火) 13:15:47
280 :
256 :2006/07/25(火) 13:56:55
>>279 ありがとうございます。
しかし、そのHPを見る限り、実行がうまくいかない場合(その1)
のエラーと酷似してますが、
実行時のうち間違いは無いです。
javac RSSReader.java
java RSSReader
とちゃんと入力したのですが・・・
>>280 カレントディレクトリがクラスパスに入ってないのかなあ?
全然見当違いかもしれないけど、
java -cp .;informa-0.6.5/lib/informa.jar;informa-0.6.5/lib/jdom.jar;informa-0.6.5/lib/commons-logging.jar RSSReader rsslist.txt
こんな感じで実行してみるとどうですじゃろ?
"informa-0.6.5/lib/"はinformaのjar群が入っているディレクトリなので環境に合わせて適当に変えてください。
282 :
256 :2006/07/25(火) 14:59:12
>>281 ありがとうございます。
実行してみましたが、
Exception in thread "main" java.lang.NoClassDefFoundError: de/nava/informa/core/
ChannelBuilderIF
というエラーが出ました。
パスが通ってなければコンパイルも無理だと思うのですが、見当違いでしょうか?
>>282 少なくともクラスローダがRSSReaderは見つけたらしいですにゃ。
ChannelBuilderIFはinforma.jarに含まれているので、そのエラーが出るのは不思議な気が。
クラスパス指定なしでコンパイルできているということはCLASSPATHにinformaのjarを指定しているのだと思うけど、
CLASSPATHに"."が入ってないとか。
結果は同じことみたいな気がするけど、
java -cp .;%CLASSPATH% RSSReader listfile
とかではどうなんじゃろ? あ、上はWindows環境のときなので。
284 :
256 :2006/07/25(火) 15:37:56
>>283 ありがとうございます。
えーと・・・
C:\informa-0.6.5\lib>java -cp .;%CLASSPATH& RSSReader listfile
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
・・・・・・・(長いのではしょります)
'RSSReader' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
もう何がなんだか・・・
あ、RSSReader.javaはInforma-0.6.5/lib/の中に入れてあります。
>>284 libの中でコンパイルしてたのかあ。ということはCLASSPATHを特に設定していないのかな?
でも、それだとコンパイルが通るのが不思議だ。こちらで同じようにやると、
javac -source 1.4 -cp informa.jar;jdom.jar RSSReader.java
って、-cp付けないとコンパイル通らないお。-source 1.4は余計だが。
java -cp .;informa.jar;jdom.jar;commons-logging.jar RSSReader listfile
で動きません?
クラスパス関係で苦労したことが全くないのでこういうトラブルには不向きだ……
>>284 あー、
> 'RSSReader' は、内部コマンドまたは外部コマンド、
なのは原因分かった。
> >java -cp .;%CLASSPATH& RSSReader listfile
の"%CLASSPATH&"は"%CLASSPATH%"ですじゃ。まあ問題が解決するわけではないけど。
287 :
256 :2006/07/25(火) 16:15:55
いろいろ調べてみたら、1.5で書いてる奴を違うバージョンで動かすとそんなのになる
という記述を発見したので、JDK1.5.07をインストールしてみた。
前の奴はアンインストしました。javaとjavacのバージョンは一致
これもバージョンが違うとそんなエラーが出ると記述があったので調べてみました。
>>285 ありがとうございます
Exception in thread "main" java.io.FileNotFoundException: listfile (指定されたフ
ァイルが見つかりません。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at RSSReader.main(RSSReader.java:9)
こんな感じになりました。なんか足りないものがあるんですかね?
>>286 %CLASSPATH%じゃなくて""の中に書けって事ですね?やってみます。
288 :
256 :2006/07/25(火) 16:17:01
>>287 いや、そりゃ、RSSのURLを書いたファイルとしてlistfileというものを用意しなきゃ
listfileはあくまでも例であって、それじゃパスワードにpasswordって入れる人みたいじゃよw
285のやりかたで動いてるみたいじゃね
286の方はCLASSPATH設定してないんだからやっても意味がないお
290 :
256 :2006/07/25(火) 16:28:36
>>289 ありがとうございます。
えーとlistfileって.txtでいいんですか?
場所はJavaが置いてある場所でいいんですよね?
なんとなくいるんじゃないかと思っていたのですが、
今まで私は、ファイル読み込みする時には、=("listfile.txt")って書き方をしていたので
どこでlistfile.txtをロードしてるのかわからないもので・・・
>>290 普通にテキストファイルでいいですじゃよ。
場所もとりあえずカレントディレクトリでいいと思う。
> コマンドライン引数でRSSのURLリスト(1行1URL)の入ったファイル名を指定。
ね。
BufferedReader br = new BufferedReader(new FileReader(args[0]));
でファイルストリーム開いて、
str = br.readLine()
で1行づつ読み込んでいる。
292 :
256 :2006/07/25(火) 16:43:42
>>292 > 同じエラーが
ってことは、
java -cp .;informa.jar;jdom.jar;commons-logging.jar RSSReader listfile
って実行したんじゃ……
java -cp .;informa.jar;jdom.jar;commons-logging.jar RSSReader listfile.txt
にしなきゃ。無いファイルは当然読めません。
>>292 いまそのRSS見たけど、どちらもchannelには更新日時の情報入ってないね。
itemには入っているものもあるようだけど。
295 :
256 :2006/07/25(火) 16:57:58
【 課題 】以下のプログラムの不具合の発生箇所を示し、その理由を答えよ。 class Point { protected int x; protected int y; public int sum() { return x+y; } } class ColorPoint extends Point { protected int c; public int sum() { return (super.sum())+c; } } class ThreeDPoint extends Point { protected int z; public int sum() { return (super.sum())+z; } } class NewPoint extends ColorPoint {} class Test { ColorPoint cp; public int foo(Point p){ cp = (ColorPoint)p; return cp.sum(); } public int bar() { Point p = new ThreeDPoint(); return foo(p); } static public void main (String[] args) { Test tmp = new Test(); tmp.bar(); } } 3問わからないうちの1問目です。よろしくお願いします。
走らせてみたらいいんちゃうん
>>297 発生箇所は実行すればスタックトレースで出てくる
理由は代入互換性のない型に代入しようなんてふざけたことをやってるから
300 :
297 :2006/07/25(火) 17:44:43
>>298 実際に走らせてみたところ以下のメッセージが表示されました
>Exception in thread "main" java.lang.ClassCastException: ThreeDPoint
> at Test.foo(prog1_1.java:27)
> at Test.bar(prog1_1.java:32)
> at Test.main(prog1_1.java:36)
テンプレに丸投げ推奨とあったので書きませんでしたが、
「キャストのルールに反している部分がある?」と思っています
いずれにしろエラーを除去して正しいプログラムを作成するに至っていません
>>300 プログラムが何をやりたいのかがわからないから正しいプログラムとは何かがわからない
単にエラーを除去するだけでいいのならclass ThreeDPoint extends Pointを
class ThreeDPoint extends ColorPointにすりゃいい
302 :
デフォルトの名無しさん :2006/07/25(火) 17:50:38
fooの引数にわたってるのは実際にはThreeDPoint ThreeDPointはPointに代入できるしColorPointもPointに代入できるがThreeDPointはColorPointと関係ないからにキャストできない。。 何がやりたいプログラムなのかさっぱりだから正しいプログラムが何かもさっぱりわからん。 こんなもの正しいプログラムなんて正解はないよ。 いつも思うが、こういう意味不明なプログラムを問題として出すのはどうかと思うのだが。
303 :
297 :2006/07/25(火) 17:54:58
ageてしまいました(;´Д`)すみません みなさん解答ありがとうございます あまりJavaの問題に触れる機会が無いものだからこの課題の意図することを理解していませんでした どうやらエラーを除去することのみが目的のようなので、みなさんの指摘を参考にして作文します
class Test { static public void main (String[] args) { } } これでも実行時エラーなくなるよ
>>274 *ファイルを開けません。java.io.FileNotFoundException: java (指定されたファイルが見つかりません。)
て出るんですけどどうすればいいでしょうか?ここまで丁寧に教えていただいて恐縮なんですがお願いいたします
306 :
256 :2006/07/25(火) 18:06:55
>>296 ありがとうございます。
ばっちり動きました。
UMLツールとはどんなものですか?
できれば自動的に構造図、クラス図を描いてくれるツールがありがたいのですが
>>306 >>1 嫁教えてもらったキーワードでググるぐらいしろ。単発質問はスレ違い。
309 :
297 :2006/07/25(火) 19:26:13
再度失礼します。2問目はどうにかなったのでもうひとつの課題をみてください。 【 課題 】以下のプログラムをエラーが出ないように修正し、その理由を説明せよ。 以下のエラーが出る場合があった Exception in thread "main" java.lang.ArithmeticException: / by zero at SomeLibraryClass.ichi(Test.java:24) 以下、プログラム class Test { static public void main(String[] args) { int c; if(args.length > 0){ c = Integer.parseInt(args[0]);} else{ c = 0;} System.out.println(" > " + (new UserWrittenClass()).invoke(c)); } } class UserWrittenClass{ int invoke(int x){ SomeLibraryClass some = new SomeLibraryClass(); int y = some.ichi(x); return(y + 10); } } よろしくお願いします。
310 :
256 :2006/07/25(火) 19:27:45
>>309 エラーを出してる元凶のSomeLibraryClassを出さないでどうやって理由を知るんだろ
312 :
デフォルトの名無しさん :2006/07/25(火) 19:59:12
荒らし認定だな
313 :
デフォルトの名無しさん :2006/07/25(火) 20:00:15
304の方法がベストだな
>>309 System.out.println(" > " + (new UserWrittenClass()).invoke(c));
の行を次の7行に置き換える。
UserWrittenClass uwc = new UserWrittenClass();
try {
int r = uwc.invoke(c);
System.out.println("> " + r);
} catch(ArithmeticException e) {
System.out.println("私はこの課題がわかっています");
}
エラーが出ていたのはSomeLibraryClassのichi(int)メソッドの中で
ゼロ除算が発生する場合があるからなので、そのようなケースを
特別扱いすることにした。
315 :
297 :2006/07/25(火) 20:25:59
>>314 解答ありがとうございます
例外処理は全く頭にありませんでしたのでこの機会に理解しながらレポートを書くことにします
316 :
デフォルトの名無しさん :2006/07/25(火) 20:51:25
【 課題 】 キーボードからテストの点を入力し、その平均点を出力するコードを記述してください。 ただし、入力の最後には0を入力しプログラムがそれを判断して 点数の平均値を出力するものとします。 while文を使うこと。 です。お願いします。
それってエラーが出ないように修正したんじゃなくてエラーを捕捉しただけじゃないのか
【 課題 】自由課題なのでどんな内容でもいいです 【 期限 】27日です 【 補足 】当方、学部生1年です。JAVAは時間の都合で3回しか授業を行っていない上、最後の授業でも、スイッチを押すとsinのグラフが表示されるというプログラム程度のレベルでした。これを参考にどなたかよろしくお願いします。
>>316 import java.io.*;
public class Average {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int sum = 0, n = 0;
System.out.print("テストの点:");
int in;
while ((in = Integer.parseInt(br.readLine())) != 0) {
sum += in;
n++;
System.out.print("テストの点:");
}
br.close();
if (n > 0)
System.out.println("平均点:" + ((float)sum / n));
}
}
>>318 ちょw
いくら丸投げ推奨でも丸投げ過ぎ。
せめてテーマくらい自分で決めようよ。
それと3回しか授業が無かったって、どの程度のことを教えてもらったのかな?
グラフ表示というのはアプレットによる実行?
最低限、(1)テーマ、(2)アプレットかアプリケーションか、(3)Javaバージョン、
(4)文法はとりあえず全部カバーしたのか、くらいは情報出さないとね。
>>320 おまえ親切だな
俺はもう無視決定だったのに
>>319 ありがとうございます。
プログラム見る限り自力じゃムリぽいです。助かりました。
>>323 自分でコード書くのは無理っぽくても
せめてそのコードが何をどうしてるのかくらいは理解するよう努力しような。
丸写しだけじゃ力にならんぞ。
325 :
256 :2006/07/25(火) 22:50:51
また質問なのですが
>>268 のソースは大体理解したのですが、
>>269 のstatic class Info implements Comparable { から↓の部分が何やってるのか分かりません。
この機能だけなら
>>268 のソースだけで事足りそうなんですが・・・
誰か少し詳しく教えて貰えませんか?
ヒントは Comparableインターフェースは 何のために使われてるのかってところだな
327 :
256 :2006/07/25(火) 23:21:01
>>326 調べてみました。順序付けですか
という事は、URLとタイトルと日付の順序付けして、関連を持たせてるって事ですか?
更新日時だけ動かしたら意味がないから、
その更新日時のURLとタイトルも一緒に動かす為のクラスですかね?
>>327 更新日時だけのソートならDateのCollectionを作って、それをソートすればいい。
でも、それでは出力がわけわかめなので、
ひとつのRSSにつきURLとタイトルと更新日時をまとめたものをInfoというクラスにした。
このクラスに必要なメソッドとしてはアクセッサと、Collections#sort()を使うためのcompareToメソッド。
Collections#sort()でInfo同士を比較するときに、更新日時を比較するようにcompareToを実装した。
結果的に3つの情報がまとまって動いて、ソートされた状態のCollectionが得られる。
329 :
256 :2006/07/25(火) 23:49:14
>>328 詳しく教えて頂いてありがとうございます
ソートも自分でコーディングするならこんなクラスを定義しなくても済ませる方法もある。 それと、必ず更新日時が得られることが分かっているなら、 更新日時のためのDateがnullにはならないので、 compareToの実装はもっと簡単になって、date.compareTo(((Info)o).getDate())を返すだけ。
>318 import java.applet.*;import java.awt.*;import java.awt.event.*;public class Res1152253441_318 extends Applet implements ActionListener{private boolean f= false;private Button b=new Button("plot");private Panel p=new Panel(){public void paint(Graphics g){if(f){int y=w(0);for(int i=1;i<=100;i++){int z=w(i);g. drawLine(i-1,y,i,z);y=z;}}}private int w(int i){return (int)(Math.cosh((double) (i-50)/50)*-200+300);}};public void init(){b.addActionListener(this);p.setSize (100,100);setLayout(new BorderLayout());add(b,BorderLayout.NORTH);add(p, BorderLayout.CENTER);}public void actionPerformed(ActionEvent e){f=true;p. repaint();}}
332 :
デフォルトの名無しさん :2006/07/26(水) 03:41:15
【 課題 】ブラックジャックを作る。 (ただしカードは1〜10まで、Aは1か11か有利なほうになる。) 1)1回ごとに乱数を発生させて、毎回引いたカードを表示。 ”N”以外を入力すれば次のカードを引く。 ”N”を入力すれば終了し、ポイントを表示。 21を超えれば「負け」の表示。 2) ディーラーとプレイヤーで対戦プログラムを作り、 両者の勝負を判定するプログラムを作る。 【 期限 】本日の夕方まで…。 かなり苦戦してますorz これを完成させないと単位が…orz 期限が短いのですが助けていただけたらありがたいです…。
なんでもっとはやく言わないのか
>>332 情報がなんかあいまいなんだが・・
カードってのはトランプだよな?
ってことは最大4枚同じナンバーのカードがくるんだよな
1ってのはAのことだよな?
ジョーカーはどうなった?
つまるところ40枚のトランプでBJやるってことか?
ディーラーとプレイヤーってのはどっちもユーザなのか?
>>334 すみませんorz
課題内容に書いてある内容もかなり曖昧なのです…。
A〜10までのカードだけで考えて
あとのJ、Q、Kとジョーカーは考えないと言うことです…。
ディーラーとプレイヤーにも特に規定がないので
両方ユーザーで良いと思います。
お願いしますorz
>>332 あとCUIで構わないのかSwingとかを駆使してGUIにせにゃならんのかも
ちゃんと書いとけ。
ギリギリにできあがってから「これじゃダメです!」とかあり得んし。
337 :
332 :2006/07/26(水) 10:13:20
>>336 CUIで大丈夫かと思います。
無知ですみません…。
お願いしますorz
338 :
デフォルトの名無しさん :2006/07/26(水) 11:51:31
【課題】ArrayListの中身の種類を数えよ。 ArrayListの中身は以下の内容が入っており、要素の数は変動するものとする。 値はObjectとして代入されている。 ArrayList:[AA,AB,AB,AC,AC,AA,AC,AB,AB,AA,AC] ArrayListは自ら上記の内容で作成せよ。 大文字、小文字は考えなくてよい。 種類は別のArrayを作成しそこに保存し、種類の値を表示せよ。 表示はCUIに表示せよ。 【期限】今日中がうれしいです。 forとifの繰り返しなんですがうまいこといかない・・・ 自分ではこんな感じに作ってみたんですが、よくわかんねっす。 ArrayList syurui = new ArrayList(); for (int i = 0; i < ArrayList.size(); i++) { boolean mark = true; String check = (String)ArrayList.get(i); for (int j = 0; i < syurui.size(); j++) { if (syurui.get(j) == ArrayList.get(i)) { mark = true; break; } else if(mark == false){ continue; } } }
あ、もちろん、一方だけが21を超えていなければ、そちらが勝ち。
>>338 その授業では、Javaのバージョンは1.4と5.0のどちらだ?
それで少し解答が変わってくる。
>>338 かなり意味不明の課題なのだが、ArrayList中のAAとかABとかは何?
"AA"とか"AB"とかのStringオブジェクトという意味?
種類というのはシンボルの違いによる種別のこと?
種類の値というのは同じシンボルが何個含まれているかということ?
課題の場合だと、AAが3、ABが4、……ということ?
343 :
338 :2006/07/26(水) 12:40:35
>> 341
1.4です。
>>342 ArrayListの中にAA・・・という文字情報を
Stringオブジェクトとして入れています。
課題の場合の種類というのは、AAとABとACの3種類っていう事ですね
すいません、説明不足で・・・
>>343 こんな感じ?
// ArrayList作成
String[] object = {"AA","AB","AB","AC","AC","AA","AC","AB","AB","AA","AC"};
ArrayList arrayList = new ArrayList();
for (int i = 0; i < object.length; i++)
arrayList.add(object[i]);
// 種類を数える
ArrayList syurui = new ArrayList();
for (int i = 0; i < arrayList.size(); i++) {
Object s = arrayList.get(i);
if (! syurui.contains(s)) syurui.add(s);
}
System.out.print("種類は");
for (int i = 0; i < syurui.size(); i++)
System.out.print(syurui.get(i) + (i == (syurui.size() - 1) ? "の" : "と"));
System.out.println(syurui.size() + "種です");
AbstractCollection#contains()はequalsで比較してた気がするのでこれでいいのかな?
>>338 ほい。
import java.util.*;
public class ExclusiveSet{
public static List sourceList = new ArrayList();
public static void main(String[] args){
sourceList.add("AA");
sourceList.add("AB");
sourceList.add("AB");
sourceList.add("AC");
sourceList.add("AC");
sourceList.add("AA");
sourceList.add("AC");
sourceList.add("AB");
sourceList.add("AB");
sourceList.add("AA");
sourceList.add("AC");
ExclusiveSet set = new ExclusiveSet(sourceList);
System.out.println(set.size());
}
private Set exclusiveSet; public ExclusiveSet(List sourceList){ exclusiveSet = new HashSet(); Iterator iterator = sourceList.iterator(); while(iterator.hasNext()){ Object content = iterator.next(); if(!exclusiveSet.contains(content)){ exclusiveSet.add(content); } } } public int size(){ return exclusiveSet.size(); } }
「別のArrayを作成し」ってこっとだったが、本質的にArray(つーかList?)を 使うべき場面じゃないって勝手にこだわってSetを使った。 まあ自分が嫌なら、自分でList使って書き直してみれ。 このソースで方針自体は理解できるだろうし、自分の課題なんだから、 それぐらいやってもバチはあたらんだろう。
今確認してみたら、Listにもcontains()が実装されることになってるから、 まあ型名と、気が向くなら変数名も改変すりゃ、完成品になるだろうよ。
349 :
338 :2006/07/26(水) 13:20:43
>>344 そんな感じです。ありがとうございます。
動作確認をしたんですが、ソースの所で
最後のfor文を抜けた時にCUIに吐き出すようにしたいんですが、
どう書き換えればよいのでしょうか??
>>343 作りかけのソースはcontainsやindexOfも使いたくない感じみたいなのでこれでどうよ
種類を数えるforループの中だけ
ArrayList syurui = new ArrayList();
for (int i = 0; i < arrayList.size(); i++) {
Object s = arrayList.get(i);
boolean notFound = true;
for (int j = 0; j < syurui.size(); j++) {
if (syurui.get(j).equals(s)) {
notFound = false;
break;
}
}
if (notFound) syurui.add(s);
}
>>349 最後のfor文ってどこのfor文よ
種類を数え終わってそのfor文抜けたらちゃんとCUIに結果吐き出してるじゃん
354 :
338 :2006/07/26(水) 13:32:10
>>351 for (int i = 0; i < syurui.size(); i++)
System.out.print(syurui.get(i) + (i == (syurui.size() - 1) ? "の" : "と"));
System.out.println(syurui.size() + "種です");
ここの部分ですが、main自体から吐き出す場合です。
これはfor文の中で吐き出してるって事じゃないんでしょうか??
すいません、よくわからないもので・・・
355 :
338 :2006/07/26(水) 13:34:45
>>350 ありがとうございます。求めてた形です。
>>352 ネストするとは、ループ内容をブレースで囲むという意味で使っているのかな?
きちんとしたコードの時は単文でもブレースで囲むけど、
ここでレスするときは行数減らしに囲わないこともある。
>>354 >>345 はヌルーかよ。まあ別にいいけど。
てか、インデントしてみろ。疑問は晴れるはずだ。
>>354 うーん、本当に勘違いするのかorz
for (int i = 0; i < syurui.size(); i++)
System.out.print(syurui.get(i) + (i == (syurui.size() - 1) ? "の" : "と"));
System.out.println(syurui.size() + "種です");
は
for (int i = 0; i < syurui.size(); i++) {
System.out.print(syurui.get(i) + (i == (syurui.size() - 1) ? "の" : "と"));
}
System.out.println(syurui.size() + "種です");
の意味です。このfor文は種類の内容を書き出すためのものです。
359 :
338 :2006/07/26(水) 13:44:51
>>345 ヌルーしちゃいました。ごめんなさい。
System.out.println(set.size());
ここの部分でエラーがでてしまうんですが、と思ったんですが、
下に続いてることがわかりました。すいません。これも
求めていた形です。
>>358 すいません。そういうことだったんですか。わざわざ説明ありがとうございます。
360 :
338 :2006/07/26(水) 13:47:47
すいません、質問なんですが そのAA,AB…っていう内容を どのような順番で並んでいるかという情報を得るにはどうしたら いいんでしょうか? 例えば、AAなら0、ABなら1、ACなら2見たいな感じです。 並んでいるのがAA,AB,ACなら0,1,2と言う風に表示したい時は どうすればいいのでしょうか??
>>360 何を言いたいのかがイマイチ見えない。
普通に list.get(i) したり、iterator.next() したりするのとは何が違うんだ?
>>360 こう?さっきのコードの後ろにでもアペンド汁
System.out.print("リストの中でのオブジェクトの並びは");
for (int i = 0; i < arrayList.size(); i++) {
Object s = arrayList.get(i);
int index;
for (index = 0; index < syurui.size(); index++) {
if (syurui.get(index).equals(s)) {
break;
}
}
System.out.print(index + (i == (arrayList.size() - 1) ? "です" : ","));
}
System.out.println();
System.out.print("ただし、");
for (int i = 0; i < syurui.size(); i++) {
System.out.print(i + "は" + syurui.get(i) + (i == (syurui.size() - 1) ? "です" : "、"));
}
System.out.println();
せっかくあるメソッドを使えないのは苦痛だ
363 :
338 :2006/07/26(水) 14:21:26
>>361 Arrayの内容をAAなら0で表示ABなら〜って感じで
今度は文字じゃなくて数字で表示したいだけです。
>>362 ありがとうございます。求めていた形です。
364 :
デフォルトの名無しさん :2006/07/26(水) 15:39:36
CreateGame〜陸海空オンライン〜 日本NO1、MMO製作プロジェクト始動!
365 :
332 :2006/07/26(水) 17:14:49
>>339 少し調節したら無事動きました。
大変助かりました、ご丁寧にありがとうございました!
>>365 単位もらえるとイイネ!
ところで、少し調節というのはロジックに関することだったなら教えてほしいな。
一気書きしてコンパイルに通ることの確認と数回の実行しかやってないので、
ロジックがバグってる可能性あるなあと思ってたので。
表示とか構成についての調節なら別に興味がないので不要だけど。
368 :
デフォルトの名無しさん :2006/07/26(水) 23:01:26
369 :
デフォルトの名無しさん :2006/07/27(木) 01:12:36
【 課題 】ボールが放物運動するアニメーションを作成しなさい。 【 期限 】月曜日(31日) 【 補足 】色々と調べたんですが、分かりません。一応、放物運動の公式は分かります。
371 :
デフォルトの名無しさん :2006/07/27(木) 03:43:07
すみません。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class tebut1 extends Applet{ Button bt1,bt2,bt3,bt4; Graphics g; public void init(){g=getGraphics(); setBackground(Color.white); add(bt1=new Button("blue")); add(bt2=new Button("red")); add(bt3=new Button("black")); add(bt4=new Button("reset")); bt1.addActionListener(new MyListener()); bt2.addActionListener(new MyListener()); bt3.addActionListener(new MyListener()); bt4.addActionListener(new MyListener()); } class MyListener implements ActionListener{ public void actionPerformed(ActionEvent e){ if(e.getSource()==bt1){g.setColor(Color.blue);g.fillRect(0,0,199,199);} else if(e.getSource()==bt2){g.setColor(Color.red);g.fillRect(0,0,199,199);} else if(e.getSource()==bt3){g.setColor(Color.black);g.fillRect(0,0,199,199);} else if(e.getSource()==bt4){g.setColor(Color.white);g.fillRect(0,0,199,199);} }}} 以上のアプレットの、htmlを作りたいのですが、無知な為作り方がわかりません。 どなたか手助けしては頂けないでしょうか?
ヘボ大学生・専門学校生と神マが戯れ合うスレ
【課題】テキストファイルのbangouの横にある0123という値を取得したい。 $xxxは最後の$endで一文とする。 $fax bangou 0123456789 tanaka.tarou $end $fax bangou 0123456788 itou.takashi $end この文以下にも別の$マークが付いた文があると仮定して作成せよ。 【期限】今日中がうれしいです。 【補足】if文で$faxが先頭についているデータ全部を取得してから if (str.startsWith("$fax"))でとってくればいいと思うんですが… どうすればいいのかがサッパリです。
値を取得って。。。0123だろ。。位置とかじゃねーのか
376 :
374 :2006/07/27(木) 13:29:18
0123456789の中身はわからないものとする。 すいません。 が抜けていました。申し訳ないです。
だからさ。。。言っても無駄か。。。 0123を発見したときの行番号かな?バイト位置?を知りたいのか、それとも あるかないかだけを知りたいのか。おまえこれ宿題じゃないだろw
378 :
374 :2006/07/27(木) 13:35:22
0123という数値を見つけたら出力するんですが、 やり方がよくわからなくて・・・
379 :
374 :2006/07/27(木) 13:36:59
ああ、申し訳ないです。0123456789っていう羅列は不明。 0123が欲しいわけではなく、数値全てが欲しいんです。
>>379 問題をよく考えて出直してこい。まともな問題作れ。
381 :
374 :2006/07/27(木) 13:43:34
【課題】あるテキストファイルの中に$faxが先頭に付いた文字列がある。 その中にある数値を全て取得したい。 $xxxは最後の$endで一文とする。 $fax bangou 01234 tanaka.tarou $end $fax bangou 56789 itou.takashi $end この文以下にも別の$マークが付いた文があると仮定して作成せよ。 【期限】今日中がうれしいです。 【補足】if文で$faxが先頭についているデータ全部を取得してから if (str.startsWith("$fax"))でとってくればいいと思うんですが… どうすればいいのかがサッパリです。 これでどうでしょうか??
良くなったけどやっぱりわからん。 ほしいのはfax番号と名前?それともfax番号だけ? fax番号をテキストファイルに出力するのか?
383 :
374 :2006/07/27(木) 13:53:07
【課題】あるテキストファイルの中に$faxが先頭に付いた文字列がある。 その中にある数値(番号のみ)を取得して、CUIに出力をする。 $xxxは最後の$endで一文とする。 $fax bangou 01234 tanaka.tarou $end $fax bangou 56789 itou.takashi $end この文以下にも別の$マークが付いた文があると仮定して作成せよ。 【期限】今日中がうれしいです。 【補足】if文で$faxが先頭についているデータ全部を取得してから if (str.startsWith("$fax"))でとってくればいいと思うんですが… どうすればいいのかがサッパリです。 すいません。出力に関することが抜けてました。
>>374 すげー紛らわしい課題だな。
パッと見、完全な板違いかと思ったぞ。
$faxをサーチ開始位置を記憶$endをサーチ終了位置を記憶。 開始から終了の中で数字があれば出力。終了位置に来たら双方のサーチの 開始位置を変えて再度サーチの繰り返し。でいんじゃね。
386 :
デフォルトの名無しさん :2006/07/27(木) 14:29:27
【 課題 】自動でHPに入り、そこにIDとパスワードを入れる 【 期限 】本日中にお願いします 【 Ver 】特にないです 【 補足 】HPの場所やIDとパスワードを入れた後の動作はおまかせします。 初心者で訳わからんのでとにかくよろしくお願いします
なんか、詐欺サイトの下っ端な連中が来てるな
388 :
デフォルトの名無しさん :2006/07/27(木) 14:55:07
詐欺サイトの中の人って基本的に頭が悪いおサルの集まりだからな
【課題】ArrayListの中身を二次元配列にて表示したい。 ArrayListはStringオブジェクトで[ha,hi,hu,he,ho]というデータが入っている。 ArrayListの中身をint型の1に置き換え、二次元配列を用いて表示する。 行と列はどちらも5とし、int型の二次元配列にて表示させる。 [1,0,0,0,0] [0,1,0,0,0] [0,0,1,0,0] [0,0,0,1,0] [0,0,0,0,1] という結果をCUI画面にて表示せよ。 【期限】今日中 java初心者なんでよくわからないんですが、 どうやればいいんでしょうか
390 :
374 :2006/07/27(木) 15:11:47
391 :
デフォルトの名無しさん :2006/07/27(木) 15:18:38
>ArrayListの中身をint型の1に置き換え 意味不明。 日本語不自由なヤツは質問スンナ
【課題】ArrayListの中身を二次元配列にて表示したい。 ArrayListはStringオブジェクトで[ha,hi,hu,he,ho]というデータが入っている。 行と列はどちらも5とし、int型の二次元配列にて表示させる。 [1,0,0,0,0] [0,1,0,0,0] [0,0,1,0,0] [0,0,0,1,0] [0,0,0,0,1] という結果をCUI画面にて表示せよ。 【期限】今日中 これでどうすか
>>392 情報がさらに減ってるぞ
意味不明といわれて削れば済むと思ってるのか
>>392 ほらよ
ArrayList al=new ArrayList();
al.add("[ha,hi,hu,he,ho]");
int[][] ar={{1,0,0,0,0},{0,1,0,0,0},{0,0,1,0,0},{0,0,0,1,0},{0,0,0,0,1}};
for(int i=0;i<5;i++){
System.out.println("["+ar[i][0]+","+ar[i][1]+","+ar[i][2]+","+ar[i][3]+","+ar[i][4]+"]");
}
>>374 超適当
static Pattern pattern = Pattern.compile("\\$fax bangou (\\d+) \\S+ \\$end");
static void hoge(String s) {
Matcher m = pattern.matcher(s);
while(m.find()) {
System.out.println(m.group(1));
}
}
396 :
374 :2006/07/27(木) 16:59:20
>>395 実行してみたんですが、うまくいきませんでした。
データ自体は読み込めているんですが
欲しい値がでてきませんでした。。。orz
>>396 読み込むデータの一部と、どれが欲しい値かを書いてくれ。
特に問題なく動いてるみたいだが class moge { public static void main(String[] a) { String x = "$fax bangou 01234 tanaka.tarou $end\n$fax bangou 56789 itou.takashi $end\n$fax bangou 0123456789 tanaka.tarou $end\n$fax bangou 0123456788 itou.takashi $end\n"; hoge(x); } static Pattern pattern = Pattern.compile("\\$fax bangou (\\d+) \\S+ \\$end"); static void hoge(String s) { Matcher m = pattern.matcher(s); while(m.find()) { System.out.println(m.group(1)); } } }
399 :
374 :2006/07/27(木) 17:27:45
>>397 読み込むデータの一部ですが、
$name tarou tanaka $end
$name itou takashi $end
$fax bangou 01234 tanaka.tarou $end
$fax bangou 56789 itou.takashi $end
っていう感じに入っています。
欲しい値はbangouの後にある数値だけが欲しいんです。
400 :
374 :2006/07/27(木) 17:29:19
>>398 動きました。ありがとうございます。
String xに全てを入れる方法以外に別の方法で取り出す事は
難しいでしょうか??
別に全部入ってなくても、たとえば String[] x = {"$fax bangou 01234 tanaka.tarou $end", "$fax bangou 56789 itou.takashi $end", "$fax bangou 0123456789 tanaka.tarou $end", "$fax bangou 0123456788 itou.takashi $end\n"}; for(String y:x)hoge(y); こんな感じでも使えると思うが。 もちろん一気に配列に入ってなくても1行づつ読んではそれをhoge()に渡してもいいし
data.txtにデータが入ってるとしたら、こんな感じでどう? public static void main(String[] args) throws IOException { Scanner in = new Scanner(new File("data.txt")); while(in.hasNextLine()) hoge(in.nextLine()); }
403 :
374 :2006/07/27(木) 17:39:30
>>401 なるほど。ありがとうございます。
ええと、よくわからないで言ってるんですが、
今はバッファリーダを使ってファイルを開いてるんですけど
if (str.startsWith("$fax")) {
欲しい値のプログラムを書く?
}
っていう感じでもいけるんでしょうか?
404 :
374 :2006/07/27(木) 17:44:27
最初はStringTokenizerで値を引っ張ってこようと 思ったんですけど、値の中身が可変するらしいので if (!(token.equals("01234") || token.equals("56789"))) とかでいけると思ったんですけどねー・・・(´・ω・`)
>>404 StringTokenizerを使う場合はこんな感じか?
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new FileReader("data.txt"));
while(true) {
String str = in.readLine();
if (str == null) break;
if (str.startsWith("$fax ")) {
StringTokenizer st = new StringTokenizer(str);
boolean b = false;
while(st.hasMoreTokens()) {
String token = st.nextToken();
// 前のtokenがbangouの場合このtokenを出力する
if (b) System.out.println(token);
// このtokenがbangouかどうかをbに代入する
b = token.equals("bangou");
}
}
}
in.close();
}
406 :
374 :2006/07/27(木) 18:03:49
>>405 おお、まじですか。できたんですねorz
自分のコーディングミスでした・・・ありがとうございます。
booleanを使う理由がはっきりしないんですが、絶対条件として
data.txtがあり、中のデータがわかっていれば書く必要ってないんですか??
【 課題 】文字列結合。txt1〜txt4までのファイルを開いて、一行ずつ文字を結合して、txt0.txtを作成する。 【 期限 】明日、明後日 【 補足 】 for(int i=0; i<4; i++) { String n = String.valueOf(i+1); fr = new BufferedReader(new FileReader("C:/file/"txt"+ n +".txt")); } 上のような感じでテキストファイルを読み込ませてます。 また、テキストファイルの中身は 【txt1】 【txt2】 【txt3】 【txt4】 新しい 朝が来た。 希望の 朝が来た。 休暇中の 課題は 後日 発表する。 事故に 気をつけて 夏期休暇を 過ごしましょう。 では よい休暇を。 7/25 上記のようになっており「nullが検出されるまで読み込む」というのが条件で txt1を3行、txt2,3を4行、text4を5行読み込み、それぞれの1行目を txt0に結合して出力(新しい朝が来た。希望の朝が来た。)させるプログラムです。 説明が支離滅裂かもしれませんが、よろしくお願いします。
>>408 public static void main(String[] args) throws IOException {
ArrayList[] data = new ArrayList[4];
for (int i = 0; i < 4; i++) {
String n = String.valueOf(i + 1);
BufferedReader fr = new BufferedReader(new FileReader("C:/file/txt" + n + ".txt"));
while (true) {
String line = fr.readLine();
if (line == null) break;
data[i].add(line);
}
fr.close();
}
FileWriter fw = new FileWriter("C:/file/txt0.txt");
for (int i = 0; i < 4; i++) {
fw.write((String) data[i].get(0));
}
fw.flush();
fw.close();
}
411 :
367 :2006/07/27(木) 22:05:51
【 課題 】メインメニューから1〜5,9の数字を入力することで対応した操作を実行する。(すべてDOSプロントのコンソール画面上で) 1:arraylistに登録された社員番号一覧を表示する。(社員番号は4桁の数字) 2:社員番号をarraylistに追加する。(入力後メインメニューへともどる。) 3;登録した社員情報を削除する。 4;arraylistにある社員情報を書き込む。 5;書き込んだ社員情報を読み込む→機能選択1の一覧表示でみられるようにする。 9;終了する 1の画面では一覧を表示した後に、リターンキーを入力することによりメインメニューへともどる。 2〜5は番号追加削除、ファイルの読み書きが終わり次第メインメニューへともどる。 【 期限 】出来れば明日の朝8時か昼12時までにお願いしたいです 。 【 補足 】367のときより課題を簡単にしてあります、あとは自分でがんばってみますので メインメニューから数字を入力することにより、各画面へと遷移する段階程度のプログラムでもいいのでよろしくお願いします。 他になにかわからないこと不足した点がりましたら指摘お願いします。 ↓メインメニュー参考 1 登録 2 削除 3 変更 4 書き込み 5 読み込み 9 終了する 機能選択__←ここに数字を入力
413 :
367 :2006/07/27(木) 22:44:17
>>412 ありがとうございます
その間にもう一度javaテキスト読みなおしてきます
415 :
デフォルトの名無しさん :2006/07/27(木) 23:07:30
>>414 俺関係ないが
あんたおもろいし参考になる
416 :
ど素人 :2006/07/28(金) 02:05:52
前期の追試です。この2問に単位がかかっています。よろしくお願いします。 2.通常プログラムカウンタはプログラムの実行にしたがって一定の大きさだけ増えていく. しかし,時に,プログラムカウンタに直前の値とは大きく異なる値がセットされる 時がある.それはどんな時か? 3.次のプログラムは何を行うプログラムか.簡単に説明しなさい.また, 結果を得るまでに,A[k]==aの比較が行われた回数を書きなさい. A=new Array(3, 8, 19, 20, 22, 24, 45); i=0; j=A.length-1; a=19; k=Math.floor((i+j)/2); while(i<=j){ if(A[k] == a){ break; } else if(A[k] > a){ j = k - 1; } else{ i = k + 1; } k = Math.floor((i+j)/2); } if(i>j) k=-1; document.write(a," ",k);
マルチ&板違い 死ね
>>416 2:神にクラックされたとき。
3:逆行列を計算するプログラム。
>一定の大きさだけ増えていく ダウト
422 :
408 :2006/07/29(土) 07:48:56
>>409 作ってくれてありがとうございます。
書込み禁止だったため御礼が遅れてすみません。
あと、質問があるのですが
data[i].add(line); ←の処理でNullPointrExceptionが発生するのですが
どうすれば解決するのでしょうか・・・?
そもそも、data[i].add(line);という表記自体をはじめて見たので
意味自体が分かりませんorz
それと、これはこのスレの住人の方に聞きたいのですが
皆さん参考書は何を使っていますか?
お勧めがあれば教えて頂きたいのですが。
Listをnewしてないからじゃないか?
気が向いたので答える
簡単に言うと
data[i]というのはArrayList型の配列dataの
i番目に格納されてるはずのArrayLisにおいて
lineをaddしようとしているがdataの中身は
空っぽ、つまりArrayListは入っていない
のでぬるぽが投げられる
要約すると
>>423 参考書は使ったことが無い
>>422 data[i].add(line); が読めない時点で、純粋に実戦不足。
問題がたくさん載ってるやつを探してやりまくればいい。
426 :
408 :2006/07/29(土) 17:23:35
>>423-425 ご指摘と解説ありがとうございます。
ついつい参考書にばかり目がいき、問題集を買うという考えが欠落してました。
精進して出直してきます。
重ね重ねありがとうございました。
プログラムで問題集ってどうよ
428 :
デフォルトの名無しさん :2006/07/29(土) 18:38:34
HashTableクラスを用いてこなす課題です。 課題: 銀行口座番号(account)をキーとして使用し、Personオブジェクトで値を表す。 Personオブジェクトには氏名(name)、パスワード(password)、残高(salary)を保存する。 銀行口座番号を入力し、パスワードを確認した後、預け入れ(dep)か引き出し(with)かを選び金額を指定すると、残高にそれが反映されるようなプログラムを作成せよ。 どなたかよろしくお願いいたします。 氏名とかは適当なので構わないようなので、適当に書いていただければ結構です。
432 :
408 :2006/07/30(日) 08:10:32
出直してくると言いつつ、どうしても作れないので再度助言をお願いしますorz for(int i = 0; i < 4; i++) { String n = String.valueOf(i+1); fr = new BufferedReader(new FileReader("C:/file/txt"+ n +".txt")); list[i] = new ArrayList(); String line = fr.readLine(); if(read == null) { break; }} list[i].add(line); } ↑のプログラムで「txt1〜4までの1行目を読み込む」が実行されていますが 「txt1〜4の2行目以降を読み込む」にはどうしたら良いのでしょうか?
if(read == null) なんだこれ
「課題」ある画像をハイキュービック法を使用して補間せよ 「期限」一週間以内 「言語」Java 以上の課題が出ました。ハイキュービック法の説明を詳しくしているページがなかったので よろしくお願いします。ハイキュービック法の部分のプログラムだけでもいいので 教えてくださいい。
バイキュービックなw 調べなおして分からんかったらまたおいで
その課題が出たまさにその授業で原理を習ったんじゃないのか?
どうせ聞いちゃいねえんだろ
てかJavaでバイキュービックしたいなら・・・ 先生はアルゴリズム書いて来いなんて言ってないだろ
>>435 AffineTransformで変換行列決めて、
その変換行列からAffineTransformOpを得る時にバイキュービックを指定して、
Graphics2D#drawImageするなりAffineTransformOp#filterするなり自分の好きにしろ。
441 :
440 :2006/07/30(日) 19:00:06
Graphics2D#drawImageは余計だな
442 :
440 :2006/07/30(日) 19:03:16
あー、いや、いいんだ 処理する画像がBufferedImageならGraphics2D#drawImageでいける。 頭が寝てるな
443 :
デフォルトの名無しさん :2006/07/30(日) 21:32:47
444 :
デフォルトの名無しさん :2006/07/30(日) 22:06:06
課題:ひな形プログラム中の 次の各メソッドを完成させよ。完成すると、ソート途中の様子を 表示しながらクイックソートを実行してくれるようになる。 1-2 parition 1-3 quickSort 1-4 main 1-1 medianOf3の順でつくるのがよい。 期限:7/31 補足:ひな形は長いのであとで貼ります。 お願いします。
445 :
デフォルトの名無しさん :2006/07/30(日) 22:07:14
課題:ひな形プログラム中の 次の各メソッドを完成させよ。完成すると、ソート途中の様子を 表示しながらクイックソートを実行してくれるようになる。 1-2 parition 1-3 quickSort 1-4 main 1-1 medianOf3の順でつくるのがよい。 期限:7/31 補足:ひな形は長いのであとで貼ります。 お願いします。
446 :
デフォルトの名無しさん :2006/07/30(日) 22:09:13
class QuickSort{ //比較回数を覚えておくための変数 static intcompare = 0; //コピー回数を覚えておくための変数 static int copy = 0; //入替回数を覚えておくための変数 static int swap = 0; static void swap(int a[], int i, int j) { //1-0:配列の要素を入れ替えるメソッド //動作:配列aの要素a[i]とa[j]の値を入れ替える //例: a[0]=10, a[1]=30, a[2]=20の場合 // swap(a,1,0)を実行するとa[0]=30, a[1]=10, a[2]=20となる。 // swap(a,1,2)を実行するとa[0]=10, a[1]=20, a[2]=30となる。 int tmp; tmp = a[i];copy++; a[i] = a[j];copy++; a[j] = tmp;copy++; swap++; } static void showArray(int a[], int l, int r) { //1-0:配列の内容を表示するメソッド //動作:部分配列a[l]〜a[r]の要素を表示 //例: a[0]=10, a[1]=30, a[2]=20の場合 // showArray(a,0,2)を実行すると画面に // 10 30 20 // と表示される。 // showArray(a,1,2)を実行すると画面に // 30 20 // と表示される。
447 :
デフォルトの名無しさん :2006/07/30(日) 22:11:40
//★以降を適切に埋めよ(課題1-1) int i; for(i=l;i<=r;i++){ System.out.print(" "+a[i]); } System.out.println(""); } static void initArray(int a[], int N) { //1-0:配列にランダムな値を代入するメソッド //動作:N個の要素を持つ配列aに対し、1〜Nまでの範囲の数をランダムに入れる //ただし、a[0]には常に0を入れること。 int i; a[0]=0; for(i=1;i<N;i++)a[i] = i; for(i=1;i<N;i++){ int j,k; j = (int)(java.lang.Math.random()*(N-1)) + 1; k = (int)(java.lang.Math.random()*(N-1)) + 1; swap(a,j,k); } } static int medianOf3(int a[],int l, int r){
448 :
デフォルトの名無しさん :2006/07/30(日) 22:13:40
//1-1:配列の左端・中央・右端の値を並べ替え、 // 「3要素の中央値」を計算するメソッド //例: a[0]=10, a[1]=30, a[2]=20,a[3]=10,a[4]=25の場合 /* medianOf3(a,1,3)を実行すると a[1] = 30 a[(1+3)/2] = a[2] = 20 a[3] = 10 であるから、a[1],a[2],a[3]が a[0]=10, a[1]=10, a[2]=20,a[3]=30,a[4]=25と並べ替えられ、 中央値として20を返す。 */ //例: a[0]=10, a[1]=30, a[2]=20,a[3]=10,a[4]=25の場合 /* medianOf3(a,1,4)を実行すると a[1] = 30 a[(1+4)/2] = a[2] = 20 a[4] = 25 であるから、a[1],a[2],a[4]が a[0]=10, a[1]=20, a[2]=25,a[3]=10,a[4]=30と並べ替えられ、 中央値として25を返す。 */ //手順は次のようになる。 /* 1.a[l],a[(l+r)/2],a[r]のうち、最も大きい要素が a[r]に来るようにa[l],a[(l+r)/2],a[r]の内容を交換 2.a[l],a[(l+r)/2],a[r]のうち、大きい要素がa[(l+r)/2]に 来るようにa[l],a[(l+r)/2]の内容を交換 3.a[(l+r)/2]の値を返す */ intc;
449 :
デフォルトの名無しさん :2006/07/30(日) 22:15:44
//★以降を適切に埋めよ(課題1-1) return a[c]; } static int partition(int a[], int l, int r, int pivot){ // 1-2: 配列の分割を行うメソッド //動作:部分配列a[l],...,a[r]を分割値pivotを使って分割する。 //(分割後の部分配列a[l],...,a[r]は分割値pivotよりも //値が小さい部分Aと値が分割値pivot以上の部分Bに //分けられている。) //分割の境目の要素(上記Bの左端の要素)の添字を //戻り値として返す //例: a[0]=10, a[1]=30, a[2]=20,a[3]=10,a[4]=25の場合 // partition(a,1,4,15)を実行すると、配列aの内容が // a[0]=10, a[1]=10, a[2]=20,a[3]=30,a[4]=25 // となり、(境目の要素20がa[2]に入っているので) // 戻り値として2を返す //手順は次のようになる。
450 :
デフォルトの名無しさん :2006/07/30(日) 22:18:40
/* 1.変数i,変数jの値をそれぞれl-1,rに初期化 2.iの値がj以上になるまで以下を繰り返す 2-1.a[i]の値が分割値pivotより大きくなるまで iの値を増やす 2-2.a[j]の値が分割値pivotより小さくなるまで jの値を減らす 2-3.iの値がj以上だったら処理を中断 2-4.a[i]とa[j]の内容を入れ替え 3.分割に要した比較回数(=iの増加分+jの減少分)を 変数compareに加算 4.iの値を戻り値として返す */ int i,j;
451 :
デフォルトの名無しさん :2006/07/30(日) 22:20:12
//★以降を適切に埋めよ(課題1-2) return i; } static void quickSort(int a[], int l, int r){ //1-3: 再帰的にクイックソートを行うメソッド //動作:部分配列a[l],...,a[r]を再帰的にクイックソートする //例: a[0]=10, a[1]=30, a[2]=20,a[3]=40,a[4]=25の場合 //quicksort(a,0,4)を実行するとa[0]〜a[4]がソートされ //a[0]=10, a[1]=20, a[2]=25,a[3]=30,a[4]=40 //となる。 //例: a[0]=10, a[1]=30, a[2]=20,a[3]=40,a[4]=25の場合 //quicksort(a,2,4)を実行するとa[2]〜a[4]がソートされ //a[0]=10, a[1]=30, a[2]=20,a[3]=25,a[4]=40 //となる。
452 :
デフォルトの名無しさん :2006/07/30(日) 22:21:19
//手順は次のようになる。(参照:教科書p.286) /* 1.部分配列の要素数が1より大きければ以下を実行 1-1.a[r]を分割値として採用 ※余裕のある人はmedianOf3メソッドを使ってみよ 1-2.分割前のa[l]〜a[r]の内容・分割値を画面に表示 1-3.paritionメソッドを用い、a[l]〜a[r]を 分割値a[r]で分割 1-4.分割の境目の場所を変数(例えばi)に覚えておく 1-5.分割の境目の値a[i]と分割値a[r]を交換 1-6.分割後のa[l]〜a[r]の内容・分割値を画面に表示 1-7.a[l]〜a[i-1]を再帰的にquickSort 1-8.a[i+1]〜a[r]を再帰的にquickSort 1-9.ソートの完了したa[l]〜a[r]の内容を画面に表示 */
454 :
デフォルトの名無しさん :2006/07/30(日) 22:22:49
//★以降を適切に埋めよ(課題1-3) inti,pivot; } //小さい部分ファイルのソートに使う挿入ソート static void insertionSort(int a[], int N){ //1-0:動作:a[0]〜a[N-1]を挿入ソートするメソッド //※カットオフつきクイックソートの仕上げに利用 inti,j,v; for(i=2; i<N; i++){ v=a[i]; j=i; while(compare++ > 0 && a[j-1]>v){ a[j]=a[j-1]; copy++; j--; } a[j] = v; } } //カットオフつきクイックソート static void quickSortWithCutoff(int a[], int l, int r, int M){ //1-0: (カットオフありで)再帰的にクイックソートを行うメソッド //動作:部分配列a[l],...,a[r]を再帰的にクイックソートするが、 //部分配列の要素数がM未満だったら何もしない
455 :
デフォルトの名無しさん :2006/07/30(日) 22:26:58
456 :
デフォルトの名無しさん :2006/07/30(日) 22:52:00
>>455 です。無駄なスペースを使ってしまいすみませんでした。どうかお願いします。
457 :
デフォルトの名無しさん :2006/07/30(日) 23:39:17
かぶった。上の桁へのリンクを持って計算では末尾再帰できるようにしたんだけど、
あまり変わらないから廃棄。
>>443 の例題はスペルミス以前にコンパイル通らない。
セミコロンいっこ足りなくて。
>>459 俺も最初はそっちで考えたんだけど、出力の実装がスマートじゃないな〜
などと思いながら、結局トップからいくことにした。
>>460 うん。出力するとき逆順になっちゃうので確かにprintの実装がスマートじゃなくなってしまった。
ありがとうございましたー!
>>462 ID出てないんだし、どれに対するレスか明記しろよ。
ここ数日間で完結していないもの。
>>369 (回答有り)
>>392 (回答有り)
>>428 >>435 (コメント多数)
>>443 (回答有り)
>>457 他人を巻き込んでるんだから、放り投げるやつも最後まで責任持てよな。
>>1 で
5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。
ってあるけど、これはもう「ここに投稿した時点で、他人を巻き込むことに
なります。反応があった場合は責任を持って、必ず返信等を行うこと!」
ぐらいキツく書いてもいいんじゃないか?
465 :
443 :2006/07/31(月) 03:45:24
すいません462は458に対してです。 でもよく分かりませんでした。53!が70桁になるのを知っていると仮定して作っていいようです。
>>465 教官がそう言ったのか?
そういう風に、最初から天井を設置するようなプログラミングは
せん方がいいぞ。面倒と思うかもしれんが、最初から制限の大きい
ものを作ってしまうと、後々変更したいと思ってもうまくいかない。
まあここで質問してるようなやつに力説しても仕方ないが。
>>466 javaは7月から習ったばかりだから簡単にしてくれたのかも。
458のプログラムをそのように変更するとしたらどこを変えればいいでしょうか?
471 :
468 :2006/07/31(月) 12:39:25
>>470 ご指摘ありがとうございます。
【 期限 】8月2日正午
以上です。
>>457 static void initArray(int a[], int N) の説明が矛盾してる(1〜Nまでの
範囲と書いてるのに、a[0]は0)。
それと、そのソースがやりかけなのか何なのか知らんが、それぞれの数字が
1個ずつでなければいけないのかどうかも不明。
473 :
デフォルトの名無しさん :2006/07/31(月) 14:55:27
474 :
デフォルトの名無しさん :2006/07/31(月) 14:56:22
あと、なぜJavaのリンクリストにpush_back()とかprint()があるのか問い詰めたい。
>>468
476 :
デフォルトの名無しさん :2006/07/31(月) 15:13:50
おぉ、自作クラスかよ… そこまで面倒見切れん。適当に修正してくれ。
>>468 //ココを考える
for (int i = 0; i < lst.getSize(); i++) {
String str = lst.getData(i);
if (str.equals("*")) {
double lval = Double.parseDouble(stk.pop());
double rval = Double.parseDouble(stk.pop());
stk.push(Double.toString(lval * rval));
} else if (str.equals("+")) {
double lval = Double.parseDouble(stk.pop());
double rval = Double.parseDouble(stk.pop());
stk.push(Double.toString(lval + rval));
} else {
stk.push(str);
}
}
double ans = Double.parseDouble(stk.pop());
System.out.println("answer = " + ans);
>>474-475 意図した通りになってるから問題ないといえば問題ないかもしれないけれど、
必要のないjava.uti.*をインポートしたりして混乱させてるのは問題のような。
標準のクラスと同じ名前をつけるのは慎重にしないとね。
import java.io.*;もいらないし。
>>473 Stringの比較を==で行うのは(略
>>457 をやりかけてたけど、この時間でも
>>472 にレスがないってことは
放棄と見なして良いかな。
>>457 をちらっと見たけどstaticの嵐かよ
アルゴリズムの勉強っぽいから仕方ないけどJavaいらないぞ
481 :
468 :2006/07/31(月) 16:50:57
>>477 素早い対処ありがとうございますm(_ _)m
後程動作確認をしてみます。
482 :
477 :2006/07/31(月) 17:08:11
今気がついたけれど、lvalとrvalは名前が逆だった。 スタックから先に取り出したものが演算子の右側だね。 加算と乗算しかなかったので気がつかなかった。 if (str.equals("*")) { double rval = Double.parseDouble(stk.pop()); double lval = Double.parseDouble(stk.pop()); stk.push(Double.toString(lval * rval)); } else if (str.equals("+")) { double rval = Double.parseDouble(stk.pop()); double lval = Double.parseDouble(stk.pop()); stk.push(Double.toString(lval + rval)); } else { の方がいいかも。結果は変わらないけれど。
483 :
408 :2006/07/31(月) 18:27:18
>>433 if(read == null)→if(line == null)ですね。
プログラムを混同してました。
申し訳ないです。
>>434 おかげさまで一通り完成しました。
ArrayListというのは便利な機能ですね。大変勉強になりました。
現在は
【txt1】 【txt2】 【txt3】 【txt4】
新しい 朝が来た。 希望の 朝が来た。
休暇中の 課題は 後日 発表する。
事故に 気をつけて 夏期休暇を 過ごしましょう。
では よい休暇を。
7/29
上の「txtのnullの部分(txt1の4・5行目、txt2、3の5行目)」を(" ")で表示する
プログラムを作っています。
まだ完成には程遠いですが、ArrayListを用いて作成したいと思います。
>>408 に協力してくださった方々、重ね重ねありがとうございました。
a
b
c
d
e
f
W ‥ ZZZzzzzzz....... X x Y Y
α
今日中とかって、終わってるな。 普段 Swing しか使っとらんから、やってやれん。
494 :
492 :2006/08/02(水) 15:20:03
// 上部分コンポジット Composite compo = new Composite(shell, SWT.BORDER); // サッシュ SashForm sash = new SashForm(shell, SWT.HORIZONTAL); // 下部分キャンバス final Canvas sitacanvas = new Canvas(shell, SWT.BORDER); // サッシュ左のtree置く場所 Composite compotree = new Composite(sash, SWT.BORDER); // サッシュ左のキャンバス Canvas hidaricanvas = new Canvas(compotree, SWT.BORDER); // サッシュ左のツリー作成 Tree tree = new Tree(compotree, SWT.BORDER); // サッシュ右コンポジット生成 Composite compomigi = new Composite(sash, SWT.BORDER); // サッシュ右真ん中の部分 Composite compohyouji = new Composite(compomigi, SWT.BORDER); ここからどうすればああいう形になるんだろうか・・・
>>492 Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout(SWT.VERTICAL));
new Composite(shell, SWT.BORDER);
SashForm sash = new SashForm(shell, SWT.HORIZONTAL);
Composite composite2 = new Composite(sash, SWT.BORDER);
Composite composite3 = new Composite(sash, SWT.BORDER);
composite2.setLayout(new FillLayout(SWT.VERTICAL));
new Composite(composite2, SWT.BORDER);
new Tree(composite2, SWT.BORDER);
composite3.setLayout(new FillLayout(SWT.VERTICAL));
new Canvas(composite3, SWT.BORDER);
new Composite(composite3, SWT.BORDER);
new Canvas(shell, SWT.BORDER);
おお、かぶった。 というか本人ですか。それでできているような気が。
497 :
492 :2006/08/02(水) 15:42:59
>>496 ありがとうございます。
確かにFillLayoutでやると簡単なんですが、GridLayoutでやろうと
思ってるんです。さきほどの図のような配置にはできたんですが、
そこからレイアウト設定を行っていきたいんですが、どうやればいいのかが
サッパリです・・・orz
もう少し細かくwidgetの高さをコントロールしたいのなら、 gridData = new GridData(GridData.FILL_HORIZONTAL); gridData.heightHint = 150; sitacanvas.setLayoutData(gridData); こんな感じでheightHintを使えばいいのかな。
eclipse本家のSWTのドキュメントを見た感じSWTのGridLayoutって SwingのGridLayoutとGridBagLayoutの中間的能力なのかな。 微妙に中途半端だ。
502 :
492 :2006/08/02(水) 16:57:56
>>499 ありがとうございます。できました。
>>500 そうですねー。全部設定するのは非常にめんどくさいですがorz
今全ての要素にheightHintとwidthHintはっつけてます
>>502 分かっていると思うけど一応付け加えておくと、
例ではどのGridDataもFILL_BOTHかFILL_HORIZONTALを設定しているので、
widthHintは無視される。幅を指定したいなら、FILLの設定を変えないと。
高さについてもFILL_BOTHのやつは同様に。
504 :
492 :2006/08/02(水) 17:31:10
>>503 ですね。今はこんな感じで作ってます。
ありがとうございましたー。
// 上部分コンポジット配置
GridData TopArrangement = new GridData(GridData.FILL_HORIZONTAL);
TopArrangement.heightHint = 40;
Composite compo = new Composite(shell, SWT.BORDER);
compo.setLayoutData(TopArrangement);
505 :
デフォルトの名無しさん :2006/08/03(木) 16:17:08
【 課題 】 DBを使わない掲示板(JSPとServlet) 名前、題名、本文を入力するテキストエリア 投稿、クリアのボタン 投稿ボタン押下時の時間を取得し「名前」「題名」「本文」「投稿時間」 この4つの値を保持し、形成して出力します。 【 補足 】 形としては、t-cup(でしたっけ?)みたいな画面構成です。 画面上部に投稿用のフォームがあり、投稿する度に画面下部へ「名前」「題名」「投稿時間」「本文」 が出力されるようにして下さい。 初期表示時は過去ログが表示されるだけです。 「削除」や「編集」の機能は必要ありません。 よろしくおねがいします!
【 課題 】1つのテキストを逆から読み込み、4つのファイルに分解するプログラム
【 期限 】明日まで
【 補足 】
>>483 から拝借(パクってすまん)
新しい、, 朝が来た。, 希望の, 朝が来た。
休暇中の, 課題は, 後日, 発表する。
気をつけて, 夏期休暇を, 過ごしましょう。
では , よい休暇を。
7/29
これを各列毎に分割するプログラムです(例:1つ目のファイルには「新しい」と「休暇中」
2つ目のファイルには「朝が来た。」「課題は」「気をつけて」「では」といった具合です)
逆から読み込む処理が思い浮かばないので何方か頼みます。
使って欲しい構文:ArrayList、Split
(特に必要がないのであれば無視してください)
どういう基準で分割するのかわからん そもそも何を目的とするかわからん 逆から読み込むのが目的なのかそれとも 結果的に逆になっていればいいのか 出直して来い
508 :
506 :2006/08/03(木) 21:19:27
>>507 新しい,朝が来た。,希望の,朝が来た。
上の文章を「,」で区切って
kadai1.txtに「朝が来た。」
kadai2.txtに「希望の」
kadai3.txtに「朝が来た。」
kadai4.txtに「新しい」を書き込むプログラムです。
(
>>506 の11.12行目と矛盾してますが、こちらが正規のようです。申し訳ありません)
お手数かけます。
あーなんだ、問題文あるなら丸写しで。ないなら ・何を基準に文を区切るのか ・区切った文章をfile1~4のうちどれに書くのかは何を基準にしているのか の点を明確に
510 :
506 :2006/08/03(木) 21:57:32
課題2-2 1つのテキストを逆から読み込み、4つのファイルに分解するプログラムを作成せよ。 テキストの中身 2005年,国家試験,合格者,(春期) 基本,シスアド,ソフ開,ネットワーク 22%,61%,10%,7% 各文章を「,(カンマ)」で区切り 最後尾の文字からfile1に書き込む形です。 初めから問題文を書けばよかったですね。テンパってすみません。 結果的に kadai1.txt kadai2.txt kadai3.txt kadai4.txt 2005年 国家試験 合格者 (春期) 基本 シスアド ソフ開 ネットワーク 22% 61% 10% 7% になれば良いと思います(ずれてたらすみません)。 何度も何度もスレ汚し申し訳ない。自分の説明下手さ加減に涙出そう。
>>510 > 1つのテキストを逆から読み込み、
逆から読み込む意味がわからん
ん? 逆になってないような・・
>>510 >>508 を見て
>>510 を見ると滅茶苦茶だぞ
kadai1.txt kadai2.txt kadai3.txt kadai4.txt
(春期) 合格者 国家試験 2005年
ネットワーク ソフ開 シスアド 基本
7% 10% 61% 22%
こういう形にしたいんじゃないのか?
とりあえず泣く前にモチツケ
>>511 課題って書いてるし、そういう処理をさせたいだけじゃないの?
ふつーに考えれば意味ないわなw
514 :
506 :2006/08/03(木) 23:55:23
>>513 泣いてはいませんが画面の前で呆けてました。
ご指摘の通り、その形式です。
>>510 は忘れてください('A`)
重々すみませんが
プログラム作成のほどよろしくお願いします・・・・。
あー、アフォや、アサーション有効にしてなかった。。orz FileSplitter の load 中にある assert list.size() > maxElementSize; は、 assert !(list.size() > maxElementSize); の間違い。
517 :
505 :2006/08/04(金) 16:12:52
誰か
>>505 の相手してやって
俺はやる気にならんから
521 :
デフォルトの名無しさん :2006/08/05(土) 09:34:44
依頼じゃないけどみんな凄いな。 実力上げようと思ってきたんだけど俺全然わからないわww もっとまじめに授業受ければよかったと思い独習中です。 まだクラス、メソッド云々辺り。 死にたい。
授業は関係ないと思うよ 向いてないだけだろうね
俺も独習で実力挙げるためにここにいるよ Javaの授業は無かったな・・
524 :
デフォルトの名無しさん :2006/08/05(土) 14:24:47
>>522 まだ初めて2日くらいです。
Eclipse入れて組み始めたのは今日が初日。
3年か4年前に授業でやったんだけどサボってばかりでした。
見たような課題が多かったのでまじめに受けてればってことでした。
525 :
デフォルトの名無しさん :2006/08/05(土) 14:47:40
つーか雑談はスレ違い
527 :
デフォルトの名無しさん :2006/08/05(土) 15:33:04
SWINGってやっぱWINとMACじゃ見た目違う件について
>>530 言葉も知ってるし使ってるけどもしかして
それって見た目同じ!ってことじゃなかったのか!?
はあ?
なんだWINDOWSスタイルサポートされてねぇじゃんつかえね( ゚д゚)、ペッ
失せろ
糞言語
流石は宿題スレだなwww
>>515 折角作ってくださったのに、連絡が遅れて申し訳ないです。
ちょうど金曜日に事故って片手片足折れた(正確にはひびが入った)ので
入院することになりました。
まぁそういうことですので許してください、お願いします。
嫌です
>>538 は釣りだろ。
不慮の事故なら教官の救済がある。
そしたら、礼の書きこみか修正の要望があるはず。
それとも、そういった緊急事態にまともな対応ができないガキか?
541 :
デフォルトの名無しさん :2006/08/07(月) 01:41:40
【 課題 】Miller-Rabin法により,10進数で50桁のランダムな素数を 確率1−1/10^8で作成するプログラム。 【 期限 】8月中旬まで 【 補足 】BigInteger classを使う。 ランダムな素数とは、プログラムを実行するたびに10^49〜10^50-1 の範囲にある素数がランダムに出力されるということ。 BigInteger(int bitLength, int certainry, Random rnd) probablePrime(int bitLength, Random rnd) nextProbablePrime() isProbablePrime(int certainty) これらのconstructor,methodを使ってはいけない。 他のconstructor,methodは何でも使って良い。 宜しくお願いします。
【 課題 】イクリプスで簡単なゴルフゲームを作れ 【 期限 】1週間 【 補足 】丸投げですがよろしくお願いします
544 :
デフォルトの名無しさん :2006/08/07(月) 22:02:25
>>543 ありがとうございます。
はい、復活してからで大丈夫です。
545 :
542 :2006/08/08(火) 01:46:21
何となく分かってきたんでパワーメーターの所だけでも教えていただけませんでしょうか
お前がわかってても俺らには全然わからん
548 :
543 :2006/08/08(火) 09:32:48
550 :
デフォルトの名無しさん :2006/08/08(火) 18:42:17
>>548 実行できました。
ありがとうございました。
>>549 ありがとうございました。なんとかなりそうです
552 :
デフォルトの名無しさん :2006/08/09(水) 07:15:47
あげます
553 :
MMM :2006/08/09(水) 08:06:00
554 :
553 :2006/08/09(水) 08:06:33
非定常の場合について、要は、 T'[k]=F0*[(1+(Δr)/(2*r[k])*T(k+1)+(1/(F0)-2)*T[k]+(1-Δr/(2*r[k]))*T[k-1]+{(Δr)^2}/k*H] T'[0]=4*F0*{T[1]+(1/(4*F0)-1)*T[0]+{(Δr)^2/(4*k)*H} //境界条件 H=32/(π^2)*10^10 [J/m3・s] T[k] : K番目における温度 T[k+1] : (k+1)番目における温度 F0 : フーリエ数。Fo=k*Δt/(ρ*Cp*(Δr)^2) Δr : 分割した時のメッシュの厚さ r[k] : 円の中心からk番目までの長さ を解けばいいということになっているのですが、微分方程式を解く所に間違いがありそうです。 添削よろしくお願いしますm(_ _)m
555 :
デフォルトの名無しさん :2006/08/09(水) 08:47:57
うまく走らないというが うまいかうまくないかの判断を知ってるのはお前だけ
556 :
デフォルトの名無しさん :2006/08/09(水) 09:40:18
557 :
デフォルトの名無しさん :2006/08/09(水) 10:25:39
課題というか質問です SunJavaWebServerをサーバとすることになったんですが、 jspでの記述で、htmlタグ要素の、例えばlength内にスクリプトレットやタグライブラリで、 length="<bean:write name="hogeForm" property="hoge"/>" とすると、ダブルクォーテーションが正常に認識できないって言われたんですが、調べてもそんな現象話題になってなくて困ってます;; ちなみに上記の場合はlength='〜'とすることで一応解決します。 jspがjavaとしてのコードよりhtmlタグを優先して見るなんて聞いたことなくて… どなたか教えて下さい!
558 :
デフォルトの名無しさん :2006/08/09(水) 10:29:25
拡散方程式なんか、Fortranでやればいいのにな。
560 :
557 :2006/08/09(水) 10:45:00
ありがとうございます! 旅だってきます!
ソースみて思った。
マジで
>>553 は Fortran でやれよ。
extends Matrix とか、ダメな継承の典型例だし。。。
>extends Matrix うはw これって何継承してんの
意味わからん継承
564 :
553 :2006/08/09(水) 12:32:34
皆さんレスサンクスです。 実は今回の課題はどの言語を使ってもいいんですよね…皆さんスミマセンm(_ _)m おとなしくfortranでやろうかと思います また別スレで同じ質問させて頂きます。マルチっぽくなってしまいますがどうかご勘弁をm(_ _)m
565 :
デフォルトの名無しさん :2006/08/10(木) 03:29:42
【 課題 】次の様なアクセスができるクラス群を実現せよ(パッケージを利用する事) 。 クラスA、クラスAを継承するクラスB、A、Bとは継承関係のないクラスC、A、B、Cのインスタンスを利用するクラスD。 クラスAはクラスA内でしかアクセスできない変数aを持つ。 クラスAはAおよびCでのみアクセスできる変数abを持つ。 クラスBはBでしかアクセスできない変数bを持つ。 クラスAはA、B、Cでのみアクセスできる変数cを持つ。 クラスCはどこかからでもアクセスできる変数cpを持つ。 上記が実現できるようにクラスの配置を行い、それが実現されている事を示すプログラムをクラスD内で実現せよ。 変数の型は何でも良い(上の「アクセスできる」とは、メソッドを経由してではなく、何らかのクラスインスタンスαを使ってα.cの様に利用できる事を言う)。 【 期限 】なるべく早く。 丸投げですが、よろしくお願いします。
567 :
565 :2006/08/10(木) 05:37:31
>>566 素早い解答ありがとうございます。
これで安心して夏休みを迎えることが出来そうです。
568 :
566 :2006/08/10(木) 05:52:07
ひとつ書き忘れ B.javaで System.out.println("クラスA内の、A、B、Cでのみアクセスできる変数c : " + classB.c); のclassB.cがclassA.cでないのはprotectedなフィールドの場合は サブクラスからのアクセスはサブクラスのインスタンスを通さないとできない制限のため つまりスーパークラスのインスタンスを通してはアクセスできないため
宿題では内のですがBooleanを使った使用法の例えをあるだけ知りたいです 自分が知っているのは、こういう処理を抜けさせたいときに使う方法です Boolean boo = (true); while (boo) { if (1 == 1) { boo = (false); }
>
>>569 while(true){
if(条件){
break;
}
}
571 :
569 :2006/08/11(金) 00:47:01
>>570 お早いレスありがとうございます、質問の仕方が悪かったです
自分が知っているのは、そういうやり方のみで
その他にBooleanを使った使用例のプログラムを見てみたいです
>>569 の場合、普通booleanを使うと思う。autoboxing/auto-unboxingが効くから1.5ではコンパイルできるけど。
よくあるBooleanの使い方はbooleanな値をコレクションの要素にしたいときとかかな。
Javaのサンプルコードとかが多くあるサイトとかを見つけて、Booleanで検索すればBooleanの使用例を収集できるのでは?
まあスレ違いなのでこれ以上質問したい場合は質問スレへどうぞ。
574 :
デフォルトの名無しさん :2006/08/13(日) 12:19:02
【 課題 】jpg形式の画像ファイルを範囲指定によってトリミングできるプログラムを作りましょう 【 用語 】トリミング=切りとり 【 期限 】8月末まで 【 Ver 】とくになし 【 補足 】マウスのドラッグで範囲指定できるようにしたいけど、面倒なら座標指定でも可
576 :
575 :2006/08/13(日) 18:52:56
1.4ならsetLocationByPlatform()も除去しないとだめだね
577 :
575 :2006/08/13(日) 19:38:56
いちいちホームディレクトリが開くのがうざければ JFileChooser c = new JFileChooser(); を JFileChooser c = new JFileChooser(file); にすれば画像ファイルと同じディレクトリが開く しかし課題と関係ないところの話だな
>>578 お前な、自分が常識的だと思われたかったら、doc形式はやめろよな。
>>579 常識をもっていれば宿題丸投げで単位を取ろうなんて普通思わない
>>578 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28204
>>581 >>579 > 常識的だと思われたかったら
宿題を丸投げするなってことだろ?日本語以前に
この場の状況を理解していないお前がレスするなよボケ
夏休み中のガキはひっこんでろ
IDの見えないスレッドで何を言っても無駄ですよと。。。
宿題系のスレは、全部fusianasan必須にすればいいと思うんだ
585 :
アフォルトの名無しさん :2006/08/14(月) 11:19:32
>>575 java1.4の場合、setLocationByPlatform()とsetComponentPopupMenu()を
どういう風にしたらいいんですか?
場の状況とかナントカ言っていながら、
>>580 のおかげで
>>579 の
doc形式でやりとりするのは迷惑だとの親切な指摘が無駄に
なってしまった件。
OpenOfficeくらいいれろと。
一太郎形式よりは、マシだがdocは、ねーよwww PDFであげろよな。妥協してTXT
>>585 setLocationByPlatform()もsetComponentPopupMenu()も消せ
もともと課題で求められていない部分だ
見れないものや見たくないものを面倒な思いまでして見てやろうなどと思わず、 やれる範囲で対応すればいいんじゃないか?それこそ自分自身の宿題じゃないんだから。 必要なければスルーに徹する。やる気があるなら淡々とやる。皮肉も喧嘩腰もいらない。 単にdoc形式なんかで回答者の間口を狭める不利益が理解できなかった578の罪。
テンプレにそこら辺も追加した方がいいのかな? #常識だとは、思うが・・・。
593 :
デフォルトの名無しさん :2006/08/14(月) 20:51:00
宿題マダー? 早くこいやー こちとら暇なんだよ。
>>578 のドキュメントが消えてる件。
礼儀知らずもいいところだな。
【 課題 】素数 p に対し, p+2 が素数である時,p と p+2 の組 (p,p+2) は双子素数といいます. 例えば最低の双子素数は, 3,5 です. いま自分の学籍番号の下三桁を number とし誕生日をbirthday とします (例えば 12 月 5 日が誕生日の時,birthday=1205,2 月 16 日の時は birthday=216 です). このとき,2 以上,number+birthday 以下の双子素数をすべて計算するプログラムを作成しなさい. 【 期限 】なし(提出済のため) 【 Ver 】1.4
>>597 > 【 期限 】なし(提出済のため)
?????? ? ? ? ? ? ?????????? ? ? ? ? ? ? ? ? ? ?
>>597 出してるならいいじゃん。再提出にしても期限は、あるだろうに。。。
納期なしの案件がきたらどうするよ?
金にならんぞw
y=x^2のグラフを表示せよ
>>603 簡単じゃないか。
簡単携帯S
By au by KDDI
負じゃないんだから∩はねぇだろw
低学歴くさいインターネッツですねw
610 :
603 :2006/08/14(月) 23:31:30
あれ?まだ誰も答えて下さってないのね・・・
>>610 難しいんですw難し過ぎるからググれカス
612 :
603 :2006/08/14(月) 23:37:31
>>611 あるぇ〜、答えられない人に命令されたくないYO!
夏だな
614 :
603 :2006/08/14(月) 23:44:57
>>613 あるぇ〜、答えられない人は、レスする権利ないYO!
615 :
603 :2006/08/14(月) 23:45:28
さっさと答えろ廃人ども
616 :
603 :2006/08/14(月) 23:46:11
617 :
603 :2006/08/14(月) 23:46:48
あの教えて頂けませんか? あとググるって何ですか?
618 :
603 :2006/08/14(月) 23:50:11
age
619 :
603 :2006/08/14(月) 23:50:43
騙るの止めてくれませんか><
620 :
603 :2006/08/14(月) 23:51:20
答えれないならこのスレにいないでください
621 :
603 :2006/08/14(月) 23:51:55
622 :
603 :2006/08/14(月) 23:52:58
さっさと教えろと何度言えばいいのかと。 こちとら期日が迫ってるんだよと。
623 :
デフォルトの名無しさん :2006/08/14(月) 23:54:46
さて、本物は良いとして、y=x^2のグラフを表示するプログラムマダー?
なんだなんだ、ここは、Javaを使っているのにプロットも出来んのか?
Javaっつったらグラフ描くための言語だろーがよ
でどこまで本物の603?
質問テンプレ埋めてないからスルーしろ
【 課題 】 y=x^2のグラフを表示せよ(X軸Y軸も表示すること) 【 用語 】二次関数 【 期限 】8月末 【 Ver 】最新版 【 補足 】アプレット使用
>>632 public class G extends java.applet.Applet{public void paint(java.awt.Graphics g){int w=getWidth();int h=getHeight();int
p=0;int q=h*10*99/11/100;g.setColor(java.awt.Color.RED);for(int i=0;i<110;i++){double x=(double)(i-10)/100.0;double y=x*
x;int u=(int)((x+0.1)*w*10/11);int v=(int)((1.0-y)*h*10/11);g.drawLine(p,q,u,v);p=u;q=v;}g.setColor(java.awt.Color.BLACK
);g.drawLine(0,h*10/11,w,h*10/11);g.drawLine(w/11,0,w/11,h);}}
なんで最新版なのかと小一時間?
最新版てb94とかのことか
【 課題 】Eclipseにおいてスタック、逆ポーランド記法を用いた加減乗除算を行う プログラムをつくりなさい。除算で割り切れないものは分数で出力すること。 【 用語 】ないとおもいます。 【 期限 】本日午後4時 【 Ver 】わかりません 【 補足 】アプレット使用不可
637 :
636 :2006/08/18(金) 15:40:46
期限今日中でした_| ̄|○ 誰かマジで頼む
むう今見た せめて前日ならね
同じく今見た 期限ぎりぎりになってあわてる馬鹿にはいい薬だ
641 :
636 :2006/08/18(金) 16:26:57
先生に謝ってきたorz 期限月曜まで((=゚Д゚=)のびた われながら馬鹿だとは思うがほんとよろしく頼む
間が悪いってこういう事を言うんだな。
645 :
636 :2006/08/22(火) 15:42:32
646 :
こんこん :2006/08/27(日) 14:42:24
課題ができないんですがどなたか助けてください。 できる方宜しくお願いします。 その課題は… 2を底とする最小の強擬素数、2,3を底とする最小の強擬素数、2,3,5を底とする最小の強擬素数、 2,3,5,7を底とする最小の強擬素数、2,3,5,7,11を底とする最小の強擬素数…と可能な限り計算 するためのJavaプログラミングを作成せよ。 というものです。 締め切りは8月中にできるだけお願いします。
647 :
デフォルトの名無しさん :2006/08/27(日) 17:11:43
糞して寝ろ
>>553 はFortranよりMATLABでやったほうが早いんでは?
MATLABは金がかかるのでMATLABのオープンソース版Octaveもおすすめだが。
>>646 もっと詳しく説明しろもう底なんか忘れたんだ
>>646 >>1 を読み、課題提示用テンプレにしたがって再提示。
数学問題ならそのアルゴリズム等もできるだけ示したほうがいい。
アルゴリズム自体が分からないのなら、それは板違いであって数学板で聞いた方がいい。
Javaの宿題はアルゴリズムを理解することでなく、どうやってJavaで実装するかだ。
(・3・) エェー マルチはむっしっし
653 :
こんこん :2006/08/27(日) 21:50:47
すいませんでした。 課題提示用テンプレにしたがって再提示します。
654 :
こんこん :2006/08/27(日) 22:11:38
【 課題 】2を底とする最小の強擬素数、2,3を底とする最小の強擬素数、2,3,5を底とする最小の強擬素数、
2,3,5,7を底とする最小の強擬素数、2,3,5,7,11を底とする最小の強擬素数…と可能な限り計算
するためのJavaプログラミングを作成せよ。
【 用語 】強擬素数についてですが
http://www.ise.chuo-u.ac.jp/TISE/pub/journal10/journal1001.pdf#search= '%E5%BC%B7%E6%93%AC'
の定義1.6を参照願います。
【 期限 】急ですが8月中でお願いします
【 Ver 】特にないです。
【 補足 】BigInteger(int bitLength, int certainry, Random rnd)
probablePrime(int bitLength, Random rnd)
nextProbablePrime()
isProbablePrime(int certainty)
これらのconstructor,methodを使ってはいけない。
他のconstructor,methodは何でも使って良い。
よろしくお願いします
655 :
こんこん :2006/08/27(日) 22:18:59
656 :
デフォルトの名無しさん :2006/08/27(日) 22:40:54
中央大学乙
【 課題 】 ・凸多角形を走査変換するプログラムを作成せよ。 ・2次元空間でテクスチャマッピングを行うプログラムを作成せよ。 ・球を陰影をつけて描画せよ。レイトレーシングを利用してもいいが、2次元の円の内部に奥行きや法線を適当な方法で計算して立体感を出すのでもいい。 【 期限 】今月いっぱい 【 補足 】JAVAやったことないっす
659 :
こんこん :2006/08/28(月) 00:39:32
【 課題 】Miller-Rabin法により,10進数で50桁のランダムな素数を 確率1−1/10^8で作成するプログラム。 【 期限 】8月中旬まで 【 補足 】BigInteger classを使う。 ランダムな素数とは、プログラムを実行するたびに10^49〜10^50-1 の範囲にある素数がランダムに出力されるということ。 BigInteger(int bitLength, int certainry, Random rnd) probablePrime(int bitLength, Random rnd) nextProbablePrime() isProbablePrime(int certainty) これらのconstructor,methodを使ってはいけない。 他のconstructor,methodは何でも使って良い。 541の上記の問題を548の答えとは別のやり方でできる方宜しくお願いします。
660 :
デフォルトの名無しさん :2006/08/28(月) 01:02:14
随分ワガママな奴だな
661 :
こんこん :2006/08/28(月) 01:10:07
ワケありです。 この宿題は人と答えがカブると都合が悪いので。 ワガママと言われるのも無理ないですが。。。
つーか、期限切れてんじゃん
663 :
こんこん :2006/08/28(月) 01:47:53
↑すいません、期限は8月中です。
っObfuscator
>>659 たかが中央大学なんだ、かぶっても問題ないだろう。
なんで、こんこんなの?
>>654 効率無視。無駄がいろいろ。底2,3,5までしか確認してない。
実行時に-Xmxでメモリ割り当てをできるだけ大きくとっておくこと。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28251 実行速度が犠牲になるがメモリ使用量を減らすには、11行目から34行目を以下のように変更。
private boolean isComposite(BigInteger n) {
BigInteger sqrtn = sqrt(n);
for (BigInteger m = THREE; m.compareTo(sqrtn) <= 0; m = m.add(TWO)) {
if (n.mod(m).equals(BigInteger.ZERO)) {
return true;
}
}
return false;
}
longの範囲でしか求めないのなら合成数の判定に関わる部分全般をBigIntegerからlongにした方が少し速いし、
メモリ使用量も少し減る。確認してないけどメモリさえ潤沢ならば2,3,5,7,11,13,17,19,23,29,31を底とする
最小の強擬素数までは大丈夫っぽい。もし試すならisComposite(long)を呼び出す側も変更が必要。
isComposite(n.longValue())みたいな感じで。
private ArrayList<Long> notComposite = new ArrayList<Long>();
{ notComposite.add(2l); notComposite.add(3l); notComposite.add(5l); notComposite.add(7l); }
private boolean isComposite(long n) {
long sqrtn = (long)Math.sqrt(n);
boolean b = true;
for (long m : notComposite) {
if (m > sqrtn) { break; }
if (n % m == 0) { b = false; break; }
}
if (b) { notComposite.add(n); }
return ! b;
}
669 :
こんこん :2006/08/28(月) 17:08:56
ありがとうございます。 コンパイル試してみます。
670 :
こんこん :2006/08/28(月) 19:13:10
コンパイルできました。 ありがとうございました。 プログラムの内容の詳しい説明してくれるとありがたいです。
671 :
デフォルトの名無しさん :2006/08/28(月) 19:24:42
お前ウザすぎ そこまでしてもらって自分で考えろよハゲ
さすがは中央大学だな。
中央大学ね、、専修大学といい糞は糞か
674 :
デフォルトの名無しさん :2006/08/28(月) 21:28:05
【 課題 】指示されたデータ10個をソートする処理を行う。
但し、プログラムは次の条件(補足に記します)に従って作成する。
【 期限 】8月中
【 Ver 】バージョンがよく分からないんですが、J2SE SDKでいいでしょうか?
【 補足 】
(1)プログラム Program.java
@ソートするデータを配列で定義し、配列を引数にしてプログラムSort.java
(クラス Sort)のメソッドDatasort()を呼び出す。
A昇順にソートしたデータを画面に表示する。
(2)プログラム Sort.java
@引数でもらった配列を昇順にソートする。
※ソートの方法は、配列の前後で大きいか小さいかを不等号を使って判断し、
入れ替えを行う操作を繰り返し行うもの。
Aソートした結果は配列で返す。
(3)データ:43,26,95,64,24,76,23,65,73,16
>>1 は一応すべて読みました。
足りない点があったら教えてください。
よろしくお願いします
>>674 Arrays.sort()は使用するなということか?
676 :
デフォルトの名無しさん :2006/08/28(月) 21:38:59
>>675 そういうことになります。
まだJAVAを習い始めたばかりなのであまり関数は習っていません。
なので、これを使用するなというのは分からないので、聞いてもらえると幸いです。
>>674 そのデータはコマンドライン引数で与えるのか、CUIで対話的に与えるのか、
テキストファイルで与えてを読み込ませるのかを書いておくと、
やる側として少し幸せ。
678 :
674 :2006/08/28(月) 21:52:17
>>677 コマンドライン引数って言うのはプログラムの中に
kazu[] = {43,26,95,64,24,76,23,65,73,16};
とかのように定義しておいて、これを使用するという意味ですよね?
CUIで対話的というと実行してから、手動で値を入力していくという意味ですか。
(C言語でいうscanf関数のような)
たぶんプログラムが二つしか与えられていないことから、
自分の上記に挙げた見解どおりで正しければ、コマンドライン引数でOKです。
よろしくお願いします。
>>674 あと、
@ソートするデータを配列で定義し、配列を引数にしてプログラムSort.java
(クラス Sort)のメソッドDatasort()を呼び出す。
ってのは本当に Datasort() としていいのか?
メソッド名は小文字で始めるのが慣例なのだが。
>>678 コマンドライン引数というのは、
$ javac Program.java
$ java Program 43 26 95 ... 73 16
ってやること。
681 :
674 :2006/08/28(月) 21:54:45
>>679 あっていると思います。
課題プリントに書いてありますし、今使っている教科書もメソッド名は
大文字で始まるかすべて大文字です。
プログラムを作成する上で支障が出るのであれば大文字でも結構ですが
なるべく課題通りに済ませたいです。
初心者の回答ですみません。
よろしくお願いします。
682 :
674 :2006/08/28(月) 21:57:39
>>680 その記述がよく分からないのですが、
>>678 で挙げたようにkazu[] = {43,26,95,64,24,76,23,65,73,16};
の例のようにProgram.javaの中に配列で定義してもらえれば結構です。
684 :
674 :2006/08/28(月) 22:12:54
>>683 2つのプログラムを動かしてみたのですがProgram.javaの方を実行すると
------------------------------------------------
C:\>javac Program.java
Program.java:8: シンボルを解決できません。
シンボル: 変数 Sort
場所 : Program の クラス
int [] result = Sort.Datasort(input);
エラー 1 個 ^
------------------------------------------------
このように出て実行できませんでした。
これはProgramからSortのデータを読み出すのに失敗しているわけですよね?
いろいろ試したのですが解決策が分かりません。
どうすればよいでしょうか?
ん?コンパイルできないってか Program.java と Sort.javaは別のファイルに分けてるよな?
686 :
674 :2006/08/28(月) 22:24:22
>>684 package thread57.res674;
これを除いて、上下にあるclass名と同じファイル名で保存して
2つに分けてあります。
2つのファイルはCドライブの直下に保存して有ります。
687 :
674 :2006/08/28(月) 22:25:14
javac -cp . Program.java
クラス名の大文字小文字を間違えている
690 :
674 :2006/08/28(月) 23:57:07
>>688 実行できませんでした。。。
>>689 かなり見たんですけど分かりません。
どこですか?
691 :
674 :2006/08/29(火) 00:01:38
>>684 は
------------------------------------------------
C:\>javac Program.java
Program.java:8: シンボルを解決できません。
シンボル: 変数 Sort
場所 : Program の クラス
int [] result = Sort.Datasort(input);
エラー 1 個 ^
------------------------------------------------
こうでした。
ハット(^)の位置がずれていました
ソース中でなくて、Sort.javaがSort.javaになってないのではという指摘
693 :
674 :2006/08/29(火) 00:03:38
>>692 ファイル名のことですか?
ファイル名はクラス名通り大文字小文字も同じでSort.javaとProgram.javaです
Sortだけコンパイルしてみた?
javac -sourcepath . Program.java
696 :
674 :2006/08/29(火) 00:11:53
>>694 Sortだけはできました。
>>695 ハットの位置がずれただけでまったく同じエラー文でした。
このPCの設定がうまくいってないのかな・・・
頂いたプログラムが実行できる人いますか?
何の問題も無くできる 環境を見直せ
698 :
674 :2006/08/29(火) 00:25:14
>>697 コンパイラのインストール、pathの設定は行ったのですが
原因と思われるものはありますか?
一応、教則本に則って進めてきたのですが・・・
SortとProgramの位置は同じCドライブの直下なんですが保存場所で間違えてるとかありますか?
Cドライブのルートディレクトリでも問題はないと思う。 javac *.java とか javac Sort.java 後に javac Program.java する とか そのエラーメッセージはコンパイラがSortを見つけられないわけで……
700 :
674 :2006/08/29(火) 00:39:34
すみませんできました! エラー文を検索したところすぐに見つかりました。 意味は分かりませんが、どうやらカレントディレクトリ(.)がクラスパス(classpath) に含まれていないのが原因だったようです。 遅くまで手伝ってくれた方々ありがとうございました。 親切でとても助かりました。 また解決できないことがありましたらそのときはよろしくお願いします。 ありがとうございました!
(・3・) エェー CLASSPATHわかんにゃいのかYO
>>701 C++厨のあんたが出張ってくるとはよほど暇らしいなw
C/C++界隈でがんばれ
かげながら応援している
703 :
674 :2006/08/30(水) 01:23:14
名前: 674 E-mail: 内容: 正直分からないです。。 あと ----------------------------------------------------------- 00020: public class Sort { public static int[] Datasort(int [] input){ ~~~~~~ ----------------------------------------------------------- この部分のstaticがないとうれしいのですが、プログラム可能でしょうか? MyPCで実行すると、staticがない場合、 ----------------------------------------------------------- Kadai1.java:15: static でない メソッド DataSort(int[])を static コンテキストから参照することはできません。 ----------------------------------------------------------- と出ます。 どうにかできませんか?
704 :
674 :2006/08/30(水) 01:26:38
Kadai1.javaはSort.javaのことです・・・
staticを削除 mainメソッドの中に Sort sort = new Sort(); int [] result=sort.DataSort(input); int [] result=Sort.DataSort(input);を削除
>>703 staticコンテキストから参照することはできませんって言われてるんだから、
非staticコンテキストから参照すればいいだけだよ。
なぜstaticがないとうれしいかも不明だ。
staticの意味するところを理解していないだけか。
int [] result = new Sort().Datasort(input);
Javaの勉強がんばれい。
707 :
674 :2006/08/30(水) 02:10:18
>>705 迅速な回答ありがとうございます。助かりました。
>>706 正直説明をいただいても理解ができてません。。。
テキストを読みながら地道に学習したいと思います。
staticがないとうれしいというのは課題の参考プログラムにstaticが含まれていなかったからです。
自分もわざわざstaticを削除する必要はあるのかと思いましたが、参考プログラム通りに製作しなければならないので
お尋ねしました。
迅速な回答と、励ましの言葉ありがとうございました。
>>707 元のmain中でDataSort(input)を呼び出した時点ではSortクラスのインスタンスは作られていない。
この時点で呼び出せるSortのメソッドはstaticなメソッドのみ。なのでDataSort()にstaticがつく。
staticなメソッドはクラスさえロードされていれば呼び出せるもので、具体的なインスタンスがなくても呼び出せる。
staticでないメソッドはインスタンスが作られていないと呼び出せないメソッドなので、
new Sort()でインスタンスを作って、そのインスタンスから呼び出す形になる。
「staticコンテキストから参照することはできません」とは、
インスタンスなしの文脈からは非staticなメソッドは呼び出せないという意味を含む。
709 :
674 :2006/08/30(水) 11:40:03
>>708 分かりやすいです。
ありがとうございます。
簡単にいうと、mainでSortクラスに関係するインスタンスを作っていないから、
よそのクラスからSortクラスの内容を直接読み出そうとするにはstaticが必要になる。
そのために、Sortクラスからstaticをはずして読み出すにはSortクラスの
インスタンスを作っておけば、問題なく読み出せる。というカンジですか?
親切な方の指導はとても助かります。ありがとうございました!
【 課題 】AWTを使い、プログラム作成 【 期限 】今日明日中ででお願いします 【 補足 】チェックボックスを使用して○×クイズをお願いします。 問題を10問ほどで、全ての問題に○か×かチェックを入れてから 解答ボタンで一括解答みたいな感じでお願いします。
宿題ムズイ><
713 :
710 :2006/08/30(水) 17:28:38
>>711 レス有難うございます。
問題はまだ考えてないので、aとかbとか適当でお願いします…。
>>710 わけわかんね
問題の配置はどうなるんだ
例えば1つのパネルに全部問題を並べるとか
715 :
710 :2006/08/30(水) 18:28:38
g.drawStringで問題を書いて、その次の行に○ or ×のチェックボックスを設置でお願いします。 パネルは使用しなくて結構です。
問題用意しろとか言ってるやつヴァカじゃね? そんなのぐらい後から差し込めるように設計しろよな、雑魚。
問題文はLabelに書いちゃえば良いんじゃない? でPanelにCheckBoxと交互に垂直に並べて 最後に解答ボタン。 ScrollPaneに入れて上下スクロール可能に。 問題文とその解答はCSV形式にして ファイルで読み込ませる形で。
719 :
710 :2006/08/30(水) 18:48:07
皆さんありがとうございます。 パネルやファイルから読み込ませるのはまだ習ってないので もっと、簡単なプログラムでお願いします(^^; お手数掛けますが宜しくお願いします。
ほう・・ファイル操作よりもAWTのほうを先に習うのか・・・
>>702 (・3・) エェー 最近C/C++は宿題ないんですYO
まぁどっちにしろほとんど答えないんですけどNE
なんなの、このキモコテ
(・3・) エェー 僕コテじゃないC
725 :
デフォルトの名無しさん :2006/08/30(水) 20:01:32
トリップとかキャップは、コテハンにあたりますが?
(・3・) エェー 公開トリップは名無しと同じようなもんYO
キモイキモイキモイキモイキモイキモイキモイキモイキモイキモイキモイ マジキモイ 顔文字でら臭
(;3;) エェー 宿題答えるから許してお
729 :
723 :2006/08/31(木) 00:41:06
730 :
723 :2006/08/31(木) 00:43:52
あ、またスクロール可にするのを忘れた。 まあ10問くらいならなんとかなるか。 それにスクロールさせるのは習っていませんて言われるかもしれないし。
ファイル操作は知らずAWTは習っていて文字列表示にdrawStringって、まさかappletってオチ?
732 :
730 :2006/08/31(木) 01:03:50
>>729 毎回どうもです。
○×クイズ自体はこれで全然OKなのですが、
まだ全然Java習い始めたばかりで、習ってないのが多いんですよ…(^^;
もっとifなどを利用した簡単なプログラム組めませんでしょうか?
>>731 はい…appletです。
733 :
710 :2006/08/31(木) 01:04:58
730じゃなくて710です、すいません。
734 :
723 :2006/08/31(木) 02:38:09
735 :
デフォルトの名無しさん :2006/08/31(木) 10:12:37
Visual Age for Java v3.5.3について教えて下さい
737 :
710 :2006/08/31(木) 12:38:56
>>734 有難うございます。
drawStringでなく、Labelで文字列を描くと分かりやすいプログラムになるんでしょうか?
お手数掛けますが、そちらも出来ればお願いします。
流石にうざいよお前
最近多いよな。 腰が低く丁寧だが、物凄く傲慢で厚かましいヤツ。
740 :
710 :2006/08/31(木) 13:24:01
>>738 そうですよね…。
分かりました、後はがんばって自分で考えます(^^;
色々有難うございました。
っ[ 慇懃無礼 ]
public interface Item{} というインターフェースがあります。今のところマーカーインターフェースです List<E extends Item> list があります。このlistにはItemをインプリした100種類以上のクラスが格納されています。 このlistから下記で定義されるTargetのインスタンスを取り出すには、どのようにすればよいでしょう? public class Target implements Item{} class Targetならびにinterface Itemの内容は自由に定義してよいものとします。
>>742 >>1 の課題提示用テンプレを埋めて課題を再提示するか、
質問用のスレッドで質問するかの選択を。
【 課題 】public interface Item{} というインターフェースがあります。今のところマーカーインターフェースです List<E extends Item> list があります。このlistにはItemをインプリした100種類以上のクラスが格納されています。 このlistから下記で定義されるTargetのインスタンスを取り出すには、どのようにすればよいでしょう? public class Target implements Item{} class Targetならびにinterface Itemの内容は自由に定義してよいものとします。 【 用語 】 【 期限 】9/12日13:00 【 Ver 】1.5以上 【 補足 】
>>744 こんな感じでinstanceofを使うのはどうでしょう?
import java.util.*;
public class ExtractTarget {
public static void main(String[] args) {
List<Item> list = new ArrayList<Item>();
list.add(new Target());
list.add(new Item() {});
list.add(new Item() {});
list.add(new Target());
list.add(new Item() {});
list.add(new Target());
int j = 0;
for (Item i : list) {
if (i instanceof Target) {
System.out.println(j + ":" + i);
}
j++;
}
}
}
746 :
デフォルトの名無しさん :2006/09/05(火) 17:33:23
【課題】 コマンドライン引数に入力された年と月から その月が何日まであるかを表示しなさい。 (日付、その他のチェックも行うこと) 【期限】今週中 【補足】閏年とかはどうなるのでしょうか…サッパリです。 (日付その他のチェック)のその他って何…? 宜しくお願いします。
>>702 ぼるじょあってコテハンの意味わかってないような
ぼるじょあ#ぼるじょあ
トリップつけられるんじゃなかった?
749 :
デフォルトの名無しさん :2006/09/05(火) 21:09:11
うんこ
(・3・) エェー ちがうYO
>>748 ぼるじょあ#ぶるじょあ
だよ
しったかぶりは恥かくNE(・3・)
752 :
デフォルトの名無しさん :2006/09/05(火) 21:33:40
753 :
746 :2006/09/06(水) 10:02:02
>>747 迅速な回答有難う御座いました。
助かりましたー。
754 :
ぶるま :2006/09/06(水) 17:50:26
ぶるま
ぶるまー
756 :
デフォルトの名無しさん :2006/09/11(月) 14:50:58
758 :
デフォルトの名無しさん :2006/09/11(月) 16:55:20
【 課題 】 マルチクライアント対応のクライアント・サーバープログラムの作成。 クライアントから文字列を送信すると、サーバー側で送られてきた文字列を全て保持(キャッシュ)し、 そのキャッシュしたデータを応答データとしてクライアントに返すプログラム。 [ 実行結果例 ] >>java Client aaa aaa >>java Client bbb aaabbb >>java Client ccc aaabbbccc 【 期限 】 9/16(土)まで 【 補足 】 送受信データをオブジェクトで扱う方が好ましいが、文字列でも構わないとの事です。 よろしくお願いします。
>>121 ちょっとね、チミ、「世の中ちょろいもんさ」とか舐めてかかってない?
ハズレでもつかませておけば?
762の最後のTest.javaは不要。間違って付けてしまった。排他処理のテスト用。
>>762 ありがとうございました。
実行したらうまく起動したので、明日にでもじっくり読んでみたいと思います。
765 :
デフォルトの名無しさん :2006/09/15(金) 13:28:11
【 課題 】MainClient.java と CardImagesフォルダの中に入っているトランプのイメージファイルを元に、
以下のプログラムを作成せよ。
1) MainClient.javaをコンパイルした時、カードが2つ以上同じフレーム内に
表示されるようにMainClient.javaのコードを書き換えなさい。
2) 書き換えたMainClient.javaを元に52枚のトランプを26・26という2つのデックになるように
コードを書き換えなさい。
3) 2つのデックの片方をクリックした時に、クリックしたカードをもう片方のデックに移動するようにしなさい。
(左側のデックをA、右側のデックをBとした場合、AをクリックしたらAの一番上にあるカードがBの上に表示される。)
【 期限 】9/18
【 Ver 】1.5以上でよろしくお願いします。
【 補足 】配列を使い、個々のカード情報を収納する事。
2つのカードデック情報を扱えるように、2つのクラス、オブジェクトを製作する事。
MainClient.java と CardImagesです。
ttp://deaikei.biz/up/up/2007.zip.html pass:java
デフォルトのMainClient.javaでは、カードが1枚だけ表示されます。
よろしくお願いします。
766 :
デフォルトの名無しさん :2006/09/15(金) 13:51:47
13日配布のプリントってなんじゃい あと、パッケージ名が大文字で始まってるんだが
>>765 どうでもいいが、圧縮する前にパッケージのことも考慮した
ディレクトリ構成にしろよな。
769 :
デフォルトの名無しさん :2006/09/15(金) 14:46:31
>>767 13日配布のプリントを写したのが、【課題】です。
パッケージ名、たしかに大文字ですね…
771 :
デフォルトの名無しさん :2006/09/15(金) 15:45:52
>>770 元々のフォルダはクラス(ゼミ)名が書いてあったので、
解凍後、クラス(ゼミ)名を省いて再圧縮しました。
元々「クラス名 - 宿題番号」とあったzipの中に、
「PlayingCards」というフォルダがあったのですが、
それを適当な名前に変え、圧縮してうpしました。
混乱を招くようなファイルをうpしてしまい申し訳ありません。
ダウンロードしてきたzipファイルを名前だけ変えて再うpしました。
ttp://deaikei.biz/up/up/2008.zip.html
あ〜、配列でせにゃならんかったのか。Stackでやってもた。 微妙に時間ないしめんどいからもういいや。 帰ってきてまだ終わってなかったらやろ。
結論: クソ教官 m9(^Д^)プギャー!!
776 :
デフォルトの名無しさん :2006/09/17(日) 05:47:48
最近、継承やインターフェイスを習った者です。 自分の課題の進度と課題の長さから(凄く長くなってしまうので)、一部だけを教えて頂きたいんですが、 もしもスレ違いでしたらスルーして下さい。 【 課題 】 コマンドラインから入力した2つの数を計算する。 スーパークラス内で変数を宣言。この変数に、引数を代入するメソッドを1つ作る。 サブクラスは、計算、表示に使う。 【 補足 】 分からない所は、main内からサブクラスへコマンドライン引数を持っていく時はどうしたらいいか、 (僕はsub.add(args[0], args[1])と書きました。) 受け取る側のメソッドはどう書いたらいいか(void add(String args[])と書きました。) この2つです。自分なりに調べたんですが、どうしても分かりません。 どうしてそうかくのか、と言うことも教えて下さると嬉しいです。どなたか、よろしくお願いします。
>>776 メソッドを呼び出す側の引数は、呼び出したいメソッドの引数の個数と型に合わせる必要がある。
もし、受け取る側のメソッドを void add(String[] args) と定義しているのなら、
呼び出す側で args が String[] args として宣言されているなら、sub.add(args) で args を渡せる。
呼び出す側が sub.add(args[0], args[1]) なら、受け取る側は、何も返さないメソッドなら、
void add(String arg1, String arg2) と定義しておく。arg1 に args[0]、arg2 に args[1] が渡る。
どちらを選択するかは仕様に従うか、仕様が無ければプログラムを書く人次第。
【 課題 】 文字列を整数に変換 【 用語 】 【 期限 】明日 【 Ver 】特に指定無し 【 補足 】parseIntメソッドは使用しない。
>>778 先生に怒られそうな解答としては
String s = "123";
int i = new Integer(s).intValue();
とか
String s = "123";
int i = Integer.valueOf(s).intValue();
とか
>>778 汚くなった。
class ParseIntModule{
public static int parseInt(String str) throws Exception{
boolean isCheckDecimal=true;
char at;
int ret=0, sign=1;
for(int pow=1, i=str.length();i>0;i--, pow*=10){
at=str.charAt(i-1);
if('0'<=at && at<='9'){
if(isCheckDecimal)
ret+=pow*(int)(at-'0');
else
throw new Exception("Not integer");
}else{
switch(at){
case '-':
isCheckDecimal=false;
sign=-1;
break;
case '+':
isCheckDecimal=false;
sign=1;
break;
default:
throw new Exception("Not integer");
}
}
}
return sign*ret;
}
}
かぶったorz
>778 int n = (int)Long.parseLong("123");
>>778 final String STR = "123";
final int n = new java.text.DecimalFormat( ).parse( STR, new java.text.ParsePosition( 0 )).intValue( );
System.err.println( n );
786 :
776 :2006/09/17(日) 19:32:25
>>777 解決しました!ありがとうございました!!
引数について指定はなかったんですが、受け取る側がString[] argsとなっている時の
引数をargsだけで渡せるか、呼び出し側のメソッドの引数にはどうやって書くかが分からなかったんです。
勉強がてらに両方作ってみましたが、やっと理解できました。本当にありがとうございます!
>>778 String str = "123";
int i = new java.util.Scanner(str).nextInt();
System.out.println(i);
いろいろあるもんだなw
>>778 final String STR = "42";
java.util.Random r = new java.util.Random( );
while(true){
int n = r.nextInt( );
if( String.valueOf( n ).equals( STR )) System.out.println( n );
}
【 課題 】 パッケージ外からサブクラスを利用。 スーパークラスA(パッケージmst)と、 サブクラスB(パッケージsub)を クラスC(パッケージsub)からサブクラスBをインポートし、実行結果を得る。 Aはメンバ変数ta,tbを引数に代入するメソッド使う。 BはAのメソッドを呼び出し、代入された変数足し算として出力する。 【 期限 】明日 【 Ver 】指定無し 【 補足 】丸投げです。異なるパッケージで継承をどうやるかが分かりません。よろしくお願いします。
>>789 本当に丸投げか?
日本語が破綻してるぞ。
んで、スーパークラスAでパッケージ外部に知られているべき部分に public修飾子が付いていれば何も問題は発生しないと思われるが?
>>789 課題部分は問題を自分なりに解釈したものなのかな?
そこに書かれているだけの縛りなら、下手にprotectedやパッケージスコープにしようなんて考えずに、
>>791 の言う通り、public修飾で問題は解決すると思う。
で、「異なるパッケージで継承をどうやるかが分かりません」って、
789だってアプレットくらい作ったことはあるだろう。
java.applet.Appletなりjavax.swing.JAppletなりを継承して作ったクラスを
java.appletパッケージやjavax.swingパッケージには普通入れない。
他にも、パッケージとスーパークラスを明示せずにクラスを定義すれば、
定義したクラスは無名パッケージに属していて、java.langパッケージのObjectクラスを継承している。
異なるパッケージで継承するのは789も普通にやっているはず。
793 :
デフォルトの名無しさん :2006/09/19(火) 15:31:56
>>775 765ですが、ありがとうございました。
794 :
デフォルトの名無しさん :2006/09/20(水) 00:29:05
catch(Exception e) とか
>>795 すばやい回答ありがとうございます。
動作確認できました。
なんで
>>795 でいけるかわかってるか?
まあ、そこまでは望まないのかな・・
798 :
794 :2006/09/20(水) 02:34:35
>>797 なぜ動くか調べてみました。
例外すべてみたいな感じですよね?
ちがうのかな?
>>798 0点
それだと多態性を理解してないと言われても仕方がない。
800 :
デフォルトの名無しさん :2006/09/20(水) 17:22:27
801 :
デフォルトの名無しさん :2006/09/22(金) 19:02:24
【 課題 】 360度全方位カメラで撮影したビットマップ画像を パノラマ展開画像を生成せよ。 【 用語 】 【 期限 】 9月26日 【 Ver 】 特に指定はありません 【 補足 】
802 :
デフォルトの名無しさん :2006/09/22(金) 20:25:26
見れんとどうしようもない
805 :
デフォルトの名無しさん :2006/09/23(土) 15:35:34
ここで宿題教えてくれといったK、N、Y、I、I お前ら単位やらないから俺の講義でなくていいぞ
専修じゃね?
いや、拓殖だろ。。。
大工大乙
ものつくり大乙
811 :
765 :2006/09/24(日) 19:30:03
>>775 775さん、先日はありがとうございました。
提出した後に、自分でも775さんのソースを読んでどのように動いているのか
考えてみたのですが私の現在のスキルでは掴めませんでした。
課題の2と3の部分がどのように動いて、配列で26枚ずつ収納、クリックして交互に移動しているのか
説明して頂けないでしょうか?お手数ですがよろしくお願いします。
>>811 必要に応じて機能を加えていったいい加減に書いたプログラムだからね
設計のせの字もやらずに作ったし説明といってもなかなか面倒
MainClientは課題1で複数カードの表示が可能となっている。
課題2は、MainClientに2つのカードデックのトップの2枚のカードを表示させる目標。
そのために、カードデックを表すCardDeckと1枚1枚のカードを表すCardの2つのクラスを作成。
Cardは各カードのイメージファイルの名前を持っている。
CardDeckはコンストラクタでCardの配列をもらって、
それを自分に属するカードの集合として自分のフィールドに記録する。
MainClientのmainでcd1とcd2に26個の要素を持つ配列cardsを与えてCardDeckのインスタンスを生成する所が、
2つのカードデックに26枚づつの収納することに相当させている。
そして、各カードデックのトップのイメージファイル名cd?.top().getFileName()を与えてMainClientをnewしている。
CardDeckのCard収納数の最大値が52固定になっているのはあまりよくないね。
課題3は、MainClientに2枚のカードが表示されている時用の、表示カードを変更するメソッドchangeTwoDeckImageを追加し、
さらに、mainの最後にカードがクリックされた時に呼び出されるリスナーTwoDeckListenerを追加。
TwoDeckListenerはmouseClickedでクリックされた場所を見て、どちらのデックからどちらのデックにカードを移動するかを決めて、
CardDeckのmoveTopToメソッドでカードを移動させる。
さらに、MainClientのchangeTwoDeckImageを呼び出して表示を更新させる。
クラス間をあっち行ったりこっち行ったりで、クラスの関係がかなり密結合になっているので、よくない見本
本当はもっと根本から構成を見直したほうがいいと思う
時間がないので適当な説明ですまん
暇になって気が向いたらjavadocコメント付けたソースでもアップするかね
813 :
おこちゃま :2006/09/25(月) 01:20:38
画面から0または1または2を入力して 0だったら 0さん、18歳、好きな食べ物はお寿司、ケーキ 1だったら 1さん、28歳、好きな食べ物はチコリ、カレー 2だったら 2さん、38歳、好きな食べ物は○○ と表示させるにはどうすればいいのでしょうか?
>>811 ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28342 javadocコメントを付けた課題3用のソース
課題2はこれのサブセットみたいなものだからいいでしょ
てきとうにコメントしたので変なところあるかも
////////////////////////////////////////の後のCardDeckはいくらでもデックに積める版で、
上の52枚制限のCardDeckと置き換えて使える。どちらかを削除しないとコンパイルが通らない。
どっちのCardDeckでも、この課題では関係ないけどね。
MainClientの表示がややこしいことになっているのは、
カードのサイズがばらばらでも構わないようにしているためと、
課題の元のプログラムがJFrameのContentPaneにでなく直接描画しているため。
815 :
デフォルトの名無しさん :2006/09/25(月) 03:52:22
>>815 丸投げっつっても、途中過程を省略してるからよくわからん。
そのソースってポンと出されたものじゃなくて、順序を追って
作られてきたものだろう? その全体像を把握するところまで
こちらにやらそうとしているのだから、あまりにも面倒くさすぎる。
やってほしけりゃ、それぞれのソースがどういう過程を経て出てきた、
一体何をするプログラムなのかまで付記しなきゃ。
>>774 こういうこと言う奴がいると、教える気なくすんだよね
818 :
デフォルトの名無しさん :2006/09/25(月) 11:34:04
【 課題 】次のプログラムで描かれる図形を描くこと。(30度ごとに白線を入れる).始点と終点を指示すればその通りに描けるようにすること. double tt,xx,yy; for(int t=0; t<360; t+=30){ tt=Math.PI/180.0*(double)t; xx=200.0*Math.cos(tt); yy=200.0*Math.sin(tt); line(250, 250, 250+(int)xx, 250+(int)yy); } 【 用語 】ない. 【 期限 】9月27日13時まで 【 補足 】サンプルプログラムをそのまま載せます.
819 :
デフォルトの名無しさん :2006/09/25(月) 11:38:28
public class kadai2 extends Applet { //画像バッファ(クラス内で共通に使うのでクラスメンバとして宣言 private int[][][] Img = new int[500][500][3]; public void paint(Graphics g){ gray(); //課題の図形 double tt,xx,yy; for(int t=0; t<360; t+=30){ tt=Math.PI/180.0*(double)t; xx=200.0*Math.cos(tt); yy=200.0*Math.sin(tt); line(250, 250, 250+(int)xx, 250+(int)yy); } for(int x=0; x<500; x++){ for(int y=0; y<500; y++){ g.setColor(newColor(Img[x][500-y-1][0],Img[x][500-y-1][1],Img[x][500-y-1][2])); g.fillRect(x,y,1,1); }}} private void gray(){ 略 } //完璧なlineメソッド private void line(int x1, int y1, int x2, int y2){ double d = ((double)y2-y1)/((double)x2-x1); double yy=y1; for(int x=x1;x<=x2; x++){ int y=(int)yy; //描画するときはintでないとダメ。 Img[x][y][0]=Img[x][y][1]=Img[x][y][2]=255; yy=yy+d; //yの値は実数のままで増やしていかないとダメ。 }} }
820 :
774 :2006/09/25(月) 12:08:57
>>814 もっと広く嫁と言いたい。
なぜ回答する側が気分を害するのかが理解できん。
>>819 それはサンプルそのままじゃなくて、単なるやりかけじゃないのか?
822 :
819 :2006/09/25(月) 12:41:54
>>821 先生からもらったプログラムで,これを修正改良するように言われた.
823 :
814 :2006/09/25(月) 12:49:23
>>822 改良っつーか、普通に間違ってるだけだな。
lineメソッド内の for(int x=x1;x<=x2; x++) って部分で、xが正の
方向にしか増加しないようにしちゃってるから、右半分しか描写されていない。
825 :
819 :2006/09/25(月) 12:58:47
【課題】
学籍番号 ○○○○
名前 ○○○○
と表示させること
【期限】
明日
【補足】
教科書を見ながら自分で色々やってみたのですが、エラーが出てどうしてもうまくいきません
画像(横)をうpしますので間違いを指摘して下さいお願いします
http://p.pita.st/?acwokz9j 塗りつぶし部分は自分の学籍番号と名前です
827 :
デフォルトの名無しさん :2006/09/25(月) 13:01:50
首が痛くなったじゃないか
828 :
デフォルトの名無しさん :2006/09/25(月) 13:03:35
MyObjectMain(String number,String name); ←セミコロンイラネ { … }
>>825 間違いが判明したんだから自分でやれ。
と言いながら回答を晒す俺。
private void line(int x1, int y1, int x2, int y2){
int length = (int)Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
double rx = x1;
double ry = y1;
double dx = (x2-x1)/(double)length;
double dy = (y2-y1)/(double)length;
for(int i=0; i<length; i++){
int x = (int)rx;
int y = (int)ry;
Img[x][y][0]=Img[x][y][1]=Img[x][y][2]=255;
rx = rx + dx;
ry = ry + dy;
}
}
>>826 とりあえず、手当たり次第だぶるくぉーてーしょんを消してみると
いいと思うぉ、思うぉ
831 :
デフォルトの名無しさん :2006/09/25(月) 14:11:06
>>828 それだけでいいんですか‥?
今ちょっと手元にPCがないのでわかりませんが‥
>>830 はい最初は付けていませんでしたが、外してたら何故かエラーの数が増えるんですよね‥
色々試した結果、付けたらエラーが減ったので‥
834 :
デフォルトの名無しさん :2006/09/25(月) 15:31:19
>>832 学籍番号 = number ;
名前 = name ;
835 :
デフォルトの名無しさん :2006/09/25(月) 16:39:57
>>834 やはりそれ違いますか?
でも昨日numberのとこに自分の学籍番号を入れたりnameのとこに自分の名前を入れたり、色々試しましたが結局コンパイルしてもエラーが出るんです…
もう嫌になりました‥
お手数ですが間違ってる箇所を全て教えてもらえないでしょうか‥
>>835 変数とリテラルの違いも理解せずに漢字なんか混ぜてるから
訳わかんなくなるんだよ。
ここで誤りを指摘されただけじゃ、お前自身何も進歩せん。
まっとうな入門書からやり直せ。
837 :
デフォルトの名無しさん :2006/09/25(月) 18:36:45
ちょ‥提出明日なんです 助けて下さい しかも先週初めて習ったばかりなんです それなのにいきなりこんな難しい課題は酷です‥ 教科書も読んで図書館で参考書も借りたのにわからなくて‥ あと変数とかリテラルなんて聞いたこともありません‥ なんか勝手にやれって感じで
これが難しいと思うのなら単位落としたほうが良いよ
public class MyObjectMain{ String name; String number; public MyObjectMain(String name, String number){ this.name = name; this.number = number; } public void printName(){ System.out.println(number); System.out.println(name); } } mainメソッド無いけどいいのか クラス名にobjectってつけるのどうかと 次からはぐぐってから質問してくれ
PC板全般の回答者って総じて偉そうな態度だよね
他の板よりもレベルの差が大きすぎるからな 小学生よりアフォがいっぱい
842 :
デフォルトの名無しさん :2006/09/25(月) 19:20:07
>>840 そうそう
もっと質問者様にへりくだって丁寧に回答してもらわないとね
たかが回答者のくせに
つまらない質問もらっただけで悦んで腰を振りやがってるぜハァハァ
回答者は神 質問者は幼稚園児以下の馬鹿だからな
プログラムやっても、その先にある修羅場を知らんからだろうな。
プログラムやる プログラムやる プログラムやる プログラムやる プログラムやる プログラムやる プログラムやる プログラムやる
847 :
デフォルトの名無しさん :2006/09/25(月) 19:45:35
>>839 ありがとうございます
この通り打てば出来るのでしょうか‥?
帰ったらしてみます
‥てエラー時にもmainメソッドがありませんって出る時があるんですけど、これはどういうことなんですか!?
昨日ホントに意味わからなくて悩んでたんですけど
public void以降がmainメソッドというのじゃないんですか?
だから教科書を穴が開くまで読め
>>837 の話は嘘なんだろ
教科書読んでも分らないなんてありえない
習い始めて1週間でコンストラクタまで行くわけねーだろ。 サボリ過ぎなお前は提出できなくも仕方ねーよ。
850 :
デフォルトの名無しさん :2006/09/25(月) 20:21:17
プッ おまえらまだこんな低脳な言語使ってんの???? かわいそうですね^^;;;;;;;;;;;;;;;;;;;;;
>>850 ,r::::::::::::::::::::'-、
,,r'::::::::::::::::::::::::::::::::::ヽ
.l::::::::::::::::::::;:-‐''" `-、::ヽ、
. l::::::::! '" i::::::ヽ
ヽ::::i _,.. !_,.._- :..l::::::::::!
l:::l ,ィt:t::: ':::rtェ::;:.. ヽ::::;!
!ヾ'´':::´;' ::.`ヾ ヾ Y ::!
. i :! ;` ー'`ヽ l ノi
ヽ! :, ---.、 : /! '
ヽ :' − ::. ;'.!
ヽ ,:' l,r 'ヽ
rヽ  ̄ , -'r' r'ヽ
i' lヽ r'7,r'´ ' ' ` ー
l l! i. /,,r' ´
ツマンネ[Y.tzumannet]
(1899〜1956 ベルギー)
>>850-851 トv'Z -‐z__ノ!_
. ,.'ニ.V _,-─ ,==、、く`
,. /ァ'┴' ゞ !,.-`ニヽ、トl、:. ,
rュ. .:{_ '' ヾ 、_カ-‐'¨ ̄フヽ`'|::: ,.、
、 ,ェr<`iァ'^´ 〃 lヽ ミ ∧!::: .´
ゞ'-''ス. ゛=、、、、 " _/ノf:::: 〜
r_;. ::Y ''/_, ゝァナ=ニ、 メノ::: ` ;.
_ ::\,!ィ'TV =ー-、_メ:::: r、
゙ ::,ィl l. レト,ミ _/L `ヽ::: ._´
;. :ゞLレ':: \ `ー’,ィァト.:: ,.
〜 ,. ,:ュ. `ヽニj/l |/::
_ .. ,、 :l !レ'::: ,. "
`’ `´ 〜
ソリャ・ムチャダーワ 【Soryhiwa Mutyadhawa】
(1984〜? インド)
>>847 できない
hello worldやらなかったの?
855 :
デフォルトの名無しさん :2006/09/25(月) 20:56:59
いや全然習ってないです‥
授業もまだ2時間しか受けてないんです
>>854 できないんですかw
ならどうすればできるのでしょうか…?
こいつ荒らしだな放置で
857 :
デフォルトの名無しさん :2006/09/25(月) 21:07:51
>>855 できるWindowsME
よむといいですよ!
858 :
デフォルトの名無しさん :2006/09/25(月) 21:28:35
>>855 ファイル名は MyObjectMain.java で保存すること
public class MyObjectMain {
public static void main(String[] args) {
MyObjectMain obj = new MyObjectMain("名前","学籍番号");
obj.printName();
}
String name;
String number;
public MyObjectMain(String name, String number) {
this.name = name;
this.number = number;
}
public void printName() {
System.out.println(number);
System.out.println(name);
}
}
859 :
ニュース速報+ :2006/09/25(月) 21:53:18
2ちゃんねるで、人気の高いニュースをすぐ見よう。
「祭」に、のりおくれるな。
WWWブラウザ で以下のサイトを見てください。
「2ちゃんねるニュース速報+ナビ」
http://newsnavi.2ch.net/ ここは、ニュース速報+系6板を自動解析し、人気の高いニュース及び最新のニュースを
リアルタイムで計算・抽出して提供しています。
「お気に入り」や「ブックマーク」に登録しましょう。
過去の「祭」なども参照できます。
時間あたりの投稿数は「時速 res/h」、板全体に占める投稿数の比率を「瞬間投稿率 %」
これらの値が高いと「祭」マークが表示されます。
>>855 これでも表示出きると思われ。
public class MyObjectMain {
public static void main(String[] args) {
name = "ここに名前を入力する。"
number = "ここに学籍番号を入力する。"
System.out.println("名前は" + name);
System.out.println("学籍番号は" + number);
}
}
うちの大学は一年かけてやさしいJavaを一冊やるのですが これって力つきませんよね? ほかの大学はどんなことやってるんだろう
力を付けたいなら、授業ごときに期待すんなww
専修だからじゃね
>>861 1年で終わるなら、ほぼ意味無し。
4年スパンでカリキュラムが組まれてるなら、お前の努力次第。
865 :
デフォルトの名無しさん :2006/09/26(火) 10:17:47
>>858 、
>>860 遅くなりましたがありがとうございます!
858はうまくコンパイルできました
ただ学籍番号=○○○○、名前=○○○○という形で表示するよう言われてるのですが…
番号と名前だけ表示されるのはちょっと…
860はname=〜 の行で';'がないってエラーが出ます
;を付けてもエラーが出てうまく出来ませんでした
866 :
デフォルトの名無しさん :2006/09/26(火) 10:19:13
【 課題 】教科書や、WWW情報などを参考にして、 「Java言語」と「JavaScript」の特徴比較について調べ、A4サイズの紙1枚に記述するかあるいは印刷し、次回授業開始時に教卓に提出しなさい。 特に、両者に差があるポイントを明確に論じてください。 【 期限 】木曜日 お願いします。
よく分かってないなら変数を使わなければいいじゃない System.out.println("学籍番号=○○○○"); System.out.println("名前=○○○○");
>>867 ついにできました。ネ申
これで昼からの授業に間に合います
皆さん本当にありがとうございました
なんというか、開いた口が塞がらないとはこのことだな。 出来ないにも程度ってもんがあるだろ。w アホすぎww
>>869 お前こそ人を見下しすぎだろう。
最悪な先輩の典型例だな。
>>866 JSが入っているのでスレ違い。
以上。
>>866 Java言語の特徴はWeb掲示板2ちゃんねるのプログラム技術板で課題を解いてもらえることである。
JavaScriptの特徴は同掲示板のweb制作管理板で課題を解いてもらえることである。
この特徴を把握していないと板違いと指摘され相手にしてもらえないので注意する必要がある。
以上。
レポートにはこう書けば単位は間違いなく取れ
873 :
800 :2006/09/26(火) 19:36:41
>>831 の通りなのですがどなたかできないでしょうか・・・
>>800 6日も残っていながら他力本願で何もしなかった自分を呪えww
875 :
800 :2006/09/26(火) 20:55:51
時間かけて解けるならここで質問してませんよ
友達の一人や二人は居るだろ
877 :
800 :2006/09/26(火) 21:05:03
いるならここで質問してませんよ
課題: public class OO1no5 { static double r; static double a; public static void main(String[] args) { r=2.0; gosub(); System.out.println("Radius : "+r+", Area : "+a); } public static void gosub(){ a=3.14159265*r*r; } } ちなみに上のプログラムは、半径rをいわゆるグローバル変数(Javaにはないが) として与えて、面積を計算する、サブルーチン化を図ったプログラムを作成せよ。 という問題でした。これを簡潔に解説しなければならないのですが、 何を書けばいいのかわかりません。上に何をするプログラムかは書いてあるのですが、 具体的に理解できないので、どなたかご教授願います。
>>882 テンプレでしょうか?
はじめて来たのでよくわからなく、申し訳ないです。
【 授業 】オブジェクト指向
【 課題 】下記のプログラムについて解説せよ
【 期限 】本日24時までに
【 補足 】200字程度で解説をする予定です、初心者のクラスで最初の課題です
public class OO1no5 {
static double r;
static double a;
public static void main(String[] args) {
r=2.0;
gosub();
System.out.println("Radius : "+r+", Area : "+a);
}
public static void gosub(){
a=3.14159265*r*r;
}
}
ちなみに上のプログラムは、半径rをいわゆるグローバル変数(Javaにはないが)
として与えて、面積を計算する、サブルーチン化を図ったプログラムを作成せよ。
という問題でした。
これを簡潔に解説しなければならないのですが、
何を書けばいいのかわかりません。上に何をするプログラムかは書いてあるのですが、
具体的に理解できないので、どなたかご教授願います。
その程度分からないやつがここに来るな
>>884 わりぃ、自己解決した
そう怒るなよ、ふられるぞ
>>885 おいおい、そいつはふってくれる相手がいないのに
なんて可哀想なことを言うんだwww
【課題】オウム返しサーバを作る 【期限】10/6(金) 例で サーバ 192.168.5.1 クライアント 192.168.2.3 $java_server $java_client_192.168.5.1 Someone_connected Server_said: Hello_I_am_192.168.5.1 from_192.168.2.3 Please_Type_Something 192.168.2.3: hogege hogege 192.168.2.3: Uho Server_Said: hogege Uho "."で接続終了 このような感じになるようにと。 よろしくお願いします。
889 :
888 :2006/09/27(水) 07:28:52
ずれまくりだったのでサーバ側とクライアント側分けて書き直しました。 (例) サーバ 192.168.5.1 $java server Someone connected from 192.168.2.3 192.168.2.3: hogege 192.168.2.3: Uho クライアント 192.168.2.3 $java client 192.168.5.1 Server said: Hello I am 192.168.5.1 Please Type Something hogege Server Said: hogege Uho Server Said: Uho "."で接続終了
890 :
765 :2006/09/27(水) 14:59:28
>>814 775さん、説明ありがとうございました。
今回、課題を完成させた人が少なく先生が基本となるサンプルクラスを作ったので、
それを書き直して再提出するのが追加課題となってしまいました…。
775さんの組んでくれたコードも、動くのはよいが見にくいのでやり直しと言われてしまいました。
前回の課題を自分で動くようにしたわけではないので、申し訳ないのですがまた丸投げでよろしくお願いします。
【 課題 】基本的なコンセプトは前回の課題(
>>765 )と同じ。
zip内にある「MainClass」「CardCollection」「PlayingCard」クラスのコードを書き直して、
前回の課題1〜3のように処理されるようにしなさい。
今回はカードがクリックされるたびに、そのカードの名前をSystem.out.printlnを使用しプロンプト画面に出力せよ。
例:ハートのエースをクリックした場合、プロンプト画面に「ace of heart」又は「ハートのエース」と表示される。
【 期限 】10/2
【 Ver 】1.5以上
【 補足 】前回、paintメソッドを直に呼び出していた者が多かったので注意する事。
repaintメソッドをpaint()メソッドの中で使わない事。
repaintメソッドの流れとしては、画像クリック→画像変更→repaint→違う画像表示
MouseListenerを使用する事。
MouseListenerの詳細:
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/event/MouseListener.html 配布されたzipです。
ttp://deaikei.biz/up/up/2203.zip.html Pass:java
よろしくお願いします。
891 :
デフォルトの名無しさん :2006/09/27(水) 15:09:54
>>890 悪いが、お前の大学?ずいぶん低いレベルだろ。
そうでないなら、その教官だけど、かなり指導力ない奴だろうな。
その授業を落とした方がいいぞ。
>プロンプト画面に「ace of heart」又は「ハートのエース」と表示される。 関係ないが、英語の表現がおかしくないか?
the ace of heartsが正しいかと。でも略してるだけと思われ。
ace of heartとみて、マライアのhero思い出したからさ。
>>893 として、
of heart
of hearts
全然違うと思うけど。この程度しかない先生じゃ何も得られないだろう。
895 :
デフォルトの名無しさん :2006/09/27(水) 17:14:57
すいません。 宿題でも何でもないんですが、339さんが作ったブラックジャック の作り方がわかりません。 というか自分も作れないと思うのですが、 どうしてこういうプログラムになるのでしょうか? 誰か教えてください。 よろしくです。 解説してくれるとうれしいです。 ROMって勉強していたんですが、ここだけがわかりません
>>895 きっとメモ帳かなにか、テキストエディタっぽいのでファイルにコーディングして
コーディングが終わってればコンパイルして
コンパイルが終わってればvmに掛けて実行して
終わり
どこの大学だよお前らwwwwwレベル低すぎwwwwwwwwwwww
自分で勉強しない大学生ってのはこんなもんかと レベル低いのには激しく同意だが
こんなスレもういらねーだろ 質問者が糞すぎ
質問者もそうだが 一番の問題は 役に立たない問題を作る 出題者や教官じゃないか?
つまらん問題しか作れないというのは ゴミの再生産とおなじだな。
お前らはそんな役に立たない問題は一切やってこなかったのか?
役に立つか立たないかの問題じゃねーんだよ お前は黙ってろ
役に立つ立たないは問題が作れる奴が言える議題だな
役に立たないような問題すら解けない奴が何偉そうにしてんだろ
906 :
デフォルトの名無しさん :2006/09/27(水) 18:36:05
問題を作る奴の能力が、作る問題に現れるんじゃないかねぇ 役に立つ問題(良問)を知らないから、役に立たない問題(愚問)を作ってしまう。 低学歴が集まるところでゴミになっていて、それこそゴミの再生産なんだろうな。 その程度の指導者じゃ、これから飯も食ってけないけどな・・
907 :
895です。 :2006/09/27(水) 18:55:05
処理の仕方とかどういう考え方をすればいいのかと 教えてください。 お願いします。
プログラムより実際のロタンプでブラックジャックでもやれば?
>907 ざっくり >339 のソース読んだけど、みたまんまじゃね? 何のどこがわかんねーの? 質問に具体性がまったくないから、反応しようがねーよ? 個人的にはこのサイズに良く収めたなぁって気がする。 俺が書くとたぶん、手札で構造クラス起こして、 ポイント計算とかそこに突っ込みそうだし、 無駄にOOPしすぎて規模がでかくなるんだよな… コンストラクタに全部突っ込んでるのは、作法的にはアレだけど、 このスレなら問題ないだろうし。w
911 :
895です。 :2006/09/27(水) 19:18:37
序盤の4,4,4,4はなにを表しているのかわからん
ここでは動けばいいと思って、面倒なんでコンストラクタに全部詰め込むことにしてる
914 :
デフォルトの名無しさん :2006/09/27(水) 19:24:49
序盤の23行目までがわからん。 配っていないカードの枚数?
態度が気に入らん 馬鹿のくせに態度だけでかい
このスレに居て何だが 学生時代にこんなスレ見てる奴ってダメだろうなって思う
別に全員がプログラマになるわけじゃないだろ 授業で仕方なくJavaをやらなきゃならない奴だっている
いやそういう事でなくて 別にJavaに限ったことではなく宿題スレで答えを聞くという行為を言ってる
プログラミングに関しては勉強したからどうこうっつうより センスのほうが問題だけどな。芸術とかと同じで まぁできない奴はとっとと諦めろってこった
>>919 センスが出るのは仕様設計やコーディング設計
文法だけならセンス光らすな
921 :
910 :2006/09/27(水) 21:35:51
>>914 Blackjack.javaについて言えば、
内部クラスとして、カードの山を管理するために、class Cardが定義されている。
int[] remainは、位置がカードの番号、数値は残り枚数。A〜10までだから要素数も10。
getCard()を呼ぶごとに、全体の残り枚数チェックや減算をし、
ランダムでどれかのカード数値を返している。
calcPoint()は、Aが1or11であることを考慮した、得点計算ルーチン。
922 :
895です。 :2006/09/27(水) 21:48:07
private int[] remain = {4, 4, 4, 4, 4, 4, 4, 4, 4, 4}; の1行がわかりません。 位置がカードの番号、数値は残り枚数。 A〜10までだから要素数も10。 ってどういう意味? でもすこしずつわかった。 だからint num=40になるところまでは もう少しくわしく。 今一人でブラックジャックやってもわからない。 絵札は入っていないんだ。
>922 >399のレスの元質問まで見れw
927 :
895です。 :2006/09/28(木) 01:33:31
private int[] remain = {4, 4, 4, 4, 4, 4, 4, 4, 4, 4}; がわからん。後の部分は理解できました? なぜ4なの? で、これ2つあるけど、ひとつでできるんだよね。 あれ?わかんないよ..... どうしよう。
>>927 本当に分からないのなら…もっと苦しめ
分からなくても、考えたことが意外と身を助けるぞ
ほら…なんで名前が"remain"なのか?とか、要素が10なのか?とか、なんでprivateなのか(そして、所属するクラスはどこなのか)?
なんて、重大なヒントに見えてきたじゃないか
どうでもいいかもしれんが
930 :
895です。 :2006/09/28(木) 01:49:43
なぜremainなの? 要素数10とうのは1から10までということで、 10なんだとおもうんだけど、 なんで4なんだ?
♠A ♣A ♥A ♦A ♠2 ♣2 ♥2 ♦2 ♠3 ♣3 ♥3 ♦3 ♠4 ♣4 ♥4 ♦4 ♠5 ♣5 ♥5 ♦5 ♠6 ♣6 ♥6 ♦6 ♠7 ♣7 ♥7 ♦7 ♠8 ♣8 ♥8 ♦8 ♠9 ♣9 ♥9 ♦9 ♠10 ♣10 ♥10 ♦10
あらかじめ40個のオブジェクトを用意してシャッフルする方が 単純明快で良いと思うけどな。
【 課題 】以下のプログラムの // else if ( e.getSource() == reverseBtn){ // add source code for reverseBtn event handling //} の部分を完成させ、reverseボタンが機能するようにせよ。 reverseは、格納されたデータを後ろから順に並び替えるものとする (1,2,3,4,5と順にaddされたとすると、displayしたときに5,4,3,2,1となるように) 【 期限 】9/28 22:00まで 【 補足 】丸投げです。よろしくお願いします
>>933 プログラムは単純明快に完成しているように見えるが?
935 :
933 :2006/09/28(木) 02:14:10
>>934 else if ( e.getSource() == reverseBtn){ ここはこのままでいいんですが、
// add source code for reverseBtn event handlingの部分に順序を逆にするプログラムを書かないといけないんです
ボタンまではできたのですが、ここだけ解けなくて・・・
丸投げと言いつつ、丸投げになってない件
937 :
765 :2006/09/28(木) 04:31:27
>>890 もともと、文系の学部なのですが必修の情報系クラスでJavaをやっています。
教えている先生も本当は数学の教授なので専門外なのですが、
落としてしまうと、進級出来なくなるので受けています。
たしかに、大学のレベルは高くありません…。
微妙な話だな。 その数学屋さんもコンピュータグラフィクスなら乗り気なんだろうがな。
939 :
デフォルトの名無しさん :2006/09/28(木) 12:55:53
【 課題 】4面体を表示して,正しく表示されることを確かめよ。下のプログラムを完成させてください. 【 用語 】ない 【 期限 】9月30日 public void paint(Graphics g){ gray(); Triangle t[] = new Triangle[4]; Point3D p[] = new Point3D[3]; //奥の平面p[0] = new Point3D(100, 100, -100); p[1] = new Point3D(200, 400, -100);//上の頂点 p[2] = new Point3D(400, 100, -100); t[0] = new Triangle(p[0], p[1], p[2]); //左側面p[0] = new Point3D(100, 100, -100); p[1] = new Point3D(300, 50, -50);//手前の点 p[2] = new Point3D(200, 400, -100); t[1] = new Triangle(p[0], p[1], p[2]); //右側面p[0] = new Point3D(300, 50, -50); p[1] = new Point3D(400, 100, -100); p[2] = new Point3D(200, 400, -100); t[2] = new Triangle(p[0], p[1], p[2]); //底面p[0] = new Point3D(300, 50, -50); p[1] = new Point3D(100, 100, -100); p[2] = new Point3D(400, 100, -100); t[3] = new Triangle(p[0], p[1], p[2]); for(int i=0; i<4; i++){ wire(t[i]); } バッファの描画 private void gray(){ 略 } private void line(int x1, int y1, int x2, int y2){ 略 } //新しく作るメソッド private void wire(Triangle t){ 三角形の三辺を描く処理 }
940 :
933 :2006/09/28(木) 13:06:46
>>936 すいません
課題で出された部分で一番やらなきゃいけないのがここなもので
そうじゃなくてさ… 何の絵柄かも分からんジグソーパズルの一片だけ持って来て 『どこにはめたらいいですか?』って聞かれても誰も答えられん 残りのピースを全部持って来いってこと
942 :
デフォルトの名無しさん :2006/09/28(木) 16:30:07
【 課題 】 理想体重は、以下の式で計算される。 理想体重=BMI*身長*身長 (ここで、BMI=22で、身長はメートル単位) 例題1の計算方法を参考にして、以下のプログラムを作成せよ。 (身長と体重は、データとして与えよ。) <課題1> あなたの理想体重を、以下のような出力形式で求めよ。 ”理想体重は 58.33KGです。” <課題2> あなたの体重は理想体重よりも何キロ軽いか重いかを求めよ。 軽い場合はマイナスの値で求めよ。 ”実際の体重と理想の体重との差は、1.5 KGです。” <課題3> 2乗の計算には、pow関数を用いよ。 Math.pow (height,2.0) <課題4> 課題1と課題2のプログラムを1つのプログラムとせよ。 <課題5> 2人の理想体重について以下のような結果を求めるプログラムを作成せよ。 ”私の理想体重は、56.13 KGです。” ”実際の体重と理想体重との差は、-2.87 KGです。” ”あなたの理想体重は、65.65 KGです。" ”実際の体重と理想体重との差は 3.56 KGです。” 【 期限 】来週の水曜まで 【 補足 】まったくのjava初心者であんまりわからないんですがお願いします。
>>942 理想体重を計算するのに身長が必要だ。
2人分求めるので「私」 と「あなた」の身長が必要になるが、どうやって取得するか指定がない。
コンソールから入力するのか? プログラム上に固定値で書いておくのか?
最低限、それが決定すればできるぞ。
944 :
943 :2006/09/28(木) 16:51:01
追加 実際の体重も必要だな。 それもどこから取得するのか、問題文からはわからんので決めてくれ。
946 :
943 :2006/09/28(木) 18:08:16
1レスに収まるくらい短けりゃ別にいいんじゃね
>>939 つーか、お前
>>818 だろ。
人が回答書いてやってのに無視するとはどういうことだ??
>>1 も読めないやつは消えろ。
>>940 俺のESPによるとjava.util.Collections.reverseかと
酷い自演を見た
952 :
933 :2006/09/29(金) 11:30:23
>>941 これをJavaアプレットで立ち上げるとアプレットが開いて、
フォームに英数字を入力してaddBtnを押すとファイルにそのデータを順次追加、
firstBtnで最初に追加した要素を表示、lastBtnで最後に追加した要素を表示、
displayBtnで追加した要素を全て表示・・・
といった機能を持つプログラムです。
ここにremoveBtnを追加して、問題文のとおりの機能を持つ
ボタンを作るプログラムを書けというのが出題された課題です。
よろしくお願いします
>>952 お前、丸投げしろと言われてるのがわからんのか?
>>952 文章で書かないで、ソース一式うぷろだに上げた方が話が早いと思うよ?
丸投げしろ、ってのはそういう意味。
それが嫌なら、諦めて自分でやりなされ。
>>952 みんなそんな事は最初からわかってるよ。ただ、情報が足りないって言ってるんだよ。
「データを並び替えるプログラム」ってのも様々なやり方があるから元のソースが無いと回答しようが無いんだよ。
「腹が痛い」ってだけ言われても食あたりなのか虫垂炎なのかわからないだろ?
自分の腹を他人に見せないと誰も助けられないよ。
ソース全部
http://sourcepost.sytes.net/ に上げて 、改めて頼んでみたら?
以下の問題(丸投げ)を宜しくお願い致します。 文章が長いので2回に分けます。 まず、トランプのカードとなるTrumpCard クラスを作ります.普通トランプにはスペード,クラブ, ハート,ダイヤのマークとジョーカーがあります.また,それぞれの数値は1 から13 までの値を持つ ので,それらを表現できるようにTrumpCard クラスを構成します.以下にあげる仕様を充たすように TrumpCard を定義し,サンプルソースが動作するようにプログラミングを行いなさい. 1. クラスTrumpCard は,クラス変数として,String 型の変数SPADE,CLUB,HEART,DIAMOND, JOKER を持つ.値はそれぞれ “spade”, “club”, “heart”, “diamond”, “joker” としま す. 2. クラスTrumpCard は,インスタンス変数として,String markOfCard、int numberOfCard を持ちます.markOfCard はトランプのマークをnumberOfCard はトランプの数字を示します. 3. クラスTrumpCard は,コンストラクタとしてTrumpCard(String mark, int number)を持 ちます.引数として与えられるmark はトランプのマークを与えることで,markOfCard に代入さ れることとします.number はトランプの数値を示し,number で与えた値がnumberOfCard に 代入されることとします.また,mark の値が “joker”であった場合は,number の値が何であれ, numberOfCard の値は14 とします. 4. クラスTrumpCard は,メソッドとして,public void showCard()を持ちます.このメソッド を使用するとそのクラスの持つmarkOfCard とnumberOfCard の値をセットで表示します。 ヒント:文字列同士を比較する場合はString クラスのメソッドcompareTo(String)を使用するこ とで比較ができます.これは,インスタンスが持つ文字列と引数の文字列とを比較するメソッドです。 文字列が等しいならば0 を返します。詳細はJava API 表のString クラスを見てください.
958 :
957 :2006/09/29(金) 15:51:06
続きです。 <<課題1-1 サンプルソース>> public class Lesson1_1 { public static void main(String argv[]) { TrumpCard [] myCards =new TrumpCard[5]; myCards[0] = new TrumpCard(TrumpCard.SPADE,1); myCards[1] = new TrumpCard(TrumpCard.CLUB,10); myCards[2] = new TrumpCard(“heart”,5); myCards[3] = new TrumpCard(“diamond”,12); myCards[4] = new TrumpCard(TrumpCard.JOKER,9); for(int i=0; i<5; i++) myCards[i].showCard(); } } class TrumpCard { //ここに実装を書く TrumpCard(String mark, int number) { //ここに実装を書く } public void showCard() { //ここに実装を書く } } 提出期限は10月4日です。 宜しくお願い致します。
class TrumpCard{ public final static String SPADE = "spade"; public final static String CLUB = "club"; public final static String HEART = "heart"; public final static String DIAMOND = "diamond"; public final static String JOKER = "joker"; private String markOfCard; private int numberOfCard; TrumpCard(String mark, int number){ markOfCard = mark; if(mark.compareTo(JOKER) == 0){ numberOfCard = 14; }else{ numberOfCard = number; } } public void showCard(){ System.out.println(markOfCard+numberOfCard); } }
つくづく思うのだが、トランプの課題って多いんだな。
961 :
957 :2006/09/29(金) 19:07:43
>>959 ありがとうございます。
現在動作を確認することが出来ない状況ですので、
週末明けの月曜日に報告致します。
962 :
957 :2006/09/29(金) 19:16:55
連投で申し訳ないのですが、次の問題も解いては頂けないでしょうか…。 図々しいとは思いますが課題が全部で7つあり、全く分からない状況です。 もし、宜しければお願い致します。 1. クラスTrumpCard は,メソッドとしてpublic boolean compareStatus(String mark)を 持ちます.このメソッドが呼ばれた場合そのインスタンスが持つmarkOfCard の値とmark とを 比べ,同じ文字列であればtrue を異なればfalse を返り値として返します. 2. クラスTrumpCard は,メソッドとしてpublic int compareStatus(int number)を持ちま す.このメソッドが呼ばれた場合そのインスタンスが持つnumberOfCard の値とnumber とを比 べ,同じ値ならば0 を,numberOfCard の方が大きければ正の整数,number の方が大きければ 負の整数を返り値として返します.数の大きさそのものは任意とします. 3. クラスTrumpCard は,メソッドとしてpublic int compareStatus(TrumpCard tc)を持ち ます.このメソッドが呼ばれた場合そのインスタンスが持つmarkOfCard, numberOfCard の値 とtc の持つmarkOfCard, numberOfCard とをそれぞれ比べ,どちらも異なれば0 を,マーク が同じなら1 を,数値が同じなら2 を,どちらも同じなら3 を返り値として返します.このとき返 り値として指定されている,0,1,2,3 の値をそれぞれクラス変数として,DIFFERENT, SAME_MARK, SAME_NUMBER, EQUIVALENT として定義すること. 4. 1.2.3.のように同じ名前のメソッドでありながら,引数などの違いによって異なる実装を可 能とすることをなんと呼ぶか?ソース内のこれらのメソッド近くにコメントとして書き示しなさ い.
963 :
957 :2006/09/29(金) 19:19:40
public class Lesson1_2 { public static void main(String argv[]) { TrumpCard [] myCards =new TrumpCard[6]; myCards[0] = new TrumpCard(TrumpCard.SPADE,1); myCards[1] = new TrumpCard(TrumpCard.CLUB,1); myCards[2] = new TrumpCard(TrumpCard.DIAMOND,12); myCards[3] = new TrumpCard("diamond",10); myCards[4] = new TrumpCard(TrumpCard.JOKER,9); myCards[5] = new TrumpCard(TrumpCard.JOKER,2); for(int i=0; i<6; i++) { if(myCards[i].compareStatus(TrumpCard.SPADE)==true) System.out.print(i+"枚目はスペードで,"); else System.out.print(i+"枚目はスペードでなく,"); if(myCards[i].compareStatus(7)>0) System.out.println("7 より大きい数字です."); else System.out.println("7 以下の数字です.");} for(int i=0; i<6; i=i+2) { int check = myCards[i].compareStatus(myCards[i+1]); if(check==TrumpCard.DIFFERENT) System.out.println(i+"枚目と"+(i+1)+"枚目は違うカードです."); if(check==TrumpCard.SAME_MARK) System.out.println(i+"枚目と"+(i+1)+"枚目はマークが同じです."); if(check==TrumpCard.SAME_NUMBER) System.out.println(i+"枚目と"+(i+1)+"枚目は数値が同じです."); if(check==TrumpCard.EQUIVALENT) System.out.println(i+"枚目と"+(i+1)+"枚目は同じカードです."); }}} class TrumpCard { //実装を追加する. } 上記が課題2です。提出期限も課題1と同じで10月4日です。
964 :
957 :2006/09/29(金) 19:20:29
続いて課題3です。 Lesson1_2 で作成したTrumpCard を拡張します.トランプでゲームを行う場合,そのカードが表を 向いているか裏を向いているかという要素は重要なので,それを表現できるようにします.この場合の 表とはマークや数値が表示されている側,裏はその逆で絵柄が付いている側を指すこととします.サン プルプログラムが動作するように,以下の実装を付け加えなさい. 1. クラスTrumpCard は,インスタンス変数として,boolean openStat を持ちます.そのインス タンスが表の場合はtrue,裏の場合はfalse の値を持つものとします. 2. クラスTrumpCard は,コンストラクタTrumpCard(String mark, int number, boolean open)を持ちます.open によって,インスタンスの初期状態での表裏の値(openStat の値)を 決めることができるものとします.また,指定されない場合の初期値はfalse(裏向き)とします. 3. クラスTrumpCard は,メソッドとしてpublic void setOpened(boolean open)を持ちます. このメソッドが呼ばれた場合そのインスタンスが持つopenStat の値をopen の値に置き換えます. 4. クラスTrumpCard は,メソッドとしてpublic boolean getOpened()を持ちます.このメソ ッドが呼ばれた場合そのインスタンスが持つopenStat の値を返り値として返します.
965 :
957 :2006/09/29(金) 19:21:03
public class Lesson1_3 { public static void main(String argv[]) { TrumpCard [] myCards =new TrumpCard[3]; myCards[0] = new TrumpCard(TrumpCard.SPADE,1); myCards[1] = new TrumpCard(TrumpCard.CLUB,10,true); myCards[2] = new TrumpCard(TrumpCard.DIAMOND,12,false); for(int i=0; i<3; i++) { if(myCards[i].getOpened()) System.out.println(i+"枚目は表です."); else System.out.println(i+"枚目は裏です."); } System.out.println("0 枚目を表に1 枚目を裏にします."); myCards[0].setOpened(true); myCards[1].setOpened(false); for(int i=0; i<3; i++) { if(myCards[i].getOpened()) System.out.println(i+"枚目は表です."); else System.out.println(i+"枚目は裏です."); } } } class TrumpCard { //ここに実装を書く }
966 :
957 :2006/09/29(金) 19:21:40
続いて課題4です。 課題1-3 で作成したTrumpCard を拡張します.すでに生成されているインスタンスに対してのパラメ ータの変更ができるようにします.以下の仕様を充たしサンプルプログラムが動作するように実装を行 いなさい. 1. クラスTrumpCard は,メソッドとして,public String getMark()と,public void setMark(String mark)を持ちます.getMark はインスタンスの持つmarkOfCard の値を返り 値として返し,setMark はインスタンスの持つmarkOfCard の値をmark に置き換えます. 2. クラスTrumpCard は,メソッドとして,public int getNumber()と,public void setNumber(int number)を持ちます.getNumber はインスタンスの持つnumberOfCard の値 を返り値として返し,setNumber はインスタンスの持つnumberOfCard の値をnumber に置き 換えます. 3. クラスTrumpCard は,メソッドとして,public void setStatus(String mark, int number) とpublic void setStatus(String mark, int number, boolean open)を持ちます.コ ンストラクタの時と同様にインスタンスの持つmarkOfCard, numberOfCard, openStat の値 をmark, number, open に置き換えます.ただし,open が指定されないときは,open の値は 現状の値をそのまま保持します. 4. どちらの場合もJOKER の場合は例外として先の仕様を充たし不整合が起きないようにしてくださ い. 5. メソッドshowCard()を変更し,カードの状態をgetMark(), getNumber(), getOpened() を使ってカードのマーク,数値,表裏の状態の表示を行いなさい.
、, . . . .、 、| . . .・ニ、 . . . .、 ゙_、∴ー 、 . . . ._ ..〜. .¨¨¨¨¨〕¨¨¨¨゜ ゙,、_ ソ ゙v.、’. ´ 、’ ._^- . `′ .` i . . . .`/ 、\..` .1 .゜` . ’_ 、_、 | 、 .ソ`’ . } . . ..─‥´` ` . . .’ . . . .ソ´ ..’ ゙!`ゝ| ゙’ . | . . .° .、’ .’、.、 . . . .’ . 、! ̄``’-._ ^ ’ . . .・゜─-- . ’=‐^ .` . .’ `-、_ `〜。、_ . `′
968 :
957 :2006/09/29(金) 19:31:00
public class Lesson1_4 { public static void main(String argv[]) { TrumpCard [] myCards =new TrumpCard[3]; myCards[0] = new TrumpCard(TrumpCard.SPADE,0); myCards[1] = new TrumpCard(TrumpCard.CLUB,10,true); myCards[2] = new TrumpCard(TrumpCard.DIAMOND,12,false); for(int i=0; i<3; i++) { myCards[i].showCard(); } myCards[0].setMark(TrumpCard.HEART); myCards[1].setNumber(14); myCards[2].setStatus(TrumpCard.JOKER, 3, true); for(int i=0; i<3; i++) { myCards[i].showCard(); } } } class TrumpCard { //ここに実装を書く }
969 :
933 :2006/09/29(金) 19:47:03
970 :
957 :2006/09/29(金) 19:50:28
図々しいっていうか、全然やる気がないんだな。 まだまだ時間はたくさんあるのに…。 ここをうろうろしてる連中なら即日で回答できるし、10/2ぐらいまでは 自分で粘ってみてもいいんジャマイカ?
972 :
957 :2006/09/29(金) 20:06:26
>>971 確かにあなたの言う通りだと思います。
実はもうすぐ資格の試験日が近づいており、その勉強もしないといけない状況下にあるので、
時間があるようで実はないんです…。
試験が終われば時間に余裕が出来てくるのでJavaの基本から勉強しようと思っているので、
今回だけはどうかお助け下さい…。
973 :
デフォルトの名無しさん :2006/09/29(金) 20:08:56
まぁ頼むのは勝手だが誰も回答してくれない可能性も考えとかないと痛い目に遭うよ。
974 :
デフォルトの名無しさん :2006/09/29(金) 20:27:32
解答してもらえると勘違いしてるんじゃないか? 授業も落として、資格も落ちたほうが、奴の今後のためだろう。
>>972 基本情報でも受けるのか
だったらこの程度の課題が出来ないとダメだろ
>>972 まあ完全に投げてるわけじゃないんだな。
仕事から帰ってきて回答あがってなかったらやってやるよ。
もうすぐ1000だな
起きたら新スレでも立てるか。
まんこくせぇ
>>339 の奴の
System.out.println("引いたカードは" + (v == 1 ? "A" : v) + "です");
の(v == 1 ? "A" : v)の部分の意味が良くわかりません。
よろしければ解説お願いします。
>>957 >>968 は大丈夫なのか? スペードの0の存在を許容してしまっているが。
あと、与えられてる文章だけじゃナンバーが14の場合はJOKERに化けて
良いのかもよくわからん。
つまり、
>>957 の説明で
「JOKERならば14」
とされてはいるものの、
「14ならばJOKER」
という指示がなされてないから、JOKERに配慮した設計をしろと言われても
どう対処すべきなのかがこちらで判断できん。
おまいもわからんようなら、「課題の文面では○○か判断できなかったため、
独断で△△のようにしました」ってぐらいのコメントを突っ込んでおくが。
984 :
980 :2006/09/30(土) 06:13:28
>>981 ググって使い方はわかった。
けどEclipseではじかれるのは仕様?
使うことは余り好ましくないみたいに書かれてたからはじかれるだけ?
コンソールならできるのかな?
>>984 今試してみたが、別にはじかれんぞ。
んで、ここは宿題スレ。お前の投稿は ImproperThreadException
986 :
984 :2006/09/30(土) 06:37:35
>>985 >>339 のをそのままコピペしたら
非互換条件オペランド型 String と int
と出る。
if〜elseに書き直せば普通に通る。
ちなみにJDKは1.5.0_08。
スレ違いなのでこれ以上はやめておく。
スレ汚しスマン。
988 :
957 :2006/09/30(土) 09:13:36
>>982 ,983
問題は丸投げの物を書いてあるので、Javaのことが全く分からない自分からすると
お二人の言ってることがいまいち理解出来ない状況ですので、
来週の火曜日に講義があるので、その時に聞いてみます。
989 :
957 :2006/09/30(土) 09:48:07
>>969 ==933
コードみて確信した。
>>949 がESPで答えてる。w
やるなw >949
>>990 確信以前に、名前に書いてるだろ。
これだからアホジャヴァーは。
専修だからじゃね。。。このネタももうあきたねw
とりあえず流すか。 答えを貰えなかった連中は次スレで訴えてくれ。
994 :
デフォルトの名無しさん :2006/09/30(土) 12:05:22
未来神話ジャーバス
995 :
デフォルトの名無しさん :2006/09/30(土) 12:06:23
この勢いなら初1000!!!!!111
996 :
デフォルトの名無しさん :2006/09/30(土) 12:07:24
996
う
998 :
デフォルトの名無しさん :2006/09/30(土) 12:08:35
997
め
orz
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。