[java실습문제] 변수 Scanner
package com.kh.variable.practice1;
import java.util.Scanner;
public class VariablePractice {
public void method1() {
String name = "";
int age = 0;
char gender = '\u0000';
double height = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("이름을 입력하세요 : ");
name = scanner.nextLine();
System.out.print("나이를 입력하세요 : ");
age = scanner.nextInt();
System.out.print("성별을 입력하세요 (남/여) : ");
scanner.nextLine();
String line = scanner.nextLine();
gender = line.charAt(0);
System.out.println("키를 입력하세요(cm) : ");
height = scanner.nextDouble();
System.out.println("키 " + height + "인 " + age + "살 " + gender +"자 " + name + "님 반갑습니다^^");
}
public void method2() {
int num1 = 0;
int num2 = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("첫 번째 정수를 입력하세요 : ");
num1 = scanner.nextInt();
System.out.print("두 번째 정수를 입력하세요 : ");
num2 = scanner.nextInt();
System.out.println();
System.out.println("더하기 결과 : " + (num1 + num2));
System.out.println("빼기 결과 : " + (num1 - num2));
System.out.println("곱하기 결과 : " + (num1 * num2));
System.out.println("나누기 결과 : " + (num1 / num2));
}
public void method3() {
double dNum1 = 0;
double dNum2 = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("가로 : ");
dNum1 = scanner.nextDouble();
System.out.print("세로 : ");
dNum2 = scanner.nextDouble();
System.out.println();
System.out.println("면적 : " + (dNum1 * dNum2));
System.out.println("둘레 : " + ((dNum1 + dNum2)*2));
}
public void method4() {
String str = "";
char ch1 = '\u0000';
char ch2 = '\u0000';
char ch3 = '\u0000';
Scanner scanner = new Scanner(System.in);
System.out.println("문자열을 입력하세요 : ");
str = scanner.nextLine();
ch1 = str.charAt(0);
ch2 = str.charAt(1);
ch3 = str.charAt(2);
System.out.println();
System.out.println("첫 번째 문자 : " + ch1);
System.out.println("두 번째 문자 : " + ch2);
System.out.println("세 번째 문자 : " + ch3);
}
}
<Scanner>
Scanner scanner(객체명) = new Scanner(System.in) // import java.util 임포트!
<입력> 변수에 대입
변수 = scanner(객체명).nextLine() : 사용자가 입력한 값을 모두 읽어온다.(공백포함,문자열)
변수 = scanner.next() : 사용자가 입력한 값 중에 공백이 있을 경우 공백 이전까지의 값만 읽어온다.
변수 = scanner.nextInt() : 정수를 입력받을 때 사용한다.
변수 = scanner.nextDouble() : 실수를 입력받을 때 사용한다.
... 그 밖에 byte,boolean, 등의 기본 자료형을 입력받을 때도 마찬가지로 nextXXX()로 입력받으면 된다.
**char <입력> 방법
scanner.nextLine();
String line = scanner.nextLine();
gender = line.charAt(0);
//메소드 뒤에 scanner.nextLine(); 메소드를 사용하게 된다면 버퍼에 남아있는 '엔터'를 빼주기 위해서 scanner.nextLine() 메소드를 한 번더 써야한다.
//scanner.nextChar()가 없다.
// scanner.nextLine()을 통해서 문자열을 읽어오고 String 클래스에서 제공해주는 chatAt()을 통해서 원하는 문자를 뽑아낸다.
// 이때 위치를 지정하는 방법을 제일 앞의 문자부터 0으로 시작해서 1씩 증가하면서 원하는 문자를 뽑아낸다.