2014-04-14 4 views
2

새롭고 나는 웹을 검색해 보았고 약간 실망했다. 자바 어레이의 크기를 재조정 할 수 없었다. 그저 배열을 채우기 위해 숫자를 입력하라는 메시지를 표시하는 빈 배열을 어떻게 만듭니 까? int[] myArray = new int[5];처럼 용량을 정의하고 싶지 않습니다. 사용자가 용량을 정의하는 빈 배열을 정의하려면 숫자 뒤에 숫자를 입력 한 다음 프로그램 끝으로 단어 끝을 입력 한 다음 모든 입력 한 숫자는 빈 배열에 추가되고 숫자는 배열의 용량이됩니다.빈 배열을 만드는 방법?

Scanner scan = new Scanner(System.in); 
System.out.print("Enter the array size: "); 
int size = scan.nextInt(); 
int[] yourArray = new int[size]; 
//can even initialize it 
Arrays.fill(yourArray, -1); 
+1

을 위해서입니다 당연히

public void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<Integer>(); BufferedReader console = new BufferedReader(new InputStreamReader(System.in)); while(true) { String word = console.readLine(); if (word.equalsIgnoreCase("end") { break; } else { numbers.add(Integer.parseInt(word); } } 

가 빈 배열과 배열입니다 요소 없음. 비어 있지 않은 배열의 경우 요소는 기본값으로 초기화됩니다. –

+0

변수에 사용자 입력을 읽고 해당 값을 사용하여 배열을 초기화합니다. 'myArray = new int [someVarSetEarlier]'미리 크기를 얻고 싶으면 콜렉션의 길이를 동적으로 변경하려면'List'를 사용하십시오. – toniedzwiedz

+0

대신에 'ArrayList '을 사용하십시오 –

답변

5

당신은 빈 배열을 만든 다음 수 없습니다

3
에 대한 것은 어떻게

입니다 사용자가 명령 행에 숫자를 입력 할 때마다 동적으로 커지게하십시오. 숫자를 읽고 대신 ArrayList에 넣어야합니다. ArrayList는 초기 크기를 필요로하지 않고 동적으로 커집니다. 이런 식으로 뭔가 : 당신이 while(true)을 사용하지 않습니다 당신이 main에 넣고되지 않지만 그냥 예를

0

사용자 입력에서 n을 가지고 :

int a [] = new int [n]; 
1
import java.util.Scanner; 


public class Ex { 
public static void main(String args[]){ 
    System.out.println("Enter array size value"); 
    Scanner scanner = new Scanner(System.in); 
    int size = scanner.nextInt(); 
    int[] myArray = new int[size]; 
    System.out.println("Enter array values"); 
    for(int i=0;i<myArray.length;i++){ 
     myArray[i]=scanner.nextInt(); 
    } 
    System.out.println("Print array values"); 
    for(int i=0;i<myArray.length;i++){ 
     System.out.println("myArray"+"["+i+"]"+"="+myArray[i]); 
    } 
} 
}