Вот пример, который объясняет причину, которую вы получаете, и почему вы это получаете -
double test;
if( isTrue){
test = 2.0d;`enter code here`
}
// This will give you a error stating that test might have not initialized
double calculate = test * 5.0;
Причина ясна, если условие в случае, если блок истинен, то тестовое значение будет инициализировано с помощью 2.0 другихв противном случае он будет неинициализирован.
Быстрое решение этой проблемы может состоять в инициализации test к некоторому значению (может быть 0).
Дойдя до вашей точки, инициализировать этипеременные вы можете делать следующие вещи -
static double kgs;
static double totalIn;
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
kgs= sc.nextDouble;
totalIn = sc.nextDouble();
}
или передайте их как параметр метода, как показано ниже -
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
double kgs = sc.nextDouble;
double totalIn = sc.nextDouble();
}
public void yourMethod(double kgs, double totalIn){
// do whatever you want with above passed variables
}