您的位置:首页 > 编程语言

四则运算之主要代码

2015-12-19 21:35 405 查看


Mainactivity:

public class MainActivity extends Activity {

Button start,end,wa;

int yourChose=-1;

private void showSinChosDia() {

final String[] mList={"普通","困难","加法练习","减法练习","乘法练习","除法练习"};

yourChose=-1;

AlertDialog.Builder sinChosDia=new AlertDialog.Builder(MainActivity.this);

sinChosDia.setTitle("难度/单项练习");

sinChosDia.setSingleChoiceItems(mList, 0, new DialogInterface.OnClickListener() { @Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

yourChose=which;

}

});

sinChosDia.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

if(yourChose==0)
{
Intent intent = new Intent(MainActivity.this, CalActivity.class);
startActivity(intent);
}
if(yourChose==1)
{
Intent intent = new Intent(MainActivity.this, CalActivity1.class);
startActivity(intent);
}
if(yourChose==2)
{
Intent intent = new Intent(MainActivity.this, CalActivity2.class);
startActivity(intent);
}
if(yourChose==3)
{
Intent intent = new Intent(MainActivity.this, CalActivity3.class);
startActivity(intent);
}
if(yourChose==4)
{
Intent intent = new Intent(MainActivity.this, CalActivity4.class);
startActivity(intent);
}
if(yourChose==5)
{
Intent intent = new Intent(MainActivity.this, CalActivity5.class);
startActivity(intent);
}
}
});
sinChosDia.create().show();
}

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final DBHelper helper = new DBHelper(this);
final Cursor c = helper.query();
start=(Button) findViewById(R.id.button1);
start.setOnClickListener(new Button.OnClickListener(){

@Override

public void onClick(View v) {
// TODO Auto-generated method stub

showSinChosDia();

}
});
wa=(Button) findViewById(R.id.button2);
wa.setOnClickListener(new Button.OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(!c.moveToNext())
{
helper.close();
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("无错题");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {
}
});
builder.create().show();
}
else{
Intent intent = new Intent(MainActivity.this, ShowDB.class);
startActivity(intent);
}
}
});
end=(Button) findViewById(R.id.button3);
end.setOnClickListener(new Button.OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.exit(0);
}
});
}

}

CalActivity:

public class CalActivity extends Activity {

RelativeLayout rl1;

ImageView im; int op;

int a; int b; int n=0;

int w=0; String r;

Double answer,respon;

TextView textview1,textview2;

EditText editText;

Button button;

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.cal_main);

ActionBar actionBar = getActionBar();

actionBar.setDisplayShowHomeEnabled(true);

actionBar.setDisplayHomeAsUpEnabled(true);

rl1=(RelativeLayout)findViewById(R.id.RelativeLayout1);

im=(ImageView)findViewById(R.id.imageView1);

textview1=(TextView)findViewById(R.id.textView1);

textview2=(TextView)findViewById(R.id.textView2);

editText=(EditText)findViewById(R.id.EditText1);

a =new Random().nextInt(100);
b =new Random().nextInt(100);
op=new Random().nextInt(4);
switch(op)//分支语句,判断OP是哪种情况
{
case 0:
textview1.setText(a+"+"+b+"=");
answer=(double) (a+b);
break;
case 1:
textview1.setText(a+"-"+b+"=");
answer=(double) (a-b);
break;
case 2:
a =new Random().nextInt(10);
b =new Random().nextInt(10);
textview1.setText(a+"*"+b+"=");
answer=(double) (a*b);
break;
case 3:
a =new Random().nextInt(10);
b =new Random().nextInt(10);
while(b==0){
b =new Random().nextInt(10);
}

textview1.setText(a+"/"+b+"=");

BigDecimal x = new BigDecimal((double)a/b); //保留2位小数。

answer = x.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

break; }

button=(Button)findViewById(R.id.button4);

button.setOnClickListener(new Button.OnClickListener(){

@Override public void onClick(View arg0) {

// TODO Auto-generated method stub

if(!checkInteger(editText.getText().toString())) {

AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity.this);

builder.setCancelable(false);

builder.setTitle("错误");

builder.setMessage("你输入的信息有错");

builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

} });

builder.create().show();

editText.setText("");

return;

}

respon=Double.parseDouble(editText.getText().toString());

r=textview1.getText().toString();

