2015 IT 웹 기반 개발자과정/JAVA
JAVA 선택제어문 / 반복제어문1 형성평가 1~5 (정올 JUNGOL)
한여름밤의코딩
2015. 10. 22. 13:45
선택제어문 형성평가 1~5(120~124) 반복제어문1 형성평가 1~5 (125~129) 선택제어문 형성평가 1] 두 개의 정수를 입력받아 큰 수에서 작은 수를 뺀 차를 출력하는 프로그램을 작성하시오. import java.util.Scanner; public class IF1{ public static void main(String[] args){ int num1=0, num2=0; Scanner scanner = new Scanner(System.in) ; System.out.print("정수를 입력하세요=>"); num1 = scanner.nextInt(); System.out.print("정수를 입력하세요=>"); num2 = scanner.nextInt(); if(num1>num2){ System.out.println(num1+"-"+num2+"="+(num1-num2)); }else{ System.out.println(num2+"-"+num1+"="+(num2-num1)); } }//main() end }//class end 선택제어문 형성평가 2] 정수를 입력받아 0 이면 "zero" 양수이면 "plus" 음수이면 "minus" 라고 출력하는 프로그램을 작성하시오. import java.util.Scanner; public class IF2{ public static void main(String[] args){ int num1=0; Scanner scanner = new Scanner(System.in) ; System.out.print("정수를 입력하세요=>"); num1 = scanner.nextInt(); if(num1==0){ System.out.println("zero"); }else if(num1>0){ System.out.println("plus"); }else if(num1 < 0){ System.out.println("minus"); } }//main() end }//class end 선택제어문 형성평가 3] 년도를 입력받아 윤년인지 평년인지 판단하는 프로그램을 작성하시오 년도%4==0 윤년 년도%4==0 이면서 년도%100==0 평년 년도%4==0 이면서 년도%400==0 윤년 public class IF3{ public static void main(String[] args){ int year=0; Scanner scanner = new Scanner(System.in) ; System.out.print("년도를 입력하세요=>"); year = scanner.nextInt(); if(year%4==0){ if(year%100==0) { System.out.println(year+"는 평년"); }else if(year%400==0) { System.out.println(year+"는 윤년"); }else{ System.out.println(year+"는 윤년"); } }else { System.out.println(year+"는 평년"); } }//main() end }//class end public class IF3_1{ public static void main(String[] args){ int year=0; Scanner scanner = new Scanner(System.in) ; System.out.print("년도를 입력하세요=>"); year = scanner.nextInt(); if(year%4==0 && year%100==0){ System.out.println(year+"는 평년"); }else if(year%4==0 && year%400==0) { System.out.println(year+"는 윤년"); }else if (year%4==0){ System.out.println(year+"는 윤년"); }else { System.out.println(year+"는 평년"); } }//main() end }//class end 선택제어문 형성평가 4] 다음과 같은 메시지를 출력하고 번호에 해당하는 동물을 영어로 출력하는 프로그램을 작성하시오. 해당 번호가 없으면 "I don't know." 라고 출력한다. ( "영어로 알고 싶은 번호를 입력하세요." 다음에 공백 주의 하세요. ) 입출력예의 진한 글씨는 결과값이다. 1. 개 2. 고양이 3. 병아리 영어로 알고 싶은 번호를 입력하세요. 2 cat import java.util.Scanner; public class Switch1{ public static void main(String[] args){ int num=0; Scanner scanner = new Scanner(System.in) ; System.out.println("1.개"); System.out.println("2.고양이"); System.out.println("3.새"); System.out.print("영어로 알고 싶은 번호를 입력하세요=>"); num = scanner.nextInt(); switch(num) { case 1 : System.out.println("Dog"); break; case 2 : System.out.println("Cat"); break; case 3 : System.out.println("Bird"); break; default : System.out.println("I don't Know"); } }//main() end }//class end 선택제어문 형성평가 5] 1~12사이의 정수를 입력받아 평년의 경우 입력받은 월을 입력받아 평년의 경우 해당 월의 날수를 출력하는 프로그램을 작성하시오. CASE1 import java.util.Scanner; public class Switch2{ public static void main(String[] args){ int month=0; Scanner scanner = new Scanner(System.in) ; System.out.print("월을 입력하세요(1~12)=>"); month = scanner.nextInt(); switch(month) { case 2 : System.out.println("28일"); break; case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 : System.out.println("31일"); break; case 4 : case 6 : case 9 : case 11 :System.out.println("30일"); } }//main() end }//class end CASE2 Scanner sc = new Scanner(System.in); int year, month; int temp; System.out.println("월수를 알고 싶은 \n년도와 월을 입력하세요. ex)1999 8"); year=sc.nextInt(); month=sc.nextInt(); if(year>=1000 && month>=1&&month<=12) switch(month) { case 2: if((year%4 == 0 && year%100 != 0) || (year%400 == 0)) //윤년일 경우 System.out.println("29"); else System.out.println("28"); break ; case 1:case 3:case 5:case 7:case 8:case 10:case 12: System.out.println("31"); break; default: System.out.println("30"); break; } }else{ System.out.println("잘못된 날짜입니다."); } 반복제어문1 형성평가 1] 정수를 입력받아 1부터 입력받은 정수까지를 차례대로 출력하는 프로그램을 작성하시오. import java.util.Scanner; public class For1{ public static void main(String[] args){ int num=0; Scanner scanner = new Scanner(System.in) ; System.out.print("정수를 입력하세요 =>"); num = scanner.nextInt(); for(int i=1;i<=num;i++){ System.out.print(i+","); } }//main() end }//class end 반복제어문1 형성평가 2] 정수를 입력받다가 0 이 입력되면 그 때까지 입력받은 홀수의 개수와 짝수의 개수를 출력하는 프로그램을 작성하시오. import java.util.ArrayList; import java.util.Scanner; 정수를 입력받다가 0 이 입력되면 그 때까지 입력받은 홀수의 개수와 짝수의 개수를 출력하는 프로그램을 작성하시오. public class While1{ public static void main(String[] args){ int num=0, even=0, odd=0; Scanner scanner = new Scanner(System.in) ; System.out.print("정수를 입력하세요 =>"); while(true) { num = scanner.nextInt(); if(num==0) { break; }else{ if(num%2==0){ even++; }else{ odd++; } } }//while end System.out.println("짝수의 개수 :"+even); System.out.println("홀수의 개수 :"+odd); }//main() end }//class end 반복제어문1 형성평가 3] 0 부터 100 까지의 점수를 계속 입력받다가 범위를 벗어나는 수가 입력되면 그 이전까지 입력된 자료의 합계와 평균을 출력하는 프로그램을 작성하시오. (평균은 반올림하여 소수 첫째자리까지 출력한다.) 55 100 48 36 0 101 합계 : 239점 평균 : 47.8점 import java.util.Scanner; public class While2{ public static void main(String[] args){ int num=0, sum=0, avg=0; double cnt=0; Scanner scanner = new Scanner(System.in) ; System.out.print("점수를 입력하세요 =>"); while(true) { num = scanner.nextInt(); if(num >100 || num < 0) { break; }else{ sum += num; //총점 sum=sum+num cnt++; } }//while end System.out.println("총점 :"+sum); System.out.println("평균 :"+(sum/cnt)); }//main() end }//class end 반복제어문1 형성평가 4] 0 이 입력될 때까지 정수를 계속 입력받아 3의 배수와 5의 배수를 제외한 수들의 개수를 출력하는 프로그램을 작성하시오. 1 2 3 4 5 6 7 8 9 10 0 5 CASE1 import java.util.Scanner; public class While3{ public static void main(String[] args){ int num=0, cnt=0; Scanner scanner = new Scanner(System.in) ; System.out.print("정수를 입력하세요 =>"); while(true) { num = scanner.nextInt(); if(num == 0) { break; }else{ if(num%3==0 || num%5==0 ){ continue; }else { cnt++; } } }//while end System.out.println("3의 배수도 5의 배수도 아닌 정수의 개수 "+cnt); }//main() end }//class end CASE2 System.out.println("정수를 입력하세요"); Scanner sc = new Scanner(System.in); int input = 0; int n35_sum= 0, sum= 0; while(true){ input = sc.nextInt(); sum++; if(input==0){ break; }else if(input%3==0 && input%5!=0){ n35_sum++; }else if(input%5==0 && input%3!=0){ n35_sum++; }else if(input%15==0){ n35_sum++; } } System.out.println("3과 5의배수 개수"+n35_sum); System.out.println("배수를 제외한 나머지 개수"+(sum-n35_sum-1)); } 반복제어문1 형성평가 5] 삼각형의 밑변의 길이와 높이를 입력받아 넓이를 출력하고, “계속하시겠습니까?”에서 하나의 문자를 입력받아 그 문자가 'Y'나'y'이면 작업을 반복하고 다른 문자이면 종료하는 프로그램을 작성하시오. (넓이는 반올림하여 소수 첫째자리까지 출력한다.) 밑변의 길이 = 11 높이 = 5 입력한 삼각형의 넓이는 27.5입니다. 계속하시겠습니까? Y 밑변의 길이 = 10 높이 = 10 입력한 삼각형의 넓이는 50.0입니다. 계속하시겠습니까? N import java.util.Scanner; 밑변의 길이 = 11 높이 = 5 입력한 삼각형의 넓이는 27.5입니다. 계속하시겠습니까? Y 밑변의 길이 = 10 높이 = 10 입력한 삼각형의 넓이는 50.0입니다. 계속하시겠습니까? N CASE 1 public class While4{ public static void main(String[] args){ double width=0, height=0; String answer = null; Scanner scanner = new Scanner(System.in) ; A1 : while(true) { System.out.print("밑변의 길이를 입력하세요 =>"); width = scanner.nextDouble(); System.out.print("높이를 입력하세요 =>"); height = scanner.nextDouble(); System.out.println("입력한 삼각형의 넓이는 "+(width*height/2)+"입니다."); System.out.print("계속하시겠습니까?"); answer = scanner.next(); switch(answer.charAt(0)){ case 'Y' : case 'y' : continue; default : break A1; } }//while end }//main() end }//class end CASE 2 Scanner sc = new Scanner(System.in); double width = 0, height =0; String go = "y"; while(go.charAt(0)=='y'||go.charAt(0)=='Y'){ System.out.println("밑변과 높이의 길이를 입력하세요"); width = sc.nextDouble(); height = sc.nextDouble(); System.out.println("넓이는 "+width*height/2+ "입니다"); System.out.println("계속 하시겠습니까? \n 계속 하시려면 y 또는 Y를 입력해주세요"); go = sc.next(); if(go.charAt(0)=='y'||go.charAt(0)=='Y'){ continue; }else{ System.out.println("종료하셨습니다"); }