package AlgorithmTest;
import org.omg.CORBA.INTERNAL;
import java.util.ArrayList;
import java.util.Arrays;
/*
* é¢ç®ä¸ï¼reverse æè½¬æ°å
* é¢ç®äºï¼åç¬¦ä¸²è½¬æ´æ°
* é¢ç®ä¸ï¼å¤ææ¯ä¸æ¯æ°å(æ¬è§£æ³éå¶äºä¸å¯ä»¥åºç° "+" "-")
*
* */
public class NumTest {
public static void main(String[] args) {
System.out.println(isNumber("."));
}
public static int reverse(int x) {
boolean flag= false;
if(x <0) flag =true;
if(new Integer(x)>Integer.MAX_VALUE ||new Integer(x)=0; i--) {
result+=aimArray[i];
}
if(new Integer(result)>Integer.MAX_VALUE ||new Integer(result)=0){
result+=aimArray[i];
begin=true;
Ischange=true;
}else{
break;
}
}catch (NumberFormatException e){
if (aimArray[i]=='+'||aimArray[i]=='-'){
flag=aimArray[i];
Is=aimArray[i]=='+'? false:true;
begin=true;
Ischange=true;
continue;
}
return 0;
}
}
}else{
if (aimArray[i]=='+'||aimArray[i]=='-'){
if (Ischange){
break;
}else{
flag=aimArray[i];
Is=aimArray[i]=='+'? false:true;
}
}else {
try{
Integer temp=Integer.valueOf(aimArray[i]+"");
if (temp<=9&&temp>=0){
result+=aimArray[i];
}else{
break;
}
}catch (NumberFormatException e){
if (result.length()==0){
return 0;
}else{
break;
}
}
}
}
}
try{
Integer _result=new Integer(result);
return !Is?_result: -_result;
}catch (NumberFormatException e){
if(result==""){
return 0;
}else{
return Is?-(Integer.MAX_VALUE+1):Integer.MAX_VALUE;
}
}
}
public static boolean isNumber(String s){
s=s.trim(); //å é¤ä¸¤è¾¹çç©ºæ ¼
if (s.length()==0){
return false;
}
int eN=0;
int qN=0;
char [] array=s.toCharArray();
for (int i = 0; i < array.length; i++) {
if (array[i]==' '){
return false;
}
try{
Integer temp =Integer.valueOf(array[i]+"");
}catch (NumberFormatException e){
if(array[i]=='.'){
if(i+1<=array.length-1){
if(array[i+1]=='e'){
return false;
}
}
if(qN==0){
qN=1;
if (array.length==1){
return false;
}
continue;
}else{
return false;
}
}else{
if (array[i]=='e'){
if(i+1<=array.length-1){
if(array[i+1]=='.'){
return false;
}
}
if(eN==0){
eN=1;
if (array.length==1||(i-1)<0||(array[0]=='0'&&(i+1)>array.length-1)||(i+1)>(array.length-1)){
return false;
}else{
continue;
}
}else{
return false;
}
}else{
return false;
}
}
}
}
return true;
}
public static boolean isNumberT(String s) {
s = s.trim();
int len = s.length();
if (0 == len) return false;
boolean hasE = false, hasDot = false, hasDigit = false, hasFirst = false;
for (int i = 0; i < len; i++)
{
char c = s.charAt(i);
if (c >= '0' && c <= '9') {
hasFirst = hasDigit = true;
continue;
}
switch (c) {
case 'e':
if (hasE || !hasDigit) return false;
hasE = true;
hasDot = true;
hasFirst = hasDigit = false;
break;
case '.':
if (hasDot) return false;
hasDot = true;
hasFirst = true;
break;
case '+':
case '-':
if (hasFirst) return false;
hasFirst = true;
break;
default:
return false;
}
}
return hasDigit;
}
}