질문있어요.. ㅠㅠ
겨라
만들려고 하는게 뭐냐면요...
배열갯수 입력받고 그입력받은 배열에 값집어넣고
배열을 만약 3개 입력했으면 [0] , [1] , [2] 가있겠죠? 1바로앞에 하나더 삽입해서
[0] [1] [2] [3] 을 만들려고 하는데요
배열을 일단 두개 만들어서 하려고 하는데.. 하나는 먼저만든것보다 한칸더큰 배열이에요
새롭게 삽입할 값을 입력하는데 배열초과에러가 뜨네용;;
질문1. 에러잡으려면 어케해야하나요 ㅠ;;
질문2. 제가 하는방법이 맞는건가요??
질문3. 삽입할때에는 if문으로 어디에 삽입할껀지 어떻게 나누고 버블소트로어떻게 자리잡게 해주어야 하나요??
아래에는 제가 짠건데 ㅠㅠ 형편은 없지만... 봐주셔용
빠르고 좋은답변 부탁드립니다!!
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class dd{
public static void main(String[] args)throws Exception{
BufferedReader s = new BufferedReader(new InputStreamReader(System.in));
int[] array=null;
int arraySize=0;
int su=0;
int[] array2=null;
//배열 크기 입력 생성
System.out.print(배열의 크기를 입력하세요. :);
arraySize=Integer.parseInt(s.readLine());
array = new int[arraySize];
//배열값 저장
for(int i=0;iarray.length;i++){
System.out.print((i+1)+번째 값을 입력 하세요. :);
array[i]=Integer.parseInt(s.readLine());
}
//배열값 출력
for(int i=0;iarray.length;i++){
System.out.print((i+1)+번째 값: +array[i]+, );
}System.out.println();
//한칸 더큰 배열을 생성
array2 = new int[arraySize++];
System.out.print(끼워넣을 숫자를 입력하세요. : );
su=Integer.parseInt(s.readLine());
array2[0]=su; //끼워 넣을 숫자에 복사한 배열의 맨 첫번째에 저장
for(int j=0;jarraySize;j++){
array2[j+1]=array[j];
}
int Index; // 몇번째 기워넣을지를 정하는 숫자 인덱스
System.out.println(몇번째 끼워 넣을지 입력하세요. :);
Index=Integer.parseInt(s.readLine());
if(Index==0){ // 맨 처음방에 끼워넣을때
for(int k=0;karraySize;k++){
array2[k+1]=array[k];
}
array2[0]=su;
}
else if(Index0||Indexarray.length){ //처음과마지막을 제외한 중간에 끼워넣을때
for(int l=0;larraySize;l++){
array2[l]=array[l];
}
}
else if(Index==array.length){ // 마지막 방에 끼워넣을때
for(int m=0;marraySize;m++){
array2[m]=array[m];
}
array2[Index+1]=su;
}
}
}