有 Java 编程相关的问题?

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

如何通过将输入字与字符串数组中的元素进行比较来获得结果

因此,我试图实现的是,当我根据输入的请求编写一个单词(如“Meat”)时,该方法将检查关系,并为单词“Meat”运行适当的结果,如如果是“Meat”,则输入“woof”应打印。但在执行过程中什么都没有发生。我必须告诉你,我对Java和编程是新手。谢谢你的耐心

 package animals;

    import java.util.Scanner;

    public class Animal {

    public int hungerLvl = 0;   
    public String food;
    public String[] foodTypes = {"Meat" , "Grass", "Water"};
    Scanner in = new Scanner(System.in);

    public void  eatFood(){

       System.out.println("Enter food: ");
       food = in.nextLine();    
       if(food == foodTypes[0].toString()){
          System.out.println("woof");
          hungerLvl++;
          System.out.println("Hunger lvl incresead to " + hungerLvl);
       } else {
           if (food == foodTypes[1].toString()){
               System.out.println("Animal is eating grass");
               hungerLvl++;
           }
           if (food == foodTypes[2].toString()){
               System.out.println("Animal is drinking water");
               hungerLvl++;
           }           
       }  
    }
    //ignore this method :)
    public int maxLvl(){
       if(hungerLvl == 5){
           System.out.println("No more food, going to take a nap!");
           hungerLvl = hungerLvl - 5;
       }
       return 0;
    }

     public static void main(String[] args){
        Animal animal = new Animal();

     animal.eatFood();
     }
     }

共 (1) 个答案

  1. # 1 楼答案

    使用str.equals或str.match

       public void  eatFood(){
       System.out.println("Enter food: ");
       food = in.nextLine();    
       if(food.matches(foodTypes[0])){
          System.out.println("woof");
          hungerLvl++;
          System.out.println("Hunger lvl incresead to " + hungerLvl);
       } else {
           if (food.matches(foodTypes[1])){
               System.out.println("Animal is eating grass");
               hungerLvl++;
           }
           if (food.matches(foodTypes[2])){
               System.out.println("Animal is drinking water");
               hungerLvl++;
           }           
       }  
    }