Я хочу, чтобы любое пользовательское целое число вводилось между 1 и 9999 и возвращало это число с измененными цифрами. Проблема с моим кодом заключается в том, что он возвращает сумму введенного целого числа, и я понятия не имею, как это исправить. Это код, который я придумал до сих пор:Обращение с цифрой ввода пользователя с использованием методов
import java.util.Scanner;
class Reverse{
public static void main(String []args){
Scanner input = new Scanner(System.in);
System.out.print("Enter a number between 1 and 9999: ");
int user = input.nextInt();
if(user>1 && user<9999){
System.out.println("The number with its digits reversed is : " + reverseDigit(user));
}else{
System.out.println("Invalid Input");
}
}
public static int reverseDigit(int num){
return (num%10 + (num%100)/10 + (num%1000)/100 + num/1000); //This is the problem
}
}
Почему вы не принимать входные данные в виде строки в обратном, а затем преобразовать его в целое число? – Wickramaranga
Подсказка: 'num% 10 * 1000' переводит последнюю цифру в первую позицию. – Bathsheba