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);

    }
}
相关推荐
敲代码娶不了六花40 分钟前
jsp | servlet | spring forEach读取不了对象List
java·spring·servlet·tomcat·list·jsp
Yhame.41 分钟前
深入理解 Java 中的 ArrayList 和 List:泛型与动态数组
java·开发语言
是小崔啊2 小时前
开源轮子 - EasyExcel02(深入实践)
java·开源·excel
mazo_command3 小时前
【MATLAB课设五子棋教程】(附源码)
开发语言·matlab
myNameGL3 小时前
linux安装idea
java·ide·intellij-idea
IT猿手3 小时前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
青春男大3 小时前
java栈--数据结构
java·开发语言·数据结构·学习·eclipse
88号技师3 小时前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
Zer0_on3 小时前
数据结构栈和队列
c语言·开发语言·数据结构
一只小bit3 小时前
数据结构之栈,队列,树
c语言·开发语言·数据结构·c++