答题与解题(2)

答题与解题

JAVA 十道题

1、在java中一个类可同时定义许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同。这种面向对象程序的特性称为:重载

解题:类能重载方法,必须方法名相同,参数的个数,类型或者顺序可以不同,这就是重载的概念

2、在基本java类型中,如果不明确指定路径,整数型的默认是:int 类型,带小数的默认是: double 类型

解题:在Java中,明确规定当整数类型是没有定义类型则默认为int整形,同样带小数的没有明确定义类型的默认是double类型

3、在mian()方法中给出的整型数组,如果将其写到一个文件中,需要:建立数据字节输出流

解题:java中的io都是以程序为参照物,写入文件相比程序是向外写,程序是主动方,即从程序向文件输出,且传输字符数组,故选择建立数据字节输出流,输入是读取文件,输出是写入文件。

4、假设有以下代码:
String s = “hello”
String t = “hello”
char c[] = {‘h’,‘e’,‘l’,‘l’,‘o’}
下列选项中返回false的语句是:t.equals©

解题:s.equals(t) s和t指向内存常量区的同一个字符串
s.equals© 一个返回字符串,一个返回对象
s == t s和t指向内存常量区的同一个字符串
t.equals(new String (“hello”)) equal用于比较两个对象的值是否相同,和内存地址无关

5、抽象类和接口的区别,以下说法错误的是:(D)
A、接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的
B、abstract calss 在java语言中表示的是一种继承关机,一个类只能使用一次继承关机。但是,一个类却可以实现多个接口,实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用
C、在abstract class中可以有自己的数据成员,也可以有非abstract的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法默认是public abstract类型的
D、abstract class和interfac所反映出的设计理念不同,其实abstract class标识的是"has-a"关系,intterface表示的是&quot,is-a&quot关系

解题:解释以下错误的,抽象类表示的是is-a关系,强调的是从属关系;
接口表示的是like-a关系,强调的是功能。

6、关于匿名内部类叙述正确的是:匿名内部类不可以定义构造器

解题:在使用匿名内部类的过程中,我们需要注意以下几点:
1、使用匿名内部类时,我们必须时继承一个类或者实现一个接口,但是两者不可兼得,同时也只能继承一个类或者实现一个接口
2、匿名内部类中是不能定义构造函数的
3、匿名内部类中不能存在任何的静态成员变量和静态方法
4、匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类有效
5、匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法

7、下面不是面向对象的基本原则的是:抽象类原则

解题:面向对象的五大基本原则:
1、单一职责原则
2、开放封闭原则
3、里氏替换原则
4、依赖倒置原则
5、接口隔离原则

8、下面哪些类实现或继承了Collection接口:Arraylist、Vector

解题:在这里插入图片描述

9、Which statement declares a variable a which is suitable for referring to an array of 50 string object?(java):
String a[]、String[] a、Object a[];

解题:在java中,声明一个数组时,不能直接限定数组长度,只有在创建实例化对象时,才能对给定数组长度

10、下列说法正确的是:(EG)
A、函数fscanf不能从标准输入流读取数据
B、程序员必须明确地用函数fopen打开标准输入流、标准输出流和标准错误流
C、程序必须明确地调用函数fclose关闭文件
D、如果文件位置指针没有指向顺序存取文件的起始位置,要从文件起始位置读取数据必须关闭文件然后再打开它
E、函数fprint能够把数据写入标准输入流
F、函数fseek只能定位相对于文件起始点的位置
G、查找随机存取文件中的指定记录不必从头逐条查找

解题:在这里插入图片描述

数组题

1、假定一个二维数组的定义语句为int a[3][4]={{3,4},{2,8,6}},则元素a[1][2]的值为:6

解题:二位数组的观察规律
1、数组定义的是3行,4列
2、每个{}表示的是一行数据,没有数据的位置补0
3、[]标号是从0开始数的,而不是从1开始的,所以a[1][2]值得是第二行第三列位置上的元素

2、以下数组定义中错误的是:(B)
A、int x[][3] = {0};
B、int x[2][3] = {{1,2},{3,4},{5,6}}
C、int x[][3] ={{1,2,3},{4,5,6}}
D、int x[2][3] = {1,2,3,4,5,6}

解题:B选项等号右边表示的内容是三行两列,与定义的两行三列矛盾

3、下列叙述正确的是:(B)
A、有一个以上根节点的数据结构不一定是非线性结构
B、只有一个根节点的数据结构不一定是线性结构
C、循环链表是非线性结构
D、双线链表是非线性结构

解题:
线性结构应满足:有且只有一个根节点与每个节点最多有一个前驱,也最多有一个后继,线性结构的代表有线性表,栈,队列,双队列,数组,串,链表

4、设循环队列中数组的下标范围是1~n,其头尾指针分别是f和r,则其元素个数为:(r-f+n) mod n

解题:注意本题的索引下标是从1开始的,所以队列中最多有n个元素,假设队尾指针是rear,队头是front,data.length为循环队列的最大长度
入队时队尾指针前进1:(rear + 1) % data.length
出队时头指针前进1:(front + 1) % data.length
队列长度:(rear - front + data.length) % data.length
所以答案显然易见

