我必須從用戶輸入中獲取陣列的大小,并將其存盤,并且我嘗試將陣列 ac 中的值存盤為大小,但是當我朗姆酒程式時,for回圈在顯示邊界例外錯誤后執行一次
import java.util.Scanner;
public class Odd
{
int size;
int a[]=new int[size];
public static void main(String[]args)
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter Size of array");
size=sc.nextInt();
for(int i=0;i<size;i )
{
System.out.println("enter " i "th element");
a[i]=sc.nextInt();
}
System.out.println("your array is");
for(int i=0;i<size;i )
{
System.out.print(a[i] " ");
}
}
uj5u.com熱心網友回復:
當你寫
public class Odd
{
int size;
int a[]=new int[size];
然后無論何時Odd構造,a都被創建為一個陣列,其大小等于 的當前值size,即 0。
當你然后寫
size=sc.nextInt();
的大小a不會更改為size變數的新值。
uj5u.com熱心網友回復:
您的代碼有幾處問題。
首先,靜態方法 main 不能訪問 size 和 a 因為它們是實體變數。您需要將它們設為靜態或在 main 方法中將它們設為區域變數。
第二,大小為零。您在不知道用戶將輸入什么大小的情況下創建陣列。該陣列的大小為零。
第三,您不需要可變大小,因為您實際上并沒有在其他任何地方使用它。
import java.util.Scanner;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
System.out.println("Enter Size of array");
int[] a = new int[sc.nextInt()];
for(int i=0;i<a.length;i ){
System.out.println("enter " i "th element");
a[i]=sc.nextInt();
}
System.out.println("your array is");
for(int i=0;i<a.length;i ){
System.out.print(a[i] " ");
}
}
}
uj5u.com熱心網友回復:
將陣列初始化移動到 main 方法內部,因為創建陣列時需要大小。
public class Odd {
static int size;
static int a[];
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
System.out.println("Enter Size of array");
size=sc.nextInt();
a = new int[size];
for(int i=0;i<size;i )
{
System.out.println("enter " i "th element");
a[i]=sc.nextInt();
}
System.out.println("your array is");
for(int i=0;i<size;i )
{
System.out.print(a[i] " ");
}
}
}
and here is the output
Enter Size of array
3
enter 0th element
1
enter 1th element
2
enter 2th element
3
your array is
1 2 3
uj5u.com熱心網友回復:
創建陣列時,size 的值默認為 0。這樣做可以獲得更好的結果:
public class Odd
{
int size;
int a[];
public static void main(String[]args)
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter Size of array");
size=sc.nextInt();
a = new int[size];
那么你必須做的任何事情都可以做......
uj5u.com熱心網友回復:
您實際上并不需要這些成員變數。
import java.util.Scanner;
public class SizeArray {
public static void main(String[]args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter Size of array: ");
int size = sc.nextInt();
int a[] = new int[size];
for(int i = 0; i < size;i ) {
System.out.print("enter " i "th element: ");
a[i]=sc.nextInt();
}
System.out.println("your array is");
for(int i = 0; i < size; i ) {
System.out.print(a[i] " ");
}
sc.close();
}
}
您可以只放入 main 函式,而不是在創建后修改它們。
輸出:
Enter Size of array: 4
enter 0th element: 1
enter 1th element: 2
enter 2th element: 3
enter 3th element: 4
your array is
1 2 3 4
順便說一句,請以更易讀的格式撰寫您的代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/455086.html
