package Ġcom . rk . learn kotlin . learn kotlin . challenge 2 Ċ Ċ fun Ġmain () Ġ{ ĊĊĠĠĠ Ġ// Ġ 1 . ĠDeclare Ġa Ġnon - nullable Ġfloat Ġvariable Ġtwo Ġways , ĊĠĠĠ Ġ// Ġand Ġassign Ġit Ġthe Ġvalue Ġ- 3 8 4 7 . 3 8 4 ĊĠĠĠ Ġval Ġfloat 1 Ġ= Ġ- 3 8 4 7 . 3 8 4 f ĊĠĠĠ Ġval Ġfloat 2 : ĠFloat Ġ= Ġ- 3 8 4 7 . 3 8 4 f ĊĊĠĠĠ Ġ// Ġ 2 . ĠNow Ġchange Ġboth Ġof Ġthose Ġvariable Ġdeclarations Ġinto Ġnullable Ġvariables . ĊĠĠĠ Ġval Ġnullable Float 1 : ĠFloat ? Ġ= Ġ- 3 8 4 7 . 3 8 4 f ĊĠĠĠ Ġval Ġnullable Float 2 : ĠFloat ? Ġ= Ġ- 3 8 4 7 . 3 8 4 f ĊĊĠĠĠ Ġ// Ġ 3 . ĠNow Ġdeclare Ġan Ġarray Ġof Ġtype Ġnon - nullable ĠShort . ĠMake Ġit Ġsize Ġ 5 , ĊĠĠĠ Ġ// Ġand Ġassign Ġit Ġthe Ġvalues Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġand Ġ 5 . ĊĠĠĠ Ġval Ġshort Numbers 1 Ġ= Ġshort ArrayOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ) Ġ// ĠPrimitive ĠShort Array Ġclass ĊĠĠĠ Ġval Ġshort Numbers 2 : ĠArray < Short > Ġ= ĠarrayOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ) Ġ// ĠGeneric Ġclass ĠArray < Short > ĊĠĠĠ Ġval Ġshort Numbers 3 Ġ= ĠArray < Short >( 5 ) Ġ{ Ġi Ġ-> Ġ( i Ġ+ Ġ 1 ). to Short () Ġ} Ġ// ĠSame Ġas Ġabove ĊĊĠĠĠ Ġ// Ġ 4 . ĠNow Ġdeclare Ġan Ġarray Ġof Ġnullable ĠIn ts Ġand Ġinitialize Ġit Ġwith Ġthe Ġvalues ĊĠĠĠ Ġ// Ġ 5 , Ġ 1 0 , Ġ 1 5 , Ġ 2 0 , Ġ 2 5 , Ġ 3 0 , Ġ 3 5 , Ġ 4 0 , Ġ 4 5 , Ġ 5 0 , Ġetc ., Ġall Ġthe Ġway Ġup Ġto Ġ 2 0 0 . ĊĠĠĠ Ġval Ġnullable Int Numbers Ġ= ĠArray < Int ? >( 4 0 ) Ġ{ i Ġ-> Ġ( i Ġ+ Ġ 1 ) Ġ* Ġ 5 } ĊĊĠĠĠ Ġ// Ġ 5 . ĠYou Ġhave Ġto Ġcall Ġa ĠJava Ġmethod Ġwith Ġthe Ġfollowing Ġsignature Ġfrom ĠKotlin : ĊĠĠĠ Ġ// Ġpublic Ġvoid Ġmethod 1 ( char [] ĠcharArray ). ĠDeclare Ġan Ġarray Ġthat Ġyou Ġcould ĊĠĠĠ Ġ// Ġpass Ġto Ġthe Ġmethod Ġand Ġinitialize Ġit Ġwith Ġthe Ġvalues Ġ' a ', Ġ' b ', Ġand Ġ' c '. ĊĠĠĠ Ġval ĠcharArray Ġ= Ġchar ArrayOf (' a ', Ġ' b ', Ġ' c ') ĊĊĠĠĠ Ġ// Ġ 6 . ĠGiven Ġthe Ġfollowing Ġcode : ĊĠĠĠ Ġval Ġx : ĠString ? Ġ= Ġ" I ĠAM ĠIN ĠUPPER CASE " ĊĠĠĠ Ġ// ĠUsing Ġone Ġline Ġof Ġcode , Ġdeclare Ġanother Ġstring Ġvariable , ĊĠĠĠ Ġ// Ġand Ġassign Ġit Ġx . toLowerCase () Ġwhen Ġx Ġisn 't Ġnull , ĊĠĠĠ Ġ// Ġand Ġthe Ġstring Ġ" I Ġgive Ġup !" Ġwhen Ġx Ġis Ġnull . ĊĠĠĠ Ġval Ġy Ġ= Ġx ?. lowercase () Ġ?: Ġ" I Ġgive Ġup !" ĊĊĠĠĠ Ġ// Ġ 7 . ĠNow Ġuse Ġthe Ġlet Ġfunction Ġto Ġ( a ) Ġlowercase Ġthe Ġstring , Ġand Ġthen ĊĠĠĠ Ġ// Ġ( b ) Ġreplace Ġ" am " Ġwith Ġ" am Ġnot " Ġin Ġthe Ġresult ĊĠĠĠ Ġx ?. let Ġ{ Ġit . lowercase (). replace (" am ", Ġ" am Ġnot ") Ġ} ĊĊĠĠĠ Ġ// Ġ 8 . ĠYou 're Ġreally , Ġreally Ġconf ident Ġthat Ġthe Ġvariable Ġmy NonNull Variable Ġcan 't ĊĠĠĠ Ġ// Ġcontain Ġnull . ĊĠĠĠ Ġ// ĠChange Ġthe Ġfollowing Ġcode Ġto Ġassert Ġthat Ġmy NonNull Variable Ġisn 't Ġnull ĊĠĠĠ Ġ// Ġ( and Ġshoot Ġyourself Ġin Ġthe Ġfoot !) ĊĠĠĠ Ġval Ġmy NonNull Variable : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġmy NonNull Variable !!. toDouble () Ċ }