- 追加された行はこの色です。
- 削除された行はこの色です。
[[プログラミング基礎]]
**講義用スライド [#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メソッドを使用して長さを計算し,結果を画面に表示する
}
}
実行例(表示方法は各自変更して良い):
>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になっていることが分かる