简单的四则运算

首先画一个界面。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="1">

<TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="TextView"
        android:layout_weight="0.06" />

<Button
        android:id="@+idn1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.06"
        android:text="answer" />

<Button
        android:id="@+idn2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.06"
        android:text="下一题" />
</LinearLayout>

然后定义变量

public class MyActivity extends AppCompatActivity {
private int a,b,c,d,rs;
private TextView tv;
private Button btn1,btn2;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView)findViewById(R.id.textView);
        btn1 = (Button)findViewById(R.id.btn1);
        btn2 = (Button)findViewById(R.id.btn2);

rd();

btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
answer(a,b,c,d);
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
show(a,b,c,d);
}
});
}

实现点击按钮显示答案的代码

public void answer(int a,int b,int c,int d){
switch (rs){
case 0:
tv.setText(a+"+"+b+"="+(a+b));
break;
case 1:
tv.setText(a+"-"+b+"="+(a-b));
break;
case 2:
tv.setText(a+"*"+b+"="+(a*b));
break;
case 3:
tv.setText(a+"/"+b+"="+(a/b));
break;
case 4:
tv.setText(a+"+"+b+"*"+c+"="+(a+b*c));
break;
case 5:
tv.setText(a+"-"+b+"*"+c+"="+(a-b*c));
break;
case 6:
tv.setText(a+"+"+b+"/"+c+"="+(a+b/c));
break;
case 7:
tv.setText(a+"-"+b+"/"+c+"="+(a-b/c));
break;
case 8:
tv.setText(a+"+"+b+"-"+c+"*"+d+"="+(a+b-c*d));
break;
case 9:
tv.setText(a+"+"+b+"-"+c+"/"+d+"="+(a+b-c/d));
break;
case 10:
tv.setText(a+"-"+b+"+"+c+"*"+d+"="+(a-b+c*d));
break;
case 11:
tv.setText(a+"-"+b+"+"+c+"/"+d+"="+(a-b+c/d));
break;
case 12:
tv.setText(a+"+"+b+"+"+c+"+"+d+"="+(a+b+c+d));
break;
case 13:
tv.setText(a+"+"+b+"+"+c+"-"+d+"="+(a+b+c-d));
break;
case 14:
tv.setText(a+"+"+b+"-"+c+"-"+d+"="+(a+b-c-d));
break;
case 15:
tv.setText(a+"*"+b+"*"+c+"*"+d+"="+(a*b*c*d));
break;
case 16:
tv.setText(a+"*"+b+"*"+c+"+"+d+"="+(a*b*c+d));
break;
case 17:
tv.setText(a+"*"+b+"+"+c+"+"+d+"="+(a*b+c+d));
break;
case 18:
tv.setText(a+"*"+b+"*"+c+"-"+d+"="+(a*b*c-d));
break;
case 19:
tv.setText(a+"*"+b+"-"+c+"-"+d+"="+(a*b-c-d));
break;

}

}

实现显示题目的代码

public void show(int a,int b,int c,int d){
switch (rs){
case 0:
tv.setText(a+"+"+b+"="+"?");
break;
case 1:
tv.setText(a+"-"+b+"="+"?");
break;
case 2:
tv.setText(a+"*"+b+"="+"?");
break;
case 3:
tv.setText(a+"/"+b+"="+"?");
break;
case 4:
tv.setText(a+"+"+b+"*"+c+"="+"?");
break;
case 5:
tv.setText(a+"-"+b+"*"+c+"="+"?");
break;
case 6:
tv.setText(a+"+"+b+"/"+c+"="+"?");
break;
case 7:
tv.setText(a+"-"+b+"/"+c+"="+"?");
break;
case 8:
tv.setText(a+"+"+b+"-"+c+"*"+d+"="+"?");
break;
case 9:
tv.setText(a+"+"+b+"-"+c+"/"+d+"="+"?");
break;
case 10:
tv.setText(a+"-"+b+"+"+c+"*"+d+"="+"?");
break;
case 11:
tv.setText(a+"-"+b+"+"+c+"/"+d+"="+"?");
break;
case 12:
tv.setText(a+"+"+b+"+"+c+"+"+d+"="+"?");
break;
case 13:
tv.setText(a+"+"+b+"+"+c+"-"+d+"="+"?");
break;
case 14:
tv.setText(a+"+"+b+"-"+c+"-"+d+"="+"?");
break;
case 15:
tv.setText(a+"*"+b+"*"+c+"*"+d+"="+"?");
break;
case 16:
tv.setText(a+"*"+b+"*"+c+"+"+d+"="+"?");
break;
case 17:
tv.setText(a+"*"+b+"+"+c+"+"+d+"="+"?");
break;
case 18:
tv.setText(a+"*"+b+"*"+c+"-"+d+"="+"?");
break;
case 19:
tv.setText(a+"*"+b+"-"+c+"-"+d+"="+"?");
break;

}
}

生成随机数字

private void rd() {
Random random = new Random();
random.nextInt();
a = random.nextInt(100);
b = random.nextInt(100);
c = random.nextInt(100);
d = random.nextInt(100);
rs = random.nextInt(20);
}
}

