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

مشکل در پروژه ماشین حساب

Gandalf  9 سال پیش  9 سال پیش
0 0

 
OnClickListener cleanClickListener =newOnClickListener(){

@Override
publicvoid onClick(View view){
txtResult.setText("0");
txtMini.setText("");
}

};

btnC.setOnClickListener(cleanClickListener);



کد رو اضافه کردم که محتویات رو پاک کنم. اما بقیه توابع تحت تاثیر قرار میگیرند به عنوان مثال ضرب 25 در 5 رو صفر نشون میده. تو تقسیم و جمع و تفریقم هم همین ایراد رو داره.

6 روزه دارم باهاش دست و پنجه نرم میکنم تروخدا کمک کنین :'(

0 0
دوست نازنین. یک بار بطور کامل کدهاتو بنویس اینجا ببینیممشکل از کجاست جان برادر (9 سال پیش)
 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
sadra  9 سال پیش
+2 0

کدت رو به این تغییر بده ببین درست میشه؟ ( کلا این رو بزار جای تون )

 btnC.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {

txtResult.setText("0");
txtMini.setText("");
}
});

0 0
مشکل کماکان حل نشده :( (9 سال پیش)
پاسخ به سوال 
Gandalf  9 سال پیش
0 0

 package com.uncocoder.course.app.calculator;

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


public class CalculatorActivity extends Activity {

public String lastOperator;
public Double lastNumber;
public boolean mustClearLcd;
public boolean mustOverrideOperator;
public Typeface lcdFont;


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

lcdFont = Typeface.createFromAsset(getAssets(), "lcd" + ".ttf");

Button btnC = (Button) findViewById(R.id.btnC);
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 btnPlus = (Button) findViewById(R.id.btnPlus);
Button btnMinus = (Button) findViewById(R.id.btnMinus);
Button btnDevide = (Button) findViewById(R.id.btnDevide);
Button btnMultiply = (Button) findViewById(R.id.btnMultiply);
Button btnEqual = (Button) findViewById(R.id.btnEqual);
Button btnPoint = (Button) findViewById(R.id.btnPoint);

final TextView txtResult = (TextView) findViewById(R.id.txtResult);
final TextView txtMini = (TextView) findViewById(R.id.txtMini);

txtResult.setTypeface(lcdFont);
txtMini.setTypeface(lcdFont);

OnClickListener cleanClickListener = new OnClickListener() {

@Override
public void onClick(View view) {
txtResult.setText("0");
txtMini.setText("");
}

};


OnClickListener operatorClickListener = new OnClickListener() {

@Override
public void onClick(View view) {
double number = Double.parseDouble(txtResult.getText().toString());
Button btn = (Button) view;
String operator = btn.getText().toString();

mustClearLcd = true;

if (mustOverrideOperator) {
lastOperator = operator;

String oldMiniText = txtMini.getText().toString();

String croppedString = oldMiniText.substring(0, oldMiniText.length() - 1);
txtMini.setText(croppedString + operator);

return;
}

String oldMiniText = txtMini.getText().toString();
txtMini.setText(oldMiniText + number + operator);

mustOverrideOperator = true;

if (lastOperator == null) {
lastNumber = number;
} else {
double result = 0;
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;
}

else if (lastOperator.equals("btnC")) {
result = 0;
}

else if (lastOperator.equals("=")) {

}

txtResult.setText("" + result);
lastNumber = result;
}

lastOperator = operator;
}
};

OnClickListener numberClickListener = new OnClickListener() {

@Override
public void onClick(View view) {
mustOverrideOperator = false;
/*
switch (view.getId()) {
case R.id.btn0:
break;

case R.id.btn1:
break;
}
*/

Button btn = (Button) view;
String btnText = btn.getText().toString();
String oldText = txtResult.getText().toString();

if (mustClearLcd) {
txtResult.setText(btnText);
mustClearLcd = false;
return;
}

if (btnText.equals(".")) {
if ( !oldText.contains(".")) {
txtResult.setText(oldText + btnText);
return;
}

return;
}

if (oldText.equals("0")) {
txtResult.setText(btnText);
} else {
if (oldText.length() < 10) {
txtResult.setText(oldText + btnText);
}
}
}
};

btnPlus.setOnClickListener(operatorClickListener);
btnMinus.setOnClickListener(operatorClickListener);
btnEqual.setOnClickListener(operatorClickListener);
btnDevide.setOnClickListener(operatorClickListener);
btnMultiply.setOnClickListener(operatorClickListener);

btnPoint.setOnClickListener(numberClickListener);
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);

