2013-06-11 2 views
1

배열 크기가 Java 프로그램에서 자동 증가하는 방식 내 요구 사항은 다음과 같습니다. 첫 번째 차원에서 sno의 2 차원 배열을 만듭니다. 이름, 두 번째 차원의 이름 so 내가 SDS를 통과하면, 25 가 배열에 추가되어야 [0] [SDS 25] 내 코드는 다음과 같다 "증가 유지해야 배열이 후Java에서 배열의 크기를 자동으로 증가시키는 방법

void values() throws IOException{for (int row = i; row < len; row++){ 
      for (int column = 1; column <= 1; column++){ 
       arrayValues[row][0] = String.valueOf(row+1); 
       System.out.print("Enter "+(row+1)+" Name: "); 
       String name = br.readLine(); 
       System.out.print("Enter "+(row+1)+" age: "); 
       int age = Integer.parseInt(br.readLine()); 
       arrayValues[row][column]= name+","+age; 
      } 
void incrementSize() throws IOException{String[][] newArray = new String[arrayValues.length][]; 
    System.out.println(newArray.length); 
String[][] t = Arrays.copyOf(arrayValues, newArray.length); 

내 코드를 수행 할 수있는 방법 제발 도와주세요

+3

다른 데이터 구조를 사용해야하는 것처럼 들립니다. arraylist보세요. – SBI

+0

아무런 상사도 이런 식으로 구현하지 않는다고 말했습니다 –

+1

그는 당신에게 arraylist인지 알기 위해 날씨를 테스트하고 있을지도 모릅니다 :) –

답변

1

0을 사용하십시오 이 요구 사항에 대해서는입니다. 2 차원 배열 대신 ArrayList<ArrayList>을 사용할 수 있습니다. ArrayListList 인터페이스의 크기 조정 가능한 배열 구현입니다.

배열은 단일 유형의 고정 숫자 을 보유하는 컨테이너 객체입니다.

4

귀하의 요구 사항 중 가장 적합한 것이 ArrayList이라고 생각합니다.

List 인터페이스의 크기 조정 가능한 배열 구현입니다.

+0

죄송합니다. 사용하고 싶지 않습니다. ArrayList –

+1

이유가 무엇입니까 ?? –

+0

bcoz 내 상사가 나에게 이런 식으로만 구현한다는 말은 할당이 나에게 어떤 제안이라도 내놓았다. –

1

크기를 늘리려면 새 배열을 만들어야합니다. 기존 배열을 늘릴 수있는 동적 방법은 없습니다.

크기를 늘리기 위해 새 배열을 만들 수있는 방법입니다.

int[] a = new int[5]; 
// fill a 
int[] b = Arrays.copyOf(a, 10); 
+0

괜찮습니다,하지만 어떻게 2 차원이며 내가 null 포인터 wxception을 보여줍니다 이런 식으로 할 수 있다면 –

0

동적으로 증가하는 데이터 구조를 찾고있는 것처럼 들립니다. 당신은 자바 컬렉션 프레임 작업에있는 목록 인터페이스의 구현을 사용할 수 있습니다. 당신은 ArrayList 또는 벡터를 사용할 수 있습니다.

관련 문제