если трехзначное число, например 123 можно разбить так
123/100
123%100/10
123%10
то как можно таким способом разбить 1234
спасибо
Java
как разбить четырехзначное число на цифры java
Допустим есть число int a, его надо разбить на цифры.
1 способ, если вы точно знаете, что число 4-значное:
int x4 = a/1000;
int x3 = a%1000/100;
int x2 = a%100/10;
int x1 = a%10;
Соответственно x1 - это первый разряд, единицы. И т. д.
Надеюсь, вы уже заметили закономерность, благодаря которой мы сделаем следующий способ.
2 способ, то же самое, но в цикле и для любого количества разрядов:
int i;
while (a != 0) {
i = a % 10;
a /= 10;
}
При каждой итерации i будет принимать значение следующего разряда, начиная с единиц. Можно в цикле заносить i в коллекцию, а можно заранее посчитать, сколько цифр в числе a и заносить цифры в массив, длиной ровно столько, сколько цифр в числе a.
3 способ:
И наконец последний, самый техничный способ. Но может и не самый эффективный:
String.valueOf(a).toCharArray();
Одна строчка! Метод вернёт массив char[] в каждой ячейке которого будут цифры числа a в виде символов (char), начиная с самого большого разряда, заканчивая единицами.
1 способ, если вы точно знаете, что число 4-значное:
int x4 = a/1000;
int x3 = a%1000/100;
int x2 = a%100/10;
int x1 = a%10;
Соответственно x1 - это первый разряд, единицы. И т. д.
Надеюсь, вы уже заметили закономерность, благодаря которой мы сделаем следующий способ.
2 способ, то же самое, но в цикле и для любого количества разрядов:
int i;
while (a != 0) {
i = a % 10;
a /= 10;
}
При каждой итерации i будет принимать значение следующего разряда, начиная с единиц. Можно в цикле заносить i в коллекцию, а можно заранее посчитать, сколько цифр в числе a и заносить цифры в массив, длиной ровно столько, сколько цифр в числе a.
3 способ:
И наконец последний, самый техничный способ. Но может и не самый эффективный:
String.valueOf(a).toCharArray();
Одна строчка! Метод вернёт массив char[] в каждой ячейке которого будут цифры числа a в виде символов (char), начиная с самого большого разряда, заканчивая единицами.
Максим Волков
спс вам. мне был нужен первый способ. я ваш ответ поставлю на лучший
n = 1234
x1 = n%10
n = n/10
x2 = n%10
n = n/10
x3 = n%10
x4 = n/10
x1 = n%10
n = n/10
x2 = n%10
n = n/10
x3 = n%10
x4 = n/10
Максим Волков
нет брат неправильно
поделить на тысячу?
Есть способ разбить число с любым кол-вом разрядов.
Нужен цикл:
x = 12345;
while (x != 0){
y = x % 10;
x /= 10;
}
Здесь каждую итерацию цикла переменная "y" будет принимать значение единиц, десятков, сотен и т. д.
Нужен цикл:
x = 12345;
while (x != 0){
y = x % 10;
x /= 10;
}
Здесь каждую итерацию цикла переменная "y" будет принимать значение единиц, десятков, сотен и т. д.
Похожие вопросы
- Подскажите пожалуйста, как в данном коде Java сделать так, чтоб при нажатии цифры 3 программа завершала свою работу?
- Всем привет. Помогите плз. Мне нужна помощь тех кто действительно хорошо знает Java т. к мне нужно выбрать один из курсов
- в java перечисления не привязаны к числам???
- Java сравнение чисел
- Помогите доделать код на java. В форму пользователь вводит символ, который нужно заменить на #.
- Помогите написать java программу нахождения максимального числа из 4-х
- Не выводит изображение в JAVA
- Подскажите, есть ли какая-нибудь команда в Java, которая позволит выбирать рандомно только между определёнными числами?
- Java проблема с рефлексией.
- Java Developer vs Android Developer. Куда дальше?