Report#1

戻る

例題Hello

プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("Hello, Java World!"); 4. } 5. }
実行結果
Hello, Java World!
 このプログラムは、標準出力にHello, Java World!を出力するプログラムである

問題文

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

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

プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("I like FINAL FANTASY"); 4. } 5. }
実行結果
I like FINAL FANTASY
プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("Hello, Java\r World"); 4. } 5. }
実行結果
World Java
 試しにエスケープシーケンスを使ってみたら、出来てしまった。無理だと思っていたのだが。

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

プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("Hello, Java World"); 4. System.out.println("Hello, Java World"); 5. System.out.println("Hello, Java World"); 6. } }
実行結果
Hello, Java World Hello, Java World Hello, Java World

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

プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("Hello,"); 4. System.out.println("Java World"); 5. } 6. }
実行結果
Hello, Java World
プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("Hello, \nJava World"); 4. } 5. }
実行結果
Hello, Java World
プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("Hello, \fJava World"); 4. } 5. }
実行結果
Hello, Java World

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

プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.print("Hello,"); 4. System.out.println("Java World"); 5. } 6. }
 上のプログラムは、問題cのプログラムのSystem.out.println("Hello,");を、System.out.print("Hello,");に変え
たものであり、実行結果は以下のようなものになる。 実行結果
Hello,Java World
 問題cと、このプログラムと実行結果より、System.out.printlnとSystem.out.printの違いは、「前者は改行の機能があ
り、後者は改行の機能がない」である。

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

プログラム1
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.print("Hello, Java World "); 4. System.out.print("Hello, Java World "); 5. System.out.println("Hello, Java World "); 6. } 7. }
実行結果1
Hello, Java World Hello, Java World Hello, Java World
プログラム2
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("Hello, Java World Hello, Java World Hello, Java World "); 4. } 5. }
実行結果2
Hello, Java World Hello, Java World Hello, Java World

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

* *** ***** *** * プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println(" *"); 4. System.out.println(" ***"); 5. System.out.println("*****"); 6. System.out.println(" ***"); 7. System.out.println(" *"); 8. } 9. }
実行結果
* *** ***** *** *

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

プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("* *"); 4. System.out.println(" * * * *"); 5. System.out.println(" * * *"); 6. System.out.println(" * *"); 7. } 8. }
実行結果 * * * * * * * * * * *

エラーについて

プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("Hello, Java World") 4. } 5. }
実行結果
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Syntax error, insert ";" to complete Statement
 このエラーメッセージは、「構文エラー、ステートメントを完成させるために";"を挿入せよ」を意味している。 プログラム
1. public class Hello { 2. public static void main(String[] argv){ 3. System.out.println("Hello, Java World"; 4. } 5. }
実行結果
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Syntax error, insert ")" to complete Expression
 このエラーメッセージは、「構文エラー、ステートメントを完成させるために")"を挿\入せよ」を意味している。 プログラム
1. public class Hello { 2. public static void main(String[] args) { 3. System.out.println("Hello," World!"); 4. } 5. }
実行結果
Syntax error, insert ";" to complete BlockStatements Syntax error, insert ")" to complete MethodInvocation
 この2つのメッセージは、「構文エラー、ブロックステートメントを完成させるために";"を挿入せよ」と「構文エラー、メソッ
ド実地を完成させるために")"を挿入せよ」を意味している。  しかし、";"と")"を挿入してもコンパイルできそうもないが、念のためやってみたがやはりできなかった。何故このようなメッ
セージが出るのだろうか?