【说明】 本程序根据输入的月份数,输出它是哪个季节。 【代码】 import java.io.*; public class season { public static void main(String[] args) { String strln=""; (1) in=new InputStreamReader(System.in); BufferedReader buffln=new BufferedReader(in); System.out.print("Please enter a month(1-12):"); try { strln=buffln.readLine();//从命令行读入数据 }catch( (2) ) { System.out.println(e.toStdng()); } int month= (3) (strln);//将字符串转换成整数型 int season=0; if(month<12 && month>0)eseason=((month+10)%12)/3+1;//计算季节的公式 (4) (season) {case 1: System.out.println("the season is Springl"); break;case 2: System.out.println("the season is Summer!");case 3: System.out.println("the season is Fall!");case 4: System.out.println("the season is Winter!"); break; (5) ; System.out.println("this is not correct month!"); } } }
参考答案:
解析:(1)InputStreamReader (2)IOException e (3)Integer.parseInt (4)switch (5)default
[分析]: 本题考查Java的基本语法知识与简单的算法实现。 题目要求用Java语言实现根据输入的月份数,确定并输出这个月份的季节,这个算法应该是不难的,下面来具体分析程序。 第(1)空很明显是定义一个变量in,它指向一个InputStreamReader类型的对象,那么这个变量in一定是一个。InputStreamReader类型的。因此,此空答案为 InputStreamReader。 第(2)空是catch的参数,在Java中,一般用try{}与catch{}结合起来使用,用来处理异常,其执行过程是先执行try{}函数体,发现异常才执行catch{}。从程序中可以知道,try{}的作用是从命令行读入数据,是一种输入操作,因此产生的应该是I/O异常,那么catch的参数应该是IOException e,所以此空答案为IOException e。 第(3)空是给对象in的month属性赋一个值,这行语句的功能注释已经给出,是将字符串转变成整数型,这需要用到整型类的parseInt方法,因此,此空答案为 Integer.parseInt。 第(4)空很明显是一个函数名,结合题目要求与程序,不难推断出这个函数的功能是用来输出计算得到的季节,而从后面的程序中可以看出这是个选择执行函数,那么这个函数的函数名应该是switch,因此,此空答案为switch。 第(5)空是在选择执行函数的最后面,在4种情况都考虑了之后,它考虑的应该是在匹配没有成功的条件下程序执行的情况,在多分支选择结构中,如果匹配不成功,则执行default后面的语句,因此,此空答案为default。