Android隨機給出加減乘除的四則運算算術題
本文實例為大家分享了Android隨機給出加減乘除的四則運算算術題,供大家參考,具體內(nèi)容如下
點擊顯示題目即可在指定范圍內(nèi)隨機出算數(shù)題目,適合初學者上手,易懂,另外,我沒有把每一種運算的可能性都寫出來,只寫了部分的,不過兩個數(shù),三個數(shù)和四個數(shù)運算的可能性我都寫了1-2中,你們可以比劃模仿去寫出其他的運算可能性,也很容易的,下面上代碼!
xml布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ? ? xmlns:app="http://schemas.android.com/apk/res-auto" ? ? xmlns:tools="http://schemas.android.com/tools" ? ? android:layout_width="match_parent" ? ? android:layout_height="match_parent" ? ? tools:context=".MainActivity" ? ? android:orientation="vertical" ? ? > ? ?<TextView ? ? ? ?android:layout_width="match_parent" ? ? ? ?android:layout_height="wrap_content" ? ? ? ?android:text="自動出題APP" ? ? ? ?android:textSize="35sp" ? ? ? ?android:textColor="#FF5722" ? ? ? ?android:gravity="center" ? ? ? android:layout_marginTop="20dp" ? ? ? ?/> ? ? <TextView android:layout_marginTop="100dp" ? ? ? ? android:id="@+id/tv_math" ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="100dp" ? ? ? ? android:textSize="40sp" ? ? ? ? android:gravity="center_horizontal" ? ? ? ? ? /> ? ? <View ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="1dp" ? ? ? ? android:background="#E91E63" ? ? ? ? /> <LinearLayout ? ? android:layout_width="match_parent" ? ? android:layout_height="wrap_content" ? ? ? android:orientation="horizontal"> ? ? <Button ? ? ? ? android:layout_marginTop="20dp" ? ? ? ? android:layout_marginLeft="10dp" ? ? ? ? android:layout_width="wrap_content" ? ? ? ? android:layout_height="wrap_content" ? ? ? ? android:text="顯示題目" ? ? ? ? android:textSize="30sp" ? ? ? ? android:id="@+id/btn_question" ? ? ? ? /> ? ? <Button ? ? ? ? android:background="#05FC2E" ? ? ? ? android:layout_marginLeft="100dp" ? ? ? ? android:layout_width="wrap_content" ? ? ? ? android:layout_height="wrap_content" ? ? ? ? android:text="顯示答案" ? ? ? ? android:id="@+id/btn_answers" ? ? ? ? android:textSize="30sp" ? ? ? ? android:layout_marginTop="20dp" ? ? ? ? ? /> </LinearLayout> </LinearLayout>

