问题描述
- java问题 17~20行的代码不能运行,也就是不能进行a==Mon[i]这个语句,求问是什么原因
-
import java.util.Calendar;
import java.util.Date;
public class Date {
public static void main(String[] args)
{
//以下代码是用来显示系统当前月份的第一天是星期几的
Calendar currentCal = Calendar.getInstance();
currentCal.set(currentCal.DAY_OF_MONTH, 1);
Date date = currentCal.getTime();
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("E");
String a=format.format(date);
System.out.println(a);//以上代码返回的事字符串“星期二”,所以我想让“星期二”显示为数字“2”; String Mon[]={"星期一","星期二","星期三","星期四","星期五","星期六","星期天"}; for(int i=0;i<7;i++) { if(a==Mon[i]) System.out.println(i+1); } }
}
//问题就是17~20行的代码不能运行,也就是不能进行a==Mon[i]这个语句,求问是什么原因
解决方案
if(a==Mon[i])
->
if(a.equals(Mon[i]))
解决方案二:
关于eclipse编写java代码时不能运行for-each语句的问题
解决方案三:
字符串比较应该用“==“,应该用equals方法
解决方案四:
字符串比较一定用equals来比较,最好要这样改
for(int i=0;i<7;i++)
{
if(a.trim().equals(Mon[i]))//a.trim()去前后空格,保证字符串是纯的字符串
System.out.println(i+1);
}
时间: 2024-08-07 12:50:59