好的,所以我有两位伪代码需要转换为Java代码,但伪代码不是很好,即使它很好,我也不是很好。无论如何,我一直希望有人可以提供帮助。
这是伪代码的第一位:
创建一个随机整数p,范围在0到n-1之间。
创建一个空的新字符串,例如x。
从元素0到p-1从scasol复制到x。
将字符串scasol的位置p的更改版本复制到x。
从scasol的p + 1到n-1复制到x。
将scasol设置为x。
这是到目前为止我拥有的代码(我基本上已经完成了前两个步骤,但在那之后我被困住了):
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的第二段代码(由于我完全陷入困境,因此我还没有做任何事情):
我们需要添加一个For循环
迭代指定数量的
迭代。
我们需要创建一个初始随机数
大小为n的解。
我们需要评估
我们目前的解决方案
环。
我们需要复制当前解决方案
(例如oldsol)。
我们对
当前的解决方案并评估
适合另一个变量。
如果新的适应性比
旧的,我们将oldsol复制回存在
我们当前的解决方案。
在For循环完成后,我们
返回当前的解决方案。
第一个问题是完成一个小的更改,而第二个问题是创建一个“随机变异爬山算法”,但是卡住不是这个词。我希望有人可以提供帮助,因为我已经尝试了好几天了,所以我将非常感谢您的帮助!
最佳答案
伪代码的第一位表示:
在scasol文本中的任意位置插入“更改的版本”。目前尚不清楚“更改版本”是指什么。
在字符串中插入字符是Java中的一项简单任务。
见public StringBuilder insert(int offset, char c)
第二部分伪代码非常需要上下文和说明。
关于java - 将错误的伪代码转换为Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329245/