Java练习题 (2024.7.23)

Exercise1

java 复制代码
package Exercise20240723;
import java.util.Scanner;
import java.util.ArrayList;
public class Exercise1 {
    public static void main(String[] args) {
        /* 需求:
        键盘录入一些1~10日之间的整数,并添加到集合中。直到集合中所有数据和超过200为止。 */
        Scanner sc = new Scanner(System.in);
        ArrayList<Integer> arrayList = new ArrayList<>();
        int result;
        while (true) {
            result = getSum(arrayList);
            if (result > 200) {
                System.out.println("已经超过两百,现在集合的和是" + result);
                break;
            }
            System.out.println("请输入1个整数");
            int number = sc.nextInt();
            if (rightNumber(number)) {
                arrayList.add(number);
            } else {
                System.out.println("整数不和规范,请重新输入");
            }
        }
    }

    public static boolean rightNumber(int number) {
        if (number >= 1 && number <= 100 ) {
            return true;
        }
        return false;
    }

    public static int getSum(ArrayList<Integer> arrayList) {
        int sum = 0;
        for (Integer i : arrayList) {
            sum += i;
        }
        return sum;
    }
}

Exercise2

java 复制代码
package Exercise20240723;
import java.util.Scanner;
public class Exercise2 {
    public static void main(String[] args) {
//        需求:
//        自己实现parseInt方法的效果,将字符串形式的数据转成整数。
//        要求:字符串中只能是数字不能有其他字符最少一位,最多10位0不能开头
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String str = sc.nextLine();
        if (!str.matches("[1-9]\\d{0,9}")) {
            System.out.println("不合规的字符串");
            System.exit(1);
        }
        int number = 0;
        for (int i = 0; i < str.length(); i++) {
            number = number * 10 + (str.charAt(i) - '0');
        }
        System.out.println(number);
        System.out.println(number + 5);

    }
}

Exercise3

java 复制代码
package Exercise20240723;
import java.util.Scanner;
public class Exercise3 {
    public static void main(String[] args) {
//        需求:
//        定义一个方法自己实现toBinaryString方法的效果,将一个十进制整数转成字符串表示的二进制
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number = sc.nextInt();
        String str = "";
        while (number > 0) {
            str = number % 2 + str;
            number /= 2;
        }
        System.out.println(str);
    }
}

Exercise4

java 复制代码
package Exercise20240723;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Scanner;
import java.util.Date;
public class Exercise4 {
    public static void main(String[] args) throws ParseException {
//        需求:
//        请使用代码实现计算你活了多少天,用JDK7和JDK8两种方式完成
        Scanner sc = new Scanner(System.in);
        // JDK7;
        System.out.println("请输入你的生日");
        String birthday = sc.nextLine();
        SimpleDateFormat birthdayFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date birthdayDate = birthdayFormat.parse(birthday);
        Long birthdayTime = birthdayDate.getTime();
        System.out.println("已经活了" + ((System.currentTimeMillis() - birthdayTime) / 1000 / 3600 / 24) + "天");

        // JDK8
        LocalDate birthday8 = LocalDate.of(2004, 10, 14);
        LocalDate nowTime = LocalDate.now();
        long days = ChronoUnit.DAYS.between(birthday8, nowTime);
        System.out.println(days);

    }
}
相关推荐
superxxd28 分钟前
跨平台音频IO处理库libsoundio实践
开发语言·qt·音视频
没有bug.的程序员2 小时前
服务网格 Service Mesh:微服务通信的终极进化
java·分布式·微服务·云原生·service_mesh
_OP_CHEN2 小时前
C++基础:(十二)list类的基础使用
开发语言·数据结构·c++·stl·list类·list核心接口·list底层原理
南尘NCA86665 小时前
企业微信防封防投诉拦截系统:从痛点解决到技术实现
java·网络·企业微信
ONE_PUNCH_Ge5 小时前
Go 语言变量
开发语言
幼稚园的山代王5 小时前
go语言了解
开发语言·后端·golang
晚风残5 小时前
【C++ Primer】第六章:函数
开发语言·c++·算法·c++ primer
满天星83035775 小时前
【C++】AVL树的模拟实现
开发语言·c++·算法·stl
怪兽20146 小时前
SQL优化手段有哪些
java·数据库·面试