**講義用スライド [#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になっていることが分かる

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS