Ich bin ziemlich neu in der Welt der Codierung und ich habe ein Problem.Code liest "Null" im ersten Element des Arrays
Ich erstelle eine einfache Java-Klasse, die Strings aus einem Array liest, aber jedes Mal, wenn ich das Programm ausführen, bekomme ich eine "Null" in meinem allerersten Element.
Dies ist mein Code:
public class Airline {
/* Fields */
private String name;
private String[] list;
private int size = 0;
private int DEFAULT_SIZE = 1;
/* Constructor */
public Airline() {
list = new String[DEFAULT_SIZE] ; // creates an airline array
}
/* Methods */
// method that adds "airline name" into the array
public void add(String name) {
this.name = name;
//a new array with + 1 index
String[] temp = new String[list.length + 1];
//copy items from list[] to temp[]
for (int i = 0; i < list.length; i++) {
temp[i] = list[i];
}
// add the last integer to new temp
temp[temp.length - 1] = name;
list = temp;
}
// method that reads from the array start
public int read(int read) {
for (int i = 0; i < list.length; i ++) {
Airline temp = new Airline();
System.out.println("Airline: " + list[i]);
}
return size;
}
Und das ist meine Testklasse: public class TestAirline {
public static void main(String[] args) {
//create the object
Airline airline = new Airline();
// add airline names
airline.add("Air Canada");
airline.add("West Jet");
airline.add("Sunwing Airlines");
airline.add("Air Transat");
airline.add("Emirates");
airline.add("Cathay Pacific");
airline.add("Etihad");
airline.add("British Airways");
airline.add("Delta Airlines");
airline.add("United Airlines");
airline.add("American Airlines");
airline.add("Porter Airlines");
//read the array
airline.read(0);
}
Aber das ist meine Ausgabe ist, dass ich eine "Null" erhalten sie in meinem sehr erstes Element und ich weiß nicht, warum
Airline: null
Airline: Air Canada
Airline: West Jet
Airline: Sunwing Airlines
Airline: Air Transat
Airline: Emirates
Airline: Cathay Pacific
Airline: Etihad
Airline: British Airways
Airline: Delta Airlines
Airline: United Airlines
Airline: American Airlines
Airline: Porter Airlines
Weil Sie mit einer Liste der Länge 1 beginnen; Der Standardwert von Objekt-Arrays ist "null", und Sie überschreiben niemals den ersten Wert. Versuchen Sie, DEFAULT_ZERO auf Null zu setzen. –
Und vielleicht stattdessen nur eine 'ArrayList'? –
Nun, vielleicht versuchst du einfach Java zu lernen. Wenn nicht, verwenden Sie Collection oder einige ArrayUtils, wenn Sie bei Array bleiben möchten. –