Report#1


学籍番号:055704J
氏 名 :伊志嶺拓人


  • a.出力するメッセージを変更せよ。

    ■プログラム

    public class repo1a {
        public static void main(String args[]){
            System.out.println("('-')/Goodbye, Japan!!");
        }
    }

    ■実行結果

    ('-')/Goodbye, Japan!!

    ■考察

    出力されるのは System.out.println("この部分");なので、そこに出力したい文字をいれて出力しました。
  • b.同じメッセージを3回、別々の行に出力せよ。


    ■プログラム1

    public class repo1b {
        public static void main(String args[]){
            System.out.println("Goodbye,Japan!");
            System.out.println("Goodbye,Japan!");
            System.out.println("Goodbye,Japan!");
        }
    }

    ■実行結果

    Goodbye,Japan!
    Goodbye,Japan!
    Goodbye,Japan!
    

    ■考察

    同じメッセージを3回別々の行に出力するために System.out.printlnを3行にして、文字列が3回出力されるようにしました。

    ■プログラム2

    public class repo1b {
        public static void main(String args[]){
           System.out.println("Goodbye,Japan!\nGoodbye,Japan!\nGoodbye,Japan!");
        }
    }
    

    ■実行結果

    Goodbye,Japan!
    Goodbye,Japan!
    Goodbye,Japan!
    

    ■考察

    今度は System.out.printlnを一つだけ使い文字列を¥nを使って改行させて出力しました。

    ■プログラム3

    public class repo1b {
        public static void main(String args[]){
        int i;
        for(i=0;i<3;i++){
            System.out.println("Goodbye,Japan!");}
        }
    }
    

    ■実行結果

    Goodbye,Japan!
    Goodbye,Japan!
    Goodbye,Japan!
    

    ■考察

    for文を使って3回文字列の出力を行いました。変数を好きな時に使えるのでビックリです。
  • c.「Hello,」と「Java World!」を別々の行に出力せよ。


    ■プログラム1

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

    ■実行結果

    Hello,
    Java World!
    

    ■考察

    Hello,とJava World!の間に¥nを入れて改行させる事により別々の行に出力させました。

    ■プログラム2

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

    ■実行結果

    Hello,
    Java World!
    

    ■考察

    printlnを2行使って「Hello,」と「Java World!」を別々に出力しました。
  • d.System.out.println(…)とSystem.out.print(…)の違いについて延べよ。


    ■プログラム

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

    ■実行結果

    Hello,Java
    Hello,Java
    Hello,JavaHello,Java~/java[2005:Oct:29:Sat:0:02]%
    

    ■考察

    printlnを使った場合は文字列が改行されてる事から、printlnは文字列出力後に改行を行う。一方printの場合は文字列は改行されてなく、プロンプトも同じ行に出てくる事から、printは文字列出力のみ行い改行しない。
  • e.同じメッセージを3回、同一行に出力せよ。


    ■プログラム1

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

    ■実行結果

    Java World!! Java World!! Java World!!
    

    ■考察

    printは文字列出力後に改行しないので、printを3回使って同じ文字列を同一行に出力させてみました。

    ■プログラム2

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

    ■実行結果

    Java World!! Java World!! Java World!!
    

    ■考察

    同じ文字列を一行に3回書いて、そのまま出力しました。
  • f.次のような菱形模様(「*」を用いる)を出力せよ。


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

    ■プログラム

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

    ■実行結果

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

    ■考察

    printlnを5行使い、スペースで*の位置を調節しながら菱形を作りました。
  • g.「*」を用いて、自分の好きな形を出力せよ。


    ■プログラム

    public class repo1g {
        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(" *******  **   **  ******* **        * **   **  ");
        }
    }   
    

    ■実行結果

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

    ■考察

    BREAKと出力してみました。ソースを1行にまとめて¥nを使ってやってたら大変なので行に分けてやりました。

    ■エラー考察

    ■プログラム1.セミコロン離脱

    public class repo1era {
        public static void main(String args[]){
            System.out.println("エラー考察") //セミコロン取ってみました
        }
    }

    ■コンパイル

    ####################################
        }
        ^
    ###########

    ■考察

    やはりセミコロンは外せないです。c言語と違ってエラーの場所を教えてくれないのが 残念だと思いました

    ■プログラム2.class名を変更

    public class repo1 { //class名はrepo1eraだけどrepo1でやってみた
        public static void main(String args[]){
            System.out.println("エラー考察");
        }
    }

    ■コンパイル

    javac repo1era.java
    ###########################################
            System.out.println(エラー考察);
                                       ^
    ###########
    

    ■考察

    やはりclass名は同じにしないとダメです。

    ■プログラム3. System.out.printlnをsystem.out.printlnに

    public class repo1era {
        public static void main(String args[]){
            system.out.println("エラー考察") 
        }
    }

    ■コンパイル

    ####################################################
            system.out.println("エラー考察");
                  ^
    ###########
    

    ■考察

    大文字と小文字の違いを認識するようです。

    反省・感想

    ・javaはc言語と結構似ていると思いました。
    ・エラーの場所をちゃんと教えてくれないのはc言語に負けてるなと思いました。
    ・変数名を定義しなくていいのはjavaの勝ちだなと思いました。

    ●参考文献:独習Java 第3版