JAVA/코드업기초100제

[JAVA] 코드업 기초 100문제 - [기초-입출력] 1010 ~ 1027

코딩하는 키티 2023. 7. 14. 15:28

#1010  [기초-입출력] 정수 1개 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        
        System.out.println(n);
    }
}
사용자의 입력을 받기 위해서 쓰는 Scanner 클래스를 사용한다. 
1) 현재 클래스 외부에 있는 Scanner 클래스 import 하기 
import java.util.Scanner;
2) Scanner 객체 생성하기 
Scanner sc = new Scanner(System.in);
3) 생성한 객체에서 제공하는 .next(); 메서드를 통해서 값을 받아오기
sc.nextInt();

 

#1011  [기초-입출력] 문자 1개 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String x = sc.nextLine();
		
		System.out.println(x);

	}

}
Scanner 클래스의 nextInt(), nextDoble(), nextFloat() 등 메서드는 리턴 타입에 따라서 메서드가 달라진다.
1011 문제처럼 String을 리턴하는 메서드 -> next(), nextLine() 

next() 의 경우에는, 공백이 포함되지 않은 문자열을 입력할 때 사용
nextLine()은 공백이 포함된 문자열을 입력할 때 사용
next()를 사용하여 띄어쓰기를 하면 현재 입력이 끝난다.
nextLine()은 엔터를 눌러야지만 현재 입력이 끝난다.

nextInt(), nextDoble, nextFloat() 등의 리턴타입이 정해진 입력 메서드 -> 공백이 포함되지 않은 경우에 사용

 

#1012  [기초-입출력] 실수 1개 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		Float x = sc.nextFloat();
		
		System.out.printf("%f",x);
	}

}
-println( )과 printf( ) 비교
1. println( ) 메소드 : 실수의 자릿수 조절이 불가능하고, 10진수로만 출력된다. (자동 줄바꿈 지원)
2. printf( ) 메소드 : 지시자를 사용하여 자릿수 조절이 가능하고, 8진수와 16진수로 지정 출력 가능하다.

- printf( ) 지시자 종류
(정수, 실수)
%b 불리언(boolean) 형식 출력
%d 10진 정수의 형식 출력
%o 8진 정수의 형식 출력
%x, %X 16진 정수 형식 출력
%f 부동 소수점 형식 출력
%e, %E 지수 표현식의 형식 출력
%c 문자로 출력
%s 문자열로 출력

 

#1013  [기초-입출력] 정수 2개 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		int a, b;
		
		Scanner sc = new Scanner(System.in);
		a = sc.nextInt();
		b = sc.nextInt();
		
		System.out.printf("%d %d", a, b);
		
	}

}
printf( )는 println( )과 다르게 자동 줄바꿈이 안되므로 %n을 사용한다.

-> "%d%n%d" 로 작성하면 줄바꿈 되어 출력됨

 

#1014  [기초-입출력] 문자 2개 입력받아 순서 바꿔 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		String a, b;
		
		Scanner sc = new Scanner(System.in);
		a = sc.next();
		b = sc.next();
		
		System.out.printf("%s %s", b, a);
		
	}

}

 

#1015  [기초-입출력] 실수 입력받아 둘째 자리까지 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		float a = sc.nextFloat();
		
		System.out.printf("%.2f", a);
		
	}

}

 

#1017 [기초-입출력] 정수 1개 입력받아 3번 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int a = sc.nextInt();
		
		System.out.printf("%d %d %d",a,a,a);
		
	}

}

 

#1018 [기초-입출력] 시간 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String a = sc.next();
		
		System.out.printf("%s" ,a);
		
	}

}

 

#1019 [기초-입출력] 연월일 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String a = sc.next();
        
		String[] aNum = a.split("\\.");
		
		int year = Integer.parseInt(aNum[0]);
		int month = Integer.parseInt(aNum[1]);
		int day = Integer.parseInt(aNum[2]);

		
		System.out.printf("%04d.%02d.%02d",year,month,day);
		
	}

}
입력받은 날짜들을 .을 기준으로 split 하여 각자의 연, 월, 일 로 나누어준 후
Integer.parseInt 를 통해서 문자열 String타입의 숫자int타입으로 변환

+) Byte.parseByte();
Short.parseShort();
Integer.parseInt();
Long.parseLong();
Float.parseFloat();
Double.parseDouble();

 

#1020 [기초-입출력] 주민번호 입력받아 형태 바꿔 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String x = sc.next();
		String[] y = x.split("\\-");
		
		System.out.printf(y[0]+y[1]);
		
	}

}

 

#1021 [기초-입출력] 단어 1개 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String x = sc.next();
		
		System.out.printf("%s",x);
		
	}

}

 

#1022 [기초-입출력] 문장 1개 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String x = sc.nextLine();
		
		System.out.printf("%s",x);
		
	}

}

 

#1023 [기초-입출력] 실수 1개 입력받아 부분별로 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String x = sc.nextLine();
		
		String[] y = x.split("\\.");
		
		System.out.printf("%s%n%s", y[0], y[1]);
		
	}

}

 

#1024 : [기초-입출력] 단어 1개 입력받아 나누어 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String x = sc.nextLine();
		
		for(int i = 0; i < x.length(); i++) {
		
		//System.out.printf("\'%s\'%n", x.charAt(i));
		System.out.println("'" + x.charAt(i) + "'");
		
		}

	}
}
x.length() : a의 길이 값을 확인 할 수 있다
x.charAt(i) : a의 i번째 문자열 (파이썬의 a[i] 와 같음)

 

# 1025 : [기초-입출력] 정수 1개 입력받아 나누어 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int a = sc.nextInt();
		String x = String.valueOf(a);
		
		System.out.println("[" + x.charAt(0) + "0000]");
		System.out.println("[" + x.charAt(1) + "000]");
		System.out.println("[" + x.charAt(2) + "00]");
		System.out.println("[" + x.charAt(3) + "0]");
		System.out.println("[" + x.charAt(4) + "]");
		

	}
}
valueOf( ) 메소드는 ( )괄호 안의 해당 객체를 String 객체로 변환시키는 역할 (String의 객체로 형변환)

 

#1026 : [기초-입출력] 시분초 입력받아 분만 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String x = sc.next();
		String[] y = x.split("\\:");
		
		int a = Integer.parseInt(y[1]);
		
		System.out.println(a);
		

	}
}

 

#1027 : [기초-입출력] 년월일 입력 받아 형식 바꿔 출력하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String x = sc.next();
		String[] y = x.split("\\.");
		
		int day = Integer.parseInt(y[2]);
		int month = Integer.parseInt(y[1]);
		int year = Integer.parseInt(y[0]);
		
		
		System.out.printf("%02d-%02d-%04d",day,month,year);
		

	}
}