今天是第二天,我早上起来看见昨天的文章是高质量文章,让我更有动力做下去了。
那么废话不多说直接开始。
每日题目:
流程控制语句
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();
}
}
}
豆包点评:
优点
- 功能实现:代码逻辑清晰,通过获取用户输入的整数,使用取模运算符
%
判断该数是否能被 2 整除,进而判断其是偶数还是奇数,并输出相应的结果,准确地完成了题目的要求。 - 异常处理:使用
try - catch
块捕获InputMismatchException
异常,当用户输入的不是有效的整数时,程序会输出错误提示信息,避免了因输入异常而导致程序崩溃,增强了程序的健壮性。 - 资源管理:在
finally
块中调用scanner.close()
方法关闭Scanner
对象,确保了程序在任何情况下(正常执行或出现异常)都能正确释放系统资源,避免资源泄漏。
可优化之处
- 用户交互提示:可以在输出提示信息时更加明确,例如在提示用户输入整数时,说明输入的格式要求,让用户更清楚程序的意图。
- 代码注释:虽然代码逻辑相对简单,但适当添加一些注释可以提高代码的可读性,尤其是对于更复杂的逻辑或者后续可能的代码维护。
- 方法封装:可以将判断整数是否为偶数的逻辑封装成一个独立的方法,提高代码的复用性。
和我想的差不多,那么按照豆包所说,我要把对奇数偶数进行判断的程序进行封装。
最终代码:
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);
}
}
}
优点
- 功能实现:通过
for
循环遍历 1 到 100 的整数,使用if
语句判断每个数是否能被 3 整除,如果能则输出该数,逻辑清晰,准确地完成了题目的要求。 - 代码结构:将输出能被 3 整除的数的逻辑封装在
out
方法中,使main
方法的代码更加简洁,符合模块化编程的思想,提高了代码的可维护性和复用性。
可优化之处
- 方法命名:
out
这个方法名不够具有描述性,不能清晰地表达该方法的功能。可以将方法名改为更具描述性的名称,如printNumbersDivisibleByThree
。 - 注释添加:虽然代码逻辑相对简单,但添加一些注释可以提高代码的可读性,尤其是对于其他开发者或者后续维护时会更有帮助。
- 循环条件:当前循环条件
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++差不多,所以写起来比较快。