C#中怎么判断2个字符串有多少个字符是相同的
4个回答
展开全部
public int Compare(string s1,string s2)
{
int count=0;/*相同字符个数*/
int n = s1.Length > s2.Length ? s2.Length : s1.Length;/*获得较短的字符串的长度*/
for (int i = 0; i < n; i++)
{
if (s1.Substring(i, 1) == s2.Substring(i, 1))/*同位置字符是否相同*/
{
count++;
}
}
return count;
}
{
int count=0;/*相同字符个数*/
int n = s1.Length > s2.Length ? s2.Length : s1.Length;/*获得较短的字符串的长度*/
for (int i = 0; i < n; i++)
{
if (s1.Substring(i, 1) == s2.Substring(i, 1))/*同位置字符是否相同*/
{
count++;
}
}
return count;
}
展开全部
可以声明两个个为char 的数组,然后将字符串分离,这样你就获得了字符串里面的字符了,
然后用两个嵌套的for循环,判断有哪些字符时相同的,然后再判断有几个就OKl乐
然后用两个嵌套的for循环,判断有哪些字符时相同的,然后再判断有几个就OKl乐
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string ss = "asdfasdfas";
string bb = "234dfadf";
///先去除ss中的重复字符
StringBuilder sb = new StringBuilder();
foreach (char c in ss)
{
bool b = false;
for (int i = 0; i < sb.Length; i++)
{
if (c == sb[i])
{
b = true;
}
}
if (!b)
{
sb.Append(c);
}
}
Console.WriteLine(sb.ToString() );
//清楚bb中的重复项 可以把上述两部分代码写到一个函数里执行
StringBuilder sb2 = new StringBuilder();
foreach (char c in bb )
{
bool b = false;
for (int i = 0; i < sb2.Length; i++)
{
if (c == sb2[i])
{
b = true;
}
}
if (!b)
{
sb2.Append(c);
}
}
Console.WriteLine(sb2.ToString());
//遍历集合 计算相同字符数
int sum=0;
for (int j = 0; j < sb2.Length; j++)
{
bool b = false;
for (int i=0;i<sb.Length;i++)
{
if (sb[i] == sb2[j])
{
sum = sum + 1;
}
}
}
Console.WriteLine(sum );
string bb = "234dfadf";
///先去除ss中的重复字符
StringBuilder sb = new StringBuilder();
foreach (char c in ss)
{
bool b = false;
for (int i = 0; i < sb.Length; i++)
{
if (c == sb[i])
{
b = true;
}
}
if (!b)
{
sb.Append(c);
}
}
Console.WriteLine(sb.ToString() );
//清楚bb中的重复项 可以把上述两部分代码写到一个函数里执行
StringBuilder sb2 = new StringBuilder();
foreach (char c in bb )
{
bool b = false;
for (int i = 0; i < sb2.Length; i++)
{
if (c == sb2[i])
{
b = true;
}
}
if (!b)
{
sb2.Append(c);
}
}
Console.WriteLine(sb2.ToString());
//遍历集合 计算相同字符数
int sum=0;
for (int j = 0; j < sb2.Length; j++)
{
bool b = false;
for (int i=0;i<sb.Length;i++)
{
if (sb[i] == sb2[j])
{
sum = sum + 1;
}
}
}
Console.WriteLine(sum );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private void button1_Click(object sender, EventArgs e)
{
string str1 = textBox1.Text.ToString();
string str2 = textBox2.Text.ToString();
int count_a=str1.Length;
int count_b=str2.Length ;
char[] a = str1.ToCharArray();
char[] b = str2.ToCharArray();
int s = 0;
for (int i = 0; i < count_a; i++)
{
for (int j = 0; j < count_b; j++)
{
if (a[i] == b[j])
{
s++;
continue;
}
}
}
if (s == 0)
{
MessageBox.Show("没有相同的字符");
}
else
{
MessageBox.Show("相同的字符个数是" + s);
}
}
}
{
string str1 = textBox1.Text.ToString();
string str2 = textBox2.Text.ToString();
int count_a=str1.Length;
int count_b=str2.Length ;
char[] a = str1.ToCharArray();
char[] b = str2.ToCharArray();
int s = 0;
for (int i = 0; i < count_a; i++)
{
for (int j = 0; j < count_b; j++)
{
if (a[i] == b[j])
{
s++;
continue;
}
}
}
if (s == 0)
{
MessageBox.Show("没有相同的字符");
}
else
{
MessageBox.Show("相同的字符个数是" + s);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询