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));
}
}
}
}