728x90

 

문제 : 1330번: 두 수 비교하기 (acmicpc.net)

 

1330번: 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

www.acmicpc.net

 

brain Storming
if문 사용
한 줄에 두 수 받기 뭐가 있을까
한 줄에 공백으로 두개 받고 구분자로 나누기? StringTokenizer
방법1 : Scanner + split()
방법2 : BufferedReader + StringTokenizer

 

풀이

일단 스캐너로 숫자1 공백 숫자2 이런식으로 입력을 받고

공백을 기준으로 split을 이용하여 나눠서 배열에 넣는다(split이 배열로 반환하기에 배열로 받아줘야함)

이후 배열의 인덱스번호로 두 수를 지정하고 int로 형변환 해주면서 각각 변수에 넣어주고 if문으로 조건을 주어서 출력했다

 

정답

Scanner + String Class split() 방법

import java.util.*;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String num = sc.nextLine();

        String[] nums = num.split(" "); // String Class인 split()은 배열로 반환하므로, 배열로 받아야함


        // 배열로 받은 것을 인덱스 번호로 수 2개로 나눔
        int num1 =  Integer.parseInt(nums[0]);
        int num2 =  Integer.parseInt(nums[1]);

        if(num1 < num2){
            System.out.println("<");
        }else if(num1 > num2){
            System.out.println(">");
        }else {
            System.out.println("==");
        }

    }
}

 

 

728x90
반응형
728x90

 

 

 

코드에서 중점적으로 봐야할 부분

(코드를 끌어온다거나 새로 만들면서 중점적으로 봐야할 부분)

 

1. 컨트롤러가 dispatcher servlet으로부터 어떤 url로 받아올지에 대한 url 설정 부분

2.page : 해당 게시물을 상세보기로 들어갔다 뒤로가기해서 나와도 해당 페이지 번호를 유지하기 위해 필요한 값

3.required=false 옵션을 안해놓으면 항상 값이 들어가야하기 때문에 처음 페이지 들어갈 때는 page값에 수가 없으므로 에러 발생

4.Integer page : page가 int라 null 못들어가서 int 타입으로 받으면 parsing 해줘야하니 래퍼클래스(wrapper)로 한번에 받아옴

5. model과 ModelAndView 둘 중 하나 선택가능

핵심 데이터값이라 알아둬야하는 변수명

6. service를 거쳐 dao로 보낼 메소드명

7.setViewName() 메소드를 통해 어느 뷰를 보여줄 지 결정하는 부분

8.아래처럼 예외(exception)처리해도 되고, 에러페이지를 따로 만들어서 거기로 에러메시지 값과 함께 보내도됨 

9.return  : 리턴 유무 여부와 리턴할 데이터타입 잊지말고 체크

 

 

728x90
반응형
728x90

 

Scanner란?

화면으로부터 데이터를 입력받는 기능을 제공하는 ‘클래스’

 

1)import문 추가

    - import java.util.*;

 

 

2)Scanner객체의 생성

    - Scanner scanner = new Scanner(System.in)

    - System.in : 화면입력한다는 의미

 

 

3)Scanner객체를 사용

int num = scanner.nextInt();       // 화면에서 입력받은 정수를 num에 저장
String input scanner.nextLine();   // 화면에서 입력받은 내용을 input에 저장.
                                   // nextLine은 한 행을 읽어서 문자로 변환
int num = Integer.parseInt(input); // 문자열(input)을 숫자(num)로 변환

   

     

<실습>

import java.util.*;

public class Ch2_14_Scanner {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = sc.nextInt();
		System.out.println(num);
		System.out.println(num2);
		System.out.println(num3); // 가로로 공백한칸 띄우고 입력가능
// 입력값 100 200 300
// 결과값
// 100
// 200
// 300

Integer.parseInt()

nextLine() : 라인 단위로 값 입력받기 가능

 

728x90
반응형

+ Recent posts