(۱۳۹۴/۰۱/۰۸, ۰۳:۰۰ ق.ظ)'داش بهروز' نوشته: دوست عزیز فرض کنید کارکتر "ا" 1 واحد اضافه میکنه،کارکتر "ب " 2 واحد اضافه میکنه و کارکتر "س " 3 واحد اضافه میکنه تا............
خب برای اینکار شما اولی یک متغییر از نوع int به صورت سراسری تعریف میکنی و یک متغییر رشته ای..
کد پیاچپی:int result=0;
String my_string;
حالا کافیه در متد onclickLisiner یک حلقه تعریف کنید که بیاد دونه دونه کارکتر رو بخونه چک کنه..مثل زیر
کد پیاچپی:final EditText edit=(EditText)findViewById(R.id.edit_text1);
Button b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
my_string=edit.getText().toString();
for(int i=0;i<my_string.length();i++)
{
switch (my_string.charAt(i)) {
case 'ا':
result+=1;
break;
case 'ب':
result+=2;
break;
case 'س':
result+=3;
break;
}
}
Toast.makeText(getApplicationContext(), ""+result, Toast.LENGTH_LONG).show();
}
});
در کد بالا برای بدست آوردن کارکتر خاصی از یک رشته از دستور زیر استفاده کردیم.
کد پیاچپی:my_string.charAt(3)//کارکتر سوم برمیگرداند.
این حلقه به تعداد طول رشته تکرار میشود..
کد پیاچپی:i<my_string.length()
موفق باشید
ممنون آره این درست شد آخه من از ی روش دیگه رفته بودم
کد پیاچپی:
if (x != null && x.equals("ا"))
tv.setText("1");
ولی ی مشکل دیگه هست اگه دو بار روی btn بزنم عدد 2برابر میشه این رو چجور میشه از کار انداخت