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