Ich bin ein Anfänger nur für Android & Java. Ich versuche eine App zu erstellen, die dir sagen wird, ob du beim Martingale Glücksspiel gewinnst oder verlierst.Stucked auf Schleifen
Mein Konzept ist, können Sie Ihr Geld, Ziel und den Mindesteinsatz setzen.
zum Beispiel ist, wenn ich mein aktuelles Geld ist 1000, und mein Ziel ist 1100 zu bekommen, und der Mindesteinsatz ist 100, wird die App automatisch die Funktion zum Beispiel 10 mal laufen und berechnen die Win Rate.
jetzt bin ich stecken, auf wie man die App die Win-Rate berechnen, ich habe den Code unten versucht, aber es funktioniert nicht.
public int winPercentage(){
int numberWin = 0;
for (int i = 0; i <= 10; i++) {
boolean win = calRate(double currentMoney, double theTarget, double minBet);
if (win) {
numberWin = numberWin + 1;
}
}
return numberWin;
}
mein voller Java-Code Hier
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());
TextView textview = (TextView)findViewById(R.id.textView);
textview.setText("You " + winPercentage());
}
public boolean 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){
return true;
}
}
return false;
}
private boolean winRate() {
double d = Math.random();
if (d < 0.5)
return true;
else
return false;
}
public int winPercentage(){
int numberWin = 0;
for (int i = 0; i <= 10; i++) {
boolean win = calRate(double currentMoney, double theTarget, double minBet);
if (win){
numberWin = numberWin + 1;
}
}
return numberWin;
}
}
bearbeiten
Nun, da ich, wie unten den Code zu ändern, das Androide Studio keinen Fehler zeigt, aber wenn ich versuche, es zu emulieren, es kann nicht geöffnet werden, weiterhin angezeigt werden (leider ist die App gestoppt)
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);
}
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());
boolean findRate = calRate(currentMoney, theTarget, minBet);
public void seeRate(View view) {
TextView textview = (TextView)findViewById(R.id.textView);
textview.setText("You " + winPercentage());
}
public boolean 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){
return true;
}
}
return false;
}
private boolean winRate() {
double d = Math.random();
if (d < 0.5)
return true;
else
return false;
}
public int winPercentage(){
int numberWin = 0;
for (int i=0; i<=10; i++){
boolean win = calRate(currentMoney, theTarget, minBet);
if (win){
numberWin = numberWin + 1;
}
}
return numberWin/10*100;
}
}
Was meinst du nicht? Können Sie erklären ? –
boolean win = calRate (doppeltes currentMoney, double theTarget, double minBet); Für diesen Satz zeigt es weiterhin den Ausdruck expected & identifier expected – DouglasQ
Ihr Edit sollte eine neue Frage sein. –