亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java - 當您將一個項目添加到列表中的最大值時,如何轉到第一項?

Java - 當您將一個項目添加到列表中的最大值時,如何轉到第一項?

慕的地8271018 2023-08-16 15:55:32
我有 4 個方向,ID 為1, 2, 3, 4。(北東南西)如果我想左轉,我會得到電流Id和負 1。我想我已經找到了這個算法。int currentDirection = 1; currentDirection = (currentDirection - 1) % 4 + 4;如果當前方向為 1(北)并且我想向左(負)移動,我會得到以下結果:Result: 4所以它正在發揮作用。適用于所有方向。但當我想向右(加)時,我不知道如何獲得正確的結果。我已經嘗試過這段代碼。如果當前方向是1、2或 ,則有效4。3但當當前方向為(南)時,它不起作用int currentDirection = 3; currentDirection = (currentDirection + 1) % 4;會出現這樣的結果。Result: 0
查看完整描述

2 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

右轉:currentDirection = currentDirection % 4 + 1

左轉:currentDirection = (currentDirection+2) % 4 + 1


查看完整回答
反對 回復 2023-08-16
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

簡單來說就是這樣:currentDirection = (currentDirection % 4) + 1;

更新:
我會按如下方式實現它,因為我個人發現它更具可讀性:

右轉:

nextDirection = (currentDirection == 4) ? 1 : (currentDirection + 1);

左轉:

nextDirection = (currentDirection == 1) ? 4 : (currentDirection - 1);


查看完整回答
反對 回復 2023-08-16
  • 2 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號