課程
/后端開發
/Java
/Java入門第三季
為什么明明用減去3*i,實際得出的數卻是2的等差數列
2016-06-02
源自:Java入門第三季 2-6
正在回答
首先題目要求是從右到左加入“,”,如果你非要從左到右也是可以的,只是結果可能會不同。你的代碼的問題是出現在str.length()-3*i,因為當你插入一個逗號后str的長度就會加1,所以你的減去3就相當于減去2了,正確的方式如下:
YEAHDDD 提問者
夜還沒黑
注意insert是在索引位置前插入,插入之后原來位置的字符后退一位。這道題首先要數學建模,就用個短一點的字符串,把要插入的位置標注出來,因為從右往左插入,所以插入的位置與字符串長度之間是有數學關系的。有規律的多次運算習慣上想到的就是用for循環,關鍵是要確定循環參數 i ,以及 i 的邊界和循環方式。字符串長度被3整除得到的值,就是插入的次數,那么i的邊界就是1到length/3,而插入位置的索引值就是length-3*i。僅供參考!
打個括號試試,可能是運算符優先級的問題吧
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
1 回答為什么會出現這種結果?
2 回答為什么代碼和老師一樣結果卻不一樣啊?
3 回答為什么輸出結果是這個?
2 回答為什么這樣寫
2 回答為什么我跟著寫的,結果運行會出現這樣一組包名稱
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-06-04
首先題目要求是從右到左加入“,”,如果你非要從左到右也是可以的,只是結果可能會不同。你的代碼的問題是出現在str.length()-3*i,因為當你插入一個逗號后str的長度就會加1,所以你的減去3就相當于減去2了,正確的方式如下:
2016-06-09
注意insert是在索引位置前插入,插入之后原來位置的字符后退一位。這道題首先要數學建模,就用個短一點的字符串,把要插入的位置標注出來,因為從右往左插入,所以插入的位置與字符串長度之間是有數學關系的。有規律的多次運算習慣上想到的就是用for循環,關鍵是要確定循環參數 i ,以及 i 的邊界和循環方式。字符串長度被3整除得到的值,就是插入的次數,那么i的邊界就是1到length/3,而插入位置的索引值就是length-3*i。僅供參考!
2016-06-02
打個括號試試,可能是運算符優先級的問題吧