gpt4 book ai didi

java - 如何从字符串中提取子字符串(单词)?

转载 作者:行者123 更新时间:2023-11-30 04:14:21 27 4
gpt4 key购买 nike

我正在尝试输入一个四个单词的句子,然后能够使用indexOf和子字符串单独打印出每个单词。有什么想法我做错了吗?

已编辑

那么这就是它应该的样子吗?我已经运行了两次,得到了两个不同的答案,所以我不确定是我的程序运行该程序有问题还是我的程序本身有问题。

import java.util.Scanner;
public class arithmetic {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

String sentence;
String word1, word2, word3, word4;
int w1, w2, w3, w4;
int p, p2, p3, p4;

System.out.print("Enter a sentence with 4 words: ");
sentence = in.nextLine();

p = sentence.indexOf(" ");



word1 = sentence.substring(0,p)+" ";
w1 = 1 + word1.length();
p2 = word1.indexOf(" ");
word2 = sentence.substring(w1,p2);
w2 = w1+1+word2.length();
p3 = word2.indexOf(" ");
word3 = sentence.substring(w2,p3);
w3 = w1+w2+1+word3.length();
p4 = word3.indexOf(" ");
word4 = sentence.substring(w3,p4);
w4 = w1+w2+w3+1+word4.length();

最佳答案

我至少看到两件事:

  1. 您没有正确计算索引。第三个单词的起始索引应该类似于第一个单词的长度 + 1 + 第二个单词的长度 + 1,但看起来您遗漏了第一个单词的长度。同样,当您获得第四个单词时,您会忽略前两个单词的长度。
  2. indexOf("") 只会获取第一次出现空格的索引。获得第一个空间后,您将重用该索引,而不是使用其他空间的索引。

最后,在修复这两个之后,如果您知道这些单词将由空格分隔,那么您可能需要查看 String.split功能。使用它,您可以拆分句子,而无需自己进行所有空间查找。

关于java - 如何从字符串中提取子字符串(单词)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18774342/

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