modernserver
شنبه 30 مرداد 1395, 16:05 عصر
سلام
بنده دارم برنامه نویسی اندروید رو یاد میگیرم و الان دارم تمرین میکنم یه ماشین حساب اندروید درست میکنم مشکل تقسیم بر صفر رو با if else pg حل کردم
اما میخواستم وقتی در تکست ویو عدد اول صفر باشه و کاربر مثلا عدد یک رو نشون بده صفر رو پاک کنه و یک رو بزاره یعنی 01 نشه
برای حل این مشکل هم از if else کمک کردم اما فکر میکنم اگوریتمش اشتباهه و برای همین فورس کلوز میده
کد برنامه :
package com.sayeban.calc;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class Main extends ActionBarActivity {
private TextView show;
private Button n0;
private Button n00;
private Button n1;
private Button n2;
private Button n3;
private Button n4;
private Button n5;
private Button n6;
private Button n7;
private Button n8;
private Button n9;
private Button sub;
private Button sum;
private Button zarb;
private Button tagh;
private Button res;
private Button ac;
private Button dot;
String F;
private int number1;
private int number2;
private int fres;
private int first0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
show=(TextView) findViewById(R.id.main_txtshow);
n0=(Button) findViewById(R.id.main_n0);
n00=(Button) findViewById(R.id.main_doub0);
n1=(Button) findViewById(R.id.main_n1);
n2=(Button) findViewById(R.id.main_n2);
n3=(Button) findViewById(R.id.main_n3);
n4=(Button) findViewById(R.id.main_n4);
n5=(Button) findViewById(R.id.main_n5);
n6=(Button) findViewById(R.id.main_n6);
n7=(Button) findViewById(R.id.main_n7);
n8=(Button) findViewById(R.id.main_n8);
n9=(Button) findViewById(R.id.main_n9);
sub=(Button) findViewById(R.id.main_sub);
sum=(Button) findViewById(R.id.main_sum);
zarb=(Button) findViewById(R.id.main_zarb);
tagh=(Button) findViewById(R.id.main_taghsim);
res=(Button) findViewById(R.id.main_res);
ac=(Button) findViewById(R.id.main_ac);
dot=(Button) findViewById(R.id.main_dot);
n0.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0){
show.setText("0");
}
else {
show.setText(show.getText()+"0");
}
}
});
n00.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0){
show.setText("00");
}
else {
show.setText(show.getText()+"00");
}
}
});
n1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("1");
}
else {
show.setText(show.getText()+"1");
}
}
});
n2.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("2");
}
else {
show.setText(show.getText()+"2");
}
}
});
n3.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("3");
}
else {
show.setText(show.getText()+"3");
}
}
});
n4.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("4");
}
else {
show.setText(show.getText()+"4");
}
}
});
n5.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("5");
}
else {
show.setText(show.getText()+"5");
}
}
});
n6.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("6");
}
else {
show.setText(show.getText()+"6");
}
}
});
n7.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("7");
}
else {
show.setText(show.getText()+"7");
}
}
});
n8.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("8");
}
else {
show.setText(show.getText()+"8");
}
}
});
n9.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("9");
}
else {
show.setText(show.getText()+"9");
}
}
});
sum.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number1=Integer.parseInt(show.getText().toString() );
show.setText("");
F="+";
}
});
sub.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number1=Integer.parseInt(show.getText().toString() );
show.setText("");
F="-";
}
});
zarb.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number1=Integer.parseInt(show.getText().toString() );
show.setText("");
F="*";
}
});
tagh.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number1=Integer.parseInt(show.getText().toString() );
show.setText("");
F="/";
}
});
res.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number2=Integer.parseInt(show.getText().toString() );
show.setText("");
if (F=="+"){
fres=number1+number2;
}
if (F=="/"){
if(number2==0){
Toast.makeText(getApplicationContext(), "اشتباه ریاضیاتی : نمیتوان اعداد را بر صفر تقسیم کرد !", Toast.LENGTH_LONG).show();
}
else{
fres=number1/number2;
}
}
if (F=="-"){
fres=number1-number2;
}
if (F=="*"){
fres=number1*number2;
}
show.setText(fres+"");
}
});
}
}
البته مشکل اصلی در این قطعه کده
n1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("1");
}
else {
show.setText(show.getText()+"1");
}
}
});
پیشاپیش ممنون
بنده دارم برنامه نویسی اندروید رو یاد میگیرم و الان دارم تمرین میکنم یه ماشین حساب اندروید درست میکنم مشکل تقسیم بر صفر رو با if else pg حل کردم
اما میخواستم وقتی در تکست ویو عدد اول صفر باشه و کاربر مثلا عدد یک رو نشون بده صفر رو پاک کنه و یک رو بزاره یعنی 01 نشه
برای حل این مشکل هم از if else کمک کردم اما فکر میکنم اگوریتمش اشتباهه و برای همین فورس کلوز میده
کد برنامه :
package com.sayeban.calc;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class Main extends ActionBarActivity {
private TextView show;
private Button n0;
private Button n00;
private Button n1;
private Button n2;
private Button n3;
private Button n4;
private Button n5;
private Button n6;
private Button n7;
private Button n8;
private Button n9;
private Button sub;
private Button sum;
private Button zarb;
private Button tagh;
private Button res;
private Button ac;
private Button dot;
String F;
private int number1;
private int number2;
private int fres;
private int first0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
show=(TextView) findViewById(R.id.main_txtshow);
n0=(Button) findViewById(R.id.main_n0);
n00=(Button) findViewById(R.id.main_doub0);
n1=(Button) findViewById(R.id.main_n1);
n2=(Button) findViewById(R.id.main_n2);
n3=(Button) findViewById(R.id.main_n3);
n4=(Button) findViewById(R.id.main_n4);
n5=(Button) findViewById(R.id.main_n5);
n6=(Button) findViewById(R.id.main_n6);
n7=(Button) findViewById(R.id.main_n7);
n8=(Button) findViewById(R.id.main_n8);
n9=(Button) findViewById(R.id.main_n9);
sub=(Button) findViewById(R.id.main_sub);
sum=(Button) findViewById(R.id.main_sum);
zarb=(Button) findViewById(R.id.main_zarb);
tagh=(Button) findViewById(R.id.main_taghsim);
res=(Button) findViewById(R.id.main_res);
ac=(Button) findViewById(R.id.main_ac);
dot=(Button) findViewById(R.id.main_dot);
n0.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0){
show.setText("0");
}
else {
show.setText(show.getText()+"0");
}
}
});
n00.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0){
show.setText("00");
}
else {
show.setText(show.getText()+"00");
}
}
});
n1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("1");
}
else {
show.setText(show.getText()+"1");
}
}
});
n2.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("2");
}
else {
show.setText(show.getText()+"2");
}
}
});
n3.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("3");
}
else {
show.setText(show.getText()+"3");
}
}
});
n4.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("4");
}
else {
show.setText(show.getText()+"4");
}
}
});
n5.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("5");
}
else {
show.setText(show.getText()+"5");
}
}
});
n6.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("6");
}
else {
show.setText(show.getText()+"6");
}
}
});
n7.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("7");
}
else {
show.setText(show.getText()+"7");
}
}
});
n8.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("8");
}
else {
show.setText(show.getText()+"8");
}
}
});
n9.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("9");
}
else {
show.setText(show.getText()+"9");
}
}
});
sum.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number1=Integer.parseInt(show.getText().toString() );
show.setText("");
F="+";
}
});
sub.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number1=Integer.parseInt(show.getText().toString() );
show.setText("");
F="-";
}
});
zarb.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number1=Integer.parseInt(show.getText().toString() );
show.setText("");
F="*";
}
});
tagh.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number1=Integer.parseInt(show.getText().toString() );
show.setText("");
F="/";
}
});
res.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
number2=Integer.parseInt(show.getText().toString() );
show.setText("");
if (F=="+"){
fres=number1+number2;
}
if (F=="/"){
if(number2==0){
Toast.makeText(getApplicationContext(), "اشتباه ریاضیاتی : نمیتوان اعداد را بر صفر تقسیم کرد !", Toast.LENGTH_LONG).show();
}
else{
fres=number1/number2;
}
}
if (F=="-"){
fres=number1-number2;
}
if (F=="*"){
fres=number1*number2;
}
show.setText(fres+"");
}
});
}
}
البته مشکل اصلی در این قطعه کده
n1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
first0=Integer.parseInt(show.getText().toString()) ;
if (first0==0 && show.getText()==""){
show.setText("1");
}
else {
show.setText(show.getText()+"1");
}
}
});
پیشاپیش ممنون