【牛客带你学编程Java方向】项目练习第1期(截止2.5)


Java项目练习:第1期
练习时间:1月22日-2月5日(2周)
活动规则:
  • 每一期一个项目,届时会开新帖发布     
  • 学员直接将答案提交到该贴评论区即可     
  • 两周后,公布导师参考答案     
  • 导师评选出当期最佳代码     
奖励:牛客大礼包一份(牛客定制水杯 牛客定制笔 牛客定制程序员徽章 滑稽抱枕)
参与方式:直接将你的代码回复到本帖评论区

-----------------------------------------------------

本期题目:

判断闰年(20分钟)

需求描述:
  • 本题仅要求判断一个年份是否为闰年。
  • 由用户输入任意一个年份,能被4整除但不能被100整除,或者能被400整除,是闰年。(结果:输出闰年或平年)
考察知识点:
  • Java语言基础
  • 基本输入输出
  • 三元运算符
参考知识点:《java基础入门》第2章 p16-p73
难点提示:
  • 条件运算符是三目运算符,其格式为:表达式?语句1:语句2;
  • 其中表达式的值是布尔类型,当表达式的值为true时执行语句1,否则执行语句2。要求语句1和语句2 返回的数据类型必须相同,并且不能无返回值。

参与方式:直接将你的代码回复到本帖评论区