ContentValues values = new ContentValues();

values.put("problem", r);

values.put("answer", answer);

editText.setText("");

n++;

if(respon.equals(answer)) {

im.setImageResource(R.drawable.d);

textview2.setText("你答对了!");

} else{

im.setImageResource(R.drawable.c);

DBHelper helper = new DBHelper(getApplicationContext());

final Cursor c = helper.query();

helper.insert(values);

w++;

textview2.setText("你答错了!\n"+r+answer);

helper.close(); } if(n<5)

{ a =new Random().nextInt(100);

b =new Random().nextInt(100);

op=new Random().nextInt(4);

switch(op) {

case 0: textview1.setText(a+"+"+b+"=");

answer=(double) (a+b);

break; case 1: textview1.setText(a+"-"+b+"=");

answer=(double) (a-b);

break; case 2: a =new Random().nextInt(10);

b =new Random().nextInt(10);

textview1.setText(a+"*"+b+"=");

answer=(double) (a*b); break;

case 3: a =new Random().nextInt(10);

b =new Random().nextInt(10);

while(b==0){ b =new Random().nextInt(10);

}

textview1.setText(a+"/"+b+"=");

BigDecimal x = new BigDecimal((double)a/b);

answer = x.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); break; } }

else {

int right=n-w;

double rvate=(double)right/n*100;

AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity.this);

builder.setCancelable(false);

builder.setTitle("结束");

builder.setMessage("你答对了"+right+"题"+"\n"+"答错了"+w+"题"+"\n"+"正确率为"+rvate+"%"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

Intent intent = new Intent(CalActivity.this, MainActivity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(intent); } });

builder.create().show(); } } });

} public boolean checkInteger(String text) {

/* 当输入的文本去掉前后空格长度为0时返回false */

if(text.trim().length()==0){ return false;

} try{ Double.parseDouble(text);

}catch(Exception e){ /* 无法转换为整数时返回false */

return false; }

return true; } @Override

public boolean onCreateOptionsMenu(Menu menu) {

// TODO Auto-generated method stub

getMenuInflater().inflate(R.menu.main, menu);

return super.onCreateOptionsMenu(menu);

} @Override

public boolean onOptionsItemSelected(MenuItem item) {

// TODO Auto-generated method stub item.setChecked(true);

switch (item.getItemId()) { case android.R.id.home:

//创建启动MainActivity的Intent Intent intent1=new Intent(this,MainActivity.class);

//添加额外的Flag,将Activity栈中处于MainActivity之上的Activity弹出 intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(intent1); break;

case R.id.item4:

item.setChecked(true);

rl1.setBackgroundDrawable(getResources().getDrawable(android.R.color.black));

break; case R.id.item5:

item.setChecked(true);

rl1.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg1));

break; case R.id.item6:

item.setChecked(true);

rl1.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg3));

break; case R.id.item7:

item.setChecked(true); textview1.setTextColor(Color.YELLOW);

textview2.setTextColor(Color.YELLOW);

editText.setTextColor(Color.YELLOW);

button.setTextColor(Color.YELLOW);

break; case R.id.item8: item.setChecked(true);

textview1.setTextColor(Color.BLUE);

textview2.setTextColor(Color.BLUE);

editText.setTextColor(Color.BLUE);

button.setTextColor(Color.BLUE);

break; case R.id.item9: item.setChecked(true);

textview1.setTextColor(Color.RED);

textview2.setTextColor(Color.RED);

editText.setTextColor(Color.RED);

button.setTextColor(Color.RED);

break; case R.id.item10: item.setChecked(true);

textview1.setTextColor(Color.BLACK);

textview2.setTextColor(Color.BLACK);

editText.setTextColor(Color.BLACK);

button.setTextColor(Color.BLACK);

break; case R.id.item11: item.setChecked(true);

textview1.setTextSize(10);

textview2.setTextSize(10);

editText.setTextSize(10); button.setTextSize(10);

break; case R.id.item12: item.setChecked(true);

textview1.setTextSize(20);

textview2.setTextSize(20); editText.setTextSize(20);

button.setTextSize(20);

break; case R.id.item13: item.setChecked(true);

textview1.setTextSize(30); textview2.setTextSize(30);

editText.setTextSize(30); button.setTextSize(30);

break;

default: break; }

return super.onOptionsItemSelected(item); }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: