2014-09-16 4 views
1

키보드에서 2 개의 정수를 읽는 프로그램을 만들어 첫 번째 숫자가 두 번째 숫자를 고르게 나눌 지 여부를 알려주는 메시지를 인쇄해야합니다.2 개의 숫자를 나누고 첫번째 숫자가 두 번째 숫자를 균등하게 나눌 지 확인하십시오

나는/또는 %를 사용해야한다는 것을 알고 있지만 작동하지 않습니다.

int y, x,z; 

System.out.print("Enter first number: "); 
x= keyboard.nextInt(); 
System.out.print("Enter second number: "); 
y= keyboard.nextInt(); 
z=y/x; 
if (z%2==0){ 
    System.out.println("Divides evenly"); 
} else { 
    System.out.println("Does not divide evenly"); 
} 

나는 x로 y를 나눌 필요가있다. 그래서, 예를 들어, x = 25 y = 100이면, 그것도 나오야합니다. 그렇다면 x = 35 y = 100 짝수.

나는

z==0 

z%y==0 

작동하지

을 시도했습니다.

+0

Z '% 2 ==, 그것은"Z 짝수 "말한다. 변수'x'와'y'는 함께'* '와 함께 사용되어야합니다. – user2864740

+4

"하지만 작동하지 않습니다."- 문제 설명이 아닙니다. 2 가지 기본 문제가 있습니다. 균등 분할은 % 2 == 0과 동일하지 않습니다. –

답변

3

이제 끝나면 여분의 정수 나누기가 필요하지 않습니다.

정수부 (%)는 나머지를 제공합니다. 따라서 z=y%x;을 실행하면 if 문에서 수행해야 할 작업은 z0 (두 번째 숫자가 균등하게 결정되었음을 의미 함)과 같은지 확인하는 것입니다. "Y 균등 분할의 X '를 말하지 않는다 0'

int y, x,z; 

System.out.print("Enter first number: "); 
x= keyboard.nextInt(); 
System.out.print("Enter second number: "); 
y= keyboard.nextInt(); 
z=y%x; 
if (z==0){ //Changed this liine 
    System.out.println("Divides evenly"); 
} else { 
    System.out.println("Does not divide evenly"); 
} 
+2

단지 해결책을 제공하는 것이 아니라 문제와 해결책을 모두 설명하면 미래의 방문자에게 유용한 답이 될 수 있습니다. 예 : '11/3 => 3' (왜?)와'11 % 3 => 2' (다시, 왜?) –

+1

감사합니다. – Tyler

1
int x,y; 

    System.out.print("Enter first number: "); 
    x= keyboard.nextInt(); 
    System.out.print("Enter second number: "); 
    y= keyboard.nextInt(); 

    if (x%y==0){ 
    System.out.println("Divides evenly"); 
    } else { 
    System.out.println("Does not divide evenly"); 
    } 
관련 문제