JAVA习题集(含答案)
- 格式:doc
- 大小:179.50 KB
- 文档页数:36
java试题库及答案Java试题库及答案一、单选题1. Java语言的特点是什么?A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?A. publicB. classC. voidD. int答案:B3. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class:2答案:C4. Java中的main()方法必须定义为什么类型的参数?A. intB. StringC. voidD. None答案:D5. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. throwD. All of the above答案:D二、多选题6. 下列哪些是Java的基本数据类型?A. intB. StringC. floatD. boolean答案:A, C, D7. 在Java中,哪些是合法的数组初始化方式?A. int[] arr = new int[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. int arr = new int[3]{1, 2, 3};答案:A, B8. 下列哪些是Java的控制流语句?A. if-elseB. switch-caseC. forD. try-catch答案:A, B, C三、简答题9. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,回收不再使用的对象所占用的内存空间。
垃圾回收器会跟踪每个对象的引用,当对象的引用计数为0时,即没有任何引用指向该对象,垃圾回收器就会在下一次执行时回收该对象占用的内存。
10. 什么是Java的接口?它有什么作用?答案:Java中的接口是一种完全抽象的类,它不包含任何实现代码,只包含常量和抽象方法的声明。
JAVA习题锦集(含答案)一、判断题1.(×)接口和类一样也可以有继承关系,而且都只能支持单继承2.(√)可以用FileOutputStream对象作为PrintWrite类的构造方法的参数3.(×)A subclass inherits all methods ( including the constructor ) from the superclass4.(×)Java中所有的类都是ng的子类5.(×)由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址6.(×)abstract方法不一定要声明在abstract类中7.(×)在Java中,异常(Exception)是指程序在编译和运行进出现的错误8.(√)我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号9.(√)子类的域和方法的数目一定大于等于父类的域和方法的数目10.(×)最终方法只能存在于最终类中二、单选题1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B(A)安全性(B)多线性(C)跨平台(D)可移植2、下列选项中不是JAVA语言特点的是()D(A)面向对象(B)平台无关(C)安全性高(D)单线程3、异常包含下列那些内容?()D(A)程序中的语法错误(B)程序的编译错误(C)程序执行过程中遇到的事先没有预料到的情况(D)程序事先定义好的可能出现的意外情况4、JAVA语言中的语句是以()为结尾的。
B(A)句号(B)分号(C)双引号(D)逗号5、下列选项中,哪一个是打印语句的正确表达式:()A(A)System.out.println(); (B)System.out.Println();(C)System.Out.print(); (D)System.Out.println();6、下列哪一个是合法的JAVA语句标示符()C(A)#xyz (B)10Year (C)_Hello (D)@yahoo7、下列哪一个是JAVA语言的关键字()B(A)hello (B)void (C)num_01 (D)abc8、关于数据类型转换下面描述错误的是()D(A)当两个数据的类型不统一时,必须先进行数据类型的转换,再运算或赋值(B)byte类型数据可以转换为short,int,long类型数据(C)long类型数据有可能转换为byte,short,int类型数据(D)在语句int i=(int) 78.67;中,变量i的值为799、下列定义String变量s的语句中,错误的是()A(A)String s=new “Yes!”;(B)String s=new String(“yes!”) ;(C)String s; (D)String s=”Yes!”;10、下列关于注释语句的描述错误的是()DA、多行注释语句的内容,从/*开始,到*/结束B、多行注释语句也可以是单行语句C、文档注释语句的内容,从/**开始,到*/结束D、单行注释语句的内容,从//开始,以分号为结尾句11、定义一个长整型变量a的语句是()DA、int a ;B、a long ;C、float a ;D、long a;12、下列哪个是反斜杠字符的正确表示()AA、\\;B、*\\;C、\;D、\’\’;13.Main()方法的返回类型是()BA、intB、voidC、booleanD、static14. 编译运行以下程序后,关于输出结果的说明正确的是()Bpublic class Con{public static void main(String args[ ]){int x=2;System.out.println(“value is “+ ((x<1) ?22:2));}}A、输出结果为:value is 22.2B、输出结果为:value is 2C、输出结果为:value is 2.0D、编译错误15.给出下面代码:public class test{static int a[] = new a[10];public static void main(String args[]) {System.out.println(arr[10]);}}那个选项是正确的?()AA、编译时将产生错误;B、编译时正确,运行时将产生错误;C、输出零;D、输出空。
java集合试题及答案# Java集合试题及答案1. 选择题- 集合框架中,哪个接口提供了对集合的最小功能定义?- A. List- B. Set- C. Map- D. Collection- 答案:D2. 填空题- 在Java集合框架中,ArrayList是基于______实现的。
- 答案:数组3. 简答题- 描述ArrayList和LinkedList在性能上的主要差异。
- 答案:ArrayList是基于动态数组实现的,因此对于随机访问操作有较好的性能。
LinkedList是基于双向链表实现的,因此对于插入和删除操作有更好的性能。
4. 编程题- 编写一个Java程序,实现一个方法,该方法接受一个ArrayList<Integer>作为参数,并返回一个新的ArrayList<Integer>,其中包含原列表中所有元素的平方。
```javapublic class SquareList {public static ArrayList<Integer>squareList(ArrayList<Integer> input) {ArrayList<Integer> result = new ArrayList<>(); for (int num : input) {result.add(num * num);}return result;}}```5. 判断题- 在Java中,HashMap的键值对是有序的。
- 正确- 错误- 答案:错误6. 多选题- 下列哪些类实现了Map接口?- A. HashMap- B. TreeMap- C. HashSet- D. LinkedHashMap- 答案:A, B, D7. 计算题- 假设有一个ArrayList<String>,包含10个元素,如果使用Collections.sort()方法对其进行排序,排序后第一个元素的索引是多少?- 答案:08. 案例分析题- 给定一个HashSet<String>,包含"apple", "banana", "cherry", "date", "elderberry"五个元素。
第1章问答题及作业题第1章问答题1、发明Java语言的原因是什么?发明Java语言的主要贡献者是谁?2、“Java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?3、Java程序的主类必须含有怎样的方法?4、“Java应用程序必须含有一个类是public类”,这句话正确吗?5、“Java Applet程序的主类必须是public类”,这句话正确吗?6、请叙述Java源文件的命名规则。
7、源文件生成的字节码在运行时都加载到内存中吗?8、怎样编写加载运行Java Applet的简单网页?9、编译器使用“-source”参数的作用是什么?“-source”参数的默认取值是什么?第1章作业题1.参照例1-1编写一个Java应用程序,程序能在命令行中输出“早上好,Good Morning”。
2.参照例1-2编写一个Java Applet程序,程序能在浏览器中显示“你好,Hello”。
第2章问答题及作业题第2章问答题1、什么是标识符?标识符的规则是什么?2、什么是关键字?请说出5个关键字。
3、Java的基本数据类型是什么?4、下列哪些语句是错误的?int x=120;byte b=120;b=x;5、下列哪些语句是错误的?float x=12.0;float y=12;double d=12;y=d;6、下列两条语句的作用是等价的吗?char x=97;char x=’a’;7、下列语句输出的结果是什么?int a=97;byte b1=(byte)128;byte b2=(byte)-129;System.out.printf(“%c,%d,%d”,a,b1,b2);8、数组是基本数据类型吗?怎样获取一维数组的长度?9、假设有两个int类型数组:int[] a=new int[10];int[] b=new int[8];b=a;a[0]=100;b[0]的值一定是100吗?10、下列两条语句的作用等价吗?int[] a={1,2,3,4,5,6,7,8};int[] a=new int[8];}第2章作业题1.参照例2-1编写一个Java应用程序,输出俄文字母表。
目录一、判断题................................................. - 1 -二、选择题................................................. - 3 -三、填空题................................................ - 15 -四、写出下列程序完成的功能.................... 错误!未定义书签。
五、写出下面程序的运行结果.................... 错误!未定义书签。
六、使用Java语言编写程序................................. - 24 -七、简答题.................................... 错误!未定义书签。
Java程序设计习题集一、判断题1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
( F )2.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
( F ) 3.类及其属性、方法可以同时有一个以上的修饰符来修饰。
( T ) 4.Java的屏幕坐标是以像素为单位,容器的左下角被定为坐标的起点。
( F )(应该是左上角)5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
( F) 6.Final类中的属性和方法都必须被final修饰符修饰。
( F )(静态的必须被静态的修饰符修饰)7.最终类不能派生子类,最终方法不能被覆盖。
(T )8.子类要调用父类的方法,必须使用super关键字。
( T )9.一个Java类可以有多个父类。
( F )10.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p 是正确的。
( F )11.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。
( T ) 12.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
java机试题及答案# Java机试题及答案一、选择题1. 下列哪个选项是Java语言的基本数据类型?A. StringB. IntegerC. intD. Object答案:C2. 在Java中,哪个关键字用于定义一个类?A. classB. defineC. typeD. struct答案:A3. Java中的异常处理是通过哪两个关键字实现的?A. try-catchB. if-elseC. switch-caseD. for-while答案:A二、简答题1. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是指Java虚拟机(JVM)自动释放不再使用的对象所占用的内存。
垃圾回收器会定期检查堆内存中的对象,如果对象不再被任何引用指向,就会将其标记为垃圾,并在适当的时机进行回收。
2. 描述Java中的多态性及其应用场景。
答案:多态性是指允许不同类的对象对同一消息做出响应的能力,即同一个接口可以被不同的实例以不同的方式实现。
在Java中,多态性主要通过继承(子类重写父类方法)和接口(实现接口的类提供具体实现)来实现。
多态性使得代码更加灵活和可扩展,常用于设计模式和大型软件系统的架构中。
三、编程题1. 编写一个Java程序,实现计算一个整数数组中所有元素的总和。
```javapublic class SumArray {public static void main(String[] args) {int[] numbers = {1, 2, 3, 4, 5};int sum = sumArray(numbers);System.out.println("The sum of the array is: " + sum);}public static int sumArray(int[] array) {int sum = 0;for (int num : array) {sum += num;}return sum;}}```2. 编写一个Java程序,实现对一个字符串进行反转。
Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。
(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String args[]) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。
// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。
");elseSystem.out.println(year+" 年不是闰年。
");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。
(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;public class Factorial { //下面的这个方法利用递归的方法求阶乘public intgetFac(int m) { if(m==1) { return 1; } else { return m*getFac(m-1); } } public static void main(String args[]) { Factorial fac=new Factorial(); //System.out.println(fac.getFac(4)); int sum=0; for(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到10的阶乘的和是:"+sum); } }}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。
Java综合练习(总分50)一,选择题(每题2分)1. 下列java标识符,错误的是()DA、_sys_varlB、$changeC、User_nameD、1_file2. 下列声明和赋值语句错误的是()CA、double w=3.1415;B、String strl=”bye”;C、float z=6.74567D、boolean truth=true;3. 下列不属于整型变量的类型是CA、byteB、shortC、floatD、long4. 已知i为整形变量,关于一元运算++i和i++,下列说法正确的是DA. ++i运算将出错B. 在任何情况下运行程序结果都一样C. 在任何情况下运行程序结果都不一样D. 在任何情况下变量i的值都增15.三元条件运算符ex1?ex2:ex3,相当于下面()语句。
AA、if(ex1)ex2;else ex3;B、if(ex2)ex1;else ex3;C、if(ex1)ex3;else ex2;D、if(ex3)ex2;else ex1;6.下列语句序列执行后,x 的值是( A )。
int a=3, b=4, x=5;if( ++a<b ) x=x+1;A) 5 B) 3 C) 4 D) 67.下列语句序列执行后,x 的值是(B )。
int a=3, b=4, x=5;if( ++a==b ) x=++a*x;A) 35 B) 25 C) 20 D) 58.下列语句序列执行后,k 的值是(C)。
int i=6,j=8,k=10,m=7;if(i>j||m<k--) k++; else k--;A) 12 B)11 C) 10 D) 99.下列语句序列执行后,k 的值是(C )。
int i=10, j=18, k=30;switch( j - i ){case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A) 31 B) 32 C) 2 D) 3310.若a和b均是整型变量并已正确赋值,正确的switch语句是(D )。
java考试题及答案一、选择题1. Java中用于创建新对象的关键字是()。
A. classB. newC. thisD. super答案:B2. 下列哪个选项是Java语言的特点?()A. 支持多继承B. 所有代码必须位于类中C. 支持自动垃圾回收D. 所有选项都是答案:C3. 在Java中,如果需要实现多线程,应该继承哪个类?()A. ObjectB. ThreadC. RunnableD. System答案:B4. 下列关于Java异常处理的描述,哪项是错误的?()A. try块可以单独使用B. catch块必须跟随在try块之后C. finally块用于执行清理操作,无论是否发生异常都会执行D. throw关键字用于手动抛出异常答案:A5. 在Java中,下列哪个是正确的数组初始化方式?()A. int[] arr = {1, 2, 3} {4, 5, 6};B. int[] arr = new int[3];C. int[] arr = new int[] {1, 2, 3};D. int[] arr = {1, 2, 3, 4, 5};答案:C二、填空题1. 在Java中,每一个类都是从______类隐式继承而来的,因此所有的类都具有该类的属性和方法。
答案:Object2. Java中的______关键字用于定义一个类为另一个类的子类,实现代码的复用。
答案:extends3. 当需要在Java程序中捕获多种类型的异常时,可以使用______关键字来指定多个捕获类型。
答案:catch4. 在Java中,______关键字用于定义一个方法或构造器的参数类型和顺序。
答案:paramter5. 如果需要在Java中定义一个接口,应该使用______关键字。
答案:interface三、判断题1. Java中的所有异常都是ng包的Throwable类的子类或孙子类。
()答案:正确2. 在Java中,所有的类都必须显式地指定一个父类。
JAVA习题集(含答案)习题一:1.简述Java的发展过程。
2.什么是软件?3.什么叫做源程序?4.什么叫做编译?5.什么是Java 的byte-codes?它的最大好处是什么?6.机器语言程序、高级语言程序以及可表示成Java字节码的程序之间的区别是什么?7.Java程序可分为哪两种?分别如何运行?8.试简述J2SE、J2ME与J2EE的简单区别。
9.练习使用浏览器查看Java API文档。
10.SDK的编译命令是什么?11.试修改例1-1程序,使其输出的字符串为“I’d like to study Java !”,并在DOS命令行环境下编译与运行该程序。
习题一参考答案:1.答:1991:Sun Microsystems公司进军消费电子产品(IA)市场。
1991.4:Sun 成立“Green”小组,以C++为基础开发新的程序设计语言,并将其命名为Oak。
1992.10:Green小组升格为First Person公司,他们将Oak的技术转移到Web上,并把Oak改名为Java。
1993~1994:Web在Internet上开始流行,致使Java得以迅速发展并获得成功。
1995.5:Sun Microsystems公司正式发表Java与HotJava产品。
1995.10:Netscape与Sun Microsystems合作,在Netscape Nevigator中支持Java。
1995.12:微软(Microsoft)IE加入支持Java的行列。
1996.2:Java Beta测试版结束,Java 1.0版正式诞生。
1997.2:Java发展至1.1版。
Java的第一个开发包JDK(Java Development Kit)发布。
1999.7:Java升级至1.2版。
2000.9:Java升级至1.3版。
2001.7:Java升级至1.4版。
2.答:软件可以理解为程序的另一种名称。
3.答:直接使用高级语言书写的程序代码称为源程序4.答:把用高级语言编写的源程序翻译成可执行(目标)程序的过程称为编译。
5.答:Java源程序经Java的编译器编译过后产生的程序称为Java 的byte-codes。
它的最大好处是可以实现跨平台运行。
6.答:机器语言程序是可以让计算机直接运行的程序;高级语言程序是必需经过编译或解释才可以让计算机运行的程序,并且程序的运行依赖于该语言的语言处理系统;可表示成Java字节码的程序必需经过编译产生Java字节码程序,Java字节码程序可以实现跨平台运行。
7.答:Java程序分为:Java Application(Java应用程序)与应用在www上的Java applet (Java小应用程序)。
Java Application可以在Java平台上独立运行,以main() Method 作为程序入口,由Java解释器加载执行。
而Java applet则是内嵌在Html文件中,必须搭配浏览器来运行,它没有程序入口。
8.答:J2ME(Java 2 Micro Edition):用于嵌入式Java消费电子平台。
不论是无线通讯、手机、PDA等小型电子装置都可采用其作为开发工具及应用平台。
J2SE[Java 2(Software Development Kit)Standard Edition]:是Java最通行的版本,是用于工作站、PC机的Java标准平台。
J2EE(Java 2 Enterprise Edition):可扩展的企业应用Java 2平台,它提供了企业e-Business架构及Web Services服务。
9.答:略10.答:javac11.答:修改程序如下:public class BegintoLearn{public static void main(String args[]){System.out.println("I’d like to study Java ! ");}}程序运行部分略。
习题二1.下面哪些是合法的常量(1) 2M (2) 4 (3) 8I (4) 6.5 (5) ch3(6) 5.6E03 (7) \t (8) –90 (9) 012 (10) 0x142.int、char、float和double类型的变量各占有多少个字节?试写出它们各自的取值范围。
3.下列符号那些可以作为Java的变量名?(1) 3a (2) main (3) KFC (4) ch.s (5) File (6) a*b (7) m_n(8) new (9) nn2 (10) -x (11) _y (12) exp (13) ha? (14) m&m(15) j,k (16)p:q4.什么叫做变量的作用域?5.试写出下列Java表达式的运算结果:(1) 15+4*5-12(2) (18-4)/7+6(3) 2>=5(4) 6<=6(5) 5>2 && 8<8 &&23<36(6) 56/9+3.6(7) 48%9+5*5-4(8) 9-7<0 || 11>8(9) (3>2) ? 8 : 9(10) 9= =8 && 3<76.假设int m=2,float n=0.1f,经过下列表达式的运算后,m、n各为什么值?(1) m=9/8;(2) m=45%8+4*5-4;(3) m=36+36*2%m--;(4) m*=5/m-1;(5) n-=5*3.1;7.编写一程序,利用System.out.println()方法分别输出下列语句的执行结果:(1) 将变量m的初值赋值为10,变量n的初值赋值为5。
(2) 变量m的值加3,n的值加5。
(3) 求m和n的平均值,并将该值赋于变量p。
(4) 将m的平方乘以n的平方并赋值给变量q。
请注意各变量定义时所应该使用的数据类型。
8.已知圆球体积公式为,编写一程序,设计一个求圆球体积的方法,并在主程序中调用它,求出当r=3时,圆球的体积值。
习题二参考答案:1.答:(1) 不合法(2) 合法(3) 不合法(4) 合法(5) 不合法(6)合法(7) 合法(8) 合法(9) 合法(10) 合法2.答:变量类型内存中所占字节数取值范围int 4 -231~ (231-1)float 4 3.4e-038 ~ 3.4e+038double 8 1.7e-308 ~1.7e+308char 2 0 ~ 65535。
3.下列符号那些可以作为Java的变量名?(1) 不合法(2)合法(3)合法(4) 不合法(5)合法(6) 不合法(7) 合法(8). 不合法(9)合法(10). 不合法(11)合法(12)合法(13) 不合法(14) 不合法(15) 不合法(16) 不合法4.答:变量的作用域指的是可以访问这一变量的程序代码的范围。
5.答:(1) 23(2) 8(3) false(4) true(5) false(6) 9.6(7) 24(8) true(9) 8(10)false6.答:(1) 1;(2) 21;(3) 45;(4) –45;(5) –15.4;7.答:程序如下:public class ProNum{public static void main(String args[]){float p;long q;int m=10,n=5;System.out.println("m="+m+" n="+n);m=m+3;n=n+5;System.out.println("m="+m+" n="+n);p=(float)(m+n)/2;System.out.println("p="+p);q=(m*m*n*n);System.out.println("q="+q);}}8.答:程序如下:class Sphere {int r;double v;public void CalVolume() {v=3.14*r*r*r*4/3;}public void display() {System.out.println("V="+v);}}class SphereClass{public static void main(String args[]) {Sphere s = new Sphere();s.r = 3;s.CalVolume();s.display();}}习题三1.什么是结构化程序设计?2.使用if语句与使用条件运算符“?:”有什么不同?3.使用for循环与while循环的条件有什么不同?4.简述break语句与continue的区别?5.编写程序:由键盘输入两个字符串“12”与“24”,将它们转换成整数,然后计算并输出这两个数的和。
6.编写程序:由键盘输入给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’和’D’,90分以上为’A’,75~89为’B’,60~74为’C’,60分以下为’D’。
7.编一程序,求一个10项所组成的等差数列,其奇数项之和为135,偶数项之和为150。
8.用for语句输出下列数字金字塔:11 3 11 3 5 3 11 3 5 7 5 3 11 3 5 7 9 7 5 3 19.编写程序:由键盘输入一正整数,求出小于且等于这个数的所有质数。
10.编写程序:由键盘输入一整数,求出该数所有的因子,如输入6,则输出的6的所有因子为1、2、3、6。
11.假设有一条钢材长2000米,每天截取其中的一半,编一程序求出多少天后,钢材的长度开始短于5米?12.编写程序:利用数列来取得的近似值。
并计算在得到3.14159之前,这个数列要取到第几项?13.使用java.long.Math类,生成10个0~99之间的随机整数,求出它们中的最大值和最小值。
提示:java.long.Math类支持random方法:Math. Random( )。
该方法返回值是正数,类型为double,范围为0~1。
如果要得到其它范围的数,则要进行相应的转换。
例如要得到(a,b)之间的整数的方法是:(int) ((b-a+1)*Math.random()+a)。
若要得到(0,99)之间的整数可以使用下列语句:int m = (int) (100*Math.random());14.编写程序:声明一数组来存放12个月的英文名称,由用户从键盘输入月份,如输入8,则程序输出相应的月份名称:August。
同时请大家考虑若是用户输入了1~12以外的内容,你的程序将如何应对?15.编写程序:由键盘输入一16位的长整数,统计0~9这十个数字每一个出现的次数。