Java 如何在循环外部使用for循环内部使用的变量?

Java 如何在循环外部使用for循环内部使用的变量?,java,Java,在下面的代码中,我想在最初声明它们的for循环之外使用变量a、b和n。例如:在int S=a+b中,编译器找不到a和b的位置。我该怎么做 { Scanner in = new Scanner(System.in); int t = in.nextInt(); for (int i = 0; i < t; i++) { int a = in.nextInt(); int b = in.n

在下面的代码中,我想在最初声明它们的for循环之外使用变量a、b和n。例如:在int S=a+b中,编译器找不到a和b的位置。我该怎么做

    {

        Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        for (int i = 0; i < t; i++) {
            int a = in.nextInt();
            int b = in.nextInt();
            int n = in.nextInt();
        }

        in.close();
        int S = a + b;
        for (int q = 1; q < n - 1; q++) {
            S = S + 2 ^ q;
            System.out.print(S + " ");

        }
    }
}
{
扫描仪输入=新扫描仪(系统输入);
int t=in.nextInt();
for(int i=0;i
简短的回答,你不能


您的案例的一个解决方法是将这些变量的值存储在数组或映射中,这样您就可以从循环外部使用它(当然需要在循环外部声明)

只需在您想要使用它们的相同范围内声明变量即可

{

    Scanner in = new Scanner(System.in);
    int t = in.nextInt();
    int a;
    int b;
    int n;
    for (int i = 0; i < t; i++) {
        a = in.nextInt();
        b = in.nextInt();
        n = in.nextInt();
    }

    in.close();
    int S = a + b;
    for (int q = 1; q < n - 1; q++) {
        S = S + 2 ^ q;
        System.out.print(S + " ");

    }
}
{
扫描仪输入=新扫描仪(系统输入);
int t=in.nextInt();
INTA;
int b;
int n;
for(int i=0;i
你不能。如果要在循环外部使用变量,必须在循环外部定义它们。不能引用当前范围之外的内容。for循环一结束,这些变量和指针就消失了。如果您想在其他地方使用它们,您必须更改它们的作用域,例如,在循环之外的任何需要的作用域(方法、类等)定义它们。这会让你看到更多的问题。无论如何,您似乎已经知道问题的答案:在循环之前声明这些变量,就像您对
ints
所做的那样。除此之外,第一次
{
之前是什么?我希望不是一个循环,因为关闭扫描仪将关闭System.in并阻止您在下一次迭代中重用它。这不仅仅是漱口液。这将有助于: