0
点赞
收藏
分享

微信扫一扫

2022-4-16测试试题

年迈的代码机器 2022-04-16 阅读 61
webjava

一 选择题 (每题1分,共45分)

二 程序题(共55分)

1 小球走过路程计算(10分)

 描述
    一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?
输入描述:
    输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)
输出描述:
    输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)
示例1
    输入:
        100 3
    输出:
        12.5 250.0(应该是275.0)

答:

public class zy01 {
    public static void main(String[] args) {
        System.out.println("请输入初始高度:  ");
        Scanner sc= new Scanner(System.in);
        double h = sc.nextDouble();
        System.out.println("请输入小球弹几次:  ");
        int n = sc.nextInt();
        double sum = 0 ;
        double temp = 0 ;
//        每次落地后反弹回原高度的一半再落下
        for (int i = 0; i <= n; i++) {

            if (i == 0){
                sum = h;
            }else {
                //因为弹上去还要落下就等于一个h
                sum += h  ;
                temp = h / 2.0 ;
                h = h / 2.0 ;

            }

        }
        System.out.println("总路程:" + sum);
        System.out.println("第" +n +"次"+ temp);

    }
}

2 动态字符串(15分)

描述
    将一个由英文字母组成的字符串转换成从末尾开始每三个字母用逗号分隔的形式。
输入描述:
    一个字符串
输出描述:
    修改后的字符串
示例1
    输入:
        hellonowcoder
    输出:
        h,ell,ono,wco,der
 

public class zy02 {
    public static void main(String[] args) {
        System.out.println("请输入一个字符串");
        Scanner sc = new Scanner(System.in);
        //根据题意就是要每隔三个字符就插入一个 ,
        StringBuffer str = new StringBuffer();
        //把要实现的字符串加进去
        str = str.append(sc.next());
        System.out.println(str.length());
//        从最后开始
        for (int i = str.length() - 1; i >= 0 ; i--) {
//            每隔三个字符插入一个 , 这样就等于是四个为一组,第四个位置是 ,
//            h e l l o n o w c o d  e  r  13
//            0 1 2 3 4 5 6 7 8 9 10 11 12
//            h , e l l , o n o ,  w  c  o ,  d  e  r
            if (((str.length() - i - 3 ) % 4) == 0 ){
                str.insert( i , ",");
            }
        }
        System.out.println(str.toString());

    }
}

 3 记录点赞用户(15分)描述
    为了实现社区点赞功能,要求设计一个点赞记录器,该工具包含如下两个方法:
    1. like方法:该方法需要传入用户名作为参数,如果用户没点赞过,则记录本次点赞行为,若用户已经点赞过,则删除他的点赞行为。
    2. getLikeUsers方法:该方法需要返回所有点赞用户的名字,不要求顺序。
    (为保证答案正确,请使用HashSet完成本题)
输入描述:
    用户名
输出描述:
    所有点赞且未取消点赞的用户名,不要求顺序。(输出为Arrays.toString形式)
示例1
    输入:
        Tom Jim Lucy Lily Tom Lucy Tom
    输出:
        [Tom, Lily, Jim]

没写出来,等我再看看

4 JS动态创建节点(15分)

描述
    请补全JavaScript函数,根据参数数组创建li元素。
要求:
    1. li元素的个数和数组的长度一样
    2. li元素的内容是数组中的每个元素
    3. 将创建的所有li元素插入到ul中

<html>
    <head>
        <meta charset=utf-8>
    </head>
    <body>
        <ul></ul>
    </body>
    <script type="text/javascript">
        function createLi(array){
            // 补全代码
            
        }
    </script>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>zy</title>
</head>
<body>
    <ul></ul>
    <script  type="text/javascript">
        function createLi(array){
            for (let i = 0; i < array.length; i++) {
                var li = document.createElement('li');
                var ul = document.querySelector('ul');
                li.innerHTML = array[i];
                ul.appendChild(li);
                
            }
        }
    </script>
</body>
</html>
举报

相关推荐

0 条评论