-
JAVA_04_실습_반복문과 조건문1. JAVA/1.2 실습 2022. 3. 14. 14:51
문제1 ]
1 부터 정수를 더해갔을때 그합이 5000을 초과하는 수는 몇부터인지 출력하세요.
(처음 합이 5000이 넘는 순간 반복문을 종료한다.)public class Ex01_1 { public static void main(String[] args) { int sum = 0; int result = 0; for(int i = 0;;i++) { sum+=i; if(sum>5000) { System.out.println(i); break; } } } }
문제2 ] 1 ~ 10 까지의 합을 구해서 출력해주는 프로그램을 작성하세요.
(합은 결과값 변수로 만들어서 처리하세요.)public static void main(String[] args) { int hap = 0; for(int i = 0; i<10; i++) { hap += (i+1); } System.out.println("1부터 10까지의 합은 : "+hap); int gop = 1; for(int i= 0; i<10; i++) { gop *= (i+1); } System.out.println("1부터 10까지의 곱은 : "+gop+"입니다."); }
문제3 ] 3 ~ 10 사이의 정수를 랜덤하게 발생시켜서 그 정수를 길이로 하는 영어 단어를 랜덤하게 만드세요.
단, 시작문자는 대문자로 하고 나머지는 소문자로 하세요.public static void main(String[] args) { int input = (int)((Math.random()*(10-3+1))+3); System.out.println("입력받은 정수 :"+input); int num = 0; int result = 'a'-'A'; char ch = 'A'; for(int i = 0; i<input;i++) { num +=1; int temp = ch+(num-1); if(i>0) { temp = ch+(num-1)+result; } System.out.print((char)temp+" "); } }
문제4 ] 'A' 부터 문자를 10개를 만들어서 출력하세요.
public static void main(String[] args) { char ch = 'A'; for(int i = 0; i<10;i++) { ch+=1; System.out.println((char)(ch-1)); } } }
문제 5] 0 ~ 255 사이의 정수를 10개를 랜덤하게 만들고 그 정수를 아스키 코드값으로 하는 문자열을 만들어서
만들어진 문자열의 문자를 하나씩 추출해서 추출한 문자가 대문자인지 소문자인지 특수문자인지를 출력하는
프로그램을 작성하세요.
(문자열의 길이를 알아내는 방법 : int 변수 = 문자열.length();)public static void main(String[] args) { int A = 'A';//24?? int B = 'Z'; int C = 'a';//48 int D = 'z'; String str = "특수문자 입니다."; int ran = 0; char ch = ' '; //A<ran<B for(int i = 0; i<10;i++) { ran = (int)((Math.random()*(255-0+1))); ch = (char)ran; if(ran>=A &&ran<=B) {str = "대문자 입니다."; } else if(ran>=C&&ran<=D) {str = "소문자 입니다.";} else {str = "특수문자 입니다.";} System.out.print((i+1)+"번째 : "+ch+" : "+str+"\n"); } } }
문제 4 ]
전기요금을 계산해주는 프로그램을 작성하세요./* 전기요금표 코드 기본요금 사용요금 가정용 1 3800 245 산업용 2 2400 157 교육용 3 2900 169 상업용 4 3200 174 전기요금은 기본요금 + 사용량 * 사용요금 사용자 코드와 사용량을 입력하면 전기요금을 계산해서 출력해주는 프로그램을 작성하세요. */ public class Ex04 { public static void main(String[] args) { //할일 //1. 입력도구 준비. Scanner sc = new Scanner(System.in); while(true) { // 2. 용도 입력 메세지 출력. System.out.print(" * 사용용도 코드를 입력하세요\n\t가정용\t1\n\t산업용\t2\n\t 교육용\t3\n\t상업용\t4\n\t종료\t0\n입력코드 : "); // 3. 입력받아서 변수 기억. int code = sc.nextInt(); /* 블럭킹 함수(Blocking Method) : 특정 상황이 될때까지 그 함수에서 실행을 멈추고 기다리는 함수 */ // 입력할때까지 기다리는 함수 ex 웹사이트 접속할때.. if(code==0) { System.out.println("프로그램을 종료합니다"); //이 경우 프로그램 즉시 종료해야 하므로 break break; } // System.out.println("입력코드 : "+code); // 2-1 사용량 입력 메세지 출력. System.out.print("사용량 입력 : "); // 3-1 입력받아서 변수 기억한다. int sayong = sc.nextInt(); //4. 용도에 맞게 계산해서 변수에 기억시키고. ==> 조건으로 분기처리 String yd ="가정용"; int money = 0; switch(code) { case 1: yd = "가정용"; money = 3800+245*sayong; break; case 2: yd = "산업용"; money = 3800+245*sayong; break; case 3: yd = "교육용"; money = 2900+169*sayong; break; case 4: yd = "상업용"; money = 3200+174*sayong; break; } System.out.println("입력된 코드는 "+yd+"용으로 사용량은 "+ sayong+"이고\n\t총 전기요금은 : "+money+"원 입니다."); System.out.println(); } //5. 출력 } }
문제 5 ]
컴퓨터와 사용자 사이의 가위바위보 게임을 한다.
컴퓨터는 랜덤하게 1 ~ 3 사이의 숫자를 발생하여 가위, 바위, 보로 가정하고
사용자는 키보드를 이용해서 1 ~ 3 사이의 숫자를 입력하도록 한다.
누가 이겼는지를 확인하는 프로그램을 작성하세요.풀이] 컴퓨터 - 사람 으로 계산해서 컴퓨터 (가위) (바위) (보) 1 2 3 가위 1 0 1 2 바위 2 -1 0 1 보 3 -2 -1 0 여기서 비긴 경우, 결과값 0 컴퓨터가 이긴경우 1,-2 사람이 이긴경우 -1,2 */ import java.util.*; public class Ex05 { public static void main(String[] args) { //할일 //1. 입력도구 준비 Scanner sc = new Scanner(System.in); while(true) { //2. 입력메세지 출력 System.out.print("가위 : 1, 바위 : 2, 보 : 3을 입력하세요\n게임종료는 : 0"); //3. 입력받아서 변수에 기억 int saram = sc.nextInt(); //입력된 숫자가 종료숫자이면 바로 종료 if(saram==0) { sc.close(); break;} // 랜덤하게 컴퓨터 숫자 생성 int com = (int)Math.random()*(3-1+1); //컴퓨터와 사람의 코드에 따라서 가위, 바위 보를 기억할 변수 String sstr = " "; switch(saram) { case 1 : sstr = "가위"; break; case 2 : sstr = "바위"; break; case 3 : sstr = "보"; break; default: continue; //switch 실행 X => 조건식으로 가서 블록 다시 실행.. } String comstr = "가위"; switch(com) { case 2 : sstr = "바위"; break; case 3 : sstr = "보"; break; } // //5. 계산해서 결과값 만들고 // 여기서 // 비긴 경우, 결과값 0 // 컴퓨터가 이긴경우 1,-2 // 사람이 이긴경우 -1,2 int result = com-saram; String msg = "비"; if(result==1||result==-2) { msg = "컴퓨터가 이"; } else if(result==-1||result==2) { msg = "사람이 이"; } else { } System.out.println("컴퓨터는 "+comstr + "\n, 사람은 "+sstr+"으로\n*** "+msg+"겼습니다.***" ); System.out.println(); //6. 조건에 따라서 결과 출력 } System.out.println("##### 게임이 종료되었습니다. #####"); //반복문 종료 후 출력 } }
'1. JAVA > 1.2 실습' 카테고리의 다른 글
JAVA_05_실습_반복문과 조건문3 (0) 2022.03.16 JAVA_05_실습_반복문과 조건문2 (0) 2022.03.14 JAVA_03_실습_연산자2 (0) 2022.03.14 JAVA_02_실습_연산자 (0) 2022.03.14 JAVA_01_실습_데이터종류 (0) 2022.03.14