2016-11-26 9 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文で** ref()**とは何ですか? – 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

あなたのメソッドが返す何もせずに。あなたはreturn文の前に何をしなければなりませんか。また、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を使用します。

関連する問題