【问题标题】:'Cannot invoke push(double) on the array type double[]'?'不能在数组类型 double[] 上调用 push(double)'?
【发布时间】:2022-01-08 08:37:33
【问题描述】:

刚开始接触java,想创建一个基本程序,在特定条件下将成绩过滤到不同的数组中。我在 VS 上不断收到“无法在数组类型 double[] 上调用 push(double)”错误,在命令提示符下,它给我的每个数组的 .push(grade[i]) 错误“找不到符号”组(A、B、C、D、F)。声明了变量,我尝试给数组一个 [size] ,但它仍然没有做任何事情。任何建议将不胜感激。

    class gradeCalc { 
        public static void main(String args[]) { 
            double [] grade = {89, 89.2, 44.2, 69.6, 79.2, 54.2};
            int count;
            int i;
            double [] Agroup = {};
            double [] Bgroup = {};
            double [] Cgroup = {};
            double [] Dgroup = {};
            double [] Fgroup = {};
            count = 0;


            for(i = 0; i <= grade.length; i++)   
            {
                if (grade[i] >= 80) 
                {
                    count = count + 1;
                    Agroup.push(grade[i]);
                }
                else if (grade[i] >= 70) 
                {
                    count = count + 1;
                    Bgroup.push(grade[i]);
                }
                else if (grade[i] >= 60) 
                {
                    count = count+ 1;
                    Cgroup.push(grade[i]);
                }
                else if (50 <= grade[i] && grade[i] < 60) 
                {
                    count = count + 1;
                    Dgroup.push(grade[i]);
                }
                else 
                {
                    count = count + 1;
                    Fgroup.push(grade[i]);
                }

            }
            System.out.println("The total count is: " + count);
            System.out.println("A group : " + Agroup);
            System.out.println("B group : " + Bgroup);
            System.out.println("C group : " + Cgroup);
            System.out.println("D group : " + Dgroup);
            System.out.println("F group : " + Fgroup);
    }
}

【问题讨论】:

  • javascript 不是 java。

标签: java arrays sorting ide


【解决方案1】:

我认为您正在尝试将 java 与 javascript 混合使用。 Push 不适用于 java 中的数组。您可以使用以下代码获得相同的结果。

import java.io.*;
import java.lang.*;
import java.util.*;

class gradeCalc {

    // Function to add x in arr
    public static double[] addX(int n, double arr[], double x) {
        int i;

        // create a new array of size n+1
        double newarr[] = new double[n + 1];

        // insert the elements from
        // the old array into the new array
        // insert all elements till n
        // then insert x at n+1
        for (i = 0; i < n; i++)
            newarr[i] = arr[i];

        newarr[n] = x;

        return newarr;
    }

    public static void main(String args[]) {
        double[] grade = { 89, 89.2, 44.2, 69.6, 79.2, 54.2 };
        int count;
        int i;
        double[] Agroup = {};
        double[] Bgroup = {};
        double[] Cgroup = {};
        double[] Dgroup = {};
        double[] Fgroup = {};
        count = 0;

        for (i = 0; i < grade.length; i++) {
            if (grade[i] >= 80) {
                count = count + 1;

                // Agroup.push(grade[i]);
                Agroup = addX(Agroup.length, Agroup, grade[i]);
            } else if (grade[i] >= 70) {
                count = count + 1;
                Bgroup = addX(Bgroup.length, Agroup, grade[i]);
            } else if (grade[i] >= 60) {
                count = count + 1;

                Cgroup = addX(Cgroup.length, Cgroup, grade[i]);
            } else if (50 <= grade[i] && grade[i] < 60) {
                count = count + 1;

                Dgroup = addX(Dgroup.length, Dgroup, grade[i]);
            } else {
                count = count + 1;
                Fgroup = addX(Fgroup.length, Fgroup, grade[i]);
            }

        }
        System.out.println("The total count is: " + count);
        System.out.println("A group : " + Arrays.toString(Agroup));
        System.out.println("B group : " + Arrays.toString(Bgroup));
        System.out.println("C group : " + Arrays.toString(Cgroup));
        System.out.println("D group : " + Arrays.toString(Dgroup));
        System.out.println("F group : " + Arrays.toString(Fgroup));
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2019-07-11
    • 2012-11-04
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多