작성
·
223
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
지나가는 길에 답글 남깁니다.
우선 Scanner를 마지막에 close해 주는 이유는 Scanner는 쉽게 생각하면 종료가 되기 전 까지 다음 입력을 기다리는 객체입니다. 따라서 close를 해 주지 않는 이상 프로그램이 종료가 되지 않지요.
그래서 프로그램을 종료시키겠단 의미로 close를 해 주는 겁니다. 정확히는 close함수를 호출하는 거지요.
그 다음 질문으로는 스캐너 객체를 생성할때 생성자에 매개체를 받을 수 있는데, 현재 System.in이라는 것은 콘솔에서 입력을 받겠다는 뜻으로 정확히는 InputStream을 받는 겁니다.
그리고 nextInt함수를 사용하는 이유는 자바는 형(type)에 민감하기 때문에 다음 입력 받는 것을 int형식으로 받겠다는 뜻이지요. 아마도 score가 int배열인 듯 보이네요.
그리고 개행은 줄 바꿈을 의미하고, 평점 앞에 ----를 붙여주는 이유는 그냥 보기 편하라고 붙인겁니다. 아무 의미 없어요.