class Sunday{ pbulic static void main(String agrus[]) {

int d,m,y,N;
int M = 7%N;
if (m = 1|2) {
m = m+12;
y = y-1;
}
N = d + 2m + [3(m+1)/5] + y + [y/4] – [y/100] + [y/400] + 1;
System.out.println("M="+M);
}
}
//这是吧里一个朋友发出的问题,我利用学的知识和思想写,可是错误十八处都在同一行.不清楚为什么.希望大家解释下

解决方案 »

  1.   

    class Sunday{public static void main(String agrus[]) {int d=0,m=0,y=0,N=1;
    int M = 7%N;
    if (m == 1 || m==2) {
    m = m+12;
    y = y-1;
    }
    N = d + 2*m + (3*(m+1)/5) + y + (y/4) - (y/100) + (y/400) + 1;
    System.out.println("M="+M);
    }
    }
      

  2.   

    1、pbulic  ->  public   不解释
    2、局部变量都没初始化
    3、if (m = 1|2)  ->   if(m == (1|2))   if判断boolean 以及运算符的优先级问题
    4、N = d + 2m + [3(m+1)/5] + y + [y/4] – [y/100] + [y/400] + 1
        -> N = d + 2*m + 3*(m+1)/5 + y + y/4 – y/100 + y/400 + 1
    建议LZ多看看基础吧加油 
      

  3.   

    class Sunday{public static void main(String agrus[]) {int d=0,m=0,y=0,N=1;
    int M = 7%N;
    if (m == 1 || m==2) {
    m = m+12;
    y = y-1;
    }
    N = d + 2*m + (3*(m+1)/5) + y + (y/4) - (y/100) + (y/400) + 1;
    System.out.println("M="+M);
    }
    }
      

  4.   

    刚刚改了一下
    class Sunday { public static void main(String agrus[] ) {

    int d = 0;
    int m = 0;
    int y = 1;
    if (m == (1|2)) {
    m = m+12;
    y = y-1;
    }
    int a = m + m + m/5 + m/5 + m/5 +3/5;
    int b = y + y/4 - y/100 + y/400;
    int N =  d + a + b + 1;
    int M = 7%N;
    System.out.println("M="+M);
    }
    }
    //题目是这样的y,m,d代表年月日,想输出M代表星期几.不知道哪出错了;
    运行结果为1.....
      

  5.   

    class Sunday {public static void main(String agrus[] ) {int d = 0;
    int m = 0;  
    int y = 1;                   //初始化年,月,日
    if (m == (1|2)) {           
    m = m+12;
    y = y-1;                     //当月份为1.2的时候
    }
    N = d + 2*m + (3*(m+1)/5) + y + (y/4) - (y/100) + (y/400) + 1; //这是题目给的公式来算星期int M = 7%N;                
    System.out.println("M="+M);
    }                           //结果输出
    }但是结果算出来的星期不正确.........
      

  6.   

    不好意思,N = d + 2*m + (3*(m+1)/5) + y + (y/4) - (y/100) + (y/400) + 1
    改为
    int N = d + 2*m + (3*(m+1)/5) + y + (y/4) - (y/100) + (y/400) + 1
      

  7.   

    Java codeclass Sunday{public static void main(String agrus[]) {int d=0,m=0,y=0,N=1;
    int M = 7%N;
    if (m == 1 || m==2) {
    m = m+12;
    y = y-1;
    }
    N = d + 2*m + (3*(m+1)/5) + y + (y/4) - (y/100) + (y/400) + 1;
    System.out.println("M="+M);
    }
    }
    顶1楼!
      

  8.   

    你初始化年月日啊 int d = 0;
    int m = 0;   
    int y = 1; //初始化年,月,日1年0月0日?? 
      

  9.   

    = --> ==   
    X --> *  对LZ表示压力!
      

  10.   

    说一个别人没说的:Sunday类未声明为public的,但确有main方法.
      

  11.   

    你的所有变量都没有初始化,怎么拿来做运算,对基本数据类型的数据你定义之后没有初始化的话系统会自动给其赋值,对int型的系统会自动赋0;这样在你的运算中就有除0操作,这是不允许的。
    在if语句里面的表达式也不对,应该为:if(m==1|m==2){....},
      

  12.   

    你见过Java里面的或语句有1|2的吗???晕2…………
      

  13.   


    public class Sunday { /**
     * @param args
     */
    public static void main(String[] args) {
    int d = 0,m = 0,y = 0,N = 1;
    int M = 7%N;
    if (m==1||m==2) {
    m = m+12;
    y = y-1;
    }
    N = d + 2*m + (3*(m+1)/5) + y + (y/4) - (y/100) + (y/400) + 1;
    System.out.println("M="+M); }}对LZ表示压力