我在Lua做一个项目,涉及随机数字而不重复.这是我的代码
for i = 1, 86000 do
while rndom[num] ~= nil do
num = math.random(1,95000)
end
rndom[num] = num
for k=1, 11 do
file2:write(input[num][k], " ")
end
file2:write("\n")
end
Run Code Online (Sandbox Code Playgroud)
基本上它给rndom [num]赋值,这样当随机数重复并且rndom [num]〜= nil时,它会再次随机化数字.我的问题是,加载时间太长,因为我的'i'越来越高,并且会有一段时间它会停止.我猜这是因为随机数发生器不能得到一个'nil'的rndom [num].我的意思是,赔率是多少?我想改善它的运行时间.谁可以建议更好地解决我的问题?
谢谢!
我正在研究一个随机化数字的代码.我把它math.randomseed(os.time())放在一个循环中.代码如下:
for i = 1, 1000 do
math.randomseed( os.time() )
j = math.random(i, row-one)
u[i], u[j] = u[j], u[i]
for k = 1, 11 do
file:write(input2[u[i]][k], " ")
end
file:write"\n"
end
Run Code Online (Sandbox Code Playgroud)
当我多次运行时,整个输出总是一样的.重新运行时,随机种子不应该阻止重复吗?
我正在尝试打印文件中的行数,training.txt但发现我的代码没有读取整个文件.代码是这样的:
row = 1
for line in io.lines 'training.txt' do
row = row + 1
end
print(row)
Run Code Online (Sandbox Code Playgroud)
我尝试使用test.txt具有相同格式的文件更改文件training.txt并且文件读取工作正常,读取直到文件结束.也许问题出在我的文本文件中?但是怎么样?它具有相同的格式.
文本文件上传到此处进行测试.
所以我在java中有这个简单的代码.但是当我试图在代码中写入"再次使用程序"时,它总是跳过输入名称的第一个条目.我该如何解决?
这是代码:
import java.util.Scanner;
public class Try{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int salary;
String name, perform;
int choice = 1;
do{
System.out.println("Enter your name:");
name=sc.nextLine();
System.out.println("Enter your performance:");
perform=sc.nextLine();
System.out.println("Enter your salary:");
salary=sc.nextInt();
System.out.println("Name: "+name);
System.out.println("Performance: " + perform);
System.out.println("Salary:" + salary);
System.out.println("Do you want to use the program again?\n[1]Yes\n[2]No");
choice=sc.nextInt();
}while (choice < 2);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在做一个涉及文件读取的项目,我需要知道文件中的确切行数.有谁知道如何计算文件中的行数而不必读取整个文件?我的意思是Lua中有内置函数吗?提前致谢.