如何从扫描仪输入中获取子字符串?
(在您发表评论“重复”或“查找它”之前,我已经知道了。我没有得到适用的答案,也不在我目前在编程课程中可以使用的范围之内。)
我正在尝试使程序使用扫描仪类接受用户输入,然后打印出部分输入,但仅打印尾端。在此示例中,我让扫描仪要求借记卡号,并希望将输入打印回为“ **** **** **** nnnn”(nnnn是来自扫描仪输入的数字)。这是我所拥有的:
import java.util.Scanner;
public class CyberlifePurchase
{
public static void main(String[ ] args)
{
Scanner payment = new Scanner(System.in);
System.out.println("Please enter your debit card number: ");
String cardNumber = in.next();
System.out.println();
String concealedCardNumber = cardNumber.substring(15);
System.out.println("Card Number: " + "**** **** **** " + concealedCardNumber);
Run Code Online (Sandbox Code Playgroud)
当我编译所有内容时,没有编译错误,但是当我运行程序时,这是输入卡号(nnnn nnnn nnnn nnnn格式)后得到的结果:
java.lang.StringIndexOutOfBoundsException: String index out of range: -11
Run Code Online (Sandbox Code Playgroud)