작성하려고하는 주사위 롤링 프로그램에 문제가 있습니다 (콘솔 만 사용함). 다음은 주사위입니다 롤링 클래스 파일 자체 :for 루프 관련 Java 문제
import java.util.Random;
public class rtd
{
public static int[] rollthedice(int numSides, int numRolls)
{
int[] rollCounter = new int[numSides];
for (int counter = 0; counter < numRolls; counter++)
{
Random randRoll = new Random();
int die = randRoll.nextInt(numSides) + 1;
if ((counter + 1) == die)
{
rollCounter[counter] = die;
}
}
return rollCounter;
}
}
클래스에 대한 문제는 어떤 이유로, for 루프가 나는 그것이 다음 클래스의 작동 있는지 확인하기 위해 클래스를 테스트입니다 때 작동을 거부한다는 것입니다 같은 폴더 : 나는 "테스터"클래스를 실행하면
public class tester
{
public static void main(String[] args)
{
rtd roller = new rtd();
int[] results = new int[6];
results = rtd.rollthedice(6, 20);
int rollNumber = 1;
for (int counter = 0; counter < results.length; counter++)
{
System.out.println(rollNumber + " " + results[counter]);
rollNumber++;
}
}
}
, 결과는 단 하나의 롤 for 루프 롤의 지정된 번호의 코드를 반복하지 않았다는 것을 의미 완료되었음을 보여줍니다. 아무도 내게 가능한 해결책이나 설명을 제공 할 수 있습니까? 다른 결함이 있으면 알려주십시오.
문제가 내 IDE (BlueJ)에있을 수 있다고 생각합니다.
각 루프마다 무작위 객체를 생성합니다. – nachokk
코드에 여러 가지 문제가있는 것 같습니다. [int [] rollCounter = new int [numSides];'int []이어야합니다. rollCounter = new int [numRolls] ; ', 하나? 'if ((counter + 1) == die)'가 달성해야하는 것은 무엇인지 모르겠다. – Blorgbeard
'if ((counter + 1) == die)'조건은 나에게 이해가 가지 않는다. –