Re: [問題] java 能夠用關係運算子及算術運算子來取代if嗎?

看板java作者 (mat)時間14年前 (2011/03/14 23:41), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串2/2 (看更多)
寫了一個很醜的java答案 出來拋磚引玉一下 C語言裡這樣寫就ok: w>50 && w--; 但是java不能單獨使用&&,所以變成這樣: boolean tmp = w>50 && w--; //tmp完全沒用,只是湊語法 最後int不能作為條件判斷之一,所以 boolean tmp = w>50 && (w--==w); 極醜, but it works. 有誰可以想個漂亮答案呀XDDD ※ 引述《kevin771012 (凱)》之銘言: : 珊珊開了一家體重管理中心。每當有新顧客上門,她就為她量體重。如果體重大於 50 公 : 斤,她就免費送她一堂可以減一公斤的體驗課程。給你新顧客的體重,請輸出她離開中心 : 時的體重。 : 做到這題,一個簡單的判斷,然後如果用if就是10分,不用到if做出來就有20分... : (不能用三元運算子@@ ? : ) -- 「人生有很多個十年,但如果剛好是十八歲到二十八歲,那就是一輩子了。」 「我們常常高估十年後能做的事,卻忽略一年內能做的事」 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.158.103

03/14 23:46, , 1F
用 min 應該蠻簡潔的吧,不過很作弊就是了 XD
03/14 23:46, 1F

03/14 23:49, , 2F
的確min的作法蠻漂亮的
03/14 23:49, 2F

03/15 00:01, , 3F
最短應該是這個了吧: w-(50-w>>31)
03/15 00:01, 3F

03/15 00:16, , 4F
囧 t大你的code編不過呀 not a statement.
03/15 00:16, 4F

03/15 00:23, , 5F
直接印就可以了 System.out.println( w-(50-w>>31) );
03/15 00:23, 5F

03/15 00:28, , 6F
原來如此,挑個小毛病,應該是 w+(50-w>>31)
03/15 00:28, 6F

03/15 00:32, , 7F
XD...真糗
03/15 00:32, 7F
文章代碼(AID): #1DVZSvUN (java)
文章代碼(AID): #1DVZSvUN (java)