gpt4 book ai didi

java - 如何在Java字符串中搜索空格?

转载 作者:行者123 更新时间:2023-12-02 02:35:31 25 4
gpt4 key购买 nike

我对编程很陌生,我正在编写这段代码来计算字符串(长度)到遇到空格时的点。目的是 - 当用户输入他/她的名字和姓氏时,程序应该将名字与姓氏分开,并计算名字(和姓氏)中有多少个字母/字符。

如果我输入以空格分隔的两个字符串(姓名和姓氏),我的代码似乎无法到达/执行“if-statement”(输出:你的名字是:(空格),它有 0 个字母。但是,如果我只输入一个字符串,即 if 语句,它就会被执行。

我做错了什么?

我的示例代码:

public class Initials {

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String nameAndSurname, nameOnly;
int c = 0, count = 0;
System.out.println("Enter your full name please:");
nameAndSurname = scan.nextLine();
int space = nameAndSurname.indexOf(' ');
for(int x = 0; x<=nameAndSurname.length()-1; x++) {
c++;
if(nameAndSurname.indexOf(x) == space) //if there is a space
{
count = c; //how many characters/letters was there before space
System.out.println(count);
}
}
nameOnly = nameAndSurname.substring(0, count);
System.out.println("Your name is: " + nameOnly.toUpperCase() + " and it has " + count + " letters");
scan.close();
}

最佳答案

为什么要费心这些代码呢?只需跳过 for 循环,就有一个

if (space != -1) nameOnly = nameAndSurname.substring(0,space);

如果你真的想知道字母的数量,那就是空格+1

不需要所有那些复杂的东西。

关于java - 如何在Java字符串中搜索空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46415080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com