演習 5-1 (個人): 関数型インターフェースを使ってみましょう。
import java.util.function.Function; public class Main{ // 文字列 "hoge=" + (a-5) を返す関数 Main::hoge を作成してください public static String hoge( Integer a ){ return ? } public static void main(String[] args) { Function< Integer, String > function; // 関数型インターフェース function に関数 Main::hoge を代入してください function = ? // 321 を引数にして function を呼び出し、その結果を表示してください System.out.println( function.apply( ? ) ); } } 結果: hoge=316
フォルダ「JAVABSC_5_1」を新規作成し、その中に移動します
フォルダ「JAVABSC_5_1」の中で新規に 1 つソースを作ります。ファイル名を「Main.java」とします。
上のコードをコピーして、解答します。
コンパイルして実行します。
チーム内で答え合わせをしてください。
指定場所に「ソースコード」と「実行結果」を記入して下さい。
演習 5-2 (個人): ラムダ式を使ってみましょう。
import java.util.function.Function; public class Main{ public static void main(String[] args) { Function< Integer, String > function; // a を引数に持ち文字列 "hoge=" + (a+1) を返すラムダ式を関数型インターフェースに代入してください // 正式版でも省略版でもどちらでも可です function = ? // 789 を引数にして function を呼び出し、その結果を表示してください System.out.println( function.apply( ? ) ); } } 結果: hoge=790
フォルダ「JAVABSC_5_2」を新規作成し、その中に移動します
フォルダ「JAVABSC_5_2」の中で新規に 1 つソースを作ります。ファイル名を「Main.java」とします。
上のコードをコピーして、解答します。
コンパイルして実行します。
チーム内で答え合わせをしてください。
指定場所に「ソースコード」と「実行結果」を記入して下さい。
演習 5-3 (個人): リスト + forEach + ラムダ式を使ってみましょう。
import java.util.ArrayList; public class Main{ // (注) Javaのラムダ式はローカル変数の値を書き換えられないので static int で定義しています static private int goukei; public static void main(String[] args) { ArrayList< Integer > list = new ArrayList< Integer >(); list.add( 4 ); list.add( -3 ); list.add( 5 ); // forEach 文をラムダ式を使って list に収められている数値の合計を求めてください // ラムダ式の引数は a とします // ラムダ式は正式版でも省略版でもどちらでも可です goukei = 0; list.forEach( ? ); System.out.println( goukei ); } } 結果: 6
フォルダ「JAVABSC_5_3」を新規作成し、その中に移動します
フォルダ「JAVABSC_5_3」の中で新規に 1 つソースを作ります。ファイル名を「Main.java」とします。
上のコードをコピーして、解答します。
コンパイルして実行します。
チーム内で答え合わせをしてください。
指定場所に「ソースコード」と「実行結果」を記入して下さい。
演習 5-4 (個人): マップ + forEach + ラムダ式を使ってみましょう。
import java.util.HashMap; public class Main{ public static void main(String[] args) { HashMap< String, Integer > map = new HashMap< String, Integer >(); map.put( "札幌", 12 ); map.put( "函館", 34 ); map.put( "旭川", 56 ); map.put( "釧路", 34 ); // key がキー、value が値です // value が34であるkeyを全て表示してください map.forEach( (key,value) -> { if( ? ){ System.out.println( ? ); } } ); } } 結果: 函館 釧路
フォルダ「JAVABSC_5_4」を新規作成し、その中に移動します
フォルダ「JAVABSC_5_4」の中で新規に 1 つソースを作ります。ファイル名を「Main.java」とします。
上のコードをコピーして、解答します。
コンパイルして実行します。
チーム内で答え合わせをしてください。
指定場所に「ソースコード」と「実行結果」を記入して下さい。