JAVA基础的算法编程

  • e1_785910
    了解作者
  • 21.9KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-25 05:05
    上传日期
java中最基础的算法编程的源代码(.java文件),包括排序,阵列,杨辉三角,计算两个日期之间的天数,多线程等,直接run即可。
JAVA-算法编程.rar
  • 算法编程
  • 04.menu
  • menu.java
    2.3KB
  • menu.class
    1.9KB
  • 08.找第二个f(n)=n
  • Count.class
    932B
  • Count.java
    567B
  • 09.计算2个日期之间的天数
  • CheckDate.class
    6.7KB
  • CheckDate.java
    12.3KB
  • 03.输入字符串并显示
  • ccc.java
    210B
  • ccc.class
    651B
  • 07.杨辉三角
  • Yanghui.java
    1.7KB
  • Yanghui.class
    1.9KB
  • 06.排序
  • sort.java
    2.7KB
  • sort.class
    2.2KB
  • 02.画心
  • star.class
    556B
  • star.java
    294B
  • 11.双线程输出
  • Runnable
  • SecondThread1.java
    740B
  • Thread
  • SecondThread.java
    662B
  • 01.HelloWord
  • HelloWorld.java
    141B
  • HelloWorld.class
    428B
  • 05.输出阵列
  • 1
  • matrix.java
    1.4KB
  • matrix.class
    1.4KB
  • 2
  • matrix.java
    2.5KB
  • matrix.class
    1.6KB
  • 12.警察抓小偷
  • Catch.java
    819B
  • 10.截取“abc你好”字符串
  • Test.java
    608B
