2013-05-10 84 views
-1

我正在做一個低效率的計算器類型的程序,它從用戶定義數組中獲取值並將它們插入到用戶也定義的公式中。要做到這一點,我需要讓我的程序將我的字符串更改爲char數組,這個問題呢?我有它,以便用戶必須使用A1-10來引用定義的索引,我找不到一種方法來使程序搜索下一個數組的數組來指定程序正在訪問的數組。獲取數組索引從string.toCharArray()

out.println("Please input a string of commands in a format similar to this: "); 
out.println("([A1]-[A2]=) or ([A8]+[A6]=) or ([A1]-[A4]+[A7]*[A10]/[A3]=)"); 
out.println("Use only the numbers 1-10 when referencing an array. \n You may always type in 'Help' if you need help. "); 
String eString = scn.nextLine(); 

if ("help".equals(eString)) { 
    out.println("Figure it our yourself..."); 
} else { 
    for (char c: eString.toCharArray()) { 
     if (c == 'A') { 


     } 
    } 

代碼在改變代碼時變得有點混亂,我沒有花時間讓它看起來很漂亮又珍珠。

+0

可以共享包含實際數字來輸入的樣子,以及如何輸出的例子看起來。 – Arham 2013-05-10 18:12:31

+0

你的第一個錯誤:「我沒有花時間讓它看起來很漂亮和珍珠似的」 – jlordo 2013-05-10 18:17:50

+0

我現在修好了......只是不在這裏。 – Elicatroth 2013-05-10 18:52:21

回答

2

如果你需要索引,你應該使用正常的循環,而不是增強的for循環。

char[] input = eString.toCharArray(); 
for(int i = 0; i < input.length; i++) { 
    if(input[i] == 'A'){ 
     // You know the index of A here. 
    } 
} 

你也應該使用"help".equalsIgnoreCase(eString)的幫助比較時,讓他們可以輸入"Help""help"link to doc

+0

想對OP說,你還需要一個'char []數組'來獲取你命名'input'的'String'轉換。做得好! – Tdorno 2013-05-10 18:10:30

+0

當然!你們很快!謝謝您的幫助。我會試一試,讓你知道它對我的影響! – Elicatroth 2013-05-10 18:31:13

+0

如果有效,請確保[接受](http://meta.stackexchange.com/a/5235/204175)答案。 – FDinoff 2013-05-10 18:32:30