簡體   English   中英

String Index out of bounds error,基本程序

[英]String Index out of bounds error, basic program

這個程序做我想做的事情,但它也輸出了一個巨大的錯誤。 其中的內容類似於“數組越界。字符串索引越界”。 該程序用於輸入一個句子,並使用字母表中的不同字母(4個字符)重寫它。 請幫我澄清這個錯誤!

public class Encryption
{
public static void main (String [] args)
{
System.out.print("Enter a message to encrypt: ");
String input = Console.readString();

for(int i = 0; i<100; i++)
{
char oldChar = input.charAt(i);

char encryptedChar = (char) (oldChar + 4);

System.out.print(encryptedChar);
}   
}

如果得到StringIndexOutOfBoundsException ,那么輸入的長度不是100個字符。

不要指望100個字符; i達到你的弦長時,停止你的for循環。

for (int i = 0; i < input.length(); i++)

輸入總是一個100個字符的字符串,我相信不是,這就是錯誤。 input.length()替換100

改變你的循環邊界。 如果用戶鍵入少於100個字符,您將從i = 0循環到i = 99,這將超過輸入長度。

for (int i = 0; i < input.length(); i++)

如前所述,您對循環進行了硬編碼以迭代100個字符。 如果字符串不是100個字符怎么辦?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM