JAVA/연습장!

조건문 연습문제

john_ 2022. 12. 14. 10:19
728x90
다음 문장들을 조건식으로 표현하세용

1. int x;
if(x >10 && x <20) {}

2. char ch;
if(ch != ' '  || ch != '\t') {}

3. char ch;
if(ch == 'x' || ch == 'X'){}

4. char ch;
if( ch >= '0' && ch <= '9'){}

5. char ch;
if( ch >='a' && ch <='z' ) || ( ch >= 'A' && ch <= 'Z') {}

6. int year;
if(year % 400 == 0 || year % 4 == 0 && year %100 != 0) { }

7. boolean powerOn;
if(powerOn==false) {}

8. String str;
if(str.equals("yes")){}


문제2.

1부터 20까지의 정수중에서 2 또는 3의 배수가 아닌 수의 총합을 구하세용
package java1214;

public class java4_2 {

	public static void main(String[] args) {

		int sum=0;
		int i =	0;
		
		for(i=0; i<=20; i++) {
			if(i % 2!=0 && i % 3 !=0) {
				sum = sum +i;
			}
		}System.out.println(sum);
	}
}

답은 73!


문제3.

1+(1+2)+(1+2+3)+(1+2+3+4) + ... + (1+2+3+4+...+10)의 결과를 계산하세용
public class java4_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		int sum = 0;
		
		for(int i=1; i<= 10; i++) {
			for(int j=1; j<=i; j++) {
				sum += j;
			}
		}
		System.out.println(sum);
	}
}

답은 220!

 


문제4

1+(-2)+3+(-4)+...과 같은 식으로 계속 더해나갔을때, 몇 까지 더해야 총 합이 100 이상 되는지 구하세용
public class test4_4 {

	public static void main(String[] args) {

		int sum=0;
		int num=0;
		int s = 1;
	
		
		for(int i = 1; true; i++, s=-s) {
			num = s * i;
			sum = sum + num;
			
			if(sum >= 100) {
				System.out.println(i);
				break;
			}
		}
	}
}

답 199!!

1 -2 +3 -4...
...+197 - 198 + 199  이런식으로 계산해야댐!

문제5

다음의 for 문을 while 문으로 바꾸세용.
public class Exercise4_5 {
	public static void mian(String[] args){
    	for(int i = 0; i<=10; i++){
        	for(int j = 0; j<=i; j++){
            	System.out.print("*");
            System.out.println();
       	}
    } // end of main
} 	// end of class

제맘대로 한번 해봤습니당..

package java1214;

public class fortoWhile {

	public static void main(String[] args) {

		int i = 0;
		while(i<=10) {
			
			int j = 0;
			
			while(j<=i) {
				j++;
				System.out.print("*");
				
			}System.out.println();
			
			i++;
		}
	}
}

 


문제6

두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프로그램을 작성하세용
package java1214;

public class random1 {

	public static void main(String[] args) {

		int sum;
		
		for(int i=1; i<=6; i++) {
			for(int j=1; j<=6; j++) {
				sum = i+j;
				if(sum==6) {
					System.out.println("주사위 1: " + i + "\t주사위 2: " + j);
					System.out.println();
				}
			}
		}
	}
}

짜잔


문제7

Math.random()을 이용해서 1부터 6사이의 임의의 정수를 변수 value에 저장하는 코드를 완성하세용
package java1214;

public class random2 {

	public static void main(String[] args) {

		int value = (int)(Math.random()*6 +1);
        	// *6 으로 최댓값 지정.
            // int형으로 반환하면서 소숫점 날리기
            // +1 하면서 0~5 였던걸 1~6으로 바꿔줌!
		
		System.out.println("value: " + value);
	}
}

 


문제8

방정식 2x + 4y = 10 의 모든 해를 구하세용. 단 x 와 y는 정수이고 각각의 범위는 
0 <= x <= 10,  0 <= y <=10 이다.
package java1214;

public class find1 {

	public static void main(String[] args) {

		for(int i=0; i<=10; i++) {
			for(int j=0; j<=10; j++) {
				if((2*i)+(4*j) == 10) {
					System.out.println("x는 " + i + ", " + "y는 " + j);
				}
			}
		}
	}
}
출력
x는 1, y는 2
x는 3, y는 1
x는 5, y는 0

 


문제9

숫자로 이루어진 문자열 str 이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하라.
만일 문자열이 "12345" 라면, '1+2+3+4+5'의 결과인 15가 출력이 되어야한다.
Hint) String클래스의 charAt(int i)를 사용
public class string1 {

	public static void main(String[] args) {

		String str = "12345";
		int sum = 0;
		char a;
		
		for(int i=0; i < str.length(); i++) {
			a = str.charAt(i);
			sum += Character.getNumericValue(a);
            //Character.getNumericValue(a)는 char인 a를 받아와서
            //아스키코드상의 해당 문자의 int로 바꿔 줍니다!!
		}
		
		System.out.println("sum = " + sum);
	}
}

다음과 같은 방법도 있습니다!

 

package java1214;

public class string1 {

	public static void main(String[] args) {

		String str = "12345";
		int sum = 0;

		
		for(int i=0; i < str.length(); i++) {

			sum += str.charAt(i) - '0';
            // str.charAt(i)이 순환할때마다 아스키코드의 0을 빼줌
            // str.charAt(i)가 '1'일때 '0'을 빼준다면
            // 아스키코드에서의 해당 1 과 0의 int값인
            // 49 - 48이 되어 1이 반환되기 때문!
		}
		
		System.out.println("sum = " + sum);
	}
}

문제 10

int 타입의 변수 num이 있을때, 각자리의 합을 더한 결과를 출력하는 코드를 작성하세요.
만일 변수의 num 값이 12345라면, '1+2+3+4+5' 의 결과인 15를 출력하세요.
[주의] 문자열로 반환하지말고 숫자로만 처리하세요.
package java1214;

public class fortoWhile {

	public static void main(String[] args) {

		int num = 12345;
		int sum = 0;
		
		while(num > 0) {
			
			sum = sum + num%10;
			num = num / 10;
		}
		
		System.out.println("sum = " + sum);
	}
}

 

728x90