[英]Storing text as an arraylist from JTextArea
我需要創建一個程序來將所有單詞存儲在一個數組列表中。 然后檢查文本字段中的用戶輸入,看看它是否以數字和標點符號以外的任何內容開頭。 否則將需要顯示錯誤並防止將字符串添加到 arraylist 並顯示適當的錯誤。
下面是 ActionEvent 偵聽器,它繼續檢查該代碼。 我不確定如何讓它工作。
@Override
public void actionPerformed(ActionEvent e) {
for(int i = 0; i < 1; i++) {
String str = tf.getText(); // MUST BE STORED ON AN ARRAY LIST
ta.append(str + "\n"); // Append the text on new line each
if(str.startsWith(String.valueOf(nums))) { // Check input for a number at the start
error.setText("Error: Word starts a number. Please try again!");
error.setForeground(Color.RED);
ta.append("");
} else if (str.startsWith(String.valueOf(punct))) { // Check if input contains a punctuation at the start
error.setText("Error: Word starts with an illegal character. Please try again!");
error.setForeground(Color.RED);
ta.append("");
}
}
}
我將把您的問題重新表述為澄清,如果我有誤解,請糾正我。
您有一個文本字段和一個文本區域。 您希望用戶在文本字段中輸入一個單詞並提交它。 如果該單詞以數字或標點符號開頭,則向用戶指示錯誤。 否則,將其添加到文本區域(在新行上)和內部 ArrayList。
要解決此問題,您需要做幾件事:
ArrayList<String>
,它是一個 class 成員變量,您可以在其中存儲您的單詞事件處理程序應該:
getText()
,就像您已經使用的那樣)。else
子句),則將單詞添加到文本區域(您已經在執行此操作)並將其添加到 ArrayList。希望這可以幫助您更清楚地了解如何解決問題。 如果沒有,請發布您嘗試過的代碼示例以及您具體遇到的錯誤。
編輯:這是您的 if-else 錯誤處理代碼塊的一些偽代碼,假設您聲明了一個新的ArrayList
以將您的話保存為 class 成員:
// as class member variable
List<String> wordList = new ArrayList<>();
// word handler code
if (str starts with a number) {
// handle error
} else if (str starts with punctuation) {
// handle error
} else {
ta.append(str + "\n");
wordList.add(str);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.