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

سؤال صغير

مغلق
بدأه مبتدئة جافا في 3 نوفمبر 2006 · 7 رد · 755 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كان ليا سؤال صغير..

أنا حاليا بعمل برنامج يحول من النظام الثمانى للنظام العشرى..

يعنى عاوزة اخد مجموعة ارقام من الشاشة...واخد كل رقم لوحده..واقسم كل رقم للارقام المكونة له

فاخدت الارقام من على الشاشة زى ما باخد اى string

وبعدين حددت الرقم الاول مثلا باستخدام charAtوخزنت الرقم فى متغير

char ch

لكن لما بغير النوع واحوله الى double عشان انفذ عملية التحويل بلاحظ ان القيم اتغيرت

يعنى مثلا لو

ch=7

بيكون المتغير من نوع double بيساوى 55

ممكن حد يفهمنى ليه التغير دا من الـ char للـdouble؟؟؟ :huh:

وازاى احافظ على القيمة زى ما هى؟؟؟ :huh:

وهل فيه طريقة افضل عشان اخد الارقام كـdouble مباشرة على الشاشة؟؟؟ :unsure:

واسفة على الازعاج

شكرا

تم تعديل هذه المشاركة بواسطة مبتدئة جافا في 3 نوفمبر 2006 في 03:54

#2
اقتباس
ممكن حد يفهمنى ليه التغير دا من الـ char للـdouble؟؟؟ :huh:

التغير حصل لانو حول الى الـ Ascii كود للأ char

الاسكي كود للـ 7 يساوي 55

ممكن تعمل parse كالتالي

double d=Double.parseDouble(""+ch);

منقطع من حين لاخر

#3

الاخ أبو الفؤاد

جزااااااااااااااك الله كل خير..حضرتك افدتنى كتييييير جداا..الحمد لله القيم تساوت..

شكرا على التوضيح..

بس معلش فيه سؤال تانى :unsure:

انا لما بعمل run للبرنامج بيطلع رسالة بعد ما بدخل اول input

ياريت لو حد يفهمنى معنى الرسالة دى ايه؟؟

java.lang.StringIndexOutOfBoundsException: String index out of range: 2

at java.lang.String.charAt(String.java:455)

at octal2decimal.main(octal2decimal.java:12)

Exception in thread "main"

شكرا

#4

ما ادري لو ترفقين الكود يكون اوضح بس على العمود اعتقد مشكله

java.lang.StringIndexOutOfBoundsException: String index out of range: 2

at java.lang.String.charAt(String.java:455)

at octal2decimal.main(octal2decimal.java:12)

Exception in thread "main"

المتغير الي داخل اللوب خرج عن طول ال String بالتالي بيعيط OutofRang لانو قيمه المتغير اكبر من طول ال String

# في طريقه يستخدمونها المبرمجين كثير هي عباره عن جدوله المتغيرات قومي بعمل جدول كل عمود عباره عن متغير وقومي بتتبع ال Loop وبتعرف مشكلتك وين

وشكرا

تم تعديل هذه المشاركة بواسطة _Developer_ في 3 نوفمبر 2006 في 21:24

#5

معلومة ممكن تيسر عليك الكثير من الجهد

MMSs كتب:
في الصف Integer يوجد

int num = 53464;
Integer.toBinaryString(num); //returns binary number
Integer.toOctalString(num); //returns octal number
Integer.toHexString(num); //return Hexadecimal number
Integer.valueOf(String_Value, radix); //String_Value is the number in any format i.e 111001, radix is number radix i.e 2, returns the integer value

#6

الأخ developer

جزااااك الله كل خير على ردك واهتمامك..

هو المشكلة ان الـerror ظهر فجأة وبيظهر بعد المتغيرات الى كان بيقبلها قبل كدا

هو انا وجدت ان الـ erreo فعلا له علاقة بالـloop لأن باقى البرنامج اشتغل بشكل صحيح

مرفق الجزء الخاص الـloop..وياريت لو حضرتك توضحلى سبب الخطأ الى فيه



base=1/(Math.pow(8,j));

ch=nom_as_string.charAt(i); //take one char of the string in each cycle

nom_as_double=Double.parseDouble(""+ch); //covert this char into double

dec=dec+(nom_as_double*base); //make the mathimatical operation

System.out.println(nom_as_string+ "[8]=" +dec+ "[10]"); //show the result
}
for (i=2, j=1;i<=nom_as_string.length();i++,j++){

الأخ على..

جزاك الله كل خير على المعلومة..

إن شاء الله أحاول استفيد بيها فى الكود..

شكرا جزيلا

تحيتى

#7

جربي تشيلي الـ =

من

i<=nom_as_string.length

لأن الـ charAt تبدأ من الصفر

#8

الأخ osamait

جزاااااااااااك الله كل خير..

البرنامج اشتغل والحمد لله..

شكرا جزيييلا على مساعدتك

وشكرا لكل الأخوة الى اهتموا

تحيتى

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

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