2015-09-07 3 views
0
public class Evendiff 
{ 

    public static void main(String[] args) 
    { 
    int x = Integer.parseInt(System.console().readLine()); 
    int y = Integer.parseInt(System.console().readLine()); 

     if(x/y == 1) 
     { 
     System.out.print (" true ") ; 
     } 
     else { 
     System.out.print (" False "); 
     } 

    }    
} 

Я просто хочу, чтобы взять в двух числах в качестве входных данных, разделить их и посмотреть, если они делят друг на друг чисто (как 5/5 = 1 и т.д.) Итак, что я делаю Неправильно здесь? Также, я получаю сообщение об ошибке java.lang.NullPointerException at Evendiff.main (Evendiff.java:6) Никогда не видел этого раньше, поэтому я ничего не знаю об этом.Чистого деление чисел

+0

Какова ваша 'IDE'? 'System # console' возвращает значение null для' eclipse', например, и, следовательно, создает ошибку. – SomeJavaGuy

+1

Вы должны использовать 'x% y == 0' –

+0

Я запустил этот код с помощью командной строки, и он работает отлично. Я думаю, что это проблема IDE. –

ответ

3

увидеть, если они делят друг на друга чисто

Если тем, что вы имеете в виду, что первое число делится на второе число, вы должны использовать оператор модуля %, а не оператор деления / (т. Е. Вы должны проверить, остался ли x % y0).

x/y вернет 1, если x >= y и x < 2 * y. Я не думаю, что это то, что вы ищете.

+0

Спасибо человеку !! что действительно помогло. Но если я могу спросить вас, java.lang.NullPointerException \t на Evendiff.main (Evendiff.java:6) Почему бы IDE вырвать эту ошибку? – Josef

+1

@Josef 'System.console()' будет возвращать нуль в зависимости от используемой среды IDE, примером которой является DrJava. Лучше всего использовать «Сканер». – TNT

Смежные вопросы