挑战用豆包教我学Java02天

今天是第二天,我早上起来看见昨天的文章是高质量文章,让我更有动力做下去了。

那么废话不多说直接开始。

每日题目:

流程控制语句

1. 题目:编写一个程序,判断一个整数是否为偶数。如果是偶数,输出 "是偶数";否则输出 "是奇数"。

2. 题目:编写一个程序,使用 `for` 循环输出 1 到 100 之间所有能被 3 整除的数。

3. 题目:编写一个程序,使用 `while` 循环计算 1 到 100 的整数和。

1.题目1:编写一个程序,判断一个整数是否为偶数。如果是偶数,输出 "是偶数";否则输出 "是奇数"。

这题比较简单感觉,直接写出来了初始代码:

初始代码:

//编写一个程序,判断一个整数是否为偶数。如果是偶数,输出 "是偶数";否则输出 "是奇数"。
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main{
    public static void main(String[] args)
    {
        Scanner scanner=new Scanner(System.in);
        int a;
        try{
            System.out.println("请输入一个整数");
            a=scanner.nextInt();
            if(a%2==0)
            {
                System.out.println("是偶数");
            }
            else {
                System.out.println("是奇数");
            }
        }
        catch(InputMismatchException e)
        {
            System.out.println("输入有误,请重新输入!");
        }
        finally{
            scanner.close();
        }
    }
}

豆包点评:
 

优点

  1. 功能实现:代码逻辑清晰,通过获取用户输入的整数,使用取模运算符 % 判断该数是否能被 2 整除,进而判断其是偶数还是奇数,并输出相应的结果,准确地完成了题目的要求。
  2. 异常处理:使用 try - catch 块捕获 InputMismatchException 异常,当用户输入的不是有效的整数时,程序会输出错误提示信息,避免了因输入异常而导致程序崩溃,增强了程序的健壮性。
  3. 资源管理:在 finally 块中调用 scanner.close() 方法关闭 Scanner 对象,确保了程序在任何情况下(正常执行或出现异常)都能正确释放系统资源,避免资源泄漏。

可优化之处

  1. 用户交互提示:可以在输出提示信息时更加明确,例如在提示用户输入整数时,说明输入的格式要求,让用户更清楚程序的意图。
  2. 代码注释:虽然代码逻辑相对简单,但适当添加一些注释可以提高代码的可读性,尤其是对于更复杂的逻辑或者后续可能的代码维护。
  3. 方法封装:可以将判断整数是否为偶数的逻辑封装成一个独立的方法,提高代码的复用性。

和我想的差不多,那么按照豆包所说,我要把对奇数偶数进行判断的程序进行封装。

最终代码:
 

import java.util.InputMismatchException;
import java.util.Scanner;
public class Main{
    public static void main(String[] args)
    {
        Scanner scanner=new Scanner(System.in);
        int a;
        try{
            System.out.println("请输入一个整数");
            a=scanner.nextInt();
            pd(a);

        }
        catch(InputMismatchException e)
        {
            System.out.println("输入有误,请重新输入!");
        }
        finally{
            scanner.close();
        }
    }
    public static void pd(int a)
    {
        if(a%2==0)
        {
            System.out.println("是偶数");
        }
        else {
            System.out.println("是奇数");
        }
    }
}

2.题目二:编写一个程序,使用 `for` 循环输出 1 到 100 之间所有能被 3 整除的数。

初始代码:

//编写一个程序,使用 `for` 循环输出 1 到 100 之间所有能被 3 整除的数。
public class Main{
    public static void main(String[] args)
    {
       out();
    }
    public static void out()
    {
       for(int i=1;i<101;i++)
       {
           if(i%3==0)
               System.out.println(i);
       }
    }
}

优点

  1. 功能实现:通过 for 循环遍历 1 到 100 的整数,使用 if 语句判断每个数是否能被 3 整除,如果能则输出该数,逻辑清晰,准确地完成了题目的要求。
  2. 代码结构:将输出能被 3 整除的数的逻辑封装在 out 方法中,使 main 方法的代码更加简洁,符合模块化编程的思想,提高了代码的可维护性和复用性。

可优化之处

  1. 方法命名out 这个方法名不够具有描述性,不能清晰地表达该方法的功能。可以将方法名改为更具描述性的名称,如 printNumbersDivisibleByThree
  2. 注释添加:虽然代码逻辑相对简单,但添加一些注释可以提高代码的可读性,尤其是对于其他开发者或者后续维护时会更有帮助。
  3. 循环条件:当前循环条件 i < 101 可以改为 i <= 100,这样代码的意图会更加直观,更符合人们的阅读习惯。

最终代码:

//编写一个程序,使用 `for` 循环输出 1 到 100 之间所有能被 3 整除的数。
public class Main{
    public static void main(String[] args)
    {
        printNumbersDivisibleByThree();
    }
    public static void printNumbersDivisibleByThree()
    {
       for(int i=1;i<=100;i++)
       {
           if(i%3==0)
               System.out.println(i);
       }
    }
}

3.题目三:编写一个程序,使用 `while` 循环计算 1 到 100 的整数和。

这次代码没什么问题了

最终代码:

public class Main{
    public static void main(String[] args)
    {
        printSumOfOneToHundred();
    }
    public static void printSumOfOneToHundred()
    {
        int sum=0;
        int i=1;
       while(i<=100)
       {
           i++;
           sum+=i;
       }
       System.out.println(sum);
    }
}

今天的三道题目就已经写完了,我感觉还是比较容易的,很多知识和c++差不多,所以写起来比较快。

你可能感兴趣的:(java,人工智能,豆包)