Java - Training

CYSSSSSSSSS·2024년 2월 11일
0

자바

목록 보기
7/26

Training

Training

Scanner

package scanner;

import java.sql.SQLOutput;
import java.util.Scanner;

public class Scanner1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);   // scanner를 생성 

        // 문자 입력
        System.out.print("문자열을 입력하세요: ");
        String str = scanner.nextLine(); // 입력을 String으로 가져온다.
        System.out.println("입력한 문자열: " + str);

        // 정수 입력
        System.out.print("정수를 입력하세요: ");
        int intvalue = scanner.nextInt();
        System.out.println("입력한 정수: " + intvalue);

        // 실수 입력
        System.out.print("실수를 입력하세요: ");
        double doublevalue = scanner.nextDouble();
        System.out.println("입력한 실수: " + doublevalue);
    }
}
  • 1.Scanner 객체를 이용해 scanner 변수를 만든다.
  • 2.scanner 안에 있는 메서드를 통해 자료형에 맞는 데이터를 입력할수 있다.
  • 주의 할 점은 선언한 자료형과 scanner의 입력 메서드의 자료형이 일치해야 한다.(에러)

scanner 입력 함수

  • scanner.nextLine() : 엔터를 입력할 때까지 문자를 가져온다.
  • scanner.nextInt() :입력을 int 형으로 가져온다.
  • scanner.nextDouble() : 입력을 double형으로 가져온다.
  • print는 출력하고 다음 라인으로 넘기지 않는다
  • println은 출력하고 다음라인으로 넘긴다.

Scanner 예제

Scanner 예제1

  • 두 수를 입력받고 그 합을 출력하는 프로그램을 작성하시오
package scanner;

import java.util.Scanner;

public class Scanner2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("첫 번째 숫자를 입력하세요: ");
        int intvalue1 = scanner.nextInt();

        System.out.print("두 번째 숫자를 입력하세요: ");
        int intvalue2 = scanner.nextInt();

        System.out.println("두 수의 합은 : " + (intvalue1 + intvalue2));


    }
}

Scanner 예제2

  • 두개의 정수를 입력 받고 더 큰수를 출력하는 프로그램 작성
  • 단 같은 경우는 같다고 출력
package scanner;

import java.util.Scanner;

public class Scanner3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int intvalue1 = scanner.nextInt();
        int intvalue2 = scanner.nextInt();

        if (intvalue1 == intvalue2){
            System.out.println("두 수가 같습니다.");
        }else{
            if (intvalue1 > intvalue2){
                System.out.println("intvalue1이 더 큽니다");
            }else {
                System.out.println("intvalue2가 더 큽니다.");
            }
        }
    }
}

Scanner 반복 예제 1

  • 사용자가 입력한 문자열을 그대로 출력하는 예제를 만든다.
  • exit 문자가 들어오면 프로그램을 종료한다.
  • 프로그램은 반복해서 실행한다.
package scanner;

import java.util.Scanner;

public class ScannerWhile1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        while(true){
            System.out.print("문자열을 입력하세요 : ");
            String str = scanner.nextLine();
            if(str.equals("exit")){
                System.out.println("프로그램을 종료합니다");
                break;
            }else {
                System.out.println("입력한 문자열은" + str);
            }
        }
    }
}

Scanner 반복 예제 2

  • 두 수를 입력받아 합을 출력하는 프로그램을 작성하시오
  • 두 수가 모두 0일경우 프로그램을 종료하고
  • 계속해서 합을 받을 수 있게 프로그램을 작성하시오
package scanner;

import java.util.Scanner;

public class ScannerWhile2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        while(true){
            int num1 = scanner.nextInt();
            int num2 = scanner.nextInt();

            if (num1 == 0 && num2 == 0){
                System.out.println("두 개의 숫자가 모두 0이기 때문에 프로그램을 종료합니다");
                break;
            }else {
                System.out.println("두 개의 숫자의 합은 : " + (num1 + num2));
            }
        }
    }
}

Scanner 반복 에제 3

  • 사용자가 입력 받은 수를 합한 후에 0을 입력받으면 그 합계를 출력하는 프로그램을 작성하시오
package scanner;

import java.util.Scanner;

public class ScannerWhile3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int sum = 0;

        while(true){
            int num = scanner.nextInt();
            if (num == 0){
                System.out.println("전체 합계를 출력하고 프로그램을 종료합니다 " + sum);
                break;
            }else{
                sum += num;
            }
        }
    }
}

Scanner 반복 예제 4

  • 사용자로부터 여러개의 숫자를 입력받고 , 그 숫자들의 합계와 평균을 내는 프로그램 작성
  • 마지막에 -1을 입력하면 프로그램 종료
  • 입력받은 숫자가 없을때는 바로 프로그램 종료
package scanner.ex;

import java.util.Scanner;

public class ScannerWhileEx4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double sum_ = 0;
        int count = 0;
        while(true){
            int num = scanner.nextInt();
            if (num == -1){
                if (count != 0){
                    System.out.println("입력한 숫자들의 합계: " + (int)sum_);
                    System.out.println("입력한 숫자들의 평균: " + (sum_ / count));
                }else{
                    System.out.println("입력 받은 숫자가 없습니다");
                }
                break;
            }
            sum_ += num;
            count++;
        }

    }
}

Scanner 반복 예제 5

  • 사용자로부터 상품 정보(상품명 , 가격 , 수량)을 입력받고 , 이들의 총 가격을 출력하는 프로그램을 작성하시오.
  • 1.상품 입력, 2.결제, 3.프로그램 종료 , 옵션으로 정수로 입력받으며,옵션을 저장하는 변수의 이름은 option 이다.
  • 옵션 선택이후에는 사용자에게 상품명과 가격 수량을 입력받으세요
  • 결제 옵션을 선택하면,총 비용을 출력하고 총 비용을 다시 0으로 초기화하세요
  • 프로그램 종료는 프로그램 종료합니다 라는 메세지를 출력한다.
package scanner.ex;

import java.util.Scanner;

public class ScannerWhileEx5 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String item;
        int price = 0, count = 0;
        int totalcost = 0;
        while (true) {
            System.out.println("1:상품 입력,2:결제,3:프로그램 종료");
            int option = scanner.nextInt();
            if (option == 3){
                System.out.println("프로그램을 종료합니다.");
                break;
            } else if (option == 1) {
                System.out.print("상품명을 입력하세요: ");
                item = scanner.next();
                System.out.print("상품의 가격을 입력하세요: ");
                price = scanner.nextInt();
                System.out.print("구매 수량을 입력하세요: ");
                count = scanner.nextInt();
                totalcost += (price * count);
                System.out.println("상품명: "+item+" 가격: "+price+" 합계: " +(price * count));
                System.out.println("현재 총 비용: " + totalcost);
            } else if (option == 2) {
                System.out.println("총 비용: " + (totalcost));
                price = 0;
                count = 0;
                totalcost = 0;
            }else {
                System.out.println("해당되는 옵션이 없습니다.");
                continue;
            }

        }
        
    }
}

profile
개발자 되고 싶어요

0개의 댓글

관련 채용 정보