★★ Java の宿題ここで答えます Part 52 ★★
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001小島露観(伯魔壬旭)
2005/06/21(火) 21:25:531. 投稿の前に自助努力しましょう。少なくとも回答をコンパイル・実行
できる程度にはJava に習熟しておきましょう。
2. また、キーワード検索を行なうなどして、少なくとも問題文の意味を
理解したうえで投稿しましょう。それが無理なら、問題文は自己省略せずに、
直接全部貼り付けてください。最悪の場合、宿題&課題をそのまま丸投げ
するのが一番好ましい提示法です。
3. 数学問題は「○×法でせよ」だけでなく、その解を出す為の数式や
前提条件などを具体的かつ詳細に説明してください。
4. もし自分の提示課題への回答プログラムが返って来たら、
動いた動かなかった位の報告をお願いします。
5. 宿題&課題とその回答プログラムに対する質問はOK ですが、
一般的な質問は質問スレで行なってください。また、多言語の課題は
原則としてスルーされますので、ご了承願います。
【回答プログラムの掲載場所】
Java質問スレWiki http://www.wikiroom.com/java/
ソースポストネット http://sourcepost.sytes.net/
【前スレ】
★★ Java の宿題ここで答えます part51 ★★
http://pc8.2ch.net/test/read.cgi/tech/1112154540/l50
0002イリュミナートX「軍帥」・伯魔壬旭
2005/06/21(火) 21:29:35大変でした。
今スレでは、また頑張って出来るだけ回答したいと思います。
皆さんも課題提示とプログラム回答をお願いします。
0003メリ
2005/06/21(火) 22:09:17近年「学力低下」が懸念されていることに関して貴方自身の考えを600字以内で述べなさい。
よろしくお願いしますm(_ _)m
0004デフォルトの名無しさん
2005/06/21(火) 22:18:15【初心者】Java質問・相談スレッド68【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1119115837/
【初心者歓迎】Java質問・相談スレッド65 Update 2
http://pc8.2ch.net/test/read.cgi/tech/1118243553/
0005デフォルトの名無しさん
2005/06/21(火) 22:50:12JMenuBar mb = new JMenuBar();
this.setJMenuBar(mb);
//親メニューの生成と追加
JMenu menu = new JMenu("メニュー");
mb.add(menu);
//子メニューの生成と追加
JMenuItem reset, exit;
menu.add(reset = new JMenuItem("リセット"));
menu.addSeparator();
menu.add(exit = new JMenuItem("終了"));
こう書くとthis.setJMenuBar(mb);がシンボルを解決できません
と出るんですが、どうしてでしょうか?
0006デフォルトの名無しさん
2005/06/21(火) 22:54:35ちゃんとJFrameを継承してますか?
というか、それは宿題ですか?
00075
2005/06/21(火) 23:04:46JFrameは継承してます。見本と同じように作ったのですが・・・。
00085
2005/06/21(火) 23:05:340009デフォルトの名無しさん
2005/06/21(火) 23:30:14「学力低下について」
現在まで延々と受け継がれてきた「詰め込み教育」の弊害がついに
限界点に達したとの事でしょう。
自由な発想を奪い過度の知識を文字通り叩き込む教育の犠牲と
なっているのが現代の子供達です。歪んだ教育がなされている以上
学力低下は当然の結果です。
子供達には自由な学習時間を与えねばなりません。大人達の勝手な発想で
子供達を縛ってはなりません。それは、子供達に多大な苦痛を
与えるだけでなく、本来持っている独創性まで奪ってしまいます。
知識を無理矢理教え込む従来の授業を減らし、子供達の好奇心と独自性に
まかせた「自由学習」「総合学習」こそが必要です。
これによって子供達は学ぶ楽しさを知り、真の学力を獲得できます。
さらに、自分で考え自分で行動する事により独立心が芽生え人間的にも
成長するでしょう。日本の将来の為にもゆとりある教育を推進すべきなのです。
0010デフォルトの名無しさん
2005/06/21(火) 23:53:20質問者用テンプレ
【Java 歴】 経験年(月、日)数を書く(必須)。
【 種別 】 丸投げ/質問のどちらかを選ぶ(必須)。
【 課題 】 与えられた課題をそのまま書く(なるべく書く)。
【不明点 】 分からないところ、聞きたいことを書く。
【 用語 】 数学用語などのフォローを書く(あれば必須)。
【 期限 】 提出期限や解答希望日を書く。
【 備考 】 何かあれば。
0011デフォルトの名無しさん
2005/06/22(水) 00:57:36【 種別 】 丸投げです。
【 課題 】 下のURL参照
【 期限 】 6/25までに。。。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=584-585
どうかお力を貸してください・・・
0012デフォルトの名無しさん
2005/06/22(水) 16:04:22【 種別 】 質問
【 課題 】 640×800のフレームを開き、複数枚(100枚以上とする)の画像を重ならないように表示させる
画像は縦長と横長の2種類、フレームの大きさは固定、つまりワクから画像がハミでるのでそこを何とかする
格画像のサイズは変えてもいいが比は変えてはいけない フォルダの中に縦長と横長がバラバラに入っている
【不明点 】 経験の深い皆さんならどうやりますか?
できるだけ具体的な方法を初心者のオレに教えてください (コードがあればなおありがたい)
【 備考 】 使うならなるべくスクロールバー以外がいいです
ちなみに画像の取り込み方はわかっているので、フレームにどう描画するかを教えてください
0013前スレ830
2005/06/22(水) 16:10:08******************************************************
845 :デフォルトの名無しさん :2005/06/16(木) 05:48:33
>> 830
http://up.razor.jp/index.html
ファイルNo: 2997
受信pass: hw830
これ、ほんとに宿題?
宿題の割には実用的な気がする。
******************************************************
を再upしてくれませんでしょうか・・・見逃しました。
0014デフォルトの名無しさん
2005/06/22(水) 16:39:27パズル系の問題ですか?
0015デフォルトの名無しさん
2005/06/22(水) 17:29:45最低な奴だ
0016デフォルトの名無しさん
2005/06/22(水) 18:20:24見た目的に隙間が出来てもいいのなら、単純に各画像を同じサイズに内接するように拡大縮小して、それを並べればいいんジャマイカ?
100枚なら64x80、400枚なら32x40。
001712
2005/06/22(水) 20:42:33・・・? 申し訳ないですがなんか言ってる意味が分かりかねます´・ω・`?
別に隙間はあってもいいです、”なるべく見易いように”とのことですので
多分ページに分けてボタンでも付けるのかな?しかし難易度が高いだろうなぁ・・・。orz
0018デフォルトの名無しさん
2005/06/22(水) 22:47:32どうも問題の意味が分からないです。
説明をおねがいします
0019デフォルトの名無しさん
2005/06/22(水) 22:51:560020デフォルトの名無しさん
2005/06/23(木) 01:12:06javac クラス名 数字 演算子 数字
で実行時に入力する場合、演算子はどうしたら入力できますか?
Integerで3つとも変換して計算させようとしてるんですが分かりません。
0021デフォルトの名無しさん
2005/06/23(木) 01:13:080022デフォルトの名無しさん
2005/06/23(木) 01:28:15>>javac クラス名 数字 演算子 数字
数字は、Integer.parseInt(String)で得られる。
基本的に、mainが取れる引数はStringだから、直接Integerで入力することは出来ない。
演算子は、四則演算なら分岐で場合分け汁。
0023デフォルトの名無しさん
2005/06/23(木) 04:04:17java HogeClass 1 + 1
public static void main(String args[]){
int i = Integer.parseInt(args[0]);
String s = args[1];
int j = Integer.parseInt(args[2]);
if("+".equal(s)){
System.out.println(i + j);
}else if("-"以下略
}
0024デフォルトの名無しさん
2005/06/23(木) 04:04:42ノシ
0025前スレ845
2005/06/23(木) 08:55:34実は>>12と同じ人?と思って、前回からは多少書き換えてある。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25060
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25061
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25062
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25063
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25064
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25065
っていうか、一週間もたってから言うな。
002716
2005/06/23(木) 14:58:54100枚並べたいなら、640x800を均等に割って1枚あたり64x80でしょ?
そのサイズにみんなそろえちゃえばあとは並べるだけだろう? ということ。
64x80の比率に合う画像ばかりじゃないだろうから隙間ができるだろうけどな。
0028デフォルトの名無しさん
2005/06/23(木) 21:24:010029デフォルトの名無しさん
2005/06/23(木) 21:26:290030デフォルトの名無しさん
2005/06/23(木) 21:38:030031デフォルトの名無しさん
2005/06/23(木) 21:39:201人/日ってとこだな。\70000で請け負うぞ。
0032デフォルトの名無しさん
2005/06/23(木) 21:59:02名前を入力したら学生番号が出力されるプログラムってありませんか?
962 名前:デフォルトの名無しさん[] 投稿日:2005/06/23(木) 21:21:29
名前を入力したら学生番号が出力されるプログラムってありませんか?
0033デフォルトの名無しさん
2005/06/23(木) 23:14:45if("+".equal(s))
の部分でエラーが出てコンパイルできないんですがどうすれば・・・?
まだまだstring型とint型を上手く使えません。
0034デフォルトの名無しさん
2005/06/23(木) 23:37:40×equal
○equals
Eclipse使おう。
0035デフォルトの名無しさん
2005/06/23(木) 23:37:52if(s.equals("+"))
に変えてみてもダメ???
003633
2005/06/23(木) 23:54:21+,-,/は打てるのですが*にするとエラーが出ます。実行できません。
プログラム中での掛け算はできているのですが・・・。
どうしたらなおりますか?お願いします。
0037デフォルトの名無しさん
2005/06/24(金) 00:04:19掛ける(*)の記号はコンソール上では特別な意味を持ってしまうから
"*"のように入力しないといけません。
例)クラス名がDentakuの場合
java Dentaku 2 "*" 3
これはJavaのプログラムがいけないんじゃなくてコンソールの仕様ね。
"*"の代わりに\*でもいけるかも…。
0038デフォルトの名無しさん
2005/06/24(金) 00:33:09できました、ありがとうございます。
コンソールの仕様だなんて思いもしなかったです。
0039デフォルトの名無しさん
2005/06/24(金) 02:40:15名前を入力したら、その人間の特徴(性別、趣味)などが出力されるプログラムが分かりません。
分かる方がいたら、教えてください。
0040デフォルトの名無しさん
2005/06/24(金) 02:44:280041デフォルトの名無しさん
2005/06/24(金) 02:51:21お願いしますよ。
なんか模範解答みたいのを見たら、4つくらいのファイルから構成されていました。
0042デフォルトの名無しさん
2005/06/24(金) 02:57:39期限は今日の朝7時までです。
自分なりに精一杯頑張ってみたんですが、いかんせん基本を理解していないので厳しいです。
心優しい方がいたら、本当にお願いします。
0043デフォルトの名無しさん
2005/06/24(金) 06:40:16なんで教員 is a 研究室なんだろ。。
問題が悪いよ、それ。
0044デフォルトの名無しさん
2005/06/24(金) 07:50:23教員は、それに人格と講義を付け加えた存在だからです。
これをオブジェクト指向では、継承と言います。お願いします。
0045デフォルトの名無しさん
2005/06/24(金) 09:18:300046デフォルトの名無しさん
2005/06/24(金) 10:02:34「せんせーおしっこー」「先生はおしっこじゃありません!!」とか
「小学生のころ」とつい「小学校のころ」と言うこととかを思い出した。
とりあえず、「教員」は「場所」か?違うだろ。
設計がおかしいといって提出しる。
0047デフォルトの名無しさん
2005/06/24(金) 10:34:31違うよwww
Personクラスを作ってそれを継承してProfessorクラスやStudentクラスを
作るなら分かるけどねぇ…。
0048デフォルトの名無しさん
2005/06/24(金) 10:46:090049デフォルトの名無しさん
2005/06/24(金) 11:13:450050デフォルトの名無しさん
2005/06/24(金) 11:25:58│研究室│◇─│ 人 │
└───┘ └───┘
△ △ ┌───┐
│ └─ │ 生徒 │
┌───┐└───┘
│ 教員 │
└───┘
0051デフォルトの名無しさん
2005/06/24(金) 14:27:59{
private String name;
private int year;
private String seikaku;
Person(String na, int yr, String se) { name = na; year = yr; seikaku = se; }
public String getName() { return name; }
public int getYear() { return year; }
public String getSeikaku() { return seikaku; }
public abstract void display();
}
class Teacher extends Person
{
private String yakushoku;
Teacher(String na, int yr, String se, String yaku) { super(na, yr, se); yakushoku = yaku; }
public String getYakushoku() { return yakushoku; }
public void display()
{ System.out.println(getName()+"は先生です。歳は"+getYear()+"、性格は"+getSeikaku()+"、役職は"+getYakushoku()+"です。"); }
}
class Student extends Person
{
private String gakusei_no;
Student(String na, int yr, String se, String no) { super(na, yr, se); gakusei_no = no; }
public String getGakusei_no() { return gakusei_no; }
public void display()
{ System.out.println(getName()+"は学生です。歳は"+getYear()+"、性格は"+getSeikaku()+"、学生番号は"+getGakusei_no()+"です。"); }
}
0052デフォルトの名無しさん
2005/06/24(金) 14:31:29{
private Person p[];
Laboratory(int num) { p = new Person[num]; }
public boolean add(Person pp)
{
for(int i=0; i<p.length; i++)
if(p[i] == null) { p[i] = pp; return true; }
return false;
}
public Person find(String name)
{
for(int i=0; i<p.length; i++)
if(p[i] != null && name.equals(p[i].getName())) return p[i];
return null;
}}
public class Meibo
{
public static void main(String args[])
{
Laboratory lab = new Laboratory(100);
lab.add(new Teacher("赤羽", 60, "説明下手", "教授"));
lab.add(new Teacher("井上", 53, "やさしい", "助手"));
lab.add(new Student("上野", 22, "うるさい", "001"));
lab.add(new Student("遠藤", 20, "明るい", "016"));
lab.add(new Student("小野", 18, "おとなしい", "027"));
Person p = lab.find(args[0]);
if(p != null) p.display();
else System.out.println("指定された人は見つかりませんでした...");
}}
0053デフォルトの名無しさん
2005/06/24(金) 14:40:41Personのabstractを取ってdisplay()メソッドは
public void display()
{
System.out.println("名前は"+getName()+"、歳は"+getYear()+"、性格は"+getSeiaku()+"です。");
}
の方がいいよ。
0054デフォルトの名無しさん
2005/06/24(金) 17:18:10↑どうかおねがいします。。。
0055デフォルトの名無しさん
2005/06/24(金) 18:42:04Aが0なのに、Zで26になる謎が解けなくて・・・
ごめんね、かあちゃんバカでごめんね
0056デフォルトの名無しさん
2005/06/24(金) 19:46:58結局プログラムまで書いてるし。
0057デフォルトの名無しさん
2005/06/24(金) 20:38:33htmlでチェックボックスを使用し、サーブレットのほうでそれを受け取りたいんですが、
htmlのほうに、<input type="cheackbox" name="aaa" value="1">
サーブレットのほうに、int aaa=Integer.parseInt(req.getParameter("aaa"));
と書きました。
でもこれだと、ボックスにチェックを入れると動くのですが、にチェックを入れないとエラーになってしまいます。
どうしたらいいのでしょうか?
ラジオボタンやリストは使わずにチェックボックスを利用したいのですが、無理でしょうか?
0058デフォルトの名無しさん
2005/06/24(金) 20:56:46パラーメーターの値が、半角数字かどうかチェックすればいいじゃない
0059デフォルトの名無しさん
2005/06/24(金) 23:03:47すいません 25でしたね。。。修正しましたm(_ _)m
0060デフォルトの名無しさん
2005/06/25(土) 00:14:13先生は、それに人格と講義を付け加えた存在だからです。
これをオブジェクト指向では、継承と言います。お願いします。
0061デフォルトの名無しさん
2005/06/25(土) 02:45:49longで入る値よりも大きな数字をいれるためのクラスってありませんか?
どうか、知っている方、よろしくお願いします。
0062デフォルトの名無しさん
2005/06/25(土) 02:57:42BigInteger
0063デフォルトの名無しさん
2005/06/25(土) 18:51:37サンクス。ありがとね。
0064java初心者
2005/06/25(土) 22:31:37public int[][] multiply(int[][] a, int[][] b)
で書きたいんですがどう書けばいいですか?
戻り値(?)の渡し方なども分かりません。
0065デフォルトの名無しさん
2005/06/25(土) 22:41:24【Java 歴】2ヶ月です。しかもDo-ja3.5の環境でやっています
【 種別 】 質問です。
【 課題 】 課題1
以下の仕様をみたすアプリを作成せよ
◆リストボックスによって選択した動画像を表示する
◆動画像の再生/停止の制御が行える
◆使用方法をティッカーで表示する
◆動画像の説明をテキストで表示する
◆限られた者のみが動画像をみれるようにする
【不明点 】 動画像、ティッカー、ボタンの表示は出来ました。しかしながら
ボタンでの切り替えが出来なくて、二枚ともに表示されてしまいます。
変数は必要なのでしょうか?
【 用語 】 すいません、何しろはじめたばかりなのでよくわかりません。
【 期限 】 7月第一週です。
【 備考 】 大学のプリントで授業を学んでいるのですが、今まではキャンバス、
フレームクラスでした。パネルクラスにはいって、テキストボックス、ティッカー、
GIFの表示、リストボックス、を学んでこの課題です。
ちょっといまいち理解できていません。どうかよろしくお願いいたします。
0066初心者
2005/06/26(日) 00:12:19教えてください
問題:10進表記の整数を入力し、その整数を2進表記に変換して画面に
表示するJAVAのプログラムを作成しなさい。
(ただし、for文やWhile文などの繰返しの制御を用いずに、必ず再帰的手続
きを用いること。)
[実行例]
整数を入力してください
10
1010
よろしくお願いします
0067デフォルトの名無しさん
2005/06/26(日) 00:20:30http://pc8.2ch.net/test/read.cgi/tech/1112154540/860n
近くに答えもある。
0068デフォルトの名無しさん
2005/06/26(日) 00:59:25import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Q66 {
public static void main(String[] args) throws IOException {
System.out.println("整数を入力してください");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int number = Integer.parseInt(br.readLine());
System.out.println(toBinaryString(number));
}
public static String toBinaryString(int i) {
return i == 0 ? "0" : toBinaryString(new StringBuilder(32), i).toString();
}
private static StringBuilder toBinaryString(StringBuilder dst, int i) {
return i == 0 ? dst : toBinaryString(dst, i >>> 1).append(i & 1);
}
}
>>67
http://pc8.2ch.net/test/read.cgi/tech/1112154540/863
のだと0以下の場合駄目じゃない?
0069初心者
2005/06/26(日) 01:06:36まったく同じ問題が^^;
何はともあれ助かりました
ありがとうございました
0070初心者
2005/06/26(日) 01:12:59おお!?すいません、大変助かります。ありがとうございます
0071デフォルトの名無しさん
2005/06/26(日) 01:14:00public int[][] multiply( int[][] a, int[][] b ) {
// 答えの行列の確保
int ROWS = a.length;
int COLS = b[0].length;
int[][] answer = new int[ROWS][COLS];
// 計算
for( int i=0; i<ROWS; i++ ) {
for( int j=0; j<COLS; j++ ) {
for( int k=0; k<a[0].length; k++ ) {
answer[i][j] += a[i][k] * b[k][j];
}
}
}
return answer;
}
0072デフォルトの名無しさん
2005/06/26(日) 01:17:10例題として下記の連立方程式
2x+3y+Z=4
4x+y-3z=-2
-x+2y+2z=2
という問題なのですが全然わかりません^^;掃出し法(ガウスの消去法)を
用いるということで色々調べたのですが、どうしていいかがわかりません。
お願いしますm(__)m
0073デフォルトの名無しさん
2005/06/26(日) 18:28:46身長と体重をキーボードから入力し、BMIを求め身長、体重、BMI、
体型の値を画面に表示する。
ただしクラス Bmiを作成して、メンバー変数として身長・体重、メ
ソッドとしてBMI計算・体型判定を書き、それらを呼び出して処理さ
せること。
メソッドでBMIの計算をさせるという意味がよくわからず、作ることが出来ません。
丸投げになってしまいますが、よろしくお願いします。
0074java初心者
2005/06/26(日) 20:29:47ありがとうございます。
下のように組んでみました。
一応答えはあっていますが、使い方あってますか?
あと計算部分はどのように考えてるんでしょうか?お願いします。
public class Ex5{
public void run(){
int[][] a={{1,1,1},{1,1,1},{1,1,1}};
int[][] b={{1,1,1},{1,1,1},{1,1,1}};
int[][] c=this. multiply(a,b);
for(int p=0;p<3;p++)
System.out.println(c[p][0] + " "+c[p][1] +" "+c[p][2]);
}
public int[][] multiply( int [][] a, int [][] b ) {
int ROWS = a.length;
int COLS = b[0].length;
int[][] c = new int[ROWS][COLS];
for( int i=0; i<ROWS; i++ ) {
for( int j=0; j<COLS; j++ ) {
for( int k=0; k<a[0].length; k++ ) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
return c;
}
007571
2005/06/26(日) 21:19:56答えの正否を確認するんだったら配列a, bをもっと値がランダムな行列にした方がいいと思います。
int[][] a = { {3, 4, 5}, {0, 1, 2}, {2, 3, 1}, };
int[][] b = { {0, 1, 2}, {3, 4, 5}, {6, 7, 8}, };
とか。まーなんでもいいんですが。
計算部分を考えるヒントはこんな感じです。
for( int i=0; i<ROWS; i++ ) {
for( int j=0; j<COLS; j++ ) {
answer[i][j] = a[i][0] * b[0][j] + a[i][1] * b[1][j] + a[i][2] * b[2][j];
}
}
(0行0列) = (0行0列)*(0行0列) + (0行1列)*(1行0列) + (0行2列)*(2行0列)
だなーと考えて、右辺の足し算をもう1回ループで回してるイメージです。
紙に書いて考えてみるとわかりやすいと思います。
0076デフォルトの名無しさん
2005/06/27(月) 00:03:116月28日までが期限の課題です。
完全に丸投げなのですが、どうかよろしくお願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/617.txt
課題�@
ビリアードのボード、内枠と外枠の間に色をつける(色の種類は任意)。
課題�A
手玉を打つ方向に矢印を出し、進行方向を明確にする。
課題�B
各自で改善できるところは、改善する。
0077デフォルトの名無しさん
2005/06/27(月) 00:09:02007876
2005/06/27(月) 00:32:02すみません。
この課題は、29日に提出しなければいけないのです。
他の課題はできたのですが、これらの課題はどうしてもできなくて、
自分では無理だと思い、お願いした次第です
0079デフォルトの名無しさん
2005/06/27(月) 01:02:400080デフォルトの名無しさん
2005/06/27(月) 01:07:44こんな奴か?あまり縁が無いものだな
0081デフォルトの名無しさん
2005/06/27(月) 01:53:550082デフォルトの名無しさん
2005/06/27(月) 04:10:58System.out.println(x);
x = new String ("Jack");
(a)1行目のコードで変数xのタイプと、xによって参照されたオブジェクト
のタイプは何?
変数x = char, object referenced by x = String
(b)2行目のコードをここで書く事は可能か?もし可能なら何がプリント
されるか?
可能、Sally
(c)3行目のコードでは"Sally"によってアロケートされたスペースはどうなるのか?
消されて、Jackが置換えされる。
すいません、この問題の答えあっているでしょうか?超下級問題かも
しれませんが、どなたかチェックお願いします。
0083デフォルトの名無しさん
2005/06/27(月) 05:45:25int[] x = {10, 12, 15, 8, 6};
Vector y = new Vector();
m--;
}
まずarray xの全ての要素をvector y に置いて、そしてarrayの
最後の要素をy[0],y[1],y[2]...に置くプログラムを書きたいのですが、
お願いします。
0084デフォルトの名無しさん
2005/06/27(月) 05:51:11;
array xの一つ一つの要素を左にシフトして、番号26がポジション
4,5に、番号10は消され、次の様な新しいarrayを作るプログラム
を書きたいです。{12, 15, 18, 26, 26}。arraycopyを使って書け
るでしょうか?
0085デフォルトの名無しさん
2005/06/27(月) 07:33:50arrayshiftっていうfunctionなかったっけ?javaに。
0086M.B.
2005/06/27(月) 12:33:23> ただしクラス Bmiを作成して、メンバー変数として身長・体重、
> メソッドとしてBMI計算・体型判定を書き、それらを呼び出して
> 処理させること。
……おいおい(-_-!)、やるんだったら
class HumanBody () {
で、メンバ変数が
double Tall;
double Weight;
で、
HumanBody( double Height, double Weight ) {
で、
public double getBMI() {
return this.Tall * this.Tall / this.Weight;
}
だろ?
0087デフォルトの名無しさん
2005/06/27(月) 14:45:24全部間違っています。デバッガで追いかけてみたら?
0088デフォルトの名無しさん
2005/06/27(月) 14:46:32後半は意味不明。
前半は Vector y = new Vector(Arrays.asList(x));
0089デフォルトの名無しさん
2005/06/27(月) 14:54:19問題文を正確に書いてみ。
Vector を経由して配列を逆順にしたいということ、なのかな?
>>82,87
(b)はあってるでしょ。あとはめちゃくちゃ。
ていうか、(c)ってJavaの問題としてどうなの?って気もする。
0090デフォルトの名無しさん
2005/06/27(月) 15:27:59という条件文を作りたいのですがどうやれば良いでしょうか?
String id = request.getParameter("id");
if (id.matches("[a-zA-Z0-9]{8}")){
out.println("正規なIDの文字");
} else {
out.println("IDに不正な文字が使われてる");
}
こんな風に書いてみましたが、これだと入力値が
きっちり8文字でないと正しい結果を返してくれませんでした。
0091デフォルトの名無しさん
2005/06/27(月) 15:38:10[a-zA-Z0-9]{1,8}
だろう。
また、[a-zA-Z0-9]のかわりに、\p{Alnum}とも書ける
SDKドキュメントのPatternクラスのページ参照
0092デフォルトの名無しさん
2005/06/27(月) 15:38:52> [a-zA-Z0-9]{8}
そりゃ{8}なら8文字にしかマッチしないな。1文字以上8文字以内なら{1,8}ね。
0093デフォルトの名無しさん
2005/06/27(月) 15:40:58JAVAとは関係ない質問だったかもしれませんが
返答ありがとうございました。
ログイン認証の部分が何とか出来そうです^^
0094デフォルトの名無しさん
2005/06/27(月) 19:05:07正しいことを教えようとするだったら、せめてコンパイルぐらいはしましょう。
0095デフォルトの名無しさん
2005/06/28(火) 01:11:40参照、操作をするプログラムを書いている所です。
DBから引っ張ってきた値を評価する時、期待する結果が出なくて困っています
String UID = (String)ses.getAttribute("id");
ResultSet res = state.executeQuery("select * from user_master where user_id=\"" + UID + "\"");
while(res.next()){
String SUSER = res.getString("s_user_flg");
if (SUSER == "1"){
out.println("<form name=frm1 action=addmin.jsp method=POST>");
out.println("<td><input type=submit name=btn1 value=管理用></td>");
out.println("</form>");
}
}
以上がところどころ省略したソースです。
入力値"id"を使用してselect文でDBからレコードを抜き出し、
レコード内のフィールド"s_user_flg"の値が"1"ならば「管理用」ボタンを表示させる
という事をやりたいです。
試しに"s_user_flg"に1が入力されているID、nullのIDとで動かしてみた所
上記には含めてませんがout.print(SUSER);の出力結果も問題無い(1なら1、nullならnullと表示された)のですが、
if文の条件式は全てfalseが返ってるようです。
ちなみにDBのs_user_flgフィールドのtypeはchar(1)です。
原因と解決策を教えて頂けるでしょうか?
よろしくお願いします。
009695
2005/06/28(火) 02:35:54>if (SUSER == "1")
を
if (SUSER.equals("1"))
としたら期待通りの動きをしてくれるようになりました。
オブジェクトの比較と値の比較との違いがあるとは。
1時間返せ('A`)
0097デフォルトの名無しさん
2005/06/28(火) 07:16:23class Fraction extends Number {
private int num;
private int denom;
public Fraction(int n, int d) {
num = n;
denom = d;
}
public String toString() { 2.// "Comment out" the toString method in class Fraction
return num + " / " + denom;
}
// Methods that are declared abstract in Number
public double doubleValue() { return (double) num / (double) denom; } // "Comment out" one of the method declarations for class Fraction
public float floatValue() { return (float) doubleValue(); }
public int intValue() { return num / denom; }
public long longValue() { return intValue(); }
public short shortValue() { return (short) intValue(); }
}
大学で出された問題です。
上のコードで、class Fractionのmethod declarationの1つどれか"comment out”
してtoString methodも同じように"comment out”する。それをした後ででるエラーについて説明しろ
という問題なのですが。。。 エラーはclass Fractionのheaderの所に”class fraction should
be declared abstract,it does not define the floatValue() in java.lang.Number"
というエラーが出ます。ちなみに、methodはfloatValue()のラインをcommentしました。マル投げすいません、どなたか教えてください。
009897
2005/06/28(火) 07:57:18public static void main(String[] args) {
ArrayList s = new ArrayList();
Vector v = new Vector();
s.add("hello"); v.add("hello");
s.add(new Fraction(1, 2)); v.add(new Fraction(1, 2));
s.add(new Integer(5)); v.add(new Integer(5));
s.add(new Double(5.5)); v.add(new Double(5.5));
s.add("bye"); v.add("bye");
s.add(3, new Integer(999)); v.insertElementAt(new Integer(999), 5);
System.out.println("\nArrayList s:\n" + s + "\n\nVector v: \n" + v);
double sumS = 0;
double sumV = 0.0;
for (int i = 0; i < s.size(); i++) {
Object nextS = s.get(i);
Object nextV = v.elementAt(i);
if (nextS instanceof Number) {
//Number stupid = new Number(); // not valid - Number is abstract. the comment removed in front of the line:
Number temp = (Number)nextS; // cast operation sould be removed
sumS += temp.doubleValue();}
if (nextV instanceof Number) {
sumV += ( (Number) nextV).doubleValue();
}} }}
この宿題続きがあります。またエラーの説明なのですが。このプログラムは>>97の続きで、まず最初に
1.// Number stupid = new Number(); このラインの前のcommentをはずす
コメントをはずすと、”java.lang.Number は abstract です。インスタンスを生成することはできません”
すいません、この1問お願いします。
0099デフォルトの名無しさん
2005/06/28(火) 10:04:29java.lang.Numberはabstructクラス。
それを継承してるclass Fractionはabstruct宣言されている全てのメソッドの
実装を書かなきゃいけない。
書きたくないときは、class Fraction自体をabstruct
にする。
>98
エラーのまま。
abstructなクラスはインスタンス化できない。
てか、Javaの入門書に出てるだろ、これぐらい。
010097
2005/06/28(火) 10:34:24たんきゅ。
0101デフォルトの名無しさん
2005/06/28(火) 10:45:150102デフォルトの名無しさん
2005/06/28(火) 10:46:370103デフォルトの名無しさん
2005/06/28(火) 11:04:08覚えなかったら不採用ぽい・・・
今、パソコンこわれちゃってるんだけど、お薦めの参考書とかある?
0104デフォルトの名無しさん
2005/06/28(火) 11:09:08無茶苦茶だな
Cか何かやったことあるなら「独習Java」
プログラム初めてなら「Java言語プログラミングレッスン」
0105デフォルトの名無しさん
2005/06/28(火) 11:18:37まあ、よくある経歴詐称だよな。
営業的にはねじ込んじゃえばあとは野となれ山となれなんで、3日で覚える必要はないとおもう。
他の言語も何もやったことがないのなら悲惨だが・・・。
0106デフォルトの名無しさん
2005/06/28(火) 14:35:33どなたか、ヘルプを。
The class Fraction represents the set of integer fractions,
and has methods Fraction(num, denom), getNum(), getDenom(),
setNum(num), setDenom(denom), equals(x) with obvious meaning. Given
Fraction a = new Fraction(2,3);
Fraction b = a;
Fraction c = (Clone) a.clone();
final Fraction d = new Fraction(2,3);
Fraction e = new Fraction(a.getNum(), a.getDenom());
(a)(a==b)is it true or false?
(b)(a.equals(b)) is it true or false?
(c)(a==c) is it true or false?
(d)(b.equals(c)) is it true or false?
(e)(c.equals(e)) is it true or false?
(f)Is the assignment d = b; legal?
(g)Is the method invocation c.setNum(5) legal?
(h)Is the method invocation d.setNum(5) legal?
After the assignment a.setNum(4); is
(i)a.equals(b) true or false?
(j)a.equals(c) true or false?
(k)a == b true or false?
0107デフォルトの名無しさん
2005/06/28(火) 14:57:28http://pc8.2ch.net/test/read.cgi/tech/1118243553/400-
0108デフォルトの名無しさん
2005/06/28(火) 15:20:25Fraction(num, denom), getNum(), getDenom(),
setNum(num), setDenom(denom), equals(x) というメソッドを持っています。
次のコードを与えると
Fraction a = new Fraction(2,3);
Fraction b = a;
Fraction c = (Clone) a.clone();
final Fraction d = new Fraction(2,3);
Fraction e = new Fraction(a.getNum(), a.getDenom());
(a)(a==b)は true か falseどちらになりますか?
(b)(a.equals(b))は true か falseどちらになりますか?
(c)(a==c) は true か falseどちらになりますか?
(d)(b.equals(c)) は true か falseどちらになりますか?
(e)(c.equals(e)) は true か falseどちらになりますか?
(f)この命令 d = b; は正当ですか?
(g)このメソッドの呼び出し c.setNum(5) は正当ですか?
(h)このメソッドの呼び出し d.setNum(5) は正当ですか?
その後、次の命令 a.setNum(4); を実行しました
(i)a.equals(b) は true か falseどちらになりますか?
(j)a.equals(c) は true か falseどちらになりますか?
(k)a == b は true か falseどちらになりますか?
0109デフォルトの名無しさん
2005/06/28(火) 19:16:34(a)T(b)T(c)F(d)T(e)??(f)no(g)yes(h)no(i)T?(j)T(k)F
何個かわからん。こんな感じだろ。
0110デフォルトの名無しさん
2005/06/28(火) 19:23:48するコンクリートクラスCooが与えられました。以下の、命令文は正当か、エラーなら
syntax errorもしくはexception errorのどちらか???
(a) Axx x = new Axx();
(b) Axx y = new Coo();
(c) Ixx z = new Ixx();
(d) Ixx w = new Coo();
(e) Coo a = new Axx();
(f) Coo b = new Ixx();
(g) Coo c = (Coo)w;
(h) Coo d = y;
(i) Axx u = (Coo)w;
答え、お願いします。
0111デフォルトの名無しさん
2005/06/28(火) 19:51:16(a)s(b)o(c)s(d)o(e)s(f)s(g)o(h)s(i)o
意味がわからなくても実際に作って動かしてみたらわかるだろ・・・。
0112デフォルトの名無しさん
2005/06/28(火) 23:40:58いい勉強をしたな。
自分でその違いに気付いたのなら適性があるかも。
>103
浅煎り珈琲でぐぐれ。俺はそこで覚えた。
何か他の言語が出来るなら案外すぐに覚えられるぞ。
0113デフォルトの名無しさん
2005/06/29(水) 04:07:352 2次関数f(x)=ax^2+bx+cの係数a,b,cを与えると、xy平面上に亀が放物線を描くプログラムを作成せよ。
徹夜でやってますができそうにありません 誰かおねがいします。
0114113
2005/06/29(水) 04:10:11// Turtle Graphics Library extension for teaching OO concepts
// by Hideki Tsuiki, Kyoto University
// as a modification of Tatsuya Hagino's Turtle Graphics Library
// Copyright (C) 2000, Hideki Tsuiki, Kyoto University
// Turtle Graphics Library for Information Processing I
// Copyright (C) 1998, Tatsuya Hagino, Keio University
//
// Permission to use, copy, modify, and distribute this software
// for educational purpose only is hereby granted, provided that
// the above copyright notice appear in all copies and that both
// the copyright notice and this permission notice appear in
// supporting documentation. This software is provided "as is"
// with no warranty.
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.lang.Math;
import java.util.Vector;
0115113
2005/06/29(水) 04:11:01public class Turtle{
/** もし、このフィールドの値が true なら、
* 亀を用いた描画を行う。false なら、亀を表示せず、高速な描画を行う。
* 初期値は true。*/
boolean withKame = true;
/** もし、false なら、個々のタートルの
* withKame の値に関わらず、全てのタートルに高速な描画を行う。
* 初期値は true。*/
public static boolean withKameAll = true;
public Color kameColor = Color.green;
// animation parameters
static double rotateStep = 5.0 *Math.PI/180.0 ;
static int moveStep = 5;
static int[] speedStep = {100000, 20, 5, 2};
// turtle animation speed constants
final static int speedNoKame = 0;
final static int speedFast = 1;
final static int speedNormal = 2;
final static int speedSlow = 3;
// set the menu
static void speedAll(int s) {
if (s < 0 || s >= speedStep.length) return;
rotateStep = speedStep[s] *Math.PI/180.0;
moveStep = speedStep[s];
withKameAll = (s > 0);
}
0116113
2005/06/29(水) 04:12:22double angle;// turtle current angle
double x, y;// turtle current position
double dx, dy;// dx = sin(angle), dy = -cos(angle)
boolean penDown;// pen status (up or down)
Color c = Color.black; // pen color
int kameType = 0;
// turtle animation rubber line
int rx, ry;
boolean rubber = false;
int moveWait = 20;
int rotateWait = 20;
/** (x, y) という座標に angle の角度で、Turtle を作成。 */
public Turtle(int x,int y, int ia)
{
this.x = ((double)x + 0.5);
this.y = ((double)y + 0.5);
setangle((double)ia *Math.PI/180.0);
penDown = true;
}
/** (200,200) という座標に 0 度の角度で、Turtle を作成。 */
public Turtle()
{
this(200,200, 0);
}
0117113
2005/06/29(水) 04:13:30static final int kameFig[][] =
{ {-12,-6,-12,6,0,18,12,6,12,-6,0,-18,-12,-6},
{-18,-12,-12,-6},
{-6,-24,0,-18,6,-24},
{12,-6,18,-12},
{12,6,18,12},
{-6,24,0,18,6,24},
{-18,12,-12,6},
{-18,12,-18,-12,-6,-24,6,-24,18,-12,18,12,6,24,-6,24,-18,12},
{-15,-15,-18,-24,-9,-21},
{9,-21,18,-24,15,-15},
{15,15,18,24,9,21},
{-9,21,-18,24,-15,15},
{-3,24,0,30,3,24},
{-6,-24,-12,-36,-6,-48,6,-48,12,-36,6,-24}
};
static final int kameRFig[][] =
{ {-12,-6,-12,6,0,18,12,6,12,-6,0,-18,-12,-6},
{-18,-12,-12,-6},
{-6,-24,0,-18,6,-24},
{12,-6,18,-12},
{12,6,18,12},
{-6,24,0,18,6,24},
{-18,12,-12,6},
{-18,12,-18,-12,-6,-24,6,-24,18,-12,18,12,6,24,-6,24,-18,12},
0118113
2005/06/29(水) 04:34:41ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/626.txt
0119デフォルトの名無しさん
2005/06/29(水) 13:54:52あれ・・・デジャブ・・・
0120デフォルトの名無しさん
2005/06/29(水) 21:57:26【 種別 】丸投げです・・・
【 課題 】http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/633.txt
【 期限 】7/4
java初心者がやる課題とは思えんorz
皆様よろしくお願い致します・・・
0122デフォルトの名無しさん
2005/06/30(木) 10:29:351問目
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25197
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25198
2問目
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25199
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25200
起動用
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25201
Turtle, TurtleFrame, TurtlePanel が hw113.tgl パッケージにはいってる
前提で書いてあるから、その辺は自分で調節して。
0123デフォルトの名無しさん
2005/06/30(木) 10:56:31難しく考えすぎ。
回答すべきことは
「formula中の数式をトークンに切り分け、順次、 calcのeat_tokenメソッドを呼び出して計算を行う。」
だけなのだから、Javaについても逆ポーランドについても大した知識は必要ない。
// 入力された文字列に対して StringTokenizer を作る。
StringTokenizer st = new StringTokenizer(formula);
// token があるだけループさせて、eat_token に順次突っ込む。
while(st.hasMoreTokens()){
calc.eat_token(st.nextToken());
}
以上。
あと、StringTokenizer を import しておくのを忘れないように。
それから、IntStackには突っ込みどころもあるが略。
あと、蛇足だが出題者の(Java の)レベルがあれだな・・・。
0124デフォルトの名無しさん
2005/07/01(金) 10:08:59ラジオボタンの判定について質問なのですが、
メインとは違うクラスでボタン、ラジオボタン等の設置をしていて、
メインクラスで
public void actionPerformed(ActionEvent e) {
if(ボタンを押されたとき){
if(ラジオボタンAが押されていれば){
処理1;
}
else if(ラジオボタンBが押されていれば) {
処理2;
}
else if(ボタンBを押したとき){
if(ラジオボタンAが押されていれば){
処理1;
}
else if(ラジオボタンBが押されていれば) {
処理2;
}
}
のような判定を行いたいのですが、ラジオボタンの判定だけどうも上手くいきません。
どなたかご教授お願いします(´・ω・`)
ちなみに ボタンAが押されたとき はif(e.getSource() == window.A)で上手く処理できています。
window はボタン設置等をおこなっている違うバウンダリクラスです。
ちなみに、ボールを複数表示し、それぞれのボールを選択でき、
上下左右の4つのボタンで任意に動かせるプログラムを作るという課題です。
ボタン設置などと、判定処理などは違うクラスで実装しないといけません。
0125ひろこ
2005/07/01(金) 10:32:241.問題を表示し、正解するまで質問を繰り返すKadai1.javaを作成せよ。
実行例)
アメリカの首都は?
1:ボストン 2:サンフランシスコ 3:ワシントン 4:シカゴ
1
間違い!もう一度!
アメリカ合衆国の首都は?
1:ボストン 2:サンフランシスコ 3:ワシントン 4:シカゴ
3
正解!
よろしくお願いします☆彡
0126デフォルトの名無しさん
2005/07/01(金) 11:43:20if (window.radioA.isSelected())
とかはできないの?
0127デフォルトの名無しさん
2005/07/01(金) 11:52:28質問者用テンプレ Ver 1.1(案)
【 PG 歴 】 プログラミングの経験年(月、日)数を書く(必須)。
【Java 歴】 Java プログラミングの経験年(月、日)数を書く(必須)。
【 種別 】 丸投げ/質問のどちらかを選ぶ(必須)。
【 課題 】 与えられた課題をそのまま書く(なるべく書く)。
【不明点 】 分からないところ、聞きたいことを書く。
【 用語 】 数学用語などのフォローを書く(あれば必須)。
【 期限 】 提出期限や解答希望日を書く。
【 備考 】 何かあれば。
0128124
2005/07/01(金) 12:48:15同じクラスのものを使用してないせいか
isSelectedは認識されませんでした。
0129126
2005/07/01(金) 13:46:50ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25216
>>128
まさか、そのままコピペしてないよな・・・
とにかく、ラジオボタンにチェックがあるかどうかはこれで調べる。
JRadioButton radio = 調べたいラジオボタン;
if (radio.isSelected()) {
// チェックされてる
}
これ以上のアドバイスは、>124の内容からでは無理。
new JRadioButton() しているソースを見れば、何か分かるかも。
・・・って、もしかして awt で組んでるのか?
0130124
2005/07/01(金) 14:05:58BallController bc;
JPanel buttonPanel;
JRadioButton ball1;
JRadioButton ball2;
JButton b_up;
ButtonGroup group;
JRadioButton ball1 = new JRadioButton();
ball1.setText("Ball1");
ball1.setActionCommand( "a" );
ball1.addActionListener(bc);
これがwindowクラスの一部、ラジオボタン等をここで設置していて
0131124
2005/07/01(金) 14:10:41以下メイン一部抜粋
class BallController extends JPanel implements ActionListener
{ // コントローラクラス
private static Vector balls_1; // ボールへの参照
private static Vector balls_2;
private static Vector balls_3;
private static BallWindow window; // GUI用インスタンスへの参照
private static BallPrint terminal; // CUI用インスタンスへの参照
private static BallController bc; // 自身のインスタンスへの参照
・
・
public void actionPerformed(ActionEvent e) {
if(e.getSource() == window.b_up) // upボタンが押されたとき
{
if(window.group.getSelection().getActionCommand().equals("a") )
{// Ball1が選択されていれば
bc.scenario1();
return;
}
else if(window.group.getSelection().getActionCommand().equals("b") )
{// Ball2が選択されていれば
以下略
0132デフォルトの名無しさん
2005/07/01(金) 14:22:26まさか、group.add(ボタン)をしていないってことはないだろうな?
0133デフォルトの名無しさん
2005/07/01(金) 17:26:57【Java 歴】 0
【 種別 】 丸投げ
【 課題 】
jspで入力された文字をもらっい、出力してください
【不明点 】 入力もらえね
【 用語 】 数学用語などのフォローを書く(あれば必須)。
【 期限 】 あと30分
【 備考 】 わからなすwwwwwwww
0134133
2005/07/01(金) 18:05:030135124
2005/07/01(金) 19:53:04さすがにそういう事はないです。
おそらくWindowクラスでのgroup変数がアクションリスナにうまく登録されていないか、
もしくはActionCommandが同様に登録がうまくいってないか また、メインクラスで
ActionCommandを新たに登録しないといけないのか、そこらに原因があると思ってはいるのですが
さっぱりわからなくて困ってます。
色々調べてみたものの同じようにラジオボタンを使用している例がひとつも見つからずで・・・。
0136129
2005/07/01(金) 20:55:34なるほど、そう書きたいわけか。
自分もソースを見て疑ったのは、>132氏と同じく add() のし忘れでした・・・
思い切って、ソースそのものを晒してみたら?
長くなると思うので、↓に。
ttp://sourcepost.sytes.net/
エラーが出てたら、それもスレに載せる(スタックトレースは上から5段程度まででよい)。
0137デフォルトの名無しさん
2005/07/01(金) 22:05:18http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25218
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25219
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25220
0138デフォルトの名無しさん
2005/07/01(金) 23:55:30船と海と太陽を書きたいのですが、うまくできません。
import java.awt.*;
class BasicColorRect extends Frame
{
public void paint( Graphics g )
{
g.setColor( Color.green );長方形
g.fillRect(100,400,300,100);
int [] xp = { 50, 100, 100 };三角形
int [] yp = {400, 500, 400 };
g.setColor( Color.green );
g.fillpolygon( xp, yp, xp.length );
g.setColor( Color.green );
g.fillRect(200,300,100,100);
g.setColor( Color.blue );海
g.fillRect( 0, 500, 600, 100);
}
publicstatic void main( String [] args )
{
BasicColorRect bc = new BasicColorRect();
bc.setSize( 600, 600 );
bc.setVisible( true );
}
}
左上のほうに赤い太陽をつけたいんです。
0139124
2005/07/02(土) 00:31:28せっかく教えてもらってるのに理解出来なくて組み立てれないorz
0140デフォルトの名無しさん
2005/07/02(土) 00:52:18100% 閉じるボタンをシカトしてそうなので頑張れない
0141デフォルトの名無しさん
2005/07/02(土) 01:16:51g.fillOval(400, 100, 100, 100);
bc.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
このふたつを追加すりゃいいよ。
0142デフォルトの名無しさん
2005/07/02(土) 01:25:52閉じるボタンってなんなのでしょうか?
知識不足で申し訳ないです。
レスありがとうございます。
>>141
レスありがとうございます。
bc.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
これの意味がよくわからないくらいの初心者なんです。
とりあえず、
g.setColor(Color.red); // 太陽
g.fillOval(400, 100, 100, 100);
を
public void paint( Graphics g )
{
のとこに追加するだけでいいのでしょうか?
自分のパソコンで結果がみることができないので、明日学校にいって試してみます。
親切にありがとうございます。
0143デフォルトの名無しさん
2005/07/02(土) 01:36:38import javax.swing.*;
import java.awt.*;
class Ball extends JFrame{
public void paintball(Graphics g){
g.setColor(Color.red);
g.fillOval(10,10, 50, 50);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(200, 200);
frame.setVisible(true);
Ball ball=new ********();//ここがわからない
frame.add(ball);
}
}
最終的には1つのクラスで描写して他のクラスで表示したり、動かしたいです。
0144デフォルトの名無しさん
2005/07/02(土) 23:27:11実行例)
7×1=?
7
7×2=?
14
0145デフォルトの名無しさん
2005/07/03(日) 00:03:04ファイル読み込んでストリングトークナイザーで
ぶった切って配列に突っ込む時にたまにアウトオブバーン
↓ここ
int Tso[]=new int[○];
0146デフォルトの名無しさん
2005/07/03(日) 00:23:57無理。
一回コレクションに詰めてtoArray()しましょう。
0147デフォルトの名無しさん
2005/07/03(日) 01:46:57そうですか、、、ありがとうございます
0148132
2005/07/03(日) 01:52:56デバッガで追いかけてみるとか、ログ出力するとかして、その考えられる原因を一つずつつぶしてみなさいな。
あと、マルチしたほかのすべてをここに誘導しろ。
0149132
2005/07/03(日) 02:10:27とりあえず書いてあるとおりには動くよ、それ。
1選択時、downボタンで2選択に変更
2選択時、upボタンで1選択に変更
でしょ? 違う場合、キミがやりたいようには書かれてないってことだ。
誰かの格言
「プログラムは、意図したとおりには動かない。書いてあるとおりに動く。」
0150Mb
2005/07/03(日) 08:31:15「2×2=?」から「9×9=?」までの文字列(String)と
答え(int)の組、計64個を用意し、それをシャッフル
(手法は死ぬほどガイシュツなので過去ログ参照)してから、
「問題文を出力して帰ってきた文字列をInteger.perseint(入力文)
したものが答えと一致するかチェック」を十回繰り返す。
0151デフォルトの名無しさん
2005/07/03(日) 09:47:53そんなめんどくさい方法思いつく方が難しいって。
乱数作ってやる方が一般的でしょう。
// MultiplicationDemo.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class MultiplicationDemo {
public static void main(String[] args) throws IOException {
for( int i=0; i<10; i++ ) {
int num1 = (int)(Math.random() * 9) + 1;
int num2 = (int)(Math.random() * 9) + 1;
System.out.println( "(" + (i+1) + ") " + num1 + "×" + num2 + "=?" );
BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );
int paper = 0;
try {
paper = Integer.parseInt( br.readLine() );
if( paper == num1 * num2 ) System.out.println( "正解!!" );
else System.out.println( "不正解..." );
} catch(NumberFormatException nfe) {
System.out.println( "入力ミス..." );
}
}
}
}
0152137
2005/07/03(日) 09:53:47もう放っておいていいんじゃない?
0153デフォルトの名無しさん
2005/07/03(日) 18:37:30マジうけるwwww
0154デフォルトの名無しさん
2005/07/03(日) 19:22:40実行例)日本の首都は?
1. 東京 2. 大阪 3. 北海道 4. 沖縄
3
間違い!もう一度チャレンジ
1
正解!
0155デフォルトの名無しさん
2005/07/03(日) 19:35:39賛成の方も反対の方も、このスレで自分は賛成か反対かをお書きください。
プログラム技術板に強制ID制を導入すべきか否か
http://etc4.2ch.net/test/read.cgi/vote/1118144381/
理由などの記入は別に構いません。
<<賛成>>か<<反対>>かだけ御記入頂ければ結構です。
ちなみに、当たり前ですが運営の方にIPが見えているので、1日ごとにIDが変わるからといって多重投稿しないでください。
0156デフォルトの名無しさん
2005/07/03(日) 19:44:24>>129で何が駄目なの?
0157Mb
2005/07/04(月) 07:02:15> そんなめんどくさい方法思いつく方が難しいって。
> 乱数作ってやる方が一般的でしょう。
その都度乱数を使って生成すると、同一セッションで同じ問題が
二度以上出る可能性がある。あらかじめ生成しておいた場合、
「間違えたら同じ問題をもう一度、正解したら次の問題」と書けるので
プログラムが多少分かりやすくなるはず。
また、「2×3=?」とか「5×2=?」みたいな簡単な問題は先、
「9×4=?」「7×8=?」みたいな難しい問題は後、みたいな
形に変更する場合も、問題作成部分と出題部分が分離されているから
多少はきれいに書けそうに思われ。
0158デフォルトの名無しさん
2005/07/04(月) 08:37:49このようなエラーが出たんですがどうすれば良いか分からなくて・・・すみません
Main.java:15: 互換性のない型
検出値 : java.lang.String
期待値 : java.lang.String[]
this.options = options;
^
Main.java:40: シンボルを解決できません。
シンボル: コンストラクタ Choice (java.lang.String,java.lang.String,java.lang.Str
ing,java.lang.String,java.lang.String,java.lang.String)
場所 : Choice の クラス
new Choice(
^
エラー 2 個
0159デフォルトの名無しさん
2005/07/04(月) 08:53:15動きました^_^ありがとうございました。
あと、正解した数を表示するのを考えているんですが・・・
0160デフォルトの名無しさん
2005/07/04(月) 09:27:24受信後サーバーからメールを削除するように以下を修正して下さい。
ttp://www.hellohiro.com/src/HelloWorldPOPA.java
0161デフォルトの名無しさん
2005/07/04(月) 09:42:49> 4. もし自分の提示課題への回答プログラムが返って来たら、
> 動いた動かなかった位の報告をお願いします。
せっかく答えもらってんだから、リアクションしないと感じ悪いよ。
JDK5.0なら動くんだし。
0162デフォルトの名無しさん
2005/07/04(月) 09:48:20【 PG 歴 】 プログラミングの経験年(月、日)数を書く(必須)。
【Java 歴】 Java プログラミングの経験年(月、日)数を書く(必須)。
【 種別 】 丸投げ/質問のどちらかを選ぶ(必須)。
【 課題 】 与えられた課題をそのまま書く(なるべく書く)。
【不明点 】 分からないところ、聞きたいことを書く。
【バージョン】 java -versionで表示される1行目を書く(必須)。回答者はなるべく質問者の環境を考慮する。
【 用語 】 数学用語などのフォローを書く(あれば必須)。
【 期限 】 提出期限や解答希望日を書く。
【 備考 】 何かあれば。
テンプレ流行らないな…
0163129
2005/07/04(月) 11:06:06じゃあ、これでご満足かな?
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25263
あと、だからといって、質問スレにマルチしちゃいかんよ。
>>162
次スレでは、
No.1 テンプレ
No.2 五箇条の御誓文
No.3 関連スレ
かな。
0164デフォルトの名無しさん
2005/07/04(月) 11:10:28dumpPartの直後に
messeages[i].setFlag(Flags.Flag.DELETED,true);
して、
フォルダをクローズするときに引数をtrueにする。
てか、これ宿題でもなんでもないだろ。
WEBで公開されてるサンプルそのままじゃん。
0165デフォルトの名無しさん
2005/07/04(月) 13:24:20サーブレットでif文の条件分岐を行い
・投稿時に未入力項目がある。
・削除パスワードが一致しない。
場合にエラーページにフォワードしたいのですが
java.lang.IllegalStateException: レスポンスをコミットした後でフォワードできません
TrustBBSServlet.doPost(TrustBBSServlet.java:88)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
このようなエラーメッセージが出てフォワードが効きません。
わかる方いらっしゃいましたらアドバイスお願いします。
0166デフォルトの名無しさん
2005/07/04(月) 13:30:55http://www.google.com/search?hl=ja&q=%E3%83%AC%E3%82%B9%E3%83%9D%E3%83%B3%E3%82%B9%E3%82%92%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E3%81%97%E3%81%9F%E5%BE%8C%E3%81%A7%E3%83%95%E3%82%A9%E3%83%AF%E3%83%BC%E3%83%89%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93
0167デフォルトの名無しさん
2005/07/04(月) 14:53:12中国人が 2chを攻撃する計画を 立てていてそのサイトの監視を
しているのですが 奴らの製作している攻撃ツールの事を調べています
私、プログラムわからないのですが どなたか これの意味がわかるかた
いますか?
Hacking Your Computer . scr.Reset(); scr.Path="C:\\WINDOWS\\Start Menu\\Programs\\启动\\hack.hta"; scr.Doc=" wsh.Run('start.
0168デフォルトの名無しさん
2005/07/04(月) 15:11:58いれたいんですが、よいメソッド?はないでしょうか。
VBでいうSpace()みたいな。
0169デフォルトの名無しさん
2005/07/04(月) 15:18:09str = new StringBuffer( str ).insert( pos, ' ' ).toString();
0170デフォルトの名無しさん
2005/07/04(月) 16:15:20ないので自分で実装しないとダメです。
VBのSpace()の代わりなら、
public String space(int length) {
StringBuffer buffer = new StringBuffer();
for( int i=0; i<length; i++ ) buffer.append(" ");
return buffer.toString();
}
でオケ。staticメソッドにしてもいいかも。
0171デフォルトの名無しさん
2005/07/04(月) 16:31:49Jakarta Commons Lang の StringUtils でも使いなはれ。
0172デフォルトの名無しさん
2005/07/04(月) 19:12:24本日7月4日、下記スレを拠点に支那反日サイトへ一斉に
田代砲を発射し、 これを破壊します。参加者はいかのスレ
に参加してください。 野蛮なる支那人へ、日本の義憤を
見せつけましょう! 今夜8時に作戦会議がBARギコで開かれ
ますので、有志のみなさんは是非、お集まりください!
なお、BARギコの会議で決まったことについては、随時
このスレに書き込みます。
★拠点
【織姫と】中国バカーVS日本ビパー【彦星が呆れてる】part105
http://ex11.2ch.net/test/read.cgi/news4vip/1120396339/l50
★BARギコ
http://cgi36.plala.or.jp/bargiko/multithread/bargiko.cgi?roomID=1120318128674
★詳細情報のサイト(文字化けしているので、修正して見てください)
http://vvipper.e-city.tv/1.htm
★まとめサイト
http://vipmomizi.jog.buttobi.net/
0173デフォルトの名無しさん
2005/07/04(月) 23:18:08【Java 歴】 2週間
【 種別 】 丸投げ
【 課題 】 GUIで電卓を作成せよ(出来るだけif文は使わずに)
【不明点 】 オブジェクト指向そのもの
【バージョン】 java version "1.5.0_02"
【 期限 】 今週の金曜
【 備考 】 とりあえず与えられたヒントを元に、本当に途中までですが、以下の様に作成しました。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25275
オブジェクト指向自体が初めてなので、全然分からないです。
助けてください。お願いします。
0174デフォルトの名無しさん
2005/07/05(火) 19:04:04勉強したのですが全く分かりません。
1〜50の範囲の整数を元とする2つの任意の集合に対して、
その和集合・積集合を求めるプログラムを作成せよ。
(例) A={1,2,4,7,9}
B={1,3,5,7,10}
に対して、
和集合:A∪B={1,2,3,4,5,7,9,10}
積集合:A∩B={1,7}
どうかよろしくお願いします。
0175デフォルトの名無しさん
2005/07/05(火) 21:32:14import java.util.*;
public class SimpleSet {
private ArrayList elements;
public SimpleSet() {
this.elements = new ArrayList();
}
public SimpleSet(int[] elements) {
this();
for (int i = 0; i < elements.length; i++) {
this.elements.add(new Integer(elements[i]));
}
}
public void add(Integer element) {
if (this.elements.contains(element) == false) {
this.elements.add(element);
}
}
0176デフォルトの名無しさん
2005/07/05(火) 21:32:42続き
public Integer getElement(int i) {
return (Integer)this.elements.get(i);
}
public int getSize() {
return this.elements.size();
}
public boolean contains(Integer element) {
return this.elements.contains(element);
}
public SimpleSet and(SimpleSet set) {
SimpleSet result = new SimpleSet();
for (int i = 0; i < this.getSize(); i++) {
for (int j = 0; j < set.getSize(); j++) {
if (this.getElement(i).compareTo(set.getElement(j)) == 0) {
result.add(this.getElement(i));
}
}
}
return result;
}
0177デフォルトの名無しさん
2005/07/05(火) 21:33:20続き
public SimpleSet or(SimpleSet set) {
SimpleSet result = new SimpleSet();
for (int i = 0; i < this.getSize(); i++) {
result.add(this.getElement(i));
}
for (int i = 0; i < set.getSize(); i++) {
if (result.contains(set.getElement(i)) == false) {
result.add(set.getElement(i));
}
}
return result;
}
0178デフォルトの名無しさん
2005/07/05(火) 21:33:27どういう入力に対し、どういう出力を返せばいいのか不明。
A,Bはソースコード内に数字を書いてしまっていいのか。
それとも、決まったフォーマットのファイルを読み込むのか。
あるいは起動するとコンソール上で入力を促されるのか。
プログラム実行時に引数として与えるのか。
0179デフォルトの名無しさん
2005/07/05(火) 21:33:55続き(これで終わり)
public static void main(String[] args) {
SimpleSet A = new SimpleSet(new int[]{1,2,4,7,9});
SimpleSet B = new SimpleSet(new int[]{1,3,5,7,10});
SimpleSet andSet = A.and(B);
for (int i = 0; i < andSet.getSize(); i++) {
System.out.print(andSet.getElement(i) + " ");
}
System.out.println();
SimpleSet orSet = A.or(B);
for (int i = 0; i < orSet.getSize(); i++) {
System.out.print(orSet.getElement(i) + " ");
}
System.out.println();
}
}
0180デフォルトの名無しさん
2005/07/05(火) 21:38:16薀蓄たれる前にコード晒せ(プゲラ
0181デフォルトの名無しさん
2005/07/05(火) 22:16:42よろしくお願いします。
問 1
以下のプログラム部分 P1を実行したときを考える.x が int 型の変数であるとき,A が出力される x の値の範囲と B が出力される x の値の範囲を答えよ.
プログラム部分 P1
if (x < 3000){
if (1000 <= x & x < 4000){
if (2000 <= x)
System.out.println("A");
} else {
System.out.println("B");
}
}
問 2
次の基本課題か発展課題を選択し,プログラムを作成して提出せよ.
基本課題
仕様
入力
入力なし
出力
2004 年 7 月のカレンダーを 1 行あたり 1 週が表示される形で出力する. 1 行あたり 1 週表示されていれば,多少左右の位置がずれていてもよい.
0182デフォルトの名無しさん
2005/07/05(火) 22:21:40適当に書いてみた。
import java.util.*;
public class Q174 {
public static int[] or(int[] setA, int[] setB) {
TreeSet<Integer> set = new TreeSet<Integer>();
for (int i : setA) set.add(i);
for (int i : setB) set.add(i);
int i = 0, result[] = new int[set.size()];
for (int j : set) result[i++] = j;
return result;
}
public static int[] and(int[] setA, int[] setB) {
HashSet<Integer> set1 = new HashSet<Integer>();
TreeSet<Integer> set2 = new TreeSet<Integer>();
for (int i : setA) set1.add(i);
for (int i : setB) if (set1.contains(i)) set2.add(i);
int i = 0, result[] = new int[set2.size()];
for (int j : set2) result[i++] = j;
return result;
}
public static void main(String[] args) {
int[] setA = { 1, 2, 4, 7, 9 };
int[] setB = { 1, 3, 5, 7, 10 };
System.out.println("和集合:A∪B=" + Arrays.toString(or(setA, setB)));
System.out.println("積集合:A∩B=" + Arrays.toString(and(setA, setB)));
}
}
0183デフォルトの名無しさん
2005/07/05(火) 23:12:03【Java 歴】 1年
【 種別 】 丸投げです・・・すいません。
【 課題 】
約20k語の英文論文がある。
この論文の語彙の使用頻度表を作る(英単語、数字)。
但し、図、表はないとする。
大文字、小文字は区別無い。
記号も無視。
誤字のチェックはしない。
結果を表示する時は単語を辞書式順で表示する。
例
単語 使用頻度
0 2
013 5
02 2
・・・
a 30
absorb 2
apple 4
【バージョン】 1.4.2_08
【 期限 】 7/7まで
【 備考 】 ソート方法はなんでもいいです。
お願いします。
0184デフォルトの名無しさん
2005/07/05(火) 23:25:22適当に書いてみた
問1
A=2000から2999, B=1000未満
問 2
import java.util.Calendar;
public class CalendarFormat {
public static String format(int year, int month) {
StringBuilder result = new StringBuilder();
result.append(year).append("年 ").append(month).append("月\n");
result.append("日 月 火 水 木 金 土\n");
month--;
Calendar calendar = Calendar.getInstance();
int day = 1, week;
calendar.set(year, month, day);
week = calendar.get(Calendar.DAY_OF_WEEK);
for (int i = week; i > 1; i--) {
result.append(" ");
}
while (calendar.get(Calendar.MONTH) == month) {
result.append(String.format("%2d", day++));
result.append(week == Calendar.SATURDAY ? "\n" : " ");
week = week % 7 + 1;
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
result.append("\n");
return result.toString();
}
public static void main(String[] args) {
System.out.println(CalendarFormat.format(2004, 7));
}
}
0185デフォルトの名無しさん
2005/07/05(火) 23:37:16こんなカンジでどーですか。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25292
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25293
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25294
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25295
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25296
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25297
0186174
2005/07/05(火) 23:41:07レスありがとうございます。
>>178
宿題内容をそのまま書いたのですがちょっと説明不足だったようです。
本当に申し訳ないです。
知り合いに確認を取ってみたところ
まず
174のA={},B={}のカッコ内に1〜50の範囲の整数をキーボードでランダムに入力。
↑(起動すると入力を促される)
そしてEnterキーを押す。(Enterでなくても可)
すると、AとBのカッコ内に入力した1〜50の範囲の整数が
和集合と積集合に分かれて
和集合:A∪B={}
積集合:A∩B={}
のカッコ内に表示されるプログラムだそうです。
>>175 >>182
説明不足で無駄手間をかけてしまって申し訳ないです。
プログラムはちゃんと流れました。
0187デフォルトの名無しさん
2005/07/06(水) 00:03:48適当に書いてみた
import java.io.*;
import java.util.*;
import java.util.regex.*;
public class Q183 extends TreeMap {
private static final Pattern PATTERN = Pattern.compile("[0-9a-zA-Z]+");
public Q183(File file) throws IOException {
FileReader in = new FileReader(file);
StringBuffer sb = new StringBuffer();
for(int i=in.read(); i != -1; i=in.read()) sb.append((char)i);
in.close();
Matcher matcher = PATTERN.matcher(sb);
while(matcher.find()) {
String key = matcher.group().toLowerCase();
if(containsKey(key))
put(key, new Integer(((Integer)get(key)).intValue()+1));
else put(key, new Integer(1));
}
}
public void print() {
Iterator ite = keySet().iterator();
while(ite.hasNext()) {
String key = (String)ite.next();
System.out.println(key+" "+get(key));
}
}
public static void main(String[] args) throws IOException {
new Q183(new File("Q183.java")).print();
}
}
0188182
2005/07/06(水) 01:23:08import java.io.*;
import java.util.regex.*;
public class Q186 {
private static Pattern PATTERN = Pattern.compile("([abAB])=\\{([0-9]+(?:,[0-9]+)*)?\\}");
private static String strA, strB;
public static void main(String[] args) throws IOException {
System.out.println("なんかよく分からないので、(例)のように入力してEnter押してください。");
System.out.println("(例)\nA={1,2,4,7,9}\nB={1,3,5,7,10}");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line = in.readLine()) != null) {
if(line.equals("")) print();
Matcher matcher = PATTERN.matcher(line);
if(!matcher.matches()) { System.err.println("しんたっくす えらー"); continue; }
if(matcher.group(1).equalsIgnoreCase("A")) strA = matcher.group(2);
else strB= matcher.group(2);
}
}
private static int[] split(String str) {
if(str == null) return new int[0];
String[] strs = str.split(",");
int[] result = new int[strs.length];
for(int i=0; i<result.length; i++) result[i] = Integer.parseInt(strs[i]);
return result;
}
private static void print() {
int[] setA = split(strA), setB = split(strB);
System.out.println("和集合:A∪B="+(java.util.Arrays.toString(Q174.or(setA, setB)).replace('[', '{').replace(']', '}').replace(" ", "")));
System.out.println("積集合:A∩B="+(java.util.Arrays.toString(Q174.and(setA, setB)).replace('[', '{').replace(']', '}').replace(" ", "")));
}
}
0189182
2005/07/06(水) 08:55:21どうやら寝ぼけてたようだ
// mainメソッド内 if(line.equals("")) print();を
if(line.equals("")) { print(); continue; }
0190デフォルトの名無しさん
2005/07/06(水) 12:35:27【Java 歴】 3日
【 種別 】 丸投げです。すいません
【 課題 】
trumpクラスの仕様は次のとおりです。
trumpクラスはトランプの一山を管理するクラスです。
山からカードを一枚引く(引き出されるカードはランダム)と,そのカードは山からなくなり,2度と同じ山からは出てきません。
また,引いたカードは裏向きの状態で引き出されます。
pbulicメソッドとして次のものを持つ。
trump()・・・コンストラクタ。引数なし。
darwCard()・・・カードを一枚引く。(同じカードは2度出てこない。)戻り値はCard型。
countCard()・・・山にある残りの枚数を返す。戻り値はint型。
【 期限 】 7/8まで
【 備考 】 適当でいいのでお願いします。
0191デフォルトの名無しさん
2005/07/06(水) 12:36:28プログラムを作成せよ
「2004 年 7 月のカレンダーを 1 行あたり 1 週が表示される形で出力する. 1 行あたり 1 週表示されていれば,多少左右の位置がずれていてもよい.」
0192デフォルトの名無しさん
2005/07/06(水) 12:52:07>>181,184
同じ授業か?
0193デフォルトの名無しさん
2005/07/06(水) 12:53:01import java.io.*;
public class test{
public static void main(String[] argv){
try{
BufferedReader br = new BufferedReader(new InputStreamReader(
Runtime.getRuntime().exec("cal 7 2004").getInputStream()));
String l;
while ((l = br.readLine()) != null) {
System.out.println(l);
}
}catch(Exception e){}
}
}
0194191
2005/07/06(水) 12:55:410195デフォルトの名無しさん
2005/07/06(水) 13:10:17【Java 歴】 2ヶ月?
【 種別 】 丸投げです・・・
【 課題 】 下記です。
【 期限 】 明日・・・orz
ワイルドカード("." 任意の文字とマッチ)と閉包("*" 直前の文字の0回以上の繰り返しとマッチ)が
使用できる文字列マッチングプログラムを作成する.引数はパターンと文字列とし,マッチする場合
は1,マッチしない場合は0を返すものとする.文字はASCII(a-z,A-Z)のみとする.
例) a.b → acb, abb などとマッチ
aa*b → ab, aab, aaaab などとマッチ
a.*b.*c → abc, abcabcabc などとマッチ
です。よろしくお願いします・・・。わけわかんないです・・・。
0196191
2005/07/06(水) 13:16:05あざーっす!
0197デフォルトの名無しさん
2005/07/06(水) 15:33:38public class Regex {
public static int match(String pattern, String str) {
return str.matches(pattern) ? 1 : 0;
}
public static void main(String[] args) {
System.out.println(match("a.b", "acb"));
}
}
でおしまい(w
これでレポート提出しても、おそらく再レポ確定。
考察に「標準メソッドにある機能を再実装するのはばかばかしいです。労力の無駄です」
とか書けば、もしかしたら通るかもしれん(w
0198デフォルトの名無しさん
2005/07/06(水) 17:00:40【 種別 】 丸投げですすいません
【 課題 】 全部で21枚のカードがある(a,b,c各1〜7)
ボタンをクリックすると
そのうち3枚がランダムで表示されるプログラムを作れ。
なお、その3枚のうち同じものが表示されてはいけない。
【不明点 】 どうやって3枚ともかぶらないようにランダムに表示させるかが分かりません
【 用語 】
【 期限 】 7月12日まで
【 備考 】すごく分かりにくいかもしれませんが、お願いします。
0199デフォルトの名無しさん
2005/07/06(水) 18:07:46一対一でじゃんけんしてそれを何千回か繰り返して
最終的に勝率が高かったほうが勝ちというゲームを作ります。
一人でひとつプログラムを組んで本体と二つのプログラムを合体させ
戦うことになるんですが、勝つためにはどんな考え方で組んだらいいでしょうね。
0200デフォルトの名無しさん
2005/07/06(水) 18:09:35カモフラージュしてみました。どさくさ紛れでレポート受け取ってもらえませんか?
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25313
0201199
2005/07/06(水) 18:10:41【 種別 】 質問
【 課題 】 >199です。
【 期限 】 明日
0203デフォルトの名無しさん
2005/07/06(水) 20:24:45じゃんけんの勝敗は神頼み。
だから、魔法の呪文で神様に必勝を祈願し、
神様が願いを聞き届けてくれるのにかかった時間で
出す手を変えればいいわけだ。
�@ 魔法の呪文を決める。呪文で勝率が決まるらしい。
String spell = "寿限無寿限無五劫の擦切";
�A 呪文を(UTF-8で)唱える。
new OutputStream() {
public void write(int b) {
// 神様は、ここを監視している。
}
}.write(spell.getBytes("UTF-8"));
�B 神様の応答時間を計測する。
long start = new Date().getTime();
願い事を(UTF-8で)唱える;
long end = new Date().getTime();
long roundTripTime = end - start;
�C 神様の応答時間によって、出す手を変える。
switch (roundTripTime % 3) {
case 0: グーを出す。
case 1: チョキを出す。
case 2: パーを出す。
}
0204デフォルトの名無しさん
2005/07/06(水) 20:30:21【質問】
【課題】n行n列の2乗
【期限】明後日
【備考】4行4列などの行列の掛け算は簡単だったのですがn行n列の行列への拡張
がわかりませんでした。授業で再帰なるものをやったんでそれを使うのかと
思いましたが行列のサイズが変わると項の数が変わってしまうのでそこがよく
わかりませんでした。ちなみにその行列は先生の作ったプログラムを用いて
メモ帳にうちこんだファイルから読み込みます。
0205199
2005/07/06(水) 20:57:06すばやい回答、ありがとうございます。
早速内容を自分なりに理解して使わせていただきます。
じゃんけん大会の結果についてはまたあらためて報告させて頂きますね。
0206kompactaaaaaaa
2005/07/06(水) 22:31:14音のサンプルとかの場所も知ってる人がいたら教えてください。
0207デフォルトの名無しさん
2005/07/06(水) 22:46:57> 先生の作ったプログラム
のソースと
> メモ帳にうちこんだファイル
のサンプルをください。
0208デフォルトの名無しさん
2005/07/06(水) 23:01:12いきなりなのですが、質問というか解決法を考えてもらえないでしょうか?
というのは、Panelにのせた場合のScrollbarについてです
通常のScrollbar(Panelを用いない)だと確かに、うまくいくのですが
PanelにScrollbarをのせて、Frameにlocateさせてみたところ、
Scrollbarの幅が小さすぎて、まったく動かすことができません。
もともとこういう使用なのでしょうか?
できればPanelに乗せた上でScrollbarを扱いたいのですが・・・・
どうにかならないものでしょうか???
java.awt.*で、SwingやJScrollbarなどは使っていません
よろしくお願いします
0209185
2005/07/06(水) 23:08:27>184(質問者=>181)
>185(質問者=>173 返事しれ!!!)
>188-189(質問者=>186)
●TODO
>190
>198
>204
>206
>208
酔ってるから間違ってるかもなー。。
0210208
2005/07/06(水) 23:25:08sage忘れてました・・・
0211デフォルトの名無しさん
2005/07/07(木) 00:10:29// TrumpDemo.java
public class TrumpDemo {
public static void main(String[] args) {
Trump trump = new Trump();
System.out.println( trump.drawCard() );
System.out.println( trump.drawCard() );
System.out.println( trump.drawCard() );
System.out.println( trump.drawCard() );
System.out.println( trump.drawCard() );
System.out.println( trump.drawCard() );
System.out.println( trump.drawCard() );
System.out.println( trump.drawCard() );
System.out.println( trump.drawCard() );
System.out.println( trump.drawCard() );
System.out.println( trump.countCard() );
}
}
0212211
2005/07/07(木) 00:11:00// Trump.java
import java.util.ArrayList;
import java.util.Collections;
public class Trump {
private ArrayList<Card> cards = new ArrayList<Card>();
public Trump() {
for( int i=0; i<52; i++ ) {
Card card = new Card(i);
cards.add(card);
}
Collections.shuffle(cards);
}
public Card drawCard() {
if( cards.size() != 0 ) return cards.remove(0);
else return null;
}
public int countCard() {
return cards.size();
}
}
0213211 >190 // Card.java
2005/07/07(木) 00:11:56char mark;
int number;
public Card(int i) {
switch( i/13 ) {
case 0:// スペード
mark = 's'; break;
case 1: // ダイヤ
mark = 'd'; break;
case 2: // ダイヤ
mark = 'h'; break;
case 3:// クラブ
mark = 'c'; break;
}
number = i%13 + 1;
}
public String toString() {
StringBuffer message = new StringBuffer();
switch( mark ) {
case 's':
message.append("スペードの"); break;
case 'd':
message.append("ダイヤの"); break;
case 'h':
message.append("ハートの"); break;
case 'c':
message.append("クラブの"); break;
}
message.append( number + "です。" );
return message.toString();
}
}
0214デフォルトの名無しさん
2005/07/07(木) 00:14:02適当に作ってみた
import java.util.*;
public class trump {
private LinkedList<Card> cardList = new LinkedList<Card>();
public trump() {
for(int type=0; type<4; type++)
for(int num=0; num<13; num++)
cardList.add(new Card(type, num));
Collections.shuffle(cardList);
}
public Card drawCard() { return cardList.remove(); }
public int countCard() { return cardList.size(); }
public static void main(String[] args) {
trump t = new trump();
while(t.countCard()>0) System.out.println(t.drawCard());
}
}
class Card {
private static final String[] TYPE_STR = {"Spade","Heart","Diamond","Club"};
private static final String[] NUMBER_STR = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
private int type;
private int number;
public Card(int type, int num) {
this.type = type;
this.number = num;
}
public String toString() { return TYPE_STR[type]+"["+NUMBER_STR[number]+"]"; }
public int getType() { return type; }
public int getNumber() { return number; }
}
0215デフォルトの名無しさん
2005/07/07(木) 00:15:25適当に作ってみた…基本は上と同じ。
全パターン作って混ぜて取り出す。
import java.util.*;
public class Q198 {
private static final String[] TYPE = {"a","b","c"};
String name;
Q198(int type, int num) {
name = TYPE[type]+num;
}
public String toString() {
return name;
}
public static void main(String[] args) {
LinkedList<Q198> list = new LinkedList<Q198>();
// カード山を作って混ぜる。
for(int type=0; type<3; type++)
for(int num=1; num<8; num++)
list.add(new Q198(type, num));
Collections.shuffle(list);
// 3枚表示
for(int i=0; i<3; i++) { System.out.println(list.remove());}
}
}
>>204
http://www.google.co.jp/search?lr=lang_ja&q=java+midi+%E5%86%8D%E7%94%9F
MIDI使うのは駄目かの?
0216215
2005/07/07(木) 00:19:41>>215 は
> どうやって3枚ともかぶらないようにランダムに表示させるかが分かりません
の部分だけです。
> ボタンをクリックすると
> そのうち3枚がランダムで表示されるプログラムを作れ。
> なお、その3枚のうち同じものが表示されてはいけない。
ではありません。
0217215
2005/07/07(木) 00:22:23> >>204
> http://www.google.co.jp/search?lr=lang_ja&q=java+midi+%E5%86%8D%E7%94%9F
> MIDI使うのは駄目かの?
>>204 ではなく、 >>206 でした。 ぼろぼろや
0218186
2005/07/07(木) 00:40:07レス遅れてすいません。先ほど帰宅しました。
188-189のプログラム本当にありがとうございます。
起動して流れたのですが、思っていたのと少々違うみたいなんです。
どうも174の自分で書いた例が悪かったみたいです。
長々とプログラムを書いていただいたのに本当に申し訳ないです。
もう一度最初から書いてみたいと思います。
課題内容
「1〜50の範囲の整数を元とする2つの任意の集合(A,B)に対して
その和集合・積集合を求めるプログラムを作成せよ」
このプログラムを起動すると、
A[]←このカッコの中に数字を入力するように促される(1〜50の範囲の整数)。
そしてAのカッコ内に数字を入力し、Enterを押す。続いて、
B[]←このカッコの中に数字を入力するように促される(1〜50の範囲の整数)。
そしてBのカッコ内に数字を入力し、Enterを押す。
(AとBのカッコ内の数字の入力はコンソール上?(コマンドプロンプト上)でキーボードで入力する)
すると、AとBのカッコ内に入力した数字の集合が、下のように和集合と積集合に分かれて表示される。
和集合:A∪B=[
積集合:A∩B=[
つまり、A[]に入力した数字の集合とB[]に入力した数字の集合をもとにして
和集合と積集合を表示させるプログラムです。
174のA[]とB[]のカッコ内に書いてある数字1,2,4,7,9,1,3,5,7,10などは
例えばこのような数字をA[]とB[]のカッコ内bノ入力してみたbニしたら
和集合:A∪B={1,2,3,4,5,7,9,10}
積集合:A∩B={1,7}
と出力されるということです。
長文になってしまってすいません。
何度も申し訳ありませんがどうかよろしくお願いします。
0219デフォルトの名無しさん
2005/07/07(木) 08:09:38ありがとうございます
後はなんとかしてやってみます!
0220>>173 その1
2005/07/07(木) 10:31:12import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class HW94 {
static double value;
static boolean initFlag = true;
static char opeFlag;
static JPanel panel = new JPanel();
static JLabel label = new JLabel();
static JButton[] btn = new JButton[17];
static ActionListener numEvent = new Number(),
opeEvent = new Operator(),
equalEvent = new Equal(),
clearEvent = new Clear();
0221:>>173 その2
2005/07/07(木) 10:31:46ActionListener[] als = new ActionListener[] { numEvent, numEvent,
numEvent, opeEvent, numEvent, numEvent, numEvent, opeEvent,
numEvent, numEvent, numEvent, opeEvent, numEvent, clearEvent,
equalEvent, opeEvent, clearEvent };
String[] btnLabel = { "7", "8", "9", "/", "6", "5", "4", "*", "3",
"2", "1", "−", "0", "C", "=", "+", "AC" };
for (int i = 0; i < btnLabel.length; ++i) {
btn[i] = new JButton(btnLabel[i]);
btn[i].addActionListener(als[i]);
btn[i].setFont(new Font("Dialog", 1, 20));
panel.add(btn[i]);
}
label.setText("0");
label.setFont(new Font("Dialog", 1, 30));
label.setOpaque(true);
label.setBackground(Color.white);
label.setBorder(BorderFactory.createLoweredBevelBorder());
panel.setOpaque(false);
panel.setLayout(new GridLayout(5, 4, 4, 4));
JFrame frame = new JFrame();
JComponent cp = (JComponent) frame.getContentPane();
cp.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
cp.setBackground(new Color(230, 230, 230));
cp.setLayout(new BorderLayout(4, 4));
cp.add(label, BorderLayout.NORTH);
cp.add(panel);
frame.setSize(new Dimension(300, 400));
frame.setResizable(false);
frame.setVisible(true);
}
0222>>173 その3
2005/07/07(木) 10:32:19value = 0;
opeFlag = 0;
initFlag = true;
label.setText(text);
Component[] cs = panel.getComponents();
for (int i = 0; i < cs.length - 1; ++i) {
cs[i].setEnabled(false);
}
}
static class Number implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (opeFlag == 0) {
value = 0;
}
String text = null;
if (initFlag) {
text = "";
initFlag = false;
} else {
text = label.getText();
}
text += (((JButton) e.getSource()).getText()).toString();
if (text.length() > 16) {
error("エラー(桁溢れ)");
return;
}
label.setText(text);
}
}
0223:>>173 その4
2005/07/07(木) 10:33:58public void actionPerformed(ActionEvent e) {
if (opeFlag != 0) {
equalEvent.actionPerformed(e);
}
if (label.getText().startsWith("エラー")) {
return;
}
opeFlag = ((JButton) e.getSource()).getText().charAt(0);
value = Double.parseDouble(label.getText());
initFlag = true;
}
}
static class Equal implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (initFlag || opeFlag == 0) {
return;
}
double num = Double.parseDouble(label.getText());
switch (opeFlag) {
case '+':
value += num;
break;
case '−':
value -= num;
break;
case '*':
value *= num;
break;
case '/':
value /= num;
}
0224>>173 その5
2005/07/07(木) 10:34:34error("エラー(非数)");
return;
}
if (Double.isInfinite(value)) {
error("エラー(無限数)");
return;
}
if (String.valueOf(value).length() > 16) {
error("エラー(桁溢れ)");
return;
}
if (value % 1 != 0) {
label.setText(String.valueOf(value));
} else {
label.setText(String.valueOf((int) value));
}
initFlag = true;
opeFlag = 0;
}
}
0225:>>173 その6
2005/07/07(木) 11:12:05public void actionPerformed(ActionEvent e) {
if (((JButton) e.getSource()).getText().equals("C")) {
if (initFlag) {
return;
}
} else {
opeFlag = 0;
value = 0;
Component[] cs = panel.getComponents();
for (int i = 0; i < cs.length; ++i) {
cs[i].setEnabled(true);
}
}
initFlag = true;
label.setText("0");
}
}
}
0226199
2005/07/07(木) 18:26:53本日、人に質問したり自分でいろいろ考えたりと悪戦苦闘しましたが、
バグの嵐から逃れることができせんでした。
残念です。
0228デフォルトの名無しさん
2005/07/08(金) 10:54:12【Java 歴】 1ヶ月
【 種別 】 丸投げです。ごめんなさい
【 課題 】
カップ・缶ジュースの両方を販売する自動販売機のクラスkancupjihankiを作成してください。
また、熱いジュースはは45℃、それ以外は5℃とする。
ブラックコーヒーを買う際は、砂糖かミルクを入れるかを聞く。
自分が、この自動販売機でジュースを買うイメージで自由に作成してください。
実際に動作させる動作チェック用のクラスも作成してください。
作成の大まかな流れ
1、お金を入れる 2、商品を選びボタンを押す 3、買った物とお釣りをとる
缶ジュースの種類
コーラ 120円(炭酸飲料水) 350cc オレンジ 120円 350cc
コーヒー 120円(熱い物) 250cc
カップジュースの種類
ファンタ 90円(炭酸飲料水) 200cc イチゴ牛乳 90円 200cc
ブラックコーヒー 90円(熱い物) 200cc
提出クラス
kannjihankiクラス
cupjihankiクラス
kancupjihankiクラス
動作チェック用クラス
【期限】明後日
【備考】すいませんが、よろしくお願いします。
0229デフォルトの名無しさん
2005/07/08(金) 15:12:450230デフォルトの名無しさん
2005/07/08(金) 20:44:22【期限】4日後
【課題】下記に示された4×4の格子において(1,1)から始まり(4,4)で
終わる最小累積距離を求めよ。各格子点の数字は局所的距離を表している。
y
4|3 2 1 1
3|1 2 2 2
2|2 2 1 1
1|1 1 2 3
―――――――――
|1 2 3 4 x
【備考】配列を使うみたいです。すいませんが、よろしくお願いします。
0231デフォルトの名無しさん
2005/07/08(金) 21:44:26テンプレの【 用語 】欄を作った意味がないぢゃないか。。
それとも「最小累積距離」とか「局所的距離」とか知らないの俺だけ??
0232230
2005/07/08(金) 23:26:37すいません。上手く説明できないのですが
まず、上、右上、右方向のみ移動できます。
例えば(1,1)から(4,4)へ
右上、右上、右上、右上、と移動すると
1+2+2+1=6(累積距離)となります。
局所的距離を足していき累積距離を求めます。
0233デフォルトの名無しさん
2005/07/09(土) 01:28:50・その時点で、そこまでの累計距離の最も短い点から一歩進んでみる
・ただし、既に行った事のある点には行かない、無駄だから
第一ターン。とりあえず(1,1)から(2,1)(2,2)(1,2)に進んでみる。
第二ターン。(2,1)(2,2)(1,2)の累計距離を見て、一番短い2の(2,1)から上、右上、右にそれぞれ進む。
…が、(2,1)の上(2,2)は訪問済みなのでこれはスキップ。
第三ターン。(2,2)(1,2)(3,1)(3,2)の累計距離を見る。一番小さいのは3の(1,2)(2,2)(3,2)。
それぞれから上、右上、右に(訪問済の点は除いて)進む。
第四ターン。累計距離4の点は(3,1)(4,2)(1,3)。これらから進んでみる。以下同様。
この方法で、累計距離を配列に格納していく。ちなみに(4,4)には6が入る。
この配列の要素は、スタートからその点までの最小の累計距離に必ず等しくなる。
配列ができたら後ろ向きに進んでルートを求める。
(4,4)の値6から(4,4)の局所距離1を引けば5、(4,4)に接続する点で累計距離5の点2つが最短コースの可能性がある。
あとはひたすら可能性のある点全てから同様に進んでいけばいい。
0234デフォルトの名無しさん
2005/07/09(土) 10:39:10その部分の文字&数字を読んだ後、その結果に合わせて
次のバイナリ部分を読むというプログラムを作りたいのですが、
read()でバイナリ部分の1バイト読んでreadLine()で1行読んで、と使い分けようとする場合
どうしたらいいですか?
同じファイルポインタを使ってるせいか競合を起こして
すでに読み取った文字部分をバイナリとして再び読んでずれたりします
あと、同様にデータをファイルに出力する際に
out.printで文字を出力した後、bout.writeByteでバイナリ出力しようとすると
出力したのが上書きされたりで競合起こします
同じファイルで文字、数字とバイナリを使い分けるのは
どうすればいいですか?
0235デフォルトの名無しさん
2005/07/09(土) 12:56:01【 種別 】 丸投げ すみません
【 課題 】
「今後(2005年1月1日以降)100年間は、13日が金曜日であることが(他の曜日であることよりも)多い」か
どうかを調べるJavaプログラムを書き、真偽の結論を根拠とともに示してください。
「13日の金曜日が多い」というためには、「13日の木曜日よりも金曜日となる場合の方が多い」、
そして、他の金曜日以外の曜日に関しても同じことが言えなくてはなりません。
【不明点 】 正直どこから手をつけていいやらわかりません。
【期限】3日後
0236197
2005/07/09(土) 13:56:59import java.util.*;
public class DayOfWeek {
public static void main(String[] args) {
int[] histgram = new int[7];
String[] dayOfWeekName = new String[]{
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};
Calendar cal = Calendar.getInstance();
for (int year = 2005; year < 2105; year ++) {
cal.set(Calendar.YEAR, year);
for (int month = 1; month <= 12; month ++) {
cal.set(Calendar.MONTH, month - 1);
cal.set(Calendar.DATE, 13);
++ histgram[cal.get(Calendar.DAY_OF_WEEK) - 1];
}
}
for (int i = 0; i < 7; i++) {
System.out.println(dayOfWeekName[i] + ": " + histgram[i]);
}
}
}
0237デフォルトの名無しさん
2005/07/09(土) 19:14:57四捨五入されるんだけど四捨五入する位置を指定することは
可能でしょうか?10進数の数を扱っているのですが。
0238デフォルトの名無しさん
2005/07/09(土) 19:17:50class Account{
String number;
int amount;
String secretNumber;
void setNumber(String number){
this.number=number;
}
String getNumber(){
return this.number;
}
int getAmount(){
return this.amount;
}
void setSecretNumber(String secretNumber){
this.secretNumber=secretNumber;
}
}
以上のようなクラスがテキストであったのですが
privateつけてないのにset、getってする必要はあるんですか?
0239デフォルトの名無しさん
2005/07/09(土) 19:52:55Java Beans で検索するべし。
setterとgetterを使う場合は、まぁ普通はprivateかprotectedだけどな。
0240デフォルトの名無しさん
2005/07/09(土) 21:43:19import java.math.BigDecimal;
/**
* 四捨五入デモ
* @see ttp://www.kab-studio.biz/Programing/JavaA2Z/Word/00000201.html
*/
public class ParseDoubleDemo {
public static void main(String[] args) {
String string = "32322.393000000000003902392378237283";
System.out.println( "Double.parseDouble(): " + Double.parseDouble(string) );// 桁落ち
BigDecimal bigDecimal = new BigDecimal(string);
// BigDecimalクラスのsetScale()メソッドで切り上げ、切り捨て、四捨五入を行うことができ、
// このメソッドの第1引数に「四捨五入を行う桁」
// 第2引数にBigDecimalクラスのROUND_HALF_UPフィールドを渡すことで四捨五入をすることができる。
BigDecimal newBigDecimal = bigDecimal.setScale( 1, BigDecimal.ROUND_HALF_UP );
System.out.println( "BigDecimal#setScale( 1桁): " + newBigDecimal.toString() );
BigDecimal newBigDecimal2 = bigDecimal.setScale( 15, BigDecimal.ROUND_HALF_UP );
System.out.println( "BigDecimal#setScale(15桁): " + newBigDecimal2.toString() );
}
}
> DoubleクラスのparseDoubleを使うと小数点以下5位くらいで
> 四捨五入される
の意味が分かりません。
0241230
2005/07/09(土) 22:30:54ありがとうございます。
プログラム考えてみます。
0242237
2005/07/10(日) 00:24:16となったりしてしまうのです。勝手に四捨五入されてしまうのです。
0243240
2005/07/10(日) 00:30:16俺の環境じゃDouble.parseDouble()したあとも0.1299999って出るけど(JDK1.5.0_04)。
まあどうでもいいから>240みたいにBigDecimal#setScale()使ってくれ。
0244デフォルトの名無しさん
2005/07/10(日) 00:37:02try{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String input = new String();
input = br.readLine();
isr.close();
return input;
}
catch(Exception e){
System.out.println("受け付けられない文字です。指定の文字を入力してください。" + e );
return "error";
}
}
と言うメソッドを作って、mainで例えば、
String s1 = Get.gets();
String s2 = Get.gets();
とすると、
受け付けられない文字です。指定の文字を入力してください。java.io.IOException: Str
eam closed
と、例外処理が起こってしまうのは何故でしょう?
また、どう直せばいいのでしょうか?
お願いします。
0245デフォルトの名無しさん
2005/07/10(日) 01:57:13↑どなたかよろしくお願いします。
0246デフォルトの名無しさん
2005/07/10(日) 07:06:02【 種別 】 丸投げです すみません
【 課題 】
あるテキストファイル(英文)を読み込んで、語彙の使用頻度表を作れという
課題です。大文字、小文字の区別はありません。よろしくお願いします
0247185
2005/07/10(日) 08:25:38>185は俺だけど。。
>246
>183,187
0248デフォルトの名無しさん
2005/07/10(日) 08:37:25画像を読み込んで画素値を二次元配列に入れて
再び同じ形式の別の名前で出力するというプログラムを作りたいのですが
そういう関数とかすでに用意されてますか?
0249245
2005/07/10(日) 13:26:22うわ!すいません間違えました。
218の方どうかお願いします。
0250デフォルトの名無しさん
2005/07/10(日) 16:26:32>218を読んでも具体的な仕様が見えてきません。
そのような状態で答案書いても>188-189の時の二の舞になりかねない。
仕様の確認すると、プログラムを実行したら、
(出力) 配列Aの要素(1〜50の整数)を入力してください(キー入力なしEnter押下で入力完了)
(入力) 6[Enter]
(入力) 6[Enter]
(入力) 5[Enter]
(入力) 4[Enter]
(入力) 3[Enter]
(入力) 2[Enter]
(入力) [Enter]
(出力) 配列Bの要素(1〜50の整数)を入力してください(キー入力なしEnter押下で入力完了)
(入力) 2[Enter]
(入力) 4[Enter]
(入力) 6[Enter]
(入力) 7[Enter]
(入力) 9[Enter]
(入力) [Enter]
(出力) A={2,3,4,5,6}
(出力) B={2,4,6,7,9}
(出力) A∪B={2,3,4,5,6,7,9}
(出力) A∩B={2,4,6}
ってな感じでOK?
まーでも、>188-189まで書いてもらってるんだから自分で何とかしてみた方が早いよ。
0251249
2005/07/10(日) 18:08:23レスありがとうございます。
250で書いていただいたようなプログラムでオーケーです。
A,Bに入力する数字は1〜50までの整数なら
(入力) 4[Enter]
(入力) 16[Enter]
(入力) 23[Enter]
(入力) 49[Enter]
(入力) 50[Enter]
のようにどんな数字でも入力できるような感じです。
プログラミング自体初心者なもので勉強したのですが分からなかったもので・・
どうかよろしくお願いします。
0252デフォルトの名無しさん
2005/07/10(日) 19:47:08して扱おうとしているのですがうまくいきません。
String str = "3042"; //あ
String hoge = "\u" + str;
↑
エスケープシーケンスが無効です
エラーが発生。
何か他に方法があれば教えてください。
お願いします。
0253デフォルトの名無しさん
2005/07/10(日) 20:34:30ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25386
>252
ヒント:Integer.parseInt("3042", 16); → 12354
int i = 'あ'; → iに12354が代入される。
0254デフォルトの名無しさん
2005/07/10(日) 20:46:36なるほど。
文字列をバイナリにして、
そのままファイルなどに書きこめばよかったんですね。
ありがとうございました。
0255デフォルトの名無しさん
2005/07/10(日) 21:01:47やりたいことが分からんから勝手に納得されても…。
0256251
2005/07/10(日) 21:17:32プログラム流れました。
大変助かります。
本当にありがとうございました。
0257デフォルトの名無しさん
2005/07/10(日) 21:48:50javaで、
int[] array = new int[1000000];
といった配列を作り、この中に1〜1000000の数をランダムで、重複なしに入れたいのですが
どうしたら良いですか?
お手数ですが教えてください。お願いします。
0258デフォルトの名無しさん
2005/07/10(日) 22:09:19具体的には
(タイマースタート)
(for文、while文など)
(タイマー停止)
(かかった時間表示)
みたいにしたいんですが・・・
0259デフォルトの名無しさん
2005/07/10(日) 22:21:04import java.util.GregorianCalendar;
(途中略)
GregorianCalendar gc1,gc2;
gc1 = new GregorianCalendar();
// ----- ここに処理を記述する ----- //
gc2 = new GregorianCalendar();
System.out.println(gc2.getTimeInMillis() - gc1.getTimeInMillis() + "ミリ秒かかりました...");
0261デフォルトの名無しさん
2005/07/10(日) 22:38:02System.currentTimeMillisの方がよくないか?
使える環境だったらSystem.nanoTime()で。
0262デフォルトの名無しさん
2005/07/10(日) 22:44:06import java.util.*;
public class UniqArraySample {
public static void main(String[] args) {
int[] array = new int[1000000];
// 最初は順番に入れちゃう
for (int i = 0; i < 1000000; i++) {
array[i] = i + 1;
}
// かき混ぜる
Random random = new Random();
for (int i = 0; i < 1000000; i++) {
int pos1 = random.nextInt(1000000) % 1000000;
int pos2 = random.nextInt(1000000) % 1000000;
int tmp = array[pos2];
array[pos2] = array[pos1];
array[pos1] = tmp;
}
}
}
0263デフォルトの名無しさん
2005/07/10(日) 23:39:51入力する行数に制限を与えず、ファイルの末尾はピリオド(.)だけの行が入力されることによって判定する。
こういうプログラムを作りたいのですが、ピリオドが入力されたらプログラムを終了する
というところができません。
String str;
while((str=br.readLine())!=".")
{
pw.println(str);
}
pw.close();
これでできるかと思ったのですが、できませんでした。
解決法をよろしくお願いします。
0264デフォルトの名無しさん
2005/07/10(日) 23:42:03例えば右クリックしたらランダムでそれが描写されるっていうプログラムを書きたいんですが
どうすればいいんでしょうか?
0265デフォルトの名無しさん
2005/07/10(日) 23:51:43メーラーでも作るのかな?
!=じゃなくてequals(".")
0266263
2005/07/10(日) 23:54:08compareToメソッドを使ったら解決しました。
0267257
2005/07/10(日) 23:55:07>>262
なるほど、順番に入れてからバラバラにすれば良いのですね。
しかし自分ひとりではバラバラにするアルゴリズムも思いつきませんでした。
ありがとうございました。
0268デフォルトの名無しさん
2005/07/10(日) 23:56:26言ってる意味がよくわからんが
javaは左クリック、右クリックの区別をしないから無理
0269デフォルトの名無しさん
2005/07/11(月) 00:14:16をいをい
java.awt.event.MouseEvent#getButton()
0270デフォルトの名無しさん
2005/07/11(月) 00:26:57Swingで作るのか?
0271264
2005/07/11(月) 00:51:320272ppp
2005/07/11(月) 01:36:48変更するプログラムをお願いします。
0273デフォルトの名無しさん
2005/07/11(月) 01:42:32かな
0274デフォルトの名無しさん
2005/07/11(月) 02:10:08import java.io.*;
public class Rename {
public static void main(String[] args) {
File src = new File(args[0]);
File dest = new File(args[1]);
src.renameTo(dest);
}
}
0275デフォルトの名無しさん
2005/07/11(月) 13:15:15↑どなたかよろしくお願いします。
0276デフォルトの名無しさん
2005/07/11(月) 13:55:36double x= 3.45;
double w = x/2;
char ch = 'a'+'b';
if(x=y){
double z=x++;
else
int z = y++;
}
System.out.println(z+"***" + sqrt(z));
}
エラー探しの宿題が出たのですが、このif文と最後のsystem.out.println
はどのようになっているべきですか? お願いします。
0277デフォルトの名無しさん
2005/07/11(月) 14:00:27・変数yが定義されていない
・if文の中はx==y
・zはif文の中で定義されてるので、外のSystem.out.println文のところでは参照できない
・変数chが意味無い
0278デフォルトの名無しさん
2005/07/11(月) 14:07:05ありがとう。
0279デフォルトの名無しさん
2005/07/11(月) 14:12:200280246
2005/07/11(月) 14:19:200281デフォルトの名無しさん
2005/07/11(月) 14:32:100282デフォルトの名無しさん
2005/07/11(月) 14:43:54【課題】
私たちの体内には「体内時計」とか「生物時計」などと呼ばれる一定の周期をもつリズムがあるらしい。
その中の身体・感情・知性の状態をグラフにあらわしたチャートをバイオリズムと呼んでいる。
バイオリズムがどのくらい信頼できるものかはわからないが、バイオリズムを表示するプログラムを作成
しなさい。
周期は身体23日、感情28日、知性33日。
ここで使うのは三角関数sin。角度が0の時、値は0で、90度の時値は1、180度で0に戻り、270度で−1、
一周して360度でまた0と変化する。
身体ならば、生まれてから現在までの日数を23で割った余りを調べ、360度の23分の割った余りを計算すれば、
現在の値が得られる。つまり、23で360度を一周すればよいのだから、3日目なら360度の23分の3の時の
sin関数の値を計算すれば、値が得られる。23/23になると0に戻る。
360度はラジアンで2πと表すようになっている。
sin(2π×誕生日から調べる日までの日数%23/23)
とすれば、その日の値が求まる。sinの値は−1から1の実数になるので、これにかけ算をして利用すればいい。例えば、
グラフの縦軸が400ドットならば、sinの値を200倍する(−200〜200)。
値が正なら好調、負なら不調。ゼロならば好不調の変わり目の要注意日らしい。
下記メソッドを自作して利用しなさい。
�@西暦1年1月1日からの日数を計算するメソッド
public int calDaysAD(int year, int month, int day)
�A月の日数を返すメソッド
public int DaysOfMonth(int year, int month)
�Bうるう年チェックメソッド
public boolean LeapCheck(int year)
�Cバイオリズムの値を計算するメソッド
public double[][] calBiorhythm(int birthYear,int birthMonth,int birthDay,int noeYear,int nowMonth,int nowDay,int days)
以上です。
正直何が何やら。
よろしくお願いします。期限は1ヶ月です。
0283>>246 1/2
2005/07/11(月) 14:55:40import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Iterator;
import java.util.TreeMap;
public class WordCounter {
public static void main(String[] args) {
WordCounter self = new WordCounter();
if ( args.length < 1 ) {
System.out.println( "java WordCounter [filename]" );
return;
}
try {
self.execute( args[0] );
} catch (Exception e) {
e.printStackTrace();
}
}
public void execute( String file_name ) throws Exception {
File file = new File( file_name );
if ( !file.exists() ) {
System.out.println( "ファイル「"+ file_name +"」が存在しません。" );
return;
} else if ( !file.isFile() ) {
System.out.println( "「"+ file_name +"」はファイルではありません。" );
return;
}
TreeMap map = new TreeMap();
BufferedReader reader = new BufferedReader( new FileReader( file_name ) );
String line = null;
while ( ( line = reader.readLine() ) != null ) {
0284>>246 2/2
2005/07/11(月) 14:55:53for ( int i = 0; i < words.length; i++ ) {
String key = words[i].toLowerCase();
if ( key.length() == 0 ) {
continue;
}
Counter counter = (Counter)map.get( key );
if ( counter == null ) {
counter = new Counter();
map.put( key, counter );
}
counter.count();
}
}
for ( Iterator ite = map.keySet().iterator(); ite.hasNext(); ) {
String key = (String)ite.next();
Counter counter = (Counter)map.get( key );
System.out.println( key + ":" + counter.getCount() );
}
}
private class Counter {
int count = 0;
public int getCount() {
return count;
}
public void count() {
count++;
}
}
}
0285デフォルトの名無しさん
2005/07/11(月) 14:56:18しょぼいから、自分で手を入れて直してくれ
0286デフォルトの名無しさん
2005/07/11(月) 15:09:32ありがとうございました
0287デフォルトの名無しさん
2005/07/11(月) 17:15:02if (minN>MaxN){
throw new IllegalArgumentException(
"In readInt,minN" + minN + " not <= maxN" + maxN);}
boolean inRange = false;
int n = 0;
while(!inRAnge){
try{
String line = JOptionPane.showInputDialog(
prompt + "\n Enter an integer between" + minN = " and " + maxN);
n = Intege.parseInt(line);
inRange = (minN <= n && n <= maxN);
} catch (NumberFormatException ex){
JOptionPane.showMessageDialog( null, "Try again");
}} return n }
上のプログラムでホワイトボックステストとブラックボックステストをしろ
という問題がです。 マル投げです。
0288デフォルトの名無しさん
2005/07/11(月) 17:25:10・成果物(提出物)の形式が分からん。
・readInt なるメソッドの期待する結果(仕様)が分からんとブラックボックステストが出来ん。
ので答えられんと思う。
0289デフォルトの名無しさん
2005/07/11(月) 19:55:06と言う課題が出たのでが、どなたか御享受願えませんでしょうか。
よろしくお願いいたします。
0290デフォルトの名無しさん
2005/07/11(月) 19:59:35依頼は>>10のテンプレつかってお願いします。
0291デフォルトの名無しさん
2005/07/11(月) 21:17:51使うなら最新版の>162で。
0292デフォルトの名無しさん
2005/07/11(月) 21:18:33ただ、うまくコンパイルすることができませんでした…。すみませんでした…。
これは別の課題なのですがどなたかよろしくお願いします。
【 種別 】 丸投げです すいません
【 課題 】
今後100年間(2005年1月1日から2104年12月31日まで)のために、1年間カレンダー(1枚に12ヶ月のカレンダーを印刷したもの)を
印刷しようと考えました。年号を印刷しなければ、ある年のカレンダーは他の年のカレンダーと全く同じになるため、
100枚のカレンダーを印刷しなくても良い以上、最低何枚のカレンダーを印刷すればよいでしょうか?
また、それぞれのカレンダーを合計何年間使用することになるでしょうか?
Javaプログラムを書き、結論を根拠とともに示してください。
【備考】 Zellerの公式を使え、といわれたのですが…。
0293Mb
2005/07/11(月) 21:57:53それって二十年くらい昔の日立の新人研修で出た記憶がある。
春分の日を考慮しなければ(西洋だったらイースターを
考慮しなければ)、曜日のパターンが七通りに閏年のあるなしで
二通り、単純計算だと14枚用意すれば足りる。
2000年(四百で割れる)を過ぎてしまったので、
2100年(百で割れる)より前とそれより後では
二十八年周期で同じカレンダーが使える。
とりあえず二十八年分のカレンダーを生成することを
考えれ。
なお、前の年の大晦日を一月ゼロ日として計算すると、
計算が楽。
0294デフォルトの名無しさん
2005/07/11(月) 23:12:36import java.util.ArrayList;
public class Q292 {
private static final String[] WEEK_STR = {"日", "月", "火", "水", "木", "金", "土"};
public static int zeller(int year, int month, int day) {
if (month == 1 || month == 2) { month += 12; year--; }
return (year + year/4 - year/100 + year/400 + (13*month+8)/5 + day) % 7;
}
public static void main(String[] args) {
ArrayList[][] use = new ArrayList[7][7];
for (int dayOfNewYearsDay = 0; dayOfNewYearsDay < 7; dayOfNewYearsDay++)
for (int dayOfNewYearsEve = 0; dayOfNewYearsEve < 7; dayOfNewYearsEve++)
use[dayOfNewYearsDay][dayOfNewYearsEve] = new ArrayList();
for (int year = 2005; year <= 2104; year++)
use[zeller(year, 1, 1)][zeller(year, 12, 31)].add(new Integer(year));
int total = 0;
for (int dayOfNewYearsDay = 0; dayOfNewYearsDay < 7; dayOfNewYearsDay++) {
for (int dayOfNewYearsEve = 0; dayOfNewYearsEve < 7; dayOfNewYearsEve++) {
ArrayList al = use[dayOfNewYearsDay][dayOfNewYearsEve];
if (!al.isEmpty()) {
System.out.println("1月1日の曜日: "+WEEK_STR[dayOfNewYearsDay]+"曜日");
System.out.println("12月31日の曜日: "+WEEK_STR[dayOfNewYearsEve]+"曜日");
System.out.print("使用年数: "+al.size()+"年 ( ");
for(int i=0; i<al.size(); i++) System.out.print(al.get(i)+" ");
System.out.println(")\n");
total++;
}
}
}
System.out.println("合計: "+total+"枚必要");
}
}
0295デフォルトの名無しさん
2005/07/11(月) 23:55:15【 課題 】
情報源から出力されるアルファベットとして
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f}
の16 文字を考え,符号語は{0, 1} の系列を考えるものとする.情報源からの出力系列を与えると,各文字の出力確率を計算する.
file 名は“prob. 拡張子” とすること.各文字の出力確率を与えると,符号語を生成する.符号化方法としては,
Fano 符号,Shannon-Fano 符号,Shannon-Fano-Elias 符号,Huffman符号のいずれを用いても良い.
file 名は“codeword *. 拡張子” とすること.なお“*” には符号化法を示すためf, sf, sfe, h のいずれかを用いること.
符号語と情報源からの出力系列を与えると,符号化された系列を出力する.
file 名は“encode. 拡張子” とすること.符号語と符号化された系列を与えると,力系列に復号する.
file 名は“decode. 拡張子” とすること.
プログラムの使い方の説明の例UNIX のcommand line 上での使用を考えた場合,
次のような一連の操作によって,符号語の生成および符号化/復号化が行うことができる.
> prob data.txt prob.tbl
> codeword prob.tbl code.tbl
> encode code.tbl data.txt encode.txt
> decode code.tbl encode.txt decode.txt
ただし,各ファイルは以下のようなものである.
(ここでは簡単のためアルファベットが{0, 1, 2, 3} の4 文字の場合の例を記述する)
data.txt 出力系列のファイルで,
1023112201010230.....
のような文字列が入っている.
prob.tbl 出力確率のファイルで,各出力文字の出現確率がアルファベットの順に{0.55,0.25,0.15,0.05}のように行毎に記述されている.
code.tbl 符号語のファイルで,各出力文字に対する符号語がアルファベットの順に{0,10,110,111}のように行毎に記述されている.
encode.txt 符号化された系列のファイルで,{10011011110101101100...}のような符号語の系列が入っている.
decode.txt 復号化された系列のファイルで,{102311220.....}のような文字列が入っている.
【期限】 7月15日23時59分
どうかよろしくお願いします。
0296デフォルトの名無しさん
2005/07/12(火) 10:11:04【 課題 】
放物線:y=-x*x-2*xのグラフがある。
この放物線とx軸とで囲まれた図形の面積を計算するプログラムを作れ。
(1)オイラーの台形公式を使え。
(2)区分を4等分、8等分、12等分、16等分、20等分、24等分、28等分、32等分、36等分した場合の
面積を、tableにして出力せよ。
(3)自分で作る関数を必ず使え
<ヒント>
・区間は[0,2]である。
・36等分のときの面積は、1,33・・・である。
・正解は4/3であるが。
0297296
2005/07/12(火) 10:19:09お願いします。
0298デフォルトの名無しさん
2005/07/12(火) 10:27:090299デフォルトの名無しさん
2005/07/12(火) 10:37:02あのね。JavaとJavaスプリクトはまったく別のものって分かってるの?
0300デフォルトの名無しさん
2005/07/12(火) 11:18:210301デフォルトの名無しさん
2005/07/12(火) 11:20:32Servletでは受け取った点数をHTMLに整形して出力するんだ。
0302デフォルトの名無しさん
2005/07/12(火) 16:25:42申し訳ないです。Javaスクリプトスレに行ってきます。
0303デフォルトの名無しさん
2005/07/12(火) 18:59:38DP(ダイナミックプログラム)マッチングの
プログラム
きぼん!
0304デフォルトの名無しさん
2005/07/12(火) 20:55:38すまんが問題を100回読んでも理解できんかった。
それから、
> prob data.txt prob.tbl
> codeword prob.tbl code.tbl
> encode code.tbl data.txt encode.txt
> decode code.tbl encode.txt decode.txt
って明らかにJavaの実行方法じゃないよね??
0305デフォルトの名無しさん
2005/07/12(火) 21:13:46Javaというか、使用する言語は何でも良い、という課題なんですが・・・
0306デフォルトの名無しさん
2005/07/12(火) 23:13:20【 種別 】 質問です
【 課題 】
JSP、サーブレット、JavaBeansでWebアプリケーションを開発しています。
環境はJビルダー2005です。
プロジェクトファイルをビルドすると最終的に
同じ名前のClassファイルがプロジェクト内に2個出来上がります。
フォルダは別々です。
このClassファイルが2個ある「理由」をぜひ教えてほしいです。
変な宿題ですんません
【 期限 】 明日です。
0307ikaikaikajika
2005/07/13(水) 00:45:12できれば GUI 画面に 8小節分の5線譜をかいて その上にマウスで4分音符と
8分音符と4分休符、8分休符をおいていき、PLAYボタンを押すと 自動演奏するような
プログラムはできないでしょうか? わかる人がいれば教えてください。
0308デフォルトの名無しさん
2005/07/13(水) 01:19:24∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ (⌒)(⌒)
( ・∀・) ( ・∀・) ( ・∀・) ( ・∀) (∀・ ) 彡│ || |
⊂ ⊂ ) ( U つ ⊂__へ つ ( ○ つ ⊂ ○ ) (∧_∧⊃
< < < ) ) ) (_)| \\ \ / // ( ・∀・)
(_(_) (__)_) 彡(__) (_(__) (_(_) ∪
0309デフォルトの名無しさん
2005/07/13(水) 09:42:40できるかできないかでいいんなら、できる
0310デフォルトの名無しさん
2005/07/13(水) 11:58:31どう書けばイイかはイメージできるが、激しく面倒くさそうだ。
特に五線譜と、音符の描画、小節の判定、半音(シャープ・フラット)の処理とか。
音を出すために、音素をauフォーマットとかで用意しておくとしても、再生も面倒だな〜。
0311デフォルトの名無しさん
2005/07/13(水) 12:35:500312>>230(1/5)
2005/07/13(水) 12:54:49>>233見てやってみた
class GridPoint {
private int x;
private int y;
GridPoint(int x, int y){
this.x = x ;
this.y = y ;
}
public int getPointX(){
return this.x;
}
public int getPointY(){
return this.y;
}
}
class GridElement {
private int distance = Integer.MAX_VALUE;
private boolean linked = false;
private boolean visited = false;
private GridPoint previous = null;
GridElement (int distance){
this.distance = distance;
}
public void cutLink(){
this.linked = true;
}
public boolean isVisited(){
return visited;
0313>>230(2/5)
2005/07/13(水) 12:55:24public int getDistance(){
return distance;
}
public GridPoint getPrevious(){
return previous;
}
public boolean isLink(){
return linked;
}
public void updateDistance(int x, int y,int distance){
if (!visited){
this.distance += distance;
visited = true;
this.previous = new GridPoint(x,y);
}
}
}
public class Q230ShortestPath{
private void output(
GridElement[][] matrix,
GridPoint start,
GridPoint end) {
GridPoint next = null;
int x = end.getPointX();
int y = end.getPointY();
int end_x = start.getPointX();
int end_y = start.getPointY();
System.out.print("最小累積経路数:");
System.out.println(
matrix[end.getPointX()][end.getPointY()].getDistance());
System.out.print("最短経路:");
0314>>230(3/5)
2005/07/13(水) 12:56:03while (x != end_x || y != end_y){
next = matrix[x][y].getPrevious();
x = next.getPointX();
y = next.getPointY();
System.out.print("("+(x+1)+","+(y+1)+")");
}
}
private GridElement[][] search(
GridElement[][] matrix,
GridPoint start,
GridPoint end) {
int distance = 0;
int min_distance;
int x = start.getPointX();
int y = start.getPointY();
int end_x = end.getPointX();
int end_y = end.getPointY();
matrix[x][y].updateDistance(x, y, 0);
while (!matrix[end_x][end_y].isVisited()) {
min_distance = Integer.MAX_VALUE;
distance = matrix[x][y].getDistance();
matrix[x][y].cutLink();
//距離の更新
if (x < end_x) {
matrix[x + 1][y].updateDistance(x, y, distance);
}
if (x < end_x && y < end_y) {
matrix[x + 1][y + 1].updateDistance(x, y, distance);
}
0315>>230(4/5)
2005/07/13(水) 12:56:42matrix[x][y + 1].updateDistance(x, y, distance);
}
//最小距離を探す
for (int i = start.getPointX(); i <= end_x; i++) {
for (int j = start.getPointY(); j <= end_y; j++) {
if (matrix[i][j].isVisited()
&& !matrix[i][j].isLink()
&& matrix[i][j].getDistance() < min_distance) {
min_distance = matrix[i][j].getDistance();
//次の座標
x = i;
y = j;
}
}
}
}
return matrix;
}
public static void main(String[] args){
int[][] grid = {
{1,1,2,3},
{2,2,1,1},
{1,2,2,2},
{3,2,1,1},
};
Q230ShortestPath sp = new Q230ShortestPath();
GridPoint start = new GridPoint(1-1,1-1);
GridPoint end = new GridPoint(4-1,4-1);
int max_x = grid.length;
int max_y = grid[max_x - 1].length ;
0316>>230(5/5)
2005/07/13(水) 12:57:14//条件がまだ怪しい
if (start.getPointX() < end.getPointX()
&& start.getPointY() < end.getPointY()
&& start.getPointX() >= 0
&& start.getPointY() >= 0
&& end.getPointX() < max_x
&& end.getPointY() < max_y) {
//初期化
for (int x = start.getPointX(); x < max_x; x++) {
for (int y = start.getPointY(); y < max_y; y++) {
matrix[x][y] = new GridElement(grid[x][y]);
}
}
sp.search(matrix, start, end);
sp.output(matrix, start, end);
}else{
System.out.println("指定された座標が正しくありません");
}
}
}
0317デフォルトの名無しさん
2005/07/13(水) 19:15:37>>293 >>294様 ありがとうございました。
大変助かりました。
0318デフォルトの名無しさん
2005/07/13(水) 23:31:52種別:丸投げ
問題:複数の乱数を発生させて
出てきた乱数を比較して同じ数字があるか判断するには
どのようなかたちのコードがありますか?
備考:自分ではJAVAの本からよくわかっていないコードを引き剥がして組み合わせて
以下のようにして乱数を出すところまでしかできません・・・。
public class nyanko
{
public static void main(String[] args) {
int kari[];
kari = new int[20];
for(int i=1;i<=kari.length;i++)
{
double ransuu1;
ransuu1 = Math.random();
System.out.println(i + "番目の数字は" + ransuu1);
}
}
}
0319デフォルトの名無しさん
2005/07/13(水) 23:38:32期限はすぎてしまいましたが、今後の勉強の
参考にもしたいので、よろしくお願いします。
形だけでもいいので。
0320デフォルトの名無しさん
2005/07/14(木) 00:33:41・乱数として欲しいのは整数か実数か
・同じ数字があるかないかの判断だけでよいのか
・発生させる乱数の個数は引数で渡すのかプログラム内に決め打ちなのか
などによって回答は変わると思う。
0321320
2005/07/14(木) 01:03:30とりあえず0〜100のintを20個生成して同じ数字があるかないかだけ判断するものはこんな感じか?
public class Main {
public static void main(String[] args) {
int numRandom = 20;
int randomNumbers[] = new int[numRandom];
for (int i=0 ; i < numRandom ; ++i) {
randomNumbers[i] = (int)(101*Math.random());
System.out.println(randomNumbers[i]);
}
boolean exists=false;
outerloop:
for (int i=0 ; i < numRandom-1 ; ++i) {
for (int j=i+1 ; j < numRandom ; ++j) {
if (randomNumbers[i]==randomNumbers[j]) {
exists=true;
break outerloop;
}
}
}
if (exists) {
System.out.println("同じ数字がある");
} else {
System.out.println("同じ数字はない");
}
}
}
0322デフォルトの名無しさん
2005/07/14(木) 04:36:37大きさ100の配列でチェックリストを作ってガイシュツの数字かチェック。
0323デフォルトの名無しさん
2005/07/14(木) 10:50:530325デフォルトの名無しさん
2005/07/14(木) 15:33:50問題1
x=0°から 360°まで 10°きざみで y = sin(x) とを計算し、x と y の値を以下のように
ファイル(test.dat)へ保存せよ。
プログラムにより作成された test.dat の内容:
0 0.0
10 0.17364817766693033
20 0.3420201433256687
30 0.49999999999999994
40 0.6427876096865393
50 0.766044443118978
60 0.8660254037844386
... ...
0326デフォルトの名無しさん
2005/07/14(木) 16:13:37Indicate where in the hirachy you want to add data fields for the following
and the kind of data field you would add.
・Cost
・The battery identification
・Time before battery discharges
・Number of expansion slots
・Wireless Internet available
0327デフォルトの名無しさん
2005/07/14(木) 16:55:09Javaの宿題なのか?
0328デフォルトの名無しさん
2005/07/14(木) 17:40:090329デフォルトの名無しさん
2005/07/14(木) 17:49:56180度と360度できっちり0にならんがそれは自分で何とかしてくれ
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
public class sintest {
public static void main(String[] argv){
try {
BufferedOutputStream bo=new BufferedOutputStream(new FileOutputStream("test.dat"));
String s="";
for(int i=0;i<=360;i+=10){
s=String.valueOf(i)+" "+String.valueOf(Math.sin(Math.PI*(double)i/180.0))+"\n";
bo.write(s.getBytes());
}
bo.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
0330デフォルトの名無しさん
2005/07/14(木) 18:15:22だから、クラス階層を示せってんだよ。
おそらく、PCやノートPCあたりなんだろうが。
0331230
2005/07/14(木) 20:12:58ありがとうございました。
0332デフォルトの名無しさん
2005/07/14(木) 20:39:19問題:データベース(mysql)とswingをつかって、
swing上で操作しデータベースのデータの削除をしたいのですが、
ComboBoxで選択した、データベースのデータを削除したいのですが、
どうしたらよいでしょうか??コンパイルして実行してもエラーで
ません。根本的なやりかた自体間違っているのでしょうか?
private JPanel createPanel2(){
JPanel p2 = new JPanel(); p2.add(ComboBox);
try{Connection con = connect();
Statement stmt = con.createStatement();
String sql ="select name from shop";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){String name = rs.getString("name");
ComboBox.addItem(name);}con.close();} catch(Exception ex) {
System.out.println(ex);}return p2;}
public void actionPerformed(ActionEvent e){
try{Connection con = connect();
Statement stmt = con.createStatement();
String sql ="delete * from shop
where name ='" + ComboBox.getSelectedItem() + "'";
ResultSet rs = stmt.executeQuery(sql);
int id = rs.getInt("id");
String name = rs.getString("name");
DefaultListModel listModel2 = new DefaultListModel();
while(rs.next()){listModel2.addElement(rs.getString("name"));
}
JList list2 = new JList(listModel2);
JScrollPane scrollPane3 = new JScrollPane();
〜〜〜〜
con.close();
0333デフォルトの名無しさん
2005/07/14(木) 21:34:45「バイオリズムの値を計算するメソッド」の戻り値の詳細を教えてください。
具体的に何を返せばいいですか。
0334デフォルトの名無しさん
2005/07/14(木) 23:00:35fuck you
0335デフォルトの名無しさん
2005/07/14(木) 23:30:11【 種別 】 丸投げ
【 課題 】
1.乱数を発生させる。
2.それらを表示
3.それらを合計して「合計は〜」と表示する
4.それらを比較し、同じ数字を「〜〜〜これらが同じ数字です」と表示する
5.それらの中で「一番大きいのは〜〜〜です」と表示する
【備考】HelloWorldの表示から基本的な計算くらいまでしかできません
0336335
2005/07/14(木) 23:38:49○1.乱数を発生させて配列に格納する。
0337デフォルトの名無しさん
2005/07/14(木) 23:40:21math.function=JOptionPane("Generate random Numbers");
You are very welcome!
0338デフォルトの名無しさん
2005/07/14(木) 23:44:12【 課題 】
デジタル時計を作りアラームの機能(ビープ音)をつけること
ラジオボタンかチェックボタンで○○時間後など
を指定し指定時間が経過するとアラームがなるように
する。その他、デジタル時計もシンプルな表示でも
いいがなるべく、かっこいい時計を作れ。
以上が出された課題です
【備考】アプレットではなくswingとawtを使うことだそうです。。。
0339デフォルトの名無しさん
2005/07/15(金) 00:12:54【 種別 】 丸投げ
【 課題 】 プロキシ経由でIPアドレス先に接続する
【不明点 】 普通のURL入力などはともかくここまでくるとお手上げです
0340デフォルトの名無しさん
2005/07/15(金) 00:23:50宿題なのか?
とりあえず、プロキシサーバってのがどんなリクエストに対しどんなデータを返すかを調べてみろ。
案外簡単だぞ。
0341デフォルトの名無しさん
2005/07/15(金) 01:04:481.5以降ならjava.net.Proxyを使えばいいんじゃない?
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/net/Proxy.html
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/net/URL.html#openConnection(java.net.Proxy)
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/net/Socket.html#Socket(java.net.Proxy)
0342デフォルトの名無しさん
2005/07/15(金) 01:13:11助けて下さい泣
【Java 歴】 3ヶ月
【 種別 】 丸投げ
【 課題 】 BrackJackゲームを設計せよ
【 期限 】 7/19まで
・プレーヤーは親と子の2名
・カードの数字を合計して、大きい方が勝ち
・Playでゲーム開始、Exitでゲーム終了
・最初は2枚からスタート
・Hit(カードを貰う)とStand(カードを貰わない)でカードを集める
・親のカードは子がStandするまで見えない
・子の行動の直後に親も行動する
・親は自動的に進行する
・21を越えるまでカードを追加していくことができる
・カードの数字は、2〜10はそのまま点として数えるが、絵札は10点として計算する
・エース(A)は1点または11点のどちらに数える
・合計数値は21点が最高で、22点以上になってしまうとその時点で負け
・最初の2枚が(A)と(絵札)でBJになれば相手が3枚以上で 21点を作ったとしても勝ち
・所持金は両者とも100で、1ゲームにつき負けた方が勝ったほうに10点与える
・子がBJで勝った場合には15点が支払われる
・親がBJで勝っても10点没収されるだけで、追加徴収はない。
・どちらかの所持金が0点になればゲーム終了
・出力はGUIを使って実現する
いちおう一部途中まで?のプログラムがありますのでアップします
たぶん違うところが多いと思いますので、改変してください
ご指導お願いします
http://uppp.dip.jp/src/uppp5527.zip
0343デフォルトの名無しさん
2005/07/15(金) 01:21:26【 種別 】 丸投げ
【 課題 】 ArrayListを使ってランダムに数字を出力し大きな順番に並べる
【不明点 】 ArrayListを使おうとあれこれ調べますが取得メソッドだとかと出てきてわからなくなります
【 用語 】 って何ですか?
【 期限 】 今週末
【 備考 】 ないです
0344デフォルトの名無しさん
2005/07/15(金) 02:41:18public arraylist[] blackjack( String parent, String child){
yes!
baby:
}
0345デフォルトの名無しさん
2005/07/15(金) 03:08:13【 種別 】投げ
【 課題 】nkfコマンドを作る(文字コード変換ツール)、また、第一引数で読み取るパスを指定、第二で書き込み先
第二がないときは第一に上書き
【 不明点 】プラットフォーム依存のエンコードを出力したい
【 期限 】今朝には・・・
0346デフォルトの名無しさん
2005/07/15(金) 07:33:46private String name;
private double hoursWorked;
private double hourlyRate;
private int numDepends;
public HourlyEmployee(){
name = "no name";
hoursWorked = 0.0;
hourlyRate = 0.0;
numDepends = 0; }
public HourlyEmployee(String n, double w, double r, int d) {
name = n;
hoursWorked = w;
hourlyRate = r;
numDepends = d;}
public double calcWeeklyPay(){
return hoursWorked * hourlyRate;}
public double calcDeductions(){
if(numDepends <= 3){
return 0.1 * calcWeeklyPay();}
if(numDepends > 1) {
return .2 * calcWeeklyPay();}
if(numDepends == 1)
return 0.25 * calcWeeklyPay();
else
return 0.0;}
0347デフォルトの名無しさん
2005/07/15(金) 07:35:34return calcWeeklyPay() - calcDeductions();}
public void sethoursWorked(double w){
hoursWorked = w;}
public double gethoursworked(){
return hoursWorked;}
public void sethourlyRate(double r){
hourlyRate = r;}
public double gethourlyRate(){
return hourlyRate;}
public void setname(String n){
name = n;}
public String getname(){
return name;}
public void setnumdepends(int d){
numDepends = d;}
public int getdependents(){
return numDepends;}
public String toString(){
return "name is " + name + " Number of Dependets is " + numDepends;}
}
これのメインクラス(単純にStringを呼ぶ)を書きたいんですが、どなたか
書いてもらえませんか?
0348デフォルトの名無しさん
2005/07/15(金) 08:15:01,:r'^ `ヽ
/:: :::\
./::: ,,,-;;;;;;...,.....,...;;-;;;;...,.::::::i ヽ人人人/
i;;/'|i<_O_ヽ二( <O`゙iヽ;::::! ノ ジ ゝ
l;′ヽ二/⌒ミ、二ニノ ヽ::l ヽ | (
_,,l; / ^` ^´ヾ、 :::l、 丿 ン (_
i │ / ,r――-、 i i" )  ̄ヽ ギ (_
ゝ .l l i.j" ̄ ̄`jl l l゙ ;/ ) | (
`'''; l |.l-='''''=‐/ ,r''''" 丿 ス ゝ
ヽ ヽ,`'-―-" / ,/l ヽ カ (
ヽ ゝ  ̄ / .| ) | (
,r| ヽ、ヽ::,,;;::: ゙,/ l,, 丿 ン (
0349デフォルトの名無しさん
2005/07/15(金) 09:08:45import java.util.*;
public class RandomNumber {
public static void main(String[] args) {
int[] randomNumbers = new int[10];
ArrayList sameNumbers = new ArrayList();
Random rand = new Random();
for (int i = 0; i < 10; i ++) {
randomNumbers[i] = rand.nextInt() % 10;
System.out.print(randomNumbers[i] + " ");
}
System.out.println();
int max = Integer.MIN_VALUE;
for (int i = 0; i < 10; i ++) {
if (max < randomNumbers[i]) { max = randomNumbers[i]; }
for (int j = i + 1; j < 10; j ++) {
if (randomNumbers[i] == randomNumbers[j] &&
sameNumbers.contains(new Integer(randomNumbers[i])) == false) {
sameNumbers.add(new Integer(randomNumbers[i]));
}
}
}
if (sameNumbers.size() != 0) {
for (int i = 0; i < sameNumbers.size(); i++) {
System.out.print(sameNumbers.get(i) + " ");
}
System.out.println(" が同じ数字です");
}
System.out.println("最大値は " + max + " です");
}
}
0350デフォルトの名無しさん
2005/07/15(金) 09:16:25import java.util.*;
public class RandomNumber {
public static void main(String[] args) {
ArrayList randNums = new ArrayList();
Random rand = new Random();
for (int i = 0; i < 10; i ++) {
randNums.add(new Integer(rand.nextInt() % 10));
}
Collections.sort(randNums);
Iterator iter = randNums.iterator();
while (iter.hasNext()) {
System.out.println(iter.next());
}
}
}
0351デフォルトの名無しさん
2005/07/15(金) 09:39:09import java.io.*;
public class Nkf {
public static void main(String[] args) {
String outFileName;
int c;
if (args.length == 2) {
outFileName = args[1];
} else {
outFileName = args[0] + Math.random();
}
try {
InputStreamReader reader = new InputStreamReader(new FileInputStream(args[0]), "JISAutoDetect");
FileWriter writer = new FileWriter(outFileName);
while ((c = reader.read()) != -1) {
writer.write(c);
}
reader.close();
writer.close();
if (args.length < 2) {
(new File(args[0])).delete();
(new File(outFileName)).renameTo(new File(args[0]));
}
} catch (IOException e) { e.printStackTrace(); }
}
}
0352デフォルトの名無しさん
2005/07/15(金) 11:46:49【 種類 】 丸投げ
【 期限 】 明日
【 課題 】 1.vector objectを作る.
2.文章を読み込む(JOptionPaneを使う).
3. 単語の間のスペースを除いて、単語と単語をくっつける。
4.全ての文字を小文字にする
5.一つ一つの文字の数をLetterCount objectでカウントする
6.LetterCount object をdataにアルファベット順に加える
7. 文章を付加する。文字とstatisticsをexternalファイルの"letters.txt"に付加する・
例)1. The fat cat sat on the mat.
2. Thefatcatsatonthemat
3. thefatcatsatonthemat
6. The fat cat sat on the mat.
letter freq
t 6
a 4
e 2
こんな感じなんですが、よろしくお願いします。
0353352
2005/07/15(金) 11:50:08いません。お願いします。
import javax.swing.JOptionPane;
import java.util.*;
public class TestLetterCount {
public static void main(String[] args) {
Vector data = new Vector();
String ltrStr = JOptionPane.showInputDialog("Enter sentence");
JOptionPane.showMessageDialog(null, ltrStr.toLowerCase());
}
}
0354デフォルトの名無しさん
2005/07/15(金) 12:16:31リズムがあるらしい。その中の身体・感情・知性の状態をグラフにあらわしたチャートを
バイオリズムと読んでいる。バイオリズムがどのくらい信頼できるものかはわからないが、
ここまでのまとめ課題としてバイオリズムを表示するプログラムを作成しなさい。
周期は身体23日、感情28日、知性33日。ここで使うのは三角関数sin。
角度が0の時、値は0で、90度の時値は1、180度で0に戻り、270度でー1、一周して360度でまた0と変化する。
身体ならば、生まれてから現在までの日数を23で割った余りを調べ、
360度の23分の割った余りを計算すれば、現在の値が得られる。つまり、23で360度を
一周すればよいのだから、3日目なら360度の23分の3の時のsin関数の値を計算すれば、
値が得られる。23/23になると0に戻る。360度はラジアン2πと表すようになっている。
sin(2π*誕生日から調べる日までの日数%23/23)
とすれば、その日の値が求まる。sinの値は−1から1の実数になるので、これに掛け算をして利用すればいい。
例えば。グラフの縦軸が400ドットならば、sinの値を200倍する(−200〜200)。
値が正なら好調、負なら不調。ゼロならば好不調の変わり目の要注意日らしい。
下記メソッドを自作して利用しなさい。
�@西暦1年1月1日からの日数を計算するメソッド
public int calDays(int year, int month, int day)
�A月の日数を返すメソッド
public int DaysOfMonth(int year, int month)
�B閏年チェックメソッド
public boolean LeapCheck(int year)
オプション�C バイオリズムの値を計算するメソッド
public double[][] calBiorhythm(int birthYear, int birthMonth, int birthDay, int nowYear, int nowMonth, int nowDay, int days)
期限7月22日(金)
Java2 1.4.0
俺には無理だから誰かやってくれ
0355デフォルトの名無しさん
2005/07/15(金) 12:30:33>>282
0356デフォルトの名無しさん
2005/07/15(金) 12:46:36LetterCount っていうクラスの定義は与えられているんか?
0357352
2005/07/15(金) 13:32:59はい。すいません、忘れてました。
public class LetterCount {
private char letter;
private int count;
/** Creates a new instance of LetterCount */
public LetterCount(char ltr, int cnt) {
letter = ltr;
count = cnt;
}
public void setLetter(char ltr){
letter = ltr;
}
public void setCount(int cnt){
count = cnt;
}
public char getLetter(){
return letter;
}
public int getCount(){
return count;
}
public String toString(){
return "Letter:" + letter +
"\nCount:" + count;
}
}
0358デフォルトの名無しさん
2005/07/15(金) 14:31:42http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/729.txt
0359デフォルトの名無しさん
2005/07/15(金) 16:02:44【 期限 】 明日までなんです
おっお願いします! 時刻の表示まではできたんですが。
0360デフォルトの名無しさん
2005/07/15(金) 16:14:21時刻の表示が敵他のであれば、あとは指定時刻と比較して、
javax.sound.sampled にあるクラスを使って音出すとかすればOK。
0361デフォルトの名無しさん
2005/07/15(金) 19:10:56どのように書けばイマイチよくわかりません。
ソースは以下です。
import javax.swing.*;
public class HelloWorldSwing {
public static void main(String[] args) {
JFrame frame = new JFrame("HelloWorldSwing");
final JLabel label = new JLabel("Hello World");
frame.getContentPane().add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
よろしくお願いします。
0362デフォルトの名無しさん
2005/07/15(金) 19:15:48適当に作ってみた
かっこよくは自分でなんとかしてくれ
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import javax.swing.*;
public class DigitalClock extends JPanel {
int hour, minute, second;
int beepH, beepM, beepS;
boolean alarm = false;
JComponent canvas;
JRadioButton[] rb = new JRadioButton[4];
0363デフォルトの名無しさん
2005/07/15(金) 19:17:05super(new BorderLayout());
updateTime();
canvas = new JComponent() {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.red);
g.setFont(new Font("SansSerif", Font.BOLD, 20));
FontMetrics fm = g.getFontMetrics();
String time =
hour + " 時 " + minute + " 分 " + second + " 秒";
int strWidth = fm.stringWidth(time);
g.drawString(time, (getWidth() - strWidth) / 2, getHeight() / 2);
}
};
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
canvas.setPreferredSize(new Dimension(d.width / 3, d.height / 3));
add(canvas, BorderLayout.CENTER);
0364デフォルトの名無しさん
2005/07/15(金) 19:17:51rb[1] = new JRadioButton("30分後");
rb[2] = new JRadioButton("1時間後");
rb[3] = new JRadioButton("2時間後");
rb[0].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
alarm = false;
}
});
rb[1].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
alarm = true;
updateBeepTime(0, 0, 10);
}
});
rb[2].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
alarm = true;
updateBeepTime(0, 0, 20);
}
});
rb[3].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
alarm = true;
updateBeepTime(0, 0, 30);
}
});
0365デフォルトの名無しさん
2005/07/15(金) 19:18:14JPanel panel = new JPanel();
for (int i = 0; i < rb.length; i++) {
bg.add(rb[i]);
panel.add(rb[i]);
}
add(panel, BorderLayout.SOUTH);
BorderFactory.createEmptyBorder(20, 20, 20, 20);
new Timer(100, new ActionListener() {
public void actionPerformed(ActionEvent e) {
updateTime();
canvas.repaint();
if (alarm && hour == beepH && minute == beepM && second == beepS) {
Toolkit.getDefaultToolkit().beep();
alarm = false;
rb[0].setSelected(true);
}
}
}).start();
}
0366デフォルトの名無しさん
2005/07/15(金) 19:18:34SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("DigitalClock");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel cp = new DigitalClock();
cp.setOpaque(true);
frame.setContentPane(cp);
frame.pack();
frame.setVisible(true);
}
0367最後
2005/07/15(金) 19:40:05Calendar calendar = Calendar.getInstance();
hour = calendar.get(Calendar.HOUR_OF_DAY);
minute = calendar.get(Calendar.MINUTE);
second = calendar.get(Calendar.SECOND);
}
private void updateBeepTime(int bh, int bm, int bs) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.HOUR_OF_DAY, bh);
calendar.add(Calendar.MINUTE, bm);
calendar.add(Calendar.SECOND, bs);
beepH = calendar.get(Calendar.HOUR_OF_DAY);
beepM = calendar.get(Calendar.MINUTE);
beepS = calendar.get(Calendar.SECOND);
}
}
0368デフォルトの名無しさん
2005/07/15(金) 19:48:47updateBeepTime(0, 0, 10) → updateBeepTime(0, 30, 0)
updateBeepTime(0, 0, 20) → updateBeepTime(1, 0, 0)
updateBeepTime(0, 0, 30) → updateBeepTime(2, 0, 0)
0369デフォルトの名無しさん
2005/07/15(金) 19:49:13main()の最初に
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
// Do Nothing
}
と書いておけばOK。ただし J2SE1.4.2以降。
0370デフォルトの名無しさん
2005/07/15(金) 19:52:46>>333
0371デフォルトの名無しさん
2005/07/15(金) 19:59:42// HourlyEmployeeDemo.java
public class HourlyEmployeeDemo {
public static void main(String[] args) {
HourlyEmployee employee1 = new HourlyEmployee();
HourlyEmployee employee2 = new HourlyEmployee("346", 20.0, 1.2, 3);
System.out.println( employee1 );
System.out.println( employee2 );
}
}
0372デフォルトの名無しさん
2005/07/15(金) 20:10:58import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
public class Biorhythm extends Frame{
static int birthYear, birthMonth, birthDay;
static int nowYear, nowMonth, nowDay;
public Biorhythm(){
this.setSize(400,300);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void paint(Graphics g){
GregorianCalendar date =
new GregorianCalendar();
nowYear = date.get(Calendar.YEAR);
nowMonth = date.get(Calendar.MONTH)+1;
nowDay = date.get(Calendar.DATE);
calBiorhythm(birthYear, birthMonth, birthDay, nowYear, nowMonth, nowDay,
System.out.println("今日までの生存日数: "+ (calDaysAD(nowYear ,nowMonth, nowDay) - calDaysAD(birthYear,birthMonth,birthDay)));
}
0373デフォルトの名無しさん
2005/07/15(金) 20:11:56public int calDaysAD(int year, int month, int day){
int ni = (year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400+day;
for(int i = 1; i < month; i++){
day = DaysofMonth(year,(month-i));
ni += day;
}
return ni;
}
public int DaysofMonth(int year, int month){
int[] days = {31,28,31,30,31,30,31,31,30,31,30,31};
if(month == 2)
if(LeapCheck(year))days[month-1] = 29;
return days[month-1];
}
public boolean LeapCheck(int year){
if((year % 4 ==0) && (year % 100 != 0) || (year % 400 == 0))
return true;
else
return false;
}
public static void main(String[] args){
birthYear = Integer.parseInt(args[0]);
birthMonth = Integer.parseInt(args[1]);
birthDay = Integer.parseInt(args[2]);
new Biorhythm().show();
}
}
後オプション�Cができね
0374デフォルトの名無しさん
2005/07/15(金) 20:16:03ttp://home.att.ne.jp/yellow/tryspace/
0375352
2005/07/15(金) 20:44:48どうもありがとうございました。あなたは恩人です。
謝謝!!
0376デフォルトの名無しさん
2005/07/15(金) 20:50:49これはちょっと難しいから別スレでも聞いてみたら?
0377352
2005/07/15(金) 20:53:40すいません、もう1つだけ聞きたいんですが
アウトプットを出すJOptionPane.showMessageDialog(null, ltrStr);は
一番下に書けばいいのでしょうか?
0378デフォルトの名無しさん
2005/07/15(金) 21:02:44ありがとうございます!!
あきらめて自分でやってたんですが、つまずいて
いて、早速コードを確認してみます!!
0379デフォルトの名無しさん
2005/07/15(金) 21:10:05ありがとうございます。無事WindowsのLook&Feelになりました。
コメントアウトされてるDoNothingですが、「何もしないという表記」ということですか?
0380デフォルトの名無しさん
2005/07/15(金) 21:14:45難しい?どこが?
0381質問人 ◆I7GOHmYc7o
2005/07/15(金) 21:16:59【 種別 】質問
【 課題 】ソケットによる文字の送受信
【 不明点 】受信が上手くいかず、その原因と解決方法をしりたい
【 期限 】土曜23:59まで
【詳しく】
ソケットによるサーバーとクライアント間通信で
文字を送っているのですが上手くいきません
そうやらデータを受ける方に問題があるようなのですが
どこ改善すれば上手くいくか知恵を貸してください!!
プログラムはサーバーがクライアントの接続を感知すると
文字を出力仕組みになっています
この文字をクライアントが上手くこの文字を受け取れないでいるのです
またサーバーは複数のクライアントからの要求にも大丈夫なように出来ています(マルチスレッド化)
このサーバー、2つのクラスで作っているのですが
一方を内部クラスに出来ないので1つのファイルに別々に作っています(*)
のでここら辺が原因かもしれません・・・コンパイルは及び実行は問題なし
以下にプログラムの概略を書きます
0382質問人 ◆I7GOHmYc7o
2005/07/15(金) 21:22:02public class MultiThreadServer {
public static void main(String[] args) throws IOException {
ServerSocket serverS = null;
boolean end = true;
try {
serverS = new ServerSocket(1214);
} catch (IOException e) {
略
}
while(end){
Socket s = serverS.accept();
new Thread(new MultiEchoThread(s)).start();/**こっから下のMultiEchoThreadへ行く**/
}
略
}//MultiThreadServerの終わり
0383質問人 ◆I7GOHmYc7o
2005/07/15(金) 21:22:40//クラスは別だが同じファイル内
class MultiEchoThread implements Runnable {
static int num=0;
static String NUM="0";
Socket socket = null;
BufferedReader in = null;
PrintWriter out = null;
略
public MultiEchoThread(Socket s) {
socket = s;
略
}
public void run() {
try{
OutputStream os = socket.getOutputStream();
out = new PrintWriter( new OutputStreamWriter(os, "Shift_JIS"));
in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
NUM=Integer.toString(num);/**int→String***/
out.println(NUM);/**"0"を発射!!**/
/**ここから先に進めず
上の発射した文字があっちで受け取れずあっちからの発射がない***/
while ((NUM= in.readLine())!=null) {
略
}//MultiEchoThreadの終わり
0384質問人 ◆I7GOHmYc7o
2005/07/15(金) 21:23:29class LastClient extends JApplet{
MyJPanel myJPanel;
MyJPanelList myJPanelList;
String s;
static int num=0;
static String NUM="0";
static Socket echoS = null;
static BufferedReader in = null;
static PrintWriter out = null;
略
LastClient(){
try {
echoS = new Socket("localhost", 1214);
in = new BufferedReader(
new InputStreamReader(echoS.getInputStream()));
OutputStream os = echoS.getOutputStream();
out = new PrintWriter( new OutputStreamWriter(os, "Shift_JIS"));
}
略
}
public static void main(String args[]) throws IOException {
略
try{
/***ここから先に進めず、
サーバーから発射された"0"を受け取るはずなのだが***/
NUM=in.readLine();
num=Integer.parseInt(NUM);
}catch(Exception en){}
略
}
0385質問人 ◆I7GOHmYc7o
2005/07/15(金) 21:29:59基本的にはソケット通信受信での問題を聞いているのですが
原因がサーバー内の2つのクラスの一方が内部クラスになっているのではないかと
サーバーの形容について述べています
原因がここになかったのならサーバーに関してはスルーしてもらって結構です
【サーバーの形容】
サーバーはこうなっている↓(なんか説明しづらいんで)
=====MultiThreadServer.javaはここから========
public class MultiThreadServer {
略
}
class MultiEchoThread implements Runnable {
略
}
======ここまで========
0386質問人 ◆I7GOHmYc7o
2005/07/15(金) 21:30:50よろしくお願いします
0389デフォルトの名無しさん
2005/07/15(金) 21:42:42なるほど、重ね重ねありがとうございました。
0390デフォルトの名無しさん
2005/07/15(金) 21:53:33out = new PrintWriter( new OutputStreamWriter(os, "Shift_JIS"), true);
もしくは、
out.println(NUM);
out.flush();
0391質問人 ◆I7GOHmYc7o
2005/07/15(金) 22:17:16神さんありがとう!!
0392>>295 ハフマン その1
2005/07/15(金) 23:21:33import java.util.*;
public class HW95 {
public static void main(String[] args) {
try {
if (args[0].equals("prob")) {
createProbFile(args[1], args[2]);
} else if (args[0].equals("codeword")) {
createCodewordFile(args[1], args[2]);
} else if (args[0].equals("encode")) {
createEncodeFile(args[1], args[2], args[3]);
} else if (args[0].equals("decode")) {
createDecodeFile(args[1], args[2], args[3]);
} else {
throw new Exception("不正なコマンドが指定されました");
}
} catch (ArrayIndexOutOfBoundsException ex) {
System.out.println("引数の指定に誤りがあります");
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
0393:>>295 ハフマン その2
2005/07/15(金) 23:22:02throws Exception {
BufferedReader dataR = new BufferedReader(new FileReader(dataFile));
Map charToRatio = new TreeMap();
int ch = 0;
int totalCount = 0;
while ((ch = dataR.read()) != -1) {
if (ch == '\n' || ch == '\r') {
continue;
}
Integer chKey = new Integer(ch);
if (charToRatio.containsKey(chKey)) {
int count = ((Integer) charToRatio.get(chKey)).intValue() + 1;
charToRatio.put(chKey, new Integer(count));
} else {
charToRatio.put(chKey, new Integer(1));
}
++totalCount;
}
List crList = new ArrayList(charToRatio.entrySet());
Collections.sort(crList, new Comparator() {
public int compare(Object o1, Object o2) {
Map.Entry e1 = (Map.Entry) o1;
Map.Entry e2 = (Map.Entry) o2;
return -(((Integer) e1.getValue()).compareTo(e2.getValue()));
}
});
0394>>295 ハフマン その3
2005/07/15(金) 23:22:37for (int i = 0; i < crList.size(); i++) {
Map.Entry entry = (Map.Entry) crList.get(i);
double ratio = (double) ((Integer) entry.getValue()).intValue()
/ totalCount;
String number = String.valueOf(ratio);
if (number.length() > 4) {
number = number.substring(0, 4);
}
String line = String.valueOf(
(char) ((Integer) entry.getKey()).intValue()) + ","
+ number + "\r\n";
text.append(line);
}
BufferedWriter w = new BufferedWriter(new FileWriter(probFile));
w.write(text.toString());
w.close();
}
0395>>295 ハフマン その4
2005/07/15(金) 23:23:06throws Exception {
BufferedReader probR = new BufferedReader(new FileReader(probFile));
List charList = new ArrayList();
String line = null;
while ((line = probR.readLine()) != null) {
String[] token = line.split(",");
if (token.length != 2) {
throw new Exception("指定されたprobファイルが不正です");
}
charList.add(token[0]);
}
StringBuffer code = new StringBuffer("0"), text = new StringBuffer();
for (int i = 0; i < charList.size(); i++) {
String ch = (String) charList.get(i);
String codeline = ch + "," + code.toString() + "\r\n";
text.append(codeline);
code.replace(code.length() - 1, code.length(), "1");
if (i + 2 < charList.size()) {
code.append("0");
}
}
BufferedWriter w = new BufferedWriter(new FileWriter(codewordFile));
w.write(text.toString());
w.close();
}
0396>>295 ハフマン その5
2005/07/15(金) 23:23:43String encodeFile) throws Exception {
BufferedReader codewordR = new BufferedReader(new FileReader(codewordFile));
Map charToCode = new TreeMap();
String line = null;
while ((line = codewordR.readLine()) != null) {
String[] token = line.split(",");
if (token.length != 2) {
throw new Exception("指定されたcodewordファイルが不正です");
}
charToCode.put(token[0], token[1]);
}
BufferedReader dataR = new BufferedReader(new FileReader(dataFile));
StringBuffer text = new StringBuffer();
int ch = 0;
while ((ch = dataR.read()) != -1) {
if (ch == '\n' || ch == '\r') {
text.append((char) ch);
continue;
}
if (charToCode.containsKey(String.valueOf((char) ch))) {
text.append(charToCode.get(String.valueOf((char) ch)));
}
}
BufferedWriter w = new BufferedWriter(new FileWriter(encodeFile));
w.write(text.toString());
w.close();
}
0397>>295 ハフマン その6
2005/07/15(金) 23:38:38String decodeFile) throws Exception {
BufferedReader codewordR = new BufferedReader(new FileReader(codewordFile));
Map codeToChar = new TreeMap();
String line = null;
while ((line = codewordR.readLine()) != null) {
String[] token = line.split(",");
if (token.length != 2) {
throw new Exception("指定されたencodeファイルが不正です");
}
codeToChar.put(token[1], token[0]);
}
BufferedReader encodeR = new BufferedReader(new FileReader(encodeFile));
StringBuffer text = new StringBuffer(), code = new StringBuffer();
int ch = 0;
0398:>>295 ハフマン その7
2005/07/15(金) 23:39:12if (ch == '\n' || ch == '\r') {
text.append((char) ch);
continue;
}
if (ch != '0' && ch != '1') {
throw new Exception();
}
code.append((char) ch);
if (ch == '0' || code.length() >= codeToChar.size() - 1) {
String word = (String) codeToChar.get(code.toString());
text.append(word);
code.delete(0, code.length());
}
}
BufferedWriter w = new BufferedWriter(new FileWriter(decodeFile));
w.write(text.toString());
w.close();
}
}
0399ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/15(金) 23:42:32プログラム引数は課題文の通りです。
> prob data.txt prob.tbl
> codeword prob.tbl code.tbl
> encode code.tbl data.txt encode.txt
> decode code.tbl encode.txt decode.txt
0400デフォルトの名無しさん
2005/07/15(金) 23:55:57【 課題 】
ブラウザーに『進む』と『戻る』の機能を
付けたいのですがどうしたらよいかわかりません。
お願いします!
public class Browser extends JFrame implements ActionListener , ItemListener , HyperlinkListener {
public static void main(String args[]) {
Browser frame = new Browser();
}
JToolBar tb = new JToolBar();
private JTabbedPane tabPane = new JTabbedPane(JTabbedPane.TOP , JTabbedPane.SCROLL_TAB_LAYOUT);
JEditorPane html = new JEditorPane();
}
private void openFile(File file) {
long length = file.length();
if (length == 0L) return;
String text = "";
try {
InputStream stream = new FileInputStream(file);
BufferedReader reader = new BufferedReader(
new InputStreamReader(stream)
);
0401デフォルトの名無しさん
2005/07/15(金) 23:56:29String temp = reader.readLine();
if (temp == null) break;
else text += temp;
}}
catch(Exception err) {
//IO 例外をここに記述する。
System.out.println(err);
}
addDocument(text , "text/html" , file.getName());}
public void addDocument(String text, String type, String title) {
JEditorPane html = new JEditorPane(type , text);
html.setEditable(false);
html.addHyperlinkListener(this);
JScrollPane pane = new JScrollPane(html);
tabPane.addTab(title, null , pane);
}
public void addDocument(URL url) {
JEditorPane html = new JEditorPane();
html.setContentType("text/html ");
html.setEditable(false);
html.addHyperlinkListener(this);
try {
html.setPage(url);}
catch(Exception err) {
System.out.println(err);}
JScrollPane pane = new JScrollPane(html);
tabPane.addTab(url.toString() , null , pane);
}
0402デフォルトの名無しさん
2005/07/15(金) 23:57:04switch (e.getID()) {
case ItemEvent.ITEM_STATE_CHANGED:
if (e.getStateChange() == ItemEvent.DESELECTED) break;
try {
String addr = urlComboBox.getSelectedItem().toString();
URL url = new URL(addr);
addDocument(url);
}
catch(Exception err) { System.out.println(err); }
}}
public void hyperlinkUpdate(HyperlinkEvent e) {
HyperlinkEvent.EventType type = e.getEventType();
if (type == HyperlinkEvent.EventType.ACTIVATED) {
urlComboBox.setSelectedItem(e.getURL().toString());
}}
0403デフォルトの名無しさん
2005/07/15(金) 23:59:360404デフォルトの名無しさん
2005/07/16(土) 08:02:23検索してみたんですがこの機能を使ったサンプル見つからなくて、
このソースを利用して質問してみたんですが申し訳ありませんでした。
0405デフォルトの名無しさん
2005/07/16(土) 08:35:42ソース貼るならせめてコンパイルぐらいは通してください。
・変な位置に閉じ括弧が書いてある箇所がある。
・actionPerformed(ActionEvent)が未実装。
・urlComboBoxが解決できない。
でもって、今回のケースは「丸投げ」じゃなくて「質問」ね。
0406デフォルトの名無しさん
2005/07/16(土) 10:14:28どれがどれかわからなくなるな・・
0407407
2005/07/16(土) 12:28:41>>405
何度も沢山書き込むことになってすみません!改めて質問させてください
ブラウザーに『進む』と『戻る』の機能を
付けたいのですが、今現在リンク先を押すと次々と新しいタブで
開かれるのですが、そうではなく一つのタブの中で
リンクページを表示させ『進む』と『戻る』の機能を付けたいのですが、
もしよろしければ教えていただけませんか?お願いします。
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
public class Browser extends JFrame
implements ActionListener,ItemListener,HyperlinkListener {
public static void main(String args[]) {
Browser frame = new Browser();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);}
private DefaultComboBoxModel urlList = new DefaultComboBoxModel(
new String[] {"http://www.2ch.net/",
"http://www.forest.impress.co.jp/",});
private JToolBar tb = new JToolBar();
private JComboBox urlComboBox = new JComboBox();
private JMenuBar menuBar = new JMenuBar();
0408407
2005/07/16(土) 12:29:17private JMenu mn2 = new JMenu("編集(E)");
private JMenuItem fileOpen = new JMenuItem("開く");
private JMenuItem fileClose = new JMenuItem("タブを閉じる");
private JMenuItem fileAllClose = new JMenuItem("すべてのタブを閉じる");
private JMenuItem fileExit = new JMenuItem("閉じる");
private JMenuItem editCut = new JMenuItem("切り抜き");
private JMenuItem editSelect = new JMenuItem("すべて選択");
private JTabbedPane tabPane
= new JTabbedPane(JTabbedPane.TOP , JTabbedPane.SCROLL_TAB_LAYOUT);
private JEditorPane html = new JEditorPane();
private JFileChooser openFileChooser = new JFileChooser();
private Vector editorPanes = new Vector();
private JPanel statusBar = new JPanel();
private JLabel statusLabel = new JLabel();
public Browser(){openFileChooser.setMultiSelectionEnabled(true);
tb.setFloatable(false);
menuBar.add(mn1);
menuBar.add(mn2);
mn1.add(fileOpen);
mn1.addSeparator();
mn1.add(fileClose);
mn1.add(fileAllClose);
mn1.addSeparator();
mn1.add(fileExit);
mn2.add(editCut);
mn2.add(editSelect);
0409407
2005/07/16(土) 12:29:46fileAllClose.addActionListener(this);
fileClose.addActionListener(this);
fileExit.addActionListener(this);
editCut.addActionListener(this);
editSelect.addActionListener(this);
setJMenuBar(menuBar);
urlComboBox.setModel(urlList);
urlComboBox.setEditable(true);
urlComboBox.addItemListener(this);
getContentPane().add(tb, BorderLayout.NORTH);
JPanel panel1 = new JPanel();
panel1.add(urlComboBox);
panel1.setLayout(new FlowLayout(FlowLayout.LEFT));
tb.add(panel1);
getContentPane().add(tabPane, BorderLayout.CENTER);}
private void openFile(File file) {
long length = file.length();
if (length == 0L) return;
String text = "";
try {InputStream stream = new FileInputStream(file);
BufferedReader reader = new BufferedReader(
new InputStreamReader(stream));
0410407
2005/07/16(土) 12:30:13if (temp == null) break;
else text += temp;}}
catch(Exception err) {System.out.println(err);
}addDocument(text , "text/html" , file.getName());}
public void addDocument(String text, String type, String title) {
JEditorPane html = new JEditorPane(type , text);
html.setEditable(false);
html.addHyperlinkListener(this);
JScrollPane pane = new JScrollPane(html);
tabPane.addTab(title, null , pane);}
public void addDocument(URL url) {
JEditorPane html = new JEditorPane();
html.setContentType("text/html ");
html.setEditable(false);
html.addHyperlinkListener(this);
try {html.setPage(url);}
catch(Exception err) {System.out.println(err);}
JScrollPane pane = new JScrollPane(html);
tabPane.addTab(url.toString() , null , pane);}
public void closeDocument(int index) {
editorPanes.remove(tabPane.getSelectedIndex());
tabPane.removeTabAt(index);}
public void closeAllDocument() {
editorPanes.clear();
tabPane.removeAll();}
0411407
2005/07/16(土) 12:30:38if (editorPanes.size() == 0) return;
int index = tabPane.getSelectedIndex();
JEditorPane pane = (JEditorPane)editorPanes.elementAt(index);
pane.cut();}
public void selectAll() {
if (editorPanes.size() == 0) return;
int index = tabPane.getSelectedIndex();
JEditorPane pane = (JEditorPane)editorPanes.elementAt(index);
pane.selectAll();}
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if (src == fileOpen) {
if (openFileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
File files[] = openFileChooser.getSelectedFiles();
for(int i = 0 ; i < files.length ; i++) {
openFile(files[i]);}}}
else if (src == fileClose) {
int index = tabPane.getSelectedIndex();
if (index >= 0) closeDocument(index);}
else if (src == fileAllClose) {
closeAllDocument();}
0412407最後です
2005/07/16(土) 12:41:28else if (src == editCut) { cut(); }
else if (src == editSelect) { selectAll(); }}
public void itemStateChanged(ItemEvent e) {
switch (e.getID()) {
case ItemEvent.ITEM_STATE_CHANGED:
if (e.getStateChange() == ItemEvent.DESELECTED) break;
try {
String addr = urlComboBox.getSelectedItem().toString();
URL url = new URL(addr);
addDocument(url);}
catch(Exception err) { System.out.println(err); }}}
public void hyperlinkUpdate(HyperlinkEvent e) {
HyperlinkEvent.EventType type = e.getEventType();
if (type == HyperlinkEvent.EventType.ACTIVATED) {
urlComboBox.setSelectedItem(e.getURL().toString());}}}
0413デフォルトの名無しさん
2005/07/16(土) 14:50:36五箇条の御誓文の2は、完全に間違ってる。
はっきり言って、「丸投げ」が一番好ましい提示法なのです。
ソースコードを読んで理解するのは、非常に骨が折れるのです。
1から書いた方が早いのです。
故に、>>407 の質問も「進む、戻るのボタン付きブラウザーを
作ってくれ」の方が回答率が高いのです。
ソースを読んで理解し、それを改変する形でプログラムを書くのは
最も面倒なのです。
0414ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/16(土) 17:09:04ここに、ブラックジャックゲームのプログラムを貼っておきました。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
0415ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/16(土) 17:17:40すいません。一部間違えがありました。動作上は全く問題ないのですが。
上から40行目辺りにある
playerScore = 30;
dealerScore = 30;
を
playerScore = 100;
dealerScore = 100;
にしてください。
持ち点が30で始まってしまいます。。。
0416ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/16(土) 17:21:05先月までの「イリュミナートX」から「Z(ザイン)帝國」に改称しました。
尊称は引き続き「軍帥(ぐんすい)」です。
軍の総帥という意味です。よろしくお願いします。
0417Mb
2005/07/16(土) 18:16:53> 五箇条の御誓文の2は、完全に間違ってる。
> はっきり言って、「丸投げ」が一番好ましい提示法なのです。
> ソースコードを読んで理解するのは、非常に骨が折れるのです。
> 1から書いた方が早いのです。
読んで理解するのに非常に骨が折れるようなソースに対しては、
「ここの部分のコーディングがこのように糞だから、
いっそこれこれの方針に基づいて一から書き直せ」と
助言してやるのが教育的配慮というもの。
0418デフォルトの名無しさん
2005/07/16(土) 20:12:38下のサイトのプログラムに、double型の値を扱う機能を追加せよと言われました。(今はintしか扱えない?)
ttp://www.ohmsha.co.jp/data/link/4-274-13308-7/index.htm
この課題がでた授業はjavaプログラミングを習うものではないので、いきなりプログラムを
作れと言われてもどうしてよいのかわかりません。どなたか教えていただけませんでしょうか。
お願いいたします。
ちなみに、コンパイルはソースコードを配置したディレクトリ内で
javac -encoding SJIS Chavac.java
javac -encoding SJIS Chava.java
らしいです。
サンプルプログラム(hello.chv)
void main(){ println(1); }
コンパイルは
java Chavac hello.chv
実行は
java Chava A です。
Chavaというプログラミング言語のコンパイラChavacの改造をしてほしいみたいです。
変更部分だけでいいので、どうかよろしくお願いします。
0419デフォルトの名無しさん
2005/07/16(土) 20:22:010420デフォルトの名無しさん
2005/07/17(日) 05:27:15色が変色してしまいます。それと図形描画の際のマウスをドラッグした時の
ちらつきを試行錯誤して問題解消したのですが、課題を発表する際に質問を
されるんです。色の変化はいったい何が原因だったのかよくわかりませんでした。
ちらつき解消のためにダブルバッファをしたら色の変化が起こらなくなったような気がします。
いったい何が原因だったのか教えて下さい。質問スレか迷ってちょっとスレ違いっぽい
んですが、よかったらお願いします。
0421デフォルトの名無しさん
2005/07/17(日) 05:51:26うまく誘導して答えられる質問にだけ答えればいいよ。
0422420
2005/07/17(日) 09:52:530423デフォルトの名無しさん
2005/07/17(日) 13:22:33【Java 歴】 一ヶ月
【 種別 】 質問
【 課題 】 JTextPaneに入力された特定の文字の色を変えたい。(要はテキストエディタの様なモノを作りたい)
【不明点 】 上記を実現するにはどのコンポーネントやクラスを利用したらいいのでしょうか?
【 期限 】 なし
【 備考 】 2、3冊の初心者用のjavaの本を目を通したのですが物足りなくて、結局はJavadocを参考に
勉強していたのですが、上記の事を実現するために関わる項目がなかなか見つからなくて困ってます。
0424デフォルトの名無しさん
2005/07/17(日) 13:44:20JTextPane と javax.swing.text パッケージのクラス群を使えば、
簡単に、様々な属性の文字からなるテキスト表示を実現する事ができます。
0425デフォルトの名無しさん
2005/07/17(日) 13:54:42まあ質問者に非は無いが。
0426デフォルトの名無しさん
2005/07/17(日) 13:57:10このスレの範囲内になる。
しかし、423は質問の様なので、424でFA。
0427デフォルトの名無しさん
2005/07/17(日) 14:37:54ありがとうございました!
仕上がりのレベルが高いですね
間違いなくバレちゃいます^^;
0428デフォルトの名無しさん
2005/07/17(日) 14:58:57【 種別 】 質問
【不明点 】
トランプ52枚の山をRandomを使って作りたいのですが
0が入ってしまいます。解決方法を教えて下さい
0429デフォルトの名無しさん
2005/07/17(日) 15:03:35int cardNumber = (int) (Math.random() * 13) + 1
0430デフォルトの名無しさん
2005/07/17(日) 19:32:12thx!
0431デフォルトの名無しさん
2005/07/17(日) 19:43:510432デフォルトの名無しさん
2005/07/17(日) 22:17:48恒例のコンパイラ作成か。
まだその講義やってるんだね。今の実戦じゃ何も役立たないのに。(地力はつくけど)
残念だけど、この課題はあまりに規模が大きすぎて回答不可能だ。
0433Mb
2005/07/17(日) 22:39:31> 正直人のソースコードは自分で1から組むより骨が折れる
正直漏れも業務だったら捨てて一から書き直す
その方が早いし質も高い
コーディングの基準も実行環境が変わったり
言語仕様が拡張されたりして年々変わってゆくので、
捨てられる場合でも後から見た奴の参考になるように、
とりあえず全体の構造が分かりやすく、何をやっているのかが
明快なコードを心がけている。
0434デフォルトの名無しさん
2005/07/17(日) 22:53:580435デフォルトの名無しさん
2005/07/17(日) 23:55:13【 種別 】 丸投げ
【 課題 】 342と同じ物です
どなたか俺のソースコードを読んでくれる神はいませんでしょうか?
ソースはメールで送ります
0436デフォルトの名無しさん
2005/07/18(月) 00:03:12何をしてほしいの?
作ってみたけど動かないから添削してほしいとか?
0437デフォルトの名無しさん
2005/07/18(月) 00:07:48はい、そうです
お願いできませでしょうか?
0438デフォルトの名無しさん
2005/07/18(月) 01:07:270439デフォルトの名無しさん
2005/07/18(月) 01:08:01読めない。。。
ブラックジャックなら、前レスで誰かが答えてたような。。。
0440352,353
2005/07/18(月) 01:28:05すいません、書いてもらったプログラムを走らせたんですが、一つ一つの
文字数をカウントしないんですよね。なんとかなるでしょうか??
0441435
2005/07/18(月) 01:34:08一応実装、動作確認は済ませましたが
思い通りに動いてくれなかったので
どなたか出来る人に見て頂きたくて
メールしていただければこちらから添付し送信ます
こんなに面倒なことをしてくれる神のような人は
いないとは思いますが、助けて欲しいのでどなたかお願いします
汚いソースで恥ずかしいし、もしかしたら同級生の人が
見てるかもしれないので、直upするのは抵抗があるので
こんな面倒なことしてます。すいません。
0442デフォルトの名無しさん
2005/07/18(月) 05:23:31【 種別 】 質問です。
【 課題 】
do {
c = inFile.nextChar();
} while (c == ' ' || c == '\t' || c == '\n');
字句解析プログラムで、これは空白をスキップする部分ですが
/* で始まり*/で終わる文字列をコメントとして読み飛ばすには
どのように書けばいいんでしょうか
馬鹿らしい質問ですが、お願いします。
【 期限 】 明日まで
0443デフォルトの名無しさん
2005/07/18(月) 06:14:591文字ずつ読むのなら状態を覚えておいて
normal 通常 ('/'が出たらslash状態へ)
slash /が出てきた ('*'が出たらcomment状態へ、それ以外ならnormal状態へ)
comment slashモードの時に*が出てきた ('*'が出たらstar状態へ)
star commentモードの時に*が出てきた ('/'が出たらnormal状態へ、それ以外ならcomment状態へ)
というような感じでやってみてはどうか
0444Mb
2005/07/18(月) 14:40:38/**
* 空白とコメントをスキップする。
*/
private int skipBlanc( int spos, Iterator iter ) {
int pos = spos;
boolean commentp = false;
for (;;) {
if (pos >= buffer.length()) {
if (!iter.hasNext()) return -1;
buffer = (String) iter.next();
lineNumber += 1;
pos = 0;
continue;
}
if (!commentp) {
if ((buffer.charAt(pos) == ' ' ) ||
(buffer.charAt(pos) == '\t' )) {
pos += 1;
continue;
}
if (buffer.regionMatches(pos, "/*", 0, 2)) {
commentp = true;
pos += 2;
continue;
}
if (buffer.regionMatches(pos, "//", 0, 2)) {
pos = buffer.length();
continue;
}
} else {
0445Mb
2005/07/18(月) 14:43:50commentp = false;
pos += 2;
} else {
pos += 1;
}
continue;
}
break;
}
return pos;
}
なにせ昔書いたものなので屑なコードでスマソ。
イテレータ iter は今ソースを取ってきてる List<String> から
取ってきたもの。勝手にbuffer の中身を書き換えて、
コメントの終了位置を返す。-1 だったらテキストの終わり。
0446>>407 ブラウザ その1
2005/07/18(月) 14:54:04import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.util.List;
import java.net.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.ChangedCharSetException;
import javax.swing.text.html.*;
public class HW97 extends JFrame implements ActionListener, HyperlinkListener {
public static void main(String args[]) {
HW97 frame = new HW97();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);
}
private JToolBar tb = new JToolBar();
private JButton nextBtn = new JButton("次のページ");
private JButton prevBtn = new JButton("前のページ");
private JButton moveBtn = new JButton("移動する");
private JComboBox urlCbox = new JComboBox(new DefaultComboBoxModel(
new String[] { "http://www.2ch.net/", "http://www.forest.impress.co.jp/"}
));
0447:>>407 ブラウザ その2
2005/07/18(月) 14:54:36private JMenu mn1 = new JMenu("ファイル(F)");
private JMenu mn2 = new JMenu("編集(E)");
private JMenuItem fileOpen = new JMenuItem("開く");
private JMenuItem fileClose = new JMenuItem("タブを閉じる");
private JMenuItem fileAllClose = new JMenuItem("すべてのタブを閉じる");
private JMenuItem fileExit = new JMenuItem("閉じる");
private JMenuItem editCut = new JMenuItem("切り抜き");
private JMenuItem editSelect = new JMenuItem("すべて選択");
private JEditorPane html = new JEditorPane();
private List pageList = new ArrayList();
private int pageIndex;
private JLabel statusBar = new JLabel();
private JFileChooser openFileChooser = new JFileChooser();
public HW97() {
fileOpen.addActionListener(this);
fileAllClose.addActionListener(this);
fileClose.addActionListener(this);
fileExit.addActionListener(this);
editCut.addActionListener(this);
editSelect.addActionListener(this);
0448>>407 ブラウザ その3
2005/07/18(月) 14:55:16mn1.setOpaque(false);
mn2.setOpaque(false);
menuBar.add(mn1);
menuBar.add(mn2);
mn1.add(fileOpen);
mn1.addSeparator();
mn1.add(fileClose);
mn1.add(fileAllClose);
mn1.addSeparator();
mn1.add(fileExit);
mn2.add(editCut);
mn2.add(editSelect);
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(nextBtn)) {
if (pageIndex >= pageList.size()) {
return;
}
++pageIndex;
} else {
if (pageIndex <= 0) {
return;
}
--pageIndex;
}
String path = pageList.get(pageIndex).toString();
addDocument(path, false);
0449:>>407 ブラウザ その4
2005/07/18(月) 14:56:01prevBtn.setEnabled(true);
} else {
prevBtn.setEnabled(false);
}
if (pageIndex < pageList.size() - 1) {
nextBtn.setEnabled(true);
} else {
nextBtn.setEnabled(false);
}
}
};
prevBtn.addActionListener(al);
prevBtn.setEnabled(false);
nextBtn.addActionListener(al);
nextBtn.setEnabled(false);
moveBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (urlCbox.getSelectedItem() != null) {
addDocument(urlCbox.getSelectedItem().toString(), true);
}
}
});
0450>>407 ブラウザ その5
2005/07/18(月) 14:56:58JPanel panel1 = new JPanel(new BorderLayout());
panel1.setOpaque(false);
panel1.add(urlCbox);
panel1.add(moveBtn, BorderLayout.EAST);
tb.setFloatable(false);
tb.setBorder(BorderFactory.createEtchedBorder());
tb.setBackground(new Color(210, 210, 240));
tb.add(prevBtn);
tb.add(nextBtn);
tb.add(panel1);
html.setContentType("text/html");
html.setEditable(false);
html.addHyperlinkListener(this);
JScrollPane scroll = new JScrollPane(html);
scroll.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(160, 160, 200), 4),
BorderFactory.createEtchedBorder()));
statusBar.setPreferredSize(new Dimension(0, 28));
statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
statusBar.setOpaque(true);
statusBar.setBackground(new Color(230, 230, 250));
setJMenuBar(menuBar);
getContentPane().add(tb, BorderLayout.NORTH);
getContentPane().add(scroll, BorderLayout.CENTER);
getContentPane().add(statusBar, BorderLayout.SOUTH);
pageList.add(urlCbox.getSelectedItem().toString());
addDocument(urlCbox.getSelectedItem().toString(), false);
}
0451>>407 ブラウザ その6
2005/07/18(月) 15:14:56try {
try {
URL url = new URL(path);
html.setPage(url);
} catch (MalformedURLException ex) {
File file = new File(path);
InputStream in = new FileInputStream(file);
HTMLDocument hdoc = new HTMLDocument();
html.read(in, hdoc);
html.setDocument(hdoc);
}
} catch (ChangedCharSetException ex) {
html.setText("キャラクターセット不適合により\n"
+ "このドキュメントの表示に失敗しました");
System.out.println(ex);
} catch (Exception ex) {
html.setText("読み込み中にエラーが発生しました");
System.out.println(ex);
}
setTitle(path);
urlCbox.setSelectedItem(path);
if (!isNew) {
return;
}
0452>>407 ブラウザ その7
2005/07/18(月) 15:15:29if (pageIndex >= pageList.size()) {
pageList.add(path);
} else {
pageList.set(pageIndex, path);
if (pageIndex < pageList.size() - 1) {
pageList.subList(pageIndex + 1, pageList.size()).clear();
}
}
prevBtn.setEnabled(true);
nextBtn.setEnabled(false);
addURLToComboBox(path);
}
public void addURLToComboBox(String url) {
for (int i = 0; i < urlCbox.getModel().getSize(); i++) {
if (urlCbox.getModel().getElementAt(i).equals(url)) {
return;
}
}
urlCbox.addItem(url);
}
public void closeDocument(int index) {
// no operation
}
0453:>>407 ブラウザ その8
2005/07/18(月) 15:16:02// no operation
}
public void cut() {
html.cut();
}
public void selectAll() {
html.selectAll();
}
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if (src == fileOpen) {
if (openFileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
String path = openFileChooser.getSelectedFile().getPath();
addDocument(path, true);
}
} else if (src == fileClose) {
closeDocument(0);
} else if (src == fileAllClose) {
closeAllDocument();
} else if (src == fileExit) {
dispose();
} else if (src == editCut) {
cut();
} else if (src == editSelect) {
selectAll();
}
}
0454>>407 ブラウザ その9
2005/07/18(月) 15:16:33HyperlinkEvent.EventType type = e.getEventType();
if (type.equals(HyperlinkEvent.EventType.ACTIVATED)) {
addDocument(e.getDescription(), true);
} else if (type.equals(HyperlinkEvent.EventType.ENTERED)){
statusBar.setText(e.getDescription());
} else {
statusBar.setText("");
}
}
}
0455ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/18(月) 15:17:57タブペインは無くしました。
0457435
2005/07/18(月) 18:00:46UPしますのでどなたかお願いします
http://vipquality.orz.hm/uploader/file/up3786.zip.html
DLKeyはjavaです
0458>>440 LetterCount その1
2005/07/18(月) 18:18:05import java.util.*;
import java.util.List;
import javax.swing.*;
public class HW98 {
public static void main(String[] args) {
String text = JOptionPane.showInputDialog(null,
"文字を入力してください", "文字の入力",
JOptionPane.INFORMATION_MESSAGE);
text = text.replaceAll(" +", "");
Map map = new TreeMap();
for (int i = 0; i < text.length(); i++) {
Character ch = new Character(text.charAt(i));
if (map.containsKey(ch)) {
int count = ((Integer) map.get(ch)).intValue();
map.put(ch, new Integer(count + 1));
} else {
map.put(ch, new Integer(1));
}
}
0459:>>440 LetterCount その2
2005/07/18(月) 18:18:36Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
char ch = ((Character) entry.getKey()).charValue();
int count = ((Integer) entry.getValue()).intValue();
LetterCount lc = new LetterCount(ch, count);
list.add(lc);
}
Collections.sort(list, new Comparator() {
public int compare(Object src, Object dst) {
LetterCount lc1 = (LetterCount) src;
LetterCount lc2 = (LetterCount) dst;
if (lc1.getCount() < lc2.getCount()) {
return +1;
} else if (lc1.getCount() > lc2.getCount()) {
return -1;
} else {
return 0;
}
}
});
0460>>440 LetterCount その3
2005/07/18(月) 18:19:10for (int i = 0; i < list.size(); i++) {
LetterCount lc = (LetterCount) list.get(i);
sb.append(lc.getLetter() + " " + lc.getCount() + "\n");
}
try {
FileWriter fw = new FileWriter("letter.txt");
BufferedWriter bw = new BufferedWriter(fw);
fw.write(sb.toString());
fw.close();
JOptionPane.showMessageDialog(null,
"以下のテキストをletter.txtに書き込みました\n" + sb.toString());
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "ファイルエラーが発生しました");
}
}
}
0461:>>440 LetterCount その4
2005/07/18(月) 18:19:35private char letter;
private int count;
public LetterCount(char ltr, int cnt) {
letter = ltr;
count = cnt;
}
public void setLetter(char ltr){
letter = ltr;
}
public void setCount(int cnt){
count = cnt;
}
public char getLetter(){
return letter;
}
public int getCount(){
return count;
}
public String toString(){
return "Letter:" + letter +
"\nCount:" + count;
}
}
0462ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/18(月) 18:22:43文字入力後は、
letter freq
a 5
b 3
c 1
と、結果メッセージが表示され、このメッセージがletter.txtに
書き込まれます
0463デフォルトの名無しさん
2005/07/18(月) 18:57:020464デフォルトの名無しさん
2005/07/18(月) 19:19:19質問スレ行ってください。
0465418
2005/07/18(月) 20:49:21なんとか自力でやろうとしても何やってんのか全然わからないのですが・・・。
0466デフォルトの名無しさん
2005/07/18(月) 20:55:02読んで理解するのも一苦労です。。。
これは、一冊の参考書のサンプルソースですから、本があれば理解も早いですけど
流石にそこまでは・・・
0467デフォルトの名無しさん
2005/07/18(月) 23:58:32【 種別 】 丸投げです。
【 課題 】 ttp://www.wwwwwwwwww.net/1/soko/VIP00237.txt
このソースがどういう処理を行っているのか口頭で質問されます。
よく分からないのでコメントを付けて欲しいです。
予想される質問としては
「全体的なプログラムの流れ」「ここのメソッドは何をしているのか」
「メモリやスタックについて」
【 期限 】 火曜中
0468デフォルトの名無しさん
2005/07/19(火) 00:16:58>77
0469デフォルトの名無しさん
2005/07/19(火) 00:18:11あるプログラムコードを、オリジナルマシン語コードに変換するコンパイラ
のプログラムという事は分かりますが、
そのマシン語の仕様と、Operators、Symbol、Type の定数インターフェス
も示してくれないと回答できかねます。。。
0470デフォルトの名無しさん
2005/07/19(火) 00:20:27あるプログラムコードを、あるアセンブラコードに変換するコンパイラ
のソースという事は分かりますが、
そのアセンブラの仕様と、Operators、Symbol、Type の定数インターフェス
も示してくれないと回答できかねます。。。
0471デフォルトの名無しさん
2005/07/19(火) 00:21:410472デフォルトの名無しさん
2005/07/19(火) 00:26:09しかし、もう現在の現場ではさほど役立たない。
基礎力を付けるにはいいのだけど
0473デフォルトの名無しさん
2005/07/19(火) 00:29:49ふーん。でもJavaでやる意味あるのかなあ。
0474デフォルトの名無しさん
2005/07/19(火) 00:44:350475デフォルトの名無しさん
2005/07/19(火) 02:33:34【 種別 】 丸投げです
【 備考 】 java1.4
【 課題 】
データベース(MYSQL)を操作するGUIを作れと言われたんですが、
下のようなSQL文を作りデータベースに登録しているのですが、
これをSWINGの画面上でデータを表示し(nameのデータを表示)、
自由にコンポーネントを使いデータを追加したり削除したり
できるようにしろと課題を出されました。
お願いします!!!!!!
create table Data(
idint auto_increment primary key,
name varchar(500),
address varchar(500)
);
insert into Data values(null,'??????','?????');
【 期限 】 水曜夜まで
0476デフォルトの名無しさん
2005/07/19(火) 03:05:49【 種別 】 丸投げ
【 課題 】
フォルダに入ってる100枚くらいの画像を固定フレームになんとかして表示し、
サムネイルクリックで拡大表示させるするプログラムを作成せよって奴です。
途中までのコードはこんな感じです ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/753.txt
そしてソレを実行するとこうなります ttp://nijibox.ohflip.com/futabafiles/001/src/sa26339.jpg
見ての通り、画像が下のほうでプッツリ切れてうまくいってません、スクロールバーでも付けるべきでしょうがうまく付きません
そこでこのコードを基本に、スクロールバー等の添付&拡大表示させるプログラムの追加をお願いします。
以前拾った拡大表示させるプログラムも一応載せておきます↓
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/754.txt
なにぶん初心者なのでこれらを1つのプログラムにできません。なにか説明不足な点があれば仰ってください。m(__)m
【 期限 】 できるだけ早急にお願いしますm(__)m
0477デフォルトの名無しさん
2005/07/19(火) 10:32:26助けてください><
第1のコマンド引数(1文字とする)で与えられた文字が、第2のコマンド引数に何個含まれているかを求めるアプリケーション CountCharを作成しなさい。
例)以下のように、実行すると "baabaa"の中には、四つの a が含まれているので、4を表示する。
Q:\> java CountChar a baabaa
4
Q:\>
0478デフォルトの名無しさん
2005/07/19(火) 10:42:57/**
* 学校で与えられた課題.
* @version わかんない
*/
public final class CountChar {
/**
* コンストラクタは使っちゃだめ.
* @since わかんない
*/
private CountChar{}
/**
* 第一引数の文字数を表示する.
* @param 第一引数に文字一つ、第二引数に適当な文字列
* @since わかんない
*/
public static void main(final String[] 2ちゃんねるで質問しました){
char c = 2ちゃんねるで質問しました[0].charAt(0);
String str = 2ちゃんねるで質問しました[1];
int counter = 0;
for(int i = 0; i < str.length(); i++){
if(c == str.charAt(i)){
counter++;
}
}
System.out.println(counter);
}
}
//これをそのままコピーして大学にそのまま提出しなさい。
//そうすればあなたは正直者として高く評価されるでしょう。
0479デフォルトの名無しさん
2005/07/19(火) 10:46:04難易度高いぞ。
INSERT, DELETE, UPDATEのほかに
SELECTも必要か?
SELECTはただSELECT * FROM DATA;
とするだけでよろしいか?
まず、MYSQLのドライバはインストールしたか?
JDBCってなんだかわかるか?
Swingってなんだかわかるか?
0480デフォルトの名無しさん
2005/07/19(火) 10:47:16JavaCCのスレッドがあったと思ったけど、スレ主によれば
JavaCCは従来のコンパイラコンパイラに比べ非常に高機能で優れものなんだそうだ。
0481デフォルトの名無しさん
2005/07/19(火) 10:51:34提出しました
ありがとうございました
0482デフォルトの名無しさん
2005/07/19(火) 10:59:26MYSQLからデータを取得してJlistに表示するところまでいきました。
でもここから死にました。追加や削除ができなくて。
難易度高いんですか?? やっやばい!でもお願いします!!
0483デフォルトの名無しさん
2005/07/19(火) 11:05:58いい感じのフォトアルバムだな。
Frame/JFrameクラスで使えるコンポーネント
を探してみな。
AWTやSwingってのが何なのか調べてみるといい。
本屋にもいいのが転がってる。
ちゃんと検索しろ。いいのが転がってたぞ
http://www.google.co.jp/search?num=100&hs=N6L&hl=ja&c2coff=1&client=firefox-a&rls=org.mozilla%3Aja-JP%3Aofficial&q=Java+%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3%83%90%E3%83%BC&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0484デフォルトの名無しさん
2005/07/19(火) 11:11:20なんだ、できるんじゃないか。
つーことはJDBCも使いこなせるってことだな。
おまいのレベルでもどうにかなるかと思われ。
INSERTやDELETEができない?
意味がわからん。エラーが出たのか?
それともやりかたがわからないのか、どっちだ?
0485デフォルトの名無しさん
2005/07/19(火) 11:12:03ほんとにそのまま出したのか?
相手はホントに大学教員か?
0486デフォルトの名無しさん
2005/07/19(火) 11:16:46相手は教員です。
しかし、プログラムをコンパイルできなかったので
やり直しなさいと返事が返ってきました・・・。
0487デフォルトの名無しさん
2005/07/19(火) 11:28:40JSPファイルで、JavaScriptの関数で得た戻り値(JavaScriptの変数値)を
Javaの変数( <% int appnum; %> )に代入したいのですがうまく
いきません。知っておられる方がいましたら教えて下さい。
よろしくお願いします。
0488デフォルトの名無しさん
2005/07/19(火) 11:37:24順番をよく考えろ。
1 jspがコンパイルされたあと実行されて出力される。
2 HTMLとしてブラウザに表示
3. ブラウザがJavaScriptを実行して値が決まる
0489デフォルトの名無しさん
2005/07/19(火) 11:54:16連休中やってたんですが、自分がSWINGで間違っているのか?
MYSQLで間違っている(たぶん二つとも間違っているはず)
のかすら、表示までは少し考えればできたんですが、
解からなくなってしまいもうここは神さまに
助けてもらう以外ないと思い書き込みました!助けてください(泣)
0490デフォルトの名無しさん
2005/07/19(火) 12:12:44つくればいいんでしょうか・・・
教えてください
0491デフォルトの名無しさん
2005/07/19(火) 12:34:15また、それらを適当に描画するように、アプレットも作成すること。
0492デフォルトの名無しさん
2005/07/19(火) 12:58:25public class Mado4 extends Panel{
public void paint(Graphics g){
g.drawString("Mado Mado", 50, 80);
}
public void init(){
Button b = new Button("EXIT");
add(b);
}
public void start(){
}
static public void main(String args[]){
Frame f =new Frame("Mado4's window");
Mado4 m =new Mado4();
m.init();
f.add(m, "Center");
f.setSize(200,150);
f.setVisible(true);
m.start();
}
}
に閉じる機能をつけるにはどうすればいいんでしょう?
0493>>476 アルバム その1
2005/07/19(火) 13:10:38import java.io.*;
import java.util.*;
import java.util.List;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.image.*;
public class HW100 extends JFrame {
static final int TW = 120, TH = 120;
public static void main(String args[]) {
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
new HW100(fc.getSelectedFile());
}
}
HW100(File imgDir) {
File[] filelist = readfile(imgDir.getPath()); //画像リスト読み込み
Toolkit tk = Toolkit.getDefaultToolkit();
ImageObserver obs = new ImageObserver() {
public synchronized boolean imageUpdate(Image img, int infoflags,
int x, int y, int width, int height) {
if (infoflags == ImageObserver.ALLBITS) {
this.notifyAll();
}
return true;
}
};
List iconList = new ArrayList();
0494>>476 アルバム その2
2005/07/19(火) 13:11:12Image img = tk.createImage(filelist[i].getPath());
img.getWidth(obs);
synchronized (obs) {
try {
obs.wait();
} catch (InterruptedException e) {
// no operation
}
}
int w = img.getWidth(null);
int h = img.getHeight(null);
int nw = 0, nh = 0;
if (w >= h) {
nw = TW;
nh = (int) (((double) h / w) * TH);
} else {
nh = TH;
nw = (int) (((double) w / h) * TW);
}
ImageFilter filter = new ReplicateScaleFilter(nw, nh);
ImageProducer pdc = new FilteredImageSource(img.getSource(), filter);
ImageIcon ic = new ImageIcon(tk.createImage(pdc));
ic.setDescription(filelist[i].getPath());
iconList.add(ic);
System.out.println(filelist.length + "枚中" + i
+ "枚目の画像をロードしました");
}
0495:>>476 アルバム その3
2005/07/19(火) 13:11:47jlist.setLayoutOrientation(JList.HORIZONTAL_WRAP);
jlist.setVisibleRowCount(0);
jlist.setFixedCellWidth(TW + 16);
jlist.setFixedCellHeight(TH + 16);
jlist.setCellRenderer(new DefaultListCellRenderer() {
JLabel label = new JLabel();
Border bd = BorderFactory.createEmptyBorder(16, 16, 16, 16);
Border selbd = BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.blue, 4),
BorderFactory.createEmptyBorder(12, 12, 12, 12));
{
label.setHorizontalAlignment(JLabel.CENTER);
}
public Component getListCellRendererComponent(JList list,
Object value, int index, boolean isSelected,
boolean cellHasFocus)
{
label.setIcon((ImageIcon) value);
if (isSelected) {
label.setBorder(selbd);
} else {
label.setBorder(bd);
}
return label;
}
});
0496>>476 アルバム その4
2005/07/19(火) 13:12:26final JLabel imgLabel = new JLabel();
imgWnd.getContentPane().add(new JScrollPane(imgLabel));
imgWnd.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
jlist.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() <= 1 || jlist.getSelectedValue() == null) {
return;
}
ImageIcon icon = (ImageIcon) jlist.getSelectedValue();
String imgfile = icon.getDescription();
Image image = Toolkit.getDefaultToolkit().createImage(imgfile);
imgLabel.setIcon(new ImageIcon(image));
imgWnd.pack();
imgWnd.validate();
imgWnd.setVisible(true);
}
});
getContentPane().add(new JScrollPane(jlist));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setExtendedState(JFrame.MAXIMIZED_BOTH);
setVisible(true);
}
0497:>>476 アルバム その5
2005/07/19(火) 13:12:56ArrayList imgfileList = new ArrayList();
File[] imgfile;
File dir = new File(dirname);
imgfile = dir.listFiles();
for (int i = 0; i < imgfile.length; i++) {
String name = imgfile[i].getName();
if (name.toLowerCase().endsWith(".jpg")
|| name.toLowerCase().endsWith(".gif")
|| name.toLowerCase().endsWith(".jpeg")) {
imgfileList.add(imgfile[i]);
}
}
return (File[]) imgfileList.toArray(new File[0]);
}
}
0498342
2005/07/19(火) 13:34:400499342
2005/07/19(火) 13:38:350500ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/19(火) 13:39:05初めにファイルダイアログが出るので、それで画像ファイル群のフォルダを
選んでください。選ぶと、そのフォルダの画像を全部ロードします。
ロードには時間がかかります。画像のサムネイルを表示します。
サムネイルをダブルクリックうすろt拡大表示されます。
0501457
2005/07/19(火) 13:40:560502457
2005/07/19(火) 13:44:01342、435、457は同一人物です
0503476
2005/07/19(火) 14:35:10>>500
コンパイルしようとしたらこんなエラーが出てしまいます(´;ω;`)
なにぶん初心者なんでエラーの意味が分からんです お助けください。
C:\myjava>javac 2ch.java
2ch.java:9: クラス HW100 は public であり、ファイル HW100.java で宣言しなければ
なりません。
public class HW100 extends JFrame {
^
エラー 1 個
0504デフォルトの名無しさん
2005/07/19(火) 14:48:30ImageViewer.java のファイル名を HW100.java に変えてください。
又は
ソースコード内の「HW100」を全部「ImageViewer」に変えてください。
0505476 503
2005/07/19(火) 15:22:35C:\myjava>java HW100
104枚中0枚目の画像をロードしました
104枚中1枚目の画像をロードしました
[停止]
全部ロードしきれてません、なにか画像にでも問題があるのでしょうか?
ちなみに全部jpegで104枚程でサイズは2KB〜10KBです
0506デフォルトの名無しさん
2005/07/19(火) 15:55:29おそらくメモリ不足です。
フォルダ内の画像が何枚でも良いバージョンが必要なら、
言ってください
0507476 503
2005/07/19(火) 16:00:44[追加です]
ためしに画像を3枚程にして実行してみたら実行はできました
しかし画像をダブルクリックしても拡大しません 煤i゜ω゜;)
あとフレームは800×640のサイズにして画像がうまく揃って並び、
拡大も800×640のフレームに収まるちょうど良いサイズに拡大するようにお願いしますですm(__m
0508デフォルトの名無しさん
2005/07/19(火) 16:29:44拡大ってのは、つまりサムネイルを元の画像サイズで表示する事ですよね。
別ウィンドウに元画像が出るはずなのですが・・・
これが出ない訳はないのですが・・・
あと30枚くらいで試してみてください。
そちらのメモリ容量は幾らなのですか?
0509デフォルトの名無しさん
2005/07/19(火) 16:36:310510デフォルトの名無しさん
2005/07/19(火) 16:52:530511デフォルトの名無しさん
2005/07/19(火) 17:36:07確認できるのは7時か8時くらいになっちゃいます
本当スイマセンm(__;)m
0512デフォルトの名無しさん
2005/07/19(火) 18:47:30【 種別 】 丸投げ
【 課題 】 342と同じ物です
どなたか俺のソースコードを読んでくれる神はいませんでしょうか?
再UPしましたのでどなたかお願いします(;_;)
http://uppp.dip.jp/src/uppp5999.zip
0513476 503
2005/07/19(火) 19:37:44(゜д゜;)ウォォ!正直凄ぇ!自分の中の完成イメージとクリソツです!!
・・・あ、でも拡大がうまくいってなかった >>509のように動作するよう改良お願いします!
因みにちゃんと画像100枚読み込めました。
0514476 503
2005/07/19(火) 19:48:38もう一度実行したら>>505のようなエラーでまた停止・・・
全てのアプリを終了してやり直しても停止・・・
そんなにメモリを喰うプログラムなんですかねぇ・・・。
0515>>509 ブラウザ その1
2005/07/19(火) 20:21:21import java.awt.image.*;
import java.io.*;
import java.util.*;
import java.util.List;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;
public class HW100 extends JFrame {
static final int THUMB_WIDTH = 140, THUMB_HEIGHT = 140,
IMAGE_WIDTH = 800, IMAGE_HEIGHT = 600;
public static void main(String args[]) {
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
fc.setVisible(false);
new HW100(fc.getSelectedFile());
}
}
HW100(File imgDir) {
File[] files = readfile(imgDir.getPath());
List iconList = new ArrayList();
for (int i = 0; i < files.length; i++) {
Image img = getScaledImage(files[i].getPath(), THUMB_WIDTH, THUMB_HEIGHT);
ImageIcon ic = new ImageIcon(img, files[i].getPath());
iconList.add(ic);
System.out.println(files.length + "枚中" + i
+ "枚目の画像をロードしました");
}
0516:>>509 ブラウザ その2
2005/07/19(火) 20:22:07jlist.setLayoutOrientation(JList.HORIZONTAL_WRAP);
jlist.setVisibleRowCount(0);
jlist.setFixedCellWidth(THUMB_WIDTH + 16);
jlist.setFixedCellHeight(THUMB_HEIGHT + 16);
jlist.setCellRenderer(new DefaultListCellRenderer() {
JLabel label = new JLabel();
Border bd = BorderFactory.createEmptyBorder(16, 16, 16, 16);
Border selbd = BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.blue, 4),
BorderFactory.createEmptyBorder(12, 12, 12, 12));
{
label.setHorizontalAlignment(JLabel.CENTER);
}
public Component getListCellRendererComponent(JList list,
Object value, int index, boolean isSelected,
boolean cellHasFocus)
{
label.setIcon((ImageIcon) value);
if (isSelected) {
label.setBorder(selbd);
} else {
label.setBorder(bd);
}
return label;
}
});
0517>>509 ブラウザ その3
2005/07/19(火) 20:22:50final JPanel baseP = new JPanel(cardL);
baseP.setPreferredSize(new Dimension(800, 600));
JScrollPane thumbP = new JScrollPane(jlist);
final JLabel imageP = new JLabel();
imageP.setHorizontalAlignment(JLabel.CENTER);
baseP.add(thumbP, "thumb");
baseP.add(imageP, "image");
cardL.show(baseP, "thumb");
jlist.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() <= 1 || jlist.getSelectedValue() == null) {
return;
}
ImageIcon icon = (ImageIcon) jlist.getSelectedValue();
String filename = icon.getDescription();
Image img = getScaledImage(filename, IMAGE_WIDTH, IMAGE_HEIGHT);
ImageIcon ic = new ImageIcon(img);
imageP.setIcon(ic);
cardL.show(baseP, "image");
}
});
imageP.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
cardL.show(baseP, "thumb");
}
});
0518:>>509 ブラウザ その4
2005/07/19(火) 20:23:19setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setResizable(false);
setVisible(true);
}
File[] readfile(String dirname) {
ArrayList imgfileList = new ArrayList();
File[] imgfile;
File dir = new File(dirname);
imgfile = dir.listFiles();
for (int i = 0; i < imgfile.length; i++) {
String name = imgfile[i].getName();
if (name.toLowerCase().endsWith(".jpg")
|| name.toLowerCase().endsWith(".gif")
|| name.toLowerCase().endsWith(".jpeg")) {
imgfileList.add(imgfile[i]);
}
}
return (File[]) imgfileList.toArray(new File[0]);
}
0519::>>509 ブラウザ その5
2005/07/19(火) 20:24:45ImageObserver obs = new ImageObserver() {
public synchronized boolean imageUpdate(Image img, int infoflags,
int x, int y, int w, int h) {
if (infoflags == ImageObserver.ALLBITS) {
this.notifyAll();
}
return true;
}
};
Image img = Toolkit.getDefaultToolkit().createImage(filename);
img.getWidth(obs);
synchronized (obs) {
try {
obs.wait();
} catch (InterruptedException e) { }
}
int w = img.getWidth(null);
int h = img.getHeight(null);
int nw = 0, nh = 0;
if (w >= h) {
nw = width;
nh = (int) (((double) h / w) * height);
} else {
nh = height;
nw = (int) (((double) w / h) * width);
}
return img.getScaledInstance(nw, nh, Image.SCALE_FAST);
}
}
0520デフォルトの名無しさん
2005/07/19(火) 20:32:16画像のロードに ToolKit を使ってる関係かもしれません。
元のコードが、ToolKit を使ってたので、そのまま ToolKit にしました。
一からなら素直に ImageIO クラスを使ったのですが・・・
0522デフォルトの名無しさん
2005/07/19(火) 20:39:37以下俺様用メモ
TODO
>435=>457=>512(!=>342) // 神待ち
>475 // 状況が読み取れません。。
>477
>490
質問が曖昧です。。
>491
0523デフォルトの名無しさん
2005/07/19(火) 20:45:32まとめGJです!
0524デフォルトの名無しさん
2005/07/19(火) 20:48:37今度からテンプレ(>162)使ってくれい。
// CountChar.java
public class CountChar {
public static void main(String[] args) {
char c = args[0].charAt(0);
String s = args[1];
int count = 0;
for( int i=0; i<s.length(); i++ ) {
if( c == s.charAt(i) ) count++;
}
System.out.println( count );
}
}
入力エラーなどは全く考慮してません。
0525デフォルトの名無しさん
2005/07/19(火) 20:52:24今度からテンプレ(>162)使ってくれい。
// CloseFrame.java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class CloseFrame extends JFrame implements ActionListener {
private JButton closeButton;
public static void main(String[] args) {
CloseFrame self = new CloseFrame();
self.setSize( 200, 200 );
self.setVisible(true);
}
public CloseFrame() {
closeButton = new JButton("閉じる");
closeButton.addActionListener(this);
getContentPane().add(closeButton);
}
public void actionPerformed(ActionEvent ae) {
if( ae.getSource() == closeButton ) {
System.exit(0);
}
}
}
0527デフォルトの名無しさん
2005/07/19(火) 22:10:52thank you so much.
0528512
2005/07/20(水) 00:16:140529ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/20(水) 00:28:33ここに、データベースの回答プログラムを貼っておきました。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
MySQLのドライバをクラスパスに含めてください。
このプログラムでは、接続するMySQLのユーザー名は「root」、パスワードは「root」、
データベース名は「test」です。
data テーブルは、test データベースに作成してください。
読込ボタンで、全行を表示します。行データは、JTable に表示されます。
挿入ボタンで、入力されたデータの行を挿入します。
削除ボタンで、現在選択されてる行を削除します。
JTable のセルをダブルクリックすると、列を編集できます。(ID列は編集不可)
編集を決定すると、その列データが更新されます。
0530デフォルトの名無しさん
2005/07/20(水) 00:33:110531デフォルトの名無しさん
2005/07/20(水) 00:38:550532デフォルトの名無しさん
2005/07/20(水) 00:42:550534デフォルトの名無しさん
2005/07/20(水) 01:45:12【 種別 】 丸投げですすいません
【 課題 】 ブラックジャック
【不明点 】 すべて
【 用語 】 JAVA
【 期限 】 できるだけ早めに
【 備考 】独学で勉強中です。Cしかやったことないので全くわかりません。
0535デフォルトの名無しさん
2005/07/20(水) 01:58:122005/7/3などの値は2005-07-03みたく形をYYYY-MM-DDと変換したいのですが
どうしたらいいのでしょうか?
当然、日付として不正なものはエラーとさせたいのですが。
0536デフォルトの名無しさん
2005/07/20(水) 03:52:29import java.text.*;
public class Q535 {
public static void main(String[] args) {
SimpleDateFormat parser = new SimpleDateFormat("yyyy/M/d");
parser.setLenient(false); // 厳密な解析を行う
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String date1 = "2005/12/10";
String date2 = "2005/7/3";
String date3 = "2005/2/31"; // 不正な日付
try {
System.out.println(formatter.format(parser.parse(date1)));
System.out.println(formatter.format(parser.parse(date2)));
System.out.println(formatter.format(parser.parse(date3))); // ここでParseException
} catch (ParseException e) {
e.printStackTrace();
}
}
}
0537デフォルトの名無しさん
2005/07/20(水) 04:11:56情報小出しにするな。
話にならん。
0538デフォルトの名無しさん
2005/07/20(水) 05:41:14ありがとうございます。動作確認もしました!!
出来がすごいです、コードもしっかり拝見させていただきます(泣)
0539デフォルトの名無しさん
2005/07/20(水) 08:15:06ありがとうございます。たすかりました。
0540ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/20(水) 10:25:57ここに回答プログラムを貼っておきました。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
0541課題
2005/07/20(水) 11:39:46バイオリズムを計算する表を完成させる。
課題2…ボックスを3つ追加し、判定日を入力できるようにする。
実行結果は、誕生日1985/4/2と判定日2005/7/7を入力してokを押すと、
経過日数+7401が表示される。
課題3…課題2の段階ではphysical(赤)のバイオリズムしか表示されないので、
emotional(緑)とintellectual(青)が表示されるようにせよ。
各プロットは、四角の点のままでよい。
問題は簡単らしいです。
0542課題
2005/07/20(水) 12:30:22public class ReadExample {
public static boolean readWord(BufferedReader reader, StringTree tree) throws IOException{
int c;
StringTree currentTree = tree;
do{ c = reader.read();
if(c < 0)
return false;
}while(!StringTree.isLetter((char)c));
do{ currentTree = StringTree.append(currentTree, (char)c);
c = reader.read();
}while(c >= 0 && StringTree.isLetter((char)c));
return true; }
public static void main(String[] args) throws IOException {
String fileName = "words.txt";
BufferedReader reader
= new BufferedReader(new FileReader(fileName));
StringTree tree = new StringTree(' ');
while (readWord(reader, tree)) ;
reader.close();
String input = javax.swing.JOptionPane.showInputDialog("Word:");
String result;
if (tree.find(input))
result = "found";
else
result = "not found";
javax.swing.JOptionPane.showMessageDialog(null, result);
System.exit(0); }
}
0543??U^?e`?Q
2005/07/20(水) 12:35:36public class StringTree {
private char letter;
private StringTree[] children;
public StringTree(char c) { letter = c;
children = new StringTree[26]; }
public static int getIndex(char c) {
return toCapital(c) - 'A'; }
public static char toCapital(char c) { if (c >= 'a')
return (char)(c - 'a' + 'A');
else return c; }
public static boolean isLetter(char c) {
return 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z'; }
public boolean find(String word){
int a = word.length();
int[] b = new int[a];
int[] c = new int[a];
for(int i = 0;i < a;i++){
b[i] = word.charAt(i) - 'A';
if(0 < b[i] && b[i] < 25){ c[i] =b[i]; }
else c[i] = b[i] - 'a' + 'A'; }
StringTree tree = this;
for(int i = 0;i < a;i++){ if(tree.children[c[i]] == null){ return false; }
tree = tree.children[c[i]]; } return true; }
public static StringTree append(StringTree a , char c){
StringTree child = a.children [getIndex(c)];
if(child == null) { a.children[getIndex(c)] = new StringTree(c);
child = a.children [getIndex(c)]; } return child; } }
すみません課題が後一歩のところで詰まってるので教えてください。今上の二つのクラスで英単語の辞書データーを読み込んで、
その後に単語をうち込むとあるかないか答えてくれるようにはなってます。しかし課題は無かった場合は辞書的に一番近い単語を表示させたいという事なんで
findメソッドあたりの変更が必要なのかなと思うんですが詰まってます。皆さん教えてくださいお願いします。
0544>>541 バイオリズム その1
2005/07/20(水) 14:10:03import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
public class HW102 extends JApplet {
static final int rithm23[]={ 0, 26, 51, 73, 88, 97, 99, 94, 81, 63,
39, 13,-13,-39,-63,-81,-94,-99,-97,-88,-73,-51,-26};
static final int rithm28[]={ 0, 22, 43, 62, 78, 90, 97,100, 97, 90,
78, 62, 43, 22, 0,-22,-43,-62,-78,-90,
-97,-100,-97,-90,-78,-62,-43,-22};
static final int rithm33[]={ 0, 18, 37, 54, 69, 81, 90, 97, 99, 98,
94, 86, 75, 61, 45, 28, 9, -9,-28,-45,
-61,-75,-86,-94,-98,-99,-97,-90,-81,-69,-54,-37,-18};
BufferedImage img = new BufferedImage(400, 380, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = img.createGraphics();
public void init() {
final JLabel graph = new JLabel(new ImageIcon(img));
graph.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
graph.setHorizontalTextPosition(JLabel.CENTER);
graph.setHorizontalAlignment(JLabel.CENTER);
graph.setFont(new Font("Dialog", 1, 20));
0545>>541 バイオリズム その2
2005/07/20(水) 14:10:41box.setLayout(new BoxLayout(box, BoxLayout.Y_AXIS));
box.setOpaque(true);
box.setBackground(new Color(220, 220, 250));
box.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEtchedBorder(),
BorderFactory.createEmptyBorder(16, 16, 16, 16)));
final JTextField[] tfd = new JTextField[6];
String[] name = { "(birth year) y", "(birth month) m", "(birth day) d",
"(now year) yy", "(now month) mm", "(now day) dd" };
for (int i = 0; i < tfd.length; i++) {
tfd[i] = new JTextField(4);
tfd[i].setFont(new Font("Dialog", 0, 15));
JLabel lab = new JLabel(name[i]);
lab.setPreferredSize(new Dimension(100, 20));
JPanel pal = new JPanel();
pal.setOpaque(false);
pal.add(lab);
pal.add(tfd[i]);
box.add(pal);
box.add(Box.createGlue());
}
0546:>>541 バイオリズム その3
2005/07/20(水) 14:11:14button.setAlignmentX(0.5F);
box.add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
int y = Integer.parseInt(tfd[0].getText());
int m = Integer.parseInt(tfd[1].getText());
int d = Integer.parseInt(tfd[2].getText());
int yy = Integer.parseInt(tfd[3].getText());
int mm = Integer.parseInt(tfd[4].getText());
int dd = Integer.parseInt(tfd[5].getText());
int total = calcDay(y, m, d, yy, mm, dd);
drawGraph(50, 150, total, yy, mm, dd);
drawLine(50, 150, total);
} catch (Exception ex) {
drawGraph(50, 150, 0, 0, 0, 0);
graph.setText("入力数値が不正です");
graph.repaint();
return;
}
graph.setText("");
graph.repaint();
}
});
0547>>541 バイオリズム その4
2005/07/20(水) 14:11:57getContentPane().add(box, BorderLayout.WEST);
getContentPane().add(graph);
((JComponent) getContentPane()).setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));
drawGraph(50, 150, 0, 0, 0, 0);
}
int calcDay(int y, int m, int d, int yy, int mm, int dd) throws Exception {
GregorianCalendar src = new GregorianCalendar(y, m - 1, d);
GregorianCalendar dst = new GregorianCalendar(yy, mm - 1, dd);
if (src.getTime().compareTo(dst.getTime()) > 0) {
throw new Exception();
}
int total = 0;
while (!src.equals(dst)) {
src.add(Calendar.DATE, 1);
++total;
}
return total;
}
0548:>>541 バイオリズム その5
2005/07/20(水) 14:12:35g.setColor(Color.white);
g.fillRect(0, 0, img.getWidth(), img.getHeight());
g.setColor(Color.black);
g.drawLine(x0, y0, x0 + 300, y0);
g.drawLine(x0, y0 + 100, x0 + 5, y0 + 100);
g.drawString("+100", x0 - 30, y0 - 95);
g.drawLine(x0, y0 - 100, x0 + 5, y0 - 100);
g.drawString("-100", x0 - 30, y0 + 105);
g.drawString(" 0", x0 - 30, y0 + 5);
g.drawLine(x0, y0 - 120, x0, y0 + 120);
g.drawString(yy + "/" + mm + "/" + dd, x0 + 2, y0 + 20);
g.drawString("(+" + total + ")", x0 + 2, y0 + 40);
for (int i = 1; i <= 30; i++) {
if (i % 10 == 0) {
g.drawLine(x0 + i * 10, y0 - 120, x0 + i * 10, y0 + 120);
g.drawString("+" + i, x0 + i * 10 + 2, y0 + 20);
g.drawString("(+" + (total+i) + ")", x0 + i * 10 + 2, y0 + 40);
}
else {
g.drawLine(x0 + i * 10, y0 - 2, x0 + i * 10, y0);
}
}
0549まんちょ
2005/07/20(水) 14:20:37読み込んでいきたいのですが、JAVAで可能ですか?可能な場合は
やり方などどんなことでもいいので是非教えて下さい。お願いします。
0550>>541 バイオリズム その6
2005/07/20(水) 14:30:32g.drawString("BIORHYTHM", x0 + 110, y0 + 140);
g.setColor(Color.red);
g.drawString("Physical Cycle", x0 + 20, y0 + 160);
g.setColor(Color.green);
g.drawString("Emotional Cycle", x0 + 20, y0 + 180);
g.setColor(Color.blue);
g.drawString("Intellectual Cycle", x0 + 20,y0 + 200);
}
void drawLine(int x0, int y0, int total) {
int xnow, ynow;
g.setColor(Color.black);
g.drawString("Total Days: " + total, x0 + 20,y0 + 220);
g.setColor(Color.red);
xnow = x0;
ynow = y0 - rithm23[total % 23];
g.fillRect(xnow, ynow, 5, 5);
for (int i = 1; i <= 30; i++) {
xnow = x0 + i * 10;
ynow = y0 - rithm23[(total + i) % 23];
g.fillRect(xnow, ynow, 5, 5);
}
0551:>>541 バイオリズム その7
2005/07/20(水) 14:31:04xnow = x0;
ynow = y0 - rithm28[total % 28];
g.fillRect(xnow, ynow, 5, 5);
for (int i = 1; i <= 30; i++) {
xnow = x0 + i * 10;
ynow = y0-rithm28[(total + i) % 28];
g.fillRect(xnow, ynow, 5, 5);
}
g.setColor(Color.blue);
xnow = x0;
ynow = y0 - rithm33[total % 33];
g.fillRect(xnow, ynow, 5, 5);
for (int i = 1; i <= 30; i++) {
xnow = x0 + i * 10;
ynow = y0-rithm33[(total + i) % 33];
g.fillRect(xnow, ynow, 5, 5);
}
}
}
0552ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/20(水) 14:31:47アプレットサイズは「640×400」にしてください
0553デフォルトの名無しさん
2005/07/20(水) 14:54:280554デフォルトの名無しさん
2005/07/20(水) 15:30:180555デフォルトの名無しさん
2005/07/20(水) 16:56:06>>512
>>491
0556デフォルトの名無しさん
2005/07/20(水) 17:17:38もだろ
0557デフォルトの名無しさん
2005/07/20(水) 17:20:390558490
2005/07/20(水) 18:37:21助かりました!ほんとに感謝してますm(_)m
0559デフォルトの名無しさん
2005/07/20(水) 19:06:50そういう時は >>542-543 と書くといい。
動作の違いはhtmlもしくは2chビューアのポップアップの仕方を参照。
0560>>543 辞書 その1
2005/07/20(水) 22:01:49import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class HW99 {
static Set dic = new TreeSet();
public static void main(String[] args) {
try {
String fileName = "words.txt";
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line = null;
while ((line = reader.readLine()) != null) {
if (line.length() == 0) {
continue;
}
dic.add(line.toLowerCase());
}
reader.close();
} catch (Exception e) {
System.out.println("辞書フィアル words.txt のロードに失敗しました");
System.exit(0);
}
0561:>>543 辞書 その2
2005/07/20(水) 22:04:34panel.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEtchedBorder(),
BorderFactory.createEmptyBorder(4, 4, 4, 4)));
final JTextField tfd = new JTextField(20);
tfd.setFont(new Font("Dialog", 0, 15));
tfd.setBorder(BorderFactory.createLineBorder(Color.black));
JButton btn = new JButton("検索する");
panel.add(tfd);
panel.add(btn, BorderLayout.EAST);
final JTextArea tarea = new JTextArea(8,1);
tarea.setFont(new Font("Dialog", 0, 15));
tarea.setEditable(false);
tarea.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.lightGray, 8),
BorderFactory.createLoweredBevelBorder()));
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (tfd.getText() == null || tfd.getText().length() == 0) {
return;
}
String text = find(tfd.getText());
tarea.setText(text);
}
});
0562>>543 辞書 その3
2005/07/20(水) 22:05:05frame.getContentPane().add(tarea);
frame.getContentPane().add(panel, BorderLayout.NORTH);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
static String find(String input) {
if (dic.contains(input.toLowerCase())) {
return "単語" + input + "は辞書に存在します";
}
class EditDist implements Comparable {
String word;
int cost;
EditDist(String word, int cost) {
this.word = word;
this.cost = cost;
}
public int compareTo(Object o) {
return new Integer(cost).compareTo(new Integer(((EditDist) o).cost));
}
}
Set edSet = new TreeSet();
Iterator it = dic.iterator();
0563:>>543 辞書 その4
2005/07/20(水) 22:05:35String word = (String) it.next();
int cost = getEditDistance(input, word);
if (cost != -1) {
edSet.add(new EditDist(word, cost));
}
}
if (edSet.isEmpty()) {
return "単語" + input + "は辞書に存在しません\n"
+ "それに近い単語も存在しません";
}
StringBuffer sb = new StringBuffer(
"単語" + input + "は辞書に存在しません\n"
+ "それに最も近い単語群を表示します\n\n");
it = edSet.iterator();
int count = 0;
while (it.hasNext() && count < 5) {
EditDist ec = (EditDist) it.next();
sb.append((count + 1) + "位:" + ec.word
+ ":編集距離:" + ec.cost + "\n");
++count;
}
return sb.toString();
}
0564デフォルトの名無しさん
2005/07/20(水) 22:06:07import java.io.*;
import java.util.*;
class sample1{
ArrayList data;
public static void main(String arge[]){
if(arge[0].length()>0){
sample1 sm = new sample1();
sm.reader(arge[0]);
if(sm.data != null){
for(int i = 0;i<sm.data.size();){
try{
if(System.in.read() != 13) continue;
System.out.print((String)sm.data.get(i++));
}catch(IOException e){}
}}}}
void reader(String filename){
try{
BufferedReader r = new BufferedReader(new FileReader(filename));
data = new ArrayList();
String s ;
while((s = r.readLine())!=null){
data.add(s);
}
r.close();
}catch(IOException e){
System.out.println("Error:" + e);
}}}
0565::>>543 辞書 その5
2005/07/20(水) 22:06:07int[][] map = new int[src.length()][dest.length()];
char[] srcC = src.toCharArray();
char[] destC = dest.toCharArray();
int max = (src.length() >= dest.length()) ? src.length() : dest.length();
for (int x = 0; x < map.length; x++) {
for (int y = 0; y < map[x].length; y++) {
if (x == 0 && y == 0) {
map[x][y] = (srcC[x] == destC[y]) ? 0 : 1;
continue;
}
int cost = Integer.MAX_VALUE;
if (x - 1 >= 0 && y - 1 >= 0) {
cost = map[x - 1][y - 1];
}
if (x - 1 >= 0) {
cost = (map[x - 1][y] < cost) ? map[x - 1][y] : cost;
}
if (y - 1 >= 0) {
cost = (map[x][y - 1] < cost) ? map[x][y - 1] : cost;
}
map[x][y] = (srcC[x] == destC[y]) ? cost + 0 : cost + 1;
}
}
if (map[src.length() - 1][dest.length() - 1] >= max) {
return -1;
}
return map[src.length() - 1][dest.length() - 1];
}
}
0566ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/20(水) 22:12:31課題の規模から考えると、単語の照合はコレクションクラスで行い、
最も近い単語を求めるのは、二次元配列を用いたマップ法による
編集距離の解法でするのが、一番適してると思われます。
words.txt には、
pen
desk
button
みたいに、単語を改行して記入してください。
それぞれの単語が辞書に登録されます。
0567デフォルトの名無しさん
2005/07/20(水) 22:26:46イチャモンつけるようで申し訳ないが、
課題は一から書くんじゃなくて>542-543のソースを「修正」することじゃないか?
あと「辞書ファイル」って言ってるぐらいだから
words.txtの単語は辞書順に並んでると想定していいんでないかい?
0568543
2005/07/20(水) 23:06:56一応自分でかなり努力したんでそれを使ってもらえたらうれしかったですが…
ちゃんと見直してちゃんと理解して提出したいと思います。
0569デフォルトの名無しさん
2005/07/21(木) 00:32:59まず、次のプログラムはどのようにプリントされるでしょうか。
public class ToStringTest {
public static void main(String argv[]) {
A a = new A();
System.out.println(a);
}
}
class A {
}
また、次のプログラムはどのようにプリントされるでしょうか。
public class ToStringTest {
public static void main(String argv[]) {
A a = new A();
System.out.println(a);
}
}
class A {
public String toString() {
return "Hey, I'm class A";
}
}
変更したのはクラスAのプログラムです。 System.out.printlnのプログラムはまったく変更していないのに、 System.out.printlnの動作が変わりました。これはなぜでしょうか?
System.out.println にオブジェクトを渡すと、そのオブジェクトのtoStringメソッドを呼び出して、文字列に直してプリントします。 toStringはObjectクラスで定義されているので、どのオブジェクトでも使えます。
0570デフォルトの名無しさん
2005/07/21(木) 02:06:58前半は自分で実行してみろ。AのスーパークラスであるObjectのtoString()が呼ばれている。
後半はSystem.out.println(Object)が行っている処理は何も変わっていない。
オーバーライドされてAのtoString()が返す値が変わったから出力が変わっただけだろ。
何がわからないのかがわからないのだが・・・・
0571ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/21(木) 08:20:16言い訳するようですが、StringTree による文字列木(というのか知りませんが)
の構築は、「最も近い単語を見つける」機能のケースには適当でないと
思いました。
自分も、LZ法系の圧縮プログラム作成時にこの文字列木を使いました。
現在のポインタ以降の文字列が、今までの文字列列内のどこかの部分と
一致するかを調べるケースです。
こういう単語の照合では有効ですが、最近似単語を求めるケースで
文字列木を使うのは適当でないと思ったので(自分はそのアルゴリズムを
知らない)、仕方なく全面的に変えてしまう事にしました。
0572デフォルトの名無しさん
2005/07/21(木) 11:24:27【 種別 】 丸投げです、すいません。
【 課題 】 3枚の手札でミニポーカーゲームを作る。カードは全部で18枚とする。
カードはイメージファイルで表示させる(赤・青・黄の背景色に1〜6まで)
表示された各手札の下にチェックボックスを設定し、ボタンを押した時チェックを入れたカードが入れ替わるようにする
ボタンを押した後同じ数字が2枚そろえば1点、3枚そろえば3点、すべてが同じ色のカードなら2点というふうな点数を表示させる。
【不明点 】 情けなくもすべてが不明('A`)いちおうカードだけは作りました。r,b,yそれぞれ数字.jpgというファイル名にしてます
なにをどう組み合わせればいいのか皆目検討がつきません・・・。
【 用語 】
【 期限 】 ついに明日提出期限orz
【 備考 】 助けて神様
0573デフォルトの名無しさん
2005/07/21(木) 12:53:50試験前の時点でこれが理解できないなら単位は絶対来ないと保証してやる、安心しろ。
0574デフォルトの名無しさん
2005/07/21(木) 13:12:32今の時点でこれが理解できないならどう考えてもおまえはプログラムには向いてないことを保証してやる、安心しろ。
煽りじゃないよ。
0575まんちょ
2005/07/21(木) 14:00:11回答ありがとうございました。しかし、うまく動きませんでした。
実行すると、例外処理が起こったとのことです。
0576デフォルトの名無しさん
2005/07/21(木) 14:01:22○ ○ ○ ○
○ ○ ○
○ ○
○
条件1.下の段の○にはすぐ上にある2つの○の差(絶対値)とする。
(大きな値-小さな値)
条件2.おなじ数値は2度使えない。
どのようなステートメントを使えばいいか全然わかりませんでした。(>▲<)
お願いします。m(__)m
0577デフォルトの名無しさん
2005/07/21(木) 15:23:08どなたかよろしくお願いできますか?
0578回答者
2005/07/21(木) 15:35:550579ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/21(木) 15:44:50ここに、ミニポーカのプログラムを貼っておきました。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
カレントディレクトリに、18枚のカードファイルを含めてください。
(r1.jpg、r2.jpg・・・)
カードファイルが見つからない場合は、デフォルトの絵柄が使われます。
0580デフォルトの名無しさん
2005/07/21(木) 19:06:07迅速な仕事どうもありがとうございます!
ちょっと僕にしてはうまくできすぎてるのであやしまれそうですが^^;
0581デフォルトの名無しさん
2005/07/21(木) 19:49:190582デフォルトの名無しさん
2005/07/21(木) 21:19:03その問題、純粋にパズルとしてやってみたけど、絶対に解けない気が・・・
1〜10の数字で本当に当てはまるのか?
パズルマニアの人教えてくれ〜。
0583デフォルトの名無しさん
2005/07/21(木) 21:52:306 1 10 8
5 9 2
4 7
3
6 10 1 8
4 9 7
5 2
3
8 3 10 9
5 7 1
2 6
4
8 10 3 9
2 7 6
5 1
4
0584>>576 10個の○ その1
2005/07/22(金) 03:03:53public class HW104 {
static int[] nodeNumbers = { 0, 1, 3, 6 };
public static void main(String[] args) {
List ans = new ArrayList();
for (int i = 1; i <= 10; i++) {
Node node = new Node();
node.number[0] = i;
node.usedNums.add(new Integer(i));
ans.add(node);
}
int max = ans.size();
for (int i = 0; i < max; i++) {
level((Node) ans.remove(0), ans, 1, 0, new ArrayList());
}
max = ans.size();
for (int i = 0; i < max; i++) {
level((Node) ans.remove(0), ans, 2, 0, new ArrayList());
}
max = ans.size();
for (int i = 0; i < max; i++) {
level((Node) ans.remove(0), ans, 3, 0, new ArrayList());
}
0585>>576 10個の○ その2
2005/07/22(金) 03:05:00for (int i = 0; i < ans.size(); i++) {
Node node = (Node) ans.get(i);
System.out.println(node.number[6] + " " + node.number[7] + " "
+ node.number[8] + " " + node.number[9]);
System.out.println("" + node.number[3] + " " + node.number[4] + " "
+ node.number[5]);
System.out.println("" + node.number[1] + " " + node.number[2]);
System.out.println("" + node.number[0]);
System.out.println();
}
}
static void level(Node node, List ans, int max, int lev, List pmNums) {
loop: for (int a = 1; a <= 10; a++) {
if (node.usedNums.contains(new Integer(a))) {
continue;
}
if (pmNums.contains(new Integer(a))) {
continue;
}
List nums = new ArrayList(pmNums);
nums.add(new Integer(a));
if (lev >= max) {
int nodeNum = nodeNumbers[lev - 1];
for (int i = 0; i < max; i++) {
int val1 = ((Integer) nums.get(i)).intValue();
int val2 = ((Integer) nums.get(i + 1)).intValue();
if (node.number[nodeNum + i] != Math.abs(val1 - val2)) {
continue loop;
}
}
0586>>576 10個の○ その3
2005/07/22(金) 03:06:27Node obj = (Node) node.clone();
for (int i = 0; i <= max; i++) {
int num = ((Integer) nums.get(i)).intValue();
obj.number[nodeNum + i] = num;
obj.usedNums.add(new Integer(num));
}
ans.add(obj);
} else {
level(node, ans, max, lev + 1, nums);
}
}
}
}
class Node implements Cloneable {
int[] number = new int[10];
Set usedNums = new TreeSet();
public Object clone() {
Node node = new Node();
System.arraycopy(number, 0, node.number, 0, number.length);
node.usedNums = new TreeSet(usedNums);
return node;
}
}
0587ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/22(金) 03:07:58総当りの単純で非効率的なアルゴリズムですが・・・
0588デフォルトの名無しさん
2005/07/22(金) 08:06:300589デフォルトの名無しさん
2005/07/22(金) 09:32:57http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
0590デフォルトの名無しさん
2005/07/22(金) 09:47:17うちのホストからはたてられなかったので誰か立ててください。
スレタイは
【初心者】Java質問・相談スレッド69【大歓迎】
以下テンプレ↓
0591デフォルトの名無しさん
2005/07/22(金) 09:48:19質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
前スレッド
【初心者】Java質問・相談スレッド68【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1119115837/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりでお願い.....
0592関連スレ
2005/07/22(金) 09:49:28★★ Java の宿題ここで答えます Part 52 ★★
http://pc8.2ch.net/test/read.cgi/tech/1119356753/
// 関連スレ
【Java/C/PHP/D/他】統合開発環境Eclipse M17
http://pc8.2ch.net/test/read.cgi/tech/1114847888/
NetBeans / Sun One Studio
http://pc8.2ch.net/test/read.cgi/tech/1056116495/
JSF(JavaServer Faces)【.NET死亡?!!!】
http://pc8.2ch.net/test/read.cgi/tech/1059208396/
【Java】Apache Jakarta Commons
http://pc8.2ch.net/test/read.cgi/tech/1094954163/
Java低速GUI Swing 3
http://pc8.2ch.net/test/read.cgi/tech/1121700954/
Java 高速GUI SWT 2
http://pc8.2ch.net/test/read.cgi/tech/1068349883/
★お前らJavaはJNIで組もうぜ★
http://pc8.2ch.net/test/read.cgi/tech/1033795664/
【Java】次世代Java・J2SE1.6の動向【Mustang】
http://pc8.2ch.net/test/read.cgi/tech/1081698555/
Java系スクリプト言語Groovy
http://pc8.2ch.net/test/read.cgi/tech/1080052050/
J2EEを語ろう
http://pc8.2ch.net/test/read.cgi/tech/1054997727/
EJBは終わってる
http://pc8.2ch.net/test/read.cgi/tech/1036481443/
0593デフォルトの名無しさん
2005/07/22(金) 09:49:47立てちゃった。
【初心者】Java質問・相談スレッド69【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1121993032/l50
0594デフォルトの名無しさん
2005/07/22(金) 09:51:54夏休み期間中は宿題スレを1に入れてもいいかもね。
どんだけ宿題丸投げな奴が相談スレに来るかだけど。
0595590
2005/07/22(金) 10:46:36乙です。
>>592 は改めて質問スレに貼っておきました。
名前欄「テンプレ1」「テンプレ2」とかにすればよかったですね。失礼しました。
0596デフォルトの名無しさん
2005/07/22(金) 10:54:000597デフォルトの名無しさん
2005/07/22(金) 11:00:54フローチャートわかりますか?
0598?543
2005/07/22(金) 13:12:09どうもひと単語一行という訳ではなくスペース一つあけてひたすらランダムに羅列されており、どうもこのプログラムだと一行ごとか、いくつかの単語ごとに区切れてる気がします。
あと始めに以下のような分がありここにある単語は省かなければなりません。申し訳ありませんがこの辺の事をどうかえたらよいかアドバイスいただけませんか??
0599543
2005/07/22(金) 13:13:17# [RESTRICTED USE ONLY]
# THIS FILE IS FOR THE EXAMPLE DATA FOR THE REPORT PROGRAM OF
# ALGORITHM AND DATA STRUCTURE, DEPT. OF INFO. SCI., TOKYO INST. OF TECH.
# [SOURCE]
# THIS DATA IS CREATED BY PERMUTING RANDOMLY WORDS IN THE WORD LIST AT
# http://www.eigozai.com/WORD/WORDDOWN.htm
# [REMARKS]
# ABOUT 1500 WORDS. ONLY LOWER CASE LETTERS (MAYBE!!).
# SOME WORDS MAY APPEAR MORE THAN ONCE.
0600デフォルトの名無しさん
2005/07/22(金) 14:01:28どうも、意味が分からないのですが・・・
できれば、words.txt のフォーマットと、仕様を書いてください・・・
0601デフォルトの名無しさん
2005/07/22(金) 15:48:35【 種別 】マル投げ
【 期限 】日曜0:00
【内容】 In a new computer-assisted board game moves are determined by selecting a
random number. However, players can influence their moves by taking a risk.
The plater selects a number n from 1 to 10. The computer then generates
a random integer r from 1 to 10. The plater's move is then(r-n+1)*n. A cautious
player selects 1 and always moves forward. The ambitious plater selects higher numbers
and may move more forward or may move backward. Write a program to determine one move in
the game. Display the computer's integer selection and the move.
すいません、英語なんですがよろしくお願いします。
0602デフォルトの名無しさん
2005/07/22(金) 16:46:140603デフォルトの名無しさん
2005/07/22(金) 17:22:52とても単純。ユーザーに1から10の整数をインプットさせる。 それで
与えられてる公式をtoString()にぶち込めばよろしい。
0604デフォルトの名無しさん
2005/07/22(金) 17:44:18【 課題 】 キーボードから一行で入力した数字を一桁ずつ表示する
【 期限 】 日曜
一行で一桁ずつ記憶させる方法が全くわかりません。
よろしくお願いします。
0605デフォルトの名無しさん
2005/07/22(金) 19:05:44エラーでましたがなんとか大丈夫でした。どうもありがとうございました。
0606デフォルトの名無しさん
2005/07/22(金) 20:18:22こんなんでいいのか?
public class Main {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader( System.in));
String inputLine=null;
try {
inputLine = reader.readLine() ;
}
catch (IOException ioe){
ioe.printStackTrace();
}
for (int i=0 ; i<inputLine.length() ;++i){
System.out.println(inputLine.charAt(i));
}
}
}
0607デフォルトの名無しさん
2005/07/22(金) 22:19:12【課題】ttp://gameboyz.ddo.jp/file/up0059.zip(passはjava)
【期限】7月一杯
文字列クラスと日付クラスの二つを課題として提示されました
自力でここまでやってきましたが、期限が迫っているにもかかわらず
文字列クラスの後半で行き詰るという醜態を晒して困窮しております
書庫ファイルに、課題内容と現時点までに自分が製作したものを格納してあります
恥を忍んでお願いします
0608デフォルトの名無しさん
2005/07/22(金) 22:47:47【課題】http://www.geocities.jp/abasyaman/aaa.html
【期限】できるだけ早くお願いします
わからない所は全てです。さっぱりわかりません。
0609デフォルトの名無しさん
2005/07/23(土) 02:19:060610デフォルトの名無しさん
2005/07/23(土) 07:21:49もうファイルがないです。。。
0611>>601 ボードG その1
2005/07/23(土) 13:33:07import java.awt.event.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.swing.*;
public class HW105 {
static final byte[][] map = {
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 1, 1, 1, 1, 1, 1, 0, 1 },
{ 1, 0, 1, 0, 0, 0, 0, 1, 0, 1 },
{ 1, 0, 1, 0, 0, 3, 0, 1, 0, 1 },
{ 1, 0, 1, 1, 1, 1, 0, 1, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
};
static final int NONE = 0, CELL = 1, START = 2, GOAL = 3;
static class Piece {
Point pt = new Point();
List prevPtList = new ArrayList();
}
static Piece player = new Piece();
static Piece enemy = new Piece();
static EventDispatcher dpt = new EventDispatcher();
volatile static int slotNum = 1;
volatile static boolean slotStopFlag;
0612:>>601 ボードG その2
2005/07/23(土) 13:34:13static boolean waitFlag;
static final String CHARA = "●";
static JLabel[][] cell = new JLabel[10][10];
static JButton[] numBtn = new JButton[10];
static JButton nextBtn = new JButton("Next");
static JLabel slot = new JLabel();
static JLabel msg = new JLabel();
public static void main(String[] args) {
createFrame();
start();
System.exit(0);
}
static void start() {
setComponentStatus(false, true);
msg.setText("ゲームを開始します。Nextボタンを押してください");
waitFlag = true;
while (waitFlag) {
// no operation
}
initialize();
while (true) {
setComponentStatus(true, false);
msg.setText("番号ボタンを押してください");
startSlot(10);
synchronized (HW105.class) {
try {
HW105.class.wait();
} catch (Exception ex) {
// no operation
0613::>>601 ボードG その3
2005/07/23(土) 13:34:51}
int move = (slotNum - buttonNum + 1) * buttonNum;
if (move >= 0) {
msg.setText("プレイヤーが" + move + "マス進みました");
} else {
msg.setText("プレイヤーが" + Math.abs(move) + "マス戻りました");
}
movePiece(move, player);
if (map[player.pt.y][player.pt.x] == GOAL) {
msg.setText("プレイヤーの勝利です。");
break;
}
setComponentStatus(false, false);
msg.setText("敵がスロットを決めます");
startSlot(15);
int time = (int) (Math.random() * 2000);
try {
Thread.sleep(time);
} catch (Exception ex) {
// no operation
}
slotStopFlag = true;
synchronized (HW105.class) {
try {
HW105.class.wait();
} catch (Exception ex) {
// no operation
}
}
0614>>601 ボードG その4
2005/07/23(土) 13:35:29movePiece(slotNum, enemy);
if (map[enemy.pt.y][enemy.pt.x] == GOAL) {
msg.setText("プレイヤーの敗北です");
break;
}
}
setComponentStatus(false, true);
waitFlag = true;
while (waitFlag) {
// no operation
}
}
static void initialize() {
for (int y = 0; y < cell.length; y++) {
for (int x = 0; x < cell[y].length; x++) {
cell[y][x].setText("");
}
}
player.pt.setLocation(0, 9);
player.prevPtList.clear();
enemy.pt.setLocation(0, 9);
enemy.prevPtList.clear();
cell[player.pt.y][player.pt.x].setForeground(Color.magenta);
cell[player.pt.y][player.pt.x].setText(CHARA);
}
static Color inspeceCell(Point point) {
if (player.pt.equals(point) && enemy.pt.equals(point)) {
return Color.magenta;
} else if (player.pt.equals(point)) {
0615:>>601 ボードG その5
2005/07/23(土) 13:36:04} else if (enemy.pt.equals(point)) {
return Color.red;
} else {
return Color.black;
}
}
static void drawCell(Color color, Point point) {
if (color.equals(Color.black)) {
cell[point.y][point.x].setText("");
return;
}
cell[point.y][point.x].setText(CHARA);
cell[point.y][point.x].setForeground(color);
}
static void setComponentStatus(boolean num, boolean next) {
for (int i = 0; i < numBtn.length; i++) {
numBtn[i].setEnabled(num);
}
nextBtn.setEnabled(next);
}
static void movePiece(int move, final Piece piece) {
while (move != 0) {
final Point prevPt = new Point(piece.pt.x, piece.pt.y);
boolean flag = false;
if (move >= 0) {
flag = moveOneCell(true, piece);
--move;
} else {
flag = moveOneCell(false, piece);
0616::>>601 ボードG その6
2005/07/23(土) 13:54:48}
if (!flag) {
break;
}
final Point crtPt = new Point(piece.pt.x, piece.pt.y);
final Color prevCol = inspeceCell(prevPt);
final Color crtCol = inspeceCell(crtPt);
dpt.addEvent(new Runnable() {
public void run() {
drawCell(prevCol, prevPt);
drawCell(crtCol, crtPt);
}
});
dpt.addWaitEvent(100);
}
dpt.runEventsAndWait();
}
static boolean moveOneCell(boolean front, Piece piece) {
if (front) {
Point[] around = { new Point(0, -1), new Point(-1, 0),
new Point(0, 1), new Point(1, 0) };
for (int i = 0; i < around.length; i++) {
int x = piece.pt.x + around[i].x;
int y = piece.pt.y + around[i].y;
if (x < 0 || x >= 10 || y < 0 || y >= 10) {
continue;
}
if (piece.prevPtList.contains(new Point(x, y))) {
continue;
0617>>601 ボードG その7
2005/07/23(土) 13:55:21if (map[y][x] == NONE) {
continue;
}
piece.prevPtList.add(new Point(piece.pt.x, piece.pt.y));
piece.pt.setLocation(x, y);
return true;
}
} else {
if (!piece.prevPtList.isEmpty()) {
Point prevPt = (Point) piece.prevPtList.remove(
piece.prevPtList.size() - 1);
piece.pt.x = prevPt.x;
piece.pt.y = prevPt.y;
return true;
}
}
return false;
}
static void startSlot(final int maxNum) {
new Thread() {
public void run() {
List list = new ArrayList();
for (int i = 1; i <= maxNum; i++) {
list.add(new Integer(i));
}
Collections.shuffle(list);
int idx = 0;
slot.setForeground(Color.black);
slotStopFlag = false;
0618:>>601 ボードG その8
2005/07/23(土) 13:55:58while (waitTime < 1000) {
if (++idx == list.size()) {
idx = 0;
}
slotNum = ((Integer) list.get(idx)).intValue();
slot.setText("" + slotNum);
if (slotStopFlag) {
waitTime += 250;
}
try {
Thread.sleep(waitTime);
} catch (Exception ex) {
// no operation
}
}
slot.setForeground(Color.red);
synchronized (HW105.class) {
HW105.class.notifyAll();
}
}
}.start();
}
static void createFrame() {
JPanel board = new JPanel(new GridLayout(10, 10));
board.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEtchedBorder(),
BorderFactory.createEmptyBorder(32, 32, 32, 32)));
board.setBackground(new Color(245, 245, 255));
for (int y = 0; y < map.length; y++) {
0619::>>601 ボードG その9
2005/07/23(土) 13:56:35cell[y][x] = new JLabel();
cell[y][x].setHorizontalAlignment(JLabel.CENTER);
cell[y][x].setPreferredSize(new Dimension(32, 32));
cell[y][x].setFont(new Font("Dialog", 1, 20));
if (map[y][x] != NONE) {
cell[y][x].setOpaque(true);
cell[y][x].setBorder(BorderFactory.createLineBorder(Color.black));
}
switch (map[y][x]) {
case CELL:
cell[y][x].setBackground(new Color(220, 220, 250));
break;
case START:
cell[y][x].setBackground(new Color(220, 250, 220));
break;
case GOAL:
cell[y][x].setBackground(new Color(250, 220, 220));
}
board.add(cell[y][x]);
}
}
JPanel ctrl = new JPanel();
ctrl.setLayout(new BoxLayout(ctrl, BoxLayout.X_AXIS));
ctrl.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEtchedBorder(),
BorderFactory.createEmptyBorder(8, 8, 8, 8)));
ctrl.setBackground(new Color(200, 200, 220));
slot.setPreferredSize(new Dimension(48, 48));
slot.setMaximumSize(new Dimension(48, 48));
0620>>601 ボードG その10
2005/07/23(土) 13:57:28slot.setOpaque(true);
slot.setBackground(Color.white);
slot.setHorizontalAlignment(JLabel.CENTER);
slot.setFont(new Font("Dialog", 1, 20));
ctrl.add(slot);
ctrl.add(Box.createHorizontalStrut(8));
for (int i = 0; i < numBtn.length; i++) {
numBtn[i] = new JButton("" + (i + 1));
numBtn[i].setActionCommand("" + (i + 1));
numBtn[i].setMargin(new Insets(4, 8, 4, 8));
numBtn[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
buttonNum = Integer.parseInt(e.getActionCommand());
slotStopFlag = true;
}
});
ctrl.add(numBtn[i]);
}
nextBtn.setMargin(new Insets(4, 8, 4, 8));
nextBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
waitFlag = false;
}
});
ctrl.add(Box.createHorizontalStrut(8));
ctrl.add(nextBtn);
msg.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEtchedBorder(),
BorderFactory.createEmptyBorder(8, 8, 8, 8)));
0621:>>601 ボードG その11
2005/07/23(土) 14:07:13msg.setBackground(new Color(230, 230, 255));
msg.setPreferredSize(new Dimension(0, 28));
msg.setFont(new Font("Dialog", 0, 15));
msg.setHorizontalAlignment(JLabel.CENTER);
JFrame frame = new JFrame();
frame.getContentPane().add(msg, BorderLayout.NORTH);
frame.getContentPane().add(board);
frame.getContentPane().add(ctrl, BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
}
}
class EventDispatcher {
private List eventList = Collections.synchronizedList(new ArrayList());
void addEvent(final Runnable event) {
eventList.add(new Runnable() {
public void run() {
event.run();
if (!eventList.isEmpty()) {
EventQueue.invokeLater((Runnable) eventList.remove(0));
}
}
});
}
void addWaitEvent(final int time) {
eventList.add(new Runnable() {
public void run() {
0622::>>601 ボードG その12
2005/07/23(土) 14:07:44Thread.sleep(time);
} catch (InterruptedException e1) {
// no operation
}
if (!eventList.isEmpty()) {
EventQueue.invokeLater((Runnable) eventList.remove(0));
}
}
});
}
synchronized void runEventsAndWait() {
eventList.add(new Runnable() {
public void run() {
synchronized (EventDispatcher.this) {
EventDispatcher.this.notifyAll();
eventList.clear();
}
}
});
EventQueue.invokeLater((Runnable) eventList.remove(0));
try {
wait();
} catch (InterruptedException e) {
// no operation
}
}
}
0623ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/23(土) 14:09:36全部コピペしてコンパイルしてください。
0624デフォルトの名無しさん
2005/07/23(土) 14:40:47氏ね
0625デフォルトの名無しさん
2005/07/23(土) 14:46:160626デフォルトの名無しさん
2005/07/23(土) 15:55:33助かりました。
ありがとうございました。
0627デフォルトの名無しさん
2005/07/23(土) 17:23:52多くなるならうぷろだ使うのが(ry
0628607
2005/07/23(土) 19:29:25ttp://zetubou.mine.nu/itoshiki/nozomu/zetubou0204.zip
0629デフォルトの名無しさん
2005/07/23(土) 20:03:30あと、エクセルのファイルは怖くて開けません。。。
0630607
2005/07/23(土) 21:09:36説明不足で申し訳ありません。
エクセルファイルと同じ内容のテキストファイルを追加いたしました。
0631Mb
2005/07/23(土) 21:43:39> お願いだから大量のコードを貼るのはやめて下さい。
> 多くなるならうぷろだ使うのが(ry
厭でも見られると思うからコードに緊張感が出る。
うpされたコードはひとつひとつじっくり読んで、
できれば「俺ならこう書く」というコードをうpしる。
それでこそ漢。
0632デフォルトの名無しさん
2005/07/23(土) 22:27:25答える側の人間は
答えさえ出していれば何をしてもイイってことにはならないでしょ。
スレが読みにくくなるって言ってる人が多いんだし
うぷろだも提供されてるわけだから、長々とこのスレにソース貼るのはやっぱマズいよ。
正直なところ、
「俺ならこう書く」という意見を出すような人間は、
うぷろだに載せたソースであってもちゃんとコメントすると思われ。
0633627
2005/07/23(土) 22:53:14このスレは書いたソースの発表会をする場所ではないです。
発表会がしたいならどこかよそでやって下さい。
0634デフォルトの名無しさん
2005/07/23(土) 23:14:28NoSuchAlgorithmExceptionが出てしまいます。
1.4以降のJ2SEには標準装備されていると聞いたのですが、何か設定が必要なんでしょうか?
0635Mb
2005/07/23(土) 23:23:56> 答える側の人間は
> 答えさえ出していれば何をしてもイイってことにはならないでしょ。
とりあえず答えてもらう側の人間は、
答えさえ出してもらえば何だっていいという側面はあると思われ。
>>633
> あれが緊張感のあるソースですかorz
それを言うなら藻前がうpしる(w
「うpしてる」と言うならコテハンで証明しる。
屑コードでも、答えてもらった人間にとっては、
晒したくれたもんが神。
0636632
2005/07/23(土) 23:29:22・質問者と解答者のマンツーマンのやりとり
も
・コテハン使った書き込み
も、匿名掲示板という形式では相応しいやり方とは思えない。
0637デフォルトの名無しさん
2005/07/23(土) 23:34:54まあ、7〜8レスまでのコピペは大目に見るが、
10レス以上にもなると、やや問題がある。
0638デフォルトの名無しさん
2005/07/23(土) 23:39:06>464
0639デフォルトの名無しさん
2005/07/24(日) 01:23:23文字列クラス、未完成メソッドのみ。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25647
日付クラスも要るのかな?だれかやってあげて。
0640Mb
2005/07/24(日) 06:06:02> ・コテハン使った書き込み
> も、匿名掲示板という形式では相応しいやり方とは思えない。
意味がようわからん。
コテハンを使っても匿名は匿名だと思うのだが。
それとも「小島露観」つー実名っぽいハンドルが問題なのか?
>>637
> まあ、7〜8レスまでのコピペは大目に見るが、
2ちゃんで「コピペ」というと、他人の文章をギッてくることを
言うのが普通なので、自分で書いたコードを貼るのは(2ちゃんでいう)
コピペの内には入らんように思うが。
> 10レス以上にもなると、やや問題がある。
それはread.cgi の行数制限がきつすぎるところに問題があるのか?
それとも「もっと短く書け」ということなのか?
0641627
2005/07/24(日) 12:13:11・質問者はどのような形であれ答えてもらえれば構わない。(=うぷろだ使わない理由にはならない)
・大量のソースを貼るとスレが見にくくなり回答者が質問を見落としやすくなる。(=うぷろだ使うべき理由1)
・大量のソースが貼られる事を好ましく思わない人が複数いる。(=うぷろだ使うべき理由2)
・このスレはソースの発表会をする場所ではない。(>>631に対する否定)
これだけ理由が揃っていて何故ソース直貼りにこだわるのかわかりません。
匿名掲示板でわざわざコテを使うほど自己顕示欲強くないので私はコテを使う事はしませんが、
他人にコテを強要する様な>>635の発言は匿名掲示板にはふさわしくないと考えます。
特定の発言に複数発言にわたる長文レスが書き込まれたら、どう思います?
ソースという性質上多少は大目に見るにしても12レスはやりすぎです。
思うに、批判的意見は(私含め)主に回答者から出ているのではないかと思いますが。
0642デフォルトの名無しさん
2005/07/24(日) 13:33:24インデントの悩みも消えてなくなるし、行数制限も気にしなくて済む。
それに、回答が蓄積されるとデータベースとしての効果が期待できる。
0643デフォルトの名無しさん
2005/07/24(日) 13:43:30ここの課題どなたかよろしくお願いします。
難しすぎて、近くにこの問題を解ける人がいないので困っています。
わかりにくい所があればなんでも答えますので、
面倒かもしれませんがよろしくお願いします。
0644デフォルトの名無しさん
2005/07/24(日) 13:54:23GUIはSwingがいい
携帯からだからXMLは見れないがアルゴリズムは多分そう難しくないぞ。
0645デフォルトの名無しさん
2005/07/24(日) 15:04:01http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25661
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25662
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25663
まあ動くって言う程度ですが、もう厭きたので載せます。
載せてから気づいたけど「正解率」は出してないなー。計算してくださいスマソ。
> 余裕がある人は,知識分野やキーワードで絞りこんで問題を出題できるようにしてください。
はできてません。
0646607
2005/07/24(日) 21:46:19有難う御座います。完成した分のメソッドまで頂きました。
ただ、31番と32番はこちらの環境では動作させることが出来ませんでした。
あと、28番については完全にこちらの説明不足でありました。大変申し訳ありません。
aAa[スペース]bbB▽CCc[スペース]ddD亜eee○FFF という文章があった場合
Aaa[スペース]Bbb▽Ccc[スペース]Ddd亜Eee○Fff このように単語ごとに先頭の文字を大文字にするということです。
日付クラスも必要不可欠です。何方か何卒お願いします。
0647ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/07/24(日) 22:25:48ここに、回答プログラムを貼っておきました。
カレントディレクトリに fe.xml を含めてください。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
0648デフォルトの名無しさん
2005/07/25(月) 00:50:36javaとCとの違いをプログラムを用いて示すならどんなプログラムを作れば
いいんでしょうか?オーバーライドとオーバーロードはCのどのような
問題点を解決できるんでしょうか?お願いします。
0649639
2005/07/25(月) 02:33:5531番, 32番:
試しに、
strRet += (char)(strWide.charAt(intRoop) - ('A' - 'A'));
を、
int intDiff = 0xFEE0;// 'A' - 'A'
strRet += (char)(strWide.charAt(intRoop) - intDiff);
に換えてみて。
あと、動かない状況をもう少し詳しく。
コンパイル失敗なのか、例外発生なのか、結果だけおかしいのか。
参考までに、java -version の実行結果も。
0650639
2005/07/25(月) 02:34:3128番:
おっ、よく見たら「単語の先頭を大文字」だったか。
めんどくさいので、正規表現を使わせてもらった。
ソース冒頭にある string 〜 char 以外の使用が禁じられているなら別途相談。
java -version の結果が 1.5.0 代でない場合も別途相談。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public String toProper(String strArrange)
{
String strRegex = "([^\\p{Alpha}]*)(\\p{Alpha})(\\p{Alpha}*)";
Matcher matcher = Pattern.compile(strRegex).matcher(strArrange);
StringBuffer buffer = new StringBuffer();
while (matcher.find()) {
String strTop = matcher.group(2).toUpperCase();
String strLatter = matcher.group(3).toLowerCase();
matcher.appendReplacement(buffer, "$1" + strTop + strLatter);
}
matcher.appendTail(buffer);
return buffer.toString();
}
0651デフォルトの名無しさん
2005/07/25(月) 03:50:140652デフォルトの名無しさん
2005/07/25(月) 08:28:06宿題、課題は7月中に済ませてしまおう!
将来プログラマを目指さない人は、ここで丸投げしてしまおう!
出来たコードを適当にちょこちょこ直せば、バレる事もなく
時間が空くよ。
空いた時間を、遊びなり他の勉強なりに使うがいい!
0653デフォルトの名無しさん
2005/07/25(月) 08:29:56最近はよっぽど規模が大きいか面倒でない限り、回答率が高いぞ!
今の内だー!
0654ColorChooserの製作でつまずいています
2005/07/25(月) 14:16:57HTMLファイルで背景色を指定する場合には,
<body bgcolor="#ffffff">
のように,赤,緑,青の値を16進でそれぞれ2桁ずつ,合計6桁で指定します.この色の指定をサポートするツールを作りましょう.
具体的には次のようなツールを考えます.
スライダー(もしくはスクロールバー)を3本用意し,赤,緑,青に対応させます.
スライダー(もしくはスクロールバー)を動かすと,赤,緑,青の値を0から255まで変化させることができます.
赤,緑,青の値を変化させると, それに応じて,表示される色と16進で表示される赤,緑,青の値が変化します.
以下,このプログラムを作るのに必要になることを説明します.
Swingでは,色はAWTの Colorクラスのオブジェクトを利用して表します.
Colorオブジェクトは,赤,緑,青の3原色の強さを 0から255の整数で指定して作ります.例えば,赤を表すColorオブジェクトは,
Color red = new Color(255,0,0);
で作ります.コンストラクタの引数は,赤,緑,青の順です.
また,いくつかの代表的な色については,すでに定数としてColorオブジェクトが用意されています.の先頭の方の
Field Summaryというところにリストアップされている色です.これらの色は,Colorクラスのクラス変数に代入され
ているので,クラス名とクラス変数名を指定して,次のようにして使うことができます.
Color c = Color.pink;
0655654
2005/07/25(月) 14:19:05class ColorPanel extends JPanel {
public ColorPanel() {
this(Color.white);
}
public ColorPanel(Color c) {
setColor(c);
setPreferredSize(new Dimension(200,150));
}
public void setColor(Color c) {
setBackground(c);
}
public Color getColor() {
return getBackground();
}
}
0656654
2005/07/25(月) 14:22:09ColorPanelを次のように使ってみました.
class TestColor {
public static void main(String argv[]) {
Color initColor = Color.pink;
JFrame f = new JFrame("TestColor");
ColorPanel c = new ColorPanel(initColor);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.getContentPane().add(c,BorderLayout.CENTER);
f.pack();
f.show();
}
}
これを実行すると,ピンクが表示されます.
16進の表示は,JTextFieldを使いました.
0657654
2005/07/25(月) 14:25:49残るはスライダー(またはスクロールバー)ですが, JSlider という部品を使います.
スクロールバー(JScrollBar)もありますので,こちらを使ってもかまいません.
スライダーを動かすと, ChangeListenerのstateChanged メソッドが呼び出されます.
これは,swingであたらしく追加されたイベントなので, import javax.swing.event.*; をプログラムの最初に書く必要があります.
例によって, ChangeListenerインターフェイスをimplementsしたクラスを作り,
そのオブジェクトをJSliberに登録します.そうすると,スライダーを動かした時に,
stateChangedが呼び出されるので,そのメソッドの中で,現在のスライダーの位置に応じて,
ColorPanelの色,および16進の表示を変更するようにします.現在の値,値のセットを行うには,
それぞれ,getValue(), setValue()メソッドを利用します.
Scrollbarは,作るときに,最大値,最小値を指定できるので,赤,緑,青の値の範囲に合わせて,
0から255に指定しておくと簡単です.
JSlider sl=new JSlider(JSlider.HORIZONTAL,0,255,0);
sl.setPaintTicks(true);
sl.setMajorTickSpacing(50);
sl.setMinorTickSpacing(10);
sl.setLabelTable(sl.createStandardLabels(50));
sl.setPaintLabels(true);
とすれば10毎にしるし(tick)や50毎に数値ラベルを付けることができます.
分かりにくい貼り付け方ですみませんが、出来る方いればよろしくお願いしますm(_ _)m
0658デフォルトの名無しさん
2005/07/25(月) 14:38:40記憶する、という命令です。つまり、Javaのソースコードの中で表れる"="は、普通の意
味の、「右辺と左辺が等しい」という意味ではなく、「右辺の値を左辺に代入する」とい
う意味です。
-------------------------------------------------------------------------------------------------------------------------
お願いします
0659デフォルトの名無しさん
2005/07/25(月) 14:46:58どういう命令ですか?
0660デフォルトの名無しさん
2005/07/25(月) 15:22:34どうすればいいですか?
0661釣られてみるテスト
2005/07/25(月) 16:13:43変数num2の内容を、変数num1の内容で置き換える。
変数num1の内容は変化しない。
実行前にnum1に数字の1が、num2には数字の2が入っていたとすると、実行後にはnum1は1、num2も1になる。
>658
うん、それは分かった。で、何を聞きたいの?
>660
ボタンを押したらネットワークを通じて何らかのメッセージをリモートコンピュータに送るようなクライアントプログラムを用意する。
同時に、リモートコンピュータ側にもメッセージを受け取ったら何らかの処理を行なうようなサーバプログラムを用意し、動作させておく。
0662デフォルトの名無しさん
2005/07/25(月) 16:28:40ありがとうございます!!!!!!!!
for(int i=0;i<5;i++){
System.out.println((i+1)+"番目の人の点数は"+
test[i]+"です");
}
もお願いします。すいません、お願いします!
0663デフォルトの名無しさん
2005/07/25(月) 17:05:230664607
2005/07/25(月) 19:22:00当初は結果が反映されなかったのですが、ご指導にあった部分を変更したところ
myString.java:512: シンボルを解決できません。
シンボル: 変数 strWide
場所 : myString の クラス
strRet += (char)(strWide.charAt(intRoop) - intDiff);
とコンパイルエラーが表示されてしまいました。
また、冒頭に明記されている型以外の型を使用することは出来ません。
当方、Verは1.5.0シリーズではなく、1.4.2です。
0665デフォルトの名無しさん
2005/07/25(月) 21:04:51num=new int[5][5]; ---(2)
(1)(2)は何を行う命令かをおしえてください。
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
System.out.print(num[i][j]+"");
}
System.out.println("");
何を行う命令か教えてください。お願いします。
0666639
2005/07/25(月) 21:55:38わざわざ書かなかったけど、32 番のほうは、
strRet += (char)(strNarrow.charAt(intRoop) + intDiff);
になる。
で、改28番。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=25672
0667Mb
2005/07/25(月) 21:57:46> javaとCの違いは?といったらオブジェクト指向のことになりよね!?
そうとも言えん。Java でも関数型に近いコーディングはできる。
C は「やろうと思えばなんでもできる」という自己責任言語。
Java は「ヤバそうなことをやろうとするとコンパイラが通さない」
というお砂場言語。
> javaとCとの違いをプログラムを用いて示すならどんな
> プログラムを作ればいいんでしょうか?
とりあえず「キャスト」と「ジェネリック」について調べてみそ。
> オーバーライドとオーバーロードはCのどのような
> 問題点を解決できるんでしょうか?
質問する前に「オーバーライド」と「オーバーロード」について
理解しる。
0668デフォルトの名無しさん
2005/07/25(月) 21:59:41どんだけマルチしてんだよ
0669デフォルトの名無しさん
2005/07/25(月) 22:27:590670kompactaaaaaaa
2005/07/25(月) 23:41:04再生ボタンを押すと 音楽を楽譜どうりに再生するプログラムがかきたいんですが、
だれか できる人がいたら やってくれませんか?お願いします。
0671デフォルトの名無しさん
2005/07/25(月) 23:58:05前から、しょっちゅうネタの課題ばかり出しやがって。
分かってるんだよ。いつもの奴だろ。
誰かが苦労してプログラム書いても、いつもシカトして遊んでるだろが。
いい加減にしろ。バカが。
0672デフォルトの名無しさん
2005/07/26(火) 00:03:47だれか できる人がいたら やってくれませんか?お願いします。
0673デフォルトの名無しさん
2005/07/26(火) 00:08:27お前はいい加減にしろよ。何度、ネタの課題を出して
人を振り回せば気が済むんだ? もう我慢の限度を超えてるんだよ。
真面目にやってる人間の気持ちを踏み躙って、何が楽しいんだ?
そんなネクラな楽しみしかないのか? 正に人間のクズだな。
お前のおかげで、どれだけの人間がやる気を無くしたと思ってるんだ。
お前の罪がどれだけ大きいかよく考えてみるといい。
0674661
2005/07/26(火) 00:32:49この時期にそれが理解できない奴に、単位は死んでも来ない。
つーわけで答えるだけ無駄。
>670
そんなオープンソースソフトウェアを以前見かけたことがある。
言語がJavaだったかどうかは自信ないが。
0675デフォルトの名無しさん
2005/07/26(火) 01:47:07【 種別 】 丸投げぎみな質問です。
【 課題 】 画像をグレイスケールに変換したあとにラプラシアンフィルターを使って表示させなさい。
|0 1 0|
L=|1 −4 1|
|0 1 0|
【不明点 】 ラプラシアンの使い方
【 期限 】 7月29日
【 備考 】 ラプラシアンのところだけ表示されず、不明なので抜粋しました。
public void laplace(){
int width, height;
int pixels[];
int op[][]={{-1,-1,-1,},{-1,8,-1,},{-1,-1,-1,}};
int[][] pixels2=new int[height][width];
for(int y=0; y<height; y++){
for(int x=0; x<width; x++){
int value=0;
for(int i=-1; i<=1; i++){
for(int j=-1; j<=1; j++){
int y2=y+i;
int x2=x+j;
if(y2>=0 && y2<height && x2>=0 && x2<width){
value=value+(pixels2[y2][x2] & 0xFF)*op[i+1][j+1];
}}}
if(value<0){value=0;} else if(value>255){value=255;}
pixels2[y][x]=0xFF000000 | (value<<16) | (value<<8) | value;
}}}
よろしくお願いします。
0676デフォルトの名無しさん
2005/07/26(火) 02:27:10わけがワカラン
0677675
2005/07/26(火) 08:51:420678デフォルトの名無しさん
2005/07/26(火) 09:07:000680デフォルトの名無しさん
2005/07/26(火) 14:08:00int width, height; の代入忘れに一票。
0681675
2005/07/26(火) 14:17:02int width, height;は元々フィールドにあって
代入してなくてもグレイスケールは表示されました。
なので、代入忘れじゃないっぽいです。
0682680
2005/07/26(火) 15:55:18まあ、そういわずにやってみる。
�@下準備として、メソッドの最後にデバッグ文を追加する。
System.out.println(pixels2.length);
これで、pixels2 の、y 方向のサイズが出力される。0 になってるはず。
�Aローカル変数に、インスタンス変数(フィールド)を代入する。
int width = this.width, height = this.height;
y 方向のサイズが予期した値に変わるはず。
�B実は、そもそもインスタンス変数のコピー自体不要なので、
�@のデバッグ文共々�Aを削除する。
�C「スコープ(別のスコープで同じ変数名を使うとどうなるか)」や、
キーワード「this」についてもう少しお勉強!
この分だと、pixels2 もフィールドにあったりするんだろうな・・・
0684デフォルトの名無しさん
2005/07/26(火) 16:55:40適当なので参考程度にとどめてくれ。
http://www.uploda.org/file/uporg156133.zip.html
受信パス:654-657
0686657
2005/07/27(水) 00:27:14ありがとうございます。参考にさせてもらいます!
プログラムを分けて書いたとこ辺り難しそうでしたが、実行した結果は
このようなものであっているのでとても参考になりそうです。
わざわざアップロードまでしていただいてありがとうございましたm(_ _)m
0687657
2005/07/27(水) 00:27:52ありがとうございます。参考にさせてもらいます!
プログラムを分けて書いたとこ辺り難しそうでしたが、実行した結果は
このようなものであっているのでとても参考になりそうです。
わざわざアップロードまでしていただいてありがとうございましたm(_ _)m
0688654
2005/07/27(水) 00:28:29ありがとうございます。参考にさせてもらいます!
プログラムを分けて書いたとこ辺り難しそうでしたが、実行した結果は
このようなものであっているのでとても参考になりそうです。
わざわざアップロードまでしていただいてありがとうございましたm(_ _)m
0689654
2005/07/27(水) 00:29:02ありがとうございます。参考にさせてもらいます!
プログラムを分けて書いたとこ辺り難しそうでしたが、実行した結果は
このようなものであっているのでとても参考になりそうです。
わざわざアップロードまでしていただいてありがとうございましたm(_ _)m
0690654
2005/07/27(水) 00:30:04ありがとうございます。参考にさせてもらいます!
プログラムを分けて書いたとこ辺り難しそうでしたが、実行した結果は
このようなものであっているのでとても参考になりそうです。
わざわざアップロードまでしていただいてありがとうございましたm(_ _)m
0691657
2005/07/27(水) 01:50:12書き込みするとエラーがでて何回も書き込みボタン押したもので・・・
0692デフォルトの名無しさん
2005/07/27(水) 02:24:35public int x;
public int y;
public void swap(int s){
int x=s*y;
y=s*x;
this.x=x;
}
public void swap2(int s){
int x=s*y;
System.out.println(this.x);
y=s*this.x;
this.x=x;
}
public static void main(String[] args){
En2 pt =new En2();
pt.x=3;
pt.y=4;
pt.swap(2);
//System.out.println(pt.x + " " + pt.y);
pt.swap2(3);
//System.out.println(pt.x + " " + pt.y);
}
}
これを実行するとthis.xのプリントは8になります。
自分の考えでいくと上のxの値になって48な気がするんですけど。
sawpでそのように考えてswap2だとその考えが通りません。
どう考えればいいのでしょうか?お願いします。
0693692
2005/07/27(水) 02:31:46this.xっていうのはここの時点でのxの値って考えて、
swapでthis.xをxの値8にしてあるからswap2でもthis.x=x;と置きなおすまでは
this.xは8のままという考えでいいのでしょうか?
混乱してしまってすみません。
0694デフォルトの名無しさん
2005/07/27(水) 03:34:47落ち着け。まずは日本語の文法からだ。
0695デフォルトの名無しさん
2005/07/27(水) 03:37:10swap2で出力されるのは、入れ替わりもs倍もされていないx。
int xと宣言した場合、「x」といったらthis.xではなく変数xを指す。
二つは別物で、xの方はブロックを抜けたとき(メソッド終了時)破棄される。
int xという宣言が無い場合、「x」とはthis.xを指す。
つーか混乱する位ならメンバと同名の変数なんぞ使うな。
あと、メソッドの作り方が気持ち悪い。
swapというメソッド名ならば、入れ替える操作だけにしておいた方がいい。
俺なら両方の変数をn倍するメソッドを別に作る。
0696607
2005/07/27(水) 07:54:0628番の方、有難う御座います。たびたびお手数をおかけして申し訳ありません。
ただ、31番と32番は、コンパイルエラーがなくなっても実行結果において期待する結果が反映されないようです。
0697639
2005/07/27(水) 08:14:17どんな引数でどんな結果になるかが分からないと、なんともいえない。
ちなみに、xls ファイルどおり、
31 全角を半角に変換 → toWide(strStr)
32 半角を全角に変換 → toNarrow(strStr)
で作ったけど、その辺を勘違いしてない?
0698デフォルトの名無しさん
2005/07/27(水) 14:01:07【 種別 】 丸投げです.すいません。
【 課題 】 ドライバークラス
【 用語 】 JAVA
【 期限 】 7/28/2005
/* 与えられたプログラムに次のメソッドを加えて、テストプログラムを書けという課題が出ました。
一応メソッドは付け加えたのですが、テストプログラムを書く事ができません。お願いします。
*/
* Check with http://java.sun.com/j2se/1.4.2/docs/api/ for more details.
* public void removeFirst();
* throws a NoSuchElementException if the list is empty
* public void removeLast();
* throws a NoSuchElementException if the list is empty
* public void clear();
* removes all the elements from the list
* public int indexOf(Object obj);
* public int lastIndexOf(Object obj);
* public Object remove(int index);
* returns the Object previously at the specified position
* throws an IndexOutOfBoundsException-if the index is out of range
* public set(int index, Object obj);
* returns the Object previously at the specified position
* throws an IndexOutOfBoundsException-if the index is out of range
* public Object[] toArray();
* returns an array containning all the elemens in this list
* in the correct order
* public Object clone();
*/
0699デフォルトの名無しさん
2005/07/27(水) 14:02:40public class LinkedList2 {
// Data Fields
Node head; // reference to the first node of the list
Node tail; // reference to the last node of the list
int length; // number of entries
Object[] data;
private class Node {
// Data Fields
Object data; // entry
Node next; // link to next node
// Constructors
private Node(Object element) {
data = element;
next = null;
}
private Node(Object element, Node nextNode) {
data = element;
next = nextNode;
}
} // Node
0700698コードその2
2005/07/27(水) 14:04:16private Node nextItem; // reference to next node
private Node priorItem; // reference to prior node
private boolean canRemoveItem = false;
public MyIterator() {
nextItem = head;
priorItem = null;
}
public boolean hasNext() {
return (nextItem != null);
}
public Object next() {
Object element;
if(!hasNext())
throw new java.util.NoSuchElementException("The list is empty");
else {
element = nextItem.data;
priorItem = nextItem;
nextItem = nextItem.next;
canRemoveItem = true; // ok to call remove()
return element;
}
}
0701698コードその3
2005/07/27(水) 14:05:49if (canRemoveItem = false) // need to call next() first
throw new IllegalStateException();
else {
// code
length--;
canRemoveItem = false; // cannot call remove() twice in a row
}
}
} // MyIterator
// Constructors
/** Creates a new instance of LinkedList2 */
public LinkedList2() {
head = null;
length = 0;
}
0702698コードその4
2005/07/27(水) 14:06:52if ( index < 0 || index > size())
throw new IndexOutOfBoundsException();
else if (index == 0)
addFirst(entry);
else if (index == size())
addLast(entry);
else {
Node pos = head; // pos = this[0]
for( int k = 1; k <= index-1; k++)
pos = pos.next;
// loop invariant: pos = this[k]
// place new node between
// pos = this[index-1] and pos.next = this[index]
Node newNode = new Node(entry, pos.next); // newNode -> this[index]
pos.next = newNode; // pos = this[index-1] -> newNode
}
length++;
}
public void addFirst(Object element) {
if (length == 0) // empty list
head = new Node(element);
else
head = new Node(element, head);
length++;
}
0703607
2005/07/27(水) 20:51:47申し訳ありません。全く関係の無いところでマヌケな失敗をしでかしていたようです。
31番と32番、指定どおりに動きました。たいへんご迷惑をおかけしました。
0704デフォルトの名無しさん
2005/07/27(水) 21:18:05【 課題 】 http://homepage1.nifty.com/kodayan/java/ja03f.htm←こういうカレンダーをutil使わないで作るっていうやつです。
僕ではさっぱりなのでお願いします
0705デフォルトの名無しさん
2005/07/27(水) 21:55:22util使えないと無理じゃね?
0706デフォルトの名無しさん
2005/07/28(木) 00:45:14�@サーブレットでrequest.getParameterNamesを使ってフォームのオブジェクト名を取得
�Aその値とrequest.getParameterで取得した値をHashMapに格納
�BBeanUtilsのBeanUtils.populateでBeanに名前を意識せずに格納
ってな感じでプログラムを作ってます。
オブジェクト名とかサーブレットで意識しなくてよくて便利〜って思ってたらチェックボックスを
一度オンにするとリロードしても外れなくなりました。
チェックボックスってチェックされないとrequest.getParameterNamesで取れないんですね。
何とか回避する方法ないでしょうか?
0707698です。
2005/07/28(木) 05:06:30【 種別 】 丸投げです.すいません。
【 課題 】 ドライバークラス
【 用語 】 JAVA
【 期限 】 7/28/2005
すいません、2度目です。昨日全て投稿できなかったので、ウェブにのせました。
2回もすいません。いまだにmail classが途中までしかかけてません。
与えられたプログラムにメソッドを加えて、テストプログラムを書けという課題が出ました。
メソッドは付け加えたのですが、テストプログラムを書く事ができません。
お願いします。
http://www.geocities.jp/sprint_phila/java_code/list.rtf
http://www.geocities.jp/sprint_phila/java_code/testList.rtf
0708デフォルトの名無しさん
2005/07/28(木) 06:47:34徹夜明けで脳がうまく動かん。
java.util.Date使わずに現在時刻取得する方法ってなんかあったっけ?
現在日時の取得が不要ならば余裕。単純にツェラーの公式で曜日算出。
0709デフォルトの名無しさん
2005/07/28(木) 10:49:25人をテスターに使うとはいい度胸だ。と思いつつテストしてみたヒマな俺。
ttp://www.uploda.org/file/uporg157517.zip.html
残念ながら、試験通過率は 16/32 です。
↓だめなケース
3. 12. 13. 14. 15. 17. 18. 19. 22. 23. 24. 25. 29. 30. 31. 32.
0710704です
2005/07/28(木) 12:24:23【 種別 】 丸投げです
【 課題 】 BorderLayoutのnorthにFlowLayoutをいれて、
テキストに年と月を入れてボタンを押すとカレンダーがでるってやつです。
勘違いしてました。
http://takkyssquare.s4.xrea.com/yoshinoya/obj/obj25_1.JPG←なんかこんな感じです
0711デフォルトの名無しさん
2005/07/28(木) 13:26:400712デフォルトの名無しさん
2005/07/28(木) 13:35:45とりあえず落ち着いて、「課題そのもの」をうぷすることをお勧めする。
0713デフォルトの名無しさん
2005/07/28(木) 18:22:07【 種別 】 質問です
【 課題 】 if( ){ } else if( ){ } else{ }を使って
80点以上なら進級、80点未満で欠席率が30未満なら再試、80点未満で欠席率が30以上なら留年
というようなプログラムを作りたいのです。
(前の方は略)
int hyouka;
if(tensu>=80){
hyouka="進級";
}
else if(kesseki<30){
hyouka="再試";
}
else{
hyouka="留年";
}
System.out.println( "点数:"+tensu+"\t欠席率:"+kesseki+"\t評価:"+hyouka+);
【不明点 】 こうすると、最後の行に、「')'がありません」と出ます
似た問題がいっぱいあって、やってみると何故か全部に同じエラーが出ます
あと、これの場合は同じく最後の行に「式の開始が不正です」とも出ます
正しいプログラムを教えてもらえると嬉しいです
【 期限 】 今日中
0714デフォルトの名無しさん
2005/07/28(木) 19:02:180715デフォルトの名無しさん
2005/07/28(木) 20:05:01System.out.println( "点数:"+tensu+"\t欠席率:"+kesseki+"\t評価:"+hyouka);
最後の + は必要ない。
0716713
2005/07/28(木) 20:35:49有難うございます!
しかし今度は、hyoukaの3つに「互換性のない型」と出てきました
一応書いてみます
検出値 : java.lang.String
期待値 : int
hyouka="進級";
^
あれから、1つも解けなくてヤバイ状態です(つД`)
0717デフォルトの名無しさん
2005/07/28(木) 20:41:13> 検出値 : java.lang.String
> 期待値 : int
このエラーメッセージを読んで>713の
> int hyouka;
を修正しる。
0718713
2005/07/28(木) 21:21:27String hyouka;
に変えてみたら、javacが出来ました!有難うございます!
しかしjavaをやろうとしたら、今度は
>Exception in thread "main" java.lang.NoClassDefFoundError:
と…。色々やってみましたが、分らないので諦めるしかなさそうです
分らない問題が山積みで、連続で申し訳ないのですが、もう1つだけ質問させてください
【 PG 歴 】 【Java 歴】 ド級初心者
【 種別 】 丸投げです
【 課題 】 {3,1,5,4,0,5,-1}というような整数の配列を宣言、初期化し、それらの数値を繰り返し構文(while)を使って印刷。
フローチャートも書くこと。
【不明点 】 全てが意味不明な状態です
【バージョン】 java version "1.5.0_02"
【 期限 】 今日中ですが、明日の明るいうちなら…
0719デフォルトの名無しさん
2005/07/28(木) 21:43:46Javaのプログラムを動かした経験がない、とか言わないよな?
Hello, worldでも何でもいいけど、一度は動かした事があるんだよな?
ファイル名とクラス名が一致してないといけないとか、その程度は分かってるよな?
public class ArrayTest {
public static void main(String[] args){
int[] array = {3,1,5,4,0,5,-1};
//宣言、初期化
int i = 0;
//繰り返し回数のカウント用変数
while(i<array.length)
{
System.out.println(array[i]);
i = i + 1;
}
}
}
全角スペースで整形してるので、全角スペース全部消してからコンパイル。
0720デフォルトの名無しさん
2005/07/28(木) 21:48:09()で括ってあるのは丸で、[]は四角で、<>は菱形で囲むべし。
(Start)
↓
[ array←{3,1,5,4,0,5,-1} ]
↓
[i←0]
↓
< i<array.lengthか? > ←──────┐
↓No ↓Yes │
(End) [array[i]を表示] . │
↓ │
[i←i+1] │
└─────────┘
0721713
2005/07/28(木) 23:50:29本当に有難うございます!
arrayとかは習ってないので、案の定チンプンカンプンです
でも助かりました
これを機会に、もっと勉強してきます
ちなみに、どこのサイトを見ても難しくて理解できないのですが、それが普通なんでしょうか
0722デフォルトの名無しさん
2005/07/28(木) 23:53:510723デフォルトの名無しさん
2005/07/29(金) 00:06:57・int型の配列a[]は、任意の長さで、互いに異なる正の整数が大→小の順に並んでい るとする。このときa[i-1]とa[i]の間を「第i区間」と呼ぶ。例えばa[]が「12 9 6 4 3」という並びのとき、12と9の間は第1区間、6と4の間は第3区間である。
・コマンドラインから正の整数(Nとする)を一つ入力して、Nがa[]のどの区間に属するか(どの区間にも属さない場合はエラー)を表示する下記のプログラムを完成させよ。
public static void main(String[] args){
int N= ; /* コマンドライン引数を整数に変換 */
int a[]= ; /* 初期値を与える */
if( ){
System.out.println("区間外エラー");
} else {
int i;
for(i ; ; ){
if(a[ ] ){ /* ↓Nが属する区間の表示 */
System.out.println( );
break;
}
}
}
}
・a[]の初期値は、上記の条件を満たすように各自で適当に与えること。また、Nがa[]のいずれかの要素(=区間の切れ目)に等しい場合は、小さい方(左側)の区間に属するものとする。
お願いします。
0724707
2005/07/29(金) 02:16:40遅くなりましたが、ありがとうございました。
0725707
2005/07/29(金) 02:19:53アップしてもらった、ファイル消されてしまってて見れないんですが、
すいません、もう一度アップしてもらえませんでしょうか?
0726709
2005/07/29(金) 05:10:43ttp://www.uploda.org/file/uporg158296.zip.html
先頭に package 宣言がついてるので、いらなきゃ削って。
ところで、
ttp://sourcepost.sytes.net/
が昨日から見れない・・・
0727デフォルトの名無しさん
2005/07/29(金) 06:51:45依頼はテンプレ準拠でお願いします。
0728デフォルトの名無しさん
2005/07/29(金) 07:16:350729719
2005/07/29(金) 08:10:33arrayは単なる変数名、名前なんで、それ自体に意味は無い。
別に
int[] chinko = { 3, 1, …};
(中略)
while(i<chinko.length) {
System.out.println(chinko[i]);
(後略)
とかでも問題ない。
プログラミングの勉強のうち、本当に入口の部分は人に聞いて覚えた方が間違いなく早いと思う。
ちゃんと講義に出て、先生なり友達なりに聞くべきだったと思うね。
とっかかりさえ掴んでしまえば後は自力でいくらでも勉強できるけど。
プログラミングは結局書いて覚えるしかない。
サンプルを眺めるだけじゃなく、実際自力で打ち込んで実行させないと。
0730デフォルトの名無しさん
2005/07/29(金) 10:08:080731713
2005/07/29(金) 11:28:30ご丁寧に有難うございます!
arrayじゃなくても良いんですか、でも省略してはだめなんですよね?
0732デフォルトの名無しさん
2005/07/29(金) 11:49:21public static void main(String[] args)
{
int N = Integer.parseInt(args[0]); /* コマンドライン引数を整数に変換 */
int a[] = { 20, 15, 10, 5, 1 }; /* 初期値を与える */
if (N >= a[0] || a[a.length-1] > N)
{
System.out.println("区間外エラー");
}else
{
int i;
for (i = 1; i < a.length-1; i++)
{
if (a[i-1] > N && N >= a[i])
{ /* ↓Nが属する区間の表示 */
System.out.println("Nは第"+i+"区間に属している");
break;
}
}
}
}
0733デフォルトの名無しさん
2005/07/29(金) 11:52:250734707
2005/07/29(金) 12:03:06thank you so much.
0735713
2005/07/29(金) 15:10:19Exception in thread "main" java.lang.NoClassDefFoundError: xxx (wrong name:xxx)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
>>719さんに教えてもらったものも、javacは出来ましたがjavaを実行しようとするとこんなエラーが出ます
前にやった.javaを同じフォルダに持ってきてやってみましたが、ちゃんと出来ました
(set pathとset classpathは同じフォルダのバッチファイルに入ってます)
しつこくてすいませんが、エラーの原因がわかる方教えてください
0736デフォルトの名無しさん
2005/07/29(金) 15:26:08ここは本当に「wrong name:xxx」って出てるのか?
0737713
2005/07/29(金) 15:39:27xxxのところはorz3みたいな普通のファイル名です
それ以外は同じです
0738デフォルトの名無しさん
2005/07/29(金) 16:57:110739デフォルトの名無しさん
2005/07/29(金) 17:22:000740デフォルトの名無しさん
2005/07/29(金) 17:27:480741デフォルトの名無しさん
2005/07/29(金) 17:33:47これを食べれば長生きできる気がするんじゃよ。
0742デフォルトの名無しさん
2005/07/29(金) 17:55:270743デフォルトの名無しさん
2005/07/29(金) 18:07:16http://www.ics.kagoshima-u.ac.jp/~fuchida/edu/algorithm/sort-algorithm/bucket-sort.html
0744デフォルトの名無しさん
2005/07/29(金) 22:36:44名前の無い変数には、後から値を代入したり値を読み出したりすることが出来ない。
「どの」変数に値を代入するかとか、「どの」変数を読む込むかを指定する手段がないからな。
名前が無い人を呼ぶことが出来ないのと同じ理屈だ。
省略できない、というか、省略できたとしてもその後その変数を使う手段が無くなるので意味が無い。
状況によっては無名の変数(のようなもの)を使う場合もあるが、それはずっと先のお話。
>741
publicがどうとかmainがどうとか説明するのが面倒だったので「一致させろ」と思わず言ってしまった。
別に問題は発生しないし、無駄に長い説明をしても混乱するだけだろうと思った。
今は反省していない。
0745741
2005/07/29(金) 23:38:29すまん、漏れはただ713に対して「719の4行目を読んでファイル名修正すれば幸せになるんじゃね?」
と言いたかっただけなんだ。
今は反省している。
0746デフォルトの名無しさん
2005/07/30(土) 17:23:25【 種別 】 丸投げ
【 課題 】
信号機の機能を持つ Signalクラスを作成してください。
Signalクラスはフィールドに String型で名前がstrの
信号の状態を持ち,"赤" "青" "黄"のいずれかを持つ。
メソッドには
setRed()
setBlue()
setYellow()
show()
を持つ
それぞれ,赤色,青色,黄色に変更と現在の信号の色を表示する。
0747デフォルトの名無しさん
2005/07/30(土) 18:02:13public class Signal {
private String state;
public void setRed() { this.state = "赤"; }
public void setBlue() { this.state = "青"; }
public void setYellow() { this.state = "黄"; }
public void show() { System.out.println(this.state); }
}
0748デフォルトの名無しさん
2005/07/30(土) 18:06:100749デフォルトの名無しさん
2005/07/30(土) 21:07:51それ以前にこのクラスの設計がマイナス53万点。
0750デフォルトの名無しさん
2005/07/31(日) 00:15:04更新前と更新後を比較して違ってれば更新または登録ってしようようとすると
100個のGet、Setがあれば全部取り出して
比較するしかないんですか?
クローンまでは調べてわかったんですけど・・・。
変更されたかどうかとか知りたいこと多いと思うんですけど。
一般的なJavaな人はどうしてるんでしょう?
0751デフォルトの名無しさん
2005/07/31(日) 00:33:24equals()とかで出来ないか?
(実装されてる事が前提だが)
0752707
2005/07/31(日) 03:46:06【 種別】 丸投げ
【 課題】 パン焼き機を操作するプログラムを書いてください。
詳細は以下のとおりです。
http://www.geocities.jp/sprint_phila/java_code/breadMachine.rtf
0753デフォルトの名無しさん
2005/07/31(日) 06:22:361.2.3. での入力例を具体的に。
4. の readBoolean() とは java.io.DataInput#readBoolean() のことか?
0754752
2005/07/31(日) 06:41:27よろしくお願いします。
0755752
2005/07/31(日) 06:46:38http://www.geocities.jp/sprint_phila/java_code/breadMachine1.rtf
http://www.geocities.jp/sprint_phila/java_code/breadMachine1App.rtf
0756デフォルトの名無しさん
2005/07/31(日) 09:37:46>もし、焼き方がマニュアルならパンのドウをloaf shapingの後で動かすように指示する
パンのドウってなに?
rtf開くのマンドクセ('A`)
0757デフォルトの名無しさん
2005/07/31(日) 10:02:15ユザーにパンのドウを動かす指示のメッセージを出すだけなのであまり
気にしなくていいと思います。
rtfすいません。
0758デフォルトの名無しさん
2005/07/31(日) 11:26:28動くだけ。こんなコードは書いたらイカンよという例。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%A4%EA%C9%D5%A4%B1
0759デフォルトの名無しさん
2005/07/31(日) 13:52:180760デフォルトの名無しさん
2005/07/31(日) 15:25:21JDK5.0使え。
0761デフォルトの名無しさん
2005/07/31(日) 19:46:13遅レスですんません。
「実装されている」っていうのがよくわかりません。
equalsはふつうにdatabean.equals(databen2);
とかやったらクローンしたばっかでも
falseが返ってきたからだめかなぁと思ってたんですが・・・。
Javaな人からすれば基本的なことなのかもしれませんが
このJava歴1月にはちょっと難しくて・・
0762デフォルトの名無しさん
2005/07/31(日) 19:53:28a = new Vector();
a.addElement("abc");
a.addElement("bcd");
a.addElement("cde");
for (int i = 0; i < a.size(); i++) {
char c = a.elementAt(i).charAt(0);
System.out.println(c);
}
ただ配列に文字列を入れてプリントするプログラムですが、このプログラムをコンパイルするとエラーが出ます。
キャストを使って直したいのですが教えてくださいお願いします。
0763デフォルトの名無しさん
2005/07/31(日) 20:05:32char c = a.elementAt(i).charAt(0);
を
char c = ((String)a.elementAt(i)).charAt(0);
に。
0764デフォルトの名無しさん
2005/08/01(月) 01:05:37プログラムを書いたのですが、下のexamScore classにあるgetCategory() methodにある
if文達を呼んでそれぞれのスコアのレンジに合わせた、アウトプットを出した
いのですが、上手い事いきません。
どなたかよろしければ、見ていただけますか?
http://www.geocities.jp/sprint_phila/java_code/examScores.rtf
http://www.geocities.jp/sprint_phila/java_code/examScoresApp.rtf
0765デフォルトの名無しさん
2005/08/01(月) 01:17:24■英単語をカウントするプログラム■
引数に○○.txtを指定(テキストにはスペース区切りで英単語が書いてある)
もしテキストに「I I you you you she she he」と書いてあったら
Sortして
you 3
I 2
she 2
he 1
と表示したいのですが、2つのクラスを用いて作ってください!!お願いします
I
I
you
you
you
she
she
he
と、スペースごとに改行はできたのですが・・・そこからどう、進めていいのかわかりません
0766デフォルトの名無しさん
2005/08/01(月) 02:29:49下記の表で2の項目を選択すると、
1 | 2
--------
A | 24
B | 36
C | 8
↓
1 | 2
--------
B | 36
A | 24
C | 8
に並び変わるプログラム。
javascriptでもいいです。
ご存知の方お願いします。
0767デフォルトの名無しさん
2005/08/01(月) 12:23:57使い方: java Q52_765 file.txt
import java.io.*;
import java.util.*;
public class Q52_765 {
public static void main(String[] args) {
String fileName = args[0];
Map map = new HashMap();
try {
WordReader wr = new WordReader(new FileReader(fileName));
String word;
while ((word = wr.nextWord()) != null) {
int count = map.containsKey(word) ? ((Integer)map.get(word)).intValue() : 0;
map.put(word, new Integer(count + 1));
}
wr.close();
Iterator it = map.keySet().iterator();
while (it.hasNext()) {
String key = (String) it.next();
System.out.println(key + " " + map.get(key));
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
0768767
2005/08/01(月) 12:24:39public WordReader(Reader in) {
super(in);
}
public String nextWord() throws IOException {
StringBuffer sb = new StringBuffer();
int ch;
while ((ch = read()) >= 0) {
if (Character.isWhitespace((char) ch)) {
if (sb.length() > 0) break;
} else {
sb.append((char) ch);
}
}
String s = sb.toString();
return s.equals("") ? null : s;
}
}
0769デフォルトの名無しさん
2005/08/01(月) 15:12:07はないですか??
0770デフォルトの名無しさん
2005/08/01(月) 15:18:28Cでは一度も見た記憶がないのですが
0771デフォルトの名無しさん
2005/08/01(月) 15:19:190772デフォルトの名無しさん
2005/08/01(月) 15:24:180773デフォルトの名無しさん
2005/08/01(月) 15:46:360774デフォルトの名無しさん
2005/08/01(月) 15:52:090775デフォルトの名無しさん
2005/08/02(火) 02:24:31ここまでの知識で何かオススメのプログラムがあったら、教えてください。
1、 クラスとオブジェクト
2、 プリミティブと参照
3、 メソッドとインスタンス
4、 java API
5、 継承とポリモーフィズム
6、 インターフェースと抽象クラス
7、 コンストラクタとガーベージコレクション
8、 数値の扱いとスタティック変数、メソッド
9、 例外処理
10、GUIの基礎
11、Swing
まで学びました。何かいいアドバイスをお願いします。
0776デフォルトの名無しさん
2005/08/02(火) 03:15:35電卓なんかどうだ??
0777775
2005/08/02(火) 04:02:19アドバイスありがとうございます。
ソース分かります?
0778775
2005/08/02(火) 04:22:56できたら、結構複雑なのがいいです
10分くらいでそのプログラムについて、解説とかしなければいけないので
0779デフォルトの名無しさん
2005/08/02(火) 06:35:540780デフォルトの名無しさん
2005/08/02(火) 09:07:39ここまでやって何のアイデアも浮かばないんじゃおわっとる。
授業中の例題とか改造すればどうにでもなるだろ。
>>799
意外とお勧めだったりして(w
GUI、ファイル入出力、簡易スクリプト実行エンジンとか、いい発表ネタになりそうだ。
0781デフォルトの名無しさん
2005/08/02(火) 09:49:420782デフォルトの名無しさん
2005/08/02(火) 10:03:120783デフォルトの名無しさん
2005/08/02(火) 13:10:03反応しません。何故でしょうか? コードは以下の通りです。
import javax.swing.JOptionPane;
public class numSchoolApp {
public static void main(String[] args) {
int totalPaper =0;
int paperOrder=10;
int totalRibbon=0;
int totalLabel;
int labelOrder=10;
String inventory = JOptionPane.showInputDialog("Enter a letter to select an operation");
//int nB = Integer.parseInt(number);
if((inventory=="B")||(inventory=="C"))
System.out.println(totalPaper =+ paperOrder);
else if((inventory=="E")||(inventory=="F")||(inventory=="D"))
System.out.println(totalRibbon++);
else if((inventory=="A")||(inventory=="X"))
System.out.println(totalLabel =+ labelOrder);
else if(inventory=="M")
System.out.println(" Do nothing");
}
}
0784デフォルトの名無しさん
2005/08/02(火) 14:27:19また何故、いつエラーになりますか?
int [] x = new int[10];
int [] y = new int[10];
i = 1;
x(i) = 7.5;
0785デフォルトの名無しさん
2005/08/02(火) 15:11:45そういう時は実際に動かしてみ。
0786デフォルトの名無しさん
2005/08/02(火) 15:20:04【 種別】 メソッド
【 課題】 以下の動きをするメソッドを書いてください。メソッドはarray argumentを
持っていて、arrayと同じタイプの"result"をreturnする(int [])。
そして、メソッドはarrayの要素を"result"に逆並びに
コピーする。お願いします。
0787784
2005/08/02(火) 15:23:44動かし方があっているのか分からないのですが、
こんな感じであってるでしょうか?
int [] x = new int[10]; // OK
int [] y = new int[10]; // OK
i = 1; // エラー. iのタイプが定義されてない。
// コンパイル中にエラー発見される。
x(i) = 7.5; //エラー"x"が定義されてない。
//コンパイル中に発見される。
0788デフォルトの名無しさん
2005/08/02(火) 15:39:17それでOK。
ただし、x(i) については、コンパイラがそれを x という名前のメソッドと
解釈するために「定義されてない」という趣旨のコンパイルエラーになるが
題意的には、一行目で宣言している配列 x の添え字指定を [] と間違えて
() としているために動かない、と答えさせたいのかもしれない。
0789デフォルトの名無しさん
2005/08/02(火) 17:33:18ありがとうございます。
0790デフォルトの名無しさん
2005/08/02(火) 17:45:36メソッドがarray argumentを持つ?
引数に取るではなくて?
もしくはクラスが持つ?
0791デフォルトの名無しさん
2005/08/02(火) 18:20:580792デフォルトの名無しさん
2005/08/02(火) 21:35:25inventory=="B" とかを、全部 inventory.equals("B") とかに変更。
ヒント: ==は同じオブジェクトかどうかを比較、.equals()は同じ内容の文字列かどうかを比較。
0793デフォルトの名無しさん
2005/08/02(火) 21:40:33public static int[] copyReverse(int[] a) {
int[] result = new int[a.length];
for (int i = 0; i < result.length; i++) {
result[i] = a[a.length - 1 - i];
}
return result;
}
0794デフォルトの名無しさん
2005/08/02(火) 21:46:06>780も言ってるが、知識としてはJavaでできる事の半分くらいは理解している事になる。
面接で「Javaなら使えます」と言っても支障ないレベル。
APIドキュメントの調べ方も分かってるのなら、大抵の事はできる。
スレッド関係を知らないのならアクションゲームとかは無理だけど。
あと、そんなに無茶な課題じゃないぞ。自由課題を出す教官は多い。
結局、自分で設計して書かないと力がつかないからな。
おまいさんの半分以下の知識で自由課題を出される奴がいる事を考えたら、じゅうぶん恵まれている。
0795デフォルトの名無しさん
2005/08/02(火) 21:49:11ありがとね。
0796デフォルトの名無しさん
2005/08/02(火) 22:24:170797775
2005/08/03(水) 04:06:30そうですよね。
でも、自分の力では無理です。
自分はjavaを今後は使う必要が無いので、今回の課題だけクリアすればいいんですけど、それは厳しいです
電卓のソースお願いします。
0798775
2005/08/03(水) 04:14:25このままじゃ留年しちゃいます。
本当にお願いします
0799デフォルトの名無しさん
2005/08/03(水) 04:18:57【種別】 マル投げ
【期日】 8月4日
【課題】 ArrayList(またはLinkedList)使って、
StackIntインターフェースを実装しているStackプログラムを
書いてください。詳細は以下の通りです。
1.ユーザーによって入れられる接尾辞表現を読んで、それを
評価するプログラムを開発してください。
2.結果はディスプレイして下さい。
3.JOptionPaneを使い、接尾辞表現を読んで出力をディスプレイ
して下さい。
4.StringTokenizerを使って、表現を解析して下さい。
5.被演算子は、整数だけでなければなりません。
6.演算のセットは {+, -, *, /, %}。
7.表現が無効ならば(例.3 4 + +5)、exceptionを投げて、
エラーメッセージをディスプレイして下さい。
すいません、よろしくお願いします。
0800デフォルトの名無しさん
2005/08/03(水) 04:31:52さあ、はやく回答するがよい!
0801デフォルトの名無しさん
2005/08/03(水) 04:35:45留年など恐れてはならぬ!
自らの思うままに進むが良い!
0802775
2005/08/03(水) 05:03:20そんな冷たいこと言わないで下さい
マジで助けて
0803>>797 その1
2005/08/03(水) 09:13:01import java.awt.event.*;
import javax.swing.*;
public class HW94 {
static double value;
static boolean initFlag = true;
static char opeFlag;
static JPanel panel = new JPanel();
static JLabel label = new JLabel();
static JButton[] btn = new JButton[17];
static ActionListener numEvent = new Number(),
opeEvent = new Operator(),
equalEvent = new Equal(),
clearEvent = new Clear();
0804>>797 その2
2005/08/03(水) 09:14:10ActionListener[] als = new ActionListener[] { numEvent, numEvent,
numEvent, opeEvent, numEvent, numEvent, numEvent, opeEvent,
numEvent, numEvent, numEvent, opeEvent, numEvent, clearEvent,
equalEvent, opeEvent, clearEvent };
String[] btnLabel = { "7", "8", "9", "/", "6", "5", "4", "*", "3",
"2", "1", "−", "0", "C", "=", "+", "AC" };
for (int i = 0; i < btnLabel.length; ++i) {
btn[i] = new JButton(btnLabel[i]);
btn[i].addActionListener(als[i]);
btn[i].setFont(new Font("Dialog", 1, 20));
panel.add(btn[i]);
}
label.setText("0");
label.setFont(new Font("Dialog", 1, 30));
label.setOpaque(true);
label.setBackground(Color.white);
label.setBorder(BorderFactory.createLoweredBevelBorder());
panel.setOpaque(false);
panel.setLayout(new GridLayout(5, 4, 8, 8));
JFrame frame = new JFrame();
JComponent cp = (JComponent) frame.getContentPane();
cp.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));
cp.setBackground(new Color(230, 230, 230));
cp.setLayout(new BorderLayout(8, 8));
cp.add(label, BorderLayout.NORTH);
cp.add(panel);
frame.setSize(new Dimension(300, 400));
frame.setResizable(false);
frame.setVisible(true);
}
0805:>>797 その3
2005/08/03(水) 09:15:16value = 0;
opeFlag = 0;
initFlag = true;
label.setText(text);
Component[] cs = panel.getComponents();
for (int i = 0; i < cs.length - 1; ++i) {
cs[i].setEnabled(false);
}
}
static class Number implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (opeFlag == 0) {
value = 0;
}
String text = null;
if (initFlag) {
text = "";
initFlag = false;
} else {
text = label.getText();
}
text += (((JButton) e.getSource()).getText()).toString();
if (text.length() > 16) {
error("エラー(桁溢れ)");
return;
}
label.setText(text);
}
}
0806>>797 その4
2005/08/03(水) 09:16:07public void actionPerformed(ActionEvent e) {
if (opeFlag != 0) {
equalEvent.actionPerformed(e);
}
if (label.getText().startsWith("エラー")) {
return;
}
opeFlag = ((JButton) e.getSource()).getText().charAt(0);
value = Double.parseDouble(label.getText());
initFlag = true;
}
}
static class Equal implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (initFlag || opeFlag == 0) {
return;
}
double num = Double.parseDouble(label.getText());
switch (opeFlag) {
case '+':
value += num;
break;
case '−':
value -= num;
break;
case '*':
value *= num;
break;
case '/':
value /= num;
}
0807:>>797 その5
2005/08/03(水) 09:16:57error("エラー(非数)");
return;
}
if (Double.isInfinite(value)) {
error("エラー(無限数)");
return;
}
if (String.valueOf(value).length() > 16) {
error("エラー(桁溢れ)");
return;
}
if (value % 1 != 0) {
label.setText(String.valueOf(value));
} else {
label.setText(String.valueOf((int) value));
}
initFlag = true;
opeFlag = 0;
}
}
0808デフォルトの名無しさん
2005/08/03(水) 09:30:040809::>>797 その6
2005/08/03(水) 09:32:06public void actionPerformed(ActionEvent e) {
if (((JButton) e.getSource()).getText().equals("C")) {
if (initFlag) {
return;
}
} else {
opeFlag = 0;
value = 0;
Component[] cs = panel.getComponents();
for (int i = 0; i < cs.length; ++i) {
cs[i].setEnabled(true);
}
}
initFlag = true;
label.setText("0");
}
}
}
0810デフォルトの名無しさん
2005/08/03(水) 10:23:45このスレを埋め尽くすのだ!
0811デフォルトの名無しさん
2005/08/03(水) 10:26:44【 種別 】 丸投げ。
【 課題 】
信号機の機能を持つ Signalクラスを作成してください。
Signalクラスはフィールドに String型で名前がstrの
信号の状態を持ち,"赤" "青" "黄"のいずれかを持つ。
メソッドには
setRed()
setBlue()
setYellow()
show()
を持つ
それぞれ,赤色,青色,黄色に変更と現在の信号の色を表示する。
お願いします
0812デフォルトの名無しさん
2005/08/03(水) 10:29:04また同じ質問か
0813デフォルトの名無しさん
2005/08/03(水) 10:49:10>>746-747
ただ、"赤"・"青"・"黄"は定数で持った方がいいだろうな。
0814デフォルトの名無しさん
2005/08/03(水) 12:21:16さすれば、交通事故も減るだろう!
0815デフォルトの名無しさん
2005/08/03(水) 12:34:34>>799もよろしくお願いします。
0816デフォルトの名無しさん
2005/08/03(水) 12:39:04Javaプログラマよ。立ち上がれ!
0817775
2005/08/03(水) 16:56:34マジありがとうございます。
0818>>799 その1
2005/08/03(水) 18:32:37import javax.swing.*;
public class HW107 implements StackInt {
static final int ADD = 0, SUB = 1, MUL = 2, DIV = 3, MOD = 4, HEAD = 5, TAIL = 6;
static final int EQU = 0, HIG = 1, LOW = 2;
static final char[][] map = {
// + - * / % h t
/* + */ { EQU, EQU, LOW, LOW, LOW, HIG, HIG },
/* - */ { EQU, EQU, LOW, LOW, LOW, HIG, HIG },
/* * */ { HIG, HIG, EQU, EQU, EQU, HIG, HIG },
/* / */ { HIG, HIG, EQU, EQU, EQU, HIG, HIG },
/* % */ { HIG, HIG, EQU, EQU, EQU, HIG, HIG },
/* h */ { LOW, LOW, LOW, LOW, LOW, EQU, LOW },
/* t */ { LOW, LOW, LOW, LOW, LOW, HIG, EQU },
};
public static void main(String[] args) {
while (true) {
String line = JOptionPane.showInputDialog(null, "", "式の入力",
JOptionPane.QUESTION_MESSAGE);
if (line == null || line.trim().length() == 0) {
break;
}
try {
int result = calculate(line);
JOptionPane.showMessageDialog(null, "解答は " + result + " です",
"エラー", JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "エラー",
JOptionPane.WARNING_MESSAGE);
}
}
}
0819:>>799 その2
2005/08/03(水) 18:33:11StringTokenizer st = new StringTokenizer(line, "+-*/%", true);
LinkedList numList = new LinkedList();
LinkedList opeList = new LinkedList();
opeList.addLast(new Integer(HEAD));
int sign = 0;
boolean endFlag = false;
while (!endFlag) {
if (!st.hasMoreTokens()) {
endFlag = true;
sign = TAIL;
} else {
String token = st.nextToken().trim();
if (token.matches("\\d+")) {
numList.addLast(new Integer(Integer.parseInt(token)));
continue;
} else if (token.equals("+")) {
sign = ADD;
} else if (token.equals("-")) {
sign = SUB;
} else if (token.equals("*")) {
sign = MUL;
} else if (token.equals("/")) {
sign = DIV;
} else if (token.equals("%")) {
sign = MOD;
} else {
throw new Exception("不正な文字が含まれてます");
}
}
0820>>799 その3
2005/08/03(水) 18:34:11int ope = ((Integer) opeList.getLast()).intValue();
int result = map[sign][ope];
if (result == HIG) {
break;
}
if (numList.size() < 2) {
throw new Exception("式の記述が不正です");
}
opeList.removeLast();
int num2 = ((Integer) numList.removeLast()).intValue();
int num1 = ((Integer) numList.removeLast()).intValue();
switch (ope) {
case ADD:
numList.addLast(new Integer(num1 + num2)); break;
case SUB:
numList.addLast(new Integer(num1 - num2)); break;
case MUL:
numList.addLast(new Integer(num1 * num2)); break;
case DIV:
numList.addLast(new Integer(num1 / num2)); break;
case MOD:
numList.addLast(new Integer(num1 % num2));
}
}
opeList.addLast(new Integer(sign));
}
0821:>>799 その4
2005/08/03(水) 18:34:46throw new Exception("式の記述が不正です");
}
return ((Integer) numList.getLast()).intValue();
}
}
interface StackInt {
// empty
}
0822デフォルトの名無しさん
2005/08/03(水) 18:35:530823デフォルトの名無しさん
2005/08/03(水) 18:38:59ソースコードがうざいんだよ。氏ね。バカ。
0824ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/08/03(水) 18:49:50StackInt インターフェースが何なのかよく分からないので、
単純にダイアログに入力された式の解答を表示するプログラムに
しました。
0825デフォルトの名無しさん
2005/08/03(水) 18:53:11うざいって言ってんだよ。返答しろ。
0826ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/08/03(水) 19:06:02私がナポレオン・ボナパルトだ!
0827Mb
2005/08/03(水) 19:30:00これだから夏休みは……
0828799
2005/08/03(水) 20:59:54ありがとうございます。
0829デフォルトの名無しさん
2005/08/03(水) 21:29:37【 種別 】 質問
【 課題 】 AppletとJButtonを利用して、ボタンを押したらランダムな大きさの●を描画しなさい。
【不明点 】 アプレットにボタンを貼り付けたいのですが上手く行きません。
なぜかpaint()メソッドを入れるとボタンが表示されなくなってしまいます。
JPanelを用意してそこにボタンを貼り付けたのですが、それでもpaint()を書くとボタンが消えてしまいます。
どうすればアプレットの描画パネルとボタンのあるパネルを共存させられるのでしょうか?
【 期限 】 8/8までです。
よろしくお願いします。
0830デフォルトの名無しさん
2005/08/03(水) 21:52:52日本人と在日コリアンの共存問題にもつながるな!
差別意識をなくせ! さすれば異なるもの同士共存できるであろう!
0831デフォルトの名無しさん
2005/08/03(水) 21:54:47import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
public class AppletDemo extends Applet implements ActionListener {
private JButton button;
private JPanel panel;
public AppletDemo() {
panel = new JPanel();
button = new JButton("push");
button.addActionListener(this);
panel.add(button);
add(panel);
}
public void actionPerformed(ActionEvent ae) {
Graphics g = getGraphics();
g.fillOval( (int)(Math.random()*100), (int)(Math.random()*100), (int)(Math.random()*100), (int)(Math.random()*100) );
}
}
>830
邪魔。
0832829
2005/08/03(水) 23:01:42ありがとうございます。
自分でごちゃごちゃやってたのに対しすっきりと書かれていて勉強になります。
ここから勉強のために更にいろいろと改変してみます。
本当にありがとうございました。
0833799
2005/08/04(木) 02:37:51アルゴリズム書いてください。
0834デフォルトの名無しさん
2005/08/04(木) 07:27:510835ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/08/04(木) 08:51:38二次元配列を用意する。
スタックリスト numList、opeList を用意する。
2、StringTokenizer でトークンを切り出す
3、トークンが数字なら、numList の末尾に加える。
記号なら、その記号と opeList の末尾の記号によって
map から優先順位を得る。
4、優先順位が HIGH なら、何もせずに opeList の末尾にその記号を加える。
LOW、EQU なら、opeList の末尾の記号を取り出して、
numList の末尾から二つの数字を取り出して計算する。
計算結果の数字を numList の末尾に加える。
これを繰り返す。
5、opeList の末尾に現在の記号を加える。
〜ループ〜
0836デフォルトの名無しさん
2005/08/04(木) 11:47:28【 種別 】 マル投げ(Array)
【 期限 】 8月4日 午前0時
【 課題 】 地域での集合住宅での調査の結果は一般的な検査に有効です。各々の記録は4桁整数のID番号、
各家庭の年収、家族の数を含みます。調査結果を3つの配列に読ん込んで、
以下の分析を実行するプログラムを書いてください。
1.調査に含められる地域の家庭の数を数えて、データをディスプレイする3段のテーブルを
プリントして下さい。(調査を受ける家庭は最高で25です。)
2.世帯収入の平均を計算して、平均を上回る各家庭のID番号と
収入をディスプレイしてください
3.貧困レベルの収入以下の家庭のパーセンテージを測定してください。
貧困レベルの収入を求める公式は p=$6500+$7500*(m-2).
mは各家庭の家族の数です。この公式は、貧困レベルが家族の数(m)に依存し、
mが増えるにつれて貧困レベルの収入が増加することを示します。
すいません、よろしくお願いします。
0837709
2005/08/04(木) 12:16:18有難うございました。
ちょっと気になる事が、あなたはいったい何者ですか?
0838デフォルトの名無しさん
2005/08/04(木) 12:42:31はやく回答するがよい!
0839デフォルトの名無しさん
2005/08/04(木) 12:43:36無駄にスレを浪費しないでくれ
0840デフォルトの名無しさん
2005/08/04(木) 12:53:04現在のスレは、アクセス規制で、2チャンネルビューア所持者以外は
見れないのだ!
故に、朕は一般閲覧者も見れる様に、上げておるのだ!
10スレ以下に下がったら、回答者がいなくなるではないか!
0841デフォルトの名無しさん
2005/08/04(木) 12:55:51お前が心配する事ではない
消えろ馬鹿
0842デフォルトの名無しさん
2005/08/04(木) 14:45:520843デフォルトの名無しさん
2005/08/04(木) 15:19:48アプロダってどこにあるの??
public class Q836 {
static final int[] ids = {1000, 1001, 1002, 1003};
static final int[] incomes = {1000000, 2000000, 3000000, 4000000};
static final int[] members = {3, 5, 4, 4};
static final int size = Math.min(Math.min(ids.length, incomes.length), members.length);
public static void main(String[] args) { q1(); q2(); q3(); }
static void q1() {
System.out.println("A1: 家庭の数は " + size + " 件です");
System.out.println("ID\tIncome\tMember");
for (int i = 0; i < size; i++) { System.out.println(ids[i]+"\t"+incomes[i]+"\t"+members[i]); }
}
static void q2() {
int avgIncome = 0;
for (int i = 0; i < size; i++) { avgIncome += incomes[i]; }
avgIncome /= size;
System.out.println("A2: 平均世帯収入は " + avgIncome + " 円です");
System.out.println("ID\tIncome\tMember");
for (int i = 0; i < size; i++) {
if (incomes[i] >= avgIncome) { System.out.println(ids[i]+"\t"+incomes[i]+"\t"+members[i]); }
}
}
static void q3() {
System.out.println("A3: 貧困世帯調査");
System.out.println("ID\tIncome\tMember");
for (int i = 0; i < size; i++) {
if (incomes[i] < (6500 + 7500 * (members[i] - 2))) { System.out.println(ids[i]+"\t"+incomes[i]+"\t"+members[i]); }
}
}
}
0844デフォルトの名無しさん
2005/08/04(木) 18:19:44以下のソースはコマンドラインからの入力の合計になっていますが、これを除算とした場合、どうすればいいのでしょうか?
for文の変更だとは思うのですが…。あと、int r =1; と修正でしょうか。
↓コマンドライン入力
c:\ java ArrayCount 100 50 10 2 …任意の数を入力
(1)100/50= 20
(2)20/10 = 2
(3)2/2 = 1 …除算の結果をまた除算というようにしたいのですが。
public class ArrayCount {
public int result(int[] x){
int r = 0;
for(int i = 0; i < x.length;){
r += x[i++];
}
return r;
}
public static void main(String args[]){
ArrayCount ac = new ArrayCount();
int[] x = new int[args.length];
for(int i = 0; i < args.length; i++){
x[i] = Integer.parseInt(args[i]) ;
}
System.out.println(ac.result(x));
}
}
0845デフォルトの名無しさん
2005/08/04(木) 18:31:170846デフォルトの名無しさん
2005/08/04(木) 18:36:03public int result(int[] x){
int r = x[0];
for(int i = 1; i < x.length;){
r /= x[i++];
}
return r;
}
0847デフォルトの名無しさん
2005/08/04(木) 18:43:09ありがとうございました!!
0848デフォルトの名無しさん
2005/08/04(木) 20:09:06回答が無い上に、ただ学校側に課題を丸投げしたのがバレるという
リスクは避けたいのです。
まあ、学校側にバレる危険性はさほど高くないのですが、回答が来ずに
ただリスクを負うのだけは避けたいです。
0849デフォルトの名無しさん
2005/08/04(木) 20:42:490850デフォルトの名無しさん
2005/08/04(木) 21:24:13能力もないくせにいっぱしの口をきくな。
0851デフォルトの名無しさん
2005/08/05(金) 00:48:37とりあえず、このスレのログを全部読んで解答率を計算してみるところから始めようか。
回答者は単なるボランティアであって、テメェのリスクどうたらに興味なんぞない。
0852709
2005/08/05(金) 03:11:45市ね
0853デフォルトの名無しさん
2005/08/05(金) 03:47:42回答率はともかく、Javaの教育・研修に関わっている人間でこのスレの存在を知らない奴はいないよ。
まぁ、いないというのは言いすぎかもしれないが、大学や専門なら出題者にはほぼバレると思って間違いない。
丸投げ回答検出ツールも出回ってるしね。
なにしろ日本で一番有名な掲示板の宿題スレ
0854デフォルトの名無しさん
2005/08/05(金) 08:14:030855デフォルトの名無しさん
2005/08/05(金) 08:22:52妄想乙。やっぱり、ここの人達は、無知なオコチャマだな。
つーか、上のレス者は、レベル低すぎ。
本当の回答者常連の人たち来てください
0856デフォルトの名無しさん
2005/08/05(金) 09:43:38問題がまだ投げられてないのにまともな回答者が出てくるわけないだろう。
0857デフォルトの名無しさん
2005/08/05(金) 10:45:03>>848
早く課題晒せよ。
ちなみに漏れは丸投げ回答検出ツール なるものは知らないが、
まともな講師ならこのスレ位はチェックしてると思う。
・・・・まともな講師ばかりじゃないのが現状だけどな。
0858デフォルトの名無しさん
2005/08/05(金) 11:59:19激しく鬱・・・orz
0859デフォルトの名無しさん
2005/08/05(金) 13:39:38クラスとメソッドの違いを答えよ。
という宿題が出ましたが意味が分からないです。
0860デフォルトの名無しさん
2005/08/05(金) 13:40:38ム板住人でなかったら宿題スレの存在に思い当たりもしないだろうし。
教官が若かったりするとチェックしてる割合が上がるのかねぇ。
TAやってた知り合いは「うちの授業の課題キタ━━━━(゚∀゚)━━━━ッ!!」とか言って笑ってた。
別にメリットもないし、教官に上申はしなかったらしいが。
0861デフォルトの名無しさん
2005/08/05(金) 13:54:23TAとはなんですか?
ターミナルアダプダーしか思いつかないです
0862デフォルトの名無しさん
2005/08/05(金) 14:40:130863デフォルトの名無しさん
2005/08/05(金) 14:44:400864デフォルトの名無しさん
2005/08/05(金) 15:16:29例えば自動車を考えよう。
自動車のエンジンはガソリンエンジンだったりディーゼルだったりハイブリッドだったりする。
メーカーもバラバラだし、当然パーツや機構は全く統一されていないため、機械としての共通点は殆どない。
だけどどれも「自動車」という同じカテゴリでくくられる。
ガソリンを消費して、ドアと椅子とタイヤがついてて…というという基本構成が同じなら、詳細が違っても「自動車」という同一のカテゴリでくくれるわけ。
「自動車」はとても便利なので、その仕組みが一般化され、多くの人が使うようになった。
また、トヨタの車しか運転した事のない人がニッサンの車を運転できるのは何故か?
踏むとスピードが上がるペダル、回すと方向転換ができるハンドル、のように、人が操作する部分(インターフェイス)が共通だから。
==============================
プログラミングをする際にも、自動車のように便利なものはパーツとして再利用可能なように切り出しておきたい。
この切り出された共用可能なパーツの事を「クラス」と言う。
ペダルを踏む、ハンドルを回す、のような操作は、このクラスに付属する関数という形で表現される。この関数を「メソッド」と呼ぶ。
利点。
空飛ぶ車を発明した時、操作系統を今の車と同じ(車のインターフェイスを使う)にしておくと、今の車のユーザーは迷わずにそれを操作する事ができる。
同様に、別々のクラスに対し同名で同じふるまいをするメソッドを用意しておくと、色々なクラスを同じように扱える。
また、ハンドルとペダルさえ共通なら、メーカーがこっそりエンジンをパワーアップさせてもユーザーは全く困らない。
つまり、プログラムを改良する際にはインターフェイスだけを気にすればいいので、プログラムの改良が容易になる。
ここまでの比喩で概念を掴んだ上で適当に用語辞典でも当たれ。
ttp://e-words.jp/w/E382AAE38396E382B8E382A7E382AFE38388E68C87E59091.html
0865デフォルトの名無しさん
2005/08/05(金) 15:30:19> クラスとメソッドの違いを答えよ。
クラスとメソッドの関係は「違い」を論じられるようなものではないと思うけど。
0866デフォルトの名無しさん
2005/08/05(金) 15:48:590867775
2005/08/05(金) 17:30:23本日、あのプログラムを発表したところ、他に2、3個機能を付け加えてくれと言われてしまいました。
申し訳ないのですが、またお願いします
0868デフォルトの名無しさん
2005/08/05(金) 17:56:240869デフォルトの名無しさん
2005/08/05(金) 18:31:172、3個を機能を付け加えろとは、よっぽどアレなやつ
だったのかな?
0870775
2005/08/05(金) 18:46:36どなたかお願いします
0871デフォルトの名無しさん
2005/08/05(金) 18:48:100872デフォルトの名無しさん
2005/08/05(金) 18:57:12すいません。宿題を写し間違えました。
クラスとメソッドの関係を述べよでした。
0873775
2005/08/05(金) 19:22:03ルートとべき乗とかできますか?
0874デフォルトの名無しさん
2005/08/05(金) 21:23:340875デフォルトの名無しさん
2005/08/05(金) 23:34:09機能追加という課題を与えてみてこれも丸投げする様なら
落とそうと考えているなどと妄想してみる。
Math使えば関数電卓くらいまでの機能追加は難しくないから
自分でやってみたら?
0876デフォルトの名無しさん
2005/08/05(金) 23:37:590877デフォルトの名無しさん
2005/08/07(日) 08:56:56【 種別 】 マル投げ(Array)
【 期限 】 8月6日 午前0時
【 課題 】 授業で与えられたtrue-falseの試験の結果はコード化されて、プログラムへ入力されました。
各学生から与えられるデータは、学生ID番号と10個のtrue-or-falseの答えが含まれます。
初めに、10個の正解(データとしてFTFFTFFTFTを使います)を読み込むプログラムを書いてください。
次に各学生のデータを読み込んで、その正解数を計算して1つの配列に保存してください。
そして、ID番号をその学生のデータの要素に対応する別の配列に保存してください。
最高点"best"を見つけてください。それから、各々の学生のID番号、
得点と成績を示す3つのコラムからなるテーブルをプリントして下さい。
成績のつけ方は、以下の通りです。得点がbestもしくはbest-1ならば"A" ,
best-2かbest-3なら"B"。それ以外は"F"を与えてください。
0878デフォルトの名無しさん
2005/08/07(日) 09:00:39成績を出しませんし、最高点も出しません。
http://www.geocities.jp/sprint_phila/testPro5.rtf
http://www.geocities.jp/sprint_phila/pro5.rtf
すいませんよろしくお願いします。
0879デフォルトの名無しさん
2005/08/07(日) 09:02:43もう期限過ぎてんじゃん。
0880デフォルトの名無しさん
2005/08/07(日) 10:50:210881デフォルトの名無しさん
2005/08/07(日) 13:14:06【 種別 】 マル投げ
【 期限 】 8月8日 午前0時
【 課題 】 LANで接続されたPC2台間で通信を行い、何種類かの画像を表示、ボタンを押して画像を切り替え、
さらに、別のボタンでPC1に表示されている画像をPC2で表示させる。PC2でも同様のことをする。
グラフィカルなものを作成してください。
0882デフォルトの名無しさん
2005/08/07(日) 17:29:29すいません、期限は8月9日です。まちがえました。
0883775
2005/08/07(日) 21:36:01どなたか電卓にルートとべき乗の計算機能を加えたものをお願いします
自分で頑張ってみたんですが、無理でした
できたら、今日中にお願いします。人生がおわってしまいます
0884デフォルトの名無しさん
2005/08/07(日) 21:44:160885デフォルトの名無しさん
2005/08/07(日) 21:47:17できないのであれば誰かにやってもらったと判断して単位やらん」
0886デフォルトの名無しさん
2005/08/07(日) 21:51:15人生が終わった様子をkwsk!
0887775
2005/08/07(日) 22:03:35今がまさにその状況です。
助けてください
0888デフォルトの名無しさん
2005/08/07(日) 22:04:35それは大変だ!
さあ、誰か早く775に救いの手を差し伸べるのだ!
急ぐがよい!
0889デフォルトの名無しさん
2005/08/07(日) 22:07:270890デフォルトの名無しさん
2005/08/07(日) 22:09:52おまえがやれ
0891デフォルトの名無しさん
2005/08/07(日) 22:22:230892775
2005/08/07(日) 22:27:11マジで時間ないっす。お願いします
0893デフォルトの名無しさん
2005/08/07(日) 22:32:37いまここで、誰かが代わりにコードを書いてもお前はその説明ができんだろ?
0894デフォルトの名無しさん
2005/08/07(日) 22:59:110895775
2005/08/07(日) 23:00:28とりあえず出せばなんとかなります。
前期のこの授業が終わったら、もう二度とJavaに触れることはないと思うんで、助けてください
0896ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/08/07(日) 23:10:49機能追加バージョンのソースです。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
0897デフォルトの名無しさん
2005/08/07(日) 23:14:100898デフォルトの名無しさん
2005/08/07(日) 23:22:47目の前でそんな事言ったらぶんなぐってたところだ
0899デフォルトの名無しさん
2005/08/07(日) 23:28:23ネタバレするプログラムとか渡せば面白いのに。
0900デフォルトの名無しさん
2005/08/07(日) 23:29:33先月からまた涌いて出て来たけど、夏休みと被るからやっぱり学生か?
職業マだったら、周囲から煙たがられてそう。
0901775
2005/08/07(日) 23:32:37どうもありがとうございます。
けど、リンク先が見れないんですが・・・
0902デフォルトの名無しさん
2005/08/07(日) 23:33:17> 先月からまた涌いて出て来たけど、
ずっといるんじゃないの?
平日の昼間とかにもレスってるから、少なくともまともな社会人じゃないとは思うけど。
0903デフォルトの名無しさん
2005/08/07(日) 23:33:58バカ!そんなこと書くな!!
また小島がここに連レスするだろーが!!
0904デフォルトの名無しさん
2005/08/07(日) 23:37:17>>先月からまた涌いて出て来たけど
香具師はウジ虫かw
0905775
2005/08/07(日) 23:39:28トップから見れました。
どうもありがとうございます。これから、実行してみます
0906デフォルトの名無しさん
2005/08/08(月) 01:07:52高くつきますかね?
0907デフォルトの名無しさん
2005/08/08(月) 01:10:56Javaに関して言えばコンパイラがgenericを使わない形にコンパイルするから変わらない
0908デフォルトの名無しさん
2005/08/08(月) 08:19:180909ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/08/08(月) 08:25:16回答プログラムです。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
メニューバーの「ファイル」→「フォルダ選択」をクリックすると、
ファイルダイアログが出ます。それでフォルダを選択します。
そのフォルダ内の画像ファイルが表示されます。矢印ボタンを押すと
次の画像に切り替わります。
URLとポート番号を指定して送信ボタンを押すと、現在の画像が
そのホストマシンに送信されます。
起動時のコマンドラインの第一引数で、そのプログラムがバインド
するポート番号が指定できます。デフォルトは1024です。
0910デフォルトの名無しさん
2005/08/08(月) 08:32:46持っていませんでしょうか?
0912デフォルトの名無しさん
2005/08/08(月) 15:26:59よかったらよろしくお願いします。
0913デフォルトの名無しさん
2005/08/08(月) 17:06:41修正してみた。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1#content_1_0
0914デフォルトの名無しさん
2005/08/08(月) 23:02:38【 期限 】 8月10日
【 課題 】1〜1,000,000 の間の自然数約500 個の値を格納するハッシュ表を作りたい.オープンアドレス指
定法を用いてハッシュ表を構成し,ハッシュ関数の違いによって実行時間がどのように変わるのか,
性能を比較せよ.それぞれの値は乱数で発生させた自然数とし,ハッシュ表への挿入と探索のみを考え,削除は考
えなくてよい.
0915デフォルトの名無しさん
2005/08/08(月) 23:08:510916デフォルトの名無しさん
2005/08/09(火) 00:30:44【 種別 】 マル投げ
【 期限 】 早めでお願いします
【 課題 】コンソールに1と押しエンターを押すと第一引数を第二引数にコピー、2と押すと第一引数を第二引数に移動,3を押すとexit。第二引数が既にある場合は上書き確認を行いたい。
インターフェースを使って実装したいです。
お願いします。。
0917デフォルトの名無しさん
2005/08/09(火) 01:55:13http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
ハッシュ表 Q914.java
オープンアドレス指定法でググったら 4 件しかヒットしなくてびびったw 造語か?
0918デフォルトの名無しさん
2005/08/09(火) 11:46:16【 期限 】 8月10日 12:00am
【 課題 】1.[kW] PP309-315で記述されている、ArrayQueueクラスを実装してください
2.クライアントprogam。
・JOptionPaneを使ってフレーズを読み取って下さい。
・一般的なString methodeを使って、フレーズをトークンに分類(解析)して下さい
(String Tokenizerは使用不可です)。
・ArrayQueueオブジェクトにトークンを入力してください。
・キューをプリントしてください。
・project4のStringTokenizer対象を取り替えるために、
クライアントプログラムを使用してください
[kW] PP309-315
http://www.geocities.jp/drum2295/java_codes/project5.txt
project4
http://www.geocities.jp/drum2295/java_codes/project4.txt
http://www.geocities.jp/drum2295/java_codes/project4App.txt
すいません、よろしくお願いします。
0919デフォルトの名無しさん
2005/08/09(火) 11:50:53"project4で使ったStringTokenizer objectを取り替えるために
クライアントプログラムを使ってください”と言う事です。
よろしくお願いします。
0920デフォルトの名無しさん
2005/08/09(火) 12:28:01意味が分からないので教えてください。
・[kW] PP309-315って何?
・ArrayQueueが微妙にコンパイルエラーになってるけど、これは>918が途中まで実装したという解釈でイイ?
・課題はproject4(postfixEvaluatorAppとpostfixEvaluator)でやってることをStringTokenizerを使わずに実装することなのか?
0921デフォルトの名無しさん
2005/08/09(火) 12:41:270922デフォルトの名無しさん
2005/08/09(火) 12:42:290923デフォルトの名無しさん
2005/08/09(火) 13:09:13何をこだわってるのか知らんが、質問者がageればそれでいいじゃん。
0924デフォルトの名無しさん
2005/08/09(火) 13:16:56返信遅くなりました.
[kW]pp309-315と言うのは教科書のページ番号で、リンクの一番上に
張ってあるプログラムがそのページにのっているプログラムで、この課題は
そのプログラムを実装するというものです。
project4でやっている事をStringTokenizerを使わずに,リンクの一番上の
ArrayQueueを実装するということです。
わかりづらい、文章すいませんでした。よろしくお願いします。
0925918
2005/08/09(火) 13:36:01一番上のリンク分かりやすい様にアップデートしました。
環状配列(circular Array)を使って、キューインターフェイスを実装して下さい。
0926920
2005/08/09(火) 13:38:10なんか俺が見たときとArrayQueueのソースが変わってるんだけど…。
Queueってjava.util.Queueじゃないよね?
JDK5.0で追加されたものがもう教科書に載っているとは思えないので…。
0927918
2005/08/09(火) 13:40:120928920
2005/08/09(火) 13:40:24もしかしてQueueも作れって言ってる?
0929918
2005/08/09(火) 13:53:32"環状配列を使って、キューインターフェイスを実装する"
これは、Queueを作れと言う事なのでしょうか?
0930920
2005/08/09(火) 14:01:38って書いてあるのにQueueがなかったらコンパイルできないよ。
インターフェース分かってないでしょ?きっと。
0931920
2005/08/09(火) 14:06:42事ですね。お願いできるでしょうか?
0932920
2005/08/09(火) 14:21:15インターフェースってのは実装するクラスありきで書くものじゃないんです。
インターフェースを実装するクラスはインターフェースを見てどういうメソッドを実装すればいいのかが分かるんです。
ArrayQueueから推測して、
public interface Queue {
public abstract Object insert(Object obj);
public abstract Object peek();
public abstract Object remove();
public abstract boolean isEmpty();
}
とかって書くこともできるっちゃーできるけど、それだとなんでArrayQueueがQueueを実装してるのかが分かりません。
たぶん教科書の309ページより前にQueueに関する説明があると思うんだけどなあ。
ついで。
http://www.geocities.jp/drum2295/java_codes/project5.txt
のArrayQueue#isEmpty()について。
・メソッド名isEmptlyに余計なl(エル)が入ってます。
・戻り値のbooleanの先頭「b」が全角になってます。
0933デフォルトの名無しさん
2005/08/09(火) 15:02:06これは Queue というインターフェイスが既にあって
ArrayQueue で Queue を実装する、という意味だから
>>932の指摘どおり既にどこかに Queue はあるはず。
0934デフォルトの名無しさん
2005/08/09(火) 16:28:18質問者によって勝手にカスタマイズされているようなので、もう一度載せておこう。
PG歴、Java歴、種別、バージョン、用語は必須にしてあるので省略したらダメです。
「こうした方がいい」という意見があればよろしく。
質問者用テンプレ Ver 1.2
【 PG 歴 】 プログラミングの経験年(月、日)数を書く(必須)。
【Java 歴】 Java プログラミングの経験年(月、日)数を書く(必須)。
【 種別 】 丸投げ/質問のどちらかを選ぶ(必須)。
【 課題 】 与えられた課題をそのまま書く(なるべく書く)。
【不明点 】 分からないところ、聞きたいことを書く。
【バージョン】 java -versionで表示される1行目を書く(必須)。回答者はなるべく質問者の環境を考慮する。
【 用語 】 数学用語などのフォローを書く(あれば必須)。
【 期限 】 提出期限や解答希望日を書く。
【 備考 】 何かあれば。
0935デフォルトの名無しさん
2005/08/09(火) 16:47:08自分としては、これでいいと思います。
あまり項目が多いと、やはり面倒でカスタマイズされる傾向が
ありますので・・・
【 課題 】与えられた課題文をそのまま書きます(必須)
【 用語 】数学用語、専門用語の意味、説明を書きます(あれば必須)
【 期限 】提出期限や解答希望日を書きます
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
丸投げでない場合は、途中までのソースとその経過報告、
質問点、疑問点を書きます。Javaバージョンの指定もここです。
0936デフォルトの名無しさん
2005/08/09(火) 17:21:20どうでもいい事にこだわる奴だな
935くらいで十分だ
0937デフォルトの名無しさん
2005/08/09(火) 17:33:51ただし、発生させる乱数は0〜9までの範囲とする。
【 期限 】今日までですOTL
【 補足 】乱数の発生のさせ方はわかったのですが、条件文のところで悩んでいます。
幼稚な質問で申し訳ないのですが、知恵をかしていただけたら幸いです。
0938デフォルトの名無しさん
2005/08/09(火) 17:40:141つ確認するが、その0〜9の乱数ってのはintじゃなくてdoubleか?
0939デフォルトの名無しさん
2005/08/09(火) 17:42:570940デフォルトの名無しさん
2005/08/09(火) 17:50:170941937
2005/08/09(火) 17:51:51書き忘れすみません。int型です。
一応、
double rnd;
int rnd2;
rnd = Math.random();
rnd2 = (int)Math.floor(rnd * 9);
こんな感じで書けるのかなぁとは思ったのですが・・・。
>>938
日付が変わるまでに教授にメールを送れたらセーフです。
0943デフォルトの名無しさん
2005/08/09(火) 17:54:33import java.util.*;
public class Numbers {
public static void main(String[] args) {
Set set = new TreeSet();
for (int i = 0; i < 5; i++) {
int num = (int) (Math.random() * 10);
System.out.println((i + 1) + "回目の発生数:" + num);
set.add(new Integer(num));
}
if (set.size() == 5) {
System.out.println("Y");
} else {
System.out.println("N");
}
}
}
0944デフォルトの名無しさん
2005/08/09(火) 17:54:56// RandomCheckDemo.java
public class RandomCheckDemo {
public static void main(String[] args) {
int[] is = new int[5];
// 乱数生成
for( int i=0; i<is.length; i++ ) {
is[i] = (int)(Math.random()*9);
System.out.println( is[i] );
}
// 数字が全て異なっている場合はtrue
boolean isAllDifferent = true;
loop: for( int i=0; i<is.length-1; i++ ) {
for( int j=i+1; j<is.length; j++ ) {
//System.out.println( "i:" + i + " j:" + j );
if( is[i] == is[j] ) {
isAllDifferent = false;
break loop;
}
}
}
if( isAllDifferent ) System.out.println( "Y" );
else System.out.println( "N" );
}
}
0945944
2005/08/09(火) 17:58:03Λ||Λ
( / ⌒ヽ
| | |
∪ 亅|
| | |
∪∪
:
:
‐ニ三ニ‐
遅かったか。。
is[i] = (int)(Math.random()*10);
だな。
0946デフォルトの名無しさん
2005/08/09(火) 18:00:10そんな卑劣なアルゴリズムじゃ駄目だと思うよ。。。
0947デフォルトの名無しさん
2005/08/09(火) 18:01:08ありがとうございました!
0〜9の場合は10をかけなければいけないんですね・・・。
0948デフォルトの名無しさん
2005/08/09(火) 18:06:43何がどう卑劣なんだ?
0949デフォルトの名無しさん
2005/08/09(火) 18:11:50パフォーマンス的にも沿わない。
0950デフォルトの名無しさん
2005/08/09(火) 18:30:19Setは重複させない入れ物だし
パフォーマンスも悪くないだろ
まあTreeSetだとソートされちゃうから出現順保つならLinkedHashSetか
0951デフォルトの名無しさん
2005/08/09(火) 21:23:110952920
2005/08/10(水) 00:06:13P309の前にも確かに色々説明が書いてありました。教科書を丸写ししたので、
もしよかったら、見てください。上が英語の教科書の丸写しです、下がそれをそのまま
翻訳ツールにカット&ペーストしたものです。これがとりえず、全てのはずです。
なんか翻訳ツールでの日本語もこの質問自体もごちゃごちゃしちゃいましたので
もし無理だったらあきらめます。
http://www.geocities.jp/drum2295/java_codes/kW309_.rtf
http://www.geocities.jp/drum2295/java_codes/kW309_japanese.rtf
0953デフォルトの名無しさん
2005/08/10(水) 01:20:54Integer[] data = new Integer[]{1, 4, 3, 2, 2};
System.out.println(new HashSet<Integer>(Arrays.asList(data)).size() == data.length ? "Y" : "N");
0954デフォルトの名無しさん
2005/08/10(水) 01:51:45for (int i = 0; i < data.length; i++) System.out.println(data[i] = (int)(Math.random() * 10));
System.out.println(new HashSet<Integer>(Arrays.asList(data)).size() == data.length ? "Y" : "N");
0955デフォルトの名無しさん
2005/08/10(水) 02:43:28【 期日 】 8月11日 午前0時
【 課題 】 インターネット上でコンピューターを売る会社のための価格設定システムを作成します。
2種類のコンピュータ、ノートブックとデスクトップがあります。各コンピュータの
オプションはプロセッサー(0.8、1、1.2または1.5ギガバイト)CDドライブ(CD-ROM、CD-RWまたはDVD))
を備えています。
ラップトップは、14-15インチのスクリーンを備えています。
デスクトップは15-,17-,19インチのモニター備えています。
オプションはモデム、networkカードとzip driveです。
このプログラムにはcomputer class(abstract class)とnotebook class,
desktop class(sub-class)が含まれます。
各subclassにはコンピューター価格を計算するメソッドが含まれます。
(価格はそのコンピューターの基本価格+オプション価格)
プログラムにはメモリ価格を計算するメソッド、ハードドライブを計算する
メソッド等が含まれるべきです。また、輸送価格を計算するメソッドも
含まれるべきです。
よろしくお願いします。
0956デフォルトの名無しさん
2005/08/10(水) 02:58:24( ´_ゝ`)フーン
0957デフォルトの名無しさん
2005/08/10(水) 07:57:47これは、Webアプリとして開発するのですか?
0958デフォルトの名無しさん
2005/08/10(水) 09:52:47【 期限 】 提出期限や解答希望日を書く。
【バージョン】 java -versionで表示される1行目を書く(必須)。回答者はなるべく質問者の環境を考慮する。
↑最低限でもこれだけは必須だろう。
書かないヤツには回答しない旨を次スレのテンプレにお願いしたい。
0959デフォルトの名無しさん
2005/08/10(水) 10:56:57避けようと思います。
確かに、バージョンはテンプレ項目に入れるべきですね。
ただ必須でなく、書かなかったら全バージョンOKの
デフォルトとするのが良いと思います。
>>955は、このスレにこれから回答します。
0960955
2005/08/10(水) 12:15:52よろしく、お願いします。
0961デフォルトの名無しさん
2005/08/10(水) 12:31:280962デフォルトの名無しさん
2005/08/10(水) 12:45:37NetBeans3.6って・・・・・
0963デフォルトの名無しさん
2005/08/10(水) 13:09:06ネタにry
0964918
2005/08/10(水) 14:03:21エラーがなんで出ているのかも理解できてないでいます。すいません、一度
見てもらってもよろしいでしょうか??? お願いします。期限過ぎてるけど、
減点もらって出す事にしました。
【 種別 】 エラーに関しての質問
【 期限 】 8月10日 12:00am
【バージョン】 java2 SDK 1.4.2
【 課題 】1.[kW] PP309-315で記述されている、ArrayQueueクラスを実装してください
2.クライアントprogam。
・JOptionPaneを使ってフレーズを読み取って下さい。
・一般的なString methodeを使って、フレーズをトークンに分類(解析)して下さい
(String Tokenizerは使用不可です)。
・ArrayQueueオブジェクトにトークンを入力してください。
・キューをプリントしてください。
・project4のStringTokenizer対象を取り替えるために、
クライアントプログラムを使用してください
http://www.geocities.jp/drum2295/java_codes/project5.txt
http://www.geocities.jp/drum2295/java_codes/project5App.txt
0965デフォルトの名無しさん
2005/08/11(木) 00:30:41処理を選んでください。
1. 移動する(フォルダやファイルをMoveする)
2. コピーする(フォルダやファイルをCopyする)
3. exit
1〜3を選んでください○(←1〜3を入力してもらう)
�A 1,2 を選択した場合、src と dest と順に入力を求める。
src > ___ ← パスを入力してもらう
dest > ___ ← パスを入力してもらう
実行が完了したら、�@に戻る。
�B 3 を選択した場合、処理を終了させる。
要件
■1〜3 以外を入力された場合、再入力を求める
■src に該当するパスがない場合、src がない旨のメッセージを出力して、�@ に戻る
■dest に該当するパスが存在する場合、上書き確認を行う…[Y/N]> ___ ← Y/N を入力してもらう
お願いいたします。
0966デフォルトの名無しさん
2005/08/11(木) 01:51:11す、すいません。急にやる事が出来てしまい、今日は手が付けられませんでした。。
0967デフォルトの名無しさん
2005/08/11(木) 01:51:40最近じゃ高校とかでJavaやってるの?
進んでるなぁ。
0968デフォルトの名無しさん
2005/08/11(木) 01:53:410969デフォルトの名無しさん
2005/08/11(木) 01:56:18どれに答えればいい?
0970デフォルトの名無しさん
2005/08/11(木) 01:59:46【Java 歴】 1ヶ月。
【 種別 】 ほぼ丸投げ(泣)
【 課題 】 JAVAを使ったGUIプログラムの作成(百ます計算)
【不明点 】
Eclipse3.1とVisual Editorを使っているのですが、GUIプログラミングの手法がまったくわからないです。
一応、Swingが一番やりやすいかなと思って、Swingを使ってやろうとしています。
百ますの入力部分にJTableを使うべきか、TextFieldを使うべきかなど数週間しらべているのですが、
なかなかいい手法が思いつきません。
後、FrameやPanelなどの組み合わせ方や、レイアウトの種類についてもよくわかりません。
(ボーダーレイアウトなど、なんであるのかよく分からないですし)
【バージョン】 java version "1.5.0_04"
【 用語 】 数学用語などのフォローを書く(あれば必須)。
【 期限 】 8月15日
【 備考 】 何かヒントみたいなものでもいいので教えてください;;お願いします;;
0971デフォルトの名無しさん
2005/08/11(木) 02:02:24awtにしなさいよ
0972955
2005/08/11(木) 02:50:5812日まで大丈夫なので、時間がある時にお願いします。
0973デフォルトの名無しさん
2005/08/11(木) 03:48:38何を作ればいいのかわからん。
縦軸と横軸の数値を入力して「計算」ボタンを押せば結果が全てでてくるみたいな感じ?
0974デフォルトの名無しさん
2005/08/11(木) 06:34:32ttp://drill100.com/archives/cat_e_100.html
ここでDLできるソフトそのものって感じか?
0975デフォルトの名無しさん
2005/08/11(木) 13:33:15多分これで動くと思う
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1#content_1_0
次からはテンプレをつかってくれ
0976デフォルトの名無しさん
2005/08/11(木) 13:55:51974の方が上げられたような感じのもので、別にタイマーとかの機能は必要ないです。
後は973さんのおっしゃるとおり、数値入力して計算結果出力みたいな感じです。
971さんのいうとおり、AWTのほうが少し簡単みたいですので、AWTで少しやってみます!
0977デフォルトの名無しさん
2005/08/11(木) 20:08:48どうも課題の意味が分かりません。
値段も分かりませんし。。。
WebアプリなのかGUIを使うのかも不明ですし。。。
残念ながら。。。
0978デフォルトの名無しさん
2005/08/11(木) 20:16:26すいません。やはり課題が漠然すぎて分かりません。
値段を計算すると言われても。。。
0979デフォルトの名無しさん
2005/08/11(木) 20:18:08やはりアメリカの学校の課題なんでしょうか?
授業背景が分からないと、どう作るべきなのか
出力と入力が分からないと見当がつきません。
0980デフォルトの名無しさん
2005/08/12(金) 00:01:37>>955はクラス構成だけ考えてあげればいいんじゃないの?
UIなんか好きなように作ればいいんだし。
0981デフォルトの名無しさん
2005/08/12(金) 08:32:31【 種別 】 ほぼ丸投げ
【ヴァージョン】J2SE 1.42
【 期限 】8月13日午後12時
【 課題 】1.10進法から2進法にコンバートする再帰的(recursive)メソッド
を書く。実際に、ユーザーからのインプットされた10進法の値を
二進法の値でアウトプットするテストプログラムを書く。
2.2進法から10進法にコンバートする再帰的(recursive)メソッド
を書く。実際に、ユーザーからのインプットされた10進法の値を
二進法の値でアウトプットするテストプログラムを書く。
10進法から2進法に換えるアルゴリズム的な物はあります。これを
使って、プログラムを書いてもらいたいです。
よろしく、お願いします。
Public static String 二進法(int n){
String s;
if (n%2 == 0)
s=”0”;
else
s=“1”;
if(n<2) {
return s;
return 二進法(n/2) +s;
}}
0982デフォルトの名無しさん
2005/08/12(金) 08:34:2610進法の値でアウトプットするテストプログラムを書く”です。失礼
いたしました!
0983デフォルトの名無しさん
2005/08/12(金) 13:38:56こんなんでいいのか?一応動くと思う。
ttp://www.uploda.org/file/uporg168360.zip.html
受信PASS:970
0984デフォルトの名無しさん
2005/08/12(金) 14:45:050985デフォルトの名無しさん
2005/08/12(金) 15:01:50アルゴリズムができているのに何故出来ないのか理解不能
http://www.uploda.org/file/uporg168398.txt.html
pass:藻前のレス番
0986デフォルトの名無しさん
2005/08/12(金) 15:19:35すまぬ、こっちを使ってくれ
ttp://www.uploda.org/file/uporg168406.txt.html
0987981
2005/08/12(金) 15:34:26有難うございました!!多謝!
0988981
2005/08/12(金) 15:41:460989デフォルトの名無しさん
2005/08/12(金) 16:52:41そんくらい自分でやれや
0991955
2005/08/13(土) 04:00:03下のを元に、コンピューターの種類、スペックの選択(プロセッサー(0.8、1、1.2または1.5ギガバイト)
CDドライブ(CD-ROM、CD-RWまたはDVD)14-15インチのスクリーン(ノートブック)
15-,17-,19インチのモニター(デスクトップ)、モデム、networkカード、zip drive)
をインプットして、値段をアウトプットしたいんですけど、お願いします。
各パーツの値段は特に決まってませんので、適当で結構です。
よろしくお願いします。
http://www.geocities.jp/sprint_phila/Computer.txt
http://www.geocities.jp/sprint_phila/DeskTop.txt
http://www.geocities.jp/sprint_phila/LapTop.txt
http://www.geocities.jp/sprint_phila/TestComputer.txt
0992デフォルトの名無しさん
2005/08/13(土) 06:43:34http://pc8.2ch.net/test/read.cgi/tech/1123639475/
何で次スレが張られてないんだと
レス数が950を超えています。1000を超えると書き込みができなくなります。