2014-11-17 2 views
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]  

답변

0

난 당신이 시도해야한다고 생각 :

calBtn.setOnClickListener(new OnClickListener() {  
public void onClick (View view) {  
String result =""; 
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; 
result += set + "\n"; 
displayTxt.setText(result);  
}   
}   
}); 
관련 문제