변수 선언은 맨 위에서만 하며 여러문제를 주석처리하며 풀어나갔습니다
- 아래 문제들에 쓰이는 변수와 import 선언
- 만일 아래 변수가 아닐경우 따로 기제하겠습니다 ( 다른 class 에 코드작성 )
import java.lang.reflect.Array; import java.util.Arrays; import java.util.Random; import java.util.Scanner;
public class Array1 { public static void main(String[] args) {
Scanner sc = new Scanner(System.in); Random r = new Random();
int[] array1; int [] ans = {1, 4, 3, 2, 1}; String [] ans1 = new String[5];
array1 = new int[5]; int tmp = 0; int i = 0, to = 0, k = 0;
int max; int min;
|
--------------------------------------------------
// 값을 입력받고 출력하라 System.out.printf("정수 5개 입력 > "); for (i=0 ; i< array1.length ; i++) { array1[i] = sc.nextInt(); }
for (k=0 ; k< array1.length ; k++) { System.out.printf("%d ", array1[k]); }
|
--------------------------------------------------
정답이 배열에 저장되있고,
답을 수기로 입력하면
채점을 해주는 프로그램
//sol1) 답이 맞는지 아닌지를 확인하라
for (i = 0; i < array1.length; i++) { System.out.printf(" %d 번째 답 > ", i + 1); array1[i] = sc.nextInt(); if ( ans[i] != array1[i] ) ans1[i]="X" ; else if ( ans[i] == array1[i] ) { ans1[i]="O"; to+=20; } }
System.out.printf("정답 확인 : "); for (i = 0; i < ans1.length; i++) { System.out.printf("%s ", ans1[i]); }
System.out.printf("총점 : %d" ,to);
|
// sol2) for (i = 0; i < array1.length; i++) { System.out.printf(" %d 번째 답 > ", i + 1); array1[i] = sc.nextInt(); if ( ans[i] != array1[i] ) array1[i]=0; else if ( ans[i] == array1[i] ) { array1[i]=1; to+=20; } }
System.out.printf("정답 확인 : "); for (i = 0; i < ans1.length; i++) {
if ( array1[i]==1) System.out.printf("O "); else if ( array1[i]==0) System.out.printf("X ");
} System.out.printf("\n총점 : %d" ,to);
|
--------------------------------------------------
입력받은 값 들의 총 합과 평균을 구하는 프로그램
// 입력한 값의 총 합과 평균은 ? for (i = 0; i < array1.length; i++) { System.out.printf(" %d 번째 입력 > ", i + 1); array1[i] = sc.nextInt(); to += array1[i]; } max = array1[0]; // 위에 포문에 max, min 이 들어있다면 min = array1[0];
System.out.printf("입력된 점수 : "); for (i = 0; i < array1.length; i++) {
if (max < array1[i]) max = array1[i]; if (min > array1[i]) min = array1[i]; System.out.printf("%d ", array1[i]); }
System.out.printf("\n\n최고 점 : %d \n", max); System.out.printf("최저 점 : %d \n", min); System.out.printf("총합 : %d 평균 : %.3f\n", to, ((double) to / array1.length));
|
--------------------------------------------------
배열 중에 가장 큰 값을 구하는 프로그램
// 가장 큰 값 구하는 방법 // sol1 ) max = array1[0]; for(i=0; i<array1.length; i++) { if (array1[i]>max) max=array1[i]; } System.out.println("가장 큰 값은 "+max+"입니다.");
for (i=0 ; i< array1.length ; i++) { array1[i] = r.nextInt(55)-100; }
System.out.println(Arrays.toString(array1)); |
sol2 + 버블정렬
(정렬은 나중에 따로 게시글을 작성할 예정이다)
for (k=0 ; k< array1.length ; k++) { //겸 버블 정렬 for (i=0 ; i< array1.length ; i++) { //이중포문으로 작성 안 할경우 최댓값, 최솟값만 구할 수 있다 (정렬안됨)
if (i<9) { if (array1[i] > array1[i+1]) { tmp = array1[i]; array1[i]=array1[i+1]; array1[i+1]=tmp; } } } } System.out.printf("가장 큰 값은 %d 이다\n\n" , array1[9]); System.out.println(Arrays.toString(array1));
|
괄호를 최소화 하여 가독성을 높히고싶네요
--------------------------------------------------
배열안의 짝수를 판별하는 코드
// 배열안의 짝수와 총 갯수 출력하기
System.out.printf("안에 들어있는 짝수는 " ); for (i=0 ; i< ans.length ; i++) { if (ans[i]%2==0) { System.out.printf("%d ", ans[i] ); to++; } } System.out.printf("이고 총 %d 개이다 \n\n" ,to);
|
--------------------------------------------------
값을 입력받고 (배열 초기화 시키고 )
출력하는 코드
// 값을 입력받고 출력하라 System.out.printf("정수 5개 입력 > "); for (i=0 ; i< array1.length ; i++) { array1[i] = sc.nextInt(); }
for (k=0 ; k< array1.length ; k++) { System.out.printf("%d ", array1[k]); }
|
--------------------------------------------------
배열안에 있는 숫자 만큼 별을 출력하는 코드
import java.util.Random; import java.util.Scanner;
public class Array2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); Random r = new Random();
int[] star= {3, 4, 4, 2, 1}; int i=0, k=0, j=0;
for(; i<star.length ; i++) {
System.out.printf("%d : ", star[i]);
for ( k=0 ; k <star[i] ; k++) { System.out.printf("*"); } System.out.printf("\n");
}
}
}
|
--------------------------------------------------
public class ArrMatter { public static void main(String[] args) {
int[][] array = new int[5][5];
int i = 0, j = 0; int cnt = 0; |
--------------------------------------------------
5행 5열 크기의 2차원 배열 array를 선언하고 1~25까지 초기화 하기
///////////// 5행 5열 크기의 2차원 배열 array를 선언하고 1~25까지 초기화 하세요
for (i = 0; i < array.length; i++) { for (j = 0; j < array[i].length; j++) { array[i][j] = ++cnt; System.out.printf("%3d", array[i][j]); } System.out.println(); }
|
--------------------------------------------------
값이 세로로 증가하는 코드 ( 위에는 가로로 증가하였다)
cnt=0; for (i = 0; i < array.length; i++) { for (j = 0; j < array[i].length; j++) { array[j][i] = ++cnt; } }
for (i = 0; i < array.length; i++) { for (j = 0; j < array[i].length; j++) { System.out.printf("%3d", array[i][j]); } System.out.println(); }
|
--------------------------------------------------
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
처럼 ㄹ형태로 출력되는 코드
cnt=0; for (i = 0; i < array.length; i++) {
if ((i+1) % 2 == 1) { // 홀수면 +1 (오른쪽 증가) for (j = 0; j < array[i].length; j++) { array[i][j] = ++cnt; } } else if ((i+1) % 2 == 0) { // 짝수면 -1 (왼쪽으로 증가) for (j = array[i].length-1 ; j >= 0; j--) { array[i][j] = ++cnt; } } }
for (i = 0; i < array.length; i++) { // 출력 for문 for (j = 0; j < array[i].length; j++) { System.out.printf("%3d", array[i][j]); } System.out.println(); }
|
[Java] 알고리즘 문제풀이, 연습풀이 (0) | 2019.07.10 |
---|---|
[Java] class, 객체 수업 내용 (0) | 2019.07.06 |
[Java] 배열 선언방법, 개념정리, 초기화방법 (0) | 2019.07.05 |
[Java] rand 값 사용방법 (0) | 2019.07.05 |
[Java] 수정글 확인 킬킬 (0) | 2019.07.04 |
댓글 영역