for循环计数器要怎操作比较合适?
来源:爱站网时间:2021-09-28编辑:网友分享
最近爱站技术小编遇到一个问题,我的for循环计数器通过减去1来调整长度,我仍然得到“ java.lang.StringIndexOutOfBoundsException”。面对这个问题,小编一时不知道怎么去处理,直到有一天,有个友人给了小编一篇文章,小编一看,正是这个问题的答案,所有的难题都迎刃而解了,现在小编把这篇文章放上来供大家一起参考。
问题描述
因此,我的主要目标是创建一个可以解密凯撒密码的程序。我已经进行了所有设置,以便在一个数组中设置了常规字母,然后在一个解码器数组中根据用户输入的移位/键对字母进行了移位。 (即,如果用户输入的移位为6,则常规字母数组以a,b,c ...开头,然后解码器数组以g,h,i ...开头)。
目前,我一直在浏览加密的消息(用户输入),并通过将每个字母与解码器数组进行匹配来对每个字母进行解码。即使在我设置的for循环中,我也一直给我一个超出范围的索引错误,我从消息的长度中减去了一个,以补偿从0开始的错误。
错误也只会在最后一个字符处发生(这就是35。这是我要测试的35字符串)。但是,当我尝试打印解码后的消息直到出现错误时,我只是得到null(我将每个解码后的char存储在数组中,并在for循环运行时打印存储的每个字符)。
这里是我目前停留的那段代码:
//Decoding message by looping through each letter in String message for (int x = 0; x
我尚未添加任何空格检查功能,因为我目前仍停留在此错误上,但是如果您可以添加任何错误,将不胜感激。我不确定将char与空格进行比较是否可行。
因此,我的主要目标是创建一个可以解密凯撒密码的程序。我已经进行了所有设置,以便将常规字母设置在一个数组中,然后将解码器数组设置在其中,我将其移位了...
思路:
根据问题中的当前代码,我可以说您的代码有2个问题,
- 您正在将字符串与
==
进行比较,这将不起作用。相反,您需要使用Java的equals()
方法。
以上内容就是爱站技术频道小编为大家分享的关于for循环计数器要怎操作比较合适?看完以上分享之后,大家应该都知道要怎么操作了吧。