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
【補足】 代入アルゴリズム部分だけでも大丈夫です よろしくお願いします。
376:デフォルトの名無しさん
08/07/03 19:08:26
【課題】平面に5つの座標を考える。5つの座標(x,y)を二次元配列に入力し、すべての座標間の距離を計算せよ。
【形態】Javaアプリケーション(main()で開始)
【期限】7月4日
【ver】1.6.0
【補足】わからないのでおねがいします
377:デフォルトの名無しさん
08/07/03 19:18:38
>>374
1.displayPanel自体いらないので削除してみた。
2.主旨が分からなかったのでパス。
3.中に入っていたロジックをペーストして、ちょちょっと。
URLリンク(rg550.hp.infoseek.co.jp)
378:デフォルトの名無しさん
08/07/03 20:11:34
>>375
public static void main(String[] args) {
int[] alphabet = {1,2,4,8};
int[] lngTemp = new int[0];
hoge(alphabet,lngTemp);
}
public static void hoge(int[] candi,int[] patt){
if(candi.length==0){
for(int i=0;i<patt.length;i++)System.out.print(patt[i]);
System.out.println();
}else{
for(int i = 0;i<candi.length;i++){
int[] c = new int[candi.length-1];
int index = 0;
for(int j = 0;j<candi.length;j++){
if(j!=i)c[index++]=candi[j];
}
int[] p = new int[patt.length+1];
for(int j = 0;j<patt.length;j++){
p[j]=patt[j];
}
p[patt.length]=candi[i];
hoge(c,p);
}
}
}
379:デフォルトの名無しさん
08/07/03 20:13:12
>>376
二次元配列という注文が、理解しがたい。
380:デフォルトの名無しさん
08/07/03 21:10:05
>>376
とりあえずint[5][2]と判断
public static void main(String[] args) {
int[][] point = new int[5][2];
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 2; j++) {
point[i][j] = (int) (Math.random() * 10);
}
}
for (int i = 0; i < point.length; i++) {
System.out.println(i + 1 + ":("+point[i][0] + "," + point[i][1]+")");
}
System.out.println();
for (int i = 0; i < point.length - 1; i++) {
for (int j = i + 1; j < point.length; j++) {
System.out.print((i+1) + "-" + (j+1) + ":");
System.out.println(distance(point[i], point[j]));
}
}
}
static double distance(int[] point1, int[] point2) {
return Math.sqrt(Math.pow((point2[0] - point1[0]),2.0) + Math.pow((point2[1] - point1[1]),2.0));
}
381:355
08/07/03 21:13:51
>>367
お返事遅くなって申し訳ありません
違う方法ですが無事解決できました。ありがとうございました。
382:372
08/07/03 22:55:12
>>377
ありがとうございます。
これを参考に自分なりにアレンジして作ってみたいと思います。
383:デフォルトの名無しさん
08/07/04 10:54:17
htmlのフォームのボタンを押す動作などをJavaで実現したいのですが、
何かそういったことのためのクラス・メソッドは無いでしょうか?
HttpURLConnectionでUserAgent入れてソース落とすのはできるのですが、
そこから先のFormの処理がわかりません・・・。
よろしくお願いします。
384:デフォルトの名無しさん
08/07/04 11:02:20
フォームについて少し勉強するといいよ
385:デフォルトの名無しさん
08/07/04 12:46:16
>>383
全然言葉が足りないが、ダウンロードした HTML に含まれる form を Java で実行しようとしているのか?
宿題なら >>1 を参照してちょ。
んで、思っているのと違うかも知れんが、
URLリンク(java.sun.com)
386:255
08/07/04 22:35:57
座標A(X1,Y1)~座標B(X2,Y2)までの直線Eと
座標B(X3,Y3)~座標C(X4,Y4)までの直線Fが
交差しているかどうか判定したいです。
どういうコードになりますか?
387:デフォルトの名無しさん
08/07/04 23:06:25
>>386
>>1テンプレを
388:デフォルトの名無しさん
08/07/05 04:54:06
>>386
質問だけならこっち行けばいい
【初心者】Java質問・相談スレッド116【歓迎】
スレリンク(tech板)
389:デフォルトの名無しさん
08/07/05 23:09:27
【 課題 】配列を用いて点数57,78,91,61,42,77点の合計点と平均点、60点以上の人数と
平均点以下の人数を求めるプログラムを作成せよ。
【 形態 】1. Javaアプリケーション
【 期限 】7/9
【 補足 】学校で配列の所を勉強した時に課題としてでました。丸投げですが宜しくお願いします。
390:デフォルトの名無しさん
08/07/05 23:30:39
>>389
public class Test{
public static void main(String[] args){
int[] score = {57,78,91,61,42,77};
int sum, avr, u60, lavr;
sum = 0;
for(int i = 0; i < score.length; i++){
sum += score[i];
}
avr = sum / score.length;
u60 = 0;
lavr = 0;
for(int i = 0; i < score.length; i++){
if(score[i] >= 60)
u60++;
if(score[i] <= avr)
lavr++;
}
System.out.println("合計点:" + sum);
System.out.println("平均点:" + avr);
System.out.println("60点以上:" + u60);
System.out.println("平均以下:" + lavr);
}
}
391:デフォルトの名無しさん
08/07/06 13:14:18
【 課題 】
四桁の数字をコンソール上でキーボードから入力し、それを出力せよ。
同時に、その数字が素数であるかどうかを判定し、その判定結果を出力せよ。
さらに、その数字より小さい自然数で最大の素数を求め、出力するようにせよ。
上記の内容を実行するプログラムをJAVAで作成せよ。
ただし、以下のポイントを考慮すること。
ポイント:素数でない場合は、判定結果と合わせて、その最大の約数(1とその数自身を除く)も出力する。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/8
【 補足 】丸投げです。よろしくお願いします。
392:389
08/07/06 14:37:34
>>390
すぐに回答して頂きありがとうございました。
ホント助かりましたm(__)m
393:デフォルトの名無しさん
08/07/06 15:21:59
>>391
public class ThePrime {
public static void main(String[] args) throws IOException {
System.out.println("4桁の整数を入力:");
Scanner sc = new Scanner(System.in);
int value = sc.nextInt();
if(isPrime(value)) {
System.out.println(value+"は素数");
} else {
System.out.println(value+"は素数ではない");
System.out.println("最大の約数:"+getMaxDivisor(value));
}
for(int lastPrime=value-1; lastPrime>=3; lastPrime--) {
if(isPrime(lastPrime)) {
System.out.println(value+"より小さい素数:"+lastPrime);
break;
}}}
private static boolean isPrime(int value) {
if((value%2) == 0) return false;
for(int i=3; i<value/2; i+=2) if((value%i) == 0) return false;
return true;
}
private static int getMaxDivisor(int value) {
if((value%2) == 0) return value / 2;
int divisor = value;
for(int i=3; i<value; i+=2) if((value%i) == 0) divisor = i;
return divisor;
}}
//エラー無視 & すまん、素数の求め方もあってるか分からんwwwww
394:デフォルトの名無しさん
08/07/06 15:37:44
エラトステネスのふるい涙目ww
まぁ4桁ぐらいなら余裕かw
395:デフォルトの名無しさん
08/07/06 15:59:55
【 課題 】GUI設計に基づき、簡易電卓を設計せよ。ただし以下の条件を満たすように。
①0から9のボタン入力式でテキストフィールドに出力する
②四則演算は+-×÷のボタン、小数計算は . のボタン、
結果は=のボタンで行うようにする。
③数字のクリアはCで行うように。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】2.Swing
【 期限 】7/9
【 補足 】このプログラムはNetBeansIDE6.1でGUI設計してからプログラム
を書いていくという手順でやっています。
あと0から9のボタンや+-×÷のボタンが押された時の
ActionPerformedはそれぞれ個別にで定義するのではなく
まとめて定義したいんですが、上手くいかないんです。
そこら辺の定義の仕方も詳しくして頂けるとありがたいです。
396:デフォルトの名無しさん
08/07/06 16:37:58
>>395
NetBeans 使ってないので操作方法だったら分からんが、作りかけでもあるなら出したほうがいい。
>ActionPerformedはそれぞれ個別にで定義するのではなくまとめて定義したい
というのが ActionListener をボタン毎に別のインスタンスにするのでは無く
一つのインスタンスでっていうことなら、各ボタンの AddActionListener に
同じ ActionListener インスタンスを渡すだけだ。
でその ActionPerformed 内で ActionEvent#getSource なり getCommand なりで
どのボタンのイベントかを判別して処理分け。
397:デフォルトの名無しさん
08/07/06 17:09:54
>>396
返信ありがとうございます。
package dentaku;
import java.awt.event.*;
import javax.swing.*;
public class dentakuFrame extends javax.swing.JFrame {
public dentakuFrame() {
initComponents();
}
------------------------------------------------------------------------------------------
ここにボタンの位置などの設定がデフォルトで入っている。
------------------------------------------------------------------------------------------
public void appendResult(String c) {
result.setText(result.getText() + c);
}
public class NumberButton extends JButton implements ActionListener {
public NumberButton(String key) {
super(key); //JButtonクラスのコンストラクタを呼び出す
this.addActionListener(this); //このボタンにアクションイベントのリスナを設定
}
398:デフォルトの名無しさん
08/07/06 17:11:58
public void actionPerformed(ActionEvent evt) {
String keyNumber = this.getText(); //ボタンの名前を取り出す
appendResult(keyNumber); //ボタンの名前をテキストフィールドにつなげる
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new dentakuFrame().setVisible(true);
} }); }
private javax.swing.JButton Button0;
private javax.swing.JButton Button1;
private javax.swing.JButton Button2;
private javax.swing.JButton Button3;
private javax.swing.JButton Button4;
private javax.swing.JButton Button5;
private javax.swing.JButton Button6;
private javax.swing.JButton Button7;
private javax.swing.JButton Button8;
private javax.swing.JButton Button9;
private javax.swing.JButton divButton;
private javax.swing.JButton minusButton;
private javax.swing.JButton mulButton;
private javax.swing.JButton plusButton;
private javax.swing.JButton pointButton;
private javax.swing.JButton resetButton;
private javax.swing.JTextField result;
private javax.swing.JButton resultButton;
}
これが現在の状況です。Actionに反応して値を受け渡したり、
演算子に応じる設定がどうしたらよいのかがわかりません。
よろしくお願いします。
399:デフォルトの名無しさん
08/07/06 17:23:16
補足
0から9のボタンはButton0からButton9に
小数点はpointButtonに
四則演算はplusButton,minusButton,mulButton,divButtonに
クリアはresetButton、=はresultButtonに
数値表示テキストはresultに設定しています。
400:デフォルトの名無しさん
08/07/06 17:25:15
>>397-399
>>1
省略しないで全部ろだ2等にアップ
401:デフォルトの名無しさん
08/07/06 17:47:59
ろだ2の336.javaにupしました。お願いします。
402:デフォルトの名無しさん
08/07/06 18:15:34
NumberButton使ってないね・・
403:デフォルトの名無しさん
08/07/06 19:17:59
NumberButtonと言うことは、数字以外のActionPerformedはまとめなくて良いのだろうか、
それとも、すべてのActionPerformedを一つにしたいのだろうか。
そもそも、ActionPerformedをまとめると言うのは出された課題ではないようだけど・・・
404:デフォルトの名無しさん
08/07/06 19:36:10
>>401
URLリンク(rg550.hp.infoseek.co.jp)
全部一個のリスナ(dentakuFrame)にしてみた。
initComponents も弄ると危なそうなので弄らない方向で。
ときどき例外出ることがあるのはご愛嬌(!)
405:デフォルトの名無しさん
08/07/06 21:22:14
>>404
回答ありがとうございます。複雑なプログラムを提示してしま
って申し訳ないです。実際に動かしてみてまた何かあったら
質問します。本当にありがとうございました。
406:デフォルトの名無しさん
08/07/06 23:07:46
たびたびで恐縮なんですが、>>404 のプログラム中で
actionPerformedの定義の部分が理解できないんですが、
解説して頂けないでしょうか。プログラムの意味を
理解しようとしたんですけど初めてみるメソッドなどが多く
て困っています。
特にpushとpop、Stack、peek()、getPriorityなどの意味と
このプログラムにおける使用の仕方などを詳しく解説して
頂けるとありがたいです。
あとBigDecimalで何を行っているかなどもできればお願いします。
407:404
08/07/07 01:15:27
>>406
StackはスタックというLIFO構造で、pushで入れたモノがpopで取り出せる。
peekは取り出さすことなく最後に入れたモノを得る。
Operator#getPropertyは、掛け算割り算を足し算引き算より優先して実行するために入れてある。
1+2*3と入力しようとしたとき、1+2*と入力した場合、最後の*を押した時に1+2を実行「しない」。
1+2+と入力した場合は最後の+を押した時に1+2を「実行し」3を表示する。
BigDecimalは大きな/小さな数値を表現する場合に限界や誤差などを「あまり」気にせずに使うためのクラス。
Javaのドキュメントと「Java BigDecimal」で検索などしてみて。
ちなみにときどき例外が…というのはこのBigDecimalのdivideらしぃ^^;
408:404
08/07/07 01:21:21
よく見たらStack#pushをStack#addにしちゃってるとこばかりだな。
一応Stack#addはpushと同じだから動いてるみたいだが。
409:404
08/07/07 04:05:47
>>406
divideの例外回避とかStack#add→pushとか変数名変えたりとか動作中のスタックイメージコメントなども入れてみた。
URLリンク(rg550.hp.infoseek.co.jp)
410:デフォルトの名無しさん
08/07/07 06:24:06
なんか某アスキーの逆ポーランドの解説を思い出した。
411:デフォルトの名無しさん
08/07/07 23:17:27
>409
例外回避から詳しい説明まで感謝の限りです。実際に動かしてみて
動作も正常に行われました。説明を読んでpopやpush、getPriority
などの使い方、プログラムの動作もよくわかりました。今度使って
みようと思います。
最後に0で割った時のエラーメッセージを出力しようと
try-catch構文でArithmeticExceptionは回避させたんですけど、
java.util.EmptyStackExceptionのほうが割り算のoperatorに
try-catchで組み込んでもうまくいかないのですが、どうすれば
よいのでしょうか。たびたび質問ですみませんがお願いします。
412:409
08/07/08 00:09:02
>>411
まず、状況を説明するならその元となるモノ(409が変更した結果のソース)をアプしたり
どう「うまくいかない」のか、想像していたことと実際起きたことを明記しないと分からん。
というわけで想像だが、
values.push(a.divide(b,5,BigDecimal.ROUND_HALF_EVEN));
を丸ごと try{ }catch(ArithmeticException e) に入れてしまうと、
values への push がされず、以降の計算を進めるための values が
足りなくなってしまうだろな。
0割が発生した場合は式全体を消して初期状態に戻してしまうのが普通かもしれない。
divideOperator#operateではなく、式全体を計算してるactionPerformedで処理する。
URLリンク(rg550.hp.infoseek.co.jp)
413:409
08/07/08 00:17:22
>409が変更した結果のソース
→ 411が変更した~
スマン。
謝りついでも恐縮だが、長々サシ状態にしてしまってご免>スレ利用者各位
414:デフォルトの名無しさん
08/07/08 00:40:39
>>412
upの件はすみません。
でも無事解決しました。設定する場所が違っていたんで
すね。今回の質問で得るものが多かったです。これを活かして
精進しようと思います。>>409 さん、本当にありがとうございました。
415:デフォルトの名無しさん
08/07/08 15:59:10
【 課題 】java3Dを用いてx,y,zの三次元のパラメータを持つ20個程度のデータを三次元上にプロットし
プロットされたデータをマウスクリックするとプロットの色が変化するようにしなさい
【 形態 】2. Applet/
【 GUI 】4. 制限なし/
【 期限 】7月15日
【 補足 】java3Dを今回初めて触ってみてまだサンプルプログラムを使って箱が回転できる程度です
座標やマウスリスナーの座標指定の仕方について現在調べていこうと考えています
アドバイス宜しくお願い致します
416:デフォルトの名無しさん
08/07/08 21:58:39
【 課題 】ABC0703_111_Billiards.javaのpaint methodの繰り返し部分を
for文を用いて書き換えよ。
ただし、繰り返しは300回行われるようにせよ。
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI 】不明
【 Ver 】java version "1.6.0"
【 期限 】8月まで
【 補足 】URLリンク(rg550.hp.infoseek.co.jp)
↑がABC0703_111_Billiards.javaの中身です。
丸投げで申し訳ありませんが、よろしくお願いします。
417:デフォルトの名無しさん
08/07/08 23:02:53
>>416
すでにfor文になってるじゃん・・・?
paintメソッドの(1)~(4)にある
for(int n=0; n<100; n++)を
for(int n=0; n<300; n++)
にすればいいだけかと。
418:デフォルトの名無しさん
08/07/08 23:32:29
【 課題 】drawOval(50,50,300,300)の円と、その円が内接する正方形つまり
drawRect(50,50,300,300)を描き、チェックボックスによりその円と
正方形を切り替えて表示できるようにせよ。
【 形態 】2. Applet
【 GUI 】2. Swing
【 期限 】7/10
【 補足 】丸投げですが、よろしくお願いします。
419:デフォルトの名無しさん
08/07/08 23:40:30
>>415
ネット上で拾ったサンプルを切り貼りしてみた。
当方も本日初めてjava3Dを触ったので、参考までにて。
URLリンク(rg550.hp.infoseek.co.jp)
420:デフォルトの名無しさん
08/07/09 02:04:23
>>417
その(1)~(4)が同じっぽいから、つまり二重ループにしろってことじゃ?
繰り返し300回ってのがどっちのことか分からないが。
421:デフォルトの名無しさん
08/07/09 02:08:25
>>418
URLリンク(rg550.hp.infoseek.co.jp)
422:デフォルトの名無しさん
08/07/09 12:17:11
>>420
300回、線を引いてみることにした。
URLリンク(rg550.hp.infoseek.co.jp)
423:デフォルトの名無しさん
08/07/09 13:35:26
>>419
書き忘れていた細かい部分まで実装されていて
大変参考になりました。ありがとうございます。
余裕が出来たのでこれから自分なりに色々いじってみたいと
思います。本当にありがとうございました。
424:デフォルトの名無しさん
08/07/09 14:07:01
[1] 授業単元:オペレーティングシステム
[2] 問題文(含コード&リンク):
pipe3.cを完成させて、親子プロセス間で交互にメッセージを交換するプログラムを作成せよ。
pipe3.cはこちらになります↓
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:7/9 23:59まで
どうかよろしくお願いします。
425:424
08/07/09 14:07:55
誤爆しました。申し訳ありません。
426:416
08/07/10 07:37:03
質問に答えてくださった皆さん、ありがとうございました
教授の言った限りでは>>422で良かったようです
427:418
08/07/10 11:47:16
>>421
すぐに教えて頂きありがとうございました。
無事間に合わせることができました。
428:デフォルトの名無しさん
08/07/10 16:44:26
現在、swingを利用したGUIプログラムを作成しています。
catchブロックで例外を捕らえた場合は、
そのエラー内容を表示しろとのことなのですが、
これはJOptionPane.showMessageDialogで表示したほうがよいのか、
System.out.printlnで表示したほうがよいのか、
一体どちらなのでしょうか。
System.out.printlnだと、開発環境から起動しなかった場合に、
内容を確認できないと思っています。
429:デフォルトの名無しさん
08/07/10 17:03:49
ただの質問は質問スレへ
430:デフォルトの名無しさん
08/07/13 15:40:59
【 課題 】URLリンク(issoft17.is.noda.tus.ac.jp)
線形リストにおいて、指定されたn番目をリストから省くメソッドの作成(再帰的)ただし、n番目が要素数を上回っていた場合はリストをそのまま返す。
課題ページは上記URLです。
【 形態 】1. Javaアプリケーション
【 Ver 】1.5.0_15
【 期限 】7月14日17:00
【 補足 】リストの処理においてword欄を書き換えたり、メソッドの外でグローバル変数を使用するのはNGです。
現段階で非再帰的に処理を行うメソッドは作成済みですが、再帰的な処理の方が全くアルゴリズムが思い浮かばず
丸投げ状態です。締切まで時間がありませんが、もし可能な方がいましたら宜しくお願い致します。
参考URL:URLリンク(www.ed.noda.tus.ac.jp)
431:デフォルトの名無しさん
08/07/13 16:44:47
【 課題 】 URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】 Javaアプリケーション(main()で開始)
【 期限 】 2008/07/20 23:00
【 Ver 】 1.4.2_12
【 補足 】 課題の丸投げです。
.javaファイルを1ファイルで作成して欲しいです。
できるだけ初心者にも理解し易く、単純な形で記述して頂けると助かります。
problem080720@yahoo.co.jpまでソースファイルをお送り下さい。
宜しくお願いします。
432:デフォルトの名無しさん
08/07/13 17:05:01
【課題提示用テンプレ】
【 課題 】「Java言語」を用いて、フラクタルを取り入れた自由作品を作りなさい
【 形態 】2. Applet
【 期限 】7月16日(水)
【 補足 】丸投げですが、何卒よろしくお願いいたします。
433:デフォルトの名無しさん
08/07/13 17:29:33
>>430
自分でもよく分かってないけど・・・間違ってたらすまん
public static ListNode delete(ListNode head, int n) {
if(head != null) {
if(--n==0) {
head = head.next;
} else {
head.next = delete(head.next, n);
}
}
return head;
}
434:430
08/07/13 17:39:45
>>431
今書いて頂いたメソッドを組み込んで動作確認をしたところ、課題通りに正しい結果が返されました。
おかげで無事に提出期間に間に合いそうです。
迅速な回答本当に有難うございました。
435:430
08/07/13 17:41:40
レス番間違え。正しくは
>>433様宛てでした。度々失礼致しました。
436:デフォルトの名無しさん
08/07/13 17:47:44
【 課題 】3つの正の整数a、b、c ( c ≧ b ≧ a )が直角三角形になるa、b、c
の組合せを20個出力するプログラムを作れ(while 文を使うこと)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/14まで
【 Ver 】1.6.0
【 補足 】丸投げです。お願いします。
437:デフォルトの名無しさん
08/07/13 17:49:29
【 課題 】年月日を入力したい。
存在しない年月日を入力したらエラーメッセージを出力し再入力促
せ
閏年の判定を行うこと。
1. 西暦年が4で割り切れる年は閏年
2. ただし、西暦年が100で割り切れる年は平年
3. ただし、西暦年が400で割り切れる年は閏年
存在する年月日であればそれを表示せよ
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】7月14日まで
【 Ver 】1.6.0
【 補足 】学校の宿題です。お願いします。
438:デフォルトの名無しさん
08/07/13 17:58:01
【 課題 】3行3列の行列Aと行列Bの各要素をキーボードから入力し、AB(行列
の掛け算)の結果を出力するプログラムを書け。行列A、Bは2次元配列で表すこと。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/14
【 Ver 】1.6.0
【 補足 】明日までなのでよろしくお願いします。
439:デフォルトの名無しさん
08/07/13 17:58:50
【 課題 】0~2の乱数(整数)を作り、キーボードから0~2を入力して、両者が
同じ数字なら「当たり!」、違う数字なら「はずれ!」と以下のように出力せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7月14日 《必須》
【 Ver 】1.6.0
【 補足 】丸投げです。わからないのでよろしくお願いします。
440:デフォルトの名無しさん
08/07/13 18:26:19
【課題】欧文を入力すると、そこで使われている全単語の使用回数(出現頻度)を数え、
一覧表示するプログラムを作成しなさい。 HashMap を使うこと。
欧文は、単語と単語の間が空白で区切られているものとする。
Scanner クラスのメソッド next() を使うと、 1単語ずつ読み込むことができる。
main メソッドのあるクラスのクラス名は WordCounter とする。
System.out.println("欧文を入力してください(終了: Ctrl-d)");
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()) {
String word = scanner.next();
....
}
【形態】1. Javaアプリケーション(main()で開始)
【期限】7月14日 20;00
【Ver】1.5.0.11
【補足】丸投げです。宜しくお願いします
441:デフォルトの名無しさん
08/07/13 18:30:00
なんか急に増えたな・・
>>431
1. Stack を固定長配列を使って定義しなさい。
とりあえずこれはこんな感じだと。メールは面倒だわ・・
URLリンク(rg550.hp.infoseek.co.jp)
>>432
そのへんはググればいくらでもソース見つかると思うからそうした方が・・
442:432
08/07/13 18:48:26
>>441
講師「はぁ?何お前?ググってコピペする気?言っとッけど俺マジパネェよ?ググって提出した課題全部分かっちゃうよ?」
生徒「・・・・・・」
いや、無理ならスルーしてくれても構わないんだ
アドバイスありがとう
443:デフォルトの名無しさん
08/07/13 20:28:08
>>442
人に頼んだり、まして、ネットでもらった回答がバレない理由なんて無いんじゃね?
444:デフォルトの名無しさん
08/07/13 20:36:22
>>443
うん、それを言われちゃあ返す言葉もない
445:デフォルトの名無しさん
08/07/13 21:33:52
>>440
Scanner って ctrl-d で終わるんだっけ? そんな風には動かないんだが。
ま、いいかw
import java.util.*;
public class WordCounter {
public static void main(String[] args) {
System.out.println("欧文を入力してください(終了: Ctrl-d)");
Scanner scanner = new Scanner(System.in);
HashMap<String,Integer> wordMap = new HashMap<String,Integer>();
while(scanner.hasNext()) {
String word = scanner.next();
if(wordMap.containsKey(word)) {
wordMap.put(word, wordMap.get(word).intValue() + 1);
} else {
wordMap.put(word, 1);
}
}
System.out.println("---- 単語数: "+wordMap.size());
for(Map.Entry<String,Integer> entry : wordMap.entrySet()) {
System.out.println(entry.getKey()+": "+entry.getValue());
}
}
}
446:デフォルトの名無しさん
08/07/13 21:36:44
>>439
>以下のように出力せよ。
って何
447:デフォルトの名無しさん
08/07/13 22:00:32
>>436
式知らないので参考URLとともにむりやりwhile。
// URLリンク(atsugi5761455.fc2web.com)
public class ピタゴラスの三角形 {
public static void main(String[] args) {
int n = 1;
int i = 1;
int n2 = n * n;
int k = 1;
while(i <= 20) {
int m = n + k;
int m2 = m * m;
int a = m2 + n2;
int b = m2 - n2;
int c = 2 * m * n;
System.out.println(i+": a="+a+",b="+b+",c="+c);
i ++;
k += 2;
}
}
}
448:447
08/07/13 22:04:27
ああ、
> c ≧ b ≧ a
を満たしてないし。数値入れ替えるだけじゃだめ?w
449:デフォルトの名無しさん
08/07/13 22:22:30
>>441
回答ありがとうございます。
しかし、それだと問題1しか解けていないと思うのですが・・・
問題は1~5まであります。
どうか宜しくお願いします。
450:デフォルトの名無しさん
08/07/13 22:29:26
>>437
import java.util.*;
public class Uruu {
static final int[] daysOfMonth = new int[]{31,29,31,30,31,30,31,31,30,31,30,31};
public static void main(String[] args) {
while(true) {
System.out.println("yyyy mm dd");
Scanner in = new Scanner(System.in);
int y = Integer.parseInt(in.next());
int m = Integer.parseInt(in.next());
int d = Integer.parseInt(in.next());
if(y < 1583 || m < 1 || m > 12 || d < 1 || d > daysOfMonth[m-1]) {
System.out.println("err.");
continue;
} else if(m == 2 && !isUruu(y) && d > 28) {
System.out.println("URUU-day err.");
continue;
}
System.out.println("y="+y+",m="+m+",d="+d);
break;
}
}
static boolean isUruu(int y) {
if((y % 400) == 0) return true;
if((y % 100) == 0) return false;
return ((y % 4) == 0);
}
}
自分で書いといてヒドイ書き方だと思う…
451:446
08/07/13 22:44:54
>>439
とりあえず
import java.util.*;
public class RndNum {
public static void main(String[] args) {
Random random = new Random();
int num = random.nextInt(3);
System.out.println(num);
System.out.println("input 0-2");
Scanner scanner= new Scanner(System.in);
int input = scanner.nextInt();
if(input == num) {
System.out.println("当たり!");
} else {
System.out.println("はずれ!");
}
}
}
452:デフォルトの名無しさん
08/07/13 23:29:47
>>438
URLリンク(rg550.hp.infoseek.co.jp)
453:デフォルトの名無しさん
08/07/13 23:34:28
>>441
週末向けに宿題だされたけど結局やらずに駆け込みってことかねぇ。
暇つぶしには適当にばらけてくれたほうがいいんだが。
454:デフォルトの名無しさん
08/07/14 01:18:18
>>431
3 の Cell を使うと
>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。
ちゅうのをどう表現するか決めかねるんだが。
3.
>>441 のを修正して
URLリンク(rg550.hp.infoseek.co.jp)
4.
大きさチェックなし
URLリンク(rg550.hp.infoseek.co.jp)
メールでレス貰おうなんざ面倒くさ杉
455:デフォルトの名無しさん
08/07/14 07:29:10
メールの場合ノーチェックになるからな
ここにレスするかうpろだだとこのスレの他の人のチェックはいるから
変なプログラムはめちゃ叩かれるw
456:デフォルトの名無しさん
08/07/14 12:53:50
【 課題 】じゃんけんゲームを作成せよ。完成版は、反復構造により続けてゲームができるようにし、0で終了させて最後に勝ち負けの集計(勝率も計算させる)が表示できるようにせよ。
なお、プログラムは
あなたの手の入力の処理
コンピュータの手の生成
勝ち負けの判定
勝率の計算
の4つの処理を行うメソッドを定義し、これを利用して作成すること。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】7月31日まで
【 補足 】単位かかってます。
457:デフォルトの名無しさん
08/07/14 14:14:14
>>456
こういうの見ると、
"必ず勝つ(or負ける)ようにしとけば判定とか率とか表示1行で済んで楽だ"
と思うんだが、そするとやっぱり単位とやらが貰えないのだろうか。
閑話休題。
>完成版は、
とあるが、未完成版はあるのか? もしくは未完成版でもいいのか?
>0 で終了させて
というのは、手の入力には何か規則があるのか?
458:デフォルトの名無しさん
08/07/14 14:22:55
【 課題 】コマンドライン引数から西暦を受け取り、うるう年であるかを判定するプログラム
report3.javaを作成しなさい。うるう年の条件は次のとおりである。
・4で割り切れる年はうるう年である
・100で割り切れる年はうるう年ではない
・400で割り切れる年はうるう年である
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/15
【 補足 】どうしても結果が被ってしまいます。お願いします。
public class report3 {
public static void main(String[] args) {
int x = Integer.parseInt(args[0]);
if(0 == x%4 || 0 == x%400) {
if(0 != x%100) {
System.out.println(x + "年はうるう年です");
}
}
if(0 == x%100) {
System.out.println(x + "年はうるう年ではありません");
}
else {
System.out.println(x + "年はうるう年ではありません");
}
}
}
459:デフォルトの名無しさん
08/07/14 14:42:40
>>458
>>450 を参考にせんか?
460:デフォルトの名無しさん
08/07/14 14:52:51
>>458
public class report3 {
public static void main(String[] args) {
int x = Integer.parseInt(args[0]);
if((0 == x%4 && 0 != x%100) || 0 == x%400) {
System.out.println(x + "年はうるう年です");
} else {
System.out.println(x + "年はうるう年ではありません");
}
}
}
動かしてないからそのつもりで。
しかし = の前に 0 があるのって私には違和感あるなぁ。
461:デフォルトの名無しさん
08/07/14 15:14:32
【 課題 】キーボードから5回整数の入力を受け取り、
それらの合計値と平均値を計算して表示するプログラムを作成しなさい。
462:デフォルトの名無しさん
08/07/14 15:17:34
>>460
ありがとうございます
カッコで区切るんですね
爆発しそうな脳みそがやっと縮みました
463:デフォルトの名無しさん
08/07/14 16:04:16
>>458
x にどんな値をいれたらどの順にどの行が実行されるのかを一つ一つ追ってみるといい。
ちなみに、途中でプログラムを強制終了させるなら System.exit() というのがあってだな…。
464:デフォルトの名無しさん
08/07/14 16:07:29
【課題提示用テンプレ】
【 課題 】
整数nを入力して、1からnまでの整数を、それぞれ素因数分解した結果を返すプログラムを作る。
条件として、2つのスレッドを用いる。Thread の起動方法は、thread.start() を用いよ。
2つのスレッドは、共通のAtomicInteger のカウンタから、getAndIncrement()として得た整数に対して、素因数分解を行う。
得られた整数がnを超えたらスレッドを終了する。
素因数分解の結果は、ConcurrentHashMap<Integer>, List<Integer>>に格納する。
キーのInteger が素因数分解の対象の整数であり、値のList<Integer>が素因数分解した結果の整数群である。
全ての素因数分解が終了したのち、メインスレッドで、整数1からnまでの全ての結果を「12: 2 2 3」のように表示させよ。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver 】3.2.2
465:デフォルトの名無しさん
08/07/14 16:09:38
【課題提示用テンプレ】
【 課題 】
整数 n を入力し、1からnまでの素数を List<Integer> にまとめて返却するメソッドを作成せよ。
また、このメソッドを利用し、整数1000に対して、求めた素数を1行にひとつずつ画面に表示するプログラムを作成し、動作確認せよ。
表示した素数は桁合わせされていること。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver 】3.2.2
466:デフォルトの名無しさん
08/07/14 16:10:28
【 課題 】
1京(10000000000000000)、2京、3京、4京のそれぞれより大きい最初の素数を計算せよ。これを計算する上では、スレッドを利用すること。FixedThreadPool を用いて、スレッド数2にして、上記の4つのタスクを並行実行して、結果を求めよ
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver 】3.2.2
467:464-466
08/07/14 16:11:04
課題丸投げですが、よろしくお願いします。
468:デフォルトの名無しさん
08/07/14 17:04:36
>>464
URLリンク(rg550.hp.infoseek.co.jp)
469:464
08/07/14 17:14:36
>>468
ありがとうございます!
470:デフォルトの名無しさん
08/07/14 17:20:16
>>465
URLリンク(rg550.hp.infoseek.co.jp)
471:デフォルトの名無しさん
08/07/14 17:21:55
>>464 - >>466
時間無さ杉w
472:464
08/07/14 17:26:01
スマソwww急に演習課題とか始まって\(^o^)/オワタ
473:デフォルトの名無しさん
08/07/14 17:30:53
>>472
リアルタイムかい。
で、オワタ?466はもういいのか?
474:464
08/07/14 17:33:40
すみません。人生的な意味で終わってるってことですw
466もお願いします!
475:デフォルトの名無しさん
08/07/14 18:02:51
>>466
まにあわなかったか?
URLリンク(rg550.hp.infoseek.co.jp)
でかすぎてテストしきれてないぞ
476:466
08/07/14 18:09:45
>>475
ありがとうございます!
みんなできていないようなので、レポートという形になりそうです。
さらに問題が追加されましたww
近々またお世話になるかもしれません。
お忙しい中、本当にありがとうございます。
477:デフォルトの名無しさん
08/07/14 18:16:51
>>475
でかすぎですねwwww
プログラムテストできませんw
478:464
08/07/14 18:40:06
追加された問題たちです。
【 課題 】
初期化時に文字列引数を持つ Enum 型 Fruit を作成し、
APPLE, ORANGE, GRAPE, CHERRY, PEACH のそれぞれの要素を、
日本語名を引数にして初期化せよ。
そして、この Enum 型から全ての要素を取出し、英語名でアルファベット順にソートして、
「英語名: 日本語名」の形で、アルファベット順に表示せよ。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 24:00まで
【 Ver 】3.2.2
479:デフォルトの名無しさん
08/07/14 18:45:16
Javaにもenumってあったのか
480:475
08/07/14 18:46:10
まぁなにしろ間に合うかどうか優先で全然速さを考えてないからなw
素因数分解をBigDecimal対応にするだけで面倒くさかった。
時間できたらなんとかの篩でもなんでもやってくれぃ。
481:デフォルトの名無しさん
08/07/14 18:47:22
【 課題 】
キャプチャーしてzipでうpしました。
お手数おかけします。
URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 24:00まで
【 Ver 】3.2.2
482:デフォルトの名無しさん
08/07/14 18:49:25
>>480
ありがとうございます。
なんとかやってみます!
先生が理不尽で、困ります(><)
483:デフォルトの名無しさん
08/07/14 18:51:20
>>481
ワシそゆのダメ、素で読めんw
484:デフォルトの名無しさん
08/07/14 18:55:43
>>483
すみません。
そうですよね~。さすがにこれはわけがわからないです。
なにをどうすればいいのかさっぱりです。
485:デフォルトの名無しさん
08/07/14 19:05:49
>>479
1.5から追加になった。
486:デフォルトの名無しさん
08/07/14 19:11:48
>>481
こんな感じだろうか
int k=0;
while(true) {
if(Math.PIの小数点第8位までの値 == (1/無限小数の式)の小数点第8位までの値) break;
}
k+1回がループ数
487:478&481
08/07/14 19:26:23
すみません!
友達がやってくれました!
みなさんありがとうございました!
488:デフォルトの名無しさん
08/07/14 19:31:51
>>487
じゃあ結局467は何もやってないのかw
>>478
とりあえずやってみたのでうp
import java.util.*;
public class K478 {
public static void main(String[] args) {
Fluit[] fluits = Fluit.values();
Arrays.sort(fluits, new Comparator<Fluit>() {
public int compare(Fluit o1, Fluit o2) {
return o1.toString().compareTo(o2.toString());
}
});
for(Fluit fluit : fluits) {
System.out.println(fluit.toString()+": "+fluit.getJapanese());
}
}
static enum Fluit {
APPLE("リンゴ"),
ORANGE("オレンジ"),
GRAPE("ブドウ"),
CHERRY("サクランボ"),
PEACH("モモ");
private String japanese;
Fluit(String japanese) {
this.japanese = japanese;
}
public String getJapanese() { return japanese; }
}
}
489:デフォルトの名無しさん
08/07/14 22:31:12
/*
手持ちのお金の枚数と買い物の合計金額から,お釣りの枚数が最も少なくなる支払い方を計算するプログラム.
*/
import java.io.*;
public class MinimalChanges {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("手持ちのお金の枚数を入力してください.");
System.out.print("一万円札:");
String line = reader.readLine();
int man = Integer.parseInt(line);
System.out.print("五千円札:");
line = reader.readLine();
int gosen = Integer.parseInt(line);
System.out.print("千円札:");
line = reader.readLine();
int sen = Integer.parseInt(line);
System.out.print("五百円玉:");
line = reader.readLine();
int gohyaku = Integer.parseInt(line);
System.out.print("百円玉:");
line = reader.readLine();
int hyaku = Integer.parseInt(line);
System.out.print("五十円玉:");
line = reader.readLine();
int goju = Integer.parseInt(line);
System.out.print("十円玉:");
line = reader.readLine();
int ju = Integer.parseInt(line);
490:デフォルトの名無しさん
08/07/14 22:32:40
続き
System.out.print("五円玉:");
line = reader.readLine();
int go = Integer.parseInt(line);
System.out.print("一円玉:");
line = reader.readLine();
int ichi = Integer.parseInt(line);
System.out.print("");
System.out.println("買い物の合計金額を入力して下さい.");
line = reader.readLine();
int sum = Integer.parseInt(line);
int p = sum % 10;
System.out.println("");
int pay1 = one(p, ichi);
p = p - pay1;
int pay5 = five(p, go);
if (p <= (pay5 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay10 = one(p, ju);
p = p - pay10;
int pay50 = five(p, goju);
if (p <= (pay50 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
491:デフォルトの名無しさん
08/07/14 22:34:07
int pay100 = one(p, hyaku);
p = p - pay100;
int pay500 = five(p, gohyaku);
if (p <= (pay500 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay1000 = one(p, sen);
p = p - pay1000;
int pay5000 = five(p, gosen);
if (p <= (pay5000 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay10000;
if (man >= p) {
pay10000 = p;
System.out.println("一万円札" + pay10000 + "枚");
System.out.println("五千円札:" + pay5000 + "枚");
System.out.println("千円札:" + pay1000 + "枚");
System.out.println("五百円玉:" + pay500 + "枚");
System.out.println("百円玉:" + pay100 + "枚");
System.out.println("五十円玉:" + pay50 + "枚");
System.out.println("十円玉:" + pay10 + "枚");
System.out.println("五円玉:" + pay5 + "枚");
System.out.println("一円玉:" + pay1 + "枚");
492:デフォルトの名無しさん
08/07/14 22:34:55
System.out.println("で支払ってください.");
System.out.println("");
} else {
System.out.println("お金が足りません.");
}
} catch (IOException e) {
System.out.println(e);
} catch (NumberFormatException e) {
System.out.println(e);
}
}
public static int one(int p, int ichi) {
if (p > 5) {
if ((p - 5) <= ichi) {
return p - 5;
} else {
return 0;
}
} else if (p <= ichi) {
return p;
} else {
return 0;
}
}
493:デフォルトの名無しさん
08/07/14 22:37:12
public static int five(int p, int go) {
if (p != 0) {
if ((p <= 5) && (go != 0)) {
return 1;
} else {
return 0;
}
} else {
return 0;
}
}
}
これで終わりなのですが、手持ちのお金と,買い物の金額を入力すると,
お釣りの枚数が最も少なくなる支払い方を教えてくれるプログラムです.
例えば1000円札1枚,100円玉2枚,10円玉4枚持っていて,買い物の合計が625円の時,
プログラムを実行させると1000円札1枚,100円玉1枚,10円玉3枚で支払うように指示します.
ただしこのプログラムでは,1000円札,100円玉,10円玉,1円玉に関しては4枚以内,
5000円札,500円玉,50円玉,5円玉に関しては1枚以内しか持っていないという前提になっているため,
例えば1円玉のみ100枚持っているときに,100円の買い物をしようとしても「お金が足りません」と出力されてしまいます.
この、問題をどんな形でも良いので解消してください。
494:デフォルトの名無しさん
08/07/14 22:47:55
>>493
>>1くらい読め
495:デフォルトの名無しさん
08/07/14 23:05:01
【 課題 】手持ちのお金と,買い物の金額を入力すると,お釣りの枚数が最も少なくなる支払い方を教えてくれるプログラムです.
例えば1000円札1枚,100円玉2枚,10円玉4枚持っていて,買い物の合計が625円の時,
プログラムを実行させると1000円札1枚,100円玉1枚,10円玉3枚で支払うように指示します.
ただしこのプログラムでは,1000円札,100円玉,10円玉,1円玉に関しては4枚以内,
5000円札,500円玉,50円玉,5円玉に関しては1枚以内しか持っていないという前提になっているため,
例えば1円玉のみ100枚持っているときに,100円の買い物をしようとしても「お金が足りません」と出力されてしまいます.
この問題を直しなさい。
【 形態 】Javaアプリケーション(main()で開始)
【 GUI 】制限なし
【 期限 】明日のAM6時
【 Ver 】1.6.0_07
【 補足 】スレ汚してしまってすいません。
URLリンク(rg550.hp.infoseek.co.jp)
496:デフォルトの名無しさん
08/07/15 00:57:36
【 課題 】キーボードから5回整数の入力を受け取り、
それらの合計値と平均値を計算して表示するプログラムを作成しなさい。
for文またはwhile文による繰り返しを使うこと。
平均値も整数とし、小数点以下が表示されなくてもよい。
キーボードから入力した文字列が制すうちに変換されないときの例外処理はしなくてよい。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/16 18:00まで
【 Ver 】3.2.2
よろしくお願いします。