兄弟我帮你写了一个实现这种功能的程序,很简单的,你看看,对你有不有帮助
Sorry,你的那个程序写的我实在看不清。所以帮你写了一个:
import javaxswingJOptionPane;
public class Print {
public static void main(String args[]) {
String s1 = JOptionPaneshowInputDialog(null,
"第1个字符串", "输入2个字符串,判断共同的字符", JOptionPaneQUESTION_MESSAGE);
String s2 = JOptionPaneshowInputDialog(null,
"第2个字符串", "输入2个字符串,判断共同的字符", JOptionPaneQUESTION_MESSAGE);
String all = "";
//把两个字符串中的相同的字符提出来(这里可能有重复的字符)
for (int i = 0; i < s1length(); i++) {
for (int j = 0; j < s2length(); j++) {
if (s1charAt(i) == s2charAt(j))
all += s1charAt(i);
}
}
//因为上面的all中可能有重复的字符,所以下面把它里面重复的字符去除。
//这里用了一个boolean型的数组来标记那些是重复的字符
boolean[] boo = new boolean[alllength()];
for (int i = 0; i < alllength(); i++) {
for (int j = i; j < alllength() - 1; j++) {
if (allcharAt(i) == allcharAt(j + 1))
boo[j] = true;//是重复的字符标记了true
}
}
String result = "";
for (int i = 0; i < alllength(); i++) {
if (!boo[i])//只把重复的字符去除,(一个字符有多个的话,只保留一个)
result += allcharAt(i);
}
JOptionPaneshowMessageDialog(null, result, "输出", JOptionPaneDEFAULT_OPTION);
}
}
$string="90pil8a94riqpaa";
$array1=str_split($string);
$array2=array_count_values($array1);
//用array_map();的回调函数
//还是foreach循环
//只要是元素的值大于1它的键值就是字符串中的重复值
//很简单的多思考吧
public class Test {
public static void main(String[] args) {
//要 *** 作的字符串
String str = "afsldjfladfbfasbfkaj";
//将字符串转换为byte数组
byte[] bytes = strgetBytes();
//外循环,按下标顺序取1个
for(int i = 0;i < byteslength;i++){
//定义一个变量保存这个字符出现的次数
int count = 0;
//内循环,将外循环取出的字符拿来和整个数组比对
for(int j = 0;j < byteslength;j++){
//如果一样
if(bytes[i] == bytes[j]){
//出现次数+1
count++;
}
}
//因为byte类型输出是ASCII码,所以强转为char类型
char c = (char)bytes[i];
//输出
//一定是在内循环结束后输出,这样下次外循环开始以后count就会清零
Systemoutprintln(c + " 有 " + count + " 个 ");
}
}
}
以上就是关于java 2个字符串中找相同字符全部的内容,包括:java 2个字符串中找相同字符、PHP 一个字符串,如何提取其中相同的字符、JAVA程序中如何输出一个字符串中相同字符的个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)