Arraylist hoppe en indeks

stemmer
-1

Jeg vil at min array å hoppe over tomme indekser. Dette er formatet på tekstfilen.

some text

1
2
3
4

2
5
4
6

5
7
6
8

Her er min kode

import java.io.*; 
import java.util.*;
import java.io.IOException;
class ArrayPractice {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new FileReader(file.txt)); //reads the file
        ArrayList<String> list = new ArrayList<String>(); //creates arraylist
        String line;
    while ((line = br.readLine()) !=null){ 
                        //i thought this just reads the lines and if its null skips it but its not happening
         list.add(line);
    }
        br.close();
        System.out.println(list);
        if (list.get(2).equals(list.get(5))){ //comparing two of the lines that should be equal
            System.out.println(Should be equal);
        } else {
            System.out.println(list.get(3));
            System.out.println(list.get(7));
            System.out.println(This is what is actually equal from my code)
        }
            System.out.println(list.size()); //says the size of the list is 16
}
}

Jeg trodde den måten jeg satt opp hvordan min kode legger linjer ignorerer tomme seg. Også lurer på hvorfor størrelsen på listen er 16 når det er bare 15 indekser. Mitt spørsmål er hvordan kan ignorere jeg blanke linjer med tekst i filen min.

Publisert på 03/12/2019 klokken 00:03
kilden bruker
På andre språk...                            


1 svar

stemmer
0
while ((line = br.readLine()) !=null){  
     list.add(line);
}

Det bare sjekker om leselinjen er null ornot. Per definisjon en linje er bare null når den siste linjen er lest. Tomme linjer er representert ved tomme strenger. For å hoppe over dem må du sjekke om linjen er tom.

while ((line = br.readLine()) !=null){  
     if(!line.isEmpty()) {
          list.add(line);
     } 
}

Du kan trimme linjene om de kunne inneholde mellomrom du ønsker å unngå.

while ((line = br.readLine()) !=null){  
     if(!line.trim().isEmpty()) {
          list.add(line);
     } 
}
Svarte 03/12/2019 kl. 00:24
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more