【问题标题】:problems when declaring and assigning a value to a variable声明和赋值给变量时的问题
【发布时间】:2016-05-04 09:31:36
【问题描述】:

我有这个类,有一个名为 Palabra 的变量,但我不知道如何声明它。

public Paraula() {
    lletres = new char[MAXIM];
    llargaria = 0;
}

public static Paraula llegir() {
    Paraula nova = new Paraula();
    botarBlancs();
    while ((lletra != fiSequencia) && // No ha acabat la seqüència
            (lletra != blanc)) { // Hi ha prou espai
        nova.lletres[nova.llargaria++] = lletra;
        lletra = leerCarTeclado();
    }
    return nova;
}

public String toString() {
    String msg = "";
    for (int idx = 0; idx < llargaria; idx++) {
        msg += lletres[idx];
    }
    return msg;
}

public boolean esIgualA(Paraula b) {
    boolean iguals = llargaria == b.llargaria;
    for (int idx = 0; (idx < llargaria) && iguals; idx++) {
        iguals = lletres[idx] == b.lletres[idx];
    }
    return iguals;
}

public static boolean iguals(Paraula a, Paraula b) {
    return a.esIgualA(b);
}

public boolean buida() {
    return llargaria == 0;
}

public static void botarBlancs() {
    while (lletra == blanc) {
        lletra = leerCarTeclado();
    }
}

public static void botarParaula() throws Exception {
    while ((lletra != '.') && (lletra != blanc)) {
        lletra = leerCarTeclado();
    }
}
static public char leerCarTeclado() {
    char res = '.';
    if (frase != null) {
        res = frase[indice++];
    }
    return res;
}

有人可以帮助我吗? 我正在尝试声明两个 Paraula 变量,然后将它们与上述方法之一进行比较,但是我在尝试为 Paraula 赋值时遇到了麻烦。我真的被困住了,我需要帮助。我觉得不可能这么复杂!!!但我不知道我做错了什么。

Paraula tipo;
tipo=Paraula.llegir();
Paraula tipo1;
tipo1 = {'t','1'};  // here's where it doesn't work - (illegal start of expression)

我该怎么做??

谢谢!!

【问题讨论】:

    标签: java variables variable-assignment declaration


    【解决方案1】:

    tipo1 = {'t','1'}; // 这就是它不起作用的地方 - (非法启动 表达方式)

    改用这个结构:

    Paraula tipo1;
    tipo1 = { 
         lletres[0] = 't',
         llargaria = 1
    };
    

    您的代码错过了定义哪个常量属于哪个变量。此外,您尝试将 1 设置为 char ('1') 而不是 int (1);

    【讨论】:

    • 谢谢,但是写tipo1= { 报告一个非法的表达式开始。有任何想法吗? @帕维尔
    • 作为声明 llargaria 表示长度 @Pavel ,所以我想我必须设置 lletres[0], lletres[1] 然后 llargaria=2 ,对吧?
    • @Maria 是的,你需要这样做。该错字的问题是您需要指定,您将什么分配给什么变量。
    • 但是我该如何改变它,使它不说非法的表达开始? @帕维尔
    • @Maria 这正是我在回答中的代码。我编译它并且代码通过编译没有任何麻烦。只需将您的 type1 作业替换为我的作业即可。 (并根据需要进行修改)
    【解决方案2】:

    写了这个并报告了一个非法的表达式开始

            Paraula tipo1;
            tipo1 = {
                Paraula.lletres[0] = 't';
                Paraula.lletres[1]='1';
                Paraula.llargaria = 2;
            }
    

    【讨论】:

    • 你能检查一下吗? @Pavel Pája Halbich
    • 这是不可能的,因为lletres 和llargaria 没有被标记为静态。请问:你用的是Java还是JavaScript?因为你的语法更像 JavaScript 而不是 Java。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2012-11-03
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多