آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال در مورد عبارت RETURN

Muta  8 سال پیش  8 سال پیش
0 0

با سلام

در پروژه ماشین حساب در قسمت کد CleanLCD وقتی عبارت RETURN رو پاک می کنم دیگه این کد عمل نمیکنه سوالم این که عبارت RETURN دقیقا چه کاری میکنه که با حذفش کد CleanLCD درست عمل نمی کنه؟ و در واقع کار دقیق این عبارت چیه؟

منظورم این قسمت کد از مجموعه کدهای زیر هست

 
if (CleanLCD) {
txtResult.setText("" + Number);
CleanLCD = false;
return;

 

package soltani.mohammadreza.course.app.SmartCalculator_V2;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;


public class SmartCalculator_V2Activity extends Activity {

public String LastOperator;
public Double LastNumber;
public boolean CleanLCD;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button btn0 = (Button) findViewById(R.id.btn0);
Button btn1 = (Button) findViewById(R.id.btn1);
Button btn2 = (Button) findViewById(R.id.btn2);
Button btn3 = (Button) findViewById(R.id.btn3);
Button btn4 = (Button) findViewById(R.id.btn4);
Button btn5 = (Button) findViewById(R.id.btn5);
Button btn6 = (Button) findViewById(R.id.btn6);
Button btn7 = (Button) findViewById(R.id.btn7);
Button btn8 = (Button) findViewById(R.id.btn8);
Button btn9 = (Button) findViewById(R.id.btn9);
Button btnDot = (Button) findViewById(R.id.btnDot);
Button btnDevide = (Button) findViewById(R.id.btnDevide);
Button btnMultiply = (Button) findViewById(R.id.btnMultiply);
Button btnMnus = (Button) findViewById(R.id.btnMnus);
Button btnPlus = (Button) findViewById(R.id.btnPlus);
Button btnEqual = (Button) findViewById(R.id.btnEqual);
Button btnMP = (Button) findViewById(R.id.btnMP);
Button btnClean = (Button) findViewById(R.id.btnClean);
TextView txtMini = (TextView) findViewById(R.id.txtMini);
final TextView txtResult = (TextView) findViewById(R.id.txtResult);

OnClickListener OperatorClickListener = new OnClickListener() {

@Override
public void onClick(View View) {
CleanLCD = true;

Button btn = (Button) View;
String Operator = btn.getText().toString();
double Number = Double.parseDouble(txtResult.getText().toString());
double Result = 0;
if (LastOperator == null) {
LastNumber = Number;

}
else {
if (LastOperator.equals("+")) {
Result = LastNumber + Number;
}
else if (LastOperator.equals("-")) {
Result = LastNumber - Number;
}
else if (LastOperator.equals("*")) {
Result = LastNumber * Number;
}
else if (LastOperator.equals("/")) {
Result = LastNumber / Number;
}
LastNumber = Result;
txtResult.setText("" + Result);

}
LastOperator = Operator;

}
};

OnClickListener NumberClickListener = new OnClickListener() {

@Override
public void onClick(View view) {
Button btnnum = (Button) view;
String Number = btnnum.getText().toString();
String LastNumber = txtResult.getText().toString();
if (CleanLCD) {
txtResult.setText("" + Number);
CleanLCD = false;
return;

}

if (LastNumber.contains(".")) {

if (Number.equals(".")) {
txtResult.setText("" + LastNumber);
}
else if ( !Number.equals(".")) {
if (LastNumber.length() < 10) {
txtResult.setText("" + LastNumber + Number);
}

}

}
else {

if (LastNumber.equals("0")) {
if (Number.equals(".")) {

txtResult.setText("" + LastNumber + Number);
}

else {
txtResult.setText("" + Number);
}
}
else {
if (LastNumber.length() < 10) {
txtResult.setText("" + LastNumber + Number);

}
}
}

}
};

btnDevide.setOnClickListener(OperatorClickListener);
btnMultiply.setOnClickListener(OperatorClickListener);
btnMnus.setOnClickListener(OperatorClickListener);
btnPlus.setOnClickListener(OperatorClickListener);

btn0.setOnClickListener(NumberClickListener);
btn1.setOnClickListener(NumberClickListener);
btn2.setOnClickListener(NumberClickListener);
btn3.setOnClickListener(NumberClickListener);
btn4.setOnClickListener(NumberClickListener);
btn5.setOnClickListener(NumberClickListener);
btn6.setOnClickListener(NumberClickListener);
btn7.setOnClickListener(NumberClickListener);
btn8.setOnClickListener(NumberClickListener);
btn9.setOnClickListener(NumberClickListener);
btnDot.setOnClickListener(NumberClickListener);

}
}


 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Muta  8 سال پیش
0 0

کسی در این مورد اطلاعاتی نداره؟

+1 0
ببین اگر cleanLCD درست یا True باشه عملیات انجام میشه و وقتی به اولین return رسید بقیه دستورات دیگه اجرا نمیشن و از اون بلاک مورد نظر خارج می شود. (8 سال پیش)
+1 0
return تقریبا شبیه به break عمل میکنه یعنی اگر شرط مربوط بهش درست بود از اون بلاک بپر بیرون و دیگه ادامه نده. (8 سال پیش)
پاسخ به سوال 
هادی بی غم  8 سال پیش
+1 0

سلام 

واسه جلوگیری از ادامه دستوراته که اگر این شرط صحیح بود بقیه دستورات نادیده گرفته بشن در صورت حذفش کل دستوراتی که نوشته شده تا آخر انجام میشن ، استاد آقاجانی به جای تعریف چند لیستنر و جلوگیری از بی نظمی و شلوغی کار همه دستورات رو یکجا نوشتن تا نیازی به لیستنر اضافه ای نباشه 

 


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .