day9 내용정리
int [] = arr3 = null;
//SCE라고 부름 show short circuit evaluation
*논리연산자에서 판별할 때 왼쪽에 있는 값에 따라 오른쪽이 실행되지 않을 수 있다.
if(arr3 != null && arr3.length ==2){ => 작동함
( arr3.length ==2 만있으면 에러남)
sysout("12");
}
&& : 하나라도 거짓이면 거짓,
왼쪽이 거짓이면 오른쪽을 확인하지 않아도 거짓이기때문에 오른쪽이 실행되지않음.
|| : 하나라도 참이면 참,
왼쪽이 참이면 오른쪽을 확인하지 않아도 참이기때문에 오른쪽이 실행되지 않음.
/* 4개의 성적을 입력받아 합격인지 불합격인지 판별하는 코드를 작성하세요
public static void main(String[] args) {
/* 4개의 성적을 입력받아 합격인지 불합격인지 판별하는 코드를 작성하세요
* 합격 기준
* - 모든 성적이 과락이 없어야 함
* - 평균 60점 이상
* 과락 : 성적이 40점 미만인 경우
*
* 예시1) 과락이 있는 경우
* 성적 : 40 30 100 100
* 불합격입니다.
*
* 예2)
* 성적: 60 40 100 100
* 합격입니다.
*
* 예3) 평균이 60미만인 경우
* 성적: 40 50 40 60
* 불합격입니다.
* */
int i,sum=0;
boolean pass=true; //참&거짓 결과
int scoreArr[] = new int [4];
Scanner scan = new Scanner(System.in);
for(i=0; i<scoreArr.length; i+=1) {
System.out.print("성적을 입력하세요: ");
scoreArr[i] = scan.nextInt();
}
scan.close();
for(int tmp:scoreArr) {
sum=sum+tmp;
}
double avg = (double) sum / scoreArr.length;
if(avg<60) {
pass=false;
}
for(int tmp : scoreArr) {
if(tmp<40) {
pass=false;
}
}
if(pass) {
System.out.print("합격입니다.");
}else {
System.out.print("불합격입니다.");
}
}
}
/* 1번 문제 : 1부터 10까지 한 줄로 출력되는 코드를 작성하세요.*/
/* * 2번 문제 : 4의 배수에서 줄바뀜.
/*3번 문제: 4의 배수이면 엔터를 출력, 4의 배수가 아니면 , 를 출력
/4번문제: 3번문제코드에 홀수일때 +1, 짝수일때 -1출력을 이용
/* 1번 문제 : 1부터 10까지 한 줄로 출력되는 코드를 작성하세요.*/
for(int i=1; i<=10; i+=1) {
System.out.print(i+" ");
}
System.out.println();
System.out.println("--------");
/* * 2번 문제 : 다음과 같이 되도록 코드를 작성하세요.
* 1 2 3 4
* 5 6 7 8
* 9 10
* 힌트 : 4의 배수에서 줄바뀜*/
for(int i=1; i<=10; i+=1) {
System.out.print(i+" ");
if(i%4==0) {
System.out.println();
}
}
System.out.println();
System.out.println("--------");
/* * 3번 문제 : 다음과 같이 되도록 코드를 작성하세요.
* 1, 2, 3, 4
* 5, 6, 7, 8
* 9, 10,11,12
* 힌트: 4의 배수이면 엔터를 출력, 4의 배수가 아니면 , 를 출력
* */
for(int i=1; i<=12; i+=1) {
System.out.print(i+" ");
if(i%4==0) {
System.out.println();
}else if(i%4!=0) {
System.out.print(",");
}
}
System.out.println();
System.out.println("--------");
/* * 4번 문제 : 다음과 같이 출력 되도록 코드를 작성하세요.
힌트: 3번문제코드에 홀수일때 +1, 짝수일때 -1출력을 이용
* 2 1 4 3 1 2 3 4
* 6 5 8 7 5 6 7 8
* 10 9 12 11 9 10 11 12
* */
for(int i=1; i<=12; i+=1) {
if(i%4==0) {
System.out.print(i-1+ " ");
System.out.println();
}else if(i%2==0) {
System.out.print(i-1+ " ");
}else if(i%2!=0) {
System.out.print(i+1+" ");
}
}
}
}
/* 10개짜리 배열에 1부터 10를 저장한 후 출력
10개짜리 배열에 피보나치수열을 저장한 후 출력
5개짜리 배열에 저장된 숫자들중 연속된 숫자가 3개인지 아닌지를 확인
/* 10개짜리 배열에 1부터 10를 저장한 후 출력하는 코드를 작성하세요.
* */
int arr[]=new int[10];
for(int i=0; i<arr.length; i+=1) {
arr[i]=i+1;
System.out.print(arr[i]+" ");
}
System.out.println();
/* 10개짜리 배열에 피보나치수열을 저장한 후 출력하는 코드를 작성하세요.
* 피보나치 수열
* - 앞에 두 개를 더하여 나열함
* - 0번지 : 1, 1번지 : 1 (고정)
* - 저장 및 출력 값: 1 1 2 3 5 8 13 21 34 55
* 힌트 : arr[i] = arr[i-2] + arr[i-1]
* */
int arrP[] = new int[10];
arrP[0] = arrP[1] = 1;
for(int i=2; i<=arrP.length-1; i+=1) {
arrP[i]=arrP[i-2]+arrP[i-1];
}
for(int i=0; i<=arrP.length-1; i+=1) {
System.out.print(arrP[i] + " ");
}
System.out.println();
/* 5개짜리 배열에 저장된 숫자들중 연속된 숫자가 3개인지 아닌지를 확인하는 코드를
* 작성하세요. 단, 숫자들은 정렬되었다고 가정
* 예시
* 입력 : 1 1 2 3 4
* 연속
* 예시
* 입력 : 1 2 4 5 8
* 연속 아님
* 예시 : 1 3 5 6 7
* 연속
* 뒤번지의 값과 1차이가 나면 count 변수를 1 증가,
* 1차이가 나지 않으면 count를 1으로
* count가 3이되면(연속) 반복문 종료
* */
int arr1[] = new int[] {1,2,2,2,4};
int count=1;
for(int i=0; i<arr1.length-1; i+=1) {
if(arr1[i]==arr1[i+1]) {
count+=1;
}else{
count=1;
}if(count==3) {
break;
}
}
if(count==3) {
System.out.print("연속");
}else {
System.out.print("연속 아님");
}
}
}
5개짜리 배열에 페어(같은 숫자가 2개) 있는지 없는지 판별하는 코드
public static void main(String[] args) {
/* 5개짜리 배열에 같은 숫자가 2개 있는지 없는지 판별하는 코드를 작성하세요
* 단, 숫자는 정렬되어 있다고 가정
*
* 예시 : 1 1 2 3 4
* 있음
*
* 예시 : 1 2 3 4 5
* 없음
*
* 예시 : 1 1 2 2 4
* 있음
*
* 예시: 1 1 1 2 3
* 없음
*
* i번지의 값고 i+1번지의 값이 같으면 count를 1증가
* 다르면, count의 값이 2와 같으면 result를 true로 수정
* count를 1로 초기화 (break안걸어줌)
* 반복문 종료 후,
* res가 true이면 있음이라고 출력, false이면 없음이라고 출력
* */
int arr[] = new int[] {1,1,2,3,4};
int count=1;
boolean res = false;
for(int i=0; i<arr.length-1; i+=1) {
if(arr[i]==arr[i+1]) {
count+=1;
}else{
if(count==2) {
res=true;
}
count=1;
}
}
if(count==2) {
res=true;
}
if(res==true) {
System.out.print("있음");
}else {
System.out.print("없음");
}
}
}