首页 > 解决方案 > 无法在原始类型 int 上调用 length()

问题描述

我试图将用户输入的学生 ID 限制为 8 个字符的长度,但是当我使用 input.length() 时,它告诉我不能在原始类型 int 上调用 length()。有什么方法可以轻松修复/实现我想要的另一种方式?错误发生在第四行。

input.nextLine();
System.out.print("Please enter your Student ID:  "); //Prompts for Student ID
int studentId = input.nextInt();
if(studentId.length() != 8)
    {
       System.out.println("Student ID must be 8 characters");
    }

标签: validationuser-inputvariable-length

解决方案


您定义studentId为整数,因此不会有length()方法。

您可以将studentId变量转换为 aString然后使用该length()方法。

String student_id_as_string = studentId + "";
if (student_id_as_string.length() != 8) { 
  ... 
}

推荐阅读