int number = 534;
int firstDigit = Integer.parseInt(Integer.toString(number).substring(0, 1));
int number = 534;
String numberString = "" + number;
char firstLetterchar = numberString.charAt(0);
int firstDigit = Integer.parseInt("" + firstLetterChar);
int firstDigit = Integer.parseInt(Character.toString(firstLetterChar));
firstDigit = number/((int)(pow(10,(int)log(number))));
Это должно быть ваше первое цифра с использованием математики вместо строк.
В вашем примере log (543) = 2,73, преобразованный в int, равен 2. pow (10, 2) = 100 543/100 = 5,43, но поскольку это целое число, оно обрезается до 5
Integer.parseInt
принимает строку и возвращает целое число.
Почти наверняка более эффективно, чем использование строк:
int firstDigit(int x) {
while (x > 9) {
x /= 10;
}
return x;
}
(Работает только для неотрицательных целых чисел.)