Report1(11/1締め切り)

a.出力するメッセージを変更せよ。(hello_a.java)

・プログラム

public class Rep1_a {

public static void main(String args[]) {
System.out.println("Hello, My name is Subaru KANO!!");

}
}

・実行結果

Hello, My name is Subaru KANO!!

・考察

System.out.println("  ");は" "の間に表記されてるものを出力する。

よってHello,Java World!をHello,My name is Subaru KANO!!に変更した。

 

 b.同じメッセージを3回、別々の行に出力せよ。

・プログラム

public class Rep1_b {

public static void main(String args[]) {
System.out.println("Hello, My name is Subaru KANO!!");
System.out.println("Hello, My name is Subaru KANO!!");
System.out.println("Hello, My name is Subaru KANO!!");

}
}

・実行結果

Hello, My name is Subaru KANO!!

Hello, My name is Subaru KANO!!

Hello, My name is Subaru KANO!!

・考察

1.System.out.print("");は行末で改行なしで出力。

2.System.out.println("");は行末で改行付きで出力。

よって、同じメッセージを三回別々の行にというこのプログラムでは上記の2を用いた。

なお、C言語の¥nも使える。この場合は、

public class Rep1_b {

public static void main(String args[]) {
System.out.println("Hello, My name is Subaru KANO!!¥n Hello, My name is Subaru KANO!!¥n Hello, My name is Subaru KANO!!");

というふうになる。が、見にくいのであまり使い勝手は良くない。実行結果は一緒です。

 

c.「Hello,」と「Java World!」を別々の行に出力せよ。

・プログラム

public class Rep1_c {

public static void main(String args[]) {
System.out.println("Hello,");
System.out.println("Java World!");
}
}

・実行結果

Hello,
Java World!

・考察

仕組みとしては課題bと同じ。System.out.println("");を2回使い、改行した。

もちろん¥nを用いても可能。この場合はSystem.out.println("Hello,¥nJava World!")で行う。

こういった短い文章の場合は、有効的手段である。

 

d.System.out.println(…)とSystem.out.print(…)の違いについて延べよ。

・プログラム

public class Rep1_d {

public static void main(String args[]) {
System.out.print("<Case by print>¥n");
System.out.print("My job");
System.out.print(" is");
System.out.print(" salesman.¥n");
System.out.print("----------------------¥n");
System.out.println("<Case by println>");
System.out.println("My job");
System.out.println("is");
System.out.println("salesman.");
}
}

・実行結果

<Case by print>
My job is salesman.
----------------------
<Case by println>
My job
is
salesman.

・考察

1.課題dでは、すでに前出しているprintとprintlnの違いを示す。

よって、1つのプログラムの中に両方用いて実行結果を比較してみた。

2.printの場合には三行で書いたにもかかわらず一行に収まっている。

3.printlnの場合には三行で書いたものが、三行で出力されている。

このことから、printの場合には文末で改行なしで出力し、printlnの場合には文末で改行して出力する事がわかる。

 


e.同じメッセージを3回、同一行に出力せよ。

・プログラム

public class Rep1_e {

public static void main(String argv[]) {
System.out.print("Subaru,");
System.out.print("Subaru,");
System.out.println("Subaru.");
}
}

 

・実行結果

Subaru,Subaru,Subaru.

・考察

1.課題dでprintとprintlnの違いを示したので、今回はprintを使えばいい事がわかる。

2.最後はprintlnを使用したが、これはプロンプトを次の行に表示させるためである。

 

f.次のような菱形模様(「*」を用いる)を出力せよ。

・プログラム

 public class Rep1_f {

 public static void main(String argv[]) {
System.out.println(" * "); System.out.println(" *** "); System.out.println("*****"); System.out.println(" *** "); System.out.println(" * "); } }

 

・実行結果

   *
***
*****
***
*

 

・考察

1.printlnを使い*で菱形を出力した。

スペースで菱形になるように調整した。

g.「*」を用いて、自分の好きな形を出力せよ。

・プログラム

public class Rep1_g {

	public static void main(String argv[]) {
		System.out.println("                                 ");
		System.out.println("                 *               ");
		System.out.println("                ***              ");
		System.out.println("               ** **             ");
		System.out.println("              **   **            ");
		System.out.println("             **  *  **           ");
		System.out.println("            **  ***  **          ");
		System.out.println("           **  *****  **         ");
		System.out.println("          **  *******  **        ");
		System.out.println("         **  *********  **       ");
		System.out.println("          **  *******  **        ");
		System.out.println("           **  *****  **         ");
	        System.out.println("            **  ***  **          ");
                System.out.println("             **  *  **           ");
		System.out.println("              **   **            ");
                System.out.println("               ** **             ");
                System.out.println("                ***              ");
		System.out.println("                 *               ");
	}
}

 

・実行結果



*
***
** **
** **
** * **
** *** **
** ***** **
** ******* **
** ********* **
** ******* **
** ***** **
** *** **
** * **
** **
** **
***
*

 

・考察

1.課題fと同じ考え方作りました。最初はキャラクターの顔を出力しようとしたけど、途中で断念。代わりにダイヤの二層版?を作成しました。

結構大変でした。

☆文法事項等☆

1.System クラスは java.lang パッケージに含まれる。

2.コンパイルエラーについての考察。

 a.コンパイルエラーは、 Java プラットフォームがエラー箇所を報告してくれる。また、エクリプスを用いて

書くとエラーしている、その行を指し示してくれるのでかなり便利。

 b.Javaは、プログラム全体を、クラスという形に分割できるので、コンパイルエラーに強いといわれている。

 c.C言語と同じように、文末には;が必要。

 d。コンパイルエラーの原因として、スペルミス、大小文字の間違い、また、ファイルの名前とメインクラス名が不一致だと考えられる。

 

〜反省・感想〜

 これからは日曜の夜が潰れてしまうのか。。。と悲しみに打ちひしがれつつ、第1回めのレポートが完成しました。

先生が授業中しきりにエクリプスが使いやすい!と言ってた意味が使ってみるとすぐにわかりました。

”かなり”使い勝手が良いです。

今回の レポートはまださわりのほうなので切り抜けられましたが、どんどん難しくなっていくはず。

なので、皆に遅れをとらないように、がんばっていきたいと思います。

〜参考文献など〜

1.独習Java 第二版

2.Java入門 http://msugai.fc2web.com/java/index.html#basic