2013-02-22 76 views
0

基本上我使用三重串设计一个老虎机在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()部分尚未

+0

STR1()不是一个方法,所以这是不确定的。尝试返回“str1”而不是“str1()”。 (而且,我还没有审查所有的代码,只是说,你的错误消息,是因为你试图返回的方法。) – 2013-02-22 22:41:24

+0

试了一下,它说,它无法解析“STR1”作为一个变量 – eflam117 2013-02-22 22:46:46

回答

1

在这种方法中

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;  
} 
+0

我不是完全通过将它们定义为成员来确定你的意思。我该怎么做呢? – eflam117 2013-02-22 22:46:23

+0

已编辑我的答案。你在这里遇到的问题比简单的错误分配还要多。 – 2013-02-22 22:47:24

+0

不幸的是,当我这样做,它告诉我,返回的字符串的方法是未定义三重字符串,它不是利用一组琴弦方法的值作为ID希望 – eflam117 2013-02-22 22:52:54

1

应该像改变“return str1();”到“返回str1;”。在最后加上括号表示您要返回通过调用方法str1()返回的值。但是str1不是一个方法,它会是一个String。

但是这些都是未申报的。你应该返回string1,因为这就是你实际声明的内容。而且我会改变你的getters的外壳以保持一致。

所以基本上:

public String getStr1(){  
    return string1;  
} 

public String getStr2(){  
    return string2;  
} 

public String getStr3(){  
    return string3;  
}