java - java - 如何从java中的一个输入提示将多个值放入一个数组中?
问题描述
我在让我的程序一次接受信用卡号码并将每个号码存储在数组中时遇到问题。每当我输入值时,我都会得到“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();
}
}
解决方案
您可能会遇到问题(通常),因为信用卡号太大而无法放入 int。
整数只有 32 位,所以它们最多只能达到 ~2^31
而 16 位数字(非常粗略)在 2^50 - 2^52 的范围内
尝试使用 long(64 位)而不是 int。
推荐阅读
- android - Flutter 和 FCM 发送重复通知 (android)
- r - 出现错误:找不到函数“。” 仅用于一个 data.table 使用 .I
- mysql - 对订单进行分组并获取每个订单的产品列表
- python - 如何将 txt 文件的多行保存为一个字符串,在某些关键字处开始和停止
- python - 在 csv 中追加数据,但自己确定行和列
- java - 我无法更改 Jbutton 的标题
- vba - 图像文件只接受 .bmp 问题
- javascript - 在 react.js 中加载图像时如何使用 OnLoad 显示加载器
- powershell - 如何测试失败或得到错误?
- python - 与 Adam 一起训练的 Keras 过早停止