UB531
2018-12-02 17:47
采纳率: 50%
浏览 1.3k
已采纳

java里如果用boolean计算多个数值?

比如我想用Boolean来计算哪一些年是闰年 哪些不是
我是java新手
我是这么写的
int year=1999;
for(int nyear=year-10;nyear<=year+10;year++)

怎么样才能用boolean来计算上面的所有nyear数值为 true 或者是 false
我试过用 if else语句 但是if else计算出来的Boolean是不能被赋值的
我无法使用它
求大神解答一下我的困惑
是哪里出问题了

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • YoungsLee 2018-12-03 02:08
    已采纳

    首先你这for循环写的有问题吧,你应该是求99年前后二十年吧,但是循却是year++,这就造成第一个输出是1989第二个就直接跳到2000了,不知道是你有意为之还是怎样,
    其次是你是要给每一年赋值对吧,可以在上面定义一个map,每循环一年,做一个判断是否为闰年的操作得出true或false并把年份和boolean值一起存进map,最后遍历map,
    就可以看到这99年前后二十年的闰年结果

    已采纳该答案
    打赏 评论
  • @注解 2018-12-03 02:56

    很早之前写的判断闰年平年的程序,希望能给你一些提示

    public class Test1 {
    
        public static void main(String[] args) {
            System.out.println("输入年号:");
            int y = new Scanner(System.in).nextInt();
            //把y的值,传递到f()方法进行运算
            //再获得该方法的返回值
            boolean b = f(y);
            if(b){
                System.out.println("闰年");
            }else{
                System.out.println("平年");
            }
        }
    
        /*
         * 对接收的参数y的值进行判断
         * 判断它是否是闰年
         * 
         * 闰年:
         *      能被4整除,不能被100整除
         *      能被400整除
         * 
         */
        static boolean f(int y) {
            //定义布尔值变量,保存结果
            boolean r = false;
    
            /*
             * 如果y能被4整除
             * 进一步判断,不能被100整除
             * 
             * if(y%4 == 0){
             *  if(y%100 != 0){
             *      r = true;
             *  }
             * }
             * 如果能被400整除
             * if(y%400 == 0){
             *  r = true;
             * }
             * 
             * 返回r的值
             * return r;
             * 
             */
    
    
            if(y%4 == 0 && y%100 != 0 || y%400 == 0){
                r = true;
            }
            return r;
        }
    
    }
    
    打赏 评论
  • zhangpan_soft 2018-12-04 06:26

    nyear++不是year++

    打赏 评论

相关推荐 更多相似问题