Переменная, возможно, не была инициализирована при попытке выполнить простые вычисления с переменными

#java

Вопрос:

Я очень новичок в Java или кодировании в целом, и я пытаюсь создать программу, которая будет принимать два значения x и y и показывать сумму, произведение и частное двух значений. При запуске этого кода я получаю сообщения об ошибках, сообщающие мне, что x и y «могут не быть инициализированы». Но x и y определяются только позже в сканере. Как мне это исправить?

 import java.util.Scanner;  public class Main {   public static void main(String[] args) {   float x;  float y;   float sum = x   y;  float product = x * y;  float quotient = x / y;    Scanner input = new Scanner (System.in);    System.out.println("Enter a value for x: ");   x = input.nextFloat();   System.out.println("Enter a value for y: ");   y = input.nextFloat();   input.close();   System.out.println("x   y is: "   sum);   System.out.println("x * y is: "   product);   System.out.println("x / y is: "   quotient);   } }  

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

1. Вы выполняете операцию сразу после создания переменных x и y (значения еще не были назначены). Вы должны выполнить операцию после присвоения им значений(после получения входных данных от пользователя).

Ответ №1:

объявите переменные

 float x; float y;  

присвоение значений

 x = input.nextFloat(); y = input.nextFloat();  

затем выполните вычисления

 float sum = x   y; float product = x * y; float quotient = x / y;  

Без присвоения каких-либо значений вы не можете выполнять какие-либо вычисления на них.

Ответ №2:

вы можете инициализировать переменные при их задержке. Рекомендуется инициализировать переменные перед вычислением.

…..

 float x = 0; float y = 0;  

… код продолжается….

Кроме того, желательно выполнить вычисление суммы, уравнения, произведения после получения значений со сканера.

 input.close   float sum = x   y;  float product = x * y;  float quotient = x / y;