Java 如何确保用户没有在名为“的第一个文本字段中输入其全名?”;“名字”;

Java 如何确保用户没有在名为“的第一个文本字段中输入其全名?”;“名字”;,java,netbeans,Java,Netbeans,这个问题说,向用户询问“名字”和“姓氏”,然后显示带有用户全名的欢迎信息。另外,请确保用户不会在仅要求输入名字的第一个文本字段中输入其全名 我认为,如果用户在第一个文本字段中输入他/她的全名,我们可以从他/她输入空格或(“”)与否的事实中知道这一点。如果没有,我们可以简单地显示消息Welcome+全名。但是它并没有像我想象的那样工作。。。有人能帮我吗?实际上,有几种方法可以做到这一点,但如果我正确理解你的问题,下面会有一种简单的方法,这是我在学习Java时学到的,并帮助我更好地理解Java,你只

这个问题说,向用户询问“名字”和“姓氏”,然后显示带有用户全名的欢迎信息。另外,请确保用户不会在仅要求输入名字的第一个文本字段中输入其全名
我认为,如果用户在第一个文本字段中输入他/她的全名,我们可以从他/她输入空格或(“”)与否的事实中知道这一点。如果没有,我们可以简单地显示消息Welcome+全名。但是它并没有像我想象的那样工作。。。有人能帮我吗?

实际上,有几种方法可以做到这一点,但如果我正确理解你的问题,下面会有一种简单的方法,这是我在学习Java时学到的,并帮助我更好地理解Java,你只需根据自己的需要修改它即可

代码: 公共类FirstNameLastName{

public static void main(String[] args) {
    
    String input;     // The input line entered by the user.
    int space;        // The location of the space in the input.
    String firstName; // The first name, extracted from the input.
    String lastName;  // The last name, extracted from the input.
    
    System.out.println();
    System.out.println("Please enter your first name and last name, separated by a space.");
    System.out.print("? ");
    input = TextIO.getln();
    
    space = input.indexOf(' ');
    firstName = input.substring(0, space);
    lastName = input.substring(space+1);
    
    System.out.println("Your first name is " + firstName + ", which has "
                              + firstName.length() + " characters.");
    System.out.println("Your last name is " + lastName + ", which has "
                              + lastName.length() + " characters.");
    System.out.println("Your initials are " + firstName.charAt(0) + lastName.charAt(0));
    
}
}

编辑: 如果这不合理,我可以用更详细的更好的例子给出更好的解释

关于类似问题的更多说明。

实际上有几种方法可以做到这一点,但如果我正确理解了您的问题,下面将介绍一种简单的方法,这是我在学习Java时从Java获得的,并帮助我更好地理解Java,您只需根据您的需要修改它即可

代码: 公共类FirstNameLastName{

public static void main(String[] args) {
    
    String input;     // The input line entered by the user.
    int space;        // The location of the space in the input.
    String firstName; // The first name, extracted from the input.
    String lastName;  // The last name, extracted from the input.
    
    System.out.println();
    System.out.println("Please enter your first name and last name, separated by a space.");
    System.out.print("? ");
    input = TextIO.getln();
    
    space = input.indexOf(' ');
    firstName = input.substring(0, space);
    lastName = input.substring(space+1);
    
    System.out.println("Your first name is " + firstName + ", which has "
                              + firstName.length() + " characters.");
    System.out.println("Your last name is " + lastName + ", which has "
                              + lastName.length() + " characters.");
    System.out.println("Your initials are " + firstName.charAt(0) + lastName.charAt(0));
    
}
}

编辑: 如果这不合理,我可以用更详细的更好的例子给出更好的解释

关于类似问题的更多说明。

如果我了解您的情况,下面的工作将通过忽略空格后的数据并询问用户的姓氏来完成您需要的工作

代码: 公共静态void main(字符串[]args){


如果我了解你,下面的工作将通过忽略空格后的数据并询问用户的姓氏来完成你所需要的

代码: 公共静态void main(字符串[]args){


代码的问题是,检查每个字符,然后对每个字符执行if/else。这意味着如果最后一个字符不是空白,它将在最后处理else树

解决方案是只检查一次:

if(fn.contains(' '){
    //Do what you want to do, if both names were entered in the first field
}else{
    //Everything is fine
}

代码的问题是,检查每个字符,然后对每个字符执行if/else。这意味着如果最后一个字符不是空白,它将在最后处理else树

解决方案是只检查一次:

if(fn.contains(' '){
    //Do what you want to do, if both names were entered in the first field
}else{
    //Everything is fine
}


请在询问和展示您的作品之前展示您尝试了多少。我确实嵌入了一个图像,请先检查它,然后指出不存在的缺陷。直到,您应该将代码发布到此处,以便其他人轻松复制问题,而不是从您的图像键入所有内容。这个问题很难解决。对空格的粗略检查将如何处理问题名字叫“玛丽·安”?用户对假定他们没有有效名称的软件感到非常恼火。请在询问和展示您的工作之前显示您尝试了多少。我确实嵌入了一个图像,请先检查它,然后指出不存在的缺陷。直到,您应该将代码发布到此处,以便其他人轻松重现问题,而不是键入您的所有内容这个问题很难解决。对空格的粗略检查如何处理像“Mary Ann”这样的名字?用户对假定他们没有有效名称的软件感到非常恼火。我理解您刚才发布的代码,也浏览了链接,但我想问的是,假设有两个文本字段,您应该在第一个文本字段中输入您的名字,在第二个文本字段中输入您的姓氏。。然而,你最终只在第一个文本字段中输入了你的名字和姓氏……我怎么知道发生了这件事呢?检查我嵌入的图像如果它说“输入你的名字”,那么用户输入Joe blow,你希望first name变量只分配“Joe”,然后程序会询问“你姓什么?"基本上你的名字是什么?Joe Blow你的姓是什么?Blow firstName=Joe lastName=Blow这就是你想要的吗?如果是这样,我可以写代码。是的!!!!这正是我问的。谢谢你lucasGreat!你能接受我的答案吗?这对寻找类似问题的人很有帮助。我理解code你刚刚发布并浏览了链接,但我想问的是,假设有两个文本字段,你应该在第一个文本字段中输入你的名字,在第二个文本字段中输入你的姓氏..但是你最终只在第一个文本字段中输入你的名字和姓氏..我怎么想d是否知道发生了这种情况?请检查我嵌入的图像,如果它显示“输入您的名字?”并且用户输入Joe blow,您希望first name变量仅指定“Joe”,那么程序将询问“您的姓氏是什么?”基本上你的名字是什么?Joe Blow你的姓是什么?Blow firstName=Joe lastName=Blow这就是你想要的吗?如果是这样,我可以写代码。是的!!!!这正是我问的…谢谢你lucasGreat!你能接受我的答案吗?这对寻找类似问题的人很有帮助。是的,我理解我的意思错误,非常感谢MaxYes,我理解我的错误,非常感谢MaxGreat!你能接受我的答案吗?这对寻找类似问题的人很有帮助伟大!你能接受我的答案吗?这对寻找类似问题的人很有帮助