android应用程序中的do while循环

android应用程序中的do while循环,android,do-while,Android,Do While,我即将编写我的第一个应用程序。我想使用do while循环。我想要一个按钮从编辑文本中计算出一些东西。之后,我想问用户是否想再次计算。我认为DoWhile循环会很好,因为我的应用程序中还没有。 问题是我不知道该怎么做?我尝试这样做的方式总是说我需要在..时删除令牌。。可能是因为它在if/else指令中。 另一个问题是我不知道如何编程while条件。是否可以使用警报对话框 我的问题是:我的do-while循环有什么问题? 我需要在while条件中写些什么来控制用户是否在altert对话框中单击ok

我即将编写我的第一个应用程序。我想使用do while循环。我想要一个按钮从编辑文本中计算出一些东西。之后,我想问用户是否想再次计算。我认为DoWhile循环会很好,因为我的应用程序中还没有。 问题是我不知道该怎么做?我尝试这样做的方式总是说我需要在..时删除令牌。。可能是因为它在if/else指令中。 另一个问题是我不知道如何编程while条件。是否可以使用警报对话框

我的问题是:我的do-while循环有什么问题? 我需要在while条件中写些什么来控制用户是否在altert对话框中单击ok? 如何向警报对话框添加“否”按钮

 @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();


        }


    }
@覆盖
公共void onClick(视图v){
如果(v==按钮触发){
做{
//艾泽根变奏曲
TextView textViewPersonenzahl;
TextView textViewStrecke;
TextView textViewVerbrauch;
TextView textViewPreis;
双贝雷什农;
弦personenzahl;
线痕;
字符串逐字;
字符串前缀;
//埃因加贝费尔德·奥斯莱森
textViewPersonenzahl=(TextView)findViewById(R.id.editpersonen);
textViewStrecke=(TextView)findViewById(R.id.editstrecke);
textViewVerbrauch=(TextView)findViewById(R.id.editverbrauch);
textViewPreis=(TextView)findViewById(R.id.editpreis);
//串串
personenzahl=textViewPersonenzahl.getText().toString();
strecke=textViewStrecke.getText().toString();
verbrauch=textViewVerbrauch.getText().toString();
preis=textViewPreis.getText().toString();
//这是一种非常有效的方法
如果(费尔德普吕丰(personenzahl)=真和费尔德普吕丰(strecke)=真和费尔德普吕丰(verbrauch)=真和费尔德普吕丰(preis)=真){
//你的名字是什么
if(Double.parseDouble(strecke)<4){
String message=“Schonen Sie doch lieber die Umwelt and gehen zu Fuß!)”;
新建AlertDialog.Builder(Berechnungsactivity.this)
.setTitle(“Umweltschutz”)
.setMessage(消息)
.setPositiveButton(“确定”,空)
.show();}
berechnung=(((Double.parseDouble(strecke))/100)*(Double.parseDouble(verbrauch))*(Double.parseDouble(preis))/(Double.parseDouble(personenzahl));
spritkosten.setText(“Die spritkosten betragen:+berechnung+”€专业人士);
}否则{
Toast-einToast=Toast.makeText(这是“bite füllen Sie die feld aus,damit Calci rechnen kann!”,Toast.LENGTH\u LONG);
einToast.show();
}
String message=“Möchten Sie eine weitere Berechnung durchühren?”;
新建AlertDialog.Builder(Berechnungsactivity.this)
.setMessage(消息)
.setPositiveButton(“确定”,空)
.show();
}while()
}
else if(v==按钮B){
//sollte der User Abbrechen drücken,soll die应用程序beendet werden
完成();
}
}
其缺点是:

令牌上的语法错误,构造位置错误 谢谢你的帮助


令牌上的语法错误,请删除这些令牌

如果用户按下类似“否”的键,则需要捕获:

如果用户按“否”将布尔值设置为false,并在while条件内检查是否仍然为true。如果现在,则while循环将退出


有关AlertDialog和如何捕获用户操作的更多信息,请参见此处:

不确定您想问什么???第一:在d-while循环之外初始化变量,因为您不想一直这样做,只需要ist一次。第二:在编程过程中使用英语..始终!:-)我的意思是,对你来说,变量、方法名称和注释。发布你的日志而不是单行本日志中没有警告,根据这一点:/当还不清楚的时候,给我一个提示,我试着给出一个更详细的解决方案。你介意把“.setNegativeButton(R.string.cancel,new DialogInterface.OnClickListener(){public void onClick(DialogInterface dialog,int id)”这个部分告诉我吗会有一个按钮吗?代码的所有部分都是什么意思?嗯…你应该阅读我发布的链接,在那里你可以看到这个代码正在对话框上创建一个按钮。也许这对你也有帮助:或者
boolean someBool = true;

.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   someBool = false;
               }
           });
do{
   some code
}while(someBool);