我的部分代码:
int t,w;
String day;
String[] week=new String[]{"mon","tues","wed","thurs","fri","sat","sun"};
.
.
.
day=sc.nextLine();
.
.
for(i=0;i<7;i++)
{
if(day.equals(week[i]))
{
break;
}
}
即使字符串包含相同,“.equals()”方法每次都会返回“false”。输出不会随着数组的初始化而改变。 'String[] week={"mon","tues",......}' 给出相同的输出。当内存位置不同时,此方法是否返回 false?请澄清。
最佳答案
下面的 Ankush 对我来说效果很好,请确保您对此代码使用相同的大小写。如果你想匹配任何大小写,请使用 equalsIgnoreCase 而不是 equals
package com.java;
import java.util.Scanner;
public class Test {
static void check() {
String day;
String[] week = new String[] { "mon", "tues", "wed", "thurs", "fri", "sat", "sun" };
Scanner sc = new Scanner(System.in);
day = sc.nextLine();
for (int i = 0; i < 7; i++) {
if (day.equals(week[i])) {
System.out.println("break");
break;
}
}
sc.close();
}
public static void main(String args[]) {
Test.check();
}
}
关于java - 字符串与字符串数组的元素之间的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48043456/