실습 문제/java

[java실습문제] 변수 Scanner

좨랭이 2021. 9. 8. 18:11
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씩 증가하면서 원하는 문자를 뽑아낸다.