Java 기초 프로그램 제작

song yuheon·2023년 8월 27일
0

Java

목록 보기
4/46
post-thumbnail

Sol

Sol은 사용자가 좋아하는 요리와 그 요리의 레시피를 입력받아 출력하는 간단한 자바 프로그램이다.

입력 규칙:

  1. 좋아하는 요리의 제목을 입력한다.
  2. 해당 요리에 대한 별점을 1~5 사이의 소수점을 포함한 실수로 입력한다.
  3. 요리 레시피를 한 문장씩 총 10문장을 입력한다.

출력 규칙:

  1. 요리 제목을 [ ]로 감싼다.
  2. 요리의 별점을 소수점을 제외하고 출력한다.
  3. 요리의 별점을 5점 만점에 대한 퍼센트로 변환하여 출력한다.
  4. 입력한 레시피의 각 문장 앞에 번호를 붙여 출력한다.

[프로그램 코드]

import java.util.Scanner;

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

        String cookingName = sc.nextLine();
        double starScore = sc.nextDouble();

        String [] recipe = new String[10];

//        for (String re: recipe) {
//            re=sc.nextLine();
//        }
//
//        for (String re: recipe) {
//            System.out.println(re);
//        }
//
//        System.out.println(starScore);
//        System.out.println(cookingName);
        sc.nextLine();
        // \n문자 받는 역활

        for (int i = 0; i < recipe.length; i++) {
            recipe[i]=sc.nextLine();
        }

        System.out.println("[ "+cookingName+" ]");
        System.out.print("별점 : "+(int)starScore);
        System.out.println(" ( "+(((int)starScore)/5.0)*100+"% )");

        for (int i = 0; i <recipe.length ; i++) {
            System.out.println(""+(i+1)+". "+recipe[i]);
        }


    }
}

트러블 슈팅:

1. sc.toString으로 입력 받는 문제:

  • 문제: sc.toString()은 객체의 문자열 표현을 반환하는 것이므로 입력을 받는 용도로 사용될 수 없다.
  • 해결: sc.nextLine()을 사용하여 문자열 입력을 받았다.
    • 참고: toString()은 객체의 문자열 표현을 반환하는 메서드다.

2. 문자열 배열 생성:

  • 방법: 10개의 문자열을 저장할 수 있는 배열을 생성한다.
    String [] recipe = new String[10];

3. for-each문 사용 문제:

  • 문제: for-each문에서는 배열의 원소에 직접 접근할 수 없다.
    for (String re: recipe) {
        re=sc.nextLine();
    }
  • 해결: 기본 for문을 사용하여 배열의 각 원소에 접근하고 값을 수정했다.
    for (int i = 0; i <recipe.length ; i++) {
        System.out.println(""+(i+1)+". "+recipe[i]);
    }

profile
backend_Devloper

0개의 댓글