You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Vector中添加两个字符串元素?Java开发遇InputMismatchException报错

问题解决方案

1. InputMismatchException异常修复

该异常通常是使用Scanner类获取输入时,输入值的类型和你调用的接收方法不匹配导致的。比如你要输入字符串类型的姓名,却调用了nextInt()、nextDouble()这类接收数值的方法,就会触发该异常。
修复方案:接收姓名输入统一使用Scanner的nextLine()方法,示例代码如下:

import java.util.Scanner;

public class InputTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入名:");
        String firstName = scanner.nextLine();
        System.out.print("请输入姓:");
        String surName = scanner.nextLine();
        // 构造Name对象
        Name name = new Name(firstName, surName);
        scanner.close();
    }
}

如果之前有调用过nextInt()这类数值读取方法,需要额外调用一次scanner.nextLine()吃掉缓冲区遗留的换行符,避免后续的nextLine()直接读取到空值:

// 先读取数值类型的用户ID
int userId = scanner.nextInt();
scanner.nextLine(); // 清理换行符
// 再读取姓名
String firstName = scanner.nextLine();

2. 向Vector中添加两个字符串元素实现

如果是直接存储两个姓名字符串,直接调用Vector的add()方法即可,示例如下:

import java.util.Vector;

public class VectorTest {
    public static void main(String[] args) {
        // 初始化存储字符串类型的Vector
        Vector<String> nameVector = new Vector<>();
        // 这里替换为你实际获取到的姓名输入值
        String firstName = "李";
        String surName = "四";
        // 添加两个字符串元素
        nameVector.add(firstName);
        nameVector.add(surName);
        
        // 验证结果
        System.out.println("Vector中的元素:" + nameVector);
        
        // 如果你需要存储Name类对象到Vector,也可以按以下方式实现:
        Vector<Name> nameObjVector = new Vector<>();
        nameObjVector.add(new Name(firstName, surName));
    }
}

你现有的Name.java代码本身没有语法问题,只要调整输入部分的Scanner调用逻辑即可解决报错。


内容的提问来源于stack exchange,提问作者Neha Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:18:02