导航:首页 > 文档加密 > java中luhn加密算法

java中luhn加密算法

发布时间:2023-04-11 11:40:25

‘壹’ 求高人分析java程序为什么不行

count1=count1+Integer.parseInt(ji[s.charAt(i)]);
中的
ji[s.charAt(i)]

s.charAt(i) 返回的是一个Char

ji是一桥洞个数组 你看见过哪个数组的下标是Char的?

换成Int 就这里有问题.

我输入'ab'的话

数组是这个弯差样子的? ji[b]?

至于你想干嘛我也不知道 你自己改下吧 如果把代码都给你敏闹枯贴上来就没意思了

‘贰’ java难题:

import java.util.Scanner;

public class CardNum {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.nextLine();
StringBuffer b = new StringBuffer(s);
b.reverse();
String s1 = String.valueOf(b);
int i, j, add = 0, add1 = 0, add2 = 0;
char c[] = new char[s1.length()];
int n[] = new int[s1.length()];
String ss[] = new String[s1.length()];
for (i = 0; i <闷兄皮 s1.length(); i++) {
c[i] = s1.charAt(i);
ss[i] = String.valueOf(c[i]);
n[i] = Integer.parseInt(ss[i]);
// System.out.println(n[i]);
}
for (j = 0; j < n.length; j += 2) { // 求奇数位之和
add1 = add1 + n[j];
}
// System.out.println(add1);
for (j = 1; j < n.length; j += 2) { // 求偶数位之和
n[j] = n[j] * 2;
if (n[j] >= 10) {
n[j] = n[j] - 9;
}
add2 = add2 + n[j];
}
// System.out.println(add2);
add = add1 + add2; //判断总和能不能被10整除
if (add % 10 == 0) {
System.out.println("成功"蚂差);
} else {
System.out.println("失尘乱败");
}
}
}

运行结果:
5432123456788881
成功

356827027232780
成功

‘叁’ java中数组问题(求大佬)

publicclassCheckCard{
publicstaticvoidmain(String[]args){
System.out.println(check(4388576018402626L)?"有效":"无效圆庆");
System.out.println(check(4388576018410707L)?"有效橘滚握":"无效");
}

publicstaticbooleancheck(longcard){
intsum1=0;
intsum2=0;
intisOdd=-1;
while(card>备瞎0){
longn=card%10;
card=card/10;
if(isOdd==-1){
sum1+=n;
}elseif(isOdd==1){
n=n*2;
sum2+=(n>9?(n/10+n%10):n);
}
isOdd*=-1;
}

return(sum1+sum2)%10==0;
}
}

‘肆’ 请用java编写一个石头剪刀布的程序

importjava.util.Random;
importjava.util.<ahref="https://www..com/s?wd=Sc&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">Sc</a>anner;

publicclassFingerGuessingGame{
privatestatic<ahref="https://www..com/s?wd=Sc&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">Sc</a>anner<ahref="https://www..com/s?wd=sc&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">sc</a>;
privatestaticRandomrad;
privatestaticfinalString[]FINGERS={"剪刀","石头","布"};
privatestaticintwin=0,loose=0,draw=0;

publicstaticvoidmain(String[]args)配碧{
sc=newScanner(System.in);
如州rad=newRandom();
while(true){
渣卖蔽System.out.println("~~~~~~~~~~~~剪刀石头布游戏,输入E可以退出~~~~~~~~~~~");
System.out.println("请选择你要出什么?Z——剪刀,X——石头,C——布");
Stringcommand=sc.nextLine();
intplayerFinger=getValue(command);
if(playerFinger==-1){
break;
}elseif(playerFinger==3){
System.out.println("输入错误,请参考说明!");
continue;
}
System.out.println("你出的是"+FINGERS[playerFinger]);
intcpuFinger=rad.nextInt(3);
System.out.println("计算机出的是"+FINGERS[cpuFinger]);
intresult=playerFinger-cpuFinger;
if(0==result){
System.out.println("平局!");
draw++;
}elseif(-1==result){
System.out.println("你输了!");
loose++;
}else{
System.out.println("你赢了!");
win++;
}
}

System.out.println("游戏结束! 游戏统计次数");
System.out.println(String.format("赢:%d 输:%d 平局:%d",win,loose,draw));
}

privatestaticintgetValue(Stringcommand){
if(command.equalsIgnoreCase("E")){
return-1;
}
if(command.equalsIgnoreCase("Z")){
return0;
}
if(command.equalsIgnoreCase("X")){
return1;
}
if(command.equalsIgnoreCase("C")){
return2;
}
return3;
}
}

‘伍’ 怎样用java定义方法实现luhn算法

import java.util.Scanner;

//信用卡号校验算法
public class Luhn {
public static void main(String[] args) {
System.out.println("Please input your credit card number:");
Scanner input = new Scanner(System.in);
int sumOdd = 0;
int sumEven = 0;
String number = input.next();
int length = number.length();
int[] wei = new int[length];
for (int i = 0; i < number.length(); i++) {
wei[i] = Integer.parseInt(number.substring(length - i - 1, length
- i));// 从最末一位开始提取,每一位上的数值
System.out.println("第" + i + "位数字是散罩:" + wei[i]);
}
for (int i = 0; i < length / 2; i++) {
sumOdd += wei[2 * i];
if ((wei[2 * i + 1] * 2) > 9)
wei[2 * i + 1] = wei[2 * i + 1] * 2 - 9;
else
wei[2 * i + 1] *= 2;
sumEven += wei[2 * i + 1];
}
System.out.println("奇数位的和敬掘衡是亮做:" + sumOdd);
System.out.println("偶数位的和是:" + sumEven);
if ((sumOdd + sumEven) % 10 == 0)
System.out.println("Recept.");
else
System.out.println("Can not recept.");
}
}

运行结果:

Please input your credit card number:
5432123456788881
第0位数字是:1
第1位数字是:8
第2位数字是:8
第3位数字是:8
第4位数字是:8
第5位数字是:7
第6位数字是:6
第7位数字是:5
第8位数字是:4
第9位数字是:3
第10位数字是:2
第11位数字是:1
第12位数字是:2
第13位数字是:3
第14位数字是:4
第15位数字是:5
奇数位的和是:35
偶数位的和是:35
Recept.

阅读全文

与java中luhn加密算法相关的资料

热点内容
安卓手机微信发不出视频怎么弄 浏览:229
压缩机专用工具 浏览:575
qtcreator可以编译cp吗 浏览:405
小项目是云服务器还是本地好 浏览:14
墨痕斋是什么游戏的服务器 浏览:942
word文件如何压缩大小 浏览:279
遵义联通服务器地址是什么 浏览:29
ansys约束命令流 浏览:814
解压软件电脑版如何下载 浏览:791
闪电匕首算法球 浏览:692
linuxredis停止命令 浏览:670
大麦账号怎么加密 浏览:113
穿越火线怎么找服务器 浏览:526
秘密加密社交软件app 浏览:256
c语言编译器怎么找文件 浏览:836
数学不好能编程吗 浏览:254
微云里的视频加密 浏览:41
3大加密货币交易平台 浏览:647
钣金激光切割机编程 浏览:496
vivo手机手电筒app在哪里 浏览:787