ABA


"שאלה ב-JAVA"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10188 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10188
-KINGMAN-  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 13.4.03
7284 הודעות, 2 פידבק
   17:13   17.12.10   
אל הפורום  
  שאלה ב-JAVA  
 
   טוב אז ככה כתבתי תתוכנית הזאת ורציתי לשאול איך אני יכל לעשות שזה ישאל תמשתמש עם הוא רוצה עוד חישוב? עכשיו אני יודע שאפשר לעשות לולאה אבל משום מה כאשאר אני עושה זאת עם לולאת פור זה לא מצליח כנראה כי אני לא יודע מה להזין בלולאת פור כדי שזה ישאל מחדש אשמח לעזרה

System.out.println("welcom to celculator");
System.out.println("what is the first number?");
int one = Integer.parseInt(br.readLine());

System.out.println("chos the operator (+) (-) (*)");
String oper = br.readLine();

System.out.println("what is the second number?");
int two = Integer.parseInt(br.readLine());

int avg = one+two;
int avg2 = one-two;
int avg3 =one * two;

if (oper.equals("+")){
System.out.println("your sum is"+":"+avg);
}

if (oper.equals("-")){
System.out.println("your sum is"+":"+avg2);
}

if (oper.equals("*")){
System.out.println("your sum is"+":"+avg3);
}
System.out.println("if you want to calculate agin press(y)");
String y = br.readLine();
if (y.equals("y")){
for ()
}


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אתה צריך לשים את כל הקטע קוד הזה בלולאה XpDuDe  17.12.10 17:15 1
  הכי קל, במקרה שלך, לשים את כל קטע הקוד ldan192  17.12.10 19:00 2
  לא למדנו עדין BREAK נ.ב אפשר בלולאת פור? או רק WHILE? -KINGMAN-  17.12.10 22:15 3
     כן. מוציא את ההגדרה של String y מחוץ ללולאה ldan192  17.12.10 23:54 4
         אחי כנס -KINGMAN-  18.12.10 16:34 5
  אפשרות 1 חומוס 18.12.10 17:22 6
     אפשרות 2 חומוס 18.12.10 17:28 7
         וואוו אחי תודה רבה :) יש לי רק שאלה קטנה שלא הבנתי -KINGMAN-  19.12.10 01:03 8
             לא חסרים נתונים חומוס 19.12.10 08:26 9
                 ברגע שתבין את ההבדל בין הלולאות, זה יבוא לך נורא בקלות חומוס 19.12.10 08:38 10
  תודה רבה רבה!!!! עשית לי סדר בבלאגן :) -KINGMAN-  19.12.10 11:09 11

       
XpDuDe 
חבר מתאריך 16.5.10
1046 הודעות
   17:15   17.12.10   
אל הפורום  
  1. אתה צריך לשים את כל הקטע קוד הזה בלולאה  
בתגובה להודעה מספר 0
 
   שתתבצע כל עוד המשתמש רוצה עוד חישוב.. כלומר במקרה שהוא לוחץ y בעצם לא לעשות כלום,
במקרה שהוא לוחץ n "לסמן" בדרך כלשהי ללולאה לעצור (יש כמה דרכים לבצע את זה)..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   19:00   17.12.10   
אל הפורום  
  2. הכי קל, במקרה שלך, לשים את כל קטע הקוד  
בתגובה להודעה מספר 0
 
אחרי ה-welcome בלולאה.
למטה, לשנות את ה-y.equals ל-!y.equals ואם כן - break;


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-KINGMAN-  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 13.4.03
7284 הודעות, 2 פידבק
   22:15   17.12.10   
אל הפורום  
  3. לא למדנו עדין BREAK נ.ב אפשר בלולאת פור? או רק WHILE?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   23:54   17.12.10   
אל הפורום  
  4. כן. מוציא את ההגדרה של String y מחוץ ללולאה  
בתגובה להודעה מספר 3
 
וממשיך אותו כל עוד ב-while ה-!y.equals("y")

כמובן שבהתאם אפשר גם לשים בלולאת FOR


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-KINGMAN-  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 13.4.03
7284 הודעות, 2 פידבק
   16:34   18.12.10   
אל הפורום  
  5. אחי כנס  
בתגובה להודעה מספר 4
 
   אחי יש מצב שאתה רושם לי את זה מתוקן עם הלולאה אני פשוט לא מצליח ואני אשמח לראות מול העניים את זה תודה רבה!!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
חומוס לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.4.02
13069 הודעות, 5 פידבק
   17:22   18.12.10   
אל הפורום  
  6. אפשרות 1  
בתגובה להודעה מספר 0
 
טוב אז ככה כתבתי תתוכנית הזאת ורציתי לשאול איך אני יכל לעשות שזה ישאל תמשתמש עם הוא רוצה עוד חישוב? עכשיו אני יודע שאפשר לעשות לולאה אבל משום מה כאשאר אני עושה זאת עם לולאת פור זה לא מצליח כנראה כי אני לא יודע מה להזין בלולאת פור כדי שזה ישאל מחדש אשמח לעזרה

System.out.println("welcom to celculator");

while(true)
{
System.out.println("what is the first number?");
int one = Integer.parseInt(br.readLine());

System.out.println("chos the operator (+) (-) (*)");
String oper = br.readLine();

System.out.println("what is the second number?");
int two = Integer.parseInt(br.readLine());

int avg = one+two;
int avg2 = one-two;
int avg3 =one * two;

if (oper.equals("+")){
System.out.println("your sum is"+":"+avg);
}

if (oper.equals("-")){
System.out.println("your sum is"+":"+avg2);
}

if (oper.equals("*")){
System.out.println("your sum is"+":"+avg3);
}
System.out.println("if you want to calculate agin press(y)");
String y = br.readLine();
if (y.equals("y"))
{
break;
}
}


