Img profile default
임소리
  • 2016.7.10 13:16
  • 조회수 167
  • 답변수 1
Img profile default
임소리
  • 2016.7.10 13:16
  • 조회수 167
  • 답변수 1

뭐가 틀렸는지 알려주세요

모르겠어요

relation_operator
public class OperatorExam {
    public boolean[] calculate(int a, int b) {
        //변수 a와 b는 int형 변수입니다. 각각 어떤 값을 가지고 있는지는 비교해 보기 전에는 모릅니다.
        //a와 b가 주어져 있다고 가정하고 아래 지시에 따라 문제를 풀어 보세요.

        //a가 b보다 큰 지 비교한 결과(true 또는 false)를 c에 저장하세요.
        boolean c = false;
      System.out.println(a > b);

        //a와 b가 같은지 비교한 결과를 d에 저장하세요.
        boolean d = false;
      System.out.println(a == b);


        //a와 b가 다른지 비교한 결과를 e에 저장하세요.
        boolean e = true;
    System.out.println(a != b);

        //이 아래 코드는 결과 테스트를 위한 코드입니다.
        boolean ret[]={c,d,e};
        return ret;
    }

    public static void main(String[]args){
        int a = (int)(Math.random()*10);
        int b = (int)(Math.random()*10);
        new OperatorExam().calculate(a,b);
    }
}
  • #자바 입문
  • #비교연산자 - 실습

1 답변

  • Spgjnhnsidwygch8ddkd
    Chandler
    • 2016.7.11 15:25

    main을 보시면 a와 b의 값이 랜덤으로 주어지기 때문에, a 와 b의 값을 알 수가 없겠죠.
    만약, a가 b보다 큰 경우 c = true, 아닐 경우 false가 들어갑니다.
    작성하신 코드는 무조건 c가 false이기 때문에 오답이 나오는 것 입니다. 다른 d, e도 마찬가지입니다.

    예를 들어 b가 a보다 큰 경우, 맞으면 true 아니면 false를 f에 저장하고 싶다고 한다면(a, b 값은 랜덤)
    아래와 같이 작성해주면 되겠습니다.

    boolean e = a < b;
    

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.