一、字符串压缩
package 字符串压缩; import java.util.Scanner; /** * @author T470s * * 输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。 例如: aac 压缩为 1ac xxxxyyyyyyzbbb 压缩为 3x5yz2b * */ public class MainTest { public static void main(String[] args) { String[] ss = new Scanner(System.in).nextLine().split(""); int length = ss.length; String s = ss[0];//存储不同的字符 int count = 0;//存储个数 StringBuilder sb = new StringBuilder();//目标存储字符串 for(int i=1;i<length;i++){ if(s.equals(ss[i])){ count ++; }else { if(count!=0){ sb.append(count); } sb.append(ss[i-1]); s = ss[i]; count = 0; } } sb.append(count);//把做最后一次添加到sb中 sb.append(ss[length-1]); System.out.println(sb.toString()); } }
二、计算任意整数包含一的个数
package 计算任意整数包含一的个数;
import java.util.Scanner;
/**
* 计算任意一个正整数n(0<n<=2147483647),从1到n(包括n)的所有整数数字里含有多少个1
*/
public class MainTest {
public static void main(String[] args) {
int a = new Scanner(System.in).nextInt();
String s = String.valueOf(a);//int转String
int count = 0;
for(int i=0;i<s.length();i++){
//先获取String中第i位的字符,转成字符串,转成int,再判断是否为1
if(1==Integer.parseInt(String.valueOf(s.charAt(i)))){
count++;
}
}
System.out.println(count);
}
}