ABA


"עזרה בתרגיל ב-Java"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11028 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11028
moshiko17
חבר מתאריך 15.7.09
285 הודעות
   21:39   23.11.12   
אל הפורום  
  עזרה בתרגיל ב-Java  
 
   שלום לכולם,
ניתקעתי בחלק מהתרגיל של השיעורי בית ואשמח אם תוכלו לעזור לי בחלק ממנו

התרגיל הינו:

כתוב תוכנית, הקולטת תאריך לפי התבנית הבאה: dd mm yy (שלוש מספרים שלמים כאשר הראשון הוא
היום, השני הוא החודש והשלישי מסמן את השנה), ומדפיסה את התאריך לפי הכללים הבאים:

.2 החודש (mm) יתורגם לשמו האנגלי לפי הרשימה הבאה:
{January, February, March, April, May, June, July, August, September, October, November, December}
.3 השנה (yy) תתורגם למספר המלא שלה: היינו, קלט של 12 יתורגם ל - 2012 . שימו לב שניתן לקבל
גם קלט שגדול מ- 12 (השנה הנוכחית) לדוגמא 85, ואז צרי ך להבין שאנחנו מתייחסים לשנת 1985.

אני ניתקעתי בסעיף 2.
אשמח אם מישו יכול לעזור לי קצת.

תודה


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  מה הבעיה אחי, איפה נתקעת? inno3D 23.11.12 22:01 1
     לעשות את זה עם switch? moshiko17 23.11.12 22:14 2
         כן inno3D 23.11.12 22:15 3
         תראה מה רשמתי moshiko17 23.11.12 22:17 4
             בלי קשר לפתרון הבעיה שלך, יותר הגיוני להשתמש ב-enum ldan192  24.11.12 00:05 5
                 עדיין לא הגענו לנושא הזה אז כרגע אני לא יכול להשתמש בזה. moshiko17 24.11.12 13:16 8
  אתה לוקח מה-SCANNER INT CaTz 24.11.12 10:20 6
     הקטע הוא שאני לא יכול להשתמש במערכים moshiko17 24.11.12 13:14 7
         OK, תקן אותי אם אני טועה CaTz 24.11.12 13:26 9
             עשיתי את זה כי המשתמש מזין חודשים בצורה של 01,02,03 והלאה... moshiko17 24.11.12 18:27 10

       
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   22:01   23.11.12   
אל הפורום  
  1. מה הבעיה אחי, איפה נתקעת?  
בתגובה להודעה מספר 0
 
   אתה קולט מספר, תבדוק מה המספר ותציג את המילה המתאימה

איזה חלק לא הבנת


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
moshiko17
חבר מתאריך 15.7.09
285 הודעות
   22:14   23.11.12   
אל הפורום  
  2. לעשות את זה עם switch?  
בתגובה להודעה מספר 1
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   22:15   23.11.12   
אל הפורום  
  3. כן  
בתגובה להודעה מספר 2
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
moshiko17
חבר מתאריך 15.7.09
285 הודעות
   22:17   23.11.12   
אל הפורום  
  4. תראה מה רשמתי  
בתגובה להודעה מספר 2
 
  

import java.util.Scanner;
public class DateFormat {
public static void main(String args) {

int mm;
Scanner sc=new Scanner(System.in);
System.out.println("enter month");
mm=sc.nextInt();

switch (mm) {
case 01:
System.out.println("The month is January");
break;
case 02:
System.out.println("The month is February");
break;
case 03:
System.out.println("The month is March");
break;
case 04:
System.out.println("The month is April");
break;
case 05:
System.out.println("The month is May");
break;
case 06:
System.out.println("The month is June");
break;
case 07:
System.out.println("The month is July");
break;
case 08:
System.out.println("The month is August");
break;
case 09:
System.out.println("The month is September");
break;
case 10:
System.out.println("The month is October");
break;
case 11:
System.out.println("The month is November");
break;
case 12:
System.out.println("The month is December");
break;

default:
System.out.println("Please enter 1-12 month");
break;
}


}}

הבעיה עכשיו שמ-08 עד 12 זה נותן לי שגיאה כי המספר הוא ליטרל. ואני בכלל לא מעוניין להשתמש בליטרל.

מה עושים?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   00:05   24.11.12   
אל הפורום  
  5. בלי קשר לפתרון הבעיה שלך, יותר הגיוני להשתמש ב-enum  
בתגובה להודעה מספר 4
 


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
moshiko17
חבר מתאריך 15.7.09
285 הודעות
   13:16   24.11.12   
אל הפורום  
  8. עדיין לא הגענו לנושא הזה אז כרגע אני לא יכול להשתמש בזה.  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
CaTz
חבר מתאריך 2.10.04
14537 הודעות
   10:20   24.11.12   
אל הפורום  
  6. אתה לוקח מה-SCANNER INT  
בתגובה להודעה מספר 0
 
   ז"א, אין דבר גזב 01 מהINT.

לדעתי במקום לעשות SWITCH תעשה מערך של STRING
עכשיו יש לך INT שמציין לך את מספר החודש
אז אתה שם במקום ה-INT -1 את החודש,

ובהינתן חודש אתה מחזיר ממנו אחד ומחפש במערך
כלומר המערך שלך יראה ככה:


String[] months = new String[]
months = "Jan..";
...
month = "Descember..";


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
moshiko17
חבר מתאריך 15.7.09
285 הודעות
   13:14   24.11.12   
אל הפורום  
  7. הקטע הוא שאני לא יכול להשתמש במערכים  
בתגובה להודעה מספר 6
 
   כי עדיין לא הגענו לנושא הזה.
כרגע השימוש שלי יכול להיות לולאות כמו for, while, if ו- switch בלבד.

אז יש לך רעיון איך אפשר לפתור את זה עם הדרכים שציינתי?
ואם אני רוצה להשתמש ב switch איך אני יכול לרשום ב-case את הספרות 01,02,03,04,05,06,07,08,09,10,11,12 שמציינים את מספר החודשים שהמשתמש מזין.
אני מקבל הודעה שגיאה במספרים 08,09 שהם לא נמצאים בטווח של ה-Literal.

תודה רבה על העזרה!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
CaTz
חבר מתאריך 2.10.04
14537 הודעות
   13:26   24.11.12   
אל הפורום  
  9. OK, תקן אותי אם אני טועה  
בתגובה להודעה מספר 7
 
   כאשר אתה אומר ל-Scanner, להביא לך
nextInt().

אז אתה מקבל INTים, ולא מספר 01, 02 וכו'...
אתה מקבל 1, 2, 3...
אז תעשה על זה את ה-switch.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
moshiko17
חבר מתאריך 15.7.09
285 הודעות
   18:27   24.11.12   
אל הפורום  
  10. עשיתי את זה כי המשתמש מזין חודשים בצורה של 01,02,03 והלאה...  
בתגובה להודעה מספר 9
 
   אבל רשמתי כמו שאמרת בצורה של 1,2,3 והמחשב מקבל את הקלט של המשתמש "1" וממיר אותו ל-"01" אוטומטי (מה שלא ידעתי שאפשרי)

תודה רבה לכולם על העזרה!


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

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

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



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