View Full Version : نا توانی در منها
Pam.goudarzi
یک شنبه 23 شهریور 1393, 15:33 عصر
سلام . من میخوام یک متغیر رو منهای متغیر دیگه کنم که موقع منها کردن که می شه، اررور Syntax error on token "-", invalid AssignmentOperator رو میده! چطوری باید منها رو وارد کنم؟
final int height = Integer.parseInt(ed1.getText().toString()); final int number = 105;
Button calculate = (Button) findViewById(R.id.calculate);
calculate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
height - number;
}
}) ;
Pam.goudarzi
یک شنبه 23 شهریور 1393, 15:35 عصر
هیچی درست شد اما حالا که میخوام جواب بدست اومده رو setttext کنم میگه که z به عنوان یه متغیر وحود نداره!:(
Button calculate = (Button) findViewById(R.id.calculate); calculate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
int z = height - number;
}
}) ;
ideal.setText(z);
tux-world
یک شنبه 23 شهریور 1393, 15:39 عصر
شما متغیر z رو داخل تابع نوشتید برای اینکه دسترسیشون رو به این توابع داخلی مهیا کنید باید خودش رو به صورت فینال تعریف کنید
مثلا
final int z= null
قبل توابع یا اینکه اون رو به صورت متد بالای توابع تعریف کنید
Pam.goudarzi
یک شنبه 23 شهریور 1393, 15:49 عصر
ممنون! حواسم نبود متغیر داخله!
Pam.goudarzi
یک شنبه 23 شهریور 1393, 15:53 عصر
اجرا کردم فورس کلوز داد، گفت که در int ای که در قسمت
final int height = Integer.parseInt(ed1.getText().toString());
گرفتم خطاست. من بصورت رشته درش آوردم چون که بدون این که به حالت رشته درش بیارم خطا می گرفت. و به parseint این خطا رو می گرفت:
The method parseInt(String) in the type Integer is not applicable for the arguments (Editable)
majnoon110
یک شنبه 23 شهریور 1393, 15:53 عصر
دوست عزیز ظاهر قضیه این هست که شما باید این نتیجه رو در یک متغیر بریزید
اگر میخواید در همون متغیر height بریزید باید به این صورت بنویسید:
height -= number;
Pam.goudarzi
یک شنبه 23 شهریور 1393, 15:56 عصر
دوست عزیز ظاهر قضیه این هست که شما باید این نتیجه رو در یک متغیر بریزید
اگر میخواید در همون متغیر height بریزید باید به این صورت بنویسید:
height -= number;
اینجا ریختم!
final int z = height - number;
majnoon110
یک شنبه 23 شهریور 1393, 15:59 عصر
اگر با متغیرهات مشکل داری و به هم ریخته شده. برای اینکه قاطی نکنی اون ها رو قبل از oncreat تعریف کن اینطوری:
private int h,n,z;
و بعد داخل هر بخش از متد oncreate بهشون مقدار بده.
++ اگر هم مقدار ادیت تکست خالی باشه یا عدد نباشه ارور میگیره برای تبدیل به int
Pam.goudarzi
یک شنبه 23 شهریور 1393, 16:01 عصر
دوست عزیز من مشکلم فورس کلوزه! logcat به final int height = Integer.parseInt(ed1.getText().toString());
گیر میده! ممنون
omid.n1990
یک شنبه 23 شهریور 1393, 16:18 عصر
به جای
Integer.parseInt(ed1.getText().toString());
ابتدا
ed1.getText().toString()
رو به درون یک متغییر رشته ای بریزید بعد از تابع Integer.parseInt استفاده کنید ببینید درست میشه یا نه
String s =ed1.getText().toString());
final int height = Integer.parseInt(s);
majnoon110
یک شنبه 23 شهریور 1393, 16:28 عصر
ideal.setText(z);
اینجا هم مشکل داری
باید int ابتدا به رشته تبدیل بشه
اینطوری بنویس
ideal.setText(z+"");
Pam.goudarzi
دوشنبه 24 شهریور 1393, 09:03 صبح
از همه ممنونم! ولی هنوز فورس کلوز میده!123464
majnoon110
دوشنبه 24 شهریور 1393, 09:39 صبح
خب این ظاهرش اینه که داره میگه مقدار تهی به int نسبت دادی
Pam.goudarzi
دوشنبه 24 شهریور 1393, 10:14 صبح
شاید به این علته که اطلاعات رو از EditText می گیره و امکان داره که Edittext خالی باشه!!! چون کدی که برای متغیر عددی گذاشتم این بوده:
final int height = Integer.parseInt(gainedtext);
majnoon110
دوشنبه 24 شهریور 1393, 10:35 صبح
شما باید یک if بذاری و بعد اطلاعات رو از edittext بگیری
if (! txt.gettext().tostring().equals(""){
کدهای مربوط برای تبدیل به int
}
dasssnj
دوشنبه 24 شهریور 1393, 10:51 صبح
شما باید یک if بذاری و بعد اطلاعات رو از edittext بگیری
if (! txt.gettext().tostring().equals(""){
کدهای مربوط برای تبدیل به int
}
کدتون را تصحیح می کنم با اجازه :
if (! txt.gettext().tostring().trim().equals("")){
کدهای مربوط برای تبدیل به int
}
saeed_g21
دوشنبه 24 شهریور 1393, 10:55 صبح
خب این ظاهرش اینه که داره میگه مقدار تهی به int نسبت دادی
فکر کنم میگه مقداری غیر از مقدار int داره یعنی حاوی String ی هست:متفکر:
majnoon110
دوشنبه 24 شهریور 1393, 11:19 صبح
کدتون را تصحیح می کنم با اجازه :
if (! txt.gettext().tostring().trim().equals("")){
کدهای مربوط برای تبدیل به int
}
ممنون دوست عزیز
trim اینجا در اصل چه کاری رو انجام میده؟
من با کد بالا انجام میدادم معمولا جواب میداد
اما اگر با trim کامل تر و بهتره ازین به بعد اینطوری استفاده کنیم.
dasssnj
دوشنبه 24 شهریور 1393, 13:29 عصر
ممنون دوست عزیز
trim اینجا در اصل چه کاری رو انجام میده؟
من با کد بالا انجام میدادم معمولا جواب میداد
اما اگر با trim کامل تر و بهتره ازین به بعد اینطوری استفاده کنیم.
trim فاصله های اول و آخر متن را پاک می کنه و مثلا اگه کابر به جای نوشتن متن فقط چند تا فاصله بنویسه (با کلید Space) دیگه متن خالی نیست اما این متد با حذف فاصله ها و کاراکتر n\ و t\ باعث میشه برنامه از کابر گول نخوره.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.