마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

최대값 최소값 계산관련 질문드립니다

0 추천

코드에 보시는바와같이 점수3개를 입력 후 버튼1을 누르면 평균이 나오게 까지는 했는데

버튼2를 누를 때 점수 3개중 최대 값과 최소값을 찾아 차(최대값과 최소값의 차)를 구하는 것을 어떻게 구현해하 할지 감이안잡힙니다.ㅠ

package com.example.jinmin.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity {
    EditText edit1, edit2, edit3;
    Button btn1;
    Button btn2;
    TextView textResult;
    int num1, num2, num3;
    Integer Result;
    public int min;
    public int max;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        edit1 = (EditText) findViewById(R.id.Edit1);
        edit2 = (EditText) findViewById(R.id.Edit2);
        edit3 = (EditText) findViewById(R.id.Edit3);
        btn1 = (Button) findViewById(R.id.Btn1);
        btn2 = (Button) findViewById(R.id.Btn2);
        textResult = (TextView) findViewById(R.id.Result);

        View.OnClickListener clisten = new View.OnClickListener() {
            public void onClick(View v) {
                if (edit1.getText().toString().equals("") || edit2.getText().toString().equals("") || edit3.getText().toString().equals("")) {
                    Toast.makeText(getApplicationContext(), "숫자를 입력해 주세요.", Toast.LENGTH_LONG).show();
                    return;
                }

                    num1 = Integer.parseInt(edit1.getText().toString());
                    num2 = Integer.parseInt(edit2.getText().toString());
                    num3 = Integer.parseInt(edit3.getText().toString());
                    switch (v.getId()) {
                        case R.id.Btn1:
                            Result = (num1 + num2 + num3) / 3;
                            break;
                        case R.id.Btn2:
                            Result =
                            break;
                    }
                    textResult.setText("계산결과 : "  + Result);
                }
            };
            btn1.setOnClickListener(clisten);
            btn2.setOnClickListener(clisten);
        }
    }

 

신전떡볶이 (480 포인트) 님이 2016년 10월 6일 질문

1개의 답변

0 추천
 
채택된 답변

순서대로 min 값과 max값을 구한 후 빼주시면 됩니다. 

아래는 Number 라는 별도 클래스를 통해 계산하는 예제입니다.

Number numbers = new Number(num1, num2, num3);

Result = numbers.getMinMaxOffset();

 

private class Number {
 int num1;
 int num2;
 int num3;


  public Number(int num1, int num2, int num3) {
     this.num1 = num1;
     this.num2 = num2;
     this.num3 = num3;
  }

  public int findMin() {
  
    if(num1 < num2) {
       if(num1 < num3) {
         return num1;
       } else {
         return num3;        
       } 
    } else {
       if(num2 < num3) {
         return num2;
       } else {
         return num3;        
       } 
    }
  }

  public int findMax() {
  
    if(num1 > num2) {
       if(num1 > num3) {
         return num1;
       } else {
         return num3;        
       } 
    } else {
       if(num2 > num3) {
         return num2;
       } else {
         return num3;        
       } 
    }
  }

  public int getMinMaxOffset() {
     return findMax() - findMin();
  }

}

익명사용자 님이 2016년 10월 6일 답변
신전떡볶이님이 2016년 10월 6일 채택됨
답변 정말 감사합니다!.. 그런데 이제 막 안드로이드를 배우는 단계라 말씀해주신대로 max 값과 min 값의 차를 구하는 방법은 이제 알겠는데 제가 원래 짰던 코드 버튼2안에 넣어서 같이 구현 하는방법은 없을까요?? 힘들게 답변 해주셔도 써먹지를 못하니.. 죄송합니다 ㅠ
...