0
난 다음과 같은 프로그램을 사용하여 4 그룹의 반복되지 않는 난수 을 인쇄합니다. 각 그룹은 0 - 30의 범위에서 7 개의 숫자로 구성됩니다. 을 Java로 인쇄하면 예상대로 진행됩니다. 그러나 안드로이드 응용 프로그램에서 사용하면 4 줄 대신 7 줄로 된 한 줄만 인쇄됩니다.안드로이드에서 반복되지 않는 난수 표시
Java에서 인쇄 결과가 과 Android에서 다른 이유는 누구에게 말해 줄 수 있습니까? 안드로이드에서 코드를 수정하여 결과를 얻으려면 Java에서와 같은가요?
IN JAVA
public static void main(String[] args) {
final int requiredNum = 7;
final int range= 30;
final int inputGroupNum = 4;
Random random = new Random();
enter code herefor (int i=1; i<=inputGroupNum; i++) {
Set set = new HashSet<Integer>(requiredNum);
while(set.size()< requiredNum) {
while (set.add(random.nextInt(range)) != true);
}
assert set.size() == requiredNum;
String result ="";
result += set + "\n";
System.out.print(result);
}
}
IN ADROID
calBtn.setOnClickListener(new OnClickListener() {
public void onClick (View view) {
final int requiredNum = 7;
final int range= 30;
final int inputGroupNum = 4;
Random random = new Random();
for (int i=1; i<=inputGroupNum; i++) {
Set set = new HashSet<Integer>(requiredNum);
while(set.size()< requiredNum) {
while (set.add(random.nextInt(range)) != true);
}
assert set.size() == requiredNum;
String result ="";
result += set + "\n";
displayTxt.setText(result);
}
}
});
Example of print-out in Java
[16, 3, 6, 7, 8, 9, 11]
[2, 18, 24, 9, 26, 27, 11]
[17, 4, 6, 8, 25, 11, 13]
[0, 1, 2, 21, 24, 9, 28]
Example of display in Android
[8, 27, 18, 4, 20, 28, 7]