• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

이해가 안가는 부분이 있습니다.. 선생님들.. 도와주세요..!!

21.07.14 16:36 작성 조회수 167

0

지금 배우고있는 배열 관련해서 입니다.

영상에서는 아직 Scanner에 관해서는 정확히 알려주지 않았지만 너무 궁금하고,  왜 마지막에 scanner. close(); 를 하는지도 잘 모르겠습니다.

그리고 Scanner  scanner  = new Scanner(System.in); 이 코드에 적혀있던데, Scanner(System.in) 인지도 잘 모르겠어요 ㅠㅠ

그리고 System.out.printf("%s의 점수를 입력하시오 : " ,name[0]);

score[0] = scanner.nextInt();을 사용하던데 nextInt(); 이 부분을 왜 사용하고, 무슨 의미인지 이해가 안갑니다...

정말정말 마지막으로 ㅠㅠ 마지막 출력할 때 

System.out.printf("%s 점수 : \t%.2f\n", name[0], (double) score[0]); 이 부분에서 \t%.2f\n 에서 \t은 칸을 띄어 주는거는 알겠고,

%.2f 이 부분은 소수점을 두자리까지 보여주겠다는걸로 추측중이긴한데, 아직 잘 모르겠어서... 헷갈립니다..ㅜㅠ

\n 이 부분은 개행(?) 으로 알고있는데 정확히 찾아봐도 개행의 뜻을 잘 모르겠고,

개행이란것을 어떨 때 사용하는지도 잘 모르겠습니다 ㅜㅠ printf 일때는 무조건 사용하는건가요??

그리고 ㅠㅠ system.out.printf("--------------- 평 점" : \t%.2f" , ave);

마지막 이부분에서 평점앞에 ------ 이것들은 왜 붙여주는건가요??

이제 막 입문이라서 정말 아무것도 몰라서... 궁금한것이 굉장히 많아요..ㅜㅜ 

많은 개발자 형누님들... 불쌍한 어린양 한번만 구해주세요.. 부탁드립니다..

답변 1

답변을 작성해보세요.

1

밤의멜로디님의 프로필

밤의멜로디

2021.08.13

지나가는 길에 답글 남깁니다.

우선 Scanner를 마지막에 close해 주는 이유는 Scanner는 쉽게 생각하면 종료가 되기 전 까지 다음 입력을 기다리는 객체입니다.  따라서 close를 해 주지 않는 이상 프로그램이 종료가 되지 않지요.

그래서 프로그램을 종료시키겠단 의미로 close를 해 주는 겁니다. 정확히는 close함수를 호출하는 거지요.

그 다음 질문으로는 스캐너 객체를 생성할때 생성자에 매개체를 받을 수 있는데, 현재 System.in이라는 것은 콘솔에서 입력을 받겠다는 뜻으로 정확히는 InputStream을 받는 겁니다.

그리고 nextInt함수를 사용하는 이유는 자바는 형(type)에 민감하기 때문에 다음 입력 받는 것을 int형식으로 받겠다는 뜻이지요. 아마도 score가 int배열인 듯 보이네요.

그리고 개행은 줄 바꿈을 의미하고, 평점 앞에 ----를 붙여주는 이유는 그냥 보기 편하라고 붙인겁니다. 아무 의미 없어요.