★★ Java の宿題ここで答えます Part 53 ★★
レス数が1000を超えています。これ以上書き込みはできません。
0001ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/08/10(水) 11:04:35【Java宿題スレッド基本ルール・五箇条の御誓文】
1:問題文は自己省略せずに、直接全部貼り付けてください。
2:課題の「丸投げ」が最も好ましい提示法です。なるべく丸投げしてください。
3:数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
4:課題&宿題関連の質問はOKですが、それ以外の一般的な質問は禁止です。
5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。
【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、又は解答希望日を書きます
【 Ver 】希望するJavaバージョンがあれば書きます(1.5 とか 1.4以前とか)
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
丸投げでない場合は、途中までのソースとその経過報告、
質問点、疑問点を書きます(なるべく丸投げにしてください)
【回答プログラムの掲載場所】
Java質問スレWiki http://www.wikiroom.com/java/
ソースポストネット http://sourcepost.sytes.net/
0002デフォルトの名無しさん
2005/08/10(水) 11:06:05★★ Java の宿題ここで答えます Part 52 ★★
http://pc8.2ch.net/test/read.cgi/tech/1119356753/l50
0003デフォルトの名無しさん
2005/08/11(木) 06:13:550004デフォルトの名無しさん
2005/08/11(木) 08:56:050005デフォルトの名無しさん
2005/08/12(金) 08:24:400006デフォルトの名無しさん
2005/08/12(金) 14:46:370007fushianasan
2005/08/12(金) 14:47:350008デフォルトの名無しさん
2005/08/13(土) 04:33:26【 種別 】 丸投げ
【 Ver 】 1.4
【 期限 】 8月13日午朝0時
【 課題 】 上から読んでも下から読んでも 同じ音になる
文,"回文"(Palindrome)を測定する再帰的(recursive)メソッド
が含まれたプログラムを書く。よろしくお願いします。
0009デフォルトの名無しさん
2005/08/13(土) 06:30:02再帰にする必要ってあんの?
0010デフォルトの名無しさん
2005/08/13(土) 08:21:10public static boolean isPalindrome(String s) {
switch (s.length()) {
case 0:
return false;
case 1:
return true;
case 2:
return s.charAt(0) == s.charAt(1);
default:
if (s.charAt(0) == s.charAt(s.length() - 1)) {
return isPalindrome(s.substring(1, s.length() - 1));
} else {
return false;
}
}
}
0011デフォルトの名無しさん
2005/08/13(土) 22:37:210012デフォルトの名無しさん
2005/08/13(土) 22:51:220013デフォルトの名無しさん
2005/08/13(土) 23:06:530014デフォルトの名無しさん
2005/08/14(日) 02:03:20ユーザーへ配送されたメールを標準入力で受け取り、~/data へ
本文と添付ファイルを保存するJAVAプログラム SaveMail を作成せよ。
JAVAプログラムへの標準入力は ~/.qmail より行うものとする。
【 期限 】8/22
【 Ver 】1.4
【 補足 】
丸投げですがよろしくお願いします。
メールサーバーは qmail です。
メール受信時に ~/.qmail から以下の様にプログラムを起動することで
標準入力でメールが渡せることまで分かりました。
# ~/.qmail
| /usr/java/j2sdk1.4.2_09/bin/java SaveMail
00158
2005/08/14(日) 03:29:40返信ありがとうございました。
すいません、質問させて下さい。このプログラムをユーザーからinputされた単語を回文かどうかを判断して、true/falseをアウトプットしたいのですが、
booleanメソッドをメインでどのようにして、呼んだらいいのかわかりません。下のコードで何かご指摘あったらよろしくお願いします。
import javax.swing.*;
public class isPalindrome {
/** Creates a new instance of isPandrome */
public static boolean isPalindrome(String s) {
switch (s.length()) {
case 0:
return false;
case 1:
return true;
case 2:
return s.charAt(0) == s.charAt(1);
default:
if (s.charAt(0) == s.charAt(s.length() - 1)) {
return isPalindrome(s.substring(1, s.length() - 1));
} else {
return false;
}}}
public static void main(String[] s){
isPalindrome p1 = new isPalindrome();
String line = JOptionPane.showInputDialog("Input a Pandrome line");
System.out.println(line);
p1.isPalindrome(line);
System.out.println(isPalindrome());
}
0016デフォルトの名無しさん
2005/08/14(日) 11:33:45>10ではないが。
// isPalindrome.java
import javax.swing.JOptionPane;
public class isPalindrome {
public static boolean isPalindrome(String s) {
switch (s.length()) {
case 0:
return false;
case 1:
return true;
case 2:
return s.charAt(0) == s.charAt(1);
default:
if (s.charAt(0) == s.charAt(s.length() - 1)) {
return isPalindrome(s.substring(1, s.length() - 1));
} else {
return false;
}
}
}
public static void main(String[] s) {
String line = JOptionPane.showInputDialog("Input a Pandrome line");
System.out.println(line);
System.out.println( isPalindrome(line) );
}
}
メソッドisPalindrome()が何を引数にとって、何を返却するのかを理解しる。
001715
2005/08/14(日) 12:48:370018デフォルトの名無しさん
2005/08/14(日) 13:01:02これのメインも書いてもらえるでしょうか?
import javax.swing.*;
public class binaryDecimal
{public static String decimalToBinary(int n){
String s;
if (n%2 == 0)
s="0";
else
s="1";
if(n<2)
return s;
return decimalToBinary(n/2) + s;
}
public static int binaryToDecimal(String s){
if(s.length()==0) return 0;
else if(s.charAt(s.length()-1) == '1')
return binaryToDecimal(s.substring(0,s.length()-1))*2 +1;
else
return binaryToDecimal(s.substring(0,s.length()-1))*2;
}
public static void main(String[] s){
String binary = JOptionPane.showInputDialog("Input binary or decimal notation");
int n = Integer.parseInt(binary);
System.out.println(n]);
if(s.length != 2)
return;
if(s[0].equals("10to2"))
System.out.println(decimalToBinary(Integer.parseInt(s[1])));
else if(s[0].equals("2to10"))
System.out.println(binaryToDecimal(s[1]));
}}
0019デフォルトの名無しさん
2005/08/14(日) 16:58:131.TreeNode(構文木)クラスに以下のメソッドを加えて、テストする。
public boolean contains(Object item) // もしターゲットを見つけたらtrueを返す
public Object find (Object target) // もしターゲットを見つけたらそのノードへのリファレンスをリターン、見つけなかったらnullをリターン
public object delete(Object target) // ターゲットをツリーから消してリターンする、もしくはnullをリターン
public boolean remove(Object target)// ターゲットをツリーから消してtrueをリターンします、もしくはfalseをリターンします。
public String preOrder() // 構文木を先行順にする。
public String postOrder()// 構文木を後行順にする。
2.javadocコメントをTreeNodeクラスに加えてください
【 期限 】8/15 午後12時
【 Ver 】1.4
【 補足 】マル投げです.すみませんが、よろしくお願いします。
http://www.geocities.jp/inndvision1980/BinaryTree.txt
http://www.geocities.jp/inndvision1980/BinaryTreeTest.txt
0020デフォルトの名無しさん
2005/08/14(日) 18:25:12mainメソッドは>18にあるじゃん。
おかしいのは、
コマンドライン引数を2つ(1つめは10進から2進にするのか2進から10進にするのかのフラグ、2つめはコンバートする数字)取っているのに、
JOptionPane.showInputDialogで10進から2進にするのか2進から10進にするのかをもう一度聞いてるところ。
どういう仕様にしたいか不明なので、詳しく教えてください。
0021デフォルトの名無しさん
2005/08/14(日) 18:34:58http://www.geocities.jp/inndvision1980/BinaryTreeTest.txt
が変です。
BinaryTree、HeapPriorityQueue、PriorityQueue、TreeNodeに分けてみましたが
HeapPriorityQueueが不完全です。
002219
2005/08/14(日) 22:10:11すいません、いま先生のウェブサイト見てたら、課題のプログラムがそっくり
そのまま変わってました。今アップデイトしたので、よかったら見てください。
お願いします。
0023デフォルトの名無しさん
2005/08/15(月) 00:24:34テーブル)
CREATE TABLE member {
id NUMBER(4) not null primary,
name VARCHAR(128) not null,
birthday DATE not null,
sex NUMBER(1) not null,
job VARCHAR(128)
};
sex 男:1, 女:2
・class Person を定義し、上記の変数を格納できること。 ・各変数は private 宣言し、set/get メソッドで操作すること。 ・年齢を算出するメソッドを追加すること。
(課題)
�@ Person 情報を作成し、それを登録するプログラムを作成しなさい。
�A CSV で定義した Person 情報をファイルから読み込み、それを DB に
一括登録しなさい。1つでも登録に失敗したら、途中までの登録を
全てキャンセルすること。
�B 登録した全ての利用者を取得し、性別&年齢順に並べ、以下の情報を
出力しなさい。
0024デフォルトの名無しさん
2005/08/15(月) 13:23:41二次元配列を宣言し、プリントする。
ただし、Hairetsu[0][A]のような形で宣言する。
(char型で配列を宣言する。)
【 期限 】本日22時
【 補足 】よろしくお願いします。
0025デフォルトの名無しさん
2005/08/15(月) 14:03:45こんなんでいいのか?
public class Kadai
{
public static void main(String[] args)
{
int a = 10;//例えば10
int b = 10;
char[][] hairetsu = new char[a][b];
//配列に何か入れたかったらこの位置に入れる
hairetsu[0][0] = 'A';
for(int i = 0; i < hairetsu.length; i++)
for(int j = 0; j < hairetsu[i].length; j++)
System.out.println(hairetsu[i][j]);
}
}
0026955
2005/08/15(月) 15:26:10結構やばいです。手直しお願いできないでしょうか?
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
【Java 歴】 4週間。
【 期日 】 8月16日 午前0時
【 ver 】 1.42
【 課題 】 コンピューターを売る会社のための価格設定システムを作成します。
2種類のコンピュータ、ノートブックとデスクトップがあります。各コンピュータの
オプションはプロセッサー(0.8($100)、1($130)、1.2($150),1.5Gb($200))CDドライブ(CD-ROM($40)、CD-RW($80)またはDVD($100)))
を備えています。ラップトップは、14($40)と15インチ($70)のスクリーンを備えています。
デスクトップは15($50)-,17($80)-,19インチ($100)のモニター備えています。オプションはモデム($60)、
networkカード($60)とzip drive($40)です。 このプログラムにはcomputer class(abstract class)
とnotebook class, desktop class(sub-class)が含まれます。
各subclassにはコンピューター価格を計算するメソッドが含まれます。
(価格はそのコンピューターの基本価格+オプション価格)
プログラムにはメモリ価格を計算するメソッド、ハードドライブを計算する
メソッド等が含まれます。
よろしくお願いします。
0027デフォルトの名無しさん
2005/08/15(月) 19:25:44http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%A4%EA%C9%D5%A4%B1#qd6e5574
>26が作成した途中のコードは参考にしてません。
テストもほとんどしてません。
それでも良ければどうぞ。
0028955
2005/08/15(月) 20:46:46002927
2005/08/15(月) 20:54:36一応EclipseでJDKの設定を1.4にしたつもりなんだけど。。
どこでエラーになったか書いて。
0030955
2005/08/15(月) 21:07:09親でもないのに迷惑かけてすいません。
本当に有難うございました。
まじで、感謝です。
003119
2005/08/16(火) 02:17:01【 課題 】
1.TreeNode(構文木)クラスに以下のメソッドを加えて、テストする。
public boolean contains(Object item) // もしターゲットを見つけたらtrueを返す
public Object find (Object target) // もしターゲットを見つけたらそのノードへのリファレンスをリターン、見つけなかったらnullをリターン
public object delete(Object target) // ターゲットをツリーから消してリターンする、もしくはnullをリターン
public boolean remove(Object target)// ターゲットをツリーから消してtrueをリターンします、もしくはfalseをリターンします。
public String preOrder() // 構文木を先行順にする。
public String postOrder()// 構文木を後行順にする。
2.javadocコメントをTreeNodeクラスに加えてください
【 期限 】8/15 午後12時
【 Ver 】1.4
【 補足 】マル投げです.すみませんが、よろしくお願いします。
http://www.geocities.jp/inndvision1980/BinaryTree.txt
http://www.geocities.jp/inndvision1980/BinaryTreeTest.txt
0032デフォルトの名無しさん
2005/08/16(火) 09:34:070033デフォルトの名無しさん
2005/08/16(火) 09:40:58今日中に何とか回答します〜
0034デフォルトの名無しさん
2005/08/16(火) 13:00:34ttp://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%A4%EA%C9%D5%A4%B1#tb7bacdf
JavaDocくらいは自分で書けよ
0035デフォルトの名無しさん
2005/08/16(火) 17:01:08テストしていないがよかったら使ってくれ
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%A4%EA%C9%D5%A4%B1#yea71ed7
0036デフォルトの名無しさん
2005/08/17(水) 23:09:49いざコードが示されたら音沙汰なしだね。
人間なんてこんなもんなのね。。
0037デフォルトの名無しさん
2005/08/17(水) 23:13:06いやなら来るな
0038デフォルトの名無しさん
2005/08/17(水) 23:18:13私達は、感謝される為にソースコードを書いてるのではない
0039デフォルトの名無しさん
2005/08/18(木) 00:22:47感謝は求めてない。
動作報告をして欲しい。
0040デフォルトの名無しさん
2005/08/18(木) 16:09:53禿堂
0041デフォルトの名無しさん
2005/08/22(月) 17:14:080042デフォルトの名無しさん
2005/08/25(木) 20:13:310043デフォルトの名無しさん
2005/08/25(木) 20:51:59逆に夏休みにやり残した課題を消化するためあわてて課題を出してくると思った漏れ
0044デフォルトの名無しさん
2005/08/26(金) 09:31:26駆け込みが殺到するのはもうちょっと先だな。
学生とか9末まで夏休みの人も多いだろうし。
0045デフォルトの名無しさん
2005/08/30(火) 00:58:49【 種別 】 丸投げ
【 Ver 】 1.4
【 期限 】 8月30日午後6時
【 課題 】 ウインドウのサイズを越えたものを表示するための
スクロールバー(ウインドウ自体の)の設置。
意味がわからなかったらすいません。
0046デフォルトの名無しさん
2005/08/30(火) 09:57:32問題を「そ の ま ま」書けと何度(ry
0047デフォルトの名無しさん
2005/08/30(火) 19:10:420048方向音痴
2005/09/02(金) 14:46:14Aさんは色々な返済プランを比較検討しようと考え、頭金を変えたり毎年の返済額を変えたらどうなるかを調べることにした。
頭金を「なし・600万円・1000万円・1300万円」の4ぱたーん、
毎年の返済額を「80万円・100万円・120万円・150万円」の4パタンとし、これらの組み合わせに対する返済プラン
頭金=なし&返済額= 80万円の場合の返済回数(年数)・支払総額
頭金=なし&返済額=100万円の場合の返済回数(年数)・支払総額
頭金=なし&返済額=120万円の場合の返済回数(年数)・支払総額
頭金=なし&返済額=150万円の場合の返済回数(年数)・支払総額
頭金=600万円&返済額= 80万円の場合の返済回数(年数)・支払総額
頭金=600万円&返済額=100万円の場合の返済回数(年数)・支払総額
………
頭金=1300万円&返済額=150万円の場合の返済回数(年数)・支払総額
というような画面出力するプログラムを作りなさい。
価格、年利、頭金・返済額パターンはプログラムに直接書き込んでかまわないが、あとで変更しやすいように作ること
↓続きます。
0049方向音痴
2005/09/02(金) 14:47:10<画面出力例>
価格=\30000000
年利 =2.5%
(頭金,返済)→返済回数/支払総額
(\0、\800000)→113/¥89829049
(\0、\1000000)→57/¥56143523
(\0、\1200000)→40/¥47668817
(\0、\1500000)→29/¥42107761
(頭金,返済)→返済回数/支払総額
(\6000000、\800000)→57/¥50914814
(\6000000、\1000000)→38/¥43109054
(\6000000、\1200000)→29/¥39686205
(\6000000、\1500000)→21/¥37035039
(頭金,返済)→返済回数/支払総額
(\10000000、\800000)→40/¥41779204
(\10000000、\1000000)→29/¥38071832
(\10000000、\1200000)→22/¥36195987
(\10000000、\1500000)→17/¥34635263
(頭金,返済)→返済回数/支払総額
(\13000000、\800000)→31/¥37549876
(\13000000、\1000000)→23/¥35413935
(\13000000、\1200000)→18/¥34250569
(\13000000、\1500000)→14/¥33242120
【 期限 】9月5日 正午
【 Ver 】1.42
【 補足 】
(\10000000、\1000000)→29/¥38071832は
頭金を1000万円用意し、ローンを毎年100万円ずつ返済した場合の返済回数(年数)は29年であり、頭金と借入金と利息を加えた支払い総額は38071832円という意味です。。
丸投げですいません。
よろしくお願いします。
0050デフォルトの名無しさん
2005/09/03(土) 09:26:50// PayBackDemo.java
import java.math.BigDecimal;
/**
* 返済プラン計算プログラム
* 価格と年利はコマンドライン引数として与える。
*/
public class PayBackDemo {
/**
* 頭金のパターン
*/
public static final BigDecimal[] DOWN_PAYMENT_PATTERN = { new BigDecimal("0"), new BigDecimal("6000000"), new BigDecimal("10000000"), new BigDecimal("13000000"), };
/**
* 毎年の返済額のパターン
*/
public static final BigDecimal[] AMOUNT_REPAID_PATTERN = { new BigDecimal("800000"), new BigDecimal("1000000"), new BigDecimal("1200000"), new BigDecimal("1500000"), };
/**
* mainメソッド
* @param args コマンドライン引数(価格、年利)
*/
public static void main(String[] args) {
BigDecimal price = new BigDecimal(args[0]);
BigDecimal apy = new BigDecimal(args[1]);
new PayBackDemo().process(price, apy);
}
/**
* 計算ロジック
* @param price 価格
* @param apy 年利
*/
public void process(BigDecimal price, BigDecimal apy) {
for( int i=0; i<DOWN_PAYMENT_PATTERN.length; i++ ) {
005150
2005/09/03(土) 09:28:17つづき
System.out.println( "(頭金,返済)→返済回数/支払総額" );
for( int j=0; j<AMOUNT_REPAID_PATTERN.length; j++ ) {
BigDecimal downPayment = DOWN_PAYMENT_PATTERN[i];
BigDecimal amountRepaid = AMOUNT_REPAID_PATTERN[j];
BigDecimal total = downPayment;
BigDecimal left = price.subtract(downPayment);
int count = 0;
while( left.longValue() > 0 ) {
left = new BigDecimal(apy.divide(new BigDecimal("100")).add(new BigDecimal("1")).multiply( left ).longValue());
left = left.subtract(amountRepaid);
total = total.add(amountRepaid);
count++;
}
total = total.add( left );
System.out.println( "(\\" + downPayment + "、\\" + amountRepaid + ")→" + count + "/\\" + total );
}
}
}
}
頭金\13000000、返済額\1000000の時だけ結果が数円違うけど。。
どこかミスってるかも。
0052デフォルトの名無しさん
2005/09/03(土) 13:14:20ファイルEx.txtの入出力に関する問題
1.Ex.txtに文字列を書き込むメソッドを作成し、
呼ばれるごとに【処理時刻:テスト】を追記する。
※ Ex.txtはどこに作成してもよい。
※ 処理時刻の表示形式は問わないが、時分秒が書き込まれていること。
2.Ex.txtの内容を読み込むメソッドを作成し、最後の行に書かれている文字列を表示する。
3.1で書き込む文字列を【処理時刻:処理n回目】と変更する。
nは2で作ったメソッドを利用し前回の値を参照し、書き込む時にn=前回+1となるようにする。
※Ex.txtの内容が途中で編集されることを考慮するため、n=行数のような判別方法は不可。
Ex.txtの中身例
【2005/mm/dd/01/01:処理1回目】
【2005/mm/dd/02/10:処理2回目】
割り込み文字列
割り込み文字列
【2005/mm/dd/13/01:処理3回目】
【 期限 】9/6
【 Ver 】1.4
【 補足 】特に2,3をお願いします。
0053方向音痴
2005/09/03(土) 14:55:07>50-51のデフォルトの名無しさん 、ありがうございます。
>頭金\13000000、返済額\1000000の時だけ結果が数円違うけど。。
とのことですが、
(\13000000、\1000000)→23/¥35413943
でした。ご指摘ありがとうございます。そして、コンパイルしてみた所、
シンボルを解決できません。
シンボル: メソッド divide (java.math.BigDecimal)
場所 : java.math.BigDecimal の クラス
left = new BigDecimal(apy.divide(new BigDecimal("100")).add(new BigDecimal("1")).multiply( left ).longValue());
とエラー表示されます。
私自身、javaの知識が無いためどうしていいかわかりません。よろしければ教えてください。
お願いします。
005450
2005/09/03(土) 16:13:18すいません。1.5のメソッド使ってました。
left = new BigDecimal(apy.divide(new BigDecimal("100")).add(new BigDecimal("1")).multiply( left ).longValue());
を
left = new BigDecimal(apy.divide(new BigDecimal("100"), 3, BigDecimal.ROUND_UNNECESSARY).add(new BigDecimal("1")).multiply( left ).longValue());
に変えてください。
0055方向音痴
2005/09/03(土) 16:25:52>54
ありがとうございます。
おかげで無事にコンパイルできました。
本当にありがとうございました。
0056デフォルトの名無しさん
2005/09/03(土) 17:45:09http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%A4%EA%C9%D5%A4%B12#j1f1a1f6
正規表現得意じゃないのでゴリゴリ書いてます。
もっといい方法があると思うけど。。
動作報告よろしく。
0057デフォルトの名無しさん
2005/09/03(土) 19:25:43abcのchkLogonメソッドを呼び出す
【 期限 】明日まで
よろしくお願いします。
0058デフォルトの名無しさん
2005/09/03(土) 22:00:34abc.chkLogon(x);
0059デフォルトの名無しさん
2005/09/03(土) 23:59:57読み取ったデータはすぐにグラフにして表示する。
Java(ソルバー起動) → ソルバー(計算、出力) → Java(表示)
ソルバーの出力は1秒間で10000個出力し、それを数分繰り返す。
Javaではソルバーが出力するデータのうち、すべてをグラフ化するのではなく、100個ごとといった様に間隔を置いて表示する。
こんな感じのJavaのGUIを作ってるんですが、Javaからソルバーを起動するとき、
どうやったらソルバーから100個ごとにデータを受け取るということをコントロールできるのか、
お願いしマスダ
0060デフォルトの名無しさん
2005/09/04(日) 00:42:272.上記1の戻り値であるProcessオブジェクト取得
3.新しくスレッド2つ起動する
1つ目はそのProcessオブジェクトからgetOutputStream()で標準出力取得するスレッド
2つ目はそのProcessオブジェクトからgetErrorStream()でエラー出力取得するスレッド
4.3の標準出力取得するスレッドで「100個ごと」受け取ったと判断した時点で希望する処理をやらせる
(JDK5ならProcessBuilderでもいい 何が違うのかよう分からんけど)
0061デフォルトの名無しさん
2005/09/04(日) 01:04:35さっそくためしてレポします!!!
0062デフォルトの名無しさん
2005/09/04(日) 01:58:14-2147483646 2147483647 -2147483647
らしいのですが
ArrayList型の変数にもそれぞれMax Min Nullがありましたら教えてください。
テストで使いたいのです。
0063デフォルトの名無しさん
2005/09/04(日) 02:54:03新しいjpegファイルとして書き出しなさい。
【 種別 】丸投げ
【 期限 】9月5日
【 Ver 】1.4
【 補足 】ピクセル単位でRGBの値を変えるっていうのは元画像のRGBの値のRを3倍にしたり とからしいです。(教師に質問した)
読み込みと書き込みにFileInput(Output)Storeamを、RGB処理にPixelGrabberなどを使って
自分なりにやってみたものの新しいファイルとして書き出すところでお手上げになりました。
丸投げですがお願いします。
0064デフォルトの名無しさん
2005/09/04(日) 03:50:02Image img=元画像;
int[] pixels=new int[x*y];
PixelGrabber pg = new PixelGrabber(img, x, y, w, h, pixels, 0, w);
pg.grabPixels();
//色変える作業・・・
Image conv_img = createImage(new MemoryImageSource(w, h, pixels, 0, w));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
BufferedImage img = createPieChart(data, total, dataName, height, width);//
encoder.encode(img);
006552
2005/09/04(日) 11:14:02ありがとうございます。動作確認しました。
細かい部分ですが、
【2005/09/04 11:03:33:処理1回目】
【2005/09/04 11:04:46:処理1回目】
↑このように処理回数を手で編集してしまった場合、次の書き込みが
【2005/09/04 11:03:33:処理1回目】
【2005/09/04 11:04:46:処理1回目】
【2005/09/04 11:05:05:処理3回目】
↑このようになってしまいます。
たぶん、割り込み文字は上記のようななを想定していないですし、
ここまでつくってもらったので、あとは自分で直してみます。
早い対応、どうもありがとうございました。
0066デフォルトの名無しさん
2005/09/04(日) 19:26:15> 1つ目はそのProcessオブジェクトからgetOutputStream()で標準出力取得するスレッド
>2つ目はそのProcessオブジェクトからgetErrorStream()でエラー出力取得するスレッド
この部分なんですけど、ProcessオブジェクトからgetOutputStream()で出力を取得するってやつ、
ソルバーから全部出力された後でその出力ストリームを取得して100個ごとに図にするってことだと思うんですが、
ソルバーの計算が終わった後で作図って言うのじゃなくて、ソルバーが1個出力されるたびに作図、出力、作図、を繰り返したいんです。
通常ソルバーの出力の方が速くて作図が間に合わないだろうという予測のもと、ある程度出力に間隔を置いて作図するわけなのですが・・・
0067デフォルトの名無しさん
2005/09/04(日) 19:30:48ソルバーの出力を
標準出力に渡さないとダメだよ
0068デフォルトの名無しさん
2005/09/04(日) 20:09:43ソルバーの出力を標準出力に渡すって言うことは、簡単に表現するなら
printf("%ld\n", data);
のようなコードをソルバーのソースに入れておくっていうことですか?
0069デフォルトの名無しさん
2005/09/04(日) 20:10:21/* java */
package test;
import java.io.*;
public class RuntimeExecTest {
/** 最初に呼び出されるメソッド */
public static void main( String args[] ) {
try {
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(args);
// 呼び出したプログラムの出力を標準出力に送る
BufferedReader br = new BufferedReader(
new InputStreamReader(
process.getInputStream() ) );
String line;
for(int i = 0; (line = br.readLine()) != null; i++ ){
if(0 == (i % 1000)){
System.out.println( line );
}
}
}
catch( IndexOutOfBoundsException e ) {
System.err.println( "Usage:java ExecTest command [args...]" );
System.exit(-1);
}
catch( Exception e ){
System.err.println( "Error:" + e.toString() );
System.exit(-1);
}
}
}
0070デフォルトの名無しさん
2005/09/04(日) 20:11:01#include <stdio.h>
int main(void)
{
long int sum = 0;
long int i,j=0;
while(j != 100000){
for(i = 0; i < 100000; i++){
//sum = sum + i;
//printf("%d\n",i);
}
j++;
printf("%d\n",j);
}
return 0;
}
0071デフォルトの名無しさん
2005/09/04(日) 20:17:19>ソルバーの出力を標準出力に渡すって言うことは、簡単に表現するなら
>printf("%ld\n", data);
>のようなコードをソルバーのソースに入れておくっていうことですか?
そういうことですよ
ちなみにいまさらな話なのですが私はソルバーってよくわかりません使ったこともないし・・・
なので、ソルバーの出力をうまくgetInputStream()に渡せるのかというのが気になっておりました
>>69
出来たのならそれでいいのでは?
あとは100ごとの処理を書けばいいのではないでしょうかね
0072デフォルトの名無しさん
2005/09/04(日) 20:20:53お世話様でした。
ソルバーとは "solver"のことで、計算をするプログラムのことです。直訳的には"解く人"ですね。
0073デフォルトの名無しさん
2005/09/04(日) 22:09:34ログオン可能なIDはあらかじめ配列に用意しておく。パスワードは「12345」とする
コマンドラインにはint型で表現できる2つの数値がID,パスワードの順で
入力されるものとする
【 期限 】明日まで
【 補足 】丸投げ
よろしくお願いします
0074デフォルトの名無しさん
2005/09/09(金) 00:26:16public static void main(String[] args) {
int[] id = {11, 22};
String password = "12345";
if (args.length < 2) {
System.out.println("IDとパスワードを入れろ");
System.exit(0);
}
for (int i = 0; i < id.length; i++) {
if (args[0].equals(String.valueOf(id[i]))) {
if (args[1].equals(password)) {
System.out.println("ログイン成功");
System.exit(0);
}
}
}
System.out.println("ログイン失敗");
}
}
0075名無しさん@そうだ選挙に行こう
2005/09/11(日) 07:17:55もっとJAAS風におねがいします・・・それじゃ小学生並なので・・・
0076名無しさん@そうだ選挙に行こう
2005/09/11(日) 08:43:16>73の質問からはそういう風にしてほしいという意図が全く読み取れないのだが。
0077名無しさん@そうだ選挙に行こう
2005/09/11(日) 09:34:500078デフォルトの名無しさん
2005/09/12(月) 16:32:51private int start,end;
IntRandom(int n,int m){
�@;
�A;
}
public int getIntRandom(){
�B
}
}
問題:
nからmまでの整数乱数を発生させるIntRandomクラスを作成した。
オブジェクト生成時にnとmを渡し、メソッドgetIntRandom()により
乱数を得る使用となっている。�@�A�Bに適切なコードを入れよ。
�Bはreturn (int)Math.random();だと思いましたが違うらしいです。
お願いします。
0079デフォルトの名無しさん
2005/09/12(月) 17:20:19コマンドラインから今日の曜日と整数Nを渡し、標準出力にN日後の曜日を出力するプログラム
を作成しなさい。
【期限】今日6時まで
【補足】丸投げですがお願いします。
0080デフォルトの名無しさん
2005/09/12(月) 17:48:060081デフォルトの名無しさん
2005/09/12(月) 17:55:31コンストラクタの引数はgetIntRandomで出力する値の範囲か?
(1) this.start = n;
(2) this.end = m;
(3) return (int)(n + Math.random() * (m - n+1));
0082デフォルトの名無しさん
2005/09/12(月) 18:01:25はい、そです
0083デフォルトの名無しさん
2005/09/12(月) 18:14:01おれがやろうと思ったのに、おれがやろうと思ったのに、
おれがやろうと思ったのに、おれがやろうと思ったのに、
おれがやろうと思ったのに、おれがやろうと思ったのに、
出来なかったです(3)が、勉強しなおします。orz
0084デフォルトの名無しさん
2005/09/12(月) 18:22:31return (int)(start + Math.random() * (end - start+1));
0085名無しさん@Linuxザウルス
2005/09/13(火) 07:59:48JScrollpaneの水平スクロールバーと垂直スクロールバーの太さを、
テキストボックスからの入力で制御できるようなサンプルGUIを
作成してください。
【 期限 】
9月16日
【 補足 】
丸投げです。
水平スクロールバーの高さと、垂直スクロールバーの幅を
制御したいです。
0086デフォルトの名無しさん
2005/09/13(火) 13:02:34public class P53Q79 {
private String[] yobiary=new String[]{"Mon","Tue","Wed","Thr","Fri","Sat","Sun"};
public P53Q79(String[] argv){
if(argv.length<2)usage();
calc(argv[0],Integer.parseInt(argv[1]));
}
private void usage(){
System.out.println("java P53Q79 Mon|Tue|Wed|Thr|Fri|Sat|Sun N");
System.exit(0);
}
private void calc(String yobi,int n){
int now=yobiadr(yobi);
if(now<0)usage();
int amari=n%7;
int fur=(now+amari)>=7?(now+amari-7):(now+amari);
System.out.println(n+"日後は"+yobiary[fur]+"だ");
}
private int yobiadr(String yobi){
for(int i=0;i<yobiary.length;i++){
if(yobi.equals(yobiary[i]))return i;
}
return -1;
}
public static void main(String[] argv){
new P53Q79(argv);
}
}
0087デフォルトの名無しさん
2005/09/13(火) 14:08:40前提条件
下記Classは全て studyA パッケージとして作成する事。
入力が発生する場合、いかなる場合でも予期しない例外(スタックトレースなど)が出ない事。
A1 コマンドで "Hello Java" と表示しなさい。
A2 コマンドライン引数で入力された文字列を表示しなさい。
呼び出し例: > java A2 あいうえお
> あいうえお
A3 コマンドライン引数で入力された文字列が
3文字以下なら”すこし”
4文字以上なら”たくさん” を表示しなさい。
A4 コマンドライン引数で入力された文字列が
3文字以下なら、その文字列を20個文字列連結して表示
4文字以上なら”たくさん” を表示しなさい。
文字列連結の際はStringBufferクラスを使用しなさい
for文を使用しなさい
※javaのインデックス・配列は0(ゼロ)からです。
A5 コマンドライン引数の第1引数(数字)と第2引数(数字)の和を表示しなさい。
(数値その他のチェックも行う事 / 計算は整数で行う事。浮動小数点は使用禁止)
A6 現在の年月を以下の書式で表示しなさい
例: 「2003年 8月 15日(金) 12時 5分 56秒」
A7 コマンドライン引数に入力された年と月から、
その月が何日まであるかを表示しなさい。
(日付その他のチェックも行う事)
【 期限 】提出期限2005/9/16(金)
【 補足 】よろしくお願いします。
0088デフォルトの名無しさん
2005/09/13(火) 15:47:59int型の配列 hairetu[]n={1,2,5,4} が存在する
配列内の値を用いて足し算をする場合、全部で何通りの式が得られるか?
得られる式とその数、答えを全て表示せよ。
ただし、「1+2と2+1」「1+2+5と1+5+2と5+2+1」等は1種類の式として扱う
【 期限 】
今日の23時まで
ギリギリですいませんOTL
0089デフォルトの名無しさん
2005/09/13(火) 15:49:13申し訳ない・・・
0090デフォルトの名無しさん
2005/09/13(火) 19:19:432+5 2+4
5+4
1+2+5 1+2+4 1+5+4
2+5+4
1+2+5+4
0091デフォルトの名無しさん
2005/09/13(火) 20:29:58009288
2005/09/13(火) 20:59:380093デフォルトの名無しさん
2005/09/13(火) 21:07:54中学と高校をやり直してこい。
これは中学とか高校で『確率』のときに習ったはずだ。
コンビネーション(nCm)、 パームテーション(nPm)を習ったはずだ。
基本情報処理試験のテスト出題範囲でもある。
0094デフォルトの名無しさん
2005/09/13(火) 21:38:064C4+4C3+4C2=11
になるのは分かるのですが、プログラムでどう書いていいのやら・・・
0095デフォルトの名無しさん
2005/09/13(火) 21:51:38計算。
0096デフォルトの名無しさん
2005/09/13(火) 22:07:49存在するんだ・・・
0097デフォルトの名無しさん
2005/09/13(火) 22:14:180098デフォルトの名無しさん
2005/09/13(火) 22:14:46import java.util.*;
public class ShikiGenerator
{
ArrayList list = new ArrayList();
void generate(int a[], String str, int n)
{
for(int i = n; i <= a.length - 1; ++i)
{
String s = str + "+" + a[i];
list.add(s);
generate(a, s, i+1);
}
}
void printList()
{
for(int i = 0; i < list.size(); ++i)
System.out.println((i+1) + " : " + (String)list.get(i));
}
public static void main(String[] args)
{
int a[] = {1,2,5,4};
ShikiGenerator sg = new ShikiGenerator();
sg.generate(a, ""+a[0], 1);
sg.printList();
}
}
0099デフォルトの名無しさん
2005/09/13(火) 22:15:540100デフォルトの名無しさん
2005/09/13(火) 22:19:44import java.util.*;
public class ShikiGenerator
{
ArrayList list = new ArrayList();
void generate(int a[], String str, int n)
{
for(int i = n; i <= a.length - 1; ++i)
{
String s = str + "+" + a[i];
list.add(s);
generate(a, s, i+1);
}
}
void printList()
{
for(int i = 0; i < list.size(); ++i)
System.out.println((i+1) + " : " + (String)list.get(i));
}
public static void main(String[] args)
{
int a[] = {1,2,5,4};
ShikiGenerator sg = new ShikiGenerator();
for(int i = 0; i < a.length; ++i)
sg.generate(a, ""+a[i], i+1);
sg.printList();
}
}
0102100
2005/09/13(火) 22:37:08import java.util.*;
public class ShikiGenerator
{
ArrayList list = new ArrayList();
int a[] = null;
ShikiGenerator(int a[]){ this.a = a;}
void generate(String str, int n)
{
for(int i = n; i <= a.length - 1; ++i)
{
String s = str + "+" + a[i];
if(n > 0 ) list.add(s.substring(1));
generate(s, i+1);
}
}
void printList()
{
for(int i = 0; i < list.size(); ++i)
System.out.println((i+1) + " : " + list.get(i));
}
public static void main(String[] args)
{
int a[] = {1,2,5,4};
ShikiGenerator sg = new ShikiGenerator(a);
sg.generate("", 0);
sg.printList();
}
}
0103100
2005/09/13(火) 22:40:49i <= a.length -1 てよ。
i < a.length でいいじゃん。
0104デフォルトの名無しさん
2005/09/13(火) 23:46:32#で三角形を描きたいです。
どうすればいいですか?
#
# #
# #
# #
#######
完成図はこんなかんじです。
0105デフォルトの名無しさん
2005/09/13(火) 23:53:43public static void main(String[] args) {
System.out.println(" #");
System.out.println(" # #");
System.out.println(" # #");
System.out.println(" # #");
System.out.println("#######");
}
}
0106デフォルトの名無しさん
2005/09/14(水) 00:38:14一番下がずれる・・・
0107デフォルトの名無しさん
2005/09/14(水) 00:40:500108デフォルトの名無しさん
2005/09/14(水) 00:47:17正、誤で回答をし、回答結果を集計して表示
【 種別 】丸投げ
【 期限 】9月15日
【 Ver 】1.5
まったくわかりません・・ よろしくお願いします。
0109デフォルトの名無しさん
2005/09/14(水) 00:48:26宿題に書かれてる条件ってそれだけか?
省略せずに全部書けよ
0110デフォルトの名無しさん
2005/09/14(水) 01:03:10君もそれ問題全部書いてるか?
アバウトなのが多すぎるぞ
0111デフォルトの名無しさん
2005/09/14(水) 01:34:54口頭で言われたんですが、これだけなんです。
「単元で言うと」とか全くなし。
でもやっぱり条件式とかはつけないとだめかなーと思っています。
0112108
2005/09/14(水) 01:37:50口頭で「コレコレこうしたものを作ってきなさい。」 と言われました。
他に言われた事は「問題は各自好きな分野で作成すること」くらいです。
0113デフォルトの名無しさん
2005/09/14(水) 02:43:40今、助けが必要なのは、顧客情報をArrayで管理する際に、CDクラスを作ったのですが、メインからどうアクセスすればいいかわかりません。
ちなみにArrayに入る情報は、CDタイトル、アーティスト、値段、ジャンルです。
【 種別 】問題途中までのプログラムをアップしています。
http://www.uploda.org/file/uporg192367.zip.html
【 期限 】9月16日
【 補足 】当方海外の大学生のため、問題は英語になっています。
0114デフォルトの名無しさん
2005/09/14(水) 11:39:24どっちにずれるの?
俺のところでは>>104の通りに表示されるが
0115デフォルトの名無しさん
2005/09/14(水) 12:34:19遅いのはStringBuffer使ったりループに直したりすれば何とかなると思うがやってないからわからん
public class Shukudai {
static String printTriangleSub(String left, int height) {
if (left.length() == height) {
System.out.println(left + "#");
return " ";
}
String inner = printTriangleSub(left + " ", height);
System.out.println(left + "#" + inner + "#");
return inner + " ";
}
static void printTriangle(int height) {
printTriangleSub(" ", height);
for (int i = 0; i < height - 1; i++) {
System.out.print("##");
}
System.out.println("#");
}
public static void main(String[] args) {
printTriangle(4);
}
}
0116デフォルトの名無しさん
2005/09/14(水) 13:06:00http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%A4%EA%C9%D5%A4%B12#d636eaa5
0117デフォルトの名無しさん
2005/09/14(水) 13:58:310118デフォルトの名無しさん
2005/09/14(水) 19:21:36一番難しいのは100問の問題を作成することなのだが。。
0119デフォルトの名無しさん
2005/09/14(水) 19:27:26TerminalIOパッケージの中身をクレ.
0120113
2005/09/14(水) 20:12:19にアップしました。
0121デフォルトの名無しさん
2005/09/14(水) 21:19:23ありがとうございます。
がんがって説明できるように解読します・・・
0122デフォルトの名無しさん
2005/09/14(水) 21:43:42底辺が一個足りない感じになるんですよ。
ちなみに>>115でも同じようになって・・・
for (int i = 0; i < height - 1; i++) {
の-1を抜くとピッタリなんです。
どうしてだろう・・・
0123デフォルトの名無しさん
2005/09/14(水) 22:27:40#
# #
# #
# #
#######
お前がやりたいのはこっちか?
#
# #
# #
# #
#########
だったら-1を抜くとピッタリだ
0124デフォルトの名無しさん
2005/09/14(水) 23:21:33上のほうだけど・・・
失礼だったかもしれませんが、
作っていただいたプログラムにいちゃもんつけてるわけじゃないんです。
秀丸にコピペしてコマンドプロンプトで出すと
#
# #
# #
# #
######
↑こうなってる。
-1抜いたら二個増えるはずなのに、ピッタリなんですよ。
なんでだろ・・・・
0125113
2005/09/14(水) 23:39:59【 課題 】ユーザーのキーボード入力によりCDのタイトル、アーティスト、
値段、ジャンルを配列に最大10個記録して、後にすべての表示をするプログラムの作成。
これらの操作はすべてコマンドライン操作で、キーボードの入力"A"でCDの情報を入力できるようにし、
"D"で今まで入力されたすべてのCDを出力
【 助けてもらいたいこと 】配列の使い方がわかりません。
とりあえず、一人目の入出力はできている状態なのですが、arrayを使っていないので二人目以降の管理ができていません。
【 種別 】問題、途中までのプログラムをアップしています。 (前回とは中身が違います)
http://www.uploda.org/file/uporg192986.zip.html
【 期限 】9月16日
0126デフォルトの名無しさん
2005/09/15(木) 12:37:15こんなのでいいのか?
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%A4%EA%C9%D5%A4%B12#f24f3f88
0127デフォルトの名無しさん
2005/09/15(木) 17:02:48間違っちゃいないけど、線を引くイメージで組み直してみた。
public class Triangle {
static void printLine(int line, int height) {
for (int i = 0; i < height + line; i++) {
if (i == height - line) {
System.out.print("#");
} else {
System.out.print(" ");
}
}
System.out.println("#");
}
static void printTriangle(int height) {
for (int i = 0; i < height; i++) {
printLine(i, height);
}
for (int i = 0; i < height; i++) {
System.out.print("##");
}
System.out.println("#");
}
public static void main(String[] args) {
printTriangle(4);
}
}
0128デフォルトの名無しさん
2005/09/15(木) 17:08:51九九じゃなくて、10×10を問題にすればいいのでは?
0129デフォルトの名無しさん
2005/09/15(木) 17:24:25配列じゃなきゃダメか?
Listの方が実用性 (つっても宿題だけど) としてはより良い選択だと思うが。
0130129
2005/09/15(木) 17:43:23とりあえず配列で適当にやるならこんな感じ
ttp://www.uploda.org/file/uporg193385.zip.html
0131デフォルトの名無しさん
2005/09/15(木) 22:11:460132113
2005/09/15(木) 23:02:09配列ってしていなもんで。
うpしてもらったコードなんですが、メニュー"A"にいくと
"Exception in thread "main" java.lang.NullPointerException
at Assignment_2.main(Assignment_2 .java:40)"
ってでて強制終了されます。自分なりに弄ってはいるんですが、
解決方法はありますか?
0133113
2005/09/15(木) 23:32:58...main(Assignment_2 .java:50)"の間違えです。
コンパイルの際にはエラーはでません。
0134凶笑面
2005/09/16(金) 02:14:12みんな、見ようぜ。 原作は新潮文庫から出てるよ。
俺はドラゴン桜を見るからビデオに撮るけどな。
0135129
2005/09/16(金) 09:36:12スマネ
素でぬるぽ出しちまった・・・ 心より恥じる orz
'A' の処理で、まだnewしてないCDを使おうとしてるのでぬるぽです
こんなこっぱずかしいミスをしないように、という教訓ということにしてくれ orz
'A'のこれを
CD cd = cds[index];
こんな風にすればOK
CD cd = new CD();
cds[index] = cd;
0136デフォルトの名無しさん
2005/09/16(金) 13:05:31どっか同じ学校に行ってるんだろうな ナンマンダブ ナンマンダブ
0137113
2005/09/17(土) 23:59:54>>135, >>129
Dの処理でも同じようにエラーが出たので、Aと同じように
CD cd = new CD();
cds[index] = cd;
にしたんですけど、出力が全て0とnullになります。
丸投げで回答してもらったほうがいいですかね?
0138デフォルトの名無しさん
2005/09/18(日) 00:06:310139デフォルトの名無しさん
2005/09/18(日) 00:12:52出来たところまでの回答をあげてくれ
0140デフォルトの名無しさん
2005/09/18(日) 08:12:18今日の夜みるからもう一度今までできたところをうpして、
それに対してどこが解らないかを書き込んどいてくれ
0141デフォルトの名無しさん
2005/09/18(日) 09:51:06>129ではないが、時間ができたのでやってみた。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%A4%EA%C9%D5%A4%B12#f008bd5b
問題文が英語なので、ちゃんと問題文の通りにできてるかどうかは知らん。
Assignment_2 .javaとCD.javaの両方を弄ってます。
動作報告よろしく。
0142デフォルトの名無しさん
2005/09/18(日) 13:55:15すいません。javaでの環境をつくらなくてはいけないのですが、
『java web start』というアイコンはこれは何ですか?
0143デフォルトの名無しさん
2005/09/18(日) 13:59:05説明読めよ
0144デフォルトの名無しさん
2005/09/18(日) 14:49:02とりあえず起動してみろ。
知らないなら気にするな。中にいくつかデモプログラムが入っているので
デモと勘違いする香具師が多いが、実際には
ダウンロードしたJavaWebStartに対応するアプリケーションを溜めて
リストアップしておくためのアプリケーションだ。
わからないならJavaAppletに取って代わる新しい技術だということを
頭に入れておけばいい。
0145デフォルトの名無しさん
2005/09/18(日) 17:06:45していされた画像ファイルの画像変換を行うクラスを作成。
<機能条件>
前提とする画像のファイル形式はBMP、JPG、GIF、PNGとする
変換元ファイルの画像形式は自動で判別する事。
変換先のファイル形式は引数などで指定すること。(指定の無い場合はデフォルトでJPGとする)
画像のサイズ(縦横)変更を可能とする事。(ただし、縦横比は維持させる)
変換先のファイル形式がJPGの場合、ファイルサイズの上限を設定できること。
上限を設定された場合、変換されたJPGファイルは上限値を超えない最大のサイズでの圧縮レベルで変換する事。
さらに、縦横のサイズ変更との併用を可能とする。
【 期限 】
9月20日の正午までにメールまたは各種メディアにて提出。
(ソースコードおよびコンパイルしたもの、さらに動作確認用のメイン関数の書かれたもの)
0146140
2005/09/18(日) 22:53:25問題すらみれてないので何とも言えないが
同じCDを買うときもtitleやらなにやら入力し直すのかい?
間違えてaddしたの消す機能を必要無し?
0147113
2005/09/18(日) 23:36:24>>129, >>141さんを初め、助けてくれようとしてくれた皆さんありがとうございました。
かなりの亀レスになってしまいましたが、プログラムの動作確認致しました。
本当にありがとうございます。
0149114
2005/09/19(月) 00:41:063台のパソコンで仮想的な受注と発注を行いたいのですが、他のパソコンから
データベースに接続する方法が分かりません。一応フォーム、データベースは
もうできているので、後は他のパソコンから接続してデータを反映する事で
問題は解決できると思います。
たぶんサーバ名を"localhost"にしているためだと思うのですが何に変更すれば
いいか、調べてはみたのですが、全く分かりません。分かる方、どうかお教えお願いします。
0150デフォルトの名無しさん
2005/09/19(月) 00:43:56質問の仕方から勉強してきてくれ
0151デフォルトの名無しさん
2005/09/19(月) 01:23:55ImageIOで検索してみ。
適したAPIがあるから。簡単だからすぐできるぞ。
Advansed Image IOなんてもの使わなくてもいいから。
AffinTransformとかも必要かもしれないが、
このケースの場合不要だな。
0152デフォルトの名無しさん
2005/09/19(月) 01:29:33他のPCとそのマシンとの関係はどうなっておるかな?
間にファイアウォールがあるかどうか?
IPアドレスは動的か、静的か? グローバルIPか?それともプライベートIPか?
グローバルIPアドレスの使用は学校から許可が下りているか?
DNSの設定は?
ポートhttpは解放できるか?
ApacheなどのWebサーバをインストールしているか?
Javaアプリケーションサーバは何を使うのか?
Tomcat? Jetty? それとも、JBoss?
サーバ、クライアントPCに使われているOSは何か? Windowsか? Linuxか? *BSDか? Solarisか?
データベースはRDBMSにするのか、ただのデータの集まりで構わないのか?
RDBMSにする場合、お前にRDBMSをインストールし、設定し使いこなすスキルがあるのかどうか?
データベースサーバはどこに置くか?
データベースサーバを外部に置く場合、そのポートは開放させてもいいのかどうか?
まずこれらを確認せよ。
0153114
2005/09/19(月) 02:05:50>>151
ImageIOについて、これから良く調べてみますw
>>152
初心者ですいませんm(._ _*)m
今分かるところ、OSはwindows。
ApacheなどのWebサーバはインストール済み。
JavaアプリケーションサーバはTomcat。
PCは研究室内のものを3台使用し、全てWebサーバはインストール済み。
同Tomcatを使用。同OS。
データベースはただの集まりで動くのかはまだわかりません。
後は今確認できないので、確認後報告致しますwすいませんw
0154114
2005/09/19(月) 02:07:57スマソ。。
間違いです。
0155デフォルトの名無しさん
2005/09/19(月) 07:37:50> データベースに接続する方法が分かりません。一応フォーム、データベースは
> もうできているので、後は他のパソコンから接続してデータを反映する事で
> 問題は解決できると思います。
これを読む限りでは同一PC内でAPL<->DBは接続できているように書いてあるけど
質問内容からすると出来ていない気がするなぁ
同一PC内で接続確認済->Javaの問題では無いだろうしね
0156デフォルトの名無しさん
2005/09/19(月) 13:37:18http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%A4%EA%C9%D5%A4%B12#u63f7829
画像処理なんて初めてやったので、かなりアヤシイ。
wikiにも書いたけど、jpgに変換するロジックは相当強引なので、処理が遅いです。
神を待った方がいいかも。
0157デフォルトの名無しさん
2005/09/19(月) 17:29:45随分と複雑なものをかいたものだのう
わざわざこんなことするなんて
double[] mtrx = { rate, 0, 0, rate };
return new AffineTransformOp( new AffineTransform(mtrx), AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
おれはこうしている
public static void generate(final File input, final File output,
final double magnification) {
BufferedImage bufferedImage = null;
try {
bufferedImage = ImageIO.read(input);
Graphics2D graphics2d = bufferedImage.createGraphics();
AffineTransform scale = AffineTransform.getScaleInstance(magnification,
magnification);
graphics2d.drawImage(bufferedImage, scale, null);
BufferedImage resultImage = bufferedImage.getSubimage(0, 0,
(int) (bufferedImage.getWidth() * magnification),
(int) (bufferedImage.getHeight() * magnification));
ImageIO.write(resultImage, "jpeg", output);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
0158114
2005/09/20(火) 01:36:28[使用OS、ソフトなど]
OS: Windows XP Server (SP3)
JDK: Java 2 SDK Standard Edition v1.4.1_01 (インストール済み)
JSPコンテナ: Tomcat4.1.18 (インストール済み)
Webサーバ: Apache1.3.27 (インストール済み)
データベース: MySQL3.23.54 (インストール済み)
ブラウザ: Internet Explorer 6.0
[学内PCのネットワーク環境など]
ipアドレスはパソコンによって違う。 サブネットマスク、デフォルトゲートウェイは全て同じ。優先DNSサーバ、代替DNSサーバも同じ。
ローカルエリア接続。LANにプロキシサーバーを使用。ポート:8080。 ローカルアドレスにはプロキシサーバーを使用しないのチェックボックスに
チェックあり。
0159114
2005/09/20(火) 01:37:50[注文フォームのソースコードの一部]
//データベース設定
String sv = "localhost"; //サーバ名
String db = "projecta"; //データベース名
String user = ""; //ユーザ名
String pass = ""; //パスワード
String encode = "Shift_JIS"; //文字コード
//データベースに接続する
Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql://" + sv + "/" + db
+ "?user=" + user
+ "&password=" + pass
+ "&useUnicode=true&characterEncoding=" + encode;
Connection conn = DriverManager.getConnection(url);
この受注入力画面を次のURLをブラウザで表示
http://localhost:8080/examples/jsp/jutyunyuryoku.jsp
こんな感じです。
0160ザイン帝國軍帥・伯魔壬旭(小島露観)
2005/09/20(火) 18:48:38ここに、二つのクラスを貼っておきました。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
【使用法】
まずコンパイルしたら、hw111パッケージ(=フォルダ)のあるフォルダをカレントフォルダにして
rmic -classpath . hw111.HW111Impl でスタブクラスファイルを作成してください。
hw111パッケージのクラスファイルを、サーバーマシンとクライアントマシンの双方に置いてください。
※サーバー側のプログラム
>>159 の Connectionインスタンス conn を、引数にして、
HW111Impl server = new HW111Impl(conn);
としてください。これでデータベースサーバーの窓口が開かれます。
プログラムを終了する時は、server.close(); としてください。
※クライアント側のプログラム
サーバーマシンのローカルIPアドレスを引数にして、(ここでは「195.160.333.3」とする)
HW111 client = HW111Impl.getDatabaseInterface("195.160.333.3");
とすると、サーバーマシンのデータベースを操作できるオブジェクトが取得できます。
データベースの読み込み(Select文)をする時はList readDatabase(String sql) メソッドを使ってください。
引数sqlには、普通にselect文を記述してください("select * from datatable" など)。
返値の Listオブジェクトには、行を示すMapオブジェクトが取得された行の数だけ入ってます。
各Mapは一つの行を示します。map.get("列の名前")で、その列の値が取得できます。
TINYINT、SMALLINT、INTEGER、BIGINTの値は、Integerオブジェクトで入ってます。
CHAR、VARCHARの値は、Stringオブジェクトで入ってます。
DATEはDate、TIMEはTime、TIMESTAMPはTimestampオブジェクトで入ってます。
データベースへの書き込み(Insert、Update、Delete文)をする時は、引数sqlにその命令文を記述して
writeDatabase(String sql) メソッドを使ってください。
0161デフォルトの名無しさん
2005/09/20(火) 20:35:42[注文フォームのソースコードの一部]
//データベース設定
String sv = "localhost"; //サーバ名
String db = "projecta"; //データベース名
String user = ""; //ユーザ名
String pass = ""; //パスワード
String encode = "Shift_JIS"; //文字コード
//データベースに接続する
Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql://" + sv + "/" + db
↑でマシンが違うことで変わるところは1箇所しかないと思うのだが
同一マシンでも接続できていない?DNSが解決できない?IPアドレスを毎回自動で取得している?
0162デフォルトの名無しさん
2005/09/20(火) 22:20:02【課題】以下のDBアクセスプログラムをそれぞれDBopen, DBquery, DBcloseの
3つのメソッドに分けて記述しなさい。
public DBaccess {
Connection con; Statement stmt; ResultSet res;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("JDBCドライバOK");
con = DriverManager.getConnection("jdbc:oracle:thin:@sesvr101:1521:HOGE", "user", "pass");
System.out.println("DB接続OK");
stmt = con.createStatement();
System.out.println("StatementインタフェースOK");
res = stmt.executeQuery("SELECT * FROM 社員");
System.out.println("SQL文発行OK");
}
res.close();
stmt.close();
con.close();
System.out.println("正常終了");
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
}
お願いします m(_ _)m
0163114
2005/09/21(水) 00:37:52↑でマシンが違うことで変わるところは1箇所しかないと思うのだが
同一マシンでも接続できていない?
同一マシンでは接続できます。他のマシンからは接続できません。
他マシンを「localhost」から、このマシンのIPアドレスに変えればいいわけですよね??
IPアドレスは自動で取得していません。IPアドレスは分かります。
0164114
2005/09/21(水) 00:57:54ここに、二つのクラスを貼っておきました。
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
すみません。なぜか見れません。私のブラウザに問題があるからでしょうか?
0165デフォルトの名無しさん
2005/09/21(水) 04:27:20【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】1週間くらい
【 Ver 】1.4.2以前
【 補足 】PG暦TOTALで2年くらい
だが・・・最近まともにプログラムらしきモノに触り始めました
0166デフォルトの名無しさん
2005/09/21(水) 14:53:11さらにBufferReaderで1行づつ読み込むプログラムの1部です。
このプログラムはwhile文によって文字が存在するか、しないかを確認し
存在する場合に1行づつ文字列の読み込みを繰り返しているのですが、
ここでlineの中味は1行ずつ読み込む度に変更されています。
読み込んだ文字列を後で処理したいと思っているのでlineが変更される
前に文字配列の中にa[0]は1行目、a[1]は2行目のように順番に格納できませんか?
お願いします。
int returnVal = fc.showOpenDialog(Fileso.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();//選択したファイルを取得
String line = new String();
try {//ファイルの読み込み
BufferedReader br = new BufferedReader (new FileReader(file));
line = br.readLine();
area.setText(line + '\n');
while(line != null){
line = br.readLine();
if (line == null) break;
area.append(line + '\n');
}
br.close();
0167デフォルトの名無しさん
2005/09/21(水) 20:58:26でどうだった?
あとはport等ネットワークの問題だろうから
各種設定、導通テスト(こんな言葉であってるか?)等
やってみた結果も併せて書いてくれれば解るかも
(既にJAVAの域を越えてる気がするけど・・)
0168デフォルトの名無しさん
2005/09/22(木) 03:08:29Connection con; Statement stmt; ResultSet res;
public void DBopen() throws ClassNotFoundException,SQLException{
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("JDBCドライバOK");
con = DriverManager.getConnection("jdbc:oracle:thin:@sesvr101:1521:HOGE", "user", "pass");
System.out.println("DB接続OK");
stmt = con.createStatement();
System.out.println("StatementインタフェースOK");
}
public ResultSet DBquery()throws SQLException{
stmt = con.createStatement();
System.out.println("StatementインタフェースOK");
res = stmt.executeQuery("SELECT * FROM 社員");
System.out.println("SQL文発行OK");
res.close();
stmt.close();
return res;
}
}
public void DBclose() throws SQLException{
res.close();
stmt.close();
con.close();
System.out.println("正常終了");
}
}
といいかげんに答えてみるテスト。
0169デフォルトの名無しさん
2005/09/22(木) 03:38:120170デフォルトの名無しさん
2005/09/22(木) 17:53:54ムリでした
0171デフォルトの名無しさん
2005/09/23(金) 19:55:27package exercise;
public class Point{
private int x,y;
int getX(){ return x; }
public int getY(){ return y;}
public Point(int x0,int y0){
x = x0;
y = y0;
}
}
【 課題1 】下のmoveXメソッドの定義はアクセス制限に違反しているか否か理由もつけて答えよ。
package exercise;
class Point3D extends Point{
private int z;
int getZ(){ return z;}
void moveX(int dx){ x += dx;}
Point3D(int x0,int y0){
super(x0,y0);
}
}
0172171
2005/09/23(金) 19:56:05package question;
import exercise.Point;
public class ColorPoint extends Point{
private String color;
public String getColor(){ return color; }
public int xpos(){ return getX(); }
public int ypos(){ return getY(); }
public ColorPoint(int x0,int y0,String c){
super(x0,y0);
color = c;
}
}
【 期限 】 9月25日まで
よろしくお願いします。
0173デフォルトの名無しさん
2005/09/23(金) 21:29:02Ans. 違反している。
変数xがPoint内でprivateの可視性で定義されているから、
クラスが異なるPoint3Dからは見えない。
>172
Ans. xpos()
メソッドgetX()がPoint内でデフォルトの可視性で定義されているから、
パッケージが異なるColorPointからは見えない。
コンパイルすれば分かるものを。。
0174sage
2005/09/26(月) 14:39:57【 期限 】9月28日くらいまで
【 Ver 】できれば1.4でお願いします
まったくわからないのでよろしくお願いします
0175デフォルトの名無しさん
2005/09/26(月) 15:59:010176デフォルトの名無しさん
2005/09/26(月) 18:05:170177174
2005/09/26(月) 18:30:360178デフォルトの名無しさん
2005/09/26(月) 18:40:03それは色?それとも表示領域?
0179174
2005/09/26(月) 20:24:150180デフォルトの名無しさん
2005/09/27(火) 15:23:57public class Hanoi
{
public static void main(String args[])throws IOException
{
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
int disks=Integer.parseInt(input.readLine());
solveHanoi('A','B','C',disks);
System.out.println("/n/nEXECUTION TERMINATED");
}
public static void solveHanoi(char s, char t, char d, int n)
{
if(n!=0)
{
solveHanoi(s,d,t,n-1);
System.out.println("Move Disk" + n + " From Peg" + s + " to Peg " + d);
solveHanoi(t,s,d,n-1);
}
}
}
2:課題
↑のリカージョンが使われているハノイのタワー解決法のプログラムを、
ITERATIONを使ってより短くしなさい。
3:期限
10時間以内。。もしくはいつでもオッケー☆
4:ヴァージョン
特に無し
5:意見
。。。多分、PARAMETERが減ると思うのですが。。。
今自分でも解決しようとしてます。 他の場所にレスしてすみませんでした。
0181デフォルトの名無しさん
2005/09/27(火) 22:58:06【 期日 】本日(9/27) 23:59まで。
【 補足 】java歴一週間です。丸投げですがよろしくお願いします。
0182Mb
2005/09/27(火) 23:15:03import java.io.*;
public class mean {
public static void main( String [] args) {
int n = 0;
double sum = 0.0;
if (args.length == 0) System.exit(0);
File file = new File(args[0]);
try {
BufferedReader bufRdr = new BufferedReader(new FileReader(file));
String line;
while ((line = bufRdr.readLine()) != null) {
n += 1;
sum += Double.parseDouble(line);
}
bufRdr.close();
} catch (Exception e) {
System.err.println(e.toString());
}
System.out.println("個数:" + n);
System.out.println("平均値:" + (sum / n));
}
}
0183デフォルトの名無しさん
2005/09/27(火) 23:20:51いま、そういうやり方なんだ
0184デフォルトの名無しさん
2005/09/27(火) 23:32:01そこで宿題
MP3再生プレーヤーを作りなさい。
0185デフォルトの名無しさん
2005/09/27(火) 23:44:400186デフォルトの名無しさん
2005/09/27(火) 23:50:00<html>
<HEAD><TITLE>>1-MP3</TITLE></HEAD>
<body>
<a href=">>1.mp3">ここをクリックすると再生します。</a>
</body>
0187デフォルトの名無しさん
2005/09/27(火) 23:53:210188181
2005/09/28(水) 00:10:21どうやらちゃんとできました。どうもありがとうございます。
0189デフォルトの名無しさん
2005/09/28(水) 05:32:00ハノイのタワーは三台あって、A,B,Cにわかれています。
タワーAには下の方から大きい数字の順番に置物があって、
その置物をすべてタワーCに移動させたいんです。 ただ少し問題をややこしく
するのは、移動をしている最中に一つ以上の置物を一度に運べないことと、
タワーAからタワーBとタワーCに置物が移動している際に小さい数字の
置物は、決してその数字より大きい数字の置物の下には置けないという事です。
後から付けたししてすみませんでした。
でも、みなさんハノイのタワーは過去に習われたのではないであろうかと
思いましたので、あえて詳しい解説はつけなかったのですが。。。
0190デフォルトの名無しさん
2005/09/28(水) 10:51:21Integer i = Integer.decode("02");
これはエラーにならないのに、
Integer i = Integer.decode("09");
はNumberFormatException例外が発生するのは何故でしょうか?
当方JAVA初心者です。
0191デフォルトの名無しさん
2005/09/28(水) 12:37:39ヒント:09 って何進数表記だ?
0192デフォルトの名無しさん
2005/09/28(水) 12:41:360193デフォルトの名無しさん
2005/09/28(水) 13:06:42つhttp://www.y-adagio.com/public/standards/tr_javalang/3.doc.htm#48282
10進数ではないよ。
0194190
2005/09/28(水) 13:11:17お返事ありがとうございます
つまりDecodeは2進数、8進数、16進数を数値に変換するメソッド
ってことなんですかね?
因みに>>192違います^^;
0195デフォルトの名無しさん
2005/09/28(水) 16:37:370[0-7]*
[1-9][0-9]*
0196デフォルトの名無しさん
2005/09/29(木) 01:38:530197デフォルトの名無しさん
2005/09/29(木) 01:56:020198デフォルトの名無しさん
2005/09/29(木) 02:15:460199デフォルトの名無しさん
2005/09/29(木) 03:49:22【 用語 】JAVA、コマンドプロンプト上
【 期限 】9月29日 13:00分提出
【 Ver 】JAVA1,5
【 補足 】ツェラーの公式というのを使うらしいのですが、どうにもならずorz
丸投げになります、がよろしくお願いします
0200200
2005/09/29(木) 08:09:14http://www.wikiroom.com/java/index.php?ソース貼付け
http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1 (同じ)
入力値エラーチェックは一切無しだ。どうなっても知らん。
0201Mb
2005/09/29(木) 08:36:03public static void main( String[] args ) {
if (args.length != 2) System.exit(0);
int year = Integer.parseInt(args[0]);
int month = Integer.parseInt(args[1]);
boolean is_閏 =
(((year % 4) == 0 ) && !((year % 100) == 0)) ||
((year % 400) == 0);
int days;
if ((month == 2)) {
days = is_閏 ? 29 : 28;
} else {
if ((month == 4) || (month == 6) ||
(month == 9) || (month == 11)) {
days = 30;
} else {
days = 31;
}
}
System.out.println(year + " 年 " + month + "月");
for (int day = 1;day <= days;day += 1) {
int 星期 =
( year + (year / 4) - (year / 100) + (year / 400) +
((13 * month + 8) / 5) + day ) % 7;
if (星期 == 0) {
System.out.println(day + "日(星期天)");
} else {
System.out.println(day + "日(星期" + 星期 + ")");
}
}
}
}
0202199
2005/09/29(木) 10:20:32これでどうにかなりそうです
0203デフォルトの名無しさん
2005/09/29(木) 13:24:16"09"を8進数として処理しようとするけど、8進数の数字じゃないので例外が出る
ちなみにC/C++/Javaで"0"は8進数の"0"であって10進数の"0"ではない
0204デフォルトの名無しさん
2005/09/29(木) 13:45:16【 用語 】なし
【 期限 】2005/9/30 午前10時
【 Ver 】指定なし
【 補足 】http://www.image.esys.tsukuba.ac.jp/javaimage/
にあるようなものをつくりたいです.
ここまで高度でなくてもいいので任意に画像を標本化して
2値画像などにできるようにしたいです.
丸投げになりますがおねがいします
0205デフォルトの名無しさん
2005/09/29(木) 13:54:38【 用語 】Java コマンドプロンプト上
【 期限 】9/30 15:00
【 Ver 】指定なし
【 補足 】アプレットのようなものを作ればいいと思ってるのですが・・・
0206短いからここにはるよ
2005/09/29(木) 15:02:14import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.*;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.*;
public class ImageFilterPane extends JPanel implements ActionListener {
public static void main(String[] args) throws IOException { //args[0] : FileName
//読み込む (ImageIO 使ってるので 1.4以降 でないと動きまへん)
FileInputStream in = new FileInputStream(args[0]);
BufferedImage img = ImageIO.read(in);
in.close();
//フレーム表示
JFrame f = new JFrame();
f.getContentPane().setLayout(new BorderLayout());
f.getContentPane().add(new ImageFilterPane(img), BorderLayout.CENTER);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
0207短いからここにはるよ
2005/09/29(木) 15:02:23private BufferedImage src;
private JLabel dest;
public ImageFilterPane(BufferedImage src) {
this.src = src;
choice = new JComboBox();
choice.addItem(new CurveFilter());
choice.addItem(new BWFilter());
choice.addItem(new XFilter()); //その他、新たに作って足せばよろしい
choice.addActionListener(this);
JPanel filters = new JPanel(new FlowLayout());
filters.add(choice);
dest = new JLabel(new ImageIcon(src));
setLayout(new BorderLayout());
add(new JLabel(new ImageIcon(src)), BorderLayout.NORTH);
add(filters, BorderLayout.CENTER);
add(dest, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent ev) { //JComboBox の選択動作で呼ばれる
RGBImageFilter filter = (RGBImageFilter)choice.getSelectedItem();
Image img = createImage(new FilteredImageSource(src.getSource(), filter));
dest.setIcon(new ImageIcon(img));
}
0208短いからここにはるよ
2005/09/29(木) 15:02:51public String toString() {
return "コントラスト明瞭化"; //JComboBox が表示する
}
public int filterRGB(int x, int y, int rgb) {
//彩度のみをいじるため、RGB -> HSB 変換
int r = (rgb >> 16) & 0xff;
int g = (rgb >> 8) & 0xff;
int b = rgb & 0xff;
float[] hsb = Color.RGBtoHSB(r, g, b, null);
float s = hsb[1];
//3次式なトーンカーブを通す
if (s < 0.5) {
s = (float)Math.pow(s*2, 3)/2;
} else {
s = 1-(float)Math.pow((1-s)*2, 3)/2;
}
//RGB に戻す
return 0xff000000 | Color.HSBtoRGB(hsb[0], s, hsb[2]);
}
}
0209短いからここにはるよ
2005/09/29(木) 15:03:31public String toString() {
return "2値化"; //JComboBox が表示する
}
public int filterRGB(int x, int y, int rgb) {
//rgb -> gray
int r = (rgb >> 16) & 0xff;
int g = (rgb >> 8) & 0xff;
int b = rgb & 0xff;
int gray = (int)( 0.298912 * r + 0.586611 * g + 0.114478 * b );
//閾値は 50% グレー
return (gray < 0x80 ? 0xff000000 : 0xffffffff);
}
}
0210短いからここにはるよ
2005/09/29(木) 15:05:03public String toString() { return "ぼかし"; }
public int filterRGB(int x, int y, int rgb) {
int c = 0, r = 0, g = 0, b = 0;
//他店を src から拾ってきて 5x5 の正方配列の平均
for (int dx=Math.max(0, x-4); dx<=Math.min(src.getWidth()-1, x+4); dx++) {
for (int dy=Math.max(0, y-4); dy<=Math.min(src.getHeight()-1, y+4); dy++) {
rgb = src.getRGB(dx, dy);
r += (rgb >> 16) & 0xff;
g += (rgb >> 8) & 0xff;
b += rgb & 0xff;
c++;
}
}
r /= c;
g /= c;
b /= c;
return 0xff000000 | (r << 16) | (g << 8) | b;
}
}
//その他 filterRGB メソッドを書けばいろいろできる
}
1.4 (つまりImageIO)が使ってまずいとすれば、
ぼかしをするには別の方法が必要だけどどないやろ? Ver 指定無しだから大丈夫かな?
0211デフォルトの名無しさん
2005/09/29(木) 15:15:00あといろいろ誤字とかあるけど動くは動くから気にしないでね
もっと一般的なフィルタアルゴリズムがあったら誰か適当に足してちょ
0212デフォルトの名無しさん
2005/09/29(木) 15:34:20ひとまずコンパイルはできましたがエラーがでて実行できません
実行の仕方を詳しくお願いします
あとVer1.4でした
0213デフォルトの名無しさん
2005/09/29(木) 15:48:42実行は
> java ImageFilterPane hoge.jpg
とか。カレントディレクトリに hoge.jpg があればいけるはず。
D:\hoge.jpg とかのフルパスでもいいよ
0214デフォルトの名無しさん
2005/09/29(木) 16:02:46実行できました
ありがとうございます
お手数おかけしました
0215デフォルトの名無しさん
2005/09/29(木) 16:15:242つ目の2値化の部分なんですが、今の状態で2階調のような気がしますが
それをもう少し32階調16階調などにするためにはどこをどういう風にいじればいいのでしょうか?
0216デフォルトの名無しさん
2005/09/29(木) 17:15:32private int step;
public GrayFilter(int step) { this.step = step; }
public String toString() { return step + "階調グレースケール"; }
public int filterRGB(int x, int y, int rgb) {
//rgb -> gray
int r = (rgb >> 16) & 0xff;
int g = (rgb >> 8) & 0xff;
int b = rgb & 0xff;
int gray = (int)( 0.298912 * r + 0.586611 * g + 0.114478 * b );
//階調化
int w = 256/(step - 1);
gray = Math.min(0xff, ((gray + w/2)/w)*w);
return 0xff000000 | (gray * 0x010101); //rgb 値それぞれに設定
}
}
choice.addItem(new GrayFilter(32)); とかして足す。
BWFilter の代わりに new GrayFilter(2) にしてもいい。
あと、CurveFilter はコントラストじゃなくて彩度の明瞭化だねこれ。
コントラストは
s = hsb[2];
... | Color.HSBtoRGB(hsb[0], hsb[1], s);
とかしてくらはい。
0217デフォルトの名無しさん
2005/09/29(木) 17:42:470218デフォルトの名無しさん
2005/09/29(木) 18:16:55応用問題1
コマンドラインから数字と演算子を入力し計算結果を出力するプログラム
を作成せよ
(+とーのみにする)ただし、引数が不足している場合はエラーメッセージ
を出力して処理を終了させる
実行例 java cale 10+2
これのソースわかる人いる?
0219デフォルトの名無しさん
2005/09/29(木) 22:46:39次にテキストファイルの指示に従って問題を答えなさい。
http://ce.fake.ne.jp/whats.txt
改行多くて書けなかった
0220デフォルトの名無しさん
2005/09/29(木) 22:58:31http://pc8.2ch.net/test/read.cgi/tech/1110180044/526n
0221デフォルトの名無しさん
2005/09/29(木) 23:13:43それ本当に宿題か?
0222デフォルトの名無しさん
2005/09/29(木) 23:21:09音楽再生が再突入した場合に対応できないAudioPresenterクラスの設計が拙い
よって該当ソースを修正する必要はない
0223デフォルトの名無しさん
2005/09/30(金) 12:26:37サンプルがあるならjodeとかJadclipseで逆コンパイルしてみたら。
0224デフォルトの名無しさん
2005/09/30(金) 12:57:38【 課題 】javaをつかってAD変換の様子が分かるようにしなさい.
【 用語 】
【 期限 】2005年10月2日
【 Ver 】バージョン1.4
【 補足 】ttp://laputa.cs.shinshu-u.ac.jp/~yizawa/InfSys1/basic/chap1/index.htm
ここにあるディジタル処理というアプレットのようなものができれば
いいと思うのですが.丸投げですいませんが分かる方お願いします.
このjavaはアプレットですが,コマンドプロンプトで動作させること
ができればコマンドプロンプトでおねがいします.
0225デフォルトの名無しさん
2005/09/30(金) 14:58:06亀ですまんけど、嘘教えるなよー。
少なくとも Java において 0 は常に 10 進数だよ。
0226デフォルトの名無しさん
2005/09/30(金) 15:05:18>203は言葉足らずなだけじゃないか?
数字の最初に 0 がある場合は8進数をあらわしてるわけで、
この場合は普通の数字としての 0 じゃない。
つまり、10進数の 0 じゃなくって、
8進数をあらわす 0 ってことがいいたかっただけジャマイカ?
0227227
2005/09/30(金) 15:20:23import java.net.*;
interface Constant {
int port=49152;
String msg="Naoshi has received your message.";
}
class Greeting implements Constant {
public static void main(String arg[])
throws UnknownHostException,SocketException,IOException{
Inet6Address toaddr = Inet6Address.getByName(arg[0]);
Server s=new Server();
s.start();
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
String line;
DatagramPacket pack;
DatagramSocket dgram = new DatagramSocket();
while((line=br.readLine())!=null){
byte data[]=line.getBytes();
pack = new DatagramPacket
(data, data.length, toaddr, port);
dgram.send(pack);
}
dgram.close();
s.halt();
}
}
0228227
2005/09/30(金) 15:22:07【 用語 】
【 期限 】2005年10月2日
【 補足 】InetAddressのところに6を入れた状態で掲載しましたが、
それでもIPv6では動作しませんでした
0229デフォルトの名無しさん
2005/10/02(日) 05:20:15・GUIで作成(Windows上で動作するように作成すればウィジットは問わない)
・デジタル/アナログは問わない。
・表示誤差は極力無くなるようにすること。
【用語】 なし
【期限】10/3のAM7:00まで
【Ver 】JDK1.4.2
【補足】丸投げです。自分では無理でしたorz
どうか宜しくお願いします。
0230デフォルトの名無しさん
2005/10/02(日) 07:41:08import java.awt.*; import java.awt.event.*; import java.util.Date; import javax.swing.*;
public class Q229 {
public static void main(String[] args) {
final JFrame frame = new JFrame("ClockPanel");
JClockPanel panel = new JClockPanel();
Timer timer = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.repaint();
}
});
Container cp = frame.getContentPane();
cp.setLayout(new BorderLayout());
cp.add(panel, "Center");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setSize(200, 100);
frame.setVisible(true);
timer.start();
}
}
class JClockPanel extends JPanel {
protected void paintComponent(Graphics g) {
Date date = new Date();
int x = 0;
int y = g.getFontMetrics().getHeight();
g.drawString(date.toString(), x, y);
}
}
0231デフォルトの名無しさん
2005/10/02(日) 09:15:145.0だと確かに動くけど、1.4だとrepaint()してなくない?
// Clock.java
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Clock extends JFrame implements Runnable {
JLabel label;
public Clock() {
label = new JLabel( "00:00:00" );
getContentPane().add( label );
}
public static void main(String[] args) {
Clock self = new Clock();
new Thread( self ).start();
self.setTitle( "Clock" );
self.setSize( 100, 50 );
self.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
self.setVisible(true);
}
public void run() {
SimpleDateFormat formatter = new SimpleDateFormat( "HH:mm:ss" );
while( true ) {
try {
label.setText( formatter.format( new GregorianCalendar().getTime() ) );
Thread.sleep(1000);
} catch( InterruptedException ie ) {
}
}
}
}
0232デフォルトの名無しさん
2005/10/02(日) 11:18:09「英語の文を解析し、その文に含まれる単語の長さと平均を求めるプログラムを作成せよ。」
1、概要
�@適当な文字列変数に英語の文を代入する。
例:String sentence = new Stirng("This is a pen.”)
�Aプログラムを実行すると、その文における各単語の長さと平均を表示する。
2、プログラムの条件
英語の文章は、「.」 「!」 「?」で終わっているものとする。また、単語の区切りは
1文字分の空白に限定してよい。
3、プログラムの動作例
次の1文を入力する:Do you love me? その出力結果は次のとおり。
単語数 :4
平均語長:2.75
語長 単語数
1 0
2 2
3 1
4 1
5 0
【 期限 】10月3日午前0時
【 Ver 】1.5
【 補足 】英文はキーボード入力です。
丸投げですがよろしくお願いします。
0233デフォルトの名無しさん
2005/10/02(日) 14:37:33public class Q232 {
private static final String sentence = "Do you love me?";
public static void main(String[] args) {
if (!sentence.matches(".*[\\.\\?!]")) {
System.err.println("英語の文章は、「.」 「!」 「?」で終わっているものとする");
System.exit(0);
}
String[] list = sentence.split("[\\.\\?!]")[0].split(" ");
int max = 0, totalLength = 0;
for (String str : list)
if (str.length() > max) max = str.length();
int[] wordLengthList = new int[max];
for (String str : list) {
totalLength += str.length();
wordLengthList[str.length() - 1]++;
}
System.out.printf("単語数: %d\n平均語長: %.2f\n語長\t単語数\n", list.length, (double) totalLength / list.length);
for (int i = 0; i < wordLengthList.length; i++)
System.out.printf("%d\t%d\n", i + 1, wordLengthList[i]);
}
}
実行結果
単語数: 4
平均語長: 2.75
語長単語数
10
22
31
41
0235デフォルトの名無しさん
2005/10/02(日) 14:39:43英文はキーボード入力なんじゃないの?
0236デフォルトの名無しさん
2005/10/02(日) 14:54:351、概要
(1)適当な文字列変数に英語の文を代入する。
例:String sentence = new Stirng("This is a pen.”)
(2)プログラムを実行すると、その文における各単語の長さと平均を表示する。
とあるんだけど…
とりあえずコンソールからの入力の場合
import java.io.*;
public class Q232 {
public static void main(String[] args) throws IOException {
String sentence = new BufferedReader(new InputStreamReader(System.in)).readLine();
if (!sentence.matches(".*[\\.\\?!]")) {
// 以下略
これは動作確認してませんが
0238232
2005/10/02(日) 18:03:36レスありがとうございます。
233,236の両方とも無事動きました。
ちょっと課題が分かりにくかったようですいません。
本当にありがとうございました。助かりました。
0239デフォルトの名無しさん
2005/10/05(水) 02:08:38【 用語 】なし
【 期限 】10月7日まで
【 Ver 】指定なし
【 補足 】サンプルプログラムですが、なにも改造しないままエラーが4つもでるという悲惨な状況です。
問題点というかなぜエラーがでるのかがわかりません。
コンパイルできるようにしたいです。
0240239
2005/10/05(水) 02:10:08package jspbean;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import java.util.Hashtable;
public class BBSModel {
private int mCurrentArticleIndex;
private Article mCurrentArticle;
private Vector mArticles;
DBSimpleInterface mDB;
public BBSModel() {
mDB = new DBSimpleInterface();
}
private void dbConnect() {
mDB.connect(
"org.gjt.mm.mysql.Driver",
"jdbc:mysql://localhost:3306/bbs?useUnicode=true&characterEncoding=Shift_JIS",
"root",
""
);
}
0241239
2005/10/05(水) 02:11:00if (setCurrentArticle(mCurrentArticleIndex)) {
mCurrentArticleIndex++;
return true;
}
return false;
}
public boolean setCurrentArticle(int index) {
if (mArticles == null || mArticles.size() <= index) {
return false;
}
Hashtable article = (Hashtable)mArticles.get(index);
int id = ((Integer)article.get("id")).intValue();
String title = (String)article.get("title");
String name = (String)article.get("name");
String mail = (String)article.get("mail");
String date = new SimpleDateFormat().format((Date)article.get("date"));
String body = (String)article.get("body");
mCurrentArticle = new Article(id, title, name, mail, date, body);
mCurrentArticleIndex = index;
return true;
}
}
よろしくお願いします。
0242デフォルトの名無しさん
2005/10/05(水) 02:33:20Interfaceでないなら、xxxxInterfaceなんて付けるな
もし、ほんとにInterfaceならnewできないぞ
DBSimpleInterface mDB;
public BBSModel() {
mDB = new DBSimpleInterface();
}
0243デフォルトの名無しさん
2005/10/07(金) 10:00:05インスタンスメソッドがprintName
クラスがSeminar
ゼミのメンバーを2人作る(名前を入れる・初期化する)
プリントアウトする
【 期限 】今日の午後2時まで
【 補足 】丸投げでお願いします あとゼミの宿題です
これが詳しく書ける限界ですみません
0244243
2005/10/07(金) 10:01:100245デフォルトの名無しさん
2005/10/07(金) 11:00:13適当だがこーいうことか?
// Student.java
public class Student
{
private String name ;
public Student( String name ) {
this.name = name ;
}
public void printName() {
System.out.println(name) ;
}
}
// Seminar.java
public Seminar
{
public static void main( String[] args ) {
Student member1 = new Student("名前1") ;
Student member2 = new Student("名前2") ;
member1.printName() ;
member2.printName() ;
}
}
0246243
2005/10/07(金) 12:45:35そうです、ありがとうございます!
あとコンパイルしようとしたらclass interfaceがありませんと言われたのですが・・・・・・
0247デフォルトの名無しさん
2005/10/08(土) 20:13:05public Seminar{
という行の public と Seminar の間に
「 class 」を入れる。
0248デフォルトの名無しさん
2005/10/09(日) 22:53:34ありがとうございます
0250デフォルトの名無しさん
2005/10/09(日) 23:13:060251デフォルトの名無しさん
2005/10/09(日) 23:33:590252たわし
2005/10/09(日) 23:39:53..,,,,.,.,,
ミ・д・ミ
"''''''"
0253デフォルトの名無しさん
2005/10/11(火) 02:30:08【 期限 】朝まで。
【 補足 】基本的にまだGUIとかSwingとかを理解できてません。
API見ながらやれと言われたのですが、APIを読んでも理解できるほどjavaの理解度がまだありません。
かなり初歩的なところでつまづいています。
持ってる本には参考にできる記述が無いので困ってます。
とりあえず見本みたいなのが欲しいです。お願いします。
0254デフォルトの名無しさん
2005/10/11(火) 04:09:55は以下の式で計算できる。
a=1/n*Σ[i=1,n]xi
s=√1/n*Σ[i=1,n](xi-a)^2
この時以下の問いに答えよ。
1.int型の配列を受け取りその平均をdouble型で返すメソッドaverageを作成せよ
2.int型の配列を受け取りその分散をdouble型で返すメソッドvarianceを作成せよ
3.上記二つのメソッドの動作を確認するmainメソッドを作成し実行せよ。
【 期限 】朝
【 補足 】どうにもメソッドの関係がわからなくて、配列を作って
どう利用すればいいのかとかがさっぱりです。
配列を受け取る時のpublic static double average()の()の中とか全くわからないので・・・
参考例をどうかお願いします。
0255デフォルトの名無しさん
2005/10/11(火) 05:51:01朝は時間ないんで適当だ、すまん。
import javax.swing.*;
public class Sample extends JTabbedPane{
private static final String[][] sampleStrings={
{"これらは","タブペイン","ボタングループ","チェックボックスの","サンプルです"},
{"この課題は","2ちゃんねる","プログラム板の","Javaの宿題個々で答えますスレに","丸投げされました"}};
public static void main(String[] args){
JFrame frame=new JFrame( "課題");
Sample sample=new Sample();
sample.addTab("タブ1",sample.getTabPanel(sampleStrings[0]));
sample.addTab("タブ2",sample.getTabPanel(sampleStrings[1]));
frame.getContentPane().add(sample);
frame.pack();
frame.setVisible(true);
}
private JPanel getTabPanel(String[] checkBoxText){
JPanel panel =new JPanel();
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
ButtonGroup group =new ButtonGroup();
for(int roop=0;roop<checkBoxText.length;roop++){
JCheckBox checkBox=new JCheckBox(checkBoxText[roop]);
group.add(checkBox);
panel.add(checkBox);
}
return panel;
}
}
0257デフォルトの名無しさん
2005/10/11(火) 11:11:50public class Main{
public static void main(String[] args){
int[] input={0,1,2,3,4,5,6,7,8,9};
System.out.println("Ave = "+average(intput));
System.out.println("Var = "+variance(intput));
}
public static double average(int[] array){
double sum=0.0;
int n=array.size();
for(int i=0;i<n;i++)sum+=array[i];
return(sum/n);
}
public static double variance(int[] array){
double ave=average(array);
int n=array.size();
double sum=0.0;
for(int i=0;i<n;i++)sum+=(array[i]-ave)*(array[i]-ave);
return(sum/n);
}
}
0258デフォルトの名無しさん
2005/10/11(火) 15:27:50例)test.xmlを読み込んでtitleとnameタグの要素を表示。
<title>あい</title>
<neme>うえお</name>
標準出力)あい
うえお
のような感じに表示させる。
【 用語 】
【 期限 】10/12
【 Ver 】1.5以降
【 補足 】ゼミの課題です、よろしくお願いします
0259デフォルトの名無しさん
2005/10/11(火) 16:04:57Purchase Price: $ 34.80
Amount Tendered: $ 40.00
Your change is: $ 5.20
5 one-dollar bill(s)
0 quarter(s)
2 dime(s)
0 nickel(s)
0 penn(y/ies)
Thank you for your business. Come back soon.
【 用語 】one-dollar bill〜Pennyはアメリカで使われている通貨です。quarterは¢25、dimeは¢10、nickelは¢5、pennyは¢1です。
【 期限 】10/12
【 Ver 】1.5以降 コンパイラはBorland JBuilder 2005 Foundation ver11.0を使用。
【 補足 】Integerを使えと言われました。プログラムの内容としては、Amount Tendered - Purchase Price = Your change を出して、
そのchange(お釣り)を、下のそれぞれの小銭に分担するというプログラムです。
この場合は、$5.20のお釣りなので、5枚one-dollor billがあり、2枚dime(¢10)があるという事です。
なので、$3.36の場合は3枚one-dollor bill、1枚quarter、2枚dime、1枚pennyという風に出力されます。
これらの出力には、$5.20の場合、520と認識させて520/100で5枚のone-dollor bill、520%100で20なので、
20/10で2枚のdimeという事になります。
よろしくお願いします。
0260259
2005/10/11(火) 16:54:49「$5.20のお釣りなので、5枚one-dollor billがあり、2枚dime(¢10)」といった分担が出来ません。
書いたソースを貼り付けておきます。
package dollars;
//Development Exercises 24.
import javax.swing.*;
import java.util.*;
import java.text.*;
public class changedollors {
public static void main(String[] args) {
double yourMoney, yourBought, yourChange;
double dollar, dollar2, dollar3, dollar4, dollar5, dollar6, dollar7, dollar8, dollar9;
String strmoney;
String strbought;
String strchange;
strmoney = JOptionPane.showInputDialog (null, "Enter your purchase Price" );
strbought = JOptionPane.showInputDialog (null, "Enter your Amount Tendered" );
yourMoney = Double.parseDouble(strmoney);
yourBought = Double.parseDouble(strbought);
0261259
2005/10/11(火) 16:55:25dollar = yourChange / 100;
dollar2 = yourChange % 100;
dollar3 = dollar2 / 25;
dollar4 = dollar2 % 25;
dollar5 = dollar3 / 10;
dollar6 = dollar3 % 10;
dollar7 = dollar5 / 5;
dollar8 = dollar5 % 5;
dollar9 = dollar5 / 1;
System.out.println("*********************************************");
System.out.println("Purchase Price: $" +(yourMoney));
System.out.println("Amount Tendered: $" +(yourBought));
System.out.println(" ");
System.out.println("Your change is: $" +(yourChange));
System.out.println(" ");
System.out.println(" " +(dollar)+ "one-dollar bill(s)");
System.out.println(" " +(dollar3)+ "quarter(s)");
System.out.println(" " +(dollar5)+ "dime(s)");
System.out.println(" " +(dollar7)+ "nickel(s)");
System.out.println(" " +(dollar9)+ "penn(y/ies)");
System.out.println(" ");
System.out.println("Thank you for your business. Come back soon.");
System.out.println("*********************************************");
}
}
0262259
2005/10/11(火) 16:56:06*********************************************
Purchase Price: $3480.0
Amount Tendered: $4000.0
Your change is: $520.0
5.2one-dollar bill(s)
0.8quarter(s)
0.08dime(s)
0.016nickel(s)
0.08penn(y/ies)
Thank you for your business. Come back soon.
*********************************************
0263デフォルトの名無しさん
2005/10/11(火) 18:25:38Integer の使いどころがないな・・・ int じゃなくて?
int yourMoney, yourBought;
//セント単位で入力
System.out.println("Purchase Price: $" +(yourMoney/100.0)); //とか
int[] units = {
100, 25, 10, 5, 1
};
String[] names = {
"one-dollar bill(s)", "quarter(s)", "dime(s)", "nickel(s)", "penn(y/ies)"
};
int rest = yourChange; //全部ペニーだとして・・・
int i = 0; //両替対象の紙幣〜硬貨の index
while (rest > 0) {
int (rest >= units[i]) { //両替対象以上の枚数があれば換算可能
int count = rest/units[i];//両替対象の枚数
rest = rest%units[i]; //両替しきれなかったペニーの枚数にする
System.out.println(count + "枚" + names[i]);
}
}
0枚の場合も表示したければ、for を使って if も while も使わない感じ・・
0264259
2005/10/12(水) 00:38:37ご指導ありがとうございます。
ただ、まだunitsや、for、if、while文は習っていないので、
それらを使わずに「520と認識させて520/100で5枚のone-dollor bill、520%100で20なので〜」
という風に出力しろとの事です。
0265デフォルトの名無しさん
2005/10/12(水) 02:40:57263 を配列とループを使わずに展開しただけこれなら問題ないのか?
int units0=100;
int units1=25;
int units2=10;
int units3=5;
int units4=1;
String names0="one-dollar bill(s)";
String names1="quarter(s)";
String names2="dime(s)";
String names3="nickel(s)";
String names4="penn(y/ies)";
int rest = yourChange;
count = rest/units0;
rest = rest%units0;
System.out.println(count + "枚" + names0);
count = rest/units1;
rest = rest%units1;
System.out.println(count + "枚" + names1);
....
同様にunits2 -> units4 , names2 -> names4 まで展開。
習っていないので使ってはいけません。って文部省教育の弊害だな。
ゼミなんだから、「自分はさらに調べた。こちらの方法のほうがより効率的に書け美しい」とか発展してもよさそうだが・・・。
0266デフォルトの名無しさん
2005/10/12(水) 03:18:03import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*;
class Main{
public static void main(String args[])throws Exception{
SAXParserFactory.newInstance().newSAXParser().parse(new File("test.xml"),new MyParser());
}
}
class MyParser extends DefaultHandler {
private final static String[] target={"title","name"};
private boolean print;
MyParser(){super();}
public void startDocument() {}
public void startElement(String uri,String localName,String qName,Attributes attributes){
print=false;
for(int i=0;i<target.length;i++){
if(qName.compareToIgnoreCase(target[i]) == 0){
print=true;
break;
}
}
}
public void characters(char[] ch,int offset,int length) {if(print)System.out.println(new String(ch, offset, length));}
public void endElement(String uri,String localName,String qName){print=false;}
public void endDocument() {}
}
0267259
2005/10/12(水) 05:29:09申し訳ないのですが、ソース解答の丸投げをしてはいただけないでしょうか。
補足してもらったソースと自分で書いたソースを合わせたら、何度書き直してもエラーを吐いてきます。
0268259
2005/10/12(水) 06:38:13package dollars;
import javax.swing.*;
import java.util.*;
import java.text.*;
public class changedollars {
public static void main(String[] args) {
changedollars changedollars = new changedollars();
int yourMoney, yourBought, yourChange;
int onebill, onebill2, qua, qua2, dime, dime2, nic, nic2, penn;
String strmoney, strbought, strchange;
strmoney = JOptionPane.showInputDialog(null, "Enter the your purchase Price");
strbought = JOptionPane.showInputDialog(null, "Enter the your Amount Tendered");
yourMoney = Integer.parseInt(strmoney);
yourBought = Integer.parseInt(strbought);
yourChange = yourBought - yourMoney;
0269259
2005/10/12(水) 06:39:17onebill2 = yourChange % 100;
qua = onebill2 / 25;
qua2 = onebill2 % 25;
dime = qua2 / 10;
dime2 = qua2 % 10;
nic = dime2 / 5;
nic2 = dime2 % 5;
penn = nic2 / 1;
System.out.println("***********************************************");
System.out.println("Purchase Price: $" +(yourMoney));
System.out.println("Amount Tendered $" +(yourBought));
System.out.println(" ");
System.out.println("Your change is: $" +(yourChange));
System.out.println(" ");
System.out.println(" " +(onebill)+ " one-dollar bill(s)");
System.out.println(" " +(qua)+ " quarter(s)");
System.out.println(" " +(dime)+ " dime(s)");
System.out.println(" " +(nic)+ " nickel(s)");
System.out.println(" " +(penn)+ " penn(y/ies)");
System.out.println(" ");
System.out.println("Thank you for your business. Come back soon.");
System.out.println("***********************************************");
}
}
0270259
2005/10/12(水) 06:43:27***********************************************
Purchase Price: $3480
Amount Tendered $4000
Your change is: $520
5 one-dollar bill(s)
0 quarter(s)
2 dime(s)
0 nickel(s)
0 penn(y/ies)
Thank you for your business. Come back soon.
***********************************************
※Your change is: $520 から下は課題の出力結果と合っているのですが、
Purchase Price: $3480、Amount Tendered $4000、Your change is: $520を、
それぞれ、Purchase Price: $34.80、Amount Tendered $40.00、Your change is: $5.20
と表示されるようにしたいのですが、どのようにすれば出来るのでしょうか?
色々やってみたのですが、int yourMoney, yourBought, yourChange;を
double yourMoney, yourBought, yourChange; にすると、
onebill = yourChange / 100;
onebill2 = yourChange % 100;
のところがエラーを吐きます。
0271デフォルトの名無しさん
2005/10/12(水) 10:17:45出力するときに
System.out.println("Purchase Price: $" +(yourMoney/100.0));
とすればいい。計算中に double が現れると、結果も double になる。
(double の結果を int 変数に入れようとするからコンパイルエラーになっている)
ただこれだと x.x0 のようにはならず x.x と 0 がはぶかれるので、どうしても 0つけたければ、
(yourMoney/100) + "." + ((yourMoney%100)/10) + (yourMoney%10)
みたいなことをせにゃならん。つまり一桁づつ作るわけ。
(ほんとはもっと流儀に沿ったやり方があるが「習ってない」だろうから避けておこう)
0272デフォルトの名無しさん
2005/10/12(水) 10:18:24○ x.x となり 0 が
0273259
2005/10/12(水) 12:15:21ありがとうございました。
完璧に仕上がりました。
0274デフォルトの名無しさん
2005/10/12(水) 12:28:39できたようだからまぁいいか。
0275デフォルトの名無しさん
2005/10/12(水) 16:03:46どなたか教えてください。
0276デフォルトの名無しさん
2005/10/12(水) 16:07:21【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、又は解答希望日を書きます
【 Ver 】希望するJavaバージョンがあれば書きます(1.5 とか 1.4以前とか)
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
丸投げでない場合は、途中までのソースとその経過報告、
質問点、疑問点を書きます(なるべく丸投げにしてください)
0277275
2005/10/12(水) 16:20:534×4の升目状の絵合わせパズル。
正方形に近い画像データを4×4の16個のピースに分割し、
右下のピースを取り除いた残りのピースをランダムに升目に配置する。
ピースが割り当てられていない場所の上下左右のピースをクリックすると、
そのピースが空白の場所へ移動し、ピースの場所は空白になる。
ピースを並べ直して、元の画像が再現できればパズルが完成する。
【 期限 】10月18日
【 補足 】JAVA Swing Application
よろしくお願いします。
0278デフォルトの名無しさん
2005/10/12(水) 17:05:41画像形式はビットマップ?
0280デフォルトの名無しさん
2005/10/12(水) 18:41:48俺できたけど、277 が質問スレで言ってた状況にしては奇抜な発想のになっちゃった・・・
いいのかなこんなんで
その辺に関して親切なのを 278 が作ってるなら、よろしく
0281278
2005/10/12(水) 20:39:080282デフォルトの名無しさん
2005/10/12(水) 22:43:07import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.util.*;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.border.*;
public class P15 extends JPanel implements ActionListener {
public static void main(String[] args) throws Exception {
JFileChooser chooser = new JFileChooser();
if (chooser.showOpenDialog(JOptionPane.getRootFrame()) == JFileChooser.APPROVE_OPTION) {
BufferedImage img = ImageIO.read(chooser.getSelectedFile());
JOptionPane.showMessageDialog(JOptionPane.getRootFrame(), new P15(img), "", JOptionPane.PLAIN_MESSAGE);
}
System.exit(0);
}
0283デフォルトの名無しさん
2005/10/12(水) 22:43:45private JLabel empty;
public P15(BufferedImage img) {
setLayout(new GridLayout(4, 4)); //4x4で配置する
int w = img.getWidth()/4, h = img.getHeight()/4; //1ピースの縦横サイズ
Border border = new EmptyBorder(0, 0, 0, 0); //邪魔なエッジを外すための Border
buttons = new JButton[15]; //画像部分(右下は要らないので 4x4 - 1個)
for (int i=0; i<buttons.length; i++) { //左上から水平方向に作り、かつ配置する
int x = (i%4)*w, y = (i/4)*h; //部分画像を表示するボタンを作成(x, yは画像の座標値)
buttons[i] = new JButton(new ImageIcon(img.getSubimage(x, y, w, h)));
buttons[i].addActionListener(this);
buttons[i].setBorder(border);
add(buttons[i]);
}
empty = new JLabel(new ImageIcon(new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB))); //空白部分
empty.setBorder(border);
add(empty); //右下に空白を足す
//ランダムな入れ替え作業。※偶数回の入れ替えで無いとクリアできない
Random random = new Random();
int count = 0;
while (count < 100) {
int index1 = random.nextInt(15), index2 = random.nextInt(15);
if (index1 != index2) {
swap(index1, index2);
count++;
}
}
}
0284デフォルトの名無しさん
2005/10/12(水) 22:43:59//押されたボタンと空白部分の x, y を調べる
List components = Arrays.asList(getComponents()); //indexOf を使うと楽なので List を作る
int buttonIndex = components.indexOf(ev.getSource()); //ev 発生元=押されたボタン
int emptyIndex = components.indexOf(empty);
int ex = emptyIndex%4, ey = emptyIndex/4; //4x4マトリクスの座標値に変換
int bx = buttonIndex%4, by = buttonIndex/4;
if (Math.abs(ex - bx) + Math.abs(ey - by) == 1) { //縦横差分の絶対値が、片方1で片方0なら入れ替える
swap(buttonIndex, emptyIndex);
for (int i=0; i<buttons.length; i++) { //初回生成時の順にボタンが配置されてるかどうか調べる
if (buttons[i] != getComponent(i)) return; //1つでも異なればメソッド終了してしまう
}
JOptionPane.showMessageDialog(this, "クリア", "", JOptionPane.PLAIN_MESSAGE); //メッセージ表示
}
}
private void swap(int index1, int index2) {
Component[] components = getComponents(); //配列を作る
Component tmp = components[index1]; //入れ替え作業
components[index1] = components[index2];
components[index2] = tmp;
removeAll(); //一旦全部外す
for (int i=0; i<components.length; i++) { //入れ替え後の順番で再配置
add(components[i]);
}
revalidate(); //再配置の終了を宣言(=再描画の要求)
}
}
0285デフォルトの名無しさん
2005/10/12(水) 22:50:24という発想だろうと思うのね
ふつーのゲームならそうだし、AWT のみならそれしかないし
でもせっかく Swing と指定されてるし、
それだとボタンでも枠消せるからこんな感じで・・・多分このやり方の方がソースも短い
時間はあるみたいだから仕組み眺めといてね >>277
0286277
2005/10/13(木) 02:12:33解答ありがとうございます!ただ今バイトからあがりました。
こんなに早く、しかも丁寧に答えていただいて、本当に助かりました。
これからまたじっくり眺めて自分でも書いてみて仕組み等勉強したいと思います。
質問スレを読んでくださったのなら状況はご存知の通りですが、
しっかり勉強して、教授を見返してやろうと思います。
本当にありがとうございました。
0287デフォルトの名無しさん
2005/10/13(木) 18:54:020288デフォルトの名無しさん
2005/10/14(金) 01:17:39public static void main(String[] args) {
double iam = 167.2;
double youre;
System.out.println("I am "+iam+" cm tall.");
//I am really 165cm.But,health center said 167.
System.out.print("In inch,");
iam = iam * 2.54;
youre = iam % 1;
iam = iam - youre;
if (youre > 0.5){
iam = iam +1;
}
System.out.println("I am "+iam+" inch tall.");
System.out.print("But if I am "+iam+" inch tall,");
iam = iam * 0.393700787;
youre = iam % 1;
iam = iam - youre;
if (youre > 0.5){
iam = iam +1;
}
System.out.println("I am "+iam+" cm tall.");
youre = 167.2 - iam;
System.out.println("Then, I have become "+youre+"cm smaller.");
}
}
0289デフォルトの名無しさん
2005/10/14(金) 01:18:260.1999…と表示されてしまいます。どこが可笑しいのでしょうか。
0290デフォルトの名無しさん
2005/10/14(金) 01:28:13小数の値を
0.5,
0.25
0.125
...
という 0.5 の累乗の値を組み合た和で表している。
例:
0.2 = 0*1.0 + 0*0.5 + 0*0.25 + 1*0.125 + 1*0.0625 + 0*0.3125 ...
そのため、
0.2 を表そうとして、 0.19999999... のようになる。
適当にぐぐった
ttp://www.stellar.ac/~komai/unix/c/float/
0291デフォルトの名無しさん
2005/10/14(金) 01:49:140292デフォルトの名無しさん
2005/10/14(金) 02:35:13class tall {
public static void main(String[] args) {
BigDecimal iam = new BigDecimal("167.2");
BigDecimal youre;
System.out.println("I am " + iam + " cm tall.");
//I am really 165cm.But,health center said 167.
System.out.print("In inch,");
iam = iam.multiply(new BigDecimal("2.54"));
youre = iam.subtract(iam.setScale(0, BigDecimal.ROUND_DOWN));
iam = iam.subtract(youre);
if (youre.compareTo(new BigDecimal("0.5")) > 0) {
iam = iam.add(new BigDecimal(1));
}
System.out.println("I am " + iam + " inch tall.");
System.out.print("But if I am " + iam + " inch tall,");
iam = iam.multiply(new BigDecimal("0.393700787"));
youre = iam.subtract(iam.setScale(0, BigDecimal.ROUND_DOWN));
iam = iam.subtract(youre);
if (youre.compareTo(new BigDecimal("0.5")) > 0) {
iam = iam.add(new BigDecimal(1));
}
System.out.println("I am " + iam + " cm tall.");
youre = new BigDecimal("167.2").subtract(iam);
System.out.println("Then, I have become " + youre + "cm smaller.");
}
}
有理数で話をするかぎりは BigDecimal 使えばいい。
0293デフォルトの名無しさん
2005/10/14(金) 02:35:38何かして欲しいなら、>>1 に従って答えないと分からないよ。
0294デフォルトの名無しさん
2005/10/14(金) 02:38:48>293 いや、0.2が0.199となるのは何故か、という質問でした。
ソース自体は解決しました。
0295デフォルトの名無しさん
2005/10/17(月) 05:01:25四角の中に文字列を表示させたいのですが、ちょうど真ん中に来るようにするにはどうすればいいでしょうか?
四角の中ちょうどいっぱいの大きさに表示させるのではなく、四角よりもだいぶん小さな文字をちょうど中央に書くには。
お願いします。
0296デフォルトの名無しさん
2005/10/17(月) 05:29:240297295
2005/10/17(月) 05:45:420298デフォルトの名無しさん
2005/10/17(月) 07:21:24ttp://wisdom.sakura.ne.jp/system/java/awt/Gjava7.html
0299デフォルトの名無しさん
2005/10/17(月) 13:25:26String txt; //テキスト (drawString の引数)
FontMetrics fm = g.getFontMetrics();
int tw = fm.stringWidth(txt);
int th = fm.getHeight();
int ascent = fm.getAscent();
//座標系原点から矩形左上までのベクタ
Point vr = new Point(rx, ry);
//矩形左上から矩形中心までのベクタ
Point vc = new Point(rw/2, rh/2);
//座標系原点から矩形中心までのベクタ Vo = Vr + Vc
Point vo = new Point(vr.x + vc.x, vr.y + vc.y);
//テキスト左上からテキスト中央までのベクタ
Point vt = new Point(tw/2, th/2);
//テキスト左上からテキストベースライン左端までのベクタ
Point va = new Point(0, ascent);
//テキスト中央からテキストベースライン左端までのベクタ Vx = -Vt + Va
Point vx = new Point(-vt.x + va.x, -vt.y + va.y);
//座標系原点から、テキストを描画すべき位置までのベクタ Vz = Vo + Vx
Point vz = new Point(vo.x + vx.x, vo.y + vx.y);
//描画
g.drawRect(rx, ry, rw, rh);
g.drawString(txt, vz.x, vz.y);
冗長に書くとこうなる。どう改変するかは今のソースがどーなってるか次第
0300デフォルトの名無しさん
2005/10/17(月) 16:08:24右のカメラで撮った画像のどの点に対応するかを求め,対応する点の組を出力せよ。
また得られた対応する点をもとに左のカメラの画像の各点の3次元位置を,三角測量の
原理により計算するプログラムを作成せよ。得られた3次元空間中の点の集合の様子を
描画するプログラムを作成せよ.
【 用語 】SSDA法についての説明です。以下の数式になります。
S(i,j)=Σ[u=1,m]Σ[v=1,l]|f(u,v)-t(u,v)|
S(i,j):画素位置(i,j)における残差
f(u,v):基準画像のテンプレート位置
t(u,v):探索画像のテンプレート位置
l×m:テンプレートサイズ
【 期限 】10月21日 PM13:00まで
【 補足 】まる投げですがよろしくおねがいします。
0301デフォルトの名無しさん
2005/10/17(月) 18:51:27基準画像、探査画像、テンプレートがそれぞれ何を指しどんな関係なのか、
今ひとつ分からず
0302デフォルトの名無しさん
2005/10/17(月) 21:14:34説明不足ですみません。
基準画像は左画像,探索画像は右画像,テンプレートはl×m画素の小領域のことです。
(i,j)はテンプレートの中心座標です。
左画像の点(x,y)を中心とするl×m画素の小領域をテンプレートとみなして
右画像上で一番一致度の高い位置を求めて,その位置でのテンプレートの
中心の点(x,y)を対応点とするということだそうです。
左画像のテンプレートと右画像のテンプレートの画素ごとの階調値の差分の
総和が最も小さくなる位置を対応点とするそうです。
どなたかよろしくお願いします。
0303デフォルトの名無しさん
2005/10/17(月) 22:29:46数を用いて文字を表現する方法である。
さて,この逆である,文字からUNIコードを得るにはどうしたらよいか?
例えば,'峯' という文字のUNIコードは幾らになるのだろうか,
文字からUNIコードを得る方法を考えよ。
スレ違いかもしれませんがJavaの講義で出された課題なのでここが正しいかと思いました
Javaの初歩的な知識で可能だとかなんとか言っていたので。
しかしさっぱりわかりません
よろしくお願いします
0304デフォルトの名無しさん
2005/10/17(月) 23:18:50int code = (int)'峯';
System.out.println(Integer.toString(code, 16));
0305デフォルトの名無しさん
2005/10/17(月) 23:34:03ありがとうございました
0306デフォルトの名無しさん
2005/10/17(月) 23:38:36private static int[] setGray(BufferedImage img) {
int[] array = img.getRGB(0, 0, img.getWidth(), img.getHeight(), null, 0, img.getWidth());
for (int i=0; i<array.length; i++) {
int rgb = array[i];
int r = (rgb >> 16) & 0xff;
int g = (rgb >> 8 ) & 0xff;
int b = (rgb ) & 0xff;
array[i] = (int)( 0.298912f * r + 0.586611f * g + 0.114478f * b );
}
return array;
}
private int[] leftPixels, rightPixels;
private int l, m, leftWidth, leftHeight, rightWidth, rightHeight;
private Point[] points;
public Q300(BufferedImage left, BufferedImage right, int l, int m) {
this.leftWidth = left.getWidth();
this.leftHeight = left.getHeight();
this.rightWidth = right.getWidth();
this.rightHeight = right.getHeight();
this.leftPixels = setGray(left);
this.rightPixels = setGray(right);
this.l = l;
this.m = m;
}
0307デフォルトの名無しさん
2005/10/17(月) 23:38:45points = new Point[leftWidth*leftHeight];
int index = 0;
for (int j=0; j<leftHeight; j++) {
System.out.println(j);
for (int i=0; i<leftWidth; i++) {
points[index] = calc(i, j);
index++;
}
}
//不要になったものは消す
leftPixels = null;
rightPixels = null;
}
public Point getPoint(int i, int j) {
return points[j*leftWidth + i];
}
0308デフォルトの名無しさん
2005/10/17(月) 23:39:15int min = Integer.MAX_VALUE;
Point p = null;
for (int y=0; y<rightHeight; y++) {
for (int x=0; x<rightWidth; x++) {
int s = compare(i, j, x, y, min);
if (s < min) {
min = s;
p = new Point(x, y);
}
}
}
return p;
}
private int compare(int i, int j, int x, int y, int min) {
int sx = Math.max(Math.max(-l/2, -i), -x);
int sy = Math.max(Math.max(-l/2, -j), -y);
int ex = Math.min(Math.min(l/2, leftWidth - i - 1), rightWidth - x - 1);
int ey = Math.min(Math.min(m/2, leftHeight - j - 1), rightHeight - y - 1);
int s = 0;
int loff = (sy + j)*leftWidth, roff = (sy + y)*rightWidth;
for (int ty=sy; ty<=ey; ty++) {
for (int tx=sx; tx<=ex; tx++) {
s += Math.abs(leftPixels[loff + tx + i] - rightPixels[roff + tx + x]);
if (min <= s) return Integer.MAX_VALUE;
}
loff += leftWidth; roff += rightWidth;
}
return s;
}
0309デフォルトの名無しさん
2005/10/17(月) 23:40:45BufferedImage left = ImageIO.read(どっかから読んで);
BufferedImage right = ImageIO.read(どっかから読んで);
Q300 q300 = new Q300(left, right, L, M); //L, M なんとかして決めて
q300.ssda();
JPanel pane = new JPanel(new GridLayout(2, 2));
pane.add(new JLabel("左画像", new ImageIcon(left), JLabel.LEFT));
pane.add(new JLabel("右画像", new ImageIcon(right), JLabel.LEFT));
pane.add(new JLabel("抽出", new ImageIcon(createImage(q300, left, right)), JLabel.LEFT));
JFrame f = new JFrame();
f.getContentPane().setLayout(new BorderLayout());
f.getContentPane().add(pane, BorderLayout.CENTER);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
private static BufferedImage createImage(Q300 q300, BufferedImage left, BufferedImage right) {
BufferedImage img = new BufferedImage(right.getWidth(), right.getHeight(), BufferedImage.TYPE_INT_RGB);
for (int j=0; j<left.getHeight(); j++) {
for (int i=0; i<left.getWidth(); i++) {
Point p = q300.getPoint(i, j);
int c = left.getRGB(i, j);
img.setRGB(p.x, p.y, c);
}
}
return img;
}
0310デフォルトの名無しさん
2005/10/17(月) 23:46:13import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Q300 {
}
で包んで。
どういう画像が対象になってるか分からないけど、
ImageIO.read(new URL("http://〜 ..."));で
ttp://www.ne.jp/asahi/okuyuki/stereo/0stp.htm この辺からとればいいんじゃない?
でも LxM は相当とらないと、あるいはのっぺりした画像だと、
マッチングに失敗しまくるっぽいね。しかもでかい画像だと時間かかるよなぁ。
三角測量ってのはカメラの位置や被写体との距離が関係するのかな?
も少し数式やらなにやら必要じゃないのかな・・・
3次元はどこまでやればいいのか。3面図でいいのか、それともマウスでぐりぐり?うぎゃー
とりあえず誰かにバトンタッチ。高速化の余地もあろうて。
0311デフォルトの名無しさん
2005/10/18(火) 05:50:41public void paint(Graphics g) {
g.drawOval(50,50,100,75);
g.drawRect(100,100,100,75);
}
これを一気に描けるようメソッド化したい場合はどうすればいんでしょうか?
例えば始点と終点の引数を入れればdrawLineを組み合わせて矢印を描けるメソッドとか。
その場合public void paint(int x1,int y1,int x2,int y2) と始点終点を引数に入れたら
Graphics gはどこに書くんでしょうか?
0312デフォルトの名無しさん
2005/10/18(火) 11:35:04*
* @param letterString 調べる文字列
* @return letterStringがa〜zのみで構成されている場合、trueを返す。<br>
* letterStringにa〜z以外の文字が含まれている場合、falseを返す。
*/
public static boolean isSmallLetterString(String letterString) {
// TODO: ここに処理を実装する。
return false;
}
0313デフォルトの名無しさん
2005/10/18(火) 11:39:33スレ違い。
つ http://pc8.2ch.net/test/read.cgi/tech/1129019555/l50
ちなみに、結局は自分で書くしかない。g も与えるしかない。
public void paint(Graphics g) {
paint(g, x1, y1, x2, y2);
}
矢印程度だったら Shape を使うというやり方もある。
GeneralPath path = new GeneralPath(); //Shape の一つ。Rectangle も Shape。
path.moveTo(0, 0); path.lineTo(0, 10);
path.moveTo(0, 0); path.lineTo(-5, 5);
path.moveTo(0, 0); path.lineTo(5, 5);
//以上、インスタンス変数などで持っておく。
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
//古いバージョンとの互換性のため、実体は Graphics2D だが Graphics な変数を会して渡される。
//ので、キャストして 2D な変数に入れ直す
g2.draw(path); //これだけで書ける。
ただし、頂点位置を変えたり回転したりとややこしい。
少し試してから、自分の要望をもう少し具体的に沿えて、改めて質問スレできくべし。
0314デフォルトの名無しさん
2005/10/18(火) 13:05:57返信ありがとうごさいます。
本当に助かります。
手元の画像を読み込みたいのですが,エラーがでてうまくいきません。
手元の画像を読み込む方法もお願いできないでしょうか?
またまた説明不足ですみません。
以下の数式で3次元座標が求まるそうです。
X=d*xL/xL-xR,Y=d*yL/xL-xR,Z=d*f/xL-xR
xLとxRは対応する点の組です。
dはカメラ間距離で60mm,fは焦点距離で5.5mmの設定になっています。
3次元はxyz座標を用いて立体的に表示させることはできないでしょうか?
どなたかどうか宜しくお願いします。
0315デフォルトの名無しさん
2005/10/18(火) 16:05:52こんな10進数文字列からカンマを取ってlong型で返したいんだけど、どうしたらできますか?
0316デフォルトの名無しさん
2005/10/18(火) 16:16:18【 課題 】DNA 配列を入力し、それをRDNAに変換し、またTRNAに変換し、たんぱく質結合を出力する。
【 用語 】DNA配列はC,G,T,Aのいずれかで構成される。RDNAはDNA配列を逆に並び替えた配列。
TRNAはAをU、TをA、GをC、CをGに変更する。
たんぱく質結合はTRNAを三個づつに区切りその組み合わせに対応するたんぱく質の結合。
【 期限 】今日中
【 補足 】最後のTRNAを3個づつに区切り、対応するたんぱく質結合を出力するのができません。
0317デフォルトの名無しさん
2005/10/18(火) 16:17:59String str = "123,456,789";
long l = Long.parseLong(str.replaceAll(",", ""));
0318316
2005/10/18(火) 16:31:29DNA :TATACGAGCGC
RDNA:CGCGAGCATAT
TRNA:GCGCUCGUAU
たんぱく質:AlaLeuVal
0319デフォルトの名無しさん
2005/10/18(火) 16:32:59サンクスコです。
こんなに簡単だったのか orz
0320デフォルトの名無しさん
2005/10/18(火) 16:51:46生物弱いんで、
TRNAとたんぱく質の対応表くれたら書けるが?
0321デフォルトの名無しさん
2005/10/18(火) 17:03:45exception NullPointerException numbersがnull
numbersに格納されている全要素の中で最も大きい値を返すには、どのように書いたら良いですか?
0322デフォルトの名無しさん
2005/10/18(火) 17:11:31こんなんでいいか?
public static double max(double[] numbers){
double max=numbers[0];
for(int i=1;i<numbers.length;i++){
max=Math.max(a[i],max);
}
return(max);
}
0323デフォルトの名無しさん
2005/10/18(火) 17:15:140324デフォルトの名無しさん
2005/10/18(火) 17:36:55>>321の様な文の全要素の合計を出したい場合はどうすればよいのですか?
0325デフォルトの名無しさん
2005/10/18(火) 17:39:22こんなんでいいか?
public static double sum(double[] numbers){
double sum=0.0;
for(int i=0;i<numbers.length;i++){
sum+=a[i];
}
return(sum);
}
0326デフォルトの名無しさん
2005/10/18(火) 17:40:470327316
2005/10/18(火) 17:56:41TRNA対応表
DNA RNA
A U
T A
G C
C G
たんぱく質結合 RNAに含まれる配列
Ala GCU GCC GCA GCG
Arg CGU CGC CGA CGG AGA AGG
Asn AAU AAC
Asp GAU GAC
Cys UGU UGC
Gln CAA CAG
Glu GAA GAG
Gly GGU GGC GGA GGG
His CAU CAC
Ile AUU AUC AUA
Leu UUA UUG CUU CUC CUA CUG
Lys AAA AAG
Met AUG
Phe UUU UUC
Pro CCU CCC CCA CCG
Ser UCU UCC UCA UCG AGU AGC
Thr ACU ACC ACA ACG
Trp UGG
Tyr UAU UAC
Val GUU GUC GUA GUG
… UAA UAG UGA
0328デフォルトの名無しさん
2005/10/18(火) 18:10:05俺はコード書いた本人じゃないけど、このコードだと
桁あふれとか精度は考慮してないから、使い方には注意したほうが良いと思われ。
0329デフォルトの名無しさん
2005/10/18(火) 18:31:20表されていないならfalseを返すのってどうやったらできますかね?
0330デフォルトの名無しさん
2005/10/18(火) 18:42:12//1/2
import java.io.*;
import java.util.*;
class Main{
public static void main(String[] args)throws IOException{
Scanner s=new Scanner(System.in);
System.out.print("DNA:");
String dna=s.nextLine();
String rdna=DNAToRDNA(dna);
System.out.println("RDNA:"+rdna);
String tdna=RDNAToTDNA(rdna);
System.out.println("TDNA:"+tdna);
String protein=TDNAToProtein(tdna);
System.out.println("protein:"+protein);
}
public static String DNAToRDNA(String dna){
return(((new StringBuffer(dna)).reverse()).toString());
}
0331デフォルトの名無しさん
2005/10/18(火) 18:45:33//2/2
public static String RDNAToTDNA(String rdna){
String tdna=rdna;
tdna=tdna.replaceAll("A","U");
tdna=tdna.replaceAll("T","A");
tdna=tdna.replaceAll("G","X");
tdna=tdna.replaceAll("C","G");
tdna=tdna.replaceAll("X","C");
return(tdna);
}
public static String TDNAToProtein(String tdna){
Hashtable ht=new Hashtable();
ht.put("GCU","Ala");ht.put("GCC","Ala");ht.put("GCA","Ala");ht.put("GCG","Ala");ht.put("CGU","Arg");ht.put("CGC","Arg");ht.put("CGA","Arg");ht.put("CGG","Arg");
ht.put("AGA","Arg");ht.put("AGG","Arg");ht.put("AAC","Asn");ht.put("AAU","Asn");ht.put("GAU","Asp");ht.put("GAC","Asp");ht.put("UGU","Cys");ht.put("UGC","Cys");
ht.put("CAG","Gln");ht.put("CAA","Gln");ht.put("GAG","Glu");ht.put("GAA","Glu");ht.put("GGU","Gly");ht.put("GGC","Gly");ht.put("GGA","Gly");ht.put("GGG","Gly");
ht.put("CAC","His");ht.put("CAU","His");ht.put("AUU","Ile");ht.put("AUC","Ile");ht.put("AUA","Ile");ht.put("UUA","Leu");ht.put("UUG","Leu");ht.put("CUU","Leu");
ht.put("CUC","Leu");ht.put("CUA","Leu");ht.put("CUG","Leu");ht.put("AAG","Lys");ht.put("AAA","Lys");ht.put("AUG","Met");ht.put("UUC","Phe");ht.put("UUU","Phe");
ht.put("CCU","Pro");ht.put("CCC","Pro");ht.put("CCA","Pro");ht.put("CCG","Pro");ht.put("UCU","Ser");ht.put("UCC","Ser");ht.put("UCA","Ser");ht.put("UCG","Ser");
ht.put("AGU","Ser");ht.put("AGC","Ser");ht.put("ACU","Thr");ht.put("ACC","Thr");ht.put("ACA","Thr");ht.put("ACG","Thr");ht.put("UGG","Trp");ht.put("UAC","Tyr");
ht.put("UAU","Tyr");ht.put("GUU","Val");ht.put("GUC","Val");ht.put("GUA","Val");ht.put("GUG","Val");ht.put("UAA","xxx");ht.put("UAG","xxx");ht.put("UGA","xxx");
String protein="";
for(int i=0;i+3<=tdna.length();i+=3){
protein+=ht.get(tdna.substring(i,i+3));
}
return(protein);
}
}
0332デフォルトの名無しさん
2005/10/18(火) 18:47:31は誰に突っ込みいれているの?
0333316
2005/10/18(火) 19:18:03Scannerでエラーが出るんですけど…。
0334デフォルトの名無しさん
2005/10/18(火) 19:22:56BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String dna=in.readLine();
この辺使って
0335デフォルトの名無しさん
2005/10/18(火) 19:30:44str.matches("[01]+")
0336デフォルトの名無しさん
2005/10/18(火) 22:30:23もちょっと詳しく…
0337デフォルトの名無しさん
2005/10/18(火) 23:34:04【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】10月20日
【 Ver 】希望なし
【 補足 】丸投げですがよろしくお願いします。
0338デフォルトの名無しさん
2005/10/18(火) 23:51:530339デフォルトの名無しさん
2005/10/19(水) 00:36:12入力を受け付け、それをそのまま画面に表示するプログラムを作成せよ。
(問題2)問題1で作成したプログラムに、入力した文字列を空白文字で分割して別々の
行に表示するプログラムを追加せよ。
(*)ヒント:StringTokenizerというJavaのユーティリティークラスを使えばよい。使い方は
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/StringTokenizer.htmlを読むこと。
【 用語 】
【 期限 】10月20日(木)中に解答が欲しいです。金曜日の授業で提出です。
【 Ver 】希望なし
【 補足 】丸投げですみませんがよろしくお願いします。
0340デフォルトの名無しさん
2005/10/19(水) 00:55:09import java.io.*;
import java.util.*;
class Main{
public static void main(String[] args)throws IOException{
Scanner s=new Scanner(System.in);
String line=s.nextLine();
System.out.println(line);
StringTokenizer st=new StringTokenizer(line);
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
}
}
}
0341デフォルトの名無しさん
2005/10/19(水) 01:00:23問題1
import java.io.*;
public class TestInput {
public static void main(String args[]) {
try {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String inputString = br.readLine();
} catch( IOException e ) {
// 適当にドゾー
}
System.out.println(inputString);
}
}
問題2
java.util.StringTokenizerをインポートして
問題1の最後を
StringTokenizer st = new StringTokenizer(inputString);
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
に変えるだけ。
0342デフォルトの名無しさん
2005/10/19(水) 01:57:39ツェラーの定理がよく分からなかったので、Calendar クラス使ってみました。
Java 1.5 です。
1/2
import java.util.*;
import java.io.*;
class Main{
private final static int[] monthLength=new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
private final static String[] monthName=new String[]{"January","February","March","April","May","June","July","August","September","October","November","December",};
public static void main(String[] args)throws IOException{
Scanner s=new Scanner(System.in);
Calendar c=Calendar.getInstance();
writeCalendar(s.nextInt(),c);
}
public static boolean isLeapYear(int year){
if(year % 400 == 0)return(true);
if(year % 100 == 0)return(false);
return(year % 4 == 0);
}
0343デフォルトの名無しさん
2005/10/19(水) 01:58:172/2
public static void writeCalendarMonth(int year,int month,Calendar c){
int length=monthLength[month];
if(month == 1 && isLeapYear(year))length++;
System.out.println();
System.out.println(monthName[month] + " " + year);
System.out.println();
System.out.println("Su Mo Tu We Th Fr Sa");
c.set(year,month,1);
for(int i=1;i<c.get(Calendar.DAY_OF_WEEK);i++){
System.out.print(" ");
}
for(int day=1;day<=length;day++){
System.out.printf("%2d ",day);
c.set(year,month,day);
if(day < length && c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY)System.out.println();
}
System.out.println();
}
public static void writeCalendar(int year,Calendar c){
for(int month=0;month<12;month++)writeCalendarMonth(year,month,c);
}
}
0344デフォルトの名無しさん
2005/10/19(水) 02:00:35ツェラーの公式くらいちゃんと書こうぜ
年、月、日から曜日を出力
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);
}
0345デフォルトの名無しさん
2005/10/19(水) 02:03:50>>336
>>335が要求仕様を全部満たしている件について
0346デフォルトの名無しさん
2005/10/19(水) 03:32:11import java.math.*;
import java.io.*;
class Main{
public static void main(String args[]){
System.out.println("101010:"+isBinary("101010"));
System.out.println("123456:"+isBinary("123456"));
}
static boolean isBinary(String str){
try{
new BigInteger(str,2);
return(true);
}
catch(Exception e){
return(false);
}
}
}
0347デフォルトの名無しさん
2005/10/19(水) 08:46:22引数にマイナスが設定された時の動作に問題がありますって出ます。
0348デフォルトの名無しさん
2005/10/19(水) 09:25:27どうなってほしいの?
もうちょっと詳しく
0349デフォルトの名無しさん
2005/10/19(水) 10:30:45これが仮に10進数や16進数だった場合、[]の中をどのように書けばよいのですか?
0350デフォルトの名無しさん
2005/10/19(水) 11:24:42Reverce Polish Notation(RPN)形式の電卓を実現するプログラム
・入力用キーパットと表示出力スクリーンがあり、キーパットは16個のキーがある
・キーパットには、数字キー10個、演算子キー4個、クリアキー、エンタキーがある
・数字キーは数値出力に使われる
・入力された数値と演算出力はスクリーンに表示される
・演算方式は後置記法に従い、数値、エンター、数値、演算子の順で入力される
・クリアキーで、内部状態が初期状態に戻される
【 期限 】10月21日
【 Ver 】希望なし
【 補足 】本当に丸投げですが、よろしくお願いします。
0351デフォルトの名無しさん
2005/10/19(水) 12:28:39Javaムズカシス
0352デフォルトの名無しさん
2005/10/19(水) 20:06:5510進 str.matches("-?\\p{Digit}+")
16進 str.matches("\\p{XDigit}+")
0353デフォルトの名無しさん
2005/10/19(水) 20:10:5410進 str.matches("-?[0-9]+")
16進 str.matches("[0-9a-fA-F]+")
0354デフォルトの名無しさん
2005/10/19(水) 22:11:21>str.matches("[0-9a-fA-F]+")
その正規表現で思ったんだが、
お前らのやり方だと
abc12xyz
も、trueになる?(←結果的にこれを望むならいいのだけど、)
試してないから勘で言っているんだけど・・・
何を心配しているかと言うと、
^[0-9]$ じゃなくていいのかと言う事
Javaでは^$イラネ-よ というのならゴメンナサイです
0355デフォルトの名無しさん
2005/10/19(水) 22:46:10str.matchesだとstr全体がパターンとマッチしないとtrueにならないから大丈夫ですよ。
参考URL
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/String.html#matches(java.lang.String)
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/Pattern.html#matches(java.lang.String, java.lang.CharSequence)
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/Matcher.html#matches()
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/Matcher.html#find()
0356デフォルトの名無しさん
2005/10/19(水) 22:51:240357デフォルトの名無しさん
2005/10/20(木) 01:43:250358デフォルトの名無しさん
2005/10/20(木) 02:01:100359デフォルトの名無しさん
2005/10/20(木) 02:03:56(ヒント)二重ループを利用すること
*
**
***
****
*****
******
*******
********
*********
**********
(問題2)更に10段の逆ピラミッドの出力を行うプログラムをfor文を使って作成しなさい。
【 期限 】10月21日
【 Ver 】特に無し
【 補足 】丸投げですみませんがよろしくお願いします。
0360デフォルトの名無しさん
2005/10/20(木) 02:18:33class Main{
public static void main(String[] args){
//問題1
for(int i=1;i<=10;i++){
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
System.out.println("--------------------");
System.out.println();
//問題2
for(int i=10;i>=1;i--){
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
0361デフォルトの名無しさん
2005/10/20(木) 02:51:04・標準入力から10個の数値を受け取り、大きさの順に並び替えて出力するプログラムを作成しなさい。
・標準入力から1つの整数値(nとします)を受け取り、n!を計算するプログラムを作成しなさい
【 PG歴 】2週間
【 期限 】10/20 12:00まで
【 Ver 】 Macのターミナル&テキストエディットでやってます(…
【 補足 】丸投げです…本当に宜しくお願いします!
0362デフォルトの名無しさん
2005/10/20(木) 03:20:37ありがとうございました。
0363デフォルトの名無しさん
2005/10/20(木) 03:25:28//・標準入力から10個の数値を受け取り、大きさの順に並び替えて出力するプログラムを作成しなさい。
//大きい順は大→小でいいのかな?
import java.io.*;
import java.util.*;
class Main{
public static void main(String[] args)throws IOException{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
int[] input=new int[10];
for(int i=0;i<10;i++){
input[i]=Integer.parseInt(in.readLine());
}
Arrays.sort(input);
for(int i=9;i>=0;i--){
System.out.println(input[i]);
}
}
}
0364デフォルトの名無しさん
2005/10/20(木) 03:26:21//・標準入力から1つの整数値(nとします)を受け取り、n!を計算するプログラムを作成しなさい
import java.io.*;
import java.math.*;
class Main{
public static void main(String[] args)throws IOException{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
BigInteger n=new BigInteger(in.readLine());
System.out.println(fact(n));
}
private static BigInteger fact(BigInteger n){
if(n.compareTo(BigInteger.ZERO) < 0)return(BigInteger.ZERO.subtract(BigInteger.ONE));
return(fact(BigInteger.ONE,n));
}
private static BigInteger fact(BigInteger mul,BigInteger n){
if(n.compareTo(BigInteger.ZERO) == 0)return(mul);
return(fact(mul.multiply(n),n.subtract(BigInteger.ONE)));
}
}
0365361
2005/10/20(木) 08:40:25本当に有難うございました!
これから頑張っていきたいデス。(=゚ω゚)むん!
0366デフォルトの名無しさん
2005/10/20(木) 09:16:05・制御文を利用して九九表を作成しなさい
【 PG歴 】4週間
【 期限 】10/20 13:00まで
【 Ver 】ターミナル&テキストエディット
【 補足 】丸投げ。
361と同じ講義かもwただ、そんな難しい書き方見た事が無い…(;;
扱ってるのは360みたいな感じなんですが。お願いしまつ。
0367デフォルトの名無しさん
2005/10/20(木) 09:35:01& ⇒ &
< ⇒ <
> ⇒ >
" ⇒ "
' ⇒ '
replaceAll使うの?
0368デフォルトの名無しさん
2005/10/20(木) 09:36:53<pre>
& ⇒ &
< ⇒ <
> ⇒ >
" ⇒ "
' ⇒ '
</pre>
0369デフォルトの名無しさん
2005/10/20(木) 09:38:10こんな感じ
&amp; → &amp;amp;
0370デフォルトの名無しさん
2005/10/20(木) 12:09:24public class test{
public static void main(String[] argv){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
System.out.print(i+"x"+j+"="+(i*j)+" ");
}
System.out.println("");
}
}
}
0371デフォルトの名無しさん
2005/10/20(木) 12:11:380372デフォルトの名無しさん
2005/10/20(木) 13:38:01throws java.lang.NullPointerException
配列に対してクイックソートを実行する。
処理詳細
1.arrayがnullの場合、NullPointerExceptionをthrowする。
2.quicksortを呼び出す。
第1引数にソートする配列(array)、
第2引数に配列の先頭の要素位置(0)、
第3引数に配列の終端の要素位置(array.length - 1)を渡すこと。
3.ソートされた配列を返す。
0373デフォルトの名無しさん
2005/10/20(木) 14:53:20ttp://www.augustana.ca/~mohrj/courses/2004.winter/csc310/source/QuickSort.java.html
これを適当に書き換えればよし
0374デフォルトの名無しさん
2005/10/20(木) 16:19:030375デフォルトの名無しさん
2005/10/20(木) 19:07:560376デフォルトの名無しさん
2005/10/20(木) 22:01:560377376
2005/10/20(木) 22:35:52>350の仕様を完全に無視した逆ポーランド記法用の電卓のソースを貼ってみます。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26031
から
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26037
まで。
ダウンロードするとUTF-8になるっぽいので
> javac -encoding UTF-8 *.java
> java RPNCalculator
でコンパイル/実行。
0379デフォルトの名無しさん
2005/10/21(金) 14:14:14http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26042
Vectorの配列とは、また、中途半端な・・・
0380デフォルトの名無しさん
2005/10/23(日) 18:24:53the number of bags sold and displays the total price of the sales, computed as
Total Price = bagWeight * numberofBags * pricePerLb;
Total Price With Tax = TotalPrice + TotalPrice * taxRate;
pricePerLb is $5.99 and taxrate is 7.25 (These should be finals)
Displays the result in the following manner:
Number of bags sold: 32
Weight per bag : 5lb
Price per pound : $5.99
Sales Tax: 7.25%
Total Price : $1027.88
<<続きます>>
0381デフォルトの名無しさん
2005/10/23(日) 18:25:37You program must be implemented using the concepts of classes and methods.
This means that you must have at least the following:
1. Two classes(main class that houses the main methods); and coffeeBag class that houses all of the other methods(calculation)
2. The coffeeBag class must have at least the following methods.
a) Default constructor method
b) Alternate constructor method that takes in as arguments the weight and the number of bags.
c) Necessary setters and getters (at least 4)
i) To set the weight of a bag
ii) To get the weight of a bag
iii) To set the number of bags sold
iv) To get the number of bags sold
d) A method that calculates and returns the total price
e) A method that calculates and return the total price with taxes
f) A method that print the necessary data
You should test your program by creating at least two objects. One object should use the defauld constructor
and the other should use the alternate constructor. This means you need to have 2 sets of output: one for each object.
0382380
2005/10/23(日) 18:27:00【 期限 】10/24
【 Ver 】1.5以降 コンパイラはBorland JBuilder 2005 Foundation ver11.0を使用。
【 補足 】二つのクラスを使って、交互に処理をするというプログラムです。
サンプルプログラムと自分で途中まで書いたプログラムを載せておきます。
0383380
2005/10/23(日) 18:48:25ttp://www.geocities.jp/java_homework2006/
0384デフォルトの名無しさん
2005/10/23(日) 19:01:030386デフォルトの名無しさん
2005/10/23(日) 19:04:310387質問です。
2005/10/23(日) 19:16:580388デフォルトの名無しさん
2005/10/23(日) 19:30:480389デフォルトの名無しさん
2005/10/23(日) 19:44:330390380
2005/10/23(日) 20:52:11Number of bags sold: 32
Weight per Bag: 5Lb
Price per pound: $5.99
Sales Tax: 7.25%
Total Price: 0.0
までは出力されるようになったのですが、
課題2のdとeである、TotalPriceとTotalPrice with Taxの計算が出来ません。
どこをいじっても0.0のままです。
今までのソースはttp://www.geocities.jp/java_homework2006/の方にアップしています。
0391デフォルトの名無しさん
2005/10/23(日) 20:59:15TotalPriceWithTax = TotalPrice * (1 + taxRate);
0392380
2005/10/23(日) 21:10:33Total Price = bagWeight * numberofBags * pricePerLb;
Total Price With Tax = TotalPrice + TotalPrice * taxRate;
でやれと指定されています。
Alternate Constructorの方に書いてはみるんですが、エラーを吐き、
エラーを吐かなくても、
bagWeight = 0;
numberofBags = 0;
としてるんで、どっち道0になってしまいます。
なので、Defaultの方で、my_coffeebag.setnumberofBags(32);、my_coffeebag.setbagWeight(5);
とセットしてやって、Alternateの方へ持って行き、それをさらにDefaultにゲットで持ってきています。
課題2は、同じNumber of bags sold: 32 〜 Total Price: $1027.88を普通に書いて出力だったのですが、
課題4は違うクラスも絡めて出力という主旨らしいです。
0393デフォルトの名無しさん
2005/10/24(月) 01:18:45>391は、「代入をしてない」という指摘だと思われ
課題に則して考えると、こうかな?
1.e)のメソッドを実装する
2.Total Price 出力の直前でe)のメソッドを呼び出し、代入する
⇒とりあえず、出力されるはず
double TotalPriceWithTax;
public void print(){
・・・・・・
TotalPriceWithTax = e)のメソッド();
System.out.println("Total Price: "+TotalPriceWithTax);
}
3.TotalPriceWithTax はprint()でしか使わないので、
インスタンス変数からローカル変数に移行する。
public void print(){
double TotalPriceWithTax;
・・・・・・
TotalPriceWithTax = e)のメソッド();
System.out.println("Total Price: "+TotalPriceWithTax);
}
4.ワンクッションかませる必要も無いので、変数を削除する。
public void print(){
・・・・・・
System.out.println("Total Price: " + e)のメソッド());
}
0394393
2005/10/24(月) 01:22:41ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26061
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26062
ところで、default constructor と alternate constructor の意味取り違えすぎ。
default constructor はJava用語で、引数無しのコンストラクタのこと。
だから、この問題で言うと、
public coffeebag()
のこと。
問題の2.b)に、(default のものに対して) alternateな引数ありのコンストラクタを
作れ、とあるので、この問題で言う alternate constructor とは、
public coffeebag(long bw, long nb)
のこと。
ついでに、
×違うクラスも絡めて出力という主旨
○最低限、違うコンストラクタで生成した違うオブジェクトを出力という主旨
0395380
2005/10/24(月) 03:39:40ご教授ありがとうございました。
default constructor と alternate constructor の詳しい説明もありがとうございました。
見本を元に組み直してみたのですが、mainの方のalternate constructorがうまく動作しません。
おそらく、上手く動作すれば
****************************************************
Number of bags sold: 32
Weight per Bag: 5Lb
Price per pound: $5.99
Sales Tax: 7.25%
Total Price: $1027.88
****************************************************
****************************************************
Number of bags sold: 160
Weight per Bag: 1Lb
Price per pound: $5.99
Sales Tax: 7.25%
Total Price: $1027.88
****************************************************
と出力されるはずなのですが、上手く動作しないので
****************************************************
Number of bags sold: 32
Weight per Bag: 5Lb
Price per pound: $5.99
Sales Tax: 7.25%
Total Price: $1027.88
****************************************************
が二つ出力されてしまいます。
0396380
2005/10/24(月) 03:45:03また ttp://www.geocities.jp/java_homework2006/ に上げています。
0397デフォルトの名無しさん
2005/10/24(月) 05:50:33整数型(を要素とするQueueクラスのコンストラク
タ,Queueオブジェクトに要素を追加するメソッド
enqueue,要素を取り去るメソッドdequeueのJavaプ
ログラムを書き,実行せよ.
(イメージ例) <2, 1, 8>.enqueue(4)=<2, 1, 8, 4>
<2, 1, 6>.dequeue()=<2, 1>
【 期限 】本日 15:00
【 Ver 】
【 補足 】よろしくお願いします。
0398393
2005/10/24(月) 06:04:56my_coffeebag.print();
↓
coffeeBag.print();
あと、変数名は、
coffeebag my_coffeebag;
coffeebag coffeebag;
↓
coffeebag coffeebag1;
coffeebag coffeebag2;
くらいが無難かな。
0399380
2005/10/24(月) 06:34:08おはようございます。
一応ですが、完成しました。ttp://www.geocities.jp/java_homework2006/
これでやっと眠ることが出来ます。。。
本当にありがとうございました。
0400393
2005/10/24(月) 06:55:41>>397
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26064
>>397-400
こんな時間に乙!
0401Help me
2005/10/24(月) 13:58:32jpeg画像の読み込みを行い2値化するプログラムの作成方法教えて下さい(RGBの値を得るプログラムもよけれべお願いします。)
【 期限 】
今週中
【 補足 】よろしくお願いします。
0402Help me
2005/10/24(月) 14:03:19間違ってたらごめんなさい
0403デフォルトの名無しさん
2005/10/24(月) 14:16:06(共通性の高い計算部分はメソッド化して作成すること)
【期限】今週木曜12時まで。
【補足】n!の計算プログラムと、nPrとnCrの計算プログラムを参考にすること
丸投げですが、宜しくお願いします。
僕も>>370みたいな感じの文字の羅列希望です…。
(何でそんなに皆判るのか…尊敬…)
0404デフォルトの名無しさん
2005/10/24(月) 16:04:21それは、>254と>257を読んだ上での○投げか?
0405デフォルトの名無しさん
2005/10/24(月) 16:31:01>205-216が参考になりそうな予感
0406デフォルトの名無しさん
2005/10/24(月) 16:50:470407デフォルトの名無しさん
2005/10/24(月) 16:51:37スレ違いだな
0408デフォルトの名無しさん
2005/10/24(月) 16:53:20この板にないし
どこだろう?
0409デフォルトの名無しさん
2005/10/24(月) 16:54:49Web制作板
0410397
2005/10/24(月) 17:21:08ありがとうございました。
ただ、Queueメソッドで何をしているのかが分からないです。
forのところでエラーになります。。。
どなたか教えてください。
0411login:Penguin
2005/10/24(月) 19:04:49になって出てきます。
何故だか全く解りません・・・
お助けください。
public static void main(String[] args) {
long start = System.currentTimeMillis();
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
long stop = System.currentTimeMillis();
System.out.println("実行にかかった時間は " + (stop - start) + " ミリ秒です。");
}
0412デフォルトの名無しさん
2005/10/24(月) 21:08:48report.txtには英字、空白、「!?'」からなる約5000字の文章があります。
この文章中の文字の出現数を数えるプログラムを作成しなさい。
特殊文字や空白も数えること。
【 期限 】10/27 23:59:59
よろしくお願いします
0413デフォルトの名無しさん
2005/10/25(火) 01:55:29日、土を色付けてウィンドウで表示しなさい。
【 期限 】26日18時まで
【 Ver 】特になし
【 補足 】 丸投げですがお願いします。
できれば1月から↓向きにに次の月が表示されるようにしろと言われてます。
0414デフォルトの名無しさん
2005/10/25(火) 11:50:33Cドライブ内にあるAフォルダー内にあるb.jpegのjpeg画像のRGB値を得る
プログラムの作成方法教えて下さい
【 期限 】今週中
【 Ver 】特になし
【 補足 】プログラム始めたばかりなのでこの処理のとこだけ書かれても
理解できないと思うので最初から最後まで書いていただくとありがたいのですが。
0415デフォルトの名無しさん
2005/10/25(火) 23:41:38http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26100
急いで作ったのでバグあるかも。。
0416デフォルトの名無しさん
2005/10/26(水) 01:58:23コンパイルしました。
文字というのは「t」「s」の出現回数を調べるということです。
>>412は課題をそのままコピペしたんですが、大変申し訳ないです。。
0417デフォルトの名無しさん
2005/10/26(水) 02:44:21× 「t」「s」の出現回数
↓
○ 「t」や「s」などの出現回数
です。
頻出数の多い順に
t e a
24 23 20
のように表示してくれると嬉しいです。
0418デフォルトの名無しさん
2005/10/26(水) 03:26:30かなり横着してますが
import java.io.*;
public class CharCounter {
public static void main(String[] args) throws IOException {
Entry[] chars = new Entry[65536];
for(int i=0; i<65536; i++) chars[i] = new Entry(i);
FileReader fr = new FileReader("report.txt");
while(fr.ready()) { chars[fr.read()].increment(); }
java.util.Arrays.sort(chars);
for(int i=0; i<65536; i++) if (chars[i].num != 0) System.out.println(chars[i]);
}
static class Entry implements Comparable<Entry> {
int character, num;
Entry(int c) { this.character = c; }
void increment() { num++; }
public String toString() {
switch(character) {
case '\r': return "\\r\t"+num;
case '\n': return "\\n\t"+num;
case '\t': return "\\t\t"+num;
default:
if (character < 0x20) return String.format("\\u%04x\t%d", character, num);
return (char)character+"\t"+num;
}
}
public int compareTo(Entry o) { return o.num - num; }
}
}
0419デフォルトの名無しさん
2005/10/26(水) 11:28:37正しく動作しました。ありがとうございます!!
ですが殆ど意味が理解できない・・勉強しないと・・
どこの部分でカウントしてるのかも分かってないですw
このプログラムが書けるレベルの本があれば教えてください。。すれ違い?
0420AK
2005/10/26(水) 11:38:27【 期限 】10月28日(金)
【 補足 】質問等が英語です。
まだプログラムを始めて1ヶ月ほどですので、全く自力では宿題がこなせません。
丸投げですが、どうぞよろしくお願いします。
http://www.uploda.org/file/uporg223561.txt.html
http://www.uploda.org/file/uporg223563.txt.html
http://www.uploda.org/file/uporg223565.txt.html
0421デフォルトの名無しさん
2005/10/26(水) 14:26:03(共通性の高い計算部分はメソッド化して作成すること)
【期限】今週木曜12時まで。
【補足】参考→ttp://geocities.yahoo.co.jp/gl/java_syukudai/
丸投げですが、宜しくお願いします。
>>403と同じです。>>257読んで、ちょっと違うのかな…と思ったので。宜しくです。
0422デフォルトの名無しさん
2005/10/26(水) 19:03:420423デフォルトの名無しさん
2005/10/26(水) 19:41:25import java.io.*;
class Calc{
private final int MAX=10;
private double[] val = new double[MAX];
public static void main(String[] args){
new Calc();
}
public Calc(){
inputValues();
calculate();
}
0424デフォルトの名無しさん
2005/10/26(水) 19:48:21public void inputValues(){
BufferedReader reader =new BufferedReader(new InputStreamReader(System.in));
int c=0;
double n=0;
do{
System.out.println();
System.out.print((c+1)+"番目の数値を入力:");
try{
n = Double.parseDouble(reader.readLine());
}catch(NumberFormatException e){
System.out.println("<無効な文字列です>");
continue;
}catch(IOException e){}
val[c]=n;
c++;
}while(c<MAX);
}
public void calculate(){
System.out.println("\n--------計算結果-------");
System.out.println("平均:"+average());
System.out.println("分散:"+variance());
System.out.println("標準偏差:"+diviation());
}
0425デフォルトの名無しさん
2005/10/26(水) 19:50:35public double sum(){
double n=0;
for(int i=0;i<MAX;i++)n+= val[i];
return n;
}
public double average(){
return sum()/MAX;
}
public double variance(){
double avr = average();
double n=0;
for(int i=0;i<MAX;i++)n+= (val[i]-avr) * (val[i]-avr);
return n;
}
public double diviation(){
return Math.sqrt(variance());
}
}
//end of list
0426デフォルトの名無しさん
2005/10/26(水) 21:57:53期限すぎてすまぬが。しかもソース読みにくい。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26118
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26119
> できれば1月から↓向きにに次の月が表示されるようにしろと言われてます。
すっかり忘れてました。
0428デフォルトの名無しさん
2005/10/27(木) 16:23:28jpeg画像とbmp画像を読み込みRGBの値をR[i][j],G[i][j],B[i][j]に保存させ
1つの画像を9分割にし色を検出するプログラム
色の数は赤、青、緑、黄(赤+緑)、シアン(緑+青)、紫(赤+青)
白、黒(赤+青+緑)の8色です。ほかの色はそれぞれ近い色にしなさい
【 期限 】日曜日夕方5時ごろ
【 Ver 】1.42
【 補足 】部分部分でもいいのでのせていただくとありがたいです。
実行結果の例です。
ファイルの種類は? 1 jpeg 2 bmp
1
ファイル名
a.jpeg
__________________
| | | |
| 赤 | 青 | 緑 |
L_____|_____|_____|
| | | |
| 黄 | 茶 | シアン
L ____|_____|_____|
| | | |
| 白 | 黒 | 赤 |
L_____|_____|_____|
0429デフォルトの名無しさん
2005/10/27(木) 16:25:29赤 青 緑
黄 茶 シアン
白 黒 赤
こんな感じでお願いします
0430デフォルトの名無しさん
2005/10/27(木) 17:32:10【 期限 】10月29日
【 補足 】よろしくお願いします。
0431デフォルトの名無しさん
2005/10/27(木) 19:09:34調子悪いなあ。
0432デフォルトの名無しさん
2005/10/27(木) 19:44:35>>302
>>314
何度やっても抽出された画像が黒くなりうまくいきません。
期限はすぎているのですが,仕上げなければなりません。
自力ではまったくわからないので,すみませんがどうかお願いします。
0433デフォルトの名無しさん
2005/10/27(木) 20:20:05また、対CPU対戦もできるようにしなさい
【期限】11/9
【補足】全て書くと500行ぐらいになるそうなので、アクションの部分だけでもけっこうです
どなたかお願いします
0434デフォルトの名無しさん
2005/10/27(木) 22:15:11>>401
>>414
>>428
0435デフォルトの名無しさん
2005/10/27(木) 23:09:42http://www.wikiroom.com/java/index.php?SourcePost#x4c9a27b
wikiって重いから嫌いなんだよなー。
これ投稿するのにも無駄に時間かかったし。
sourcepostも調子悪いし、簡単にソースをアップできる場所ないかなあ。
0436デフォルトの名無しさん
2005/10/28(金) 12:02:14実行結果
「ベクトル a=(-xx.xx, x.xx, xx.x, -xx.xx, xx.x, -x.x, xx.xxx, xx.xx)
ベクトル b=(xx.x, -x.xxx, xx.x, xx.xxx, x.xx, -xxx.x, xx.x, -xx.xxx)
内積 a・b=xxxx.xxxx」となるようなプログラムを作成しなさい。
条件1、データを与える部分のベクトルの次元が変わっても動作するようにプログラムを書くこと.
すなわちベクトルの次元を具体的数値で与えずに プログラムを記述せよ,ということである.
条件2、二つのベクトルの成分はどちらも(一般に小数点をもつ, つまり整数ではない)実数データとして各自が適当な桁数で,
配列データの初期化を使って与えよ. 小数点以下が.0ばかりではダメ.なお与えるベクトルは5次元以上であること.
条件3、内積を求める積和の部分には複合代入演算子を使うこと.
条件4、各自で与えたデータとそれによる計算結果を下の結果のように出力せよ.成分の表示はfor文を使って出力すること.
【期限】10/31
【補足】長文すいません。お願いします。
0437デフォルトの名無しさん
2005/10/28(金) 16:23:31public class Q436 {
public static void main(String[] args) {
double[] a = { //条件1, 2
1.1, 2.1, 3.1, 4.1, 5.1
};
double[] b = {
0.5, 0.5, 0.5, 0.5, 0.5
};
double result = 0.0;
for (int i=0; i<a.length; i++) {
result += a[i] * b[i]; //条件3
}
printVector(a, "a");
printVector(b, "b");
System.out.println("a・b = " + result);
}
private static void printVector(double[] v, String name) {
System.out.print("ベクトル " + name + " = ");
for (int i=0; i<v.length; i++) { //条件4
if (i != 0) {
System.out.print(", ");
}
System.out.print(v[i]);
}
System.out.println("");
}
}
0438デフォルトの名無しさん
2005/10/28(金) 18:11:33【 課題 】下
【 期限 】11月1日
【 Ver 】指定無し
【 補足 】http://www.fox-er.com/up3/src/fox1570.txt
よろしくおねがいします
0439デフォルトの名無しさん
2005/10/28(金) 21:34:36英語の試験を行った。その参加者は不定とし、参加者の平均点を求めるプログラムを作製せよ。
平均点は以下のように求める。
total+=mark_i //得点の加算
number++; //受験者のカウント
: //以上を、参加者の数だけ繰り返す
: //繰り返し終わったら以下の平均値を求める
【Ver】
1.5
【期限】
11月3日
【捕捉】
どなたかよろしくお願いします。
0440デフォルトの名無しさん
2005/10/28(金) 22:00:23// ScoreAverageDemo.java
// スコアはコマンドライン引数で与えるものとする。
// 実行例:java ScoreAverageDemo 20 30 40
public class ScoreAverageDemo {
public static void main(String[] args) {
int total = 0;
int number = 0;
for( int i=0; i<args.length; i++ ) {
try {
int score = Integer.parseInt( args[i] );
total += score;
number++;
} catch( NumberFormatException nfe ) {
System.out.println( " 整数に変換できません:" + args[i] );
}
}
double average = Math.round( total*100.0/number ) / 100.0;
System.out.println( number + "人の平均点:" + average + "点" );
}
}
0441デフォルトの名無しさん
2005/10/29(土) 00:16:48【 期限 】来週の月曜日
【 Ver 】指定はありません
【 補足 】
データ型の指定はありません。
値1を入力→値2を入力→演算子を入力→結果 の流れでお願いします。
演算子の切り替えが分からず、挫折しました。
お手数ですが、どうぞよろしくお願い致します。
0442デフォルトの名無しさん
2005/10/29(土) 01:50:39どうもありがとうございます。
0443デフォルトの名無しさん
2005/10/29(土) 01:52:48http://www.wikiroom.com/java/index.php?SourcePost#h6fb99df
整数限定です。
0444デフォルトの名無しさん
2005/10/29(土) 02:07:02すいません、33行目に「java.lang.DoubleのvalueOf(java.lang.String)は(int)に適用できません。」
というエラーメッセージが出ます。どうすればいいのでしょうか?
0445デフォルトの名無しさん
2005/10/29(土) 02:16:32Double.valueOf(double)は1.5のメソッドなんだって。
JDK最新版入れて。嫌なら括弧内をStringにしてしまえばいい。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Double.html#valueOf(double)
0446デフォルトの名無しさん
2005/10/29(土) 02:38:32x = -Double.valueOf(slider.getValue() ).doubleValue(); の部分をどう変えればいいのでしょうか?
Double.parseDoubleにするんでしょうか?括弧内をStringにしてもだめでした。
0447445
2005/10/29(土) 03:44:03> 括弧内をStringにしてもだめでした。
ビビって1.4で試してしまったじゃないかー。ダメじゃないし。動く。
x = -Double.valueOf(""+slider.getValue()).doubleValue();
0448445
2005/10/29(土) 03:50:32x = -(double)slider.getValue();
でいいな。寝よ。
0449デフォルトの名無しさん
2005/10/29(土) 11:41:410450デフォルトの名無しさん
2005/10/29(土) 12:51:12できました。
ありがとうございます。
0451デフォルトの名無しさん
2005/10/29(土) 14:36:13ありがとうございます!!
0452デフォルトの名無しさん
2005/10/29(土) 16:08:50もうすぐ『JavaOne』
http://jp.sun.com/company/events/javaone/2005/
0453デフォルトの名無しさん
2005/10/29(土) 18:56:16�@「リスト」をポインタを用いて実装したとき,どのような操作が高速に実行できるか.
�A「連結リスト」では,あとに続くデータの検索は容易であるが,前に並ぶデータの検索はむつかしい.これを改善するにはどのような構造にすればよいか.
データ構造に関するこの二つの問題の答えがわからないので教えてください。
0454デフォルトの名無しさん
2005/10/29(土) 21:32:16http://www.wikiroom.com/java/index.php?SourcePost#s4a44366
Swing使わずにやってみたら慣れなくてエライ大変でした。
動作報告よろしく。
0455デフォルトの名無しさん
2005/10/29(土) 22:53:25【 期限 】11/1
Javaについては今まで学んでなかったのですが、
独学で勉強してきてその上で作って来いということです。
取り合えずjavaの入門書のようなものは読みましたが、
正直どのようにして実装したらいいのか全然わかりません。
何か参考になるほうなHPなど教えていただけませんか。
0456デフォルトの名無しさん
2005/10/29(土) 23:03:481ばっかりだな
0457デフォルトの名無しさん
2005/10/29(土) 23:06:25たぶん検索した方が早い。
0458デフォルトの名無しさん
2005/10/30(日) 03:03:59�@順次操作
�A双方向リストにする。もしくはインデックスを別に持つ
0460デフォルトの名無しさん
2005/10/30(日) 13:21:39【 期限 】11月2日
【 補足 】
====before.txt====
90
20
50
30
100
ファイルの読み込みがよく解りません バイナリファイルはFileInputStreamとInputStreamReaderを使うとあるのですが普通のテキストファイルの場合どのように読み込むのでしょうか?
0461デフォルトの名無しさん
2005/10/30(日) 14:53:00// SortDemo.java
import java.io.*;
import java.util.*;
public class SortDemo {
private static final File FILE_INPUT = new File( "before.txt" );
private static final File FILE_OUTPUT = new File( "after.txt" );
private static TreeSet<Integer> numbers = new TreeSet<Integer>();
public static void main(String[] args) {
BufferedWriter bw = null;
try {
BufferedReader br = new BufferedReader( new FileReader(FILE_INPUT) );
String line;
while( (line=br.readLine()) != null ) numbers.add( Integer.parseInt( line ) );
System.out.println( FILE_INPUT.getName() + "を読み込みました。" );
bw = new BufferedWriter( new FileWriter(FILE_OUTPUT) );
Iterator<Integer> iterator = numbers.iterator();
while( iterator.hasNext() ) bw.write( iterator.next() + "\n" );
System.out.println( FILE_OUTPUT.getName() + "に書き込みました。" );
} catch( FileNotFoundException fnfe ) {
fnfe.printStackTrace();
} catch( IOException ioe ) {
ioe.printStackTrace();
} catch( NumberFormatException nfe ) {
nfe.printStackTrace();
} finally {
try {
if( bw != null ) bw.close();
} catch( IOException ioe ) {}
}
}
}
0462460
2005/10/30(日) 15:33:10Eclipseへ貼り付けてみたところ
「型 TreeSet は総称ではありません。引数 <Integer> でパラメーター化できません。」 と、
「構文エラー。パラメーター化された型はソース・レベルが 5.0 の場合にのみ使用可能です。」となってしまいました。
申し訳ないのですが、どのようにしたら解決できますでしょうか?
宜しくお願いします。
0463461
2005/10/30(日) 15:48:30JDK5.0の機能使いまくりです。
5.0が入ってなかったら入れてください。
eclipseだと5.0用に設定しないと駄目だったと思うので
とりあえずコンソールからコンパイル/実行してください。
0464460
2005/10/30(日) 20:42:48java -version と打つと
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Java HotSpot(TM) Client VM (build 1.5.0_05-b5, mixed mode, sharing)
と出るようになりました。 これでちゃんとパスは通ってるみたいなのですが
コマンドラインでjavac SortDemo.java とコンパイルすると
SortDemo.java:8: <identifier>がありません
private static TreeSet<Integer> numbers = new TreeSet<Integer>();
^
となってしまいました・・・ちゃんとインストールされてないのでしょうか?
0465461
2005/10/30(日) 20:58:20コンパイラが5.0になってないとダメです。
javac -versionで確認してください。
たぶん1.5になってません。
pathを見直してください。
0466デフォルトの名無しさん
2005/10/30(日) 23:39:58【 Ver 】希望するJavaバージョンがあれば書きます(1.5 とか 1.4以前とか)
は、やっぱり必須にしたほうがいいんじゃないか?
バージョン違いで動かないケース大杉。
0467デフォルトの名無しさん
2005/10/30(日) 23:46:48>466
そうなってくれると答える側としても非常にありがたい。
0468デフォルトの名無しさん
2005/10/31(月) 12:08:500469デフォルトの名無しさん
2005/10/31(月) 12:22:11面倒…バージョン書かないほうが悪いと思うが
0470460
2005/10/31(月) 12:42:26ある場合は正しい結果が得られない。
import java.io.*;
import java.util.Arrays;
public class SortDemo {
private static final File FILE_INPUT = new File(".\\before.txt");
private static final File FILE_OUTPUT = new File(".\\after.txt");
public static void main(String[] args) {
int[] numbers = new int[5];//入力数は5と仮定
try {
BufferedReader br = new BufferedReader(new FileReader(FILE_INPUT));
String line;
for (int i = 0; i < numbers.length; i++) {
line = br.readLine();
numbers[i] = Integer.parseInt(line);
}
System.out.println(FILE_INPUT.getName() + "を読み込みました。");
sort(numbers);
BufferedWriter bw = new BufferedWriter(new FileWriter(FILE_OUTPUT));
for (int i = 0; i < numbers.length; i++)
bw.write(numbers[i] + "\n");
System.out.println(FILE_OUTPUT.getName() + "に書き込みました。");
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
static void sort(int[] numbers) {
Arrays.sort(numbers);
}
}
0472466
2005/10/31(月) 17:29:07いや、まあ、そうなんだが、言いたかったのはそこじゃなくて、
ここにも 《必須》 マークあったほうがいいんじゃね?ってことよ。
素人さんは、どうせ事の重大性を知らないんだから、
バージョンの希望があるはずもなく、それで誰も書かないんだと思うわけよ。
だったら、最初っから 《必須》 にしといたほうがいいんじゃないかと。
↓こんな感じ
【 Ver 】希望するJavaバージョンを書きます(java -version で調べます) 《必須》
0473デフォルトの名無しさん
2005/10/31(月) 19:21:54すいません返事遅れました
今Javaが打てないので、明日確認してみます!
わざわざAWTで打ってもらってありがとうございました!
0474454
2005/10/31(月) 20:17:08動かしたらまたコメントください。
0475デフォルトの名無しさん
2005/10/31(月) 21:20:20何で?
0476デフォルトの名無しさん
2005/10/31(月) 21:26:15【 期限 】11月3日
【 補足 】
0477デフォルトの名無しさん
2005/10/31(月) 21:30:09BufferredInputStream is=new BuffererdInputStream(new InputStreamReader(System.in));
System.out.println("国語?");
points[0]=is.readLine();
System.out.println("数学?");;
points[1]=is.readLine();
System.out.println("英語?");;
points[2]=is.readLine();
System.out.println("国語"+points[0]);
System.out.println("算数"+points[1]);
System.out.println("英語"+points[2]);
0478461
2005/10/31(月) 21:41:07確かにそうだなあ。
でも入力数を決めうちするのもどうかと思うので、こんなカンジで。
// SortDemo.java
import java.io.*;
import java.util.*;
public class SortDemo {
private static final File FILE_INPUT = new File(".\\before.txt");
private static final File FILE_OUTPUT = new File(".\\after.txt");
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
BufferedWriter bw = null;
try {
BufferedReader br = new BufferedReader(new FileReader(FILE_INPUT));
String line;
while( (line=br.readLine()) != null ) numbers.add( Integer.parseInt(line) );
System.out.println(FILE_INPUT.getName() + "を読み込みました。");
Integer[] numberIntegers = numbers.toArray( new Integer[0] );
Arrays.sort(numberIntegers);
bw = new BufferedWriter(new FileWriter(FILE_OUTPUT));
for( int number : numberIntegers ) bw.write( number + "\n" );
System.out.println(FILE_OUTPUT.getName() + "に書き込みました。");
bw.close();
} catch( IOException e ) {
e.printStackTrace();
} finally {
try {
if( bw != null ) bw.close();
} catch( IOException ioe ) {}
}
}
}
0479デフォルトの名無しさん
2005/10/31(月) 21:41:46ありがとうございます。
キーボードから入力された文字って配列に格納できますか?
初歩的な質問ですいません。
0480461
2005/10/31(月) 21:52:50ここに書いてもあんまり意味ないかもしれないけどテンプレ。
【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます 《必須》
【 Ver 】希望するJavaバージョンを書きます(java -version で調べます) 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、又は解答希望日を書きます
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
丸投げでない場合は、途中までのソースとその経過報告、
質問点、疑問点を書きます(なるべく丸投げにしてください)
0481デフォルトの名無しさん
2005/10/31(月) 23:25:36バージョンなお願いします。
【 期限 】11/4 15時
【 Ver 】指定なし
【 課題 】以下のファイル(*)を参照にして、
次の仕様のC言語プログラムを作成しなさい。
なお、次の一行を使用すること。
printf("最小値= %d\n,ten[0]")
1.データをキーボードから入力する
2.入力したデータを配列fiveに格納する
(1〜2を5回繰り返して5個のデータを格納する)
3.すべてのデータ(5個)を画面表示する
4.最小値を画面表示する 例「最小値: 12」
↓*入力した3個のデータを『No. ○○』と表示するプログラム
/* sample1.c */
#include<stdio.h>
main()
int five[3],i;
for(i=0,i=3;i++){
printf("No.%d:"i+1);
scanf("%d",&five[i]);
}
printf("点数表示\n");
for(i=0:i<3,i++){
printf("No:%d:%d\n"i+1,ten[i]);
}
}
0482デフォルトの名無しさん
2005/11/01(火) 00:10:28スレタイをよく見ろ
import java.util.Scanner;
public class Q481 {
public static void main(String[] args) {
int five[] = new int[5];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.printf("No.%d:", i + 1);
five[i] = scanner.nextInt();
}
System.out.println("数値表示");
int min = Integer.MAX_VALUE;
for (int i = 0; i < 5; i++) {
System.out.printf("No:%d:%d\n", i + 1, five[i]);
if (five[i] < min) min = five[i];
}
System.out.printf("最小値= %d\n", min);
}
}
0483デフォルトの名無しさん
2005/11/01(火) 11:14:35C宿題スレでは不思議と見ない たまたま俺が見てないだけかな?
0484デフォルトの名無しさん
2005/11/01(火) 16:55:49【 期限 】11/5
【 課題 】数値が記述されているテキストファイルを読み込み
合計値を求めて表示するプログラムを作成しなさい
但し、結果が指数表記にならないこと、BigIntegerは
使わないこと。
【 補足 】テキストに入力されている数値は整数で、最大桁数は100桁
0485デフォルトの名無しさん
2005/11/01(火) 17:06:500487デフォルトの名無しさん
2005/11/01(火) 17:28:56標準入力(キーボード)から整数値nを入力すると、
その数値n までの九九の表を表示するプログラムを作成せよ。
つまり、入力された数値n が 3 なら、3 X 3 までの表。
for文またはwhile文を使い、ループは多重ループを使うようにせよ。
各行の数字が縦に揃うように注意せよ。
【 期限 】11/7
【 Ver 】指定なし
【 補足 】
丸投げです。
よろしくお願いします。
0488デフォルトの名無しさん
2005/11/01(火) 18:48:23public class Q487 {
public static void main(String[] args) {
java.util.Scanner scanner = new java.util.Scanner(System.in);
int num = scanner.nextInt();
int length = String.valueOf(num).length();
String format = String.format("%%%dd*%%%dd=%%%dd ", length, length, length * 2);
for (int i = 1; i <= num; i++) {
for (int j = 1; j <= num; j++) {
System.out.printf(format, j, i, i * j);
}
System.out.println();
}
}
}
0489488
2005/11/01(火) 18:55:17public class Q487 {
public static void main(String[] args) {
java.util.Scanner scanner = new java.util.Scanner(System.in);
int num = scanner.nextInt();
String format = String.format("%%%1$dd*%%%1$dd=%%%2$dd ", String.valueOf(num).length(), String.valueOf(num*num).length());
for (int i = 1; i <= num; i++) {
for (int j = 1; j <= num; j++) {
System.out.printf(format, j, i, i * j);
}
System.out.println();
}
}
}
0490デフォルトの名無しさん
2005/11/01(火) 19:09:38public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new FileReader(args[0]));
String line = reader.readLine();
reader.close();
Q484 q484 = new Q484();
String[] values = line.split(" ");
for (int i=0; i<values.length; i++) {
q484.add(values[i]);
}
System.out.println(q484.getResult());
} catch (IOException ex) {
ex.printStackTrace();
}
}
private int[] digits;
public Q484() {
digits = new int[100];
}
0491デフォルトの名無しさん
2005/11/01(火) 19:09:49int index = digits.length - 1; //最下桁から計算
for (int i=0; i<valueStr.length(); i++) {
int value = valueStr.charAt(valueStr.length() - i - 1) - '0'; //最下桁の文字を0〜9の数値に変換
add(index, value);
index--;
}
}
private void add(int index, int value) {
digits[index] += value;
if (digits[index] >= 10) {
digits[index] -= 10;
add(index - 1, 1); //繰り上げを再帰で行う
}
}
public String getResult() {
StringBuffer buffer = new StringBuffer(); //最上位桁から順に送り込む
boolean foundNotZero = false;
for (int i=0; i<digits.length; i++) {
if (foundNotZero || (digits[i] != 0) || (i == digits.length - 1)) {
//0以外の物が既に現れているか、今まさに現れたか、現れなかったにせよ最下桁に至ったか、
//そのいずれかの条件が揃った時文字列バッファに追加する
buffer.append(digits[i]);
foundNotZero = true;
}
}
return buffer.toString();
}
}
0492デフォルトの名無しさん
2005/11/01(火) 19:11:19実行は
java Q484 ファイル名
クラス名は適当に変えるべし
0493デフォルトの名無しさん
2005/11/01(火) 19:41:44【 用語 】コラッツ予想=任意の正の整数nに対して,それが 奇数なら3倍して1をたす,
偶数なら2で割る. その結果に対して,同じことを繰り返す.結果が1になったら終了
【 期限 】11/3
【 ver 】 1.4
いろいろググってみましたが見つかりませんでした・・・。
お願いします。
0494デフォルトの名無しさん
2005/11/01(火) 20:22:33public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
while (n != 1) {
System.out.print(n);
if (n%2 == 1) {
n = n * 3 + 1;
} else {
n /= 2;
}
System.out.print(" ");
}
System.out.print(n);
}
}
0495デフォルトの名無しさん
2005/11/01(火) 20:22:56【 補足 】今回は「あめんぼあかいなあいうえお」の中に、「あ」が幾つ含まれているか数えたいのです。
【 期限 】11/2朝
0496デフォルトの名無しさん
2005/11/01(火) 20:27:50import java.math.BigInteger;
import java.util.Scanner;
public class Q493 {
private static final BigInteger ONE = BigInteger.valueOf(1);
private static final BigInteger TWO = BigInteger.valueOf(2);
private static final BigInteger THREE = BigInteger.valueOf(3);
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
BigInteger bigInteger = scanner.nextBigInteger();
if (bigInteger.signum() != 1) throw new RuntimeException("1以上の整数を入力してください: "+bigInteger);
while(!bigInteger.equals(ONE)) {
System.out.println(bigInteger);
bigInteger = bigInteger.testBit(0) ? bigInteger.multiply(THREE).add(ONE) : bigInteger.divide(TWO);
}
System.out.println(bigInteger);
}
}
0497デフォルトの名無しさん
2005/11/01(火) 20:33:09>496
1.4じゃScannerはダメ。
// Q493.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class Q493 {
private static final BigInteger ONE = BigInteger.valueOf(1);
private static final BigInteger TWO = BigInteger.valueOf(2);
private static final BigInteger THREE = BigInteger.valueOf(3);
public static void main(String[] args) {
try {
System.out.print( "1以上の整数を入力してください > " );
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BigInteger bigInteger = new BigInteger(br.readLine());
if( bigInteger.signum() != 1 ) throw new RuntimeException("1以上の整数を入力してください: " + bigInteger);
while( !bigInteger.equals(ONE) ) {
System.out.println(bigInteger);
bigInteger = bigInteger.testBit(0) ? bigInteger.multiply(THREE).add(ONE) : bigInteger.divide(TWO);
}
System.out.println(bigInteger);
} catch( IOException ioe ) {
ioe.printStackTrace();
}
}
}
0498デフォルトの名無しさん
2005/11/01(火) 20:33:22public class Q495 {
public static void main(String[] args) {
String str = "あめんぼあかいなあいうえお";
int num = 0;
for (int i=0; i<str.length(); i++) {
if (str.charAt(i) == 'あ') num++;
}
System.out.println(num);
}
}
0501デフォルトの名無しさん
2005/11/01(火) 20:56:29○×ゲームを依頼した者です。
今動かそうとしてみましたが、どうもエラーが起きてコンパイルできないみたいです
0502デフォルトの名無しさん
2005/11/01(火) 20:58:26エラーメッセージくらい書こうよ…
0503454
2005/11/01(火) 21:05:24どうせまたJDK5.0がらみだと思います。
JDKの最新版入れて動かしてください。
ルールの
> 5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。
は「動かなかったらエラーメッセージの詳細な内容も載せろ」というのを追記した方がいいな。
0504487
2005/11/01(火) 21:09:53助かりました。
0505デフォルトの名無しさん
2005/11/01(火) 22:30:46【 補足 】まだJAVAはじめたばかりで、何かコツなどがあったらお願いします。
あとレポートの書き方は自由らしいのですが、他の課題などはどのような考察を書いたらいいかよければ教えてください。
【 期限 】今日中
0506デフォルトの名無しさん
2005/11/01(火) 22:56:14名前とかインデントとか大事だなw
Sample5とかいうクラス名見ただけでモチベーションが。。。
0507デフォルトの名無しさん
2005/11/01(火) 23:11:50sample5のほうが萎え
0508デフォルトの名無しさん
2005/11/01(火) 23:12:13そこをなんとか
でも俺の行ってる大学ってやっぱダメなんですかね。
正直食っていければなんでもいいんですけど、将来情報システム系の職に
就けるのか疑問です・・。
0509デフォルトの名無しさん
2005/11/01(火) 23:12:29は見たくねェ
0510デフォルトの名無しさん
2005/11/02(水) 00:30:42課題とかじゃなくてこれそのまま答えだと思うぞ。
classごとそのままペーストしてコンパイルして
sample5よべば4と3が表示されるが考察すれということなのか???
0511デフォルトの名無しさん
2005/11/02(水) 00:46:54ありがとうございます。
そのままってことは、あとに繋げればいいんですかね・・。
http://page.freett.com/kb100000/e2.txt
まださっぱりなんで、今回はわかるとこだけ考察してみます・・
ちなみに第2回はアプレット、第3回はGUI、第4回はスレッド、第5回Java 3Dと
どんどん進むそうですが、俺は馬鹿で鬱で軽いパニックなんで、がんばんないとな。
0512デフォルトの名無しさん
2005/11/02(水) 00:49:27http://page.freett.com/kb100000/g.txt
0513デフォルトの名無しさん
2005/11/02(水) 00:58:37【 期限 】今日中
【 Ver 】1.4.2
【 補足 】一応自分でやったのですが、エラーが出ます。ネットワーク上の画像を読み込むときは
どうたらとか言われた気がするのですがよくわかりません。どなたかよろしくお願いします。
0514513
2005/11/02(水) 01:08:540515511
2005/11/02(水) 01:34:38http://page.freett.com/yszkjnt/java/inp_main.html
のように簡単に書いてくれると理解しやすいんだけど。。
お金もないし、バイトしなくちゃいけないし、少し難しいまで
上のようなサイトのように簡単に分解して書いてあるようなおすすめの
本があったら、是非教えてくださいまし・・。わかりにくいのやってると
追い詰められて絶死状態になります。あと、今大学3年なんですが、
こういうのを勉強していて、どのようなところに就職できるのでしょうか?
より分かりやすくて簡単で、給料が良くてスペースが広い、みたいな。
学校は席のスペースも狭いし、わかりにくいことをバンバンやるのが嫌なんです・・
今は株やっているんで、いつかは株優先で暮らすのが理想なんですけどね・・
スレ違いすみません。スーパーダメ人間の愚痴でした。
0516デフォルトの名無しさん
2005/11/02(水) 01:59:41とにかくエクリプスにこぴぺした後
コントロール+シフト+F
で読みやすくなるから・・・
0517○×
2005/11/02(水) 02:39:28すいません。
TicTacToe.java:18〜31: 'class'または'interface'がありません
TicTacToe.java:157: 'class'または'interface'がありません
TicTacToe.java:161:<identifier> がありません
TicTacToe.java:165:'('または'['がありません
TicTacToe.java:167:<identifier> がありません
TicTacToe.java:223: 'class'または'interface'がありません
TicTacToe.java:228:\64は不正な文字です
TicTacToe.java:273:<identifier> がありません
0518至急、頼んます。
2005/11/02(水) 07:19:52ログイン画面に「ログイン回数」と「ログイン成功回数」を表示させるには、どうすればよいでしょうか?
</form>より前の、ボタンやパスワードなどをログイン画面に表記するところまでは分かっているのですが、回数を表示させるところが分かりません。
0520454
2005/11/02(水) 22:03:03>517
5つのファイルに分かれているということを分かりやすく伝わるようにしたつもりでしたが
無理でしたか。。
TicTacToe.javaは273行もありません。
0521デフォルトの名無しさん
2005/11/02(水) 22:03:50とりあえずテンプレ使ってくれ。
0522○×
2005/11/02(水) 23:09:55あ、クラス5つもあったんですね。気づきませんでした。すいません
それぞれ5つに分けて、TicTacToe.javaをコンパイルしましたが、またエラーがおきてしまいました
Player.java:6:<identifier>がありません
Player.java:10:'('または'['がありません
Player.java:12:<identifier>がありません
TicTacToe.java:14シンボルを解決できません
Cpu.java:7:\64は不正な文字です
Cpu.java:52:<identifier>がありません
TicTacToe.java:77シンボルを解決できません
システムリソースが不足しています
詳細は次のスタックトレースで確認してください
java.lang.OutOfMemoryErorr
0523454
2005/11/02(水) 23:23:16>522
>503
×Cpu
○CPU
×Erorr
○Error
コピペぐらいちゃんとできるようになってください。
0525sage
2005/11/03(木) 08:36:58(C) Copyright 1985-2001 Microsoft Corp.
C:\java>
コマンドプロンプトのこぴぺ…
0526デフォルトの名無しさん
2005/11/03(木) 08:38:300527デフォルトの名無しさん
2005/11/03(木) 13:53:39期限:月曜日まで。
よろしくお願いします。
0528デフォルトの名無しさん
2005/11/03(木) 17:24:27// FontTest.java
import java.applet.*;
import java.awt.*;
public class FontTest extends Applet {
public void paint(Graphics g) {
String title = getParameter("title");
String date = getParameter("date");
Font boldFont = new Font("Serif", Font.BOLD, 16);
g.setFont(boldFont);
FontMetrics fmBold = getFontMetrics(boldFont);
int titleX = getWidth() / 2 - fmBold.stringWidth(title) / 2;
int titleY = fmBold.getHeight();
g.drawString(title, titleX, titleY);
Font italicFont = new Font("SansSerif", Font.ITALIC, 12);
g.setFont(italicFont);
FontMetrics fmItalic = getFontMetrics(italicFont);
int dateX = getWidth() - fmItalic.stringWidth(date);
int dateY = getHeight() - fmItalic.getHeight();
g.drawString(date, dateX, dateY);
}
}
// HTMLファイル(FontTest.classと同じディレクトリに配置する)
<html>
<body>
<applet code="FontTest.class" width=300 height=300>
<param name="title" value="Hello Java World!!">
<param name="date" value="2005/11/03">
</applet>
</body>
</html>
0529デフォルトの名無しさん
2005/11/03(木) 19:42:19次の仕様を満たす相性占いプログラムを作成し、自分と、出席番号が次の人(以下、相手)の相性を判定せよ。
(Uranai.javaとUranaiApp.javaを提出)
* クラスUranai
フィールド
* 名前(ひらがなが並んだ文字列)
* 名前の各文字をそれぞれ1〜5に置き換えた数字の列(1〜5の数字が並んだ文字列)
あ,か,さ,... → 1
い,き,し,... → 2
う,く,す,... → 3
(以下同様)
メソッド
* 表示 ... "私の名前は〜です"と表示する。
* 判定 ... 自分と相手の相性を判定して表示する。
1. 引数で、Uranaiクラスのインスタンス(相手)を一つ受け取る。
2. 自分の数字列と相手の数字列を連結して長い数字列を作る。
3. 手順2で作った数字列を引数として、次の計算メソッドを呼び出し、相性の計算を行う。計算メソッドの結果を適当な変数に入れておく。
4. 変数に入れておいた計算結果を、"私と〜の相性は〜%です"と表示する。
0530デフォルトの名無しさん
2005/11/03(木) 19:49:51* 計算 ... 二人分の長い数字列から相性を計算して返す。
1. 引数で、二人分の長い数字列(文字列一つ)を受け取る。
2. 数字列の長さが3以上である間、以下の処理を繰り返す。(whileループ)
(a). 新しい数字列用の文字列変数を用意し、空文字列""を代入する。
(b). 現在の数字列の各数字に対して、前から順に以下の処理を繰り返す。(forループでi=0,1,2,...と回す)
i. 現在見ている数字(i番目)と、その次の数字(i+1番目)をそれぞれ整数に変換する。
j. 二つの整数の和を求める。和が10以上の場合は10の位を捨てる。
k. 新しい数字列に、その和を連結する。
(c). 動作確認のため、出来上がった新しい数字列を表示する。
3. 最終的に出来上がった2桁の数字列を、整数に変換して返す。
クラスUranaiApp
* メソッド
main ... 二人の相性を占う。具体的には、
1. コマンドライン引数から二人分の名前と数字列を読み込み、Uranaiクラスのインスタンスを二つ生成する。
2. 一人目に対して、表示メソッドを呼び出す。
3. 一人目に対して、二人目を引数として、判定メソッドを呼び出す。
4. 二人目に対して、表示メソッドを呼び出す。
5. 二人目に対して、一人目を引数として、判定メソッドを呼び出す。(3の逆)
0531デフォルトの名無しさん
2005/11/03(木) 19:57:28Uranaiクラスに以下の仕様を満たすstaticな判定メソッドを追加せよ。
mainメソッドにその動作をテストするコードも追加すること。
(追加した部分のソースを提出)
* 名前はhanteiとする。
* 引数としてUranaiクラスのインスタンスを二つ受け取る。
* 一人目の数字列と二人目の数字列を連結して長い数字列を作る。
* 二人分の長い数字列を引数として、計算メソッドを呼び出し、相性の計算を行う。
* 計算結果を「〜と〜の相性は〜です」と表示する。
【課題3】
また、以下の各メソッドはstaticメソッドとするのが相応しい。その理由を考察せよ。
* Uranaiクラスの計算メソッド
* (一般的に)mainメソッド
【期限】
明日の明朝まで
長くなってしまいましたが、どうかよろしくお願いします
0532529
2005/11/03(木) 20:04:550533デフォルトの名無しさん
2005/11/03(木) 21:15:020534デフォルトの名無しさん
2005/11/03(木) 21:31:20ありがとうございました。
0535デフォルトの名無しさん
2005/11/03(木) 21:31:48>529-532
課題1と2
http://www.wikiroom.com/java/index.php?SourcePost#gc14adf5
> 1. コマンドライン引数から二人分の名前と数字列を読み込み、Uranaiクラスのインスタンスを二つ生成する。
という部分で悩みましたが、ひらがなの名前だけ与えれば十分なので名前のみを与えることにしました。
数字列はプログラムで作らせてます。
java UranaiApp たかさきゆうすけ くつきふたば
みたいな感じで実行してください。
課題3
・Uranaiクラスの計算メソッド:
xx.calculateSynastry(yy)のようにインスタンスメソッドにしても
(どうせxxの値によらず)yyの値にのみ影響されるから意味がない。
インスタンスごとじゃなくてクラスにひとつあれば十分。
・mainメソッド
mainメソッドのあるクラスは誰もインスタンス化してくれないから。
課題3はアヤシイなあ。
誰かフォロー頼んます。
0536デフォルトの名無しさん
2005/11/04(金) 10:52:39俺がうまれて初めてトライした自作プログラムだ 懐かしい
N88-BASIC だが
0537デフォルトの名無しさん
2005/11/04(金) 18:37:09【 期限 】11月8日に提出
【 補足 】丸投げですがおねがいします
0538デフォルトの名無しさん
2005/11/04(金) 21:02:30問題はホントにこれだけ?
何のファイルを操作するのかよく分からないんだけど。。
0539デフォルトの名無しさん
2005/11/04(金) 23:55:020540デフォルトの名無しさん
2005/11/04(金) 23:55:540541デフォルトの名無しさん
2005/11/05(土) 01:23:00txtに保存するならなぜ最初からそう書かないんだ?
条件は勝手に省略せずに全部書け。
0542527
2005/11/05(土) 02:45:35初心者にもわかりやすくかかれてるWebページありませんか?
http://www.ioctv.zaq.ne.jp/kreuz/java/java/method.html
ここの「まず、同じオブジェクトの場合。」の下のソースに最低限の
mainとかつけて動作して出力するプログラムとか教えて欲しいです。
g.setFont(boldFont);
FontMetrics fmBold = getFontMetrics(boldFont);
int titleX = getWidth() / 2 - fmBold.stringWidth(title) / 2;
int titleY = fmBold.getHeight();
の引数とか、○.○(引数)とか、getWidth()/2とか、どことどうつながってるのか、
値はいくつなのかとかわかりません。クラス、オブジェクト、メソッド、コンストラクタ
なにもわかりません。馬鹿でも分かりやすく1文1文の説明の多いページ、どのような流れで
処理されているのか、とかわかりやすく書かれているWebページがあったら是非教えてください。
0543デフォルトの名無しさん
2005/11/05(土) 12:27:06作ってみたが課題と違う仕様だと恥ずかしいので、課題をそのまま書いたレスください。
0544ambig
2005/11/05(土) 13:06:18次のようなプログラムを作ってください!
最初に「Please insert the # of IQ scores」と表示させ、
その後一つのintの値をコマンドラインから入力し、
次に「Please insert -入力した数値- scores」と受け取った数を表示させて、
その数だけのIQスコアをさらにコマンドラインから入力して、
そのIQスコアの値で100以上が幾つ、100以下が幾つと表示させるプログラムです。
メインとともに二つのメソッド、
readdataとaboveandbelowというメソッドが必要です。
readdataメソッドはIQスコアをゲットして、配列を使って受け取り、
aboveandbelowを使って100以下か以上かを調べるようです。
皆さんの助けを必要としています。
よろしくお願いいたします!
0545デフォルトの名無しさん
2005/11/05(土) 17:11:07java.lang.Mathの乱数発生メソッドを使用して任意の長さのパスワードを生成するプログラムを作りなさい。
注;コマンドラインから引数を一つ取り、その引数を数値に変換して結果を出力します。
以下のABCに入るコードを記述しなさい
さっぱりわかりません。誰かおせーて
public class Pass{
public static void main(String[] args){
if(args.length != 1){
System.out.println("数字を入力して下さい");
return;
}
System.out.println(createPassword( A ));
}
public static String createPassword(int num){
StringBuffer password = new StringBuffer("");
String validChar = "abcdefghijklmnopqrstuvwxyz"+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"+ "0123456789";
for(int i = 0; i < num; i++){
int index = B ;
password. C (validChar.charAt(index));
}
return password.toString();
}
0546デフォルトの名無しさん
2005/11/05(土) 17:58:53// Pass.java
public class Pass{
public static void main(String[] args){
if(args.length != 1){
System.out.println("数字を入力して下さい");
return;
}
System.out.println(createPassword( Integer.parseInt(args[0]) ));
}
public static String createPassword(int num){
StringBuffer password = new StringBuffer("");
String validChar = "abcdefghijklmnopqrstuvwxyz"+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"+ "0123456789";
for(int i = 0; i < num; i++){
int index = (int)(Math.random() * validChar.length()) ;
password.append(validChar.charAt(index));
}
return password.toString();
}
}
0547545
2005/11/05(土) 19:01:38動きました!!明日提出の課題だったんで本当助かりました!ありがとうございます。
特にAの穴に該当するコードが意味不だったんでこの回答を参考にもう一度参考書とにらめっこしてみます!
0548デフォルトの名無しさん
2005/11/05(土) 20:33:31【 期限 】11/08 16時
【 補足 】
http://sobchan.no-ip.com/cgi-bin/irc/src/unko0234.txt
このファイルから読み込んだデータを使って絵を描くという課題です。
http://sobchan.no-ip.com/cgi-bin/irc/src/unko0235.txt
要はこのunko0235.txtを基にして, int[] data = { }; の部分を上のunko0234.txtから
オブジェクト入力で読み込んで描くプログラムを作るということです。
0549537
2005/11/05(土) 21:23:17イベント処理がマウス操作。GUIが画面表示です。ファイル操作は勝敗結果をTETで保存です。ボタンの数の制限は無いです。
GUIを使用してアプレットを使わずに画面をマウスでクリックするとじゃんけんを開始して勝敗結果をTXTで保存する。とのことです。
0550543
2005/11/05(土) 22:35:32http://www.wikiroom.com/java/index.php?SourcePost#eeb332f9
画像はwiki該当ページ一番下のrspImage.zipの中にあります。
JDK5.0の機能使ってるのでそれ以前のバージョンだと動きません。
パッケージ切ってるので注意して。
ウィンドウポジションを記憶するというオマケ付きです。
0551529
2005/11/06(日) 11:30:10>>535
無事に動きました。
後で気付いたんですが、本来ならば名前をプログラムで解析するのは上級の課題だったようでした。
お手数をかけたようで申し訳なく思っています。
それでは、本当にありがとうございました。
0552537
2005/11/06(日) 12:14:02報告遅れました。本当にお手数おかけしてすみませんでした。
ありがとうございました。
0553デフォルトの名無しさん
2005/11/06(日) 13:44:18>548
// Enterprize.java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class Enterprize extends Frame {
private int LPX, LPY;
public Enterprize() {
setSize(1024, 768);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void LineTo(Graphics g, int x, int y) {
g.drawLine(LPX, LPY, x, y);
LPX = x; LPY = y;
}
public void MoveTo(int x, int y) { LPX = x; LPY = y; }
public void paint(Graphics g) {
int px, py;
ArrayList dataList = new ArrayList();
try {
BufferedReader br = new BufferedReader( new FileReader( new File("input.txt") ) );
String line;
while( (line=br.readLine())!=null ) {
StringTokenizer tokenizer = new StringTokenizer( line, "," );
while( tokenizer.hasMoreTokens() ) dataList.add( new Integer(tokenizer.nextToken().trim()) );
}
0554553
2005/11/06(日) 13:45:09>548
// つづき
Integer[] data = (Integer[])dataList.toArray( new Integer[0] );
g.setColor(Color.black);
g.fillRect(0, 0, getSize().width - 1, getSize().height - 1);
g.setColor(Color.white);
double a = 0.2;
for (int k = 0; k < (data.length/3); k++) {
px = (int)(a * data[3 * k].intValue() ) ;
py = -(int)(a * data[3 * k + 1].intValue() ) + 800;
if (data[3 * k + 2].intValue() == 2) MoveTo(px, py);
else LineTo(g, px, py);
}
} catch( IOException ioe ) {
ioe.printStackTrace();
}
}
public static void main(String[] args) {
Frame w = new Enterprize();
w.show();
}
}
入力ファイルのファイル名はinput.txtで。
0556デフォルトの名無しさん
2005/11/06(日) 15:57:57■ファイル操作
■ネットワーク通信
■マルチスレッド
■GUIとイベント処理
この4つの中から2つ以上を選び可搬性の高いプログラムを作成せよ
なんでもいいのでおねがいします
0557デフォルトの名無しさん
2005/11/06(日) 16:46:11追記
Javaアプレットの使用は認められていない課題なので、使用しないということでお願いします。
提出期限は、11月9日(水)までなのでおねがいします。
0558543
2005/11/06(日) 18:47:51自分の作ったヤツで申し訳ないが。
http://www.wikiroom.com/java/index.php?SourcePost#eeb332f9
なら「ファイル操作」と「GUIとイベント処理」をやってるのでコレ使ってくれ。
可搬性を実現させるためにJava Web Start使うことにした。以下はそのやり方。
1. wikiにあがってるソースをコンパイル(但しHandConstants.javaは後述のファイルに差し替え)する。
パッケージ切ってるのでeclipse使うと便利。
2. RockPaperScissors.mfをつくる。
---ここから
Manifest-Version: 1.0
Main-Class: main.RockPaperScissors
---ここまで(最後の改行が必要なはず)
3. jarをつくる。3つのgifファイルもjarの中に入れる(画像はカレントに入れることを想定してます)。
jar cvfm RockPaperScissors.jar RockPaperScissors.mf *
4. 証明書を作る。名前はテキトーに変えてくれ。
keytool -genkey -alias 543 -keystore 543.dat
5. つくったjarに署名する。パスワードは4で入れたヤツ入れておけばok。
jarsigner -keystore 543.dat -storepass password RockPaperScissors.jar 543
6. RockPaperScissors.jnlpをつくる。
---ここから
<jnlp
spec="1.0+"
codebase="http://localhost:8080/RockPaperScissors"
href="RockPaperScissors.jnlp">
<information>
<title>rock-paper-scissors</title>
<vendor>543</vendor>
<offline-allowed/>
</information>
<resources>
<j2se version="1.5+"/>
0559543
2005/11/06(日) 18:48:49<jar href="RockPaperScissors.jar"/>
</resources>
<application-desc main-class="main.RockPaperScissors"/>
<security>
<all-permissions/>
</security>
</jnlp>
---ここまで
7. jnlpとjarをサーバにアップする。
8. ブラウザからjnlpにアクセスする。
9. (゚д゚)ウマー ..... なはず。
※wikiにあがってるHandConstantだとJava Web Startにしたとき画像読めなくなるのでこっちつかってくれ。
// HandConstants.java (jnlp対応版)
import java.net.URL;
import javax.swing.ImageIcon;
public final class HandConstants {
public static final Hand HAND_ROCK = new Hand(0, "グー", getIcon("gu.gif") );
public static final Hand HAND_SCISSOR = new Hand(1, "チョキ", getIcon("cyoki.gif") );
public static final Hand HAND_PAPER = new Hand(2, "パー", getIcon("pa.gif"));
public static final Hand[] HANDS = new Hand[] { HAND_ROCK, HAND_SCISSOR, HAND_PAPER, };
private static ImageIcon getIcon( String fileName ) {
URL url = new HandConstants().getClass().getClassLoader().getResource(fileName);
if( url == null ) return new ImageIcon(fileName);
else return new ImageIcon( url );
}
}
書き漏らしてることあるかもしれないんで
もし動かしたのなら動作報告よろしく。
0560デフォルトの名無しさん
2005/11/06(日) 19:35:07動作は確認していませんが、他に簡単なプログラムがあれば教えてください。
■ファイル操作
■ネットワーク通信
■マルチスレッド
■GUIとイベント処理
自分には難しいのですが、なければコレを使わせてもらいます。ありがとうございました。
0561デフォルトの名無しさん
2005/11/06(日) 19:51:08【 用語 】
【 期限 】11/7
【 Ver 】1.5以降 コンパイラはBorland JBuilder 2005 Foundation ver11.0を使用。
【 補足 】前回、同様default constructor, alternate constructor を使うプログラムなのですが、
if, elseが混ざり、switch statement(スイッチ構文?)を使用するみたいです。
今回は途中経過を書けないくらい難しいです…orz
0562561
2005/11/06(日) 20:12:00package name is wagecomputer
MainClass: ttp://www.geocities.jp/java_homework2006/MainClass.txt
WageComputer: ttp://www.geocities.jp/java_homework2006/WageComputer.txt
0563561
2005/11/06(日) 23:01:44http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26214
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26215
一番最初のアカウントナンバーの入力画面で、4桁の数字の数字を入力しても、
次のサービスプランの入力画面に進みます。また、数字以外を入力するとコンパイラのエラーではなく、
output画面で、四桁の数値を入力ください。と表示させるにはどうすれば良いのでしょうか?
サービスプランの所なのですが、R,r、P,pと入力するとプランが表示された後に、それぞれのプランの使用分数入力画面へ進むように
作らないといけないはずなのですが、レギュラープラン、プレミアムプランどちらを選択しても、二つ(レギュラー、プレミアムそれぞれ)の入力画面が出ます。
どのようにすればサービスプランごとに、Regular → Regularの使用分数入力画面(出力)→ 使用した合計金額、
Plemium → Plemiumの使用分数入力(午前6時→午後6時、午後6時→午前6時)そして出力→ 使用した合計金額(AMPM、PMAMそれぞれオーバーしていたらそれも計算して含める)、
といった感じで出力出来るのでしょうか?
0564デフォルトの名無しさん
2005/11/07(月) 01:15:52実行結果が
「行列 A =
[ xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x ]
ベクトル b (の転置) =
[ xx.x xx.x xx.x xx.x xx.x ]
--- 計算結果 ---
ベクトル c (の転置) =
[ xx.x xx.x xx.x xx.x ]」
(「」の中)となるようにプログラムせよ。
条件1,データを与える部分の行列やベクトルの次元が変わっても動作するようにプログラムを書くこと.
すなわち次元を具体的数値で与えずに プログラムを記述せよ,ということである.(マジックナンバーにしない)
条件2,行列 A とベクトル b の成分はどちらも(一般に小数点をもつ, つまり整数ではない)実数データとして各自が適当な桁数で,
配列データの初期化を使って与えよ. 小数点以下が.0ばかりではダメ.
なお与える行列のサイズは 3 <m < nを満たす適当な整数(↑の例では4x5)であること.
条件3、ベクトル c の成分を求める積和の部分には部分和用の変数を1つだけ導入し複合代入演算子を使って最後まで積和を完全に求め終わってから,
最後に配列要素に格納すること. 積和を求め終わるまでは指定の配列要素に格納する必要がないのだから,
ループ中に何度も配列要素を呼び出すよりその方が効率がいいのである.また部分和用の変数は必ず初期化する必要がある.
条件4、各自で与えたデータとそれによる計算結果を下の結果のように出力せよ.
成分の表示は行列もベクトルもfor文を使って出力すること.
【 期限 】11/08 18時
【 補足 】夜分、長文、寡聞、本当にすいません。お願いします。
0565デフォルトの名無しさん
2005/11/07(月) 01:47:32http://codezine.jp/a/article.aspx?aid=149
0566デフォルトの名無しさん
2005/11/07(月) 05:59:26週末のうちに書いておけば答えも得られやすいのにね。
>565
たぶんそのページじゃ答えになってない。
0567デフォルトの名無しさん
2005/11/07(月) 10:10:040568デフォルトの名無しさん
2005/11/07(月) 10:33:53ランダムに与えられた7つのトランプカードがあります。その中から5つのカードを取り出すときその5つのカードが7つのカードの中の最高の役となるよう検索するプログラムを書きなさい。
ローカルサーチを使う。グリーディアルゴリズムであればなおよし。
【 期限 】18時間後
【 Ver 】1.5
【 補足 】それぞれのステップで現在地のノードがよりよいノードに置き換えられるようにする。
サンプルコード:
public static int makeChange(int [] coins, int change)
{
int minCoins = chang;
for (int i = 0; i<coins.length: i++)
if (coins[i] == change)
return 1;
for (int j=1; i<=change/2;j++)
{
int this Coins = makeChange(coins, j)+makeChange(coins, change -j);
if (thisCoins < minCoins)
minCoins = thisCoins;
}
return minCoins;
}
1週間ずっと考えているのですが、ポーカーでは数字とマークがあるのでコーディングの仕方が分かりません。
どなたかお願いします!
0569デフォルトの名無しさん
2005/11/07(月) 12:15:220570デフォルトの名無しさん
2005/11/07(月) 12:33:47ifだけを使ってなら分からなくも無いが、
ループを使ってツリー状に考えるというのが良く分からない。
0571561
2005/11/07(月) 15:17:58エラー吐きまくりで、getter,setterなど考えてる暇がありませんでした。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26232
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26233
0572デフォルトの名無しさん
2005/11/07(月) 19:30:59>571
あなたの場合は途中まで作ったソースコード載せるより、
問題文の日本語訳を載せた方が
回答が得られる可能性がぐっと高くなる。
正直な話、誰も問題読んでないと思うよ。
0573561
2005/11/07(月) 23:34:16申し訳ありません。日本語訳を作りました。
ttp://www.geocities.jp/java_homework2006/index_j.html
0574デフォルトの名無しさん
2005/11/08(火) 05:50:160575561
2005/11/08(火) 11:16:58http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26243
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26244
0576デフォルトの名無しさん
2005/11/08(火) 17:06:06*参考 java.text.DateFormatクラス
尚、引数として与える日付は、YYYY/MM/DD形式で入力すること。
import java.util.Date;
import java.text.DateFormat;
public class DateCompare{
public static void main(String[] args) throws Exception{
if(args.length != 1){
System.out.println("Usage: DateCompare <date>");
return;
}
Date argDate = DateFormat.getDateInstance().parse(args[0]);
Date now = [A] ;
if( [B] ){
System.out.println(argDate + "は過去です。");
}else if( [C] ){
System.out.println(argDate + "は未来です。");
}else{
System.out.println(argDate + "は現在です。");
}
}
}
今週木曜日(10日)までの学校の課題です。どうしてもわかりません
どなたかご教示ください
0577デフォルトの名無しさん
2005/11/08(火) 18:42:30[A] http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Date.html#Date()
[B] http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Date.html#before(java.util.Date)
[C] http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Date.html#after(java.util.Date)
// 起動時間と日付での比較だと現在です。になることって殆ど無いんじゃないか?
0578デフォルトの名無しさん
2005/11/08(火) 22:26:37【 期限 】今日中
【 補足 】丸投げですがよろしくお願いします。課題4と課題5です。
0579576
2005/11/08(火) 23:36:51やっぱりそうですよね?俺も殆どって言うか絶対「現在です」にはならないと思うんですけど・・・。
っていうことはコンパイル出来てれば問題ないっすかね?
0580デフォルトの名無しさん
2005/11/09(水) 01:59:02マルチ乙
向こうに答え書いた。
0582デフォルトの名無しさん
2005/11/09(水) 16:27:30接続を待機するエコーサービスプログラムを作成せよ。50000番台の
ポート番号を指定してプログラムを起動し、クライアントとして
オペレーティングシステム付属のTelnetアプリケーションを用いて、
接続してみよ。Telnetアプリケーションを終了するには、Ctrlキーを
保持しながら「]」(閉じ大括弧)を押下せよ。さらに、現れたプロン
プトに「quit」と入力し、最後にentarキーを押下せよ。
【 課題 】Socketクラスを用いて、第一引数で指定されたホストの第三引数で指定
されたポートへ、第二引数の文字列を送信するエコークライアントプロ
グラムを作成せよ。
【 課題 】エコークライアントプログラムとファイル入力/ファイル出力を組み合わ
せ、入力ファイルの内容をサーバプログラムへ送信し、サーバからの応答
を別ファイルに出力するクライアントプログラムを作成せよ。
【 期限 】11/16
【 補足 】丸投げなんでよろしくお願いします
0583デフォルトの名無しさん
2005/11/09(水) 17:57:17import java.applet.*;
import java.awt.*;
import java.awt.image.*;
public class nk2 extends Applet {
Image img;
int a=1;
public void init(){
byte r [] = { 0,(byte)255,(byte)255,0,(byte)255};
byte g [] = { 0,(byte)255,0,0,(byte)255};
byte b [] = { 0,(byte)255,0,(byte)255,0};
IndexColorModel cm = new IndexColorModel(3,5,r,g,b);
int[] pix =
{3,3,3,
3,1,3,
3,3,3,};
MemoryImageSource mimg = new MemoryImageSource (3,3,cm,pix,0,3);
img = createImage(mimg);
}
public void paint(Graphics g){
g.drawImage(img,40,40,40,40,this);
}
}
0584デフォルトの名無しさん
2005/11/09(水) 21:45:58IDは「aaa」、passwordは「bbb」を有効なものに設定。
ログインする際には、「Submit」ボタンを押す。「Clear」ボタンも作成。
そのログイン画面ではログインの回数とログイン成功の回数を、画面が開かれる毎に表示させる。
最初はログインの回数は「1」、成功回数は「0」。
IDまたはPasswordが誤りの場合、ログインの回数は「2」に増えるが、ログインは成功しないため、ログインの成功回数は「0」のまま。
ログインが成功した場合には、「aaaのログイン回数は1回です。」と表示させる画面を作成する。
この後のログイン画面ではログインの回数は「3」になり、成功回数は「1」となる。
【期限】明後日の朝
【補足】login.jspの他にもう1つjspが必要。
<%@ page import="java.io.*" %>
<%! public static final String COOKIE_JAR = "cookie_jar.txt"; %>
を使う。
<% int attempts = 0, successes = 0;
BufferedReader reader = null;
PrintWriter writer = null;
try {
reader = new BufferedReader(new FileReader(COOKIE_JAR));
String line = reader.readLine();
if (line != null)
attempts = Integer.parseInt(line);
line = reader.readLine();
if (line != null)
successes = Integer.parseInt(line);
} catch (IOException ioe) {
} finally {
if (reader != null)
reader.close();
}
を参考にする。
0585デフォルトの名無しさん
2005/11/10(木) 07:07:28戦艦ゲームで対戦できるものといわれました
【 期限 】11月末
【 Ver 】
【 補足 】丸投げです、自分でなんとかしようと思いましたが、全然知識不足でした
0586デフォルトの名無しさん
2005/11/10(木) 18:54:03「戦艦ゲーム」って具体的にどうすんのよ
どういう操作をする、だとか説明不足
0587585
2005/11/10(木) 21:01:45こんな感じのものができればいいと思います。
ほんとはネットで対戦できる形にしろといわれたのですが、わかりませんでした。
よろしくお願いします
0588デフォルトの名無しさん
2005/11/10(木) 21:09:28>585
本当に「戦艦ゲームで対戦できるものを作ってこい」と言われただけなの?
>こんな感じ
じゃあプログラムは作れません。
0589585
2005/11/10(木) 22:02:520590デフォルトの名無しさん
2005/11/11(金) 00:35:10これでいいんじゃねーの
4行くらいで書けるな、すごい!
0591デフォルトの名無しさん
2005/11/11(金) 09:30:39昔からあるゲームなので、いちいちルール説明しなかったと言う可能性もあるな。
結構色々なローカルルールがあるので微妙だが、ここのがわかりやすそうだ。
http://www.geocities.co.jp/Playtown-Queen/2293/kaisen.html
答える側も察してやれよと言いたい所だが、最近の若いもんは海戦ゲーム知らんのかな?
0592デフォルトの名無しさん
2005/11/11(金) 12:38:31ぶっちゃけ初めて聞いた。
ところで、このゲームは面白いのか?
イマイチぴんとこないんだが(´・ω・`)
0593デフォルトの名無しさん
2005/11/11(金) 12:52:55面白いっつーか、Pongとかみたいにむかーしからあるから
サンプルとして使いやすいんでない?
リアルタイム処理いらないし。
0594デフォルトの名無しさん
2005/11/11(金) 14:25:40漏れも初めて聞いたよ・・・初心者だけどw
作ってみるお!
二次元配列でサクっとできそうだ
これ人間vsCOMでやるんだよな
COMももちろん行動するんだろうなぁ・・そこだけが怪しいw
とりあえずCOMは動かないってことで作る!!
0595デフォルトの名無しさん
2005/11/11(金) 15:40:14実行結果が
「行列 A(4x5) =
[ xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x ]
行列 B(5x6) =
[ xx.x xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x xx.x ]
--- 計算結果 ---
行列 C(4x6) =
[ xx.x xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x xx.x ]
[ xx.x xx.x xx.x xx.x xx.x xx.x ]」
「」の中となるようプログラムを作成せよ。
条件1.行列の積を計算する部分と,行列の成分を出力する部分はそれぞれ,行列(2次元配列)を引数にもつ,
別の独立したメソッド(型は void. これ以外の書き方はダメ)として作ること.
したがって積のメソッドと出力のメソッドの計2つを作ることになる.
条件2.行列 C の成分を求める積和の部分には部分和用の変数を1つだけ導入し複合代入演算子を使って最後まで積和を完全に求め終わってから,
最後に配列要素に格納すること.積和を求め終わるまでは指定の配列要素に格納する必要がないのだから,
ループ中に何度も配列要素を呼び出すよりその方が効率がいいのである.また部分和用の変数は必ず初期化する必要がある.
条件3.出力はprintf で書式指定して,小数点以下を3桁とすること。
【 期限 】11月13日
【 補足 】よろしくお願いします。
0596デフォルトの名無しさん
2005/11/11(金) 17:33:04本筋から関係ないが補足
もともとの名前は 「BattleShip」 なので、実は「戦艦ゲーム」が正しいっぽい。
0597デフォルトの名無しさん
2005/11/11(金) 18:08:57ttp://www.wikiroom.com/java/index.php?SourcePost_#k4b4bf03
System.out.printf()使ってるので当然1.5で動かしてください。
0598デフォルトの名無しさん
2005/11/12(土) 05:02:40【 用語 】ニューラルネットワーク
ttp://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%B5%84%E7%B9%94%E5%8C%96%E5%86%99%E5%83%8F
wikipediaより
【 期限 】11月20までには簡単なデモができる状態にしたいです。
(ファイル変換は後回しでも良いのでまずニューラルネットワークの部分をお願いします。)
【 Ver 】1.5
【 補足 】すいません丸投げです。以下簡単な要求定義です。
あるファイル(.txtとか)をバイナリ状態に置き換える。
置き換えた状態からいくつかの部分をピックアップしてノードとする。
ノードはそれぞれ相互に結合している。
制御信号(1or0)をどこか1つのノードに与えてやると相互結合しているので各ノードが変化し
最終的にファイルが違う状態になる。
簡単に元の状態に戻したりできる。
「参考」 相互結合 ttp://mars.elcom.nitech.ac.jp/java-cai/neuro/hop1.html のtopの図右側ような状態。
正直どこから手を付けて良いか迷っています。
バイナリ状態に置き換えるとしましたが、ファイルの拡張子の部分だけをいじるのでもいいです。
現在開発環境としてはEclipse 3.1でおこなっています。
どうかよろしくお願いします。
0599デフォルトの名無しさん
2005/11/12(土) 10:49:35九九の表を作るにあたって問題なのですが、1〜3のみの数字しか使えないという制限があります。
3までの数字でどうやって1から順に9までの数字を作るのかがわかりません。
プログラム的にはちゃんと動いてます(ループ文でループ回数を9にするとちゃんと回る)
数学の問題に近いですがループなどの事の説明もありますのでこちらで質問させていただきました。
よろしくお願いします。
0600デフォルトの名無しさん
2005/11/12(土) 11:23:52> 1〜3のみの数字しか使えないという制限があります。
プログラムの中に4から9までの数字を用いてはいけないという意味ですか?
0601デフォルトの名無しさん
2005/11/12(土) 11:30:42for(int i=1;i<=9;i++)
for(int s=1;s<=9;s++)
{
九九の処理;
}
}
のように9を使ってループさせてはいけないという事です。プログラム内で0〜3までの数字以外を使う事は平気です(足して1+3で4を出して使うなど)。
0602デフォルトの名無しさん
2005/11/12(土) 11:35:18for(int i=1;i<=m;i++)
for(int s=1;s<=m;s++)
{
九九の処理;
}
}
0603デフォルトの名無しさん
2005/11/12(土) 11:41:44回答ありがとうございます。
う〜ん・・・確かに問題的には合ってますけど、先生の意図した方法とは違うかもしれません。法の抜け穴的な感じですね。
できれば、ループの制御で4以上使わない方法を教えてください。
教えてもらう身なのに、条件を増やしたりすみません。
0604603
2005/11/12(土) 12:27:32ご迷惑おかけしました〜。
0605デフォルトの名無しさん
2005/11/12(土) 12:42:46>599
「自己解決しました」と書いて解決策を書かない人間の気が知れない。
// MatrixDemo.java
public class MatrixDemo {
public static void main(String[] args) {
int[][][][] allBoxes = new int[3][3][3][3];
for( int x=0; x<3; x++ ) {
for( int y=0; y<3; y++ ) {
int[][] box = new int[3][3];
for( int i=0; i<3; i++ ) {
for( int j=0; j<3; j++ ) box[i][j] = (3*x+y+1) * (3*i+j+1);
}
allBoxes[x][y] = box;
}
}
for( int x=0; x<3; x++ ) {
for( int y=0; y<3; y++ ) {
int[][] box2 = allBoxes[x][y];
for( int i=0; i<3; i++ ) {
for( int j=0; j<3; j++ ) System.out.print( "\t" + box2[i][j] );
}
System.out.println();
}
}
}
}
0606京子
2005/11/12(土) 12:46:31ジャンプするページを変えるには、
どのようなプログラムを組めば良いのでしょうか?
例えば、
チェックが0〜5個だと、Aページへジャンプ。
チェックが、6〜10個だと、Bページへジャンプとか、
そういう感じです.
誰かお願いします
0607603
2005/11/12(土) 12:59:04すみません。回答がなかなか出て来なくてイライラしていたのと提出時間が近づいていた焦りで簡潔な文になってしまいました。
自分がやった方法は
for(int i=0;i<=2;i++)
for(int s=1;s<=3;s++)
{
i*3+sを色々と処理;
}
とやりました。これを二つ作り一般的な九九の表を作りました。
>>605さんがやっているやり方に近いと思います。
教えて貰っているという事を忘れて態度が悪くなってしまいすみませんでした。以後気をつけます。
0608デフォルトの名無しさん
2005/11/12(土) 13:08:46配列もかけ算不要だよ
シンプルな4重ループでできるよ
ヒント
0 + 1
0 + 2
0 + 3
3 + 1
3 + 2
3 + 3
6 + 1
6 + 2
6 + 3
0609603
2005/11/12(土) 13:19:39素晴らしい!
そして、本当にプログラムと数学の面白さを感じます。
自分が届かなかった未知の場所から手を引っ張ってもらって登った気分です。
0610デフォルトの名無しさん
2005/11/12(土) 16:53:51int i=1,j=1;
while(i <= 3){
j=1;
while(j <= i){
System.out.print(i+" ");
j++;
}
i++;
↑これを実行すると
1
2 2
3 3 3
となりますが、
1
1 2
1 2 3
と表示させるように変えて下さい
【 期限 】月曜日
0611デフォルトの名無しさん
2005/11/12(土) 16:55:020612デフォルトの名無しさん
2005/11/12(土) 17:26:55にしてください
あとこれだけだと、改行の部分が欠けてますよ
0613デフォルトの名無しさん
2005/11/12(土) 19:14:43>System.out.print(i+" ");
iをjに変更
0614デフォルトの名無しさん
2005/11/12(土) 22:30:39出来ました!有難うございます
どうしてそうなるのかは解りませんが…
(これのフローチャートを書こうとしたのですが、出来ませんでした)
とにかく有難う御座いました
0615デフォルトの名無しさん
2005/11/12(土) 22:42:56プログラマなんてやめたほうがいいんじゃないか?と
心底おもったよ
0616デフォルトの名無しさん
2005/11/12(土) 23:02:53「プログラマになりたい」なんて>610は言ってないじゃん。
0617デフォルトの名無しさん
2005/11/12(土) 23:51:210618デフォルトの名無しさん
2005/11/13(日) 00:05:060619デフォルトの名無しさん
2005/11/13(日) 00:50:26講義であるんでしょ。
0620デフォルトの名無しさん
2005/11/13(日) 01:21:05ラムを作成しなさい。
ただし、0から9それぞれの個数を数えるための変数に必ず配列を用いてください。
(出 現個数カウント用の変数を10個用意してはいけません
例)
9 8 7 9 4 2 7 2 6 0 7 9 8 9 8 0 9 9 0 5 4 9 0 5 2 2 5
3 5 2 3 9 1 7 7 6 9 7 9 0 6 3 6 7 8 7 8 8 5 8 2 1 3 9
5 8 5 8 2 0 6 8 5 2 2 9 6 1 3 8 5 4 8 9 5 0 3 1 4 3 8
3 3 2 8 2 6 9 2 6 6 1 9 4 4 8 5 1 1 9
0 ******* 7
1 ******* 7
2 ************ 12
3 ********* 9
4 ****** 6
5 *********** 11
6 ********* 9
7 ******** 8
8 *************** 15
9 **************** 16
[期限]水曜日
0621デフォルトの名無しさん
2005/11/13(日) 01:21:32import java.io.*;
class Kadai1111_3{
public static void main(String arg[]){
int x;
int data[]=new int[100];
for(int i=0;i<100;i++){
x=(int)(Math.random()*10);
data[i]=x;
System.out.print(data[i]);
}
}
}
ここまでできました。
0622デフォルトの名無しさん
2005/11/13(日) 01:33:22class Kadai1111_3 {
public static void main(String arg[]) {
int data[] = new int[10];
for (int i = 1; i <= 100; i++) {
int x = (int) (Math.random() * 10);
data[x]++;
System.out.print(x);
System.out.print(i % 25 == 0 ? "\r\n" : " ");
}
System.out.println();
for(int i=0; i<10; i++) {
System.out.print(i + " ");
for (int j=0; j<data[i]; j++)
System.out.print("*");
System.out.println(" " + data[i]);
}
}
}
0623デフォルトの名無しさん
2005/11/13(日) 01:38:33感謝です(・人・)
なるほど理解しました。
0624デフォルトの名無しさん
2005/11/13(日) 02:19:19【 課題 】cardという要素数21個の配列、0から20までの数字用意、
乱数を使いシャッフル。シャッフルできたらcard全体表示。
表示結果に重複がないかを判定。 お願いします。
【 期限 】13日、23時まで。。
【 Ver 】1.5
【 補足 】すみません。丸投げです。。表示結果はこんな感じで・・
>java ShuffleCard
05 19 01 12・・・・・13
こんな感じで入れ替えてほしいです。
box = card[rand1];
card[rand1] = card[rand2];
card[rand2] = box;
よろしくお願い致します。
0625デフォルトの名無しさん
2005/11/13(日) 02:40:22http://life7.2ch.net/test/read.cgi/kankon/1131798281/l50
心臓病で余命四ヶ月の少年を救うには6000万円の手術を受けるしかない…。
0626デフォルトの名無しさん
2005/11/13(日) 03:43:14public class ShuffleCard {
public static void main(String[] args) {
// 初期化
int[] card = new int[21];
for (int i = 0; i < card.length; i++) card[i] = i;
// シャッフル
for (int i = 0; i < 1000; i++) {
int rand1 = (int) (Math.random() * card.length);
int rand2 = (int) (Math.random() * card.length);
int box = card[rand1];
card[rand1] = card[rand2];
card[rand2] = box;
}
// 表示
for (int i = 0; i < card.length; i++)
System.out.printf("%02d ", card[i]);
System.out.println();
}
}
重複判定はしてません。
シャッフルの部分
// シャッフル
for (int i = 0; i < card.length; i++) {
int rand1 = (int) (Math.random() * card.length);
int box = card[rand1];
card[rand1] = card[i];
card[i] = box;
}
のほうが良いと思うんですが
0627デフォルトの名無しさん
2005/11/13(日) 07:47:49その値の中に含まれる0の個数を、メモリに格納するプログラムを作成せよ。
ただし、プログラムの終わり部分は、以下のようになっており、0の個数は、
ANSの領域に格納されたものとする。
CNS DC 100
ANS DS 1
END
という問題を誰か解いてください。お願いします。
0628デフォルトの名無しさん
2005/11/13(日) 08:16:12スレタイ
0629デフォルトの名無しさん
2005/11/13(日) 14:11:53これを読込み、その内容を全てコンソール画面に出力せよ。
尚、ランレングス圧縮はされていないものとするが、対応した場合加点とする。
【 期限 】11月21日 18時
【 Ver 】 1.5
【 補足 】丸投げですorz
内容を全て出力ってのはtgaのフォーマットの表示と
RGBAデータを16進数表示で表示しろってことらしいです。
ランレングスとかtgaってなんですか状態です。
0630デフォルトの名無しさん
2005/11/13(日) 18:41:24http://page.freett.com/kb100000/3.txt
これってどんなことをかけばいいんでしょうか?
調べたことをテキトーにかけばいいんですかね?
だいたいどのようなことをかけばよいか教えていただけませんか?
[期限]火曜
0631デフォルトの名無しさん
2005/11/14(月) 01:15:31ありがとうございます。
勉強になりました。
0632デフォルトの名無しさん
2005/11/14(月) 03:09:28お願いします。
0633デフォルトの名無しさん
2005/11/14(月) 03:14:17int[] date = {98,45,13,26,24,17,36};
こういうの地味に苦手・・・。
どなたかお願いします・・・。
0634デフォルトの名無しさん
2005/11/14(月) 03:22:45java.util.Arrays.sort(date);
0635デフォルトの名無しさん
2005/11/14(月) 07:52:55【 課題 】キーボードから入力された英文を単語に分解するプログラムを作成せよ。
たとえば、 This is a pen
と入力されたら This,is,a,pen の4単語に分解する。
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】今日提出
【 Ver 】希望するJavaバージョンがあれば書きます(1.5 とか 1.4以前とか)
【 補足 】何かヒントのようなものをいただけたら幸いです(;_;)
よろしくお願いします。
0636デフォルトの名無しさん
2005/11/14(月) 08:27:000637デフォルトの名無しさん
2005/11/14(月) 11:16:43ttp://www.geocities.jp/java_homework2006/cellphone.txt
【 課題 】ttp://www.geocities.jp/java_homework2006/main_class.txt
ttp://www.geocities.jp/java_homework2006/cellphone.txt
(1) これらのソースをtoStringメソッドを使って出力(print)するオブジェクトに書き換えなさい。
(2) equalメソッドを使って、(最低)二つのオブジェクトを比較しなさい。
【 用語 】
【 期限 】11/16
【 Ver 】1.5
【 補足 】出力結果が二つ表示されるように作れ との事です。
よろしくお願いします。
0638デフォルトの名無しさん
2005/11/14(月) 13:28:39次に、入力された値が「###−####」または、「###」であるか検証します。
(#は0〜9までの数字とします。)
表示結果
>java CodeCheck 999−9999
True
>java CodeCheck 999
True
>java CodeCheck 99
False
>
【 期限 】15日 正午
【 Ver 】1.5
【 補足 】丸投げで申し訳ないです。
booleanを使う。郵便番号の問題だと思います。
なにとぞよろしくお願いいたします。
0639デフォルトの名無しさん
2005/11/14(月) 15:11:47コンパイルは成功するんですが出力されません。
だれかこの謎を解いてください…。
0640デフォルトの名無しさん
2005/11/14(月) 15:13:48数値は引数で一つ与える。
どなたかこれお願いします…。
0641デフォルトの名無しさん
2005/11/14(月) 15:22:28// 文字列動的配列クラス:StrArray.java
// 最下行に要素を追加
public void add(String data){}
// 指定インデックスの要素を上書き(指定インデックスが無い場合エラー)
public void set(int index, String data){}
// 指定インデックスの要素を取得(指定インデックスが無い場合エラー)
public String get(int index){}
// 全ての要素をクリア
public void clear(){}
//実行サンプルクラス: Exec.java
// 以下の処理をクラスStrArrayを使用して実行すること。
"aaa" を追加
"bbb" を追加
"ccc" を追加
3個の要素を取得して表示
すべてクリア
"ee001"〜"ee100" の100個追加
50番目の要素を取得して表示
【 期限 】11/14
【 ver 】 1.4
【 補足 】StrArray.javaに何を記入すればいいのかがわかりません。
java.util.Vectorをimportすれば、StrArray.javaは必要無いと思うのですが、
あえて、StrArray.javaを利用(継承?)させようとするとき、どうすればいいのでしょうか。
よろしくお願いします。
0642637
2005/11/14(月) 15:23:32toStringの出力方法だと全部をまとめられないのですが、どのように一つにまとめて出力するのでしょうか?
0643デフォルトの名無しさん
2005/11/14(月) 15:28:400644デフォルトの名無しさん
2005/11/14(月) 18:47:19このデータを使って最大値、最小値、合計、平均を求めるプログラムを
つくりなさい。
どなたかおねがいします…。
0645デフォルトの名無しさん
2005/11/14(月) 19:34:33int[] data = {43,23,1,42,2,56,73};
これ、どなたかお願いできますか?
0646デフォルトの名無しさん
2005/11/14(月) 20:17:51public class Main {
public static void main(String[] args) {
System.out.println(codeCheck(args[0]));
}
public static boolean codeCheck(String str) {
return str.matches("\\d{3}(?:-\\d{4})?");
}
}
入力無いとArrayIndexOutOfBoundsException
引数あるかどうかのチェックは自分で入れてね
0647646
2005/11/14(月) 20:22:02public class Q640 {
public static void main(String[] args) {
int num = Integer.valueOf(args[0]);
for(int i=0; i<num; i++) System.out.println("*");
}
}
>>638
クラス名適当に作ってたときのでした。
CodeCheckに直してください。
0648デフォルトの名無しさん
2005/11/14(月) 20:26:43public class Q644 {
public static void main(String[] args) {
int[] data = {10,11,12,50,4,3,2,1};
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
int total = 0;
for(int i : data) {
total += i;
if (max < i) max = i;
if (min > i) min = i;
}
System.out.println("最大値: "+max);
System.out.println("最小値: "+min);
System.out.println("合計: "+total);
System.out.println("平均: "+(float) total / data.length);
}
}
0649デフォルトの名無しさん
2005/11/14(月) 20:29:01import java.util.Arrays;
class Q645 {
public static void main(String[] args) {
int[] data = {43,23,1,42,2,56,73};
Arrays.sort(data);
System.out.println(Arrays.toString(data));
}
}
0650デフォルトの名無しさん
2005/11/14(月) 21:48:09このメモ帳にコピーと貼り付けの機能を付加せよ。
明日まで。よろしくです。
0651デフォルトの名無しさん
2005/11/14(月) 22:44:57http://kasamatusan.sakura.ne.jp/cgi-bin2/src/ichi16021.zip.html
0652デフォルトの名無しさん
2005/11/14(月) 22:54:53ありがとうございます。
でもなんか文字化けしていました;
0653デフォルトの名無しさん
2005/11/14(月) 22:56:34UTF8です
0654デフォルトの名無しさん
2005/11/14(月) 23:22:16下のようなエラーがでてしまうのですが・・
TextEditor.java:45: シンボルを見つけられません。
シンボル: クラス PopupMenuListener
場所 : TextEditor の クラス
popup.add(paste); ta.setComponentPopupMenu(popup);
popup.addPopupMenuListener(new PopupMenuListener() {
^
注: TextEditor.java は推奨されない API を使用またはオーバーライドしています。
注: 詳細については、-Xlint:deprecation オプションを指定して再コンパイルしてくだ
さい。
エラー 1 個
0655651
2005/11/14(月) 23:33:27Java2SE5.0 使ってますから…
前提条件でJavaのバージョンを書いていない君がわるい…
ということで後はがんばってください。
0656デフォルトの名無しさん
2005/11/14(月) 23:37:21わかりました。
0657デフォルトの名無しさん
2005/11/14(月) 23:56:27public static void main(String[] args) {
new TextEditor("TextEditor").setVisible(true);
}
0658デフォルトの名無しさん
2005/11/15(火) 00:23:16ありがとうございます。
注意のほうが消えました。
できればどなたか、jdk1.5.0_05用でコピー、貼り付けなどの
機能を付加してください。よろしくお願いします。。。
0660デフォルトの名無しさん
2005/11/15(火) 00:58:15・画面上に5x5程度のマス目を表示する.
・乱数を使って,マス目のいくつかに地雷を埋めておく.この地雷は表示されない.
・マス目がクリックされたら,次の処理を行う.
・そこに地雷があればゲームオーバーです.何かメッセージを表示してください.
・地雷がなければ,クリックされたマスの周囲のマス(8個)に隠れている地雷の数を数えて,
そのマスの上に表示する.プレイヤーはそれをヒントに地雷の場所を推測することになる.
・地雷以外の場所を全てクリックできたら「成功」です.何かメッセージを表示してください.
・アプレットの回りに簡単な遊び方を記述すること(HTMLで).
【 期限 】来週の火曜日(22日)夕刻。
【 補足 】丸投げで申し訳ないですがよろしくお願いします。
それと解答してくださる方々に質問があります。
どのような勉強をすればある程度難しめのプログラミングでも
できるようになれるのですか?
0661デフォルトの名無しさん
2005/11/15(火) 00:59:39はい、
public static void main(String[] args) {
new TextEditor("TextEditor").show();
}
を657さんのにしたら、注意が消えました。
で651さんの文字化けした文字を直して実行してもやはり文字化けしてしまいます
エラーもえりますし。。
0662デフォルトの名無しさん
2005/11/15(火) 01:15:06文字コードの変更の仕方わかる?
0663637
2005/11/15(火) 09:31:00その、toStringで出力した文と、ソースの上の方でif文で出力した文を
equalメソッドを使って、比較をしたいのですが、どのように書けば
これらの文を比較する事が出来るのでしょうか?
ソースです。
メイン:http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26280
計算部:http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26279
0664デフォルトの名無しさん
2005/11/15(火) 10:13:16の問題で文字列操作で判定するとどうなるんですか??
>646さんが書いてるのは正規表現での判定ですよね??
だれか教えてください。。
0665デフォルトの名無しさん
2005/11/15(火) 11:18:39回答例その一「正規表現も文字列操作ですが何か?」
回答例その二
class CodeCheck{
public static void main(String[] args){
System.out.println(check(arg[0]));
}
private boolean check(String value){
if(value.length() == 3){
try{
Integer.valueOf(value);
}catch(NumberFormatException nfe){
return false;
}
return true;
}else if(value.length() == 8){
try{
Integer.valueOf(value.substring(0, 3));
Integer.valueOf(value.substring(4, 8));
}catch(NumberFormatException nfe){
return false;
}
return (value.substring(3, 4)).equals("-") ? true : false;
}else{
return false;
}
}
}
動作確認はしてない。
0666デフォルトの名無しさん
2005/11/15(火) 12:07:43それじゃ -00--000 でもtrueになるんじゃない?
あと気になったのが args[0]がarg[0]になってる、checkメソッドがstaticじゃない、 ? true : falseは不必要。
class CodeCheck {
public static void main(String[] args) {
System.out.println(check(args[0]));
}
private static boolean check(String value) {
if (value.length() != 3 && value.length() != 8) return false;
for(int i=0; i<value.length(); i++)
if (i == 3 ? value.charAt(i) != '-' : (value.charAt(i) < '0' || value.charAt(i) > '9')) return false;
return true;
}
}
動作確認はほとんどしてない。
0667デフォルトの名無しさん
2005/11/16(水) 11:48:23答えられる猛者がいないみたいなんでここは俺の出番だな。
そのtoStringだと、レギュラープランで1分しか使用しなかった場合、
¢20しか請求されない事になる。
そのソースを書き換え+equal methodを加えた物。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26288
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26289
0668デフォルトの名無しさん
2005/11/16(水) 15:47:20class Account {private int balance = 0;
/*synchronized*/ void deposit(int amount) {int x = balance;
for(int i=0; i<1000; i++); // 処理時間を延ばす
balance = x + amount;}
int getBalance() {
return balance;}}
class Customer extends Thread {
Account account;
Customer(Account account) {
this.account = account;}
public void run() {try {
for(int i=0; i<1000; i++) {
account.deposit(1);}
} catch(Exception e) {e.printStackTrace();}}}
public class BankDemo {
private final static int NUMCUSTOMERS = 10;
public static void main(String args[]) {
Account account = new Account();
Customer customers[] = new Customer[NUMCUSTOMERS];
for(int i=0; i<NUMCUSTOMERS; i++) {
customers[i] = new Customer(account);
customers[i].start();}
for(int i=0; i<NUMCUSTOMERS; i++) {
try {customers[i].join();
} catch(Exception e) {e.printStackTrace();}}
System.out.println(account.getBalance());}}
できれば今。よろしくお願いします。
0669デフォルトの名無しさん
2005/11/16(水) 16:02:08import java.util.Calendar;
Calendar calendar = Calendar.getInstance();
int h = calendar.get(Calendar.HOUR);
int m = calendar.get(Calendar.MINUTE);
int s = calendar.get(Calendar.SECOND);
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1099.txt
1.このプログラムをJava言語に書き換えなさい
2.このプログラムは何を計算するプログラムであるか説明しなさい
【 期限 】11月20日
【 補足 】このプログラムがおそらく「素数を小さいほうから(61まで)順に表示させるプログラム」
であることは分かりました。また教授いわく「C++とJavaの”クラス継承”の違いに注意しる」とのことでした。
少しスレ違いなふいんきを感じましたが、こちらで質問させていただきました。
どうかよろしくス
0671668,669
2005/11/16(水) 16:47:270672デフォルトの名無しさん
2005/11/17(木) 02:51:06EX)入力した数が7→
*
***
*****
*******
*********
***********
*************
【期限】11月29日
【Ver】1.5
【補足】for文の使用をお願いします
私の力ではどうしても期限に間に合いそうに合いそうにないので、申し訳ありませんがお願いします
後でやってみたいと思っていますので初心者程度でもわかるソースで書いて頂けたら助かります。
よろしくお願い致します。
0673デフォルトの名無しさん
2005/11/17(木) 02:52:55三段目の*が貼り付けした為ズレています、申し訳ありません。
全て中央揃えとなります
よろしくお願いします
0674デフォルトの名無しさん
2005/11/17(木) 03:20:47public class Q672 {
public static void main(String[] プログラムの引数) {
int 入力した段数 = Integer.parseInt(プログラムの引数[0]);
for (int 現在の段数 = 0; 現在の段数 < 入力した段数; 現在の段数++) {
for (int 空白の数 = 入力した段数 - 現在の段数 - 1; 空白の数 > 0; 空白の数--) System.out.print(" ");
for (int 星の数 = 現在の段数 * 2 + 1; 星の数 > 0; 星の数--) System.out.print("*");
System.out.println();
}
}
}
なんとなく日本語で
全角が良ければSystem.out.println(" ")とSystem.out.println("*")の所を書き換えてください。
0675デフォルトの名無しさん
2005/11/17(木) 13:24:13調べたのですがわかりません。
>>626を例として教えてください。
よろしくお願いします。
0676デフォルトの名無しさん
2005/11/17(木) 16:38:34ソートしてから別の配列に逆順コピー
0677デフォルトの名無しさん
2005/11/17(木) 17:02:09//Step8.java
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
import java.text.*;
public class Step8 extends JFrame implements ActionListener{
int size = 256, level = 256, max_hindo;
int[] histo = new int[level];
Image img;
JLabel l;
public static void main(String[] args){
JFrame f = new Step8();
f.setVisible(true);
}
06782
2005/11/17(木) 17:02:33setTitle("統計量を求める");
setBounds(10, 10, 600, 450);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar mb = new JMenuBar();
JMenu m = new JMenu("ファイル");
JMenuItem mi = mi = new JMenuItem("開く");
mi.addActionListener(this);
m.add(mi);
mi = new JMenuItem("終了");
mi.addActionListener(this);
m.add(mi);
mb.add(m);
setJMenuBar(mb);
ImagePanel p = new ImagePanel();
l = new JLabel("");
p.add(l);
getContentPane().add(p);
}
06793
2005/11/17(木) 17:03:11class ImagePanel extends JPanel{
public void paintComponent (Graphics g){
super.paintComponent(g);
if (img != null){
g.drawImage(img, 25, 65, 25+size, 65+size, 0, 0, size, size, this);
drawHistogram(g);
}
}
}
public void drawHistogram(Graphics g){
for (int i = 0; i < level; i++)
g.drawLine(310+ i, 321, 310 +i, 321 - histo[i] * size / max_hindo);
g.drawRect(309,329, 257, 12);
for(int i = 0; i < level; i++){
g.setColor(new Color(i, i, i));
g.drawLine(310 + i, 330, 310 + i, 340);
}
}
06804
2005/11/17(木) 17:03:39PixelGrabber pg = new PixelGrabber(img, 0, 0, size, size, true);
try{
if(pg.grabPixels()){
int[] op= (int[])pg.getPixels();
for (int i = 0; i < level; i++) histo[i] = 0;
int number = size * size;
int center = number / 2; // 中央値
double mean = 0.0, xx=0.0; // 平均値
for (int i = 0; i < number; i++){
int x = op[i] & 0xff;
histo[x]++;
mean += x;
xx += x*x;
}
mean /= number;
double var = xx / number - mean * mean; // 平均値を出す
max_hindo = 0; // hindoの最大値を出す
int min =-1, max = -1, median = -1, mode = -1;
for (int i = 0, ruikei = 0; i < level; i++){
ruikei += histo[i];
if (median == -1 && ruikei > center) median=i;
if (histo[i] > max_hindo){
max_hindo = histo[i];
mode = i;
}
06815
2005/11/17(木) 17:04:25// 最大値の式
}
DecimalFormat df = new DecimalFormat("0.00");
l.setText("最小値:" +min+ " 最大値:" +max+ " 平均値:" +df.format(mean)+ " 標準偏差:" +df.format(Math.sqrt(var))+ " 中央値:" +median+ " 最頻値:" +mode);
}
}catch (InterruptedException ie){}
}
06826
2005/11/17(木) 17:09:32String menu = ae.getActionCommand();
if (menu.equals("開く")){
JFileChooser fc = new JFileChooser();
int fd = fc.showOpenDialog(this);
if (fd == JFileChooser.APPROVE_OPTION) {
img = new ImageIcon(fc.getSelectedFile().getPath()).getImage();
count();
repaint();
}
}
else if (menu.equals("終了")) System.exit(0);
}
}
>>681の1,2行目で値を求めるみたいですが上手くいきません
期限は来週の月曜までです、お願いします
0683デフォルトの名無しさん
2005/11/17(木) 17:33:28import java.io.*;
public class shukudai {
public static void main(String[] args) throws IOException{
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print("段数? : ");
int a=Integer.parseInt(buf.readLine()); //段数入力
for(int i=0,k=0;i<a;i++){ //iが入力した段数より小さい間繰り返し
for(int j=a-i;j>0;j--){ //入力した段数から繰り返し回数iを引くことでスペースの数jを算出
System.out.print(" "); //上記で出た数だけ繰り返し
}
for(k=1+i*2;k>0;k--){ //最初"*"が1つから2の倍数ごとに表示数が増えていく
System.out.print("*");
}
System.out.println(); //両方表示したら改行
}
}
}
0684デフォルトの名無しさん
2005/11/17(木) 17:43:52>>626の内容を読むのが面倒なんで、最初から配列に適当に数入れてある所から始めるぞ。
public class play001 {
public static void main(String[] args){
int[] a={4,7,2,9,12,3,8,1,5}; //要素数9つで適当に数字入れる
for(int i=0;i<a.length;i++){ //a[i]を固定してa[j]と比べていく事でa[i]に最大値を入れていく
for(int j=i+1;j<a.length;j++){ //jはiより+1した要素から比べていく
if(a[i]<a[j]){
int koukan=a[i]; //交換するための変数を一つ取ってa[i]よりa[j]が大きい場合、位置交換
a[i]=a[j];
a[j]=koukan;
}
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
0685デフォルトの名無しさん
2005/11/17(木) 23:09:25以下の配列のすべての要素の合計を表示するプログラムを作成せよ。
全ての要素を巡回し参照するのに、多重ループを利用せよ。
int[][] map = {{0,8,7,8,5,4,7,3,7,9},
{5,6,9,5,0,3,2,4,3,5},
{9,1,8,6,5,5,2,7,1,8},
{7,6,2,2,6,9,6,3,5,9},
{7,1,2,7,9,5,7,1,5,9},
{8,6,6,2,4,7,9,8,1,1},
{6,6,2,0,7,8,2,2,4,1},
{8,9,8,7,1,3,8,8,8,1},
{7,0,1,8,1,9,0,7,2,0},
{9,1,8,7,7,5,7,0,8,6}};
動作例)
$ java OKadai110701
要素の合計は 504
$
【期限】
11月21日
【Ver】
1.4
【補足】
丸投げです。
よろしくお願いします。
0686デフォルトの名無しさん
2005/11/17(木) 23:26:49public class OKadai110701 {
public staic void main(String[] args) {
int[][] map = {{0,8,7,8,5,4,7,3,7,9},
{5,6,9,5,0,3,2,4,3,5},
{9,1,8,6,5,5,2,7,1,8},
{7,6,2,2,6,9,6,3,5,9},
{7,1,2,7,9,5,7,1,5,9},
{8,6,6,2,4,7,9,8,1,1},
{6,6,2,0,7,8,2,2,4,1},
{8,9,8,7,1,3,8,8,8,1},
{7,0,1,8,1,9,0,7,2,0},
{9,1,8,7,7,5,7,0,8,6}};
int sum = 0;
for(int i=0; i<map.length; i++) {
for(int j=0; j<map[i].length; j++) {
sum += map[i][j];
}
}
System.out.println("要素の合計は "+sum);
}
}
動作確認はしてません。
0688デフォルトの名無しさん
2005/11/18(金) 10:26:41FOR文をどうやっていじったらよいのですか?
どなたかよろしくお願いします。
早めの返答お願いします。
0689デフォルトの名無しさん
2005/11/18(金) 10:49:52>>674のfor文を逆に書いて
ピラミッド
逆ピラミッド
で、ひし形になる
0690デフォルトの名無しさん
2005/11/18(金) 11:09:39ていうか>>683丁寧にコメント付きでうぷしてくれたんだから
そのくらいの応用は自分で出来ないと・・・。
0691デフォルトの名無しさん
2005/11/18(金) 12:57:10for文とかの程度で掲示板に質問してるアホじゃ無理だと思われ.
このくらいだったら自分でコード書いて実行を繰り返したほうが
回答待つより早いぞ.
0692デフォルトの名無しさん
2005/11/18(金) 14:48:18683だけど。
単純に同じ数値の倍の段数のひし形出すならそう難しくはないけど、
指定した段数のひし形を作ろうとするなら若干面倒臭い。
いくつかif文での指定が必要になると思う。
0693683
2005/11/18(金) 15:45:00public class Hishigata {
public static void main(String[] args) throws IOException{
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
int a,i,j,k,x=0;
System.out.print("段数? : ");
a=Integer.parseInt(buf.readLine());
if(a%2==1){
a++;
x=1;
}
for(i=0,k=0;i<a/2-x;i++){
for(j=a/2-i-1;j>0;j--){
System.out.print(" ");
}
for(k=1+i*2;k>0;k--){
System.out.print("*");
}
System.out.println();
}
for(i=0,k=0;i<a/2;i++){
for(j=i;j>0;j--){
System.out.print(" ");
}
for(k=a-i*2-1;k>0;k--){
System.out.print("*");
}
System.out.println();
}
}
}
0694683
2005/11/18(金) 15:48:24偶数の場合は"*"が増える時と減る時の処理回数がx:x同士になるが、奇数だとx:x-1(もしくはx+1:x)になる。
そのために今回の場合は冒頭の方のif文でaを2で割った余りを問う事で偶数か奇数かを判定。
そしてどちらか一方の処理回数をa/2+1にする必要がある(5/2は小数点以下が切り捨てられ2になるため)。
今回の俺のやり方の場合は奇数も偶数もif文によって同じ数になるようにして、
変わりに奇数の場合だけxと言う値に1を入れることで先の処理の回数を1回分減らしている。
後の減っていく処理に関してだが、特に説明はいらないと思う。
for文で変数kに値を入れている所だけ首を傾げるかもしれないが、
要するに今回の場合は"*"が一番多く表示される回数がa-1と言う状態だったので、
そこからi*2で回数を減らしていっただけ。
本当はaにどんな数値を入れても表示出来るもっと実用的なタイプで作ることも出来るのだが、
そっちの方は興味を持ったら自分で考えてくれ。
0696デフォルトの名無しさん
2005/11/19(土) 12:48:43SELECT Course_ID, Student_ID, MAX(Grades) FROM Registration GROUP BY Course_ID;
実行結果
% java -classpath .;./ConnectorJ.jar Select
Connected to MySQL Server.
Course_ID = A01, Student_ID = S001, MAX(Grades) = 78
Course_ID = F01, Student_ID = S002, MAX(Grades) = 90
Course_ID = F11, Student_ID = S002, MAX(Grades) = 95
Course_ID = F12, Student_ID = S002, MAX(Grades) = 90
Course_ID = F21, Student_ID = S003, MAX(Grades) = 95
Course_ID = F22, Student_ID = S003, MAX(Grades) = 92
Course_ID = F31, Student_ID = S001, MAX(Grades) = 95
7 rows were returned.
Disconnected from MySQL Server.
どなたかお願いします。
0697デフォルトの名無しさん
2005/11/19(土) 13:18:00Connector for J使わないとダメ?
0698デフォルトの名無しさん
2005/11/19(土) 13:37:26import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Select {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection cn = DriverManager.getConnection("jdbc:mysql://localhost/Exercise", "root", "pass");
Statement st = cn.createStatement();
System.out.println("Connected to MySQL Server.");
ResultSet rs = st.executeQuery("SELECT Course_ID, Student_ID, MAX(Grades) FROM Registration GROUP BY Course_ID");
int rows=0;
while (rs.next()) {
System.out.println("Course_ID = " + rs.getString(1) +", Student_ID = "+rs.getString(2)+", MAX(Grades) = "+rs.getString(3));
rows++;
}
System.out.println("" + rows + " rows were returned.");
rs.clearWarnings();
st.close();
cn.close();
System.out.println("Disconnected from MySQL Server.");
}
}
0699698
2005/11/19(土) 13:39:16接続ユーザーは"root"、パスワードは"pass"って事にしてあるので環境に合わせて変えてくれ
0700デフォルトの名無しさん
2005/11/19(土) 21:32:59この配列には、Javaプログラム実行時の引数(コマンド引数)が文字列として格納されている。
コマンド引数を表示するプログラム
public class Kadai001 {
public static void main(String[] args){
for(int i=0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}
例題を参考に、コマンド引数を入力した順番と逆の順に表示するプログラムを作成せよ。
実行例
$ java OKadai110702 astronaut boxer captain
captain
boxer
astronaut
$
【期限】 11月21日
【Ver】 1.4
【補足】
丸投げです。
よろしくお願いします。
0701デフォルトの名無しさん
2005/11/19(土) 22:47:13public static void main(String[] args){
for(int i = args.length-1 ; i >= 0 ; i--) {
System.out.println(args[i]);
}
}
}
この業界にはこないでね(ハアト
0703デフォルトの名無しさん
2005/11/20(日) 02:38:47孤立しているな このやり方
0704デフォルトの名無しさん
2005/11/20(日) 14:16:32条件
問題を提示し、その答えをチェックボックスを用いて選択する。
決定ボタンを作成し、答えを決定するようにする。
答えが正解の場合は、「正解」の表示を、間違っていた場合、
「不正解」とともに、解説の表示を入れること。
問題を答えた後、「次へ」のボタンを出現、次の問題を表示
させるようにする。
問題は計20問で終了するようにしなさい。
【 期限 】11月22日
【 Ver 】eclipse SDK 3.1.1 j2SDK1.4.2
【 補足 】とにかく、問題をランダムに20問表示させるプログラム
を組むことが出来ているかを評価の対象とする。
大学の授業で興味半分にプログラミングの授業を選んだ愚
か者です。まったく分からずお手上げ状態です。まことに
申し訳在りませんが、力を貸してください。
卒業かかってるんで…お願いします!!
0705デフォルトの名無しさん
2005/11/20(日) 16:25:290706デフォルトの名無しさん
2005/11/20(日) 16:25:520707デフォルトの名無しさん
2005/11/20(日) 23:44:47String msg;
ThreadX(String x) {msg = x;}
public void run() {
for (int i=0; i<100; i++) {
System.out.print(msg);
}
}
}
public class ThreadDemo {
public static void main(String args[]) {
Thread th1 = new ThreadX("a");
Thread th2 = new ThreadX("b");
th1.start(); th2.start();
try {th1.join(); th2.join();}
catch (Exception e) {e.printStackTrace();}
}
}
の「aとbが混ざるまでの繰り返し回数を調べる」とはどういうことでしょうか?
実行するたびに実行結果が変わるのですが。
0708Java初心者
2005/11/20(日) 23:54:46・JFrameのサブクラスを作成しそのコンテントペインに前回作成したパネルを
載せること。
・ウインドウ上部の×印をクリックウインドウを閉じたときにプログラムが終
了するようにウインドウリスナーを登録せよ。リスナーは匿名内部クラスにす
ること。
・メニューバーを実装し、「ファイル」→「終了」を選択するとプログラムが
終了するように。「ヘルプ」→「バージョン情報」を選択するとメッセージダ
イアログが表示されるように。「終了」と「バージョン情報」について、それ
ぞれキーボード入力Ctrl+xとCtrl+Shift+vでも実行されるようにし。なおか
つリスナークラスを独立したクラスにしなさい。
・さらに全てのリスナークラスを適切と思われるクラスの内部クラスにせよ。
・グラフ描画パネル上でマウスを左クリックすると定義域が半分に(描画が横方向に拡大)なり、右クリックすると定義域が2倍に(描画横方向に縮小)なるようにせよ。最小値は固定したままとする。
・javax.swing.Timerが一定感覚で起すアクションイベント利用してグラフを一定速度動かせ
【 期限 】11月21日
【 補足 】途中までは自力でやったのですが、どうにもなりませんでした。
丸投げしたいのですが、ソレをすると自分で理解ができないと思うのです。
わがままかも知れませんが自分の作ったプログラムを改良していただきたいです。
0709708
2005/11/20(日) 23:56:01import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class sample11 extends JFrame {
sample11() {
sample g1 = new sample();
MenuExit exit = new MenuExit();
MenuBar menuBar = new MenuBar(exit);
setJMenuBar(menuBar);
Container pane = getContentPane();
pane.setLayout(new BoxLayout(pane,BoxLayout.Y_AXIS));
pane.add(g1);
pack();
setVisible(true);
}
public static void main(String[]args) {
sample11 frame = new sample11();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){System.exit(0);}
});
frame.setTitle("sample11"); }}
class MenuExit implements ActionListener{
MenuBar menu1;
MenuExit() {
menu1 = new MenuBar(this);
}
0710708
2005/11/21(月) 00:01:40String str = e.getActionCommand();
if(str.compareTo("I1") == 0){
System.exit(0);
}
else if(str.compareTo("I2") == 0){
JOptionPane.showMessageDialog(null,"Ex8B_2"+"\n"+"produced by Taichi Mototani"+"\n"+"version 1.0.0","
了解",JOptionPane.INFORMATION_MESSAGE);
}}}
class MenuBar extends JMenuBar{
MenuBar(ActionListener listener)
{
JMenu menu1 = new JMenu("ファイル");
JMenu menu2 = new JMenu("ヘルプ");
JMenuItem item1 = new JMenuItem("終了(Ctrl+x)");
JMenuItem item2 = new JMenuItem("バージョン情報(Ctrl+Shift+v)");
item1.setActionCommand("I1");
item2.setActionCommand("I2");
item1.addActionListener(listener);
item2.addActionListener(listener);
item1.setAccelerator(KeyStroke.getKeyStroke("ctrl X"));
item2.setAccelerator(KeyStroke.getKeyStroke("ctrl shift V"));
add(menu1);
add(menu2);
menu1.add(item1);
menu2.add(item2);
}}
0711708
2005/11/21(月) 00:07:53ながすぎるので、こちらに。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26306
0712デフォルトの名無しさん
2005/11/21(月) 18:13:20それらの数値の平均、分散、標準偏差を計算せよ。
データファイル
(a)1行に1つの数値の場合
(b)1行に5つの数値がスペースで区切られている場合
(c)1行に不定個の数値がスペースで区切られている場合
について考えよ。
ファイルを読み込むには、ファイルの名前が"FileName"であれば、
FileInputStream file = new FileInputStream( "FileName" );
によってFileInputStreamクラスのオブジェクトを作成する。
【 用語 】数値の個数をn、数値をΧi、i=0,1,....,n-1、それらの平均をжとする時、
分散�u=(Χ0-ж)^2 + (Χ1-ж)^2 +…+ (Χn-1−ж)^2 / (n-1)
=買エi^2 - nж^2 / (n-1)
標準偏差は、分散を�uで表すと、mです。つまり標準偏差の2乗が分散です。
【 期限 】11月24日(木)
【 Ver 】希望なし
【 補足 】自分なりに作ってみたのですが、できません。
丸投げします。すみませんがよろしくお願いします。
なをプログラムを書く際の(a)(b)(c)の違いが良く分かりません。
よろしくお願いします。
0713すいません。
2005/11/21(月) 18:23:25102(8進数)=66(10進数)=Bの流れで変換したいのですが・・・
投げかけですいません。
0714デフォルトの名無しさん
2005/11/21(月) 18:32:20たとえば、
This is a pen
と入力されたら
This,is,a,pen
の4単語に分解する。
【 用語 】なし
【 期限 】11/23(水)
【 Ver 】なし
【 補足 】なし
丸投げですがよろしくお願いします!!
0715デフォルトの名無しさん
2005/11/21(月) 18:54:03手抜き
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Scanner.html
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/String.html#split(java.lang.String)
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Arrays.html#toString(java.lang.Object[])
import java.util.*;
public class Q714 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true) {
// 一行読み込み
String line = scanner.next();
// 非単語文字で分割
String[] words = line.split("\\W");
// 表示
System.out.println(Arrays.toString(words));
}
}
}
0716超初心者
2005/11/21(月) 20:13:51用語なし
期限は明日まで。
補足:windowsでlcc-win32っていうコンパイラ使ってます。chinou.3をインクルードしてCprint(x,y,文字列);っていうのを使うみたいなんですけど、お願いします!!
0717デフォルトの名無しさん
2005/11/21(月) 21:31:38C/C++の宿題を片付けます 53代目
http://pc8.2ch.net/test/read.cgi/tech/1132102992/
0718デフォルトの名無しさん
2005/11/22(火) 00:06:43生年月日と計算したい年月を入力し
身体、感情、知性のバイオリズム数値を計算し
グラフを表示させよ。
【 用語 】
身体のリズムは23日サイクル
感情のリズムは28日サイクル
知性のリズムは33日サイクル
西暦への変換は
昭和年号+1925
平成年号+1988
を用いる。
【 期限 】
11/22 11:00
【 Ver 】
1,4
【 補足 】
プログラミングにおける構成や全体のフローチャートおよび説明を
必ず書けとのことですのでよろしくお願いします。
0719デフォルトの名無しさん
2005/11/22(火) 11:59:25Math.roundを使わずに四捨五入する。
【 期限 】11月23日朝
【 Ver 】1.5
【 補足 】ごめんなさい、丸投げです。よろしくお願いいたします。
0720デフォルトの名無しさん
2005/11/22(火) 12:02:12課題
掛け算の機能を追加せよ。
整数の割り算の機能を追加し,窓を追加して余りも表示せよ。
余りの表示は,割り算のときだけにし,他の計算のときは,何も表示しないようにせよ。
割り算のとき,0で割ろうとしたらエラーを表示せよ。
クリアボタンを追加し,入力が両方とも0になるようにせよ。
init()の中で,入力を両方とも0にセットせよ。
中級編
0〜9の文字ボタンを用意し,それを押すと数値を入力する窓のどちらかに数字をセットできるようにせよ。できれば,電卓のように,数値を押すたびに右側に数値が付け加えられていくとよい。
お願いします。
0721デフォルトの名無しさん
2005/11/22(火) 12:31:45public class sample{
public static void main(String[] args){
double d = Double.parseDouble(args[0]);
d *= 10;
d = (int)(d + 0.5);
d /= 10;
System.out.println( d );
}
}
こんなんでいいの?
0722デフォルトの名無しさん
2005/11/22(火) 14:08:22ちょっち長いけど。さらにまだまだ勉強不足だけど。
import java.applet.*;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;
import java.awt.Button;
import java.awt.event.*;
import java.lang.String;
public class Homework extends Applet implements ActionListener {
private Label lab1 = new Label("電卓");
private TextField box1 = new TextField(4);
private TextField box2 = new TextField(4);
private Button plus = new Button("+");
private Button minus = new Button("-");
private Button multiply = new Button("*");
private Button divide = new Button("/");
private Label lab2 = new Label("=");
private TextField box3 = new TextField(8);
private Label lab3 = new Label("r");
private TextField remainder = new TextField(8);
private Button[] number = new Button[10];
private Button clear = new Button("clear");
0723722
2005/11/22(火) 14:08:48public void init(){
add(lab1);
add(box1);
add(box2);
add(plus);
add(minus);
add(multiply);
add(divide);
add(lab2);
add(box3);
add(lab3);
add(remainder);
for(int i = 0; i < 10; i++){
number[i] = new Button(""+i);
add(number[i]);
number[i].addActionListener(this);
}
add(clear);
plus.addActionListener(this);
minus.addActionListener(this);
multiply.addActionListener(this);
divide.addActionListener(this);
clear.addActionListener(this);
box1.setText("0");
box2.setText("0");
}
public void paint(Graphics g){ //今回はお休み
}
0724722
2005/11/22(火) 14:09:38int i;
try{
i = Integer.parseInt(e.getActionCommand());
box1.setText(box1.getText() + i);
}catch(NumberFormatException e1){
if(e.getActionCommand().equals("clear")){
box1.setText("0");
box2.setText("0");
box3.setText("");
remainder.setText("");
}
else{
String s1, s2, s;
int a, b, c;
int d = 0;
s1 = box1.getText(); //文字の読み取り。
s2 = box2.getText();
a = Integer.parseInt(s1); //文字を整数に変換
b = Integer.parseInt(s2);
remainder.setText("");
if(e.getActionCommand().equals("+")){
c = a + b;
s = Integer.toString(c);
}
else if(e.getActionCommand().equals("-")){
c = a - b;
s = Integer.toString(c);
}
0725722
2005/11/22(火) 14:10:28c = a * b;
s = Integer.toString(c);
}
else{
if(b != 0){
c = a / b;
d = a % b;
remainder.setText("" + d);
s = Integer.toString(c);
}else{
s = "error";
}
}
box3.setText(s);
}
}
}
}
こんなもんかな。
まぁ、勉強不足なんでどうなのかはシラネ。
0726デフォルトの名無しさん
2005/11/22(火) 14:26:44どうもありがとうございました
0727デフォルトの名無しさん
2005/11/22(火) 15:48:36皆が自分の質問にだけ答えているわけじゃないので。
0728デフォルトの名無しさん
2005/11/22(火) 23:20:55画像ファイルの形式は一般的なものならばOK。
【 用語 】特になし
【 期限 】11/24日の朝までに
【 Ver 】1.5
【 補足 】初心者スレで聞くか迷ったのですが、宿題なのでこちらに書かせてもらいました。
0729デフォルトの名無しさん
2005/11/23(水) 01:29:15ほんとに開いてサイズ変更して保存するだけですが。
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Q728 {
public static void main(String[] args) throws Exception {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFileChooser fileChooser = new JFileChooser() {
public boolean accept(File f) { return f.isDirectory() || f.getName().endsWith(".jpg"); }
};
int stat = fileChooser.showOpenDialog(null);
if (stat == JFileChooser.CANCEL_OPTION || stat == JFileChooser.ERROR_OPTION) return;
BufferedImage src = ImageIO.read(fileChooser.getSelectedFile());
double d = Double.parseDouble(JOptionPane.showInputDialog("倍率を入力してください。 (例: 1.5)"));
int w = (int)(src.getWidth() * d);
int h = (int)(src.getHeight() * d);
if (w <= 0 || w > 5000 || h <= 0 || h > 5000) return;
BufferedImage dst = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D g = (Graphics2D) dst.getGraphics();
g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
g.drawImage(src, 0, 0, w, h, null);
stat = fileChooser.showSaveDialog(null);
if (stat == JFileChooser.CANCEL_OPTION || stat == JFileChooser.ERROR_OPTION) return;
ImageIO.write(dst, "jpg", fileChooser.getSelectedFile());
}
}
0730デフォルトの名無しさん
2005/11/23(水) 11:43:17好きな飲み物を聞くだけのプログラムです。デバッグよろしくです。
import java.io.*;
public class Drink{
public static void main(String[] args){
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.println("飲み物は何が好きですか?");
System.out.println("1 オレンジジュース");
System.out.println("2 コーヒー");
System.out.println("3 ミルク");
String line = reader.readLine();
int n = Integer.parseInt(line);
switch(n){
case 1:
System.out.println("オレンジジュースです。");
break;
case 2:
System.out.println("コーヒーです。");
break;
case 3:
System.out.println("ミルクです。");
break;
}
}catch(IOException e){
System.out.println(e);
}catch(NumberFormatException e){
System.out.println("数字の形式が正しくありません。");
}
}
}
0731デフォルトの名無しさん
2005/11/23(水) 12:26:264行目のnewとInputStreamReaderとの間のスペースが全角だった以外は普通に動くんだが。
0732730
2005/11/23(水) 12:36:51ども。なんかデフォルトエンコーディングが悪かったみたい。
Xcode+Terminalなんだけど、Xcodeは日本語EUCでTerminalはSJISだった。
んで、XcodeをSJISにしたら、おkだった。御騒がせしました。
0733デフォルトの名無しさん
2005/11/23(水) 14:11:22を画像ファイル(bmpでもgifでもjpgでもよいのですが)と
してローカルディスクに保存する
【 用語 】特になし
【 期限 】11/25日の朝
【 Ver 】1.5
【 補足 】よろしくお願いします。
0734デフォルトの名無しさん
2005/11/23(水) 14:59:41その中で,名前,学生証番号,所属クラスを引数として与えて, 一人の学生に対応するオブジェクトを生成する構成子を定義しなさい.
また, それらのデータの値を取り出すためのメソッド,getName, getId, getClassName, を定義しなさい.
そのクラス定義を利用して,2名の学生オブジェ クトを生成し,それらのデータを取り出すメインプロ グラムを書いて,動きを確かめなさい.
【 用語 】学生証番号、所属クラス名は英数です。
【 期限 】11月29日の午前
【 Ver 】1.5
【 補足 】特に、「一人の学生に対応するオブジェクトを生成する構成子を定義」というところが分かりません。
よろしくお願いします。
0735デフォルトの名無しさん
2005/11/23(水) 15:08:20手抜きですが。
import java.awt.*;
import java.awt.image.*;
import java.io.*;
public class T53_733 {
public static void main(String[] args) throws IOException {
// 描画
BufferedImage image = new BufferedImage(640, 480, BufferedImage.TYPE_INT_ARGB);
Graphics g = image.getGraphics();
for(int i=0; i<50; i++) {
int x1 = (int)(Math.random()*640);
int y1 = (int)(Math.random()*480);
int x2 = (int)(Math.random()*640);
int y2 = (int)(Math.random()*480);
g.setColor(new Color((int)(Math.random()*0xFFFFFF)));
g.drawLine(x1, y1, x2, y2);
}
// 保存
javax.imageio.ImageIO.write(image, "png", new File("output.png"));
}
}
0736デフォルトの名無しさん
2005/11/23(水) 15:28:17【 期限 】来週月曜
【 Ver 】指定無し
【 補足 】よろしくお願いします。
import java.awt.*;
public class Awt01{
public static void main(String a[]){
MyFrame chko = new MyFrame("The Window Open Only!");
chko.setSize(350,150);
chko.setLocation(100,200);
chko.show();
}
}
class MyFrame extends Frame{
MyFrame(String t){
super(t);
}
}
0737デフォルトの名無しさん
2005/11/23(水) 15:28:41手抜きですが…細かい所は自分で直してください。
> 一人の学生に対応するオブジェクトを生成する構成子を定義
名前、学生証番号、所属クラスを引数としてとるコンストラクタを定義しろって事じゃない?
public class T53_734 {
public static void main(String[] args) {
Student student1 = new Student("山田太郎", "res733", "Java no Shukudai 53");
Student student2 = new Student("鈴木一郎", "res734", "Java no Shukudai 53");
System.out.printf("名前:%s 学生番号:%s クラス名:%s\n", student1.getName(), student1.getId(), student1.getClassName());
System.out.printf("名前:%s 学生番号:%s クラス名:%s\n", student2.getName(), student2.getId(), student2.getClassName());
}
}
class Student {
private String name;
private String id;
private String className;
public Student(String name, String id, String className) {
if (name == null || id == null || className == null) throw new NullPointerException();
if (name.equals("") || !id.matches("\\p{ASCII}+") || !className.matches("\\p{ASCII}+")) throw new IllegalArgumentException();
this.name = name;
this.id = id;
this.className = className;
}
public String getClassName() { return className; }
public String getId() { return id; }
public String getName() { return name; }
}
0738デフォルトの名無しさん
2005/11/23(水) 15:33:34参考にって…オープンするだけのウィンドウってそれでもう出来てない?
0739736
2005/11/23(水) 15:51:190740デフォルトの名無しさん
2005/11/23(水) 15:58:26ん?出来てるよ?
0741デフォルトの名無しさん
2005/11/23(水) 16:33:23class Addition{
static float p1;
static float p2;
static float plus(){
return p1+p2;
}
}
class AdditionMain{
public static void main(String args[]){
Addition.p1=1;
Addition.p2=2;
float answer=Addition.plus();
System.out.println("1+2="+answer);
}
}
↑足し算を実行する関数が、引数を持つように直せ。
【 期限 】今日中
【 補足 】本を読んだりしていますが、引数自体がまだ余り理解出来ていないため丸投げです
よろしくお願いします
0742デフォルトの名無しさん
2005/11/23(水) 16:38:17間違ってたらごめん
class Addition{
static float plus(float p1, float p2){
return p1+p2;
}
}
class AdditionMain{
public static void main(String args[]){
float answer=Addition.plus(1, 2);
System.out.println("1+2="+answer);
}
}
0743デフォルトの名無しさん
2005/11/23(水) 16:38:52class Addition{
static float plus(float p1, float p2){
return p1+p2;
}
}
class AdditionMain{
public static void main(String args[]){
float answer=Addition.plus(1, 2);
System.out.println("1+2="+answer);
}
}
0744デフォルトの名無しさん
2005/11/23(水) 16:40:150745デフォルトの名無しさん
2005/11/23(水) 17:02:21public class sakusaku {
public static void main(String[] args){
TestSub sub = new TestSub();
sub.putName(2);
}
}
class TestSub {
private int no = 0;
private String name = "";
protected void putName( int cnt ){
for(int i = 0 ; i < cnt ; i++) {
no = i;
getName();
System.out.println( name );
}
}
0746デフォルトの名無しさん
2005/11/23(水) 17:02:42switch(no){
case 0:
name = "A";
break;
case 1:
name = "B";
break;
default:
break;
}
return name;
}
}
↑パラメーター、戻り値を使用してフィールド変数を使用しないようにする。
【 期限 】今日中
【 補足 】まだJAVAを理解できておらず丸投げです。よろしくお願いします。
0748デフォルトの名無しさん
2005/11/23(水) 17:41:58ありがとうございます。
それと、アプレットで結果を表示した画像を保存出来ます?
例えば好きな色の画像(IndexColorModelを使用)でコマンドプロンプトで赤と入力したら
アプレットに赤の画像が出て、その画像をローカルディスクに保存したいのですが。
お願いします。
0749デフォルトの名無しさん
2005/11/23(水) 18:38:01----
●こんにちは
上ようなのテキストをhtml化したいです。
コンパイルするとシンボルが解決できませんっていうエラーが・・
おねがいします。
0750749
2005/11/23(水) 18:38:27public static void main(String[] args){
System.out.println("<html><head><title>My page</title></head><body>");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
try{
while((line=reader.readLine()) != null){
char a = line.charAt(0);
if(a=='■'){
System.out.println("<h1>"+"line.substring(1)"+"</h1>");
}else if(a=='●'){
System.out.println("<h2>"+"line.substring(1)"+"</h2>");
}else if(line.equals("----")){
System.out.println("<hr>");
}else if(line.equals("address")){
System.out.println("<a href=\"mailto:[email protected]\">[email protected]</a>");
}else{
System.out.println(line);
}
}
System.out.println("</body></html>");
}catch(IOException e){
System.out.println(e);
}
}
}
0751デフォルトの名無しさん
2005/11/23(水) 18:44:51import java.io.*;
0752751
2005/11/23(水) 18:47:19line.substring(1) は""で括っちゃ駄目よ
0753749
2005/11/23(水) 18:53:03ありがとん!javaを初めて一週間。プログラムって難しいね。
頑張ります。
0754デフォルトの名無しさん
2005/11/23(水) 19:36:42アホなの?
0755デフォルトの名無しさん
2005/11/23(水) 19:45:210756デフォルトの名無しさん
2005/11/23(水) 19:46:080757デフォルトの名無しさん
2005/11/23(水) 19:46:540758デフォルトの名無しさん
2005/11/23(水) 20:10:34【 用語 】なし
【 期限 】11/24(水)
【 Ver 】なし
【 補足 】簡単なプログラムでお願いします!!
丸投げですがよろしくお願いします!!
0759デフォルトの名無しさん
2005/11/23(水) 20:15:48適当…throw new EOFException()じゃだめかな?
import java.io.*;
public class T53_758 {
public static void main(String[] args) throws IOException {
try {
DataInputStream in = new DataInputStream(new ByteArrayInputStream(new byte[0]));
in.readByte();
} catch (EOFException exception) {
exception.printStackTrace();
}
}
}
0760デフォルトの名無しさん
2005/11/23(水) 20:32:51appletviewer test.html
と実行するとき、appletviewerを略してappvと出来るようにしたいのですが、教えてください!
appv test.html
こんな風にする方法です。
0761デフォルトの名無しさん
2005/11/23(水) 20:35:18appletviewerをコピーしてappvにリネーム…使えるかどうか知らんがな
0762デフォルトの名無しさん
2005/11/23(水) 20:53:530763デフォルトの名無しさん
2005/11/23(水) 21:03:50$ ln -s appletviewer appv
0764デフォルトの名無しさん
2005/11/23(水) 21:16:48こんなんでいいかな。
public class sakusaku {
public static void main(String[] args){
TestSub sub = new TestSub();
sub.putName(2);
}
}
class TestSub {
protected void putName( int cnt ){
int no;
for(int i = 0 ; i < cnt ; i++) {
no = i;
String name = getName(no);
System.out.println( name );
}
}
private String getName(int no){
switch(no){
case 0:
return "A";
case 1:
return "B";
default:
return "";
}
}
}
0765デフォルトの名無しさん
2005/11/23(水) 21:20:20出来ないけど。
0766デフォルトの名無しさん
2005/11/23(水) 21:45:54>>デフォルトの名無しさん
>764
764さん、ありがとうございます。このソースみてやっと理解できました。
本当にありがとうございました。
0767764
2005/11/23(水) 21:54:01>766も頑張ってJAVA勉強して、このスレで答えられる側に回ってくださいな。
0768デフォルトの名無しさん
2005/11/23(水) 21:56:35真ん中のnoいらなくね?
0769デフォルトの名無しさん
2005/11/23(水) 22:03:17ああ、確かにいらないorz
そのままgetName(i)ってやればいいな。
正直すまんかった。。。
0770デフォルトの名無しさん
2005/11/23(水) 22:59:55・3行、2列のGridLayoutで、5つのラベルコンポーネントを配置
・表示されるウィンドウの位置は100、200の位置になるようにする
【 用語 】なし
【 期限 】明後日
【 Ver 】なし
【 補足 】○投げですがよろしくお願いします。
0771デフォルトの名無しさん
2005/11/23(水) 23:21:01適当ですが。
import java.awt.*;
import java.io.IOException;
import javax.swing.*;
public class T53_770 extends JFrame {
public static void main(String[] args) throws IOException {
new T53_770();
}
public T53_770() {
super("Java の宿題ここで答えます Part 53");
SwingUtilities.invokeLater(new Runnable() {
public void run() { initgui(); }
});
}
private void initgui() {
Container container = getContentPane();
container.setLayout(new GridLayout(3, 2));
container.add(new JLabel("【 課題 】"));
container.add(new JLabel("【 用語 】"));
container.add(new JLabel("【 期限 】"));
container.add(new JLabel("【 Ver 】"));
container.add(new JLabel("【 補足 】"));
setLocation(100, 200);
pack();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}
0772デフォルトの名無しさん
2005/11/23(水) 23:32:23誰かお願いします。
0773デフォルトの名無しさん
2005/11/23(水) 23:48:40どなたかお願いします。
0774デフォルトの名無しさん
2005/11/23(水) 23:52:51問題の意味わからんから回答が出ないんじゃない?
0775ネス ◆Ness.AmS0A
2005/11/24(木) 00:01:14aとbが混ざるまでの繰り返し回数のカウンタ付ければいいんじゃね?
0776デフォルトの名無しさん
2005/11/24(木) 00:56:43【 期限 】11月29日
【 Ver 】1.5
【 補足 】丸なげで申し訳ありません。
まだ習い始めたばかりの初心者ですので、簡単なソースで作って頂けると幸いです。
どうぞよろしくお願いします。
0777デフォルトの名無しさん
2005/11/24(木) 01:27:54できるだけ簡単にしてみたつもり。
import java.io.*;
public class T53_776 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("数字を2つ入力してください");
int number1 = Integer.parseInt(br.readLine());
int number2 = Integer.parseInt(br.readLine());
System.out.println("最小公倍数は、"+multiple(number1, number2));
System.out.println("最小公約数は、"+divisor(number1, number2));
}
static int multiple(int number1, int number2){
int j = number1;
int k = number2;
while(j != k){
if(j < k)
j += number1;
else
k += number2;
}
return k;
}
0778777
2005/11/24(木) 01:28:18static int divisor(int number1, int number2){
int ans;
while((ans = number1 % number2) != 0){
number1 = number2;
number2 = ans;
}
return number2;
}
}
0779772です。
2005/11/24(木) 02:43:25このプログラムを改良して、Integer.parseInt(br.readLine())で1を入力したら白、2なら赤、3なら青、4なら黄色、5なら黒の2×2の画像をアプレットで表示し、表示された結果をローカルディスクに保存するプログラムを希望します。
import java.applet.*;
import java.awt.*;
import java.awt.image.*;
public class color extends Applet {
Image img;
public void init(){
byte r [] = { 0,(byte)255,(byte)255,0,(byte)255};
byte g [] = { 0,(byte)255,0,0,(byte)255};
byte b [] = { 0,(byte)255,0,(byte)255,0};
IndexColorModel cm = new IndexColorModel(3,5,r,g,b);
int[] pix = {1,1,
1,1};
MemoryImageSource mimg = new MemoryImageSource (2,2,cm,pix,0,2);
img = createImage(mimg);
}
public void paint(Graphics g){
g.drawImage(img,0,0,100,100,this);
}
}
0780デフォルトの名無しさん
2005/11/24(木) 08:32:31Appletってローカルディスクにアクセスできたっけ?
0781デフォルトの名無しさん
2005/11/24(木) 11:54:16その引数(10進数)を3進数で表示する。
【 期限 】25日
【 Ver 】1.5
【 補足 】すみません、丸投げです。
よろしくおねがいします。
0782デフォルトの名無しさん
2005/11/24(木) 12:43:29プログラムを作成してください。ただし、入力した値が0または、
マイナスの値ならその処理を終了してください。
【期限】11月28日
【Ver】指定なし
【補足】While文を使います。
丸投げです。宜しくお願いします。
0783デフォルトの名無しさん
2005/11/24(木) 12:48:15まだ習い始めたばかりの初心者ですので、
簡単なソースで作って頂けると嬉しいです。
宜しくお願いいたします。
0784デフォルトの名無しさん
2005/11/24(木) 14:25:56public static void main(String[] args) {
int num = Integer.parseInt(args[0]);
String numS = "";
while(num>2){
numS =Integer.toString(num%3) + numS;
num /= 3;
}
numS = Integer.toString(num) +numS;
System.out.println(numS);
}
}
0786デフォルトの名無しさん
2005/11/24(木) 15:06:01こんな何の捻りもない初歩も出来ないってお前授業聞いてんのか?
もし授業受けてるのにわからないならやばいぞ。
import java.io.*;
public class 782{
public static void main(String[] args)throws IOException{
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
int sum=0;
while(true){
System.out.print("数値入力:");
int x=Integer.parseInt(buf.readLine());
if(x<=0) break;
System.out.println("合計値:"+(sum+=x));
}
System.out.println("処理終了");
}
}
0787デフォルトの名無しさん
2005/11/24(木) 15:14:16まがってね?
0789デフォルトの名無しさん
2005/11/24(木) 16:23:03どちらにしても簡単だろう。
import java.io.*;
public class play001{
public static void main(String[] args)throws IOException{
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
while(true){
int sum=0;
System.out.print("数値入力:");
int x=Integer.parseInt(buf.readLine());
if(x<=0) break;
for(int i=1;i<=x;i++){
sum+=i;
}
System.out.println("合計値:"+sum);
}
System.out.println("処理終了");
}
}
0790デフォルトの名無しさん
2005/11/24(木) 16:27:39import java.io.*;
public class 782{
public static void main(String[] args)throws IOException{
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
while(true){
int sum=0,i=1;
System.out.print("数値入力:");
int x=Integer.parseInt(buf.readLine());
if(x<=0) break;
while(true){
if(i>x) break;
sum+=i;
i++;
}
System.out.println("合計値:"+sum);
}
System.out.println("処理終了");
}
}
0791728
2005/11/24(木) 18:34:08なんとか提出の方も間に合いました。
本当に有難うございました。
0792779
2005/11/24(木) 21:52:09初心者なので勉強不足でした。ローカルディスクに保存できなくても良いので、
アプレットに表示するプログラムを希望します。
0794782の者です。
2005/11/24(木) 23:17:33ご丁寧にありがとうございます。
いくつかの回答も作って頂いて、本当に参考になります。
本当にありがとうございました。
これからも何かあれば、宜しくお願いします。
0795デフォルトの名無しさん
2005/11/24(木) 23:27:48これらのコンポーネントの配置をレイアウトによって変える方法はわかったのですが、直接各コンポーネントの位置を座標などで指定することはできないのでしょうか?
一応調べてComponentクラスのmoveメソッドなどを見つけて試してみたのですがうまくいきませんでした。
どなたか、教えてください。
0796デフォルトの名無しさん
2005/11/24(木) 23:40:11JFrameとかAppletで、Applet#setLayout(null)にして、
Component#setBounds()使えばいいんジャマイカ?
0797デフォルトの名無しさん
2005/11/24(木) 23:49:25import javax.swing.*;
public class Main {
public static void main(String[] args) {
JFrame frm = new JFrame("Hello GUI World");
frm.setLayout(null); //ここが悪い
frm.setVisible(true);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
java.lang.Error: Do not use javax.swing.JFrame.setLayout() use javax.swing.JFrame.getContentPane().setLayout() instead
at javax.swing.JFrame.createRootPaneException(Unknown Source)
at javax.swing.JFrame.setLayout(Unknown Source)
at main.Main.main(Main.java:21)
Exception in thread "main"
setLayout()でnullを指定したら例外を吐き出されました。何が悪いのでしょうか?
0798795==797
2005/11/24(木) 23:52:55import java.awt.*;
public class Main {
public static void main(String[] args) {
JFrame frm = new JFrame("Hello GUI World");
frm.setBounds(0 , 0 , 400 , 200);
Container contentPane = frm.getContentPane();
contentPane.setLayout(null);
Component but = contentPane.add(new JTextField("Hello World\nIm Hackker"));
but.setBounds(50, 50, 200, 200);
frm.setVisible(true);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
すみません、解決できました。
796さん、ありがとうございました。
0799デフォルトの名無しさん
2005/11/25(金) 00:00:18ごめんごめん。
俺もJFrame分かってなかったわorz
eclipseって3000回言って逝ってくる
0800デフォルトの名無しさん
2005/11/25(金) 02:28:14import java.applet.*;
import java.awt.*;
import java.awt.image.*;
public class color extends Applet {
Image img;
public void init(){
byte r [] = { 0,(byte)255,(byte)255,0,(byte)255};
byte g [] = { 0,(byte)255,0,0,(byte)255};
byte b [] = { 0,(byte)255,0,(byte)255,0};
IndexColorModel cm = new IndexColorModel(3,5,r,g,b);
int[] pix = {1,1,
1,1};
MemoryImageSource mimg = new MemoryImageSource (2,2,cm,pix,0,2);
img = createImage(mimg);
}
public void paint(Graphics g){
g.drawImage(img,0,0,100,100,this);
}
}
誰かお願いします。
0801デフォルトの名無しさん
2005/11/25(金) 13:39:55・長方形を作成するボタンを配置する
・複数の長方形を描けるようにする
・作成した長方形の内部にテキストを書き込めるようにする
・描いた長方形をマウスで選択することで、自由に移動できることができるようにする
・長方形の重なっている部分を選択したときは、一番上の長方形だけが選択されるようにする
【 期限 】27日
【 Ver 】指定なし
【 補足 】丸投げ申し訳ないです・・・。
ボタンを配置して長方形を描画するところまでは作れたのですが。
なお、Swingを用いて作成していますが、特にこれに拘る必要はございません。
0802デフォルトの名無しさん
2005/11/25(金) 16:12:48Zellerの公式を用いて表示する。
【 期限 】26
【 Ver 】1.5
【 補足 】丸投げになります。お願いします。
0803デフォルトの名無しさん
2005/11/25(金) 17:21:47Calendar使うと意味が無いのでStringTokenizerにしてみた
ttp://www.wikiroom.com/java/index.php?SourcePost_
0804デフォルトの名無しさん
2005/11/25(金) 17:40:20それぞれを、文字に変換しなさい。
【 期限 】26/朝
【 Ver 】1.5
【 補足 】丸投げになります。お願いします
0805デフォルトの名無しさん
2005/11/25(金) 22:01:10>10進数,8進数,2進数をそれぞれ1文字づつキーボードから入力し
>それぞれを、文字に変換しなさい。
これの意味がちょっとわかんないんだけど、補足してくれない?
0806デフォルトの名無しさん
2005/11/25(金) 22:33:43説明不足でした。すいません。文字に変換とは、キャラクターコード表です。説明苦手なので実行結果の例を下記に示します。
それに、2進数は違いました。10,8進数だけです。
10進数を入力してください。(0〜127)
80
80はPです。
8進数を入力してください。(0〜177)
143
143はcです。
このような実行結果でお願いします。
0807ネス ◆Ness.AmS0A
2005/11/25(金) 22:50:18【 期限 】一ヶ月以内
【 Ver 】1.5
【 補足 】丸投げになります。お願いします
0808ザイン帝國軍帥・伯壬旭(小島露観)
2005/11/25(金) 23:48:25http://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
ここに貼っておきました。
ボタンで長方形の色を選択し、マウスドラッグで作成します。
長方形をダブルクリックすると文字が書き込めます。
長方形を右クリックすると、文字編集が終了します。
0809デフォルトの名無しさん
2005/11/25(金) 23:56:34コマンドライン上で実行はどうするんですか?
コンパイルを行うとエラーが出ます。
0810デフォルトの名無しさん
2005/11/26(土) 00:01:560811ネス ◆Ness.AmS0A
2005/11/26(土) 00:09:56そのままコンパイルかけたらこうなったよ
HW113.java:438: シンボルを解決できません。
シンボル: メソッド valueOf (int)
場所 : java.lang.Integer の クラス
return -(Integer.valueOf(zOrder).compareTo(Integer.valueOf(rs.getZOrder())));
^
HW113.java:438: シンボルを解決できません。
シンボル: メソッド valueOf (int)
場所 : java.lang.Integer の クラス
return -(Integer.valueOf(zOrder).compareTo(Integer.valueOf(rs.getZOrder())));
^
エラー 2 個
0812デフォルトの名無しさん
2005/11/26(土) 00:15:19return -(Integer.valueOf(zOrder).compareTo(Integer.valueOf(rs.getZOrder())));
を
return -(new Integer(zOrder).compareTo(new Integer(rs.getZOrder())));
としてください。
0813ネス ◆Ness.AmS0A
2005/11/26(土) 00:23:15ありがとー
かいぞーしてあそぼーっと
0814デフォルトの名無しさん
2005/11/26(土) 01:03:34とりあえず作ってみたんだけど、int → char がよく分かってないからこれでいいか謎。
ダメダメだったら指摘お願いします。
>806に対してはなんか適当な感じでスマソ。
import java.io.*;
public class T53_804 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("10進数を入力してください(0〜127)");
String str = buf.readLine();
char ch = (char)Integer.parseInt(str);
System.out.println(str + "は" + ch + "です");
System.out.println("8進数を入力してください(0〜177)");
str = buf.readLine();
ch = (char)byOctalNumber(str);
System.out.println(str + "は" + ch + "です");
}
public static int byOctalNumber(String numString){
int num = Integer.parseInt(numString);
int ans = 0;
for(int i = 0; i < numString.length(); i++){
int p = num % 10;
num /= 10;
for(int k = 0; k < i; k++)
p *= 8;
ans += p;
}
return ans;
}
}
0815デフォルトの名無しさん
2005/11/26(土) 01:49:37いえ、こちらこそ勉強不足ですいません。親身になってくれてとても嬉しいです。
今実行しましたが大丈夫でした。本当に感謝しています。
0816デフォルトの名無しさん
2005/11/26(土) 04:50:32それだと8進数が129とかでも通るよ。
ch = (char)Integer.parseInt(str,8);
でNumberFormatExceptionあたりをcatchしておけば良いと思う
0817デフォルトの名無しさん
2005/11/26(土) 05:19:57Integer#parseInt()って>816みたいに使えば10進数に戻してくれるのか・・・
俺も立派な初心者デスタ・・・orz
一応文字判定、範囲判定等書き加えたものです。
今度は大丈夫なはず。
import java.io.*;
public class T53_804 {
public static void main(String[] args) throws IOException {
analyze(10);
analyze(8);
}
static void analyze(int radix) throws IOException{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println(radix + "進数を入力してください");
String str = buf.readLine();
try{
int num = Integer.parseInt(str, radix);
if(num > 127 || num < 0)
throw new NumberFormatException();
System.out.println(radix + "進数で" + str + "は" +
(char) Integer.parseInt(str, radix) + "です");
}catch(NumberFormatException e){
System.out.println("正しい数値を入力してください");
}
}
}
0818デフォルトの名無しさん
2005/11/26(土) 05:22:29質問スレの625さんですね。
あっちでもいろいろ教えたつもりだったんですが
結局わからなかったようですね。
package net.2ch.java;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ParseTest {
public static void main(String[] args) throws Exception {
String input;
char code;
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
// 10進数
System.out.println("10進数を入力してください。(0〜127)");
input = br.readLine();
code = (char)Integer.parseInt(input, 10);
System.out.println(input + "は" + code + "です。");
// 8進数
System.out.println("8進数を入力してください。(0〜177)");
input = br.readLine();
code = (char)Integer.parseInt(input, 8);
System.out.println(input + "は" + code + "です。");
}
}
エラー処理は一切していません。
>>814は8進のパースを自前で実装してますけどしてますけど
その必要はありません。
n進数のことをわかりたければ「基数」について調べてください。
0819デフォルトの名無しさん
2005/11/26(土) 13:25:30ください。
それと>>660も…お願いします
0820デフォルトの名無しさん
2005/11/26(土) 13:27:470821デフォルトの名無しさん
2005/11/26(土) 13:46:460822デフォルトの名無しさん
2005/11/26(土) 15:07:55PackageExplorerを開いて、ファイルを読み込みたいところを右クリック。
ImportからFileSystemを選ぶ。
あとは簡単なので略。
PackageExplorerの開き方がもしわからんなら、
WindowメニューからShowViewを選んで、PackageExplorerを押す。
0823801
2005/11/26(土) 16:16:44貴重なお時間を頂いて、ありがとうございました。
ソースをじっくり読んで勉強させていただきます。
ありがとうございました!
0824デフォルトの名無しさん
2005/11/26(土) 17:56:08範囲指定や、文字判定を追加してくれて、ありがとうございます。
>>814では10、8進数の範囲127を越えたら?が結果で表示されていました。
力になってくれた方々嬉しいです。
0825デフォルトの名無しさん
2005/11/26(土) 19:45:37のオプションF
【 課題 】
http://up.viploader.net/mini/src/viploader0760.txt.html
を解読せよ。
【 用語 】
「abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ :.,-!"$'()」
の文字をいくつかシフトさせて暗号化している。例えば、
「opqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ :.,-!"$'()abcdefghijklmn」
として対応する文字を採用する。
【 期限 】提出期限12/8
【 Ver 】特にない。1.5.0_04使用。
【 補足 】
http://up.viploader.net/mini/src/viploader0761.txt.html
この糞ソースの##option(F)###以下が該当箇所です。
解読元を完璧に解読できません。(最初と最後がカットされる。時々誤読もある。)
ちなみに授業用掲示板に書き込んだのですが、ノーリアクションです。
身近にjavaを解する人もいません。
0826デフォルトの名無しさん
2005/11/26(土) 19:45:56ttp://www.wikiroom.com/java/index.php?SourcePost_#da4f563a
1.5使ってます。
0827825
2005/11/26(土) 19:49:20String answer="";
String codes="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ :.,-!\"$'()abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ :.,-!\"$'()";
int i=codes.indexOf('.')-codes.indexOf('r');
for(int j=0;j<s.length();j++){
char c=s.charAt(j);
int k=(codes.indexOf(c)+i);
if(c=='\n'){
answer+='\n';
k=-1;
}//end if
if(k!=-1){
answer+=codes.charAt(k);
}
}//end for
//------------------
try{
DataInputStream din=new DataInputStream(new FileInputStream("zzz.txt"));
String s = din.readUTF();
decrypt(s);
din.close();
}catch (FileNotFoundException e){
System.err.println(e);
}catch(IOException e){
System.err.println(e);
} //end try-catch
--------------------
ここだけでも良いです。ちなみにdecrypt(s);の部分を
print(s)にしてもファイルの全てを表示してくれません。
0828デフォルトの名無しさん
2005/11/27(日) 00:42:32DataInputStreamでなくFileInputStreamを使うといいよ。
0829825
2005/11/27(日) 01:40:47BufferedReader br
=new BufferedReader(
new InputStreamReader(
new FileInputStream("zzz.txt")));
String s;
while((s=br.readLine())!=null){
decrypt(s);
}
br.close();
しかし、データ量が多すぎて全ては表示できませんがね。
0830825
2005/11/27(日) 02:00:06解読分に“)”が大量表示されるのは、多分スレ違いなので、教授に聞いてみます。
0831デフォルトの名無しさん
2005/11/27(日) 02:57:04【 期限 】
2005/11/28
【 開発環境 】
eclipce 3.0.1
【 補足 】
applet で
1.CheckboxGroupを使用してスペード・クラブ・ハート・ダイヤを選択可能に
2.Choiceを使用して 1〜10, J, Q, K を選択可能に
3.Buttonを使用して選択されたカードをdrawStringにて表示(黒と赤ぐらいは色付け)
基本的には作成完了しています。
しかし選択されたカードの種類(スペード・クラブ・ハート・ダイヤ)のマークを
drawStringにて表示しろと書いてあるため詰まりました。
機種依存文字を出力させようとする意味分からん宿題ですがご教授お願いします。
これだけだと伝わりにくいためソースを以下にうpしました
よろしくお願いします
0832デフォルトの名無しさん
2005/11/27(日) 02:59:23【 課題 】
ボタン「トランプを描く」を押すと、 チェックボックスとリストボックスで選択されているトランプのマークを drawStringで表示する。
【 期限 】
2005/11/28
【 開発環境 】
eclipce 3.0.1
【 補足 】
原文だと分かりにくいため以下補足します
applet で
1.CheckboxGroupを使用してスペード・クラブ・ハート・ダイヤを選択可能に
2.Choiceを使用して 1〜10, J, Q, K を選択可能に
3.Buttonを使用して選択されたカードをdrawStringにて表示(黒と赤ぐらいは色付け)
基本的には作成完了しています。
しかし選択されたカードの種類(スペード・クラブ・ハート・ダイヤ)のマークを
drawStringにて表示しろと書いてあるため詰まりました。
機種依存文字を出力させようとする意味分からん宿題ですがご教授お願いします。
これだけだと伝わりにくいためソースを以下にうpしました
ttp://www.uploda.org/file/uporg247242.txt
よろしくお願いします
0833デフォルトの名無しさん
2005/11/27(日) 03:38:27スペード "\u2660"
クラブ "\u2663"
ハート "\u2665"
ダイヤ "\u2666"
でどうかな?
0834デフォルトの名無しさん
2005/11/27(日) 03:47:03的確な回答ありがとうございました
一応以下ソースです
ttp://www.uploda.org/file/uporg247289.txt
0835デフォルトの名無しさん
2005/11/27(日) 14:11:33それらの数値の平均を計算せよ。
データファイル
(a)1行に1つの数値の場合
(b)1行に5つの数値がスペースで区切られている場合
(c)1行に不定個の数値がスペースで区切られている場合
について考えよ。
ファイルを読み込むには、ファイルの名前が"FileName"であれば、
FileInputStream file = new FileInputStream( "FileName" );
によってFileInputStreamクラスのオブジェクトを作成する。
【 用語 】なし
【 期限 】11月28日(月)
【 Ver 】希望なし
【 補足 】自分なりに作ってみたのですが、できません。
丸投げします。すみませんがよろしくお願いします。
なをプログラムを書く際の(a)(b)(c)の違いが良く分かりません。
よろしくお願いします。
0836デフォルトの名無しさん
2005/11/27(日) 14:33:25import java.util.StringTokenizer;
import java.io.BufferedReader;
import java.io.FileReader;
public class NumDataPrint {
public static void main(String[] args) {
try{
BufferedReader in = new BufferedReader( new FileReader( args[0]));
String line;
double sum = 0.0;
int cnt = 0;
while(null != (line=in.readLine())){
StringTokenizer tkzr = new StringTokenizer(line, " ");
cnt += (double)tkzr.countTokens();
while (tkzr.hasMoreTokens()){
sum += Double.parseDouble(tkzr.nextToken());
}
}
System.out.println("平均 : " + sum / cnt );
}
catch(Exception e){
e.printStackTrace();
}
}
}
0838デフォルトの名無しさん
2005/11/27(日) 14:45:47>拝見しました。素晴らしいサイトですね!
何か勘違いしてないですか??
0839デフォルトの名無しさん
2005/11/27(日) 14:49:30スペード "\u2660"
クラブ "\u2663"
ハート "\u2665"
ダイヤ "\u2666"
にした理由って何??
0840デフォルトの名無しさん
2005/11/27(日) 16:39:23>826は前からあったサイトなんかじゃなくて、
826の人が作ってソコにソース貼り付けてくれたんだよ。
0841デフォルトの名無しさん
2005/11/27(日) 23:33:44Unicodeでのトランプのマークだけどなんか変?
0842デフォルトの名無しさん
2005/11/28(月) 07:44:03num a=1;
String str = ”文字列”;
このstrに数字をaの値を入れるにはどうしたらいいですか?
String str = ”a”;
としたらstrには文字列aだから、ダメなのですが。
int型のaに代入された値をstrに文字列として入れる方法を教えてください。
0843デフォルトの名無しさん
2005/11/28(月) 07:57:550844960
2005/11/28(月) 07:59:36期限:明日くらいまで。宜しくお願い致します。
0845デフォルトの名無しさん
2005/11/28(月) 08:06:33Integer.toString(a);
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Integer.html#toString(int)
0846デフォルトの名無しさん
2005/11/28(月) 08:07:24式の開始が不正です。
str1 = (quick-)a.secondaryException(custom);
と、エラーがでます。
(quick-)aのaとはnum a=1; で宣言したaですよね?
0847819
2005/11/28(月) 11:00:30わかってます。言い方が悪かった。
826さんには感謝してます。
0848デフォルトの名無しさん
2005/11/28(月) 11:49:27なにをすればいいんかな?
synchronizedつけたときとつけないときを実行してみて、
両方おなじ結果になってしまったなら、balance = x + amountの下の行にでも
for(int i = 0; i < 100, i++){}を書き加えて実行。
多分synchronizedつけなかったときは変な値が出るはず。
そんな結果が出る理由は、10はめんどいから2個のスレッドの場合で説明するけど、
Thread1 Thread2
deposit(1)開始
deposit(1)開始
barance = 1
barance = 1
deposit(1)終了
deposit(1)終了
みたいなことが起こってしまうため。
こんな感じかな。
0849デフォルトの名無しさん
2005/11/28(月) 20:17:47返事が遅くなり申し訳ないです。
ありがとうございます。
大変恐縮なのですが、この続き?として講師よりこっちで作ってみてと課題を出されまして。
考えた末なかなか分かりません、お願いします。
【課題】Calendarクラスを使いyyyy/MM/dd形式のプログラムを作れ。第一引
数はSubStringを使い範囲指定をして求めよ。第一引数が火曜日なら直前の月曜日表示
火曜日ならそのまま表示。またCalendarの直系の既知のサブクラス:GregorianCalendarを使え。
表示結果
>java Monday 2005/11/30
2005/11/29
>java Monday 2005/11/29
2005/11/29
>java Monday 2005/12/02
2005/11/29
といった感じです。
【 期限 】29日昼
【 Ver 】1.5
【 補足 】getFirstDayOfWeek() を使い、週の最初の日が何であるかを取得して
年/月/日、曜日を求めろ。
丸投げです。すみません。どなたかよろしくお願いします。
0850デフォルトの名無しさん
2005/11/28(月) 23:09:39【 期限 】12月1日お昼
【 Ver 】Verの指定はありません。
【 補足 】丸投げです。
出来ればオリジナル要素を加えてお願いしたいです。(碁盤がオリジナルなど)
オリジナルは無くてもかまいません。
加えていただける場合は簡単でも難しい要素でも大歓迎です。
0851デフォルトの名無しさん
2005/11/28(月) 23:18:320852デフォルトの名無しさん
2005/11/29(火) 01:20:36オセロはネット上に山ほど転がってるけど・・・
0853デフォルトの名無しさん
2005/11/29(火) 01:22:15Carにはdrive()メソッド、Engineにはrotate()メソッドを実装してください。
drive()メソッド内でrotate()メソッドを呼び出す処理を記述してください。
rotate()メソッド内では「エンジンが回っています」と表示して、確認できるようにしなさい。
【 期限 】今週金曜日
【 Ver 】 指定なし
【 補足 】丸投げですが、誰かお願いします。
0854デフォルトの名無しさん
2005/11/29(火) 03:31:58ほいさ。
public class Car {
private Engine engine;
public Car(){
this.engine = new Engine();
}
void drive(){
engine.rotate();
}
public static void main(String[] args) {
Car car = new Car();
car.drive();
}
class Engine {
void rotate(){
System.out.println("エンジンが回っています");
}
}
}
0855デフォルトの名無しさん
2005/11/29(火) 03:43:38どうすればいいのでしょうか?だれか教えてください。お願いします。
0856デフォルトの名無しさん
2005/11/29(火) 04:06:07ここは宿題スレだから、こういう質問は初心者質問スレの方がいいと思うよ。
http://pc8.2ch.net/test/read.cgi/tech/1133087049/
一応答えておくと、
Applet#setLayout()でレイアウトをnullに指定して
Checkbox#setBounds()で座標指定すりゃいいと思う。
0857デフォルトの名無しさん
2005/11/29(火) 04:21:31教えてくださりありがとうございます。
スレ違いでしたね、申し訳ないです。
0858デフォルトの名無しさん
2005/11/29(火) 12:18:45課題
角の数を減らすボタンを追加せよ。(但し,3未満にならないようにせよ)
クリアボタン(赤い三角形に戻す)を追加せよ。
多角形の外接円を表示,非表示するチェックボックスを追加せよ。(どのくらい円に近づいているかを見るため。)
多角形を塗りつぶしするチェックボックスを追加せよ。(fillPolygonで塗りつぶせる)
数値を直接入力して,角数を指定できるようにせよ。
中級編
他に何か気の利いた機能を考えて追加せよ。
お願いします。
0859デフォルトの名無しさん
2005/11/29(火) 12:37:37以下の仕様を満たす、整数の可変長配列クラスを作成せよ。動作をテストするメインクラスも作成すること。
*フィールド
・整数の配列
・最大の要素数
・(実際に値が格納されている)要素数
*メソッド
・コンストラクタ ... 引数として最大の要素数を受け取り、その大きさの配列を生成する。
・要素追加メソッド ... 引数として整数を一つ受け取り、現在までに格納されている要素の最後に格納する。追加できない場合はエラーメッセージを表示する。
・最大要素数のゲッター
・要素数のゲッター
・全表示メソッド ... 配列に格納されているすべての要素を表示する。
期限は明日までです。最低限の機能のみでよいので、どなたかお力添えしていただけると幸いです。
0860デフォルトの名無しさん
2005/11/29(火) 13:38:35をAppletで作れ」が問題です。
【 期限 】12月2日夜
【 Ver 】ver1.4.2_09
【 補足 】授業でやった名前を入力して出力するAppletのプログラムです
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Lesson15c extends Applet{
Button myBtn; Label myLbl; TextField myTxt; Panel myPnl;
public void init(){
mypnl = new Panel();
myPnl.setLayout(new GridLayout(2,1));
myBtn = new Button("名前を入力--click");
myTxt = new TextField();
myPnl.add(myTxt);
myPnl.add(myBtn);
setLayout(new BorderLayout());
myLbl = new Label("",Label.CENTER);
add("north",myPnl);
add("Center",myLbl);
myBtn.addActionListener(new ActionListener(){
public void actionperformed(ActionEvent e){
repaint();
}
});
}
public void paint(Graphics g){
myLbl.setText(myTxe.getText()+"さん、こんにちわ!");
}
}
0861デフォルトの名無しさん
2005/11/29(火) 13:40:47ありがとうございます。
0862デフォルトの名無しさん
2005/11/29(火) 13:50:090863デフォルトの名無しさん
2005/11/29(火) 14:11:41その問題、何か変じゃないか?
隠蔽されているわけでもなければ、他のクラスから読み出しているわけでもないのに
わざわざゲッターとか使う理由がわからん。
必ずゲッターを使えという指定もないし。
ついでに最大の要素数なんか格納するフィールドが必要な意味もわからない。
そんなのは普通に配列のlengthで出るだろうに。
0864デフォルトの名無しさん
2005/11/29(火) 14:39:35変な問題だったけど一応作るだけ作ってみた。やっぱりゲッター使わないなw
何か他に限定するような条件なかったの?
問題の意味自体を俺が取り違えてたらすまん。
import java.io.*;
public class Main {
public static void main(String[] args)throws IOException{
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print("最大要素数");
Hairetsu h=new Hairetsu(Integer.parseInt(buf.readLine()));//クラスHairetsuをインスタンス化し、引数を渡す
while(true){
String t;
System.out.print("値を格納(終了は空Enter):");
if((t=buf.readLine()).equals("")) break; //空Enter判定
h.tuika(Integer.parseInt(t)); //値tを引数にしてtuikaメソッドへ
}
h.printout();//printoutメソッドへ
}
}
0865デフォルトの名無しさん
2005/11/29(火) 14:40:10class Hairetsu {
int[] a;
int maxy,y=0; //↑maxy=最大要素数 y=現在格納されているよう素数
Hairetsu(int x){ //コンストラクタ
maxy=x; //maxyに引数xを入れる
a=new int[maxy];//int型の配列aの最大要素数決定
}
void tuika(int x){
if(y<maxy){
a[y]=x; //引数xをaの配列に入れる
y++; //格納されている要素数を増やす
}
else System.out.println("Error! OutOfBoundsException!"); //違う場合はエラーメッセージを
}
int getMaxy(){//結局一度も使わなかったゲッター
return maxy;
}
int getY(){
return y;
}
void printout(){
for(int i=0;i<getY();i++){ //別に使わなくていいんだけど折角だからゲッターを使ってみた
System.out.print(a[i]+" ");
}
}
}
0866デフォルトの名無しさん
2005/11/29(火) 15:00:331、9×9マスのフィールドを用意
2、数箇所に宝、一箇所は罠を用意
・宝: 所持金アップ。一定額を越えたらクリア
・罠: ゲームオーバー
3、主人公は(4, 4)の地点から出発
4、標準入力を元に、上下左右に一つずつ移動
・隅に来た場合は、それ以上移動できないようにする
5、移動するごとに、フィールド全体と現在地を表示
・宝の位置は、表示してもしなくても良い
6、クリアかゲームオーバーになるまで、4〜5を繰り返す
【 期限 】
12/30(水曜)の朝
【 Ver 】 指定なし
【 補足 】丸投げですが申し訳ありません。本当に困っています。お願いします。
0867850
2005/11/29(火) 15:53:00思考は不要ですが、二人対戦を出来るようにしていただきたいです。
ネットを探しましたが、今まで調べた結果
ソースはCPU対戦ばかりでした。
0868デフォルトの名無しさん
2005/11/29(火) 19:24:20http://www.wikiroom.com/java/index.php?SourcePost_#content_1_0
0869デフォルトの名無しさん
2005/11/29(火) 21:39:570870866
2005/11/30(水) 00:52:14ありがとうございます!!
0871デフォルトの名無しさん
2005/11/30(水) 18:58:40画像の周りは白です。
白白白
白田白
白白白
こんな感じです。もちろん田の中は何ピクセルかは決まってません。田の中の4つの色情報を得るには、左上から1ピクセルづつrgbの値を読みこむのは出来るのですが、黒の中の色情報を得るのが難しいです。
意味不明な質問かもしれないけど、お願いします。
0872デフォルトの名無しさん
2005/11/30(水) 19:23:07マルチかよ・・・
アァーいっぺん逝けばいいのに〜
0873デフォルトの名無しさん
2005/11/30(水) 19:31:520874866
2005/11/30(水) 20:28:25この冒険、Mapと別にしないで書くことは可能ですか?
http://www.wikiroom.com/java/index.php?SourcePost_#content_1_0
0875デフォルトの名無しさん
2005/11/30(水) 20:40:14課題2.以下の仕様を満たすようにさらに改造しなさい.
・ html ファイル内の<param>タグを利用して,html ファイル内で各パラメータの初期設定を行うこと.
・ その際html 内にパラメータの記述がない項目については,プログラム内のデフォルト設定で動作するように.Html では<!と>で囲まれた部分はコメントとなる.これを利用して確認すること.
・ html ファイルから受け取った,もしくはデフォルト設定のパラメータ値はアプレット起動時に各テキストフィールドおよびラジオボタンに表示されるように.
・ 設定パネル内のどれかでアクションが起こったときに,パラメータ値が現状を反映するように.(例えば,マウスクリックで定義域が変更されてもテキストフィールドは変更されないが,その後スタートボタンを押すと更新されるように)
注意:・ プログラムを修正・再コンパイルしてWeb ブラウザの再読み込みをしても,Web ブラウザのキャッシュに保存された古いクラスファイルによる結果が表示されるので,修正を反映するにはWeb ブラウザを再起動する.
・ ウェブブラウザではjava の例外など実行時エラーがそのままでは表示されないので,うまくいかない場合は,「ツール」→ 「Sun のJava コンソール」を選んで
(IE の場合,他のブラウザの場合でも探せばある)おいてから,html ファイルを開くとエラーメッセージを読むことができる.
・ appletviewer では,DOS ウィンドウにエラーメッセージが表示されるが,<applet>タグに関する部分しか読まないので,html ファイルの他の部分にhtml の文法エラーがあっても動作することに注意.
【 期限 】12月3日まで
【 Ver 】1,4だと思います
【 補足 】すいません、丸投げです。よろしくおねがいします
0876875
2005/11/30(水) 20:49:34http://www.wikiroom.com/java/?FrontPage
ここの11・30日のやつです。投稿の仕方がいまいちわからなかったので変になりましたが、お願いします。
0877デフォルトの名無しさん
2005/11/30(水) 22:47:19ありがとうございます。
無意味なゲッターは最近習い始めたもので、意識して使うよう教えられているからです。
「inport java〜」の辺りが未知だったもので、遺憾ながらソースを削らせて使用させてもらいましたが、無事に動作いたしました。
0878デフォルトの名無しさん
2005/11/30(水) 23:01:10wikiを修正した。
あの投稿で平気でいられる神経が信じられない。
ttp://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1#gcf66de5
まあこのページのどこにもEx9B_1.javaなんてないんだがw
0879875
2005/11/30(水) 23:05:15修正の仕方がわからなかったのです、申し訳ない。
書き方が悪かったと思いますが、Ex9B_1.javaは今回の課題の名前です。
0880デフォルトの名無しさん
2005/11/30(水) 23:06:43じゃあ>875の
>課題1.前回の課題プログラムEx9B_1.java をアプレットに改造しなさい.
はなんですか?
0881デフォルトの名無しさん
2005/11/30(水) 23:14:50なにそれ。
できたら、そういうとき理由も書いててくれると俺的にうれしい。
まだクラス2つ使うやり方習ってないとかだったら、独学でやったって言えばいいし。
一応やっておいた。
http://www.wikiroom.com/java/index.php?SourcePost_#pb3d2042
0882デフォルトの名無しさん
2005/12/01(木) 03:17:22Jankenクラスを継承したGooJankenというクラスを作り,そのメソッド nextHandを次のように再定義せよ.
グーを50%の確率で出す.
チョキとパーはそれぞれ25%の確率で出す.
クラス定義の先頭は,次のようにする.
class GooJanken extends Janken {
このGooJankenとJankenが戦うようにPlayJankenを書き換えて
(この場合は継承でなく,実際に書き換えればよい),結果を比較せよ.
【 期限 】12/4
【 Ver 】1.4
補足は長いので次へ。
0883デフォルトの名無しさん
2005/12/01(木) 03:17:46static String[] name = {"グー","チョキ","パー"};
int sort; //0:グー, 1:チョキ, 2:パー をそれぞれ表す.
int getSort() {
return sort;
}
String getName() {
return name[sort];
}
void nextHand() {
sort = (int) Math.floor(3.0*Math.random());
}
String match(Janken j) {
//(1)ここを埋める
}
}
このクラスJankenのインスタンスを2つ作り,両者に与えられた回数だけジャンケンをさせて結果を
表示するプログラムを,クラスPlayJankenのメソッド mainとして次のように作成する.
class PlayJanken {
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
Janken me,you;
me = new Janken();
you = new Janken();
//(2)ここを埋める
}
}
お願いします。
0884デフォルトの名無しさん
2005/12/01(木) 03:49:06String match(Janken j) {
//(1)ここを埋める
int result = sort - j.sort;
switch(result){
case 0:
return "あいこ";
case 1:
case -2:
return "まけ";
case -1:
case 2:
return "かち";
default:
return "";
}
}
0885デフォルトの名無しさん
2005/12/01(木) 03:56:59//(2)ここを埋める
for(int i = 0; i < n; i++){
me.nextHand();
you.nextHand();
System.out.println("わたし:" + me.getName() + " あなた:" + you.getName() + " けっか:" + me.match(you));
}
0886デフォルトの名無しさん
2005/12/01(木) 08:30:20class GooJanken extends Janken{
void nextHand() {
sort = (int) Math.floor(4.0*Math.random());
if(sort == 3)
sort = 0;
}
}
class PlayJanken {
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
Janken me,you;
me = new GooJanken();
you = new Janken();
//(2)ここを埋める
for(int i = 0; i < n; i++){
me.nextHand();
you.nextHand();
System.out.println("わたし:" + me.getName() + " あなた:" + you.getName() + " けっか:" + me.match(you));
}
}
}
0887801
2005/12/01(木) 12:39:56(漢字(山田太郎)、平仮名、カタカナ、ローマ字など)を予め保存しておき、
ある文字列を入力するたびに、山田太郎の名前か否かを
判断するプログラムを作成してください。
【期限】12月5日
【Ver】指定なし
【補足】丸投げです。宜しくお願いします。
【サンプルプログラム】
//Test5.java
import java.io.*;
class Test5{
public static void main(String[] args){
int[] ia = new int[5];
char[] ca = {'0','A','あ'};
String[] stab ={"012","ABC","あいう"};
int i;
for(i =0;i<ia.length;i++){
ia[i] = i * 2;
}
System.out.println("ia[0]=" +ia[0]);
System.out.println("ca[1]=" +ca[1]);
System.out.println("stab[2]="+stab[2]);
}
}
0888875
2005/12/01(木) 14:11:15>課題1.前回の課題プログラムEx9B_1.java をアプレットに改造しなさい.
はなんですか?
見直してみたところ実際配布された課題の資料では、配布資料が間違っています。
今回の課題がEx9B_1であり、前回の課題がEx8B_1でした。
宜しくお願いします。
0889デフォルトの名無しさん
2005/12/01(木) 17:10:41請求金額、利子、支払い回数を入力したら、
(この場合、請求金額5000、利子年間12%、12回払い)
-------------------------------------------------------------
回数 利子 今月支払った金額 残りの請求金額 総合利子
1 50.00 394.24 4605.76 50.00
2 46.06 398.19 4207.57 96.06
3 42.08 102.17 3805.40 138.13
(省略)
12 4.40 435.45 0.00 330.93
-------------------------------------------------------------
と、表示されるようなプログラムを組みたいのですが、
どのようにすれば上のように表示されるのでしょうか?
while文を使うらしく、今月支払った金額は、
(残りの請求金額 * 利子)/ (1 - Math.pow(1/(1+利子),回数))
で求める事が出来るそうです。
ちなみに、請求金額、利子、支払い回数は、
請求金額が100〜1,000,000,00、利子が5〜25、支払い回数が1〜30の数値を下回るが超えると、
再入力するようにうながし、出力は通常出力とtoStringメソッドを使って出力せよ。
0890889
2005/12/01(木) 17:11:16【Ver】指定なし
補足】
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26384
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26385
まで組んでみたのですが、サンプルと同じく「請求金額5000、利子年間12%、12回払い」
と入力すると、支払い回数が12で終わらず、13まで行ってしまいます。
また、toStringメソッドで出力しようとすると、
13 0.00 444.24 -444.24 330.93
としか表示されません。
どこが悪いのでしょうか?
よろしくお願いします。
0891889
2005/12/01(木) 17:12:55ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26387
0892foo
2005/12/01(木) 17:17:470893デフォルトの名無しさん
2005/12/01(木) 17:51:36金額をdoubleで計算してるから小数点3桁以下の端数が出てるのではないかな?
0894889
2005/12/01(木) 18:03:29端数自体は、DecimalFormatを使って二桁以下表示しないようにしているので大丈夫だと思います。
金額をdoubleでやらないと、Math.powが使えないのでdoubleを使っています。
12 4.40 439.85 0.00 330.93
の時点で、loanAmountは0になっているので、ここでストップしないとおかしい(while (loanAmount > 0)なので)はずなのですが、
何故か、Interest(利子)が、0にならないとストップしなくなっています。
0895デフォルトの名無しさん
2005/12/01(木) 18:13:09loanAmount = 0.001 とする。
System.out.print(" " + df.format(loanAmount)); 表示は 0.00
while (loanAmount > 0) { は 0.001 > 0 で当然ループは続く。
0896デフォルトの名無しさん
2005/12/01(木) 18:56:41import java.io.*;
public class T53_887 {
public static void main(String[] args) {
String[] str1 = new String[4];
String str = null;
boolean flag = false;
str1[0] = "山田太郎";
str1[1] = "やまだたろう";
str1[2] = "ヤマダタロウ";
str1[3] = "YamadaTarou";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("名前を入力してください");
try {
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
for(String str2 : str1){
if(str.equals(str2)){
flag = true;
break;
}
}
if(flag)
System.out.println("あなたは山田さんですね。");
else
System.out.println("あなたは山田さんではないです。");
}
}
whileで回すとか配列に予め保存するのを増やすとかは適当に改造して
0897889
2005/12/01(木) 19:26:30なるほど。
なら、loanAmountもintかlongの変数を使ってやれば良いのでしょうか?
ただ、Math.powを使わないといけないのですが、どのような方法を使えば、
Math.powも使って12までで止める事が可能なのでしょうか?
0898デフォルトの名無しさん
2005/12/01(木) 21:24:37ん〜 while(loanamount > 0)
のところを
while(loanamount >= 0.1 && numberofPayments <= 12)に変えれば大丈夫じゃない?
回数も12回で止まるし、0.01以上だから0.01とかなら終わるし。
0899デフォルトの名無しさん
2005/12/01(木) 21:32:31>(残りの請求金額 * 利子)/ (1 - Math.pow(1/(1+利子),回数))
利子計算は端数処理の問題がついて回るからこういう計算式を実際に使うことはまずない。
それを承知で宿題の問題を出している以上、支払い回数だけでループさせていいと思うよ。
0900デフォルトの名無しさん
2005/12/01(木) 23:50:34だれかお願いします
0901889
2005/12/02(金) 01:24:47レスありがとうございました。やってみます。
toStringの出力なのですが、どうしても(上の例だと)12しか表示されません。
もう一度、numberofPayments++; を使って1から順番に表示させていきたいのですが、
どのように表示させたら良いのでしょうか?
0902889
2005/12/02(金) 01:39:4812 4.40 435.45 0.00 330.93
と載っているのですが、自分の場合は
12 4.40 439.85 0.00 330.93
と言うように、支払い金額が11回目よりも増えています。
11回目までは、教科書通りに
11 8,75 435.49 439.85 326.53
と表示されます。どうやら、利子計算なしで単純に残りの請求金額だけ払っているようです。
0903デフォルトの名無しさん
2005/12/02(金) 03:31:57【 期限 】12月 3日
【 補足 】丸投げですが、一定のコインを払い、役柄の倍率によって習得するコインが変わるように、
DQのポーカーのような感じにしていただきたいです。
0904デフォルトの名無しさん
2005/12/02(金) 07:53:110906875
2005/12/02(金) 08:30:24出てしまいわかりません(泣
0907デフォルトの名無しさん
2005/12/02(金) 08:39:56これはどこにあるの?
0908875
2005/12/02(金) 10:16:27前回の課題プログラムEx9B_1.javaではなく前回の課題プログラムEx8B_3.java
なのです。お願いします。
0909デフォルトの名無しさん
2005/12/02(金) 10:35:19「前回の課題プログラムEx8B_3.java」
これはどこにあるの?
0910875
2005/12/02(金) 10:35:540911デフォルトの名無しさん
2005/12/02(金) 10:41:240912875
2005/12/02(金) 10:48:02ttp://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1#gcf66de5
ここです
0913875
2005/12/02(金) 10:50:24ということです。課題2はEx9B_1.javaを改良してEx9B_2.javaにしなさい、
ということです。
0914デフォルトの名無しさん
2005/12/02(金) 10:51:40これから作るから待ってろ
っつーか醜いソースだな
0915デフォルトの名無しさん
2005/12/02(金) 11:02:030916デフォルトの名無しさん
2005/12/02(金) 12:54:55ギリギリまで使いませう。980くらいまで・・・
0917デフォルトの名無しさん
2005/12/02(金) 13:01:01その数を足し2つ目の数字に近くなるようにして下さい。(いくつに切り離しても良い)
与えられた数字(5列)に最も近い数字が出るようにプログラムを記述しなさい。
例:Line #1: 19967, 1000
19+967=986 1+996+7=1004
Test Input:
Line #1: 4721, 75
Line #2: 4721, 100
Line #3: 1234, 20
Line #4: 1234, 46
Line #5: 1234, 127
Test Output:
Output #1: 68
Output #2: 77
Output #3: 19
Output #4: 46
Output #5: 127
【期限】12/4/05
【補足】Java超初心者です。宜しくお願いします。
0918デフォルトの名無しさん
2005/12/02(金) 13:41:18Output #1だけど、68よりも77の方が近い気がするんだけど?
0919887です
2005/12/02(金) 15:23:54返事をするのが遅くなってしまってもうしわけありません。
ご丁寧にありがとうございました。
おかげ様で無事動きました。
これからも何かあれば宜しくお願いします。
0920デフォルトの名無しさん
2005/12/02(金) 18:58:50Line #1: 1000, 1000
の場合は?
必ず1つ以上は切るの?
0921914
2005/12/03(土) 00:14:20>>875-876 ttp://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1 のおふたりへ。
君らのソース実行してみたけど、
位相はずれまくっとるわ、周期も出鱈目、
波の進行方向も逆じゃないか。
バグだらけで提出しても評価0だろうな。
実行したらすぐ分かるのに何で気付かんの?
↓この辺りがおかしい
Dimension d = getSize();//ウィンドウサイズの取得
double z = (d.width-40)/(Math.PI*(graph.gettxt5()-graph.gettxt4())/180); //定義域の調整
if(graph.RD == 1){//sinの場合
for(int i =0;i<=graph.gettxt1();i++){//iが0からtxt1までの間繰り返し
x[i] = (Math.PI*(graph.gettxt5()-graph.gettxt4())/180)*i/graph.gettxt1();//x座標の計算
y[i] = Math.sin(2*Math.PI/(Math.PI*graph.gettxt2()/180)*
(x[i]-(Math.PI*graph.gettxt6()*t/180)+(Math.PI*graph.gettxt4()/180)+(Math.PI*graph.gettxt3()/180)));//y座標の計算
x2[i] = (int)(z*x[i]+20);//x座標
y2[i] = (int)(-y[i]*(d.height-40)/2+(d.height-40)/2+20);//y座標
}
}else if(graph.RD == 2){//cosの場合
for(int i =0;i<=graph.gettxt1();i++){//iが0からtxt1までの間繰り返し
x[i] = (Math.PI*(graph.gettxt5()-graph.gettxt4())/180)*i/graph.gettxt1();//x座標の計算
y[i] = Math.cos(2*Math.PI/(Math.PI*graph.gettxt2()/180)*
(x[i]-(Math.PI*graph.gettxt6()*t/180)+(Math.PI*graph.gettxt4()/180)+(Math.PI*graph.gettxt3()/180)));//y座標の計算
x2[i] = (int)(z*x[i]+20);//x座標
y2[i] = (int)(-y[i]*(d.height-40)/2+(d.height-40)/2+20);//y座標
}
}
直したらアップするからお待ち。
0922デフォルトの名無しさん
2005/12/03(土) 00:51:23Java歴一ヶ月の俺がこれから頑張って作るから待ってな。
所持金額(MONEY)と掛け金(BET)、役の倍率、買った時に「YOU WIN!」、負けた時に「YOU LOSE...」、引き分けで「DROW GAME」、
お金がなくなったら「GAME OVER」って表示させりゃいいかな?
カードはハートがH、ダイヤがD、スペードがS、クローバーがCでいいか。
ジャックとかクイーンは作れるけど面倒だから11〜13にしちゃうぞ。
後は一度の交換と、同じカードが二枚出ないようにするのと、JOKERとかも余裕あったら作る?
当然相手と自分の手との比較も作らないとね。
色んなパターンがあるから、いくつか役のパターンに漏れがあっても怒らないでね。期待はするな。
0923デフォルトの名無しさん
2005/12/03(土) 00:52:360924デフォルトの名無しさん
2005/12/03(土) 01:24:23あ、ごめん。簡単だと思ったら実は微妙に難しい事に気付いた。
自動のCOMPUTER側が自分の手を揃えるためにカードを切るような
思考を持たせるプログラムは初心者の俺じゃ出来ないわ。
最初の一手で決まっちゃうようなのじゃさすがにつまらないしね…。
力になれずすまん。
0925デフォルトの名無しさん
2005/12/03(土) 01:28:15別に対戦相手(COM)はいらないんじゃないか?
自分でカードを引いて、一度カードを交換。
で、役ができてなければぶー、
役ができていればそれに応じた支払いって感じで良いんじゃないの?
ポーカーのルールが良くわかんないけど。
0926デフォルトの名無しさん
2005/12/03(土) 01:35:29あー、DQのポーカーをよく知らないんだけど、あれは別に対戦相手はいないのかな?
それだったら出来ない事はないけど。
0927デフォルトの名無しさん
2005/12/03(土) 01:37:37こんな感じで良いんじゃない?
ttp://www.game3rd.com/game/card/poker/
0928デフォルトの名無しさん
2005/12/03(土) 01:43:48んじゃ、頑張ってみよう。
って言うか>>927みたいな画像使ったのはまだ出来ないんで、文字だけで作ります。
それじゃ希望に沿えないかな?とりあえず自分の勉強ってことでやってみます。
0930903
2005/12/03(土) 10:26:13ありがとうございます。
CPUの思考はいらなく、一人でポーカーやってる感じです。
プログラム作っていただいて、感謝します。
0931デフォルトの名無しさん
2005/12/03(土) 11:42:32紙に書いてあったのを丸投げしました。
多分、77でも良いのではないか、とは思うのですが・・・。
>>920
はい、必ず1つは区切らなければならないのです。
0932875
2005/12/03(土) 13:35:21一応Ex8B_1.javaはエラーも出ないで動作したのでいけるものかと思っていました。
計算が間違っていましたか。
指摘ありがとうございます。
お待ちしています。宜しくお願いします
0933デフォルトの名無しさん
2005/12/03(土) 19:02:10【用語】Java GUI
【期限】期限12月7日
【質問】今の時点では一応電卓らしくはなっているんですが、でも整数しか計算できない
電卓になってます。小数点を付ける場合はどのようにプログラムを
かけばいいんですか?教えてください。
0934デフォルトの名無しさん
2005/12/03(土) 19:14:280935デフォルトの名無しさん
2005/12/03(土) 19:28:250936デフォルトの名無しさん
2005/12/03(土) 19:49:32ファイル名:javaGUI電卓プログラムです。お願いします。
ttp://j-apartment.net/03/kokugo/files/files.cgi
0937デフォルトの名無しさん
2005/12/03(土) 20:00:380938デフォルトの名無しさん
2005/12/03(土) 20:21:07っていつから流行り始めたんだろね
0939デフォルトの名無しさん
2005/12/03(土) 20:21:54ごめん、途中まで改良したんだが、motivationが続かなかった。
0940デフォルトの名無しさん
2005/12/03(土) 20:41:400941デフォルトの名無しさん
2005/12/03(土) 20:45:28↓
if(!er)jTextField.setText(Integer.toString(k));
こうしろってことだろ
0942デフォルトの名無しさん
2005/12/03(土) 21:12:46プログラムの書き方がよくわからないです。教えてください。
0943デフォルトの名無しさん
2005/12/03(土) 21:25:58普通に ""+int とか使ってるわ。
0944875
2005/12/03(土) 21:38:05そうですか・・・その途中までのものでかまいませんのでいただけないでしょうか?
そこからどうにか自分でやりたいと思いますので・・・。
0945903
2005/12/03(土) 21:55:54わざわざありがとうございます。
それと、期限の事ですが今日までではなく明日まで大丈夫です。
今日完成して明日コンパイルしてエラーがあったら調べるという予定だったので;;
0946デフォルトの名無しさん
2005/12/03(土) 22:02:12やり方はいろいろあると思うけど、あまり考えずにやるのなら
数値ボタンを押されたときの状態を保持する変数 l をString(もしくはStringBuffer)に替える。
number(int)をnumber(String)に変える。
enzan() で実際に計算するときに Double.parseDouble() を使う。
とかかねぇ。
0947943
2005/12/03(土) 22:41:35ttp://www.wikiroom.com/java/index.php?SourcePost__#b21645dd
jdk1.5使ってます。
画像はページ左下のzipを展開して入手してください。
フォルダ構成はソースとスクリーンショットを参考にしてください。
描画回りがうまくいきませんが直してません。
0948デフォルトの名無しさん
2005/12/03(土) 22:49:56申し訳ないのですが、可能ならばソースのほうも書いてみてもらえませんか?
丸投げですいませんです。
0949デフォルトの名無しさん
2005/12/04(日) 00:35:35変数名とかわかりやすく書き直してくれたらやっても良いが、
今の状態ではいやだ。
0950903
2005/12/04(日) 09:13:45画像も作っていただきありがとうございます。
自分で作れそうも無いプログラムだったので、ある程度理解して本番に臨みたいと思います。
ポーカー製作に関わってくれた方々、ありがとうございました。
0951943
2005/12/04(日) 09:31:10画像は作ってないんですが。。
ttp://www.geocities.jp/ibezou/hpsozai.html
ここの。
0952デフォルトの名無しさん
2005/12/04(日) 09:42:01んと、コメント付けるだけでいいのかな?
0953デフォルトの名無しさん
2005/12/04(日) 09:43:05948の人ですが、プログラムのほうにコメントをつけるだけいいのかな?
0954デフォルトの名無しさん
2005/12/04(日) 12:31:35JDK1.0の頃かな
0955デフォルトの名無しさん
2005/12/04(日) 12:44:35ポーカーやってみたんですが、
カードをクリックすると、選択した左側のカードが
選ばれるのですが、私だけですか?
0956デフォルトの名無しさん
2005/12/04(日) 13:04:02インスタンス変数に i j k l といった無意味な文字を使わないでください。
どうしても、演算処理で1 なら +、2なら - ・・・とするのであれば、最低限
private static final int PLUS = 1;
としてください。
読みにくいと直しにくいです。
0957デフォルトの名無しさん
2005/12/04(日) 15:05:03アプレットを作成するに当たって拡大、縮小ボタンをセットし、拡大ボタンを押すと縦横幅を1.5倍に拡大し
縮小ボタンを1/1.5倍に縮小する機能を付けた物を作成してください。それにあたって拡大、縮小を繰り返しても
四角形の大きさが最初の大きさに戻るように工夫して作りなさい。
【 期限 】
今日まで
【 補足 】
丸投げ
疑問点は拡大、縮小を繰り返しても四角形の大きさが最初の大きさに戻るように
コーディングするやり方がどうもわかりません。
0958デフォルトの名無しさん
2005/12/04(日) 15:35:47一番困るパターンだな。
予告すると誰も回答しなくなるんだよ。土壇場でしかも報告もせずに
逃げるんだんて、嫌がらせ以外のなにものでもない。
0959957
2005/12/04(日) 15:48:18import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class samp extends Applet implements ActionListener{
int x,y,x0,y0,x1,y1,x2,y2;
int oldx, oldy;//未使用
int count = 0;
Font font;
Color color;
Button Button1, Button2;
public void init(){
font = new Font("Serif",Font.BOLD,72);
color = new Color((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256));
y1 = x = y = 10;
x1 = 200;
oldx = x2 = x0 = 80;
oldy = y2 = y0 = 100;
Button1 = new Button("拡大");
Button2 = new Button("縮小");
exButton.addActionListener(this);
reButton.addActionListener(this);
add(Button1);
add(Button2);
}
0960957
2005/12/04(日) 15:48:50g.setFont(font);
g.setColor(color);
/* これでいいのか!? */
if(count == 0){
x0 = 80;
y0 = 100;
}
g.fillRect(x,y,x0,y0);
/* デバッグ関数 */
g.fillRect(x1,y1,x2,y2);
g.drawString(String.valueOf(x0),10,200);
g.drawString(String.valueOf(y0),10,250);
g.drawString(String.valueOf(x2),10,300);
g.drawString(String.valueOf(y2),10,350);
g.drawString(String.valueOf(count),10,400);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == Button1){
x0 *= 1.5;
y0 *= 1.5;
count++;
}else if(e.getSource() == Button2){
x0 /= 1.5;
y0 /= 1.5;
count--;
}
repaint();
}
}
0961957
2005/12/04(日) 15:51:32一応こうすればできるんですが何か納得いきません
それにあたって拡大、縮小を繰り返しても
四角形の大きさが最初の大きさに戻るように工夫して作りなさい。
の部分を数学的な式で書き換える事はできるんでしょうか?
0962デフォルトの名無しさん
2005/12/04(日) 15:55:45簡単だよ。
初期状態を変化させるのではなく、現在どの倍率で表示するか別の変数を用いるんだ。
表示させるときだけその倍率をかけてあげる。
0963デフォルトの名無しさん
2005/12/04(日) 15:58:50手抜き…ちゃんと動くか確認してください
public void paint(Graphics g) {
g.setFont(font);
g.setColor(color);
/* これでいいのか!? */
x0 = (int) (80 * Math.pow(1.5, count));
y0 = (int) (100 * Math.pow(1.5, count));
g.fillRect(x, y, x0, y0);
/* デバッグ関数 */
g.fillRect(x1, y1, x2, y2);
g.drawString(String.valueOf(x0), 10, 200);
g.drawString(String.valueOf(y0), 10, 250);
g.drawString(String.valueOf(x2), 10, 300);
g.drawString(String.valueOf(y2), 10, 350);
g.drawString(String.valueOf(count), 10, 400);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == Button1) {
count++;
} else if (e.getSource() == Button2) {
count--;
}
repaint();
}
0965903
2005/12/04(日) 17:12:17掛け金などは無く、
最初、Player1に2枚のカード、Player2に2枚のカードが配られる
次にカードが欲しい場合は[追加]ボタンをクリックしてカードを追加
どちらかが22以上になったら負けの表示
ttp://www.bozo2.com/uploader/upload/like.JPG
こんな感じに作っていただけたら幸いです。
0966デフォルトの名無しさん
2005/12/05(月) 01:05:08RGB値は配列に入れ、青の部分のピクセル数で割った値を表示しなさい。
0967デフォルトの名無しさん
2005/12/05(月) 03:12:060968>>914 == >>921
2005/12/05(月) 07:38:54遅くなってスマンかった orz
ttp://www.wikiroom.com/java/index.php?%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
0969875
2005/12/05(月) 08:27:02有難うございます!!
これはまだアプレットに改良してないのですね。
提出日が火曜の午前12時までなので、もしやっていただけるのならばお願い
したいと思います。
もちろん、自分でも出来る限りの努力はしてみます。
宜しくお願いします。
0970デフォルトの名無しさん
2005/12/05(月) 10:43:03【 期限 】提出日 12月7日
【 Ver 】Eclipse SDK 3.1.1 j2SDK1.4.2
【 補足 】こちらのサイトにあるようなもので作っていきたいのですが
http://www.sm.rim.or.jp/~shishido/ged1.html
丸投げの状態であります ご助力をお願い致します。
0971デフォルトの名無しさん
2005/12/05(月) 11:12:210972デフォルトの名無しさん
2005/12/05(月) 15:21:59お互いに排他制御するようにしたアプレットのプログラムを作成せよ。
import javax.swing.*; import java.awt.*;
class MovingObject {
public int x; public int y; public int dx; public int dy; public int width;
MovingObject(int _x, int _y, int _dx, int _dy, int __width) {
x = _x; y = _y; dx = _dx; dy = _ dy; width = _width; }
void show(Graphics g, Color clr) { g.setCOLOR(clr); g.fillOval(x, y, width, width); } }
public class Wig extends JApplet implements Runnable {
MovingObject redBall = new MovingObject(0, 20, 20, 0, 10);
MovingObject blueBall = new MovingObject(30, 80, 20, 0, 20);
Thread redThread = new Thread(this); Thread blueThread = new Thread(this);
int interval = 1;
public void start() { redThread = new Thread(this); blueThread = new Thread(this);
redThread.start(); blueThread.start(); }
public void run(); { MovingObject obj;
if(Thread.currentThread() == redThread) obj = redBall;
else obj = blueBall;
while(true) { { try { Thread.sleep(3); } catch (InterruptedException e) { } }
if(obj.x + obj.dx < 0 || getWidth() < obj.x + obj.dx + obj.width) obj.dx = -obj.dx; obj.x += obj.dx; repaint(); } }
public void paint(Graphics g) { super.paint(g); redBall.show(g, Color.RED); blueBall.show(g, Color.BLUE); } }
【 期限 】 12月6日12時
【 Ver 】 指定なし
【 補足 】 丸投げ、お時間があるようでしたら、みなさまよろしくお願いします。
0973デフォルトの名無しさん
2005/12/05(月) 15:45:36【期限】12月7日
【補足】丸投げの状態であります、どなたかお時間あるようでしたら、
ご助力をお願い致します。
0974デフォルトの名無しさん
2005/12/05(月) 16:10:160975デフォルトの名無しさん
2005/12/05(月) 16:19:11出来上がってんじゃん
0976972
2005/12/05(月) 16:34:08できあがってるとはどういうことでしょうか?初心者なのでさっぱりわかりません
>>972で示したのは二つのオブジェクトなんですけど
0977デフォルトの名無しさん
2005/12/05(月) 16:36:55>377 にあるよ
>350の仕様を完全に無視した逆ポーランド記法用の電卓のソースを貼ってみます。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26031
から
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26037
まで。
0978デフォルトの名無しさん
2005/12/05(月) 16:37:27それコンパイル通らないし
0979デフォルトの名無しさん
2005/12/05(月) 17:59:25ページを表示できませんって出る。
0980972
2005/12/05(月) 18:08:36import javax.swing.*;
import java.awt.*;
class MovingObject {
public int x;
public int y;
public int dx;
public int dy;
public int width;
MovingObject(int _x, int _y, int _dx, int _dy, int _width) {
x = _x;
y = _y;
dx = _dx;
dy = _ dy;
width = _width;
}
void show(Graphics g, Color clr) {
g.setCOLOR(clr);
g.fillOval(x, y, width, width);
}
}
public class Wig extends JApplet implements Runnable {
MovingObject redBall = new MovingObject(0, 20, 20, 0, 10);
MovingObject blueBall = new MovingObject(30, 80, 20, 0, 20);
Thread redThread = new Thread(this);
Thread blueThread = new Thread(this);
int interval = 1;
public void start() {
redThread = new Thread(this);
blueThread = new Thread(this);
0981972
2005/12/05(月) 18:11:27redThread.start();
blueThread.start();
}
public void run() {
MovingObject obj;
if(Thread.currentThread() == redThread)
obj = redBall;
else
obj = blueBall;
while(true) {
{
try {
Thread.sleep(3);
} catch (InterruptedException e) {
}
}
if(obj.x + obj.dx < 0 || getWidth() < obj.x + obj.dx + obj.width)
obj.dx = -obj.dx;
obj.x += obj.dx;
repaint();
}
}
public void paint(Graphics g) {
super.paint(g);
redBall.show(g, Color.RED);
blueBall.show(g, Color.BLUE);
}
}
0982デフォルトの名無しさん
2005/12/05(月) 18:50:21ttp://www.wikiroom.com/java/index.php?HW972%20Wig%20MovingObject
既知のバグ:
後ろから追突されても向きが変わるときがあります
ダブルバッファリング処理を施していないので画面がチラツキます
0983デフォルトの名無しさん
2005/12/05(月) 18:51:14http://pc8.2ch.net/test/read.cgi/tech/1133778112/l50
0985デフォルトの名無しさん
2005/12/05(月) 20:01:030986943
2005/12/05(月) 20:18:33確認しました。Windowsだとピクセル単位でずれるっぽい。
修正したソースを載せておきました。
DQPokerFrame#mouseClicked()を直しました。
0987デフォルトの名無しさん
2005/12/05(月) 23:57:18明日までです。よろしくお願いします。
0988デフォルトの名無しさん
2005/12/06(火) 12:13:25ttp://www.wikiroom.com/java/index.php?HW972%20Wig%20MovingObject
0989デフォルトの名無しさん
2005/12/06(火) 17:34:09よろしくおねがいいたします
0990デフォルトの名無しさん
2005/12/06(火) 17:45:11その時、レイアウトを用いて、Canvasクラスの上部にLabelクラスを配置し、
描画した絵のタイトルを記述すること。
【期限】12月7日午前中
【補足】丸投げで申し訳ありません。どうかお願い致します。
0991987
2005/12/06(火) 20:46:26返信ありがとうございます。
これは972さんの回答と同じということでしょうか??
0992デフォルトの名無しさん
2005/12/06(火) 21:00:02ダブルバッファしたものとしてないものがある訳だから兼用でOKだと思う
0993デフォルトの名無しさん
2005/12/06(火) 21:08:13ttp://www.wikiroom.com/java/index.php?cmd=read&page=Bitmap%C6%FE%CE%CF%A4%C8Jpeg%CA%DD%C2%B8
0994デフォルトの名無しさん
2005/12/06(火) 21:32:02それコンパイル通らないよ
0995デフォルトの名無しさん
2005/12/06(火) 21:42:17貼るときに壊したかな?
エラーメッセージ出してみて
0996デフォルトの名無しさん
2005/12/06(火) 21:45:06今ならつながる。
逆ポーランド記法の電卓でいいのかどうかは知らんが。
0997デフォルトの名無しさん
2005/12/06(火) 21:47:41うちは動いてるよ。
もう一回こぴぺしてみて。
あと、ファイル名は Bmp2Jpeg.java にしないとだめだよ。
大文字小文字も一字一句違うとだめ。
0998デフォルトの名無しさん
2005/12/06(火) 21:48:47あと、念のためだけど、 J2SDK 1.4.2 で確認した。
0999デフォルトの名無しさん
2005/12/06(火) 21:49:22http://pc8.2ch.net/test/read.cgi/tech/1133778112/
1000デフォルトの名無しさん
2005/12/06(火) 21:50:36http://pc8.2ch.net/test/read.cgi/tech/1133778112/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。