Java 如何使用数组输入调用方法
我有以下代码,其中包含设置和打印数组值的方法:Java 如何使用数组输入调用方法,java,arrays,Java,Arrays,我有以下代码,其中包含设置和打印数组值的方法: int n; // this is a method for get and set value of array public static int[] avali(int n) { System.out.println("insert number"); Scanner num = new Scanner(System.in); int a1[] = new int[n]; for (int i = 0;
int n;
// this is a method for get and set value of array
public static int[] avali(int n) {
System.out.println("insert number");
Scanner num = new Scanner(System.in);
int a1[] = new int[n];
for (int i = 0; i < n; i++) {
a1[i] = num.nextInt();
}
return a1;
}
//method of inverse array
public void dovomi(int[] a) {
for (int i = n; i > 0; i--) {
System.out.println(a);
}
}
public static void main(String[] args) {
System.out.println("insert arr size: ");
Scanner n = new Scanner(System.in);
JavaApplication17 x = new JavaApplication17();
x.avali(n.nextInt());
x.dovomi(a1);
}
intn;
//这是一个获取和设置数组值的方法
公共静态int[]avali(int n){
系统输出打印项次(“插入编号”);
扫描器编号=新扫描器(System.in);
int a1[]=新的int[n];
对于(int i=0;i0;i--){
系统输出打印项次(a);
}
}
公共静态void main(字符串[]args){
System.out.println(“插入arr大小:”);
扫描器n=新扫描器(System.in);
JavaApplication17 x=新的JavaApplication17();
x、 阿瓦利(n.nextInt());
x、 多沃米(a1);
}
如何使用数组作为参数调用此方法?
为什么我不能用这种方式访问
a1
?您的dovomi
方法和main
有一些错误,您必须更正它们才能运行程序:
第二种方法应该是static
而且n
变量未在方法范围内定义,您可以使用a.length
获取数组大小:
public static void dovomi(int[] a) {
for (int i = a.length-1; i >= 0; i--) {
System.out.println(a[i]);
}
}
main
method您还必须定义数组并将avali
method的返回数组放入其中,以打印dovomi
方法的结果:
public static void main(String[] args) {
System.out.println("insert arr size: ");
Scanner n = new Scanner(System.in);
int size = n.nextInt();
int[] a1=new int[size];
a1=avali(size);
dovomi(a1);
}
您需要理解返回值的概念 有些方法不返回任何值。它们被标记为
无效
。其他人也是。它们被标记为它们返回的任何类型的值
不返回值的方法示例包括System.out.println()
,dovomi
,main
等
另一方面,n.nextin
返回值
你能看出n.scan
与System.out.println
的用法有什么不同吗
x.avali(n.nextInt());
// vs
System.out.println("Hi");
n.nextInt()
可以作为参数传递到方法中,但是System.out.println
不能。为什么?因为n.nextInt()
返回一个值!基本上,返回值的方法可以用作值,这样您就可以将它们作为参数传递、将它们分配给变量、对它们调用其他方法
现在为什么您不能访问a1
因为a1
是在avali
的范围内声明的,所以您不能在avali
之外访问它。但是,a1
由avali
返回:
return a1;
因此,您可以创建一个新变量,并将avali
的返回值分配给它:
int[] a1 = x.avali(n.nextInt());
现在这一行编译
x.dovomi(a1);
错误在最后一行(x.dovomi(a1);)中。请选择并学习创建错误。在当前状态下,您的问题与本网站无关。