大家好我有一個有趣的問題..這是我的第二學期在面向對象編程。我在java入門課程中的第一個項目涉及創建一個Date類,以便計算當年1月1日過去的日期。我必須明確檢查閏年並驗證不正確的輸入。我目前正在嘗試檢查用戶輸入太少或太多元素(在一個字符串內)。這就是我所擁有的,但邏輯在某個地方是有缺陷的。當我輸入太少的元素時,它顯示錯誤並再次讀取。然後我輸入太多它顯示錯誤並再次讀取。然後當我輸入三個元素時,它顯示先前顯示的錯誤。一個錯誤後,它不接受只有3個元素被輸入。請幫助。Array.length;是正確的
/* Accepts a string as an argument and splits it into 3 sections
* month,day, and year
*/
void setDateFields(String dateString){
String [] a = {null}; // Array created to hold dateString
a = dateString.split(" "); // Split dateString into three sections
// each ending with a white space
// While to check if user entered month day and year
while (a.length != 3){
if(a.length < 3)
System.out.println("Insufficient number of elements\n" +
"Enter a new date in the format of MM DD YYYY");
else if(a.length > 3)
System.out.println("Too many elements entered\n" +
"Enter a new date in the format of MM DD YYYY");
readDate();
a = dateString.split(" ");
}
monthText = a[0]; // The monthText is assigned the first index of the array
dayText = a[1]; // The dayText is assigned the second index of the array
yearText = a[2]; // The yearText is assigned the third index of the array4
numericMonth = Integer.valueOf(monthText);
numericDay = Integer.valueOf(dayText);
numericYear = Integer.valueOf(yearText);
}
'readDate()'做了什麼? – 2013-02-11 02:40:55
爲什麼要在這裏將定義與定義分開? 'String [] a = dateString.split(「」);'讀得好多了。 – Yuushi 2013-02-11 02:42:30
readDate();從用戶讀取一個字符串,只返回字符串,如果其內容是純粹的整數 – 2013-02-11 04:21:34