IOPanel

חזור   IOPanel > דבר חופשי > תוכנה ומערכות הפעלה > תיכנות
עמוד ראשי הירשם חיפוש הודעות מהיום סמן פורומים כנקראו

תיכנות פורום בנושאי תיכנות , פיתוח אתרים , שפות תיכנות , אפליקציות סלולר וטאבלטים.

תוכנה ומערכות הפעלה : תיכנות

עזרה בקשר לJAVA

אז ככה יש לי מחר מבחן ואני קצת מתקשה עם כל הקטע של לולאת WHILE. התרגיל הוא כזה (אני יודע ...
תגובה
 
קישור חוזר הגדרות אשכול אפשרויות הצגת נושא
ישן 04-12-08, 18:27   #1 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל עזרה בקשר לJAVA

אז ככה יש לי מחר מבחן ואני קצת מתקשה עם כל הקטע של לולאת WHILE.
התרגיל הוא כזה (אני יודע שהוא פשוט -אין לי מושג מה הבעייה בו)

1.פתח וישם אלגוריתם הקולט מספרים בין 25 ל- 90 ומדפיס את המספרים הגדולים מ- 50.
סוף הקלט יצוין ע"י מספר שאינו בטווח הנתון.



מה שאני עשיתי זה זה:
קוד:
import java.util.Scanner;
public class lol45{
public static void main(String[]args){
Scanner in=new Scanner(System.in);
int num;
num=in.nextInt();
while(num>25||num<95)
{

if(num>50)
System.out.println(num);
if(num>25 && num<95)
System.out.println(num);
}
}}
__________________




boxerown לא מחובר   הגב עם ציטוט
ישן 04-12-08, 18:30   #2 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל

בסדר פתרתי את הבעייה אפשר לנעול.
למעוניינים זה אמור היה להיות ככה:

קוד:
import java.util.Scanner;
public class lol45{
public static void main(String[]args){
Scanner in=new Scanner(System.in);
int num;
num=in.nextInt();
while(num>25 && num<95)
{
if(num>50){
System.out.println(num);
num=in.nextInt();
}}
System.out.println(num);
}}
__________________




boxerown לא מחובר   הגב עם ציטוט
ישן 04-12-08, 18:33   #3 (קישור ישיר)
IO Pro
 
סמל האישי של קישקשתא
 
תאריך הצטרפות: Apr 2008
הודעות: 2,134
ברירת מחדל

כשמדובר בלולאות while חשוב לזכור שיש קליטה למשתנה התנאי מחוץ ללואה ולאחר מכן בתוך
הלולאה כדי שיתקיים תנאי עצירה ולא לולאה אין סופית.
קישקשתא לא מחובר   הגב עם ציטוט
ישן 04-12-08, 18:45   #4 (קישור ישיר)
IO Member
 
סמל האישי של bamba12
 
תאריך הצטרפות: Apr 2007
הודעות: 893
ברירת מחדל

טיפ בשבילך- לא כדאי לעשות את הקלט מחוץ ללולאה וגם בתוך הלולאה, כי למה לכתוב פעמיים?
תעשה את זה בתוך התנאי של הלולאה, למשל:
קוד:
while((num = in.nextInt()) > 25 && num< 95)
ככה אתה עושה את זה רק פעם אחת. אני יודע שזה לא כל כך משנה אבל זה חוסך לכתוב פעמיים.
bamba12 לא מחובר   הגב עם ציטוט
ישן 05-12-08, 17:00   #5 (קישור ישיר)
IO Folding Team
 
סמל האישי של static
 
תאריך הצטרפות: Dec 2007
הודעות: 2,111
ברירת מחדל

שטויות העיקר שהוא הצליח לבד, פשוט פעם הבאה שים לב ללוגיקה שלך
הרי כתבת בהתחלה || שזה OR והרי בשאלה כתוב בין 25-95 אז ברור שצריך && - AND

בהצלחה במבחן!
static לא מחובר   הגב עם ציטוט
ישן 05-12-08, 17:13   #6 (קישור ישיר)
IO Master
 
סמל האישי של IdanBS
 
תאריך הצטרפות: Apr 2007
הודעות: 5,114
ברירת מחדל

תמיד תזכור שבWHILE אתה צריך קליטה לפני הכניסה ללולאה וקליטה בסוף הלולאה
כלומר:
ציטוט:
blabla=in.nextInt();
while(blat==suka)
{
all kind of crap here
blabla=in.nextInt();
}
אתה יכול גם ללכת לפי השיטה של במבה אבל זה לא נחוץ בתוכניות בגדלים שאתה עושה כרגע

עריכה: אגב.. איך הלך במבחן

נערך לאחרונה על ידי IdanBS, 05-12-08 בשעה 17:20.
IdanBS לא מחובר   הגב עם ציטוט
קישור פירסומי
תגובה


הגדרות אשכול
אפשרויות הצגת נושא

חוקי משלוח הודעות
אתה לא יכול לשלוח הודעות חדשות
אתה לא יכול לשלוח תגובות
הינך לא יכול לצרף קבצים להודעותיך
אתה לא יכול לערוך את הודעותיך

vB code הינו פועל
סמיילים הינו פועל
קוד [IMG] הינו פועל
קוד HTML הינו כבוי
Trackbacksהינו פועל
Pingbacks הינו פועל
Refbacks הינו פועל


כל הזמנים הם GMT +3. השעה כרגע היא 17:14.





מופעל על ידי: vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO
IOPanel.net © כל הזכויות שמורות