**講義用スライド [#w3f2486b] #ref(./第5_5回.pdf); **基礎クラス用演習問題 [#ba900530] 解答は &size(20){ホスト名: earth.mlab.im.dendai.ac.jp}; &size(20){ディレクトリ: /home/submit/JavaBeginners/[今日の日付]/[学籍番号]}; に提出しなさい。ソースファイル (〜.java) のみを提出。 提出は gFTP 等の ftp ソフトを用いて行うこと。 &size(20){''提出先が木曜日と異なることに注意''}; ***問題1(Beginners') [#ba5c4a3f] [[10月13日>../2011年10月13日]]に作成したVector2Dクラスに,自身の長さを返すGetLengthメソッドを追加(作成)しなさい. プログラム名はVectorLengthとする. ヒント:平方根はMath.sqrtメソッドで求めることができる class Vector2D { double x; double y; double GetX() { return x; } double GetY() { return y; } void SetValue(double newx, double newy) { x = newx; y = newy; } void Print() { System.out.print("(" + x + ", " + y + ")"); } String ToString() { return "(" + x + ", " + y + ")"; } //TO DO: //属性x,yを基に自身の長さを計算し,結果を返すメソッド //GetLengthを作る } public class VectorLength { static public void main(String[] args) { if (args.length != 2) { System.out.println("引数を2つ指定してください"); return; } //TO DO: //Vector2D型の変数を作る //インスタンスを作る //コマンドライン引数1番目をx,2番目をyとしてベクトルに値をセットする //GetLengthメソッドを使用して長さをし,結果を画面に表示する //GetLengthメソッドを使用して長さを計算し,結果を画面に表示する } } 実行例(表示方法は各自変更して良い): >java VectorLength 1.0 2.0 v=(1.0, 2.0) |v|=2.23606797749979 ***問題2(Beginners') [#z6e7fabf] [[10月13日>../2011年10月13日]]に作成したVector2Dクラスに,自身を正規化する(長さを1にする)Normalizeメソッドを追加(作成)しなさい. プログラム名はVectorNormalizeとする. ヒント:正規化後のベクトルは,ベクトルvの長さがlとすると,(v.x / l, v.y / l)となる. 実行例: class Vector2D { double x; double y; double GetX() { return x; } double GetY() { return y; } void SetValue(double newx, double newy) { x = newx; y = newy; } void Print() { System.out.print("(" + x + ", " + y + ")"); } String ToString() { return "(" + x + ", " + y + ")"; } //GetLengthメソッド //TO DO: //自身を正規化するメソッドNormalizeを作成する } public class VectorNormalize { static public void main(String[] args) { if (args.length != 2) { System.out.println("引数を2つ指定してください"); return; } //TO DO: //Vector2D型の変数を作る //インスタンスを作る //コマンドライン引数1番目をx,2番目をyとしてベクトルに値をセットする //Normalizeメソッドを使用してベクトルを正規化する //正規化後の結果を画面に表示する } } 実行例(表示方法は各自変更して良い): >java VectorNormalize 1.0 2.0 v=(1.0, 2.0) Normalized v=(0.4472135954999579, 0.8944271909999159) |v|=0.9999999999999999 ←正規化後のベクトル長さが"ほぼ"1になっていることが分かる