2016-01-27 55 views
-2

我有这个类,有一个名为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) 

我该怎么做?

谢谢!

回答

0

tipo1 = {'t','1'}; //这里的地方它不工作 - (表达非法启动 )

使用此结构来代替:

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

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

+0

谢谢你的非法启动,但是写tipo1 = {报告表达的非法启动。有任何想法吗? @Pavel – Johnny

+0

作为llargaria意味着长度@Pavel,所以我想我必须设置lletres [0],lletres [1]然后llargaria = 2,对吧? – Johnny

+0

@Maria是的,你需要这样做。该错字的问题在于,您需要指定,您将什么分配给哪个变量。 –

0

写到这,并报告表达

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

您能查看一下吗? @PavelPájaHalbich – Johnny

+0

这是不可能的,因为'lletres'和'llargaria'没有标记为静态。请问:你使用Java还是JavaScript?因为你的语法比Java更像JavaScript。 –