import java.util.*;

uj5u.com熱心網友回復:
在n=in.nextInt();之后追加a=new int[n];
你肯定覺得你的a是static,而且一開始就new過了,為什么還需要重新new?
如果你能理解以下的代碼就明白為什么了。
int n=0;
int a[]=new int[n];//a的長度是多少?
int b=n;//b是多少?
n=5;//改變n后b變了嗎?a的長度變了嗎?
uj5u.com熱心網友回復:
靜態就做一次,這個是常識,靜態在類載入時就做過了。
你不會以為,每次n改變 a[]陣列都會重新new吧!
程式改為
static int n;
static int a[];
public static void main(String[] args) {
// TODO Auto-generated method stub
int i,j,t;
Scanner in=new Scanner(System.in);
n=in.nextInt();
a=new int[n];
}
uj5u.com熱心網友回復:
應該是a[]陣列接受了2個重復n(一組數)把陣列長度改為2n試試
uj5u.com熱心網友回復:
哦哦,懂了,謝謝大佬
uj5u.com熱心網友回復:
靜態區域變數只能初始化一次
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/70519.html
標籤:Java相關
上一篇:阿里云視頻點播簽名演算法
下一篇:Java安裝是否成功
