判断一个字符串是否是整数, 不使用库函数,请用java写
发布网友
发布时间:2022-04-29 02:43
我来回答
共5个回答
热心网友
时间:2022-06-28 23:37
/**
* 返回给定的字符串是否是数字<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);
}
热心网友
时间:2022-06-28 23:37
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;
}
}
热心网友
时间:2022-06-28 23:38
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("不是整数");
}
}
}
热心网友
时间:2022-06-28 23:38
楼主的意思是 强行判断,对吧。
那就对输入的字符串挨个检查呗。
比如把输入的数存在一个数组里,从头到尾挨个判断,是不是0-9的数字,有一个不是,就不算整数。
热心网友
时间:2022-06-28 23:39
String str="1.1";
float f1=Float.parseFloat(str);
float f2=(int)f1;
System.out.println(f1==f2);