java練習問題
java練習問題
動作環境と問題内容について
javaの練習問題です。 出題範囲はjava 8 で追加された範囲を中心とします。難易度は Java SE 8 Programmer I の試験と同程度※を想定しています。
※ただし、場合によっては同試験には出題されない内容や形式が含まれることもあります。あくまでも難易度の目安として解答してください。
実行環境は以下の通りです。
PC:MacBook Pro 2011early 15inch
OS:Windows 8.1(デュアルブート) 64bit版
メモリ:16GB(8GB x 2)
CPU:Core i7-2635QM 2.00GHz
javaのバージョン:java 8 Update102
※問題文に書いてあるプログラムを実行する際は自己責任で実行してください。
問題
次のプログラムを作成した。コンパイル、実行に関して以下の問いに答えなさい。
プログラム(Sample.java)
import java.time.*; public class Sample{ public static void main(String[] args){ LocalDate date = new LocalDate(2017, 1, 1); System.out.println(date.toString()); } }
問.Sample.javaをコンパイル、実行するとどうなるか。下記の選択肢 a ~ d から正しいものを選べ。
選択肢
a. 2017-01-01と表示される
b. 2017/01/01と表示される
c. コンパイルエラー
d. 実行時エラー
解答
c. コンパイルエラー
解説
java.timeパッケージはjava 8から追加されたパッケージで、日付や時間に関するクラスやインタフェースがまとめられている。
日付を扱うクラスとしてはjava 7でもjava.util.Calendarクラスなどある。しかし、java.util.Calendarクラスなどの、日付や時刻を扱うための既存のクラスには特有の扱いにくさがあった。そこで、新しくまとめられたのがjava.timeパッケージ内の各クラスとインタフェースである。
前回はLocalDate、LocalTime、LocalDateTimeクラスのofメソッドを扱ったが、今回はLocalDateクラスのインスタンス化が題材となっている。
LocalDateクラスのインスタンスは、parse()メソッドを利用して文字列をもとに取得したり、of()メソッドを利用してint型の数字をもとにして取得したりすることができる。
ただし、LocalDateクラスのオブジェクトはnewによるインスタンス化で取得することはできない。
よって、コンパイルエラーとなる。
各メソッドを利用したインスタンスの取得方法についてはこちらの記事を参照。
オススメ!!→ java 8 の問題はこちら