循环外的初始化

时间:2014-11-17 15:44:41

标签: java loops if-statement int

错误讯息: Test.java:19:错误:变量y可能尚未初始化

我确定我收到此错误消息,因为“y”未在if和else循环之外定义。我的问题是如何在不改变结构的情况下保留if和else循环中初始化的“y”,所以 LISTEN“System.out.println(”y =“+ y);”必须留在IF和ELSE循环中。

import java.util.Scanner; 
public class Test
{
    public static void main(String[] args)
        {
            Scanner kb = new Scanner(System.in);
            int x, y;
            System.out.print("enter value: ");
            x = kb.nextInt();
            if (x != 5)
            {
                System.out.println("invalid value");
                System.exit(0);
            }
            else
            {
                y = 10;
            }
            System.out.println("y = " + y);
        }
}

4 个答案:

答案 0 :(得分:1)

初始化它,或将System.out.println放在初始化y的else语句中。

else
{
    y = 10;
    System.out.println("y = " + y);
}

答案 1 :(得分:0)

由于局部变量未自动初始化,因此在使用

之前必须对其进行初始化

答案 2 :(得分:0)

int x, y = 0;

执行错误消息所说的内容并初始化y

答案 3 :(得分:0)

System.out.print("enter value: ");
int x = kb.nextInt();
int y =0;