Java 仅为数组赋值的输出获取0

Java 仅为数组赋值的输出获取0,java,arrays,sorting,bounds,out,Java,Arrays,Sorting,Bounds,Out,我有一个作业,我需要为这个问题写代码 编写一个程序,将数字从键盘读入int[]类型的数组 您可以假设将有50个或更少的条目。 您的程序允许输入最多50个数字 输出是两列不同数组元素的列表 第二列是每个元素的频率列表 列表应按从大到小的第一列进行排序 我目前正在打印数组,但是我得到了两列50个零。有什么帮助吗 阵列排序类 import java.util.*; public class ArraySort { public static void main(String[] args)

我有一个作业,我需要为这个问题写代码

编写一个程序,将数字从键盘读入int[]类型的数组 您可以假设将有50个或更少的条目。 您的程序允许输入最多50个数字 输出是两列不同数组元素的列表 第二列是每个元素的频率列表 列表应按从大到小的第一列进行排序

我目前正在打印数组,但是我得到了两列50个零。有什么帮助吗

阵列排序

import java.util.*;

public class ArraySort {

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        System.out.println("Please enter the numbers for your array.");
        int[][] d = new int [2][50];
        int[] a = new int [50];
        int[] b = new int [50];
        int[] c = new int [50];
        for(int index = 0; index < 50; index++)
        {
            a[index] = keyboard.nextInt();
        }
        ArraySort object = new ArraySort();
        object.sort(a);
        object.duplicate(a, b);
        object.frequency(a, c);



        for(int index = 0; index < 50; index++)
        {
            b[index] = d[0][index];
        }
        for(int x = 0 ; x < 50; x++)
        {
            c[x] = d[1][x];
        }
        for(int column = 0; column < 2; column++)
        {
            for(int row = 0; row < 50; row++)
            {
                System.out.print(d[column][row]);
            }
        }
    }


    public int[] sort(int [] a)
    {
        int temp = 0;
        for(int x = 0; x < 49; x++)
        {
            for(int y = 0; y < 49; y++)
            {
                if(a[y] < a[y+1])
                {
                    temp = a[y];
                    a[y] = a[y+1];
                    a[y+1] = temp;
                }
            }
        }
        return a;
    }
    public int[] duplicate(int [] a, int[] b)
    {
        int y = 0;
        for(int x = 0; x < 49; x++)
        {
            if(a[x] != a[x+1])
            {
                a[x] = b[y];
                y++;
            }
        }
        return b;
    }
    public int[] frequency(int [] a, int [] c)
    {
        int y = 1;
        int z = 0;
        for(int x = 0; x < 49; x++)
        {
            if(a[x] == a[x+1])
            {
                y++;
            }
            if(a[x]!= a[x+1])
            {
                y = c[z];
                z++;
                y = 0;
            }   
        }
        return c;
    }
}
import java.util.*;
公共类ArraySort{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“请输入数组的数字”);
int[][]d=新int[2][50];
int[]a=新的int[50];
int[]b=新的int[50];
int[]c=新的int[50];
对于(int-index=0;index<50;index++)
{
a[index]=keyboard.nextInt();
}
ArraySort对象=新的ArraySort();
对象。排序(a);
对象。副本(a、b);
目标。频率(a,c);
对于(int-index=0;index<50;index++)
{
b[指数]=d[0][指数];
}
对于(int x=0;x<50;x++)
{
c[x]=d[1][x];
}
for(int列=0;列<2;列++)
{
用于(int行=0;行<50;行++)
{
系统输出打印(d[列][行]);
}
}
}
公共整数[]排序(整数[]a)
{
内部温度=0;
对于(int x=0;x<49;x++)
{
对于(int y=0;y<49;y++)
{
if(a[y]
java中的索引从
0
开始,
d[2][x]
将需要一个大小为
[3][50]
的数组,而调试器仍然合法,请使用它。谢谢!修正了。现在输出只得到零,但程序运行平稳!谢谢所有这些编程的东西都是新的!