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

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

下面的程序哪里錯了,請問

下面的程序哪里錯了,請問

地方去 2016-09-18 19:34:43
?int [] array = new int []{1,3,-1,5,-2};??int [] newArray = new int []{array.length};??System.out.println("原數組為:");??for (int i = 0; i < array.length; i++) {???System.out.println(array[i]+"");?????}??for (int i = array.length-1; i>= 0; i--) {???if (array[i]<0) {????continue;???????}???newArray[array.length-i-1] = array[i];??}??System.out.println("倒序后的新數組為:");??for (int i = 0; i < newArray.length; i++) {????System.out.println(newArray[i]+"");??????}
查看完整描述

2 回答

已采納
?
阿旭_

TA貢獻217條經驗 獲得超353個贊

新數組的長度設置的不正確

int[]?newArray?=?new?int[]?{?array.length?};//這里表示新數組的長度只有1,并且里面的值為5
int[]?newArray?=?new?int[array.length];//長度要寫到方括號內

你的需求是倒序輸出嗎?為什么要加判斷是否小于0呢?

???if?(array[i]<0)?{//個人覺得沒必要啊,可以去掉,不然最終的結果數組里有些值還是0
????continue;
????
???}

精簡代碼后結果

import?java.util.Arrays;

public?class?Test32?{
	public?static?void?main(String[]?args)?{
		int[]?array?=?new?int[]?{?1,?3,?-1,?5,?-2?};
		System.out.println("原數組:"+Arrays.toString(array));
		for?(int?i?=?0;?i?<?array.length/2;?i++)?{
			array[i]?=?array[i]^array[array.length-i-1];
			array[array.length-i-1]?=?array[i]^array[array.length-i-1];
			array[i]?=?array[i]^array[array.length-i-1];
		}
		System.out.println("倒序后:"+Arrays.toString(array));
	}
}

http://img1.sycdn.imooc.com//57de828b0001378403780134.jpg

查看完整回答
1 反對 回復 2016-09-18
?
Crafon

TA貢獻63條經驗 獲得超30個贊

int [] newArray = new int []{array.length};

這句錯了,你想聲明一個大小是array.length的newArray,但是你這里只是聲明了一個只包含一個元素的數組。

應該是int [] newArray = new int[array.length];

實測正確。望采納


查看完整回答
1 反對 回復 2016-09-18
  • 2 回答
  • 0 關注
  • 1465 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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