2016-09-19 2 views
-4

나머지 기능이 제대로 계산되지 않습니다. 나는 숫자를 입력 한 후 (2-9)로 나눌 수있는 정수를 사용자에게 알려주는 프로그램을 작성하려고합니다. 내가 들어갔을 때 나는 또한 어떤 다섯 가지로 나오고 있었다보고하는에 println 문을 추가Java의 나머지가 정확하게 계산되지 않습니다.

int five; 

    five = digit % 5; 

    if (five == 0) 
    { 
     System.out.println("This number is divisible by five!"); 
    } 
    else { 

    } 

    System.out.println(five); 

과 : 나는 문은 항상 번호가 상태 여부에 맞는 여부에 상관없이 실행중인 경우이 문제를 데 수 (36), 그것은 나에게 내가이 서식을 시도 1.해야한다 0의 나머지주고 있었다 :

int five; 

    //five = digit % 5; 

    if (digit % 5 == 0) 
    { 
     System.out.println("This number is divisible by five!"); 
    } 
    else { 

    } 

    System.out.println(five); 

을 그리고 여전히 같은 결과를 가지고.

+2

더 많은 코드가 필요합니다. 'digit '의 * type *은 무엇입니까? – Bathsheba

+1

[mcve]를 게시 할 수 있습니까? – khelwood

+0

[if가 항상 내게 달려있는 것처럼 보입니다] (http://ideone.com/NhjET1). –

답변

0
public static int remainder(int dividend, int divisior){ 
      int remainder = dividend%divisior; 
      if(remainder==0){ 
       System.out.println("no remainder"); 
       return remainder; 
      } 
      else{ 
       System.out.println("Remainder is =>"+remainder); 
       return remainder; 
      } 
     } 
+0

@bordia plz 위의 코드를 확인하고 작동합니까? – Roushan45

+0

예, 작동했습니다! 고맙습니다! – bordia

0

모든 것은 자바 모듈러스 연산자로 문제가되지 않습니다. digit 변수를 수동으로 설정하고 결과를 확인하면 모든 것이 정상입니다. 문제는 키보드에서 값을 입력하고 잘못된 방식으로 변환하여 변수를 변경하는 동시에 나머지는 변경하는 것입니다. 그런 경우 바로 사용

Scanner sc = new Scanner(System.in); 
int digit = sc.nextInt(); 

은 또한, 두 번째 방법은 거 인쇄 아무것도하지, 당신은 어디 five를 초기화하지 않습니다.

+0

5 개를 초기화했지만 Eran이 편집하여 나타나지 않습니다. 나는 그것을 알아 냈다. 내 멍청한 실수. – bordia

관련 문제