闲来无事,写一个玩玩。如下:
创新互联主营安远网站建设的网络公司,主营网站建设方案,App定制开发,安远h5微信小程序定制开发搭建,安远网站营销推广欢迎安远等地区企业咨询
package com.test;
public class Str {
public static void main(String[] args) {
String str="sdasdrasdtaadd";
String minChars=""; // 最少出现次数的字符集
int len = 0;
String chars = getChars(str); // 求出字符串所包含的所有字符
for (int i = 0; i chars.length(); i ++){ // 根据字符集求出最少出现次数的字符
String[] temp = str.split(chars.charAt(i)+"");
int tempLen = temp.length;
if (i == 0){
minChars = chars.charAt(i)+"";
}
if (len == tempLen){
minChars += chars.charAt(i);
}else if (len tempLen ){
minChars = chars.charAt(i)+"";
}else{
//result = ""; 什么都不做
}
len = tempLen;
}
for (int j = 0; j minChars.length(); j ++)
str = str.replaceAll(minChars.charAt(j)+"", "");
System.out.println(str);
}
public static String getChars(String str){
String returnChars = "";
while(!str.equals("")){
char temp = str.charAt(0);
returnChars += temp;
str = str.replaceAll(temp+"", "");
}
return returnChars;
}
}
1、新建java类,TestStr,
2、编写java代码,先定义5个java字符串,
String[] s = new String[5];
s[0] = "book";
s[1] = "Biz";
s[2] = "alen";
s[3] = "jack";
s[4] = "blue";
3、编写以字母b开头的表达式,并进行循环匹配打印,
for (int i = 0; i 5; i++) {
if (s[i].startsWith("b")) {
System.out.println(s[i]);
}
}
4、执行java代码,在console窗口观察输出信息,b开头的,会输出book、blue两个字符串,
public static void main(String[] args) {
String str = "abcdekka27qoq";
char[] buf = str.toCharArray();//将str转成字符数组
int[] num = new int[123];//创建int数组,用来存储字符个数
for (int i = 0; i buf.length; i++) {//遍历字符数组中的字符
num[buf[i]]++;//将字符个数加一
}
for (int i = 0; i num.length; i++) {//遍历int数组
if((i=65 i=90) || (i=97 i=122)){//判断是否A-Z或者a-z
if(num[i]0){//判断个数是否大于0
System.out.print((char)i+"("+num[i]+")");//打印字符个数
}
}
}
}
1。用反射获取变量的变量名 具体的你网上搜索一下
2。如果已知条件只是知道那几个字符串变量。而且你不能加代码到他们中间的话。应该是做的不到的。
如果可以加代码到已知条件的中间,那么就能转换成1里的问题