الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[تنبيه - عنوان غير مناسب : ]خطأ بسيط عند تشغيل البرنامج

بدأه FunnyWolF في 20 مايو 2009 · 5 رد · 512 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

هذا برنامج يقوم بقراءة درجات الطلاب من ملف تكست عادي ويجري عمليه حسابيه الا وهي اظهار معدل كل طالب موجود في الملف وتقدير كل طالب

ولكن عند عمل كومبايل للبرنامج لا يعطيني اي اخطاء ولكن عند تشغيل البرنامج يعطيني الخطأ التالي

Exception in thread "main" java.util.InputMismatchException
	at java.util.Scanner.throwFor(Scanner.java:857)
	at java.util.Scanner.next(Scanner.java:1478)
	at java.util.Scanner.nextDouble(Scanner.java:2404)
	at GradeBookDemo.main(GradeBookDemo.java:23)

وهذا البرنامج

 import java.util.Scanner;  //needed to use scanner class 
import java.io.*;

public class GradeBookDemo
{

	public static void main(String[] args) throws IOException
	{

					Scanner keyboard = new Scanner(System.in);

					File file = new File("StudentInfo.txt");

					Scanner inputFile = new Scanner(file);

					int i = 0;						
					while (inputFile.hasNext())
						{
								GradeBook.setName(i, inputFile.nextLine());

							for(int x = 0; x < 4; x++)
							{
								GradeBook.scores[x] =  inputFile.nextDouble();
							GradeBook.mainScores  = GradeBook.mainScores  + GradeBook.scores[x]  ;						
							}
							GradeBook.mainScores  = GradeBook.mainScores  /4;
							if (GradeBook.mainScores  >= 85)
							GradeBook.grade  = 'A';
							else if(GradeBook.mainScores  >= 75)
							GradeBook.grade  = 'B';
							else if(GradeBook.mainScores  >= 65)
							GradeBook.grade  = 'C';
							else if(GradeBook.mainScores  >= 50)
							GradeBook.grade  = 'D';
							else 
							GradeBook.grade  = 'F'; 
							i++;							
							}
		for (int n = 0; n < 5; n++)
			System.out.println("Name: " + GradeBook.getName(n) + "Average Score:" + GradeBook.getAverage(n) + "Grade: " + GradeBook.getLetterGrade(n));		
			inputFile.close();
	}	
}

وهذا الكلاس

 
import java.util.Scanner;
import java.io.*;


public class GradeBook
	{ 
	public static double [][] scores = new double [4][5];
	public static double [] mainScores = new double [5];
	public static String [] names = new String [5];
	public static char [] grade = new char [5];


	public static void setName(int studentNumber, String name)
	{
		names[studentNumber] = name;

	}		

	public static String getName(int studentNumber) 

	{

		return names[studentNumber];	
	}	

	 public static double getAverage(int studentNumber)
	 {
	 	return mainScores [studentNumber];
	 }		
	 public static char getLetterGrade(int studentNumber) 
	{
		return grade [studentNumber];	
	}	




	} 
}

فياريت المساعد يا اخوان :P

تم تعديل هذه المشاركة بواسطة FunnyWolF في 20 مايو 2009 في 15:31

#2

ممكن تعطينا محتوى الملف StudentInfo.txt

#3

معليش :nose_pick: نسيت

هذا محتوى الملف

Allen Konigsberg
98
89
100
76
Frederick Austerlitz
67
89
91
88
Camille Javal
78
79
88
91
David Robert Jones
88
98
76
56
Melvin Kaminsky
94
93
91
98
#4

السلام عليكــم ورحمـة الله وبركاتــه ،،

لست متعودا على العمل بScanner، لذلك فالحل الذي أقرحه ليس هو الأمثل

بدل nextDouble إستعمل nextString ثم قم بتحويل الString الناتج إلى double عن طريق Double.parseDouble(String s)

يعني غير هذا السطر

GradeBook.scores[x] =  inputFile.nextDouble();

ب


GradeBook.scores[x] = Double.parseDouble(str);
 String str = inputFile.nextLine();

تم تعديل هذه المشاركة بواسطة herch في 21 مايو 2009 في 20:09

#5

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#6

يعطيك الف الف عافيه اخي العزيز

البرنامج اشتغل ميه ميه, الله يحفظك من كل شر إن شاء الله :clapping:

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…