我的循环在我的字符串中找不到空白 space

My loop can't find blank space in my String

我一直在尝试制作一个程序,要求用户输入一个只有一个空格的句子,一旦他们这样做,我的循环应该遍历字符串并找到一个空格 space,然后取用户的名字和姓氏。唯一的问题是我的循环看不到空白,它永远不会进入 if。我已经尝试了整个下午,尽管它看起来很简单,但现在它真的让我吃不消了。

这是我的代码:

    Scanner sc = new Scanner(System.in);

    String firstName="";
    String lastName="";
    String fullName="";
    int cpt=0;
    int cptBlank=0;

    System.out.println("Entrez votre nom et prénom :");
    fullName = sc.nextLine();

    cpt = fullName.length();
    indicateur = cpt+1;

    for(int i=0; i<cpt;i++) {   
        if(fullName.indexOf(i) == ' ') {    
            cptBlank = i;   
            System.out.println(i);
        }
        System.out.println("test");
    }
    firstName = fullName.substring(0, cptBlank);
    lastName = fullName.substring(cptBlank+1, fullName.length() - firstName.length() );*

这是我程序的return:

    Entrez votre nom et prénom :
    jean jean
    bla
    bla
    bla
    bla
    bla
    bla
    bla
    bla
    bla
    La chaîne contient : 9 caractères
    9
    Your full name is : jean jean
    Votre prénom est : 
    Votre nom est : ean jean

如果你不介意我已经重写了你的代码,不知道你是否会喜欢它,但就在这里:

public static void main(String[] args) throws IOException {
    Scanner sc = new Scanner(System.in);
    String firstName="";
    String lastName="";
    String fullName="";
    String names[] = new String[2];

    System.out.println("Entrez votre nom et prénom :");
    fullName = sc.nextLine();
    names = fullName.split(" ");
    firstName = names[0];
    lastName = names[1];
    System.out.println("Full name: "+fullName+" First name :"+firstName+" Last Name :"+lastName);

}

我在空白处拆分了输入字符串 space 并收集了名字和姓氏。您不需要任何循环来执行此操作。

如果我理解正确,您正在尝试将全名作为输入并将其分成两个变量,因此请尝试我使用 class 为您编写的示例代码,称为 String Tokenizer,其主要目的是采用一个字符串和一个分隔符,并在切割该字符串后输出标记。

String Fullname , Firstname , Lastname;

   Scanner input = new Scanner(System.in);
   System.out.println("Enter Full Name");
   Fullname = input.nextLine();

        StringTokenizer st = new StringTokenizer(Fullname, " ");
        Firstname = st.nextToken();
        Lastname = st.nextToken();
        System.out.println("First Name: "+Firstname);
        System.out.println("Last Name: "+Lastname);