gtabak_37 פורסם 2011 בינואר 22 Share פורסם 2011 בינואר 22 שאלה של צעיריםבניתי אובייקט ובניתי תוכנית שמשתמשת באובייקט, כאשר אני מנסה להפעיל את התוכנית אז יש שגיאה בכל הפקודות שקשורות לאובייקט שבניתי, לפי מה שאני מבין- התוכנית הראשית לא מזהה את האובייקט שבניתי ולכן היא לא מזהה את הפקודות עם האובייקט.השאלה שלי היא- איך אני מקשר בין התוכנית הראשית לאובייקט?תודה מראשגל קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2011 בינואר 22 Share פורסם 2011 בינואר 22 קשה לדעת מה עשית בלי לראות אפילו טיפת קוד. קישור לתוכן שתף באתרים אחרים More sharing options...
gtabak_37 פורסם 2011 בינואר 22 מחבר Share פורסם 2011 בינואר 22 מצטער לא חשבתי שצריך את הקודהאובייקט, שנשמר בקובץ אחד.public class Game{ private String name; private static String genre; private int age; public Game (String name, int age) { this.name=name; this.age=age; this.genre="action"; } public Game (Game g1) { this.name=g1.name; this.age=g1.age; this.genre=g1.genre; } public String getName() { return this.name; } public String getGenre() { return this.genre; } public int getAge() { return this.age; } public void setGenre(String genre) { this.genre=genre; } public void setName(String name) { this.name=name; } public void setAge(int age) { this.age=age; }}התוכנית הראשית, שנשמרת בקובץ אחרimport java.util.*;class GameStore{ /** טענת כניסה:הפעולה מקבל מחרוזת המהווה שם של משחק ומערך המהווה חנות משחקים**/ /**טענת יציאה:הפעולה מחזירה האם המשחק נמצא במלאי או לא**/ static Scanner reader=new Scanner(System.in); static final int N=5; static boolean check(String gName,Game[] a) { for (i=0;i<N;i++) if (gName.equals(a[i].getName()) return true; return false; }/**טענת כניסה: הפעולה מקבלת מחרוזת המהווה שם משחק, מספר המהווה גיל , ומערך המהווה חנות משחקים**//**טענת יציאה: הפעולה מחזירה האם המשחק מתאים לגיל**/static boolean check1(String gName,int gil1,Game[] a){ for (i=0;i<N;i++) if (gName.equals(a[i].getName()) if(gil1==a[i].getAge()) return true; return false; } public static void main(String[] args) { Game[] gs=new Game[N]; Game gs[0]=new Game ("Call Of Duty",16); Game gs[1]=new Game ("Medal Of Honour",18); Game gs[2]=new Game (gs[2]); Game gs[3]=new Game (gs[1]); Game gs[4]=new Game ("Counter Strike",17); System.out.println ("Would you like to check if your game is in the stock? enter 1 if yes or 0 if no"); int x=reader.nextInt(); if (x==1) { System.out.println("Enter the name of the game"); String s=reader.next(); if (check(s,gs)) System.out.println("The game is in stock"); else System.out.println("The game is missing"); } else { System.out.println ("Would you like to check if your game is available for your age? enter 1 if yes or 0 if you want to exit"); x=reader.nextInt(); if (x==1) { System.out.println("Enter the name of your game"); String s1=reader.next(); System.out.println("Enter you age"); int gil=reader.nextInt(); if (check1(s1,gil,gs)) System.out.println("The game is available for your age"); else System.out.println("The game is not available for you age"); } else { System.out.println("The program is over, press F5 to restart"); } } }}אל תצחקו זאת רק עבודה שהמורה שלי ביקש ממני להגיש ;D קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2011 בינואר 22 Share פורסם 2011 בינואר 22 והשגיאה המדוייקת שאתה מקבל היא...?חוץ מזה, שתי המחלקות יושבות באותו package? (באותה תיקייה) קישור לתוכן שתף באתרים אחרים More sharing options...
gtabak_37 פורסם 2011 בינואר 22 מחבר Share פורסם 2011 בינואר 22 בזמן הקומפילציה, האובייקט עובר אותה בלי בעיות. השגיאות בתוכנית הראשית הן:12 errors found:File: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 11]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:11: ')' expectedFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 20]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:20: ')' expectedFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 28]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:28: ']' expectedFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 28]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:28: illegal start of expressionFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 29]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:29: ']' expectedFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 29]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:29: illegal start of expressionFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 30]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:30: ']' expectedFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 30]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:30: illegal start of expressionFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 31]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:31: ']' expectedFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 31]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:31: illegal start of expressionFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 32]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:32: ']' expectedFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 32]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:32: illegal start of expressionבקיצור, כל הפקודות שקשורות לאובייקט.כל הקבצים הקשורים לשתי המחלקות יושבים באותה תיקייה. (שישה קבצים בסך הכל- 3 לתוכנית הראשית ו-3 לאובייקט עם סיומות java .class .java~) קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2011 בינואר 22 Share פורסם 2011 בינואר 22 אם היית קורא את הודעת השגיאה היית מבין מה הבעיה... חסרים לך סוגריים.דרך אגב, כדאי מאוד לעטוף כל בלוק של for/if בסוגריים מסולסלים, גם אם הוא מכיל רק שורה אחת. זה הופך את הקוד להרבה יותר קריא ופחות error prone. קישור לתוכן שתף באתרים אחרים More sharing options...
gtabak_37 פורסם 2011 בינואר 22 מחבר Share פורסם 2011 בינואר 22 תודה רבה, גם על הטיפ רק תיקנתי חלק מהסוגריים, אבל יש לי בכמה שורות נוספות עוד שגיאה File: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 38]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:38: ']' expectedFile: C:\Users\Gal\Desktop\New folder\GameStore.java [line: 38]Error: C:\Users\Gal\Desktop\New folder\GameStore.java:38: illegal start of expression בשורה Game gs[0]=new Game ("Call Of Duty",16); לדוגמה אני לא מבין איפה חסרות סוגריים מרובעות, ומה illegal start of expression דורש ממני לתקן עדכון: מצאתי את הבעיה, תודה רבה שניצל- עזרת לי מאוד קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.