안드로이드

스택(Stack), 예외처리( try ~ catch)

미스터몽키 2015. 11. 11. 18:29
Stack<Integer> stack1 = new Stack<Integer>();
int count = 0;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
...
//스택에 넣기
Button btPush = (Button) findViewById(R.id.btPush);
btPush.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stack1.push(count);
editText1.setText("\n스택에 추가함: " + count);

count++;

editText1.append("\n스택: " + stack1);
}
});

//스텍에서 빼기
Button btPop = (Button) findViewById(R.id.btPop);
btPop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
int outValue = stack1.pop();
editText1.setText("\n스택에서 가져옴: " + outValue);
editText1.append("\n스택: " + stack1);
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "에러 발생", Toast.LENGTH_SHORT).show();
}
}
});

//큐에 넣기
Button btOffer = (Button) findViewById(R.id.btOffer);
btOffer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
queue1.offer(count);
editText1.setText("\n큐에 추가함: " + count);

count++;

editText1.append("\n: " + queue1);
}
});

//큐에서 빼기
Button btPoll = (Button) findViewById(R.id.btPoll);
btPoll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
int outValue = queue1.poll();
editText1.setText("\n큐에서 가져옴: " + outValue);
editText1.append("\n: " + queue1);
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "에러 발생", Toast.LENGTH_SHORT).show();
}
}
});
...