{"id":498,"date":"2019-02-01T23:02:22","date_gmt":"2019-02-01T15:02:22","guid":{"rendered":"https:\/\/blog.tcreopargh.xyz\/?p=498"},"modified":"2019-02-01T23:07:31","modified_gmt":"2019-02-01T15:07:31","slug":"%e8%9e%ba%e6%97%8b%e5%a1%ab%e6%95%b0kotlin","status":"publish","type":"post","link":"https:\/\/blog.tcreopargh.xyz\/?p=498","title":{"rendered":"\u87ba\u65cb\u586b\u6570(Kotlin)"},"content":{"rendered":"\n<p>\u87ba\u65cb\u586b\u6570\u7684Kotlin\u5b9e\u73b0\u3002<\/p>\n\n\n\n\n<div class=\"codecolorer-container kotlin default\" style=\"overflow:auto;white-space:nowrap;width:958px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/><\/div><\/td><td><div class=\"kotlin codecolorer\"><span class=\"kw1\">import<\/span> <span class=\"co2\">java.util.Scanner<\/span><br \/>\n<span class=\"kw1\">import<\/span> <span class=\"co2\">java.util.Vector<\/span><br \/>\n<br \/>\n<span class=\"kw1\">fun<\/span> main<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">val<\/span> n <span class=\"sy0\">=<\/span> Scanner<span class=\"br0\">&#40;<\/span><a href=\"http:\/\/www.google.com\/search?hl=en&amp;q=allinurl%3Adocs.oracle.com+javase+docs+api+system\"><span class=\"kw3\">System<\/span><\/a>.`<span class=\"kw1\">in<\/span>`<span class=\"br0\">&#41;<\/span>.<span class=\"me1\">nextInt<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">val<\/span> canvas <span class=\"sy0\">=<\/span> Vector<span class=\"sy0\">&lt;<\/span>Vector<span class=\"sy0\">&lt;<\/span>Int<span class=\"sy0\">&gt;&gt;<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"kw1\">in<\/span> <span class=\"nu0\">0<\/span> until n<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">val<\/span> line <span class=\"sy0\">=<\/span> Vector<span class=\"sy0\">&lt;<\/span>Int<span class=\"sy0\">&gt;<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; line.<span class=\"me1\">setSize<\/span><span class=\"br0\">&#40;<\/span>n<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; canvas.<span class=\"me1\">add<\/span><span class=\"br0\">&#40;<\/span>line<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">var<\/span> direction <span class=\"sy0\">=<\/span> Direction.<span class=\"me1\">RIGHT<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">var<\/span> i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">var<\/span> j <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>k <span class=\"kw1\">in<\/span> <span class=\"nu0\">1<\/span>..<span class=\"me1\">n<\/span> <span class=\"sy0\">*<\/span> n<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; canvas<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> k<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">when<\/span> <span class=\"br0\">&#40;<\/span>direction<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Direction.<span class=\"me1\">RIGHT<\/span> <span class=\"sy0\">-&gt;<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span> <span class=\"sy0\">&gt;=<\/span> n <span class=\"sy0\">||<\/span> canvas<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">!=<\/span> <span class=\"kw2\">null<\/span><span class=\"br0\">&#41;<\/span> direction <span class=\"sy0\">=<\/span> direction.<span class=\"me1\">next<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Direction.<span class=\"me1\">DOWN<\/span> <span class=\"sy0\">-&gt;<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span> <span class=\"sy0\">&gt;=<\/span> n <span class=\"sy0\">||<\/span> canvas<span class=\"br0\">&#91;<\/span>i <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">!=<\/span> <span class=\"kw2\">null<\/span><span class=\"br0\">&#41;<\/span> direction <span class=\"sy0\">=<\/span> direction.<span class=\"me1\">next<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Direction.<span class=\"me1\">LEFT<\/span> <span class=\"sy0\">-&gt;<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">-<\/span> <span class=\"nu0\">1<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">0<\/span> <span class=\"sy0\">||<\/span> canvas<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j <span class=\"sy0\">-<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">!=<\/span> <span class=\"kw2\">null<\/span><span class=\"br0\">&#41;<\/span> direction <span class=\"sy0\">=<\/span> direction.<span class=\"me1\">next<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Direction.<span class=\"me1\">UP<\/span> <span class=\"sy0\">-&gt;<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">-<\/span> <span class=\"nu0\">1<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">0<\/span> <span class=\"sy0\">||<\/span> canvas<span class=\"br0\">&#91;<\/span>i <span class=\"sy0\">-<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">!=<\/span> <span class=\"kw2\">null<\/span><span class=\"br0\">&#41;<\/span> direction <span class=\"sy0\">=<\/span> direction.<span class=\"me1\">next<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">when<\/span> <span class=\"br0\">&#40;<\/span>direction<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Direction.<span class=\"me1\">RIGHT<\/span> <span class=\"sy0\">-&gt;<\/span> j<span class=\"sy0\">++<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Direction.<span class=\"me1\">DOWN<\/span> <span class=\"sy0\">-&gt;<\/span> i<span class=\"sy0\">++<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Direction.<span class=\"me1\">LEFT<\/span> <span class=\"sy0\">-&gt;<\/span> j<span class=\"sy0\">--<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Direction.<span class=\"me1\">UP<\/span> <span class=\"sy0\">-&gt;<\/span> i<span class=\"sy0\">--<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>line <span class=\"kw1\">in<\/span> canvas<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>num <span class=\"kw1\">in<\/span> line<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;$num &quot;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; println<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">enum<\/span> <span class=\"kw1\">class<\/span> Direction <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; RIGHT,<br \/>\n&nbsp; &nbsp; DOWN,<br \/>\n&nbsp; &nbsp; LEFT,<br \/>\n&nbsp; &nbsp; UP<span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">fun<\/span> next<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">:<\/span> Direction <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw1\">this<\/span>.<span class=\"me1\">ordinal<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">3<\/span><span class=\"br0\">&#41;<\/span> RIGHT <span class=\"kw1\">else<\/span> values<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#91;<\/span><span class=\"kw1\">this<\/span>.<span class=\"me1\">ordinal<\/span> <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n\n<p>\u53ef\u4ee5\u770b\u5230Kotlin\u5bf9\u4e8eVector\u548cList\u7684\u64cd\u4f5c\u6bd4Java\u7b80\u5355\u4e0d\u5c11\uff0c\u5c24\u5176\u662f\u4e8c\u7ef4Vector\u6216List\uff0c\u60f3\u8981\u7ed9\u67d0\u4e2a\u5143\u7d20\u8d4b\u503c\u5728Java\u8fd8\u5f97\u5199\u6210vector.get(i).set(j, newValue)\u8fd9\u79cd\u7e41\u7410\u7684\u5199\u6cd5\uff0c\u800cKotlin\u751a\u81f3\u53ef\u4ee5\u76f4\u63a5\u50cf\u4e8c\u7ef4\u6570\u7ec4\u4e00\u6837\u7528\u3002<\/p>\n\n\n\n<p><strong>\u771f\u9999\uff01<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u87ba\u65cb\u586b\u6570\u7684Kotlin\u5b9e\u73b0\u3002 1234567891011121314151617181920212223242 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":499,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[51,7,32,10],"tags":[52],"_links":{"self":[{"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/posts\/498"}],"collection":[{"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=498"}],"version-history":[{"count":2,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/posts\/498\/revisions"}],"predecessor-version":[{"id":502,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/posts\/498\/revisions\/502"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/media\/499"}],"wp:attachment":[{"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}