Java 如何在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

我正在做一个信用卡验证程序(如果你不熟悉这个方法),这里是它的链接)。 问题是:当试图在代码中执行“int multi”操作时,int不会像charAt操作所处理的那样导入信用卡的实际值。我如何解决这个问题,我做错了什么?char也不允许进行数学运算,或者是吗

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);

        }
    }
}