c#输入语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#输入语句相关的知识,希望对你有一定的参考价值。

程序代码如下:
static void Main() int a, b; Console.WriteLine("put a"); a = Console.Read(); Console.WriteLine("put b"); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("0", a); Console.WriteLine("0", b);
运行时,a可以正常读入,但是b就报错了

Console.Read() 。输入流中的下一个字符;如果当前没有更多的字符可供读取,则为负一 (-1)。

Read()要在回车之后才开始处理,也就是说,在查询的时候,如果输入t,然后回车,实际上,输入了3个字符, 分别是字符x、回车(13)、换行(10)。当然会出错了。

写法如下图:

控制台输入输出:

输出:

1、System.Console.WriteLine("Hello World!");

2、using System;Console.WriteLine("Hello World!")。

输入:

1、System.Console.ReadLine();/读取一行字符。

2、 System.Console.Read();/读取一个字符。

控制台输入:

System.Console类的Read()和ReadLine0方法可用来实现控制台输入,详细介绍如何使用这两种方法获取输入:

1、Console.Read)方法

ReadO方法每次从输入流(控制台)中读取一个字符,直到收到Enter键才返回。将接收的字符以int型(32位整数)值返回给变量;如果输入流中没有数据,则返回-1。

ReadO方法是一个静态方法,我们可以直接通过类名Console调用它,调用的格式为Console.Read。ReadO方法的原型为:public static int Read()。

如果我们输入了多个字符,然后按Enter键(此时输入流中将包含用户输入的字符,加上Enter键和换行符\\r\\n'),则Read()方法只返回用户输入的第一个字符。但我们可通过对程序的循环控制,多次调用Read()方法来获取所有输入的字符。

ReadO方法返回给变量的数据的类型是32位整数,如果需要得到输入的字符,则必须通过数据类型显式转换才可以得到相应的字符。

示例如下:

2、Console.ReadLine)方法

ReadLine)方法用于从控制台中一次读取一行字符串,直到遇到Enter键才返回读取的字符串。但此字符串中不包含Enter键和换行符(\\r\\n’)。如果没有收到任何输入,或接收了无效的输入,那么ReadLine)方法将返回null。

ReadLine)方法也是一个静态方法,可以直接通过类名Console来调用它,调用的格式为Console.ReadLine。

ReadLine)方法的原型为:public static string ReadLine)。

示例如下:

扩展资料:

字符串格式输出:

//public static void Main()

Console.WriteLine("在宽度为的空间里靠左对齐:0,-10",99);

Console.WriteLine("在宽度为的空间里靠右对齐:0,10]",99);

Console.WriteLine("在宽度为的空间里靠左对齐:0,-10","LLL");

Console.WriteLine("在宽度为的空间里靠右对齐:0,10","RRR");

Console.WriteLine("货币-0:C1:C4",88.8,-888.8);

Console.WriteLine("10进制整数-0:D5",88);

Console.WriteLine("科学计数-0:E",888.8);

Console.WriteLine("固定小数点-0:F3",888.8888);

Console.WriteLine("浮点数-0:G",888.8888);

Console.WriteLine("数字格式-0:N",8888888.8);

Console.WriteLine("16进制格式-0:X4]",88);Console.ReadLine);

格式化说明符:

参考资料:百度百科-c#

参考技术A

因为你输入的是字母,字母转化为int类型就会报错误,

避免异常,你可以用try catch的形式或者

static void Main()
        
            int a, b;
            Console.WriteLine("put a");
            a = Console.Read();
            Console.WriteLine("put b");
            //这句代码是尝试将输入的数据转化为整形
            int.TryParse(Console.Read(), out b);
            Console.WriteLine("0", a);
            Console.WriteLine("0", b);
        

参考技术B

这是因为在b中你输入的是非数字格式,比如输入了字母,而你的程序要把此字符转化为数字,因为不是,所以会报错。你可以将最后一句改成这样。

try

Console.WriteLine("0",b);

catch(exception e)

Console.WriteLine("请输入数字!错误信息:"+e.Message);

参考技术C

Console.Read() 。

输入流中的下一个字符;如果当前没有更多的字符可供读取,则为负一 (-1)。

Read()要在回车之后才开始处理,也就是说,在查询的时候,如果输入t,然后回车,实际上,输入了3个字符,
分别是字符x、回车(13)、换行(10)。当然会出错了。

应该这样写

using System;
using System.Collections.Generic;
using System.Text;

namespace 控制台输入

    class Program
    
        static void Main(string[] args)
        

        
            int a, b;
            Console.WriteLine("put a");
            a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("put b");
            b = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("0", a);
            Console.WriteLine("0", b);
            Console.ReadLine();
      
        
    

本回答被提问者采纳
参考技术D 注意:
Console.Read() 只能读取一个字符,所以当你输入2 按回车的时候,Console.ReadLine读入的就是换行(或者 "")转化错误

以上是关于c#输入语句的主要内容,如果未能解决你的问题,请参考以下文章

C#的输入输出,类型,运算符,语句的练习

在C#程序中用if-else语句判断只能输入英文、空格、小数点的验证方法。

C#语句1:选择语句

循环语句总结(代码以C#为例)

C# 教程学习笔记

将 SQL CASE WHEN 语句转换为 C#