重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 求职面试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

阅读以下说明和Java代码,将应填入____处的语句或语句成分写在答题纸的对应栏内。

【说明】某数据文件students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前30%的学生。【Java代码】

阅读以下说明和Java代码,将应填入____处的语句或语句成分写在答题纸的对应栏内。	【说明】某数据

查看答案
更多“阅读以下说明和Java代码,将应填入____处的语句或语句成分写在答题纸的对应栏内。”相关的问题

第1题

试题六(共15分)

阅读以下说明和 Java 代码,将应填入 (n) 处的语句或语句成分写在答题纸的对

应栏内。

【说明】

某数据文件 students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的

数据全部读入对象数组,按分数从高到低进行排序后选出排名前 30%的学生。

【Java代码】

import java.io.*;

class Student {

private String sNO; //学号

private int Credit; //分数

public int getCredit(){

return Credit;

}

public String toString() {

return "sNO = " + this.sNO + ", Credit = " + this.Credit;

}

Student(String sNO, int Credit){

(1) = sNO;

(2) = Credit;

}

}

public class SortStudent {

void sort(Student[] s) { //Sort the array s[] in decending order of Credit

for (int i = 0; i < s.length-1; i++) {

for (int j = i+1; j < s.length; j++) {

if (s[i]. (3) < s[j]. (4) ) {

Student tmp = s[i];

s[i] = s[j];

s[j] = tmp;

}

}

}

}

public static void main(String argv[]) {

Student[] testStudent = new Student[size];

try {

BufferedReader in = new BufferedReader(new FileReader("students.txt"));

boolean done = false;

int i = 0;

while (!done) {

String s = in.readLine(); //每次读取一个学生的学号和成绩

if (s != null) {

String tmp[] = s.split(",");

testStudent[i++] = (5) (tmp[0], Integer.parseInt(tmp[1]));

} else

done = true;

}

in.close();

(6) = new SortStudent();

ss.sort(testStudent);

System.out.println("top 30%:");

for (int j = 0; j < size * 0.3; j++)

System.out.println(testStudent[j]);

} catch (IOException e) {

System.out.println("io error!");

}catch (NumberFormatException e) {

System.out.println("not a number!");

}

}

(7) int size = 100; //学生总数

}

点击查看答案

第2题

试题七(共 15 分)

阅读以下说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

[说明]

java.util 库中提供了 Vector 模板类,可作为动态数组使用,并可容纳任意数据类型。该类的部分方法说明如下表所示:

[Java 代码]

import (1) ;

public class JavaMain {

static private final int (2) = 6;

public static void main(String[] args){

Vector<Integer> theVector = new Vector< (3) >();

// 初始化 theVector,将 theVector的元素设置为 0 至 5

for (int cEachItem = 0; cEachItem < ARRAY_SIZE; cEachItem++)

theVector.add( (4) );

showVector(theVector); // 依次输出 theVector中的元素

theVector.removeElementAt(3);

showVector(theVector);

}

public static void showVector(Vector<Integer> theVector){

if (theVector.isEmpty()) {

System.out.println("theVector is empty.");

return;

}

for (int loop = 0; loop < theVector.size(); loop++) {

System.out.print(theVector.get(loop));

System.out.print(", ");

}

System.out.println();

}

}

该程序运行后的输出结果为:

0, 1, 2, 3, 4, 5

(5)

点击查看答案

第3题

试题六 (共15 分)

阅读以下说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【 说明 】

现需要统计某企业员工的月平均工资,即该企业本月发给员工的工资总和除以员工人数。 假设企业本月发给员工的工资总和为sumSalary,该企业的员工总数为employeeNumber,

下面的程序代码计算该企业员工本月的平均工资,其中需要处理employNumber为0的情况。

【 Java 代码 】

import java.util.Scanner;

