עבור לתוכן

עזרה בכתיבת שיטה בשפת ג'אווה

Featured Replies

פורסם

ערב טוב.

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

חשבתי על זה הרבה ולא הצלחתי לפתור. תודה רבה מראש.

פורסם

תחשוב על זה ככה - ההפרש המקסימלי יהיה ההפרש בין המספר הקטן ביותר והמספר הגדול ביותר.

פורסם
  • מחבר

אני חושב שהכוונה בשאלה היא להפרש המקסימלי בין שני מספרים סמוכים.

פורסם

אוקי, אז זה עוד יותר פשוט.

למצוא את האיבר המקסימלי בסדרת מספרים אתה יודע?

פורסם
  • מחבר

בטח שאני יודע. תחילה, איך אני קולט סדרת מספרים בשיטה?

public static int schnitzel (int ______?)

לא מדובר בתכנית רגילה אלא בשיטה/פונקציה/שגרה.

פורסם

השיטה צריכה לקבל סדרת מספרים, או לקרוא אותם כקלט מהמשתמש?

במקרה הראשון, תשתמש במערך או ב-list (אם למדת את זה).

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

פורסם
  • מחבר

לקלוט כמו שהראתי בקוד למעלה.

לא למדנו מערך / list.

פורסם

אבל באופן שהראית למעלה, הפונקציה מקבלת רק מספר אחד. על מנת לקבל יותר ממספר אחד היא צריכה להשתמש במערך או לקרוא מהמשתמש.

פורסם
  • מחבר

public static int schnitzel (int _, int _,int_,int_,int_...........)

אפשר לקלוט יותר ממספר אחד.

נראה לי שצריך לקלוט מס' מקסימלי וכד' כמו שציינת למעלה.

פורסם

כמובן שאפשר ככה, אבל אתה לא יכול לקבוע ככה באופן שרירותי את גודל הסדרה (מה אם תרצה להעביר לפונקציה סדרה של 100 מספרים?)

הפתרון עבור זה כמובן הוא להשתמש במערך, אבל אמרת שעדיין לא למדתם את זה.

פורסם
  • מחבר

נכון, זו הבעיה.

יכול להיות שזו שאלה מקדימה לנושא הנ"ל. תודה בכל מקרה. :)

פורסם
  • מחבר

import java.util.*;
public class Num
{
public static int series(int numberOfVariables)
{
Scanner io = new Scanner(System.in);
int num = io.nextInt();
int max = num;
int min = num;
for (int i = 2; i<=numberOfVariables; i++)
{
num = io.nextInt();
if (num > max)
max = num;
else
min = num;
}
return max - min;
}
}

הצלחתי..

פורסם

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

פורסם
  • מחבר

אבל זה עובד לי עם כל המספרים :P

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים