首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Lojban中计数,从0到9的数字是:0 no 1 pa 2 re 3 ci 4 vo 5 mk 6 xa 7 ze 8 bi 9

在Lojban中计数,从0到9的数字是:0 no 1 pa 2 re 3 ci 4 vo 5 mk 6 xa 7 ze 8 bi 9
EN

Stack Overflow用户
提问于 2013-10-05 08:02:46
回答 1查看 499关注 0票数 1

Lojban是一种在过去40年里发展起来的人工语言,它比大多数语言中从0到9的数字更容易计数:

代码语言:javascript
复制
0  no
1  pa
2  re
3  ci
4  vo
5  mk
6  xa
7  ze
8  bi
9  so

更大的数字是通过将数字粘合在一起而产生的。例如,123是"pareci“。编写一个读入lojban字符串的程序(表示no。小于或等于1,000,000),并以数字形式输出。

我不知道发生了什么;我的程序似乎没有检查if语句if (str.substring(i-2,i) == q[ale])。循环的其余部分工作正常。有什么建议吗?

代码语言:javascript
复制
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" ); 
                    }
                }
            }
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-10-05 08:14:16

正如@Makoto所说,和that question explains一样,使用==不是比较字符串的方式。相反,请使用

代码语言:javascript
复制
str.substring(i-2,i).equals(q[ale]);

如果两端引用相同的对象,==运算符将返回true。如果对象是相等的,则不会。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19192508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档