练习(十一)

1、 下面哪个标识符是合法的("Hello$World”

java的标识符由数字,字母,下划线,美元符组成,数字不可以作为开头,少用美元符

2、 以下描述正确的是(B PreparedStatement是CallableStatement的父接口

A CallableStatement是PreparedStatement的父接口
B PreparedStatement是CallableStatement的父接口
C CallableStatement是Statement的父接口
D PreparedStatement是Statement的父接口

3、 下列关于容器集合类的说法正确的是(C HashSet继承自AbstractSet

A LinkedList继承自List
B AbstractSet继承自Set
C HashSet继承自AbstractSet
D WeakMap继承自HashMap

4、下列关于Java并发的说法中正确的是(B ReadWriteLock适用于读多写少的并发场景

A CopyOnWriteArrayList适用于写多读少的并发场景
B ReadWriteLock适用于读多写少的并发场景
C ConcurrentHashMap的写操作不需要加锁,读操作需要加锁
D 只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了

5、标题:个位数统计 (15) | 时间限制:1秒 | 内存限制:32768K

【题目描述】

给定一个k位整数N = dk-110k-1 + … + d1101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。

【输入描述】

每个输入包含1个测试用例,即一个不超过1000位的正整数N。

【输出描述】

对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。

【思路】

(1)将K位整数以字符串形式输入,再转化为字符数组;

(2)建立一个ArrayList用于存放可能出现的0到9的数字的个数;

(3)统计0到9这几个数字的出现次数,分别将放到相应的位置上,最后按格式输出

【代码】

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String num = sc.next();
        char[] c = num.toCharArray();
        List<Integer> list = new ArrayList<>();
        for(int i = 0;i<10;i++){
            list.add(0);
        }
        for(int i = 0;i<c.length;i++){
            list.set(c[i]-'0',list.get(c[i]-'0')+1);
        }
        for(int i = 0;i<list.size();i++){
            if(list.get(i)>0){
                System.out.println(i+":"+list.get(i));
            }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值