Valid Number
来源:互联网 发布:围棋打谱软件下载 编辑:程序博客网 时间:2024/05/22 13:26
题意:就是需要对一个字符串判断是否满足科学计数方法。
思路:科学计数法中只能出现数字0到9、e、E、‘.’、+、-这些字符。因此就是需要判断这些字符出现的条件。
首先:0到9在任何位置出现都是合法的;e或者E必须满足:前面不能有e或者E出现过,而且不能是第一个或者是最后一个出现;’.’出现的条件是:前面不能有小数点出现,而且不能是第一个或者是最后一个出现;+和-出现的条件是:必须在第一位或者在e和E后面出现,而且+、-后面接的必须是数字;
代码:
public class ValidNumber {
public boolean isNumber(String s){
if(s == null || s.length() == 0) return false;
boolean dotflag = false;
boolean eflag = false;
for(int i = 0 ; i < s.length() ; i++){
switch (s.charAt(i)) {
case '.':
if(dotflag || eflag || (i == 0 || !(s.charAt(i-1)>0 && s.charAt(i-1) <= 9) ||
(i == s.length() -1 || s.charAt(s.length()-1) > 0 && s.charAt(s.length()-1) <=9)))
return false;
dotflag = true;
break;
case '+':
case '-':
if(i>0 && (s.charAt(i-1)!='e' && s.charAt(i-1)!='E') ||
(i == s.length()-1 || !(s.charAt(i+1) >='0' && s.charAt(i+1)<= '9'))
|| s.charAt(i+1)=='.' )
return false;
break;
case 'e':
case 'E':
if(eflag || i == 0 || i == s.length()-1 )
return false;
eflag = true;
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
break;
}
}
return true;
}
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- 数据结构课后习题 马踏棋盘 c语言版
- 机器学习之线性回归-AndrewNg学习笔记
- 呼叫转移简介
- ffmpeg(一):doc文档到底该怎么读
- delphi7 手动安装 indy10.2.3
- Valid Number
- linux笔记-vim编辑器详解
- 两种通用链表(Linux 内核链表)
- 数字电路中的建立时间与保持时间是什么
- 2602--0-1背包
- Java中类的构造方法
- spring+struts2+hibernate的学习笔记
- 【Basic Code】对List进行筛选的几种方法
- linux笔记-文件查找详解