我在Stack Overflow中查找了与我的问题相似的其他几个问题,但没有一个有助于解决我的问题。所以基本上,我的问题是程序不会执行,因为它对if语句说"int cannot be dereferenced
"。如何解决此问题?
好吧,我尝试在大括号周围移动,并尝试了.length((的不同方法,但没有任何效果。
private void generateButtonActionPerformed(java.awt.event.ActionEvent evt) {
int username, password, random;
username = Integer.parseInt(usernameTextField.getText());
password = Integer.parseInt(passwordTextField.getText());
if (password.length() != 7) {
}
}
我在 NetBeans 中使用 GUI。变量用户名和密码用于文本字段,正如您在代码中看到的那样,我将"用户名"和"密码"的任何输入数据转换为数值。因此,对于此问题,我希望 if 语句显示变量"password"的长度,但它反而显示一个错误,指出"int cannot be dereferenced
"?
你在这里有一个问题:
if (password.length() != 7){
int
没有length()
方法,不像字符串,如果你想检查密码字段的长度,那么你可以使用:
if (passwordTextField.getText().length() != 7) {
或者,如果您将密码用作 int,并且需要检查 int 的长度,请使用:
if (String.valueOf(password).length() != 7) {
函数 length(( 用于字符串,如果你想获取一个数字的数字,你应该像下面这样做:
int length = String.valueOf(password).length();
编译器错误完全正确
您已将密码声明为 int
并且 int 没有长度方法
我想你想做的是
private void generateButtonActionPerformed(java.awt.event.ActionEvent evt) {
String username,password,random;
username = usernameTextField.getText();
password = passwordTextField.getText();
if (password.length() != 7){
}
}
原始数据类型 int 没有方法 length((,它的包装类也没有这样的方法。
您可以在将其解析为整数之前检查长度,例如:
int username, password, random;
String userName = usernameTextField.getText();
String pass = passwordTextField.getText();
if (userName.length() != 7) {
// do something
}
if (pass.length() != 7) {
// do something
}
username = Integer.parseInt(userName);
password = Integer.parseInt(pass);
希望这有帮助。祝你好运。