java - 我在另一个 'for loop' 中的 'for loop' 不工作

标签 java eclipse for-loop nested-loops

for (int i=0; i<Intlength; i++){ 
    int intPosition; 
    intPosition=strAlphabet.indexOf(strMessage.charAt(i));
    System.out.println(intPosition); 
    System.out.println("BREAK"); 
    for (int k=0; k<Intlength2; k++){ 
       int intPosition2; 
       intPosition2=strAlphabet.indexOf(strKeyword.charAt(k));
       System.out.println(intPosition2);                
       System.out.println("BREAK-------------"); 
    }
}

我会要求用户输入两个词。一个是消息,一个是关键字。

上面的第一个循环将检查我是否 将加 1,并打印出第一个字母的位置编号。例如,如果消息是“红色”。我首先希望它输出“r”的位置编号,即 17。然后它必须移动到第二个循环,并对关键字执行完全相同的操作。例如,如果关键字是“cat”,我希望它打印第一个字母的第一个字母位置,在这种情况下“c”的位置值为 2。这样我希望输出是这样的:

  • 消息首字母位置

  • 关键词首字母位置

  • 消息的第二个字母位置

  • 关键字的第二个字母位置

等等

因此坚持消息“red”和关键字“cat”,我希望这样的输出:

17
2
4
0
3
19

我添加了中断文本来区分我的编码发生了什么,这就是结果。

Please give me a message:
red
Thank you! Now please give me a keyword:
cat
17
BREAK
2
BREAK-------------
0
BREAK-------------
19
BREAK-------------
4
BREAK
2
BREAK-------------
0
BREAK-------------
19
BREAK-------------
3
BREAK
2
BREAK-------------
0
BREAK-------------
19
BREAK-------------

如您所见,它会输入消息的第一个字母位置,然后是关键字的所有三个位置,然后进入消息的第二个位置字母,然后再次输出关键字的所有三个位置值。 我该如何解决这个问题以获得我想要的输出,我确定我没有正确编写 forloop。

最佳答案

您得到的是嵌套的 for 循环,以使其执行您建议的操作,它们只需要一个接一个,而不是彼此嵌套。当您将第二个 for 循环放在第一个循环中时,您要告诉它做的是为消息中的每个字母打印关键字中的每个字母。

你想要的是这样的循环(不清楚如果一个字符串比另一个长,你想要它做什么,我假设你希望它以较短的字符串停止,但你可以改变它。)

if(strMessage.length > keyword.length){
    intLength = keyword.length;
} else {
    intLength = strMessage.length;
}

for (int i=0; i<intLength; i++){ 
    //Print the position of the i'th letter of the message
    int intPosition; 
    intPosition=strAlphabet.indexOf(strMessage.charAt(i));
    System.out.println(intPosition); 

    //Print the position of the i'th letter of the keyword
    int intPosition2; 
    intPosition2=strAlphabet.indexOf(strKeyword.charAt(i));
    System.out.println(intPosition2); 

}

关于java - 我在另一个 'for loop' 中的 'for loop' 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31674127/

相关文章:

java - Eclipse:在选定的包中搜索字符串?

javascript - 代码完成不适用于 OcaIde + js_of_ocaml

javascript - 基于数组插入html

java - 用 Java 解析数百个 pl/sql 文件

java - 如何在java中对多个数组进行排序

java - 在 Windows 10 上通过 Java Runtime Exec 在 Cygwin bash 上调用 Shell 脚本

java - 当测试不是Java方法时如何让Eclipse跳转到失败的JUnit测试

javascript - 如何使用 JavaScript for 循环在每一行显示一个新的随机数?

java - Java 中 while 和 for 的组合

java - Jersey+Spring+MyBatis Autowiring 似乎有问题