public class JavaMain {

static float average(float x, int y) throws Exception{

if (y ==0 ) throw new Exception( (1) );

return x/y;

}

static void caculate() throws Exception{

float sumSalary;

int employeeNumber;

Scanner sc = new Scanner( (2) );

try{

System.out.println("请输入当月工资总和与员工数:");

sumSalary = sc.nextFloat(); //从标准输入获得工资总和

employeeNumber = sc.nextInt(); //从标准输入获得员工数

float k = average(sumSalary,employeeNumber);

System.out.println("平均工资:" + k);

}

(3) (Exception e){

if(e.getMessage().equalsIgnoreCase("zero")){

System.out.println("请重新输入当月工资总和与员工数:");

sumSalary = sc.nextFloat();

employeeNumber = sc.nextInt();

float k = average(sumSalary,employeeNumber);

System.out.println("平均工资:" + k);

}

}

}

public static void main(String[] args) {

try {

caculate();

}

(4) (Exception e){

if ( e.getMessage().equalsIgnoreCase("zero"))

System.out.println("程序未正确计算平均工资!" );

}

}

}

【问题1】

程序运行时,若输入的员工工资总和为6000,员工数为5,则屏幕输出为:

请输入当月工资总和与员工数:

6000 5

(5)

【问题2】

若程序运行时,第一次输入的员工工资总和为6000,员工数为0,第二次输入

工工资总和为0,员工数为0,则屏幕输出为:

请输入当月工资总和与员工数:

6000 0

(6)

0 0

(7)

点击查看答案

第4题

试题六 (共15 分)

阅读以下说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【 说明 】

现需要统计某企业员工的月平均工资,即该企业本月发给员工的工资总和除以员工人数。 假设企业本月发给员工的工资总和为sumSalary,该企业的员工总数为employeeNumber,

下面的程序代码计算该企业员工本月的平均工资,其中需要处理employNumber为0的情况。

【 Java 代码 】

import java.util.Scanner;

public class JavaMain {

static float average(float x, int y) throws Exception{

if (y ==0 ) throw new Exception( (1) );

return x/y;

}

static void caculate() throws Exception{

float sumSalary;

int employeeNumber;

Scanner sc = new Scanner( (2) );

try{

System.out.println("请输入当月工资总和与员工数:");

sumSalary = sc.nextFloat(); //从标准输入获得工资总和

employeeNumber = sc.nextInt(); //从标准输入获得员工数

float k = average(sumSalary,employeeNumber);

System.out.println("平均工资:" + k);

}

(3) (Exception e){

if(e.getMessage().equalsIgnoreCase("zero")){

System.out.println("请重新输入当月工资总和与员工数:");

sumSalary = sc.nextFloat();

employeeNumber = sc.nextInt();

float k = average(sumSalary,employeeNumber);

System.out.println("平均工资:" + k);

}

}

}

public static void main(String[] args) {

try {

caculate();

}

(4) (Exception e){

if ( e.getMessage().equalsIgnoreCase("zero"))

System.out.println("程序未正确计算平均工资!" );

}

}

}

【问题1】

程序运行时,若输入的员工工资总和为6000,员工数为5,则屏幕输出为:

请输入当月工资总和与员工数:

6000 5

(5)

【问题2】

若程序运行时,第一次输入的员工工资总和为6000,员工数为0,第二次输入

工工资总和为0,员工数为0,则屏幕输出为:

请输入当月工资总和与员工数:

6000 0

(6)

0 0

(7)

点击查看答案

第5题

阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

说明

类Queue表示队列,类中的方法如下表所示。

类Node表示队列中的元素;类EmptyQueueException 给出了队列操作中的异常处理操作。

Java 代码

public class TestMain{ // 主类

public static void main(String args[]) {

Queue q = new Queue();

q.enqueue("first!");

q.enqueue("second!");

q.enqueue("third!");

(1) {

while(true)

System.out.println(q. dequeue());

}

catch((2)) ( }

}

}

