誰能告訴我爲什麼數據定義類中titles數組的數組大小不等於用戶輸入的數據從傳入的值實現類並將其設置爲數據定義類中的實例變量?用戶輸入數組大小的輸入,但數組大小不等於用戶輸入
這是數據定義類。
public class Photograph {
private int maxTakes;
public Photograph() {
this.titles = new String[this.maxTakes];
numPhotosTaken = 0;
}
public void setMaxTakes(int maxTakes) {
this.maxTakes = maxTakes;
}
public boolean setTitle(String title) {
if (this.numPhotosTaken < this.titles.length) {
this.titles[numPhotosTaken] = title;
numPhotosTaken++;
return true;
}
else {
return false;
}
}
}
這是實現類。
import javax.swing.JOptionPane;
public class MakePhotographs {
public static void main (String[] args) {
Photograph photo;
do {
photo = create();
} while (JOptionPane.showConfirmDialog(null, "Enter another couple?") == JOptionPane.YES_OPTION);
}
private static Photograph create() {
Photograph photo = new Photograph();
photo.setMaxTakes(Integer.parseInt(JOptionPane.showInputDialog("Enter maximum number of photos to take")));
do {
String title = JOptionPane.showInputDialog("Enter title of photo");
if (!photo.setTitle(title)) {
JOptionPane.showMessageDialog(null, "No more photos allowed!");
}
} while (JOptionPane.showConfirmDialog(null, "Enter another photo?") == JOptionPane.YES_OPTION);
return photo;
}
}
你能告訴是什麼讓你覺得尺寸不一樣嗎?輸出/錯誤堆棧? – user2004685
您的數組在構造函數中使用值「maxTakes」進行初始化,該值在構造函數被調用時爲0. – KevinO
當我嘗試輸入照片的標題時,總會提示錯誤消息「沒有更多的照片允許「 – ush