android 100以内加减法app(一)

编程入门 行业动态 更新时间:2024-10-09 22:22:25

android 100以内<a href=https://www.elefans.com/category/jswz/34/1765956.html style=加减法app(一)"/>

android 100以内加减法app(一)


写在前面

只前没自己独立写过app,这个也没用什么框架,纯属于给家里小孩做着玩的,

功能

进入app后,直接就是两个问号的界面
点击开始
出现题,后台其实写了有乘法除法,但一方面小孩还没学到乘法除法,另一方面……超100了
写对了会有提示,
写错了会有提示并且震动

部分要修正的功能或者bug

1.连续点击按钮会闪退
2.结束按钮还没想好做啥
3.数据没有持久化
4.界面太丑了……

代码

  //声明控件private Button next;private Button exit;private TextView number1;private TextView number2;private TextView guanxi1;private TextView top;private EditText an;private String fail = "计算错误!";private String ok = "计算正确!";private int t1 = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//隐藏标题栏getSupportActionBar().hide();setContentView(R.layout.activity_main);//找到控件next = findViewById(R.id.next);exit = findViewById(R.id.exit);next.setOnClickListener(this::onClick);exit.setOnClickListener(this::onClick2);//建立对象number1 = findViewById(R.id.number1);number2 = findViewById(R.id.number2);guanxi1 = findViewById(R.id.guanxi);an = findViewById(R.id.an);top = findViewById(R.id.topnum);}//开始按钮public void onClick(View view) {int math = 0;//获取目前数字 关系 答案String m1 = number1.getText().toString();//获取首位数字if (!isNumeric(m1)) {int n0;String n1 = "";String n2 = "";int g = (int) (Math.random() * 2);if (g == 0) {guanxi1.setText("+");n0 = (int) (Math.random() * 100);n1 = String.valueOf(n0);n2 = String.valueOf((int) (10 + Math.random() * (90 - n0)));} else if (g == 1) {guanxi1.setText("-");n0 = (int) (10 + Math.random() * 90);n1 = String.valueOf(n0);n2 = String.valueOf((int) (10 + Math.random() * n0));} else if (g == 2) {guanxi1.setText("*");} else if (g == 3) {guanxi1.setText("/");}number1.setText(n1);number2.setText(n2);next.setText("下一道");} else {int n0;String n1 = "";String n2 = "";int num1 = Integer.parseInt(number1.getText().toString());//获取首位数字int num2 = Integer.parseInt(number2.getText().toString());//获取次位数字String gunxi = guanxi1.getText().toString();//获取关系int a1 = Integer.parseInt(an.getText().toString());//获取用户答案int t1 = Integer.parseInt(top.getText().toString());//获取topmath = Math(num1, gunxi, num2);//系统计算if (math == a1) {ToastUtil.showMsg(getApplicationContext(), ok);String t = String.valueOf(1 + t1);int g = (int) (Math.random() * 2);if (g == 0) {guanxi1.setText("+");n0 = (int) (Math.random() * 100);n1 = String.valueOf(n0);n2 = String.valueOf((int) (10 + Math.random() * (90 - n0)));} else if (g == 1) {guanxi1.setText("-");n0 = (int) (10 + Math.random() * 90);n1 = String.valueOf(n0);n2 = String.valueOf((int) (10 + Math.random() * n0));} else if (g == 2) {guanxi1.setText("*");} else if (g == 3) {guanxi1.setText("/");}number1.setText(n1);number2.setText(n2);top.setText(t);an.setText("");} else {
//            ToastUtil.showMsg(getApplicationContext(),"已获取数据num1="+num1);
//            ToastUtil.showMsg(getApplicationContext(),"已获取数据num2="+num2);
//            ToastUtil.showMsg(getApplicationContext(),"已获取数据啊="+math);playVibrate(getApplicationContext(), false);ToastUtil.showMsg(getApplicationContext(), fail);an.setText("");}}}//结束按钮public void onClick2(View view) {}public int Math(int num1, String ch, int num2) {int num3 = 0;if (ch.equals("+")) num3 = num1 + num2;else if (ch.equals("-")) num3 = num1 - num2;else if (ch.equals("*")) num3 = num1 * num2;else if (ch.equals("/")) num3 = num1 / num2;return num3;}public static boolean isNumeric(String str) {for (int i = str.length(); --i >= 0; ) {if (!Character.isDigit(str.charAt(i))) {return false;}}return true;}/*** 手机震动** @param context* @param isRepeat 是否重复震动*/public static void playVibrate(Context context, boolean isRepeat) {/** 设置震动,用一个long的数组来表示震动状态(以毫秒为单位)* 如果要设置先震动1秒,然后停止0.5秒,再震动2秒则可设置数组为:long[]{1000, 500, 2000}。* 别忘了在AndroidManifest配置文件中申请震动的权限*/try {Vibrator mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);long[] patern = new long[]{2000, 500, 2000};AudioAttributes audioAttributes = null;/*** 适配android7.0以上版本的震动* 说明:如果发现5.0或6.0版本在app退到后台之后也无法震动,那么只需要改下方的Build.VERSION_CODES.N版本号即可*/if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {audioAttributes = new AudioAttributes.Builder().setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION).setUsage(AudioAttributes.USAGE_ALARM) //key.build();mVibrator.vibrate(patern, isRepeat ? 1 : -1, audioAttributes);} else {mVibrator.vibrate(patern, isRepeat ? 1 : -1);}} catch (Exception ex) {ex.printStackTrace();}}

布局就不贴了,线性布局,纯自己写着玩,可能……有第二篇吧(如果小孩不那么气人的话……)

更多推荐

android 100以内加减法app(一)

本文发布于:2024-02-27 20:02:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765971.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:加减法   android   app

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!