字符串转化为整数减 '0';整数转化为字符串 加'0',再逆序。
1. 字符串转化为整数
public class String2Int{
public static void main(String[] args){
int i = 0;
int j=0;
int sum=0;
int sum1=0;
char[] a={'1','2','3','4','5','\0'};
String b="123456";
while(a[i]!='\0'){
sum = sum*10+(a[i]-'0');
i++;
}
for(j=0;j<b.length();j++){
sum1 = sum1*10+(b.charAt(j)-'0');
}
System.out.println(sum);
System.out.println(sum1);
}
}
上面的代码中,如果输入字符串出现空格,则输出结果出错,所以改进如下:
package com.algorithm.program;
public class String2Int{
public static void main(String[] args){
int i = 0;
int j=0;
int sum=0;
int sum1=0;
char[] a={'1','2','3',' ','4','5','\0'};
String b="1234 56";
while(a[i]!='\0'){
while ((a[i] < '0') || (a[i] > '9')) //如果当前字符不是数字,则跳过
{
i++;
}
sum = sum*10+(a[i]-'0');
i++;
}
for(j=0;j<b.length();j++){
while ((b.charAt(j) < '0') || (b.charAt(j) > '9')) //如果当前字符不是数字,则跳过
{
j++;
}
sum1 = sum1*10+(b.charAt(j)-'0');
}
System.out.println(sum);
System.out.println(sum1);
}
}
2.整数转化为字符串
#include<iostream>
using namespace std;
int main(void)
{
int num=12345, i=0, j=0;
char temp[10], str[10];
//将整数转化成字符串,此字符串为逆序,后面需反转过来
while(num)
{
temp[i++] = num%10 + '0';
num = num/10;
}
temp[i]=0;
cout<<temp<<endl;
i=i-1;
//反转字符串
while(i>=0)
{
str[j++] = temp[i--];
}
str[j]=0;
cout<<str<<endl;
system("pause");
return 0;
}