活动专属流程

148 阅读3分钟

一、流程规范

本文档严禁外传,按照操作流程视频完整操作

  1. 点击专属链接进行注册报名:专属渠道链接
  1. 完善个人学校,专业信息,报名成功
  1. 选择测试题进行测试,机试实战难度较大,机试体验难度较小
  1. 选择题目,点击进入考试
  1. 鼠标放置右侧黑色背景代码区,全选(Ctrl+A)删除后,复制粘贴参考代码,进行保存并运行
  1. 通过后进行下一题,全部通过后,提交试卷即可
  1. 记录华为云ID

二、示例:Java机试体验 华为云HCSD秋招特训营_开发者-华为云

1. 截取一个字符串的前3位(点击右上方复制,粘贴到答题区)

【习题描述】

用户录入一个字符串,通过substring方法,截取字符串前3位,然后打印输出。

import java.util.Scanner;
/*
录入一个字符串,通过方法substring截取前3位后输出。
如:输入123456 输出:123
 */
class Example7_75 {

        public static void main(String[] args) {

                Scanner input = new Scanner(System.in);
                System.out.println("输入1个字符串:");
                String o1 = input.next();
                if (o1.length() >= 3) {
                        
                        //TODO:通过String对象的substring获取前3位字符串
            String o2 = o1.substring(0,3);

                        System.out.print(o2);
                } else {
                        System.out.print("字符串长度小于3");
                }
        }
}

2. 格式化数字(点击右上方复制,粘贴到答题区)

【习题描述】

用户输入一个整数,编写程序按千分组(带正号)格式化该整数并打印输出;输入一个小数,格式化为整数7位,小数3位,然后打印输出格式化后的内容。

import java.util.Scanner;
public class Example8_19 {
    public static void main(String args[]){
        int n= 12356789;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入整数:");
            /*
            TODO:将输入的整数赋值给变量n
        使用format("%,+d",n)按千分组格式化n,然后将结果输出
        打印语句提示:
        System.out.println("整数"+n+"按千分组(带正号):");
        System.out.println( 格式化后的内容 );
            */
        n = scanner.nextInt();
        String n1 =  String.format("%, d",n);
        System.out.println("整数"+n+"按千分组(带正号):");
        System.out.println( n1 );
            double number = 98765.6789;
        System.out.println("请输入小数:");
        number = scanner.nextDouble();
        n1 = String.format("%011.3f",number);
        System.out.println(number+"格式化为整数7位,小数3位:" );
        System.out.println( n1 );
        /*
        TODO:将输入小数格式化整数7位,小数3位。提示:format("%011.3f",number)
        然后将结果输出,提示:System.out.println(number+"格式化为整数7位,小数3位:");
                            System.out.println( 格式化后的内容 );
            */
    }
}

3. 录入链表长度,再录入链表的元素,使链表打印输出(点击右上方复制,粘贴到答题区)

【习题描述】

用户输入链表长度和链表元素,构建循环链表,并打印输出链表,完成从头部打印输出到尾部。

如:输入 4,1,2,3,4

输出:[4,3,2,1]

import java.util.Scanner;


public class Example22_125 {
        public static ListLinkedNode<Integer> head = new ListLinkedNode();

        public static void main(String[] args) {
                System.out.println("请输入链表长度:");
                Scanner scanner = new Scanner(System.in);
                int n = scanner.nextInt();
                System.out.println("请输入值:");
                for (int i = 0; i < n; i++) {
                        int value = scanner.nextInt();
                        if (i == 0) {
                                ListLinkedNode<Integer> p = new ListLinkedNode<Integer>();
                                p.setData(value);
                                p.setNext(head);
                                head.setNext(p);
                        } else {
                                addFromHead(value);
                        }
                }
                print();
        }

/*
TODO:补全打印链表数据的缺失while循环条件步骤
功能描述:输出链表,完成从头部打印输出到尾部
参数说明:
        head: 待输出的链表的表头(未列在参数中, 但可直接使用)
返回值说明:无
举例说明:
        输入3
        1
        2
        3,
    输出[3,2,1]
*/
        public static void print() {
                /*
                TODO:
                输出格式: 先输出‘[’, 然后依次输出链表元素,用‘,’隔开,最后输出‘]’
                链表的修改与访问方法已实现。初始化、或取元素,修改下一元素、或取下一元素的方法使用如下:
                        p.setData(a);
                        p.setNext(a);
                        p.getNext(a);
                        p.getData(a);
                结点分配语句如下(已实现,可直接使用)
                ListLinkedNode<Integer> p = new ListLinkedNode<Integer>();
                */
         System.out.print("[");
        ListLinkedNode<Integer> p = new ListLinkedNode<Integer>();
        p = head.getNext();
        while(p.getNext() != head){
            System.out.print(p.getData());
            System.out.print(",");
            p = p.getNext();
        }
        System.out.print(p.getData());
        System.out.print("]");
      

        }
        
        public static void addFromHead(Integer e) {
                ListLinkedNode<Integer> p = new ListLinkedNode<Integer>();
                p.setData(e);
                p.setNext(head.getNext());
                head.setNext(p);
        }
}

class ListLinkedNode<T> {
        private T data;
        private ListLinkedNode<T> next;

        public ListLinkedNode() {

        }

        public ListLinkedNode(T data, ListLinkedNode<T> next) {
                this.setData(data);
                this.setNext(next);
        }

        public T getData() {
                return data;
        }

        public void setData(T data) {
                this.data = data;
        }

        public ListLinkedNode<T> getNext() {
                return next;
        }

        public void setNext(ListLinkedNode<T> next) {
                this.next = next;
        }
}