利用android studio做一个java版的24点小程序

这是我第一次写博客,不喜勿喷。

这次做的主要是利用android studio做一个java版的24点小程序。因为之前查阅资料没查到满意的,所以自己写了一个,给有需要的人提供一下帮助。内容中涉及到算24点的算法,以及一个关于计算器实现的java数据结构,关于这两部分的java代码我都参考网上的算法。

一:前台的设计比较简单,直接附上我的代码。

注意点:(1)要设置一个水平模式的布局(这步最好是在普通布局形成之后再操作),这主要是为了解决旋转带来的问题。具体操作如下:Project->app->src->res,然后右键    New->Android resource directory->Resource type改为layout,然后下面选择Oriention,然后ok,就生成layout-land文件夹,然后这里的xml中的内容直接把layout中的xml文件内容拷贝下来

二:java端代码主要总的包括三部分:(1)算24点的一个算法(难点)

                                                                      (2)一个生成计算器的算法(难点)

                                                                      (3)对布局文件中的控件的事件处理


package com.bignerdranch.android.point24game;

import android.os.PersistableBundle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Arrays;
import java.util.Random;

/**
 * 下面这个类主要起到控件事件的处理
 */
public class CalculatorActivity extends AppCompatActivity {
    private static final String TAG="CalculatorActivity";
    private static final String KEY_INDEX="index";
    private static final String press_INDEX="press";
    //private static boolean mShowQuestionPress=false;//表示显示问题的按钮有没有被按过
    private Button mShowQuestionButton;//这是显示问题的按钮
    private boolean mShowButtonPress=false;//这是为了判断是否按下了显示问题的按钮,主要是为了之后输入输入框中的数字,使我们出题的数字
    private TextView mShowAnswerText;//显示问题的文本框
    private EditText mCalcuteText;//这是输入框
    private  int number[]=new int[4];//这个数组主要是为了存储随机生成的四个整数
    private int tNumber[]=new int[4];//这个主要是为了当判断能形成24点的时候,输出这四个数字
    private String exp[]=new String[4];
    private double EPISON=0.0001;
    private Random random=new Random();
    private String mEditTextStr;//这个变量是为了保存从EditText中获取的变量
    private Button mConfirmButton;//这个变量是关于确认按钮的
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_calculator);
        mShowAnswerText=(TextView)findViewById(R.id.point_show_number);
        mShowQuestionButton=(Button)findViewById(R.id.point_give_button);//实例化出题按钮
        mShowQuestionButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                    mShowButtonPress=true;//这里代表已经按下了
                    createFourInter();//生成随机的四个整数
                    if(is24(4)){
                        mShowAnswerText.setText(tNumber[0]+"\n"+tNumber[1]+"\n"+tNumber[2]+"\n"+tNumber[3]);
                    }
            }
        });
        if(savedInstanceState!=null){//这里主要是为了判断tNumber有没有保存成功
            tNumber=savedInstanceState.getIntArray(KEY_INDEX);
            mShowAnswerText.setText(tNumber[0]+"\n"+tN
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值