반응형

1. 문제 번호 1000번


2. 문제 풀이 

 

2.1 Scanner()

2.2 배열

2.3 hasNextInt()

2.4 nextInt()

 


3. 소스 인증

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        int [] data = new int[2];
        Scanner in = new Scanner(System.in);
        while(in.hasNextInt()){
            data[0] = in.nextInt();
            data[1] = in.nextInt();
        }
        in.close();
        System.out.print(data[0]+data[1]);
    }
}

 

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        int [] data = new int[2];
        Scanner in = new Scanner(System.in);
        boolean validInput = false;
        
        while(!validInput){
            data[0] = in.nextInt();
            data[1] = in.nextInt();

            if (isValid(data[0]) && isValid(data[1])){
                validInput = true;
            }
        }
        System.out.print(data[0]+data[1]);
        in.close();
    }

    public static boolean isValid(int num){
        return num>=1 && num <=10;
    }
}

 

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        int [] data = new int[2];
        Scanner in = new Scanner(System.in);
        boolean validInput = false;
        
        while(!validInput){
            data[0] = in.nextInt();
            data[1] = in.nextInt();

            if (data[0] > 0 && data[1] < 10 ){
                validInput = true;
            }
        }
        System.out.print(data[0]+data[1]);
        in.close();
    }
}

4. 추가 개념

Scanner 주요 메소드

1) String next() : 입력값을 문자열로 리턴 

2) int nextInt() : 입력값을 int 타입으로 리턴
3) double nextDouble() : 입력값을 double 타입으로 리턴 
4) String nextLine() :  ' \n '(띄어쓰기) 을 포함하는 한 라인을 읽고 ' \n '(띄어쓰기) 을 버린 나머지만 리턴 
5) void close() : Scanner 사용 종료 

 

 

배열
/*****배열 선언 방법*****/

/*타입[] 변수;*/

int[] intArray;
double[] doubleArray;
String[] strArray;

/*타입 변수[];*/

int intArray[];
double doubleArray[];
String strArray[];


/*****배열 초기화*****/

/*
방법 1. 타입[] 변수 = new 타입[길이];
*/
String [] AnimalName = new String[2];
AnimalName[0] = "호랑이";
AnimalName[1] = "토끼";


/*
방법 2. 타입[] 변수 = { , , }
*/

String[] names = {"호랑이","토끼"};

/*
방법 3. 타입[] 변수 = null;
             변수 = new 타입[길이];
*/
String[] names = null;
names = new String[] { “혼공자”, “혼공족장”, “자바맨” };

/*
배열 변수는 "참조변수"에 속한다.
    Stack에 변수명, 번지주소

배열은 "객체"이다.
new 한 객체는 heap영역에 해당 길이 만큼의 배열객체를 생성하여 반환한다.
*/

 

방법1. Stack영역의 변수 명과 Heap영역의 객체까지 한꺼번에 생성

방법2. Stack영역의 변수 명만 먼저 생성 후 추후에 객체 생성


 

 

hasNextInt() , NextInt() 차이

 

nextInt()는 입력된 값이 숫자가 아닐 경우 ERROR가 발생.

hasNextInt()는 입력된 값이 숫자인지 판별.
while문을 사용하여 입력된 값이 숫자가 아닐 경우, nextLine()으로 들어온 값을 날려주고, 숫자를 입력할 때까지 다시 값을 받도록 한다.
728x90
반응형

+ Recent posts