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

Scanner And Parser With Java

بدأه mr.beshoy في 13 مايو 2009 · 3 رد · 659 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أنا بعمل هنا scanner and parser

عبارة عن انى بدخل رقم ثم إحدى العلامات الآتية (+ و-و*و\) ثم رقم آخر

لو حصل أنى دخلت علامة مخالفة

عاوز ال parser يعطينى رسالة خطا

انا مش عارف اظبط االجزئية الخاصة ب ال parser

ده كود ال scanner



public class Switch {

char[] oper = {'+', '-', '*', '/'};

public Switch() {
Scanner s = new Scanner(System.in);
System.out.println("Enter an operator:");
String input = s.next();

for (int i = 0; i < oper.length; ++i) {
oper = input.charAt(0);
}

System.out.println("Enter a number:");
input = s.next();
int num1 = Integer.parseInt(input);

System.out.println("Enter anthor number:");
input = s.next();
int num2 = Integer.parseInt(input);

System.out.println("The result is");
for (int i = 0; i < oper.length; ++i) {
switch (oper) {
case '+':
int result = num1 + num2;
System.out.println(result);
break;
case '-':
result = num1 - num2;
System.out.println(result);
break;
case '*':
result = num1 * num2;
System.out.println(result);
break;

}
}
}

public static void main(String[] args) {
new Switch();
}
}
import java.util.Scanner;

و ده كود ال parser

class ParserTest {

	Switch s = new Switch();
	char operSympole;

	public ParserTest() {
		for (int i = 0; i < s.oper.length; ++i) {
			if (operSympole != s.oper) {
				System.out.println("Error in language");
			}
		}
	}
}

شكرا

#2

بيشوي ضع الكود كمرفق

أنا حالياً في العمل بإذن الله عندما أصل إلى البيت سأنظر في الموضوع

تحياتي

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

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

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

728x90.png

#3
import java.util.Scanner;

public class Switch {

	char[]  oper = {'+', '-', '*', '/'};

	public Switch() {
		Scanner s = new Scanner(System.in);
		System.out.println("Enter an operator:");
		String input = s.next();

		for (int i = 0; i < oper.length; ++i) {
			oper = input.charAt(0);
		}

		System.out.println("Enter a number:");
		input = s.next();
		int num1 = Integer.parseInt(input);

		System.out.println("Enter anthor number:");
		input = s.next();
		int num2 = Integer.parseInt(input);

		System.out.println("The result is");
		for (int i = 0; i < oper.length; ++i) {
			switch (oper) {
				case '+':
					int result = num1 + num2;
					System.out.println(result);
					break;
				case '-':
					result = num1 - num2;
					System.out.println(result);
					break;
				case '*':
					result = num1 * num2;
					System.out.println(result);
					break;
				default:
				System.out.println("error pleas try again");

			}
		}
	}

	public static void main(String[] args) {
		new Switch();
	}

mofeedchaar@hotmail.com

#4

أخ علاء الكود موجود

و الأخ الأخير

حضرتك استعملت ال default

أنا عاوز اعمل parser

لأنى مش هطبق operation فقط

هعمل حاجات simple

زى المتغير يكون معرف

و لو مكنش معرف ال parser لما يعمل match

لو كان الى انا هكتبه غير موافق لل scanner

يدينلا رسالة خطا

ممكن كمان اعمل simicoln فى نهاية الجملة

ال parser هيشوف ال مدخله ده matching مع ال scanner ولا لا

و لو مش math يدينى error

ياريت بجد حد يساعدنى فيها

شكرا

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