Java 如何通过将输入字与字符串数组中的元素进行比较来获得结果
因此,我试图实现的是,当我根据输入的请求编写一个像“Meat”这样的单词时,该方法将检查关系,并将为单词“Meat”运行适当的结果,比如如果是“Meat”,则应打印输入“woof”。但在执行时,什么都不会发生。我必须告诉大家,我对Java和编程还不熟悉。谢谢你的耐心Java 如何通过将输入字与字符串数组中的元素进行比较来获得结果,java,Java,因此,我试图实现的是,当我根据输入的请求编写一个像“Meat”这样的单词时,该方法将检查关系,并将为单词“Meat”运行适当的结果,比如如果是“Meat”,则应打印输入“woof”。但在执行时,什么都不会发生。我必须告诉大家,我对Java和编程还不熟悉。谢谢你的耐心 package animals; import java.util.Scanner; public class Animal { public int hungerLvl = 0; pu
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();
}
}
使用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++;
}
}
}
使用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++;
}
}
}
这不起作用:
food==foodTypes[1]。toString()
您想使用String.equals您有什么具体的问题吗?这有点含糊不清。目前,这读起来更像是“为我调试我的代码”,而它读起来更像是“相关代码有一个特定的问题”。好的想法是,当我将输入写为“Meat”或“Grass”时,我希望程序输出匹配字的结果,就像我将输入写为:Meat然后作为输出将是方法中的“Woof”字一样,但是当我输入并按enter键运行nothing returns时,我重复一遍,我是一个新手,并不是在寻找新的完整代码来解决问题,而是提示,谢谢!那么你真的需要if
语句在else
中吗?你可以直接使用else if()
语句或for
循环使用if
语句这不起作用:food==foodTypes[1]。toString()
您想使用String.equals您有什么具体的问题吗?这有点模糊/笼统。目前,这读起来更像是“为我调试我的代码”,而它读起来更像是“相关代码有一个特定的问题”。好的想法是,当我将输入写为“Meat”或“Grass”时,我希望程序输出匹配字的结果,就像我将输入写为:Meat然后作为输出将是方法中的“Woof”字一样,但是当我输入并按enter键运行nothing returns时,我重复一遍,我是一个新手,并不是在寻找新的完整代码来解决问题,而是提示,谢谢!那么您真的需要else
语句中的if
语句吗?您可以直接使用else if()
语句或for
循环if
语句