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

برنامج تفقيط بلغة الجافا "تحويل الرقم الى كتابة"

مغلق
بدأه ابو سيف في 22 أكتوبر 2007 · 9 رد · 3,597 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا أخوكم مهند ... مستخدم جديد لهذا الموقع اسال الله ان يعلمنا ما ينفعنا وينفعنا بما علمنا ....

احتاج مساعدة منكم يا اخوة وهي برنامج تفقيط بلغة الجافا ... انا استخدم J2EE اريد ان اكتب مثلا 10 وعند ضغط Button معين ينتج لي التالي "عشر دنانير فقط لاغير"

والله محتاجو جدا...

تحياتي

Don't Be Sad Allah With You

#2

طيب if statement تلبي غرضك

اذا رقم واحد اطبع واحد ...إلخ

وش تقصد ب "برنامج تفقيط بلغة الجافا ؟

#3

اخي عيسى العنزي

اريد Class فيه التالي :

ان ادخل قيمة رقمية مثل : 1500 ويطبع نتيجة "ألف وخمسمئة ريال فقط لاغير"

او ان ادخل قيمة : 12.5 ويطيع النتيجة "اثناعشر ريالا وخمسون هللة فقط لا غير " ........................هذه النتائج بالريال السعودي

اما مثلا الدينار الاردني

ادخل قيمة :1355 يطبع نتيجة الف وثلاثمئة وخمسة وخمسون دينارا فقط لا غير

ادخل قيمة : 13.568 يطبع نتيجة ثلاثة عشر دينار وخمسمئة وثمانية وستون فلسا فقط لاغير ........

ياريت لو تساعدوني باسرع وقت ...

اخوكم مهند

تم تعديل هذه المشاركة بواسطة ابو سيف في 22 أكتوبر 2007 في 14:30

#4

إبحث بالمنتدي ، أفتكر إن فيه موضوع مشابه

#5

حبيبي

البرنامج ماراح يكون صغير بحيث إني أقدر احطه هنا بالصفحـة

راح أحاول أكتبه واضعه لك هنا بالمرفقات

الفكرة

المستخدم يختار عملـة من القائمة

ويكتب المبلغ double

الرقم هذا ال double يوضع داخل method تقوم بترجمتـه نصياً

البرنامج يطبع هذه العبارة

سيستم.اوت.برنت("المبلغ هو: "+نتيجـة الmethod+العملة+"فقط لاغير");

وينتهي

بالنسبـة للميثود

إما تستخدم ال if statments

او ال Cases

وراح تكتب عبارات وإحتمالات ككثيرة,,,

وشكراً

#6

اخوي

واجهت صعوبة في محاولة إدخال اللغة العربية ل لجافا ,,

:)

#7

أخي الكريم ابحث في المنتدى وستجد برنامج للأخ alt

يقوم بالتحويل إلى unicode

بإمكانك أن تأخذ الكلمات منه

وتستخدمها في برنامجك على الشكل الذي يحلو لك بدون أي مشاكل

الله معكم

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

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

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

728x90.png

#8