ציטוט מאת: -KINGMAN-

הWhile (true) דואג שהלולאה החיצונית תרוץ עד אין סוף פעמים
התנאי שיעצור אותה הוא y.equals("y" - ברגע שזה יקרה אז יתבצע
הbreak וזה יצא מהלולאה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
חומוס לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.4.02
13069 הודעות, 5 פידבק
   17:28   18.12.10   
אל הפורום  
  7. אפשרות 2  
בתגובה להודעה מספר 6
 
טוב אז ככה כתבתי תתוכנית הזאת ורציתי לשאול איך אני יכל לעשות שזה ישאל תמשתמש עם הוא רוצה עוד חישוב? עכשיו אני יודע שאפשר לעשות לולאה אבל משום מה כאשאר אני עושה זאת עם לולאת פור זה לא מצליח כנראה כי אני לא יודע מה להזין בלולאת פור כדי שזה ישאל מחדש אשמח לעזרה


String y = "y";

System.out.println("welcom to celculator");

while(y.equals("y"))
{
System.out.println("what is the first number?");
int one = Integer.parseInt(br.readLine());

System.out.println("chos the operator (+) (-) (*)");
String oper = br.readLine();

System.out.println("what is the second number?");
int two = Integer.parseInt(br.readLine());

int avg = one+two;
int avg2 = one-two;
int avg3 =one * two;

if (oper.equals("+")){
System.out.println("your sum is"+":"+avg);
}

if (oper.equals("-")){
System.out.println("your sum is"+":"+avg2);
}

if (oper.equals("*")){
System.out.println("your sum is"+":"+avg3);
}
System.out.println("if you want to calculate agin press(y)");
y = br.readLine();

}

אתה מאתחל מראש את y ב"y" ואומר שכל עוד הוא שווה ל"y" הלולאה החיצונית
תמשיך להתבצע.
בסוף הלולאה אתה קולט מחדש, במידה ונקלט משהו שהוא לא "y" אז זה יצא מהלולאה



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-KINGMAN-  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 13.4.03
7284 הודעות, 2 פידבק
   01:03   19.12.10   
אל הפורום  
  8. וואוו אחי תודה רבה :) יש לי רק שאלה קטנה שלא הבנתי  
בתגובה להודעה מספר 7
 
   כתבתי את ההצעה השניה שנתת והכל עובד פיקס אבל לא הנתי משהו המבנה של לולאת WHILE הוא כמו בדוגמה למטה

עכשיו באפשרות השניה חסרים נתונים כמו I++ אז איך זה עובד ? איך זה תיקני הלולאה הזאת באפשרות 2? אשמח לפירוט אולי לא הנתי טוב תמבנה של לולאת WHILE וזה תוקע אותי אשמח להסבר


int i=0;
while (i<10){
System.out.println(i);
i++;



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
חומוס לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.4.02
13069 הודעות, 5 פידבק
   08:26   19.12.10   
אל הפורום  
  9. לא חסרים נתונים  
בתגובה להודעה מספר 8
 
לולאת while באה בדרך כלל עבור מצבים בהם אתה לא יודע מראש כמה פעמים
הלולאה תצטרך להתבצע (לכן לא צריך i כלשהו ולא i++.. )
במקרה שלך זה תלוי במשתמש, אתה לא יודע מתי הוא ילחץ y, ולכן הכי נכון
להשתמש בלולאת while.

כדי להבין את הדוגמא יותר טוב נעזוב רגע תכנון ונעבור לאנגלית.
while = כל עוד / בעוד ש...

לולאת while אומרת:
"כל עוד התנאי (שבסוגריים) מתקיים, כנס לתוך הלולאה ובצע את הפקודות.
בסיום תחזור בחזרה לתחילת הלולאה ותבדוק שוב אם התנאי (שבסוגריים) מתקיים, אם כן, שוב כנס ללולאה ובצע וכו'... וכו'..."

מה שאנחנו רוצים לרשום למעשה זה "כל עוד y שווה ל"y",כנס לתוך הלולאה ובצע, בסוף הלולאה תקלוט מחדש ערך לy וחזור לתחילת הלולאה לבדיקה נוספת וכו' וכו'..."

ולכן:


("while (y.equals("y
}
בלה בלה
בלה בלה
בלה בלה
;()y = br.readline
{

מקווה שהבנת


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
חומוס לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.4.02
13069 הודעות, 5 פידבק
   08:38   19.12.10   
אל הפורום  
  10. ברגע שתבין את ההבדל בין הלולאות, זה יבוא לך נורא בקלות  
בתגובה להודעה מספר 9
 
ותמיד תדע במה הכי כדאי להשתמש באותו רגע.

for - משתמשים בד"כ כשידוע כמה פעמים הלולאה צריך לרוץ
if - לולאה חד פעמית, משתמשים בד"כ כשצריכה להתבצע בדיקה בודדת כלשהי
while - משתמשים בד"כ כשמספר הפעמים שהלולאה צריכה לרוץ לא ידוע מראש
ותלוי בגורם מסויים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-KINGMAN-  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 13.4.03
7284 הודעות, 2 פידבק
   11:09   19.12.10   
אל הפורום  
  11. תודה רבה רבה!!!! עשית לי סדר בבלאגן :)  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net