今週と来週は椎尾は手術入院でお休みします。 その代わり自習とします。
それぞれの課題は、次のページをみてください。
例えば以下のような実行結果が出るようにしてください
public class Point {
private int x, y;
void set(int newx, int newy) {x=newx; y=newy;}
int getx() { return x;}
int gety() { return y;}
void print () {
System.out.println(x + ", " + y);
}
public static void main(String argv[]) {
Point pt1= new Point();
Point pt2 = new Point();
pt1.set(10,20);
pt2.set(-pt1.getx(), -pt1.gety());
pt1.print();
pt2.print();
}
}
10, 20, 30 -10, -20, -30
という結果が出るようにしましょう
public static void main(String argv[]) {
Point3D pt1 = new Point3D();
Point3D pt2 = new Point3D();
pt1.set(10, 20, 30);//インスタンス変数を設定
pt2.set(-pt1.getx(), -pt1.gety(), -pt1.getz());
pt1.print();//インスタンスメソッド呼出
pt2.print();
}
10, 20, 30 -10, -20, -30 74.83314773547883
という結果が出るようにしましょう
public static void main(String argv[]) {
Point3D pt1 = new Point3D();
Point3D pt2 = new Point3D();
pt1.set(10, 20, 30);//インスタンス変数を設定
pt2.set(-pt1.getx(), -pt1.gety(), -pt1.getz());
pt1.print();//インスタンスメソッド呼出
pt2.print();
System.out.println(pt1.distance(pt2));
}
double distance ( int ptx, int pty, int ptz ) {
int dx = ptx - this.x;
int dy = pty - this.y;
int dz = ptz - this.z;
return Math.sqrt(dx * dx + dy * dy + dz * dz);
}
double distance ( Point3D p ) {
return this.distance(p.getx(), p.gety(), p.getz());
}
こちらからダウンロードできます。 演習室のOSにあわせたバージョンをダウンロードします。
https://coteditor.com/archives.ja
class ArgsTest {
public static void main (String argv[]) {
System.out.println(argv[0]);
}
}
解答
class ArgsTest {
public static void main (String args[]) {
System.out.println(args[0] + " + " + args[1]);
}
}
乱数を10個表示する
public class Score {
public static void main (String argv[]) {
int i,a;
for(i=0;i<10;i++) {
a=(int)(Math.random() * 100);
System.out.println(a);
}
}
}
次にこの乱数を点数とみなして、演習問題5.4の基準に従ってABCDEを表示するプログラムを書け。 動作例を以下に示す。
解答例:
public class Score {
public static void main (String argv[]) {
int i,a;
for(i=0;i<10;i++) {
a=(int)(Math.random() * 100);
System.out.print(a + " ");
if(a<40) System.out.println("D");
else if(a<60) System.out.println("C");
else if(a<80) System.out.println("B");
else System.out.println("A");
}
}
}
class ArrayTest {
public static void main (String args[]) {
int[] vec = new int[3];
vec[0]=1;
vec[1]=2;
vec[2]=3;
for (int x: vec) {
System.out.println(x);
}
}
}
mainの引数argsは、Stringの配列で、コマンドラインで起動したとき、 コマンドの後に続けた書いた文字が入っています。 args[0], args[1], args[2] .... をすべてfor-each文で 表示するプログラムを書いてみましょう。
ヒント:for(String s: args)を使います
class ArgsTest2 {
public static void main (String args[]) {
for(String s: args)
System.out.println(s);
}
}
3/4以上出席してください。(欠席は3回まで)欠席4回で自動的に不可になります。
http://docs.oracle.com/javase/jp/8/docs/api/index.html
/home/isstaff/siio/Public/Drop Box/.
に提出してください。ターミナル.appからなら
cp 123456siioitiro.zip /home/isstaff/siio/Public/Drop\ Box
としてください。ファインダーからなら、メニューから「移動」「フォルダへ移動...」を選んで 以下のように入力して、移動ボタンを押して、そこに現れるドロップボックスホルダに、ドラッグアンドドロップしてください。
/home/isstaff/siio/Public/Drop Box/.に提出してください。ターミナル.appからなら
cp 123456siioitiro.zip /home/isstaff/siio/Public/Drop\ Boxとしてください。ファインダーからなら、メニューから「移動」「フォルダへ移動...」を選んで 以下のように入力して、移動ボタンを押して、そこに現れるドロップボックスホルダに、ドラッグアンドドロップしてください。
http://www.amazon.co.jp/dp/4883732258/
買ってください。もしくは、先輩から安く譲ってもらってください。
Mac OS XはJavaと相性が良く、最初からjavaがインストールされています。 ということでWindowsより簡単に(というか何もしなくても)javaが使えます。
/.bash_profileを開いて以下の行を追加します
alias javac='javac -J-Dfile.encoding=UTF-8' alias java='java -Dfile.encoding=UTF-8'
class Hello {
public static void main (String args[]) {
System.out.println("hello java world!");
}
}
javac Hello.java (コンパイルする) java Hello (実行する。.javaなどの拡張子は不要) hello java world! (結果)
授業の最後の方で紹介する,Swingというフレームワークを使ってウィンドウを出してみます.
import javax.swing.JFrame;
public class SimpleWindow {
public static void main(String argv[]) {
JFrame f = new JFrame("私が作った最初の窓");
f.setSize(200,100);
f.setVisible(true);
}
}
これをSimpleWindow.javaという名前で保存して、
javac SimpleWindow.java java SimpleWindow
とタイプしてコンパイル/実行します。 このプログラムは,ウィンドウのクローズボタンを押しても終了しません. プログラムを停止するには,ターミナルでコントロール-cを押します.
学部「ヒューマンインタフェース」は出席重視の授業です.そのため70%以上出席お願いします. 授業回数が15回程度と見込まれますので,欠席が4回を超えた場合は単位が出ません. 以下に授業全体の欠席状況を示しておきます. 欠席回数は成績に大きく影響しますので、間違いありましたら至急お知らせください.
| 学籍番号 | 4月8日 | 4月15日 | 4月22日 | 5月6日 | 5月13日 | 5月20日 | 5月27日 | 6月3日 | 6月17日 | 6月24日 | 7月1日 | 7月15日 | 7月22日 | 7月29日 | 出席点 |
| 1420501 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 出 | 出 | |
| 1420502 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420503 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 出 | |
| 1420504 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | |
| 1420505 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420506 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420507 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420508 | 出 | 欠 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420509 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420510 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 欠 | 出 | 出 | 出 | |
| 1420511 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420512 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420513 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420514 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420515 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420516 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 出 | 出 | 出 | 出 | 出 | |
| 1420517 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420518 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420519 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420520 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | |
| 1420521 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420522 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | |
| 1420523 | 出 | 出 | 出 | 出 | 欠 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420525 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420526 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 欠 | |
| 1420527 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420528 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420529 | 出 | 出 | 欠 | 欠 | 出 | 欠 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 出 | |
| 1420530 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420531 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 出 | 欠 | |
| 1420532 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 欠 | 出 | 欠 | |
| 1420533 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420534 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420535 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420536 | 出 | 出 | 出 | 出 | 欠 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420537 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420538 | 出 | 出 | 出 | 出 | 出 | 欠 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420539 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420540 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1420541 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | 出 | |
| 1220116 | 出 | 欠 | 欠 | 欠 | 欠 | 欠 | 欠 | 欠 | 欠 | 欠 | 欠 | 欠 | 欠 | 欠 | 不可 |
| 1220121 | 出 | 出 | 出 | 欠 | 出 | 出 | 出 | 欠 | 出 | 出 | 出 | 出 | 出 | 出 |
| 提出日 | 学籍番号もしくはペンネーム |
| 2016/8/31 | 1420512 |
| 2016/8/31 | 1420513 |
| 2016/8/31 | zzz |
| 2016/8/31 | 1420507 |
http://www.amazon.co.jp/dp/4781912605/
(授業開始直前や直後に差し替えされている可能性があります。)