由于android基础没打好,有很多不完善的地方,望见谅。

时间: 2024-10-12 20:41:08

简单的四则运算的相关文章

【编程题】简单的四则运算

问题描述: 输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值 注: 1.表达式只含 +, -, *, /, (, ), 四则运算符 2.表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况 3.要考虑加减乘除按通常四则运算规定的计算优先级 4.除法用整数除法,即仅保留除法运算结果的整数部分.比如8/3=2.输入表达式保证无0作为除数情况发生 5.输入字符串一定是符合题意合法的表达式,其中只包括数字字符和四则运算符字符,除此之外不含其它任何字符,不会出现计算溢出情况 •

一个简单的四则运算

这是一道笔试题,用c或c++编程实现+,-,*,/四种运算符的四则运算,运算式存放在一个字符数组中char str[].如给定字符数组 char str[] = "3+2*5", 那么输出结果为13. /************************************************************************* > Created Time: 2014年06月18日 **************************************

VC++简单随机四则运算

目标:编写最简单的四则运算,类似A+B=C: 想法:建立一个Win32控制台应用程序,A和B用随机数表示,运算符号用0~3的数字对应,然后计算并输出即可: 具体过程: 利用函数rand(),返回一个0至65535之间的随机数:产生0至3之间的随机数,用rand()%4: 在验证的过程中发现,程序每次生成的随机运算都是相同的,查询发现,要产生不同的随机数,需要用到一个新的函数srand, 这个函数是根据当时计算机的时间给随机数产生一个随机种子(seed),函数原型是srand( (unsigned

Python实现简单的四则运算

GitHub 项目地址 https://github.com/745421831/-/tree/master PSP PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 20 · Estimate · 估计这个任务需要多少时间 10 10 Development 开发 360 600 · Analysis · 需求分析 (包括学习新技术) 30 40 · Design Spec · 生成设计文档 30

编译原理实战入门:用 JavaScript 写一个简单的四则运算编译器(四)结语

四则运算编译器,虽然说功能很简单,只能编译四则运算表达式.但是编译原理前端部分几乎都有涉及,词法分析,语法分析,还有代码生成. 再复杂的编译器.再简单的编译器,功能上是差不多的,只是复杂的编译器实现上会更困难. 这个系列的文章是为了帮助你入门,在这个基础上再去看编译原理相关书籍,不至于打瞌睡. 如果你对编译原理很有兴趣,并且想更深一步的学习,在这里强烈推荐你看一本书--我心目中的神书--<计算机系统要素-从零开始构建现代计算机>. 这本书神在哪? 神在它通俗易懂,对小白足够友好,但又不过分肤浅

软件工程第一课,设计简单小学四则运算

题目:设计一个简单的小学四则运算器,要求随机产生30道四则运算题 思路:首先想到的是先产生2个随机数,再用for循环进行30次四则运算 代码: #include<iostream.h>#include<stdlib.h>int main(){ int a ,b,c,i; for(i=0;i<30;i++){ a=rand()%100; b=rand()%100; c=rand()%4; if(c==0) cout<<a<<"+"&l

【Visual Basic】纯代码不拖控件,利用动态生成控件的方式完成一个简单的四则运算计算器

vb6是一个典型的拖控件加代码的编程代表,因此也一直被认为难登大雅之堂,但是,在vb6中可以完全纯粹地使用代码控制这个窗体与窗体的控件.这样生成出来的控件位置摆放精确无比,无须拖好控件之后,再利用工具栏的"格式"菜单慢慢地调整大小.这种方式的确定是声明一个控件要耗费大量的代码,但其实Java中的Swing,HTML+CSS排放控件,比这好不了多少. 当然,比vc6中mfc的代码简单了不少,具体见<[mfc]基本对话框程序--加法器>(点击打开链接) 一.基本目标 利用纯粹代

结对编程总结:简单的四则运算生成程序

1.题目描述:           面向小学生,随机生成30个100以内的四则运算,并且用户可以录入结果,检查用户录入的结果是否是正确的. 2.结对编程说明 结对对象:尤建  博客地址:http://www.cnblogs.com/lovelyYakir/ 双方贡献:2:1 3.本程序描述: a. 本程序在原有题目的基础上加以了部分改进: 1. 随机生成指定个数的四则运算. 2.可以输入四则运算的上下限. 4.结对编程照片: 5.源程序代码: MyExpression.java package

简单的四则运算(续)

这个程序是给出复杂的四则运算,包含两个运算符的. #include<stdio.h> int sum = 0; struct NUM3 { int one; int two; int three; int result; }stu2[400]; int complex(); int show() { printf("谢谢使用"); } void main() { int a=1; while (a == 1) { a = complex(); } show(); } int

[js高手之路]面向对象+设计模式+继承一步步改造简单的四则运算

到目前为止,我已经写完了面向对象完整的一个系列知识,前面基本属于理论,原理的理解,接下来,我们就用学到的知识来实战下吧. 看看理解原理和理论是否重要?例子从简单到复杂 一.单体(字面量)封装加减乘除 var Oper = {             add : function( n1, n2 ){                 return n1 + n2;             },             sbb : function( n1, n2 ){