gpt4 book ai didi

java - 尝试制作决策树

转载 作者:行者123 更新时间:2023-12-01 12:28:52 30 4
gpt4 key购买 nike

Name    Hair    Eyes    Shirt   Glasses Smiling Hat
Alice BROWN BLUE GREEN YES YES NO
Bob BROWN BROWN GREEN YES NO YES
Dave BROWN BROWN GREEN NO YES YES
Emily BROWN HAZEL RED YES YES YES
Frank BROWN GREEN GREEN YES YES NO
Isabelle BROWN HAZEL GREEN YES YES NO
Mallie BROWN BLUE RED YES YES NO
Nick BROWN BLUE RED NO YES NO
Philip BROWN GREEN RED NO YES NO
Quinn BROWN BROWN RED NO YES NO
Robert BROWN BROWN RED NO YES YES
Tucker BROWN BLUE BLUE NO YES NO
Wendy BROWN BLUE RED YES NO NO
Zander BROWN BROWN BLUE NO YES NO

我有这些角色,我试图制作一个像这样的决策树

 if (g.hairIsColor(Color.BROWN)) 
{
if(g.isWearingGlasses())
{
if(g.shirtIsColor(Color.GREEN))
{
k = "Bob";
if(g.eyeIsColor(Color.GREEN))
{
k = "Frank";
}
if(g.eyeIsColor(Color.BLUE))
{
k = "Alice";
break outerloop;
}
if(g.eyeIsColor(Color.HAZEL))
{
k = "Isabelle";
}
}
if(g.eyeIsColor(Color.HAZEL))
k = "Emily";
if (g.isSmiling())
k = "Mallie";
}
else if(g.eyeIsColor(Color.BROWN))
{
if (g.shirtIsColor(Color.RED))
{
if(g.isWearingHat())
k = "Robert";
else
k = "Quinn";
}
else if(g.shirtIsColor(Color.GREEN))
k = "Dave";
else
k = "Zander";
}
else if(g.shirtIsColor(Color.RED))
{
if(g.eyeIsColor(Color.BLUE))
k = "Nick";
if(g.eyeIsColor(Color.GREEN))
k = "Philip";
}
else if(g.eyeIsColor(Color.BLUE) && g.shirtIsColor(Color.BLUE))
k = "Tucker";
}

不幸的是,每个角色都尝试了太多次,想知道是否有人可以帮助我?我试图将每个角色的尝试次数控制在 10 次或以下,但使用 if 语句似乎无法达到 50%有什么帮助吗?我已经整理了其他头发颜色,但棕色给我带来了麻烦

最佳答案

不要使用 if-then-else 来执行此操作。

  1. 创建一个名为 Key 的新类保存属性
  2. 确保类(class)具有有效的 hashCode()equals()方法
  3. 创建 Map<Key,String>并使用您帖子中表格的内容对其进行初始化

当您需要查找某人时,请创建一个新的 Key并设置属性的值,将其用作 map 中的查找键。如:

Key k = new Key(name, hair, eyes, shirt, glasses, hat, smiling, ...whatever);
String name = map.get(key);

关于java - 尝试制作决策树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26111143/

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