从键盘输入一个字符判断其是否为数字
- 格式:doc
- 大小:0.15 KB
- 文档页数:1
C#判断字符串是否为数字字符串在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。
【方法一】:使用try{} catch{}语句。
我们可以在try语句块中试图将string类型的字符串变量转换为int类型,如果该字符串不是数字字符串则会抛出异常,这时在catch语句块中就能捕获异常。
一旦发现异常,则不是数字字符串。
我们可以以下三种方式将string类型转换为int类型。
(1)int.Parse(string);(2)Convert.ToInt16(string);//当数字字符串的位数大于4的时候请使用Convert.ToInt32() (3)Convert.ToInt32(string);添加一个文本框TextBox1,和一个按钮Button1,当点击按钮时,判断文本框中的内容是否为数字字符串,是的话则输出转换后的数值。
protected void Button1_Click(object sender, EventArgs e){string message = TextBox1.Text.Trim();int result;if(isNumberic(message,out result)){string tt="<script>alert('匹配成功,转换后的整数为"+result+"')</script>";Page.ClientScript.RegisterStartupScript(this.GetType(), "", tt);}elsePage.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('匹配失败!')</script>");}protected bool isNumberic(string message,out int result){//判断是否为整数字符串//是的话则将其转换为数字并将其设为out类型的输出值、返回true, 否则为falseresult = -1; //result 定义为out用来输出值try{//当数字字符串的为是少于4时,以下三种都可以转换,任选一种//如果位数超过4的话,请选用Convert.ToInt32() 和int.Parse()//result = int.Parse(message);//result = Convert.ToInt16(message);result = Convert.ToInt32(message);return true;}catch{return false;}}上述方法可以将int改为double,如double.Parse(),这样就可以判断是否为浮点数字符串【方法二】:通过正则表达式来判断。
课堂作业模块1 Java编程逻辑【第1课】【作业1】编写一个Java程序,在控制台上输出如下两行信息:Hello,World!Hello,Java!考核点1:了解一个Java程序的启动位置(即程序入口)。
考核点2:掌握基本输出语句:System.out.println(字符串)【第2课】【作业1】从键盘输入3个整数a、b、c,计算a+b*c的结果后输出,验证计算结果是否遵循运算符的优先级顺序。
考核点1:使用Scanner类获取键盘输入。
考核点2:基本运算符及其优先级顺序。
【作业2】从键盘输入1个实数r,计算以r为半径的圆的面积并输出结果,要求将π定义为符号常量。
考核点:符号常量的基本用法。
【第3课】【作业1】从键盘输入3个整数,比较大小后输出最大者。
考核点:if-else语句的运用。
【作业2】从键盘输入一个3位数,判断其是否为水仙花数。
所谓“水仙花数”是指一个三位整数,其各位数字立方和等于该数本身。
例如:153=13+53+33,所以153是一个水仙花数。
考核点:基本数学运算符和逻辑运算符的用法。
【第4课】【作业1】从键盘输入3个整数,比较大小后按由小到大的顺序输出。
考核点:if-else语句嵌套运用。
【作业2】从键盘输入一个年份和一个月份,输出此月份有多少天(考虑闰二月的情况)。
考核点:使用switch-case多分支语句。
【第5课】【作业1】从键盘输入一个正整数,判断其是否为素数。
素数指只有1和它本身两个因子的整数。
考核点:基本循环语句的用法。
【作业2】输出100-999之间的全部水仙花数。
考核点:基本循环语句的用法。
【作业3】从键盘输入一个正整数,判断并输出该正整数是几位数。
考核点1:基本循环语句的用法。
考核点2:分离一个整数各个位数字的方法。
【第6课】【作业1】编写一个Java程序,输出如下图案,图案的行数由键盘输入。
(1)观察图案中行、列及星星个数之间的关系。
(2)扩展练习,输出如下图案,图案的行数由键盘输入。
一.选择题1.要判断char型变量m是否是数字字符,下列可以使用的表达式是( c )。
A、0<=m && m<=9B、"0"<=m && m<="9"C、'0'<=m && m<='9'D、无法表示2.在C语言中,用printf函数输出int型数据时,可以使用格式控制符( D )。
A、%lfB、%fC、%cD、%d3.用来表示“字符变量x为空格或回车”的表达式是( D )。
A、x=' '||x='\n'B、x==' '&&x=='\n'C、x=' '&&x='\n'D、x==' '||x=='\n'4.从键盘输入一个整数给变量get,下列正确的语句是( B )。
A、printf("%d",&get);B、scanf("%d",&get);C、scanf("%d",get) ;D、printf("%d",get);5.在C语言中以下描述错误的是( D )。
A、break语句不能用于循环语句和switch语句外的任何其它语句B、在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环D、在switch语句中使用break语句或continue语句的作用相同6.C语言可以使用pow函数实现幂运算,该函数在头文件( B )中定义。
A、stdio.hB、math.hC、printf.hD、lib.h7.以下说法正确的是( D )。
C语言及实验作业参考做法分支程序设计笔头作业:1.输入4个整数,按从小到大的顺序输出2.根据月份判断季节。
输入月份,输出春/夏/秋/冬。
要求用switch语言实现3.学生学习两门课:必修课成绩为course1,选修课成绩为course2,若两门都及格,打印pass,必修课不及格,打印fail4.从键盘输入一个年份,判该年是否是闰年,是闰年就输出yes,否则输出no 5.从键盘输入一个字符,判断该字符是数字字符、大写字母、小写字母、空格还是其他字符。
6.商店卖西瓜,10斤以上每斤0.8元, 8斤以上每斤0.6元, 6斤以上每斤0.4元,4斤以上每斤0.3元, 4斤以下每斤0.15元,输入西瓜重量和所付的钱数,输出应付的货款和应找的钱数循环程序设计书面作业:1.从键盘上输入10个整数,计算这些整数的和2.水仙花数。
一个3位数,若其各位数字之和等于它本身,这个数就称为水仙花数.输出所有的水仙花数。
(如153)#include<stdio.h>int main()//方法一{ int num,bai,shi,ge;for(num=100; num<1000; num++){bai=num/100;shi=num/10%10;ge=num%10;if(num==bai*bai*bai+shi*shi*shi+ge*ge*ge)printf("%d\n",num);}return 0;}//方法二int main(){int i,j,k;for(i=1; i<10; i++)for(j=0; j<10; j++)for(k=0; k<10; k++)if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf("%d\n",100*i+j*10+k);return 0;}3.计算分数序列2/1,3/2,5/3,8/5,13/8,21/13,.....前20项之和。
C#⽤正则表达式判断字符串是否为纯数字Regex regex = new System.Text.RegularExpressions.Regex("^(-?[0-9]*[.]*[0-9]{0,3})$");string itemValue="abc123"bool b=regex.IsMatch(itemValue);if(b==true){ //是纯数字}else{ //不是纯数字}下⾯这段代码是判断是否为纯数字,如果是就加1,如果是以字母开头的数字字符串,字母不变,后⾯数字加11class Program2 {3static void Main(string[] args)4 {5string str = Console.ReadLine();6string strTmp = "";7if (IsNumeric(str))8 {9 strTmp = (ConvertToLong(Convert.ToInt32(str) + 1).ToString().PadLeft(str.Length, '0'));10 }11else12 {13int iNum = str.Length;14int j = 0;15for (int i = 0; i < iNum; i++)16 {17if (!IsNumeric(str[i].ToString()))18 {19 j++;20 }21 }22 strTmp = str.Substring(0, j) + (ConvertToLong(Convert.ToInt32(str.Substring(j, str.Length - j)) + 1).ToString().PadLeft(str.Substring(j, str.Length - j).Length, '0'));23 }24 Console.WriteLine(strTmp);25 Console.ReadKey();26 }27public static bool IsNumeric(string itemValue)28 {29return (IsRegEx("^(-?[0-9]*[.]*[0-9]{0,3})$", itemValue));30 }31public static long ConvertToLong(object value)32 {33if (value == null || value.ToString().Trim() == "")34 {35return0;36 }3738long nValue;39long.TryParse(value.ToString(), out nValue);4041return nValue;42 }43public static bool IsRegEx(string regExValue, string itemValue)44 {45try46 {47 Regex regex = new System.Text.RegularExpressions.Regex(regExValue);48if (regex.IsMatch(itemValue)) return true;49else return false;50 }51catch (Exception)52 {53return false;54 }55finally56 {57 }58 }59 }View Code。
java判断字符串是否为数字的几个方法java判断字符串是否为数字的几个方法Java语言是一种分布式的面向对象语言,具有面向对象、平台无关性、简单性、解释执行、多线程、安全性等很多特点。
下面是店铺带来的java判断字符串是否为数字的几个方法,希望对你有帮助。
本文实例总结了java判断字符串是否为数字的方法。
方法一:用JAVA自带的函数public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true;}方法二:用正则表达式public static boolean isNumeric(String str){ Pattern pattern = pile("[0-9]*"); return pattern.matcher(str).matches(); } 方法三:用ascii码public static boolean isNumeric(String str){ for(int i=str.length();--i>=0;){ int chr=str.charAt(i); if(chr<48 chr="">57) return false; } return true;}拓展阅读Java 继承继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
生活中的继承:兔子和羊属于食草动物类,狮子和豹属于食肉动物类。
食草动物和食肉动物又是属于动物类。
所以继承需要符合的关系是:is-a,父类更通用,子类更具体。
虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。
实验二选择结构程序设计一、实验目的1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if语句进行程序设计。
4. 使用switch语句实现多分支选择结构。
二、实验内容(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。
[题目内容]从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[输入]一个字符型数据[输出]整数或出错信息[提示]根据字符型数据的ASCII码值是否在‘0’字符与‘9’字符之间进行判断。
使用if…else…语句和复合语句。
#include "stdio.h"void main(){char ch;int dch;printf("请输入一个字符:\n");scanf("%c",&ch);printf("输入的字符是:%c\n",ch);if(ch>='0'&&ch<='9'){dch=ch-'0';printf("%c对应的整数是:%d\n",ch,dch);}else{printf("%c不是数字字符\n",ch);}}2.[目的]掌握条件表达式的使用[题目内容]编写一个程序,其功能为:从键盘输入三个数x、y、z,判断x+y=z 是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!=z”的信息。
[输入]三个数x、y、z[输出]“x+y=z”或“x+y!=z”[提示]条件判断表达式x+y==z#include "stdio.h"void main(){float x,y,z;printf("请输入x,y,z:\n");scanf("%f%f%f",&x,&y,&z);if(x+y==z)printf("x+y=z\n");elseprintf("x+y!=z\n");}3.[目的]掌握求最大值最小值的方法。
从键盘输入一个字符,判定它是否是小写字母,如果是,则将它转换成大写字母,如果是其他字符则原样输出。
如何判断一个字符是小写字母查上一章提供的ASCII码表.在表里,小写字母(a~z)对应的ASCII值为97~122.那么,判断一个字符是否为小写,就看它的值是否大于等于'a',并且小于等于'z'.#include<>void main(){char a;printf("\n请输入一个字符");scanf("%c",&a);if((a>='a'&&a<='z')){printf("\n您输入的字符是小写字母",a);}else{printf("您输入的字符不是小写字母\n",a);}}(2)验证输入的一个字符是否为大写字母#include <>void main(){char a;printf("请输入一个字符\n");fflush(stdin);a=getchar();if('A'<=a && a<='Z'){printf("用户输入的是大写字线%c\n",a);}else{printf("用户输入的不是大写字母%c\n",a);}}(3) 要求判别键盘输入字符的类别.可以根据输入字符的ASCII码来判别类型.由ASCII 码表可知ASCII码值小于32的为控制字符.在0~9之间的为数字,在A~Z之间的为大写字母,在a~z之间的为小写字母,其余的则为其他字符.#include<>void main(){char c;printf("\n请输入一个字符:");c=getchar();if(c<32)printf("\n该字符是一个控制字符\n");else if(c>='0' && c<='9')printf("\n该字符是一个数字");else if(c>='A' && c<='Z')printf("\n该字符是一个大写字母");else if(c>='a' && c<='z')printf("\n该字符是一个小写字母\n");elseprintf("\n该字符是一个其它字符\n");}2. seizeof(type_name)sizeof 运算符的用法#include<>void main(){printf("\n char 类型的大小是%d字节\n",sizeof(char));printf("short int 类型的大小是%d 字节\n",sizeof(short int));printf("unsigned short int 类型的大小是%d 字节\n",sizeof(unsigned short int)); printf("int 类型的大小是%d 字节\n",sizeof(int));printf("unsigned int 类型的大小是%d字节\n",sizeof(unsigned int));printf("long 类型的大小是%d 字节\n",sizeof(long));printf("unsigned long 类型的大小是%d 字节\n",sizeof(unsigned long));printf("float 类型的大小是%d 字节\n",sizeof(float));printf("double类型的大小是%d 字节\n",sizeof(double));}3.判定给定的年分是否为闰年.闰年的判定规则为:能被4整除但不能被100整除的年分,或能被400整除的年份.#include<>void main(){int year;printf("\n 请输入年份");scanf("%d",&year);if((year%4 ==0 && year % 100 !=0)||(year%400==0)){ printf("\n%d 年是闰年\n",year);}else{printf("\n%d 年不是闰年\n",year);}}4. 输入一个5位数,判断是不是回文数. eg:12321是回文数#include<>void main(){long ge,shi,qian,wan,x;printf("\n请输入一个五位整数:");scanf("%ld",&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if(ge== wan && shi==qian){printf("\n%ld 这个数是回文数\n",x);}else{printf("\n %ld 这个数不是回文数",x);}}5.要求用户输入一个字符值,并检查它是否为元音字母#include<>void main(){char in_char;printf("\n请输入一个小写字母");scanf("%c",&in_char);switch(in_char){case 'a':printf("\n您输入的是元音字母:a\n");break;case 'e':printf("\n您输入的是元音字母:e\n");break;case 'i':printf("\n您输入的是元音字母:i\n");break;case 'o':printf("\n您输入的是元音字母:o\n");break;case 'u':printf("\n您输入的是元音字母:u\n");break;default:printf("\n您输入的%c不是是元音字母:",in_char);}}编程实现:从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出;否则,直接输出。
一、概述在进行字符串处理的过程中,经常会遇到需要判断字符串中的数字、字母等类型的需求。
这时候就需要使用一些函数方法来进行判断。
本文将介绍几种常用的函数方法,帮助读者更好地应对这一类问题。
二、判断字符串中是否含有数字1. 使用循环遍历字符串的方法遍历字符串中的每一个字符,利用isdigit()函数来判断是否是数字。
示例代码如下:```def has_numbers(inputString):return any(char.isdigit() for char in inputString)```这种方法简单直接,适用于各种编程语言。
2. 使用正则表达式利用正则表达式可以更加灵活地匹配字符串中的数字。
示例代码如下:```import redef has_numbers(inputString):return bool(re.search(r'\d', inputString))```使用正则表达式的方法能够实现更复杂的匹配规则,适用于对字符串的高级匹配需求。
三、判断字符串中是否含有字母1. 使用循环遍历字符串的方法类似于判断字符串中是否含有数字的方法,遍历字符串中的每一个字符,利用isalpha()函数来判断是否是字母。
示例代码如下:```def has_letters(inputString):return any(char.isalpha() for char in inputString)```这种方法同样简单直接,适用于各种编程语言。
2. 使用正则表达式利用正则表达式同样可以更加灵活地匹配字符串中的字母。
示例代码如下:```import redef has_letters(inputString):return bool(re.search(r'[a-zA-Z]', inputString))```正则表达式方法同样能够实现更复杂的匹配规则。
四、判断字符串中是否含有其他类型字符除了数字和字母之外,有时候还需要判断字符串中是否含有其他类型的字符,比如空格、标点符号等。
对于.NET平台的WinForm程序来说,好多情况下都会遇到判断输入的字符是否是数值的情况.碰到类似的问题,一般有这样几种解决方式:1 使用char关键字的IsNumber()方法获取输入子符串的每一位字符,通过调用char关键字的IsNumber()方法分别判断是否是数字来达到目的,但是这种方法一旦遇到带小数点的数值型变量就必须要加入判断的逻辑代码来处理小数点带来的问题.非常麻烦.2 使用 try { }关键字捕获日常利用数值型的变量可以执行加减运算这个特性,在一个try{}里面强行把该输入的变量转换成一个数值型变量,如果是数值型就能正常地转换,如果不是转换的时候会发生错误,系统就会捕捉这个错误,从而我们可以获知输入是否是数值型.3 使用所有数值型关键字的TryParse()方法凡是数值型的关键字,例如int, float都有TryParse()方法,调用该方法的时候它会尝试着去转换,如果能转换的话就转换成数值型,并给调用该方法的地方返回一个布尔值true,当不能转换的时候给调用该方法的地方返回一个布尔值false.4使用正则表达式学习C#语言的时候很少会提到正则表达式,但是事实上.Net FrameWork确实也给我们提供了这样一个类来共我们实现某些类型判断的功能.该类存在于System.Text.RegularExpressions命名空间下.可以使用Regex类的 IsMatch方法来判断输入的字符串是否符合相应的条件,当然这里所说的条件是指正则表达式.以下是经常使用的正则表达式:^[1-9]\d*$ //匹配正整数^-[1-9]\d*$ //匹配负整数^-?[1-9]\d*$ //匹配整数^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数+ 0)^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)评注:处理大量数据时有用,具体应用时注意修正匹配特定字符串:^[A-Za-z]+$ //匹配由26个英文字母组成的字符串^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串^[a-z]+$ //匹配由26个英文字母的小写组成的字符串^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串在上面我们使用了Regex类的 IsMatch方法来判断输入的字符串.其实对于c#中的正则表达式来说不光只有这一个方法,好包括其他的静态方法:Escape:对字符串中的regex中的转义符进行转义;Match: 返回Match的实例;Matches: 返回一系列的Match的方法;Replace: 用替换字符串替换匹配的表达式;Split: 返回一系列由表达式决定的字符串;Unescape:不对字符串中的转义字符转义;。
一、分析题(每题4分,共500分)1. 编写一完整程序,比较两个字符串STR1和STR2所含字符是否完全相同,如果相同(AL)=1,不相同(AL)=0.2. 编写一段程序统计BUF缓冲区100个字数据中为0的个数,并将统计结果保存在DL 中。
3. 比较5个字节的字符串A和B,若两个字符串不相等则字节标志单元FLG 置1;否则清0。
4. 设STR开始有一个长度为50个字节的字符串,编一段程序,将字符串的所有字符向后(大地址)移动20个字节。
5. 已知在AX、BX中放有一个32位二进制数,求其补码,并送入CX、DX之中,其中AX、CX放高位。
6. 在A字单元有一个有符号被除数,在B字单元有一个有符号除数,求其商存于C字单元中,余数存D字单元中,试编程实现之。
7.8. 编写一个完整的程序放在代码段CSEG中,要求把数据段中两个字单元X和Y?的内容相加,结果放在AX中.9. 试编写一程序段把40个字母A的字符串从源缓冲区传送到目的缓冲区。
10. 在A地址处有10个数据,现要求传送到B地址处,请编程实现。
11. 在A、B地址起各有4个字节单元的无符号数,试编程实现二个无符号数的和,并将值存于C址起的单元中。
12. 按下面要求写出程序的框架:①定义一个数据段,其中开辟100个字单元、初值为0;②定义一个代码段,并在其中指定段寄存器、指定主程序从0100H开始、?给有关段寄存器赋值;③程序结束。
13. 编制将DS段中名为BUFB的字节存储区改写为空白字符(编码为20H)的程序段。
假定BUFB存储区定义为BUFB DB N DUP('^'),其中N为字面常量。
14. 将BUF中的16位数分成四组,每组四位,然后把这四组数分别存放在A、B、C、D字节变量中。
15. 编一段程序把BX中的二进制数用十六进制数的形式在屏幕上显示出来.16. 在附加段有一个字数组,其首地址已存放在DI寄存器中,在数组的第一个字中存放着该数组的长度.要求编制一个程序使该数组中的数按照从小到大的次序排列整齐.(起跑排序算法)17. 在ADDR单元中存放着数Y的地址,试编制一程序把Y中1的个数存入COUNT单元中.18. 在STR 字符串中搜索字符A。
c中判断是否数字的函数
在C语言中,判断一个字符是否为数字可以使用isdigit()函数。
该函数在ctype.h头文件中定义,其函数原型如下:
int isdigit(int c);
其中,参数c是要判断的字符。
如果c是数字字符(0~9),则该函数返回非零值(true),否则返回0(false)。
例如,下面的代码演示了如何使用isdigit()函数判断一个字符是否为数字:
#include <stdio.h>
#include <ctype.h>
int main()
{
char c = '8';
if (isdigit(c))
{
printf(''%c'是数字字符
', c);
}
else
{
printf(''%c'不是数字字符
', c);
}
return 0;
}
输出结果:
'8'是数字字符
需要注意的是,isdigit()函数只能判断单个字符是否为数字,不能判断一个字符串是否全由数字组成。
如果要判断一个字符串是否全由数字组成,可以使用自定义函数或正则表达式等方法。