it공부/Java

배열 정렬 : 자바의정석 연습문제

콩쨈 2020. 7. 5. 22:02
반응형

 

java_jungsuk3_연습문제_20160215.pdf
3.75MB

package d_array;

 

public class Array_01 {

public static void main(String[] args) {

/*

1. 배열(array)이란?

- 같은 타입의 여러변수를 하나의 묶음으로 다루는 것.

 

2. 배열의 선언

- 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 []를 붙여주면 된다.

ex) 변수타입[] 변수명;

변수타입 변수명[];

 

3. 배열의 생성

- 배열을 선언한 다음에는 배열을 생성해야 된다.

- 배열을 생성할때는 연산자 new와 함께 배열의 타입과 크기를 지정해 주어야 한다.

ex) int[] score = new int[3];

int[] score = new int[]{10,20,30};

int[] score = {10,20,30};

 

 

*/

int score1 = 100;

int score2

int score3

 

int[] score = new int[3];

//System.out.println(score[0]);

//System.out.println(score[1]);

//System.out.println(score[2]);

// 시작 : 0 끝 : 2 증가량 : 1

for(int count=0;count<score.lengthcount++){

System.out.println(score[count]);

}

 

 

//2. score의 0번방에는 0 1번방에는 10 2번방에는 20을 저장해주세요

//score[0] = 0;

//score[1] = 10;

//score[2] = 20;

 

for (int count = 0; count < score.length count++) {

score[count] = count*10;

}

 

//1. 6과목의 점수를 저장할수 있는 변수 subject를 선언 및 생성해주세요

int[] subject = new int [6];

//2. subject의 각방에 0~100점사이의 랜덤한 정수값을 저장해주세요

for(int i=0;i<subject.lengthi++){

subject [i] =(int)(Math.random()*101);

}

 

//3. subject각 방의 값을 출력해주세요

for(int count = 0;count<subject.lengthcount++){

System.out.println(subject[count]);

}

//4. 과목 합계를 구해주세요

int sum = 0;

for(int count = 0; count<subject.length count++){

sum += subject[count];

}

System.out.println(sum);

 

//5. 과목평균을 구해주세요

// 단. 소숫점 세번째 자리에서 반올림하여 두번째 자리까지 표현해주세요

float avg = (int)((float)sum/subject.length*100+0.5)/100f;

System.out.println(avg);

 

//6. subject의 점수중 최대값을 구해주세요

// 단. 최대값의 기본값을 0으로 해서는 안됩니다.

int max = subject[0];

for(int count=1; count < subject.length count++){

if(max<subject[count]){

max=subject[count];

}

}

System.out.println(max);

 

//7. subject의 점수중 최소값을 구해주세요

// 단. 최소값의 기본값을 100으로 해서는 안됩니다.

int min = subject[0];

for(int count=1; count < subject.length count++){

if(min>subject[count]){

min=subject[count];

}

}

System.out.println(min);

 

}

}

자바의 정석 저자 남궁성님의  네이버 카페에 가입하시면 다양한 자료를 받아보실수있습니다.

 

 

 

정렬수업

 

package d_array;

 

import java.util.Arrays;

 

public class Array_02 {

public static void main(String[] args) {

/*

1. 정렬(sort)

- 어떤 데이터를 빠르고 쉽게 찾기 위해 일정한 순서대로 데이터를 가지런히 나열하는 작업

- 버블정렬, 선택정렬, 삽입정렬

 

2. 버블정렬

- 인접한 데이터간에 교환이 계속해서 일어나면서 정렬이 이루어진다.

- 회전이 진행됨에 따라 가장 큰수가 가장 뒤에 확정된다.

*/

 

//1. 5,2,3,1,4 5개의 숫자를 변수 arr에 저장해주세요

int[] arr = new int[]{5,2,3,1,4};

//2. arr을 버블정렬을 이용하여 오름차순으로 정렬해주세요

//시작 0 끝 3 증가 1

for (int i = 0; i < arr.length-1; i++) { // 회전

System.out.println(i+1+"회전");

for(int j = 0 ;j<arr.length-1-i;j++){ //버블

if(arr[j]>arr[j+1]){

int temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

for(int k=0;k<arr.lengthk++){

System.out.print(arr[k]+" ");

}

System.out.println();

}

}

 

/*

2. 선택정렬(select sort)

- 정렬을 대상으로 최소값을 찾아서 기준과 교체하는 방식이다.

 

*/

int[] arr2 = {5,2,3,1,4};

for (int i = 0; i < arr2.length-1; i++) {

int min = arr2[i];

int bang = i;

for(int count=i+1; count < arr2.length count++){

if(min>arr2[count]){

min=arr2[count];

bang = count;

}

}

int temp = arr2[i];

arr2[i] = arr2[bang];

arr2[bang] = temp;

System.out.println(Arrays.toString(arr2));

}

 

}

}

 

반응형

'it공부 > Java' 카테고리의 다른 글

조건문 if switch  (0) 2020.07.05
Scanner 사용 ,for문, while문 변환, do-while예제정리  (0) 2020.07.05
반 평균 석차계산  (0) 2020.07.05
Java 카드게임 변수  (0) 2020.07.05
8가지 기본형 저장가능한 값의 범위  (0) 2020.07.05