我正在尝试编写一个简单的Android程序,它将以下列格式在墙上打印99瓶啤酒的歌词。
第1行:墙上有99瓶啤酒......
第2行:墙上有98瓶啤酒......
等等。
我正在尝试创建一个循环来打印第一行歌词,然后递增/递减变量“lineNumber”,“numOfBottles”和“lessNumOfBottles”。
我尝试了一些不同的方法和操作符,但是我的变量在编译时永远不会改变,我在每一行歌词中得到相同的重复数字。
我做错了什么? (评论中的底部循环是我尝试过的第一个循环,我只留下它作为我自己的参考)
protected void onResume(){
super.onResume();
int lineNumber = 1;
int numOfBottles = 99;
int lessNumOfBottles = 98;
String line = "Line " + lineNumber + ":\n";
String lyrics= "Lyrics to 99 bottles of beer \n\n";
String song =line + numOfBottles + " bottles of beer on the wall," + numOfBottles + " bottles of beer, take one down, pass it around," + lessNumOfBottles + " bottles of beer on the wall.\n\n";
TextView textview = (TextView) findViewById(R.id.myTextView);
textview.setText(lyrics);
for(int i = 99;i >= 1;i--) {
if (numOfBottles >= 1) {
textview.append(song);
--numOfBottles;
--lessNumOfBottles;
++lineNumber;
}
}
/*for (int i=0;i<99;){
lineNumber++;
numOfBottles= --numOfBottles;
lessNumOfBottles= --lessNumOfBottles;
textview.setText(song);
textview.append(song);
i++;
}*/
}
答案 0 :(得分:0)
您只将字符串的值分配给lineNumber
,numOfBottles
和lessNumOfBottles
的第一个值。 <{1}}和line
变量永远不会更新。
请改为尝试:
song