Целочисленные манипуляции в Java

#java

#java

Вопрос:

У меня есть задание, которое нужно выполнить в колледже, в части запрашивается выполнение приведенных ниже инструкций. Пожалуйста, не отказывайтесь от ответа, было бы здорово просто направить меня в правильном направлении.

Все данные передаются в виде четырехзначных целых чисел. Ваша программа должна прочитать четырехзначное целое число, введенное пользователем, и зашифровать его следующим образом: — Замените каждую цифру результатом добавления 7 к цифре и получения остатка после деления нового значения на 10. Затем — Поменяйте местами первую цифру с третьей, а вторую с четвертой.

я могу делать все, кроме замены цифр в конце инструкций.

Вся помощь с благодарностью, спасибо, ребята!

Комментарии:

1. Что вы сделали и с чем вам нужна помощь? Мы не можем сделать все это за вас.

2. вот почему я сказал, просто дайте мне подсказки: P … это огромное задание, и один из 15 методов, которые я пишу, состоит из этого материала…

3. Что у вас есть на данный момент? Ни с чем, я рекомендую единственный и неповторимый: Java Hello World

4. вы захотите использовать операторы / и % .

Ответ №1:

Сначала разбейте программу на логические шаги:

  1. Получение входных данных от пользователя
  2. Убедитесь, что входные данные представляют собой 4-значное число
  3. Разделите число на отдельные цифры
  4. Выполните вычисление остатка для каждой цифры
  5. Соберите 4-значное число, меняя местами цифры по мере необходимости
  6. Распечатайте выходные данные.

Я полагаю, вы можете сделать хотя бы часть этого, поэтому дайте нам знать, что вы уже сделали.

Комментарии:

1. я могу делать все, кроме замены цифр местами

2. Это здорово! Сделайте это без замены цифр, покажите свой код, и мы будем рады помочь с этой частью.

Ответ №2:

Прежде всего, вам нужно получить каждую цифру в числе и сохранить в отдельных переменных (в массиве или списке).

Допустим,

 number = 1763
  

Ваш массив будет выглядеть следующим образом:

 list[0] = 3
list[1] = 6
list[2] = 7
list[3] = 1
  

Затем для каждого элемента списка сделайте это:
list[i] = (list[i] 7) % 10;
Затем поменяйте местами элементы в списке, как указано. Напишите функцию подкачки, чтобы вы могли ее повторно использовать.

 swap(int[] array, int i, int j) { 
// Check for array boundary violation
// Swap the elements of the array identified by indexes i and j
int tmp = array[i]; array[i] = array[j]; array[j] = tmp;
}
  

Затем создайте свое число из массива. Обратите внимание, что индексы массива будут равны степени 10 при суммировании цифр.

Это решение легко масштабируется до n-значных целых чисел.

Ответ №3:

Первый шаг, который вы захотите сделать, это разделить 4-значное целое число на отдельные цифры. Для этого вам необходимо понимать базовое представление чисел 10.

Как только вы поймете, как разделить число на отдельные цифры, остальные операции должны быть довольно простыми.

Комментарии:

1. я знаю, как это сделать … было бы правильно использовать операнды деления и модуля? и часть, с которой мне нужна помощь, на самом деле изменяет порядок чисел с 1 <—> 3 и 2 <—> 4

2. @Тео Лопес де Кастилья — Тогда исправьте свой вопрос, чтобы сказать это. Прямо сейчас вы запрашиваете все назначение.

3. Это правильно. Для выполнения замены вам понадобится временная переменная. Допустим, у вас есть i1 и i3. Для замены вам нужно иметь другую переменную temp и выполнить: temp = i1; i1 = i3; i3 = temp;

4. Брендан, прочитай, приятель, я просто попросил подсказки и указатели… я не говорил, ЧТО ВЫПОЛНЯЮ ЗАДАНИЕ. и спасибо за помощь, Ник