Java 程序跳过每一行,但不知道为什么

Java 程序跳过每一行,但不知道为什么,java,arrays,lines,skip,Java,Arrays,Lines,Skip,我的程序打印该行上的所有数据,但仅每隔一行打印一次。我知道这与“nextLine”有关,但我找不到导致问题的原因 import java.io.*; import java.util.*; public class hw2 { public static void main (String[] args) throws Exception { String carrier; int flights; int lateflights; int r

我的程序打印该行上的所有数据,但仅每隔一行打印一次。我知道这与“nextLine”有关,但我找不到导致问题的原因

import java.io.*;
import java.util.*;

public class hw2
{
    public static void main (String[] args) throws Exception
    {

    String carrier;
    int flights;
    int lateflights;
    int ratio;

    String[][] flightData= new String [221][3];
    String[] temp;

    File file = new File ("delayed.csv");
    Scanner csvScan = new Scanner(file);

    int c = 0;
        while ((csvScan.nextLine()) != null){

        String s = csvScan.nextLine();

        temp = s.split(",");

        for(int i =0; i < temp.length ; i++)
            System.out.println(temp[i]);

        flightData[c][0] = temp[1];
        flightData[c][1] = temp[6];
        flightData[c][2] = temp[7];
        c = c+1;
        }

    }
import java.io.*;
导入java.util.*;
公共级hw2
{
公共静态void main(字符串[]args)引发异常
{
弦载波;
国际航班;
国际晚点航班;
整数比;
字符串[][]flightData=新字符串[221][3];
字符串[]温度;
文件=新文件(“delayed.csv”);
扫描仪csvScan=新扫描仪(文件);
int c=0;
而((csvScan.nextLine())!=null){
字符串s=csvScan.nextLine();
温度=s.split(“,”);
对于(int i=0;i
}考虑一下这种方法(请参阅):


Facepalm Ofc+1这是正确答案。是的,您在while循环中的测试实际上从扫描仪中删除了一行。将其更改为hasNextLine(),将停止跳过行。
Scanner csvScan = new Scanner(file);
while (csvScan.hasNextLine()) {
    String s = csvScan.nextLine();
    // for testing
    System.out.println(s);
    // ... rest of code
}