Get/Set 方法中的验证 Java

Validation within Get/Set Methods Java

我有以下代码使用 get/set methods.Only 字符串验证用户输入 acceptable.The while 循环应该继续执行直到用户输入正确的数据 type.However,尽管识别出不正确的数据,我的 while 循环仍继续执行 types.Suggestions?

public class SetGet {
    public static void main(String[]args)
    {
        Fraction a=new Fraction();
        Scanner sc=new Scanner(System.in);
        String name;


        boolean type=false;

        while(type==false)
        {
        System.out.println("Enter first name: ");
        name=sc.nextLine();

        a.setfirstName(name,type);
        }

        System.out.println("Name: "+a.getfirstName());
        }

}



public class Fraction {
    private String FirstName;


    public void setfirstName(String firstName,boolean type)
    {

        try
            {
            Integer.parseInt(firstName);
            System.out.println("Invalid "+type);

            }
        catch(Exception e)
        {
            try
            {
                Double.parseDouble(firstName);
                System.out.println("Invalid "+type);
            }
            catch(Exception f)
            {
            type=true;
            this.FirstName=firstName;
            System.out.println("Valid "+type);

            }

        }

    }
    public String getfirstName()
    {
        return FirstName;
    }
}

布尔值是一种原始数据类型,因此只能按值传递。只有对象通过引用传递。所以你有两个选择。

  1. 要么将原始布尔值设为布尔对象(因为这将通过引用传递)。
  2. 或者让方法 return 有一个布尔值是否终止循环

希望对您有所帮助