如果想要判断输入的文本是否对称,我们需要就在form里新建文本框textbox1,然后我们再一起梳理文本框对称的逻辑:
比如我们输入123454321,这个我们一看就知道他是一个对称的文本,那么我们能发现什么规律呢?
我们会发现我们的第一位和第九位,第二位和第八位,第三位和第七位…你发现没,其实他是有一个规律的~又因为我们的索引是从0开始的,刚刚我们的刚刚看到的123454321,其实就是
number[0]=number[8]
number[1]=number[7]
number[2]=number[6]
number[3]=number[5]
number[4]=number[4]
我们发现我们发现对称索引的和=文本长度length-1
所以只要number[i]=number[string.length-1-i]如果成立,那么他肯定是对称的~
觉得可能有误,我们再举一个例子:
小傻瓜拍皮球球皮拍瓜傻小
这个文本是对称的吧,我们再来一起分析下:
这个文本长度是12,那么我们最后一位“小”是索引[11]
小:string[0],string[11]
傻:string[1],string[10]
瓜:string[2],string[9]
拍:string[3],string[8]
皮:string[4],string[7]
球:string[5],string[6]
发现没,无论我们是奇数个文本还是偶数个文本长度,只要符合string[i]=string[string.length-1-i]那么他就是对称的文本框~
所以我们我们就可以写我们的小实例了,代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace daoxushuchu
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string S = textBox1.Text;
bool flag = true;
for (int i = 0; i < S.Length; i++)
{
if (S[i] != S[S.Length-1-i])
{
flag = false;
break;
}
}
if (flag)
{
lb_duicheng.Text = "对称";
}
else
lb_duicheng.Text = "不对称";
}
}
}