2015 IT 웹 기반 개발자과정/JAVA
JAVA 선택제어문 / 반복제어문1 형성평가 1~5 (정올 JUNGOL)
by 한여름밤의코딩
2015. 10. 22.
선택제어문 형성평가 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("종료하셨습니다");
}