• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

메소드 내 문자 출력 위치 문의 : 메소드 내부 print f() 위치

21.07.21 14:18 작성 조회수 183

0

  1. 안녕하세요. 강의내용중에 문의사항이 있어 문의드립니다.
  2. #성인 남여 평균 키 기준을 통해, 평균 이상/미만 여부를 구분하려 한다.
  3. 출력 예와 같은 결과를 얻도록, 코드를 완성하시오.
  4. 176.3cm, => 평균키 이상
  5. 162.7cm, => 평균키 이상
  6. 171.8cm, => 평균키 이하
  7. 158.4cm, => 평균키 이하
  8. 해당 문제를 풀다보니 아래 부분에서 오류 발생 및 혼선이오는데요
  9. ① test의 메소드 영역안에 printf의 출력이 들어가는 경우에는 정상 출력이 됩니다.
  10. public class AverageHeight { public static void main(String[] args) { test(176.3, true) ; // 176.3cm, 남 => 평균키 이상, 남자=true test(162.7, false) ; // 176.3cm, 남 => 평균키 이상, 남자=true test(171.8, true) ; // 176.3cm, 남 => 평균키 이상, 남자=true test(158.4, false) ; // 176.3cm, 남 => 평균키 이상, 남자=true } public static void test(double height, boolean isMale) { String gender = "" ; // gender 변수 생성 String result = "" ; // result 변수 생성 if (isMale) { gender = "남" ; // 남자 조건문 생성 if (height > 173.5) { // 남자 평균키 173.5보다 크다) result = "이상" ; //평균키보다 높다: 이상 } else { result = "이하" ; //평균키보다 낮다 : 미만 } } else { gender = "여" ; //여자 조건문 생성(False) if (height > 160.8) { // 여자 평균키 160.8보다 크다) result = "이상" ; //평균키보다 높다: 이상 } else { result = "이하" ; //평균키보다 낮다 : 미만 } } System.out.printf("%.1fcm, %s => 평균키 %s", height, gender, result); }}
  1. ② test의 메소드 영역밖에 printf의 출력이 들어가는 경우에는 정상 출력이 되지 않는데 왜 안되는지 이해가 잘 가지 않습니다.
  2. public class AverageHeight { public static void main(String[] args) { test(176.3, true) ; // 176.3cm, 남 => 평균키 이상, 남자=true test(162.7, false) ; // 176.3cm, 남 => 평균키 이상, 남자=true test(171.8, true) ; // 176.3cm, 남 => 평균키 이상, 남자=true test(158.4, false) ; // 176.3cm, 남 => 평균키 이상, 남자=true } public static void test(double height, boolean isMale) { String gender = "" ; // gender 변수 생성 String result = "" ; // result 변수 생성 if (isMale) { gender = "남" ; // 남자 조건문 생성 if (height > 173.5) { // 남자 평균키 173.5보다 크다) result = "이상" ; //평균키보다 높다: 이상 } else { result = "이하" ; //평균키보다 낮다 : 미만 } } else { gender = "여" ; //여자 조건문 생성(False) if (height > 160.8) { // 여자 평균키 160.8보다 크다) result = "이상" ; //평균키보다 높다: 이상 } else { result = "이하" ; //평균키보다 낮다 : 미만 } }} System.out.printf("%.1fcm, %s => 평균키 %s", height, gender, result); }

답변 1

답변을 작성해보세요.

0

질문이 잘보이지가 않아서
다시 정리 부탁드릴게요🙏