有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将IndexOf与Scanner结合使用?

我是一名Java初学者,如果这对您来说太容易回答,我很抱歉,但我希望我能从这里得到一些帮助

我想用Scanner从用户那里得到一个输入,写一个句子。 然后用户会从这个句子中选择一个单词。 然后用string.indexof(""),程序应该计算这个句子中单词从哪个数字开始。 但结果总是-1。我不明白为什么

String a,b;

Scanner sc= new Scanner(System.in);
System.out.println("Please write a sentence");
y=sc.next();

Scanner sc2 = new Scanner(System.in);
System.out.println("Please pick a word from that sentence");

System.out.println("The word starts from=" + (y.indexOf(a=sc2.next())));

共 (1) 个答案

  1. # 1 楼答案

    But the result is always -1. And I don't understand why.

    返回-1的唯一情况是指定的String没有出现这种情况

    ^{}只返回空格前的内容,这意味着空格后的任何内容都将被忽略。似乎需要使用^{}来存储整个句子,而不是^{}

    例如

    y = sc.nextLine();