Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java反转一个数字串_Java_Reverse - Fatal编程技术网

java反转一个数字串

java反转一个数字串,java,reverse,Java,Reverse,我需要能够输入一个数字列表,最后一个是-1,并让它打印的反向(不包括-1),然后找到平均值。我必须使用一个函数来寻找反面。我被卡住了,因为它无法解决我的平均值,这意味着我无法运行程序来查看是否还有其他问题 import java.util.Scanner; public class Reverse { public static void inReverse (int a) { int number; int[] value; for (a = number - 2;

我需要能够输入一个数字列表,最后一个是-1,并让它打印的反向(不包括-1),然后找到平均值。我必须使用一个函数来寻找反面。我被卡住了,因为它无法解决我的平均值,这意味着我无法运行程序来查看是否还有其他问题

import java.util.Scanner;

public class Reverse {
public static void inReverse (int a) {
    int number;
    int[] value;

    for (a = number - 2; a >= 0; a--) {
        System.out.print(value[a] + " ");
    }
}

public static double findAverage (int p, double average) {
    int number;
    for (p = number - 2; p >= 0; p--) {
        average += value[p];
    }
    average = average / (number - 1);
    return average;
}

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int[] value;
    int i, number, size;        
    size = 20;  
    System.out.println("Please enter the integers: ");
    while (value[i - 1] != -1 && number < size) {
        value[i] = input.nextInt();
        i += 1;
        number = i;
    }
    System.out.println("The values in reverse order are: ");
    inReverse(i);
    System.out.println(" ");
    System.out.println("The average is " + average);
}
}
import java.util.Scanner;
公共类反向{
反向公共静态无效(int a){
整数;
int[]值;
对于(a=数字-2;a>=0;a--){
系统输出打印(值[a]+“”);
}
}
公共静态双findAverage(整数p,双平均值){
整数;
对于(p=number-2;p>=0;p--){
平均值+=数值[p];
}
平均值=平均值/(数字-1);
收益率平均值;
}
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int[]值;
int i,数字,大小;
尺寸=20;
System.out.println(“请输入整数:”);
while(值[i-1]!=-1&&number
您的问题是将“局部变量”与“字段”混淆了

局部变量是在方法体中声明的变量。它们不能在声明之前使用,而且一旦方法停止运行它们也不能使用——它们的值已经不存在

字段是在类内部声明的变量,但在任何方法外部声明。它们存在于类的每个对象内部(或者如果将它们声明为静态的话,则存在于类本身内部),这意味着它们在一个方法调用到下一个方法调用时保留其值


你有
整数
int[]值
在不同的方法中声明,这意味着它们是局部变量,每次运行这些方法时都会重新创建它们。这不是你想要的。您可以将它们作为参数从一个方法传递到下一个方法;或者将它们作为类的字段。

这不会编译。一般来说,当您在
findAverage
方法中声明局部变量(例如
int number;
)时,必须先将其分配给某个对象,然后才能读取其值。