我需要你的帮助。 我想在两个不同的url参数值之间显示一个随机数。
这是代码。它不起作用
public class RandomIntController : ApiController
{
public double Get()
{
double min = Request.QueryString("min");
double max = Request.QueryString("max");
min = 1;
max = 100;
Random number = new Random();
return number.NextDouble();
}
}
因此,例如,客人插入此网址: •http://localhost:51832/api/randomint?min=12&max=23
我的网络API必须在最大值(23)和最小值(12)之间显示一个随机数。
attribut'resquest.queryString()'也有几个错误:/
我没有发现我的错误所以请帮帮我
非常感谢
答案 0 :(得分:2)
int min = (int)Request.QueryString["min"];
int max = (int)Request.QueryString["max"];
Random number = new Random();
return number.Next(min, max);
QueryString
是一个键值对,而不是方法。使用[]
代替()
。同时将min
和max
作为参数传递给Next
方法,如代码所示。
答案 1 :(得分:1)
不确定你是否真的需要" double"其中包括小数部分(例如12.443)。如果需要,可以完成。但请考虑整数:
public int Get()
{
string minStr = Request.QueryString.Get("min");
string maxStr = Request.QueryString.Get("max");
int min = int.Parse(minStr);
int max = int.Parse(maxStr);
Random number = new Random();
int value = number.Next(min, max);
return value;
}
答案 2 :(得分:0)
如果您有int main(void) {
char string[2][MAXLEN];
char string2[2][MAXLEN];
char *pointer[2];
pointer[0] = &string2[0];
pointer[1] = &string2[1];
scanf("%s", string[0]); //Assume i scan in "ab"
scanf("%s", string[1]); //assume i scan in "cd"
//Now string[0] contains "ab" and string[1] contains "cd"
//I want to deferences the pointer and assign "cd" to it, so string2[0] will contain "cd"
*pointer[0] = string[0];
printf("%s", string2[0]); //but this does not print "cd"
}
和double max
并且想要生成[min,max]范围内的随机数:
double min
请注意,由此生成的随机数不包括Random rng = new Random(); // Declare this once somewhere - don't keep redeclaring it!
double value = min + rng.NextDouble()*(max - min);
- [max,min]定义半开区间。
如果您不想要双打,请参阅Imad提供的答案。