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;
}
}
布尔值是一种原始数据类型,因此只能按值传递。只有对象通过引用传递。所以你有两个选择。
- 要么将原始布尔值设为布尔对象(因为这将通过引用传递)。
- 或者让方法 return 有一个布尔值是否终止循环
希望对您有所帮助
我有以下代码使用 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;
}
}
布尔值是一种原始数据类型,因此只能按值传递。只有对象通过引用传递。所以你有两个选择。
- 要么将原始布尔值设为布尔对象(因为这将通过引用传递)。
- 或者让方法 return 有一个布尔值是否终止循环
希望对您有所帮助