Android隨機(jī)給出加減乘除的四則運(yùn)算算術(shù)題
本文實(shí)例為大家分享了Android隨機(jī)給出加減乘除的四則運(yùn)算算術(shù)題,供大家參考,具體內(nèi)容如下
點(diǎn)擊顯示題目即可在指定范圍內(nèi)隨機(jī)出算數(shù)題目,適合初學(xué)者上手,易懂,另外,我沒有把每一種運(yùn)算的可能性都寫出來,只寫了部分的,不過兩個數(shù),三個數(shù)和四個數(shù)運(yùn)算的可能性我都寫了1-2中,你們可以比劃模仿去寫出其他的運(yùn)算可能性,也很容易的,下面上代碼!
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(); ? //先指定隨機(jī)生成幾組數(shù)字(2~4); ? int temp = random.nextInt(3) + 2; ? //隨機(jī)生成(0~3)四個數(shù)字分別對應(yīng):+,-,×,÷ //如果隨機(jī)到四組數(shù)字,則會有三個運(yùn)算符 ? ?int signal = random.nextInt(4);//第一個運(yùn)算符 ? ?int signal1 = random.nextInt(4);//第二個運(yùn)算符 ? ?int signal2 = random.nextInt(4);//第三個運(yùn)算符 ? //指隨機(jī)生成的每組數(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) {//第一個運(yùn)算符 ? ? ? ? ? ? ? ? ? ? case 0:// + ? ? ? ? ? ? ? ? ? ? ? ? switch (signal1) {//第二個運(yùn)算符 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 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) {//第二個運(yùn)算符 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 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) {//第一個運(yùn)算符 ? ? ? ? ? ? ? ? ? ? ? ? case 0:// + ? ? ? ? ? ? ? ? ? ? ? ? ? switch (signal1) {//第二個運(yùn)算符 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case 0:// + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?switch (signal2) {//第三個運(yùn)算符 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 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) {//第二個運(yùn)算符 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case 3:// / ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?switch (signal2) {//第三個運(yùn)算符 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 文件數(shù)據(jù)存儲實(shí)例詳解
這篇文章主要介紹了Android 文件數(shù)據(jù)存儲實(shí)例詳解的相關(guān)資料,這里附有實(shí)例代碼,幫助大家學(xué)習(xí)理解,需要的朋友可以參考下2016-12-12Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解
這篇文章主要介紹了Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08Android入門之TableLayout應(yīng)用解析(一)
這篇文章主要介紹了Android入門之TableLayout應(yīng)用,需要的朋友可以參考下2014-08-08Android基于ViewDragHelper仿QQ5.0側(cè)滑界面效果
這篇文章主要介紹了Android基于ViewDragHelper仿QQ5.0側(cè)滑界面效果,具有一定的,感興趣的小伙伴們可以參考一下2016-07-07Android 廣播大全 Intent Action 事件詳解
這篇文章主要給大家介紹Android 廣播大全 Intent Action 事件詳解,涉及到android廣播action 方面知識點(diǎn),本文講解的非常的全面,感興趣的朋友一起看看吧2015-10-10Android自定義實(shí)現(xiàn)BaseAdapter的優(yōu)化布局
這篇文章主要為大家詳細(xì)介紹了Android自定義實(shí)現(xiàn)BaseAdapter的優(yōu)化布局,感興趣的小伙伴們可以參考一下2016-08-08Flutter學(xué)習(xí)教程之Route跳轉(zhuǎn)以及數(shù)據(jù)傳遞
這篇文章主要給大家介紹了關(guān)于Flutter學(xué)習(xí)教程之Route跳轉(zhuǎn)以及數(shù)據(jù)傳遞的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08android 動態(tài)控制狀態(tài)欄顯示和隱藏的方法實(shí)例
這篇文章主要介紹了2013-12-12使用Thumbnails實(shí)現(xiàn)圖片指定大小壓縮
這篇文章主要為大家詳細(xì)介紹了使用Thumbnails實(shí)現(xiàn)圖片指定大小壓縮,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08