[계산] import java.util.Scanner; class Grade { public int kor, eng, math; public Grade(int kor, int eng, int math) { this.kor = kor; this.eng = eng; this.math = math; } public int getSum() { return (kor + eng + math); } public double getAvg() { return (kor + eng + math) / 3.0; } public char getGrade() { char grade = '가'; if (getAvg() >= 90) { grade = '수'; } else if (getAvg() >= 80) { grade = '우'; } else if (getAvg() >= 70) { grade = '미'; } else if (getAvg() >= 60) { grade = '양'; } else { grade = '가'; } return grade; } } public class Test30 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); boolean run = true; while (run) { System.out.print("국어:"); int kor = sc.nextInt(); System.out.print("영어:"); int eng = sc.nextInt(); System.out.print("수학:"); int math = sc.nextInt(); Grade grade = new Grade(kor, eng, math); System.out.println("총점 : " + grade.getSum()); System.out.println("평균 : " + grade.getAvg()); System.out.println("성적 : " + grade.getGrade() + "입니다."); System.out.println("계속 하시겠습니까? y / n"); String yOrn = sc.next(); if (yOrn.equals("y") || (yOrn.equals("Y"))) { continue; } else { break; } } System.out.println("동작정지"); } }
[결과값] 국어:80 >> 입력한 값 영어:80 >> 입력한 값 수학:80 >> 입력한 값 총점 : 240 평균 : 80.0 성적 : 우입니다. 계속 하시겠습니까? y / n y >> 입력한 값 국어:
1차원 배열 : 타입이 같은 둘 이상의 데이터를 저장할 수 있는 1차원 구조의 메모리 공간
int[] ref = new int[5]; // 길이가 5인 int형 1차원 배열의 생성문
⇒String a = new a(); 처럼 생성자가 오는게 아닌 int[]이 온다.
int가 들어갈 수 있는 방을 연속으로 5개 잡음(1000번지~1020번지 연속!)
・변수 선언 : 데이터 타입 + 변수명
・배열 선언 : 데이터 타입[] + 변수명
・int[] : 정수형(x) 참조형(o)
⇒읽는 방법 : int호치키스(int배열형)
[계산] public class Arrangement { public static void main(String[] args) { // 길이가 5인 int형 1차원 배열의 생성 int[] ar1 = new int[5]; // 길이가 7인 double형 1차원 배열의 생성 double[] ar2 = new double[7]; // 배열의 참조변수와 인스턴스 생성 분리 float[] ar3; ar3 = new float[9]; // 배열의 인스턴스 변수 접근 System.out.println("배열 ar1 길이: " + ar1.length); System.out.println("배열 ar2 길이: " + ar2.length); System.out.println("배열 ar3 길이: " + ar3.length); } }
[결과값] 배열 ar1 길이: 5 배열 ar2 길이: 7 배열 ar3 길이: 9
int[] ar = new int[3];
ar[0] = 7; // 값의 저장: 첫 번째 요소
ar[1] = 8; // 값의 저장: 두 번째 요소
ar[2] = 9; // 값의 저장: 세 번째 요소
1000번지 | 1004번지 | 1008번지 |
---|---|---|
7 | 8 | 9 |
[계산] import java.util.Scanner; class Grade { final int SUB_MAX = 3; private int[] subsArr; public Grade(int kor, int eng, int math) { subsArr = new int[SUB_MAX]; this.subsArr[0] = kor; this.subsArr[1] = eng; this.subsArr[2] = math; } public double getSum() { return (subsArr[0] + subsArr[1] + subsArr[2]); } public double getAvg() { return (subsArr[0] + subsArr[1] + subsArr[2]) / 3.0; } public char getGrade() { char grade = '가'; if (getAvg() >= 90) { grade = '수'; } else if (getAvg() >= 80) { grade = '우'; } else if (getAvg() >= 70) { grade = '미'; } else if (getAvg() >= 60) { grade = '양'; } else { grade = '가'; } return grade; } } public class Test30 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); boolean run = true; while (run) { System.out.print("국어:"); int kor = sc.nextInt(); System.out.print("영어:"); int eng = sc.nextInt(); System.out.print("수학:"); int math = sc.nextInt(); Grade grade = new Grade(kor, eng, math); System.out.println("총점 : " + grade.getSum()); System.out.println("평균 : " + grade.getAvg()); System.out.println("성적 : " + grade.getGrade() + "입니다."); System.out.println("계속 하시겠습니까? y / n"); String yOrn = sc.next(); if (yOrn.equals("y") || (yOrn.equals("Y"))) { continue; } else { break; } } System.out.println("동작정지"); } }
[결과값] 국어:10 영어:10 수학:10 총점 : 30.0 평균 : 10.0 성적 : 가입니다. 계속 하시겠습니까? y / n y 국어:
[계산] public class Lotto { public static void main(String[] args) { int[] lotto = new int[6]; for (int i = 0; i < lotto.length; i++) { lotto[i] = (int) (Math.random() * 45 + 1); for (int j = 0; j < i; j++) { if (lotto[i] == lotto[j]) { i--; } } } System.out.print("로또 번호: "); for (int i = 0; i < lotto.length; i++) { System.out.print(lotto[i] + " "); } } }
[결과값] 로또 번호: 43 21 16 23 32 17