Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Положительные делители натурального числа

32K
23 сентября 2011 года
turtles
42 / / 18.02.2011
Здравствуйте! Подскажите по коду?

Выведите на экран все положительные делители
натурального числа и подсчитать количество делителей,
введённого пользователем с клавиатуры.

Код вроде работает компилировал запускался.

1)Правильно ли составлен код на положительные делители?

2)Когда компилируется код выводит следующее:

Вводите ваше натуральное число - 6 //ввел число
Число 3 делится на - 1 3 6 Количество делителей - 3

Как можно сделать, чтобы выводило так:

Вводите ваше натуральное число - 6 //ввел число
Число 3 делится на - 1 3 6
Количество делителей - 3

Как можно сделать, чтобы делители выводились в обратном порядке:

Вводите ваше натуральное число - 6 //ввел число
Число 3 делится на - 6 3 1
Количество делителей - 3

3) Как можно описать код, на ошибку, если пользователь ввел отрицательное число?

4) Как можно описать код, что на ноль делить нельзя, если пользователь ввел 0?

Код:
public class Test {
    public static void main(String args[]){
        int n;
         int count = 0;
       System.out.print("Вводите ваше натуральное число - ");
        Scanner sr = new Scanner(System.in);
         n = sr.nextInt();
          System.out.print("Число " + n + " делится на - " );
        for(int i = 1; i <= n; i++){
           if ((n % i) == 0){
             count++;
              System.out.print(i + " ");
            }
        }
      System.out.println("Количество делителей - " + count);
    }
}
30K
23 сентября 2011 года
Ден Зурин
28 / / 17.02.2008
Цитата: turtles
1)Правильно ли составлен код на положительные делители?



Вроде все правильно.

Цитата:
Как можно сделать, чтобы выводило так:

Вводите ваше натуральное число - 6 //ввел число
Число 3 делится на - 1 3 6
Количество делителей - 3



System.out.print("text"); просто выводит текст.
System.out.println("text"); выводит текст и затем делает переход на новую строку.
System.out.println(); просто делает на новую строку.
В твоем случае нужно добавить System.out.println(); сразу после цикла for (после закрывающей }), т.е. будет:
[CODE="java"]}
System.out.println();
System.out.println("Количество делителей - " + count);[/CODE]

Цитата:
Как можно сделать, чтобы делители выводились в обратном порядке:

Вводите ваше натуральное число - 6 //ввел число
Число 3 делится на - 6 3 1
Количество делителей - 3



Цикл for у тебя выполняется от 1 до n (i изначально равно 1 и увеличивается, вплоть до n). Чтобы делители выводились в обратном порядке, цикл должен выполняться от n до 1 (i изначально равно n и уменьшается, вплоть до 1). Т.е. for(int i = 1; i <= n; i++) нужно заменить на for(int i = n; i >= 1; i--).

Цитата:
3) Как можно описать код, на ошибку, если пользователь ввел отрицательное число?



Проверяй введенное пользователем значение (переменная n) с помощью условного оператора if. Т.е. после n = sr.nextInt(); добавляешь:
[CODE="java"]if (n < 0) {
System.out.println("Введено отрицательное число.");
} else {
// весь остальной код
System.out.print("Число " + n + " делится на - " );
// ...
System.out.println("Количество делителей - " + count);
}[/CODE]

Цитата:
4) Как можно описать код, что на ноль делить нельзя, если пользователь ввел 0?



В операторе if делаешь еще и проверку на 0:
[CODE="java"]if (n < 0) {
System.out.println("Введено отрицательное число.");
} else if (n == 0) {
System.out.println("Введен нуль.");
} else {
// весь остальной код
System.out.print("Число " + n + " делится на - " );
// ...
System.out.println("Количество делителей - " + count);
}[/CODE]

Хотя проще сделать так:
[CODE="java"]if (n <= 0) {
System.out.println("Нужно ввести положительное число.");
} else {
// весь остальной код
System.out.print("Число " + n + " делится на - " );
// ...
System.out.println("Количество делителей - " + count);
}[/CODE]

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог