如果字符串的输入是空格或enter(不存在任何内容),如何调用构造函数

qq24tv8q  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(191)

如果用户没有输入字符串(或输入空格),我希望代码从构造函数color=“red”返回“red”。
现在发生的情况是,用户的输入返回空格或仅返回enter键。
谢谢你的帮助!
我的测试代码将学习以下内容:

import java.util.Scanner;
public class Testing_Constructors {

    public static void main(String[] args) {

        Constructor_Object object = new Constructor_Object(); 
        Constructor_Object object2 = new Constructor_Object("blue"); 

        System.out.println("object getting auto constructor color:\n" + object.getColor());
        System.out.println("object2 getting the color setted when create the obj"+
        "-> contructor need to have this.color to set parameter\n" 
                            + object2.getColor());

        Scanner input = new Scanner(System.in);
        System.out.println("Input color: ");
        String color = input.nextLine();
        input.close();

        //setter for save input info
        object.setColor(color);
        object2.setColor(color);

        System.out.println("output from setter&getter\n object:\n" + object.getColor());
        System.out.println(" output from object2: " + object2.getColor());
    }
}
//OBJ CLASS

public class Constructor_Object {
    private String color;

    //no args constructor 
    public Constructor_Object(){
        color = "red";
    }

    public Constructor_Object(String color){
        this.color = color;
    }

    //setter 
    public void setColor(String color){
        this.color = color;
    }
    //getter 
    public String getColor(){
        return color;
    }

}
jecbmhm3

jecbmhm31#

我发现了我试图做的事情,在对象类的setter中,我添加了这段代码,以验证是否没有字符,以及如果用户只需按大量空格并输入,则是否为空。

public void setColor(String color){
    if(color.length() == 0 || color.trim().isEmpty()){
        System.out.println(getColor());
    }else{
    this.color = color;
}
}

相关问题