Formatted with Google Java Formatter

This commit is contained in:
github-actions
2020-10-24 10:23:28 +00:00
parent a23bac99e8
commit 5d59a2e828
219 changed files with 13758 additions and 14582 deletions

View File

@ -1,62 +1,59 @@
package Maths;
/**
* Find the number of digits in a number.
*/
/** Find the number of digits in a number. */
public class NumberOfDigits {
public static void main(String[] args) {
int[] numbers = {0, 12, 123, 1234, -12345, 123456, 1234567, 12345678, 123456789};
for (int i = 0; i < numbers.length; ++i) {
assert numberOfDigits(numbers[i]) == i + 1;
assert numberOfDigitsFast(numbers[i]) == i + 1;
assert numberOfDigitsFaster(numbers[i]) == i + 1;
assert numberOfDigitsRecursion(numbers[i]) == i + 1;
}
public static void main(String[] args) {
int[] numbers = {0, 12, 123, 1234, -12345, 123456, 1234567, 12345678, 123456789};
for (int i = 0; i < numbers.length; ++i) {
assert numberOfDigits(numbers[i]) == i + 1;
assert numberOfDigitsFast(numbers[i]) == i + 1;
assert numberOfDigitsFaster(numbers[i]) == i + 1;
assert numberOfDigitsRecursion(numbers[i]) == i + 1;
}
}
/**
* Find the number of digits in a number.
*
* @param number number to find
* @return number of digits of given number
*/
private static int numberOfDigits(int number) {
int digits = 0;
do {
digits++;
number /= 10;
} while (number != 0);
return digits;
}
/**
* Find the number of digits in a number.
*
* @param number number to find
* @return number of digits of given number
*/
private static int numberOfDigits(int number) {
int digits = 0;
do {
digits++;
number /= 10;
} while (number != 0);
return digits;
}
/**
* Find the number of digits in a number fast version.
*
* @param number number to find
* @return number of digits of given number
*/
private static int numberOfDigitsFast(int number) {
return number == 0 ? 1 : (int) Math.floor(Math.log10(Math.abs(number)) + 1);
}
/**
* Find the number of digits in a number fast version.
*
* @param number number to find
* @return number of digits of given number
*/
private static int numberOfDigitsFast(int number) {
return number == 0 ? 1 : (int) Math.floor(Math.log10(Math.abs(number)) + 1);
}
/**
* Find the number of digits in a number faster version.
*
* @param number number to find
* @return number of digits of given number
*/
private static int numberOfDigitsFaster(int number) {
return number < 0 ? (-number + "").length() : (number + "").length();
}
/**
* Find the number of digits in a number faster version.
*
* @param number number to find
* @return number of digits of given number
*/
private static int numberOfDigitsFaster(int number) {
return number < 0 ? (-number + "").length() : (number + "").length();
}
/**
* Find the number of digits in a number using recursion.
*
* @param number number to find
* @return number of digits of given number
*/
private static int numberOfDigitsRecursion(int number) {
return number / 10 == 0 ? 1 : 1 + numberOfDigitsRecursion(number / 10);
}
/**
* Find the number of digits in a number using recursion.
*
* @param number number to find
* @return number of digits of given number
*/
private static int numberOfDigitsRecursion(int number) {
return number / 10 == 0 ? 1 : 1 + numberOfDigitsRecursion(number / 10);
}
}