2016-10-02 66 views
1

好日子,我只是一个初学者到Android & java。我试图建立一个应用程序,会告诉你,如果你赢得或失去基于赌博鞅。建立一个鞅应用程序,并且代码刚刚工作,不知道为什么

我的概念是这样的,你可以设置你的钱,目标和最低赌注。例如

例如我设定我目前的金额是1000,我的目标是得到1100,最低赌注是100,应用程序会告诉我我是否赢。 (实际上我的想法是构建这个应用程序来计算此胜利率,但我不知道如何,因此我只是尝试构建更简单的应用程序,并进一步修改,如果我能得到它。)

但是当我尝试运行应用程序,该应用程序不断出现“你输”,即使我尝试创造一种环境,我有非常低的机会失去了,但仍然是告诉我“你输”

我Java Code Here

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; 

    } 
} 

and the xml is here

<?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> 
+0

难道你不担心你的代码没有从'calRate'方法返回'Win'的方式吗? – Divers

+0

嗨潜水员,谢谢你的赞扬,我只是修改休息回来“赢”,它的作品,非常感谢你! 对不起我的愚蠢的问题,并浪费了资源论坛... – DouglasQ

+0

马克我的答案为正确的,为了关闭问题,然后 – Divers

回答

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

嗨,司机,我还有一个问题... 现在我试图让该应用程序运行功能,例如10倍,计算赢率,但我stucked在这里,我如何检索结果,并显示百分比? 公众诠释winPercentage(){ 的for(int i = 1; I <= 10;我++){ } 返回 } – DouglasQ

+0

请要求创建另一个问题另一个主题,并接近一个有标记的答案一个正确的。 – Divers

+0

好的非常感谢你的帮助:) – DouglasQ

相关问题