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

조건문 문제입니다.. 살려주세요 ㅠ

0 추천
package com.example.project;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
 TextView text;
  Integer result;
  int toint=1;
  Button[]numButtons =new Button[9];
  Integer[]numBtnIDs={R.id.button1,R.id.button2,R.id.button3,
      R.id.button4,R.id.button5,R.id.button6,
      R.id.button7,R.id.button8,R.id.button9};

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

   for(int i=0;i<numBtnIDs.length;i++){
  numButtons[i]=(Button)findViewById(numBtnIDs[i]);
 }
 for(int i=0;i<numBtnIDs.length;i++){
  final int index;
  index = i;
 
 
 numButtons[index].setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
   switch(toint){
   case '1':
      result=(int)(Math.random()*9)+1;
      text.setText("result = "+result);
      break;
   case '2':
      result=(int)(Math.random()*9)+1;
      text.setText("result = "+result);
      break;
   case '3':
      result=(int)(Math.random()*9)+1;
      text.setText("result = "+result);
      break;
   case '4':
      result=(int)(Math.random()*9)+1;
      text.setText("result = "+result);
      break;
   case '5':
      result=(int)(Math.random()*9)+1;
      text.setText("result = "+result);
      break;
   case '6':
      result=(int)(Math.random()*9)+1;
      text.setText("result = "+result);
      break;
   case '7':
      result=(int)(Math.random()*9)+1;
      text.setText("result = "+result);
      break;
   case '8':
      result=(int)(Math.random()*9)+1;
      text.setText("result = "+result);
      break;
   case '9':
      result=(int)(Math.random()*9)+1;
      text.setText("result = "+result);
      break;
  
   default:
  Toast.makeText(getApplicationContext(), "reset please number", 0).show();    
   }// 스위치문 종료
  }
  });
 }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
   
}

 이 xml 코드에서 toint를 랜덤으로 주다가 toint를 1로 주어졌는데도 어느 버튼을 눌러도 default 값이 나오네요..

제가 코드를 보기에는 당현히 1번만 눌렀을때 값이 바뀌어야하는데 왜 default가 뜨는지 모르겠네요.

너무 질문을 많이해서 질문하기 두렵지만 소중한 답변 부탁드립니다 ㅠㅠ
얼상 (430 포인트) 님이 2013년 6월 6일 질문

1개의 답변

+1 추천
 
채택된 답변
케이스문에서 사용한 '1' 의 뜻는 숫자 1을 말하는게 아니라 아스키코드에서 문자1에 해당하는 값을 말하는거예요..

case 1 :

break;

case 2 :

break;

 이것처럼  ' ' 이거 다 없애주시면 됩니다.
congbab (5,140 포인트) 님이 2013년 6월 6일 답변
얼상님이 2013년 6월 6일 채택됨
오마이갓;;;;;........ 그걸 깜박하고 있었네요..... 이걸로 1시간반 가량 씨름하다가 방금 밥먹고 옴 ㅠㅠ 정말 감사합니다 !! congbab님 아니었으면 계속 헤메고 있었을거에요 정말 감사합니다
...