Java代碼文件
package com.example.dysuanshuti;
?
import androidx.appcompat.app.AppCompatActivity;
?
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
?
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
? ? private TextView tv_math;
? ? private Button btn_question;
? ? private Button btn_answers;
? ?@ Override
? ? protected void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstanceState);
? ? setContentView(R.layout.activity_main) ;
? ? initView();
}
? ? private void initView(){
? ? ? ? tv_math = (TextView) findViewById(R.id.tv_math) ;
? ? ? ? btn_question = (Button) findViewById(R.id.btn_question);
? ? ? ? btn_answers = (Button) findViewById(R.id.btn_answers);
? ? ? ? btn_question.setOnClickListener(MainActivity.this );
? ? ? ? btn_answers.setOnClickListener(MainActivity.this ) ;
? ? }
? ? public void onClick(View v) {
? ? ? ? switch (v.getId()) {
? ? ? ? ? ? case R.id.btn_question:
? ? ? ? ? ? ? ? question();
? ? ? ? ? ? ? ? break;
? ? ? ? }
? ?}
? ? private void question() {
?
? ? ? ? java.util.Random random = new java.util.Random();
?
//先指定隨機生成幾組數(shù)字(2~4);
? int temp = random.nextInt(3) + 2;
?
//隨機生成(0~3)四個數(shù)字分別對應:+,-,×,÷
//如果隨機到四組數(shù)字,則會有三個運算符
? ?int signal = random.nextInt(4);//第一個運算符
? ?int signal1 = random.nextInt(4);//第二個運算符
? ?int signal2 = random.nextInt(4);//第三個運算符
?
//指隨機生成的每組數(shù)字的數(shù)值(1~11)
? ?final int num1 = random.nextInt(11) + 1;
? ?final int num2 = random.nextInt(11) + 1;
? ?final int num3 = random.nextInt(11) + 1;
? ?final int num4 = random.nextInt(11) + 1;
? ?switch (temp) {
? ? ? ? ? ? case 2://2組數(shù)字
? ? ? ? ? ? ? ? switch (signal) {
? ? ? ? ? ? ? ? ? ? case 0:// +
? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "+" + num2 + "=?");
? ? ? ? ? ? ? ? ? ? ? ? btn_answers.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "+" + num2 + "=" + (num1 + num2));
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case 1:// -
? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "-" + num2 + "=?");
? ? ? ? ? ? ? ? ? ? ? ? btn_answers.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "-" + num2 + "=" + (num1 - num2));
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case 2:// ×
? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "*" + num2 + "=?");
? ? ? ? ? ? ? ? ? ? ? ? btn_answers.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "*" + num2 + "=" + (num1 * num2));
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? ? ? break;
?
? ? ? ? ? ? ? ? ? ? case 3:// ÷
? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "/" + num2 + "=?");
? ? ? ? ? ? ? ? ? ? ? ? btn_answers.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "/" + num2 + "=" + (num1 / num2));
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? break;
?
? ? ? ? ? ? case 3://3組數(shù)字
? ? ? ? ? ? ? ? switch (signal) {//第一個運算符
? ? ? ? ? ? ? ? ? ? case 0:// +
? ? ? ? ? ? ? ? ? ? ? ? switch (signal1) {//第二個運算符
? ? ? ? ? ? ? ? ? ? ? ? ? ? case 0:// +
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "+" + num2 + "+" + num3 + "=?");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? btn_answers.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "+" + num2 + "+" + num3 + "=" + (num1 + num2 + num3));
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? case 2:// *
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? switch (signal1) {//第二個運算符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? case 1:// -
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "*" + num2 + "-" + num3 + "=?");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? btn_answers.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "*" + num2 + "-" + num3 + "=" + (num1 * num2 - num3));
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
?
? ? ? ? ? ? ? ? ? ? ? ? ?break;
?
? ? ? ? ? ? ? ? ? case 4://4組數(shù)字
? ? ? ? ? ? ? ? ? ? ?switch (signal) {//第一個運算符
? ? ? ? ? ? ? ? ? ? ? ? case 0:// +
? ? ? ? ? ? ? ? ? ? ? ? ? switch (signal1) {//第二個運算符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case 0:// +
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?switch (signal2) {//第三個運算符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? case 0:// +
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "+" + num2 + "+" + num3 + "+" + num4 + "=?");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? btn_answers.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?tv_math.setText(num1 + "+" + num2 + "+" + num3 + "+" + num4 + "=" + (num1 + num2 + num3 + num4));
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case 1:// -
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?switch (signal1) {//第二個運算符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case 3:// /
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?switch (signal2) {//第三個運算符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case 2:// *
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tv_math.setText(num1 + "-" + num2 + "/" + num3 + "*" + num4 + "=?");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?btn_answers.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?tv_math.setText(num1 + "-" + num2 + "/" + num3 + "*" + num4 + "=" + (num1 - num2 / num3 * num4));
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
?
? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? }
? ? ? ? ? ?break;
? ? ? ? ?}
?
? ? ? ?}
? ? ? }
? ? ?}
? ? }
? }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解
這篇文章主要介紹了Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08
Android基于ViewDragHelper仿QQ5.0側(cè)滑界面效果
這篇文章主要介紹了Android基于ViewDragHelper仿QQ5.0側(cè)滑界面效果,具有一定的,感興趣的小伙伴們可以參考一下2016-07-07
Android 廣播大全 Intent Action 事件詳解
這篇文章主要給大家介紹Android 廣播大全 Intent Action 事件詳解,涉及到android廣播action 方面知識點,本文講解的非常的全面,感興趣的朋友一起看看吧2015-10-10
Android自定義實現(xiàn)BaseAdapter的優(yōu)化布局
這篇文章主要為大家詳細介紹了Android自定義實現(xiàn)BaseAdapter的優(yōu)化布局,感興趣的小伙伴們可以參考一下2016-08-08
Flutter學習教程之Route跳轉(zhuǎn)以及數(shù)據(jù)傳遞
這篇文章主要給大家介紹了關于Flutter學習教程之Route跳轉(zhuǎn)以及數(shù)據(jù)傳遞的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Flutter具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-08-08
android 動態(tài)控制狀態(tài)欄顯示和隱藏的方法實例
這篇文章主要介紹了2013-12-12

