1. 자바에서의 키 입력
-> System.in
-> Scanner를 이용한 키 입력
-> nextLine( )과 next( )
2. 비트 연산
-> 비트 논리 연산
-> 비트 시프트 연산
3. 실습문제 12번
import java.util.Scanner;
public class LecturePractice {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int status = scanner.nextInt();
if((status & 0b10000000) == 0)
{
System.out.print("자동차는 정지 상태이고 ");
}
else if((status & 0b010000000) != 0)
{
System.out.print("자동차는 달리는 상태이고 ");
}
if((status & 0b01000000) == 0)
{
System.out.print("에어컨이 꺼진 상태이고 ");
}
else if((status & 0b01000000) != 0)
{
System.out.print("에어컨이 켜진 상태이고 ");
}
/*
byte new_status = (byte)(status);
byte temp = (byte)(new_status >>> 2);
System.out.print("온도는 " + (int)temp + "도이다.");
*/
int temp = (status & 0b00111111);
System.out.print("온도는 " + (int)temp + "도이다.");
scanner.close();
}
}
->
주석 처리한 부분처럼,
괜히 비트 연산자를 가지고 타입변환하고, 비트 시프트 연산을 하려다가 실패함
->
문제가 안풀릴때는 크게 보면서 다시 방법을 찾아보아야할 것 같다.
괜히 내가 잘못 접근한 방식만을 고집하다가 시야가 좁아져서 새로운 방식으로의 접근을 생각하지 못했다.
예제출처: 명품 JAVA Programming(개정 5판), 생능출판사
'학교 > 2-2학기(Java)' 카테고리의 다른 글
[5주차] 9/30(월) 강의내용 (0) | 2024.09.30 |
---|---|
[4주차] 9/25(수) 강의내용 (1) | 2024.09.25 |
[4주차] 9/23(월) 강의내용 (0) | 2024.09.23 |
[2주차] 9/9(월) 강의내용 (0) | 2024.09.09 |
[1주차] 9/4(수) 강의내용 (1) | 2024.09.08 |
댓글