![]() |
自己做的java習題怪怪的
public static void main(String[] args) {
int[] a = {1,2,3,4,5,6,7}; int t; for (int i=0;i < a.length / 2;i++){ t=a[i]; a[i] = a[ a.length-1-i]; a[a.length-1-i] = t; } for (int i=0;i<a.length-1-i;i++) System.out.println(a[i]+" "); } 就老師給我們一個習題, 就一個陣列 1 2 3 4 5 6 7 設計一個反轉,輸出 就是要 7 6 5 4 3 2 1 可是我自己做, 怎出來 7 6 5 而已,沒有4 3 2 1 到底哪邊寫錯了,可以大大幫忙一下嗎??感恩。 |
更正....(一大早眼花, 沒看清楚)
最後的部份... for (int i=0;i<a.length-1-i;i++) System.out.println(a[i]+" "); i<a.length-1-i 改成 i<a.length-1 應該就會跑出來了 |
try it~!
public static void main(String[] args) {
int[] a = {1,2,3,4,5,6,7}; int t; for (int i=0;i < a.length / 2;i++){ t=a[i]; a[i] = a[ a.length-1-i]; a[a.length-1-i] = t; } for (int i=0;i<a.length-1;i++) System.out.println(a[i]+" "); } //第二個for回圈是用來列出所有的陣列元素 //所以a.length-1的地方不用再-i 了~ //我沒學過java,以上是推測的....下列是剛才用javascript簡單的實作了同樣的東西... ====code in test.htm==== <script type="text/javascript"> var a = new Array(1,2,3,4,5,6,7); alert('原始陣列:'+a.toString()); function reArr(){ var a_len=a.length-1; //取得陣列最後一個元素的index,如果陣列長度是7,則a_len為6 var for_len=parseInt(a.length/2); // 陣列長度除以二,取整數值,小數點無條件捨去 for(var i=0;i<for_len;i++){ var tmpVal=a[a_len-i]; a[a_len-i]=a[i]; a[i]=tmpVal; } } reArr(); alert('反轉陣列:'+a.toString()); </script> |
引用:
我剛剛照著您這樣改, 可是不會出現1 只出現 7 6 5 4 3 2 而已。 ==分隔線== 已成功了 |
try it~2=="
for (int i=0;i<a.length-1;i++)
System.out.println(a[i]+" "); } 改成... for (int i=0;i<a.length;i++) System.out.println(a[i]+" "); } 即可... copy得太順了,忘了拿掉它==" |
所有時間均為台北時間。現在的時間是 04:04 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *