Упражнения на Java: умножение двух указанных целых чисел без использования оператора умножения
Java Basic: упражнение 168 с решением
Напишите Java-программу для умножения двух заданных целых чисел без использования оператора умножения (*).
Пример решения:
Java-код:
import java.util.*;
public class Solution {
public static int multiply(int n1, int n2) {
int result = 0;
boolean negative_num = (n1 < 0 && n2 >= 0) || (n2 < 0 && n1 >= 0);
boolean positive_num = !negative_num;
n1 = Math.abs(n1);
for (int i = 0; i < n1; i++) {
if (negative_num && n2 > 0 || positive_num && n2 < 0)
result -= n2;
else
result += n2;
}
return result;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Input the first number: ");
int n1 = in.nextInt();
System.out.print("Input the second number: ");
int n2 = in.nextInt();
System.out.println("\nResult: " + multiply(n1,n2));
}
}
Пример вывода:
Введите первое число: 25 Введите второе число: 5 Результат: 125
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите Java-программу для перемещения каждого нуля в правую часть заданного массива целых чисел.
Далее: Напишите программу на Java, которая будет переворачивать содержание предложения (предполагая один пробел между двумя словами), не переворачивая каждое слово.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code