首页 > 编程知识 正文

char转换成string,int转换成char数组

时间:2023-05-04 03:21:44 阅读:34707 作者:996

最近,有一个关于如何在控制台上输入12位数字、进行一些计算并将char类型的数字转换为int类型的问题。 通过搜索,找到两个解决方案。

1、将char型转换为int型

for(intI=0; istr.length (; I ) chartemp_char=str.charat(I; //字符转换为数字的方法一int temp_int=temp_char-'0'; //如何将字符转换为数字2 inttemp _ int=integer.parseint (string.value of (temp _ char ) ); }

第一种方法是通过charat(I )使字符串的各个比特为char型,从当前字符中减去字符0(temp_char-'0),得到当前字符的int值。

第二种方法是将字符转换为字符串,然后强制转换为int类型。

2、将字符串一位一位地分割

第一种方法:循环后Charat(I;

注: charat(I )获取与字符串对应的每个字符,但不能直接转换为int。 转换int仍然是ASCII值。

第二种方法: char[] temp=str.toCharArray (;

注意: char[]的内容是每个字符的ASCII值,而不是字符串中的每个字符。

具体问题如下

软件包cjl; import java.util.Scanner; /**一维码有一个名为ean13的代码,是一串13位数字。 其中第13位是校验码,起到检查前面12个数字是否正确的作用。 *校验方法为: * 1、将前12位数字从左开始,将所有奇数位相加得到一个数a,将所有偶数位相加得到一个数b * 2,数b乘以3再加a得到数c * 3,用10减去数c的1位,结果为110 请在控制台中输入任意11位,然后输入校验码* @ author ff * */public class check code { public void check code (stringstr ) {int checkCode=0 int a=0; //奇数位的和int b=0; //偶数位的和for(intI=0; istr.length (; I ) chartemp_char=str.charat(I; //字符转换为数字的方法一int temp_int=temp_char-'0'; //如何将字符转换为数字2//inttemp _ int=integer.parseint (string.value of (temp _ char ) )//system.out.println (temp //system.out.println (temp _ int=' temp _ int ); if () I1 ) %2==0) /偶数位) b=) temp_int; }else //奇数位{a=a(int ) temp_int; }}int c=a b*3; int c_gw=c; int d=10-c_gw; //system.out.println (a=' a ' b=' b ' c=' c ' c _ GW=' c _ GW ' d=' d ); if(d==10 ) {检查代码=0; }else{checkCode=d; } system.out.println (' check code=' check code ); }public void Input () while ) true ) scannerscanner=newscanner ) system.in ); 请输入system.out.println('12位数字。 请参阅。 ); String str=scanner.nextLine (; if () str.length )==12 ) ) str.matches ) ([0-9] ) ) {checkcode ) str}; 布雷克; }//* * * * @ param args */publicstaticvoidmain (string [ ] args ) ) {CheckCode codeVo=new CheckCode ); codeVo.Input (; }

执行结果:

请输入12位数字。

111111111111

检查代码=6

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。