저는 Java에 익숙하지 않지만 제한된 지식을 사용하여 손가락 게임 'Sticks'를 시뮬레이션하려고합니다. 이것은 가장 깔끔한 것은 아니지만, 제게 뭔가를하도록 제 제안을한다면, 그 내용을 설명하는 페이지를 링크하면됩니다.메서드에서 int 값 반환 java
좋아, 나는 그것이하며 최대 5에 "계산"의 값을 반환하려고 차례 사람을 결정하는 메소드를 호출하지만 복귀하지 때 문제는 기본적으로 온다 그래서 주()
public static int TurnCalcBB(int PLH, int PRH, int BRH, int BLH, int Death)
{
//Attacking with bot Right hand
Random botAtk = new Random();
if(botAtk.nextInt(2) == 1 && PRH <= 5)
{
PRH = BRH + PRH;
JOptionPane.showMessageDialog(null,"Your right hand is now at " + PRH);
return PRH;
} else if(botAtk.nextInt(2) == 0 && PLH <= 5){
PLH = BRH + PLH;
JOptionPane.showMessageDialog(null, "Your left hand is now at " + PLH);
return PLH;
}
return Death;
}
정적 값을 반환 할 때마다 항상 반환해야한다고 오류가 표시되기 때문에 사망이 발생했습니다.
기본적으로 문제는 PLH (플레이어 왼손) 또는 PRH (플레이어 오른손)가 메인으로 돌아 오는 것입니다. 내가 잘못하지 않았다면 반환 값이 올바른 초기 변수 이름 (PL 및 PR)으로 반환해야합니다. 그렇지 않다면이 문제를 해결하기 위해 무엇을 할 수 있습니까?
이 코드는 이보다 훨씬 크며이 문제는 전체 프로그램에서 발생합니다. 그래서 나는 단지 하나의 방법만을 보여 주며 모두 동일한 문제라고 가정합니다. 방법은 거의 동일합니다.
또한 질문을 입력하는 동안 nextInt()가 난수 생성기를 수행하는 가장 좋은 방법입니까? 나는 nextInt (1)로 왼손을 독점적으로 공격 할 때 nextInt (2)로 전환했을 때 두 가지 모두를 공격했지만 때로는 코드 ... "충돌"(충돌로 인한 것입니다. If 문이 찾고있는 것 이외의 번호를 생성합니다). 분명히 1 또는 2 (또는 0 카운트 인 경우 0 및 1)를 생성해야합니다.
"초기 변수 이름으로 반환해야합니다"라고 설명 할 수 있습니까? – Fildor
첫 번째 무작위 int가! = 1 일 때 다른 임의의 결과를 다시 얻는 대신 무작위 결과를 저장하는 것이 좋습니다. 그 이유는 아마도 if 문 외부에서 숫자를 생성한다고 생각하는 이유 일 수 있습니다. – user1071777
'PLH = BRH + PLH; 이것은 아마도'PLH = BLH + PLH;'이어야합니다, 그렇지 않아야합니까? – Fildor