Я сделал два метода, которые принимают пользовательский ввод, и должен возвращать две отдельные переменные, которые я хочу вызвать в третьем методе. Однако я не совсем понимаю, как «связать» переменные в третий метод. Также необходимо, чтобы я держал все три метода отдельно, метод calculate
, askLen
и askWid
.
Я пробовал несколько вещей, таких как объявление целых чисел в разных местах, используя final int
, или long, double и т. д.
public static void main (String[] p)
{
askLen();
askWid();
calculate();
System.exit(0);
}
public static int askLen ()
{
final int len;
Scanner scanner = new Scanner(System.in);
System.out.println("What is the length of the room (in cm)?");
len = Integer.parseInt(scanner.nextLine());
final long l=len;
return len;
}
public static int askWid ()
{
final int wid;
Scanner scanner = new Scanner(System.in);
System.out.println("What is the width of the room (in cm)?");
wid = Integer.parseInt(scanner.nextLine());
final long w=wid;
return wid;
}
public static int calculate ()
{
final int len;
final long l;
final int wid;
final long w;
long area = (l * w) / 10000;
System.out.println("The area is " + area + "m^2");
double wastage = (area * 1.10) / 100;
System.out.println("The extra you need for wastage is " + wastage + "m^2");
double areaTotal = area + wastage;
System.out.println("The total flooring area to order is: " + areaTotal + "m^2");
return 1;
}
Мой ожидаемый результат заключается в том, что он правильно принимает целочисленные входные данные пользователя и выполняет кодированную мной арифметику, возвращая окончательный результат из приведенных выше строк с правильно рассчитанным значением. ответы.
Сообщения об ошибках, которые я получаю во время компиляции:
flooring.java:46: error: variable l might not have been initialized
long area = (l * w) / 10000;
^
flooring.java:46: error: variable w might not have been initialized
long area = (l * w) / 10000;
^
2 errors