私はコーディングの世界では新しく、問題があります。コードは配列の最初の要素で "null"と読みとります
私は、配列から文字列を読み込むシンプルなJavaクラスを作成していますが、プログラムを実行するたびに、私は非常に最初の要素に "null"を取得します。
これは私のコードです:
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;
}
そして、これは私のテストクラスです: パブリッククラス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);
}
しかし、これは私の出力である、私は非常に「ヌル」を取得します最初の要素と私は理由を知らない
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
長さ1のリストから始めるので、オブジェクト配列のデフォルト値は 'null'であり、最初の値を上書きすることはありません。 'DEFAULT_ZERO'をゼロに設定してみてください。 –
代わりに代わりに 'ArrayList'を使うだけでしょうか? –
さて、あなたはJavaを学ぼうとするかもしれません。 もしそうでなければ、Arrayに固執するにはCollectionやいくつかのArrayUtilsを使います。 –