如何修改For循环实现基于输入起止值的平方表生成?
解决平方表起止值输入问题
核心问题分析
你当前的代码仅调用了Console.ReadLine()读取输入,但未将输入值存入变量,循环仍在使用预设的1和maxValue常量——直接替换成start和end会报错,是因为你根本没定义这两个变量。
修改步骤
- 定义
start和end两个整数变量,用于存储用户输入的起止值 - 将
Console.ReadLine()返回的字符串转换为整数,赋值给这两个变量 - 把for循环的初始值和终止条件替换为
start和end,删除无用的maxValue常量
修改后的完整代码
int counter; int square; // 定义存储起止值的变量 int start; int end; // 获取并转换用户输入 Console.WriteLine("Start: "); start = int.Parse(Console.ReadLine()); Console.WriteLine("End: "); end = int.Parse(Console.ReadLine()); // 打印表格表头 Console.WriteLine("Number Square"); Console.WriteLine("-------------------"); // 使用输入的起止值执行循环 for (counter = start; counter <= end; counter++) { square = counter * counter; Console.WriteLine("{0} {1}", counter, square); }
额外优化建议
如果用户输入非数字内容,int.Parse()会导致程序崩溃,你可以改用int.TryParse()做输入验证,提升程序稳定性:
Console.WriteLine("Start: "); while (!int.TryParse(Console.ReadLine(), out start)) { Console.WriteLine("请输入有效的整数:"); } Console.WriteLine("End: "); while (!int.TryParse(Console.ReadLine(), out end)) { Console.WriteLine("请输入有效的整数:"); }
内容的提问来源于stack exchange,提问作者C P
相关产品推荐
相关产品推荐

