Java 如何在char中使用数学运算?
我正在做一个信用卡验证程序(如果你不熟悉这个方法),这里是它的链接)。 问题是:当试图在代码中执行“int multi”操作时,int不会像charAt操作所处理的那样导入信用卡的实际值。我如何解决这个问题,我做错了什么?char也不允许进行数学运算,或者是吗Java 如何在char中使用数学运算?,java,char,Java,Char,我正在做一个信用卡验证程序(如果你不熟悉这个方法),这里是它的链接)。 问题是:当试图在代码中执行“int multi”操作时,int不会像charAt操作所处理的那样导入信用卡的实际值。我如何解决这个问题,我做错了什么?char也不允许进行数学运算,或者是吗 import java.io.PrintStream; import java.util.Scanner; public class CreditCardCheck { public static void main(Strin
import java.io.PrintStream;
import java.util.Scanner;
public class CreditCardCheck {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
PrintStream ps = System.out;
int multi;
System.out.println("Enter CreditCard number: ");
String ccn = sc.nextLine();
if(ccn.length() < 16 || ccn.length() > 16 ){
System.out.println("ccn is larger or less than 16-digits");//checking for 16-digit
}else if(ccn.length() == 16){
System.out.println("Validating CreditCard ");
//multiplied numbers
char zero = ccn.charAt(0);
char second = ccn.charAt(2);
char fourth = ccn.charAt(4);
char sixth = ccn.charAt(6);
char eight = ccn.charAt(8);
char ten= ccn.charAt(10);
char twelve = ccn.charAt(12);
char fourteen = ccn.charAt(14);
// added numbers
char first = ccn.charAt(1);
char third = ccn.charAt(3);
char fifth= ccn.charAt(5);
char seventh = ccn.charAt(7);
char nineth = ccn.charAt(9);
char eleven = ccn.charAt(11);
char thirteen = ccn.charAt(13);
char fifteen = ccn.charAt(15);
//multiplication and addition
multi = ((zero*2)+ first) + ((second*2)+third)
+ ((fourth*2)+ fifth) + ((sixth*2)+seventh) + ((eight*2)+nineth)
+ ((ten*2)+eleven) + ((twelve*2)+thirteen) + ((fourteen*2)+fifteen);
System.out.println(multi);
}
}
}
导入java.io.PrintStream;
导入java.util.Scanner;
公共类信用卡检查{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
PrintStream ps=系统输出;
int-multi;
System.out.println(“输入信用卡号:”);
字符串ccn=sc.nextLine();
如果(ccn.length()<16 | | ccn.length()>16){
System.out.println(“ccn大于或小于16位”);//检查16位
}else if(ccn.length()=16){
System.out.println(“验证信用卡”);
//乘数
char zero=ccn.charAt(0);
第二字符=ccn.字符(2);
第四字符=ccn.字符(4);
第六字符=共字符(6);
字符8=共有字符(8);
char-ten=共箱字符(10);
字符12=共字符(12);
char十四=ccn.charAt(14);
//增加的数字
char first=ccn.charAt(1);
第三字符=ccn.字符(3);
第五字符=ccn.字符(5);
第七字符=共字符(7);
char nineth=ccn.charAt(9);
字符11=共字符(11);
字符13=共字符(13);
字符15=共字符(15);
//乘法和加法
多重=((零*2)+第一个)+((第二*2)+第三个)
+((第四*2)+第五)+(第六*2)+第七)+(第八*2)+第九)
+((十乘二)+十一乘二)+(十二乘二)+十三乘二)+(十四乘二)+十五乘);
系统输出打印项次(多);
}
}
}
import java.io.PrintStream;
import java.util.Scanner;
public class CreditCardCheck {
public static void main(String[] args){
Scanner sc = new Sc`enter code here`anner(System.in);
int multi;
System.out.println("Enter CreditCard number: ");
String ccn = sc.nextLine();
if(ccn.length() != 16 ){
System.out.println("ccn is not equal to 16-digits");//checking for 16-digit
}
else if(ccn.length() == 16){
System.out.println("Validating CreditCard ");
//multiplied numbers
int zero = Integer.parseInt(ccn.charAt(0)+"");
int second = Integer.parseInt(ccn.charAt(2)+"");
int fourth = Integer.parseInt(ccn.charAt(4)+"");
int sixth = Integer.parseInt(ccn.charAt(6)+"");
int eight = Integer.parseInt(ccn.charAt(8)+"");
int ten= Integer.parseInt(ccn.charAt(10)+"");
int twelve = Integer.parseInt(ccn.charAt(12)+"");
int fourteen = Integer.parseInt(ccn.charAt(14)+"");
// added numbers
int first = Integer.parseInt(ccn.charAt(1)+"");
int third = Integer.parseInt(ccn.charAt(3)+"");
int fifth= Integer.parseInt(ccn.charAt(5)+"");
int seventh = Integer.parseInt(ccn.charAt(7)+"");
int nineth = Integer.parseInt(ccn.charAt(9)+"");
int eleven = Integer.parseInt(ccn.charAt(11)+"");
int thirteen = Integer.parseInt(ccn.charAt(13)+"");
int fifteen = Integer.parseInt(ccn.charAt(15)+"");
//multiplication and addition
multi = ((zero*2)+ first) + ((second*2)+third) + ((fourth*2)+ fifth) + ((sixth*2)+seventh) + ((eight*2)+nineth) + ((ten*2)+eleven) + ((twelve*2)+thirteen) + ((fourteen*2)+fifteen);
System.out.println(multi);
System.out.println(zero);
}
}
}