将整数值分配给字母

时间:2016-02-22 18:06:09

标签: c#

所以我有这个问题。我有文本框,文本包含12个数字。所以例如012345678912.现在我不知道如何将第一个,然后是第二个....等等数字分配给字母,如a,b,c,d,e,f,g,h,i ,j,k,l因为我需要它们用以下公式计算第13(m)数

m = 11 − (( 7*(a+g) + 6*(b+h) + 5*(c+i) + 4*(d+j) + 3*(e+k) + 2*(f+l) ) mod 11)

此外,我试图将此公式设为c#可读文本,我得到了这个,希望它是正确的

int result = (int)new DataTable().Compute(" 11 − (( 7*(a+g) + 6*(b+h) + 5*(c+i) + 4*(d+j) + 3*(e+k) + 2*(f+l) ) mod 11)", null);

3 个答案:

答案 0 :(得分:2)

有很多方法可以适应这一目标。但是如果你真的想要将变量声明为a,b,c,d等。

您可以先简单地声明所有这些字母。完成后,您可以按如下方式使用每个循环

<强>代码

public void showLoader(){
        URL url = this.getClass().getResource("images/ajax-loader.gif");
        Icon icon = new ImageIcon(url);
        JLabel label = new JLabel(icon);
        frameLoader.setUndecorated(true);
        frameLoader.getContentPane().add(label);
        frameLoader.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frameLoader.pack();
        frameLoader.setLocationRelativeTo(null);
        frameLoader.setVisible(true);
    }

现在你可以在Formaula中简单地使用这些值,我在这里使用的主要功能是 .ToCharArray()函数。我检查了脚本及其工作正常但是脚本看起来很长很好所以我希望其他开发人员帮我挤出这段代码。除了这种方法之外我尝试过很多东西,但没有一种能够起作用。

答案 1 :(得分:0)

int x = int.Parse(txtNumbers.Text);

int a[12];
for(int i=0;i<12;i++)
{
    a[i] = x %12;
    x = x/10;
}

答案 2 :(得分:0)

这个问题似乎有点宽泛。有很多方法可以做你建议的事情。

一种方法就是将-l赋值给变量,例如:

int a = 1;
int b = 2;
int c = 3;
...

另一种方式是使用词典

Dictionary<char, int> Alpha = new Dictionary<char,int>() 
{ 
   {'a', 1}, {'b', 2}, {'c', 3} ...
};

您可以使用枚举

public enum Alphabet
{
  A = 1,
  B = 2,
  C = 3,
  ...
}

Alphabet alpha = Alphabet.B;
Console.WriteLine((int)alpha);