java 字符串 整数,java 字符串转整数

public class StrToInt {

public static void main(String[] args) {

String str="+123";

StrToInt(str);

String str2="-123";

StrToInt(str2);

String str3="123";

StrToInt(str3);

String str4="+123abc";

StrToInt(str4);

String str5="-123abc";

StrToInt(str5);

String str6="123abc";

StrToInt(str6);

String str7="+123abc";

StrToInt(str7);

String str8="a123abc";

StrToInt(str8);

String str9="+123abc123";

StrToInt(str9);

String str10="-123abc123";

StrToInt(str10);

String str11="123abc123";

StrToInt(str11);

String str12="+9999999999999999999999999999999999";

StrToInt(str12);

String str13="-9999999999999999999999";

StrToInt(str13);

String str14=null;

StrToInt(str14);

String str15="";

StrToInt(str15);

String str16="+";

StrToInt(str16);

String str17="-";

StrToInt(str17);

}

public static void StrToInt(String str){

System.out.println("输入的字符串是:"+str);

int index=0;

boolean minus=false;

long num=0;

if(str==null||str.length()<1){

System.out.println("输出为:"+num);

System.out.println();

return;

}

if('+'==str.charAt(index)){

index++;

}else if('-'==str.charAt(index)){

index++;

minus=true;

}

while(index

if(str.charAt(index)>='0'&&str.charAt(index)<='9'){

int flag=minus?-1:1;

num=num*10+flag*(str.charAt(index)-'0');

if(!minus&&(num>Integer.MAX_VALUE)){

num=Integer.MAX_VALUE;

}

if(minus&&(num

num=Integer.MIN_VALUE;

}

index++;

}else{

break;

}

}

System.out.println("输出为:"+num);

System.out.println();

}

}

输出:

输入的字符串是:+123 输出为:123 输入的字符串是:-123 输出为:-123 输入的字符串是:123 输出为:123 输入的字符串是:+123abc 输出为:123 输入的字符串是:-123abc 输出为:-123 输入的字符串是:123abc 输出为:123 输入的字符串是:+123abc 输出为:123 输入的字符串是:a123abc 输出为:0 输入的字符串是:+123abc123 输出为:123 输入的字符串是:-123abc123 输出为:-123 输入的字符串是:123abc123 输出为:123 输入的字符串是:+9999999999999999999999999999999999 输出为:2147483647 输入的字符串是:-9999999999999999999999 输出为:-2147483648 输入的字符串是:null 输出为:0 输入的字符串是: 输出为:0 输入的字符串是:+ 输出为:0 输入的字符串是:- 输出为:0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值