5、下面数据结构能够支持随机的插入和删除操作、并具有较好的性能的是:(B)
A、数组和链表
B、链表和哈希表
C、哈希表和队列
D、队列和堆栈
E、堆栈和双向队列
F、双向队列和数组

解题:1、数组是在定义的时候申请一块连续的内存空间,访问某个元素只需要通过下标就可以,但是随机插入和删除都要移动后面的所有元素
2、链表是非连续的空间,通过指针访问,所以随机插入和删除通过指针之间的操作很方便,但是要查询一个数的时候还是要依次遍历,但是题目问的是随机插入和删除
3、栈所有的操作都是在栈顶,如果要随机插入和删除某个数也必须依次对其他数进行操作
4、队列通过队头和队尾指针进行读入数据和删除数据,如果直接在队尾添加数据很方便,但是题目是随机的
5、哈希表通过键值对操作,只要知道相关的key很容易就进行读取和删除,插入某个元素也通过key很方便

6、下面哪两个数据结构,同时具有较高的查找和删除性能?AVL树、Hash表

解题:在这里插入图片描述

数组编程题

学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。
请你返回至少有多少个学生没有站在正确位置数量。该人数指的是:能让所有学生以 非递减 高度排列的必要移动人数。
示例
输入:[1,1,4,2,1,3]
输出:3
解释:
高度为 4、3 和最后一个 1 的学生,没有站在正确的位置。
提示
1 <= heights.length <= 100
1 <= heights[i] <= 100

解题:class Solution { public int heightChecker(int[] heights) { int[] arr = new int[101]; for (int height : heights) { arr[height]++; } int count = 0; for (int i = 1, j = 0; i < arr.length; i++) { while (arr[i]-- > 0) { if (heights[j++] != i) count++; } } return count; } }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unity2D 是一款非常流行的游戏引擎,可以用于开发各种类型的游戏,包括答题游戏。许多开发者需要一个答题系统源码来参考和学习,这里就向大家介绍一下 Unity2D 答题系统源码。 Unity2D 答题系统源码主要包括两个部分:界面设计和功能实现。界面设计包括题目展示、选项显示、计时器、得分等,这些都需要通过 Unity2D 引擎实现。功能实现涉及到游戏逻辑、数据管理、UI 交互等方面,需要开发者根据自己的需求进行设计和编写。 在使用 Unity2D 答题系统源码时,需要注意以下几点: 1. 熟悉 Unity2D 引擎,掌握常用的 2D 游戏开发技术。 2. 根据游戏规则和要求进行功能设计和实现,包括题目难度、题型、分数计算等。 3. 使用 C# 编程语言进行代码编写,包括游戏逻辑、UI 交互、数据管理等。 4. 界面设计需要考虑用户体验,如何让用户更方便、更快速地进行答题操作。 5. 确保代码的可扩展性和可维护性,方便后续的修改和维护工作。 总体来说,Unity2D 答题系统源码可以让开发者更快速地实现答题游戏功能,并且可以根据自己的需要进行修改和扩展。但是需要开发者具备一定的编程和设计技能,才能更好地使用 Unity2D 引擎进行游戏开发。 ### 回答2: Unity2D答题系统源码是一个基于Unity2D引擎开发的答题游戏源码。该源码可以帮助初学者了解和掌握Unity2D的开发技巧,同时也可以作为答题游戏的基础代码,方便开发者快速进行二次开发。 该源码包含了题目的制作、难度等级的设置、计分系统、倒计时等核心功能。玩家可以通过点击正确的答案来获得积分,同时还可以利用道具来增加自己的分数和答题时间。 在该源码的开发过程中,我们需要掌握Unity2D引擎的基本知识和编程技巧,比如物体的移动、碰撞检测、动画控制等。同时还需要了解答题游戏的设计原理和玩家习惯,才能开发出适合玩家的游戏。 总之,Unity2D答题系统源码是一个重要的学习资料,它可以帮助我们深入理解Unity2D引擎的开发技巧,同时也可以作为开发答题游戏的基础代码,提高游戏的开发效率和质量。 ### 回答3: Unity2D答题系统源码是一种基于Unity2D游戏引擎的答题系统源代码。它主要提供一组可定制的答题功能,包括题目类型、难度等。这个系统可以用于各种类型的测试,比如知识测试、考试、调查、竞赛等。 这个答题系统源码提供了一个完整的框架,可以方便地修改和扩展。它包含了一个用户管理系统、答题系统和结果分析系统。每个用户可以注册并登录,然后选择他们想参加的测试。用户可以选择一个或多个题目类型和难度,然后开始答题。测试结束后,用户可以看到自己的得分,并可以查看自己的答案和正确答案。管理员可以在后台管理用户和测试,查看测试结果和分析报告。 这个系统的优点是,它构建在Unity2D游戏引擎的基础之上,可扩展性强,可以适应不同的需求。它还具有用户友好的界面,可以吸引用户并提供良好的参与体验。此外,这个系统源码是免费提供的,任何人都可以使用和修改它,让它更好地满足自己的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值