basicJAVA/100. 연습문제

Exam_03

unemo 2020. 10. 16. 19:44
반응형
package z_exam;

import java.util.Scanner;

public class Exam_03 {
	public static void main(String[] args) {
		
/*
	 [4-1] 다음의 문장들을 조건식으로 표현하라.
	 
	 	(1) int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식
	 		
	 		int x ;
			if (10<x && x<20){ };
	 		
	 	(2) char형 변수 ch가 공백이고 탭이 아닐 때 true인 조건식
	 		
	 		char ch =' ';
			if(ch==' '&&ch!='\t'){
			System.out.println("true");
			}
	 		
	 		**System.out.println("문자"+'\t'+"어저구"); // tap은 '\t'으로 표현한다.
	 		
	 	(3) char형 변수 ch가 'x'또는 'X'일 때 true인 조건식
	 		char=='x'||char=='X'
	 	(4) char형 변수 ch 가 숫자('0'~'9')일 때 true인 조건식
	 		'0'<=ch&&ch<='9'
	 	(5) char형 변수 ch가 영문자(대문자 또는 소문자)일 때 true인 조건식
			'A'<=ch&&ch<='B'||'a'<=ch&&ch<='z'
	 	(6) boolean형 변수 powerOn이 false일때 true인 조건식
	 		powerOn==false 혹은 !powerOn
	 	(7) 문자열 참조변수 str이 "yes"일 때 true인 조건식
	 		"yes".equals(str);
	 	
	 [4-2] 1부터 20까지의 정수 중에서 2또는 3의 배수가 아닌 수의 총 합을 구하시오
	 	
	 	int sum = 0;
	 	for(int num = 1;num<21;num++){
	 		if(num%2!=0||num%3!=0){
	 			sum+=num;
	 		}
	 	}
	 	
	 	답은 73
	 	
	 [4-3] 다음의 for문은 while문으로 변경하시오
	 	
	 	/*
 	 	for(int dan=2;dan<10;dan++){
 			for(int gob=1;gob<10;gob++){
 				System.out.println(dan+"*"+gob+"="+dan*gob);
 			}
 		}
 	*/
 	//이걸 while문으로
 		/*int dan = 2;  			//초기값을 밖으로 뺀다
 		while(dan<10){			//조건을 while의 조건식에 넣고
 								//첫번째 while문의 반복문은 중첩된 while문 전체이다.
 			int gob = 1;		//이건 중첩될 두번째 while문의 초기값
 			while(gob<10){		//중첩된 두번째 while문의 조건식
 				System.out.println(dan+"*"+gob+"="+dan*gob);	//두번째 while문의 반복문
 				gob++;											//두번째 while문의 증감값
 			}
 			dan++;				//첫번째 while문의 증감값
 		}*/
 		
 	//[4-4]
		/*
 		for(int a= 1;a<7;a++){
 			for(int b = 1;b<7;b++){
 				if(a+b==6){
 					System.out.println(a+"+"+b+"="+(a+b));
 				}
 			}
 		}
	 /*
	 //[4-5]
		*/
		/*
		for(int x = 0; x<11;x++){
			for(int y = 0;y<11;y++){
				if(2*x+4*y==10){
					System.out.println("x="+x+" y="+y);
				}
			}
		}
	 
		
	//[4-6]
		
		Scanner sc = new Scanner(System.in);
	
	
	
	
	
	int input1 = sc.nextInt();
	int input2 = sc.nextInt();
	int gob = 1;
	
	while(input1<=input2){
		gob*=input1;
		input1++;
	}
	System.out.println(gob);
		
		
	//[4-7] 
	/*3가지 방법이 있음 for1개  for2두개 
	 지금까지와 다른건, 앞의숫자와 뒤의숫자가 서로 영향을 주고받는다.
	 */
		int sum=0;
		for(int i = 1; i<11; i++){
			for(int j = 1; j<i+1; j++){
				sum+=j;
			}
		}
		System.out.println(sum);
		
		System.out.println(1+3+6+10+15+21+28+36+45+55);  
	
		//for문 한번쓰는것
		int mukSum = 0;		//묵음의 합계를 모으고
		int totalSum = 0;	
		for(int muk=1;muk<11;muk++){ //묶음이 10번 돌아감
			mukSum +=muk;			//묶이 묶섬에 누적합 //muksum 1 muk1 // muksum = 1+2=3 // 1+2+3
			totalSum += mukSum;		//묶음별 합계를 기존에 있던거에 추가추가하는방법 	total 1 muksum1 //total 1+1+2//total1+1+2+1+2+3
		}
		
		//마지막방법 1이 10개 2가 9개 3이 8개 num(11-num)이 나옴
		
		int ttSum = 0;	
		for(int muk=1;muk<11;muk++){
		ttSum += muk*(11-muk);
		}
	
	
		
	//[4-8]
		/*
		int i = 1;
	int sum1=0;
	while(sum1<100){ //sum1이 100이상이 되면 나간다.
	
		if(i%2==1){  //i가 홀수이면
			sum1+=i; //sum1에 양수i
		}else if(i%2==0){//i가 짝수이면
			sum1+=-i;//sum1에 음수i
		}
		i++;//if나 else 둘중 하나 한 후 i++
	}
	System.out.println(i);	
	
두번째 방법은 부호를 가질수있는 값을 처음에는 1로 만들어놓고 걔를 계속 곱함
	*/
		
	//[4-9]
		/*
		Scanner sc = new Scanner(System.in);
		String input = sc.next();
		int sum = 0;
		
		for(int a = 0; a<input.length();a++){
			sum+=input.charAt(a)-'0';
		}
		System.out.println(sum);
		*/
		
	//[4-10]
		/*
		int sum = 0;
		for(int a = 1; a<11; a++){
			for(int b = 2;b<10;b++){
				
			}
		}*/
		
		/*
		 1
		 1+1
		 1+1 +1
		 1+1 +1  1+1
		 1+1 +1  1+1  1+1  +1
		 1+1 +1  1+1  1+1  +1 1+1  +1  1+1
		  
		 */
		
		//[4-10]
		
		/*
		 * String value = "12k34";
		char ch = ' ';
		boolean isNumber = true;
		
		for(int i = 0; i<value.length();i++){
			ch = value.charAt(i);		
			//System.out.println(value.charAt(i));
			if('0'<=ch&&ch<='9'){
				isNumber=true;
			}else{
				isNumber=false;
				break;
			}
			
		}
		if(isNumber){
			System.out.println(value+"는 숫자입니다");
		}else{
			System.out.println(value+"는 숫자가 아닙니다");
		}
		*/
	
		/*
		 [4-10]
		
		int a =1;
		int b =1;
		int c = 0;
		
		for(int count=0;count<8;count++){
			c = a+b;
			a = b;
			b = c;
		
		}
		
		System.out.println("10번째 수는: " + c);
		 */
		
		
		
		
	//4-1-1
	/*int x = 14;
	if (10<x && x<20){System.out.println("true");};*/
	//4-1-2
	/*char ch =' ';
	if(ch==' '&&ch!='\t'){
		System.out.println("true");
	}*/
	//4-1-3
	//char 
	
	
	//4-2
	/*int sum = 0;
 	for(int num = 1;num<21;num++){
 		if(num%2!=0&&num%3!=0){
 			sum+=num;
 		}
 	}
 	System.out.println(sum);*/
 	
 	//4-3
 	/*
 	 	for(int dan=2;dan<10;dan++){
 			for(int gob=1;gob<10;gob++){
 				System.out.println(dan+"*"+gob+"="+dan*gob);
 			}
 		}
 	*/
 	//이걸 while문으로
 		/*int dan1 = 2;  			//초기값을 밖으로 뺀다
 		while(dan1<10){			//조건을 while의 조건식에 넣고
 								//첫번째 while문의 반복문은 중첩된 while문 전체이다.
 			int gob = 1;		//이건 중첩될 두번째 while문의 초기값
 			while(gob<10){		//중첩된 두번째 while문의 조건식
 				System.out.println(dan1+"*"+gob+"="+dan1*gob);	//두번째 while문의 반복문
 				gob++;											//두번째 while문의 증감값
 			}
 			dan1++;				//첫번째 while문의 증감값
 		}*/
 	
Scanner sc = new Scanner(System.in);
		
	
		
		/*for(int input1 = sc.nextInt();input1<input2;input1++){
			for(int input2 = sc.nextInt();input)
		}
		*/
		/*int input1 = sc.nextInt();
		int input2 = sc.nextInt();
		int gob = 1;
		
		while(input1<input2){
			gob*=input1*gob;
			input1++;
		}
		System.out.println(gob);
*/
		/*
		int i = 1;
		int sum1=0;
		while(sum1<100){
			if(i%2==1){
				sum1+=i;
			}else if(i%2==0){
				sum1+=-i;
			}
			i++;
		}
		System.out.println(i);*/
		/*int sum = 0;
	 	for(int num = 1;num<21;num++){
	 		if(!(num%2==0||num%3==0)){
	 			sum+=num;
	 		}
	 	}*/
	 	/*System.out.println(sum);*/
		//이게 답임!
	 	
	 	for(int x = 0; x<11;x++){
			for(int y = 0;y<11;y++){
				if(2*x+4*y==10){
					System.out.println("x="+x+" y="+y);
				}
			}
		}
}
}
반응형

'basicJAVA > 100. 연습문제' 카테고리의 다른 글

Exam 04  (0) 2020.10.20
Exam_03 추가과제  (0) 2020.10.16
Exam 01  (0) 2020.10.12
Exam 02  (0) 2020.10.12