java反转一个数字串
我需要能够输入一个数字列表,最后一个是-1,并让它打印的反向(不包括-1),然后找到平均值。我必须使用一个函数来寻找反面。我被卡住了,因为它无法解决我的平均值,这意味着我无法运行程序来查看是否还有其他问题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;
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;
)时,必须先将其分配给某个对象,然后才能读取其值。