数据库高级 VII
1. 写一段小程序统计字符串中的连续字母的个数,使“AAAAAABBBCCCCCDDDBDDDD”变为“A6B3C5D3B1D4”
public static void main(String[] args) {
String str = "AAAAAABBBCCCCCDDDBDDDD";
//1. 字符串转换为字符数组
char[] chs = str.toCharArray();
//2. 定义变量count作为计数器,定义StringBuilder用于保存字符与字符出现的次数
int count=1;
StringBuilder builder = new StringBuilder();
/*
3. 对字符数组进行遍历,判断遍历到的字符与后一位字符是否相等,若相等,
则让计数器+1;若不相等,连续出现中断,将字符与次数记录到builder中,且让计数器重置
*/
for (int i=0;i<chs.length-1;i++){
if (chs[i]==chs[i+1])
count++;
else {
builder.append(chs[i]).append(count);
count=1;
}
}
//手动将最后一次出现的字符计入builder中
String result = builder.append(chs[chs.length-1]).append(count).toString();
System.out.println(result);
}
2. 有4,2,0,6四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?并把他们都输出.
让4个数字先随机组合,对产生的数字进行判断,若满足
1. 百位不为0 2.百位!=十位 3. 十位!=个位 4. 百位!=个位
public static void main(String[] args) {
int count = 0;
int[] ary = {
4,2,0,6};
for (int i:ary){
for (int j:ary){
for (int k:ary){
if (i!=0 && i!=j && j!=k && i!=k){
count++;
System.out.print(i*100+j*10+k+" ");
}
}
}
}
System.out.println("三位数共有:"+count+"个");
}
我是将军;我一直都在,。!