通过三元表达式判断是否是闰年。判断条件是1.能被4整除,但不能被100整除。2.能被400整除。
提示:可以通过如下的关键表达式判断:
String info=""
info=year.ToString()+(year%4==0&&year%100!=0)||(year%400)?"是闰年!":"不是闰年!";
我的写法为什么不对呢package ch2;
import java.util.Scanner;
public class year { /**
 * @param args
 */
public static void main(String[] args) {
System.out.println("请输入年份");
int year;
Scanner input=new Scanner(System.in);
year=input.nextInt();
String info="";
info=year.ToString()+(year%4==0&&year%100!=0)||(year%400)?"是闰年!":"不是闰年!";
}}

解决方案 »

  1.   

    改后代码:
    System.out.println("请输入年份");
    int year;
    Scanner input=new Scanner(System.in);
    year=input.nextInt();
    String info="";
    info=year+((year%4==0&&year%100!=0)||(year%400==0)?"是闰年!":"不是闰年!");
    System.out.println(info);两点错误:
     1. int 类型没有toString()方法
     2. year%400==0 应有==0 判断其余数是否为0
      

  2.   

    你的year是基础类型啊,不能调用toString方法啊,它不是个对象。另外||的右边表达式有问题
    这样改改就好了:import java.util.Scanner;
    public class year {/**
    * @param args
    */
    public static void main(String[] args) {
    System.out.println("请输入年份");
    int year;
    Scanner input=new Scanner(System.in);
    year=input.nextInt();
    String info="";
    info = (year%4==0&&year%100!=0)||(year%400==0)?"是闰年!":"不是闰年!";
    System.out.println(year + info);
    }
    }
      

  3.   

    改了之后如下:import java.util.*;
    class ok{
    public static void main(String[] args){
    System.out.println("请输入年份");
    int year;
    Scanner input=new Scanner(System.in);
    year=input.nextInt();
    String info="";
    info=(Integer.toString(year))+(((year%4==0&&year%100!=0)||(year%400==0))?"是闰年!":"不是闰年!");
    System.out.print(info);
    }
    }主要改动:year.toString()改成Interger.toString(year)(如果想用toString()方法的话);info=......那句多加了几层括号;最后加了个输出。
      

  4.   

    System.out.println("请输入年份");
    int year;
    Scanner input=new Scanner(System.in);
    year=input.nextInt();
    String info="";
    info=year+((year%4==0&&year%100!=0)||(year%400==0)?"是闰年!":"不是闰年!");
    System.out.println(info);