当前位置: 首页 > 知识库问答 >
问题:

构建一个鞅应用程序,代码就是不起作用

董胡非
2023-03-14

我正在尝试构建一个应用程序,它将根据赌博的鞅来告诉你输赢。

我的想法是,你可以设定你的钱、目标和最低赌注。

例如我设置我现在的钱是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个答案

岳鸿畴
2023-03-14

更改代码:

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";
}
 类似资料:
  • 我在手机上构建应用程序时遇到了以下错误:

  • 我正在尝试为windows phone构建我的应用程序,但代号为one的构建服务器给了我构建错误。以下是错误日志:https://s3.amazonaws.com/codenameone-build-response/7e34c6a4-f939-4044-8ab3-afbad45e7447-1450100218601-error.txt 当我为Android构建它时,一切都很好。 当我从NetBe

  • 最近,我与一位经验丰富的建筑师进行了讨论。讨论围绕在Web场中运行的基于Web的多租户应用程序的理想架构和设计展开。该应用程序的唯一任务是允许用户上传“n个”Excel文件,系统正在处理这些文件以生成非常复杂的报告。处理这些文件需要很长时间(每个文件一个小时,让我们把它当作一个限制)。因此,用户在上传后会等待来自系统的通知来下载生成的报告。 乍一看,这个需求看起来很简单,但是期望是应用程序必须10

  • 我正在构建一个具有多种不同风格的应用程序。我的问题是,如果我为基于flavor的活动使用不同的代码,我是否需要在所有flavor directores中包含该代码的副本,或者如果我只将代码副本保留在app/src/main/java目录中,如果我不将其包含在flavor目录中,其他所有flavor是否会使用main/java中的文件。 我有 app/src/main/java/com/mycomp

  • 问题内容: 我有一个我想混合使用Java和Scala源代码的应用程序(实际上是将Java应用程序迁移到Scala的应用程序,但一次)。 我可以在IDE中很好地完成这项工作。但是我不确定如何使用Maven做到这一点- scalac可以编译Java和Scala交织在一起,但是如何为模块设置Maven? 另外,我的Scala源代码是否必须与Java文件夹不同? 问题答案: 使用maven scala插件

  • 我使用的是来自web应用程序的Spring数据JPA。我的目标是工作API、REST crud方法,使用MySQL中的两个表。项目是目标,那么DB有两个表:Item和AutoBrand,它们是关联关系。一件商品可以得到比一件更多的汽车品牌。但我的应用程序得到的问题,自动品牌表不是从项目表找到id。 项目代表java AutoBrand Rep.Java