一个简单的C#循环问题,菜鸟求助 我看了下,你写的东西对着呢,但是这里 case和数字中间要空一格! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 static void Main(string[] args) { int i; string str; Console.WriteLine("请选择你最喜欢的课程编号,-1退出:"); Console.WriteLine("1,语文"); Console.WriteLine("2,数学"); Console.WriteLine("3,英语"); Console.WriteLine("4,物理"); Console.WriteLine("5,化学"); Console.WriteLine("-1,退出"); do { str=Console.ReadLine(); i=Int32.Parse(str); switch(i) { case 1: Console.WriteLine("你喜欢的课程是语文"); break; case 2: Console.WriteLine("你喜欢的课程是数学"); break; case 3: Console.WriteLine("你喜欢的课程是英语"); break; case 4: Console.WriteLine("你喜欢的课程是物理"); break; case 5: Console.WriteLine("你喜欢的课程是化学"); break; default: Console.WriteLine("以上没有你喜欢的课程"); break; } } while(i!=-1); Console.WriteLine("再见!"); }一点问题没有..一个很好的控制台应用程序就可以测试出来..应该就是楼上说的..case后面要打一空格.. 在do最后加上一句 还要执行吗 如果执行请输入yes/on 在while里面改成变量==yes 绝对有意思````只是要将i!=-1 该成i==-1do{}while()循环是:做...直到满足while条件为止.所以应该改为i==-1,因为你的需求描述的是i=-1的时候就退出.还有就是,最后再加一个Console.ReadLine(); 否则你将看不到"再见"两个字(也不能说是看不到,就是刚显示还没看清楚),控制台就关掉了,那么Console.WriteLine("再见!"); 就没啥意义了 i!=-1要要,只不过要改一下using System; using System.Collections.Generic; using System.Text; namespace 控制台程序交互 { class Class1 { static void Main(string[] args) { int i; string str; do { Console.WriteLine("请选择你最喜欢的课程编号,-1退出:"); Console.WriteLine("1,语文"); Console.WriteLine("2,数学"); Console.WriteLine("3,英语"); Console.WriteLine("4,物理"); Console.WriteLine("5,化学"); Console.WriteLine("-1,退出"); str=Console.ReadLine(); i=Int32.Parse(str); switch(i) { case1: Console.WriteLine("你喜欢的课程是语文"); break; case2: Console.WriteLine("你喜欢的课程是数学"); break; case3: Console.WriteLine("你喜欢的课程是英语"); break; case4: Console.WriteLine("你喜欢的课程是物理"); break; case5: Console.WriteLine("你喜欢的课程是化学"); break; default: Console.WriteLine("以上没有你喜欢的课程"); break; } } while(i!=-1); Console.WriteLine("再见!"); } } } 后面的判断i!=-1没有任何意义,因为你输入-1的时候循环已经Break了…… 后面的判断i!=-1没有任何意义,因为你输入-1的时候循环已经Break了…… 加上空格就OK了,i!=-1没有问题 楼上的说的意思是最好用while do 的形式不要do while Do while的特性是,至少要执行一次,Console.WriteLine("3,英语"); 前的数字有什么意义吗? case 与数字之间有空格就对了 while (i != -1);只要在case 与常量之间加上空格就行 其余是没问题的至于while (i != -1); 拿来的问题? break 跳出 swith while (i = -1); 结束循环! 截取字符串 窗体DOCK无效 请教MessageBox label的text为什么无法更新 GridView中OnRowEditing的处理 TreeView控件中如何通过拖拽实现节点见的排序 如何获得隐藏的控件的内容? 关于 List<T> 重写方法的疑问 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 浏览数据库的疑问!!!!!!!!!!!! 哪里有C# WinForm的经典例程? 请问如何手动删除Visual C++ 2005 一无所之者提问:关于C#或 .net的开发环境软件如何正确选取问题
static void Main(string[] args)
{
int i;
string str;
Console.WriteLine("请选择你最喜欢的课程编号,-1退出:");
Console.WriteLine("1,语文");
Console.WriteLine("2,数学");
Console.WriteLine("3,英语");
Console.WriteLine("4,物理");
Console.WriteLine("5,化学");
Console.WriteLine("-1,退出");
do
{
str=Console.ReadLine();
i=Int32.Parse(str);
switch(i)
{
case 1:
Console.WriteLine("你喜欢的课程是语文");
break;
case 2:
Console.WriteLine("你喜欢的课程是数学");
break;
case 3:
Console.WriteLine("你喜欢的课程是英语");
break;
case 4:
Console.WriteLine("你喜欢的课程是物理");
break;
case 5:
Console.WriteLine("你喜欢的课程是化学");
break;
default:
Console.WriteLine("以上没有你喜欢的课程");
break;
}
}
while(i!=-1);
Console.WriteLine("再见!"); }
一点问题没有..一个很好的控制台应用程序就可以测试出来..
应该就是楼上说的..case后面要打一空格..
do{}while()循环是:做...直到满足while条件为止.所以应该改为i==-1,因为你的需求描述的是i=-1的时候就退出.
还有就是,最后再加一个Console.ReadLine();
否则你将看不到"再见"两个字(也不能说是看不到,就是刚显示还没看清楚),控制台就关掉了,那么Console.WriteLine("再见!"); 就没啥意义了
using System.Collections.Generic;
using System.Text; namespace 控制台程序交互
{
class Class1
{
static void Main(string[] args)
{
int i;
string str;
do
{ Console.WriteLine("请选择你最喜欢的课程编号,-1退出:");
Console.WriteLine("1,语文");
Console.WriteLine("2,数学");
Console.WriteLine("3,英语");
Console.WriteLine("4,物理");
Console.WriteLine("5,化学");
Console.WriteLine("-1,退出");
str=Console.ReadLine();
i=Int32.Parse(str);
switch(i)
{
case1:
Console.WriteLine("你喜欢的课程是语文");
break;
case2:
Console.WriteLine("你喜欢的课程是数学");
break;
case3:
Console.WriteLine("你喜欢的课程是英语");
break;
case4:
Console.WriteLine("你喜欢的课程是物理");
break;
case5:
Console.WriteLine("你喜欢的课程是化学");
break;
default:
Console.WriteLine("以上没有你喜欢的课程");
break;
}
}
while(i!=-1);
Console.WriteLine("再见!");
}
}
}
不要do while
只要在case 与常量之间加上空格就行 其余是没问题的
至于while (i != -1); 拿来的问题?
while (i = -1); 结束循环!