JAVA 이클립스 05 Scanner
package scannerexam;
import java.util.Scanner;
public class ScannerExam01 {
public static void main(String[] args) {
/* 키보드로부터 데이터 입력받기
* 1. read() : 키보드에서 키 하나를 입력하면 프로그램에서 숫자로 된 키코드를 읽음
* System.in.read();
* 시스템의 표준 입력장치(in, 키보드) 로 읽어 오기
* 2. Scanner 클래스 사용
* - Scanner 클래스를 사용하기 위해서는 프로그램의 첫 행에 Scanner 클래스의 경로 이름을
* 컴파일러에게 알려주어야 함
* - import java.util.Scanner
* - import : 컴파일러에게 알려주기, 해당되는 클래스들을 미리 불러와서 준비시키기
* 단축기) 해당 클래스명 위에서 Ctrl + Shift + o
* - 데이터 입력 메소드
* · next() : 문자열(String), 탭, 공백, Enter로 구분
* · nextLine() : 문자열, Enter를 치면 Enter 전까지의 모든 자료를 읽어오기
* 주소들에 주로 사용
* · nextInt() : 정수형(int)
* · nextLong() : 정수형(Long)
* · nextFloat() : 실수형(float)
* · nextdouble() : 실수형(double)
* ...
*
* 메모리 구조(자바에서 메모리 관리는 운영체제가 아닌 jvm 이라고 함)
* 레지스터 영역 | 데이터 영역 | stack영역 | heap 영역
*
*/
//#1. 준비 (객체 생성)
// 타입 변수명 = 값;
Scanner scan = new Scanner(System.in);
//#2. 객체를 사용
//#2-1 안내 문구
System.out.println("정수를 입력하세요");
int num = scan.nextInt(); // 사용자 입력한 정수
scan.next(); // 사용자가 입력한 문자열(공백, 탭, Enter로 구분)
System.out.println("이름를 입력하세요");
// String name=scan.next();
String addr = scan.nextLine(); // 사용자가 입력한 줄 (Enter 전까지)
System.out.println("입력한 숫자 :" + num);
// System.out.println("입력한 숫자 :" + name);
System.out.println("입력한 문자 :" + addr);
}
}
package scannerexam;
import java.util.Scanner;
public class ScannerExam02 {
public static void main(String[] args) {
/*
* //키보드로부터 이름 ,국어 점수, 수학점수를 입력받아서
* // 이름 : 홍길동
* // 국어 : 89
* // 영어 : 90
*
*/ //#1. Scanner 객체를 생성
Scanner scan = new Scanner(System.in); // 키보드로부터 입력 받을 준비
//#2. 변수 선언
String name="";// 초기화
int kor=0, eng=0 ; // 지역변수는 선언과 동시에 초기화 시키기
//#3. 안내 문구
System.out.println("이름을 입력하세요..");
//#4. 키보드로부터 입력받을 값을 변수에 저장
name = scan.nextLine(); //문자열
System.out.println("국어 점수 입력 >>");
kor = scan.nextInt();
System.out.println("영어 점수 입력 >>");
eng = scan.nextInt();
System.out.println("이름 : " + name);
System.out.println("국어 : " + kor);
System.out.println("영어 : " + eng);
}//end of main
}//end of class
-예제-
package bookexam;
import java.util.Scanner;
public class BookExam9 {
public static void main(String[] args) {
//문9)키보드로 두 실수를 다음과 같이 입력받습니다.(Scanner 이용.) 입력된 첫 번째
// 수에 두 번째 수를 나눈 결과를 "결고:값"으로 출력하되, 두 번째 수에 0 또는 0.0이
// 입력되었을 경우 "결과 : 무한대"가 출력되도록 코드를 작성해보세요 (Scanner 의 next()사용)
/* 첫 번째 수: 7.3
* 두 번째 수: 2.5
* -------------------------------------
* 결과:2.92(or 결과: 무한대)
*
*/
/*
* 교재 : p105
문자열을 기본 타입으로 강제 타입 변환
String -> int : Integer.parseInt(문자열)
String -> long : Long.parseLong(문자열)
String -> double : Double.parseDouble(문자열)
...
숫자를 문자열로 강제 타입 변환
int -> String : String.valueOf(정수)
double -> String : String.valueOf(실수)
....
*/
//#1. Scanner 객체 생성
Scanner scan = new Scanner(System.in);
double num1 = 0.0;
double num2 = 0.0;
System.out.println("첫 번째 수 : >>");
// num1 = scan.next(); 문자열
num1 = Double.parseDouble(scan.next()); //실수형태의 문자열을 실수로 타입변환
System.out.println("두 번째 수 : >>");
// num2 = scan.next(); 문자열
num2 = Double.parseDouble(scan.next());
// System.out.println(2 / 0); //ArithmeticException예외 발생
// System.out.println(2 / 0.0); //Infinity
//System.out.println(2.5 / 0.0); //Infinity
double result = num1/num2;
if(num2 != 0.0) {
System.out.println("결과: " + result);
}else {
System.out.println("무한대"); //결과: Infinity
}
scan.close();
}//end of main
}//end of BookExam150_4