判断是否是数字
c》='0'&&c<='9';
判断是否是数字
c》='0'&&c<='9';
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 字符串的读取
{
class Program
{
static void Main(string[] args)
{
//数字和字符混合在⼀起了,作为⼀个优秀的挖掘⼈员,把输⼊的数字挖出来,并计算这些数字的和,并输出。输⼊以 @作为结束。
//样例输⼊ 23a34b34@ 样例输出 19
char a;//定义字符
int sum = 0;//定义字符串的数字之和为sum
do//do...while循环 先执行用户输入的代码
{
a = (char)Console .Read ();//读取用户输入的字符
if (a >= '0' && a <= '9')//判断输入的字符是否是数字 每个字符数字都有对应的数字 在范围内就是数字
{
int temp = a - '0';//如果是字符数字,减去字符‘0’对应的数字就是本身的数值
sum += temp;//将数字相加并存储到sum
}
}while (a!='@');//当输入的字符不是‘@’时 执行循环
Console.WriteLine(sum);
Console.ReadKey();
}
}
}
using System;
namespace _024_字符读取和编程题
{
class Program
{
static void Main(string[] args)
{
//Convert.ToInt32(Console.ReadLine());
//数字类型 字符串
// a 换行
//char a = (char)Console.Read();
//char b = (char)Console.Read();
//Console.WriteLine("-----------");
//Console.WriteLine(a);
//Console.WriteLine(b);
//char c = (char)Console.Read();
//Console.WriteLine(c);
char c;// '0' -- 55 '9' --
int sum = 0;
do
{
c = (char)Console.Read();
if (c >= '0' && c <= '9')
{
int number = c - '0';
sum += number;
}
} while (c != '@');
Console.WriteLine(sum);
}
}
}
console.readline:输入的是字符串
console.read:输入的是单个字符
控制台输入的内容时存储在缓存区的, read()是读取单个字符, 而ReadLind()读取的是所有的字符。
求一个数字字符代表的数字:int number=a-'0';
int a=Console.Read();
Console.WriteLine(a);
输入a,返回97
char a=(char)Console.Read();
Console.WriteLine(a);
readline不会读取换行符
read会读取换行符
wdhs
读取字符:
Console.Read() ,返回整数 ,会读取换行符号
怎么判断一个字符是不是数字
不能把字符串赋值给一个字符类型、
如果输出的是字符,想要它输出的也是字符,要用到强塞
例:char a = (char)Console.Read();
Read在读取单个字符的时候换行符也会被读取
Read要连续输入不能换行,回车是告诉控制台输出结束
代码Read有输入缓冲区,输入的数值要先经过控制台识别(包括回车,也就是换行符),再到输入缓冲区,最后给代码Read一一读取识别,而代码ReadLine是直接一次性读完
第六十七课 编程题(单个字符读取)
1. 数字和字符混合在一起,作为一个优秀的挖掘人员,把输入的数字挖出来,并计算这些数字的和,并输出,@作为输入的结束。
样例输入23a34a34@
样例输出19
bool temp = true;
int he = 0;
while (temp)
{
char a = (char)Console.Read();
if (a != '@')
{
if (a >= '0' && a <= '9')
{
int number = a - '0';
he += number;
}
}
else
{
temp = false;
}
}
Console.Write(he);
我是这样写的,真心不习惯用do...while语句,为什么用while都能些的非得要用do...while语句呢?可能经历的少吧。
Windows系统里面,每行结尾其实是“<回车><换行>”,即“ \r\n”
char a = (char)Console.Read();
char b = (char)Console.Read();
Console.WriteLine("-------");
Console.WriteLine(a);
Console.WriteLine("-------");
Console.WriteLine(b);
Console.WriteLine("-------");
Console.WriteLine(a == '\r' && b == '\n');
直接敲回车,结果为true
每一个字符都会对应一int类型的数值,因此想要强制的把输入的字符最后输出也为字符,则可以强制转化,如:char c=(char)Console.Read();