Я собираюсь запрограммировать свое первое приложение. Я хотел бы использовать цикл do-while. Я хочу, чтобы кнопка вычисляла что-то из edittexts. После этого я хочу спросить у пользователя, хочет ли он или она что-то снова вычислить. Я думаю, что цикл do-while будет отличным, потому что у меня еще нет ни одного приложения. Проблема в том, что я не уверен, как это сделать? То, как я пытался это сделать, всегда говорит, что мне нужно удалить токен, пока ... Возможно, это потому, что он находится в инструкции if/else. Другая проблема заключается в том, что я не знаю, как запрограммировать условие while. возможно ли это с диалогом предупреждения?do-while loop in android app
Мой вопрос: что сжимает мой цикл? Что мне нужно для записи в состоянии while для контроля, если пользователь нажал ok в диалоговом окне altert? Как добавить кнопку «Нет» в диалоговое окно предупреждения?
@Override
public void onClick(View v) {
if(v==buttonspritkosten){
do{
//Variablen erzeugen
TextView textViewPersonenzahl;
TextView textViewStrecke;
TextView textViewVerbrauch;
TextView textViewPreis;
double berechnung;
String personenzahl;
String strecke;
String verbrauch;
String preis;
// Eingabefelder auslesen
textViewPersonenzahl = (TextView) findViewById(R.id.editpersonen);
textViewStrecke = (TextView) findViewById(R.id.editstrecke);
textViewVerbrauch = (TextView) findViewById(R.id.editverbrauch);
textViewPreis = (TextView) findViewById(R.id.editpreis);
//In strings umwandeln
personenzahl=textViewPersonenzahl.getText().toString();
strecke=textViewStrecke.getText().toString();
verbrauch=textViewVerbrauch.getText().toString();
preis=textViewPreis.getText().toString();
// Prüfen ob Felder ausgefüllt wurden mit der Methode Felderprüfung
if (Felderprüfung(personenzahl) == true && Felderprüfung(strecke) == true && Felderprüfung(verbrauch)== true && Felderprüfung(preis) == true) {
//Prüfen ob sie Strecke zu kurz ist und ggf. AltertDialog starten
if(Double.parseDouble(strecke)< 4){
String message = "Schonen Sie doch lieber die Umwelt und gehen zu Fuß! ;)";
new AlertDialog.Builder(Berechnungsactivity.this)
.setTitle("Umweltschutz")
.setMessage(message)
.setPositiveButton("ok", null)
.show();}
berechnung= ((((Double.parseDouble(strecke))/100)*(Double.parseDouble(verbrauch)))*(Double.parseDouble(preis)))/(Double.parseDouble(personenzahl));
spritkosten.setText("Die Spritkosten betragen: "+ berechnung + " € pro Person");
}else{
Toast einToast = Toast.makeText(this, "Bitte füllen Sie die Felder aus, damit Calci rechnen kann!", Toast.LENGTH_LONG);
einToast.show();
}
String message = "Möchten Sie eine weitere Berechnung durchführen?";
new AlertDialog.Builder(Berechnungsactivity.this)
.setMessage(message)
.setPositiveButton("ok", null)
.show();
}while()
}
else if (v == buttonabbrechen) {
// sollte der User Abbrechen drücken, soll die App beendet werden
finish();
}
}
В failtures являются:
Синтаксическая ошибка в знак (ы), неуместны конструкта (s) Спасибо за вашу помощь!
Синтаксическая ошибка на лексемах, удалить эти маркера
Не уверен, что вы хотите спросить ??? – Pankaj
Сначала выполните инициализацию переменных вне цикла d-while, потому что вы не хотите делать это все время, просто нужно ist один раз. – Moritz
Второй: используйте английский язык во время программирования .. всегда! :-) Я имею в виду для вас varaible, имена методов и комментарии. – Moritz