1
在Lojban計數,這是一個在 最近四十年發展的人造語言,是在Lojban計數,從零到九的數字是:0沒有1 pa 2 re 3 ci 4 vo 5 mk 6 xa 7 ze 8 bi 9
0 no
1 pa
2 re
3 ci
4 vo
5 mk
6 xa
7 ze
8 bi
9 so
較大的數字通過膠合數字一起創建:比大多數語言 從0到9的數字更容易。 例如,123是「pareci」。 編寫一個讀入lojban字符串(代表 ,編號小於或等於1,000,000)的程序並將其輸出爲 數字。
我不知道發生了什麼;看來我的程序沒有檢查if語句if (str.substring(i-2,i) == q[ale])
。循環的其餘部分工作正常。有什麼建議?
public class apple {
public static void main(String[] args) {
String [] q =
new String[10];//"no","pa","re","ci","vo","mk","xa","ze","bi","so"];
q[0] = "no";
q[1] = "pa";
q[2] = "re";
q[3] = "so";
q[4] = "ci";
q[5] = "vo";
q[6] = "mk";
q[7] = "xa";
q[8] = "ze";
q[9] = "bi";
//q[0] = "so";
int ln;
String str = "nocipa";
ln = str.length();
if (ln % 2 != 0)
{
System.out.println("Invalid number");
}
else
{
for (int i = 2; i <=ln-2; i = i + 2)
{
for (int ale = 0; ale < 9; ale++)
{
if (str.substring(i-2,i) == q[ale])
{
System.out.print("hello");
}
}
}
}
}
}
另外,對於它的價值,測試字符串的長度是否是偶數*並不足以測試它是否是有效數字。必要,但不夠。 – John
並且在聲明的數字列表中存在不一致:3是「ci」(在您的解釋中)或「so」(在您的代碼中)? – Matthieu