Conditional & Array Study - yoonkh0503/JavaBook Wiki

Original URL: https://github.com/yoonkh0503/JavaBook/wiki/Conditional-&-Array-Study

Welcome to the JavaBook wiki!

자바의정석 기초편 공부

2021.05.27

4장 조건문과 반복문

		/* 1 + (-2) + 3 + (-4) ... 같은 식으로 계속 더해나갔을 때 몇까지 더해야
		총합이 100 이상이 되는지 구하시오.
		 */
		
		int num = 0;
		int sum = 0;
		
		while(true)
		{
			num = num + 1;
			
			if(num % 2 == 0)
			{
				sum -= num;
			}
			else
			{
				sum += num;
			}
			System.out.println("num : " + num);
			System.out.println("sum : " + sum);
			if(sum >= 100)
			{
				break;
			}
		}
		System.out.println(sum);
                 /* 
		사용자로부터 두개의 정수(시작,끝)을 입력받아 시작에서 끝까지의 곱을 출력하는
		프로그램을 작성하시오.
		*/
Scanner sc = new Scanner(System.in);
		
		int startnum = 0;
		int lastnum = 0;
		int result = 1;
		
		System.out.println("시작 숫자를 입력하세요.");
		startnum = sc.nextInt();
		
		System.out.println("마지막 숫자를 입력하세요.");
		lastnum = sc.nextInt();
			
		while(startnum <= lastnum) // 조건이 필요한 반복문인 경우 while 사용을 고려해볼 것
		{
			result *= startnum;
			System.out.println(result);
			startnum = startnum + 1;
			
		}

2021.05.30

switch (level) {
case 3 :
grantDelete(); // 삭제권한을 준다.
case 2 :
grantWrite(); // 쓰기권한을 준다.
case 1 :
grantRead(); // 읽기권한을 준다.
}

출처: https://myeonguni.tistory.com/42 [명우니닷컴]

2021.06.06

5장 배열

public class ArrayExample6 {

	public static void main(String[] args) {
		int[] numarr = {0,1,2,3,4,5,6,7,8,9};
		System.out.println(Arrays.toString(numarr));
		
		for(int i=0; i<100; i=i+1)
		{
			int randomnum = (int)(Math.random() * 10); // 0~9중 한 값을 임의로 얻는다.
			int tmp = numarr[0];
			numarr[0] = numarr[randomnum];
			numarr[randomnum] = tmp;
		}
		
		System.out.println(Arrays.toString(numarr));

    * tmp 변수에 numarr[0]을 대입한다.
    * numarr[0] 인덱스에 numarr[randomnum]의 값을 대입한다. numarr[0]번 인덱스에는 랜덤으로 선정된 numarr 인덱스의 값이 저장된다.
    * numarr[randomnum] 인덱스에 tmp 변수의 값을 대입한다. tmp 변수는 numarr[0], 즉 랜덤으로 선정된 numarr[randomnum] 인덱스에 tmp 값이 들어간다.
    * [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    * [3, 1, 2, 0, 4, 5, 6, 7, 8, 9] // 0과 3이 변경되었다. 충분히 섞일만큼 반복하기 위해 i<100 을 조건으로 삼았다.

		
		int[] ball = new int[45]; // 45개의 정수값을 저장하기 위한 배열 생성
		
		// 배열의 각 요소에 1~45의 값을 저장;
		for(int i=0; i<ball.length; i=i+1)
		{
			ball[i] = i+1;
		}
		
		int tmp = 0; // 두 값을 바꾸는데 사용할 임시 변수
		int j = 0; // 임의의 값을 얻어서 저장할 변수
		
		// 배열의 i번째 요소와 임의에 요소에 저장된 값을 서로 바꿔서 값을 섞는다.
		// 0번째부터 5번째 요소까지 모두 6개만 바꾼다.
		
		for(int i=0; i<6; i=i+1)
		{
			j = (int)(Math.random() * 45);
			tmp = ball[i];
			ball[i] = ball[j];
			ball[j] = tmp;
			System.out.println(Arrays.toString(ball));
		}

    * j 변수에 0~44 범위의 랜덤 값을 얻을 수 있도록 저장.
    * tmp 변수에 ball[i], tmp 변수는 ball[0] ~ ball[5] 로 저장된다.
    * ball[i] 의 값에는 임의로 선정된 j의 값을 ball 배열의 인덱스로 저장한다. ball[i] 인덱스에는 ball의 0~44번째 배열의 값이 저장된다.
    * ball[j] 라는 임의의 인덱스에는 tmp 값을 저장한다. 임의로 선정된 ball[j]의 인덱스 값과 ball[i] 번째, 즉 0~5번째 배열의 값과 변경된다.
    * 아래의 결과 참고
[42, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 1, 43, 44, 45] // 0번째 인덱스와 41번째 인덱스가 바뀌었다.
[42, 13, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 1, 43, 44, 45] // 1번째 인덱스와 12번째 인덱스가 바뀌었다.
[42, 13, 35, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 3, 36, 37, 38, 39, 40, 41, 1, 43, 44, 45] // 2번째 인덱스와 34번째 인덱스가 바뀌었다.
[42, 13, 35, 21, 5, 6, 7, 8, 9, 10, 11, 12, 2, 14, 15, 16, 17, 18, 19, 20, 4, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 3, 36, 37, 38, 39, 40, 41, 1, 43, 44, 45] // 3번째 인덱스와 20번째 인덱스가 바뀌었다.
[42, 13, 35, 21, 22, 6, 7, 8, 9, 10, 11, 12, 2, 14, 15, 16, 17, 18, 19, 20, 4, 5, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 3, 36, 37, 38, 39, 40, 41, 1, 43, 44, 45] // 4번째 인덱스와 21번째 인덱스가 바뀌었다.
[42, 13, 35, 21, 22, 15, 7, 8, 9, 10, 11, 12, 2, 14, 6, 16, 17, 18, 19, 20, 4, 5, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 3, 36, 37, 38, 39, 40, 41, 1, 43, 44, 45] // 5번째 인덱스와 14번째 인덱스가 바뀌었다.
		
		for(int i=0; i<6; i=i+1)
		{
			System.out.printf("ball[%d] = %d\n",i,ball[i]);
		}
	}

}