首页 > 解决方案 > 为什么我的数组“不能解析为变量”?

问题描述

static void createArray(String function) {

 int j = 10;
 int results[]; 
 results = new int[j+1];

for (int i = 0; i < j; i++) {

    String stringI = Integer.toString(i);
    int sum = 0;
    function = function.replace("X",stringI);
    String[] Pluses = function.split("\\+");

    for (String multString: Pluses) {

    String[] mults = multString.split("\\*");
        int multAcc = 1;
    for (String num: mults)
        {
        multAcc *= Integer.parseInt(num);
        }
        sum = sum + multAcc;

        }
        results[i] = sum;   
    }
}

public static void main (String args[]) {

您好,请原谅我的格式错误,这是我在 Stackoverflow 上的第一篇文章。

编译时遇到一个错误,提示“无法将结果解析为变量”。该代码应该创建一个数组,其中包含我已写入控制台的函数的前 10 个值的整数值。

    Scanner myScanner = new Scanner(System.in);
    System.out.println("Enter function");

    String function = myScanner.nextLine();
    createArray(function);
    System.out.println(Arrays.ToString(results));

    myScanner.close();
    }

标签: javaarrays

解决方案


results是createArray()方法中的局部变量。为了解决此问题,您可以执行以下任一操作:

  1. 将结果声明为类中的静态成员
  2. createArray()方法返回整数数组。

推荐阅读