2016-10-11 9 views
0

그래서 2 개 난수를 생성하고이를 곱해야하는 프로그램을 만드는 메신저 다릅니다두 사람은 난수를 생성하고 그들의 제품은

public static int thenumber(){ 
int number1=(int)(Math.random()*10+1); 


return number1; 
} 
public static int thenumber2(){ 
int number2=(int)(Math.random()*10+1); 
return number2; 
} 

을하고 그것을 해결 :

public static int thefusion(){ 
int demi =thenumber() * thenumber2(); 
return demi; 
} 

내 문제를 두 숫자의 제품을 실행할 때 다릅니다. 예 : 7 * 4 = 24

+0

언어에 태그를 지정하십시오. – Bathsheba

+0

죄송합니다. 내 실수로 (return numbers;)를 (return number1;)으로 바꿉니다. –

+0

왜 'thenumber'와'thenumber2'가 필요한지 이해가 가지 않습니다. 두 가지 방법 모두 매우 똑같습니다. 그것은 당신이'System.out.println (thenumber()); System.out.println (thenumber2()); System.out.println (thefusion()); 메소드 호출과 난수 뒤에있는 개념을 이해 했습니까? – Jonathan

답변

0

전체 코드 예제는 좋지만 (How to create a Minimal, Complete, and Verifiable example 참조) 추측하겠습니다. 두 개의 임의의 숫자를보고 (인쇄하거나 다른 방법으로). 그럼 당신은 당신의 방법을 부릅니다. 이 방법은 thenumber()thenumber2()에서 두 개의 새 번호 난수를 가져옵니다. 그것이 (의사) 난수의 요점입니다. 매번 같은 수는 아닙니다. 첫 번째 시간을 숫자 7과 4를 그린다면, 아마도 다음 번에 3 얻고 8, 그래서 제품이 24

가능한 해결 방법은 다음의 몇 가지가 있습니다입니다 : thenumber()를 호출 할 때

  1. thenumber2(), 두 변수에 결과를 지정하십시오. 이제 어떤 번호를 볼 수 있습니다. 이 두 숫자를 thefusion 메소드에 전달하면 예상 제품이 계산됩니다.
  2. Math.random()보다는 Random 클래스를 사용하고 알려진 시드로 인스턴스를 생성하십시오. 두 숫자를 그려서 검사하십시오. 동일한 시드에서 Random 인스턴스를 새로 만들고 thefusion()을 사용하십시오. 이제는 동일한 두 개의 숫자가 그려지며, 예상 한 제품을 얻을 수 있습니다.