我正在嘗試創建一個包含約100個名稱的數組。我想要的名稱是我選擇的不是隨機生成的名稱。所以Array的每個位置都會包含一個名稱的字符串。有沒有比Array[1] = "name; Array[2] = "name";
更簡單的方法?我想的方式是使用for循環從數據文件或文本文件中獲取信息,但我不知道如何做到這一點。什麼是完成這項任務的最簡單的方法?有沒有一種簡單的方法可以將項目列表輸入到數組中,比如50-100?
回答
如果你必須符合一個名稱的文件:
public static String[] getArrayStringRandom() {
try {
List<String> list = new LinkedList<String>();
FileReader fileReader = new FileReader("file.txt");
BufferedReader in = new BufferedReader(fileReader);
for (String name; (name = in.readLine()) != null;) {
list.add(name);
}
in.close();
fileReader.close();
// Collections.shuffle(list); // Random permutes
return list.toArray(new String[0]);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
中聲明它是私有的,我可以在Main方法中使用它,但是如何使用它來創建實例變量。我試圖寫在這個文件中,並使用數組作爲實例變量private String [] name;這在主要方法中執行它,有沒有辦法在類中創建它並將其用作變量? – Renuz
你可以創建一個靜態方法來返回一個數組,像'public static String [] getArrayString(){...}'。或者你可以創建一個靜態變量,並將文件讀入*靜態初始化塊*'static {...}'。請參閱http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html中的更多內容 –
好吧,我明白了,現在如果我想訪問所述字符串中的特定編號數組,那麼如果我想要執行某些操作像這樣 variable = getArrayString();這就是我被允許做的事情,我想要做variable = getArrayString()。randomize,或者甚至在array [1]處挑選String,這可能來自你建議的getArrayString()靜態方法嗎? – Renuz
可以使用一個array initializer:
數組初始化可在聲明中指定,或作爲陣列創建表達式的一部分,以建立一個數組,並提供一些初始值。它寫成逗號分隔的表達式列表,用大括號
{
和}
括起來。
Array = new String[] {"name1", "name2", ..., "name100"};
也許就是這樣。從文本文件中讀取也可以工作,但需要更多的努力,儘管它會更具動態性。
String[] myArray = {"Jon","Mike","Dave","Ed","Ted","Shirly","Jane","Robert"};//etc
好吧,如果你已經有了一個文本文件,然後再解析一個txt文件和填充陣列是一種有效的選擇中列出了所有名稱。
Here is everything you will need to accomplish it.
然而,如果你還沒有進行數字上市(又名如果你有他們寫在一張紙上),你知道他們不會再只是手動更改它們添加的所有名稱碼。
但這樣做的缺點是,如果您需要更新名稱列表,則更容易處理txt文件而不是硬代碼。
如果您需要填充硬編碼值的陣列,你可以只使用
String stringArray = new String[]{ "Name1", "Name2", ... };
如果你想從文件中檢索你的建議,你可以使用類似的循環來
String stringArray = new String[100];
for(int i = 0; i < stringArray.length; i++){
stringArray[i]=retrieveNextValueFromFile();
}
初始化數組最簡單的方法是:
String[] array = { "a", "b", "c", "d", "e" };
...但如果你打算從文件中讀取的名字,你就會有一個存儲它由一個:
List<String> list = new ArrayList<String>();
// ... read each name from the file
list.add(name);
// finally, convert the list to a String[]
String[] array = list.toArray(new String[list.size()]);
如果這只是一個測試家庭作業分配,您可以使用<
命令行工具來傳遞文件和標準掃描儀。例如
import java.util.Scanner;
public class Example {
public static void main(String[] args){
Scanner cin = new Scanner(System.in);
String[] stringArray = new String[100];
for(int i = 0; i < 100; i++)
stringArray[i] = Scanner.nextLine();
}
}
現在,如果你有一個文件(FILENAME.TXT),其中包含每行的名稱,從cprompt調用該程序: java Example < filename.txt
這是很好的測試...
- 1. 有沒有一種方法可以比較數組和數組列表?
- 2. 有沒有一種更簡單的方法可以使許多輸入相等?
- 3. 有沒有一種方法可以將flv文件嵌入到java表單中?
- 4. 有沒有一種簡單的方法可以將Scaladoc集成到IntelliJ Idea中?
- 5. 有沒有簡單的方法從數組中刪除項目?
- 6. 有沒有一種方法可以在python中輸入文字?
- 7. 有沒有一種方法可以接收外焦表單的關鍵輸入?
- 8. 有沒有一種方法可以將舊Xcode項目中的代碼與新的Xcode項目進行比較?
- 9. 有沒有一種簡單的方法將HTTP請求列入白名單ngMockE2E
- 10. Android - 有沒有一種方法可以將選項菜單添加到列表項中
- 11. Shiro:有沒有一種方法可以在我的項目
- 12. 當然有一種簡單的方法可以將附加列表項「綁定」到現有的UL上?
- 13. 有沒有一種方法可以將數據綁定單個項目,例如:一個Repeater控件?
- 14. 有沒有一種簡單的方法可以在C++中創建最小堆?
- 15. SQL - 有沒有一種方法可以隱藏select中的列?
- 16. 有沒有一種簡單的方法可以將複雜類的對象寫入java的文件中?
- 17. 有沒有一種簡單的方法在Fortran中查找索引數組零?
- 18. 有沒有一種簡單的方法在Crystal中對數組進行排序?
- 19. 有沒有一種更簡單的方法將一個水平滾動條添加到ASP中的列表框?
- 20. 有沒有一種簡單的方法將Java applet合併到ASP.NET頁面中?
- 21. 有沒有一種方法可以提高我簡單的textfilter的性能?
- 22. 有沒有一種方法可以防止用戶輸入數字()
- 23. 有沒有一種方法可以找到網站列表的規範域名?
- 24. 有沒有一種簡單的方法可以讓gcc忽略crtbegin.o/crtend.o?
- 25. 有沒有一種簡單的方法在Python中編寫它?
- 26. 有沒有一種方法可以在Eclipse中查找/替換整個項目?
- 27. 有沒有一種方法可以有效地與事先獲得項目集?
- 28. 有沒有辦法將一個簡單的IDE嵌入到HTML表單中?
- 29. PHP:有沒有簡單的方法來解析數組列表(如字符串,如「1-3,5,7-9」)到數組中?
- 30. 有沒有一種簡單的方法來分配一組變量到每個數組的值在PHP中?
有很多教程可以從Java文件加載數據;你有沒有試過這些? –
是的,但我猜對我來說是令人困惑的部分是文件位置,它總是出錯,但我想通了。我如何使用這個並使數組成爲實例變量?我爲它做了一個方法,但我不能在方法 – Renuz