2016-11-26 43 views
-2

我是java的新手,我創建了一套方法手冊參考號,因此它只接受3個字符。我在下面嘗試了我的代碼,但它不正確。Java的設置方法

public void setRefNumber(String ref) 
{ 
    System.out.println("hello " + ref()); 
     if(ref.length() ==3) 
{ 
     return; 
} 
    System.out.println("Fail...Your reference number mis too short"); 
} 
+2

** print()**在你的print語句中是什麼? – PVR

回答

0
class Main { 
    public static void main(String[] args) { 
    setRefNumber("123"); 
    setRefNumber("1234"); 
    setRefNumber("12"); 
    setRefNumber("aa"); //to show you that you are not checking if the passed parameter is even a number currently 
    } 

    public static void setRefNumber(String ref) { 
    if(ref.length() >= 3) { 
     System.out.println("hello " + ref); 
     return; 
    } else { 
     System.out.println("Fail...Your reference number " + ref + " is too short"); 
    } 
    } 
} 

輸出:

hello 123 
hello 1234 
Fail...Your reference number 12 is too short 
Fail...Your reference number aa is too short 

嘗試here!

0

ref是一個變量而不是一個方法。所以ref()應該是ref
此外,您不會在當前實例中設置ref字段。
如果3太短根據輸出消息:

System.out.println("Fail...Your reference number mis too short"); 

你應該在條件做<3
一般來說,處理方法開始時的錯誤情況或儘快將錯誤情況與名義情況分開(快速失敗原則)。

下面的例子:沒有做任何事情

private String ref; 
public void setRefNumber(String ref) { 
    System.out.println("hello " + ref);  
    if(ref.length() < 3){ 
     System.out.println("Fail...Your reference number mis too short"); 
     return; 
    } 
    this.ref=ref; 

} 
-1

你的方法返回。在回覆聲明前做你必須做的事。此外,如果您同時提供if和else兩個部分,則您的方法類型已無效時不必使用return。

public void setRefNumber(String ref) { 
    // it could be null too 
    if (ref == null) { 
    System.out.println("Cannot be null); 
    return; 
    } 
    System.out.println("hello " + ref); 
    if(ref.length() == 3) { 
    // set ref here 
    System.out.println("Success"); 
    // return; 
    } else { 
    System.out.println("Fail...Your reference number is too short/long"); 
    } 
} 

和其他人一樣指出。 ref是變量不是方法。使用ref而不是ref()。