【发布时间】:2016-09-08 20:55:10
【问题描述】:
我还是个新手,但我想现在就开始正确编码,而不是以后。如果我错了,请纠正我,但方法应该是程序的自给自足和独立功能。那么这是否意味着给定方法需要操作的所有内容都应该在该方法中实例化?我不知道内存是如何运作的,但是如果多次使用以下方法,理论上是不是也创建了它的局部变量的多个实例?如果我运行这个方法 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;
}
【问题讨论】:
-
欢迎来到 Stack Overflow!请查看tour,环顾四周,并通读help center,尤其是How do I ask a good question? 和What types of questions should I avoid asking? 对于SO 的格式,这个问题过于宽泛,而且可能也过于基于意见。 (不是我的反对票;我确实投票结束)