这是我到目前为止的代码。它不能运行。该方法似乎没有接受输入字符串并对其进行处理。
import java.util.Scanner; // Import the Scanner class
import java.util.*;
import java.lang.*;
import java.io.*;
class Main
{
boolean checkUserName(){
boolean underscore; // declaring boolean variable(True or False)
//if statement, conditional
underscore=userName.contains("_");//checking if the userName does indeed contain an Underscore(_)
if (userName.length()<5 && underscore==true) {
System.out.println("Username successfully captured");
}
}
public static void main(String[] args) {
Scanner name1 = new Scanner(System.in); // Create a Scanner object
System.out.println("Enter username");
String userName;
userName= name1.nextLine(); // Read user input
checkUserName(userName);
}
}
您的代码中有几个问题。
-
checkUserName
必须是静态的,因为它是由静态方法直接调用的,在这种情况下是你的主方法。 -
checkUserName
需要输入 -
'userName.length()<5'表示小于5的任何数字,5不小于5
-
checkUserName
期望一个布尔值返回,如果你不需要返回,将其更改为void。 -
尝试给出更好的名称,例如
hasUnderscore
将比underscore
更好static boolean checkUserName(String userName) { boolean underscore = userName.contains("_"); if (userName.length() <= 5 && underscore == true) { System.out.println("Username successfully captured"); return true; } return false; } public static void main(String[] args) { Scanner name1 = new Scanner(System.in); // Create a Scanner object System.out.println("Enter username"); String userName; userName = name1.nextLine(); // Read user input checkUserName(userName); }
欢迎使用Java