------------------------------------
本期最佳代码已设置为精彩~
@温柔小猪 同学将获得牛客定制大礼包一份!!!
全部评论
import java.util.Scanner; public class Main { public static boolean isLeapYear(int year) { return year % 100 == 0 ? year % 400 == 0 : year % 4 == 0; } public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int year = 0; while (in.hasNext()) { year = in.nextInt(); System.out.println("请输入任意一个年份:"); if (year < 0) { System.out.println("输入为错误的年份"); } else { if (isLeapYear(year)) System.out.println(year + "是闰年!"); else System.out.println(year + "是平年"); } } in.close(); } }
点赞 回复 分享
发布于 2018-02-05 22:24
package NOWCODER.JAVA.PRO; import java.util.Scanner; /**  * 判断闰年  * @author 郑学炜  *  * 输入年份,若输入为负数或者非数字,则抛出异常。  */ public class isLeapyear {          public static void main(String[] args) {         System.out.println("请输入一个年份");           Scanner scan = new Scanner(System.in);           long year=scan.nextLong();           try{               if(year<=0){                   throw new Exception();               }               boolean b=((year%4==0&&year%100!=0)||(year%400==0))?true:false;               if (b){                   System.out.println("闰年");               }else{                   System.out.println("平年");               }           }catch(Exception e){               System.out.println("输入为错误的年份");           }     } }
点赞 回复 分享
发布于 2018-01-23 00:33
import java.util.Scanner; public class LeapYear1 {          public static boolean isleapyear(int year) {         return (year%4==0&&year%100!=0)||year%400==0 ?  true:false;     }     public static void main(String[] args) {                  Scanner sc = new Scanner(System.in);                  System.out.println("请输入一个年份:");         int year;         while(sc.hasNext()) {             year = sc.nextInt();             if(year<0)                 System.out.println("输入的年份有误!");             else {                 System.out.println(year+"年"+(isleapyear(year) ? "是闰年":"是平年"));             }         }sc.close();     } }
点赞 回复 分享
发布于 2019-02-17 00:29
import java.util.Scanner; public class LeapYear1 { public static boolean isleapyear(int year) { return (year%4==0&&year%100!=0)||year%400==0 ? true:false; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个年份:"); int year; while(sc.hasNext()) { year = sc.nextInt(); if(year<0) System.out.println("输入的年份有误!"); else { System.out.println(year+"年"+(isleapyear(year) ? "是闰年":"是平年")); } }sc.close(); } }
点赞 回复 分享
发布于 2019-02-17 00:24
import java.util.Scanner; public class LeapYear1 {          public static boolean isleapyear(int year) {         return (year%4==0&&year%100!=0)||year%400==0 ?  true:false;     }     public static void main(String[] args) {                  Scanner sc = new Scanner(System.in);                  System.out.println("请输入一个年份:");         int year;         while(sc.hasNext()) {             year = sc.nextInt();             if(year<0)                 System.out.println("输入的年份有误!");             else {                 System.out.println(year+"年"+(isleapyear(year) ? "是闰年":"是平年"));             }         }sc.close();     } } //初学者,麻烦有人帮我看下,写的有什么瑕疵吗?
点赞 回复 分享
发布于 2019-02-17 00:20
import java.util.Scanner; public class Test{ public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请输入年份"); int year=in.nextInt(); if(year%4==0&&year%100!=0||year%==0) System.out.println(year+"是闰年"); else System.out.println(year+"是平年"); } }
点赞 回复 分享
发布于 2018-07-22 09:17
import java.util.Scanner;
点赞 回复 分享
发布于 2018-07-22 00:38
import java.util.*
点赞 回复 分享
发布于 2018-07-22 00:37
import java.util.Scanner; public class demo_1 {/* 判断闰年 */ public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()){ int year = in.nextInt(); if (year<0 || year>10000000){ System.out.println("error,enter again!"); } else{ if (isLeapYear(year)) System.out.println(year+"是闰年"); else System.out.println(year+"不是闰年"); } } } public static boolean isLeapYear(int x){ return (x%4==0 && x%100!=0 || x%400==0) ? true : false; } }
点赞 回复 分享
发布于 2018-04-11 11:10
package nowcoder; import java.util.Scanner; public class Demo1 {     public static void main(String[] args) {         // 判断一个年份是不是闰年         String a = "是闰年";         String b = "是平年";         Scanner input = new Scanner(System.in);// 创建输入流         System.out.println("请输入一个年份:");         int year = input.nextInt();         // 运用三目运算符判断         System.out.println(((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? a : b);         input.close();// 关闭输入流     } }
点赞 回复 分享
发布于 2018-02-04 20:15
import java.util.*; public class ee{ public static void main(String[]agrs){ Scanner sc=new Scanner (System.in); int year; System.out.println("请输入一个年份:"); year=sc.nextInt(); if((year/4==0&&year/100!=0)||(year/400==0)){ System.out.println("是闰年:"); }else{ System.out.println("是平年:"); } } }
点赞 回复 分享
发布于 2018-02-03 10:10
import java.util.Scanner; public class Year {     public static void main(String[] args) {         System.out.println("请输入年份:");//负数代表公元前,正数代表公元后         Scanner input = new Scanner(System.in);         try{             int year = input.nextInt();                  String result=((year%4==0 && year%100 !=0) || (year%400==0))?                 "闰年":"平年";         System.out.println(year+"是" +result);     }finally{         input.close();     }                       } }
点赞 回复 分享
发布于 2018-02-02 11:06
import java.util.Scanner;//导包 public class LeapYear {     public static void main(String[] args) {         //创建键盘录入对象         Scanner sc = new Scanner(System.in);                  //录入数据         System.out.println("请输入年份:");         int year = sc.nextInt();                  if(year < 0) {             System.out.println("你输入的年份有误");         }else if(isLeapYear(year)) {             System.out.println(year+"是闰年");         }else {             System.out.println(year+"是平年");         }              }          /*         需求:         两个明确:             返回值类型:boolean             参数列表:int year     */     public static boolean isLeapYear(int year) {         return (year%100 == 0 && year%400 == 0 || year%100 != 0 && year%4 == 0)? true : false;     } }
点赞 回复 分享
发布于 2018-01-30 23:08
1 import java.util.Scanner; 2 3 public class NewMain { 4 5 public static boolean runNian(int year) { 6 System.out.println(year + "是闰年"); 7 return true; 8 } 9 10 public static boolean pingNian(int year) { 11 System.out.println(year + "是平年"); 12 return true; 13 } 14 15 public static void main(String[] args) { 16 // 处理不合法输入 17 try { 18 // 接收用户输入年份 19 System.out.println("请输入要判断的年份:"); 20 Scanner console = new Scanner(System.in); 21 int year = Integer.valueOf(console.nextLine()); 22 // 进行年份闰年平年的判断 23 boolean b = (year % 4 == 0 && year % 100 == 1) || (year % 400 == 0) ? runNian(year) : pingNian(year); 24 } catch (NumberFormatException e) { 25 System.out.println("输入年份不合法,请重新输入"); 26 } 27 } 28 }
点赞 回复 分享
发布于 2018-01-30 17:44
import java.util.*; import java.io.*; public class LeapYear {     public static void main(String[] args)      {                  detectLeapYear();     }     public static void detectLeapYear()     {         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));         String str = null;         int num = 0;         try         {             System.out.print("请输入一个年份(例如:2018),范围在【0 - " + Integer.MAX_VALUE+ "】.输入-1结束:");             while((str=br.readLine())!=null)             {                 try                 {                     num = Integer.parseInt(str.trim());                     if(num == -1)//-1作为结束标识                     {                         //退出程序                         break;                     }                     if(num>=0 && num <= Integer.MAX_VALUE)//整数范围内检测                     {                         if(isLeapYear(num))                         {                             System.out.println("公元" + num  + "是闰年");                         }                         else                         {                             System.out.println("公元" + num  + "是平年");                         }                     }                     else                     {                         System.out.println("输入的整数超出范围,重新输入");                                              }                     System.out.print("请输入一个年份(例如:2018),范围在【0 - " + Integer.MAX_VALUE+ "】.输入-1结束:");                 }catch(NumberFormatException e1)                 {                     System.out.println("输入非数字字符,请重新输入");                     System.out.print("请输入一个年份(例如:2018),范围在【0 - " + Integer.MAX_VALUE+ "】.输入-1结束:");                 }             }         }catch(IOException e)         {         }finally         {             if(br != null)         {             try             {                 br.close();             }catch(IOException e)             {}         }         }              }     //检测是否是闰年     public static boolean isLeapYear(int year)     {         return (((year%4==0)&&(year%100!=0)) || year%400==0) ? true :false;     } }
点赞 回复 分享
发布于 2018-01-29 17:06
点赞 回复 分享
发布于 2018-01-29 10:39
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.regex.Pattern; import java.util.regex.Matcher; public class LeapYear {     public static void main(String[] args) {         //读取用户输入数据         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));         System.out.println("please input a year from -9999 to 9999:");         String text="";         try {             text=in.readLine();         }catch (Exception e) {             e.printStackTrace();         }         //判断输入过大数据的情况         if (text.length()>5) {             System.out.println("input data should be not more than 5 chars");             text="a";         } else {             //判断输入是否为整数             Pattern pattern = Pattern.compile("^(0|[1-9][0-9]*|-[1-9][0-9]*)$");             Matcher isNum = pattern.matcher(text);             if (isNum.matches()) {                 //闰年判断,忽略3200/6400/9600的特殊情况                 int year = Integer.parseInt(text);                 if (year == 0) {                     System.out.println("year cannot be 0");                 } else if (year>0) {                     if (year>9999) {                         System.out.println("year input should be not more than 9999");                     } else {                     System.out.println((year%4==0 && year%100!=0) || (year%400==0) ?                     year+" is leap year" : year+" is common year");                     }                 } else {                     System.out.println(((year+1)%4==0 && (year+1)%100!=0) || ((year+1)%400==0) ?                         year+" is leap year" : year+" is common year");                 }             } else {                 System.out.println("input data is not an integer");             }         }     } }
点赞 回复 分享
发布于 2018-01-27 17:23
作者:HelloWord。 链接:https://www.nowcoder.com/discuss/66325 来源:牛客网 import java.util.Scanner; public class Main{     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         while (scanner.hasNext()) {             int i = scanner.readInt();             System.out.println(((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) ? "闰年" : "平年" );         }     } }
点赞 回复 分享
发布于 2018-01-26 16:05
import java.util.Scanner; public class JudgeYear {      public static void main(String args[]){          Scanner s=new Scanner(System.in);     int year = 0;     while(year<=0){         System.out.print("请输入一个年份:");         year=s.nextInt();         continue;     }              IsLeapyear(year); } private static boolean IsLeapyear(int year) {     if(year%4==0 && year%100!=0)     {         System.out.println(year+"年是闰年");         return true;     }     else if (year%400==0) {         System.out.println(year+"年是闰年");         return true;     }     else {         System.out.println(year+"年是平年");         return false;     } } }
点赞 回复 分享
发布于 2018-01-26 14:53
package all_test; import java.util.Scanner; public class Test_1 {     public static void main(String[]args) {         System.out.print("请输入待判断年份:");         Scanner sc=new Scanner(System.in);         String str=Year(sc.nextInt());         System.out.println(str);     }     public static String Year(int year) {         return ((year%4==0&&year%100!=0)||year%400==0)?"闰年":"平年";     } }
点赞 回复 分享
发布于 2018-01-26 14:44

相关推荐

你背过凌晨4点的八股文么:简历挂了的话会是流程终止,像我一样
点赞 评论 收藏
分享
qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
评论
点赞
20
分享

创作者周榜

更多
牛客网
牛客企业服务