★★ Java の宿題ここ ..
259:デフォルトの名無しさん
08/06/25 00:15:44
>>256
1・Cartクラスには、商品を表すProductクラスの配列が存在。
2・Productクラス内ではCartのインスタンスを識別するためのフィールドを一切(?)持たせない。
・この状態で、とあるProductインスタンスのメソッドから、それを格納している配列を持つCartインスタンスを得る方法を教えて。
☆各クラスの包含関係はこちら☆
・Cartの持ち主Obj
+- Cart [0]
| +- Product []
+- Cart [1]
|
とりあえずこんなとこだろうか?
2・の制約(?の部分)が無ければ、Product にCart識別用のintなりbyteなりを持たせるのが簡単だと思うけど。
あとはCartインスタンスの持ち主側からCart側へ問い合わせるとか。
Javaはほとんど触ったこと無いんでJava屋さんの意見を待つか・・・。
260:259
08/06/25 00:17:00
間違えた >>255
261:デフォルトの名無しさん
08/06/25 00:24:04
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 期限 】今日の朝まで
【 補足 】丸投げです。期限がギリギリですがよければ。。
262:デフォルトの名無しさん
08/06/25 07:45:10
//print,save,reverse,sort,deleteが使えるようにソースコードを埋めよ.(前問までに関するところも空白であるので注意すること)
>>261コメントの極端に少ないソースで、穴埋めって言われても。前問は無いですか。
263:デフォルトの名無しさん
08/06/25 09:40:05
>>255 >>256のインプリメント:実現
URLリンク(rg550.hp.infoseek.co.jp)
ご意見下さい
264:デフォルトの名無しさん
08/06/25 14:41:50
テンプレ無視、単発質問は質問スレへのルールも無視には回答しないw
265:デフォルトの名無しさん
08/06/25 14:49:33
>>262
URLリンク(rg550.hp.infoseek.co.jp)
前問がこれです。
266:デフォルトの名無しさん
08/06/25 15:08:57
仕様もないのに実装しろって言われてもry
コメントが全くないから出題者が何を期待してるかも分からんし。
できるわけねーだろ屑講師!で良いと思うよ。
267:255
08/06/25 20:48:16
>263
わかりづらくてすみません。
やりたいのは、まさに>259が書いてくれた通りなんです。
268:デフォルトの名無しさん
08/06/25 20:52:55
>>264
日本語ヘンじゃね?
269:angel452
08/06/25 22:28:27
【 課題 】FTPクライアントの作成
【 期限 】2週間以内
【 補足 】
はじめまして
javaで、ネットワークダウンロードをするFTPクライアントソフトを作成しようとしているのですが、
比較的簡単に行うには、どうしたらいいのでしょうか?
もちろんアドレス、IPなどはプログラム内に書き込んで、実行するだけで
その指定した、バイナリファイルをダウンロードして、保存するという
だけのプログラムなんですが。
JAVAでFTPクライアントだと、commons.netというクラスライブラリを見つけたのですが、
それを上手く使う方法がわかりません。。。
宜しければプログラミングか、アドバイスをいただけたらと思います。。。。
レベル的にはどうでしょうか?
一応つくりはじめてはいるのですが・・・
270:angel452
08/06/25 22:36:10
ちなみにプロトコルはFTPで、TCP/IP利用です。
サーバも自作しまして、LinuxのFedora上でapacheです。(こちらは既に完成。)
よくあるアップロードするFTPクライアントではなく、
ダウンロードだけできるFTPでよいのですが。
ソケットの扱いなどが全然わかりません…。
先が見えてこない状況です。。。
271:angel452
08/06/25 22:43:11
訂正
サーバはapacheではなく、vsftpでした。。。
自作したvsftpによるFTPサーバからLANを通じて、
自作したFTPダウンロードクライアントで特定のファイルのダウンロード・保存をしたいのです。
272:デフォルトの名無しさん
08/06/26 02:38:50
>>268
句読点もわからんのかよw
273:263
08/06/26 03:25:19
>>267 設計レベルのその回答で、もう満足したのか。
274:デフォルトの名無しさん
08/06/26 09:26:54
>>269
【初心者】Java質問・相談スレッド116【歓迎】
スレリンク(tech板)
275:デフォルトの名無しさん
08/06/26 12:58:00
【課題】オブジェクトの持つ int の値の属性で並び替えるプログラムを作成しなさい。
用いるアルゴリズムは単純選択ソート (バブルソート) の最初のサンプルプログラムのものでかまわないが、違うアルゴリズムでもよい。
main メソッドのあるクラスのクラス名は MusicSortByRating とする。
リストの要素は Music クラスのオブジェクトとし、 Music クラスの属性 rating の降順でソートするものとする。
URLリンク(rg550.hp.infoseek.co.jp)
【形態】1. Javaアプリケーション(main()で開始)
【期限】6月30日 23:59
【Ver】1.5.0.11
【補足】丸投げです。宜しくお願いします
276:デフォルトの名無しさん
08/06/26 15:14:23
>>275
一部
private static void sort(ArrayList<Music> list) {
for(int i=1; i<list.size(); ++i)
for(int j=list.size()-1; j>=i; --j)
if(list.get(j-1).getRating() < list.get(j).getRating()) swap(list, j-1, j);
}
private static void swap(ArrayList<Music> list, int index1, int index2) {
list.set(index2, list.set(index1, list.get(index2)));
}
277:デフォルトの名無しさん
08/06/26 16:11:50
【 課題 】以下のようなプログラムを作り,提出してください.
入力した数に応じて,1回目には正方形を1個描き,正方形の頂点に辺の長さが1/2の正方形を,遇数回目には全ての頂点に,奇数回目には上の2頂点に,所定の回数を描くプログラムを再帰を使って書きなさい.
色はなんでもいい
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】6月27日
【 補足 】クラスは Problem4,ソースコード名は Problem4.java,HTMLファイルは Problem4.html とすること.
クラス Problem4 は前回の授業で示した DrawCircle7 を継承すること.
コンパイル,実行するには,DrawCircle7.class,DrawCircle2.class,DrawCircle2$ActionAdp.class が必要である.
278:277
08/06/26 16:14:07
プログラム DrawCircle7.javaは
/* DrawCircle7.java
円の中に一定比率で縮小された異なる色の同心円を指定された回数だけ
描くプログラム. */
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class DrawCircle7 extends DrawCircle2 { // DrawCircle2 を継承
public void paint(Graphics g) {
int x = 200; // 円の中心のX座標
int y = 200; // 円の中心のY座標
int radius = 150; // 円の半径 (初期値)
int times = 0; // 繰り返した回数のカウント
while (times < number) { // number は繰り返し回数
setColor(g, times); // 色を設定するメソッド
g.fillOval(x - radius, y - radius, radius * 2, radius * 2);
// 円の塗りつぶし
times++; // 描画回数を1増やす
radius = radius * 4 / 5; // 半径を 4/5 にする
}
}
279:277
08/06/26 16:14:50
/* 色の設定メソッド
引数の説明:
第1引数: 色を設定する Graphics クラスのオブジェクト
第2引数: 色指定をするインデックス */
void setColor(Graphics g, int count) {
int index = count % 5; // count % 5 はcountの5による剰余
if (index == 0) { // 剰余が0の場合
g.setColor(Color.blue);
} else if (index == 1) { // 剰余が1の場合
g.setColor(Color.green);
} else if (index == 2) { // 剰余が2の場合
g.setColor(Color.yellow);
} else if (index == 3) { // 剰余が3の場合
g.setColor(Color.pink);
} else if (index == 4) { // 剰余が4の場合
g.setColor(Color.magenta);
} else {
g.setColor(Color.blue);
}
}
}
です
どなたかお願いします
280:デフォルトの名無しさん
08/06/26 16:19:16
>>277
DrawCircle2.java も提示してください。
形態がアプリケーションなのに HTML ファイル名が指定されているのはなぜ?
281:デフォルトの名無しさん
08/06/27 12:41:33
関係ないが、ひでえコメントのソースだなw
282:使用書無しさん
08/06/27 22:22:56
>>281 同感
ばあさんに老眼鏡なしで新聞読めてなもんだ
283:rai1994
08/06/28 04:07:19
【 課題 】以下の文字列をハッシュ値に変換するCプログラムをJavaで書き直せ。
【 形態 】1. Javaアプリケーション
【 期限 】2週間以内。
【 Ver 】java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
【 補足 】ただ単にJavaで書き直せだそうです。
// 入力引数: *key : ハッシュするキー
// size : アドレス空間の大きさ
// 戻り値 hv : ハッシュ値
unsigned int hash(char *key, unsigned int size) {
unsigned int h = 0 , //
hv , // ハッシュ値
g ; //
int i ; //
for(i = 0; key[i] != '\0'; i++) {
h = (h << 4) + key[i] ;
g = h & 0xf0000000 ;
if (g != 0) {
h = h ^ (g >> 24) ;
h = h ^ g ;
}
}
hv = h % size ;
return hv ;
}
284:デフォルトの名無しさん
08/06/28 13:43:43
>>283 仕様の場合だけに限定すると、文字コードは何でもOKとして
char * は、ANK以外の2バイト文字の場合はJavaだとどう入ってるの?
char *a_cpp = "abcdあいう"; // 7文字、10バイト
String a_java = "abcdあいう"; // 7文字、14バイト
か、または
String b_java = "abcd\60\102\60\103\60\104"; // 10文字、20バイト
か、または
String c_java = "\60542\25444あいう"; // 5文字、10バイト
285:rai1994
08/06/28 13:53:57
デフォルトの名無しさん>
拡張ハッシュ法に使うものでして。char *keyには,文字列英単語が入ってきます。
URLリンク(rg550.hp.infoseek.co.jp)に出した最新の課題も見てもらえると
うれしんですが。よろしくお願いします。
286:284
08/06/28 14:29:45
今のところ出来たの、上げておきます。
C/C++の結果と比較してないのでDEBUG PRINT付き。
URLリンク(rg550.hp.infoseek.co.jp) 307.java
306.txt はモジュールが足りないようです。
287:rai1994
08/06/28 15:13:32
284さん
どうもありがとうございます。
モジュールがたりないってどういうことですか??
288:284
08/06/28 16:40:56
>"hash_extend.h"と"hash_extend.c"に入ってるやつもJavaにしなくてはならないのですが
これ、モジュールが足りないという意味です。
289:rai1994
08/06/28 17:01:18
分りました。その中身もアップします。よろしくお願いいたします。
290:rai1994
08/06/28 17:11:58
そのなかに、文字列をハッシュ値に変換するCプログラムも入っています。
291:デフォルトの名無しさん
08/06/29 00:33:47
【 課題 】
<要求仕様>
・パラメータから年・月を受け取り、
その「前月」「当月」「次月」の3ヶ月をコンソールに
出力するカレンダーを作成してください。
(要するに、2008、5と入力したら、4月、5月、6月の3か月分を出力する)
<条件>
・パラメータチェックメソッドを実装すること
ただし、同メソッド内にtry/catch句を記述してはいけない。
(自前で数値チェックを実装する)
・mainメソッドはControllerとしてのみ使用すること。
(実際の作成/出力処理は別メソッドに実装すること)
【 形態 】Javaアプリケーション
【 GUI 】制限なし
【 期限 】7/2(火)AM10:00
【 Ver 】java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
【 補足 】一応私が作った1ヶ月だけのカレンダーソースをアップローダーに配置します。
よろしくお願い致します!
292:デフォルトの名無しさん
08/06/29 02:41:33
【 課題 】swingを使用しての図形表示や保存(補足のtxtに詳細を載せました)
【 形態 】Javaアプリケーション
【 GUI 】2.Swing
【 期限 】7/2(火)AM9:00
【 Ver 】java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
【 補足 】 URLリンク(rg550.hp.infoseek.co.jp)
(i)までは理解できるのですが、(ii)以降がまったく分かりません。
どのように考えるべきなのかなどもイメージが湧かず、
非常に参っております……
よろしくお願い致します。
293:デフォルトの名無しさん
08/06/29 15:04:49
>>292
(i)が理解できるということは、(i)のプログラムはできてるのかな?
どんな感じで作ってるか知りたいから、できたらそれも見せてくれないかな
294:デフォルトの名無しさん
08/06/29 15:54:23
>>293
申し訳ございません。何となくイメージできる程度にしか理解できておりません。
現在、どのように書けばいいか試行錯誤中です……
295:デフォルトの名無しさん
08/06/29 17:35:47
【 課題 】簡単なゲームにファイル機能を(補足のtxtに詳細を載せました)
【 形態 】Javaアプリケーション
【 GUI 】特に制限は課されていません
【 期限 】7/2(火)AM10:00
【 Ver 】java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
【 補足 】 URLリンク(rg550.hp.infoseek.co.jp) 316.txt
問題の1から分からず、丸投げ状態です。
宜しく御願い致します。
296:デフォルトの名無しさん
08/06/29 19:44:40
>>292
こんな風?
URLリンク(rg550.hp.infoseek.co.jp)
297:デフォルトの名無しさん
08/06/29 21:40:02
>>291
こんな?
URLリンク(rg550.hp.infoseek.co.jp)
298:デフォルトの名無しさん
08/06/29 22:16:30
>>276
返答が遅くなってしまいました、すみません。
有難うございました
299:291
08/06/29 22:33:49
>>297
素晴らしいです!!!
本当にありがとうございました!!!
300:292
08/06/29 22:56:21
>>296
そのような形です。まさにそれっといった感じです!
Vectorクラスなどを使うのですね。すごく参考になります。
for(シェイプ情報 s : シェイプス)はどういった意味を指すのでしょうか?
「java for コロン」などで検索してもよく理解できませんでした。
301:デフォルトの名無しさん
08/06/29 22:57:46
拡張forループ
302:デフォルトの名無しさん
08/06/29 23:02:03
>>301
ありがとうございます!
303:デフォルトの名無しさん
08/06/29 23:13:54
URLリンク(www.objectstart.com)
にある下から2番目のClick here to access a
Zip file containing the Java 1.5.x version
of source code for the second edition of BJO.
(This version of source code will not compile
with Java 1.4.x or earlier compilers.)
のファイルにあるCh14のCourse Person Professor
ShedcleOfClasses Section
Student Transcript TranscripEntry
のクラス図を教えてください
期限は明後日です。
クラス図がさっぱりわかりません
304:デフォルトの名無しさん
08/06/30 05:30:34
>>295
どうだろ?
URLリンク(rg550.hp.infoseek.co.jp)
305:デフォルトの名無しさん
08/06/30 05:49:33
>>304
セーブの前に「決定」をしないとイメージがずれてしまうので修正。
URLリンク(rg550.hp.infoseek.co.jp)
306:デフォルトの名無しさん
08/06/30 05:57:50
【 課題 】
Swingを使った簡易ドローエディタ
色・図形選択のできるボタンがあり、マウスをウィンドウ内でドラッグすると
選ばれている色で選ばれている図形を描画する。以前に描画した図形は描画したまま。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】
現状:javax.swing.*、java.awt.*、java.awt.event.*、java.util.*をimport
特に制限はないと思います。
【 期限 】提出期限:本日16時
【 Ver 】
学内のLinuxパソコン:おそらく1.6.0
今は自宅のWindowsマシン、Eclipse(IDE for Java Developers)で実行中
【 補足 】
↓今自分が作っている最中のソースコードです。
URLリンク(rg550.hp.infoseek.co.jp)
今は押すごとに色が赤→緑→青と順次変わるボタンと
押すごとに描画図形が四角形⇔楕円と変わるボタンがついただけの状態です
追加・変更したい要素は、
1.描画図形の種類に直線と中が塗りつぶされている四角形を追加
2.色・図形の選択をボタンでなくJComboboxやJColorChooserで実装
このうち1番が必須で、2番は可能であればという感じです。
307:デフォルトの名無しさん
08/06/30 11:12:30
>>306
2の図形選択と1の直線追加の手抜き差分。
直線のクラス LineFigure は直してないが、座標計算要修正。
class DrawApplication に以下を追加:
private String figureMode;
public void setFigureMode(String figureMode) {
this.figureMode = figureMode;
}
同クラス内メソッド void createFigure(int x, int y) を修正:
//Figure f = oval ? new OvalFigure(x, y, 0, 0, currentColor): new RectangleFigure(x, y, 0, 0, currentColor);
Figure f = null;
if(figureMode.equals("Oval")) {
f = new OvalFigure(x, y, 0, 0, currentColor);
} else if(figureMode.equals("Rectangle")) {
f = new RectangleFigure(x, y, 0, 0, currentColor);
} else {
f = new LineFigure(x, y, 0, 0, currentColor);
}
class DrawMain の void main(String argv[]) を修正:
//final JButton fc = new JButton("図形変更");
final JComboBox fc = new JComboBox(new String[]{"Oval","Rectangle","Line"});
fc.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
app.setFigureMode((String)fc.getSelectedItem());
}
});
fc.setSelectedItem("Oval");
308:307
08/06/30 11:17:40
ごめん、ソース部分に全角スペースでインデント入ってしまった。
コピペするとき消しといて。
309:デフォルトの名無しさん
08/06/30 12:43:37
>>308 ぜんぜん問題無い
310:デフォルトの名無しさん
08/06/30 14:32:49
>>275の問題の続きです
【課題】問題1のプログラムをもとに、 Music クラスに Comparable インタフェースを実装し、
それを利用してソートをするようにプログラムを変更しなさい。
ただし、rating の降順でソートすることは変わらないものとする。
ソートのアルゴリズムは問題1と同じでよい。
main メソッドのあるクラスのクラス名は ComparableMusicSortByRating とする。
【形態】1. Javaアプリケーション(main()で開始)
【期限】6月30日 23:59
【Ver】1.5.0.11
【補足】Comparableインターフェースを作成していちおうソートはできたのですが
問題1のソートアルゴリズムを全く使用していないものになってしまいました。
URLリンク(rg550.hp.infoseek.co.jp)
どうしたら先のソートアルゴリズムを利用できるかが分からない部分です。
よろしくお願いします
311:デフォルトの名無しさん
08/06/30 15:16:47
>>310
ArrayListをCollections.sort()にかけてやればよいのでは?
312:デフォルトの名無しさん
08/06/30 18:04:37
[1] 授業単元:オペレーティングシステム
[2] 問題文(含コード&リンク):
プログラム
step1: a = x + y;
step2: b = z + 1;
step3: c = a ? b;
step4: w = c + 1;
に関し、URLリンク(rg550.hp.infoseek.co.jp)
を完成させて、
step1とstep2を並列実行させるプログラムを作成せよ。
但し、x,y,zはプロンプトにしたがって入力するとする。
正しく動作したか?結果を考察せよ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:7/3 23:00まで
313:デフォルトの名無しさん
08/06/30 18:07:03
>>312
落ち着いてスレタイを嫁
314:276
08/06/30 18:09:02
>>310
Music が Comparable#compareTo() を実装する利点は、sort() が Music クラスを知らなくて済むことなんだが…。
ジェネリックスの書き方が自信ないのでそのまま。
// Music オブジェクトのリストをソート
private static void sort(ArrayList<Music> list)
{
for(int i=1; i<list.size(); ++i)
for(int j=list.size()-1; j>=i; --j)
//if(list.get(j-1).getRating() < list.get(j).getRating())
if(list.get(j-1).compareTo(list.get(j)) > 0)
swap(list, j-1, j);
}
あ、
Collections.sort(list);
を
sort(list);
にするのを忘れないよーに。
315:312
08/06/30 18:10:00
誤爆った。
スレ汚しスマソ
316:デフォルトの名無しさん
08/06/30 20:35:30
>>314
たまに見るんだけどforの増加値の所を++iと描くのは何か意味があるのかな?
私はi++って描くんだが
なんとなくバブルソート置いておきます・・
private static void sort(ArrayList<Music> list) {
for(int i=0; i<list.size()-1; i++)
for(int j=i+1; j<list.size(); j++)
if(list.get(i).compareTo(list.get(j)) > 0)
swap(list, i, j);
}
317:デフォルトの名無しさん
08/06/30 21:07:26
>>316
> for(int i=0; i<list.size()-1; i++)
上記例では++iでも結果は同じ。
++i : +1してからiを評価
i++ : iを評価後に+1
よって (if i++ > 10) と (if ++i > 10) とは結果が違う。
318:デフォルトの名無しさん
08/06/30 21:27:02
>>317
すまん・・それは知ってるんだけどforの増減値の所は
i++が普通だと思っててなんとなく気になったんだよ
319:デフォルトの名無しさん
08/06/30 22:43:21
package java_center_test;
public class six {
public static void main(String[] args)
{
//以下のswitch文をif文で書き換えてください。
/*
switch(n)
{
case 90;
case 80;
System.out.println("A");
break;
case 70;
System.out.println("B");
break;
case 60;
System.out.println("C");
break;
default;
System.out.println("D");
break;
*/
【 課題 】以下のswitch文をif文で書き換えてください。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】 5. その他(意味がわかりません)
【 期限 】一週間後です。
【 Ver 】1.5.0
【 用語 】
【 補足 】動かないので /* と */ で囲ってあります.Eclipse というソフトを使っています。OS は MacOSX の 10.4 です。このサイトは先輩から教えてもらいました。初めての利用です。よろしくお願いします。
320:デフォルトの名無しさん
08/06/30 23:04:28
>>319
case の後ろは ; ではなく、 : が正しい。
switchを閉じる } が無い。
その先輩に直接聞いた方が、早かったのでは?
321:639
08/06/30 23:48:56
>>319
package java_center_test;
public class six {
public static void main(String[] args)
{
if(n == 90 || n == 80){
System.out.println("A");
}else if(n == 70){
System.out.println("B");
}else if (n == 60){
System.out.println("C");
}else{
System.out.println("D");
}
322:デフォルトの名無しさん
08/07/01 02:21:36
>>316
プログラミング言語C(K&R) が ++i って書いてあるからそれの影響じゃないかな?
323:322
08/07/01 02:40:50
今確認したらK&Rも i++ だった.スレ汚しスマソ.
324:デフォルトの名無しさん
08/07/01 02:47:31
【 課題 】1.線型リストの要素数を返すメソッド int listLength(ListNode head) を作成しなさい.
2.線形リストの要素を逆順に並べかえるメソッド ListNode listRev(ListNode head) を作成しなさい.
再帰的メソッドと,繰り返し制御を用いた非再帰的なものを作成しなさい.
非再帰的なメソッドの名前はlistRevとし,再帰的メソッドの名前はlistRev2として,
1つのプログラム中に両方の定義を書き,正しく実行できるかが示せればよい.
3. 線型リストの要素を大きさの順(辞書式順序)に並べ替えるメソッド ListNode listSort(ListNode head) を作成しなさい.
【 形態 】1. Javaアプリケーション
【 期限 】7/3 17:00
【 Ver 】1.5.0_15
【 補足 】条件は,next欄を書き換えることで要素の並び方を変更するのであり,単に逆順に表示するのではない.
すなわち,「ポインタを付けなおす」ことに相当するので, new演算子を使わずにリストのnext欄の値を書き換えることで並べかえること.
任意の長さ(要素数)の線形リストに対して動作すること.
すなわち,要素数が1つの線形リストや,要素数が0(空リストnull)のものに対しても正しく動作するか確認しなさい.
となっています.
また,グローバル変数は使えず,listSortではint compareTo(String anotherString)メソッドを使用するように言われています.
課題2の再帰的なメソッドlistRev2と,課題3がうまくいきません.
各メソッドの定義はURLリンク(www.ed.noda.tus.ac.jp)にあります.
よろしくお願い致します.
325:デフォルトの名無しさん
08/07/01 17:33:31
>>320 の方
アドバイスありがとうございます!
本当ですね。> ";" でなく ":" が正しい
問題用紙をじっくり見たら確かにでした。そして画面で見たら分からなかったです。
ちなみに先輩は規則正しい生活なので帰られてました。>夜11時
>>321 の方
ありがとうございます!
動くことも確認しました。ありがとうございました。
あと、期限なのですが、来週と思っていたら、明後日の朝でした。
何でも持ち込みして良いとのことなので、この掲示板のお力も借りられればと思っています。
326:デフォルトの名無しさん
08/07/01 19:40:24
>>316
実装の問題じゃね?
インクリメントを実装するときに、後置だとインクリメントする前の値を返す必要があるから、変数をバックアップした後に+1してバックアップをreturn。
でも前置なら+1した変数をそのままreturnすればいいので、後置にするよりローコストになる。
でも、正直intとかのネイティブならコンパイラの最適化対象になりそうなんで、コンパイルしてみるとどっちでも同じというオチ。
327:デフォルトの名無しさん
08/07/01 19:50:41
>>324
書いてみた。
URLリンク(rg550.hp.infoseek.co.jp)
328:319
08/07/01 20:17:07
丸投げで申し訳ないのですがよろしくお願いします。
問題
次のように画面に出力されるプログラムを作成せよ。
ただし作成するプログラムに反復構造を含めること。
-----------------------------------------------------------------
12345
1234
123
12
1
-----------------------------------------------------------------
329:319
08/07/01 20:18:10
問題
次のように画面に出力するプログラムを作成せよ。
ただし作成するプログラムに反復構造を含めること。
-----------------------------------------------------------------
12345
1234
123
12
1
12
123
1234
12345
-----------------------------------------------------------------
330:319
08/07/01 20:22:31
問題
2006年現在の日本の人口は127,700,000人です。
年率0.5%の割合で人口が減少した場合、2007年の人口は何人になるかを計算して、以下のように表示するプログラムを作成せよ。
-----------------------------------------------------------------
2007年の日本の人口はXXXXXXX人になる。
-----------------------------------------------------------------
331:319
08/07/01 20:23:35
問題
2006年現在の日本の人口は127,700,000人です。
年率0.5%の割合で人口が減少した場合、2030年の人口は何人になるかを計算して、以下のように表示するプログラムを作成せよ。
-----------------------------------------------------------------
2030年の日本の人口はXXXXXXX人になる。
-----------------------------------------------------------------
332:319
08/07/01 20:28:41
package java_center_test;
public class exam107 {
//次のプログラムを実行したときの出力を示せ。
//また各 ans を求めた計算過程を説明せよ。
//(説明例)x=3, y=2 のとき ans=x+y=3+2=5
public static void main(String[] args){
int x=3, y=3, ans=1;
ans = x-- * ++y;
System.out.println(ans);
ans += x++ * --y;
System.out.print(ans);
//初期状態:x=3,y=3,ans=1
//次の状態:x=2,y=4,ans=2*4=8 ???
//最後状態:y=3,y=3,(ansは12)←これに足し算するので ans=15 ???
//ゴメンなさい。コンソールでは 次,最後が 12,18 になっています。
//なぜでしょうか?
}
}
333:319
08/07/01 20:35:00
package java_center_test;
public class exam108 {
//以下のプログラムを実行したときの出力結果を示せ。
//さらにこのプログラムを for-loop 文で書き直せ。
public static void main(String[] args){
int num =0, i=1;
while((num=23*i)<100){
System.out.println(num);
i++;
}
//出力結果は得られて理解は出来たのですが、
// for-loop 文の書き直しがちっとも頭に浮かびません。
}
}
334:デフォルトの名無しさん
08/07/01 20:39:35
>>332
>>317
335:319
08/07/01 20:49:26
package java_center_test;public class exam114 {
//各学生の合計を計算し、配列 goukei に格納する。そして各学生の平均点を表示するプログラムを完成させなさい。なお、配列の要素数の情報は length を用いること。
//
//配列 ten
//
// 英語 数学 社会 理科 合計
//学生A 60 50 80 80 →
//学生B 70 80 70 90 →
//学生C 40 90 60 70 →
public static void main(String[] args){
int ten[][]={{60,50,80,80},
{70,80,70,90},
{40,90,60,70}};
int goukei[]=new int[ten.length];
//学生ごとの合計点数の集計
for(int i=0; i< 「Q.1」; i++){
「Q.2」=0; //配列 goukei の初期化
for(int j=0; j<「Q.3」; j++){
goukei[i]=goukei[i]+「Q.4」; } }
//平均点の表示
for (int i=0; i< goukei.length; i++){
System.out.println(goukei[i] /「Q.5」);}}}
336:デフォルトの名無しさん
08/07/01 21:03:05
319の未来が心配だ・・この調子だと毎回丸投げしそうで怖いぞ
>>328とか
1
12
123
1234
12345
を表示するプログラムは授業でやってるとかじゃないのか?
337:319
08/07/01 21:23:48
>>336
自分でも未来が心配です・・
>>328とか
おそらく
System.out.println("1");
System.out.println("12");
System.out.println("123");
System.out.println("1234";)
System.out.println("12345";)
を for 文で書くので、おそらく 12345 を数字でなくて、
文字列として書けば良いのだと思って今のところ String ary[] = 12345
みたいな感じで for 文 ループを回そうとしています。
授業で文字列の最後だけ消して行くような内容はやったかどうか分かりません。
338:319
08/07/01 21:28:03
今は
>>332
ではまっています。
以前に i++ と ++i の違いについての書き込みがあったので、
それを読みながら試行錯誤しています。
int x=3, y=3, ans=1;
ans = x-- * ++y;
System.out.println(ans);
ans += x++ * --y;
System.out.print(ans);
//初期状態:x=3,y=3,ans=1
//次の状態:x=2,y=4,ans=2*4=8 ???
//最後状態:y=3,y=3,(ansは12)←これに足し算するので ans=15 ???
339:デフォルトの名無しさん
08/07/01 21:36:55
>>338
とりあえず、この辺りからじゃね?
int x=3;
System.out.println( x--);
x=3;
System.out.println( --x);
340:319
08/07/01 21:49:09
自己解決したような気がします。
>>332
//日本語になっているのか怪しいけれどメモしておきます。
// int の次の行では x は ++ される前に ans に行くので、
// x は初期状態のままの 3 。そして y は ans に行く前に ++ されるので、
// y は初期状態から1つ足した値の 4 になる。
// 3*4 = 12 という答えが出てくる。
//最後のところは先ず x が int の次の行で -- されているので、
// x は 2 なのだけど、++ は ans に行く後なので、ここでは x は 2 のままで考えて、
// y は上のところと同様に y の前に -- があるから、こっちは -- されて 3 である。
// 3*2 = 6 となって、これが ans に入ってた 12 と足し算になるので合計 18 になる。
//一応、自己解決しました。
341:319
08/07/01 21:53:44
>>339
ありがとうございます。まさに、その辺りでした。> --x と x--
何の意味があるのかわからないのですが、そういうものだと丸暗記して次に進みます。
実は public static void main(String[] args) の意味も理解してません。
とはいえ授業の配布資料のメモにも「丸暗記」と書いてありますし、悩むだけの時間も与えられてないので・・
342:デフォルトの名無しさん
08/07/01 21:57:35
>>341
そこは暗記で良いよ。
public static void main(String[] args)からプログラムが始まるってことでいい。
次は>>330かな・・・
343:319
08/07/01 22:16:59
>>342
そう断言して頂けると安心して次に進めます。
「位置についてよーいドン」の訳語とでも丸暗記しておきます。
>>330ですか。>>333の書き換え問題で悩んでいるので、少し放置して330にチャレンジしてみたいと思います。
実は書き込んだ順と与えられた問題の順番が違っていて、手元の試験問題対策プリントだと、>>332,>>333,>>328,>>329,>>330,>>331,>>335 の順番に並んでいます。
344:デフォルトの名無しさん
08/07/01 22:36:54
これは>319が自分で解けるように誘導する流れなのか?
345:639
08/07/01 22:41:35
>>343
普通にその順番でやっていったほうがいいと思う。
>>330以降の問題も>>333の問題ができないとできない。(whileでもできんことはないけどめんどくさい)
forは
for(初期値;継続条件;増分){
処理内容
}
>>330の問題を直すと
int i,num=0;
for(i=1;(num=23*i)<100;i++){
System.out.println(num);
}
346:639
08/07/01 22:47:50
俺なんで名前>>639にしてたんだwww
>>328
int i,j;
for(i=0;i<5;i++){
for(j=1;j=5-i;j++){
System.out.print(j);
}
System.out.println();
}
347:319
08/07/01 22:51:43
>>344
ここは「丸投げ」のスレッドという認識を持ってしまっているのですが、それはあまりに皆様に失礼な気もしまして・・
>>328と>>329について、もしかしたら>>18の三角形の問題が役立つかなと思って>>21の解答例を見たら知らない単語が並んでいて自分には役立たないことが分かりました。
別スレッドに「14: 【初心者】Java質問・相談スレッド116【歓迎】 (***)」というのがあるのも知っているのですが、いきなり質問を投げても経緯を説明しないことには回答者の方も大変かなと思いまして。
Java そのものより Exlipse というソフトウェアの使い方も掴みきれていないような状況ですが、英語とかの課題も平行してプログラミングを勉強しています。
今日は目が痛くなってきたので、そろそろ Java のテキストの読み込みの方に移ろうかなと考えているところです。
348:324
08/07/01 22:58:05
>>327
こんなに早く答えていただきありがとうございます。
大変助かりました。
参考にさせていただきます。
349:319
08/07/01 23:04:06
>>345
書き換え問題ありがとうございます。
確かに同じ結果が出ますね。スゴいです。
どうして for 文と while 文とがあるのでしょうか? while でも出来るけどめんどくさいというのは直感でわかるものなのでしょうか?
>>346
for 文の入れ子構造ですか!?
ちょっとガンバって当てはめてみたいと思います。
「型の不一致: int から boolean には変換できません」と言われてしまいました。
もはや何を言っているのかわからないので今日は画面を消したいと思います。
ありがとうございました。
350:デフォルトの名無しさん
08/07/02 06:26:09
>>319
>>1
基本的にテンプレ無視にはレスしない
長い課題でロダ使わずレス消費するのはマナーいくない
351:319
08/07/02 13:08:19
【 課題 】
package java_center_test;public class exam114 {
//各学生の合計を計算し、配列 goukei に格納する。そして各学生の平均点を表示するプログラムを完成させなさい。なお、配列の要素数の情報は length を用いること。
//配列 ten
// 英語 数学 社会 理科 合計
//学生A 60 50 80 80 →
//学生B 70 80 70 90 →
//学生C 40 90 60 70 →
public static void main(String[] args){
int ten[][]={{60,50,80,80},
{70,80,70,90},
{40,90,60,70}};
int goukei[]=new int[ten.length];
//学生ごとの合計点数の集計
for(int i=0; i< 「Q.1」; i++){
「Q.2」=0; //配列 goukei の初期化
for(int j=0; j<「Q.3」; j++){
goukei[i]=goukei[i]+「Q.4」; } }
//平均点の表示
for (int i=0; i< goukei.length; i++){
System.out.println(goukei[i] /「Q.5」);}}}
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】GUI の問題ではないと思います。使用しているのはコマンドプロンプトなので。
【 期限 】明日の午前8時頃でお願いしたいです。
【 Ver 】1.5.0
【 用語 】
【 補足 】>>328 解決、>>329 解決、>>330 解決、>>331 解決、>>332 解決 >>333 解決
>>345 、>>346 ありがとうございました。
本問題(>>335と同じ)は急にレベルが上がった気がします。
>>350 確かにマナー良くなかったです。ご指摘ありがとうございました。
352:デフォルトの名無しさん
08/07/02 14:54:39
>>351
public class exam114 {
public static void main(String[] args) {
int ten[][] = {
{60,50,80,80},
{70,80,70,90},
{40,90,60,70},
};
int goukei[] = new int[ten.length];
for(int i=0; i<ten.length; i++) {
goukei[i] = 0;
for(int j=0; j<ten[i].length; j++) {
goukei[i] = goukei[i] + ten[i][j];
}
}
for(int i=0; i<goukei.length; i++) {
System.out.println(goukei[i]/ten[i].length);
}
}
}
353:デフォルトの名無しさん
08/07/02 16:48:22
【 課題 】
スレッドの作成に関する、何か,自前のスーパークラスを継承し,かつRunnable Interface を実装したアプリケーションを作成せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】明日の 7/3 19:00まで
【 Ver 】1.6.0
【 補足 】
凝ったものが良いらしいです、ゲームではじゃんけんなど。
よろしくお願いします。
354:デフォルトの名無しさん
08/07/02 17:04:31
>>353
なんか落ちてるもの拾ってくれば?
URLリンク(www.google.co.jp)
355:デフォルトの名無しさん
08/07/02 23:53:05
【 課題 】カウントダウンタイマーを作る
【 形態 】1. Javaアプリケーション(mainLoop()で開始
【 期限 】7月3日 13:00まで
【 Ver 】1.6.0
【 補足 】下記のようにしたのですが秒数がカウントされません。
Date d = new Date();
int seconds = d.getSeconds();
int countdown=20;
int starttime=0;
int i=0;
if(i==0){
starttime=seconds;
i=1;
}
countdown=countdown-(seconds-starttime);
System.out.println(countdown);
356:デフォルトの名無しさん
08/07/03 00:30:37
>>292
この質問をした者ではないのですが、>>296の方がやっていただいたプログラムを
(ii)が完成した状態にしていだだけないでしょうか?
357:デフォルトの名無しさん
08/07/03 00:50:05
>>356
はて?
なにが出来ていないかな?
358:デフォルトの名無しさん
08/07/03 00:58:46
>>357
完成はしていると思いますが(iii)の機能が付いた状態ではなく
(i)と(ii)の機能が付いただけのものが見たかったもので・・・・・・
359:デフォルトの名無しさん
08/07/03 01:12:11
【 課題 】
URLリンク(rg550.hp.infoseek.co.jp)
上記のソースの簡易webブラウザに
"戻る" というボタンを付け,ホームページの閲覧履歴を遡れるように実装する。
【 形態 】Applet
【 GUI 】制限なし
【 期限 】本日 7/3 20:00まで
【 Ver 】1.6.0
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】丸投げです。よろしくお願いします。
360:デフォルトの名無しさん
08/07/03 01:17:04
>>358
(iii)の関連部分を削ってみた。
URLリンク(rg550.hp.infoseek.co.jp)
ただ、(i)の出来上がりとしては、毎回、前の図を消去しないといけないと思う。
361:デフォルトの名無しさん
08/07/03 01:37:42
>>360
横からでしたありがとうございます
(i)は補足がありそれでできましたので大丈夫です
362:デフォルトの名無しさん
08/07/03 07:10:31
>>355
sleepを使えば、こう。
int countdown = 20;
while(0<=countdown){
System.out.println(countdown--);
try{
Thread.sleep(1000);
}catch(Exception ex){
ex.printStackTrace();
}
}
363:デフォルトの名無しさん
08/07/03 08:05:35
それきもい。
364:デフォルトの名無しさん
08/07/03 08:17:53
【課題】クラスA、B、C、Dがある。クラスAはBを継承し、クラスCはBを継承し、クラスDはクラスCを継承する。
【形態】1. Javaアプリケーション(main()で開始)
【期限】7月9日
【Ver】1.5.0
【補足】
365:デフォルトの名無しさん
08/07/03 08:25:14
【課題】クラスA、B、C、Dがある。クラスAはBを継承し、クラスCはBを継承し、クラスDはクラスCを継承する。
クラスBにはint型の変数bが定義されており、コンストラクタB(int B)も定義されているとする。クラスA、C、Dは
すべて親のクラスを継承し、自分のクラスの中に独立した変数の定義はないものとする。すべてのクラスとコンストラクタを定義せよ。
mainを含むクラスはTestInheritanceとしクラスDの変数yをコンストラクタD(13)で生成し、y.bを印字せよ。
【形態】1. Javaアプリケーション(main()で開始)
【Ver】1.5.0
class B {
int b;
B(int b){
this.b=b;
}
}
class A extends B {
A(int b){
}
}
class C extends B {
C(int b){
}
}
class D extends C {
D(int b){
}
}
class TestInheritance {
public static void main (String args[]){
D y = new D(13);
System.out.println("y.b = " + y.b);
}
}
ここまで書いてみたのですがうまくいきません。どこか違うのでしょうか?よろしくお願いします
366:355
08/07/03 08:26:35
>>362
ありがとうございます。
先ほど実行したのですが、
カウントダウンはできているのですがアプレット(MainLoop?)の中で実行できませんでした。
説明不足ですみません。
一回スレッドを使ってやろうとしたのですがうまくいかなかったので
Dateクラスを使って作ってみたのですがよくわかりません。
どなたか良い方法あればよろしくお願いします
367:デフォルトの名無しさん
08/07/03 08:39:01
>>366
>>355では「Javaアプリケーション」と書いてるけど・・・
いずれにせよ、init()に書き込めば、コンソールに表示されるのでは?
368:デフォルトの名無しさん
08/07/03 08:58:32
>>365
super(b)とか書けってことでは?
369:365
08/07/03 09:05:59
>>368
どのように書けばいいのでしょうか??
370:365
08/07/03 09:24:22
自己解決しました
どうもお騒がせしてすみませんありがとうございました
371:デフォルトの名無しさん
08/07/03 14:10:40
どなたか>>359をお願いします。
372:デフォルトの名無しさん
08/07/03 17:07:28
URLリンク(rg550.hp.infoseek.co.jp)
【 課題 】画像を読み込み、読み込んだ画像をグレースケール化した後名前をつけて保存する。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】7月4日
【 Ver 】1.6.0 Eclipse仕様
【 補足 】
1.実行すると無限にでるウィンドウの処理を直したい。
displayPanel = new MousePaint();
をコメント文にすると無限にでなくなるのだが、その原因がわからない。
2.マウスリスナーのアクションを無くしてメニューからOpenでファイルを読み込み
ウィンドウにすぐ画像を表示させたい。
3.読み込んだ画像をグレースケール化したい。←初心者のためここが一番わからない^^;
373:デフォルトの名無しさん
08/07/03 17:32:47
>>372
1.→コンストラクタの中で無条件に同じコンストラクタを呼び出しているのだから、無限に呼び出されて当然。
374:372
08/07/03 17:41:38
>>373
どうすれば呼び出されないようにすればいいでしょうか?
375:デフォルトの名無しさん
08/07/03 18:22:08
【課題】
アルゴリズムの作成
(x,y,z,w)に代入されている数字が(1.2.4.8)→(1,2,8,4)→(1,4,2,8)→(1,4,8,2)→(1,8,2,4)→・・→(8,4,2,1)
と4!通りのパターンが順番に代入されていく様子をprintlnで表示するコードを作成すること
【形態】 Javaアプリケーション(main()で開始)
【Ver】 1.6.0
【補足】 代入アルゴリズム部分だけでも大丈夫です よろしくお願いします。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5385日前に更新/381 KB
担当:undef