构建鞅应用程序,代码无法正常工作

时间:2016-10-02 05:39:40

标签: java android

我正在尝试建立一个应用程序,如果您在赌博上赢得或失去了鞅,我会告诉您。

我的理念是这样,你可以设定你的金钱,目标和最低赌注。

例如,我设置的当前金额是1000,我的目标是获得1100,最小赌注是100,应用程序将告诉我是否赢了。

其实我的想法是构建这个应用程序来计算这个的赢率,但我不知道如何,因此我只是尝试构建更简单的应用程序,并进一步修改,如果我能得到它。

但是当我尝试运行应用程序时,应用程序一直显示“你输了”,即使我尝试创建一个我失去的机会很少的情况,它仍然显示我“你输了”。

我的Java代码

package com.example.android.gambling;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public void seeRate(View view) {

        EditText cMoney = (EditText) findViewById(R.id.money);
        double currentMoney = Double.parseDouble(cMoney.getText().toString());

        EditText target = (EditText) findViewById(R.id.target);
        double theTarget = Double.parseDouble(target.getText().toString());

        EditText bet = (EditText) findViewById(R.id.bet);
        double minBet = Double.parseDouble(bet.getText().toString());

        String findRate = calRate(currentMoney, theTarget, minBet);

        TextView textview = (TextView)findViewById(R.id.textView);
        textview.setText("You " + findRate);



    }

    public String calRate(double currentMoney, double theTarget, double minBet) {

        while (currentMoney>minBet){
            boolean win = winRate();
            if (win){
                currentMoney += minBet;
                minBet = minBet;
            }
            else {
                currentMoney -= minBet;
                minBet *= 2;
            }
            if (currentMoney>=theTarget){
                break;
            }

        }

        return "Lose";
    }

    private boolean winRate() {
        double d = Math.random();
        if (d < 0.5)
        return true;
        else
            return false;

    }
}

并且xml在这里

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.android.gambling.MainActivity">

    <EditText
        android:id="@+id/money"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="15dp"
        android:hint="Current Money"
        android:width="300dp"/>

    <EditText
        android:id="@+id/target"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/money"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="15dp"
        android:hint="Target"
        android:width="300dp"/>

    <EditText
        android:id="@+id/bet"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/target"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="15dp"
        android:hint="Minimun Bet per Time"
        android:width="300dp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Check Rate"
        android:id="@+id/button"
        android:layout_centerHorizontal="true"
        android:onClick="seeRate"
        android:layout_marginTop="32dp"
        android:layout_below="@+id/bet" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Result Here"
        android:id="@+id/textView"
        android:layout_alignParentBottom="true"
        android:layout_alignEnd="@+id/button"
        android:layout_marginBottom="60dp" />


</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

更改您的代码:

public String calRate(double currentMoney, double theTarget, double minBet) {
    while (currentMoney > minBet) {
        boolean win = winRate();
        if (win) {
            currentMoney += minBet;
        } else {
            currentMoney -= minBet;
        }
        if (currentMoney >= theTarget) {
            return "Won";
        }
    }
    return "Lose";
}