问题描述
要用面向对象的思想来查找字符串中的数字。实现判断某个字符是否位数字的方法如下:publicstaticboolgetNumeric(stringstr){boolb=false;string[]ArrayInt=newstring[]{"1","2","3","4","5","6","7","8","9","0"};foreach(stringninArrayInt){if(n==str){b=true;break;}}returnb;}怎么使用方法挑选textbox中的一段带有数字的字符并输出呢?小菜鸟求各位大神细心讲解。
解决方案
解决方案二:
classA{publicstaticboolgetNumeric(stringstr){returnRegex.IsMatch(str,@"d");}}
解决方案三:
面向对象的真心不懂publicstaticboolIsDigit(strings){charc;for(inti=0;i<s.Length;i++){c=s[i];if(c<'0'||c>'9'){returnfalse;}}returntrue;}
解决方案四:
这理由什么样的“面向对象思想”?不要轻易地上纲上线。
解决方案五:
引用3楼sp1234的回复:
这理由什么样的“面向对象思想”?不要轻易地上纲上线。
ASP.NET学习手册上的一道课后题,要求用面向对象的思想做。提干我都写出来了。求帮助,卡壳了。。。
解决方案六:
publicstaticboolgetNumeric(stringstr){boolb=false;string[]ArrayInt=newstring[]{"1","2","3","4","5","6","7","8","9","0"};foreach(stringninArrayInt){if(n==str){b=true;break;}}returnb;}
这个方法写的实在太烂!看不下去了……看了这个方法后我就不明题意了,这方法是判断一个字符是否是数字,为什么不用char而要用string呢?虽然textbox.Text是string类型,但是要判断每一位字符是否为数字也应该用char啊!有现成的String.ToArray不用,还要用for循环去切割字符串吗?而且你这题意也不够明确啊!textbox输入的字符串是什么样的,只是一位数字2?还是几位数字和字母的组合d23ee6f?实在是搞不懂。按照你的想法,写了下面的代码stringstr=textBox1.Text;stringarray;boolstop=false;for(inti=0;i<str.Length;i++){if(!stop&&getNumeric(str.SubString(i,1))){array+=str.SubString(i,1);}elseif(getNumeric(str.SubString(i,1))){stop=true;}elseif(stop){break;}}
这种方法很麻烦,还是建议用#1的方法。
解决方案七:
求用面向对象思想写个hello,world
解决方案八:
蛋疼滴老师啊普通算法用对象?蛋疼逻辑高端AI算法,才会使用对象抽象一下现实比如各种拟物算法对象才有用处这个排序你想怎么个对象法把难道应该这么写“打劫!男滴站左边,女滴站右边,非男非女站中间”(数字站左边,字符站右边,特殊不可见滴站中间??)
解决方案九:
引用7楼wanghui0380的回复:
蛋疼滴老师啊普通算法用对象?蛋疼逻辑高端AI算法,才会使用对象抽象一下现实比如各种拟物算法对象才有用处这个排序你想怎么个对象法把难道应该这么写“打劫!男滴站左边,女滴站右边,非男非女站中间”(数字站左边,字符站右边,特殊不可见滴站中间??)
他说这是ASP.NET学习手册上的一道课后题。姑且不去怀疑老师了,LZ的问题描述一定有问题!
解决方案十:
这个跟“面向对象思想”貌似沾不上边吧
解决方案十一:
依次取出每一位进行判断就可以了
解决方案十二:
引用5楼danding_ge的回复:
publicstaticboolgetNumeric(stringstr){boolb=false;string[]ArrayInt=newstring[]{"1","2","3","4","5","6","7","8","9","0"};foreach(stringninArrayInt){if(n==str){b=true;break;}}returnb;}这个方法写的实在太烂!看不下去了……看了这个方法后我就不明题意了,这方法是判断一个字符是否是数字,为什么不用char而要用string呢?虽然textbox.Text是string类型,但是要判断每一位字符是否为数字也应该用char啊!有现成的String.ToArray不用,还要用for循环去切割字符串吗?而且你这题意也不够明确啊!textbox输入的字符串是什么样的,只是一位数字2?还是几位数字和字母的组合d23ee6f?实在是搞不懂。按照你的想法,写了下面的代码stringstr=textBox1.Text;stringarray;boolstop=false;for(inti=0;i<str.Length;i++){if(!stop&&getNumeric(str.SubString(i,1))){array+=str.SubString(i,1);}elseif(getNumeric(str.SubString(i,1))){stop=true;}elseif(stop){break;}}
这种方法很麻烦,还是建议用#1的方法。
看到你的str.SubString(i,1)方法就知道你连门都没入,还是别来指导别人了。多看少说为好。字符串可以直接用foreach遍历,也可以直接使用索引取值。这不是高级知识,而是基础的不能再基础的问题。
解决方案十三:
引用11楼wddw1986的回复:
Quote: 引用5楼danding_ge的回复:
publicstaticboolgetNumeric(stringstr){boolb=false;string[]ArrayInt=newstring[]{"1","2","3","4","5","6","7","8","9","0"};foreach(stringninArrayInt){if(n==str){b=true;break;}}returnb;}这个方法写的实在太烂!看不下去了……看了这个方法后我就不明题意了,这方法是判断一个字符是否是数字,为什么不用char而要用string呢?虽然textbox.Text是string类型,但是要判断每一位字符是否为数字也应该用char啊!有现成的String.ToArray不用,还要用for循环去切割字符串吗?而且你这题意也不够明确啊!textbox输入的字符串是什么样的,只是一位数字2?还是几位数字和字母的组合d23ee6f?实在是搞不懂。按照你的想法,写了下面的代码stringstr=textBox1.Text;stringarray;boolstop=false;for(inti=0;i<str.Length;i++){if(!stop&&getNumeric(str.SubString(i,1))){array+=str.SubString(i,1);}elseif(getNumeric(str.SubString(i,1))){stop=true;}elseif(stop){break;}}
这种方法很麻烦,还是建议用#1的方法。
看到你的str.SubString(i,1)方法就知道你连门都没入,还是别来指导别人了。多看少说为好。字符串可以直接用foreach遍历,也可以直接使用索引取值。这不是高级知识,而是基础的不能再基础的问题。
我也没说我是高手,我也没有指导,交流都不行?你没事说我,不能把时间用在解决楼主的问题上?
解决方案十四:
用正则表达式专门做这个事情的哟