Java 是否可以初始化一个数组,然后使用getter方法返回它?

Java 是否可以初始化一个数组,然后使用getter方法返回它?,java,arrays,methods,getter-setter,getter,Java,Arrays,Methods,Getter Setter,Getter,我正在初始化阵列: double [] fahrenSumTemp = {73.2, 81.5, 75.4, 78.2, 71.9, 72.6}; double [] fahrenWinTemp = {53.2, 50.3, 51.2, 54.1, 52.8, 51.9}; } 然后我使用以下方程式将数组从华氏温度更改为摄氏温度: for (int i = 0; i < fahrenSumTemp.length; i++){ d

我正在初始化阵列:

        double [] fahrenSumTemp = {73.2, 81.5, 75.4, 78.2, 71.9, 72.6};
        double [] fahrenWinTemp = {53.2, 50.3, 51.2, 54.1, 52.8, 51.9};
  }
然后我使用以下方程式将数组从华氏温度更改为摄氏温度:

    for (int i = 0; i < fahrenSumTemp.length; i++){
        double [] celsiusSumTemp =  {};
        celsiusSumTemp [i] = fahrenSumTemp[i] * (9/5) + 32;
    }
    for (int i = 0; i < fahrenWinTemp.length; i++){
        double [] celsiusWinTemp =  {};
        celsiusWinTemp[i] = fahrenWinTemp[i] * (9/5) + 32;
    }
  }
但是有一个错误,因为该方法找不到数组,但是我认为使用getter方法可以找到它?
错误是:不兼容的类型double[]无法转换为double

我相信,您共享的代码段中有一些错误

  • 为什么getMethod有参数?像getFahrenSumTemp()和其他函数一样,应该只返回值,而不是在参数中传递值然后返回它们。这在语法上是正确的,但在概念上是不正确的

  • getCelsiusSumTemp()和getCelsiusWinTemp()方法仅返回索引i处的特定值。由于这些都是方法,“i”在哪里定义??i的价值是什么?这些方法中实际上没有定义i,因此它本身应该抛出编译错误

  • celsiusSumTemp和celsiusWinTemp数组在for循环范围内定义。因此,它们的作用域仅限于循环,如果您试图在循环之外访问它们,您将得到错误提示,即找不到数组

  • celsiusWinTemp和celsiusSumTemp都在具有空值的循环的内部声明。当您执行double[]arrname={}之类的操作时,数组的大小被定义为0,您将无法添加超出数组大小的项。因此,当您尝试向这些数组添加值时,代码将返回建议arrayIndexOutOfBounds的错误

  • 只是想说明一下,也许这就是你想要做的

        public static void main(String[] args) {
    
            double [] fahrenSumTemp = {73.2, 81.5, 75.4, 78.2, 71.9, 72.6};
            double [] fahrenWinTemp = {53.2, 50.3, 51.2, 54.1, 52.8, 51.9};
    
            double [] celsiusSumTemp =  new double[fahrenSumTemp.length];
            double [] celsiusWinTemp =  new double[fahrenWinTemp.length];
    
            for (int i = 0; i < fahrenSumTemp.length; i++){
    
                celsiusSumTemp [i] = fahrenSumTemp[i] * (9/5) + 32;
            }
            for (int i = 0; i < fahrenWinTemp.length; i++){
    
                celsiusWinTemp[i] = fahrenWinTemp[i] * (9/5) + 32;
            }
    
    
    
        }
    
    
    publicstaticvoidmain(字符串[]args){
    双[]华氏温度={73.2,81.5,75.4,78.2,71.9,72.6};
    双[]华氏温度={53.2,50.3,51.2,54.1,52.8,51.9};
    double[]celsiusSumTemp=新的double[华氏温度长度];
    double[]celsiusWinTemp=新的double[fahrenWinTemp.长度];
    对于(int i=0;i
    “但是有一个错误”-请包含错误。请阅读,我们希望打印出以华氏度为单位的原始温度,并使用for语句和getter方法打印出它们的摄氏度,如果这样做有意义的话,请在方法或类级别声明和初始化数组。我猜是前者,如果是后者,请将你的问题编辑成一个可复制的例子。Scope不仅仅是一个漱口液。发布你的完整代码,以及完整和准确的错误,这样我们就可以知道你在问什么,如果这有意义的话。所以我对get方法的理解是,它们是用来访问类中不存在的信息的,并且能够使用getter方法访问它们。所以我想尝试获取for循环(3)中的变量,但我想因为它们已经在for循环中,所以无法尝试获取celsiusumtemp和celsiusWinTemp的值,这就是为什么我无法找到错误数组的原因?
        public static void main(String[] args) {
    
            double [] fahrenSumTemp = {73.2, 81.5, 75.4, 78.2, 71.9, 72.6};
            double [] fahrenWinTemp = {53.2, 50.3, 51.2, 54.1, 52.8, 51.9};
    
            double [] celsiusSumTemp =  new double[fahrenSumTemp.length];
            double [] celsiusWinTemp =  new double[fahrenWinTemp.length];
    
            for (int i = 0; i < fahrenSumTemp.length; i++){
    
                celsiusSumTemp [i] = fahrenSumTemp[i] * (9/5) + 32;
            }
            for (int i = 0; i < fahrenWinTemp.length; i++){
    
                celsiusWinTemp[i] = fahrenWinTemp[i] * (9/5) + 32;
            }
    
    
    
        }