21xrx.com
2024-12-22 18:41:40 Sunday
登录
文章检索 我的文章 写文章
Java程序设计期末考试编程题解析与答案分享
2023-06-15 16:33:10 深夜i     --     --
数组排序 Arrays类 sort方法

1. 题目分析

在Java程序设计的期末考试中,编程题是很重要的一部分。考生需要在限制时间内完成题目,考官会根据答案的正确性、代码的质量等多个因素进行评分。因此,通常在考前需要对题目进行认真分析,明确思路,熟悉所使用的开发工具和语言等。以下是一些常见的Java程序设计期末考试编程题:

2. 编程题解析

(1)数组排序

要求:将一个整型数组中的元素按升序排序

解析:使用Java中自带的Arrays类的sort方法即可完成数组排序功能。Arrays.sort(array)

(2)字符串匹配

要求:给定一个字符串s和一个子串p,找出s中所有p的出现位置(不重叠)

解析:使用Java中的字符串方法indexOf,配合循环和判断条件,遍历s中所有可能子串是否匹配p,若匹配把匹配到的位置记录下来即可

关键词:字符串匹配、indexOf方法、循环、判断条件

(3)链表操作

要求:设计链表的插入、删除和查找操作

解析:在Java中,可以使用Node类来表示链表中的每一个节点。插入操作需要考虑头插入和尾插入;删除操作需要考虑节点不存在、删除头节点和删除尾节点等情形;查找操作需要循环遍历链表直到找到目标节点或结束循环。

关键词:链表操作、Node类、插入操作、删除操作、查找操作

3. 编程题答案分享

【答案1】数组排序


import java.util.Arrays;

public class ArraySort {

  public static void main(String[] args) {

    int[] array = 1;

    Arrays.sort(array);

    for (int i = 0; i < array.length; i++) {

      System.out.print(array[i] + " ");

    }

  }

}

【答案2】字符串匹配


public class StringMatch {

  public static void main(String[] args) {

    String s = "hello world hello java";

    String p = "hello";

    int index = -1;

    while ((index = s.indexOf(p, index + 1)) != -1) {

      System.out.println(index);

    }

  }

}

【答案3】链表操作


public class Node {

  int val;

  Node next;

  public Node(int val)

    this.val = val;

    this.next = null;

  

}

public class LinkedList {

  Node head;

  

  public LinkedList()

    head = null;

  

  // 头插入操作

  public void insertFirst(int val) {

    Node node = new Node(val);

    node.next = head;

    head = node;

  }

  // 尾插入操作

  public void insertLast(int val) {

    Node node = new Node(val);

    if (head == null)

      head = node;

      return;

    

    Node temp = head;

    while (temp.next != null)

      temp = temp.next;

    

    temp.next = node;

  }

  // 删除操作

  public boolean delete(int val) {

    if (head == null)

      return false;

    

    if (head.val == val)

      head = head.next;

      return true;

    

    Node temp = head;

    while (temp.next != null && temp.next.val != val)

      temp = temp.next;

    

    if (temp.next == null)

      return false;

    

    temp.next = temp.next.next;

    return true;

  }

  // 查找操作

  public boolean search(int val) {

    Node temp = head;

    while (temp != null) {

      if (temp.val == val)

        return true;

      

      temp = temp.next;

    }

    return false;

  }

}

关键词:答案分享、数组排序、字符串匹配、链表操作

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复