🌵Scanner를 이용해 입력을 받아보자!
package chapter02;
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
int integer = scanner.nextInt();
double db = scanner.nextDouble();
System.out.println(str);
System.out.println(integer);
System.out.println(db);
scanner.close();
}
- Scanner scanner = new Scanner(System.in) : new로 새 객체를 만들어서 scanner에 넣겠다. Scanner=데이터Type
- Scanner scanner = new Scanner(System.in); : sc + 컨트롤 + 스페이스 누르면 함수뜬다.
- System.in + 컨트롤 + 1 누르면 타입 뜸
- scanner.next(); : 사용자가 입력한 데이터를 문자로 가져온다
- scanner.nextInt(); : 정수로
- scanner.nextDouble(); : Double 타입으로
package chapter02;
import java.util.Scanner;
public class PrintExample {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
String name= scanner.next();
int age = scanner.nextInt();
이름 : 홍길동 나이: 23세
System.out.println("이름:"+name+", 나이"+age+"세");
System.out.printf("이름: %s, 나이: %d세, 키:%.1f", name,age,160.5); //.1은 소수점 첫째자리까지 반올림 이라는 뜻
System.out.printf("가격: %d,원", 100000);
}
}
package chapter02;
// # 문제1 이름, 나이, 전화번호 출력
public class TestChapter2 {
public static void main(String[] args) {
String name = "감자바";
int age = 25;
String tel1="010", tel2="123", tel3="4567";
System.out.println("이름: "+name);
System.out.print("나이: "+age+"\n");
System.out.printf("전화: %s-%s-%s",tel1,tel2,tel3);
}
}
// # 문제2 두 수의 덧셈결과
import java.util.Scanner;
public class TestChapter2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("첫번째 수:");
String strNum1=scanner.next();
System.out.print("두번째 수:");;
String strNum2 = scanner.next();
int num1 = Integer.parseInt(strNum1);
int num2 = Integer.parseInt(strNum2);
int result = num1+num2;
System.out.println("덧셈결과:"+result);
}}
// # 문제3 개인정보를 입력받아서 출력
import java.util.Scanner;
public class TestChapter2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("이름: ");
String name = scanner.next();
System.out.print("주민번호 앞 6자리: ");
int card = scanner.nextInt();
System.out.print("전화번호: ");
String tel = scanner.next();
System.out.printf("%s\n%d\n%s",name,card,tel);
}}
🌵 입출력 연습
- 직사각형 가로와 세로의 길이를 입력받아서 넓이와 둘레 출력
package chapter02;
import java.util.Scanner;
public class Exercise02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("가로의 길이는?(단위: m):" );
double width = scanner.nextDouble();
System.out.print("세로의 길이는?(단위: m):" );
double height = scanner.nextDouble();
double area = width*height;
double perimeter = 2*(width+height);
System.out.printf("직사각형의 넓이 : %f\n직사각형의 둘레: %f",area,perimeter);
}
}
- 빛의속도로 별에 도착하는 시간 계산
package chapter02;
public class Exercise02_2 {
public static void main(String[] args) {
double distance = 40e12;
long speed = 300000l*365*24*60*60;
double time = distance/speed;
System.out.printf("빛의속도로 프록시마 별까지 가는데 걸리는 시간은 %f광년이다.",time);
}
}
- 원기둥의 밑면과 부피 구하기
package chapter02;
import java.util.Scanner;
public class Exercise02_3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("원기둥 밑변의 반지름을 입력하시오.(단위:cm):" );
double radius = scanner.nextDouble();
System.out.print("원기둥의 높이를 입력하시오.(단위:cm):" );
double height = scanner.nextDouble();
double area = Math.PI * radius*radius;
double volume = area*height;
System.out.printf("원기둥 밑면의 넓이는 %f㎠이거, 원기둥의 부피는 %f㎠이다.",area,volume);
}
}
- 동전의 갯수를 이용하여 총 액수 계산하기
package chapter02;
import java.util.Scanner;
public class Exercise02_4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("500원짜리 동전의 갯수:" );
double won500 = scanner.nextDouble();
System.out.print("100원짜리 동전의 갯수:" );
double won100 = scanner.nextDouble();
System.out.print("50원짜리 동전의 갯수:" );
double won50 = scanner.nextDouble();
System.out.print("10원짜리 동전의 갯수:" );
double won10 = scanner.nextDouble();
double total = won500*500 + won100*100 + won50*50 + won10*10;
System.out.printf("저금통 안의 동전의 총 액수 : %f",total);
}
}