java经典编程题二及详细答案

合集下载

java二级历年考试真题及答案

java二级历年考试真题及答案

java二级历年考试真题及答案1. 题目:以下哪个选项是Java中合法的变量名?A. 2variableB. variable2C. $variableD. variable-2答案:B2. 题目:Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A3. 题目:Java中,以下哪个选项不是基本数据类型?A. intB. floatC. StringD. boolean答案:C4. 题目:在Java中,下列哪个方法用于获取数组的长度?A. length()B. size()C. count()D. length答案:A5. 题目:Java中,下列哪个关键字用于实现类的继承?A. extendsB. implementsC. overrideD. abstract答案:A6. 题目:在Java中,哪个关键字用于声明一个方法?A. methodB. functionC. defD. void答案:D7. 题目:Java中,哪个关键字用于声明一个接口?A. interfaceB. classC. abstractD. package答案:A8. 题目:在Java中,下列哪个选项不是异常处理关键字?A. tryB. catchC. finallyD. except答案:D9. 题目:Java中,哪个关键字用于实现多态?A. overrideB. implementsC. extendsD. abstract答案:A10. 题目:在Java中,哪个关键字用于声明一个类为抽象类?A. abstractB. interfaceC. finalD. static答案:A11. 题目:Java中,哪个关键字用于声明一个方法为抽象方法?A. abstractB. interfaceC. finalD. static答案:A12. 题目:在Java中,下列哪个选项不是集合框架的一部分?A. ListB. SetC. MapD. Array答案:D13. 题目:Java中,哪个关键字用于声明一个类为最终类?A. finalB. staticC. abstractD. private答案:A14. 题目:在Java中,下列哪个选项不是垃圾回收机制的一部分?A. finalize()B. System.gc()C. Object.wait()D. Object.notify()答案:C15. 题目:Java中,哪个关键字用于声明一个类为线程安全的?A. synchronizedB. volatileC. transientD. static答案:A16. 题目:在Java中,下列哪个选项不是多线程的实现方式?A.继承Thread类B.实现Runnable接口C.实现Callable接口D.使用synchronized关键字答案:D17. 题目:Java中,哪个关键字用于声明一个方法为同步方法?A. synchronizedB. volatileC. transientD. static答案:A18. 题目:在Java中,下列哪个选项不是输入输出流的一部分?A. FileInputStreamB. FileOutputStreamC. ObjectOutputStreamD. DataOutputStream答案:C19. 题目:Java中,哪个关键字用于声明一个类为单例类?A. singletonB. privateC. staticD. final答案:B20. 题目:在Java中,下列哪个选项不是网络编程的一部分?A. InetAddressB. URLC. SocketD. JDBC答案:D。

java二级考试试题及答案

java二级考试试题及答案

java二级考试试题及答案Java是一门广泛应用于软件开发领域的编程语言。

对于想要进一步提升自己的Java编程能力的人来说,参加Java二级考试是一个很好的机会。

本文将介绍一些常见的Java二级考试试题及其答案,希望对准备参加这个考试的人有所帮助。

1. 试题一:什么是Java中的多态性?请举一个示例说明。

答案:Java中的多态性是指同一个方法可以根据不同的对象调用不同的实现。

通过继承和接口的方式,一个父类或接口可以有多个不同的子类实现。

例如,有一个父类Animal,有两个子类Dog和Cat,它们都重写了父类的eat()方法。

当我们调用eat()方法时,可以根据具体的对象类型调用对应的实现,即可以调用Dog的eat()方法或Cat的eat()方法。

2. 试题二:Java中的异常处理机制是什么?请举一个示例说明。

答案:Java中的异常处理机制是通过try-catch-finally语句块来实现的。

当可能发生异常的代码块被包含在try块中时,如果发生异常,程序会跳转到对应的catch块进行异常处理。

finally块中的代码无论是否发生异常都会被执行。

例如,当我们读取一个文件时,可能会发生文件不存在的异常。

我们可以在try块中打开文件,如果发生异常,则在catch块中进行异常处理,最后在finally块中关闭文件。

3. 试题三:什么是Java中的线程?请举一个示例说明如何创建和启动一个线程。

