2011软件设计大赛题(五)

2014-11-24 03:14:03 · 作者: · 浏览: 8
号是:5432123456788881

则奇数、偶数位(用红色标出)分布:5432123456788881

奇数位和=35

偶数位乘以2(有些要减去9)的结果:1 6 2 6 1 5 7 7,求和=35。

最后35+35=70 可以被10整除,认定校验通过。

请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:“成功”,否则显示“失败”。

比如,用户输入:356827027232780

程序输出:成功

我的代码:import java.util.*;

public class paishou {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);

String num ;

System.out.print("请输入卡号");

num=input.next();

int sum= 0;

int sum1=0;

for (int i=num.length()-1;i>=0;i-=2)

{

int flag = num.charAt(i);

sum= sum + flag;

}

for (int i =num.length()-1;i>=1;i-=2)

{

int flag = num.charAt(i);

if (flag*2>=10)

flag=flag*2-9;

sum1 = sum1 + flag;

}

if ((sum+sum1)/10==0)

System.out.print("成功");

else

System.out.print("失败");

}

}

为什么运行的结果是错的呢、