배열 메소드
: 1차원 배엘에 데이터를 추가, 출력, 조회,삭제,삽입 하는 메서드를 작성 <
int[] a = new int[] {1,2,3,4};
printArray(a); //a가 배열
printArray(new int[] {6,7,8,9,10});
주의 오류 발생 : printArray({11,12,13,14,15)};
public static void printArray(int[]a) {
for(int i = 0; i < a.length; i++){
system.out.print(a[i] + " ");
}
메소드 매개변수로 배열을 Argument 로 인풋
1~100 까지 3의 배수의 배열을 생성 후 메소드 호출, 정수 5 호출 후 3의배수와 정수 5와 곱하시오
package chapter07.ex02;
public class Ex01 {
public static void main(String[] args) {
int[] a = new int [100/3];
for(int i=0,j=3; i<a.length;i++, j+=3) {
a[i]=j;
}
print(a,5);
}
public static void print(int[]a, int b) {
for(int i = 0; i < a.length;i++) {
System.out.print(a[i] * b + " ");
}
}
}
class 내 main 메소드 밖에서 메소드를 선언해준다.
여기서 매개변수 설정하는 과정이 헷갈렸다.
배열int[]a와, 정수 int b를 선언하고, 위에 메소드 호출 시 (배열 a,정수 5)를 넣어주면 된다.
100번까지의 방이 아닌, 100까지의 수 이므로 100/3; 할 경우
100/3 까지 방이 할당됨
4의 배수를 가진 배열과 5의 배수인 배열을 선언하고, 그 값을 더해라
package chapter07.ex02;
import java.util.Arrays;
public class Ex02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = new int[300/4] ;
for(int i = 0, j = 4; i < a.length;i++, j+=4) {
a[i]=j;
System.out.print(a[i]+" ");
}
System.out.println();
int[] b = new int [300/5];
for (int i = 0, j = 5; i <b.length; i++, j+=5) {
b[i]=j;
System.out.print(b[i]+" ");
}
System.out.println();
arraySum(a,b);
}
public static void arraySum (int[]a,int[]b) {
int[]c = new int [75];
for(int i = 0; i <a.length; i++) {
for(int j = 0; j < b.length;j++) {
if(i>54) {
c[i]=a[i]+0;
}
if(i==j) {
c[i]=a[i]+b[j];
}
}
}
System.out.println(Arrays.toString(c));
}
}
4의 배수가 5의 배수보다 방이 많으므로 5의 배수의 남은 방은 0으로 처리해야하기 때문에
if문을 이용해서 i값이 5의 배수가 가진 방이 적을때, 4의 배수 만큼의 방을 0으로 처리해서 더해주어야한다.
또, i와 j 방의 번호가 같을 때 더하는것은 0번방 끼리, 1번 방 끼리 더하는 것이므로
각각 더한 값을 도출해 낼 수 있다.