java 打印出句子中第一个出现的字母之后的句子的其余部分[已结束]

f0ofjuux  于 2023-01-24  发布在  Java
关注(0)|答案(1)|浏览(117)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

昨天关门了。
Improve this question
如何打印句子中第一个出现的字母之后的句子的其余部分?
我试过了,但是,它只打印我在控制台中给予出的句子和字母。
例句:句子-你好吗?字母-一个O/P:是你吗?

import java.util.Scanner;

class Program {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);

      System.out.print("Enter a sentence: ");
      String sentence = sc.nextLine();

      System.out.print("Enter a letter: ");
      String letter = sc.next();

      System.out.println(sentence);
      System.out.println(letter);

      // int dec = -1;
      // String str = String.valueOf(dec);

      if (sentence.indexOf(letter) == -1) {
         System.out.println("The letter does not exist in the sentence.");
      } else {
         letter = sentence.substring(sentence.indexOf(letter) + 1);
      }

      sc.close();
   }
}

输入句子:hello world输入一个字母:这个字母在这个句子中不存在。
它不起作用,它表明给定的字母不存在,但在句子“w”的字母存在。

kiayqfof

kiayqfof1#

变量Stringletter被设置为您要查找的字母,但随后您用生成的句子覆盖它,此后,您不对该变量执行任何操作。
你应该把结果保存到一个不同的变量中,比如sentencePart,然后打印出这个变量,否则你的代码读起来会很混乱。

if (sentence.indexOf(letter) == -1) {
    System.out.println("The letter does not exist in the sentence.");
} else {
    String sentencePart = sentence.substring(sentence.indexOf(letter) + 1);
    System.out.println("The sentence part is " + sentencePart);
}

相关问题