gpt4 book ai didi

java - Scanner.nextLine 输入无法匹配字符串

转载 作者:行者123 更新时间:2023-12-01 11:46:42 25 4
gpt4 key购买 nike

我在使用 Scanner.nextline() 时遇到了一些问题,它似乎工作得很好,直到我尝试将输入与相应的字符串进行比较。我基本上想看看某些输入是否等于数组(团队)中的某些元素。这是我的代码和输出:

package teams;

import java.util.Arrays;
import java.util.Scanner;



class TeamTable2 {
static String[] teams = new String[] {
"Team A", "Team B", "Team C",
"Team D", "Team E"
};

// inArray returns true if an specified string is "in" an specified array
static boolean inArray(String thing, String[] array){
boolean in = false;
for(int i = 0; i < array.length; i += 1){
if(array[i] == thing){
in = true;
}
}
return in;
}

static void inputInArray(){
Scanner userInput = new Scanner(System.in);
String inputTeam = null;

// The while loop continues if the input doesn't match any element
while(!inArray(inputTeam, teams)){
System.out.println("Team: ");
inputTeam = userInput.nextLine();
System.out.println("");
if(!inArray(inputTeam, teams)){
System.out.println("Not in array: " + inputTeam + ", length: " + inputTeam.length());
}
}
userInput.close();
}

public static void main(String args[]){
System.out.println("'Team A' in teams: " + inArray("Team A", teams));
inputInArray();

}
}

输出:

'Team A' in teams: true
Team:
Team A //My Input

Not in array: Team A, length: 6
Team:

很明显,输出具有正确的长度,当我在 inArray 方法中使用纯字符串“Team A”时,它返回 true,所以我不明白为什么输入不被解释为在数组中?

最佳答案

这是错误的if(array[i] == thing){,对字符串使用 equals:if(array[i].equals(thing)){ 。 Pandas 你真的应该了解其中的区别:)

关于java - Scanner.nextLine 输入无法匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29085659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com