2016-10-02 68 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

相關問題