判断一个字符串是否是整数, 不使用库函数,请用java写

如题所述

/**
* 返回给定的字符串是否是数字<br>
* 0:不是数字; <Br>
* 1:整数;<br>
* 2:小数;<br>
* 3:小数位全为0;
* @param string
* @return
*/
public static int isNumber2( String string ){
if( StringTools.isNullString( string ) )return 0;
int ll = string.length() ;
char firstChar = string.charAt(0);
int ddc = 0; int ddcc = 0;
if( firstChar=='-'||firstChar=='+'||firstChar=='.'||Character.isDigit(firstChar) ){
if( firstChar=='.' )ddc++;
for( int i=1 ; i<ll ; i++ ){
char c = string.charAt(i);
if( ddc>0 ) ddcc = c!='0'?ddcc+1:ddcc;
if( c=='.' ){ddc++; if( ddc>1 ) return 0;}
else if( !Character.isDigit( c ) ) return 0;

}
}else return 0;
return ddc==0?1:(ddcc==0?3:2);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-01
import java.util.Scanner;

public class B {
public static void main(String[] args) throws Exception {
Scanner scanner=new Scanner(System.in);
System.out.println("please input:");
String str=scanner.nextLine();
boolean flag=isNumber(str);
if(flag){
System.out.println("is int");
} else {
System.out.println("is not int");
}
}

private static boolean isNumber(String str){
for(int i=0;i<str.length();i++){
if(str.charAt(i)<'0' || str.charAt(i)>'9'){
return false;
}
}
return true;
}
}
第2个回答  2010-09-06
public class IsInt {
public static void main(String args[]){
String s = "1234";
try{
Integer i =Integer.parseInt(s);
System.out.println("是整数");
}catch(Exception e){
System.out.println("不是整数");
}

}
}
第3个回答  2010-09-01
楼主的意思是 强行判断,对吧。
那就对输入的字符串挨个检查呗。
比如把输入的数存在一个数组里,从头到尾挨个判断,是不是0-9的数字,有一个不是,就不算整数。
第4个回答  2010-09-01
String str="1.1";
float f1=Float.parseFloat(str);
float f2=(int)f1;
System.out.println(f1==f2);

java判断string变量是否是数字的六种方法
1. 使用正则表达式 方法通过编译正则表达式 "[0-9]*" 来识别字符串是否仅由数字组成。java Pattern pattern = Pattern.compile("[0-9]*");Matcher isNum = pattern.matcher(str);if (!isNum.matches()) { return false;} return true;2. 利用Java自带函数 该方法循环遍历字符串中的每个字符...

Java中怎样判断一个字符串是否是数字
用java的异常机制,不仅可以判断是否是数字,还可以判断整数或者小数:public void checkInt(String bh){ try{ int num = Integer.parseInt(bh);\/\/将输入的内容转换成int System.out.println("是整数:"+num);\/\/是整数 }catch (NumberFormatException e) {\/\/转换成int类型时失败 try{ double d =...

Java:检查字符串是否为数字
使用此方法,我们可以确定是否可以解析String为Integer:另外,如果我们希望在字符串中找到更多数字,则可以使用isNumericSpace,StringUtils另一种值得一提的有用方法。它检查是否String仅包含Unicode数字或空格。让我们检查一个包含数字和空格的字符串:结果是:在本文中,我们介绍了几种检查Java中String是否为...

java里怎么判断一个变量,是否是int型,或者是否是double型
你可以用一个字符串来保存你的输入,然后你可以将输入利用String类库中的函数进行转换,或者利用contains()函数看,是否还有小数点。System.out.println("please input the ten strings:");Scanner sc = new Scanner(System.in);String number = sc.nextLine();if(number.contains(".")){ \/\/说...

如何将一个十六进制字符串转换为整数,不用库函数。如:输入“FF”,转换...
F')data=(data<<4)+(*p-'A'+10);else { printf("*c is not a hex character.\\n",*p);return -1;} p++;} return data;} int main(){ char str[100]="FF";long data;gets(str);data=str2num(str);printf("str=%s\\t data=%ld\\n",str,data);getch();return 0;} ...

剑指offer面试题16:数值的整数次方的Java解法
实现一个求解base的exponent次方的函数Power,其中base和exponent均为整数。此任务不允许使用库函数,且无需考虑大数问题,保证计算结果在整数范围内。第一种解法: 采用暴力循环,逐步相乘base以达到exponent次方的计算目标。此方法简单直接,通过循环exponent次,每次将base与自身相乘,最后得到的结果即为base的...

...出一个字符串中含有的所有字符个数(不使用库函数strlen)。
实际上这个题目就是要手动实现strcmp这个函数的功能,在面试中可能会遇到类似的问题(strcpy等) #include \/\/ 当s1 > s2 的时候,会返回正数\/\/ 当s1 < s2 的时候

用java编程,从键盘输入两个字符串a和b,要求不用库函数strcat把串b的...
String a = "1234567";String b = "abcdefg";if (b.length() > 5) { a = a.concat(b.substring(0, 5));} else { a = a.concat(b);} 输入就算了

编写程序输入一个字符串,删除字符串中的所有数字字符(判断是否数字字符...
用C写了个。删除输入字符串里的数字后输出来,要删除字母也类似,把isalpha换成isdigit就可以了。#include <stdio.h>#include <string.h>int main(int argc,int argv[]){ int i,j=0,len=0; char string[1024]="\\0"; char codestring[1024]="\\0"; printf("input string\\n"); scanf("%s",&string...

预处理程序的代码
下面用PIN1,PIN2说明变量时就可以看出它们的区别: PIN1 a,b;在宏代换后变成 int *a,b;表示a是指向整型的指针变量,而b是整型变量。然而:PIN2 a,b;表示a,b都是指向整型的指针变量。因为PIN2是一个类型说明符。由这个例子可见,宏定义虽然也可表示数据类型, 但毕竟是作字符代换。在使用时要分外小心,以避出错...

相似回答