尝试执行Java函数时出现错误

时间:2018-10-05 04:52:38

标签: java

我创建了一个Java函数来进行一些计算。但是我收到如下错误

  

Solution.java:#line_num:错误:找不到符号           双a = count1 / arr.length;                    ^符号:变量count1位置:类解决方案Solution.java:#line_num:错误:找不到符号           双b = count2 / arr.length;                    ^符号:变量count2位置:类解决方案Solution.java:#line_num:错误:找不到符号           双c = count3 / arr.length;                    ^符号:变量count3位置:类解决方案3错误

作为我的代码,我从用户那里获取输入并将数据传递给函数。但是我不认识我们这个问题。 我在下面提到了我的功能

static void plusMinus(int[] arr) {
    for(int i=0;i<arr.length;i++){
        int count1=0;
        int count2=0;
        int count3=0;

        if(arr[i]>0){
            count1++;
        }
        else if(arr[i]<0){
            count2++;
        }
        else{
            count3++;
        }
    }
    System.out.println(count1/arr.length);
    System.out.println(count2/arr.length);
    System.out.println(count3/arr.length);

}

4 个答案:

答案 0 :(得分:6)

count1 count2和count3变量在循环外部创建。

全局声明以从任何地方访问它

答案 1 :(得分:2)

您已经在for循环内创建并初始化了count1 count2count3,并在外部使用了

全局声明以从任何地方访问它

答案 2 :(得分:1)

尝试一下:

您必须在for循环之外声明count1count2count3

static void plusMinus(int[] arr) {
    int count1=0;
    int count2=0;
    int count3=0;

    for(int i=0;i<arr.length;i++){
        if(arr[i]>0){
            count1++;
        }
        else if(arr[i]<0){
            count2++;
        }
        else{
            count3++;
        }
    }
    System.out.println(count1/arr.length);
    System.out.println(count2/arr.length);
    System.out.println(count3/arr.length);
}

答案 3 :(得分:0)

您需要在两个count1循环之外声明三个变量count2count3for,以便可以在函数内的任何位置访问它们。您可以在需要时在循环内初始化或更改其值。但是声明需要在外部完成。

static void plusMinus(int[] arr) {
        int count1=0;
        int count2=0;
        int count3=0;
    for(int i=0;i<arr.length;i++){

        if(arr[i]>0){
            count1++;
        }
        else if(arr[i]<0){
            count2++;
        }
        else{
            count3++;
        }
    }
    System.out.println(count1/arr.length);
    System.out.println(count2/arr.length);
    System.out.println(count3/arr.length);

}