java - 如何使用 .indexOf() 在 Java 中分割字符串

标签 java string substring indexof lastindexof

我正在尝试创建一个程序,该程序接受用户的输入(假设有3个单词)并输出第一个单词大写,第二个单词小写,第三个单词仅输出前两个字符。我不明白为什么第三个字符是整个打印加上前两个字符,而不仅仅是前两个字符。非常感谢!到目前为止我有这个:

import java.util.Scanner;

public class Words {

    public static void main (String[] args){

        Scanner keyboard = new Scanner(System.in);

        String line = keyboard.nextLine();

        String word1 = line.substring(0, line.indexOf(" ")).toUpperCase();
        String word2 = line.substring(line.indexOf(" ") +1).toLowerCase();
        String word3 = line.substring(line.lastIndexOf(" ")+1).substring(0, 
        ,2);

        System.out.println(word1 + " " + word2 + " " + word3);
    }

}

输出:

JAVA is fun fu

最佳答案

你说

String word2 = line.substring(line.indexOf("") +1).toLowerCase();

这使得word2假设is fun的值。另外,对于单词 3,您可以输入 .substring(0,2) (因为子字符串的第二个数字不包含在内),这会引入 fu,从而创建输出 JAVA 很有趣

另一种实现可能是仅按空格分割字符串并轻松将其分配给三个变量。

关于java - 如何使用 .indexOf() 在 Java 中分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47115123/

相关文章:

java - 使用 Java 的方法查找数组中最小 int 的位置

java - 将字符串String对象转换为可迭代的json对象

java - 关于Java中的局部final变量

ios - 从字符串中获取特定值并创建数组

java - 循环运行到 2 的 n 次方的时间复杂度是多少

java - 在 Java 中查找以字节形式编写的控制字符

ios - 本地化字符串比较

使用动态编程进行字符串操作

REGEX 在两个值之间查找字符串

r - 输入 `typ` 无法回收到 R 中的大小