声明和分配变量
declaring and assigning variable
这个 class 有一个名为 Paraula 的变量,我在给它赋值时遇到了问题。
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 的变量:tipo(使用从字符序列读取的方法 llegir())和 tipo1:
Paraula tipo;
tipo = Paraula.llegir();
Paraula tipo1;
tipo1 = {
Paraula.lletres[0] = 't';
Paraula.lletres[1]='1';
Paraula.llargaria = 2;
}
当我声明 tipo1 时,它报告表达式的非法开始。代码有什么问题?
谢谢!
When I declare tipo1 it reports an illegal start of expression. What's wrong with the code?
您编写的代码对 java 无效。试试这个方法:
Paraula tipo1 = new Paraula();
tipo1.lletres[0] = 't';
tipo1.lletres[1] = '1';
tipo1.llargaria = 2;
而不是写下面的 id 无效 Java,
Paraula tipo1;
tipo1 = {
Paraula.lletres[0] = 't';
Paraula.lletres[1]='1';
Paraula.llargaria = 2;
也许你打算写
Paraula tipo1 = new Paraula();
tipo1.lletres[0] = 't';
tipo1.lletres[1]='1';
tipo1.llargaria = 2;
然而,更简洁的方法是将字符串传递给构造函数
Paraula tipo1 = new Paraula("t1");
你的构造函数在哪里
public Paraula(String s) {
lletres = s.toCharArray();
llargaria = lletres.length;
}
您没有正确初始化 tipo1
。要定义一个新的 Paraula
对象,您需要调用构造函数。 (tipo
初始化好,但这也不太合适)。考虑这样的构造函数:
public Paraula(char[] c, int i) {
lletres = c;
llargaria = i;
}
tipo1 初始化
tipo1 = new Paraula(new char[]{'t','1'}, 2);
这个 class 有一个名为 Paraula 的变量,我在给它赋值时遇到了问题。
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 的变量:tipo(使用从字符序列读取的方法 llegir())和 tipo1:
Paraula tipo;
tipo = Paraula.llegir();
Paraula tipo1;
tipo1 = {
Paraula.lletres[0] = 't';
Paraula.lletres[1]='1';
Paraula.llargaria = 2;
}
当我声明 tipo1 时,它报告表达式的非法开始。代码有什么问题?
谢谢!
When I declare tipo1 it reports an illegal start of expression. What's wrong with the code?
您编写的代码对 java 无效。试试这个方法:
Paraula tipo1 = new Paraula();
tipo1.lletres[0] = 't';
tipo1.lletres[1] = '1';
tipo1.llargaria = 2;
而不是写下面的 id 无效 Java,
Paraula tipo1;
tipo1 = {
Paraula.lletres[0] = 't';
Paraula.lletres[1]='1';
Paraula.llargaria = 2;
也许你打算写
Paraula tipo1 = new Paraula();
tipo1.lletres[0] = 't';
tipo1.lletres[1]='1';
tipo1.llargaria = 2;
然而,更简洁的方法是将字符串传递给构造函数
Paraula tipo1 = new Paraula("t1");
你的构造函数在哪里
public Paraula(String s) {
lletres = s.toCharArray();
llargaria = lletres.length;
}
您没有正确初始化 tipo1
。要定义一个新的 Paraula
对象,您需要调用构造函数。 (tipo
初始化好,但这也不太合适)。考虑这样的构造函数:
public Paraula(char[] c, int i) {
lletres = c;
llargaria = i;
}
tipo1 初始化
tipo1 = new Paraula(new char[]{'t','1'}, 2);