본문 바로가기
JAVA/[JAVA]codeUp 기초100제 자바

[JAVA]codeUp 기초100제 자바 1065~1077번 (반복문)

by oncerun 2020. 2. 26.
반응형

1065.

세 정수 a, b, c가 입력되었을 때, 짝수만 출력해보자.

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int a = scan.nextInt();
		int b = scan.nextInt();
		int c = scan.nextInt();
		scan.close();
		
		if(a%2 == 0)
			System.out.println(a);
		
		if(b%2 == 0)
			System.out.println(b);
		
		if(c%2 == 0)
			System.out.println(c);
		
	}
}

 

1066.

세 정수 a, b, c가 입력되었을 때, 짝(even)/홀(odd)을 출력해보자.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int a = scan.nextInt();
		int b = scan.nextInt();
		int c = scan.nextInt();
		scan.close();
		
		if(a%2 == 0)
			System.out.println("even");
		else if(a%2 == 1)
		System.out.println("odd");
		
		if(b%2 == 0)
			System.out.println("even");
		else if(b%2 == 1)
			System.out.println("odd");
		
		if(c%2 == 0)
			System.out.println("even");
		else if(c%2 == 1)
			System.out.println("odd");
		
	}
}

1067.

정수 1개가 입력되었을 때, 음(minus)/양(plus)과 짝(even)/홀(odd)을 출력해보자.

입력된 정수에 대해
첫 줄에 minus 나 plus를 출력하고,
두 번째 줄에 odd 나 even 을 출력한다.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt();
		scan.close();
		
		if(num > 0)
			System.out.println("plus");
		else
			System.out.println("minus");
		
		if(num%2== 0)
			System.out.println("even");
		else
			System.out.println("odd");
	}
}

1068.

점수(정수, 0 ~ 100)를 입력받아 평가를 출력해보자.
평가 기준
점수 범위 : 평가
 90 ~ 100 : A
 70 ~   89 : B
 40 ~   69 : C
   0 ~   39 : D 로 평가되어야 한다.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt();
		scan.close();
		
		if(num >= 90 && num <= 100)
			System.out.println("A");
		else if(num >= 70 && num <= 89)
			System.out.println("B");
		else if(num >= 40 && num <= 69)
			System.out.println("C");
		else if(num >= 0 && num <= 39)
			System.out.println("D");
			
	}
}

1069.

평가를 문자(A, B, C, D,...)로 입력받아 내용을 다르게 출력해보자.

평가 내용
평가 : 내용
A : best!!!
B : good!!
C : run!
D : slowly~
나머지 문자들 : what?

 

if문으로 연속적으로 검사하게되면 불필요하게 많은 실행구조가 되므로

switch문으로 입력값에따라 직접적으로 바로 출력되도록 하자

자바 7부터는 switch-case 간의 문자열 비교를 지원합니다.

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		String value = scan.next();

		switch (value.toUpperCase()) {

		case "A":
			System.out.println("best!!!");
			break;
		case "B":
			System.out.println("good!!");
			break;
		case "C":
			System.out.println("run!");
			break;
		case "D":
			System.out.println("slowly~");
			break;
		default:
			System.out.println("what?");
			break;

		}
	}
}

 

1070.

월이 입력될 때 계절 이름이 출력되도록 해보자.


월 : 계절 이름
12, 1, 2 : winter
  3, 4, 5 : spring
  6, 7, 8 : summer
  9, 10, 11 : fall

 

break가 없을 때의 switch문을 이용하자

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		String value = scan.next();
		int season =Integer.parseInt(value);
		
		switch (season) {

		case 12: case 1: case 2:
			System.out.println("winter");
			break;
		case 3 : case 4: case 5:
			System.out.println("spring");
		break;
		case 6 : case 7 : case 8 :
		System.out.println("summer");
		break;
		case 9 : case 10 : case 11:
			System.out.println("fall");
			break;

		}
	}
}

 

