错误:需要意外类型:找到变量:value

时间:2017-03-07 23:35:59

标签: java

我试图使这个变量int stringSize打印“ok”或“not ok”,具体取决于if语句。 继承人我所拥有的:

     int stringSize = (n_1 + n_2 + n_3);
         if (stringSize < 20){
             String.valueOf(stringSize) = "ok";

         }else if (stringSize > 20){
             String.valueOf(stringSize) = "not ok";

         }                      

我认为有更多的代码,但与问题无关。然而,除了这里之外,一切都被定义了。

我知道我不能把它等于“ok”所以我如何让stringSize打印“ok”或“not ok”?

我是初学者,所以让我们很好,我尝试查找其他解决方案,但没有一个与我的情况类似 TY提前

3 个答案:

答案 0 :(得分:1)

在你的代码中,stringSize是一个整数,要存储像“ok”或“not ok”这样的字符串,你应该使用String变量。声明一个String变量并将值存储在该变量中。例如 -

int stringSize = (n_1 + n_2 + n_3);
String message = null;
if (stringSize < 20){
    message = "ok";
}else if (stringSize > 20){
    message = "not ok";
} 

此外,String.valueOf()返回参数的字符串表示形式,您无法分配其他值。例如,如果String.valueOf(stringSize)的值为15,则stringSize将返回“15”。

  

如何让stringSize打印“ok”或“not ok”?

只需将以下行放在要打印邮件的位置即可。 [按照上面给出的例子]

if(message != null){
    System.out.println(message);
}

答案 1 :(得分:0)

String.valueOf(stringSize)是一个表达式,您无法为表达式赋值。实际上,表达式具有值。您所需要的只是定义String类型的变量:String message = "ok";

答案 2 :(得分:0)

您无法为表达式的结果指定值,但是您提到要打印该值。你可以做到这一点。像,

if (stringSize < 20){
    System.out.println("ok");
} else { // <-- if it should be ok or not ok, use else.
    System.out.println("not ok");
}