字符串赋值或运算符

时间:2013-07-25 18:26:06

标签: string

我正在尝试这样的事情

String test = " "

if ( condition == true )

{

 test = "value1" or "value2";

}

如果条件为真,我试图指定两个值之一进行测试,有人可以为此提供帮助。

由于

5 个答案:

答案 0 :(得分:1)

你走了:

test = (condition)?"somevalue":"SOMEVALUE";

如果condition为真,则分配somevalue(之后是?) - 如果为false,则分配SOMEVALUE(在...之后)

但是,这不是分配两个值。您无法同时为变量分配2个值

您还可以生成0或1之类的随机数 - 根据结果,您可以为test指定值。与c中一样,您可以这样做:

#include <time.h>
#include <stdlib.h>

srand(time(NULL));
int random = rand() % 2;   //this will assign either 1 or 0 to random

if (random == 0)     //if number generated is 0, test will be assigned value1
   test = "value1";

if (random == 1)
   test = "value2";    //if number generated is 1, test will be assigned value2

答案 1 :(得分:1)

无法同时为变量分配2个值。

答案 2 :(得分:0)

在C#中你可以这样做:

string test = "";

if(condition == true)
{
    test = "some value";
}
else
{
    test = "some other value";
}

或更紧凑(使用implicit type declarationternary operator):

var test = (condition) ? "some value" : "some other value";

答案 3 :(得分:0)

你可以尝试这样的事情,

test = (condition)?"somevalue":"somevalue"

基本上,我使用的是三元运算符。如果条件为真,那么“”之后的值将被分配给测试。否则,test将等于''之后的值。 :)

答案 4 :(得分:0)

好吧,你不能为一个变量分配两个值 但是,您可以随机分配两个值中的一个

如果这就是你的意思,你可以这样做:

String test = " "

if ( condition == true )
{
    if ( getRandomBoolean() ) {
        test = "value1";
    }
    else {
        test = "value2";
    }
}

public boolean getRandomBoolean() {
    Random random = new Random();
    return random.nextBoolean();
}