public class Queue { // 队列

Node m_FirstNode;

public Queue() { m_FirstNode = null; }

public boolean isEmpty() {

if(m_FirstNode == null) return true;

else return false;

}

public void enqueue(Object newNode) {// 入队操作

Node next = m_FirstNode;

if(next==null) m_FirstNode = new Node(newNode);

else {

while(next.getNext() != null) next = next.getNext();

next.setNext(new Node(newNode));

}

}

public Object dequeue() (3) {// 出队操作

Object node;

if (isEmpty())

(4); // 队列为空,抛出异常

else {

node = m_FirstNode.getObject();

m_FirstNode = m_FirstNode.getNext();

return node;

}

}

}

public class Node { // 队列中的元素

Object m_Data;

Node m_Next;

public Node(Object data) { m_Data = data; m_Next = null; }

public Node(Object data, Node next) { m_Data = data; m_Next = next; }

public void setObject(Object data) { m_Data = data; }

public Object getObject0 { return m_Data; }

public void setNext(Node next) { m_Next = next; }

public Node getNext() { return m_Next; }

}

public class EmptyQueueException extends (5) { // 异常处理类

public EmptyQueueException0 {

System.out.println("队列已空 ! ");

}

}

点击查看答案

第6题

试题六(共 15分)

阅读以下说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、umberOfElement()以及removeLastElement()。四个方法的含义分别为:

void addElement(Object): 在列表尾部添加一个对象;

Object lastElement(): 返回列表尾部对象;

int numberOfElement(): 返回列表中对象个数;

void removeLastElement(): 删除列表尾部的对象。

现需要借助LinkedList来实现一个Stack栈类, Java代码1和Java代码2分别采用继承和组合的方式实现。

【Java代码1】

public class Stack extends LinkedList{

public void push(Object o){ //压栈

addElement(o);

}

public Object peek(){ //获取栈顶元素

return (1) ;

}

public boolean isEmpty(){ //判断栈是否为空

return numberOfElement() == 0;

}

public Object pop(){ //弹栈

Object o = lastElement();

(2) ;

return o;

}

}

【Java代码2】

public class Stack {

private (3) ;

public Stack(){

list = new LinkedList();

}

public void push(Object o){

list.addElement(o);

}

public Object peek(){//获取栈顶元素

return list. (4) ;

}

public boolean isEmpty(){//判断栈是否为空

return list.numberOfElement() == 0;

}

public Object pop(){ //弹栈

Object o = list.lastElement();

list.removeLastElement();

return o;

}

}

【问题】

若类LinkedList新增加了一个公有的方法removeElement(int index),用于删除列表中第index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(int index)? (5) (A. 继承 B. 组合)

点击查看答案

第7题

试题六(共 15分)

阅读以下说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、

numberOfElement()以及removeLastElement()。四个方法的含义分别为:

void addElement(Object): 在列表尾部添加一个对象;

Object lastElement(): 返回列表尾部对象;

int numberOfElement(): 返回列表中对象个数;

void removeLastElement(): 删除列表尾部的对象。

现需要借助LinkedList来实现一个Stack栈类, Java代码1和Java代码2分别采用继承

和组合的方式实现。

【Java代码1】

public class Stack extends LinkedList{

public void push(Object o){ //压栈

addElement(o);

}

public Object peek(){ //获取栈顶元素

return (1) ;

}

public boolean isEmpty(){ //判断栈是否为空

return numberOfElement() == 0;

}

public Object pop(){ //弹栈

Object o = lastElement();

(2) ;

return o;

}

}

【Java代码2】

public class Stack {

private (3) ;

public Stack(){

list = new LinkedList();

}

public void push(Object o){

list.addElement(o);

}

public Object peek(){//获取栈顶元素

return list. (4) ;

}

public boolean isEmpty(){//判断栈是否为空

return list.numberOfElement() == 0;

}

public Object pop(){ //弹栈

Object o = list.lastElement();

list.removeLastElement();

return o;

}

}

【问题】

若类LinkedList新增加了一个公有的方法removeElement(int index),用于删除列表中第index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(int index)? (5) (A. 继承 B. 组合)

