已經得到了下面的Java代碼:的Java:
public void varsInvullen(String tempTekst){
int i,aantalVraagtekens = 0;
String ingevuldeParameter;
for(i= 0; tempTekst.length() > i; i++){
if(tempTekst.charAt(i) == '?'){
aantalVraagtekens++;
System.out.println(aantalVraagtekens);
}
}
String[] variables1 = new String[aantalVraagtekens+1];
String[] tempTekst2 = tempTekst.split("\\s+");
for(i = 0; tempTekst2.length > i; i++){
if(tempTekst2[i].charAt(0) == '?'){
variables1[i] = tempTekst2[i];
if(!variables1[i].equals("null")){
System.out.println("Invoer voor parameter: "+variables1[i]+" >>>");
ingevuldeParameter = Input.readString();
tempTekst = tempTekst.replace(variables1[i],ingevuldeParameter);
i++;
}
}
}
System.out.println("De volledig ingevulde template:");
System.out.println(tempTekst);
}
我得到的錯誤是:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at Mailmatcher.varsInvullen(Mailmatcher.java:68)
at Mailmatcher.personaliseren(Mailmatcher.java:90)
at Mailmatcher.menu(Mailmatcher.java:29)
at Mailmatcher.main(Mailmatcher.java:131)
我知道這個錯誤的意思是,我的數組是太小了,但它不是,因爲如果我在不同的地方玩System.out.println(variables1.length);
,它總是顯示陣列是正確的大小..
不知道是否清楚我的意思,如果您需要額外的信息,只是問。
謝謝!
哪條線恰好是線68?我覺得它可能與for循環中的'i ++;'有關。這真的應該在那裏嗎? – Sinkingpoint
variables1 [i] = tempTekst2 [i]; – user3165926