btnC.setOnClickListener(cleanClickListener);

}
}
0 0
قسمتس که من به پروژه ی استاد اضافه کردم btnC و cleanClickListener هست ؟ (9 سال پیش)
0 0
قسمتس که من به پروژه ی استاد اضافه کردم btnC و cleanClickListener هست (9 سال پیش)
0 0
بدون این btnC پروژه درست کار میکنه؟ به اون صورت که گفتم کد رو تست کردین؟ جواب نداد؟ (9 سال پیش)
0 0
بله پروژه خود استاد هست ( اموزش ماشین حساب ) ولی وقتی کلید پاک کن رو میذارم کار نمیکنه یعنی کار میکنه ولی اشتباه! میتونین سورس پروژه رو لینک از اینجا دانلود کنین (9 سال پیش)
0 0
تست کردم بازم تا قبل اینکه ''پاک کن '' رو بزنم درسته ولی وقتی صفحه رو پاک میکنم همه ی جواب ها صفر میشوند (9 سال پیش)
پاسخ به سوال 
ajn91  9 سال پیش
+1 0

اینم جواب شما

 btnC.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        txtMini.setText("");
        txtResult.setText("0");
        lastNumber = null;
        lastOperator = null;
        mustClearLcd = false;

    }
});
پاسخ به سوال 
salva  9 سال پیش
0 0

ماشین حساب سایت

سلام دوستان. من ماشین حسابی که در سایت قرار داده شده رو اجرا می کنم اول 2*3=6 رو درست کار می کنه اما بعد می نویسم 2*5 صفر نشون می ده و هر عملگر دیگه ای هم امتحان می کنم همین مورد هست.لطفا رسیدگی کنید.چون من پروژه ماشین حساب رو خودم هم کار کردم و این مشکل برای من هم وجود داره. حتما باید دکمه پاک کردن باشه تا درست کار کنه؟ اگر اینطوری هست پس چرا در پروژه ای که در سایت قرار داده شده رسیدگی نشده؟

کاری ندارم که کسی خودش ماشین حساب کار کرده یا نه،چون خودم هم ماشین حساب رو با آموزش های ویدئویی استاد کار کردم و حتا گرافیک ماشین حساب رو هم مثل ایشون کار کردم. موضوع این هست که فرض کنید من تازه ایمپورت یاد گرفتم و دارم به دوستم تبلیغ می کنم بیاد سایت و  ثبت نام کنه. به خونه مون دعوت کردم و پروژه ماشین حساب رو براش نشون میدم اما اون چیزی که باید ببینه نمی بینه :) دوستان با کسی دعوا ندارم.خودم این پروژه رو کار کردم تموم شد .برای دوستانم می خوام سایت رو تبلیغ کنم و هم اینکه وقتی استاد زحمت کشیدند و پروژه ماشین حساب رو در سایت قرار دادند ما نباید انتقاد کنیم و فقط بگوییم چح چح؟ 

به هر حال من حرفم رو زدم و قصد جسارت به کسی نداشتم و امیدوارم که این مشکل حل بشه

 

0 0
پروژه ماشین حساب یک پروژه ساده نیست به خاطر پیچیدگی توابعش ولی در پروژه استاد من اشکالی ندیدم ، من الان نمیدونم دقیقا مشکل شما از کجای کدتون میتونه باشه ولی اگر کدتون رو قرار بدید شاید بتونم کمکی بکنم (9 سال پیش)
0 0
جناب محمد حسین من قدم به قدم این پروژه رو با ویدئوی استاد پیش رفتم و همه چیز درست بود اما موقع اجرا دیدم ماشین حسابم 2*3 رو اجرا می کنه اما بعد ادامه ش که می نویسم +4 اون جواب قبلی رو صفر می کنه و جواب رو جای 10 می نویسه 4! بعد اومدم اینجا و ماشین حساب سایت رو هم اجارا کردم که به همین مشکل برخورد کردم، با اضافه کردن کدی این مشکل برای ماشین حساب من حل شد اما هنوز هم ماشین حساب سایت این مشکل رو داره. (9 سال پیش)

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