答案:Java中的线程是指程序中独立执行的一段代码。

通过创建线程,我们可以同时执行多个任务,提高程序的效率。

可以通过继承Thread类或实现Runnable接口来创建线程。

例如,我们可以创建一个继承Thread类的MyThread类,重写run()方法,在run()方法中定义线程要执行的任务。

然后,我们可以通过创建MyThread对象并调用start()方法来启动线程。

4. 试题四:Java中的集合框架有哪些?请列举并简要说明各个集合类的特点。

java二级考试试题及答案

java二级考试试题及答案

java二级考试试题及答案一、单选题1. 下面哪个关键字不能用来修改类的访问权限?A. publicB. protectedC. privateD. static答案:D2. Java中,以下哪个关键字用于定义一个接口?A. interfaceB. abstractC. classD. implements答案:A3. 下面哪个选项是Java的基本数据类型?A. StringB. BooleanC. IntegerD. Array答案:B二、多选题1. Java中,哪些关键字可以用来实现继承?A. extendsB. implementsC. abstractD. final答案:A、C2. 以下哪些集合类是线程安全的?A. ArrayListB. LinkedListC. HashMapD. Vector答案:D三、填空题1. 面向对象编程主要有三个基本特征:封装、继承和______。

答案:多态2. 下面是一个数组的声明和初始化,填写数组中第3个元素的值:int[] numbers = {1, 2, ____ , 4, 5};答案:3四、编程题编写一个Java程序,实现以下要求:1. 定义一个类Student,包含学生的姓名和年龄两个属性,以及一个显示学生信息的方法displayInfo()。

2. 在main方法中创建一个Student对象,并设置姓名为"张三",年龄为18。

3. 调用displayInfo()方法显示学生的信息。

示例代码:```javapublic class Student {private String name;private int age;public void displayInfo() {System.out.println("姓名:" + name);System.out.println("年龄:" + age);}public void setName(String name) { = name;}public void setAge(int age) {this.age = age;}}public class Main {public static void main(String[] args) {Student student = new Student();student.setName("张三");student.setAge(18);student.displayInfo();}}```以上就是Java二级考试试题及答案的内容。

java二级 试题及答案

java二级 试题及答案

java二级试题及答案一、选择题1.下列哪个选项用于创建一个类的实例?A. newB. thisC. finalD. void2.以下哪个关键字用于定义一个类的方法可以被子类重写?A. publicB. finalC. staticD. abstract3.以下哪个关键字用于定义一个类的成员变量可以被子类直接访问?A. privateB. protectedC. staticD. transient4.下列哪个选项是Java的基本数据类型?A. StringB. IntegerC. BooleanD. Double5.以下哪个选项是Java中的循环结构?A. forB. ifC. switchD. try二、填空题1. 声明一个整型变量并将其初始化为10:int num = _________ ;2. 定义一个常量并赋值为3.14:final double PI = _________ ;3. 定义一个字符串变量,并将其初始化为空串:String str =_________ ;4. 声明一个布尔变量并将其初始化为真:boolean flag = _________ ;5. 将两个整数相加并将结果赋值给一个整型变量:int sum =_________ + _________ ;三、编程题1. 编写一个Java程序,实现输入一个整数n,并输出1到n之间所有偶数的和。

示例输入:10示例输出:302. 编写一个Java程序,实现输入一个字符串,判断该字符串是否是回文串(正序和反序读都一样)。

示例输入:radar示例输出:是回文串3. 编写一个Java程序,实现输入一个整数n,并输出斐波那契数列的前n项。

示例输入:5示例输出:0 1 1 2 3四、简答题1. 什么是Java的面向对象特性?举例说明面向对象编程的好处。

2. Java中的继承和多态的概念分别是什么?它们如何实现面向对象的特性?3. Java中的异常处理机制是什么?说明try-catch-finally语句的作用和使用方法。

历年全国计算机等级考试二级Java语言程序设计试题及答案分解

历年全国计算机等级考试二级Java语言程序设计试题及答案分解

历年全国计算机等级考试二级Java语言程序设计试题及答案一、选择题(每小题1分,共40小题,共40分)1 •下列叙述中正确的是()。

