REPORT1



 public class Hello{
  public static void main(String[] argv){
   System.out.println("Hello.Java World!");
  }
 }
 
例題Helloを以下のように書き換えて、出力せよ。
a 出力するメッセージを変更せよ。
b 同じメッセージを3回、別々の行に出力せよ。
c 「Hello」と「Java World!」を別々の行に出力せよ。
d System.out.println(...)とSystem.out.print(...)の違いについて延べよ。
e 同じメッセージを3回、同一行に出力せよ。
f 次のような菱形模様(「*」を用いる)を出力せよ。
   *
  ***
 *****
  ***
   *
 
g 「*」を用いて自分の好きな形を出力せよ。

a 出力するメッセージを変更せよ。
プログラム
 public class Myname{
  public static void main(String[] argv);{
   System.out.println("My name is Tetsuya");
  }
 }
 
結果

[nw0448:~/prog2/report1/repo1-a] j04048% java Myname
My name is Tetsuya

考察
Hello.Java world!をMy name is Tetsuyaに変更してみた。
System.out.println("...")はダブルクォーテーションで囲まれた文字を表示 する。
System.out.println("...")のダブルクォーテーションで囲まれた部分を変 更するとメッセージが変わる。

b 同じメッセージを3回、別々の行に出力せよ。
プログラム
 public class Myname2
  public static void main(String[] argv);
   System.out.println("My name is Tetsuya");
   System.out.println("My name is Tetsuya");
   System.out.println("My name is Tetsuya");
  }
 }
 
結果
[nw0448:~/prog2/report1/repo1-b] j04048% java Myname2
My name is Tetsuya
My name is Tetsuya
My name is Tetsuya

考察
何も考えずに三行に書いてみた
System.out.printlnを三行に続けて書くと三行に表示される。

c 「Hello.」と「Java World!」を別々の行に出力せよ。
プログラム
 public class Hello2{
  public static void main(String[] argv){
   System.out.println("Hello");
   System.out.println("Java World!");
    }
}
 
結果
[nw0448:~/prog2/report1/repo1-c] j04048% java Hello2
Hello
Java World!

考察
HelloとJava World!を別々のprintlnで出力してみた
これでは面白くないので、教科書を調べてみるとバックスラッシュコードを見つ けたので試してみると結果は同じになった。

プログラム
public class Hello22{
    public static void main(String[] argv){
        System.out.println("Hello.\nJava World!");
    }
}

d System.out.println(...)とSystem.out.print(...)の違いに ついて延べよ。
プログラム
 public class Print{
  public static void main(String[] argv){
   System.out.println("println");
   System.out.println("println");
   System.out.print("print");
   System.out.print("print");
    }
}
 
結果
[nw0448:~/prog2/report1/repo1-d] j04048% java Print
println
println
printprint

考察
printlnとprintで出力の違いを見る為に二回づつ書いてみた
printlnでは二つの行に出力されているので改行されていることが分かる。
printでは同じ行に出力されているので改行がされないことが分かる。

e 同じメッセージを3回、同一行に出力せよ。
プログラム
 public class Mayday{
  public static void main(String args[]){
   System.out.print("Mayday! Mayday! ");
   System.out.print("Mayday! Mayday! ");
   System.out.print("Mayday! Mayday! ");
  }
 }
 
結果
[nw0448:~/prog2/report1/repo1-e] j04048% java Mayday
Mayday! Mayday! Mayday! Mayday! Mayday! Mayday!

考察
printでは改行されないので出力される文字が同じ行に続けて出力される

f 次のような菱形模様(「*」を用いる)を出力せよ。
プログラム
 public class shape{
  public static void main(String args[]){
   System.out.println("  *  ");
   System.out.println(" *** ");
   System.out.println("*****");
   System.out.println(" *** ");
   System.out.println("  *  ");
  }
 }
 
結果
[nw0448:~/prog2/report1/repo1-f] j04048% java shape
  *  
 *** 
*****
 *** 
  * 
 
考察
printlnを五行に分けて菱形を出力してみた

g 「*」を用いて、自分の好きな形を出力せよ。
プログラム
 public class shape2{
  public static void main(String args[]){
   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("     ***     ");
  }
 }
 
結果
[nw0448:~/prog2/report1/repo1-g] j04048% java shape2
*** *** *** ********* ********* ********* *** *** ***
考察
十字架を書いてみました。とても簡単にできました。
手抜きではないです。他の形を思いつかなかったので。

コンパイルエラー
プログラムEx1.java
public class ex1 {

public static void main(String[] args) {
         System.out.println("err");
	 }
}
結果
「Exception in thread "main" java.lang.NoClassDefFoundError: ex1」とメッセー ジが出た

考察
ファイル名とクラス名を違ったものにしたみた結果、エラーが出た。
ファイル名とクラス名は同じものに統一しなければならない。

感想・反省

今回のレポートは一回目ということで、ほとんど優しい課題だけだったと思う。 前期のC言語の一回目と比べたらJAVAの課題の方が簡単に思えた。しかし、今後 も気を抜くこと無く課題に取り組んでいきたい。

参考
独学Java 第二版
ジョセフ・オニール著