当前位置:   article > 正文

西安交通大学915考研--编程题Java代码踩坑(2016年真题)_考研编程题

考研编程题

西安交通大学915考研–编程题Java代码踩坑(2016年真题)

2016.1–去除字符串中的所有数字

思路:

  1. 将字符串转成字符型数组
  2. 遍历数组,对于每一个不是数字的部分,拼接起来;是数字continue

代码实现:

package com.xjtu;


import java.util.Scanner;

/**
 * @Author: cc雪影
 * @Description: 去除字符串中的数字
 */
public class A2016_01 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.next();
        in.close();
        System.out.println(removeNumber(s));
    }

    public static String removeNumber(String string) {
        /**
         * @description: 将字符串中的数字去除
         * @param string
         * @return: java.lang.String
         */
        char[] arr = string.toCharArray();//字符串转字符数组
        String s = "";
        for (char a : arr) {//遍历数组,筛选不是数字的成分拼接起来
            if (a - '0' >= 0 && a - '9' <= 0) {
                continue;
            } else {
                s = s + a;
            }
        }
        return s;
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

输入输出:

哈哈wi83h,00wr++-
哈哈wih,wr++-
  • 1
  • 2

2016.2–统计整型数字number中数字k的个数

思路1:

  • 将数字转成字符串,字符串转成字符数组方便处理
  • 遍历,统计k的个数

思路2:

  • 对数字取模10,求其个位,判断是不是k
  • 数字除以10,继续1操作,判断十位,依次是百位、千位、更高位
  • 注意循环结束的条件

代码实现:

package com.xjtu;

import java.util.Scanner;

/**
 * @Author: cc雪影
 * @Description: 统计数字 k 在整数number中出现的次数
 */
public class A2016_02 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int number = in.nextInt();
        System.out.println(getCount_1(number, 6));
        System.out.println(getCount_2(number, 6));
    }

    public static int getCount_1(int number, int k) {
        int count = 0;
        if (k < 0 || k > 9) {//k 值合法性判断
            return -1;
        } else {
            String string = Integer.toString(number);//数组转字符串
            char[] arr = string.toCharArray();//字符串转字符数组
            for (char a : arr) {
                if (a - '0' == k) {//遍历找到 k,count 值加一
                    count++;
                }
            }
        }
        return count;
    }

    public static int getCount_2(int number, int k) {
        int count = 0, temp;
        if (k < 0 || k > 9) {//k 值合法性判断
            return -1;
        } else {
            while (number != 0) {
                temp = number % 10;
                if (temp == k) {
                    count++;
                }
                number = number / 10;
            }
        }
        return count;
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

输入输出:

1864176
2
2
  • 1
  • 2
  • 3

2016年题目结束,这里是传送门:
西安交通大学915考研–编程题Java代码踩坑(2015年真题)
西安交通大学915考研–编程题Java代码踩坑(2017年真题)
西安交通大学915考研–编程题Java代码踩坑(2018年真题)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/867283
推荐阅读
相关标签
  

闽ICP备14008679号