A. —个算法的空间复杂度大,则其时间复杂度必定大B. —个算法的空间复杂度大,则其时间复杂度必定小C. 一个算法的时间复杂度大,则其空间复杂度必定小D. 上述3种说法都不对Do【解析】算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。

2.开发软件时对提高开发人员工作效率至关重要的是()。

A. 操作系统的资源管理功能B. 先进的软件开发工具和环境C. 程序员的数量D. 计算机的并行处理能力Bo【解析】先进的软件开发工具和环境对提高开发人员工作效率是至关重要的。

3•程序设计语言的基本成分是数据成分、运算成分、控制成分和()。

A. 对象成分B. 变量成分C. 语句成分D. 传输成分Do【解析】程序设计语言的基本成分有:数据成分,用于描述程序所涉及的数据;运算成分,用于描述程序中所包含的运算;控制成分,用于描述程序中所包含的控制;传输成分,用于表达程序中数据的传输。

4•对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为()。

A. 125B. n/2C. nD. n+lCo【解析】对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。

在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素5 •有下列二叉树,对此二叉树前序遍历的结果为()A. XZCYABB. XYZABCC. XYABCZD. XYAZBCDo【解析】对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。

6•下列叙述中正确的是()。

A. 在面向对象的程序设计中,各个对象之间具有密切的关系B. 在面向对象的程序设计中,各个对象都是公用的C. 在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D. 上述3种说法都不对Co【解析】面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。

java二级考试真题及答案

java二级考试真题及答案

java二级考试真题及答案1. 以下哪个选项不是Java的基本数据类型?A. intB. floatC. doubleD. String答案:D2. Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum答案:A3. 在Java中,哪个关键字用于声明一个方法?A. methodB. functionC. defD. void答案:D4. 下列哪个选项是Java中的单例模式?A. Prototype模式B. Singleton模式C. Factory模式D. Builder模式答案:B5. 在Java中,以下哪个选项不是合法的变量名?A. _nameB. $nameC. 2nameD. name答案:C6. Java中,哪个关键字用于实现多态?A. extendsB. implementsC. interfaceD. abstract答案:A7. Java中,以下哪个选项不是合法的数组声明?A. int[] myArray;B. String[] myArray = new String[10];C. int myArray[] = new int[10];D. int[] myArray = new String[10];答案:D8. 在Java中,哪个关键字用于声明一个接口?A. classB. structC. interfaceD. enum答案:C9. Java中,哪个关键字用于声明一个枚举?A. enumB. classC. structD. interface答案:A10. 在Java中,以下哪个选项不是合法的继承关系?A. 类继承类B. 接口实现接口C. 类实现接口D. 接口继承类答案:D。

二级java语言试题及答案

二级java语言试题及答案

二级java语言试题及答案1. 选择题- 1.1 以下哪个选项是Java语言的特点之一?- A. 面向对象- B. 编译型语言- C. 动态类型- D. 以上都不是- 答案: A- 1.2 Java语言中,以下哪个关键字用于定义类?- A. class- B. public- C. static- D. void- 答案: A2. 填空题- 2.1 Java语言中的主函数入口是`____`。

- 答案: main- 2.2 在Java中,`____`关键字用于声明一个方法。

- 答案: void3. 简答题- 3.1 简述Java语言的垃圾回收机制。

- 答案: Java语言的垃圾回收机制是指系统自动回收不再被引用的对象所占用的内存空间。

Java虚拟机(JVM)负责管理内存,当对象不再被任何变量引用时,垃圾回收器会将其标记为可回收,并在适当的时候释放这些内存资源。

4. 编程题- 4.1 编写一个Java程序,实现计算两个整数的和。

