传入一个最长为7位的字符串,表示:第1个为周6,最后个为周日,
例如0010110表示为周4,周2,周1,
    1000001表示为周6,周日
要求判断今天是不是在上面字符串表示的星期里面?
函数怎么写?

解决方案 »

  1.   

    晕....
    今天星期几就写一个同样的String 或者int也可以
    然后都转成int 做个按位&不就行了.
      

  2.   

    不太懂你所说的意思,不过如果取日期是星期几的话,可以这样
    String str="20080309";
    SimpleDateFormat format=new SimpleDateFormat("yyyyMMdd");

    Date date=format.parse(str);
    System.out.println(date.getDay());
    //3月9号为星期日,所以输出0
      

  3.   

    你要的是这个嘛? 
    import java.util.Calendar;public class Test {
      public static void main(String[] args) {
        String str = "0010110";
        Calendar cal = Calendar.getInstance();
        int day = cal.get(Calendar.DAY_OF_WEEK);
        System.out.println(str.charAt(day)=='1');
      }
    }
      

  4.   

    要是从数据库中取,有专门的函数直接把date类型的取星期出来
      

  5.   


    import java.util.Calendar;public class Run {
    public static void main1(String[] args) {
    String test = "0101101";
    String buf = new String(test);
    String ex = "1";
    for (int i = 0; i < buf.length(); i++) {
    int k = buf.indexOf(ex);
    String today = "";
    switch (k) {
    case 0:
    today = "星期六";
    break;
    case 1:
    today = "星期一";
    break;
    case 2:
    today = "星期二";
    break;
    case 3:
    today = "星期三";
    break;
    case 4:
    today = "星期四";
    break;
    case 5:
    today = "星期五";
    break;
    case 6:
    today = "星期天";
    break;
    default:
    return;
    }
    buf = buf.replaceFirst(ex, "0");
    System.out.println("今天是:" + today);
    }
    }
    }不知道你干什么用,反正可以实现你的要求...
      

  6.   

    不好意思...好象要是转成2进制数再做&,才能得到结果...
    呵呵,考虑失误
      

  7.   


    对,我想用位&,怎么用呢?
      

  8.   

    import java.util.Calendar;public class Test {    public static void main(String[] args) {
            Calendar calendar = Calendar.getInstance();
            String str = "0000100";
            boolean b = isExist(str, calendar.get(Calendar.DAY_OF_WEEK));
            System.out.println(b);        
        }
        
        private static boolean isExist(String str, int week) {
            int num = Integer.parseInt(str, 2);
            return (num & (1 << (week - 1))) != 0;
        }
    }