某些验证方法有麻烦

问题描述 投票:0回答:1

我在一些作业上有点麻烦

首先,他们要我创建一种方法来检查属性type是否为以下三种类型之一:mountainfixiecross-country。我该怎么做?

其次,他们希望我创建一种方法来修复字符串model(如果包含特殊字符)。我创建了方法private boolean isValidModel(String model)进行检查,但不确定我的固定方法是否正确。

最后,如何创建如下所述的自行车类的多个实例?

供参考,问题在下面。

任何帮助将不胜感激

编写一个名为Bike的类,该类具有三个私有属性:model,type,year-为属性提供getter和setter。不允许在属性中存储无效数据-年应为正数,模型应仅包含字母,数字和空格,类型应为以下之一:山峰,定居点,越野。提供专用方法来验证模型并在更改模型时使用它,还提供从模型中删除所有无效字符的方法,以便可以将新的String保存到模型属性中。

private boolean isValidModel(String model)private String fixModel(String model)//将返回模型,并删除无效字符

还提供公共方法显示,其中显示有关自行车的信息:公共无效的display()编写一个主程序来创建Bike类的多个实例,尝试将无效数据设置为属性,并在每次更改后调用显示。

public class Bike
{

// Instance field
private String model;
private String type;
private int year;





public Bike(String model, String type, int year )
{
     model = unknown;
     type = unknown;
     year = unknown;
}

//getters
public String getModel()
{
     return model;
}

public String getType()
{
     return type;
}


public int getYear()
{
     return year;
}

//setters
public void setModel( String model )
{

     model = N/A;
}

public void setType( String type )
{

     type = N/A;
}

public void setYear( int year )
{
  if(year < 1970)
     year = 1970;
}










private boolean isValidModel(String model){

int len = model.length();
      for (int i = 0; i < len; i++) {

         if ((Character.isLetterOrDigit(model.charAt(i)) == false) && model.charAt(i)!=' ') {
            return false;
         }
      }
      return true;

}


private String fixModel(String model){


model= model.replaceAll("[^A-Za-z0-9]","");



}






public void display(){

System.out.println("Year: "+year+" Model: "+model+"Type: "+type);


}
java class object constructor getter-setter
1个回答
0
投票

您可以使用其他方法检查模型是否有效,我确实选择使用RegEx。如果仍要使用解决方案,则必须将“ &&”(与)符号更改为“ ||” (OR)符号。

© www.soinside.com 2019 - 2024. All rights reserved.