08/06/10 15:52:42
【 課題 】10進数483220077を2進数に変換するプログラムを書いて、横長の表にして出力せよ。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】6月10日中
113:デフォルトの名無しさん
08/06/10 15:58:48
>>111
107では、わざわざ定数(条件)を変えられるようにしてあるのに、
「50以上」と「49以下」が重ならないという制約を利用してしまうのは一貫してない。
と、いうことじゃないかな。108じゃないけどw
114:デフォルトの名無しさん
08/06/10 16:11:07
>>113
そういうことか.
サンクス.
115:108
08/06/10 16:48:13
>>111
例えばカルノー図を書くと判るけど、以下はlowに不定部分が出来る。
if (num >= HIGHT) {hights++;}・・・・・条件1
else if (num <= LOW) {lows++;}・・・・・条件2
HIGH、LOWの選び方で動く場合もあるけど、際どい条件になる。
プログラムを修正した場合(例:HIGH、LOWの初期値=最初のnumとするなど)に
際どい条件から外れて動かなくなりやすい。
116:デフォルトの名無しさん
08/06/10 18:15:30
>>112
横長の表にして出力せよ
ってどういうこと?
普通にInteger.toBinaryString(int)じゃだめなん?
117:デフォルトの名無しさん
08/06/10 19:05:11
>>112
アルゴリズムを見出して書き下せってことなんだろうけど、
その出力形式の指定は確かに謎w
118:95
08/06/10 20:34:47
(1)のみでも結構ですので >>95 お願いできませんでしょうか。
119:デフォルトの名無しさん
08/06/10 21:28:06
>>95
要はスレッドに引数を与えて処理完了を待てばいい(結果は戻さず、垂れ流しでいい)ってことでしょ。
import java.util.ArrayList;
...
final int[][] a = new int[3][3];
final int[][] b = new int[3][3];
... (行列a、bの要素に値を入力) ...
ArrayList threads = new ArrayList(3 * 3);
for (int i = 0; i < 3; i++) {
final int r = i;
for (int j = 0; j < 3; j++) {
final int c = j;
Thread th = new Thread(new Runnable() { // final指定されたa, b, r, cが渡される(参照できる)
public void run() {
int ab_rc = 0;
for (int k = 0; k < 3; k++) ab_rc += a[r][k] * b[k][c]; // こんなんだっけw
System.out.println("("+ r +","+ c +") : "+ ab_rc); // とか、なんか適当に表示?
}
});
threads.add(th);
}
}
for (Thread thread : threads) thread.join();
...
動作未確認。古くさい部分とかあったらむしろ教えて
120:デフォルトの名無しさん
08/06/10 21:35:42
やべ例外が、、まあいっかw
121:デフォルトの名無しさん
08/06/10 21:36:28
型はdoubleの方がいいかなーと思った。
122:デフォルトの名無しさん
08/06/10 21:36:42
あとstart()してねえww
正直スマンカッタ
123:デフォルトの名無しさん
08/06/10 21:37:54
>>121
ごもっとも
124:76
08/06/10 22:31:07
>>107さん
ご回答ありがとうございました。無事できました!
他にも色々な人も回答して頂きほんと助かりました!ありがとうございました。
125:デフォルトの名無しさん
08/06/10 22:41:38
/* >>112
スレリンク(tech板:112番)
10進数483220077を2進数に変換するプログラムを書いて、横長の表にして出力せよ。
*/
class binary {
public static void main(String[] args) {
int i = 483220077;
int k;
int[] j = new int[32];
String a = new String(Integer.toBinaryString(i));
System.out.println(a);
for(k=0; k<32; k++) {
j[k] = i & 1;
i >>= 1;
}
for(k=31; k>=0; k--) {
System.out.print(Integer.toBinaryString(j[k]));
if(k==16)
System.out.print("-");
else if(k%4 == 0)
System.out.print(" ");
}
}
}
126:デフォルトの名無しさん
08/06/10 23:27:57
# java CommandExecuterMain.java
Exception in thread "main" java.lang.NoClassDefFoundError: CommandExecuterMain
というエラーがでます.
CommandExecuterMain.java
は,以下のように記述しています.
class test {
public static void main(String[] args){
try{
Runtime.getRuntime().exec("rm aaa");
System.exit(0);
}catch(Exception e){
System.exit(1);
}
}
}
URLリンク(javafaq.jp)
の(1)を参考に直そうとしても、うまくいきません。
おしえてください。
127:デフォルトの名無しさん
08/06/10 23:30:47
クラス名をCommandExecuterMainにしてごらん。
それからおそらくスレ違い。さようなら。
128:デフォルトの名無しさん
08/06/10 23:55:37
>>95
URLリンク(rg550.hp.infoseek.co.jp)
【注意】
・課題2の
> 全てのスレッドが終了後に行列の各要素の値を出力する。
の部分が未実装なので、Kadai1.java を参考にして Kadai2.java を修正すべし。
・そっちのJavaのバージョンが1.6なので、
ArrayListを使用している箇所では「ジェネリクス」に対応した書き方をしないといけない かもしれない
ArrayList<リストに格納するオブジェクトの型> みたいなの。
・添付してるInput.txtとOutput.txtは実行例。
129:デフォルトの名無しさん
08/06/11 00:21:30
>>95
>>128 への追記。
「Kadai2.javaを修正」とは…
「core.getResultMatrix()」を使って計算結果の正方行列(を表現する二次元配列)を取得して、
その表示方法は Kadai1.java を参考にしなさい
という意味です。
情報小出しになって申し訳ない。
130:95
08/06/11 01:54:22
>>119
>>128
手間が掛かる問題を本当にありがとうございました。
131:59
08/06/11 08:01:46
>>60 問い②は出来たよ。 問い①はやるつもり無いので、だれか先にやって。
URLリンク(bal4u.dip.jp)
URLリンク(www.bohyoh.com)
1 □□□□□□E □□□□□□
□□□□□□/□\□□□□□
2 □□□□AS□□□Y □□□□
□□□□□□□□/□\□□□
3 □□□□□□Q □□□□□□
□□□□□□/□\□□□□□
4 □□□I □□□□□U □□□
□□□/□\□□□/□\□□
5 □□□□□O □□T □□□□
□□□□□/□\□□□□□□
6 □□□N □□□□□□□□□
□□□□□□□□□□□□□□
>・木構造を記述する入力ファイルの形式を定義(説明)する。
Lは左の枝 Rは右の枝 +は下る -は上る。(数字)は再帰レベル。
L+ AS (2)
L- E (1)
R+L+L+ I (4)
R+L+ N (6)
L- O (5)
R-L- Q (3)
R+L+ T (5)
L- U (4)
R-L- Y (2)
R-
132:59
08/06/12 06:56:07
>>60 もとい、前レスの修正、且つソース有り。以上
- I (1)+ V (2)
| | - P (3)+ Q (4)+ R (5)+ S (6)
| | | - N (4)+ O (5)
| | | | - L (5)+ M (6)
| - H (2)
| | - A (3)+ E (4)
| | | | - C (5)
int depth = 1;
//--- nodeを根とする部分木のノードをTREE表示 ---//
private void printSubTree(Node node) {
if (node == null) return;
if (depth == 1) System.out.print("-");
System.out.print( " " + node.key + " " + "(" + depth + ")" );
if (node.right != null) {
System.out.print("+");
depth++;
printSubTree(node.right);
depth--;
} else
System.out.println();
if (node.left != null) {
for(byte a=0; a<depth; a++) System.out.print("| ");
System.out.print("-");
depth++;
printSubTree(node.left);
depth--;
}
}
133:デフォルトの名無しさん
08/06/12 09:08:41
[課題]// 数列を逆順に書く
class Reverse2 {
public static void main(String [] args){
int data[] = new int[10];
int i,x,kosuu;
i=0;
System.out.println("0以上の数を高々10個打ち込め。終りは -1で表わす。");
System.out.print("> ");
x=IO.in.readInt();
while(x >= 0){
if(i>=10) System.out.println("10個を越えたので無視する。");
else { data[i]=x; i++; }
System.out.print("> ");
x=IO.in.readInt();
}
kosuu=i;
//これで読み込み完了
//逆順に書き出し
System.out.println("数列を逆順に書くと以下の通り。");
for(i=kosuu-1; i>=0 ;i--){System.out.println(data[i]);}
}
}
134:デフォルトの名無しさん
08/06/12 09:09:10
問
上のプログラムReverse2 を書き直して、 配列の中で入れ換えをして逆順にして から、配列の中を最初から順に書き出すことによって、読み込んだデータを逆順に書き出すプログラム Reverse3 を作れ。
つまり、Reverse2の「//これで読み込み完了」まではそのままで、その後に、「配列の中身を逆転する部分」を書き、プログラムの最後のところは、
System.out.println("数列を逆順に書くと以下の通り。");
for(i=0;i<kosuu;i++){System.out.println(data[i]);}
[形態]1,javaアプリケーション
[期限]六月十二日(今日までです、すみません。)
[補足]丸投げですがよろしくおねがいします。
135:デフォルトの名無しさん
08/06/12 10:06:23
>>133-134
>>18と同じ人?
IO.in.readInt() はJavaの標準APIに無いメソッドなので
何処のライブラリか、何をするメソッドかそちらが説明してくれないと
他の人にはわからない
136:デフォルトの名無しさん
08/06/12 10:14:56
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
「課題.txt」に問題文が入ってます
【 形態 】2. Applet?
【 GUI 】制限なし
【 期限 】2008/06/12 朝まで 《必須》
【 Ver 】1.5.0 《必須》
【 補足 】ボタンの処理の内容だけで大丈夫です。よろしくお願いします。
137:デフォルトの名無しさん
08/06/12 13:19:01
>>136 問題テキストの中にあるコメントは何? できたって最初からできてた?
コメント外して、最初のコメント入れる前のを、できればおいて欲しい、一応ルールだから。
138:デフォルトの名無しさん
08/06/12 14:18:34
136です
携帯から失礼します
※マークがついているコメント以外は問題文そのままです
考え方は問題文に書いてあることをそのまま写しました
分かりづらくてすみません
139:デフォルトの名無しさん
08/06/12 14:33:50
139です
あと、書き忘れましたが「できた」というのは
そのプログラムは一回授業ごとに改良していくプログラムなので
「できた」という表現になっています
すみませんでした
140:デフォルトの名無しさん
08/06/12 14:37:23
↑139ではなく136でした
たびたびすみません
141:デフォルトの名無しさん
08/06/12 16:15:36
圧縮せずに載せてください。
怖くて開けません。
142:デフォルトの名無しさん
08/06/12 16:59:55
怖くない人に回答してもらえばええやん
143:デフォルトの名無しさん
08/06/12 17:09:56
>>141
複数のファイルをばらばらにうpされるのも面倒だし、
自分の好みでない問題や依頼のやり方のものに対しては
無理して解答しようとせずに無視してもいいんじゃない?
解くのは義務じゃないんだから。
144:デフォルトの名無しさん
08/06/12 20:56:25
>>136
輝度反転:{
pixel = pixel_b[w * y + x];
alpha = pixel & 0xff000000;
rgb = ~pixel & 0x00ffffff;
pixel_a[w * y + x] = alpha | rgb ;
}
左回転: pixel_a[h * (w-x-1) + y] = pixel_b[w * y + x];
右回転: pixel_a[h * x + (h-y-1)] = pixel_b[w * y + x];
145:デフォルトの名無しさん
08/06/12 22:53:12
>>144さん
ありがとうございます!
助かりました
146:デフォルトの名無しさん
08/06/13 09:32:13
【 課題 】
300円の商品aと160円の商品bを買えるだけ買うことにする。
金額kを入力したとき、それぞれいくつずつ買えばお釣りが最も少なくなるかを計算し、a,bの個数とお釣りを表示せよ。
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI 】4. 制限なし
【 期限 】期限:6/14
【 Ver 】1.6.0_05
【 補足 】丸投げです。どうぞよろしくお願いします。
147:デフォルトの名無しさん
08/06/13 12:01:22
>>146
import java.util.*;
public class A {
public static void main(String[] args) {
int ka = 300, kb = 160;
int k = 3000;
Set<Integer> s = new TreeSet<Integer>();
int change = k;
for (int na = k / ka; na >= 0; na--) {
int c = (k - na * ka) % kb;
if (c > change) continue;
if (c < change) {
change = c;
s.clear();
}
s.add(na);
}
for (int na : s) {
System.out.printf("a: %d, b: %d, change: %d%n", na, (k - na * ka) / kb, (k - na * ka) % kb);
}
}
}
148:146
08/06/13 13:33:03
>>147
動作OKでした。
回答ありがとうございました。
149:デフォルトの名無しさん
08/06/13 19:08:59
【課題】txtに記載
【形態】1.Javaアプリケーション
【期限】6/15
【補足】
課題
URLリンク(rg550.hp.infoseek.co.jp)
ほぼ丸投げです。
自由度の高い課題ですが、レベルの高いものは求めていないので
簡素な改良でもいいのでよろしくお願いします。
プログラムが長くなってスレ汚しになるといけないので一応捨てアド載せておきます。
よければ回答をそちらに送ってもらえればと思います。
mixijava@gmail.com
150:149
08/06/13 19:12:53
>>149
すいません。形態はappletでした。
151:デフォルトの名無しさん
08/06/14 00:28:23
>>149
具体的にどういう改良がいいか希望を書いたほうがやる人間にとって楽かも
希望に沿うか全然違う部分をいじられるかは回答者次第だとしても
あとテンプレの必須項目を埋めるという意味でjavaのバージョンも
152:デフォルトの名無しさん
08/06/14 01:22:03
【 課題 】
○AWTやSwingなどのGUIを扱うクラスライブラリを用いて、
以下のどちらかのアプレットを作成しなさい。
①脳を鍛えるゲーム
簡単な計算(足し算、引き算、掛け算)が画面に表示され、その答えを入力し、
正誤を判断して得点などを表示する。
②簡単な計算機
ボタンがGUIで実装され、四則演算やルートなどが計算でき、出力できる。
【 形態 】Applet
【 GUI 】AWT/Swing
【 期限 】6月18日中
【 Ver 】java version "1.6.0_05"
【 補足 】授業ではAWTとSwingについて勉強しました。
宜しければ、作成したアプリケーションの機能、
使用方法なども記載して頂けると嬉しいです。
よろしくお願い致します。
153:149
08/06/14 05:12:32
>>151
バージョンはJ2SE ver1.4 です。
改良はとりあえずまともにブロック崩しが動けばいいです(ボールがブロックに当たればブロックが消えて全部ブロックが無くなれば終わるプログラム)
スコアを導入できてたり、少しずつ速度が上がる機能があればなおよしです。
154:デフォルトの名無しさん
08/06/14 18:14:08
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】6/16日深夜5時
【 Ver 】1.5.0
【 補足 】
Javaの授業で概念しか習っていないのに突然記述せよと言われても記法がさっぱりでした。
箱を作るところしか出来ず、その程度なら丸投げの方が良いと思い丸投げします。
捨てアドまで回答宜しくお願いします。
捨てアド snagkh.oアットマークgmail.com
155:デフォルトの名無しさん
08/06/14 18:39:14
>>149
>プログラムが長くなってスレ汚しになるといけないので一応
これはちょっと余計だと思う。いや、悪気はないかもしれないけど。
156:デフォルトの名無しさん
08/06/14 21:09:29
>>60は解決したのか、と心配してみるテスト。
#自分でやらないとダメだよ~。by N@CB
157:デフォルトの名無しさん
08/06/15 01:32:55
>>154
メールしといたぜ
158:デフォルトの名無しさん
08/06/15 01:36:52
>>154
メモステ値切んなよ
159:デフォルトの名無しさん
08/06/15 02:57:43
>>157
今実行できる環境にないので動作確認出来ませんがありがとうございました。
捨てアドなもので
160:149
08/06/15 03:19:01
>>155
すいません。悪気は無かったんですが…
あと改良できなくてもいいんで
普通にブロック崩しができるようにするだけでもいいんですが
どなたかお願いします
161:デフォルトの名無しさん
08/06/15 12:39:44
【 課題 】自動販売機を表すVendingMachineクラスとそれを実行するmainメソッドを作成せよ
・機能
・お金を投入する
・金額が十分投入してればジュースを買える。
・お金の払い戻しができる
作成したVendingMachineに対しカプセル化を施し意図しない状態に変更されないようにせよ
【 形態 】 Javaアプリケーション(main()で開始)
【 GUI 】 制限なし
【 期限 】提出期限6月16日
162:デフォルトの名無しさん
08/06/15 12:49:31
>>161
マルチ乙
163:デフォルトの名無しさん
08/06/15 13:58:04
【 課題 】JAVAアプレットで動画を再生せよ
・機能
コメントを入力し、テキストファイルへ保存、テキストファイル内コメントを動画の上で流す(某ニコニコ動画仕様)
【 形態 】 Javaアプレット
【 GUI 】 Web
【 期限 】今日の夜12時まで
たすけてくれぇぇぇ
文字コメント流すのはg.drawString(str[0], this.x[0], this.y[0]);でできたが、動画を流す方法がわからない!
お助け願います。
164:デフォルトの名無しさん
08/06/15 14:21:49
>>149
URLリンク(sourcepost.sytes.net)
165:164
08/06/15 14:33:00
今気がついたけど全消しで終る条件を入れてなかった。
面倒なのでわざと失敗して終らせることにするか、
ブロック数をカウントするインスタンス変数を最初に用意しておいて、
ブロックに当たった時の処理の中でカウントを増やすなり減らすなりして、
全部消えたらゲーム終了にする、にすればいいかな。
166:デフォルトの名無しさん
08/06/15 18:57:56
おkです。
本当にありがとうございました。助かります。
167:ume
08/06/16 03:25:38
>>46 - 1
public class suuretsu {
public static void main(String[] args) {
int n;
float a[]=new float[100];
a[0]=1.5f; n=0;
System.out.println( "a[" + n + "]=" + a[n] );
a[1]=2.0f; n=1;
System.out.println( "a[" + n + "]=" + a[n] );
a[2]=3.0f; n=2;
System.out.println( "a[" + n + "]=" + a[n] );
for(n=3;n<100;n++){
a[n]= - a[n-1] + a[n-2] + a[n-3];
System.out.println( "a[" + n + "]=" + a[n] );
}
}
}
168:デフォルトの名無しさん
08/06/16 08:41:42
【 課題 】(1)下記のプログラムを、valueOfを利用しJAN,・・・,NOV,1,・・・12が入力されたらその月を返すように改変する
(2)同様にJAN,・・・,NOV,1,・・・12が入力されたらJanuary,・・・,Novemberを返すように改変する
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】今日中
【 Ver 】1.6.0_01
public class enums{
public enum MONTH{JAN(31),FEB(28),MAR(31),APR(30),MAY(31),JUN(30),JLY(31),AUG(31),SEP(30),OCT(31),NOV(30),DEC(31);
private final int days;
MONTH(int d){this.days = d;}
public int getDays(){return days;}
}
public static void main(String[] args){
MONTH month = MONTH.FEB;
System.out.println(month.getDays());
for(MONTH m : MONTH.values()){
System.out.println(m + ":" + m.getDays());
}
month = MONTH.valueOf("APR");
System.out.println(month.getDays());
}
}
お願いします
169:デフォルトの名無しさん
08/06/16 20:22:30
>>168
それは課題そのまんまか?
いろいろ解釈できるんだけど・・
しかもクラスenumsってw
170:デフォルトの名無しさん
08/06/16 20:56:48
【 課題 】swingを使って(スレッドを使わないで)3つのボールがウィンドウ内
を枠に反射しながら動くモノを作れ
【 形態 】すいません。わかりません。
【 GUI 】2. Swing
【 期限 】今日の24時
【 Ver 】すいません。わかりません。
【 用語 】すいません。わかりません。
【 補足 】
自分なりに頑張ったのですが、肝心のボールが表示されません。
html上以外で動かすのが初めてなので、フレームのところなどがかなり怪しいです。
よろしくおねがいします。
URLリンク(rg550.hp.infoseek.co.jp)
171:デフォルトの名無しさん
08/06/16 21:58:10
すいません、170ですができました
172:デフォルトの名無しさん
08/06/16 22:44:05
>>169
そのまんまです
クラス名変なんでしょうか?
enumを使ったものだから~、って意味だと思ってたんですが
173:デフォルトの名無しさん
08/06/16 23:17:01
>>170
MainPanelのstart()を呼んでいないように見えるよ。
(どのタイミングがいいかは不明)
174:ume
08/06/16 23:34:47
>>168 286.java 月が、月の日数とか?>>169
175:デフォルトの名無しさん
08/06/17 11:16:27
>>152
どなたかお願い致します…
176:デフォルトの名無しさん
08/06/17 17:28:45
URLリンク(rg550.hp.infoseek.co.jp)
適当です。
MEMBER_COUNTで項数を変更、PROBLEM_COUNTで問題数変更です。
逆ポーランドの実装まで書きたくなかったので、かなり邪道にいきました。
177:デフォルトの名無しさん
08/06/17 17:29:06
しまったー。>>152の課題です。
178:デフォルトの名無しさん
08/06/17 18:47:01
>>176 289.java だよ、と。これは、135 lineあたりの表示がミリ秒なので秒にした。横槍です。
sb.append(String.format("第%d問 : %s (%.1f 秒)\n"
,i+1,r.correct? "正解":"不正解",r.time/1000f));
// sb.append(String.format("第%d問 : %s (%d ms)\n"
// ,i+1,r.correct? "正解":"不正解",r.time));
---
sb.append(String.format("経過時間 %.1f 秒", time/1000f));
// sb.append(String.format("経過時間 %dms", time));
179:152
08/06/17 21:00:34
ご回答ありがとうございます。
頂いたプログラムをそのままコンパイルしてみたのですが、以下のようなエラーが出てしまい、
上手くいきませんでした。
289.java:23: クラス CalcGame は public であり、ファイル CalcGame.java で宣言
しなければなりません。
public class CalcGame extends JApplet{
^
エラー 1 個
Appletをよく理解できておりませんので、私の方のエラーかもしれませんが、
これは本プログラムとは別にCalcGame.java を準備しなさい。ということでしょうか?
180:>>176
08/06/17 21:07:33
>>178
ご指摘ありがとうございます。
>>179
ファイル名を変えてないのではないでしょうか?
CalcGame.javaに変更してください。
それでコンパイルしたあとで、HTML用意するなり、CalcGame.java内にコメントで書いてappletviewerで実行するなりしてください。
181:152
08/06/17 21:19:48
>>180
実行できました!
度々のご回答本当にありがとうございました。
182:デフォルトの名無しさん
08/06/18 08:33:28
【 課題 】y=x^3-2x^2+3x+1=0をニュートンラフソン法で解を求めよ
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】今日の0時まで
【 Ver 】1.5.0
【 補足 】丸投げです、よろしくお願いします。
183:デフォルトの名無しさん
08/06/18 13:47:00
>>182
URLリンク(sourcepost.sytes.net)
184:デフォルトの名無しさん
08/06/18 14:53:32
183の収束条件は近似解そのものの差分を指標にしているから
他の関数を試すなら解の大きさに合わせてeも変えないといけない
面倒なら解が0に近づく場合を気をつけながら比率を指標にしてもいいかも
185:デフォルトの名無しさん
08/06/18 15:49:06
【 課題 】(1)textモードで作成されている入力ファイルがある。これに対する英単語の出現リスト表を作り、結果を印字せよ。
印字形式は2段組とする。\コードで始まるLaTeXコードは処理の対象外とする。
印刷形式:
title
word_1 頻度数xx98 wrod_n 頻度数xx46
word_2 頻度数xx97 word_o 頻度数xx45
word_3 頻度数xx96 word_p 頻度数xx44
word_4 頻度数xx95 word_q 頻度数xx43
・ ・
・ ・
word_m 頻度数xx47 word_z 頻度数xx01
(2)処理時間測定ができるようにせよ。
注意
1.問題のファイルは、デバッグでは使用できない。
2.処理の条件は以下のとおり:
あ.複数系、単数形や過去形、過去分詞、現在形などは、異なる用語として集計する。
い.文頭による大文字表示された文字は、小文字表示に直して処理すること。
う.\ミ田で始まる語はLaTex用の暗号として無視してよい。
え.数字だけの語は集計しない。
【 形態 】1. Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】6月24日
【 Ver 】3.2.2
○投げですが、よろしくお願いします。
186:デフォルトの名無しさん
08/06/18 15:56:55
185です。
訂正部分があったので、修正します。スレ汚して申し訳ありません。
【 課題 】(1)textモードで作成されている入力ファイルがある。これに対する英単語の出現リスト表を作り、結果を印字せよ。
印字形式は2段組とする。\コードで始まるLaTeXコードは処理の対象外とする。
印刷形式:
title
word_1 頻度数xx98 wrod_n 頻度数xx46
word_2 頻度数xx97 word_o 頻度数xx45
word_3 頻度数xx96 word_p 頻度数xx44
word_4 頻度数xx95 word_q 頻度数xx43
・ ・
・ ・
word_m 頻度数xx47 word_z 頻度数xx01
(2)処理時間測定ができるようにせよ。
注意
1.問題のファイルは、デバッグでは使用できない。
2.処理の条件は以下のとおり:
あ.複数系、単数形や過去形、過去分詞、現在形などは、異なる用語として集計する。
い.文頭による大文字表示された文字は、小文字表示に直して処理すること。
う.\コードで始まる語はLaTex用の暗号として無視してよい。
え.数字だけの語は集計しない。
お.カッコ内の単語も集計する。なお、カッコは含まない。
【 形態 】1. Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】6月24日
【 Ver 】3.2.2
【 補足 】処理時間はなるべく短くしてください。
よろしくお願いします。
187:デフォルトの名無しさん
08/06/18 16:11:28
185です。たびたび申し訳ありません。
【 補足 】読み込むテキストファイルはこちらになります。
URLリンク(rg550.hp.infoseek.co.jp)
188:>>176
08/06/18 16:45:30
なんか条件多いけど、用は英単語の出現回数をリスト化すればいいんだよね?
URLリンク(rg550.hp.infoseek.co.jp)
これでだめ?
189:デフォルトの名無しさん
08/06/18 16:57:24
以下のものがコンパイルできないのですがどこがおかしいのか指摘してもらえないでしょうか
import java.io.*;
class IDname {
public static void main (String args[]) throws IOException{
int ID[] = {23,45,78,51,9};
String name[] = {"荒川","神田","吉田","渡辺","木村"};
int Key,index;
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
System.out.println("IDを入力してください");
for (index=0; index<ID.length; index++) {
if(ID[index] == Key) break;
}
if(index<ID.length){
System.out.println("IDが"+Key+"の人は"+name[index]+"さんです");
}
else{
System.out.println("IDが"+Key+"の人はいませんでした");
}
}
}
190:デフォルトの名無しさん
08/06/18 17:03:02
>>188
ありがとうございます。
これでおkです。
大変助かりました。
191:187
08/06/18 17:06:39
>>188
すみません。
ちょっと仕様追加いたします。
申し訳ありません。
使用頻度で高い順から並び替えます。
印刷形式は、2段にします。
印刷形式:
title
word_1 頻度数xx98 wrod_n 頻度数xx46
word_2 頻度数xx97 word_o 頻度数xx45
word_3 頻度数xx96 word_p 頻度数xx44
word_4 頻度数xx95 word_q 頻度数xx43
・ ・
・ ・
word_m 頻度数xx47 word_z 頻度数xx01
このようになります。
192:デフォルトの名無しさん
08/06/18 17:08:51
出力してませんでした。
URLリンク(rg550.hp.infoseek.co.jp)
たぶん出力用に真っ二つにするのが簡単でいいかと・・
>>189
Keyが初期化されてません。
そしてスレが違います。
193:デフォルトの名無しさん
08/06/18 17:11:38
>>192
すみません
ID[ ]をint型の、name[ ]をString型の配列として、キーボードで入力したIDの値から名前を検索するプログラムを作れ。
という宿題だったんでここで聞いてしまいました
やっぱりうまくいきません・・・
194:187
08/06/18 17:12:44
データとして保存しておくのは、辞書形式の並び順に、
表示するときだけ並び替えて、頻度が高い順にお願いします。
たびたびのスレ汚し、申し訳ありません。
195:デフォルトの名無しさん
08/06/18 17:17:54
>>193
宿題としてここで解いてもらいたいなら>>1のテンプレに従ってください
単なる質問なら別に質問スレがあります
196:デフォルトの名無しさん
08/06/18 17:25:39
【 課題 】学生のIDと名前の組のデータを下記のように2つの配列で与える。
ID[ ]をint型の、name[ ]をString型の配列として、キーボードで入力したIDの値から名前を検索するプログラムを作れ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】明日の14時
【 Ver 】1.5.0
【 補足 】途中まではできました、修正をお願いします
import java.io.*;
class IDname {
public static void main (String args[]) throws IOException{
int ID[] = {23,45,78,51,9};
String name[] = {"荒川","神田","吉田","渡辺","木村"};
int Key,index;
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
System.out.println("IDを入力してください");
for (index=0; index<ID.length; index++) {
if(ID[index]==Key) break;
}
if(index<ID.length){
System.out.println("IDが"+Key+"の人は"+name[index]+"さんです");
}
else{
System.out.println("IDが"+Key+"の人はいませんでした");
}
}
}
197:デフォルトの名無しさん
08/06/18 17:29:57
>>194
申し訳ない!こんな感じでいっかってノリで軽くやってしまった。
URLリンク(rg550.hp.infoseek.co.jp)
もっと責任もってやるようにするわ・・
198:デフォルトの名無しさん
08/06/18 17:30:33
>>184 24lineあたりの、この変更を御指摘のよう。
} while (Math.abs(x2 / x1 - 1) > e);
// } while (Math.abs(x2 - x1) > e);
199:デフォルトの名無しさん
08/06/18 17:30:49
>>196
>>192がせっかく正解を言ってくれてるのに無視するとは…
System.out.println("IDを入力してください");
のうしろに
Key = Integer.parseInt(br.readLine());
を入れる
200:デフォルトの名無しさん
08/06/18 17:33:19
>>199
すみません理解しきれていませんでした・・・・
ありがとうございました
201:デフォルトの名無しさん
08/06/18 17:41:57
【 課題 】プロ野球セ.リーグの現在の勝敗表を2次元配列の初期値として与えよ。
コマンドライン引数から2つのチームの順位を入力し、その2チ-ム間のゲーム差を表示させよ。(両チームの貯金(勝ち数−負け数)の差÷2
)
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6/20(金)
【 Ver 】1.5.0
【 補足 】実際のゲーム差は、例えば以下のサイトで確認:
URLリンク(www.sanspo.com)
とのことでした、暇がなくて丸投げですみません、お願いします
202:187
08/06/18 17:47:15
>>192
2段目表示なりました。
こちらのほうで、ちょっと手を加えさせていただきました。
あと、高頻度順に並び替えるのですが、
データとして辞書形式の並び順に保存させて、
表示するときだけ高頻度順に並び替える仕様です。
203:デフォルトの名無しさん
08/06/18 17:51:15
>>202
>>197に張りました。
204:187
08/06/18 17:59:36
>>203
ありがとうございます!気づきませんでした・・・。
試してみたのですが・・・。
オーバーライドしてないとeclipseに起こられます・・・・。
205:デフォルトの名無しさん
08/06/18 18:02:09
>>204
一旦@Overrideけして、そのあと気になるなら追加してみて。
verの違いかよくわからんけど、別のeclipseで開くとなるんだよなー
206:デフォルトの名無しさん
08/06/18 18:11:03
>>205
ありがとうございます!!
大変助かりました!!
207:デフォルトの名無しさん
08/06/18 18:19:48
>>201
public class GameResult {
public static void main(String[] args) {
// {{一位の勝ち数,負け数}, ... ,{六位の勝ち数,負け数}}
int[][] winlose = {{34, 17}, {28, 22}, {23, 25}, {25, 28}, {22, 28}, {15, 35}};
if (args.length == 2) {
try {
int teamA = Integer.parseInt(args[0]);
int teamB = Integer.parseInt(args[1]);
if (teamA < 1 || teamA > 6 || teamB < 1 || teamB > 6) throw new NumberFormatException();
if (teamA > teamB) { int tmp = teamA; teamA = teamB; teamB = tmp; }
System.out.println(teamA + "位と" + teamB + "位のゲーム差は" +
((winlose[teamA-1][0] - winlose[teamA-1][1]) - (winlose[teamB-1][0] - winlose[teamB-1][1])) / 2.);
} catch (NumberFormatException e) {
System.err.println("1から6までの整数を指定してください");
return;
}
} else {
System.err.println("usage: java GameResult 順位 順位");
}
}
}
208:デフォルトの名無しさん
08/06/18 22:13:18
>>207
間に合いました、大変ありがとうございました!
209:デフォルトの名無しさん
08/06/18 22:43:28
>>185
mixiの課題丸投げは消したの?
210:デフォルトの名無しさん
08/06/19 11:40:53
【 課題 】
2次元配列を用いて、模様を作成してみよ。□や■は文字(char型)
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6月25日
【 Ver 】1.5.0
【 補足 】コマンドライン引数から入力した行数分だけ表示させよ(列は図のとおり固定)
どうにも珍妙な宿題ですがお願いします・・・
211:デフォルトの名無しさん
08/06/19 12:01:52
ほんとに珍妙だ。
二次元配列なんて使う必要性が見当たらない。
212:デフォルトの名無しさん
08/06/19 12:26:29
2次元配列をつかう課題なら全く珍妙じゃないし、
後々画像変換(写像)への基礎演習にもなるじゃん
213:デフォルトの名無しさん
08/06/19 12:57:39
>>210
public class Cloth {
public static void main(String[] args) {
char[][] c = new char[Integer.parseInt(args[0])][14];
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
switch (j % 3) {
case 0: c[i][j] = i % 2 == 0 ? '■' : '□'; break;
case 1: c[i][j] = i % 2 == 0 ? '□' : '■'; break;
case 2: c[i][j] = ' '; break;
}
}
}
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
System.out.print(c[i][j]);
}
System.out.println();
}
}
}
214:デフォルトの名無しさん
08/06/19 17:34:44
ちょっと手を加えさせていただきます。市松模様。>>213 オス
char[][] c = new char[Integer.parseInt(args[0])][15];
---
case 1: c[i][j] = i % 2 == 0 ? '■' : '□'; break;
case 2: c[i][j] = i % 2 == 0 ? '□' : '■'; break;
case 0: c[i][j] = ' '; break;
215:デフォルトの名無しさん
08/06/19 17:53:03
>>214
うちのビューワだと行頭のスペースは見えなくて行末に1個のスペースが見えるな
そしてread.cgiが吐くhtmlでは行頭に1個、行末に1個か2個のスペースが入ってる
正確な模様の仕様は言葉で説明してもらうかファイルにしてうpしてもらうべきか
216:デフォルトの名無しさん
08/06/19 18:31:02
>>210
final char[][] pattern = {{'■', '□'}, {'□', '■'}};
...
... pattern[i % pattern.length][j % pattern[i].length] ...
こういうのじゃダメなの
217:デフォルトの名無しさん
08/06/19 18:34:29
細かいw
俺はぱっとみて単に白黒の四角を並べればいいだけだと思った。
>>213ですきまにも意味があると解釈すべきだったのかと感心したくらいだ。
218:デフォルトの名無しさん
08/06/19 18:36:29
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
ここまで文字列で作って、交互にprintlnするとか
219:214
08/06/19 19:05:26
>>215 多分設問の模様は、これではないだろうか? 進行上私はソースを略す。
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
220:210
08/06/19 19:32:44
えっと、ありがとうございます皆さん。すいませんなんか混乱させてるようでorz
聞いてきましたところ、スペースは無視してもいいとのことでした
221:210
08/06/19 19:47:32
でもキレイですので>>213、>>214さんのを組み合わせて見ようと思います。
連投すいません、ありがとうございました
222:デフォルトの名無しさん
08/06/20 00:04:07
swingを使ってボタンをつくりましたそのボタンを押したとき新しいフレームを作ることができたのですが、
そのボタンのあるフレームを閉じるメッソッドわかりません、教えてください。
ボタンが押されたことは認識できるようになっています。
223:デフォルトの名無しさん
08/06/20 03:28:35
>>222
質問は質問スレへどうぞ
224:214
08/06/20 17:00:19
.■□.■□.■□.■□.■□ int lines = Integer.parseInt(args[0]);
□■.□■.□■.□■.□■. int width = 15;
.■□.■□.■□.■□.■□ char[][] a = new char[][] {{' ' ,'■','□'},
□■.□■.□■.□■.□■. {'□','■',' ' }};
.■□.■□.■□.■□.■□ for (int i = 0; i < lines; i++ ) {
□■.□■.□■.□■.□■. for (int j = 0; j < width; j++)
.■□.■□.■□.■□.■□ System.out.print(a[i&1][j%3]);
□■.□■.□■.□■.□■. System.out.println();
.■□.■□.■□.■□.■□ }
225:デフォルトの名無しさん
08/06/21 06:46:09
【 課題 】
複数の図形を表示するプログラムを作成せよ。
尚、複数のボタンを配置し、ボタンによってそれぞれ異なる図形を表示すること。
また、パネルの左上に製作年月日を表示すること。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】1. AWTのみ
【 期限 】6月30日
【 Ver 】1.6.0
よろしくおねがいします。
226:デフォルトの名無しさん
08/06/21 19:40:26
>>225
URLリンク(rg550.hp.infoseek.co.jp)
あとは適当に追加してください。
227:デフォルトの名無しさん
08/06/21 22:59:05
配列aと同じ長さの配列bを生成する.
配列aの要素を逆順にして配列bに格納する.
配列bの要素を先頭から順に表示する.
という問題なのですが、
public class Exam1_1 {
public static void main(String[] args) {
int[] a = { 1, 2, 3, 4, 5, 6, 7 };
int[] b;
b = new int[a.length];
for(int i=0;i < a.length;i++) {
for(int j=a.length - 1;j >=0;j--) {
b[i] = a[j];
System.out.println("b[" + i + "]: " + b[i]);
}
}
}
}
という結果をb[0]=7,b[1]=6,b[2]=5,b[3]=4,b[2]=3,b[1]=2,b[0]=1と
したいのですが、どのように変更すればよいのでしょうか?
228:デフォルトの名無しさん
08/06/21 23:33:28
気持ちは分からんでもないけど、ループの中にループがあるってことをよく考えてごらん。
for(int i=0;i < a.length;i++) {
b[i] = a[a.length - j - 1];
}
またはjを使って簡潔に書くなら
for(int i=0,j=a.length-1;i < a.length;i++,j--) {
b[i] = a[j];
}
こうなるだろうね。
それと、テンプレは守ろうね。
229:デフォルトの名無しさん
08/06/22 00:59:56
この課題は、テンプレが必要ないと思われるので省略しました。
(指定されていません)
何かご不明な点がありましたら、言って下さい。
月曜日に提出したいので、日曜(明日)の夜23:00までにお願いします。
問題
Javaにおいて、ある参照型変数x,y(ただし、String型は除く)を考える。
このxに、yを代入する場合、一般的には次の2通りの方法がある。
1.x=y
2.x=y.clone();
ここで、1は参照値を渡す等と呼ばれ、実際にコピーが行われる事はない。
2は実際にコピーを行う。
(ただし、多くの学生が誤解していたが、これは
ディープコピーではなく、シャローコピーである。)
問Ⅰ なぜシャローコピーを行うのか、ディープコピーで問題が発生する
ような例をあげて説明せよ
問Ⅱ String型において、clone()メソッドは必要ないものとされ、オーバー
ライドされていない。なぜ、必要ないのか。簡潔に理由を述べよ。
230:225
08/06/22 06:35:30
>>226氏
ありがとうございました
231:デフォルトの名無しさん
08/06/22 08:36:34
>>229
Ⅰ パフォーマンスを向上させるため。
ディープコピーの場合、for文で大量にインスタンスを作ったりすると、
OutOfMemoryエラーになったりするかもしれない。
しかし、ディープコピーのほうがコーディングや保守が容易であるので、
一概にどちらが良いとは言えない。
シャローコピーは、内部で保持しているものが共有されるので、
ディープコピーよりも問題視されることが多い。
そもそも問題のx=y.clone();だけではシャローコピーかディープコピーか分からない。
Ⅱ String型はimmutableなクラスであるから。
Finalクラスとか、不変オブジェクトとも呼ばれる。
232:デフォルトの名無しさん
08/06/22 09:48:48
テンプレを埋めることもできない馬鹿は市ね
233:デフォルトの名無しさん
08/06/22 13:37:44
なあ、動画を再生するPlayerのサイズを変更するときにはどうしたらいんだ?
234:デフォルトの名無しさん
08/06/22 15:44:17
>>233
エスパー回答者希望で、尚且つスレ違いですね わかります
235:デフォルトの名無しさん
08/06/22 17:47:39
【 課題 】じゃんけんプログラムの拡張
URLリンク(rg550.hp.infoseek.co.jp)
zipの中にある課題説明のところにもファイルのURLがありますが
無視してください<(_ _)>
【 形態 】1. Javaアプリケーション(main()で開始) Eclipseを使用しています
【 期限 】明日 6月23日の朝6時(期限が短くてすみません;)
【 Ver 】1.5.0
【 補足 】期限が短いですがよろしくお願いします。
236:デフォルトの名無しさん
08/06/22 20:17:21
>>235
とりあえず元のソースコードに書き加える形でやった
Eclipseは使ってないし1.6.0でコンパイルしてるけどたぶん大丈夫かと
ダメなら言って
URLリンク(rg550.hp.infoseek.co.jp)
237:デフォルトの名無しさん
08/06/22 20:44:14
>>236
今動作確認してみたところ正常に動作しました。
お早い回答に感謝しています<(_ _)>
ありがとうございました!
238:デフォルトの名無しさん
08/06/22 22:45:27
【 課題 】次のプログラムの致命的な問題点は?
import java.io.*;
public class FileArrayReader {
public static void main(String[] args) {
String filename = args[0];
String msg[];
try {
FileInputStream fis = new FileInputStream(filename);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String tmp[] = new String[100];
int num = 0;
while((tmp[num] = br.readLine())!=null) {
num++;
}
msg = new String[num];
for(int i = 0;i <num;i++) {
msg[i] = tmp[i];
System.out.println(msg[i]);
}
br.close();
isr.close();
fis.close();
} catch(Exception e) {
e.printStackTrace();
} } }
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI 】4. 制限なし/
【 期限 】月曜日
【 補足 】文字列の配列変数tmpを用意し、使用しているところがヒントらしいのですが
239:デフォルトの名無しさん
08/06/22 23:01:23
>>238
while(num<100 && (tmp[num] = br.readLine())!=null) {
// while((tmp[num] = br.readLine())!=null) {
240:dango
08/06/23 00:29:56
【課題提示用テンプレ】
【 課題 】縦スクロールのシューティングです
【 形態 】 4. 携帯(Doja5.1)
【 GUI 】わからないです
【 期限 】23時までにお願いします。
【 Ver 】java.lang.ArrayIndexOutOfBoundsException
at pac.KeyCanvas.paint(+1013)
at com.nttdocomo.ui.Display$1.run(+186)
pac.KeyCanvas
【 用語 】とくにないです
【 補足 】アップローダの299にUPしてます。実行するとすぐ落ちます。キー操作がうまくいってないみたいなので、キー操作のところの関数を書いたクラスのソースを載せてます。
よろしくお願いします。
241:デフォルトの名無しさん
08/06/23 10:23:07
Versionにエラー貼るなよw
いつの23時だよw
ローダーって、どこのだよwリンク付けろw
ちゃんとしたレスほしければテンプレぐらいまともに書けw
242:デフォルトの名無しさん
08/06/23 11:44:58
>Versionにエラー貼るなよw
URLリンク(rg550.hp.infoseek.co.jp)
243:デフォルトの名無しさん
08/06/23 12:26:53
>>241
うpろだについてツッコミいれる前に>>1くらい嫁
>>1に示された場所以外で推測できない時にこそ文句言えばいい
>>240
paintメソッド中で配列を使用しているところを洗い出して
インデックスが全部正常な範囲に収まっているかチェックしろ
ArrayIndexOutOfBoundsExceptionの後に範囲外のインデックスの値も表示されなかった?
もし表示されていたのならそれも場所を特定する手がかりになる
とてもじゃないが触りたくないソースだからきちんと見てないが
ローカル変数で十分そうなループのカウンタ変数をフィールドにするとかバグ誘発率高そうだ
244:デフォルトの名無しさん
08/06/23 14:37:00
>>243
をいをい、>>1は参考としてロダのurlを出してるだけだろw
課題が長い場合にロダ使うのは良いが、そのurlを提示するのが当たり前
なんで推測しなきゃなんねーんだよ、さすがゆとり思考だなw
245:デフォルトの名無しさん
08/06/23 15:06:13
イミフ
246:デフォルトの名無しさん
08/06/23 16:49:45
このスレを半年ROMっていれば、どこにあげたかなんて簡単に分かるのに、
そういう単純な思考もできない人間を元々ゆとりと揶揄してるんじゃなかったのかね。
247:デフォルトの名無しさん
08/06/23 16:53:06
>>246
分かる分からないの問題でなくうp先リンク付けるのが当たり前だろと言ってるんだが、
それもわからんのかよw
248:ぼるじょあ ◆yBEncckFOU
08/06/23 17:14:23
(・3・)エェー テンプレ無視や気に入らないのはスルーすればいいんだYO!
249:デフォルトの名無しさん
08/06/23 17:24:08
ぼるじょあは巣に帰れw
250:デフォルトの名無しさん
08/06/23 18:09:14
おお、ここにも「ぼるじょあ」がいるのかよ
251:使用書無しさん
08/06/23 23:24:57
javaフリークの皆さん
100%pureJavaのドローイングソフト
URLリンク(jdrafter.sakura.ne.jp) が登場
javaの帳票設計にも使えるよダウンロードしてね
252:使用書無しさん
08/06/23 23:31:10
javaを批判する馬鹿な厨房これに匹敵するやつ作ってみろばか
253:デフォルトの名無しさん
08/06/24 03:51:53
【課題提示用テンプレ】
【 課題 】
GUIのプログラムで、起動するとフレームがあらわれて
テキストファイルを読み込んで
一行目を真ん中に表示させて
「次を」ボタン的なものがあって一行づつテキストファイルを表示していくというプログラムをお願いします。
【 形態 】
形態は1. Javaアプリケーション(main()で開始)でお願いします。
【 GUI 】
4. 制限なし
【 期限 】
期限は特にありません
【 Ver 】
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
254:デフォルトの名無しさん
08/06/24 17:27:22
>>253
URLリンク(rg550.hp.infoseek.co.jp)
課題をこなすだけの非常に悪いプログラムです。
255:デフォルトの名無しさん
08/06/24 22:49:14
【 課題 】
カートクラスは商品クラスを持っています。
商品クラスにはカートクラスを持ちません。
このとき、商品クラスのメソッドで、どのカートクラスに
入っているかを知る方法を教えてください。
もちろん商品クラスにカートクラスに持つのはだめです。
【 補足 】
ぜんぜんわかんないよ・・・。
こんなのできんのか?
256:デフォルトの名無しさん
08/06/24 22:58:03
class Cart{
class Goods{
Cart getCart(){
return Cart.this;
}
}
}
こういうことじゃないの?
というかクラスの包含関係上
・カートクラスは商品クラスを持つ
・商品クラスにはカートクラスを持つ
これ同時に満たせないっしょ。
それから、どのカートクラスってカートクラスは一つっしょ?
どのカートクラスのオブジェクトに入っているか、の間違いでね?
よく分からない問題だなぁ。
257:デフォルトの名無しさん
08/06/24 23:08:44
>256
持つといっても実装ではリンクするだけなので・・・
双方向のリンクじゃなくて、1方向でしかリンクしない
にも関わらず、リンクしてない側から、誰からリンク
されてるかを突き止める・・・・という問題です。
カートは複数あってそれぞれに商品がぼこぼこ
入っていきます。
なんでそんなことを?と思うでしょうが、とにかく
そうしないといけないと思ってください。
258:デフォルトの名無しさん
08/06/24 23:24:36
リンクって・・
曖昧なこと並べてないでもっと具体的なこと示すか、ソースでもはっつけてくれんと何とも言えん。
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
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】丸投げです。よろしくお願いします。