数组

时间:2016-02-22 18:51:37

标签: java arrays

我目前正在创建一个程序并存储数据,我遇到了一个问题,即它打印出一个语句两次并将其计算为数组中的两个(很难解释如此恶意显示)

所以这是代码

public static void GetData()
   {
     Scanner input = new Scanner(System.in);
     System.out.println("How many names do you want to enter?");
                int num = input.nextInt();
                int array[] = new int[num];
                for (int i = 0  ; i < array.length ; i++ ) 
                    {
                        String[] names = new String[num];


                        System.out.println("enter employee's name: ");

                        names[i] = input.nextLine();   
                    }
                for(int j = 0; j < array.length;j++)
                    {
                    double[] payrate = new double[num];
                    System.out.println("enter employee's payrate: ");

                     payrate[j] = input.nextDouble();
                     }

   }

}

问题在于打印出来:

How many names do you want to enter?
4
enter employee's name: 
enter employee's name: 
harry
enter employee's name: 
larry
enter employee's name: 
mary
enter employee's payrate: 

立即两次,所以当用户声明让我们说数组大小为4时,它会打印两次并且它会计算为两个点已经如此现在它只计算3个数据并切换到下一个数组,老实说,我不确定是什么引起了这种情况,我试着调试它,但它没有告诉我什么,任何帮助都会被爱!

1 个答案:

答案 0 :(得分:0)

第一个names[i] = input.nextLine();将从包含您使用\n读取的数字的行中读取input.nextInt(),因此您将在那里获得一个空名称。

您可以按如下方式阅读num

String strNum = input.nextLine();
int num = Integer.parseInt(strNum);