PDA

View Full Version : ماشین حساب



leon7394
شنبه 13 اردیبهشت 1393, 01:06 صبح
سلام خدمت دوستان و متخصصان

من سعی دارم صرفا برای تمرین و یادگیری و نه فروش و انتشار برنامه و قصد های شبیه به این ، ماشین حسابی بسازم که بتونه عبارتی مثل : " 4/5+2-6*4 " رو که داخل یک EditText وارد کرده ، با توجه به تقدم عملگر ها ، محاسبه کنم

خودم تونستم تا اینجا پیش برم که عملگر ها رو از درون رشته استخراج کنم و حتی index و جایگاهشون رو توی آرایه پیدا کنم

حالا باید چیکار کنم

مرسی از شما :)


String income = EditText1.getText().toString();

String[] allIncome = income.split("|");
int Len2 = allIncome.length-1;

String[] OpArray = income.split("\\d");
int Len = OpArray.length-1;
int counter = 0 ;
int[] index = null ;
int OpCount = index.length-1;

for(String s : OpArray)
{
for(int i = 0 ; i <= Len2 ; i++)
{
if(allIncome[i].equalsIgnoreCase(s))
{
index[counter] = i ;
counter++ ;
}
}
}


}
});

parvizwpf
شنبه 13 اردیبهشت 1393, 01:27 صبح
حالا که دارید سبک کار تمام ماشین حسابا رو نقض میکنید، چون من ماشین اینطوری ندیدم عبارت ریاضی حساب کنه، معمولا تک تک انجام میشه مگر برنامه های حساب. خب تا حالا خروجی هاتون چی بوده از این کد بالا توضیح بدید تا تیکه تیکه جلو بریم.

leon7394
شنبه 13 اردیبهشت 1393, 02:15 صبح
حالا که دارید سبک کار تمام ماشین حسابا رو نقض میکنید، چون من ماشین اینطوری ندیدم عبارت ریاضی حساب کنه، معمولا تک تک انجام میشه مگر برنامه های حساب. خب تا حالا خروجی هاتون چی بوده از این کد بالا توضیح بدید تا تیکه تیکه جلو بریم.

اگر منظور شما کد نویسی هاییه که اون بالا گذاشتم ، باید بگم اونا اصلا مهم نیستن ، از هر راهی شما بگید من میرم ، مسیر برام مهم نیست

و من میخوام اینجوری حساب کنم:
عکس ماشین حساب پیشفرض روی گوشی های سونی ایکسپریا :

118575

این کد بالا هم ، یک آرایه به ما میده تشکیل شده از عملگر های اون رشته ای که کاربر وارد کرده
و
یک آرایه عددی که مکان هر کدوم رو توی رشته مشخص میکنه
و یه رشته که کل کاراکتر ها در اون هستن

parvizwpf
شنبه 13 اردیبهشت 1393, 02:40 صبح
ببینید این کمکی میکنه:
http://stackoverflow.com/questions/3422673/evaluating-a-math-expression-given-in-string-form

abbasalim
شنبه 13 اردیبهشت 1393, 12:28 عصر
سلام
ما واسه پروژه دانشگاهیمون نیاز به اینجور چیزی داشتیم البته به زبان جاوا ، اون باید اعمال بزرگتری مثل اولویت پرانتز ها و سینوس،کسینوس،لگارینم و ... رو هم حساب کنه
این کد ببینید به دردتون می خوره :
http://barnamenevis.org/showthread.php?391130-%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87-%D9%85%D8%AD%D8%AA%D9%88%DB%8C%D8%A7%D8%AA-%DB%8C%DA%A9-%D8%B1%D8%B4%D8%AA%D9%87-%D9%82%D8%A7%D8%A8%D9%84-%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87