538
צפיות
צפיות
1
תשובות
תשובות
בעיה בלולאת WHILE משורשרת
שלום לכולם ,
עשיתי קוד שמפצל STRING ע"פי מקף-תחתון
מה שרציתי לעשות זה 2 לולאות WHILE שמשווה בין שני המשתנים ומראה את ההשוואה שהיא עושה :
m="1_2_3_4"
y=split(m,"_")
x=split(m,"_")
i=0
j=0
while not i>ubound(y)
while not j>ubound(x)
response.write y(i) &"="& x(j) & "-"
j=j+1
wend
i=i+1
wend
הקוד משום מה עובר רק על הלולאה הפנימית ואילו החיצונית נשארת כאשר i=0 תמיד ולא מקדמת אותו ל-1..2..3
האם מישהו מכיר את הבעייה ואת הפתרון לה?
1 תשובות
אתה טועה
הלולאה החיצונית מבוצעת במלואה גם כן.
יש לך שגיאה לוגית, שמקורה בכך ש-j אינו מאופס לאחר שנגמרה הלולאה הפנימית.
לאחר שהתנאי בלולאה הפנימית מפסיק להתקיים (מפני ש-j נעשה גדול מגודל המערך), הוא ממשיך לא להתקיים בכל איטרציה של הלולאה החיצונית, וכל מה שהלולאה החיצונית עושה הוא לקדם את i עד שהוא עובר את גודל המערך.
כדי לפתור את הבעיה, העבר את השורה j=0 כך שתהיה מיד מתחת לפתיחת הלולאה החיצונית.