- 答案:```javapublic class SumCalculator {public static void main(String[] args) {int num1 = 10;int num2 = 20;int sum = addNumbers(num1, num2);System.out.println("The sum is: " + sum);}public static int addNumbers(int a, int b) {return a + b;}}```5. 阅读题- 5.1 阅读以下Java代码片段,并回答问题:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```- 5.1.1 这段代码的作用是什么?- 答案: 这段代码的作用是输出字符串"Hello, World!"到控制台。

java二级试题及答案

java二级试题及答案

java二级试题及答案一、选择题(每题2分,共10题,共计20分)1. 下面哪个选项不是Java关键字?A. classB. packageC. finalD. import2. 下面哪种循环语句可以用于遍历数组或集合?A. forB. whileC. do-whileD. switch3. Java中的包(package)用于什么目的?A. 控制类的访问权限B. 封装类的属性和方法C. 组织类的层次结构D. 使类具有继承特性4. 在Java中,以下哪个关键字用于定义一个类的子类?A. superB. thisC. extendsD. implements5. 下面哪个选项不是Java中的访问修饰符?A. privateB. protectedC. publicD. static6. 在Java中,以下哪个方法用于启动一个新的线程?A. start()B. run()C. execute()D. launch()7. 在Java中,以下哪个异常类是所有异常的父类?A. ExceptionB. RuntimeExceptioinC. ErrorD. Throwable8. 在Java中,以下哪个关键字用于定义常量?A. varB. constC. finalD. static9. 在Java中,以下哪种集合类用于存储键值对?A. ArrayListB. HashSetC. LinkedListD. HashMap10. 下面哪个选项不是Java中的基本数据类型?A. intB. doubleC. booleanD. string二、填空题(每空2分,共5题,共计10分)1. Java中的数据类型分为两类,分别为基本数据类型和_____________。

2. Java中的三目运算符的格式是_____________。

3. 在Java中,方法的重载是指在同一个类中,方法名相同但参数类型或个数_____________的情况下可以存在多个方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.1上机练习☒基本题1)编程观察如下输出语句:System.out.println("hello test escape char");在“escape”处换上各种转义字符测试输出效果。

如何实现如下输出:Hello "test"Hello ‘\test’2)设有如下代码段,考虑赋值转换问题:int a=234;byte b=a;System.out.println("a=" a ",b=" b);将a,b的类型以及数据进行各种替换,观察什么时候能赋值,什么时候需要使用强制转换,什么时候不能强制转换,什么时候强制转换会丢失数据。

3) 编写一个程序求半径R为10的圆的面积,结果保留2为有效小数。

公式为:S=πR2注:π可用Math类的常量PI表示(即Math.PI)。

保留小数请查阅DecimalFormat类☒提高题1)设有一个边长为30的等边三角形,三角形内有一个内切圆,计算除内切圆外三角形内其它部分的面积。

【提示】先算三角形面积,再计算圆的面积,其差即为结果。

h是等边三角形的高,内切圆的半径r=h/3,面积s=πh�/9。

2)调试分析以下程序的运行结果:public class test {public static void main(String a[]) {int m=10,n=517;System.out.println(n % m);System.out.println(n / m);System.out.println(m >> 2);System.out.println(m & n);System.out.println(Integer.toBinaryString(m));System.out.println(Integer.toBinaryString(m >> 2));}}注意:Integer.toBinaryString(int)用于将一个整数转化为二进制形式的数字串。

在进行位运算时,注意观察二进制的数据变化规律。

2.2上机练习☒基本题1)从键盘输入4个学生的成绩,找出最高分和最低分。

【提示】引入两个变量分别存放最高分和最低分,根据比较改变这两个变量值。

2) 输入一个百分制分数,输出其对应的五分制成绩,包括:优、良、中、及格、不及格。

☒提高题1)设有一元二次方程如下:aX2 bx c=0试根据从键盘输入的a,b,c求解方程的根。

【提示】要考虑各种情形:一是a为0的情形,方程根为-c/b。

还有就是根据判别式Δ=b2 - 4ac进行判断,如果Δ.>0有两个实根;Δ=0,有一个实根;Δ<0,无实数解。

另外,求x的平方根可用Math.sqrt(x)方法。

2) 输入某人的应纳税所得额,计算个人所得税。

税率表如下:计算公式是:应纳个人所得税税额=应纳税所得额�适用税率-速算扣除数例:王某当月应纳税所得额6400元。

则应纳个人所得税税额=6400�20%-375=905元。

2.3.4上机练习☒基本题1)写一个程序输入一个整数n,输出相应三角形。

例如:N=4,则三角形如下:##########2) 计算算式: 1-1/2 1/3-1/4 1/5-…-1/1003)输出九九乘法表,格式如下:1*1=1 1*1=2 1*3=3 ……2*1=1 2*2=2 2*3=3 …………9*1=1 9*2=18 9*3=27 ……4)编写一个程序,用于输出Fibonacci数列的前20项。

5)编写一个程序,输出90度以内的各度的sin()函数值。

☒提高题1)编写一个猜数的应用程序,用随机函数产生一个10到99的随机数。

根据猜中使用的次数x计算得分。

每次猜完给出是大于还是小于的提示。

注:得分计算办法:110-x*10 ;(其中,x为猜的次数)2)找出1~100之间拥有除数最多的数。

【提示】在一定范围内找目标数,所以总体上是一个循环问题。

对于每个被检测的数,要统计出其拥有除数的个数,这又是个循环问题,也就是在外循环内有内循环。

为了求出拥有除数最多的哪个数,还涉及比较问题,所以要引入两个变量记下符合条件的这个数以及最多拥有的除数个数,在每次考察一个数的除数个数后要与最多者进行比较,从而决定是否要修改最多者。

3)编写一个人与计算机对拿火柴的游戏程序。

利用随机函数Math.random()产生火柴数量(20~50),每次最多拿3根,拿到最后一根为胜者。

要求:游戏过程要显示火柴总数,选择谁先拿;每步要显示剩余火柴数量,以及计算机拿的数量,并提示用户输入拿多少;结束时显示谁是胜者。

【解题算法提示】(1) 产生火柴总数(amount);(2) 决定随先拿(whoplay:1--人, 2--计算机);(3) 定义一个变量保存剩余火柴数量(remain)=amount ;(4) 当remain>0 循环4.1 根据whoplay的值决定是计算机拿x根还是提示人拿x根;计算机拿时最好带有智能,人拿时要限制输入数量。

4.2 修改 whoplay的值;4.3 修改remain的值;(5) 根据whoplay的值决定胜者4)某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析: A、B至少有一人作案; A、E、F三人中至少有两人参与作案; A、D不可能是同案犯; B、C或同时作案,或与本案无关; C、D中有且仅有一人作案;如果D没有参与作案,则E也不可能参与作案。

试编一程序,将作案人找出来。

2.4上机练习☒基本题1)利用求n!的方法计算 2! 4! 5!的值。

分别利用递归和非递归方法实现求n!。

2)编写根据三条边求三角形面积的方法。

利用该方法求以下两个三角形面积。

(1)三条边分别为:3,4,5(2)三条边分别为:5.3, 6.2, 83)从命令行参数获取两个整数,找出两个整数之间的所有素数,每行输出3个数。

☒提高题1)利用求素数的方法,就6~20之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。

2)分别编写一个方法求两个整数的最大公约数和最小公倍数,输入两个整数,计算这两个整的最大公约数和最小公倍数。

2.5上机练习☒基本题1)利用随机函数产生20个学生的英语成绩存入一个数组中。

●输出数组所有元素,每行输出3个数;●求最高分、最低分;●求平均成绩。

2)产生Fibonacci数列的头20项存入一个一维数组中,按每行4个输出数组的元素。

3) 利用随机函数产生50~500之间的整数给一个6*6的矩阵赋值.l 求第3行的元素之和;l 求第2列的最小元素;l 求主对角线上最大元素;l 求数组所有元素之和。

4)利用随机函数产生36个10~30之间的整数给一个6*6的矩阵赋值.●求最大元素值,指出其在矩阵中的所有出现位置;●求该矩阵的转置矩阵。

5)利用数组元素间的关系输出含8行的杨辉三角形;杨辉三角形特点:(1)第1列元素为1,对角线元素为1;(2)其他元素均为前一行的同一列位置元素和前一行的前一列元素之和。

11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 1☒提高题1)产生20个范围为0~50之间的不重复随机整数存入到一个数组中,将数组中元素按由小到大输出,并求数组所有元素的平均值。

【提示】每产生一个整数要跟前面已产生的数进行比较,如果已存在,则不算,要重新产生,可以用一个循环来控制产生一个新数,只有产生的数未出现过,才能出循环。

2)利用随机函数产生36个随机整数给一个6*6的二维数组赋值。

求出所有鞍点,鞍点的条件是该元素在所在行是最大值,在所在列是最小值。

【提示】先找出行上最大的元素,然后在判断该元素在所在的列上是否是最小的。

3)利用排序算法将一数组按由小到大排列,输入一个数据,查找在数组中是否存在,采用“折半查找”加快查找速度。

所谓“折半查找”就是先与中间位置元素进行比较,如果小于中间位置的元素,则在其上半部的中间位置继续查找,否则在下半部的中间位置查找,该过程反复进行,直到找到或发现不存在为止。

4)构造一个n阶方阵,方阵的大小从键盘输入,方阵的最外一圈元素为1,以后往内依次为2,3,....n。

例如:1 1 1 1 11 2 2 2 11 2 3 2 11 2 2 2 11 1 1 1 1详细答案如下:实验2.1基本题1)System.out.println("hello "test" escape char"); 输出结果是hello "test" System.out.println("hello '\test' escape char");输出结果是hello‘ est’2)int a=234; byte b=a;在这种情况下,由于a是int型,b是byte型而int的级别比byte 高,故b不能被赋值,若要赋值必需利用强制转换如:byte b=(byte)a;当a的取值在其范围-128~127内时强制转换不会丢失数据,否则就会丢失数据。

通过各种数据类型的转换可知:当两个数据类型相同或将低级类型数据赋给高级类型时可以直接赋值;由于byte、short、char是平级的不能自动转换,必需使用强制转换,另外由高级到低级时就要用到强制转换;布尔类型不能与其他类型进行转换;在强制转换中,当某一数据超出它所声明的类型的长度范围就会导致溢出或者降低数据精度而丢失数据。

3)程序如下:import java.text.DecimalFormat;public class Area{public static void main(String args[]){int R=10;String S;DecimalFormat a= new DecimalFormat("#0.00");S=a.format(Math.PI*R*R);System.out.println ("圆的面积为: " S);}}结果截图:☒提高题1)程序如下:public class Area{public static void main(String s[]){double a1;double a2;double area;a1=225*Math.sqrt(3);a2=Math.PI*75;area=a1-a2;System.out.println("三角形的面积为:" a1);System.out.println("内切圆的面积为:" a2);System.out.print("余下部分的面积为:");System.out.print(area);}}结果截图:2)调试结果如下:实验2.2☒基本题1)程序如下:import java.io.*;public class MyDemo{public static void main(String[] args) throws NumberFormatException, IOException {float[] score=new float[4];BufferedReader in=new BufferedReader(new InputStreamReader(System.in));for(int i=0;i<score.length;i ){System.out.println("请输入第" (i 1) "个成绩:");score[i]=Float.parseFloat(in.readLine());}float min=32768;float max=0;for(int i=0;i<score.length;i ){if(score[i]>max){max=score[i];}if(score[i]<min){min=score[i];}}System.out.println("最高分:" max " 最低分:" min);}}结果截图:2)程序如下:import java.util.*;public class GradeRank {public static void main(String str[]) {Scanner scanner = new Scanner(System.in);System.out.print("please input the grade:");double grade = scanner.nextInt();if (grade >= 90) {System.out.println("该成绩为优");} else if (grade >= 80 && grade < 90) {System.out.println("该成绩为良");} else if (grade >= 70 && grade < 80) {System.out.println("该成绩为中");} else if (grade >= 60 && grade < 70) {System.out.println("该成绩及格");} else {System.out.println("该成绩不及格");}}}结果截图:提高题1)程序如下:import java.util.Scanner;public class fangcheng{public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("请输入a");double a=input.nextDouble();System.out.println("请输入b");double b=input.nextDouble();System.out.println("请输入c");double c=input.nextDouble();if(a==0){ System.out.println("对不起该方程不是一元二次方程"); }else if(b*b-4*a*c==0){System.out.println((-b Math.sqrt(b*b-4*a*c))/(2*a)); }else if (b*b-4*a*c>0){System.out.println("第一个答案为" (-b Math.sqrt(b*b-4*a*c))/(2*a));System.out.println("第二个答案为" (-b-Math.sqrt(b*b-4*a*c))/(2*a));}else{System.out.println("对不起没有答案"); }}}截图如下:2)程序如下:import java.util.Scanner;public class Tax{public static void main(String[] args){ double s;Scanner input = new Scanner(System.in);System.out.println("请输入所得税额t");double t=input.nextDouble();;if(t==500){System.out.println("应纳个人所得税税额为:25"); }else if(t<=2000){ s=0.1*t-25;System.out.println("应纳个人所得税税额为:" s); }else if (t<=5000){ s=0.15*t-125;System.out.println("应纳个人所得税税额为:" s);}else if (t<=20000){ s=0.2*t-375;System.out.println("应纳个人所得税税额为:" s);} else if (t<=40000){ s=0.25*t-1375;System.out.println("应纳个人所得税税额为:" s);} else if (t<=60000){ s=0.3*t-3375;System.out.println("应纳个人所得税税额为:" s);} else if (t<=80000){ s=0.35*t-6375;System.out.println("应纳个人所得税税额为:" s);} else if (t<=100000){ s=0.4*t-10375;System.out.println("应纳个人所得税税额为:" s);} else{ s=0.45*t-15375;System.out.println("应纳个人所得税税额为:" s);} }}结果截图:实验2.3基本题1)程序如下:import java.io.*;public class Sanjiao{public static void main(String[] args){int n=0;try{BufferedReader in = new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入一个整数:");String r = in.readLine();n = Integer.parseInt(r);}catch(Exception E){}System.out.print("相应三角形如下:");for(int i=0;i<=n;i ){for(int j=0;j<i;j ){System.out.print("#");}System.out.println();}}}结果截图:2)程序如下:public class sum {public static void main(String[] args) {float sum = 0F;for(int i = 1; i <=100; i ){if(i % 2 == 0){sum -= (float)1 / i;}else{sum = (float)1 / i;}}System.out.println("1-1/2 1/3-1/4 1/5-1/6 ...-1/100 = " sum); }}结果截图:3)程序如下:public class chengfa{public static void main(String args[]){int sum;for(int i=1;i<10;i ){for(int j=1;j<10;j ){sum=i*j;System.out.printf(i "*" j "=" sum " " " ");}System.out.println();}}}结果截图:4)程序如下:public class Fib{public static void main(String[] args){int c;int a=1;int x=1;int b=1;System.out.print(a " " b);while (x<=20){c=a b;System.out.print(" " c);a=b;b=c;x =1;}}}结果截图:5)程序如下:import ng.*;import java.io.*;public class Sin{public static void main(String args[]){InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(isr);String s = "";double d = -10;System.out.println("请输入一个90度以内的角:");try{s = br.readLine();d = Double.valueOf(s);}catch (Exception e) {}System.out.println("该角度对应的正弦值为:");double di = Math.toRadians(d);double dou = Math.sin(di);double d2 = (double)(Math.round(dou*1000))/1000;System.out.println(d2);}}结果截图:提高题1)程序如下:import java.util.Random;import java.util.Scanner;public class GuessNum {public static final int EQUALS=0;public static final int GREATER_THAN=1;public static final int LITTLE_THAN=2;int count=0;private int generateNum(){Random random = new Random();return 10 random.nextInt(90);}private int getTotal(){return 110-(count 1)*10;}public int compare(int guess, int random){if(guess==random){System.out.println("恭喜你,你猜对了");System.out.println("你猜对了. 你的得分是:" getTotal());return EQUALS;}else if(guess<random){count ;System.out.println("你已经猜了" count "次了,你的数小了");return LITTLE_THAN;}else{count ;System.out.println("你已经猜了" count "次了,你的数大了");return GREATER_THAN;}}public static void main(String[] args){GuessNum gn = new GuessNum();Scanner scan = new Scanner(System.in);int num = gn.generateNum();int guess;do{System.out.println("请输入一个10到99之间的数字");guess = scan.nextInt();}while(pare(guess, num)!=GuessNum.EQUALS);}}结果截图:2)程序如下:import java.util.*;public class count{public static void main(String[] args){int count = 0;List<Integer> list = new ArrayList<Integer>();int i = 1;while(i <= 100){int temp = 0;for(int j = 1; j <= i; j ){if(i %j == 0){ temp ;}}if(count < temp){list.clear();list.add(new Integer(i));count = temp;}else if(count== temp){list.add(new Integer(i));}i ;}for(int value: list){System.out.println("除数最多的数是: " value ", 除数个数为:" count);} }}结果截图:3)程序如下:import java.io.*;import java.util.*;public class huochai{public static void main(String args[]){System.out.print("请按enter键开始游戏");byte[] buf2=new byte[20];String strTemp3=" ";try{ System.in.read(buf2); }catch(IOException e){}strTemp3=new String(buf2);int a=(strTemp3.trim().compareTo("y"));int b=(strTemp3.trim().compareTo("Y"));int amount=0;amount=(int)(Math.random()*31 20);if(a==0||b==0)System.out.print("火柴数" amount);System.out.println();System.out.print("谁先拿1--人,2--计算机(1或2)?");byte[] whoplay=new byte[20];String strTemp2=" ";try{System.in.read(whoplay);}catch(IOException e) {}strTemp2=new String(whoplay);int c=(strTemp2.trim().compareTo("1"));int d=(strTemp2.trim().compareTo("2"));int remain=amount;while(remain>=0){if(c==0){System.out.print("人拿火柴");double x=0;BufferedReader br=new BufferedReader(new InputStreamReader(System.in));try{String s= br.readLine();x=Double.parseDouble(s);}catch(IOException e) { }if(x>=1&&x<=3){remain-=(int)x;System.out.println("剩余火柴数:" remain);if(remain==0){ System.out.print("人赢!!");break; }if(remain<=3&&remain>0){System.out.print("计算机拿" remain);System.out.println("计算机赢!!");break;}}else{ System.out.println("最多只能拿三根!");continue;}System.out.print("计算机拿");int y=0;y=(int)(Math.random()*3 1);System.out.println("" y);remain-=y;System.out.println("剩余火柴数:" remain);if(remain==0){ System.out.print("人赢!!");break; }}if(d==0){System.out.print("计算机拿");int y=0;y=(int)(Math.random()*3 1);remain-=y;System.out.println("" y);System.out.println("剩余火柴数:" remain);if(remain==0){ System.out.print("计算机赢!!");break;}/* while(remain>=0){ System.out.print("人拿火柴");double x=0;BufferedReader br=new BufferedReader(new InputStreamReader(System.in));try{String s= br.readLine();x=Double.parseDouble(s);}catch(IOException e) { }if(x>=1&&x<=3){ remain-=(int)x;System.out.println("剩余火柴数:" remain);if(remain==0){ System.out.print("人赢!!");break; }if(remain<=3&&remain>0){System.out.print("计算机拿" remain);System.out.println();System.out.println("计算机赢!!");break;}}else{ System.out.println("最多只能拿三根!");continue;}System.out.print("计算机拿");y=(int)(Math.random()*3 1);System.out.println("" y);remain-=y;System.out.println("剩余火柴数:" remain);if(remain==0){ System.out.println("人赢!!");break;}}}break;*/c=0; d=1;}}}结果截图:4)程序如下:public class zhencha {public static void main(String[] args) {String[] persons = { "A", "B", "C", "D", "E", "F" };for (int i = 0; i <= 63; i ) {int t = i;int num[] = new int[6];int j = 5;for (; j >= 0; j--) {// 换成二进制数,保存在一个6个元素的一维数组中if (t / 2 > 0) {num[j] = t % 2;t = t / 2;} else {num[j] = t;break;}// num[0]--num[5]代表A--F// 代表AB至少有一个人作案if (num[0] num[1] >= 1) {// AEF 至少2个人作案if (num[0] num[4] num[5] >= 2) {// AD 不是同案犯。

相关文档
最新文档