개발자꿈나무
배열 - 최댓값, 역순 정렬, 복사 본문
☆ 참고 ★
이 글은 그냥 예제만 메모해놓으려고 적어놓은 게시물로 별다른 설명이 존재하지 않습니다.
public class MaxOfArray_2_1
{
static int maxOf(int[] a) {
int max = a[0];
for(int i=1;i<a.length;i++) {
if(a[i]>max) max = a[i];
}
return max;
}
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("키의 최댓값을 구합니다.");
System.out.println("사람 수 : ");
int num=in.nextInt();
int[] height = new int[num];
for(int i=0;i<height.length;i++) {
System.out.print("height["+i+"] : ");
height[i] = in.nextInt();
}
System.out.println("최댓값은 "+maxOf(height)+"입니다.");
}
}
public static void main(String[] args)
{
//Math.random()함수로 안에 값 임의로 지정해주기
Scanner in = new Scanner(System.in);
System.out.println("키의 최댓값을 구합니다.");
System.out.println("사람 수 : ");
int num=in.nextInt();
int[] height = new int[num];
for(int i=0;i<height.length;i++) {
height[i] = (int)(Math.random()*101)+100; // 100~200cm
System.out.println("height["+i+"] : "+height[i]);
}
System.out.println("최댓값은 "+maxOf(height)+"입니다.");
}
//배열 요소 a[idx1]과 a[idx2]의 값을 바꿈
static void swap(int[]a,int idx1,int idx2) {
int t = a[idx1]; a[idx1] = a[idx2]; a[idx2]=t;
}
//배열 a의 요소를 역순으로 정렬
static void reverse(int[] a) {
for(int i=0;i<a.length/2;i++) {
swap(a, i, a.length-i-1);
}
}
public static void swap(int[] a,int idx1, int idx2) {
int t = a[idx1]; a[idx1] = a[idx2]; a[idx2] = t;
}
public static void reverse(int[] a) {
for(int i=0;i<a.length/2;i++) {
swap(a, i, a.length-i-1);
System.out.println(Arrays.toString(a));
}
}
public static void main(String[] args)
{
int[] a = {2,5,1,3,9,6,7};
System.out.println(Arrays.toString(a));
reverse(a);
}
//reverse메소드 안에 배열을 출력하는 실행문을 넣어주면 하나하나씩 바뀌어가는 모습을 볼 수 있음
static int sumOf(int[] a) {
int sum = 0;
for(int i=0;i<a.length;i++) {
sum += a[i];
}
return sum;
}
//배열 b의 모든 요소를 배열 a에 복사하는 메소드
static void copy(int[]a,int[]b) {
b = Arrays.copyOf(a, a.length);
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
}
//배열 b의 모든 요소를 배열 a에 역순으로 복사하는 메소드
static void rcopy(int[]a,int[]b) {
b = Arrays.copyOf(a, a.length);
reverse(b);
a = Arrays.copyOf(b, b.length);
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
}
public static void main(String[] args)
{
int[] a = {2,5,1,3,9,6,7};
int[] b = new int[7];
// reverse(a);
// System.out.println(sumOf(a));
copy(a, b);
rcopy(a, b);
}
//위의 메소드들을 응용해서 함께 사용
728x90
'알고리즘' 카테고리의 다른 글
2. 피보나치 수열(재귀x, 배열과 for문 사용) (0) | 2023.02.05 |
---|---|
1. 학생 이름, 학번 출력 프로그램 (0) | 2023.02.05 |
반복문 이용해서 구구단, 삼각형 별찍기 (0) | 2023.01.30 |
반복 , 가우스의 덧셈 계산 (0) | 2023.01.29 |
순서도의 기호 (0) | 2023.01.29 |