为什么当我第一次输入“赌博”时,只有if语句起作用?键入其他任何内容都没有用,它仍然增加了10个树林。为什么当我第一次键入其他内容时,只有else语句起作用?输入“赌博”是没有用的,将继续说“写”赌博“打树。 “ PS:变量,其int = woods;以及字符串赌博;
Console.WriteLine("You have {0} woods", woods);
Console.WriteLine("Write ''gamble'' to hit the tree");
gamble = Console.ReadLine();
bool loop = true;
while (loop)
{
if (gamble.Contains("gamble"))
{
woods = woods + 10;
Console.Clear();
}
else
{
Console.WriteLine("Write ''gamble'' to hit the tree");
}
Console.WriteLine("You have {0} woods", woods);
Console.ReadLine();
}
答案 0 :(得分:1)
如果我了解您的描述,您就忘记再次阅读gamble
Console.WriteLine("You have {0} woods", woods);
gamble = Console.ReadLine();
}
答案 1 :(得分:1)
gamble = Console.ReadLine();
您只能在开始时进行赌博。在循环中,它永远不会改变。因此,它会反复使用第一个值。
在循环的最后一行添加gamble =
。
答案 2 :(得分:0)
在while循环结束时,您正在做private void Form1_Load(object sender, EventArgs e)
{
this.comboBoxSubjectCName.DataSource = this.Student.TableClass;
this.comboBoxSubjectCName.DisplayMember = TableColumn.ClassName;//Column name that will be the DisplayMember
this.comboBoxSubjectCName.ValueMember = TableColumn.ClassID;//Column name that will be the ValueMember
}
,但没有存储它。您需要Console.ReadLine()
才能将扫描的字符串存储在“ gamble”变量中。
答案 3 :(得分:0)
因为循环始终为真。您应该在if和else语句之后将其更改为false ...
答案 4 :(得分:0)
无论控制台行中是否存在除“赌博”以外的其他内容,它都会添加10个木头,原因是您在返回的消息中写入了“赌博”。
select UpdateZone (cast(? as int),?)
是这里的问题。
您可以通过不在返回消息中写“赌博”一词来解决此问题,或者找到一种巧妙的方法来使其不在UILabel
循环中运行。
例如,您可以使用main方法让它运行仅要运行一次的功能。
这样的事情。
else {Console.WriteLine("Write ''gamble'' to hit the tree");}
警告:如果写了“赌博”以外的内容,程序将退出。