java - 如果包含两个词

标签 java if-statement contains

我是编码新手,无法让我的应用程序正常运行。请帮忙!

我为硬件作业编写了以下代码:

import java.util.Scanner;

public class HW1Q2
{
    public static void main(String[] args)
    {
        Scanner keyboard = new Scanner(System.in);
        String sentence, str1, str2;

        System.out.println("Enter a sentence containing either the word \"blue\" or the word \"green\" both or neither");
        sentence = keyboard.nextLine();
        str1 = "blue";
        str2 = "green";

        if(sentence.contains("blue")); if(sentence.contains("green")){
            System.out.println("sunny");}
        else{
        if(sentence.contains("blue")){
            System.out.println("ocean");}
        else{
        if(sentence.contains("green")){
            System.out.println("garden");}
        else{
            System.out.println("dull");
        }}}
    }
}

目标是返回

  • garden 如果他们输入 green
  • ocean 如果他们输入 blue
  • sunny 如果他们同时输入和
  • dull 如果他们都不输入

问题是如果我写一个只包含green的句子,它仍然返回sunny而不是garden

最佳答案

您需要使用 && 作为 AND 来检查蓝色和绿色。类似于下面的逻辑应该可以工作。顺序很关键。在开始检查任一单词之前,您必须检查这两个单词。否则,您总是先打印出 ocean 或 garden,然后才能打印 sunny。

    if(sentence.contains("blue") && sentence.contains("green")) {
        System.out.println("sunny");
    } else if (sequence.contains("blue")) {
        System.out.println("ocean");
    } else if (sequence.contains("green")) {    
        System.out.println("garden");
    } else {
        System.out.println("dull");
    }

关于java - 如果包含两个词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35227003/

相关文章:

java - 为什么我的 Eclipse 程序终止?

python - Python 中包含 HashSet<Integer>

swift - 如果 TouchLocation 不在范围内

多个属性上的 C# Lambda .Contains()

java - GraalVM - 在类路径上找不到语言和多语言实现

java - 如何在selenium java中以相反的顺序打印 anchor 标记及其Web元素的值?

java - 如果我想构建一个不需要使用 gsm 调制解调器的 java 应用程序,有什么办法吗?

java - 如何在android recyclerview中获取点击项目的文本

jquery - 当 if 语句正确时显示一个新的 <p> 元素

javascript - 事件委托(delegate)和循环遍历 if 语句中的元素