public class 2_30약수 {
public static void main(String[] args) {
for (int i = 2; i <= 30; i++) { //2~30회까지
System.out.print(i + "의 약수: ");
for (int j = 1; j <= i; j++) { //j로 돌면서 약수를 출력
System.out.print(i % j == 0 ? j + " " : ""); // 3항 연산자를
} // 이용한 print문
System.out.println("");
}
}
}
import java.util.Arrays;
public class ArrayAddress {
public static void main(String[] args) {
int[] array1 = { 10, 20, 30, 40, 50 };
System.out.println("길이: " + array1.length);
System.out.println(array1);
int[] array2 = array1; //배열을 만든것이 아니라 같은 주소로 표시됨.
System.out.println(array2);
array1[2] = 9999;
System.out.println(Arrays.toString(array2)); //주소만 바뀌었기에
} // 값은 배열 1을 바꿨어도 배열 2도 바뀐 값으로 나옴.
}
#result
## 길이: 5
## [I@6504e3b2
## [I@6504e3b2
## [10, 20, 9999, 40, 50]
import java.util.Scanner;
public class Q1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] array = new int[5]; // 배열 선언
int max = 0; // 초기화
int min = 0; // 초기화
int sum = 0; // 초기화
for (int i = 0; i < array.length; i++) {
System.out.print((i + 1) + "번째 입력>>");
int num = sc.nextInt();
array[i] = num;
}
System.out.print("입력된 점수: ");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
} // 입력된 배열 확인.
System.out.println("");
System.out.print("최고 점수: ");
for (int i = 0; i < array.length; i++) {
sum += array[i];
if (max < array[i]) {
max = array[i];
}
} // max 값 확인
System.out.println(max);
System.out.print("최저 점수: ");
min = max;
//min 값을 max값으로 대입하여 어떤 수를 넣어도 예외사항이 발생하지 않도록 코딩.
for (int i = 0; i < array.length; i++) {
if (min > array[i]) {
min = array[i];
}
} // min값 확인
System.out.println(min);
System.out.println("총합: " + sum);
System.out.println("평균: " + (double) sum / array.length);
sc.close();
}
}
#result
## 1번째 입력>>11
## 2번째 입력>>12
## 3번째 입력>>13
## 4번째 입력>>14
## 5번째 입력>>15
## 입력된 점수: 11 12 13 14 15
## 최고 점수: 15
## 최저 점수: 11
## 총합: 65
## 평균: 13.0
부담임쌤께서 나에게 추가 문제를 내주셨다.
문제 :
*
***
*****
*******
*********
*********
*******
*****
***
*
다음과 같이 출력하라.
public class diamond {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) { // 위에 피라미드
for (int j = 5; j > i; j--) {
System.out.print(" ");
}
for (int k = 0; k < i; k++) {
System.out.print("*");
} //우선 삼각형을 만들어 붙힌다음
if (i >= 2) { //나머지 삼각형 출력
for (int l = 2; l <= i; l++) {
System.out.print("*");
}
}
System.out.println("");
}
for (int m = 0; m <= 4; m++) { // 아래 피라미드
for (int o = 0; o < m; o++) {
System.out.print(" ");
}
for (int n = 4; n >= m; n--) {
System.out.print("*");
}
if (m >= 0) {
for (int p = 3; p >= m; p--) {
System.out.print("*");
}
}
System.out.println("");
}
}
}
public class Q2 {
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++) { // 1~1000 까지 반복
int sum = 0; // 본인 수와 비교할 약수들의 합을 계속 초기화 해줌.
for (int j = 1; j < i; j++) { // 본인 수 전까지 약수를 찾음.
if (i % j == 0) {
sum += j; // 약수라면 변수에 계속 더함
}
}
if (i == sum) { // 약수들의 합과 본인 수가 같다면 결과값 출력.
System.out.println(sum);
}
}
}
}
#result
## 6
## 28
## 496
public class Q3 {
public static void main(String[] args) {
int[] starcount = {3,4,4,2,1}; // 주어진 배열
for(int i=0;i<starcount.length;i++) { // 배열의 길이만 큼 반복
System.out.print(starcount[i] + " : "); // index를 명시 후
for(int j=0;j<starcount[i];j++) { // 숫자만큼 별찍기 진행.
System.out.print('*');
}
System.out.println("");
}
}
}
#result
## 3 : ***
## 4 : ****
## 4 : ****
## 2 : **
## 1 : *