gpt4 book ai didi

java - 将冗余 if 语句缩短为单个方法 (Java)

转载 作者:行者123 更新时间:2023-12-01 22:00:27 24 4
gpt4 key购买 nike

如何在方法中编写这部分代码以使其更短?有没有办法获取输入并将其用于操作?示例:用户输入白色,它将替换 bgColor = Color.x; 中的 x;我只是想摆脱所有的 if 语句。

    sg.print("Please enter a background color");

String colorString = sg.keyReadString();
Color bgColor = DEFAULT_COLOR;

if("white".equalsIgnoreCase(colorString))
{
bgColor = Color.WHITE;
}
else if("red".equalsIgnoreCase(colorString))
{
bgColor = Color.RED;
}
else if("orange".equalsIgnoreCase(colorString))
{
bgColor = Color.ORANGE;
}
else if("yellow".equalsIgnoreCase(colorString))
{
bgColor = Color.YELLOW;
}
else if("green".equalsIgnoreCase(colorString))
{
bgColor = Color.GREEN;
}
else if("blue".equalsIgnoreCase(colorString))
{
bgColor = Color.BLUE;
}
else if("gray".equalsIgnoreCase(colorString))
{
bgColor = Color.GRAY;
}
else if("magenta".equalsIgnoreCase(colorString))
{
bgColor = Color.MAGENTA;
}
else if("cyan".equalsIgnoreCase(colorString))
{
bgColor = Color.CYAN;
}
else if("pink".equalsIgnoreCase(colorString))
{
bgColor = Color.PINK;
}
else
{
sg.print("couldn't understand your color, so defaulting to black");
}

sg.setBackgroundColor(bgColor);

最佳答案

或者您可以轻松地将所有需要的颜色放入 map 中,并从 map 中过滤给定的颜色

Color bgColor;
String givenColor="blUe";
Map<String, Color> colors = new HashMap<>();
colors.put("RED", Color.RED);
colors.put("BLUE", Color.BLUE);
colors.put("WHITE", Color.WHITE);
colors.put("GREEN", Color.GREEN);

bgColor=colors.get(givenColor.toUpperCase());

关于java - 将冗余 if 语句缩短为单个方法 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33602031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com