Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 构建一个鞅应用程序,代码就是不起作用_Java_Android - Fatal编程技术网

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

Java 构建一个鞅应用程序,代码就是不起作用,java,android,Java,Android,我正试图建立一个应用程序,将告诉你,如果你赢或输的赌博鞅的基础 我的想法是,你可以设定你的钱,目标和最低赌注 例如,如果我将我当前的钱设置为1000,我的目标是获得1100,最小赌注为100,应用程序将显示我是否赢了 实际上,我的想法是建立这个应用程序来计算这个游戏的赢率,但我不知道怎么做,因此我只是尝试先建立一个更简单的应用程序,如果我能得到它,再进一步修改 但当我尝试运行应用程序时,应用程序会不断显示“你输了”,即使我尝试创建一个我输的几率很低的情况,它仍然会显示“你输了” 这里是我的Jav

我正试图建立一个应用程序,将告诉你,如果你赢或输的赌博鞅的基础

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

例如,如果我将我当前的钱设置为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;

    }
}
package com.example.android.gambing;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.text.Editable;
导入android.view.view;
导入android.widget.EditText;
导入android.widget.TextView;
公共类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
公共无效率(视图){
EditText cMoney=(EditText)findViewById(R.id.money);
double currentMoney=double.parseDouble(cMoney.getText().toString());
EditText目标=(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());
字符串findRate=calRate(当前货币、目标、最小赌注);
TextView TextView=(TextView)findViewById(R.id.TextView);
setText(“您”+findRate);
}
公共字符串计算率(双倍当前货币、双倍目标、双倍最小赌注){
while(currentMoney>minBet){
布尔值win=winRate();
如果(赢){
currentMoney+=minBet;
minBet=minBet;
}
否则{
当前货币-=minBet;
minBet*=2;
}
如果(当前货币>=目标){
打破
}
}
返回“丢失”;
}
私有布尔winRate(){
double d=Math.random();
如果(d<0.5)
返回true;
其他的
返回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>

更改您的代码:

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";
}
更改您的代码:

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";
}

难道你不担心在你的代码中没有从
calRate
方法返回
Win
的方法吗?嗨,潜水员们,谢谢你们的推荐,我只是修改了休息时间以返回“Win”,它很有效,非常感谢!!对不起,我的问题很愚蠢,浪费了论坛资源…请将我的答案标记为正确答案,以便结束问题,然后您不担心在您的代码中无法从
calRate
方法返回
Win
吗?嗨,潜水员们,谢谢你们的推荐,我只需修改中断以返回“Win”,它就起作用了,非常感谢!!对不起,我的问题很愚蠢,浪费了论坛资源…请将我的答案标记为正确答案,以便结束问题。嗨,司机们,我还有一个问题。。。现在我试着让应用程序运行这个函数,比如10次,来计算获胜率,但我在这里遇到了问题,我如何检索结果并显示百分比?public int winPercentage(){for(int i=1;我请为另一个问题创建另一个主题,并将该主题标记为正确答案。嗨,司机们,我还有另一个问题…现在我试图让应用程序运行该功能,例如10次,以计算获胜率,但我在这里结巴,如何检索结果并显示百分比?公开int winPercentage(){for(inti=1;i请要求为另一个问题创建另一个主题,并将该主题标记为正确答案,以结束该主题。