עבור לתוכן

קוד בג'אווה שהקומפיילר לא טוען..

Featured Replies

פורסם

כשאני מקמפל אז אין שגיאות. אבל כשאני מריץ זה מראה שהתוכנית נטענת אבל לא קורה כלום :\ למישהו יש מושג מה הבעיה?


import java.util.Scanner;
public class Petrol
{
public static void main (String [] args)
{
final double a=3.7;
final double MAX=100;
final double b=1.6;
double r ,q;
Scanner scan = new Scanner (System.in);
r = scan.nextDouble();
System.out.println ("xxxx " +
"xxxxxx. ");
q= MAX/ (r*b)*a;
System.out.println("xxxx "+q+ " xxx");
} // end of method main
} //end of class Petrol

פורסם

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

עריכה:

הוספתי לך דוגמא

import java.util.*;
public class Patrol
{
static Scanner reader = new Scanner(System.in);
public static void main (String [] args)
{
double a=3.7, MAX=100, b=1.6, r ,q;
System.out.println("ENTER num...");
r = reader.nextDouble();
System.out.println ("xxxx " + "xxxxxx. ");
q= MAX/ (r*b)*a;
System.out.println("xxxx "+q+ " xxx");
} // end of method main
} //end of class Patrol

נערך על-ידי OR2OOO

פורסם

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

התוכנית מחכה ואתה מחכה :)

פורסם

^ בדיוק, נהוג להציג פלט לפני קלט, לכן לא התרחש שום דבר..

פורסם
  • מחבר

תודה רבה! עבד :)

עוד שאלה, איפה צריך לשים את הפקודה הזאת? היא אמורה לעגל את המספר של התוצאה הסופית.


[FONT=serif]double [/FONT]
[FONT=serif]afterRounding [/FONT]
[FONT=serif]= Math.round ([/FONT]
[FONT=serif]beforeRounding [/FONT]
[FONT=serif]* MAX) / (MAX * 1.0);
[/FONT]

פורסם

הקוד שלך לא ברור.

מה אתה מנסה להשיג?

פורסם
  • מחבר

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

נערך על-ידי Albetron

פורסם
  • מחבר

תודה רבה..

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

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


import java.util.Scanner;
public class xxxx
{
public static void main (String [] args)
{
int a,b,c;
Scanner scan=new Scanner(System.in);
System.out.println("Hello, please enter your destination in two integers");
a = scan.nextInt();
b = scan.nextInt();


a=(a =< 1000 || a => 99);
b=(b =< 10000 || b => 100);


a=Math.pow(a,2);
b=Math.pow(b,2);
a+b=c;
c = scan.nextInt();
c=Math.sqrt(c);
System.out.println("xxxx");

} // end of method main
} //end of class xxx


פורסם

הביטוי a =< 1000 למשל מחזיר ערך בוליאני (אמת או שקר). מאחר ו-a הוא מטיפוס שלם (int) הקומפיילר צועק.

בנוסף, השמה מבצעים למשתנה שמשמאל. c=a+b אומר למעבד לחשב את הערך של a ועוד b ואת הערך שיצא לשים במשתנה c.

שים לב שאח"כ אתה דורס את הערך שהיה ב-c ע"י קליטת ערך מהמשתמש.

פורסם

השווה צריך לבוא אחרי הגדול / קטן.

אבל בכלל לא ברור מה המשמעות של השורות האלה.

מיותר להשתמש בpow כדי להעלות מספר בריבוע (יותר קריא ויותר יעיל לעשות X*X).

וכן לא ברור למה אתה קורא לתוך C אם C אמור להיות A^2+B^2.

פורסם

אני רק חייב להעיר משהו לגבי הכותרת:

תפקידו של הקומפיילר היא רק לתרגם את הקוד לשפת מכונה (או לשפת ביניים במקרה של שפות כמו ג'אווה ו-#C) אם הקוד מתקמפל ללא שגיאות, הקומפיילר סיים את העבודה שלו. אם אתה חושב שהתכנית לא רצה, אז תאמר שהתכנית לא רצה.

נערך על-ידי שניצל

פורסם
  • מחבר
הביטוי a =< 1000 למשל מחזיר ערך בוליאני (אמת או שקר). מאחר ו-a הוא מטיפוס שלם (int) הקומפיילר צועק.

בנוסף, השמה מבצעים למשתנה שמשמאל. c=a+b אומר למעבד לחשב את הערך של a ועוד b ואת הערך שיצא לשים במשתנה c.

שים לב שאח"כ אתה דורס את הערך שהיה ב-c ע"י קליטת ערך מהמשתמש.

איך אני מסדר שאוכל לעשות את ההשוואה?

פורסם
  • מחבר

אני אהיה יותר ספציפי בעצם, כמו שאמרתי מקודם אני רוצה לחשב את מישפט פיתגורס. אבל רק אם משתמש מכניס שני מספרים, אחד הוא מספר עם 3 ספרות והשני עם 4..בגלל זה השתמשתי ב(a => 99 || a =< 1000)). אבל זה לא כל כך עובד כנראה..אתה יודע איך אפשר לסדר את זה בבקשה?

ארכיון

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

דיונים חדשים