1071

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		while (true) {
			int value = scan.nextInt();
				if (value == 0)
				break;
			System.out.println(value);
			
		
		}

	}

}

1072.

n개의 정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 n의 최대 개수는 알 수 없다.

n개의 입력된 정수를 순서대로 출력해보자.

while( ), for( ), do~while( ) 등의 반복문을 사용할 수 없다.

 

입력

첫 줄에 정수의 개수 n이 입력되고,
두 번째 줄에 n개의 정수가 공백을 두고 입력된다.
-2147483648 ~ +2147483647, 단 n의 최대 개수는 알 수 없다.

출력

n개의 정수를 한 개씩 줄을 바꿔 출력한다.

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		
		int len = scan.nextInt();
		int[] value = new int[len];
		
		for(int i = 0; i <value.length; i++) {
			value[i] =scan.nextInt();
		}
		
		for(int i = 0; i <value.length; i++) {
			System.out.println(value[i]);
		}
	}

}

1072. 번외

 

배열에 이용되는 for 문입니다.

 

for(변수 : 배열)로 구성됩니다.

 

반복문을 돌 때마다 num에 배열의 값이 하나씩 대입됩니다.

배열 자료형과 for문안의 자료형은 같아야 합니다.

public class blog {
    public static void main(String[] args) {
        int array[] = {1, 2, 3, 4, 5};
        for(int num : array) {
            System.out.println(num);
        }
    }
}
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		int len = scan.nextInt();
		int[] value = new int[len];

		for (int i = 0; i < value.length; i++) {
			value[i] = scan.nextInt();
		}

		for (int num : value) {
			System.out.println(num);
		}
	}

}

1073.

정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.

0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자.

입력

정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.

출력

입력된 정수를 줄을 바꿔 하나씩 출력하는데, 0이 입력되면 종료한다.
(0은 출력하지 않는다.)

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<Integer> nums= new ArrayList();
        int num;	
        while(true) {
            num = scanner.nextInt();
            nums.add(num);
            if(num == 0) break;
            System.out.println(num);
        }
    }
}

1074. 

정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자.

 

while(조건)
{
  ...
}
구조를 사용하자.

입력

정수 1개가 입력된다.
(1 ~ 100)

출력

1씩 줄이면서 한 줄에 하나씩 1이 될 때까지 출력한다.

import java.util.Scanner;

public class Main {
	static int  num;	
	static Scanner scan;
	
	static {
		scan = new Scanner(System.in);
		num = scan.nextInt();
	}
    public static void main(String[] args) {
        while(true) {
        	System.out.println(num--);
        	if(num ==0)
        		break;
        }
    }
}

1075.

정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자.

입력

정수 1개가 입력된다.
(1 ~ 100)

출력

1씩 줄이면서 한 줄에 하나씩 0이 될 때까지 출력한다.

import java.util.Scanner;

public class Main {
	static int  num;	
	static Scanner scan;
	
	static {
		scan = new Scanner(System.in);
		num = scan.nextInt();
	}
    public static void main(String[] args) {
        while(true) {
        	System.out.println(--num);
        	if(num == 0)
        		break;
        }
    }
}

 

1076.

영문자(a ~ z) 1개가 입력되었을 때 그 문자까지의 알파벳을 순서대로 출력해보자.

 

숫자 0~9까지 아스키코드값은

    48~57

영문 a~z까지의 아스키코드값은

대문자 65~90

소문자 97~122

 

영문자(a~z)를 문자열에 저장한 뒤 정수형 byte로 변환한 뒤 배열에 담는다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
    	
//    	소문자 97~122
    	Scanner scan = new Scanner(System.in);
    	String a = scan.next();
    	
    	for(int i =97; i <= a.getBytes()[0]; i++) {
    		System.out.println((char)i + " ");
    	}
    	
    }
}

 

반응형

댓글