点击查看答案

第8题

阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

某绘图系统存在Point、Line、Square三种图元,它们具有Shape接口,图元的类图关系如图6-1所示。现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来,它提供的接口不能被系统直接使用。代码6-1既使用了XCircle又遵循了Shape规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码6-2根据用户指定的参数生成特定的图元实例,并对之进行显示操作。

绘图系统定义的接口与XCircle提供的显示接口及其功能如下表所示:

【代码6-1】

class Circle (1) {

private (2) pxc;

public Circle(){pxc=new (3) ;

}

public void display(){

pxc. (4) ;

}

}

【代码6-2】

public class Factory{

public (5) getShapeInstance(int type){ //生成特定类实例

switch(type){

case 0: return new Point ( );

case 1: return new Rectangle ( ) ;

case 2: return new Line ( ) ;

case 3: return new Circle ( ) ;

default: return null;

}

}

public class App{

public static void main (String argv[] )

if (argv. length != l) {

System. out.println ("error parameters !");

return;

}

inttype= (new Integer (argv[0])) .intValue (

Factory factory = new Factory ( ) ;

Shape s;

s=factory, (6)

if (s==null) {

System.out.println ( "Error get instance !" )

return;

}

s.display () ;

return;

}

}

点击查看答案

第9题

阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

在下面的Java程序代码中,类SalesTicket能够完成打印票据正文的功能,类 HeadDecorator与FootDecorator分别能够完成打印票据的台头和脚注的功能。

已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。

这是票据的台头!

这是票据正文!

-------------------

这是票据的脚注!

这是票据的台头!

这是票据的脚注!

【tava程序代码】

public class SalesTicket {

public void printTicket() {

System. out. println ( "这是票据正文 ! ");

}

}

public class Decorator extends SalesTicket{

SalesTicket ticket;

public Decorator(SalesTicket t) {

ticket = t;

}

public void printTicket(){

if(ticket != null)

ticket.printTicket();

}

public class HeadDecorator extends Decorator{

public HeadDecorator(SalesTicket t) {

(1)

}

public void printTicket() {

System. out.println("这是票据的台头! ");

super.printTicket();

}

}

public class FootDecorator extends Decorator{

public FootDecorator(SalesTicket t) {

(2);

}

public void printTicket() {

super, printTicket ();

System. out.println ("这是票据的脚注!");

}

}

public class Main {

public static void main(String[] args) {

T = new HeadDecorator( (3));

T=(4);

System.out.println("------------------------------------");

T = new FootDecorator((5));

T.printTicket ();

}

}

点击查看答案

第10题

试题八(共15分)

阅读以下说明和Java程序代码,将应填入(n) 处的字句写在答题纸的对应栏内。

[说明]

在下面的 Java 程序代码中,类SalesTicket 能够完成打印票据正文的功能,类HeadDecorator 与FootDecorator 分别完成打印票据的台头和脚注的功能。已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。这是票据的台头!这是票据正文!这是票据的脚注!------------------------这是票据的台头!

这是票据的脚注!

[Java程序代码]

public class SalesTicket {

public void printTicket() {

System.out.println("这是票据正文!");

}

}

public class Decorator extends SalesTicket{

SalesTicket ticket;

}

}

public class FootDecorator extends Decorator{

public FootDecorator(SalesTicket t) {

(2) ;

}

public void printTicket() {

super.printTicket();

System.out.println("这是票据的脚注!");

}

}

public class Main {

public static void main(String[] args) {

T = new HeadDecorator( (3) );

T. (4) ;

System.out.println("------------------------");

T = new FootDecorator( (5) );

T.printTicket();

}

}

public Decorator(SalesTicket t){

ticket = t;

}

public void printTicket(){

if(ticket != null)

ticket.printTicket();

}

}

public class HeadDecorator extends Decorator{

public HeadDecorator(SalesTicket t) {

(1) ;

}

public void printTicket() {

System.out.println("这是票据的台头!");

super.printTicket();

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案