gpt4 book ai didi

java - 火焰游戏逻辑使用 java 给出错误结果?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:22:33 25 4
gpt4 key购买 nike

我在这里创建了一个火焰游戏逻辑,它是最终字符串长度是正确的(例如:4 用于两个字符串 'raja' 和 'rani')基于长度我需要显示 'f' 或 'l' 或 'a ' 或 'm' 或 'e' 或 's'。我已经根据字符可见的长度编写了逻辑,但这不是我关心的。对于长度 4,结果应该是 'e'(在长度为 4 的火焰中,第一个 'm' 应该删除然后 'l' 然后 'f' 然后 'a' 然后 's' 最后我需要 'e' 作为输出。谁能告诉我想法。这是我的代码。

public static void main(String[] args) {
String name1 = "raja";
String name2 = "rani";
String s1 = name1;
String s2 = name2;
for (int i = 0; i < name1.length(); i++) {
for (int j = 0; j < name2.length(); j++) {
if (name1.charAt(i) == name2.charAt(j)) {
name1 = name1.replaceFirst(String.valueOf(name1.charAt(i)), "#");
name2 = name2.replaceFirst(String.valueOf(name2.charAt(j)), "#");
}
}
}
String result = name1 + name2;
result = result.replaceAll("#", "");
int resultLength = result.length();
String baseInput = "flames";
char relationIs = 0;
int temp = 0;
if (resultLength > 0) {
temp = resultLength % baseInput.length();
}
if (temp == 0 && resultLength >= 6) {
relationIs = 's';
} else {
int count = temp - 1;
if (count >= 0) {
relationIs = baseInput.charAt(count);
System.out.println("Relation Betw " + s1 + " and " + s2 + " is:");
}
}
switch (relationIs) {
case 'f':
System.out.println("friendship");
break;
case 'l':
System.out.println("Lovers");
break;
case 'a':
System.out.println("Affection");
break;
case 'm':
System.out.println("Marriage");
break;
case 'e':
System.out.println("Enemity");
break;
case 's':
System.out.println("Siblings");
break;
default:
System.out.println("FLAME Test works only for different names");
break;
}
}

逻辑遵循这样的顺序:只有正向删除4个字符。

if length=4
step 0:flames ('f' as 1)
step 1:flaes (here 'e' as 1)
step 2:faes (here 'a' as 1)
step 3:aes (here 'a' as 1)
step 4:es (here 'e' as 1)
step 5:e //output.

我们将不胜感激。

最佳答案

希望这就是您所需要的。我在这里敲击火焰这个词的字符,直到我得到一个字符。一旦我得到了火焰的结果。

 if (resultLength > 0) {
while (baseInput.length() !=1)
{
System.out.println(baseInput);
int tmpLen = resultLength % baseInput.length(); //finding char position to strike
if(tmpLen != 0)
{
temp = baseInput.substring(tmpLen) + baseInput.substring(0, tmpLen-1); //Append part start from next char to strike and first charater to char before strike.
}
else
{
temp = baseInput.substring(0, baseInput.length()-1); //If mod result zero we can strike last letter easily
}
baseInput = temp; //Assign the temp to baseinput for next iteration.
}
relationIs = baseInput.charAt(0);
System.out.println(relationIs);
}

链接:http://ideone.com/Fqgcc1

关于java - 火焰游戏逻辑使用 java 给出错误结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27147538/

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