援助与Java*
问题描述:
基本上我使用三重串设计一个*在Java和我有一个小问题,它,到目前为止,我有:援助与Java*
class TripleString {
public static final int MAX_LEN = 20;
private String string1;
private String string2;
private String string3;
TripleString()
{
string1 ="";
string2 ="";
string3 ="";
}
public void setTripleString (String str1, String str2, String str3) {
string1 = str1;
string2 = str2;
string3 = str3;
}
public void setStrings(String s1, String s2, String s3){
String str1 = s1; String str2 = s2; String str3 = s3;
}
public String getstr1(){
return str1();
}
public String getStr2(){
return str2();
}
public String getstr3(){
return str3();
}
private boolean vaildString(String str) {
if (str.length() >0 && str.length() <= MAX_LEN) {
return true;
}
else {
return false;
}
}
}
我现在有正确的问题是,当我尝试返回str1,2和3我得到一个错误,说“方法str1是未定义的类型tripleString()”有谁知道我该如何解决这个问题?
编辑:这是所谓的三串的*类,我使用来定义字符串,而不是整个程序的其他部分。我还没有开始的getBet()部分尚未
答
在这种方法中
public void setStrings(String s1, String s2, String s3){
String str1 = s1; String str2 = s2; String str3 = s3;
}
你定义和设置三根弦,然后离开setStrings
方法的范围,造成串蒸发。
其实,你可能想要做的是这样的:
public void setStrings(String s1, String s2, String s3){
string1 = s1;
string2 = s2;
string3 = s3;
}
哪个你已经在这里做什么呢:
public void setTripleString (String str1, String str2, String str3) {
string1 = str1;
string2 = str2;
string3 = str3;
}
这:
public String getstr1(){
return str1();
}
public String getStr2(){
return str2();
}
public String getstr3(){
return str3();
}
也许应该是这样的:
public String getstring1(){
return string1;
}
public String getString2(){
return string2;
}
public String getstring3(){
return string3;
}
答
应该像改变“return str1();”到“返回str1;”。在最后加上括号表示您要返回通过调用方法str1()返回的值。但是str1不是一个方法,它会是一个String。
但是这些都是未申报的。你应该返回string1,因为这就是你实际声明的内容。而且我会改变你的getters的外壳以保持一致。
所以基本上:
public String getStr1(){
return string1;
}
public String getStr2(){
return string2;
}
public String getStr3(){
return string3;
}
STR1()不是一个方法,所以这是不确定的。尝试返回“str1”而不是“str1()”。 (而且,我还没有审查所有的代码,只是说,你的错误消息,是因为你试图返回的方法。) – 2013-02-22 22:41:24
试了一下,它说,它无法解析“STR1”作为一个变量 – eflam117 2013-02-22 22:46:46