Java 数组有奇怪的问题
我目前正在创建一个程序并存储数据,我遇到了一个问题,它会将一条语句打印两次,并将其计算为数组中的两个(很难解释,所以我会显示它) 这就是代码Java 数组有奇怪的问题,java,arrays,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.nex
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();
}
}
}
马上两次,所以当用户声明let表示数组大小为4时,它将打印两次,并将其计算为两个点,因此现在它只计算3个数据并切换到下一个数组,老实说,我不确定是什么原因导致了这种情况,我试着调试它,但它没有告诉我,任何帮助都是值得的 第一个
名称[i]=input.nextLine()
将从包含您使用input.nextInt()
读取的数字的行中读取\n
,因此您将在那里得到一个空名称
您可以按如下方式读取num
:
String strNum = input.nextLine();
int num = Integer.parseInt(strNum);
nextInt()。第一个nextLine()。
String strNum = input.nextLine();
int num = Integer.parseInt(strNum);