로또 프로그램을 만들고 있는데 로또 숫자를 입력하는 방법을 editText로 했습니다. 그런데 아래의 배열을 돌려봐도 이상하게 나오네요.
1. 첫번째 칸을 공백으로 했을때 1~45까지 입력하라고 나옴.
2. 두번째 칸만 공백, 초과관련 메세지가 나옴.
3. 전체적으로 거의 모든칸에서 3가지 조건에 대한 메세지가 제대로 나지 않습니다.
예전엔 제대로 돌아갔는데 오늘 이상하게 나오네요.
//번호저장
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int[] number = new int[nums.length];
//editText 배열
nums[0]= editText1.getText().toString();
nums[1]= editText2.getText().toString();
nums[2]= editText3.getText().toString();
nums[3]= editText4.getText().toString();
nums[4]= editText5.getText().toString();
nums[5]= editText6.getText().toString();
for(int i=0; i<6; i++){
if(nums[i].equals("")){//nums[i]가 공백이면 변환이 안되게 해줌.
break;
}
else{
number[i] = Integer.parseInt(nums[i]);//integer형으로 변환
}
}
i:for(int i=0;i<6;i++){
j:for(int j=0;j<i;j++){
if(nums[i].equals("")){//editText 중에 공백이 있을때
result2.setText("공백이 있어요");
break i;
}
else if(number[i]<1 || number[i]>45){//editText 중에 1보다 작고 45보다 큰 수가 있을때
result2.setText("1에서 45까지 입력하세요");
break i;
}
else if(number[i]==number[j]){//editText 중에 같은 수가 있을때
result2.setText("중복입니다");
break i;
}
else{
result2.setText("추첨확인을 누르세요!");
break i;
}
}
}
}
});
공지사항 읽었습니다.