まだ初心者ですが、今は適切にコーディングを開始したいと思います。私が間違っていれば私を訂正してください。しかし、メソッドはプログラムの自己充分で独立した機能でなければなりません。つまり、これは、のメソッドが、そのメソッド内でインスタンス化される必要があるすべてのメソッドがであることを意味しますか?私はメモリがどのように動作するかを知りませんが、以下のメソッドが複数回使用される場合、理論的には複数のインスタンスをローカル変数として作成していませんか?私はこのメソッドを100回実行した場合、私は100文字列変数をメモリに持たないでしょう(文字列は最終的なので)、私のスキャナ変数を100回インスタンス化しましたか?私が正しく理解すれば、メンバ変数はオブジェクトの属性に対して特別に宣言されます。オブジェクトには正規表現変数が含まれていないので、それを参照してください。そのため、メンバー変数宣言から除外しています。ローカル変数とメンバ変数の適切なコード配置
このメソッドは、クラスに実装することができ、手間がかかりません。私の理解から、方法を作る正しい方法です。
これが標準であれば、この方法でもメソッドを作成し続けます。あなたがメンバーとローカル変数の配置を批評したり解説したりすることはできますか?
/**
* Verifies proper phone number format.
* @param phone
*/
public void checkPhone(String phone)
{
//local scanner variable***
Scanner in= new Scanner(System.in);
//regex***
String phoneRegex = "\\d{3}-\\d{3}-\\d{4}";
while(!phone.matches(phoneRegex))
{
System.out.println("You have entered an invalid phone format.");
System.out.println("Proper format example: 123-999-1234");
System.out.print("Re-enter phone number: ");
phone = in.nextLine();
}
this.mPhoneNumber = phone;
}
ようこそスタックオーバーフロー! [ツアー]を見て周りを見て、[ヘルプ]、特に[*どのように良い質問をしますか?*](/助け/やり方)と[* *](/ help/dont-ask)この質問はあまりにも広範で、おそらくあまりにも意見を基にして、SOの形式については質問しません。 *(私のダウンボートではなく、私は投票に投票しました)* –