본문 바로가기

JAVA/JAVA

자바 예제 - 비트이동연산자 : 로또 번호 추천 프로그램 만들기

반응형


<<비트이동 연산자 기본예제>>


class ShiftTest {

public static void main(String[] args) {


int a = 4 << 1; //'4를 왼쪽으로 1비트 이동' 하라는 말

// << 2 이렇게 2 가 나오면 2비트 이동

// 이동한 곳에는 이진수로 0이 채워짐

// 왼쪽으로 1비트 이동할때마다 곱하기2

// 오른쪽으로 1비트 이동할때마다 나누기2

// 부호가 유지됨(만약 음수로 할경우 음수로 나옴)

int b = 4 >> 1;

int c = -4 >>> 1; // 무조건 양수를 만들어 주는 연산자

// 결과값 2147483646 이 나오는데 그냥 양수를 만드는데 목적


System.out.println(a);

System.out.println(b);

System.out.println(c);

}

}





로또 번호 추천 프로그램 작성(무작위 수를 만들어주는 것)



<순서>

코드1 : 범위제한 하기전, 양수만 나오게 하기 전

코드2 : 코드1을 양수만 출력되게 한 것

코드3 : 범위까지 정해준것

코드4 : 로또 번호 6개 나오게 설정한 것 (반복문, 중복처리 하기전)




<코드1>


import java.util.Random;

class LottoTest{

public static void main(String[] args) {

Random r = new Random();


int n = r.nextInt(); //정수의 안에서 

System.out.println(n);

}

}




<코드2>


import java.util.Random;

class LottoTest {

public static void main(String[] args) {

Random r = new Random();


int n = r.nextInt() >>> 1; 

System.out.println(n);

}

}




<코드3>


import java.util.Random;

class LottoTest {

public static void main(String[] args) {

Random r = new Random();


int n = r.nextInt() >>> 1; 


n = n % 45 + 1; //로또 범위가 45까지 이니까 ㅜ % 45만 하면 44까지만 되므로 +1 을 붙인다.


System.out.println(n);

}

}




<코드4>


import java.util.Random;


class LottoTest{

public static void main(String[] args) {


Random r = new Random();


/*

int n = r.nextInt() >>> 1; 


n = n % 45 + 1; //로또 범위가 45까지 이니까 ㅜ % 45만 하면 44까지만 되므로 +1 을 붙인다.


//위에는 로또 번호 한개 까지만 한것이고 밑에는 6개


System.out.println(n);

*/


System.out.println("==이번주 로또 추천번호==");


int n = r.nextInt() >>> 1; 

n = n % 45 + 1; 

System.out.println(n + " ");


n = r.nextInt() >>> 1; 

n = n % 45 + 1; 

System.out.println(n + " ");


n = r.nextInt() >>> 1; 

n = n % 45 + 1; 

System.out.println(n + " ");


n = r.nextInt() >>> 1; 

n = n % 45 + 1; 

System.out.println(n + " ");


n = r.nextInt() >>> 1; 

n = n % 45 + 1; 

System.out.println(n + " ");


n = r.nextInt() >>> 1; 

n = n % 45 + 1; 

System.out.println(n + " ");


}

}


반응형