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