内容介绍
package com.iss.homework; import java.io.*; public class CheckDate { public static void main(String[] args) throws Exception { for (;;) { int d1 = 0, m1 = 0, y1 = 0, leap1 = 0, d2 = 0, m2 = 0, y2 = 0, leap2 = 0,leap3 = 0; int x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0; System.out.println("输入第一个日期"); retry1: for (;;) { System.out.print("哪一年?"); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s = br.readLine(); System.out.println(); try { y1 = Integer.parseInt(s); } catch (Exception e) { System.out.println("输入为非整数,请重新输入一个合法的年份。"); continue retry1; } if (y1 < 0) { System.out.println("输入为负数,请重新输入一个合法的年份。"); continue retry1; } else { if (y1 % 4 == 0) { if (y1 % 100 != 0) { leap1 = 1; } else { if (y1 % 400 == 0) { leap1 = 1; } } } else { leap1 = 0; } break retry1; } } retry2: for (;;) { System.out.print("哪一月?"); InputStreamReader isr1 = new InputStreamReader(System.in); BufferedReader br1 = new BufferedReader(isr1); String s1 = br1.readLine(); System.out.println(); try { m1 = Integer.parseInt(s1); } catch (Exception e) { System.out.println("输入为非整数,请重新输入一个合法的月份。"); continue retry2; } if (m1 < 1 || m1 > 12) { System.out.println("月份必须在1-12之间,请重新输入一个合法的月份。"); continue retry2; } else { break retry2; } } retry3: for (;;) { System.out.print("哪一天?"); InputStreamReader isr2 = new InputStreamReader(System.in); BufferedReader br2 = new BufferedReader(isr2); String s2 = br2.readLine(); System.out.println(); try { d1 = Integer.parseInt(s2); } catch (Exception e) { System.out.println("输入为非整数,请重新输入一个合法的日期。"); continue retry3; } if (m1 == 1 || m1 == 3 || m1 == 5 || m1 == 7 || m1 == 8 || m1 == 10 || m1 == 12) { if (d1 < 1 || d1 > 31) { System.out.println("日期不能为0或超过31,请重新输入一个合法的日期。"); continue retry3; } } else { if (m1 == 2) { if (leap1 == 0) { if (d1 < 1 || d1 > 28) { System.out .println("非闰年2月日期不能为0或超过28,请重新输入一个合法的日期。"); continue retry3; } } else { if (d1 < 1 || d1 > 29) { System.out .println("闰年2月日期不能为0或超过29,请重新输入一个合法的日期。"); continue retry3; } } } else { if (d1 < 1 || d1 > 30) { System.out.println("日期不能为0或超过30,请重新输入一个合法的日期。"); continue retry3; } } } break retry3; } System.out.println("第一个合法的日期输入成功!您输入的是:" + y1 + "年" + m1 + "月" + d1 + "日"); System.out.println("请输入第二个日期:"); retry4: for (;;) { System.out.print("哪一年?"); InputStreamReader isr3 = new InputStreamReader(System.in); BufferedReader br3 = new BufferedReader(isr3); String s3 = br3.readLine(); System.out.println(); try { y2 = Integer.parseInt(s3); } catch (Exception e) { System.out.println("输入为非整数,请重新输入一个合法的年份。"); continue retry4; } if (y2 < 0) { System.out.println("输入为负数,请重新输入一个合法的年份。"); continue retry4; } else { if (y2 % 4 == 0) { if (y2 % 100 != 0) { leap2 = 1; } else { if (y2 % 400 == 0) { leap2 = 1; } } } else { leap2 = 0; } break retry4; } } retry5: for (;;) { System.out.print("哪一月?"); InputStreamReader isr4 = new InputStreamReader(System.in); BufferedReader br4 = new BufferedReader(isr4); String s4 = br4.readLine(); System.out.println(); try { m2 = Integer.parseInt(s4); } catch (Exception e) { System.out.println("输入为非整数,请重新输入一个合法的月份。"); continue retry5; } if (m2 < 1 || m2 > 12) { System.out.println("月份必须在1-12之间,请重新输入一个合法的月份。"); continue retry5; } else { break retry5; } } retry6: for (;;) { System.out.print("哪一天?"); InputStreamReader isr5 = new InputStreamReader(System.in); BufferedReader br5 = new BufferedReader(isr5); String s5 = br5.readLine(); System.out.println(); try { d2 = Integer.parseInt(s5); } catch (Exception e) { System.out.println("输入为非整数,请重新输入一个合法的日期。"); continue retry6; } if (m2 == 1 || m2 == 3 || m2 == 5 || m2 == 7 || m2 == 8 || m2 == 10 || m2 == 12) { if (d2 < 1 || d2 > 31) { System.out.println("日期不能为0或超过31,请重新输入一个合法的日期。"); continue retry6; } } else { if (m2 == 2) { if (leap2 == 0) { if (d2 < 1 || d2 > 28) { System.out .println("非闰年2月日期不能为0或超过28,请重新输入一个合法的日期。"); continue retry6; } } else { if (d2 < 1 || d2 > 29) { System.out .println("闰年2月日期不能为0或超过29,请重新输入一个合法的日期。"); continue retry6; } } } else { if (d2 < 1 || d2 > 30) { System.out.println("日期不能为0或超过30,请重新输入一个合法的日期。"); continue retry6; } } } break retry6; } System.out.println("第二个合法的日期输入成功!您输入的是:" + y2 + "年" + m2 + "月" + d2 + "日"); if (y1 == y2) { if (m2 - m1 > 1) { if (m1 == 1 || m1 == 3 || m1 == 5 || m1 == 7 || m1 == 8 || m1 == 10 || m1 == 12) { x1 = 31 - d1; // 大月 } else { if (m1 == 2) { if (leap1 == 1) { x1 = 29 - d1; // 闰年且是2月 } else { x1 = 28 - d1; // 非闰年2月 } } else { x1 = 30 - d1; // 小月 } } for (int i = m1 + 1; i < m2; i++) { if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) { x2 = 31 + x2; // 大月 } else { if (i == 2) { if (leap1 == 1) { x2 = 29 + x2; // 闰年且是2月 } else { x2 = 28 + x2; // 非闰年2月 } } else { x2 = 30 + x2; // 小月 } } } x3 = x1 + x2 + d2; } else { if (m2 - m1 == 1) { if (m1 == 1 || m1 == 3 || m1 == 5 || m1 == 7 || m1 == 8 || m1 == 10 || m1 == 12) { x1 = 31 - d1; // 大月 } else { if (m1 == 2) { if (leap1 == 1) { x1 = 29 - d1; // 闰年且是2月 } else { x1 = 28 - d1; // 非闰年2月 } } else { x1 = 30 - d1; // 小月 } } x3 = x1 + d2; } else { if (m1 == m2) { x3 = d2 - d1; } else { if (m1 - m2 == 1) { if (m2 == 1 || m2 == 3 || m2 == 5 || m2 == 7 || m2 == 8 || m2 == 10 || m2 == 12) { x1 = 31 - d2; // 大月 } else { if (m2 == 2) { if (leap2 == 1) { x1 = 29 - d2; // 闰年且是2月 } else { x1 = 28 - d2; // 非闰年2月 } } else { x1 = 30 - d2; // 小月 } } x3 = x1 + d1; } else { if (m1 - m2 > 1) { if (m2 == 1 || m2 == 3 || m2 == 5 || m2 == 7 || m2 == 8 || m2 == 10 || m2 == 12) { x1 = 31 - d2; // 大月 } else { if (m2 == 2) { if (leap2 == 1) { x1 = 29 - d2; // 闰年且是2月 } else { x1 = 28 - d2; // 非闰年2月 } } else {
评论
    相关推荐
    • SVM 算法 java 实现
      SVM 算法 java 实现了调用接口,只要传入数据即可,调用了encog这个开源包的SVM算法,也是官方libsvm的。
    • 经典算法Java实现
      包括JAVA的经典算法和实现,用于JAVA的学习和研究
    • 遗传算法java工程
      工程利用遗传算法解决多路复用器的模拟状态,里面有充分的技术文档(英语)以及代码注释,自己写的,用不到了以后。贡献出来给大家。
    • LRU算法 java实现
      LRU算法java实现
    • 国密算法java实现
      国家商用密码管理局公布的标准国密算法SM4的算法实现哦
    • 遗传算法java实现
      本代码为Java实现的遗传算法,压缩包中有详细的说明,希望对各位有帮助
    • SVM 算法 java版本
      SVM 算法 java 实现了调用接口,只要传入数据即可,调用了encog这个开源包的SVM算法,也是官方libsvm的。
    • AHP算法java实现
      java实现AHP算法,包括文档说明,算法介绍等ppt文档 欢迎使用
    • DES算法Java实现
      DES算法Java代码实现,适用于学生交作业
    • tomasulo算法java实现
      自己用java实现的一个简单的tomasulo算法的实现对,并且做了界面,有助于对tomasulo算法有一个更好的了解