下面是源程序:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication_do_while
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("这是一个判断您所输入的字符串是否“回文”的程序");
Console.Write("请输入您所要判断的字符串:");
string s = Console.ReadLine();
char[] c = s.ToCharArray();
int i = c.Length;
int j = c.Length-1;
char[] c1 = new char[c.Length];
//利用foreach语句循环输出数组中每一个元素
foreach (char var in c)
{
c1[j] = var;
--j; //字符串反向读取
}
//bool m = c1.Equals(c);
// Console.WriteLine("返回值为:{0}", m);
for (int n = 0; n < c.Length; ++n)
{
if (c1[n] != c[n])
{
foreach (char var in c)
{
Console.Write(var); //依次读取字符串中的元素 }
Console.Out.WriteLine("不是回文数。");
break;
}
if (n == c.Length - 1)
{
foreach (char var in c)
{
Console.Write(var);
}
Console.Out.WriteLine( " 是回文数。");
}
}
Console.ReadKey();
}
}
}以下这两行代码的位置在源程序中注释掉了,大家可以解除注释运行一下,看是否和我说的一样。 //bool m = c1.Equals(c);
// Console.WriteLine("返回值为:{0}", m);
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication_do_while
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("这是一个判断您所输入的字符串是否“回文”的程序");
Console.Write("请输入您所要判断的字符串:");
string s = Console.ReadLine();
char[] c = s.ToCharArray();
int i = c.Length;
int j = c.Length-1;
char[] c1 = new char[c.Length];
//利用foreach语句循环输出数组中每一个元素
foreach (char var in c)
{
c1[j] = var;
--j; //字符串反向读取
}
//bool m = c1.Equals(c);
// Console.WriteLine("返回值为:{0}", m);
for (int n = 0; n < c.Length; ++n)
{
if (c1[n] != c[n])
{
foreach (char var in c)
{
Console.Write(var); //依次读取字符串中的元素 }
Console.Out.WriteLine("不是回文数。");
break;
}
if (n == c.Length - 1)
{
foreach (char var in c)
{
Console.Write(var);
}
Console.Out.WriteLine( " 是回文数。");
}
}
Console.ReadKey();
}
}
}以下这两行代码的位置在源程序中注释掉了,大家可以解除注释运行一下,看是否和我说的一样。 //bool m = c1.Equals(c);
// Console.WriteLine("返回值为:{0}", m);
试试这样
bool m = new string(c1).Equals(new string(c));