أخي أبو سيف هذه محاولة سريعة الآن للأرقام من 1 إلى 10000 وبالتأكيد توجد طرق أفضل

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Main {

	private static Map keyNumbers;

	static{
		keyNumbers = new HashMap();
		keyNumbers.put("1","واحد");
		keyNumbers.put("2","اثنان");
		keyNumbers.put("3","ثلاثة");
		keyNumbers.put("4","أربعة");
		keyNumbers.put("5","خمسة");
		keyNumbers.put("6","سته");
		keyNumbers.put("7","سبعه");
		keyNumbers.put("8","ثمانية");
		keyNumbers.put("9","تسعه");
		keyNumbers.put("10","عشره");
		keyNumbers.put("11","إحدا عشر");
		keyNumbers.put("12","اثنا عشر");
		keyNumbers.put("13","ثلاثة عشر");
		keyNumbers.put("14","أربعة عشر");
		keyNumbers.put("15","خمسة عشر");
		keyNumbers.put("16","ستة عشر");
		keyNumbers.put("17","سبعة عشر");
		keyNumbers.put("18","ثمانية عشر");
		keyNumbers.put("19","تسعة عشر");
		keyNumbers.put("20","عشرون");
		keyNumbers.put("30","ثلاثون");
		keyNumbers.put("40","أربعون");
		keyNumbers.put("50","خمسون");
		keyNumbers.put("60","ستون");
		keyNumbers.put("70","سبعون");
		keyNumbers.put("80","ثمانون");
		keyNumbers.put("90","تسعون");
		keyNumbers.put("100","مائه");
		keyNumbers.put("200","مائتين");
		keyNumbers.put("300","ثلاثمائة");
		keyNumbers.put("400","أربعمائه");
		keyNumbers.put("500","خمسمائه");
		keyNumbers.put("600","ستمائه");
		keyNumbers.put("700","سبعمائه");
		keyNumbers.put("800","ثمانمائه");
		keyNumbers.put("900","تسعمائه");
		keyNumbers.put("1000","ألف");
		keyNumbers.put("2000","ألفان");
		keyNumbers.put("3000","ثلاثة آلاف");
		keyNumbers.put("4000","أربعة آلاف");
		keyNumbers.put("5000","خمسة آلاف");
		keyNumbers.put("6000","ستة آلاف");
		keyNumbers.put("7000","سبعة آلاف");
		keyNumbers.put("8000","ثمانية آلاف");
		keyNumbers.put("9000","تسعة آلاف");
		keyNumbers.put("10000","عشرة آلاف");	
	}
	public Main() {

	}
	public static void main(String[] args) {
		for(int i=1; i<=10000;i++){
			String arabicTranslatedNumber = getArabicTranslatedNumber(i);
			System.out.println("["+i+"] "+arabicTranslatedNumber);
		}
	}
	/**
	 * @param i
	 * @return
	 */
	private static String getArabicTranslatedNumber(int number) {
		StringBuffer buffer = new StringBuffer();
		String keyNumber = "";
		boolean first = true;
		if(number<=0 || number>10000){
			return "Invalid Number";
		}
		String directRes = (String)keyNumbers.get(number+"");
		if(directRes!=null){
			return directRes;
		}

		List digits = numberToDigits(number);
		int digitsCount = digits.size()-1;
		while(digitsCount>1){
			keyNumber = (String)digits.get(digitsCount--);
			if(keyNumber!=null&&keyNumber.length()>0&&!keyNumber.trim().equals("0")){
				buffer.append(first==true?"":" و");
				buffer.append(keyNumbers.get(keyNumber));
				first = false;	
			}

		}
		int lastTwoNum = toNumber((String)digits.get(0),(String)digits.get(1));
		if(lastTwoNum>=11&&lastTwoNum<=19){
			buffer.append(" و");
			buffer.append(keyNumbers.get(lastTwoNum+""));
			return buffer.toString();
		}
		keyNumber = (String)digits.get(0);
		if(keyNumber!=null&&keyNumber.length()>0&&!keyNumber.trim().equals("0")){
			buffer.append(digits.size()==2?"":" و");
			buffer.append(keyNumbers.get(keyNumber));
		}

		keyNumber = (digits.size()>1)?(String)digits.get(1):null;
		if(keyNumber!=null&&keyNumber.length()>0&&!keyNumber.trim().equals("0")){
			buffer.append((number>=13&&number<=19)?" ":" و");
			buffer.append(keyNumbers.get(keyNumber));
		}

		return buffer.toString();
	}

	/**
	 * @param num1
	 * @param num2
	 * @return
	 */
	private static int toNumber(String num1, String num2) {
		return new Integer(num1).intValue()+new Integer(num2).intValue();
	}

	private static List numberToDigits(int number){
		List digits = new ArrayList();
		int base = 1;
		do{
			digits.add(""+(number % 10)*base);
			number = number/10;
			base*=10;
		}while(number>0);
		return digits;
	}
}
#9

بارك الله في جهودكم جميعا ... ما قصرتم ...

شكر خاص ل PROG-OMAR

......................................................................

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا

#10

العفو أخي أنا بالخدمة

هذا الموضوع مغلق.

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

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

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

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

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