我在让我的程序一次接受信用卡号码并将每个号码存储在一个数组中时遇到问题。每当我输入值时,我都会收到“java.lang.NumberFormatException:对于输入字符串:”“” 我需要您的帮助,因为我是 JAVA 新手。
import java.util.Scanner;
import javax.swing.*;
import java.util.ArrayList;
public class Credit_Card_eval
{
public static void main(String[] args) {
int Sum=0;
int Count=0;
Scanner sc = new Scanner(System.in);
System.out.println("Please enter your credit card number");
String input = sc.nextLine();
int[]CC =new int[15];
String[] Creditstring = input.split("");
for (int i=0;i<=15;i++){
Count=Count++;
CC[i]= Integer.parseInt(Creditstring[i]);
}
for (int i=0; i<15;i++){
if(CC[0]==4)
System.out.println("Your Card is a Visa Card");
else if (CC[0]==5)
System.out.println("Your Card is a Master Card");
else if (CC[0]==3 && CC[1]==7)
System.out.println("Your Card is American_Express");
else if (CC[0]==6)
System.out.println("Your Card is a Discover Card");
else
System.out.println("Your Card is unknown");
}
sc.close();
}
}
你根本不需要分开。
String input = sc.nextLine();
int[] CC =new int[16];
for (int i=0;i<=15;i++) {
Count++;
CC[i]= Character.getNumericValue(input.charAt(i));
}
即使您可以完全避免使用 Integer 数组。代码将很简单:
String input = sc.nextLine();
for (int i=0; i<=15; i++) {
if(input.charAt(0) == '4')
System.out.println("Your Card is a Visa Card");
else if (input.charAt(0)=='5')
System.out.println("Your Card is a Master Card");
else if (input.charAt(0) =='3' && input.charAt(1)=='7')
System.out.println("Your Card is American_Express");
else if (input.charAt(0) =='6')
System.out.println("Your Card is a Discover Card");
else
System.out.println("Your Card is unknown");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句