【问题标题】:How to implement this logic flow?如何实现这个逻辑流程?
【发布时间】:2011-05-16 12:09:24
【问题描述】:

好的,故事就讲到这里……

我有 3 个文本字段供用户选择....

[文本字段 A][文本字段 B][文本字段 C]

还有一个确认按钮,用户需要添加三个文本框,之后,用户需要点击确认按钮....但是根据不同的选择顺序,结果是不同的,例如: A>B>C,我会显示红色。 当用户按此顺序选择时: B>A>C 我会显示绿色。 当用户按此顺序选择时: C>B>A 我会显示蓝色....

根据不同的用户选择顺序,它会显示不同的颜色.... 但问题是,当我添加越来越多的文本字段时,我该如何实现这个逻辑? 首先,我设计了一个数组,当用户选择一个文本字段时,我将文本字段 id 存储到数组中,当用户选择第二个时,我将存储在数组中,直到用户点击确认,我读回数组到显示颜色.... 但是我认为当添加越来越多的文本字段时它会变得非常大和混乱,有更好的想法吗?谢谢。

【问题讨论】:

  • 这有点像一个问题,因为通常有 n!=n*(n-1)*...*1 n 个元素的排列。这意味着对于 n=4,您将有 24 个排列,对于 n=5 120...

标签: logic


【解决方案1】:

这有点 hack,但我倾向于将选择存储在每次附加的字符串中(当然从空字符串开始),修剪到最右边的 x 字符。然后你可以做一个简单的 switch/case 语句来确定颜色。例如(C# 片段,有点):

string selectStr = string.Empty;

void Select(string btn) {
  selectStr += btn;
  selectStr = selectStr.Remove(0, btn.Length - 3);
}

void Confirm() {
  switch (selectStr) {
    case "ABC" : /* make red */ break;
    case "BAC" : /* make green */ break;
    // etc.
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-14
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2022-09-25
    • 1970-01-01
    • 2023-03-13
    • 2023-03-27
    相关资源
    最近更新 更多