将错误的伪代码转换为Java

时间:2011-03-16 17:28:32

标签: java eclipse pseudocode

行,所以我有伪码两个位需要被转换成Java代码,除了伪不是很好,我几乎没有好它,即使它的好..无论如何,我希望有人能帮忙。

这是Pseudo代码的第一位:

  1. 创建一个范围在0到n-1之间的随机整数p。
  2. 创建一个空的新字符串,例如x。
  3. 从元素0复制到p-1从scasol复制到x。
  4. 将字符串scasol的位置p的更改版本复制到x。
  5. 从p + 1复制到scasol的n-1到x。
  6. 将scasol设为x。
  7. 这是我到目前为止所拥有的代码(我基本上完成了前两个步骤,但之后我就被卡住了):

    public void SmallChange()
    
       {
         Random rand = new Random();
         rand.setSeed(System.currentTimeMillis());
    
    
         int n = scasol.length();
         int p = Math.abs(rand.nextInt() % n);
         String x;
    
    
         if(n<0){
    
      }
    
    }
    

    下面是代码的第二部分,我不能转换成Java(因为我完全难倒我没有做过这一个任何东西):

    1. 我们需要添加一个For循环 迭代指定的数量 迭代。
    2. 我们需要创建一个初始随机 大小为n的解决方案。
    3. 我们需要评估健身 我们当前的解决方案 循环。
    4. 我们需要复制当前的解决方案 (比如说oldsol)。
    5. 我们做了一个小改动 当前的解决方案和评估 适应另一个变量。
    6. 如果新的健身状况比较差 旧的,我们将oldsol复制回来了 我们目前的解决方案。
    7. For循环完成后我们 返回当前的解决方案。
    8. 第一个问题是完成一个小的变化,而第二个是创建一个随机突变爬山算法但是,是坚持不字。我希望有人可以提供帮助,我真的很感激任何帮助,因为我已经尝试了好几天了!

1 个答案:

答案 0 :(得分:1)

伪代码的第一位说:

在文本scasol中的随机位置插入“已更改的版本”。目前还不清楚“改变版本”的含义是指什么。

在字符串中插入字符是Java中的一项简单任务 见public StringBuilder insert(int offset, char c)

第二段伪代码迫切需要背景和澄清。