Scanner
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("문자열을 입력하세요: ");
String str = scanner.nextLine(); //입력을 String으로 가져온다.
System.out.println("입력한 문자열: " + str);
System.out.print("정수를 입력하세요: ");
int intValue = scanner.nextInt(); //입력을 int로 가져온다.
System.out.println("입력한 정수: " + intValue);
System.out.print("실수를 입력하세요: ");
double doubleValue = scanner.nextDouble(); //입력을 double로 가져온다.
System.out.println("입력한 실수: " + doubleValue);
}
}
※ 타입을 다르게 입력한다면 오류가 발생한다.
예제
- 두 수 입력 받고 두 수의 합 구하기
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("첫번째 숫자를 입력하세요");
int num1 = scanner.nextInt();
System.out.println("두번째 숫자를 입력하세요");
int num2 = scanner.nextInt();
int sum = num1 + num2;
System.out.println("두수의 합 : " + sum);
}
}
2. 입력한 수 모두 더하기 (0을 입력하면 종료)
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
while(true) {
System.out.print("수를 입력하세요 (0을 입력하면 종료) : ");
int num = scanner.nextInt();
sum += num;
if(num == 0){
break;
}
}
System.out.println("합계는 " + sum + " 입니다.");
}
}
3. 홀수 짝수
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("정수를 입력하세요 : ");
int num = scanner.nextInt();
if(num%2 == 0){
System.out.println(num + "은(는) 짝수입니다.");
}else{
System.out.println(num + "은(는) 홀수입니다.");
}
}
}
4. 구구단 출력
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("구구단의 단 수를 입력하세요 : ");
int num = scanner.nextInt();
System.out.println(num+"단의 구구단");
for(int i=1; i<10; i++){
System.out.println(num + " x " + i + " = " + num*i);
}
}
}
5. 두 변수 값 바꾸기
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("num1을 입력하세요 : ");
int num1 = scanner.nextInt();
System.out.print("num2를 입력하세요 : ");
int num2 = scanner.nextInt();
int temp;
temp = num1;
num1 = num2;
num2 = temp;
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2);
}
}
6. 사이 숫자 출력
ex. 9와 2가 입력되어도 2,3,4,5,6,7,8,9가 출력되어야 함
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("첫 번째 숫자를 입력하세요 : ");
int num1 = scanner.nextInt();
System.out.print("두 번째 숫자를 입력하세요 : ");
int num2 = scanner.nextInt();
if(num1 > num2){
int temp = num1;
num1 = num2;
num2 = temp;
}
System.out.print("두 숫자 사이의 모든 정수 : ");
System.out.print(num1);
for(int i=num1+1; i<=num2; i++){
System.out.print("," + i);
}
}
}
7. 상품 가격 계산
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("상품의 가격을 입력하세요 (-1을 입력하면 종료) : ");
int num1 = scanner.nextInt();
if(num1 == -1){
break;
}
System.out.print("구매하려는 수량을 입력하세요 : ");
int num2 = scanner.nextInt();
System.out.println("총 비용 : " + num1*num2);
}
System.out.println("반복문 종료");
}
}
8. 입력한 숫자의 합계와 평균
- 평균은 소수점 아래까지 계산해야 한다.
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
int count =0; //숫자의 갯수
double avg;
System.out.println("숫자를 입력하세요 (-1을 입력하면 종료)");
while (true) {
int input= scanner.nextInt();
if(input== -1){
break;
}
sum += input;
count++;
}
//방식 2
/*
int input = 0;
while ((input = scaner.nextInt()) != -1) {
sum += input;
count++;
}
*/
System.out.println("입력한 숫자들의 합계 : " + sum);
avg = (double) sum / count;
System.out.println("입력한 숫자들의 평균 : " + avg);
}
}
sum/count
의 형변환을 하지 않으면 정수의 계산이기 때문에 평균값이 실수가 아닌 정수값이 나오게 된다.while ((input = scaner.nextInt()) != -1)
입력받은 값이 -1이 아니라면 반복문 실행
9. 상품 구매
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
while(true) {
System.out.println("1: 상품 입력, 2: 결제, 3: 프로그램 종료");
int input = scanner.nextInt(); //숫자만 입력받고 엔터는 입력 못받음
if (input == 1) {
scanner.nextLine(); //엔터를 입력 받기 위해서 필요⭐
System.out.print("상품을 입력하세요: ");
String name = scanner.nextLine();
System.out.print("상품의 가격을 입력하세요: ");
int price = scanner.nextInt();
System.out.print("구매 수량을 입력하세요: ");
int cnt = scanner.nextInt();
sum += price * cnt;
System.out.println("상품명: " + name + " 가격: " + price + " 수량: " + cnt + " 합계: " + sum);
}else if(input == 2){
System.out.println("총 비용 : " + sum);
}else if(input == 3){
System.out.println("반복문 종료");
break;
}else{
System.out.println("옵션을 선택해주세요.");
}
}
}
}
print() VS println()
print()
출력하고 다음 라인으로 넘기지 않는다.
System.out.print("안녕");
System.out.print("하세요");
//안녕하세요
println()
출력하고 다음 라인으로 넘긴다.
System.out.println("안녕");
System.out.println("하세요");
//안녕
//하세요
\n
은 엔터키 의미
System.out.print("안녕\n");
System.out.print("하세요");
//안녕
//하세요
'Java를 자바' 카테고리의 다른 글
메서드(Method) (0) | 2024.05.06 |
---|---|
[Java] 배열 Array (0) | 2024.05.01 |
[Java] 형변환 (0) | 2024.04.11 |
[Java] 스코프 (1) | 2024.04.11 |
[Java] 반복문 | while, for (0) | 2024.04.11 |