עבור לתוכן

עזרה בתרגיל JAVA

Featured Replies

פורסם

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

כתוב פעולה המקבלת כפרמטר מערך מספרים שלמים, בודקת אם הוא "מערך מתגלגל" ומדפיסה הודעה מתאימה בהתאם.

מה שעשיתי זה פירקתי את התא הראשון לספרותיו ואת התא השני לספרותיו וכל זה בFOR שעובר על כל המערך שהתקבל.

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

תודה יום מצויין

פורסם

איך אתה מצפה שנעזור בלי שתאמר מה ניסית לעשות (כלומר מה הקוד שכתבת)?

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

פורסם
  • מחבר

מה הצורה היותר פשוטה?

אני לא חשבתי על שיטה אחרת חוץ מפירוק המספר לספרותיו

פורסם

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

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

אחר כך תתקן את הפונקציה ככה שהיא תחזיר את הספרה הראשונה.

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

פורסם
  • מחבר

אוקיי הצלחתי בסופו של דבר תודה. יש לי עוד שאלה

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

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

הערה : אין צורך לבדוק את תקינות הקלט.

 public static void main (string[]args)
{
int max=0;
int count=0;
int []a= new int [10];
for (int i=0; i<10; i++)
{
while (a[i]!=-1)
{
if (a[i]>max)
{
count++;
max=a[i];
a[i]=max;
}
}
System.out.println (a[i]);
System.out.println (count);

פורסם

מה בדיוק אומר הקוד שכללת כאן? בשום מקום אתה לא קורא קלט מהמשתמש.

חוץ מזה, למה נועדו השורות האלה?

max=a[i];
a[i]=max;

השורה השנייה למעשה לא עושה כלום.

פורסם
  • מחבר

לא רשמתיאת פקודת הקלט כי חשבתי שזה ברור לא משנה.

המטרה של התוכנית היא להדפיס את הזריקה המקסימלית של כל משתמש את המס' הסידורי ולהדפיס את מס' הזריקה של הזריקה המסימלית אז אני שומר את כל הזריקות המקסימליות של כל משתמש במערך משתמש בפקודת COUNT כדי לספור כמה זריקות נעשו עד זריקת המקסימום ומדפיס את הI.

אז אני צריך להוסיף פקודת הדפסה של ה-I ולהוריד את שתי השורות שהן אותו דבר חוץ מזה הכל בסדר?

ומצטער על כל השאלות

פורסם

היי,

הרשתי לעצמי לכתוב משהו קטן... מקווה שיעזור לך.

חג שמח!

import java.util.Scanner;

public class Eliran {

public static void main(String[] args) {

Scanner input = new Scanner (System.in);

int[] players = new int[11];

int max=0, count=1, distance;

for (int i = 1; i<players.length; i++)

{

System.out.println("player "+i+ " how far did u throw?");

distance = input.nextInt();

while (distance>max)

{

max = distance;

System.out.println("player "+i+ " how far did u throw?");

distance = input.nextInt();

count++;

}

System.out.println("player "+i + ", your max throw reached the distance of "+ max+" meters ");

System.out.println("it took you "+count+ " throw's to achive this.");

System.out.println("");

max = 0;

}

}

}

פורסם

שלום zahiz007, ברוך הבא לפורום.

הקוד שלך סבבה, אבל שתי הערות:

קודם כל, כשאתה כותב כאן קוד, תשתמש בטג קוד (כפתור # למעלה) על מנת שהוא ייראה טוב.

לגבי הקוד עצמו:

למה הגדרת את המערך בגודל 11, ו-i רץ מ-1 עד 10 (ולא להגדיר את המערך בגודל 10, ואז ש-i ירוץ מ-0)?

חוץ מזה, אתה בכלל לא משתמש במערך.

פורסם

ערב טוב וחג שמח שניצל,

תודה על הקבלה החמה :-)

הסיבה היחידה שעשיתי זאת היא על מנת שיהיה רשום "player 1" , ולא "player 0" ,אין שום סיבה מעבר לזה...

ו... אמת, המערך עצמו די מיותר במחשבה לאחור, זה קרה אוטומטית אחרי שקראתי את ההודעה של אלירן, וראיתי שהוא השתמש במערך. אבל שוב, די מיותר.

# - קיבלתי.

חג שמח!

פורסם

עדיין עדיף להשתמש במערך בגודל 10, ובהדפסה פשוט להדפיס את i+1.

פורסם
  • מחבר

בגלל שצריך לשמור את כל הזריקות המקסימליות של כל המשתמשים עדיף לההשתמש במערך לפי דעתי

פורסם

אבל לא צריך לשמור אותם, אלא רק להדפיס אותם.

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

  • 9 חודשים מאוחר יותר...
פורסם

מאיפה השאלה הזאת("מערך מספרים שלמים נקרא מערך מתגלגל....")?

פשוט יש לי מחר מבחן בJAVA ואני רוצה לתרגל שאלות.

פורסם

בשביל זה להקפיץ ת'רד בן כמעט שנה?

אם אתה רוצה תרגילים, תפתח ת'רד חדש ותבקש.

ארכיון

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

דיונים חדשים