Java 填充数组的用户输入

Java 填充数组的用户输入,java,arrays,Java,Arrays,如何创建20个元素的整数数组并让用户填充它 我尝试了以下方法: import java.util.*; class Selection{ public static void main(String[] args){ int x = 0; int y = 0; int a [] = new int [x]; Scanner in = new Scanner (System.in); while(a.length<21){

如何创建20个元素的整数数组并让用户填充它

我尝试了以下方法:

    import java.util.*;

    class Selection{
    public static void main(String[] args){

    int x = 0;
    int y = 0;
    int a [] = new int [x];
    Scanner in = new Scanner (System.in);

    while(a.length<21){
        System.out.print("Enter element number  " + (y+1) + " : ");
        x = in.nextInt();
        y++;
    }

    System.out.println(a);
    }
    }
import java.util.*;
选课{
公共静态void main(字符串[]args){
int x=0;
int y=0;
int a[]=新的int[x];
扫描仪输入=新扫描仪(系统输入);

而(a.length您需要将数组的大小设置为20:

int[] a = new int[20];
然后,在基于数组长度的for循环中,让用户输入数字:

for (int i = 0; i < a.length; i++) {
    System.out.print("Enter element number  " + i + " : ");
    a[i] = in.nextInt();
}
for(int i=0;i
下面是类的修订版,演示了如何正确声明、填充和打印数组:

import java.util.*;

public class Selection {
    public static void main(String[] args) {
        int[] a = new int[20];
        Scanner in = new Scanner(System.in);

        for (int i = 0; i < a.length; i++) {
            System.out.print("Enter element number  " + i + " : ");
            a[i] = in.nextInt();
        }

        // if you want to display the array after filling, there are 2 standard ways
        for (int element : a) {
            System.out.println(element); // displays each on a new line
        }

        // or, using Arrays.toString() (from the java.util package)
        System.out.println(Arrays.toString(a));
    }
}
import java.util.*;
公开选课{
公共静态void main(字符串[]args){
int[]a=新的int[20];
扫描仪输入=新扫描仪(系统输入);
for(int i=0;i
在填充数组之前,您必须设置数组大小。在这种情况下,您需要将数组设置为20

int[] a = new int[20];

您缺少了一些东西。您希望初始化大小为20的
int[]a
,例如
int[]a=new int[20]
。您需要将
int a[]
放入
while
循环中,以便存储整数

看起来您正在使用
y
进行迭代,因此
y
将用作元素索引,我们将在其中存储用户输入的
int
。最后,您不能像那样打印
int[]a
,您需要自己迭代并打印每个索引处的每个值,或者使用
数组。toString()
实用程序,可通过将
导入java.util.Arrays;
与其他导入一起放在文件顶部来访问。将所有这些放在一起,您的主要方法如下所示:

public static void main(String[] args) {

    int x = 0;
    int y = 0;
    int a[] = new int[20];
    Scanner in = new Scanner(System.in);

    while (y < a.length) {
        System.out.print("Enter element number  " + (y + 1) + " : ");
        x = in.nextInt();
        a[y] = x;
        y++;
    }

    System.out.println(Arrays.toString(a));
}
publicstaticvoidmain(字符串[]args){
int x=0;
int y=0;
int a[]=新int[20];
扫描仪输入=新扫描仪(系统输入);
而(y
您能告诉我如何将数组转换为降序并打印吗?我正为此苦苦挣扎,数组需要存储有序值?或者您需要以相反顺序打印数组?我需要按降序打印。例如,如果用户使用5,4,7,2,9填充数组,我应该将其打印为9,7,5,4,2。我可以这样做通过使用选择排序,t按正常顺序排列,但我无法按降序排列一旦排序,请使用从数组中最后一个元素开始并递减直到到达第一个元素(0)的for循环。然后,打印循环每次迭代的每个值。我会给你一个机会,让你自己先弄清楚,然后让我知道你是否需要我发布一些代码。我知道了!!干杯,伙计