Я продолжаю получать сообщение об ошибке, что переменная temp
может не быть инициализирована. Я не понимаю - я его инициализировал, что я делаю неправильно?Почему моя переменная не инициализируется в этом коде?
import java.util.Scanner;
public class ReverseDigit
{
static Scanner console = new Scanner(System.in);
public static void main(String[] args)
{
int num; //variable to hold the current number
int temp; //variable to hold the temporary number
System.out.print("Enter a positive interger: ");
do
{
num = console.nextInt();
temp = reverseDigit(temp, num);
}
while (num > 0);
System.out.print(" " + temp + " ");
}
public static int reverseDigit(int temp, int num)
{
temp = num % 10;
num = num/10;
return num;
}
}
никак не связаны, но вместо длинных комментариев на имена переменных, просто назвать их лучше, как '' currentNumber' и tempNumber', или '' currNum' и tempNum' и т.д. Также обратите внимание, что я не уверен, что это делает то, что вы хотите, поскольку вы продолжаете перезаписывать 'temp', только распечатываете его, когда все готово. –
Вы пытаетесь инициализировать temp с помощью вызова метода, который принимает параметр temp в качестве параметра. –
Непонятно, что ваш метод 'reverseDigit' пытается сделать с' temp', но вы просто собираетесь вернуть 'num/10'. Значение 'temp' полностью игнорируется и бессмысленно. Вы должны переосмыслить весь свой дизайн на данный момент - подумайте о том, что вы действительно хотите от 'reverseDigit', чтобы делать с точки зрения ввода и вывода. Как только вы поняли это и скорректировали свой код, я сильно подозреваю, что проблема, о которой вы говорите, исчезнет ...] –